From 61c24500af2b387bd5fc9abcc7d87c9f1c31b552 Mon Sep 17 00:00:00 2001 From: Caribana Date: Fri, 26 May 2017 11:41:26 +0200 Subject: [PATCH] Initial commit --- .htaccess | 9 + README.md | 3 + accred_form.php | 506 ++ accred_list.php | 351 + accred_list.xlsx | Bin 0 -> 11378 bytes accred_style.css | 108 + acrred_form.php | 83 + ajax/data/arrays.php | 66 + composer.json | 7 + composer.lock | 803 ++ custom-template.php | 72 + details_close.png | Bin 0 -> 686 bytes details_open.png | Bin 0 -> 709 bytes favicon.ico | Bin 0 -> 1150 bytes index.php | 104 + installer | 5446 +++++++++++++ pencil.png | Bin 0 -> 23369 bytes sign-check-icon.png | Bin 0 -> 3134 bytes tokensignin.php | 53 + vendor/autoload.php | 7 + vendor/composer/ClassLoader.php | 445 ++ vendor/composer/LICENSE | 21 + vendor/composer/autoload_classmap.php | 36 + vendor/composer/autoload_files.php | 13 + vendor/composer/autoload_namespaces.php | 12 + vendor/composer/autoload_psr4.php | 19 + vendor/composer/autoload_real.php | 70 + vendor/composer/autoload_static.php | 148 + vendor/composer/installed.json | 815 ++ vendor/firebase/php-jwt/LICENSE | 30 + vendor/firebase/php-jwt/README.md | 119 + vendor/firebase/php-jwt/composer.json | 27 + vendor/firebase/php-jwt/composer.lock | 19 + vendor/firebase/php-jwt/package.xml | 77 + .../php-jwt/src/BeforeValidException.php | 7 + .../firebase/php-jwt/src/ExpiredException.php | 7 + vendor/firebase/php-jwt/src/JWT.php | 370 + .../php-jwt/src/SignatureInvalidException.php | 7 + vendor/google/apiclient-services/.gitignore | 4 + vendor/google/apiclient-services/.travis.yml | 15 + .../google/apiclient-services/CONTRIBUTING.md | 22 + vendor/google/apiclient-services/LICENSE | 203 + vendor/google/apiclient-services/README.md | 30 + .../google/apiclient-services/composer.json | 19 + vendor/google/apiclient-services/phpunit.xml | 11 + .../Service/Acceleratedmobilepageurl.php | 67 + .../Acceleratedmobilepageurl/AmpUrl.php | 48 + .../Acceleratedmobilepageurl/AmpUrlError.php | 48 + .../BatchGetAmpUrlsRequest.php | 40 + .../BatchGetAmpUrlsResponse.php | 42 + .../Resource/AmpUrls.php | 42 + .../src/Google/Service/AdExchangeBuyer.php | 679 ++ .../Service/AdExchangeBuyer/Account.php | 95 + .../AdExchangeBuyer/AccountBidderLocation.php | 57 + .../Service/AdExchangeBuyer/AccountsList.php | 41 + .../AdExchangeBuyer/AddOrderDealsRequest.php | 50 + .../AdExchangeBuyer/AddOrderDealsResponse.php | 41 + .../AdExchangeBuyer/AddOrderNotesRequest.php | 32 + .../AdExchangeBuyer/AddOrderNotesResponse.php | 32 + .../Service/AdExchangeBuyer/BillingInfo.php | 58 + .../AdExchangeBuyer/BillingInfoList.php | 41 + .../Google/Service/AdExchangeBuyer/Budget.php | 75 + .../Google/Service/AdExchangeBuyer/Buyer.php | 30 + .../AdExchangeBuyer/ContactInformation.php | 39 + .../AdExchangeBuyer/CreateOrdersRequest.php | 41 + .../AdExchangeBuyer/CreateOrdersResponse.php | 32 + .../Service/AdExchangeBuyer/Creative.php | 281 + .../AdExchangeBuyer/CreativeCorrections.php | 50 + .../CreativeCorrectionsContexts.php | 58 + .../AdExchangeBuyer/CreativeDealIds.php | 41 + .../CreativeDealIdsDealStatuses.php | 48 + .../CreativeFilteringReasons.php | 41 + .../CreativeFilteringReasonsReasons.php | 39 + .../AdExchangeBuyer/CreativeNativeAd.php | 151 + .../CreativeNativeAdAppIcon.php | 48 + .../AdExchangeBuyer/CreativeNativeAdImage.php | 48 + .../AdExchangeBuyer/CreativeNativeAdLogo.php | 48 + .../CreativeServingRestrictions.php | 51 + .../CreativeServingRestrictionsContexts.php | 58 + ...eServingRestrictionsDisapprovalReasons.php | 40 + .../Service/AdExchangeBuyer/CreativesList.php | 50 + .../AdExchangeBuyer/DealServingMetadata.php | 40 + .../DealServingMetadataDealPauseStatus.php | 66 + .../Service/AdExchangeBuyer/DealTerms.php | 116 + .../DealTermsGuaranteedFixedPriceTerms.php | 69 + ...msGuaranteedFixedPriceTermsBillingInfo.php | 58 + .../DealTermsNonGuaranteedAuctionTerms.php | 41 + .../DealTermsNonGuaranteedFixedPriceTerms.php | 32 + .../DealTermsRubiconNonGuaranteedTerms.php | 41 + .../DeleteOrderDealsRequest.php | 49 + .../DeleteOrderDealsResponse.php | 41 + .../AdExchangeBuyer/DeliveryControl.php | 50 + .../DeliveryControlFrequencyCap.php | 48 + .../Service/AdExchangeBuyer/Dimension.php | 41 + .../DimensionDimensionValue.php | 48 + .../EditAllOrderDealsRequest.php | 60 + .../EditAllOrderDealsResponse.php | 41 + .../AdExchangeBuyer/GetOffersResponse.php | 32 + .../AdExchangeBuyer/GetOrderDealsResponse.php | 32 + .../AdExchangeBuyer/GetOrderNotesResponse.php | 32 + .../AdExchangeBuyer/GetOrdersResponse.php | 32 + ...etPublisherProfilesByAccountIdResponse.php | 32 + .../AdExchangeBuyer/MarketplaceDeal.php | 244 + .../AdExchangeBuyer/MarketplaceDealParty.php | 41 + .../AdExchangeBuyer/MarketplaceLabel.php | 58 + .../AdExchangeBuyer/MarketplaceNote.php | 93 + .../AdExchangeBuyer/PerformanceReport.php | 220 + .../AdExchangeBuyer/PerformanceReportList.php | 41 + .../AdExchangeBuyer/PretargetingConfig.php | 260 + .../PretargetingConfigDimensions.php | 39 + .../PretargetingConfigExcludedPlacements.php | 39 + .../PretargetingConfigList.php | 41 + .../PretargetingConfigPlacements.php | 39 + .../PretargetingConfigVideoPlayerSizes.php | 48 + .../Google/Service/AdExchangeBuyer/Price.php | 57 + .../Service/AdExchangeBuyer/PricePerBuyer.php | 50 + .../Service/AdExchangeBuyer/PrivateData.php | 39 + .../Service/AdExchangeBuyer/Product.php | 245 + .../Service/AdExchangeBuyer/Proposal.php | 236 + .../PublisherProfileApiProto.php | 231 + .../PublisherProvidedForecast.php | 50 + .../AdExchangeBuyer/Resource/Accounts.php | 88 + .../AdExchangeBuyer/Resource/BillingInfo.php | 55 + .../AdExchangeBuyer/Resource/Budget.php | 81 + .../AdExchangeBuyer/Resource/Creatives.php | 127 + .../Resource/Marketplacedeals.php | 88 + .../Resource/Marketplacenotes.php | 61 + .../Resource/Marketplaceprivateauction.php | 42 + .../Resource/PerformanceReport.php | 52 + .../Resource/PretargetingConfig.php | 118 + .../AdExchangeBuyer/Resource/Products.php | 55 + .../AdExchangeBuyer/Resource/Proposals.php | 122 + .../AdExchangeBuyer/Resource/Pubprofiles.php | 42 + .../Google/Service/AdExchangeBuyer/Seller.php | 39 + .../AdExchangeBuyer/SharedTargeting.php | 51 + .../AdExchangeBuyer/TargetingValue.php | 59 + .../TargetingValueCreativeSize.php | 60 + .../TargetingValueDayPartTargeting.php | 41 + .../TargetingValueDayPartTargetingDayPart.php | 66 + .../AdExchangeBuyer/TargetingValueSize.php | 39 + .../UpdatePrivateAuctionProposalRequest.php | 58 + .../src/Google/Service/AdExchangeBuyerII.php | 441 + .../AddDealAssociationRequest.php | 31 + .../Adexchangebuyer2Empty.php | 20 + .../Service/AdExchangeBuyerII/AppContext.php | 31 + .../AdExchangeBuyerII/AuctionContext.php | 31 + .../Service/AdExchangeBuyerII/Client.php | 93 + .../Service/AdExchangeBuyerII/ClientUser.php | 57 + .../ClientUserInvitation.php | 48 + .../Service/AdExchangeBuyerII/Correction.php | 50 + .../Service/AdExchangeBuyerII/Creative.php | 253 + .../CreativeDealAssociation.php | 48 + .../Google/Service/AdExchangeBuyerII/Date.php | 48 + .../Service/AdExchangeBuyerII/Disapproval.php | 40 + .../AdExchangeBuyerII/FilteringStats.php | 42 + .../Service/AdExchangeBuyerII/HtmlContent.php | 48 + .../Service/AdExchangeBuyerII/Image.php | 48 + .../ListClientUserInvitationsResponse.php | 41 + .../ListClientUsersResponse.php | 41 + .../AdExchangeBuyerII/ListClientsResponse.php | 41 + .../ListCreativesResponse.php | 41 + .../ListDealAssociationsResponse.php | 41 + .../AdExchangeBuyerII/LocationContext.php | 31 + .../AdExchangeBuyerII/NativeContent.php | 141 + .../AdExchangeBuyerII/PlatformContext.php | 31 + .../Service/AdExchangeBuyerII/Reason.php | 39 + .../RemoveDealAssociationRequest.php | 31 + .../AdExchangeBuyerII/Resource/Accounts.php | 28 + .../Resource/AccountsClients.php | 101 + .../Resource/AccountsClientsInvitations.php | 90 + .../Resource/AccountsClientsUsers.php | 93 + .../Resource/AccountsCreatives.php | 151 + .../AccountsCreativesDealAssociations.php | 94 + .../AdExchangeBuyerII/SecurityContext.php | 31 + .../AdExchangeBuyerII/ServingContext.php | 80 + .../AdExchangeBuyerII/ServingRestriction.php | 51 + .../StopWatchingCreativeRequest.php | 20 + .../AdExchangeBuyerII/VideoContent.php | 30 + .../WatchCreativeRequest.php | 30 + .../src/Google/Service/AdExchangeSeller.php | 428 + .../Service/AdExchangeSeller/Account.php | 48 + .../Service/AdExchangeSeller/Accounts.php | 59 + .../Service/AdExchangeSeller/AdClient.php | 66 + .../Service/AdExchangeSeller/AdClients.php | 59 + .../Google/Service/AdExchangeSeller/Alert.php | 66 + .../Service/AdExchangeSeller/Alerts.php | 41 + .../AdExchangeSeller/CustomChannel.php | 67 + .../CustomChannelTargetingInfo.php | 57 + .../AdExchangeSeller/CustomChannels.php | 59 + .../Service/AdExchangeSeller/Metadata.php | 41 + .../AdExchangeSeller/PreferredDeal.php | 93 + .../AdExchangeSeller/PreferredDeals.php | 41 + .../Service/AdExchangeSeller/Report.php | 86 + .../AdExchangeSeller/ReportHeaders.php | 48 + .../ReportingMetadataEntry.php | 85 + .../AdExchangeSeller/Resource/Accounts.php | 61 + .../Resource/AccountsAdclients.php | 48 + .../Resource/AccountsAlerts.php | 45 + .../Resource/AccountsCustomchannels.php | 65 + .../Resource/AccountsMetadata.php | 28 + .../Resource/AccountsMetadataDimensions.php | 42 + .../Resource/AccountsMetadataMetrics.php | 42 + .../Resource/AccountsPreferreddeals.php | 57 + .../Resource/AccountsReports.php | 59 + .../Resource/AccountsReportsSaved.php | 69 + .../Resource/AccountsUrlchannels.php | 49 + .../Service/AdExchangeSeller/SavedReport.php | 48 + .../Service/AdExchangeSeller/SavedReports.php | 59 + .../Service/AdExchangeSeller/UrlChannel.php | 48 + .../Service/AdExchangeSeller/UrlChannels.php | 59 + .../src/Google/Service/AdSense.php | 1060 +++ .../src/Google/Service/AdSense/Account.php | 89 + .../src/Google/Service/AdSense/Accounts.php | 59 + .../src/Google/Service/AdSense/AdClient.php | 66 + .../src/Google/Service/AdSense/AdClients.php | 59 + .../src/Google/Service/AdSense/AdCode.php | 39 + .../src/Google/Service/AdSense/AdStyle.php | 59 + .../Google/Service/AdSense/AdStyleColors.php | 66 + .../Google/Service/AdSense/AdStyleFont.php | 39 + .../src/Google/Service/AdSense/AdUnit.php | 115 + .../AdSense/AdUnitContentAdsSettings.php | 49 + .../AdUnitContentAdsSettingsBackupOption.php | 48 + .../Service/AdSense/AdUnitFeedAdsSettings.php | 57 + .../AdUnitMobileContentAdsSettings.php | 57 + .../src/Google/Service/AdSense/AdUnits.php | 59 + .../AdsenseReportsGenerateResponse.php | 104 + .../AdsenseReportsGenerateResponseHeaders.php | 48 + .../src/Google/Service/AdSense/Alert.php | 75 + .../src/Google/Service/AdSense/Alerts.php | 41 + .../Google/Service/AdSense/CustomChannel.php | 67 + .../AdSense/CustomChannelTargetingInfo.php | 57 + .../Google/Service/AdSense/CustomChannels.php | 59 + .../src/Google/Service/AdSense/Metadata.php | 41 + .../src/Google/Service/AdSense/Payment.php | 66 + .../src/Google/Service/AdSense/Payments.php | 41 + .../AdSense/ReportingMetadataEntry.php | 85 + .../Service/AdSense/Resource/Accounts.php | 61 + .../AdSense/Resource/AccountsAdclients.php | 48 + .../AdSense/Resource/AccountsAdunits.php | 82 + .../AccountsAdunitsCustomchannels.php | 50 + .../AdSense/Resource/AccountsAlerts.php | 60 + .../Resource/AccountsCustomchannels.php | 65 + .../AccountsCustomchannelsAdunits.php | 52 + .../AdSense/Resource/AccountsPayments.php | 42 + .../AdSense/Resource/AccountsReports.php | 64 + .../AdSense/Resource/AccountsReportsSaved.php | 69 + .../Resource/AccountsSavedadstyles.php | 62 + .../AdSense/Resource/AccountsUrlchannels.php | 49 + .../Service/AdSense/Resource/Adclients.php | 46 + .../Service/AdSense/Resource/Adunits.php | 78 + .../Resource/AdunitsCustomchannels.php | 49 + .../Service/AdSense/Resource/Alerts.php | 57 + .../AdSense/Resource/Customchannels.php | 63 + .../Resource/CustomchannelsAdunits.php | 51 + .../Service/AdSense/Resource/Metadata.php | 28 + .../AdSense/Resource/MetadataDimensions.php | 41 + .../AdSense/Resource/MetadataMetrics.php | 41 + .../Service/AdSense/Resource/Payments.php | 40 + .../Service/AdSense/Resource/Reports.php | 64 + .../Service/AdSense/Resource/ReportsSaved.php | 66 + .../AdSense/Resource/Savedadstyles.php | 60 + .../Service/AdSense/Resource/Urlchannels.php | 48 + .../Google/Service/AdSense/SavedAdStyle.php | 58 + .../Google/Service/AdSense/SavedAdStyles.php | 59 + .../Google/Service/AdSense/SavedReport.php | 48 + .../Google/Service/AdSense/SavedReports.php | 59 + .../src/Google/Service/AdSense/UrlChannel.php | 48 + .../Google/Service/AdSense/UrlChannels.php | 59 + .../src/Google/Service/AdSenseHost.php | 630 ++ .../Google/Service/AdSenseHost/Account.php | 57 + .../Google/Service/AdSenseHost/Accounts.php | 50 + .../Google/Service/AdSenseHost/AdClient.php | 66 + .../Google/Service/AdSenseHost/AdClients.php | 59 + .../src/Google/Service/AdSenseHost/AdCode.php | 39 + .../Google/Service/AdSenseHost/AdStyle.php | 59 + .../Service/AdSenseHost/AdStyleColors.php | 66 + .../Service/AdSenseHost/AdStyleFont.php | 39 + .../src/Google/Service/AdSenseHost/AdUnit.php | 96 + .../AdSenseHost/AdUnitContentAdsSettings.php | 49 + .../AdUnitContentAdsSettingsBackupOption.php | 48 + .../AdUnitMobileContentAdsSettings.php | 57 + .../Google/Service/AdSenseHost/AdUnits.php | 59 + .../AdSenseHost/AssociationSession.php | 103 + .../Service/AdSenseHost/CustomChannel.php | 57 + .../Service/AdSenseHost/CustomChannels.php | 59 + .../src/Google/Service/AdSenseHost/Report.php | 86 + .../Service/AdSenseHost/ReportHeaders.php | 48 + .../Service/AdSenseHost/Resource/Accounts.php | 55 + .../Resource/AccountsAdclients.php | 63 + .../AdSenseHost/Resource/AccountsAdunits.php | 150 + .../AdSenseHost/Resource/AccountsReports.php | 59 + .../AdSenseHost/Resource/Adclients.php | 60 + .../Resource/Associationsessions.php | 60 + .../AdSenseHost/Resource/Customchannels.php | 125 + .../Service/AdSenseHost/Resource/Reports.php | 58 + .../AdSenseHost/Resource/Urlchannels.php | 77 + .../Google/Service/AdSenseHost/UrlChannel.php | 48 + .../Service/AdSenseHost/UrlChannels.php | 59 + .../src/Google/Service/Analytics.php | 2103 +++++ .../src/Google/Service/Analytics/Account.php | 104 + .../Service/Analytics/AccountChildLink.php | 39 + .../Service/Analytics/AccountPermissions.php | 31 + .../Google/Service/Analytics/AccountRef.php | 57 + .../Service/Analytics/AccountSummaries.php | 95 + .../Service/Analytics/AccountSummary.php | 68 + .../Service/Analytics/AccountTicket.php | 78 + .../src/Google/Service/Analytics/Accounts.php | 95 + .../Service/Analytics/AdWordsAccount.php | 48 + ...yticsDataimportDeleteUploadDataRequest.php | 31 + .../src/Google/Service/Analytics/Column.php | 48 + .../src/Google/Service/Analytics/Columns.php | 68 + .../Service/Analytics/CustomDataSource.php | 159 + .../Analytics/CustomDataSourceChildLink.php | 39 + .../Analytics/CustomDataSourceParentLink.php | 39 + .../Service/Analytics/CustomDataSources.php | 95 + .../Service/Analytics/CustomDimension.php | 130 + .../Analytics/CustomDimensionParentLink.php | 39 + .../Service/Analytics/CustomDimensions.php | 95 + .../Google/Service/Analytics/CustomMetric.php | 161 + .../Analytics/CustomMetricParentLink.php | 39 + .../Service/Analytics/CustomMetrics.php | 95 + .../Service/Analytics/EntityAdWordsLink.php | 87 + .../Analytics/EntityAdWordsLinkEntity.php | 31 + .../Service/Analytics/EntityAdWordsLinks.php | 86 + .../Service/Analytics/EntityUserLink.php | 78 + .../Analytics/EntityUserLinkEntity.php | 51 + .../Analytics/EntityUserLinkPermissions.php | 40 + .../Service/Analytics/EntityUserLinks.php | 86 + .../Google/Service/Analytics/Experiment.php | 276 + .../Analytics/ExperimentParentLink.php | 39 + .../Analytics/ExperimentVariations.php | 66 + .../Google/Service/Analytics/Experiments.php | 95 + .../src/Google/Service/Analytics/Filter.php | 163 + .../Analytics/FilterAdvancedDetails.php | 138 + .../Service/Analytics/FilterExpression.php | 75 + .../Analytics/FilterLowercaseDetails.php | 39 + .../Service/Analytics/FilterParentLink.php | 39 + .../Google/Service/Analytics/FilterRef.php | 66 + .../FilterSearchAndReplaceDetails.php | 66 + .../Analytics/FilterUppercaseDetails.php | 39 + .../src/Google/Service/Analytics/Filters.php | 95 + .../src/Google/Service/Analytics/GaData.php | 179 + .../Service/Analytics/GaDataColumnHeaders.php | 48 + .../Service/Analytics/GaDataDataTable.php | 42 + .../Service/Analytics/GaDataDataTableCols.php | 48 + .../Service/Analytics/GaDataDataTableRows.php | 32 + .../Analytics/GaDataDataTableRowsC.php | 30 + .../Service/Analytics/GaDataProfileInfo.php | 75 + .../Google/Service/Analytics/GaDataQuery.php | 127 + .../src/Google/Service/Analytics/Goal.php | 188 + .../Service/Analytics/GoalEventDetails.php | 41 + .../GoalEventDetailsEventConditions.php | 66 + .../Service/Analytics/GoalParentLink.php | 39 + .../Analytics/GoalUrlDestinationDetails.php | 68 + .../GoalUrlDestinationDetailsSteps.php | 48 + .../Analytics/GoalVisitNumPagesDetails.php | 39 + .../Analytics/GoalVisitTimeOnSiteDetails.php | 39 + .../src/Google/Service/Analytics/Goals.php | 95 + .../Service/Analytics/IncludeConditions.php | 66 + .../Analytics/LinkedForeignAccount.php | 111 + .../src/Google/Service/Analytics/McfData.php | 161 + .../Analytics/McfDataColumnHeaders.php | 48 + .../Service/Analytics/McfDataProfileInfo.php | 75 + .../Google/Service/Analytics/McfDataQuery.php | 127 + .../Google/Service/Analytics/McfDataRows.php | 41 + .../McfDataRowsConversionPathValue.php | 39 + .../src/Google/Service/Analytics/Profile.php | 258 + .../Service/Analytics/ProfileChildLink.php | 39 + .../Service/Analytics/ProfileFilterLink.php | 77 + .../Service/Analytics/ProfileFilterLinks.php | 95 + .../Service/Analytics/ProfileParentLink.php | 39 + .../Service/Analytics/ProfilePermissions.php | 31 + .../Google/Service/Analytics/ProfileRef.php | 84 + .../Service/Analytics/ProfileSummary.php | 66 + .../src/Google/Service/Analytics/Profiles.php | 95 + .../Google/Service/Analytics/RealtimeData.php | 106 + .../Analytics/RealtimeDataColumnHeaders.php | 48 + .../Analytics/RealtimeDataProfileInfo.php | 75 + .../Service/Analytics/RealtimeDataQuery.php | 79 + .../Service/Analytics/RemarketingAudience.php | 151 + .../RemarketingAudienceAudienceDefinition.php | 31 + ...ngAudienceStateBasedAudienceDefinition.php | 41 + ...sedAudienceDefinitionExcludeConditions.php | 39 + .../Analytics/RemarketingAudiences.php | 95 + .../Service/Analytics/Resource/Data.php | 28 + .../Service/Analytics/Resource/DataGa.php | 67 + .../Service/Analytics/Resource/DataMcf.php | 63 + .../Analytics/Resource/DataRealtime.php | 53 + .../Service/Analytics/Resource/Management.php | 28 + .../Resource/ManagementAccountSummaries.php | 47 + .../Resource/ManagementAccountUserLinks.php | 91 + .../Analytics/Resource/ManagementAccounts.php | 47 + .../Resource/ManagementCustomDataSources.php | 50 + .../Resource/ManagementCustomDimensions.php | 126 + .../Resource/ManagementCustomMetrics.php | 124 + .../Resource/ManagementExperiments.php | 132 + .../Analytics/Resource/ManagementFilters.php | 119 + .../Analytics/Resource/ManagementGoals.php | 120 + .../Resource/ManagementProfileFilterLinks.php | 140 + .../Resource/ManagementProfileUserLinks.php | 104 + .../Analytics/Resource/ManagementProfiles.php | 135 + .../ManagementRemarketingAudience.php | 126 + .../Analytics/Resource/ManagementSegments.php | 47 + .../Resource/ManagementUnsampledReports.php | 105 + .../Analytics/Resource/ManagementUploads.php | 100 + .../ManagementWebPropertyAdWordsLinks.php | 138 + .../Resource/ManagementWebproperties.php | 110 + .../ManagementWebpropertyUserLinks.php | 98 + .../Service/Analytics/Resource/Metadata.php | 28 + .../Analytics/Resource/MetadataColumns.php | 42 + .../Analytics/Resource/Provisioning.php | 41 + .../src/Google/Service/Analytics/Segment.php | 102 + .../src/Google/Service/Analytics/Segments.php | 95 + .../Service/Analytics/UnsampledReport.php | 198 + ...mpledReportCloudStorageDownloadDetails.php | 39 + .../UnsampledReportDriveDownloadDetails.php | 30 + .../Service/Analytics/UnsampledReports.php | 95 + .../src/Google/Service/Analytics/Upload.php | 76 + .../src/Google/Service/Analytics/Uploads.php | 86 + .../src/Google/Service/Analytics/UserRef.php | 48 + .../Service/Analytics/WebPropertyRef.php | 75 + .../Service/Analytics/WebPropertySummary.php | 95 + .../Service/Analytics/Webproperties.php | 95 + .../Google/Service/Analytics/Webproperty.php | 177 + .../Analytics/WebpropertyChildLink.php | 39 + .../Analytics/WebpropertyParentLink.php | 39 + .../Analytics/WebpropertyPermissions.php | 31 + .../src/Google/Service/AnalyticsReporting.php | 70 + .../Service/AnalyticsReporting/Cohort.php | 49 + .../AnalyticsReporting/CohortGroup.php | 41 + .../AnalyticsReporting/ColumnHeader.php | 41 + .../Service/AnalyticsReporting/DateRange.php | 39 + .../AnalyticsReporting/DateRangeValues.php | 41 + .../Service/AnalyticsReporting/Dimension.php | 40 + .../AnalyticsReporting/DimensionFilter.php | 67 + .../DimensionFilterClause.php | 41 + .../AnalyticsReporting/DynamicSegment.php | 50 + .../AnalyticsReporting/GetReportsRequest.php | 32 + .../AnalyticsReporting/GetReportsResponse.php | 32 + .../Service/AnalyticsReporting/Metric.php | 48 + .../AnalyticsReporting/MetricFilter.php | 57 + .../AnalyticsReporting/MetricFilterClause.php | 41 + .../AnalyticsReporting/MetricHeader.php | 42 + .../AnalyticsReporting/MetricHeaderEntry.php | 39 + .../OrFiltersForSegment.php | 32 + .../Service/AnalyticsReporting/OrderBy.php | 48 + .../Service/AnalyticsReporting/Pivot.php | 70 + .../AnalyticsReporting/PivotHeader.php | 41 + .../AnalyticsReporting/PivotHeaderEntry.php | 50 + .../AnalyticsReporting/PivotValueRegion.php | 31 + .../Service/AnalyticsReporting/Report.php | 50 + .../Service/AnalyticsReporting/ReportData.php | 107 + .../AnalyticsReporting/ReportRequest.php | 184 + .../Service/AnalyticsReporting/ReportRow.php | 41 + .../AnalyticsReporting/Resource/Reports.php | 41 + .../Service/AnalyticsReporting/Segment.php | 40 + .../AnalyticsReporting/SegmentDefinition.php | 32 + .../SegmentDimensionFilter.php | 76 + .../AnalyticsReporting/SegmentFilter.php | 50 + .../SegmentFilterClause.php | 50 + .../SegmentMetricFilter.php | 66 + .../SegmentSequenceStep.php | 41 + .../AnalyticsReporting/SequenceSegment.php | 41 + .../AnalyticsReporting/SimpleSegment.php | 32 + .../src/Google/Service/AndroidEnterprise.php | 1454 ++++ .../AndroidEnterprise/Administrator.php | 30 + .../AdministratorWebToken.php | 39 + .../AdministratorWebTokenSpec.php | 49 + .../AppRestrictionsSchema.php | 41 + .../AppRestrictionsSchemaChangeEvent.php | 30 + .../AppRestrictionsSchemaRestriction.php | 96 + ...tionsSchemaRestrictionRestrictionValue.php | 67 + .../AndroidEnterprise/AppUpdateEvent.php | 30 + .../Service/AndroidEnterprise/AppVersion.php | 39 + .../AndroidEnterprise/ApprovalUrlInfo.php | 39 + .../AndroidEnterprise/AuthenticationToken.php | 39 + .../Service/AndroidEnterprise/Collection.php | 67 + .../CollectionViewersListResponse.php | 41 + .../CollectionsListResponse.php | 41 + .../Service/AndroidEnterprise/Device.php | 48 + .../Service/AndroidEnterprise/DeviceState.php | 39 + .../AndroidEnterprise/DevicesListResponse.php | 41 + .../Service/AndroidEnterprise/Enterprise.php | 68 + .../AndroidEnterprise/EnterpriseAccount.php | 39 + .../EnterprisesListResponse.php | 41 + ...prisesSendTestPushNotificationResponse.php | 39 + .../Service/AndroidEnterprise/Entitlement.php | 48 + .../EntitlementsListResponse.php | 41 + .../AndroidEnterprise/GroupLicense.php | 75 + .../GroupLicenseUsersListResponse.php | 41 + .../GroupLicensesListResponse.php | 41 + .../Service/AndroidEnterprise/Install.php | 57 + .../AndroidEnterprise/InstallFailureEvent.php | 66 + .../InstallsListResponse.php | 41 + .../AndroidEnterprise/LocalizedText.php | 39 + .../ManagedConfiguration.php | 50 + ...gedConfigurationsForDeviceListResponse.php | 41 + ...nagedConfigurationsForUserListResponse.php | 41 + .../AndroidEnterprise/ManagedProperty.php | 87 + .../ManagedPropertyBundle.php | 32 + .../AndroidEnterprise/NewDeviceEvent.php | 48 + .../AndroidEnterprise/NewPermissionsEvent.php | 49 + .../AndroidEnterprise/Notification.php | 109 + .../AndroidEnterprise/NotificationSet.php | 50 + .../Service/AndroidEnterprise/PageInfo.php | 48 + .../Service/AndroidEnterprise/Permission.php | 57 + .../Service/AndroidEnterprise/Product.php | 131 + .../ProductApprovalEvent.php | 39 + .../ProductAvailabilityChangeEvent.php | 39 + .../AndroidEnterprise/ProductPermission.php | 39 + .../AndroidEnterprise/ProductPermissions.php | 50 + .../Service/AndroidEnterprise/ProductSet.php | 49 + .../ProductsApproveRequest.php | 31 + .../ProductsGenerateApprovalUrlResponse.php | 30 + .../ProductsListResponse.php | 61 + .../Resource/Collections.php | 114 + .../Resource/Collectionviewers.php | 115 + .../AndroidEnterprise/Resource/Devices.php | 96 + .../Resource/Enterprises.php | 317 + .../Resource/Entitlements.php | 119 + .../Resource/Grouplicenses.php | 58 + .../Resource/Grouplicenseusers.php | 44 + .../AndroidEnterprise/Resource/Installs.php | 119 + .../Managedconfigurationsfordevice.php | 119 + .../Resource/Managedconfigurationsforuser.php | 114 + .../Resource/Permissions.php | 45 + .../AndroidEnterprise/Resource/Products.php | 175 + .../Resource/Serviceaccountkeys.php | 82 + .../Resource/Storelayoutclusters.php | 120 + .../Resource/Storelayoutpages.php | 114 + .../AndroidEnterprise/Resource/Users.php | 215 + .../AndroidEnterprise/ServiceAccount.php | 49 + .../AndroidEnterprise/ServiceAccountKey.php | 66 + .../ServiceAccountKeysListResponse.php | 32 + .../Service/AndroidEnterprise/SignupInfo.php | 48 + .../AndroidEnterprise/StoreCluster.php | 68 + .../Service/AndroidEnterprise/StoreLayout.php | 48 + .../StoreLayoutClustersListResponse.php | 41 + .../StoreLayoutPagesListResponse.php | 41 + .../Service/AndroidEnterprise/StorePage.php | 59 + .../AndroidEnterprise/TokenPagination.php | 39 + .../Google/Service/AndroidEnterprise/User.php | 84 + .../Service/AndroidEnterprise/UserToken.php | 48 + .../AndroidEnterprise/UsersListResponse.php | 41 + .../src/Google/Service/AndroidPublisher.php | 1347 ++++ .../Google/Service/AndroidPublisher/Apk.php | 40 + .../Service/AndroidPublisher/ApkBinary.php | 30 + .../Service/AndroidPublisher/ApkListing.php | 39 + .../ApkListingsListResponse.php | 41 + .../ApksAddExternallyHostedRequest.php | 31 + .../ApksAddExternallyHostedResponse.php | 31 + .../AndroidPublisher/ApksListResponse.php | 41 + .../Service/AndroidPublisher/AppDetails.php | 57 + .../Service/AndroidPublisher/AppEdit.php | 39 + .../Service/AndroidPublisher/Comment.php | 41 + .../AndroidPublisher/DeobfuscationFile.php | 30 + .../DeobfuscationFilesUploadResponse.php | 31 + .../AndroidPublisher/DeveloperComment.php | 40 + .../AndroidPublisher/DeviceMetadata.php | 120 + .../Service/AndroidPublisher/Entitlement.php | 57 + .../EntitlementsListResponse.php | 52 + .../AndroidPublisher/ExpansionFile.php | 39 + .../ExpansionFilesUploadResponse.php | 31 + .../AndroidPublisher/ExternallyHostedApk.php | 158 + .../ExternallyHostedApkUsesPermission.php | 39 + .../Google/Service/AndroidPublisher/Image.php | 48 + .../ImagesDeleteAllResponse.php | 32 + .../AndroidPublisher/ImagesListResponse.php | 32 + .../AndroidPublisher/ImagesUploadResponse.php | 31 + .../Service/AndroidPublisher/InAppProduct.php | 124 + .../AndroidPublisher/InAppProductListing.php | 39 + .../InappproductsBatchRequest.php | 32 + .../InappproductsBatchRequestEntry.php | 59 + .../InappproductsBatchResponse.php | 41 + .../InappproductsBatchResponseEntry.php | 50 + .../InappproductsInsertRequest.php | 31 + .../InappproductsInsertResponse.php | 31 + .../InappproductsListResponse.php | 61 + .../InappproductsUpdateRequest.php | 31 + .../InappproductsUpdateResponse.php | 31 + .../Service/AndroidPublisher/Listing.php | 66 + .../AndroidPublisher/ListingsListResponse.php | 41 + .../Service/AndroidPublisher/MonthDay.php | 39 + .../Service/AndroidPublisher/PageInfo.php | 48 + .../Google/Service/AndroidPublisher/Price.php | 39 + .../AndroidPublisher/ProductPurchase.php | 66 + .../Service/AndroidPublisher/Prorate.php | 41 + .../AndroidPublisher/Resource/Edits.php | 107 + .../Resource/EditsApklistings.php | 148 + .../AndroidPublisher/Resource/EditsApks.php | 77 + .../Resource/EditsDeobfuscationfiles.php | 47 + .../Resource/EditsDetails.php | 77 + .../Resource/EditsExpansionfiles.php | 108 + .../AndroidPublisher/Resource/EditsImages.php | 108 + .../Resource/EditsListings.php | 132 + .../Resource/EditsTesters.php | 78 + .../AndroidPublisher/Resource/EditsTracks.php | 99 + .../Resource/Entitlements.php | 49 + .../Resource/Inappproducts.php | 151 + .../AndroidPublisher/Resource/Purchases.php | 28 + .../Resource/PurchasesProducts.php | 46 + .../Resource/PurchasesSubscriptions.php | 123 + .../Resource/PurchasesVoidedpurchases.php | 55 + .../AndroidPublisher/Resource/Reviews.php | 81 + .../Service/AndroidPublisher/Review.php | 50 + .../AndroidPublisher/ReviewReplyResult.php | 40 + .../AndroidPublisher/ReviewsListResponse.php | 52 + .../AndroidPublisher/ReviewsReplyRequest.php | 30 + .../AndroidPublisher/ReviewsReplyResponse.php | 31 + .../Service/AndroidPublisher/Season.php | 52 + .../SubscriptionDeferralInfo.php | 39 + .../AndroidPublisher/SubscriptionPurchase.php | 120 + .../SubscriptionPurchasesDeferRequest.php | 31 + .../SubscriptionPurchasesDeferResponse.php | 30 + .../Service/AndroidPublisher/Testers.php | 40 + .../Service/AndroidPublisher/Timestamp.php | 39 + .../AndroidPublisher/TokenPagination.php | 39 + .../Google/Service/AndroidPublisher/Track.php | 49 + .../AndroidPublisher/TracksListResponse.php | 41 + .../Service/AndroidPublisher/UserComment.php | 131 + .../AndroidPublisher/VoidedPurchase.php | 57 + .../VoidedPurchasesListResponse.php | 52 + .../src/Google/Service/AppState.php | 120 + .../Google/Service/AppState/GetResponse.php | 57 + .../Google/Service/AppState/ListResponse.php | 50 + .../Service/AppState/Resource/States.php | 113 + .../Google/Service/AppState/UpdateRequest.php | 39 + .../Google/Service/AppState/WriteResult.php | 48 + .../src/Google/Service/Appengine.php | 520 ++ .../Service/Appengine/ApiConfigHandler.php | 66 + .../Service/Appengine/ApiEndpointHandler.php | 30 + .../Google/Service/Appengine/Application.php | 104 + .../Service/Appengine/AutomaticScaling.php | 133 + .../Google/Service/Appengine/BasicScaling.php | 39 + .../Service/Appengine/ContainerInfo.php | 30 + .../Service/Appengine/CpuUtilization.php | 39 + .../Appengine/DebugInstanceRequest.php | 30 + .../Google/Service/Appengine/Deployment.php | 51 + .../Service/Appengine/DiskUtilization.php | 57 + .../Service/Appengine/EndpointsApiService.php | 39 + .../Google/Service/Appengine/ErrorHandler.php | 48 + .../src/Google/Service/Appengine/FileInfo.php | 48 + .../Google/Service/Appengine/HealthCheck.php | 84 + .../src/Google/Service/Appengine/Instance.php | 165 + .../src/Google/Service/Appengine/Library.php | 39 + .../Appengine/ListInstancesResponse.php | 41 + .../Appengine/ListLocationsResponse.php | 41 + .../Appengine/ListOperationsResponse.php | 41 + .../Appengine/ListServicesResponse.php | 41 + .../Appengine/ListVersionsResponse.php | 41 + .../src/Google/Service/Appengine/Location.php | 57 + .../Service/Appengine/LocationMetadata.php | 39 + .../Service/Appengine/ManualScaling.php | 30 + .../src/Google/Service/Appengine/Network.php | 58 + .../Service/Appengine/NetworkUtilization.php | 57 + .../Google/Service/Appengine/Operation.php | 67 + .../Service/Appengine/OperationMetadata.php | 75 + .../OperationMetadataExperimental.php | 66 + .../Service/Appengine/OperationMetadataV1.php | 85 + .../Appengine/OperationMetadataV1Beta5.php | 66 + .../Appengine/RepairApplicationRequest.php | 20 + .../Service/Appengine/RequestUtilization.php | 39 + .../Service/Appengine/Resource/Apps.php | 101 + .../Appengine/Resource/AppsLocations.php | 61 + .../Appengine/Resource/AppsOperations.php | 65 + .../Appengine/Resource/AppsServices.php | 109 + .../Resource/AppsServicesVersions.php | 138 + .../AppsServicesVersionsInstances.php | 106 + .../Appengine/Resource/Experimental.php | 28 + .../Appengine/Resource/ExperimentalApps.php | 28 + .../Resource/ExperimentalAppsOperations.php | 65 + .../Google/Service/Appengine/Resources.php | 59 + .../Service/Appengine/ScriptHandler.php | 30 + .../src/Google/Service/Appengine/Service.php | 49 + .../Service/Appengine/SourceReference.php | 39 + .../Service/Appengine/StaticFilesHandler.php | 84 + .../src/Google/Service/Appengine/Status.php | 49 + .../Google/Service/Appengine/TrafficSplit.php | 39 + .../Service/Appengine/UrlDispatchRule.php | 48 + .../src/Google/Service/Appengine/UrlMap.php | 96 + .../src/Google/Service/Appengine/Version.php | 295 + .../src/Google/Service/Appengine/Volume.php | 48 + .../src/Google/Service/Appengine/ZipInfo.php | 39 + .../src/Google/Service/Appsactivity.php | 108 + .../Google/Service/Appsactivity/Activity.php | 42 + .../Appsactivity/AppsactivityParent.php | 48 + .../src/Google/Service/Appsactivity/Event.php | 108 + .../Appsactivity/ListActivitiesResponse.php | 41 + .../src/Google/Service/Appsactivity/Move.php | 42 + .../Service/Appsactivity/Permission.php | 76 + .../Service/Appsactivity/PermissionChange.php | 42 + .../src/Google/Service/Appsactivity/Photo.php | 30 + .../Google/Service/Appsactivity/Rename.php | 39 + .../Appsactivity/Resource/Activities.php | 59 + .../Google/Service/Appsactivity/Target.php | 48 + .../src/Google/Service/Appsactivity/User.php | 67 + .../src/Google/Service/Autoscaler.php | 299 + .../Google/Service/Autoscaler/Autoscaler.php | 94 + .../Autoscaler/AutoscalerListResponse.php | 50 + .../Service/Autoscaler/AutoscalingPolicy.php | 79 + .../AutoscalingPolicyCpuUtilization.php | 30 + ...toscalingPolicyCustomMetricUtilization.php | 48 + ...oscalingPolicyLoadBalancingUtilization.php | 30 + .../Service/Autoscaler/DeprecationStatus.php | 66 + .../Google/Service/Autoscaler/Operation.php | 231 + .../Service/Autoscaler/OperationError.php | 32 + .../Autoscaler/OperationErrorErrors.php | 48 + .../Service/Autoscaler/OperationList.php | 68 + .../Service/Autoscaler/OperationWarnings.php | 50 + .../Autoscaler/OperationWarningsData.php | 39 + .../Autoscaler/Resource/Autoscalers.php | 124 + .../Autoscaler/Resource/ZoneOperations.php | 78 + .../Service/Autoscaler/Resource/Zones.php | 45 + .../src/Google/Service/Autoscaler/Zone.php | 103 + .../Google/Service/Autoscaler/ZoneList.php | 68 + .../src/Google/Service/Bigquery.php | 520 ++ .../Service/Bigquery/BigtableColumn.php | 75 + .../Service/Bigquery/BigtableColumnFamily.php | 68 + .../Service/Bigquery/BigtableOptions.php | 50 + .../Google/Service/Bigquery/CsvOptions.php | 75 + .../src/Google/Service/Bigquery/Dataset.php | 141 + .../Google/Service/Bigquery/DatasetAccess.php | 76 + .../Google/Service/Bigquery/DatasetList.php | 59 + .../Service/Bigquery/DatasetListDatasets.php | 67 + .../Service/Bigquery/DatasetReference.php | 39 + .../Google/Service/Bigquery/ErrorProto.php | 57 + .../Service/Bigquery/ExplainQueryStage.php | 149 + .../Service/Bigquery/ExplainQueryStep.php | 40 + .../Bigquery/ExternalDataConfiguration.php | 116 + .../Bigquery/GetQueryResultsResponse.php | 134 + .../Service/Bigquery/GoogleSheetsOptions.php | 30 + .../src/Google/Service/Bigquery/Job.php | 109 + .../Service/Bigquery/JobCancelResponse.php | 40 + .../Service/Bigquery/JobConfiguration.php | 79 + .../Bigquery/JobConfigurationExtract.php | 86 + .../Service/Bigquery/JobConfigurationLoad.php | 204 + .../Bigquery/JobConfigurationQuery.php | 189 + .../Bigquery/JobConfigurationTableCopy.php | 70 + .../src/Google/Service/Bigquery/JobList.php | 59 + .../Google/Service/Bigquery/JobListJobs.php | 110 + .../Google/Service/Bigquery/JobReference.php | 39 + .../Google/Service/Bigquery/JobStatistics.php | 87 + .../Service/Bigquery/JobStatistics2.php | 116 + .../Service/Bigquery/JobStatistics3.php | 57 + .../Service/Bigquery/JobStatistics4.php | 31 + .../src/Google/Service/Bigquery/JobStatus.php | 51 + .../Google/Service/Bigquery/ProjectList.php | 68 + .../Service/Bigquery/ProjectListProjects.php | 67 + .../Service/Bigquery/ProjectReference.php | 30 + .../Service/Bigquery/QueryParameter.php | 50 + .../Service/Bigquery/QueryParameterType.php | 51 + .../QueryParameterTypeStructTypes.php | 49 + .../Service/Bigquery/QueryParameterValue.php | 51 + .../Google/Service/Bigquery/QueryRequest.php | 123 + .../Google/Service/Bigquery/QueryResponse.php | 125 + .../Service/Bigquery/Resource/Datasets.php | 134 + .../Google/Service/Bigquery/Resource/Jobs.php | 140 + .../Service/Bigquery/Resource/Projects.php | 45 + .../Service/Bigquery/Resource/Tabledata.php | 66 + .../Service/Bigquery/Resource/Tables.php | 131 + .../Service/Bigquery/Streamingbuffer.php | 48 + .../src/Google/Service/Bigquery/Table.php | 216 + .../src/Google/Service/Bigquery/TableCell.php | 30 + .../Bigquery/TableDataInsertAllRequest.php | 68 + .../TableDataInsertAllRequestRows.php | 39 + .../Bigquery/TableDataInsertAllResponse.php | 41 + ...TableDataInsertAllResponseInsertErrors.php | 41 + .../Google/Service/Bigquery/TableDataList.php | 68 + .../Service/Bigquery/TableFieldSchema.php | 68 + .../src/Google/Service/Bigquery/TableList.php | 68 + .../Service/Bigquery/TableListTables.php | 86 + .../Service/Bigquery/TableListTablesView.php | 30 + .../Service/Bigquery/TableReference.php | 48 + .../src/Google/Service/Bigquery/TableRow.php | 32 + .../Google/Service/Bigquery/TableSchema.php | 32 + .../Service/Bigquery/TimePartitioning.php | 39 + .../Bigquery/UserDefinedFunctionResource.php | 39 + .../Service/Bigquery/ViewDefinition.php | 50 + .../src/Google/Service/Blogger.php | 930 +++ .../src/Google/Service/Blogger/Blog.php | 141 + .../src/Google/Service/Blogger/BlogList.php | 51 + .../src/Google/Service/Blogger/BlogLocale.php | 48 + .../src/Google/Service/Blogger/BlogPages.php | 39 + .../Service/Blogger/BlogPerUserInfo.php | 75 + .../src/Google/Service/Blogger/BlogPosts.php | 50 + .../Google/Service/Blogger/BlogUserInfo.php | 53 + .../src/Google/Service/Blogger/Comment.php | 124 + .../Google/Service/Blogger/CommentAuthor.php | 58 + .../Service/Blogger/CommentAuthorImage.php | 30 + .../Google/Service/Blogger/CommentBlog.php | 30 + .../Service/Blogger/CommentInReplyTo.php | 30 + .../Google/Service/Blogger/CommentList.php | 68 + .../Google/Service/Blogger/CommentPost.php | 30 + .../src/Google/Service/Blogger/Page.php | 131 + .../src/Google/Service/Blogger/PageAuthor.php | 58 + .../Service/Blogger/PageAuthorImage.php | 30 + .../src/Google/Service/Blogger/PageBlog.php | 30 + .../src/Google/Service/Blogger/PageList.php | 59 + .../src/Google/Service/Blogger/Pageviews.php | 50 + .../Service/Blogger/PageviewsCounts.php | 39 + .../src/Google/Service/Blogger/Post.php | 198 + .../src/Google/Service/Blogger/PostAuthor.php | 58 + .../Service/Blogger/PostAuthorImage.php | 30 + .../src/Google/Service/Blogger/PostBlog.php | 30 + .../src/Google/Service/Blogger/PostImages.php | 30 + .../src/Google/Service/Blogger/PostList.php | 59 + .../Google/Service/Blogger/PostLocation.php | 57 + .../Service/Blogger/PostPerUserInfo.php | 66 + .../Google/Service/Blogger/PostReplies.php | 50 + .../Google/Service/Blogger/PostUserInfo.php | 53 + .../Service/Blogger/PostUserInfosList.php | 50 + .../Blogger/Resource/BlogUserInfos.php | 46 + .../Google/Service/Blogger/Resource/Blogs.php | 86 + .../Service/Blogger/Resource/Comments.php | 159 + .../Service/Blogger/Resource/PageViews.php | 43 + .../Google/Service/Blogger/Resource/Pages.php | 163 + .../Blogger/Resource/PostUserInfos.php | 83 + .../Google/Service/Blogger/Resource/Posts.php | 241 + .../Google/Service/Blogger/Resource/Users.php | 41 + .../src/Google/Service/Blogger/User.php | 104 + .../src/Google/Service/Blogger/UserBlogs.php | 30 + .../src/Google/Service/Blogger/UserLocale.php | 48 + .../src/Google/Service/Books.php | 1508 ++++ .../src/Google/Service/Books/Annotation.php | 178 + .../Books/AnnotationClientVersionRanges.php | 70 + .../Books/AnnotationCurrentVersionRanges.php | 70 + .../Service/Books/AnnotationLayerSummary.php | 48 + .../Google/Service/Books/Annotationdata.php | 105 + .../src/Google/Service/Books/Annotations.php | 59 + .../Service/Books/AnnotationsSummary.php | 41 + .../Books/AnnotationsSummaryLayers.php | 66 + .../Google/Service/Books/Annotationsdata.php | 59 + .../Service/Books/BooksAnnotationsRange.php | 57 + .../Books/BooksCloudloadingResource.php | 57 + .../BooksVolumesRecommendedRateResponse.php | 33 + .../src/Google/Service/Books/Bookshelf.php | 111 + .../src/Google/Service/Books/Bookshelves.php | 41 + .../src/Google/Service/Books/Category.php | 41 + .../Google/Service/Books/CategoryItems.php | 48 + .../Books/ConcurrentAccessRestriction.php | 120 + .../Google/Service/Books/Dictlayerdata.php | 50 + .../Service/Books/DictlayerdataCommon.php | 30 + .../Service/Books/DictlayerdataDict.php | 42 + .../Service/Books/DictlayerdataDictSource.php | 39 + .../Service/Books/DictlayerdataDictWords.php | 62 + .../DictlayerdataDictWordsDerivatives.php | 40 + ...ictlayerdataDictWordsDerivativesSource.php | 39 + .../Books/DictlayerdataDictWordsExamples.php | 40 + .../DictlayerdataDictWordsExamplesSource.php | 39 + .../Books/DictlayerdataDictWordsSenses.php | 98 + ...ctlayerdataDictWordsSensesConjugations.php | 39 + ...ictlayerdataDictWordsSensesDefinitions.php | 41 + ...dataDictWordsSensesDefinitionsExamples.php | 40 + ...ctWordsSensesDefinitionsExamplesSource.php | 39 + .../DictlayerdataDictWordsSensesSource.php | 39 + .../DictlayerdataDictWordsSensesSynonyms.php | 40 + ...layerdataDictWordsSensesSynonymsSource.php | 39 + .../Books/DictlayerdataDictWordsSource.php | 39 + .../Service/Books/Discoveryclusters.php | 50 + .../Books/DiscoveryclustersClusters.php | 81 + ...tersClustersBannerWithContentContainer.php | 75 + .../Books/DownloadAccessRestriction.php | 129 + .../Google/Service/Books/DownloadAccesses.php | 41 + .../src/Google/Service/Books/Geolayerdata.php | 50 + .../Service/Books/GeolayerdataCommon.php | 66 + .../Google/Service/Books/GeolayerdataGeo.php | 96 + .../Service/Books/GeolayerdataGeoBoundary.php | 39 + .../Service/Books/GeolayerdataGeoViewport.php | 41 + .../Books/GeolayerdataGeoViewportHi.php | 39 + .../Books/GeolayerdataGeoViewportLo.php | 39 + .../Google/Service/Books/Layersummaries.php | 50 + .../src/Google/Service/Books/Layersummary.php | 139 + .../src/Google/Service/Books/Metadata.php | 41 + .../Google/Service/Books/MetadataItems.php | 70 + .../src/Google/Service/Books/Notification.php | 156 + .../src/Google/Service/Books/Offers.php | 41 + .../src/Google/Service/Books/OffersItems.php | 59 + .../Google/Service/Books/OffersItemsItems.php | 75 + .../Google/Service/Books/ReadingPosition.php | 84 + .../Google/Service/Books/RequestAccess.php | 50 + .../Service/Books/Resource/Bookshelves.php | 61 + .../Books/Resource/BookshelvesVolumes.php | 50 + .../Service/Books/Resource/Cloudloading.php | 73 + .../Service/Books/Resource/Dictionary.php | 42 + .../Google/Service/Books/Resource/Layers.php | 66 + .../Books/Resource/LayersAnnotationData.php | 90 + .../Resource/LayersVolumeAnnotations.php | 83 + .../Service/Books/Resource/Myconfig.php | 126 + .../Service/Books/Resource/Mylibrary.php | 28 + .../Books/Resource/MylibraryAnnotations.php | 119 + .../Books/Resource/MylibraryBookshelves.php | 125 + .../Resource/MylibraryBookshelvesVolumes.php | 53 + .../Resource/MylibraryReadingpositions.php | 71 + .../Service/Books/Resource/Notification.php | 45 + .../Service/Books/Resource/Onboarding.php | 67 + .../Books/Resource/Personalizedstream.php | 47 + .../Service/Books/Resource/Promooffer.php | 86 + .../Google/Service/Books/Resource/Series.php | 41 + .../Books/Resource/SeriesMembership.php | 46 + .../Google/Service/Books/Resource/Volumes.php | 83 + .../Books/Resource/VolumesAssociated.php | 49 + .../Service/Books/Resource/VolumesMybooks.php | 52 + .../Books/Resource/VolumesRecommended.php | 66 + .../Books/Resource/VolumesUseruploaded.php | 52 + .../src/Google/Service/Books/Review.php | 113 + .../src/Google/Service/Books/ReviewAuthor.php | 30 + .../src/Google/Service/Books/ReviewSource.php | 48 + .../src/Google/Service/Books/Series.php | 41 + .../src/Google/Service/Books/SeriesSeries.php | 66 + .../Google/Service/Books/Seriesmembership.php | 50 + .../src/Google/Service/Books/Usersettings.php | 50 + .../Service/Books/UsersettingsNotesExport.php | 39 + .../Books/UsersettingsNotification.php | 41 + ...sersettingsNotificationMoreFromAuthors.php | 33 + ...UsersettingsNotificationMoreFromSeries.php | 33 + .../src/Google/Service/Books/Volume.php | 127 + .../src/Google/Service/Books/Volume2.php | 50 + .../Google/Service/Books/VolumeAccessInfo.php | 150 + .../Service/Books/VolumeAccessInfoEpub.php | 48 + .../Service/Books/VolumeAccessInfoPdf.php | 48 + .../Google/Service/Books/VolumeLayerInfo.php | 32 + .../Service/Books/VolumeLayerInfoLayers.php | 39 + .../Service/Books/VolumeRecommendedInfo.php | 30 + .../Google/Service/Books/VolumeSaleInfo.php | 97 + .../Service/Books/VolumeSaleInfoListPrice.php | 39 + .../Service/Books/VolumeSaleInfoOffers.php | 69 + .../Books/VolumeSaleInfoOffersListPrice.php | 39 + .../VolumeSaleInfoOffersRentalDuration.php | 39 + .../Books/VolumeSaleInfoOffersRetailPrice.php | 39 + .../Books/VolumeSaleInfoRetailPrice.php | 39 + .../Google/Service/Books/VolumeSearchInfo.php | 30 + .../Google/Service/Books/VolumeUserInfo.php | 198 + .../Service/Books/VolumeUserInfoCopy.php | 57 + .../Books/VolumeUserInfoFamilySharing.php | 48 + .../Books/VolumeUserInfoRentalPeriod.php | 39 + .../VolumeUserInfoUserUploadedVolumeInfo.php | 30 + .../Google/Service/Books/VolumeVolumeInfo.php | 270 + .../Books/VolumeVolumeInfoDimensions.php | 48 + .../Books/VolumeVolumeInfoImageLinks.php | 75 + .../VolumeVolumeInfoIndustryIdentifiers.php | 39 + .../VolumeVolumeInfoPanelizationSummary.php | 57 + .../Google/Service/Books/Volumeannotation.php | 149 + .../Books/VolumeannotationContentRanges.php | 60 + .../Service/Books/Volumeannotations.php | 68 + .../src/Google/Service/Books/Volumes.php | 50 + .../Google/Service/Books/Volumeseriesinfo.php | 59 + .../Books/VolumeseriesinfoVolumeSeries.php | 59 + .../VolumeseriesinfoVolumeSeriesIssue.php | 39 + .../src/Google/Service/Calendar.php | 888 +++ .../src/Google/Service/Calendar/Acl.php | 68 + .../src/Google/Service/Calendar/AclRule.php | 67 + .../Google/Service/Calendar/AclRuleScope.php | 39 + .../src/Google/Service/Calendar/Calendar.php | 84 + .../Google/Service/Calendar/CalendarList.php | 68 + .../Service/Calendar/CalendarListEntry.php | 186 + .../CalendarListEntryNotificationSettings.php | 32 + .../Service/Calendar/CalendarNotification.php | 39 + .../src/Google/Service/Calendar/Channel.php | 111 + .../Service/Calendar/ColorDefinition.php | 39 + .../src/Google/Service/Calendar/Colors.php | 59 + .../src/Google/Service/Calendar/Error.php | 39 + .../src/Google/Service/Calendar/Event.php | 366 + .../Service/Calendar/EventAttachment.php | 66 + .../Google/Service/Calendar/EventAttendee.php | 111 + .../Google/Service/Calendar/EventCreator.php | 57 + .../Google/Service/Calendar/EventDateTime.php | 48 + .../Calendar/EventExtendedProperties.php | 39 + .../Google/Service/Calendar/EventGadget.php | 93 + .../Service/Calendar/EventOrganizer.php | 57 + .../Google/Service/Calendar/EventReminder.php | 39 + .../Service/Calendar/EventReminders.php | 41 + .../Google/Service/Calendar/EventSource.php | 39 + .../src/Google/Service/Calendar/Events.php | 123 + .../Service/Calendar/FreeBusyCalendar.php | 42 + .../Google/Service/Calendar/FreeBusyGroup.php | 41 + .../Service/Calendar/FreeBusyRequest.php | 77 + .../Service/Calendar/FreeBusyRequestItem.php | 30 + .../Service/Calendar/FreeBusyResponse.php | 68 + .../Google/Service/Calendar/Resource/Acl.php | 177 + .../Calendar/Resource/CalendarList.php | 191 + .../Service/Calendar/Resource/Calendars.php | 119 + .../Service/Calendar/Resource/Channels.php | 40 + .../Service/Calendar/Resource/Colors.php | 40 + .../Service/Calendar/Resource/Events.php | 440 + .../Service/Calendar/Resource/Freebusy.php | 41 + .../Service/Calendar/Resource/Settings.php | 92 + .../src/Google/Service/Calendar/Setting.php | 57 + .../src/Google/Service/Calendar/Settings.php | 68 + .../Google/Service/Calendar/TimePeriod.php | 39 + .../src/Google/Service/CivicInfo.php | 166 + .../CivicInfo/AdministrationRegion.php | 73 + .../Service/CivicInfo/AdministrativeBody.php | 154 + .../Google/Service/CivicInfo/Candidate.php | 95 + .../src/Google/Service/CivicInfo/Channel.php | 39 + .../src/Google/Service/CivicInfo/Contest.php | 241 + .../Service/CivicInfo/ContextParams.php | 30 + .../DivisionRepresentativeInfoRequest.php | 31 + .../CivicInfo/DivisionSearchRequest.php | 31 + .../CivicInfo/DivisionSearchResponse.php | 41 + .../CivicInfo/DivisionSearchResult.php | 49 + .../src/Google/Service/CivicInfo/Election.php | 57 + .../Service/CivicInfo/ElectionOfficial.php | 66 + .../CivicInfo/ElectionsQueryRequest.php | 31 + .../CivicInfo/ElectionsQueryResponse.php | 41 + .../Service/CivicInfo/ElectoralDistrict.php | 57 + .../Service/CivicInfo/GeographicDivision.php | 49 + .../src/Google/Service/CivicInfo/Office.php | 77 + .../src/Google/Service/CivicInfo/Official.php | 96 + .../Service/CivicInfo/PollingLocation.php | 105 + .../Service/CivicInfo/PostalAddress.php | 301 + .../CivicInfo/RepresentativeInfoData.php | 52 + .../CivicInfo/RepresentativeInfoRequest.php | 31 + .../CivicInfo/RepresentativeInfoResponse.php | 71 + .../Service/CivicInfo/Resource/Divisions.php | 47 + .../Service/CivicInfo/Resource/Elections.php | 64 + .../CivicInfo/Resource/Representatives.php | 79 + .../Service/CivicInfo/SimpleAddressType.php | 84 + .../src/Google/Service/CivicInfo/Source.php | 39 + .../Service/CivicInfo/VoterInfoRequest.php | 41 + .../Service/CivicInfo/VoterInfoResponse.php | 129 + .../CivicInfo/VoterInfoSegmentResult.php | 60 + .../src/Google/Service/Classroom.php | 869 ++ .../Google/Service/Classroom/Assignment.php | 31 + .../Classroom/AssignmentSubmission.php | 32 + .../Google/Service/Classroom/Attachment.php | 61 + .../Service/Classroom/ClassroomEmpty.php | 20 + .../src/Google/Service/Classroom/Course.php | 177 + .../Google/Service/Classroom/CourseAlias.php | 30 + .../Service/Classroom/CourseMaterial.php | 61 + .../Service/Classroom/CourseMaterialSet.php | 41 + .../Google/Service/Classroom/CourseWork.php | 180 + .../src/Google/Service/Classroom/Date.php | 48 + .../Google/Service/Classroom/DriveFile.php | 57 + .../Google/Service/Classroom/DriveFolder.php | 48 + .../src/Google/Service/Classroom/Form.php | 57 + .../Service/Classroom/GlobalPermission.php | 30 + .../src/Google/Service/Classroom/Guardian.php | 58 + .../Service/Classroom/GuardianInvitation.php | 66 + .../Google/Service/Classroom/Invitation.php | 57 + .../src/Google/Service/Classroom/Link.php | 48 + .../Classroom/ListCourseAliasesResponse.php | 41 + .../Classroom/ListCourseWorkResponse.php | 41 + .../Service/Classroom/ListCoursesResponse.php | 41 + .../ListGuardianInvitationsResponse.php | 41 + .../Classroom/ListGuardiansResponse.php | 41 + .../Classroom/ListInvitationsResponse.php | 41 + .../ListStudentSubmissionsResponse.php | 41 + .../Classroom/ListStudentsResponse.php | 41 + .../Classroom/ListTeachersResponse.php | 41 + .../src/Google/Service/Classroom/Material.php | 61 + .../Classroom/ModifyAttachmentsRequest.php | 32 + .../Classroom/MultipleChoiceQuestion.php | 31 + .../Classroom/MultipleChoiceSubmission.php | 30 + .../src/Google/Service/Classroom/Name.php | 48 + .../ReclaimStudentSubmissionRequest.php | 20 + .../Service/Classroom/Resource/Courses.php | 163 + .../Classroom/Resource/CoursesAliases.php | 91 + .../Classroom/Resource/CoursesCourseWork.php | 170 + .../CoursesCourseWorkStudentSubmissions.php | 240 + .../Classroom/Resource/CoursesStudents.php | 123 + .../Classroom/Resource/CoursesTeachers.php | 119 + .../Classroom/Resource/Invitations.php | 131 + .../Classroom/Resource/UserProfiles.php | 47 + .../UserProfilesGuardianInvitations.php | 166 + .../Resource/UserProfilesGuardians.php | 124 + .../ReturnStudentSubmissionRequest.php | 20 + .../Service/Classroom/SharedDriveFile.php | 40 + .../Classroom/ShortAnswerSubmission.php | 30 + .../src/Google/Service/Classroom/Student.php | 59 + .../Service/Classroom/StudentSubmission.php | 168 + .../src/Google/Service/Classroom/Teacher.php | 49 + .../Google/Service/Classroom/TimeOfDay.php | 57 + .../TurnInStudentSubmissionRequest.php | 20 + .../Google/Service/Classroom/UserProfile.php | 69 + .../Google/Service/Classroom/YouTubeVideo.php | 57 + .../src/Google/Service/CloudBuild.php | 254 + .../src/Google/Service/CloudBuild/Build.php | 189 + .../CloudBuild/BuildOperationMetadata.php | 31 + .../Service/CloudBuild/BuildOptions.php | 40 + .../Google/Service/CloudBuild/BuildStep.php | 85 + .../Service/CloudBuild/BuildTrigger.php | 95 + .../Google/Service/CloudBuild/BuiltImage.php | 39 + .../Service/CloudBuild/CancelBuildRequest.php | 20 + .../CloudBuild/CancelOperationRequest.php | 20 + .../Service/CloudBuild/CloudbuildEmpty.php | 20 + .../Google/Service/CloudBuild/FileHashes.php | 32 + .../src/Google/Service/CloudBuild/Hash.php | 39 + .../CloudBuild/ListBuildTriggersResponse.php | 32 + .../Service/CloudBuild/ListBuildsResponse.php | 41 + .../CloudBuild/ListOperationsResponse.php | 41 + .../Google/Service/CloudBuild/Operation.php | 67 + .../Google/Service/CloudBuild/RepoSource.php | 66 + .../CloudBuild/Resource/Operations.php | 87 + .../Service/CloudBuild/Resource/Projects.php | 28 + .../CloudBuild/Resource/ProjectsBuilds.php | 99 + .../CloudBuild/Resource/ProjectsTriggers.php | 109 + .../src/Google/Service/CloudBuild/Results.php | 41 + .../src/Google/Service/CloudBuild/Source.php | 41 + .../Service/CloudBuild/SourceProvenance.php | 51 + .../src/Google/Service/CloudBuild/Status.php | 49 + .../Service/CloudBuild/StorageSource.php | 48 + .../src/Google/Service/CloudDebugger.php | 240 + .../Service/CloudDebugger/AliasContext.php | 39 + .../Service/CloudDebugger/Breakpoint.php | 171 + .../CloudDebugger/CloudRepoSourceContext.php | 59 + .../CloudDebugger/CloudWorkspaceId.php | 40 + .../CloudWorkspaceSourceContext.php | 40 + .../CloudDebugger/ClouddebuggerEmpty.php | 20 + .../Google/Service/CloudDebugger/Debuggee.php | 124 + .../CloudDebugger/ExtendedSourceContext.php | 40 + .../Service/CloudDebugger/FormatMessage.php | 40 + .../CloudDebugger/GerritSourceContext.php | 67 + .../CloudDebugger/GetBreakpointResponse.php | 31 + .../CloudDebugger/GitSourceContext.php | 39 + .../ListActiveBreakpointsResponse.php | 50 + .../CloudDebugger/ListBreakpointsResponse.php | 41 + .../CloudDebugger/ListDebuggeesResponse.php | 32 + .../Service/CloudDebugger/ProjectRepoId.php | 39 + .../CloudDebugger/RegisterDebuggeeRequest.php | 31 + .../RegisterDebuggeeResponse.php | 31 + .../Google/Service/CloudDebugger/RepoId.php | 40 + .../CloudDebugger/Resource/Controller.php | 28 + .../Resource/ControllerDebuggees.php | 50 + .../ControllerDebuggeesBreakpoints.php | 85 + .../CloudDebugger/Resource/Debugger.php | 28 + .../Resource/DebuggerDebuggees.php | 48 + .../Resource/DebuggerDebuggeesBreakpoints.php | 113 + .../CloudDebugger/SetBreakpointResponse.php | 31 + .../Service/CloudDebugger/SourceContext.php | 61 + .../Service/CloudDebugger/SourceLocation.php | 39 + .../Service/CloudDebugger/StackFrame.php | 61 + .../Service/CloudDebugger/StatusMessage.php | 49 + .../UpdateActiveBreakpointRequest.php | 31 + .../UpdateActiveBreakpointResponse.php | 20 + .../Google/Service/CloudDebugger/Variable.php | 78 + .../src/Google/Service/CloudFunctions.php | 207 + .../CloudFunctions/CallFunctionRequest.php | 30 + .../CloudFunctions/CallFunctionResponse.php | 48 + .../Service/CloudFunctions/CloudFunction.php | 132 + .../Service/CloudFunctions/EventTrigger.php | 39 + .../Service/CloudFunctions/HTTPSTrigger.php | 30 + .../CloudFunctions/ListFunctionsResponse.php | 41 + .../CloudFunctions/ListLocationsResponse.php | 41 + .../CloudFunctions/ListOperationsResponse.php | 41 + .../Service/CloudFunctions/Location.php | 57 + .../Service/CloudFunctions/Operation.php | 67 + .../OperationMetadataV1Beta2.php | 48 + .../CloudFunctions/Resource/Operations.php | 65 + .../CloudFunctions/Resource/Projects.php | 28 + .../Resource/ProjectsLocations.php | 47 + .../Resource/ProjectsLocationsFunctions.php | 126 + .../CloudFunctions/SourceRepository.php | 75 + .../Google/Service/CloudFunctions/Status.php | 49 + .../src/Google/Service/CloudKMS.php | 389 + .../Google/Service/CloudKMS/AuditConfig.php | 50 + .../Service/CloudKMS/AuditLogConfig.php | 40 + .../src/Google/Service/CloudKMS/Binding.php | 40 + .../Service/CloudKMS/CloudAuditOptions.php | 20 + .../src/Google/Service/CloudKMS/Condition.php | 76 + .../Service/CloudKMS/CounterOptions.php | 39 + .../src/Google/Service/CloudKMS/CryptoKey.php | 76 + .../Service/CloudKMS/CryptoKeyVersion.php | 66 + .../Service/CloudKMS/DataAccessOptions.php | 20 + .../Service/CloudKMS/DecryptRequest.php | 39 + .../Service/CloudKMS/DecryptResponse.php | 30 + .../DestroyCryptoKeyVersionRequest.php | 20 + .../Service/CloudKMS/EncryptRequest.php | 39 + .../Service/CloudKMS/EncryptResponse.php | 39 + .../src/Google/Service/CloudKMS/KeyRing.php | 39 + .../ListCryptoKeyVersionsResponse.php | 50 + .../CloudKMS/ListCryptoKeysResponse.php | 50 + .../Service/CloudKMS/ListKeyRingsResponse.php | 50 + .../CloudKMS/ListLocationsResponse.php | 41 + .../src/Google/Service/CloudKMS/Location.php | 57 + .../src/Google/Service/CloudKMS/LogConfig.php | 51 + .../src/Google/Service/CloudKMS/Policy.php | 79 + .../Service/CloudKMS/Resource/Projects.php | 28 + .../CloudKMS/Resource/ProjectsLocations.php | 60 + .../Resource/ProjectsLocationsKeyRings.php | 135 + .../ProjectsLocationsKeyRingsCryptoKeys.php | 204 + ...onsKeyRingsCryptoKeysCryptoKeyVersions.php | 143 + .../RestoreCryptoKeyVersionRequest.php | 20 + .../src/Google/Service/CloudKMS/Rule.php | 87 + .../Service/CloudKMS/SetIamPolicyRequest.php | 40 + .../CloudKMS/TestIamPermissionsRequest.php | 31 + .../CloudKMS/TestIamPermissionsResponse.php | 31 + .../UpdateCryptoKeyPrimaryVersionRequest.php | 30 + .../Google/Service/CloudMachineLearning.php | 337 + .../GoogleApiHttpBody.php | 39 + .../GoogleCloudMlV1beta1CancelJobRequest.php | 20 + .../GoogleCloudMlV1beta1GetConfigResponse.php | 39 + ...ogleCloudMlV1beta1HyperparameterOutput.php | 60 + ...perparameterOutputHyperparameterMetric.php | 39 + ...GoogleCloudMlV1beta1HyperparameterSpec.php | 59 + .../GoogleCloudMlV1beta1Job.php | 115 + .../GoogleCloudMlV1beta1ListJobsResponse.php | 41 + ...GoogleCloudMlV1beta1ListModelsResponse.php | 41 + ...ogleCloudMlV1beta1ListVersionsResponse.php | 41 + .../GoogleCloudMlV1beta1Model.php | 49 + .../GoogleCloudMlV1beta1OperationMetadata.php | 85 + .../GoogleCloudMlV1beta1ParameterSpec.php | 85 + .../GoogleCloudMlV1beta1PredictRequest.php | 31 + .../GoogleCloudMlV1beta1PredictionInput.php | 85 + .../GoogleCloudMlV1beta1PredictionOutput.php | 48 + ...CloudMlV1beta1SetDefaultVersionRequest.php | 20 + .../GoogleCloudMlV1beta1TrainingInput.php | 122 + .../GoogleCloudMlV1beta1TrainingOutput.php | 50 + .../GoogleCloudMlV1beta1Version.php | 75 + ...oogleLongrunningListOperationsResponse.php | 41 + .../GoogleLongrunningOperation.php | 67 + .../GoogleProtobufEmpty.php | 20 + .../CloudMachineLearning/GoogleRpcStatus.php | 49 + .../Resource/Projects.php | 103 + .../Resource/ProjectsJobs.php | 103 + .../Resource/ProjectsModels.php | 114 + .../Resource/ProjectsModelsVersions.php | 152 + .../Resource/ProjectsOperations.php | 102 + .../Service/CloudMachineLearningEngine.php | 338 + .../GoogleApiHttpBody.php | 39 + .../GoogleCloudMlV1CancelJobRequest.php | 20 + .../GoogleCloudMlV1GetConfigResponse.php | 39 + .../GoogleCloudMlV1HyperparameterOutput.php | 60 + ...perparameterOutputHyperparameterMetric.php | 39 + .../GoogleCloudMlV1HyperparameterSpec.php | 68 + .../GoogleCloudMlV1Job.php | 115 + .../GoogleCloudMlV1ListJobsResponse.php | 41 + .../GoogleCloudMlV1ListModelsResponse.php | 41 + .../GoogleCloudMlV1ListVersionsResponse.php | 41 + .../GoogleCloudMlV1ManualScaling.php | 30 + .../GoogleCloudMlV1Model.php | 68 + .../GoogleCloudMlV1OperationMetadata.php | 85 + .../GoogleCloudMlV1ParameterSpec.php | 85 + .../GoogleCloudMlV1PredictRequest.php | 31 + .../GoogleCloudMlV1PredictionInput.php | 103 + .../GoogleCloudMlV1PredictionOutput.php | 57 + ...oogleCloudMlV1SetDefaultVersionRequest.php | 20 + .../GoogleCloudMlV1TrainingInput.php | 140 + .../GoogleCloudMlV1TrainingOutput.php | 59 + .../GoogleCloudMlV1Version.php | 94 + .../GoogleCloudMlV1beta1ManualScaling.php | 30 + .../GoogleCloudMlV1beta1OperationMetadata.php | 85 + .../GoogleCloudMlV1beta1Version.php | 94 + ...oogleLongrunningListOperationsResponse.php | 41 + .../GoogleLongrunningOperation.php | 67 + .../GoogleProtobufEmpty.php | 20 + .../GoogleRpcStatus.php | 49 + .../Resource/Projects.php | 64 + .../Resource/ProjectsJobs.php | 103 + .../Resource/ProjectsModels.php | 114 + .../Resource/ProjectsModelsVersions.php | 152 + .../Resource/ProjectsOperations.php | 102 + .../src/Google/Service/CloudMonitoring.php | 243 + .../DeleteMetricDescriptorResponse.php | 30 + .../ListMetricDescriptorsRequest.php | 30 + .../ListMetricDescriptorsResponse.php | 50 + .../ListTimeseriesDescriptorsRequest.php | 30 + .../ListTimeseriesDescriptorsResponse.php | 68 + .../CloudMonitoring/ListTimeseriesRequest.php | 30 + .../ListTimeseriesResponse.php | 68 + .../CloudMonitoring/MetricDescriptor.php | 69 + .../MetricDescriptorLabelDescriptor.php | 39 + .../MetricDescriptorTypeDescriptor.php | 39 + .../Google/Service/CloudMonitoring/Point.php | 85 + .../CloudMonitoring/PointDistribution.php | 52 + .../PointDistributionBucket.php | 48 + .../PointDistributionOverflowBucket.php | 39 + .../PointDistributionUnderflowBucket.php | 39 + .../Resource/MetricDescriptors.php | 86 + .../CloudMonitoring/Resource/Timeseries.php | 104 + .../Resource/TimeseriesDescriptors.php | 83 + .../Service/CloudMonitoring/Timeseries.php | 42 + .../CloudMonitoring/TimeseriesDescriptor.php | 48 + .../TimeseriesDescriptorLabel.php | 39 + .../CloudMonitoring/TimeseriesPoint.php | 41 + .../WriteTimeseriesRequest.php | 41 + .../WriteTimeseriesResponse.php | 30 + .../Google/Service/CloudNaturalLanguage.php | 81 + .../AnalyzeEntitiesRequest.php | 40 + .../AnalyzeEntitiesResponse.php | 41 + .../AnalyzeSentimentRequest.php | 40 + .../AnalyzeSentimentResponse.php | 51 + .../AnalyzeSyntaxRequest.php | 40 + .../AnalyzeSyntaxResponse.php | 51 + .../AnnotateTextRequest.php | 50 + .../AnnotateTextResponse.php | 71 + .../CloudNaturalLanguage/DependencyEdge.php | 39 + .../Service/CloudNaturalLanguage/Document.php | 57 + .../Service/CloudNaturalLanguage/Entity.php | 68 + .../CloudNaturalLanguage/EntityMention.php | 40 + .../Service/CloudNaturalLanguage/Features.php | 48 + .../CloudNaturalLanguage/PartOfSpeech.php | 129 + .../Resource/Documents.php | 86 + .../Service/CloudNaturalLanguage/Sentence.php | 41 + .../CloudNaturalLanguage/Sentiment.php | 39 + .../Service/CloudNaturalLanguage/Status.php | 49 + .../Service/CloudNaturalLanguage/TextSpan.php | 39 + .../Service/CloudNaturalLanguage/Token.php | 60 + .../Service/CloudNaturalLanguageAPI.php | 78 + .../AnalyzeEntitiesRequest.php | 40 + .../AnalyzeEntitiesResponse.php | 41 + .../AnalyzeSentimentRequest.php | 31 + .../AnalyzeSentimentResponse.php | 40 + .../AnnotateTextRequest.php | 50 + .../AnnotateTextResponse.php | 71 + .../DependencyEdge.php | 39 + .../CloudNaturalLanguageAPI/Document.php | 57 + .../CloudNaturalLanguageAPI/Entity.php | 68 + .../CloudNaturalLanguageAPI/EntityMention.php | 31 + .../CloudNaturalLanguageAPI/Features.php | 48 + .../CloudNaturalLanguageAPI/PartOfSpeech.php | 30 + .../Resource/Documents.php | 71 + .../CloudNaturalLanguageAPI/Sentence.php | 31 + .../CloudNaturalLanguageAPI/Sentiment.php | 39 + .../CloudNaturalLanguageAPI/Status.php | 49 + .../CloudNaturalLanguageAPI/TextSpan.php | 39 + .../Service/CloudNaturalLanguageAPI/Token.php | 60 + .../Google/Service/CloudResourceManager.php | 286 + .../Service/CloudResourceManager/Ancestor.php | 31 + .../CloudResourceManager/AuditConfig.php | 41 + .../CloudResourceManager/AuditLogConfig.php | 40 + .../Service/CloudResourceManager/Binding.php | 40 + .../CloudresourcemanagerEmpty.php | 20 + .../CloudResourceManager/FolderOperation.php | 57 + .../FolderOperationError.php | 30 + .../GetAncestryRequest.php | 20 + .../GetAncestryResponse.php | 32 + .../GetIamPolicyRequest.php | 20 + .../Service/CloudResourceManager/Lien.php | 76 + .../ListLiensResponse.php | 41 + .../ListProjectsResponse.php | 41 + .../CloudResourceManager/Operation.php | 67 + .../CloudResourceManager/Organization.php | 67 + .../OrganizationOwner.php | 30 + .../Service/CloudResourceManager/Policy.php | 60 + .../Service/CloudResourceManager/Project.php | 85 + .../ProjectCreationStatus.php | 48 + .../CloudResourceManager/Resource/Liens.php | 88 + .../Resource/Operations.php | 43 + .../Resource/Organizations.php | 114 + .../Resource/Projects.php | 286 + .../CloudResourceManager/ResourceId.php | 39 + .../SearchOrganizationsRequest.php | 48 + .../SearchOrganizationsResponse.php | 41 + .../SetIamPolicyRequest.php | 40 + .../Service/CloudResourceManager/Status.php | 49 + .../TestIamPermissionsRequest.php | 31 + .../TestIamPermissionsResponse.php | 31 + .../UndeleteProjectRequest.php | 20 + .../src/Google/Service/CloudRuntimeConfig.php | 109 + .../CancelOperationRequest.php | 20 + .../CloudRuntimeConfig/Cardinality.php | 39 + .../CloudRuntimeConfig/EndCondition.php | 31 + .../ListConfigsResponse.php | 41 + .../ListOperationsResponse.php | 41 + .../ListVariablesResponse.php | 41 + .../ListWaitersResponse.php | 41 + .../Service/CloudRuntimeConfig/Operation.php | 67 + .../Resource/Operations.php | 88 + .../CloudRuntimeConfig/Resource/Projects.php | 28 + .../Resource/ProjectsConfigs.php | 123 + .../Resource/ProjectsConfigsOperations.php | 43 + .../Resource/ProjectsConfigsVariables.php | 170 + .../Resource/ProjectsConfigsWaiters.php | 111 + .../CloudRuntimeConfig/RuntimeConfig.php | 39 + .../CloudRuntimeConfig/RuntimeconfigEmpty.php | 20 + .../Service/CloudRuntimeConfig/Status.php | 49 + .../Service/CloudRuntimeConfig/Variable.php | 66 + .../Service/CloudRuntimeConfig/Waiter.php | 87 + .../WatchVariableRequest.php | 30 + .../Service/CloudSourceRepositories.php | 134 + .../CloudSourceRepositories/AuditConfig.php | 50 + .../AuditLogConfig.php | 40 + .../CloudSourceRepositories/Binding.php | 40 + .../CloudAuditOptions.php | 20 + .../CloudSourceRepositories/Condition.php | 76 + .../CounterOptions.php | 39 + .../DataAccessOptions.php | 20 + .../ListReposResponse.php | 32 + .../CloudSourceRepositories/LogConfig.php | 51 + .../CloudSourceRepositories/MirrorConfig.php | 48 + .../CloudSourceRepositories/Policy.php | 79 + .../Service/CloudSourceRepositories/Repo.php | 58 + .../Resource/Projects.php | 28 + .../Resource/ProjectsRepos.php | 139 + .../Service/CloudSourceRepositories/Rule.php | 87 + .../SetIamPolicyRequest.php | 40 + .../SourcerepoEmpty.php | 20 + .../TestIamPermissionsRequest.php | 31 + .../TestIamPermissionsResponse.php | 31 + .../src/Google/Service/CloudSpeechAPI.php | 133 + .../CloudSpeechAPI/AsyncRecognizeRequest.php | 41 + .../CloudSpeechAPI/CancelOperationRequest.php | 20 + .../CloudSpeechAPI/ListOperationsResponse.php | 41 + .../Service/CloudSpeechAPI/Operation.php | 67 + .../CloudSpeechAPI/RecognitionAudio.php | 39 + .../CloudSpeechAPI/RecognitionConfig.php | 76 + .../CloudSpeechAPI/Resource/Operations.php | 100 + .../CloudSpeechAPI/Resource/Speech.php | 58 + .../Service/CloudSpeechAPI/SpeechContext.php | 31 + .../Service/CloudSpeechAPI/SpeechEmpty.php | 20 + .../SpeechRecognitionAlternative.php | 39 + .../SpeechRecognitionResult.php | 32 + .../Google/Service/CloudSpeechAPI/Status.php | 49 + .../CloudSpeechAPI/SyncRecognizeRequest.php | 41 + .../CloudSpeechAPI/SyncRecognizeResponse.php | 32 + .../src/Google/Service/CloudTrace.php | 146 + .../Service/CloudTrace/CloudtraceEmpty.php | 20 + .../Service/CloudTrace/ListTracesResponse.php | 41 + .../Service/CloudTrace/Resource/Projects.php | 47 + .../CloudTrace/Resource/ProjectsTraces.php | 83 + .../src/Google/Service/CloudTrace/Trace.php | 50 + .../Google/Service/CloudTrace/TraceSpan.php | 84 + .../src/Google/Service/CloudTrace/Traces.php | 32 + .../src/Google/Service/CloudUserAccounts.php | 514 ++ .../Service/CloudUserAccounts/AuditConfig.php | 40 + .../CloudUserAccounts/AuthorizedKeysView.php | 40 + .../Service/CloudUserAccounts/Binding.php | 40 + .../Service/CloudUserAccounts/Condition.php | 76 + .../Service/CloudUserAccounts/Group.php | 85 + .../Service/CloudUserAccounts/GroupList.php | 68 + .../GroupsAddMemberRequest.php | 31 + .../GroupsRemoveMemberRequest.php | 31 + .../CloudUserAccounts/LinuxAccountViews.php | 51 + .../LinuxGetAuthorizedKeysViewResponse.php | 31 + .../LinuxGetLinuxAccountViewsResponse.php | 31 + .../CloudUserAccounts/LinuxGroupView.php | 49 + .../CloudUserAccounts/LinuxUserView.php | 75 + .../Service/CloudUserAccounts/LogConfig.php | 31 + .../LogConfigCounterOptions.php | 39 + .../Service/CloudUserAccounts/Operation.php | 231 + .../CloudUserAccounts/OperationError.php | 32 + .../OperationErrorErrors.php | 48 + .../CloudUserAccounts/OperationList.php | 68 + .../CloudUserAccounts/OperationWarnings.php | 50 + .../OperationWarningsData.php | 39 + .../Service/CloudUserAccounts/Policy.php | 79 + .../Service/CloudUserAccounts/PublicKey.php | 66 + .../Resource/GlobalAccountsOperations.php | 113 + .../CloudUserAccounts/Resource/Groups.php | 206 + .../CloudUserAccounts/Resource/Linux.php | 111 + .../CloudUserAccounts/Resource/Users.php | 209 + .../Google/Service/CloudUserAccounts/Rule.php | 87 + .../TestPermissionsRequest.php | 31 + .../TestPermissionsResponse.php | 31 + .../Google/Service/CloudUserAccounts/User.php | 104 + .../Service/CloudUserAccounts/UserList.php | 68 + .../src/Google/Service/Cloudbilling.php | 147 + .../Service/Cloudbilling/BillingAccount.php | 48 + .../ListBillingAccountsResponse.php | 41 + .../ListProjectBillingInfoResponse.php | 41 + .../Cloudbilling/ProjectBillingInfo.php | 57 + .../Cloudbilling/Resource/BillingAccounts.php | 66 + .../Resource/BillingAccountsProjects.php | 53 + .../Cloudbilling/Resource/Projects.php | 89 + .../Google/Service/Clouderrorreporting.php | 231 + .../DeleteEventsResponse.php | 20 + .../Clouderrorreporting/ErrorContext.php | 50 + .../Clouderrorreporting/ErrorEvent.php | 59 + .../Clouderrorreporting/ErrorGroup.php | 50 + .../Clouderrorreporting/ErrorGroupStats.php | 107 + .../HttpRequestContext.php | 75 + .../ListEventsResponse.php | 50 + .../ListGroupStatsResponse.php | 50 + .../ReportErrorEventResponse.php | 20 + .../ReportedErrorEvent.php | 59 + .../Clouderrorreporting/Resource/Projects.php | 44 + .../Resource/ProjectsEvents.php | 85 + .../Resource/ProjectsGroupStats.php | 71 + .../Resource/ProjectsGroups.php | 62 + .../Clouderrorreporting/ServiceContext.php | 48 + .../Clouderrorreporting/SourceLocation.php | 48 + .../Clouderrorreporting/TimedCount.php | 48 + .../Clouderrorreporting/TrackingIssue.php | 30 + .../src/Google/Service/Cloudlatencytest.php | 71 + .../Cloudlatencytest/AggregatedStats.php | 32 + .../Cloudlatencytest/AggregatedStatsReply.php | 30 + .../Service/Cloudlatencytest/DoubleValue.php | 39 + .../Service/Cloudlatencytest/IntValue.php | 39 + .../Google/Service/Cloudlatencytest/Stats.php | 61 + .../Service/Cloudlatencytest/StatsReply.php | 30 + .../StatscollectionResource.php | 54 + .../Service/Cloudlatencytest/StringValue.php | 39 + .../src/Google/Service/Compute.php | 5692 +++++++++++++ .../Google/Service/Compute/AccessConfig.php | 57 + .../src/Google/Service/Compute/Address.php | 112 + .../Service/Compute/AddressAggregatedList.php | 67 + .../Google/Service/Compute/AddressList.php | 68 + .../Service/Compute/AddressesScopedList.php | 42 + .../Compute/AddressesScopedListWarning.php | 50 + .../AddressesScopedListWarningData.php | 39 + .../Google/Service/Compute/AttachedDisk.php | 132 + .../Compute/AttachedDiskInitializeParams.php | 67 + .../src/Google/Service/Compute/Autoscaler.php | 112 + .../Compute/AutoscalerAggregatedList.php | 67 + .../Google/Service/Compute/AutoscalerList.php | 68 + .../Service/Compute/AutoscalersScopedList.php | 42 + .../Compute/AutoscalersScopedListWarning.php | 50 + .../AutoscalersScopedListWarningData.php | 39 + .../Service/Compute/AutoscalingPolicy.php | 79 + .../AutoscalingPolicyCpuUtilization.php | 30 + ...toscalingPolicyCustomMetricUtilization.php | 48 + ...oscalingPolicyLoadBalancingUtilization.php | 30 + .../src/Google/Service/Compute/Backend.php | 102 + .../Google/Service/Compute/BackendBucket.php | 93 + .../Service/Compute/BackendBucketList.php | 68 + .../Google/Service/Compute/BackendService.php | 195 + .../Compute/BackendServiceAggregatedList.php | 67 + .../Compute/BackendServiceGroupHealth.php | 41 + .../Service/Compute/BackendServiceList.php | 68 + .../Compute/BackendServicesScopedList.php | 42 + .../BackendServicesScopedListWarning.php | 50 + .../BackendServicesScopedListWarningData.php | 39 + .../Service/Compute/CacheInvalidationRule.php | 39 + .../Service/Compute/ConnectionDraining.php | 30 + .../Service/Compute/CustomerEncryptionKey.php | 39 + .../CustomerEncryptionKeyProtectedDisk.php | 40 + .../Service/Compute/DeprecationStatus.php | 66 + .../src/Google/Service/Compute/Disk.php | 223 + .../Service/Compute/DiskAggregatedList.php | 67 + .../src/Google/Service/Compute/DiskList.php | 68 + .../Service/Compute/DiskMoveRequest.php | 39 + .../src/Google/Service/Compute/DiskType.php | 112 + .../Compute/DiskTypeAggregatedList.php | 67 + .../Google/Service/Compute/DiskTypeList.php | 68 + .../Service/Compute/DiskTypesScopedList.php | 42 + .../Compute/DiskTypesScopedListWarning.php | 50 + .../DiskTypesScopedListWarningData.php | 39 + .../Service/Compute/DisksResizeRequest.php | 30 + .../Service/Compute/DisksScopedList.php | 42 + .../Compute/DisksScopedListWarning.php | 50 + .../Compute/DisksScopedListWarningData.php | 39 + .../src/Google/Service/Compute/Firewall.php | 122 + .../Service/Compute/FirewallAllowed.php | 43 + .../Google/Service/Compute/FirewallList.php | 68 + .../Google/Service/Compute/ForwardingRule.php | 170 + .../Compute/ForwardingRuleAggregatedList.php | 67 + .../Service/Compute/ForwardingRuleList.php | 68 + .../Compute/ForwardingRulesScopedList.php | 42 + .../ForwardingRulesScopedListWarning.php | 50 + .../ForwardingRulesScopedListWarningData.php | 39 + .../Google/Service/Compute/GuestOsFeature.php | 30 + .../Service/Compute/HTTP2HealthCheck.php | 66 + .../Google/Service/Compute/HealthCheck.php | 160 + .../Service/Compute/HealthCheckList.php | 68 + .../Service/Compute/HealthCheckReference.php | 30 + .../Google/Service/Compute/HealthStatus.php | 57 + .../src/Google/Service/Compute/HostRule.php | 49 + .../Service/Compute/HttpHealthCheck.php | 138 + .../Service/Compute/HttpHealthCheckList.php | 68 + .../Service/Compute/HttpsHealthCheck.php | 138 + .../Service/Compute/HttpsHealthCheckList.php | 68 + .../src/Google/Service/Compute/Image.php | 198 + .../src/Google/Service/Compute/ImageList.php | 68 + .../Google/Service/Compute/ImageRawDisk.php | 48 + .../src/Google/Service/Compute/Instance.php | 190 + .../Compute/InstanceAggregatedList.php | 67 + .../Google/Service/Compute/InstanceGroup.php | 140 + .../Compute/InstanceGroupAggregatedList.php | 67 + .../Service/Compute/InstanceGroupList.php | 68 + .../Service/Compute/InstanceGroupManager.php | 168 + .../InstanceGroupManagerActionsSummary.php | 93 + .../InstanceGroupManagerAggregatedList.php | 67 + .../Compute/InstanceGroupManagerList.php | 68 + ...ceGroupManagersAbandonInstancesRequest.php | 31 + ...nceGroupManagersDeleteInstancesRequest.php | 31 + ...upManagersListManagedInstancesResponse.php | 32 + ...eGroupManagersRecreateInstancesRequest.php | 31 + .../InstanceGroupManagersScopedList.php | 42 + ...InstanceGroupManagersScopedListWarning.php | 50 + ...anceGroupManagersScopedListWarningData.php | 39 + ...roupManagersSetInstanceTemplateRequest.php | 30 + ...anceGroupManagersSetTargetPoolsRequest.php | 40 + .../InstanceGroupsAddInstancesRequest.php | 32 + .../Compute/InstanceGroupsListInstances.php | 68 + .../InstanceGroupsListInstancesRequest.php | 30 + .../InstanceGroupsRemoveInstancesRequest.php | 32 + .../Compute/InstanceGroupsScopedList.php | 42 + .../InstanceGroupsScopedListWarning.php | 50 + .../InstanceGroupsScopedListWarningData.php | 39 + .../InstanceGroupsSetNamedPortsRequest.php | 41 + .../Google/Service/Compute/InstanceList.php | 68 + .../Service/Compute/InstanceMoveRequest.php | 39 + .../Service/Compute/InstanceProperties.php | 109 + .../Service/Compute/InstanceReference.php | 30 + .../Service/Compute/InstanceTemplate.php | 85 + .../Service/Compute/InstanceTemplateList.php | 68 + .../Compute/InstanceWithNamedPorts.php | 50 + .../Service/Compute/InstancesScopedList.php | 42 + .../Compute/InstancesScopedListWarning.php | 50 + .../InstancesScopedListWarningData.php | 39 + .../InstancesSetMachineTypeRequest.php | 30 + .../InstancesSetServiceAccountRequest.php | 40 + ...InstancesStartWithEncryptionKeyRequest.php | 32 + .../src/Google/Service/Compute/License.php | 57 + .../Google/Service/Compute/MachineType.php | 159 + .../Compute/MachineTypeAggregatedList.php | 67 + .../Service/Compute/MachineTypeList.php | 68 + .../Compute/MachineTypeScratchDisks.php | 30 + .../Compute/MachineTypesScopedList.php | 42 + .../Compute/MachineTypesScopedListWarning.php | 50 + .../MachineTypesScopedListWarningData.php | 39 + .../Service/Compute/ManagedInstance.php | 67 + .../Compute/ManagedInstanceLastAttempt.php | 31 + .../ManagedInstanceLastAttemptErrors.php | 32 + ...ManagedInstanceLastAttemptErrorsErrors.php | 48 + .../src/Google/Service/Compute/Metadata.php | 50 + .../Google/Service/Compute/MetadataItems.php | 39 + .../src/Google/Service/Compute/NamedPort.php | 39 + .../src/Google/Service/Compute/Network.php | 115 + .../Service/Compute/NetworkInterface.php | 77 + .../Google/Service/Compute/NetworkList.php | 68 + .../src/Google/Service/Compute/Operation.php | 231 + .../Compute/OperationAggregatedList.php | 67 + .../Google/Service/Compute/OperationError.php | 32 + .../Service/Compute/OperationErrorErrors.php | 48 + .../Google/Service/Compute/OperationList.php | 68 + .../Service/Compute/OperationWarnings.php | 50 + .../Service/Compute/OperationWarningsData.php | 39 + .../Service/Compute/OperationsScopedList.php | 42 + .../Compute/OperationsScopedListWarning.php | 50 + .../OperationsScopedListWarningData.php | 39 + .../Google/Service/Compute/PathMatcher.php | 59 + .../src/Google/Service/Compute/PathRule.php | 40 + .../src/Google/Service/Compute/Project.php | 124 + .../src/Google/Service/Compute/Quota.php | 48 + .../src/Google/Service/Compute/Region.php | 114 + .../Service/Compute/RegionAutoscalerList.php | 68 + .../Compute/RegionInstanceGroupList.php | 68 + .../RegionInstanceGroupManagerList.php | 68 + ...ceGroupManagersAbandonInstancesRequest.php | 31 + ...nceGroupManagersDeleteInstancesRequest.php | 31 + ...anceGroupManagersListInstancesResponse.php | 32 + ...onInstanceGroupManagersRecreateRequest.php | 31 + ...anceGroupManagersSetTargetPoolsRequest.php | 40 + ...nstanceGroupManagersSetTemplateRequest.php | 30 + .../RegionInstanceGroupsListInstances.php | 68 + ...gionInstanceGroupsListInstancesRequest.php | 39 + ...gionInstanceGroupsSetNamedPortsRequest.php | 41 + .../src/Google/Service/Compute/RegionList.php | 68 + .../Service/Compute/Resource/Addresses.php | 188 + .../Service/Compute/Resource/Autoscalers.php | 224 + .../Compute/Resource/BackendBuckets.php | 161 + .../Compute/Resource/BackendServices.php | 241 + .../Service/Compute/Resource/DiskTypes.php | 158 + .../Google/Service/Compute/Resource/Disks.php | 231 + .../Service/Compute/Resource/Firewalls.php | 160 + .../Compute/Resource/ForwardingRules.php | 207 + .../Compute/Resource/GlobalAddresses.php | 128 + .../Resource/GlobalForwardingRules.php | 146 + .../Compute/Resource/GlobalOperations.php | 170 + .../Service/Compute/Resource/HealthChecks.php | 162 + .../Compute/Resource/HttpHealthChecks.php | 166 + .../Compute/Resource/HttpsHealthChecks.php | 166 + .../Service/Compute/Resource/Images.php | 166 + .../Resource/InstanceGroupManagers.php | 369 + .../Compute/Resource/InstanceGroups.php | 309 + .../Compute/Resource/InstanceTemplates.php | 136 + .../Service/Compute/Resource/Instances.php | 455 ++ .../Service/Compute/Resource/Licenses.php | 43 + .../Service/Compute/Resource/MachineTypes.php | 158 + .../Service/Compute/Resource/Networks.php | 144 + .../Service/Compute/Resource/Projects.php | 101 + .../Compute/Resource/RegionAutoscalers.php | 167 + .../Resource/RegionBackendServices.php | 194 + .../Resource/RegionInstanceGroupManagers.php | 294 + .../Compute/Resource/RegionInstanceGroups.php | 182 + .../Compute/Resource/RegionOperations.php | 117 + .../Service/Compute/Resource/Regions.php | 100 + .../Service/Compute/Resource/Routers.php | 256 + .../Service/Compute/Resource/Routes.php | 129 + .../Service/Compute/Resource/Snapshots.php | 119 + .../Compute/Resource/SslCertificates.php | 129 + .../Service/Compute/Resource/Subnetworks.php | 206 + .../Compute/Resource/TargetHttpProxies.php | 147 + .../Compute/Resource/TargetHttpsProxies.php | 164 + .../Compute/Resource/TargetInstances.php | 190 + .../Service/Compute/Resource/TargetPools.php | 293 + .../Compute/Resource/TargetSslProxies.php | 180 + .../Compute/Resource/TargetVpnGateways.php | 190 + .../Service/Compute/Resource/UrlMaps.php | 194 + .../Service/Compute/Resource/VpnTunnels.php | 189 + .../Compute/Resource/ZoneOperations.php | 117 + .../Google/Service/Compute/Resource/Zones.php | 100 + .../Compute/ResourceGroupReference.php | 30 + .../src/Google/Service/Compute/Route.php | 167 + .../src/Google/Service/Compute/RouteList.php | 68 + .../Google/Service/Compute/RouteWarnings.php | 50 + .../Service/Compute/RouteWarningsData.php | 39 + .../src/Google/Service/Compute/Router.php | 124 + .../Service/Compute/RouterAggregatedList.php | 67 + .../src/Google/Service/Compute/RouterBgp.php | 30 + .../Google/Service/Compute/RouterBgpPeer.php | 75 + .../Service/Compute/RouterInterface.php | 48 + .../src/Google/Service/Compute/RouterList.php | 68 + .../Google/Service/Compute/RouterStatus.php | 51 + .../Compute/RouterStatusBgpPeerStatus.php | 113 + .../Service/Compute/RouterStatusResponse.php | 40 + .../Compute/RoutersPreviewResponse.php | 31 + .../Service/Compute/RoutersScopedList.php | 42 + .../Compute/RoutersScopedListWarning.php | 50 + .../Compute/RoutersScopedListWarningData.php | 39 + .../Google/Service/Compute/SSLHealthCheck.php | 66 + .../src/Google/Service/Compute/Scheduling.php | 48 + .../Service/Compute/SerialPortOutput.php | 66 + .../Google/Service/Compute/ServiceAccount.php | 40 + .../src/Google/Service/Compute/Snapshot.php | 159 + .../Google/Service/Compute/SnapshotList.php | 68 + .../Google/Service/Compute/SslCertificate.php | 93 + .../Service/Compute/SslCertificateList.php | 68 + .../src/Google/Service/Compute/Subnetwork.php | 111 + .../Compute/SubnetworkAggregatedList.php | 67 + .../Google/Service/Compute/SubnetworkList.php | 68 + .../SubnetworksExpandIpCidrRangeRequest.php | 30 + .../Service/Compute/SubnetworksScopedList.php | 42 + .../Compute/SubnetworksScopedListWarning.php | 50 + .../SubnetworksScopedListWarningData.php | 39 + .../Google/Service/Compute/TCPHealthCheck.php | 66 + .../src/Google/Service/Compute/Tags.php | 40 + .../Service/Compute/TargetHttpProxy.php | 84 + .../Service/Compute/TargetHttpProxyList.php | 68 + ...tHttpsProxiesSetSslCertificatesRequest.php | 31 + .../Service/Compute/TargetHttpsProxy.php | 94 + .../Service/Compute/TargetHttpsProxyList.php | 68 + .../Google/Service/Compute/TargetInstance.php | 102 + .../Compute/TargetInstanceAggregatedList.php | 67 + .../Service/Compute/TargetInstanceList.php | 68 + .../Compute/TargetInstancesScopedList.php | 42 + .../TargetInstancesScopedListWarning.php | 50 + .../TargetInstancesScopedListWarningData.php | 39 + .../src/Google/Service/Compute/TargetPool.php | 130 + .../Compute/TargetPoolAggregatedList.php | 67 + .../Compute/TargetPoolInstanceHealth.php | 41 + .../Google/Service/Compute/TargetPoolList.php | 68 + .../TargetPoolsAddHealthCheckRequest.php | 32 + .../Compute/TargetPoolsAddInstanceRequest.php | 32 + .../TargetPoolsRemoveHealthCheckRequest.php | 32 + .../TargetPoolsRemoveInstanceRequest.php | 32 + .../Service/Compute/TargetPoolsScopedList.php | 42 + .../Compute/TargetPoolsScopedListWarning.php | 50 + .../TargetPoolsScopedListWarningData.php | 39 + .../Service/Compute/TargetReference.php | 30 + ...rgetSslProxiesSetBackendServiceRequest.php | 30 + .../TargetSslProxiesSetProxyHeaderRequest.php | 30 + ...getSslProxiesSetSslCertificatesRequest.php | 31 + .../Google/Service/Compute/TargetSslProxy.php | 103 + .../Service/Compute/TargetSslProxyList.php | 68 + .../Service/Compute/TargetVpnGateway.php | 121 + .../TargetVpnGatewayAggregatedList.php | 67 + .../Service/Compute/TargetVpnGatewayList.php | 68 + .../Compute/TargetVpnGatewaysScopedList.php | 42 + .../TargetVpnGatewaysScopedListWarning.php | 50 + ...TargetVpnGatewaysScopedListWarningData.php | 39 + .../Google/Service/Compute/TestFailure.php | 57 + .../src/Google/Service/Compute/UrlMap.php | 124 + .../src/Google/Service/Compute/UrlMapList.php | 68 + .../Service/Compute/UrlMapReference.php | 30 + .../src/Google/Service/Compute/UrlMapTest.php | 57 + .../Compute/UrlMapValidationResult.php | 59 + .../Compute/UrlMapsValidateRequest.php | 31 + .../Compute/UrlMapsValidateResponse.php | 31 + .../Service/Compute/UsageExportLocation.php | 39 + .../src/Google/Service/Compute/VpnTunnel.php | 175 + .../Compute/VpnTunnelAggregatedList.php | 67 + .../Google/Service/Compute/VpnTunnelList.php | 68 + .../Service/Compute/VpnTunnelsScopedList.php | 42 + .../Compute/VpnTunnelsScopedListWarning.php | 50 + .../VpnTunnelsScopedListWarningData.php | 39 + .../src/Google/Service/Compute/Zone.php | 103 + .../src/Google/Service/Compute/ZoneList.php | 68 + .../src/Google/Service/ConsumerSurveys.php | 210 + .../Service/ConsumerSurveys/FieldMask.php | 41 + .../ConsumerSurveys/MobileAppPanel.php | 76 + .../MobileAppPanelsListResponse.php | 61 + .../Service/ConsumerSurveys/PageInfo.php | 48 + .../Resource/Mobileapppanels.php | 74 + .../ConsumerSurveys/Resource/Results.php | 43 + .../ConsumerSurveys/Resource/Surveys.php | 125 + .../ConsumerSurveys/ResultsGetRequest.php | 31 + .../Service/ConsumerSurveys/ResultsMask.php | 41 + .../Google/Service/ConsumerSurveys/Survey.php | 125 + .../ConsumerSurveys/SurveyAudience.php | 85 + .../Service/ConsumerSurveys/SurveyCost.php | 57 + .../ConsumerSurveys/SurveyQuestion.php | 185 + .../ConsumerSurveys/SurveyQuestionImage.php | 48 + .../ConsumerSurveys/SurveyRejection.php | 39 + .../Service/ConsumerSurveys/SurveyResults.php | 39 + .../ConsumerSurveys/SurveysDeleteResponse.php | 30 + .../ConsumerSurveys/SurveysListResponse.php | 61 + .../ConsumerSurveys/SurveysStartRequest.php | 30 + .../ConsumerSurveys/SurveysStartResponse.php | 40 + .../ConsumerSurveys/SurveysStopResponse.php | 40 + .../ConsumerSurveys/TokenPagination.php | 39 + .../src/Google/Service/Container.php | 397 + .../Google/Service/Container/AddonsConfig.php | 41 + .../Service/Container/AutoUpgradeOptions.php | 39 + .../Container/CancelOperationRequest.php | 20 + .../src/Google/Service/Container/Cluster.php | 278 + .../Service/Container/ClusterUpdate.php | 96 + .../Service/Container/ContainerEmpty.php | 20 + .../Container/CreateClusterRequest.php | 31 + .../Container/CreateNodePoolRequest.php | 31 + .../Container/HorizontalPodAutoscaling.php | 30 + .../Service/Container/HttpLoadBalancing.php | 30 + .../Container/ListClustersResponse.php | 41 + .../Container/ListNodePoolsResponse.php | 32 + .../Container/ListOperationsResponse.php | 41 + .../Google/Service/Container/MasterAuth.php | 66 + .../Google/Service/Container/NodeConfig.php | 112 + .../Service/Container/NodeManagement.php | 40 + .../src/Google/Service/Container/NodePool.php | 115 + .../Service/Container/NodePoolAutoscaling.php | 48 + .../Google/Service/Container/Operation.php | 93 + .../Service/Container/Resource/Projects.php | 28 + .../Container/Resource/ProjectsZones.php | 45 + .../Resource/ProjectsZonesClusters.php | 126 + .../ProjectsZonesClustersNodePools.php | 139 + .../Resource/ProjectsZonesOperations.php | 81 + .../RollbackNodePoolUpgradeRequest.php | 20 + .../Google/Service/Container/ServerConfig.php | 67 + .../SetNodePoolManagementRequest.php | 31 + .../Container/UpdateClusterRequest.php | 31 + .../src/Google/Service/Coordinate.php | 467 ++ .../Google/Service/Coordinate/CustomField.php | 48 + .../Service/Coordinate/CustomFieldDef.php | 86 + .../Coordinate/CustomFieldDefListResponse.php | 41 + .../Service/Coordinate/CustomFields.php | 41 + .../Google/Service/Coordinate/EnumItemDef.php | 48 + .../src/Google/Service/Coordinate/Job.php | 60 + .../Google/Service/Coordinate/JobChange.php | 49 + .../Service/Coordinate/JobListResponse.php | 50 + .../Google/Service/Coordinate/JobState.php | 105 + .../Google/Service/Coordinate/Location.php | 58 + .../Coordinate/LocationListResponse.php | 60 + .../Service/Coordinate/LocationRecord.php | 66 + .../Coordinate/Resource/CustomFieldDef.php | 42 + .../Service/Coordinate/Resource/Jobs.php | 159 + .../Service/Coordinate/Resource/Location.php | 47 + .../Service/Coordinate/Resource/Schedule.php | 85 + .../Service/Coordinate/Resource/Team.php | 47 + .../Service/Coordinate/Resource/Worker.php | 41 + .../Google/Service/Coordinate/Schedule.php | 66 + .../src/Google/Service/Coordinate/Team.php | 48 + .../Service/Coordinate/TeamListResponse.php | 41 + .../Service/Coordinate/TokenPagination.php | 48 + .../src/Google/Service/Coordinate/Worker.php | 39 + .../Service/Coordinate/WorkerListResponse.php | 41 + .../src/Google/Service/Customsearch.php | 195 + .../Google/Service/Customsearch/Context.php | 41 + .../Service/Customsearch/ContextFacets.php | 51 + .../Google/Service/Customsearch/Promotion.php | 78 + .../Customsearch/PromotionBodyLines.php | 57 + .../Service/Customsearch/PromotionImage.php | 48 + .../src/Google/Service/Customsearch/Query.php | 354 + .../Service/Customsearch/Resource/Cse.php | 94 + .../Google/Service/Customsearch/Result.php | 159 + .../Service/Customsearch/ResultImage.php | 84 + .../Service/Customsearch/ResultLabels.php | 51 + .../Google/Service/Customsearch/Search.php | 101 + .../Customsearch/SearchSearchInformation.php | 57 + .../Service/Customsearch/SearchSpelling.php | 39 + .../Google/Service/Customsearch/SearchUrl.php | 39 + .../src/Google/Service/DataTransfer.php | 147 + .../Service/DataTransfer/Application.php | 68 + .../DataTransfer/ApplicationDataTransfer.php | 50 + .../DataTransfer/ApplicationTransferParam.php | 40 + .../DataTransfer/ApplicationsListResponse.php | 59 + .../Service/DataTransfer/DataTransfer.php | 95 + .../DataTransfersListResponse.php | 59 + .../DataTransfer/Resource/Applications.php | 60 + .../DataTransfer/Resource/Transfers.php | 76 + .../src/Google/Service/Dataflow.php | 628 ++ .../Service/Dataflow/ApproximateProgress.php | 49 + .../Dataflow/ApproximateReportedProgress.php | 60 + .../Dataflow/ApproximateSplitRequest.php | 40 + .../Service/Dataflow/AutoscalingSettings.php | 39 + .../src/Google/Service/Dataflow/CPUTime.php | 48 + .../Service/Dataflow/ComponentSource.php | 48 + .../Service/Dataflow/ComponentTransform.php | 48 + .../Service/Dataflow/ComputationTopology.php | 89 + .../Service/Dataflow/ConcatPosition.php | 40 + .../Service/Dataflow/CounterMetadata.php | 57 + .../Dataflow/CounterStructuredName.php | 93 + .../CounterStructuredNameAndMetadata.php | 41 + .../Google/Service/Dataflow/CounterUpdate.php | 156 + .../Dataflow/CreateJobFromTemplateRequest.php | 58 + .../Service/Dataflow/CustomSourceLocation.php | 30 + .../Service/Dataflow/DataDiskAssignment.php | 40 + .../Google/Service/Dataflow/DerivedSource.php | 40 + .../src/Google/Service/Dataflow/Disk.php | 48 + .../Google/Service/Dataflow/DisplayData.php | 129 + .../Service/Dataflow/DistributionUpdate.php | 70 + .../Service/Dataflow/DynamicSourceSplit.php | 41 + .../Google/Service/Dataflow/Environment.php | 113 + .../Dataflow/ExecutionStageSummary.php | 89 + .../Service/Dataflow/FailedLocation.php | 30 + .../Service/Dataflow/FlattenInstruction.php | 32 + .../Service/Dataflow/FloatingPointList.php | 31 + .../Service/Dataflow/FloatingPointMean.php | 40 + .../Dataflow/GetDebugConfigRequest.php | 39 + .../Dataflow/GetDebugConfigResponse.php | 30 + .../Service/Dataflow/GetTemplateResponse.php | 41 + .../Service/Dataflow/InstructionInput.php | 39 + .../Service/Dataflow/InstructionOutput.php | 75 + .../Google/Service/Dataflow/IntegerList.php | 32 + .../Google/Service/Dataflow/IntegerMean.php | 41 + .../src/Google/Service/Dataflow/Job.php | 197 + .../Service/Dataflow/JobExecutionInfo.php | 31 + .../Dataflow/JobExecutionStageInfo.php | 31 + .../Google/Service/Dataflow/JobMessage.php | 57 + .../Google/Service/Dataflow/JobMetrics.php | 41 + .../Dataflow/KeyRangeDataDiskAssignment.php | 48 + .../Service/Dataflow/KeyRangeLocation.php | 66 + .../Dataflow/LaunchTemplateParameters.php | 49 + .../Dataflow/LaunchTemplateResponse.php | 41 + .../Service/Dataflow/LeaseWorkItemRequest.php | 76 + .../Dataflow/LeaseWorkItemResponse.php | 32 + .../Dataflow/ListJobMessagesResponse.php | 41 + .../Service/Dataflow/ListJobsResponse.php | 51 + .../src/Google/Service/Dataflow/MapTask.php | 50 + .../Google/Service/Dataflow/MetricShortId.php | 39 + .../Service/Dataflow/MetricStructuredName.php | 48 + .../Google/Service/Dataflow/MetricUpdate.php | 103 + .../Service/Dataflow/MountedDataDisk.php | 30 + .../Service/Dataflow/MultiOutputInfo.php | 30 + .../Google/Service/Dataflow/NameAndKind.php | 39 + .../src/Google/Service/Dataflow/Package.php | 39 + .../Service/Dataflow/ParDoInstruction.php | 70 + .../Service/Dataflow/ParallelInstruction.php | 109 + .../Service/Dataflow/ParameterMetadata.php | 67 + .../Dataflow/PartialGroupByKeyInstruction.php | 78 + .../Service/Dataflow/PipelineDescription.php | 52 + .../src/Google/Service/Dataflow/Position.php | 76 + .../Service/Dataflow/PubsubLocation.php | 84 + .../Service/Dataflow/ReadInstruction.php | 31 + .../Dataflow/ReportWorkItemStatusRequest.php | 59 + .../Dataflow/ReportWorkItemStatusResponse.php | 32 + .../Service/Dataflow/ReportedParallelism.php | 39 + .../Service/Dataflow/Resource/Projects.php | 42 + .../Dataflow/Resource/ProjectsJobs.php | 127 + .../Dataflow/Resource/ProjectsJobsDebug.php | 59 + .../Resource/ProjectsJobsMessages.php | 58 + .../Resource/ProjectsJobsWorkItems.php | 59 + .../Dataflow/Resource/ProjectsLocations.php | 28 + .../Resource/ProjectsLocationsJobs.php | 126 + .../ProjectsLocationsJobsMessages.php | 58 + .../ProjectsLocationsJobsWorkItems.php | 61 + .../Dataflow/Resource/ProjectsTemplates.php | 84 + .../Dataflow/ResourceUtilizationReport.php | 32 + .../ResourceUtilizationReportResponse.php | 20 + .../Service/Dataflow/RuntimeEnvironment.php | 66 + .../Dataflow/SendDebugCaptureRequest.php | 48 + .../Dataflow/SendDebugCaptureResponse.php | 20 + .../Dataflow/SendWorkerMessagesRequest.php | 32 + .../Dataflow/SendWorkerMessagesResponse.php | 32 + .../Google/Service/Dataflow/SeqMapTask.php | 78 + .../Service/Dataflow/SeqMapTaskOutputInfo.php | 40 + .../src/Google/Service/Dataflow/ShellTask.php | 39 + .../Google/Service/Dataflow/SideInputInfo.php | 50 + .../src/Google/Service/Dataflow/Sink.php | 39 + .../src/Google/Service/Dataflow/Source.php | 68 + .../Google/Service/Dataflow/SourceFork.php | 61 + .../Dataflow/SourceGetMetadataRequest.php | 31 + .../Dataflow/SourceGetMetadataResponse.php | 31 + .../Service/Dataflow/SourceMetadata.php | 48 + .../Dataflow/SourceOperationRequest.php | 41 + .../Dataflow/SourceOperationResponse.php | 41 + .../Service/Dataflow/SourceSplitOptions.php | 39 + .../Service/Dataflow/SourceSplitRequest.php | 41 + .../Service/Dataflow/SourceSplitResponse.php | 51 + .../Service/Dataflow/SourceSplitShard.php | 40 + .../Google/Service/Dataflow/SplitInt64.php | 39 + .../Google/Service/Dataflow/StageSource.php | 57 + .../Service/Dataflow/StateFamilyConfig.php | 39 + .../src/Google/Service/Dataflow/Status.php | 49 + .../src/Google/Service/Dataflow/Step.php | 48 + .../Service/Dataflow/StreamLocation.php | 61 + .../Dataflow/StreamingComputationConfig.php | 59 + .../Dataflow/StreamingComputationRanges.php | 41 + .../Dataflow/StreamingComputationTask.php | 51 + .../Service/Dataflow/StreamingConfigTask.php | 41 + .../Service/Dataflow/StreamingSetupTask.php | 58 + .../Dataflow/StreamingSideInputLocation.php | 39 + .../Dataflow/StreamingStageLocation.php | 30 + .../Google/Service/Dataflow/StringList.php | 31 + .../Service/Dataflow/TaskRunnerSettings.php | 194 + .../Service/Dataflow/TemplateMetadata.php | 59 + .../Service/Dataflow/TopologyConfig.php | 69 + .../Service/Dataflow/TransformSummary.php | 77 + .../src/Google/Service/Dataflow/WorkItem.php | 165 + .../Service/Dataflow/WorkItemServiceState.php | 98 + .../Service/Dataflow/WorkItemStatus.php | 148 + .../Service/Dataflow/WorkerHealthReport.php | 58 + .../Dataflow/WorkerHealthReportResponse.php | 30 + .../Google/Service/Dataflow/WorkerMessage.php | 69 + .../Service/Dataflow/WorkerMessageCode.php | 39 + .../Dataflow/WorkerMessageResponse.php | 41 + .../Google/Service/Dataflow/WorkerPool.php | 215 + .../Service/Dataflow/WorkerSettings.php | 75 + .../Service/Dataflow/WriteInstruction.php | 41 + .../src/Google/Service/Dataproc.php | 397 + .../Service/Dataproc/AcceleratorConfig.php | 39 + .../Service/Dataproc/CancelJobRequest.php | 20 + .../src/Google/Service/Dataproc/Cluster.php | 98 + .../Google/Service/Dataproc/ClusterConfig.php | 91 + .../Service/Dataproc/ClusterMetrics.php | 39 + .../Dataproc/ClusterOperationMetadata.php | 96 + .../Dataproc/ClusterOperationStatus.php | 57 + .../Google/Service/Dataproc/ClusterStatus.php | 48 + .../Google/Service/Dataproc/DataprocEmpty.php | 20 + .../DiagnoseClusterOutputLocation.php | 30 + .../Dataproc/DiagnoseClusterRequest.php | 20 + .../Dataproc/DiagnoseClusterResults.php | 30 + .../Google/Service/Dataproc/DiskConfig.php | 39 + .../Service/Dataproc/GceClusterConfig.php | 94 + .../src/Google/Service/Dataproc/HadoopJob.php | 95 + .../src/Google/Service/Dataproc/HiveJob.php | 77 + .../Service/Dataproc/InstanceGroupConfig.php | 97 + .../src/Google/Service/Dataproc/Job.php | 169 + .../Google/Service/Dataproc/JobPlacement.php | 39 + .../Google/Service/Dataproc/JobReference.php | 39 + .../Google/Service/Dataproc/JobScheduling.php | 30 + .../src/Google/Service/Dataproc/JobStatus.php | 48 + .../Service/Dataproc/ListClustersResponse.php | 41 + .../Service/Dataproc/ListJobsResponse.php | 41 + .../Dataproc/ListOperationsResponse.php | 41 + .../Google/Service/Dataproc/LoggingConfig.php | 30 + .../Service/Dataproc/ManagedGroupConfig.php | 39 + .../Dataproc/NodeInitializationAction.php | 39 + .../src/Google/Service/Dataproc/Operation.php | 67 + .../Service/Dataproc/OperationMetadata.php | 141 + .../Service/Dataproc/OperationStatus.php | 57 + .../src/Google/Service/Dataproc/PigJob.php | 87 + .../Google/Service/Dataproc/PySparkJob.php | 95 + .../src/Google/Service/Dataproc/QueryList.php | 31 + .../Service/Dataproc/Resource/Projects.php | 28 + .../Dataproc/Resource/ProjectsRegions.php | 28 + .../Resource/ProjectsRegionsClusters.php | 162 + .../Dataproc/Resource/ProjectsRegionsJobs.php | 156 + .../Resource/ProjectsRegionsOperations.php | 101 + .../Service/Dataproc/SoftwareConfig.php | 39 + .../src/Google/Service/Dataproc/SparkJob.php | 95 + .../Google/Service/Dataproc/SparkSqlJob.php | 78 + .../src/Google/Service/Dataproc/Status.php | 49 + .../Service/Dataproc/SubmitJobRequest.php | 31 + .../Service/Dataproc/YarnApplication.php | 57 + .../src/Google/Service/Datastore.php | 127 + .../Service/Datastore/AllocateIdsRequest.php | 32 + .../Service/Datastore/AllocateIdsResponse.php | 32 + .../Google/Service/Datastore/ArrayValue.php | 32 + .../Datastore/BeginTransactionRequest.php | 20 + .../Datastore/BeginTransactionResponse.php | 30 + .../Service/Datastore/CommitRequest.php | 50 + .../Service/Datastore/CommitResponse.php | 41 + .../Service/Datastore/CompositeFilter.php | 41 + .../src/Google/Service/Datastore/Entity.php | 41 + .../Google/Service/Datastore/EntityResult.php | 49 + .../src/Google/Service/Datastore/Filter.php | 41 + .../src/Google/Service/Datastore/GqlQuery.php | 60 + .../Service/Datastore/GqlQueryParameter.php | 40 + .../src/Google/Service/Datastore/Key.php | 42 + .../Service/Datastore/KindExpression.php | 30 + .../src/Google/Service/Datastore/LatLng.php | 39 + .../Service/Datastore/LookupRequest.php | 42 + .../Service/Datastore/LookupResponse.php | 52 + .../src/Google/Service/Datastore/Mutation.php | 70 + .../Service/Datastore/MutationResult.php | 49 + .../Google/Service/Datastore/PartitionId.php | 39 + .../Google/Service/Datastore/PathElement.php | 48 + .../Google/Service/Datastore/Projection.php | 31 + .../Service/Datastore/PropertyFilter.php | 50 + .../Service/Datastore/PropertyOrder.php | 40 + .../Service/Datastore/PropertyReference.php | 30 + .../src/Google/Service/Datastore/Query.php | 108 + .../Service/Datastore/QueryResultBatch.php | 86 + .../Google/Service/Datastore/ReadOptions.php | 39 + .../Service/Datastore/Resource/Projects.php | 120 + .../Service/Datastore/RollbackRequest.php | 30 + .../Service/Datastore/RollbackResponse.php | 20 + .../Service/Datastore/RunQueryRequest.php | 61 + .../Service/Datastore/RunQueryResponse.php | 41 + .../src/Google/Service/Datastore/Value.php | 142 + .../src/Google/Service/DeploymentManager.php | 488 ++ .../Service/DeploymentManager/AuditConfig.php | 50 + .../DeploymentManager/AuditLogConfig.php | 40 + .../Service/DeploymentManager/Binding.php | 40 + .../Service/DeploymentManager/Condition.php | 76 + .../Service/DeploymentManager/ConfigFile.php | 30 + .../Service/DeploymentManager/Deployment.php | 125 + .../DeploymentLabelEntry.php | 39 + .../DeploymentManager/DeploymentUpdate.php | 50 + .../DeploymentUpdateLabelEntry.php | 39 + .../DeploymentmanagerResource.php | 133 + .../DeploymentmanagerResourceWarnings.php | 50 + .../DeploymentmanagerResourceWarningsData.php | 39 + .../DeploymentsCancelPreviewRequest.php | 30 + .../DeploymentsListResponse.php | 41 + .../DeploymentsStopRequest.php | 30 + .../Service/DeploymentManager/ImportFile.php | 39 + .../Service/DeploymentManager/LogConfig.php | 31 + .../LogConfigCounterOptions.php | 39 + .../Service/DeploymentManager/Manifest.php | 96 + .../ManifestsListResponse.php | 41 + .../Service/DeploymentManager/Operation.php | 231 + .../DeploymentManager/OperationError.php | 32 + .../OperationErrorErrors.php | 48 + .../DeploymentManager/OperationWarnings.php | 50 + .../OperationWarningsData.php | 39 + .../OperationsListResponse.php | 41 + .../Service/DeploymentManager/Policy.php | 79 + .../Resource/Deployments.php | 279 + .../DeploymentManager/Resource/Manifests.php | 100 + .../DeploymentManager/Resource/Operations.php | 98 + .../DeploymentManager/Resource/Resources.php | 100 + .../DeploymentManager/Resource/Types.php | 84 + .../ResourceAccessControl.php | 30 + .../DeploymentManager/ResourceUpdate.php | 97 + .../DeploymentManager/ResourceUpdateError.php | 32 + .../ResourceUpdateErrorErrors.php | 48 + .../ResourceUpdateWarnings.php | 50 + .../ResourceUpdateWarningsData.php | 39 + .../ResourcesListResponse.php | 41 + .../Google/Service/DeploymentManager/Rule.php | 87 + .../DeploymentManager/TargetConfiguration.php | 42 + .../TestPermissionsRequest.php | 31 + .../TestPermissionsResponse.php | 31 + .../Google/Service/DeploymentManager/Type.php | 67 + .../DeploymentManager/TypesListResponse.php | 41 + .../src/Google/Service/Dfareporting.php | 4816 +++++++++++ .../Google/Service/Dfareporting/Account.php | 194 + .../Dfareporting/AccountActiveAdSummary.php | 66 + .../Dfareporting/AccountPermission.php | 76 + .../Dfareporting/AccountPermissionGroup.php | 48 + .../AccountPermissionGroupsListResponse.php | 41 + .../AccountPermissionsListResponse.php | 41 + .../Dfareporting/AccountUserProfile.php | 169 + .../AccountUserProfilesListResponse.php | 50 + .../Dfareporting/AccountsListResponse.php | 50 + .../Service/Dfareporting/Activities.php | 50 + .../src/Google/Service/Dfareporting/Ad.php | 393 + .../Google/Service/Dfareporting/AdSlot.php | 93 + .../Service/Dfareporting/AdsListResponse.php | 50 + .../Service/Dfareporting/Advertiser.php | 158 + .../Service/Dfareporting/AdvertiserGroup.php | 57 + .../AdvertiserGroupsListResponse.php | 50 + .../Dfareporting/AdvertisersListResponse.php | 50 + .../Service/Dfareporting/AudienceSegment.php | 48 + .../Dfareporting/AudienceSegmentGroup.php | 50 + .../Google/Service/Dfareporting/Browser.php | 75 + .../Dfareporting/BrowsersListResponse.php | 41 + .../Google/Service/Dfareporting/Campaign.php | 276 + .../CampaignCreativeAssociation.php | 39 + ...mpaignCreativeAssociationsListResponse.php | 50 + .../Dfareporting/CampaignsListResponse.php | 50 + .../Google/Service/Dfareporting/ChangeLog.php | 147 + .../Dfareporting/ChangeLogsListResponse.php | 50 + .../Dfareporting/CitiesListResponse.php | 41 + .../src/Google/Service/Dfareporting/City.php | 102 + .../Google/Service/Dfareporting/ClickTag.php | 48 + .../Service/Dfareporting/ClickThroughUrl.php | 57 + .../ClickThroughUrlSuffixProperties.php | 39 + .../CompanionClickThroughOverride.php | 40 + .../Service/Dfareporting/CompanionSetting.php | 59 + .../Service/Dfareporting/CompatibleFields.php | 80 + .../Service/Dfareporting/ConnectionType.php | 48 + .../ConnectionTypesListResponse.php | 41 + .../ContentCategoriesListResponse.php | 50 + .../Service/Dfareporting/ContentCategory.php | 57 + .../Service/Dfareporting/Conversion.php | 140 + .../Service/Dfareporting/ConversionError.php | 48 + .../Service/Dfareporting/ConversionStatus.php | 51 + .../ConversionsBatchInsertRequest.php | 51 + .../ConversionsBatchInsertResponse.php | 50 + .../Dfareporting/CountriesListResponse.php | 41 + .../Google/Service/Dfareporting/Country.php | 66 + .../Google/Service/Dfareporting/Creative.php | 599 ++ .../Service/Dfareporting/CreativeAsset.php | 426 + .../Service/Dfareporting/CreativeAssetId.php | 39 + .../Dfareporting/CreativeAssetMetadata.php | 88 + .../Dfareporting/CreativeAssetSelection.php | 41 + .../Dfareporting/CreativeAssignment.php | 144 + .../Dfareporting/CreativeCustomEvent.php | 112 + .../Service/Dfareporting/CreativeField.php | 85 + .../Dfareporting/CreativeFieldAssignment.php | 39 + .../Dfareporting/CreativeFieldValue.php | 48 + .../CreativeFieldValuesListResponse.php | 50 + .../CreativeFieldsListResponse.php | 50 + .../Service/Dfareporting/CreativeGroup.php | 94 + .../Dfareporting/CreativeGroupAssignment.php | 39 + .../CreativeGroupsListResponse.php | 50 + .../CreativeOptimizationConfiguration.php | 59 + .../Service/Dfareporting/CreativeRotation.php | 59 + .../Service/Dfareporting/CreativeSettings.php | 39 + .../Dfareporting/CreativesListResponse.php | 50 + ...ssDimensionReachReportCompatibleFields.php | 71 + .../Dfareporting/CustomFloodlightVariable.php | 48 + .../Dfareporting/CustomRichMediaEvents.php | 41 + .../Google/Service/Dfareporting/DateRange.php | 57 + .../Service/Dfareporting/DayPartTargeting.php | 49 + .../DefaultClickThroughEventTagProperties.php | 39 + .../Service/Dfareporting/DeliverySchedule.php | 58 + .../Service/Dfareporting/DfareportingFile.php | 113 + .../Dfareporting/DfareportingFileUrls.php | 39 + .../Service/Dfareporting/DfpSettings.php | 70 + .../Google/Service/Dfareporting/Dimension.php | 39 + .../Service/Dfareporting/DimensionFilter.php | 48 + .../Service/Dfareporting/DimensionValue.php | 75 + .../Dfareporting/DimensionValueList.php | 59 + .../Dfareporting/DimensionValueRequest.php | 68 + .../Service/Dfareporting/DirectorySite.php | 151 + .../Dfareporting/DirectorySiteContact.php | 111 + .../DirectorySiteContactAssignment.php | 39 + .../DirectorySiteContactsListResponse.php | 50 + .../Dfareporting/DirectorySiteSettings.php | 89 + .../DirectorySitesListResponse.php | 50 + .../Dfareporting/DynamicTargetingKey.php | 57 + .../DynamicTargetingKeysListResponse.php | 41 + .../Service/Dfareporting/EncryptionInfo.php | 57 + .../Google/Service/Dfareporting/EventTag.php | 186 + .../Service/Dfareporting/EventTagOverride.php | 39 + .../Dfareporting/EventTagsListResponse.php | 41 + .../Google/Service/Dfareporting/FileList.php | 59 + .../Google/Service/Dfareporting/Flight.php | 57 + ...loodlightActivitiesGenerateTagResponse.php | 39 + .../FloodlightActivitiesListResponse.php | 50 + .../Dfareporting/FloodlightActivity.php | 279 + .../FloodlightActivityDynamicTag.php | 48 + .../Dfareporting/FloodlightActivityGroup.php | 132 + .../FloodlightActivityGroupsListResponse.php | 50 + .../FloodlightActivityPublisherDynamicTag.php | 77 + .../Dfareporting/FloodlightConfiguration.php | 191 + .../FloodlightConfigurationsListResponse.php | 41 + .../FloodlightReportCompatibleFields.php | 61 + .../Service/Dfareporting/FrequencyCap.php | 39 + .../Google/Service/Dfareporting/FsCommand.php | 66 + .../Service/Dfareporting/GeoTargeting.php | 81 + .../Service/Dfareporting/InventoryItem.php | 205 + .../InventoryItemsListResponse.php | 50 + .../KeyValueTargetingExpression.php | 30 + .../Service/Dfareporting/LandingPage.php | 66 + .../Dfareporting/LandingPagesListResponse.php | 41 + .../Google/Service/Dfareporting/Language.php | 57 + .../Dfareporting/LanguageTargeting.php | 32 + .../Dfareporting/LanguagesListResponse.php | 41 + .../Service/Dfareporting/LastModifiedInfo.php | 30 + .../Dfareporting/ListPopulationClause.php | 32 + .../Dfareporting/ListPopulationRule.php | 50 + .../Dfareporting/ListPopulationTerm.php | 93 + .../Dfareporting/ListTargetingExpression.php | 30 + .../Dfareporting/LookbackConfiguration.php | 39 + .../Google/Service/Dfareporting/Metric.php | 39 + .../src/Google/Service/Dfareporting/Metro.php | 84 + .../Dfareporting/MetrosListResponse.php | 41 + .../Service/Dfareporting/MobileCarrier.php | 66 + .../MobileCarriersListResponse.php | 41 + .../Service/Dfareporting/ObjectFilter.php | 49 + .../Service/Dfareporting/OffsetPosition.php | 39 + .../Service/Dfareporting/OmnitureSettings.php | 39 + .../Service/Dfareporting/OperatingSystem.php | 66 + .../Dfareporting/OperatingSystemVersion.php | 76 + .../OperatingSystemVersionsListResponse.php | 41 + .../OperatingSystemsListResponse.php | 41 + .../Dfareporting/OptimizationActivity.php | 49 + .../src/Google/Service/Dfareporting/Order.php | 204 + .../Service/Dfareporting/OrderContact.php | 66 + .../Service/Dfareporting/OrderDocument.php | 176 + .../OrderDocumentsListResponse.php | 50 + .../Dfareporting/OrdersListResponse.php | 50 + ...PathToConversionReportCompatibleFields.php | 71 + .../Google/Service/Dfareporting/Placement.php | 387 + .../Dfareporting/PlacementAssignment.php | 58 + .../Service/Dfareporting/PlacementGroup.php | 265 + .../PlacementGroupsListResponse.php | 50 + .../PlacementStrategiesListResponse.php | 50 + .../Dfareporting/PlacementStrategy.php | 57 + .../Service/Dfareporting/PlacementTag.php | 41 + .../PlacementsGenerateTagsResponse.php | 41 + .../Dfareporting/PlacementsListResponse.php | 50 + .../Service/Dfareporting/PlatformType.php | 48 + .../PlatformTypesListResponse.php | 41 + .../Dfareporting/PopupWindowProperties.php | 104 + .../Service/Dfareporting/PostalCode.php | 66 + .../Dfareporting/PostalCodesListResponse.php | 41 + .../Google/Service/Dfareporting/Pricing.php | 77 + .../Service/Dfareporting/PricingSchedule.php | 104 + .../PricingSchedulePricingPeriod.php | 66 + .../Google/Service/Dfareporting/Project.php | 220 + .../Dfareporting/ProjectsListResponse.php | 50 + .../ReachReportCompatibleFields.php | 81 + .../Google/Service/Dfareporting/Recipient.php | 48 + .../Google/Service/Dfareporting/Region.php | 75 + .../Dfareporting/RegionsListResponse.php | 41 + .../Service/Dfareporting/RemarketingList.php | 140 + .../Dfareporting/RemarketingListShare.php | 58 + .../RemarketingListsListResponse.php | 50 + .../Google/Service/Dfareporting/Report.php | 190 + .../Dfareporting/ReportCompatibleFields.php | 71 + .../Service/Dfareporting/ReportCriteria.php | 81 + .../ReportCrossDimensionReachCriteria.php | 88 + .../Service/Dfareporting/ReportDelivery.php | 59 + .../Dfareporting/ReportFloodlightCriteria.php | 91 + ...portFloodlightCriteriaReportProperties.php | 48 + .../Service/Dfareporting/ReportList.php | 59 + .../ReportPathToConversionCriteria.php | 111 + ...thToConversionCriteriaReportProperties.php | 102 + .../Dfareporting/ReportReachCriteria.php | 99 + .../Service/Dfareporting/ReportSchedule.php | 85 + .../Dfareporting/ReportsConfiguration.php | 49 + .../Resource/AccountActiveAdSummaries.php | 43 + .../Resource/AccountPermissionGroups.php | 56 + .../Resource/AccountPermissions.php | 56 + .../Resource/AccountUserProfiles.php | 119 + .../Dfareporting/Resource/Accounts.php | 101 + .../Service/Dfareporting/Resource/Ads.php | 143 + .../Resource/AdvertiserGroups.php | 127 + .../Dfareporting/Resource/Advertisers.php | 125 + .../Dfareporting/Resource/Browsers.php | 41 + .../Resource/CampaignCreativeAssociations.php | 66 + .../Dfareporting/Resource/Campaigns.php | 131 + .../Dfareporting/Resource/ChangeLogs.php | 81 + .../Service/Dfareporting/Resource/Cities.php | 47 + .../Dfareporting/Resource/ConnectionTypes.php | 55 + .../Resource/ContentCategories.php | 127 + .../Dfareporting/Resource/Conversions.php | 42 + .../Dfareporting/Resource/Countries.php | 55 + .../Dfareporting/Resource/CreativeAssets.php | 44 + .../Resource/CreativeFieldValues.php | 134 + .../Dfareporting/Resource/CreativeFields.php | 130 + .../Dfareporting/Resource/CreativeGroups.php | 119 + .../Dfareporting/Resource/Creatives.php | 130 + .../Dfareporting/Resource/DimensionValues.php | 47 + .../Resource/DirectorySiteContacts.php | 73 + .../Dfareporting/Resource/DirectorySites.php | 96 + .../Resource/DynamicTargetingKeys.php | 88 + .../Dfareporting/Resource/EventTags.php | 146 + .../Service/Dfareporting/Resource/Files.php | 63 + .../Resource/FloodlightActivities.php | 162 + .../Resource/FloodlightActivityGroups.php | 128 + .../Resource/FloodlightConfigurations.php | 90 + .../Dfareporting/Resource/InventoryItems.php | 71 + .../Dfareporting/Resource/LandingPages.php | 119 + .../Dfareporting/Resource/Languages.php | 41 + .../Service/Dfareporting/Resource/Metros.php | 41 + .../Dfareporting/Resource/MobileCarriers.php | 55 + .../Resource/OperatingSystemVersions.php | 56 + .../Resource/OperatingSystems.php | 56 + .../Dfareporting/Resource/OrderDocuments.php | 78 + .../Service/Dfareporting/Resource/Orders.php | 73 + .../Dfareporting/Resource/PlacementGroups.php | 148 + .../Resource/PlacementStrategies.php | 128 + .../Dfareporting/Resource/Placements.php | 172 + .../Dfareporting/Resource/PlatformTypes.php | 55 + .../Dfareporting/Resource/PostalCodes.php | 55 + .../Dfareporting/Resource/Projects.php | 71 + .../Service/Dfareporting/Resource/Regions.php | 41 + .../Resource/RemarketingListShares.php | 73 + .../Resource/RemarketingLists.php | 118 + .../Service/Dfareporting/Resource/Reports.php | 137 + .../Resource/ReportsCompatibleFields.php | 44 + .../Dfareporting/Resource/ReportsFiles.php | 63 + .../Service/Dfareporting/Resource/Sites.php | 126 + .../Service/Dfareporting/Resource/Sizes.php | 74 + .../Dfareporting/Resource/Subaccounts.php | 114 + .../Resource/TargetableRemarketingLists.php | 74 + .../Resource/TargetingTemplates.php | 116 + .../Dfareporting/Resource/UserProfiles.php | 53 + .../Resource/UserRolePermissionGroups.php | 56 + .../Resource/UserRolePermissions.php | 58 + .../Dfareporting/Resource/UserRoles.php | 131 + .../Dfareporting/Resource/VideoFormats.php | 55 + .../Dfareporting/RichMediaExitOverride.php | 49 + .../src/Google/Service/Dfareporting/Rule.php | 48 + .../src/Google/Service/Dfareporting/Site.php | 134 + .../Service/Dfareporting/SiteContact.php | 93 + .../Service/Dfareporting/SiteSettings.php | 96 + .../Dfareporting/SitesListResponse.php | 50 + .../src/Google/Service/Dfareporting/Size.php | 66 + .../Dfareporting/SizesListResponse.php | 41 + .../Service/Dfareporting/SkippableSetting.php | 59 + .../Service/Dfareporting/SortedDimension.php | 48 + .../Service/Dfareporting/Subaccount.php | 67 + .../Dfareporting/SubaccountsListResponse.php | 50 + .../Google/Service/Dfareporting/TagData.php | 66 + .../Service/Dfareporting/TagSetting.php | 57 + .../Service/Dfareporting/TagSettings.php | 39 + .../Service/Dfareporting/TargetWindow.php | 39 + .../TargetableRemarketingList.php | 130 + ...TargetableRemarketingListsListResponse.php | 50 + .../Dfareporting/TargetingTemplate.php | 145 + .../TargetingTemplatesListResponse.php | 50 + .../Dfareporting/TechnologyTargeting.php | 82 + .../ThirdPartyAuthenticationToken.php | 39 + .../Dfareporting/ThirdPartyTrackingUrl.php | 39 + .../Service/Dfareporting/TranscodeSetting.php | 40 + .../UserDefinedVariableConfiguration.php | 48 + .../Service/Dfareporting/UserProfile.php | 93 + .../Service/Dfareporting/UserProfileList.php | 50 + .../Google/Service/Dfareporting/UserRole.php | 95 + .../Dfareporting/UserRolePermission.php | 66 + .../Dfareporting/UserRolePermissionGroup.php | 48 + .../UserRolePermissionGroupsListResponse.php | 41 + .../UserRolePermissionsListResponse.php | 41 + .../Dfareporting/UserRolesListResponse.php | 50 + .../Service/Dfareporting/VideoFormat.php | 67 + .../Dfareporting/VideoFormatsListResponse.php | 41 + .../Service/Dfareporting/VideoOffset.php | 39 + .../Service/Dfareporting/VideoSettings.php | 60 + .../src/Google/Service/Directory.php | 1788 +++++ .../src/Google/Service/Directory/Alias.php | 66 + .../src/Google/Service/Directory/Aliases.php | 49 + .../src/Google/Service/Directory/Asp.php | 84 + .../src/Google/Service/Directory/Asps.php | 50 + .../Service/Directory/CalendarResource.php | 84 + .../Service/Directory/CalendarResources.php | 59 + .../src/Google/Service/Directory/Channel.php | 111 + .../Service/Directory/ChromeOsDevice.php | 249 + .../Directory/ChromeOsDeviceAction.php | 39 + .../ChromeOsDeviceActiveTimeRanges.php | 39 + .../Directory/ChromeOsDeviceRecentUsers.php | 39 + .../Service/Directory/ChromeOsDevices.php | 59 + .../src/Google/Service/Directory/Customer.php | 103 + .../Directory/CustomerPostalAddress.php | 102 + .../Google/Service/Directory/DomainAlias.php | 75 + .../Service/Directory/DomainAliases.php | 50 + .../src/Google/Service/Directory/Domains.php | 86 + .../src/Google/Service/Directory/Domains2.php | 50 + .../src/Google/Service/Directory/Group.php | 112 + .../src/Google/Service/Directory/Groups.php | 59 + .../src/Google/Service/Directory/Member.php | 84 + .../src/Google/Service/Directory/Members.php | 59 + .../Google/Service/Directory/MobileDevice.php | 383 + .../Service/Directory/MobileDeviceAction.php | 30 + .../Directory/MobileDeviceApplications.php | 67 + .../Service/Directory/MobileDevices.php | 59 + .../Google/Service/Directory/Notification.php | 93 + .../Service/Directory/Notifications.php | 68 + .../src/Google/Service/Directory/OrgUnit.php | 102 + .../src/Google/Service/Directory/OrgUnits.php | 50 + .../Google/Service/Directory/Privilege.php | 86 + .../Google/Service/Directory/Privileges.php | 50 + .../Service/Directory/Resource/Asps.php | 71 + .../Service/Directory/Resource/Channels.php | 40 + .../Directory/Resource/Chromeosdevices.php | 120 + .../Service/Directory/Resource/Customers.php | 69 + .../Directory/Resource/DomainAliases.php | 85 + .../Service/Directory/Resource/Domains.php | 82 + .../Service/Directory/Resource/Groups.php | 120 + .../Directory/Resource/GroupsAliases.php | 68 + .../Service/Directory/Resource/Members.php | 122 + .../Directory/Resource/Mobiledevices.php | 96 + .../Directory/Resource/Notifications.php | 108 + .../Service/Directory/Resource/Orgunits.php | 118 + .../Service/Directory/Resource/Privileges.php | 42 + .../Service/Directory/Resource/Resources.php | 28 + .../Directory/Resource/ResourcesCalendars.php | 133 + .../Directory/Resource/RoleAssignments.php | 91 + .../Service/Directory/Resource/Roles.php | 115 + .../Service/Directory/Resource/Schemas.php | 112 + .../Service/Directory/Resource/Tokens.php | 74 + .../Service/Directory/Resource/Users.php | 207 + .../Directory/Resource/UsersAliases.php | 88 + .../Directory/Resource/UsersPhotos.php | 82 + .../Directory/Resource/VerificationCodes.php | 69 + .../src/Google/Service/Directory/Role.php | 95 + .../Service/Directory/RoleAssignment.php | 84 + .../Service/Directory/RoleAssignments.php | 59 + .../Service/Directory/RoleRolePrivileges.php | 39 + .../src/Google/Service/Directory/Roles.php | 59 + .../src/Google/Service/Directory/Schema.php | 68 + .../Service/Directory/SchemaFieldSpec.php | 103 + .../SchemaFieldSpecNumericIndexingSpec.php | 39 + .../src/Google/Service/Directory/Schemas.php | 50 + .../src/Google/Service/Directory/Token.php | 94 + .../src/Google/Service/Directory/Tokens.php | 50 + .../src/Google/Service/Directory/User.php | 356 + .../Google/Service/Directory/UserAbout.php | 39 + .../Google/Service/Directory/UserAddress.php | 138 + .../Google/Service/Directory/UserEmail.php | 57 + .../Service/Directory/UserExternalId.php | 48 + .../src/Google/Service/Directory/UserIm.php | 75 + .../Service/Directory/UserMakeAdmin.php | 30 + .../src/Google/Service/Directory/UserName.php | 48 + .../Service/Directory/UserOrganization.php | 120 + .../Google/Service/Directory/UserPhone.php | 57 + .../Google/Service/Directory/UserPhoto.php | 93 + .../Google/Service/Directory/UserRelation.php | 48 + .../Google/Service/Directory/UserUndelete.php | 30 + .../Google/Service/Directory/UserWebsite.php | 57 + .../src/Google/Service/Directory/Users.php | 71 + .../Service/Directory/VerificationCode.php | 57 + .../Service/Directory/VerificationCodes.php | 50 + .../src/Google/Service/Dns.php | 274 + .../src/Google/Service/Dns/Change.php | 78 + .../Service/Dns/ChangesListResponse.php | 50 + .../src/Google/Service/Dns/ManagedZone.php | 94 + .../Service/Dns/ManagedZonesListResponse.php | 50 + .../src/Google/Service/Dns/Project.php | 58 + .../src/Google/Service/Dns/Quota.php | 84 + .../Google/Service/Dns/Resource/Changes.php | 86 + .../Service/Dns/Resource/ManagedZones.php | 93 + .../Google/Service/Dns/Resource/Projects.php | 41 + .../Dns/Resource/ResourceRecordSets.php | 54 + .../Google/Service/Dns/ResourceRecordSet.php | 67 + .../Dns/ResourceRecordSetsListResponse.php | 50 + .../Google/Service/DoubleClickBidManager.php | 155 + .../DownloadLineItemsRequest.php | 58 + .../DownloadLineItemsResponse.php | 30 + .../DoubleClickBidManager/DownloadRequest.php | 58 + .../DownloadResponse.php | 57 + .../DoubleClickBidManager/FilterPair.php | 39 + .../ListQueriesResponse.php | 41 + .../ListReportsResponse.php | 41 + .../Service/DoubleClickBidManager/Note.php | 66 + .../NotifyProposalChangeRequest.php | 68 + .../DoubleClickBidManager/Parameters.php | 68 + .../Service/DoubleClickBidManager/Query.php | 96 + .../DoubleClickBidManager/QueryMetadata.php | 121 + .../DoubleClickBidManager/QuerySchedule.php | 57 + .../Service/DoubleClickBidManager/Report.php | 51 + .../DoubleClickBidManager/ReportFailure.php | 30 + .../DoubleClickBidManager/ReportKey.php | 39 + .../DoubleClickBidManager/ReportMetadata.php | 58 + .../DoubleClickBidManager/ReportStatus.php | 58 + .../Resource/Lineitems.php | 54 + .../Resource/Queries.php | 92 + .../Resource/Reports.php | 41 + .../Resource/Rubicon.php | 41 + .../DoubleClickBidManager/Resource/Sdf.php | 41 + .../DoubleClickBidManager/RowStatus.php | 76 + .../DoubleClickBidManager/RunQueryRequest.php | 57 + .../UploadLineItemsRequest.php | 48 + .../UploadLineItemsResponse.php | 31 + .../DoubleClickBidManager/UploadStatus.php | 41 + .../src/Google/Service/Doubleclicksearch.php | 242 + .../Doubleclicksearch/Availability.php | 75 + .../Service/Doubleclicksearch/Conversion.php | 321 + .../Doubleclicksearch/ConversionList.php | 41 + .../Doubleclicksearch/CustomDimension.php | 39 + .../Doubleclicksearch/CustomMetric.php | 39 + .../Service/Doubleclicksearch/Report.php | 105 + .../Doubleclicksearch/ReportApiColumnSpec.php | 111 + .../Service/Doubleclicksearch/ReportFiles.php | 39 + .../Doubleclicksearch/ReportRequest.php | 153 + .../ReportRequestFilters.php | 50 + .../ReportRequestOrderBy.php | 40 + .../ReportRequestReportScope.php | 84 + .../ReportRequestTimeRange.php | 57 + .../Doubleclicksearch/Resource/Conversion.php | 121 + .../Doubleclicksearch/Resource/Reports.php | 80 + .../Resource/SavedColumns.php | 43 + .../Service/Doubleclicksearch/SavedColumn.php | 48 + .../Doubleclicksearch/SavedColumnList.php | 41 + .../UpdateAvailabilityRequest.php | 32 + .../UpdateAvailabilityResponse.php | 32 + .../src/Google/Service/Drive.php | 914 +++ .../src/Google/Service/Drive/About.php | 105 + .../Service/Drive/AboutStorageQuota.php | 57 + .../src/Google/Service/Drive/Change.php | 95 + .../src/Google/Service/Drive/ChangeList.php | 59 + .../src/Google/Service/Drive/Channel.php | 111 + .../src/Google/Service/Drive/Comment.php | 133 + .../src/Google/Service/Drive/CommentList.php | 50 + .../Drive/CommentQuotedFileContent.php | 39 + .../src/Google/Service/Drive/DriveFile.php | 490 ++ .../Service/Drive/DriveFileCapabilities.php | 165 + .../Service/Drive/DriveFileContentHints.php | 40 + .../Drive/DriveFileContentHintsThumbnail.php | 39 + .../Drive/DriveFileImageMediaMetadata.php | 211 + .../DriveFileImageMediaMetadataLocation.php | 48 + .../Drive/DriveFileVideoMediaMetadata.php | 48 + .../src/Google/Service/Drive/FileList.php | 59 + .../src/Google/Service/Drive/GeneratedIds.php | 49 + .../src/Google/Service/Drive/Permission.php | 122 + .../Google/Service/Drive/PermissionList.php | 50 + .../PermissionTeamDrivePermissionDetails.php | 57 + .../src/Google/Service/Drive/Reply.php | 103 + .../src/Google/Service/Drive/ReplyList.php | 50 + .../Google/Service/Drive/Resource/About.php | 41 + .../Google/Service/Drive/Resource/Changes.php | 121 + .../Service/Drive/Resource/Channels.php | 40 + .../Service/Drive/Resource/Comments.php | 109 + .../Google/Service/Drive/Resource/Files.php | 251 + .../Service/Drive/Resource/Permissions.php | 132 + .../Google/Service/Drive/Resource/Replies.php | 112 + .../Service/Drive/Resource/Revisions.php | 93 + .../Service/Drive/Resource/Teamdrives.php | 101 + .../src/Google/Service/Drive/Revision.php | 130 + .../src/Google/Service/Drive/RevisionList.php | 50 + .../Google/Service/Drive/StartPageToken.php | 39 + .../src/Google/Service/Drive/TeamDrive.php | 58 + .../Service/Drive/TeamDriveCapabilities.php | 138 + .../Google/Service/Drive/TeamDriveList.php | 50 + .../src/Google/Service/Drive/User.php | 75 + .../Google/Service/FirebaseDynamicLinks.php | 68 + .../FirebaseDynamicLinks/AnalyticsInfo.php | 41 + .../FirebaseDynamicLinks/AndroidInfo.php | 57 + .../CreateShortDynamicLinkRequest.php | 50 + .../CreateShortDynamicLinkResponse.php | 50 + .../FirebaseDynamicLinks/DynamicLinkInfo.php | 89 + .../DynamicLinkWarning.php | 39 + .../GooglePlayAnalytics.php | 75 + .../ITunesConnectAnalytics.php | 57 + .../Service/FirebaseDynamicLinks/IosInfo.php | 75 + .../FirebaseDynamicLinks/NavigationInfo.php | 30 + .../Resource/ShortLinks.php | 49 + .../SocialMetaTagInfo.php | 48 + .../Service/FirebaseDynamicLinks/Suffix.php | 30 + .../Service/FirebaseDynamicLinksAPI.php | 69 + .../FirebaseDynamicLinksAPI/AnalyticsInfo.php | 41 + .../FirebaseDynamicLinksAPI/AndroidInfo.php | 57 + .../CreateShortDynamicLinkRequest.php | 50 + .../CreateShortDynamicLinkResponse.php | 50 + .../DynamicLinkInfo.php | 88 + .../DynamicLinkWarning.php | 39 + .../GooglePlayAnalytics.php | 75 + .../ITunesConnectAnalytics.php | 57 + .../FirebaseDynamicLinksAPI/IosInfo.php | 75 + .../Resource/ShortDynamicLinks.php | 49 + .../SocialMetaTagInfo.php | 48 + .../FirebaseDynamicLinksAPI/Suffix.php | 30 + .../src/Google/Service/FirebaseRulesAPI.php | 212 + .../FirebaseRulesAPI/FirebaserulesEmpty.php | 20 + .../FirebaseRulesAPI/FirebaserulesFile.php | 48 + .../Google/Service/FirebaseRulesAPI/Issue.php | 49 + .../FirebaseRulesAPI/ListReleasesResponse.php | 41 + .../FirebaseRulesAPI/ListRulesetsResponse.php | 41 + .../Service/FirebaseRulesAPI/Release.php | 57 + .../FirebaseRulesAPI/Resource/Projects.php | 62 + .../Resource/ProjectsReleases.php | 186 + .../Resource/ProjectsRulesets.php | 108 + .../Service/FirebaseRulesAPI/Ruleset.php | 49 + .../Service/FirebaseRulesAPI/Source.php | 32 + .../FirebaseRulesAPI/SourcePosition.php | 48 + .../FirebaseRulesAPI/TestRulesetRequest.php | 31 + .../FirebaseRulesAPI/TestRulesetResponse.php | 32 + .../src/Google/Service/Fitness.php | 386 + .../Service/Fitness/AggregateBucket.php | 78 + .../Google/Service/Fitness/AggregateBy.php | 39 + .../Service/Fitness/AggregateRequest.php | 99 + .../Service/Fitness/AggregateResponse.php | 32 + .../Google/Service/Fitness/Application.php | 57 + .../Service/Fitness/BucketByActivity.php | 39 + .../Service/Fitness/BucketBySession.php | 30 + .../Google/Service/Fitness/BucketByTime.php | 40 + .../Service/Fitness/BucketByTimePeriod.php | 48 + .../src/Google/Service/Fitness/DataPoint.php | 95 + .../src/Google/Service/Fitness/DataSource.php | 97 + .../src/Google/Service/Fitness/DataType.php | 41 + .../Google/Service/Fitness/DataTypeField.php | 48 + .../src/Google/Service/Fitness/Dataset.php | 68 + .../src/Google/Service/Fitness/Device.php | 66 + .../Fitness/ListDataSourcesResponse.php | 32 + .../Service/Fitness/ListSessionsResponse.php | 60 + .../src/Google/Service/Fitness/MapValue.php | 30 + .../Google/Service/Fitness/Resource/Users.php | 28 + .../Fitness/Resource/UsersDataSources.php | 143 + .../Resource/UsersDataSourcesDatasets.php | 119 + .../Service/Fitness/Resource/UsersDataset.php | 46 + .../Fitness/Resource/UsersSessions.php | 89 + .../src/Google/Service/Fitness/Session.php | 103 + .../src/Google/Service/Fitness/Value.php | 59 + .../Service/Fitness/ValueMapValEntry.php | 40 + .../src/Google/Service/Freebase.php | 258 + .../Service/Freebase/ReconcileCandidate.php | 67 + .../Freebase/ReconcileCandidateNotable.php | 39 + .../Google/Service/Freebase/ReconcileGet.php | 62 + .../Service/Freebase/ReconcileGetCosts.php | 39 + .../Service/Freebase/ReconcileGetWarning.php | 48 + .../src/Google/Service/Fusiontables.php | 630 ++ .../Google/Service/Fusiontables/Bucket.php | 75 + .../Google/Service/Fusiontables/Column.php | 131 + .../Service/Fusiontables/ColumnBaseColumn.php | 39 + .../Service/Fusiontables/ColumnList.php | 59 + .../Google/Service/Fusiontables/Geometry.php | 49 + .../Google/Service/Fusiontables/Import.php | 39 + .../src/Google/Service/Fusiontables/Line.php | 40 + .../Google/Service/Fusiontables/LineStyle.php | 68 + .../src/Google/Service/Fusiontables/Point.php | 40 + .../Service/Fusiontables/PointStyle.php | 40 + .../Google/Service/Fusiontables/Polygon.php | 40 + .../Service/Fusiontables/PolygonStyle.php | 96 + .../Service/Fusiontables/Resource/Column.php | 121 + .../Service/Fusiontables/Resource/Query.php | 70 + .../Service/Fusiontables/Resource/Style.php | 118 + .../Service/Fusiontables/Resource/Table.php | 212 + .../Service/Fusiontables/Resource/Task.php | 75 + .../Fusiontables/Resource/Template.php | 119 + .../Service/Fusiontables/Sqlresponse.php | 49 + .../Service/Fusiontables/StyleFunction.php | 60 + .../Fusiontables/StyleFunctionGradient.php | 50 + .../StyleFunctionGradientColors.php | 39 + .../Service/Fusiontables/StyleSetting.php | 87 + .../Service/Fusiontables/StyleSettingList.php | 59 + .../src/Google/Service/Fusiontables/Table.php | 140 + .../Google/Service/Fusiontables/TableList.php | 50 + .../src/Google/Service/Fusiontables/Task.php | 66 + .../Google/Service/Fusiontables/TaskList.php | 59 + .../Google/Service/Fusiontables/Template.php | 76 + .../Service/Fusiontables/TemplateList.php | 59 + .../src/Google/Service/Games.php | 1278 +++ .../Service/Games/AchievementDefinition.php | 138 + .../AchievementDefinitionsListResponse.php | 50 + .../Games/AchievementIncrementResponse.php | 48 + .../Games/AchievementRevealResponse.php | 39 + .../AchievementSetStepsAtLeastResponse.php | 48 + .../Games/AchievementUnlockResponse.php | 39 + .../AchievementUpdateMultipleRequest.php | 41 + .../AchievementUpdateMultipleResponse.php | 41 + .../Games/AchievementUpdateRequest.php | 68 + .../Games/AchievementUpdateResponse.php | 75 + .../Google/Service/Games/AggregateStats.php | 66 + .../Google/Service/Games/AnonymousPlayer.php | 48 + .../src/Google/Service/Games/Application.php | 146 + .../Service/Games/ApplicationCategory.php | 48 + .../Games/ApplicationVerifyResponse.php | 52 + .../src/Google/Service/Games/Category.php | 48 + .../Service/Games/CategoryListResponse.php | 50 + .../Service/Games/EventBatchRecordFailure.php | 49 + .../src/Google/Service/Games/EventChild.php | 39 + .../Google/Service/Games/EventDefinition.php | 95 + .../Games/EventDefinitionListResponse.php | 50 + .../Google/Service/Games/EventPeriodRange.php | 48 + .../Service/Games/EventPeriodUpdate.php | 51 + .../Service/Games/EventRecordFailure.php | 48 + .../Service/Games/EventRecordRequest.php | 59 + .../Service/Games/EventUpdateRequest.php | 48 + .../Service/Games/EventUpdateResponse.php | 61 + .../Games/GamesAchievementIncrement.php | 48 + .../Games/GamesAchievementSetStepsAtLeast.php | 39 + .../src/Google/Service/Games/ImageAsset.php | 66 + .../src/Google/Service/Games/Instance.php | 105 + .../Service/Games/InstanceAndroidDetails.php | 57 + .../Service/Games/InstanceIosDetails.php | 84 + .../Service/Games/InstanceWebDetails.php | 48 + .../src/Google/Service/Games/Leaderboard.php | 75 + .../Google/Service/Games/LeaderboardEntry.php | 103 + .../Service/Games/LeaderboardListResponse.php | 50 + .../Service/Games/LeaderboardScoreRank.php | 66 + .../Service/Games/LeaderboardScores.php | 78 + .../Google/Service/Games/MetagameConfig.php | 50 + .../Service/Games/NetworkDiagnostics.php | 84 + .../Service/Games/ParticipantResult.php | 57 + .../Service/Games/PeerChannelDiagnostics.php | 96 + .../Service/Games/PeerSessionDiagnostics.php | 68 + .../src/Google/Service/Games/Played.php | 48 + .../src/Google/Service/Games/Player.php | 133 + .../Service/Games/PlayerAchievement.php | 84 + .../Games/PlayerAchievementListResponse.php | 50 + .../src/Google/Service/Games/PlayerEvent.php | 66 + .../Service/Games/PlayerEventListResponse.php | 50 + .../Service/Games/PlayerExperienceInfo.php | 68 + .../Service/Games/PlayerLeaderboardScore.php | 107 + .../PlayerLeaderboardScoreListResponse.php | 60 + .../src/Google/Service/Games/PlayerLevel.php | 57 + .../Service/Games/PlayerListResponse.php | 50 + .../src/Google/Service/Games/PlayerName.php | 39 + .../src/Google/Service/Games/PlayerScore.php | 66 + .../Service/Games/PlayerScoreListResponse.php | 41 + .../Service/Games/PlayerScoreResponse.php | 77 + .../Games/PlayerScoreSubmissionList.php | 41 + .../Google/Service/Games/ProfileSettings.php | 39 + .../src/Google/Service/Games/PushToken.php | 58 + .../src/Google/Service/Games/PushTokenId.php | 40 + .../Google/Service/Games/PushTokenIdIos.php | 43 + .../src/Google/Service/Games/Quest.php | 167 + .../Service/Games/QuestContribution.php | 48 + .../Google/Service/Games/QuestCriterion.php | 69 + .../Service/Games/QuestListResponse.php | 50 + .../Google/Service/Games/QuestMilestone.php | 68 + .../Games/Resource/AchievementDefinitions.php | 49 + .../Service/Games/Resource/Achievements.php | 141 + .../Service/Games/Resource/Applications.php | 82 + .../Google/Service/Games/Resource/Events.php | 88 + .../Service/Games/Resource/Leaderboards.php | 67 + .../Service/Games/Resource/Metagame.php | 68 + .../Google/Service/Games/Resource/Players.php | 69 + .../Service/Games/Resource/Pushtokens.php | 58 + .../Games/Resource/QuestMilestones.php | 48 + .../Google/Service/Games/Resource/Quests.php | 70 + .../Service/Games/Resource/Revisions.php | 47 + .../Google/Service/Games/Resource/Rooms.php | 174 + .../Google/Service/Games/Resource/Scores.php | 158 + .../Service/Games/Resource/Snapshots.php | 68 + .../Games/Resource/TurnBasedMatches.php | 289 + .../Service/Games/RevisionCheckResponse.php | 48 + .../src/Google/Service/Games/Room.php | 144 + .../Service/Games/RoomAutoMatchStatus.php | 39 + .../Games/RoomAutoMatchingCriteria.php | 57 + .../Service/Games/RoomClientAddress.php | 39 + .../Service/Games/RoomCreateRequest.php | 97 + .../Google/Service/Games/RoomJoinRequest.php | 60 + .../Service/Games/RoomLeaveDiagnostics.php | 95 + .../Google/Service/Games/RoomLeaveRequest.php | 49 + .../src/Google/Service/Games/RoomList.php | 50 + .../Google/Service/Games/RoomModification.php | 48 + .../Google/Service/Games/RoomP2PStatus.php | 87 + .../Google/Service/Games/RoomP2PStatuses.php | 41 + .../Google/Service/Games/RoomParticipant.php | 115 + .../src/Google/Service/Games/RoomStatus.php | 78 + .../Google/Service/Games/ScoreSubmission.php | 66 + .../src/Google/Service/Games/Snapshot.php | 121 + .../Google/Service/Games/SnapshotImage.php | 69 + .../Service/Games/SnapshotListResponse.php | 50 + .../Games/TurnBasedAutoMatchingCriteria.php | 57 + .../Google/Service/Games/TurnBasedMatch.php | 209 + .../Games/TurnBasedMatchCreateRequest.php | 68 + .../Service/Games/TurnBasedMatchData.php | 48 + .../Games/TurnBasedMatchDataRequest.php | 39 + .../Service/Games/TurnBasedMatchList.php | 50 + .../Games/TurnBasedMatchModification.php | 48 + .../Games/TurnBasedMatchParticipant.php | 77 + .../Service/Games/TurnBasedMatchRematch.php | 50 + .../Service/Games/TurnBasedMatchResults.php | 60 + .../Service/Games/TurnBasedMatchSync.php | 59 + .../Service/Games/TurnBasedMatchTurn.php | 69 + .../src/Google/Service/GamesConfiguration.php | 236 + .../AchievementConfiguration.php | 95 + .../AchievementConfigurationDetail.php | 77 + .../AchievementConfigurationListResponse.php | 50 + .../GamesNumberAffixConfiguration.php | 81 + .../GamesNumberFormatConfiguration.php | 58 + .../GamesConfiguration/ImageConfiguration.php | 57 + .../LeaderboardConfiguration.php | 95 + .../LeaderboardConfigurationDetail.php | 68 + .../LeaderboardConfigurationListResponse.php | 50 + .../GamesConfiguration/LocalizedString.php | 48 + .../LocalizedStringBundle.php | 41 + .../Resource/AchievementConfigurations.php | 121 + .../Resource/ImageConfigurations.php | 43 + .../Resource/LeaderboardConfigurations.php | 121 + .../src/Google/Service/GamesManagement.php | 335 + .../AchievementResetAllResponse.php | 41 + .../AchievementResetMultipleForAllRequest.php | 43 + .../AchievementResetResponse.php | 57 + .../EventsResetMultipleForAllRequest.php | 43 + .../GamesManagement/GamesPlayedResource.php | 39 + .../GamesPlayerExperienceInfoResource.php | 59 + .../GamesPlayerLevelResource.php | 48 + .../Service/GamesManagement/HiddenPlayer.php | 49 + .../GamesManagement/HiddenPlayerList.php | 50 + .../Google/Service/GamesManagement/Player.php | 133 + .../Service/GamesManagement/PlayerName.php | 39 + .../PlayerScoreResetAllResponse.php | 41 + .../PlayerScoreResetResponse.php | 49 + .../GamesManagement/ProfileSettings.php | 39 + .../QuestsResetMultipleForAllRequest.php | 43 + .../GamesManagement/Resource/Achievements.php | 98 + .../GamesManagement/Resource/Applications.php | 49 + .../GamesManagement/Resource/Events.php | 100 + .../GamesManagement/Resource/Players.php | 62 + .../GamesManagement/Resource/Quests.php | 95 + .../GamesManagement/Resource/Rooms.php | 54 + .../GamesManagement/Resource/Scores.php | 98 + .../Resource/TurnBasedMatches.php | 54 + .../ScoresResetMultipleForAllRequest.php | 43 + .../src/Google/Service/Genomics.php | 720 ++ .../Google/Service/Genomics/Annotation.php | 131 + .../Google/Service/Genomics/AnnotationSet.php | 84 + .../BatchCreateAnnotationsRequest.php | 41 + .../BatchCreateAnnotationsResponse.php | 32 + .../src/Google/Service/Genomics/Binding.php | 40 + .../src/Google/Service/Genomics/CallSet.php | 76 + .../Genomics/CancelOperationRequest.php | 20 + .../src/Google/Service/Genomics/CigarUnit.php | 48 + .../Service/Genomics/ClinicalCondition.php | 59 + .../Service/Genomics/CodingSequence.php | 39 + .../Google/Service/Genomics/ComputeEngine.php | 58 + .../Service/Genomics/CoverageBucket.php | 40 + .../src/Google/Service/Genomics/Dataset.php | 57 + .../src/Google/Service/Genomics/Entry.php | 41 + .../src/Google/Service/Genomics/Exon.php | 48 + .../Google/Service/Genomics/Experiment.php | 57 + .../Genomics/ExportReadGroupSetRequest.php | 49 + .../Genomics/ExportVariantSetRequest.php | 67 + .../Google/Service/Genomics/ExternalId.php | 39 + .../Google/Service/Genomics/GenomicsEmpty.php | 20 + .../Service/Genomics/GetIamPolicyRequest.php | 20 + .../Genomics/ImportReadGroupSetsRequest.php | 58 + .../Genomics/ImportReadGroupSetsResponse.php | 31 + .../Genomics/ImportVariantsRequest.php | 67 + .../Genomics/ImportVariantsResponse.php | 31 + .../Service/Genomics/LinearAlignment.php | 51 + .../Service/Genomics/ListBasesResponse.php | 48 + .../Genomics/ListCoverageBucketsResponse.php | 50 + .../Service/Genomics/ListDatasetsResponse.php | 41 + .../Genomics/ListOperationsResponse.php | 41 + .../Service/Genomics/MergeVariantsRequest.php | 50 + .../src/Google/Service/Genomics/Operation.php | 67 + .../Service/Genomics/OperationEvent.php | 48 + .../Service/Genomics/OperationMetadata.php | 104 + .../src/Google/Service/Genomics/Policy.php | 50 + .../src/Google/Service/Genomics/Position.php | 48 + .../src/Google/Service/Genomics/Program.php | 66 + .../src/Google/Service/Genomics/Range.php | 48 + .../src/Google/Service/Genomics/Read.php | 177 + .../src/Google/Service/Genomics/ReadGroup.php | 114 + .../Google/Service/Genomics/ReadGroupSet.php | 86 + .../src/Google/Service/Genomics/Reference.php | 85 + .../Service/Genomics/ReferenceBound.php | 39 + .../Google/Service/Genomics/ReferenceSet.php | 94 + .../Service/Genomics/Resource/Annotations.php | 149 + .../Genomics/Resource/Annotationsets.php | 116 + .../Service/Genomics/Resource/Callsets.php | 124 + .../Service/Genomics/Resource/Datasets.php | 214 + .../Service/Genomics/Resource/Operations.php | 94 + .../Genomics/Resource/Readgroupsets.php | 166 + .../Resource/ReadgroupsetsCoveragebuckets.php | 75 + .../Service/Genomics/Resource/Reads.php | 64 + .../Service/Genomics/Resource/References.php | 70 + .../Genomics/Resource/ReferencesBases.php | 60 + .../Genomics/Resource/Referencesets.php | 70 + .../Service/Genomics/Resource/Variants.php | 213 + .../Service/Genomics/Resource/Variantsets.php | 151 + .../Service/Genomics/RuntimeMetadata.php | 31 + .../Genomics/SearchAnnotationSetsRequest.php | 76 + .../Genomics/SearchAnnotationSetsResponse.php | 41 + .../Genomics/SearchAnnotationsRequest.php | 85 + .../Genomics/SearchAnnotationsResponse.php | 41 + .../Genomics/SearchCallSetsRequest.php | 58 + .../Genomics/SearchCallSetsResponse.php | 41 + .../Genomics/SearchReadGroupSetsRequest.php | 58 + .../Genomics/SearchReadGroupSetsResponse.php | 41 + .../Service/Genomics/SearchReadsRequest.php | 85 + .../Service/Genomics/SearchReadsResponse.php | 41 + .../Genomics/SearchReferenceSetsRequest.php | 67 + .../Genomics/SearchReferenceSetsResponse.php | 41 + .../Genomics/SearchReferencesRequest.php | 67 + .../Genomics/SearchReferencesResponse.php | 41 + .../Genomics/SearchVariantSetsRequest.php | 49 + .../Genomics/SearchVariantSetsResponse.php | 41 + .../Genomics/SearchVariantsRequest.php | 103 + .../Genomics/SearchVariantsResponse.php | 41 + .../Service/Genomics/SetIamPolicyRequest.php | 31 + .../src/Google/Service/Genomics/Status.php | 49 + .../Service/Genomics/StreamReadsRequest.php | 84 + .../Service/Genomics/StreamReadsResponse.php | 32 + .../Genomics/StreamVariantsRequest.php | 76 + .../Genomics/StreamVariantsResponse.php | 32 + .../Genomics/TestIamPermissionsRequest.php | 31 + .../Genomics/TestIamPermissionsResponse.php | 31 + .../Google/Service/Genomics/Transcript.php | 51 + .../Genomics/UndeleteDatasetRequest.php | 20 + .../src/Google/Service/Genomics/Variant.php | 140 + .../Service/Genomics/VariantAnnotation.php | 86 + .../Google/Service/Genomics/VariantCall.php | 76 + .../Google/Service/Genomics/VariantSet.php | 87 + .../Service/Genomics/VariantSetMetadata.php | 84 + .../src/Google/Service/Gmail.php | 1136 +++ .../Google/Service/Gmail/AutoForwarding.php | 48 + .../Gmail/BatchDeleteMessagesRequest.php | 31 + .../Gmail/BatchModifyMessagesRequest.php | 49 + .../src/Google/Service/Gmail/Draft.php | 40 + .../src/Google/Service/Gmail/Filter.php | 50 + .../src/Google/Service/Gmail/FilterAction.php | 49 + .../Google/Service/Gmail/FilterCriteria.php | 102 + .../Service/Gmail/ForwardingAddress.php | 39 + .../src/Google/Service/Gmail/History.php | 81 + .../Service/Gmail/HistoryLabelAdded.php | 41 + .../Service/Gmail/HistoryLabelRemoved.php | 41 + .../Service/Gmail/HistoryMessageAdded.php | 31 + .../Service/Gmail/HistoryMessageDeleted.php | 31 + .../src/Google/Service/Gmail/ImapSettings.php | 57 + .../src/Google/Service/Gmail/Label.php | 102 + .../Service/Gmail/ListDraftsResponse.php | 50 + .../Service/Gmail/ListFiltersResponse.php | 32 + .../Gmail/ListForwardingAddressesResponse.php | 32 + .../Service/Gmail/ListHistoryResponse.php | 50 + .../Service/Gmail/ListLabelsResponse.php | 32 + .../Service/Gmail/ListMessagesResponse.php | 50 + .../Service/Gmail/ListSendAsResponse.php | 32 + .../Service/Gmail/ListSmimeInfoResponse.php | 32 + .../Service/Gmail/ListThreadsResponse.php | 50 + .../src/Google/Service/Gmail/Message.php | 104 + .../src/Google/Service/Gmail/MessagePart.php | 79 + .../Google/Service/Gmail/MessagePartBody.php | 48 + .../Service/Gmail/MessagePartHeader.php | 39 + .../Service/Gmail/ModifyMessageRequest.php | 40 + .../Service/Gmail/ModifyThreadRequest.php | 40 + .../src/Google/Service/Gmail/PopSettings.php | 39 + .../src/Google/Service/Gmail/Profile.php | 57 + .../Google/Service/Gmail/Resource/Users.php | 71 + .../Service/Gmail/Resource/UsersDrafts.php | 130 + .../Service/Gmail/Resource/UsersHistory.php | 61 + .../Service/Gmail/Resource/UsersLabels.php | 120 + .../Service/Gmail/Resource/UsersMessages.php | 229 + .../Resource/UsersMessagesAttachments.php | 44 + .../Service/Gmail/Resource/UsersSettings.php | 149 + .../Gmail/Resource/UsersSettingsFilters.php | 86 + .../UsersSettingsForwardingAddresses.php | 97 + .../Gmail/Resource/UsersSettingsSendAs.php | 162 + .../Resource/UsersSettingsSendAsSmimeInfo.php | 115 + .../Service/Gmail/Resource/UsersThreads.php | 135 + .../src/Google/Service/Gmail/SendAs.php | 103 + .../src/Google/Service/Gmail/SmimeInfo.php | 84 + .../src/Google/Service/Gmail/SmtpMsa.php | 66 + .../src/Google/Service/Gmail/Thread.php | 59 + .../Google/Service/Gmail/VacationSettings.php | 93 + .../src/Google/Service/Gmail/WatchRequest.php | 49 + .../Google/Service/Gmail/WatchResponse.php | 39 + .../src/Google/Service/GroupsMigration.php | 73 + .../Google/Service/GroupsMigration/Groups.php | 39 + .../GroupsMigration/Resource/Archive.php | 41 + .../src/Google/Service/Groupssettings.php | 93 + .../Google/Service/Groupssettings/Groups.php | 300 + .../Groupssettings/Resource/Groups.php | 70 + .../src/Google/Service/Iam.php | 248 + .../src/Google/Service/Iam/AuditData.php | 31 + .../src/Google/Service/Iam/Binding.php | 40 + .../src/Google/Service/Iam/BindingDelta.php | 48 + .../Google/Service/Iam/CloudAuditOptions.php | 20 + .../src/Google/Service/Iam/Condition.php | 76 + .../src/Google/Service/Iam/CounterOptions.php | 39 + .../Iam/CreateServiceAccountKeyRequest.php | 39 + .../Iam/CreateServiceAccountRequest.php | 40 + .../Google/Service/Iam/DataAccessOptions.php | 20 + .../src/Google/Service/Iam/IamEmpty.php | 20 + .../Iam/ListServiceAccountKeysResponse.php | 32 + .../Iam/ListServiceAccountsResponse.php | 41 + .../src/Google/Service/Iam/LogConfig.php | 51 + .../src/Google/Service/Iam/Policy.php | 50 + .../src/Google/Service/Iam/PolicyDelta.php | 32 + .../Iam/QueryGrantableRolesRequest.php | 30 + .../Iam/QueryGrantableRolesResponse.php | 32 + .../Google/Service/Iam/Resource/Projects.php | 28 + .../Iam/Resource/ProjectsServiceAccounts.php | 215 + .../Resource/ProjectsServiceAccountsKeys.php | 108 + .../src/Google/Service/Iam/Resource/Roles.php | 43 + .../src/Google/Service/Iam/Role.php | 48 + .../src/Google/Service/Iam/Rule.php | 87 + .../src/Google/Service/Iam/ServiceAccount.php | 84 + .../Google/Service/Iam/ServiceAccountKey.php | 84 + .../Service/Iam/SetIamPolicyRequest.php | 31 + .../Google/Service/Iam/SignBlobRequest.php | 30 + .../Google/Service/Iam/SignBlobResponse.php | 39 + .../src/Google/Service/Iam/SignJwtRequest.php | 30 + .../Google/Service/Iam/SignJwtResponse.php | 39 + .../Service/Iam/TestIamPermissionsRequest.php | 31 + .../Iam/TestIamPermissionsResponse.php | 31 + .../src/Google/Service/IdentityToolkit.php | 143 + .../IdentityToolkit/CreateAuthUriResponse.php | 94 + .../IdentityToolkit/DeleteAccountResponse.php | 30 + .../DownloadAccountResponse.php | 50 + .../Service/IdentityToolkit/EmailTemplate.php | 75 + .../GetAccountInfoResponse.php | 41 + .../GetOobConfirmationCodeResponse.php | 48 + .../GetRecaptchaParamResponse.php | 48 + ...oolkitRelyingpartyCreateAuthUriRequest.php | 147 + ...rtyCreateAuthUriRequestCustomParameter.php | 39 + ...oolkitRelyingpartyDeleteAccountRequest.php | 48 + ...lkitRelyingpartyDownloadAccountRequest.php | 57 + ...olkitRelyingpartyGetAccountInfoRequest.php | 58 + ...itRelyingpartyGetProjectConfigResponse.php | 135 + ...oolkitRelyingpartyResetPasswordRequest.php | 57 + ...olkitRelyingpartySetAccountInfoRequest.php | 211 + ...kitRelyingpartySetProjectConfigRequest.php | 126 + ...itRelyingpartySetProjectConfigResponse.php | 30 + ...ytoolkitRelyingpartySignOutUserRequest.php | 39 + ...toolkitRelyingpartySignOutUserResponse.php | 30 + ...oolkitRelyingpartySignupNewUserRequest.php | 120 + ...oolkitRelyingpartyUploadAccountRequest.php | 113 + ...lkitRelyingpartyVerifyAssertionRequest.php | 111 + ...itRelyingpartyVerifyCustomTokenRequest.php | 57 + ...olkitRelyingpartyVerifyPasswordRequest.php | 102 + .../Service/IdentityToolkit/IdpConfig.php | 76 + .../Service/IdentityToolkit/Relyingparty.php | 93 + .../IdentityToolkit/ResetPasswordResponse.php | 57 + .../IdentityToolkit/Resource/Relyingparty.php | 252 + .../SetAccountInfoResponse.php | 131 + ...SetAccountInfoResponseProviderUserInfo.php | 57 + .../IdentityToolkit/SignupNewUserResponse.php | 84 + .../IdentityToolkit/UploadAccountResponse.php | 41 + .../UploadAccountResponseError.php | 39 + .../Service/IdentityToolkit/UserInfo.php | 176 + .../UserInfoProviderUserInfo.php | 84 + .../VerifyAssertionResponse.php | 373 + .../VerifyCustomTokenResponse.php | 57 + .../VerifyPasswordResponse.php | 129 + .../src/Google/Service/Kgsearch.php | 97 + .../Service/Kgsearch/Resource/Entities.php | 56 + .../Service/Kgsearch/SearchResponse.php | 53 + .../src/Google/Service/Licensing.php | 209 + .../Service/Licensing/LicenseAssignment.php | 93 + .../Licensing/LicenseAssignmentInsert.php | 30 + .../Licensing/LicenseAssignmentList.php | 59 + .../Licensing/Resource/LicenseAssignments.php | 149 + .../src/Google/Service/Logging.php | 640 ++ .../Google/Service/Logging/HttpRequest.php | 147 + .../Service/Logging/LabelDescriptor.php | 48 + .../Service/Logging/ListLogEntriesRequest.php | 76 + .../Logging/ListLogEntriesResponse.php | 41 + .../Logging/ListLogMetricsResponse.php | 41 + .../Service/Logging/ListLogsResponse.php | 40 + ...stMonitoredResourceDescriptorsResponse.php | 41 + .../Service/Logging/ListSinksResponse.php | 41 + .../src/Google/Service/Logging/LogEntry.php | 142 + .../Service/Logging/LogEntryOperation.php | 57 + .../Logging/LogEntrySourceLocation.php | 48 + .../src/Google/Service/Logging/LogLine.php | 58 + .../src/Google/Service/Logging/LogMetric.php | 57 + .../src/Google/Service/Logging/LogSink.php | 84 + .../Google/Service/Logging/LoggingEmpty.php | 20 + .../Service/Logging/MonitoredResource.php | 39 + .../Logging/MonitoredResourceDescriptor.php | 68 + .../src/Google/Service/Logging/RequestLog.php | 312 + .../Logging/Resource/BillingAccounts.php | 28 + .../Logging/Resource/BillingAccountsLogs.php | 74 + .../Logging/Resource/BillingAccountsSinks.php | 155 + .../Service/Logging/Resource/Entries.php | 56 + .../Service/Logging/Resource/Folders.php | 28 + .../Service/Logging/Resource/FoldersLogs.php | 74 + .../Service/Logging/Resource/FoldersSinks.php | 155 + .../Resource/MonitoredResourceDescriptors.php | 49 + .../Logging/Resource/Organizations.php | 28 + .../Logging/Resource/OrganizationsLogs.php | 74 + .../Logging/Resource/OrganizationsSinks.php | 155 + .../Service/Logging/Resource/Projects.php | 28 + .../Service/Logging/Resource/ProjectsLogs.php | 74 + .../Logging/Resource/ProjectsMetrics.php | 111 + .../Logging/Resource/ProjectsSinks.php | 155 + .../Google/Service/Logging/SourceLocation.php | 48 + .../Service/Logging/SourceReference.php | 39 + .../src/Google/Service/Logging/Status.php | 49 + .../Logging/WriteLogEntriesRequest.php | 69 + .../Logging/WriteLogEntriesResponse.php | 20 + .../src/Google/Service/Manager.php | 229 + .../Google/Service/Manager/AccessConfig.php | 48 + .../src/Google/Service/Manager/Action.php | 40 + .../Google/Service/Manager/AllowedRule.php | 43 + .../Service/Manager/AutoscalingModule.php | 84 + .../Manager/AutoscalingModuleStatus.php | 30 + .../Google/Service/Manager/DeployState.php | 39 + .../src/Google/Service/Manager/Deployment.php | 88 + .../Manager/DeploymentsListResponse.php | 41 + .../Service/Manager/DeploymentsResource.php | 92 + .../Google/Service/Manager/DiskAttachment.php | 39 + .../Google/Service/Manager/EnvVariable.php | 39 + .../Google/Service/Manager/ExistingDisk.php | 40 + .../Google/Service/Manager/FirewallModule.php | 77 + .../Service/Manager/FirewallModuleStatus.php | 30 + .../Service/Manager/HealthCheckModule.php | 93 + .../Manager/HealthCheckModuleStatus.php | 30 + .../src/Google/Service/Manager/LbModule.php | 85 + .../Google/Service/Manager/LbModuleStatus.php | 39 + .../src/Google/Service/Manager/Metadata.php | 41 + .../Google/Service/Manager/MetadataItem.php | 39 + .../src/Google/Service/Manager/Module.php | 90 + .../Google/Service/Manager/ModuleStatus.php | 100 + .../Service/Manager/NetworkInterface.php | 59 + .../Google/Service/Manager/NetworkModule.php | 51 + .../Service/Manager/NetworkModuleStatus.php | 30 + .../src/Google/Service/Manager/NewDisk.php | 59 + .../Manager/NewDiskInitializeParams.php | 48 + .../Google/Service/Manager/ParamOverride.php | 39 + .../Service/Manager/ReplicaPoolModule.php | 69 + .../Manager/ReplicaPoolModuleStatus.php | 39 + .../Service/Manager/ReplicaPoolParams.php | 31 + .../Manager/ReplicaPoolParamsV1Beta1.php | 154 + .../Google/Service/Manager/ServiceAccount.php | 40 + .../src/Google/Service/Manager/Tag.php | 40 + .../src/Google/Service/Manager/Template.php | 59 + .../Service/Manager/TemplatesListResponse.php | 41 + .../Service/Manager/TemplatesResource.php | 88 + .../src/Google/Service/ManufacturerCenter.php | 96 + .../Service/ManufacturerCenter/Attributes.php | 94 + .../Service/ManufacturerCenter/Issue.php | 57 + .../ListProductsResponse.php | 41 + .../Service/ManufacturerCenter/Product.php | 116 + .../ManufacturerCenter/Resource/Accounts.php | 28 + .../Resource/AccountsProducts.php | 75 + .../src/Google/Service/Mirror.php | 379 + .../src/Google/Service/Mirror/Account.php | 60 + .../src/Google/Service/Mirror/Attachment.php | 57 + .../Mirror/AttachmentsListResponse.php | 41 + .../src/Google/Service/Mirror/AuthToken.php | 39 + .../src/Google/Service/Mirror/Command.php | 30 + .../src/Google/Service/Mirror/Contact.php | 131 + .../Service/Mirror/ContactsListResponse.php | 41 + .../src/Google/Service/Mirror/Location.php | 93 + .../Service/Mirror/LocationsListResponse.php | 41 + .../src/Google/Service/Mirror/MenuItem.php | 80 + .../src/Google/Service/Mirror/MenuValue.php | 48 + .../Google/Service/Mirror/Notification.php | 77 + .../Service/Mirror/NotificationConfig.php | 39 + .../Service/Mirror/Resource/Accounts.php | 46 + .../Service/Mirror/Resource/Contacts.php | 108 + .../Service/Mirror/Resource/Locations.php | 54 + .../Service/Mirror/Resource/Settings.php | 45 + .../Service/Mirror/Resource/Subscriptions.php | 80 + .../Service/Mirror/Resource/Timeline.php | 121 + .../Mirror/Resource/TimelineAttachments.php | 84 + .../src/Google/Service/Mirror/Setting.php | 48 + .../Google/Service/Mirror/Subscription.php | 104 + .../Mirror/SubscriptionsListResponse.php | 41 + .../Google/Service/Mirror/TimelineItem.php | 262 + .../Service/Mirror/TimelineListResponse.php | 50 + .../src/Google/Service/Mirror/UserAction.php | 39 + .../src/Google/Service/Mirror/UserData.php | 39 + .../src/Google/Service/Monitoring.php | 396 + .../Service/Monitoring/BucketOptions.php | 51 + .../Service/Monitoring/CollectdPayload.php | 96 + .../Service/Monitoring/CollectdValue.php | 49 + .../CreateCollectdTimeSeriesRequest.php | 51 + .../Monitoring/CreateTimeSeriesRequest.php | 32 + .../Service/Monitoring/Distribution.php | 78 + .../Google/Service/Monitoring/Explicit.php | 31 + .../Google/Service/Monitoring/Exponential.php | 48 + .../src/Google/Service/Monitoring/Field.php | 113 + .../src/Google/Service/Monitoring/Group.php | 66 + .../Service/Monitoring/LabelDescriptor.php | 48 + .../src/Google/Service/Monitoring/Linear.php | 48 + .../Monitoring/ListGroupMembersResponse.php | 50 + .../Service/Monitoring/ListGroupsResponse.php | 41 + .../ListMetricDescriptorsResponse.php | 41 + ...stMonitoredResourceDescriptorsResponse.php | 41 + .../Monitoring/ListTimeSeriesResponse.php | 41 + .../src/Google/Service/Monitoring/Metric.php | 39 + .../Service/Monitoring/MetricDescriptor.php | 95 + .../Service/Monitoring/MonitoredResource.php | 39 + .../MonitoredResourceDescriptor.php | 68 + .../Service/Monitoring/MonitoringEmpty.php | 20 + .../src/Google/Service/Monitoring/Option.php | 39 + .../src/Google/Service/Monitoring/Point.php | 41 + .../src/Google/Service/Monitoring/Range.php | 39 + .../Service/Monitoring/Resource/Projects.php | 28 + .../Resource/ProjectsCollectdTimeSeries.php | 45 + .../Monitoring/Resource/ProjectsGroups.php | 130 + .../Resource/ProjectsGroupsMembers.php | 59 + .../Resource/ProjectsMetricDescriptors.php | 106 + .../ProjectsMonitoredResourceDescriptors.php | 72 + .../Resource/ProjectsTimeSeries.php | 119 + .../Service/Monitoring/SourceContext.php | 30 + .../Service/Monitoring/TimeInterval.php | 39 + .../Google/Service/Monitoring/TimeSeries.php | 70 + .../src/Google/Service/Monitoring/Type.php | 79 + .../Google/Service/Monitoring/TypedValue.php | 67 + .../src/Google/Service/Oauth2.php | 150 + .../src/Google/Service/Oauth2/Jwk.php | 32 + .../src/Google/Service/Oauth2/JwkKeys.php | 75 + .../Service/Oauth2/Resource/Userinfo.php | 40 + .../Service/Oauth2/Resource/UserinfoV2.php | 28 + .../Service/Oauth2/Resource/UserinfoV2Me.php | 40 + .../src/Google/Service/Oauth2/Tokeninfo.php | 110 + .../Google/Service/Oauth2/Userinfoplus.php | 125 + .../src/Google/Service/Pagespeedonline.php | 93 + .../PagespeedApiFormatStringV2.php | 41 + .../PagespeedApiFormatStringV2Args.php | 72 + .../PagespeedApiFormatStringV2ArgsRects.php | 57 + ...eedApiFormatStringV2ArgsSecondaryRects.php | 57 + .../Pagespeedonline/PagespeedApiImageV2.php | 80 + .../PagespeedApiImageV2PageRect.php | 57 + .../Pagespeedonline/Resource/Pagespeedapi.php | 52 + .../Google/Service/Pagespeedonline/Result.php | 117 + .../ResultFormattedResults.php | 40 + ...sultFormattedResultsRuleResultsElement.php | 69 + ...ttedResultsRuleResultsElementUrlBlocks.php | 42 + ...ResultsRuleResultsElementUrlBlocksUrls.php | 42 + .../Pagespeedonline/ResultPageStats.php | 138 + .../ResultRuleGroupsElement.php | 30 + .../Service/Pagespeedonline/ResultVersion.php | 39 + .../src/Google/Service/Partners.php | 877 ++ .../Partners/AdWordsManagerAccountInfo.php | 39 + .../src/Google/Service/Partners/Analytics.php | 61 + .../Service/Partners/AnalyticsDataPoint.php | 41 + .../Service/Partners/AnalyticsSummary.php | 48 + .../Service/Partners/AvailableOffer.php | 132 + .../Google/Service/Partners/Certification.php | 66 + .../Partners/CertificationExamStatus.php | 39 + .../Service/Partners/CertificationStatus.php | 59 + .../src/Google/Service/Partners/Company.php | 220 + .../Service/Partners/CompanyRelation.php | 158 + .../Service/Partners/CountryOfferInfo.php | 57 + .../Service/Partners/CreateLeadRequest.php | 51 + .../Service/Partners/CreateLeadResponse.php | 50 + .../src/Google/Service/Partners/Date.php | 48 + .../src/Google/Service/Partners/DebugInfo.php | 48 + .../src/Google/Service/Partners/EventData.php | 40 + .../Google/Service/Partners/ExamStatus.php | 75 + .../src/Google/Service/Partners/ExamToken.php | 48 + .../Service/Partners/GetCompanyResponse.php | 41 + .../Partners/GetPartnersStatusResponse.php | 31 + .../Service/Partners/HistoricalOffer.php | 129 + .../src/Google/Service/Partners/LatLng.php | 39 + .../src/Google/Service/Partners/Lead.php | 158 + .../Partners/ListAnalyticsResponse.php | 61 + .../Partners/ListCompaniesResponse.php | 51 + .../Service/Partners/ListLeadsResponse.php | 60 + .../Partners/ListOffersHistoryResponse.php | 78 + .../Service/Partners/ListOffersResponse.php | 51 + .../Partners/ListUserStatesResponse.php | 41 + .../Service/Partners/LocalizedCompanyInfo.php | 58 + .../src/Google/Service/Partners/Location.php | 113 + .../Service/Partners/LogMessageRequest.php | 58 + .../Service/Partners/LogMessageResponse.php | 31 + .../Service/Partners/LogUserEventRequest.php | 88 + .../Service/Partners/LogUserEventResponse.php | 31 + .../src/Google/Service/Partners/Money.php | 48 + .../Google/Service/Partners/OfferCustomer.php | 102 + .../src/Google/Service/Partners/OptIns.php | 66 + .../Google/Service/Partners/PartnersEmpty.php | 20 + .../Google/Service/Partners/PublicProfile.php | 66 + .../src/Google/Service/Partners/Rank.php | 39 + .../Service/Partners/RecaptchaChallenge.php | 39 + .../Service/Partners/RequestMetadata.php | 69 + .../Service/Partners/Resource/Analytics.php | 70 + .../Partners/Resource/ClientMessages.php | 43 + .../Service/Partners/Resource/Companies.php | 150 + .../Partners/Resource/CompaniesLeads.php | 42 + .../Service/Partners/Resource/Exams.php | 59 + .../Service/Partners/Resource/Leads.php | 66 + .../Service/Partners/Resource/Offers.php | 57 + .../Partners/Resource/OffersHistory.php | 66 + .../Service/Partners/Resource/UserEvents.php | 41 + .../Service/Partners/Resource/UserStates.php | 57 + .../Service/Partners/Resource/Users.php | 157 + .../Google/Service/Partners/Resource/V2.php | 124 + .../Service/Partners/ResponseMetadata.php | 31 + .../Service/Partners/SpecializationStatus.php | 39 + .../Google/Service/Partners/TrafficSource.php | 39 + .../src/Google/Service/Partners/User.php | 118 + .../Google/Service/Partners/UserOverrides.php | 39 + .../Google/Service/Partners/UserProfile.php | 150 + .../src/Google/Service/People.php | 160 + .../src/Google/Service/People/Address.php | 130 + .../Google/Service/People/AgeRangeType.php | 40 + .../src/Google/Service/People/Biography.php | 49 + .../src/Google/Service/People/Birthday.php | 50 + .../Google/Service/People/BraggingRights.php | 40 + .../Service/People/ContactGroupMembership.php | 30 + .../src/Google/Service/People/CoverPhoto.php | 49 + .../src/Google/Service/People/Date.php | 48 + .../Service/People/DomainMembership.php | 30 + .../Google/Service/People/EmailAddress.php | 67 + .../src/Google/Service/People/Event.php | 59 + .../Google/Service/People/FieldMetadata.php | 49 + .../src/Google/Service/People/Gender.php | 49 + .../Service/People/GetPeopleResponse.php | 32 + .../src/Google/Service/People/ImClient.php | 76 + .../src/Google/Service/People/Interest.php | 40 + .../People/ListConnectionsResponse.php | 50 + .../src/Google/Service/People/Locale.php | 40 + .../src/Google/Service/People/Membership.php | 51 + .../src/Google/Service/People/Name.php | 148 + .../src/Google/Service/People/Nickname.php | 49 + .../src/Google/Service/People/Occupation.php | 40 + .../Google/Service/People/Organization.php | 150 + .../src/Google/Service/People/Person.php | 319 + .../Google/Service/People/PersonMetadata.php | 68 + .../Google/Service/People/PersonResponse.php | 49 + .../src/Google/Service/People/PhoneNumber.php | 67 + .../src/Google/Service/People/Photo.php | 40 + .../Google/Service/People/ProfileMetadata.php | 30 + .../src/Google/Service/People/Relation.php | 58 + .../Service/People/RelationshipInterest.php | 49 + .../Service/People/RelationshipStatus.php | 49 + .../src/Google/Service/People/Residence.php | 49 + .../Google/Service/People/Resource/People.php | 78 + .../People/Resource/PeopleConnections.php | 59 + .../src/Google/Service/People/Skill.php | 40 + .../src/Google/Service/People/Source.php | 58 + .../src/Google/Service/People/Tagline.php | 40 + .../src/Google/Service/People/Url.php | 58 + .../src/Google/Service/PlayMovies.php | 299 + .../src/Google/Service/PlayMovies/Avail.php | 319 + .../Google/Service/PlayMovies/Component.php | 220 + .../Service/PlayMovies/ExperienceLocale.php | 229 + .../Service/PlayMovies/ListAvailsResponse.php | 50 + .../PlayMovies/ListComponentsResponse.php | 50 + .../ListExperienceLocalesResponse.php | 50 + .../Service/PlayMovies/ListOrdersResponse.php | 50 + .../PlayMovies/ListStoreInfosResponse.php | 50 + .../src/Google/Service/PlayMovies/Order.php | 229 + .../Service/PlayMovies/Resource/Accounts.php | 28 + .../PlayMovies/Resource/AccountsAvails.php | 82 + .../Resource/AccountsComponents.php | 69 + .../Resource/AccountsComponentsType.php | 44 + .../Resource/AccountsExperienceLocales.php | 79 + .../PlayMovies/Resource/AccountsOrders.php | 78 + .../Resource/AccountsStoreInfos.php | 66 + .../Resource/AccountsStoreInfosCountry.php | 47 + .../Google/Service/PlayMovies/StoreInfo.php | 247 + .../src/Google/Service/Playmoviespartner.php | 339 + .../AccountsAvailsResource.php | 61 + .../AccountsExperienceLocalesResource.php | 79 + .../AccountsOrdersResource.php | 73 + .../Playmoviespartner/AccountsResource.php | 28 + .../AccountsStoreInfosCountryResource.php | 46 + .../AccountsStoreInfosResource.php | 62 + .../Service/Playmoviespartner/Avail.php | 310 + .../Playmoviespartner/ExperienceLocale.php | 229 + .../Playmoviespartner/ListAvailsResponse.php | 41 + .../ListExperienceLocalesResponse.php | 41 + .../Playmoviespartner/ListOrdersResponse.php | 41 + .../ListStoreInfosResponse.php | 41 + .../Service/Playmoviespartner/Order.php | 229 + .../Service/Playmoviespartner/StoreInfo.php | 247 + .../src/Google/Service/Plus.php | 267 + .../src/Google/Service/Plus/Acl.php | 50 + .../src/Google/Service/Plus/Activity.php | 206 + .../src/Google/Service/Plus/ActivityActor.php | 88 + .../ActivityActorClientSpecificActorInfo.php | 31 + ...lientSpecificActorInfoYoutubeActorInfo.php | 30 + .../Service/Plus/ActivityActorImage.php | 30 + .../Google/Service/Plus/ActivityActorName.php | 39 + .../Plus/ActivityActorVerification.php | 30 + .../src/Google/Service/Plus/ActivityFeed.php | 104 + .../Google/Service/Plus/ActivityObject.php | 117 + .../Service/Plus/ActivityObjectActor.php | 78 + ...vityObjectActorClientSpecificActorInfo.php | 31 + ...lientSpecificActorInfoYoutubeActorInfo.php | 30 + .../Service/Plus/ActivityObjectActorImage.php | 30 + .../Plus/ActivityObjectActorVerification.php | 30 + .../Plus/ActivityObjectAttachments.php | 107 + .../Plus/ActivityObjectAttachmentsEmbed.php | 39 + .../ActivityObjectAttachmentsFullImage.php | 57 + .../Plus/ActivityObjectAttachmentsImage.php | 57 + .../ActivityObjectAttachmentsThumbnails.php | 49 + ...tivityObjectAttachmentsThumbnailsImage.php | 57 + .../Service/Plus/ActivityObjectPlusoners.php | 39 + .../Service/Plus/ActivityObjectReplies.php | 39 + .../Service/Plus/ActivityObjectResharers.php | 39 + .../Google/Service/Plus/ActivityProvider.php | 30 + .../src/Google/Service/Plus/Comment.php | 125 + .../src/Google/Service/Plus/CommentActor.php | 78 + .../CommentActorClientSpecificActorInfo.php | 31 + ...lientSpecificActorInfoYoutubeActorInfo.php | 30 + .../Google/Service/Plus/CommentActorImage.php | 30 + .../Service/Plus/CommentActorVerification.php | 30 + .../src/Google/Service/Plus/CommentFeed.php | 95 + .../Google/Service/Plus/CommentInReplyTo.php | 39 + .../src/Google/Service/Plus/CommentObject.php | 48 + .../Google/Service/Plus/CommentPlusoners.php | 30 + .../src/Google/Service/Plus/PeopleFeed.php | 86 + .../src/Google/Service/Plus/Person.php | 300 + .../Google/Service/Plus/PersonAgeRange.php | 39 + .../src/Google/Service/Plus/PersonCover.php | 50 + .../Service/Plus/PersonCoverCoverInfo.php | 39 + .../Service/Plus/PersonCoverCoverPhoto.php | 48 + .../src/Google/Service/Plus/PersonEmails.php | 39 + .../src/Google/Service/Plus/PersonImage.php | 39 + .../src/Google/Service/Plus/PersonName.php | 75 + .../Service/Plus/PersonOrganizations.php | 102 + .../Google/Service/Plus/PersonPlacesLived.php | 39 + .../src/Google/Service/Plus/PersonUrls.php | 48 + .../src/Google/Service/Plus/Place.php | 68 + .../src/Google/Service/Plus/PlaceAddress.php | 30 + .../src/Google/Service/Plus/PlacePosition.php | 39 + .../Service/Plus/PlusAclentryResource.php | 48 + .../Service/Plus/Resource/Activities.php | 88 + .../Google/Service/Plus/Resource/Comments.php | 62 + .../Google/Service/Plus/Resource/People.php | 114 + .../src/Google/Service/PlusDomains.php | 453 ++ .../src/Google/Service/PlusDomains/Acl.php | 59 + .../Google/Service/PlusDomains/Activity.php | 206 + .../Service/PlusDomains/ActivityActor.php | 88 + .../ActivityActorClientSpecificActorInfo.php | 31 + ...lientSpecificActorInfoYoutubeActorInfo.php | 30 + .../PlusDomains/ActivityActorImage.php | 30 + .../Service/PlusDomains/ActivityActorName.php | 39 + .../PlusDomains/ActivityActorVerification.php | 30 + .../Service/PlusDomains/ActivityFeed.php | 104 + .../Service/PlusDomains/ActivityObject.php | 127 + .../PlusDomains/ActivityObjectActor.php | 78 + ...vityObjectActorClientSpecificActorInfo.php | 31 + ...lientSpecificActorInfoYoutubeActorInfo.php | 30 + .../PlusDomains/ActivityObjectActorImage.php | 30 + .../ActivityObjectActorVerification.php | 30 + .../PlusDomains/ActivityObjectAttachments.php | 117 + .../ActivityObjectAttachmentsEmbed.php | 39 + .../ActivityObjectAttachmentsFullImage.php | 57 + .../ActivityObjectAttachmentsImage.php | 57 + ...vityObjectAttachmentsPreviewThumbnails.php | 30 + .../ActivityObjectAttachmentsThumbnails.php | 49 + ...tivityObjectAttachmentsThumbnailsImage.php | 57 + .../PlusDomains/ActivityObjectPlusoners.php | 39 + .../PlusDomains/ActivityObjectReplies.php | 39 + .../PlusDomains/ActivityObjectResharers.php | 39 + .../ActivityObjectStatusForViewer.php | 66 + .../Service/PlusDomains/ActivityProvider.php | 30 + .../Google/Service/PlusDomains/Audience.php | 67 + .../Service/PlusDomains/AudiencesFeed.php | 68 + .../src/Google/Service/PlusDomains/Circle.php | 85 + .../Google/Service/PlusDomains/CircleFeed.php | 95 + .../Service/PlusDomains/CirclePeople.php | 30 + .../Google/Service/PlusDomains/Comment.php | 125 + .../Service/PlusDomains/CommentActor.php | 78 + .../CommentActorClientSpecificActorInfo.php | 31 + ...lientSpecificActorInfoYoutubeActorInfo.php | 30 + .../Service/PlusDomains/CommentActorImage.php | 30 + .../PlusDomains/CommentActorVerification.php | 30 + .../Service/PlusDomains/CommentFeed.php | 95 + .../Service/PlusDomains/CommentInReplyTo.php | 39 + .../Service/PlusDomains/CommentObject.php | 48 + .../Service/PlusDomains/CommentPlusoners.php | 30 + .../src/Google/Service/PlusDomains/Media.php | 187 + .../Service/PlusDomains/MediaAuthor.php | 58 + .../Service/PlusDomains/MediaAuthorImage.php | 30 + .../Google/Service/PlusDomains/MediaExif.php | 30 + .../Google/Service/PlusDomains/PeopleFeed.php | 86 + .../src/Google/Service/PlusDomains/Person.php | 281 + .../Service/PlusDomains/PersonCover.php | 50 + .../PlusDomains/PersonCoverCoverInfo.php | 39 + .../PlusDomains/PersonCoverCoverPhoto.php | 48 + .../Service/PlusDomains/PersonEmails.php | 39 + .../Service/PlusDomains/PersonImage.php | 39 + .../Google/Service/PlusDomains/PersonName.php | 75 + .../PlusDomains/PersonOrganizations.php | 102 + .../Service/PlusDomains/PersonPlacesLived.php | 39 + .../Google/Service/PlusDomains/PersonUrls.php | 48 + .../src/Google/Service/PlusDomains/Place.php | 68 + .../Service/PlusDomains/PlaceAddress.php | 30 + .../Service/PlusDomains/PlacePosition.php | 39 + .../PlusDomainsAclentryResource.php | 48 + .../PlusDomains/Resource/Activities.php | 83 + .../PlusDomains/Resource/Audiences.php | 50 + .../Service/PlusDomains/Resource/Circles.php | 154 + .../Service/PlusDomains/Resource/Comments.php | 76 + .../Service/PlusDomains/Resource/Media.php | 46 + .../Service/PlusDomains/Resource/People.php | 108 + .../Service/PlusDomains/Videostream.php | 57 + .../src/Google/Service/Prediction.php | 205 + .../src/Google/Service/Prediction/Analyze.php | 78 + .../Prediction/AnalyzeDataDescription.php | 42 + .../AnalyzeDataDescriptionFeatures.php | 60 + ...lyzeDataDescriptionFeaturesCategorical.php | 41 + ...taDescriptionFeaturesCategoricalValues.php | 39 + .../AnalyzeDataDescriptionFeaturesNumeric.php | 48 + .../AnalyzeDataDescriptionFeaturesText.php | 30 + .../AnalyzeDataDescriptionOutputFeature.php | 42 + ...yzeDataDescriptionOutputFeatureNumeric.php | 48 + ...nalyzeDataDescriptionOutputFeatureText.php | 39 + .../Prediction/AnalyzeModelDescription.php | 49 + .../src/Google/Service/Prediction/Input.php | 31 + .../Google/Service/Prediction/InputInput.php | 31 + .../src/Google/Service/Prediction/Insert.php | 95 + .../src/Google/Service/Prediction/Insert2.php | 121 + .../Service/Prediction/Insert2ModelInfo.php | 75 + .../Prediction/InsertTrainingInstances.php | 40 + .../src/Google/Service/Prediction/Output.php | 77 + .../Service/Prediction/OutputOutputMulti.php | 39 + .../Service/Prediction/PredictionList.php | 59 + .../Prediction/Resource/Hostedmodels.php | 44 + .../Prediction/Resource/Trainedmodels.php | 130 + .../src/Google/Service/Prediction/Update.php | 40 + .../src/Google/Service/Proximitybeacon.php | 353 + .../Service/Proximitybeacon/AdvertisedId.php | 39 + .../Proximitybeacon/AttachmentInfo.php | 39 + .../Google/Service/Proximitybeacon/Beacon.php | 124 + .../Proximitybeacon/BeaconAttachment.php | 57 + .../Service/Proximitybeacon/BeaconInfo.php | 51 + .../Google/Service/Proximitybeacon/Date.php | 48 + .../DeleteAttachmentsResponse.php | 30 + .../Service/Proximitybeacon/Diagnostics.php | 50 + .../EphemeralIdRegistration.php | 75 + .../EphemeralIdRegistrationParams.php | 48 + .../GetInfoForObservedBeaconsRequest.php | 41 + .../GetInfoForObservedBeaconsResponse.php | 32 + .../Service/Proximitybeacon/IndoorLevel.php | 30 + .../Google/Service/Proximitybeacon/LatLng.php | 39 + .../ListBeaconAttachmentsResponse.php | 32 + .../Proximitybeacon/ListBeaconsResponse.php | 50 + .../ListDiagnosticsResponse.php | 41 + .../ListNamespacesResponse.php | 32 + .../Service/Proximitybeacon/Observation.php | 49 + .../Proximitybeacon/ProximitybeaconEmpty.php | 20 + .../ProximitybeaconNamespace.php | 39 + .../Proximitybeacon/Resource/Beaconinfo.php | 44 + .../Proximitybeacon/Resource/Beacons.php | 316 + .../Resource/BeaconsAttachments.php | 170 + .../Resource/BeaconsDiagnostics.php | 59 + .../Proximitybeacon/Resource/Namespaces.php | 70 + .../Proximitybeacon/Resource/V1beta1.php | 46 + .../src/Google/Service/Pubsub.php | 353 + .../Service/Pubsub/AcknowledgeRequest.php | 31 + .../src/Google/Service/Pubsub/Binding.php | 40 + .../Pubsub/ListSubscriptionsResponse.php | 41 + .../Pubsub/ListTopicSubscriptionsResponse.php | 40 + .../Service/Pubsub/ListTopicsResponse.php | 41 + .../Pubsub/ModifyAckDeadlineRequest.php | 40 + .../Pubsub/ModifyPushConfigRequest.php | 31 + .../src/Google/Service/Pubsub/Policy.php | 50 + .../Google/Service/Pubsub/PublishRequest.php | 32 + .../Google/Service/Pubsub/PublishResponse.php | 31 + .../src/Google/Service/Pubsub/PubsubEmpty.php | 20 + .../Google/Service/Pubsub/PubsubMessage.php | 57 + .../src/Google/Service/Pubsub/PullRequest.php | 39 + .../Google/Service/Pubsub/PullResponse.php | 32 + .../src/Google/Service/Pubsub/PushConfig.php | 39 + .../Google/Service/Pubsub/ReceivedMessage.php | 40 + .../Service/Pubsub/Resource/Projects.php | 28 + .../Pubsub/Resource/ProjectsSnapshots.php | 83 + .../Pubsub/Resource/ProjectsSubscriptions.php | 243 + .../Pubsub/Resource/ProjectsTopics.php | 170 + .../Resource/ProjectsTopicsSubscriptions.php | 49 + .../Service/Pubsub/SetIamPolicyRequest.php | 31 + .../Google/Service/Pubsub/Subscription.php | 58 + .../Pubsub/TestIamPermissionsRequest.php | 31 + .../Pubsub/TestIamPermissionsResponse.php | 31 + .../src/Google/Service/Pubsub/Topic.php | 30 + .../src/Google/Service/QPXExpress.php | 65 + .../Service/QPXExpress/AircraftData.php | 48 + .../Google/Service/QPXExpress/AirportData.php | 57 + .../Service/QPXExpress/BagDescriptor.php | 67 + .../Google/Service/QPXExpress/CarrierData.php | 48 + .../Google/Service/QPXExpress/CityData.php | 57 + .../src/Google/Service/QPXExpress/Data.php | 81 + .../Google/Service/QPXExpress/FareInfo.php | 84 + .../Google/Service/QPXExpress/FlightInfo.php | 39 + .../QPXExpress/FreeBaggageAllowance.php | 77 + .../src/Google/Service/QPXExpress/LegInfo.php | 174 + .../Service/QPXExpress/PassengerCounts.php | 75 + .../Google/Service/QPXExpress/PricingInfo.php | 143 + .../Service/QPXExpress/Resource/Trips.php | 41 + .../Google/Service/QPXExpress/SegmentInfo.php | 123 + .../Service/QPXExpress/SegmentPricing.php | 59 + .../Google/Service/QPXExpress/SliceInfo.php | 50 + .../Google/Service/QPXExpress/SliceInput.php | 122 + .../src/Google/Service/QPXExpress/TaxData.php | 48 + .../src/Google/Service/QPXExpress/TaxInfo.php | 75 + .../Service/QPXExpress/TimeOfDayRange.php | 48 + .../Google/Service/QPXExpress/TripOption.php | 69 + .../Service/QPXExpress/TripOptionsRequest.php | 87 + .../QPXExpress/TripOptionsResponse.php | 60 + .../Service/QPXExpress/TripsSearchRequest.php | 31 + .../QPXExpress/TripsSearchResponse.php | 40 + .../src/Google/Service/Replicapool.php | 343 + .../Replicapool/InstanceGroupManager.php | 149 + .../Replicapool/InstanceGroupManagerList.php | 68 + ...ceGroupManagersAbandonInstancesRequest.php | 31 + ...nceGroupManagersDeleteInstancesRequest.php | 31 + ...eGroupManagersRecreateInstancesRequest.php | 31 + ...roupManagersSetInstanceTemplateRequest.php | 30 + ...anceGroupManagersSetTargetPoolsRequest.php | 40 + .../Google/Service/Replicapool/Operation.php | 222 + .../Service/Replicapool/OperationError.php | 32 + .../Replicapool/OperationErrorErrors.php | 48 + .../Service/Replicapool/OperationList.php | 68 + .../Service/Replicapool/OperationWarnings.php | 50 + .../Replicapool/OperationWarningsData.php | 39 + .../ReplicaPoolAutoHealingPolicy.php | 39 + .../Resource/InstanceGroupManagers.php | 223 + .../Replicapool/Resource/ZoneOperations.php | 66 + .../src/Google/Service/Replicapoolupdater.php | 306 + .../Replicapoolupdater/InstanceUpdate.php | 49 + .../InstanceUpdateError.php | 32 + .../InstanceUpdateErrorErrors.php | 48 + .../Replicapoolupdater/InstanceUpdateList.php | 59 + .../Service/Replicapoolupdater/Operation.php | 222 + .../Replicapoolupdater/OperationError.php | 32 + .../OperationErrorErrors.php | 48 + .../Replicapoolupdater/OperationList.php | 68 + .../Replicapoolupdater/OperationWarnings.php | 50 + .../OperationWarningsData.php | 39 + .../Resource/RollingUpdates.php | 177 + .../Resource/ZoneOperations.php | 66 + .../Replicapoolupdater/RollingUpdate.php | 167 + .../Replicapoolupdater/RollingUpdateError.php | 32 + .../RollingUpdateErrorErrors.php | 48 + .../Replicapoolupdater/RollingUpdateList.php | 59 + .../RollingUpdatePolicy.php | 66 + .../src/Google/Service/Reports.php | 255 + .../src/Google/Service/Reports/Activities.php | 59 + .../src/Google/Service/Reports/Activity.php | 88 + .../Google/Service/Reports/ActivityActor.php | 57 + .../Google/Service/Reports/ActivityEvents.php | 50 + .../Reports/ActivityEventsParameters.php | 76 + .../src/Google/Service/Reports/ActivityId.php | 57 + .../src/Google/Service/Reports/Channel.php | 111 + .../Service/Reports/Resource/Activities.php | 94 + .../Service/Reports/Resource/Channels.php | 40 + .../Reports/Resource/CustomerUsageReports.php | 49 + .../Reports/Resource/UserUsageReport.php | 55 + .../Google/Service/Reports/UsageReport.php | 69 + .../Service/Reports/UsageReportEntity.php | 57 + .../Service/Reports/UsageReportParameters.php | 76 + .../Google/Service/Reports/UsageReports.php | 69 + .../Service/Reports/UsageReportsWarnings.php | 50 + .../Reports/UsageReportsWarningsData.php | 39 + .../src/Google/Service/Reseller.php | 313 + .../src/Google/Service/Reseller/Address.php | 111 + .../Service/Reseller/ChangePlanRequest.php | 67 + .../src/Google/Service/Reseller/Customer.php | 94 + .../Service/Reseller/RenewalSettings.php | 39 + .../ResellernotifyGetwatchdetailsResponse.php | 40 + .../Reseller/ResellernotifyResource.php | 30 + .../Service/Reseller/Resource/Customers.php | 99 + .../Reseller/Resource/Resellernotify.php | 72 + .../Reseller/Resource/Subscriptions.php | 265 + .../src/Google/Service/Reseller/Seats.php | 57 + .../Google/Service/Reseller/Subscription.php | 189 + .../Service/Reseller/SubscriptionPlan.php | 49 + .../SubscriptionPlanCommitmentInterval.php | 39 + .../Reseller/SubscriptionTransferInfo.php | 39 + .../Reseller/SubscriptionTrialSettings.php | 39 + .../Google/Service/Reseller/Subscriptions.php | 50 + .../src/Google/Service/Resourceviews.php | 339 + .../Google/Service/Resourceviews/Label.php | 39 + .../ListResourceResponseItem.php | 39 + .../Service/Resourceviews/Operation.php | 222 + .../Service/Resourceviews/OperationError.php | 32 + .../Resourceviews/OperationErrorErrors.php | 48 + .../Service/Resourceviews/OperationList.php | 68 + .../Resourceviews/OperationWarnings.php | 50 + .../Resourceviews/OperationWarningsData.php | 39 + .../Resourceviews/Resource/ZoneOperations.php | 66 + .../Resourceviews/Resource/ZoneViews.php | 190 + .../Service/Resourceviews/ResourceView.php | 132 + .../Service/Resourceviews/ServiceEndpoint.php | 39 + .../ZoneViewsAddResourcesRequest.php | 31 + .../ZoneViewsGetServiceResponse.php | 41 + .../Service/Resourceviews/ZoneViewsList.php | 59 + .../ZoneViewsListResourcesResponse.php | 50 + .../ZoneViewsRemoveResourcesRequest.php | 31 + .../ZoneViewsSetServiceRequest.php | 50 + .../src/Google/Service/SQLAdmin.php | 811 ++ .../src/Google/Service/SQLAdmin/AclEntry.php | 57 + .../Service/SQLAdmin/BackupConfiguration.php | 57 + .../src/Google/Service/SQLAdmin/BackupRun.php | 130 + .../SQLAdmin/BackupRunsListResponse.php | 50 + .../Service/SQLAdmin/BinLogCoordinates.php | 48 + .../Google/Service/SQLAdmin/CloneContext.php | 49 + .../src/Google/Service/SQLAdmin/Database.php | 93 + .../Google/Service/SQLAdmin/DatabaseFlags.php | 39 + .../Service/SQLAdmin/DatabaseInstance.php | 244 + .../DatabaseInstanceFailoverReplica.php | 39 + .../SQLAdmin/DatabasesListResponse.php | 41 + .../Google/Service/SQLAdmin/ExportContext.php | 78 + .../ExportContextCsvExportOptions.php | 30 + .../ExportContextSqlExportOptions.php | 40 + .../Service/SQLAdmin/FailoverContext.php | 39 + .../src/Google/Service/SQLAdmin/Flag.php | 94 + .../Service/SQLAdmin/FlagsListResponse.php | 41 + .../Google/Service/SQLAdmin/ImportContext.php | 67 + .../ImportContextCsvImportOptions.php | 40 + .../SQLAdmin/InstancesCloneRequest.php | 31 + .../SQLAdmin/InstancesExportRequest.php | 31 + .../SQLAdmin/InstancesFailoverRequest.php | 31 + .../SQLAdmin/InstancesImportRequest.php | 31 + .../SQLAdmin/InstancesListResponse.php | 50 + .../InstancesRestoreBackupRequest.php | 31 + .../SQLAdmin/InstancesTruncateLogRequest.php | 31 + .../Service/SQLAdmin/IpConfiguration.php | 50 + .../src/Google/Service/SQLAdmin/IpMapping.php | 48 + .../src/Google/Service/SQLAdmin/Labels.php | 39 + .../Service/SQLAdmin/LocationPreference.php | 48 + .../Service/SQLAdmin/MaintenanceWindow.php | 57 + .../SQLAdmin/MySqlReplicaConfiguration.php | 120 + .../SQLAdmin/OnPremisesConfiguration.php | 39 + .../src/Google/Service/SQLAdmin/Operation.php | 159 + .../Service/SQLAdmin/OperationError.php | 48 + .../Service/SQLAdmin/OperationErrors.php | 41 + .../SQLAdmin/OperationsListResponse.php | 50 + .../Service/SQLAdmin/ReplicaConfiguration.php | 49 + .../Service/SQLAdmin/Resource/BackupRuns.php | 100 + .../Service/SQLAdmin/Resource/Databases.php | 131 + .../Service/SQLAdmin/Resource/Flags.php | 44 + .../Service/SQLAdmin/Resource/Instances.php | 311 + .../Service/SQLAdmin/Resource/Operations.php | 64 + .../Service/SQLAdmin/Resource/SslCerts.php | 119 + .../Service/SQLAdmin/Resource/Tiers.php | 42 + .../Service/SQLAdmin/Resource/Users.php | 94 + .../Service/SQLAdmin/RestoreBackupContext.php | 48 + .../src/Google/Service/SQLAdmin/Settings.php | 208 + .../src/Google/Service/SQLAdmin/SslCert.php | 102 + .../Google/Service/SQLAdmin/SslCertDetail.php | 40 + .../SslCertsCreateEphemeralRequest.php | 33 + .../SQLAdmin/SslCertsInsertRequest.php | 30 + .../SQLAdmin/SslCertsInsertResponse.php | 60 + .../Service/SQLAdmin/SslCertsListResponse.php | 41 + .../src/Google/Service/SQLAdmin/Tier.php | 71 + .../Service/SQLAdmin/TiersListResponse.php | 41 + .../Service/SQLAdmin/TruncateLogContext.php | 39 + .../src/Google/Service/SQLAdmin/User.php | 84 + .../Service/SQLAdmin/UsersListResponse.php | 50 + .../src/Google/Service/Safebrowsing.php | 171 + .../Google/Service/Safebrowsing/Checksum.php | 30 + .../Service/Safebrowsing/ClientInfo.php | 39 + .../Service/Safebrowsing/Constraints.php | 58 + .../FetchThreatListUpdatesRequest.php | 42 + .../FetchThreatListUpdatesResponse.php | 41 + .../Safebrowsing/FindFullHashesRequest.php | 61 + .../Safebrowsing/FindFullHashesResponse.php | 50 + .../Safebrowsing/FindThreatMatchesRequest.php | 41 + .../FindThreatMatchesResponse.php | 32 + .../Safebrowsing/ListThreatListsResponse.php | 32 + .../Safebrowsing/ListUpdateRequest.php | 67 + .../Safebrowsing/ListUpdateResponse.php | 97 + .../Service/Safebrowsing/MetadataEntry.php | 39 + .../Google/Service/Safebrowsing/RawHashes.php | 39 + .../Service/Safebrowsing/RawIndices.php | 31 + .../Resource/EncodedFullHashes.php | 45 + .../Safebrowsing/Resource/EncodedUpdates.php | 46 + .../Safebrowsing/Resource/FullHashes.php | 42 + .../Resource/ThreatListUpdates.php | 42 + .../Safebrowsing/Resource/ThreatLists.php | 41 + .../Safebrowsing/Resource/ThreatMatches.php | 42 + .../Safebrowsing/RiceDeltaEncoding.php | 57 + .../Service/Safebrowsing/ThreatEntry.php | 48 + .../Safebrowsing/ThreatEntryMetadata.php | 32 + .../Service/Safebrowsing/ThreatEntrySet.php | 70 + .../Service/Safebrowsing/ThreatInfo.php | 59 + .../Safebrowsing/ThreatListDescriptor.php | 48 + .../Service/Safebrowsing/ThreatMatch.php | 76 + .../src/Google/Service/Script.php | 103 + .../Google/Service/Script/ExecutionError.php | 50 + .../Service/Script/ExecutionRequest.php | 58 + .../Service/Script/ExecutionResponse.php | 30 + .../src/Google/Service/Script/Operation.php | 67 + .../Service/Script/Resource/Scripts.php | 52 + .../Script/ScriptStackTraceElement.php | 39 + .../src/Google/Service/Script/Status.php | 49 + .../src/Google/Service/SearchConsole.php | 65 + .../Service/SearchConsole/BlockedResource.php | 30 + .../Google/Service/SearchConsole/Image.php | 39 + .../SearchConsole/MobileFriendlyIssue.php | 30 + .../Resource/UrlTestingTools.php | 28 + .../UrlTestingToolsMobileFriendlyTest.php | 41 + .../Service/SearchConsole/ResourceIssue.php | 31 + .../RunMobileFriendlyTestRequest.php | 39 + .../RunMobileFriendlyTestResponse.php | 71 + .../Service/SearchConsole/TestStatus.php | 39 + .../src/Google/Service/ServiceControl.php | 127 + .../ServiceControl/AllocateQuotaRequest.php | 49 + .../ServiceControl/AllocateQuotaResponse.php | 60 + .../Service/ServiceControl/AuditLog.php | 125 + .../ServiceControl/AuthenticationInfo.php | 39 + .../ServiceControl/AuthorizationInfo.php | 48 + .../Service/ServiceControl/CheckError.php | 39 + .../Service/ServiceControl/CheckInfo.php | 31 + .../Service/ServiceControl/CheckRequest.php | 58 + .../Service/ServiceControl/CheckResponse.php | 70 + .../Service/ServiceControl/Distribution.php | 106 + .../EndReconciliationRequest.php | 40 + .../EndReconciliationResponse.php | 60 + .../ServiceControl/ExplicitBuckets.php | 31 + .../ServiceControl/ExponentialBuckets.php | 48 + .../Service/ServiceControl/LinearBuckets.php | 48 + .../Service/ServiceControl/LogEntry.php | 93 + .../Service/ServiceControl/MetricValue.php | 104 + .../Service/ServiceControl/MetricValueSet.php | 41 + .../Google/Service/ServiceControl/Money.php | 48 + .../Service/ServiceControl/Operation.php | 133 + .../Service/ServiceControl/QuotaError.php | 48 + .../Service/ServiceControl/QuotaInfo.php | 50 + .../Service/ServiceControl/QuotaOperation.php | 77 + .../ServiceControl/QuotaProperties.php | 39 + .../ServiceControl/ReleaseQuotaRequest.php | 40 + .../ServiceControl/ReleaseQuotaResponse.php | 60 + .../Service/ServiceControl/ReportError.php | 40 + .../Service/ServiceControl/ReportInfo.php | 40 + .../Service/ServiceControl/ReportRequest.php | 41 + .../Service/ServiceControl/ReportResponse.php | 51 + .../ServiceControl/RequestMetadata.php | 39 + .../ServiceControl/Resource/Services.php | 191 + .../StartReconciliationRequest.php | 40 + .../StartReconciliationResponse.php | 60 + .../Google/Service/ServiceControl/Status.php | 49 + .../src/Google/Service/ServiceManagement.php | 366 + .../Service/ServiceManagement/Advice.php | 30 + .../Service/ServiceManagement/Analytics.php | 32 + .../AnalyticsDestination.php | 40 + .../Google/Service/ServiceManagement/Api.php | 89 + .../Service/ServiceManagement/AuditConfig.php | 50 + .../ServiceManagement/AuditLogConfig.php | 40 + .../ServiceManagement/AuthProvider.php | 57 + .../ServiceManagement/AuthRequirement.php | 39 + .../ServiceManagement/Authentication.php | 42 + .../ServiceManagement/AuthenticationRule.php | 60 + .../ServiceManagement/AuthorizationConfig.php | 30 + .../Service/ServiceManagement/Backend.php | 32 + .../Service/ServiceManagement/BackendRule.php | 48 + .../Service/ServiceManagement/Binding.php | 40 + .../ServiceManagement/ChangeReport.php | 32 + .../ServiceManagement/CloudAuditOptions.php | 20 + .../Service/ServiceManagement/Condition.php | 76 + .../ServiceManagement/ConfigChange.php | 68 + .../Service/ServiceManagement/ConfigFile.php | 48 + .../ServiceManagement/ConfigOptions.php | 20 + .../Service/ServiceManagement/ConfigRef.php | 30 + .../ServiceManagement/ConfigSource.php | 41 + .../Service/ServiceManagement/Context.php | 32 + .../Service/ServiceManagement/ContextRule.php | 49 + .../Service/ServiceManagement/Control.php | 30 + .../ServiceManagement/CounterOptions.php | 39 + .../Service/ServiceManagement/CustomError.php | 41 + .../ServiceManagement/CustomErrorRule.php | 39 + .../ServiceManagement/CustomHttpPattern.php | 39 + .../ServiceManagement/DataAccessOptions.php | 20 + .../DeleteServiceStrategy.php | 20 + .../Service/ServiceManagement/Diagnostic.php | 48 + .../DisableServiceRequest.php | 30 + .../ServiceManagement/Documentation.php | 69 + .../ServiceManagement/DocumentationRule.php | 48 + .../EnableServiceRequest.php | 30 + .../Service/ServiceManagement/Endpoint.php | 67 + .../Google/Service/ServiceManagement/Enum.php | 70 + .../Service/ServiceManagement/EnumValue.php | 50 + .../ServiceManagement/Experimental.php | 31 + .../Service/ServiceManagement/Field.php | 113 + .../GenerateConfigReportRequest.php | 39 + .../GenerateConfigReportResponse.php | 60 + .../ServiceManagement/GetIamPolicyRequest.php | 20 + .../Google/Service/ServiceManagement/Http.php | 32 + .../Service/ServiceManagement/HttpRule.php | 134 + .../ServiceManagement/LabelDescriptor.php | 48 + .../ListOperationsResponse.php | 41 + .../ListServiceConfigsResponse.php | 41 + .../ListServiceRolloutsResponse.php | 41 + .../ListServicesResponse.php | 41 + .../Service/ServiceManagement/LogConfig.php | 51 + .../ServiceManagement/LogDescriptor.php | 59 + .../Service/ServiceManagement/Logging.php | 42 + .../ServiceManagement/LoggingDestination.php | 40 + .../ServiceManagement/ManagedService.php | 39 + .../ServiceManagement/MediaDownload.php | 39 + .../Service/ServiceManagement/MediaUpload.php | 39 + .../Service/ServiceManagement/Method.php | 86 + .../ServiceManagement/MetricDescriptor.php | 95 + .../Service/ServiceManagement/Mixin.php | 39 + .../MonitoredResourceDescriptor.php | 68 + .../Service/ServiceManagement/Monitoring.php | 42 + .../MonitoringDestination.php | 40 + .../ServiceManagement/OAuthRequirements.php | 30 + .../Service/ServiceManagement/Operation.php | 67 + .../ServiceManagement/OperationMetadata.php | 59 + .../Service/ServiceManagement/Option.php | 39 + .../Google/Service/ServiceManagement/Page.php | 50 + .../Service/ServiceManagement/Policy.php | 79 + .../ServiceManagement/Resource/Operations.php | 65 + .../ServiceManagement/Resource/Services.php | 265 + .../Resource/ServicesConfigs.php | 108 + .../Resource/ServicesRollouts.php | 89 + .../Service/ServiceManagement/Rollout.php | 86 + .../Google/Service/ServiceManagement/Rule.php | 87 + .../Service/ServiceManagement/Service.php | 287 + .../ServiceManagement/SetIamPolicyRequest.php | 40 + .../ServiceManagement/SourceContext.php | 30 + .../Service/ServiceManagement/SourceInfo.php | 31 + .../Service/ServiceManagement/Status.php | 49 + .../Google/Service/ServiceManagement/Step.php | 39 + .../SubmitConfigSourceRequest.php | 40 + .../SubmitConfigSourceResponse.php | 31 + .../ServiceManagement/SystemParameter.php | 48 + .../ServiceManagement/SystemParameterRule.php | 41 + .../ServiceManagement/SystemParameters.php | 32 + .../TestIamPermissionsRequest.php | 31 + .../TestIamPermissionsResponse.php | 31 + .../TrafficPercentStrategy.php | 30 + .../Google/Service/ServiceManagement/Type.php | 79 + .../UndeleteServiceResponse.php | 31 + .../Service/ServiceManagement/Usage.php | 50 + .../Service/ServiceManagement/UsageRule.php | 39 + .../Service/ServiceManagement/Visibility.php | 32 + .../ServiceManagement/VisibilityRule.php | 39 + .../src/Google/Service/ServiceRegistry.php | 221 + .../Service/ServiceRegistry/Endpoint.php | 112 + .../EndpointEndpointVisibility.php | 40 + .../ServiceRegistry/EndpointsListResponse.php | 41 + .../Service/ServiceRegistry/Operation.php | 231 + .../ServiceRegistry/OperationError.php | 32 + .../ServiceRegistry/OperationErrorErrors.php | 48 + .../ServiceRegistry/OperationWarnings.php | 50 + .../ServiceRegistry/OperationWarningsData.php | 39 + .../OperationsListResponse.php | 41 + .../ServiceRegistry/Resource/Endpoints.php | 157 + .../ServiceRegistry/Resource/Operations.php | 99 + .../src/Google/Service/ServiceUser.php | 133 + .../src/Google/Service/ServiceUser/Api.php | 89 + .../Service/ServiceUser/AuthProvider.php | 57 + .../Service/ServiceUser/AuthRequirement.php | 39 + .../Service/ServiceUser/Authentication.php | 42 + .../ServiceUser/AuthenticationRule.php | 60 + .../ServiceUser/AuthorizationConfig.php | 30 + .../Google/Service/ServiceUser/Backend.php | 32 + .../Service/ServiceUser/BackendRule.php | 48 + .../Google/Service/ServiceUser/Context.php | 32 + .../Service/ServiceUser/ContextRule.php | 49 + .../Google/Service/ServiceUser/Control.php | 30 + .../Service/ServiceUser/CustomError.php | 41 + .../Service/ServiceUser/CustomErrorRule.php | 39 + .../Service/ServiceUser/CustomHttpPattern.php | 39 + .../ServiceUser/DisableServiceRequest.php | 20 + .../Service/ServiceUser/Documentation.php | 69 + .../Service/ServiceUser/DocumentationRule.php | 48 + .../ServiceUser/EnableServiceRequest.php | 20 + .../Google/Service/ServiceUser/Endpoint.php | 67 + .../src/Google/Service/ServiceUser/Enum.php | 70 + .../Google/Service/ServiceUser/EnumValue.php | 50 + .../Service/ServiceUser/Experimental.php | 31 + .../src/Google/Service/ServiceUser/Field.php | 113 + .../src/Google/Service/ServiceUser/Http.php | 32 + .../Google/Service/ServiceUser/HttpRule.php | 134 + .../Service/ServiceUser/LabelDescriptor.php | 48 + .../ListEnabledServicesResponse.php | 41 + .../Service/ServiceUser/LogDescriptor.php | 59 + .../Google/Service/ServiceUser/Logging.php | 42 + .../ServiceUser/LoggingDestination.php | 40 + .../Service/ServiceUser/MediaDownload.php | 39 + .../Service/ServiceUser/MediaUpload.php | 39 + .../src/Google/Service/ServiceUser/Method.php | 86 + .../Service/ServiceUser/MetricDescriptor.php | 95 + .../src/Google/Service/ServiceUser/Mixin.php | 39 + .../MonitoredResourceDescriptor.php | 68 + .../Google/Service/ServiceUser/Monitoring.php | 42 + .../ServiceUser/MonitoringDestination.php | 40 + .../Service/ServiceUser/OAuthRequirements.php | 30 + .../Google/Service/ServiceUser/Operation.php | 67 + .../Service/ServiceUser/OperationMetadata.php | 59 + .../src/Google/Service/ServiceUser/Option.php | 39 + .../src/Google/Service/ServiceUser/Page.php | 50 + .../Service/ServiceUser/PublishedService.php | 40 + .../Service/ServiceUser/Resource/Projects.php | 28 + .../ServiceUser/Resource/ProjectsServices.php | 93 + .../Service/ServiceUser/Resource/Services.php | 48 + .../ServiceUser/SearchServicesResponse.php | 41 + .../Google/Service/ServiceUser/Service.php | 287 + .../Service/ServiceUser/SourceContext.php | 30 + .../Google/Service/ServiceUser/SourceInfo.php | 31 + .../src/Google/Service/ServiceUser/Status.php | 49 + .../src/Google/Service/ServiceUser/Step.php | 39 + .../Service/ServiceUser/SystemParameter.php | 48 + .../ServiceUser/SystemParameterRule.php | 41 + .../Service/ServiceUser/SystemParameters.php | 32 + .../src/Google/Service/ServiceUser/Type.php | 79 + .../src/Google/Service/ServiceUser/Usage.php | 50 + .../Google/Service/ServiceUser/UsageRule.php | 39 + .../Google/Service/ServiceUser/Visibility.php | 32 + .../Service/ServiceUser/VisibilityRule.php | 39 + .../src/Google/Service/Sheets.php | 297 + .../Service/Sheets/AddBandingRequest.php | 31 + .../Service/Sheets/AddBandingResponse.php | 31 + .../Google/Service/Sheets/AddChartRequest.php | 31 + .../Service/Sheets/AddChartResponse.php | 31 + .../AddConditionalFormatRuleRequest.php | 40 + .../Service/Sheets/AddFilterViewRequest.php | 31 + .../Service/Sheets/AddFilterViewResponse.php | 31 + .../Service/Sheets/AddNamedRangeRequest.php | 31 + .../Service/Sheets/AddNamedRangeResponse.php | 31 + .../Sheets/AddProtectedRangeRequest.php | 31 + .../Sheets/AddProtectedRangeResponse.php | 31 + .../Google/Service/Sheets/AddSheetRequest.php | 31 + .../Service/Sheets/AddSheetResponse.php | 31 + .../Service/Sheets/AppendCellsRequest.php | 50 + .../Service/Sheets/AppendDimensionRequest.php | 48 + .../Service/Sheets/AppendValuesResponse.php | 49 + .../Google/Service/Sheets/AutoFillRequest.php | 50 + .../Sheets/AutoResizeDimensionsRequest.php | 31 + .../src/Google/Service/Sheets/BandedRange.php | 60 + .../Service/Sheets/BandingProperties.php | 61 + .../Google/Service/Sheets/BasicChartAxis.php | 49 + .../Service/Sheets/BasicChartDomain.php | 31 + .../Service/Sheets/BasicChartSeries.php | 49 + .../Google/Service/Sheets/BasicChartSpec.php | 79 + .../src/Google/Service/Sheets/BasicFilter.php | 52 + .../Sheets/BatchClearValuesRequest.php | 31 + .../Sheets/BatchClearValuesResponse.php | 40 + .../Service/Sheets/BatchGetValuesResponse.php | 41 + .../Sheets/BatchUpdateSpreadsheetRequest.php | 59 + .../Sheets/BatchUpdateSpreadsheetResponse.php | 51 + .../Sheets/BatchUpdateValuesRequest.php | 68 + .../Sheets/BatchUpdateValuesResponse.php | 77 + .../Service/Sheets/BooleanCondition.php | 41 + .../src/Google/Service/Sheets/BooleanRule.php | 41 + .../src/Google/Service/Sheets/Border.php | 49 + .../src/Google/Service/Sheets/Borders.php | 61 + .../src/Google/Service/Sheets/CellData.php | 119 + .../src/Google/Service/Sheets/CellFormat.php | 126 + .../src/Google/Service/Sheets/ChartData.php | 31 + .../Service/Sheets/ChartSourceRange.php | 32 + .../src/Google/Service/Sheets/ChartSpec.php | 59 + .../Sheets/ClearBasicFilterRequest.php | 30 + .../Service/Sheets/ClearValuesRequest.php | 20 + .../Service/Sheets/ClearValuesResponse.php | 39 + .../src/Google/Service/Sheets/Color.php | 57 + .../Google/Service/Sheets/ConditionValue.php | 39 + .../Service/Sheets/ConditionalFormatRule.php | 52 + .../Service/Sheets/CopyPasteRequest.php | 59 + .../CopySheetToAnotherSpreadsheetRequest.php | 30 + .../Google/Service/Sheets/CutPasteRequest.php | 50 + .../Service/Sheets/DataValidationRule.php | 58 + .../Service/Sheets/DeleteBandingRequest.php | 30 + .../DeleteConditionalFormatRuleRequest.php | 39 + .../DeleteConditionalFormatRuleResponse.php | 31 + .../Service/Sheets/DeleteDimensionRequest.php | 31 + .../Sheets/DeleteEmbeddedObjectRequest.php | 30 + .../Sheets/DeleteFilterViewRequest.php | 30 + .../Sheets/DeleteNamedRangeRequest.php | 30 + .../Sheets/DeleteProtectedRangeRequest.php | 30 + .../Service/Sheets/DeleteRangeRequest.php | 40 + .../Service/Sheets/DeleteSheetRequest.php | 30 + .../Service/Sheets/DimensionProperties.php | 48 + .../Google/Service/Sheets/DimensionRange.php | 57 + .../Sheets/DuplicateFilterViewRequest.php | 30 + .../Sheets/DuplicateFilterViewResponse.php | 31 + .../Service/Sheets/DuplicateSheetRequest.php | 57 + .../Service/Sheets/DuplicateSheetResponse.php | 31 + .../src/Google/Service/Sheets/Editors.php | 49 + .../Google/Service/Sheets/EmbeddedChart.php | 50 + .../Service/Sheets/EmbeddedObjectPosition.php | 49 + .../src/Google/Service/Sheets/ErrorValue.php | 39 + .../Google/Service/Sheets/ExtendedValue.php | 67 + .../Google/Service/Sheets/FilterCriteria.php | 41 + .../src/Google/Service/Sheets/FilterView.php | 79 + .../Service/Sheets/FindReplaceRequest.php | 103 + .../Service/Sheets/FindReplaceResponse.php | 66 + .../Google/Service/Sheets/GradientRule.php | 51 + .../Google/Service/Sheets/GridCoordinate.php | 48 + .../src/Google/Service/Sheets/GridData.php | 70 + .../Google/Service/Sheets/GridProperties.php | 66 + .../src/Google/Service/Sheets/GridRange.php | 66 + .../Service/Sheets/InsertDimensionRequest.php | 40 + .../Service/Sheets/InsertRangeRequest.php | 40 + .../Service/Sheets/InterpolationPoint.php | 49 + .../Sheets/IterativeCalculationSettings.php | 39 + .../Service/Sheets/MergeCellsRequest.php | 40 + .../Service/Sheets/MoveDimensionRequest.php | 40 + .../src/Google/Service/Sheets/NamedRange.php | 49 + .../Google/Service/Sheets/NumberFormat.php | 39 + .../Google/Service/Sheets/OverlayPosition.php | 67 + .../src/Google/Service/Sheets/Padding.php | 57 + .../Service/Sheets/PasteDataRequest.php | 67 + .../Google/Service/Sheets/PieChartSpec.php | 68 + .../Service/Sheets/PivotFilterCriteria.php | 31 + .../src/Google/Service/Sheets/PivotGroup.php | 69 + .../Sheets/PivotGroupSortValueBucket.php | 41 + .../Sheets/PivotGroupValueMetadata.php | 40 + .../src/Google/Service/Sheets/PivotTable.php | 81 + .../src/Google/Service/Sheets/PivotValue.php | 57 + .../Google/Service/Sheets/ProtectedRange.php | 97 + .../Service/Sheets/RepeatCellRequest.php | 50 + .../src/Google/Service/Sheets/Request.php | 511 ++ .../Service/Sheets/Resource/Spreadsheets.php | 106 + .../Sheets/Resource/SpreadsheetsSheets.php | 45 + .../Sheets/Resource/SpreadsheetsValues.php | 203 + .../src/Google/Service/Sheets/Response.php | 141 + .../src/Google/Service/Sheets/RowData.php | 32 + .../Service/Sheets/SetBasicFilterRequest.php | 31 + .../Sheets/SetDataValidationRequest.php | 41 + .../src/Google/Service/Sheets/Sheet.php | 112 + .../Google/Service/Sheets/SheetProperties.php | 95 + .../Service/Sheets/SortRangeRequest.php | 42 + .../src/Google/Service/Sheets/SortSpec.php | 39 + .../Service/Sheets/SourceAndDestination.php | 49 + .../src/Google/Service/Sheets/Spreadsheet.php | 70 + .../Service/Sheets/SpreadsheetProperties.php | 77 + .../src/Google/Service/Sheets/TextFormat.php | 85 + .../Google/Service/Sheets/TextFormatRun.php | 40 + .../Google/Service/Sheets/TextRotation.php | 39 + .../Service/Sheets/TextToColumnsRequest.php | 49 + .../Service/Sheets/UnmergeCellsRequest.php | 31 + .../Service/Sheets/UpdateBandingRequest.php | 40 + .../Service/Sheets/UpdateBordersRequest.php | 91 + .../Service/Sheets/UpdateCellsRequest.php | 61 + .../Service/Sheets/UpdateChartSpecRequest.php | 40 + .../UpdateConditionalFormatRuleRequest.php | 58 + .../UpdateConditionalFormatRuleResponse.php | 59 + .../UpdateDimensionPropertiesRequest.php | 50 + .../UpdateEmbeddedObjectPositionRequest.php | 49 + .../UpdateEmbeddedObjectPositionResponse.php | 31 + .../Sheets/UpdateFilterViewRequest.php | 40 + .../Sheets/UpdateNamedRangeRequest.php | 40 + .../Sheets/UpdateProtectedRangeRequest.php | 40 + .../Sheets/UpdateSheetPropertiesRequest.php | 40 + .../UpdateSpreadsheetPropertiesRequest.php | 40 + .../Service/Sheets/UpdateValuesResponse.php | 76 + .../src/Google/Service/Sheets/ValueRange.php | 49 + .../src/Google/Service/ShoppingContent.php | 1114 +++ .../Service/ShoppingContent/Account.php | 105 + .../ShoppingContent/AccountAdwordsLink.php | 39 + .../ShoppingContent/AccountIdentifier.php | 39 + .../ShoppingContent/AccountShipping.php | 80 + .../AccountShippingCarrierRate.php | 85 + .../AccountShippingCondition.php | 87 + .../AccountShippingLocationGroup.php | 68 + .../AccountShippingPostalCodeRange.php | 39 + .../AccountShippingRateTable.php | 50 + .../AccountShippingRateTableCell.php | 41 + .../AccountShippingShippingService.php | 86 + ...ippingShippingServiceCalculationMethod.php | 67 + ...AccountShippingShippingServiceCostRule.php | 52 + .../Service/ShoppingContent/AccountStatus.php | 50 + .../AccountStatusDataQualityIssue.php | 113 + .../AccountStatusExampleItem.php | 66 + .../Service/ShoppingContent/AccountTax.php | 50 + .../ShoppingContent/AccountTaxTaxRule.php | 66 + .../Service/ShoppingContent/AccountUser.php | 39 + .../AccountsAuthInfoResponse.php | 41 + .../AccountsCustomBatchRequest.php | 32 + .../AccountsCustomBatchRequestEntry.php | 67 + .../AccountsCustomBatchResponse.php | 41 + .../AccountsCustomBatchResponseEntry.php | 59 + .../ShoppingContent/AccountsListResponse.php | 50 + .../AccountshippingCustomBatchRequest.php | 32 + ...AccountshippingCustomBatchRequestEntry.php | 67 + .../AccountshippingCustomBatchResponse.php | 41 + ...ccountshippingCustomBatchResponseEntry.php | 59 + .../AccountshippingListResponse.php | 50 + .../AccountstatusesCustomBatchRequest.php | 32 + ...AccountstatusesCustomBatchRequestEntry.php | 57 + .../AccountstatusesCustomBatchResponse.php | 41 + ...ccountstatusesCustomBatchResponseEntry.php | 50 + .../AccountstatusesListResponse.php | 50 + .../AccounttaxCustomBatchRequest.php | 32 + .../AccounttaxCustomBatchRequestEntry.php | 67 + .../AccounttaxCustomBatchResponse.php | 41 + .../AccounttaxCustomBatchResponseEntry.php | 59 + .../AccounttaxListResponse.php | 50 + .../Service/ShoppingContent/CarrierRate.php | 76 + .../ShoppingContent/CarriersCarrier.php | 49 + .../Service/ShoppingContent/Datafeed.php | 123 + .../ShoppingContent/DatafeedFetchSchedule.php | 93 + .../ShoppingContent/DatafeedFormat.php | 48 + .../ShoppingContent/DatafeedStatus.php | 96 + .../ShoppingContent/DatafeedStatusError.php | 59 + .../ShoppingContent/DatafeedStatusExample.php | 48 + .../DatafeedsCustomBatchRequest.php | 32 + .../DatafeedsCustomBatchRequestEntry.php | 67 + .../DatafeedsCustomBatchResponse.php | 41 + .../DatafeedsCustomBatchResponseEntry.php | 50 + .../ShoppingContent/DatafeedsListResponse.php | 50 + .../DatafeedstatusesCustomBatchRequest.php | 32 + ...atafeedstatusesCustomBatchRequestEntry.php | 57 + .../DatafeedstatusesCustomBatchResponse.php | 41 + ...tafeedstatusesCustomBatchResponseEntry.php | 50 + .../DatafeedstatusesListResponse.php | 50 + .../Service/ShoppingContent/DeliveryTime.php | 39 + .../Google/Service/ShoppingContent/Error.php | 48 + .../Google/Service/ShoppingContent/Errors.php | 50 + .../Service/ShoppingContent/Headers.php | 70 + .../Service/ShoppingContent/Installment.php | 40 + .../Service/ShoppingContent/Inventory.php | 116 + .../InventoryCustomBatchRequest.php | 32 + .../InventoryCustomBatchRequestEntry.php | 67 + .../InventoryCustomBatchResponse.php | 41 + .../InventoryCustomBatchResponseEntry.php | 49 + .../ShoppingContent/InventoryPickup.php | 39 + .../ShoppingContent/InventorySetRequest.php | 107 + .../ShoppingContent/InventorySetResponse.php | 30 + .../Service/ShoppingContent/LocationIdSet.php | 31 + .../Service/ShoppingContent/LoyaltyPoints.php | 48 + .../Google/Service/ShoppingContent/Order.php | 212 + .../Service/ShoppingContent/OrderAddress.php | 94 + .../ShoppingContent/OrderCancellation.php | 66 + .../Service/ShoppingContent/OrderCustomer.php | 48 + .../ShoppingContent/OrderDeliveryDetails.php | 40 + .../Service/ShoppingContent/OrderLineItem.php | 155 + .../ShoppingContent/OrderLineItemProduct.php | 159 + .../OrderLineItemProductVariantAttribute.php | 39 + .../OrderLineItemReturnInfo.php | 48 + .../OrderLineItemShippingDetails.php | 49 + .../OrderLineItemShippingDetailsMethod.php | 57 + .../ShoppingContent/OrderPaymentMethod.php | 76 + .../ShoppingContent/OrderPromotion.php | 86 + .../ShoppingContent/OrderPromotionBenefit.php | 69 + .../Service/ShoppingContent/OrderRefund.php | 67 + .../Service/ShoppingContent/OrderReturn.php | 66 + .../Service/ShoppingContent/OrderShipment.php | 86 + .../OrderShipmentLineItemShipment.php | 39 + .../OrdersAcknowledgeRequest.php | 30 + .../OrdersAcknowledgeResponse.php | 39 + .../OrdersAdvanceTestOrderResponse.php | 30 + .../OrdersCancelLineItemRequest.php | 76 + .../OrdersCancelLineItemResponse.php | 39 + .../ShoppingContent/OrdersCancelRequest.php | 48 + .../ShoppingContent/OrdersCancelResponse.php | 39 + .../OrdersCreateTestOrderRequest.php | 40 + .../OrdersCreateTestOrderResponse.php | 39 + .../OrdersCustomBatchRequest.php | 32 + .../OrdersCustomBatchRequestEntry.php | 135 + .../OrdersCustomBatchRequestEntryCancel.php | 39 + ...sCustomBatchRequestEntryCancelLineItem.php | 67 + .../OrdersCustomBatchRequestEntryRefund.php | 49 + ...sCustomBatchRequestEntryReturnLineItem.php | 57 + ...rsCustomBatchRequestEntryShipLineItems.php | 59 + ...sCustomBatchRequestEntryUpdateShipment.php | 57 + .../OrdersCustomBatchResponse.php | 41 + .../OrdersCustomBatchResponseEntry.php | 68 + .../OrdersGetByMerchantOrderIdResponse.php | 40 + .../OrdersGetTestOrderTemplateResponse.php | 40 + .../ShoppingContent/OrdersListResponse.php | 50 + .../ShoppingContent/OrdersRefundRequest.php | 58 + .../ShoppingContent/OrdersRefundResponse.php | 39 + .../OrdersReturnLineItemRequest.php | 66 + .../OrdersReturnLineItemResponse.php | 39 + .../OrdersShipLineItemsRequest.php | 68 + .../OrdersShipLineItemsResponse.php | 39 + .../OrdersUpdateMerchantOrderIdRequest.php | 39 + .../OrdersUpdateMerchantOrderIdResponse.php | 39 + .../OrdersUpdateShipmentRequest.php | 66 + .../OrdersUpdateShipmentResponse.php | 39 + .../ShoppingContent/PostalCodeGroup.php | 50 + .../ShoppingContent/PostalCodeRange.php | 39 + .../Google/Service/ShoppingContent/Price.php | 39 + .../Service/ShoppingContent/Product.php | 687 ++ .../Service/ShoppingContent/ProductAspect.php | 48 + .../ProductCustomAttribute.php | 57 + .../ShoppingContent/ProductCustomGroup.php | 41 + .../ShoppingContent/ProductDestination.php | 39 + .../ShoppingContent/ProductShipping.php | 85 + .../ProductShippingDimension.php | 39 + .../ShoppingContent/ProductShippingWeight.php | 39 + .../Service/ShoppingContent/ProductStatus.php | 105 + .../ProductStatusDataQualityIssue.php | 93 + .../ProductStatusDestinationStatus.php | 48 + .../Service/ShoppingContent/ProductTax.php | 75 + .../ProductUnitPricingBaseMeasure.php | 39 + .../ProductUnitPricingMeasure.php | 39 + .../ProductsCustomBatchRequest.php | 32 + .../ProductsCustomBatchRequestEntry.php | 67 + .../ProductsCustomBatchResponse.php | 41 + .../ProductsCustomBatchResponseEntry.php | 59 + .../ShoppingContent/ProductsListResponse.php | 50 + .../ProductstatusesCustomBatchRequest.php | 32 + ...ProductstatusesCustomBatchRequestEntry.php | 57 + .../ProductstatusesCustomBatchResponse.php | 41 + ...roductstatusesCustomBatchResponseEntry.php | 59 + .../ProductstatusesListResponse.php | 50 + .../Service/ShoppingContent/RateGroup.php | 71 + .../ShoppingContent/Resource/Accounts.php | 164 + .../Resource/Accountshipping.php | 123 + .../Resource/Accountstatuses.php | 77 + .../ShoppingContent/Resource/Accounttax.php | 123 + .../ShoppingContent/Resource/Datafeeds.php | 146 + .../Resource/Datafeedstatuses.php | 76 + .../ShoppingContent/Resource/Inventory.php | 69 + .../ShoppingContent/Resource/Orders.php | 287 + .../ShoppingContent/Resource/Products.php | 116 + .../Resource/Productstatuses.php | 79 + .../Resource/Shippingsettings.php | 138 + .../Google/Service/ShoppingContent/Row.php | 32 + .../Service/ShoppingContent/Service.php | 78 + .../ShoppingContent/ShippingSettings.php | 51 + .../ShippingsettingsCustomBatchRequest.php | 32 + ...hippingsettingsCustomBatchRequestEntry.php | 67 + .../ShippingsettingsCustomBatchResponse.php | 41 + ...ippingsettingsCustomBatchResponseEntry.php | 59 + ...ngsettingsGetSupportedCarriersResponse.php | 41 + .../ShippingsettingsListResponse.php | 50 + .../Google/Service/ShoppingContent/Table.php | 61 + .../Service/ShoppingContent/TestOrder.php | 109 + .../ShoppingContent/TestOrderCustomer.php | 48 + .../ShoppingContent/TestOrderLineItem.php | 70 + .../TestOrderLineItemProduct.php | 141 + .../TestOrderPaymentMethod.php | 66 + .../Google/Service/ShoppingContent/Value.php | 67 + .../Google/Service/ShoppingContent/Weight.php | 39 + .../src/Google/Service/SiteVerification.php | 124 + .../SiteVerification/Resource/WebResource.php | 124 + ...VerificationWebResourceGettokenRequest.php | 40 + ...ficationWebResourceGettokenRequestSite.php | 39 + ...erificationWebResourceGettokenResponse.php | 39 + ...iteVerificationWebResourceListResponse.php | 32 + .../SiteVerificationWebResourceResource.php | 50 + ...iteVerificationWebResourceResourceSite.php | 39 + .../src/Google/Service/Slides.php | 128 + .../Google/Service/Slides/AffineTransform.php | 84 + .../src/Google/Service/Slides/AutoText.php | 49 + .../Slides/BatchUpdatePresentationRequest.php | 42 + .../BatchUpdatePresentationResponse.php | 41 + .../src/Google/Service/Slides/Bullet.php | 58 + .../src/Google/Service/Slides/ColorScheme.php | 32 + .../src/Google/Service/Slides/ColorStop.php | 49 + .../Service/Slides/CreateImageRequest.php | 49 + .../Service/Slides/CreateImageResponse.php | 30 + .../Service/Slides/CreateLineRequest.php | 49 + .../Service/Slides/CreateLineResponse.php | 30 + .../Slides/CreateParagraphBulletsRequest.php | 59 + .../Service/Slides/CreateShapeRequest.php | 49 + .../Service/Slides/CreateShapeResponse.php | 30 + .../Slides/CreateSheetsChartRequest.php | 67 + .../Slides/CreateSheetsChartResponse.php | 30 + .../Service/Slides/CreateSlideRequest.php | 60 + .../Service/Slides/CreateSlideResponse.php | 30 + .../Service/Slides/CreateTableRequest.php | 58 + .../Service/Slides/CreateTableResponse.php | 30 + .../Service/Slides/CreateVideoRequest.php | 58 + .../Service/Slides/CreateVideoResponse.php | 30 + .../Google/Service/Slides/CropProperties.php | 66 + .../Service/Slides/DeleteObjectRequest.php | 30 + .../Slides/DeleteParagraphBulletsRequest.php | 50 + .../Slides/DeleteTableColumnRequest.php | 40 + .../Service/Slides/DeleteTableRowRequest.php | 40 + .../Service/Slides/DeleteTextRequest.php | 50 + .../src/Google/Service/Slides/Dimension.php | 39 + .../Service/Slides/DuplicateObjectRequest.php | 39 + .../Slides/DuplicateObjectResponse.php | 30 + .../src/Google/Service/Slides/Group.php | 32 + .../src/Google/Service/Slides/Image.php | 40 + .../Google/Service/Slides/ImageProperties.php | 98 + .../Slides/InsertTableColumnsRequest.php | 58 + .../Service/Slides/InsertTableRowsRequest.php | 58 + .../Service/Slides/InsertTextRequest.php | 58 + .../Slides/LayoutPlaceholderIdMapping.php | 49 + .../Service/Slides/LayoutProperties.php | 48 + .../Google/Service/Slides/LayoutReference.php | 39 + .../src/Google/Service/Slides/Line.php | 40 + .../src/Google/Service/Slides/LineFill.php | 31 + .../Google/Service/Slides/LineProperties.php | 78 + .../src/Google/Service/Slides/Link.php | 57 + .../Google/Service/Slides/NestingLevel.php | 31 + .../Google/Service/Slides/NotesProperties.php | 30 + .../src/Google/Service/Slides/OpaqueColor.php | 40 + .../Google/Service/Slides/OptionalColor.php | 31 + .../src/Google/Service/Slides/Outline.php | 59 + .../src/Google/Service/Slides/OutlineFill.php | 31 + .../src/Google/Service/Slides/Page.php | 99 + .../Service/Slides/PageBackgroundFill.php | 50 + .../src/Google/Service/Slides/PageElement.php | 148 + .../Service/Slides/PageElementProperties.php | 50 + .../Google/Service/Slides/PageProperties.php | 41 + .../Google/Service/Slides/ParagraphMarker.php | 41 + .../Google/Service/Slides/ParagraphStyle.php | 107 + .../src/Google/Service/Slides/Placeholder.php | 48 + .../Google/Service/Slides/Presentation.php | 108 + .../src/Google/Service/Slides/Range.php | 48 + .../src/Google/Service/Slides/Recolor.php | 41 + .../Slides/RefreshSheetsChartRequest.php | 30 + .../ReplaceAllShapesWithImageRequest.php | 49 + .../ReplaceAllShapesWithImageResponse.php | 30 + ...ReplaceAllShapesWithSheetsChartRequest.php | 58 + ...eplaceAllShapesWithSheetsChartResponse.php | 30 + .../Service/Slides/ReplaceAllTextRequest.php | 40 + .../Service/Slides/ReplaceAllTextResponse.php | 30 + .../src/Google/Service/Slides/Request.php | 331 + .../Service/Slides/Resource/Presentations.php | 87 + .../Slides/Resource/PresentationsPages.php | 43 + .../src/Google/Service/Slides/Response.php | 131 + .../src/Google/Service/Slides/RgbColor.php | 48 + .../src/Google/Service/Slides/Shadow.php | 96 + .../src/Google/Service/Slides/Shape.php | 60 + .../Service/Slides/ShapeBackgroundFill.php | 40 + .../Google/Service/Slides/ShapeProperties.php | 61 + .../src/Google/Service/Slides/SheetsChart.php | 58 + .../Service/Slides/SheetsChartProperties.php | 31 + .../src/Google/Service/Slides/Size.php | 41 + .../Google/Service/Slides/SlideProperties.php | 49 + .../src/Google/Service/Slides/SlidesList.php | 40 + .../src/Google/Service/Slides/SolidFill.php | 40 + .../Service/Slides/StretchedPictureFill.php | 40 + .../Service/Slides/SubstringMatchCriteria.php | 39 + .../src/Google/Service/Slides/Table.php | 60 + .../src/Google/Service/Slides/TableCell.php | 69 + .../Slides/TableCellBackgroundFill.php | 40 + .../Service/Slides/TableCellLocation.php | 39 + .../Service/Slides/TableCellProperties.php | 31 + .../Service/Slides/TableColumnProperties.php | 31 + .../src/Google/Service/Slides/TableRange.php | 49 + .../src/Google/Service/Slides/TableRow.php | 42 + .../src/Google/Service/Slides/TextContent.php | 42 + .../src/Google/Service/Slides/TextElement.php | 69 + .../src/Google/Service/Slides/TextRun.php | 40 + .../src/Google/Service/Slides/TextStyle.php | 134 + .../Google/Service/Slides/ThemeColorPair.php | 40 + .../Slides/UpdateImagePropertiesRequest.php | 49 + .../Slides/UpdateLinePropertiesRequest.php | 49 + .../UpdatePageElementTransformRequest.php | 49 + .../Slides/UpdatePagePropertiesRequest.php | 49 + .../Slides/UpdateParagraphStyleRequest.php | 69 + .../Slides/UpdateShapePropertiesRequest.php | 49 + .../Slides/UpdateSlidesPositionRequest.php | 40 + .../UpdateTableCellPropertiesRequest.php | 59 + .../Service/Slides/UpdateTextStyleRequest.php | 69 + .../Slides/UpdateVideoPropertiesRequest.php | 49 + .../src/Google/Service/Slides/Video.php | 58 + .../Google/Service/Slides/VideoProperties.php | 31 + .../Service/Slides/WeightedFontFamily.php | 39 + .../src/Google/Service/Slides/WordArt.php | 30 + .../Google/Service/Slides/WriteControl.php | 30 + .../src/Google/Service/Spanner.php | 541 ++ .../Google/Service/Spanner/AuditConfig.php | 50 + .../Google/Service/Spanner/AuditLogConfig.php | 40 + .../Spanner/BeginTransactionRequest.php | 31 + .../src/Google/Service/Spanner/Binding.php | 40 + .../src/Google/Service/Spanner/ChildLink.php | 48 + .../Service/Spanner/CloudAuditOptions.php | 20 + .../Google/Service/Spanner/CommitRequest.php | 51 + .../Google/Service/Spanner/CommitResponse.php | 30 + .../src/Google/Service/Spanner/Condition.php | 76 + .../Google/Service/Spanner/CounterOptions.php | 39 + .../Spanner/CreateDatabaseMetadata.php | 30 + .../Service/Spanner/CreateDatabaseRequest.php | 40 + .../Spanner/CreateInstanceMetadata.php | 58 + .../Service/Spanner/CreateInstanceRequest.php | 40 + .../Service/Spanner/DataAccessOptions.php | 20 + .../src/Google/Service/Spanner/Database.php | 39 + .../src/Google/Service/Spanner/Delete.php | 40 + .../Service/Spanner/ExecuteSqlRequest.php | 77 + .../src/Google/Service/Spanner/Field.php | 40 + .../Spanner/GetDatabaseDdlResponse.php | 31 + .../Service/Spanner/GetIamPolicyRequest.php | 20 + .../src/Google/Service/Spanner/Instance.php | 75 + .../Google/Service/Spanner/InstanceConfig.php | 39 + .../src/Google/Service/Spanner/KeyRange.php | 58 + .../src/Google/Service/Spanner/KeySet.php | 50 + .../Service/Spanner/ListDatabasesResponse.php | 41 + .../Spanner/ListInstanceConfigsResponse.php | 41 + .../Service/Spanner/ListInstancesResponse.php | 41 + .../Spanner/ListOperationsResponse.php | 41 + .../src/Google/Service/Spanner/LogConfig.php | 51 + .../src/Google/Service/Spanner/Mutation.php | 71 + .../src/Google/Service/Spanner/Operation.php | 67 + .../Service/Spanner/PartialResultSet.php | 69 + .../src/Google/Service/Spanner/PlanNode.php | 87 + .../src/Google/Service/Spanner/Policy.php | 79 + .../src/Google/Service/Spanner/QueryPlan.php | 32 + .../src/Google/Service/Spanner/ReadOnly.php | 75 + .../Google/Service/Spanner/ReadRequest.php | 87 + .../src/Google/Service/Spanner/ReadWrite.php | 20 + .../Service/Spanner/Resource/Projects.php | 28 + .../Resource/ProjectsInstanceConfigs.php | 65 + .../Spanner/Resource/ProjectsInstances.php | 253 + .../Resource/ProjectsInstancesDatabases.php | 188 + .../ProjectsInstancesDatabasesOperations.php | 102 + .../ProjectsInstancesDatabasesSessions.php | 231 + .../Resource/ProjectsInstancesOperations.php | 102 + .../src/Google/Service/Spanner/ResultSet.php | 51 + .../Service/Spanner/ResultSetMetadata.php | 41 + .../Google/Service/Spanner/ResultSetStats.php | 40 + .../Service/Spanner/RollbackRequest.php | 30 + .../src/Google/Service/Spanner/Rule.php | 87 + .../src/Google/Service/Spanner/Session.php | 30 + .../Service/Spanner/SetIamPolicyRequest.php | 40 + .../Service/Spanner/ShortRepresentation.php | 39 + .../Google/Service/Spanner/SpannerEmpty.php | 20 + .../src/Google/Service/Spanner/Status.php | 49 + .../src/Google/Service/Spanner/StructType.php | 32 + .../Spanner/TestIamPermissionsRequest.php | 31 + .../Spanner/TestIamPermissionsResponse.php | 31 + .../Google/Service/Spanner/Transaction.php | 39 + .../Service/Spanner/TransactionOptions.php | 41 + .../Service/Spanner/TransactionSelector.php | 50 + .../src/Google/Service/Spanner/Type.php | 50 + .../Spanner/UpdateDatabaseDdlMetadata.php | 49 + .../Spanner/UpdateDatabaseDdlRequest.php | 40 + .../Spanner/UpdateInstanceMetadata.php | 58 + .../Service/Spanner/UpdateInstanceRequest.php | 40 + .../src/Google/Service/Spanner/Write.php | 49 + .../src/Google/Service/Spectrum.php | 85 + .../Spectrum/AntennaCharacteristics.php | 48 + .../Google/Service/Spectrum/DatabaseSpec.php | 39 + .../Google/Service/Spectrum/DbUpdateSpec.php | 32 + .../Service/Spectrum/DeviceCapabilities.php | 32 + .../Service/Spectrum/DeviceDescriptor.php | 112 + .../Google/Service/Spectrum/DeviceOwner.php | 41 + .../Service/Spectrum/DeviceValidity.php | 49 + .../src/Google/Service/Spectrum/EventTime.php | 39 + .../Service/Spectrum/FrequencyRange.php | 57 + .../Google/Service/Spectrum/GeoLocation.php | 50 + .../Service/Spectrum/GeoLocationEllipse.php | 58 + .../Service/Spectrum/GeoLocationPoint.php | 39 + .../Service/Spectrum/GeoLocationPolygon.php | 32 + .../Service/Spectrum/GeoSpectrumSchedule.php | 42 + .../Spectrum/PawsGetSpectrumBatchRequest.php | 109 + .../Spectrum/PawsGetSpectrumBatchResponse.php | 125 + .../Spectrum/PawsGetSpectrumRequest.php | 108 + .../Spectrum/PawsGetSpectrumResponse.php | 125 + .../Service/Spectrum/PawsInitRequest.php | 59 + .../Service/Spectrum/PawsInitResponse.php | 68 + .../Spectrum/PawsNotifySpectrumUseRequest.php | 70 + .../PawsNotifySpectrumUseResponse.php | 48 + .../Service/Spectrum/PawsRegisterRequest.php | 79 + .../Service/Spectrum/PawsRegisterResponse.php | 58 + .../Spectrum/PawsVerifyDeviceRequest.php | 50 + .../Spectrum/PawsVerifyDeviceResponse.php | 69 + .../Google/Service/Spectrum/Resource/Paws.php | 117 + .../Google/Service/Spectrum/RulesetInfo.php | 58 + .../Service/Spectrum/SpectrumMessage.php | 41 + .../Service/Spectrum/SpectrumSchedule.php | 42 + .../src/Google/Service/Spectrum/Vcard.php | 70 + .../Google/Service/Spectrum/VcardAddress.php | 75 + .../Service/Spectrum/VcardTelephone.php | 30 + .../Service/Spectrum/VcardTypedText.php | 30 + .../src/Google/Service/Speech.php | 133 + .../Service/Speech/AsyncRecognizeRequest.php | 41 + .../Service/Speech/CancelOperationRequest.php | 20 + .../Service/Speech/ListOperationsResponse.php | 41 + .../src/Google/Service/Speech/Operation.php | 67 + .../Service/Speech/RecognitionAudio.php | 39 + .../Service/Speech/RecognitionConfig.php | 76 + .../Service/Speech/Resource/Operations.php | 102 + .../Google/Service/Speech/Resource/Speech.php | 59 + .../Google/Service/Speech/SpeechContext.php | 31 + .../src/Google/Service/Speech/SpeechEmpty.php | 20 + .../Speech/SpeechRecognitionAlternative.php | 39 + .../Speech/SpeechRecognitionResult.php | 32 + .../src/Google/Service/Speech/Status.php | 49 + .../Service/Speech/SyncRecognizeRequest.php | 41 + .../Service/Speech/SyncRecognizeResponse.php | 32 + .../src/Google/Service/Storage.php | 1126 +++ .../src/Google/Service/Storage/Bucket.php | 201 + .../Service/Storage/BucketAccessControl.php | 121 + .../BucketAccessControlProjectTeam.php | 39 + .../Service/Storage/BucketAccessControls.php | 41 + .../src/Google/Service/Storage/BucketCors.php | 58 + .../Service/Storage/BucketEncryption.php | 33 + .../Service/Storage/BucketLifecycle.php | 32 + .../Service/Storage/BucketLifecycleRule.php | 41 + .../Storage/BucketLifecycleRuleAction.php | 39 + .../Storage/BucketLifecycleRuleCondition.php | 67 + .../Google/Service/Storage/BucketLogging.php | 39 + .../Google/Service/Storage/BucketOwner.php | 39 + .../Service/Storage/BucketVersioning.php | 30 + .../Google/Service/Storage/BucketWebsite.php | 39 + .../src/Google/Service/Storage/Buckets.php | 50 + .../src/Google/Service/Storage/Channel.php | 111 + .../Google/Service/Storage/ComposeRequest.php | 51 + .../Storage/ComposeRequestSourceObjects.php | 49 + ...equestSourceObjectsObjectPreconditions.php | 30 + .../Service/Storage/ObjectAccessControl.php | 139 + .../ObjectAccessControlProjectTeam.php | 39 + .../Service/Storage/ObjectAccessControls.php | 41 + .../src/Google/Service/Storage/Objects.php | 59 + .../src/Google/Service/Storage/Policy.php | 59 + .../Google/Service/Storage/PolicyBindings.php | 40 + .../Storage/Resource/BucketAccessControls.php | 125 + .../Service/Storage/Resource/Buckets.php | 208 + .../Service/Storage/Resource/Channels.php | 40 + .../Resource/DefaultObjectAccessControls.php | 132 + .../Storage/Resource/ObjectAccessControls.php | 155 + .../Service/Storage/Resource/Objects.php | 444 ++ .../Service/Storage/RewriteResponse.php | 76 + .../Google/Service/Storage/StorageObject.php | 268 + .../StorageObjectCustomerEncryption.php | 39 + .../Service/Storage/StorageObjectOwner.php | 39 + .../Storage/TestIamPermissionsResponse.php | 40 + .../src/Google/Service/Storagetransfer.php | 233 + .../Service/Storagetransfer/AwsAccessKey.php | 39 + .../Service/Storagetransfer/AwsS3Data.php | 40 + .../Google/Service/Storagetransfer/Date.php | 48 + .../Service/Storagetransfer/ErrorLogEntry.php | 40 + .../Service/Storagetransfer/ErrorSummary.php | 50 + .../Service/Storagetransfer/GcsData.php | 30 + .../Storagetransfer/GoogleServiceAccount.php | 30 + .../Service/Storagetransfer/HttpData.php | 30 + .../ListOperationsResponse.php | 41 + .../ListTransferJobsResponse.php | 41 + .../Storagetransfer/ObjectConditions.php | 58 + .../Service/Storagetransfer/Operation.php | 67 + .../PauseTransferOperationRequest.php | 20 + .../Resource/GoogleServiceAccounts.php | 48 + .../Storagetransfer/Resource/TransferJobs.php | 96 + .../Resource/TransferOperations.php | 121 + .../Service/Storagetransfer/Resource/V1.php | 49 + .../ResumeTransferOperationRequest.php | 20 + .../Service/Storagetransfer/Schedule.php | 51 + .../Google/Service/Storagetransfer/Status.php | 49 + .../Storagetransfer/StoragetransferEmpty.php | 20 + .../Service/Storagetransfer/TimeOfDay.php | 57 + .../Storagetransfer/TransferCounters.php | 165 + .../Service/Storagetransfer/TransferJob.php | 104 + .../Storagetransfer/TransferOperation.php | 106 + .../Storagetransfer/TransferOptions.php | 48 + .../Service/Storagetransfer/TransferSpec.php | 81 + .../UpdateTransferJobRequest.php | 49 + .../src/Google/Service/Surveys.php | 210 + .../src/Google/Service/Surveys/FieldMask.php | 41 + .../Google/Service/Surveys/MobileAppPanel.php | 76 + .../Surveys/MobileAppPanelsListResponse.php | 61 + .../src/Google/Service/Surveys/PageInfo.php | 48 + .../Surveys/Resource/Mobileapppanels.php | 74 + .../Service/Surveys/Resource/Results.php | 43 + .../Service/Surveys/Resource/Surveys.php | 125 + .../Service/Surveys/ResultsGetRequest.php | 31 + .../Google/Service/Surveys/ResultsMask.php | 41 + .../src/Google/Service/Surveys/Survey.php | 125 + .../Google/Service/Surveys/SurveyAudience.php | 85 + .../src/Google/Service/Surveys/SurveyCost.php | 57 + .../Google/Service/Surveys/SurveyQuestion.php | 185 + .../Service/Surveys/SurveyQuestionImage.php | 48 + .../Service/Surveys/SurveyRejection.php | 39 + .../Google/Service/Surveys/SurveyResults.php | 39 + .../Service/Surveys/SurveysDeleteResponse.php | 30 + .../Service/Surveys/SurveysListResponse.php | 61 + .../Service/Surveys/SurveysStartRequest.php | 30 + .../Service/Surveys/SurveysStartResponse.php | 40 + .../Service/Surveys/SurveysStopResponse.php | 40 + .../Service/Surveys/TokenPagination.php | 39 + .../src/Google/Service/TagManager.php | 1099 +++ .../src/Google/Service/TagManager/Account.php | 57 + .../Service/TagManager/AccountAccess.php | 31 + .../Google/Service/TagManager/Condition.php | 41 + .../Google/Service/TagManager/Container.php | 121 + .../Service/TagManager/ContainerAccess.php | 40 + .../Service/TagManager/ContainerVersion.php | 155 + .../TagManager/ContainerVersionHeader.php | 111 + ...eContainerVersionRequestVersionOptions.php | 48 + .../CreateContainerVersionResponse.php | 40 + .../Google/Service/TagManager/Environment.php | 129 + .../src/Google/Service/TagManager/Folder.php | 66 + .../Service/TagManager/FolderEntities.php | 52 + .../TagManager/ListAccountUsersResponse.php | 32 + .../TagManager/ListAccountsResponse.php | 32 + .../ListContainerVersionsResponse.php | 42 + .../TagManager/ListContainersResponse.php | 32 + .../TagManager/ListEnvironmentsResponse.php | 32 + .../TagManager/ListFoldersResponse.php | 32 + .../Service/TagManager/ListTagsResponse.php | 32 + .../TagManager/ListTriggersResponse.php | 32 + .../TagManager/ListVariablesResponse.php | 32 + .../src/Google/Service/TagManager/Macro.php | 140 + .../Google/Service/TagManager/Parameter.php | 69 + .../PublishContainerVersionResponse.php | 40 + .../Service/TagManager/Resource/Accounts.php | 70 + .../Resource/AccountsContainers.php | 101 + .../AccountsContainersEnvironments.php | 126 + .../Resource/AccountsContainersFolders.php | 105 + .../AccountsContainersFoldersEntities.php | 44 + .../AccountsContainersMoveFolders.php | 47 + ...ountsContainersReauthorizeEnvironments.php | 45 + .../Resource/AccountsContainersTags.php | 105 + .../Resource/AccountsContainersTriggers.php | 106 + .../Resource/AccountsContainersVariables.php | 106 + .../Resource/AccountsContainersVersions.php | 162 + .../Resource/AccountsPermissions.php | 101 + .../src/Google/Service/TagManager/Rule.php | 86 + .../Google/Service/TagManager/SetupTag.php | 39 + .../src/Google/Service/TagManager/Tag.php | 206 + .../Google/Service/TagManager/TeardownTag.php | 39 + .../src/Google/Service/TagManager/Trigger.php | 205 + .../Google/Service/TagManager/UserAccess.php | 69 + .../Google/Service/TagManager/Variable.php | 140 + .../src/Google/Service/Taskqueue.php | 249 + .../Service/Taskqueue/Resource/Taskqueues.php | 44 + .../Service/Taskqueue/Resource/Tasks.php | 144 + .../src/Google/Service/Taskqueue/Task.php | 96 + .../Google/Service/Taskqueue/TaskQueue.php | 68 + .../Google/Service/Taskqueue/TaskQueueAcl.php | 49 + .../Service/Taskqueue/TaskQueueStats.php | 57 + .../src/Google/Service/Taskqueue/Tasks.php | 41 + .../src/Google/Service/Taskqueue/Tasks2.php | 41 + .../src/Google/Service/Tasks.php | 295 + .../Service/Tasks/Resource/Tasklists.php | 113 + .../Google/Service/Tasks/Resource/Tasks.php | 179 + .../src/Google/Service/Tasks/Task.php | 158 + .../src/Google/Service/Tasks/TaskLinks.php | 48 + .../src/Google/Service/Tasks/TaskList.php | 75 + .../src/Google/Service/Tasks/TaskLists.php | 59 + .../src/Google/Service/Tasks/Tasks.php | 59 + .../src/Google/Service/ToolResults.php | 664 ++ .../src/Google/Service/ToolResults/Any.php | 39 + .../ToolResults/BasicPerfSampleSeries.php | 48 + .../BatchCreatePerfSamplesRequest.php | 32 + .../BatchCreatePerfSamplesResponse.php | 32 + .../Google/Service/ToolResults/CPUInfo.php | 48 + .../Google/Service/ToolResults/Duration.php | 39 + .../Google/Service/ToolResults/Execution.php | 78 + .../Service/ToolResults/FailureDetail.php | 66 + .../Service/ToolResults/FileReference.php | 30 + .../Google/Service/ToolResults/History.php | 48 + .../src/Google/Service/ToolResults/Image.php | 60 + .../ToolResults/InconclusiveDetail.php | 39 + .../ToolResults/ListExecutionsResponse.php | 41 + .../ToolResults/ListHistoriesResponse.php | 41 + .../ListPerfSampleSeriesResponse.php | 32 + .../ToolResults/ListPerfSamplesResponse.php | 41 + .../ListStepThumbnailsResponse.php | 41 + .../Service/ToolResults/ListStepsResponse.php | 41 + .../Google/Service/ToolResults/MemoryInfo.php | 39 + .../Google/Service/ToolResults/Outcome.php | 70 + .../Service/ToolResults/PerfEnvironment.php | 41 + .../ToolResults/PerfMetricsSummary.php | 77 + .../Google/Service/ToolResults/PerfSample.php | 40 + .../Service/ToolResults/PerfSampleSeries.php | 76 + .../Service/ToolResults/ProjectSettings.php | 39 + .../PublishXunitXmlFilesRequest.php | 32 + .../Service/ToolResults/Resource/Projects.php | 86 + .../Resource/ProjectsHistories.php | 121 + .../Resource/ProjectsHistoriesExecutions.php | 155 + .../ProjectsHistoriesExecutionsSteps.php | 228 + ...oriesExecutionsStepsPerfMetricsSummary.php | 49 + ...storiesExecutionsStepsPerfSampleSeries.php | 96 + ...ExecutionsStepsPerfSampleSeriesSamples.php | 87 + ...ectsHistoriesExecutionsStepsThumbnails.php | 69 + .../Service/ToolResults/SkippedDetail.php | 48 + .../Google/Service/ToolResults/StackTrace.php | 30 + .../src/Google/Service/ToolResults/Status.php | 50 + .../src/Google/Service/ToolResults/Step.php | 157 + .../ToolResults/StepDimensionValueEntry.php | 39 + .../Service/ToolResults/StepLabelsEntry.php | 39 + .../Service/ToolResults/SuccessDetail.php | 30 + .../Service/ToolResults/TestCaseReference.php | 48 + .../Service/ToolResults/TestExecutionStep.php | 62 + .../Google/Service/ToolResults/TestIssue.php | 40 + .../Service/ToolResults/TestSuiteOverview.php | 76 + .../Google/Service/ToolResults/TestTiming.php | 31 + .../Google/Service/ToolResults/Thumbnail.php | 57 + .../Google/Service/ToolResults/Timestamp.php | 39 + .../Service/ToolResults/ToolExecution.php | 61 + .../Service/ToolResults/ToolExecutionStep.php | 31 + .../Service/ToolResults/ToolExitCode.php | 30 + .../ToolResults/ToolOutputReference.php | 51 + .../src/Google/Service/Tracing.php | 137 + .../src/Google/Service/Tracing/Annotation.php | 40 + .../Google/Service/Tracing/AttributeValue.php | 48 + .../Tracing/BatchUpdateSpansRequest.php | 31 + .../src/Google/Service/Tracing/Link.php | 48 + .../Service/Tracing/ListSpansResponse.php | 41 + .../Service/Tracing/ListTracesResponse.php | 41 + .../src/Google/Service/Tracing/Module.php | 39 + .../Google/Service/Tracing/NetworkEvent.php | 57 + .../Service/Tracing/Resource/Projects.php | 28 + .../Tracing/Resource/ProjectsTraces.php | 116 + .../src/Google/Service/Tracing/Span.php | 126 + .../Google/Service/Tracing/SpanUpdates.php | 32 + .../src/Google/Service/Tracing/StackFrame.php | 85 + .../src/Google/Service/Tracing/StackTrace.php | 41 + .../src/Google/Service/Tracing/Status.php | 49 + .../src/Google/Service/Tracing/TimeEvent.php | 50 + .../src/Google/Service/Tracing/Trace.php | 30 + .../Google/Service/Tracing/TracingEmpty.php | 20 + .../src/Google/Service/Translate.php | 132 + .../Translate/DetectionsListResponse.php | 32 + .../Translate/DetectionsResourceItems.php | 48 + .../Translate/LanguagesListResponse.php | 32 + .../Service/Translate/LanguagesResource.php | 39 + .../Service/Translate/Resource/Detections.php | 41 + .../Service/Translate/Resource/Languages.php | 44 + .../Translate/Resource/Translations.php | 48 + .../Translate/TranslationsListResponse.php | 32 + .../Translate/TranslationsResource.php | 39 + .../src/Google/Service/Urlshortener.php | 94 + .../Urlshortener/AnalyticsSnapshot.php | 80 + .../Service/Urlshortener/AnalyticsSummary.php | 71 + .../Service/Urlshortener/Resource/Url.php | 72 + .../Service/Urlshortener/StringCount.php | 39 + .../src/Google/Service/Urlshortener/Url.php | 76 + .../Service/Urlshortener/UrlHistory.php | 68 + .../src/Google/Service/Vision.php | 69 + .../Service/Vision/AnnotateImageRequest.php | 52 + .../Service/Vision/AnnotateImageResponse.php | 132 + .../Vision/BatchAnnotateImagesRequest.php | 32 + .../Vision/BatchAnnotateImagesResponse.php | 32 + .../src/Google/Service/Vision/Block.php | 61 + .../Google/Service/Vision/BoundingPoly.php | 32 + .../src/Google/Service/Vision/Color.php | 57 + .../src/Google/Service/Vision/ColorInfo.php | 49 + .../src/Google/Service/Vision/CropHint.php | 49 + .../Service/Vision/CropHintsAnnotation.php | 32 + .../Google/Service/Vision/CropHintsParams.php | 31 + .../Google/Service/Vision/DetectedBreak.php | 39 + .../Service/Vision/DetectedLanguage.php | 39 + .../Vision/DominantColorsAnnotation.php | 32 + .../Service/Vision/EntityAnnotation.php | 106 + .../Google/Service/Vision/FaceAnnotation.php | 160 + .../src/Google/Service/Vision/Feature.php | 39 + .../src/Google/Service/Vision/Image.php | 40 + .../Google/Service/Vision/ImageContext.php | 51 + .../Google/Service/Vision/ImageProperties.php | 31 + .../src/Google/Service/Vision/ImageSource.php | 39 + .../src/Google/Service/Vision/Landmark.php | 40 + .../src/Google/Service/Vision/LatLng.php | 39 + .../src/Google/Service/Vision/LatLongRect.php | 41 + .../Google/Service/Vision/LocationInfo.php | 31 + .../src/Google/Service/Vision/Page.php | 60 + .../src/Google/Service/Vision/Paragraph.php | 52 + .../src/Google/Service/Vision/Position.php | 48 + .../src/Google/Service/Vision/Property.php | 48 + .../Google/Service/Vision/Resource/Images.php | 41 + .../Service/Vision/SafeSearchAnnotation.php | 57 + .../src/Google/Service/Vision/Status.php | 49 + .../src/Google/Service/Vision/Symbol.php | 50 + .../Google/Service/Vision/TextAnnotation.php | 41 + .../Google/Service/Vision/TextProperty.php | 42 + .../src/Google/Service/Vision/Vertex.php | 39 + .../Google/Service/Vision/WebDetection.php | 62 + .../src/Google/Service/Vision/WebEntity.php | 48 + .../src/Google/Service/Vision/WebImage.php | 39 + .../src/Google/Service/Vision/WebPage.php | 39 + .../src/Google/Service/Vision/Word.php | 52 + .../src/Google/Service/Webfonts.php | 72 + .../Service/Webfonts/Resource/Webfonts.php | 43 + .../src/Google/Service/Webfonts/Webfont.php | 94 + .../Google/Service/Webfonts/WebfontList.php | 41 + .../src/Google/Service/Webmasters.php | 305 + .../Google/Service/Webmasters/ApiDataRow.php | 67 + .../Service/Webmasters/ApiDimensionFilter.php | 48 + .../Webmasters/ApiDimensionFilterGroup.php | 41 + .../Webmasters/Resource/Searchanalytics.php | 50 + .../Service/Webmasters/Resource/Sitemaps.php | 93 + .../Service/Webmasters/Resource/Sites.php | 80 + .../Resource/Urlcrawlerrorscounts.php | 51 + .../Resource/Urlcrawlerrorssamples.php | 92 + .../SearchAnalyticsQueryRequest.php | 95 + .../SearchAnalyticsQueryResponse.php | 41 + .../Webmasters/SitemapsListResponse.php | 32 + .../Service/Webmasters/SitesListResponse.php | 32 + .../Service/Webmasters/UrlCrawlErrorCount.php | 39 + .../Webmasters/UrlCrawlErrorCountsPerType.php | 50 + .../UrlCrawlErrorsCountsQueryResponse.php | 32 + .../Webmasters/UrlCrawlErrorsSample.php | 71 + .../UrlCrawlErrorsSamplesListResponse.php | 32 + .../Service/Webmasters/UrlSampleDetails.php | 40 + .../src/Google/Service/Webmasters/WmxSite.php | 39 + .../Google/Service/Webmasters/WmxSitemap.php | 104 + .../Service/Webmasters/WmxSitemapContent.php | 48 + .../src/Google/Service/YouTube.php | 1944 +++++ .../Google/Service/YouTube/AccessPolicy.php | 40 + .../src/Google/Service/YouTube/Activity.php | 68 + .../YouTube/ActivityContentDetails.php | 131 + .../ActivityContentDetailsBulletin.php | 31 + .../ActivityContentDetailsChannelItem.php | 31 + .../YouTube/ActivityContentDetailsComment.php | 31 + .../ActivityContentDetailsFavorite.php | 31 + .../YouTube/ActivityContentDetailsLike.php | 31 + .../ActivityContentDetailsPlaylistItem.php | 49 + .../ActivityContentDetailsPromotedItem.php | 112 + .../ActivityContentDetailsRecommendation.php | 50 + .../YouTube/ActivityContentDetailsSocial.php | 67 + .../ActivityContentDetailsSubscription.php | 31 + .../YouTube/ActivityContentDetailsUpload.php | 30 + .../Service/YouTube/ActivityListResponse.php | 106 + .../Service/YouTube/ActivitySnippet.php | 94 + .../src/Google/Service/YouTube/Caption.php | 58 + .../Service/YouTube/CaptionListResponse.php | 68 + .../Google/Service/YouTube/CaptionSnippet.php | 138 + .../Google/Service/YouTube/CdnSettings.php | 67 + .../src/Google/Service/YouTube/Channel.php | 158 + .../Service/YouTube/ChannelAuditDetails.php | 57 + .../Service/YouTube/ChannelBannerResource.php | 48 + .../YouTube/ChannelBrandingSettings.php | 62 + .../Service/YouTube/ChannelContentDetails.php | 31 + .../ChannelContentDetailsRelatedPlaylists.php | 66 + .../YouTube/ChannelContentOwnerDetails.php | 39 + .../Service/YouTube/ChannelConversionPing.php | 39 + .../YouTube/ChannelConversionPings.php | 32 + .../Service/YouTube/ChannelListResponse.php | 106 + .../Service/YouTube/ChannelLocalization.php | 39 + .../Service/YouTube/ChannelProfileDetails.php | 57 + .../Google/Service/YouTube/ChannelSection.php | 88 + .../YouTube/ChannelSectionContentDetails.php | 40 + .../YouTube/ChannelSectionListResponse.php | 68 + .../YouTube/ChannelSectionLocalization.php | 30 + .../Service/YouTube/ChannelSectionSnippet.php | 85 + .../YouTube/ChannelSectionTargeting.php | 49 + .../Service/YouTube/ChannelSettings.php | 148 + .../Google/Service/YouTube/ChannelSnippet.php | 95 + .../Service/YouTube/ChannelStatistics.php | 66 + .../Google/Service/YouTube/ChannelStatus.php | 48 + .../Service/YouTube/ChannelTopicDetails.php | 40 + .../src/Google/Service/YouTube/Comment.php | 58 + .../Service/YouTube/CommentListResponse.php | 97 + .../Google/Service/YouTube/CommentSnippet.php | 156 + .../Google/Service/YouTube/CommentThread.php | 68 + .../YouTube/CommentThreadListResponse.php | 97 + .../Service/YouTube/CommentThreadReplies.php | 32 + .../Service/YouTube/CommentThreadSnippet.php | 76 + .../Google/Service/YouTube/ContentRating.php | 634 ++ .../Service/YouTube/FanFundingEvent.php | 58 + .../YouTube/FanFundingEventListResponse.php | 97 + .../YouTube/FanFundingEventSnippet.php | 85 + .../src/Google/Service/YouTube/GeoPoint.php | 48 + .../Google/Service/YouTube/GuideCategory.php | 58 + .../YouTube/GuideCategoryListResponse.php | 106 + .../Service/YouTube/GuideCategorySnippet.php | 39 + .../Google/Service/YouTube/I18nLanguage.php | 58 + .../YouTube/I18nLanguageListResponse.php | 68 + .../Service/YouTube/I18nLanguageSnippet.php | 39 + .../src/Google/Service/YouTube/I18nRegion.php | 58 + .../YouTube/I18nRegionListResponse.php | 68 + .../Service/YouTube/I18nRegionSnippet.php | 39 + .../Google/Service/YouTube/ImageSettings.php | 224 + .../Google/Service/YouTube/IngestionInfo.php | 48 + .../Service/YouTube/InvideoBranding.php | 68 + .../Service/YouTube/InvideoPosition.php | 39 + .../Service/YouTube/InvideoPromotion.php | 61 + .../Google/Service/YouTube/InvideoTiming.php | 48 + .../Google/Service/YouTube/LanguageTag.php | 30 + .../Google/Service/YouTube/LiveBroadcast.php | 98 + .../YouTube/LiveBroadcastContentDetails.php | 130 + .../YouTube/LiveBroadcastListResponse.php | 106 + .../Service/YouTube/LiveBroadcastSnippet.php | 121 + .../YouTube/LiveBroadcastStatistics.php | 39 + .../Service/YouTube/LiveBroadcastStatus.php | 57 + .../Service/YouTube/LiveBroadcastTopic.php | 49 + .../YouTube/LiveBroadcastTopicDetails.php | 32 + .../YouTube/LiveBroadcastTopicSnippet.php | 39 + .../Google/Service/YouTube/LiveChatBan.php | 58 + .../Service/YouTube/LiveChatBanSnippet.php | 58 + .../LiveChatFanFundingEventDetails.php | 57 + .../Service/YouTube/LiveChatMessage.php | 68 + .../YouTube/LiveChatMessageAuthorDetails.php | 93 + .../YouTube/LiveChatMessageDeletedDetails.php | 30 + .../YouTube/LiveChatMessageListResponse.php | 115 + .../LiveChatMessageRetractedDetails.php | 30 + .../YouTube/LiveChatMessageSnippet.php | 175 + .../Service/YouTube/LiveChatModerator.php | 58 + .../YouTube/LiveChatModeratorListResponse.php | 106 + .../YouTube/LiveChatModeratorSnippet.php | 40 + .../YouTube/LiveChatPollClosedDetails.php | 30 + .../YouTube/LiveChatPollEditedDetails.php | 50 + .../Service/YouTube/LiveChatPollItem.php | 39 + .../YouTube/LiveChatPollOpenedDetails.php | 50 + .../YouTube/LiveChatPollVotedDetails.php | 39 + .../YouTube/LiveChatSuperChatDetails.php | 66 + .../YouTube/LiveChatTextMessageDetails.php | 30 + .../LiveChatUserBannedMessageDetails.php | 49 + .../src/Google/Service/YouTube/LiveStream.php | 88 + .../YouTube/LiveStreamConfigurationIssue.php | 57 + .../YouTube/LiveStreamContentDetails.php | 39 + .../YouTube/LiveStreamHealthStatus.php | 50 + .../YouTube/LiveStreamListResponse.php | 106 + .../Service/YouTube/LiveStreamSnippet.php | 66 + .../Service/YouTube/LiveStreamStatus.php | 40 + .../Service/YouTube/LocalizedProperty.php | 51 + .../Service/YouTube/LocalizedString.php | 39 + .../Service/YouTube/MonitorStreamInfo.php | 48 + .../src/Google/Service/YouTube/PageInfo.php | 39 + .../src/Google/Service/YouTube/Playlist.php | 98 + .../YouTube/PlaylistContentDetails.php | 30 + .../Google/Service/YouTube/PlaylistItem.php | 78 + .../YouTube/PlaylistItemContentDetails.php | 66 + .../YouTube/PlaylistItemListResponse.php | 106 + .../Service/YouTube/PlaylistItemSnippet.php | 104 + .../Service/YouTube/PlaylistItemStatus.php | 30 + .../Service/YouTube/PlaylistListResponse.php | 106 + .../Service/YouTube/PlaylistLocalization.php | 39 + .../Google/Service/YouTube/PlaylistPlayer.php | 30 + .../Service/YouTube/PlaylistSnippet.php | 105 + .../Google/Service/YouTube/PlaylistStatus.php | 30 + .../Google/Service/YouTube/PromotedItem.php | 59 + .../Google/Service/YouTube/PromotedItemId.php | 57 + .../Google/Service/YouTube/PropertyValue.php | 39 + .../Service/YouTube/Resource/Activities.php | 109 + .../Service/YouTube/Resource/Captions.php | 215 + .../YouTube/Resource/ChannelBanners.php | 62 + .../YouTube/Resource/ChannelSections.php | 190 + .../Service/YouTube/Resource/Channels.php | 126 + .../YouTube/Resource/CommentThreads.php | 121 + .../Service/YouTube/Resource/Comments.php | 151 + .../YouTube/Resource/FanFundingEvents.php | 60 + .../YouTube/Resource/GuideCategories.php | 54 + .../YouTube/Resource/I18nLanguages.php | 47 + .../Service/YouTube/Resource/I18nRegions.php | 47 + .../YouTube/Resource/LiveBroadcasts.php | 438 + .../Service/YouTube/Resource/LiveChatBans.php | 57 + .../YouTube/Resource/LiveChatMessages.php | 93 + .../YouTube/Resource/LiveChatModerators.php | 81 + .../Service/YouTube/Resource/LiveStreams.php | 244 + .../YouTube/Resource/PlaylistItems.php | 178 + .../Service/YouTube/Resource/Playlists.php | 211 + .../Service/YouTube/Resource/Search.php | 185 + .../Service/YouTube/Resource/Sponsors.php | 51 + .../YouTube/Resource/Subscriptions.php | 136 + .../YouTube/Resource/SuperChatEvents.php | 59 + .../Service/YouTube/Resource/Thumbnails.php | 56 + .../Resource/VideoAbuseReportReasons.php | 47 + .../YouTube/Resource/VideoCategories.php | 52 + .../Service/YouTube/Resource/Videos.php | 315 + .../Service/YouTube/Resource/Watermarks.php | 82 + .../src/Google/Service/YouTube/ResourceId.php | 57 + .../Service/YouTube/SearchListResponse.php | 115 + .../Google/Service/YouTube/SearchResult.php | 59 + .../Service/YouTube/SearchResultSnippet.php | 85 + .../src/Google/Service/YouTube/Sponsor.php | 58 + .../Service/YouTube/SponsorListResponse.php | 97 + .../Google/Service/YouTube/SponsorSnippet.php | 49 + .../Google/Service/YouTube/Subscription.php | 78 + .../YouTube/SubscriptionContentDetails.php | 48 + .../YouTube/SubscriptionListResponse.php | 106 + .../Service/YouTube/SubscriptionSnippet.php | 86 + .../YouTube/SubscriptionSubscriberSnippet.php | 58 + .../Google/Service/YouTube/SuperChatEvent.php | 58 + .../YouTube/SuperChatEventListResponse.php | 97 + .../Service/YouTube/SuperChatEventSnippet.php | 94 + .../src/Google/Service/YouTube/Thumbnail.php | 48 + .../Service/YouTube/ThumbnailDetails.php | 71 + .../Service/YouTube/ThumbnailSetResponse.php | 68 + .../Service/YouTube/TokenPagination.php | 20 + .../src/Google/Service/YouTube/Video.php | 198 + .../Service/YouTube/VideoAbuseReport.php | 66 + .../YouTube/VideoAbuseReportReason.php | 58 + .../VideoAbuseReportReasonListResponse.php | 68 + .../YouTube/VideoAbuseReportReasonSnippet.php | 41 + .../VideoAbuseReportSecondaryReason.php | 39 + .../Google/Service/YouTube/VideoAgeGating.php | 48 + .../Google/Service/YouTube/VideoCategory.php | 58 + .../YouTube/VideoCategoryListResponse.php | 106 + .../Service/YouTube/VideoCategorySnippet.php | 48 + .../Service/YouTube/VideoContentDetails.php | 114 + .../VideoContentDetailsRegionRestriction.php | 40 + .../Service/YouTube/VideoFileDetails.php | 105 + .../YouTube/VideoFileDetailsAudioStream.php | 57 + .../YouTube/VideoFileDetailsVideoStream.php | 93 + .../YouTube/VideoGetRatingResponse.php | 68 + .../Service/YouTube/VideoListResponse.php | 106 + .../YouTube/VideoLiveStreamingDetails.php | 75 + .../Service/YouTube/VideoLocalization.php | 39 + .../YouTube/VideoMonetizationDetails.php | 31 + .../Google/Service/YouTube/VideoPlayer.php | 48 + .../YouTube/VideoProcessingDetails.php | 94 + ...deoProcessingDetailsProcessingProgress.php | 48 + .../Service/YouTube/VideoProjectDetails.php | 31 + .../Google/Service/YouTube/VideoRating.php | 39 + .../Service/YouTube/VideoRecordingDetails.php | 49 + .../Google/Service/YouTube/VideoSnippet.php | 132 + .../Service/YouTube/VideoStatistics.php | 66 + .../Google/Service/YouTube/VideoStatus.php | 93 + .../Service/YouTube/VideoSuggestions.php | 68 + .../YouTube/VideoSuggestionsTagSuggestion.php | 40 + .../Service/YouTube/VideoTopicDetails.php | 49 + .../Google/Service/YouTube/WatchSettings.php | 48 + .../src/Google/Service/YouTubeAnalytics.php | 240 + .../Service/YouTubeAnalytics/BatchReport.php | 78 + .../BatchReportDefinition.php | 66 + .../BatchReportDefinitionList.php | 41 + .../YouTubeAnalytics/BatchReportList.php | 41 + .../YouTubeAnalytics/BatchReportOutputs.php | 48 + .../YouTubeAnalytics/BatchReportTimeSpan.php | 39 + .../Google/Service/YouTubeAnalytics/Group.php | 68 + .../YouTubeAnalytics/GroupContentDetails.php | 39 + .../Service/YouTubeAnalytics/GroupItem.php | 67 + .../GroupItemListResponse.php | 50 + .../YouTubeAnalytics/GroupItemResource.php | 39 + .../YouTubeAnalytics/GroupListResponse.php | 59 + .../Service/YouTubeAnalytics/GroupSnippet.php | 39 + .../Resource/BatchReportDefinitions.php | 43 + .../Resource/BatchReports.php | 45 + .../YouTubeAnalytics/Resource/GroupItems.php | 108 + .../YouTubeAnalytics/Resource/Groups.php | 142 + .../YouTubeAnalytics/Resource/Reports.php | 83 + .../Service/YouTubeAnalytics/ResultTable.php | 50 + .../ResultTableColumnHeaders.php | 48 + .../src/Google/Service/YouTubeReporting.php | 242 + .../Google/Service/YouTubeReporting/Job.php | 75 + .../YouTubeReporting/ListJobsResponse.php | 41 + .../ListReportTypesResponse.php | 41 + .../YouTubeReporting/ListReportsResponse.php | 41 + .../Google/Service/YouTubeReporting/Media.php | 30 + .../Service/YouTubeReporting/Report.php | 84 + .../Service/YouTubeReporting/ReportType.php | 57 + .../YouTubeReporting/Resource/Jobs.php | 104 + .../YouTubeReporting/Resource/JobsReports.php | 77 + .../YouTubeReporting/Resource/Media.php | 43 + .../YouTubeReporting/Resource/ReportTypes.php | 54 + .../YoutubereportingEmpty.php | 20 + .../apiclient-services/tests/ServiceTest.php | 61 + .../apiclient-services/tests/bootstrap.php | 3 + vendor/google/apiclient/.gitattributes | 9 + vendor/google/apiclient/LICENSE | 203 + vendor/google/apiclient/README.md | 366 + vendor/google/apiclient/composer.json | 41 + .../src/Google/AccessToken/Revoke.php | 78 + .../src/Google/AccessToken/Verify.php | 269 + .../Google/AuthHandler/AuthHandlerFactory.php | 42 + .../Google/AuthHandler/Guzzle5AuthHandler.php | 99 + .../Google/AuthHandler/Guzzle6AuthHandler.php | 106 + vendor/google/apiclient/src/Google/Client.php | 1118 +++ .../apiclient/src/Google/Collection.php | 101 + .../google/apiclient/src/Google/Exception.php | 20 + .../apiclient/src/Google/Http/Batch.php | 249 + .../src/Google/Http/MediaFileUpload.php | 348 + .../google/apiclient/src/Google/Http/REST.php | 182 + vendor/google/apiclient/src/Google/Model.php | 307 + .../google/apiclient/src/Google/Service.php | 56 + .../src/Google/Service/Exception.php | 68 + .../apiclient/src/Google/Service/README.md | 5 + .../apiclient/src/Google/Service/Resource.php | 296 + .../apiclient/src/Google/Task/Exception.php | 20 + .../apiclient/src/Google/Task/Retryable.php | 24 + .../apiclient/src/Google/Task/Runner.php | 281 + .../src/Google/Utils/UriTemplate.php | 333 + .../google/apiclient/src/Google/autoload.php | 21 + vendor/google/auth/.editorconfig | 18 + vendor/google/auth/.gitignore | 3 + vendor/google/auth/.php_cs | 54 + vendor/google/auth/.travis.yml | 31 + vendor/google/auth/CHANGELOG.md | 8 + vendor/google/auth/CONTRIBUTING.md | 73 + vendor/google/auth/COPYING | 202 + vendor/google/auth/LICENSE | 203 + vendor/google/auth/README.md | 150 + vendor/google/auth/autoload.php | 34 + vendor/google/auth/composer.json | 28 + vendor/google/auth/phpunit.xml.dist | 16 + .../src/ApplicationDefaultCredentials.php | 173 + .../src/Cache/InvalidArgumentException.php | 24 + vendor/google/auth/src/Cache/Item.php | 185 + .../auth/src/Cache/MemoryCacheItemPool.php | 155 + vendor/google/auth/src/CacheTrait.php | 72 + .../Credentials/AppIdentityCredentials.php | 149 + .../auth/src/Credentials/GCECredentials.php | 219 + .../auth/src/Credentials/IAMCredentials.php | 89 + .../Credentials/ServiceAccountCredentials.php | 177 + .../ServiceAccountJwtAccessCredentials.php | 131 + .../Credentials/UserRefreshCredentials.php | 110 + vendor/google/auth/src/CredentialsLoader.php | 163 + .../google/auth/src/FetchAuthTokenCache.php | 108 + .../auth/src/FetchAuthTokenInterface.php | 55 + .../src/HttpHandler/Guzzle5HttpHandler.php | 68 + .../src/HttpHandler/Guzzle6HttpHandler.php | 36 + .../src/HttpHandler/HttpHandlerFactory.php | 47 + .../src/Middleware/AuthTokenMiddleware.php | 126 + .../ScopedAccessTokenMiddleware.php | 175 + .../auth/src/Middleware/SimpleMiddleware.php | 93 + vendor/google/auth/src/OAuth2.php | 1306 +++ .../src/Subscriber/AuthTokenSubscriber.php | 118 + .../ScopedAccessTokenSubscriber.php | 177 + .../auth/src/Subscriber/SimpleSubscriber.php | 90 + .../ApplicationDefaultCredentialsTest.php | 299 + vendor/google/auth/tests/BaseTest.php | 32 + vendor/google/auth/tests/Cache/ItemTest.php | 125 + .../tests/Cache/MemoryCacheItemPoolTest.php | 189 + vendor/google/auth/tests/CacheTraitTest.php | 151 + .../AppIndentityCredentialsTest.php | 104 + .../tests/Credentials/GCECredentialsTest.php | 124 + .../tests/Credentials/IAMCredentialsTest.php | 83 + .../ServiceAccountCredentialsTest.php | 508 ++ .../UserRefreshCredentialsTest.php | 228 + .../auth/tests/FetchAuthTokenCacheTest.php | 146 + .../google/auth/tests/FetchAuthTokenTest.php | 170 + .../HttpHandler/Guzzle5HttpHandlerTest.php | 59 + .../HttpHandler/Guzzle6HttpHandlerTest.php | 50 + .../HttpHandler/HttpHandlerFactoryTest.php | 39 + .../Middleware/AuthTokenMiddlewareTest.php | 336 + .../ScopedAccessTokenMiddlewareTest.php | 245 + .../tests/Middleware/SimpleMiddlewareTest.php | 41 + vendor/google/auth/tests/OAuth2Test.php | 858 ++ .../Subscriber/AuthTokenSubscriberTest.php | 325 + .../ScopedAccessTokenSubscriberTest.php | 238 + .../tests/Subscriber/SimpleSubscriberTest.php | 69 + vendor/google/auth/tests/bootstrap.php | 55 + .../application_default_credentials.json | 7 + .../google/auth/tests/fixtures/private.json | 7 + vendor/google/auth/tests/fixtures/private.pem | 15 + vendor/google/auth/tests/fixtures/public.pem | 6 + .../application_default_credentials.json | 6 + .../google/auth/tests/fixtures2/private.json | 6 + .../auth/tests/mocks/AppIdentityService.php | 19 + vendor/guzzlehttp/guzzle/.travis.yml | 41 + vendor/guzzlehttp/guzzle/CHANGELOG.md | 1243 +++ vendor/guzzlehttp/guzzle/LICENSE | 19 + vendor/guzzlehttp/guzzle/README.md | 90 + vendor/guzzlehttp/guzzle/UPGRADING.md | 1203 +++ vendor/guzzlehttp/guzzle/composer.json | 41 + vendor/guzzlehttp/guzzle/src/Client.php | 408 + .../guzzlehttp/guzzle/src/ClientInterface.php | 84 + .../guzzle/src/Cookie/CookieJar.php | 265 + .../guzzle/src/Cookie/CookieJarInterface.php | 84 + .../guzzle/src/Cookie/FileCookieJar.php | 90 + .../guzzle/src/Cookie/SessionCookieJar.php | 71 + .../guzzle/src/Cookie/SetCookie.php | 404 + .../src/Exception/BadResponseException.php | 7 + .../guzzle/src/Exception/ClientException.php | 7 + .../guzzle/src/Exception/ConnectException.php | 37 + .../guzzle/src/Exception/GuzzleException.php | 4 + .../guzzle/src/Exception/RequestException.php | 210 + .../guzzle/src/Exception/SeekException.php | 27 + .../guzzle/src/Exception/ServerException.php | 7 + .../Exception/TooManyRedirectsException.php | 4 + .../src/Exception/TransferException.php | 4 + .../guzzle/src/Handler/CurlFactory.php | 536 ++ .../src/Handler/CurlFactoryInterface.php | 27 + .../guzzle/src/Handler/CurlHandler.php | 45 + .../guzzle/src/Handler/CurlMultiHandler.php | 197 + .../guzzle/src/Handler/EasyHandle.php | 92 + .../guzzle/src/Handler/MockHandler.php | 176 + .../guzzlehttp/guzzle/src/Handler/Proxy.php | 55 + .../guzzle/src/Handler/StreamHandler.php | 490 ++ vendor/guzzlehttp/guzzle/src/HandlerStack.php | 273 + .../guzzle/src/MessageFormatter.php | 182 + vendor/guzzlehttp/guzzle/src/Middleware.php | 254 + vendor/guzzlehttp/guzzle/src/Pool.php | 123 + .../guzzle/src/PrepareBodyMiddleware.php | 112 + .../guzzle/src/RedirectMiddleware.php | 231 + .../guzzlehttp/guzzle/src/RequestOptions.php | 244 + .../guzzlehttp/guzzle/src/RetryMiddleware.php | 112 + .../guzzlehttp/guzzle/src/TransferStats.php | 126 + vendor/guzzlehttp/guzzle/src/UriTemplate.php | 241 + vendor/guzzlehttp/guzzle/src/functions.php | 329 + .../guzzle/src/functions_include.php | 6 + vendor/guzzlehttp/promises/CHANGELOG.md | 65 + vendor/guzzlehttp/promises/LICENSE | 19 + vendor/guzzlehttp/promises/Makefile | 13 + vendor/guzzlehttp/promises/README.md | 504 ++ vendor/guzzlehttp/promises/composer.json | 34 + .../promises/src/AggregateException.php | 16 + .../promises/src/CancellationException.php | 9 + vendor/guzzlehttp/promises/src/Coroutine.php | 151 + .../guzzlehttp/promises/src/EachPromise.php | 229 + .../promises/src/FulfilledPromise.php | 82 + vendor/guzzlehttp/promises/src/Promise.php | 280 + .../promises/src/PromiseInterface.php | 93 + .../promises/src/PromisorInterface.php | 15 + .../promises/src/RejectedPromise.php | 87 + .../promises/src/RejectionException.php | 47 + vendor/guzzlehttp/promises/src/TaskQueue.php | 66 + .../promises/src/TaskQueueInterface.php | 25 + vendor/guzzlehttp/promises/src/functions.php | 457 ++ .../promises/src/functions_include.php | 6 + vendor/guzzlehttp/psr7/CHANGELOG.md | 110 + vendor/guzzlehttp/psr7/LICENSE | 19 + vendor/guzzlehttp/psr7/README.md | 739 ++ vendor/guzzlehttp/psr7/composer.json | 39 + vendor/guzzlehttp/psr7/src/AppendStream.php | 233 + vendor/guzzlehttp/psr7/src/BufferStream.php | 137 + vendor/guzzlehttp/psr7/src/CachingStream.php | 138 + vendor/guzzlehttp/psr7/src/DroppingStream.php | 42 + vendor/guzzlehttp/psr7/src/FnStream.php | 149 + vendor/guzzlehttp/psr7/src/InflateStream.php | 52 + vendor/guzzlehttp/psr7/src/LazyOpenStream.php | 39 + vendor/guzzlehttp/psr7/src/LimitStream.php | 155 + vendor/guzzlehttp/psr7/src/MessageTrait.php | 183 + .../guzzlehttp/psr7/src/MultipartStream.php | 153 + vendor/guzzlehttp/psr7/src/NoSeekStream.php | 22 + vendor/guzzlehttp/psr7/src/PumpStream.php | 165 + vendor/guzzlehttp/psr7/src/Request.php | 142 + vendor/guzzlehttp/psr7/src/Response.php | 132 + vendor/guzzlehttp/psr7/src/ServerRequest.php | 358 + vendor/guzzlehttp/psr7/src/Stream.php | 257 + .../psr7/src/StreamDecoratorTrait.php | 149 + vendor/guzzlehttp/psr7/src/StreamWrapper.php | 121 + vendor/guzzlehttp/psr7/src/UploadedFile.php | 316 + vendor/guzzlehttp/psr7/src/Uri.php | 702 ++ vendor/guzzlehttp/psr7/src/UriNormalizer.php | 216 + vendor/guzzlehttp/psr7/src/UriResolver.php | 219 + vendor/guzzlehttp/psr7/src/functions.php | 828 ++ .../guzzlehttp/psr7/src/functions_include.php | 6 + vendor/monolog/monolog/.php_cs | 59 + vendor/monolog/monolog/CHANGELOG.md | 333 + vendor/monolog/monolog/LICENSE | 19 + vendor/monolog/monolog/README.md | 95 + vendor/monolog/monolog/composer.json | 66 + vendor/monolog/monolog/doc/01-usage.md | 231 + .../doc/02-handlers-formatters-processors.md | 157 + vendor/monolog/monolog/doc/03-utilities.md | 13 + vendor/monolog/monolog/doc/04-extending.md | 76 + vendor/monolog/monolog/doc/sockets.md | 39 + vendor/monolog/monolog/phpunit.xml.dist | 19 + .../monolog/src/Monolog/ErrorHandler.php | 230 + .../Monolog/Formatter/ChromePHPFormatter.php | 78 + .../Monolog/Formatter/ElasticaFormatter.php | 89 + .../Monolog/Formatter/FlowdockFormatter.php | 116 + .../Monolog/Formatter/FluentdFormatter.php | 85 + .../Monolog/Formatter/FormatterInterface.php | 36 + .../Formatter/GelfMessageFormatter.php | 137 + .../src/Monolog/Formatter/HtmlFormatter.php | 141 + .../src/Monolog/Formatter/JsonFormatter.php | 206 + .../src/Monolog/Formatter/LineFormatter.php | 179 + .../src/Monolog/Formatter/LogglyFormatter.php | 47 + .../Monolog/Formatter/LogstashFormatter.php | 166 + .../Monolog/Formatter/MongoDBFormatter.php | 105 + .../Monolog/Formatter/NormalizerFormatter.php | 297 + .../src/Monolog/Formatter/ScalarFormatter.php | 48 + .../Monolog/Formatter/WildfireFormatter.php | 113 + .../src/Monolog/Handler/AbstractHandler.php | 186 + .../Handler/AbstractProcessingHandler.php | 66 + .../Monolog/Handler/AbstractSyslogHandler.php | 101 + .../src/Monolog/Handler/AmqpHandler.php | 148 + .../Monolog/Handler/BrowserConsoleHandler.php | 230 + .../src/Monolog/Handler/BufferHandler.php | 117 + .../src/Monolog/Handler/ChromePHPHandler.php | 211 + .../src/Monolog/Handler/CouchDBHandler.php | 72 + .../src/Monolog/Handler/CubeHandler.php | 151 + .../monolog/src/Monolog/Handler/Curl/Util.php | 57 + .../Monolog/Handler/DeduplicationHandler.php | 169 + .../Handler/DoctrineCouchDBHandler.php | 45 + .../src/Monolog/Handler/DynamoDbHandler.php | 107 + .../Monolog/Handler/ElasticSearchHandler.php | 128 + .../src/Monolog/Handler/ErrorLogHandler.php | 82 + .../src/Monolog/Handler/FilterHandler.php | 140 + .../ActivationStrategyInterface.php | 28 + .../ChannelLevelActivationStrategy.php | 59 + .../ErrorLevelActivationStrategy.php | 34 + .../Monolog/Handler/FingersCrossedHandler.php | 163 + .../src/Monolog/Handler/FirePHPHandler.php | 195 + .../src/Monolog/Handler/FleepHookHandler.php | 126 + .../src/Monolog/Handler/FlowdockHandler.php | 127 + .../src/Monolog/Handler/GelfHandler.php | 73 + .../src/Monolog/Handler/GroupHandler.php | 104 + .../src/Monolog/Handler/HandlerInterface.php | 90 + .../src/Monolog/Handler/HandlerWrapper.php | 106 + .../src/Monolog/Handler/HipChatHandler.php | 350 + .../src/Monolog/Handler/IFTTTHandler.php | 69 + .../src/Monolog/Handler/LogEntriesHandler.php | 55 + .../src/Monolog/Handler/LogglyHandler.php | 102 + .../src/Monolog/Handler/MailHandler.php | 67 + .../src/Monolog/Handler/MandrillHandler.php | 68 + .../Handler/MissingExtensionException.php | 21 + .../src/Monolog/Handler/MongoDBHandler.php | 59 + .../Monolog/Handler/NativeMailerHandler.php | 185 + .../src/Monolog/Handler/NewRelicHandler.php | 202 + .../src/Monolog/Handler/NullHandler.php | 45 + .../src/Monolog/Handler/PHPConsoleHandler.php | 242 + .../src/Monolog/Handler/PsrHandler.php | 56 + .../src/Monolog/Handler/PushoverHandler.php | 185 + .../src/Monolog/Handler/RavenHandler.php | 232 + .../src/Monolog/Handler/RedisHandler.php | 97 + .../src/Monolog/Handler/RollbarHandler.php | 131 + .../Monolog/Handler/RotatingFileHandler.php | 178 + .../src/Monolog/Handler/SamplingHandler.php | 82 + .../src/Monolog/Handler/Slack/SlackRecord.php | 294 + .../src/Monolog/Handler/SlackHandler.php | 204 + .../Monolog/Handler/SlackWebhookHandler.php | 110 + .../src/Monolog/Handler/SlackbotHandler.php | 80 + .../src/Monolog/Handler/SocketHandler.php | 346 + .../src/Monolog/Handler/StreamHandler.php | 176 + .../Monolog/Handler/SwiftMailerHandler.php | 94 + .../src/Monolog/Handler/SyslogHandler.php | 67 + .../Monolog/Handler/SyslogUdp/UdpSocket.php | 56 + .../src/Monolog/Handler/SyslogUdpHandler.php | 82 + .../src/Monolog/Handler/TestHandler.php | 154 + .../Handler/WhatFailureGroupHandler.php | 61 + .../Monolog/Handler/ZendMonitorHandler.php | 95 + vendor/monolog/monolog/src/Monolog/Logger.php | 700 ++ .../src/Monolog/Processor/GitProcessor.php | 64 + .../Processor/IntrospectionProcessor.php | 107 + .../Processor/MemoryPeakUsageProcessor.php | 35 + .../src/Monolog/Processor/MemoryProcessor.php | 63 + .../Processor/MemoryUsageProcessor.php | 35 + .../Monolog/Processor/MercurialProcessor.php | 63 + .../Monolog/Processor/ProcessIdProcessor.php | 31 + .../Processor/PsrLogMessageProcessor.php | 48 + .../src/Monolog/Processor/TagProcessor.php | 44 + .../src/Monolog/Processor/UidProcessor.php | 46 + .../src/Monolog/Processor/WebProcessor.php | 113 + .../monolog/monolog/src/Monolog/Registry.php | 134 + .../tests/Monolog/ErrorHandlerTest.php | 31 + .../Formatter/ChromePHPFormatterTest.php | 158 + .../Formatter/ElasticaFormatterTest.php | 79 + .../Formatter/FlowdockFormatterTest.php | 55 + .../Formatter/FluentdFormatterTest.php | 62 + .../Formatter/GelfMessageFormatterTest.php | 234 + .../Monolog/Formatter/JsonFormatterTest.php | 183 + .../Monolog/Formatter/LineFormatterTest.php | 222 + .../Monolog/Formatter/LogglyFormatterTest.php | 40 + .../Formatter/LogstashFormatterTest.php | 333 + .../Formatter/MongoDBFormatterTest.php | 262 + .../Formatter/NormalizerFormatterTest.php | 423 + .../Monolog/Formatter/ScalarFormatterTest.php | 110 + .../Formatter/WildfireFormatterTest.php | 142 + .../Monolog/Handler/AbstractHandlerTest.php | 115 + .../Handler/AbstractProcessingHandlerTest.php | 80 + .../tests/Monolog/Handler/AmqpHandlerTest.php | 136 + .../Handler/BrowserConsoleHandlerTest.php | 130 + .../Monolog/Handler/BufferHandlerTest.php | 158 + .../Monolog/Handler/ChromePHPHandlerTest.php | 141 + .../Monolog/Handler/CouchDBHandlerTest.php | 31 + .../Handler/DeduplicationHandlerTest.php | 165 + .../Handler/DoctrineCouchDBHandlerTest.php | 52 + .../Monolog/Handler/DynamoDbHandlerTest.php | 75 + .../Handler/ElasticSearchHandlerTest.php | 239 + .../Monolog/Handler/ErrorLogHandlerTest.php | 66 + .../Monolog/Handler/FilterHandlerTest.php | 170 + .../Handler/FingersCrossedHandlerTest.php | 279 + .../Monolog/Handler/FirePHPHandlerTest.php | 96 + .../tests/Monolog/Handler/Fixtures/.gitkeep | 0 .../Monolog/Handler/FleepHookHandlerTest.php | 85 + .../Monolog/Handler/FlowdockHandlerTest.php | 88 + .../Monolog/Handler/GelfHandlerLegacyTest.php | 95 + .../tests/Monolog/Handler/GelfHandlerTest.php | 117 + .../Handler/GelfMockMessagePublisher.php | 25 + .../Monolog/Handler/GroupHandlerTest.php | 112 + .../Monolog/Handler/HandlerWrapperTest.php | 130 + .../Monolog/Handler/HipChatHandlerTest.php | 279 + .../Monolog/Handler/LogEntriesHandlerTest.php | 84 + .../tests/Monolog/Handler/MailHandlerTest.php | 75 + .../tests/Monolog/Handler/MockRavenClient.php | 27 + .../Monolog/Handler/MongoDBHandlerTest.php | 65 + .../Handler/NativeMailerHandlerTest.php | 111 + .../Monolog/Handler/NewRelicHandlerTest.php | 200 + .../tests/Monolog/Handler/NullHandlerTest.php | 33 + .../Monolog/Handler/PHPConsoleHandlerTest.php | 273 + .../tests/Monolog/Handler/PsrHandlerTest.php | 50 + .../Monolog/Handler/PushoverHandlerTest.php | 141 + .../Monolog/Handler/RavenHandlerTest.php | 255 + .../Monolog/Handler/RedisHandlerTest.php | 127 + .../Handler/RotatingFileHandlerTest.php | 211 + .../Monolog/Handler/SamplingHandlerTest.php | 33 + .../Monolog/Handler/Slack/SlackRecordTest.php | 387 + .../Monolog/Handler/SlackHandlerTest.php | 155 + .../Handler/SlackWebhookHandlerTest.php | 107 + .../Monolog/Handler/SlackbotHandlerTest.php | 47 + .../Monolog/Handler/SocketHandlerTest.php | 309 + .../Monolog/Handler/StreamHandlerTest.php | 184 + .../Handler/SwiftMailerHandlerTest.php | 113 + .../Monolog/Handler/SyslogHandlerTest.php | 44 + .../Monolog/Handler/SyslogUdpHandlerTest.php | 65 + .../tests/Monolog/Handler/TestHandlerTest.php | 70 + .../tests/Monolog/Handler/UdpSocketTest.php | 64 + .../Handler/WhatFailureGroupHandlerTest.php | 121 + .../Handler/ZendMonitorHandlerTest.php | 69 + .../monolog/tests/Monolog/LoggerTest.php | 548 ++ .../Monolog/Processor/GitProcessorTest.php | 29 + .../Processor/IntrospectionProcessorTest.php | 123 + .../MemoryPeakUsageProcessorTest.php | 42 + .../Processor/MemoryUsageProcessorTest.php | 42 + .../Processor/MercurialProcessorTest.php | 41 + .../Processor/ProcessIdProcessorTest.php | 30 + .../Processor/PsrLogMessageProcessorTest.php | 43 + .../Monolog/Processor/TagProcessorTest.php | 49 + .../Monolog/Processor/UidProcessorTest.php | 33 + .../Monolog/Processor/WebProcessorTest.php | 113 + .../tests/Monolog/PsrLogCompatTest.php | 47 + .../monolog/tests/Monolog/RegistryTest.php | 153 + .../monolog/tests/Monolog/TestCase.php | 58 + vendor/phpoffice/phpexcel/.gitattributes | 4 + vendor/phpoffice/phpexcel/.gitignore | 9 + vendor/phpoffice/phpexcel/.travis.yml | 20 + .../phpoffice/phpexcel/Classes/PHPExcel.php | 1139 +++ .../phpexcel/Classes/PHPExcel/Autoloader.php | 89 + .../PHPExcel/CachedObjectStorage/APC.php | 295 + .../CachedObjectStorage/CacheBase.php | 376 + .../PHPExcel/CachedObjectStorage/DiscISAM.php | 219 + .../PHPExcel/CachedObjectStorage/ICache.php | 112 + .../PHPExcel/CachedObjectStorage/Igbinary.php | 152 + .../PHPExcel/CachedObjectStorage/Memcache.php | 312 + .../PHPExcel/CachedObjectStorage/Memory.php | 125 + .../CachedObjectStorage/MemoryGZip.php | 137 + .../CachedObjectStorage/MemorySerialized.php | 137 + .../PHPExcel/CachedObjectStorage/PHPTemp.php | 206 + .../PHPExcel/CachedObjectStorage/SQLite.php | 306 + .../PHPExcel/CachedObjectStorage/SQLite3.php | 345 + .../PHPExcel/CachedObjectStorage/Wincache.php | 294 + .../PHPExcel/CachedObjectStorageFactory.php | 251 + .../CalcEngine/CyclicReferenceStack.php | 98 + .../Classes/PHPExcel/CalcEngine/Logger.php | 153 + .../phpexcel/Classes/PHPExcel/Calculation.php | 3952 +++++++++ .../Classes/PHPExcel/Calculation/Database.php | 725 ++ .../Classes/PHPExcel/Calculation/DateTime.php | 1485 ++++ .../PHPExcel/Calculation/Engineering.php | 2505 ++++++ .../PHPExcel/Calculation/Exception.php | 52 + .../PHPExcel/Calculation/ExceptionHandler.php | 49 + .../PHPExcel/Calculation/Financial.php | 2292 ++++++ .../PHPExcel/Calculation/FormulaParser.php | 614 ++ .../PHPExcel/Calculation/FormulaToken.php | 176 + .../Classes/PHPExcel/Calculation/Function.php | 149 + .../PHPExcel/Calculation/Functions.php | 725 ++ .../Classes/PHPExcel/Calculation/Logical.php | 288 + .../PHPExcel/Calculation/LookupRef.php | 876 ++ .../Classes/PHPExcel/Calculation/MathTrig.php | 1376 ++++ .../PHPExcel/Calculation/Statistical.php | 3651 +++++++++ .../Classes/PHPExcel/Calculation/TextData.php | 630 ++ .../PHPExcel/Calculation/Token/Stack.php | 115 + .../PHPExcel/Calculation/functionlist.txt | 351 + .../phpexcel/Classes/PHPExcel/Cell.php | 1022 +++ .../PHPExcel/Cell/AdvancedValueBinder.php | 192 + .../Classes/PHPExcel/Cell/DataType.php | 122 + .../Classes/PHPExcel/Cell/DataValidation.php | 472 ++ .../PHPExcel/Cell/DefaultValueBinder.php | 110 + .../Classes/PHPExcel/Cell/Hyperlink.php | 126 + .../Classes/PHPExcel/Cell/IValueBinder.php | 46 + .../phpexcel/Classes/PHPExcel/Chart.php | 635 ++ .../phpexcel/Classes/PHPExcel/Chart/Axis.php | 584 ++ .../Classes/PHPExcel/Chart/DataSeries.php | 370 + .../PHPExcel/Chart/DataSeriesValues.php | 327 + .../Classes/PHPExcel/Chart/Exception.php | 52 + .../Classes/PHPExcel/Chart/GridLines.php | 458 ++ .../Classes/PHPExcel/Chart/Layout.php | 445 ++ .../Classes/PHPExcel/Chart/Legend.php | 171 + .../Classes/PHPExcel/Chart/PlotArea.php | 128 + .../Classes/PHPExcel/Chart/Properties.php | 359 + .../Chart/Renderer/PHP Charting Libraries.txt | 17 + .../PHPExcel/Chart/Renderer/jpgraph.php | 855 ++ .../phpexcel/Classes/PHPExcel/Chart/Title.php | 92 + .../phpexcel/Classes/PHPExcel/Comment.php | 327 + .../Classes/PHPExcel/DocumentProperties.php | 587 ++ .../Classes/PHPExcel/DocumentSecurity.php | 218 + .../phpexcel/Classes/PHPExcel/Exception.php | 52 + .../phpexcel/Classes/PHPExcel/HashTable.php | 202 + .../phpexcel/Classes/PHPExcel/Helper/HTML.php | 762 ++ .../phpexcel/Classes/PHPExcel/IComparable.php | 43 + .../phpexcel/Classes/PHPExcel/IOFactory.php | 288 + .../phpexcel/Classes/PHPExcel/NamedRange.php | 246 + .../Classes/PHPExcel/Reader/Abstract.php | 255 + .../phpexcel/Classes/PHPExcel/Reader/CSV.php | 387 + .../PHPExcel/Reader/DefaultReadFilter.php | 58 + .../Classes/PHPExcel/Reader/Excel2003XML.php | 809 ++ .../Classes/PHPExcel/Reader/Excel2007.php | 2083 +++++ .../PHPExcel/Reader/Excel2007/Chart.php | 517 ++ .../PHPExcel/Reader/Excel2007/Theme.php | 124 + .../Classes/PHPExcel/Reader/Excel5.php | 7088 +++++++++++++++++ .../Classes/PHPExcel/Reader/Excel5/Escher.php | 640 ++ .../Classes/PHPExcel/Reader/Excel5/MD5.php | 221 + .../Classes/PHPExcel/Reader/Excel5/RC4.php | 88 + .../Classes/PHPExcel/Reader/Exception.php | 52 + .../Classes/PHPExcel/Reader/Gnumeric.php | 873 ++ .../phpexcel/Classes/PHPExcel/Reader/HTML.php | 534 ++ .../Classes/PHPExcel/Reader/IReadFilter.php | 47 + .../Classes/PHPExcel/Reader/IReader.php | 54 + .../Classes/PHPExcel/Reader/OOCalc.php | 711 ++ .../phpexcel/Classes/PHPExcel/Reader/SYLK.php | 450 ++ .../Classes/PHPExcel/ReferenceHelper.php | 922 +++ .../phpexcel/Classes/PHPExcel/RichText.php | 199 + .../PHPExcel/RichText/ITextElement.php | 64 + .../Classes/PHPExcel/RichText/Run.php | 102 + .../Classes/PHPExcel/RichText/TextElement.php | 108 + .../phpexcel/Classes/PHPExcel/Settings.php | 391 + .../Classes/PHPExcel/Shared/CodePage.php | 106 + .../phpexcel/Classes/PHPExcel/Shared/Date.php | 393 + .../Classes/PHPExcel/Shared/Drawing.php | 272 + .../Classes/PHPExcel/Shared/Escher.php | 91 + .../PHPExcel/Shared/Escher/DgContainer.php | 83 + .../Escher/DgContainer/SpgrContainer.php | 109 + .../DgContainer/SpgrContainer/SpContainer.php | 395 + .../PHPExcel/Shared/Escher/DggContainer.php | 203 + .../Escher/DggContainer/BstoreContainer.php | 65 + .../DggContainer/BstoreContainer/BSE.php | 120 + .../DggContainer/BstoreContainer/BSE/Blip.php | 91 + .../Classes/PHPExcel/Shared/Excel5.php | 317 + .../phpexcel/Classes/PHPExcel/Shared/File.php | 178 + .../phpexcel/Classes/PHPExcel/Shared/Font.php | 773 ++ .../PHPExcel/Shared/JAMA/CHANGELOG.TXT | 16 + .../Shared/JAMA/CholeskyDecomposition.php | 149 + .../Shared/JAMA/EigenvalueDecomposition.php | 862 ++ .../PHPExcel/Shared/JAMA/LUDecomposition.php | 258 + .../Classes/PHPExcel/Shared/JAMA/Matrix.php | 1057 +++ .../PHPExcel/Shared/JAMA/QRDecomposition.php | 234 + .../JAMA/SingularValueDecomposition.php | 526 ++ .../PHPExcel/Shared/JAMA/utils/Error.php | 82 + .../PHPExcel/Shared/JAMA/utils/Maths.php | 43 + .../phpexcel/Classes/PHPExcel/Shared/OLE.php | 531 ++ .../Shared/OLE/ChainedBlockStream.php | 222 + .../Classes/PHPExcel/Shared/OLE/PPS.php | 230 + .../Classes/PHPExcel/Shared/OLE/PPS/File.php | 84 + .../Classes/PHPExcel/Shared/OLE/PPS/Root.php | 467 ++ .../Classes/PHPExcel/Shared/OLERead.php | 317 + .../PHPExcel/Shared/PCLZip/gnu-lgpl.txt | 504 ++ .../PHPExcel/Shared/PCLZip/pclzip.lib.php | 5691 +++++++++++++ .../Classes/PHPExcel/Shared/PCLZip/readme.txt | 421 + .../PHPExcel/Shared/PasswordHasher.php | 66 + .../Classes/PHPExcel/Shared/String.php | 811 ++ .../Classes/PHPExcel/Shared/TimeZone.php | 140 + .../Classes/PHPExcel/Shared/XMLWriter.php | 127 + .../Classes/PHPExcel/Shared/ZipArchive.php | 175 + .../PHPExcel/Shared/ZipStreamWrapper.php | 201 + .../PHPExcel/Shared/trend/bestFitClass.php | 432 + .../Shared/trend/exponentialBestFitClass.php | 148 + .../Shared/trend/linearBestFitClass.php | 111 + .../Shared/trend/logarithmicBestFitClass.php | 120 + .../Shared/trend/polynomialBestFitClass.php | 224 + .../Shared/trend/powerBestFitClass.php | 142 + .../PHPExcel/Shared/trend/trendClass.php | 156 + .../phpexcel/Classes/PHPExcel/Style.php | 668 ++ .../Classes/PHPExcel/Style/Alignment.php | 459 ++ .../Classes/PHPExcel/Style/Border.php | 294 + .../Classes/PHPExcel/Style/Borders.php | 424 + .../phpexcel/Classes/PHPExcel/Style/Color.php | 429 + .../Classes/PHPExcel/Style/Conditional.php | 277 + .../phpexcel/Classes/PHPExcel/Style/Fill.php | 321 + .../phpexcel/Classes/PHPExcel/Style/Font.php | 532 ++ .../Classes/PHPExcel/Style/NumberFormat.php | 717 ++ .../Classes/PHPExcel/Style/Protection.php | 207 + .../Classes/PHPExcel/Style/Supervisor.php | 132 + .../phpexcel/Classes/PHPExcel/Worksheet.php | 2945 +++++++ .../Classes/PHPExcel/Worksheet/AutoFilter.php | 862 ++ .../PHPExcel/Worksheet/AutoFilter/Column.php | 394 + .../Worksheet/AutoFilter/Column/Rule.php | 464 ++ .../PHPExcel/Worksheet/BaseDrawing.php | 489 ++ .../PHPExcel/Worksheet/CellIterator.php | 95 + .../Classes/PHPExcel/Worksheet/Column.php | 92 + .../PHPExcel/Worksheet/ColumnCellIterator.php | 215 + .../PHPExcel/Worksheet/ColumnDimension.php | 266 + .../PHPExcel/Worksheet/ColumnIterator.php | 192 + .../Classes/PHPExcel/Worksheet/Drawing.php | 148 + .../PHPExcel/Worksheet/Drawing/Shadow.php | 288 + .../PHPExcel/Worksheet/HeaderFooter.php | 465 ++ .../Worksheet/HeaderFooterDrawing.php | 350 + .../PHPExcel/Worksheet/MemoryDrawing.php | 200 + .../PHPExcel/Worksheet/PageMargins.php | 220 + .../Classes/PHPExcel/Worksheet/PageSetup.php | 798 ++ .../Classes/PHPExcel/Worksheet/Protection.php | 545 ++ .../Classes/PHPExcel/Worksheet/Row.php | 92 + .../PHPExcel/Worksheet/RowCellIterator.php | 224 + .../PHPExcel/Worksheet/RowDimension.php | 265 + .../PHPExcel/Worksheet/RowIterator.php | 183 + .../Classes/PHPExcel/Worksheet/SheetView.php | 188 + .../Classes/PHPExcel/WorksheetIterator.php | 118 + .../Classes/PHPExcel/Writer/Abstract.php | 158 + .../phpexcel/Classes/PHPExcel/Writer/CSV.php | 310 + .../Classes/PHPExcel/Writer/Excel2007.php | 532 ++ .../PHPExcel/Writer/Excel2007/Chart.php | 1606 ++++ .../PHPExcel/Writer/Excel2007/Comments.php | 268 + .../Writer/Excel2007/ContentTypes.php | 287 + .../PHPExcel/Writer/Excel2007/DocProps.php | 272 + .../PHPExcel/Writer/Excel2007/Drawing.php | 598 ++ .../PHPExcel/Writer/Excel2007/Rels.php | 437 + .../PHPExcel/Writer/Excel2007/RelsRibbon.php | 77 + .../PHPExcel/Writer/Excel2007/RelsVBA.php | 72 + .../PHPExcel/Writer/Excel2007/StringTable.php | 319 + .../PHPExcel/Writer/Excel2007/Style.php | 707 ++ .../PHPExcel/Writer/Excel2007/Theme.php | 871 ++ .../PHPExcel/Writer/Excel2007/Workbook.php | 456 ++ .../PHPExcel/Writer/Excel2007/Worksheet.php | 1220 +++ .../PHPExcel/Writer/Excel2007/WriterPart.php | 81 + .../Classes/PHPExcel/Writer/Excel5.php | 935 +++ .../PHPExcel/Writer/Excel5/BIFFwriter.php | 255 + .../Classes/PHPExcel/Writer/Excel5/Escher.php | 537 ++ .../Classes/PHPExcel/Writer/Excel5/Font.php | 165 + .../Classes/PHPExcel/Writer/Excel5/Parser.php | 1583 ++++ .../PHPExcel/Writer/Excel5/Workbook.php | 1450 ++++ .../PHPExcel/Writer/Excel5/Worksheet.php | 3681 +++++++++ .../Classes/PHPExcel/Writer/Excel5/Xf.php | 547 ++ .../Classes/PHPExcel/Writer/Exception.php | 52 + .../phpexcel/Classes/PHPExcel/Writer/HTML.php | 1548 ++++ .../Classes/PHPExcel/Writer/IWriter.php | 46 + .../Classes/PHPExcel/Writer/OpenDocument.php | 200 + .../Writer/OpenDocument/Cell/Comment.php | 63 + .../PHPExcel/Writer/OpenDocument/Content.php | 272 + .../PHPExcel/Writer/OpenDocument/Meta.php | 98 + .../PHPExcel/Writer/OpenDocument/MetaInf.php | 96 + .../PHPExcel/Writer/OpenDocument/Mimetype.php | 50 + .../PHPExcel/Writer/OpenDocument/Settings.php | 85 + .../PHPExcel/Writer/OpenDocument/Styles.php | 101 + .../Writer/OpenDocument/Thumbnails.php | 50 + .../Writer/OpenDocument/WriterPart.php | 38 + .../phpexcel/Classes/PHPExcel/Writer/PDF.php | 97 + .../Classes/PHPExcel/Writer/PDF/Core.php | 364 + .../Classes/PHPExcel/Writer/PDF/DomPDF.php | 122 + .../Classes/PHPExcel/Writer/PDF/mPDF.php | 130 + .../Classes/PHPExcel/Writer/PDF/tcPDF.php | 136 + .../Classes/PHPExcel/locale/bg/config | 49 + .../Classes/PHPExcel/locale/cs/config | 47 + .../Classes/PHPExcel/locale/cs/functions | 438 + .../Classes/PHPExcel/locale/da/config | 48 + .../Classes/PHPExcel/locale/da/functions | 438 + .../Classes/PHPExcel/locale/de/config | 47 + .../Classes/PHPExcel/locale/de/functions | 438 + .../Classes/PHPExcel/locale/en/uk/config | 32 + .../Classes/PHPExcel/locale/es/config | 47 + .../Classes/PHPExcel/locale/es/functions | 438 + .../Classes/PHPExcel/locale/fi/config | 47 + .../Classes/PHPExcel/locale/fi/functions | 438 + .../Classes/PHPExcel/locale/fr/config | 47 + .../Classes/PHPExcel/locale/fr/functions | 438 + .../Classes/PHPExcel/locale/hu/config | 47 + .../Classes/PHPExcel/locale/hu/functions | 438 + .../Classes/PHPExcel/locale/it/config | 47 + .../Classes/PHPExcel/locale/it/functions | 438 + .../Classes/PHPExcel/locale/nl/config | 47 + .../Classes/PHPExcel/locale/nl/functions | 438 + .../Classes/PHPExcel/locale/no/config | 47 + .../Classes/PHPExcel/locale/no/functions | 438 + .../Classes/PHPExcel/locale/pl/config | 47 + .../Classes/PHPExcel/locale/pl/functions | 438 + .../Classes/PHPExcel/locale/pt/br/config | 47 + .../Classes/PHPExcel/locale/pt/br/functions | 408 + .../Classes/PHPExcel/locale/pt/config | 47 + .../Classes/PHPExcel/locale/pt/functions | 408 + .../Classes/PHPExcel/locale/ru/config | 47 + .../Classes/PHPExcel/locale/ru/functions | 438 + .../Classes/PHPExcel/locale/sv/config | 47 + .../Classes/PHPExcel/locale/sv/functions | 408 + .../Classes/PHPExcel/locale/tr/config | 47 + .../Classes/PHPExcel/locale/tr/functions | 438 + vendor/phpoffice/phpexcel/Examples/.gitignore | 3 + .../phpexcel/Examples/01pharSimple.php | 112 + .../Examples/01simple-download-ods.php | 89 + .../Examples/01simple-download-pdf.php | 104 + .../Examples/01simple-download-xls.php | 89 + .../Examples/01simple-download-xlsx.php | 89 + .../phpoffice/phpexcel/Examples/01simple.php | 118 + .../phpexcel/Examples/01simplePCLZip.php | 106 + .../phpexcel/Examples/02types-xls.php | 183 + .../phpoffice/phpexcel/Examples/02types.php | 183 + .../phpexcel/Examples/03formulas.php | 149 + .../phpexcel/Examples/04printing.php | 125 + .../phpexcel/Examples/05featuredemo.inc.php | 394 + .../phpexcel/Examples/05featuredemo.php | 78 + .../06largescale-with-cellcaching-sqlite.php | 129 + .../06largescale-with-cellcaching-sqlite3.php | 129 + .../06largescale-with-cellcaching.php | 128 + .../phpexcel/Examples/06largescale-xls.php | 136 + .../phpexcel/Examples/06largescale.php | 136 + .../phpoffice/phpexcel/Examples/07reader.php | 76 + .../phpexcel/Examples/07readerPCLZip.php | 79 + .../Examples/08conditionalformatting.php | 189 + .../Examples/08conditionalformatting2.php | 136 + .../phpexcel/Examples/09pagebreaks.php | 134 + .../Examples/10autofilter-selection-1.php | 221 + .../Examples/10autofilter-selection-2.php | 213 + .../10autofilter-selection-display.php | 198 + .../phpexcel/Examples/10autofilter.php | 171 + .../Examples/11documentsecurity-xls.php | 109 + .../phpexcel/Examples/11documentsecurity.php | 109 + .../phpexcel/Examples/12cellProtection.php | 107 + .../phpexcel/Examples/13calculation.php | 235 + .../phpoffice/phpexcel/Examples/14excel5.php | 63 + .../Examples/15datavalidation-xls.php | 142 + .../phpexcel/Examples/15datavalidation.php | 143 + vendor/phpoffice/phpexcel/Examples/16csv.php | 107 + vendor/phpoffice/phpexcel/Examples/17html.php | 64 + .../Examples/18extendedcalculation.php | 108 + .../phpexcel/Examples/19namedrange.php | 129 + .../phpexcel/Examples/20readexcel5.php | 79 + vendor/phpoffice/phpexcel/Examples/21pdf.php | 94 + .../phpexcel/Examples/22heavilyformatted.php | 116 + .../phpexcel/Examples/23sharedstyles.php | 124 + .../phpexcel/Examples/24readfilter.php | 77 + .../phpexcel/Examples/25inmemoryimage.php | 83 + vendor/phpoffice/phpexcel/Examples/26utf8.php | 122 + .../phpexcel/Examples/27imagesexcel5.php | 64 + .../phpexcel/Examples/28iterator.php | 68 + .../Examples/29advancedvaluebinder.php | 183 + .../phpexcel/Examples/30template.php | 91 + .../Examples/31docproperties_write-xls.php | 119 + .../Examples/31docproperties_write.php | 119 + .../phpexcel/Examples/32chartreadwrite.php | 131 + .../phpexcel/Examples/33chartcreate-area.php | 142 + .../Examples/33chartcreate-bar-stacked.php | 145 + .../phpexcel/Examples/33chartcreate-bar.php | 145 + .../Examples/33chartcreate-column-2.php | 154 + .../Examples/33chartcreate-column.php | 145 + .../Examples/33chartcreate-composite.php | 203 + .../phpexcel/Examples/33chartcreate-line.php | 142 + .../33chartcreate-multiple-charts.php | 220 + .../phpexcel/Examples/33chartcreate-pie.php | 215 + .../phpexcel/Examples/33chartcreate-radar.php | 154 + .../Examples/33chartcreate-scatter.php | 138 + .../phpexcel/Examples/33chartcreate-stock.php | 151 + .../phpexcel/Examples/34chartupdate.php | 78 + .../phpexcel/Examples/35chartrender.php | 134 + .../Examples/36chartreadwriteHTML.php | 151 + .../phpexcel/Examples/36chartreadwritePDF.php | 174 + .../phpexcel/Examples/37page_layout_view.php | 83 + .../phpexcel/Examples/38cloneWorksheet.php | 118 + .../phpexcel/Examples/39dropdown.php | 175 + .../phpexcel/Examples/40duplicateStyle.php | 51 + .../phpexcel/Examples/41password.php | 84 + .../phpexcel/Examples/42richText.php | 159 + .../phpexcel/Examples/Excel2003XMLReader.php | 61 + .../phpexcel/Examples/Excel2003XMLTest.xml | 1 + .../phpexcel/Examples/GnumericReader.php | 60 + .../phpexcel/Examples/GnumericTest.gnumeric | Bin 0 -> 7823 bytes .../phpexcel/Examples/OOCalcReader.php | 61 + .../phpexcel/Examples/OOCalcReaderPCLZip.php | 64 + .../phpexcel/Examples/OOCalcTest.ods | Bin 0 -> 17931 bytes .../phpoffice/phpexcel/Examples/Quadratic.php | 68 + .../phpexcel/Examples/Quadratic2.php | 65 + .../phpexcel/Examples/SylkReader.php | 50 + .../phpoffice/phpexcel/Examples/SylkTest.slk | 152 + .../phpoffice/phpexcel/Examples/XMLReader.php | 60 + .../phpoffice/phpexcel/Examples/XMLTest.xml | 450 ++ .../Examples/data/continents/Africa.txt | 54 + .../Examples/data/continents/Asia.txt | 44 + .../Examples/data/continents/Europe.txt | 47 + .../data/continents/North America.txt | 23 + .../Examples/data/continents/Oceania.txt | 14 + .../data/continents/South America.txt | 12 + .../phpexcel/Examples/images/officelogo.jpg | Bin 0 -> 5597 bytes .../phpexcel/Examples/images/paid.png | Bin 0 -> 1605 bytes .../Examples/images/phpexcel_logo.gif | Bin 0 -> 6104 bytes .../Examples/images/termsconditions.jpg | Bin 0 -> 528 bytes vendor/phpoffice/phpexcel/Examples/runall.php | 130 + vendor/phpoffice/phpexcel/changelog.txt | 1430 ++++ vendor/phpoffice/phpexcel/composer.json | 38 + vendor/phpoffice/phpexcel/install.txt | 75 + vendor/phpoffice/phpexcel/license.md | 345 + .../Classes/PHPExcel/AutoloaderTest.php | 56 + .../PHPExcel/Calculation/DateTimeTest.php | 466 ++ .../PHPExcel/Calculation/EngineeringTest.php | 698 ++ .../PHPExcel/Calculation/FinancialTest.php | 516 ++ .../PHPExcel/Calculation/FunctionsTest.php | 276 + .../PHPExcel/Calculation/LogicalTest.php | 112 + .../PHPExcel/Calculation/LookupRefTest.php | 52 + .../PHPExcel/Calculation/MathTrigTest.php | 560 ++ .../PHPExcel/Calculation/TextDataTest.php | 365 + .../Classes/PHPExcel/CalculationTest.php | 37 + .../PHPExcel/Cell/AdvancedValueBinderTest.php | 73 + .../Classes/PHPExcel/Cell/DataTypeTest.php | 24 + .../PHPExcel/Cell/DefaultValueBinderTest.php | 85 + .../Classes/PHPExcel/Cell/HyperlinkTest.php | 88 + .../unitTests/Classes/PHPExcel/CellTest.php | 295 + .../PHPExcel/Chart/DataSeriesValuesTest.php | 55 + .../Classes/PHPExcel/Chart/LayoutTest.php | 37 + .../Classes/PHPExcel/Chart/LegendTest.php | 134 + .../PHPExcel/Reader/XEEValidatorTest.php | 55 + .../Classes/PHPExcel/ReferenceHelperTest.php | 58 + .../Classes/PHPExcel/Shared/CodePageTest.php | 57 + .../Classes/PHPExcel/Shared/DateTest.php | 188 + .../Classes/PHPExcel/Shared/FileTest.php | 39 + .../Classes/PHPExcel/Shared/FontTest.php | 94 + .../PHPExcel/Shared/PasswordHasherTest.php | 33 + .../Classes/PHPExcel/Shared/StringTest.php | 83 + .../Classes/PHPExcel/Shared/TimeZoneTest.php | 39 + .../Classes/PHPExcel/Style/ColorTest.php | 81 + .../PHPExcel/Style/NumberFormatTest.php | 36 + .../Worksheet/AutoFilter/Column/RuleTest.php | 109 + .../Worksheet/AutoFilter/ColumnTest.php | 173 + .../PHPExcel/Worksheet/AutoFilterTest.php | 340 + .../PHPExcel/Worksheet/CellCollectionTest.php | 31 + .../Worksheet/ColumnCellIteratorTest.php | 87 + .../PHPExcel/Worksheet/ColumnIteratorTest.php | 89 + .../Worksheet/RowCellIteratorTest.php | 89 + .../PHPExcel/Worksheet/RowIteratorTest.php | 87 + .../Worksheet/WorksheetColumnTest.php | 46 + .../PHPExcel/Worksheet/WorksheetRowTest.php | 46 + .../phpexcel/unitTests/bootstrap.php | 49 + .../phpexcel/unitTests/custom/Complex.php | 114 + .../unitTests/custom/complexAssert.php | 62 + .../phpexcel/unitTests/phpunit-cc.xml | 40 + .../phpoffice/phpexcel/unitTests/phpunit.xml | 32 + .../Calculation/DateTime/DATE.data | 79 + .../Calculation/DateTime/DATEDIF.data | 96 + .../Calculation/DateTime/DATEVALUE.data | 66 + .../rawTestData/Calculation/DateTime/DAY.data | 8 + .../Calculation/DateTime/DAYS360.data | 34 + .../Calculation/DateTime/EDATE.data | 15 + .../Calculation/DateTime/EOMONTH.data | 17 + .../Calculation/DateTime/HOUR.data | 12 + .../Calculation/DateTime/MINUTE.data | 12 + .../Calculation/DateTime/MONTH.data | 12 + .../Calculation/DateTime/NETWORKDAYS.data | 18 + .../Calculation/DateTime/SECOND.data | 12 + .../Calculation/DateTime/TIME.data | 22 + .../Calculation/DateTime/TIMEVALUE.data | 13 + .../Calculation/DateTime/WEEKDAY.data | 27 + .../Calculation/DateTime/WEEKNUM.data | 7 + .../Calculation/DateTime/WORKDAY.data | 13 + .../Calculation/DateTime/YEAR.data | 11 + .../Calculation/DateTime/YEARFRAC.data | 65 + .../Calculation/Engineering/BESSELI.data | 59 + .../Calculation/Engineering/BESSELJ.data | 37 + .../Calculation/Engineering/BESSELK.data | 38 + .../Calculation/Engineering/BESSELY.data | 37 + .../Calculation/Engineering/BIN2DEC.data | 10 + .../Calculation/Engineering/BIN2HEX.data | 14 + .../Calculation/Engineering/BIN2OCT.data | 15 + .../Calculation/Engineering/COMPLEX.data | 547 ++ .../Calculation/Engineering/CONVERTUOM.data | 24 + .../Calculation/Engineering/DEC2BIN.data | 16 + .../Calculation/Engineering/DEC2HEX.data | 15 + .../Calculation/Engineering/DEC2OCT.data | 12 + .../Calculation/Engineering/DELTA.data | 25 + .../Calculation/Engineering/ERF.data | 124 + .../Calculation/Engineering/ERFC.data | 41 + .../Calculation/Engineering/GESTEP.data | 81 + .../Calculation/Engineering/HEX2BIN.data | 13 + .../Calculation/Engineering/HEX2DEC.data | 13 + .../Calculation/Engineering/HEX2OCT.data | 13 + .../Calculation/Engineering/IMABS.data | 27 + .../Calculation/Engineering/IMAGINARY.data | 30 + .../Calculation/Engineering/IMARGUMENT.data | 26 + .../Calculation/Engineering/IMCONJUGATE.data | 26 + .../Calculation/Engineering/IMCOS.data | 27 + .../Calculation/Engineering/IMDIV.data | 20 + .../Calculation/Engineering/IMEXP.data | 27 + .../Calculation/Engineering/IMLN.data | 27 + .../Calculation/Engineering/IMLOG10.data | 27 + .../Calculation/Engineering/IMLOG2.data | 27 + .../Calculation/Engineering/IMPOWER.data | 18 + .../Calculation/Engineering/IMPRODUCT.data | 15 + .../Calculation/Engineering/IMREAL.data | 30 + .../Calculation/Engineering/IMSIN.data | 27 + .../Calculation/Engineering/IMSQRT.data | 28 + .../Calculation/Engineering/IMSUB.data | 10 + .../Calculation/Engineering/IMSUM.data | 10 + .../Calculation/Engineering/OCT2BIN.data | 9 + .../Calculation/Engineering/OCT2DEC.data | 9 + .../Calculation/Engineering/OCT2HEX.data | 9 + .../Calculation/Financial/ACCRINT.data | 8 + .../Calculation/Financial/ACCRINTM.data | 6 + .../Calculation/Financial/AMORDEGRC.data | 3 + .../Calculation/Financial/AMORLINC.data | 3 + .../Calculation/Financial/COUPDAYBS.data | 6 + .../Calculation/Financial/COUPDAYS.data | 6 + .../Calculation/Financial/COUPDAYSNC.data | 6 + .../Calculation/Financial/COUPNCD.data | 6 + .../Calculation/Financial/COUPNUM.data | 7 + .../Calculation/Financial/COUPPCD.data | 6 + .../Calculation/Financial/CUMIPMT.data | 10 + .../Calculation/Financial/CUMPRINC.data | 10 + .../rawTestData/Calculation/Financial/DB.data | 17 + .../Calculation/Financial/DDB.data | 16 + .../Calculation/Financial/DISC.data | 6 + .../Calculation/Financial/DOLLARDE.data | 10 + .../Calculation/Financial/DOLLARFR.data | 10 + .../Calculation/Financial/EFFECT.data | 6 + .../rawTestData/Calculation/Financial/FV.data | 9 + .../Calculation/Financial/FVSCHEDULE.data | 4 + .../Calculation/Financial/INTRATE.data | 6 + .../Calculation/Financial/IPMT.data | 9 + .../Calculation/Financial/IRR.data | 6 + .../Calculation/Financial/ISPMT.data | 5 + .../Calculation/Financial/MIRR.data | 6 + .../Calculation/Financial/NOMINAL.data | 6 + .../Calculation/Financial/NPER.data | 10 + .../Calculation/Financial/NPV.data | 5 + .../Calculation/Financial/PRICE.data | 10 + .../Calculation/Financial/RATE.data | 11 + .../Calculation/Financial/XIRR.data | 4 + .../Calculation/Functions/ERROR_TYPE.data | 14 + .../Calculation/Functions/IS_BLANK.data | 16 + .../Calculation/Functions/IS_ERR.data | 16 + .../Calculation/Functions/IS_ERROR.data | 16 + .../Calculation/Functions/IS_EVEN.data | 20 + .../Calculation/Functions/IS_LOGICAL.data | 16 + .../Calculation/Functions/IS_NA.data | 16 + .../Calculation/Functions/IS_NONTEXT.data | 16 + .../Calculation/Functions/IS_NUMBER.data | 16 + .../Calculation/Functions/IS_ODD.data | 20 + .../Calculation/Functions/IS_TEXT.data | 16 + .../rawTestData/Calculation/Functions/N.data | 20 + .../Calculation/Functions/TYPE.data | 16 + .../rawTestData/Calculation/Logical/AND.data | 21 + .../rawTestData/Calculation/Logical/IF.data | 7 + .../Calculation/Logical/IFERROR.data | 8 + .../rawTestData/Calculation/Logical/NOT.data | 20 + .../rawTestData/Calculation/Logical/OR.data | 20 + .../Calculation/LookupRef/HLOOKUP.data | 9 + .../Calculation/LookupRef/VLOOKUP.data | 5 + .../Calculation/MathTrig/ATAN2.data | 17 + .../Calculation/MathTrig/CEILING.data | 21 + .../Calculation/MathTrig/COMBIN.data | 25 + .../Calculation/MathTrig/EVEN.data | 17 + .../Calculation/MathTrig/FACT.data | 10 + .../Calculation/MathTrig/FACTDOUBLE.data | 8 + .../Calculation/MathTrig/FLOOR.data | 11 + .../rawTestData/Calculation/MathTrig/GCD.data | 20 + .../rawTestData/Calculation/MathTrig/INT.data | 19 + .../rawTestData/Calculation/MathTrig/LCM.data | 12 + .../rawTestData/Calculation/MathTrig/LOG.data | 70 + .../Calculation/MathTrig/MDETERM.data | 14 + .../Calculation/MathTrig/MINVERSE.data | 15 + .../Calculation/MathTrig/MMULT.data | 12 + .../rawTestData/Calculation/MathTrig/MOD.data | 9 + .../Calculation/MathTrig/MROUND.data | 11 + .../Calculation/MathTrig/MULTINOMIAL.data | 2 + .../rawTestData/Calculation/MathTrig/ODD.data | 13 + .../Calculation/MathTrig/POWER.data | 81 + .../Calculation/MathTrig/PRODUCT.data | 7 + .../Calculation/MathTrig/QUOTIENT.data | 6 + .../Calculation/MathTrig/ROMAN.data | 5 + .../Calculation/MathTrig/ROUNDDOWN.data | 14 + .../Calculation/MathTrig/ROUNDUP.data | 14 + .../Calculation/MathTrig/SERIESSUM.data | 2 + .../Calculation/MathTrig/SIGN.data | 13 + .../Calculation/MathTrig/SQRTPI.data | 15 + .../Calculation/MathTrig/SUMSQ.data | 7 + .../Calculation/MathTrig/TRUNC.data | 19 + .../Calculation/TextData/CHAR.data | 5 + .../Calculation/TextData/CLEAN.data | 5 + .../Calculation/TextData/CODE.data | 12 + .../Calculation/TextData/CONCATENATE.data | 3 + .../Calculation/TextData/DOLLAR.data | 6 + .../Calculation/TextData/FIND.data | 13 + .../Calculation/TextData/FIXED.data | 5 + .../Calculation/TextData/LEFT.data | 6 + .../rawTestData/Calculation/TextData/LEN.data | 6 + .../Calculation/TextData/LOWER.data | 4 + .../rawTestData/Calculation/TextData/MID.data | 9 + .../Calculation/TextData/PROPER.data | 3 + .../Calculation/TextData/REPLACE.data | 4 + .../Calculation/TextData/RIGHT.data | 6 + .../Calculation/TextData/SEARCH.data | 11 + .../Calculation/TextData/SUBSTITUTE.data | 4 + .../rawTestData/Calculation/TextData/T.data | 5 + .../Calculation/TextData/TEXT.data | 13 + .../Calculation/TextData/TRIM.data | 7 + .../Calculation/TextData/UPPER.data | 4 + .../Calculation/TextData/VALUE.data | 10 + .../CalculationBinaryComparisonOperation.data | 53 + .../rawTestData/Cell/DefaultValueBinder.data | 19 + .../rawTestData/CellAbsoluteCoordinate.data | 12 + .../rawTestData/CellAbsoluteReference.data | 16 + .../unitTests/rawTestData/CellBuildRange.data | 2 + .../rawTestData/CellCoordinates.data | 6 + .../CellExtractAllCellReferencesInRange.data | 9 + .../rawTestData/CellGetRangeBoundaries.data | 2 + .../rawTestData/CellRangeBoundaries.data | 2 + .../rawTestData/CellRangeDimension.data | 2 + .../unitTests/rawTestData/CellSplitRange.data | 3 + .../unitTests/rawTestData/ColumnIndex.data | 9 + .../unitTests/rawTestData/ColumnString.data | 9 + .../Reader/XEETestInvalidUTF-16.xml | Bin 0 -> 276 bytes .../Reader/XEETestInvalidUTF-16BE.xml | Bin 0 -> 278 bytes .../Reader/XEETestInvalidUTF-16LE.xml | Bin 0 -> 278 bytes .../Reader/XEETestInvalidUTF-8.xml | 8 + .../rawTestData/Reader/XEETestValidUTF-16.xml | Bin 0 -> 176 bytes .../Reader/XEETestValidUTF-16BE.xml | Bin 0 -> 178 bytes .../Reader/XEETestValidUTF-16LE.xml | Bin 0 -> 178 bytes .../rawTestData/Reader/XEETestValidUTF-8.xml | 4 + .../Shared/CentimeterSizeToPixels.data | 5 + .../rawTestData/Shared/CodePage.data | 43 + .../Shared/DateTimeExcelToPHP1900.data | 15 + .../DateTimeExcelToPHP1900Timezone.data | 23 + .../Shared/DateTimeExcelToPHP1904.data | 10 + .../Shared/DateTimeFormatCodes.data | 37 + .../DateTimeFormattedPHPToExcel1900.data | 12 + .../Shared/DateTimePHPToExcel1900.data | 12 + .../Shared/DateTimePHPToExcel1904.data | 7 + .../rawTestData/Shared/FontSizeToPixels.data | 16 + .../rawTestData/Shared/InchSizeToPixels.data | 5 + .../rawTestData/Shared/PasswordHashes.data | 9 + .../Style/ColorChangeBrightness.data | 14 + .../rawTestData/Style/ColorGetBlue.data | 6 + .../rawTestData/Style/ColorGetGreen.data | 6 + .../rawTestData/Style/ColorGetRed.data | 6 + .../rawTestData/Style/NumberFormat.data | 37 + .../unitTests/testDataFileIterator.php | 131 + vendor/phpseclib/phpseclib/AUTHORS | 6 + vendor/phpseclib/phpseclib/LICENSE | 21 + vendor/phpseclib/phpseclib/README.md | 65 + vendor/phpseclib/phpseclib/composer.json | 76 + vendor/phpseclib/phpseclib/composer.lock | 1819 +++++ .../phpseclib/phpseclib/Crypt/AES.php | 126 + .../phpseclib/phpseclib/Crypt/Base.php | 2553 ++++++ .../phpseclib/phpseclib/Crypt/Blowfish.php | 574 ++ .../phpseclib/phpseclib/Crypt/DES.php | 1443 ++++ .../phpseclib/phpseclib/Crypt/Hash.php | 824 ++ .../phpseclib/phpseclib/Crypt/RC2.php | 688 ++ .../phpseclib/phpseclib/Crypt/RC4.php | 339 + .../phpseclib/phpseclib/Crypt/RSA.php | 3044 +++++++ .../phpseclib/phpseclib/Crypt/Random.php | 270 + .../phpseclib/phpseclib/Crypt/Rijndael.php | 936 +++ .../phpseclib/phpseclib/Crypt/TripleDES.php | 460 ++ .../phpseclib/phpseclib/Crypt/Twofish.php | 808 ++ .../phpseclib/phpseclib/File/ANSI.php | 574 ++ .../phpseclib/phpseclib/File/ASN1.php | 1323 +++ .../phpseclib/phpseclib/File/ASN1/Element.php | 47 + .../phpseclib/phpseclib/File/X509.php | 4820 +++++++++++ .../phpseclib/phpseclib/Math/BigInteger.php | 3755 +++++++++ .../phpseclib/phpseclib/phpseclib/Net/SCP.php | 334 + .../phpseclib/phpseclib/Net/SFTP.php | 2959 +++++++ .../phpseclib/phpseclib/Net/SFTP/Stream.php | 795 ++ .../phpseclib/phpseclib/Net/SSH1.php | 1614 ++++ .../phpseclib/phpseclib/Net/SSH2.php | 4188 ++++++++++ .../phpseclib/phpseclib/System/SSH/Agent.php | 308 + .../phpseclib/System/SSH/Agent/Identity.php | 158 + .../phpseclib/phpseclib/bootstrap.php | 16 + .../phpseclib/phpseclib/phpseclib/openssl.cnf | 6 + vendor/psr/cache/CHANGELOG.md | 16 + vendor/psr/cache/LICENSE.txt | 19 + vendor/psr/cache/README.md | 9 + vendor/psr/cache/composer.json | 25 + vendor/psr/cache/src/CacheException.php | 10 + vendor/psr/cache/src/CacheItemInterface.php | 105 + .../psr/cache/src/CacheItemPoolInterface.php | 138 + .../cache/src/InvalidArgumentException.php | 13 + vendor/psr/http-message/CHANGELOG.md | 36 + vendor/psr/http-message/LICENSE | 19 + vendor/psr/http-message/README.md | 13 + vendor/psr/http-message/composer.json | 26 + .../psr/http-message/src/MessageInterface.php | 187 + .../psr/http-message/src/RequestInterface.php | 129 + .../http-message/src/ResponseInterface.php | 68 + .../src/ServerRequestInterface.php | 261 + .../psr/http-message/src/StreamInterface.php | 158 + .../src/UploadedFileInterface.php | 123 + vendor/psr/http-message/src/UriInterface.php | 323 + vendor/psr/log/.gitignore | 1 + vendor/psr/log/LICENSE | 19 + vendor/psr/log/Psr/Log/AbstractLogger.php | 128 + .../log/Psr/Log/InvalidArgumentException.php | 7 + vendor/psr/log/Psr/Log/LogLevel.php | 18 + .../psr/log/Psr/Log/LoggerAwareInterface.php | 18 + vendor/psr/log/Psr/Log/LoggerAwareTrait.php | 26 + vendor/psr/log/Psr/Log/LoggerInterface.php | 123 + vendor/psr/log/Psr/Log/LoggerTrait.php | 140 + vendor/psr/log/Psr/Log/NullLogger.php | 28 + .../log/Psr/Log/Test/LoggerInterfaceTest.php | 140 + vendor/psr/log/README.md | 45 + vendor/psr/log/composer.json | 26 + vendor/stefangabos/zebra_form/README.md | 134 + vendor/stefangabos/zebra_form/Zebra_Form.php | 5092 ++++++++++++ vendor/stefangabos/zebra_form/changelog.txt | 1 + vendor/stefangabos/zebra_form/composer.json | 25 + .../stefangabos/zebra_form/documentation.txt | 1 + .../examples/includes/contact-custom.php | 76 + .../examples/includes/contact-horizontal.php | 74 + .../examples/includes/contact-vertical.php | 74 + .../includes/container-html/container.html | 36 + .../includes/custom-templates/contact.php | 27 + .../includes/custom-templates/divs-login.php | 28 + .../example1-dependencies.php | 73 + .../example2-dependencies.php | 15 + .../custom-templates/registration.php | 32 + .../includes/custom-templates/reservation.php | 72 + .../custom-templates/tables-login.php | 45 + .../includes/dependencies-example1-custom.php | 106 + .../includes/dependencies-example2-custom.php | 75 + .../fileupload-basic-image-vertical.php | 52 + .../includes/fileupload-basic-vertical.php | 49 + .../examples/includes/login-divs-custom.php | 62 + .../examples/includes/login-horizontal.php | 53 + .../examples/includes/login-labels-inside.php | 53 + .../examples/includes/login-tables-custom.php | 56 + .../examples/includes/login-vertical.php | 53 + .../examples/includes/registration-custom.php | 88 + .../includes/registration-horizontal.php | 86 + .../includes/registration-vertical.php | 86 + .../reservation-autofill-vertical.php | 116 + .../examples/includes/reservation-custom.php | 110 + .../includes/reservation-horizontal.php | 108 + .../includes/reservation-vertical.php | 110 + .../examples/includes/validation-vertical.php | 107 + .../zebra_form/examples/index.html | 8 + .../stefangabos/zebra_form/examples/index.php | 310 + .../libraries/highlight/public/AUTHORS.en.txt | 38 + .../libraries/highlight/public/LICENSE | 24 + .../libraries/highlight/public/css/dark.css | 100 + .../highlight/public/css/default.css | 115 + .../highlight/public/css/ir_black.css | 103 + .../highlight/public/css/sunburst.css | 145 + .../highlight/public/css/zenburn.css | 112 + .../highlight/public/javascript/css.js | 90 + .../highlight/public/javascript/highlight.js | 1 + .../highlight/public/javascript/html-xml.js | 164 + .../highlight/public/javascript/javascript.js | 53 + .../highlight/public/javascript/php.js | 68 + .../libraries/highlight/public/readme.eng.txt | 508 ++ .../zebra_form/examples/public/css/reset.css | 102 + .../zebra_form/examples/public/css/style.css | 62 + .../examples/public/images/comment.png | Bin 0 -> 469 bytes .../examples/public/images/letter.png | Bin 0 -> 303 bytes .../examples/public/images/user.png | Bin 0 -> 416 bytes .../examples/public/javascript/core.js | 25 + .../public/javascript/jquery-1.12.0.js | 5 + .../zebra_form/includes/Button.php | 150 + .../zebra_form/includes/Captcha.php | 123 + .../zebra_form/includes/Checkbox.php | 243 + .../zebra_form/includes/Control.php | 2107 +++++ .../stefangabos/zebra_form/includes/Date.php | 1769 ++++ .../stefangabos/zebra_form/includes/File.php | 185 + .../zebra_form/includes/Hidden.php | 102 + .../stefangabos/zebra_form/includes/Image.php | 144 + .../stefangabos/zebra_form/includes/Label.php | 192 + .../stefangabos/zebra_form/includes/Note.php | 163 + .../zebra_form/includes/Password.php | 178 + .../stefangabos/zebra_form/includes/Radio.php | 229 + .../stefangabos/zebra_form/includes/Reset.php | 142 + .../zebra_form/includes/Select.php | 385 + .../zebra_form/includes/Submit.php | 142 + .../stefangabos/zebra_form/includes/Text.php | 181 + .../zebra_form/includes/Textarea.php | 151 + .../stefangabos/zebra_form/includes/Time.php | 292 + .../zebra_form/includes/XSSClean.php | 605 ++ .../zebra_form/includes/babelsans-bold.ttf | Bin 0 -> 49356 bytes .../zebra_form/includes/index.html | 8 + vendor/stefangabos/zebra_form/index.html | 8 + .../zebra_form/languages/afrikaans.php | 25 + .../zebra_form/languages/albanian.php | 25 + .../zebra_form/languages/catalan.php | 26 + .../zebra_form/languages/deutsch.php | 24 + .../zebra_form/languages/dutch.php | 25 + .../zebra_form/languages/english.php | 25 + .../zebra_form/languages/espanol.php | 26 + .../zebra_form/languages/francais.php | 26 + .../zebra_form/languages/index.html | 8 + .../zebra_form/languages/italiano.php | 25 + .../zebra_form/languages/romana.php | 26 + .../zebra_form/languages/russian.php | 25 + .../stefangabos/zebra_form/languages/türk.php | 25 + vendor/stefangabos/zebra_form/license.txt | 165 + vendor/stefangabos/zebra_form/mimes.json | 140 + vendor/stefangabos/zebra_form/process.php | 248 + .../public/css/button-background.gif | Bin 0 -> 145 bytes .../public/css/calendar-disabled.png | Bin 0 -> 1041 bytes .../zebra_form/public/css/calendar.png | Bin 0 -> 218 bytes .../zebra_form/public/css/close.png | Bin 0 -> 238 bytes .../zebra_form/public/css/ico-close.gif | Bin 0 -> 672 bytes .../zebra_form/public/css/ico-close.png | Bin 0 -> 894 bytes .../zebra_form/public/css/ico-refresh.gif | Bin 0 -> 1604 bytes .../zebra_form/public/css/ico-refresh.png | Bin 0 -> 654 bytes .../zebra_form/public/css/ico-warning.gif | Bin 0 -> 607 bytes .../zebra_form/public/css/ico-warning.png | Bin 0 -> 713 bytes .../zebra_form/public/css/index.html | 8 + .../zebra_form/public/css/note.gif | Bin 0 -> 114 bytes .../zebra_form/public/css/spinner.gif | Bin 0 -> 2545 bytes .../public/css/textbox-background.gif | Bin 0 -> 85 bytes .../zebra_form/public/css/zebra_form.css | 593 ++ .../stefangabos/zebra_form/public/index.html | 8 + .../zebra_form/public/javascript/index.html | 8 + .../zebra_form/public/javascript/readme.txt | 3 + .../public/javascript/zebra_form.js | 2 + .../public/javascript/zebra_form.src.js | 3302 ++++++++ vendor/stefangabos/zebra_form/readme.txt | 1 + 6264 files changed, 645934 insertions(+) create mode 100644 .htaccess create mode 100644 README.md create mode 100644 accred_form.php create mode 100644 accred_list.php create mode 100644 accred_list.xlsx create mode 100644 accred_style.css create mode 100644 acrred_form.php create mode 100644 ajax/data/arrays.php create mode 100644 composer.json create mode 100644 composer.lock create mode 100644 custom-template.php create mode 100644 details_close.png create mode 100644 details_open.png create mode 100644 favicon.ico create mode 100644 index.php create mode 100644 installer create mode 100644 pencil.png create mode 100644 sign-check-icon.png create mode 100644 tokensignin.php create mode 100644 vendor/autoload.php create mode 100644 vendor/composer/ClassLoader.php create mode 100644 vendor/composer/LICENSE create mode 100644 vendor/composer/autoload_classmap.php create mode 100644 vendor/composer/autoload_files.php create mode 100644 vendor/composer/autoload_namespaces.php create mode 100644 vendor/composer/autoload_psr4.php create mode 100644 vendor/composer/autoload_real.php create mode 100644 vendor/composer/autoload_static.php create mode 100644 vendor/composer/installed.json create mode 100644 vendor/firebase/php-jwt/LICENSE create mode 100644 vendor/firebase/php-jwt/README.md create mode 100644 vendor/firebase/php-jwt/composer.json create mode 100644 vendor/firebase/php-jwt/composer.lock create mode 100644 vendor/firebase/php-jwt/package.xml create mode 100644 vendor/firebase/php-jwt/src/BeforeValidException.php create mode 100644 vendor/firebase/php-jwt/src/ExpiredException.php create mode 100644 vendor/firebase/php-jwt/src/JWT.php create mode 100644 vendor/firebase/php-jwt/src/SignatureInvalidException.php create mode 100644 vendor/google/apiclient-services/.gitignore create mode 100644 vendor/google/apiclient-services/.travis.yml create mode 100644 vendor/google/apiclient-services/CONTRIBUTING.md create mode 100644 vendor/google/apiclient-services/LICENSE create mode 100644 vendor/google/apiclient-services/README.md create mode 100644 vendor/google/apiclient-services/composer.json create mode 100644 vendor/google/apiclient-services/phpunit.xml create mode 100644 vendor/google/apiclient-services/src/Google/Service/Acceleratedmobilepageurl.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Acceleratedmobilepageurl/AmpUrl.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Acceleratedmobilepageurl/AmpUrlError.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Acceleratedmobilepageurl/BatchGetAmpUrlsRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Acceleratedmobilepageurl/BatchGetAmpUrlsResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Acceleratedmobilepageurl/Resource/AmpUrls.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/Account.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/AccountBidderLocation.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/AccountsList.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/AddOrderDealsRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/AddOrderDealsResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/AddOrderNotesRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/AddOrderNotesResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/BillingInfo.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/BillingInfoList.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/Budget.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/Buyer.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/ContactInformation.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/CreateOrdersRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/CreateOrdersResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/Creative.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/CreativeCorrections.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/CreativeCorrectionsContexts.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/CreativeDealIds.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/CreativeDealIdsDealStatuses.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/CreativeFilteringReasons.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/CreativeFilteringReasonsReasons.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/CreativeNativeAd.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/CreativeNativeAdAppIcon.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/CreativeNativeAdImage.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/CreativeNativeAdLogo.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/CreativeServingRestrictions.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/CreativeServingRestrictionsContexts.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/CreativeServingRestrictionsDisapprovalReasons.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/CreativesList.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/DealServingMetadata.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/DealServingMetadataDealPauseStatus.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/DealTerms.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/DealTermsGuaranteedFixedPriceTerms.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/DealTermsGuaranteedFixedPriceTermsBillingInfo.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/DealTermsNonGuaranteedAuctionTerms.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/DealTermsNonGuaranteedFixedPriceTerms.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/DealTermsRubiconNonGuaranteedTerms.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/DeleteOrderDealsRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/DeleteOrderDealsResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/DeliveryControl.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/DeliveryControlFrequencyCap.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/Dimension.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/DimensionDimensionValue.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/EditAllOrderDealsRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/EditAllOrderDealsResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/GetOffersResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/GetOrderDealsResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/GetOrderNotesResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/GetOrdersResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/GetPublisherProfilesByAccountIdResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/MarketplaceDeal.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/MarketplaceDealParty.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/MarketplaceLabel.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/MarketplaceNote.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/PerformanceReport.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/PerformanceReportList.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/PretargetingConfig.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/PretargetingConfigDimensions.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/PretargetingConfigExcludedPlacements.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/PretargetingConfigList.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/PretargetingConfigPlacements.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/PretargetingConfigVideoPlayerSizes.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/Price.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/PricePerBuyer.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/PrivateData.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/Product.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/Proposal.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/PublisherProfileApiProto.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/PublisherProvidedForecast.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/Resource/Accounts.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/Resource/BillingInfo.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/Resource/Budget.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/Resource/Creatives.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/Resource/Marketplacedeals.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/Resource/Marketplacenotes.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/Resource/Marketplaceprivateauction.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/Resource/PerformanceReport.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/Resource/PretargetingConfig.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/Resource/Products.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/Resource/Proposals.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/Resource/Pubprofiles.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/Seller.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/SharedTargeting.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/TargetingValue.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/TargetingValueCreativeSize.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/TargetingValueDayPartTargeting.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/TargetingValueDayPartTargetingDayPart.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/TargetingValueSize.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/UpdatePrivateAuctionProposalRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyerII.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyerII/AddDealAssociationRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyerII/Adexchangebuyer2Empty.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyerII/AppContext.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyerII/AuctionContext.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyerII/Client.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyerII/ClientUser.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyerII/ClientUserInvitation.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyerII/Correction.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyerII/Creative.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyerII/CreativeDealAssociation.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyerII/Date.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyerII/Disapproval.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyerII/FilteringStats.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyerII/HtmlContent.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyerII/Image.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyerII/ListClientUserInvitationsResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyerII/ListClientUsersResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyerII/ListClientsResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyerII/ListCreativesResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyerII/ListDealAssociationsResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyerII/LocationContext.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyerII/NativeContent.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyerII/PlatformContext.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyerII/Reason.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyerII/RemoveDealAssociationRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyerII/Resource/Accounts.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyerII/Resource/AccountsClients.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyerII/Resource/AccountsClientsInvitations.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyerII/Resource/AccountsClientsUsers.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyerII/Resource/AccountsCreatives.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyerII/Resource/AccountsCreativesDealAssociations.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyerII/SecurityContext.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyerII/ServingContext.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyerII/ServingRestriction.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyerII/StopWatchingCreativeRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyerII/VideoContent.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyerII/WatchCreativeRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdExchangeSeller.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdExchangeSeller/Account.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdExchangeSeller/Accounts.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdExchangeSeller/AdClient.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdExchangeSeller/AdClients.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdExchangeSeller/Alert.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdExchangeSeller/Alerts.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdExchangeSeller/CustomChannel.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdExchangeSeller/CustomChannelTargetingInfo.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdExchangeSeller/CustomChannels.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdExchangeSeller/Metadata.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdExchangeSeller/PreferredDeal.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdExchangeSeller/PreferredDeals.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdExchangeSeller/Report.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdExchangeSeller/ReportHeaders.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdExchangeSeller/ReportingMetadataEntry.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdExchangeSeller/Resource/Accounts.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdExchangeSeller/Resource/AccountsAdclients.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdExchangeSeller/Resource/AccountsAlerts.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdExchangeSeller/Resource/AccountsCustomchannels.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdExchangeSeller/Resource/AccountsMetadata.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdExchangeSeller/Resource/AccountsMetadataDimensions.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdExchangeSeller/Resource/AccountsMetadataMetrics.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdExchangeSeller/Resource/AccountsPreferreddeals.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdExchangeSeller/Resource/AccountsReports.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdExchangeSeller/Resource/AccountsReportsSaved.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdExchangeSeller/Resource/AccountsUrlchannels.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdExchangeSeller/SavedReport.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdExchangeSeller/SavedReports.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdExchangeSeller/UrlChannel.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdExchangeSeller/UrlChannels.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdSense.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdSense/Account.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdSense/Accounts.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdSense/AdClient.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdSense/AdClients.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdSense/AdCode.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdSense/AdStyle.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdSense/AdStyleColors.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdSense/AdStyleFont.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdSense/AdUnit.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdSense/AdUnitContentAdsSettings.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdSense/AdUnitContentAdsSettingsBackupOption.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdSense/AdUnitFeedAdsSettings.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdSense/AdUnitMobileContentAdsSettings.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdSense/AdUnits.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdSense/AdsenseReportsGenerateResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdSense/AdsenseReportsGenerateResponseHeaders.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdSense/Alert.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdSense/Alerts.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdSense/CustomChannel.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdSense/CustomChannelTargetingInfo.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdSense/CustomChannels.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdSense/Metadata.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdSense/Payment.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdSense/Payments.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdSense/ReportingMetadataEntry.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdSense/Resource/Accounts.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdSense/Resource/AccountsAdclients.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdSense/Resource/AccountsAdunits.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdSense/Resource/AccountsAdunitsCustomchannels.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdSense/Resource/AccountsAlerts.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdSense/Resource/AccountsCustomchannels.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdSense/Resource/AccountsCustomchannelsAdunits.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdSense/Resource/AccountsPayments.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdSense/Resource/AccountsReports.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdSense/Resource/AccountsReportsSaved.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdSense/Resource/AccountsSavedadstyles.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdSense/Resource/AccountsUrlchannels.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdSense/Resource/Adclients.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdSense/Resource/Adunits.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdSense/Resource/AdunitsCustomchannels.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdSense/Resource/Alerts.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdSense/Resource/Customchannels.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdSense/Resource/CustomchannelsAdunits.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdSense/Resource/Metadata.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdSense/Resource/MetadataDimensions.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdSense/Resource/MetadataMetrics.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdSense/Resource/Payments.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdSense/Resource/Reports.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdSense/Resource/ReportsSaved.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdSense/Resource/Savedadstyles.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdSense/Resource/Urlchannels.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdSense/SavedAdStyle.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdSense/SavedAdStyles.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdSense/SavedReport.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdSense/SavedReports.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdSense/UrlChannel.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdSense/UrlChannels.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdSenseHost.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdSenseHost/Account.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdSenseHost/Accounts.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdSenseHost/AdClient.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdSenseHost/AdClients.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdSenseHost/AdCode.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdSenseHost/AdStyle.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdSenseHost/AdStyleColors.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdSenseHost/AdStyleFont.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdSenseHost/AdUnit.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdSenseHost/AdUnitContentAdsSettings.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdSenseHost/AdUnitContentAdsSettingsBackupOption.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdSenseHost/AdUnitMobileContentAdsSettings.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdSenseHost/AdUnits.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdSenseHost/AssociationSession.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdSenseHost/CustomChannel.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdSenseHost/CustomChannels.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdSenseHost/Report.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdSenseHost/ReportHeaders.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdSenseHost/Resource/Accounts.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdSenseHost/Resource/AccountsAdclients.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdSenseHost/Resource/AccountsAdunits.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdSenseHost/Resource/AccountsReports.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdSenseHost/Resource/Adclients.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdSenseHost/Resource/Associationsessions.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdSenseHost/Resource/Customchannels.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdSenseHost/Resource/Reports.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdSenseHost/Resource/Urlchannels.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdSenseHost/UrlChannel.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AdSenseHost/UrlChannels.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Analytics.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Analytics/Account.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Analytics/AccountChildLink.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Analytics/AccountPermissions.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Analytics/AccountRef.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Analytics/AccountSummaries.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Analytics/AccountSummary.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Analytics/AccountTicket.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Analytics/Accounts.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Analytics/AdWordsAccount.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Analytics/AnalyticsDataimportDeleteUploadDataRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Analytics/Column.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Analytics/Columns.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Analytics/CustomDataSource.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Analytics/CustomDataSourceChildLink.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Analytics/CustomDataSourceParentLink.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Analytics/CustomDataSources.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Analytics/CustomDimension.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Analytics/CustomDimensionParentLink.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Analytics/CustomDimensions.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Analytics/CustomMetric.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Analytics/CustomMetricParentLink.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Analytics/CustomMetrics.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Analytics/EntityAdWordsLink.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Analytics/EntityAdWordsLinkEntity.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Analytics/EntityAdWordsLinks.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Analytics/EntityUserLink.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Analytics/EntityUserLinkEntity.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Analytics/EntityUserLinkPermissions.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Analytics/EntityUserLinks.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Analytics/Experiment.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Analytics/ExperimentParentLink.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Analytics/ExperimentVariations.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Analytics/Experiments.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Analytics/Filter.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Analytics/FilterAdvancedDetails.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Analytics/FilterExpression.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Analytics/FilterLowercaseDetails.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Analytics/FilterParentLink.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Analytics/FilterRef.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Analytics/FilterSearchAndReplaceDetails.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Analytics/FilterUppercaseDetails.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Analytics/Filters.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Analytics/GaData.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Analytics/GaDataColumnHeaders.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Analytics/GaDataDataTable.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Analytics/GaDataDataTableCols.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Analytics/GaDataDataTableRows.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Analytics/GaDataDataTableRowsC.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Analytics/GaDataProfileInfo.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Analytics/GaDataQuery.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Analytics/Goal.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Analytics/GoalEventDetails.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Analytics/GoalEventDetailsEventConditions.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Analytics/GoalParentLink.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Analytics/GoalUrlDestinationDetails.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Analytics/GoalUrlDestinationDetailsSteps.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Analytics/GoalVisitNumPagesDetails.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Analytics/GoalVisitTimeOnSiteDetails.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Analytics/Goals.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Analytics/IncludeConditions.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Analytics/LinkedForeignAccount.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Analytics/McfData.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Analytics/McfDataColumnHeaders.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Analytics/McfDataProfileInfo.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Analytics/McfDataQuery.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Analytics/McfDataRows.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Analytics/McfDataRowsConversionPathValue.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Analytics/Profile.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Analytics/ProfileChildLink.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Analytics/ProfileFilterLink.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Analytics/ProfileFilterLinks.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Analytics/ProfileParentLink.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Analytics/ProfilePermissions.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Analytics/ProfileRef.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Analytics/ProfileSummary.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Analytics/Profiles.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Analytics/RealtimeData.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Analytics/RealtimeDataColumnHeaders.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Analytics/RealtimeDataProfileInfo.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Analytics/RealtimeDataQuery.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Analytics/RemarketingAudience.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Analytics/RemarketingAudienceAudienceDefinition.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Analytics/RemarketingAudienceStateBasedAudienceDefinition.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Analytics/RemarketingAudienceStateBasedAudienceDefinitionExcludeConditions.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Analytics/RemarketingAudiences.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Analytics/Resource/Data.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Analytics/Resource/DataGa.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Analytics/Resource/DataMcf.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Analytics/Resource/DataRealtime.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Analytics/Resource/Management.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Analytics/Resource/ManagementAccountSummaries.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Analytics/Resource/ManagementAccountUserLinks.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Analytics/Resource/ManagementAccounts.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Analytics/Resource/ManagementCustomDataSources.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Analytics/Resource/ManagementCustomDimensions.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Analytics/Resource/ManagementCustomMetrics.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Analytics/Resource/ManagementExperiments.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Analytics/Resource/ManagementFilters.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Analytics/Resource/ManagementGoals.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Analytics/Resource/ManagementProfileFilterLinks.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Analytics/Resource/ManagementProfileUserLinks.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Analytics/Resource/ManagementProfiles.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Analytics/Resource/ManagementRemarketingAudience.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Analytics/Resource/ManagementSegments.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Analytics/Resource/ManagementUnsampledReports.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Analytics/Resource/ManagementUploads.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Analytics/Resource/ManagementWebPropertyAdWordsLinks.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Analytics/Resource/ManagementWebproperties.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Analytics/Resource/ManagementWebpropertyUserLinks.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Analytics/Resource/Metadata.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Analytics/Resource/MetadataColumns.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Analytics/Resource/Provisioning.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Analytics/Segment.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Analytics/Segments.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Analytics/UnsampledReport.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Analytics/UnsampledReportCloudStorageDownloadDetails.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Analytics/UnsampledReportDriveDownloadDetails.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Analytics/UnsampledReports.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Analytics/Upload.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Analytics/Uploads.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Analytics/UserRef.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Analytics/WebPropertyRef.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Analytics/WebPropertySummary.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Analytics/Webproperties.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Analytics/Webproperty.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Analytics/WebpropertyChildLink.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Analytics/WebpropertyParentLink.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Analytics/WebpropertyPermissions.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AnalyticsReporting.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AnalyticsReporting/Cohort.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AnalyticsReporting/CohortGroup.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AnalyticsReporting/ColumnHeader.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AnalyticsReporting/DateRange.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AnalyticsReporting/DateRangeValues.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AnalyticsReporting/Dimension.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AnalyticsReporting/DimensionFilter.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AnalyticsReporting/DimensionFilterClause.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AnalyticsReporting/DynamicSegment.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AnalyticsReporting/GetReportsRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AnalyticsReporting/GetReportsResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AnalyticsReporting/Metric.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AnalyticsReporting/MetricFilter.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AnalyticsReporting/MetricFilterClause.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AnalyticsReporting/MetricHeader.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AnalyticsReporting/MetricHeaderEntry.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AnalyticsReporting/OrFiltersForSegment.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AnalyticsReporting/OrderBy.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AnalyticsReporting/Pivot.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AnalyticsReporting/PivotHeader.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AnalyticsReporting/PivotHeaderEntry.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AnalyticsReporting/PivotValueRegion.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AnalyticsReporting/Report.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AnalyticsReporting/ReportData.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AnalyticsReporting/ReportRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AnalyticsReporting/ReportRow.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AnalyticsReporting/Resource/Reports.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AnalyticsReporting/Segment.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AnalyticsReporting/SegmentDefinition.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AnalyticsReporting/SegmentDimensionFilter.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AnalyticsReporting/SegmentFilter.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AnalyticsReporting/SegmentFilterClause.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AnalyticsReporting/SegmentMetricFilter.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AnalyticsReporting/SegmentSequenceStep.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AnalyticsReporting/SequenceSegment.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AnalyticsReporting/SimpleSegment.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/Administrator.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/AdministratorWebToken.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/AdministratorWebTokenSpec.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/AppRestrictionsSchema.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/AppRestrictionsSchemaChangeEvent.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/AppRestrictionsSchemaRestriction.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/AppRestrictionsSchemaRestrictionRestrictionValue.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/AppUpdateEvent.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/AppVersion.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/ApprovalUrlInfo.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/AuthenticationToken.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/Collection.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/CollectionViewersListResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/CollectionsListResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/Device.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/DeviceState.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/DevicesListResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/Enterprise.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/EnterpriseAccount.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/EnterprisesListResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/EnterprisesSendTestPushNotificationResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/Entitlement.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/EntitlementsListResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/GroupLicense.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/GroupLicenseUsersListResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/GroupLicensesListResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/Install.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/InstallFailureEvent.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/InstallsListResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/LocalizedText.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/ManagedConfiguration.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/ManagedConfigurationsForDeviceListResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/ManagedConfigurationsForUserListResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/ManagedProperty.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/ManagedPropertyBundle.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/NewDeviceEvent.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/NewPermissionsEvent.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/Notification.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/NotificationSet.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/PageInfo.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/Permission.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/Product.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/ProductApprovalEvent.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/ProductAvailabilityChangeEvent.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/ProductPermission.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/ProductPermissions.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/ProductSet.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/ProductsApproveRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/ProductsGenerateApprovalUrlResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/ProductsListResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/Resource/Collections.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/Resource/Collectionviewers.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/Resource/Devices.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/Resource/Enterprises.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/Resource/Entitlements.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/Resource/Grouplicenses.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/Resource/Grouplicenseusers.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/Resource/Installs.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/Resource/Managedconfigurationsfordevice.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/Resource/Managedconfigurationsforuser.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/Resource/Permissions.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/Resource/Products.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/Resource/Serviceaccountkeys.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/Resource/Storelayoutclusters.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/Resource/Storelayoutpages.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/Resource/Users.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/ServiceAccount.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/ServiceAccountKey.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/ServiceAccountKeysListResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/SignupInfo.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/StoreCluster.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/StoreLayout.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/StoreLayoutClustersListResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/StoreLayoutPagesListResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/StorePage.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/TokenPagination.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/User.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/UserToken.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/UsersListResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AndroidPublisher.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/Apk.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/ApkBinary.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/ApkListing.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/ApkListingsListResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/ApksAddExternallyHostedRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/ApksAddExternallyHostedResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/ApksListResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/AppDetails.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/AppEdit.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/Comment.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/DeobfuscationFile.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/DeobfuscationFilesUploadResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/DeveloperComment.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/DeviceMetadata.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/Entitlement.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/EntitlementsListResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/ExpansionFile.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/ExpansionFilesUploadResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/ExternallyHostedApk.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/ExternallyHostedApkUsesPermission.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/Image.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/ImagesDeleteAllResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/ImagesListResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/ImagesUploadResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/InAppProduct.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/InAppProductListing.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/InappproductsBatchRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/InappproductsBatchRequestEntry.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/InappproductsBatchResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/InappproductsBatchResponseEntry.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/InappproductsInsertRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/InappproductsInsertResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/InappproductsListResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/InappproductsUpdateRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/InappproductsUpdateResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/Listing.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/ListingsListResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/MonthDay.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/PageInfo.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/Price.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/ProductPurchase.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/Prorate.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/Resource/Edits.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/Resource/EditsApklistings.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/Resource/EditsApks.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/Resource/EditsDeobfuscationfiles.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/Resource/EditsDetails.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/Resource/EditsExpansionfiles.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/Resource/EditsImages.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/Resource/EditsListings.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/Resource/EditsTesters.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/Resource/EditsTracks.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/Resource/Entitlements.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/Resource/Inappproducts.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/Resource/Purchases.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/Resource/PurchasesProducts.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/Resource/PurchasesSubscriptions.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/Resource/PurchasesVoidedpurchases.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/Resource/Reviews.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/Review.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/ReviewReplyResult.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/ReviewsListResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/ReviewsReplyRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/ReviewsReplyResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/Season.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/SubscriptionDeferralInfo.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/SubscriptionPurchase.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/SubscriptionPurchasesDeferRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/SubscriptionPurchasesDeferResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/Testers.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/Timestamp.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/TokenPagination.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/Track.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/TracksListResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/UserComment.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/VoidedPurchase.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/VoidedPurchasesListResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AppState.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AppState/GetResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AppState/ListResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AppState/Resource/States.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AppState/UpdateRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/AppState/WriteResult.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Appengine.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Appengine/ApiConfigHandler.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Appengine/ApiEndpointHandler.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Appengine/Application.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Appengine/AutomaticScaling.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Appengine/BasicScaling.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Appengine/ContainerInfo.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Appengine/CpuUtilization.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Appengine/DebugInstanceRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Appengine/Deployment.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Appengine/DiskUtilization.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Appengine/EndpointsApiService.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Appengine/ErrorHandler.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Appengine/FileInfo.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Appengine/HealthCheck.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Appengine/Instance.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Appengine/Library.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Appengine/ListInstancesResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Appengine/ListLocationsResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Appengine/ListOperationsResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Appengine/ListServicesResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Appengine/ListVersionsResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Appengine/Location.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Appengine/LocationMetadata.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Appengine/ManualScaling.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Appengine/Network.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Appengine/NetworkUtilization.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Appengine/Operation.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Appengine/OperationMetadata.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Appengine/OperationMetadataExperimental.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Appengine/OperationMetadataV1.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Appengine/OperationMetadataV1Beta5.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Appengine/RepairApplicationRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Appengine/RequestUtilization.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Appengine/Resource/Apps.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Appengine/Resource/AppsLocations.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Appengine/Resource/AppsOperations.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Appengine/Resource/AppsServices.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Appengine/Resource/AppsServicesVersions.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Appengine/Resource/AppsServicesVersionsInstances.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Appengine/Resource/Experimental.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Appengine/Resource/ExperimentalApps.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Appengine/Resource/ExperimentalAppsOperations.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Appengine/Resources.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Appengine/ScriptHandler.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Appengine/Service.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Appengine/SourceReference.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Appengine/StaticFilesHandler.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Appengine/Status.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Appengine/TrafficSplit.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Appengine/UrlDispatchRule.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Appengine/UrlMap.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Appengine/Version.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Appengine/Volume.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Appengine/ZipInfo.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Appsactivity.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Appsactivity/Activity.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Appsactivity/AppsactivityParent.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Appsactivity/Event.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Appsactivity/ListActivitiesResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Appsactivity/Move.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Appsactivity/Permission.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Appsactivity/PermissionChange.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Appsactivity/Photo.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Appsactivity/Rename.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Appsactivity/Resource/Activities.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Appsactivity/Target.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Appsactivity/User.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Autoscaler.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Autoscaler/Autoscaler.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Autoscaler/AutoscalerListResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Autoscaler/AutoscalingPolicy.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Autoscaler/AutoscalingPolicyCpuUtilization.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Autoscaler/AutoscalingPolicyCustomMetricUtilization.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Autoscaler/AutoscalingPolicyLoadBalancingUtilization.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Autoscaler/DeprecationStatus.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Autoscaler/Operation.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Autoscaler/OperationError.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Autoscaler/OperationErrorErrors.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Autoscaler/OperationList.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Autoscaler/OperationWarnings.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Autoscaler/OperationWarningsData.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Autoscaler/Resource/Autoscalers.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Autoscaler/Resource/ZoneOperations.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Autoscaler/Resource/Zones.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Autoscaler/Zone.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Autoscaler/ZoneList.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Bigquery.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Bigquery/BigtableColumn.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Bigquery/BigtableColumnFamily.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Bigquery/BigtableOptions.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Bigquery/CsvOptions.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Bigquery/Dataset.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Bigquery/DatasetAccess.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Bigquery/DatasetList.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Bigquery/DatasetListDatasets.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Bigquery/DatasetReference.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Bigquery/ErrorProto.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Bigquery/ExplainQueryStage.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Bigquery/ExplainQueryStep.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Bigquery/ExternalDataConfiguration.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Bigquery/GetQueryResultsResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Bigquery/GoogleSheetsOptions.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Bigquery/Job.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Bigquery/JobCancelResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Bigquery/JobConfiguration.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Bigquery/JobConfigurationExtract.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Bigquery/JobConfigurationLoad.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Bigquery/JobConfigurationQuery.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Bigquery/JobConfigurationTableCopy.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Bigquery/JobList.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Bigquery/JobListJobs.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Bigquery/JobReference.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Bigquery/JobStatistics.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Bigquery/JobStatistics2.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Bigquery/JobStatistics3.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Bigquery/JobStatistics4.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Bigquery/JobStatus.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Bigquery/ProjectList.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Bigquery/ProjectListProjects.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Bigquery/ProjectReference.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Bigquery/QueryParameter.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Bigquery/QueryParameterType.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Bigquery/QueryParameterTypeStructTypes.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Bigquery/QueryParameterValue.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Bigquery/QueryRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Bigquery/QueryResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Bigquery/Resource/Datasets.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Bigquery/Resource/Jobs.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Bigquery/Resource/Projects.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Bigquery/Resource/Tabledata.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Bigquery/Resource/Tables.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Bigquery/Streamingbuffer.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Bigquery/Table.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Bigquery/TableCell.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Bigquery/TableDataInsertAllRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Bigquery/TableDataInsertAllRequestRows.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Bigquery/TableDataInsertAllResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Bigquery/TableDataInsertAllResponseInsertErrors.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Bigquery/TableDataList.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Bigquery/TableFieldSchema.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Bigquery/TableList.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Bigquery/TableListTables.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Bigquery/TableListTablesView.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Bigquery/TableReference.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Bigquery/TableRow.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Bigquery/TableSchema.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Bigquery/TimePartitioning.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Bigquery/UserDefinedFunctionResource.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Bigquery/ViewDefinition.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Blogger.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Blogger/Blog.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Blogger/BlogList.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Blogger/BlogLocale.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Blogger/BlogPages.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Blogger/BlogPerUserInfo.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Blogger/BlogPosts.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Blogger/BlogUserInfo.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Blogger/Comment.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Blogger/CommentAuthor.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Blogger/CommentAuthorImage.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Blogger/CommentBlog.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Blogger/CommentInReplyTo.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Blogger/CommentList.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Blogger/CommentPost.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Blogger/Page.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Blogger/PageAuthor.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Blogger/PageAuthorImage.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Blogger/PageBlog.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Blogger/PageList.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Blogger/Pageviews.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Blogger/PageviewsCounts.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Blogger/Post.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Blogger/PostAuthor.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Blogger/PostAuthorImage.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Blogger/PostBlog.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Blogger/PostImages.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Blogger/PostList.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Blogger/PostLocation.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Blogger/PostPerUserInfo.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Blogger/PostReplies.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Blogger/PostUserInfo.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Blogger/PostUserInfosList.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Blogger/Resource/BlogUserInfos.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Blogger/Resource/Blogs.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Blogger/Resource/Comments.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Blogger/Resource/PageViews.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Blogger/Resource/Pages.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Blogger/Resource/PostUserInfos.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Blogger/Resource/Posts.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Blogger/Resource/Users.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Blogger/User.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Blogger/UserBlogs.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Blogger/UserLocale.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Books.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Books/Annotation.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Books/AnnotationClientVersionRanges.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Books/AnnotationCurrentVersionRanges.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Books/AnnotationLayerSummary.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Books/Annotationdata.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Books/Annotations.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Books/AnnotationsSummary.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Books/AnnotationsSummaryLayers.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Books/Annotationsdata.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Books/BooksAnnotationsRange.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Books/BooksCloudloadingResource.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Books/BooksVolumesRecommendedRateResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Books/Bookshelf.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Books/Bookshelves.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Books/Category.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Books/CategoryItems.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Books/ConcurrentAccessRestriction.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Books/Dictlayerdata.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Books/DictlayerdataCommon.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Books/DictlayerdataDict.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Books/DictlayerdataDictSource.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Books/DictlayerdataDictWords.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Books/DictlayerdataDictWordsDerivatives.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Books/DictlayerdataDictWordsDerivativesSource.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Books/DictlayerdataDictWordsExamples.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Books/DictlayerdataDictWordsExamplesSource.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Books/DictlayerdataDictWordsSenses.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Books/DictlayerdataDictWordsSensesConjugations.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Books/DictlayerdataDictWordsSensesDefinitions.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Books/DictlayerdataDictWordsSensesDefinitionsExamples.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Books/DictlayerdataDictWordsSensesDefinitionsExamplesSource.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Books/DictlayerdataDictWordsSensesSource.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Books/DictlayerdataDictWordsSensesSynonyms.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Books/DictlayerdataDictWordsSensesSynonymsSource.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Books/DictlayerdataDictWordsSource.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Books/Discoveryclusters.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Books/DiscoveryclustersClusters.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Books/DiscoveryclustersClustersBannerWithContentContainer.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Books/DownloadAccessRestriction.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Books/DownloadAccesses.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Books/Geolayerdata.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Books/GeolayerdataCommon.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Books/GeolayerdataGeo.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Books/GeolayerdataGeoBoundary.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Books/GeolayerdataGeoViewport.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Books/GeolayerdataGeoViewportHi.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Books/GeolayerdataGeoViewportLo.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Books/Layersummaries.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Books/Layersummary.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Books/Metadata.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Books/MetadataItems.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Books/Notification.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Books/Offers.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Books/OffersItems.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Books/OffersItemsItems.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Books/ReadingPosition.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Books/RequestAccess.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Books/Resource/Bookshelves.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Books/Resource/BookshelvesVolumes.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Books/Resource/Cloudloading.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Books/Resource/Dictionary.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Books/Resource/Layers.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Books/Resource/LayersAnnotationData.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Books/Resource/LayersVolumeAnnotations.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Books/Resource/Myconfig.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Books/Resource/Mylibrary.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Books/Resource/MylibraryAnnotations.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Books/Resource/MylibraryBookshelves.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Books/Resource/MylibraryBookshelvesVolumes.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Books/Resource/MylibraryReadingpositions.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Books/Resource/Notification.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Books/Resource/Onboarding.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Books/Resource/Personalizedstream.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Books/Resource/Promooffer.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Books/Resource/Series.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Books/Resource/SeriesMembership.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Books/Resource/Volumes.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Books/Resource/VolumesAssociated.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Books/Resource/VolumesMybooks.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Books/Resource/VolumesRecommended.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Books/Resource/VolumesUseruploaded.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Books/Review.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Books/ReviewAuthor.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Books/ReviewSource.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Books/Series.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Books/SeriesSeries.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Books/Seriesmembership.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Books/Usersettings.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Books/UsersettingsNotesExport.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Books/UsersettingsNotification.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Books/UsersettingsNotificationMoreFromAuthors.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Books/UsersettingsNotificationMoreFromSeries.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Books/Volume.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Books/Volume2.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Books/VolumeAccessInfo.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Books/VolumeAccessInfoEpub.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Books/VolumeAccessInfoPdf.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Books/VolumeLayerInfo.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Books/VolumeLayerInfoLayers.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Books/VolumeRecommendedInfo.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Books/VolumeSaleInfo.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Books/VolumeSaleInfoListPrice.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Books/VolumeSaleInfoOffers.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Books/VolumeSaleInfoOffersListPrice.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Books/VolumeSaleInfoOffersRentalDuration.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Books/VolumeSaleInfoOffersRetailPrice.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Books/VolumeSaleInfoRetailPrice.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Books/VolumeSearchInfo.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Books/VolumeUserInfo.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Books/VolumeUserInfoCopy.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Books/VolumeUserInfoFamilySharing.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Books/VolumeUserInfoRentalPeriod.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Books/VolumeUserInfoUserUploadedVolumeInfo.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Books/VolumeVolumeInfo.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Books/VolumeVolumeInfoDimensions.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Books/VolumeVolumeInfoImageLinks.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Books/VolumeVolumeInfoIndustryIdentifiers.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Books/VolumeVolumeInfoPanelizationSummary.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Books/Volumeannotation.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Books/VolumeannotationContentRanges.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Books/Volumeannotations.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Books/Volumes.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Books/Volumeseriesinfo.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Books/VolumeseriesinfoVolumeSeries.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Books/VolumeseriesinfoVolumeSeriesIssue.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Calendar.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Calendar/Acl.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Calendar/AclRule.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Calendar/AclRuleScope.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Calendar/Calendar.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Calendar/CalendarList.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Calendar/CalendarListEntry.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Calendar/CalendarListEntryNotificationSettings.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Calendar/CalendarNotification.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Calendar/Channel.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Calendar/ColorDefinition.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Calendar/Colors.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Calendar/Error.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Calendar/Event.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Calendar/EventAttachment.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Calendar/EventAttendee.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Calendar/EventCreator.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Calendar/EventDateTime.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Calendar/EventExtendedProperties.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Calendar/EventGadget.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Calendar/EventOrganizer.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Calendar/EventReminder.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Calendar/EventReminders.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Calendar/EventSource.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Calendar/Events.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Calendar/FreeBusyCalendar.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Calendar/FreeBusyGroup.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Calendar/FreeBusyRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Calendar/FreeBusyRequestItem.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Calendar/FreeBusyResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Calendar/Resource/Acl.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Calendar/Resource/CalendarList.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Calendar/Resource/Calendars.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Calendar/Resource/Channels.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Calendar/Resource/Colors.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Calendar/Resource/Events.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Calendar/Resource/Freebusy.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Calendar/Resource/Settings.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Calendar/Setting.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Calendar/Settings.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Calendar/TimePeriod.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CivicInfo.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CivicInfo/AdministrationRegion.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CivicInfo/AdministrativeBody.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CivicInfo/Candidate.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CivicInfo/Channel.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CivicInfo/Contest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CivicInfo/ContextParams.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CivicInfo/DivisionRepresentativeInfoRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CivicInfo/DivisionSearchRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CivicInfo/DivisionSearchResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CivicInfo/DivisionSearchResult.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CivicInfo/Election.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CivicInfo/ElectionOfficial.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CivicInfo/ElectionsQueryRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CivicInfo/ElectionsQueryResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CivicInfo/ElectoralDistrict.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CivicInfo/GeographicDivision.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CivicInfo/Office.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CivicInfo/Official.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CivicInfo/PollingLocation.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CivicInfo/PostalAddress.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CivicInfo/RepresentativeInfoData.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CivicInfo/RepresentativeInfoRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CivicInfo/RepresentativeInfoResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CivicInfo/Resource/Divisions.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CivicInfo/Resource/Elections.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CivicInfo/Resource/Representatives.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CivicInfo/SimpleAddressType.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CivicInfo/Source.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CivicInfo/VoterInfoRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CivicInfo/VoterInfoResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CivicInfo/VoterInfoSegmentResult.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Classroom.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Classroom/Assignment.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Classroom/AssignmentSubmission.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Classroom/Attachment.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Classroom/ClassroomEmpty.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Classroom/Course.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Classroom/CourseAlias.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Classroom/CourseMaterial.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Classroom/CourseMaterialSet.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Classroom/CourseWork.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Classroom/Date.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Classroom/DriveFile.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Classroom/DriveFolder.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Classroom/Form.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Classroom/GlobalPermission.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Classroom/Guardian.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Classroom/GuardianInvitation.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Classroom/Invitation.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Classroom/Link.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Classroom/ListCourseAliasesResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Classroom/ListCourseWorkResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Classroom/ListCoursesResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Classroom/ListGuardianInvitationsResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Classroom/ListGuardiansResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Classroom/ListInvitationsResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Classroom/ListStudentSubmissionsResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Classroom/ListStudentsResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Classroom/ListTeachersResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Classroom/Material.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Classroom/ModifyAttachmentsRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Classroom/MultipleChoiceQuestion.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Classroom/MultipleChoiceSubmission.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Classroom/Name.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Classroom/ReclaimStudentSubmissionRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Classroom/Resource/Courses.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Classroom/Resource/CoursesAliases.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Classroom/Resource/CoursesCourseWork.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Classroom/Resource/CoursesCourseWorkStudentSubmissions.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Classroom/Resource/CoursesStudents.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Classroom/Resource/CoursesTeachers.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Classroom/Resource/Invitations.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Classroom/Resource/UserProfiles.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Classroom/Resource/UserProfilesGuardianInvitations.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Classroom/Resource/UserProfilesGuardians.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Classroom/ReturnStudentSubmissionRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Classroom/SharedDriveFile.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Classroom/ShortAnswerSubmission.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Classroom/Student.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Classroom/StudentSubmission.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Classroom/Teacher.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Classroom/TimeOfDay.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Classroom/TurnInStudentSubmissionRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Classroom/UserProfile.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Classroom/YouTubeVideo.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudBuild.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudBuild/Build.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudBuild/BuildOperationMetadata.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudBuild/BuildOptions.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudBuild/BuildStep.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudBuild/BuildTrigger.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudBuild/BuiltImage.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudBuild/CancelBuildRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudBuild/CancelOperationRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudBuild/CloudbuildEmpty.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudBuild/FileHashes.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudBuild/Hash.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudBuild/ListBuildTriggersResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudBuild/ListBuildsResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudBuild/ListOperationsResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudBuild/Operation.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudBuild/RepoSource.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudBuild/Resource/Operations.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudBuild/Resource/Projects.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudBuild/Resource/ProjectsBuilds.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudBuild/Resource/ProjectsTriggers.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudBuild/Results.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudBuild/Source.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudBuild/SourceProvenance.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudBuild/Status.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudBuild/StorageSource.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudDebugger.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudDebugger/AliasContext.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudDebugger/Breakpoint.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudDebugger/CloudRepoSourceContext.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudDebugger/CloudWorkspaceId.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudDebugger/CloudWorkspaceSourceContext.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudDebugger/ClouddebuggerEmpty.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudDebugger/Debuggee.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudDebugger/ExtendedSourceContext.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudDebugger/FormatMessage.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudDebugger/GerritSourceContext.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudDebugger/GetBreakpointResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudDebugger/GitSourceContext.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudDebugger/ListActiveBreakpointsResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudDebugger/ListBreakpointsResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudDebugger/ListDebuggeesResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudDebugger/ProjectRepoId.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudDebugger/RegisterDebuggeeRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudDebugger/RegisterDebuggeeResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudDebugger/RepoId.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudDebugger/Resource/Controller.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudDebugger/Resource/ControllerDebuggees.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudDebugger/Resource/ControllerDebuggeesBreakpoints.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudDebugger/Resource/Debugger.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudDebugger/Resource/DebuggerDebuggees.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudDebugger/Resource/DebuggerDebuggeesBreakpoints.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudDebugger/SetBreakpointResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudDebugger/SourceContext.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudDebugger/SourceLocation.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudDebugger/StackFrame.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudDebugger/StatusMessage.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudDebugger/UpdateActiveBreakpointRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudDebugger/UpdateActiveBreakpointResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudDebugger/Variable.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudFunctions.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudFunctions/CallFunctionRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudFunctions/CallFunctionResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudFunctions/CloudFunction.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudFunctions/EventTrigger.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudFunctions/HTTPSTrigger.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudFunctions/ListFunctionsResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudFunctions/ListLocationsResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudFunctions/ListOperationsResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudFunctions/Location.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudFunctions/Operation.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudFunctions/OperationMetadataV1Beta2.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudFunctions/Resource/Operations.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudFunctions/Resource/Projects.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudFunctions/Resource/ProjectsLocations.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudFunctions/Resource/ProjectsLocationsFunctions.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudFunctions/SourceRepository.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudFunctions/Status.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudKMS.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudKMS/AuditConfig.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudKMS/AuditLogConfig.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudKMS/Binding.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudKMS/CloudAuditOptions.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudKMS/Condition.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudKMS/CounterOptions.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudKMS/CryptoKey.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudKMS/CryptoKeyVersion.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudKMS/DataAccessOptions.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudKMS/DecryptRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudKMS/DecryptResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudKMS/DestroyCryptoKeyVersionRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudKMS/EncryptRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudKMS/EncryptResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudKMS/KeyRing.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudKMS/ListCryptoKeyVersionsResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudKMS/ListCryptoKeysResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudKMS/ListKeyRingsResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudKMS/ListLocationsResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudKMS/Location.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudKMS/LogConfig.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudKMS/Policy.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudKMS/Resource/Projects.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudKMS/Resource/ProjectsLocations.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudKMS/Resource/ProjectsLocationsKeyRings.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudKMS/Resource/ProjectsLocationsKeyRingsCryptoKeys.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudKMS/Resource/ProjectsLocationsKeyRingsCryptoKeysCryptoKeyVersions.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudKMS/RestoreCryptoKeyVersionRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudKMS/Rule.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudKMS/SetIamPolicyRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudKMS/TestIamPermissionsRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudKMS/TestIamPermissionsResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudKMS/UpdateCryptoKeyPrimaryVersionRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudMachineLearning.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudMachineLearning/GoogleApiHttpBody.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudMachineLearning/GoogleCloudMlV1beta1CancelJobRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudMachineLearning/GoogleCloudMlV1beta1GetConfigResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudMachineLearning/GoogleCloudMlV1beta1HyperparameterOutput.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudMachineLearning/GoogleCloudMlV1beta1HyperparameterOutputHyperparameterMetric.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudMachineLearning/GoogleCloudMlV1beta1HyperparameterSpec.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudMachineLearning/GoogleCloudMlV1beta1Job.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudMachineLearning/GoogleCloudMlV1beta1ListJobsResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudMachineLearning/GoogleCloudMlV1beta1ListModelsResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudMachineLearning/GoogleCloudMlV1beta1ListVersionsResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudMachineLearning/GoogleCloudMlV1beta1Model.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudMachineLearning/GoogleCloudMlV1beta1OperationMetadata.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudMachineLearning/GoogleCloudMlV1beta1ParameterSpec.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudMachineLearning/GoogleCloudMlV1beta1PredictRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudMachineLearning/GoogleCloudMlV1beta1PredictionInput.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudMachineLearning/GoogleCloudMlV1beta1PredictionOutput.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudMachineLearning/GoogleCloudMlV1beta1SetDefaultVersionRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudMachineLearning/GoogleCloudMlV1beta1TrainingInput.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudMachineLearning/GoogleCloudMlV1beta1TrainingOutput.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudMachineLearning/GoogleCloudMlV1beta1Version.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudMachineLearning/GoogleLongrunningListOperationsResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudMachineLearning/GoogleLongrunningOperation.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudMachineLearning/GoogleProtobufEmpty.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudMachineLearning/GoogleRpcStatus.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudMachineLearning/Resource/Projects.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudMachineLearning/Resource/ProjectsJobs.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudMachineLearning/Resource/ProjectsModels.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudMachineLearning/Resource/ProjectsModelsVersions.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudMachineLearning/Resource/ProjectsOperations.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudMachineLearningEngine.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudMachineLearningEngine/GoogleApiHttpBody.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudMachineLearningEngine/GoogleCloudMlV1CancelJobRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudMachineLearningEngine/GoogleCloudMlV1GetConfigResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudMachineLearningEngine/GoogleCloudMlV1HyperparameterOutput.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudMachineLearningEngine/GoogleCloudMlV1HyperparameterOutputHyperparameterMetric.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudMachineLearningEngine/GoogleCloudMlV1HyperparameterSpec.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudMachineLearningEngine/GoogleCloudMlV1Job.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudMachineLearningEngine/GoogleCloudMlV1ListJobsResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudMachineLearningEngine/GoogleCloudMlV1ListModelsResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudMachineLearningEngine/GoogleCloudMlV1ListVersionsResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudMachineLearningEngine/GoogleCloudMlV1ManualScaling.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudMachineLearningEngine/GoogleCloudMlV1Model.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudMachineLearningEngine/GoogleCloudMlV1OperationMetadata.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudMachineLearningEngine/GoogleCloudMlV1ParameterSpec.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudMachineLearningEngine/GoogleCloudMlV1PredictRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudMachineLearningEngine/GoogleCloudMlV1PredictionInput.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudMachineLearningEngine/GoogleCloudMlV1PredictionOutput.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudMachineLearningEngine/GoogleCloudMlV1SetDefaultVersionRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudMachineLearningEngine/GoogleCloudMlV1TrainingInput.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudMachineLearningEngine/GoogleCloudMlV1TrainingOutput.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudMachineLearningEngine/GoogleCloudMlV1Version.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudMachineLearningEngine/GoogleCloudMlV1beta1ManualScaling.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudMachineLearningEngine/GoogleCloudMlV1beta1OperationMetadata.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudMachineLearningEngine/GoogleCloudMlV1beta1Version.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudMachineLearningEngine/GoogleLongrunningListOperationsResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudMachineLearningEngine/GoogleLongrunningOperation.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudMachineLearningEngine/GoogleProtobufEmpty.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudMachineLearningEngine/GoogleRpcStatus.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudMachineLearningEngine/Resource/Projects.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudMachineLearningEngine/Resource/ProjectsJobs.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudMachineLearningEngine/Resource/ProjectsModels.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudMachineLearningEngine/Resource/ProjectsModelsVersions.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudMachineLearningEngine/Resource/ProjectsOperations.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudMonitoring.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudMonitoring/DeleteMetricDescriptorResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudMonitoring/ListMetricDescriptorsRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudMonitoring/ListMetricDescriptorsResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudMonitoring/ListTimeseriesDescriptorsRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudMonitoring/ListTimeseriesDescriptorsResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudMonitoring/ListTimeseriesRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudMonitoring/ListTimeseriesResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudMonitoring/MetricDescriptor.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudMonitoring/MetricDescriptorLabelDescriptor.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudMonitoring/MetricDescriptorTypeDescriptor.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudMonitoring/Point.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudMonitoring/PointDistribution.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudMonitoring/PointDistributionBucket.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudMonitoring/PointDistributionOverflowBucket.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudMonitoring/PointDistributionUnderflowBucket.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudMonitoring/Resource/MetricDescriptors.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudMonitoring/Resource/Timeseries.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudMonitoring/Resource/TimeseriesDescriptors.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudMonitoring/Timeseries.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudMonitoring/TimeseriesDescriptor.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudMonitoring/TimeseriesDescriptorLabel.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudMonitoring/TimeseriesPoint.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudMonitoring/WriteTimeseriesRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudMonitoring/WriteTimeseriesResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudNaturalLanguage.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudNaturalLanguage/AnalyzeEntitiesRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudNaturalLanguage/AnalyzeEntitiesResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudNaturalLanguage/AnalyzeSentimentRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudNaturalLanguage/AnalyzeSentimentResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudNaturalLanguage/AnalyzeSyntaxRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudNaturalLanguage/AnalyzeSyntaxResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudNaturalLanguage/AnnotateTextRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudNaturalLanguage/AnnotateTextResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudNaturalLanguage/DependencyEdge.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudNaturalLanguage/Document.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudNaturalLanguage/Entity.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudNaturalLanguage/EntityMention.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudNaturalLanguage/Features.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudNaturalLanguage/PartOfSpeech.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudNaturalLanguage/Resource/Documents.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudNaturalLanguage/Sentence.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudNaturalLanguage/Sentiment.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudNaturalLanguage/Status.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudNaturalLanguage/TextSpan.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudNaturalLanguage/Token.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudNaturalLanguageAPI.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudNaturalLanguageAPI/AnalyzeEntitiesRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudNaturalLanguageAPI/AnalyzeEntitiesResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudNaturalLanguageAPI/AnalyzeSentimentRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudNaturalLanguageAPI/AnalyzeSentimentResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudNaturalLanguageAPI/AnnotateTextRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudNaturalLanguageAPI/AnnotateTextResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudNaturalLanguageAPI/DependencyEdge.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudNaturalLanguageAPI/Document.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudNaturalLanguageAPI/Entity.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudNaturalLanguageAPI/EntityMention.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudNaturalLanguageAPI/Features.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudNaturalLanguageAPI/PartOfSpeech.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudNaturalLanguageAPI/Resource/Documents.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudNaturalLanguageAPI/Sentence.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudNaturalLanguageAPI/Sentiment.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudNaturalLanguageAPI/Status.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudNaturalLanguageAPI/TextSpan.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudNaturalLanguageAPI/Token.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudResourceManager.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudResourceManager/Ancestor.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudResourceManager/AuditConfig.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudResourceManager/AuditLogConfig.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudResourceManager/Binding.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudResourceManager/CloudresourcemanagerEmpty.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudResourceManager/FolderOperation.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudResourceManager/FolderOperationError.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudResourceManager/GetAncestryRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudResourceManager/GetAncestryResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudResourceManager/GetIamPolicyRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudResourceManager/Lien.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudResourceManager/ListLiensResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudResourceManager/ListProjectsResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudResourceManager/Operation.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudResourceManager/Organization.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudResourceManager/OrganizationOwner.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudResourceManager/Policy.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudResourceManager/Project.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudResourceManager/ProjectCreationStatus.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudResourceManager/Resource/Liens.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudResourceManager/Resource/Operations.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudResourceManager/Resource/Organizations.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudResourceManager/Resource/Projects.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudResourceManager/ResourceId.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudResourceManager/SearchOrganizationsRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudResourceManager/SearchOrganizationsResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudResourceManager/SetIamPolicyRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudResourceManager/Status.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudResourceManager/TestIamPermissionsRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudResourceManager/TestIamPermissionsResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudResourceManager/UndeleteProjectRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudRuntimeConfig.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudRuntimeConfig/CancelOperationRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudRuntimeConfig/Cardinality.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudRuntimeConfig/EndCondition.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudRuntimeConfig/ListConfigsResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudRuntimeConfig/ListOperationsResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudRuntimeConfig/ListVariablesResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudRuntimeConfig/ListWaitersResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudRuntimeConfig/Operation.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudRuntimeConfig/Resource/Operations.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudRuntimeConfig/Resource/Projects.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudRuntimeConfig/Resource/ProjectsConfigs.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudRuntimeConfig/Resource/ProjectsConfigsOperations.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudRuntimeConfig/Resource/ProjectsConfigsVariables.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudRuntimeConfig/Resource/ProjectsConfigsWaiters.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudRuntimeConfig/RuntimeConfig.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudRuntimeConfig/RuntimeconfigEmpty.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudRuntimeConfig/Status.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudRuntimeConfig/Variable.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudRuntimeConfig/Waiter.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudRuntimeConfig/WatchVariableRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudSourceRepositories.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudSourceRepositories/AuditConfig.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudSourceRepositories/AuditLogConfig.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudSourceRepositories/Binding.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudSourceRepositories/CloudAuditOptions.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudSourceRepositories/Condition.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudSourceRepositories/CounterOptions.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudSourceRepositories/DataAccessOptions.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudSourceRepositories/ListReposResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudSourceRepositories/LogConfig.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudSourceRepositories/MirrorConfig.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudSourceRepositories/Policy.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudSourceRepositories/Repo.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudSourceRepositories/Resource/Projects.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudSourceRepositories/Resource/ProjectsRepos.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudSourceRepositories/Rule.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudSourceRepositories/SetIamPolicyRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudSourceRepositories/SourcerepoEmpty.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudSourceRepositories/TestIamPermissionsRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudSourceRepositories/TestIamPermissionsResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudSpeechAPI.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudSpeechAPI/AsyncRecognizeRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudSpeechAPI/CancelOperationRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudSpeechAPI/ListOperationsResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudSpeechAPI/Operation.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudSpeechAPI/RecognitionAudio.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudSpeechAPI/RecognitionConfig.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudSpeechAPI/Resource/Operations.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudSpeechAPI/Resource/Speech.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudSpeechAPI/SpeechContext.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudSpeechAPI/SpeechEmpty.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudSpeechAPI/SpeechRecognitionAlternative.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudSpeechAPI/SpeechRecognitionResult.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudSpeechAPI/Status.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudSpeechAPI/SyncRecognizeRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudSpeechAPI/SyncRecognizeResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudTrace.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudTrace/CloudtraceEmpty.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudTrace/ListTracesResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudTrace/Resource/Projects.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudTrace/Resource/ProjectsTraces.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudTrace/Trace.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudTrace/TraceSpan.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudTrace/Traces.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudUserAccounts.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudUserAccounts/AuditConfig.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudUserAccounts/AuthorizedKeysView.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudUserAccounts/Binding.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudUserAccounts/Condition.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudUserAccounts/Group.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudUserAccounts/GroupList.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudUserAccounts/GroupsAddMemberRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudUserAccounts/GroupsRemoveMemberRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudUserAccounts/LinuxAccountViews.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudUserAccounts/LinuxGetAuthorizedKeysViewResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudUserAccounts/LinuxGetLinuxAccountViewsResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudUserAccounts/LinuxGroupView.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudUserAccounts/LinuxUserView.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudUserAccounts/LogConfig.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudUserAccounts/LogConfigCounterOptions.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudUserAccounts/Operation.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudUserAccounts/OperationError.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudUserAccounts/OperationErrorErrors.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudUserAccounts/OperationList.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudUserAccounts/OperationWarnings.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudUserAccounts/OperationWarningsData.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudUserAccounts/Policy.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudUserAccounts/PublicKey.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudUserAccounts/Resource/GlobalAccountsOperations.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudUserAccounts/Resource/Groups.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudUserAccounts/Resource/Linux.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudUserAccounts/Resource/Users.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudUserAccounts/Rule.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudUserAccounts/TestPermissionsRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudUserAccounts/TestPermissionsResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudUserAccounts/User.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/CloudUserAccounts/UserList.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Cloudbilling.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Cloudbilling/BillingAccount.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Cloudbilling/ListBillingAccountsResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Cloudbilling/ListProjectBillingInfoResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Cloudbilling/ProjectBillingInfo.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Cloudbilling/Resource/BillingAccounts.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Cloudbilling/Resource/BillingAccountsProjects.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Cloudbilling/Resource/Projects.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Clouderrorreporting.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Clouderrorreporting/DeleteEventsResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Clouderrorreporting/ErrorContext.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Clouderrorreporting/ErrorEvent.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Clouderrorreporting/ErrorGroup.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Clouderrorreporting/ErrorGroupStats.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Clouderrorreporting/HttpRequestContext.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Clouderrorreporting/ListEventsResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Clouderrorreporting/ListGroupStatsResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Clouderrorreporting/ReportErrorEventResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Clouderrorreporting/ReportedErrorEvent.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Clouderrorreporting/Resource/Projects.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Clouderrorreporting/Resource/ProjectsEvents.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Clouderrorreporting/Resource/ProjectsGroupStats.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Clouderrorreporting/Resource/ProjectsGroups.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Clouderrorreporting/ServiceContext.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Clouderrorreporting/SourceLocation.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Clouderrorreporting/TimedCount.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Clouderrorreporting/TrackingIssue.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Cloudlatencytest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Cloudlatencytest/AggregatedStats.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Cloudlatencytest/AggregatedStatsReply.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Cloudlatencytest/DoubleValue.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Cloudlatencytest/IntValue.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Cloudlatencytest/Stats.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Cloudlatencytest/StatsReply.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Cloudlatencytest/StatscollectionResource.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Cloudlatencytest/StringValue.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/AccessConfig.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/Address.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/AddressAggregatedList.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/AddressList.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/AddressesScopedList.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/AddressesScopedListWarning.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/AddressesScopedListWarningData.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/AttachedDisk.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/AttachedDiskInitializeParams.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/Autoscaler.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/AutoscalerAggregatedList.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/AutoscalerList.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/AutoscalersScopedList.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/AutoscalersScopedListWarning.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/AutoscalersScopedListWarningData.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/AutoscalingPolicy.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/AutoscalingPolicyCpuUtilization.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/AutoscalingPolicyCustomMetricUtilization.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/AutoscalingPolicyLoadBalancingUtilization.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/Backend.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/BackendBucket.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/BackendBucketList.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/BackendService.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/BackendServiceAggregatedList.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/BackendServiceGroupHealth.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/BackendServiceList.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/BackendServicesScopedList.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/BackendServicesScopedListWarning.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/BackendServicesScopedListWarningData.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/CacheInvalidationRule.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/ConnectionDraining.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/CustomerEncryptionKey.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/CustomerEncryptionKeyProtectedDisk.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/DeprecationStatus.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/Disk.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/DiskAggregatedList.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/DiskList.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/DiskMoveRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/DiskType.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/DiskTypeAggregatedList.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/DiskTypeList.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/DiskTypesScopedList.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/DiskTypesScopedListWarning.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/DiskTypesScopedListWarningData.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/DisksResizeRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/DisksScopedList.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/DisksScopedListWarning.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/DisksScopedListWarningData.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/Firewall.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/FirewallAllowed.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/FirewallList.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/ForwardingRule.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/ForwardingRuleAggregatedList.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/ForwardingRuleList.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/ForwardingRulesScopedList.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/ForwardingRulesScopedListWarning.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/ForwardingRulesScopedListWarningData.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/GuestOsFeature.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/HTTP2HealthCheck.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/HealthCheck.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/HealthCheckList.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/HealthCheckReference.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/HealthStatus.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/HostRule.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/HttpHealthCheck.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/HttpHealthCheckList.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/HttpsHealthCheck.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/HttpsHealthCheckList.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/Image.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/ImageList.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/ImageRawDisk.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/Instance.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/InstanceAggregatedList.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/InstanceGroup.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/InstanceGroupAggregatedList.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/InstanceGroupList.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/InstanceGroupManager.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/InstanceGroupManagerActionsSummary.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/InstanceGroupManagerAggregatedList.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/InstanceGroupManagerList.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/InstanceGroupManagersAbandonInstancesRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/InstanceGroupManagersDeleteInstancesRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/InstanceGroupManagersListManagedInstancesResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/InstanceGroupManagersRecreateInstancesRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/InstanceGroupManagersScopedList.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/InstanceGroupManagersScopedListWarning.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/InstanceGroupManagersScopedListWarningData.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/InstanceGroupManagersSetInstanceTemplateRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/InstanceGroupManagersSetTargetPoolsRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/InstanceGroupsAddInstancesRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/InstanceGroupsListInstances.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/InstanceGroupsListInstancesRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/InstanceGroupsRemoveInstancesRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/InstanceGroupsScopedList.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/InstanceGroupsScopedListWarning.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/InstanceGroupsScopedListWarningData.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/InstanceGroupsSetNamedPortsRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/InstanceList.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/InstanceMoveRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/InstanceProperties.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/InstanceReference.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/InstanceTemplate.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/InstanceTemplateList.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/InstanceWithNamedPorts.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/InstancesScopedList.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/InstancesScopedListWarning.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/InstancesScopedListWarningData.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/InstancesSetMachineTypeRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/InstancesSetServiceAccountRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/InstancesStartWithEncryptionKeyRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/License.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/MachineType.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/MachineTypeAggregatedList.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/MachineTypeList.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/MachineTypeScratchDisks.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/MachineTypesScopedList.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/MachineTypesScopedListWarning.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/MachineTypesScopedListWarningData.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/ManagedInstance.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/ManagedInstanceLastAttempt.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/ManagedInstanceLastAttemptErrors.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/ManagedInstanceLastAttemptErrorsErrors.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/Metadata.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/MetadataItems.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/NamedPort.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/Network.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/NetworkInterface.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/NetworkList.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/Operation.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/OperationAggregatedList.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/OperationError.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/OperationErrorErrors.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/OperationList.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/OperationWarnings.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/OperationWarningsData.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/OperationsScopedList.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/OperationsScopedListWarning.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/OperationsScopedListWarningData.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/PathMatcher.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/PathRule.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/Project.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/Quota.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/Region.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/RegionAutoscalerList.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/RegionInstanceGroupList.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/RegionInstanceGroupManagerList.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/RegionInstanceGroupManagersAbandonInstancesRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/RegionInstanceGroupManagersDeleteInstancesRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/RegionInstanceGroupManagersListInstancesResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/RegionInstanceGroupManagersRecreateRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/RegionInstanceGroupManagersSetTargetPoolsRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/RegionInstanceGroupManagersSetTemplateRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/RegionInstanceGroupsListInstances.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/RegionInstanceGroupsListInstancesRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/RegionInstanceGroupsSetNamedPortsRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/RegionList.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/Resource/Addresses.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/Resource/Autoscalers.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/Resource/BackendBuckets.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/Resource/BackendServices.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/Resource/DiskTypes.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/Resource/Disks.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/Resource/Firewalls.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/Resource/ForwardingRules.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/Resource/GlobalAddresses.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/Resource/GlobalForwardingRules.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/Resource/GlobalOperations.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/Resource/HealthChecks.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/Resource/HttpHealthChecks.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/Resource/HttpsHealthChecks.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/Resource/Images.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/Resource/InstanceGroupManagers.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/Resource/InstanceGroups.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/Resource/InstanceTemplates.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/Resource/Instances.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/Resource/Licenses.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/Resource/MachineTypes.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/Resource/Networks.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/Resource/Projects.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/Resource/RegionAutoscalers.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/Resource/RegionBackendServices.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/Resource/RegionInstanceGroupManagers.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/Resource/RegionInstanceGroups.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/Resource/RegionOperations.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/Resource/Regions.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/Resource/Routers.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/Resource/Routes.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/Resource/Snapshots.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/Resource/SslCertificates.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/Resource/Subnetworks.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/Resource/TargetHttpProxies.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/Resource/TargetHttpsProxies.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/Resource/TargetInstances.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/Resource/TargetPools.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/Resource/TargetSslProxies.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/Resource/TargetVpnGateways.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/Resource/UrlMaps.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/Resource/VpnTunnels.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/Resource/ZoneOperations.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/Resource/Zones.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/ResourceGroupReference.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/Route.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/RouteList.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/RouteWarnings.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/RouteWarningsData.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/Router.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/RouterAggregatedList.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/RouterBgp.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/RouterBgpPeer.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/RouterInterface.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/RouterList.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/RouterStatus.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/RouterStatusBgpPeerStatus.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/RouterStatusResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/RoutersPreviewResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/RoutersScopedList.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/RoutersScopedListWarning.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/RoutersScopedListWarningData.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/SSLHealthCheck.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/Scheduling.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/SerialPortOutput.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/ServiceAccount.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/Snapshot.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/SnapshotList.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/SslCertificate.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/SslCertificateList.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/Subnetwork.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/SubnetworkAggregatedList.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/SubnetworkList.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/SubnetworksExpandIpCidrRangeRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/SubnetworksScopedList.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/SubnetworksScopedListWarning.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/SubnetworksScopedListWarningData.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/TCPHealthCheck.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/Tags.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/TargetHttpProxy.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/TargetHttpProxyList.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/TargetHttpsProxiesSetSslCertificatesRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/TargetHttpsProxy.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/TargetHttpsProxyList.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/TargetInstance.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/TargetInstanceAggregatedList.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/TargetInstanceList.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/TargetInstancesScopedList.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/TargetInstancesScopedListWarning.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/TargetInstancesScopedListWarningData.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/TargetPool.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/TargetPoolAggregatedList.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/TargetPoolInstanceHealth.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/TargetPoolList.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/TargetPoolsAddHealthCheckRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/TargetPoolsAddInstanceRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/TargetPoolsRemoveHealthCheckRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/TargetPoolsRemoveInstanceRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/TargetPoolsScopedList.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/TargetPoolsScopedListWarning.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/TargetPoolsScopedListWarningData.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/TargetReference.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/TargetSslProxiesSetBackendServiceRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/TargetSslProxiesSetProxyHeaderRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/TargetSslProxiesSetSslCertificatesRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/TargetSslProxy.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/TargetSslProxyList.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/TargetVpnGateway.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/TargetVpnGatewayAggregatedList.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/TargetVpnGatewayList.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/TargetVpnGatewaysScopedList.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/TargetVpnGatewaysScopedListWarning.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/TargetVpnGatewaysScopedListWarningData.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/TestFailure.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/UrlMap.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/UrlMapList.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/UrlMapReference.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/UrlMapTest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/UrlMapValidationResult.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/UrlMapsValidateRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/UrlMapsValidateResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/UsageExportLocation.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/VpnTunnel.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/VpnTunnelAggregatedList.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/VpnTunnelList.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/VpnTunnelsScopedList.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/VpnTunnelsScopedListWarning.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/VpnTunnelsScopedListWarningData.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/Zone.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Compute/ZoneList.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ConsumerSurveys.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ConsumerSurveys/FieldMask.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ConsumerSurveys/MobileAppPanel.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ConsumerSurveys/MobileAppPanelsListResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ConsumerSurveys/PageInfo.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ConsumerSurveys/Resource/Mobileapppanels.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ConsumerSurveys/Resource/Results.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ConsumerSurveys/Resource/Surveys.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ConsumerSurveys/ResultsGetRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ConsumerSurveys/ResultsMask.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ConsumerSurveys/Survey.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ConsumerSurveys/SurveyAudience.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ConsumerSurveys/SurveyCost.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ConsumerSurveys/SurveyQuestion.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ConsumerSurveys/SurveyQuestionImage.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ConsumerSurveys/SurveyRejection.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ConsumerSurveys/SurveyResults.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ConsumerSurveys/SurveysDeleteResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ConsumerSurveys/SurveysListResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ConsumerSurveys/SurveysStartRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ConsumerSurveys/SurveysStartResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ConsumerSurveys/SurveysStopResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ConsumerSurveys/TokenPagination.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Container.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Container/AddonsConfig.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Container/AutoUpgradeOptions.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Container/CancelOperationRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Container/Cluster.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Container/ClusterUpdate.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Container/ContainerEmpty.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Container/CreateClusterRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Container/CreateNodePoolRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Container/HorizontalPodAutoscaling.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Container/HttpLoadBalancing.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Container/ListClustersResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Container/ListNodePoolsResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Container/ListOperationsResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Container/MasterAuth.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Container/NodeConfig.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Container/NodeManagement.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Container/NodePool.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Container/NodePoolAutoscaling.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Container/Operation.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Container/Resource/Projects.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Container/Resource/ProjectsZones.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Container/Resource/ProjectsZonesClusters.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Container/Resource/ProjectsZonesClustersNodePools.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Container/Resource/ProjectsZonesOperations.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Container/RollbackNodePoolUpgradeRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Container/ServerConfig.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Container/SetNodePoolManagementRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Container/UpdateClusterRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Coordinate.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Coordinate/CustomField.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Coordinate/CustomFieldDef.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Coordinate/CustomFieldDefListResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Coordinate/CustomFields.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Coordinate/EnumItemDef.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Coordinate/Job.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Coordinate/JobChange.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Coordinate/JobListResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Coordinate/JobState.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Coordinate/Location.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Coordinate/LocationListResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Coordinate/LocationRecord.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Coordinate/Resource/CustomFieldDef.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Coordinate/Resource/Jobs.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Coordinate/Resource/Location.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Coordinate/Resource/Schedule.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Coordinate/Resource/Team.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Coordinate/Resource/Worker.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Coordinate/Schedule.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Coordinate/Team.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Coordinate/TeamListResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Coordinate/TokenPagination.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Coordinate/Worker.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Coordinate/WorkerListResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Customsearch.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Customsearch/Context.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Customsearch/ContextFacets.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Customsearch/Promotion.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Customsearch/PromotionBodyLines.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Customsearch/PromotionImage.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Customsearch/Query.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Customsearch/Resource/Cse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Customsearch/Result.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Customsearch/ResultImage.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Customsearch/ResultLabels.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Customsearch/Search.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Customsearch/SearchSearchInformation.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Customsearch/SearchSpelling.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Customsearch/SearchUrl.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/DataTransfer.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/DataTransfer/Application.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/DataTransfer/ApplicationDataTransfer.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/DataTransfer/ApplicationTransferParam.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/DataTransfer/ApplicationsListResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/DataTransfer/DataTransfer.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/DataTransfer/DataTransfersListResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/DataTransfer/Resource/Applications.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/DataTransfer/Resource/Transfers.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dataflow.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dataflow/ApproximateProgress.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dataflow/ApproximateReportedProgress.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dataflow/ApproximateSplitRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dataflow/AutoscalingSettings.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dataflow/CPUTime.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dataflow/ComponentSource.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dataflow/ComponentTransform.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dataflow/ComputationTopology.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dataflow/ConcatPosition.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dataflow/CounterMetadata.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dataflow/CounterStructuredName.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dataflow/CounterStructuredNameAndMetadata.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dataflow/CounterUpdate.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dataflow/CreateJobFromTemplateRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dataflow/CustomSourceLocation.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dataflow/DataDiskAssignment.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dataflow/DerivedSource.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dataflow/Disk.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dataflow/DisplayData.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dataflow/DistributionUpdate.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dataflow/DynamicSourceSplit.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dataflow/Environment.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dataflow/ExecutionStageSummary.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dataflow/FailedLocation.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dataflow/FlattenInstruction.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dataflow/FloatingPointList.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dataflow/FloatingPointMean.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dataflow/GetDebugConfigRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dataflow/GetDebugConfigResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dataflow/GetTemplateResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dataflow/InstructionInput.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dataflow/InstructionOutput.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dataflow/IntegerList.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dataflow/IntegerMean.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dataflow/Job.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dataflow/JobExecutionInfo.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dataflow/JobExecutionStageInfo.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dataflow/JobMessage.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dataflow/JobMetrics.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dataflow/KeyRangeDataDiskAssignment.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dataflow/KeyRangeLocation.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dataflow/LaunchTemplateParameters.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dataflow/LaunchTemplateResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dataflow/LeaseWorkItemRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dataflow/LeaseWorkItemResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dataflow/ListJobMessagesResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dataflow/ListJobsResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dataflow/MapTask.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dataflow/MetricShortId.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dataflow/MetricStructuredName.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dataflow/MetricUpdate.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dataflow/MountedDataDisk.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dataflow/MultiOutputInfo.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dataflow/NameAndKind.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dataflow/Package.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dataflow/ParDoInstruction.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dataflow/ParallelInstruction.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dataflow/ParameterMetadata.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dataflow/PartialGroupByKeyInstruction.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dataflow/PipelineDescription.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dataflow/Position.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dataflow/PubsubLocation.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dataflow/ReadInstruction.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dataflow/ReportWorkItemStatusRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dataflow/ReportWorkItemStatusResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dataflow/ReportedParallelism.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dataflow/Resource/Projects.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dataflow/Resource/ProjectsJobs.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dataflow/Resource/ProjectsJobsDebug.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dataflow/Resource/ProjectsJobsMessages.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dataflow/Resource/ProjectsJobsWorkItems.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dataflow/Resource/ProjectsLocations.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dataflow/Resource/ProjectsLocationsJobs.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dataflow/Resource/ProjectsLocationsJobsMessages.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dataflow/Resource/ProjectsLocationsJobsWorkItems.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dataflow/Resource/ProjectsTemplates.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dataflow/ResourceUtilizationReport.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dataflow/ResourceUtilizationReportResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dataflow/RuntimeEnvironment.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dataflow/SendDebugCaptureRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dataflow/SendDebugCaptureResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dataflow/SendWorkerMessagesRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dataflow/SendWorkerMessagesResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dataflow/SeqMapTask.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dataflow/SeqMapTaskOutputInfo.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dataflow/ShellTask.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dataflow/SideInputInfo.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dataflow/Sink.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dataflow/Source.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dataflow/SourceFork.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dataflow/SourceGetMetadataRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dataflow/SourceGetMetadataResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dataflow/SourceMetadata.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dataflow/SourceOperationRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dataflow/SourceOperationResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dataflow/SourceSplitOptions.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dataflow/SourceSplitRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dataflow/SourceSplitResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dataflow/SourceSplitShard.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dataflow/SplitInt64.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dataflow/StageSource.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dataflow/StateFamilyConfig.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dataflow/Status.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dataflow/Step.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dataflow/StreamLocation.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dataflow/StreamingComputationConfig.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dataflow/StreamingComputationRanges.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dataflow/StreamingComputationTask.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dataflow/StreamingConfigTask.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dataflow/StreamingSetupTask.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dataflow/StreamingSideInputLocation.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dataflow/StreamingStageLocation.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dataflow/StringList.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dataflow/TaskRunnerSettings.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dataflow/TemplateMetadata.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dataflow/TopologyConfig.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dataflow/TransformSummary.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dataflow/WorkItem.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dataflow/WorkItemServiceState.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dataflow/WorkItemStatus.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dataflow/WorkerHealthReport.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dataflow/WorkerHealthReportResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dataflow/WorkerMessage.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dataflow/WorkerMessageCode.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dataflow/WorkerMessageResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dataflow/WorkerPool.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dataflow/WorkerSettings.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dataflow/WriteInstruction.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dataproc.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dataproc/AcceleratorConfig.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dataproc/CancelJobRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dataproc/Cluster.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dataproc/ClusterConfig.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dataproc/ClusterMetrics.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dataproc/ClusterOperationMetadata.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dataproc/ClusterOperationStatus.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dataproc/ClusterStatus.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dataproc/DataprocEmpty.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dataproc/DiagnoseClusterOutputLocation.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dataproc/DiagnoseClusterRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dataproc/DiagnoseClusterResults.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dataproc/DiskConfig.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dataproc/GceClusterConfig.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dataproc/HadoopJob.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dataproc/HiveJob.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dataproc/InstanceGroupConfig.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dataproc/Job.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dataproc/JobPlacement.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dataproc/JobReference.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dataproc/JobScheduling.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dataproc/JobStatus.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dataproc/ListClustersResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dataproc/ListJobsResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dataproc/ListOperationsResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dataproc/LoggingConfig.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dataproc/ManagedGroupConfig.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dataproc/NodeInitializationAction.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dataproc/Operation.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dataproc/OperationMetadata.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dataproc/OperationStatus.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dataproc/PigJob.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dataproc/PySparkJob.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dataproc/QueryList.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dataproc/Resource/Projects.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dataproc/Resource/ProjectsRegions.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dataproc/Resource/ProjectsRegionsClusters.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dataproc/Resource/ProjectsRegionsJobs.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dataproc/Resource/ProjectsRegionsOperations.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dataproc/SoftwareConfig.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dataproc/SparkJob.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dataproc/SparkSqlJob.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dataproc/Status.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dataproc/SubmitJobRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dataproc/YarnApplication.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Datastore.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Datastore/AllocateIdsRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Datastore/AllocateIdsResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Datastore/ArrayValue.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Datastore/BeginTransactionRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Datastore/BeginTransactionResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Datastore/CommitRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Datastore/CommitResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Datastore/CompositeFilter.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Datastore/Entity.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Datastore/EntityResult.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Datastore/Filter.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Datastore/GqlQuery.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Datastore/GqlQueryParameter.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Datastore/Key.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Datastore/KindExpression.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Datastore/LatLng.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Datastore/LookupRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Datastore/LookupResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Datastore/Mutation.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Datastore/MutationResult.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Datastore/PartitionId.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Datastore/PathElement.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Datastore/Projection.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Datastore/PropertyFilter.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Datastore/PropertyOrder.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Datastore/PropertyReference.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Datastore/Query.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Datastore/QueryResultBatch.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Datastore/ReadOptions.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Datastore/Resource/Projects.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Datastore/RollbackRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Datastore/RollbackResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Datastore/RunQueryRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Datastore/RunQueryResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Datastore/Value.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/DeploymentManager.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/DeploymentManager/AuditConfig.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/DeploymentManager/AuditLogConfig.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/DeploymentManager/Binding.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/DeploymentManager/Condition.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/DeploymentManager/ConfigFile.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/DeploymentManager/Deployment.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/DeploymentManager/DeploymentLabelEntry.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/DeploymentManager/DeploymentUpdate.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/DeploymentManager/DeploymentUpdateLabelEntry.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/DeploymentManager/DeploymentmanagerResource.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/DeploymentManager/DeploymentmanagerResourceWarnings.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/DeploymentManager/DeploymentmanagerResourceWarningsData.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/DeploymentManager/DeploymentsCancelPreviewRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/DeploymentManager/DeploymentsListResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/DeploymentManager/DeploymentsStopRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/DeploymentManager/ImportFile.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/DeploymentManager/LogConfig.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/DeploymentManager/LogConfigCounterOptions.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/DeploymentManager/Manifest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/DeploymentManager/ManifestsListResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/DeploymentManager/Operation.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/DeploymentManager/OperationError.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/DeploymentManager/OperationErrorErrors.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/DeploymentManager/OperationWarnings.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/DeploymentManager/OperationWarningsData.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/DeploymentManager/OperationsListResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/DeploymentManager/Policy.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/DeploymentManager/Resource/Deployments.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/DeploymentManager/Resource/Manifests.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/DeploymentManager/Resource/Operations.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/DeploymentManager/Resource/Resources.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/DeploymentManager/Resource/Types.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/DeploymentManager/ResourceAccessControl.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/DeploymentManager/ResourceUpdate.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/DeploymentManager/ResourceUpdateError.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/DeploymentManager/ResourceUpdateErrorErrors.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/DeploymentManager/ResourceUpdateWarnings.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/DeploymentManager/ResourceUpdateWarningsData.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/DeploymentManager/ResourcesListResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/DeploymentManager/Rule.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/DeploymentManager/TargetConfiguration.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/DeploymentManager/TestPermissionsRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/DeploymentManager/TestPermissionsResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/DeploymentManager/Type.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/DeploymentManager/TypesListResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/Account.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/AccountActiveAdSummary.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/AccountPermission.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/AccountPermissionGroup.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/AccountPermissionGroupsListResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/AccountPermissionsListResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/AccountUserProfile.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/AccountUserProfilesListResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/AccountsListResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/Activities.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/Ad.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/AdSlot.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/AdsListResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/Advertiser.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/AdvertiserGroup.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/AdvertiserGroupsListResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/AdvertisersListResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/AudienceSegment.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/AudienceSegmentGroup.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/Browser.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/BrowsersListResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/Campaign.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/CampaignCreativeAssociation.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/CampaignCreativeAssociationsListResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/CampaignsListResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/ChangeLog.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/ChangeLogsListResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/CitiesListResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/City.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/ClickTag.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/ClickThroughUrl.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/ClickThroughUrlSuffixProperties.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/CompanionClickThroughOverride.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/CompanionSetting.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/CompatibleFields.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/ConnectionType.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/ConnectionTypesListResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/ContentCategoriesListResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/ContentCategory.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/Conversion.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/ConversionError.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/ConversionStatus.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/ConversionsBatchInsertRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/ConversionsBatchInsertResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/CountriesListResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/Country.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/Creative.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/CreativeAsset.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/CreativeAssetId.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/CreativeAssetMetadata.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/CreativeAssetSelection.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/CreativeAssignment.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/CreativeCustomEvent.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/CreativeField.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/CreativeFieldAssignment.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/CreativeFieldValue.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/CreativeFieldValuesListResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/CreativeFieldsListResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/CreativeGroup.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/CreativeGroupAssignment.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/CreativeGroupsListResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/CreativeOptimizationConfiguration.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/CreativeRotation.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/CreativeSettings.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/CreativesListResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/CrossDimensionReachReportCompatibleFields.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/CustomFloodlightVariable.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/CustomRichMediaEvents.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/DateRange.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/DayPartTargeting.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/DefaultClickThroughEventTagProperties.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/DeliverySchedule.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/DfareportingFile.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/DfareportingFileUrls.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/DfpSettings.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/Dimension.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/DimensionFilter.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/DimensionValue.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/DimensionValueList.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/DimensionValueRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/DirectorySite.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/DirectorySiteContact.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/DirectorySiteContactAssignment.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/DirectorySiteContactsListResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/DirectorySiteSettings.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/DirectorySitesListResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/DynamicTargetingKey.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/DynamicTargetingKeysListResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/EncryptionInfo.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/EventTag.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/EventTagOverride.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/EventTagsListResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/FileList.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/Flight.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/FloodlightActivitiesGenerateTagResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/FloodlightActivitiesListResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/FloodlightActivity.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/FloodlightActivityDynamicTag.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/FloodlightActivityGroup.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/FloodlightActivityGroupsListResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/FloodlightActivityPublisherDynamicTag.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/FloodlightConfiguration.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/FloodlightConfigurationsListResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/FloodlightReportCompatibleFields.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/FrequencyCap.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/FsCommand.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/GeoTargeting.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/InventoryItem.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/InventoryItemsListResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/KeyValueTargetingExpression.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/LandingPage.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/LandingPagesListResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/Language.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/LanguageTargeting.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/LanguagesListResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/LastModifiedInfo.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/ListPopulationClause.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/ListPopulationRule.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/ListPopulationTerm.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/ListTargetingExpression.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/LookbackConfiguration.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/Metric.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/Metro.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/MetrosListResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/MobileCarrier.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/MobileCarriersListResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/ObjectFilter.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/OffsetPosition.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/OmnitureSettings.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/OperatingSystem.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/OperatingSystemVersion.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/OperatingSystemVersionsListResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/OperatingSystemsListResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/OptimizationActivity.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/Order.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/OrderContact.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/OrderDocument.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/OrderDocumentsListResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/OrdersListResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/PathToConversionReportCompatibleFields.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/Placement.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/PlacementAssignment.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/PlacementGroup.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/PlacementGroupsListResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/PlacementStrategiesListResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/PlacementStrategy.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/PlacementTag.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/PlacementsGenerateTagsResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/PlacementsListResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/PlatformType.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/PlatformTypesListResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/PopupWindowProperties.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/PostalCode.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/PostalCodesListResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/Pricing.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/PricingSchedule.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/PricingSchedulePricingPeriod.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/Project.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/ProjectsListResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/ReachReportCompatibleFields.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/Recipient.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/Region.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/RegionsListResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/RemarketingList.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/RemarketingListShare.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/RemarketingListsListResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/Report.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/ReportCompatibleFields.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/ReportCriteria.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/ReportCrossDimensionReachCriteria.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/ReportDelivery.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/ReportFloodlightCriteria.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/ReportFloodlightCriteriaReportProperties.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/ReportList.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/ReportPathToConversionCriteria.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/ReportPathToConversionCriteriaReportProperties.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/ReportReachCriteria.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/ReportSchedule.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/ReportsConfiguration.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/AccountActiveAdSummaries.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/AccountPermissionGroups.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/AccountPermissions.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/AccountUserProfiles.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/Accounts.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/Ads.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/AdvertiserGroups.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/Advertisers.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/Browsers.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/CampaignCreativeAssociations.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/Campaigns.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/ChangeLogs.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/Cities.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/ConnectionTypes.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/ContentCategories.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/Conversions.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/Countries.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/CreativeAssets.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/CreativeFieldValues.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/CreativeFields.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/CreativeGroups.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/Creatives.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/DimensionValues.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/DirectorySiteContacts.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/DirectorySites.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/DynamicTargetingKeys.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/EventTags.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/Files.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/FloodlightActivities.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/FloodlightActivityGroups.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/FloodlightConfigurations.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/InventoryItems.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/LandingPages.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/Languages.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/Metros.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/MobileCarriers.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/OperatingSystemVersions.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/OperatingSystems.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/OrderDocuments.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/Orders.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/PlacementGroups.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/PlacementStrategies.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/Placements.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/PlatformTypes.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/PostalCodes.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/Projects.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/Regions.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/RemarketingListShares.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/RemarketingLists.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/Reports.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/ReportsCompatibleFields.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/ReportsFiles.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/Sites.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/Sizes.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/Subaccounts.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/TargetableRemarketingLists.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/TargetingTemplates.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/UserProfiles.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/UserRolePermissionGroups.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/UserRolePermissions.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/UserRoles.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/VideoFormats.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/RichMediaExitOverride.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/Rule.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/Site.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/SiteContact.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/SiteSettings.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/SitesListResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/Size.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/SizesListResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/SkippableSetting.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/SortedDimension.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/Subaccount.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/SubaccountsListResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/TagData.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/TagSetting.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/TagSettings.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/TargetWindow.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/TargetableRemarketingList.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/TargetableRemarketingListsListResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/TargetingTemplate.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/TargetingTemplatesListResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/TechnologyTargeting.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/ThirdPartyAuthenticationToken.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/ThirdPartyTrackingUrl.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/TranscodeSetting.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/UserDefinedVariableConfiguration.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/UserProfile.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/UserProfileList.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/UserRole.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/UserRolePermission.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/UserRolePermissionGroup.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/UserRolePermissionGroupsListResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/UserRolePermissionsListResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/UserRolesListResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/VideoFormat.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/VideoFormatsListResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/VideoOffset.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dfareporting/VideoSettings.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Directory.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Directory/Alias.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Directory/Aliases.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Directory/Asp.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Directory/Asps.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Directory/CalendarResource.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Directory/CalendarResources.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Directory/Channel.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Directory/ChromeOsDevice.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Directory/ChromeOsDeviceAction.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Directory/ChromeOsDeviceActiveTimeRanges.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Directory/ChromeOsDeviceRecentUsers.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Directory/ChromeOsDevices.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Directory/Customer.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Directory/CustomerPostalAddress.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Directory/DomainAlias.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Directory/DomainAliases.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Directory/Domains.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Directory/Domains2.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Directory/Group.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Directory/Groups.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Directory/Member.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Directory/Members.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Directory/MobileDevice.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Directory/MobileDeviceAction.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Directory/MobileDeviceApplications.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Directory/MobileDevices.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Directory/Notification.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Directory/Notifications.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Directory/OrgUnit.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Directory/OrgUnits.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Directory/Privilege.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Directory/Privileges.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Directory/Resource/Asps.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Directory/Resource/Channels.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Directory/Resource/Chromeosdevices.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Directory/Resource/Customers.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Directory/Resource/DomainAliases.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Directory/Resource/Domains.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Directory/Resource/Groups.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Directory/Resource/GroupsAliases.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Directory/Resource/Members.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Directory/Resource/Mobiledevices.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Directory/Resource/Notifications.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Directory/Resource/Orgunits.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Directory/Resource/Privileges.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Directory/Resource/Resources.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Directory/Resource/ResourcesCalendars.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Directory/Resource/RoleAssignments.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Directory/Resource/Roles.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Directory/Resource/Schemas.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Directory/Resource/Tokens.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Directory/Resource/Users.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Directory/Resource/UsersAliases.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Directory/Resource/UsersPhotos.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Directory/Resource/VerificationCodes.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Directory/Role.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Directory/RoleAssignment.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Directory/RoleAssignments.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Directory/RoleRolePrivileges.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Directory/Roles.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Directory/Schema.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Directory/SchemaFieldSpec.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Directory/SchemaFieldSpecNumericIndexingSpec.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Directory/Schemas.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Directory/Token.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Directory/Tokens.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Directory/User.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Directory/UserAbout.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Directory/UserAddress.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Directory/UserEmail.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Directory/UserExternalId.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Directory/UserIm.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Directory/UserMakeAdmin.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Directory/UserName.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Directory/UserOrganization.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Directory/UserPhone.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Directory/UserPhoto.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Directory/UserRelation.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Directory/UserUndelete.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Directory/UserWebsite.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Directory/Users.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Directory/VerificationCode.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Directory/VerificationCodes.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dns.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dns/Change.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dns/ChangesListResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dns/ManagedZone.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dns/ManagedZonesListResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dns/Project.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dns/Quota.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dns/Resource/Changes.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dns/Resource/ManagedZones.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dns/Resource/Projects.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dns/Resource/ResourceRecordSets.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dns/ResourceRecordSet.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Dns/ResourceRecordSetsListResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/DoubleClickBidManager.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/DoubleClickBidManager/DownloadLineItemsRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/DoubleClickBidManager/DownloadLineItemsResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/DoubleClickBidManager/DownloadRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/DoubleClickBidManager/DownloadResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/DoubleClickBidManager/FilterPair.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/DoubleClickBidManager/ListQueriesResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/DoubleClickBidManager/ListReportsResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/DoubleClickBidManager/Note.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/DoubleClickBidManager/NotifyProposalChangeRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/DoubleClickBidManager/Parameters.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/DoubleClickBidManager/Query.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/DoubleClickBidManager/QueryMetadata.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/DoubleClickBidManager/QuerySchedule.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/DoubleClickBidManager/Report.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/DoubleClickBidManager/ReportFailure.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/DoubleClickBidManager/ReportKey.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/DoubleClickBidManager/ReportMetadata.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/DoubleClickBidManager/ReportStatus.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/DoubleClickBidManager/Resource/Lineitems.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/DoubleClickBidManager/Resource/Queries.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/DoubleClickBidManager/Resource/Reports.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/DoubleClickBidManager/Resource/Rubicon.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/DoubleClickBidManager/Resource/Sdf.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/DoubleClickBidManager/RowStatus.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/DoubleClickBidManager/RunQueryRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/DoubleClickBidManager/UploadLineItemsRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/DoubleClickBidManager/UploadLineItemsResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/DoubleClickBidManager/UploadStatus.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Doubleclicksearch.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Doubleclicksearch/Availability.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Doubleclicksearch/Conversion.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Doubleclicksearch/ConversionList.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Doubleclicksearch/CustomDimension.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Doubleclicksearch/CustomMetric.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Doubleclicksearch/Report.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Doubleclicksearch/ReportApiColumnSpec.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Doubleclicksearch/ReportFiles.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Doubleclicksearch/ReportRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Doubleclicksearch/ReportRequestFilters.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Doubleclicksearch/ReportRequestOrderBy.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Doubleclicksearch/ReportRequestReportScope.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Doubleclicksearch/ReportRequestTimeRange.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Doubleclicksearch/Resource/Conversion.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Doubleclicksearch/Resource/Reports.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Doubleclicksearch/Resource/SavedColumns.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Doubleclicksearch/SavedColumn.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Doubleclicksearch/SavedColumnList.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Doubleclicksearch/UpdateAvailabilityRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Doubleclicksearch/UpdateAvailabilityResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Drive.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Drive/About.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Drive/AboutStorageQuota.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Drive/Change.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Drive/ChangeList.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Drive/Channel.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Drive/Comment.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Drive/CommentList.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Drive/CommentQuotedFileContent.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Drive/DriveFile.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Drive/DriveFileCapabilities.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Drive/DriveFileContentHints.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Drive/DriveFileContentHintsThumbnail.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Drive/DriveFileImageMediaMetadata.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Drive/DriveFileImageMediaMetadataLocation.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Drive/DriveFileVideoMediaMetadata.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Drive/FileList.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Drive/GeneratedIds.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Drive/Permission.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Drive/PermissionList.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Drive/PermissionTeamDrivePermissionDetails.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Drive/Reply.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Drive/ReplyList.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Drive/Resource/About.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Drive/Resource/Changes.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Drive/Resource/Channels.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Drive/Resource/Comments.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Drive/Resource/Files.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Drive/Resource/Permissions.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Drive/Resource/Replies.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Drive/Resource/Revisions.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Drive/Resource/Teamdrives.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Drive/Revision.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Drive/RevisionList.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Drive/StartPageToken.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Drive/TeamDrive.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Drive/TeamDriveCapabilities.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Drive/TeamDriveList.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Drive/User.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/FirebaseDynamicLinks.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/FirebaseDynamicLinks/AnalyticsInfo.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/FirebaseDynamicLinks/AndroidInfo.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/FirebaseDynamicLinks/CreateShortDynamicLinkRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/FirebaseDynamicLinks/CreateShortDynamicLinkResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/FirebaseDynamicLinks/DynamicLinkInfo.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/FirebaseDynamicLinks/DynamicLinkWarning.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/FirebaseDynamicLinks/GooglePlayAnalytics.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/FirebaseDynamicLinks/ITunesConnectAnalytics.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/FirebaseDynamicLinks/IosInfo.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/FirebaseDynamicLinks/NavigationInfo.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/FirebaseDynamicLinks/Resource/ShortLinks.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/FirebaseDynamicLinks/SocialMetaTagInfo.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/FirebaseDynamicLinks/Suffix.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/FirebaseDynamicLinksAPI.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/FirebaseDynamicLinksAPI/AnalyticsInfo.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/FirebaseDynamicLinksAPI/AndroidInfo.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/FirebaseDynamicLinksAPI/CreateShortDynamicLinkRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/FirebaseDynamicLinksAPI/CreateShortDynamicLinkResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/FirebaseDynamicLinksAPI/DynamicLinkInfo.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/FirebaseDynamicLinksAPI/DynamicLinkWarning.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/FirebaseDynamicLinksAPI/GooglePlayAnalytics.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/FirebaseDynamicLinksAPI/ITunesConnectAnalytics.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/FirebaseDynamicLinksAPI/IosInfo.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/FirebaseDynamicLinksAPI/Resource/ShortDynamicLinks.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/FirebaseDynamicLinksAPI/SocialMetaTagInfo.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/FirebaseDynamicLinksAPI/Suffix.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/FirebaseRulesAPI.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/FirebaseRulesAPI/FirebaserulesEmpty.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/FirebaseRulesAPI/FirebaserulesFile.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/FirebaseRulesAPI/Issue.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/FirebaseRulesAPI/ListReleasesResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/FirebaseRulesAPI/ListRulesetsResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/FirebaseRulesAPI/Release.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/FirebaseRulesAPI/Resource/Projects.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/FirebaseRulesAPI/Resource/ProjectsReleases.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/FirebaseRulesAPI/Resource/ProjectsRulesets.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/FirebaseRulesAPI/Ruleset.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/FirebaseRulesAPI/Source.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/FirebaseRulesAPI/SourcePosition.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/FirebaseRulesAPI/TestRulesetRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/FirebaseRulesAPI/TestRulesetResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Fitness.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Fitness/AggregateBucket.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Fitness/AggregateBy.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Fitness/AggregateRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Fitness/AggregateResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Fitness/Application.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Fitness/BucketByActivity.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Fitness/BucketBySession.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Fitness/BucketByTime.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Fitness/BucketByTimePeriod.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Fitness/DataPoint.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Fitness/DataSource.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Fitness/DataType.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Fitness/DataTypeField.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Fitness/Dataset.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Fitness/Device.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Fitness/ListDataSourcesResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Fitness/ListSessionsResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Fitness/MapValue.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Fitness/Resource/Users.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Fitness/Resource/UsersDataSources.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Fitness/Resource/UsersDataSourcesDatasets.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Fitness/Resource/UsersDataset.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Fitness/Resource/UsersSessions.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Fitness/Session.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Fitness/Value.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Fitness/ValueMapValEntry.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Freebase.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Freebase/ReconcileCandidate.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Freebase/ReconcileCandidateNotable.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Freebase/ReconcileGet.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Freebase/ReconcileGetCosts.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Freebase/ReconcileGetWarning.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Fusiontables.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Fusiontables/Bucket.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Fusiontables/Column.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Fusiontables/ColumnBaseColumn.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Fusiontables/ColumnList.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Fusiontables/Geometry.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Fusiontables/Import.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Fusiontables/Line.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Fusiontables/LineStyle.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Fusiontables/Point.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Fusiontables/PointStyle.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Fusiontables/Polygon.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Fusiontables/PolygonStyle.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Fusiontables/Resource/Column.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Fusiontables/Resource/Query.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Fusiontables/Resource/Style.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Fusiontables/Resource/Table.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Fusiontables/Resource/Task.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Fusiontables/Resource/Template.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Fusiontables/Sqlresponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Fusiontables/StyleFunction.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Fusiontables/StyleFunctionGradient.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Fusiontables/StyleFunctionGradientColors.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Fusiontables/StyleSetting.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Fusiontables/StyleSettingList.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Fusiontables/Table.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Fusiontables/TableList.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Fusiontables/Task.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Fusiontables/TaskList.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Fusiontables/Template.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Fusiontables/TemplateList.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Games.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Games/AchievementDefinition.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Games/AchievementDefinitionsListResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Games/AchievementIncrementResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Games/AchievementRevealResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Games/AchievementSetStepsAtLeastResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Games/AchievementUnlockResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Games/AchievementUpdateMultipleRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Games/AchievementUpdateMultipleResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Games/AchievementUpdateRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Games/AchievementUpdateResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Games/AggregateStats.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Games/AnonymousPlayer.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Games/Application.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Games/ApplicationCategory.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Games/ApplicationVerifyResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Games/Category.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Games/CategoryListResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Games/EventBatchRecordFailure.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Games/EventChild.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Games/EventDefinition.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Games/EventDefinitionListResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Games/EventPeriodRange.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Games/EventPeriodUpdate.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Games/EventRecordFailure.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Games/EventRecordRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Games/EventUpdateRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Games/EventUpdateResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Games/GamesAchievementIncrement.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Games/GamesAchievementSetStepsAtLeast.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Games/ImageAsset.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Games/Instance.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Games/InstanceAndroidDetails.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Games/InstanceIosDetails.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Games/InstanceWebDetails.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Games/Leaderboard.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Games/LeaderboardEntry.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Games/LeaderboardListResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Games/LeaderboardScoreRank.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Games/LeaderboardScores.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Games/MetagameConfig.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Games/NetworkDiagnostics.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Games/ParticipantResult.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Games/PeerChannelDiagnostics.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Games/PeerSessionDiagnostics.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Games/Played.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Games/Player.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Games/PlayerAchievement.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Games/PlayerAchievementListResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Games/PlayerEvent.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Games/PlayerEventListResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Games/PlayerExperienceInfo.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Games/PlayerLeaderboardScore.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Games/PlayerLeaderboardScoreListResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Games/PlayerLevel.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Games/PlayerListResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Games/PlayerName.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Games/PlayerScore.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Games/PlayerScoreListResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Games/PlayerScoreResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Games/PlayerScoreSubmissionList.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Games/ProfileSettings.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Games/PushToken.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Games/PushTokenId.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Games/PushTokenIdIos.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Games/Quest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Games/QuestContribution.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Games/QuestCriterion.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Games/QuestListResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Games/QuestMilestone.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Games/Resource/AchievementDefinitions.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Games/Resource/Achievements.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Games/Resource/Applications.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Games/Resource/Events.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Games/Resource/Leaderboards.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Games/Resource/Metagame.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Games/Resource/Players.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Games/Resource/Pushtokens.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Games/Resource/QuestMilestones.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Games/Resource/Quests.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Games/Resource/Revisions.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Games/Resource/Rooms.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Games/Resource/Scores.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Games/Resource/Snapshots.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Games/Resource/TurnBasedMatches.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Games/RevisionCheckResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Games/Room.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Games/RoomAutoMatchStatus.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Games/RoomAutoMatchingCriteria.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Games/RoomClientAddress.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Games/RoomCreateRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Games/RoomJoinRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Games/RoomLeaveDiagnostics.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Games/RoomLeaveRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Games/RoomList.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Games/RoomModification.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Games/RoomP2PStatus.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Games/RoomP2PStatuses.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Games/RoomParticipant.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Games/RoomStatus.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Games/ScoreSubmission.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Games/Snapshot.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Games/SnapshotImage.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Games/SnapshotListResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Games/TurnBasedAutoMatchingCriteria.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Games/TurnBasedMatch.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Games/TurnBasedMatchCreateRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Games/TurnBasedMatchData.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Games/TurnBasedMatchDataRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Games/TurnBasedMatchList.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Games/TurnBasedMatchModification.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Games/TurnBasedMatchParticipant.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Games/TurnBasedMatchRematch.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Games/TurnBasedMatchResults.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Games/TurnBasedMatchSync.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Games/TurnBasedMatchTurn.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/GamesConfiguration.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/GamesConfiguration/AchievementConfiguration.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/GamesConfiguration/AchievementConfigurationDetail.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/GamesConfiguration/AchievementConfigurationListResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/GamesConfiguration/GamesNumberAffixConfiguration.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/GamesConfiguration/GamesNumberFormatConfiguration.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/GamesConfiguration/ImageConfiguration.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/GamesConfiguration/LeaderboardConfiguration.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/GamesConfiguration/LeaderboardConfigurationDetail.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/GamesConfiguration/LeaderboardConfigurationListResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/GamesConfiguration/LocalizedString.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/GamesConfiguration/LocalizedStringBundle.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/GamesConfiguration/Resource/AchievementConfigurations.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/GamesConfiguration/Resource/ImageConfigurations.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/GamesConfiguration/Resource/LeaderboardConfigurations.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/GamesManagement.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/GamesManagement/AchievementResetAllResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/GamesManagement/AchievementResetMultipleForAllRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/GamesManagement/AchievementResetResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/GamesManagement/EventsResetMultipleForAllRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/GamesManagement/GamesPlayedResource.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/GamesManagement/GamesPlayerExperienceInfoResource.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/GamesManagement/GamesPlayerLevelResource.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/GamesManagement/HiddenPlayer.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/GamesManagement/HiddenPlayerList.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/GamesManagement/Player.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/GamesManagement/PlayerName.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/GamesManagement/PlayerScoreResetAllResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/GamesManagement/PlayerScoreResetResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/GamesManagement/ProfileSettings.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/GamesManagement/QuestsResetMultipleForAllRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/GamesManagement/Resource/Achievements.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/GamesManagement/Resource/Applications.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/GamesManagement/Resource/Events.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/GamesManagement/Resource/Players.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/GamesManagement/Resource/Quests.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/GamesManagement/Resource/Rooms.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/GamesManagement/Resource/Scores.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/GamesManagement/Resource/TurnBasedMatches.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/GamesManagement/ScoresResetMultipleForAllRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Genomics.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Genomics/Annotation.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Genomics/AnnotationSet.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Genomics/BatchCreateAnnotationsRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Genomics/BatchCreateAnnotationsResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Genomics/Binding.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Genomics/CallSet.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Genomics/CancelOperationRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Genomics/CigarUnit.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Genomics/ClinicalCondition.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Genomics/CodingSequence.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Genomics/ComputeEngine.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Genomics/CoverageBucket.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Genomics/Dataset.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Genomics/Entry.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Genomics/Exon.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Genomics/Experiment.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Genomics/ExportReadGroupSetRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Genomics/ExportVariantSetRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Genomics/ExternalId.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Genomics/GenomicsEmpty.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Genomics/GetIamPolicyRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Genomics/ImportReadGroupSetsRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Genomics/ImportReadGroupSetsResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Genomics/ImportVariantsRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Genomics/ImportVariantsResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Genomics/LinearAlignment.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Genomics/ListBasesResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Genomics/ListCoverageBucketsResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Genomics/ListDatasetsResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Genomics/ListOperationsResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Genomics/MergeVariantsRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Genomics/Operation.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Genomics/OperationEvent.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Genomics/OperationMetadata.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Genomics/Policy.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Genomics/Position.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Genomics/Program.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Genomics/Range.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Genomics/Read.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Genomics/ReadGroup.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Genomics/ReadGroupSet.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Genomics/Reference.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Genomics/ReferenceBound.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Genomics/ReferenceSet.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Genomics/Resource/Annotations.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Genomics/Resource/Annotationsets.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Genomics/Resource/Callsets.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Genomics/Resource/Datasets.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Genomics/Resource/Operations.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Genomics/Resource/Readgroupsets.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Genomics/Resource/ReadgroupsetsCoveragebuckets.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Genomics/Resource/Reads.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Genomics/Resource/References.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Genomics/Resource/ReferencesBases.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Genomics/Resource/Referencesets.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Genomics/Resource/Variants.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Genomics/Resource/Variantsets.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Genomics/RuntimeMetadata.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Genomics/SearchAnnotationSetsRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Genomics/SearchAnnotationSetsResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Genomics/SearchAnnotationsRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Genomics/SearchAnnotationsResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Genomics/SearchCallSetsRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Genomics/SearchCallSetsResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Genomics/SearchReadGroupSetsRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Genomics/SearchReadGroupSetsResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Genomics/SearchReadsRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Genomics/SearchReadsResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Genomics/SearchReferenceSetsRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Genomics/SearchReferenceSetsResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Genomics/SearchReferencesRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Genomics/SearchReferencesResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Genomics/SearchVariantSetsRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Genomics/SearchVariantSetsResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Genomics/SearchVariantsRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Genomics/SearchVariantsResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Genomics/SetIamPolicyRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Genomics/Status.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Genomics/StreamReadsRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Genomics/StreamReadsResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Genomics/StreamVariantsRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Genomics/StreamVariantsResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Genomics/TestIamPermissionsRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Genomics/TestIamPermissionsResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Genomics/Transcript.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Genomics/UndeleteDatasetRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Genomics/Variant.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Genomics/VariantAnnotation.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Genomics/VariantCall.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Genomics/VariantSet.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Genomics/VariantSetMetadata.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Gmail.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Gmail/AutoForwarding.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Gmail/BatchDeleteMessagesRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Gmail/BatchModifyMessagesRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Gmail/Draft.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Gmail/Filter.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Gmail/FilterAction.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Gmail/FilterCriteria.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Gmail/ForwardingAddress.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Gmail/History.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Gmail/HistoryLabelAdded.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Gmail/HistoryLabelRemoved.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Gmail/HistoryMessageAdded.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Gmail/HistoryMessageDeleted.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Gmail/ImapSettings.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Gmail/Label.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Gmail/ListDraftsResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Gmail/ListFiltersResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Gmail/ListForwardingAddressesResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Gmail/ListHistoryResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Gmail/ListLabelsResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Gmail/ListMessagesResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Gmail/ListSendAsResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Gmail/ListSmimeInfoResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Gmail/ListThreadsResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Gmail/Message.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Gmail/MessagePart.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Gmail/MessagePartBody.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Gmail/MessagePartHeader.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Gmail/ModifyMessageRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Gmail/ModifyThreadRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Gmail/PopSettings.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Gmail/Profile.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Gmail/Resource/Users.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Gmail/Resource/UsersDrafts.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Gmail/Resource/UsersHistory.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Gmail/Resource/UsersLabels.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Gmail/Resource/UsersMessages.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Gmail/Resource/UsersMessagesAttachments.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Gmail/Resource/UsersSettings.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Gmail/Resource/UsersSettingsFilters.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Gmail/Resource/UsersSettingsForwardingAddresses.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Gmail/Resource/UsersSettingsSendAs.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Gmail/Resource/UsersSettingsSendAsSmimeInfo.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Gmail/Resource/UsersThreads.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Gmail/SendAs.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Gmail/SmimeInfo.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Gmail/SmtpMsa.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Gmail/Thread.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Gmail/VacationSettings.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Gmail/WatchRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Gmail/WatchResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/GroupsMigration.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/GroupsMigration/Groups.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/GroupsMigration/Resource/Archive.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Groupssettings.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Groupssettings/Groups.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Groupssettings/Resource/Groups.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Iam.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Iam/AuditData.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Iam/Binding.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Iam/BindingDelta.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Iam/CloudAuditOptions.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Iam/Condition.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Iam/CounterOptions.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Iam/CreateServiceAccountKeyRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Iam/CreateServiceAccountRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Iam/DataAccessOptions.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Iam/IamEmpty.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Iam/ListServiceAccountKeysResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Iam/ListServiceAccountsResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Iam/LogConfig.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Iam/Policy.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Iam/PolicyDelta.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Iam/QueryGrantableRolesRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Iam/QueryGrantableRolesResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Iam/Resource/Projects.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Iam/Resource/ProjectsServiceAccounts.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Iam/Resource/ProjectsServiceAccountsKeys.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Iam/Resource/Roles.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Iam/Role.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Iam/Rule.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Iam/ServiceAccount.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Iam/ServiceAccountKey.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Iam/SetIamPolicyRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Iam/SignBlobRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Iam/SignBlobResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Iam/SignJwtRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Iam/SignJwtResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Iam/TestIamPermissionsRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Iam/TestIamPermissionsResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/IdentityToolkit.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/IdentityToolkit/CreateAuthUriResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/IdentityToolkit/DeleteAccountResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/IdentityToolkit/DownloadAccountResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/IdentityToolkit/EmailTemplate.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/IdentityToolkit/GetAccountInfoResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/IdentityToolkit/GetOobConfirmationCodeResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/IdentityToolkit/GetRecaptchaParamResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/IdentityToolkit/IdentitytoolkitRelyingpartyCreateAuthUriRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/IdentityToolkit/IdentitytoolkitRelyingpartyCreateAuthUriRequestCustomParameter.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/IdentityToolkit/IdentitytoolkitRelyingpartyDeleteAccountRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/IdentityToolkit/IdentitytoolkitRelyingpartyDownloadAccountRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/IdentityToolkit/IdentitytoolkitRelyingpartyGetAccountInfoRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/IdentityToolkit/IdentitytoolkitRelyingpartyGetProjectConfigResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/IdentityToolkit/IdentitytoolkitRelyingpartyResetPasswordRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/IdentityToolkit/IdentitytoolkitRelyingpartySetAccountInfoRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/IdentityToolkit/IdentitytoolkitRelyingpartySetProjectConfigRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/IdentityToolkit/IdentitytoolkitRelyingpartySetProjectConfigResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/IdentityToolkit/IdentitytoolkitRelyingpartySignOutUserRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/IdentityToolkit/IdentitytoolkitRelyingpartySignOutUserResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/IdentityToolkit/IdentitytoolkitRelyingpartySignupNewUserRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/IdentityToolkit/IdentitytoolkitRelyingpartyUploadAccountRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/IdentityToolkit/IdentitytoolkitRelyingpartyVerifyAssertionRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/IdentityToolkit/IdentitytoolkitRelyingpartyVerifyCustomTokenRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/IdentityToolkit/IdentitytoolkitRelyingpartyVerifyPasswordRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/IdentityToolkit/IdpConfig.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/IdentityToolkit/Relyingparty.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/IdentityToolkit/ResetPasswordResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/IdentityToolkit/Resource/Relyingparty.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/IdentityToolkit/SetAccountInfoResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/IdentityToolkit/SetAccountInfoResponseProviderUserInfo.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/IdentityToolkit/SignupNewUserResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/IdentityToolkit/UploadAccountResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/IdentityToolkit/UploadAccountResponseError.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/IdentityToolkit/UserInfo.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/IdentityToolkit/UserInfoProviderUserInfo.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/IdentityToolkit/VerifyAssertionResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/IdentityToolkit/VerifyCustomTokenResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/IdentityToolkit/VerifyPasswordResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Kgsearch.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Kgsearch/Resource/Entities.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Kgsearch/SearchResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Licensing.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Licensing/LicenseAssignment.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Licensing/LicenseAssignmentInsert.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Licensing/LicenseAssignmentList.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Licensing/Resource/LicenseAssignments.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Logging.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Logging/HttpRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Logging/LabelDescriptor.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Logging/ListLogEntriesRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Logging/ListLogEntriesResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Logging/ListLogMetricsResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Logging/ListLogsResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Logging/ListMonitoredResourceDescriptorsResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Logging/ListSinksResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Logging/LogEntry.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Logging/LogEntryOperation.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Logging/LogEntrySourceLocation.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Logging/LogLine.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Logging/LogMetric.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Logging/LogSink.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Logging/LoggingEmpty.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Logging/MonitoredResource.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Logging/MonitoredResourceDescriptor.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Logging/RequestLog.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Logging/Resource/BillingAccounts.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Logging/Resource/BillingAccountsLogs.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Logging/Resource/BillingAccountsSinks.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Logging/Resource/Entries.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Logging/Resource/Folders.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Logging/Resource/FoldersLogs.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Logging/Resource/FoldersSinks.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Logging/Resource/MonitoredResourceDescriptors.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Logging/Resource/Organizations.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Logging/Resource/OrganizationsLogs.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Logging/Resource/OrganizationsSinks.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Logging/Resource/Projects.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Logging/Resource/ProjectsLogs.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Logging/Resource/ProjectsMetrics.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Logging/Resource/ProjectsSinks.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Logging/SourceLocation.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Logging/SourceReference.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Logging/Status.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Logging/WriteLogEntriesRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Logging/WriteLogEntriesResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Manager.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Manager/AccessConfig.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Manager/Action.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Manager/AllowedRule.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Manager/AutoscalingModule.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Manager/AutoscalingModuleStatus.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Manager/DeployState.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Manager/Deployment.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Manager/DeploymentsListResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Manager/DeploymentsResource.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Manager/DiskAttachment.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Manager/EnvVariable.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Manager/ExistingDisk.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Manager/FirewallModule.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Manager/FirewallModuleStatus.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Manager/HealthCheckModule.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Manager/HealthCheckModuleStatus.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Manager/LbModule.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Manager/LbModuleStatus.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Manager/Metadata.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Manager/MetadataItem.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Manager/Module.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Manager/ModuleStatus.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Manager/NetworkInterface.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Manager/NetworkModule.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Manager/NetworkModuleStatus.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Manager/NewDisk.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Manager/NewDiskInitializeParams.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Manager/ParamOverride.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Manager/ReplicaPoolModule.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Manager/ReplicaPoolModuleStatus.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Manager/ReplicaPoolParams.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Manager/ReplicaPoolParamsV1Beta1.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Manager/ServiceAccount.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Manager/Tag.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Manager/Template.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Manager/TemplatesListResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Manager/TemplatesResource.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ManufacturerCenter.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ManufacturerCenter/Attributes.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ManufacturerCenter/Issue.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ManufacturerCenter/ListProductsResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ManufacturerCenter/Product.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ManufacturerCenter/Resource/Accounts.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ManufacturerCenter/Resource/AccountsProducts.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Mirror.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Mirror/Account.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Mirror/Attachment.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Mirror/AttachmentsListResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Mirror/AuthToken.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Mirror/Command.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Mirror/Contact.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Mirror/ContactsListResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Mirror/Location.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Mirror/LocationsListResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Mirror/MenuItem.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Mirror/MenuValue.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Mirror/Notification.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Mirror/NotificationConfig.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Mirror/Resource/Accounts.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Mirror/Resource/Contacts.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Mirror/Resource/Locations.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Mirror/Resource/Settings.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Mirror/Resource/Subscriptions.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Mirror/Resource/Timeline.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Mirror/Resource/TimelineAttachments.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Mirror/Setting.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Mirror/Subscription.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Mirror/SubscriptionsListResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Mirror/TimelineItem.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Mirror/TimelineListResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Mirror/UserAction.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Mirror/UserData.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Monitoring.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Monitoring/BucketOptions.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Monitoring/CollectdPayload.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Monitoring/CollectdValue.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Monitoring/CreateCollectdTimeSeriesRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Monitoring/CreateTimeSeriesRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Monitoring/Distribution.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Monitoring/Explicit.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Monitoring/Exponential.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Monitoring/Field.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Monitoring/Group.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Monitoring/LabelDescriptor.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Monitoring/Linear.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Monitoring/ListGroupMembersResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Monitoring/ListGroupsResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Monitoring/ListMetricDescriptorsResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Monitoring/ListMonitoredResourceDescriptorsResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Monitoring/ListTimeSeriesResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Monitoring/Metric.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Monitoring/MetricDescriptor.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Monitoring/MonitoredResource.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Monitoring/MonitoredResourceDescriptor.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Monitoring/MonitoringEmpty.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Monitoring/Option.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Monitoring/Point.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Monitoring/Range.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Monitoring/Resource/Projects.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Monitoring/Resource/ProjectsCollectdTimeSeries.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Monitoring/Resource/ProjectsGroups.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Monitoring/Resource/ProjectsGroupsMembers.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Monitoring/Resource/ProjectsMetricDescriptors.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Monitoring/Resource/ProjectsMonitoredResourceDescriptors.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Monitoring/Resource/ProjectsTimeSeries.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Monitoring/SourceContext.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Monitoring/TimeInterval.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Monitoring/TimeSeries.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Monitoring/Type.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Monitoring/TypedValue.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Oauth2.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Oauth2/Jwk.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Oauth2/JwkKeys.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Oauth2/Resource/Userinfo.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Oauth2/Resource/UserinfoV2.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Oauth2/Resource/UserinfoV2Me.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Oauth2/Tokeninfo.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Oauth2/Userinfoplus.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Pagespeedonline.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Pagespeedonline/PagespeedApiFormatStringV2.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Pagespeedonline/PagespeedApiFormatStringV2Args.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Pagespeedonline/PagespeedApiFormatStringV2ArgsRects.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Pagespeedonline/PagespeedApiFormatStringV2ArgsSecondaryRects.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Pagespeedonline/PagespeedApiImageV2.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Pagespeedonline/PagespeedApiImageV2PageRect.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Pagespeedonline/Resource/Pagespeedapi.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Pagespeedonline/Result.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Pagespeedonline/ResultFormattedResults.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Pagespeedonline/ResultFormattedResultsRuleResultsElement.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Pagespeedonline/ResultFormattedResultsRuleResultsElementUrlBlocks.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Pagespeedonline/ResultFormattedResultsRuleResultsElementUrlBlocksUrls.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Pagespeedonline/ResultPageStats.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Pagespeedonline/ResultRuleGroupsElement.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Pagespeedonline/ResultVersion.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Partners.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Partners/AdWordsManagerAccountInfo.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Partners/Analytics.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Partners/AnalyticsDataPoint.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Partners/AnalyticsSummary.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Partners/AvailableOffer.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Partners/Certification.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Partners/CertificationExamStatus.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Partners/CertificationStatus.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Partners/Company.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Partners/CompanyRelation.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Partners/CountryOfferInfo.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Partners/CreateLeadRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Partners/CreateLeadResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Partners/Date.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Partners/DebugInfo.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Partners/EventData.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Partners/ExamStatus.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Partners/ExamToken.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Partners/GetCompanyResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Partners/GetPartnersStatusResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Partners/HistoricalOffer.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Partners/LatLng.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Partners/Lead.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Partners/ListAnalyticsResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Partners/ListCompaniesResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Partners/ListLeadsResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Partners/ListOffersHistoryResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Partners/ListOffersResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Partners/ListUserStatesResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Partners/LocalizedCompanyInfo.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Partners/Location.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Partners/LogMessageRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Partners/LogMessageResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Partners/LogUserEventRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Partners/LogUserEventResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Partners/Money.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Partners/OfferCustomer.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Partners/OptIns.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Partners/PartnersEmpty.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Partners/PublicProfile.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Partners/Rank.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Partners/RecaptchaChallenge.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Partners/RequestMetadata.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Partners/Resource/Analytics.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Partners/Resource/ClientMessages.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Partners/Resource/Companies.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Partners/Resource/CompaniesLeads.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Partners/Resource/Exams.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Partners/Resource/Leads.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Partners/Resource/Offers.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Partners/Resource/OffersHistory.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Partners/Resource/UserEvents.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Partners/Resource/UserStates.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Partners/Resource/Users.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Partners/Resource/V2.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Partners/ResponseMetadata.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Partners/SpecializationStatus.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Partners/TrafficSource.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Partners/User.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Partners/UserOverrides.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Partners/UserProfile.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/People.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/People/Address.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/People/AgeRangeType.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/People/Biography.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/People/Birthday.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/People/BraggingRights.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/People/ContactGroupMembership.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/People/CoverPhoto.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/People/Date.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/People/DomainMembership.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/People/EmailAddress.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/People/Event.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/People/FieldMetadata.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/People/Gender.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/People/GetPeopleResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/People/ImClient.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/People/Interest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/People/ListConnectionsResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/People/Locale.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/People/Membership.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/People/Name.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/People/Nickname.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/People/Occupation.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/People/Organization.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/People/Person.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/People/PersonMetadata.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/People/PersonResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/People/PhoneNumber.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/People/Photo.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/People/ProfileMetadata.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/People/Relation.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/People/RelationshipInterest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/People/RelationshipStatus.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/People/Residence.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/People/Resource/People.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/People/Resource/PeopleConnections.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/People/Skill.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/People/Source.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/People/Tagline.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/People/Url.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/PlayMovies.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/PlayMovies/Avail.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/PlayMovies/Component.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/PlayMovies/ExperienceLocale.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/PlayMovies/ListAvailsResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/PlayMovies/ListComponentsResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/PlayMovies/ListExperienceLocalesResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/PlayMovies/ListOrdersResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/PlayMovies/ListStoreInfosResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/PlayMovies/Order.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/PlayMovies/Resource/Accounts.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/PlayMovies/Resource/AccountsAvails.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/PlayMovies/Resource/AccountsComponents.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/PlayMovies/Resource/AccountsComponentsType.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/PlayMovies/Resource/AccountsExperienceLocales.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/PlayMovies/Resource/AccountsOrders.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/PlayMovies/Resource/AccountsStoreInfos.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/PlayMovies/Resource/AccountsStoreInfosCountry.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/PlayMovies/StoreInfo.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Playmoviespartner.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Playmoviespartner/AccountsAvailsResource.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Playmoviespartner/AccountsExperienceLocalesResource.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Playmoviespartner/AccountsOrdersResource.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Playmoviespartner/AccountsResource.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Playmoviespartner/AccountsStoreInfosCountryResource.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Playmoviespartner/AccountsStoreInfosResource.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Playmoviespartner/Avail.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Playmoviespartner/ExperienceLocale.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Playmoviespartner/ListAvailsResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Playmoviespartner/ListExperienceLocalesResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Playmoviespartner/ListOrdersResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Playmoviespartner/ListStoreInfosResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Playmoviespartner/Order.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Playmoviespartner/StoreInfo.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Plus.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Plus/Acl.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Plus/Activity.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Plus/ActivityActor.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Plus/ActivityActorClientSpecificActorInfo.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Plus/ActivityActorClientSpecificActorInfoYoutubeActorInfo.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Plus/ActivityActorImage.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Plus/ActivityActorName.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Plus/ActivityActorVerification.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Plus/ActivityFeed.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Plus/ActivityObject.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Plus/ActivityObjectActor.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Plus/ActivityObjectActorClientSpecificActorInfo.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Plus/ActivityObjectActorClientSpecificActorInfoYoutubeActorInfo.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Plus/ActivityObjectActorImage.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Plus/ActivityObjectActorVerification.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Plus/ActivityObjectAttachments.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Plus/ActivityObjectAttachmentsEmbed.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Plus/ActivityObjectAttachmentsFullImage.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Plus/ActivityObjectAttachmentsImage.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Plus/ActivityObjectAttachmentsThumbnails.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Plus/ActivityObjectAttachmentsThumbnailsImage.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Plus/ActivityObjectPlusoners.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Plus/ActivityObjectReplies.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Plus/ActivityObjectResharers.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Plus/ActivityProvider.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Plus/Comment.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Plus/CommentActor.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Plus/CommentActorClientSpecificActorInfo.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Plus/CommentActorClientSpecificActorInfoYoutubeActorInfo.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Plus/CommentActorImage.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Plus/CommentActorVerification.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Plus/CommentFeed.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Plus/CommentInReplyTo.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Plus/CommentObject.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Plus/CommentPlusoners.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Plus/PeopleFeed.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Plus/Person.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Plus/PersonAgeRange.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Plus/PersonCover.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Plus/PersonCoverCoverInfo.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Plus/PersonCoverCoverPhoto.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Plus/PersonEmails.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Plus/PersonImage.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Plus/PersonName.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Plus/PersonOrganizations.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Plus/PersonPlacesLived.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Plus/PersonUrls.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Plus/Place.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Plus/PlaceAddress.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Plus/PlacePosition.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Plus/PlusAclentryResource.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Plus/Resource/Activities.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Plus/Resource/Comments.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Plus/Resource/People.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/PlusDomains.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/PlusDomains/Acl.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/PlusDomains/Activity.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/PlusDomains/ActivityActor.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/PlusDomains/ActivityActorClientSpecificActorInfo.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/PlusDomains/ActivityActorClientSpecificActorInfoYoutubeActorInfo.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/PlusDomains/ActivityActorImage.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/PlusDomains/ActivityActorName.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/PlusDomains/ActivityActorVerification.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/PlusDomains/ActivityFeed.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/PlusDomains/ActivityObject.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/PlusDomains/ActivityObjectActor.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/PlusDomains/ActivityObjectActorClientSpecificActorInfo.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/PlusDomains/ActivityObjectActorClientSpecificActorInfoYoutubeActorInfo.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/PlusDomains/ActivityObjectActorImage.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/PlusDomains/ActivityObjectActorVerification.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/PlusDomains/ActivityObjectAttachments.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/PlusDomains/ActivityObjectAttachmentsEmbed.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/PlusDomains/ActivityObjectAttachmentsFullImage.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/PlusDomains/ActivityObjectAttachmentsImage.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/PlusDomains/ActivityObjectAttachmentsPreviewThumbnails.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/PlusDomains/ActivityObjectAttachmentsThumbnails.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/PlusDomains/ActivityObjectAttachmentsThumbnailsImage.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/PlusDomains/ActivityObjectPlusoners.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/PlusDomains/ActivityObjectReplies.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/PlusDomains/ActivityObjectResharers.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/PlusDomains/ActivityObjectStatusForViewer.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/PlusDomains/ActivityProvider.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/PlusDomains/Audience.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/PlusDomains/AudiencesFeed.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/PlusDomains/Circle.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/PlusDomains/CircleFeed.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/PlusDomains/CirclePeople.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/PlusDomains/Comment.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/PlusDomains/CommentActor.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/PlusDomains/CommentActorClientSpecificActorInfo.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/PlusDomains/CommentActorClientSpecificActorInfoYoutubeActorInfo.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/PlusDomains/CommentActorImage.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/PlusDomains/CommentActorVerification.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/PlusDomains/CommentFeed.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/PlusDomains/CommentInReplyTo.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/PlusDomains/CommentObject.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/PlusDomains/CommentPlusoners.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/PlusDomains/Media.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/PlusDomains/MediaAuthor.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/PlusDomains/MediaAuthorImage.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/PlusDomains/MediaExif.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/PlusDomains/PeopleFeed.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/PlusDomains/Person.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/PlusDomains/PersonCover.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/PlusDomains/PersonCoverCoverInfo.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/PlusDomains/PersonCoverCoverPhoto.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/PlusDomains/PersonEmails.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/PlusDomains/PersonImage.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/PlusDomains/PersonName.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/PlusDomains/PersonOrganizations.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/PlusDomains/PersonPlacesLived.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/PlusDomains/PersonUrls.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/PlusDomains/Place.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/PlusDomains/PlaceAddress.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/PlusDomains/PlacePosition.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/PlusDomains/PlusDomainsAclentryResource.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/PlusDomains/Resource/Activities.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/PlusDomains/Resource/Audiences.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/PlusDomains/Resource/Circles.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/PlusDomains/Resource/Comments.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/PlusDomains/Resource/Media.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/PlusDomains/Resource/People.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/PlusDomains/Videostream.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Prediction.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Prediction/Analyze.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Prediction/AnalyzeDataDescription.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Prediction/AnalyzeDataDescriptionFeatures.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Prediction/AnalyzeDataDescriptionFeaturesCategorical.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Prediction/AnalyzeDataDescriptionFeaturesCategoricalValues.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Prediction/AnalyzeDataDescriptionFeaturesNumeric.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Prediction/AnalyzeDataDescriptionFeaturesText.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Prediction/AnalyzeDataDescriptionOutputFeature.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Prediction/AnalyzeDataDescriptionOutputFeatureNumeric.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Prediction/AnalyzeDataDescriptionOutputFeatureText.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Prediction/AnalyzeModelDescription.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Prediction/Input.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Prediction/InputInput.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Prediction/Insert.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Prediction/Insert2.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Prediction/Insert2ModelInfo.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Prediction/InsertTrainingInstances.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Prediction/Output.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Prediction/OutputOutputMulti.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Prediction/PredictionList.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Prediction/Resource/Hostedmodels.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Prediction/Resource/Trainedmodels.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Prediction/Update.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Proximitybeacon.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Proximitybeacon/AdvertisedId.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Proximitybeacon/AttachmentInfo.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Proximitybeacon/Beacon.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Proximitybeacon/BeaconAttachment.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Proximitybeacon/BeaconInfo.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Proximitybeacon/Date.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Proximitybeacon/DeleteAttachmentsResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Proximitybeacon/Diagnostics.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Proximitybeacon/EphemeralIdRegistration.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Proximitybeacon/EphemeralIdRegistrationParams.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Proximitybeacon/GetInfoForObservedBeaconsRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Proximitybeacon/GetInfoForObservedBeaconsResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Proximitybeacon/IndoorLevel.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Proximitybeacon/LatLng.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Proximitybeacon/ListBeaconAttachmentsResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Proximitybeacon/ListBeaconsResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Proximitybeacon/ListDiagnosticsResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Proximitybeacon/ListNamespacesResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Proximitybeacon/Observation.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Proximitybeacon/ProximitybeaconEmpty.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Proximitybeacon/ProximitybeaconNamespace.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Proximitybeacon/Resource/Beaconinfo.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Proximitybeacon/Resource/Beacons.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Proximitybeacon/Resource/BeaconsAttachments.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Proximitybeacon/Resource/BeaconsDiagnostics.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Proximitybeacon/Resource/Namespaces.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Proximitybeacon/Resource/V1beta1.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Pubsub.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Pubsub/AcknowledgeRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Pubsub/Binding.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Pubsub/ListSubscriptionsResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Pubsub/ListTopicSubscriptionsResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Pubsub/ListTopicsResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Pubsub/ModifyAckDeadlineRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Pubsub/ModifyPushConfigRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Pubsub/Policy.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Pubsub/PublishRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Pubsub/PublishResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Pubsub/PubsubEmpty.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Pubsub/PubsubMessage.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Pubsub/PullRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Pubsub/PullResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Pubsub/PushConfig.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Pubsub/ReceivedMessage.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Pubsub/Resource/Projects.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Pubsub/Resource/ProjectsSnapshots.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Pubsub/Resource/ProjectsSubscriptions.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Pubsub/Resource/ProjectsTopics.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Pubsub/Resource/ProjectsTopicsSubscriptions.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Pubsub/SetIamPolicyRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Pubsub/Subscription.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Pubsub/TestIamPermissionsRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Pubsub/TestIamPermissionsResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Pubsub/Topic.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/QPXExpress.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/QPXExpress/AircraftData.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/QPXExpress/AirportData.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/QPXExpress/BagDescriptor.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/QPXExpress/CarrierData.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/QPXExpress/CityData.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/QPXExpress/Data.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/QPXExpress/FareInfo.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/QPXExpress/FlightInfo.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/QPXExpress/FreeBaggageAllowance.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/QPXExpress/LegInfo.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/QPXExpress/PassengerCounts.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/QPXExpress/PricingInfo.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/QPXExpress/Resource/Trips.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/QPXExpress/SegmentInfo.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/QPXExpress/SegmentPricing.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/QPXExpress/SliceInfo.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/QPXExpress/SliceInput.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/QPXExpress/TaxData.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/QPXExpress/TaxInfo.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/QPXExpress/TimeOfDayRange.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/QPXExpress/TripOption.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/QPXExpress/TripOptionsRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/QPXExpress/TripOptionsResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/QPXExpress/TripsSearchRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/QPXExpress/TripsSearchResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Replicapool.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Replicapool/InstanceGroupManager.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Replicapool/InstanceGroupManagerList.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Replicapool/InstanceGroupManagersAbandonInstancesRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Replicapool/InstanceGroupManagersDeleteInstancesRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Replicapool/InstanceGroupManagersRecreateInstancesRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Replicapool/InstanceGroupManagersSetInstanceTemplateRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Replicapool/InstanceGroupManagersSetTargetPoolsRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Replicapool/Operation.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Replicapool/OperationError.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Replicapool/OperationErrorErrors.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Replicapool/OperationList.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Replicapool/OperationWarnings.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Replicapool/OperationWarningsData.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Replicapool/ReplicaPoolAutoHealingPolicy.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Replicapool/Resource/InstanceGroupManagers.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Replicapool/Resource/ZoneOperations.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Replicapoolupdater.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Replicapoolupdater/InstanceUpdate.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Replicapoolupdater/InstanceUpdateError.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Replicapoolupdater/InstanceUpdateErrorErrors.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Replicapoolupdater/InstanceUpdateList.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Replicapoolupdater/Operation.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Replicapoolupdater/OperationError.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Replicapoolupdater/OperationErrorErrors.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Replicapoolupdater/OperationList.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Replicapoolupdater/OperationWarnings.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Replicapoolupdater/OperationWarningsData.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Replicapoolupdater/Resource/RollingUpdates.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Replicapoolupdater/Resource/ZoneOperations.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Replicapoolupdater/RollingUpdate.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Replicapoolupdater/RollingUpdateError.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Replicapoolupdater/RollingUpdateErrorErrors.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Replicapoolupdater/RollingUpdateList.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Replicapoolupdater/RollingUpdatePolicy.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Reports.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Reports/Activities.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Reports/Activity.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Reports/ActivityActor.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Reports/ActivityEvents.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Reports/ActivityEventsParameters.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Reports/ActivityId.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Reports/Channel.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Reports/Resource/Activities.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Reports/Resource/Channels.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Reports/Resource/CustomerUsageReports.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Reports/Resource/UserUsageReport.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Reports/UsageReport.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Reports/UsageReportEntity.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Reports/UsageReportParameters.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Reports/UsageReports.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Reports/UsageReportsWarnings.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Reports/UsageReportsWarningsData.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Reseller.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Reseller/Address.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Reseller/ChangePlanRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Reseller/Customer.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Reseller/RenewalSettings.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Reseller/ResellernotifyGetwatchdetailsResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Reseller/ResellernotifyResource.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Reseller/Resource/Customers.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Reseller/Resource/Resellernotify.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Reseller/Resource/Subscriptions.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Reseller/Seats.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Reseller/Subscription.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Reseller/SubscriptionPlan.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Reseller/SubscriptionPlanCommitmentInterval.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Reseller/SubscriptionTransferInfo.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Reseller/SubscriptionTrialSettings.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Reseller/Subscriptions.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Resourceviews.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Resourceviews/Label.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Resourceviews/ListResourceResponseItem.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Resourceviews/Operation.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Resourceviews/OperationError.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Resourceviews/OperationErrorErrors.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Resourceviews/OperationList.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Resourceviews/OperationWarnings.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Resourceviews/OperationWarningsData.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Resourceviews/Resource/ZoneOperations.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Resourceviews/Resource/ZoneViews.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Resourceviews/ResourceView.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Resourceviews/ServiceEndpoint.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Resourceviews/ZoneViewsAddResourcesRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Resourceviews/ZoneViewsGetServiceResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Resourceviews/ZoneViewsList.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Resourceviews/ZoneViewsListResourcesResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Resourceviews/ZoneViewsRemoveResourcesRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Resourceviews/ZoneViewsSetServiceRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/SQLAdmin.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/SQLAdmin/AclEntry.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/SQLAdmin/BackupConfiguration.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/SQLAdmin/BackupRun.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/SQLAdmin/BackupRunsListResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/SQLAdmin/BinLogCoordinates.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/SQLAdmin/CloneContext.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/SQLAdmin/Database.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/SQLAdmin/DatabaseFlags.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/SQLAdmin/DatabaseInstance.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/SQLAdmin/DatabaseInstanceFailoverReplica.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/SQLAdmin/DatabasesListResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/SQLAdmin/ExportContext.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/SQLAdmin/ExportContextCsvExportOptions.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/SQLAdmin/ExportContextSqlExportOptions.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/SQLAdmin/FailoverContext.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/SQLAdmin/Flag.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/SQLAdmin/FlagsListResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/SQLAdmin/ImportContext.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/SQLAdmin/ImportContextCsvImportOptions.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/SQLAdmin/InstancesCloneRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/SQLAdmin/InstancesExportRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/SQLAdmin/InstancesFailoverRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/SQLAdmin/InstancesImportRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/SQLAdmin/InstancesListResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/SQLAdmin/InstancesRestoreBackupRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/SQLAdmin/InstancesTruncateLogRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/SQLAdmin/IpConfiguration.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/SQLAdmin/IpMapping.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/SQLAdmin/Labels.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/SQLAdmin/LocationPreference.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/SQLAdmin/MaintenanceWindow.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/SQLAdmin/MySqlReplicaConfiguration.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/SQLAdmin/OnPremisesConfiguration.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/SQLAdmin/Operation.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/SQLAdmin/OperationError.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/SQLAdmin/OperationErrors.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/SQLAdmin/OperationsListResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/SQLAdmin/ReplicaConfiguration.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/SQLAdmin/Resource/BackupRuns.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/SQLAdmin/Resource/Databases.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/SQLAdmin/Resource/Flags.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/SQLAdmin/Resource/Instances.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/SQLAdmin/Resource/Operations.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/SQLAdmin/Resource/SslCerts.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/SQLAdmin/Resource/Tiers.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/SQLAdmin/Resource/Users.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/SQLAdmin/RestoreBackupContext.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/SQLAdmin/Settings.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/SQLAdmin/SslCert.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/SQLAdmin/SslCertDetail.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/SQLAdmin/SslCertsCreateEphemeralRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/SQLAdmin/SslCertsInsertRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/SQLAdmin/SslCertsInsertResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/SQLAdmin/SslCertsListResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/SQLAdmin/Tier.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/SQLAdmin/TiersListResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/SQLAdmin/TruncateLogContext.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/SQLAdmin/User.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/SQLAdmin/UsersListResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Safebrowsing.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Safebrowsing/Checksum.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Safebrowsing/ClientInfo.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Safebrowsing/Constraints.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Safebrowsing/FetchThreatListUpdatesRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Safebrowsing/FetchThreatListUpdatesResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Safebrowsing/FindFullHashesRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Safebrowsing/FindFullHashesResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Safebrowsing/FindThreatMatchesRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Safebrowsing/FindThreatMatchesResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Safebrowsing/ListThreatListsResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Safebrowsing/ListUpdateRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Safebrowsing/ListUpdateResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Safebrowsing/MetadataEntry.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Safebrowsing/RawHashes.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Safebrowsing/RawIndices.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Safebrowsing/Resource/EncodedFullHashes.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Safebrowsing/Resource/EncodedUpdates.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Safebrowsing/Resource/FullHashes.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Safebrowsing/Resource/ThreatListUpdates.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Safebrowsing/Resource/ThreatLists.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Safebrowsing/Resource/ThreatMatches.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Safebrowsing/RiceDeltaEncoding.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Safebrowsing/ThreatEntry.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Safebrowsing/ThreatEntryMetadata.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Safebrowsing/ThreatEntrySet.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Safebrowsing/ThreatInfo.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Safebrowsing/ThreatListDescriptor.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Safebrowsing/ThreatMatch.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Script.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Script/ExecutionError.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Script/ExecutionRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Script/ExecutionResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Script/Operation.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Script/Resource/Scripts.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Script/ScriptStackTraceElement.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Script/Status.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/SearchConsole.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/SearchConsole/BlockedResource.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/SearchConsole/Image.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/SearchConsole/MobileFriendlyIssue.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/SearchConsole/Resource/UrlTestingTools.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/SearchConsole/Resource/UrlTestingToolsMobileFriendlyTest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/SearchConsole/ResourceIssue.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/SearchConsole/RunMobileFriendlyTestRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/SearchConsole/RunMobileFriendlyTestResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/SearchConsole/TestStatus.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ServiceControl.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ServiceControl/AllocateQuotaRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ServiceControl/AllocateQuotaResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ServiceControl/AuditLog.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ServiceControl/AuthenticationInfo.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ServiceControl/AuthorizationInfo.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ServiceControl/CheckError.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ServiceControl/CheckInfo.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ServiceControl/CheckRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ServiceControl/CheckResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ServiceControl/Distribution.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ServiceControl/EndReconciliationRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ServiceControl/EndReconciliationResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ServiceControl/ExplicitBuckets.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ServiceControl/ExponentialBuckets.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ServiceControl/LinearBuckets.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ServiceControl/LogEntry.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ServiceControl/MetricValue.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ServiceControl/MetricValueSet.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ServiceControl/Money.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ServiceControl/Operation.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ServiceControl/QuotaError.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ServiceControl/QuotaInfo.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ServiceControl/QuotaOperation.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ServiceControl/QuotaProperties.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ServiceControl/ReleaseQuotaRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ServiceControl/ReleaseQuotaResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ServiceControl/ReportError.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ServiceControl/ReportInfo.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ServiceControl/ReportRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ServiceControl/ReportResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ServiceControl/RequestMetadata.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ServiceControl/Resource/Services.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ServiceControl/StartReconciliationRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ServiceControl/StartReconciliationResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ServiceControl/Status.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ServiceManagement.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ServiceManagement/Advice.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ServiceManagement/Analytics.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ServiceManagement/AnalyticsDestination.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ServiceManagement/Api.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ServiceManagement/AuditConfig.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ServiceManagement/AuditLogConfig.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ServiceManagement/AuthProvider.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ServiceManagement/AuthRequirement.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ServiceManagement/Authentication.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ServiceManagement/AuthenticationRule.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ServiceManagement/AuthorizationConfig.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ServiceManagement/Backend.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ServiceManagement/BackendRule.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ServiceManagement/Binding.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ServiceManagement/ChangeReport.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ServiceManagement/CloudAuditOptions.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ServiceManagement/Condition.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ServiceManagement/ConfigChange.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ServiceManagement/ConfigFile.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ServiceManagement/ConfigOptions.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ServiceManagement/ConfigRef.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ServiceManagement/ConfigSource.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ServiceManagement/Context.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ServiceManagement/ContextRule.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ServiceManagement/Control.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ServiceManagement/CounterOptions.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ServiceManagement/CustomError.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ServiceManagement/CustomErrorRule.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ServiceManagement/CustomHttpPattern.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ServiceManagement/DataAccessOptions.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ServiceManagement/DeleteServiceStrategy.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ServiceManagement/Diagnostic.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ServiceManagement/DisableServiceRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ServiceManagement/Documentation.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ServiceManagement/DocumentationRule.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ServiceManagement/EnableServiceRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ServiceManagement/Endpoint.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ServiceManagement/Enum.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ServiceManagement/EnumValue.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ServiceManagement/Experimental.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ServiceManagement/Field.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ServiceManagement/GenerateConfigReportRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ServiceManagement/GenerateConfigReportResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ServiceManagement/GetIamPolicyRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ServiceManagement/Http.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ServiceManagement/HttpRule.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ServiceManagement/LabelDescriptor.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ServiceManagement/ListOperationsResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ServiceManagement/ListServiceConfigsResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ServiceManagement/ListServiceRolloutsResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ServiceManagement/ListServicesResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ServiceManagement/LogConfig.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ServiceManagement/LogDescriptor.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ServiceManagement/Logging.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ServiceManagement/LoggingDestination.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ServiceManagement/ManagedService.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ServiceManagement/MediaDownload.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ServiceManagement/MediaUpload.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ServiceManagement/Method.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ServiceManagement/MetricDescriptor.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ServiceManagement/Mixin.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ServiceManagement/MonitoredResourceDescriptor.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ServiceManagement/Monitoring.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ServiceManagement/MonitoringDestination.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ServiceManagement/OAuthRequirements.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ServiceManagement/Operation.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ServiceManagement/OperationMetadata.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ServiceManagement/Option.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ServiceManagement/Page.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ServiceManagement/Policy.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ServiceManagement/Resource/Operations.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ServiceManagement/Resource/Services.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ServiceManagement/Resource/ServicesConfigs.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ServiceManagement/Resource/ServicesRollouts.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ServiceManagement/Rollout.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ServiceManagement/Rule.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ServiceManagement/Service.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ServiceManagement/SetIamPolicyRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ServiceManagement/SourceContext.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ServiceManagement/SourceInfo.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ServiceManagement/Status.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ServiceManagement/Step.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ServiceManagement/SubmitConfigSourceRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ServiceManagement/SubmitConfigSourceResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ServiceManagement/SystemParameter.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ServiceManagement/SystemParameterRule.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ServiceManagement/SystemParameters.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ServiceManagement/TestIamPermissionsRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ServiceManagement/TestIamPermissionsResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ServiceManagement/TrafficPercentStrategy.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ServiceManagement/Type.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ServiceManagement/UndeleteServiceResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ServiceManagement/Usage.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ServiceManagement/UsageRule.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ServiceManagement/Visibility.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ServiceManagement/VisibilityRule.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ServiceRegistry.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ServiceRegistry/Endpoint.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ServiceRegistry/EndpointEndpointVisibility.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ServiceRegistry/EndpointsListResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ServiceRegistry/Operation.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ServiceRegistry/OperationError.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ServiceRegistry/OperationErrorErrors.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ServiceRegistry/OperationWarnings.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ServiceRegistry/OperationWarningsData.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ServiceRegistry/OperationsListResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ServiceRegistry/Resource/Endpoints.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ServiceRegistry/Resource/Operations.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ServiceUser.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ServiceUser/Api.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ServiceUser/AuthProvider.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ServiceUser/AuthRequirement.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ServiceUser/Authentication.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ServiceUser/AuthenticationRule.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ServiceUser/AuthorizationConfig.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ServiceUser/Backend.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ServiceUser/BackendRule.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ServiceUser/Context.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ServiceUser/ContextRule.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ServiceUser/Control.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ServiceUser/CustomError.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ServiceUser/CustomErrorRule.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ServiceUser/CustomHttpPattern.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ServiceUser/DisableServiceRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ServiceUser/Documentation.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ServiceUser/DocumentationRule.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ServiceUser/EnableServiceRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ServiceUser/Endpoint.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ServiceUser/Enum.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ServiceUser/EnumValue.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ServiceUser/Experimental.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ServiceUser/Field.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ServiceUser/Http.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ServiceUser/HttpRule.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ServiceUser/LabelDescriptor.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ServiceUser/ListEnabledServicesResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ServiceUser/LogDescriptor.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ServiceUser/Logging.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ServiceUser/LoggingDestination.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ServiceUser/MediaDownload.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ServiceUser/MediaUpload.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ServiceUser/Method.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ServiceUser/MetricDescriptor.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ServiceUser/Mixin.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ServiceUser/MonitoredResourceDescriptor.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ServiceUser/Monitoring.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ServiceUser/MonitoringDestination.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ServiceUser/OAuthRequirements.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ServiceUser/Operation.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ServiceUser/OperationMetadata.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ServiceUser/Option.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ServiceUser/Page.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ServiceUser/PublishedService.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ServiceUser/Resource/Projects.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ServiceUser/Resource/ProjectsServices.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ServiceUser/Resource/Services.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ServiceUser/SearchServicesResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ServiceUser/Service.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ServiceUser/SourceContext.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ServiceUser/SourceInfo.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ServiceUser/Status.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ServiceUser/Step.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ServiceUser/SystemParameter.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ServiceUser/SystemParameterRule.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ServiceUser/SystemParameters.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ServiceUser/Type.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ServiceUser/Usage.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ServiceUser/UsageRule.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ServiceUser/Visibility.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ServiceUser/VisibilityRule.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Sheets.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Sheets/AddBandingRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Sheets/AddBandingResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Sheets/AddChartRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Sheets/AddChartResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Sheets/AddConditionalFormatRuleRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Sheets/AddFilterViewRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Sheets/AddFilterViewResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Sheets/AddNamedRangeRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Sheets/AddNamedRangeResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Sheets/AddProtectedRangeRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Sheets/AddProtectedRangeResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Sheets/AddSheetRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Sheets/AddSheetResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Sheets/AppendCellsRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Sheets/AppendDimensionRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Sheets/AppendValuesResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Sheets/AutoFillRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Sheets/AutoResizeDimensionsRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Sheets/BandedRange.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Sheets/BandingProperties.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Sheets/BasicChartAxis.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Sheets/BasicChartDomain.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Sheets/BasicChartSeries.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Sheets/BasicChartSpec.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Sheets/BasicFilter.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Sheets/BatchClearValuesRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Sheets/BatchClearValuesResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Sheets/BatchGetValuesResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Sheets/BatchUpdateSpreadsheetRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Sheets/BatchUpdateSpreadsheetResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Sheets/BatchUpdateValuesRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Sheets/BatchUpdateValuesResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Sheets/BooleanCondition.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Sheets/BooleanRule.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Sheets/Border.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Sheets/Borders.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Sheets/CellData.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Sheets/CellFormat.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Sheets/ChartData.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Sheets/ChartSourceRange.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Sheets/ChartSpec.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Sheets/ClearBasicFilterRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Sheets/ClearValuesRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Sheets/ClearValuesResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Sheets/Color.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Sheets/ConditionValue.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Sheets/ConditionalFormatRule.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Sheets/CopyPasteRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Sheets/CopySheetToAnotherSpreadsheetRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Sheets/CutPasteRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Sheets/DataValidationRule.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Sheets/DeleteBandingRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Sheets/DeleteConditionalFormatRuleRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Sheets/DeleteConditionalFormatRuleResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Sheets/DeleteDimensionRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Sheets/DeleteEmbeddedObjectRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Sheets/DeleteFilterViewRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Sheets/DeleteNamedRangeRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Sheets/DeleteProtectedRangeRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Sheets/DeleteRangeRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Sheets/DeleteSheetRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Sheets/DimensionProperties.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Sheets/DimensionRange.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Sheets/DuplicateFilterViewRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Sheets/DuplicateFilterViewResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Sheets/DuplicateSheetRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Sheets/DuplicateSheetResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Sheets/Editors.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Sheets/EmbeddedChart.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Sheets/EmbeddedObjectPosition.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Sheets/ErrorValue.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Sheets/ExtendedValue.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Sheets/FilterCriteria.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Sheets/FilterView.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Sheets/FindReplaceRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Sheets/FindReplaceResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Sheets/GradientRule.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Sheets/GridCoordinate.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Sheets/GridData.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Sheets/GridProperties.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Sheets/GridRange.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Sheets/InsertDimensionRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Sheets/InsertRangeRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Sheets/InterpolationPoint.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Sheets/IterativeCalculationSettings.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Sheets/MergeCellsRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Sheets/MoveDimensionRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Sheets/NamedRange.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Sheets/NumberFormat.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Sheets/OverlayPosition.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Sheets/Padding.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Sheets/PasteDataRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Sheets/PieChartSpec.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Sheets/PivotFilterCriteria.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Sheets/PivotGroup.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Sheets/PivotGroupSortValueBucket.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Sheets/PivotGroupValueMetadata.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Sheets/PivotTable.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Sheets/PivotValue.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Sheets/ProtectedRange.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Sheets/RepeatCellRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Sheets/Request.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Sheets/Resource/Spreadsheets.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Sheets/Resource/SpreadsheetsSheets.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Sheets/Resource/SpreadsheetsValues.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Sheets/Response.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Sheets/RowData.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Sheets/SetBasicFilterRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Sheets/SetDataValidationRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Sheets/Sheet.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Sheets/SheetProperties.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Sheets/SortRangeRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Sheets/SortSpec.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Sheets/SourceAndDestination.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Sheets/Spreadsheet.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Sheets/SpreadsheetProperties.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Sheets/TextFormat.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Sheets/TextFormatRun.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Sheets/TextRotation.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Sheets/TextToColumnsRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Sheets/UnmergeCellsRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Sheets/UpdateBandingRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Sheets/UpdateBordersRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Sheets/UpdateCellsRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Sheets/UpdateChartSpecRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Sheets/UpdateConditionalFormatRuleRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Sheets/UpdateConditionalFormatRuleResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Sheets/UpdateDimensionPropertiesRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Sheets/UpdateEmbeddedObjectPositionRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Sheets/UpdateEmbeddedObjectPositionResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Sheets/UpdateFilterViewRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Sheets/UpdateNamedRangeRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Sheets/UpdateProtectedRangeRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Sheets/UpdateSheetPropertiesRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Sheets/UpdateSpreadsheetPropertiesRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Sheets/UpdateValuesResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Sheets/ValueRange.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ShoppingContent.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ShoppingContent/Account.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ShoppingContent/AccountAdwordsLink.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ShoppingContent/AccountIdentifier.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ShoppingContent/AccountShipping.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ShoppingContent/AccountShippingCarrierRate.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ShoppingContent/AccountShippingCondition.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ShoppingContent/AccountShippingLocationGroup.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ShoppingContent/AccountShippingPostalCodeRange.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ShoppingContent/AccountShippingRateTable.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ShoppingContent/AccountShippingRateTableCell.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ShoppingContent/AccountShippingShippingService.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ShoppingContent/AccountShippingShippingServiceCalculationMethod.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ShoppingContent/AccountShippingShippingServiceCostRule.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ShoppingContent/AccountStatus.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ShoppingContent/AccountStatusDataQualityIssue.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ShoppingContent/AccountStatusExampleItem.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ShoppingContent/AccountTax.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ShoppingContent/AccountTaxTaxRule.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ShoppingContent/AccountUser.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ShoppingContent/AccountsAuthInfoResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ShoppingContent/AccountsCustomBatchRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ShoppingContent/AccountsCustomBatchRequestEntry.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ShoppingContent/AccountsCustomBatchResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ShoppingContent/AccountsCustomBatchResponseEntry.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ShoppingContent/AccountsListResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ShoppingContent/AccountshippingCustomBatchRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ShoppingContent/AccountshippingCustomBatchRequestEntry.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ShoppingContent/AccountshippingCustomBatchResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ShoppingContent/AccountshippingCustomBatchResponseEntry.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ShoppingContent/AccountshippingListResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ShoppingContent/AccountstatusesCustomBatchRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ShoppingContent/AccountstatusesCustomBatchRequestEntry.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ShoppingContent/AccountstatusesCustomBatchResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ShoppingContent/AccountstatusesCustomBatchResponseEntry.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ShoppingContent/AccountstatusesListResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ShoppingContent/AccounttaxCustomBatchRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ShoppingContent/AccounttaxCustomBatchRequestEntry.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ShoppingContent/AccounttaxCustomBatchResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ShoppingContent/AccounttaxCustomBatchResponseEntry.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ShoppingContent/AccounttaxListResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ShoppingContent/CarrierRate.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ShoppingContent/CarriersCarrier.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ShoppingContent/Datafeed.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ShoppingContent/DatafeedFetchSchedule.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ShoppingContent/DatafeedFormat.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ShoppingContent/DatafeedStatus.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ShoppingContent/DatafeedStatusError.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ShoppingContent/DatafeedStatusExample.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ShoppingContent/DatafeedsCustomBatchRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ShoppingContent/DatafeedsCustomBatchRequestEntry.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ShoppingContent/DatafeedsCustomBatchResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ShoppingContent/DatafeedsCustomBatchResponseEntry.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ShoppingContent/DatafeedsListResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ShoppingContent/DatafeedstatusesCustomBatchRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ShoppingContent/DatafeedstatusesCustomBatchRequestEntry.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ShoppingContent/DatafeedstatusesCustomBatchResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ShoppingContent/DatafeedstatusesCustomBatchResponseEntry.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ShoppingContent/DatafeedstatusesListResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ShoppingContent/DeliveryTime.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ShoppingContent/Error.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ShoppingContent/Errors.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ShoppingContent/Headers.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ShoppingContent/Installment.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ShoppingContent/Inventory.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ShoppingContent/InventoryCustomBatchRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ShoppingContent/InventoryCustomBatchRequestEntry.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ShoppingContent/InventoryCustomBatchResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ShoppingContent/InventoryCustomBatchResponseEntry.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ShoppingContent/InventoryPickup.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ShoppingContent/InventorySetRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ShoppingContent/InventorySetResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ShoppingContent/LocationIdSet.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ShoppingContent/LoyaltyPoints.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ShoppingContent/Order.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ShoppingContent/OrderAddress.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ShoppingContent/OrderCancellation.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ShoppingContent/OrderCustomer.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ShoppingContent/OrderDeliveryDetails.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ShoppingContent/OrderLineItem.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ShoppingContent/OrderLineItemProduct.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ShoppingContent/OrderLineItemProductVariantAttribute.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ShoppingContent/OrderLineItemReturnInfo.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ShoppingContent/OrderLineItemShippingDetails.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ShoppingContent/OrderLineItemShippingDetailsMethod.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ShoppingContent/OrderPaymentMethod.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ShoppingContent/OrderPromotion.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ShoppingContent/OrderPromotionBenefit.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ShoppingContent/OrderRefund.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ShoppingContent/OrderReturn.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ShoppingContent/OrderShipment.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ShoppingContent/OrderShipmentLineItemShipment.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ShoppingContent/OrdersAcknowledgeRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ShoppingContent/OrdersAcknowledgeResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ShoppingContent/OrdersAdvanceTestOrderResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ShoppingContent/OrdersCancelLineItemRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ShoppingContent/OrdersCancelLineItemResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ShoppingContent/OrdersCancelRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ShoppingContent/OrdersCancelResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ShoppingContent/OrdersCreateTestOrderRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ShoppingContent/OrdersCreateTestOrderResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ShoppingContent/OrdersCustomBatchRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ShoppingContent/OrdersCustomBatchRequestEntry.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ShoppingContent/OrdersCustomBatchRequestEntryCancel.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ShoppingContent/OrdersCustomBatchRequestEntryCancelLineItem.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ShoppingContent/OrdersCustomBatchRequestEntryRefund.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ShoppingContent/OrdersCustomBatchRequestEntryReturnLineItem.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ShoppingContent/OrdersCustomBatchRequestEntryShipLineItems.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ShoppingContent/OrdersCustomBatchRequestEntryUpdateShipment.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ShoppingContent/OrdersCustomBatchResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ShoppingContent/OrdersCustomBatchResponseEntry.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ShoppingContent/OrdersGetByMerchantOrderIdResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ShoppingContent/OrdersGetTestOrderTemplateResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ShoppingContent/OrdersListResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ShoppingContent/OrdersRefundRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ShoppingContent/OrdersRefundResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ShoppingContent/OrdersReturnLineItemRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ShoppingContent/OrdersReturnLineItemResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ShoppingContent/OrdersShipLineItemsRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ShoppingContent/OrdersShipLineItemsResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ShoppingContent/OrdersUpdateMerchantOrderIdRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ShoppingContent/OrdersUpdateMerchantOrderIdResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ShoppingContent/OrdersUpdateShipmentRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ShoppingContent/OrdersUpdateShipmentResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ShoppingContent/PostalCodeGroup.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ShoppingContent/PostalCodeRange.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ShoppingContent/Price.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ShoppingContent/Product.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ShoppingContent/ProductAspect.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ShoppingContent/ProductCustomAttribute.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ShoppingContent/ProductCustomGroup.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ShoppingContent/ProductDestination.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ShoppingContent/ProductShipping.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ShoppingContent/ProductShippingDimension.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ShoppingContent/ProductShippingWeight.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ShoppingContent/ProductStatus.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ShoppingContent/ProductStatusDataQualityIssue.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ShoppingContent/ProductStatusDestinationStatus.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ShoppingContent/ProductTax.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ShoppingContent/ProductUnitPricingBaseMeasure.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ShoppingContent/ProductUnitPricingMeasure.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ShoppingContent/ProductsCustomBatchRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ShoppingContent/ProductsCustomBatchRequestEntry.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ShoppingContent/ProductsCustomBatchResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ShoppingContent/ProductsCustomBatchResponseEntry.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ShoppingContent/ProductsListResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ShoppingContent/ProductstatusesCustomBatchRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ShoppingContent/ProductstatusesCustomBatchRequestEntry.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ShoppingContent/ProductstatusesCustomBatchResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ShoppingContent/ProductstatusesCustomBatchResponseEntry.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ShoppingContent/ProductstatusesListResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ShoppingContent/RateGroup.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ShoppingContent/Resource/Accounts.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ShoppingContent/Resource/Accountshipping.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ShoppingContent/Resource/Accountstatuses.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ShoppingContent/Resource/Accounttax.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ShoppingContent/Resource/Datafeeds.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ShoppingContent/Resource/Datafeedstatuses.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ShoppingContent/Resource/Inventory.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ShoppingContent/Resource/Orders.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ShoppingContent/Resource/Products.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ShoppingContent/Resource/Productstatuses.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ShoppingContent/Resource/Shippingsettings.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ShoppingContent/Row.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ShoppingContent/Service.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ShoppingContent/ShippingSettings.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ShoppingContent/ShippingsettingsCustomBatchRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ShoppingContent/ShippingsettingsCustomBatchRequestEntry.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ShoppingContent/ShippingsettingsCustomBatchResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ShoppingContent/ShippingsettingsCustomBatchResponseEntry.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ShoppingContent/ShippingsettingsGetSupportedCarriersResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ShoppingContent/ShippingsettingsListResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ShoppingContent/Table.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ShoppingContent/TestOrder.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ShoppingContent/TestOrderCustomer.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ShoppingContent/TestOrderLineItem.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ShoppingContent/TestOrderLineItemProduct.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ShoppingContent/TestOrderPaymentMethod.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ShoppingContent/Value.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ShoppingContent/Weight.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/SiteVerification.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/SiteVerification/Resource/WebResource.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/SiteVerification/SiteVerificationWebResourceGettokenRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/SiteVerification/SiteVerificationWebResourceGettokenRequestSite.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/SiteVerification/SiteVerificationWebResourceGettokenResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/SiteVerification/SiteVerificationWebResourceListResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/SiteVerification/SiteVerificationWebResourceResource.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/SiteVerification/SiteVerificationWebResourceResourceSite.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Slides.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Slides/AffineTransform.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Slides/AutoText.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Slides/BatchUpdatePresentationRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Slides/BatchUpdatePresentationResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Slides/Bullet.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Slides/ColorScheme.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Slides/ColorStop.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Slides/CreateImageRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Slides/CreateImageResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Slides/CreateLineRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Slides/CreateLineResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Slides/CreateParagraphBulletsRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Slides/CreateShapeRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Slides/CreateShapeResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Slides/CreateSheetsChartRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Slides/CreateSheetsChartResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Slides/CreateSlideRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Slides/CreateSlideResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Slides/CreateTableRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Slides/CreateTableResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Slides/CreateVideoRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Slides/CreateVideoResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Slides/CropProperties.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Slides/DeleteObjectRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Slides/DeleteParagraphBulletsRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Slides/DeleteTableColumnRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Slides/DeleteTableRowRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Slides/DeleteTextRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Slides/Dimension.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Slides/DuplicateObjectRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Slides/DuplicateObjectResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Slides/Group.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Slides/Image.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Slides/ImageProperties.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Slides/InsertTableColumnsRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Slides/InsertTableRowsRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Slides/InsertTextRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Slides/LayoutPlaceholderIdMapping.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Slides/LayoutProperties.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Slides/LayoutReference.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Slides/Line.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Slides/LineFill.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Slides/LineProperties.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Slides/Link.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Slides/NestingLevel.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Slides/NotesProperties.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Slides/OpaqueColor.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Slides/OptionalColor.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Slides/Outline.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Slides/OutlineFill.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Slides/Page.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Slides/PageBackgroundFill.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Slides/PageElement.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Slides/PageElementProperties.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Slides/PageProperties.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Slides/ParagraphMarker.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Slides/ParagraphStyle.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Slides/Placeholder.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Slides/Presentation.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Slides/Range.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Slides/Recolor.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Slides/RefreshSheetsChartRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Slides/ReplaceAllShapesWithImageRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Slides/ReplaceAllShapesWithImageResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Slides/ReplaceAllShapesWithSheetsChartRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Slides/ReplaceAllShapesWithSheetsChartResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Slides/ReplaceAllTextRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Slides/ReplaceAllTextResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Slides/Request.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Slides/Resource/Presentations.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Slides/Resource/PresentationsPages.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Slides/Response.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Slides/RgbColor.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Slides/Shadow.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Slides/Shape.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Slides/ShapeBackgroundFill.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Slides/ShapeProperties.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Slides/SheetsChart.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Slides/SheetsChartProperties.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Slides/Size.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Slides/SlideProperties.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Slides/SlidesList.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Slides/SolidFill.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Slides/StretchedPictureFill.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Slides/SubstringMatchCriteria.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Slides/Table.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Slides/TableCell.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Slides/TableCellBackgroundFill.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Slides/TableCellLocation.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Slides/TableCellProperties.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Slides/TableColumnProperties.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Slides/TableRange.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Slides/TableRow.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Slides/TextContent.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Slides/TextElement.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Slides/TextRun.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Slides/TextStyle.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Slides/ThemeColorPair.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Slides/UpdateImagePropertiesRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Slides/UpdateLinePropertiesRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Slides/UpdatePageElementTransformRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Slides/UpdatePagePropertiesRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Slides/UpdateParagraphStyleRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Slides/UpdateShapePropertiesRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Slides/UpdateSlidesPositionRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Slides/UpdateTableCellPropertiesRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Slides/UpdateTextStyleRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Slides/UpdateVideoPropertiesRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Slides/Video.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Slides/VideoProperties.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Slides/WeightedFontFamily.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Slides/WordArt.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Slides/WriteControl.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Spanner.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Spanner/AuditConfig.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Spanner/AuditLogConfig.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Spanner/BeginTransactionRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Spanner/Binding.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Spanner/ChildLink.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Spanner/CloudAuditOptions.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Spanner/CommitRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Spanner/CommitResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Spanner/Condition.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Spanner/CounterOptions.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Spanner/CreateDatabaseMetadata.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Spanner/CreateDatabaseRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Spanner/CreateInstanceMetadata.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Spanner/CreateInstanceRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Spanner/DataAccessOptions.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Spanner/Database.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Spanner/Delete.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Spanner/ExecuteSqlRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Spanner/Field.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Spanner/GetDatabaseDdlResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Spanner/GetIamPolicyRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Spanner/Instance.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Spanner/InstanceConfig.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Spanner/KeyRange.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Spanner/KeySet.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Spanner/ListDatabasesResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Spanner/ListInstanceConfigsResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Spanner/ListInstancesResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Spanner/ListOperationsResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Spanner/LogConfig.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Spanner/Mutation.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Spanner/Operation.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Spanner/PartialResultSet.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Spanner/PlanNode.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Spanner/Policy.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Spanner/QueryPlan.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Spanner/ReadOnly.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Spanner/ReadRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Spanner/ReadWrite.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Spanner/Resource/Projects.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Spanner/Resource/ProjectsInstanceConfigs.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Spanner/Resource/ProjectsInstances.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Spanner/Resource/ProjectsInstancesDatabases.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Spanner/Resource/ProjectsInstancesDatabasesOperations.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Spanner/Resource/ProjectsInstancesDatabasesSessions.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Spanner/Resource/ProjectsInstancesOperations.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Spanner/ResultSet.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Spanner/ResultSetMetadata.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Spanner/ResultSetStats.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Spanner/RollbackRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Spanner/Rule.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Spanner/Session.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Spanner/SetIamPolicyRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Spanner/ShortRepresentation.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Spanner/SpannerEmpty.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Spanner/Status.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Spanner/StructType.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Spanner/TestIamPermissionsRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Spanner/TestIamPermissionsResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Spanner/Transaction.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Spanner/TransactionOptions.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Spanner/TransactionSelector.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Spanner/Type.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Spanner/UpdateDatabaseDdlMetadata.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Spanner/UpdateDatabaseDdlRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Spanner/UpdateInstanceMetadata.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Spanner/UpdateInstanceRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Spanner/Write.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Spectrum.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Spectrum/AntennaCharacteristics.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Spectrum/DatabaseSpec.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Spectrum/DbUpdateSpec.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Spectrum/DeviceCapabilities.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Spectrum/DeviceDescriptor.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Spectrum/DeviceOwner.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Spectrum/DeviceValidity.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Spectrum/EventTime.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Spectrum/FrequencyRange.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Spectrum/GeoLocation.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Spectrum/GeoLocationEllipse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Spectrum/GeoLocationPoint.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Spectrum/GeoLocationPolygon.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Spectrum/GeoSpectrumSchedule.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Spectrum/PawsGetSpectrumBatchRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Spectrum/PawsGetSpectrumBatchResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Spectrum/PawsGetSpectrumRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Spectrum/PawsGetSpectrumResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Spectrum/PawsInitRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Spectrum/PawsInitResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Spectrum/PawsNotifySpectrumUseRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Spectrum/PawsNotifySpectrumUseResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Spectrum/PawsRegisterRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Spectrum/PawsRegisterResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Spectrum/PawsVerifyDeviceRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Spectrum/PawsVerifyDeviceResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Spectrum/Resource/Paws.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Spectrum/RulesetInfo.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Spectrum/SpectrumMessage.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Spectrum/SpectrumSchedule.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Spectrum/Vcard.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Spectrum/VcardAddress.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Spectrum/VcardTelephone.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Spectrum/VcardTypedText.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Speech.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Speech/AsyncRecognizeRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Speech/CancelOperationRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Speech/ListOperationsResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Speech/Operation.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Speech/RecognitionAudio.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Speech/RecognitionConfig.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Speech/Resource/Operations.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Speech/Resource/Speech.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Speech/SpeechContext.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Speech/SpeechEmpty.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Speech/SpeechRecognitionAlternative.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Speech/SpeechRecognitionResult.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Speech/Status.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Speech/SyncRecognizeRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Speech/SyncRecognizeResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Storage.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Storage/Bucket.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Storage/BucketAccessControl.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Storage/BucketAccessControlProjectTeam.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Storage/BucketAccessControls.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Storage/BucketCors.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Storage/BucketEncryption.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Storage/BucketLifecycle.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Storage/BucketLifecycleRule.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Storage/BucketLifecycleRuleAction.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Storage/BucketLifecycleRuleCondition.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Storage/BucketLogging.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Storage/BucketOwner.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Storage/BucketVersioning.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Storage/BucketWebsite.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Storage/Buckets.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Storage/Channel.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Storage/ComposeRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Storage/ComposeRequestSourceObjects.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Storage/ComposeRequestSourceObjectsObjectPreconditions.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Storage/ObjectAccessControl.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Storage/ObjectAccessControlProjectTeam.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Storage/ObjectAccessControls.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Storage/Objects.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Storage/Policy.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Storage/PolicyBindings.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Storage/Resource/BucketAccessControls.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Storage/Resource/Buckets.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Storage/Resource/Channels.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Storage/Resource/DefaultObjectAccessControls.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Storage/Resource/ObjectAccessControls.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Storage/Resource/Objects.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Storage/RewriteResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Storage/StorageObject.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Storage/StorageObjectCustomerEncryption.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Storage/StorageObjectOwner.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Storage/TestIamPermissionsResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Storagetransfer.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Storagetransfer/AwsAccessKey.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Storagetransfer/AwsS3Data.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Storagetransfer/Date.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Storagetransfer/ErrorLogEntry.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Storagetransfer/ErrorSummary.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Storagetransfer/GcsData.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Storagetransfer/GoogleServiceAccount.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Storagetransfer/HttpData.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Storagetransfer/ListOperationsResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Storagetransfer/ListTransferJobsResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Storagetransfer/ObjectConditions.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Storagetransfer/Operation.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Storagetransfer/PauseTransferOperationRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Storagetransfer/Resource/GoogleServiceAccounts.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Storagetransfer/Resource/TransferJobs.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Storagetransfer/Resource/TransferOperations.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Storagetransfer/Resource/V1.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Storagetransfer/ResumeTransferOperationRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Storagetransfer/Schedule.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Storagetransfer/Status.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Storagetransfer/StoragetransferEmpty.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Storagetransfer/TimeOfDay.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Storagetransfer/TransferCounters.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Storagetransfer/TransferJob.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Storagetransfer/TransferOperation.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Storagetransfer/TransferOptions.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Storagetransfer/TransferSpec.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Storagetransfer/UpdateTransferJobRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Surveys.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Surveys/FieldMask.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Surveys/MobileAppPanel.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Surveys/MobileAppPanelsListResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Surveys/PageInfo.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Surveys/Resource/Mobileapppanels.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Surveys/Resource/Results.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Surveys/Resource/Surveys.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Surveys/ResultsGetRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Surveys/ResultsMask.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Surveys/Survey.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Surveys/SurveyAudience.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Surveys/SurveyCost.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Surveys/SurveyQuestion.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Surveys/SurveyQuestionImage.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Surveys/SurveyRejection.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Surveys/SurveyResults.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Surveys/SurveysDeleteResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Surveys/SurveysListResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Surveys/SurveysStartRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Surveys/SurveysStartResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Surveys/SurveysStopResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Surveys/TokenPagination.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/TagManager.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/TagManager/Account.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/TagManager/AccountAccess.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/TagManager/Condition.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/TagManager/Container.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/TagManager/ContainerAccess.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/TagManager/ContainerVersion.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/TagManager/ContainerVersionHeader.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/TagManager/CreateContainerVersionRequestVersionOptions.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/TagManager/CreateContainerVersionResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/TagManager/Environment.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/TagManager/Folder.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/TagManager/FolderEntities.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/TagManager/ListAccountUsersResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/TagManager/ListAccountsResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/TagManager/ListContainerVersionsResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/TagManager/ListContainersResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/TagManager/ListEnvironmentsResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/TagManager/ListFoldersResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/TagManager/ListTagsResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/TagManager/ListTriggersResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/TagManager/ListVariablesResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/TagManager/Macro.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/TagManager/Parameter.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/TagManager/PublishContainerVersionResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/TagManager/Resource/Accounts.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/TagManager/Resource/AccountsContainers.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/TagManager/Resource/AccountsContainersEnvironments.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/TagManager/Resource/AccountsContainersFolders.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/TagManager/Resource/AccountsContainersFoldersEntities.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/TagManager/Resource/AccountsContainersMoveFolders.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/TagManager/Resource/AccountsContainersReauthorizeEnvironments.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/TagManager/Resource/AccountsContainersTags.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/TagManager/Resource/AccountsContainersTriggers.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/TagManager/Resource/AccountsContainersVariables.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/TagManager/Resource/AccountsContainersVersions.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/TagManager/Resource/AccountsPermissions.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/TagManager/Rule.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/TagManager/SetupTag.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/TagManager/Tag.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/TagManager/TeardownTag.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/TagManager/Trigger.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/TagManager/UserAccess.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/TagManager/Variable.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Taskqueue.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Taskqueue/Resource/Taskqueues.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Taskqueue/Resource/Tasks.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Taskqueue/Task.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Taskqueue/TaskQueue.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Taskqueue/TaskQueueAcl.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Taskqueue/TaskQueueStats.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Taskqueue/Tasks.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Taskqueue/Tasks2.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Tasks.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Tasks/Resource/Tasklists.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Tasks/Resource/Tasks.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Tasks/Task.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Tasks/TaskLinks.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Tasks/TaskList.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Tasks/TaskLists.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Tasks/Tasks.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ToolResults.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ToolResults/Any.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ToolResults/BasicPerfSampleSeries.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ToolResults/BatchCreatePerfSamplesRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ToolResults/BatchCreatePerfSamplesResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ToolResults/CPUInfo.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ToolResults/Duration.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ToolResults/Execution.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ToolResults/FailureDetail.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ToolResults/FileReference.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ToolResults/History.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ToolResults/Image.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ToolResults/InconclusiveDetail.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ToolResults/ListExecutionsResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ToolResults/ListHistoriesResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ToolResults/ListPerfSampleSeriesResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ToolResults/ListPerfSamplesResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ToolResults/ListStepThumbnailsResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ToolResults/ListStepsResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ToolResults/MemoryInfo.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ToolResults/Outcome.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ToolResults/PerfEnvironment.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ToolResults/PerfMetricsSummary.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ToolResults/PerfSample.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ToolResults/PerfSampleSeries.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ToolResults/ProjectSettings.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ToolResults/PublishXunitXmlFilesRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ToolResults/Resource/Projects.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ToolResults/Resource/ProjectsHistories.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ToolResults/Resource/ProjectsHistoriesExecutions.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ToolResults/Resource/ProjectsHistoriesExecutionsSteps.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ToolResults/Resource/ProjectsHistoriesExecutionsStepsPerfMetricsSummary.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ToolResults/Resource/ProjectsHistoriesExecutionsStepsPerfSampleSeries.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ToolResults/Resource/ProjectsHistoriesExecutionsStepsPerfSampleSeriesSamples.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ToolResults/Resource/ProjectsHistoriesExecutionsStepsThumbnails.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ToolResults/SkippedDetail.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ToolResults/StackTrace.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ToolResults/Status.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ToolResults/Step.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ToolResults/StepDimensionValueEntry.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ToolResults/StepLabelsEntry.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ToolResults/SuccessDetail.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ToolResults/TestCaseReference.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ToolResults/TestExecutionStep.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ToolResults/TestIssue.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ToolResults/TestSuiteOverview.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ToolResults/TestTiming.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ToolResults/Thumbnail.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ToolResults/Timestamp.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ToolResults/ToolExecution.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ToolResults/ToolExecutionStep.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ToolResults/ToolExitCode.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/ToolResults/ToolOutputReference.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Tracing.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Tracing/Annotation.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Tracing/AttributeValue.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Tracing/BatchUpdateSpansRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Tracing/Link.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Tracing/ListSpansResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Tracing/ListTracesResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Tracing/Module.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Tracing/NetworkEvent.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Tracing/Resource/Projects.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Tracing/Resource/ProjectsTraces.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Tracing/Span.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Tracing/SpanUpdates.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Tracing/StackFrame.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Tracing/StackTrace.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Tracing/Status.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Tracing/TimeEvent.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Tracing/Trace.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Tracing/TracingEmpty.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Translate.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Translate/DetectionsListResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Translate/DetectionsResourceItems.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Translate/LanguagesListResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Translate/LanguagesResource.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Translate/Resource/Detections.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Translate/Resource/Languages.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Translate/Resource/Translations.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Translate/TranslationsListResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Translate/TranslationsResource.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Urlshortener.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Urlshortener/AnalyticsSnapshot.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Urlshortener/AnalyticsSummary.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Urlshortener/Resource/Url.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Urlshortener/StringCount.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Urlshortener/Url.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Urlshortener/UrlHistory.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Vision.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Vision/AnnotateImageRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Vision/AnnotateImageResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Vision/BatchAnnotateImagesRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Vision/BatchAnnotateImagesResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Vision/Block.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Vision/BoundingPoly.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Vision/Color.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Vision/ColorInfo.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Vision/CropHint.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Vision/CropHintsAnnotation.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Vision/CropHintsParams.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Vision/DetectedBreak.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Vision/DetectedLanguage.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Vision/DominantColorsAnnotation.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Vision/EntityAnnotation.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Vision/FaceAnnotation.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Vision/Feature.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Vision/Image.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Vision/ImageContext.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Vision/ImageProperties.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Vision/ImageSource.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Vision/Landmark.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Vision/LatLng.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Vision/LatLongRect.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Vision/LocationInfo.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Vision/Page.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Vision/Paragraph.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Vision/Position.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Vision/Property.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Vision/Resource/Images.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Vision/SafeSearchAnnotation.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Vision/Status.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Vision/Symbol.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Vision/TextAnnotation.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Vision/TextProperty.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Vision/Vertex.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Vision/WebDetection.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Vision/WebEntity.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Vision/WebImage.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Vision/WebPage.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Vision/Word.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Webfonts.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Webfonts/Resource/Webfonts.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Webfonts/Webfont.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Webfonts/WebfontList.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Webmasters.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Webmasters/ApiDataRow.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Webmasters/ApiDimensionFilter.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Webmasters/ApiDimensionFilterGroup.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Webmasters/Resource/Searchanalytics.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Webmasters/Resource/Sitemaps.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Webmasters/Resource/Sites.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Webmasters/Resource/Urlcrawlerrorscounts.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Webmasters/Resource/Urlcrawlerrorssamples.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Webmasters/SearchAnalyticsQueryRequest.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Webmasters/SearchAnalyticsQueryResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Webmasters/SitemapsListResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Webmasters/SitesListResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Webmasters/UrlCrawlErrorCount.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Webmasters/UrlCrawlErrorCountsPerType.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Webmasters/UrlCrawlErrorsCountsQueryResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Webmasters/UrlCrawlErrorsSample.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Webmasters/UrlCrawlErrorsSamplesListResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Webmasters/UrlSampleDetails.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Webmasters/WmxSite.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Webmasters/WmxSitemap.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/Webmasters/WmxSitemapContent.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTube.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTube/AccessPolicy.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTube/Activity.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTube/ActivityContentDetails.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTube/ActivityContentDetailsBulletin.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTube/ActivityContentDetailsChannelItem.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTube/ActivityContentDetailsComment.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTube/ActivityContentDetailsFavorite.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTube/ActivityContentDetailsLike.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTube/ActivityContentDetailsPlaylistItem.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTube/ActivityContentDetailsPromotedItem.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTube/ActivityContentDetailsRecommendation.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTube/ActivityContentDetailsSocial.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTube/ActivityContentDetailsSubscription.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTube/ActivityContentDetailsUpload.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTube/ActivityListResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTube/ActivitySnippet.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTube/Caption.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTube/CaptionListResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTube/CaptionSnippet.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTube/CdnSettings.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTube/Channel.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTube/ChannelAuditDetails.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTube/ChannelBannerResource.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTube/ChannelBrandingSettings.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTube/ChannelContentDetails.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTube/ChannelContentDetailsRelatedPlaylists.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTube/ChannelContentOwnerDetails.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTube/ChannelConversionPing.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTube/ChannelConversionPings.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTube/ChannelListResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTube/ChannelLocalization.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTube/ChannelProfileDetails.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTube/ChannelSection.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTube/ChannelSectionContentDetails.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTube/ChannelSectionListResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTube/ChannelSectionLocalization.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTube/ChannelSectionSnippet.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTube/ChannelSectionTargeting.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTube/ChannelSettings.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTube/ChannelSnippet.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTube/ChannelStatistics.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTube/ChannelStatus.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTube/ChannelTopicDetails.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTube/Comment.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTube/CommentListResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTube/CommentSnippet.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTube/CommentThread.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTube/CommentThreadListResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTube/CommentThreadReplies.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTube/CommentThreadSnippet.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTube/ContentRating.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTube/FanFundingEvent.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTube/FanFundingEventListResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTube/FanFundingEventSnippet.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTube/GeoPoint.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTube/GuideCategory.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTube/GuideCategoryListResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTube/GuideCategorySnippet.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTube/I18nLanguage.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTube/I18nLanguageListResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTube/I18nLanguageSnippet.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTube/I18nRegion.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTube/I18nRegionListResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTube/I18nRegionSnippet.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTube/ImageSettings.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTube/IngestionInfo.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTube/InvideoBranding.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTube/InvideoPosition.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTube/InvideoPromotion.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTube/InvideoTiming.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTube/LanguageTag.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTube/LiveBroadcast.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTube/LiveBroadcastContentDetails.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTube/LiveBroadcastListResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTube/LiveBroadcastSnippet.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTube/LiveBroadcastStatistics.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTube/LiveBroadcastStatus.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTube/LiveBroadcastTopic.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTube/LiveBroadcastTopicDetails.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTube/LiveBroadcastTopicSnippet.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTube/LiveChatBan.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTube/LiveChatBanSnippet.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTube/LiveChatFanFundingEventDetails.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTube/LiveChatMessage.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTube/LiveChatMessageAuthorDetails.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTube/LiveChatMessageDeletedDetails.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTube/LiveChatMessageListResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTube/LiveChatMessageRetractedDetails.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTube/LiveChatMessageSnippet.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTube/LiveChatModerator.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTube/LiveChatModeratorListResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTube/LiveChatModeratorSnippet.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTube/LiveChatPollClosedDetails.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTube/LiveChatPollEditedDetails.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTube/LiveChatPollItem.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTube/LiveChatPollOpenedDetails.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTube/LiveChatPollVotedDetails.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTube/LiveChatSuperChatDetails.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTube/LiveChatTextMessageDetails.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTube/LiveChatUserBannedMessageDetails.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTube/LiveStream.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTube/LiveStreamConfigurationIssue.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTube/LiveStreamContentDetails.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTube/LiveStreamHealthStatus.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTube/LiveStreamListResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTube/LiveStreamSnippet.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTube/LiveStreamStatus.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTube/LocalizedProperty.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTube/LocalizedString.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTube/MonitorStreamInfo.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTube/PageInfo.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTube/Playlist.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTube/PlaylistContentDetails.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTube/PlaylistItem.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTube/PlaylistItemContentDetails.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTube/PlaylistItemListResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTube/PlaylistItemSnippet.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTube/PlaylistItemStatus.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTube/PlaylistListResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTube/PlaylistLocalization.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTube/PlaylistPlayer.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTube/PlaylistSnippet.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTube/PlaylistStatus.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTube/PromotedItem.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTube/PromotedItemId.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTube/PropertyValue.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTube/Resource/Activities.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTube/Resource/Captions.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTube/Resource/ChannelBanners.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTube/Resource/ChannelSections.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTube/Resource/Channels.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTube/Resource/CommentThreads.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTube/Resource/Comments.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTube/Resource/FanFundingEvents.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTube/Resource/GuideCategories.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTube/Resource/I18nLanguages.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTube/Resource/I18nRegions.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTube/Resource/LiveBroadcasts.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTube/Resource/LiveChatBans.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTube/Resource/LiveChatMessages.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTube/Resource/LiveChatModerators.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTube/Resource/LiveStreams.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTube/Resource/PlaylistItems.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTube/Resource/Playlists.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTube/Resource/Search.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTube/Resource/Sponsors.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTube/Resource/Subscriptions.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTube/Resource/SuperChatEvents.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTube/Resource/Thumbnails.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTube/Resource/VideoAbuseReportReasons.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTube/Resource/VideoCategories.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTube/Resource/Videos.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTube/Resource/Watermarks.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTube/ResourceId.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTube/SearchListResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTube/SearchResult.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTube/SearchResultSnippet.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTube/Sponsor.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTube/SponsorListResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTube/SponsorSnippet.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTube/Subscription.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTube/SubscriptionContentDetails.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTube/SubscriptionListResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTube/SubscriptionSnippet.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTube/SubscriptionSubscriberSnippet.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTube/SuperChatEvent.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTube/SuperChatEventListResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTube/SuperChatEventSnippet.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTube/Thumbnail.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTube/ThumbnailDetails.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTube/ThumbnailSetResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTube/TokenPagination.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTube/Video.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTube/VideoAbuseReport.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTube/VideoAbuseReportReason.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTube/VideoAbuseReportReasonListResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTube/VideoAbuseReportReasonSnippet.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTube/VideoAbuseReportSecondaryReason.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTube/VideoAgeGating.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTube/VideoCategory.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTube/VideoCategoryListResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTube/VideoCategorySnippet.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTube/VideoContentDetails.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTube/VideoContentDetailsRegionRestriction.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTube/VideoFileDetails.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTube/VideoFileDetailsAudioStream.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTube/VideoFileDetailsVideoStream.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTube/VideoGetRatingResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTube/VideoListResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTube/VideoLiveStreamingDetails.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTube/VideoLocalization.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTube/VideoMonetizationDetails.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTube/VideoPlayer.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTube/VideoProcessingDetails.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTube/VideoProcessingDetailsProcessingProgress.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTube/VideoProjectDetails.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTube/VideoRating.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTube/VideoRecordingDetails.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTube/VideoSnippet.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTube/VideoStatistics.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTube/VideoStatus.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTube/VideoSuggestions.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTube/VideoSuggestionsTagSuggestion.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTube/VideoTopicDetails.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTube/WatchSettings.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTubeAnalytics.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTubeAnalytics/BatchReport.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTubeAnalytics/BatchReportDefinition.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTubeAnalytics/BatchReportDefinitionList.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTubeAnalytics/BatchReportList.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTubeAnalytics/BatchReportOutputs.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTubeAnalytics/BatchReportTimeSpan.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTubeAnalytics/Group.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTubeAnalytics/GroupContentDetails.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTubeAnalytics/GroupItem.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTubeAnalytics/GroupItemListResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTubeAnalytics/GroupItemResource.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTubeAnalytics/GroupListResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTubeAnalytics/GroupSnippet.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTubeAnalytics/Resource/BatchReportDefinitions.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTubeAnalytics/Resource/BatchReports.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTubeAnalytics/Resource/GroupItems.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTubeAnalytics/Resource/Groups.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTubeAnalytics/Resource/Reports.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTubeAnalytics/ResultTable.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTubeAnalytics/ResultTableColumnHeaders.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTubeReporting.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTubeReporting/Job.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTubeReporting/ListJobsResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTubeReporting/ListReportTypesResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTubeReporting/ListReportsResponse.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTubeReporting/Media.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTubeReporting/Report.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTubeReporting/ReportType.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTubeReporting/Resource/Jobs.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTubeReporting/Resource/JobsReports.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTubeReporting/Resource/Media.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTubeReporting/Resource/ReportTypes.php create mode 100644 vendor/google/apiclient-services/src/Google/Service/YouTubeReporting/YoutubereportingEmpty.php create mode 100644 vendor/google/apiclient-services/tests/ServiceTest.php create mode 100644 vendor/google/apiclient-services/tests/bootstrap.php create mode 100644 vendor/google/apiclient/.gitattributes create mode 100644 vendor/google/apiclient/LICENSE create mode 100644 vendor/google/apiclient/README.md create mode 100644 vendor/google/apiclient/composer.json create mode 100644 vendor/google/apiclient/src/Google/AccessToken/Revoke.php create mode 100644 vendor/google/apiclient/src/Google/AccessToken/Verify.php create mode 100644 vendor/google/apiclient/src/Google/AuthHandler/AuthHandlerFactory.php create mode 100644 vendor/google/apiclient/src/Google/AuthHandler/Guzzle5AuthHandler.php create mode 100644 vendor/google/apiclient/src/Google/AuthHandler/Guzzle6AuthHandler.php create mode 100644 vendor/google/apiclient/src/Google/Client.php create mode 100644 vendor/google/apiclient/src/Google/Collection.php create mode 100644 vendor/google/apiclient/src/Google/Exception.php create mode 100644 vendor/google/apiclient/src/Google/Http/Batch.php create mode 100644 vendor/google/apiclient/src/Google/Http/MediaFileUpload.php create mode 100644 vendor/google/apiclient/src/Google/Http/REST.php create mode 100644 vendor/google/apiclient/src/Google/Model.php create mode 100644 vendor/google/apiclient/src/Google/Service.php create mode 100644 vendor/google/apiclient/src/Google/Service/Exception.php create mode 100644 vendor/google/apiclient/src/Google/Service/README.md create mode 100644 vendor/google/apiclient/src/Google/Service/Resource.php create mode 100644 vendor/google/apiclient/src/Google/Task/Exception.php create mode 100644 vendor/google/apiclient/src/Google/Task/Retryable.php create mode 100644 vendor/google/apiclient/src/Google/Task/Runner.php create mode 100644 vendor/google/apiclient/src/Google/Utils/UriTemplate.php create mode 100644 vendor/google/apiclient/src/Google/autoload.php create mode 100644 vendor/google/auth/.editorconfig create mode 100644 vendor/google/auth/.gitignore create mode 100644 vendor/google/auth/.php_cs create mode 100644 vendor/google/auth/.travis.yml create mode 100644 vendor/google/auth/CHANGELOG.md create mode 100644 vendor/google/auth/CONTRIBUTING.md create mode 100644 vendor/google/auth/COPYING create mode 100644 vendor/google/auth/LICENSE create mode 100644 vendor/google/auth/README.md create mode 100644 vendor/google/auth/autoload.php create mode 100644 vendor/google/auth/composer.json create mode 100644 vendor/google/auth/phpunit.xml.dist create mode 100644 vendor/google/auth/src/ApplicationDefaultCredentials.php create mode 100644 vendor/google/auth/src/Cache/InvalidArgumentException.php create mode 100644 vendor/google/auth/src/Cache/Item.php create mode 100644 vendor/google/auth/src/Cache/MemoryCacheItemPool.php create mode 100644 vendor/google/auth/src/CacheTrait.php create mode 100644 vendor/google/auth/src/Credentials/AppIdentityCredentials.php create mode 100644 vendor/google/auth/src/Credentials/GCECredentials.php create mode 100644 vendor/google/auth/src/Credentials/IAMCredentials.php create mode 100644 vendor/google/auth/src/Credentials/ServiceAccountCredentials.php create mode 100644 vendor/google/auth/src/Credentials/ServiceAccountJwtAccessCredentials.php create mode 100644 vendor/google/auth/src/Credentials/UserRefreshCredentials.php create mode 100644 vendor/google/auth/src/CredentialsLoader.php create mode 100644 vendor/google/auth/src/FetchAuthTokenCache.php create mode 100644 vendor/google/auth/src/FetchAuthTokenInterface.php create mode 100644 vendor/google/auth/src/HttpHandler/Guzzle5HttpHandler.php create mode 100644 vendor/google/auth/src/HttpHandler/Guzzle6HttpHandler.php create mode 100644 vendor/google/auth/src/HttpHandler/HttpHandlerFactory.php create mode 100644 vendor/google/auth/src/Middleware/AuthTokenMiddleware.php create mode 100644 vendor/google/auth/src/Middleware/ScopedAccessTokenMiddleware.php create mode 100644 vendor/google/auth/src/Middleware/SimpleMiddleware.php create mode 100644 vendor/google/auth/src/OAuth2.php create mode 100644 vendor/google/auth/src/Subscriber/AuthTokenSubscriber.php create mode 100644 vendor/google/auth/src/Subscriber/ScopedAccessTokenSubscriber.php create mode 100644 vendor/google/auth/src/Subscriber/SimpleSubscriber.php create mode 100644 vendor/google/auth/tests/ApplicationDefaultCredentialsTest.php create mode 100644 vendor/google/auth/tests/BaseTest.php create mode 100644 vendor/google/auth/tests/Cache/ItemTest.php create mode 100644 vendor/google/auth/tests/Cache/MemoryCacheItemPoolTest.php create mode 100644 vendor/google/auth/tests/CacheTraitTest.php create mode 100644 vendor/google/auth/tests/Credentials/AppIndentityCredentialsTest.php create mode 100644 vendor/google/auth/tests/Credentials/GCECredentialsTest.php create mode 100644 vendor/google/auth/tests/Credentials/IAMCredentialsTest.php create mode 100644 vendor/google/auth/tests/Credentials/ServiceAccountCredentialsTest.php create mode 100644 vendor/google/auth/tests/Credentials/UserRefreshCredentialsTest.php create mode 100644 vendor/google/auth/tests/FetchAuthTokenCacheTest.php create mode 100644 vendor/google/auth/tests/FetchAuthTokenTest.php create mode 100644 vendor/google/auth/tests/HttpHandler/Guzzle5HttpHandlerTest.php create mode 100644 vendor/google/auth/tests/HttpHandler/Guzzle6HttpHandlerTest.php create mode 100644 vendor/google/auth/tests/HttpHandler/HttpHandlerFactoryTest.php create mode 100644 vendor/google/auth/tests/Middleware/AuthTokenMiddlewareTest.php create mode 100644 vendor/google/auth/tests/Middleware/ScopedAccessTokenMiddlewareTest.php create mode 100644 vendor/google/auth/tests/Middleware/SimpleMiddlewareTest.php create mode 100644 vendor/google/auth/tests/OAuth2Test.php create mode 100644 vendor/google/auth/tests/Subscriber/AuthTokenSubscriberTest.php create mode 100644 vendor/google/auth/tests/Subscriber/ScopedAccessTokenSubscriberTest.php create mode 100644 vendor/google/auth/tests/Subscriber/SimpleSubscriberTest.php create mode 100644 vendor/google/auth/tests/bootstrap.php create mode 100644 vendor/google/auth/tests/fixtures/.config/gcloud/application_default_credentials.json create mode 100644 vendor/google/auth/tests/fixtures/private.json create mode 100644 vendor/google/auth/tests/fixtures/private.pem create mode 100644 vendor/google/auth/tests/fixtures/public.pem create mode 100644 vendor/google/auth/tests/fixtures2/.config/gcloud/application_default_credentials.json create mode 100644 vendor/google/auth/tests/fixtures2/private.json create mode 100644 vendor/google/auth/tests/mocks/AppIdentityService.php create mode 100644 vendor/guzzlehttp/guzzle/.travis.yml create mode 100644 vendor/guzzlehttp/guzzle/CHANGELOG.md create mode 100644 vendor/guzzlehttp/guzzle/LICENSE create mode 100644 vendor/guzzlehttp/guzzle/README.md create mode 100644 vendor/guzzlehttp/guzzle/UPGRADING.md create mode 100644 vendor/guzzlehttp/guzzle/composer.json create mode 100644 vendor/guzzlehttp/guzzle/src/Client.php create mode 100644 vendor/guzzlehttp/guzzle/src/ClientInterface.php create mode 100644 vendor/guzzlehttp/guzzle/src/Cookie/CookieJar.php create mode 100644 vendor/guzzlehttp/guzzle/src/Cookie/CookieJarInterface.php create mode 100644 vendor/guzzlehttp/guzzle/src/Cookie/FileCookieJar.php create mode 100644 vendor/guzzlehttp/guzzle/src/Cookie/SessionCookieJar.php create mode 100644 vendor/guzzlehttp/guzzle/src/Cookie/SetCookie.php create mode 100644 vendor/guzzlehttp/guzzle/src/Exception/BadResponseException.php create mode 100644 vendor/guzzlehttp/guzzle/src/Exception/ClientException.php create mode 100644 vendor/guzzlehttp/guzzle/src/Exception/ConnectException.php create mode 100644 vendor/guzzlehttp/guzzle/src/Exception/GuzzleException.php create mode 100644 vendor/guzzlehttp/guzzle/src/Exception/RequestException.php create mode 100644 vendor/guzzlehttp/guzzle/src/Exception/SeekException.php create mode 100644 vendor/guzzlehttp/guzzle/src/Exception/ServerException.php create mode 100644 vendor/guzzlehttp/guzzle/src/Exception/TooManyRedirectsException.php create mode 100644 vendor/guzzlehttp/guzzle/src/Exception/TransferException.php create mode 100644 vendor/guzzlehttp/guzzle/src/Handler/CurlFactory.php create mode 100644 vendor/guzzlehttp/guzzle/src/Handler/CurlFactoryInterface.php create mode 100644 vendor/guzzlehttp/guzzle/src/Handler/CurlHandler.php create mode 100644 vendor/guzzlehttp/guzzle/src/Handler/CurlMultiHandler.php create mode 100644 vendor/guzzlehttp/guzzle/src/Handler/EasyHandle.php create mode 100644 vendor/guzzlehttp/guzzle/src/Handler/MockHandler.php create mode 100644 vendor/guzzlehttp/guzzle/src/Handler/Proxy.php create mode 100644 vendor/guzzlehttp/guzzle/src/Handler/StreamHandler.php create mode 100644 vendor/guzzlehttp/guzzle/src/HandlerStack.php create mode 100644 vendor/guzzlehttp/guzzle/src/MessageFormatter.php create mode 100644 vendor/guzzlehttp/guzzle/src/Middleware.php create mode 100644 vendor/guzzlehttp/guzzle/src/Pool.php create mode 100644 vendor/guzzlehttp/guzzle/src/PrepareBodyMiddleware.php create mode 100644 vendor/guzzlehttp/guzzle/src/RedirectMiddleware.php create mode 100644 vendor/guzzlehttp/guzzle/src/RequestOptions.php create mode 100644 vendor/guzzlehttp/guzzle/src/RetryMiddleware.php create mode 100644 vendor/guzzlehttp/guzzle/src/TransferStats.php create mode 100644 vendor/guzzlehttp/guzzle/src/UriTemplate.php create mode 100644 vendor/guzzlehttp/guzzle/src/functions.php create mode 100644 vendor/guzzlehttp/guzzle/src/functions_include.php create mode 100644 vendor/guzzlehttp/promises/CHANGELOG.md create mode 100644 vendor/guzzlehttp/promises/LICENSE create mode 100644 vendor/guzzlehttp/promises/Makefile create mode 100644 vendor/guzzlehttp/promises/README.md create mode 100644 vendor/guzzlehttp/promises/composer.json create mode 100644 vendor/guzzlehttp/promises/src/AggregateException.php create mode 100644 vendor/guzzlehttp/promises/src/CancellationException.php create mode 100644 vendor/guzzlehttp/promises/src/Coroutine.php create mode 100644 vendor/guzzlehttp/promises/src/EachPromise.php create mode 100644 vendor/guzzlehttp/promises/src/FulfilledPromise.php create mode 100644 vendor/guzzlehttp/promises/src/Promise.php create mode 100644 vendor/guzzlehttp/promises/src/PromiseInterface.php create mode 100644 vendor/guzzlehttp/promises/src/PromisorInterface.php create mode 100644 vendor/guzzlehttp/promises/src/RejectedPromise.php create mode 100644 vendor/guzzlehttp/promises/src/RejectionException.php create mode 100644 vendor/guzzlehttp/promises/src/TaskQueue.php create mode 100644 vendor/guzzlehttp/promises/src/TaskQueueInterface.php create mode 100644 vendor/guzzlehttp/promises/src/functions.php create mode 100644 vendor/guzzlehttp/promises/src/functions_include.php create mode 100644 vendor/guzzlehttp/psr7/CHANGELOG.md create mode 100644 vendor/guzzlehttp/psr7/LICENSE create mode 100644 vendor/guzzlehttp/psr7/README.md create mode 100644 vendor/guzzlehttp/psr7/composer.json create mode 100644 vendor/guzzlehttp/psr7/src/AppendStream.php create mode 100644 vendor/guzzlehttp/psr7/src/BufferStream.php create mode 100644 vendor/guzzlehttp/psr7/src/CachingStream.php create mode 100644 vendor/guzzlehttp/psr7/src/DroppingStream.php create mode 100644 vendor/guzzlehttp/psr7/src/FnStream.php create mode 100644 vendor/guzzlehttp/psr7/src/InflateStream.php create mode 100644 vendor/guzzlehttp/psr7/src/LazyOpenStream.php create mode 100644 vendor/guzzlehttp/psr7/src/LimitStream.php create mode 100644 vendor/guzzlehttp/psr7/src/MessageTrait.php create mode 100644 vendor/guzzlehttp/psr7/src/MultipartStream.php create mode 100644 vendor/guzzlehttp/psr7/src/NoSeekStream.php create mode 100644 vendor/guzzlehttp/psr7/src/PumpStream.php create mode 100644 vendor/guzzlehttp/psr7/src/Request.php create mode 100644 vendor/guzzlehttp/psr7/src/Response.php create mode 100644 vendor/guzzlehttp/psr7/src/ServerRequest.php create mode 100644 vendor/guzzlehttp/psr7/src/Stream.php create mode 100644 vendor/guzzlehttp/psr7/src/StreamDecoratorTrait.php create mode 100644 vendor/guzzlehttp/psr7/src/StreamWrapper.php create mode 100644 vendor/guzzlehttp/psr7/src/UploadedFile.php create mode 100644 vendor/guzzlehttp/psr7/src/Uri.php create mode 100644 vendor/guzzlehttp/psr7/src/UriNormalizer.php create mode 100644 vendor/guzzlehttp/psr7/src/UriResolver.php create mode 100644 vendor/guzzlehttp/psr7/src/functions.php create mode 100644 vendor/guzzlehttp/psr7/src/functions_include.php create mode 100644 vendor/monolog/monolog/.php_cs create mode 100644 vendor/monolog/monolog/CHANGELOG.md create mode 100644 vendor/monolog/monolog/LICENSE create mode 100644 vendor/monolog/monolog/README.md create mode 100644 vendor/monolog/monolog/composer.json create mode 100644 vendor/monolog/monolog/doc/01-usage.md create mode 100644 vendor/monolog/monolog/doc/02-handlers-formatters-processors.md create mode 100644 vendor/monolog/monolog/doc/03-utilities.md create mode 100644 vendor/monolog/monolog/doc/04-extending.md create mode 100644 vendor/monolog/monolog/doc/sockets.md create mode 100644 vendor/monolog/monolog/phpunit.xml.dist create mode 100644 vendor/monolog/monolog/src/Monolog/ErrorHandler.php create mode 100644 vendor/monolog/monolog/src/Monolog/Formatter/ChromePHPFormatter.php create mode 100644 vendor/monolog/monolog/src/Monolog/Formatter/ElasticaFormatter.php create mode 100644 vendor/monolog/monolog/src/Monolog/Formatter/FlowdockFormatter.php create mode 100644 vendor/monolog/monolog/src/Monolog/Formatter/FluentdFormatter.php create mode 100644 vendor/monolog/monolog/src/Monolog/Formatter/FormatterInterface.php create mode 100644 vendor/monolog/monolog/src/Monolog/Formatter/GelfMessageFormatter.php create mode 100644 vendor/monolog/monolog/src/Monolog/Formatter/HtmlFormatter.php create mode 100644 vendor/monolog/monolog/src/Monolog/Formatter/JsonFormatter.php create mode 100644 vendor/monolog/monolog/src/Monolog/Formatter/LineFormatter.php create mode 100644 vendor/monolog/monolog/src/Monolog/Formatter/LogglyFormatter.php create mode 100644 vendor/monolog/monolog/src/Monolog/Formatter/LogstashFormatter.php create mode 100644 vendor/monolog/monolog/src/Monolog/Formatter/MongoDBFormatter.php create mode 100644 vendor/monolog/monolog/src/Monolog/Formatter/NormalizerFormatter.php create mode 100644 vendor/monolog/monolog/src/Monolog/Formatter/ScalarFormatter.php create mode 100644 vendor/monolog/monolog/src/Monolog/Formatter/WildfireFormatter.php create mode 100644 vendor/monolog/monolog/src/Monolog/Handler/AbstractHandler.php create mode 100644 vendor/monolog/monolog/src/Monolog/Handler/AbstractProcessingHandler.php create mode 100644 vendor/monolog/monolog/src/Monolog/Handler/AbstractSyslogHandler.php create mode 100644 vendor/monolog/monolog/src/Monolog/Handler/AmqpHandler.php create mode 100644 vendor/monolog/monolog/src/Monolog/Handler/BrowserConsoleHandler.php create mode 100644 vendor/monolog/monolog/src/Monolog/Handler/BufferHandler.php create mode 100644 vendor/monolog/monolog/src/Monolog/Handler/ChromePHPHandler.php create mode 100644 vendor/monolog/monolog/src/Monolog/Handler/CouchDBHandler.php create mode 100644 vendor/monolog/monolog/src/Monolog/Handler/CubeHandler.php create mode 100644 vendor/monolog/monolog/src/Monolog/Handler/Curl/Util.php create mode 100644 vendor/monolog/monolog/src/Monolog/Handler/DeduplicationHandler.php create mode 100644 vendor/monolog/monolog/src/Monolog/Handler/DoctrineCouchDBHandler.php create mode 100644 vendor/monolog/monolog/src/Monolog/Handler/DynamoDbHandler.php create mode 100644 vendor/monolog/monolog/src/Monolog/Handler/ElasticSearchHandler.php create mode 100644 vendor/monolog/monolog/src/Monolog/Handler/ErrorLogHandler.php create mode 100644 vendor/monolog/monolog/src/Monolog/Handler/FilterHandler.php create mode 100644 vendor/monolog/monolog/src/Monolog/Handler/FingersCrossed/ActivationStrategyInterface.php create mode 100644 vendor/monolog/monolog/src/Monolog/Handler/FingersCrossed/ChannelLevelActivationStrategy.php create mode 100644 vendor/monolog/monolog/src/Monolog/Handler/FingersCrossed/ErrorLevelActivationStrategy.php create mode 100644 vendor/monolog/monolog/src/Monolog/Handler/FingersCrossedHandler.php create mode 100644 vendor/monolog/monolog/src/Monolog/Handler/FirePHPHandler.php create mode 100644 vendor/monolog/monolog/src/Monolog/Handler/FleepHookHandler.php create mode 100644 vendor/monolog/monolog/src/Monolog/Handler/FlowdockHandler.php create mode 100644 vendor/monolog/monolog/src/Monolog/Handler/GelfHandler.php create mode 100644 vendor/monolog/monolog/src/Monolog/Handler/GroupHandler.php create mode 100644 vendor/monolog/monolog/src/Monolog/Handler/HandlerInterface.php create mode 100644 vendor/monolog/monolog/src/Monolog/Handler/HandlerWrapper.php create mode 100644 vendor/monolog/monolog/src/Monolog/Handler/HipChatHandler.php create mode 100644 vendor/monolog/monolog/src/Monolog/Handler/IFTTTHandler.php create mode 100644 vendor/monolog/monolog/src/Monolog/Handler/LogEntriesHandler.php create mode 100644 vendor/monolog/monolog/src/Monolog/Handler/LogglyHandler.php create mode 100644 vendor/monolog/monolog/src/Monolog/Handler/MailHandler.php create mode 100644 vendor/monolog/monolog/src/Monolog/Handler/MandrillHandler.php create mode 100644 vendor/monolog/monolog/src/Monolog/Handler/MissingExtensionException.php create mode 100644 vendor/monolog/monolog/src/Monolog/Handler/MongoDBHandler.php create mode 100644 vendor/monolog/monolog/src/Monolog/Handler/NativeMailerHandler.php create mode 100644 vendor/monolog/monolog/src/Monolog/Handler/NewRelicHandler.php create mode 100644 vendor/monolog/monolog/src/Monolog/Handler/NullHandler.php create mode 100644 vendor/monolog/monolog/src/Monolog/Handler/PHPConsoleHandler.php create mode 100644 vendor/monolog/monolog/src/Monolog/Handler/PsrHandler.php create mode 100644 vendor/monolog/monolog/src/Monolog/Handler/PushoverHandler.php create mode 100644 vendor/monolog/monolog/src/Monolog/Handler/RavenHandler.php create mode 100644 vendor/monolog/monolog/src/Monolog/Handler/RedisHandler.php create mode 100644 vendor/monolog/monolog/src/Monolog/Handler/RollbarHandler.php create mode 100644 vendor/monolog/monolog/src/Monolog/Handler/RotatingFileHandler.php create mode 100644 vendor/monolog/monolog/src/Monolog/Handler/SamplingHandler.php create mode 100644 vendor/monolog/monolog/src/Monolog/Handler/Slack/SlackRecord.php create mode 100644 vendor/monolog/monolog/src/Monolog/Handler/SlackHandler.php create mode 100644 vendor/monolog/monolog/src/Monolog/Handler/SlackWebhookHandler.php create mode 100644 vendor/monolog/monolog/src/Monolog/Handler/SlackbotHandler.php create mode 100644 vendor/monolog/monolog/src/Monolog/Handler/SocketHandler.php create mode 100644 vendor/monolog/monolog/src/Monolog/Handler/StreamHandler.php create mode 100644 vendor/monolog/monolog/src/Monolog/Handler/SwiftMailerHandler.php create mode 100644 vendor/monolog/monolog/src/Monolog/Handler/SyslogHandler.php create mode 100644 vendor/monolog/monolog/src/Monolog/Handler/SyslogUdp/UdpSocket.php create mode 100644 vendor/monolog/monolog/src/Monolog/Handler/SyslogUdpHandler.php create mode 100644 vendor/monolog/monolog/src/Monolog/Handler/TestHandler.php create mode 100644 vendor/monolog/monolog/src/Monolog/Handler/WhatFailureGroupHandler.php create mode 100644 vendor/monolog/monolog/src/Monolog/Handler/ZendMonitorHandler.php create mode 100644 vendor/monolog/monolog/src/Monolog/Logger.php create mode 100644 vendor/monolog/monolog/src/Monolog/Processor/GitProcessor.php create mode 100644 vendor/monolog/monolog/src/Monolog/Processor/IntrospectionProcessor.php create mode 100644 vendor/monolog/monolog/src/Monolog/Processor/MemoryPeakUsageProcessor.php create mode 100644 vendor/monolog/monolog/src/Monolog/Processor/MemoryProcessor.php create mode 100644 vendor/monolog/monolog/src/Monolog/Processor/MemoryUsageProcessor.php create mode 100644 vendor/monolog/monolog/src/Monolog/Processor/MercurialProcessor.php create mode 100644 vendor/monolog/monolog/src/Monolog/Processor/ProcessIdProcessor.php create mode 100644 vendor/monolog/monolog/src/Monolog/Processor/PsrLogMessageProcessor.php create mode 100644 vendor/monolog/monolog/src/Monolog/Processor/TagProcessor.php create mode 100644 vendor/monolog/monolog/src/Monolog/Processor/UidProcessor.php create mode 100644 vendor/monolog/monolog/src/Monolog/Processor/WebProcessor.php create mode 100644 vendor/monolog/monolog/src/Monolog/Registry.php create mode 100644 vendor/monolog/monolog/tests/Monolog/ErrorHandlerTest.php create mode 100644 vendor/monolog/monolog/tests/Monolog/Formatter/ChromePHPFormatterTest.php create mode 100644 vendor/monolog/monolog/tests/Monolog/Formatter/ElasticaFormatterTest.php create mode 100644 vendor/monolog/monolog/tests/Monolog/Formatter/FlowdockFormatterTest.php create mode 100644 vendor/monolog/monolog/tests/Monolog/Formatter/FluentdFormatterTest.php create mode 100644 vendor/monolog/monolog/tests/Monolog/Formatter/GelfMessageFormatterTest.php create mode 100644 vendor/monolog/monolog/tests/Monolog/Formatter/JsonFormatterTest.php create mode 100644 vendor/monolog/monolog/tests/Monolog/Formatter/LineFormatterTest.php create mode 100644 vendor/monolog/monolog/tests/Monolog/Formatter/LogglyFormatterTest.php create mode 100644 vendor/monolog/monolog/tests/Monolog/Formatter/LogstashFormatterTest.php create mode 100644 vendor/monolog/monolog/tests/Monolog/Formatter/MongoDBFormatterTest.php create mode 100644 vendor/monolog/monolog/tests/Monolog/Formatter/NormalizerFormatterTest.php create mode 100644 vendor/monolog/monolog/tests/Monolog/Formatter/ScalarFormatterTest.php create mode 100644 vendor/monolog/monolog/tests/Monolog/Formatter/WildfireFormatterTest.php create mode 100644 vendor/monolog/monolog/tests/Monolog/Handler/AbstractHandlerTest.php create mode 100644 vendor/monolog/monolog/tests/Monolog/Handler/AbstractProcessingHandlerTest.php create mode 100644 vendor/monolog/monolog/tests/Monolog/Handler/AmqpHandlerTest.php create mode 100644 vendor/monolog/monolog/tests/Monolog/Handler/BrowserConsoleHandlerTest.php create mode 100644 vendor/monolog/monolog/tests/Monolog/Handler/BufferHandlerTest.php create mode 100644 vendor/monolog/monolog/tests/Monolog/Handler/ChromePHPHandlerTest.php create mode 100644 vendor/monolog/monolog/tests/Monolog/Handler/CouchDBHandlerTest.php create mode 100644 vendor/monolog/monolog/tests/Monolog/Handler/DeduplicationHandlerTest.php create mode 100644 vendor/monolog/monolog/tests/Monolog/Handler/DoctrineCouchDBHandlerTest.php create mode 100644 vendor/monolog/monolog/tests/Monolog/Handler/DynamoDbHandlerTest.php create mode 100644 vendor/monolog/monolog/tests/Monolog/Handler/ElasticSearchHandlerTest.php create mode 100644 vendor/monolog/monolog/tests/Monolog/Handler/ErrorLogHandlerTest.php create mode 100644 vendor/monolog/monolog/tests/Monolog/Handler/FilterHandlerTest.php create mode 100644 vendor/monolog/monolog/tests/Monolog/Handler/FingersCrossedHandlerTest.php create mode 100644 vendor/monolog/monolog/tests/Monolog/Handler/FirePHPHandlerTest.php create mode 100644 vendor/monolog/monolog/tests/Monolog/Handler/Fixtures/.gitkeep create mode 100644 vendor/monolog/monolog/tests/Monolog/Handler/FleepHookHandlerTest.php create mode 100644 vendor/monolog/monolog/tests/Monolog/Handler/FlowdockHandlerTest.php create mode 100644 vendor/monolog/monolog/tests/Monolog/Handler/GelfHandlerLegacyTest.php create mode 100644 vendor/monolog/monolog/tests/Monolog/Handler/GelfHandlerTest.php create mode 100644 vendor/monolog/monolog/tests/Monolog/Handler/GelfMockMessagePublisher.php create mode 100644 vendor/monolog/monolog/tests/Monolog/Handler/GroupHandlerTest.php create mode 100644 vendor/monolog/monolog/tests/Monolog/Handler/HandlerWrapperTest.php create mode 100644 vendor/monolog/monolog/tests/Monolog/Handler/HipChatHandlerTest.php create mode 100644 vendor/monolog/monolog/tests/Monolog/Handler/LogEntriesHandlerTest.php create mode 100644 vendor/monolog/monolog/tests/Monolog/Handler/MailHandlerTest.php create mode 100644 vendor/monolog/monolog/tests/Monolog/Handler/MockRavenClient.php create mode 100644 vendor/monolog/monolog/tests/Monolog/Handler/MongoDBHandlerTest.php create mode 100644 vendor/monolog/monolog/tests/Monolog/Handler/NativeMailerHandlerTest.php create mode 100644 vendor/monolog/monolog/tests/Monolog/Handler/NewRelicHandlerTest.php create mode 100644 vendor/monolog/monolog/tests/Monolog/Handler/NullHandlerTest.php create mode 100644 vendor/monolog/monolog/tests/Monolog/Handler/PHPConsoleHandlerTest.php create mode 100644 vendor/monolog/monolog/tests/Monolog/Handler/PsrHandlerTest.php create mode 100644 vendor/monolog/monolog/tests/Monolog/Handler/PushoverHandlerTest.php create mode 100644 vendor/monolog/monolog/tests/Monolog/Handler/RavenHandlerTest.php create mode 100644 vendor/monolog/monolog/tests/Monolog/Handler/RedisHandlerTest.php create mode 100644 vendor/monolog/monolog/tests/Monolog/Handler/RotatingFileHandlerTest.php create mode 100644 vendor/monolog/monolog/tests/Monolog/Handler/SamplingHandlerTest.php create mode 100644 vendor/monolog/monolog/tests/Monolog/Handler/Slack/SlackRecordTest.php create mode 100644 vendor/monolog/monolog/tests/Monolog/Handler/SlackHandlerTest.php create mode 100644 vendor/monolog/monolog/tests/Monolog/Handler/SlackWebhookHandlerTest.php create mode 100644 vendor/monolog/monolog/tests/Monolog/Handler/SlackbotHandlerTest.php create mode 100644 vendor/monolog/monolog/tests/Monolog/Handler/SocketHandlerTest.php create mode 100644 vendor/monolog/monolog/tests/Monolog/Handler/StreamHandlerTest.php create mode 100644 vendor/monolog/monolog/tests/Monolog/Handler/SwiftMailerHandlerTest.php create mode 100644 vendor/monolog/monolog/tests/Monolog/Handler/SyslogHandlerTest.php create mode 100644 vendor/monolog/monolog/tests/Monolog/Handler/SyslogUdpHandlerTest.php create mode 100644 vendor/monolog/monolog/tests/Monolog/Handler/TestHandlerTest.php create mode 100644 vendor/monolog/monolog/tests/Monolog/Handler/UdpSocketTest.php create mode 100644 vendor/monolog/monolog/tests/Monolog/Handler/WhatFailureGroupHandlerTest.php create mode 100644 vendor/monolog/monolog/tests/Monolog/Handler/ZendMonitorHandlerTest.php create mode 100644 vendor/monolog/monolog/tests/Monolog/LoggerTest.php create mode 100644 vendor/monolog/monolog/tests/Monolog/Processor/GitProcessorTest.php create mode 100644 vendor/monolog/monolog/tests/Monolog/Processor/IntrospectionProcessorTest.php create mode 100644 vendor/monolog/monolog/tests/Monolog/Processor/MemoryPeakUsageProcessorTest.php create mode 100644 vendor/monolog/monolog/tests/Monolog/Processor/MemoryUsageProcessorTest.php create mode 100644 vendor/monolog/monolog/tests/Monolog/Processor/MercurialProcessorTest.php create mode 100644 vendor/monolog/monolog/tests/Monolog/Processor/ProcessIdProcessorTest.php create mode 100644 vendor/monolog/monolog/tests/Monolog/Processor/PsrLogMessageProcessorTest.php create mode 100644 vendor/monolog/monolog/tests/Monolog/Processor/TagProcessorTest.php create mode 100644 vendor/monolog/monolog/tests/Monolog/Processor/UidProcessorTest.php create mode 100644 vendor/monolog/monolog/tests/Monolog/Processor/WebProcessorTest.php create mode 100644 vendor/monolog/monolog/tests/Monolog/PsrLogCompatTest.php create mode 100644 vendor/monolog/monolog/tests/Monolog/RegistryTest.php create mode 100644 vendor/monolog/monolog/tests/Monolog/TestCase.php create mode 100644 vendor/phpoffice/phpexcel/.gitattributes create mode 100644 vendor/phpoffice/phpexcel/.gitignore create mode 100644 vendor/phpoffice/phpexcel/.travis.yml create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel.php create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/Autoloader.php create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/CachedObjectStorage/APC.php create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/CachedObjectStorage/CacheBase.php create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/CachedObjectStorage/DiscISAM.php create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/CachedObjectStorage/ICache.php create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/CachedObjectStorage/Igbinary.php create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/CachedObjectStorage/Memcache.php create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/CachedObjectStorage/Memory.php create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/CachedObjectStorage/MemoryGZip.php create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/CachedObjectStorage/MemorySerialized.php create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/CachedObjectStorage/PHPTemp.php create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/CachedObjectStorage/SQLite.php create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/CachedObjectStorage/SQLite3.php create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/CachedObjectStorage/Wincache.php create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/CachedObjectStorageFactory.php create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/CalcEngine/CyclicReferenceStack.php create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/CalcEngine/Logger.php create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/Calculation.php create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/Calculation/Database.php create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/Calculation/DateTime.php create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/Calculation/Engineering.php create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/Calculation/Exception.php create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/Calculation/ExceptionHandler.php create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/Calculation/Financial.php create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/Calculation/FormulaParser.php create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/Calculation/FormulaToken.php create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/Calculation/Function.php create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/Calculation/Functions.php create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/Calculation/Logical.php create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/Calculation/LookupRef.php create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/Calculation/MathTrig.php create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/Calculation/Statistical.php create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/Calculation/TextData.php create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/Calculation/Token/Stack.php create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/Calculation/functionlist.txt create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/Cell.php create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/Cell/AdvancedValueBinder.php create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/Cell/DataType.php create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/Cell/DataValidation.php create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/Cell/DefaultValueBinder.php create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/Cell/Hyperlink.php create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/Cell/IValueBinder.php create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/Chart.php create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/Chart/Axis.php create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/Chart/DataSeries.php create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/Chart/DataSeriesValues.php create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/Chart/Exception.php create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/Chart/GridLines.php create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/Chart/Layout.php create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/Chart/Legend.php create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/Chart/PlotArea.php create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/Chart/Properties.php create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/Chart/Renderer/PHP Charting Libraries.txt create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/Chart/Renderer/jpgraph.php create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/Chart/Title.php create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/Comment.php create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/DocumentProperties.php create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/DocumentSecurity.php create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/Exception.php create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/HashTable.php create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/Helper/HTML.php create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/IComparable.php create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/IOFactory.php create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/NamedRange.php create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/Reader/Abstract.php create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/Reader/CSV.php create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/Reader/DefaultReadFilter.php create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/Reader/Excel2003XML.php create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/Reader/Excel2007.php create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/Reader/Excel2007/Chart.php create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/Reader/Excel2007/Theme.php create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/Reader/Excel5.php create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/Reader/Excel5/Escher.php create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/Reader/Excel5/MD5.php create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/Reader/Excel5/RC4.php create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/Reader/Exception.php create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/Reader/Gnumeric.php create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/Reader/HTML.php create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/Reader/IReadFilter.php create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/Reader/IReader.php create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/Reader/OOCalc.php create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/Reader/SYLK.php create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/ReferenceHelper.php create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/RichText.php create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/RichText/ITextElement.php create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/RichText/Run.php create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/RichText/TextElement.php create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/Settings.php create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/CodePage.php create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/Date.php create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/Drawing.php create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/Escher.php create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/Escher/DgContainer.php create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/Escher/DgContainer/SpgrContainer.php create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/Escher/DgContainer/SpgrContainer/SpContainer.php create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/Escher/DggContainer.php create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/Escher/DggContainer/BstoreContainer.php create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/Escher/DggContainer/BstoreContainer/BSE.php create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/Escher/DggContainer/BstoreContainer/BSE/Blip.php create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/Excel5.php create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/File.php create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/Font.php create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/JAMA/CHANGELOG.TXT create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/JAMA/CholeskyDecomposition.php create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/JAMA/EigenvalueDecomposition.php create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/JAMA/LUDecomposition.php create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/JAMA/Matrix.php create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/JAMA/QRDecomposition.php create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/JAMA/SingularValueDecomposition.php create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/JAMA/utils/Error.php create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/JAMA/utils/Maths.php create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/OLE.php create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/OLE/ChainedBlockStream.php create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/OLE/PPS.php create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/OLE/PPS/File.php create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/OLE/PPS/Root.php create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/OLERead.php create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/PCLZip/gnu-lgpl.txt create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/PCLZip/pclzip.lib.php create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/PCLZip/readme.txt create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/PasswordHasher.php create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/String.php create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/TimeZone.php create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/XMLWriter.php create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/ZipArchive.php create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/ZipStreamWrapper.php create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/trend/bestFitClass.php create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/trend/exponentialBestFitClass.php create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/trend/linearBestFitClass.php create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/trend/logarithmicBestFitClass.php create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/trend/polynomialBestFitClass.php create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/trend/powerBestFitClass.php create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/trend/trendClass.php create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/Style.php create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/Style/Alignment.php create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/Style/Border.php create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/Style/Borders.php create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/Style/Color.php create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/Style/Conditional.php create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/Style/Fill.php create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/Style/Font.php create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/Style/NumberFormat.php create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/Style/Protection.php create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/Style/Supervisor.php create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/Worksheet.php create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/Worksheet/AutoFilter.php create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/Worksheet/AutoFilter/Column.php create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/Worksheet/AutoFilter/Column/Rule.php create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/Worksheet/BaseDrawing.php create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/Worksheet/CellIterator.php create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/Worksheet/Column.php create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/Worksheet/ColumnCellIterator.php create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/Worksheet/ColumnDimension.php create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/Worksheet/ColumnIterator.php create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/Worksheet/Drawing.php create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/Worksheet/Drawing/Shadow.php create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/Worksheet/HeaderFooter.php create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/Worksheet/HeaderFooterDrawing.php create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/Worksheet/MemoryDrawing.php create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/Worksheet/PageMargins.php create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/Worksheet/PageSetup.php create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/Worksheet/Protection.php create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/Worksheet/Row.php create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/Worksheet/RowCellIterator.php create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/Worksheet/RowDimension.php create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/Worksheet/RowIterator.php create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/Worksheet/SheetView.php create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/WorksheetIterator.php create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/Abstract.php create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/CSV.php create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/Excel2007.php create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/Excel2007/Chart.php create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/Excel2007/Comments.php create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/Excel2007/ContentTypes.php create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/Excel2007/DocProps.php create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/Excel2007/Drawing.php create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/Excel2007/Rels.php create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/Excel2007/RelsRibbon.php create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/Excel2007/RelsVBA.php create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/Excel2007/StringTable.php create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/Excel2007/Style.php create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/Excel2007/Theme.php create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/Excel2007/Workbook.php create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/Excel2007/Worksheet.php create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/Excel2007/WriterPart.php create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/Excel5.php create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/Excel5/BIFFwriter.php create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/Excel5/Escher.php create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/Excel5/Font.php create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/Excel5/Parser.php create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/Excel5/Workbook.php create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/Excel5/Worksheet.php create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/Excel5/Xf.php create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/Exception.php create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/HTML.php create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/IWriter.php create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/OpenDocument.php create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/OpenDocument/Cell/Comment.php create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/OpenDocument/Content.php create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/OpenDocument/Meta.php create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/OpenDocument/MetaInf.php create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/OpenDocument/Mimetype.php create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/OpenDocument/Settings.php create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/OpenDocument/Styles.php create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/OpenDocument/Thumbnails.php create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/OpenDocument/WriterPart.php create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/PDF.php create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/PDF/Core.php create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/PDF/DomPDF.php create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/PDF/mPDF.php create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/PDF/tcPDF.php create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/locale/bg/config create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/locale/cs/config create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/locale/cs/functions create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/locale/da/config create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/locale/da/functions create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/locale/de/config create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/locale/de/functions create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/locale/en/uk/config create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/locale/es/config create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/locale/es/functions create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/locale/fi/config create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/locale/fi/functions create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/locale/fr/config create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/locale/fr/functions create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/locale/hu/config create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/locale/hu/functions create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/locale/it/config create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/locale/it/functions create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/locale/nl/config create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/locale/nl/functions create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/locale/no/config create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/locale/no/functions create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/locale/pl/config create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/locale/pl/functions create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/locale/pt/br/config create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/locale/pt/br/functions create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/locale/pt/config create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/locale/pt/functions create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/locale/ru/config create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/locale/ru/functions create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/locale/sv/config create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/locale/sv/functions create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/locale/tr/config create mode 100644 vendor/phpoffice/phpexcel/Classes/PHPExcel/locale/tr/functions create mode 100644 vendor/phpoffice/phpexcel/Examples/.gitignore create mode 100644 vendor/phpoffice/phpexcel/Examples/01pharSimple.php create mode 100644 vendor/phpoffice/phpexcel/Examples/01simple-download-ods.php create mode 100644 vendor/phpoffice/phpexcel/Examples/01simple-download-pdf.php create mode 100644 vendor/phpoffice/phpexcel/Examples/01simple-download-xls.php create mode 100644 vendor/phpoffice/phpexcel/Examples/01simple-download-xlsx.php create mode 100644 vendor/phpoffice/phpexcel/Examples/01simple.php create mode 100644 vendor/phpoffice/phpexcel/Examples/01simplePCLZip.php create mode 100644 vendor/phpoffice/phpexcel/Examples/02types-xls.php create mode 100644 vendor/phpoffice/phpexcel/Examples/02types.php create mode 100644 vendor/phpoffice/phpexcel/Examples/03formulas.php create mode 100644 vendor/phpoffice/phpexcel/Examples/04printing.php create mode 100644 vendor/phpoffice/phpexcel/Examples/05featuredemo.inc.php create mode 100644 vendor/phpoffice/phpexcel/Examples/05featuredemo.php create mode 100644 vendor/phpoffice/phpexcel/Examples/06largescale-with-cellcaching-sqlite.php create mode 100644 vendor/phpoffice/phpexcel/Examples/06largescale-with-cellcaching-sqlite3.php create mode 100644 vendor/phpoffice/phpexcel/Examples/06largescale-with-cellcaching.php create mode 100644 vendor/phpoffice/phpexcel/Examples/06largescale-xls.php create mode 100644 vendor/phpoffice/phpexcel/Examples/06largescale.php create mode 100644 vendor/phpoffice/phpexcel/Examples/07reader.php create mode 100644 vendor/phpoffice/phpexcel/Examples/07readerPCLZip.php create mode 100644 vendor/phpoffice/phpexcel/Examples/08conditionalformatting.php create mode 100644 vendor/phpoffice/phpexcel/Examples/08conditionalformatting2.php create mode 100644 vendor/phpoffice/phpexcel/Examples/09pagebreaks.php create mode 100644 vendor/phpoffice/phpexcel/Examples/10autofilter-selection-1.php create mode 100644 vendor/phpoffice/phpexcel/Examples/10autofilter-selection-2.php create mode 100644 vendor/phpoffice/phpexcel/Examples/10autofilter-selection-display.php create mode 100644 vendor/phpoffice/phpexcel/Examples/10autofilter.php create mode 100644 vendor/phpoffice/phpexcel/Examples/11documentsecurity-xls.php create mode 100644 vendor/phpoffice/phpexcel/Examples/11documentsecurity.php create mode 100644 vendor/phpoffice/phpexcel/Examples/12cellProtection.php create mode 100644 vendor/phpoffice/phpexcel/Examples/13calculation.php create mode 100644 vendor/phpoffice/phpexcel/Examples/14excel5.php create mode 100644 vendor/phpoffice/phpexcel/Examples/15datavalidation-xls.php create mode 100644 vendor/phpoffice/phpexcel/Examples/15datavalidation.php create mode 100644 vendor/phpoffice/phpexcel/Examples/16csv.php create mode 100644 vendor/phpoffice/phpexcel/Examples/17html.php create mode 100644 vendor/phpoffice/phpexcel/Examples/18extendedcalculation.php create mode 100644 vendor/phpoffice/phpexcel/Examples/19namedrange.php create mode 100644 vendor/phpoffice/phpexcel/Examples/20readexcel5.php create mode 100644 vendor/phpoffice/phpexcel/Examples/21pdf.php create mode 100644 vendor/phpoffice/phpexcel/Examples/22heavilyformatted.php create mode 100644 vendor/phpoffice/phpexcel/Examples/23sharedstyles.php create mode 100644 vendor/phpoffice/phpexcel/Examples/24readfilter.php create mode 100644 vendor/phpoffice/phpexcel/Examples/25inmemoryimage.php create mode 100644 vendor/phpoffice/phpexcel/Examples/26utf8.php create mode 100644 vendor/phpoffice/phpexcel/Examples/27imagesexcel5.php create mode 100644 vendor/phpoffice/phpexcel/Examples/28iterator.php create mode 100644 vendor/phpoffice/phpexcel/Examples/29advancedvaluebinder.php create mode 100644 vendor/phpoffice/phpexcel/Examples/30template.php create mode 100644 vendor/phpoffice/phpexcel/Examples/31docproperties_write-xls.php create mode 100644 vendor/phpoffice/phpexcel/Examples/31docproperties_write.php create mode 100644 vendor/phpoffice/phpexcel/Examples/32chartreadwrite.php create mode 100644 vendor/phpoffice/phpexcel/Examples/33chartcreate-area.php create mode 100644 vendor/phpoffice/phpexcel/Examples/33chartcreate-bar-stacked.php create mode 100644 vendor/phpoffice/phpexcel/Examples/33chartcreate-bar.php create mode 100644 vendor/phpoffice/phpexcel/Examples/33chartcreate-column-2.php create mode 100644 vendor/phpoffice/phpexcel/Examples/33chartcreate-column.php create mode 100644 vendor/phpoffice/phpexcel/Examples/33chartcreate-composite.php create mode 100644 vendor/phpoffice/phpexcel/Examples/33chartcreate-line.php create mode 100644 vendor/phpoffice/phpexcel/Examples/33chartcreate-multiple-charts.php create mode 100644 vendor/phpoffice/phpexcel/Examples/33chartcreate-pie.php create mode 100644 vendor/phpoffice/phpexcel/Examples/33chartcreate-radar.php create mode 100644 vendor/phpoffice/phpexcel/Examples/33chartcreate-scatter.php create mode 100644 vendor/phpoffice/phpexcel/Examples/33chartcreate-stock.php create mode 100644 vendor/phpoffice/phpexcel/Examples/34chartupdate.php create mode 100644 vendor/phpoffice/phpexcel/Examples/35chartrender.php create mode 100644 vendor/phpoffice/phpexcel/Examples/36chartreadwriteHTML.php create mode 100644 vendor/phpoffice/phpexcel/Examples/36chartreadwritePDF.php create mode 100644 vendor/phpoffice/phpexcel/Examples/37page_layout_view.php create mode 100644 vendor/phpoffice/phpexcel/Examples/38cloneWorksheet.php create mode 100644 vendor/phpoffice/phpexcel/Examples/39dropdown.php create mode 100644 vendor/phpoffice/phpexcel/Examples/40duplicateStyle.php create mode 100644 vendor/phpoffice/phpexcel/Examples/41password.php create mode 100644 vendor/phpoffice/phpexcel/Examples/42richText.php create mode 100644 vendor/phpoffice/phpexcel/Examples/Excel2003XMLReader.php create mode 100644 vendor/phpoffice/phpexcel/Examples/Excel2003XMLTest.xml create mode 100644 vendor/phpoffice/phpexcel/Examples/GnumericReader.php create mode 100644 vendor/phpoffice/phpexcel/Examples/GnumericTest.gnumeric create mode 100644 vendor/phpoffice/phpexcel/Examples/OOCalcReader.php create mode 100644 vendor/phpoffice/phpexcel/Examples/OOCalcReaderPCLZip.php create mode 100644 vendor/phpoffice/phpexcel/Examples/OOCalcTest.ods create mode 100644 vendor/phpoffice/phpexcel/Examples/Quadratic.php create mode 100644 vendor/phpoffice/phpexcel/Examples/Quadratic2.php create mode 100644 vendor/phpoffice/phpexcel/Examples/SylkReader.php create mode 100644 vendor/phpoffice/phpexcel/Examples/SylkTest.slk create mode 100644 vendor/phpoffice/phpexcel/Examples/XMLReader.php create mode 100644 vendor/phpoffice/phpexcel/Examples/XMLTest.xml create mode 100644 vendor/phpoffice/phpexcel/Examples/data/continents/Africa.txt create mode 100644 vendor/phpoffice/phpexcel/Examples/data/continents/Asia.txt create mode 100644 vendor/phpoffice/phpexcel/Examples/data/continents/Europe.txt create mode 100644 vendor/phpoffice/phpexcel/Examples/data/continents/North America.txt create mode 100644 vendor/phpoffice/phpexcel/Examples/data/continents/Oceania.txt create mode 100644 vendor/phpoffice/phpexcel/Examples/data/continents/South America.txt create mode 100644 vendor/phpoffice/phpexcel/Examples/images/officelogo.jpg create mode 100644 vendor/phpoffice/phpexcel/Examples/images/paid.png create mode 100644 vendor/phpoffice/phpexcel/Examples/images/phpexcel_logo.gif create mode 100644 vendor/phpoffice/phpexcel/Examples/images/termsconditions.jpg create mode 100644 vendor/phpoffice/phpexcel/Examples/runall.php create mode 100644 vendor/phpoffice/phpexcel/changelog.txt create mode 100644 vendor/phpoffice/phpexcel/composer.json create mode 100644 vendor/phpoffice/phpexcel/install.txt create mode 100644 vendor/phpoffice/phpexcel/license.md create mode 100644 vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/AutoloaderTest.php create mode 100644 vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Calculation/DateTimeTest.php create mode 100644 vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Calculation/EngineeringTest.php create mode 100644 vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Calculation/FinancialTest.php create mode 100644 vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Calculation/FunctionsTest.php create mode 100644 vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Calculation/LogicalTest.php create mode 100644 vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Calculation/LookupRefTest.php create mode 100644 vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Calculation/MathTrigTest.php create mode 100644 vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Calculation/TextDataTest.php create mode 100644 vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/CalculationTest.php create mode 100644 vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Cell/AdvancedValueBinderTest.php create mode 100644 vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Cell/DataTypeTest.php create mode 100644 vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Cell/DefaultValueBinderTest.php create mode 100644 vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Cell/HyperlinkTest.php create mode 100644 vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/CellTest.php create mode 100644 vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Chart/DataSeriesValuesTest.php create mode 100644 vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Chart/LayoutTest.php create mode 100644 vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Chart/LegendTest.php create mode 100644 vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Reader/XEEValidatorTest.php create mode 100644 vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/ReferenceHelperTest.php create mode 100644 vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Shared/CodePageTest.php create mode 100644 vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Shared/DateTest.php create mode 100644 vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Shared/FileTest.php create mode 100644 vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Shared/FontTest.php create mode 100644 vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Shared/PasswordHasherTest.php create mode 100644 vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Shared/StringTest.php create mode 100644 vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Shared/TimeZoneTest.php create mode 100644 vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Style/ColorTest.php create mode 100644 vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Style/NumberFormatTest.php create mode 100644 vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Worksheet/AutoFilter/Column/RuleTest.php create mode 100644 vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Worksheet/AutoFilter/ColumnTest.php create mode 100644 vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Worksheet/AutoFilterTest.php create mode 100644 vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Worksheet/CellCollectionTest.php create mode 100644 vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Worksheet/ColumnCellIteratorTest.php create mode 100644 vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Worksheet/ColumnIteratorTest.php create mode 100644 vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Worksheet/RowCellIteratorTest.php create mode 100644 vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Worksheet/RowIteratorTest.php create mode 100644 vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Worksheet/WorksheetColumnTest.php create mode 100644 vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Worksheet/WorksheetRowTest.php create mode 100644 vendor/phpoffice/phpexcel/unitTests/bootstrap.php create mode 100644 vendor/phpoffice/phpexcel/unitTests/custom/Complex.php create mode 100644 vendor/phpoffice/phpexcel/unitTests/custom/complexAssert.php create mode 100644 vendor/phpoffice/phpexcel/unitTests/phpunit-cc.xml create mode 100644 vendor/phpoffice/phpexcel/unitTests/phpunit.xml create mode 100644 vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/DateTime/DATE.data create mode 100644 vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/DateTime/DATEDIF.data create mode 100644 vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/DateTime/DATEVALUE.data create mode 100644 vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/DateTime/DAY.data create mode 100644 vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/DateTime/DAYS360.data create mode 100644 vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/DateTime/EDATE.data create mode 100644 vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/DateTime/EOMONTH.data create mode 100644 vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/DateTime/HOUR.data create mode 100644 vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/DateTime/MINUTE.data create mode 100644 vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/DateTime/MONTH.data create mode 100644 vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/DateTime/NETWORKDAYS.data create mode 100644 vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/DateTime/SECOND.data create mode 100644 vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/DateTime/TIME.data create mode 100644 vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/DateTime/TIMEVALUE.data create mode 100644 vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/DateTime/WEEKDAY.data create mode 100644 vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/DateTime/WEEKNUM.data create mode 100644 vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/DateTime/WORKDAY.data create mode 100644 vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/DateTime/YEAR.data create mode 100644 vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/DateTime/YEARFRAC.data create mode 100644 vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/BESSELI.data create mode 100644 vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/BESSELJ.data create mode 100644 vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/BESSELK.data create mode 100644 vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/BESSELY.data create mode 100644 vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/BIN2DEC.data create mode 100644 vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/BIN2HEX.data create mode 100644 vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/BIN2OCT.data create mode 100644 vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/COMPLEX.data create mode 100644 vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/CONVERTUOM.data create mode 100644 vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/DEC2BIN.data create mode 100644 vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/DEC2HEX.data create mode 100644 vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/DEC2OCT.data create mode 100644 vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/DELTA.data create mode 100644 vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/ERF.data create mode 100644 vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/ERFC.data create mode 100644 vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/GESTEP.data create mode 100644 vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/HEX2BIN.data create mode 100644 vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/HEX2DEC.data create mode 100644 vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/HEX2OCT.data create mode 100644 vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/IMABS.data create mode 100644 vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/IMAGINARY.data create mode 100644 vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/IMARGUMENT.data create mode 100644 vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/IMCONJUGATE.data create mode 100644 vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/IMCOS.data create mode 100644 vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/IMDIV.data create mode 100644 vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/IMEXP.data create mode 100644 vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/IMLN.data create mode 100644 vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/IMLOG10.data create mode 100644 vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/IMLOG2.data create mode 100644 vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/IMPOWER.data create mode 100644 vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/IMPRODUCT.data create mode 100644 vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/IMREAL.data create mode 100644 vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/IMSIN.data create mode 100644 vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/IMSQRT.data create mode 100644 vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/IMSUB.data create mode 100644 vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/IMSUM.data create mode 100644 vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/OCT2BIN.data create mode 100644 vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/OCT2DEC.data create mode 100644 vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/OCT2HEX.data create mode 100644 vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Financial/ACCRINT.data create mode 100644 vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Financial/ACCRINTM.data create mode 100644 vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Financial/AMORDEGRC.data create mode 100644 vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Financial/AMORLINC.data create mode 100644 vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Financial/COUPDAYBS.data create mode 100644 vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Financial/COUPDAYS.data create mode 100644 vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Financial/COUPDAYSNC.data create mode 100644 vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Financial/COUPNCD.data create mode 100644 vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Financial/COUPNUM.data create mode 100644 vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Financial/COUPPCD.data create mode 100644 vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Financial/CUMIPMT.data create mode 100644 vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Financial/CUMPRINC.data create mode 100644 vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Financial/DB.data create mode 100644 vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Financial/DDB.data create mode 100644 vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Financial/DISC.data create mode 100644 vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Financial/DOLLARDE.data create mode 100644 vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Financial/DOLLARFR.data create mode 100644 vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Financial/EFFECT.data create mode 100644 vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Financial/FV.data create mode 100644 vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Financial/FVSCHEDULE.data create mode 100644 vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Financial/INTRATE.data create mode 100644 vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Financial/IPMT.data create mode 100644 vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Financial/IRR.data create mode 100644 vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Financial/ISPMT.data create mode 100644 vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Financial/MIRR.data create mode 100644 vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Financial/NOMINAL.data create mode 100644 vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Financial/NPER.data create mode 100644 vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Financial/NPV.data create mode 100644 vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Financial/PRICE.data create mode 100644 vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Financial/RATE.data create mode 100644 vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Financial/XIRR.data create mode 100644 vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Functions/ERROR_TYPE.data create mode 100644 vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Functions/IS_BLANK.data create mode 100644 vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Functions/IS_ERR.data create mode 100644 vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Functions/IS_ERROR.data create mode 100644 vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Functions/IS_EVEN.data create mode 100644 vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Functions/IS_LOGICAL.data create mode 100644 vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Functions/IS_NA.data create mode 100644 vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Functions/IS_NONTEXT.data create mode 100644 vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Functions/IS_NUMBER.data create mode 100644 vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Functions/IS_ODD.data create mode 100644 vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Functions/IS_TEXT.data create mode 100644 vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Functions/N.data create mode 100644 vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Functions/TYPE.data create mode 100644 vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Logical/AND.data create mode 100644 vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Logical/IF.data create mode 100644 vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Logical/IFERROR.data create mode 100644 vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Logical/NOT.data create mode 100644 vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Logical/OR.data create mode 100644 vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/LookupRef/HLOOKUP.data create mode 100644 vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/LookupRef/VLOOKUP.data create mode 100644 vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/MathTrig/ATAN2.data create mode 100644 vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/MathTrig/CEILING.data create mode 100644 vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/MathTrig/COMBIN.data create mode 100644 vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/MathTrig/EVEN.data create mode 100644 vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/MathTrig/FACT.data create mode 100644 vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/MathTrig/FACTDOUBLE.data create mode 100644 vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/MathTrig/FLOOR.data create mode 100644 vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/MathTrig/GCD.data create mode 100644 vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/MathTrig/INT.data create mode 100644 vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/MathTrig/LCM.data create mode 100644 vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/MathTrig/LOG.data create mode 100644 vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/MathTrig/MDETERM.data create mode 100644 vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/MathTrig/MINVERSE.data create mode 100644 vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/MathTrig/MMULT.data create mode 100644 vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/MathTrig/MOD.data create mode 100644 vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/MathTrig/MROUND.data create mode 100644 vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/MathTrig/MULTINOMIAL.data create mode 100644 vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/MathTrig/ODD.data create mode 100644 vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/MathTrig/POWER.data create mode 100644 vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/MathTrig/PRODUCT.data create mode 100644 vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/MathTrig/QUOTIENT.data create mode 100644 vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/MathTrig/ROMAN.data create mode 100644 vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/MathTrig/ROUNDDOWN.data create mode 100644 vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/MathTrig/ROUNDUP.data create mode 100644 vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/MathTrig/SERIESSUM.data create mode 100644 vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/MathTrig/SIGN.data create mode 100644 vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/MathTrig/SQRTPI.data create mode 100644 vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/MathTrig/SUMSQ.data create mode 100644 vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/MathTrig/TRUNC.data create mode 100644 vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/TextData/CHAR.data create mode 100644 vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/TextData/CLEAN.data create mode 100644 vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/TextData/CODE.data create mode 100644 vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/TextData/CONCATENATE.data create mode 100644 vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/TextData/DOLLAR.data create mode 100644 vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/TextData/FIND.data create mode 100644 vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/TextData/FIXED.data create mode 100644 vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/TextData/LEFT.data create mode 100644 vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/TextData/LEN.data create mode 100644 vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/TextData/LOWER.data create mode 100644 vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/TextData/MID.data create mode 100644 vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/TextData/PROPER.data create mode 100644 vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/TextData/REPLACE.data create mode 100644 vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/TextData/RIGHT.data create mode 100644 vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/TextData/SEARCH.data create mode 100644 vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/TextData/SUBSTITUTE.data create mode 100644 vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/TextData/T.data create mode 100644 vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/TextData/TEXT.data create mode 100644 vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/TextData/TRIM.data create mode 100644 vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/TextData/UPPER.data create mode 100644 vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/TextData/VALUE.data create mode 100644 vendor/phpoffice/phpexcel/unitTests/rawTestData/CalculationBinaryComparisonOperation.data create mode 100644 vendor/phpoffice/phpexcel/unitTests/rawTestData/Cell/DefaultValueBinder.data create mode 100644 vendor/phpoffice/phpexcel/unitTests/rawTestData/CellAbsoluteCoordinate.data create mode 100644 vendor/phpoffice/phpexcel/unitTests/rawTestData/CellAbsoluteReference.data create mode 100644 vendor/phpoffice/phpexcel/unitTests/rawTestData/CellBuildRange.data create mode 100644 vendor/phpoffice/phpexcel/unitTests/rawTestData/CellCoordinates.data create mode 100644 vendor/phpoffice/phpexcel/unitTests/rawTestData/CellExtractAllCellReferencesInRange.data create mode 100644 vendor/phpoffice/phpexcel/unitTests/rawTestData/CellGetRangeBoundaries.data create mode 100644 vendor/phpoffice/phpexcel/unitTests/rawTestData/CellRangeBoundaries.data create mode 100644 vendor/phpoffice/phpexcel/unitTests/rawTestData/CellRangeDimension.data create mode 100644 vendor/phpoffice/phpexcel/unitTests/rawTestData/CellSplitRange.data create mode 100644 vendor/phpoffice/phpexcel/unitTests/rawTestData/ColumnIndex.data create mode 100644 vendor/phpoffice/phpexcel/unitTests/rawTestData/ColumnString.data create mode 100644 vendor/phpoffice/phpexcel/unitTests/rawTestData/Reader/XEETestInvalidUTF-16.xml create mode 100644 vendor/phpoffice/phpexcel/unitTests/rawTestData/Reader/XEETestInvalidUTF-16BE.xml create mode 100644 vendor/phpoffice/phpexcel/unitTests/rawTestData/Reader/XEETestInvalidUTF-16LE.xml create mode 100644 vendor/phpoffice/phpexcel/unitTests/rawTestData/Reader/XEETestInvalidUTF-8.xml create mode 100644 vendor/phpoffice/phpexcel/unitTests/rawTestData/Reader/XEETestValidUTF-16.xml create mode 100644 vendor/phpoffice/phpexcel/unitTests/rawTestData/Reader/XEETestValidUTF-16BE.xml create mode 100644 vendor/phpoffice/phpexcel/unitTests/rawTestData/Reader/XEETestValidUTF-16LE.xml create mode 100644 vendor/phpoffice/phpexcel/unitTests/rawTestData/Reader/XEETestValidUTF-8.xml create mode 100644 vendor/phpoffice/phpexcel/unitTests/rawTestData/Shared/CentimeterSizeToPixels.data create mode 100644 vendor/phpoffice/phpexcel/unitTests/rawTestData/Shared/CodePage.data create mode 100644 vendor/phpoffice/phpexcel/unitTests/rawTestData/Shared/DateTimeExcelToPHP1900.data create mode 100644 vendor/phpoffice/phpexcel/unitTests/rawTestData/Shared/DateTimeExcelToPHP1900Timezone.data create mode 100644 vendor/phpoffice/phpexcel/unitTests/rawTestData/Shared/DateTimeExcelToPHP1904.data create mode 100644 vendor/phpoffice/phpexcel/unitTests/rawTestData/Shared/DateTimeFormatCodes.data create mode 100644 vendor/phpoffice/phpexcel/unitTests/rawTestData/Shared/DateTimeFormattedPHPToExcel1900.data create mode 100644 vendor/phpoffice/phpexcel/unitTests/rawTestData/Shared/DateTimePHPToExcel1900.data create mode 100644 vendor/phpoffice/phpexcel/unitTests/rawTestData/Shared/DateTimePHPToExcel1904.data create mode 100644 vendor/phpoffice/phpexcel/unitTests/rawTestData/Shared/FontSizeToPixels.data create mode 100644 vendor/phpoffice/phpexcel/unitTests/rawTestData/Shared/InchSizeToPixels.data create mode 100644 vendor/phpoffice/phpexcel/unitTests/rawTestData/Shared/PasswordHashes.data create mode 100644 vendor/phpoffice/phpexcel/unitTests/rawTestData/Style/ColorChangeBrightness.data create mode 100644 vendor/phpoffice/phpexcel/unitTests/rawTestData/Style/ColorGetBlue.data create mode 100644 vendor/phpoffice/phpexcel/unitTests/rawTestData/Style/ColorGetGreen.data create mode 100644 vendor/phpoffice/phpexcel/unitTests/rawTestData/Style/ColorGetRed.data create mode 100644 vendor/phpoffice/phpexcel/unitTests/rawTestData/Style/NumberFormat.data create mode 100644 vendor/phpoffice/phpexcel/unitTests/testDataFileIterator.php create mode 100644 vendor/phpseclib/phpseclib/AUTHORS create mode 100644 vendor/phpseclib/phpseclib/LICENSE create mode 100644 vendor/phpseclib/phpseclib/README.md create mode 100644 vendor/phpseclib/phpseclib/composer.json create mode 100644 vendor/phpseclib/phpseclib/composer.lock create mode 100644 vendor/phpseclib/phpseclib/phpseclib/Crypt/AES.php create mode 100644 vendor/phpseclib/phpseclib/phpseclib/Crypt/Base.php create mode 100644 vendor/phpseclib/phpseclib/phpseclib/Crypt/Blowfish.php create mode 100644 vendor/phpseclib/phpseclib/phpseclib/Crypt/DES.php create mode 100644 vendor/phpseclib/phpseclib/phpseclib/Crypt/Hash.php create mode 100644 vendor/phpseclib/phpseclib/phpseclib/Crypt/RC2.php create mode 100644 vendor/phpseclib/phpseclib/phpseclib/Crypt/RC4.php create mode 100644 vendor/phpseclib/phpseclib/phpseclib/Crypt/RSA.php create mode 100644 vendor/phpseclib/phpseclib/phpseclib/Crypt/Random.php create mode 100644 vendor/phpseclib/phpseclib/phpseclib/Crypt/Rijndael.php create mode 100644 vendor/phpseclib/phpseclib/phpseclib/Crypt/TripleDES.php create mode 100644 vendor/phpseclib/phpseclib/phpseclib/Crypt/Twofish.php create mode 100644 vendor/phpseclib/phpseclib/phpseclib/File/ANSI.php create mode 100644 vendor/phpseclib/phpseclib/phpseclib/File/ASN1.php create mode 100644 vendor/phpseclib/phpseclib/phpseclib/File/ASN1/Element.php create mode 100644 vendor/phpseclib/phpseclib/phpseclib/File/X509.php create mode 100644 vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger.php create mode 100644 vendor/phpseclib/phpseclib/phpseclib/Net/SCP.php create mode 100644 vendor/phpseclib/phpseclib/phpseclib/Net/SFTP.php create mode 100644 vendor/phpseclib/phpseclib/phpseclib/Net/SFTP/Stream.php create mode 100644 vendor/phpseclib/phpseclib/phpseclib/Net/SSH1.php create mode 100644 vendor/phpseclib/phpseclib/phpseclib/Net/SSH2.php create mode 100644 vendor/phpseclib/phpseclib/phpseclib/System/SSH/Agent.php create mode 100644 vendor/phpseclib/phpseclib/phpseclib/System/SSH/Agent/Identity.php create mode 100644 vendor/phpseclib/phpseclib/phpseclib/bootstrap.php create mode 100644 vendor/phpseclib/phpseclib/phpseclib/openssl.cnf create mode 100644 vendor/psr/cache/CHANGELOG.md create mode 100644 vendor/psr/cache/LICENSE.txt create mode 100644 vendor/psr/cache/README.md create mode 100644 vendor/psr/cache/composer.json create mode 100644 vendor/psr/cache/src/CacheException.php create mode 100644 vendor/psr/cache/src/CacheItemInterface.php create mode 100644 vendor/psr/cache/src/CacheItemPoolInterface.php create mode 100644 vendor/psr/cache/src/InvalidArgumentException.php create mode 100644 vendor/psr/http-message/CHANGELOG.md create mode 100644 vendor/psr/http-message/LICENSE create mode 100644 vendor/psr/http-message/README.md create mode 100644 vendor/psr/http-message/composer.json create mode 100644 vendor/psr/http-message/src/MessageInterface.php create mode 100644 vendor/psr/http-message/src/RequestInterface.php create mode 100644 vendor/psr/http-message/src/ResponseInterface.php create mode 100644 vendor/psr/http-message/src/ServerRequestInterface.php create mode 100644 vendor/psr/http-message/src/StreamInterface.php create mode 100644 vendor/psr/http-message/src/UploadedFileInterface.php create mode 100644 vendor/psr/http-message/src/UriInterface.php create mode 100644 vendor/psr/log/.gitignore create mode 100644 vendor/psr/log/LICENSE create mode 100644 vendor/psr/log/Psr/Log/AbstractLogger.php create mode 100644 vendor/psr/log/Psr/Log/InvalidArgumentException.php create mode 100644 vendor/psr/log/Psr/Log/LogLevel.php create mode 100644 vendor/psr/log/Psr/Log/LoggerAwareInterface.php create mode 100644 vendor/psr/log/Psr/Log/LoggerAwareTrait.php create mode 100644 vendor/psr/log/Psr/Log/LoggerInterface.php create mode 100644 vendor/psr/log/Psr/Log/LoggerTrait.php create mode 100644 vendor/psr/log/Psr/Log/NullLogger.php create mode 100644 vendor/psr/log/Psr/Log/Test/LoggerInterfaceTest.php create mode 100644 vendor/psr/log/README.md create mode 100644 vendor/psr/log/composer.json create mode 100644 vendor/stefangabos/zebra_form/README.md create mode 100644 vendor/stefangabos/zebra_form/Zebra_Form.php create mode 100644 vendor/stefangabos/zebra_form/changelog.txt create mode 100644 vendor/stefangabos/zebra_form/composer.json create mode 100644 vendor/stefangabos/zebra_form/documentation.txt create mode 100644 vendor/stefangabos/zebra_form/examples/includes/contact-custom.php create mode 100644 vendor/stefangabos/zebra_form/examples/includes/contact-horizontal.php create mode 100644 vendor/stefangabos/zebra_form/examples/includes/contact-vertical.php create mode 100644 vendor/stefangabos/zebra_form/examples/includes/container-html/container.html create mode 100644 vendor/stefangabos/zebra_form/examples/includes/custom-templates/contact.php create mode 100644 vendor/stefangabos/zebra_form/examples/includes/custom-templates/divs-login.php create mode 100644 vendor/stefangabos/zebra_form/examples/includes/custom-templates/example1-dependencies.php create mode 100644 vendor/stefangabos/zebra_form/examples/includes/custom-templates/example2-dependencies.php create mode 100644 vendor/stefangabos/zebra_form/examples/includes/custom-templates/registration.php create mode 100644 vendor/stefangabos/zebra_form/examples/includes/custom-templates/reservation.php create mode 100644 vendor/stefangabos/zebra_form/examples/includes/custom-templates/tables-login.php create mode 100644 vendor/stefangabos/zebra_form/examples/includes/dependencies-example1-custom.php create mode 100644 vendor/stefangabos/zebra_form/examples/includes/dependencies-example2-custom.php create mode 100644 vendor/stefangabos/zebra_form/examples/includes/fileupload-basic-image-vertical.php create mode 100644 vendor/stefangabos/zebra_form/examples/includes/fileupload-basic-vertical.php create mode 100644 vendor/stefangabos/zebra_form/examples/includes/login-divs-custom.php create mode 100644 vendor/stefangabos/zebra_form/examples/includes/login-horizontal.php create mode 100644 vendor/stefangabos/zebra_form/examples/includes/login-labels-inside.php create mode 100644 vendor/stefangabos/zebra_form/examples/includes/login-tables-custom.php create mode 100644 vendor/stefangabos/zebra_form/examples/includes/login-vertical.php create mode 100644 vendor/stefangabos/zebra_form/examples/includes/registration-custom.php create mode 100644 vendor/stefangabos/zebra_form/examples/includes/registration-horizontal.php create mode 100644 vendor/stefangabos/zebra_form/examples/includes/registration-vertical.php create mode 100644 vendor/stefangabos/zebra_form/examples/includes/reservation-autofill-vertical.php create mode 100644 vendor/stefangabos/zebra_form/examples/includes/reservation-custom.php create mode 100644 vendor/stefangabos/zebra_form/examples/includes/reservation-horizontal.php create mode 100644 vendor/stefangabos/zebra_form/examples/includes/reservation-vertical.php create mode 100644 vendor/stefangabos/zebra_form/examples/includes/validation-vertical.php create mode 100644 vendor/stefangabos/zebra_form/examples/index.html create mode 100644 vendor/stefangabos/zebra_form/examples/index.php create mode 100644 vendor/stefangabos/zebra_form/examples/libraries/highlight/public/AUTHORS.en.txt create mode 100644 vendor/stefangabos/zebra_form/examples/libraries/highlight/public/LICENSE create mode 100644 vendor/stefangabos/zebra_form/examples/libraries/highlight/public/css/dark.css create mode 100644 vendor/stefangabos/zebra_form/examples/libraries/highlight/public/css/default.css create mode 100644 vendor/stefangabos/zebra_form/examples/libraries/highlight/public/css/ir_black.css create mode 100644 vendor/stefangabos/zebra_form/examples/libraries/highlight/public/css/sunburst.css create mode 100644 vendor/stefangabos/zebra_form/examples/libraries/highlight/public/css/zenburn.css create mode 100644 vendor/stefangabos/zebra_form/examples/libraries/highlight/public/javascript/css.js create mode 100644 vendor/stefangabos/zebra_form/examples/libraries/highlight/public/javascript/highlight.js create mode 100644 vendor/stefangabos/zebra_form/examples/libraries/highlight/public/javascript/html-xml.js create mode 100644 vendor/stefangabos/zebra_form/examples/libraries/highlight/public/javascript/javascript.js create mode 100644 vendor/stefangabos/zebra_form/examples/libraries/highlight/public/javascript/php.js create mode 100644 vendor/stefangabos/zebra_form/examples/libraries/highlight/public/readme.eng.txt create mode 100644 vendor/stefangabos/zebra_form/examples/public/css/reset.css create mode 100644 vendor/stefangabos/zebra_form/examples/public/css/style.css create mode 100644 vendor/stefangabos/zebra_form/examples/public/images/comment.png create mode 100644 vendor/stefangabos/zebra_form/examples/public/images/letter.png create mode 100644 vendor/stefangabos/zebra_form/examples/public/images/user.png create mode 100644 vendor/stefangabos/zebra_form/examples/public/javascript/core.js create mode 100644 vendor/stefangabos/zebra_form/examples/public/javascript/jquery-1.12.0.js create mode 100644 vendor/stefangabos/zebra_form/includes/Button.php create mode 100644 vendor/stefangabos/zebra_form/includes/Captcha.php create mode 100644 vendor/stefangabos/zebra_form/includes/Checkbox.php create mode 100644 vendor/stefangabos/zebra_form/includes/Control.php create mode 100644 vendor/stefangabos/zebra_form/includes/Date.php create mode 100644 vendor/stefangabos/zebra_form/includes/File.php create mode 100644 vendor/stefangabos/zebra_form/includes/Hidden.php create mode 100644 vendor/stefangabos/zebra_form/includes/Image.php create mode 100644 vendor/stefangabos/zebra_form/includes/Label.php create mode 100644 vendor/stefangabos/zebra_form/includes/Note.php create mode 100644 vendor/stefangabos/zebra_form/includes/Password.php create mode 100644 vendor/stefangabos/zebra_form/includes/Radio.php create mode 100644 vendor/stefangabos/zebra_form/includes/Reset.php create mode 100644 vendor/stefangabos/zebra_form/includes/Select.php create mode 100644 vendor/stefangabos/zebra_form/includes/Submit.php create mode 100644 vendor/stefangabos/zebra_form/includes/Text.php create mode 100644 vendor/stefangabos/zebra_form/includes/Textarea.php create mode 100644 vendor/stefangabos/zebra_form/includes/Time.php create mode 100644 vendor/stefangabos/zebra_form/includes/XSSClean.php create mode 100644 vendor/stefangabos/zebra_form/includes/babelsans-bold.ttf create mode 100644 vendor/stefangabos/zebra_form/includes/index.html create mode 100644 vendor/stefangabos/zebra_form/index.html create mode 100644 vendor/stefangabos/zebra_form/languages/afrikaans.php create mode 100644 vendor/stefangabos/zebra_form/languages/albanian.php create mode 100644 vendor/stefangabos/zebra_form/languages/catalan.php create mode 100644 vendor/stefangabos/zebra_form/languages/deutsch.php create mode 100644 vendor/stefangabos/zebra_form/languages/dutch.php create mode 100644 vendor/stefangabos/zebra_form/languages/english.php create mode 100644 vendor/stefangabos/zebra_form/languages/espanol.php create mode 100644 vendor/stefangabos/zebra_form/languages/francais.php create mode 100644 vendor/stefangabos/zebra_form/languages/index.html create mode 100644 vendor/stefangabos/zebra_form/languages/italiano.php create mode 100644 vendor/stefangabos/zebra_form/languages/romana.php create mode 100644 vendor/stefangabos/zebra_form/languages/russian.php create mode 100644 vendor/stefangabos/zebra_form/languages/türk.php create mode 100644 vendor/stefangabos/zebra_form/license.txt create mode 100644 vendor/stefangabos/zebra_form/mimes.json create mode 100644 vendor/stefangabos/zebra_form/process.php create mode 100644 vendor/stefangabos/zebra_form/public/css/button-background.gif create mode 100644 vendor/stefangabos/zebra_form/public/css/calendar-disabled.png create mode 100644 vendor/stefangabos/zebra_form/public/css/calendar.png create mode 100644 vendor/stefangabos/zebra_form/public/css/close.png create mode 100644 vendor/stefangabos/zebra_form/public/css/ico-close.gif create mode 100644 vendor/stefangabos/zebra_form/public/css/ico-close.png create mode 100644 vendor/stefangabos/zebra_form/public/css/ico-refresh.gif create mode 100644 vendor/stefangabos/zebra_form/public/css/ico-refresh.png create mode 100644 vendor/stefangabos/zebra_form/public/css/ico-warning.gif create mode 100644 vendor/stefangabos/zebra_form/public/css/ico-warning.png create mode 100644 vendor/stefangabos/zebra_form/public/css/index.html create mode 100644 vendor/stefangabos/zebra_form/public/css/note.gif create mode 100644 vendor/stefangabos/zebra_form/public/css/spinner.gif create mode 100644 vendor/stefangabos/zebra_form/public/css/textbox-background.gif create mode 100644 vendor/stefangabos/zebra_form/public/css/zebra_form.css create mode 100644 vendor/stefangabos/zebra_form/public/index.html create mode 100644 vendor/stefangabos/zebra_form/public/javascript/index.html create mode 100644 vendor/stefangabos/zebra_form/public/javascript/readme.txt create mode 100644 vendor/stefangabos/zebra_form/public/javascript/zebra_form.js create mode 100644 vendor/stefangabos/zebra_form/public/javascript/zebra_form.src.js create mode 100644 vendor/stefangabos/zebra_form/readme.txt diff --git a/.htaccess b/.htaccess new file mode 100644 index 00000000..cc23ce1f --- /dev/null +++ b/.htaccess @@ -0,0 +1,9 @@ +Options -Multiviews +RewriteEngine on + +DirectoryIndex index.php + +RewriteCond %{REQUEST_FILENAME} !-f +RewriteCond %{REQUEST_FILENAME} !-d +RewriteCond %{REQUEST_FILENAME}\.php -f +RewriteRule ^(.+)$ $1\.php [QSA] diff --git a/README.md b/README.md new file mode 100644 index 00000000..37524a24 --- /dev/null +++ b/README.md @@ -0,0 +1,3 @@ +Formulaire de commande d'accréditations Caribana +Utilise l'authentification SSO Google + diff --git a/accred_form.php b/accred_form.php new file mode 100644 index 00000000..4a9ecf6f --- /dev/null +++ b/accred_form.php @@ -0,0 +1,506 @@ + array('nor' => 60, 'vip' => 42, 'label' => 'Mercredi 7 juin'), + 'jeu' => array('nor' => 60, 'vip' => 42, 'label' => 'Jeudi 8 juin'), + 'ven' => array('nor' => 60, 'vip' => 42, 'label' => 'Vendredi 9 juin'), + 'sam' => array('nor' => 60, 'vip' => 42, 'label' => 'Samedi 10 juin'), + 'dim' => array('nor' => 40, 'vip' => 42, 'label' => 'Dimanche 11 juin') + + ); +?> + + + + + + + + + + + Nouvelle Demande / Edition de demande + + + + + + + + + + +
Bienvenue
+ +connect_errno) { + echo "Failed to connect to MySQL: (" . $mysqli->connect_errno . ") " . $mysqli->connect_error; +} + + +function show_results() { +global $redis; +global $mysqli; +global $aid; +global $userid; +global $isAdmin; +global $uname; + +$username = $_SESSION['name']; +$status = '1'; +$updateStatus = false; +if($_POST['btndelete']) { + $query = "DELETE FROM submissions WHERE id=$aid"; + if(!$isAdmin) { + $query .= " AND uid=$userid"; + } + syslog(LOG_INFO, "Delete entry for aid:$aid by uid: $userid / $uname from: {$_SERVER['REMOTE_ADDR']} ({$_SERVER['HTTP_USER_AGENT']})"); + if (!$mysqli->query($query) ) { + echo "Unable to delete entry: (" . $mysqli->errno . ") " . $mysqli->error; + die("Argh"); +} + +} +if($_POST['btnfinalise']) { + $status = '0'; + $updateStatus = true; +} +if($_POST['btnunfinalise']) { + $status = '1'; + $updateStatus = true; +} + +if(!$aid) { + $query = "INSERT INTO submissions (uid, status, name, created, formdata,modified) values('$userid',$status,'$username',null,'".serialize($_POST)."',NOW())"; + syslog(LOG_INFO, "Create entry by uid: $userid / $uname from: {$_SERVER['REMOTE_ADDR']} ({$_SERVER['HTTP_USER_AGENT']})"); + +} +else { + $query = "UPDATE submissions set modifieduid=$userid,formdata='".serialize($_POST)."'"; + if($updateStatus) { + $query .= ",status=$status "; + } + $query .= " WHERE id=$aid"; + if(!$isAdmin) { + $query .= " AND uid=$userid"; + } + syslog(LOG_INFO, "Update entry aid:$aid by uid: $userid / $uname from: {$_SERVER['REMOTE_ADDR']} ({$_SERVER['HTTP_USER_AGENT']})"); + $logquery = "INSERT INTO log (uid,aid,name,isadmin,operation,new,prev) SELECT '$userid',$aid,'$username', $isAdmin, 'update','".serialize($_POST)."', formdata FROM submissions WHERE ID=$aid"; +} +$mysqli->query($logquery); +if (!$mysqli->query($query) ) { + echo "Table creation failed: (" . $mysqli->errno . ") " . $mysqli->error; + die("Argh"); +} + +header('Location: accred_list'); +die(); +} + + // When editing an existing form, load data + if($aid) { + $query = "SELECT * from submissions WHERE ID=$aid"; + if(!$isAdmin) { + $query .= " AND UID=$userid"; + } + if (!$result = $mysqli->query($query) ) { + echo "Table creation failed: (" . $mysqli->errno . ") " . $mysqli->error; + die("Argh"); + } + + $row = $result->fetch_assoc(); + if(!$row) { + syslog(LOG_ERR, "Failed to load entry aid:$aid by uid: $userid / $uname from: {$_SERVER['REMOTE_ADDR']} ({$_SERVER['HTTP_USER_AGENT']})"); + header("location: accred_list"); + die(); + } + syslog(LOG_INFO, "Load entry aid:$aid by uid: $userid / $uname from: {$_SERVER['REMOTE_ADDR']} ({$_SERVER['HTTP_USER_AGENT']})"); + $ar = unserialize($row['formdata']); + // Return to list if we are not admin and trying to edit a finalised form. Shame on us + if(!$isAdmin && $row['status']==0) { + header("location: accred_list"); + die(); + } + } + // instantiate a Zebra_Form object + $form = new Zebra_Form('form'); + + + if(!$aid) { + $ti = "Nouvelle commande"; + } + else { + $ti = 'Commande par '.$_SESSION['name'] . ', créée le '.$row['created']; + } + $form->add('label', 'label_titre','',$ti); + $form->add('label', 'label_salutation', 'salutation', 'Salutation:'); + $obj = $form->add('select', 'salutation', $ar['salutation']); + $obj->add_options(array( + 'Madame' => 'Madame', + 'Monsieur' => 'Monsieur', + )); + $obj->set_rule(array( + 'required' => array('error', 'La salutation est obligatoire!') + )); + + + // the label for the "name" element + + $form->add('label', 'label_name', 'nom', 'Nom:'); + + // add the "name" element + $obj = $form->add('text', 'nom', $ar['nom']); + + // set rules + $obj->set_rule(array( + + // error messages will be sent to a variable called "error", usable in custom templates + 'required' => array('error', 'Le champ Nom est obligatoire!') + + )); + + // the label for the "name" element + + $form->add('label', 'label_prenom', 'prenom', 'Prenom:'); + + // add the "name" element + $obj = $form->add('text', 'prenom', $ar['prenom']); + + // set rules + $obj->set_rule(array( + + // error messages will be sent to a variable called "error", usable in custom templates + 'required' => array('error', 'Le champ Prénom est obligatoire!') + + )); + + + $form->add('label', 'label_soc', 'societe', 'Société:'); + + // add the "name" element + $obj = $form->add('text', 'societe', $ar['societe']); + + // set rules + $obj->set_rule(array( + + // error messages will be sent to a variable called "error", usable in custom templates + 'required' => array('error', 'Le champ Société est obligatoire!') + + )); + + + // "email" + $form->add('label', 'label_email', 'email', 'Adresse e-mail:'); + $obj = $form->add('text', 'email', $ar['email']); + $obj->set_rule(array( + 'required' => array('error', 'Adresse email est obligatoire!'), + 'email' => array('error', "L'adresse e-mail n'a pas l'air correcte..."), + )); + + $obj = $form->add('select', 'nature_prest', $ar['nature_prest']); + $obj->add_options(array( + 'Concours' => 'Concours', + 'Contrat Partenaires' => 'Contrat Partenaire', + 'Echange Festival' => 'Echange Festival', + 'Autre' => 'Autre' + )); + $obj->set_rule(array( + 'required' => array('error', 'La nature de la prestation est obligatoire!') + )); + + $obj = $form->add('select', 'presta_concours', $ar['presta_concours']); + $obj->add_options(array( + 'Concours Caribana' => 'Concours Caribana', + 'Concours Médias' => 'Concours médias', + 'Autre' => 'Autre' + )); + $obj->set_rule(array( + 'required' => array('error', 'La type de concours est obligatoire!'), + 'dependencies' => array(array( + 'nature_prest' => 'Concours', + ), 'mycallback, 1'), + + )); + + $form->add('label', 'label_why', 'why', 'Précisions'); + $obj = $form->add('textarea', 'why',$ar['why']); + $obj->set_rule(array( + 'required' => array('error', 'Merci de préciser la nature de la prestation!'), + )); + // "digits" + $form->add('label', 'label_nor_tot', 'nor_tot', 'Total nombre entrées:'); + $obj = $form->add('text', 'nor_tot',$ar['nor_tot'],array('readonly' => 'readonly', 'size' => '5')); + $obj->set_attributes(array('class'=>'num'), false); + $form->add('label', 'label_vip_tot', 'vip_tot', 'Total accès VIP:'); + $obj = $form->add('text', 'vip_tot',$ar['vip_tot'],array('readonly' => 'readonly', 'size' => '5')); + $obj->set_attributes(array('class'=>'num'), false); + $form->add('label', 'label_presta_tot', 'presta_tot', 'Total Prestations CHF:'); + $obj = $form->add('text', 'presta_tot',$ar['presta_tot'],array('readonly' => 'readonly', 'size' => '5')); + $obj->set_attributes(array('class'=>'num'), false); + + $days = array('mer','jeu','ven','sam','dim'); + foreach($days as $one) { + $form->add('label', 'label_digits', $one.'_nor', 'Digits:'); + $obj = $form->add('text', $one.'_nor', $ar[$one.'_nor']); + $obj->set_rule(array( + 'digits' => array('', 'error', 'Accepts only digits (0 to 9)') + )); + $obj->set_attributes(array('class'=>'num_nor num_prest num'), false); + $form->add('note', 'note_digits', $one.'_nor', 'Accepts only digits (0 to 9)'); + + $form->add('label', 'label_digits', $one.'_vip', 'Digits:'); + $obj = $form->add('text', $one.'_vip', $ar[$one.'_vip']); + $obj->set_rule(array( + 'digits' => array('', 'error', 'Accepts only digits (0 to 9)') + )); + $obj->set_attributes(array('class'=>'num_vip num_prest num'), false); + $form->add('note', 'note_digits', $one.'_vip', 'Accepts only digits (0 to 9)'); + + } + + + // VIP gratuit ? + $form->add('label', 'label_vip_gratuit', 'vip_gratuit', 'Gratuité des billets VIP:'); + $obj = $form->add('checkbox', 'vip_gratuit', 'oui' ); + if($ar['vip_gratuit']=='oui') { + $obj->set_attributes(array('checked'=>'checked')); + } + // Paiement + $form->add('label', 'label_type_paiement', 'type_paiement', 'Type de paiement:'); + $obj = $form->add('select', 'type_paiement', $ar['type_paiement']); + $obj->add_options(array( + 'Offert' => 'Offert', + 'Payant' => 'Payant', + )); + $obj->set_rule(array( + 'required' => array('error', 'Veuillez choisir un type de paiement') + )); + + $form->add('label', 'label_choix_paiement_payant', 'choix_paiement_payant', 'Choix de paiement:'); + $obj = $form->add('select', 'choix_paiement_payant', $ar['choix_paiement_payant']); + + $obj->add_options(array( + 'Cash' => 'Cash aux accréditations', + 'Autre' => 'Autre' + )); + $obj->set_rule(array( + 'required' => array('error', 'Le choix de paiement payant est obligatoire!'), + 'dependencies' => array(array( + 'type_paiement' => 'Payant', + ), 'mycallback, 3'), + + )); + + $form->add('label', 'label_paiement_autre', 'paiement_autre', 'Autre'); + $obj = $form->add('textarea', 'paiement_autre', $ar['paiement_autre']); + $obj->set_rule(array( + 'required' => array('error', 'Merci de préciser la nature du paiement!'), + 'dependencies' => array(array( + 'choix_paiement_payant' => 'Autre', + ), 'mycallback, 4'), + )); + + // Distribution + $form->add('label', 'label_distribution', 'distribution', 'Distribution:'); + $obj = $form->add('select', 'distribution', $ar['distribution']); + $obj->add_options(array( + 'Accreditations' => 'Retirer aux accréditations', + 'Poste' => 'Envoyer par la poste', + )); + $obj->set_rule(array( + 'required' => array('error', 'Veuillez choisir un mode de distributions') + )); + + $form->add('label', 'label_adresse_distrib', 'adresse_distrib', 'Adresse de distribution'); + $obj = $form->add('textarea', 'adresse_distrib', $ar['adresse_distrib']); + $obj->set_rule(array( + 'required' => array('error', 'Merci de fournir une adresse de distribution'), + 'dependencies' => array(array( + 'distribution' => 'Poste', + ), 'mycallback, 5'), + )); + +/* + // "department" + $form->add('label', 'label_department', 'department', 'Department:'); + $obj = $form->add('select', 'department', '', array('other' => true)); + $obj->add_options(array( + 'Marketing', + 'Operations', + 'Customer Service', + 'Human Resources', + 'Sales Department', + 'Accounting Department', + 'Legal Department', + )); + $obj->set_rule(array( + 'required' => array('error', 'Department is required!') + )); + + // "room" + $form->add('label', 'label_room', 'room', 'Which room would you like to reserve:'); + $obj = $form->add('radios', 'room', array( + 'A' => 'Room A', + 'B' => 'Room B', + 'C' => 'Room C', + )); + $obj->set_rule(array( + 'required' => array('error', 'Room selection is required!') + )); + + // "extra" + $form->add('label', 'label_extra', 'extra', 'Extra requirements:'); + $obj = $form->add('checkboxes', 'extra[]', array( + 'flipchard' => 'Flipchard and pens', + 'plasma' => 'Plasma TV screen', + 'beverages' => 'Coffee, tea and mineral water', + )); + + // "date" + $form->add('label', 'label_date', 'date', 'Reservation date'); + $date = $form->add('date', 'date'); + $date->set_rule(array( + 'required' => array('error', 'Date is required!'), + 'date' => array('error', 'Date is invalid!'), + )); + + // date format + // don't forget to use $date->get_date() if the form is valid to get the date in YYYY-MM-DD format ready to be used + // in a database or with PHP's strtotime function! + $date->format('M d, Y'); + + // selectable dates are starting with the current day + $date->direction(1); + + $form->add('note', 'note_date', 'date', 'Date format is M d, Y'); +*/ + // "submit" + $form->add('submit', 'btnsubmit', 'Enregistrer'); + if($row['status']==1) { + $form->add('submit', 'btnfinalise', 'Enregistrer et Finaliser'); + } + // Admins can un-finalise + if($isAdmin && $row['status']==0) { + $form->add('submit', 'btnunfinalise', 'Enregistrer et rendre éditable'); + } + // $form->add('submit', 'btncancel', 'Annuler'); + $form->add('button', 'btncancel', 'Annuler', 'button', array('onClick' => 'self.location="accred_list"')); + // Only show Delete if existing entry is edited + if($aid) { + $form->add('submit','btndelete','Supprimer'); + // $form->add('button','btndelete','Supprimer','submit'); + } + + // if the form is valid + if ($form->validate()) { + // show results + show_results(); + + // otherwise + } else + // generate output using a custom template + // $form->render('*horizontal'); + $form->render('custom-template.php'); +?> + + + + + + + + + + + + + + diff --git a/accred_list.php b/accred_list.php new file mode 100644 index 00000000..d9f7e175 --- /dev/null +++ b/accred_list.php @@ -0,0 +1,351 @@ + $value) { + $data[$key] = $key; + } + return $data; + } + + + if($_GET['o']=='excel') { + + $objPHPExcel = new PHPExcel(); + + // Set properties +$objPHPExcel->getProperties()->setCreator("Caribana festival"); +$objPHPExcel->getProperties()->setLastModifiedBy("Caribana festival"); +$objPHPExcel->getProperties()->setTitle("Accréditations 2017"); +$objPHPExcel->getProperties()->setSubject("Accréditations 2017"); +$objPHPExcel->getProperties()->setDescription("Accréditations 2017."); + +$objPHPExcel->setActiveSheetIndex(0); + +$query = "select * from submissions"; +$mysqli = new mysqli("localhost", "caribanaaccred", "welcome99", "caribanaaccred"); +if ($mysqli->connect_errno) { + echo "Failed to connect to MySQL: (" . $mysqli->connect_errno . ") " . $mysqli->connect_error; +} + if ($result = $mysqli->query($query)) { + $line = 1; + // First merge keys of all serialized values so we are sure to have all columns + while ($row = $result->fetch_assoc()) { + $ser = $row['formdata']; + $seru = unserialize($ser); + $or = array_merge($row,$seru); + if($line==1) { + $master_array = $or; + } + $master_array = merge_two_arrays($master_array,$or); + $line++; + } + // Now remove unwanted columns + foreach($master_array as $key => $val ) { + if(!($key=='UID' || $key=='modifieduid' || $key=='btnsubmit' || $key=='btnfinalise' || $key=='formdata' || $key=='name_form')) { + $header[$key] = $key; + } + } +} + if ($result = $mysqli->query($query)) { + +$line = 1; + /* fetch associative array */ + while ($row = $result->fetch_assoc()) { + $ser = $row['formdata']; + $seru = unserialize($ser); + $or = array_merge($row,$seru); + // Build full row + unset($fr); + foreach($header as $key => $val) { + $fr[$key] = $or[$key]; + } + if($line==1) { + $keys = array_keys ( $header ); + $objPHPExcel->getActiveSheet() + ->fromArray( + $keys, // The data to set + NULL, // Array values with this value will not be set + 'A1' // Top left coordinate of the worksheet range where + // we want to set these values (default is A1) + ); + $line++; + + } +$objPHPExcel->getActiveSheet() + ->fromArray( + $fr, // The data to set + NULL, // Array values with this value will not be set + 'A'.$line // Top left coordinate of the worksheet range where + // we want to set these values (default is A1) + ); + $line++; + } + +$mysqli->close(); +} +$objPHPExcel->getActiveSheet()->getStyle('1')->getFont()->setBold(true); +$objPHPExcel->getActiveSheet()->setTitle('Accréditations'); + +$objWriter = new PHPExcel_Writer_Excel2007($objPHPExcel); +// $objWriter->save(str_replace('.php', '.xlsx', __FILE__)); +$filename = 'accred_list.xlsx'; +$objWriter->save($filename); +header('Content-Disposition: attachment; filename="' . $filename . '"'); +header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet; charset=utf-8'); +header('Content-Length: ' . filesize($filename)); +header('Content-Transfer-Encoding: binary'); +header('Cache-Control: must-revalidate'); +header('Pragma: public'); +$objWriter->save('php://output'); +readfile($filename); + +} + +?> + + + + + + + + + + + Carbana Acréditations + + + + + + + + +connect_errno) { + echo "Failed to connect to MySQL: (" . $mysqli->connect_errno . ") " . $mysqli->connect_error; +} +?> + +> +
Bienvenue
+
+

Commande

+
+ + + + + + +
NoStatSalutationPrenomNomStatutCommandeAperçuCréationMise à jourCommandé par
+
+ + + + + + + + + + + + +
+Déconnexion + + + + diff --git a/accred_list.xlsx b/accred_list.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..379281cbfa440e8d0e5199e3387c729a4af7b194 GIT binary patch literal 11378 zcmZ`<1yq|`m&M%*6c5&-1&RcxxI3k|7nk4;#ogWA-QA_QLvbg?-L1gT_h#n(uWKgB z_nqXfwf9QSx%cFrbGN({Gz>Nb1Ox&^vSy2vqp{2df z7Z+hW~9E`2`Mzr5dSUilcxYVmviG<4s=m!9s%ZgOeMjDKbJZ z|E%R#ksG)5JC~y=gXJa*R7B8OJ{}HqwD)|sYA1Ey@-LcBEc}=Y(dLb8Y;Jxge4X%} zR)nPL1$`Q`9OsV|2LuHEB0(E21xUpT-#bmoa;K&0AzWDSRwMyD-i2xE=uE`zjC^X) zi_#RX%BcE3=On(eFL(yRJ_aA@eY9B2muKQCeQUF6dpw42MqDy%#wbupkbs>&=5R>v z2}^!Vw6RDXh8WjP;6JdE0~ zzpF-6zvc@LtZOxqckDgusrGz$ahNrW?`r$JwbOJL{&@1OOvn*^?hac1UxC1FVCUF> z4S*CB1O)P{)v-0Su=~jH`(7S1X4cDy;&tkVlf$w5&MMR;s z*_Ku;uWsu&Y{;d8C&f1od3EsT{pMbpa}4_<$9T2^{Wg^h?i{=OP`_mU+arGOtCfFy zr1{k&1h3ZF;^W^=ak8>C|7vAr{(Ex%w}ZN09fTo#`h-+{tL~^SNfT{HY5;YH2k?OZw z>$7{vd(ti2@WtEUqfCc@hhW?qd{{IDW& znjn|Bj?&ylI=dA;S3)Vz3*GtPo+Mpm&wJ|eki&=0V(V??$gaNm-5Fbz$S^F79Yx-m{Y`SugO~rf^-fiXd#bkY?=)i}U76b4y#0ikFyI=7PSVYa4 zF#C>!L-!+Nw$)sFe__?FQy0h03v;m}D@KB;!Hj!>pQ|`}cEPTdnKe9}*!X~8C;h}O zNp@nXNXB^8dwtoV+wFNzh<^vL5Le#u+iL)MUjz8&KLe<5Wo!65g84Bczf-Tst-Hui zddZ`@oGfaYKA|#x!5oB!{tTR%?+r)ZQF2?{cT7iDsD^#hEdvAKQW`1}ne;Z_%i%qy zAr?{0$sY0iUHuEjcG(H>t!VQh^ISb?t}}zrfcPGq9*!ovejg!NUPSU^WW9l(uv0j3 zuIEsww`!#J2*&-aM7>jE#oJ%IclqJN!cCwDDa2%R8S4q(snO&wP#>q3x_M(`o0;(E z7P=(N(1&gic%BJn9z})sjQ0rG11$H@E7^3H8`QXurWieCGcB!79xDqZ2TEX~O5$=b z&^QQGv}_AAnsxfH94zgHtfz*MU0ll8jB$Z zA1;xjg~Pc5RLn-9$U0%EG8zTa{k#s;W1B87z16A_uT@99hPNi(S}k(1<-K!|Pe^VL z`k^8FY^I79LWjQeF`c)Wr{@YC?%Udvx3JRT_Ak!q}CBzxsIbM5i{Hi%90DHqd`d>c1eDlYlbEV)$C7OD)Kaafh(b zKWfQF0OIZkR?GY7Z@AhqXY&f=hUM4S>+Jx1Ft8bblT z&eikFc14Q*%&5WW{oE}$Z}yX9WUa;GV{nqXQ0WxvrJRHcCd`bHELG2W%p`sbVWMNg zuTwBy-p8x`4iQ^ttY3)*~Z=T1YA!k2ckpI?z-psZDVFm zC$Z=4uT2%Bwjbx6FIS6JogSuew1B&#LorVtm#d@HiI-oS*^nLdXR3jbCerU)1R^GR zBfHsrA((NDbMZuy=BTY<#G$RTatO})iCC~I#16(=>9Zh`yhz4R=IlQOeV0~%K2yh@ z_i9b6CB_xCt1zsww=U5pf$8T$k`)lVi7B)CYB ziTRbZRmgO#vh@e9=0&ie6ZL_fnf*{uM11ldZ8#Z&oduf17<+4@LL>{;BfwTwOi)nQ z=&OY4SUAa6a!<8_J`oGR1yDMe_p@8`jx|sUHX02PY=VJ7BLigbYb!WmMTsB8yU}8c zJQUB~`{CCX!8sqz?Yz7{4c3qv%(nHrsOy_A|qf!GI~Gw zOPf*EZ+k`P{X3#4X3>Z#j6w&=MhER0o zlW$D6SwA7)a~!KK z)V6wgH>N=_{*r~{0)rW}$L_E!g~geb$fAbnY9$|Lww$EV5D5(zm&cD9Q=DM8al74k!I~gQVa%8wGC$ zw4&X0ve0fHL@Qw0B3TmsB`mpcabbqz=Iu>?D5%8Ck)6iF@gw2X8_*XTrJcebi8>`~ zPZu$i2IFx%pEc8+;|~z^$m8DN)|SQ=o`deU{7i&Igt2HAW`}(CV|6N|PV3lU3Xr}z zU=qf%%E>w4)y5r!j3#+eDHeY=+bB#)Kagf3*iT}Lr7ZNQcXdqp%pfbyaA(D7KBAda ziq+}iVf!R|dFZs$vhLz!R_Rb;>!b8pV^CbmzCEl-7MOfMG( zpKHE!V<0KUKv4pjFw7#1m{ctVhN{w&RS zxwo@s#Sjz-n6snQoO4{zD>pr;Y3M~e4B{?7uIeSA<0A~-fRdU&BM=$DsvU%I8CDyH zamDM8>2&{w>VIm*niD{DDszq14U0ftdTP6z)247MM}_TfhG<|psaK7d#WH_Gh*UGSQ`To-c-T1nld zvG|>R+PE5w``WLIj#W@QRy+58Xz^5&Lzf04D}VG5VS%7{tp899I4D=HSa!NX@6+qn~9_&?GOhj{1 z5gP=rmmM2WpH8PZ@5)RFY0zPvu?s)jWu)<9rN5BE;S3 zMrq3ED)w3Frn#nOWq5!P)$MN5d2Z#;wTIr$fco%R_ZzLr(5(bI8!5R#Qf_Q?}rh7?=Su zV-Vy7JmG`C<%_;uEtFkHTZIw2Sn;IOdh#z=oM5?RNj`h8CtCSAB7o9(D7&uNf{g(U zO1?A)3J%3;s$axGkPJ4-x{L8(Ez3_2Yoe0}*)V}=CM18++b`8v#XKekn$mWiB3E}3 zHg9dC*&6B#P5h1im&=svgYH~^890)_rzx?#re!Bao)f+-cRX}o*;~bzZ1x_4;TpO^ zpM1>c7zO0ENQ>DN&Jj+c%Brl=W=(n03Yi6x4BhkTl&H0$BmTQ<{iMEuP2bWchIMLQ zFkI%TV~pG&^dR4IGxjyywA5*emPBZuhEFox&~?Sq6F|o}>j|+e)4H9^V%oz5Yp;}C zY6bCec=Zvom;@eyOF8lf9{iAyCl%v|SojTvY5$5YQf!>Qw1fmhYF-rhQ(pSW57cF0 zWZhPr=@5bY(8W4|Z8wgzaVfKAYlgLJ{Ex!%8(YW@X4s?AjhgZcI6@o3%SQ&Ke0&nu z6#ke^AmSOCNLnVDw^sh<&rW&#I-~5icJ22*((_idNK9=x?XDU_p5B&P!phkRZMaaV zSd4aIH9!o}r3Ae$0l|y(1ucw9%MZ5SKGw69k(OkTh&jlylRgaE5XxNsPEKarNVHN}_8=+>I@(=_4^pN}$a}(KOeV^+LdGh|Qep?7@y}GD zzTq{%O99&!v!f8ZKAl7n1uG+L6W!lhY&P&5W2&(fm|#wY#89p|3Bqf#2zK^TNflX} z^qlV3AF!6B-l+GyP3b}O!G%5823n;!@aamv5=+nfZwrDgf97K9R& zx4vJhl!1$s@!!6_bwDjgp-|ZqF&2SP=@jG)Z1P6S!(5{5d);3jq1vw)B z{U@4t%ndJAeCbOx^eikDpoO}UbhLZO2hk!s^LqF|2T=#3TOwkihk|$#C%7%#`p%X@ zR@Kxl&N32}PW~cl$kZT_Xte4LB+@bGq<2O8u5I=A;7)8lkp_pfdJ~w{QJ*jr--n7D zKhVfSGngo%hhzKAMU$4eQ?efYIW^XY^MH~0WC}>!$bh%)>h^8i2cG=nk%0vAvZ*{x_w#y&9LD@RKrT$RXaoN zP^;caD$SZnX|kiVO&kCkIxlAvS@D?Q!pPcP_{rozy|3ZVhhJYDF(gjed>P`5#FDh7 z*SB!Zue{e(#@;Umhmd-YBTqNGL)jJOc&q1`35EtJqbETCa*m()m3#=>_z?$ImyVU4 zYEJwkfFEWZ*%>q<=7?w^Q`7Wolqb6+_PDNTz7zx%e9a7A&WV-!5paxPAGz-YNcFVe za2P~Z7PkGc@VeuBfE8_%{QD6Y)q!}2W_ zLiX8R*9%OZLiIqbaa!K->UQ!@A{Rgt1R!PdZyxs`cw$As!xGFeOluj~ZMmWjqGR&Zfd1P1zDPcT?FI-h4+?J^+Bp z2k1~{seIJ)yS9b)6P1aH5aoX8T_EIggFK#VHyt%~0I z?&U-;JofD#Y>m#284ov)lKSRn^nY(Cx8(>BF<#r3yRVG{)c@X4+Phd7{AH`lQgk9L zAbR>yLBba1&~FM~#?mRyt3sOIK6Q#DaBJrs1zK}OGmwDU6-w;%(y6#N*6($H5KOhw zoT1`T-?-65>T8s-@E1kkTI;J0xycb)XeXHvGgssJTlx;Y<1Nk}xTAM-Ny`4_m9 zz$;PP=P~>Chn-N5%=GVxEY48>G?j?Z94Gr~$X&MutK5SDI-X!I?-b>e@KM1xrK<)d zPvtDg=tQxquxv$3DX6~@#=)|hrh4Idy0Ys)A=_@C*B+e7c;_?g?=)yZBKwIBwhHey zaBuEHvBs06>KNQIcn2%rtfg9F{NaFN{p!*%v476vYTTddiq1d$GUpUo{GO=)*tixE zK!_>!Qwp#oCHQf?V0XgkyD*jReBGe7-t8N1Hmm66FZ1_)x9vP{DI?6UGT@Ya=nH~% z`kcGAzGdKrzL1KPz7>|vxTuxl((fxB2sAYj@ZF9HSPsoW`fQ33o&%%z{S=Nt7Zb!Lu8n{*#;-YZjIV?1-I_ zCSW;{pKx|%Seo&ie(krZsKjToa5XcNJJNIOXy%p$oopQ62jK~Y_3u*~M68Qadsk^y z+ri_Wf1C%LK5K#tUwea#uhR$p@2T^jeedw-Wm!U|*U9sUop3r5fFw_7=&Mdm|5=XK zTbp}L&C&0;nr98hIhR*Vr%c~UaI?Zq|Hba=<#_9Ajl16ayLk3&AUsPsspbCtO;!Yh5YYy5XulH|M4{s#K}QG;QbR* zI}<}gd%M?C^VR&-NDSB1P|4NAanIC=j=wdvL;ETC@mix>miObgYF4wD#yWv9dlY;h zu1}pFq>zU5G&esbiidf-3OEwK_HOFDxM;I!=Ni-osffv37SCD;mp(dosD2`5wG!?1 zyh#a{;nEm09&vsPV0{rz-O(9%;cyR)T~95fmLybz&SXDa{3covYl1~lslWoSlA61t zm{P$^H^i zF(TWp2Bi`@PzZ!ai$F(T1Mh^Eo%2YAzjx&@yBXVko~*sMYT#?u61GYmehIg~Ipk6o zy)^}{vt>{nsSv%457nX!W4615tUt@*Tvjfg8w^RtCYr!&_gPV$UjU_~9rZ5u$~Hk7 z_b0}Sne%(^)fp~x2ce#|h$aWlcOHwLb%+`wI_873P&a)yW0Ui00LiAJYY zPMO!W4cAV`s5*Y(RL;0cRO902mELL;t&!SrP0(?;`-f$r3=^W)$eAW33m@62o0=t8A-Nl19}m5PwO*USpMUaCpjjBIlfl~n2DH|mb{K5wU$l#HDZ263nv`@O+#At~7>6(7G}n#h=#K+N|B zd!p13%=RC|2Pe}>$%OO;1Oq62{7__I5%CX@vo*vObi`K$BOX2GmX;_w@NKrS7L)J`{usWh6jIdVa^PO8c%6S9{^Hfb>OXh=k zn>lQ7BPjlgYA%)SMHq1<%aL}7HyFI%SQAk*@(1BK5d?%SSd(lq7 zCy&8h29F%`>Som#D@rO;>*zyB1hwno4DUdp(BXIE+BQ?0SqpUd!j8(2k#!+W5JLsq zr;aMEG18w0c`|(zf*TYTU;!4IY?Z7;ubBo2R%gl^A(jyCAF)})Ef~iYFDW#?vMy>d!tXA zXLT6L8{CqoMUuGteY3tl6vC%lHTShz5)fNcrdz-4&qgu$p}+)d>8TJJm%c}PQ|RNj zydfPGHDxEz1G1i)jbk9UDVa3{A0<&*2zqiKP1RriK&$7$;I+V zN@fvE``*C$_|+2L01<=4lNQsEFwrihqexpXY4N*?HLre;My<+3N_zdxG%Jx+D4Eq5 z2m{67?X`rdmnA`(g;^8;V;ux7&?Cc+Qg<#Z+#};eD~>UdOu7m4>cQa_gx@6MV@mwS zec0)fKw00fpN~+mylK64(Giny=J^9yZfQn6bt-+xkqk+Fpwey;=IX3>-rWX$_R>xJ z1ra_&l4S!01C;fKIW~dvvBCM0H!L3RJ_kH4`<9CLAuKHAhdcuQ(fc_#gcFp7I^3$vpidB(jLeQD-2Jx`gG~}=rFRe-T z3I$01L^Qq?#gUj5Z*Ki*<1DEc3r$W6&uY>`hq$H`zc$jyjL1sAcz~Fo)U4ljOf~w` zE@ymRx|mYQC2F^c22^-I#iWTARQOK50=+c?nmo(ODcepZP)?edzY-Q?X-y4oFhqPK z);hCu*6ixvH|41ysH{@ZoZVY%Tpakt#(L6tejcouO`xL^KB4q3*BXQdtQZeB^BvKR zyQi6K5{4(h-RB20YfV;|8C0?8=geIP_38^9pCZcL)meOZa0xpxP5mYfQUsf&vVEh& zOle?9VZ#j%>N(_vAeg`OaTIyyYa@XUWH|8dH*C*4$J9hvdK-?y#=%>k%*DXz-naQC z(2A3XK^Ht)*c_|f1!5lF*KRRAeb-LVxnjT9`#5QDzi%_4DY}`B<|RrZFj;YBz^IPM zpPLK;TzWOxx?kV{K5o?QXr&(s?3{a8xaoB>!;D&9==QlBemIX7NR_e+=C+ImERT{8 z-bK`t?ltJs7iqJ=aL@VV0n7!aUx!Qw)a7N25iG$uB~s?y6;ed2;u*^lkYH?GbvFHQ zMF?Gcjin>7R4Re~($$_Jl8js_6m`y-L^%R8$T+-WT1cQZAr8f{pGATjoSc__EKGpc3vb4dm?;)DoJ28t1NY@ao?@o=Q6Jy?8I?=lFnaOhQ=JW+HOmo5}dVGXEbty=-si6$0oPREJN zYsD2vqL&|t3o&v{^XI;!f9;%4c#DduPgVd8UxyO7r-?d#p2?x<*xaS`zC&BLzDwwJ zA|g%t(h$#Em zF>gV0In!9V+u&2Zs?+q+U~Y+@;cvmjFl#c zme@Ej?xk7u(d3+s3g;?ILDemsmbXj;pm0vh<+|C)1|=J7D@_=+GA4Y8@DY(xS1?A{ zh)9-AGXjtS7gpwbwkvp&jW?inWp3xy|HMW3CuWJ^QD`Dg^~byw4dpiVpg`q>K;?4i z#+4s90yu{paQt8)j?$DRW;|o(!r$++&dJiUf{nf?5-#1y69EqRZ2p@3A7e{VS7#a? zotGN=XBxB~nAJ>_Dgo%Xp6Co(K&T_08JwZoMT z)lxDiXUf$hHR{QSbJSQ~S74!fJ;u=$UyS1eiNs?Og+!x*REZLDH{eH%;muP10N=hs zm+B?h2EMV)J?~`-peg5IjZUlMLCYKQwy>|TxM5jrEO5~li(w!-0$#)idfgw1K zBn{;I7bfgB7dAb$i9lk81k<=Sp~F7&vNStn zvh%xhhbrcyO$uyYF- zo;gxpcx>E%LH}{WE-isjq;)YudoKK%PHO#nt8?n6RNJN|NO}JT+FWdGOaJRVYzDnu zM?9)7dZ;~ir>ADwLWjoaOySmuS?elVZ~E;_nG4C}o~D$^W}l)^NSn5 z1DK4j?iQoEe$^R0Mq?JnAoY~w2lw+Is;Duk&*aXp#Z~z0^?Hu?`w;JU;r!o4*53-U ze@d;t^kXt%OlVMK7!Ync0u8tP$oiu;^Y;+B=nK{#F!adim>%3{=&53pU7mjCt^Ih9 z(_o#1Lj6^xVQ{Sn?6I0DAR)HK_?8k`2U9h1)jikm8xZsBTUJUs9KqA;ocbnyd_&rJ z=OklO{Ku{x2a#Jrxd)R`iN+WBy={1TDM%=6=>K1g`TFhudNg?dHvfk-^G||5MTCFD zAs`yOgI`+-{~;;-6Zogr?jK<4YyaWZh5wK8?oXaSC29Zgw7qJa{uHSFiT+a$^$+^n zYXj|n(f^~4`V;=AMCTtk4g6m};!nZOp9FuN|NcXO`dYRBU#G!;GW^-_`-edr_iu*( zZU6lV{j=fo4>TG7FX(@^fBppj*;)7p40_co{d)=gGx`5y`E%*~!!k|%C(Hl2kmRLc T;eLaVU!PO26DO4B_ox2?1`_%q literal 0 HcmV?d00001 diff --git a/accred_style.css b/accred_style.css new file mode 100644 index 00000000..62542711 --- /dev/null +++ b/accred_style.css @@ -0,0 +1,108 @@ +body { + background-color: #fff; + color: #333; + font: "Helvetica Neue",HelveticaNeue,Helvetica,Arial,sans-serif; + margin: 0; + padding: 0; +} +#logo { +color: #e50350; +} +.fillPink { + fill: #e50350; +} +#tblContent { + width:90%; + font: 90%/1.45em "Helvetica Neue",HelveticaNeue,Helvetica,Arial,sans-serif90%/1.45em "Helvetica Neue",HelveticaNeue,Helvetica,Arial,sans-serif; + margin: auto; + width: 90%; + padding: 10px; +} + #signin { + margin: auto; + width: 50%; + border: 3px solid green; + padding: 30px; +} +#frmcontent { + margin: auto; + width: 50%; + border: 3px solid green; + padding: 30px; +} + + + .bck-check { + + background-image: url("sign-check-icon.png"); + background-size: contain; + background-repeat: no-repeat; + } +.bck-edit:before, .bck-check:before { + position : absolute; + opacity : 0; +} + +.editable:before { + content : "Clique ici pour editer cette commande"; +} +.user .bck-check:before { + content: "Cette demande a été finalisée et ne peut plus être modifiée"; +} +.bck-check:hover:before { +opacity : 1; +} + +.editable:hover:before, .bck-check:hover:before { + opacity : 1; + +background-color:#999; color: White; +} + .editable { + cursor: pointer; + } + .bck-edit { + + background-image: url("pencil.png"); + background-size: contain; + background-repeat: no-repeat; + cursor: pointer; + } + td.details-control { + background: url('details_open.png') no-repeat center center; + cursor: pointer; + } + tr.shown td.details-control { + background: url('details_close.png') no-repeat center center; + } + .Zebra_Form .optional { padding: 10px 50px; display: none } + .pdate { + width: 150px; + float: left; + } + .prixvip { + padding-left: 60px; + float: left; + width: 50px; + } + .prixnor { + padding-left: 30px; + width: 60px; + float: left; + } + .ptot { + width: 225px; + float: left; + text-align: right; + } + .vtot { + padding-left: 20px; + } + .num { + width: 60px !important; + } + .right-blob { + float: right; + text-align: right; + padding-left: 10px; +} diff --git a/acrred_form.php b/acrred_form.php new file mode 100644 index 00000000..6961786a --- /dev/null +++ b/acrred_form.php @@ -0,0 +1,83 @@ +add('label', 'label_firstname', 'firstname', 'First name:'); + + // add the "first name" element + $obj = $form->add('text', 'firstname'); + + // set rules + $obj->set_rule(array( + + // error messages will be sent to a variable called "error", usable in custom templates + 'required' => array('error', 'First name is required!'), + + )); + + // "last name" + $form->add('label', 'label_lastname', 'lastname', 'Last name:'); + $obj = $form->add('text', 'lastname'); + $obj->set_rule(array( + 'required' => array('error', 'Last name is required!') + )); + + // "email" + $form->add('label', 'label_email', 'email', 'Email address:'); + $obj = $form->add('text', 'email'); + $obj->set_rule(array( + 'required' => array('error', 'Email is required!'), + 'email' => array('error', 'Email address seems to be invalid!') + )); + + // attach a note to the email element + $form->add('note', 'note_email', 'email', 'Please enter a valid email address. An email will be sent to this + address with a link you need to click on in order to activate your account', array('style'=>'width:200px')); + + // "password" + $form->add('label', 'label_password', 'password', 'Choose a password:'); + $obj = $form->add('password', 'password'); + $obj->set_rule(array( + 'required' => array('error', 'Password is required!'), + 'length' => array(6, 10, 'error', 'The password must have between 6 and 10 characters'), + )); + $form->add('note', 'note_password', 'password', 'Password must be have between 6 and 10 characters.'); + + // "confirm password" + $form->add('label', 'label_confirm_password', 'confirm_password', 'Confirm password:'); + $obj = $form->add('password', 'confirm_password'); + $obj->set_rule(array( + 'compare' => array('password', 'error', 'Password not confirmed correctly!') + )); + + // "captcha" + $form->add('captcha', 'captcha_image', 'captcha_code'); + $form->add('label', 'label_captcha_code', 'captcha_code', 'Are you human?'); + $obj = $form->add('text', 'captcha_code'); + $form->add('note', 'note_captcha', 'captcha_code', 'You must enter the characters with black color that stand + out from the other characters', array('style'=>'width: 200px')); + $obj->set_rule(array( + 'required' => array('error', 'Enter the characters from the image above!'), + 'captcha' => array('error', 'Characters from image entered incorrectly!') + )); + + // "submit" + $form->add('submit', 'btnsubmit', 'Submit'); + + // if the form is valid + if ($form->validate()) { + + // show results + show_results(); + + // otherwise + } else + + // generate output using a custom template + $form->render('*horizontal'); + + +?> diff --git a/ajax/data/arrays.php b/ajax/data/arrays.php new file mode 100644 index 00000000..900d7ae3 --- /dev/null +++ b/ajax/data/arrays.php @@ -0,0 +1,66 @@ +connect_errno) { + echo "Failed to connect to MySQL: (" . $mysqli->connect_errno . ") " . $mysqli->connect_error; + } + // Retrieve list of entries + + $query = "SELECT * from submissions"; + if($aid) { + $sel[] = "ID=$aid"; + } + if (!$isAdmin ) { + $sel[] = "UID='$uid'"; + } + if(count($sel)>0) { + $query .= ' WHERE '; + foreach($sel as $one) { + $query .= $one .' AND '; + } + $query = substr($query, 0, -5); + } + $query .= ' ORDER BY ID'; + if ($result = $mysqli->query($query)) { + + /* fetch associative array */ + while ($row = $result->fetch_assoc()) { + // printf ("%s (%s)\n", $row["Name"], $row["formdata"]); + $ser = $row['formdata']; + $seru = unserialize($ser); + $one = array('mid' => $row["ID"], + 'stat' => $row['status'], + 'maj' => $row['modified'], + 'crea' => $row['created'] + ); + foreach($seru as $key=>$val) { + $one[$key] = $val; + } + $one['name'] = $row["name"]; + $obj['data'][] = $one; + } + + /* free result set */ + $result->free(); + } + + /* close connection */ + $mysqli->close(); + if(!$obj) { +echo '{ + "sEcho": 1, + "iTotalRecords": "0", + "iTotalDisplayRecords": "0", + "aaData": [] +}'; +die(); +} + echo json_encode($obj); +?> diff --git a/composer.json b/composer.json new file mode 100644 index 00000000..6a84357f --- /dev/null +++ b/composer.json @@ -0,0 +1,7 @@ +{ + "require": { + "google/apiclient": "^2.1", + "stefangabos/zebra_form": "^2.9", + "phpoffice/phpexcel": "^1.8" + } +} diff --git a/composer.lock b/composer.lock new file mode 100644 index 00000000..b06c4968 --- /dev/null +++ b/composer.lock @@ -0,0 +1,803 @@ +{ + "_readme": [ + "This file locks the dependencies of your project to a known state", + "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file", + "This file is @generated automatically" + ], + "content-hash": "90b442b74cfbb9deb4c2e60e01b68f98", + "packages": [ + { + "name": "firebase/php-jwt", + "version": "v4.0.0", + "source": { + "type": "git", + "url": "https://github.com/firebase/php-jwt.git", + "reference": "dccf163dc8ed7ed6a00afc06c51ee5186a428d35" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/firebase/php-jwt/zipball/dccf163dc8ed7ed6a00afc06c51ee5186a428d35", + "reference": "dccf163dc8ed7ed6a00afc06c51ee5186a428d35", + "shasum": "" + }, + "require": { + "php": ">=5.3.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Firebase\\JWT\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Neuman Vong", + "email": "neuman+pear@twilio.com", + "role": "Developer" + }, + { + "name": "Anant Narayanan", + "email": "anant@php.net", + "role": "Developer" + } + ], + "description": "A simple library to encode and decode JSON Web Tokens (JWT) in PHP. Should conform to the current spec.", + "homepage": "https://github.com/firebase/php-jwt", + "time": "2016-07-18T04:51:16+00:00" + }, + { + "name": "google/apiclient", + "version": "v2.1.3", + "source": { + "type": "git", + "url": "https://github.com/google/google-api-php-client.git", + "reference": "43996f09df274158fd04fce98e8a82effe5f3717" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/google/google-api-php-client/zipball/43996f09df274158fd04fce98e8a82effe5f3717", + "reference": "43996f09df274158fd04fce98e8a82effe5f3717", + "shasum": "" + }, + "require": { + "firebase/php-jwt": "~2.0|~3.0|~4.0", + "google/apiclient-services": "^0.11", + "google/auth": "^0.11", + "guzzlehttp/guzzle": "~5.2|~6.0", + "guzzlehttp/psr7": "^1.2", + "monolog/monolog": "^1.17", + "php": ">=5.4", + "phpseclib/phpseclib": "~0.3.10|~2.0" + }, + "require-dev": { + "cache/filesystem-adapter": "^0.3.2", + "phpunit/phpunit": "~4", + "squizlabs/php_codesniffer": "~2.3", + "symfony/css-selector": "~2.1", + "symfony/dom-crawler": "~2.1" + }, + "suggest": { + "cache/filesystem-adapter": "For caching certs and tokens (using Google_Client::setCache)" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.x-dev" + } + }, + "autoload": { + "psr-0": { + "Google_": "src/" + }, + "classmap": [ + "src/Google/Service/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "Apache-2.0" + ], + "description": "Client library for Google APIs", + "homepage": "http://developers.google.com/api-client-library/php", + "keywords": [ + "google" + ], + "time": "2017-03-22T18:32:04+00:00" + }, + { + "name": "google/apiclient-services", + "version": "v0.11", + "source": { + "type": "git", + "url": "https://github.com/google/google-api-php-client-services.git", + "reference": "48c554aee06f2fd5700d7bdfa4fa6b82d184eb52" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/google/google-api-php-client-services/zipball/48c554aee06f2fd5700d7bdfa4fa6b82d184eb52", + "reference": "48c554aee06f2fd5700d7bdfa4fa6b82d184eb52", + "shasum": "" + }, + "require": { + "php": ">=5.4" + }, + "require-dev": { + "phpunit/phpunit": "~4.8" + }, + "type": "library", + "autoload": { + "psr-0": { + "Google_Service_": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "Apache-2.0" + ], + "description": "Client library for Google APIs", + "homepage": "http://developers.google.com/api-client-library/php", + "keywords": [ + "google" + ], + "time": "2017-03-13T17:40:44+00:00" + }, + { + "name": "google/auth", + "version": "v0.11.1", + "source": { + "type": "git", + "url": "https://github.com/google/google-auth-library-php.git", + "reference": "a240674b08a09949fd5597f7590b3ed83663a12d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/google/google-auth-library-php/zipball/a240674b08a09949fd5597f7590b3ed83663a12d", + "reference": "a240674b08a09949fd5597f7590b3ed83663a12d", + "shasum": "" + }, + "require": { + "firebase/php-jwt": "~2.0|~3.0|~4.0", + "guzzlehttp/guzzle": "~5.3|~6.0", + "guzzlehttp/psr7": "~1.2", + "php": ">=5.4", + "psr/cache": "^1.0", + "psr/http-message": "^1.0" + }, + "require-dev": { + "friendsofphp/php-cs-fixer": "^1.11", + "phpunit/phpunit": "3.7.*" + }, + "type": "library", + "autoload": { + "classmap": [ + "src/" + ], + "psr-4": { + "Google\\Auth\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "Apache-2.0" + ], + "description": "Google Auth Library for PHP", + "homepage": "http://github.com/google/google-auth-library-php", + "keywords": [ + "Authentication", + "google", + "oauth2" + ], + "time": "2016-11-02T14:59:14+00:00" + }, + { + "name": "guzzlehttp/guzzle", + "version": "6.2.3", + "source": { + "type": "git", + "url": "https://github.com/guzzle/guzzle.git", + "reference": "8d6c6cc55186db87b7dc5009827429ba4e9dc006" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/guzzle/guzzle/zipball/8d6c6cc55186db87b7dc5009827429ba4e9dc006", + "reference": "8d6c6cc55186db87b7dc5009827429ba4e9dc006", + "shasum": "" + }, + "require": { + "guzzlehttp/promises": "^1.0", + "guzzlehttp/psr7": "^1.4", + "php": ">=5.5" + }, + "require-dev": { + "ext-curl": "*", + "phpunit/phpunit": "^4.0", + "psr/log": "^1.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "6.2-dev" + } + }, + "autoload": { + "files": [ + "src/functions_include.php" + ], + "psr-4": { + "GuzzleHttp\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Michael Dowling", + "email": "mtdowling@gmail.com", + "homepage": "https://github.com/mtdowling" + } + ], + "description": "Guzzle is a PHP HTTP client library", + "homepage": "http://guzzlephp.org/", + "keywords": [ + "client", + "curl", + "framework", + "http", + "http client", + "rest", + "web service" + ], + "time": "2017-02-28T22:50:30+00:00" + }, + { + "name": "guzzlehttp/promises", + "version": "v1.3.1", + "source": { + "type": "git", + "url": "https://github.com/guzzle/promises.git", + "reference": "a59da6cf61d80060647ff4d3eb2c03a2bc694646" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/guzzle/promises/zipball/a59da6cf61d80060647ff4d3eb2c03a2bc694646", + "reference": "a59da6cf61d80060647ff4d3eb2c03a2bc694646", + "shasum": "" + }, + "require": { + "php": ">=5.5.0" + }, + "require-dev": { + "phpunit/phpunit": "^4.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.4-dev" + } + }, + "autoload": { + "psr-4": { + "GuzzleHttp\\Promise\\": "src/" + }, + "files": [ + "src/functions_include.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Michael Dowling", + "email": "mtdowling@gmail.com", + "homepage": "https://github.com/mtdowling" + } + ], + "description": "Guzzle promises library", + "keywords": [ + "promise" + ], + "time": "2016-12-20T10:07:11+00:00" + }, + { + "name": "guzzlehttp/psr7", + "version": "1.4.2", + "source": { + "type": "git", + "url": "https://github.com/guzzle/psr7.git", + "reference": "f5b8a8512e2b58b0071a7280e39f14f72e05d87c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/guzzle/psr7/zipball/f5b8a8512e2b58b0071a7280e39f14f72e05d87c", + "reference": "f5b8a8512e2b58b0071a7280e39f14f72e05d87c", + "shasum": "" + }, + "require": { + "php": ">=5.4.0", + "psr/http-message": "~1.0" + }, + "provide": { + "psr/http-message-implementation": "1.0" + }, + "require-dev": { + "phpunit/phpunit": "~4.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.4-dev" + } + }, + "autoload": { + "psr-4": { + "GuzzleHttp\\Psr7\\": "src/" + }, + "files": [ + "src/functions_include.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Michael Dowling", + "email": "mtdowling@gmail.com", + "homepage": "https://github.com/mtdowling" + }, + { + "name": "Tobias Schultze", + "homepage": "https://github.com/Tobion" + } + ], + "description": "PSR-7 message implementation that also provides common utility methods", + "keywords": [ + "http", + "message", + "request", + "response", + "stream", + "uri", + "url" + ], + "time": "2017-03-20T17:10:46+00:00" + }, + { + "name": "monolog/monolog", + "version": "1.22.1", + "source": { + "type": "git", + "url": "https://github.com/Seldaek/monolog.git", + "reference": "1e044bc4b34e91743943479f1be7a1d5eb93add0" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/Seldaek/monolog/zipball/1e044bc4b34e91743943479f1be7a1d5eb93add0", + "reference": "1e044bc4b34e91743943479f1be7a1d5eb93add0", + "shasum": "" + }, + "require": { + "php": ">=5.3.0", + "psr/log": "~1.0" + }, + "provide": { + "psr/log-implementation": "1.0.0" + }, + "require-dev": { + "aws/aws-sdk-php": "^2.4.9 || ^3.0", + "doctrine/couchdb": "~1.0@dev", + "graylog2/gelf-php": "~1.0", + "jakub-onderka/php-parallel-lint": "0.9", + "php-amqplib/php-amqplib": "~2.4", + "php-console/php-console": "^3.1.3", + "phpunit/phpunit": "~4.5", + "phpunit/phpunit-mock-objects": "2.3.0", + "ruflin/elastica": ">=0.90 <3.0", + "sentry/sentry": "^0.13", + "swiftmailer/swiftmailer": "~5.3" + }, + "suggest": { + "aws/aws-sdk-php": "Allow sending log messages to AWS services like DynamoDB", + "doctrine/couchdb": "Allow sending log messages to a CouchDB server", + "ext-amqp": "Allow sending log messages to an AMQP server (1.0+ required)", + "ext-mongo": "Allow sending log messages to a MongoDB server", + "graylog2/gelf-php": "Allow sending log messages to a GrayLog2 server", + "mongodb/mongodb": "Allow sending log messages to a MongoDB server via PHP Driver", + "php-amqplib/php-amqplib": "Allow sending log messages to an AMQP server using php-amqplib", + "php-console/php-console": "Allow sending log messages to Google Chrome", + "rollbar/rollbar": "Allow sending log messages to Rollbar", + "ruflin/elastica": "Allow sending log messages to an Elastic Search server", + "sentry/sentry": "Allow sending log messages to a Sentry server" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Monolog\\": "src/Monolog" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jordi Boggiano", + "email": "j.boggiano@seld.be", + "homepage": "http://seld.be" + } + ], + "description": "Sends your logs to files, sockets, inboxes, databases and various web services", + "homepage": "http://github.com/Seldaek/monolog", + "keywords": [ + "log", + "logging", + "psr-3" + ], + "time": "2017-03-13T07:08:03+00:00" + }, + { + "name": "phpoffice/phpexcel", + "version": "1.8.1", + "source": { + "type": "git", + "url": "https://github.com/PHPOffice/PHPExcel.git", + "reference": "372c7cbb695a6f6f1e62649381aeaa37e7e70b32" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/PHPOffice/PHPExcel/zipball/372c7cbb695a6f6f1e62649381aeaa37e7e70b32", + "reference": "372c7cbb695a6f6f1e62649381aeaa37e7e70b32", + "shasum": "" + }, + "require": { + "ext-xml": "*", + "ext-xmlwriter": "*", + "php": ">=5.2.0" + }, + "type": "library", + "autoload": { + "psr-0": { + "PHPExcel": "Classes/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "LGPL" + ], + "authors": [ + { + "name": "Maarten Balliauw", + "homepage": "http://blog.maartenballiauw.be" + }, + { + "name": "Mark Baker" + }, + { + "name": "Franck Lefevre", + "homepage": "http://blog.rootslabs.net" + }, + { + "name": "Erik Tilt" + } + ], + "description": "PHPExcel - OpenXML - Read, Create and Write Spreadsheet documents in PHP - Spreadsheet engine", + "homepage": "http://phpexcel.codeplex.com", + "keywords": [ + "OpenXML", + "excel", + "php", + "spreadsheet", + "xls", + "xlsx" + ], + "time": "2015-05-01T07:00:55+00:00" + }, + { + "name": "phpseclib/phpseclib", + "version": "2.0.4", + "source": { + "type": "git", + "url": "https://github.com/phpseclib/phpseclib.git", + "reference": "ab8028c93c03cc8d9c824efa75dc94f1db2369bf" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phpseclib/phpseclib/zipball/ab8028c93c03cc8d9c824efa75dc94f1db2369bf", + "reference": "ab8028c93c03cc8d9c824efa75dc94f1db2369bf", + "shasum": "" + }, + "require": { + "php": ">=5.3.3" + }, + "require-dev": { + "phing/phing": "~2.7", + "phpunit/phpunit": "~4.0", + "sami/sami": "~2.0", + "squizlabs/php_codesniffer": "~2.0" + }, + "suggest": { + "ext-gmp": "Install the GMP (GNU Multiple Precision) extension in order to speed up arbitrary precision integer arithmetic operations.", + "ext-libsodium": "SSH2/SFTP can make use of some algorithms provided by the libsodium-php extension.", + "ext-mcrypt": "Install the Mcrypt extension in order to speed up a few other cryptographic operations.", + "ext-openssl": "Install the OpenSSL extension in order to speed up a wide variety of cryptographic operations." + }, + "type": "library", + "autoload": { + "files": [ + "phpseclib/bootstrap.php" + ], + "psr-4": { + "phpseclib\\": "phpseclib/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jim Wigginton", + "email": "terrafrost@php.net", + "role": "Lead Developer" + }, + { + "name": "Patrick Monnerat", + "email": "pm@datasphere.ch", + "role": "Developer" + }, + { + "name": "Andreas Fischer", + "email": "bantu@phpbb.com", + "role": "Developer" + }, + { + "name": "Hans-Jürgen Petrich", + "email": "petrich@tronic-media.com", + "role": "Developer" + }, + { + "name": "Graham Campbell", + "email": "graham@alt-three.com", + "role": "Developer" + } + ], + "description": "PHP Secure Communications Library - Pure-PHP implementations of RSA, AES, SSH2, SFTP, X.509 etc.", + "homepage": "http://phpseclib.sourceforge.net", + "keywords": [ + "BigInteger", + "aes", + "asn.1", + "asn1", + "blowfish", + "crypto", + "cryptography", + "encryption", + "rsa", + "security", + "sftp", + "signature", + "signing", + "ssh", + "twofish", + "x.509", + "x509" + ], + "time": "2016-10-04T00:57:04+00:00" + }, + { + "name": "psr/cache", + "version": "1.0.1", + "source": { + "type": "git", + "url": "https://github.com/php-fig/cache.git", + "reference": "d11b50ad223250cf17b86e38383413f5a6764bf8" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/cache/zipball/d11b50ad223250cf17b86e38383413f5a6764bf8", + "reference": "d11b50ad223250cf17b86e38383413f5a6764bf8", + "shasum": "" + }, + "require": { + "php": ">=5.3.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Cache\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "http://www.php-fig.org/" + } + ], + "description": "Common interface for caching libraries", + "keywords": [ + "cache", + "psr", + "psr-6" + ], + "time": "2016-08-06T20:24:11+00:00" + }, + { + "name": "psr/http-message", + "version": "1.0.1", + "source": { + "type": "git", + "url": "https://github.com/php-fig/http-message.git", + "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/http-message/zipball/f6561bf28d520154e4b0ec72be95418abe6d9363", + "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363", + "shasum": "" + }, + "require": { + "php": ">=5.3.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Http\\Message\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "http://www.php-fig.org/" + } + ], + "description": "Common interface for HTTP messages", + "homepage": "https://github.com/php-fig/http-message", + "keywords": [ + "http", + "http-message", + "psr", + "psr-7", + "request", + "response" + ], + "time": "2016-08-06T14:39:51+00:00" + }, + { + "name": "psr/log", + "version": "1.0.2", + "source": { + "type": "git", + "url": "https://github.com/php-fig/log.git", + "reference": "4ebe3a8bf773a19edfe0a84b6585ba3d401b724d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/log/zipball/4ebe3a8bf773a19edfe0a84b6585ba3d401b724d", + "reference": "4ebe3a8bf773a19edfe0a84b6585ba3d401b724d", + "shasum": "" + }, + "require": { + "php": ">=5.3.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Log\\": "Psr/Log/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "http://www.php-fig.org/" + } + ], + "description": "Common interface for logging libraries", + "homepage": "https://github.com/php-fig/log", + "keywords": [ + "log", + "psr", + "psr-3" + ], + "time": "2016-10-10T12:19:37+00:00" + }, + { + "name": "stefangabos/zebra_form", + "version": "2.9.8", + "source": { + "type": "git", + "url": "https://github.com/stefangabos/Zebra_Form.git", + "reference": "dace12d865364afe8b1e1b424968cba069c264fa" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/stefangabos/Zebra_Form/zipball/dace12d865364afe8b1e1b424968cba069c264fa", + "reference": "dace12d865364afe8b1e1b424968cba069c264fa", + "shasum": "" + }, + "require": { + "php": ">=5.3.0" + }, + "type": "library", + "autoload": { + "classmap": [ + "Zebra_Form.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "LGPL-3.0" + ], + "authors": [ + { + "name": "Stefan Gabos", + "email": "contact@stefangabos.ro", + "homepage": "http://stefangabos.ro/", + "role": "Developer" + } + ], + "description": "A jQuery augmented PHP library for creating and validating HTML forms", + "homepage": "http://stefangabos.ro/php-libraries/zebra-form/", + "keywords": [ + "Honeypot", + "client side validation", + "csrf", + "form", + "jquery validation", + "server side validation", + "validate", + "validation", + "xss" + ], + "time": "2016-05-18T14:53:29+00:00" + } + ], + "packages-dev": [], + "aliases": [], + "minimum-stability": "stable", + "stability-flags": [], + "prefer-stable": false, + "prefer-lowest": false, + "platform": [], + "platform-dev": [] +} diff --git a/custom-template.php b/custom-template.php new file mode 100644 index 00000000..bbbf5f50 --- /dev/null +++ b/custom-template.php @@ -0,0 +1,72 @@ + +
+
+

+
+
+
+
+
+
+
+ +
+
+
Nature de la prestation

+
+
+
+
+ +
+
+ +
+
+
Contre-prestation

+ $onePrice) { ?> +
+
CHF
+
+
VIP
CHF
+
+
+
+ +
+
+
+
+
+
+
+ +
+
+
+
+ +
+
+
Paiement
+
+
+
+
+
+
+
+
+
+
+
Distribution
+
+
+
+
+
+
+
  
 
+
diff --git a/details_close.png b/details_close.png new file mode 100644 index 0000000000000000000000000000000000000000..9c7d6982d9a1408f24278ed38458bcf4722f365f GIT binary patch literal 686 zcmV;f0#W^mP)rc9KHq9BMrrU)X4H-ZEQYRE1Mf85oDS6+Hm_uUD?Zq_fw zn=!^pDk~VX)hyi>=S**$PUrUR`S!lB@UYy4U- zlEcGD4Gkgv=rJ;WKMI))DAuw^dT%HXWm=_w?8Z*(BJ3CQI%#--o7^rMEd#LBM)@B$J!$?OvK`BMr zRsP$^2&f}b(NMqg?(VM1WPEB0UtKPttw@_o;Zl6jYuxh?_E**)MMmZ=lj-GUY_zo4 zX(g@tS*_O65-5I9{ZVRcW0RMmjZRMDLvyp>RI5|PAGtc61d;J^<~u33U#`0zaEJU_|e`8Yr*V+r?U8t8q~5ysN3H=`#OLdQ`{tkJnH+Sb-{!Kx_E1b-CDbv<6zhT-G!; zHrm-k^-4++%<@a!5cN&=qHLfPW&NcnA1I0WN?Z#PQ?_Tq4T=XPJ+fmXr9Rgh3WX*Z zY#nYzQEw57`)ss=4Tg%vFE(OA%kWiDnx_5WNX2@ofwe7&7_56;heB6A3S0$9q(X_2 z`oVfov$L}iHK*xu4Qu;rVd=8M;tWJwyMNQvvP;;W?hU$~2rlvFo8-^N?*Lg_D zTe3=V`<3HIr6d4&egY9GOIM|W1%+nkgGI!)I?U}_s`qE~MPPaOgl(?}8>tURI zbq@QVWUtD}o>Q37XTTcP8e{XvVEg@k7er&fzT$lU1!T4DL)K$KEZM8pr+dy|-ehDF_X77(*?9ze9%f;;Q2ML_ci!DaFdSTY^)igBw_c9}Yfb<4e2tHf re}@wNRi3XkJ+L;i)(3W7{ssI7YL=IQ_s#k*00000NkvXXu0mjfLt|7w literal 0 HcmV?d00001 diff --git a/favicon.ico b/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..df6f9bdf1e8a448701632ae61ffe01b2af8a3035 GIT binary patch literal 1150 zcma*n%PvDv6vpvYEn0PHQyQJLM2N=JTA|`|giA#t}+>#(V;_uk81YoE0>%mVzxV#a5iZG_B{X4VZtL@IFxGk%wdR+QKO z_-N1O4K>K11NBhMH{02#+*z#S2xsVnZw+Tp3*$B#5JC<`Wa0S^`aP7>j4EfXnCh)) z?e#eO1B`L#+yxxs4FgcEI;2pmwfks}AQtfsMXP_Yvx66512XAe0%BL>w_ud3;nuDusH#w&C;imB#_ zGxw~)9`!MeC6vE|jJ+6xYI)|Die{xC0!UTHH1lv1X&L@^gi*k!S^Nhjv&bL6-+_%C literal 0 HcmV?d00001 diff --git a/index.php b/index.php new file mode 100644 index 00000000..6522cc04 --- /dev/null +++ b/index.php @@ -0,0 +1,104 @@ + + + + + + + + + + + + Carbana Accréditations + + + + + + +
+ + +

Identification


+

Saisis ton nom d'utilisateur et mot de passe gmail pour t'identifier et accéder aux demandes d'accréditation en utilisant le bouton ci-dessous.

+

Le mot de passe n'est pas tranmis à Caribana.

+
+
+
+
+
+
+ +
+ + + + + diff --git a/installer b/installer new file mode 100644 index 00000000..ace09330 --- /dev/null +++ b/installer @@ -0,0 +1,5446 @@ + + * Jordi Boggiano + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +process(is_array($argv) ? $argv : array()); + +/** + * processes the installer + */ +function process($argv) +{ + // Determine ANSI output from --ansi and --no-ansi flags + setUseAnsi($argv); + + if (in_array('--help', $argv)) { + displayHelp(); + exit(0); + } + + $check = in_array('--check', $argv); + $help = in_array('--help', $argv); + $force = in_array('--force', $argv); + $quiet = in_array('--quiet', $argv); + $channel = in_array('--snapshot', $argv) ? 'snapshot' : (in_array('--preview', $argv) ? 'preview' : 'stable'); + $disableTls = in_array('--disable-tls', $argv); + $installDir = getOptValue('--install-dir', $argv, false); + $version = getOptValue('--version', $argv, false); + $filename = getOptValue('--filename', $argv, 'composer.phar'); + $cafile = getOptValue('--cafile', $argv, false); + + if (!checkParams($installDir, $version, $cafile)) { + exit(1); + } + + $ok = checkPlatform($warnings, $quiet, $disableTls, true); + + if ($check) { + // Only show warnings if we haven't output any errors + if ($ok) { + showWarnings($warnings); + showSecurityWarning($disableTls); + } + exit($ok ? 0 : 1); + } + + if ($ok || $force) { + $installer = new Installer($quiet, $disableTls, $cafile); + if ($installer->run($version, $installDir, $filename, $channel)) { + showWarnings($warnings); + showSecurityWarning($disableTls); + exit(0); + } + } + + exit(1); +} + +/** + * displays the help + */ +function displayHelp() +{ + echo << $value) { + $next = $key + 1; + if (0 === strpos($value, $opt)) { + if ($optLength === strlen($value) && isset($argv[$next])) { + return trim($argv[$next]); + } else { + return trim(substr($value, $optLength + 1)); + } + } + } + + return $default; +} + +/** + * Checks that user-supplied params are valid + * + * @param mixed $installDir The required istallation directory + * @param mixed $version The required composer version to install + * @param mixed $cafile Certificate Authority file + * + * @return bool True if the supplied params are okay + */ +function checkParams($installDir, $version, $cafile) +{ + $result = true; + + if (false !== $installDir && !is_dir($installDir)) { + out("The defined install dir ({$installDir}) does not exist.", 'info'); + $result = false; + } + + if (false !== $version && 1 !== preg_match('/^\d+\.\d+\.\d+(\-(alpha|beta|RC)\d*)*$/', $version)) { + out("The defined install version ({$version}) does not match release pattern.", 'info'); + $result = false; + } + + if (false !== $cafile && (!file_exists($cafile) || !is_readable($cafile))) { + out("The defined Certificate Authority (CA) cert file ({$cafile}) does not exist or is not readable.", 'info'); + $result = false; + } + return $result; +} + +/** + * Checks the platform for possible issues running Composer + * + * Errors are written to the output, warnings are saved for later display. + * + * @param array $warnings Populated by method, to be shown later + * @param bool $quiet Quiet mode + * @param bool $disableTls Bypass tls + * @param bool $install If we are installing, rather than diagnosing + * + * @return bool True if there are no errors + */ +function checkPlatform(&$warnings, $quiet, $disableTls, $install) +{ + getPlatformIssues($errors, $warnings, $install); + + // Make openssl warning an error if tls has not been specifically disabled + if (isset($warnings['openssl']) && !$disableTls) { + $errors['openssl'] = $warnings['openssl']; + unset($warnings['openssl']); + } + + if (!empty($errors)) { + out('Some settings on your machine make Composer unable to work properly.', 'error'); + out('Make sure that you fix the issues listed below and run this script again:', 'error'); + outputIssues($errors); + return false; + } + + if (empty($warnings) && !$quiet) { + out('All settings correct for using Composer', 'success'); + } + return true; +} + +/** + * Checks platform configuration for common incompatibility issues + * + * @param array $errors Populated by method + * @param array $warnings Populated by method + * @param bool $install If we are installing, rather than diagnosing + * + * @return bool If any errors or warnings have been found + */ +function getPlatformIssues(&$errors, &$warnings, $install) +{ + $errors = array(); + $warnings = array(); + + if ($iniPath = php_ini_loaded_file()) { + $iniMessage = PHP_EOL.'The php.ini used by your command-line PHP is: ' . $iniPath; + } else { + $iniMessage = PHP_EOL.'A php.ini file does not exist. You will have to create one.'; + } + $iniMessage .= PHP_EOL.'If you can not modify the ini file, you can also run `php -d option=value` to modify ini values on the fly. You can use -d multiple times.'; + + if (ini_get('detect_unicode')) { + $errors['unicode'] = array( + 'The detect_unicode setting must be disabled.', + 'Add the following to the end of your `php.ini`:', + ' detect_unicode = Off', + $iniMessage + ); + } + + if (extension_loaded('suhosin')) { + $suhosin = ini_get('suhosin.executor.include.whitelist'); + $suhosinBlacklist = ini_get('suhosin.executor.include.blacklist'); + if (false === stripos($suhosin, 'phar') && (!$suhosinBlacklist || false !== stripos($suhosinBlacklist, 'phar'))) { + $errors['suhosin'] = array( + 'The suhosin.executor.include.whitelist setting is incorrect.', + 'Add the following to the end of your `php.ini` or suhosin.ini (Example path [for Debian]: /etc/php5/cli/conf.d/suhosin.ini):', + ' suhosin.executor.include.whitelist = phar '.$suhosin, + $iniMessage + ); + } + } + + if (!function_exists('json_decode')) { + $errors['json'] = array( + 'The json extension is missing.', + 'Install it or recompile php without --disable-json' + ); + } + + if (!extension_loaded('Phar')) { + $errors['phar'] = array( + 'The phar extension is missing.', + 'Install it or recompile php without --disable-phar' + ); + } + + if (!extension_loaded('filter')) { + $errors['filter'] = array( + 'The filter extension is missing.', + 'Install it or recompile php without --disable-filter' + ); + } + + if (!extension_loaded('hash')) { + $errors['hash'] = array( + 'The hash extension is missing.', + 'Install it or recompile php without --disable-hash' + ); + } + + if (!extension_loaded('iconv') && !extension_loaded('mbstring')) { + $errors['iconv_mbstring'] = array( + 'The iconv OR mbstring extension is required and both are missing.', + 'Install either of them or recompile php without --disable-iconv' + ); + } + + if (!ini_get('allow_url_fopen')) { + $errors['allow_url_fopen'] = array( + 'The allow_url_fopen setting is incorrect.', + 'Add the following to the end of your `php.ini`:', + ' allow_url_fopen = On', + $iniMessage + ); + } + + if (extension_loaded('ionCube Loader') && ioncube_loader_iversion() < 40009) { + $ioncube = ioncube_loader_version(); + $errors['ioncube'] = array( + 'Your ionCube Loader extension ('.$ioncube.') is incompatible with Phar files.', + 'Upgrade to ionCube 4.0.9 or higher or remove this line (path may be different) from your `php.ini` to disable it:', + ' zend_extension = /usr/lib/php5/20090626+lfs/ioncube_loader_lin_5.3.so', + $iniMessage + ); + } + + if (version_compare(PHP_VERSION, '5.3.2', '<')) { + $errors['php'] = array( + 'Your PHP ('.PHP_VERSION.') is too old, you must upgrade to PHP 5.3.2 or higher.' + ); + } + + if (version_compare(PHP_VERSION, '5.3.4', '<')) { + $warnings['php'] = array( + 'Your PHP ('.PHP_VERSION.') is quite old, upgrading to PHP 5.3.4 or higher is recommended.', + 'Composer works with 5.3.2+ for most people, but there might be edge case issues.' + ); + } + + if (!extension_loaded('openssl')) { + $warnings['openssl'] = array( + 'The openssl extension is missing, which means that secure HTTPS transfers are impossible.', + 'If possible you should enable it or recompile php with --with-openssl' + ); + } + + if (extension_loaded('openssl') && OPENSSL_VERSION_NUMBER < 0x1000100f) { + // Attempt to parse version number out, fallback to whole string value. + $opensslVersion = trim(strstr(OPENSSL_VERSION_TEXT, ' ')); + $opensslVersion = substr($opensslVersion, 0, strpos($opensslVersion, ' ')); + $opensslVersion = $opensslVersion ? $opensslVersion : OPENSSL_VERSION_TEXT; + + $warnings['openssl_version'] = array( + 'The OpenSSL library ('.$opensslVersion.') used by PHP does not support TLSv1.2 or TLSv1.1.', + 'If possible you should upgrade OpenSSL to version 1.0.1 or above.' + ); + } + + if (!defined('HHVM_VERSION') && !extension_loaded('apcu') && ini_get('apc.enable_cli')) { + $warnings['apc_cli'] = array( + 'The apc.enable_cli setting is incorrect.', + 'Add the following to the end of your `php.ini`:', + ' apc.enable_cli = Off', + $iniMessage + ); + } + + if (!$install && extension_loaded('xdebug')) { + $warnings['xdebug_loaded'] = array( + 'The xdebug extension is loaded, this can slow down Composer a little.', + 'Disabling it when using Composer is recommended.' + ); + + if (ini_get('xdebug.profiler_enabled')) { + $warnings['xdebug_profile'] = array( + 'The xdebug.profiler_enabled setting is enabled, this can slow down Composer a lot.', + 'Add the following to the end of your `php.ini` to disable it:', + ' xdebug.profiler_enabled = 0', + $iniMessage + ); + } + } + + if (!extension_loaded('zlib')) { + $warnings['zlib'] = array( + 'The zlib extension is not loaded, this can slow down Composer a lot.', + 'If possible, install it or recompile php with --with-zlib', + $iniMessage + ); + } + + ob_start(); + phpinfo(INFO_GENERAL); + $phpinfo = ob_get_clean(); + if (preg_match('{Configure Command(?: *| *=> *)(.*?)(?:|$)}m', $phpinfo, $match)) { + $configure = $match[1]; + + if (false !== strpos($configure, '--enable-sigchild')) { + $warnings['sigchild'] = array( + 'PHP was compiled with --enable-sigchild which can cause issues on some platforms.', + 'Recompile it without this flag if possible, see also:', + ' https://bugs.php.net/bug.php?id=22999' + ); + } + + if (false !== strpos($configure, '--with-curlwrappers')) { + $warnings['curlwrappers'] = array( + 'PHP was compiled with --with-curlwrappers which will cause issues with HTTP authentication and GitHub.', + 'Recompile it without this flag if possible' + ); + } + } + + // Stringify the message arrays + foreach ($errors as $key => $value) { + $errors[$key] = PHP_EOL.implode(PHP_EOL, $value); + } + + foreach ($warnings as $key => $value) { + $warnings[$key] = PHP_EOL.implode(PHP_EOL, $value); + } + + return !empty($errors) || !empty($warnings); +} + + +/** + * Outputs an array of issues + * + * @param array $issues + */ +function outputIssues($issues) +{ + foreach ($issues as $issue) { + out($issue, 'info'); + } + out(''); +} + +/** + * Outputs any warnings found + * + * @param array $warnings + */ +function showWarnings($warnings) +{ + if (!empty($warnings)) { + out('Some settings on your machine may cause stability issues with Composer.', 'error'); + out('If you encounter issues, try to change the following:', 'error'); + outputIssues($warnings); + } +} + +/** + * Outputs an end of process warning if tls has been bypassed + * + * @param bool $disableTls Bypass tls + */ +function showSecurityWarning($disableTls) +{ + if ($disableTls) { + out('You have instructed the Installer not to enforce SSL/TLS security on remote HTTPS requests.', 'info'); + out('This will leave all downloads during installation vulnerable to Man-In-The-Middle (MITM) attacks', 'info'); + } +} + +/** + * colorize output + */ +function out($text, $color = null, $newLine = true) +{ + $styles = array( + 'success' => "\033[0;32m%s\033[0m", + 'error' => "\033[31;31m%s\033[0m", + 'info' => "\033[33;33m%s\033[0m" + ); + + $format = '%s'; + + if (isset($styles[$color]) && USE_ANSI) { + $format = $styles[$color]; + } + + if ($newLine) { + $format .= PHP_EOL; + } + + printf($format, $text); +} + +/** + * Returns the system-dependent Composer home location, which may not exist + * + * @return string + */ +function getHomeDir() +{ + $home = getenv('COMPOSER_HOME'); + + if (!$home) { + $userDir = getUserDir(); + + if (defined('PHP_WINDOWS_VERSION_MAJOR')) { + $home = $userDir.'/Composer'; + } else { + $home = $userDir.'/.composer'; + + if (!is_dir($home) && useXdg()) { + // XDG Base Directory Specifications + if (!($xdgConfig = getenv('XDG_CONFIG_HOME'))) { + $xdgConfig = $userDir.'/.config'; + } + $home = $xdgConfig.'/composer'; + } + } + } + return $home; +} + +/** + * Returns the location of the user directory from the environment + * @throws RuntimeException If the environment value does not exists + * + * @return string + */ +function getUserDir() +{ + $userEnv = defined('PHP_WINDOWS_VERSION_MAJOR') ? 'APPDATA' : 'HOME'; + $userDir = getenv($userEnv); + + if (!$userDir) { + throw new RuntimeException('The '.$userEnv.' or COMPOSER_HOME environment variable must be set for composer to run correctly'); + } + + return rtrim(strtr($userDir, '\\', '/'), '/'); +} + +/** + * @return bool + */ +function useXdg() +{ + foreach (array_keys($_SERVER) as $key) { + if (substr($key, 0, 4) === 'XDG_') { + return true; + } + } + return false; +} + +function validateCaFile($contents) +{ + // assume the CA is valid if php is vulnerable to + // https://www.sektioneins.de/advisories/advisory-012013-php-openssl_x509_parse-memory-corruption-vulnerability.html + if ( + PHP_VERSION_ID <= 50327 + || (PHP_VERSION_ID >= 50400 && PHP_VERSION_ID < 50422) + || (PHP_VERSION_ID >= 50500 && PHP_VERSION_ID < 50506) + ) { + return !empty($contents); + } + + return (bool) openssl_x509_parse($contents); +} + +class Installer +{ + private $quiet; + private $disableTls; + private $cafile; + private $installPath; + private $target; + private $tmpFile; + private $baseUrl; + private $algo; + private $errHandler; + private $httpClient; + private $pubKeys = array(); + private $installs = array(); + + /** + * Constructor - must not do anything that throws an exception + * + * @param bool $quiet Quiet mode + * @param bool $disableTls Bypass tls + * @param mixed $cafile Path to CA bundle, or false + */ + public function __construct($quiet, $disableTls, $caFile) + { + if (($this->quiet = $quiet)) { + ob_start(); + } + $this->disableTls = $disableTls; + $this->cafile = $caFile; + $this->errHandler = new ErrorHandler(); + } + + /** + * Runs the installer + * + * @param mixed $version Specific version to install, or false + * @param mixed $installDir Specific installation directory, or false + * @param string $filename Specific filename to save to, or composer.phar + * @param string $channel Specific version channel to use + * @throws Exception If anything other than a RuntimeException is caught + * + * @return bool If the installation succeeded + */ + public function run($version, $installDir, $filename, $channel) + { + try { + $this->initTargets($installDir, $filename); + $this->initTls(); + $this->httpClient = new HttpClient($this->disableTls, $this->cafile); + $result = $this->install($version, $channel); + + if ($result && $channel !== 'stable' && !$version && defined('PHP_BINARY')) { + $null = (defined('PHP_WINDOWS_VERSION_MAJOR') ? 'NUL' : '/dev/null'); + @exec(escapeshellarg(PHP_BINARY) .' '.escapeshellarg($this->target).' self-update --'.$channel.' --set-channel-only -q > '.$null.' 2> '.$null, $output); + } + } catch (Exception $e) { + $result = false; + } + + // Always clean up + $this->cleanUp($result); + + if (isset($e)) { + // Rethrow anything that is not a RuntimeException + if (!$e instanceof RuntimeException) { + throw $e; + } + out($e->getMessage(), 'error'); + } + return $result; + } + + /** + * Initialization methods to set the required filenames and composer url + * + * @param mixed $installDir Specific installation directory, or false + * @param string $filename Specific filename to save to, or composer.phar + * @throws RuntimeException If the installation directory is not writable + */ + protected function initTargets($installDir, $filename) + { + $this->installPath = (is_dir($installDir) ? rtrim($installDir, '/').'/' : '').$filename; + $installDir = realpath($installDir) ? realpath($installDir) : getcwd(); + + if (!is_writeable($installDir)) { + throw new RuntimeException('The installation directory "'.$installDir.'" is not writable'); + } + + $this->target = $installDir.DIRECTORY_SEPARATOR.$filename; + $this->tmpFile = $installDir.DIRECTORY_SEPARATOR.basename($this->target, '.phar').'-temp.phar'; + + $uriScheme = $this->disableTls ? 'http' : 'https'; + $this->baseUrl = $uriScheme.'://getcomposer.org'; + } + + /** + * A wrapper around methods to check tls and write public keys + * @throws RuntimeException If SHA384 is not supported + */ + protected function initTls() + { + if ($this->disableTls) { + return; + } + + if (!in_array('SHA384', openssl_get_md_methods())) { + throw new RuntimeException('SHA384 is not supported by your openssl extension'); + } + + $this->algo = defined('OPENSSL_ALGO_SHA384') ? OPENSSL_ALGO_SHA384 : 'SHA384'; + $home = $this->getComposerHome(); + + $this->pubKeys = array( + 'dev' => $this->installKey(self::getPKDev(), $home, 'keys.dev.pub'), + 'tags' => $this->installKey(self::getPKTags(), $home, 'keys.tags.pub') + ); + + if (empty($this->cafile) && !HttpClient::getSystemCaRootBundlePath()) { + $this->cafile = $this->installKey(HttpClient::getPackagedCaFile(), $home, 'cacert.pem'); + } + } + + /** + * Returns the Composer home directory, creating it if required + * @throws RuntimeException If the directory cannot be created + * + * @return string + */ + protected function getComposerHome() + { + $home = getHomeDir(); + + if (!is_dir($home)) { + $this->errHandler->start(); + + if (!mkdir($home, 0777, true)) { + throw new RuntimeException(sprintf( + 'Unable to create Composer home directory "%s": %s', + $home, + $this->errHandler->message + )); + } + $this->installs[] = $home; + $this->errHandler->stop(); + } + return $home; + } + + /** + * Writes public key data to disc + * + * @param string $data The public key(s) in pem format + * @param string $path The directory to write to + * @param string $filename The name of the file + * @throws RuntimeException If the file cannot be written + * + * @return string The path to the saved data + */ + protected function installKey($data, $path, $filename) + { + $this->errHandler->start(); + + $target = $path.DIRECTORY_SEPARATOR.$filename; + $installed = file_exists($target); + $write = file_put_contents($target, $data, LOCK_EX); + @chmod($target, 0644); + + $this->errHandler->stop(); + + if (!$write) { + throw new RuntimeException(sprintf('Unable to write %s to: %s', $filename, $path)); + } + + if (!$installed) { + $this->installs[] = $target; + } + + return $target; + } + + /** + * The main install function + * + * @param mixed $version Specific version to install, or false + * @param string $channel Version channel to use + * + * @return bool If the installation succeeded + */ + protected function install($version, $channel) + { + $retries = 3; + $result = false; + $infoMsg = 'Downloading...'; + $infoType = 'info'; + + while ($retries--) { + if (!$this->quiet) { + out($infoMsg, $infoType); + $infoMsg = 'Retrying...'; + $infoType = 'error'; + } + + if (!$this->getVersion($channel, $version, $url, $error)) { + out($error, 'error'); + continue; + } + + if (!$this->downloadToTmp($url, $signature, $error)) { + out($error, 'error'); + continue; + } + + if (!$this->verifyAndSave($version, $signature, $error)) { + out($error, 'error'); + continue; + } + + $result = true; + break; + } + + if (!$this->quiet) { + if ($result) { + out(PHP_EOL."Composer (version {$version}) successfully installed to: {$this->target}", 'success'); + out("Use it: php {$this->installPath}", 'info'); + out(''); + } else { + out('The download failed repeatedly, aborting.', 'error'); + } + } + return $result; + } + + /** + * Sets the version url, downloading version data if required + * + * @param string $channel Version channel to use + * @param false|string $version Version to install, or set by method + * @param null|string $url The versioned url, set by method + * @param null|string $error Set by method on failure + * + * @return bool If the operation succeeded + */ + protected function getVersion($channel, &$version, &$url, &$error) + { + $error = ''; + + if ($version) { + if (empty($url)) { + $url = $this->baseUrl."/download/{$version}/composer.phar"; + } + return true; + } + + $this->errHandler->start(); + + if ($this->downloadVersionData($data, $error)) { + $this->parseVersionData($data, $channel, $version, $url); + } + + $this->errHandler->stop(); + return empty($error); + } + + /** + * Downloads and json-decodes version data + * + * @param null|array $data Downloaded version data, set by method + * @param null|string $error Set by method on failure + * + * @return bool If the operation succeeded + */ + protected function downloadVersionData(&$data, &$error) + { + $url = $this->baseUrl.'/versions'; + $errFmt = 'The "%s" file could not be %s: %s'; + + if (!$json = $this->httpClient->get($url)) { + $error = sprintf($errFmt, $url, 'downloaded', $this->errHandler->message); + return false; + } + + if (!$data = json_decode($json, true)) { + $error = sprintf($errFmt, $url, 'json-decoded', $this->getJsonError()); + return false; + } + return true; + } + + /** + * A wrapper around the methods needed to download and save the phar + * + * @param string $url The versioned download url + * @param null|string $signature Set by method on successful download + * @param null|string $error Set by method on failure + * + * @return bool If the operation succeeded + */ + protected function downloadToTmp($url, &$signature, &$error) + { + $error = ''; + $errFmt = 'The "%s" file could not be downloaded: %s'; + $sigUrl = $url.'.sig'; + $this->errHandler->start(); + + if (!$fh = fopen($this->tmpFile, 'w')) { + $error = sprintf('Could not create file "%s": %s', $this->tmpFile, $this->errHandler->message); + + } elseif (!$this->getSignature($sigUrl, $signature)) { + $error = sprintf($errFmt, $sigUrl, $this->errHandler->message); + + } elseif (!fwrite($fh, $this->httpClient->get($url))) { + $error = sprintf($errFmt, $url, $this->errHandler->message); + } + + if (is_resource($fh)) { + fclose($fh); + } + $this->errHandler->stop(); + return empty($error); + } + + /** + * Verifies the downloaded file and saves it to the target location + * + * @param string $version The composer version downloaded + * @param string $signature The digital signature to check + * @param null|string $error Set by method on failure + * + * @return bool If the operation succeeded + */ + protected function verifyAndSave($version, $signature, &$error) + { + $error = ''; + + if (!$this->validatePhar($this->tmpFile, $pharError)) { + $error = 'The download is corrupt: '.$pharError; + + } elseif (!$this->verifySignature($version, $signature, $this->tmpFile)) { + $error = 'Signature mismatch, could not verify the phar file integrity'; + + } else { + $this->errHandler->start(); + + if (!rename($this->tmpFile, $this->target)) { + $error = sprintf('Could not write to file "%s": %s', $this->target, $this->errHandler->message); + } + chmod($this->target, 0755); + $this->errHandler->stop(); + } + + return empty($error); + } + + /** + * Parses an array of version data to match the required channel + * + * @param array $data Downloaded version data + * @param mixed $channel Version channel to use + * @param false|string $version Set by method + * @param mixed $url The versioned url, set by method + */ + protected function parseVersionData(array $data, $channel, &$version, &$url) + { + foreach ($data[$channel] as $candidate) { + if ($candidate['min-php'] <= PHP_VERSION_ID) { + $version = $candidate['version']; + $url = $this->baseUrl.$candidate['path']; + break; + } + } + + if (!$version) { + $error = sprintf( + 'None of the %d %s version(s) of Composer matches your PHP version (%s / ID: %d)', + count($data[$channel]), + $channel, + PHP_VERSION, + PHP_VERSION_ID + ); + throw new RuntimeException($error); + } + } + + /** + * Downloads the digital signature of required phar file + * + * @param string $url The signature url + * @param null|string $signature Set by method on success + * + * @return bool If the download succeeded + */ + protected function getSignature($url, &$signature) + { + if (!$result = $this->disableTls) { + $signature = $this->httpClient->get($url); + + if ($signature) { + $signature = json_decode($signature, true); + $signature = base64_decode($signature['sha384']); + $result = true; + } + } + + return $result; + } + + /** + * Verifies the signature of the downloaded phar + * + * @param string $version The composer versione + * @param string $signature The downloaded digital signature + * @param string $file The temp phar file + * + * @return bool If the operation succeeded + */ + protected function verifySignature($version, $signature, $file) + { + if (!$result = $this->disableTls) { + $path = preg_match('{^[0-9a-f]{40}$}', $version) ? $this->pubKeys['dev'] : $this->pubKeys['tags']; + $pubkeyid = openssl_pkey_get_public('file://'.$path); + + $result = 1 === openssl_verify( + file_get_contents($file), + $signature, + $pubkeyid, + $this->algo + ); + + openssl_free_key($pubkeyid); + } + + return $result; + } + + /** + * Validates the downloaded phar file + * + * @param string $pharFile The temp phar file + * @param null|string $error Set by method on failure + * + * @return bool If the operation succeeded + */ + protected function validatePhar($pharFile, &$error) + { + if (ini_get('phar.readonly')) { + return true; + } + + try { + // Test the phar validity + $phar = new Phar($pharFile); + // Free the variable to unlock the file + unset($phar); + $result = true; + + } catch (Exception $e) { + if (!$e instanceof UnexpectedValueException && !$e instanceof PharException) { + throw $e; + } + $error = $e->getMessage(); + $result = false; + } + return $result; + } + + /** + * Returns a string representation of the last json error + * + * @return string The error string or code + */ + protected function getJsonError() + { + if (function_exists('json_last_error_msg')) { + return json_last_error_msg(); + } else { + return 'json_last_error = '.json_last_error(); + } + } + + /** + * Cleans up resources at the end of the installation + * + * @param bool $result If the installation succeeded + */ + protected function cleanUp($result) + { + if (!$result) { + // Output buffered errors + if ($this->quiet) { + $this->outputErrors(); + } + // Clean up stuff we created + $this->uninstall(); + } + } + + /** + * Outputs unique errors when in quiet mode + * + */ + protected function outputErrors() + { + $errors = explode(PHP_EOL, ob_get_clean()); + $shown = array(); + + foreach ($errors as $error) { + if ($error && !in_array($error, $shown)) { + out($error, 'error'); + $shown[] = $error; + } + } + } + + /** + * Uninstalls newly-created files and directories on failure + * + */ + protected function uninstall() + { + foreach (array_reverse($this->installs) as $target) { + if (is_file($target)) { + @unlink($target); + } elseif (is_dir($target)) { + @rmdir($target); + } + } + + if (file_exists($this->tmpFile)) { + @unlink($this->tmpFile); + } + } + + public static function getPKDev() + { + return <<message) { + $this->message .= PHP_EOL; + } + $this->message .= preg_replace('{^file_get_contents\(.*?\): }', '', $msg); + } + + /** + * Starts error-handling if not already active + * + * Any message is cleared + */ + public function start() + { + if (!$this->active) { + set_error_handler(array($this, 'handleError')); + $this->active = true; + } + $this->message = ''; + } + + /** + * Stops error-handling if active + * + * Any message is preserved until the next call to start() + */ + public function stop() + { + if ($this->active) { + restore_error_handler(); + $this->active = false; + } + } +} + +class HttpClient { + + private $options = array('http' => array()); + private $disableTls = false; + + public function __construct($disableTls = false, $cafile = false) + { + $this->disableTls = $disableTls; + if ($this->disableTls === false) { + if (!empty($cafile) && !is_dir($cafile)) { + if (!is_readable($cafile) || !validateCaFile(file_get_contents($cafile))) { + throw new RuntimeException('The configured cafile (' .$cafile. ') was not valid or could not be read.'); + } + } + $options = $this->getTlsStreamContextDefaults($cafile); + $this->options = array_replace_recursive($this->options, $options); + } + } + + public function get($url) + { + $context = $this->getStreamContext($url); + $result = file_get_contents($url, false, $context); + + if ($result && extension_loaded('zlib')) { + $decode = false; + foreach ($http_response_header as $header) { + if (preg_match('{^content-encoding: *gzip *$}i', $header)) { + $decode = true; + continue; + } elseif (preg_match('{^HTTP/}i', $header)) { + $decode = false; + } + } + + if ($decode) { + if (version_compare(PHP_VERSION, '5.4.0', '>=')) { + $result = zlib_decode($result); + } else { + // work around issue with gzuncompress & co that do not work with all gzip checksums + $result = file_get_contents('compress.zlib://data:application/octet-stream;base64,'.base64_encode($result)); + } + + if (!$result) { + throw new RuntimeException('Failed to decode zlib stream'); + } + } + } + + return $result; + } + + protected function getStreamContext($url) + { + if ($this->disableTls === false) { + $host = parse_url($url, PHP_URL_HOST); + if (PHP_VERSION_ID < 50600) { + $this->options['ssl']['CN_match'] = $host; + $this->options['ssl']['SNI_server_name'] = $host; + } + } + // Keeping the above mostly isolated from the code copied from Composer. + return $this->getMergedStreamContext($url); + } + + protected function getTlsStreamContextDefaults($cafile) + { + $ciphers = implode(':', array( + 'ECDHE-RSA-AES128-GCM-SHA256', + 'ECDHE-ECDSA-AES128-GCM-SHA256', + 'ECDHE-RSA-AES256-GCM-SHA384', + 'ECDHE-ECDSA-AES256-GCM-SHA384', + 'DHE-RSA-AES128-GCM-SHA256', + 'DHE-DSS-AES128-GCM-SHA256', + 'kEDH+AESGCM', + 'ECDHE-RSA-AES128-SHA256', + 'ECDHE-ECDSA-AES128-SHA256', + 'ECDHE-RSA-AES128-SHA', + 'ECDHE-ECDSA-AES128-SHA', + 'ECDHE-RSA-AES256-SHA384', + 'ECDHE-ECDSA-AES256-SHA384', + 'ECDHE-RSA-AES256-SHA', + 'ECDHE-ECDSA-AES256-SHA', + 'DHE-RSA-AES128-SHA256', + 'DHE-RSA-AES128-SHA', + 'DHE-DSS-AES128-SHA256', + 'DHE-RSA-AES256-SHA256', + 'DHE-DSS-AES256-SHA', + 'DHE-RSA-AES256-SHA', + 'AES128-GCM-SHA256', + 'AES256-GCM-SHA384', + 'ECDHE-RSA-RC4-SHA', + 'ECDHE-ECDSA-RC4-SHA', + 'AES128', + 'AES256', + 'RC4-SHA', + 'HIGH', + '!aNULL', + '!eNULL', + '!EXPORT', + '!DES', + '!3DES', + '!MD5', + '!PSK' + )); + + /** + * CN_match and SNI_server_name are only known once a URL is passed. + * They will be set in the getOptionsForUrl() method which receives a URL. + * + * cafile or capath can be overridden by passing in those options to constructor. + */ + $options = array( + 'ssl' => array( + 'ciphers' => $ciphers, + 'verify_peer' => true, + 'verify_depth' => 7, + 'SNI_enabled' => true, + ) + ); + + /** + * Attempt to find a local cafile or throw an exception. + * The user may go download one if this occurs. + */ + if (!$cafile) { + $cafile = self::getSystemCaRootBundlePath(); + } + if (is_dir($cafile)) { + $options['ssl']['capath'] = $cafile; + } elseif ($cafile) { + $options['ssl']['cafile'] = $cafile; + } else { + throw new RuntimeException('A valid cafile could not be located automatically.'); + } + + /** + * Disable TLS compression to prevent CRIME attacks where supported. + */ + if (version_compare(PHP_VERSION, '5.4.13') >= 0) { + $options['ssl']['disable_compression'] = true; + } + + return $options; + } + + /** + * function copied from Composer\Util\StreamContextFactory::getContext + * + * Any changes should be applied there as well, or backported here. + * + * @param string $url URL the context is to be used for + * @return resource Default context + * @throws \RuntimeException if https proxy required and OpenSSL uninstalled + */ + protected function getMergedStreamContext($url) + { + $options = $this->options; + + // Handle system proxy + if (!empty($_SERVER['HTTP_PROXY']) || !empty($_SERVER['http_proxy'])) { + // Some systems seem to rely on a lowercased version instead... + $proxy = parse_url(!empty($_SERVER['http_proxy']) ? $_SERVER['http_proxy'] : $_SERVER['HTTP_PROXY']); + } + + if (!empty($proxy)) { + $proxyURL = isset($proxy['scheme']) ? $proxy['scheme'] . '://' : ''; + $proxyURL .= isset($proxy['host']) ? $proxy['host'] : ''; + + if (isset($proxy['port'])) { + $proxyURL .= ":" . $proxy['port']; + } elseif ('http://' == substr($proxyURL, 0, 7)) { + $proxyURL .= ":80"; + } elseif ('https://' == substr($proxyURL, 0, 8)) { + $proxyURL .= ":443"; + } + + // http(s):// is not supported in proxy + $proxyURL = str_replace(array('http://', 'https://'), array('tcp://', 'ssl://'), $proxyURL); + + if (0 === strpos($proxyURL, 'ssl:') && !extension_loaded('openssl')) { + throw new RuntimeException('You must enable the openssl extension to use a proxy over https'); + } + + $options['http'] = array( + 'proxy' => $proxyURL, + ); + + // enabled request_fulluri unless it is explicitly disabled + switch (parse_url($url, PHP_URL_SCHEME)) { + case 'http': // default request_fulluri to true + $reqFullUriEnv = getenv('HTTP_PROXY_REQUEST_FULLURI'); + if ($reqFullUriEnv === false || $reqFullUriEnv === '' || (strtolower($reqFullUriEnv) !== 'false' && (bool) $reqFullUriEnv)) { + $options['http']['request_fulluri'] = true; + } + break; + case 'https': // default request_fulluri to true + $reqFullUriEnv = getenv('HTTPS_PROXY_REQUEST_FULLURI'); + if ($reqFullUriEnv === false || $reqFullUriEnv === '' || (strtolower($reqFullUriEnv) !== 'false' && (bool) $reqFullUriEnv)) { + $options['http']['request_fulluri'] = true; + } + break; + } + + + if (isset($proxy['user'])) { + $auth = urldecode($proxy['user']); + if (isset($proxy['pass'])) { + $auth .= ':' . urldecode($proxy['pass']); + } + $auth = base64_encode($auth); + + $options['http']['header'] = "Proxy-Authorization: Basic {$auth}\r\n"; + } + } + + if (isset($options['http']['header'])) { + $options['http']['header'] .= "Connection: close\r\n"; + } else { + $options['http']['header'] = "Connection: close\r\n"; + } + if (extension_loaded('zlib')) { + $options['http']['header'] .= "Accept-Encoding: gzip\r\n"; + } + $options['http']['header'] .= "User-Agent: Composer Installer\r\n"; + $options['http']['protocol_version'] = 1.1; + + return stream_context_create($options); + } + + /** + * This method was adapted from Sslurp. + * https://github.com/EvanDotPro/Sslurp + * + * (c) Evan Coury + * + * For the full copyright and license information, please see below: + * + * Copyright (c) 2013, Evan Coury + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR + * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + public static function getSystemCaRootBundlePath() + { + static $caPath = null; + + if ($caPath !== null) { + return $caPath; + } + + // If SSL_CERT_FILE env variable points to a valid certificate/bundle, use that. + // This mimics how OpenSSL uses the SSL_CERT_FILE env variable. + $envCertFile = getenv('SSL_CERT_FILE'); + if ($envCertFile && is_readable($envCertFile) && validateCaFile(file_get_contents($envCertFile))) { + return $caPath = $envCertFile; + } + + // If SSL_CERT_DIR env variable points to a valid certificate/bundle, use that. + // This mimics how OpenSSL uses the SSL_CERT_FILE env variable. + $envCertDir = getenv('SSL_CERT_DIR'); + if ($envCertDir && is_dir($envCertDir) && is_readable($envCertDir)) { + return $caPath = $envCertDir; + } + + $configured = ini_get('openssl.cafile'); + if ($configured && strlen($configured) > 0 && is_readable($configured) && validateCaFile(file_get_contents($configured))) { + return $caPath = $configured; + } + + $configured = ini_get('openssl.capath'); + if ($configured && is_dir($configured) && is_readable($configured)) { + return $caPath = $configured; + } + + $caBundlePaths = array( + '/etc/pki/tls/certs/ca-bundle.crt', // Fedora, RHEL, CentOS (ca-certificates package) + '/etc/ssl/certs/ca-certificates.crt', // Debian, Ubuntu, Gentoo, Arch Linux (ca-certificates package) + '/etc/ssl/ca-bundle.pem', // SUSE, openSUSE (ca-certificates package) + '/usr/local/share/certs/ca-root-nss.crt', // FreeBSD (ca_root_nss_package) + '/usr/ssl/certs/ca-bundle.crt', // Cygwin + '/opt/local/share/curl/curl-ca-bundle.crt', // OS X macports, curl-ca-bundle package + '/usr/local/share/curl/curl-ca-bundle.crt', // Default cURL CA bunde path (without --with-ca-bundle option) + '/usr/share/ssl/certs/ca-bundle.crt', // Really old RedHat? + '/etc/ssl/cert.pem', // OpenBSD + '/usr/local/etc/ssl/cert.pem', // FreeBSD 10.x + ); + + foreach ($caBundlePaths as $caBundle) { + if (@is_readable($caBundle) && validateCaFile(file_get_contents($caBundle))) { + return $caPath = $caBundle; + } + } + + foreach ($caBundlePaths as $caBundle) { + $caBundle = dirname($caBundle); + if (is_dir($caBundle) && glob($caBundle.'/*')) { + return $caPath = $caBundle; + } + } + + return $caPath = false; + } + + public static function getPackagedCaFile() + { + return <<}!s>*b8se7?ph+{oa}-ra|GLlCrA@2vJE2!exe;SiD; z{I%lUxe5M)xm`MQ8p>`y{2P34YIpgX`!)RwDz{ynByZkvxn(8k?Q|DVL6Dla3i#H^ z%KawV+sV<{O~qSXXoo@te9!n;N(j9};_jd>bWPs~t>xlsg_f6;lavIJ2|`kb1iT|DaKEv zPDx5j{kt~!RW-(^Du%9hR$ynw`WmOyb}0Y9&;Hp*O^UJk{~YG;O?N&8SJl|9CiO4d zG^RhQ=zLGW9%EV`+yt!11BeCqd1nWsuh{$W_y+{P?PT0Xm((!x0 zdY^rio6`H>$kTHtTBM4yY6B-~R~_rWW%pWQEm7>v=Z|{+G4Mr$WqY|42gx{ zsA-;{n>o4-mPh{i_j4{ZG>Roa2nNAQECj=Hh@~9S0+ish{hClv759NCU1J0r8(YAc zi?fuc9}YZl`eb{GImir|3pZlZeZ*K5(Dv(CRvSa}iPFAoe|LHp0*ON&Mzzd4OJmcm z5G5?>R@~iB7T%hVc>E}?x5V+S4RxjlJqEy?rn8)lCpa|U*YRn zI;3%Yq&a{4?Zz|eYX!SN$0YKpey1CA{T|FALE*$~5og1hnEElNRS`^<^Ki*)^X`_y zfJ^G1`4)}M)XSYOrIe(6)G%faQi5HDNZP$#LPirDEfxJLd*?2^d5tN$w67&$+dFmh zcw)}HoQGXny-bc;Lqa6p2`3_9uP8|)i92hp#m~Iy(w}h|w7!%g;%6o`tWlM-n&;T- z;eLJYb>F#$o}$;N??TnPvHSUd+KY{zII9<}Rai)W*RLUuyQGTSvY)#0>BD?o(FgPS zgrTcj)|o}>KYBL%hnwS_$^$Q%X9;7O*4(8=IisyYF^X51# z4tVS=GjIQX_0C9k=7!$^cK$578?%44CsA0qk)(~gWK}&^K;gs_4eUQ z?hMeFY+dRvHhpla5X|0MQ!*d8oRv`5T*PN%@j8uMRAg>K_vA}(!g-EWbtqB(q)m!v z8ER1Lw{tmy)ZibXan4t2PYJVvYVwvn#l?kc;)SyV1Ex*|A8iAi&g>3)k5F2B&-J>} z5Rg({4+syqvUs+)OkA+BaEjj?C{Qzj>6OE>XS{E0^RA9HWIJF^ZzPOio=Ek4Hs*kz zBk({+HO;~ayJKmeJ38y8EBeb;BrML*(#sL@WKXO0j^K=vO7BXcfRmRL7m9yxso=<` zzWH>WVqbk~BR-r^vH3)+ninwGKW;vJ=+|AP09sk&-Knnb!knehe)c;ge94=WshLF` zONE2-U8CQ#bBYRG%A`EzH1w*vKM(Ns8RQ-DS#qpu#P#7)Jm*hku8K8(dEk&J@grs( zw>F=4K5cH((FLUxFnxV;x*l^Y8o!h=*{Qf7pAl-(Na-Ex`1&9+_0F?(d_tc`({ht( zi(hG<#~)?ulCb+%ls&z9?(+B+q;TcZDSdd`jwL5YJCF9I4+Z-9SsQi%#Q{Hy94ZUS zJpHmVXdN@>1KSPfZT*H4%1nLqibPtRrMB#~isAz=jbz7n4NK+^yzYDI|H-DfaM|j5 zLqYcV(d~lNC#Bt8zMcaWYo6v#X`O;U&cAnD%g2;Sywn+s!FjLh%7E_c--H+UEDD5|M{2M zTUvX6=EQl`@(a&a2yW5{gQiyubzN!`MP0)NMjjyTfF13w{pFYfnG%7HWGNVUy4 zdW#wrH*9BspIh zQyCmejl-%J3-RUIn=F&%f#hxL-_*$Wi8DG|OJ3v^I7i5RhNBHqVf`3LDQ?tS^!J-5 zNd>6gYY}VIa@G4a+|t!I(cCWtP0w}8NHhF(lMtFjn9d0Y{8g7wl)1bX+NdIs+sYPvC+qj;J+51X(0#WNY4M0d%bU2>S88+Oizw+>|4 zj531Cj9BYsazfnCbJgF3gVR3YM;&xj@@TRXJh*Qfd zOMe(~E1e0^e}WcF>#fId?UG!|OAj38#zL(@bl5>SLvlVS+kA?+6f69y?;*s=6NtZ8 zA`rxbo?^U1m8oCWB(}t&41=K!bLnkQEM9<91Ujp7=zGYH+%LmjCr5YyXY5hA^rkjH zcq;iq(}MfYqXYv(sSpN@kyKEW6&>d?v==YA@9jE5`@ zzMTkfjr>Uc;-V|q5}v)WZbap|kAN-Bk~&}?q3M(HJ3Ouyh1KG@>%Q?Zsd_6DAWMhn zzTlmUhgF}jp$$YcRUW>Zrxky@}Bv<|&)lG|Vi z*jE=@i$gd|3#>YhFVuAT!6n0n50vCjxa_&Jt2$sfi=ou%`3Mw#J!}5wIS5ABN;c+Z z$Xbl`Lc+H4vXor0ITFqsKW$>$dHLbaNt#jDHd!U#%+)0xHXL|JBCvP)hnG1vRx{5H)@5&C#yy_ilg?z zk&v3;zUQIfp3+jl128#LmQ{A?k#g9R4g=>YgXfD^#Zz;Oc^15pH zm0FzNTTQ|oZe>QWV{Y`gIP@iM48_ojN+4HXpSPwTw5VM`exZ}zh7gR<%zT`|iTzyH zN>_WD>{nuB@x*wOOp1fyQ6$CQ{q|@D!@5%bdM^oKV0pHEc*~MsEmNHvDE$1QS_tFE zyZ#=8;jWi7eL6YF>&i|Vb+|3{95eyK+7K8fgguXZM_FbWT)h7Ph3EgG77RrTzA@an z{4T_}FEM#zxqe{r&Vzk;e!Xclp&ojwwsW+H+^Am(`S{wAMeQans)zO=#CO_*R6)*h zrAsrf8JcnE0z~GJRbB?a_>vjMvE3Ic*KqzEG`dS%m*JK>&p_my7^`P*M8k+{hQWlb zz$xAgL)I-eAlfGiJ6kYwp~z_(QzO+?9$Dx0x$qM+s(|@M?SGdCW=Oy5-h^+>4fOb= zs=p6!^-;6>2!}W@fpaf*ZWaP=rugoB%G|m5I$V(9B5Rl=OD8{2k7GA?7_;{XffD*6 zOd*W;_zx%JWAncsqwmgrzvy;rLUr%7UU7M=D7oiFEP7O&xRF2kXI`-F`{L? zhV2>&291dsByu~Y`P`cMhRxD$o@_$dW>97!0|8a*Dr$qvDUR*mpAxUA@Lza^ z``s<~H{O~d532@#{Z9OKcdWuOH?TjM8hO1bj$_+iV(nC(W_lCJrR7(4CGYc0;(S7* zPEKWCvt&WjZtRg8J5Iw06I4Qp4E;gM>)Uvr)a2u`*|VxTmsOV?M!Ybx@|!TS{pK8l z73$l9K{r9>)P#-|q4mqM!k=ZJM-K->I+s-DA5+Bdzt;rX_E?0W&Zy_uXA}n$_oDiLY&N8HrK%-+e^`LaGEnZhW)aauRhNK*$ z2xgcX^SkjK0&h{HnMO>OVWweHhu}u64>g4Da>;ISdGi=;?e$`R`H0%~r#9i>5xTXi z-++QRG!PpLV;F28yfB>TE@8%ct%|HaIjBg#vCZ#PT2~cGypZ-0F}U75&G`khVL9oT z2agR8J6C+oo5pg{!w$v1qykgHg(V|P5h00^UtTGTgQ8E2ko)W@{$=e*vZCPb4xRw4-H&hWxbiXpp{pY>ns_RjR+=96( zST!ZNTsT78aN=QwijEv%V%WGmylf7mw0twozWea?hGHfQ2`RRjmIryH&7M$(V3kNZ}cFm}yVSzBpb&-iEp>IVZ(-3z!J zXNE}>R9%r+ZWScrt#c8OtWs|fP$Z*NY^xRhiF33VQ~q)k{bPqXZ17Kl%!YE`2yN`T zwLJ=I9JOR&oJ$$*T1mgQ@(u^+3$i68bpW_XU{ax^LeI84MAb2LN-@#dz<;)?DFOi{ z9qR>d1#J{v?cPVf<6eya4nUuIR4~CjCrXl~;-zW=)3vphq?Ng))sD=@3_<#|^-(xM zf1e`*j~+7^^%kLu8Kj0C@(t|F@$PwagS~e(g#M8m#O*#}EiATme0nIYxA7>{tNn#h z9tgUHh!%{|nB$h%;_Dd1yx}fAj85ZnCQpE~Me-+@78-u?x5+OlJu`33+s8Oqs~Wss zfH?BKk8asY#bj_HP7*i8nifoG*Osx9D`8gj!`NMsh8SwAb>yUAX_C3sj%Z|&kFH`Y z8)sae*A+_1WoWTi#`1Edcq~g5*dHZW;X}hEu3441^;k#NHAyJ!KwdNhp4d(dS=U>t zn^ACzaqkmX-!PTVCmLy9g?s8IFpYb?{*}gM-8a(0nSXoaLDEB0*njTi2x4W;S?WZw z`=&wuSnsD#W~{MjORp98YSXqe_Y*g7_l=A+o;3F+zrFV_>&}Xyc=4b5zM(Dmsq^P< zMY%YPcfd|=&BjfLsjrW&COzCZG%C7#=WHU}XSwm^YyC@ZjamE6*`KeeZ$^y%CQ@U4 zDvmIuQylYdv)C)uFSYbn4zbkkInRH@(`!(zLw$3F&jda$9;})v#g<5C@VQvf&todt zt?!DgC@W-rH^!ih~eQHCsgx_cUb5G%R{8iE;e8AQq%s3+Eq?BImtz`9%6>9VDCiF9B>*wgGB6%`kbkFGbxxsX^@|o{!d^Iv4zctcr(t~`XQ>B*xoILh`w zkWV=AmhEknbeIKS#buCoQa!$HX98*ZYD1%Vi$6eGa$$e%K(sRt-``p;fI!piWO4Yw zgX9DY6x4~~y$0@e=p42VuY`1K!fkTx7NI9~zm`_5qc2zh;ce~F5l&=|)c!C!32HZ0$Uz0&FgZXrV z)~*EzmUjrE5s8wth__9e)yi$>7zDpDpFmhhKtQyq-5dZ7CnF1Vs62*1%jy=lFWwIP zla>@eE6l$;OANl1T{e7UTNNL-^;nR19RW!`c?UGUAR0SRi-Q$QAP+>)e_(>iX(`l8V`G!yz7Ua^K>)!}n zUoaaP5_E8coH_YxWJ__)s5d(ZYu-TfGy(azUG846St^#d7AN}hw>az`IYA@m3~rNe z_>Wosq6G0|In`ch6x_uD0mu!l-^m;iUiE(3d)Wk$~d1xjS2xG zRycFp1QZM%y>xO_g4WIlC){#7?F6oL6QNK`SATmvXMOd7&9EkxlWf9_fSr4F?a*oJ zn==TgZt_7t(ESkPBaVj90Bx$`!f6+yo(gv>3r*}nvIzueze?;q%2*OAR(`o3Sf(^U z@Ux+t!n6pCJIY9hTG*1LS>5u-ogkxkPAh^)5rfVq?pgvj)#aZ4K$(4ge>Z#v;Ok{M zq&F-Ec_PO9kQucO1H=07?*+NYA^r44QcnDsD)OB%Sc(hrClz}0`DwEjwN4dQ-F-NB z7tq?|YTMOyztXuh1&OL)NDveSTG5tLF-U{B#`DxVWf(!=DFC?G4AwA8%+=w6BtF^= zv5W4w{zG8wxou+z-@M%^% z`0^nduT!lAkkE>)2mpA8^dPcV(zExP*t6sw&Q*D&Z7`+bFi4i-&H}hE7Y&hcj^}7k=6Dwh0PBR zsl)Y-KtbO?O87zlfdi@)LGFn=hmxMVi)xi4^DZDD-xWq)7KJ8IdSv(dXkz1Qac2g* z(COhMsYX_4<-0IA=A;2g47_%?2NOgih|&JS$k-et&9BMcLq&=#7^Pb}2vX++lZLw3 z-fP#ceV5fyX2fc3co<&jnVC$_v$Wd=DIWQzI2Fsple9HU-cT*s(y^AtUtX0%&CXq( zXUT@`zt!|D8Z%zpk;~aT!N^o1z=0!MPgs~-g^zpLZ=^l1@0OGnGnA*#hR=?DHm&$2 zKS_Nz0@7&zNMdq%jIi#Nz)~3DP)nppfxu3pA_Q_cp@N@1=4xwtvTB~;FXsHs@7&3% zcu9~LIE0|=qkoKFdZp5&4#7CAZve~(ssnUWfvPo8hqkA~8MBiWHG&Gf0^7IqZ@=6S zhkl+8CIo#%P%o%1u>Ltt`&nzi67pqb$?qbWmk$9c=oJATTY?p&-(8`KWhyxDR$csz z5kdaBuW_GJ|G+|W*Z21Xnz&5CU=rj}dSsy>jC+QW4CgWwDuZKd5A(b-cj4B^v-uLr zz;@tVg`j+Bb6};iynX!y^xH4qWzU`?v^DDQBKv}c0lQS^DQ4)_$p%eM8&7k_&VgJY z;cxTwa;xu56g0?pJ)&SB{}A=;(*23VKa ztznYXs~mbnw5ZoEw7|tX%HJau^7=0^!;tPtJMoTt$h%;8KB(EpJ)7j>mH$Z`ChBWg zJ#%=3TUv_T(mo-iGIto-cgkMynj@nX1def-$qMAvx~O!K!FJJbylKEB7h&LrF< zK-Z;Mvn}&akfgHveU+=VV~`6R)UeTtTFiXxpFq}h$NO>JHrFwInJ z-rbO+joyGy^W*+l7I32&h$Luj5CBr!3J@ylUvVHS^JyGNc~h!Kvs{-Y+AzM91sl#V zhC*-=hcC|^YBMR3%SFT7(%zaN2Pp2|>K|1ICpMa={yERTF_8^9ULGSdly!*}P1|@h z^X}Jm>b%BUz|nLGQjX2`+Tg@4I8Y7=hKSmMaz-8pDOjr4<4u)`YT!C3U#*gR;C}6cX)SG zg{uweG6<$-AZO>0wE`*q!JB-GtOs;(KV@6+SKJM&bM_^^ej9;rN5A)HS6b)7-WZ(E z-~O2QI{Gn#8<7ldXiQ1a){d1|akVm&V;pkSF-5uq8+rrHFzmC7^B1nBh)j(G)0jWX z$jQq^!->%)A2hLiwYVv)aTji=xI<0fvkYO$cZUxo4%ObP>rG)CTizH{;xU@cv;vO3 zH_cT!J&Gjdc0?$Leuwxy21-XtFce?67SB&!4-}ERLiHF0k`rxHhmq0gpBSX#(5B(k zH+ggSPiNH`sbCoX`R(-Iq?~<>qS(uPoQpx!Gr97%tib~%2LiCRi@!T2aTYX z6onC^R%;igo^P#J3_beh>AYOrvN;{v#N)DE+_dT{q6RBf!!)*C(7mxaU_L{l(q>W5woOde*3}!#QFyD)6?8fq zDd*$7+;Q}GHYnKzetE3u%WJiAErzxIBNoYUBFbSYD#)A%|10%%)8n*NH{U%*4>X#L zEPTvV8P;UI;~viU)Z((_$(&y#BZ;m(o$SnVQpcMr5tfmDkJ~DiL^2tYZrYJ_5{Ufz zImZ*2K!u=a|LkEAyP{`$GybgTrr2>Y<)V}wOcKJ-pHx6`I*&Dhsq6$zGL5NOH8F*W zpr-YNaXL|k(h#e{i0#QXs8$_vi^?wp)r&o)VVMZ%p3t0DdMJY@@xzK_llRL=c-b-9 z&klnLx9Xag9rOO4`M-8f$Ta+mvM&+=W%to-w!KJ~GyfRO{eR^(#k8P8`LQ@`_!A$0V6rMBqD zKnt68YE5jlcvTymCU&G2W1x`T;R7Qqt3y5yN&Ghj0Sp5E6Vo_|ru|3`802m>A;&}p z%8UP^$KIf(_rW;nrxw@NH8R79 zd?b}%s20B_U+p}uXs?Xf6>D|*Rourgkq;79V4(wyifO*Ux0{BQXj+|U)z1!C05@GO z&q^L-WOA>@wbHc^x}g|H(GQCqiCHi8+THFJ)1R}ry>;38XnGDQ=R8$U zY>2G(DM^7`h=6tp9V+SFOJs)MlCuIl~xa3%MVXpP59)RdabdduzBx?AJ6 z->`G@aKN+D6+Oe1#oS#2Go9Bnd7zuO*aF!OwCNyM9uo%VG0_WaHhm+DE3-qi8_Vkr zK0RdBCac*+9jZj*t2&S0rxamkmVNiJNvw~q4%_I4j_`$JFlmUD#PmDo zw{F?tg^`Pf>VJw~WpcOVmg`uarQS<6JnGL4RhF;gxFyz?W$Sn)dtSssLf-(DkG5`}%d)3w0NE6Na!+XK(iv z)qz(1HvrIJM9`cd`gf_2azv;=S@7Rxj;tStKG{YRC+z^72Sw%k!oZ+zMo~h4owPvF z?|#gz$jJBZ{!=4U&xbex;-$E-y9|M%dh`7oE)tII+iBh8MHuQs-fqjZ`TBJ>pSLog zOcMd{G%z(=^1(tbIW%cP1+Un=V zd^sMvctZM~UT&W%|R`brKx_FbDHsGtEloB?*!Q*)|iH!1DRyDC>s`YulT zQGr#rH}(#$k02n!TGxQq0JSVfcI2R@dKA zI5_E-kYm0db=yIk+#rPsD(4&krlABkCgYweQjgFyvV>_GznlAYsWv{14l$6W#W_*M$&ml$LWsOC>h- z_Amb|)CVHJ`lK^jQf{Oxu3HQ+t$hdj@zIz;8IC>cAy+MtIV@UKo0=d*R%Dw}DoQsy z27dr27^QsWKy036#Q51T{DEfDF7kRq*^HjgO9=hrg}T~RCdWgLTGc6_{)PwTC#BJj z!wa1eJ=)YrS@8ilS?atb(L8m3mTG7H0B30|02ti#9g(FU`+t{WGag%H#l)JoFMgt;QUL3-gwNVMc48xlyz z*~sgN?hI2n6m$2~-XIaM8`sm#WfXn$#amNtYR7juRg5AOt4RIP;-UAlujY*x>bVr~ z!+Y@H%Z40G3BB#)cdlc+z`y*H^OOejwb}#gtjDfiLOO~OC@wZ6VHV(M=Vb=1)%HHqlv8ns(ELBvdKeKY`Wc!#|`MMM;+cu=BphM z8!{aTqo0fsUF2!I4Lst(j}jDp0kwdTYBdI)oEBy%Wx^NQENJ(Imgk9e+3!Wk;**<)>i(5Ciq;uk64 zD@>6eO-nkaQhsszIAm^?Ygckows*DfA+`q;PMuF>)GYo=Bu<6vP}P}=8ii^5A3b#H z&ME~#`e(2CVbNVId&hLW&_=4TTB7IcaAr=r_DKsFPQ27L2icid^)n|86H+8$;|G6; z_cX_zPCw7!Nq+dhelNh6OW(823fwb|zfJ+szhfH?|JVjcecAEUxI>MnDQ)_?>92fl=|&LAuwgGttV|MAtouJ!yrem=>(5QJS78^raL z9UNovujZL&W}YPTVtgk0dEsDWXm`*apuWt>hayq*LpLX%A4+aHALxpb&+Fa4{>4(- zEk7+_(xvA--}j>PP!Y^---w~Cwg#dMxE2oC{GCICmdr26g~E2GBGAyT|Kx@wNlN{v zISi$h{cT22X#Wvu9N6Fh?JsQ|{<~N}ji$@H%t0vq<@Vd_s6QYzUyt^l0SoTLnqSw7 zzi`8_eAeL_%)lH%HKTVpr%erQ%fr~vem!rgF^=Qe0`89I)H6^0TLP#*tU-Bz$9dxs zg<8}|^7~8I>+nHV^b-g8I<9({%A2guv)jK&;T;+FBD0k1E+_ss8diNHlXXg8h+%1a|K%HhyYY?Dv90WYAC-tv`!HXWt!z-+jD&T? zrhu$;yaGoCIp7SnMn5i$-u`7IGIc^jJlR;yM-1JtEg8Icsl{g(IxtF8RazjX>5k03 znOH9wB?6WeaE8_PXd;?+H2tY#FeL%e^Vs@*{reiv;=;z}^8=o~yU`8lVHgau05o*y z)2-#o%j;@EVMLqiXFjzf!EI#yHtXvl`2{MhItxdkfpl%YGM6&~dOmv1-$StRpjF9{ z@^w^nwZc3ASYs0}Nice~LOp9ibhV~?>a}Z=8?9r?-e_<9>GU5vN*eO7k|vEF*N^X5 zir)n3v534V2i!@7!4CO<*)g=w&`un(+tAzgtYVeUItAuMfG5SP+}2ZE*fW!SzLsc^ z*jI$2J8GDVN3m4|e9N&)?6=Z8oNNMhS`MBy3#<^>LOoYx{0fs0O=yjb*VEL@I<7@M ze^a~*NtSx>Nj8cE7aVEfvt7_9+^W_Yk5p-%JurcK7Y~t$dd5u9^*=`sv{IWQtP~iL z?PsATaCi=W;%&EiD?PHN_Cd(pkLc<*vQD7}^nvpbIqiiikFS2AbXCqq^KsJRqxZgb z(?>B472}yI^{LnIvO~Vj;lGNXfW@6im#2?*;U;*XTHHnEvz&A&cI#Jg60~)yrSkAm zQkwF-&}JbOMK_Z!JE%z=Qu26rwR^^ISbF*D6v!Sv8jLIdm=ysBO@c^i=PtLbjq#k@ zg$TnR&ZrNl9T6T3OawV6s9Z)wp|N_g&45bKni;r=f{($ z%(9hcn8OH)LPCR)f<#=VMi2b97mi6P^*~JHKzC8qZk9KGR96__=CtV3^$jq5S@(0Y!;G8m7nC)wFdOceAWcR=?Jo6=v5n5 z5>Bkixxf9Xmw9-?Mf=p*FjnY>-o>0ahJWU$96-~uIx=o$^T?r%ZuSI7#AJ53KHDC< zMx7U?(Rw|<T-uKr79gk$`ZARxBm~EP=fFEl;uH}0N-pvvM43} z+zY*ab>O`0^DA!+&K@y(3NUeEdUDt7i-1&4(=|o4nS{`+RM%RfKy*O1LH$b3zywyo?}>r%C8w_(QcMp&qW)pzS!(GdCQM?>p|U+C{g)?DGEdR* zeZrQJl|wQTBiR`PrR&hUQ#^k9U4++W_06~W;2uCVX49X$gviqUbv?Ske9h=;mB+7I zgI(}u;2MO|p5a~^$~~wCHYGTT1(6J(u@f|{;dw!JmDEeDN-U6`4ege^1g1-P7wRrx zoGSMH%iSa#llB?zFrx6W_g93BwBy}Im{5vuZK(0ng`;C+@3$Fd3h_VK5xYT#%mx=X zkN@SZ}F6N*l1 z{8@w|3+nbzP1mH($9n1^v_m=qi>_vN#rcD{%zK+FsHC%DW{=hOPVoE-+ho+2F@OB5 zOLA3#W7n*X!#YEwwxRZ@cMR#=Zz(;+a4N1kwM3cIdqhxY%@z#bDK!05J>C+q$7pYT z%KMv5JprG<5R3^x`{G<0=lXHKJfY8K*)KxcyKyQZ7Rh5zKYBj0LNsVcT-In+*hq z=XQTVY#3gt+xxvPdYy|PL34eUv$b{*f61cIxvh)?m`#0~$+pab)o&)|#oOA{O5tI5 z>0aKH4P4U;x+qFv@^tl;_>`;A9YoP+isLfqF2YriY0m(Eg$JY4$#H~MHN`_-*Y|GF zAQ9_=KY4QBHG|o%qkeB!Fe)D38PVUc@=r1z+gq}vpWdoZ@Jab~2`liD_5}QB@(@5H zJ~KzT=vEd>+$g2&JY?_sc-?HNJp+j={czpq)u^%4IRZJl|1mTz6*e%*iBDo4a1)Kq z`~kq#HY3M)e7gDpC`BxLzhleE^I$-fa|Iy6VKc&|;6)`3FRB8HTo{JAN%Ci{R!Fvf zL=D_29AkD6-@#D z3|G02z3M6jQ*XB}ggn>`yFZBFo>;r$_@V>On<$9-#s#MjyKLArlwzfgZ z&&OrOcVt~RX7gS#u|*h0Uf1*LRv=*-LMpAf5A0#i;&i@H> z8*+S@sWmyfJ^ufq-EYSENF^NnY}vPTt$XIqt(&jscR+~ZzaS(k(-(Qi?%tqQsshN+ z$CVq!W4t1^*MNhqX*~Epd&shaJwT!Gl3bk0aO2I65C3Vd=ujK-#rs`P&{$q6QY98n z_CMJ~*~-DX?v(1?Rch3zZ;>o~_(FtsDfyX;yj6Z310(@;`%eXfyf2ktzjWs@{r)pI z2o-q1I~m{^Oyi!vN%W3w$ftq9>*Xn1Np)>%jU@nxzy}J^*iLSRGDT;8<36^sk02=_ z7kJq{mn$fXlC$(U?Hr2#kT8us*8cq~V1|i!eeF}SQgGiWB0HT?CFJG}MX-2Ws0Wcg zf{vzdwo&~Ch6T{HUz6-Rf~2vQOn+YasuQ1L0#P~GIF@%j7&z8HiDy)%HR>*B;CxmG z$P^7C)FPCORbMwTN;5CGcZh^YM0aW5PM4rF+g~r%8z&+6?S}g0q&H^(P6x$@H=-om z1B=f^9kTSZ)X*^esk@!dJVEcpCYoUcmAn>8{F0eYOtS%TTJbR-tz>d>)fP*wB&D2+ zrnHP&W`-ax`{h5hcJMG$&#Z@*lP8{LDvRN(5K7A&HG(_p3dUJ;d^rHlj~zQM9Ypq? z8*h7K0c=iUL61|%qSV+hYhN;mC(Oz_;=M=)E$Uy%BvyD3>$^$O-=96}-b8nLn89Kr z?3&w`-s~k>b3KospL2g!n@8+nJ^kOKu)qxv$xM)#!)1H5AbqmUWMwlCX_05~(Y;zc zGm9$ft|(!TQieTV2MF{qBTtUx-4Uoq48aXb@7YH}wl9sX_NM)xygn*(k`px_HS2Q8 z;%bYV3;fBqdt!RbrM&3ybFxc7dzJyC|EYhGJJsMtq67U&&(aj&AnFWgK7LuT^jcy3 z0i&$@>(T!ZUVy(UwJS@yvR^Q&V>h;fb8CL53?TMDQeEI4y^ZBhxebo{Pg?)Id^;n7 z%J6WLCH5y_ex;b<9|c`O-jz<`kp1Po(}5K?+pCK7P6$gKW~he)_?pT}*r^l{s_%8( zflHRny{b1@hvW_-0+K*sy=Cc7A@H?ANtV2z3Uc}?jbs=&Lj9d^&@q;H> zdgfxvCh=%4`mW*mG(zY}sAL)I> zDDuvC*O1xAAqf{(dZ+(-ehyI6QT!#b6-Eb7GSEg(u$&UvN1`8M;e4QFbw^_*$}zY2@cX)L{TLRI$B3~w@C zo%dW*{W!4v2AhiVUAm7bCSz0mhsa(>uT-Xn(NC}3OgkdDmc`D^Rw)+yreSye#2s}- z$msTCYh{mn)&sXxUx0L}@y)`GTB7r--)ktkyTTJ}`Z3t`(0F&noWV7d=_}Qw3-rCr zOalhiccqQvQZ55#oJcfd1DV)8>qA;pS+Wrl^eG?L;vT)35K}$@+GqUcA_qlsfPRAt z=qpeGeO3FjC(U9RL$SF1uwf#ql?#;hbMdY2 zw<>;i>rxvYix0DtrJ5h@M;+6u-oO2N4Pc6IcDu0R4m0*QX5*U~Zq45PncNn-&hhBl zKlO73X(f7}_3!uVI*Qb%W$&lwLL)%=IRJ5Pd*l#~6OF!`hN>M&x$+bgta*Iv`h{q9 z-WLIm=L~cB+$-^_9%u+TT2#4HMdz?XlExb$T6|60?Tge35VQYv;Vf`X&4?B9RRaej8M3PYlE=>Zcp}anVLBbfZQf;PanHehNBCJ;>Fh}gQuwh?J0$oM`%kA ziGvuy{JnjkFUg&??^Td7kQ1>2k`o^C5N_xsM&1!O3m=_o@y}TN zP|taTO4xyKzVfVd<|A~*9)nc%=u@c?PjRxQ?NU3+OEt5Ptl8cloiEbuP?F(8YUr!eyJCgXwZ`%QXTbCoc zsb844{!}gwl>UgKvFz3;Jj>b3LD)!umRw(g9^9{61$B*F6jk+EdP35IjZL=ol2+Hej=zlEKN>I{iJwdizUDovV!(E8N|X~ciD&m-X&w5Oe61LXW@2_5QCz%4lq_u_+soBk473tQ^2FuX))TznkJn7bAuXO@Ts+|nmN|LGwQ zp;uFS(_l3pKX3dLZ4OLNJ1S{;W9ez17BujPlUjbrgY89|PgH z!ibonYoO1-ih{1mo>Zjo6`j3m5ReqWXislOzfe053Rg#dg0A#QFnMD${Yan`<2%2o zZu;>=f(Mu;p^6I%H8Z1ttQn&-myjqZ878|uzStkP@4~8;mpq`DRn=WOxpz$`ZDryi zQSAa_ltCF(=Y+5s!Xu~R4+(5H+^jSmEJQ=(kz}()K4UWRS^0Kl$Tt|m7rc%~CytY~ z)}Q|fuhGmb2T#;Uf(yBfM$R{G#3nX<9ac@D)L3tJ5tSP~2SOkq2Tg#I7;;#7fbDT| z3xc47j~V|Lz#%kq*q}Ri$ZTM6N^ufRv{cb2ofEfUw)eBy^2kJJd zvelIjSnBD4bv^;-U6-#Jm=~fAyod!8wG`pjhMn_1>Y-lz^kb<4u!s0I++8{Z)U{si z2F+{npy6H6EC*gfWovz_EltJ7)&ejXH+9l_;50RV!w3vaQjWBiLze#2&bJK&SG79g zyIKLoqMZxw888$^Nk?tDM z^D0W_f%vQ4o{SmsyB*>rBHC-qtp=ww?G0F#%<8TJUBj&G%3n*F3|wvTd3IQQau*Dg z7{4ESpT%g}AF{m#XAF3xceDsa36|CGY3gMu{?-qklm@c-2|RzhDafcy83JFyQPr}C znT?k63k;MKuzK*6y^wC(8GP9vpv23EIKcKY`x**gSS%A~wl9tuNM%0_(Go{u(=Q^* z_#m}?65Ba~4*TX}Q`*p$-rd{Z4x1~+8)w8W`2A)hFHRK5+9C^{Va1pTzt7-bP0*|8 zx}j-@)nTWk*=#(vj)#dh%92Lzo2G+_Z!9M~w=^ zNf+xuHGoBj@fc=Vs5J{{?##P`f-~eo`aW_`NF?ZQTsGvS&+PdOChHp$u$geEbPclr zd_ppN+-gT#3T>c;ItJ#+NZJvL!l0ku2Bcss5Cn#LGYY5UiR$WGykrdd`N3N7a)(_p zm>?&!u@Q#X5Vi*!&ZApjKp^;)s>acM$e+VLHD+EoyV6@wF2wbB$Fmgewjfo%ur;DyrY3;bbD zO>FY_wE!^c!*~-Ow8lNH4Xo~uvuyH(ehgo<@bj?gH1EMZCnAVt!eByu!1zCu&M4ae zKuM{Zo+Q$ew<9SWU>-s~oG9=OOp4zU*8!N8F|q9)gPmo9e8?@9+uG~aqBpg{gu6K> z;utG{Tz}ti4T-eQK$a`L#f`^yLz{n=C1^im(I7S6ZjnDJ!Yc&3@2f#~OlzPHn} z&Zw%$U$05jZdu>Dwl=aPUEVc?wmd;I8R3H2tWS8K58p{L{9$qDqmyF2_)c z^y_G=AM*70Rorq*MrQ-svIUm!E-$$DLsj7z7(6f2Os|9yDkxLaAw$m}6kOCMVaRuD zaEayKfoZ{z@-nV!0aMSJ3+AmDPm|3KLXQmjPmN_0*VZ3VdRE`z`h-h3G@%BXRSbJS zh?q{It<4ZPKl%20@e4oC5k4@M|3i`mm|?RF7IDXs7 zN^M|KHfHl+=`2x;D9Q|QN+`SZLpXQ?YmiO`C!2n`ki4D7NtZPLnH%$6bQjE+oWQYl zw`n9*2#oW>kd9oo{=j*=8-ndZ6;ucNqoN~;&F8s;3Hsz71I7?Bn21$?H?c$Dh9A%1 zwjH)}#K3H_Tnji)k11np3LUGT-Uh2q^j}*4oMRJ{{`-vsU)sw2OdkFa%?B_a-|ra9 z&<;!0ph;$EHZx<2c0CX@0*T72-kAcp!9e7jsr!3?%UtnE|9_2Kdmxlq+O>5If3I5wl%&2l2iGjJ%)KL1FPyBi$X@js zMAf<{+klTn%o{$D&6eVefH6?_Q2w1}BO;DD_w6 zR~ES!!69^%W>&~w<+tFr!Q120WkzrlXOW;rOQMu*Rip-MMYyep7FuvMA(TT@j;ch1 z8-FRRQE`W~8yvyAOUb9|v8JxF;cxMag*Ne$rRgP#qx{9>qp9E!O3l+MrQq#EMLkf? zEn%%@hs2P+awkKUN$_8~aK^Z%j>3=Fc_msR{!2Up><#dZbGh4O>W|k(cz37tNV2yP zh+oT8cX}G%o-|0=As4fP!Y)ySS=RvA5zPB{^Ni}eYD*vN%DiQYDI*;*6BA`FBa_u# zW;%5A-%J|j`1Xuu+;Eiy-e*i_~QF(qxLuSRMHwlQ`4fXu`Vg4 z_p`1Z@Bm2;c-U@PzfI7raDd(BjH~uJ@rpsExU~yL6?q4GW{-pf9&?!}eA0@?yt^q2ze5L7*5o1?Fd@u@RkM$H);tGyeD3_mN@UPwf= zi(Az$+81$sqaCX!HWFDJl)g2l=G`yXqPb%pkg>H`j01Zf5NVNYf^XP0X@i<^HNfe0}k)CC) z@s8w`bT{rNhs-GB)E%C`0nQXKQ{kL?5H!E!V|>fo8r;n+)lPy4@e)T>Y2S4I(fHHy zULtD}am1}TIEv9F-4&qeuw7vvG!Vcpq!}P+1TN-ZX)WVKhgOf{CMHxZ0~b-#HOFi7 zV1b(;1A**L`6L~reuN-vwk|w58ev7|=R9~9qU>uSed6ige4CC?+SO)$&k}AgqQqZ8D|6yqf3|Ih_-%{ixAai_*!#(6G`6?JjFk^3e1tG+YU8H)?^& zS0(Wn3y!+Wz5dPT)g^bb%S;|pnvWl!Q|!pY-?fBQAFFIIL?+gnON%@p!fPmxqUz)z zf5}F98Bpa|9kJ2Jc{%A1xa#+lP*;X8_EDOM8fzPaJ4ue>1sKXs2sD>`l*(m8{wd&uwr|~=| z*MKvqS;y+(N5%MW0hn7QN8SJh;wN>-6O!U3-Bx(%4ccdTu!6oB6_(S8`SW30&MsGGY(R@z(8 zeu4F(P2lNFElpd7zq056oL(u}Z_9qVPD3Du6#{>DGQ zc?T{~Z9ohTG=o5t`t-1Qy*1<;a*t1#TgUX};;gee`ZEmu#c3*MMo?5AbeUV&EMW_c z;q&_u48t}ywn-%&c?QAmBSiHDbFAC`ShT{1txW_)XvldeK~L07u6Zxx*;HfGo$yk{ z#0`_Lb45CZZB(jjjh|V)i{Q5F;S;w4KB}!={PcYZ;H7^?rrs-X=!QhX!~N2g+Thjs z0k_5fphDVozv}}GxgCiUco6?(x12Z)+RQbFKPX$V0b+4`KQ0hraM>%Ki2i+YkLeU& zVP`g{IXED@=)H!tf`Y@a)41RX`GRoLN06rGbo@USye(QODz02F!)mGDyzF#)*WuuZ zzC#H1f8RVq`Bl1Uu}t_$AzS2NC$2E@QjmQaxHuPb4n%h>ZDA*~&{+yNmQD?tn@VW7 zoj&9`JCEn#9Jvl2Hd|zy-rvxDjBY2g%2Lw`3hU02tiPpy@U}1g`IB1$c=UCj5qE0Z z|1!6Sq6f@GS|Zpr^WlBLf;czsLwfh&wXzM4hrIojCbWVFT@eEvoLbfX6;Mpy1tWM{Po4w+(hs=U(?qSutz-azqx;6cz^H1MvuMC#SX%XJic3YuY_$7X^nchc5aUDMG2Xa6v+~EQ3^K%o-{Rp;-y+z63{~Da6 zb-^*tJN^UAP%259HNA3*IZ_%H3U<+T(Be-Q-(x5$9y;UwnB# zUWo~P$&dK!2f|EHmRbGvYb~4Gsom2-{jqJG1t|O70QoLuZlaop#m4he^>lV*5 zBn1!A5(hz#9=A&VUJE5IIh+^RsAZ=uP-yQoOey)(6k1EAi?BeG9 z)-*oaallRQiqB8vQj@#=;+9B^zK`H_&ac+H)ox!$aCWRYscG)!h)Xi{>zFI{DmY!Q zMH=5UKHc{bTdb%xFElPo}!-7vM_#SxcQwN#i<0 z=wj@poKC#^VEIBdz5M>@DfNe@;KjiGwH@&_tn~<{7>Bg+azsc!o>JYrlQW6hns+ox zwPZ{FOd36GcU7cRHDk-`l1zMcbO=?HcOdnnNX45hi%Vw;;>KGliwLCba%*AoTb+R0 zjLNubB~o@$<5a&Wz_~58yFH%Kb3f6ir%RmA4={F5y=>6teUe#ufFV`~iSVGN3H#06 zK&pYYSl*2(2x;@gN-ps*VT;ji?OCliRyvwAatXb9I-K|yDUDsh6>-b&hvMP?QbI{N z`~d7Ak`&;GXEc@!mcBtZdXc6{D}i8dY(IFDOZpSv_Ph3o^X;ZQ90y(&srB&rCvT~y z>J6b%^}8cX9c2q-!{=%z8X6=3@X@jKp%8obVXz<;cT2)C5x!_(<-QA$wIVppn1u5K z$V=q@CeeSj2%*xwT}CAO9T}ZYdeBuy39vk_wGu_T!*t(^U%~K_yR{J#R#bS`3PE}b@Ae-`ewngl`#S-};DBF&rgSxDEsv#N?u z9+VBF@M7gJp83nNIf?amawETY+R$(8%Jt8at^8-**eT8A1o?=ka_8hB11CapjikSb zR)`M4{6S!AN<#RvzoM!oed9Jh__~_K*Qr18<7h&KnB$F&&0mB-HIt8#TwoArtpBIr zrL{}qc+q(hKdlS!?5llkh?)Yfq?NMj$9d+QZW zE`dswBWyO=0g8#=K4b{T_OJS}-S9f3mw8nMd{%qOviTa!tz`6$)fT&7GCtV4kmvQR zlZ?)dPU1U8^|&CC+Z7ZJ$-t<=zCZ$AG7(V z=tjP>f*DAf>RBP2Ep%O+@YCveykwH#%|DjE5*zNckguINx0*etZ?gIl(Ko$LmA79R zj&y_H(xy7d{V$hvis!6Wcc@wsMp^z{_<}Lg;{KLWFU%)rVS-(ABXy?LpAqf+_Mpy1 zs|YLn?aQmAN=%XV^O4ZIH!O`6x~+1%o5QEK?!6M)D{hyEKjWuM=xG;5P(@0qxcjez z+u~4JSXPzjJ>a%J{mnFT{Ri!Ir5fc4)rfOCknB{$s)(kF71WJ;Dh>F|lIFr#yd_F& zE9iK2|27ihu3@=}yO+F5enfrGyZW-p4p6x^LXgRzp(OoAw4hLDqK9>KI_Zk4imVfzBHW^I<9s{<3hvQ|>c)e6 zOuEFqs#u?F?qZ>R*%{Ywg&&fuROqgh&DFwWo$!);fq6RP&vJz2ZadG@joD6qU7k4i zu<N)i=(!Rq4bg$&oI4) z?&>z=Y;el4p%&hj%GOd4TlRj snS>8}$>Pqoqx#ZrN&4M+%VAi)a_6J`1-bHOspz%Une(Sh%w7KcAD4zpv;Y7A literal 0 HcmV?d00001 diff --git a/sign-check-icon.png b/sign-check-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..4d4e468d89152ed550392aa5b8a8e76be2e74553 GIT binary patch literal 3134 zcmZ8jdpwhG8{f=qW_S`ciB0)Ar5r|1KiW)T$tk6z93zn-8L@0+Cgo5RrEI)d!PIj~a&WcgHa2yl~pUd7L&xFswxHl(wnM3<>n@ zd$Sxqx{i*PZm7BQu9?Cg`s)2i8s|25(Y*TCBR8b7AuH8S z&0;X(q633FuyXVv_>=`&oOJWeE-whcVJ95?w~^?$`e2AG#9oX0*=YLP&RSdVM{xFW zqHE=CUJYfqV15t8TUo^O@7(riN$e`^*Oe@=LJyVP9+)uItl6=k`rhg^raC0=0k2w~ zQ3ju~L_fUE9DE2d^%EbOY4zvsd;4fwj$Xpvnif@c_w+Z|q9R1&yZtSm?uhVT=iFqQ zUr&6Pz9)#f4xA7dXXURP@C{W^?$D^JeW?&guCJa~ z`AmrV-gqtz`fvXE{`0ySqq8G@yRpX9lMPDQ4eS|(l=cTCg>{;~u>)6mj?t7?Hy}R( zi%xHSCfqu>01tW*@%{{Ek5d#@(egdrvTHfucd3j&uo@)JByII>^Zm_ zyYGds?w;i2Cklq*KDDURKp(zI7&vJ}@B4;wbm8lyZA|(iFRi6>A|u1r=PMF4)$%f$ zL~&@0Eb8pk?08eqOy*;K#S-0%l*fQH5sOk03!s%nGLAS_~*3GBXGAcnbmmmJH(+fT?-B4Lr9 zR%RgS2zaYr<-r`TV*wOET@@5SaaDkg zC*MsR>hCK9b=n4U%;G3Y>z`5so!FA&Py%~ zl^`K3o_wYEie$CjKyM@HT|>LNR8wABB;kqvM?)5<>HS`FkT4Y#UZSeRQk^)oKAtRB z;w8yPfkuh%QyZJ}Q{6F1$u-2KV22^U*o$io_gn^SIDfGDB!f=;*0m=5rxpME3p-gr1Jy)4#h{HV1V1%{eS8+j%04*=)u2Dk4q&^A;wD zR(nU2fdQiPCIhihUr6#~CEHf4LUYy?mtLIzLq8-5IKX$<$!eecg?(W`&a~4N@_HzM zD(=%U-PgB*s~V(g!)lgF?y|EC02t+Qf{oVOfxLNiYktdk)->&&;uhFUM>$1jqo{Df zi{F;of+fUU(=;J;p2HRTqk1(z$!|!Csa6r?z;3WFT$w~}u@hl@cHLHU(q`GDjN8<& zpH_7tVmD|IgV=cWu*LQPzz~)0KfjW62u=%PocN1^MlBgquKc`o&fT#P<5MoIA_X;5 zw0|FumfDxH6cKrx(;QOibA8=k9<@BcKWJkoB+RSg*UXl3t3#2&_7 zmA|lfVzxN4{&m+L`=(>71(=^96BW7FJbvOWj|^nkjq^V~D|srP!-$@^ZFpx0y2lw) z7#1@!uuJNolls)1w02@Ha!xP)cw}bpQFlu-3^&GmC-mKYmD0paC)%Of6yoNBVXeo;6b>Flix z+A=@&Hhnq}tz<~7z$CiF^t_pwkv9%>d#tOWlU5|R%=dEzTW$>1+s}^mb){a$yM9&6 zO}7TRPn29RAi-&mOU`dPoS6Y+0;BC=DbJmLaoJhJxIuZ8PHE}{Xx)19KwfGbWQ?`I z?TCIx?Fa^%G_Rs1Uet1AD#q>p1%uWb`a0GJ7p$}bPZNsS?U@5bpL zW`S{OLwMc7+zkLUEC%j1&e?! z_}1)L$ZNE|utb-28~0P3R7*{BcHixfX)CH>5QYdtk4ZxWEkIT}rNt2kpk-h!ez*oa zcn0z_!l0##Tl{8W08$2)<2OXWVbDhsQ}Avva6v*(!t}2{!Qvvnp6wwEw%4L#4738h z=LE9{acABaa-v7EUmcYlTC~FW1pb2-^A9#`okm>$l1gt%Oqn(K zNOu=tmYbEzw$E(&SmR!`LEzk+WIPrB7K+Gc{f@1V5YvrIE@bwqdmcOq5!s1oU%Wr4^Uyn(?|B{b5+v*njP(fPMEh^;njf1;; zGDd&C zo3=iPWbX_2?5dlh$;Dy3GdPN9B&k$!%CnhmH`jQqrnm-y#K4(L?B8O%k z{`^B}(=?6;)0WOmBU2jEAr}3?fuvG24RT2#@0hU&T4yZ@ugMKHY3B5~O7SP%^hns| z{Y>(I8FhuhC|o-n7;Z08qucPvCH}hZ_#6iR5%9?#co5kR0}yEZgbMWRE4@i+6Bk=}6^E z(P{u!AH=A0?6glp_zB&*4-vjyTW4Utgz4o6f R%GQqRPP<*~tL*%e{{th~r_cZZ literal 0 HcmV?d00001 diff --git a/tokensignin.php b/tokensignin.php new file mode 100644 index 00000000..d21cc365 --- /dev/null +++ b/tokensignin.php @@ -0,0 +1,53 @@ +connect_errno) { + echo "Failed to connect to MySQL: (" . $mysqli->connect_errno . ") " . $mysqli->connect_error; +} +$query = "INSERT INTO log (uid,name,isadmin,operation) values('".$_SESSION['uid']."','".$_SESSION['name']."',". $_SESSION['admin'].", 'logout')"; +$mysqli->query($query); +syslog(LOG_INFO, "Logout ".$_SESSION['uid']." / ". $_SESSION['name']. " from : {$_SERVER['REMOTE_ADDR']} ({$_SERVER['HTTP_USER_AGENT']})"); +$_SESSION['uid']=''; +$_SESSION['admin']=''; +$_SESSION['name']=''; +closelog(); +die(); + +} +$id_token = $_POST['idtoken']; + +$admins = array('106388451999977183087' => 'Y', // Jess + '113391142723644034553' => 'Y' // Lars + +); +$client = new Google_Client(['client_id' => '538635499162-g21v86gk87qm863u03er6vnm3q15bl82.apps.googleusercontent.com']); +$payload = $client->verifyIdToken($id_token); +if ($payload) { + $userid = $payload['sub']; + // If request specified a G Suite domain: + $domain = $payload['hd']; + // Associate user info to session si we can use it later + $_SESSION['uid'] = $userid; + $_SESSION['dom'] = $domain; + $_SESSION['email'] = $payload['email']; + $_SESSION['name'] = $payload['name']; + // Is this user admin + $_SESSION['admin'] = ''; + if( array_key_exists($userid, $admins)) { + $_SESSION['admin'] = 1; + } + echo "SUCCESS: $userid / DOMAIN: $domain"; + syslog(LOG_INFO, "Authorized login $userid / ". $payload['name']. " from : {$_SERVER['REMOTE_ADDR']} ({$_SERVER['HTTP_USER_AGENT']})"); +} else { + // Invalid ID token + syslog(LOG_ERR, "Failed login ". $payload['name']. " from : {$_SERVER['REMOTE_ADDR']} ({$_SERVER['HTTP_USER_AGENT']})"); + closelog(); + echo "FAIL"; +} +closelog(); + +?> diff --git a/vendor/autoload.php b/vendor/autoload.php new file mode 100644 index 00000000..9efe67e3 --- /dev/null +++ b/vendor/autoload.php @@ -0,0 +1,7 @@ + + * Jordi Boggiano + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Composer\Autoload; + +/** + * ClassLoader implements a PSR-0, PSR-4 and classmap class loader. + * + * $loader = new \Composer\Autoload\ClassLoader(); + * + * // register classes with namespaces + * $loader->add('Symfony\Component', __DIR__.'/component'); + * $loader->add('Symfony', __DIR__.'/framework'); + * + * // activate the autoloader + * $loader->register(); + * + * // to enable searching the include path (eg. for PEAR packages) + * $loader->setUseIncludePath(true); + * + * In this example, if you try to use a class in the Symfony\Component + * namespace or one of its children (Symfony\Component\Console for instance), + * the autoloader will first look for the class under the component/ + * directory, and it will then fallback to the framework/ directory if not + * found before giving up. + * + * This class is loosely based on the Symfony UniversalClassLoader. + * + * @author Fabien Potencier + * @author Jordi Boggiano + * @see http://www.php-fig.org/psr/psr-0/ + * @see http://www.php-fig.org/psr/psr-4/ + */ +class ClassLoader +{ + // PSR-4 + private $prefixLengthsPsr4 = array(); + private $prefixDirsPsr4 = array(); + private $fallbackDirsPsr4 = array(); + + // PSR-0 + private $prefixesPsr0 = array(); + private $fallbackDirsPsr0 = array(); + + private $useIncludePath = false; + private $classMap = array(); + private $classMapAuthoritative = false; + private $missingClasses = array(); + private $apcuPrefix; + + public function getPrefixes() + { + if (!empty($this->prefixesPsr0)) { + return call_user_func_array('array_merge', $this->prefixesPsr0); + } + + return array(); + } + + public function getPrefixesPsr4() + { + return $this->prefixDirsPsr4; + } + + public function getFallbackDirs() + { + return $this->fallbackDirsPsr0; + } + + public function getFallbackDirsPsr4() + { + return $this->fallbackDirsPsr4; + } + + public function getClassMap() + { + return $this->classMap; + } + + /** + * @param array $classMap Class to filename map + */ + public function addClassMap(array $classMap) + { + if ($this->classMap) { + $this->classMap = array_merge($this->classMap, $classMap); + } else { + $this->classMap = $classMap; + } + } + + /** + * Registers a set of PSR-0 directories for a given prefix, either + * appending or prepending to the ones previously set for this prefix. + * + * @param string $prefix The prefix + * @param array|string $paths The PSR-0 root directories + * @param bool $prepend Whether to prepend the directories + */ + public function add($prefix, $paths, $prepend = false) + { + if (!$prefix) { + if ($prepend) { + $this->fallbackDirsPsr0 = array_merge( + (array) $paths, + $this->fallbackDirsPsr0 + ); + } else { + $this->fallbackDirsPsr0 = array_merge( + $this->fallbackDirsPsr0, + (array) $paths + ); + } + + return; + } + + $first = $prefix[0]; + if (!isset($this->prefixesPsr0[$first][$prefix])) { + $this->prefixesPsr0[$first][$prefix] = (array) $paths; + + return; + } + if ($prepend) { + $this->prefixesPsr0[$first][$prefix] = array_merge( + (array) $paths, + $this->prefixesPsr0[$first][$prefix] + ); + } else { + $this->prefixesPsr0[$first][$prefix] = array_merge( + $this->prefixesPsr0[$first][$prefix], + (array) $paths + ); + } + } + + /** + * Registers a set of PSR-4 directories for a given namespace, either + * appending or prepending to the ones previously set for this namespace. + * + * @param string $prefix The prefix/namespace, with trailing '\\' + * @param array|string $paths The PSR-4 base directories + * @param bool $prepend Whether to prepend the directories + * + * @throws \InvalidArgumentException + */ + public function addPsr4($prefix, $paths, $prepend = false) + { + if (!$prefix) { + // Register directories for the root namespace. + if ($prepend) { + $this->fallbackDirsPsr4 = array_merge( + (array) $paths, + $this->fallbackDirsPsr4 + ); + } else { + $this->fallbackDirsPsr4 = array_merge( + $this->fallbackDirsPsr4, + (array) $paths + ); + } + } elseif (!isset($this->prefixDirsPsr4[$prefix])) { + // Register directories for a new namespace. + $length = strlen($prefix); + if ('\\' !== $prefix[$length - 1]) { + throw new \InvalidArgumentException("A non-empty PSR-4 prefix must end with a namespace separator."); + } + $this->prefixLengthsPsr4[$prefix[0]][$prefix] = $length; + $this->prefixDirsPsr4[$prefix] = (array) $paths; + } elseif ($prepend) { + // Prepend directories for an already registered namespace. + $this->prefixDirsPsr4[$prefix] = array_merge( + (array) $paths, + $this->prefixDirsPsr4[$prefix] + ); + } else { + // Append directories for an already registered namespace. + $this->prefixDirsPsr4[$prefix] = array_merge( + $this->prefixDirsPsr4[$prefix], + (array) $paths + ); + } + } + + /** + * Registers a set of PSR-0 directories for a given prefix, + * replacing any others previously set for this prefix. + * + * @param string $prefix The prefix + * @param array|string $paths The PSR-0 base directories + */ + public function set($prefix, $paths) + { + if (!$prefix) { + $this->fallbackDirsPsr0 = (array) $paths; + } else { + $this->prefixesPsr0[$prefix[0]][$prefix] = (array) $paths; + } + } + + /** + * Registers a set of PSR-4 directories for a given namespace, + * replacing any others previously set for this namespace. + * + * @param string $prefix The prefix/namespace, with trailing '\\' + * @param array|string $paths The PSR-4 base directories + * + * @throws \InvalidArgumentException + */ + public function setPsr4($prefix, $paths) + { + if (!$prefix) { + $this->fallbackDirsPsr4 = (array) $paths; + } else { + $length = strlen($prefix); + if ('\\' !== $prefix[$length - 1]) { + throw new \InvalidArgumentException("A non-empty PSR-4 prefix must end with a namespace separator."); + } + $this->prefixLengthsPsr4[$prefix[0]][$prefix] = $length; + $this->prefixDirsPsr4[$prefix] = (array) $paths; + } + } + + /** + * Turns on searching the include path for class files. + * + * @param bool $useIncludePath + */ + public function setUseIncludePath($useIncludePath) + { + $this->useIncludePath = $useIncludePath; + } + + /** + * Can be used to check if the autoloader uses the include path to check + * for classes. + * + * @return bool + */ + public function getUseIncludePath() + { + return $this->useIncludePath; + } + + /** + * Turns off searching the prefix and fallback directories for classes + * that have not been registered with the class map. + * + * @param bool $classMapAuthoritative + */ + public function setClassMapAuthoritative($classMapAuthoritative) + { + $this->classMapAuthoritative = $classMapAuthoritative; + } + + /** + * Should class lookup fail if not found in the current class map? + * + * @return bool + */ + public function isClassMapAuthoritative() + { + return $this->classMapAuthoritative; + } + + /** + * APCu prefix to use to cache found/not-found classes, if the extension is enabled. + * + * @param string|null $apcuPrefix + */ + public function setApcuPrefix($apcuPrefix) + { + $this->apcuPrefix = function_exists('apcu_fetch') && ini_get('apc.enabled') ? $apcuPrefix : null; + } + + /** + * The APCu prefix in use, or null if APCu caching is not enabled. + * + * @return string|null + */ + public function getApcuPrefix() + { + return $this->apcuPrefix; + } + + /** + * Registers this instance as an autoloader. + * + * @param bool $prepend Whether to prepend the autoloader or not + */ + public function register($prepend = false) + { + spl_autoload_register(array($this, 'loadClass'), true, $prepend); + } + + /** + * Unregisters this instance as an autoloader. + */ + public function unregister() + { + spl_autoload_unregister(array($this, 'loadClass')); + } + + /** + * Loads the given class or interface. + * + * @param string $class The name of the class + * @return bool|null True if loaded, null otherwise + */ + public function loadClass($class) + { + if ($file = $this->findFile($class)) { + includeFile($file); + + return true; + } + } + + /** + * Finds the path to the file where the class is defined. + * + * @param string $class The name of the class + * + * @return string|false The path if found, false otherwise + */ + public function findFile($class) + { + // class map lookup + if (isset($this->classMap[$class])) { + return $this->classMap[$class]; + } + if ($this->classMapAuthoritative || isset($this->missingClasses[$class])) { + return false; + } + if (null !== $this->apcuPrefix) { + $file = apcu_fetch($this->apcuPrefix.$class, $hit); + if ($hit) { + return $file; + } + } + + $file = $this->findFileWithExtension($class, '.php'); + + // Search for Hack files if we are running on HHVM + if (false === $file && defined('HHVM_VERSION')) { + $file = $this->findFileWithExtension($class, '.hh'); + } + + if (null !== $this->apcuPrefix) { + apcu_add($this->apcuPrefix.$class, $file); + } + + if (false === $file) { + // Remember that this class does not exist. + $this->missingClasses[$class] = true; + } + + return $file; + } + + private function findFileWithExtension($class, $ext) + { + // PSR-4 lookup + $logicalPathPsr4 = strtr($class, '\\', DIRECTORY_SEPARATOR) . $ext; + + $first = $class[0]; + if (isset($this->prefixLengthsPsr4[$first])) { + $subPath = $class; + while (false !== $lastPos = strrpos($subPath, '\\')) { + $subPath = substr($subPath, 0, $lastPos); + $search = $subPath.'\\'; + if (isset($this->prefixDirsPsr4[$search])) { + foreach ($this->prefixDirsPsr4[$search] as $dir) { + $length = $this->prefixLengthsPsr4[$first][$search]; + if (file_exists($file = $dir . DIRECTORY_SEPARATOR . substr($logicalPathPsr4, $length))) { + return $file; + } + } + } + } + } + + // PSR-4 fallback dirs + foreach ($this->fallbackDirsPsr4 as $dir) { + if (file_exists($file = $dir . DIRECTORY_SEPARATOR . $logicalPathPsr4)) { + return $file; + } + } + + // PSR-0 lookup + if (false !== $pos = strrpos($class, '\\')) { + // namespaced class name + $logicalPathPsr0 = substr($logicalPathPsr4, 0, $pos + 1) + . strtr(substr($logicalPathPsr4, $pos + 1), '_', DIRECTORY_SEPARATOR); + } else { + // PEAR-like class name + $logicalPathPsr0 = strtr($class, '_', DIRECTORY_SEPARATOR) . $ext; + } + + if (isset($this->prefixesPsr0[$first])) { + foreach ($this->prefixesPsr0[$first] as $prefix => $dirs) { + if (0 === strpos($class, $prefix)) { + foreach ($dirs as $dir) { + if (file_exists($file = $dir . DIRECTORY_SEPARATOR . $logicalPathPsr0)) { + return $file; + } + } + } + } + } + + // PSR-0 fallback dirs + foreach ($this->fallbackDirsPsr0 as $dir) { + if (file_exists($file = $dir . DIRECTORY_SEPARATOR . $logicalPathPsr0)) { + return $file; + } + } + + // PSR-0 include paths. + if ($this->useIncludePath && $file = stream_resolve_include_path($logicalPathPsr0)) { + return $file; + } + + return false; + } +} + +/** + * Scope isolated include. + * + * Prevents access to $this/self from included files. + */ +function includeFile($file) +{ + include $file; +} diff --git a/vendor/composer/LICENSE b/vendor/composer/LICENSE new file mode 100644 index 00000000..f27399a0 --- /dev/null +++ b/vendor/composer/LICENSE @@ -0,0 +1,21 @@ + +Copyright (c) Nils Adermann, Jordi Boggiano + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is furnished +to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + diff --git a/vendor/composer/autoload_classmap.php b/vendor/composer/autoload_classmap.php new file mode 100644 index 00000000..d0bf7f07 --- /dev/null +++ b/vendor/composer/autoload_classmap.php @@ -0,0 +1,36 @@ + $vendorDir . '/google/auth/src/ApplicationDefaultCredentials.php', + 'Google\\Auth\\CacheTrait' => $vendorDir . '/google/auth/src/CacheTrait.php', + 'Google\\Auth\\Cache\\InvalidArgumentException' => $vendorDir . '/google/auth/src/Cache/InvalidArgumentException.php', + 'Google\\Auth\\Cache\\Item' => $vendorDir . '/google/auth/src/Cache/Item.php', + 'Google\\Auth\\Cache\\MemoryCacheItemPool' => $vendorDir . '/google/auth/src/Cache/MemoryCacheItemPool.php', + 'Google\\Auth\\CredentialsLoader' => $vendorDir . '/google/auth/src/CredentialsLoader.php', + 'Google\\Auth\\Credentials\\AppIdentityCredentials' => $vendorDir . '/google/auth/src/Credentials/AppIdentityCredentials.php', + 'Google\\Auth\\Credentials\\GCECredentials' => $vendorDir . '/google/auth/src/Credentials/GCECredentials.php', + 'Google\\Auth\\Credentials\\IAMCredentials' => $vendorDir . '/google/auth/src/Credentials/IAMCredentials.php', + 'Google\\Auth\\Credentials\\ServiceAccountCredentials' => $vendorDir . '/google/auth/src/Credentials/ServiceAccountCredentials.php', + 'Google\\Auth\\Credentials\\ServiceAccountJwtAccessCredentials' => $vendorDir . '/google/auth/src/Credentials/ServiceAccountJwtAccessCredentials.php', + 'Google\\Auth\\Credentials\\UserRefreshCredentials' => $vendorDir . '/google/auth/src/Credentials/UserRefreshCredentials.php', + 'Google\\Auth\\FetchAuthTokenCache' => $vendorDir . '/google/auth/src/FetchAuthTokenCache.php', + 'Google\\Auth\\FetchAuthTokenInterface' => $vendorDir . '/google/auth/src/FetchAuthTokenInterface.php', + 'Google\\Auth\\HttpHandler\\Guzzle5HttpHandler' => $vendorDir . '/google/auth/src/HttpHandler/Guzzle5HttpHandler.php', + 'Google\\Auth\\HttpHandler\\Guzzle6HttpHandler' => $vendorDir . '/google/auth/src/HttpHandler/Guzzle6HttpHandler.php', + 'Google\\Auth\\HttpHandler\\HttpHandlerFactory' => $vendorDir . '/google/auth/src/HttpHandler/HttpHandlerFactory.php', + 'Google\\Auth\\Middleware\\AuthTokenMiddleware' => $vendorDir . '/google/auth/src/Middleware/AuthTokenMiddleware.php', + 'Google\\Auth\\Middleware\\ScopedAccessTokenMiddleware' => $vendorDir . '/google/auth/src/Middleware/ScopedAccessTokenMiddleware.php', + 'Google\\Auth\\Middleware\\SimpleMiddleware' => $vendorDir . '/google/auth/src/Middleware/SimpleMiddleware.php', + 'Google\\Auth\\OAuth2' => $vendorDir . '/google/auth/src/OAuth2.php', + 'Google\\Auth\\Subscriber\\AuthTokenSubscriber' => $vendorDir . '/google/auth/src/Subscriber/AuthTokenSubscriber.php', + 'Google\\Auth\\Subscriber\\ScopedAccessTokenSubscriber' => $vendorDir . '/google/auth/src/Subscriber/ScopedAccessTokenSubscriber.php', + 'Google\\Auth\\Subscriber\\SimpleSubscriber' => $vendorDir . '/google/auth/src/Subscriber/SimpleSubscriber.php', + 'Google_Service_Exception' => $vendorDir . '/google/apiclient/src/Google/Service/Exception.php', + 'Google_Service_Resource' => $vendorDir . '/google/apiclient/src/Google/Service/Resource.php', + 'Zebra_Form' => $vendorDir . '/stefangabos/zebra_form/Zebra_Form.php', +); diff --git a/vendor/composer/autoload_files.php b/vendor/composer/autoload_files.php new file mode 100644 index 00000000..56bb586c --- /dev/null +++ b/vendor/composer/autoload_files.php @@ -0,0 +1,13 @@ + $vendorDir . '/guzzlehttp/psr7/src/functions_include.php', + 'c964ee0ededf28c96ebd9db5099ef910' => $vendorDir . '/guzzlehttp/promises/src/functions_include.php', + '37a3dc5111fe8f707ab4c132ef1dbc62' => $vendorDir . '/guzzlehttp/guzzle/src/functions_include.php', + 'decc78cc4436b1292c6c0d151b19445c' => $vendorDir . '/phpseclib/phpseclib/phpseclib/bootstrap.php', +); diff --git a/vendor/composer/autoload_namespaces.php b/vendor/composer/autoload_namespaces.php new file mode 100644 index 00000000..034cefee --- /dev/null +++ b/vendor/composer/autoload_namespaces.php @@ -0,0 +1,12 @@ + array($vendorDir . '/phpoffice/phpexcel/Classes'), + 'Google_Service_' => array($vendorDir . '/google/apiclient-services/src'), + 'Google_' => array($vendorDir . '/google/apiclient/src'), +); diff --git a/vendor/composer/autoload_psr4.php b/vendor/composer/autoload_psr4.php new file mode 100644 index 00000000..36bd6b5a --- /dev/null +++ b/vendor/composer/autoload_psr4.php @@ -0,0 +1,19 @@ + array($vendorDir . '/phpseclib/phpseclib/phpseclib'), + 'Psr\\Log\\' => array($vendorDir . '/psr/log/Psr/Log'), + 'Psr\\Http\\Message\\' => array($vendorDir . '/psr/http-message/src'), + 'Psr\\Cache\\' => array($vendorDir . '/psr/cache/src'), + 'Monolog\\' => array($vendorDir . '/monolog/monolog/src/Monolog'), + 'GuzzleHttp\\Psr7\\' => array($vendorDir . '/guzzlehttp/psr7/src'), + 'GuzzleHttp\\Promise\\' => array($vendorDir . '/guzzlehttp/promises/src'), + 'GuzzleHttp\\' => array($vendorDir . '/guzzlehttp/guzzle/src'), + 'Google\\Auth\\' => array($vendorDir . '/google/auth/src'), + 'Firebase\\JWT\\' => array($vendorDir . '/firebase/php-jwt/src'), +); diff --git a/vendor/composer/autoload_real.php b/vendor/composer/autoload_real.php new file mode 100644 index 00000000..6bf1e51d --- /dev/null +++ b/vendor/composer/autoload_real.php @@ -0,0 +1,70 @@ += 50600 && !defined('HHVM_VERSION') && (!function_exists('zend_loader_file_encoded') || !zend_loader_file_encoded()); + if ($useStaticLoader) { + require_once __DIR__ . '/autoload_static.php'; + + call_user_func(\Composer\Autoload\ComposerStaticInit5e45d0d6c07c4cb7b909eede38ad55d6::getInitializer($loader)); + } else { + $map = require __DIR__ . '/autoload_namespaces.php'; + foreach ($map as $namespace => $path) { + $loader->set($namespace, $path); + } + + $map = require __DIR__ . '/autoload_psr4.php'; + foreach ($map as $namespace => $path) { + $loader->setPsr4($namespace, $path); + } + + $classMap = require __DIR__ . '/autoload_classmap.php'; + if ($classMap) { + $loader->addClassMap($classMap); + } + } + + $loader->register(true); + + if ($useStaticLoader) { + $includeFiles = Composer\Autoload\ComposerStaticInit5e45d0d6c07c4cb7b909eede38ad55d6::$files; + } else { + $includeFiles = require __DIR__ . '/autoload_files.php'; + } + foreach ($includeFiles as $fileIdentifier => $file) { + composerRequire5e45d0d6c07c4cb7b909eede38ad55d6($fileIdentifier, $file); + } + + return $loader; + } +} + +function composerRequire5e45d0d6c07c4cb7b909eede38ad55d6($fileIdentifier, $file) +{ + if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) { + require $file; + + $GLOBALS['__composer_autoload_files'][$fileIdentifier] = true; + } +} diff --git a/vendor/composer/autoload_static.php b/vendor/composer/autoload_static.php new file mode 100644 index 00000000..4ae6bfad --- /dev/null +++ b/vendor/composer/autoload_static.php @@ -0,0 +1,148 @@ + __DIR__ . '/..' . '/guzzlehttp/psr7/src/functions_include.php', + 'c964ee0ededf28c96ebd9db5099ef910' => __DIR__ . '/..' . '/guzzlehttp/promises/src/functions_include.php', + '37a3dc5111fe8f707ab4c132ef1dbc62' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/functions_include.php', + 'decc78cc4436b1292c6c0d151b19445c' => __DIR__ . '/..' . '/phpseclib/phpseclib/phpseclib/bootstrap.php', + ); + + public static $prefixLengthsPsr4 = array ( + 'p' => + array ( + 'phpseclib\\' => 10, + ), + 'P' => + array ( + 'Psr\\Log\\' => 8, + 'Psr\\Http\\Message\\' => 17, + 'Psr\\Cache\\' => 10, + ), + 'M' => + array ( + 'Monolog\\' => 8, + ), + 'G' => + array ( + 'GuzzleHttp\\Psr7\\' => 16, + 'GuzzleHttp\\Promise\\' => 19, + 'GuzzleHttp\\' => 11, + 'Google\\Auth\\' => 12, + ), + 'F' => + array ( + 'Firebase\\JWT\\' => 13, + ), + ); + + public static $prefixDirsPsr4 = array ( + 'phpseclib\\' => + array ( + 0 => __DIR__ . '/..' . '/phpseclib/phpseclib/phpseclib', + ), + 'Psr\\Log\\' => + array ( + 0 => __DIR__ . '/..' . '/psr/log/Psr/Log', + ), + 'Psr\\Http\\Message\\' => + array ( + 0 => __DIR__ . '/..' . '/psr/http-message/src', + ), + 'Psr\\Cache\\' => + array ( + 0 => __DIR__ . '/..' . '/psr/cache/src', + ), + 'Monolog\\' => + array ( + 0 => __DIR__ . '/..' . '/monolog/monolog/src/Monolog', + ), + 'GuzzleHttp\\Psr7\\' => + array ( + 0 => __DIR__ . '/..' . '/guzzlehttp/psr7/src', + ), + 'GuzzleHttp\\Promise\\' => + array ( + 0 => __DIR__ . '/..' . '/guzzlehttp/promises/src', + ), + 'GuzzleHttp\\' => + array ( + 0 => __DIR__ . '/..' . '/guzzlehttp/guzzle/src', + ), + 'Google\\Auth\\' => + array ( + 0 => __DIR__ . '/..' . '/google/auth/src', + ), + 'Firebase\\JWT\\' => + array ( + 0 => __DIR__ . '/..' . '/firebase/php-jwt/src', + ), + ); + + public static $prefixesPsr0 = array ( + 'P' => + array ( + 'PHPExcel' => + array ( + 0 => __DIR__ . '/..' . '/phpoffice/phpexcel/Classes', + ), + ), + 'G' => + array ( + 'Google_Service_' => + array ( + 0 => __DIR__ . '/..' . '/google/apiclient-services/src', + ), + 'Google_' => + array ( + 0 => __DIR__ . '/..' . '/google/apiclient/src', + ), + ), + ); + + public static $classMap = array ( + 'Google\\Auth\\ApplicationDefaultCredentials' => __DIR__ . '/..' . '/google/auth/src/ApplicationDefaultCredentials.php', + 'Google\\Auth\\CacheTrait' => __DIR__ . '/..' . '/google/auth/src/CacheTrait.php', + 'Google\\Auth\\Cache\\InvalidArgumentException' => __DIR__ . '/..' . '/google/auth/src/Cache/InvalidArgumentException.php', + 'Google\\Auth\\Cache\\Item' => __DIR__ . '/..' . '/google/auth/src/Cache/Item.php', + 'Google\\Auth\\Cache\\MemoryCacheItemPool' => __DIR__ . '/..' . '/google/auth/src/Cache/MemoryCacheItemPool.php', + 'Google\\Auth\\CredentialsLoader' => __DIR__ . '/..' . '/google/auth/src/CredentialsLoader.php', + 'Google\\Auth\\Credentials\\AppIdentityCredentials' => __DIR__ . '/..' . '/google/auth/src/Credentials/AppIdentityCredentials.php', + 'Google\\Auth\\Credentials\\GCECredentials' => __DIR__ . '/..' . '/google/auth/src/Credentials/GCECredentials.php', + 'Google\\Auth\\Credentials\\IAMCredentials' => __DIR__ . '/..' . '/google/auth/src/Credentials/IAMCredentials.php', + 'Google\\Auth\\Credentials\\ServiceAccountCredentials' => __DIR__ . '/..' . '/google/auth/src/Credentials/ServiceAccountCredentials.php', + 'Google\\Auth\\Credentials\\ServiceAccountJwtAccessCredentials' => __DIR__ . '/..' . '/google/auth/src/Credentials/ServiceAccountJwtAccessCredentials.php', + 'Google\\Auth\\Credentials\\UserRefreshCredentials' => __DIR__ . '/..' . '/google/auth/src/Credentials/UserRefreshCredentials.php', + 'Google\\Auth\\FetchAuthTokenCache' => __DIR__ . '/..' . '/google/auth/src/FetchAuthTokenCache.php', + 'Google\\Auth\\FetchAuthTokenInterface' => __DIR__ . '/..' . '/google/auth/src/FetchAuthTokenInterface.php', + 'Google\\Auth\\HttpHandler\\Guzzle5HttpHandler' => __DIR__ . '/..' . '/google/auth/src/HttpHandler/Guzzle5HttpHandler.php', + 'Google\\Auth\\HttpHandler\\Guzzle6HttpHandler' => __DIR__ . '/..' . '/google/auth/src/HttpHandler/Guzzle6HttpHandler.php', + 'Google\\Auth\\HttpHandler\\HttpHandlerFactory' => __DIR__ . '/..' . '/google/auth/src/HttpHandler/HttpHandlerFactory.php', + 'Google\\Auth\\Middleware\\AuthTokenMiddleware' => __DIR__ . '/..' . '/google/auth/src/Middleware/AuthTokenMiddleware.php', + 'Google\\Auth\\Middleware\\ScopedAccessTokenMiddleware' => __DIR__ . '/..' . '/google/auth/src/Middleware/ScopedAccessTokenMiddleware.php', + 'Google\\Auth\\Middleware\\SimpleMiddleware' => __DIR__ . '/..' . '/google/auth/src/Middleware/SimpleMiddleware.php', + 'Google\\Auth\\OAuth2' => __DIR__ . '/..' . '/google/auth/src/OAuth2.php', + 'Google\\Auth\\Subscriber\\AuthTokenSubscriber' => __DIR__ . '/..' . '/google/auth/src/Subscriber/AuthTokenSubscriber.php', + 'Google\\Auth\\Subscriber\\ScopedAccessTokenSubscriber' => __DIR__ . '/..' . '/google/auth/src/Subscriber/ScopedAccessTokenSubscriber.php', + 'Google\\Auth\\Subscriber\\SimpleSubscriber' => __DIR__ . '/..' . '/google/auth/src/Subscriber/SimpleSubscriber.php', + 'Google_Service_Exception' => __DIR__ . '/..' . '/google/apiclient/src/Google/Service/Exception.php', + 'Google_Service_Resource' => __DIR__ . '/..' . '/google/apiclient/src/Google/Service/Resource.php', + 'Zebra_Form' => __DIR__ . '/..' . '/stefangabos/zebra_form/Zebra_Form.php', + ); + + public static function getInitializer(ClassLoader $loader) + { + return \Closure::bind(function () use ($loader) { + $loader->prefixLengthsPsr4 = ComposerStaticInit5e45d0d6c07c4cb7b909eede38ad55d6::$prefixLengthsPsr4; + $loader->prefixDirsPsr4 = ComposerStaticInit5e45d0d6c07c4cb7b909eede38ad55d6::$prefixDirsPsr4; + $loader->prefixesPsr0 = ComposerStaticInit5e45d0d6c07c4cb7b909eede38ad55d6::$prefixesPsr0; + $loader->classMap = ComposerStaticInit5e45d0d6c07c4cb7b909eede38ad55d6::$classMap; + + }, null, ClassLoader::class); + } +} diff --git a/vendor/composer/installed.json b/vendor/composer/installed.json new file mode 100644 index 00000000..f8850994 --- /dev/null +++ b/vendor/composer/installed.json @@ -0,0 +1,815 @@ +[ + { + "name": "psr/http-message", + "version": "1.0.1", + "version_normalized": "1.0.1.0", + "source": { + "type": "git", + "url": "https://github.com/php-fig/http-message.git", + "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/http-message/zipball/f6561bf28d520154e4b0ec72be95418abe6d9363", + "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363", + "shasum": "" + }, + "require": { + "php": ">=5.3.0" + }, + "time": "2016-08-06T14:39:51+00:00", + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "installation-source": "dist", + "autoload": { + "psr-4": { + "Psr\\Http\\Message\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "http://www.php-fig.org/" + } + ], + "description": "Common interface for HTTP messages", + "homepage": "https://github.com/php-fig/http-message", + "keywords": [ + "http", + "http-message", + "psr", + "psr-7", + "request", + "response" + ] + }, + { + "name": "guzzlehttp/psr7", + "version": "1.4.2", + "version_normalized": "1.4.2.0", + "source": { + "type": "git", + "url": "https://github.com/guzzle/psr7.git", + "reference": "f5b8a8512e2b58b0071a7280e39f14f72e05d87c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/guzzle/psr7/zipball/f5b8a8512e2b58b0071a7280e39f14f72e05d87c", + "reference": "f5b8a8512e2b58b0071a7280e39f14f72e05d87c", + "shasum": "" + }, + "require": { + "php": ">=5.4.0", + "psr/http-message": "~1.0" + }, + "provide": { + "psr/http-message-implementation": "1.0" + }, + "require-dev": { + "phpunit/phpunit": "~4.0" + }, + "time": "2017-03-20T17:10:46+00:00", + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.4-dev" + } + }, + "installation-source": "dist", + "autoload": { + "psr-4": { + "GuzzleHttp\\Psr7\\": "src/" + }, + "files": [ + "src/functions_include.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Michael Dowling", + "email": "mtdowling@gmail.com", + "homepage": "https://github.com/mtdowling" + }, + { + "name": "Tobias Schultze", + "homepage": "https://github.com/Tobion" + } + ], + "description": "PSR-7 message implementation that also provides common utility methods", + "keywords": [ + "http", + "message", + "request", + "response", + "stream", + "uri", + "url" + ] + }, + { + "name": "guzzlehttp/promises", + "version": "v1.3.1", + "version_normalized": "1.3.1.0", + "source": { + "type": "git", + "url": "https://github.com/guzzle/promises.git", + "reference": "a59da6cf61d80060647ff4d3eb2c03a2bc694646" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/guzzle/promises/zipball/a59da6cf61d80060647ff4d3eb2c03a2bc694646", + "reference": "a59da6cf61d80060647ff4d3eb2c03a2bc694646", + "shasum": "" + }, + "require": { + "php": ">=5.5.0" + }, + "require-dev": { + "phpunit/phpunit": "^4.0" + }, + "time": "2016-12-20T10:07:11+00:00", + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.4-dev" + } + }, + "installation-source": "dist", + "autoload": { + "psr-4": { + "GuzzleHttp\\Promise\\": "src/" + }, + "files": [ + "src/functions_include.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Michael Dowling", + "email": "mtdowling@gmail.com", + "homepage": "https://github.com/mtdowling" + } + ], + "description": "Guzzle promises library", + "keywords": [ + "promise" + ] + }, + { + "name": "guzzlehttp/guzzle", + "version": "6.2.3", + "version_normalized": "6.2.3.0", + "source": { + "type": "git", + "url": "https://github.com/guzzle/guzzle.git", + "reference": "8d6c6cc55186db87b7dc5009827429ba4e9dc006" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/guzzle/guzzle/zipball/8d6c6cc55186db87b7dc5009827429ba4e9dc006", + "reference": "8d6c6cc55186db87b7dc5009827429ba4e9dc006", + "shasum": "" + }, + "require": { + "guzzlehttp/promises": "^1.0", + "guzzlehttp/psr7": "^1.4", + "php": ">=5.5" + }, + "require-dev": { + "ext-curl": "*", + "phpunit/phpunit": "^4.0", + "psr/log": "^1.0" + }, + "time": "2017-02-28T22:50:30+00:00", + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "6.2-dev" + } + }, + "installation-source": "dist", + "autoload": { + "files": [ + "src/functions_include.php" + ], + "psr-4": { + "GuzzleHttp\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Michael Dowling", + "email": "mtdowling@gmail.com", + "homepage": "https://github.com/mtdowling" + } + ], + "description": "Guzzle is a PHP HTTP client library", + "homepage": "http://guzzlephp.org/", + "keywords": [ + "client", + "curl", + "framework", + "http", + "http client", + "rest", + "web service" + ] + }, + { + "name": "phpseclib/phpseclib", + "version": "2.0.4", + "version_normalized": "2.0.4.0", + "source": { + "type": "git", + "url": "https://github.com/phpseclib/phpseclib.git", + "reference": "ab8028c93c03cc8d9c824efa75dc94f1db2369bf" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phpseclib/phpseclib/zipball/ab8028c93c03cc8d9c824efa75dc94f1db2369bf", + "reference": "ab8028c93c03cc8d9c824efa75dc94f1db2369bf", + "shasum": "" + }, + "require": { + "php": ">=5.3.3" + }, + "require-dev": { + "phing/phing": "~2.7", + "phpunit/phpunit": "~4.0", + "sami/sami": "~2.0", + "squizlabs/php_codesniffer": "~2.0" + }, + "suggest": { + "ext-gmp": "Install the GMP (GNU Multiple Precision) extension in order to speed up arbitrary precision integer arithmetic operations.", + "ext-libsodium": "SSH2/SFTP can make use of some algorithms provided by the libsodium-php extension.", + "ext-mcrypt": "Install the Mcrypt extension in order to speed up a few other cryptographic operations.", + "ext-openssl": "Install the OpenSSL extension in order to speed up a wide variety of cryptographic operations." + }, + "time": "2016-10-04T00:57:04+00:00", + "type": "library", + "installation-source": "dist", + "autoload": { + "files": [ + "phpseclib/bootstrap.php" + ], + "psr-4": { + "phpseclib\\": "phpseclib/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jim Wigginton", + "email": "terrafrost@php.net", + "role": "Lead Developer" + }, + { + "name": "Patrick Monnerat", + "email": "pm@datasphere.ch", + "role": "Developer" + }, + { + "name": "Andreas Fischer", + "email": "bantu@phpbb.com", + "role": "Developer" + }, + { + "name": "Hans-Jürgen Petrich", + "email": "petrich@tronic-media.com", + "role": "Developer" + }, + { + "name": "Graham Campbell", + "email": "graham@alt-three.com", + "role": "Developer" + } + ], + "description": "PHP Secure Communications Library - Pure-PHP implementations of RSA, AES, SSH2, SFTP, X.509 etc.", + "homepage": "http://phpseclib.sourceforge.net", + "keywords": [ + "BigInteger", + "aes", + "asn.1", + "asn1", + "blowfish", + "crypto", + "cryptography", + "encryption", + "rsa", + "security", + "sftp", + "signature", + "signing", + "ssh", + "twofish", + "x.509", + "x509" + ] + }, + { + "name": "psr/log", + "version": "1.0.2", + "version_normalized": "1.0.2.0", + "source": { + "type": "git", + "url": "https://github.com/php-fig/log.git", + "reference": "4ebe3a8bf773a19edfe0a84b6585ba3d401b724d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/log/zipball/4ebe3a8bf773a19edfe0a84b6585ba3d401b724d", + "reference": "4ebe3a8bf773a19edfe0a84b6585ba3d401b724d", + "shasum": "" + }, + "require": { + "php": ">=5.3.0" + }, + "time": "2016-10-10T12:19:37+00:00", + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "installation-source": "dist", + "autoload": { + "psr-4": { + "Psr\\Log\\": "Psr/Log/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "http://www.php-fig.org/" + } + ], + "description": "Common interface for logging libraries", + "homepage": "https://github.com/php-fig/log", + "keywords": [ + "log", + "psr", + "psr-3" + ] + }, + { + "name": "monolog/monolog", + "version": "1.22.1", + "version_normalized": "1.22.1.0", + "source": { + "type": "git", + "url": "https://github.com/Seldaek/monolog.git", + "reference": "1e044bc4b34e91743943479f1be7a1d5eb93add0" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/Seldaek/monolog/zipball/1e044bc4b34e91743943479f1be7a1d5eb93add0", + "reference": "1e044bc4b34e91743943479f1be7a1d5eb93add0", + "shasum": "" + }, + "require": { + "php": ">=5.3.0", + "psr/log": "~1.0" + }, + "provide": { + "psr/log-implementation": "1.0.0" + }, + "require-dev": { + "aws/aws-sdk-php": "^2.4.9 || ^3.0", + "doctrine/couchdb": "~1.0@dev", + "graylog2/gelf-php": "~1.0", + "jakub-onderka/php-parallel-lint": "0.9", + "php-amqplib/php-amqplib": "~2.4", + "php-console/php-console": "^3.1.3", + "phpunit/phpunit": "~4.5", + "phpunit/phpunit-mock-objects": "2.3.0", + "ruflin/elastica": ">=0.90 <3.0", + "sentry/sentry": "^0.13", + "swiftmailer/swiftmailer": "~5.3" + }, + "suggest": { + "aws/aws-sdk-php": "Allow sending log messages to AWS services like DynamoDB", + "doctrine/couchdb": "Allow sending log messages to a CouchDB server", + "ext-amqp": "Allow sending log messages to an AMQP server (1.0+ required)", + "ext-mongo": "Allow sending log messages to a MongoDB server", + "graylog2/gelf-php": "Allow sending log messages to a GrayLog2 server", + "mongodb/mongodb": "Allow sending log messages to a MongoDB server via PHP Driver", + "php-amqplib/php-amqplib": "Allow sending log messages to an AMQP server using php-amqplib", + "php-console/php-console": "Allow sending log messages to Google Chrome", + "rollbar/rollbar": "Allow sending log messages to Rollbar", + "ruflin/elastica": "Allow sending log messages to an Elastic Search server", + "sentry/sentry": "Allow sending log messages to a Sentry server" + }, + "time": "2017-03-13T07:08:03+00:00", + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0.x-dev" + } + }, + "installation-source": "dist", + "autoload": { + "psr-4": { + "Monolog\\": "src/Monolog" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jordi Boggiano", + "email": "j.boggiano@seld.be", + "homepage": "http://seld.be" + } + ], + "description": "Sends your logs to files, sockets, inboxes, databases and various web services", + "homepage": "http://github.com/Seldaek/monolog", + "keywords": [ + "log", + "logging", + "psr-3" + ] + }, + { + "name": "firebase/php-jwt", + "version": "v4.0.0", + "version_normalized": "4.0.0.0", + "source": { + "type": "git", + "url": "https://github.com/firebase/php-jwt.git", + "reference": "dccf163dc8ed7ed6a00afc06c51ee5186a428d35" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/firebase/php-jwt/zipball/dccf163dc8ed7ed6a00afc06c51ee5186a428d35", + "reference": "dccf163dc8ed7ed6a00afc06c51ee5186a428d35", + "shasum": "" + }, + "require": { + "php": ">=5.3.0" + }, + "time": "2016-07-18T04:51:16+00:00", + "type": "library", + "installation-source": "dist", + "autoload": { + "psr-4": { + "Firebase\\JWT\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Neuman Vong", + "email": "neuman+pear@twilio.com", + "role": "Developer" + }, + { + "name": "Anant Narayanan", + "email": "anant@php.net", + "role": "Developer" + } + ], + "description": "A simple library to encode and decode JSON Web Tokens (JWT) in PHP. Should conform to the current spec.", + "homepage": "https://github.com/firebase/php-jwt" + }, + { + "name": "google/apiclient-services", + "version": "v0.11", + "version_normalized": "0.11.0.0", + "source": { + "type": "git", + "url": "https://github.com/google/google-api-php-client-services.git", + "reference": "48c554aee06f2fd5700d7bdfa4fa6b82d184eb52" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/google/google-api-php-client-services/zipball/48c554aee06f2fd5700d7bdfa4fa6b82d184eb52", + "reference": "48c554aee06f2fd5700d7bdfa4fa6b82d184eb52", + "shasum": "" + }, + "require": { + "php": ">=5.4" + }, + "require-dev": { + "phpunit/phpunit": "~4.8" + }, + "time": "2017-03-13T17:40:44+00:00", + "type": "library", + "installation-source": "dist", + "autoload": { + "psr-0": { + "Google_Service_": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "Apache-2.0" + ], + "description": "Client library for Google APIs", + "homepage": "http://developers.google.com/api-client-library/php", + "keywords": [ + "google" + ] + }, + { + "name": "psr/cache", + "version": "1.0.1", + "version_normalized": "1.0.1.0", + "source": { + "type": "git", + "url": "https://github.com/php-fig/cache.git", + "reference": "d11b50ad223250cf17b86e38383413f5a6764bf8" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/cache/zipball/d11b50ad223250cf17b86e38383413f5a6764bf8", + "reference": "d11b50ad223250cf17b86e38383413f5a6764bf8", + "shasum": "" + }, + "require": { + "php": ">=5.3.0" + }, + "time": "2016-08-06T20:24:11+00:00", + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "installation-source": "dist", + "autoload": { + "psr-4": { + "Psr\\Cache\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "http://www.php-fig.org/" + } + ], + "description": "Common interface for caching libraries", + "keywords": [ + "cache", + "psr", + "psr-6" + ] + }, + { + "name": "google/auth", + "version": "v0.11.1", + "version_normalized": "0.11.1.0", + "source": { + "type": "git", + "url": "https://github.com/google/google-auth-library-php.git", + "reference": "a240674b08a09949fd5597f7590b3ed83663a12d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/google/google-auth-library-php/zipball/a240674b08a09949fd5597f7590b3ed83663a12d", + "reference": "a240674b08a09949fd5597f7590b3ed83663a12d", + "shasum": "" + }, + "require": { + "firebase/php-jwt": "~2.0|~3.0|~4.0", + "guzzlehttp/guzzle": "~5.3|~6.0", + "guzzlehttp/psr7": "~1.2", + "php": ">=5.4", + "psr/cache": "^1.0", + "psr/http-message": "^1.0" + }, + "require-dev": { + "friendsofphp/php-cs-fixer": "^1.11", + "phpunit/phpunit": "3.7.*" + }, + "time": "2016-11-02T14:59:14+00:00", + "type": "library", + "installation-source": "dist", + "autoload": { + "classmap": [ + "src/" + ], + "psr-4": { + "Google\\Auth\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "Apache-2.0" + ], + "description": "Google Auth Library for PHP", + "homepage": "http://github.com/google/google-auth-library-php", + "keywords": [ + "Authentication", + "google", + "oauth2" + ] + }, + { + "name": "google/apiclient", + "version": "v2.1.3", + "version_normalized": "2.1.3.0", + "source": { + "type": "git", + "url": "https://github.com/google/google-api-php-client.git", + "reference": "43996f09df274158fd04fce98e8a82effe5f3717" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/google/google-api-php-client/zipball/43996f09df274158fd04fce98e8a82effe5f3717", + "reference": "43996f09df274158fd04fce98e8a82effe5f3717", + "shasum": "" + }, + "require": { + "firebase/php-jwt": "~2.0|~3.0|~4.0", + "google/apiclient-services": "^0.11", + "google/auth": "^0.11", + "guzzlehttp/guzzle": "~5.2|~6.0", + "guzzlehttp/psr7": "^1.2", + "monolog/monolog": "^1.17", + "php": ">=5.4", + "phpseclib/phpseclib": "~0.3.10|~2.0" + }, + "require-dev": { + "cache/filesystem-adapter": "^0.3.2", + "phpunit/phpunit": "~4", + "squizlabs/php_codesniffer": "~2.3", + "symfony/css-selector": "~2.1", + "symfony/dom-crawler": "~2.1" + }, + "suggest": { + "cache/filesystem-adapter": "For caching certs and tokens (using Google_Client::setCache)" + }, + "time": "2017-03-22T18:32:04+00:00", + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.x-dev" + } + }, + "installation-source": "dist", + "autoload": { + "psr-0": { + "Google_": "src/" + }, + "classmap": [ + "src/Google/Service/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "Apache-2.0" + ], + "description": "Client library for Google APIs", + "homepage": "http://developers.google.com/api-client-library/php", + "keywords": [ + "google" + ] + }, + { + "name": "stefangabos/zebra_form", + "version": "2.9.8", + "version_normalized": "2.9.8.0", + "source": { + "type": "git", + "url": "https://github.com/stefangabos/Zebra_Form.git", + "reference": "dace12d865364afe8b1e1b424968cba069c264fa" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/stefangabos/Zebra_Form/zipball/dace12d865364afe8b1e1b424968cba069c264fa", + "reference": "dace12d865364afe8b1e1b424968cba069c264fa", + "shasum": "" + }, + "require": { + "php": ">=5.3.0" + }, + "time": "2016-05-18T14:53:29+00:00", + "type": "library", + "installation-source": "dist", + "autoload": { + "classmap": [ + "Zebra_Form.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "LGPL-3.0" + ], + "authors": [ + { + "name": "Stefan Gabos", + "email": "contact@stefangabos.ro", + "homepage": "http://stefangabos.ro/", + "role": "Developer" + } + ], + "description": "A jQuery augmented PHP library for creating and validating HTML forms", + "homepage": "http://stefangabos.ro/php-libraries/zebra-form/", + "keywords": [ + "Honeypot", + "client side validation", + "csrf", + "form", + "jquery validation", + "server side validation", + "validate", + "validation", + "xss" + ] + }, + { + "name": "phpoffice/phpexcel", + "version": "1.8.1", + "version_normalized": "1.8.1.0", + "source": { + "type": "git", + "url": "https://github.com/PHPOffice/PHPExcel.git", + "reference": "372c7cbb695a6f6f1e62649381aeaa37e7e70b32" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/PHPOffice/PHPExcel/zipball/372c7cbb695a6f6f1e62649381aeaa37e7e70b32", + "reference": "372c7cbb695a6f6f1e62649381aeaa37e7e70b32", + "shasum": "" + }, + "require": { + "ext-xml": "*", + "ext-xmlwriter": "*", + "php": ">=5.2.0" + }, + "time": "2015-05-01T07:00:55+00:00", + "type": "library", + "installation-source": "dist", + "autoload": { + "psr-0": { + "PHPExcel": "Classes/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "LGPL" + ], + "authors": [ + { + "name": "Maarten Balliauw", + "homepage": "http://blog.maartenballiauw.be" + }, + { + "name": "Mark Baker" + }, + { + "name": "Franck Lefevre", + "homepage": "http://blog.rootslabs.net" + }, + { + "name": "Erik Tilt" + } + ], + "description": "PHPExcel - OpenXML - Read, Create and Write Spreadsheet documents in PHP - Spreadsheet engine", + "homepage": "http://phpexcel.codeplex.com", + "keywords": [ + "OpenXML", + "excel", + "php", + "spreadsheet", + "xls", + "xlsx" + ] + } +] diff --git a/vendor/firebase/php-jwt/LICENSE b/vendor/firebase/php-jwt/LICENSE new file mode 100644 index 00000000..cb0c49b3 --- /dev/null +++ b/vendor/firebase/php-jwt/LICENSE @@ -0,0 +1,30 @@ +Copyright (c) 2011, Neuman Vong + +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + * Neither the name of Neuman Vong nor the names of other + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/vendor/firebase/php-jwt/README.md b/vendor/firebase/php-jwt/README.md new file mode 100644 index 00000000..d4589b1c --- /dev/null +++ b/vendor/firebase/php-jwt/README.md @@ -0,0 +1,119 @@ +[![Build Status](https://travis-ci.org/firebase/php-jwt.png?branch=master)](https://travis-ci.org/firebase/php-jwt) +[![Latest Stable Version](https://poser.pugx.org/firebase/php-jwt/v/stable)](https://packagist.org/packages/firebase/php-jwt) +[![Total Downloads](https://poser.pugx.org/firebase/php-jwt/downloads)](https://packagist.org/packages/firebase/php-jwt) +[![License](https://poser.pugx.org/firebase/php-jwt/license)](https://packagist.org/packages/firebase/php-jwt) + +PHP-JWT +======= +A simple library to encode and decode JSON Web Tokens (JWT) in PHP, conforming to [RFC 7519](https://tools.ietf.org/html/rfc7519). + +Installation +------------ + +Use composer to manage your dependencies and download PHP-JWT: + +```bash +composer require firebase/php-jwt +``` + +Example +------- +```php + "http://example.org", + "aud" => "http://example.com", + "iat" => 1356999524, + "nbf" => 1357000000 +); + +/** + * IMPORTANT: + * You must specify supported algorithms for your application. See + * https://tools.ietf.org/html/draft-ietf-jose-json-web-algorithms-40 + * for a list of spec-compliant algorithms. + */ +$jwt = JWT::encode($token, $key); +$decoded = JWT::decode($jwt, $key, array('HS256')); + +print_r($decoded); + +/* + NOTE: This will now be an object instead of an associative array. To get + an associative array, you will need to cast it as such: +*/ + +$decoded_array = (array) $decoded; + +/** + * You can add a leeway to account for when there is a clock skew times between + * the signing and verifying servers. It is recommended that this leeway should + * not be bigger than a few minutes. + * + * Source: http://self-issued.info/docs/draft-ietf-oauth-json-web-token.html#nbfDef + */ +JWT::$leeway = 60; // $leeway in seconds +$decoded = JWT::decode($jwt, $key, array('HS256')); + +?> +``` + +Changelog +--------- + +#### 4.0.0 / 2016-07-17 +- Add support for late static binding. See [#88](https://github.com/firebase/php-jwt/pull/88) for details. Thanks to [@chappy84](https://github.com/chappy84)! +- Use static `$timestamp` instead of `time()` to improve unit testing. See [#93](https://github.com/firebase/php-jwt/pull/93) for details. Thanks to [@josephmcdermott](https://github.com/josephmcdermott)! +- Fixes to exceptions classes. See [#81](https://github.com/firebase/php-jwt/pull/81) for details. Thanks to [@Maks3w](https://github.com/Maks3w)! +- Fixes to PHPDoc. See [#76](https://github.com/firebase/php-jwt/pull/76) for details. Thanks to [@akeeman](https://github.com/akeeman)! + +#### 3.0.0 / 2015-07-22 +- Minimum PHP version updated from `5.2.0` to `5.3.0`. +- Add `\Firebase\JWT` namespace. See +[#59](https://github.com/firebase/php-jwt/pull/59) for details. Thanks to +[@Dashron](https://github.com/Dashron)! +- Require a non-empty key to decode and verify a JWT. See +[#60](https://github.com/firebase/php-jwt/pull/60) for details. Thanks to +[@sjones608](https://github.com/sjones608)! +- Cleaner documentation blocks in the code. See +[#62](https://github.com/firebase/php-jwt/pull/62) for details. Thanks to +[@johanderuijter](https://github.com/johanderuijter)! + +#### 2.2.0 / 2015-06-22 +- Add support for adding custom, optional JWT headers to `JWT::encode()`. See +[#53](https://github.com/firebase/php-jwt/pull/53/files) for details. Thanks to +[@mcocaro](https://github.com/mcocaro)! + +#### 2.1.0 / 2015-05-20 +- Add support for adding a leeway to `JWT:decode()` that accounts for clock skew +between signing and verifying entities. Thanks to [@lcabral](https://github.com/lcabral)! +- Add support for passing an object implementing the `ArrayAccess` interface for +`$keys` argument in `JWT::decode()`. Thanks to [@aztech-dev](https://github.com/aztech-dev)! + +#### 2.0.0 / 2015-04-01 +- **Note**: It is strongly recommended that you update to > v2.0.0 to address + known security vulnerabilities in prior versions when both symmetric and + asymmetric keys are used together. +- Update signature for `JWT::decode(...)` to require an array of supported + algorithms to use when verifying token signatures. + + +Tests +----- +Run the tests using phpunit: + +```bash +$ pear install PHPUnit +$ phpunit --configuration phpunit.xml.dist +PHPUnit 3.7.10 by Sebastian Bergmann. +..... +Time: 0 seconds, Memory: 2.50Mb +OK (5 tests, 5 assertions) +``` + +License +------- +[3-Clause BSD](http://opensource.org/licenses/BSD-3-Clause). diff --git a/vendor/firebase/php-jwt/composer.json b/vendor/firebase/php-jwt/composer.json new file mode 100644 index 00000000..1a5e93b5 --- /dev/null +++ b/vendor/firebase/php-jwt/composer.json @@ -0,0 +1,27 @@ +{ + "name": "firebase/php-jwt", + "description": "A simple library to encode and decode JSON Web Tokens (JWT) in PHP. Should conform to the current spec.", + "homepage": "https://github.com/firebase/php-jwt", + "authors": [ + { + "name": "Neuman Vong", + "email": "neuman+pear@twilio.com", + "role": "Developer" + }, + { + "name": "Anant Narayanan", + "email": "anant@php.net", + "role": "Developer" + } + ], + "license": "BSD-3-Clause", + "require": { + "php": ">=5.3.0" + }, + "autoload": { + "psr-4": { + "Firebase\\JWT\\": "src" + } + }, + "minimum-stability": "dev" +} diff --git a/vendor/firebase/php-jwt/composer.lock b/vendor/firebase/php-jwt/composer.lock new file mode 100644 index 00000000..5518ae41 --- /dev/null +++ b/vendor/firebase/php-jwt/composer.lock @@ -0,0 +1,19 @@ +{ + "_readme": [ + "This file locks the dependencies of your project to a known state", + "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file", + "This file is @generated automatically" + ], + "hash": "60a5df5d283a7ae9000173248eba8909", + "packages": [], + "packages-dev": [], + "aliases": [], + "minimum-stability": "dev", + "stability-flags": [], + "prefer-stable": false, + "prefer-lowest": false, + "platform": { + "php": ">=5.2.0" + }, + "platform-dev": [] +} diff --git a/vendor/firebase/php-jwt/package.xml b/vendor/firebase/php-jwt/package.xml new file mode 100644 index 00000000..a95b056f --- /dev/null +++ b/vendor/firebase/php-jwt/package.xml @@ -0,0 +1,77 @@ + + + JWT + pear.php.net + A JWT encoder/decoder. + A JWT encoder/decoder library for PHP. + + Neuman Vong + lcfrs + neuman+pear@twilio.com + yes + + + Firebase Operations + firebase + operations@firebase.com + yes + + 2015-07-22 + + 3.0.0 + 3.0.0 + + + beta + beta + + BSD 3-Clause License + +Initial release with basic support for JWT encoding, decoding and signature verification. + + + + + + + + + + + + + 5.1 + + + 1.7.0 + + + json + + + hash + + + + + + + + 0.1.0 + 0.1.0 + + + beta + beta + + 2015-04-01 + BSD 3-Clause License + +Initial release with basic support for JWT encoding, decoding and signature verification. + + + + diff --git a/vendor/firebase/php-jwt/src/BeforeValidException.php b/vendor/firebase/php-jwt/src/BeforeValidException.php new file mode 100644 index 00000000..a6ee2f7c --- /dev/null +++ b/vendor/firebase/php-jwt/src/BeforeValidException.php @@ -0,0 +1,7 @@ + + * @author Anant Narayanan + * @license http://opensource.org/licenses/BSD-3-Clause 3-clause BSD + * @link https://github.com/firebase/php-jwt + */ +class JWT +{ + + /** + * When checking nbf, iat or expiration times, + * we want to provide some extra leeway time to + * account for clock skew. + */ + public static $leeway = 0; + + /** + * Allow the current timestamp to be specified. + * Useful for fixing a value within unit testing. + * + * Will default to PHP time() value if null. + */ + public static $timestamp = null; + + public static $supported_algs = array( + 'HS256' => array('hash_hmac', 'SHA256'), + 'HS512' => array('hash_hmac', 'SHA512'), + 'HS384' => array('hash_hmac', 'SHA384'), + 'RS256' => array('openssl', 'SHA256'), + ); + + /** + * Decodes a JWT string into a PHP object. + * + * @param string $jwt The JWT + * @param string|array $key The key, or map of keys. + * If the algorithm used is asymmetric, this is the public key + * @param array $allowed_algs List of supported verification algorithms + * Supported algorithms are 'HS256', 'HS384', 'HS512' and 'RS256' + * + * @return object The JWT's payload as a PHP object + * + * @throws UnexpectedValueException Provided JWT was invalid + * @throws SignatureInvalidException Provided JWT was invalid because the signature verification failed + * @throws BeforeValidException Provided JWT is trying to be used before it's eligible as defined by 'nbf' + * @throws BeforeValidException Provided JWT is trying to be used before it's been created as defined by 'iat' + * @throws ExpiredException Provided JWT has since expired, as defined by the 'exp' claim + * + * @uses jsonDecode + * @uses urlsafeB64Decode + */ + public static function decode($jwt, $key, $allowed_algs = array()) + { + $timestamp = is_null(static::$timestamp) ? time() : static::$timestamp; + + if (empty($key)) { + throw new InvalidArgumentException('Key may not be empty'); + } + if (!is_array($allowed_algs)) { + throw new InvalidArgumentException('Algorithm not allowed'); + } + $tks = explode('.', $jwt); + if (count($tks) != 3) { + throw new UnexpectedValueException('Wrong number of segments'); + } + list($headb64, $bodyb64, $cryptob64) = $tks; + if (null === ($header = static::jsonDecode(static::urlsafeB64Decode($headb64)))) { + throw new UnexpectedValueException('Invalid header encoding'); + } + if (null === $payload = static::jsonDecode(static::urlsafeB64Decode($bodyb64))) { + throw new UnexpectedValueException('Invalid claims encoding'); + } + $sig = static::urlsafeB64Decode($cryptob64); + + if (empty($header->alg)) { + throw new UnexpectedValueException('Empty algorithm'); + } + if (empty(static::$supported_algs[$header->alg])) { + throw new UnexpectedValueException('Algorithm not supported'); + } + if (!in_array($header->alg, $allowed_algs)) { + throw new UnexpectedValueException('Algorithm not allowed'); + } + if (is_array($key) || $key instanceof \ArrayAccess) { + if (isset($header->kid)) { + $key = $key[$header->kid]; + } else { + throw new UnexpectedValueException('"kid" empty, unable to lookup correct key'); + } + } + + // Check the signature + if (!static::verify("$headb64.$bodyb64", $sig, $key, $header->alg)) { + throw new SignatureInvalidException('Signature verification failed'); + } + + // Check if the nbf if it is defined. This is the time that the + // token can actually be used. If it's not yet that time, abort. + if (isset($payload->nbf) && $payload->nbf > ($timestamp + static::$leeway)) { + throw new BeforeValidException( + 'Cannot handle token prior to ' . date(DateTime::ISO8601, $payload->nbf) + ); + } + + // Check that this token has been created before 'now'. This prevents + // using tokens that have been created for later use (and haven't + // correctly used the nbf claim). + if (isset($payload->iat) && $payload->iat > ($timestamp + static::$leeway)) { + throw new BeforeValidException( + 'Cannot handle token prior to ' . date(DateTime::ISO8601, $payload->iat) + ); + } + + // Check if this token has expired. + if (isset($payload->exp) && ($timestamp - static::$leeway) >= $payload->exp) { + throw new ExpiredException('Expired token'); + } + + return $payload; + } + + /** + * Converts and signs a PHP object or array into a JWT string. + * + * @param object|array $payload PHP object or array + * @param string $key The secret key. + * If the algorithm used is asymmetric, this is the private key + * @param string $alg The signing algorithm. + * Supported algorithms are 'HS256', 'HS384', 'HS512' and 'RS256' + * @param mixed $keyId + * @param array $head An array with header elements to attach + * + * @return string A signed JWT + * + * @uses jsonEncode + * @uses urlsafeB64Encode + */ + public static function encode($payload, $key, $alg = 'HS256', $keyId = null, $head = null) + { + $header = array('typ' => 'JWT', 'alg' => $alg); + if ($keyId !== null) { + $header['kid'] = $keyId; + } + if ( isset($head) && is_array($head) ) { + $header = array_merge($head, $header); + } + $segments = array(); + $segments[] = static::urlsafeB64Encode(static::jsonEncode($header)); + $segments[] = static::urlsafeB64Encode(static::jsonEncode($payload)); + $signing_input = implode('.', $segments); + + $signature = static::sign($signing_input, $key, $alg); + $segments[] = static::urlsafeB64Encode($signature); + + return implode('.', $segments); + } + + /** + * Sign a string with a given key and algorithm. + * + * @param string $msg The message to sign + * @param string|resource $key The secret key + * @param string $alg The signing algorithm. + * Supported algorithms are 'HS256', 'HS384', 'HS512' and 'RS256' + * + * @return string An encrypted message + * + * @throws DomainException Unsupported algorithm was specified + */ + public static function sign($msg, $key, $alg = 'HS256') + { + if (empty(static::$supported_algs[$alg])) { + throw new DomainException('Algorithm not supported'); + } + list($function, $algorithm) = static::$supported_algs[$alg]; + switch($function) { + case 'hash_hmac': + return hash_hmac($algorithm, $msg, $key, true); + case 'openssl': + $signature = ''; + $success = openssl_sign($msg, $signature, $key, $algorithm); + if (!$success) { + throw new DomainException("OpenSSL unable to sign data"); + } else { + return $signature; + } + } + } + + /** + * Verify a signature with the message, key and method. Not all methods + * are symmetric, so we must have a separate verify and sign method. + * + * @param string $msg The original message (header and body) + * @param string $signature The original signature + * @param string|resource $key For HS*, a string key works. for RS*, must be a resource of an openssl public key + * @param string $alg The algorithm + * + * @return bool + * + * @throws DomainException Invalid Algorithm or OpenSSL failure + */ + private static function verify($msg, $signature, $key, $alg) + { + if (empty(static::$supported_algs[$alg])) { + throw new DomainException('Algorithm not supported'); + } + + list($function, $algorithm) = static::$supported_algs[$alg]; + switch($function) { + case 'openssl': + $success = openssl_verify($msg, $signature, $key, $algorithm); + if (!$success) { + throw new DomainException("OpenSSL unable to verify data: " . openssl_error_string()); + } else { + return $signature; + } + case 'hash_hmac': + default: + $hash = hash_hmac($algorithm, $msg, $key, true); + if (function_exists('hash_equals')) { + return hash_equals($signature, $hash); + } + $len = min(static::safeStrlen($signature), static::safeStrlen($hash)); + + $status = 0; + for ($i = 0; $i < $len; $i++) { + $status |= (ord($signature[$i]) ^ ord($hash[$i])); + } + $status |= (static::safeStrlen($signature) ^ static::safeStrlen($hash)); + + return ($status === 0); + } + } + + /** + * Decode a JSON string into a PHP object. + * + * @param string $input JSON string + * + * @return object Object representation of JSON string + * + * @throws DomainException Provided string was invalid JSON + */ + public static function jsonDecode($input) + { + if (version_compare(PHP_VERSION, '5.4.0', '>=') && !(defined('JSON_C_VERSION') && PHP_INT_SIZE > 4)) { + /** In PHP >=5.4.0, json_decode() accepts an options parameter, that allows you + * to specify that large ints (like Steam Transaction IDs) should be treated as + * strings, rather than the PHP default behaviour of converting them to floats. + */ + $obj = json_decode($input, false, 512, JSON_BIGINT_AS_STRING); + } else { + /** Not all servers will support that, however, so for older versions we must + * manually detect large ints in the JSON string and quote them (thus converting + *them to strings) before decoding, hence the preg_replace() call. + */ + $max_int_length = strlen((string) PHP_INT_MAX) - 1; + $json_without_bigints = preg_replace('/:\s*(-?\d{'.$max_int_length.',})/', ': "$1"', $input); + $obj = json_decode($json_without_bigints); + } + + if (function_exists('json_last_error') && $errno = json_last_error()) { + static::handleJsonError($errno); + } elseif ($obj === null && $input !== 'null') { + throw new DomainException('Null result with non-null input'); + } + return $obj; + } + + /** + * Encode a PHP object into a JSON string. + * + * @param object|array $input A PHP object or array + * + * @return string JSON representation of the PHP object or array + * + * @throws DomainException Provided object could not be encoded to valid JSON + */ + public static function jsonEncode($input) + { + $json = json_encode($input); + if (function_exists('json_last_error') && $errno = json_last_error()) { + static::handleJsonError($errno); + } elseif ($json === 'null' && $input !== null) { + throw new DomainException('Null result with non-null input'); + } + return $json; + } + + /** + * Decode a string with URL-safe Base64. + * + * @param string $input A Base64 encoded string + * + * @return string A decoded string + */ + public static function urlsafeB64Decode($input) + { + $remainder = strlen($input) % 4; + if ($remainder) { + $padlen = 4 - $remainder; + $input .= str_repeat('=', $padlen); + } + return base64_decode(strtr($input, '-_', '+/')); + } + + /** + * Encode a string with URL-safe Base64. + * + * @param string $input The string you want encoded + * + * @return string The base64 encode of what you passed in + */ + public static function urlsafeB64Encode($input) + { + return str_replace('=', '', strtr(base64_encode($input), '+/', '-_')); + } + + /** + * Helper method to create a JSON error. + * + * @param int $errno An error number from json_last_error() + * + * @return void + */ + private static function handleJsonError($errno) + { + $messages = array( + JSON_ERROR_DEPTH => 'Maximum stack depth exceeded', + JSON_ERROR_CTRL_CHAR => 'Unexpected control character found', + JSON_ERROR_SYNTAX => 'Syntax error, malformed JSON' + ); + throw new DomainException( + isset($messages[$errno]) + ? $messages[$errno] + : 'Unknown JSON error: ' . $errno + ); + } + + /** + * Get the number of bytes in cryptographic strings. + * + * @param string + * + * @return int + */ + private static function safeStrlen($str) + { + if (function_exists('mb_strlen')) { + return mb_strlen($str, '8bit'); + } + return strlen($str); + } +} diff --git a/vendor/firebase/php-jwt/src/SignatureInvalidException.php b/vendor/firebase/php-jwt/src/SignatureInvalidException.php new file mode 100644 index 00000000..27332b21 --- /dev/null +++ b/vendor/firebase/php-jwt/src/SignatureInvalidException.php @@ -0,0 +1,7 @@ +=5.4" + }, + "require-dev": { + "phpunit/phpunit": "~4.8" + }, + "autoload": { + "psr-0": { + "Google_Service_": "src" + } + } +} diff --git a/vendor/google/apiclient-services/phpunit.xml b/vendor/google/apiclient-services/phpunit.xml new file mode 100644 index 00000000..95069eed --- /dev/null +++ b/vendor/google/apiclient-services/phpunit.xml @@ -0,0 +1,11 @@ + + + + + tests + + + diff --git a/vendor/google/apiclient-services/src/Google/Service/Acceleratedmobilepageurl.php b/vendor/google/apiclient-services/src/Google/Service/Acceleratedmobilepageurl.php new file mode 100644 index 00000000..00a09651 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Acceleratedmobilepageurl.php @@ -0,0 +1,67 @@ + + * This API contains a single method, batchGet. Call this method to retrieve the + * AMP URL (and equivalent AMP Cache URL) for given public URL(s).

+ * + *

+ * For more information about this service, see the API + * Documentation + *

+ * + * @author Google, Inc. + */ +class Google_Service_Acceleratedmobilepageurl extends Google_Service +{ + + + public $ampUrls; + + /** + * Constructs the internal representation of the Acceleratedmobilepageurl + * service. + * + * @param Google_Client $client + */ + public function __construct(Google_Client $client) + { + parent::__construct($client); + $this->rootUrl = 'https://acceleratedmobilepageurl.googleapis.com/'; + $this->servicePath = ''; + $this->version = 'v1'; + $this->serviceName = 'acceleratedmobilepageurl'; + + $this->ampUrls = new Google_Service_Acceleratedmobilepageurl_Resource_AmpUrls( + $this, + $this->serviceName, + 'ampUrls', + array( + 'methods' => array( + 'batchGet' => array( + 'path' => 'v1/ampUrls:batchGet', + 'httpMethod' => 'POST', + 'parameters' => array(), + ), + ) + ) + ); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Acceleratedmobilepageurl/AmpUrl.php b/vendor/google/apiclient-services/src/Google/Service/Acceleratedmobilepageurl/AmpUrl.php new file mode 100644 index 00000000..9edc1587 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Acceleratedmobilepageurl/AmpUrl.php @@ -0,0 +1,48 @@ +ampUrl = $ampUrl; + } + public function getAmpUrl() + { + return $this->ampUrl; + } + public function setCdnAmpUrl($cdnAmpUrl) + { + $this->cdnAmpUrl = $cdnAmpUrl; + } + public function getCdnAmpUrl() + { + return $this->cdnAmpUrl; + } + public function setOriginalUrl($originalUrl) + { + $this->originalUrl = $originalUrl; + } + public function getOriginalUrl() + { + return $this->originalUrl; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Acceleratedmobilepageurl/AmpUrlError.php b/vendor/google/apiclient-services/src/Google/Service/Acceleratedmobilepageurl/AmpUrlError.php new file mode 100644 index 00000000..450988d7 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Acceleratedmobilepageurl/AmpUrlError.php @@ -0,0 +1,48 @@ +errorCode = $errorCode; + } + public function getErrorCode() + { + return $this->errorCode; + } + public function setErrorMessage($errorMessage) + { + $this->errorMessage = $errorMessage; + } + public function getErrorMessage() + { + return $this->errorMessage; + } + public function setOriginalUrl($originalUrl) + { + $this->originalUrl = $originalUrl; + } + public function getOriginalUrl() + { + return $this->originalUrl; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Acceleratedmobilepageurl/BatchGetAmpUrlsRequest.php b/vendor/google/apiclient-services/src/Google/Service/Acceleratedmobilepageurl/BatchGetAmpUrlsRequest.php new file mode 100644 index 00000000..c2b4d204 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Acceleratedmobilepageurl/BatchGetAmpUrlsRequest.php @@ -0,0 +1,40 @@ +lookupStrategy = $lookupStrategy; + } + public function getLookupStrategy() + { + return $this->lookupStrategy; + } + public function setUrls($urls) + { + $this->urls = $urls; + } + public function getUrls() + { + return $this->urls; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Acceleratedmobilepageurl/BatchGetAmpUrlsResponse.php b/vendor/google/apiclient-services/src/Google/Service/Acceleratedmobilepageurl/BatchGetAmpUrlsResponse.php new file mode 100644 index 00000000..62196ade --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Acceleratedmobilepageurl/BatchGetAmpUrlsResponse.php @@ -0,0 +1,42 @@ +ampUrls = $ampUrls; + } + public function getAmpUrls() + { + return $this->ampUrls; + } + public function setUrlErrors($urlErrors) + { + $this->urlErrors = $urlErrors; + } + public function getUrlErrors() + { + return $this->urlErrors; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Acceleratedmobilepageurl/Resource/AmpUrls.php b/vendor/google/apiclient-services/src/Google/Service/Acceleratedmobilepageurl/Resource/AmpUrls.php new file mode 100644 index 00000000..9082e17c --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Acceleratedmobilepageurl/Resource/AmpUrls.php @@ -0,0 +1,42 @@ + + * $acceleratedmobilepageurlService = new Google_Service_Acceleratedmobilepageurl(...); + * $ampUrls = $acceleratedmobilepageurlService->ampUrls; + * + */ +class Google_Service_Acceleratedmobilepageurl_Resource_AmpUrls extends Google_Service_Resource +{ + /** + * Returns AMP URL(s) and equivalent [AMP Cache URL(s)](/amp/cache/overview#amp- + * cache-url-format). (ampUrls.batchGet) + * + * @param Google_Service_Acceleratedmobilepageurl_BatchGetAmpUrlsRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Acceleratedmobilepageurl_BatchGetAmpUrlsResponse + */ + public function batchGet(Google_Service_Acceleratedmobilepageurl_BatchGetAmpUrlsRequest $postBody, $optParams = array()) + { + $params = array('postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('batchGet', array($params), "Google_Service_Acceleratedmobilepageurl_BatchGetAmpUrlsResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer.php b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer.php new file mode 100644 index 00000000..0d49c832 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer.php @@ -0,0 +1,679 @@ + + * Accesses your bidding-account information, submits creatives for validation, + * finds available direct deals, and retrieves performance reports.

+ * + *

+ * For more information about this service, see the API + * Documentation + *

+ * + * @author Google, Inc. + */ +class Google_Service_AdExchangeBuyer extends Google_Service +{ + /** Manage your Ad Exchange buyer account configuration. */ + const ADEXCHANGE_BUYER = + "https://www.googleapis.com/auth/adexchange.buyer"; + + public $accounts; + public $billingInfo; + public $budget; + public $creatives; + public $marketplacedeals; + public $marketplacenotes; + public $marketplaceprivateauction; + public $performanceReport; + public $pretargetingConfig; + public $products; + public $proposals; + public $pubprofiles; + + /** + * Constructs the internal representation of the AdExchangeBuyer service. + * + * @param Google_Client $client + */ + public function __construct(Google_Client $client) + { + parent::__construct($client); + $this->rootUrl = 'https://www.googleapis.com/'; + $this->servicePath = 'adexchangebuyer/v1.4/'; + $this->version = 'v1.4'; + $this->serviceName = 'adexchangebuyer'; + + $this->accounts = new Google_Service_AdExchangeBuyer_Resource_Accounts( + $this, + $this->serviceName, + 'accounts', + array( + 'methods' => array( + 'get' => array( + 'path' => 'accounts/{id}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'id' => array( + 'location' => 'path', + 'type' => 'integer', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'accounts', + 'httpMethod' => 'GET', + 'parameters' => array(), + ),'patch' => array( + 'path' => 'accounts/{id}', + 'httpMethod' => 'PATCH', + 'parameters' => array( + 'id' => array( + 'location' => 'path', + 'type' => 'integer', + 'required' => true, + ), + 'confirmUnsafeAccountChange' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + ), + ),'update' => array( + 'path' => 'accounts/{id}', + 'httpMethod' => 'PUT', + 'parameters' => array( + 'id' => array( + 'location' => 'path', + 'type' => 'integer', + 'required' => true, + ), + 'confirmUnsafeAccountChange' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + ), + ), + ) + ) + ); + $this->billingInfo = new Google_Service_AdExchangeBuyer_Resource_BillingInfo( + $this, + $this->serviceName, + 'billingInfo', + array( + 'methods' => array( + 'get' => array( + 'path' => 'billinginfo/{accountId}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'accountId' => array( + 'location' => 'path', + 'type' => 'integer', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'billinginfo', + 'httpMethod' => 'GET', + 'parameters' => array(), + ), + ) + ) + ); + $this->budget = new Google_Service_AdExchangeBuyer_Resource_Budget( + $this, + $this->serviceName, + 'budget', + array( + 'methods' => array( + 'get' => array( + 'path' => 'billinginfo/{accountId}/{billingId}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'accountId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'billingId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'patch' => array( + 'path' => 'billinginfo/{accountId}/{billingId}', + 'httpMethod' => 'PATCH', + 'parameters' => array( + 'accountId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'billingId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'update' => array( + 'path' => 'billinginfo/{accountId}/{billingId}', + 'httpMethod' => 'PUT', + 'parameters' => array( + 'accountId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'billingId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->creatives = new Google_Service_AdExchangeBuyer_Resource_Creatives( + $this, + $this->serviceName, + 'creatives', + array( + 'methods' => array( + 'addDeal' => array( + 'path' => 'creatives/{accountId}/{buyerCreativeId}/addDeal/{dealId}', + 'httpMethod' => 'POST', + 'parameters' => array( + 'accountId' => array( + 'location' => 'path', + 'type' => 'integer', + 'required' => true, + ), + 'buyerCreativeId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'dealId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'get' => array( + 'path' => 'creatives/{accountId}/{buyerCreativeId}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'accountId' => array( + 'location' => 'path', + 'type' => 'integer', + 'required' => true, + ), + 'buyerCreativeId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'insert' => array( + 'path' => 'creatives', + 'httpMethod' => 'POST', + 'parameters' => array(), + ),'list' => array( + 'path' => 'creatives', + 'httpMethod' => 'GET', + 'parameters' => array( + 'accountId' => array( + 'location' => 'query', + 'type' => 'integer', + 'repeated' => true, + ), + 'buyerCreativeId' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + ), + 'dealsStatusFilter' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'openAuctionStatusFilter' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'listDeals' => array( + 'path' => 'creatives/{accountId}/{buyerCreativeId}/listDeals', + 'httpMethod' => 'GET', + 'parameters' => array( + 'accountId' => array( + 'location' => 'path', + 'type' => 'integer', + 'required' => true, + ), + 'buyerCreativeId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'removeDeal' => array( + 'path' => 'creatives/{accountId}/{buyerCreativeId}/removeDeal/{dealId}', + 'httpMethod' => 'POST', + 'parameters' => array( + 'accountId' => array( + 'location' => 'path', + 'type' => 'integer', + 'required' => true, + ), + 'buyerCreativeId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'dealId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->marketplacedeals = new Google_Service_AdExchangeBuyer_Resource_Marketplacedeals( + $this, + $this->serviceName, + 'marketplacedeals', + array( + 'methods' => array( + 'delete' => array( + 'path' => 'proposals/{proposalId}/deals/delete', + 'httpMethod' => 'POST', + 'parameters' => array( + 'proposalId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'insert' => array( + 'path' => 'proposals/{proposalId}/deals/insert', + 'httpMethod' => 'POST', + 'parameters' => array( + 'proposalId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'proposals/{proposalId}/deals', + 'httpMethod' => 'GET', + 'parameters' => array( + 'proposalId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'pqlQuery' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'update' => array( + 'path' => 'proposals/{proposalId}/deals/update', + 'httpMethod' => 'POST', + 'parameters' => array( + 'proposalId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->marketplacenotes = new Google_Service_AdExchangeBuyer_Resource_Marketplacenotes( + $this, + $this->serviceName, + 'marketplacenotes', + array( + 'methods' => array( + 'insert' => array( + 'path' => 'proposals/{proposalId}/notes/insert', + 'httpMethod' => 'POST', + 'parameters' => array( + 'proposalId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'proposals/{proposalId}/notes', + 'httpMethod' => 'GET', + 'parameters' => array( + 'proposalId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'pqlQuery' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + $this->marketplaceprivateauction = new Google_Service_AdExchangeBuyer_Resource_Marketplaceprivateauction( + $this, + $this->serviceName, + 'marketplaceprivateauction', + array( + 'methods' => array( + 'updateproposal' => array( + 'path' => 'privateauction/{privateAuctionId}/updateproposal', + 'httpMethod' => 'POST', + 'parameters' => array( + 'privateAuctionId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->performanceReport = new Google_Service_AdExchangeBuyer_Resource_PerformanceReport( + $this, + $this->serviceName, + 'performanceReport', + array( + 'methods' => array( + 'list' => array( + 'path' => 'performancereport', + 'httpMethod' => 'GET', + 'parameters' => array( + 'accountId' => array( + 'location' => 'query', + 'type' => 'string', + 'required' => true, + ), + 'endDateTime' => array( + 'location' => 'query', + 'type' => 'string', + 'required' => true, + ), + 'startDateTime' => array( + 'location' => 'query', + 'type' => 'string', + 'required' => true, + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + $this->pretargetingConfig = new Google_Service_AdExchangeBuyer_Resource_PretargetingConfig( + $this, + $this->serviceName, + 'pretargetingConfig', + array( + 'methods' => array( + 'delete' => array( + 'path' => 'pretargetingconfigs/{accountId}/{configId}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'accountId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'configId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'get' => array( + 'path' => 'pretargetingconfigs/{accountId}/{configId}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'accountId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'configId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'insert' => array( + 'path' => 'pretargetingconfigs/{accountId}', + 'httpMethod' => 'POST', + 'parameters' => array( + 'accountId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'pretargetingconfigs/{accountId}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'accountId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'patch' => array( + 'path' => 'pretargetingconfigs/{accountId}/{configId}', + 'httpMethod' => 'PATCH', + 'parameters' => array( + 'accountId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'configId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'update' => array( + 'path' => 'pretargetingconfigs/{accountId}/{configId}', + 'httpMethod' => 'PUT', + 'parameters' => array( + 'accountId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'configId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->products = new Google_Service_AdExchangeBuyer_Resource_Products( + $this, + $this->serviceName, + 'products', + array( + 'methods' => array( + 'get' => array( + 'path' => 'products/{productId}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'productId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'search' => array( + 'path' => 'products/search', + 'httpMethod' => 'GET', + 'parameters' => array( + 'pqlQuery' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + $this->proposals = new Google_Service_AdExchangeBuyer_Resource_Proposals( + $this, + $this->serviceName, + 'proposals', + array( + 'methods' => array( + 'get' => array( + 'path' => 'proposals/{proposalId}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'proposalId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'insert' => array( + 'path' => 'proposals/insert', + 'httpMethod' => 'POST', + 'parameters' => array(), + ),'patch' => array( + 'path' => 'proposals/{proposalId}/{revisionNumber}/{updateAction}', + 'httpMethod' => 'PATCH', + 'parameters' => array( + 'proposalId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'revisionNumber' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'updateAction' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'search' => array( + 'path' => 'proposals/search', + 'httpMethod' => 'GET', + 'parameters' => array( + 'pqlQuery' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'setupcomplete' => array( + 'path' => 'proposals/{proposalId}/setupcomplete', + 'httpMethod' => 'POST', + 'parameters' => array( + 'proposalId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'update' => array( + 'path' => 'proposals/{proposalId}/{revisionNumber}/{updateAction}', + 'httpMethod' => 'PUT', + 'parameters' => array( + 'proposalId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'revisionNumber' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'updateAction' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->pubprofiles = new Google_Service_AdExchangeBuyer_Resource_Pubprofiles( + $this, + $this->serviceName, + 'pubprofiles', + array( + 'methods' => array( + 'list' => array( + 'path' => 'publisher/{accountId}/profiles', + 'httpMethod' => 'GET', + 'parameters' => array( + 'accountId' => array( + 'location' => 'path', + 'type' => 'integer', + 'required' => true, + ), + ), + ), + ) + ) + ); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/Account.php b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/Account.php new file mode 100644 index 00000000..85b0aea5 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/Account.php @@ -0,0 +1,95 @@ +bidderLocation = $bidderLocation; + } + public function getBidderLocation() + { + return $this->bidderLocation; + } + public function setCookieMatchingNid($cookieMatchingNid) + { + $this->cookieMatchingNid = $cookieMatchingNid; + } + public function getCookieMatchingNid() + { + return $this->cookieMatchingNid; + } + public function setCookieMatchingUrl($cookieMatchingUrl) + { + $this->cookieMatchingUrl = $cookieMatchingUrl; + } + public function getCookieMatchingUrl() + { + return $this->cookieMatchingUrl; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setMaximumActiveCreatives($maximumActiveCreatives) + { + $this->maximumActiveCreatives = $maximumActiveCreatives; + } + public function getMaximumActiveCreatives() + { + return $this->maximumActiveCreatives; + } + public function setMaximumTotalQps($maximumTotalQps) + { + $this->maximumTotalQps = $maximumTotalQps; + } + public function getMaximumTotalQps() + { + return $this->maximumTotalQps; + } + public function setNumberActiveCreatives($numberActiveCreatives) + { + $this->numberActiveCreatives = $numberActiveCreatives; + } + public function getNumberActiveCreatives() + { + return $this->numberActiveCreatives; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/AccountBidderLocation.php b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/AccountBidderLocation.php new file mode 100644 index 00000000..3b1d6ebd --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/AccountBidderLocation.php @@ -0,0 +1,57 @@ +bidProtocol = $bidProtocol; + } + public function getBidProtocol() + { + return $this->bidProtocol; + } + public function setMaximumQps($maximumQps) + { + $this->maximumQps = $maximumQps; + } + public function getMaximumQps() + { + return $this->maximumQps; + } + public function setRegion($region) + { + $this->region = $region; + } + public function getRegion() + { + return $this->region; + } + public function setUrl($url) + { + $this->url = $url; + } + public function getUrl() + { + return $this->url; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/AccountsList.php b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/AccountsList.php new file mode 100644 index 00000000..96635b14 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/AccountsList.php @@ -0,0 +1,41 @@ +items = $items; + } + public function getItems() + { + return $this->items; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/AddOrderDealsRequest.php b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/AddOrderDealsRequest.php new file mode 100644 index 00000000..9d39b447 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/AddOrderDealsRequest.php @@ -0,0 +1,50 @@ +deals = $deals; + } + public function getDeals() + { + return $this->deals; + } + public function setProposalRevisionNumber($proposalRevisionNumber) + { + $this->proposalRevisionNumber = $proposalRevisionNumber; + } + public function getProposalRevisionNumber() + { + return $this->proposalRevisionNumber; + } + public function setUpdateAction($updateAction) + { + $this->updateAction = $updateAction; + } + public function getUpdateAction() + { + return $this->updateAction; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/AddOrderDealsResponse.php b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/AddOrderDealsResponse.php new file mode 100644 index 00000000..6e2e56ae --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/AddOrderDealsResponse.php @@ -0,0 +1,41 @@ +deals = $deals; + } + public function getDeals() + { + return $this->deals; + } + public function setProposalRevisionNumber($proposalRevisionNumber) + { + $this->proposalRevisionNumber = $proposalRevisionNumber; + } + public function getProposalRevisionNumber() + { + return $this->proposalRevisionNumber; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/AddOrderNotesRequest.php b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/AddOrderNotesRequest.php new file mode 100644 index 00000000..1f05dcbf --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/AddOrderNotesRequest.php @@ -0,0 +1,32 @@ +notes = $notes; + } + public function getNotes() + { + return $this->notes; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/AddOrderNotesResponse.php b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/AddOrderNotesResponse.php new file mode 100644 index 00000000..d33cd505 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/AddOrderNotesResponse.php @@ -0,0 +1,32 @@ +notes = $notes; + } + public function getNotes() + { + return $this->notes; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/BillingInfo.php b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/BillingInfo.php new file mode 100644 index 00000000..5265205d --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/BillingInfo.php @@ -0,0 +1,58 @@ +accountId = $accountId; + } + public function getAccountId() + { + return $this->accountId; + } + public function setAccountName($accountName) + { + $this->accountName = $accountName; + } + public function getAccountName() + { + return $this->accountName; + } + public function setBillingId($billingId) + { + $this->billingId = $billingId; + } + public function getBillingId() + { + return $this->billingId; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/BillingInfoList.php b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/BillingInfoList.php new file mode 100644 index 00000000..0ebd96e5 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/BillingInfoList.php @@ -0,0 +1,41 @@ +items = $items; + } + public function getItems() + { + return $this->items; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/Budget.php b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/Budget.php new file mode 100644 index 00000000..339e36e5 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/Budget.php @@ -0,0 +1,75 @@ +accountId = $accountId; + } + public function getAccountId() + { + return $this->accountId; + } + public function setBillingId($billingId) + { + $this->billingId = $billingId; + } + public function getBillingId() + { + return $this->billingId; + } + public function setBudgetAmount($budgetAmount) + { + $this->budgetAmount = $budgetAmount; + } + public function getBudgetAmount() + { + return $this->budgetAmount; + } + public function setCurrencyCode($currencyCode) + { + $this->currencyCode = $currencyCode; + } + public function getCurrencyCode() + { + return $this->currencyCode; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/Buyer.php b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/Buyer.php new file mode 100644 index 00000000..f5b79f56 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/Buyer.php @@ -0,0 +1,30 @@ +accountId = $accountId; + } + public function getAccountId() + { + return $this->accountId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/ContactInformation.php b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/ContactInformation.php new file mode 100644 index 00000000..55de2d18 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/ContactInformation.php @@ -0,0 +1,39 @@ +email = $email; + } + public function getEmail() + { + return $this->email; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/CreateOrdersRequest.php b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/CreateOrdersRequest.php new file mode 100644 index 00000000..e8203657 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/CreateOrdersRequest.php @@ -0,0 +1,41 @@ +proposals = $proposals; + } + public function getProposals() + { + return $this->proposals; + } + public function setWebPropertyCode($webPropertyCode) + { + $this->webPropertyCode = $webPropertyCode; + } + public function getWebPropertyCode() + { + return $this->webPropertyCode; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/CreateOrdersResponse.php b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/CreateOrdersResponse.php new file mode 100644 index 00000000..a617afbc --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/CreateOrdersResponse.php @@ -0,0 +1,32 @@ +proposals = $proposals; + } + public function getProposals() + { + return $this->proposals; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/Creative.php b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/Creative.php new file mode 100644 index 00000000..376cd3f9 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/Creative.php @@ -0,0 +1,281 @@ + "HTMLSnippet", + ); + public $hTMLSnippet; + public $accountId; + public $adChoicesDestinationUrl; + public $advertiserId; + public $advertiserName; + public $agencyId; + public $apiUploadTimestamp; + public $attribute; + public $buyerCreativeId; + public $clickThroughUrl; + protected $correctionsType = 'Google_Service_AdExchangeBuyer_CreativeCorrections'; + protected $correctionsDataType = 'array'; + public $dealsStatus; + public $detectedDomains; + protected $filteringReasonsType = 'Google_Service_AdExchangeBuyer_CreativeFilteringReasons'; + protected $filteringReasonsDataType = ''; + public $height; + public $impressionTrackingUrl; + public $kind; + public $languages; + protected $nativeAdType = 'Google_Service_AdExchangeBuyer_CreativeNativeAd'; + protected $nativeAdDataType = ''; + public $openAuctionStatus; + public $productCategories; + public $restrictedCategories; + public $sensitiveCategories; + protected $servingRestrictionsType = 'Google_Service_AdExchangeBuyer_CreativeServingRestrictions'; + protected $servingRestrictionsDataType = 'array'; + public $vendorType; + public $version; + public $videoURL; + public $width; + + public function setHTMLSnippet($hTMLSnippet) + { + $this->hTMLSnippet = $hTMLSnippet; + } + public function getHTMLSnippet() + { + return $this->hTMLSnippet; + } + public function setAccountId($accountId) + { + $this->accountId = $accountId; + } + public function getAccountId() + { + return $this->accountId; + } + public function setAdChoicesDestinationUrl($adChoicesDestinationUrl) + { + $this->adChoicesDestinationUrl = $adChoicesDestinationUrl; + } + public function getAdChoicesDestinationUrl() + { + return $this->adChoicesDestinationUrl; + } + public function setAdvertiserId($advertiserId) + { + $this->advertiserId = $advertiserId; + } + public function getAdvertiserId() + { + return $this->advertiserId; + } + public function setAdvertiserName($advertiserName) + { + $this->advertiserName = $advertiserName; + } + public function getAdvertiserName() + { + return $this->advertiserName; + } + public function setAgencyId($agencyId) + { + $this->agencyId = $agencyId; + } + public function getAgencyId() + { + return $this->agencyId; + } + public function setApiUploadTimestamp($apiUploadTimestamp) + { + $this->apiUploadTimestamp = $apiUploadTimestamp; + } + public function getApiUploadTimestamp() + { + return $this->apiUploadTimestamp; + } + public function setAttribute($attribute) + { + $this->attribute = $attribute; + } + public function getAttribute() + { + return $this->attribute; + } + public function setBuyerCreativeId($buyerCreativeId) + { + $this->buyerCreativeId = $buyerCreativeId; + } + public function getBuyerCreativeId() + { + return $this->buyerCreativeId; + } + public function setClickThroughUrl($clickThroughUrl) + { + $this->clickThroughUrl = $clickThroughUrl; + } + public function getClickThroughUrl() + { + return $this->clickThroughUrl; + } + public function setCorrections($corrections) + { + $this->corrections = $corrections; + } + public function getCorrections() + { + return $this->corrections; + } + public function setDealsStatus($dealsStatus) + { + $this->dealsStatus = $dealsStatus; + } + public function getDealsStatus() + { + return $this->dealsStatus; + } + public function setDetectedDomains($detectedDomains) + { + $this->detectedDomains = $detectedDomains; + } + public function getDetectedDomains() + { + return $this->detectedDomains; + } + public function setFilteringReasons(Google_Service_AdExchangeBuyer_CreativeFilteringReasons $filteringReasons) + { + $this->filteringReasons = $filteringReasons; + } + public function getFilteringReasons() + { + return $this->filteringReasons; + } + public function setHeight($height) + { + $this->height = $height; + } + public function getHeight() + { + return $this->height; + } + public function setImpressionTrackingUrl($impressionTrackingUrl) + { + $this->impressionTrackingUrl = $impressionTrackingUrl; + } + public function getImpressionTrackingUrl() + { + return $this->impressionTrackingUrl; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setLanguages($languages) + { + $this->languages = $languages; + } + public function getLanguages() + { + return $this->languages; + } + public function setNativeAd(Google_Service_AdExchangeBuyer_CreativeNativeAd $nativeAd) + { + $this->nativeAd = $nativeAd; + } + public function getNativeAd() + { + return $this->nativeAd; + } + public function setOpenAuctionStatus($openAuctionStatus) + { + $this->openAuctionStatus = $openAuctionStatus; + } + public function getOpenAuctionStatus() + { + return $this->openAuctionStatus; + } + public function setProductCategories($productCategories) + { + $this->productCategories = $productCategories; + } + public function getProductCategories() + { + return $this->productCategories; + } + public function setRestrictedCategories($restrictedCategories) + { + $this->restrictedCategories = $restrictedCategories; + } + public function getRestrictedCategories() + { + return $this->restrictedCategories; + } + public function setSensitiveCategories($sensitiveCategories) + { + $this->sensitiveCategories = $sensitiveCategories; + } + public function getSensitiveCategories() + { + return $this->sensitiveCategories; + } + public function setServingRestrictions($servingRestrictions) + { + $this->servingRestrictions = $servingRestrictions; + } + public function getServingRestrictions() + { + return $this->servingRestrictions; + } + public function setVendorType($vendorType) + { + $this->vendorType = $vendorType; + } + public function getVendorType() + { + return $this->vendorType; + } + public function setVersion($version) + { + $this->version = $version; + } + public function getVersion() + { + return $this->version; + } + public function setVideoURL($videoURL) + { + $this->videoURL = $videoURL; + } + public function getVideoURL() + { + return $this->videoURL; + } + public function setWidth($width) + { + $this->width = $width; + } + public function getWidth() + { + return $this->width; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/CreativeCorrections.php b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/CreativeCorrections.php new file mode 100644 index 00000000..0ac14a05 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/CreativeCorrections.php @@ -0,0 +1,50 @@ +contexts = $contexts; + } + public function getContexts() + { + return $this->contexts; + } + public function setDetails($details) + { + $this->details = $details; + } + public function getDetails() + { + return $this->details; + } + public function setReason($reason) + { + $this->reason = $reason; + } + public function getReason() + { + return $this->reason; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/CreativeCorrectionsContexts.php b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/CreativeCorrectionsContexts.php new file mode 100644 index 00000000..3fc726cd --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/CreativeCorrectionsContexts.php @@ -0,0 +1,58 @@ +auctionType = $auctionType; + } + public function getAuctionType() + { + return $this->auctionType; + } + public function setContextType($contextType) + { + $this->contextType = $contextType; + } + public function getContextType() + { + return $this->contextType; + } + public function setGeoCriteriaId($geoCriteriaId) + { + $this->geoCriteriaId = $geoCriteriaId; + } + public function getGeoCriteriaId() + { + return $this->geoCriteriaId; + } + public function setPlatform($platform) + { + $this->platform = $platform; + } + public function getPlatform() + { + return $this->platform; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/CreativeDealIds.php b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/CreativeDealIds.php new file mode 100644 index 00000000..59136bf6 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/CreativeDealIds.php @@ -0,0 +1,41 @@ +dealStatuses = $dealStatuses; + } + public function getDealStatuses() + { + return $this->dealStatuses; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/CreativeDealIdsDealStatuses.php b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/CreativeDealIdsDealStatuses.php new file mode 100644 index 00000000..62759046 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/CreativeDealIdsDealStatuses.php @@ -0,0 +1,48 @@ +arcStatus = $arcStatus; + } + public function getArcStatus() + { + return $this->arcStatus; + } + public function setDealId($dealId) + { + $this->dealId = $dealId; + } + public function getDealId() + { + return $this->dealId; + } + public function setWebPropertyId($webPropertyId) + { + $this->webPropertyId = $webPropertyId; + } + public function getWebPropertyId() + { + return $this->webPropertyId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/CreativeFilteringReasons.php b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/CreativeFilteringReasons.php new file mode 100644 index 00000000..6f7b281d --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/CreativeFilteringReasons.php @@ -0,0 +1,41 @@ +date = $date; + } + public function getDate() + { + return $this->date; + } + public function setReasons($reasons) + { + $this->reasons = $reasons; + } + public function getReasons() + { + return $this->reasons; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/CreativeFilteringReasonsReasons.php b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/CreativeFilteringReasonsReasons.php new file mode 100644 index 00000000..d40dfba6 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/CreativeFilteringReasonsReasons.php @@ -0,0 +1,39 @@ +filteringCount = $filteringCount; + } + public function getFilteringCount() + { + return $this->filteringCount; + } + public function setFilteringStatus($filteringStatus) + { + $this->filteringStatus = $filteringStatus; + } + public function getFilteringStatus() + { + return $this->filteringStatus; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/CreativeNativeAd.php b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/CreativeNativeAd.php new file mode 100644 index 00000000..a4053823 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/CreativeNativeAd.php @@ -0,0 +1,151 @@ +advertiser = $advertiser; + } + public function getAdvertiser() + { + return $this->advertiser; + } + public function setAppIcon(Google_Service_AdExchangeBuyer_CreativeNativeAdAppIcon $appIcon) + { + $this->appIcon = $appIcon; + } + public function getAppIcon() + { + return $this->appIcon; + } + public function setBody($body) + { + $this->body = $body; + } + public function getBody() + { + return $this->body; + } + public function setCallToAction($callToAction) + { + $this->callToAction = $callToAction; + } + public function getCallToAction() + { + return $this->callToAction; + } + public function setClickLinkUrl($clickLinkUrl) + { + $this->clickLinkUrl = $clickLinkUrl; + } + public function getClickLinkUrl() + { + return $this->clickLinkUrl; + } + public function setClickTrackingUrl($clickTrackingUrl) + { + $this->clickTrackingUrl = $clickTrackingUrl; + } + public function getClickTrackingUrl() + { + return $this->clickTrackingUrl; + } + public function setHeadline($headline) + { + $this->headline = $headline; + } + public function getHeadline() + { + return $this->headline; + } + public function setImage(Google_Service_AdExchangeBuyer_CreativeNativeAdImage $image) + { + $this->image = $image; + } + public function getImage() + { + return $this->image; + } + public function setImpressionTrackingUrl($impressionTrackingUrl) + { + $this->impressionTrackingUrl = $impressionTrackingUrl; + } + public function getImpressionTrackingUrl() + { + return $this->impressionTrackingUrl; + } + public function setLogo(Google_Service_AdExchangeBuyer_CreativeNativeAdLogo $logo) + { + $this->logo = $logo; + } + public function getLogo() + { + return $this->logo; + } + public function setPrice($price) + { + $this->price = $price; + } + public function getPrice() + { + return $this->price; + } + public function setStarRating($starRating) + { + $this->starRating = $starRating; + } + public function getStarRating() + { + return $this->starRating; + } + public function setStore($store) + { + $this->store = $store; + } + public function getStore() + { + return $this->store; + } + public function setVideoURL($videoURL) + { + $this->videoURL = $videoURL; + } + public function getVideoURL() + { + return $this->videoURL; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/CreativeNativeAdAppIcon.php b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/CreativeNativeAdAppIcon.php new file mode 100644 index 00000000..54192165 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/CreativeNativeAdAppIcon.php @@ -0,0 +1,48 @@ +height = $height; + } + public function getHeight() + { + return $this->height; + } + public function setUrl($url) + { + $this->url = $url; + } + public function getUrl() + { + return $this->url; + } + public function setWidth($width) + { + $this->width = $width; + } + public function getWidth() + { + return $this->width; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/CreativeNativeAdImage.php b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/CreativeNativeAdImage.php new file mode 100644 index 00000000..c5db1c2a --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/CreativeNativeAdImage.php @@ -0,0 +1,48 @@ +height = $height; + } + public function getHeight() + { + return $this->height; + } + public function setUrl($url) + { + $this->url = $url; + } + public function getUrl() + { + return $this->url; + } + public function setWidth($width) + { + $this->width = $width; + } + public function getWidth() + { + return $this->width; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/CreativeNativeAdLogo.php b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/CreativeNativeAdLogo.php new file mode 100644 index 00000000..658230c9 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/CreativeNativeAdLogo.php @@ -0,0 +1,48 @@ +height = $height; + } + public function getHeight() + { + return $this->height; + } + public function setUrl($url) + { + $this->url = $url; + } + public function getUrl() + { + return $this->url; + } + public function setWidth($width) + { + $this->width = $width; + } + public function getWidth() + { + return $this->width; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/CreativeServingRestrictions.php b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/CreativeServingRestrictions.php new file mode 100644 index 00000000..0c508036 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/CreativeServingRestrictions.php @@ -0,0 +1,51 @@ +contexts = $contexts; + } + public function getContexts() + { + return $this->contexts; + } + public function setDisapprovalReasons($disapprovalReasons) + { + $this->disapprovalReasons = $disapprovalReasons; + } + public function getDisapprovalReasons() + { + return $this->disapprovalReasons; + } + public function setReason($reason) + { + $this->reason = $reason; + } + public function getReason() + { + return $this->reason; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/CreativeServingRestrictionsContexts.php b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/CreativeServingRestrictionsContexts.php new file mode 100644 index 00000000..c236e5a4 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/CreativeServingRestrictionsContexts.php @@ -0,0 +1,58 @@ +auctionType = $auctionType; + } + public function getAuctionType() + { + return $this->auctionType; + } + public function setContextType($contextType) + { + $this->contextType = $contextType; + } + public function getContextType() + { + return $this->contextType; + } + public function setGeoCriteriaId($geoCriteriaId) + { + $this->geoCriteriaId = $geoCriteriaId; + } + public function getGeoCriteriaId() + { + return $this->geoCriteriaId; + } + public function setPlatform($platform) + { + $this->platform = $platform; + } + public function getPlatform() + { + return $this->platform; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/CreativeServingRestrictionsDisapprovalReasons.php b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/CreativeServingRestrictionsDisapprovalReasons.php new file mode 100644 index 00000000..f10255f1 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/CreativeServingRestrictionsDisapprovalReasons.php @@ -0,0 +1,40 @@ +details = $details; + } + public function getDetails() + { + return $this->details; + } + public function setReason($reason) + { + $this->reason = $reason; + } + public function getReason() + { + return $this->reason; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/CreativesList.php b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/CreativesList.php new file mode 100644 index 00000000..65200632 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/CreativesList.php @@ -0,0 +1,50 @@ +items = $items; + } + public function getItems() + { + return $this->items; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/DealServingMetadata.php b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/DealServingMetadata.php new file mode 100644 index 00000000..fac51dfc --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/DealServingMetadata.php @@ -0,0 +1,40 @@ +alcoholAdsAllowed = $alcoholAdsAllowed; + } + public function getAlcoholAdsAllowed() + { + return $this->alcoholAdsAllowed; + } + public function setDealPauseStatus(Google_Service_AdExchangeBuyer_DealServingMetadataDealPauseStatus $dealPauseStatus) + { + $this->dealPauseStatus = $dealPauseStatus; + } + public function getDealPauseStatus() + { + return $this->dealPauseStatus; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/DealServingMetadataDealPauseStatus.php b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/DealServingMetadataDealPauseStatus.php new file mode 100644 index 00000000..17da50be --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/DealServingMetadataDealPauseStatus.php @@ -0,0 +1,66 @@ +buyerPauseReason = $buyerPauseReason; + } + public function getBuyerPauseReason() + { + return $this->buyerPauseReason; + } + public function setFirstPausedBy($firstPausedBy) + { + $this->firstPausedBy = $firstPausedBy; + } + public function getFirstPausedBy() + { + return $this->firstPausedBy; + } + public function setHasBuyerPaused($hasBuyerPaused) + { + $this->hasBuyerPaused = $hasBuyerPaused; + } + public function getHasBuyerPaused() + { + return $this->hasBuyerPaused; + } + public function setHasSellerPaused($hasSellerPaused) + { + $this->hasSellerPaused = $hasSellerPaused; + } + public function getHasSellerPaused() + { + return $this->hasSellerPaused; + } + public function setSellerPauseReason($sellerPauseReason) + { + $this->sellerPauseReason = $sellerPauseReason; + } + public function getSellerPauseReason() + { + return $this->sellerPauseReason; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/DealTerms.php b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/DealTerms.php new file mode 100644 index 00000000..2fd7039a --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/DealTerms.php @@ -0,0 +1,116 @@ +brandingType = $brandingType; + } + public function getBrandingType() + { + return $this->brandingType; + } + public function setCrossListedExternalDealIdType($crossListedExternalDealIdType) + { + $this->crossListedExternalDealIdType = $crossListedExternalDealIdType; + } + public function getCrossListedExternalDealIdType() + { + return $this->crossListedExternalDealIdType; + } + public function setDescription($description) + { + $this->description = $description; + } + public function getDescription() + { + return $this->description; + } + public function setEstimatedGrossSpend(Google_Service_AdExchangeBuyer_Price $estimatedGrossSpend) + { + $this->estimatedGrossSpend = $estimatedGrossSpend; + } + public function getEstimatedGrossSpend() + { + return $this->estimatedGrossSpend; + } + public function setEstimatedImpressionsPerDay($estimatedImpressionsPerDay) + { + $this->estimatedImpressionsPerDay = $estimatedImpressionsPerDay; + } + public function getEstimatedImpressionsPerDay() + { + return $this->estimatedImpressionsPerDay; + } + public function setGuaranteedFixedPriceTerms(Google_Service_AdExchangeBuyer_DealTermsGuaranteedFixedPriceTerms $guaranteedFixedPriceTerms) + { + $this->guaranteedFixedPriceTerms = $guaranteedFixedPriceTerms; + } + public function getGuaranteedFixedPriceTerms() + { + return $this->guaranteedFixedPriceTerms; + } + public function setNonGuaranteedAuctionTerms(Google_Service_AdExchangeBuyer_DealTermsNonGuaranteedAuctionTerms $nonGuaranteedAuctionTerms) + { + $this->nonGuaranteedAuctionTerms = $nonGuaranteedAuctionTerms; + } + public function getNonGuaranteedAuctionTerms() + { + return $this->nonGuaranteedAuctionTerms; + } + public function setNonGuaranteedFixedPriceTerms(Google_Service_AdExchangeBuyer_DealTermsNonGuaranteedFixedPriceTerms $nonGuaranteedFixedPriceTerms) + { + $this->nonGuaranteedFixedPriceTerms = $nonGuaranteedFixedPriceTerms; + } + public function getNonGuaranteedFixedPriceTerms() + { + return $this->nonGuaranteedFixedPriceTerms; + } + public function setRubiconNonGuaranteedTerms(Google_Service_AdExchangeBuyer_DealTermsRubiconNonGuaranteedTerms $rubiconNonGuaranteedTerms) + { + $this->rubiconNonGuaranteedTerms = $rubiconNonGuaranteedTerms; + } + public function getRubiconNonGuaranteedTerms() + { + return $this->rubiconNonGuaranteedTerms; + } + public function setSellerTimeZone($sellerTimeZone) + { + $this->sellerTimeZone = $sellerTimeZone; + } + public function getSellerTimeZone() + { + return $this->sellerTimeZone; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/DealTermsGuaranteedFixedPriceTerms.php b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/DealTermsGuaranteedFixedPriceTerms.php new file mode 100644 index 00000000..44d1c474 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/DealTermsGuaranteedFixedPriceTerms.php @@ -0,0 +1,69 @@ +billingInfo = $billingInfo; + } + public function getBillingInfo() + { + return $this->billingInfo; + } + public function setFixedPrices($fixedPrices) + { + $this->fixedPrices = $fixedPrices; + } + public function getFixedPrices() + { + return $this->fixedPrices; + } + public function setGuaranteedImpressions($guaranteedImpressions) + { + $this->guaranteedImpressions = $guaranteedImpressions; + } + public function getGuaranteedImpressions() + { + return $this->guaranteedImpressions; + } + public function setGuaranteedLooks($guaranteedLooks) + { + $this->guaranteedLooks = $guaranteedLooks; + } + public function getGuaranteedLooks() + { + return $this->guaranteedLooks; + } + public function setMinimumDailyLooks($minimumDailyLooks) + { + $this->minimumDailyLooks = $minimumDailyLooks; + } + public function getMinimumDailyLooks() + { + return $this->minimumDailyLooks; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/DealTermsGuaranteedFixedPriceTermsBillingInfo.php b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/DealTermsGuaranteedFixedPriceTermsBillingInfo.php new file mode 100644 index 00000000..800389e2 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/DealTermsGuaranteedFixedPriceTermsBillingInfo.php @@ -0,0 +1,58 @@ +currencyConversionTimeMs = $currencyConversionTimeMs; + } + public function getCurrencyConversionTimeMs() + { + return $this->currencyConversionTimeMs; + } + public function setDfpLineItemId($dfpLineItemId) + { + $this->dfpLineItemId = $dfpLineItemId; + } + public function getDfpLineItemId() + { + return $this->dfpLineItemId; + } + public function setOriginalContractedQuantity($originalContractedQuantity) + { + $this->originalContractedQuantity = $originalContractedQuantity; + } + public function getOriginalContractedQuantity() + { + return $this->originalContractedQuantity; + } + public function setPrice(Google_Service_AdExchangeBuyer_Price $price) + { + $this->price = $price; + } + public function getPrice() + { + return $this->price; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/DealTermsNonGuaranteedAuctionTerms.php b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/DealTermsNonGuaranteedAuctionTerms.php new file mode 100644 index 00000000..c1d3b9c6 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/DealTermsNonGuaranteedAuctionTerms.php @@ -0,0 +1,41 @@ +autoOptimizePrivateAuction = $autoOptimizePrivateAuction; + } + public function getAutoOptimizePrivateAuction() + { + return $this->autoOptimizePrivateAuction; + } + public function setReservePricePerBuyers($reservePricePerBuyers) + { + $this->reservePricePerBuyers = $reservePricePerBuyers; + } + public function getReservePricePerBuyers() + { + return $this->reservePricePerBuyers; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/DealTermsNonGuaranteedFixedPriceTerms.php b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/DealTermsNonGuaranteedFixedPriceTerms.php new file mode 100644 index 00000000..2cc74947 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/DealTermsNonGuaranteedFixedPriceTerms.php @@ -0,0 +1,32 @@ +fixedPrices = $fixedPrices; + } + public function getFixedPrices() + { + return $this->fixedPrices; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/DealTermsRubiconNonGuaranteedTerms.php b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/DealTermsRubiconNonGuaranteedTerms.php new file mode 100644 index 00000000..4f71b442 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/DealTermsRubiconNonGuaranteedTerms.php @@ -0,0 +1,41 @@ +priorityPrice = $priorityPrice; + } + public function getPriorityPrice() + { + return $this->priorityPrice; + } + public function setStandardPrice(Google_Service_AdExchangeBuyer_Price $standardPrice) + { + $this->standardPrice = $standardPrice; + } + public function getStandardPrice() + { + return $this->standardPrice; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/DeleteOrderDealsRequest.php b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/DeleteOrderDealsRequest.php new file mode 100644 index 00000000..0ad62aaa --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/DeleteOrderDealsRequest.php @@ -0,0 +1,49 @@ +dealIds = $dealIds; + } + public function getDealIds() + { + return $this->dealIds; + } + public function setProposalRevisionNumber($proposalRevisionNumber) + { + $this->proposalRevisionNumber = $proposalRevisionNumber; + } + public function getProposalRevisionNumber() + { + return $this->proposalRevisionNumber; + } + public function setUpdateAction($updateAction) + { + $this->updateAction = $updateAction; + } + public function getUpdateAction() + { + return $this->updateAction; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/DeleteOrderDealsResponse.php b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/DeleteOrderDealsResponse.php new file mode 100644 index 00000000..004de993 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/DeleteOrderDealsResponse.php @@ -0,0 +1,41 @@ +deals = $deals; + } + public function getDeals() + { + return $this->deals; + } + public function setProposalRevisionNumber($proposalRevisionNumber) + { + $this->proposalRevisionNumber = $proposalRevisionNumber; + } + public function getProposalRevisionNumber() + { + return $this->proposalRevisionNumber; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/DeliveryControl.php b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/DeliveryControl.php new file mode 100644 index 00000000..0dc9e33b --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/DeliveryControl.php @@ -0,0 +1,50 @@ +creativeBlockingLevel = $creativeBlockingLevel; + } + public function getCreativeBlockingLevel() + { + return $this->creativeBlockingLevel; + } + public function setDeliveryRateType($deliveryRateType) + { + $this->deliveryRateType = $deliveryRateType; + } + public function getDeliveryRateType() + { + return $this->deliveryRateType; + } + public function setFrequencyCaps($frequencyCaps) + { + $this->frequencyCaps = $frequencyCaps; + } + public function getFrequencyCaps() + { + return $this->frequencyCaps; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/DeliveryControlFrequencyCap.php b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/DeliveryControlFrequencyCap.php new file mode 100644 index 00000000..5f07de48 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/DeliveryControlFrequencyCap.php @@ -0,0 +1,48 @@ +maxImpressions = $maxImpressions; + } + public function getMaxImpressions() + { + return $this->maxImpressions; + } + public function setNumTimeUnits($numTimeUnits) + { + $this->numTimeUnits = $numTimeUnits; + } + public function getNumTimeUnits() + { + return $this->numTimeUnits; + } + public function setTimeUnitType($timeUnitType) + { + $this->timeUnitType = $timeUnitType; + } + public function getTimeUnitType() + { + return $this->timeUnitType; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/Dimension.php b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/Dimension.php new file mode 100644 index 00000000..a3ebe40b --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/Dimension.php @@ -0,0 +1,41 @@ +dimensionType = $dimensionType; + } + public function getDimensionType() + { + return $this->dimensionType; + } + public function setDimensionValues($dimensionValues) + { + $this->dimensionValues = $dimensionValues; + } + public function getDimensionValues() + { + return $this->dimensionValues; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/DimensionDimensionValue.php b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/DimensionDimensionValue.php new file mode 100644 index 00000000..b2d4a9a7 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/DimensionDimensionValue.php @@ -0,0 +1,48 @@ +id = $id; + } + public function getId() + { + return $this->id; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setPercentage($percentage) + { + $this->percentage = $percentage; + } + public function getPercentage() + { + return $this->percentage; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/EditAllOrderDealsRequest.php b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/EditAllOrderDealsRequest.php new file mode 100644 index 00000000..f4584ad4 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/EditAllOrderDealsRequest.php @@ -0,0 +1,60 @@ +deals = $deals; + } + public function getDeals() + { + return $this->deals; + } + public function setProposal(Google_Service_AdExchangeBuyer_Proposal $proposal) + { + $this->proposal = $proposal; + } + public function getProposal() + { + return $this->proposal; + } + public function setProposalRevisionNumber($proposalRevisionNumber) + { + $this->proposalRevisionNumber = $proposalRevisionNumber; + } + public function getProposalRevisionNumber() + { + return $this->proposalRevisionNumber; + } + public function setUpdateAction($updateAction) + { + $this->updateAction = $updateAction; + } + public function getUpdateAction() + { + return $this->updateAction; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/EditAllOrderDealsResponse.php b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/EditAllOrderDealsResponse.php new file mode 100644 index 00000000..2a480ea5 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/EditAllOrderDealsResponse.php @@ -0,0 +1,41 @@ +deals = $deals; + } + public function getDeals() + { + return $this->deals; + } + public function setOrderRevisionNumber($orderRevisionNumber) + { + $this->orderRevisionNumber = $orderRevisionNumber; + } + public function getOrderRevisionNumber() + { + return $this->orderRevisionNumber; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/GetOffersResponse.php b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/GetOffersResponse.php new file mode 100644 index 00000000..d7dd858b --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/GetOffersResponse.php @@ -0,0 +1,32 @@ +products = $products; + } + public function getProducts() + { + return $this->products; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/GetOrderDealsResponse.php b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/GetOrderDealsResponse.php new file mode 100644 index 00000000..7c1eee41 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/GetOrderDealsResponse.php @@ -0,0 +1,32 @@ +deals = $deals; + } + public function getDeals() + { + return $this->deals; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/GetOrderNotesResponse.php b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/GetOrderNotesResponse.php new file mode 100644 index 00000000..a35f8ce8 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/GetOrderNotesResponse.php @@ -0,0 +1,32 @@ +notes = $notes; + } + public function getNotes() + { + return $this->notes; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/GetOrdersResponse.php b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/GetOrdersResponse.php new file mode 100644 index 00000000..e6061634 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/GetOrdersResponse.php @@ -0,0 +1,32 @@ +proposals = $proposals; + } + public function getProposals() + { + return $this->proposals; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/GetPublisherProfilesByAccountIdResponse.php b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/GetPublisherProfilesByAccountIdResponse.php new file mode 100644 index 00000000..bafbb851 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/GetPublisherProfilesByAccountIdResponse.php @@ -0,0 +1,32 @@ +profiles = $profiles; + } + public function getProfiles() + { + return $this->profiles; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/MarketplaceDeal.php b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/MarketplaceDeal.php new file mode 100644 index 00000000..9a03a16d --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/MarketplaceDeal.php @@ -0,0 +1,244 @@ +buyerPrivateData = $buyerPrivateData; + } + public function getBuyerPrivateData() + { + return $this->buyerPrivateData; + } + public function setCreationTimeMs($creationTimeMs) + { + $this->creationTimeMs = $creationTimeMs; + } + public function getCreationTimeMs() + { + return $this->creationTimeMs; + } + public function setCreativePreApprovalPolicy($creativePreApprovalPolicy) + { + $this->creativePreApprovalPolicy = $creativePreApprovalPolicy; + } + public function getCreativePreApprovalPolicy() + { + return $this->creativePreApprovalPolicy; + } + public function setCreativeSafeFrameCompatibility($creativeSafeFrameCompatibility) + { + $this->creativeSafeFrameCompatibility = $creativeSafeFrameCompatibility; + } + public function getCreativeSafeFrameCompatibility() + { + return $this->creativeSafeFrameCompatibility; + } + public function setDealId($dealId) + { + $this->dealId = $dealId; + } + public function getDealId() + { + return $this->dealId; + } + public function setDealServingMetadata(Google_Service_AdExchangeBuyer_DealServingMetadata $dealServingMetadata) + { + $this->dealServingMetadata = $dealServingMetadata; + } + public function getDealServingMetadata() + { + return $this->dealServingMetadata; + } + public function setDeliveryControl(Google_Service_AdExchangeBuyer_DeliveryControl $deliveryControl) + { + $this->deliveryControl = $deliveryControl; + } + public function getDeliveryControl() + { + return $this->deliveryControl; + } + public function setExternalDealId($externalDealId) + { + $this->externalDealId = $externalDealId; + } + public function getExternalDealId() + { + return $this->externalDealId; + } + public function setFlightEndTimeMs($flightEndTimeMs) + { + $this->flightEndTimeMs = $flightEndTimeMs; + } + public function getFlightEndTimeMs() + { + return $this->flightEndTimeMs; + } + public function setFlightStartTimeMs($flightStartTimeMs) + { + $this->flightStartTimeMs = $flightStartTimeMs; + } + public function getFlightStartTimeMs() + { + return $this->flightStartTimeMs; + } + public function setInventoryDescription($inventoryDescription) + { + $this->inventoryDescription = $inventoryDescription; + } + public function getInventoryDescription() + { + return $this->inventoryDescription; + } + public function setIsRfpTemplate($isRfpTemplate) + { + $this->isRfpTemplate = $isRfpTemplate; + } + public function getIsRfpTemplate() + { + return $this->isRfpTemplate; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setLastUpdateTimeMs($lastUpdateTimeMs) + { + $this->lastUpdateTimeMs = $lastUpdateTimeMs; + } + public function getLastUpdateTimeMs() + { + return $this->lastUpdateTimeMs; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setProductId($productId) + { + $this->productId = $productId; + } + public function getProductId() + { + return $this->productId; + } + public function setProductRevisionNumber($productRevisionNumber) + { + $this->productRevisionNumber = $productRevisionNumber; + } + public function getProductRevisionNumber() + { + return $this->productRevisionNumber; + } + public function setProgrammaticCreativeSource($programmaticCreativeSource) + { + $this->programmaticCreativeSource = $programmaticCreativeSource; + } + public function getProgrammaticCreativeSource() + { + return $this->programmaticCreativeSource; + } + public function setProposalId($proposalId) + { + $this->proposalId = $proposalId; + } + public function getProposalId() + { + return $this->proposalId; + } + public function setSellerContacts($sellerContacts) + { + $this->sellerContacts = $sellerContacts; + } + public function getSellerContacts() + { + return $this->sellerContacts; + } + public function setSharedTargetings($sharedTargetings) + { + $this->sharedTargetings = $sharedTargetings; + } + public function getSharedTargetings() + { + return $this->sharedTargetings; + } + public function setSyndicationProduct($syndicationProduct) + { + $this->syndicationProduct = $syndicationProduct; + } + public function getSyndicationProduct() + { + return $this->syndicationProduct; + } + public function setTerms(Google_Service_AdExchangeBuyer_DealTerms $terms) + { + $this->terms = $terms; + } + public function getTerms() + { + return $this->terms; + } + public function setWebPropertyCode($webPropertyCode) + { + $this->webPropertyCode = $webPropertyCode; + } + public function getWebPropertyCode() + { + return $this->webPropertyCode; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/MarketplaceDealParty.php b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/MarketplaceDealParty.php new file mode 100644 index 00000000..ff1b47bc --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/MarketplaceDealParty.php @@ -0,0 +1,41 @@ +buyer = $buyer; + } + public function getBuyer() + { + return $this->buyer; + } + public function setSeller(Google_Service_AdExchangeBuyer_Seller $seller) + { + $this->seller = $seller; + } + public function getSeller() + { + return $this->seller; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/MarketplaceLabel.php b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/MarketplaceLabel.php new file mode 100644 index 00000000..33253901 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/MarketplaceLabel.php @@ -0,0 +1,58 @@ +accountId = $accountId; + } + public function getAccountId() + { + return $this->accountId; + } + public function setCreateTimeMs($createTimeMs) + { + $this->createTimeMs = $createTimeMs; + } + public function getCreateTimeMs() + { + return $this->createTimeMs; + } + public function setDeprecatedMarketplaceDealParty(Google_Service_AdExchangeBuyer_MarketplaceDealParty $deprecatedMarketplaceDealParty) + { + $this->deprecatedMarketplaceDealParty = $deprecatedMarketplaceDealParty; + } + public function getDeprecatedMarketplaceDealParty() + { + return $this->deprecatedMarketplaceDealParty; + } + public function setLabel($label) + { + $this->label = $label; + } + public function getLabel() + { + return $this->label; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/MarketplaceNote.php b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/MarketplaceNote.php new file mode 100644 index 00000000..70597782 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/MarketplaceNote.php @@ -0,0 +1,93 @@ +creatorRole = $creatorRole; + } + public function getCreatorRole() + { + return $this->creatorRole; + } + public function setDealId($dealId) + { + $this->dealId = $dealId; + } + public function getDealId() + { + return $this->dealId; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNote($note) + { + $this->note = $note; + } + public function getNote() + { + return $this->note; + } + public function setNoteId($noteId) + { + $this->noteId = $noteId; + } + public function getNoteId() + { + return $this->noteId; + } + public function setProposalId($proposalId) + { + $this->proposalId = $proposalId; + } + public function getProposalId() + { + return $this->proposalId; + } + public function setProposalRevisionNumber($proposalRevisionNumber) + { + $this->proposalRevisionNumber = $proposalRevisionNumber; + } + public function getProposalRevisionNumber() + { + return $this->proposalRevisionNumber; + } + public function setTimestampMs($timestampMs) + { + $this->timestampMs = $timestampMs; + } + public function getTimestampMs() + { + return $this->timestampMs; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/PerformanceReport.php b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/PerformanceReport.php new file mode 100644 index 00000000..3d0b766c --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/PerformanceReport.php @@ -0,0 +1,220 @@ +bidRate = $bidRate; + } + public function getBidRate() + { + return $this->bidRate; + } + public function setBidRequestRate($bidRequestRate) + { + $this->bidRequestRate = $bidRequestRate; + } + public function getBidRequestRate() + { + return $this->bidRequestRate; + } + public function setCalloutStatusRate($calloutStatusRate) + { + $this->calloutStatusRate = $calloutStatusRate; + } + public function getCalloutStatusRate() + { + return $this->calloutStatusRate; + } + public function setCookieMatcherStatusRate($cookieMatcherStatusRate) + { + $this->cookieMatcherStatusRate = $cookieMatcherStatusRate; + } + public function getCookieMatcherStatusRate() + { + return $this->cookieMatcherStatusRate; + } + public function setCreativeStatusRate($creativeStatusRate) + { + $this->creativeStatusRate = $creativeStatusRate; + } + public function getCreativeStatusRate() + { + return $this->creativeStatusRate; + } + public function setFilteredBidRate($filteredBidRate) + { + $this->filteredBidRate = $filteredBidRate; + } + public function getFilteredBidRate() + { + return $this->filteredBidRate; + } + public function setHostedMatchStatusRate($hostedMatchStatusRate) + { + $this->hostedMatchStatusRate = $hostedMatchStatusRate; + } + public function getHostedMatchStatusRate() + { + return $this->hostedMatchStatusRate; + } + public function setInventoryMatchRate($inventoryMatchRate) + { + $this->inventoryMatchRate = $inventoryMatchRate; + } + public function getInventoryMatchRate() + { + return $this->inventoryMatchRate; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setLatency50thPercentile($latency50thPercentile) + { + $this->latency50thPercentile = $latency50thPercentile; + } + public function getLatency50thPercentile() + { + return $this->latency50thPercentile; + } + public function setLatency85thPercentile($latency85thPercentile) + { + $this->latency85thPercentile = $latency85thPercentile; + } + public function getLatency85thPercentile() + { + return $this->latency85thPercentile; + } + public function setLatency95thPercentile($latency95thPercentile) + { + $this->latency95thPercentile = $latency95thPercentile; + } + public function getLatency95thPercentile() + { + return $this->latency95thPercentile; + } + public function setNoQuotaInRegion($noQuotaInRegion) + { + $this->noQuotaInRegion = $noQuotaInRegion; + } + public function getNoQuotaInRegion() + { + return $this->noQuotaInRegion; + } + public function setOutOfQuota($outOfQuota) + { + $this->outOfQuota = $outOfQuota; + } + public function getOutOfQuota() + { + return $this->outOfQuota; + } + public function setPixelMatchRequests($pixelMatchRequests) + { + $this->pixelMatchRequests = $pixelMatchRequests; + } + public function getPixelMatchRequests() + { + return $this->pixelMatchRequests; + } + public function setPixelMatchResponses($pixelMatchResponses) + { + $this->pixelMatchResponses = $pixelMatchResponses; + } + public function getPixelMatchResponses() + { + return $this->pixelMatchResponses; + } + public function setQuotaConfiguredLimit($quotaConfiguredLimit) + { + $this->quotaConfiguredLimit = $quotaConfiguredLimit; + } + public function getQuotaConfiguredLimit() + { + return $this->quotaConfiguredLimit; + } + public function setQuotaThrottledLimit($quotaThrottledLimit) + { + $this->quotaThrottledLimit = $quotaThrottledLimit; + } + public function getQuotaThrottledLimit() + { + return $this->quotaThrottledLimit; + } + public function setRegion($region) + { + $this->region = $region; + } + public function getRegion() + { + return $this->region; + } + public function setSuccessfulRequestRate($successfulRequestRate) + { + $this->successfulRequestRate = $successfulRequestRate; + } + public function getSuccessfulRequestRate() + { + return $this->successfulRequestRate; + } + public function setTimestamp($timestamp) + { + $this->timestamp = $timestamp; + } + public function getTimestamp() + { + return $this->timestamp; + } + public function setUnsuccessfulRequestRate($unsuccessfulRequestRate) + { + $this->unsuccessfulRequestRate = $unsuccessfulRequestRate; + } + public function getUnsuccessfulRequestRate() + { + return $this->unsuccessfulRequestRate; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/PerformanceReportList.php b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/PerformanceReportList.php new file mode 100644 index 00000000..0ec2be9c --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/PerformanceReportList.php @@ -0,0 +1,41 @@ +kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setPerformanceReport($performanceReport) + { + $this->performanceReport = $performanceReport; + } + public function getPerformanceReport() + { + return $this->performanceReport; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/PretargetingConfig.php b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/PretargetingConfig.php new file mode 100644 index 00000000..f24a9df1 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/PretargetingConfig.php @@ -0,0 +1,260 @@ +billingId = $billingId; + } + public function getBillingId() + { + return $this->billingId; + } + public function setConfigId($configId) + { + $this->configId = $configId; + } + public function getConfigId() + { + return $this->configId; + } + public function setConfigName($configName) + { + $this->configName = $configName; + } + public function getConfigName() + { + return $this->configName; + } + public function setCreativeType($creativeType) + { + $this->creativeType = $creativeType; + } + public function getCreativeType() + { + return $this->creativeType; + } + public function setDimensions($dimensions) + { + $this->dimensions = $dimensions; + } + public function getDimensions() + { + return $this->dimensions; + } + public function setExcludedContentLabels($excludedContentLabels) + { + $this->excludedContentLabels = $excludedContentLabels; + } + public function getExcludedContentLabels() + { + return $this->excludedContentLabels; + } + public function setExcludedGeoCriteriaIds($excludedGeoCriteriaIds) + { + $this->excludedGeoCriteriaIds = $excludedGeoCriteriaIds; + } + public function getExcludedGeoCriteriaIds() + { + return $this->excludedGeoCriteriaIds; + } + public function setExcludedPlacements($excludedPlacements) + { + $this->excludedPlacements = $excludedPlacements; + } + public function getExcludedPlacements() + { + return $this->excludedPlacements; + } + public function setExcludedUserLists($excludedUserLists) + { + $this->excludedUserLists = $excludedUserLists; + } + public function getExcludedUserLists() + { + return $this->excludedUserLists; + } + public function setExcludedVerticals($excludedVerticals) + { + $this->excludedVerticals = $excludedVerticals; + } + public function getExcludedVerticals() + { + return $this->excludedVerticals; + } + public function setGeoCriteriaIds($geoCriteriaIds) + { + $this->geoCriteriaIds = $geoCriteriaIds; + } + public function getGeoCriteriaIds() + { + return $this->geoCriteriaIds; + } + public function setIsActive($isActive) + { + $this->isActive = $isActive; + } + public function getIsActive() + { + return $this->isActive; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setLanguages($languages) + { + $this->languages = $languages; + } + public function getLanguages() + { + return $this->languages; + } + public function setMinimumViewabilityDecile($minimumViewabilityDecile) + { + $this->minimumViewabilityDecile = $minimumViewabilityDecile; + } + public function getMinimumViewabilityDecile() + { + return $this->minimumViewabilityDecile; + } + public function setMobileCarriers($mobileCarriers) + { + $this->mobileCarriers = $mobileCarriers; + } + public function getMobileCarriers() + { + return $this->mobileCarriers; + } + public function setMobileDevices($mobileDevices) + { + $this->mobileDevices = $mobileDevices; + } + public function getMobileDevices() + { + return $this->mobileDevices; + } + public function setMobileOperatingSystemVersions($mobileOperatingSystemVersions) + { + $this->mobileOperatingSystemVersions = $mobileOperatingSystemVersions; + } + public function getMobileOperatingSystemVersions() + { + return $this->mobileOperatingSystemVersions; + } + public function setPlacements($placements) + { + $this->placements = $placements; + } + public function getPlacements() + { + return $this->placements; + } + public function setPlatforms($platforms) + { + $this->platforms = $platforms; + } + public function getPlatforms() + { + return $this->platforms; + } + public function setSupportedCreativeAttributes($supportedCreativeAttributes) + { + $this->supportedCreativeAttributes = $supportedCreativeAttributes; + } + public function getSupportedCreativeAttributes() + { + return $this->supportedCreativeAttributes; + } + public function setUserIdentifierDataRequired($userIdentifierDataRequired) + { + $this->userIdentifierDataRequired = $userIdentifierDataRequired; + } + public function getUserIdentifierDataRequired() + { + return $this->userIdentifierDataRequired; + } + public function setUserLists($userLists) + { + $this->userLists = $userLists; + } + public function getUserLists() + { + return $this->userLists; + } + public function setVendorTypes($vendorTypes) + { + $this->vendorTypes = $vendorTypes; + } + public function getVendorTypes() + { + return $this->vendorTypes; + } + public function setVerticals($verticals) + { + $this->verticals = $verticals; + } + public function getVerticals() + { + return $this->verticals; + } + public function setVideoPlayerSizes($videoPlayerSizes) + { + $this->videoPlayerSizes = $videoPlayerSizes; + } + public function getVideoPlayerSizes() + { + return $this->videoPlayerSizes; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/PretargetingConfigDimensions.php b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/PretargetingConfigDimensions.php new file mode 100644 index 00000000..0515ea6c --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/PretargetingConfigDimensions.php @@ -0,0 +1,39 @@ +height = $height; + } + public function getHeight() + { + return $this->height; + } + public function setWidth($width) + { + $this->width = $width; + } + public function getWidth() + { + return $this->width; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/PretargetingConfigExcludedPlacements.php b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/PretargetingConfigExcludedPlacements.php new file mode 100644 index 00000000..6ef80a65 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/PretargetingConfigExcludedPlacements.php @@ -0,0 +1,39 @@ +token = $token; + } + public function getToken() + { + return $this->token; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/PretargetingConfigList.php b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/PretargetingConfigList.php new file mode 100644 index 00000000..aaeda88b --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/PretargetingConfigList.php @@ -0,0 +1,41 @@ +items = $items; + } + public function getItems() + { + return $this->items; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/PretargetingConfigPlacements.php b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/PretargetingConfigPlacements.php new file mode 100644 index 00000000..f6394606 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/PretargetingConfigPlacements.php @@ -0,0 +1,39 @@ +token = $token; + } + public function getToken() + { + return $this->token; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/PretargetingConfigVideoPlayerSizes.php b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/PretargetingConfigVideoPlayerSizes.php new file mode 100644 index 00000000..f1b50101 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/PretargetingConfigVideoPlayerSizes.php @@ -0,0 +1,48 @@ +aspectRatio = $aspectRatio; + } + public function getAspectRatio() + { + return $this->aspectRatio; + } + public function setMinHeight($minHeight) + { + $this->minHeight = $minHeight; + } + public function getMinHeight() + { + return $this->minHeight; + } + public function setMinWidth($minWidth) + { + $this->minWidth = $minWidth; + } + public function getMinWidth() + { + return $this->minWidth; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/Price.php b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/Price.php new file mode 100644 index 00000000..876ecceb --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/Price.php @@ -0,0 +1,57 @@ +amountMicros = $amountMicros; + } + public function getAmountMicros() + { + return $this->amountMicros; + } + public function setCurrencyCode($currencyCode) + { + $this->currencyCode = $currencyCode; + } + public function getCurrencyCode() + { + return $this->currencyCode; + } + public function setExpectedCpmMicros($expectedCpmMicros) + { + $this->expectedCpmMicros = $expectedCpmMicros; + } + public function getExpectedCpmMicros() + { + return $this->expectedCpmMicros; + } + public function setPricingType($pricingType) + { + $this->pricingType = $pricingType; + } + public function getPricingType() + { + return $this->pricingType; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/PricePerBuyer.php b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/PricePerBuyer.php new file mode 100644 index 00000000..59018c9e --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/PricePerBuyer.php @@ -0,0 +1,50 @@ +auctionTier = $auctionTier; + } + public function getAuctionTier() + { + return $this->auctionTier; + } + public function setBuyer(Google_Service_AdExchangeBuyer_Buyer $buyer) + { + $this->buyer = $buyer; + } + public function getBuyer() + { + return $this->buyer; + } + public function setPrice(Google_Service_AdExchangeBuyer_Price $price) + { + $this->price = $price; + } + public function getPrice() + { + return $this->price; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/PrivateData.php b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/PrivateData.php new file mode 100644 index 00000000..c2b42db9 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/PrivateData.php @@ -0,0 +1,39 @@ +referenceId = $referenceId; + } + public function getReferenceId() + { + return $this->referenceId; + } + public function setReferencePayload($referencePayload) + { + $this->referencePayload = $referencePayload; + } + public function getReferencePayload() + { + return $this->referencePayload; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/Product.php b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/Product.php new file mode 100644 index 00000000..7b5c0a59 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/Product.php @@ -0,0 +1,245 @@ +creationTimeMs = $creationTimeMs; + } + public function getCreationTimeMs() + { + return $this->creationTimeMs; + } + public function setCreatorContacts($creatorContacts) + { + $this->creatorContacts = $creatorContacts; + } + public function getCreatorContacts() + { + return $this->creatorContacts; + } + public function setDeliveryControl(Google_Service_AdExchangeBuyer_DeliveryControl $deliveryControl) + { + $this->deliveryControl = $deliveryControl; + } + public function getDeliveryControl() + { + return $this->deliveryControl; + } + public function setFlightEndTimeMs($flightEndTimeMs) + { + $this->flightEndTimeMs = $flightEndTimeMs; + } + public function getFlightEndTimeMs() + { + return $this->flightEndTimeMs; + } + public function setFlightStartTimeMs($flightStartTimeMs) + { + $this->flightStartTimeMs = $flightStartTimeMs; + } + public function getFlightStartTimeMs() + { + return $this->flightStartTimeMs; + } + public function setHasCreatorSignedOff($hasCreatorSignedOff) + { + $this->hasCreatorSignedOff = $hasCreatorSignedOff; + } + public function getHasCreatorSignedOff() + { + return $this->hasCreatorSignedOff; + } + public function setInventorySource($inventorySource) + { + $this->inventorySource = $inventorySource; + } + public function getInventorySource() + { + return $this->inventorySource; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setLabels($labels) + { + $this->labels = $labels; + } + public function getLabels() + { + return $this->labels; + } + public function setLastUpdateTimeMs($lastUpdateTimeMs) + { + $this->lastUpdateTimeMs = $lastUpdateTimeMs; + } + public function getLastUpdateTimeMs() + { + return $this->lastUpdateTimeMs; + } + public function setLegacyOfferId($legacyOfferId) + { + $this->legacyOfferId = $legacyOfferId; + } + public function getLegacyOfferId() + { + return $this->legacyOfferId; + } + public function setMarketplacePublisherProfileId($marketplacePublisherProfileId) + { + $this->marketplacePublisherProfileId = $marketplacePublisherProfileId; + } + public function getMarketplacePublisherProfileId() + { + return $this->marketplacePublisherProfileId; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setPrivateAuctionId($privateAuctionId) + { + $this->privateAuctionId = $privateAuctionId; + } + public function getPrivateAuctionId() + { + return $this->privateAuctionId; + } + public function setProductId($productId) + { + $this->productId = $productId; + } + public function getProductId() + { + return $this->productId; + } + public function setPublisherProfileId($publisherProfileId) + { + $this->publisherProfileId = $publisherProfileId; + } + public function getPublisherProfileId() + { + return $this->publisherProfileId; + } + public function setPublisherProvidedForecast(Google_Service_AdExchangeBuyer_PublisherProvidedForecast $publisherProvidedForecast) + { + $this->publisherProvidedForecast = $publisherProvidedForecast; + } + public function getPublisherProvidedForecast() + { + return $this->publisherProvidedForecast; + } + public function setRevisionNumber($revisionNumber) + { + $this->revisionNumber = $revisionNumber; + } + public function getRevisionNumber() + { + return $this->revisionNumber; + } + public function setSeller(Google_Service_AdExchangeBuyer_Seller $seller) + { + $this->seller = $seller; + } + public function getSeller() + { + return $this->seller; + } + public function setSharedTargetings($sharedTargetings) + { + $this->sharedTargetings = $sharedTargetings; + } + public function getSharedTargetings() + { + return $this->sharedTargetings; + } + public function setState($state) + { + $this->state = $state; + } + public function getState() + { + return $this->state; + } + public function setSyndicationProduct($syndicationProduct) + { + $this->syndicationProduct = $syndicationProduct; + } + public function getSyndicationProduct() + { + return $this->syndicationProduct; + } + public function setTerms(Google_Service_AdExchangeBuyer_DealTerms $terms) + { + $this->terms = $terms; + } + public function getTerms() + { + return $this->terms; + } + public function setWebPropertyCode($webPropertyCode) + { + $this->webPropertyCode = $webPropertyCode; + } + public function getWebPropertyCode() + { + return $this->webPropertyCode; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/Proposal.php b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/Proposal.php new file mode 100644 index 00000000..e6192855 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/Proposal.php @@ -0,0 +1,236 @@ +billedBuyer = $billedBuyer; + } + public function getBilledBuyer() + { + return $this->billedBuyer; + } + public function setBuyer(Google_Service_AdExchangeBuyer_Buyer $buyer) + { + $this->buyer = $buyer; + } + public function getBuyer() + { + return $this->buyer; + } + public function setBuyerContacts($buyerContacts) + { + $this->buyerContacts = $buyerContacts; + } + public function getBuyerContacts() + { + return $this->buyerContacts; + } + public function setBuyerPrivateData(Google_Service_AdExchangeBuyer_PrivateData $buyerPrivateData) + { + $this->buyerPrivateData = $buyerPrivateData; + } + public function getBuyerPrivateData() + { + return $this->buyerPrivateData; + } + public function setDbmAdvertiserIds($dbmAdvertiserIds) + { + $this->dbmAdvertiserIds = $dbmAdvertiserIds; + } + public function getDbmAdvertiserIds() + { + return $this->dbmAdvertiserIds; + } + public function setHasBuyerSignedOff($hasBuyerSignedOff) + { + $this->hasBuyerSignedOff = $hasBuyerSignedOff; + } + public function getHasBuyerSignedOff() + { + return $this->hasBuyerSignedOff; + } + public function setHasSellerSignedOff($hasSellerSignedOff) + { + $this->hasSellerSignedOff = $hasSellerSignedOff; + } + public function getHasSellerSignedOff() + { + return $this->hasSellerSignedOff; + } + public function setInventorySource($inventorySource) + { + $this->inventorySource = $inventorySource; + } + public function getInventorySource() + { + return $this->inventorySource; + } + public function setIsRenegotiating($isRenegotiating) + { + $this->isRenegotiating = $isRenegotiating; + } + public function getIsRenegotiating() + { + return $this->isRenegotiating; + } + public function setIsSetupComplete($isSetupComplete) + { + $this->isSetupComplete = $isSetupComplete; + } + public function getIsSetupComplete() + { + return $this->isSetupComplete; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setLabels($labels) + { + $this->labels = $labels; + } + public function getLabels() + { + return $this->labels; + } + public function setLastUpdaterOrCommentorRole($lastUpdaterOrCommentorRole) + { + $this->lastUpdaterOrCommentorRole = $lastUpdaterOrCommentorRole; + } + public function getLastUpdaterOrCommentorRole() + { + return $this->lastUpdaterOrCommentorRole; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setNegotiationId($negotiationId) + { + $this->negotiationId = $negotiationId; + } + public function getNegotiationId() + { + return $this->negotiationId; + } + public function setOriginatorRole($originatorRole) + { + $this->originatorRole = $originatorRole; + } + public function getOriginatorRole() + { + return $this->originatorRole; + } + public function setPrivateAuctionId($privateAuctionId) + { + $this->privateAuctionId = $privateAuctionId; + } + public function getPrivateAuctionId() + { + return $this->privateAuctionId; + } + public function setProposalId($proposalId) + { + $this->proposalId = $proposalId; + } + public function getProposalId() + { + return $this->proposalId; + } + public function setProposalState($proposalState) + { + $this->proposalState = $proposalState; + } + public function getProposalState() + { + return $this->proposalState; + } + public function setRevisionNumber($revisionNumber) + { + $this->revisionNumber = $revisionNumber; + } + public function getRevisionNumber() + { + return $this->revisionNumber; + } + public function setRevisionTimeMs($revisionTimeMs) + { + $this->revisionTimeMs = $revisionTimeMs; + } + public function getRevisionTimeMs() + { + return $this->revisionTimeMs; + } + public function setSeller(Google_Service_AdExchangeBuyer_Seller $seller) + { + $this->seller = $seller; + } + public function getSeller() + { + return $this->seller; + } + public function setSellerContacts($sellerContacts) + { + $this->sellerContacts = $sellerContacts; + } + public function getSellerContacts() + { + return $this->sellerContacts; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/PublisherProfileApiProto.php b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/PublisherProfileApiProto.php new file mode 100644 index 00000000..b05485e0 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/PublisherProfileApiProto.php @@ -0,0 +1,231 @@ +accountId = $accountId; + } + public function getAccountId() + { + return $this->accountId; + } + public function setAudience($audience) + { + $this->audience = $audience; + } + public function getAudience() + { + return $this->audience; + } + public function setBuyerPitchStatement($buyerPitchStatement) + { + $this->buyerPitchStatement = $buyerPitchStatement; + } + public function getBuyerPitchStatement() + { + return $this->buyerPitchStatement; + } + public function setDirectContact($directContact) + { + $this->directContact = $directContact; + } + public function getDirectContact() + { + return $this->directContact; + } + public function setExchange($exchange) + { + $this->exchange = $exchange; + } + public function getExchange() + { + return $this->exchange; + } + public function setGooglePlusLink($googlePlusLink) + { + $this->googlePlusLink = $googlePlusLink; + } + public function getGooglePlusLink() + { + return $this->googlePlusLink; + } + public function setIsParent($isParent) + { + $this->isParent = $isParent; + } + public function getIsParent() + { + return $this->isParent; + } + public function setIsPublished($isPublished) + { + $this->isPublished = $isPublished; + } + public function getIsPublished() + { + return $this->isPublished; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setLogoUrl($logoUrl) + { + $this->logoUrl = $logoUrl; + } + public function getLogoUrl() + { + return $this->logoUrl; + } + public function setMediaKitLink($mediaKitLink) + { + $this->mediaKitLink = $mediaKitLink; + } + public function getMediaKitLink() + { + return $this->mediaKitLink; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setOverview($overview) + { + $this->overview = $overview; + } + public function getOverview() + { + return $this->overview; + } + public function setProfileId($profileId) + { + $this->profileId = $profileId; + } + public function getProfileId() + { + return $this->profileId; + } + public function setProgrammaticContact($programmaticContact) + { + $this->programmaticContact = $programmaticContact; + } + public function getProgrammaticContact() + { + return $this->programmaticContact; + } + public function setPublisherDomains($publisherDomains) + { + $this->publisherDomains = $publisherDomains; + } + public function getPublisherDomains() + { + return $this->publisherDomains; + } + public function setPublisherProfileId($publisherProfileId) + { + $this->publisherProfileId = $publisherProfileId; + } + public function getPublisherProfileId() + { + return $this->publisherProfileId; + } + public function setPublisherProvidedForecast(Google_Service_AdExchangeBuyer_PublisherProvidedForecast $publisherProvidedForecast) + { + $this->publisherProvidedForecast = $publisherProvidedForecast; + } + public function getPublisherProvidedForecast() + { + return $this->publisherProvidedForecast; + } + public function setRateCardInfoLink($rateCardInfoLink) + { + $this->rateCardInfoLink = $rateCardInfoLink; + } + public function getRateCardInfoLink() + { + return $this->rateCardInfoLink; + } + public function setSamplePageLink($samplePageLink) + { + $this->samplePageLink = $samplePageLink; + } + public function getSamplePageLink() + { + return $this->samplePageLink; + } + public function setSeller(Google_Service_AdExchangeBuyer_Seller $seller) + { + $this->seller = $seller; + } + public function getSeller() + { + return $this->seller; + } + public function setState($state) + { + $this->state = $state; + } + public function getState() + { + return $this->state; + } + public function setTopHeadlines($topHeadlines) + { + $this->topHeadlines = $topHeadlines; + } + public function getTopHeadlines() + { + return $this->topHeadlines; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/PublisherProvidedForecast.php b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/PublisherProvidedForecast.php new file mode 100644 index 00000000..d97208bf --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/PublisherProvidedForecast.php @@ -0,0 +1,50 @@ +dimensions = $dimensions; + } + public function getDimensions() + { + return $this->dimensions; + } + public function setWeeklyImpressions($weeklyImpressions) + { + $this->weeklyImpressions = $weeklyImpressions; + } + public function getWeeklyImpressions() + { + return $this->weeklyImpressions; + } + public function setWeeklyUniques($weeklyUniques) + { + $this->weeklyUniques = $weeklyUniques; + } + public function getWeeklyUniques() + { + return $this->weeklyUniques; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/Resource/Accounts.php b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/Resource/Accounts.php new file mode 100644 index 00000000..1d53f571 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/Resource/Accounts.php @@ -0,0 +1,88 @@ + + * $adexchangebuyerService = new Google_Service_AdExchangeBuyer(...); + * $accounts = $adexchangebuyerService->accounts; + * + */ +class Google_Service_AdExchangeBuyer_Resource_Accounts extends Google_Service_Resource +{ + /** + * Gets one account by ID. (accounts.get) + * + * @param int $id The account id + * @param array $optParams Optional parameters. + * @return Google_Service_AdExchangeBuyer_Account + */ + public function get($id, $optParams = array()) + { + $params = array('id' => $id); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_AdExchangeBuyer_Account"); + } + /** + * Retrieves the authenticated user's list of accounts. (accounts.listAccounts) + * + * @param array $optParams Optional parameters. + * @return Google_Service_AdExchangeBuyer_AccountsList + */ + public function listAccounts($optParams = array()) + { + $params = array(); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_AdExchangeBuyer_AccountsList"); + } + /** + * Updates an existing account. This method supports patch semantics. + * (accounts.patch) + * + * @param int $id The account id + * @param Google_Service_AdExchangeBuyer_Account $postBody + * @param array $optParams Optional parameters. + * + * @opt_param bool confirmUnsafeAccountChange Confirmation for erasing bidder + * and cookie matching urls. + * @return Google_Service_AdExchangeBuyer_Account + */ + public function patch($id, Google_Service_AdExchangeBuyer_Account $postBody, $optParams = array()) + { + $params = array('id' => $id, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('patch', array($params), "Google_Service_AdExchangeBuyer_Account"); + } + /** + * Updates an existing account. (accounts.update) + * + * @param int $id The account id + * @param Google_Service_AdExchangeBuyer_Account $postBody + * @param array $optParams Optional parameters. + * + * @opt_param bool confirmUnsafeAccountChange Confirmation for erasing bidder + * and cookie matching urls. + * @return Google_Service_AdExchangeBuyer_Account + */ + public function update($id, Google_Service_AdExchangeBuyer_Account $postBody, $optParams = array()) + { + $params = array('id' => $id, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('update', array($params), "Google_Service_AdExchangeBuyer_Account"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/Resource/BillingInfo.php b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/Resource/BillingInfo.php new file mode 100644 index 00000000..a531125e --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/Resource/BillingInfo.php @@ -0,0 +1,55 @@ + + * $adexchangebuyerService = new Google_Service_AdExchangeBuyer(...); + * $billingInfo = $adexchangebuyerService->billingInfo; + * + */ +class Google_Service_AdExchangeBuyer_Resource_BillingInfo extends Google_Service_Resource +{ + /** + * Returns the billing information for one account specified by account ID. + * (billingInfo.get) + * + * @param int $accountId The account id. + * @param array $optParams Optional parameters. + * @return Google_Service_AdExchangeBuyer_BillingInfo + */ + public function get($accountId, $optParams = array()) + { + $params = array('accountId' => $accountId); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_AdExchangeBuyer_BillingInfo"); + } + /** + * Retrieves a list of billing information for all accounts of the authenticated + * user. (billingInfo.listBillingInfo) + * + * @param array $optParams Optional parameters. + * @return Google_Service_AdExchangeBuyer_BillingInfoList + */ + public function listBillingInfo($optParams = array()) + { + $params = array(); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_AdExchangeBuyer_BillingInfoList"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/Resource/Budget.php b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/Resource/Budget.php new file mode 100644 index 00000000..26efc8e0 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/Resource/Budget.php @@ -0,0 +1,81 @@ + + * $adexchangebuyerService = new Google_Service_AdExchangeBuyer(...); + * $budget = $adexchangebuyerService->budget; + * + */ +class Google_Service_AdExchangeBuyer_Resource_Budget extends Google_Service_Resource +{ + /** + * Returns the budget information for the adgroup specified by the accountId and + * billingId. (budget.get) + * + * @param string $accountId The account id to get the budget information for. + * @param string $billingId The billing id to get the budget information for. + * @param array $optParams Optional parameters. + * @return Google_Service_AdExchangeBuyer_Budget + */ + public function get($accountId, $billingId, $optParams = array()) + { + $params = array('accountId' => $accountId, 'billingId' => $billingId); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_AdExchangeBuyer_Budget"); + } + /** + * Updates the budget amount for the budget of the adgroup specified by the + * accountId and billingId, with the budget amount in the request. This method + * supports patch semantics. (budget.patch) + * + * @param string $accountId The account id associated with the budget being + * updated. + * @param string $billingId The billing id associated with the budget being + * updated. + * @param Google_Service_AdExchangeBuyer_Budget $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_AdExchangeBuyer_Budget + */ + public function patch($accountId, $billingId, Google_Service_AdExchangeBuyer_Budget $postBody, $optParams = array()) + { + $params = array('accountId' => $accountId, 'billingId' => $billingId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('patch', array($params), "Google_Service_AdExchangeBuyer_Budget"); + } + /** + * Updates the budget amount for the budget of the adgroup specified by the + * accountId and billingId, with the budget amount in the request. + * (budget.update) + * + * @param string $accountId The account id associated with the budget being + * updated. + * @param string $billingId The billing id associated with the budget being + * updated. + * @param Google_Service_AdExchangeBuyer_Budget $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_AdExchangeBuyer_Budget + */ + public function update($accountId, $billingId, Google_Service_AdExchangeBuyer_Budget $postBody, $optParams = array()) + { + $params = array('accountId' => $accountId, 'billingId' => $billingId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('update', array($params), "Google_Service_AdExchangeBuyer_Budget"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/Resource/Creatives.php b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/Resource/Creatives.php new file mode 100644 index 00000000..fa6c0c40 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/Resource/Creatives.php @@ -0,0 +1,127 @@ + + * $adexchangebuyerService = new Google_Service_AdExchangeBuyer(...); + * $creatives = $adexchangebuyerService->creatives; + * + */ +class Google_Service_AdExchangeBuyer_Resource_Creatives extends Google_Service_Resource +{ + /** + * Add a deal id association for the creative. (creatives.addDeal) + * + * @param int $accountId The id for the account that will serve this creative. + * @param string $buyerCreativeId The buyer-specific id for this creative. + * @param string $dealId The id of the deal id to associate with this creative. + * @param array $optParams Optional parameters. + */ + public function addDeal($accountId, $buyerCreativeId, $dealId, $optParams = array()) + { + $params = array('accountId' => $accountId, 'buyerCreativeId' => $buyerCreativeId, 'dealId' => $dealId); + $params = array_merge($params, $optParams); + return $this->call('addDeal', array($params)); + } + /** + * Gets the status for a single creative. A creative will be available 30-40 + * minutes after submission. (creatives.get) + * + * @param int $accountId The id for the account that will serve this creative. + * @param string $buyerCreativeId The buyer-specific id for this creative. + * @param array $optParams Optional parameters. + * @return Google_Service_AdExchangeBuyer_Creative + */ + public function get($accountId, $buyerCreativeId, $optParams = array()) + { + $params = array('accountId' => $accountId, 'buyerCreativeId' => $buyerCreativeId); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_AdExchangeBuyer_Creative"); + } + /** + * Submit a new creative. (creatives.insert) + * + * @param Google_Service_AdExchangeBuyer_Creative $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_AdExchangeBuyer_Creative + */ + public function insert(Google_Service_AdExchangeBuyer_Creative $postBody, $optParams = array()) + { + $params = array('postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('insert', array($params), "Google_Service_AdExchangeBuyer_Creative"); + } + /** + * Retrieves a list of the authenticated user's active creatives. A creative + * will be available 30-40 minutes after submission. (creatives.listCreatives) + * + * @param array $optParams Optional parameters. + * + * @opt_param int accountId When specified, only creatives for the given account + * ids are returned. + * @opt_param string buyerCreativeId When specified, only creatives for the + * given buyer creative ids are returned. + * @opt_param string dealsStatusFilter When specified, only creatives having the + * given deals status are returned. + * @opt_param string maxResults Maximum number of entries returned on one result + * page. If not set, the default is 100. Optional. + * @opt_param string openAuctionStatusFilter When specified, only creatives + * having the given open auction status are returned. + * @opt_param string pageToken A continuation token, used to page through ad + * clients. To retrieve the next page, set this parameter to the value of + * "nextPageToken" from the previous response. Optional. + * @return Google_Service_AdExchangeBuyer_CreativesList + */ + public function listCreatives($optParams = array()) + { + $params = array(); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_AdExchangeBuyer_CreativesList"); + } + /** + * Lists the external deal ids associated with the creative. + * (creatives.listDeals) + * + * @param int $accountId The id for the account that will serve this creative. + * @param string $buyerCreativeId The buyer-specific id for this creative. + * @param array $optParams Optional parameters. + * @return Google_Service_AdExchangeBuyer_CreativeDealIds + */ + public function listDeals($accountId, $buyerCreativeId, $optParams = array()) + { + $params = array('accountId' => $accountId, 'buyerCreativeId' => $buyerCreativeId); + $params = array_merge($params, $optParams); + return $this->call('listDeals', array($params), "Google_Service_AdExchangeBuyer_CreativeDealIds"); + } + /** + * Remove a deal id associated with the creative. (creatives.removeDeal) + * + * @param int $accountId The id for the account that will serve this creative. + * @param string $buyerCreativeId The buyer-specific id for this creative. + * @param string $dealId The id of the deal id to disassociate with this + * creative. + * @param array $optParams Optional parameters. + */ + public function removeDeal($accountId, $buyerCreativeId, $dealId, $optParams = array()) + { + $params = array('accountId' => $accountId, 'buyerCreativeId' => $buyerCreativeId, 'dealId' => $dealId); + $params = array_merge($params, $optParams); + return $this->call('removeDeal', array($params)); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/Resource/Marketplacedeals.php b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/Resource/Marketplacedeals.php new file mode 100644 index 00000000..6dff34b7 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/Resource/Marketplacedeals.php @@ -0,0 +1,88 @@ + + * $adexchangebuyerService = new Google_Service_AdExchangeBuyer(...); + * $marketplacedeals = $adexchangebuyerService->marketplacedeals; + * + */ +class Google_Service_AdExchangeBuyer_Resource_Marketplacedeals extends Google_Service_Resource +{ + /** + * Delete the specified deals from the proposal (marketplacedeals.delete) + * + * @param string $proposalId The proposalId to delete deals from. + * @param Google_Service_AdExchangeBuyer_DeleteOrderDealsRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_AdExchangeBuyer_DeleteOrderDealsResponse + */ + public function delete($proposalId, Google_Service_AdExchangeBuyer_DeleteOrderDealsRequest $postBody, $optParams = array()) + { + $params = array('proposalId' => $proposalId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params), "Google_Service_AdExchangeBuyer_DeleteOrderDealsResponse"); + } + /** + * Add new deals for the specified proposal (marketplacedeals.insert) + * + * @param string $proposalId proposalId for which deals need to be added. + * @param Google_Service_AdExchangeBuyer_AddOrderDealsRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_AdExchangeBuyer_AddOrderDealsResponse + */ + public function insert($proposalId, Google_Service_AdExchangeBuyer_AddOrderDealsRequest $postBody, $optParams = array()) + { + $params = array('proposalId' => $proposalId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('insert', array($params), "Google_Service_AdExchangeBuyer_AddOrderDealsResponse"); + } + /** + * List all the deals for a given proposal + * (marketplacedeals.listMarketplacedeals) + * + * @param string $proposalId The proposalId to get deals for. To search across + * all proposals specify order_id = '-' as part of the URL. + * @param array $optParams Optional parameters. + * + * @opt_param string pqlQuery Query string to retrieve specific deals. + * @return Google_Service_AdExchangeBuyer_GetOrderDealsResponse + */ + public function listMarketplacedeals($proposalId, $optParams = array()) + { + $params = array('proposalId' => $proposalId); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_AdExchangeBuyer_GetOrderDealsResponse"); + } + /** + * Replaces all the deals in the proposal with the passed in deals + * (marketplacedeals.update) + * + * @param string $proposalId The proposalId to edit deals on. + * @param Google_Service_AdExchangeBuyer_EditAllOrderDealsRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_AdExchangeBuyer_EditAllOrderDealsResponse + */ + public function update($proposalId, Google_Service_AdExchangeBuyer_EditAllOrderDealsRequest $postBody, $optParams = array()) + { + $params = array('proposalId' => $proposalId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('update', array($params), "Google_Service_AdExchangeBuyer_EditAllOrderDealsResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/Resource/Marketplacenotes.php b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/Resource/Marketplacenotes.php new file mode 100644 index 00000000..dfd9ca8f --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/Resource/Marketplacenotes.php @@ -0,0 +1,61 @@ + + * $adexchangebuyerService = new Google_Service_AdExchangeBuyer(...); + * $marketplacenotes = $adexchangebuyerService->marketplacenotes; + * + */ +class Google_Service_AdExchangeBuyer_Resource_Marketplacenotes extends Google_Service_Resource +{ + /** + * Add notes to the proposal (marketplacenotes.insert) + * + * @param string $proposalId The proposalId to add notes for. + * @param Google_Service_AdExchangeBuyer_AddOrderNotesRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_AdExchangeBuyer_AddOrderNotesResponse + */ + public function insert($proposalId, Google_Service_AdExchangeBuyer_AddOrderNotesRequest $postBody, $optParams = array()) + { + $params = array('proposalId' => $proposalId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('insert', array($params), "Google_Service_AdExchangeBuyer_AddOrderNotesResponse"); + } + /** + * Get all the notes associated with a proposal + * (marketplacenotes.listMarketplacenotes) + * + * @param string $proposalId The proposalId to get notes for. To search across + * all proposals specify order_id = '-' as part of the URL. + * @param array $optParams Optional parameters. + * + * @opt_param string pqlQuery Query string to retrieve specific notes. To search + * the text contents of notes, please use syntax like "WHERE note.note = "foo" + * or "WHERE note.note LIKE "%bar%" + * @return Google_Service_AdExchangeBuyer_GetOrderNotesResponse + */ + public function listMarketplacenotes($proposalId, $optParams = array()) + { + $params = array('proposalId' => $proposalId); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_AdExchangeBuyer_GetOrderNotesResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/Resource/Marketplaceprivateauction.php b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/Resource/Marketplaceprivateauction.php new file mode 100644 index 00000000..bc7dbc96 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/Resource/Marketplaceprivateauction.php @@ -0,0 +1,42 @@ + + * $adexchangebuyerService = new Google_Service_AdExchangeBuyer(...); + * $marketplaceprivateauction = $adexchangebuyerService->marketplaceprivateauction; + * + */ +class Google_Service_AdExchangeBuyer_Resource_Marketplaceprivateauction extends Google_Service_Resource +{ + /** + * Update a given private auction proposal + * (marketplaceprivateauction.updateproposal) + * + * @param string $privateAuctionId The private auction id to be updated. + * @param Google_Service_AdExchangeBuyer_UpdatePrivateAuctionProposalRequest $postBody + * @param array $optParams Optional parameters. + */ + public function updateproposal($privateAuctionId, Google_Service_AdExchangeBuyer_UpdatePrivateAuctionProposalRequest $postBody, $optParams = array()) + { + $params = array('privateAuctionId' => $privateAuctionId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('updateproposal', array($params)); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/Resource/PerformanceReport.php b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/Resource/PerformanceReport.php new file mode 100644 index 00000000..4198794d --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/Resource/PerformanceReport.php @@ -0,0 +1,52 @@ + + * $adexchangebuyerService = new Google_Service_AdExchangeBuyer(...); + * $performanceReport = $adexchangebuyerService->performanceReport; + * + */ +class Google_Service_AdExchangeBuyer_Resource_PerformanceReport extends Google_Service_Resource +{ + /** + * Retrieves the authenticated user's list of performance metrics. + * (performanceReport.listPerformanceReport) + * + * @param string $accountId The account id to get the reports. + * @param string $endDateTime The end time of the report in ISO 8601 timestamp + * format using UTC. + * @param string $startDateTime The start time of the report in ISO 8601 + * timestamp format using UTC. + * @param array $optParams Optional parameters. + * + * @opt_param string maxResults Maximum number of entries returned on one result + * page. If not set, the default is 100. Optional. + * @opt_param string pageToken A continuation token, used to page through + * performance reports. To retrieve the next page, set this parameter to the + * value of "nextPageToken" from the previous response. Optional. + * @return Google_Service_AdExchangeBuyer_PerformanceReportList + */ + public function listPerformanceReport($accountId, $endDateTime, $startDateTime, $optParams = array()) + { + $params = array('accountId' => $accountId, 'endDateTime' => $endDateTime, 'startDateTime' => $startDateTime); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_AdExchangeBuyer_PerformanceReportList"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/Resource/PretargetingConfig.php b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/Resource/PretargetingConfig.php new file mode 100644 index 00000000..9d525076 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/Resource/PretargetingConfig.php @@ -0,0 +1,118 @@ + + * $adexchangebuyerService = new Google_Service_AdExchangeBuyer(...); + * $pretargetingConfig = $adexchangebuyerService->pretargetingConfig; + * + */ +class Google_Service_AdExchangeBuyer_Resource_PretargetingConfig extends Google_Service_Resource +{ + /** + * Deletes an existing pretargeting config. (pretargetingConfig.delete) + * + * @param string $accountId The account id to delete the pretargeting config + * for. + * @param string $configId The specific id of the configuration to delete. + * @param array $optParams Optional parameters. + */ + public function delete($accountId, $configId, $optParams = array()) + { + $params = array('accountId' => $accountId, 'configId' => $configId); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params)); + } + /** + * Gets a specific pretargeting configuration (pretargetingConfig.get) + * + * @param string $accountId The account id to get the pretargeting config for. + * @param string $configId The specific id of the configuration to retrieve. + * @param array $optParams Optional parameters. + * @return Google_Service_AdExchangeBuyer_PretargetingConfig + */ + public function get($accountId, $configId, $optParams = array()) + { + $params = array('accountId' => $accountId, 'configId' => $configId); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_AdExchangeBuyer_PretargetingConfig"); + } + /** + * Inserts a new pretargeting configuration. (pretargetingConfig.insert) + * + * @param string $accountId The account id to insert the pretargeting config + * for. + * @param Google_Service_AdExchangeBuyer_PretargetingConfig $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_AdExchangeBuyer_PretargetingConfig + */ + public function insert($accountId, Google_Service_AdExchangeBuyer_PretargetingConfig $postBody, $optParams = array()) + { + $params = array('accountId' => $accountId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('insert', array($params), "Google_Service_AdExchangeBuyer_PretargetingConfig"); + } + /** + * Retrieves a list of the authenticated user's pretargeting configurations. + * (pretargetingConfig.listPretargetingConfig) + * + * @param string $accountId The account id to get the pretargeting configs for. + * @param array $optParams Optional parameters. + * @return Google_Service_AdExchangeBuyer_PretargetingConfigList + */ + public function listPretargetingConfig($accountId, $optParams = array()) + { + $params = array('accountId' => $accountId); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_AdExchangeBuyer_PretargetingConfigList"); + } + /** + * Updates an existing pretargeting config. This method supports patch + * semantics. (pretargetingConfig.patch) + * + * @param string $accountId The account id to update the pretargeting config + * for. + * @param string $configId The specific id of the configuration to update. + * @param Google_Service_AdExchangeBuyer_PretargetingConfig $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_AdExchangeBuyer_PretargetingConfig + */ + public function patch($accountId, $configId, Google_Service_AdExchangeBuyer_PretargetingConfig $postBody, $optParams = array()) + { + $params = array('accountId' => $accountId, 'configId' => $configId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('patch', array($params), "Google_Service_AdExchangeBuyer_PretargetingConfig"); + } + /** + * Updates an existing pretargeting config. (pretargetingConfig.update) + * + * @param string $accountId The account id to update the pretargeting config + * for. + * @param string $configId The specific id of the configuration to update. + * @param Google_Service_AdExchangeBuyer_PretargetingConfig $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_AdExchangeBuyer_PretargetingConfig + */ + public function update($accountId, $configId, Google_Service_AdExchangeBuyer_PretargetingConfig $postBody, $optParams = array()) + { + $params = array('accountId' => $accountId, 'configId' => $configId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('update', array($params), "Google_Service_AdExchangeBuyer_PretargetingConfig"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/Resource/Products.php b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/Resource/Products.php new file mode 100644 index 00000000..cbbf161b --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/Resource/Products.php @@ -0,0 +1,55 @@ + + * $adexchangebuyerService = new Google_Service_AdExchangeBuyer(...); + * $products = $adexchangebuyerService->products; + * + */ +class Google_Service_AdExchangeBuyer_Resource_Products extends Google_Service_Resource +{ + /** + * Gets the requested product by id. (products.get) + * + * @param string $productId The id for the product to get the head revision for. + * @param array $optParams Optional parameters. + * @return Google_Service_AdExchangeBuyer_Product + */ + public function get($productId, $optParams = array()) + { + $params = array('productId' => $productId); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_AdExchangeBuyer_Product"); + } + /** + * Gets the requested product. (products.search) + * + * @param array $optParams Optional parameters. + * + * @opt_param string pqlQuery The pql query used to query for products. + * @return Google_Service_AdExchangeBuyer_GetOffersResponse + */ + public function search($optParams = array()) + { + $params = array(); + $params = array_merge($params, $optParams); + return $this->call('search', array($params), "Google_Service_AdExchangeBuyer_GetOffersResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/Resource/Proposals.php b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/Resource/Proposals.php new file mode 100644 index 00000000..63c4a03e --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/Resource/Proposals.php @@ -0,0 +1,122 @@ + + * $adexchangebuyerService = new Google_Service_AdExchangeBuyer(...); + * $proposals = $adexchangebuyerService->proposals; + * + */ +class Google_Service_AdExchangeBuyer_Resource_Proposals extends Google_Service_Resource +{ + /** + * Get a proposal given its id (proposals.get) + * + * @param string $proposalId Id of the proposal to retrieve. + * @param array $optParams Optional parameters. + * @return Google_Service_AdExchangeBuyer_Proposal + */ + public function get($proposalId, $optParams = array()) + { + $params = array('proposalId' => $proposalId); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_AdExchangeBuyer_Proposal"); + } + /** + * Create the given list of proposals (proposals.insert) + * + * @param Google_Service_AdExchangeBuyer_CreateOrdersRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_AdExchangeBuyer_CreateOrdersResponse + */ + public function insert(Google_Service_AdExchangeBuyer_CreateOrdersRequest $postBody, $optParams = array()) + { + $params = array('postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('insert', array($params), "Google_Service_AdExchangeBuyer_CreateOrdersResponse"); + } + /** + * Update the given proposal. This method supports patch semantics. + * (proposals.patch) + * + * @param string $proposalId The proposal id to update. + * @param string $revisionNumber The last known revision number to update. If + * the head revision in the marketplace database has since changed, an error + * will be thrown. The caller should then fetch the latest proposal at head + * revision and retry the update at that revision. + * @param string $updateAction The proposed action to take on the proposal. This + * field is required and it must be set when updating a proposal. + * @param Google_Service_AdExchangeBuyer_Proposal $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_AdExchangeBuyer_Proposal + */ + public function patch($proposalId, $revisionNumber, $updateAction, Google_Service_AdExchangeBuyer_Proposal $postBody, $optParams = array()) + { + $params = array('proposalId' => $proposalId, 'revisionNumber' => $revisionNumber, 'updateAction' => $updateAction, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('patch', array($params), "Google_Service_AdExchangeBuyer_Proposal"); + } + /** + * Search for proposals using pql query (proposals.search) + * + * @param array $optParams Optional parameters. + * + * @opt_param string pqlQuery Query string to retrieve specific proposals. + * @return Google_Service_AdExchangeBuyer_GetOrdersResponse + */ + public function search($optParams = array()) + { + $params = array(); + $params = array_merge($params, $optParams); + return $this->call('search', array($params), "Google_Service_AdExchangeBuyer_GetOrdersResponse"); + } + /** + * Update the given proposal to indicate that setup has been completed. + * (proposals.setupcomplete) + * + * @param string $proposalId The proposal id for which the setup is complete + * @param array $optParams Optional parameters. + */ + public function setupcomplete($proposalId, $optParams = array()) + { + $params = array('proposalId' => $proposalId); + $params = array_merge($params, $optParams); + return $this->call('setupcomplete', array($params)); + } + /** + * Update the given proposal (proposals.update) + * + * @param string $proposalId The proposal id to update. + * @param string $revisionNumber The last known revision number to update. If + * the head revision in the marketplace database has since changed, an error + * will be thrown. The caller should then fetch the latest proposal at head + * revision and retry the update at that revision. + * @param string $updateAction The proposed action to take on the proposal. This + * field is required and it must be set when updating a proposal. + * @param Google_Service_AdExchangeBuyer_Proposal $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_AdExchangeBuyer_Proposal + */ + public function update($proposalId, $revisionNumber, $updateAction, Google_Service_AdExchangeBuyer_Proposal $postBody, $optParams = array()) + { + $params = array('proposalId' => $proposalId, 'revisionNumber' => $revisionNumber, 'updateAction' => $updateAction, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('update', array($params), "Google_Service_AdExchangeBuyer_Proposal"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/Resource/Pubprofiles.php b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/Resource/Pubprofiles.php new file mode 100644 index 00000000..b3fa00bf --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/Resource/Pubprofiles.php @@ -0,0 +1,42 @@ + + * $adexchangebuyerService = new Google_Service_AdExchangeBuyer(...); + * $pubprofiles = $adexchangebuyerService->pubprofiles; + * + */ +class Google_Service_AdExchangeBuyer_Resource_Pubprofiles extends Google_Service_Resource +{ + /** + * Gets the requested publisher profile(s) by publisher accountId. + * (pubprofiles.listPubprofiles) + * + * @param int $accountId The accountId of the publisher to get profiles for. + * @param array $optParams Optional parameters. + * @return Google_Service_AdExchangeBuyer_GetPublisherProfilesByAccountIdResponse + */ + public function listPubprofiles($accountId, $optParams = array()) + { + $params = array('accountId' => $accountId); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_AdExchangeBuyer_GetPublisherProfilesByAccountIdResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/Seller.php b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/Seller.php new file mode 100644 index 00000000..82ea611b --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/Seller.php @@ -0,0 +1,39 @@ +accountId = $accountId; + } + public function getAccountId() + { + return $this->accountId; + } + public function setSubAccountId($subAccountId) + { + $this->subAccountId = $subAccountId; + } + public function getSubAccountId() + { + return $this->subAccountId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/SharedTargeting.php b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/SharedTargeting.php new file mode 100644 index 00000000..281ec37f --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/SharedTargeting.php @@ -0,0 +1,51 @@ +exclusions = $exclusions; + } + public function getExclusions() + { + return $this->exclusions; + } + public function setInclusions($inclusions) + { + $this->inclusions = $inclusions; + } + public function getInclusions() + { + return $this->inclusions; + } + public function setKey($key) + { + $this->key = $key; + } + public function getKey() + { + return $this->key; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/TargetingValue.php b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/TargetingValue.php new file mode 100644 index 00000000..a167819b --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/TargetingValue.php @@ -0,0 +1,59 @@ +creativeSizeValue = $creativeSizeValue; + } + public function getCreativeSizeValue() + { + return $this->creativeSizeValue; + } + public function setDayPartTargetingValue(Google_Service_AdExchangeBuyer_TargetingValueDayPartTargeting $dayPartTargetingValue) + { + $this->dayPartTargetingValue = $dayPartTargetingValue; + } + public function getDayPartTargetingValue() + { + return $this->dayPartTargetingValue; + } + public function setLongValue($longValue) + { + $this->longValue = $longValue; + } + public function getLongValue() + { + return $this->longValue; + } + public function setStringValue($stringValue) + { + $this->stringValue = $stringValue; + } + public function getStringValue() + { + return $this->stringValue; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/TargetingValueCreativeSize.php b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/TargetingValueCreativeSize.php new file mode 100644 index 00000000..7302f658 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/TargetingValueCreativeSize.php @@ -0,0 +1,60 @@ +companionSizes = $companionSizes; + } + public function getCompanionSizes() + { + return $this->companionSizes; + } + public function setCreativeSizeType($creativeSizeType) + { + $this->creativeSizeType = $creativeSizeType; + } + public function getCreativeSizeType() + { + return $this->creativeSizeType; + } + public function setSize(Google_Service_AdExchangeBuyer_TargetingValueSize $size) + { + $this->size = $size; + } + public function getSize() + { + return $this->size; + } + public function setSkippableAdType($skippableAdType) + { + $this->skippableAdType = $skippableAdType; + } + public function getSkippableAdType() + { + return $this->skippableAdType; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/TargetingValueDayPartTargeting.php b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/TargetingValueDayPartTargeting.php new file mode 100644 index 00000000..da57301a --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/TargetingValueDayPartTargeting.php @@ -0,0 +1,41 @@ +dayParts = $dayParts; + } + public function getDayParts() + { + return $this->dayParts; + } + public function setTimeZoneType($timeZoneType) + { + $this->timeZoneType = $timeZoneType; + } + public function getTimeZoneType() + { + return $this->timeZoneType; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/TargetingValueDayPartTargetingDayPart.php b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/TargetingValueDayPartTargetingDayPart.php new file mode 100644 index 00000000..f656ae74 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/TargetingValueDayPartTargetingDayPart.php @@ -0,0 +1,66 @@ +dayOfWeek = $dayOfWeek; + } + public function getDayOfWeek() + { + return $this->dayOfWeek; + } + public function setEndHour($endHour) + { + $this->endHour = $endHour; + } + public function getEndHour() + { + return $this->endHour; + } + public function setEndMinute($endMinute) + { + $this->endMinute = $endMinute; + } + public function getEndMinute() + { + return $this->endMinute; + } + public function setStartHour($startHour) + { + $this->startHour = $startHour; + } + public function getStartHour() + { + return $this->startHour; + } + public function setStartMinute($startMinute) + { + $this->startMinute = $startMinute; + } + public function getStartMinute() + { + return $this->startMinute; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/TargetingValueSize.php b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/TargetingValueSize.php new file mode 100644 index 00000000..116c5b5f --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/TargetingValueSize.php @@ -0,0 +1,39 @@ +height = $height; + } + public function getHeight() + { + return $this->height; + } + public function setWidth($width) + { + $this->width = $width; + } + public function getWidth() + { + return $this->width; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/UpdatePrivateAuctionProposalRequest.php b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/UpdatePrivateAuctionProposalRequest.php new file mode 100644 index 00000000..8ec36d3d --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyer/UpdatePrivateAuctionProposalRequest.php @@ -0,0 +1,58 @@ +externalDealId = $externalDealId; + } + public function getExternalDealId() + { + return $this->externalDealId; + } + public function setNote(Google_Service_AdExchangeBuyer_MarketplaceNote $note) + { + $this->note = $note; + } + public function getNote() + { + return $this->note; + } + public function setProposalRevisionNumber($proposalRevisionNumber) + { + $this->proposalRevisionNumber = $proposalRevisionNumber; + } + public function getProposalRevisionNumber() + { + return $this->proposalRevisionNumber; + } + public function setUpdateAction($updateAction) + { + $this->updateAction = $updateAction; + } + public function getUpdateAction() + { + return $this->updateAction; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyerII.php b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyerII.php new file mode 100644 index 00000000..99ce5a6f --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyerII.php @@ -0,0 +1,441 @@ + + * Accesses the latest features for managing Ad Exchange accounts, Real-Time + * Bidding configurations and auction metrics, and Marketplace programmatic + * deals.

+ * + *

+ * For more information about this service, see the API + * Documentation + *

+ * + * @author Google, Inc. + */ +class Google_Service_AdExchangeBuyerII extends Google_Service +{ + /** Manage your Ad Exchange buyer account configuration. */ + const ADEXCHANGE_BUYER = + "https://www.googleapis.com/auth/adexchange.buyer"; + + public $accounts_clients; + public $accounts_clients_invitations; + public $accounts_clients_users; + public $accounts_creatives; + public $accounts_creatives_dealAssociations; + + /** + * Constructs the internal representation of the AdExchangeBuyerII service. + * + * @param Google_Client $client + */ + public function __construct(Google_Client $client) + { + parent::__construct($client); + $this->rootUrl = 'https://adexchangebuyer.googleapis.com/'; + $this->servicePath = ''; + $this->version = 'v2beta1'; + $this->serviceName = 'adexchangebuyer2'; + + $this->accounts_clients = new Google_Service_AdExchangeBuyerII_Resource_AccountsClients( + $this, + $this->serviceName, + 'clients', + array( + 'methods' => array( + 'create' => array( + 'path' => 'v2beta1/accounts/{accountId}/clients', + 'httpMethod' => 'POST', + 'parameters' => array( + 'accountId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'get' => array( + 'path' => 'v2beta1/accounts/{accountId}/clients/{clientAccountId}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'accountId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'clientAccountId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'v2beta1/accounts/{accountId}/clients', + 'httpMethod' => 'GET', + 'parameters' => array( + 'accountId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pageSize' => array( + 'location' => 'query', + 'type' => 'integer', + ), + ), + ),'update' => array( + 'path' => 'v2beta1/accounts/{accountId}/clients/{clientAccountId}', + 'httpMethod' => 'PUT', + 'parameters' => array( + 'accountId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'clientAccountId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->accounts_clients_invitations = new Google_Service_AdExchangeBuyerII_Resource_AccountsClientsInvitations( + $this, + $this->serviceName, + 'invitations', + array( + 'methods' => array( + 'create' => array( + 'path' => 'v2beta1/accounts/{accountId}/clients/{clientAccountId}/invitations', + 'httpMethod' => 'POST', + 'parameters' => array( + 'accountId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'clientAccountId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'get' => array( + 'path' => 'v2beta1/accounts/{accountId}/clients/{clientAccountId}/invitations/{invitationId}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'accountId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'clientAccountId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'invitationId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'v2beta1/accounts/{accountId}/clients/{clientAccountId}/invitations', + 'httpMethod' => 'GET', + 'parameters' => array( + 'accountId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'clientAccountId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pageSize' => array( + 'location' => 'query', + 'type' => 'integer', + ), + ), + ), + ) + ) + ); + $this->accounts_clients_users = new Google_Service_AdExchangeBuyerII_Resource_AccountsClientsUsers( + $this, + $this->serviceName, + 'users', + array( + 'methods' => array( + 'get' => array( + 'path' => 'v2beta1/accounts/{accountId}/clients/{clientAccountId}/users/{userId}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'accountId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'clientAccountId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'userId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'v2beta1/accounts/{accountId}/clients/{clientAccountId}/users', + 'httpMethod' => 'GET', + 'parameters' => array( + 'accountId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'clientAccountId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pageSize' => array( + 'location' => 'query', + 'type' => 'integer', + ), + ), + ),'update' => array( + 'path' => 'v2beta1/accounts/{accountId}/clients/{clientAccountId}/users/{userId}', + 'httpMethod' => 'PUT', + 'parameters' => array( + 'accountId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'clientAccountId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'userId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->accounts_creatives = new Google_Service_AdExchangeBuyerII_Resource_AccountsCreatives( + $this, + $this->serviceName, + 'creatives', + array( + 'methods' => array( + 'create' => array( + 'path' => 'v2beta1/accounts/{accountId}/creatives', + 'httpMethod' => 'POST', + 'parameters' => array( + 'accountId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'duplicateIdMode' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'get' => array( + 'path' => 'v2beta1/accounts/{accountId}/creatives/{creativeId}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'accountId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'creativeId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'v2beta1/accounts/{accountId}/creatives', + 'httpMethod' => 'GET', + 'parameters' => array( + 'accountId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pageSize' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'query' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'stopWatching' => array( + 'path' => 'v2beta1/accounts/{accountId}/creatives/{creativeId}:stopWatching', + 'httpMethod' => 'POST', + 'parameters' => array( + 'accountId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'creativeId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'update' => array( + 'path' => 'v2beta1/accounts/{accountId}/creatives/{creativeId}', + 'httpMethod' => 'PUT', + 'parameters' => array( + 'accountId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'creativeId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'watch' => array( + 'path' => 'v2beta1/accounts/{accountId}/creatives/{creativeId}:watch', + 'httpMethod' => 'POST', + 'parameters' => array( + 'accountId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'creativeId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->accounts_creatives_dealAssociations = new Google_Service_AdExchangeBuyerII_Resource_AccountsCreativesDealAssociations( + $this, + $this->serviceName, + 'dealAssociations', + array( + 'methods' => array( + 'add' => array( + 'path' => 'v2beta1/accounts/{accountId}/creatives/{creativeId}/dealAssociations:add', + 'httpMethod' => 'POST', + 'parameters' => array( + 'accountId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'creativeId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'v2beta1/accounts/{accountId}/creatives/{creativeId}/dealAssociations', + 'httpMethod' => 'GET', + 'parameters' => array( + 'accountId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'creativeId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pageSize' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'query' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'remove' => array( + 'path' => 'v2beta1/accounts/{accountId}/creatives/{creativeId}/dealAssociations:remove', + 'httpMethod' => 'POST', + 'parameters' => array( + 'accountId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'creativeId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyerII/AddDealAssociationRequest.php b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyerII/AddDealAssociationRequest.php new file mode 100644 index 00000000..032c0279 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyerII/AddDealAssociationRequest.php @@ -0,0 +1,31 @@ +association = $association; + } + public function getAssociation() + { + return $this->association; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyerII/Adexchangebuyer2Empty.php b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyerII/Adexchangebuyer2Empty.php new file mode 100644 index 00000000..360f021f --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyerII/Adexchangebuyer2Empty.php @@ -0,0 +1,20 @@ +appTypes = $appTypes; + } + public function getAppTypes() + { + return $this->appTypes; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyerII/AuctionContext.php b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyerII/AuctionContext.php new file mode 100644 index 00000000..b3144e80 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyerII/AuctionContext.php @@ -0,0 +1,31 @@ +auctionTypes = $auctionTypes; + } + public function getAuctionTypes() + { + return $this->auctionTypes; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyerII/Client.php b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyerII/Client.php new file mode 100644 index 00000000..8a0d1242 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyerII/Client.php @@ -0,0 +1,93 @@ +clientAccountId = $clientAccountId; + } + public function getClientAccountId() + { + return $this->clientAccountId; + } + public function setClientName($clientName) + { + $this->clientName = $clientName; + } + public function getClientName() + { + return $this->clientName; + } + public function setEntityId($entityId) + { + $this->entityId = $entityId; + } + public function getEntityId() + { + return $this->entityId; + } + public function setEntityName($entityName) + { + $this->entityName = $entityName; + } + public function getEntityName() + { + return $this->entityName; + } + public function setEntityType($entityType) + { + $this->entityType = $entityType; + } + public function getEntityType() + { + return $this->entityType; + } + public function setRole($role) + { + $this->role = $role; + } + public function getRole() + { + return $this->role; + } + public function setStatus($status) + { + $this->status = $status; + } + public function getStatus() + { + return $this->status; + } + public function setVisibleToSeller($visibleToSeller) + { + $this->visibleToSeller = $visibleToSeller; + } + public function getVisibleToSeller() + { + return $this->visibleToSeller; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyerII/ClientUser.php b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyerII/ClientUser.php new file mode 100644 index 00000000..da71813e --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyerII/ClientUser.php @@ -0,0 +1,57 @@ +clientAccountId = $clientAccountId; + } + public function getClientAccountId() + { + return $this->clientAccountId; + } + public function setEmail($email) + { + $this->email = $email; + } + public function getEmail() + { + return $this->email; + } + public function setStatus($status) + { + $this->status = $status; + } + public function getStatus() + { + return $this->status; + } + public function setUserId($userId) + { + $this->userId = $userId; + } + public function getUserId() + { + return $this->userId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyerII/ClientUserInvitation.php b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyerII/ClientUserInvitation.php new file mode 100644 index 00000000..fe3d0cc8 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyerII/ClientUserInvitation.php @@ -0,0 +1,48 @@ +clientAccountId = $clientAccountId; + } + public function getClientAccountId() + { + return $this->clientAccountId; + } + public function setEmail($email) + { + $this->email = $email; + } + public function getEmail() + { + return $this->email; + } + public function setInvitationId($invitationId) + { + $this->invitationId = $invitationId; + } + public function getInvitationId() + { + return $this->invitationId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyerII/Correction.php b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyerII/Correction.php new file mode 100644 index 00000000..3e1f2eea --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyerII/Correction.php @@ -0,0 +1,50 @@ +contexts = $contexts; + } + public function getContexts() + { + return $this->contexts; + } + public function setDetails($details) + { + $this->details = $details; + } + public function getDetails() + { + return $this->details; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyerII/Creative.php b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyerII/Creative.php new file mode 100644 index 00000000..54930e4a --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyerII/Creative.php @@ -0,0 +1,253 @@ +accountId = $accountId; + } + public function getAccountId() + { + return $this->accountId; + } + public function setAdChoicesDestinationUrl($adChoicesDestinationUrl) + { + $this->adChoicesDestinationUrl = $adChoicesDestinationUrl; + } + public function getAdChoicesDestinationUrl() + { + return $this->adChoicesDestinationUrl; + } + public function setAdvertiserName($advertiserName) + { + $this->advertiserName = $advertiserName; + } + public function getAdvertiserName() + { + return $this->advertiserName; + } + public function setAgencyId($agencyId) + { + $this->agencyId = $agencyId; + } + public function getAgencyId() + { + return $this->agencyId; + } + public function setApiUpdateTime($apiUpdateTime) + { + $this->apiUpdateTime = $apiUpdateTime; + } + public function getApiUpdateTime() + { + return $this->apiUpdateTime; + } + public function setAttributes($attributes) + { + $this->attributes = $attributes; + } + public function getAttributes() + { + return $this->attributes; + } + public function setClickThroughUrls($clickThroughUrls) + { + $this->clickThroughUrls = $clickThroughUrls; + } + public function getClickThroughUrls() + { + return $this->clickThroughUrls; + } + public function setCorrections($corrections) + { + $this->corrections = $corrections; + } + public function getCorrections() + { + return $this->corrections; + } + public function setCreativeId($creativeId) + { + $this->creativeId = $creativeId; + } + public function getCreativeId() + { + return $this->creativeId; + } + public function setDealsStatus($dealsStatus) + { + $this->dealsStatus = $dealsStatus; + } + public function getDealsStatus() + { + return $this->dealsStatus; + } + public function setDetectedAdvertiserIds($detectedAdvertiserIds) + { + $this->detectedAdvertiserIds = $detectedAdvertiserIds; + } + public function getDetectedAdvertiserIds() + { + return $this->detectedAdvertiserIds; + } + public function setDetectedDomains($detectedDomains) + { + $this->detectedDomains = $detectedDomains; + } + public function getDetectedDomains() + { + return $this->detectedDomains; + } + public function setDetectedLanguages($detectedLanguages) + { + $this->detectedLanguages = $detectedLanguages; + } + public function getDetectedLanguages() + { + return $this->detectedLanguages; + } + public function setDetectedProductCategories($detectedProductCategories) + { + $this->detectedProductCategories = $detectedProductCategories; + } + public function getDetectedProductCategories() + { + return $this->detectedProductCategories; + } + public function setDetectedSensitiveCategories($detectedSensitiveCategories) + { + $this->detectedSensitiveCategories = $detectedSensitiveCategories; + } + public function getDetectedSensitiveCategories() + { + return $this->detectedSensitiveCategories; + } + public function setFilteringStats(Google_Service_AdExchangeBuyerII_FilteringStats $filteringStats) + { + $this->filteringStats = $filteringStats; + } + public function getFilteringStats() + { + return $this->filteringStats; + } + public function setHtml(Google_Service_AdExchangeBuyerII_HtmlContent $html) + { + $this->html = $html; + } + public function getHtml() + { + return $this->html; + } + public function setImpressionTrackingUrls($impressionTrackingUrls) + { + $this->impressionTrackingUrls = $impressionTrackingUrls; + } + public function getImpressionTrackingUrls() + { + return $this->impressionTrackingUrls; + } + public function setNative(Google_Service_AdExchangeBuyerII_NativeContent $native) + { + $this->native = $native; + } + public function getNative() + { + return $this->native; + } + public function setOpenAuctionStatus($openAuctionStatus) + { + $this->openAuctionStatus = $openAuctionStatus; + } + public function getOpenAuctionStatus() + { + return $this->openAuctionStatus; + } + public function setRestrictedCategories($restrictedCategories) + { + $this->restrictedCategories = $restrictedCategories; + } + public function getRestrictedCategories() + { + return $this->restrictedCategories; + } + public function setServingRestrictions($servingRestrictions) + { + $this->servingRestrictions = $servingRestrictions; + } + public function getServingRestrictions() + { + return $this->servingRestrictions; + } + public function setVendorIds($vendorIds) + { + $this->vendorIds = $vendorIds; + } + public function getVendorIds() + { + return $this->vendorIds; + } + public function setVersion($version) + { + $this->version = $version; + } + public function getVersion() + { + return $this->version; + } + public function setVideo(Google_Service_AdExchangeBuyerII_VideoContent $video) + { + $this->video = $video; + } + public function getVideo() + { + return $this->video; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyerII/CreativeDealAssociation.php b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyerII/CreativeDealAssociation.php new file mode 100644 index 00000000..4ce53aa7 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyerII/CreativeDealAssociation.php @@ -0,0 +1,48 @@ +accountId = $accountId; + } + public function getAccountId() + { + return $this->accountId; + } + public function setCreativeId($creativeId) + { + $this->creativeId = $creativeId; + } + public function getCreativeId() + { + return $this->creativeId; + } + public function setDealsId($dealsId) + { + $this->dealsId = $dealsId; + } + public function getDealsId() + { + return $this->dealsId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyerII/Date.php b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyerII/Date.php new file mode 100644 index 00000000..0d65a08d --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyerII/Date.php @@ -0,0 +1,48 @@ +day = $day; + } + public function getDay() + { + return $this->day; + } + public function setMonth($month) + { + $this->month = $month; + } + public function getMonth() + { + return $this->month; + } + public function setYear($year) + { + $this->year = $year; + } + public function getYear() + { + return $this->year; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyerII/Disapproval.php b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyerII/Disapproval.php new file mode 100644 index 00000000..6a6824a9 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyerII/Disapproval.php @@ -0,0 +1,40 @@ +details = $details; + } + public function getDetails() + { + return $this->details; + } + public function setReason($reason) + { + $this->reason = $reason; + } + public function getReason() + { + return $this->reason; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyerII/FilteringStats.php b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyerII/FilteringStats.php new file mode 100644 index 00000000..ecc5a875 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyerII/FilteringStats.php @@ -0,0 +1,42 @@ +date = $date; + } + public function getDate() + { + return $this->date; + } + public function setReasons($reasons) + { + $this->reasons = $reasons; + } + public function getReasons() + { + return $this->reasons; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyerII/HtmlContent.php b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyerII/HtmlContent.php new file mode 100644 index 00000000..5e474ed5 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyerII/HtmlContent.php @@ -0,0 +1,48 @@ +height = $height; + } + public function getHeight() + { + return $this->height; + } + public function setSnippet($snippet) + { + $this->snippet = $snippet; + } + public function getSnippet() + { + return $this->snippet; + } + public function setWidth($width) + { + $this->width = $width; + } + public function getWidth() + { + return $this->width; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyerII/Image.php b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyerII/Image.php new file mode 100644 index 00000000..4abc4434 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyerII/Image.php @@ -0,0 +1,48 @@ +height = $height; + } + public function getHeight() + { + return $this->height; + } + public function setUrl($url) + { + $this->url = $url; + } + public function getUrl() + { + return $this->url; + } + public function setWidth($width) + { + $this->width = $width; + } + public function getWidth() + { + return $this->width; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyerII/ListClientUserInvitationsResponse.php b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyerII/ListClientUserInvitationsResponse.php new file mode 100644 index 00000000..b33d7d05 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyerII/ListClientUserInvitationsResponse.php @@ -0,0 +1,41 @@ +invitations = $invitations; + } + public function getInvitations() + { + return $this->invitations; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyerII/ListClientUsersResponse.php b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyerII/ListClientUsersResponse.php new file mode 100644 index 00000000..8458df7b --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyerII/ListClientUsersResponse.php @@ -0,0 +1,41 @@ +nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setUsers($users) + { + $this->users = $users; + } + public function getUsers() + { + return $this->users; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyerII/ListClientsResponse.php b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyerII/ListClientsResponse.php new file mode 100644 index 00000000..03fe35a8 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyerII/ListClientsResponse.php @@ -0,0 +1,41 @@ +clients = $clients; + } + public function getClients() + { + return $this->clients; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyerII/ListCreativesResponse.php b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyerII/ListCreativesResponse.php new file mode 100644 index 00000000..10df66aa --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyerII/ListCreativesResponse.php @@ -0,0 +1,41 @@ +creatives = $creatives; + } + public function getCreatives() + { + return $this->creatives; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyerII/ListDealAssociationsResponse.php b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyerII/ListDealAssociationsResponse.php new file mode 100644 index 00000000..9014532b --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyerII/ListDealAssociationsResponse.php @@ -0,0 +1,41 @@ +associations = $associations; + } + public function getAssociations() + { + return $this->associations; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyerII/LocationContext.php b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyerII/LocationContext.php new file mode 100644 index 00000000..38b65c92 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyerII/LocationContext.php @@ -0,0 +1,31 @@ +geoCriteriaIds = $geoCriteriaIds; + } + public function getGeoCriteriaIds() + { + return $this->geoCriteriaIds; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyerII/NativeContent.php b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyerII/NativeContent.php new file mode 100644 index 00000000..c5d7b6fd --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyerII/NativeContent.php @@ -0,0 +1,141 @@ +advertiserName = $advertiserName; + } + public function getAdvertiserName() + { + return $this->advertiserName; + } + public function setAppIcon(Google_Service_AdExchangeBuyerII_Image $appIcon) + { + $this->appIcon = $appIcon; + } + public function getAppIcon() + { + return $this->appIcon; + } + public function setBody($body) + { + $this->body = $body; + } + public function getBody() + { + return $this->body; + } + public function setCallToAction($callToAction) + { + $this->callToAction = $callToAction; + } + public function getCallToAction() + { + return $this->callToAction; + } + public function setClickLinkUrl($clickLinkUrl) + { + $this->clickLinkUrl = $clickLinkUrl; + } + public function getClickLinkUrl() + { + return $this->clickLinkUrl; + } + public function setClickTrackingUrl($clickTrackingUrl) + { + $this->clickTrackingUrl = $clickTrackingUrl; + } + public function getClickTrackingUrl() + { + return $this->clickTrackingUrl; + } + public function setHeadline($headline) + { + $this->headline = $headline; + } + public function getHeadline() + { + return $this->headline; + } + public function setImage(Google_Service_AdExchangeBuyerII_Image $image) + { + $this->image = $image; + } + public function getImage() + { + return $this->image; + } + public function setLogo(Google_Service_AdExchangeBuyerII_Image $logo) + { + $this->logo = $logo; + } + public function getLogo() + { + return $this->logo; + } + public function setPriceDisplayText($priceDisplayText) + { + $this->priceDisplayText = $priceDisplayText; + } + public function getPriceDisplayText() + { + return $this->priceDisplayText; + } + public function setStarRating($starRating) + { + $this->starRating = $starRating; + } + public function getStarRating() + { + return $this->starRating; + } + public function setStoreUrl($storeUrl) + { + $this->storeUrl = $storeUrl; + } + public function getStoreUrl() + { + return $this->storeUrl; + } + public function setVideoUrl($videoUrl) + { + $this->videoUrl = $videoUrl; + } + public function getVideoUrl() + { + return $this->videoUrl; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyerII/PlatformContext.php b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyerII/PlatformContext.php new file mode 100644 index 00000000..07fd0680 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyerII/PlatformContext.php @@ -0,0 +1,31 @@ +platforms = $platforms; + } + public function getPlatforms() + { + return $this->platforms; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyerII/Reason.php b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyerII/Reason.php new file mode 100644 index 00000000..5b536f3a --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyerII/Reason.php @@ -0,0 +1,39 @@ +count = $count; + } + public function getCount() + { + return $this->count; + } + public function setStatus($status) + { + $this->status = $status; + } + public function getStatus() + { + return $this->status; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyerII/RemoveDealAssociationRequest.php b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyerII/RemoveDealAssociationRequest.php new file mode 100644 index 00000000..a0997af7 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyerII/RemoveDealAssociationRequest.php @@ -0,0 +1,31 @@ +association = $association; + } + public function getAssociation() + { + return $this->association; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyerII/Resource/Accounts.php b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyerII/Resource/Accounts.php new file mode 100644 index 00000000..b4753fb6 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyerII/Resource/Accounts.php @@ -0,0 +1,28 @@ + + * $adexchangebuyer2Service = new Google_Service_AdExchangeBuyerII(...); + * $accounts = $adexchangebuyer2Service->accounts; + * + */ +class Google_Service_AdExchangeBuyerII_Resource_Accounts extends Google_Service_Resource +{ +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyerII/Resource/AccountsClients.php b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyerII/Resource/AccountsClients.php new file mode 100644 index 00000000..6006cac9 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyerII/Resource/AccountsClients.php @@ -0,0 +1,101 @@ + + * $adexchangebuyer2Service = new Google_Service_AdExchangeBuyerII(...); + * $clients = $adexchangebuyer2Service->clients; + * + */ +class Google_Service_AdExchangeBuyerII_Resource_AccountsClients extends Google_Service_Resource +{ + /** + * Creates a new client buyer. (clients.create) + * + * @param string $accountId Unique numerical account ID for the buyer of which + * the client buyer is a customer; the sponsor buyer to create a client for. + * (required) + * @param Google_Service_AdExchangeBuyerII_Client $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_AdExchangeBuyerII_Client + */ + public function create($accountId, Google_Service_AdExchangeBuyerII_Client $postBody, $optParams = array()) + { + $params = array('accountId' => $accountId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('create', array($params), "Google_Service_AdExchangeBuyerII_Client"); + } + /** + * Gets a client buyer with a given client account ID. (clients.get) + * + * @param string $accountId Numerical account ID of the client's sponsor buyer. + * (required) + * @param string $clientAccountId Numerical account ID of the client buyer to + * retrieve. (required) + * @param array $optParams Optional parameters. + * @return Google_Service_AdExchangeBuyerII_Client + */ + public function get($accountId, $clientAccountId, $optParams = array()) + { + $params = array('accountId' => $accountId, 'clientAccountId' => $clientAccountId); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_AdExchangeBuyerII_Client"); + } + /** + * Lists all the clients for the current sponsor buyer. + * (clients.listAccountsClients) + * + * @param string $accountId Unique numerical account ID of the sponsor buyer to + * list the clients for. + * @param array $optParams Optional parameters. + * + * @opt_param string pageToken A token identifying a page of results the server + * should return. Typically, this is the value of + * ListClientsResponse.nextPageToken returned from the previous call to the + * accounts.clients.list method. + * @opt_param int pageSize Requested page size. The server may return fewer + * clients than requested. If unspecified, the server will pick an appropriate + * default. + * @return Google_Service_AdExchangeBuyerII_ListClientsResponse + */ + public function listAccountsClients($accountId, $optParams = array()) + { + $params = array('accountId' => $accountId); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_AdExchangeBuyerII_ListClientsResponse"); + } + /** + * Updates an existing client buyer. (clients.update) + * + * @param string $accountId Unique numerical account ID for the buyer of which + * the client buyer is a customer; the sponsor buyer to update a client for. + * (required) + * @param string $clientAccountId Unique numerical account ID of the client to + * update. (required) + * @param Google_Service_AdExchangeBuyerII_Client $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_AdExchangeBuyerII_Client + */ + public function update($accountId, $clientAccountId, Google_Service_AdExchangeBuyerII_Client $postBody, $optParams = array()) + { + $params = array('accountId' => $accountId, 'clientAccountId' => $clientAccountId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('update', array($params), "Google_Service_AdExchangeBuyerII_Client"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyerII/Resource/AccountsClientsInvitations.php b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyerII/Resource/AccountsClientsInvitations.php new file mode 100644 index 00000000..5a8569c9 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyerII/Resource/AccountsClientsInvitations.php @@ -0,0 +1,90 @@ + + * $adexchangebuyer2Service = new Google_Service_AdExchangeBuyerII(...); + * $invitations = $adexchangebuyer2Service->invitations; + * + */ +class Google_Service_AdExchangeBuyerII_Resource_AccountsClientsInvitations extends Google_Service_Resource +{ + /** + * Creates and sends out an email invitation to access an Ad Exchange client + * buyer account. (invitations.create) + * + * @param string $accountId Numerical account ID of the client's sponsor buyer. + * (required) + * @param string $clientAccountId Numerical account ID of the client buyer that + * the user should be associated with. (required) + * @param Google_Service_AdExchangeBuyerII_ClientUserInvitation $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_AdExchangeBuyerII_ClientUserInvitation + */ + public function create($accountId, $clientAccountId, Google_Service_AdExchangeBuyerII_ClientUserInvitation $postBody, $optParams = array()) + { + $params = array('accountId' => $accountId, 'clientAccountId' => $clientAccountId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('create', array($params), "Google_Service_AdExchangeBuyerII_ClientUserInvitation"); + } + /** + * Retrieves an existing client user invitation. (invitations.get) + * + * @param string $accountId Numerical account ID of the client's sponsor buyer. + * (required) + * @param string $clientAccountId Numerical account ID of the client buyer that + * the user invitation to be retrieved is associated with. (required) + * @param string $invitationId Numerical identifier of the user invitation to + * retrieve. (required) + * @param array $optParams Optional parameters. + * @return Google_Service_AdExchangeBuyerII_ClientUserInvitation + */ + public function get($accountId, $clientAccountId, $invitationId, $optParams = array()) + { + $params = array('accountId' => $accountId, 'clientAccountId' => $clientAccountId, 'invitationId' => $invitationId); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_AdExchangeBuyerII_ClientUserInvitation"); + } + /** + * Lists all the client users invitations for a client with a given account ID. + * (invitations.listAccountsClientsInvitations) + * + * @param string $accountId Numerical account ID of the client's sponsor buyer. + * (required) + * @param string $clientAccountId Numerical account ID of the client buyer to + * list invitations for. (required) You must either specify a string + * representation of a numerical account identifier or the `-` character to list + * all the invitations for all the clients of a given sponsor buyer. + * @param array $optParams Optional parameters. + * + * @opt_param string pageToken A token identifying a page of results the server + * should return. Typically, this is the value of + * ListClientUserInvitationsResponse.nextPageToken returned from the previous + * call to the clients.invitations.list method. + * @opt_param int pageSize Requested page size. Server may return fewer clients + * than requested. If unspecified, server will pick an appropriate default. + * @return Google_Service_AdExchangeBuyerII_ListClientUserInvitationsResponse + */ + public function listAccountsClientsInvitations($accountId, $clientAccountId, $optParams = array()) + { + $params = array('accountId' => $accountId, 'clientAccountId' => $clientAccountId); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_AdExchangeBuyerII_ListClientUserInvitationsResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyerII/Resource/AccountsClientsUsers.php b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyerII/Resource/AccountsClientsUsers.php new file mode 100644 index 00000000..a543d238 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyerII/Resource/AccountsClientsUsers.php @@ -0,0 +1,93 @@ + + * $adexchangebuyer2Service = new Google_Service_AdExchangeBuyerII(...); + * $users = $adexchangebuyer2Service->users; + * + */ +class Google_Service_AdExchangeBuyerII_Resource_AccountsClientsUsers extends Google_Service_Resource +{ + /** + * Retrieves an existing client user. (users.get) + * + * @param string $accountId Numerical account ID of the client's sponsor buyer. + * (required) + * @param string $clientAccountId Numerical account ID of the client buyer that + * the user to be retrieved is associated with. (required) + * @param string $userId Numerical identifier of the user to retrieve. + * (required) + * @param array $optParams Optional parameters. + * @return Google_Service_AdExchangeBuyerII_ClientUser + */ + public function get($accountId, $clientAccountId, $userId, $optParams = array()) + { + $params = array('accountId' => $accountId, 'clientAccountId' => $clientAccountId, 'userId' => $userId); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_AdExchangeBuyerII_ClientUser"); + } + /** + * Lists all the known client users for a specified sponsor buyer account ID. + * (users.listAccountsClientsUsers) + * + * @param string $accountId Numerical account ID of the sponsor buyer of the + * client to list users for. (required) + * @param string $clientAccountId The account ID of the client buyer to list + * users for. (required) You must specify either a string representation of a + * numerical account identifier or the `-` character to list all the client + * users for all the clients of a given sponsor buyer. + * @param array $optParams Optional parameters. + * + * @opt_param string pageToken A token identifying a page of results the server + * should return. Typically, this is the value of + * ListClientUsersResponse.nextPageToken returned from the previous call to the + * accounts.clients.users.list method. + * @opt_param int pageSize Requested page size. The server may return fewer + * clients than requested. If unspecified, the server will pick an appropriate + * default. + * @return Google_Service_AdExchangeBuyerII_ListClientUsersResponse + */ + public function listAccountsClientsUsers($accountId, $clientAccountId, $optParams = array()) + { + $params = array('accountId' => $accountId, 'clientAccountId' => $clientAccountId); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_AdExchangeBuyerII_ListClientUsersResponse"); + } + /** + * Updates an existing client user. Only the user status can be changed on + * update. (users.update) + * + * @param string $accountId Numerical account ID of the client's sponsor buyer. + * (required) + * @param string $clientAccountId Numerical account ID of the client buyer that + * the user to be retrieved is associated with. (required) + * @param string $userId Numerical identifier of the user to retrieve. + * (required) + * @param Google_Service_AdExchangeBuyerII_ClientUser $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_AdExchangeBuyerII_ClientUser + */ + public function update($accountId, $clientAccountId, $userId, Google_Service_AdExchangeBuyerII_ClientUser $postBody, $optParams = array()) + { + $params = array('accountId' => $accountId, 'clientAccountId' => $clientAccountId, 'userId' => $userId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('update', array($params), "Google_Service_AdExchangeBuyerII_ClientUser"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyerII/Resource/AccountsCreatives.php b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyerII/Resource/AccountsCreatives.php new file mode 100644 index 00000000..f4dc48c3 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyerII/Resource/AccountsCreatives.php @@ -0,0 +1,151 @@ + + * $adexchangebuyer2Service = new Google_Service_AdExchangeBuyerII(...); + * $creatives = $adexchangebuyer2Service->creatives; + * + */ +class Google_Service_AdExchangeBuyerII_Resource_AccountsCreatives extends Google_Service_Resource +{ + /** + * Creates a creative. (creatives.create) + * + * @param string $accountId The account that this creative belongs to. Can be + * used to filter the response of the creatives.list method. + * @param Google_Service_AdExchangeBuyerII_Creative $postBody + * @param array $optParams Optional parameters. + * + * @opt_param string duplicateIdMode Indicates if multiple creatives can share + * an ID or not. Default is NO_DUPLICATES (one ID per creative). + * @return Google_Service_AdExchangeBuyerII_Creative + */ + public function create($accountId, Google_Service_AdExchangeBuyerII_Creative $postBody, $optParams = array()) + { + $params = array('accountId' => $accountId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('create', array($params), "Google_Service_AdExchangeBuyerII_Creative"); + } + /** + * Gets a creative. (creatives.get) + * + * @param string $accountId The account the creative belongs to. + * @param string $creativeId The ID of the creative to retrieve. + * @param array $optParams Optional parameters. + * @return Google_Service_AdExchangeBuyerII_Creative + */ + public function get($accountId, $creativeId, $optParams = array()) + { + $params = array('accountId' => $accountId, 'creativeId' => $creativeId); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_AdExchangeBuyerII_Creative"); + } + /** + * Lists creatives. (creatives.listAccountsCreatives) + * + * @param string $accountId The account to list the creatives from. Specify "-" + * to list all creatives the current user has access to. + * @param array $optParams Optional parameters. + * + * @opt_param string pageToken A token identifying a page of results the server + * should return. Typically, this is the value of + * ListCreativesResponse.next_page_token returned from the previous call to + * 'ListCreatives' method. + * @opt_param int pageSize Requested page size. The server may return fewer + * creatives than requested (due to timeout constraint) even if more are + * available via another call. If unspecified, server will pick an appropriate + * default. Acceptable values are 1 to 1000, inclusive. + * @opt_param string query An optional query string to filter creatives. If no + * filter is specified, all active creatives will be returned. Supported queries + * are: + * + * accountId=account_id_string creativeId=creative_id_string dealsStatus: + * {approved, conditionally_approved, disapproved, + * not_checked} openAuctionStatus: {approved, conditionally_approved, + * disapproved, not_checked} attribute: {a numeric + * attribute from the list of attributes} disapprovalReason: {a reason from + * DisapprovalReason + * + * Example: 'accountId=12345 AND (dealsStatus:disapproved AND + * disapprovalReason:unacceptable_content) OR attribute:47' + * @return Google_Service_AdExchangeBuyerII_ListCreativesResponse + */ + public function listAccountsCreatives($accountId, $optParams = array()) + { + $params = array('accountId' => $accountId); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_AdExchangeBuyerII_ListCreativesResponse"); + } + /** + * Stops watching a creative. Will stop push notifications being sent to the + * topics when the creative changes status. (creatives.stopWatching) + * + * @param string $accountId The account of the creative to stop notifications + * for. + * @param string $creativeId The creative ID of the creative to stop + * notifications for. Specify "-" to specify stopping account level + * notifications. + * @param Google_Service_AdExchangeBuyerII_StopWatchingCreativeRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_AdExchangeBuyerII_Adexchangebuyer2Empty + */ + public function stopWatching($accountId, $creativeId, Google_Service_AdExchangeBuyerII_StopWatchingCreativeRequest $postBody, $optParams = array()) + { + $params = array('accountId' => $accountId, 'creativeId' => $creativeId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('stopWatching', array($params), "Google_Service_AdExchangeBuyerII_Adexchangebuyer2Empty"); + } + /** + * Updates a creative. (creatives.update) + * + * @param string $accountId The account that this creative belongs to. Can be + * used to filter the response of the creatives.list method. + * @param string $creativeId The buyer-defined creative ID of this creative. Can + * be used to filter the response of the creatives.list method. + * @param Google_Service_AdExchangeBuyerII_Creative $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_AdExchangeBuyerII_Creative + */ + public function update($accountId, $creativeId, Google_Service_AdExchangeBuyerII_Creative $postBody, $optParams = array()) + { + $params = array('accountId' => $accountId, 'creativeId' => $creativeId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('update', array($params), "Google_Service_AdExchangeBuyerII_Creative"); + } + /** + * Watches a creative. Will result in push notifications being sent to the topic + * when the creative changes status. (creatives.watch) + * + * @param string $accountId The account of the creative to watch. + * @param string $creativeId The creative ID to watch for status changes. + * Specify "-" to watch all creatives under the above account. If both creative- + * level and account-level notifications are sent, only a single notification + * will be sent to the creative-level notification topic. + * @param Google_Service_AdExchangeBuyerII_WatchCreativeRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_AdExchangeBuyerII_Adexchangebuyer2Empty + */ + public function watch($accountId, $creativeId, Google_Service_AdExchangeBuyerII_WatchCreativeRequest $postBody, $optParams = array()) + { + $params = array('accountId' => $accountId, 'creativeId' => $creativeId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('watch', array($params), "Google_Service_AdExchangeBuyerII_Adexchangebuyer2Empty"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyerII/Resource/AccountsCreativesDealAssociations.php b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyerII/Resource/AccountsCreativesDealAssociations.php new file mode 100644 index 00000000..22ee0540 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyerII/Resource/AccountsCreativesDealAssociations.php @@ -0,0 +1,94 @@ + + * $adexchangebuyer2Service = new Google_Service_AdExchangeBuyerII(...); + * $dealAssociations = $adexchangebuyer2Service->dealAssociations; + * + */ +class Google_Service_AdExchangeBuyerII_Resource_AccountsCreativesDealAssociations extends Google_Service_Resource +{ + /** + * Associate an existing deal with a creative. (dealAssociations.add) + * + * @param string $accountId The account the creative belongs to. + * @param string $creativeId The ID of the creative associated with the deal. + * @param Google_Service_AdExchangeBuyerII_AddDealAssociationRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_AdExchangeBuyerII_Adexchangebuyer2Empty + */ + public function add($accountId, $creativeId, Google_Service_AdExchangeBuyerII_AddDealAssociationRequest $postBody, $optParams = array()) + { + $params = array('accountId' => $accountId, 'creativeId' => $creativeId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('add', array($params), "Google_Service_AdExchangeBuyerII_Adexchangebuyer2Empty"); + } + /** + * List all creative-deal associations. + * (dealAssociations.listAccountsCreativesDealAssociations) + * + * @param string $accountId The account to list the associations from. Specify + * "-" to list all creatives the current user has access to. + * @param string $creativeId The creative ID to list the associations from. + * Specify "-" to list all creatives under the above account. + * @param array $optParams Optional parameters. + * + * @opt_param string pageToken A token identifying a page of results the server + * should return. Typically, this is the value of + * ListDealAssociationsResponse.next_page_token returned from the previous call + * to 'ListDealAssociations' method. + * @opt_param int pageSize Requested page size. Server may return fewer + * associations than requested. If unspecified, server will pick an appropriate + * default. + * @opt_param string query An optional query string to filter deal associations. + * If no filter is specified, all associations will be returned. Supported + * queries are: + * + * accountId=account_id_string creativeId=creative_id_string + * dealsId=deals_id_string dealsStatus:{approved, conditionally_approved, + * disapproved, not_checked} openAuctionStatus:{approved, + * conditionally_approved, disapproved, not_checked} + * + * Example: 'dealsId=12345 AND dealsStatus:disapproved' + * @return Google_Service_AdExchangeBuyerII_ListDealAssociationsResponse + */ + public function listAccountsCreativesDealAssociations($accountId, $creativeId, $optParams = array()) + { + $params = array('accountId' => $accountId, 'creativeId' => $creativeId); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_AdExchangeBuyerII_ListDealAssociationsResponse"); + } + /** + * Remove the association between a deal and a creative. + * (dealAssociations.remove) + * + * @param string $accountId The account the creative belongs to. + * @param string $creativeId The ID of the creative associated with the deal. + * @param Google_Service_AdExchangeBuyerII_RemoveDealAssociationRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_AdExchangeBuyerII_Adexchangebuyer2Empty + */ + public function remove($accountId, $creativeId, Google_Service_AdExchangeBuyerII_RemoveDealAssociationRequest $postBody, $optParams = array()) + { + $params = array('accountId' => $accountId, 'creativeId' => $creativeId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('remove', array($params), "Google_Service_AdExchangeBuyerII_Adexchangebuyer2Empty"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyerII/SecurityContext.php b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyerII/SecurityContext.php new file mode 100644 index 00000000..c82d1917 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyerII/SecurityContext.php @@ -0,0 +1,31 @@ +securities = $securities; + } + public function getSecurities() + { + return $this->securities; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyerII/ServingContext.php b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyerII/ServingContext.php new file mode 100644 index 00000000..784fe232 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyerII/ServingContext.php @@ -0,0 +1,80 @@ +all = $all; + } + public function getAll() + { + return $this->all; + } + public function setAppType(Google_Service_AdExchangeBuyerII_AppContext $appType) + { + $this->appType = $appType; + } + public function getAppType() + { + return $this->appType; + } + public function setAuctionType(Google_Service_AdExchangeBuyerII_AuctionContext $auctionType) + { + $this->auctionType = $auctionType; + } + public function getAuctionType() + { + return $this->auctionType; + } + public function setLocation(Google_Service_AdExchangeBuyerII_LocationContext $location) + { + $this->location = $location; + } + public function getLocation() + { + return $this->location; + } + public function setPlatform(Google_Service_AdExchangeBuyerII_PlatformContext $platform) + { + $this->platform = $platform; + } + public function getPlatform() + { + return $this->platform; + } + public function setSecurityType(Google_Service_AdExchangeBuyerII_SecurityContext $securityType) + { + $this->securityType = $securityType; + } + public function getSecurityType() + { + return $this->securityType; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyerII/ServingRestriction.php b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyerII/ServingRestriction.php new file mode 100644 index 00000000..07684683 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyerII/ServingRestriction.php @@ -0,0 +1,51 @@ +contexts = $contexts; + } + public function getContexts() + { + return $this->contexts; + } + public function setDisapprovalReasons($disapprovalReasons) + { + $this->disapprovalReasons = $disapprovalReasons; + } + public function getDisapprovalReasons() + { + return $this->disapprovalReasons; + } + public function setStatus($status) + { + $this->status = $status; + } + public function getStatus() + { + return $this->status; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyerII/StopWatchingCreativeRequest.php b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyerII/StopWatchingCreativeRequest.php new file mode 100644 index 00000000..5b0c31ba --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyerII/StopWatchingCreativeRequest.php @@ -0,0 +1,20 @@ +videoUrl = $videoUrl; + } + public function getVideoUrl() + { + return $this->videoUrl; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyerII/WatchCreativeRequest.php b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyerII/WatchCreativeRequest.php new file mode 100644 index 00000000..f92ea705 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdExchangeBuyerII/WatchCreativeRequest.php @@ -0,0 +1,30 @@ +topic = $topic; + } + public function getTopic() + { + return $this->topic; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdExchangeSeller.php b/vendor/google/apiclient-services/src/Google/Service/AdExchangeSeller.php new file mode 100644 index 00000000..278069cb --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdExchangeSeller.php @@ -0,0 +1,428 @@ + + * Accesses the inventory of Ad Exchange seller users and generates reports.

+ * + *

+ * For more information about this service, see the API + * Documentation + *

+ * + * @author Google, Inc. + */ +class Google_Service_AdExchangeSeller extends Google_Service +{ + /** View and manage your Ad Exchange data. */ + const ADEXCHANGE_SELLER = + "https://www.googleapis.com/auth/adexchange.seller"; + /** View your Ad Exchange data. */ + const ADEXCHANGE_SELLER_READONLY = + "https://www.googleapis.com/auth/adexchange.seller.readonly"; + + public $accounts; + public $accounts_adclients; + public $accounts_alerts; + public $accounts_customchannels; + public $accounts_metadata_dimensions; + public $accounts_metadata_metrics; + public $accounts_preferreddeals; + public $accounts_reports; + public $accounts_reports_saved; + public $accounts_urlchannels; + + /** + * Constructs the internal representation of the AdExchangeSeller service. + * + * @param Google_Client $client + */ + public function __construct(Google_Client $client) + { + parent::__construct($client); + $this->rootUrl = 'https://www.googleapis.com/'; + $this->servicePath = 'adexchangeseller/v2.0/'; + $this->version = 'v2.0'; + $this->serviceName = 'adexchangeseller'; + + $this->accounts = new Google_Service_AdExchangeSeller_Resource_Accounts( + $this, + $this->serviceName, + 'accounts', + array( + 'methods' => array( + 'get' => array( + 'path' => 'accounts/{accountId}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'accountId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'accounts', + 'httpMethod' => 'GET', + 'parameters' => array( + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + $this->accounts_adclients = new Google_Service_AdExchangeSeller_Resource_AccountsAdclients( + $this, + $this->serviceName, + 'adclients', + array( + 'methods' => array( + 'list' => array( + 'path' => 'accounts/{accountId}/adclients', + 'httpMethod' => 'GET', + 'parameters' => array( + 'accountId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + $this->accounts_alerts = new Google_Service_AdExchangeSeller_Resource_AccountsAlerts( + $this, + $this->serviceName, + 'alerts', + array( + 'methods' => array( + 'list' => array( + 'path' => 'accounts/{accountId}/alerts', + 'httpMethod' => 'GET', + 'parameters' => array( + 'accountId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'locale' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + $this->accounts_customchannels = new Google_Service_AdExchangeSeller_Resource_AccountsCustomchannels( + $this, + $this->serviceName, + 'customchannels', + array( + 'methods' => array( + 'get' => array( + 'path' => 'accounts/{accountId}/adclients/{adClientId}/customchannels/{customChannelId}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'accountId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'adClientId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'customChannelId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'accounts/{accountId}/adclients/{adClientId}/customchannels', + 'httpMethod' => 'GET', + 'parameters' => array( + 'accountId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'adClientId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + $this->accounts_metadata_dimensions = new Google_Service_AdExchangeSeller_Resource_AccountsMetadataDimensions( + $this, + $this->serviceName, + 'dimensions', + array( + 'methods' => array( + 'list' => array( + 'path' => 'accounts/{accountId}/metadata/dimensions', + 'httpMethod' => 'GET', + 'parameters' => array( + 'accountId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->accounts_metadata_metrics = new Google_Service_AdExchangeSeller_Resource_AccountsMetadataMetrics( + $this, + $this->serviceName, + 'metrics', + array( + 'methods' => array( + 'list' => array( + 'path' => 'accounts/{accountId}/metadata/metrics', + 'httpMethod' => 'GET', + 'parameters' => array( + 'accountId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->accounts_preferreddeals = new Google_Service_AdExchangeSeller_Resource_AccountsPreferreddeals( + $this, + $this->serviceName, + 'preferreddeals', + array( + 'methods' => array( + 'get' => array( + 'path' => 'accounts/{accountId}/preferreddeals/{dealId}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'accountId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'dealId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'accounts/{accountId}/preferreddeals', + 'httpMethod' => 'GET', + 'parameters' => array( + 'accountId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->accounts_reports = new Google_Service_AdExchangeSeller_Resource_AccountsReports( + $this, + $this->serviceName, + 'reports', + array( + 'methods' => array( + 'generate' => array( + 'path' => 'accounts/{accountId}/reports', + 'httpMethod' => 'GET', + 'parameters' => array( + 'accountId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'startDate' => array( + 'location' => 'query', + 'type' => 'string', + 'required' => true, + ), + 'endDate' => array( + 'location' => 'query', + 'type' => 'string', + 'required' => true, + ), + 'dimension' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + ), + 'filter' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + ), + 'locale' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'metric' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + ), + 'sort' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + ), + 'startIndex' => array( + 'location' => 'query', + 'type' => 'integer', + ), + ), + ), + ) + ) + ); + $this->accounts_reports_saved = new Google_Service_AdExchangeSeller_Resource_AccountsReportsSaved( + $this, + $this->serviceName, + 'saved', + array( + 'methods' => array( + 'generate' => array( + 'path' => 'accounts/{accountId}/reports/{savedReportId}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'accountId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'savedReportId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'locale' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'startIndex' => array( + 'location' => 'query', + 'type' => 'integer', + ), + ), + ),'list' => array( + 'path' => 'accounts/{accountId}/reports/saved', + 'httpMethod' => 'GET', + 'parameters' => array( + 'accountId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + $this->accounts_urlchannels = new Google_Service_AdExchangeSeller_Resource_AccountsUrlchannels( + $this, + $this->serviceName, + 'urlchannels', + array( + 'methods' => array( + 'list' => array( + 'path' => 'accounts/{accountId}/adclients/{adClientId}/urlchannels', + 'httpMethod' => 'GET', + 'parameters' => array( + 'accountId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'adClientId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdExchangeSeller/Account.php b/vendor/google/apiclient-services/src/Google/Service/AdExchangeSeller/Account.php new file mode 100644 index 00000000..c5380f0c --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdExchangeSeller/Account.php @@ -0,0 +1,48 @@ +id = $id; + } + public function getId() + { + return $this->id; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdExchangeSeller/Accounts.php b/vendor/google/apiclient-services/src/Google/Service/AdExchangeSeller/Accounts.php new file mode 100644 index 00000000..678e0c89 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdExchangeSeller/Accounts.php @@ -0,0 +1,59 @@ +etag = $etag; + } + public function getEtag() + { + return $this->etag; + } + public function setItems($items) + { + $this->items = $items; + } + public function getItems() + { + return $this->items; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdExchangeSeller/AdClient.php b/vendor/google/apiclient-services/src/Google/Service/AdExchangeSeller/AdClient.php new file mode 100644 index 00000000..97bc8934 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdExchangeSeller/AdClient.php @@ -0,0 +1,66 @@ +arcOptIn = $arcOptIn; + } + public function getArcOptIn() + { + return $this->arcOptIn; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setProductCode($productCode) + { + $this->productCode = $productCode; + } + public function getProductCode() + { + return $this->productCode; + } + public function setSupportsReporting($supportsReporting) + { + $this->supportsReporting = $supportsReporting; + } + public function getSupportsReporting() + { + return $this->supportsReporting; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdExchangeSeller/AdClients.php b/vendor/google/apiclient-services/src/Google/Service/AdExchangeSeller/AdClients.php new file mode 100644 index 00000000..0577fb07 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdExchangeSeller/AdClients.php @@ -0,0 +1,59 @@ +etag = $etag; + } + public function getEtag() + { + return $this->etag; + } + public function setItems($items) + { + $this->items = $items; + } + public function getItems() + { + return $this->items; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdExchangeSeller/Alert.php b/vendor/google/apiclient-services/src/Google/Service/AdExchangeSeller/Alert.php new file mode 100644 index 00000000..798496c2 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdExchangeSeller/Alert.php @@ -0,0 +1,66 @@ +id = $id; + } + public function getId() + { + return $this->id; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setMessage($message) + { + $this->message = $message; + } + public function getMessage() + { + return $this->message; + } + public function setSeverity($severity) + { + $this->severity = $severity; + } + public function getSeverity() + { + return $this->severity; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdExchangeSeller/Alerts.php b/vendor/google/apiclient-services/src/Google/Service/AdExchangeSeller/Alerts.php new file mode 100644 index 00000000..902f261f --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdExchangeSeller/Alerts.php @@ -0,0 +1,41 @@ +items = $items; + } + public function getItems() + { + return $this->items; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdExchangeSeller/CustomChannel.php b/vendor/google/apiclient-services/src/Google/Service/AdExchangeSeller/CustomChannel.php new file mode 100644 index 00000000..016dbc9f --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdExchangeSeller/CustomChannel.php @@ -0,0 +1,67 @@ +code = $code; + } + public function getCode() + { + return $this->code; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setTargetingInfo(Google_Service_AdExchangeSeller_CustomChannelTargetingInfo $targetingInfo) + { + $this->targetingInfo = $targetingInfo; + } + public function getTargetingInfo() + { + return $this->targetingInfo; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdExchangeSeller/CustomChannelTargetingInfo.php b/vendor/google/apiclient-services/src/Google/Service/AdExchangeSeller/CustomChannelTargetingInfo.php new file mode 100644 index 00000000..a0f43d70 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdExchangeSeller/CustomChannelTargetingInfo.php @@ -0,0 +1,57 @@ +adsAppearOn = $adsAppearOn; + } + public function getAdsAppearOn() + { + return $this->adsAppearOn; + } + public function setDescription($description) + { + $this->description = $description; + } + public function getDescription() + { + return $this->description; + } + public function setLocation($location) + { + $this->location = $location; + } + public function getLocation() + { + return $this->location; + } + public function setSiteLanguage($siteLanguage) + { + $this->siteLanguage = $siteLanguage; + } + public function getSiteLanguage() + { + return $this->siteLanguage; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdExchangeSeller/CustomChannels.php b/vendor/google/apiclient-services/src/Google/Service/AdExchangeSeller/CustomChannels.php new file mode 100644 index 00000000..53a0aa08 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdExchangeSeller/CustomChannels.php @@ -0,0 +1,59 @@ +etag = $etag; + } + public function getEtag() + { + return $this->etag; + } + public function setItems($items) + { + $this->items = $items; + } + public function getItems() + { + return $this->items; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdExchangeSeller/Metadata.php b/vendor/google/apiclient-services/src/Google/Service/AdExchangeSeller/Metadata.php new file mode 100644 index 00000000..87f064a3 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdExchangeSeller/Metadata.php @@ -0,0 +1,41 @@ +items = $items; + } + public function getItems() + { + return $this->items; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdExchangeSeller/PreferredDeal.php b/vendor/google/apiclient-services/src/Google/Service/AdExchangeSeller/PreferredDeal.php new file mode 100644 index 00000000..bdbf73fd --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdExchangeSeller/PreferredDeal.php @@ -0,0 +1,93 @@ +advertiserName = $advertiserName; + } + public function getAdvertiserName() + { + return $this->advertiserName; + } + public function setBuyerNetworkName($buyerNetworkName) + { + $this->buyerNetworkName = $buyerNetworkName; + } + public function getBuyerNetworkName() + { + return $this->buyerNetworkName; + } + public function setCurrencyCode($currencyCode) + { + $this->currencyCode = $currencyCode; + } + public function getCurrencyCode() + { + return $this->currencyCode; + } + public function setEndTime($endTime) + { + $this->endTime = $endTime; + } + public function getEndTime() + { + return $this->endTime; + } + public function setFixedCpm($fixedCpm) + { + $this->fixedCpm = $fixedCpm; + } + public function getFixedCpm() + { + return $this->fixedCpm; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setStartTime($startTime) + { + $this->startTime = $startTime; + } + public function getStartTime() + { + return $this->startTime; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdExchangeSeller/PreferredDeals.php b/vendor/google/apiclient-services/src/Google/Service/AdExchangeSeller/PreferredDeals.php new file mode 100644 index 00000000..b50fbf63 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdExchangeSeller/PreferredDeals.php @@ -0,0 +1,41 @@ +items = $items; + } + public function getItems() + { + return $this->items; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdExchangeSeller/Report.php b/vendor/google/apiclient-services/src/Google/Service/AdExchangeSeller/Report.php new file mode 100644 index 00000000..9ee73d77 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdExchangeSeller/Report.php @@ -0,0 +1,86 @@ +averages = $averages; + } + public function getAverages() + { + return $this->averages; + } + public function setHeaders($headers) + { + $this->headers = $headers; + } + public function getHeaders() + { + return $this->headers; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setRows($rows) + { + $this->rows = $rows; + } + public function getRows() + { + return $this->rows; + } + public function setTotalMatchedRows($totalMatchedRows) + { + $this->totalMatchedRows = $totalMatchedRows; + } + public function getTotalMatchedRows() + { + return $this->totalMatchedRows; + } + public function setTotals($totals) + { + $this->totals = $totals; + } + public function getTotals() + { + return $this->totals; + } + public function setWarnings($warnings) + { + $this->warnings = $warnings; + } + public function getWarnings() + { + return $this->warnings; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdExchangeSeller/ReportHeaders.php b/vendor/google/apiclient-services/src/Google/Service/AdExchangeSeller/ReportHeaders.php new file mode 100644 index 00000000..0321c042 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdExchangeSeller/ReportHeaders.php @@ -0,0 +1,48 @@ +currency = $currency; + } + public function getCurrency() + { + return $this->currency; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdExchangeSeller/ReportingMetadataEntry.php b/vendor/google/apiclient-services/src/Google/Service/AdExchangeSeller/ReportingMetadataEntry.php new file mode 100644 index 00000000..c8b90c46 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdExchangeSeller/ReportingMetadataEntry.php @@ -0,0 +1,85 @@ +compatibleDimensions = $compatibleDimensions; + } + public function getCompatibleDimensions() + { + return $this->compatibleDimensions; + } + public function setCompatibleMetrics($compatibleMetrics) + { + $this->compatibleMetrics = $compatibleMetrics; + } + public function getCompatibleMetrics() + { + return $this->compatibleMetrics; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setRequiredDimensions($requiredDimensions) + { + $this->requiredDimensions = $requiredDimensions; + } + public function getRequiredDimensions() + { + return $this->requiredDimensions; + } + public function setRequiredMetrics($requiredMetrics) + { + $this->requiredMetrics = $requiredMetrics; + } + public function getRequiredMetrics() + { + return $this->requiredMetrics; + } + public function setSupportedProducts($supportedProducts) + { + $this->supportedProducts = $supportedProducts; + } + public function getSupportedProducts() + { + return $this->supportedProducts; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdExchangeSeller/Resource/Accounts.php b/vendor/google/apiclient-services/src/Google/Service/AdExchangeSeller/Resource/Accounts.php new file mode 100644 index 00000000..a107fbae --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdExchangeSeller/Resource/Accounts.php @@ -0,0 +1,61 @@ + + * $adexchangesellerService = new Google_Service_AdExchangeSeller(...); + * $accounts = $adexchangesellerService->accounts; + * + */ +class Google_Service_AdExchangeSeller_Resource_Accounts extends Google_Service_Resource +{ + /** + * Get information about the selected Ad Exchange account. (accounts.get) + * + * @param string $accountId Account to get information about. Tip: 'myaccount' + * is a valid ID. + * @param array $optParams Optional parameters. + * @return Google_Service_AdExchangeSeller_Account + */ + public function get($accountId, $optParams = array()) + { + $params = array('accountId' => $accountId); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_AdExchangeSeller_Account"); + } + /** + * List all accounts available to this Ad Exchange account. + * (accounts.listAccounts) + * + * @param array $optParams Optional parameters. + * + * @opt_param int maxResults The maximum number of accounts to include in the + * response, used for paging. + * @opt_param string pageToken A continuation token, used to page through + * accounts. To retrieve the next page, set this parameter to the value of + * "nextPageToken" from the previous response. + * @return Google_Service_AdExchangeSeller_Accounts + */ + public function listAccounts($optParams = array()) + { + $params = array(); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_AdExchangeSeller_Accounts"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdExchangeSeller/Resource/AccountsAdclients.php b/vendor/google/apiclient-services/src/Google/Service/AdExchangeSeller/Resource/AccountsAdclients.php new file mode 100644 index 00000000..af4a9489 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdExchangeSeller/Resource/AccountsAdclients.php @@ -0,0 +1,48 @@ + + * $adexchangesellerService = new Google_Service_AdExchangeSeller(...); + * $adclients = $adexchangesellerService->adclients; + * + */ +class Google_Service_AdExchangeSeller_Resource_AccountsAdclients extends Google_Service_Resource +{ + /** + * List all ad clients in this Ad Exchange account. + * (adclients.listAccountsAdclients) + * + * @param string $accountId Account to which the ad client belongs. + * @param array $optParams Optional parameters. + * + * @opt_param string maxResults The maximum number of ad clients to include in + * the response, used for paging. + * @opt_param string pageToken A continuation token, used to page through ad + * clients. To retrieve the next page, set this parameter to the value of + * "nextPageToken" from the previous response. + * @return Google_Service_AdExchangeSeller_AdClients + */ + public function listAccountsAdclients($accountId, $optParams = array()) + { + $params = array('accountId' => $accountId); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_AdExchangeSeller_AdClients"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdExchangeSeller/Resource/AccountsAlerts.php b/vendor/google/apiclient-services/src/Google/Service/AdExchangeSeller/Resource/AccountsAlerts.php new file mode 100644 index 00000000..66ab285e --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdExchangeSeller/Resource/AccountsAlerts.php @@ -0,0 +1,45 @@ + + * $adexchangesellerService = new Google_Service_AdExchangeSeller(...); + * $alerts = $adexchangesellerService->alerts; + * + */ +class Google_Service_AdExchangeSeller_Resource_AccountsAlerts extends Google_Service_Resource +{ + /** + * List the alerts for this Ad Exchange account. (alerts.listAccountsAlerts) + * + * @param string $accountId Account owning the alerts. + * @param array $optParams Optional parameters. + * + * @opt_param string locale The locale to use for translating alert messages. + * The account locale will be used if this is not supplied. The AdSense default + * (English) will be used if the supplied locale is invalid or unsupported. + * @return Google_Service_AdExchangeSeller_Alerts + */ + public function listAccountsAlerts($accountId, $optParams = array()) + { + $params = array('accountId' => $accountId); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_AdExchangeSeller_Alerts"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdExchangeSeller/Resource/AccountsCustomchannels.php b/vendor/google/apiclient-services/src/Google/Service/AdExchangeSeller/Resource/AccountsCustomchannels.php new file mode 100644 index 00000000..8b23fc2e --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdExchangeSeller/Resource/AccountsCustomchannels.php @@ -0,0 +1,65 @@ + + * $adexchangesellerService = new Google_Service_AdExchangeSeller(...); + * $customchannels = $adexchangesellerService->customchannels; + * + */ +class Google_Service_AdExchangeSeller_Resource_AccountsCustomchannels extends Google_Service_Resource +{ + /** + * Get the specified custom channel from the specified ad client. + * (customchannels.get) + * + * @param string $accountId Account to which the ad client belongs. + * @param string $adClientId Ad client which contains the custom channel. + * @param string $customChannelId Custom channel to retrieve. + * @param array $optParams Optional parameters. + * @return Google_Service_AdExchangeSeller_CustomChannel + */ + public function get($accountId, $adClientId, $customChannelId, $optParams = array()) + { + $params = array('accountId' => $accountId, 'adClientId' => $adClientId, 'customChannelId' => $customChannelId); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_AdExchangeSeller_CustomChannel"); + } + /** + * List all custom channels in the specified ad client for this Ad Exchange + * account. (customchannels.listAccountsCustomchannels) + * + * @param string $accountId Account to which the ad client belongs. + * @param string $adClientId Ad client for which to list custom channels. + * @param array $optParams Optional parameters. + * + * @opt_param string maxResults The maximum number of custom channels to include + * in the response, used for paging. + * @opt_param string pageToken A continuation token, used to page through custom + * channels. To retrieve the next page, set this parameter to the value of + * "nextPageToken" from the previous response. + * @return Google_Service_AdExchangeSeller_CustomChannels + */ + public function listAccountsCustomchannels($accountId, $adClientId, $optParams = array()) + { + $params = array('accountId' => $accountId, 'adClientId' => $adClientId); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_AdExchangeSeller_CustomChannels"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdExchangeSeller/Resource/AccountsMetadata.php b/vendor/google/apiclient-services/src/Google/Service/AdExchangeSeller/Resource/AccountsMetadata.php new file mode 100644 index 00000000..55e090a3 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdExchangeSeller/Resource/AccountsMetadata.php @@ -0,0 +1,28 @@ + + * $adexchangesellerService = new Google_Service_AdExchangeSeller(...); + * $metadata = $adexchangesellerService->metadata; + * + */ +class Google_Service_AdExchangeSeller_Resource_AccountsMetadata extends Google_Service_Resource +{ +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdExchangeSeller/Resource/AccountsMetadataDimensions.php b/vendor/google/apiclient-services/src/Google/Service/AdExchangeSeller/Resource/AccountsMetadataDimensions.php new file mode 100644 index 00000000..197fc8dd --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdExchangeSeller/Resource/AccountsMetadataDimensions.php @@ -0,0 +1,42 @@ + + * $adexchangesellerService = new Google_Service_AdExchangeSeller(...); + * $dimensions = $adexchangesellerService->dimensions; + * + */ +class Google_Service_AdExchangeSeller_Resource_AccountsMetadataDimensions extends Google_Service_Resource +{ + /** + * List the metadata for the dimensions available to this AdExchange account. + * (dimensions.listAccountsMetadataDimensions) + * + * @param string $accountId Account with visibility to the dimensions. + * @param array $optParams Optional parameters. + * @return Google_Service_AdExchangeSeller_Metadata + */ + public function listAccountsMetadataDimensions($accountId, $optParams = array()) + { + $params = array('accountId' => $accountId); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_AdExchangeSeller_Metadata"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdExchangeSeller/Resource/AccountsMetadataMetrics.php b/vendor/google/apiclient-services/src/Google/Service/AdExchangeSeller/Resource/AccountsMetadataMetrics.php new file mode 100644 index 00000000..90aa3968 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdExchangeSeller/Resource/AccountsMetadataMetrics.php @@ -0,0 +1,42 @@ + + * $adexchangesellerService = new Google_Service_AdExchangeSeller(...); + * $metrics = $adexchangesellerService->metrics; + * + */ +class Google_Service_AdExchangeSeller_Resource_AccountsMetadataMetrics extends Google_Service_Resource +{ + /** + * List the metadata for the metrics available to this AdExchange account. + * (metrics.listAccountsMetadataMetrics) + * + * @param string $accountId Account with visibility to the metrics. + * @param array $optParams Optional parameters. + * @return Google_Service_AdExchangeSeller_Metadata + */ + public function listAccountsMetadataMetrics($accountId, $optParams = array()) + { + $params = array('accountId' => $accountId); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_AdExchangeSeller_Metadata"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdExchangeSeller/Resource/AccountsPreferreddeals.php b/vendor/google/apiclient-services/src/Google/Service/AdExchangeSeller/Resource/AccountsPreferreddeals.php new file mode 100644 index 00000000..91daee92 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdExchangeSeller/Resource/AccountsPreferreddeals.php @@ -0,0 +1,57 @@ + + * $adexchangesellerService = new Google_Service_AdExchangeSeller(...); + * $preferreddeals = $adexchangesellerService->preferreddeals; + * + */ +class Google_Service_AdExchangeSeller_Resource_AccountsPreferreddeals extends Google_Service_Resource +{ + /** + * Get information about the selected Ad Exchange Preferred Deal. + * (preferreddeals.get) + * + * @param string $accountId Account owning the deal. + * @param string $dealId Preferred deal to get information about. + * @param array $optParams Optional parameters. + * @return Google_Service_AdExchangeSeller_PreferredDeal + */ + public function get($accountId, $dealId, $optParams = array()) + { + $params = array('accountId' => $accountId, 'dealId' => $dealId); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_AdExchangeSeller_PreferredDeal"); + } + /** + * List the preferred deals for this Ad Exchange account. + * (preferreddeals.listAccountsPreferreddeals) + * + * @param string $accountId Account owning the deals. + * @param array $optParams Optional parameters. + * @return Google_Service_AdExchangeSeller_PreferredDeals + */ + public function listAccountsPreferreddeals($accountId, $optParams = array()) + { + $params = array('accountId' => $accountId); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_AdExchangeSeller_PreferredDeals"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdExchangeSeller/Resource/AccountsReports.php b/vendor/google/apiclient-services/src/Google/Service/AdExchangeSeller/Resource/AccountsReports.php new file mode 100644 index 00000000..33c70e59 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdExchangeSeller/Resource/AccountsReports.php @@ -0,0 +1,59 @@ + + * $adexchangesellerService = new Google_Service_AdExchangeSeller(...); + * $reports = $adexchangesellerService->reports; + * + */ +class Google_Service_AdExchangeSeller_Resource_AccountsReports extends Google_Service_Resource +{ + /** + * Generate an Ad Exchange report based on the report request sent in the query + * parameters. Returns the result as JSON; to retrieve output in CSV format + * specify "alt=csv" as a query parameter. (reports.generate) + * + * @param string $accountId Account which owns the generated report. + * @param string $startDate Start of the date range to report on in "YYYY-MM-DD" + * format, inclusive. + * @param string $endDate End of the date range to report on in "YYYY-MM-DD" + * format, inclusive. + * @param array $optParams Optional parameters. + * + * @opt_param string dimension Dimensions to base the report on. + * @opt_param string filter Filters to be run on the report. + * @opt_param string locale Optional locale to use for translating report output + * to a local language. Defaults to "en_US" if not specified. + * @opt_param string maxResults The maximum number of rows of report data to + * return. + * @opt_param string metric Numeric columns to include in the report. + * @opt_param string sort The name of a dimension or metric to sort the + * resulting report on, optionally prefixed with "+" to sort ascending or "-" to + * sort descending. If no prefix is specified, the column is sorted ascending. + * @opt_param string startIndex Index of the first row of report data to return. + * @return Google_Service_AdExchangeSeller_Report + */ + public function generate($accountId, $startDate, $endDate, $optParams = array()) + { + $params = array('accountId' => $accountId, 'startDate' => $startDate, 'endDate' => $endDate); + $params = array_merge($params, $optParams); + return $this->call('generate', array($params), "Google_Service_AdExchangeSeller_Report"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdExchangeSeller/Resource/AccountsReportsSaved.php b/vendor/google/apiclient-services/src/Google/Service/AdExchangeSeller/Resource/AccountsReportsSaved.php new file mode 100644 index 00000000..8a0441c7 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdExchangeSeller/Resource/AccountsReportsSaved.php @@ -0,0 +1,69 @@ + + * $adexchangesellerService = new Google_Service_AdExchangeSeller(...); + * $saved = $adexchangesellerService->saved; + * + */ +class Google_Service_AdExchangeSeller_Resource_AccountsReportsSaved extends Google_Service_Resource +{ + /** + * Generate an Ad Exchange report based on the saved report ID sent in the query + * parameters. (saved.generate) + * + * @param string $accountId Account owning the saved report. + * @param string $savedReportId The saved report to retrieve. + * @param array $optParams Optional parameters. + * + * @opt_param string locale Optional locale to use for translating report output + * to a local language. Defaults to "en_US" if not specified. + * @opt_param int maxResults The maximum number of rows of report data to + * return. + * @opt_param int startIndex Index of the first row of report data to return. + * @return Google_Service_AdExchangeSeller_Report + */ + public function generate($accountId, $savedReportId, $optParams = array()) + { + $params = array('accountId' => $accountId, 'savedReportId' => $savedReportId); + $params = array_merge($params, $optParams); + return $this->call('generate', array($params), "Google_Service_AdExchangeSeller_Report"); + } + /** + * List all saved reports in this Ad Exchange account. + * (saved.listAccountsReportsSaved) + * + * @param string $accountId Account owning the saved reports. + * @param array $optParams Optional parameters. + * + * @opt_param int maxResults The maximum number of saved reports to include in + * the response, used for paging. + * @opt_param string pageToken A continuation token, used to page through saved + * reports. To retrieve the next page, set this parameter to the value of + * "nextPageToken" from the previous response. + * @return Google_Service_AdExchangeSeller_SavedReports + */ + public function listAccountsReportsSaved($accountId, $optParams = array()) + { + $params = array('accountId' => $accountId); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_AdExchangeSeller_SavedReports"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdExchangeSeller/Resource/AccountsUrlchannels.php b/vendor/google/apiclient-services/src/Google/Service/AdExchangeSeller/Resource/AccountsUrlchannels.php new file mode 100644 index 00000000..13a9106a --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdExchangeSeller/Resource/AccountsUrlchannels.php @@ -0,0 +1,49 @@ + + * $adexchangesellerService = new Google_Service_AdExchangeSeller(...); + * $urlchannels = $adexchangesellerService->urlchannels; + * + */ +class Google_Service_AdExchangeSeller_Resource_AccountsUrlchannels extends Google_Service_Resource +{ + /** + * List all URL channels in the specified ad client for this Ad Exchange + * account. (urlchannels.listAccountsUrlchannels) + * + * @param string $accountId Account to which the ad client belongs. + * @param string $adClientId Ad client for which to list URL channels. + * @param array $optParams Optional parameters. + * + * @opt_param string maxResults The maximum number of URL channels to include in + * the response, used for paging. + * @opt_param string pageToken A continuation token, used to page through URL + * channels. To retrieve the next page, set this parameter to the value of + * "nextPageToken" from the previous response. + * @return Google_Service_AdExchangeSeller_UrlChannels + */ + public function listAccountsUrlchannels($accountId, $adClientId, $optParams = array()) + { + $params = array('accountId' => $accountId, 'adClientId' => $adClientId); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_AdExchangeSeller_UrlChannels"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdExchangeSeller/SavedReport.php b/vendor/google/apiclient-services/src/Google/Service/AdExchangeSeller/SavedReport.php new file mode 100644 index 00000000..8dfa6cb4 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdExchangeSeller/SavedReport.php @@ -0,0 +1,48 @@ +id = $id; + } + public function getId() + { + return $this->id; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdExchangeSeller/SavedReports.php b/vendor/google/apiclient-services/src/Google/Service/AdExchangeSeller/SavedReports.php new file mode 100644 index 00000000..c20cabc3 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdExchangeSeller/SavedReports.php @@ -0,0 +1,59 @@ +etag = $etag; + } + public function getEtag() + { + return $this->etag; + } + public function setItems($items) + { + $this->items = $items; + } + public function getItems() + { + return $this->items; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdExchangeSeller/UrlChannel.php b/vendor/google/apiclient-services/src/Google/Service/AdExchangeSeller/UrlChannel.php new file mode 100644 index 00000000..645b6fca --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdExchangeSeller/UrlChannel.php @@ -0,0 +1,48 @@ +id = $id; + } + public function getId() + { + return $this->id; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setUrlPattern($urlPattern) + { + $this->urlPattern = $urlPattern; + } + public function getUrlPattern() + { + return $this->urlPattern; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdExchangeSeller/UrlChannels.php b/vendor/google/apiclient-services/src/Google/Service/AdExchangeSeller/UrlChannels.php new file mode 100644 index 00000000..7b1b39a8 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdExchangeSeller/UrlChannels.php @@ -0,0 +1,59 @@ +etag = $etag; + } + public function getEtag() + { + return $this->etag; + } + public function setItems($items) + { + $this->items = $items; + } + public function getItems() + { + return $this->items; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdSense.php b/vendor/google/apiclient-services/src/Google/Service/AdSense.php new file mode 100644 index 00000000..8463904c --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdSense.php @@ -0,0 +1,1060 @@ + + * Accesses AdSense publishers' inventory and generates performance reports.

+ * + *

+ * For more information about this service, see the API + * Documentation + *

+ * + * @author Google, Inc. + */ +class Google_Service_AdSense extends Google_Service +{ + /** View and manage your AdSense data. */ + const ADSENSE = + "https://www.googleapis.com/auth/adsense"; + /** View your AdSense data. */ + const ADSENSE_READONLY = + "https://www.googleapis.com/auth/adsense.readonly"; + + public $accounts; + public $accounts_adclients; + public $accounts_adunits; + public $accounts_adunits_customchannels; + public $accounts_alerts; + public $accounts_customchannels; + public $accounts_customchannels_adunits; + public $accounts_payments; + public $accounts_reports; + public $accounts_reports_saved; + public $accounts_savedadstyles; + public $accounts_urlchannels; + public $adclients; + public $adunits; + public $adunits_customchannels; + public $alerts; + public $customchannels; + public $customchannels_adunits; + public $metadata_dimensions; + public $metadata_metrics; + public $payments; + public $reports; + public $reports_saved; + public $savedadstyles; + public $urlchannels; + + /** + * Constructs the internal representation of the AdSense service. + * + * @param Google_Client $client + */ + public function __construct(Google_Client $client) + { + parent::__construct($client); + $this->rootUrl = 'https://www.googleapis.com/'; + $this->servicePath = 'adsense/v1.4/'; + $this->version = 'v1.4'; + $this->serviceName = 'adsense'; + + $this->accounts = new Google_Service_AdSense_Resource_Accounts( + $this, + $this->serviceName, + 'accounts', + array( + 'methods' => array( + 'get' => array( + 'path' => 'accounts/{accountId}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'accountId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'tree' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + ), + ),'list' => array( + 'path' => 'accounts', + 'httpMethod' => 'GET', + 'parameters' => array( + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + $this->accounts_adclients = new Google_Service_AdSense_Resource_AccountsAdclients( + $this, + $this->serviceName, + 'adclients', + array( + 'methods' => array( + 'list' => array( + 'path' => 'accounts/{accountId}/adclients', + 'httpMethod' => 'GET', + 'parameters' => array( + 'accountId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + $this->accounts_adunits = new Google_Service_AdSense_Resource_AccountsAdunits( + $this, + $this->serviceName, + 'adunits', + array( + 'methods' => array( + 'get' => array( + 'path' => 'accounts/{accountId}/adclients/{adClientId}/adunits/{adUnitId}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'accountId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'adClientId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'adUnitId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'getAdCode' => array( + 'path' => 'accounts/{accountId}/adclients/{adClientId}/adunits/{adUnitId}/adcode', + 'httpMethod' => 'GET', + 'parameters' => array( + 'accountId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'adClientId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'adUnitId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'accounts/{accountId}/adclients/{adClientId}/adunits', + 'httpMethod' => 'GET', + 'parameters' => array( + 'accountId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'adClientId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'includeInactive' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + $this->accounts_adunits_customchannels = new Google_Service_AdSense_Resource_AccountsAdunitsCustomchannels( + $this, + $this->serviceName, + 'customchannels', + array( + 'methods' => array( + 'list' => array( + 'path' => 'accounts/{accountId}/adclients/{adClientId}/adunits/{adUnitId}/customchannels', + 'httpMethod' => 'GET', + 'parameters' => array( + 'accountId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'adClientId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'adUnitId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + $this->accounts_alerts = new Google_Service_AdSense_Resource_AccountsAlerts( + $this, + $this->serviceName, + 'alerts', + array( + 'methods' => array( + 'delete' => array( + 'path' => 'accounts/{accountId}/alerts/{alertId}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'accountId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'alertId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'accounts/{accountId}/alerts', + 'httpMethod' => 'GET', + 'parameters' => array( + 'accountId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'locale' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + $this->accounts_customchannels = new Google_Service_AdSense_Resource_AccountsCustomchannels( + $this, + $this->serviceName, + 'customchannels', + array( + 'methods' => array( + 'get' => array( + 'path' => 'accounts/{accountId}/adclients/{adClientId}/customchannels/{customChannelId}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'accountId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'adClientId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'customChannelId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'accounts/{accountId}/adclients/{adClientId}/customchannels', + 'httpMethod' => 'GET', + 'parameters' => array( + 'accountId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'adClientId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + $this->accounts_customchannels_adunits = new Google_Service_AdSense_Resource_AccountsCustomchannelsAdunits( + $this, + $this->serviceName, + 'adunits', + array( + 'methods' => array( + 'list' => array( + 'path' => 'accounts/{accountId}/adclients/{adClientId}/customchannels/{customChannelId}/adunits', + 'httpMethod' => 'GET', + 'parameters' => array( + 'accountId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'adClientId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'customChannelId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'includeInactive' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + $this->accounts_payments = new Google_Service_AdSense_Resource_AccountsPayments( + $this, + $this->serviceName, + 'payments', + array( + 'methods' => array( + 'list' => array( + 'path' => 'accounts/{accountId}/payments', + 'httpMethod' => 'GET', + 'parameters' => array( + 'accountId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->accounts_reports = new Google_Service_AdSense_Resource_AccountsReports( + $this, + $this->serviceName, + 'reports', + array( + 'methods' => array( + 'generate' => array( + 'path' => 'accounts/{accountId}/reports', + 'httpMethod' => 'GET', + 'parameters' => array( + 'accountId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'startDate' => array( + 'location' => 'query', + 'type' => 'string', + 'required' => true, + ), + 'endDate' => array( + 'location' => 'query', + 'type' => 'string', + 'required' => true, + ), + 'currency' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'dimension' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + ), + 'filter' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + ), + 'locale' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'metric' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + ), + 'sort' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + ), + 'startIndex' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'useTimezoneReporting' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + ), + ), + ) + ) + ); + $this->accounts_reports_saved = new Google_Service_AdSense_Resource_AccountsReportsSaved( + $this, + $this->serviceName, + 'saved', + array( + 'methods' => array( + 'generate' => array( + 'path' => 'accounts/{accountId}/reports/{savedReportId}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'accountId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'savedReportId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'locale' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'startIndex' => array( + 'location' => 'query', + 'type' => 'integer', + ), + ), + ),'list' => array( + 'path' => 'accounts/{accountId}/reports/saved', + 'httpMethod' => 'GET', + 'parameters' => array( + 'accountId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + $this->accounts_savedadstyles = new Google_Service_AdSense_Resource_AccountsSavedadstyles( + $this, + $this->serviceName, + 'savedadstyles', + array( + 'methods' => array( + 'get' => array( + 'path' => 'accounts/{accountId}/savedadstyles/{savedAdStyleId}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'accountId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'savedAdStyleId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'accounts/{accountId}/savedadstyles', + 'httpMethod' => 'GET', + 'parameters' => array( + 'accountId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + $this->accounts_urlchannels = new Google_Service_AdSense_Resource_AccountsUrlchannels( + $this, + $this->serviceName, + 'urlchannels', + array( + 'methods' => array( + 'list' => array( + 'path' => 'accounts/{accountId}/adclients/{adClientId}/urlchannels', + 'httpMethod' => 'GET', + 'parameters' => array( + 'accountId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'adClientId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + $this->adclients = new Google_Service_AdSense_Resource_Adclients( + $this, + $this->serviceName, + 'adclients', + array( + 'methods' => array( + 'list' => array( + 'path' => 'adclients', + 'httpMethod' => 'GET', + 'parameters' => array( + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + $this->adunits = new Google_Service_AdSense_Resource_Adunits( + $this, + $this->serviceName, + 'adunits', + array( + 'methods' => array( + 'get' => array( + 'path' => 'adclients/{adClientId}/adunits/{adUnitId}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'adClientId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'adUnitId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'getAdCode' => array( + 'path' => 'adclients/{adClientId}/adunits/{adUnitId}/adcode', + 'httpMethod' => 'GET', + 'parameters' => array( + 'adClientId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'adUnitId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'adclients/{adClientId}/adunits', + 'httpMethod' => 'GET', + 'parameters' => array( + 'adClientId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'includeInactive' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + $this->adunits_customchannels = new Google_Service_AdSense_Resource_AdunitsCustomchannels( + $this, + $this->serviceName, + 'customchannels', + array( + 'methods' => array( + 'list' => array( + 'path' => 'adclients/{adClientId}/adunits/{adUnitId}/customchannels', + 'httpMethod' => 'GET', + 'parameters' => array( + 'adClientId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'adUnitId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + $this->alerts = new Google_Service_AdSense_Resource_Alerts( + $this, + $this->serviceName, + 'alerts', + array( + 'methods' => array( + 'delete' => array( + 'path' => 'alerts/{alertId}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'alertId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'alerts', + 'httpMethod' => 'GET', + 'parameters' => array( + 'locale' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + $this->customchannels = new Google_Service_AdSense_Resource_Customchannels( + $this, + $this->serviceName, + 'customchannels', + array( + 'methods' => array( + 'get' => array( + 'path' => 'adclients/{adClientId}/customchannels/{customChannelId}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'adClientId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'customChannelId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'adclients/{adClientId}/customchannels', + 'httpMethod' => 'GET', + 'parameters' => array( + 'adClientId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + $this->customchannels_adunits = new Google_Service_AdSense_Resource_CustomchannelsAdunits( + $this, + $this->serviceName, + 'adunits', + array( + 'methods' => array( + 'list' => array( + 'path' => 'adclients/{adClientId}/customchannels/{customChannelId}/adunits', + 'httpMethod' => 'GET', + 'parameters' => array( + 'adClientId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'customChannelId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'includeInactive' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + $this->metadata_dimensions = new Google_Service_AdSense_Resource_MetadataDimensions( + $this, + $this->serviceName, + 'dimensions', + array( + 'methods' => array( + 'list' => array( + 'path' => 'metadata/dimensions', + 'httpMethod' => 'GET', + 'parameters' => array(), + ), + ) + ) + ); + $this->metadata_metrics = new Google_Service_AdSense_Resource_MetadataMetrics( + $this, + $this->serviceName, + 'metrics', + array( + 'methods' => array( + 'list' => array( + 'path' => 'metadata/metrics', + 'httpMethod' => 'GET', + 'parameters' => array(), + ), + ) + ) + ); + $this->payments = new Google_Service_AdSense_Resource_Payments( + $this, + $this->serviceName, + 'payments', + array( + 'methods' => array( + 'list' => array( + 'path' => 'payments', + 'httpMethod' => 'GET', + 'parameters' => array(), + ), + ) + ) + ); + $this->reports = new Google_Service_AdSense_Resource_Reports( + $this, + $this->serviceName, + 'reports', + array( + 'methods' => array( + 'generate' => array( + 'path' => 'reports', + 'httpMethod' => 'GET', + 'parameters' => array( + 'startDate' => array( + 'location' => 'query', + 'type' => 'string', + 'required' => true, + ), + 'endDate' => array( + 'location' => 'query', + 'type' => 'string', + 'required' => true, + ), + 'accountId' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + ), + 'currency' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'dimension' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + ), + 'filter' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + ), + 'locale' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'metric' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + ), + 'sort' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + ), + 'startIndex' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'useTimezoneReporting' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + ), + ), + ) + ) + ); + $this->reports_saved = new Google_Service_AdSense_Resource_ReportsSaved( + $this, + $this->serviceName, + 'saved', + array( + 'methods' => array( + 'generate' => array( + 'path' => 'reports/{savedReportId}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'savedReportId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'locale' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'startIndex' => array( + 'location' => 'query', + 'type' => 'integer', + ), + ), + ),'list' => array( + 'path' => 'reports/saved', + 'httpMethod' => 'GET', + 'parameters' => array( + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + $this->savedadstyles = new Google_Service_AdSense_Resource_Savedadstyles( + $this, + $this->serviceName, + 'savedadstyles', + array( + 'methods' => array( + 'get' => array( + 'path' => 'savedadstyles/{savedAdStyleId}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'savedAdStyleId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'savedadstyles', + 'httpMethod' => 'GET', + 'parameters' => array( + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + $this->urlchannels = new Google_Service_AdSense_Resource_Urlchannels( + $this, + $this->serviceName, + 'urlchannels', + array( + 'methods' => array( + 'list' => array( + 'path' => 'adclients/{adClientId}/urlchannels', + 'httpMethod' => 'GET', + 'parameters' => array( + 'adClientId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdSense/Account.php b/vendor/google/apiclient-services/src/Google/Service/AdSense/Account.php new file mode 100644 index 00000000..a627aa78 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdSense/Account.php @@ -0,0 +1,89 @@ + "creation_time", + ); + public $creationTime; + public $id; + public $kind; + public $name; + public $premium; + protected $subAccountsType = 'Google_Service_AdSense_Account'; + protected $subAccountsDataType = 'array'; + public $timezone; + + public function setCreationTime($creationTime) + { + $this->creationTime = $creationTime; + } + public function getCreationTime() + { + return $this->creationTime; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setPremium($premium) + { + $this->premium = $premium; + } + public function getPremium() + { + return $this->premium; + } + public function setSubAccounts($subAccounts) + { + $this->subAccounts = $subAccounts; + } + public function getSubAccounts() + { + return $this->subAccounts; + } + public function setTimezone($timezone) + { + $this->timezone = $timezone; + } + public function getTimezone() + { + return $this->timezone; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdSense/Accounts.php b/vendor/google/apiclient-services/src/Google/Service/AdSense/Accounts.php new file mode 100644 index 00000000..b7a3d6b8 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdSense/Accounts.php @@ -0,0 +1,59 @@ +etag = $etag; + } + public function getEtag() + { + return $this->etag; + } + public function setItems($items) + { + $this->items = $items; + } + public function getItems() + { + return $this->items; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdSense/AdClient.php b/vendor/google/apiclient-services/src/Google/Service/AdSense/AdClient.php new file mode 100644 index 00000000..c34218f3 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdSense/AdClient.php @@ -0,0 +1,66 @@ +arcOptIn = $arcOptIn; + } + public function getArcOptIn() + { + return $this->arcOptIn; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setProductCode($productCode) + { + $this->productCode = $productCode; + } + public function getProductCode() + { + return $this->productCode; + } + public function setSupportsReporting($supportsReporting) + { + $this->supportsReporting = $supportsReporting; + } + public function getSupportsReporting() + { + return $this->supportsReporting; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdSense/AdClients.php b/vendor/google/apiclient-services/src/Google/Service/AdSense/AdClients.php new file mode 100644 index 00000000..4347876e --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdSense/AdClients.php @@ -0,0 +1,59 @@ +etag = $etag; + } + public function getEtag() + { + return $this->etag; + } + public function setItems($items) + { + $this->items = $items; + } + public function getItems() + { + return $this->items; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdSense/AdCode.php b/vendor/google/apiclient-services/src/Google/Service/AdSense/AdCode.php new file mode 100644 index 00000000..2efb9d6b --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdSense/AdCode.php @@ -0,0 +1,39 @@ +adCode = $adCode; + } + public function getAdCode() + { + return $this->adCode; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdSense/AdStyle.php b/vendor/google/apiclient-services/src/Google/Service/AdSense/AdStyle.php new file mode 100644 index 00000000..491c2a46 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdSense/AdStyle.php @@ -0,0 +1,59 @@ +colors = $colors; + } + public function getColors() + { + return $this->colors; + } + public function setCorners($corners) + { + $this->corners = $corners; + } + public function getCorners() + { + return $this->corners; + } + public function setFont(Google_Service_AdSense_AdStyleFont $font) + { + $this->font = $font; + } + public function getFont() + { + return $this->font; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdSense/AdStyleColors.php b/vendor/google/apiclient-services/src/Google/Service/AdSense/AdStyleColors.php new file mode 100644 index 00000000..a844ccf9 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdSense/AdStyleColors.php @@ -0,0 +1,66 @@ +background = $background; + } + public function getBackground() + { + return $this->background; + } + public function setBorder($border) + { + $this->border = $border; + } + public function getBorder() + { + return $this->border; + } + public function setText($text) + { + $this->text = $text; + } + public function getText() + { + return $this->text; + } + public function setTitle($title) + { + $this->title = $title; + } + public function getTitle() + { + return $this->title; + } + public function setUrl($url) + { + $this->url = $url; + } + public function getUrl() + { + return $this->url; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdSense/AdStyleFont.php b/vendor/google/apiclient-services/src/Google/Service/AdSense/AdStyleFont.php new file mode 100644 index 00000000..9dfc83f1 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdSense/AdStyleFont.php @@ -0,0 +1,39 @@ +family = $family; + } + public function getFamily() + { + return $this->family; + } + public function setSize($size) + { + $this->size = $size; + } + public function getSize() + { + return $this->size; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdSense/AdUnit.php b/vendor/google/apiclient-services/src/Google/Service/AdSense/AdUnit.php new file mode 100644 index 00000000..53466f58 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdSense/AdUnit.php @@ -0,0 +1,115 @@ +code = $code; + } + public function getCode() + { + return $this->code; + } + public function setContentAdsSettings(Google_Service_AdSense_AdUnitContentAdsSettings $contentAdsSettings) + { + $this->contentAdsSettings = $contentAdsSettings; + } + public function getContentAdsSettings() + { + return $this->contentAdsSettings; + } + public function setCustomStyle(Google_Service_AdSense_AdStyle $customStyle) + { + $this->customStyle = $customStyle; + } + public function getCustomStyle() + { + return $this->customStyle; + } + public function setFeedAdsSettings(Google_Service_AdSense_AdUnitFeedAdsSettings $feedAdsSettings) + { + $this->feedAdsSettings = $feedAdsSettings; + } + public function getFeedAdsSettings() + { + return $this->feedAdsSettings; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setMobileContentAdsSettings(Google_Service_AdSense_AdUnitMobileContentAdsSettings $mobileContentAdsSettings) + { + $this->mobileContentAdsSettings = $mobileContentAdsSettings; + } + public function getMobileContentAdsSettings() + { + return $this->mobileContentAdsSettings; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setSavedStyleId($savedStyleId) + { + $this->savedStyleId = $savedStyleId; + } + public function getSavedStyleId() + { + return $this->savedStyleId; + } + public function setStatus($status) + { + $this->status = $status; + } + public function getStatus() + { + return $this->status; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdSense/AdUnitContentAdsSettings.php b/vendor/google/apiclient-services/src/Google/Service/AdSense/AdUnitContentAdsSettings.php new file mode 100644 index 00000000..ecbd2198 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdSense/AdUnitContentAdsSettings.php @@ -0,0 +1,49 @@ +backupOption = $backupOption; + } + public function getBackupOption() + { + return $this->backupOption; + } + public function setSize($size) + { + $this->size = $size; + } + public function getSize() + { + return $this->size; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdSense/AdUnitContentAdsSettingsBackupOption.php b/vendor/google/apiclient-services/src/Google/Service/AdSense/AdUnitContentAdsSettingsBackupOption.php new file mode 100644 index 00000000..8c3824b4 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdSense/AdUnitContentAdsSettingsBackupOption.php @@ -0,0 +1,48 @@ +color = $color; + } + public function getColor() + { + return $this->color; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } + public function setUrl($url) + { + $this->url = $url; + } + public function getUrl() + { + return $this->url; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdSense/AdUnitFeedAdsSettings.php b/vendor/google/apiclient-services/src/Google/Service/AdSense/AdUnitFeedAdsSettings.php new file mode 100644 index 00000000..8c5f5a41 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdSense/AdUnitFeedAdsSettings.php @@ -0,0 +1,57 @@ +adPosition = $adPosition; + } + public function getAdPosition() + { + return $this->adPosition; + } + public function setFrequency($frequency) + { + $this->frequency = $frequency; + } + public function getFrequency() + { + return $this->frequency; + } + public function setMinimumWordCount($minimumWordCount) + { + $this->minimumWordCount = $minimumWordCount; + } + public function getMinimumWordCount() + { + return $this->minimumWordCount; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdSense/AdUnitMobileContentAdsSettings.php b/vendor/google/apiclient-services/src/Google/Service/AdSense/AdUnitMobileContentAdsSettings.php new file mode 100644 index 00000000..892d83a8 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdSense/AdUnitMobileContentAdsSettings.php @@ -0,0 +1,57 @@ +markupLanguage = $markupLanguage; + } + public function getMarkupLanguage() + { + return $this->markupLanguage; + } + public function setScriptingLanguage($scriptingLanguage) + { + $this->scriptingLanguage = $scriptingLanguage; + } + public function getScriptingLanguage() + { + return $this->scriptingLanguage; + } + public function setSize($size) + { + $this->size = $size; + } + public function getSize() + { + return $this->size; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdSense/AdUnits.php b/vendor/google/apiclient-services/src/Google/Service/AdSense/AdUnits.php new file mode 100644 index 00000000..ab16767c --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdSense/AdUnits.php @@ -0,0 +1,59 @@ +etag = $etag; + } + public function getEtag() + { + return $this->etag; + } + public function setItems($items) + { + $this->items = $items; + } + public function getItems() + { + return $this->items; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdSense/AdsenseReportsGenerateResponse.php b/vendor/google/apiclient-services/src/Google/Service/AdSense/AdsenseReportsGenerateResponse.php new file mode 100644 index 00000000..61d16a5f --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdSense/AdsenseReportsGenerateResponse.php @@ -0,0 +1,104 @@ +averages = $averages; + } + public function getAverages() + { + return $this->averages; + } + public function setEndDate($endDate) + { + $this->endDate = $endDate; + } + public function getEndDate() + { + return $this->endDate; + } + public function setHeaders($headers) + { + $this->headers = $headers; + } + public function getHeaders() + { + return $this->headers; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setRows($rows) + { + $this->rows = $rows; + } + public function getRows() + { + return $this->rows; + } + public function setStartDate($startDate) + { + $this->startDate = $startDate; + } + public function getStartDate() + { + return $this->startDate; + } + public function setTotalMatchedRows($totalMatchedRows) + { + $this->totalMatchedRows = $totalMatchedRows; + } + public function getTotalMatchedRows() + { + return $this->totalMatchedRows; + } + public function setTotals($totals) + { + $this->totals = $totals; + } + public function getTotals() + { + return $this->totals; + } + public function setWarnings($warnings) + { + $this->warnings = $warnings; + } + public function getWarnings() + { + return $this->warnings; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdSense/AdsenseReportsGenerateResponseHeaders.php b/vendor/google/apiclient-services/src/Google/Service/AdSense/AdsenseReportsGenerateResponseHeaders.php new file mode 100644 index 00000000..4fc41d2e --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdSense/AdsenseReportsGenerateResponseHeaders.php @@ -0,0 +1,48 @@ +currency = $currency; + } + public function getCurrency() + { + return $this->currency; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdSense/Alert.php b/vendor/google/apiclient-services/src/Google/Service/AdSense/Alert.php new file mode 100644 index 00000000..14a4748d --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdSense/Alert.php @@ -0,0 +1,75 @@ +id = $id; + } + public function getId() + { + return $this->id; + } + public function setIsDismissible($isDismissible) + { + $this->isDismissible = $isDismissible; + } + public function getIsDismissible() + { + return $this->isDismissible; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setMessage($message) + { + $this->message = $message; + } + public function getMessage() + { + return $this->message; + } + public function setSeverity($severity) + { + $this->severity = $severity; + } + public function getSeverity() + { + return $this->severity; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdSense/Alerts.php b/vendor/google/apiclient-services/src/Google/Service/AdSense/Alerts.php new file mode 100644 index 00000000..04f38a45 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdSense/Alerts.php @@ -0,0 +1,41 @@ +items = $items; + } + public function getItems() + { + return $this->items; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdSense/CustomChannel.php b/vendor/google/apiclient-services/src/Google/Service/AdSense/CustomChannel.php new file mode 100644 index 00000000..2d3c7ec3 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdSense/CustomChannel.php @@ -0,0 +1,67 @@ +code = $code; + } + public function getCode() + { + return $this->code; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setTargetingInfo(Google_Service_AdSense_CustomChannelTargetingInfo $targetingInfo) + { + $this->targetingInfo = $targetingInfo; + } + public function getTargetingInfo() + { + return $this->targetingInfo; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdSense/CustomChannelTargetingInfo.php b/vendor/google/apiclient-services/src/Google/Service/AdSense/CustomChannelTargetingInfo.php new file mode 100644 index 00000000..d37a7c0c --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdSense/CustomChannelTargetingInfo.php @@ -0,0 +1,57 @@ +adsAppearOn = $adsAppearOn; + } + public function getAdsAppearOn() + { + return $this->adsAppearOn; + } + public function setDescription($description) + { + $this->description = $description; + } + public function getDescription() + { + return $this->description; + } + public function setLocation($location) + { + $this->location = $location; + } + public function getLocation() + { + return $this->location; + } + public function setSiteLanguage($siteLanguage) + { + $this->siteLanguage = $siteLanguage; + } + public function getSiteLanguage() + { + return $this->siteLanguage; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdSense/CustomChannels.php b/vendor/google/apiclient-services/src/Google/Service/AdSense/CustomChannels.php new file mode 100644 index 00000000..3897f99b --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdSense/CustomChannels.php @@ -0,0 +1,59 @@ +etag = $etag; + } + public function getEtag() + { + return $this->etag; + } + public function setItems($items) + { + $this->items = $items; + } + public function getItems() + { + return $this->items; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdSense/Metadata.php b/vendor/google/apiclient-services/src/Google/Service/AdSense/Metadata.php new file mode 100644 index 00000000..3234c015 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdSense/Metadata.php @@ -0,0 +1,41 @@ +items = $items; + } + public function getItems() + { + return $this->items; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdSense/Payment.php b/vendor/google/apiclient-services/src/Google/Service/AdSense/Payment.php new file mode 100644 index 00000000..577ab302 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdSense/Payment.php @@ -0,0 +1,66 @@ +id = $id; + } + public function getId() + { + return $this->id; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setPaymentAmount($paymentAmount) + { + $this->paymentAmount = $paymentAmount; + } + public function getPaymentAmount() + { + return $this->paymentAmount; + } + public function setPaymentAmountCurrencyCode($paymentAmountCurrencyCode) + { + $this->paymentAmountCurrencyCode = $paymentAmountCurrencyCode; + } + public function getPaymentAmountCurrencyCode() + { + return $this->paymentAmountCurrencyCode; + } + public function setPaymentDate($paymentDate) + { + $this->paymentDate = $paymentDate; + } + public function getPaymentDate() + { + return $this->paymentDate; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdSense/Payments.php b/vendor/google/apiclient-services/src/Google/Service/AdSense/Payments.php new file mode 100644 index 00000000..2aad94f1 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdSense/Payments.php @@ -0,0 +1,41 @@ +items = $items; + } + public function getItems() + { + return $this->items; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdSense/ReportingMetadataEntry.php b/vendor/google/apiclient-services/src/Google/Service/AdSense/ReportingMetadataEntry.php new file mode 100644 index 00000000..8919b1a7 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdSense/ReportingMetadataEntry.php @@ -0,0 +1,85 @@ +compatibleDimensions = $compatibleDimensions; + } + public function getCompatibleDimensions() + { + return $this->compatibleDimensions; + } + public function setCompatibleMetrics($compatibleMetrics) + { + $this->compatibleMetrics = $compatibleMetrics; + } + public function getCompatibleMetrics() + { + return $this->compatibleMetrics; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setRequiredDimensions($requiredDimensions) + { + $this->requiredDimensions = $requiredDimensions; + } + public function getRequiredDimensions() + { + return $this->requiredDimensions; + } + public function setRequiredMetrics($requiredMetrics) + { + $this->requiredMetrics = $requiredMetrics; + } + public function getRequiredMetrics() + { + return $this->requiredMetrics; + } + public function setSupportedProducts($supportedProducts) + { + $this->supportedProducts = $supportedProducts; + } + public function getSupportedProducts() + { + return $this->supportedProducts; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdSense/Resource/Accounts.php b/vendor/google/apiclient-services/src/Google/Service/AdSense/Resource/Accounts.php new file mode 100644 index 00000000..dd310359 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdSense/Resource/Accounts.php @@ -0,0 +1,61 @@ + + * $adsenseService = new Google_Service_AdSense(...); + * $accounts = $adsenseService->accounts; + * + */ +class Google_Service_AdSense_Resource_Accounts extends Google_Service_Resource +{ + /** + * Get information about the selected AdSense account. (accounts.get) + * + * @param string $accountId Account to get information about. + * @param array $optParams Optional parameters. + * + * @opt_param bool tree Whether the tree of sub accounts should be returned. + * @return Google_Service_AdSense_Account + */ + public function get($accountId, $optParams = array()) + { + $params = array('accountId' => $accountId); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_AdSense_Account"); + } + /** + * List all accounts available to this AdSense account. (accounts.listAccounts) + * + * @param array $optParams Optional parameters. + * + * @opt_param int maxResults The maximum number of accounts to include in the + * response, used for paging. + * @opt_param string pageToken A continuation token, used to page through + * accounts. To retrieve the next page, set this parameter to the value of + * "nextPageToken" from the previous response. + * @return Google_Service_AdSense_Accounts + */ + public function listAccounts($optParams = array()) + { + $params = array(); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_AdSense_Accounts"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdSense/Resource/AccountsAdclients.php b/vendor/google/apiclient-services/src/Google/Service/AdSense/Resource/AccountsAdclients.php new file mode 100644 index 00000000..0d204e62 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdSense/Resource/AccountsAdclients.php @@ -0,0 +1,48 @@ + + * $adsenseService = new Google_Service_AdSense(...); + * $adclients = $adsenseService->adclients; + * + */ +class Google_Service_AdSense_Resource_AccountsAdclients extends Google_Service_Resource +{ + /** + * List all ad clients in the specified account. + * (adclients.listAccountsAdclients) + * + * @param string $accountId Account for which to list ad clients. + * @param array $optParams Optional parameters. + * + * @opt_param int maxResults The maximum number of ad clients to include in the + * response, used for paging. + * @opt_param string pageToken A continuation token, used to page through ad + * clients. To retrieve the next page, set this parameter to the value of + * "nextPageToken" from the previous response. + * @return Google_Service_AdSense_AdClients + */ + public function listAccountsAdclients($accountId, $optParams = array()) + { + $params = array('accountId' => $accountId); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_AdSense_AdClients"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdSense/Resource/AccountsAdunits.php b/vendor/google/apiclient-services/src/Google/Service/AdSense/Resource/AccountsAdunits.php new file mode 100644 index 00000000..5e51d4bb --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdSense/Resource/AccountsAdunits.php @@ -0,0 +1,82 @@ + + * $adsenseService = new Google_Service_AdSense(...); + * $adunits = $adsenseService->adunits; + * + */ +class Google_Service_AdSense_Resource_AccountsAdunits extends Google_Service_Resource +{ + /** + * Gets the specified ad unit in the specified ad client for the specified + * account. (adunits.get) + * + * @param string $accountId Account to which the ad client belongs. + * @param string $adClientId Ad client for which to get the ad unit. + * @param string $adUnitId Ad unit to retrieve. + * @param array $optParams Optional parameters. + * @return Google_Service_AdSense_AdUnit + */ + public function get($accountId, $adClientId, $adUnitId, $optParams = array()) + { + $params = array('accountId' => $accountId, 'adClientId' => $adClientId, 'adUnitId' => $adUnitId); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_AdSense_AdUnit"); + } + /** + * Get ad code for the specified ad unit. (adunits.getAdCode) + * + * @param string $accountId Account which contains the ad client. + * @param string $adClientId Ad client with contains the ad unit. + * @param string $adUnitId Ad unit to get the code for. + * @param array $optParams Optional parameters. + * @return Google_Service_AdSense_AdCode + */ + public function getAdCode($accountId, $adClientId, $adUnitId, $optParams = array()) + { + $params = array('accountId' => $accountId, 'adClientId' => $adClientId, 'adUnitId' => $adUnitId); + $params = array_merge($params, $optParams); + return $this->call('getAdCode', array($params), "Google_Service_AdSense_AdCode"); + } + /** + * List all ad units in the specified ad client for the specified account. + * (adunits.listAccountsAdunits) + * + * @param string $accountId Account to which the ad client belongs. + * @param string $adClientId Ad client for which to list ad units. + * @param array $optParams Optional parameters. + * + * @opt_param bool includeInactive Whether to include inactive ad units. + * Default: true. + * @opt_param int maxResults The maximum number of ad units to include in the + * response, used for paging. + * @opt_param string pageToken A continuation token, used to page through ad + * units. To retrieve the next page, set this parameter to the value of + * "nextPageToken" from the previous response. + * @return Google_Service_AdSense_AdUnits + */ + public function listAccountsAdunits($accountId, $adClientId, $optParams = array()) + { + $params = array('accountId' => $accountId, 'adClientId' => $adClientId); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_AdSense_AdUnits"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdSense/Resource/AccountsAdunitsCustomchannels.php b/vendor/google/apiclient-services/src/Google/Service/AdSense/Resource/AccountsAdunitsCustomchannels.php new file mode 100644 index 00000000..8d3dc90a --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdSense/Resource/AccountsAdunitsCustomchannels.php @@ -0,0 +1,50 @@ + + * $adsenseService = new Google_Service_AdSense(...); + * $customchannels = $adsenseService->customchannels; + * + */ +class Google_Service_AdSense_Resource_AccountsAdunitsCustomchannels extends Google_Service_Resource +{ + /** + * List all custom channels which the specified ad unit belongs to. + * (customchannels.listAccountsAdunitsCustomchannels) + * + * @param string $accountId Account to which the ad client belongs. + * @param string $adClientId Ad client which contains the ad unit. + * @param string $adUnitId Ad unit for which to list custom channels. + * @param array $optParams Optional parameters. + * + * @opt_param int maxResults The maximum number of custom channels to include in + * the response, used for paging. + * @opt_param string pageToken A continuation token, used to page through custom + * channels. To retrieve the next page, set this parameter to the value of + * "nextPageToken" from the previous response. + * @return Google_Service_AdSense_CustomChannels + */ + public function listAccountsAdunitsCustomchannels($accountId, $adClientId, $adUnitId, $optParams = array()) + { + $params = array('accountId' => $accountId, 'adClientId' => $adClientId, 'adUnitId' => $adUnitId); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_AdSense_CustomChannels"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdSense/Resource/AccountsAlerts.php b/vendor/google/apiclient-services/src/Google/Service/AdSense/Resource/AccountsAlerts.php new file mode 100644 index 00000000..da9daf6f --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdSense/Resource/AccountsAlerts.php @@ -0,0 +1,60 @@ + + * $adsenseService = new Google_Service_AdSense(...); + * $alerts = $adsenseService->alerts; + * + */ +class Google_Service_AdSense_Resource_AccountsAlerts extends Google_Service_Resource +{ + /** + * Dismiss (delete) the specified alert from the specified publisher AdSense + * account. (alerts.delete) + * + * @param string $accountId Account which contains the ad unit. + * @param string $alertId Alert to delete. + * @param array $optParams Optional parameters. + */ + public function delete($accountId, $alertId, $optParams = array()) + { + $params = array('accountId' => $accountId, 'alertId' => $alertId); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params)); + } + /** + * List the alerts for the specified AdSense account. + * (alerts.listAccountsAlerts) + * + * @param string $accountId Account for which to retrieve the alerts. + * @param array $optParams Optional parameters. + * + * @opt_param string locale The locale to use for translating alert messages. + * The account locale will be used if this is not supplied. The AdSense default + * (English) will be used if the supplied locale is invalid or unsupported. + * @return Google_Service_AdSense_Alerts + */ + public function listAccountsAlerts($accountId, $optParams = array()) + { + $params = array('accountId' => $accountId); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_AdSense_Alerts"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdSense/Resource/AccountsCustomchannels.php b/vendor/google/apiclient-services/src/Google/Service/AdSense/Resource/AccountsCustomchannels.php new file mode 100644 index 00000000..1dd90824 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdSense/Resource/AccountsCustomchannels.php @@ -0,0 +1,65 @@ + + * $adsenseService = new Google_Service_AdSense(...); + * $customchannels = $adsenseService->customchannels; + * + */ +class Google_Service_AdSense_Resource_AccountsCustomchannels extends Google_Service_Resource +{ + /** + * Get the specified custom channel from the specified ad client for the + * specified account. (customchannels.get) + * + * @param string $accountId Account to which the ad client belongs. + * @param string $adClientId Ad client which contains the custom channel. + * @param string $customChannelId Custom channel to retrieve. + * @param array $optParams Optional parameters. + * @return Google_Service_AdSense_CustomChannel + */ + public function get($accountId, $adClientId, $customChannelId, $optParams = array()) + { + $params = array('accountId' => $accountId, 'adClientId' => $adClientId, 'customChannelId' => $customChannelId); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_AdSense_CustomChannel"); + } + /** + * List all custom channels in the specified ad client for the specified + * account. (customchannels.listAccountsCustomchannels) + * + * @param string $accountId Account to which the ad client belongs. + * @param string $adClientId Ad client for which to list custom channels. + * @param array $optParams Optional parameters. + * + * @opt_param int maxResults The maximum number of custom channels to include in + * the response, used for paging. + * @opt_param string pageToken A continuation token, used to page through custom + * channels. To retrieve the next page, set this parameter to the value of + * "nextPageToken" from the previous response. + * @return Google_Service_AdSense_CustomChannels + */ + public function listAccountsCustomchannels($accountId, $adClientId, $optParams = array()) + { + $params = array('accountId' => $accountId, 'adClientId' => $adClientId); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_AdSense_CustomChannels"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdSense/Resource/AccountsCustomchannelsAdunits.php b/vendor/google/apiclient-services/src/Google/Service/AdSense/Resource/AccountsCustomchannelsAdunits.php new file mode 100644 index 00000000..846bee58 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdSense/Resource/AccountsCustomchannelsAdunits.php @@ -0,0 +1,52 @@ + + * $adsenseService = new Google_Service_AdSense(...); + * $adunits = $adsenseService->adunits; + * + */ +class Google_Service_AdSense_Resource_AccountsCustomchannelsAdunits extends Google_Service_Resource +{ + /** + * List all ad units in the specified custom channel. + * (adunits.listAccountsCustomchannelsAdunits) + * + * @param string $accountId Account to which the ad client belongs. + * @param string $adClientId Ad client which contains the custom channel. + * @param string $customChannelId Custom channel for which to list ad units. + * @param array $optParams Optional parameters. + * + * @opt_param bool includeInactive Whether to include inactive ad units. + * Default: true. + * @opt_param int maxResults The maximum number of ad units to include in the + * response, used for paging. + * @opt_param string pageToken A continuation token, used to page through ad + * units. To retrieve the next page, set this parameter to the value of + * "nextPageToken" from the previous response. + * @return Google_Service_AdSense_AdUnits + */ + public function listAccountsCustomchannelsAdunits($accountId, $adClientId, $customChannelId, $optParams = array()) + { + $params = array('accountId' => $accountId, 'adClientId' => $adClientId, 'customChannelId' => $customChannelId); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_AdSense_AdUnits"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdSense/Resource/AccountsPayments.php b/vendor/google/apiclient-services/src/Google/Service/AdSense/Resource/AccountsPayments.php new file mode 100644 index 00000000..56e18873 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdSense/Resource/AccountsPayments.php @@ -0,0 +1,42 @@ + + * $adsenseService = new Google_Service_AdSense(...); + * $payments = $adsenseService->payments; + * + */ +class Google_Service_AdSense_Resource_AccountsPayments extends Google_Service_Resource +{ + /** + * List the payments for the specified AdSense account. + * (payments.listAccountsPayments) + * + * @param string $accountId Account for which to retrieve the payments. + * @param array $optParams Optional parameters. + * @return Google_Service_AdSense_Payments + */ + public function listAccountsPayments($accountId, $optParams = array()) + { + $params = array('accountId' => $accountId); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_AdSense_Payments"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdSense/Resource/AccountsReports.php b/vendor/google/apiclient-services/src/Google/Service/AdSense/Resource/AccountsReports.php new file mode 100644 index 00000000..22f0709c --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdSense/Resource/AccountsReports.php @@ -0,0 +1,64 @@ + + * $adsenseService = new Google_Service_AdSense(...); + * $reports = $adsenseService->reports; + * + */ +class Google_Service_AdSense_Resource_AccountsReports extends Google_Service_Resource +{ + /** + * Generate an AdSense report based on the report request sent in the query + * parameters. Returns the result as JSON; to retrieve output in CSV format + * specify "alt=csv" as a query parameter. (reports.generate) + * + * @param string $accountId Account upon which to report. + * @param string $startDate Start of the date range to report on in "YYYY-MM-DD" + * format, inclusive. + * @param string $endDate End of the date range to report on in "YYYY-MM-DD" + * format, inclusive. + * @param array $optParams Optional parameters. + * + * @opt_param string currency Optional currency to use when reporting on + * monetary metrics. Defaults to the account's currency if not set. + * @opt_param string dimension Dimensions to base the report on. + * @opt_param string filter Filters to be run on the report. + * @opt_param string locale Optional locale to use for translating report output + * to a local language. Defaults to "en_US" if not specified. + * @opt_param int maxResults The maximum number of rows of report data to + * return. + * @opt_param string metric Numeric columns to include in the report. + * @opt_param string sort The name of a dimension or metric to sort the + * resulting report on, optionally prefixed with "+" to sort ascending or "-" to + * sort descending. If no prefix is specified, the column is sorted ascending. + * @opt_param int startIndex Index of the first row of report data to return. + * @opt_param bool useTimezoneReporting Whether the report should be generated + * in the AdSense account's local timezone. If false default PST/PDT timezone + * will be used. + * @return Google_Service_AdSense_AdsenseReportsGenerateResponse + */ + public function generate($accountId, $startDate, $endDate, $optParams = array()) + { + $params = array('accountId' => $accountId, 'startDate' => $startDate, 'endDate' => $endDate); + $params = array_merge($params, $optParams); + return $this->call('generate', array($params), "Google_Service_AdSense_AdsenseReportsGenerateResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdSense/Resource/AccountsReportsSaved.php b/vendor/google/apiclient-services/src/Google/Service/AdSense/Resource/AccountsReportsSaved.php new file mode 100644 index 00000000..1dca5377 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdSense/Resource/AccountsReportsSaved.php @@ -0,0 +1,69 @@ + + * $adsenseService = new Google_Service_AdSense(...); + * $saved = $adsenseService->saved; + * + */ +class Google_Service_AdSense_Resource_AccountsReportsSaved extends Google_Service_Resource +{ + /** + * Generate an AdSense report based on the saved report ID sent in the query + * parameters. (saved.generate) + * + * @param string $accountId Account to which the saved reports belong. + * @param string $savedReportId The saved report to retrieve. + * @param array $optParams Optional parameters. + * + * @opt_param string locale Optional locale to use for translating report output + * to a local language. Defaults to "en_US" if not specified. + * @opt_param int maxResults The maximum number of rows of report data to + * return. + * @opt_param int startIndex Index of the first row of report data to return. + * @return Google_Service_AdSense_AdsenseReportsGenerateResponse + */ + public function generate($accountId, $savedReportId, $optParams = array()) + { + $params = array('accountId' => $accountId, 'savedReportId' => $savedReportId); + $params = array_merge($params, $optParams); + return $this->call('generate', array($params), "Google_Service_AdSense_AdsenseReportsGenerateResponse"); + } + /** + * List all saved reports in the specified AdSense account. + * (saved.listAccountsReportsSaved) + * + * @param string $accountId Account to which the saved reports belong. + * @param array $optParams Optional parameters. + * + * @opt_param int maxResults The maximum number of saved reports to include in + * the response, used for paging. + * @opt_param string pageToken A continuation token, used to page through saved + * reports. To retrieve the next page, set this parameter to the value of + * "nextPageToken" from the previous response. + * @return Google_Service_AdSense_SavedReports + */ + public function listAccountsReportsSaved($accountId, $optParams = array()) + { + $params = array('accountId' => $accountId); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_AdSense_SavedReports"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdSense/Resource/AccountsSavedadstyles.php b/vendor/google/apiclient-services/src/Google/Service/AdSense/Resource/AccountsSavedadstyles.php new file mode 100644 index 00000000..a33cc2d6 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdSense/Resource/AccountsSavedadstyles.php @@ -0,0 +1,62 @@ + + * $adsenseService = new Google_Service_AdSense(...); + * $savedadstyles = $adsenseService->savedadstyles; + * + */ +class Google_Service_AdSense_Resource_AccountsSavedadstyles extends Google_Service_Resource +{ + /** + * List a specific saved ad style for the specified account. (savedadstyles.get) + * + * @param string $accountId Account for which to get the saved ad style. + * @param string $savedAdStyleId Saved ad style to retrieve. + * @param array $optParams Optional parameters. + * @return Google_Service_AdSense_SavedAdStyle + */ + public function get($accountId, $savedAdStyleId, $optParams = array()) + { + $params = array('accountId' => $accountId, 'savedAdStyleId' => $savedAdStyleId); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_AdSense_SavedAdStyle"); + } + /** + * List all saved ad styles in the specified account. + * (savedadstyles.listAccountsSavedadstyles) + * + * @param string $accountId Account for which to list saved ad styles. + * @param array $optParams Optional parameters. + * + * @opt_param int maxResults The maximum number of saved ad styles to include in + * the response, used for paging. + * @opt_param string pageToken A continuation token, used to page through saved + * ad styles. To retrieve the next page, set this parameter to the value of + * "nextPageToken" from the previous response. + * @return Google_Service_AdSense_SavedAdStyles + */ + public function listAccountsSavedadstyles($accountId, $optParams = array()) + { + $params = array('accountId' => $accountId); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_AdSense_SavedAdStyles"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdSense/Resource/AccountsUrlchannels.php b/vendor/google/apiclient-services/src/Google/Service/AdSense/Resource/AccountsUrlchannels.php new file mode 100644 index 00000000..82b9cf19 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdSense/Resource/AccountsUrlchannels.php @@ -0,0 +1,49 @@ + + * $adsenseService = new Google_Service_AdSense(...); + * $urlchannels = $adsenseService->urlchannels; + * + */ +class Google_Service_AdSense_Resource_AccountsUrlchannels extends Google_Service_Resource +{ + /** + * List all URL channels in the specified ad client for the specified account. + * (urlchannels.listAccountsUrlchannels) + * + * @param string $accountId Account to which the ad client belongs. + * @param string $adClientId Ad client for which to list URL channels. + * @param array $optParams Optional parameters. + * + * @opt_param int maxResults The maximum number of URL channels to include in + * the response, used for paging. + * @opt_param string pageToken A continuation token, used to page through URL + * channels. To retrieve the next page, set this parameter to the value of + * "nextPageToken" from the previous response. + * @return Google_Service_AdSense_UrlChannels + */ + public function listAccountsUrlchannels($accountId, $adClientId, $optParams = array()) + { + $params = array('accountId' => $accountId, 'adClientId' => $adClientId); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_AdSense_UrlChannels"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdSense/Resource/Adclients.php b/vendor/google/apiclient-services/src/Google/Service/AdSense/Resource/Adclients.php new file mode 100644 index 00000000..3d22182a --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdSense/Resource/Adclients.php @@ -0,0 +1,46 @@ + + * $adsenseService = new Google_Service_AdSense(...); + * $adclients = $adsenseService->adclients; + * + */ +class Google_Service_AdSense_Resource_Adclients extends Google_Service_Resource +{ + /** + * List all ad clients in this AdSense account. (adclients.listAdclients) + * + * @param array $optParams Optional parameters. + * + * @opt_param int maxResults The maximum number of ad clients to include in the + * response, used for paging. + * @opt_param string pageToken A continuation token, used to page through ad + * clients. To retrieve the next page, set this parameter to the value of + * "nextPageToken" from the previous response. + * @return Google_Service_AdSense_AdClients + */ + public function listAdclients($optParams = array()) + { + $params = array(); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_AdSense_AdClients"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdSense/Resource/Adunits.php b/vendor/google/apiclient-services/src/Google/Service/AdSense/Resource/Adunits.php new file mode 100644 index 00000000..38f7b060 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdSense/Resource/Adunits.php @@ -0,0 +1,78 @@ + + * $adsenseService = new Google_Service_AdSense(...); + * $adunits = $adsenseService->adunits; + * + */ +class Google_Service_AdSense_Resource_Adunits extends Google_Service_Resource +{ + /** + * Gets the specified ad unit in the specified ad client. (adunits.get) + * + * @param string $adClientId Ad client for which to get the ad unit. + * @param string $adUnitId Ad unit to retrieve. + * @param array $optParams Optional parameters. + * @return Google_Service_AdSense_AdUnit + */ + public function get($adClientId, $adUnitId, $optParams = array()) + { + $params = array('adClientId' => $adClientId, 'adUnitId' => $adUnitId); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_AdSense_AdUnit"); + } + /** + * Get ad code for the specified ad unit. (adunits.getAdCode) + * + * @param string $adClientId Ad client with contains the ad unit. + * @param string $adUnitId Ad unit to get the code for. + * @param array $optParams Optional parameters. + * @return Google_Service_AdSense_AdCode + */ + public function getAdCode($adClientId, $adUnitId, $optParams = array()) + { + $params = array('adClientId' => $adClientId, 'adUnitId' => $adUnitId); + $params = array_merge($params, $optParams); + return $this->call('getAdCode', array($params), "Google_Service_AdSense_AdCode"); + } + /** + * List all ad units in the specified ad client for this AdSense account. + * (adunits.listAdunits) + * + * @param string $adClientId Ad client for which to list ad units. + * @param array $optParams Optional parameters. + * + * @opt_param bool includeInactive Whether to include inactive ad units. + * Default: true. + * @opt_param int maxResults The maximum number of ad units to include in the + * response, used for paging. + * @opt_param string pageToken A continuation token, used to page through ad + * units. To retrieve the next page, set this parameter to the value of + * "nextPageToken" from the previous response. + * @return Google_Service_AdSense_AdUnits + */ + public function listAdunits($adClientId, $optParams = array()) + { + $params = array('adClientId' => $adClientId); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_AdSense_AdUnits"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdSense/Resource/AdunitsCustomchannels.php b/vendor/google/apiclient-services/src/Google/Service/AdSense/Resource/AdunitsCustomchannels.php new file mode 100644 index 00000000..8c32cfe0 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdSense/Resource/AdunitsCustomchannels.php @@ -0,0 +1,49 @@ + + * $adsenseService = new Google_Service_AdSense(...); + * $customchannels = $adsenseService->customchannels; + * + */ +class Google_Service_AdSense_Resource_AdunitsCustomchannels extends Google_Service_Resource +{ + /** + * List all custom channels which the specified ad unit belongs to. + * (customchannels.listAdunitsCustomchannels) + * + * @param string $adClientId Ad client which contains the ad unit. + * @param string $adUnitId Ad unit for which to list custom channels. + * @param array $optParams Optional parameters. + * + * @opt_param int maxResults The maximum number of custom channels to include in + * the response, used for paging. + * @opt_param string pageToken A continuation token, used to page through custom + * channels. To retrieve the next page, set this parameter to the value of + * "nextPageToken" from the previous response. + * @return Google_Service_AdSense_CustomChannels + */ + public function listAdunitsCustomchannels($adClientId, $adUnitId, $optParams = array()) + { + $params = array('adClientId' => $adClientId, 'adUnitId' => $adUnitId); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_AdSense_CustomChannels"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdSense/Resource/Alerts.php b/vendor/google/apiclient-services/src/Google/Service/AdSense/Resource/Alerts.php new file mode 100644 index 00000000..5c2c5934 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdSense/Resource/Alerts.php @@ -0,0 +1,57 @@ + + * $adsenseService = new Google_Service_AdSense(...); + * $alerts = $adsenseService->alerts; + * + */ +class Google_Service_AdSense_Resource_Alerts extends Google_Service_Resource +{ + /** + * Dismiss (delete) the specified alert from the publisher's AdSense account. + * (alerts.delete) + * + * @param string $alertId Alert to delete. + * @param array $optParams Optional parameters. + */ + public function delete($alertId, $optParams = array()) + { + $params = array('alertId' => $alertId); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params)); + } + /** + * List the alerts for this AdSense account. (alerts.listAlerts) + * + * @param array $optParams Optional parameters. + * + * @opt_param string locale The locale to use for translating alert messages. + * The account locale will be used if this is not supplied. The AdSense default + * (English) will be used if the supplied locale is invalid or unsupported. + * @return Google_Service_AdSense_Alerts + */ + public function listAlerts($optParams = array()) + { + $params = array(); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_AdSense_Alerts"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdSense/Resource/Customchannels.php b/vendor/google/apiclient-services/src/Google/Service/AdSense/Resource/Customchannels.php new file mode 100644 index 00000000..0c0cda9a --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdSense/Resource/Customchannels.php @@ -0,0 +1,63 @@ + + * $adsenseService = new Google_Service_AdSense(...); + * $customchannels = $adsenseService->customchannels; + * + */ +class Google_Service_AdSense_Resource_Customchannels extends Google_Service_Resource +{ + /** + * Get the specified custom channel from the specified ad client. + * (customchannels.get) + * + * @param string $adClientId Ad client which contains the custom channel. + * @param string $customChannelId Custom channel to retrieve. + * @param array $optParams Optional parameters. + * @return Google_Service_AdSense_CustomChannel + */ + public function get($adClientId, $customChannelId, $optParams = array()) + { + $params = array('adClientId' => $adClientId, 'customChannelId' => $customChannelId); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_AdSense_CustomChannel"); + } + /** + * List all custom channels in the specified ad client for this AdSense account. + * (customchannels.listCustomchannels) + * + * @param string $adClientId Ad client for which to list custom channels. + * @param array $optParams Optional parameters. + * + * @opt_param int maxResults The maximum number of custom channels to include in + * the response, used for paging. + * @opt_param string pageToken A continuation token, used to page through custom + * channels. To retrieve the next page, set this parameter to the value of + * "nextPageToken" from the previous response. + * @return Google_Service_AdSense_CustomChannels + */ + public function listCustomchannels($adClientId, $optParams = array()) + { + $params = array('adClientId' => $adClientId); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_AdSense_CustomChannels"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdSense/Resource/CustomchannelsAdunits.php b/vendor/google/apiclient-services/src/Google/Service/AdSense/Resource/CustomchannelsAdunits.php new file mode 100644 index 00000000..0fe22624 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdSense/Resource/CustomchannelsAdunits.php @@ -0,0 +1,51 @@ + + * $adsenseService = new Google_Service_AdSense(...); + * $adunits = $adsenseService->adunits; + * + */ +class Google_Service_AdSense_Resource_CustomchannelsAdunits extends Google_Service_Resource +{ + /** + * List all ad units in the specified custom channel. + * (adunits.listCustomchannelsAdunits) + * + * @param string $adClientId Ad client which contains the custom channel. + * @param string $customChannelId Custom channel for which to list ad units. + * @param array $optParams Optional parameters. + * + * @opt_param bool includeInactive Whether to include inactive ad units. + * Default: true. + * @opt_param int maxResults The maximum number of ad units to include in the + * response, used for paging. + * @opt_param string pageToken A continuation token, used to page through ad + * units. To retrieve the next page, set this parameter to the value of + * "nextPageToken" from the previous response. + * @return Google_Service_AdSense_AdUnits + */ + public function listCustomchannelsAdunits($adClientId, $customChannelId, $optParams = array()) + { + $params = array('adClientId' => $adClientId, 'customChannelId' => $customChannelId); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_AdSense_AdUnits"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdSense/Resource/Metadata.php b/vendor/google/apiclient-services/src/Google/Service/AdSense/Resource/Metadata.php new file mode 100644 index 00000000..9bbfef60 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdSense/Resource/Metadata.php @@ -0,0 +1,28 @@ + + * $adsenseService = new Google_Service_AdSense(...); + * $metadata = $adsenseService->metadata; + * + */ +class Google_Service_AdSense_Resource_Metadata extends Google_Service_Resource +{ +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdSense/Resource/MetadataDimensions.php b/vendor/google/apiclient-services/src/Google/Service/AdSense/Resource/MetadataDimensions.php new file mode 100644 index 00000000..1e72c608 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdSense/Resource/MetadataDimensions.php @@ -0,0 +1,41 @@ + + * $adsenseService = new Google_Service_AdSense(...); + * $dimensions = $adsenseService->dimensions; + * + */ +class Google_Service_AdSense_Resource_MetadataDimensions extends Google_Service_Resource +{ + /** + * List the metadata for the dimensions available to this AdSense account. + * (dimensions.listMetadataDimensions) + * + * @param array $optParams Optional parameters. + * @return Google_Service_AdSense_Metadata + */ + public function listMetadataDimensions($optParams = array()) + { + $params = array(); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_AdSense_Metadata"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdSense/Resource/MetadataMetrics.php b/vendor/google/apiclient-services/src/Google/Service/AdSense/Resource/MetadataMetrics.php new file mode 100644 index 00000000..c8cc4205 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdSense/Resource/MetadataMetrics.php @@ -0,0 +1,41 @@ + + * $adsenseService = new Google_Service_AdSense(...); + * $metrics = $adsenseService->metrics; + * + */ +class Google_Service_AdSense_Resource_MetadataMetrics extends Google_Service_Resource +{ + /** + * List the metadata for the metrics available to this AdSense account. + * (metrics.listMetadataMetrics) + * + * @param array $optParams Optional parameters. + * @return Google_Service_AdSense_Metadata + */ + public function listMetadataMetrics($optParams = array()) + { + $params = array(); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_AdSense_Metadata"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdSense/Resource/Payments.php b/vendor/google/apiclient-services/src/Google/Service/AdSense/Resource/Payments.php new file mode 100644 index 00000000..0818c239 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdSense/Resource/Payments.php @@ -0,0 +1,40 @@ + + * $adsenseService = new Google_Service_AdSense(...); + * $payments = $adsenseService->payments; + * + */ +class Google_Service_AdSense_Resource_Payments extends Google_Service_Resource +{ + /** + * List the payments for this AdSense account. (payments.listPayments) + * + * @param array $optParams Optional parameters. + * @return Google_Service_AdSense_Payments + */ + public function listPayments($optParams = array()) + { + $params = array(); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_AdSense_Payments"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdSense/Resource/Reports.php b/vendor/google/apiclient-services/src/Google/Service/AdSense/Resource/Reports.php new file mode 100644 index 00000000..499d980a --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdSense/Resource/Reports.php @@ -0,0 +1,64 @@ + + * $adsenseService = new Google_Service_AdSense(...); + * $reports = $adsenseService->reports; + * + */ +class Google_Service_AdSense_Resource_Reports extends Google_Service_Resource +{ + /** + * Generate an AdSense report based on the report request sent in the query + * parameters. Returns the result as JSON; to retrieve output in CSV format + * specify "alt=csv" as a query parameter. (reports.generate) + * + * @param string $startDate Start of the date range to report on in "YYYY-MM-DD" + * format, inclusive. + * @param string $endDate End of the date range to report on in "YYYY-MM-DD" + * format, inclusive. + * @param array $optParams Optional parameters. + * + * @opt_param string accountId Accounts upon which to report. + * @opt_param string currency Optional currency to use when reporting on + * monetary metrics. Defaults to the account's currency if not set. + * @opt_param string dimension Dimensions to base the report on. + * @opt_param string filter Filters to be run on the report. + * @opt_param string locale Optional locale to use for translating report output + * to a local language. Defaults to "en_US" if not specified. + * @opt_param int maxResults The maximum number of rows of report data to + * return. + * @opt_param string metric Numeric columns to include in the report. + * @opt_param string sort The name of a dimension or metric to sort the + * resulting report on, optionally prefixed with "+" to sort ascending or "-" to + * sort descending. If no prefix is specified, the column is sorted ascending. + * @opt_param int startIndex Index of the first row of report data to return. + * @opt_param bool useTimezoneReporting Whether the report should be generated + * in the AdSense account's local timezone. If false default PST/PDT timezone + * will be used. + * @return Google_Service_AdSense_AdsenseReportsGenerateResponse + */ + public function generate($startDate, $endDate, $optParams = array()) + { + $params = array('startDate' => $startDate, 'endDate' => $endDate); + $params = array_merge($params, $optParams); + return $this->call('generate', array($params), "Google_Service_AdSense_AdsenseReportsGenerateResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdSense/Resource/ReportsSaved.php b/vendor/google/apiclient-services/src/Google/Service/AdSense/Resource/ReportsSaved.php new file mode 100644 index 00000000..e65cfda0 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdSense/Resource/ReportsSaved.php @@ -0,0 +1,66 @@ + + * $adsenseService = new Google_Service_AdSense(...); + * $saved = $adsenseService->saved; + * + */ +class Google_Service_AdSense_Resource_ReportsSaved extends Google_Service_Resource +{ + /** + * Generate an AdSense report based on the saved report ID sent in the query + * parameters. (saved.generate) + * + * @param string $savedReportId The saved report to retrieve. + * @param array $optParams Optional parameters. + * + * @opt_param string locale Optional locale to use for translating report output + * to a local language. Defaults to "en_US" if not specified. + * @opt_param int maxResults The maximum number of rows of report data to + * return. + * @opt_param int startIndex Index of the first row of report data to return. + * @return Google_Service_AdSense_AdsenseReportsGenerateResponse + */ + public function generate($savedReportId, $optParams = array()) + { + $params = array('savedReportId' => $savedReportId); + $params = array_merge($params, $optParams); + return $this->call('generate', array($params), "Google_Service_AdSense_AdsenseReportsGenerateResponse"); + } + /** + * List all saved reports in this AdSense account. (saved.listReportsSaved) + * + * @param array $optParams Optional parameters. + * + * @opt_param int maxResults The maximum number of saved reports to include in + * the response, used for paging. + * @opt_param string pageToken A continuation token, used to page through saved + * reports. To retrieve the next page, set this parameter to the value of + * "nextPageToken" from the previous response. + * @return Google_Service_AdSense_SavedReports + */ + public function listReportsSaved($optParams = array()) + { + $params = array(); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_AdSense_SavedReports"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdSense/Resource/Savedadstyles.php b/vendor/google/apiclient-services/src/Google/Service/AdSense/Resource/Savedadstyles.php new file mode 100644 index 00000000..3a89624c --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdSense/Resource/Savedadstyles.php @@ -0,0 +1,60 @@ + + * $adsenseService = new Google_Service_AdSense(...); + * $savedadstyles = $adsenseService->savedadstyles; + * + */ +class Google_Service_AdSense_Resource_Savedadstyles extends Google_Service_Resource +{ + /** + * Get a specific saved ad style from the user's account. (savedadstyles.get) + * + * @param string $savedAdStyleId Saved ad style to retrieve. + * @param array $optParams Optional parameters. + * @return Google_Service_AdSense_SavedAdStyle + */ + public function get($savedAdStyleId, $optParams = array()) + { + $params = array('savedAdStyleId' => $savedAdStyleId); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_AdSense_SavedAdStyle"); + } + /** + * List all saved ad styles in the user's account. + * (savedadstyles.listSavedadstyles) + * + * @param array $optParams Optional parameters. + * + * @opt_param int maxResults The maximum number of saved ad styles to include in + * the response, used for paging. + * @opt_param string pageToken A continuation token, used to page through saved + * ad styles. To retrieve the next page, set this parameter to the value of + * "nextPageToken" from the previous response. + * @return Google_Service_AdSense_SavedAdStyles + */ + public function listSavedadstyles($optParams = array()) + { + $params = array(); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_AdSense_SavedAdStyles"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdSense/Resource/Urlchannels.php b/vendor/google/apiclient-services/src/Google/Service/AdSense/Resource/Urlchannels.php new file mode 100644 index 00000000..b937f2c8 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdSense/Resource/Urlchannels.php @@ -0,0 +1,48 @@ + + * $adsenseService = new Google_Service_AdSense(...); + * $urlchannels = $adsenseService->urlchannels; + * + */ +class Google_Service_AdSense_Resource_Urlchannels extends Google_Service_Resource +{ + /** + * List all URL channels in the specified ad client for this AdSense account. + * (urlchannels.listUrlchannels) + * + * @param string $adClientId Ad client for which to list URL channels. + * @param array $optParams Optional parameters. + * + * @opt_param int maxResults The maximum number of URL channels to include in + * the response, used for paging. + * @opt_param string pageToken A continuation token, used to page through URL + * channels. To retrieve the next page, set this parameter to the value of + * "nextPageToken" from the previous response. + * @return Google_Service_AdSense_UrlChannels + */ + public function listUrlchannels($adClientId, $optParams = array()) + { + $params = array('adClientId' => $adClientId); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_AdSense_UrlChannels"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdSense/SavedAdStyle.php b/vendor/google/apiclient-services/src/Google/Service/AdSense/SavedAdStyle.php new file mode 100644 index 00000000..f568bd1f --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdSense/SavedAdStyle.php @@ -0,0 +1,58 @@ +adStyle = $adStyle; + } + public function getAdStyle() + { + return $this->adStyle; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdSense/SavedAdStyles.php b/vendor/google/apiclient-services/src/Google/Service/AdSense/SavedAdStyles.php new file mode 100644 index 00000000..478945cf --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdSense/SavedAdStyles.php @@ -0,0 +1,59 @@ +etag = $etag; + } + public function getEtag() + { + return $this->etag; + } + public function setItems($items) + { + $this->items = $items; + } + public function getItems() + { + return $this->items; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdSense/SavedReport.php b/vendor/google/apiclient-services/src/Google/Service/AdSense/SavedReport.php new file mode 100644 index 00000000..8baebb35 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdSense/SavedReport.php @@ -0,0 +1,48 @@ +id = $id; + } + public function getId() + { + return $this->id; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdSense/SavedReports.php b/vendor/google/apiclient-services/src/Google/Service/AdSense/SavedReports.php new file mode 100644 index 00000000..2d85c0be --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdSense/SavedReports.php @@ -0,0 +1,59 @@ +etag = $etag; + } + public function getEtag() + { + return $this->etag; + } + public function setItems($items) + { + $this->items = $items; + } + public function getItems() + { + return $this->items; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdSense/UrlChannel.php b/vendor/google/apiclient-services/src/Google/Service/AdSense/UrlChannel.php new file mode 100644 index 00000000..a372506f --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdSense/UrlChannel.php @@ -0,0 +1,48 @@ +id = $id; + } + public function getId() + { + return $this->id; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setUrlPattern($urlPattern) + { + $this->urlPattern = $urlPattern; + } + public function getUrlPattern() + { + return $this->urlPattern; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdSense/UrlChannels.php b/vendor/google/apiclient-services/src/Google/Service/AdSense/UrlChannels.php new file mode 100644 index 00000000..d5a3a6de --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdSense/UrlChannels.php @@ -0,0 +1,59 @@ +etag = $etag; + } + public function getEtag() + { + return $this->etag; + } + public function setItems($items) + { + $this->items = $items; + } + public function getItems() + { + return $this->items; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdSenseHost.php b/vendor/google/apiclient-services/src/Google/Service/AdSenseHost.php new file mode 100644 index 00000000..166525a7 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdSenseHost.php @@ -0,0 +1,630 @@ + + * Generates performance reports, generates ad codes, and provides publisher + * management capabilities for AdSense Hosts.

+ * + *

+ * For more information about this service, see the API + * Documentation + *

+ * + * @author Google, Inc. + */ +class Google_Service_AdSenseHost extends Google_Service +{ + /** View and manage your AdSense host data and associated accounts. */ + const ADSENSEHOST = + "https://www.googleapis.com/auth/adsensehost"; + + public $accounts; + public $accounts_adclients; + public $accounts_adunits; + public $accounts_reports; + public $adclients; + public $associationsessions; + public $customchannels; + public $reports; + public $urlchannels; + + /** + * Constructs the internal representation of the AdSenseHost service. + * + * @param Google_Client $client + */ + public function __construct(Google_Client $client) + { + parent::__construct($client); + $this->rootUrl = 'https://www.googleapis.com/'; + $this->servicePath = 'adsensehost/v4.1/'; + $this->version = 'v4.1'; + $this->serviceName = 'adsensehost'; + + $this->accounts = new Google_Service_AdSenseHost_Resource_Accounts( + $this, + $this->serviceName, + 'accounts', + array( + 'methods' => array( + 'get' => array( + 'path' => 'accounts/{accountId}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'accountId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'accounts', + 'httpMethod' => 'GET', + 'parameters' => array( + 'filterAdClientId' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->accounts_adclients = new Google_Service_AdSenseHost_Resource_AccountsAdclients( + $this, + $this->serviceName, + 'adclients', + array( + 'methods' => array( + 'get' => array( + 'path' => 'accounts/{accountId}/adclients/{adClientId}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'accountId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'adClientId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'accounts/{accountId}/adclients', + 'httpMethod' => 'GET', + 'parameters' => array( + 'accountId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + $this->accounts_adunits = new Google_Service_AdSenseHost_Resource_AccountsAdunits( + $this, + $this->serviceName, + 'adunits', + array( + 'methods' => array( + 'delete' => array( + 'path' => 'accounts/{accountId}/adclients/{adClientId}/adunits/{adUnitId}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'accountId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'adClientId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'adUnitId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'get' => array( + 'path' => 'accounts/{accountId}/adclients/{adClientId}/adunits/{adUnitId}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'accountId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'adClientId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'adUnitId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'getAdCode' => array( + 'path' => 'accounts/{accountId}/adclients/{adClientId}/adunits/{adUnitId}/adcode', + 'httpMethod' => 'GET', + 'parameters' => array( + 'accountId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'adClientId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'adUnitId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'hostCustomChannelId' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + ), + ), + ),'insert' => array( + 'path' => 'accounts/{accountId}/adclients/{adClientId}/adunits', + 'httpMethod' => 'POST', + 'parameters' => array( + 'accountId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'adClientId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'accounts/{accountId}/adclients/{adClientId}/adunits', + 'httpMethod' => 'GET', + 'parameters' => array( + 'accountId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'adClientId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'includeInactive' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'patch' => array( + 'path' => 'accounts/{accountId}/adclients/{adClientId}/adunits', + 'httpMethod' => 'PATCH', + 'parameters' => array( + 'accountId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'adClientId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'adUnitId' => array( + 'location' => 'query', + 'type' => 'string', + 'required' => true, + ), + ), + ),'update' => array( + 'path' => 'accounts/{accountId}/adclients/{adClientId}/adunits', + 'httpMethod' => 'PUT', + 'parameters' => array( + 'accountId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'adClientId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->accounts_reports = new Google_Service_AdSenseHost_Resource_AccountsReports( + $this, + $this->serviceName, + 'reports', + array( + 'methods' => array( + 'generate' => array( + 'path' => 'accounts/{accountId}/reports', + 'httpMethod' => 'GET', + 'parameters' => array( + 'accountId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'startDate' => array( + 'location' => 'query', + 'type' => 'string', + 'required' => true, + ), + 'endDate' => array( + 'location' => 'query', + 'type' => 'string', + 'required' => true, + ), + 'dimension' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + ), + 'filter' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + ), + 'locale' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'metric' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + ), + 'sort' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + ), + 'startIndex' => array( + 'location' => 'query', + 'type' => 'integer', + ), + ), + ), + ) + ) + ); + $this->adclients = new Google_Service_AdSenseHost_Resource_Adclients( + $this, + $this->serviceName, + 'adclients', + array( + 'methods' => array( + 'get' => array( + 'path' => 'adclients/{adClientId}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'adClientId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'adclients', + 'httpMethod' => 'GET', + 'parameters' => array( + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + $this->associationsessions = new Google_Service_AdSenseHost_Resource_Associationsessions( + $this, + $this->serviceName, + 'associationsessions', + array( + 'methods' => array( + 'start' => array( + 'path' => 'associationsessions/start', + 'httpMethod' => 'GET', + 'parameters' => array( + 'productCode' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + 'required' => true, + ), + 'websiteUrl' => array( + 'location' => 'query', + 'type' => 'string', + 'required' => true, + ), + 'userLocale' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'websiteLocale' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'verify' => array( + 'path' => 'associationsessions/verify', + 'httpMethod' => 'GET', + 'parameters' => array( + 'token' => array( + 'location' => 'query', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->customchannels = new Google_Service_AdSenseHost_Resource_Customchannels( + $this, + $this->serviceName, + 'customchannels', + array( + 'methods' => array( + 'delete' => array( + 'path' => 'adclients/{adClientId}/customchannels/{customChannelId}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'adClientId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'customChannelId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'get' => array( + 'path' => 'adclients/{adClientId}/customchannels/{customChannelId}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'adClientId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'customChannelId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'insert' => array( + 'path' => 'adclients/{adClientId}/customchannels', + 'httpMethod' => 'POST', + 'parameters' => array( + 'adClientId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'adclients/{adClientId}/customchannels', + 'httpMethod' => 'GET', + 'parameters' => array( + 'adClientId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'patch' => array( + 'path' => 'adclients/{adClientId}/customchannels', + 'httpMethod' => 'PATCH', + 'parameters' => array( + 'adClientId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'customChannelId' => array( + 'location' => 'query', + 'type' => 'string', + 'required' => true, + ), + ), + ),'update' => array( + 'path' => 'adclients/{adClientId}/customchannels', + 'httpMethod' => 'PUT', + 'parameters' => array( + 'adClientId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->reports = new Google_Service_AdSenseHost_Resource_Reports( + $this, + $this->serviceName, + 'reports', + array( + 'methods' => array( + 'generate' => array( + 'path' => 'reports', + 'httpMethod' => 'GET', + 'parameters' => array( + 'startDate' => array( + 'location' => 'query', + 'type' => 'string', + 'required' => true, + ), + 'endDate' => array( + 'location' => 'query', + 'type' => 'string', + 'required' => true, + ), + 'dimension' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + ), + 'filter' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + ), + 'locale' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'metric' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + ), + 'sort' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + ), + 'startIndex' => array( + 'location' => 'query', + 'type' => 'integer', + ), + ), + ), + ) + ) + ); + $this->urlchannels = new Google_Service_AdSenseHost_Resource_Urlchannels( + $this, + $this->serviceName, + 'urlchannels', + array( + 'methods' => array( + 'delete' => array( + 'path' => 'adclients/{adClientId}/urlchannels/{urlChannelId}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'adClientId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'urlChannelId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'insert' => array( + 'path' => 'adclients/{adClientId}/urlchannels', + 'httpMethod' => 'POST', + 'parameters' => array( + 'adClientId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'adclients/{adClientId}/urlchannels', + 'httpMethod' => 'GET', + 'parameters' => array( + 'adClientId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdSenseHost/Account.php b/vendor/google/apiclient-services/src/Google/Service/AdSenseHost/Account.php new file mode 100644 index 00000000..1c35144e --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdSenseHost/Account.php @@ -0,0 +1,57 @@ +id = $id; + } + public function getId() + { + return $this->id; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setStatus($status) + { + $this->status = $status; + } + public function getStatus() + { + return $this->status; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdSenseHost/Accounts.php b/vendor/google/apiclient-services/src/Google/Service/AdSenseHost/Accounts.php new file mode 100644 index 00000000..371aef17 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdSenseHost/Accounts.php @@ -0,0 +1,50 @@ +etag = $etag; + } + public function getEtag() + { + return $this->etag; + } + public function setItems($items) + { + $this->items = $items; + } + public function getItems() + { + return $this->items; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdSenseHost/AdClient.php b/vendor/google/apiclient-services/src/Google/Service/AdSenseHost/AdClient.php new file mode 100644 index 00000000..c8a1d5d9 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdSenseHost/AdClient.php @@ -0,0 +1,66 @@ +arcOptIn = $arcOptIn; + } + public function getArcOptIn() + { + return $this->arcOptIn; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setProductCode($productCode) + { + $this->productCode = $productCode; + } + public function getProductCode() + { + return $this->productCode; + } + public function setSupportsReporting($supportsReporting) + { + $this->supportsReporting = $supportsReporting; + } + public function getSupportsReporting() + { + return $this->supportsReporting; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdSenseHost/AdClients.php b/vendor/google/apiclient-services/src/Google/Service/AdSenseHost/AdClients.php new file mode 100644 index 00000000..6a80b166 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdSenseHost/AdClients.php @@ -0,0 +1,59 @@ +etag = $etag; + } + public function getEtag() + { + return $this->etag; + } + public function setItems($items) + { + $this->items = $items; + } + public function getItems() + { + return $this->items; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdSenseHost/AdCode.php b/vendor/google/apiclient-services/src/Google/Service/AdSenseHost/AdCode.php new file mode 100644 index 00000000..939dcb1d --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdSenseHost/AdCode.php @@ -0,0 +1,39 @@ +adCode = $adCode; + } + public function getAdCode() + { + return $this->adCode; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdSenseHost/AdStyle.php b/vendor/google/apiclient-services/src/Google/Service/AdSenseHost/AdStyle.php new file mode 100644 index 00000000..f5bddbaf --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdSenseHost/AdStyle.php @@ -0,0 +1,59 @@ +colors = $colors; + } + public function getColors() + { + return $this->colors; + } + public function setCorners($corners) + { + $this->corners = $corners; + } + public function getCorners() + { + return $this->corners; + } + public function setFont(Google_Service_AdSenseHost_AdStyleFont $font) + { + $this->font = $font; + } + public function getFont() + { + return $this->font; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdSenseHost/AdStyleColors.php b/vendor/google/apiclient-services/src/Google/Service/AdSenseHost/AdStyleColors.php new file mode 100644 index 00000000..dbe20cfb --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdSenseHost/AdStyleColors.php @@ -0,0 +1,66 @@ +background = $background; + } + public function getBackground() + { + return $this->background; + } + public function setBorder($border) + { + $this->border = $border; + } + public function getBorder() + { + return $this->border; + } + public function setText($text) + { + $this->text = $text; + } + public function getText() + { + return $this->text; + } + public function setTitle($title) + { + $this->title = $title; + } + public function getTitle() + { + return $this->title; + } + public function setUrl($url) + { + $this->url = $url; + } + public function getUrl() + { + return $this->url; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdSenseHost/AdStyleFont.php b/vendor/google/apiclient-services/src/Google/Service/AdSenseHost/AdStyleFont.php new file mode 100644 index 00000000..0d935b8f --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdSenseHost/AdStyleFont.php @@ -0,0 +1,39 @@ +family = $family; + } + public function getFamily() + { + return $this->family; + } + public function setSize($size) + { + $this->size = $size; + } + public function getSize() + { + return $this->size; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdSenseHost/AdUnit.php b/vendor/google/apiclient-services/src/Google/Service/AdSenseHost/AdUnit.php new file mode 100644 index 00000000..fee1e201 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdSenseHost/AdUnit.php @@ -0,0 +1,96 @@ +code = $code; + } + public function getCode() + { + return $this->code; + } + public function setContentAdsSettings(Google_Service_AdSenseHost_AdUnitContentAdsSettings $contentAdsSettings) + { + $this->contentAdsSettings = $contentAdsSettings; + } + public function getContentAdsSettings() + { + return $this->contentAdsSettings; + } + public function setCustomStyle(Google_Service_AdSenseHost_AdStyle $customStyle) + { + $this->customStyle = $customStyle; + } + public function getCustomStyle() + { + return $this->customStyle; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setMobileContentAdsSettings(Google_Service_AdSenseHost_AdUnitMobileContentAdsSettings $mobileContentAdsSettings) + { + $this->mobileContentAdsSettings = $mobileContentAdsSettings; + } + public function getMobileContentAdsSettings() + { + return $this->mobileContentAdsSettings; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setStatus($status) + { + $this->status = $status; + } + public function getStatus() + { + return $this->status; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdSenseHost/AdUnitContentAdsSettings.php b/vendor/google/apiclient-services/src/Google/Service/AdSenseHost/AdUnitContentAdsSettings.php new file mode 100644 index 00000000..4bd5d533 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdSenseHost/AdUnitContentAdsSettings.php @@ -0,0 +1,49 @@ +backupOption = $backupOption; + } + public function getBackupOption() + { + return $this->backupOption; + } + public function setSize($size) + { + $this->size = $size; + } + public function getSize() + { + return $this->size; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdSenseHost/AdUnitContentAdsSettingsBackupOption.php b/vendor/google/apiclient-services/src/Google/Service/AdSenseHost/AdUnitContentAdsSettingsBackupOption.php new file mode 100644 index 00000000..c4ca660c --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdSenseHost/AdUnitContentAdsSettingsBackupOption.php @@ -0,0 +1,48 @@ +color = $color; + } + public function getColor() + { + return $this->color; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } + public function setUrl($url) + { + $this->url = $url; + } + public function getUrl() + { + return $this->url; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdSenseHost/AdUnitMobileContentAdsSettings.php b/vendor/google/apiclient-services/src/Google/Service/AdSenseHost/AdUnitMobileContentAdsSettings.php new file mode 100644 index 00000000..c50cdad2 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdSenseHost/AdUnitMobileContentAdsSettings.php @@ -0,0 +1,57 @@ +markupLanguage = $markupLanguage; + } + public function getMarkupLanguage() + { + return $this->markupLanguage; + } + public function setScriptingLanguage($scriptingLanguage) + { + $this->scriptingLanguage = $scriptingLanguage; + } + public function getScriptingLanguage() + { + return $this->scriptingLanguage; + } + public function setSize($size) + { + $this->size = $size; + } + public function getSize() + { + return $this->size; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdSenseHost/AdUnits.php b/vendor/google/apiclient-services/src/Google/Service/AdSenseHost/AdUnits.php new file mode 100644 index 00000000..b528b0cc --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdSenseHost/AdUnits.php @@ -0,0 +1,59 @@ +etag = $etag; + } + public function getEtag() + { + return $this->etag; + } + public function setItems($items) + { + $this->items = $items; + } + public function getItems() + { + return $this->items; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdSenseHost/AssociationSession.php b/vendor/google/apiclient-services/src/Google/Service/AdSenseHost/AssociationSession.php new file mode 100644 index 00000000..4d346008 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdSenseHost/AssociationSession.php @@ -0,0 +1,103 @@ +accountId = $accountId; + } + public function getAccountId() + { + return $this->accountId; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setProductCodes($productCodes) + { + $this->productCodes = $productCodes; + } + public function getProductCodes() + { + return $this->productCodes; + } + public function setRedirectUrl($redirectUrl) + { + $this->redirectUrl = $redirectUrl; + } + public function getRedirectUrl() + { + return $this->redirectUrl; + } + public function setStatus($status) + { + $this->status = $status; + } + public function getStatus() + { + return $this->status; + } + public function setUserLocale($userLocale) + { + $this->userLocale = $userLocale; + } + public function getUserLocale() + { + return $this->userLocale; + } + public function setWebsiteLocale($websiteLocale) + { + $this->websiteLocale = $websiteLocale; + } + public function getWebsiteLocale() + { + return $this->websiteLocale; + } + public function setWebsiteUrl($websiteUrl) + { + $this->websiteUrl = $websiteUrl; + } + public function getWebsiteUrl() + { + return $this->websiteUrl; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdSenseHost/CustomChannel.php b/vendor/google/apiclient-services/src/Google/Service/AdSenseHost/CustomChannel.php new file mode 100644 index 00000000..94f73abd --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdSenseHost/CustomChannel.php @@ -0,0 +1,57 @@ +code = $code; + } + public function getCode() + { + return $this->code; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdSenseHost/CustomChannels.php b/vendor/google/apiclient-services/src/Google/Service/AdSenseHost/CustomChannels.php new file mode 100644 index 00000000..455be5ae --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdSenseHost/CustomChannels.php @@ -0,0 +1,59 @@ +etag = $etag; + } + public function getEtag() + { + return $this->etag; + } + public function setItems($items) + { + $this->items = $items; + } + public function getItems() + { + return $this->items; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdSenseHost/Report.php b/vendor/google/apiclient-services/src/Google/Service/AdSenseHost/Report.php new file mode 100644 index 00000000..94220fec --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdSenseHost/Report.php @@ -0,0 +1,86 @@ +averages = $averages; + } + public function getAverages() + { + return $this->averages; + } + public function setHeaders($headers) + { + $this->headers = $headers; + } + public function getHeaders() + { + return $this->headers; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setRows($rows) + { + $this->rows = $rows; + } + public function getRows() + { + return $this->rows; + } + public function setTotalMatchedRows($totalMatchedRows) + { + $this->totalMatchedRows = $totalMatchedRows; + } + public function getTotalMatchedRows() + { + return $this->totalMatchedRows; + } + public function setTotals($totals) + { + $this->totals = $totals; + } + public function getTotals() + { + return $this->totals; + } + public function setWarnings($warnings) + { + $this->warnings = $warnings; + } + public function getWarnings() + { + return $this->warnings; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdSenseHost/ReportHeaders.php b/vendor/google/apiclient-services/src/Google/Service/AdSenseHost/ReportHeaders.php new file mode 100644 index 00000000..418e03fd --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdSenseHost/ReportHeaders.php @@ -0,0 +1,48 @@ +currency = $currency; + } + public function getCurrency() + { + return $this->currency; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdSenseHost/Resource/Accounts.php b/vendor/google/apiclient-services/src/Google/Service/AdSenseHost/Resource/Accounts.php new file mode 100644 index 00000000..6256267b --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdSenseHost/Resource/Accounts.php @@ -0,0 +1,55 @@ + + * $adsensehostService = new Google_Service_AdSenseHost(...); + * $accounts = $adsensehostService->accounts; + * + */ +class Google_Service_AdSenseHost_Resource_Accounts extends Google_Service_Resource +{ + /** + * Get information about the selected associated AdSense account. (accounts.get) + * + * @param string $accountId Account to get information about. + * @param array $optParams Optional parameters. + * @return Google_Service_AdSenseHost_Account + */ + public function get($accountId, $optParams = array()) + { + $params = array('accountId' => $accountId); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_AdSenseHost_Account"); + } + /** + * List hosted accounts associated with this AdSense account by ad client id. + * (accounts.listAccounts) + * + * @param string|array $filterAdClientId Ad clients to list accounts for. + * @param array $optParams Optional parameters. + * @return Google_Service_AdSenseHost_Accounts + */ + public function listAccounts($filterAdClientId, $optParams = array()) + { + $params = array('filterAdClientId' => $filterAdClientId); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_AdSenseHost_Accounts"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdSenseHost/Resource/AccountsAdclients.php b/vendor/google/apiclient-services/src/Google/Service/AdSenseHost/Resource/AccountsAdclients.php new file mode 100644 index 00000000..5eab0111 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdSenseHost/Resource/AccountsAdclients.php @@ -0,0 +1,63 @@ + + * $adsensehostService = new Google_Service_AdSenseHost(...); + * $adclients = $adsensehostService->adclients; + * + */ +class Google_Service_AdSenseHost_Resource_AccountsAdclients extends Google_Service_Resource +{ + /** + * Get information about one of the ad clients in the specified publisher's + * AdSense account. (adclients.get) + * + * @param string $accountId Account which contains the ad client. + * @param string $adClientId Ad client to get. + * @param array $optParams Optional parameters. + * @return Google_Service_AdSenseHost_AdClient + */ + public function get($accountId, $adClientId, $optParams = array()) + { + $params = array('accountId' => $accountId, 'adClientId' => $adClientId); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_AdSenseHost_AdClient"); + } + /** + * List all hosted ad clients in the specified hosted account. + * (adclients.listAccountsAdclients) + * + * @param string $accountId Account for which to list ad clients. + * @param array $optParams Optional parameters. + * + * @opt_param string maxResults The maximum number of ad clients to include in + * the response, used for paging. + * @opt_param string pageToken A continuation token, used to page through ad + * clients. To retrieve the next page, set this parameter to the value of + * "nextPageToken" from the previous response. + * @return Google_Service_AdSenseHost_AdClients + */ + public function listAccountsAdclients($accountId, $optParams = array()) + { + $params = array('accountId' => $accountId); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_AdSenseHost_AdClients"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdSenseHost/Resource/AccountsAdunits.php b/vendor/google/apiclient-services/src/Google/Service/AdSenseHost/Resource/AccountsAdunits.php new file mode 100644 index 00000000..b05f2bcd --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdSenseHost/Resource/AccountsAdunits.php @@ -0,0 +1,150 @@ + + * $adsensehostService = new Google_Service_AdSenseHost(...); + * $adunits = $adsensehostService->adunits; + * + */ +class Google_Service_AdSenseHost_Resource_AccountsAdunits extends Google_Service_Resource +{ + /** + * Delete the specified ad unit from the specified publisher AdSense account. + * (adunits.delete) + * + * @param string $accountId Account which contains the ad unit. + * @param string $adClientId Ad client for which to get ad unit. + * @param string $adUnitId Ad unit to delete. + * @param array $optParams Optional parameters. + * @return Google_Service_AdSenseHost_AdUnit + */ + public function delete($accountId, $adClientId, $adUnitId, $optParams = array()) + { + $params = array('accountId' => $accountId, 'adClientId' => $adClientId, 'adUnitId' => $adUnitId); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params), "Google_Service_AdSenseHost_AdUnit"); + } + /** + * Get the specified host ad unit in this AdSense account. (adunits.get) + * + * @param string $accountId Account which contains the ad unit. + * @param string $adClientId Ad client for which to get ad unit. + * @param string $adUnitId Ad unit to get. + * @param array $optParams Optional parameters. + * @return Google_Service_AdSenseHost_AdUnit + */ + public function get($accountId, $adClientId, $adUnitId, $optParams = array()) + { + $params = array('accountId' => $accountId, 'adClientId' => $adClientId, 'adUnitId' => $adUnitId); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_AdSenseHost_AdUnit"); + } + /** + * Get ad code for the specified ad unit, attaching the specified host custom + * channels. (adunits.getAdCode) + * + * @param string $accountId Account which contains the ad client. + * @param string $adClientId Ad client with contains the ad unit. + * @param string $adUnitId Ad unit to get the code for. + * @param array $optParams Optional parameters. + * + * @opt_param string hostCustomChannelId Host custom channel to attach to the ad + * code. + * @return Google_Service_AdSenseHost_AdCode + */ + public function getAdCode($accountId, $adClientId, $adUnitId, $optParams = array()) + { + $params = array('accountId' => $accountId, 'adClientId' => $adClientId, 'adUnitId' => $adUnitId); + $params = array_merge($params, $optParams); + return $this->call('getAdCode', array($params), "Google_Service_AdSenseHost_AdCode"); + } + /** + * Insert the supplied ad unit into the specified publisher AdSense account. + * (adunits.insert) + * + * @param string $accountId Account which will contain the ad unit. + * @param string $adClientId Ad client into which to insert the ad unit. + * @param Google_Service_AdSenseHost_AdUnit $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_AdSenseHost_AdUnit + */ + public function insert($accountId, $adClientId, Google_Service_AdSenseHost_AdUnit $postBody, $optParams = array()) + { + $params = array('accountId' => $accountId, 'adClientId' => $adClientId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('insert', array($params), "Google_Service_AdSenseHost_AdUnit"); + } + /** + * List all ad units in the specified publisher's AdSense account. + * (adunits.listAccountsAdunits) + * + * @param string $accountId Account which contains the ad client. + * @param string $adClientId Ad client for which to list ad units. + * @param array $optParams Optional parameters. + * + * @opt_param bool includeInactive Whether to include inactive ad units. + * Default: true. + * @opt_param string maxResults The maximum number of ad units to include in the + * response, used for paging. + * @opt_param string pageToken A continuation token, used to page through ad + * units. To retrieve the next page, set this parameter to the value of + * "nextPageToken" from the previous response. + * @return Google_Service_AdSenseHost_AdUnits + */ + public function listAccountsAdunits($accountId, $adClientId, $optParams = array()) + { + $params = array('accountId' => $accountId, 'adClientId' => $adClientId); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_AdSenseHost_AdUnits"); + } + /** + * Update the supplied ad unit in the specified publisher AdSense account. This + * method supports patch semantics. (adunits.patch) + * + * @param string $accountId Account which contains the ad client. + * @param string $adClientId Ad client which contains the ad unit. + * @param string $adUnitId Ad unit to get. + * @param Google_Service_AdSenseHost_AdUnit $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_AdSenseHost_AdUnit + */ + public function patch($accountId, $adClientId, $adUnitId, Google_Service_AdSenseHost_AdUnit $postBody, $optParams = array()) + { + $params = array('accountId' => $accountId, 'adClientId' => $adClientId, 'adUnitId' => $adUnitId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('patch', array($params), "Google_Service_AdSenseHost_AdUnit"); + } + /** + * Update the supplied ad unit in the specified publisher AdSense account. + * (adunits.update) + * + * @param string $accountId Account which contains the ad client. + * @param string $adClientId Ad client which contains the ad unit. + * @param Google_Service_AdSenseHost_AdUnit $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_AdSenseHost_AdUnit + */ + public function update($accountId, $adClientId, Google_Service_AdSenseHost_AdUnit $postBody, $optParams = array()) + { + $params = array('accountId' => $accountId, 'adClientId' => $adClientId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('update', array($params), "Google_Service_AdSenseHost_AdUnit"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdSenseHost/Resource/AccountsReports.php b/vendor/google/apiclient-services/src/Google/Service/AdSenseHost/Resource/AccountsReports.php new file mode 100644 index 00000000..0aa2ea79 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdSenseHost/Resource/AccountsReports.php @@ -0,0 +1,59 @@ + + * $adsensehostService = new Google_Service_AdSenseHost(...); + * $reports = $adsensehostService->reports; + * + */ +class Google_Service_AdSenseHost_Resource_AccountsReports extends Google_Service_Resource +{ + /** + * Generate an AdSense report based on the report request sent in the query + * parameters. Returns the result as JSON; to retrieve output in CSV format + * specify "alt=csv" as a query parameter. (reports.generate) + * + * @param string $accountId Hosted account upon which to report. + * @param string $startDate Start of the date range to report on in "YYYY-MM-DD" + * format, inclusive. + * @param string $endDate End of the date range to report on in "YYYY-MM-DD" + * format, inclusive. + * @param array $optParams Optional parameters. + * + * @opt_param string dimension Dimensions to base the report on. + * @opt_param string filter Filters to be run on the report. + * @opt_param string locale Optional locale to use for translating report output + * to a local language. Defaults to "en_US" if not specified. + * @opt_param string maxResults The maximum number of rows of report data to + * return. + * @opt_param string metric Numeric columns to include in the report. + * @opt_param string sort The name of a dimension or metric to sort the + * resulting report on, optionally prefixed with "+" to sort ascending or "-" to + * sort descending. If no prefix is specified, the column is sorted ascending. + * @opt_param string startIndex Index of the first row of report data to return. + * @return Google_Service_AdSenseHost_Report + */ + public function generate($accountId, $startDate, $endDate, $optParams = array()) + { + $params = array('accountId' => $accountId, 'startDate' => $startDate, 'endDate' => $endDate); + $params = array_merge($params, $optParams); + return $this->call('generate', array($params), "Google_Service_AdSenseHost_Report"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdSenseHost/Resource/Adclients.php b/vendor/google/apiclient-services/src/Google/Service/AdSenseHost/Resource/Adclients.php new file mode 100644 index 00000000..006abdfb --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdSenseHost/Resource/Adclients.php @@ -0,0 +1,60 @@ + + * $adsensehostService = new Google_Service_AdSenseHost(...); + * $adclients = $adsensehostService->adclients; + * + */ +class Google_Service_AdSenseHost_Resource_Adclients extends Google_Service_Resource +{ + /** + * Get information about one of the ad clients in the Host AdSense account. + * (adclients.get) + * + * @param string $adClientId Ad client to get. + * @param array $optParams Optional parameters. + * @return Google_Service_AdSenseHost_AdClient + */ + public function get($adClientId, $optParams = array()) + { + $params = array('adClientId' => $adClientId); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_AdSenseHost_AdClient"); + } + /** + * List all host ad clients in this AdSense account. (adclients.listAdclients) + * + * @param array $optParams Optional parameters. + * + * @opt_param string maxResults The maximum number of ad clients to include in + * the response, used for paging. + * @opt_param string pageToken A continuation token, used to page through ad + * clients. To retrieve the next page, set this parameter to the value of + * "nextPageToken" from the previous response. + * @return Google_Service_AdSenseHost_AdClients + */ + public function listAdclients($optParams = array()) + { + $params = array(); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_AdSenseHost_AdClients"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdSenseHost/Resource/Associationsessions.php b/vendor/google/apiclient-services/src/Google/Service/AdSenseHost/Resource/Associationsessions.php new file mode 100644 index 00000000..67a900aa --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdSenseHost/Resource/Associationsessions.php @@ -0,0 +1,60 @@ + + * $adsensehostService = new Google_Service_AdSenseHost(...); + * $associationsessions = $adsensehostService->associationsessions; + * + */ +class Google_Service_AdSenseHost_Resource_Associationsessions extends Google_Service_Resource +{ + /** + * Create an association session for initiating an association with an AdSense + * user. (associationsessions.start) + * + * @param string|array $productCode Products to associate with the user. + * @param string $websiteUrl The URL of the user's hosted website. + * @param array $optParams Optional parameters. + * + * @opt_param string userLocale The preferred locale of the user. + * @opt_param string websiteLocale The locale of the user's hosted website. + * @return Google_Service_AdSenseHost_AssociationSession + */ + public function start($productCode, $websiteUrl, $optParams = array()) + { + $params = array('productCode' => $productCode, 'websiteUrl' => $websiteUrl); + $params = array_merge($params, $optParams); + return $this->call('start', array($params), "Google_Service_AdSenseHost_AssociationSession"); + } + /** + * Verify an association session after the association callback returns from + * AdSense signup. (associationsessions.verify) + * + * @param string $token The token returned to the association callback URL. + * @param array $optParams Optional parameters. + * @return Google_Service_AdSenseHost_AssociationSession + */ + public function verify($token, $optParams = array()) + { + $params = array('token' => $token); + $params = array_merge($params, $optParams); + return $this->call('verify', array($params), "Google_Service_AdSenseHost_AssociationSession"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdSenseHost/Resource/Customchannels.php b/vendor/google/apiclient-services/src/Google/Service/AdSenseHost/Resource/Customchannels.php new file mode 100644 index 00000000..75736e6a --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdSenseHost/Resource/Customchannels.php @@ -0,0 +1,125 @@ + + * $adsensehostService = new Google_Service_AdSenseHost(...); + * $customchannels = $adsensehostService->customchannels; + * + */ +class Google_Service_AdSenseHost_Resource_Customchannels extends Google_Service_Resource +{ + /** + * Delete a specific custom channel from the host AdSense account. + * (customchannels.delete) + * + * @param string $adClientId Ad client from which to delete the custom channel. + * @param string $customChannelId Custom channel to delete. + * @param array $optParams Optional parameters. + * @return Google_Service_AdSenseHost_CustomChannel + */ + public function delete($adClientId, $customChannelId, $optParams = array()) + { + $params = array('adClientId' => $adClientId, 'customChannelId' => $customChannelId); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params), "Google_Service_AdSenseHost_CustomChannel"); + } + /** + * Get a specific custom channel from the host AdSense account. + * (customchannels.get) + * + * @param string $adClientId Ad client from which to get the custom channel. + * @param string $customChannelId Custom channel to get. + * @param array $optParams Optional parameters. + * @return Google_Service_AdSenseHost_CustomChannel + */ + public function get($adClientId, $customChannelId, $optParams = array()) + { + $params = array('adClientId' => $adClientId, 'customChannelId' => $customChannelId); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_AdSenseHost_CustomChannel"); + } + /** + * Add a new custom channel to the host AdSense account. (customchannels.insert) + * + * @param string $adClientId Ad client to which the new custom channel will be + * added. + * @param Google_Service_AdSenseHost_CustomChannel $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_AdSenseHost_CustomChannel + */ + public function insert($adClientId, Google_Service_AdSenseHost_CustomChannel $postBody, $optParams = array()) + { + $params = array('adClientId' => $adClientId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('insert', array($params), "Google_Service_AdSenseHost_CustomChannel"); + } + /** + * List all host custom channels in this AdSense account. + * (customchannels.listCustomchannels) + * + * @param string $adClientId Ad client for which to list custom channels. + * @param array $optParams Optional parameters. + * + * @opt_param string maxResults The maximum number of custom channels to include + * in the response, used for paging. + * @opt_param string pageToken A continuation token, used to page through custom + * channels. To retrieve the next page, set this parameter to the value of + * "nextPageToken" from the previous response. + * @return Google_Service_AdSenseHost_CustomChannels + */ + public function listCustomchannels($adClientId, $optParams = array()) + { + $params = array('adClientId' => $adClientId); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_AdSenseHost_CustomChannels"); + } + /** + * Update a custom channel in the host AdSense account. This method supports + * patch semantics. (customchannels.patch) + * + * @param string $adClientId Ad client in which the custom channel will be + * updated. + * @param string $customChannelId Custom channel to get. + * @param Google_Service_AdSenseHost_CustomChannel $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_AdSenseHost_CustomChannel + */ + public function patch($adClientId, $customChannelId, Google_Service_AdSenseHost_CustomChannel $postBody, $optParams = array()) + { + $params = array('adClientId' => $adClientId, 'customChannelId' => $customChannelId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('patch', array($params), "Google_Service_AdSenseHost_CustomChannel"); + } + /** + * Update a custom channel in the host AdSense account. (customchannels.update) + * + * @param string $adClientId Ad client in which the custom channel will be + * updated. + * @param Google_Service_AdSenseHost_CustomChannel $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_AdSenseHost_CustomChannel + */ + public function update($adClientId, Google_Service_AdSenseHost_CustomChannel $postBody, $optParams = array()) + { + $params = array('adClientId' => $adClientId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('update', array($params), "Google_Service_AdSenseHost_CustomChannel"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdSenseHost/Resource/Reports.php b/vendor/google/apiclient-services/src/Google/Service/AdSenseHost/Resource/Reports.php new file mode 100644 index 00000000..fa5522c8 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdSenseHost/Resource/Reports.php @@ -0,0 +1,58 @@ + + * $adsensehostService = new Google_Service_AdSenseHost(...); + * $reports = $adsensehostService->reports; + * + */ +class Google_Service_AdSenseHost_Resource_Reports extends Google_Service_Resource +{ + /** + * Generate an AdSense report based on the report request sent in the query + * parameters. Returns the result as JSON; to retrieve output in CSV format + * specify "alt=csv" as a query parameter. (reports.generate) + * + * @param string $startDate Start of the date range to report on in "YYYY-MM-DD" + * format, inclusive. + * @param string $endDate End of the date range to report on in "YYYY-MM-DD" + * format, inclusive. + * @param array $optParams Optional parameters. + * + * @opt_param string dimension Dimensions to base the report on. + * @opt_param string filter Filters to be run on the report. + * @opt_param string locale Optional locale to use for translating report output + * to a local language. Defaults to "en_US" if not specified. + * @opt_param string maxResults The maximum number of rows of report data to + * return. + * @opt_param string metric Numeric columns to include in the report. + * @opt_param string sort The name of a dimension or metric to sort the + * resulting report on, optionally prefixed with "+" to sort ascending or "-" to + * sort descending. If no prefix is specified, the column is sorted ascending. + * @opt_param string startIndex Index of the first row of report data to return. + * @return Google_Service_AdSenseHost_Report + */ + public function generate($startDate, $endDate, $optParams = array()) + { + $params = array('startDate' => $startDate, 'endDate' => $endDate); + $params = array_merge($params, $optParams); + return $this->call('generate', array($params), "Google_Service_AdSenseHost_Report"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdSenseHost/Resource/Urlchannels.php b/vendor/google/apiclient-services/src/Google/Service/AdSenseHost/Resource/Urlchannels.php new file mode 100644 index 00000000..6a7cbcf4 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdSenseHost/Resource/Urlchannels.php @@ -0,0 +1,77 @@ + + * $adsensehostService = new Google_Service_AdSenseHost(...); + * $urlchannels = $adsensehostService->urlchannels; + * + */ +class Google_Service_AdSenseHost_Resource_Urlchannels extends Google_Service_Resource +{ + /** + * Delete a URL channel from the host AdSense account. (urlchannels.delete) + * + * @param string $adClientId Ad client from which to delete the URL channel. + * @param string $urlChannelId URL channel to delete. + * @param array $optParams Optional parameters. + * @return Google_Service_AdSenseHost_UrlChannel + */ + public function delete($adClientId, $urlChannelId, $optParams = array()) + { + $params = array('adClientId' => $adClientId, 'urlChannelId' => $urlChannelId); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params), "Google_Service_AdSenseHost_UrlChannel"); + } + /** + * Add a new URL channel to the host AdSense account. (urlchannels.insert) + * + * @param string $adClientId Ad client to which the new URL channel will be + * added. + * @param Google_Service_AdSenseHost_UrlChannel $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_AdSenseHost_UrlChannel + */ + public function insert($adClientId, Google_Service_AdSenseHost_UrlChannel $postBody, $optParams = array()) + { + $params = array('adClientId' => $adClientId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('insert', array($params), "Google_Service_AdSenseHost_UrlChannel"); + } + /** + * List all host URL channels in the host AdSense account. + * (urlchannels.listUrlchannels) + * + * @param string $adClientId Ad client for which to list URL channels. + * @param array $optParams Optional parameters. + * + * @opt_param string maxResults The maximum number of URL channels to include in + * the response, used for paging. + * @opt_param string pageToken A continuation token, used to page through URL + * channels. To retrieve the next page, set this parameter to the value of + * "nextPageToken" from the previous response. + * @return Google_Service_AdSenseHost_UrlChannels + */ + public function listUrlchannels($adClientId, $optParams = array()) + { + $params = array('adClientId' => $adClientId); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_AdSenseHost_UrlChannels"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdSenseHost/UrlChannel.php b/vendor/google/apiclient-services/src/Google/Service/AdSenseHost/UrlChannel.php new file mode 100644 index 00000000..f58f23cd --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdSenseHost/UrlChannel.php @@ -0,0 +1,48 @@ +id = $id; + } + public function getId() + { + return $this->id; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setUrlPattern($urlPattern) + { + $this->urlPattern = $urlPattern; + } + public function getUrlPattern() + { + return $this->urlPattern; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AdSenseHost/UrlChannels.php b/vendor/google/apiclient-services/src/Google/Service/AdSenseHost/UrlChannels.php new file mode 100644 index 00000000..cc7338dc --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AdSenseHost/UrlChannels.php @@ -0,0 +1,59 @@ +etag = $etag; + } + public function getEtag() + { + return $this->etag; + } + public function setItems($items) + { + $this->items = $items; + } + public function getItems() + { + return $this->items; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Analytics.php b/vendor/google/apiclient-services/src/Google/Service/Analytics.php new file mode 100644 index 00000000..50a3b231 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Analytics.php @@ -0,0 +1,2103 @@ + + * Views and manages your Google Analytics data.

+ * + *

+ * For more information about this service, see the API + * Documentation + *

+ * + * @author Google, Inc. + */ +class Google_Service_Analytics extends Google_Service +{ + /** View and manage your Google Analytics data. */ + const ANALYTICS = + "https://www.googleapis.com/auth/analytics"; + /** Edit Google Analytics management entities. */ + const ANALYTICS_EDIT = + "https://www.googleapis.com/auth/analytics.edit"; + /** Manage Google Analytics Account users by email address. */ + const ANALYTICS_MANAGE_USERS = + "https://www.googleapis.com/auth/analytics.manage.users"; + /** View Google Analytics user permissions. */ + const ANALYTICS_MANAGE_USERS_READONLY = + "https://www.googleapis.com/auth/analytics.manage.users.readonly"; + /** Create a new Google Analytics account along with its default property and view. */ + const ANALYTICS_PROVISION = + "https://www.googleapis.com/auth/analytics.provision"; + /** View your Google Analytics data. */ + const ANALYTICS_READONLY = + "https://www.googleapis.com/auth/analytics.readonly"; + + public $data_ga; + public $data_mcf; + public $data_realtime; + public $management_accountSummaries; + public $management_accountUserLinks; + public $management_accounts; + public $management_customDataSources; + public $management_customDimensions; + public $management_customMetrics; + public $management_experiments; + public $management_filters; + public $management_goals; + public $management_profileFilterLinks; + public $management_profileUserLinks; + public $management_profiles; + public $management_remarketingAudience; + public $management_segments; + public $management_unsampledReports; + public $management_uploads; + public $management_webPropertyAdWordsLinks; + public $management_webproperties; + public $management_webpropertyUserLinks; + public $metadata_columns; + public $provisioning; + + /** + * Constructs the internal representation of the Analytics service. + * + * @param Google_Client $client + */ + public function __construct(Google_Client $client) + { + parent::__construct($client); + $this->rootUrl = 'https://www.googleapis.com/'; + $this->servicePath = 'analytics/v3/'; + $this->version = 'v3'; + $this->serviceName = 'analytics'; + + $this->data_ga = new Google_Service_Analytics_Resource_DataGa( + $this, + $this->serviceName, + 'ga', + array( + 'methods' => array( + 'get' => array( + 'path' => 'data/ga', + 'httpMethod' => 'GET', + 'parameters' => array( + 'ids' => array( + 'location' => 'query', + 'type' => 'string', + 'required' => true, + ), + 'start-date' => array( + 'location' => 'query', + 'type' => 'string', + 'required' => true, + ), + 'end-date' => array( + 'location' => 'query', + 'type' => 'string', + 'required' => true, + ), + 'metrics' => array( + 'location' => 'query', + 'type' => 'string', + 'required' => true, + ), + 'dimensions' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'filters' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'include-empty-rows' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + 'max-results' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'output' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'samplingLevel' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'segment' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'sort' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'start-index' => array( + 'location' => 'query', + 'type' => 'integer', + ), + ), + ), + ) + ) + ); + $this->data_mcf = new Google_Service_Analytics_Resource_DataMcf( + $this, + $this->serviceName, + 'mcf', + array( + 'methods' => array( + 'get' => array( + 'path' => 'data/mcf', + 'httpMethod' => 'GET', + 'parameters' => array( + 'ids' => array( + 'location' => 'query', + 'type' => 'string', + 'required' => true, + ), + 'start-date' => array( + 'location' => 'query', + 'type' => 'string', + 'required' => true, + ), + 'end-date' => array( + 'location' => 'query', + 'type' => 'string', + 'required' => true, + ), + 'metrics' => array( + 'location' => 'query', + 'type' => 'string', + 'required' => true, + ), + 'dimensions' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'filters' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'max-results' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'samplingLevel' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'sort' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'start-index' => array( + 'location' => 'query', + 'type' => 'integer', + ), + ), + ), + ) + ) + ); + $this->data_realtime = new Google_Service_Analytics_Resource_DataRealtime( + $this, + $this->serviceName, + 'realtime', + array( + 'methods' => array( + 'get' => array( + 'path' => 'data/realtime', + 'httpMethod' => 'GET', + 'parameters' => array( + 'ids' => array( + 'location' => 'query', + 'type' => 'string', + 'required' => true, + ), + 'metrics' => array( + 'location' => 'query', + 'type' => 'string', + 'required' => true, + ), + 'dimensions' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'filters' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'max-results' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'sort' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + $this->management_accountSummaries = new Google_Service_Analytics_Resource_ManagementAccountSummaries( + $this, + $this->serviceName, + 'accountSummaries', + array( + 'methods' => array( + 'list' => array( + 'path' => 'management/accountSummaries', + 'httpMethod' => 'GET', + 'parameters' => array( + 'max-results' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'start-index' => array( + 'location' => 'query', + 'type' => 'integer', + ), + ), + ), + ) + ) + ); + $this->management_accountUserLinks = new Google_Service_Analytics_Resource_ManagementAccountUserLinks( + $this, + $this->serviceName, + 'accountUserLinks', + array( + 'methods' => array( + 'delete' => array( + 'path' => 'management/accounts/{accountId}/entityUserLinks/{linkId}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'accountId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'linkId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'insert' => array( + 'path' => 'management/accounts/{accountId}/entityUserLinks', + 'httpMethod' => 'POST', + 'parameters' => array( + 'accountId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'management/accounts/{accountId}/entityUserLinks', + 'httpMethod' => 'GET', + 'parameters' => array( + 'accountId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'max-results' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'start-index' => array( + 'location' => 'query', + 'type' => 'integer', + ), + ), + ),'update' => array( + 'path' => 'management/accounts/{accountId}/entityUserLinks/{linkId}', + 'httpMethod' => 'PUT', + 'parameters' => array( + 'accountId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'linkId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->management_accounts = new Google_Service_Analytics_Resource_ManagementAccounts( + $this, + $this->serviceName, + 'accounts', + array( + 'methods' => array( + 'list' => array( + 'path' => 'management/accounts', + 'httpMethod' => 'GET', + 'parameters' => array( + 'max-results' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'start-index' => array( + 'location' => 'query', + 'type' => 'integer', + ), + ), + ), + ) + ) + ); + $this->management_customDataSources = new Google_Service_Analytics_Resource_ManagementCustomDataSources( + $this, + $this->serviceName, + 'customDataSources', + array( + 'methods' => array( + 'list' => array( + 'path' => 'management/accounts/{accountId}/webproperties/{webPropertyId}/customDataSources', + 'httpMethod' => 'GET', + 'parameters' => array( + 'accountId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'webPropertyId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'max-results' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'start-index' => array( + 'location' => 'query', + 'type' => 'integer', + ), + ), + ), + ) + ) + ); + $this->management_customDimensions = new Google_Service_Analytics_Resource_ManagementCustomDimensions( + $this, + $this->serviceName, + 'customDimensions', + array( + 'methods' => array( + 'get' => array( + 'path' => 'management/accounts/{accountId}/webproperties/{webPropertyId}/customDimensions/{customDimensionId}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'accountId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'webPropertyId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'customDimensionId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'insert' => array( + 'path' => 'management/accounts/{accountId}/webproperties/{webPropertyId}/customDimensions', + 'httpMethod' => 'POST', + 'parameters' => array( + 'accountId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'webPropertyId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'management/accounts/{accountId}/webproperties/{webPropertyId}/customDimensions', + 'httpMethod' => 'GET', + 'parameters' => array( + 'accountId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'webPropertyId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'max-results' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'start-index' => array( + 'location' => 'query', + 'type' => 'integer', + ), + ), + ),'patch' => array( + 'path' => 'management/accounts/{accountId}/webproperties/{webPropertyId}/customDimensions/{customDimensionId}', + 'httpMethod' => 'PATCH', + 'parameters' => array( + 'accountId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'webPropertyId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'customDimensionId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'ignoreCustomDataSourceLinks' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + ), + ),'update' => array( + 'path' => 'management/accounts/{accountId}/webproperties/{webPropertyId}/customDimensions/{customDimensionId}', + 'httpMethod' => 'PUT', + 'parameters' => array( + 'accountId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'webPropertyId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'customDimensionId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'ignoreCustomDataSourceLinks' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + ), + ), + ) + ) + ); + $this->management_customMetrics = new Google_Service_Analytics_Resource_ManagementCustomMetrics( + $this, + $this->serviceName, + 'customMetrics', + array( + 'methods' => array( + 'get' => array( + 'path' => 'management/accounts/{accountId}/webproperties/{webPropertyId}/customMetrics/{customMetricId}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'accountId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'webPropertyId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'customMetricId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'insert' => array( + 'path' => 'management/accounts/{accountId}/webproperties/{webPropertyId}/customMetrics', + 'httpMethod' => 'POST', + 'parameters' => array( + 'accountId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'webPropertyId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'management/accounts/{accountId}/webproperties/{webPropertyId}/customMetrics', + 'httpMethod' => 'GET', + 'parameters' => array( + 'accountId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'webPropertyId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'max-results' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'start-index' => array( + 'location' => 'query', + 'type' => 'integer', + ), + ), + ),'patch' => array( + 'path' => 'management/accounts/{accountId}/webproperties/{webPropertyId}/customMetrics/{customMetricId}', + 'httpMethod' => 'PATCH', + 'parameters' => array( + 'accountId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'webPropertyId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'customMetricId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'ignoreCustomDataSourceLinks' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + ), + ),'update' => array( + 'path' => 'management/accounts/{accountId}/webproperties/{webPropertyId}/customMetrics/{customMetricId}', + 'httpMethod' => 'PUT', + 'parameters' => array( + 'accountId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'webPropertyId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'customMetricId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'ignoreCustomDataSourceLinks' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + ), + ), + ) + ) + ); + $this->management_experiments = new Google_Service_Analytics_Resource_ManagementExperiments( + $this, + $this->serviceName, + 'experiments', + array( + 'methods' => array( + 'delete' => array( + 'path' => 'management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/experiments/{experimentId}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'accountId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'webPropertyId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'profileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'experimentId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'get' => array( + 'path' => 'management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/experiments/{experimentId}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'accountId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'webPropertyId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'profileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'experimentId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'insert' => array( + 'path' => 'management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/experiments', + 'httpMethod' => 'POST', + 'parameters' => array( + 'accountId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'webPropertyId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'profileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/experiments', + 'httpMethod' => 'GET', + 'parameters' => array( + 'accountId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'webPropertyId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'profileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'max-results' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'start-index' => array( + 'location' => 'query', + 'type' => 'integer', + ), + ), + ),'patch' => array( + 'path' => 'management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/experiments/{experimentId}', + 'httpMethod' => 'PATCH', + 'parameters' => array( + 'accountId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'webPropertyId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'profileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'experimentId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'update' => array( + 'path' => 'management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/experiments/{experimentId}', + 'httpMethod' => 'PUT', + 'parameters' => array( + 'accountId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'webPropertyId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'profileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'experimentId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->management_filters = new Google_Service_Analytics_Resource_ManagementFilters( + $this, + $this->serviceName, + 'filters', + array( + 'methods' => array( + 'delete' => array( + 'path' => 'management/accounts/{accountId}/filters/{filterId}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'accountId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'filterId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'get' => array( + 'path' => 'management/accounts/{accountId}/filters/{filterId}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'accountId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'filterId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'insert' => array( + 'path' => 'management/accounts/{accountId}/filters', + 'httpMethod' => 'POST', + 'parameters' => array( + 'accountId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'management/accounts/{accountId}/filters', + 'httpMethod' => 'GET', + 'parameters' => array( + 'accountId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'max-results' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'start-index' => array( + 'location' => 'query', + 'type' => 'integer', + ), + ), + ),'patch' => array( + 'path' => 'management/accounts/{accountId}/filters/{filterId}', + 'httpMethod' => 'PATCH', + 'parameters' => array( + 'accountId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'filterId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'update' => array( + 'path' => 'management/accounts/{accountId}/filters/{filterId}', + 'httpMethod' => 'PUT', + 'parameters' => array( + 'accountId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'filterId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->management_goals = new Google_Service_Analytics_Resource_ManagementGoals( + $this, + $this->serviceName, + 'goals', + array( + 'methods' => array( + 'get' => array( + 'path' => 'management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/goals/{goalId}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'accountId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'webPropertyId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'profileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'goalId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'insert' => array( + 'path' => 'management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/goals', + 'httpMethod' => 'POST', + 'parameters' => array( + 'accountId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'webPropertyId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'profileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/goals', + 'httpMethod' => 'GET', + 'parameters' => array( + 'accountId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'webPropertyId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'profileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'max-results' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'start-index' => array( + 'location' => 'query', + 'type' => 'integer', + ), + ), + ),'patch' => array( + 'path' => 'management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/goals/{goalId}', + 'httpMethod' => 'PATCH', + 'parameters' => array( + 'accountId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'webPropertyId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'profileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'goalId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'update' => array( + 'path' => 'management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/goals/{goalId}', + 'httpMethod' => 'PUT', + 'parameters' => array( + 'accountId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'webPropertyId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'profileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'goalId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->management_profileFilterLinks = new Google_Service_Analytics_Resource_ManagementProfileFilterLinks( + $this, + $this->serviceName, + 'profileFilterLinks', + array( + 'methods' => array( + 'delete' => array( + 'path' => 'management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/profileFilterLinks/{linkId}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'accountId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'webPropertyId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'profileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'linkId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'get' => array( + 'path' => 'management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/profileFilterLinks/{linkId}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'accountId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'webPropertyId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'profileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'linkId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'insert' => array( + 'path' => 'management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/profileFilterLinks', + 'httpMethod' => 'POST', + 'parameters' => array( + 'accountId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'webPropertyId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'profileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/profileFilterLinks', + 'httpMethod' => 'GET', + 'parameters' => array( + 'accountId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'webPropertyId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'profileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'max-results' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'start-index' => array( + 'location' => 'query', + 'type' => 'integer', + ), + ), + ),'patch' => array( + 'path' => 'management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/profileFilterLinks/{linkId}', + 'httpMethod' => 'PATCH', + 'parameters' => array( + 'accountId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'webPropertyId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'profileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'linkId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'update' => array( + 'path' => 'management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/profileFilterLinks/{linkId}', + 'httpMethod' => 'PUT', + 'parameters' => array( + 'accountId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'webPropertyId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'profileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'linkId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->management_profileUserLinks = new Google_Service_Analytics_Resource_ManagementProfileUserLinks( + $this, + $this->serviceName, + 'profileUserLinks', + array( + 'methods' => array( + 'delete' => array( + 'path' => 'management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/entityUserLinks/{linkId}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'accountId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'webPropertyId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'profileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'linkId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'insert' => array( + 'path' => 'management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/entityUserLinks', + 'httpMethod' => 'POST', + 'parameters' => array( + 'accountId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'webPropertyId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'profileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/entityUserLinks', + 'httpMethod' => 'GET', + 'parameters' => array( + 'accountId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'webPropertyId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'profileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'max-results' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'start-index' => array( + 'location' => 'query', + 'type' => 'integer', + ), + ), + ),'update' => array( + 'path' => 'management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/entityUserLinks/{linkId}', + 'httpMethod' => 'PUT', + 'parameters' => array( + 'accountId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'webPropertyId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'profileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'linkId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->management_profiles = new Google_Service_Analytics_Resource_ManagementProfiles( + $this, + $this->serviceName, + 'profiles', + array( + 'methods' => array( + 'delete' => array( + 'path' => 'management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'accountId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'webPropertyId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'profileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'get' => array( + 'path' => 'management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'accountId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'webPropertyId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'profileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'insert' => array( + 'path' => 'management/accounts/{accountId}/webproperties/{webPropertyId}/profiles', + 'httpMethod' => 'POST', + 'parameters' => array( + 'accountId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'webPropertyId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'management/accounts/{accountId}/webproperties/{webPropertyId}/profiles', + 'httpMethod' => 'GET', + 'parameters' => array( + 'accountId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'webPropertyId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'max-results' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'start-index' => array( + 'location' => 'query', + 'type' => 'integer', + ), + ), + ),'patch' => array( + 'path' => 'management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}', + 'httpMethod' => 'PATCH', + 'parameters' => array( + 'accountId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'webPropertyId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'profileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'update' => array( + 'path' => 'management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}', + 'httpMethod' => 'PUT', + 'parameters' => array( + 'accountId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'webPropertyId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'profileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->management_remarketingAudience = new Google_Service_Analytics_Resource_ManagementRemarketingAudience( + $this, + $this->serviceName, + 'remarketingAudience', + array( + 'methods' => array( + 'get' => array( + 'path' => 'management/accounts/{accountId}/webproperties/{webPropertyId}/remarketingAudiences/{remarketingAudienceId}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'accountId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'webPropertyId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'remarketingAudienceId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'insert' => array( + 'path' => 'management/accounts/{accountId}/webproperties/{webPropertyId}/remarketingAudiences', + 'httpMethod' => 'POST', + 'parameters' => array( + 'accountId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'webPropertyId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'management/accounts/{accountId}/webproperties/{webPropertyId}/remarketingAudiences', + 'httpMethod' => 'GET', + 'parameters' => array( + 'accountId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'webPropertyId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'max-results' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'start-index' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'type' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'patch' => array( + 'path' => 'management/accounts/{accountId}/webproperties/{webPropertyId}/remarketingAudiences/{remarketingAudienceId}', + 'httpMethod' => 'PATCH', + 'parameters' => array( + 'accountId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'webPropertyId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'remarketingAudienceId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'update' => array( + 'path' => 'management/accounts/{accountId}/webproperties/{webPropertyId}/remarketingAudiences/{remarketingAudienceId}', + 'httpMethod' => 'PUT', + 'parameters' => array( + 'accountId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'webPropertyId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'remarketingAudienceId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->management_segments = new Google_Service_Analytics_Resource_ManagementSegments( + $this, + $this->serviceName, + 'segments', + array( + 'methods' => array( + 'list' => array( + 'path' => 'management/segments', + 'httpMethod' => 'GET', + 'parameters' => array( + 'max-results' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'start-index' => array( + 'location' => 'query', + 'type' => 'integer', + ), + ), + ), + ) + ) + ); + $this->management_unsampledReports = new Google_Service_Analytics_Resource_ManagementUnsampledReports( + $this, + $this->serviceName, + 'unsampledReports', + array( + 'methods' => array( + 'delete' => array( + 'path' => 'management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/unsampledReports/{unsampledReportId}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'accountId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'webPropertyId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'profileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'unsampledReportId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'get' => array( + 'path' => 'management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/unsampledReports/{unsampledReportId}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'accountId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'webPropertyId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'profileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'unsampledReportId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'insert' => array( + 'path' => 'management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/unsampledReports', + 'httpMethod' => 'POST', + 'parameters' => array( + 'accountId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'webPropertyId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'profileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/unsampledReports', + 'httpMethod' => 'GET', + 'parameters' => array( + 'accountId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'webPropertyId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'profileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'max-results' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'start-index' => array( + 'location' => 'query', + 'type' => 'integer', + ), + ), + ), + ) + ) + ); + $this->management_uploads = new Google_Service_Analytics_Resource_ManagementUploads( + $this, + $this->serviceName, + 'uploads', + array( + 'methods' => array( + 'deleteUploadData' => array( + 'path' => 'management/accounts/{accountId}/webproperties/{webPropertyId}/customDataSources/{customDataSourceId}/deleteUploadData', + 'httpMethod' => 'POST', + 'parameters' => array( + 'accountId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'webPropertyId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'customDataSourceId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'get' => array( + 'path' => 'management/accounts/{accountId}/webproperties/{webPropertyId}/customDataSources/{customDataSourceId}/uploads/{uploadId}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'accountId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'webPropertyId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'customDataSourceId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'uploadId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'management/accounts/{accountId}/webproperties/{webPropertyId}/customDataSources/{customDataSourceId}/uploads', + 'httpMethod' => 'GET', + 'parameters' => array( + 'accountId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'webPropertyId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'customDataSourceId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'max-results' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'start-index' => array( + 'location' => 'query', + 'type' => 'integer', + ), + ), + ),'uploadData' => array( + 'path' => 'management/accounts/{accountId}/webproperties/{webPropertyId}/customDataSources/{customDataSourceId}/uploads', + 'httpMethod' => 'POST', + 'parameters' => array( + 'accountId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'webPropertyId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'customDataSourceId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->management_webPropertyAdWordsLinks = new Google_Service_Analytics_Resource_ManagementWebPropertyAdWordsLinks( + $this, + $this->serviceName, + 'webPropertyAdWordsLinks', + array( + 'methods' => array( + 'delete' => array( + 'path' => 'management/accounts/{accountId}/webproperties/{webPropertyId}/entityAdWordsLinks/{webPropertyAdWordsLinkId}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'accountId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'webPropertyId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'webPropertyAdWordsLinkId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'get' => array( + 'path' => 'management/accounts/{accountId}/webproperties/{webPropertyId}/entityAdWordsLinks/{webPropertyAdWordsLinkId}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'accountId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'webPropertyId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'webPropertyAdWordsLinkId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'insert' => array( + 'path' => 'management/accounts/{accountId}/webproperties/{webPropertyId}/entityAdWordsLinks', + 'httpMethod' => 'POST', + 'parameters' => array( + 'accountId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'webPropertyId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'management/accounts/{accountId}/webproperties/{webPropertyId}/entityAdWordsLinks', + 'httpMethod' => 'GET', + 'parameters' => array( + 'accountId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'webPropertyId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'max-results' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'start-index' => array( + 'location' => 'query', + 'type' => 'integer', + ), + ), + ),'patch' => array( + 'path' => 'management/accounts/{accountId}/webproperties/{webPropertyId}/entityAdWordsLinks/{webPropertyAdWordsLinkId}', + 'httpMethod' => 'PATCH', + 'parameters' => array( + 'accountId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'webPropertyId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'webPropertyAdWordsLinkId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'update' => array( + 'path' => 'management/accounts/{accountId}/webproperties/{webPropertyId}/entityAdWordsLinks/{webPropertyAdWordsLinkId}', + 'httpMethod' => 'PUT', + 'parameters' => array( + 'accountId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'webPropertyId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'webPropertyAdWordsLinkId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->management_webproperties = new Google_Service_Analytics_Resource_ManagementWebproperties( + $this, + $this->serviceName, + 'webproperties', + array( + 'methods' => array( + 'get' => array( + 'path' => 'management/accounts/{accountId}/webproperties/{webPropertyId}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'accountId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'webPropertyId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'insert' => array( + 'path' => 'management/accounts/{accountId}/webproperties', + 'httpMethod' => 'POST', + 'parameters' => array( + 'accountId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'management/accounts/{accountId}/webproperties', + 'httpMethod' => 'GET', + 'parameters' => array( + 'accountId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'max-results' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'start-index' => array( + 'location' => 'query', + 'type' => 'integer', + ), + ), + ),'patch' => array( + 'path' => 'management/accounts/{accountId}/webproperties/{webPropertyId}', + 'httpMethod' => 'PATCH', + 'parameters' => array( + 'accountId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'webPropertyId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'update' => array( + 'path' => 'management/accounts/{accountId}/webproperties/{webPropertyId}', + 'httpMethod' => 'PUT', + 'parameters' => array( + 'accountId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'webPropertyId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->management_webpropertyUserLinks = new Google_Service_Analytics_Resource_ManagementWebpropertyUserLinks( + $this, + $this->serviceName, + 'webpropertyUserLinks', + array( + 'methods' => array( + 'delete' => array( + 'path' => 'management/accounts/{accountId}/webproperties/{webPropertyId}/entityUserLinks/{linkId}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'accountId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'webPropertyId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'linkId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'insert' => array( + 'path' => 'management/accounts/{accountId}/webproperties/{webPropertyId}/entityUserLinks', + 'httpMethod' => 'POST', + 'parameters' => array( + 'accountId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'webPropertyId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'management/accounts/{accountId}/webproperties/{webPropertyId}/entityUserLinks', + 'httpMethod' => 'GET', + 'parameters' => array( + 'accountId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'webPropertyId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'max-results' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'start-index' => array( + 'location' => 'query', + 'type' => 'integer', + ), + ), + ),'update' => array( + 'path' => 'management/accounts/{accountId}/webproperties/{webPropertyId}/entityUserLinks/{linkId}', + 'httpMethod' => 'PUT', + 'parameters' => array( + 'accountId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'webPropertyId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'linkId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->metadata_columns = new Google_Service_Analytics_Resource_MetadataColumns( + $this, + $this->serviceName, + 'columns', + array( + 'methods' => array( + 'list' => array( + 'path' => 'metadata/{reportType}/columns', + 'httpMethod' => 'GET', + 'parameters' => array( + 'reportType' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->provisioning = new Google_Service_Analytics_Resource_Provisioning( + $this, + $this->serviceName, + 'provisioning', + array( + 'methods' => array( + 'createAccountTicket' => array( + 'path' => 'provisioning/createAccountTicket', + 'httpMethod' => 'POST', + 'parameters' => array(), + ), + ) + ) + ); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Analytics/Account.php b/vendor/google/apiclient-services/src/Google/Service/Analytics/Account.php new file mode 100644 index 00000000..a6e19b91 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Analytics/Account.php @@ -0,0 +1,104 @@ +childLink = $childLink; + } + public function getChildLink() + { + return $this->childLink; + } + public function setCreated($created) + { + $this->created = $created; + } + public function getCreated() + { + return $this->created; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setPermissions(Google_Service_Analytics_AccountPermissions $permissions) + { + $this->permissions = $permissions; + } + public function getPermissions() + { + return $this->permissions; + } + public function setSelfLink($selfLink) + { + $this->selfLink = $selfLink; + } + public function getSelfLink() + { + return $this->selfLink; + } + public function setStarred($starred) + { + $this->starred = $starred; + } + public function getStarred() + { + return $this->starred; + } + public function setUpdated($updated) + { + $this->updated = $updated; + } + public function getUpdated() + { + return $this->updated; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Analytics/AccountChildLink.php b/vendor/google/apiclient-services/src/Google/Service/Analytics/AccountChildLink.php new file mode 100644 index 00000000..06eba70b --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Analytics/AccountChildLink.php @@ -0,0 +1,39 @@ +href = $href; + } + public function getHref() + { + return $this->href; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Analytics/AccountPermissions.php b/vendor/google/apiclient-services/src/Google/Service/Analytics/AccountPermissions.php new file mode 100644 index 00000000..f2f34830 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Analytics/AccountPermissions.php @@ -0,0 +1,31 @@ +effective = $effective; + } + public function getEffective() + { + return $this->effective; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Analytics/AccountRef.php b/vendor/google/apiclient-services/src/Google/Service/Analytics/AccountRef.php new file mode 100644 index 00000000..b43e14e1 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Analytics/AccountRef.php @@ -0,0 +1,57 @@ +href = $href; + } + public function getHref() + { + return $this->href; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Analytics/AccountSummaries.php b/vendor/google/apiclient-services/src/Google/Service/Analytics/AccountSummaries.php new file mode 100644 index 00000000..0db22975 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Analytics/AccountSummaries.php @@ -0,0 +1,95 @@ +items = $items; + } + public function getItems() + { + return $this->items; + } + public function setItemsPerPage($itemsPerPage) + { + $this->itemsPerPage = $itemsPerPage; + } + public function getItemsPerPage() + { + return $this->itemsPerPage; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextLink($nextLink) + { + $this->nextLink = $nextLink; + } + public function getNextLink() + { + return $this->nextLink; + } + public function setPreviousLink($previousLink) + { + $this->previousLink = $previousLink; + } + public function getPreviousLink() + { + return $this->previousLink; + } + public function setStartIndex($startIndex) + { + $this->startIndex = $startIndex; + } + public function getStartIndex() + { + return $this->startIndex; + } + public function setTotalResults($totalResults) + { + $this->totalResults = $totalResults; + } + public function getTotalResults() + { + return $this->totalResults; + } + public function setUsername($username) + { + $this->username = $username; + } + public function getUsername() + { + return $this->username; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Analytics/AccountSummary.php b/vendor/google/apiclient-services/src/Google/Service/Analytics/AccountSummary.php new file mode 100644 index 00000000..bf938539 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Analytics/AccountSummary.php @@ -0,0 +1,68 @@ +id = $id; + } + public function getId() + { + return $this->id; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setStarred($starred) + { + $this->starred = $starred; + } + public function getStarred() + { + return $this->starred; + } + public function setWebProperties($webProperties) + { + $this->webProperties = $webProperties; + } + public function getWebProperties() + { + return $this->webProperties; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Analytics/AccountTicket.php b/vendor/google/apiclient-services/src/Google/Service/Analytics/AccountTicket.php new file mode 100644 index 00000000..97bf502f --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Analytics/AccountTicket.php @@ -0,0 +1,78 @@ +account = $account; + } + public function getAccount() + { + return $this->account; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setProfile(Google_Service_Analytics_Profile $profile) + { + $this->profile = $profile; + } + public function getProfile() + { + return $this->profile; + } + public function setRedirectUri($redirectUri) + { + $this->redirectUri = $redirectUri; + } + public function getRedirectUri() + { + return $this->redirectUri; + } + public function setWebproperty(Google_Service_Analytics_Webproperty $webproperty) + { + $this->webproperty = $webproperty; + } + public function getWebproperty() + { + return $this->webproperty; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Analytics/Accounts.php b/vendor/google/apiclient-services/src/Google/Service/Analytics/Accounts.php new file mode 100644 index 00000000..1bf59275 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Analytics/Accounts.php @@ -0,0 +1,95 @@ +items = $items; + } + public function getItems() + { + return $this->items; + } + public function setItemsPerPage($itemsPerPage) + { + $this->itemsPerPage = $itemsPerPage; + } + public function getItemsPerPage() + { + return $this->itemsPerPage; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextLink($nextLink) + { + $this->nextLink = $nextLink; + } + public function getNextLink() + { + return $this->nextLink; + } + public function setPreviousLink($previousLink) + { + $this->previousLink = $previousLink; + } + public function getPreviousLink() + { + return $this->previousLink; + } + public function setStartIndex($startIndex) + { + $this->startIndex = $startIndex; + } + public function getStartIndex() + { + return $this->startIndex; + } + public function setTotalResults($totalResults) + { + $this->totalResults = $totalResults; + } + public function getTotalResults() + { + return $this->totalResults; + } + public function setUsername($username) + { + $this->username = $username; + } + public function getUsername() + { + return $this->username; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Analytics/AdWordsAccount.php b/vendor/google/apiclient-services/src/Google/Service/Analytics/AdWordsAccount.php new file mode 100644 index 00000000..e22d7b6c --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Analytics/AdWordsAccount.php @@ -0,0 +1,48 @@ +autoTaggingEnabled = $autoTaggingEnabled; + } + public function getAutoTaggingEnabled() + { + return $this->autoTaggingEnabled; + } + public function setCustomerId($customerId) + { + $this->customerId = $customerId; + } + public function getCustomerId() + { + return $this->customerId; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Analytics/AnalyticsDataimportDeleteUploadDataRequest.php b/vendor/google/apiclient-services/src/Google/Service/Analytics/AnalyticsDataimportDeleteUploadDataRequest.php new file mode 100644 index 00000000..2bc12a96 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Analytics/AnalyticsDataimportDeleteUploadDataRequest.php @@ -0,0 +1,31 @@ +customDataImportUids = $customDataImportUids; + } + public function getCustomDataImportUids() + { + return $this->customDataImportUids; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Analytics/Column.php b/vendor/google/apiclient-services/src/Google/Service/Analytics/Column.php new file mode 100644 index 00000000..a620de65 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Analytics/Column.php @@ -0,0 +1,48 @@ +attributes = $attributes; + } + public function getAttributes() + { + return $this->attributes; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Analytics/Columns.php b/vendor/google/apiclient-services/src/Google/Service/Analytics/Columns.php new file mode 100644 index 00000000..1dda1cad --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Analytics/Columns.php @@ -0,0 +1,68 @@ +attributeNames = $attributeNames; + } + public function getAttributeNames() + { + return $this->attributeNames; + } + public function setEtag($etag) + { + $this->etag = $etag; + } + public function getEtag() + { + return $this->etag; + } + public function setItems($items) + { + $this->items = $items; + } + public function getItems() + { + return $this->items; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setTotalResults($totalResults) + { + $this->totalResults = $totalResults; + } + public function getTotalResults() + { + return $this->totalResults; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Analytics/CustomDataSource.php b/vendor/google/apiclient-services/src/Google/Service/Analytics/CustomDataSource.php new file mode 100644 index 00000000..cf04ad16 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Analytics/CustomDataSource.php @@ -0,0 +1,159 @@ +accountId = $accountId; + } + public function getAccountId() + { + return $this->accountId; + } + public function setChildLink(Google_Service_Analytics_CustomDataSourceChildLink $childLink) + { + $this->childLink = $childLink; + } + public function getChildLink() + { + return $this->childLink; + } + public function setCreated($created) + { + $this->created = $created; + } + public function getCreated() + { + return $this->created; + } + public function setDescription($description) + { + $this->description = $description; + } + public function getDescription() + { + return $this->description; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setImportBehavior($importBehavior) + { + $this->importBehavior = $importBehavior; + } + public function getImportBehavior() + { + return $this->importBehavior; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setParentLink(Google_Service_Analytics_CustomDataSourceParentLink $parentLink) + { + $this->parentLink = $parentLink; + } + public function getParentLink() + { + return $this->parentLink; + } + public function setProfilesLinked($profilesLinked) + { + $this->profilesLinked = $profilesLinked; + } + public function getProfilesLinked() + { + return $this->profilesLinked; + } + public function setSelfLink($selfLink) + { + $this->selfLink = $selfLink; + } + public function getSelfLink() + { + return $this->selfLink; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } + public function setUpdated($updated) + { + $this->updated = $updated; + } + public function getUpdated() + { + return $this->updated; + } + public function setUploadType($uploadType) + { + $this->uploadType = $uploadType; + } + public function getUploadType() + { + return $this->uploadType; + } + public function setWebPropertyId($webPropertyId) + { + $this->webPropertyId = $webPropertyId; + } + public function getWebPropertyId() + { + return $this->webPropertyId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Analytics/CustomDataSourceChildLink.php b/vendor/google/apiclient-services/src/Google/Service/Analytics/CustomDataSourceChildLink.php new file mode 100644 index 00000000..3de24017 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Analytics/CustomDataSourceChildLink.php @@ -0,0 +1,39 @@ +href = $href; + } + public function getHref() + { + return $this->href; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Analytics/CustomDataSourceParentLink.php b/vendor/google/apiclient-services/src/Google/Service/Analytics/CustomDataSourceParentLink.php new file mode 100644 index 00000000..812076df --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Analytics/CustomDataSourceParentLink.php @@ -0,0 +1,39 @@ +href = $href; + } + public function getHref() + { + return $this->href; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Analytics/CustomDataSources.php b/vendor/google/apiclient-services/src/Google/Service/Analytics/CustomDataSources.php new file mode 100644 index 00000000..b767ee8e --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Analytics/CustomDataSources.php @@ -0,0 +1,95 @@ +items = $items; + } + public function getItems() + { + return $this->items; + } + public function setItemsPerPage($itemsPerPage) + { + $this->itemsPerPage = $itemsPerPage; + } + public function getItemsPerPage() + { + return $this->itemsPerPage; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextLink($nextLink) + { + $this->nextLink = $nextLink; + } + public function getNextLink() + { + return $this->nextLink; + } + public function setPreviousLink($previousLink) + { + $this->previousLink = $previousLink; + } + public function getPreviousLink() + { + return $this->previousLink; + } + public function setStartIndex($startIndex) + { + $this->startIndex = $startIndex; + } + public function getStartIndex() + { + return $this->startIndex; + } + public function setTotalResults($totalResults) + { + $this->totalResults = $totalResults; + } + public function getTotalResults() + { + return $this->totalResults; + } + public function setUsername($username) + { + $this->username = $username; + } + public function getUsername() + { + return $this->username; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Analytics/CustomDimension.php b/vendor/google/apiclient-services/src/Google/Service/Analytics/CustomDimension.php new file mode 100644 index 00000000..f95183f7 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Analytics/CustomDimension.php @@ -0,0 +1,130 @@ +accountId = $accountId; + } + public function getAccountId() + { + return $this->accountId; + } + public function setActive($active) + { + $this->active = $active; + } + public function getActive() + { + return $this->active; + } + public function setCreated($created) + { + $this->created = $created; + } + public function getCreated() + { + return $this->created; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setIndex($index) + { + $this->index = $index; + } + public function getIndex() + { + return $this->index; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setParentLink(Google_Service_Analytics_CustomDimensionParentLink $parentLink) + { + $this->parentLink = $parentLink; + } + public function getParentLink() + { + return $this->parentLink; + } + public function setScope($scope) + { + $this->scope = $scope; + } + public function getScope() + { + return $this->scope; + } + public function setSelfLink($selfLink) + { + $this->selfLink = $selfLink; + } + public function getSelfLink() + { + return $this->selfLink; + } + public function setUpdated($updated) + { + $this->updated = $updated; + } + public function getUpdated() + { + return $this->updated; + } + public function setWebPropertyId($webPropertyId) + { + $this->webPropertyId = $webPropertyId; + } + public function getWebPropertyId() + { + return $this->webPropertyId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Analytics/CustomDimensionParentLink.php b/vendor/google/apiclient-services/src/Google/Service/Analytics/CustomDimensionParentLink.php new file mode 100644 index 00000000..d64a579f --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Analytics/CustomDimensionParentLink.php @@ -0,0 +1,39 @@ +href = $href; + } + public function getHref() + { + return $this->href; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Analytics/CustomDimensions.php b/vendor/google/apiclient-services/src/Google/Service/Analytics/CustomDimensions.php new file mode 100644 index 00000000..548831d9 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Analytics/CustomDimensions.php @@ -0,0 +1,95 @@ +items = $items; + } + public function getItems() + { + return $this->items; + } + public function setItemsPerPage($itemsPerPage) + { + $this->itemsPerPage = $itemsPerPage; + } + public function getItemsPerPage() + { + return $this->itemsPerPage; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextLink($nextLink) + { + $this->nextLink = $nextLink; + } + public function getNextLink() + { + return $this->nextLink; + } + public function setPreviousLink($previousLink) + { + $this->previousLink = $previousLink; + } + public function getPreviousLink() + { + return $this->previousLink; + } + public function setStartIndex($startIndex) + { + $this->startIndex = $startIndex; + } + public function getStartIndex() + { + return $this->startIndex; + } + public function setTotalResults($totalResults) + { + $this->totalResults = $totalResults; + } + public function getTotalResults() + { + return $this->totalResults; + } + public function setUsername($username) + { + $this->username = $username; + } + public function getUsername() + { + return $this->username; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Analytics/CustomMetric.php b/vendor/google/apiclient-services/src/Google/Service/Analytics/CustomMetric.php new file mode 100644 index 00000000..9e11209b --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Analytics/CustomMetric.php @@ -0,0 +1,161 @@ + "max_value", + "minValue" => "min_value", + ); + public $accountId; + public $active; + public $created; + public $id; + public $index; + public $kind; + public $maxValue; + public $minValue; + public $name; + protected $parentLinkType = 'Google_Service_Analytics_CustomMetricParentLink'; + protected $parentLinkDataType = ''; + public $scope; + public $selfLink; + public $type; + public $updated; + public $webPropertyId; + + public function setAccountId($accountId) + { + $this->accountId = $accountId; + } + public function getAccountId() + { + return $this->accountId; + } + public function setActive($active) + { + $this->active = $active; + } + public function getActive() + { + return $this->active; + } + public function setCreated($created) + { + $this->created = $created; + } + public function getCreated() + { + return $this->created; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setIndex($index) + { + $this->index = $index; + } + public function getIndex() + { + return $this->index; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setMaxValue($maxValue) + { + $this->maxValue = $maxValue; + } + public function getMaxValue() + { + return $this->maxValue; + } + public function setMinValue($minValue) + { + $this->minValue = $minValue; + } + public function getMinValue() + { + return $this->minValue; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setParentLink(Google_Service_Analytics_CustomMetricParentLink $parentLink) + { + $this->parentLink = $parentLink; + } + public function getParentLink() + { + return $this->parentLink; + } + public function setScope($scope) + { + $this->scope = $scope; + } + public function getScope() + { + return $this->scope; + } + public function setSelfLink($selfLink) + { + $this->selfLink = $selfLink; + } + public function getSelfLink() + { + return $this->selfLink; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } + public function setUpdated($updated) + { + $this->updated = $updated; + } + public function getUpdated() + { + return $this->updated; + } + public function setWebPropertyId($webPropertyId) + { + $this->webPropertyId = $webPropertyId; + } + public function getWebPropertyId() + { + return $this->webPropertyId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Analytics/CustomMetricParentLink.php b/vendor/google/apiclient-services/src/Google/Service/Analytics/CustomMetricParentLink.php new file mode 100644 index 00000000..14f4ea6a --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Analytics/CustomMetricParentLink.php @@ -0,0 +1,39 @@ +href = $href; + } + public function getHref() + { + return $this->href; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Analytics/CustomMetrics.php b/vendor/google/apiclient-services/src/Google/Service/Analytics/CustomMetrics.php new file mode 100644 index 00000000..c9758870 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Analytics/CustomMetrics.php @@ -0,0 +1,95 @@ +items = $items; + } + public function getItems() + { + return $this->items; + } + public function setItemsPerPage($itemsPerPage) + { + $this->itemsPerPage = $itemsPerPage; + } + public function getItemsPerPage() + { + return $this->itemsPerPage; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextLink($nextLink) + { + $this->nextLink = $nextLink; + } + public function getNextLink() + { + return $this->nextLink; + } + public function setPreviousLink($previousLink) + { + $this->previousLink = $previousLink; + } + public function getPreviousLink() + { + return $this->previousLink; + } + public function setStartIndex($startIndex) + { + $this->startIndex = $startIndex; + } + public function getStartIndex() + { + return $this->startIndex; + } + public function setTotalResults($totalResults) + { + $this->totalResults = $totalResults; + } + public function getTotalResults() + { + return $this->totalResults; + } + public function setUsername($username) + { + $this->username = $username; + } + public function getUsername() + { + return $this->username; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Analytics/EntityAdWordsLink.php b/vendor/google/apiclient-services/src/Google/Service/Analytics/EntityAdWordsLink.php new file mode 100644 index 00000000..aae8010f --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Analytics/EntityAdWordsLink.php @@ -0,0 +1,87 @@ +adWordsAccounts = $adWordsAccounts; + } + public function getAdWordsAccounts() + { + return $this->adWordsAccounts; + } + public function setEntity(Google_Service_Analytics_EntityAdWordsLinkEntity $entity) + { + $this->entity = $entity; + } + public function getEntity() + { + return $this->entity; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setProfileIds($profileIds) + { + $this->profileIds = $profileIds; + } + public function getProfileIds() + { + return $this->profileIds; + } + public function setSelfLink($selfLink) + { + $this->selfLink = $selfLink; + } + public function getSelfLink() + { + return $this->selfLink; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Analytics/EntityAdWordsLinkEntity.php b/vendor/google/apiclient-services/src/Google/Service/Analytics/EntityAdWordsLinkEntity.php new file mode 100644 index 00000000..e73e2dac --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Analytics/EntityAdWordsLinkEntity.php @@ -0,0 +1,31 @@ +webPropertyRef = $webPropertyRef; + } + public function getWebPropertyRef() + { + return $this->webPropertyRef; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Analytics/EntityAdWordsLinks.php b/vendor/google/apiclient-services/src/Google/Service/Analytics/EntityAdWordsLinks.php new file mode 100644 index 00000000..8f93d27a --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Analytics/EntityAdWordsLinks.php @@ -0,0 +1,86 @@ +items = $items; + } + public function getItems() + { + return $this->items; + } + public function setItemsPerPage($itemsPerPage) + { + $this->itemsPerPage = $itemsPerPage; + } + public function getItemsPerPage() + { + return $this->itemsPerPage; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextLink($nextLink) + { + $this->nextLink = $nextLink; + } + public function getNextLink() + { + return $this->nextLink; + } + public function setPreviousLink($previousLink) + { + $this->previousLink = $previousLink; + } + public function getPreviousLink() + { + return $this->previousLink; + } + public function setStartIndex($startIndex) + { + $this->startIndex = $startIndex; + } + public function getStartIndex() + { + return $this->startIndex; + } + public function setTotalResults($totalResults) + { + $this->totalResults = $totalResults; + } + public function getTotalResults() + { + return $this->totalResults; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Analytics/EntityUserLink.php b/vendor/google/apiclient-services/src/Google/Service/Analytics/EntityUserLink.php new file mode 100644 index 00000000..6edfa12f --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Analytics/EntityUserLink.php @@ -0,0 +1,78 @@ +entity = $entity; + } + public function getEntity() + { + return $this->entity; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setPermissions(Google_Service_Analytics_EntityUserLinkPermissions $permissions) + { + $this->permissions = $permissions; + } + public function getPermissions() + { + return $this->permissions; + } + public function setSelfLink($selfLink) + { + $this->selfLink = $selfLink; + } + public function getSelfLink() + { + return $this->selfLink; + } + public function setUserRef(Google_Service_Analytics_UserRef $userRef) + { + $this->userRef = $userRef; + } + public function getUserRef() + { + return $this->userRef; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Analytics/EntityUserLinkEntity.php b/vendor/google/apiclient-services/src/Google/Service/Analytics/EntityUserLinkEntity.php new file mode 100644 index 00000000..acae39c9 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Analytics/EntityUserLinkEntity.php @@ -0,0 +1,51 @@ +accountRef = $accountRef; + } + public function getAccountRef() + { + return $this->accountRef; + } + public function setProfileRef(Google_Service_Analytics_ProfileRef $profileRef) + { + $this->profileRef = $profileRef; + } + public function getProfileRef() + { + return $this->profileRef; + } + public function setWebPropertyRef(Google_Service_Analytics_WebPropertyRef $webPropertyRef) + { + $this->webPropertyRef = $webPropertyRef; + } + public function getWebPropertyRef() + { + return $this->webPropertyRef; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Analytics/EntityUserLinkPermissions.php b/vendor/google/apiclient-services/src/Google/Service/Analytics/EntityUserLinkPermissions.php new file mode 100644 index 00000000..3222e94a --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Analytics/EntityUserLinkPermissions.php @@ -0,0 +1,40 @@ +effective = $effective; + } + public function getEffective() + { + return $this->effective; + } + public function setLocal($local) + { + $this->local = $local; + } + public function getLocal() + { + return $this->local; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Analytics/EntityUserLinks.php b/vendor/google/apiclient-services/src/Google/Service/Analytics/EntityUserLinks.php new file mode 100644 index 00000000..81cbefde --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Analytics/EntityUserLinks.php @@ -0,0 +1,86 @@ +items = $items; + } + public function getItems() + { + return $this->items; + } + public function setItemsPerPage($itemsPerPage) + { + $this->itemsPerPage = $itemsPerPage; + } + public function getItemsPerPage() + { + return $this->itemsPerPage; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextLink($nextLink) + { + $this->nextLink = $nextLink; + } + public function getNextLink() + { + return $this->nextLink; + } + public function setPreviousLink($previousLink) + { + $this->previousLink = $previousLink; + } + public function getPreviousLink() + { + return $this->previousLink; + } + public function setStartIndex($startIndex) + { + $this->startIndex = $startIndex; + } + public function getStartIndex() + { + return $this->startIndex; + } + public function setTotalResults($totalResults) + { + $this->totalResults = $totalResults; + } + public function getTotalResults() + { + return $this->totalResults; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Analytics/Experiment.php b/vendor/google/apiclient-services/src/Google/Service/Analytics/Experiment.php new file mode 100644 index 00000000..ef28448e --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Analytics/Experiment.php @@ -0,0 +1,276 @@ +accountId = $accountId; + } + public function getAccountId() + { + return $this->accountId; + } + public function setCreated($created) + { + $this->created = $created; + } + public function getCreated() + { + return $this->created; + } + public function setDescription($description) + { + $this->description = $description; + } + public function getDescription() + { + return $this->description; + } + public function setEditableInGaUi($editableInGaUi) + { + $this->editableInGaUi = $editableInGaUi; + } + public function getEditableInGaUi() + { + return $this->editableInGaUi; + } + public function setEndTime($endTime) + { + $this->endTime = $endTime; + } + public function getEndTime() + { + return $this->endTime; + } + public function setEqualWeighting($equalWeighting) + { + $this->equalWeighting = $equalWeighting; + } + public function getEqualWeighting() + { + return $this->equalWeighting; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setInternalWebPropertyId($internalWebPropertyId) + { + $this->internalWebPropertyId = $internalWebPropertyId; + } + public function getInternalWebPropertyId() + { + return $this->internalWebPropertyId; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setMinimumExperimentLengthInDays($minimumExperimentLengthInDays) + { + $this->minimumExperimentLengthInDays = $minimumExperimentLengthInDays; + } + public function getMinimumExperimentLengthInDays() + { + return $this->minimumExperimentLengthInDays; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setObjectiveMetric($objectiveMetric) + { + $this->objectiveMetric = $objectiveMetric; + } + public function getObjectiveMetric() + { + return $this->objectiveMetric; + } + public function setOptimizationType($optimizationType) + { + $this->optimizationType = $optimizationType; + } + public function getOptimizationType() + { + return $this->optimizationType; + } + public function setParentLink(Google_Service_Analytics_ExperimentParentLink $parentLink) + { + $this->parentLink = $parentLink; + } + public function getParentLink() + { + return $this->parentLink; + } + public function setProfileId($profileId) + { + $this->profileId = $profileId; + } + public function getProfileId() + { + return $this->profileId; + } + public function setReasonExperimentEnded($reasonExperimentEnded) + { + $this->reasonExperimentEnded = $reasonExperimentEnded; + } + public function getReasonExperimentEnded() + { + return $this->reasonExperimentEnded; + } + public function setRewriteVariationUrlsAsOriginal($rewriteVariationUrlsAsOriginal) + { + $this->rewriteVariationUrlsAsOriginal = $rewriteVariationUrlsAsOriginal; + } + public function getRewriteVariationUrlsAsOriginal() + { + return $this->rewriteVariationUrlsAsOriginal; + } + public function setSelfLink($selfLink) + { + $this->selfLink = $selfLink; + } + public function getSelfLink() + { + return $this->selfLink; + } + public function setServingFramework($servingFramework) + { + $this->servingFramework = $servingFramework; + } + public function getServingFramework() + { + return $this->servingFramework; + } + public function setSnippet($snippet) + { + $this->snippet = $snippet; + } + public function getSnippet() + { + return $this->snippet; + } + public function setStartTime($startTime) + { + $this->startTime = $startTime; + } + public function getStartTime() + { + return $this->startTime; + } + public function setStatus($status) + { + $this->status = $status; + } + public function getStatus() + { + return $this->status; + } + public function setTrafficCoverage($trafficCoverage) + { + $this->trafficCoverage = $trafficCoverage; + } + public function getTrafficCoverage() + { + return $this->trafficCoverage; + } + public function setUpdated($updated) + { + $this->updated = $updated; + } + public function getUpdated() + { + return $this->updated; + } + public function setVariations($variations) + { + $this->variations = $variations; + } + public function getVariations() + { + return $this->variations; + } + public function setWebPropertyId($webPropertyId) + { + $this->webPropertyId = $webPropertyId; + } + public function getWebPropertyId() + { + return $this->webPropertyId; + } + public function setWinnerConfidenceLevel($winnerConfidenceLevel) + { + $this->winnerConfidenceLevel = $winnerConfidenceLevel; + } + public function getWinnerConfidenceLevel() + { + return $this->winnerConfidenceLevel; + } + public function setWinnerFound($winnerFound) + { + $this->winnerFound = $winnerFound; + } + public function getWinnerFound() + { + return $this->winnerFound; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Analytics/ExperimentParentLink.php b/vendor/google/apiclient-services/src/Google/Service/Analytics/ExperimentParentLink.php new file mode 100644 index 00000000..bffe8ef6 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Analytics/ExperimentParentLink.php @@ -0,0 +1,39 @@ +href = $href; + } + public function getHref() + { + return $this->href; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Analytics/ExperimentVariations.php b/vendor/google/apiclient-services/src/Google/Service/Analytics/ExperimentVariations.php new file mode 100644 index 00000000..a5d8128a --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Analytics/ExperimentVariations.php @@ -0,0 +1,66 @@ +name = $name; + } + public function getName() + { + return $this->name; + } + public function setStatus($status) + { + $this->status = $status; + } + public function getStatus() + { + return $this->status; + } + public function setUrl($url) + { + $this->url = $url; + } + public function getUrl() + { + return $this->url; + } + public function setWeight($weight) + { + $this->weight = $weight; + } + public function getWeight() + { + return $this->weight; + } + public function setWon($won) + { + $this->won = $won; + } + public function getWon() + { + return $this->won; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Analytics/Experiments.php b/vendor/google/apiclient-services/src/Google/Service/Analytics/Experiments.php new file mode 100644 index 00000000..27936f61 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Analytics/Experiments.php @@ -0,0 +1,95 @@ +items = $items; + } + public function getItems() + { + return $this->items; + } + public function setItemsPerPage($itemsPerPage) + { + $this->itemsPerPage = $itemsPerPage; + } + public function getItemsPerPage() + { + return $this->itemsPerPage; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextLink($nextLink) + { + $this->nextLink = $nextLink; + } + public function getNextLink() + { + return $this->nextLink; + } + public function setPreviousLink($previousLink) + { + $this->previousLink = $previousLink; + } + public function getPreviousLink() + { + return $this->previousLink; + } + public function setStartIndex($startIndex) + { + $this->startIndex = $startIndex; + } + public function getStartIndex() + { + return $this->startIndex; + } + public function setTotalResults($totalResults) + { + $this->totalResults = $totalResults; + } + public function getTotalResults() + { + return $this->totalResults; + } + public function setUsername($username) + { + $this->username = $username; + } + public function getUsername() + { + return $this->username; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Analytics/Filter.php b/vendor/google/apiclient-services/src/Google/Service/Analytics/Filter.php new file mode 100644 index 00000000..3a43445d --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Analytics/Filter.php @@ -0,0 +1,163 @@ +accountId = $accountId; + } + public function getAccountId() + { + return $this->accountId; + } + public function setAdvancedDetails(Google_Service_Analytics_FilterAdvancedDetails $advancedDetails) + { + $this->advancedDetails = $advancedDetails; + } + public function getAdvancedDetails() + { + return $this->advancedDetails; + } + public function setCreated($created) + { + $this->created = $created; + } + public function getCreated() + { + return $this->created; + } + public function setExcludeDetails(Google_Service_Analytics_FilterExpression $excludeDetails) + { + $this->excludeDetails = $excludeDetails; + } + public function getExcludeDetails() + { + return $this->excludeDetails; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setIncludeDetails(Google_Service_Analytics_FilterExpression $includeDetails) + { + $this->includeDetails = $includeDetails; + } + public function getIncludeDetails() + { + return $this->includeDetails; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setLowercaseDetails(Google_Service_Analytics_FilterLowercaseDetails $lowercaseDetails) + { + $this->lowercaseDetails = $lowercaseDetails; + } + public function getLowercaseDetails() + { + return $this->lowercaseDetails; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setParentLink(Google_Service_Analytics_FilterParentLink $parentLink) + { + $this->parentLink = $parentLink; + } + public function getParentLink() + { + return $this->parentLink; + } + public function setSearchAndReplaceDetails(Google_Service_Analytics_FilterSearchAndReplaceDetails $searchAndReplaceDetails) + { + $this->searchAndReplaceDetails = $searchAndReplaceDetails; + } + public function getSearchAndReplaceDetails() + { + return $this->searchAndReplaceDetails; + } + public function setSelfLink($selfLink) + { + $this->selfLink = $selfLink; + } + public function getSelfLink() + { + return $this->selfLink; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } + public function setUpdated($updated) + { + $this->updated = $updated; + } + public function getUpdated() + { + return $this->updated; + } + public function setUppercaseDetails(Google_Service_Analytics_FilterUppercaseDetails $uppercaseDetails) + { + $this->uppercaseDetails = $uppercaseDetails; + } + public function getUppercaseDetails() + { + return $this->uppercaseDetails; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Analytics/FilterAdvancedDetails.php b/vendor/google/apiclient-services/src/Google/Service/Analytics/FilterAdvancedDetails.php new file mode 100644 index 00000000..a7ef11f0 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Analytics/FilterAdvancedDetails.php @@ -0,0 +1,138 @@ +caseSensitive = $caseSensitive; + } + public function getCaseSensitive() + { + return $this->caseSensitive; + } + public function setExtractA($extractA) + { + $this->extractA = $extractA; + } + public function getExtractA() + { + return $this->extractA; + } + public function setExtractB($extractB) + { + $this->extractB = $extractB; + } + public function getExtractB() + { + return $this->extractB; + } + public function setFieldA($fieldA) + { + $this->fieldA = $fieldA; + } + public function getFieldA() + { + return $this->fieldA; + } + public function setFieldAIndex($fieldAIndex) + { + $this->fieldAIndex = $fieldAIndex; + } + public function getFieldAIndex() + { + return $this->fieldAIndex; + } + public function setFieldARequired($fieldARequired) + { + $this->fieldARequired = $fieldARequired; + } + public function getFieldARequired() + { + return $this->fieldARequired; + } + public function setFieldB($fieldB) + { + $this->fieldB = $fieldB; + } + public function getFieldB() + { + return $this->fieldB; + } + public function setFieldBIndex($fieldBIndex) + { + $this->fieldBIndex = $fieldBIndex; + } + public function getFieldBIndex() + { + return $this->fieldBIndex; + } + public function setFieldBRequired($fieldBRequired) + { + $this->fieldBRequired = $fieldBRequired; + } + public function getFieldBRequired() + { + return $this->fieldBRequired; + } + public function setOutputConstructor($outputConstructor) + { + $this->outputConstructor = $outputConstructor; + } + public function getOutputConstructor() + { + return $this->outputConstructor; + } + public function setOutputToField($outputToField) + { + $this->outputToField = $outputToField; + } + public function getOutputToField() + { + return $this->outputToField; + } + public function setOutputToFieldIndex($outputToFieldIndex) + { + $this->outputToFieldIndex = $outputToFieldIndex; + } + public function getOutputToFieldIndex() + { + return $this->outputToFieldIndex; + } + public function setOverrideOutputField($overrideOutputField) + { + $this->overrideOutputField = $overrideOutputField; + } + public function getOverrideOutputField() + { + return $this->overrideOutputField; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Analytics/FilterExpression.php b/vendor/google/apiclient-services/src/Google/Service/Analytics/FilterExpression.php new file mode 100644 index 00000000..2270c654 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Analytics/FilterExpression.php @@ -0,0 +1,75 @@ +caseSensitive = $caseSensitive; + } + public function getCaseSensitive() + { + return $this->caseSensitive; + } + public function setExpressionValue($expressionValue) + { + $this->expressionValue = $expressionValue; + } + public function getExpressionValue() + { + return $this->expressionValue; + } + public function setField($field) + { + $this->field = $field; + } + public function getField() + { + return $this->field; + } + public function setFieldIndex($fieldIndex) + { + $this->fieldIndex = $fieldIndex; + } + public function getFieldIndex() + { + return $this->fieldIndex; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setMatchType($matchType) + { + $this->matchType = $matchType; + } + public function getMatchType() + { + return $this->matchType; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Analytics/FilterLowercaseDetails.php b/vendor/google/apiclient-services/src/Google/Service/Analytics/FilterLowercaseDetails.php new file mode 100644 index 00000000..0e929524 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Analytics/FilterLowercaseDetails.php @@ -0,0 +1,39 @@ +field = $field; + } + public function getField() + { + return $this->field; + } + public function setFieldIndex($fieldIndex) + { + $this->fieldIndex = $fieldIndex; + } + public function getFieldIndex() + { + return $this->fieldIndex; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Analytics/FilterParentLink.php b/vendor/google/apiclient-services/src/Google/Service/Analytics/FilterParentLink.php new file mode 100644 index 00000000..14663d3e --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Analytics/FilterParentLink.php @@ -0,0 +1,39 @@ +href = $href; + } + public function getHref() + { + return $this->href; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Analytics/FilterRef.php b/vendor/google/apiclient-services/src/Google/Service/Analytics/FilterRef.php new file mode 100644 index 00000000..1a594e67 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Analytics/FilterRef.php @@ -0,0 +1,66 @@ +accountId = $accountId; + } + public function getAccountId() + { + return $this->accountId; + } + public function setHref($href) + { + $this->href = $href; + } + public function getHref() + { + return $this->href; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Analytics/FilterSearchAndReplaceDetails.php b/vendor/google/apiclient-services/src/Google/Service/Analytics/FilterSearchAndReplaceDetails.php new file mode 100644 index 00000000..f74cfdab --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Analytics/FilterSearchAndReplaceDetails.php @@ -0,0 +1,66 @@ +caseSensitive = $caseSensitive; + } + public function getCaseSensitive() + { + return $this->caseSensitive; + } + public function setField($field) + { + $this->field = $field; + } + public function getField() + { + return $this->field; + } + public function setFieldIndex($fieldIndex) + { + $this->fieldIndex = $fieldIndex; + } + public function getFieldIndex() + { + return $this->fieldIndex; + } + public function setReplaceString($replaceString) + { + $this->replaceString = $replaceString; + } + public function getReplaceString() + { + return $this->replaceString; + } + public function setSearchString($searchString) + { + $this->searchString = $searchString; + } + public function getSearchString() + { + return $this->searchString; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Analytics/FilterUppercaseDetails.php b/vendor/google/apiclient-services/src/Google/Service/Analytics/FilterUppercaseDetails.php new file mode 100644 index 00000000..41d6c3a0 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Analytics/FilterUppercaseDetails.php @@ -0,0 +1,39 @@ +field = $field; + } + public function getField() + { + return $this->field; + } + public function setFieldIndex($fieldIndex) + { + $this->fieldIndex = $fieldIndex; + } + public function getFieldIndex() + { + return $this->fieldIndex; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Analytics/Filters.php b/vendor/google/apiclient-services/src/Google/Service/Analytics/Filters.php new file mode 100644 index 00000000..4058b930 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Analytics/Filters.php @@ -0,0 +1,95 @@ +items = $items; + } + public function getItems() + { + return $this->items; + } + public function setItemsPerPage($itemsPerPage) + { + $this->itemsPerPage = $itemsPerPage; + } + public function getItemsPerPage() + { + return $this->itemsPerPage; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextLink($nextLink) + { + $this->nextLink = $nextLink; + } + public function getNextLink() + { + return $this->nextLink; + } + public function setPreviousLink($previousLink) + { + $this->previousLink = $previousLink; + } + public function getPreviousLink() + { + return $this->previousLink; + } + public function setStartIndex($startIndex) + { + $this->startIndex = $startIndex; + } + public function getStartIndex() + { + return $this->startIndex; + } + public function setTotalResults($totalResults) + { + $this->totalResults = $totalResults; + } + public function getTotalResults() + { + return $this->totalResults; + } + public function setUsername($username) + { + $this->username = $username; + } + public function getUsername() + { + return $this->username; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Analytics/GaData.php b/vendor/google/apiclient-services/src/Google/Service/Analytics/GaData.php new file mode 100644 index 00000000..5b8a9fe2 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Analytics/GaData.php @@ -0,0 +1,179 @@ +columnHeaders = $columnHeaders; + } + public function getColumnHeaders() + { + return $this->columnHeaders; + } + public function setContainsSampledData($containsSampledData) + { + $this->containsSampledData = $containsSampledData; + } + public function getContainsSampledData() + { + return $this->containsSampledData; + } + public function setDataLastRefreshed($dataLastRefreshed) + { + $this->dataLastRefreshed = $dataLastRefreshed; + } + public function getDataLastRefreshed() + { + return $this->dataLastRefreshed; + } + public function setDataTable(Google_Service_Analytics_GaDataDataTable $dataTable) + { + $this->dataTable = $dataTable; + } + public function getDataTable() + { + return $this->dataTable; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setItemsPerPage($itemsPerPage) + { + $this->itemsPerPage = $itemsPerPage; + } + public function getItemsPerPage() + { + return $this->itemsPerPage; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextLink($nextLink) + { + $this->nextLink = $nextLink; + } + public function getNextLink() + { + return $this->nextLink; + } + public function setPreviousLink($previousLink) + { + $this->previousLink = $previousLink; + } + public function getPreviousLink() + { + return $this->previousLink; + } + public function setProfileInfo(Google_Service_Analytics_GaDataProfileInfo $profileInfo) + { + $this->profileInfo = $profileInfo; + } + public function getProfileInfo() + { + return $this->profileInfo; + } + public function setQuery(Google_Service_Analytics_GaDataQuery $query) + { + $this->query = $query; + } + public function getQuery() + { + return $this->query; + } + public function setRows($rows) + { + $this->rows = $rows; + } + public function getRows() + { + return $this->rows; + } + public function setSampleSize($sampleSize) + { + $this->sampleSize = $sampleSize; + } + public function getSampleSize() + { + return $this->sampleSize; + } + public function setSampleSpace($sampleSpace) + { + $this->sampleSpace = $sampleSpace; + } + public function getSampleSpace() + { + return $this->sampleSpace; + } + public function setSelfLink($selfLink) + { + $this->selfLink = $selfLink; + } + public function getSelfLink() + { + return $this->selfLink; + } + public function setTotalResults($totalResults) + { + $this->totalResults = $totalResults; + } + public function getTotalResults() + { + return $this->totalResults; + } + public function setTotalsForAllResults($totalsForAllResults) + { + $this->totalsForAllResults = $totalsForAllResults; + } + public function getTotalsForAllResults() + { + return $this->totalsForAllResults; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Analytics/GaDataColumnHeaders.php b/vendor/google/apiclient-services/src/Google/Service/Analytics/GaDataColumnHeaders.php new file mode 100644 index 00000000..4f05a9df --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Analytics/GaDataColumnHeaders.php @@ -0,0 +1,48 @@ +columnType = $columnType; + } + public function getColumnType() + { + return $this->columnType; + } + public function setDataType($dataType) + { + $this->dataType = $dataType; + } + public function getDataType() + { + return $this->dataType; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Analytics/GaDataDataTable.php b/vendor/google/apiclient-services/src/Google/Service/Analytics/GaDataDataTable.php new file mode 100644 index 00000000..8e9b5349 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Analytics/GaDataDataTable.php @@ -0,0 +1,42 @@ +cols = $cols; + } + public function getCols() + { + return $this->cols; + } + public function setRows($rows) + { + $this->rows = $rows; + } + public function getRows() + { + return $this->rows; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Analytics/GaDataDataTableCols.php b/vendor/google/apiclient-services/src/Google/Service/Analytics/GaDataDataTableCols.php new file mode 100644 index 00000000..1c2fdc72 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Analytics/GaDataDataTableCols.php @@ -0,0 +1,48 @@ +id = $id; + } + public function getId() + { + return $this->id; + } + public function setLabel($label) + { + $this->label = $label; + } + public function getLabel() + { + return $this->label; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Analytics/GaDataDataTableRows.php b/vendor/google/apiclient-services/src/Google/Service/Analytics/GaDataDataTableRows.php new file mode 100644 index 00000000..409a66c0 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Analytics/GaDataDataTableRows.php @@ -0,0 +1,32 @@ +c = $c; + } + public function getC() + { + return $this->c; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Analytics/GaDataDataTableRowsC.php b/vendor/google/apiclient-services/src/Google/Service/Analytics/GaDataDataTableRowsC.php new file mode 100644 index 00000000..b81f3cc7 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Analytics/GaDataDataTableRowsC.php @@ -0,0 +1,30 @@ +v = $v; + } + public function getV() + { + return $this->v; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Analytics/GaDataProfileInfo.php b/vendor/google/apiclient-services/src/Google/Service/Analytics/GaDataProfileInfo.php new file mode 100644 index 00000000..ca5a9126 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Analytics/GaDataProfileInfo.php @@ -0,0 +1,75 @@ +accountId = $accountId; + } + public function getAccountId() + { + return $this->accountId; + } + public function setInternalWebPropertyId($internalWebPropertyId) + { + $this->internalWebPropertyId = $internalWebPropertyId; + } + public function getInternalWebPropertyId() + { + return $this->internalWebPropertyId; + } + public function setProfileId($profileId) + { + $this->profileId = $profileId; + } + public function getProfileId() + { + return $this->profileId; + } + public function setProfileName($profileName) + { + $this->profileName = $profileName; + } + public function getProfileName() + { + return $this->profileName; + } + public function setTableId($tableId) + { + $this->tableId = $tableId; + } + public function getTableId() + { + return $this->tableId; + } + public function setWebPropertyId($webPropertyId) + { + $this->webPropertyId = $webPropertyId; + } + public function getWebPropertyId() + { + return $this->webPropertyId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Analytics/GaDataQuery.php b/vendor/google/apiclient-services/src/Google/Service/Analytics/GaDataQuery.php new file mode 100644 index 00000000..811f2929 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Analytics/GaDataQuery.php @@ -0,0 +1,127 @@ + "end-date", + "maxResults" => "max-results", + "startDate" => "start-date", + "startIndex" => "start-index", + ); + public $dimensions; + public $endDate; + public $filters; + public $ids; + public $maxResults; + public $metrics; + public $samplingLevel; + public $segment; + public $sort; + public $startDate; + public $startIndex; + + public function setDimensions($dimensions) + { + $this->dimensions = $dimensions; + } + public function getDimensions() + { + return $this->dimensions; + } + public function setEndDate($endDate) + { + $this->endDate = $endDate; + } + public function getEndDate() + { + return $this->endDate; + } + public function setFilters($filters) + { + $this->filters = $filters; + } + public function getFilters() + { + return $this->filters; + } + public function setIds($ids) + { + $this->ids = $ids; + } + public function getIds() + { + return $this->ids; + } + public function setMaxResults($maxResults) + { + $this->maxResults = $maxResults; + } + public function getMaxResults() + { + return $this->maxResults; + } + public function setMetrics($metrics) + { + $this->metrics = $metrics; + } + public function getMetrics() + { + return $this->metrics; + } + public function setSamplingLevel($samplingLevel) + { + $this->samplingLevel = $samplingLevel; + } + public function getSamplingLevel() + { + return $this->samplingLevel; + } + public function setSegment($segment) + { + $this->segment = $segment; + } + public function getSegment() + { + return $this->segment; + } + public function setSort($sort) + { + $this->sort = $sort; + } + public function getSort() + { + return $this->sort; + } + public function setStartDate($startDate) + { + $this->startDate = $startDate; + } + public function getStartDate() + { + return $this->startDate; + } + public function setStartIndex($startIndex) + { + $this->startIndex = $startIndex; + } + public function getStartIndex() + { + return $this->startIndex; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Analytics/Goal.php b/vendor/google/apiclient-services/src/Google/Service/Analytics/Goal.php new file mode 100644 index 00000000..767420ab --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Analytics/Goal.php @@ -0,0 +1,188 @@ +accountId = $accountId; + } + public function getAccountId() + { + return $this->accountId; + } + public function setActive($active) + { + $this->active = $active; + } + public function getActive() + { + return $this->active; + } + public function setCreated($created) + { + $this->created = $created; + } + public function getCreated() + { + return $this->created; + } + public function setEventDetails(Google_Service_Analytics_GoalEventDetails $eventDetails) + { + $this->eventDetails = $eventDetails; + } + public function getEventDetails() + { + return $this->eventDetails; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setInternalWebPropertyId($internalWebPropertyId) + { + $this->internalWebPropertyId = $internalWebPropertyId; + } + public function getInternalWebPropertyId() + { + return $this->internalWebPropertyId; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setParentLink(Google_Service_Analytics_GoalParentLink $parentLink) + { + $this->parentLink = $parentLink; + } + public function getParentLink() + { + return $this->parentLink; + } + public function setProfileId($profileId) + { + $this->profileId = $profileId; + } + public function getProfileId() + { + return $this->profileId; + } + public function setSelfLink($selfLink) + { + $this->selfLink = $selfLink; + } + public function getSelfLink() + { + return $this->selfLink; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } + public function setUpdated($updated) + { + $this->updated = $updated; + } + public function getUpdated() + { + return $this->updated; + } + public function setUrlDestinationDetails(Google_Service_Analytics_GoalUrlDestinationDetails $urlDestinationDetails) + { + $this->urlDestinationDetails = $urlDestinationDetails; + } + public function getUrlDestinationDetails() + { + return $this->urlDestinationDetails; + } + public function setValue($value) + { + $this->value = $value; + } + public function getValue() + { + return $this->value; + } + public function setVisitNumPagesDetails(Google_Service_Analytics_GoalVisitNumPagesDetails $visitNumPagesDetails) + { + $this->visitNumPagesDetails = $visitNumPagesDetails; + } + public function getVisitNumPagesDetails() + { + return $this->visitNumPagesDetails; + } + public function setVisitTimeOnSiteDetails(Google_Service_Analytics_GoalVisitTimeOnSiteDetails $visitTimeOnSiteDetails) + { + $this->visitTimeOnSiteDetails = $visitTimeOnSiteDetails; + } + public function getVisitTimeOnSiteDetails() + { + return $this->visitTimeOnSiteDetails; + } + public function setWebPropertyId($webPropertyId) + { + $this->webPropertyId = $webPropertyId; + } + public function getWebPropertyId() + { + return $this->webPropertyId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Analytics/GoalEventDetails.php b/vendor/google/apiclient-services/src/Google/Service/Analytics/GoalEventDetails.php new file mode 100644 index 00000000..0cd903db --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Analytics/GoalEventDetails.php @@ -0,0 +1,41 @@ +eventConditions = $eventConditions; + } + public function getEventConditions() + { + return $this->eventConditions; + } + public function setUseEventValue($useEventValue) + { + $this->useEventValue = $useEventValue; + } + public function getUseEventValue() + { + return $this->useEventValue; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Analytics/GoalEventDetailsEventConditions.php b/vendor/google/apiclient-services/src/Google/Service/Analytics/GoalEventDetailsEventConditions.php new file mode 100644 index 00000000..6b401eea --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Analytics/GoalEventDetailsEventConditions.php @@ -0,0 +1,66 @@ +comparisonType = $comparisonType; + } + public function getComparisonType() + { + return $this->comparisonType; + } + public function setComparisonValue($comparisonValue) + { + $this->comparisonValue = $comparisonValue; + } + public function getComparisonValue() + { + return $this->comparisonValue; + } + public function setExpression($expression) + { + $this->expression = $expression; + } + public function getExpression() + { + return $this->expression; + } + public function setMatchType($matchType) + { + $this->matchType = $matchType; + } + public function getMatchType() + { + return $this->matchType; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Analytics/GoalParentLink.php b/vendor/google/apiclient-services/src/Google/Service/Analytics/GoalParentLink.php new file mode 100644 index 00000000..54d7d542 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Analytics/GoalParentLink.php @@ -0,0 +1,39 @@ +href = $href; + } + public function getHref() + { + return $this->href; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Analytics/GoalUrlDestinationDetails.php b/vendor/google/apiclient-services/src/Google/Service/Analytics/GoalUrlDestinationDetails.php new file mode 100644 index 00000000..52520879 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Analytics/GoalUrlDestinationDetails.php @@ -0,0 +1,68 @@ +caseSensitive = $caseSensitive; + } + public function getCaseSensitive() + { + return $this->caseSensitive; + } + public function setFirstStepRequired($firstStepRequired) + { + $this->firstStepRequired = $firstStepRequired; + } + public function getFirstStepRequired() + { + return $this->firstStepRequired; + } + public function setMatchType($matchType) + { + $this->matchType = $matchType; + } + public function getMatchType() + { + return $this->matchType; + } + public function setSteps($steps) + { + $this->steps = $steps; + } + public function getSteps() + { + return $this->steps; + } + public function setUrl($url) + { + $this->url = $url; + } + public function getUrl() + { + return $this->url; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Analytics/GoalUrlDestinationDetailsSteps.php b/vendor/google/apiclient-services/src/Google/Service/Analytics/GoalUrlDestinationDetailsSteps.php new file mode 100644 index 00000000..812ae53e --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Analytics/GoalUrlDestinationDetailsSteps.php @@ -0,0 +1,48 @@ +name = $name; + } + public function getName() + { + return $this->name; + } + public function setNumber($number) + { + $this->number = $number; + } + public function getNumber() + { + return $this->number; + } + public function setUrl($url) + { + $this->url = $url; + } + public function getUrl() + { + return $this->url; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Analytics/GoalVisitNumPagesDetails.php b/vendor/google/apiclient-services/src/Google/Service/Analytics/GoalVisitNumPagesDetails.php new file mode 100644 index 00000000..fc92b56a --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Analytics/GoalVisitNumPagesDetails.php @@ -0,0 +1,39 @@ +comparisonType = $comparisonType; + } + public function getComparisonType() + { + return $this->comparisonType; + } + public function setComparisonValue($comparisonValue) + { + $this->comparisonValue = $comparisonValue; + } + public function getComparisonValue() + { + return $this->comparisonValue; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Analytics/GoalVisitTimeOnSiteDetails.php b/vendor/google/apiclient-services/src/Google/Service/Analytics/GoalVisitTimeOnSiteDetails.php new file mode 100644 index 00000000..0f28a0a1 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Analytics/GoalVisitTimeOnSiteDetails.php @@ -0,0 +1,39 @@ +comparisonType = $comparisonType; + } + public function getComparisonType() + { + return $this->comparisonType; + } + public function setComparisonValue($comparisonValue) + { + $this->comparisonValue = $comparisonValue; + } + public function getComparisonValue() + { + return $this->comparisonValue; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Analytics/Goals.php b/vendor/google/apiclient-services/src/Google/Service/Analytics/Goals.php new file mode 100644 index 00000000..402eb350 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Analytics/Goals.php @@ -0,0 +1,95 @@ +items = $items; + } + public function getItems() + { + return $this->items; + } + public function setItemsPerPage($itemsPerPage) + { + $this->itemsPerPage = $itemsPerPage; + } + public function getItemsPerPage() + { + return $this->itemsPerPage; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextLink($nextLink) + { + $this->nextLink = $nextLink; + } + public function getNextLink() + { + return $this->nextLink; + } + public function setPreviousLink($previousLink) + { + $this->previousLink = $previousLink; + } + public function getPreviousLink() + { + return $this->previousLink; + } + public function setStartIndex($startIndex) + { + $this->startIndex = $startIndex; + } + public function getStartIndex() + { + return $this->startIndex; + } + public function setTotalResults($totalResults) + { + $this->totalResults = $totalResults; + } + public function getTotalResults() + { + return $this->totalResults; + } + public function setUsername($username) + { + $this->username = $username; + } + public function getUsername() + { + return $this->username; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Analytics/IncludeConditions.php b/vendor/google/apiclient-services/src/Google/Service/Analytics/IncludeConditions.php new file mode 100644 index 00000000..11b89c7b --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Analytics/IncludeConditions.php @@ -0,0 +1,66 @@ +daysToLookBack = $daysToLookBack; + } + public function getDaysToLookBack() + { + return $this->daysToLookBack; + } + public function setIsSmartList($isSmartList) + { + $this->isSmartList = $isSmartList; + } + public function getIsSmartList() + { + return $this->isSmartList; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setMembershipDurationDays($membershipDurationDays) + { + $this->membershipDurationDays = $membershipDurationDays; + } + public function getMembershipDurationDays() + { + return $this->membershipDurationDays; + } + public function setSegment($segment) + { + $this->segment = $segment; + } + public function getSegment() + { + return $this->segment; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Analytics/LinkedForeignAccount.php b/vendor/google/apiclient-services/src/Google/Service/Analytics/LinkedForeignAccount.php new file mode 100644 index 00000000..4863f8a9 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Analytics/LinkedForeignAccount.php @@ -0,0 +1,111 @@ +accountId = $accountId; + } + public function getAccountId() + { + return $this->accountId; + } + public function setEligibleForSearch($eligibleForSearch) + { + $this->eligibleForSearch = $eligibleForSearch; + } + public function getEligibleForSearch() + { + return $this->eligibleForSearch; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setInternalWebPropertyId($internalWebPropertyId) + { + $this->internalWebPropertyId = $internalWebPropertyId; + } + public function getInternalWebPropertyId() + { + return $this->internalWebPropertyId; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setLinkedAccountId($linkedAccountId) + { + $this->linkedAccountId = $linkedAccountId; + } + public function getLinkedAccountId() + { + return $this->linkedAccountId; + } + public function setRemarketingAudienceId($remarketingAudienceId) + { + $this->remarketingAudienceId = $remarketingAudienceId; + } + public function getRemarketingAudienceId() + { + return $this->remarketingAudienceId; + } + public function setStatus($status) + { + $this->status = $status; + } + public function getStatus() + { + return $this->status; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } + public function setWebPropertyId($webPropertyId) + { + $this->webPropertyId = $webPropertyId; + } + public function getWebPropertyId() + { + return $this->webPropertyId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Analytics/McfData.php b/vendor/google/apiclient-services/src/Google/Service/Analytics/McfData.php new file mode 100644 index 00000000..91bf9d9d --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Analytics/McfData.php @@ -0,0 +1,161 @@ +columnHeaders = $columnHeaders; + } + public function getColumnHeaders() + { + return $this->columnHeaders; + } + public function setContainsSampledData($containsSampledData) + { + $this->containsSampledData = $containsSampledData; + } + public function getContainsSampledData() + { + return $this->containsSampledData; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setItemsPerPage($itemsPerPage) + { + $this->itemsPerPage = $itemsPerPage; + } + public function getItemsPerPage() + { + return $this->itemsPerPage; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextLink($nextLink) + { + $this->nextLink = $nextLink; + } + public function getNextLink() + { + return $this->nextLink; + } + public function setPreviousLink($previousLink) + { + $this->previousLink = $previousLink; + } + public function getPreviousLink() + { + return $this->previousLink; + } + public function setProfileInfo(Google_Service_Analytics_McfDataProfileInfo $profileInfo) + { + $this->profileInfo = $profileInfo; + } + public function getProfileInfo() + { + return $this->profileInfo; + } + public function setQuery(Google_Service_Analytics_McfDataQuery $query) + { + $this->query = $query; + } + public function getQuery() + { + return $this->query; + } + public function setRows($rows) + { + $this->rows = $rows; + } + public function getRows() + { + return $this->rows; + } + public function setSampleSize($sampleSize) + { + $this->sampleSize = $sampleSize; + } + public function getSampleSize() + { + return $this->sampleSize; + } + public function setSampleSpace($sampleSpace) + { + $this->sampleSpace = $sampleSpace; + } + public function getSampleSpace() + { + return $this->sampleSpace; + } + public function setSelfLink($selfLink) + { + $this->selfLink = $selfLink; + } + public function getSelfLink() + { + return $this->selfLink; + } + public function setTotalResults($totalResults) + { + $this->totalResults = $totalResults; + } + public function getTotalResults() + { + return $this->totalResults; + } + public function setTotalsForAllResults($totalsForAllResults) + { + $this->totalsForAllResults = $totalsForAllResults; + } + public function getTotalsForAllResults() + { + return $this->totalsForAllResults; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Analytics/McfDataColumnHeaders.php b/vendor/google/apiclient-services/src/Google/Service/Analytics/McfDataColumnHeaders.php new file mode 100644 index 00000000..30ef1ddb --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Analytics/McfDataColumnHeaders.php @@ -0,0 +1,48 @@ +columnType = $columnType; + } + public function getColumnType() + { + return $this->columnType; + } + public function setDataType($dataType) + { + $this->dataType = $dataType; + } + public function getDataType() + { + return $this->dataType; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Analytics/McfDataProfileInfo.php b/vendor/google/apiclient-services/src/Google/Service/Analytics/McfDataProfileInfo.php new file mode 100644 index 00000000..0dc090c7 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Analytics/McfDataProfileInfo.php @@ -0,0 +1,75 @@ +accountId = $accountId; + } + public function getAccountId() + { + return $this->accountId; + } + public function setInternalWebPropertyId($internalWebPropertyId) + { + $this->internalWebPropertyId = $internalWebPropertyId; + } + public function getInternalWebPropertyId() + { + return $this->internalWebPropertyId; + } + public function setProfileId($profileId) + { + $this->profileId = $profileId; + } + public function getProfileId() + { + return $this->profileId; + } + public function setProfileName($profileName) + { + $this->profileName = $profileName; + } + public function getProfileName() + { + return $this->profileName; + } + public function setTableId($tableId) + { + $this->tableId = $tableId; + } + public function getTableId() + { + return $this->tableId; + } + public function setWebPropertyId($webPropertyId) + { + $this->webPropertyId = $webPropertyId; + } + public function getWebPropertyId() + { + return $this->webPropertyId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Analytics/McfDataQuery.php b/vendor/google/apiclient-services/src/Google/Service/Analytics/McfDataQuery.php new file mode 100644 index 00000000..2756e2fd --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Analytics/McfDataQuery.php @@ -0,0 +1,127 @@ + "end-date", + "maxResults" => "max-results", + "startDate" => "start-date", + "startIndex" => "start-index", + ); + public $dimensions; + public $endDate; + public $filters; + public $ids; + public $maxResults; + public $metrics; + public $samplingLevel; + public $segment; + public $sort; + public $startDate; + public $startIndex; + + public function setDimensions($dimensions) + { + $this->dimensions = $dimensions; + } + public function getDimensions() + { + return $this->dimensions; + } + public function setEndDate($endDate) + { + $this->endDate = $endDate; + } + public function getEndDate() + { + return $this->endDate; + } + public function setFilters($filters) + { + $this->filters = $filters; + } + public function getFilters() + { + return $this->filters; + } + public function setIds($ids) + { + $this->ids = $ids; + } + public function getIds() + { + return $this->ids; + } + public function setMaxResults($maxResults) + { + $this->maxResults = $maxResults; + } + public function getMaxResults() + { + return $this->maxResults; + } + public function setMetrics($metrics) + { + $this->metrics = $metrics; + } + public function getMetrics() + { + return $this->metrics; + } + public function setSamplingLevel($samplingLevel) + { + $this->samplingLevel = $samplingLevel; + } + public function getSamplingLevel() + { + return $this->samplingLevel; + } + public function setSegment($segment) + { + $this->segment = $segment; + } + public function getSegment() + { + return $this->segment; + } + public function setSort($sort) + { + $this->sort = $sort; + } + public function getSort() + { + return $this->sort; + } + public function setStartDate($startDate) + { + $this->startDate = $startDate; + } + public function getStartDate() + { + return $this->startDate; + } + public function setStartIndex($startIndex) + { + $this->startIndex = $startIndex; + } + public function getStartIndex() + { + return $this->startIndex; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Analytics/McfDataRows.php b/vendor/google/apiclient-services/src/Google/Service/Analytics/McfDataRows.php new file mode 100644 index 00000000..08bbb95f --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Analytics/McfDataRows.php @@ -0,0 +1,41 @@ +conversionPathValue = $conversionPathValue; + } + public function getConversionPathValue() + { + return $this->conversionPathValue; + } + public function setPrimitiveValue($primitiveValue) + { + $this->primitiveValue = $primitiveValue; + } + public function getPrimitiveValue() + { + return $this->primitiveValue; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Analytics/McfDataRowsConversionPathValue.php b/vendor/google/apiclient-services/src/Google/Service/Analytics/McfDataRowsConversionPathValue.php new file mode 100644 index 00000000..69b2ecb4 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Analytics/McfDataRowsConversionPathValue.php @@ -0,0 +1,39 @@ +interactionType = $interactionType; + } + public function getInteractionType() + { + return $this->interactionType; + } + public function setNodeValue($nodeValue) + { + $this->nodeValue = $nodeValue; + } + public function getNodeValue() + { + return $this->nodeValue; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Analytics/Profile.php b/vendor/google/apiclient-services/src/Google/Service/Analytics/Profile.php new file mode 100644 index 00000000..f92d97b0 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Analytics/Profile.php @@ -0,0 +1,258 @@ +accountId = $accountId; + } + public function getAccountId() + { + return $this->accountId; + } + public function setBotFilteringEnabled($botFilteringEnabled) + { + $this->botFilteringEnabled = $botFilteringEnabled; + } + public function getBotFilteringEnabled() + { + return $this->botFilteringEnabled; + } + public function setChildLink(Google_Service_Analytics_ProfileChildLink $childLink) + { + $this->childLink = $childLink; + } + public function getChildLink() + { + return $this->childLink; + } + public function setCreated($created) + { + $this->created = $created; + } + public function getCreated() + { + return $this->created; + } + public function setCurrency($currency) + { + $this->currency = $currency; + } + public function getCurrency() + { + return $this->currency; + } + public function setDefaultPage($defaultPage) + { + $this->defaultPage = $defaultPage; + } + public function getDefaultPage() + { + return $this->defaultPage; + } + public function setECommerceTracking($eCommerceTracking) + { + $this->eCommerceTracking = $eCommerceTracking; + } + public function getECommerceTracking() + { + return $this->eCommerceTracking; + } + public function setEnhancedECommerceTracking($enhancedECommerceTracking) + { + $this->enhancedECommerceTracking = $enhancedECommerceTracking; + } + public function getEnhancedECommerceTracking() + { + return $this->enhancedECommerceTracking; + } + public function setExcludeQueryParameters($excludeQueryParameters) + { + $this->excludeQueryParameters = $excludeQueryParameters; + } + public function getExcludeQueryParameters() + { + return $this->excludeQueryParameters; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setInternalWebPropertyId($internalWebPropertyId) + { + $this->internalWebPropertyId = $internalWebPropertyId; + } + public function getInternalWebPropertyId() + { + return $this->internalWebPropertyId; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setParentLink(Google_Service_Analytics_ProfileParentLink $parentLink) + { + $this->parentLink = $parentLink; + } + public function getParentLink() + { + return $this->parentLink; + } + public function setPermissions(Google_Service_Analytics_ProfilePermissions $permissions) + { + $this->permissions = $permissions; + } + public function getPermissions() + { + return $this->permissions; + } + public function setSelfLink($selfLink) + { + $this->selfLink = $selfLink; + } + public function getSelfLink() + { + return $this->selfLink; + } + public function setSiteSearchCategoryParameters($siteSearchCategoryParameters) + { + $this->siteSearchCategoryParameters = $siteSearchCategoryParameters; + } + public function getSiteSearchCategoryParameters() + { + return $this->siteSearchCategoryParameters; + } + public function setSiteSearchQueryParameters($siteSearchQueryParameters) + { + $this->siteSearchQueryParameters = $siteSearchQueryParameters; + } + public function getSiteSearchQueryParameters() + { + return $this->siteSearchQueryParameters; + } + public function setStarred($starred) + { + $this->starred = $starred; + } + public function getStarred() + { + return $this->starred; + } + public function setStripSiteSearchCategoryParameters($stripSiteSearchCategoryParameters) + { + $this->stripSiteSearchCategoryParameters = $stripSiteSearchCategoryParameters; + } + public function getStripSiteSearchCategoryParameters() + { + return $this->stripSiteSearchCategoryParameters; + } + public function setStripSiteSearchQueryParameters($stripSiteSearchQueryParameters) + { + $this->stripSiteSearchQueryParameters = $stripSiteSearchQueryParameters; + } + public function getStripSiteSearchQueryParameters() + { + return $this->stripSiteSearchQueryParameters; + } + public function setTimezone($timezone) + { + $this->timezone = $timezone; + } + public function getTimezone() + { + return $this->timezone; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } + public function setUpdated($updated) + { + $this->updated = $updated; + } + public function getUpdated() + { + return $this->updated; + } + public function setWebPropertyId($webPropertyId) + { + $this->webPropertyId = $webPropertyId; + } + public function getWebPropertyId() + { + return $this->webPropertyId; + } + public function setWebsiteUrl($websiteUrl) + { + $this->websiteUrl = $websiteUrl; + } + public function getWebsiteUrl() + { + return $this->websiteUrl; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Analytics/ProfileChildLink.php b/vendor/google/apiclient-services/src/Google/Service/Analytics/ProfileChildLink.php new file mode 100644 index 00000000..bb18f139 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Analytics/ProfileChildLink.php @@ -0,0 +1,39 @@ +href = $href; + } + public function getHref() + { + return $this->href; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Analytics/ProfileFilterLink.php b/vendor/google/apiclient-services/src/Google/Service/Analytics/ProfileFilterLink.php new file mode 100644 index 00000000..38417464 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Analytics/ProfileFilterLink.php @@ -0,0 +1,77 @@ +filterRef = $filterRef; + } + public function getFilterRef() + { + return $this->filterRef; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setProfileRef(Google_Service_Analytics_ProfileRef $profileRef) + { + $this->profileRef = $profileRef; + } + public function getProfileRef() + { + return $this->profileRef; + } + public function setRank($rank) + { + $this->rank = $rank; + } + public function getRank() + { + return $this->rank; + } + public function setSelfLink($selfLink) + { + $this->selfLink = $selfLink; + } + public function getSelfLink() + { + return $this->selfLink; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Analytics/ProfileFilterLinks.php b/vendor/google/apiclient-services/src/Google/Service/Analytics/ProfileFilterLinks.php new file mode 100644 index 00000000..6ba55aa8 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Analytics/ProfileFilterLinks.php @@ -0,0 +1,95 @@ +items = $items; + } + public function getItems() + { + return $this->items; + } + public function setItemsPerPage($itemsPerPage) + { + $this->itemsPerPage = $itemsPerPage; + } + public function getItemsPerPage() + { + return $this->itemsPerPage; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextLink($nextLink) + { + $this->nextLink = $nextLink; + } + public function getNextLink() + { + return $this->nextLink; + } + public function setPreviousLink($previousLink) + { + $this->previousLink = $previousLink; + } + public function getPreviousLink() + { + return $this->previousLink; + } + public function setStartIndex($startIndex) + { + $this->startIndex = $startIndex; + } + public function getStartIndex() + { + return $this->startIndex; + } + public function setTotalResults($totalResults) + { + $this->totalResults = $totalResults; + } + public function getTotalResults() + { + return $this->totalResults; + } + public function setUsername($username) + { + $this->username = $username; + } + public function getUsername() + { + return $this->username; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Analytics/ProfileParentLink.php b/vendor/google/apiclient-services/src/Google/Service/Analytics/ProfileParentLink.php new file mode 100644 index 00000000..cedcf497 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Analytics/ProfileParentLink.php @@ -0,0 +1,39 @@ +href = $href; + } + public function getHref() + { + return $this->href; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Analytics/ProfilePermissions.php b/vendor/google/apiclient-services/src/Google/Service/Analytics/ProfilePermissions.php new file mode 100644 index 00000000..fbbea20a --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Analytics/ProfilePermissions.php @@ -0,0 +1,31 @@ +effective = $effective; + } + public function getEffective() + { + return $this->effective; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Analytics/ProfileRef.php b/vendor/google/apiclient-services/src/Google/Service/Analytics/ProfileRef.php new file mode 100644 index 00000000..a32f66d8 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Analytics/ProfileRef.php @@ -0,0 +1,84 @@ +accountId = $accountId; + } + public function getAccountId() + { + return $this->accountId; + } + public function setHref($href) + { + $this->href = $href; + } + public function getHref() + { + return $this->href; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setInternalWebPropertyId($internalWebPropertyId) + { + $this->internalWebPropertyId = $internalWebPropertyId; + } + public function getInternalWebPropertyId() + { + return $this->internalWebPropertyId; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setWebPropertyId($webPropertyId) + { + $this->webPropertyId = $webPropertyId; + } + public function getWebPropertyId() + { + return $this->webPropertyId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Analytics/ProfileSummary.php b/vendor/google/apiclient-services/src/Google/Service/Analytics/ProfileSummary.php new file mode 100644 index 00000000..abec3351 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Analytics/ProfileSummary.php @@ -0,0 +1,66 @@ +id = $id; + } + public function getId() + { + return $this->id; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setStarred($starred) + { + $this->starred = $starred; + } + public function getStarred() + { + return $this->starred; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Analytics/Profiles.php b/vendor/google/apiclient-services/src/Google/Service/Analytics/Profiles.php new file mode 100644 index 00000000..704d5907 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Analytics/Profiles.php @@ -0,0 +1,95 @@ +items = $items; + } + public function getItems() + { + return $this->items; + } + public function setItemsPerPage($itemsPerPage) + { + $this->itemsPerPage = $itemsPerPage; + } + public function getItemsPerPage() + { + return $this->itemsPerPage; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextLink($nextLink) + { + $this->nextLink = $nextLink; + } + public function getNextLink() + { + return $this->nextLink; + } + public function setPreviousLink($previousLink) + { + $this->previousLink = $previousLink; + } + public function getPreviousLink() + { + return $this->previousLink; + } + public function setStartIndex($startIndex) + { + $this->startIndex = $startIndex; + } + public function getStartIndex() + { + return $this->startIndex; + } + public function setTotalResults($totalResults) + { + $this->totalResults = $totalResults; + } + public function getTotalResults() + { + return $this->totalResults; + } + public function setUsername($username) + { + $this->username = $username; + } + public function getUsername() + { + return $this->username; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Analytics/RealtimeData.php b/vendor/google/apiclient-services/src/Google/Service/Analytics/RealtimeData.php new file mode 100644 index 00000000..865a95e8 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Analytics/RealtimeData.php @@ -0,0 +1,106 @@ +columnHeaders = $columnHeaders; + } + public function getColumnHeaders() + { + return $this->columnHeaders; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setProfileInfo(Google_Service_Analytics_RealtimeDataProfileInfo $profileInfo) + { + $this->profileInfo = $profileInfo; + } + public function getProfileInfo() + { + return $this->profileInfo; + } + public function setQuery(Google_Service_Analytics_RealtimeDataQuery $query) + { + $this->query = $query; + } + public function getQuery() + { + return $this->query; + } + public function setRows($rows) + { + $this->rows = $rows; + } + public function getRows() + { + return $this->rows; + } + public function setSelfLink($selfLink) + { + $this->selfLink = $selfLink; + } + public function getSelfLink() + { + return $this->selfLink; + } + public function setTotalResults($totalResults) + { + $this->totalResults = $totalResults; + } + public function getTotalResults() + { + return $this->totalResults; + } + public function setTotalsForAllResults($totalsForAllResults) + { + $this->totalsForAllResults = $totalsForAllResults; + } + public function getTotalsForAllResults() + { + return $this->totalsForAllResults; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Analytics/RealtimeDataColumnHeaders.php b/vendor/google/apiclient-services/src/Google/Service/Analytics/RealtimeDataColumnHeaders.php new file mode 100644 index 00000000..661fdf66 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Analytics/RealtimeDataColumnHeaders.php @@ -0,0 +1,48 @@ +columnType = $columnType; + } + public function getColumnType() + { + return $this->columnType; + } + public function setDataType($dataType) + { + $this->dataType = $dataType; + } + public function getDataType() + { + return $this->dataType; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Analytics/RealtimeDataProfileInfo.php b/vendor/google/apiclient-services/src/Google/Service/Analytics/RealtimeDataProfileInfo.php new file mode 100644 index 00000000..2bca3e7d --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Analytics/RealtimeDataProfileInfo.php @@ -0,0 +1,75 @@ +accountId = $accountId; + } + public function getAccountId() + { + return $this->accountId; + } + public function setInternalWebPropertyId($internalWebPropertyId) + { + $this->internalWebPropertyId = $internalWebPropertyId; + } + public function getInternalWebPropertyId() + { + return $this->internalWebPropertyId; + } + public function setProfileId($profileId) + { + $this->profileId = $profileId; + } + public function getProfileId() + { + return $this->profileId; + } + public function setProfileName($profileName) + { + $this->profileName = $profileName; + } + public function getProfileName() + { + return $this->profileName; + } + public function setTableId($tableId) + { + $this->tableId = $tableId; + } + public function getTableId() + { + return $this->tableId; + } + public function setWebPropertyId($webPropertyId) + { + $this->webPropertyId = $webPropertyId; + } + public function getWebPropertyId() + { + return $this->webPropertyId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Analytics/RealtimeDataQuery.php b/vendor/google/apiclient-services/src/Google/Service/Analytics/RealtimeDataQuery.php new file mode 100644 index 00000000..b91009a6 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Analytics/RealtimeDataQuery.php @@ -0,0 +1,79 @@ + "max-results", + ); + public $dimensions; + public $filters; + public $ids; + public $maxResults; + public $metrics; + public $sort; + + public function setDimensions($dimensions) + { + $this->dimensions = $dimensions; + } + public function getDimensions() + { + return $this->dimensions; + } + public function setFilters($filters) + { + $this->filters = $filters; + } + public function getFilters() + { + return $this->filters; + } + public function setIds($ids) + { + $this->ids = $ids; + } + public function getIds() + { + return $this->ids; + } + public function setMaxResults($maxResults) + { + $this->maxResults = $maxResults; + } + public function getMaxResults() + { + return $this->maxResults; + } + public function setMetrics($metrics) + { + $this->metrics = $metrics; + } + public function getMetrics() + { + return $this->metrics; + } + public function setSort($sort) + { + $this->sort = $sort; + } + public function getSort() + { + return $this->sort; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Analytics/RemarketingAudience.php b/vendor/google/apiclient-services/src/Google/Service/Analytics/RemarketingAudience.php new file mode 100644 index 00000000..b960417f --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Analytics/RemarketingAudience.php @@ -0,0 +1,151 @@ +accountId = $accountId; + } + public function getAccountId() + { + return $this->accountId; + } + public function setAudienceDefinition(Google_Service_Analytics_RemarketingAudienceAudienceDefinition $audienceDefinition) + { + $this->audienceDefinition = $audienceDefinition; + } + public function getAudienceDefinition() + { + return $this->audienceDefinition; + } + public function setAudienceType($audienceType) + { + $this->audienceType = $audienceType; + } + public function getAudienceType() + { + return $this->audienceType; + } + public function setCreated($created) + { + $this->created = $created; + } + public function getCreated() + { + return $this->created; + } + public function setDescription($description) + { + $this->description = $description; + } + public function getDescription() + { + return $this->description; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setInternalWebPropertyId($internalWebPropertyId) + { + $this->internalWebPropertyId = $internalWebPropertyId; + } + public function getInternalWebPropertyId() + { + return $this->internalWebPropertyId; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setLinkedAdAccounts($linkedAdAccounts) + { + $this->linkedAdAccounts = $linkedAdAccounts; + } + public function getLinkedAdAccounts() + { + return $this->linkedAdAccounts; + } + public function setLinkedViews($linkedViews) + { + $this->linkedViews = $linkedViews; + } + public function getLinkedViews() + { + return $this->linkedViews; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setStateBasedAudienceDefinition(Google_Service_Analytics_RemarketingAudienceStateBasedAudienceDefinition $stateBasedAudienceDefinition) + { + $this->stateBasedAudienceDefinition = $stateBasedAudienceDefinition; + } + public function getStateBasedAudienceDefinition() + { + return $this->stateBasedAudienceDefinition; + } + public function setUpdated($updated) + { + $this->updated = $updated; + } + public function getUpdated() + { + return $this->updated; + } + public function setWebPropertyId($webPropertyId) + { + $this->webPropertyId = $webPropertyId; + } + public function getWebPropertyId() + { + return $this->webPropertyId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Analytics/RemarketingAudienceAudienceDefinition.php b/vendor/google/apiclient-services/src/Google/Service/Analytics/RemarketingAudienceAudienceDefinition.php new file mode 100644 index 00000000..0069e8c6 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Analytics/RemarketingAudienceAudienceDefinition.php @@ -0,0 +1,31 @@ +includeConditions = $includeConditions; + } + public function getIncludeConditions() + { + return $this->includeConditions; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Analytics/RemarketingAudienceStateBasedAudienceDefinition.php b/vendor/google/apiclient-services/src/Google/Service/Analytics/RemarketingAudienceStateBasedAudienceDefinition.php new file mode 100644 index 00000000..3417d286 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Analytics/RemarketingAudienceStateBasedAudienceDefinition.php @@ -0,0 +1,41 @@ +excludeConditions = $excludeConditions; + } + public function getExcludeConditions() + { + return $this->excludeConditions; + } + public function setIncludeConditions(Google_Service_Analytics_IncludeConditions $includeConditions) + { + $this->includeConditions = $includeConditions; + } + public function getIncludeConditions() + { + return $this->includeConditions; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Analytics/RemarketingAudienceStateBasedAudienceDefinitionExcludeConditions.php b/vendor/google/apiclient-services/src/Google/Service/Analytics/RemarketingAudienceStateBasedAudienceDefinitionExcludeConditions.php new file mode 100644 index 00000000..f12f3f0d --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Analytics/RemarketingAudienceStateBasedAudienceDefinitionExcludeConditions.php @@ -0,0 +1,39 @@ +exclusionDuration = $exclusionDuration; + } + public function getExclusionDuration() + { + return $this->exclusionDuration; + } + public function setSegment($segment) + { + $this->segment = $segment; + } + public function getSegment() + { + return $this->segment; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Analytics/RemarketingAudiences.php b/vendor/google/apiclient-services/src/Google/Service/Analytics/RemarketingAudiences.php new file mode 100644 index 00000000..cfabe4da --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Analytics/RemarketingAudiences.php @@ -0,0 +1,95 @@ +items = $items; + } + public function getItems() + { + return $this->items; + } + public function setItemsPerPage($itemsPerPage) + { + $this->itemsPerPage = $itemsPerPage; + } + public function getItemsPerPage() + { + return $this->itemsPerPage; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextLink($nextLink) + { + $this->nextLink = $nextLink; + } + public function getNextLink() + { + return $this->nextLink; + } + public function setPreviousLink($previousLink) + { + $this->previousLink = $previousLink; + } + public function getPreviousLink() + { + return $this->previousLink; + } + public function setStartIndex($startIndex) + { + $this->startIndex = $startIndex; + } + public function getStartIndex() + { + return $this->startIndex; + } + public function setTotalResults($totalResults) + { + $this->totalResults = $totalResults; + } + public function getTotalResults() + { + return $this->totalResults; + } + public function setUsername($username) + { + $this->username = $username; + } + public function getUsername() + { + return $this->username; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Analytics/Resource/Data.php b/vendor/google/apiclient-services/src/Google/Service/Analytics/Resource/Data.php new file mode 100644 index 00000000..f2552067 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Analytics/Resource/Data.php @@ -0,0 +1,28 @@ + + * $analyticsService = new Google_Service_Analytics(...); + * $data = $analyticsService->data; + * + */ +class Google_Service_Analytics_Resource_Data extends Google_Service_Resource +{ +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Analytics/Resource/DataGa.php b/vendor/google/apiclient-services/src/Google/Service/Analytics/Resource/DataGa.php new file mode 100644 index 00000000..269f6960 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Analytics/Resource/DataGa.php @@ -0,0 +1,67 @@ + + * $analyticsService = new Google_Service_Analytics(...); + * $ga = $analyticsService->ga; + * + */ +class Google_Service_Analytics_Resource_DataGa extends Google_Service_Resource +{ + /** + * Returns Analytics data for a view (profile). (ga.get) + * + * @param string $ids Unique table ID for retrieving Analytics data. Table ID is + * of the form ga:XXXX, where XXXX is the Analytics view (profile) ID. + * @param string $startDate Start date for fetching Analytics data. Requests can + * specify a start date formatted as YYYY-MM-DD, or as a relative date (e.g., + * today, yesterday, or 7daysAgo). The default value is 7daysAgo. + * @param string $endDate End date for fetching Analytics data. Request can + * should specify an end date formatted as YYYY-MM-DD, or as a relative date + * (e.g., today, yesterday, or 7daysAgo). The default value is yesterday. + * @param string $metrics A comma-separated list of Analytics metrics. E.g., + * 'ga:sessions,ga:pageviews'. At least one metric must be specified. + * @param array $optParams Optional parameters. + * + * @opt_param string dimensions A comma-separated list of Analytics dimensions. + * E.g., 'ga:browser,ga:city'. + * @opt_param string filters A comma-separated list of dimension or metric + * filters to be applied to Analytics data. + * @opt_param bool include-empty-rows The response will include empty rows if + * this parameter is set to true, the default is true + * @opt_param int max-results The maximum number of entries to include in this + * feed. + * @opt_param string output The selected format for the response. Default format + * is JSON. + * @opt_param string samplingLevel The desired sampling level. + * @opt_param string segment An Analytics segment to be applied to data. + * @opt_param string sort A comma-separated list of dimensions or metrics that + * determine the sort order for Analytics data. + * @opt_param int start-index An index of the first entity to retrieve. Use this + * parameter as a pagination mechanism along with the max-results parameter. + * @return Google_Service_Analytics_GaData + */ + public function get($ids, $startDate, $endDate, $metrics, $optParams = array()) + { + $params = array('ids' => $ids, 'start-date' => $startDate, 'end-date' => $endDate, 'metrics' => $metrics); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Analytics_GaData"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Analytics/Resource/DataMcf.php b/vendor/google/apiclient-services/src/Google/Service/Analytics/Resource/DataMcf.php new file mode 100644 index 00000000..6a5e1685 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Analytics/Resource/DataMcf.php @@ -0,0 +1,63 @@ + + * $analyticsService = new Google_Service_Analytics(...); + * $mcf = $analyticsService->mcf; + * + */ +class Google_Service_Analytics_Resource_DataMcf extends Google_Service_Resource +{ + /** + * Returns Analytics Multi-Channel Funnels data for a view (profile). (mcf.get) + * + * @param string $ids Unique table ID for retrieving Analytics data. Table ID is + * of the form ga:XXXX, where XXXX is the Analytics view (profile) ID. + * @param string $startDate Start date for fetching Analytics data. Requests can + * specify a start date formatted as YYYY-MM-DD, or as a relative date (e.g., + * today, yesterday, or 7daysAgo). The default value is 7daysAgo. + * @param string $endDate End date for fetching Analytics data. Requests can + * specify a start date formatted as YYYY-MM-DD, or as a relative date (e.g., + * today, yesterday, or 7daysAgo). The default value is 7daysAgo. + * @param string $metrics A comma-separated list of Multi-Channel Funnels + * metrics. E.g., 'mcf:totalConversions,mcf:totalConversionValue'. At least one + * metric must be specified. + * @param array $optParams Optional parameters. + * + * @opt_param string dimensions A comma-separated list of Multi-Channel Funnels + * dimensions. E.g., 'mcf:source,mcf:medium'. + * @opt_param string filters A comma-separated list of dimension or metric + * filters to be applied to the Analytics data. + * @opt_param int max-results The maximum number of entries to include in this + * feed. + * @opt_param string samplingLevel The desired sampling level. + * @opt_param string sort A comma-separated list of dimensions or metrics that + * determine the sort order for the Analytics data. + * @opt_param int start-index An index of the first entity to retrieve. Use this + * parameter as a pagination mechanism along with the max-results parameter. + * @return Google_Service_Analytics_McfData + */ + public function get($ids, $startDate, $endDate, $metrics, $optParams = array()) + { + $params = array('ids' => $ids, 'start-date' => $startDate, 'end-date' => $endDate, 'metrics' => $metrics); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Analytics_McfData"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Analytics/Resource/DataRealtime.php b/vendor/google/apiclient-services/src/Google/Service/Analytics/Resource/DataRealtime.php new file mode 100644 index 00000000..4ea551d8 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Analytics/Resource/DataRealtime.php @@ -0,0 +1,53 @@ + + * $analyticsService = new Google_Service_Analytics(...); + * $realtime = $analyticsService->realtime; + * + */ +class Google_Service_Analytics_Resource_DataRealtime extends Google_Service_Resource +{ + /** + * Returns real time data for a view (profile). (realtime.get) + * + * @param string $ids Unique table ID for retrieving real time data. Table ID is + * of the form ga:XXXX, where XXXX is the Analytics view (profile) ID. + * @param string $metrics A comma-separated list of real time metrics. E.g., + * 'rt:activeUsers'. At least one metric must be specified. + * @param array $optParams Optional parameters. + * + * @opt_param string dimensions A comma-separated list of real time dimensions. + * E.g., 'rt:medium,rt:city'. + * @opt_param string filters A comma-separated list of dimension or metric + * filters to be applied to real time data. + * @opt_param int max-results The maximum number of entries to include in this + * feed. + * @opt_param string sort A comma-separated list of dimensions or metrics that + * determine the sort order for real time data. + * @return Google_Service_Analytics_RealtimeData + */ + public function get($ids, $metrics, $optParams = array()) + { + $params = array('ids' => $ids, 'metrics' => $metrics); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Analytics_RealtimeData"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Analytics/Resource/Management.php b/vendor/google/apiclient-services/src/Google/Service/Analytics/Resource/Management.php new file mode 100644 index 00000000..66c2905d --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Analytics/Resource/Management.php @@ -0,0 +1,28 @@ + + * $analyticsService = new Google_Service_Analytics(...); + * $management = $analyticsService->management; + * + */ +class Google_Service_Analytics_Resource_Management extends Google_Service_Resource +{ +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Analytics/Resource/ManagementAccountSummaries.php b/vendor/google/apiclient-services/src/Google/Service/Analytics/Resource/ManagementAccountSummaries.php new file mode 100644 index 00000000..cfb29396 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Analytics/Resource/ManagementAccountSummaries.php @@ -0,0 +1,47 @@ + + * $analyticsService = new Google_Service_Analytics(...); + * $accountSummaries = $analyticsService->accountSummaries; + * + */ +class Google_Service_Analytics_Resource_ManagementAccountSummaries extends Google_Service_Resource +{ + /** + * Lists account summaries (lightweight tree comprised of + * accounts/properties/profiles) to which the user has access. + * (accountSummaries.listManagementAccountSummaries) + * + * @param array $optParams Optional parameters. + * + * @opt_param int max-results The maximum number of account summaries to include + * in this response, where the largest acceptable value is 1000. + * @opt_param int start-index An index of the first entity to retrieve. Use this + * parameter as a pagination mechanism along with the max-results parameter. + * @return Google_Service_Analytics_AccountSummaries + */ + public function listManagementAccountSummaries($optParams = array()) + { + $params = array(); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Analytics_AccountSummaries"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Analytics/Resource/ManagementAccountUserLinks.php b/vendor/google/apiclient-services/src/Google/Service/Analytics/Resource/ManagementAccountUserLinks.php new file mode 100644 index 00000000..12baeda4 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Analytics/Resource/ManagementAccountUserLinks.php @@ -0,0 +1,91 @@ + + * $analyticsService = new Google_Service_Analytics(...); + * $accountUserLinks = $analyticsService->accountUserLinks; + * + */ +class Google_Service_Analytics_Resource_ManagementAccountUserLinks extends Google_Service_Resource +{ + /** + * Removes a user from the given account. (accountUserLinks.delete) + * + * @param string $accountId Account ID to delete the user link for. + * @param string $linkId Link ID to delete the user link for. + * @param array $optParams Optional parameters. + */ + public function delete($accountId, $linkId, $optParams = array()) + { + $params = array('accountId' => $accountId, 'linkId' => $linkId); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params)); + } + /** + * Adds a new user to the given account. (accountUserLinks.insert) + * + * @param string $accountId Account ID to create the user link for. + * @param Google_Service_Analytics_EntityUserLink $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Analytics_EntityUserLink + */ + public function insert($accountId, Google_Service_Analytics_EntityUserLink $postBody, $optParams = array()) + { + $params = array('accountId' => $accountId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('insert', array($params), "Google_Service_Analytics_EntityUserLink"); + } + /** + * Lists account-user links for a given account. + * (accountUserLinks.listManagementAccountUserLinks) + * + * @param string $accountId Account ID to retrieve the user links for. + * @param array $optParams Optional parameters. + * + * @opt_param int max-results The maximum number of account-user links to + * include in this response. + * @opt_param int start-index An index of the first account-user link to + * retrieve. Use this parameter as a pagination mechanism along with the max- + * results parameter. + * @return Google_Service_Analytics_EntityUserLinks + */ + public function listManagementAccountUserLinks($accountId, $optParams = array()) + { + $params = array('accountId' => $accountId); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Analytics_EntityUserLinks"); + } + /** + * Updates permissions for an existing user on the given account. + * (accountUserLinks.update) + * + * @param string $accountId Account ID to update the account-user link for. + * @param string $linkId Link ID to update the account-user link for. + * @param Google_Service_Analytics_EntityUserLink $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Analytics_EntityUserLink + */ + public function update($accountId, $linkId, Google_Service_Analytics_EntityUserLink $postBody, $optParams = array()) + { + $params = array('accountId' => $accountId, 'linkId' => $linkId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('update', array($params), "Google_Service_Analytics_EntityUserLink"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Analytics/Resource/ManagementAccounts.php b/vendor/google/apiclient-services/src/Google/Service/Analytics/Resource/ManagementAccounts.php new file mode 100644 index 00000000..9a6a1daa --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Analytics/Resource/ManagementAccounts.php @@ -0,0 +1,47 @@ + + * $analyticsService = new Google_Service_Analytics(...); + * $accounts = $analyticsService->accounts; + * + */ +class Google_Service_Analytics_Resource_ManagementAccounts extends Google_Service_Resource +{ + /** + * Lists all accounts to which the user has access. + * (accounts.listManagementAccounts) + * + * @param array $optParams Optional parameters. + * + * @opt_param int max-results The maximum number of accounts to include in this + * response. + * @opt_param int start-index An index of the first account to retrieve. Use + * this parameter as a pagination mechanism along with the max-results + * parameter. + * @return Google_Service_Analytics_Accounts + */ + public function listManagementAccounts($optParams = array()) + { + $params = array(); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Analytics_Accounts"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Analytics/Resource/ManagementCustomDataSources.php b/vendor/google/apiclient-services/src/Google/Service/Analytics/Resource/ManagementCustomDataSources.php new file mode 100644 index 00000000..d45ba9ed --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Analytics/Resource/ManagementCustomDataSources.php @@ -0,0 +1,50 @@ + + * $analyticsService = new Google_Service_Analytics(...); + * $customDataSources = $analyticsService->customDataSources; + * + */ +class Google_Service_Analytics_Resource_ManagementCustomDataSources extends Google_Service_Resource +{ + /** + * List custom data sources to which the user has access. + * (customDataSources.listManagementCustomDataSources) + * + * @param string $accountId Account Id for the custom data sources to retrieve. + * @param string $webPropertyId Web property Id for the custom data sources to + * retrieve. + * @param array $optParams Optional parameters. + * + * @opt_param int max-results The maximum number of custom data sources to + * include in this response. + * @opt_param int start-index A 1-based index of the first custom data source to + * retrieve. Use this parameter as a pagination mechanism along with the max- + * results parameter. + * @return Google_Service_Analytics_CustomDataSources + */ + public function listManagementCustomDataSources($accountId, $webPropertyId, $optParams = array()) + { + $params = array('accountId' => $accountId, 'webPropertyId' => $webPropertyId); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Analytics_CustomDataSources"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Analytics/Resource/ManagementCustomDimensions.php b/vendor/google/apiclient-services/src/Google/Service/Analytics/Resource/ManagementCustomDimensions.php new file mode 100644 index 00000000..bb430adb --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Analytics/Resource/ManagementCustomDimensions.php @@ -0,0 +1,126 @@ + + * $analyticsService = new Google_Service_Analytics(...); + * $customDimensions = $analyticsService->customDimensions; + * + */ +class Google_Service_Analytics_Resource_ManagementCustomDimensions extends Google_Service_Resource +{ + /** + * Get a custom dimension to which the user has access. (customDimensions.get) + * + * @param string $accountId Account ID for the custom dimension to retrieve. + * @param string $webPropertyId Web property ID for the custom dimension to + * retrieve. + * @param string $customDimensionId The ID of the custom dimension to retrieve. + * @param array $optParams Optional parameters. + * @return Google_Service_Analytics_CustomDimension + */ + public function get($accountId, $webPropertyId, $customDimensionId, $optParams = array()) + { + $params = array('accountId' => $accountId, 'webPropertyId' => $webPropertyId, 'customDimensionId' => $customDimensionId); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Analytics_CustomDimension"); + } + /** + * Create a new custom dimension. (customDimensions.insert) + * + * @param string $accountId Account ID for the custom dimension to create. + * @param string $webPropertyId Web property ID for the custom dimension to + * create. + * @param Google_Service_Analytics_CustomDimension $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Analytics_CustomDimension + */ + public function insert($accountId, $webPropertyId, Google_Service_Analytics_CustomDimension $postBody, $optParams = array()) + { + $params = array('accountId' => $accountId, 'webPropertyId' => $webPropertyId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('insert', array($params), "Google_Service_Analytics_CustomDimension"); + } + /** + * Lists custom dimensions to which the user has access. + * (customDimensions.listManagementCustomDimensions) + * + * @param string $accountId Account ID for the custom dimensions to retrieve. + * @param string $webPropertyId Web property ID for the custom dimensions to + * retrieve. + * @param array $optParams Optional parameters. + * + * @opt_param int max-results The maximum number of custom dimensions to include + * in this response. + * @opt_param int start-index An index of the first entity to retrieve. Use this + * parameter as a pagination mechanism along with the max-results parameter. + * @return Google_Service_Analytics_CustomDimensions + */ + public function listManagementCustomDimensions($accountId, $webPropertyId, $optParams = array()) + { + $params = array('accountId' => $accountId, 'webPropertyId' => $webPropertyId); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Analytics_CustomDimensions"); + } + /** + * Updates an existing custom dimension. This method supports patch semantics. + * (customDimensions.patch) + * + * @param string $accountId Account ID for the custom dimension to update. + * @param string $webPropertyId Web property ID for the custom dimension to + * update. + * @param string $customDimensionId Custom dimension ID for the custom dimension + * to update. + * @param Google_Service_Analytics_CustomDimension $postBody + * @param array $optParams Optional parameters. + * + * @opt_param bool ignoreCustomDataSourceLinks Force the update and ignore any + * warnings related to the custom dimension being linked to a custom data source + * / data set. + * @return Google_Service_Analytics_CustomDimension + */ + public function patch($accountId, $webPropertyId, $customDimensionId, Google_Service_Analytics_CustomDimension $postBody, $optParams = array()) + { + $params = array('accountId' => $accountId, 'webPropertyId' => $webPropertyId, 'customDimensionId' => $customDimensionId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('patch', array($params), "Google_Service_Analytics_CustomDimension"); + } + /** + * Updates an existing custom dimension. (customDimensions.update) + * + * @param string $accountId Account ID for the custom dimension to update. + * @param string $webPropertyId Web property ID for the custom dimension to + * update. + * @param string $customDimensionId Custom dimension ID for the custom dimension + * to update. + * @param Google_Service_Analytics_CustomDimension $postBody + * @param array $optParams Optional parameters. + * + * @opt_param bool ignoreCustomDataSourceLinks Force the update and ignore any + * warnings related to the custom dimension being linked to a custom data source + * / data set. + * @return Google_Service_Analytics_CustomDimension + */ + public function update($accountId, $webPropertyId, $customDimensionId, Google_Service_Analytics_CustomDimension $postBody, $optParams = array()) + { + $params = array('accountId' => $accountId, 'webPropertyId' => $webPropertyId, 'customDimensionId' => $customDimensionId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('update', array($params), "Google_Service_Analytics_CustomDimension"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Analytics/Resource/ManagementCustomMetrics.php b/vendor/google/apiclient-services/src/Google/Service/Analytics/Resource/ManagementCustomMetrics.php new file mode 100644 index 00000000..3186f63c --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Analytics/Resource/ManagementCustomMetrics.php @@ -0,0 +1,124 @@ + + * $analyticsService = new Google_Service_Analytics(...); + * $customMetrics = $analyticsService->customMetrics; + * + */ +class Google_Service_Analytics_Resource_ManagementCustomMetrics extends Google_Service_Resource +{ + /** + * Get a custom metric to which the user has access. (customMetrics.get) + * + * @param string $accountId Account ID for the custom metric to retrieve. + * @param string $webPropertyId Web property ID for the custom metric to + * retrieve. + * @param string $customMetricId The ID of the custom metric to retrieve. + * @param array $optParams Optional parameters. + * @return Google_Service_Analytics_CustomMetric + */ + public function get($accountId, $webPropertyId, $customMetricId, $optParams = array()) + { + $params = array('accountId' => $accountId, 'webPropertyId' => $webPropertyId, 'customMetricId' => $customMetricId); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Analytics_CustomMetric"); + } + /** + * Create a new custom metric. (customMetrics.insert) + * + * @param string $accountId Account ID for the custom metric to create. + * @param string $webPropertyId Web property ID for the custom dimension to + * create. + * @param Google_Service_Analytics_CustomMetric $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Analytics_CustomMetric + */ + public function insert($accountId, $webPropertyId, Google_Service_Analytics_CustomMetric $postBody, $optParams = array()) + { + $params = array('accountId' => $accountId, 'webPropertyId' => $webPropertyId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('insert', array($params), "Google_Service_Analytics_CustomMetric"); + } + /** + * Lists custom metrics to which the user has access. + * (customMetrics.listManagementCustomMetrics) + * + * @param string $accountId Account ID for the custom metrics to retrieve. + * @param string $webPropertyId Web property ID for the custom metrics to + * retrieve. + * @param array $optParams Optional parameters. + * + * @opt_param int max-results The maximum number of custom metrics to include in + * this response. + * @opt_param int start-index An index of the first entity to retrieve. Use this + * parameter as a pagination mechanism along with the max-results parameter. + * @return Google_Service_Analytics_CustomMetrics + */ + public function listManagementCustomMetrics($accountId, $webPropertyId, $optParams = array()) + { + $params = array('accountId' => $accountId, 'webPropertyId' => $webPropertyId); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Analytics_CustomMetrics"); + } + /** + * Updates an existing custom metric. This method supports patch semantics. + * (customMetrics.patch) + * + * @param string $accountId Account ID for the custom metric to update. + * @param string $webPropertyId Web property ID for the custom metric to update. + * @param string $customMetricId Custom metric ID for the custom metric to + * update. + * @param Google_Service_Analytics_CustomMetric $postBody + * @param array $optParams Optional parameters. + * + * @opt_param bool ignoreCustomDataSourceLinks Force the update and ignore any + * warnings related to the custom metric being linked to a custom data source / + * data set. + * @return Google_Service_Analytics_CustomMetric + */ + public function patch($accountId, $webPropertyId, $customMetricId, Google_Service_Analytics_CustomMetric $postBody, $optParams = array()) + { + $params = array('accountId' => $accountId, 'webPropertyId' => $webPropertyId, 'customMetricId' => $customMetricId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('patch', array($params), "Google_Service_Analytics_CustomMetric"); + } + /** + * Updates an existing custom metric. (customMetrics.update) + * + * @param string $accountId Account ID for the custom metric to update. + * @param string $webPropertyId Web property ID for the custom metric to update. + * @param string $customMetricId Custom metric ID for the custom metric to + * update. + * @param Google_Service_Analytics_CustomMetric $postBody + * @param array $optParams Optional parameters. + * + * @opt_param bool ignoreCustomDataSourceLinks Force the update and ignore any + * warnings related to the custom metric being linked to a custom data source / + * data set. + * @return Google_Service_Analytics_CustomMetric + */ + public function update($accountId, $webPropertyId, $customMetricId, Google_Service_Analytics_CustomMetric $postBody, $optParams = array()) + { + $params = array('accountId' => $accountId, 'webPropertyId' => $webPropertyId, 'customMetricId' => $customMetricId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('update', array($params), "Google_Service_Analytics_CustomMetric"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Analytics/Resource/ManagementExperiments.php b/vendor/google/apiclient-services/src/Google/Service/Analytics/Resource/ManagementExperiments.php new file mode 100644 index 00000000..24053c7f --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Analytics/Resource/ManagementExperiments.php @@ -0,0 +1,132 @@ + + * $analyticsService = new Google_Service_Analytics(...); + * $experiments = $analyticsService->experiments; + * + */ +class Google_Service_Analytics_Resource_ManagementExperiments extends Google_Service_Resource +{ + /** + * Delete an experiment. (experiments.delete) + * + * @param string $accountId Account ID to which the experiment belongs + * @param string $webPropertyId Web property ID to which the experiment belongs + * @param string $profileId View (Profile) ID to which the experiment belongs + * @param string $experimentId ID of the experiment to delete + * @param array $optParams Optional parameters. + */ + public function delete($accountId, $webPropertyId, $profileId, $experimentId, $optParams = array()) + { + $params = array('accountId' => $accountId, 'webPropertyId' => $webPropertyId, 'profileId' => $profileId, 'experimentId' => $experimentId); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params)); + } + /** + * Returns an experiment to which the user has access. (experiments.get) + * + * @param string $accountId Account ID to retrieve the experiment for. + * @param string $webPropertyId Web property ID to retrieve the experiment for. + * @param string $profileId View (Profile) ID to retrieve the experiment for. + * @param string $experimentId Experiment ID to retrieve the experiment for. + * @param array $optParams Optional parameters. + * @return Google_Service_Analytics_Experiment + */ + public function get($accountId, $webPropertyId, $profileId, $experimentId, $optParams = array()) + { + $params = array('accountId' => $accountId, 'webPropertyId' => $webPropertyId, 'profileId' => $profileId, 'experimentId' => $experimentId); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Analytics_Experiment"); + } + /** + * Create a new experiment. (experiments.insert) + * + * @param string $accountId Account ID to create the experiment for. + * @param string $webPropertyId Web property ID to create the experiment for. + * @param string $profileId View (Profile) ID to create the experiment for. + * @param Google_Service_Analytics_Experiment $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Analytics_Experiment + */ + public function insert($accountId, $webPropertyId, $profileId, Google_Service_Analytics_Experiment $postBody, $optParams = array()) + { + $params = array('accountId' => $accountId, 'webPropertyId' => $webPropertyId, 'profileId' => $profileId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('insert', array($params), "Google_Service_Analytics_Experiment"); + } + /** + * Lists experiments to which the user has access. + * (experiments.listManagementExperiments) + * + * @param string $accountId Account ID to retrieve experiments for. + * @param string $webPropertyId Web property ID to retrieve experiments for. + * @param string $profileId View (Profile) ID to retrieve experiments for. + * @param array $optParams Optional parameters. + * + * @opt_param int max-results The maximum number of experiments to include in + * this response. + * @opt_param int start-index An index of the first experiment to retrieve. Use + * this parameter as a pagination mechanism along with the max-results + * parameter. + * @return Google_Service_Analytics_Experiments + */ + public function listManagementExperiments($accountId, $webPropertyId, $profileId, $optParams = array()) + { + $params = array('accountId' => $accountId, 'webPropertyId' => $webPropertyId, 'profileId' => $profileId); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Analytics_Experiments"); + } + /** + * Update an existing experiment. This method supports patch semantics. + * (experiments.patch) + * + * @param string $accountId Account ID of the experiment to update. + * @param string $webPropertyId Web property ID of the experiment to update. + * @param string $profileId View (Profile) ID of the experiment to update. + * @param string $experimentId Experiment ID of the experiment to update. + * @param Google_Service_Analytics_Experiment $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Analytics_Experiment + */ + public function patch($accountId, $webPropertyId, $profileId, $experimentId, Google_Service_Analytics_Experiment $postBody, $optParams = array()) + { + $params = array('accountId' => $accountId, 'webPropertyId' => $webPropertyId, 'profileId' => $profileId, 'experimentId' => $experimentId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('patch', array($params), "Google_Service_Analytics_Experiment"); + } + /** + * Update an existing experiment. (experiments.update) + * + * @param string $accountId Account ID of the experiment to update. + * @param string $webPropertyId Web property ID of the experiment to update. + * @param string $profileId View (Profile) ID of the experiment to update. + * @param string $experimentId Experiment ID of the experiment to update. + * @param Google_Service_Analytics_Experiment $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Analytics_Experiment + */ + public function update($accountId, $webPropertyId, $profileId, $experimentId, Google_Service_Analytics_Experiment $postBody, $optParams = array()) + { + $params = array('accountId' => $accountId, 'webPropertyId' => $webPropertyId, 'profileId' => $profileId, 'experimentId' => $experimentId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('update', array($params), "Google_Service_Analytics_Experiment"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Analytics/Resource/ManagementFilters.php b/vendor/google/apiclient-services/src/Google/Service/Analytics/Resource/ManagementFilters.php new file mode 100644 index 00000000..cc0355bb --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Analytics/Resource/ManagementFilters.php @@ -0,0 +1,119 @@ + + * $analyticsService = new Google_Service_Analytics(...); + * $filters = $analyticsService->filters; + * + */ +class Google_Service_Analytics_Resource_ManagementFilters extends Google_Service_Resource +{ + /** + * Delete a filter. (filters.delete) + * + * @param string $accountId Account ID to delete the filter for. + * @param string $filterId ID of the filter to be deleted. + * @param array $optParams Optional parameters. + * @return Google_Service_Analytics_Filter + */ + public function delete($accountId, $filterId, $optParams = array()) + { + $params = array('accountId' => $accountId, 'filterId' => $filterId); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params), "Google_Service_Analytics_Filter"); + } + /** + * Returns a filters to which the user has access. (filters.get) + * + * @param string $accountId Account ID to retrieve filters for. + * @param string $filterId Filter ID to retrieve filters for. + * @param array $optParams Optional parameters. + * @return Google_Service_Analytics_Filter + */ + public function get($accountId, $filterId, $optParams = array()) + { + $params = array('accountId' => $accountId, 'filterId' => $filterId); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Analytics_Filter"); + } + /** + * Create a new filter. (filters.insert) + * + * @param string $accountId Account ID to create filter for. + * @param Google_Service_Analytics_Filter $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Analytics_Filter + */ + public function insert($accountId, Google_Service_Analytics_Filter $postBody, $optParams = array()) + { + $params = array('accountId' => $accountId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('insert', array($params), "Google_Service_Analytics_Filter"); + } + /** + * Lists all filters for an account (filters.listManagementFilters) + * + * @param string $accountId Account ID to retrieve filters for. + * @param array $optParams Optional parameters. + * + * @opt_param int max-results The maximum number of filters to include in this + * response. + * @opt_param int start-index An index of the first entity to retrieve. Use this + * parameter as a pagination mechanism along with the max-results parameter. + * @return Google_Service_Analytics_Filters + */ + public function listManagementFilters($accountId, $optParams = array()) + { + $params = array('accountId' => $accountId); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Analytics_Filters"); + } + /** + * Updates an existing filter. This method supports patch semantics. + * (filters.patch) + * + * @param string $accountId Account ID to which the filter belongs. + * @param string $filterId ID of the filter to be updated. + * @param Google_Service_Analytics_Filter $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Analytics_Filter + */ + public function patch($accountId, $filterId, Google_Service_Analytics_Filter $postBody, $optParams = array()) + { + $params = array('accountId' => $accountId, 'filterId' => $filterId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('patch', array($params), "Google_Service_Analytics_Filter"); + } + /** + * Updates an existing filter. (filters.update) + * + * @param string $accountId Account ID to which the filter belongs. + * @param string $filterId ID of the filter to be updated. + * @param Google_Service_Analytics_Filter $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Analytics_Filter + */ + public function update($accountId, $filterId, Google_Service_Analytics_Filter $postBody, $optParams = array()) + { + $params = array('accountId' => $accountId, 'filterId' => $filterId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('update', array($params), "Google_Service_Analytics_Filter"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Analytics/Resource/ManagementGoals.php b/vendor/google/apiclient-services/src/Google/Service/Analytics/Resource/ManagementGoals.php new file mode 100644 index 00000000..0943b5c2 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Analytics/Resource/ManagementGoals.php @@ -0,0 +1,120 @@ + + * $analyticsService = new Google_Service_Analytics(...); + * $goals = $analyticsService->goals; + * + */ +class Google_Service_Analytics_Resource_ManagementGoals extends Google_Service_Resource +{ + /** + * Gets a goal to which the user has access. (goals.get) + * + * @param string $accountId Account ID to retrieve the goal for. + * @param string $webPropertyId Web property ID to retrieve the goal for. + * @param string $profileId View (Profile) ID to retrieve the goal for. + * @param string $goalId Goal ID to retrieve the goal for. + * @param array $optParams Optional parameters. + * @return Google_Service_Analytics_Goal + */ + public function get($accountId, $webPropertyId, $profileId, $goalId, $optParams = array()) + { + $params = array('accountId' => $accountId, 'webPropertyId' => $webPropertyId, 'profileId' => $profileId, 'goalId' => $goalId); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Analytics_Goal"); + } + /** + * Create a new goal. (goals.insert) + * + * @param string $accountId Account ID to create the goal for. + * @param string $webPropertyId Web property ID to create the goal for. + * @param string $profileId View (Profile) ID to create the goal for. + * @param Google_Service_Analytics_Goal $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Analytics_Goal + */ + public function insert($accountId, $webPropertyId, $profileId, Google_Service_Analytics_Goal $postBody, $optParams = array()) + { + $params = array('accountId' => $accountId, 'webPropertyId' => $webPropertyId, 'profileId' => $profileId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('insert', array($params), "Google_Service_Analytics_Goal"); + } + /** + * Lists goals to which the user has access. (goals.listManagementGoals) + * + * @param string $accountId Account ID to retrieve goals for. Can either be a + * specific account ID or '~all', which refers to all the accounts that user has + * access to. + * @param string $webPropertyId Web property ID to retrieve goals for. Can + * either be a specific web property ID or '~all', which refers to all the web + * properties that user has access to. + * @param string $profileId View (Profile) ID to retrieve goals for. Can either + * be a specific view (profile) ID or '~all', which refers to all the views + * (profiles) that user has access to. + * @param array $optParams Optional parameters. + * + * @opt_param int max-results The maximum number of goals to include in this + * response. + * @opt_param int start-index An index of the first goal to retrieve. Use this + * parameter as a pagination mechanism along with the max-results parameter. + * @return Google_Service_Analytics_Goals + */ + public function listManagementGoals($accountId, $webPropertyId, $profileId, $optParams = array()) + { + $params = array('accountId' => $accountId, 'webPropertyId' => $webPropertyId, 'profileId' => $profileId); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Analytics_Goals"); + } + /** + * Updates an existing goal. This method supports patch semantics. (goals.patch) + * + * @param string $accountId Account ID to update the goal. + * @param string $webPropertyId Web property ID to update the goal. + * @param string $profileId View (Profile) ID to update the goal. + * @param string $goalId Index of the goal to be updated. + * @param Google_Service_Analytics_Goal $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Analytics_Goal + */ + public function patch($accountId, $webPropertyId, $profileId, $goalId, Google_Service_Analytics_Goal $postBody, $optParams = array()) + { + $params = array('accountId' => $accountId, 'webPropertyId' => $webPropertyId, 'profileId' => $profileId, 'goalId' => $goalId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('patch', array($params), "Google_Service_Analytics_Goal"); + } + /** + * Updates an existing goal. (goals.update) + * + * @param string $accountId Account ID to update the goal. + * @param string $webPropertyId Web property ID to update the goal. + * @param string $profileId View (Profile) ID to update the goal. + * @param string $goalId Index of the goal to be updated. + * @param Google_Service_Analytics_Goal $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Analytics_Goal + */ + public function update($accountId, $webPropertyId, $profileId, $goalId, Google_Service_Analytics_Goal $postBody, $optParams = array()) + { + $params = array('accountId' => $accountId, 'webPropertyId' => $webPropertyId, 'profileId' => $profileId, 'goalId' => $goalId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('update', array($params), "Google_Service_Analytics_Goal"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Analytics/Resource/ManagementProfileFilterLinks.php b/vendor/google/apiclient-services/src/Google/Service/Analytics/Resource/ManagementProfileFilterLinks.php new file mode 100644 index 00000000..acb6f7e9 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Analytics/Resource/ManagementProfileFilterLinks.php @@ -0,0 +1,140 @@ + + * $analyticsService = new Google_Service_Analytics(...); + * $profileFilterLinks = $analyticsService->profileFilterLinks; + * + */ +class Google_Service_Analytics_Resource_ManagementProfileFilterLinks extends Google_Service_Resource +{ + /** + * Delete a profile filter link. (profileFilterLinks.delete) + * + * @param string $accountId Account ID to which the profile filter link belongs. + * @param string $webPropertyId Web property Id to which the profile filter link + * belongs. + * @param string $profileId Profile ID to which the filter link belongs. + * @param string $linkId ID of the profile filter link to delete. + * @param array $optParams Optional parameters. + */ + public function delete($accountId, $webPropertyId, $profileId, $linkId, $optParams = array()) + { + $params = array('accountId' => $accountId, 'webPropertyId' => $webPropertyId, 'profileId' => $profileId, 'linkId' => $linkId); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params)); + } + /** + * Returns a single profile filter link. (profileFilterLinks.get) + * + * @param string $accountId Account ID to retrieve profile filter link for. + * @param string $webPropertyId Web property Id to retrieve profile filter link + * for. + * @param string $profileId Profile ID to retrieve filter link for. + * @param string $linkId ID of the profile filter link. + * @param array $optParams Optional parameters. + * @return Google_Service_Analytics_ProfileFilterLink + */ + public function get($accountId, $webPropertyId, $profileId, $linkId, $optParams = array()) + { + $params = array('accountId' => $accountId, 'webPropertyId' => $webPropertyId, 'profileId' => $profileId, 'linkId' => $linkId); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Analytics_ProfileFilterLink"); + } + /** + * Create a new profile filter link. (profileFilterLinks.insert) + * + * @param string $accountId Account ID to create profile filter link for. + * @param string $webPropertyId Web property Id to create profile filter link + * for. + * @param string $profileId Profile ID to create filter link for. + * @param Google_Service_Analytics_ProfileFilterLink $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Analytics_ProfileFilterLink + */ + public function insert($accountId, $webPropertyId, $profileId, Google_Service_Analytics_ProfileFilterLink $postBody, $optParams = array()) + { + $params = array('accountId' => $accountId, 'webPropertyId' => $webPropertyId, 'profileId' => $profileId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('insert', array($params), "Google_Service_Analytics_ProfileFilterLink"); + } + /** + * Lists all profile filter links for a profile. + * (profileFilterLinks.listManagementProfileFilterLinks) + * + * @param string $accountId Account ID to retrieve profile filter links for. + * @param string $webPropertyId Web property Id for profile filter links for. + * Can either be a specific web property ID or '~all', which refers to all the + * web properties that user has access to. + * @param string $profileId Profile ID to retrieve filter links for. Can either + * be a specific profile ID or '~all', which refers to all the profiles that + * user has access to. + * @param array $optParams Optional parameters. + * + * @opt_param int max-results The maximum number of profile filter links to + * include in this response. + * @opt_param int start-index An index of the first entity to retrieve. Use this + * parameter as a pagination mechanism along with the max-results parameter. + * @return Google_Service_Analytics_ProfileFilterLinks + */ + public function listManagementProfileFilterLinks($accountId, $webPropertyId, $profileId, $optParams = array()) + { + $params = array('accountId' => $accountId, 'webPropertyId' => $webPropertyId, 'profileId' => $profileId); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Analytics_ProfileFilterLinks"); + } + /** + * Update an existing profile filter link. This method supports patch semantics. + * (profileFilterLinks.patch) + * + * @param string $accountId Account ID to which profile filter link belongs. + * @param string $webPropertyId Web property Id to which profile filter link + * belongs + * @param string $profileId Profile ID to which filter link belongs + * @param string $linkId ID of the profile filter link to be updated. + * @param Google_Service_Analytics_ProfileFilterLink $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Analytics_ProfileFilterLink + */ + public function patch($accountId, $webPropertyId, $profileId, $linkId, Google_Service_Analytics_ProfileFilterLink $postBody, $optParams = array()) + { + $params = array('accountId' => $accountId, 'webPropertyId' => $webPropertyId, 'profileId' => $profileId, 'linkId' => $linkId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('patch', array($params), "Google_Service_Analytics_ProfileFilterLink"); + } + /** + * Update an existing profile filter link. (profileFilterLinks.update) + * + * @param string $accountId Account ID to which profile filter link belongs. + * @param string $webPropertyId Web property Id to which profile filter link + * belongs + * @param string $profileId Profile ID to which filter link belongs + * @param string $linkId ID of the profile filter link to be updated. + * @param Google_Service_Analytics_ProfileFilterLink $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Analytics_ProfileFilterLink + */ + public function update($accountId, $webPropertyId, $profileId, $linkId, Google_Service_Analytics_ProfileFilterLink $postBody, $optParams = array()) + { + $params = array('accountId' => $accountId, 'webPropertyId' => $webPropertyId, 'profileId' => $profileId, 'linkId' => $linkId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('update', array($params), "Google_Service_Analytics_ProfileFilterLink"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Analytics/Resource/ManagementProfileUserLinks.php b/vendor/google/apiclient-services/src/Google/Service/Analytics/Resource/ManagementProfileUserLinks.php new file mode 100644 index 00000000..97d6a097 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Analytics/Resource/ManagementProfileUserLinks.php @@ -0,0 +1,104 @@ + + * $analyticsService = new Google_Service_Analytics(...); + * $profileUserLinks = $analyticsService->profileUserLinks; + * + */ +class Google_Service_Analytics_Resource_ManagementProfileUserLinks extends Google_Service_Resource +{ + /** + * Removes a user from the given view (profile). (profileUserLinks.delete) + * + * @param string $accountId Account ID to delete the user link for. + * @param string $webPropertyId Web Property ID to delete the user link for. + * @param string $profileId View (Profile) ID to delete the user link for. + * @param string $linkId Link ID to delete the user link for. + * @param array $optParams Optional parameters. + */ + public function delete($accountId, $webPropertyId, $profileId, $linkId, $optParams = array()) + { + $params = array('accountId' => $accountId, 'webPropertyId' => $webPropertyId, 'profileId' => $profileId, 'linkId' => $linkId); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params)); + } + /** + * Adds a new user to the given view (profile). (profileUserLinks.insert) + * + * @param string $accountId Account ID to create the user link for. + * @param string $webPropertyId Web Property ID to create the user link for. + * @param string $profileId View (Profile) ID to create the user link for. + * @param Google_Service_Analytics_EntityUserLink $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Analytics_EntityUserLink + */ + public function insert($accountId, $webPropertyId, $profileId, Google_Service_Analytics_EntityUserLink $postBody, $optParams = array()) + { + $params = array('accountId' => $accountId, 'webPropertyId' => $webPropertyId, 'profileId' => $profileId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('insert', array($params), "Google_Service_Analytics_EntityUserLink"); + } + /** + * Lists profile-user links for a given view (profile). + * (profileUserLinks.listManagementProfileUserLinks) + * + * @param string $accountId Account ID which the given view (profile) belongs + * to. + * @param string $webPropertyId Web Property ID which the given view (profile) + * belongs to. Can either be a specific web property ID or '~all', which refers + * to all the web properties that user has access to. + * @param string $profileId View (Profile) ID to retrieve the profile-user links + * for. Can either be a specific profile ID or '~all', which refers to all the + * profiles that user has access to. + * @param array $optParams Optional parameters. + * + * @opt_param int max-results The maximum number of profile-user links to + * include in this response. + * @opt_param int start-index An index of the first profile-user link to + * retrieve. Use this parameter as a pagination mechanism along with the max- + * results parameter. + * @return Google_Service_Analytics_EntityUserLinks + */ + public function listManagementProfileUserLinks($accountId, $webPropertyId, $profileId, $optParams = array()) + { + $params = array('accountId' => $accountId, 'webPropertyId' => $webPropertyId, 'profileId' => $profileId); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Analytics_EntityUserLinks"); + } + /** + * Updates permissions for an existing user on the given view (profile). + * (profileUserLinks.update) + * + * @param string $accountId Account ID to update the user link for. + * @param string $webPropertyId Web Property ID to update the user link for. + * @param string $profileId View (Profile ID) to update the user link for. + * @param string $linkId Link ID to update the user link for. + * @param Google_Service_Analytics_EntityUserLink $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Analytics_EntityUserLink + */ + public function update($accountId, $webPropertyId, $profileId, $linkId, Google_Service_Analytics_EntityUserLink $postBody, $optParams = array()) + { + $params = array('accountId' => $accountId, 'webPropertyId' => $webPropertyId, 'profileId' => $profileId, 'linkId' => $linkId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('update', array($params), "Google_Service_Analytics_EntityUserLink"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Analytics/Resource/ManagementProfiles.php b/vendor/google/apiclient-services/src/Google/Service/Analytics/Resource/ManagementProfiles.php new file mode 100644 index 00000000..a72f0bcd --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Analytics/Resource/ManagementProfiles.php @@ -0,0 +1,135 @@ + + * $analyticsService = new Google_Service_Analytics(...); + * $profiles = $analyticsService->profiles; + * + */ +class Google_Service_Analytics_Resource_ManagementProfiles extends Google_Service_Resource +{ + /** + * Deletes a view (profile). (profiles.delete) + * + * @param string $accountId Account ID to delete the view (profile) for. + * @param string $webPropertyId Web property ID to delete the view (profile) + * for. + * @param string $profileId ID of the view (profile) to be deleted. + * @param array $optParams Optional parameters. + */ + public function delete($accountId, $webPropertyId, $profileId, $optParams = array()) + { + $params = array('accountId' => $accountId, 'webPropertyId' => $webPropertyId, 'profileId' => $profileId); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params)); + } + /** + * Gets a view (profile) to which the user has access. (profiles.get) + * + * @param string $accountId Account ID to retrieve the view (profile) for. + * @param string $webPropertyId Web property ID to retrieve the view (profile) + * for. + * @param string $profileId View (Profile) ID to retrieve the view (profile) + * for. + * @param array $optParams Optional parameters. + * @return Google_Service_Analytics_Profile + */ + public function get($accountId, $webPropertyId, $profileId, $optParams = array()) + { + $params = array('accountId' => $accountId, 'webPropertyId' => $webPropertyId, 'profileId' => $profileId); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Analytics_Profile"); + } + /** + * Create a new view (profile). (profiles.insert) + * + * @param string $accountId Account ID to create the view (profile) for. + * @param string $webPropertyId Web property ID to create the view (profile) + * for. + * @param Google_Service_Analytics_Profile $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Analytics_Profile + */ + public function insert($accountId, $webPropertyId, Google_Service_Analytics_Profile $postBody, $optParams = array()) + { + $params = array('accountId' => $accountId, 'webPropertyId' => $webPropertyId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('insert', array($params), "Google_Service_Analytics_Profile"); + } + /** + * Lists views (profiles) to which the user has access. + * (profiles.listManagementProfiles) + * + * @param string $accountId Account ID for the view (profiles) to retrieve. Can + * either be a specific account ID or '~all', which refers to all the accounts + * to which the user has access. + * @param string $webPropertyId Web property ID for the views (profiles) to + * retrieve. Can either be a specific web property ID or '~all', which refers to + * all the web properties to which the user has access. + * @param array $optParams Optional parameters. + * + * @opt_param int max-results The maximum number of views (profiles) to include + * in this response. + * @opt_param int start-index An index of the first entity to retrieve. Use this + * parameter as a pagination mechanism along with the max-results parameter. + * @return Google_Service_Analytics_Profiles + */ + public function listManagementProfiles($accountId, $webPropertyId, $optParams = array()) + { + $params = array('accountId' => $accountId, 'webPropertyId' => $webPropertyId); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Analytics_Profiles"); + } + /** + * Updates an existing view (profile). This method supports patch semantics. + * (profiles.patch) + * + * @param string $accountId Account ID to which the view (profile) belongs + * @param string $webPropertyId Web property ID to which the view (profile) + * belongs + * @param string $profileId ID of the view (profile) to be updated. + * @param Google_Service_Analytics_Profile $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Analytics_Profile + */ + public function patch($accountId, $webPropertyId, $profileId, Google_Service_Analytics_Profile $postBody, $optParams = array()) + { + $params = array('accountId' => $accountId, 'webPropertyId' => $webPropertyId, 'profileId' => $profileId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('patch', array($params), "Google_Service_Analytics_Profile"); + } + /** + * Updates an existing view (profile). (profiles.update) + * + * @param string $accountId Account ID to which the view (profile) belongs + * @param string $webPropertyId Web property ID to which the view (profile) + * belongs + * @param string $profileId ID of the view (profile) to be updated. + * @param Google_Service_Analytics_Profile $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Analytics_Profile + */ + public function update($accountId, $webPropertyId, $profileId, Google_Service_Analytics_Profile $postBody, $optParams = array()) + { + $params = array('accountId' => $accountId, 'webPropertyId' => $webPropertyId, 'profileId' => $profileId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('update', array($params), "Google_Service_Analytics_Profile"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Analytics/Resource/ManagementRemarketingAudience.php b/vendor/google/apiclient-services/src/Google/Service/Analytics/Resource/ManagementRemarketingAudience.php new file mode 100644 index 00000000..ad23bb92 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Analytics/Resource/ManagementRemarketingAudience.php @@ -0,0 +1,126 @@ + + * $analyticsService = new Google_Service_Analytics(...); + * $remarketingAudience = $analyticsService->remarketingAudience; + * + */ +class Google_Service_Analytics_Resource_ManagementRemarketingAudience extends Google_Service_Resource +{ + /** + * Gets a remarketing audience to which the user has access. + * (remarketingAudience.get) + * + * @param string $accountId The account ID of the remarketing audience to + * retrieve. + * @param string $webPropertyId The web property ID of the remarketing audience + * to retrieve. + * @param string $remarketingAudienceId The ID of the remarketing audience to + * retrieve. + * @param array $optParams Optional parameters. + * @return Google_Service_Analytics_RemarketingAudience + */ + public function get($accountId, $webPropertyId, $remarketingAudienceId, $optParams = array()) + { + $params = array('accountId' => $accountId, 'webPropertyId' => $webPropertyId, 'remarketingAudienceId' => $remarketingAudienceId); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Analytics_RemarketingAudience"); + } + /** + * Creates a new remarketing audience. (remarketingAudience.insert) + * + * @param string $accountId The account ID for which to create the remarketing + * audience. + * @param string $webPropertyId Web property ID for which to create the + * remarketing audience. + * @param Google_Service_Analytics_RemarketingAudience $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Analytics_RemarketingAudience + */ + public function insert($accountId, $webPropertyId, Google_Service_Analytics_RemarketingAudience $postBody, $optParams = array()) + { + $params = array('accountId' => $accountId, 'webPropertyId' => $webPropertyId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('insert', array($params), "Google_Service_Analytics_RemarketingAudience"); + } + /** + * Lists remarketing audiences to which the user has access. + * (remarketingAudience.listManagementRemarketingAudience) + * + * @param string $accountId The account ID of the remarketing audiences to + * retrieve. + * @param string $webPropertyId The web property ID of the remarketing audiences + * to retrieve. + * @param array $optParams Optional parameters. + * + * @opt_param int max-results The maximum number of remarketing audiences to + * include in this response. + * @opt_param int start-index An index of the first entity to retrieve. Use this + * parameter as a pagination mechanism along with the max-results parameter. + * @opt_param string type + * @return Google_Service_Analytics_RemarketingAudiences + */ + public function listManagementRemarketingAudience($accountId, $webPropertyId, $optParams = array()) + { + $params = array('accountId' => $accountId, 'webPropertyId' => $webPropertyId); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Analytics_RemarketingAudiences"); + } + /** + * Updates an existing remarketing audience. This method supports patch + * semantics. (remarketingAudience.patch) + * + * @param string $accountId The account ID of the remarketing audience to + * update. + * @param string $webPropertyId The web property ID of the remarketing audience + * to update. + * @param string $remarketingAudienceId The ID of the remarketing audience to + * update. + * @param Google_Service_Analytics_RemarketingAudience $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Analytics_RemarketingAudience + */ + public function patch($accountId, $webPropertyId, $remarketingAudienceId, Google_Service_Analytics_RemarketingAudience $postBody, $optParams = array()) + { + $params = array('accountId' => $accountId, 'webPropertyId' => $webPropertyId, 'remarketingAudienceId' => $remarketingAudienceId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('patch', array($params), "Google_Service_Analytics_RemarketingAudience"); + } + /** + * Updates an existing remarketing audience. (remarketingAudience.update) + * + * @param string $accountId The account ID of the remarketing audience to + * update. + * @param string $webPropertyId The web property ID of the remarketing audience + * to update. + * @param string $remarketingAudienceId The ID of the remarketing audience to + * update. + * @param Google_Service_Analytics_RemarketingAudience $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Analytics_RemarketingAudience + */ + public function update($accountId, $webPropertyId, $remarketingAudienceId, Google_Service_Analytics_RemarketingAudience $postBody, $optParams = array()) + { + $params = array('accountId' => $accountId, 'webPropertyId' => $webPropertyId, 'remarketingAudienceId' => $remarketingAudienceId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('update', array($params), "Google_Service_Analytics_RemarketingAudience"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Analytics/Resource/ManagementSegments.php b/vendor/google/apiclient-services/src/Google/Service/Analytics/Resource/ManagementSegments.php new file mode 100644 index 00000000..b3925a82 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Analytics/Resource/ManagementSegments.php @@ -0,0 +1,47 @@ + + * $analyticsService = new Google_Service_Analytics(...); + * $segments = $analyticsService->segments; + * + */ +class Google_Service_Analytics_Resource_ManagementSegments extends Google_Service_Resource +{ + /** + * Lists segments to which the user has access. + * (segments.listManagementSegments) + * + * @param array $optParams Optional parameters. + * + * @opt_param int max-results The maximum number of segments to include in this + * response. + * @opt_param int start-index An index of the first segment to retrieve. Use + * this parameter as a pagination mechanism along with the max-results + * parameter. + * @return Google_Service_Analytics_Segments + */ + public function listManagementSegments($optParams = array()) + { + $params = array(); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Analytics_Segments"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Analytics/Resource/ManagementUnsampledReports.php b/vendor/google/apiclient-services/src/Google/Service/Analytics/Resource/ManagementUnsampledReports.php new file mode 100644 index 00000000..ce2bd67a --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Analytics/Resource/ManagementUnsampledReports.php @@ -0,0 +1,105 @@ + + * $analyticsService = new Google_Service_Analytics(...); + * $unsampledReports = $analyticsService->unsampledReports; + * + */ +class Google_Service_Analytics_Resource_ManagementUnsampledReports extends Google_Service_Resource +{ + /** + * Deletes an unsampled report. (unsampledReports.delete) + * + * @param string $accountId Account ID to delete the unsampled report for. + * @param string $webPropertyId Web property ID to delete the unsampled reports + * for. + * @param string $profileId View (Profile) ID to delete the unsampled report + * for. + * @param string $unsampledReportId ID of the unsampled report to be deleted. + * @param array $optParams Optional parameters. + */ + public function delete($accountId, $webPropertyId, $profileId, $unsampledReportId, $optParams = array()) + { + $params = array('accountId' => $accountId, 'webPropertyId' => $webPropertyId, 'profileId' => $profileId, 'unsampledReportId' => $unsampledReportId); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params)); + } + /** + * Returns a single unsampled report. (unsampledReports.get) + * + * @param string $accountId Account ID to retrieve unsampled report for. + * @param string $webPropertyId Web property ID to retrieve unsampled reports + * for. + * @param string $profileId View (Profile) ID to retrieve unsampled report for. + * @param string $unsampledReportId ID of the unsampled report to retrieve. + * @param array $optParams Optional parameters. + * @return Google_Service_Analytics_UnsampledReport + */ + public function get($accountId, $webPropertyId, $profileId, $unsampledReportId, $optParams = array()) + { + $params = array('accountId' => $accountId, 'webPropertyId' => $webPropertyId, 'profileId' => $profileId, 'unsampledReportId' => $unsampledReportId); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Analytics_UnsampledReport"); + } + /** + * Create a new unsampled report. (unsampledReports.insert) + * + * @param string $accountId Account ID to create the unsampled report for. + * @param string $webPropertyId Web property ID to create the unsampled report + * for. + * @param string $profileId View (Profile) ID to create the unsampled report + * for. + * @param Google_Service_Analytics_UnsampledReport $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Analytics_UnsampledReport + */ + public function insert($accountId, $webPropertyId, $profileId, Google_Service_Analytics_UnsampledReport $postBody, $optParams = array()) + { + $params = array('accountId' => $accountId, 'webPropertyId' => $webPropertyId, 'profileId' => $profileId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('insert', array($params), "Google_Service_Analytics_UnsampledReport"); + } + /** + * Lists unsampled reports to which the user has access. + * (unsampledReports.listManagementUnsampledReports) + * + * @param string $accountId Account ID to retrieve unsampled reports for. Must + * be a specific account ID, ~all is not supported. + * @param string $webPropertyId Web property ID to retrieve unsampled reports + * for. Must be a specific web property ID, ~all is not supported. + * @param string $profileId View (Profile) ID to retrieve unsampled reports for. + * Must be a specific view (profile) ID, ~all is not supported. + * @param array $optParams Optional parameters. + * + * @opt_param int max-results The maximum number of unsampled reports to include + * in this response. + * @opt_param int start-index An index of the first unsampled report to + * retrieve. Use this parameter as a pagination mechanism along with the max- + * results parameter. + * @return Google_Service_Analytics_UnsampledReports + */ + public function listManagementUnsampledReports($accountId, $webPropertyId, $profileId, $optParams = array()) + { + $params = array('accountId' => $accountId, 'webPropertyId' => $webPropertyId, 'profileId' => $profileId); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Analytics_UnsampledReports"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Analytics/Resource/ManagementUploads.php b/vendor/google/apiclient-services/src/Google/Service/Analytics/Resource/ManagementUploads.php new file mode 100644 index 00000000..b6b77011 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Analytics/Resource/ManagementUploads.php @@ -0,0 +1,100 @@ + + * $analyticsService = new Google_Service_Analytics(...); + * $uploads = $analyticsService->uploads; + * + */ +class Google_Service_Analytics_Resource_ManagementUploads extends Google_Service_Resource +{ + /** + * Delete data associated with a previous upload. (uploads.deleteUploadData) + * + * @param string $accountId Account Id for the uploads to be deleted. + * @param string $webPropertyId Web property Id for the uploads to be deleted. + * @param string $customDataSourceId Custom data source Id for the uploads to be + * deleted. + * @param Google_Service_Analytics_AnalyticsDataimportDeleteUploadDataRequest $postBody + * @param array $optParams Optional parameters. + */ + public function deleteUploadData($accountId, $webPropertyId, $customDataSourceId, Google_Service_Analytics_AnalyticsDataimportDeleteUploadDataRequest $postBody, $optParams = array()) + { + $params = array('accountId' => $accountId, 'webPropertyId' => $webPropertyId, 'customDataSourceId' => $customDataSourceId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('deleteUploadData', array($params)); + } + /** + * List uploads to which the user has access. (uploads.get) + * + * @param string $accountId Account Id for the upload to retrieve. + * @param string $webPropertyId Web property Id for the upload to retrieve. + * @param string $customDataSourceId Custom data source Id for upload to + * retrieve. + * @param string $uploadId Upload Id to retrieve. + * @param array $optParams Optional parameters. + * @return Google_Service_Analytics_Upload + */ + public function get($accountId, $webPropertyId, $customDataSourceId, $uploadId, $optParams = array()) + { + $params = array('accountId' => $accountId, 'webPropertyId' => $webPropertyId, 'customDataSourceId' => $customDataSourceId, 'uploadId' => $uploadId); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Analytics_Upload"); + } + /** + * List uploads to which the user has access. (uploads.listManagementUploads) + * + * @param string $accountId Account Id for the uploads to retrieve. + * @param string $webPropertyId Web property Id for the uploads to retrieve. + * @param string $customDataSourceId Custom data source Id for uploads to + * retrieve. + * @param array $optParams Optional parameters. + * + * @opt_param int max-results The maximum number of uploads to include in this + * response. + * @opt_param int start-index A 1-based index of the first upload to retrieve. + * Use this parameter as a pagination mechanism along with the max-results + * parameter. + * @return Google_Service_Analytics_Uploads + */ + public function listManagementUploads($accountId, $webPropertyId, $customDataSourceId, $optParams = array()) + { + $params = array('accountId' => $accountId, 'webPropertyId' => $webPropertyId, 'customDataSourceId' => $customDataSourceId); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Analytics_Uploads"); + } + /** + * Upload data for a custom data source. (uploads.uploadData) + * + * @param string $accountId Account Id associated with the upload. + * @param string $webPropertyId Web property UA-string associated with the + * upload. + * @param string $customDataSourceId Custom data source Id to which the data + * being uploaded belongs. + * @param array $optParams Optional parameters. + * @return Google_Service_Analytics_Upload + */ + public function uploadData($accountId, $webPropertyId, $customDataSourceId, $optParams = array()) + { + $params = array('accountId' => $accountId, 'webPropertyId' => $webPropertyId, 'customDataSourceId' => $customDataSourceId); + $params = array_merge($params, $optParams); + return $this->call('uploadData', array($params), "Google_Service_Analytics_Upload"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Analytics/Resource/ManagementWebPropertyAdWordsLinks.php b/vendor/google/apiclient-services/src/Google/Service/Analytics/Resource/ManagementWebPropertyAdWordsLinks.php new file mode 100644 index 00000000..12ce084c --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Analytics/Resource/ManagementWebPropertyAdWordsLinks.php @@ -0,0 +1,138 @@ + + * $analyticsService = new Google_Service_Analytics(...); + * $webPropertyAdWordsLinks = $analyticsService->webPropertyAdWordsLinks; + * + */ +class Google_Service_Analytics_Resource_ManagementWebPropertyAdWordsLinks extends Google_Service_Resource +{ + /** + * Deletes a web property-AdWords link. (webPropertyAdWordsLinks.delete) + * + * @param string $accountId ID of the account which the given web property + * belongs to. + * @param string $webPropertyId Web property ID to delete the AdWords link for. + * @param string $webPropertyAdWordsLinkId Web property AdWords link ID. + * @param array $optParams Optional parameters. + */ + public function delete($accountId, $webPropertyId, $webPropertyAdWordsLinkId, $optParams = array()) + { + $params = array('accountId' => $accountId, 'webPropertyId' => $webPropertyId, 'webPropertyAdWordsLinkId' => $webPropertyAdWordsLinkId); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params)); + } + /** + * Returns a web property-AdWords link to which the user has access. + * (webPropertyAdWordsLinks.get) + * + * @param string $accountId ID of the account which the given web property + * belongs to. + * @param string $webPropertyId Web property ID to retrieve the AdWords link + * for. + * @param string $webPropertyAdWordsLinkId Web property-AdWords link ID. + * @param array $optParams Optional parameters. + * @return Google_Service_Analytics_EntityAdWordsLink + */ + public function get($accountId, $webPropertyId, $webPropertyAdWordsLinkId, $optParams = array()) + { + $params = array('accountId' => $accountId, 'webPropertyId' => $webPropertyId, 'webPropertyAdWordsLinkId' => $webPropertyAdWordsLinkId); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Analytics_EntityAdWordsLink"); + } + /** + * Creates a webProperty-AdWords link. (webPropertyAdWordsLinks.insert) + * + * @param string $accountId ID of the Google Analytics account to create the + * link for. + * @param string $webPropertyId Web property ID to create the link for. + * @param Google_Service_Analytics_EntityAdWordsLink $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Analytics_EntityAdWordsLink + */ + public function insert($accountId, $webPropertyId, Google_Service_Analytics_EntityAdWordsLink $postBody, $optParams = array()) + { + $params = array('accountId' => $accountId, 'webPropertyId' => $webPropertyId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('insert', array($params), "Google_Service_Analytics_EntityAdWordsLink"); + } + /** + * Lists webProperty-AdWords links for a given web property. + * (webPropertyAdWordsLinks.listManagementWebPropertyAdWordsLinks) + * + * @param string $accountId ID of the account which the given web property + * belongs to. + * @param string $webPropertyId Web property ID to retrieve the AdWords links + * for. + * @param array $optParams Optional parameters. + * + * @opt_param int max-results The maximum number of webProperty-AdWords links to + * include in this response. + * @opt_param int start-index An index of the first webProperty-AdWords link to + * retrieve. Use this parameter as a pagination mechanism along with the max- + * results parameter. + * @return Google_Service_Analytics_EntityAdWordsLinks + */ + public function listManagementWebPropertyAdWordsLinks($accountId, $webPropertyId, $optParams = array()) + { + $params = array('accountId' => $accountId, 'webPropertyId' => $webPropertyId); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Analytics_EntityAdWordsLinks"); + } + /** + * Updates an existing webProperty-AdWords link. This method supports patch + * semantics. (webPropertyAdWordsLinks.patch) + * + * @param string $accountId ID of the account which the given web property + * belongs to. + * @param string $webPropertyId Web property ID to retrieve the AdWords link + * for. + * @param string $webPropertyAdWordsLinkId Web property-AdWords link ID. + * @param Google_Service_Analytics_EntityAdWordsLink $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Analytics_EntityAdWordsLink + */ + public function patch($accountId, $webPropertyId, $webPropertyAdWordsLinkId, Google_Service_Analytics_EntityAdWordsLink $postBody, $optParams = array()) + { + $params = array('accountId' => $accountId, 'webPropertyId' => $webPropertyId, 'webPropertyAdWordsLinkId' => $webPropertyAdWordsLinkId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('patch', array($params), "Google_Service_Analytics_EntityAdWordsLink"); + } + /** + * Updates an existing webProperty-AdWords link. + * (webPropertyAdWordsLinks.update) + * + * @param string $accountId ID of the account which the given web property + * belongs to. + * @param string $webPropertyId Web property ID to retrieve the AdWords link + * for. + * @param string $webPropertyAdWordsLinkId Web property-AdWords link ID. + * @param Google_Service_Analytics_EntityAdWordsLink $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Analytics_EntityAdWordsLink + */ + public function update($accountId, $webPropertyId, $webPropertyAdWordsLinkId, Google_Service_Analytics_EntityAdWordsLink $postBody, $optParams = array()) + { + $params = array('accountId' => $accountId, 'webPropertyId' => $webPropertyId, 'webPropertyAdWordsLinkId' => $webPropertyAdWordsLinkId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('update', array($params), "Google_Service_Analytics_EntityAdWordsLink"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Analytics/Resource/ManagementWebproperties.php b/vendor/google/apiclient-services/src/Google/Service/Analytics/Resource/ManagementWebproperties.php new file mode 100644 index 00000000..272b0e66 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Analytics/Resource/ManagementWebproperties.php @@ -0,0 +1,110 @@ + + * $analyticsService = new Google_Service_Analytics(...); + * $webproperties = $analyticsService->webproperties; + * + */ +class Google_Service_Analytics_Resource_ManagementWebproperties extends Google_Service_Resource +{ + /** + * Gets a web property to which the user has access. (webproperties.get) + * + * @param string $accountId Account ID to retrieve the web property for. + * @param string $webPropertyId ID to retrieve the web property for. + * @param array $optParams Optional parameters. + * @return Google_Service_Analytics_Webproperty + */ + public function get($accountId, $webPropertyId, $optParams = array()) + { + $params = array('accountId' => $accountId, 'webPropertyId' => $webPropertyId); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Analytics_Webproperty"); + } + /** + * Create a new property if the account has fewer than 20 properties. Web + * properties are visible in the Google Analytics interface only if they have at + * least one profile. (webproperties.insert) + * + * @param string $accountId Account ID to create the web property for. + * @param Google_Service_Analytics_Webproperty $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Analytics_Webproperty + */ + public function insert($accountId, Google_Service_Analytics_Webproperty $postBody, $optParams = array()) + { + $params = array('accountId' => $accountId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('insert', array($params), "Google_Service_Analytics_Webproperty"); + } + /** + * Lists web properties to which the user has access. + * (webproperties.listManagementWebproperties) + * + * @param string $accountId Account ID to retrieve web properties for. Can + * either be a specific account ID or '~all', which refers to all the accounts + * that user has access to. + * @param array $optParams Optional parameters. + * + * @opt_param int max-results The maximum number of web properties to include in + * this response. + * @opt_param int start-index An index of the first entity to retrieve. Use this + * parameter as a pagination mechanism along with the max-results parameter. + * @return Google_Service_Analytics_Webproperties + */ + public function listManagementWebproperties($accountId, $optParams = array()) + { + $params = array('accountId' => $accountId); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Analytics_Webproperties"); + } + /** + * Updates an existing web property. This method supports patch semantics. + * (webproperties.patch) + * + * @param string $accountId Account ID to which the web property belongs + * @param string $webPropertyId Web property ID + * @param Google_Service_Analytics_Webproperty $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Analytics_Webproperty + */ + public function patch($accountId, $webPropertyId, Google_Service_Analytics_Webproperty $postBody, $optParams = array()) + { + $params = array('accountId' => $accountId, 'webPropertyId' => $webPropertyId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('patch', array($params), "Google_Service_Analytics_Webproperty"); + } + /** + * Updates an existing web property. (webproperties.update) + * + * @param string $accountId Account ID to which the web property belongs + * @param string $webPropertyId Web property ID + * @param Google_Service_Analytics_Webproperty $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Analytics_Webproperty + */ + public function update($accountId, $webPropertyId, Google_Service_Analytics_Webproperty $postBody, $optParams = array()) + { + $params = array('accountId' => $accountId, 'webPropertyId' => $webPropertyId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('update', array($params), "Google_Service_Analytics_Webproperty"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Analytics/Resource/ManagementWebpropertyUserLinks.php b/vendor/google/apiclient-services/src/Google/Service/Analytics/Resource/ManagementWebpropertyUserLinks.php new file mode 100644 index 00000000..a0f42a88 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Analytics/Resource/ManagementWebpropertyUserLinks.php @@ -0,0 +1,98 @@ + + * $analyticsService = new Google_Service_Analytics(...); + * $webpropertyUserLinks = $analyticsService->webpropertyUserLinks; + * + */ +class Google_Service_Analytics_Resource_ManagementWebpropertyUserLinks extends Google_Service_Resource +{ + /** + * Removes a user from the given web property. (webpropertyUserLinks.delete) + * + * @param string $accountId Account ID to delete the user link for. + * @param string $webPropertyId Web Property ID to delete the user link for. + * @param string $linkId Link ID to delete the user link for. + * @param array $optParams Optional parameters. + */ + public function delete($accountId, $webPropertyId, $linkId, $optParams = array()) + { + $params = array('accountId' => $accountId, 'webPropertyId' => $webPropertyId, 'linkId' => $linkId); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params)); + } + /** + * Adds a new user to the given web property. (webpropertyUserLinks.insert) + * + * @param string $accountId Account ID to create the user link for. + * @param string $webPropertyId Web Property ID to create the user link for. + * @param Google_Service_Analytics_EntityUserLink $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Analytics_EntityUserLink + */ + public function insert($accountId, $webPropertyId, Google_Service_Analytics_EntityUserLink $postBody, $optParams = array()) + { + $params = array('accountId' => $accountId, 'webPropertyId' => $webPropertyId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('insert', array($params), "Google_Service_Analytics_EntityUserLink"); + } + /** + * Lists webProperty-user links for a given web property. + * (webpropertyUserLinks.listManagementWebpropertyUserLinks) + * + * @param string $accountId Account ID which the given web property belongs to. + * @param string $webPropertyId Web Property ID for the webProperty-user links + * to retrieve. Can either be a specific web property ID or '~all', which refers + * to all the web properties that user has access to. + * @param array $optParams Optional parameters. + * + * @opt_param int max-results The maximum number of webProperty-user Links to + * include in this response. + * @opt_param int start-index An index of the first webProperty-user link to + * retrieve. Use this parameter as a pagination mechanism along with the max- + * results parameter. + * @return Google_Service_Analytics_EntityUserLinks + */ + public function listManagementWebpropertyUserLinks($accountId, $webPropertyId, $optParams = array()) + { + $params = array('accountId' => $accountId, 'webPropertyId' => $webPropertyId); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Analytics_EntityUserLinks"); + } + /** + * Updates permissions for an existing user on the given web property. + * (webpropertyUserLinks.update) + * + * @param string $accountId Account ID to update the account-user link for. + * @param string $webPropertyId Web property ID to update the account-user link + * for. + * @param string $linkId Link ID to update the account-user link for. + * @param Google_Service_Analytics_EntityUserLink $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Analytics_EntityUserLink + */ + public function update($accountId, $webPropertyId, $linkId, Google_Service_Analytics_EntityUserLink $postBody, $optParams = array()) + { + $params = array('accountId' => $accountId, 'webPropertyId' => $webPropertyId, 'linkId' => $linkId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('update', array($params), "Google_Service_Analytics_EntityUserLink"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Analytics/Resource/Metadata.php b/vendor/google/apiclient-services/src/Google/Service/Analytics/Resource/Metadata.php new file mode 100644 index 00000000..81421fe5 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Analytics/Resource/Metadata.php @@ -0,0 +1,28 @@ + + * $analyticsService = new Google_Service_Analytics(...); + * $metadata = $analyticsService->metadata; + * + */ +class Google_Service_Analytics_Resource_Metadata extends Google_Service_Resource +{ +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Analytics/Resource/MetadataColumns.php b/vendor/google/apiclient-services/src/Google/Service/Analytics/Resource/MetadataColumns.php new file mode 100644 index 00000000..3574a0d6 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Analytics/Resource/MetadataColumns.php @@ -0,0 +1,42 @@ + + * $analyticsService = new Google_Service_Analytics(...); + * $columns = $analyticsService->columns; + * + */ +class Google_Service_Analytics_Resource_MetadataColumns extends Google_Service_Resource +{ + /** + * Lists all columns for a report type (columns.listMetadataColumns) + * + * @param string $reportType Report type. Allowed Values: 'ga'. Where 'ga' + * corresponds to the Core Reporting API + * @param array $optParams Optional parameters. + * @return Google_Service_Analytics_Columns + */ + public function listMetadataColumns($reportType, $optParams = array()) + { + $params = array('reportType' => $reportType); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Analytics_Columns"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Analytics/Resource/Provisioning.php b/vendor/google/apiclient-services/src/Google/Service/Analytics/Resource/Provisioning.php new file mode 100644 index 00000000..b3829ff8 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Analytics/Resource/Provisioning.php @@ -0,0 +1,41 @@ + + * $analyticsService = new Google_Service_Analytics(...); + * $provisioning = $analyticsService->provisioning; + * + */ +class Google_Service_Analytics_Resource_Provisioning extends Google_Service_Resource +{ + /** + * Creates an account ticket. (provisioning.createAccountTicket) + * + * @param Google_Service_Analytics_AccountTicket $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Analytics_AccountTicket + */ + public function createAccountTicket(Google_Service_Analytics_AccountTicket $postBody, $optParams = array()) + { + $params = array('postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('createAccountTicket', array($params), "Google_Service_Analytics_AccountTicket"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Analytics/Segment.php b/vendor/google/apiclient-services/src/Google/Service/Analytics/Segment.php new file mode 100644 index 00000000..0e3caa2a --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Analytics/Segment.php @@ -0,0 +1,102 @@ +created = $created; + } + public function getCreated() + { + return $this->created; + } + public function setDefinition($definition) + { + $this->definition = $definition; + } + public function getDefinition() + { + return $this->definition; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setSegmentId($segmentId) + { + $this->segmentId = $segmentId; + } + public function getSegmentId() + { + return $this->segmentId; + } + public function setSelfLink($selfLink) + { + $this->selfLink = $selfLink; + } + public function getSelfLink() + { + return $this->selfLink; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } + public function setUpdated($updated) + { + $this->updated = $updated; + } + public function getUpdated() + { + return $this->updated; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Analytics/Segments.php b/vendor/google/apiclient-services/src/Google/Service/Analytics/Segments.php new file mode 100644 index 00000000..ec874e65 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Analytics/Segments.php @@ -0,0 +1,95 @@ +items = $items; + } + public function getItems() + { + return $this->items; + } + public function setItemsPerPage($itemsPerPage) + { + $this->itemsPerPage = $itemsPerPage; + } + public function getItemsPerPage() + { + return $this->itemsPerPage; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextLink($nextLink) + { + $this->nextLink = $nextLink; + } + public function getNextLink() + { + return $this->nextLink; + } + public function setPreviousLink($previousLink) + { + $this->previousLink = $previousLink; + } + public function getPreviousLink() + { + return $this->previousLink; + } + public function setStartIndex($startIndex) + { + $this->startIndex = $startIndex; + } + public function getStartIndex() + { + return $this->startIndex; + } + public function setTotalResults($totalResults) + { + $this->totalResults = $totalResults; + } + public function getTotalResults() + { + return $this->totalResults; + } + public function setUsername($username) + { + $this->username = $username; + } + public function getUsername() + { + return $this->username; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Analytics/UnsampledReport.php b/vendor/google/apiclient-services/src/Google/Service/Analytics/UnsampledReport.php new file mode 100644 index 00000000..a87bfe10 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Analytics/UnsampledReport.php @@ -0,0 +1,198 @@ + "end-date", + "startDate" => "start-date", + ); + public $accountId; + protected $cloudStorageDownloadDetailsType = 'Google_Service_Analytics_UnsampledReportCloudStorageDownloadDetails'; + protected $cloudStorageDownloadDetailsDataType = ''; + public $created; + public $dimensions; + public $downloadType; + protected $driveDownloadDetailsType = 'Google_Service_Analytics_UnsampledReportDriveDownloadDetails'; + protected $driveDownloadDetailsDataType = ''; + public $endDate; + public $filters; + public $id; + public $kind; + public $metrics; + public $profileId; + public $segment; + public $selfLink; + public $startDate; + public $status; + public $title; + public $updated; + public $webPropertyId; + + public function setAccountId($accountId) + { + $this->accountId = $accountId; + } + public function getAccountId() + { + return $this->accountId; + } + public function setCloudStorageDownloadDetails(Google_Service_Analytics_UnsampledReportCloudStorageDownloadDetails $cloudStorageDownloadDetails) + { + $this->cloudStorageDownloadDetails = $cloudStorageDownloadDetails; + } + public function getCloudStorageDownloadDetails() + { + return $this->cloudStorageDownloadDetails; + } + public function setCreated($created) + { + $this->created = $created; + } + public function getCreated() + { + return $this->created; + } + public function setDimensions($dimensions) + { + $this->dimensions = $dimensions; + } + public function getDimensions() + { + return $this->dimensions; + } + public function setDownloadType($downloadType) + { + $this->downloadType = $downloadType; + } + public function getDownloadType() + { + return $this->downloadType; + } + public function setDriveDownloadDetails(Google_Service_Analytics_UnsampledReportDriveDownloadDetails $driveDownloadDetails) + { + $this->driveDownloadDetails = $driveDownloadDetails; + } + public function getDriveDownloadDetails() + { + return $this->driveDownloadDetails; + } + public function setEndDate($endDate) + { + $this->endDate = $endDate; + } + public function getEndDate() + { + return $this->endDate; + } + public function setFilters($filters) + { + $this->filters = $filters; + } + public function getFilters() + { + return $this->filters; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setMetrics($metrics) + { + $this->metrics = $metrics; + } + public function getMetrics() + { + return $this->metrics; + } + public function setProfileId($profileId) + { + $this->profileId = $profileId; + } + public function getProfileId() + { + return $this->profileId; + } + public function setSegment($segment) + { + $this->segment = $segment; + } + public function getSegment() + { + return $this->segment; + } + public function setSelfLink($selfLink) + { + $this->selfLink = $selfLink; + } + public function getSelfLink() + { + return $this->selfLink; + } + public function setStartDate($startDate) + { + $this->startDate = $startDate; + } + public function getStartDate() + { + return $this->startDate; + } + public function setStatus($status) + { + $this->status = $status; + } + public function getStatus() + { + return $this->status; + } + public function setTitle($title) + { + $this->title = $title; + } + public function getTitle() + { + return $this->title; + } + public function setUpdated($updated) + { + $this->updated = $updated; + } + public function getUpdated() + { + return $this->updated; + } + public function setWebPropertyId($webPropertyId) + { + $this->webPropertyId = $webPropertyId; + } + public function getWebPropertyId() + { + return $this->webPropertyId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Analytics/UnsampledReportCloudStorageDownloadDetails.php b/vendor/google/apiclient-services/src/Google/Service/Analytics/UnsampledReportCloudStorageDownloadDetails.php new file mode 100644 index 00000000..48a7533f --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Analytics/UnsampledReportCloudStorageDownloadDetails.php @@ -0,0 +1,39 @@ +bucketId = $bucketId; + } + public function getBucketId() + { + return $this->bucketId; + } + public function setObjectId($objectId) + { + $this->objectId = $objectId; + } + public function getObjectId() + { + return $this->objectId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Analytics/UnsampledReportDriveDownloadDetails.php b/vendor/google/apiclient-services/src/Google/Service/Analytics/UnsampledReportDriveDownloadDetails.php new file mode 100644 index 00000000..805cec88 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Analytics/UnsampledReportDriveDownloadDetails.php @@ -0,0 +1,30 @@ +documentId = $documentId; + } + public function getDocumentId() + { + return $this->documentId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Analytics/UnsampledReports.php b/vendor/google/apiclient-services/src/Google/Service/Analytics/UnsampledReports.php new file mode 100644 index 00000000..dda579e5 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Analytics/UnsampledReports.php @@ -0,0 +1,95 @@ +items = $items; + } + public function getItems() + { + return $this->items; + } + public function setItemsPerPage($itemsPerPage) + { + $this->itemsPerPage = $itemsPerPage; + } + public function getItemsPerPage() + { + return $this->itemsPerPage; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextLink($nextLink) + { + $this->nextLink = $nextLink; + } + public function getNextLink() + { + return $this->nextLink; + } + public function setPreviousLink($previousLink) + { + $this->previousLink = $previousLink; + } + public function getPreviousLink() + { + return $this->previousLink; + } + public function setStartIndex($startIndex) + { + $this->startIndex = $startIndex; + } + public function getStartIndex() + { + return $this->startIndex; + } + public function setTotalResults($totalResults) + { + $this->totalResults = $totalResults; + } + public function getTotalResults() + { + return $this->totalResults; + } + public function setUsername($username) + { + $this->username = $username; + } + public function getUsername() + { + return $this->username; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Analytics/Upload.php b/vendor/google/apiclient-services/src/Google/Service/Analytics/Upload.php new file mode 100644 index 00000000..0da4f5b7 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Analytics/Upload.php @@ -0,0 +1,76 @@ +accountId = $accountId; + } + public function getAccountId() + { + return $this->accountId; + } + public function setCustomDataSourceId($customDataSourceId) + { + $this->customDataSourceId = $customDataSourceId; + } + public function getCustomDataSourceId() + { + return $this->customDataSourceId; + } + public function setErrors($errors) + { + $this->errors = $errors; + } + public function getErrors() + { + return $this->errors; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setStatus($status) + { + $this->status = $status; + } + public function getStatus() + { + return $this->status; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Analytics/Uploads.php b/vendor/google/apiclient-services/src/Google/Service/Analytics/Uploads.php new file mode 100644 index 00000000..4324bad9 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Analytics/Uploads.php @@ -0,0 +1,86 @@ +items = $items; + } + public function getItems() + { + return $this->items; + } + public function setItemsPerPage($itemsPerPage) + { + $this->itemsPerPage = $itemsPerPage; + } + public function getItemsPerPage() + { + return $this->itemsPerPage; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextLink($nextLink) + { + $this->nextLink = $nextLink; + } + public function getNextLink() + { + return $this->nextLink; + } + public function setPreviousLink($previousLink) + { + $this->previousLink = $previousLink; + } + public function getPreviousLink() + { + return $this->previousLink; + } + public function setStartIndex($startIndex) + { + $this->startIndex = $startIndex; + } + public function getStartIndex() + { + return $this->startIndex; + } + public function setTotalResults($totalResults) + { + $this->totalResults = $totalResults; + } + public function getTotalResults() + { + return $this->totalResults; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Analytics/UserRef.php b/vendor/google/apiclient-services/src/Google/Service/Analytics/UserRef.php new file mode 100644 index 00000000..649bd1d3 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Analytics/UserRef.php @@ -0,0 +1,48 @@ +email = $email; + } + public function getEmail() + { + return $this->email; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Analytics/WebPropertyRef.php b/vendor/google/apiclient-services/src/Google/Service/Analytics/WebPropertyRef.php new file mode 100644 index 00000000..2c9ce1d7 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Analytics/WebPropertyRef.php @@ -0,0 +1,75 @@ +accountId = $accountId; + } + public function getAccountId() + { + return $this->accountId; + } + public function setHref($href) + { + $this->href = $href; + } + public function getHref() + { + return $this->href; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setInternalWebPropertyId($internalWebPropertyId) + { + $this->internalWebPropertyId = $internalWebPropertyId; + } + public function getInternalWebPropertyId() + { + return $this->internalWebPropertyId; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Analytics/WebPropertySummary.php b/vendor/google/apiclient-services/src/Google/Service/Analytics/WebPropertySummary.php new file mode 100644 index 00000000..63ae34bf --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Analytics/WebPropertySummary.php @@ -0,0 +1,95 @@ +id = $id; + } + public function getId() + { + return $this->id; + } + public function setInternalWebPropertyId($internalWebPropertyId) + { + $this->internalWebPropertyId = $internalWebPropertyId; + } + public function getInternalWebPropertyId() + { + return $this->internalWebPropertyId; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setLevel($level) + { + $this->level = $level; + } + public function getLevel() + { + return $this->level; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setProfiles($profiles) + { + $this->profiles = $profiles; + } + public function getProfiles() + { + return $this->profiles; + } + public function setStarred($starred) + { + $this->starred = $starred; + } + public function getStarred() + { + return $this->starred; + } + public function setWebsiteUrl($websiteUrl) + { + $this->websiteUrl = $websiteUrl; + } + public function getWebsiteUrl() + { + return $this->websiteUrl; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Analytics/Webproperties.php b/vendor/google/apiclient-services/src/Google/Service/Analytics/Webproperties.php new file mode 100644 index 00000000..fcdecd39 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Analytics/Webproperties.php @@ -0,0 +1,95 @@ +items = $items; + } + public function getItems() + { + return $this->items; + } + public function setItemsPerPage($itemsPerPage) + { + $this->itemsPerPage = $itemsPerPage; + } + public function getItemsPerPage() + { + return $this->itemsPerPage; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextLink($nextLink) + { + $this->nextLink = $nextLink; + } + public function getNextLink() + { + return $this->nextLink; + } + public function setPreviousLink($previousLink) + { + $this->previousLink = $previousLink; + } + public function getPreviousLink() + { + return $this->previousLink; + } + public function setStartIndex($startIndex) + { + $this->startIndex = $startIndex; + } + public function getStartIndex() + { + return $this->startIndex; + } + public function setTotalResults($totalResults) + { + $this->totalResults = $totalResults; + } + public function getTotalResults() + { + return $this->totalResults; + } + public function setUsername($username) + { + $this->username = $username; + } + public function getUsername() + { + return $this->username; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Analytics/Webproperty.php b/vendor/google/apiclient-services/src/Google/Service/Analytics/Webproperty.php new file mode 100644 index 00000000..5d2e3629 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Analytics/Webproperty.php @@ -0,0 +1,177 @@ +accountId = $accountId; + } + public function getAccountId() + { + return $this->accountId; + } + public function setChildLink(Google_Service_Analytics_WebpropertyChildLink $childLink) + { + $this->childLink = $childLink; + } + public function getChildLink() + { + return $this->childLink; + } + public function setCreated($created) + { + $this->created = $created; + } + public function getCreated() + { + return $this->created; + } + public function setDefaultProfileId($defaultProfileId) + { + $this->defaultProfileId = $defaultProfileId; + } + public function getDefaultProfileId() + { + return $this->defaultProfileId; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setIndustryVertical($industryVertical) + { + $this->industryVertical = $industryVertical; + } + public function getIndustryVertical() + { + return $this->industryVertical; + } + public function setInternalWebPropertyId($internalWebPropertyId) + { + $this->internalWebPropertyId = $internalWebPropertyId; + } + public function getInternalWebPropertyId() + { + return $this->internalWebPropertyId; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setLevel($level) + { + $this->level = $level; + } + public function getLevel() + { + return $this->level; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setParentLink(Google_Service_Analytics_WebpropertyParentLink $parentLink) + { + $this->parentLink = $parentLink; + } + public function getParentLink() + { + return $this->parentLink; + } + public function setPermissions(Google_Service_Analytics_WebpropertyPermissions $permissions) + { + $this->permissions = $permissions; + } + public function getPermissions() + { + return $this->permissions; + } + public function setProfileCount($profileCount) + { + $this->profileCount = $profileCount; + } + public function getProfileCount() + { + return $this->profileCount; + } + public function setSelfLink($selfLink) + { + $this->selfLink = $selfLink; + } + public function getSelfLink() + { + return $this->selfLink; + } + public function setStarred($starred) + { + $this->starred = $starred; + } + public function getStarred() + { + return $this->starred; + } + public function setUpdated($updated) + { + $this->updated = $updated; + } + public function getUpdated() + { + return $this->updated; + } + public function setWebsiteUrl($websiteUrl) + { + $this->websiteUrl = $websiteUrl; + } + public function getWebsiteUrl() + { + return $this->websiteUrl; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Analytics/WebpropertyChildLink.php b/vendor/google/apiclient-services/src/Google/Service/Analytics/WebpropertyChildLink.php new file mode 100644 index 00000000..f61b2cf0 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Analytics/WebpropertyChildLink.php @@ -0,0 +1,39 @@ +href = $href; + } + public function getHref() + { + return $this->href; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Analytics/WebpropertyParentLink.php b/vendor/google/apiclient-services/src/Google/Service/Analytics/WebpropertyParentLink.php new file mode 100644 index 00000000..2df9c8c7 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Analytics/WebpropertyParentLink.php @@ -0,0 +1,39 @@ +href = $href; + } + public function getHref() + { + return $this->href; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Analytics/WebpropertyPermissions.php b/vendor/google/apiclient-services/src/Google/Service/Analytics/WebpropertyPermissions.php new file mode 100644 index 00000000..5305e8b1 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Analytics/WebpropertyPermissions.php @@ -0,0 +1,31 @@ +effective = $effective; + } + public function getEffective() + { + return $this->effective; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AnalyticsReporting.php b/vendor/google/apiclient-services/src/Google/Service/AnalyticsReporting.php new file mode 100644 index 00000000..789a2b2c --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AnalyticsReporting.php @@ -0,0 +1,70 @@ + + * Accesses Analytics report data.

+ * + *

+ * For more information about this service, see the API + * Documentation + *

+ * + * @author Google, Inc. + */ +class Google_Service_AnalyticsReporting extends Google_Service +{ + /** View and manage your Google Analytics data. */ + const ANALYTICS = + "https://www.googleapis.com/auth/analytics"; + /** View your Google Analytics data. */ + const ANALYTICS_READONLY = + "https://www.googleapis.com/auth/analytics.readonly"; + + public $reports; + + /** + * Constructs the internal representation of the AnalyticsReporting service. + * + * @param Google_Client $client + */ + public function __construct(Google_Client $client) + { + parent::__construct($client); + $this->rootUrl = 'https://analyticsreporting.googleapis.com/'; + $this->servicePath = ''; + $this->version = 'v4'; + $this->serviceName = 'analyticsreporting'; + + $this->reports = new Google_Service_AnalyticsReporting_Resource_Reports( + $this, + $this->serviceName, + 'reports', + array( + 'methods' => array( + 'batchGet' => array( + 'path' => 'v4/reports:batchGet', + 'httpMethod' => 'POST', + 'parameters' => array(), + ), + ) + ) + ); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AnalyticsReporting/Cohort.php b/vendor/google/apiclient-services/src/Google/Service/AnalyticsReporting/Cohort.php new file mode 100644 index 00000000..9ad3b8f0 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AnalyticsReporting/Cohort.php @@ -0,0 +1,49 @@ +dateRange = $dateRange; + } + public function getDateRange() + { + return $this->dateRange; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AnalyticsReporting/CohortGroup.php b/vendor/google/apiclient-services/src/Google/Service/AnalyticsReporting/CohortGroup.php new file mode 100644 index 00000000..a173e839 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AnalyticsReporting/CohortGroup.php @@ -0,0 +1,41 @@ +cohorts = $cohorts; + } + public function getCohorts() + { + return $this->cohorts; + } + public function setLifetimeValue($lifetimeValue) + { + $this->lifetimeValue = $lifetimeValue; + } + public function getLifetimeValue() + { + return $this->lifetimeValue; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AnalyticsReporting/ColumnHeader.php b/vendor/google/apiclient-services/src/Google/Service/AnalyticsReporting/ColumnHeader.php new file mode 100644 index 00000000..0f6ee458 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AnalyticsReporting/ColumnHeader.php @@ -0,0 +1,41 @@ +dimensions = $dimensions; + } + public function getDimensions() + { + return $this->dimensions; + } + public function setMetricHeader(Google_Service_AnalyticsReporting_MetricHeader $metricHeader) + { + $this->metricHeader = $metricHeader; + } + public function getMetricHeader() + { + return $this->metricHeader; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AnalyticsReporting/DateRange.php b/vendor/google/apiclient-services/src/Google/Service/AnalyticsReporting/DateRange.php new file mode 100644 index 00000000..9b9152b9 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AnalyticsReporting/DateRange.php @@ -0,0 +1,39 @@ +endDate = $endDate; + } + public function getEndDate() + { + return $this->endDate; + } + public function setStartDate($startDate) + { + $this->startDate = $startDate; + } + public function getStartDate() + { + return $this->startDate; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AnalyticsReporting/DateRangeValues.php b/vendor/google/apiclient-services/src/Google/Service/AnalyticsReporting/DateRangeValues.php new file mode 100644 index 00000000..82d52bc1 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AnalyticsReporting/DateRangeValues.php @@ -0,0 +1,41 @@ +pivotValueRegions = $pivotValueRegions; + } + public function getPivotValueRegions() + { + return $this->pivotValueRegions; + } + public function setValues($values) + { + $this->values = $values; + } + public function getValues() + { + return $this->values; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AnalyticsReporting/Dimension.php b/vendor/google/apiclient-services/src/Google/Service/AnalyticsReporting/Dimension.php new file mode 100644 index 00000000..8ed06791 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AnalyticsReporting/Dimension.php @@ -0,0 +1,40 @@ +histogramBuckets = $histogramBuckets; + } + public function getHistogramBuckets() + { + return $this->histogramBuckets; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AnalyticsReporting/DimensionFilter.php b/vendor/google/apiclient-services/src/Google/Service/AnalyticsReporting/DimensionFilter.php new file mode 100644 index 00000000..eb512f11 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AnalyticsReporting/DimensionFilter.php @@ -0,0 +1,67 @@ +caseSensitive = $caseSensitive; + } + public function getCaseSensitive() + { + return $this->caseSensitive; + } + public function setDimensionName($dimensionName) + { + $this->dimensionName = $dimensionName; + } + public function getDimensionName() + { + return $this->dimensionName; + } + public function setExpressions($expressions) + { + $this->expressions = $expressions; + } + public function getExpressions() + { + return $this->expressions; + } + public function setNot($not) + { + $this->not = $not; + } + public function getNot() + { + return $this->not; + } + public function setOperator($operator) + { + $this->operator = $operator; + } + public function getOperator() + { + return $this->operator; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AnalyticsReporting/DimensionFilterClause.php b/vendor/google/apiclient-services/src/Google/Service/AnalyticsReporting/DimensionFilterClause.php new file mode 100644 index 00000000..317f0ee8 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AnalyticsReporting/DimensionFilterClause.php @@ -0,0 +1,41 @@ +filters = $filters; + } + public function getFilters() + { + return $this->filters; + } + public function setOperator($operator) + { + $this->operator = $operator; + } + public function getOperator() + { + return $this->operator; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AnalyticsReporting/DynamicSegment.php b/vendor/google/apiclient-services/src/Google/Service/AnalyticsReporting/DynamicSegment.php new file mode 100644 index 00000000..7d41be7d --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AnalyticsReporting/DynamicSegment.php @@ -0,0 +1,50 @@ +name = $name; + } + public function getName() + { + return $this->name; + } + public function setSessionSegment(Google_Service_AnalyticsReporting_SegmentDefinition $sessionSegment) + { + $this->sessionSegment = $sessionSegment; + } + public function getSessionSegment() + { + return $this->sessionSegment; + } + public function setUserSegment(Google_Service_AnalyticsReporting_SegmentDefinition $userSegment) + { + $this->userSegment = $userSegment; + } + public function getUserSegment() + { + return $this->userSegment; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AnalyticsReporting/GetReportsRequest.php b/vendor/google/apiclient-services/src/Google/Service/AnalyticsReporting/GetReportsRequest.php new file mode 100644 index 00000000..e1a0e9bb --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AnalyticsReporting/GetReportsRequest.php @@ -0,0 +1,32 @@ +reportRequests = $reportRequests; + } + public function getReportRequests() + { + return $this->reportRequests; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AnalyticsReporting/GetReportsResponse.php b/vendor/google/apiclient-services/src/Google/Service/AnalyticsReporting/GetReportsResponse.php new file mode 100644 index 00000000..15ff4976 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AnalyticsReporting/GetReportsResponse.php @@ -0,0 +1,32 @@ +reports = $reports; + } + public function getReports() + { + return $this->reports; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AnalyticsReporting/Metric.php b/vendor/google/apiclient-services/src/Google/Service/AnalyticsReporting/Metric.php new file mode 100644 index 00000000..6dc69e98 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AnalyticsReporting/Metric.php @@ -0,0 +1,48 @@ +alias = $alias; + } + public function getAlias() + { + return $this->alias; + } + public function setExpression($expression) + { + $this->expression = $expression; + } + public function getExpression() + { + return $this->expression; + } + public function setFormattingType($formattingType) + { + $this->formattingType = $formattingType; + } + public function getFormattingType() + { + return $this->formattingType; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AnalyticsReporting/MetricFilter.php b/vendor/google/apiclient-services/src/Google/Service/AnalyticsReporting/MetricFilter.php new file mode 100644 index 00000000..713c50c0 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AnalyticsReporting/MetricFilter.php @@ -0,0 +1,57 @@ +comparisonValue = $comparisonValue; + } + public function getComparisonValue() + { + return $this->comparisonValue; + } + public function setMetricName($metricName) + { + $this->metricName = $metricName; + } + public function getMetricName() + { + return $this->metricName; + } + public function setNot($not) + { + $this->not = $not; + } + public function getNot() + { + return $this->not; + } + public function setOperator($operator) + { + $this->operator = $operator; + } + public function getOperator() + { + return $this->operator; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AnalyticsReporting/MetricFilterClause.php b/vendor/google/apiclient-services/src/Google/Service/AnalyticsReporting/MetricFilterClause.php new file mode 100644 index 00000000..ebdbad5b --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AnalyticsReporting/MetricFilterClause.php @@ -0,0 +1,41 @@ +filters = $filters; + } + public function getFilters() + { + return $this->filters; + } + public function setOperator($operator) + { + $this->operator = $operator; + } + public function getOperator() + { + return $this->operator; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AnalyticsReporting/MetricHeader.php b/vendor/google/apiclient-services/src/Google/Service/AnalyticsReporting/MetricHeader.php new file mode 100644 index 00000000..04a84b96 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AnalyticsReporting/MetricHeader.php @@ -0,0 +1,42 @@ +metricHeaderEntries = $metricHeaderEntries; + } + public function getMetricHeaderEntries() + { + return $this->metricHeaderEntries; + } + public function setPivotHeaders($pivotHeaders) + { + $this->pivotHeaders = $pivotHeaders; + } + public function getPivotHeaders() + { + return $this->pivotHeaders; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AnalyticsReporting/MetricHeaderEntry.php b/vendor/google/apiclient-services/src/Google/Service/AnalyticsReporting/MetricHeaderEntry.php new file mode 100644 index 00000000..62ddbcef --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AnalyticsReporting/MetricHeaderEntry.php @@ -0,0 +1,39 @@ +name = $name; + } + public function getName() + { + return $this->name; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AnalyticsReporting/OrFiltersForSegment.php b/vendor/google/apiclient-services/src/Google/Service/AnalyticsReporting/OrFiltersForSegment.php new file mode 100644 index 00000000..a4bc7a61 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AnalyticsReporting/OrFiltersForSegment.php @@ -0,0 +1,32 @@ +segmentFilterClauses = $segmentFilterClauses; + } + public function getSegmentFilterClauses() + { + return $this->segmentFilterClauses; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AnalyticsReporting/OrderBy.php b/vendor/google/apiclient-services/src/Google/Service/AnalyticsReporting/OrderBy.php new file mode 100644 index 00000000..0793be24 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AnalyticsReporting/OrderBy.php @@ -0,0 +1,48 @@ +fieldName = $fieldName; + } + public function getFieldName() + { + return $this->fieldName; + } + public function setOrderType($orderType) + { + $this->orderType = $orderType; + } + public function getOrderType() + { + return $this->orderType; + } + public function setSortOrder($sortOrder) + { + $this->sortOrder = $sortOrder; + } + public function getSortOrder() + { + return $this->sortOrder; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AnalyticsReporting/Pivot.php b/vendor/google/apiclient-services/src/Google/Service/AnalyticsReporting/Pivot.php new file mode 100644 index 00000000..cb412463 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AnalyticsReporting/Pivot.php @@ -0,0 +1,70 @@ +dimensionFilterClauses = $dimensionFilterClauses; + } + public function getDimensionFilterClauses() + { + return $this->dimensionFilterClauses; + } + public function setDimensions($dimensions) + { + $this->dimensions = $dimensions; + } + public function getDimensions() + { + return $this->dimensions; + } + public function setMaxGroupCount($maxGroupCount) + { + $this->maxGroupCount = $maxGroupCount; + } + public function getMaxGroupCount() + { + return $this->maxGroupCount; + } + public function setMetrics($metrics) + { + $this->metrics = $metrics; + } + public function getMetrics() + { + return $this->metrics; + } + public function setStartGroup($startGroup) + { + $this->startGroup = $startGroup; + } + public function getStartGroup() + { + return $this->startGroup; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AnalyticsReporting/PivotHeader.php b/vendor/google/apiclient-services/src/Google/Service/AnalyticsReporting/PivotHeader.php new file mode 100644 index 00000000..4f3b1c01 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AnalyticsReporting/PivotHeader.php @@ -0,0 +1,41 @@ +pivotHeaderEntries = $pivotHeaderEntries; + } + public function getPivotHeaderEntries() + { + return $this->pivotHeaderEntries; + } + public function setTotalPivotGroupsCount($totalPivotGroupsCount) + { + $this->totalPivotGroupsCount = $totalPivotGroupsCount; + } + public function getTotalPivotGroupsCount() + { + return $this->totalPivotGroupsCount; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AnalyticsReporting/PivotHeaderEntry.php b/vendor/google/apiclient-services/src/Google/Service/AnalyticsReporting/PivotHeaderEntry.php new file mode 100644 index 00000000..2b74aefd --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AnalyticsReporting/PivotHeaderEntry.php @@ -0,0 +1,50 @@ +dimensionNames = $dimensionNames; + } + public function getDimensionNames() + { + return $this->dimensionNames; + } + public function setDimensionValues($dimensionValues) + { + $this->dimensionValues = $dimensionValues; + } + public function getDimensionValues() + { + return $this->dimensionValues; + } + public function setMetric(Google_Service_AnalyticsReporting_MetricHeaderEntry $metric) + { + $this->metric = $metric; + } + public function getMetric() + { + return $this->metric; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AnalyticsReporting/PivotValueRegion.php b/vendor/google/apiclient-services/src/Google/Service/AnalyticsReporting/PivotValueRegion.php new file mode 100644 index 00000000..2cc4253f --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AnalyticsReporting/PivotValueRegion.php @@ -0,0 +1,31 @@ +values = $values; + } + public function getValues() + { + return $this->values; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AnalyticsReporting/Report.php b/vendor/google/apiclient-services/src/Google/Service/AnalyticsReporting/Report.php new file mode 100644 index 00000000..4aca26b4 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AnalyticsReporting/Report.php @@ -0,0 +1,50 @@ +columnHeader = $columnHeader; + } + public function getColumnHeader() + { + return $this->columnHeader; + } + public function setData(Google_Service_AnalyticsReporting_ReportData $data) + { + $this->data = $data; + } + public function getData() + { + return $this->data; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AnalyticsReporting/ReportData.php b/vendor/google/apiclient-services/src/Google/Service/AnalyticsReporting/ReportData.php new file mode 100644 index 00000000..81f3db2b --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AnalyticsReporting/ReportData.php @@ -0,0 +1,107 @@ +dataLastRefreshed = $dataLastRefreshed; + } + public function getDataLastRefreshed() + { + return $this->dataLastRefreshed; + } + public function setIsDataGolden($isDataGolden) + { + $this->isDataGolden = $isDataGolden; + } + public function getIsDataGolden() + { + return $this->isDataGolden; + } + public function setMaximums($maximums) + { + $this->maximums = $maximums; + } + public function getMaximums() + { + return $this->maximums; + } + public function setMinimums($minimums) + { + $this->minimums = $minimums; + } + public function getMinimums() + { + return $this->minimums; + } + public function setRowCount($rowCount) + { + $this->rowCount = $rowCount; + } + public function getRowCount() + { + return $this->rowCount; + } + public function setRows($rows) + { + $this->rows = $rows; + } + public function getRows() + { + return $this->rows; + } + public function setSamplesReadCounts($samplesReadCounts) + { + $this->samplesReadCounts = $samplesReadCounts; + } + public function getSamplesReadCounts() + { + return $this->samplesReadCounts; + } + public function setSamplingSpaceSizes($samplingSpaceSizes) + { + $this->samplingSpaceSizes = $samplingSpaceSizes; + } + public function getSamplingSpaceSizes() + { + return $this->samplingSpaceSizes; + } + public function setTotals($totals) + { + $this->totals = $totals; + } + public function getTotals() + { + return $this->totals; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AnalyticsReporting/ReportRequest.php b/vendor/google/apiclient-services/src/Google/Service/AnalyticsReporting/ReportRequest.php new file mode 100644 index 00000000..a5b7dcdf --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AnalyticsReporting/ReportRequest.php @@ -0,0 +1,184 @@ +cohortGroup = $cohortGroup; + } + public function getCohortGroup() + { + return $this->cohortGroup; + } + public function setDateRanges($dateRanges) + { + $this->dateRanges = $dateRanges; + } + public function getDateRanges() + { + return $this->dateRanges; + } + public function setDimensionFilterClauses($dimensionFilterClauses) + { + $this->dimensionFilterClauses = $dimensionFilterClauses; + } + public function getDimensionFilterClauses() + { + return $this->dimensionFilterClauses; + } + public function setDimensions($dimensions) + { + $this->dimensions = $dimensions; + } + public function getDimensions() + { + return $this->dimensions; + } + public function setFiltersExpression($filtersExpression) + { + $this->filtersExpression = $filtersExpression; + } + public function getFiltersExpression() + { + return $this->filtersExpression; + } + public function setHideTotals($hideTotals) + { + $this->hideTotals = $hideTotals; + } + public function getHideTotals() + { + return $this->hideTotals; + } + public function setHideValueRanges($hideValueRanges) + { + $this->hideValueRanges = $hideValueRanges; + } + public function getHideValueRanges() + { + return $this->hideValueRanges; + } + public function setIncludeEmptyRows($includeEmptyRows) + { + $this->includeEmptyRows = $includeEmptyRows; + } + public function getIncludeEmptyRows() + { + return $this->includeEmptyRows; + } + public function setMetricFilterClauses($metricFilterClauses) + { + $this->metricFilterClauses = $metricFilterClauses; + } + public function getMetricFilterClauses() + { + return $this->metricFilterClauses; + } + public function setMetrics($metrics) + { + $this->metrics = $metrics; + } + public function getMetrics() + { + return $this->metrics; + } + public function setOrderBys($orderBys) + { + $this->orderBys = $orderBys; + } + public function getOrderBys() + { + return $this->orderBys; + } + public function setPageSize($pageSize) + { + $this->pageSize = $pageSize; + } + public function getPageSize() + { + return $this->pageSize; + } + public function setPageToken($pageToken) + { + $this->pageToken = $pageToken; + } + public function getPageToken() + { + return $this->pageToken; + } + public function setPivots($pivots) + { + $this->pivots = $pivots; + } + public function getPivots() + { + return $this->pivots; + } + public function setSamplingLevel($samplingLevel) + { + $this->samplingLevel = $samplingLevel; + } + public function getSamplingLevel() + { + return $this->samplingLevel; + } + public function setSegments($segments) + { + $this->segments = $segments; + } + public function getSegments() + { + return $this->segments; + } + public function setViewId($viewId) + { + $this->viewId = $viewId; + } + public function getViewId() + { + return $this->viewId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AnalyticsReporting/ReportRow.php b/vendor/google/apiclient-services/src/Google/Service/AnalyticsReporting/ReportRow.php new file mode 100644 index 00000000..ee7224fd --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AnalyticsReporting/ReportRow.php @@ -0,0 +1,41 @@ +dimensions = $dimensions; + } + public function getDimensions() + { + return $this->dimensions; + } + public function setMetrics($metrics) + { + $this->metrics = $metrics; + } + public function getMetrics() + { + return $this->metrics; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AnalyticsReporting/Resource/Reports.php b/vendor/google/apiclient-services/src/Google/Service/AnalyticsReporting/Resource/Reports.php new file mode 100644 index 00000000..0fd6f6e3 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AnalyticsReporting/Resource/Reports.php @@ -0,0 +1,41 @@ + + * $analyticsreportingService = new Google_Service_AnalyticsReporting(...); + * $reports = $analyticsreportingService->reports; + * + */ +class Google_Service_AnalyticsReporting_Resource_Reports extends Google_Service_Resource +{ + /** + * Returns the Analytics data. (reports.batchGet) + * + * @param Google_Service_AnalyticsReporting_GetReportsRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_AnalyticsReporting_GetReportsResponse + */ + public function batchGet(Google_Service_AnalyticsReporting_GetReportsRequest $postBody, $optParams = array()) + { + $params = array('postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('batchGet', array($params), "Google_Service_AnalyticsReporting_GetReportsResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AnalyticsReporting/Segment.php b/vendor/google/apiclient-services/src/Google/Service/AnalyticsReporting/Segment.php new file mode 100644 index 00000000..5c4eda89 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AnalyticsReporting/Segment.php @@ -0,0 +1,40 @@ +dynamicSegment = $dynamicSegment; + } + public function getDynamicSegment() + { + return $this->dynamicSegment; + } + public function setSegmentId($segmentId) + { + $this->segmentId = $segmentId; + } + public function getSegmentId() + { + return $this->segmentId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AnalyticsReporting/SegmentDefinition.php b/vendor/google/apiclient-services/src/Google/Service/AnalyticsReporting/SegmentDefinition.php new file mode 100644 index 00000000..fcd3d5b8 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AnalyticsReporting/SegmentDefinition.php @@ -0,0 +1,32 @@ +segmentFilters = $segmentFilters; + } + public function getSegmentFilters() + { + return $this->segmentFilters; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AnalyticsReporting/SegmentDimensionFilter.php b/vendor/google/apiclient-services/src/Google/Service/AnalyticsReporting/SegmentDimensionFilter.php new file mode 100644 index 00000000..d6424e15 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AnalyticsReporting/SegmentDimensionFilter.php @@ -0,0 +1,76 @@ +caseSensitive = $caseSensitive; + } + public function getCaseSensitive() + { + return $this->caseSensitive; + } + public function setDimensionName($dimensionName) + { + $this->dimensionName = $dimensionName; + } + public function getDimensionName() + { + return $this->dimensionName; + } + public function setExpressions($expressions) + { + $this->expressions = $expressions; + } + public function getExpressions() + { + return $this->expressions; + } + public function setMaxComparisonValue($maxComparisonValue) + { + $this->maxComparisonValue = $maxComparisonValue; + } + public function getMaxComparisonValue() + { + return $this->maxComparisonValue; + } + public function setMinComparisonValue($minComparisonValue) + { + $this->minComparisonValue = $minComparisonValue; + } + public function getMinComparisonValue() + { + return $this->minComparisonValue; + } + public function setOperator($operator) + { + $this->operator = $operator; + } + public function getOperator() + { + return $this->operator; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AnalyticsReporting/SegmentFilter.php b/vendor/google/apiclient-services/src/Google/Service/AnalyticsReporting/SegmentFilter.php new file mode 100644 index 00000000..9206784c --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AnalyticsReporting/SegmentFilter.php @@ -0,0 +1,50 @@ +not = $not; + } + public function getNot() + { + return $this->not; + } + public function setSequenceSegment(Google_Service_AnalyticsReporting_SequenceSegment $sequenceSegment) + { + $this->sequenceSegment = $sequenceSegment; + } + public function getSequenceSegment() + { + return $this->sequenceSegment; + } + public function setSimpleSegment(Google_Service_AnalyticsReporting_SimpleSegment $simpleSegment) + { + $this->simpleSegment = $simpleSegment; + } + public function getSimpleSegment() + { + return $this->simpleSegment; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AnalyticsReporting/SegmentFilterClause.php b/vendor/google/apiclient-services/src/Google/Service/AnalyticsReporting/SegmentFilterClause.php new file mode 100644 index 00000000..709a1017 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AnalyticsReporting/SegmentFilterClause.php @@ -0,0 +1,50 @@ +dimensionFilter = $dimensionFilter; + } + public function getDimensionFilter() + { + return $this->dimensionFilter; + } + public function setMetricFilter(Google_Service_AnalyticsReporting_SegmentMetricFilter $metricFilter) + { + $this->metricFilter = $metricFilter; + } + public function getMetricFilter() + { + return $this->metricFilter; + } + public function setNot($not) + { + $this->not = $not; + } + public function getNot() + { + return $this->not; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AnalyticsReporting/SegmentMetricFilter.php b/vendor/google/apiclient-services/src/Google/Service/AnalyticsReporting/SegmentMetricFilter.php new file mode 100644 index 00000000..f0d91897 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AnalyticsReporting/SegmentMetricFilter.php @@ -0,0 +1,66 @@ +comparisonValue = $comparisonValue; + } + public function getComparisonValue() + { + return $this->comparisonValue; + } + public function setMaxComparisonValue($maxComparisonValue) + { + $this->maxComparisonValue = $maxComparisonValue; + } + public function getMaxComparisonValue() + { + return $this->maxComparisonValue; + } + public function setMetricName($metricName) + { + $this->metricName = $metricName; + } + public function getMetricName() + { + return $this->metricName; + } + public function setOperator($operator) + { + $this->operator = $operator; + } + public function getOperator() + { + return $this->operator; + } + public function setScope($scope) + { + $this->scope = $scope; + } + public function getScope() + { + return $this->scope; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AnalyticsReporting/SegmentSequenceStep.php b/vendor/google/apiclient-services/src/Google/Service/AnalyticsReporting/SegmentSequenceStep.php new file mode 100644 index 00000000..adeb2a84 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AnalyticsReporting/SegmentSequenceStep.php @@ -0,0 +1,41 @@ +matchType = $matchType; + } + public function getMatchType() + { + return $this->matchType; + } + public function setOrFiltersForSegment($orFiltersForSegment) + { + $this->orFiltersForSegment = $orFiltersForSegment; + } + public function getOrFiltersForSegment() + { + return $this->orFiltersForSegment; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AnalyticsReporting/SequenceSegment.php b/vendor/google/apiclient-services/src/Google/Service/AnalyticsReporting/SequenceSegment.php new file mode 100644 index 00000000..5ebc30f7 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AnalyticsReporting/SequenceSegment.php @@ -0,0 +1,41 @@ +firstStepShouldMatchFirstHit = $firstStepShouldMatchFirstHit; + } + public function getFirstStepShouldMatchFirstHit() + { + return $this->firstStepShouldMatchFirstHit; + } + public function setSegmentSequenceSteps($segmentSequenceSteps) + { + $this->segmentSequenceSteps = $segmentSequenceSteps; + } + public function getSegmentSequenceSteps() + { + return $this->segmentSequenceSteps; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AnalyticsReporting/SimpleSegment.php b/vendor/google/apiclient-services/src/Google/Service/AnalyticsReporting/SimpleSegment.php new file mode 100644 index 00000000..af8f4562 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AnalyticsReporting/SimpleSegment.php @@ -0,0 +1,32 @@ +orFiltersForSegment = $orFiltersForSegment; + } + public function getOrFiltersForSegment() + { + return $this->orFiltersForSegment; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise.php b/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise.php new file mode 100644 index 00000000..791f403c --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise.php @@ -0,0 +1,1454 @@ + + * Manages the deployment of apps to Android for Work users.

+ * + *

+ * For more information about this service, see the API + * Documentation + *

+ * + * @author Google, Inc. + */ +class Google_Service_AndroidEnterprise extends Google_Service +{ + /** Manage corporate Android devices. */ + const ANDROIDENTERPRISE = + "https://www.googleapis.com/auth/androidenterprise"; + + public $devices; + public $enterprises; + public $entitlements; + public $grouplicenses; + public $grouplicenseusers; + public $installs; + public $managedconfigurationsfordevice; + public $managedconfigurationsforuser; + public $permissions; + public $products; + public $serviceaccountkeys; + public $storelayoutclusters; + public $storelayoutpages; + public $users; + + /** + * Constructs the internal representation of the AndroidEnterprise service. + * + * @param Google_Client $client + */ + public function __construct(Google_Client $client) + { + parent::__construct($client); + $this->rootUrl = 'https://www.googleapis.com/'; + $this->servicePath = 'androidenterprise/v1/'; + $this->version = 'v1'; + $this->serviceName = 'androidenterprise'; + + $this->devices = new Google_Service_AndroidEnterprise_Resource_Devices( + $this, + $this->serviceName, + 'devices', + array( + 'methods' => array( + 'get' => array( + 'path' => 'enterprises/{enterpriseId}/users/{userId}/devices/{deviceId}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'enterpriseId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'userId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'deviceId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'getState' => array( + 'path' => 'enterprises/{enterpriseId}/users/{userId}/devices/{deviceId}/state', + 'httpMethod' => 'GET', + 'parameters' => array( + 'enterpriseId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'userId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'deviceId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'enterprises/{enterpriseId}/users/{userId}/devices', + 'httpMethod' => 'GET', + 'parameters' => array( + 'enterpriseId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'userId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'setState' => array( + 'path' => 'enterprises/{enterpriseId}/users/{userId}/devices/{deviceId}/state', + 'httpMethod' => 'PUT', + 'parameters' => array( + 'enterpriseId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'userId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'deviceId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->enterprises = new Google_Service_AndroidEnterprise_Resource_Enterprises( + $this, + $this->serviceName, + 'enterprises', + array( + 'methods' => array( + 'acknowledgeNotificationSet' => array( + 'path' => 'enterprises/acknowledgeNotificationSet', + 'httpMethod' => 'POST', + 'parameters' => array( + 'notificationSetId' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'completeSignup' => array( + 'path' => 'enterprises/completeSignup', + 'httpMethod' => 'POST', + 'parameters' => array( + 'completionToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'enterpriseToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'createWebToken' => array( + 'path' => 'enterprises/{enterpriseId}/createWebToken', + 'httpMethod' => 'POST', + 'parameters' => array( + 'enterpriseId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'delete' => array( + 'path' => 'enterprises/{enterpriseId}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'enterpriseId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'enroll' => array( + 'path' => 'enterprises/enroll', + 'httpMethod' => 'POST', + 'parameters' => array( + 'token' => array( + 'location' => 'query', + 'type' => 'string', + 'required' => true, + ), + ), + ),'generateSignupUrl' => array( + 'path' => 'enterprises/signupUrl', + 'httpMethod' => 'POST', + 'parameters' => array( + 'callbackUrl' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'get' => array( + 'path' => 'enterprises/{enterpriseId}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'enterpriseId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'getServiceAccount' => array( + 'path' => 'enterprises/{enterpriseId}/serviceAccount', + 'httpMethod' => 'GET', + 'parameters' => array( + 'enterpriseId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'keyType' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'getStoreLayout' => array( + 'path' => 'enterprises/{enterpriseId}/storeLayout', + 'httpMethod' => 'GET', + 'parameters' => array( + 'enterpriseId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'insert' => array( + 'path' => 'enterprises', + 'httpMethod' => 'POST', + 'parameters' => array( + 'token' => array( + 'location' => 'query', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'enterprises', + 'httpMethod' => 'GET', + 'parameters' => array( + 'domain' => array( + 'location' => 'query', + 'type' => 'string', + 'required' => true, + ), + ), + ),'pullNotificationSet' => array( + 'path' => 'enterprises/pullNotificationSet', + 'httpMethod' => 'POST', + 'parameters' => array( + 'requestMode' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'sendTestPushNotification' => array( + 'path' => 'enterprises/{enterpriseId}/sendTestPushNotification', + 'httpMethod' => 'POST', + 'parameters' => array( + 'enterpriseId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'setAccount' => array( + 'path' => 'enterprises/{enterpriseId}/account', + 'httpMethod' => 'PUT', + 'parameters' => array( + 'enterpriseId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'setStoreLayout' => array( + 'path' => 'enterprises/{enterpriseId}/storeLayout', + 'httpMethod' => 'PUT', + 'parameters' => array( + 'enterpriseId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'unenroll' => array( + 'path' => 'enterprises/{enterpriseId}/unenroll', + 'httpMethod' => 'POST', + 'parameters' => array( + 'enterpriseId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->entitlements = new Google_Service_AndroidEnterprise_Resource_Entitlements( + $this, + $this->serviceName, + 'entitlements', + array( + 'methods' => array( + 'delete' => array( + 'path' => 'enterprises/{enterpriseId}/users/{userId}/entitlements/{entitlementId}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'enterpriseId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'userId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'entitlementId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'get' => array( + 'path' => 'enterprises/{enterpriseId}/users/{userId}/entitlements/{entitlementId}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'enterpriseId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'userId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'entitlementId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'enterprises/{enterpriseId}/users/{userId}/entitlements', + 'httpMethod' => 'GET', + 'parameters' => array( + 'enterpriseId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'userId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'patch' => array( + 'path' => 'enterprises/{enterpriseId}/users/{userId}/entitlements/{entitlementId}', + 'httpMethod' => 'PATCH', + 'parameters' => array( + 'enterpriseId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'userId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'entitlementId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'install' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + ), + ),'update' => array( + 'path' => 'enterprises/{enterpriseId}/users/{userId}/entitlements/{entitlementId}', + 'httpMethod' => 'PUT', + 'parameters' => array( + 'enterpriseId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'userId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'entitlementId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'install' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + ), + ), + ) + ) + ); + $this->grouplicenses = new Google_Service_AndroidEnterprise_Resource_Grouplicenses( + $this, + $this->serviceName, + 'grouplicenses', + array( + 'methods' => array( + 'get' => array( + 'path' => 'enterprises/{enterpriseId}/groupLicenses/{groupLicenseId}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'enterpriseId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'groupLicenseId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'enterprises/{enterpriseId}/groupLicenses', + 'httpMethod' => 'GET', + 'parameters' => array( + 'enterpriseId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->grouplicenseusers = new Google_Service_AndroidEnterprise_Resource_Grouplicenseusers( + $this, + $this->serviceName, + 'grouplicenseusers', + array( + 'methods' => array( + 'list' => array( + 'path' => 'enterprises/{enterpriseId}/groupLicenses/{groupLicenseId}/users', + 'httpMethod' => 'GET', + 'parameters' => array( + 'enterpriseId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'groupLicenseId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->installs = new Google_Service_AndroidEnterprise_Resource_Installs( + $this, + $this->serviceName, + 'installs', + array( + 'methods' => array( + 'delete' => array( + 'path' => 'enterprises/{enterpriseId}/users/{userId}/devices/{deviceId}/installs/{installId}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'enterpriseId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'userId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'deviceId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'installId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'get' => array( + 'path' => 'enterprises/{enterpriseId}/users/{userId}/devices/{deviceId}/installs/{installId}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'enterpriseId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'userId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'deviceId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'installId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'enterprises/{enterpriseId}/users/{userId}/devices/{deviceId}/installs', + 'httpMethod' => 'GET', + 'parameters' => array( + 'enterpriseId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'userId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'deviceId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'patch' => array( + 'path' => 'enterprises/{enterpriseId}/users/{userId}/devices/{deviceId}/installs/{installId}', + 'httpMethod' => 'PATCH', + 'parameters' => array( + 'enterpriseId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'userId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'deviceId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'installId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'update' => array( + 'path' => 'enterprises/{enterpriseId}/users/{userId}/devices/{deviceId}/installs/{installId}', + 'httpMethod' => 'PUT', + 'parameters' => array( + 'enterpriseId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'userId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'deviceId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'installId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->managedconfigurationsfordevice = new Google_Service_AndroidEnterprise_Resource_Managedconfigurationsfordevice( + $this, + $this->serviceName, + 'managedconfigurationsfordevice', + array( + 'methods' => array( + 'delete' => array( + 'path' => 'enterprises/{enterpriseId}/users/{userId}/devices/{deviceId}/managedConfigurationsForDevice/{managedConfigurationForDeviceId}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'enterpriseId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'userId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'deviceId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'managedConfigurationForDeviceId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'get' => array( + 'path' => 'enterprises/{enterpriseId}/users/{userId}/devices/{deviceId}/managedConfigurationsForDevice/{managedConfigurationForDeviceId}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'enterpriseId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'userId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'deviceId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'managedConfigurationForDeviceId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'enterprises/{enterpriseId}/users/{userId}/devices/{deviceId}/managedConfigurationsForDevice', + 'httpMethod' => 'GET', + 'parameters' => array( + 'enterpriseId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'userId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'deviceId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'patch' => array( + 'path' => 'enterprises/{enterpriseId}/users/{userId}/devices/{deviceId}/managedConfigurationsForDevice/{managedConfigurationForDeviceId}', + 'httpMethod' => 'PATCH', + 'parameters' => array( + 'enterpriseId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'userId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'deviceId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'managedConfigurationForDeviceId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'update' => array( + 'path' => 'enterprises/{enterpriseId}/users/{userId}/devices/{deviceId}/managedConfigurationsForDevice/{managedConfigurationForDeviceId}', + 'httpMethod' => 'PUT', + 'parameters' => array( + 'enterpriseId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'userId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'deviceId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'managedConfigurationForDeviceId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->managedconfigurationsforuser = new Google_Service_AndroidEnterprise_Resource_Managedconfigurationsforuser( + $this, + $this->serviceName, + 'managedconfigurationsforuser', + array( + 'methods' => array( + 'delete' => array( + 'path' => 'enterprises/{enterpriseId}/users/{userId}/managedConfigurationsForUser/{managedConfigurationForUserId}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'enterpriseId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'userId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'managedConfigurationForUserId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'get' => array( + 'path' => 'enterprises/{enterpriseId}/users/{userId}/managedConfigurationsForUser/{managedConfigurationForUserId}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'enterpriseId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'userId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'managedConfigurationForUserId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'enterprises/{enterpriseId}/users/{userId}/managedConfigurationsForUser', + 'httpMethod' => 'GET', + 'parameters' => array( + 'enterpriseId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'userId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'patch' => array( + 'path' => 'enterprises/{enterpriseId}/users/{userId}/managedConfigurationsForUser/{managedConfigurationForUserId}', + 'httpMethod' => 'PATCH', + 'parameters' => array( + 'enterpriseId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'userId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'managedConfigurationForUserId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'update' => array( + 'path' => 'enterprises/{enterpriseId}/users/{userId}/managedConfigurationsForUser/{managedConfigurationForUserId}', + 'httpMethod' => 'PUT', + 'parameters' => array( + 'enterpriseId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'userId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'managedConfigurationForUserId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->permissions = new Google_Service_AndroidEnterprise_Resource_Permissions( + $this, + $this->serviceName, + 'permissions', + array( + 'methods' => array( + 'get' => array( + 'path' => 'permissions/{permissionId}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'permissionId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'language' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + $this->products = new Google_Service_AndroidEnterprise_Resource_Products( + $this, + $this->serviceName, + 'products', + array( + 'methods' => array( + 'approve' => array( + 'path' => 'enterprises/{enterpriseId}/products/{productId}/approve', + 'httpMethod' => 'POST', + 'parameters' => array( + 'enterpriseId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'productId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'generateApprovalUrl' => array( + 'path' => 'enterprises/{enterpriseId}/products/{productId}/generateApprovalUrl', + 'httpMethod' => 'POST', + 'parameters' => array( + 'enterpriseId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'productId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'languageCode' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'get' => array( + 'path' => 'enterprises/{enterpriseId}/products/{productId}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'enterpriseId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'productId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'language' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'getAppRestrictionsSchema' => array( + 'path' => 'enterprises/{enterpriseId}/products/{productId}/appRestrictionsSchema', + 'httpMethod' => 'GET', + 'parameters' => array( + 'enterpriseId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'productId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'language' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'getPermissions' => array( + 'path' => 'enterprises/{enterpriseId}/products/{productId}/permissions', + 'httpMethod' => 'GET', + 'parameters' => array( + 'enterpriseId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'productId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'enterprises/{enterpriseId}/products', + 'httpMethod' => 'GET', + 'parameters' => array( + 'enterpriseId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'approved' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + 'language' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'query' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'token' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'unapprove' => array( + 'path' => 'enterprises/{enterpriseId}/products/{productId}/unapprove', + 'httpMethod' => 'POST', + 'parameters' => array( + 'enterpriseId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'productId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->serviceaccountkeys = new Google_Service_AndroidEnterprise_Resource_Serviceaccountkeys( + $this, + $this->serviceName, + 'serviceaccountkeys', + array( + 'methods' => array( + 'delete' => array( + 'path' => 'enterprises/{enterpriseId}/serviceAccountKeys/{keyId}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'enterpriseId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'keyId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'insert' => array( + 'path' => 'enterprises/{enterpriseId}/serviceAccountKeys', + 'httpMethod' => 'POST', + 'parameters' => array( + 'enterpriseId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'enterprises/{enterpriseId}/serviceAccountKeys', + 'httpMethod' => 'GET', + 'parameters' => array( + 'enterpriseId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->storelayoutclusters = new Google_Service_AndroidEnterprise_Resource_Storelayoutclusters( + $this, + $this->serviceName, + 'storelayoutclusters', + array( + 'methods' => array( + 'delete' => array( + 'path' => 'enterprises/{enterpriseId}/storeLayout/pages/{pageId}/clusters/{clusterId}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'enterpriseId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'pageId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'clusterId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'get' => array( + 'path' => 'enterprises/{enterpriseId}/storeLayout/pages/{pageId}/clusters/{clusterId}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'enterpriseId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'pageId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'clusterId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'insert' => array( + 'path' => 'enterprises/{enterpriseId}/storeLayout/pages/{pageId}/clusters', + 'httpMethod' => 'POST', + 'parameters' => array( + 'enterpriseId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'pageId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'enterprises/{enterpriseId}/storeLayout/pages/{pageId}/clusters', + 'httpMethod' => 'GET', + 'parameters' => array( + 'enterpriseId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'pageId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'patch' => array( + 'path' => 'enterprises/{enterpriseId}/storeLayout/pages/{pageId}/clusters/{clusterId}', + 'httpMethod' => 'PATCH', + 'parameters' => array( + 'enterpriseId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'pageId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'clusterId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'update' => array( + 'path' => 'enterprises/{enterpriseId}/storeLayout/pages/{pageId}/clusters/{clusterId}', + 'httpMethod' => 'PUT', + 'parameters' => array( + 'enterpriseId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'pageId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'clusterId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->storelayoutpages = new Google_Service_AndroidEnterprise_Resource_Storelayoutpages( + $this, + $this->serviceName, + 'storelayoutpages', + array( + 'methods' => array( + 'delete' => array( + 'path' => 'enterprises/{enterpriseId}/storeLayout/pages/{pageId}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'enterpriseId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'pageId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'get' => array( + 'path' => 'enterprises/{enterpriseId}/storeLayout/pages/{pageId}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'enterpriseId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'pageId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'insert' => array( + 'path' => 'enterprises/{enterpriseId}/storeLayout/pages', + 'httpMethod' => 'POST', + 'parameters' => array( + 'enterpriseId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'enterprises/{enterpriseId}/storeLayout/pages', + 'httpMethod' => 'GET', + 'parameters' => array( + 'enterpriseId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'patch' => array( + 'path' => 'enterprises/{enterpriseId}/storeLayout/pages/{pageId}', + 'httpMethod' => 'PATCH', + 'parameters' => array( + 'enterpriseId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'pageId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'update' => array( + 'path' => 'enterprises/{enterpriseId}/storeLayout/pages/{pageId}', + 'httpMethod' => 'PUT', + 'parameters' => array( + 'enterpriseId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'pageId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->users = new Google_Service_AndroidEnterprise_Resource_Users( + $this, + $this->serviceName, + 'users', + array( + 'methods' => array( + 'delete' => array( + 'path' => 'enterprises/{enterpriseId}/users/{userId}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'enterpriseId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'userId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'generateAuthenticationToken' => array( + 'path' => 'enterprises/{enterpriseId}/users/{userId}/authenticationToken', + 'httpMethod' => 'POST', + 'parameters' => array( + 'enterpriseId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'userId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'generateToken' => array( + 'path' => 'enterprises/{enterpriseId}/users/{userId}/token', + 'httpMethod' => 'POST', + 'parameters' => array( + 'enterpriseId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'userId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'get' => array( + 'path' => 'enterprises/{enterpriseId}/users/{userId}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'enterpriseId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'userId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'getAvailableProductSet' => array( + 'path' => 'enterprises/{enterpriseId}/users/{userId}/availableProductSet', + 'httpMethod' => 'GET', + 'parameters' => array( + 'enterpriseId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'userId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'insert' => array( + 'path' => 'enterprises/{enterpriseId}/users', + 'httpMethod' => 'POST', + 'parameters' => array( + 'enterpriseId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'enterprises/{enterpriseId}/users', + 'httpMethod' => 'GET', + 'parameters' => array( + 'enterpriseId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'email' => array( + 'location' => 'query', + 'type' => 'string', + 'required' => true, + ), + ), + ),'patch' => array( + 'path' => 'enterprises/{enterpriseId}/users/{userId}', + 'httpMethod' => 'PATCH', + 'parameters' => array( + 'enterpriseId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'userId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'revokeToken' => array( + 'path' => 'enterprises/{enterpriseId}/users/{userId}/token', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'enterpriseId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'userId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'setAvailableProductSet' => array( + 'path' => 'enterprises/{enterpriseId}/users/{userId}/availableProductSet', + 'httpMethod' => 'PUT', + 'parameters' => array( + 'enterpriseId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'userId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'update' => array( + 'path' => 'enterprises/{enterpriseId}/users/{userId}', + 'httpMethod' => 'PUT', + 'parameters' => array( + 'enterpriseId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'userId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/Administrator.php b/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/Administrator.php new file mode 100644 index 00000000..8e29748f --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/Administrator.php @@ -0,0 +1,30 @@ +email = $email; + } + public function getEmail() + { + return $this->email; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/AdministratorWebToken.php b/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/AdministratorWebToken.php new file mode 100644 index 00000000..19fdfb42 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/AdministratorWebToken.php @@ -0,0 +1,39 @@ +kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setToken($token) + { + $this->token = $token; + } + public function getToken() + { + return $this->token; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/AdministratorWebTokenSpec.php b/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/AdministratorWebTokenSpec.php new file mode 100644 index 00000000..c2269b19 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/AdministratorWebTokenSpec.php @@ -0,0 +1,49 @@ +kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setParent($parent) + { + $this->parent = $parent; + } + public function getParent() + { + return $this->parent; + } + public function setPermission($permission) + { + $this->permission = $permission; + } + public function getPermission() + { + return $this->permission; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/AppRestrictionsSchema.php b/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/AppRestrictionsSchema.php new file mode 100644 index 00000000..fc64b129 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/AppRestrictionsSchema.php @@ -0,0 +1,41 @@ +kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setRestrictions($restrictions) + { + $this->restrictions = $restrictions; + } + public function getRestrictions() + { + return $this->restrictions; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/AppRestrictionsSchemaChangeEvent.php b/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/AppRestrictionsSchemaChangeEvent.php new file mode 100644 index 00000000..795a180f --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/AppRestrictionsSchemaChangeEvent.php @@ -0,0 +1,30 @@ +productId = $productId; + } + public function getProductId() + { + return $this->productId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/AppRestrictionsSchemaRestriction.php b/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/AppRestrictionsSchemaRestriction.php new file mode 100644 index 00000000..f1701ce9 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/AppRestrictionsSchemaRestriction.php @@ -0,0 +1,96 @@ +defaultValue = $defaultValue; + } + public function getDefaultValue() + { + return $this->defaultValue; + } + public function setDescription($description) + { + $this->description = $description; + } + public function getDescription() + { + return $this->description; + } + public function setEntry($entry) + { + $this->entry = $entry; + } + public function getEntry() + { + return $this->entry; + } + public function setEntryValue($entryValue) + { + $this->entryValue = $entryValue; + } + public function getEntryValue() + { + return $this->entryValue; + } + public function setKey($key) + { + $this->key = $key; + } + public function getKey() + { + return $this->key; + } + public function setNestedRestriction($nestedRestriction) + { + $this->nestedRestriction = $nestedRestriction; + } + public function getNestedRestriction() + { + return $this->nestedRestriction; + } + public function setRestrictionType($restrictionType) + { + $this->restrictionType = $restrictionType; + } + public function getRestrictionType() + { + return $this->restrictionType; + } + public function setTitle($title) + { + $this->title = $title; + } + public function getTitle() + { + return $this->title; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/AppRestrictionsSchemaRestrictionRestrictionValue.php b/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/AppRestrictionsSchemaRestrictionRestrictionValue.php new file mode 100644 index 00000000..8a7219f5 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/AppRestrictionsSchemaRestrictionRestrictionValue.php @@ -0,0 +1,67 @@ +type = $type; + } + public function getType() + { + return $this->type; + } + public function setValueBool($valueBool) + { + $this->valueBool = $valueBool; + } + public function getValueBool() + { + return $this->valueBool; + } + public function setValueInteger($valueInteger) + { + $this->valueInteger = $valueInteger; + } + public function getValueInteger() + { + return $this->valueInteger; + } + public function setValueMultiselect($valueMultiselect) + { + $this->valueMultiselect = $valueMultiselect; + } + public function getValueMultiselect() + { + return $this->valueMultiselect; + } + public function setValueString($valueString) + { + $this->valueString = $valueString; + } + public function getValueString() + { + return $this->valueString; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/AppUpdateEvent.php b/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/AppUpdateEvent.php new file mode 100644 index 00000000..0c32f9d0 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/AppUpdateEvent.php @@ -0,0 +1,30 @@ +productId = $productId; + } + public function getProductId() + { + return $this->productId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/AppVersion.php b/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/AppVersion.php new file mode 100644 index 00000000..7d588b9f --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/AppVersion.php @@ -0,0 +1,39 @@ +versionCode = $versionCode; + } + public function getVersionCode() + { + return $this->versionCode; + } + public function setVersionString($versionString) + { + $this->versionString = $versionString; + } + public function getVersionString() + { + return $this->versionString; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/ApprovalUrlInfo.php b/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/ApprovalUrlInfo.php new file mode 100644 index 00000000..21a32e4f --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/ApprovalUrlInfo.php @@ -0,0 +1,39 @@ +approvalUrl = $approvalUrl; + } + public function getApprovalUrl() + { + return $this->approvalUrl; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/AuthenticationToken.php b/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/AuthenticationToken.php new file mode 100644 index 00000000..02d94a76 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/AuthenticationToken.php @@ -0,0 +1,39 @@ +kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setToken($token) + { + $this->token = $token; + } + public function getToken() + { + return $this->token; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/Collection.php b/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/Collection.php new file mode 100644 index 00000000..12639e44 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/Collection.php @@ -0,0 +1,67 @@ +collectionId = $collectionId; + } + public function getCollectionId() + { + return $this->collectionId; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setProductId($productId) + { + $this->productId = $productId; + } + public function getProductId() + { + return $this->productId; + } + public function setVisibility($visibility) + { + $this->visibility = $visibility; + } + public function getVisibility() + { + return $this->visibility; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/CollectionViewersListResponse.php b/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/CollectionViewersListResponse.php new file mode 100644 index 00000000..7ebeee4e --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/CollectionViewersListResponse.php @@ -0,0 +1,41 @@ +kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setUser($user) + { + $this->user = $user; + } + public function getUser() + { + return $this->user; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/CollectionsListResponse.php b/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/CollectionsListResponse.php new file mode 100644 index 00000000..5fb82d31 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/CollectionsListResponse.php @@ -0,0 +1,41 @@ +collection = $collection; + } + public function getCollection() + { + return $this->collection; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/Device.php b/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/Device.php new file mode 100644 index 00000000..2d9b5e9f --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/Device.php @@ -0,0 +1,48 @@ +androidId = $androidId; + } + public function getAndroidId() + { + return $this->androidId; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setManagementType($managementType) + { + $this->managementType = $managementType; + } + public function getManagementType() + { + return $this->managementType; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/DeviceState.php b/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/DeviceState.php new file mode 100644 index 00000000..c186deb6 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/DeviceState.php @@ -0,0 +1,39 @@ +accountState = $accountState; + } + public function getAccountState() + { + return $this->accountState; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/DevicesListResponse.php b/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/DevicesListResponse.php new file mode 100644 index 00000000..1f5db7b7 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/DevicesListResponse.php @@ -0,0 +1,41 @@ +device = $device; + } + public function getDevice() + { + return $this->device; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/Enterprise.php b/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/Enterprise.php new file mode 100644 index 00000000..cd315106 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/Enterprise.php @@ -0,0 +1,68 @@ +administrator = $administrator; + } + public function getAdministrator() + { + return $this->administrator; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setPrimaryDomain($primaryDomain) + { + $this->primaryDomain = $primaryDomain; + } + public function getPrimaryDomain() + { + return $this->primaryDomain; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/EnterpriseAccount.php b/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/EnterpriseAccount.php new file mode 100644 index 00000000..5057cff7 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/EnterpriseAccount.php @@ -0,0 +1,39 @@ +accountEmail = $accountEmail; + } + public function getAccountEmail() + { + return $this->accountEmail; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/EnterprisesListResponse.php b/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/EnterprisesListResponse.php new file mode 100644 index 00000000..025a4c2f --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/EnterprisesListResponse.php @@ -0,0 +1,41 @@ +enterprise = $enterprise; + } + public function getEnterprise() + { + return $this->enterprise; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/EnterprisesSendTestPushNotificationResponse.php b/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/EnterprisesSendTestPushNotificationResponse.php new file mode 100644 index 00000000..ae1cb870 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/EnterprisesSendTestPushNotificationResponse.php @@ -0,0 +1,39 @@ +messageId = $messageId; + } + public function getMessageId() + { + return $this->messageId; + } + public function setTopicName($topicName) + { + $this->topicName = $topicName; + } + public function getTopicName() + { + return $this->topicName; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/Entitlement.php b/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/Entitlement.php new file mode 100644 index 00000000..098537cf --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/Entitlement.php @@ -0,0 +1,48 @@ +kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setProductId($productId) + { + $this->productId = $productId; + } + public function getProductId() + { + return $this->productId; + } + public function setReason($reason) + { + $this->reason = $reason; + } + public function getReason() + { + return $this->reason; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/EntitlementsListResponse.php b/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/EntitlementsListResponse.php new file mode 100644 index 00000000..bab3d685 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/EntitlementsListResponse.php @@ -0,0 +1,41 @@ +entitlement = $entitlement; + } + public function getEntitlement() + { + return $this->entitlement; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/GroupLicense.php b/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/GroupLicense.php new file mode 100644 index 00000000..ebce1eed --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/GroupLicense.php @@ -0,0 +1,75 @@ +acquisitionKind = $acquisitionKind; + } + public function getAcquisitionKind() + { + return $this->acquisitionKind; + } + public function setApproval($approval) + { + $this->approval = $approval; + } + public function getApproval() + { + return $this->approval; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNumProvisioned($numProvisioned) + { + $this->numProvisioned = $numProvisioned; + } + public function getNumProvisioned() + { + return $this->numProvisioned; + } + public function setNumPurchased($numPurchased) + { + $this->numPurchased = $numPurchased; + } + public function getNumPurchased() + { + return $this->numPurchased; + } + public function setProductId($productId) + { + $this->productId = $productId; + } + public function getProductId() + { + return $this->productId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/GroupLicenseUsersListResponse.php b/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/GroupLicenseUsersListResponse.php new file mode 100644 index 00000000..b0c506a2 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/GroupLicenseUsersListResponse.php @@ -0,0 +1,41 @@ +kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setUser($user) + { + $this->user = $user; + } + public function getUser() + { + return $this->user; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/GroupLicensesListResponse.php b/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/GroupLicensesListResponse.php new file mode 100644 index 00000000..a8a4f087 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/GroupLicensesListResponse.php @@ -0,0 +1,41 @@ +groupLicense = $groupLicense; + } + public function getGroupLicense() + { + return $this->groupLicense; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/Install.php b/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/Install.php new file mode 100644 index 00000000..de9fef90 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/Install.php @@ -0,0 +1,57 @@ +installState = $installState; + } + public function getInstallState() + { + return $this->installState; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setProductId($productId) + { + $this->productId = $productId; + } + public function getProductId() + { + return $this->productId; + } + public function setVersionCode($versionCode) + { + $this->versionCode = $versionCode; + } + public function getVersionCode() + { + return $this->versionCode; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/InstallFailureEvent.php b/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/InstallFailureEvent.php new file mode 100644 index 00000000..cb7e9bbd --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/InstallFailureEvent.php @@ -0,0 +1,66 @@ +deviceId = $deviceId; + } + public function getDeviceId() + { + return $this->deviceId; + } + public function setFailureDetails($failureDetails) + { + $this->failureDetails = $failureDetails; + } + public function getFailureDetails() + { + return $this->failureDetails; + } + public function setFailureReason($failureReason) + { + $this->failureReason = $failureReason; + } + public function getFailureReason() + { + return $this->failureReason; + } + public function setProductId($productId) + { + $this->productId = $productId; + } + public function getProductId() + { + return $this->productId; + } + public function setUserId($userId) + { + $this->userId = $userId; + } + public function getUserId() + { + return $this->userId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/InstallsListResponse.php b/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/InstallsListResponse.php new file mode 100644 index 00000000..f437011e --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/InstallsListResponse.php @@ -0,0 +1,41 @@ +install = $install; + } + public function getInstall() + { + return $this->install; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/LocalizedText.php b/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/LocalizedText.php new file mode 100644 index 00000000..a974b0ff --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/LocalizedText.php @@ -0,0 +1,39 @@ +locale = $locale; + } + public function getLocale() + { + return $this->locale; + } + public function setText($text) + { + $this->text = $text; + } + public function getText() + { + return $this->text; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/ManagedConfiguration.php b/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/ManagedConfiguration.php new file mode 100644 index 00000000..b2a66d70 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/ManagedConfiguration.php @@ -0,0 +1,50 @@ +kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setManagedProperty($managedProperty) + { + $this->managedProperty = $managedProperty; + } + public function getManagedProperty() + { + return $this->managedProperty; + } + public function setProductId($productId) + { + $this->productId = $productId; + } + public function getProductId() + { + return $this->productId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/ManagedConfigurationsForDeviceListResponse.php b/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/ManagedConfigurationsForDeviceListResponse.php new file mode 100644 index 00000000..b14134f6 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/ManagedConfigurationsForDeviceListResponse.php @@ -0,0 +1,41 @@ +kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setManagedConfigurationForDevice($managedConfigurationForDevice) + { + $this->managedConfigurationForDevice = $managedConfigurationForDevice; + } + public function getManagedConfigurationForDevice() + { + return $this->managedConfigurationForDevice; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/ManagedConfigurationsForUserListResponse.php b/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/ManagedConfigurationsForUserListResponse.php new file mode 100644 index 00000000..ce18d4ff --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/ManagedConfigurationsForUserListResponse.php @@ -0,0 +1,41 @@ +kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setManagedConfigurationForUser($managedConfigurationForUser) + { + $this->managedConfigurationForUser = $managedConfigurationForUser; + } + public function getManagedConfigurationForUser() + { + return $this->managedConfigurationForUser; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/ManagedProperty.php b/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/ManagedProperty.php new file mode 100644 index 00000000..8fe61415 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/ManagedProperty.php @@ -0,0 +1,87 @@ +key = $key; + } + public function getKey() + { + return $this->key; + } + public function setValueBool($valueBool) + { + $this->valueBool = $valueBool; + } + public function getValueBool() + { + return $this->valueBool; + } + public function setValueBundle(Google_Service_AndroidEnterprise_ManagedPropertyBundle $valueBundle) + { + $this->valueBundle = $valueBundle; + } + public function getValueBundle() + { + return $this->valueBundle; + } + public function setValueBundleArray($valueBundleArray) + { + $this->valueBundleArray = $valueBundleArray; + } + public function getValueBundleArray() + { + return $this->valueBundleArray; + } + public function setValueInteger($valueInteger) + { + $this->valueInteger = $valueInteger; + } + public function getValueInteger() + { + return $this->valueInteger; + } + public function setValueString($valueString) + { + $this->valueString = $valueString; + } + public function getValueString() + { + return $this->valueString; + } + public function setValueStringArray($valueStringArray) + { + $this->valueStringArray = $valueStringArray; + } + public function getValueStringArray() + { + return $this->valueStringArray; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/ManagedPropertyBundle.php b/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/ManagedPropertyBundle.php new file mode 100644 index 00000000..057ba250 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/ManagedPropertyBundle.php @@ -0,0 +1,32 @@ +managedProperty = $managedProperty; + } + public function getManagedProperty() + { + return $this->managedProperty; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/NewDeviceEvent.php b/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/NewDeviceEvent.php new file mode 100644 index 00000000..999e7692 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/NewDeviceEvent.php @@ -0,0 +1,48 @@ +deviceId = $deviceId; + } + public function getDeviceId() + { + return $this->deviceId; + } + public function setManagementType($managementType) + { + $this->managementType = $managementType; + } + public function getManagementType() + { + return $this->managementType; + } + public function setUserId($userId) + { + $this->userId = $userId; + } + public function getUserId() + { + return $this->userId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/NewPermissionsEvent.php b/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/NewPermissionsEvent.php new file mode 100644 index 00000000..ae464bfa --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/NewPermissionsEvent.php @@ -0,0 +1,49 @@ +approvedPermissions = $approvedPermissions; + } + public function getApprovedPermissions() + { + return $this->approvedPermissions; + } + public function setProductId($productId) + { + $this->productId = $productId; + } + public function getProductId() + { + return $this->productId; + } + public function setRequestedPermissions($requestedPermissions) + { + $this->requestedPermissions = $requestedPermissions; + } + public function getRequestedPermissions() + { + return $this->requestedPermissions; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/Notification.php b/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/Notification.php new file mode 100644 index 00000000..35f3afe4 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/Notification.php @@ -0,0 +1,109 @@ +appRestrictionsSchemaChangeEvent = $appRestrictionsSchemaChangeEvent; + } + public function getAppRestrictionsSchemaChangeEvent() + { + return $this->appRestrictionsSchemaChangeEvent; + } + public function setAppUpdateEvent(Google_Service_AndroidEnterprise_AppUpdateEvent $appUpdateEvent) + { + $this->appUpdateEvent = $appUpdateEvent; + } + public function getAppUpdateEvent() + { + return $this->appUpdateEvent; + } + public function setEnterpriseId($enterpriseId) + { + $this->enterpriseId = $enterpriseId; + } + public function getEnterpriseId() + { + return $this->enterpriseId; + } + public function setInstallFailureEvent(Google_Service_AndroidEnterprise_InstallFailureEvent $installFailureEvent) + { + $this->installFailureEvent = $installFailureEvent; + } + public function getInstallFailureEvent() + { + return $this->installFailureEvent; + } + public function setNewDeviceEvent(Google_Service_AndroidEnterprise_NewDeviceEvent $newDeviceEvent) + { + $this->newDeviceEvent = $newDeviceEvent; + } + public function getNewDeviceEvent() + { + return $this->newDeviceEvent; + } + public function setNewPermissionsEvent(Google_Service_AndroidEnterprise_NewPermissionsEvent $newPermissionsEvent) + { + $this->newPermissionsEvent = $newPermissionsEvent; + } + public function getNewPermissionsEvent() + { + return $this->newPermissionsEvent; + } + public function setProductApprovalEvent(Google_Service_AndroidEnterprise_ProductApprovalEvent $productApprovalEvent) + { + $this->productApprovalEvent = $productApprovalEvent; + } + public function getProductApprovalEvent() + { + return $this->productApprovalEvent; + } + public function setProductAvailabilityChangeEvent(Google_Service_AndroidEnterprise_ProductAvailabilityChangeEvent $productAvailabilityChangeEvent) + { + $this->productAvailabilityChangeEvent = $productAvailabilityChangeEvent; + } + public function getProductAvailabilityChangeEvent() + { + return $this->productAvailabilityChangeEvent; + } + public function setTimestampMillis($timestampMillis) + { + $this->timestampMillis = $timestampMillis; + } + public function getTimestampMillis() + { + return $this->timestampMillis; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/NotificationSet.php b/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/NotificationSet.php new file mode 100644 index 00000000..04ab0ac1 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/NotificationSet.php @@ -0,0 +1,50 @@ +kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNotification($notification) + { + $this->notification = $notification; + } + public function getNotification() + { + return $this->notification; + } + public function setNotificationSetId($notificationSetId) + { + $this->notificationSetId = $notificationSetId; + } + public function getNotificationSetId() + { + return $this->notificationSetId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/PageInfo.php b/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/PageInfo.php new file mode 100644 index 00000000..b28d2adc --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/PageInfo.php @@ -0,0 +1,48 @@ +resultPerPage = $resultPerPage; + } + public function getResultPerPage() + { + return $this->resultPerPage; + } + public function setStartIndex($startIndex) + { + $this->startIndex = $startIndex; + } + public function getStartIndex() + { + return $this->startIndex; + } + public function setTotalResults($totalResults) + { + $this->totalResults = $totalResults; + } + public function getTotalResults() + { + return $this->totalResults; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/Permission.php b/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/Permission.php new file mode 100644 index 00000000..1798c5bc --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/Permission.php @@ -0,0 +1,57 @@ +description = $description; + } + public function getDescription() + { + return $this->description; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setPermissionId($permissionId) + { + $this->permissionId = $permissionId; + } + public function getPermissionId() + { + return $this->permissionId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/Product.php b/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/Product.php new file mode 100644 index 00000000..f54d4ac1 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/Product.php @@ -0,0 +1,131 @@ +appVersion = $appVersion; + } + public function getAppVersion() + { + return $this->appVersion; + } + public function setAuthorName($authorName) + { + $this->authorName = $authorName; + } + public function getAuthorName() + { + return $this->authorName; + } + public function setDetailsUrl($detailsUrl) + { + $this->detailsUrl = $detailsUrl; + } + public function getDetailsUrl() + { + return $this->detailsUrl; + } + public function setDistributionChannel($distributionChannel) + { + $this->distributionChannel = $distributionChannel; + } + public function getDistributionChannel() + { + return $this->distributionChannel; + } + public function setIconUrl($iconUrl) + { + $this->iconUrl = $iconUrl; + } + public function getIconUrl() + { + return $this->iconUrl; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setProductId($productId) + { + $this->productId = $productId; + } + public function getProductId() + { + return $this->productId; + } + public function setProductPricing($productPricing) + { + $this->productPricing = $productPricing; + } + public function getProductPricing() + { + return $this->productPricing; + } + public function setRequiresContainerApp($requiresContainerApp) + { + $this->requiresContainerApp = $requiresContainerApp; + } + public function getRequiresContainerApp() + { + return $this->requiresContainerApp; + } + public function setSmallIconUrl($smallIconUrl) + { + $this->smallIconUrl = $smallIconUrl; + } + public function getSmallIconUrl() + { + return $this->smallIconUrl; + } + public function setTitle($title) + { + $this->title = $title; + } + public function getTitle() + { + return $this->title; + } + public function setWorkDetailsUrl($workDetailsUrl) + { + $this->workDetailsUrl = $workDetailsUrl; + } + public function getWorkDetailsUrl() + { + return $this->workDetailsUrl; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/ProductApprovalEvent.php b/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/ProductApprovalEvent.php new file mode 100644 index 00000000..63b1ae2b --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/ProductApprovalEvent.php @@ -0,0 +1,39 @@ +approved = $approved; + } + public function getApproved() + { + return $this->approved; + } + public function setProductId($productId) + { + $this->productId = $productId; + } + public function getProductId() + { + return $this->productId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/ProductAvailabilityChangeEvent.php b/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/ProductAvailabilityChangeEvent.php new file mode 100644 index 00000000..eacab5c2 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/ProductAvailabilityChangeEvent.php @@ -0,0 +1,39 @@ +availabilityStatus = $availabilityStatus; + } + public function getAvailabilityStatus() + { + return $this->availabilityStatus; + } + public function setProductId($productId) + { + $this->productId = $productId; + } + public function getProductId() + { + return $this->productId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/ProductPermission.php b/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/ProductPermission.php new file mode 100644 index 00000000..d41192c0 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/ProductPermission.php @@ -0,0 +1,39 @@ +permissionId = $permissionId; + } + public function getPermissionId() + { + return $this->permissionId; + } + public function setState($state) + { + $this->state = $state; + } + public function getState() + { + return $this->state; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/ProductPermissions.php b/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/ProductPermissions.php new file mode 100644 index 00000000..8ded09b4 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/ProductPermissions.php @@ -0,0 +1,50 @@ +kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setPermission($permission) + { + $this->permission = $permission; + } + public function getPermission() + { + return $this->permission; + } + public function setProductId($productId) + { + $this->productId = $productId; + } + public function getProductId() + { + return $this->productId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/ProductSet.php b/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/ProductSet.php new file mode 100644 index 00000000..04d39a8f --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/ProductSet.php @@ -0,0 +1,49 @@ +kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setProductId($productId) + { + $this->productId = $productId; + } + public function getProductId() + { + return $this->productId; + } + public function setProductSetBehavior($productSetBehavior) + { + $this->productSetBehavior = $productSetBehavior; + } + public function getProductSetBehavior() + { + return $this->productSetBehavior; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/ProductsApproveRequest.php b/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/ProductsApproveRequest.php new file mode 100644 index 00000000..5e940e7f --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/ProductsApproveRequest.php @@ -0,0 +1,31 @@ +approvalUrlInfo = $approvalUrlInfo; + } + public function getApprovalUrlInfo() + { + return $this->approvalUrlInfo; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/ProductsGenerateApprovalUrlResponse.php b/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/ProductsGenerateApprovalUrlResponse.php new file mode 100644 index 00000000..8ebd8f82 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/ProductsGenerateApprovalUrlResponse.php @@ -0,0 +1,30 @@ +url = $url; + } + public function getUrl() + { + return $this->url; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/ProductsListResponse.php b/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/ProductsListResponse.php new file mode 100644 index 00000000..716bd227 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/ProductsListResponse.php @@ -0,0 +1,61 @@ +kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setPageInfo(Google_Service_AndroidEnterprise_PageInfo $pageInfo) + { + $this->pageInfo = $pageInfo; + } + public function getPageInfo() + { + return $this->pageInfo; + } + public function setProduct($product) + { + $this->product = $product; + } + public function getProduct() + { + return $this->product; + } + public function setTokenPagination(Google_Service_AndroidEnterprise_TokenPagination $tokenPagination) + { + $this->tokenPagination = $tokenPagination; + } + public function getTokenPagination() + { + return $this->tokenPagination; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/Resource/Collections.php b/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/Resource/Collections.php new file mode 100644 index 00000000..1ffd3fab --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/Resource/Collections.php @@ -0,0 +1,114 @@ + + * $androidenterpriseService = new Google_Service_AndroidEnterprise(...); + * $collections = $androidenterpriseService->collections; + * + */ +class Google_Service_AndroidEnterprise_Resource_Collections extends Google_Service_Resource +{ + /** + * Deletes a collection. (collections.delete) + * + * @param string $enterpriseId The ID of the enterprise. + * @param string $collectionId The ID of the collection. + * @param array $optParams Optional parameters. + */ + public function delete($enterpriseId, $collectionId, $optParams = array()) + { + $params = array('enterpriseId' => $enterpriseId, 'collectionId' => $collectionId); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params)); + } + /** + * Retrieves the details of a collection. (collections.get) + * + * @param string $enterpriseId The ID of the enterprise. + * @param string $collectionId The ID of the collection. + * @param array $optParams Optional parameters. + * @return Google_Service_AndroidEnterprise_Collection + */ + public function get($enterpriseId, $collectionId, $optParams = array()) + { + $params = array('enterpriseId' => $enterpriseId, 'collectionId' => $collectionId); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_AndroidEnterprise_Collection"); + } + /** + * Creates a new collection. (collections.insert) + * + * @param string $enterpriseId The ID of the enterprise. + * @param Google_Service_AndroidEnterprise_Collection $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_AndroidEnterprise_Collection + */ + public function insert($enterpriseId, Google_Service_AndroidEnterprise_Collection $postBody, $optParams = array()) + { + $params = array('enterpriseId' => $enterpriseId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('insert', array($params), "Google_Service_AndroidEnterprise_Collection"); + } + /** + * Retrieves the IDs of all the collections for an enterprise. + * (collections.listCollections) + * + * @param string $enterpriseId The ID of the enterprise. + * @param array $optParams Optional parameters. + * @return Google_Service_AndroidEnterprise_CollectionsListResponse + */ + public function listCollections($enterpriseId, $optParams = array()) + { + $params = array('enterpriseId' => $enterpriseId); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_AndroidEnterprise_CollectionsListResponse"); + } + /** + * Updates a collection. This method supports patch semantics. + * (collections.patch) + * + * @param string $enterpriseId The ID of the enterprise. + * @param string $collectionId The ID of the collection. + * @param Google_Service_AndroidEnterprise_Collection $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_AndroidEnterprise_Collection + */ + public function patch($enterpriseId, $collectionId, Google_Service_AndroidEnterprise_Collection $postBody, $optParams = array()) + { + $params = array('enterpriseId' => $enterpriseId, 'collectionId' => $collectionId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('patch', array($params), "Google_Service_AndroidEnterprise_Collection"); + } + /** + * Updates a collection. (collections.update) + * + * @param string $enterpriseId The ID of the enterprise. + * @param string $collectionId The ID of the collection. + * @param Google_Service_AndroidEnterprise_Collection $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_AndroidEnterprise_Collection + */ + public function update($enterpriseId, $collectionId, Google_Service_AndroidEnterprise_Collection $postBody, $optParams = array()) + { + $params = array('enterpriseId' => $enterpriseId, 'collectionId' => $collectionId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('update', array($params), "Google_Service_AndroidEnterprise_Collection"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/Resource/Collectionviewers.php b/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/Resource/Collectionviewers.php new file mode 100644 index 00000000..acf1aa3f --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/Resource/Collectionviewers.php @@ -0,0 +1,115 @@ + + * $androidenterpriseService = new Google_Service_AndroidEnterprise(...); + * $collectionviewers = $androidenterpriseService->collectionviewers; + * + */ +class Google_Service_AndroidEnterprise_Resource_Collectionviewers extends Google_Service_Resource +{ + /** + * Removes the user from the list of those specifically allowed to see the + * collection. If the collection's visibility is set to viewersOnly then only + * such users will see the collection. (collectionviewers.delete) + * + * @param string $enterpriseId The ID of the enterprise. + * @param string $collectionId The ID of the collection. + * @param string $userId The ID of the user. + * @param array $optParams Optional parameters. + */ + public function delete($enterpriseId, $collectionId, $userId, $optParams = array()) + { + $params = array('enterpriseId' => $enterpriseId, 'collectionId' => $collectionId, 'userId' => $userId); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params)); + } + /** + * Retrieves the ID of the user if they have been specifically allowed to see + * the collection. If the collection's visibility is set to viewersOnly then + * only these users will see the collection. (collectionviewers.get) + * + * @param string $enterpriseId The ID of the enterprise. + * @param string $collectionId The ID of the collection. + * @param string $userId The ID of the user. + * @param array $optParams Optional parameters. + * @return Google_Service_AndroidEnterprise_User + */ + public function get($enterpriseId, $collectionId, $userId, $optParams = array()) + { + $params = array('enterpriseId' => $enterpriseId, 'collectionId' => $collectionId, 'userId' => $userId); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_AndroidEnterprise_User"); + } + /** + * Retrieves the IDs of the users who have been specifically allowed to see the + * collection. If the collection's visibility is set to viewersOnly then only + * these users will see the collection. + * (collectionviewers.listCollectionviewers) + * + * @param string $enterpriseId The ID of the enterprise. + * @param string $collectionId The ID of the collection. + * @param array $optParams Optional parameters. + * @return Google_Service_AndroidEnterprise_CollectionViewersListResponse + */ + public function listCollectionviewers($enterpriseId, $collectionId, $optParams = array()) + { + $params = array('enterpriseId' => $enterpriseId, 'collectionId' => $collectionId); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_AndroidEnterprise_CollectionViewersListResponse"); + } + /** + * Adds the user to the list of those specifically allowed to see the + * collection. If the collection's visibility is set to viewersOnly then only + * such users will see the collection. This method supports patch semantics. + * (collectionviewers.patch) + * + * @param string $enterpriseId The ID of the enterprise. + * @param string $collectionId The ID of the collection. + * @param string $userId The ID of the user. + * @param Google_Service_AndroidEnterprise_User $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_AndroidEnterprise_User + */ + public function patch($enterpriseId, $collectionId, $userId, Google_Service_AndroidEnterprise_User $postBody, $optParams = array()) + { + $params = array('enterpriseId' => $enterpriseId, 'collectionId' => $collectionId, 'userId' => $userId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('patch', array($params), "Google_Service_AndroidEnterprise_User"); + } + /** + * Adds the user to the list of those specifically allowed to see the + * collection. If the collection's visibility is set to viewersOnly then only + * such users will see the collection. (collectionviewers.update) + * + * @param string $enterpriseId The ID of the enterprise. + * @param string $collectionId The ID of the collection. + * @param string $userId The ID of the user. + * @param Google_Service_AndroidEnterprise_User $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_AndroidEnterprise_User + */ + public function update($enterpriseId, $collectionId, $userId, Google_Service_AndroidEnterprise_User $postBody, $optParams = array()) + { + $params = array('enterpriseId' => $enterpriseId, 'collectionId' => $collectionId, 'userId' => $userId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('update', array($params), "Google_Service_AndroidEnterprise_User"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/Resource/Devices.php b/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/Resource/Devices.php new file mode 100644 index 00000000..c265c0ae --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/Resource/Devices.php @@ -0,0 +1,96 @@ + + * $androidenterpriseService = new Google_Service_AndroidEnterprise(...); + * $devices = $androidenterpriseService->devices; + * + */ +class Google_Service_AndroidEnterprise_Resource_Devices extends Google_Service_Resource +{ + /** + * Retrieves the details of a device. (devices.get) + * + * @param string $enterpriseId The ID of the enterprise. + * @param string $userId The ID of the user. + * @param string $deviceId The ID of the device. + * @param array $optParams Optional parameters. + * @return Google_Service_AndroidEnterprise_Device + */ + public function get($enterpriseId, $userId, $deviceId, $optParams = array()) + { + $params = array('enterpriseId' => $enterpriseId, 'userId' => $userId, 'deviceId' => $deviceId); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_AndroidEnterprise_Device"); + } + /** + * Retrieves whether a device's access to Google services is enabled or + * disabled. The device state takes effect only if enforcing EMM policies on + * Android devices is enabled in the Google Admin Console. Otherwise, the device + * state is ignored and all devices are allowed access to Google services. This + * is only supported for Google-managed users. (devices.getState) + * + * @param string $enterpriseId The ID of the enterprise. + * @param string $userId The ID of the user. + * @param string $deviceId The ID of the device. + * @param array $optParams Optional parameters. + * @return Google_Service_AndroidEnterprise_DeviceState + */ + public function getState($enterpriseId, $userId, $deviceId, $optParams = array()) + { + $params = array('enterpriseId' => $enterpriseId, 'userId' => $userId, 'deviceId' => $deviceId); + $params = array_merge($params, $optParams); + return $this->call('getState', array($params), "Google_Service_AndroidEnterprise_DeviceState"); + } + /** + * Retrieves the IDs of all of a user's devices. (devices.listDevices) + * + * @param string $enterpriseId The ID of the enterprise. + * @param string $userId The ID of the user. + * @param array $optParams Optional parameters. + * @return Google_Service_AndroidEnterprise_DevicesListResponse + */ + public function listDevices($enterpriseId, $userId, $optParams = array()) + { + $params = array('enterpriseId' => $enterpriseId, 'userId' => $userId); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_AndroidEnterprise_DevicesListResponse"); + } + /** + * Sets whether a device's access to Google services is enabled or disabled. The + * device state takes effect only if enforcing EMM policies on Android devices + * is enabled in the Google Admin Console. Otherwise, the device state is + * ignored and all devices are allowed access to Google services. This is only + * supported for Google-managed users. (devices.setState) + * + * @param string $enterpriseId The ID of the enterprise. + * @param string $userId The ID of the user. + * @param string $deviceId The ID of the device. + * @param Google_Service_AndroidEnterprise_DeviceState $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_AndroidEnterprise_DeviceState + */ + public function setState($enterpriseId, $userId, $deviceId, Google_Service_AndroidEnterprise_DeviceState $postBody, $optParams = array()) + { + $params = array('enterpriseId' => $enterpriseId, 'userId' => $userId, 'deviceId' => $deviceId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('setState', array($params), "Google_Service_AndroidEnterprise_DeviceState"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/Resource/Enterprises.php b/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/Resource/Enterprises.php new file mode 100644 index 00000000..5328eaf3 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/Resource/Enterprises.php @@ -0,0 +1,317 @@ + + * $androidenterpriseService = new Google_Service_AndroidEnterprise(...); + * $enterprises = $androidenterpriseService->enterprises; + * + */ +class Google_Service_AndroidEnterprise_Resource_Enterprises extends Google_Service_Resource +{ + /** + * Acknowledges notifications that were received from + * Enterprises.PullNotificationSet to prevent subsequent calls from returning + * the same notifications. (enterprises.acknowledgeNotificationSet) + * + * @param array $optParams Optional parameters. + * + * @opt_param string notificationSetId The notification set ID as returned by + * Enterprises.PullNotificationSet. This must be provided. + */ + public function acknowledgeNotificationSet($optParams = array()) + { + $params = array(); + $params = array_merge($params, $optParams); + return $this->call('acknowledgeNotificationSet', array($params)); + } + /** + * Completes the signup flow, by specifying the Completion token and Enterprise + * token. This request must not be called multiple times for a given Enterprise + * Token. (enterprises.completeSignup) + * + * @param array $optParams Optional parameters. + * + * @opt_param string completionToken The Completion token initially returned by + * GenerateSignupUrl. + * @opt_param string enterpriseToken The Enterprise token appended to the + * Callback URL. + * @return Google_Service_AndroidEnterprise_Enterprise + */ + public function completeSignup($optParams = array()) + { + $params = array(); + $params = array_merge($params, $optParams); + return $this->call('completeSignup', array($params), "Google_Service_AndroidEnterprise_Enterprise"); + } + /** + * Returns a unique token to access an embeddable UI. To generate a web UI, pass + * the generated token into the managed Google Play javascript API. Each token + * may only be used to start one UI session. See the javascript API + * documentation for further information. (enterprises.createWebToken) + * + * @param string $enterpriseId The ID of the enterprise. + * @param Google_Service_AndroidEnterprise_AdministratorWebTokenSpec $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_AndroidEnterprise_AdministratorWebToken + */ + public function createWebToken($enterpriseId, Google_Service_AndroidEnterprise_AdministratorWebTokenSpec $postBody, $optParams = array()) + { + $params = array('enterpriseId' => $enterpriseId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('createWebToken', array($params), "Google_Service_AndroidEnterprise_AdministratorWebToken"); + } + /** + * Deletes the binding between the EMM and enterprise. This is now deprecated. + * Use this method only to unenroll customers that were previously enrolled with + * the insert call, then enroll them again with the enroll call. + * (enterprises.delete) + * + * @param string $enterpriseId The ID of the enterprise. + * @param array $optParams Optional parameters. + */ + public function delete($enterpriseId, $optParams = array()) + { + $params = array('enterpriseId' => $enterpriseId); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params)); + } + /** + * Enrolls an enterprise with the calling EMM. (enterprises.enroll) + * + * @param string $token The token provided by the enterprise to register the + * EMM. + * @param Google_Service_AndroidEnterprise_Enterprise $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_AndroidEnterprise_Enterprise + */ + public function enroll($token, Google_Service_AndroidEnterprise_Enterprise $postBody, $optParams = array()) + { + $params = array('token' => $token, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('enroll', array($params), "Google_Service_AndroidEnterprise_Enterprise"); + } + /** + * Generates a sign-up URL. (enterprises.generateSignupUrl) + * + * @param array $optParams Optional parameters. + * + * @opt_param string callbackUrl The callback URL to which the Admin will be + * redirected after successfully creating an enterprise. Before redirecting + * there the system will add a single query parameter to this URL named + * "enterpriseToken" which will contain an opaque token to be used for the + * CompleteSignup request. Beware that this means that the URL will be parsed, + * the parameter added and then a new URL formatted, i.e. there may be some + * minor formatting changes and, more importantly, the URL must be well-formed + * so that it can be parsed. + * @return Google_Service_AndroidEnterprise_SignupInfo + */ + public function generateSignupUrl($optParams = array()) + { + $params = array(); + $params = array_merge($params, $optParams); + return $this->call('generateSignupUrl', array($params), "Google_Service_AndroidEnterprise_SignupInfo"); + } + /** + * Retrieves the name and domain of an enterprise. (enterprises.get) + * + * @param string $enterpriseId The ID of the enterprise. + * @param array $optParams Optional parameters. + * @return Google_Service_AndroidEnterprise_Enterprise + */ + public function get($enterpriseId, $optParams = array()) + { + $params = array('enterpriseId' => $enterpriseId); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_AndroidEnterprise_Enterprise"); + } + /** + * Returns a service account and credentials. The service account can be bound + * to the enterprise by calling setAccount. The service account is unique to + * this enterprise and EMM, and will be deleted if the enterprise is unbound. + * The credentials contain private key data and are not stored server-side. + * + * This method can only be called after calling Enterprises.Enroll or + * Enterprises.CompleteSignup, and before Enterprises.SetAccount; at other times + * it will return an error. + * + * Subsequent calls after the first will generate a new, unique set of + * credentials, and invalidate the previously generated credentials. + * + * Once the service account is bound to the enterprise, it can be managed using + * the serviceAccountKeys resource. (enterprises.getServiceAccount) + * + * @param string $enterpriseId The ID of the enterprise. + * @param array $optParams Optional parameters. + * + * @opt_param string keyType The type of credential to return with the service + * account. Required. + * @return Google_Service_AndroidEnterprise_ServiceAccount + */ + public function getServiceAccount($enterpriseId, $optParams = array()) + { + $params = array('enterpriseId' => $enterpriseId); + $params = array_merge($params, $optParams); + return $this->call('getServiceAccount', array($params), "Google_Service_AndroidEnterprise_ServiceAccount"); + } + /** + * Returns the store layout for the enterprise. If the store layout has not been + * set, or if the store layout has no homepageId set, returns a NOT_FOUND error. + * (enterprises.getStoreLayout) + * + * @param string $enterpriseId The ID of the enterprise. + * @param array $optParams Optional parameters. + * @return Google_Service_AndroidEnterprise_StoreLayout + */ + public function getStoreLayout($enterpriseId, $optParams = array()) + { + $params = array('enterpriseId' => $enterpriseId); + $params = array_merge($params, $optParams); + return $this->call('getStoreLayout', array($params), "Google_Service_AndroidEnterprise_StoreLayout"); + } + /** + * Establishes the binding between the EMM and an enterprise. This is now + * deprecated; use enroll instead. (enterprises.insert) + * + * @param string $token The token provided by the enterprise to register the + * EMM. + * @param Google_Service_AndroidEnterprise_Enterprise $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_AndroidEnterprise_Enterprise + */ + public function insert($token, Google_Service_AndroidEnterprise_Enterprise $postBody, $optParams = array()) + { + $params = array('token' => $token, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('insert', array($params), "Google_Service_AndroidEnterprise_Enterprise"); + } + /** + * Looks up an enterprise by domain name. This is only supported for enterprises + * created via the Google-initiated creation flow. Lookup of the id is not + * needed for enterprises created via the EMM-initiated flow since the EMM + * learns the enterprise ID in the callback specified in the + * Enterprises.generateSignupUrl call. (enterprises.listEnterprises) + * + * @param string $domain The exact primary domain name of the enterprise to look + * up. + * @param array $optParams Optional parameters. + * @return Google_Service_AndroidEnterprise_EnterprisesListResponse + */ + public function listEnterprises($domain, $optParams = array()) + { + $params = array('domain' => $domain); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_AndroidEnterprise_EnterprisesListResponse"); + } + /** + * Pulls and returns a notification set for the enterprises associated with the + * service account authenticated for the request. The notification set may be + * empty if no notification are pending. A notification set returned needs to be + * acknowledged within 20 seconds by calling + * Enterprises.AcknowledgeNotificationSet, unless the notification set is empty. + * Notifications that are not acknowledged within the 20 seconds will eventually + * be included again in the response to another PullNotificationSet request, and + * those that are never acknowledged will ultimately be deleted according to the + * Google Cloud Platform Pub/Sub system policy. Multiple requests might be + * performed concurrently to retrieve notifications, in which case the pending + * notifications (if any) will be split among each caller, if any are pending. + * If no notifications are present, an empty notification list is returned. + * Subsequent requests may return more notifications once they become available. + * (enterprises.pullNotificationSet) + * + * @param array $optParams Optional parameters. + * + * @opt_param string requestMode The request mode for pulling notifications. + * Specifying waitForNotifications will cause the request to block and wait + * until one or more notifications are present, or return an empty notification + * list if no notifications are present after some time. Speciying + * returnImmediately will cause the request to immediately return the pending + * notifications, or an empty list if no notifications are present. If omitted, + * defaults to waitForNotifications. + * @return Google_Service_AndroidEnterprise_NotificationSet + */ + public function pullNotificationSet($optParams = array()) + { + $params = array(); + $params = array_merge($params, $optParams); + return $this->call('pullNotificationSet', array($params), "Google_Service_AndroidEnterprise_NotificationSet"); + } + /** + * Sends a test push notification to validate the EMM integration with the + * Google Cloud Pub/Sub service for this enterprise. + * (enterprises.sendTestPushNotification) + * + * @param string $enterpriseId The ID of the enterprise. + * @param array $optParams Optional parameters. + * @return Google_Service_AndroidEnterprise_EnterprisesSendTestPushNotificationResponse + */ + public function sendTestPushNotification($enterpriseId, $optParams = array()) + { + $params = array('enterpriseId' => $enterpriseId); + $params = array_merge($params, $optParams); + return $this->call('sendTestPushNotification', array($params), "Google_Service_AndroidEnterprise_EnterprisesSendTestPushNotificationResponse"); + } + /** + * Sets the account that will be used to authenticate to the API as the + * enterprise. (enterprises.setAccount) + * + * @param string $enterpriseId The ID of the enterprise. + * @param Google_Service_AndroidEnterprise_EnterpriseAccount $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_AndroidEnterprise_EnterpriseAccount + */ + public function setAccount($enterpriseId, Google_Service_AndroidEnterprise_EnterpriseAccount $postBody, $optParams = array()) + { + $params = array('enterpriseId' => $enterpriseId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('setAccount', array($params), "Google_Service_AndroidEnterprise_EnterpriseAccount"); + } + /** + * Sets the store layout for the enterprise. By default, storeLayoutType is set + * to "basic" and the basic store layout is enabled. The basic layout only + * contains apps approved by the admin, and that have been added to the + * available product set for a user (using the setAvailableProductSet call). + * Apps on the page are sorted in order of their product ID value. If you create + * a custom store layout (by setting storeLayoutType = "custom"), the basic + * store layout is disabled. (enterprises.setStoreLayout) + * + * @param string $enterpriseId The ID of the enterprise. + * @param Google_Service_AndroidEnterprise_StoreLayout $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_AndroidEnterprise_StoreLayout + */ + public function setStoreLayout($enterpriseId, Google_Service_AndroidEnterprise_StoreLayout $postBody, $optParams = array()) + { + $params = array('enterpriseId' => $enterpriseId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('setStoreLayout', array($params), "Google_Service_AndroidEnterprise_StoreLayout"); + } + /** + * Unenrolls an enterprise from the calling EMM. (enterprises.unenroll) + * + * @param string $enterpriseId The ID of the enterprise. + * @param array $optParams Optional parameters. + */ + public function unenroll($enterpriseId, $optParams = array()) + { + $params = array('enterpriseId' => $enterpriseId); + $params = array_merge($params, $optParams); + return $this->call('unenroll', array($params)); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/Resource/Entitlements.php b/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/Resource/Entitlements.php new file mode 100644 index 00000000..4d31c8c1 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/Resource/Entitlements.php @@ -0,0 +1,119 @@ + + * $androidenterpriseService = new Google_Service_AndroidEnterprise(...); + * $entitlements = $androidenterpriseService->entitlements; + * + */ +class Google_Service_AndroidEnterprise_Resource_Entitlements extends Google_Service_Resource +{ + /** + * Removes an entitlement to an app for a user. (entitlements.delete) + * + * @param string $enterpriseId The ID of the enterprise. + * @param string $userId The ID of the user. + * @param string $entitlementId The ID of the entitlement (a product ID), e.g. + * "app:com.google.android.gm". + * @param array $optParams Optional parameters. + */ + public function delete($enterpriseId, $userId, $entitlementId, $optParams = array()) + { + $params = array('enterpriseId' => $enterpriseId, 'userId' => $userId, 'entitlementId' => $entitlementId); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params)); + } + /** + * Retrieves details of an entitlement. (entitlements.get) + * + * @param string $enterpriseId The ID of the enterprise. + * @param string $userId The ID of the user. + * @param string $entitlementId The ID of the entitlement (a product ID), e.g. + * "app:com.google.android.gm". + * @param array $optParams Optional parameters. + * @return Google_Service_AndroidEnterprise_Entitlement + */ + public function get($enterpriseId, $userId, $entitlementId, $optParams = array()) + { + $params = array('enterpriseId' => $enterpriseId, 'userId' => $userId, 'entitlementId' => $entitlementId); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_AndroidEnterprise_Entitlement"); + } + /** + * Lists all entitlements for the specified user. Only the ID is set. + * (entitlements.listEntitlements) + * + * @param string $enterpriseId The ID of the enterprise. + * @param string $userId The ID of the user. + * @param array $optParams Optional parameters. + * @return Google_Service_AndroidEnterprise_EntitlementsListResponse + */ + public function listEntitlements($enterpriseId, $userId, $optParams = array()) + { + $params = array('enterpriseId' => $enterpriseId, 'userId' => $userId); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_AndroidEnterprise_EntitlementsListResponse"); + } + /** + * Adds or updates an entitlement to an app for a user. This method supports + * patch semantics. (entitlements.patch) + * + * @param string $enterpriseId The ID of the enterprise. + * @param string $userId The ID of the user. + * @param string $entitlementId The ID of the entitlement (a product ID), e.g. + * "app:com.google.android.gm". + * @param Google_Service_AndroidEnterprise_Entitlement $postBody + * @param array $optParams Optional parameters. + * + * @opt_param bool install Set to true to also install the product on all the + * user's devices where possible. Failure to install on one or more devices will + * not prevent this operation from returning successfully, as long as the + * entitlement was successfully assigned to the user. + * @return Google_Service_AndroidEnterprise_Entitlement + */ + public function patch($enterpriseId, $userId, $entitlementId, Google_Service_AndroidEnterprise_Entitlement $postBody, $optParams = array()) + { + $params = array('enterpriseId' => $enterpriseId, 'userId' => $userId, 'entitlementId' => $entitlementId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('patch', array($params), "Google_Service_AndroidEnterprise_Entitlement"); + } + /** + * Adds or updates an entitlement to an app for a user. (entitlements.update) + * + * @param string $enterpriseId The ID of the enterprise. + * @param string $userId The ID of the user. + * @param string $entitlementId The ID of the entitlement (a product ID), e.g. + * "app:com.google.android.gm". + * @param Google_Service_AndroidEnterprise_Entitlement $postBody + * @param array $optParams Optional parameters. + * + * @opt_param bool install Set to true to also install the product on all the + * user's devices where possible. Failure to install on one or more devices will + * not prevent this operation from returning successfully, as long as the + * entitlement was successfully assigned to the user. + * @return Google_Service_AndroidEnterprise_Entitlement + */ + public function update($enterpriseId, $userId, $entitlementId, Google_Service_AndroidEnterprise_Entitlement $postBody, $optParams = array()) + { + $params = array('enterpriseId' => $enterpriseId, 'userId' => $userId, 'entitlementId' => $entitlementId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('update', array($params), "Google_Service_AndroidEnterprise_Entitlement"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/Resource/Grouplicenses.php b/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/Resource/Grouplicenses.php new file mode 100644 index 00000000..cb8dcaad --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/Resource/Grouplicenses.php @@ -0,0 +1,58 @@ + + * $androidenterpriseService = new Google_Service_AndroidEnterprise(...); + * $grouplicenses = $androidenterpriseService->grouplicenses; + * + */ +class Google_Service_AndroidEnterprise_Resource_Grouplicenses extends Google_Service_Resource +{ + /** + * Retrieves details of an enterprise's group license for a product. + * (grouplicenses.get) + * + * @param string $enterpriseId The ID of the enterprise. + * @param string $groupLicenseId The ID of the product the group license is for, + * e.g. "app:com.google.android.gm". + * @param array $optParams Optional parameters. + * @return Google_Service_AndroidEnterprise_GroupLicense + */ + public function get($enterpriseId, $groupLicenseId, $optParams = array()) + { + $params = array('enterpriseId' => $enterpriseId, 'groupLicenseId' => $groupLicenseId); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_AndroidEnterprise_GroupLicense"); + } + /** + * Retrieves IDs of all products for which the enterprise has a group license. + * (grouplicenses.listGrouplicenses) + * + * @param string $enterpriseId The ID of the enterprise. + * @param array $optParams Optional parameters. + * @return Google_Service_AndroidEnterprise_GroupLicensesListResponse + */ + public function listGrouplicenses($enterpriseId, $optParams = array()) + { + $params = array('enterpriseId' => $enterpriseId); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_AndroidEnterprise_GroupLicensesListResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/Resource/Grouplicenseusers.php b/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/Resource/Grouplicenseusers.php new file mode 100644 index 00000000..fd178ee5 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/Resource/Grouplicenseusers.php @@ -0,0 +1,44 @@ + + * $androidenterpriseService = new Google_Service_AndroidEnterprise(...); + * $grouplicenseusers = $androidenterpriseService->grouplicenseusers; + * + */ +class Google_Service_AndroidEnterprise_Resource_Grouplicenseusers extends Google_Service_Resource +{ + /** + * Retrieves the IDs of the users who have been granted entitlements under the + * license. (grouplicenseusers.listGrouplicenseusers) + * + * @param string $enterpriseId The ID of the enterprise. + * @param string $groupLicenseId The ID of the product the group license is for, + * e.g. "app:com.google.android.gm". + * @param array $optParams Optional parameters. + * @return Google_Service_AndroidEnterprise_GroupLicenseUsersListResponse + */ + public function listGrouplicenseusers($enterpriseId, $groupLicenseId, $optParams = array()) + { + $params = array('enterpriseId' => $enterpriseId, 'groupLicenseId' => $groupLicenseId); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_AndroidEnterprise_GroupLicenseUsersListResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/Resource/Installs.php b/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/Resource/Installs.php new file mode 100644 index 00000000..49d77a28 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/Resource/Installs.php @@ -0,0 +1,119 @@ + + * $androidenterpriseService = new Google_Service_AndroidEnterprise(...); + * $installs = $androidenterpriseService->installs; + * + */ +class Google_Service_AndroidEnterprise_Resource_Installs extends Google_Service_Resource +{ + /** + * Requests to remove an app from a device. A call to get or list will still + * show the app as installed on the device until it is actually removed. + * (installs.delete) + * + * @param string $enterpriseId The ID of the enterprise. + * @param string $userId The ID of the user. + * @param string $deviceId The Android ID of the device. + * @param string $installId The ID of the product represented by the install, + * e.g. "app:com.google.android.gm". + * @param array $optParams Optional parameters. + */ + public function delete($enterpriseId, $userId, $deviceId, $installId, $optParams = array()) + { + $params = array('enterpriseId' => $enterpriseId, 'userId' => $userId, 'deviceId' => $deviceId, 'installId' => $installId); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params)); + } + /** + * Retrieves details of an installation of an app on a device. (installs.get) + * + * @param string $enterpriseId The ID of the enterprise. + * @param string $userId The ID of the user. + * @param string $deviceId The Android ID of the device. + * @param string $installId The ID of the product represented by the install, + * e.g. "app:com.google.android.gm". + * @param array $optParams Optional parameters. + * @return Google_Service_AndroidEnterprise_Install + */ + public function get($enterpriseId, $userId, $deviceId, $installId, $optParams = array()) + { + $params = array('enterpriseId' => $enterpriseId, 'userId' => $userId, 'deviceId' => $deviceId, 'installId' => $installId); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_AndroidEnterprise_Install"); + } + /** + * Retrieves the details of all apps installed on the specified device. + * (installs.listInstalls) + * + * @param string $enterpriseId The ID of the enterprise. + * @param string $userId The ID of the user. + * @param string $deviceId The Android ID of the device. + * @param array $optParams Optional parameters. + * @return Google_Service_AndroidEnterprise_InstallsListResponse + */ + public function listInstalls($enterpriseId, $userId, $deviceId, $optParams = array()) + { + $params = array('enterpriseId' => $enterpriseId, 'userId' => $userId, 'deviceId' => $deviceId); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_AndroidEnterprise_InstallsListResponse"); + } + /** + * Requests to install the latest version of an app to a device. If the app is + * already installed, then it is updated to the latest version if necessary. + * This method supports patch semantics. (installs.patch) + * + * @param string $enterpriseId The ID of the enterprise. + * @param string $userId The ID of the user. + * @param string $deviceId The Android ID of the device. + * @param string $installId The ID of the product represented by the install, + * e.g. "app:com.google.android.gm". + * @param Google_Service_AndroidEnterprise_Install $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_AndroidEnterprise_Install + */ + public function patch($enterpriseId, $userId, $deviceId, $installId, Google_Service_AndroidEnterprise_Install $postBody, $optParams = array()) + { + $params = array('enterpriseId' => $enterpriseId, 'userId' => $userId, 'deviceId' => $deviceId, 'installId' => $installId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('patch', array($params), "Google_Service_AndroidEnterprise_Install"); + } + /** + * Requests to install the latest version of an app to a device. If the app is + * already installed, then it is updated to the latest version if necessary. + * (installs.update) + * + * @param string $enterpriseId The ID of the enterprise. + * @param string $userId The ID of the user. + * @param string $deviceId The Android ID of the device. + * @param string $installId The ID of the product represented by the install, + * e.g. "app:com.google.android.gm". + * @param Google_Service_AndroidEnterprise_Install $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_AndroidEnterprise_Install + */ + public function update($enterpriseId, $userId, $deviceId, $installId, Google_Service_AndroidEnterprise_Install $postBody, $optParams = array()) + { + $params = array('enterpriseId' => $enterpriseId, 'userId' => $userId, 'deviceId' => $deviceId, 'installId' => $installId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('update', array($params), "Google_Service_AndroidEnterprise_Install"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/Resource/Managedconfigurationsfordevice.php b/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/Resource/Managedconfigurationsfordevice.php new file mode 100644 index 00000000..b5cd9bf2 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/Resource/Managedconfigurationsfordevice.php @@ -0,0 +1,119 @@ + + * $androidenterpriseService = new Google_Service_AndroidEnterprise(...); + * $managedconfigurationsfordevice = $androidenterpriseService->managedconfigurationsfordevice; + * + */ +class Google_Service_AndroidEnterprise_Resource_Managedconfigurationsfordevice extends Google_Service_Resource +{ + /** + * Removes a per-device managed configuration for an app for the specified + * device. (managedconfigurationsfordevice.delete) + * + * @param string $enterpriseId The ID of the enterprise. + * @param string $userId The ID of the user. + * @param string $deviceId The Android ID of the device. + * @param string $managedConfigurationForDeviceId The ID of the managed + * configuration (a product ID), e.g. "app:com.google.android.gm". + * @param array $optParams Optional parameters. + */ + public function delete($enterpriseId, $userId, $deviceId, $managedConfigurationForDeviceId, $optParams = array()) + { + $params = array('enterpriseId' => $enterpriseId, 'userId' => $userId, 'deviceId' => $deviceId, 'managedConfigurationForDeviceId' => $managedConfigurationForDeviceId); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params)); + } + /** + * Retrieves details of a per-device managed configuration. + * (managedconfigurationsfordevice.get) + * + * @param string $enterpriseId The ID of the enterprise. + * @param string $userId The ID of the user. + * @param string $deviceId The Android ID of the device. + * @param string $managedConfigurationForDeviceId The ID of the managed + * configuration (a product ID), e.g. "app:com.google.android.gm". + * @param array $optParams Optional parameters. + * @return Google_Service_AndroidEnterprise_ManagedConfiguration + */ + public function get($enterpriseId, $userId, $deviceId, $managedConfigurationForDeviceId, $optParams = array()) + { + $params = array('enterpriseId' => $enterpriseId, 'userId' => $userId, 'deviceId' => $deviceId, 'managedConfigurationForDeviceId' => $managedConfigurationForDeviceId); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_AndroidEnterprise_ManagedConfiguration"); + } + /** + * Lists all the per-device managed configurations for the specified device. + * Only the ID is set. + * (managedconfigurationsfordevice.listManagedconfigurationsfordevice) + * + * @param string $enterpriseId The ID of the enterprise. + * @param string $userId The ID of the user. + * @param string $deviceId The Android ID of the device. + * @param array $optParams Optional parameters. + * @return Google_Service_AndroidEnterprise_ManagedConfigurationsForDeviceListResponse + */ + public function listManagedconfigurationsfordevice($enterpriseId, $userId, $deviceId, $optParams = array()) + { + $params = array('enterpriseId' => $enterpriseId, 'userId' => $userId, 'deviceId' => $deviceId); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_AndroidEnterprise_ManagedConfigurationsForDeviceListResponse"); + } + /** + * Adds or updates a per-device managed configuration for an app for the + * specified device. This method supports patch semantics. + * (managedconfigurationsfordevice.patch) + * + * @param string $enterpriseId The ID of the enterprise. + * @param string $userId The ID of the user. + * @param string $deviceId The Android ID of the device. + * @param string $managedConfigurationForDeviceId The ID of the managed + * configuration (a product ID), e.g. "app:com.google.android.gm". + * @param Google_Service_AndroidEnterprise_ManagedConfiguration $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_AndroidEnterprise_ManagedConfiguration + */ + public function patch($enterpriseId, $userId, $deviceId, $managedConfigurationForDeviceId, Google_Service_AndroidEnterprise_ManagedConfiguration $postBody, $optParams = array()) + { + $params = array('enterpriseId' => $enterpriseId, 'userId' => $userId, 'deviceId' => $deviceId, 'managedConfigurationForDeviceId' => $managedConfigurationForDeviceId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('patch', array($params), "Google_Service_AndroidEnterprise_ManagedConfiguration"); + } + /** + * Adds or updates a per-device managed configuration for an app for the + * specified device. (managedconfigurationsfordevice.update) + * + * @param string $enterpriseId The ID of the enterprise. + * @param string $userId The ID of the user. + * @param string $deviceId The Android ID of the device. + * @param string $managedConfigurationForDeviceId The ID of the managed + * configuration (a product ID), e.g. "app:com.google.android.gm". + * @param Google_Service_AndroidEnterprise_ManagedConfiguration $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_AndroidEnterprise_ManagedConfiguration + */ + public function update($enterpriseId, $userId, $deviceId, $managedConfigurationForDeviceId, Google_Service_AndroidEnterprise_ManagedConfiguration $postBody, $optParams = array()) + { + $params = array('enterpriseId' => $enterpriseId, 'userId' => $userId, 'deviceId' => $deviceId, 'managedConfigurationForDeviceId' => $managedConfigurationForDeviceId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('update', array($params), "Google_Service_AndroidEnterprise_ManagedConfiguration"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/Resource/Managedconfigurationsforuser.php b/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/Resource/Managedconfigurationsforuser.php new file mode 100644 index 00000000..ade7f399 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/Resource/Managedconfigurationsforuser.php @@ -0,0 +1,114 @@ + + * $androidenterpriseService = new Google_Service_AndroidEnterprise(...); + * $managedconfigurationsforuser = $androidenterpriseService->managedconfigurationsforuser; + * + */ +class Google_Service_AndroidEnterprise_Resource_Managedconfigurationsforuser extends Google_Service_Resource +{ + /** + * Removes a per-user managed configuration for an app for the specified user. + * (managedconfigurationsforuser.delete) + * + * @param string $enterpriseId The ID of the enterprise. + * @param string $userId The ID of the user. + * @param string $managedConfigurationForUserId The ID of the managed + * configuration (a product ID), e.g. "app:com.google.android.gm". + * @param array $optParams Optional parameters. + */ + public function delete($enterpriseId, $userId, $managedConfigurationForUserId, $optParams = array()) + { + $params = array('enterpriseId' => $enterpriseId, 'userId' => $userId, 'managedConfigurationForUserId' => $managedConfigurationForUserId); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params)); + } + /** + * Retrieves details of a per-user managed configuration for an app for the + * specified user. (managedconfigurationsforuser.get) + * + * @param string $enterpriseId The ID of the enterprise. + * @param string $userId The ID of the user. + * @param string $managedConfigurationForUserId The ID of the managed + * configuration (a product ID), e.g. "app:com.google.android.gm". + * @param array $optParams Optional parameters. + * @return Google_Service_AndroidEnterprise_ManagedConfiguration + */ + public function get($enterpriseId, $userId, $managedConfigurationForUserId, $optParams = array()) + { + $params = array('enterpriseId' => $enterpriseId, 'userId' => $userId, 'managedConfigurationForUserId' => $managedConfigurationForUserId); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_AndroidEnterprise_ManagedConfiguration"); + } + /** + * Lists all the per-user managed configurations for the specified user. Only + * the ID is set. + * (managedconfigurationsforuser.listManagedconfigurationsforuser) + * + * @param string $enterpriseId The ID of the enterprise. + * @param string $userId The ID of the user. + * @param array $optParams Optional parameters. + * @return Google_Service_AndroidEnterprise_ManagedConfigurationsForUserListResponse + */ + public function listManagedconfigurationsforuser($enterpriseId, $userId, $optParams = array()) + { + $params = array('enterpriseId' => $enterpriseId, 'userId' => $userId); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_AndroidEnterprise_ManagedConfigurationsForUserListResponse"); + } + /** + * Adds or updates a per-user managed configuration for an app for the specified + * user. This method supports patch semantics. + * (managedconfigurationsforuser.patch) + * + * @param string $enterpriseId The ID of the enterprise. + * @param string $userId The ID of the user. + * @param string $managedConfigurationForUserId The ID of the managed + * configuration (a product ID), e.g. "app:com.google.android.gm". + * @param Google_Service_AndroidEnterprise_ManagedConfiguration $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_AndroidEnterprise_ManagedConfiguration + */ + public function patch($enterpriseId, $userId, $managedConfigurationForUserId, Google_Service_AndroidEnterprise_ManagedConfiguration $postBody, $optParams = array()) + { + $params = array('enterpriseId' => $enterpriseId, 'userId' => $userId, 'managedConfigurationForUserId' => $managedConfigurationForUserId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('patch', array($params), "Google_Service_AndroidEnterprise_ManagedConfiguration"); + } + /** + * Adds or updates a per-user managed configuration for an app for the specified + * user. (managedconfigurationsforuser.update) + * + * @param string $enterpriseId The ID of the enterprise. + * @param string $userId The ID of the user. + * @param string $managedConfigurationForUserId The ID of the managed + * configuration (a product ID), e.g. "app:com.google.android.gm". + * @param Google_Service_AndroidEnterprise_ManagedConfiguration $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_AndroidEnterprise_ManagedConfiguration + */ + public function update($enterpriseId, $userId, $managedConfigurationForUserId, Google_Service_AndroidEnterprise_ManagedConfiguration $postBody, $optParams = array()) + { + $params = array('enterpriseId' => $enterpriseId, 'userId' => $userId, 'managedConfigurationForUserId' => $managedConfigurationForUserId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('update', array($params), "Google_Service_AndroidEnterprise_ManagedConfiguration"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/Resource/Permissions.php b/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/Resource/Permissions.php new file mode 100644 index 00000000..ad1a0b90 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/Resource/Permissions.php @@ -0,0 +1,45 @@ + + * $androidenterpriseService = new Google_Service_AndroidEnterprise(...); + * $permissions = $androidenterpriseService->permissions; + * + */ +class Google_Service_AndroidEnterprise_Resource_Permissions extends Google_Service_Resource +{ + /** + * Retrieves details of an Android app permission for display to an enterprise + * admin. (permissions.get) + * + * @param string $permissionId The ID of the permission. + * @param array $optParams Optional parameters. + * + * @opt_param string language The BCP47 tag for the user's preferred language + * (e.g. "en-US", "de") + * @return Google_Service_AndroidEnterprise_Permission + */ + public function get($permissionId, $optParams = array()) + { + $params = array('permissionId' => $permissionId); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_AndroidEnterprise_Permission"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/Resource/Products.php b/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/Resource/Products.php new file mode 100644 index 00000000..c7abdc44 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/Resource/Products.php @@ -0,0 +1,175 @@ + + * $androidenterpriseService = new Google_Service_AndroidEnterprise(...); + * $products = $androidenterpriseService->products; + * + */ +class Google_Service_AndroidEnterprise_Resource_Products extends Google_Service_Resource +{ + /** + * Approves the specified product and the relevant app permissions, if any. The + * maximum number of products that you can approve per enterprise customer is + * 1,000. + * + * To learn how to use managed Google Play to design and create a store layout + * to display approved products to your users, see Store Layout Design. + * (products.approve) + * + * @param string $enterpriseId The ID of the enterprise. + * @param string $productId The ID of the product. + * @param Google_Service_AndroidEnterprise_ProductsApproveRequest $postBody + * @param array $optParams Optional parameters. + */ + public function approve($enterpriseId, $productId, Google_Service_AndroidEnterprise_ProductsApproveRequest $postBody, $optParams = array()) + { + $params = array('enterpriseId' => $enterpriseId, 'productId' => $productId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('approve', array($params)); + } + /** + * Generates a URL that can be rendered in an iframe to display the permissions + * (if any) of a product. An enterprise admin must view these permissions and + * accept them on behalf of their organization in order to approve that product. + * + * Admins should accept the displayed permissions by interacting with a separate + * UI element in the EMM console, which in turn should trigger the use of this + * URL as the approvalUrlInfo.approvalUrl property in a Products.approve call to + * approve the product. This URL can only be used to display permissions for up + * to 1 day. (products.generateApprovalUrl) + * + * @param string $enterpriseId The ID of the enterprise. + * @param string $productId The ID of the product. + * @param array $optParams Optional parameters. + * + * @opt_param string languageCode The BCP 47 language code used for permission + * names and descriptions in the returned iframe, for instance "en-US". + * @return Google_Service_AndroidEnterprise_ProductsGenerateApprovalUrlResponse + */ + public function generateApprovalUrl($enterpriseId, $productId, $optParams = array()) + { + $params = array('enterpriseId' => $enterpriseId, 'productId' => $productId); + $params = array_merge($params, $optParams); + return $this->call('generateApprovalUrl', array($params), "Google_Service_AndroidEnterprise_ProductsGenerateApprovalUrlResponse"); + } + /** + * Retrieves details of a product for display to an enterprise admin. + * (products.get) + * + * @param string $enterpriseId The ID of the enterprise. + * @param string $productId The ID of the product, e.g. + * "app:com.google.android.gm". + * @param array $optParams Optional parameters. + * + * @opt_param string language The BCP47 tag for the user's preferred language + * (e.g. "en-US", "de"). + * @return Google_Service_AndroidEnterprise_Product + */ + public function get($enterpriseId, $productId, $optParams = array()) + { + $params = array('enterpriseId' => $enterpriseId, 'productId' => $productId); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_AndroidEnterprise_Product"); + } + /** + * Retrieves the schema that defines the configurable properties for this + * product. All products have a schema, but this schema may be empty if no + * managed configurations have been defined. This schema can be used to populate + * a UI that allows an admin to configure the product. To apply a managed + * configuration based on the schema obtained using this API, see Managed + * Configurations through Play. (products.getAppRestrictionsSchema) + * + * @param string $enterpriseId The ID of the enterprise. + * @param string $productId The ID of the product. + * @param array $optParams Optional parameters. + * + * @opt_param string language The BCP47 tag for the user's preferred language + * (e.g. "en-US", "de"). + * @return Google_Service_AndroidEnterprise_AppRestrictionsSchema + */ + public function getAppRestrictionsSchema($enterpriseId, $productId, $optParams = array()) + { + $params = array('enterpriseId' => $enterpriseId, 'productId' => $productId); + $params = array_merge($params, $optParams); + return $this->call('getAppRestrictionsSchema', array($params), "Google_Service_AndroidEnterprise_AppRestrictionsSchema"); + } + /** + * Retrieves the Android app permissions required by this app. + * (products.getPermissions) + * + * @param string $enterpriseId The ID of the enterprise. + * @param string $productId The ID of the product. + * @param array $optParams Optional parameters. + * @return Google_Service_AndroidEnterprise_ProductPermissions + */ + public function getPermissions($enterpriseId, $productId, $optParams = array()) + { + $params = array('enterpriseId' => $enterpriseId, 'productId' => $productId); + $params = array_merge($params, $optParams); + return $this->call('getPermissions', array($params), "Google_Service_AndroidEnterprise_ProductPermissions"); + } + /** + * Finds approved products that match a query, or all approved products if there + * is no query. (products.listProducts) + * + * @param string $enterpriseId The ID of the enterprise. + * @param array $optParams Optional parameters. + * + * @opt_param bool approved Specifies whether to search among all products + * (false) or among only products that have been approved (true). Only "true" is + * supported, and should be specified. + * @opt_param string language The BCP47 tag for the user's preferred language + * (e.g. "en-US", "de"). Results are returned in the language best matching the + * preferred language. + * @opt_param string maxResults Specifies the maximum number of products that + * can be returned per request. If not specified, uses a default value of 100, + * which is also the maximum retrievable within a single response. + * @opt_param string query The search query as typed in the Google Play store + * search box. If omitted, all approved apps will be returned (using the + * pagination parameters), including apps that are not available in the store + * (e.g. unpublished apps). + * @opt_param string token A pagination token is contained in a request''s + * response when there are more products. The token can be used in a subsequent + * request to obtain more products, and so forth. This parameter cannot be used + * in the initial request. + * @return Google_Service_AndroidEnterprise_ProductsListResponse + */ + public function listProducts($enterpriseId, $optParams = array()) + { + $params = array('enterpriseId' => $enterpriseId); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_AndroidEnterprise_ProductsListResponse"); + } + /** + * Unapproves the specified product (and the relevant app permissions, if any) + * (products.unapprove) + * + * @param string $enterpriseId The ID of the enterprise. + * @param string $productId The ID of the product. + * @param array $optParams Optional parameters. + */ + public function unapprove($enterpriseId, $productId, $optParams = array()) + { + $params = array('enterpriseId' => $enterpriseId, 'productId' => $productId); + $params = array_merge($params, $optParams); + return $this->call('unapprove', array($params)); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/Resource/Serviceaccountkeys.php b/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/Resource/Serviceaccountkeys.php new file mode 100644 index 00000000..7421754e --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/Resource/Serviceaccountkeys.php @@ -0,0 +1,82 @@ + + * $androidenterpriseService = new Google_Service_AndroidEnterprise(...); + * $serviceaccountkeys = $androidenterpriseService->serviceaccountkeys; + * + */ +class Google_Service_AndroidEnterprise_Resource_Serviceaccountkeys extends Google_Service_Resource +{ + /** + * Removes and invalidates the specified credentials for the service account + * associated with this enterprise. The calling service account must have been + * retrieved by calling Enterprises.GetServiceAccount and must have been set as + * the enterprise service account by calling Enterprises.SetAccount. + * (serviceaccountkeys.delete) + * + * @param string $enterpriseId The ID of the enterprise. + * @param string $keyId The ID of the key. + * @param array $optParams Optional parameters. + */ + public function delete($enterpriseId, $keyId, $optParams = array()) + { + $params = array('enterpriseId' => $enterpriseId, 'keyId' => $keyId); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params)); + } + /** + * Generates new credentials for the service account associated with this + * enterprise. The calling service account must have been retrieved by calling + * Enterprises.GetServiceAccount and must have been set as the enterprise + * service account by calling Enterprises.SetAccount. + * + * Only the type of the key should be populated in the resource to be inserted. + * (serviceaccountkeys.insert) + * + * @param string $enterpriseId The ID of the enterprise. + * @param Google_Service_AndroidEnterprise_ServiceAccountKey $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_AndroidEnterprise_ServiceAccountKey + */ + public function insert($enterpriseId, Google_Service_AndroidEnterprise_ServiceAccountKey $postBody, $optParams = array()) + { + $params = array('enterpriseId' => $enterpriseId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('insert', array($params), "Google_Service_AndroidEnterprise_ServiceAccountKey"); + } + /** + * Lists all active credentials for the service account associated with this + * enterprise. Only the ID and key type are returned. The calling service + * account must have been retrieved by calling Enterprises.GetServiceAccount and + * must have been set as the enterprise service account by calling + * Enterprises.SetAccount. (serviceaccountkeys.listServiceaccountkeys) + * + * @param string $enterpriseId The ID of the enterprise. + * @param array $optParams Optional parameters. + * @return Google_Service_AndroidEnterprise_ServiceAccountKeysListResponse + */ + public function listServiceaccountkeys($enterpriseId, $optParams = array()) + { + $params = array('enterpriseId' => $enterpriseId); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_AndroidEnterprise_ServiceAccountKeysListResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/Resource/Storelayoutclusters.php b/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/Resource/Storelayoutclusters.php new file mode 100644 index 00000000..c15da4e4 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/Resource/Storelayoutclusters.php @@ -0,0 +1,120 @@ + + * $androidenterpriseService = new Google_Service_AndroidEnterprise(...); + * $storelayoutclusters = $androidenterpriseService->storelayoutclusters; + * + */ +class Google_Service_AndroidEnterprise_Resource_Storelayoutclusters extends Google_Service_Resource +{ + /** + * Deletes a cluster. (storelayoutclusters.delete) + * + * @param string $enterpriseId The ID of the enterprise. + * @param string $pageId The ID of the page. + * @param string $clusterId The ID of the cluster. + * @param array $optParams Optional parameters. + */ + public function delete($enterpriseId, $pageId, $clusterId, $optParams = array()) + { + $params = array('enterpriseId' => $enterpriseId, 'pageId' => $pageId, 'clusterId' => $clusterId); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params)); + } + /** + * Retrieves details of a cluster. (storelayoutclusters.get) + * + * @param string $enterpriseId The ID of the enterprise. + * @param string $pageId The ID of the page. + * @param string $clusterId The ID of the cluster. + * @param array $optParams Optional parameters. + * @return Google_Service_AndroidEnterprise_StoreCluster + */ + public function get($enterpriseId, $pageId, $clusterId, $optParams = array()) + { + $params = array('enterpriseId' => $enterpriseId, 'pageId' => $pageId, 'clusterId' => $clusterId); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_AndroidEnterprise_StoreCluster"); + } + /** + * Inserts a new cluster in a page. (storelayoutclusters.insert) + * + * @param string $enterpriseId The ID of the enterprise. + * @param string $pageId The ID of the page. + * @param Google_Service_AndroidEnterprise_StoreCluster $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_AndroidEnterprise_StoreCluster + */ + public function insert($enterpriseId, $pageId, Google_Service_AndroidEnterprise_StoreCluster $postBody, $optParams = array()) + { + $params = array('enterpriseId' => $enterpriseId, 'pageId' => $pageId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('insert', array($params), "Google_Service_AndroidEnterprise_StoreCluster"); + } + /** + * Retrieves the details of all clusters on the specified page. + * (storelayoutclusters.listStorelayoutclusters) + * + * @param string $enterpriseId The ID of the enterprise. + * @param string $pageId The ID of the page. + * @param array $optParams Optional parameters. + * @return Google_Service_AndroidEnterprise_StoreLayoutClustersListResponse + */ + public function listStorelayoutclusters($enterpriseId, $pageId, $optParams = array()) + { + $params = array('enterpriseId' => $enterpriseId, 'pageId' => $pageId); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_AndroidEnterprise_StoreLayoutClustersListResponse"); + } + /** + * Updates a cluster. This method supports patch semantics. + * (storelayoutclusters.patch) + * + * @param string $enterpriseId The ID of the enterprise. + * @param string $pageId The ID of the page. + * @param string $clusterId The ID of the cluster. + * @param Google_Service_AndroidEnterprise_StoreCluster $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_AndroidEnterprise_StoreCluster + */ + public function patch($enterpriseId, $pageId, $clusterId, Google_Service_AndroidEnterprise_StoreCluster $postBody, $optParams = array()) + { + $params = array('enterpriseId' => $enterpriseId, 'pageId' => $pageId, 'clusterId' => $clusterId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('patch', array($params), "Google_Service_AndroidEnterprise_StoreCluster"); + } + /** + * Updates a cluster. (storelayoutclusters.update) + * + * @param string $enterpriseId The ID of the enterprise. + * @param string $pageId The ID of the page. + * @param string $clusterId The ID of the cluster. + * @param Google_Service_AndroidEnterprise_StoreCluster $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_AndroidEnterprise_StoreCluster + */ + public function update($enterpriseId, $pageId, $clusterId, Google_Service_AndroidEnterprise_StoreCluster $postBody, $optParams = array()) + { + $params = array('enterpriseId' => $enterpriseId, 'pageId' => $pageId, 'clusterId' => $clusterId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('update', array($params), "Google_Service_AndroidEnterprise_StoreCluster"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/Resource/Storelayoutpages.php b/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/Resource/Storelayoutpages.php new file mode 100644 index 00000000..f06c2fa6 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/Resource/Storelayoutpages.php @@ -0,0 +1,114 @@ + + * $androidenterpriseService = new Google_Service_AndroidEnterprise(...); + * $storelayoutpages = $androidenterpriseService->storelayoutpages; + * + */ +class Google_Service_AndroidEnterprise_Resource_Storelayoutpages extends Google_Service_Resource +{ + /** + * Deletes a store page. (storelayoutpages.delete) + * + * @param string $enterpriseId The ID of the enterprise. + * @param string $pageId The ID of the page. + * @param array $optParams Optional parameters. + */ + public function delete($enterpriseId, $pageId, $optParams = array()) + { + $params = array('enterpriseId' => $enterpriseId, 'pageId' => $pageId); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params)); + } + /** + * Retrieves details of a store page. (storelayoutpages.get) + * + * @param string $enterpriseId The ID of the enterprise. + * @param string $pageId The ID of the page. + * @param array $optParams Optional parameters. + * @return Google_Service_AndroidEnterprise_StorePage + */ + public function get($enterpriseId, $pageId, $optParams = array()) + { + $params = array('enterpriseId' => $enterpriseId, 'pageId' => $pageId); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_AndroidEnterprise_StorePage"); + } + /** + * Inserts a new store page. (storelayoutpages.insert) + * + * @param string $enterpriseId The ID of the enterprise. + * @param Google_Service_AndroidEnterprise_StorePage $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_AndroidEnterprise_StorePage + */ + public function insert($enterpriseId, Google_Service_AndroidEnterprise_StorePage $postBody, $optParams = array()) + { + $params = array('enterpriseId' => $enterpriseId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('insert', array($params), "Google_Service_AndroidEnterprise_StorePage"); + } + /** + * Retrieves the details of all pages in the store. + * (storelayoutpages.listStorelayoutpages) + * + * @param string $enterpriseId The ID of the enterprise. + * @param array $optParams Optional parameters. + * @return Google_Service_AndroidEnterprise_StoreLayoutPagesListResponse + */ + public function listStorelayoutpages($enterpriseId, $optParams = array()) + { + $params = array('enterpriseId' => $enterpriseId); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_AndroidEnterprise_StoreLayoutPagesListResponse"); + } + /** + * Updates the content of a store page. This method supports patch semantics. + * (storelayoutpages.patch) + * + * @param string $enterpriseId The ID of the enterprise. + * @param string $pageId The ID of the page. + * @param Google_Service_AndroidEnterprise_StorePage $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_AndroidEnterprise_StorePage + */ + public function patch($enterpriseId, $pageId, Google_Service_AndroidEnterprise_StorePage $postBody, $optParams = array()) + { + $params = array('enterpriseId' => $enterpriseId, 'pageId' => $pageId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('patch', array($params), "Google_Service_AndroidEnterprise_StorePage"); + } + /** + * Updates the content of a store page. (storelayoutpages.update) + * + * @param string $enterpriseId The ID of the enterprise. + * @param string $pageId The ID of the page. + * @param Google_Service_AndroidEnterprise_StorePage $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_AndroidEnterprise_StorePage + */ + public function update($enterpriseId, $pageId, Google_Service_AndroidEnterprise_StorePage $postBody, $optParams = array()) + { + $params = array('enterpriseId' => $enterpriseId, 'pageId' => $pageId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('update', array($params), "Google_Service_AndroidEnterprise_StorePage"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/Resource/Users.php b/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/Resource/Users.php new file mode 100644 index 00000000..dd070c4c --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/Resource/Users.php @@ -0,0 +1,215 @@ + + * $androidenterpriseService = new Google_Service_AndroidEnterprise(...); + * $users = $androidenterpriseService->users; + * + */ +class Google_Service_AndroidEnterprise_Resource_Users extends Google_Service_Resource +{ + /** + * Deleted an EMM-managed user. (users.delete) + * + * @param string $enterpriseId The ID of the enterprise. + * @param string $userId The ID of the user. + * @param array $optParams Optional parameters. + */ + public function delete($enterpriseId, $userId, $optParams = array()) + { + $params = array('enterpriseId' => $enterpriseId, 'userId' => $userId); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params)); + } + /** + * Generates an authentication token which the device policy client can use to + * provision the given EMM-managed user account on a device. The generated token + * is single-use and expires after a few minutes. + * + * This call only works with EMM-managed accounts. + * (users.generateAuthenticationToken) + * + * @param string $enterpriseId The ID of the enterprise. + * @param string $userId The ID of the user. + * @param array $optParams Optional parameters. + * @return Google_Service_AndroidEnterprise_AuthenticationToken + */ + public function generateAuthenticationToken($enterpriseId, $userId, $optParams = array()) + { + $params = array('enterpriseId' => $enterpriseId, 'userId' => $userId); + $params = array_merge($params, $optParams); + return $this->call('generateAuthenticationToken', array($params), "Google_Service_AndroidEnterprise_AuthenticationToken"); + } + /** + * Generates a token (activation code) to allow this user to configure their + * managed account in the Android Setup Wizard. Revokes any previously generated + * token. + * + * This call only works with Google managed accounts. (users.generateToken) + * + * @param string $enterpriseId The ID of the enterprise. + * @param string $userId The ID of the user. + * @param array $optParams Optional parameters. + * @return Google_Service_AndroidEnterprise_UserToken + */ + public function generateToken($enterpriseId, $userId, $optParams = array()) + { + $params = array('enterpriseId' => $enterpriseId, 'userId' => $userId); + $params = array_merge($params, $optParams); + return $this->call('generateToken', array($params), "Google_Service_AndroidEnterprise_UserToken"); + } + /** + * Retrieves a user's details. (users.get) + * + * @param string $enterpriseId The ID of the enterprise. + * @param string $userId The ID of the user. + * @param array $optParams Optional parameters. + * @return Google_Service_AndroidEnterprise_User + */ + public function get($enterpriseId, $userId, $optParams = array()) + { + $params = array('enterpriseId' => $enterpriseId, 'userId' => $userId); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_AndroidEnterprise_User"); + } + /** + * Retrieves the set of products a user is entitled to access. + * (users.getAvailableProductSet) + * + * @param string $enterpriseId The ID of the enterprise. + * @param string $userId The ID of the user. + * @param array $optParams Optional parameters. + * @return Google_Service_AndroidEnterprise_ProductSet + */ + public function getAvailableProductSet($enterpriseId, $userId, $optParams = array()) + { + $params = array('enterpriseId' => $enterpriseId, 'userId' => $userId); + $params = array_merge($params, $optParams); + return $this->call('getAvailableProductSet', array($params), "Google_Service_AndroidEnterprise_ProductSet"); + } + /** + * Creates a new EMM-managed user. + * + * The Users resource passed in the body of the request should include an + * accountIdentifier and an accountType. If a corresponding user already exists + * with the same account identifier, the user will be updated with the resource. + * In this case only the displayName field can be changed. (users.insert) + * + * @param string $enterpriseId The ID of the enterprise. + * @param Google_Service_AndroidEnterprise_User $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_AndroidEnterprise_User + */ + public function insert($enterpriseId, Google_Service_AndroidEnterprise_User $postBody, $optParams = array()) + { + $params = array('enterpriseId' => $enterpriseId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('insert', array($params), "Google_Service_AndroidEnterprise_User"); + } + /** + * Looks up a user by primary email address. This is only supported for Google- + * managed users. Lookup of the id is not needed for EMM-managed users because + * the id is already returned in the result of the Users.insert call. + * (users.listUsers) + * + * @param string $enterpriseId The ID of the enterprise. + * @param string $email The exact primary email address of the user to look up. + * @param array $optParams Optional parameters. + * @return Google_Service_AndroidEnterprise_UsersListResponse + */ + public function listUsers($enterpriseId, $email, $optParams = array()) + { + $params = array('enterpriseId' => $enterpriseId, 'email' => $email); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_AndroidEnterprise_UsersListResponse"); + } + /** + * Updates the details of an EMM-managed user. + * + * Can be used with EMM-managed users only (not Google managed users). Pass the + * new details in the Users resource in the request body. Only the displayName + * field can be changed. Other fields must either be unset or have the currently + * active value. This method supports patch semantics. (users.patch) + * + * @param string $enterpriseId The ID of the enterprise. + * @param string $userId The ID of the user. + * @param Google_Service_AndroidEnterprise_User $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_AndroidEnterprise_User + */ + public function patch($enterpriseId, $userId, Google_Service_AndroidEnterprise_User $postBody, $optParams = array()) + { + $params = array('enterpriseId' => $enterpriseId, 'userId' => $userId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('patch', array($params), "Google_Service_AndroidEnterprise_User"); + } + /** + * Revokes a previously generated token (activation code) for the user. + * (users.revokeToken) + * + * @param string $enterpriseId The ID of the enterprise. + * @param string $userId The ID of the user. + * @param array $optParams Optional parameters. + */ + public function revokeToken($enterpriseId, $userId, $optParams = array()) + { + $params = array('enterpriseId' => $enterpriseId, 'userId' => $userId); + $params = array_merge($params, $optParams); + return $this->call('revokeToken', array($params)); + } + /** + * Modifies the set of products that a user is entitled to access (referred to + * as whitelisted products). Only products that are approved or products that + * were previously approved (products with revoked approval) can be whitelisted. + * (users.setAvailableProductSet) + * + * @param string $enterpriseId The ID of the enterprise. + * @param string $userId The ID of the user. + * @param Google_Service_AndroidEnterprise_ProductSet $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_AndroidEnterprise_ProductSet + */ + public function setAvailableProductSet($enterpriseId, $userId, Google_Service_AndroidEnterprise_ProductSet $postBody, $optParams = array()) + { + $params = array('enterpriseId' => $enterpriseId, 'userId' => $userId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('setAvailableProductSet', array($params), "Google_Service_AndroidEnterprise_ProductSet"); + } + /** + * Updates the details of an EMM-managed user. + * + * Can be used with EMM-managed users only (not Google managed users). Pass the + * new details in the Users resource in the request body. Only the displayName + * field can be changed. Other fields must either be unset or have the currently + * active value. (users.update) + * + * @param string $enterpriseId The ID of the enterprise. + * @param string $userId The ID of the user. + * @param Google_Service_AndroidEnterprise_User $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_AndroidEnterprise_User + */ + public function update($enterpriseId, $userId, Google_Service_AndroidEnterprise_User $postBody, $optParams = array()) + { + $params = array('enterpriseId' => $enterpriseId, 'userId' => $userId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('update', array($params), "Google_Service_AndroidEnterprise_User"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/ServiceAccount.php b/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/ServiceAccount.php new file mode 100644 index 00000000..e1746570 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/ServiceAccount.php @@ -0,0 +1,49 @@ +key = $key; + } + public function getKey() + { + return $this->key; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/ServiceAccountKey.php b/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/ServiceAccountKey.php new file mode 100644 index 00000000..41b182df --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/ServiceAccountKey.php @@ -0,0 +1,66 @@ +data = $data; + } + public function getData() + { + return $this->data; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setPublicData($publicData) + { + $this->publicData = $publicData; + } + public function getPublicData() + { + return $this->publicData; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/ServiceAccountKeysListResponse.php b/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/ServiceAccountKeysListResponse.php new file mode 100644 index 00000000..5e336a24 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/ServiceAccountKeysListResponse.php @@ -0,0 +1,32 @@ +serviceAccountKey = $serviceAccountKey; + } + public function getServiceAccountKey() + { + return $this->serviceAccountKey; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/SignupInfo.php b/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/SignupInfo.php new file mode 100644 index 00000000..20dc18e0 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/SignupInfo.php @@ -0,0 +1,48 @@ +completionToken = $completionToken; + } + public function getCompletionToken() + { + return $this->completionToken; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setUrl($url) + { + $this->url = $url; + } + public function getUrl() + { + return $this->url; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/StoreCluster.php b/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/StoreCluster.php new file mode 100644 index 00000000..bfca3515 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/StoreCluster.php @@ -0,0 +1,68 @@ +id = $id; + } + public function getId() + { + return $this->id; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setOrderInPage($orderInPage) + { + $this->orderInPage = $orderInPage; + } + public function getOrderInPage() + { + return $this->orderInPage; + } + public function setProductId($productId) + { + $this->productId = $productId; + } + public function getProductId() + { + return $this->productId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/StoreLayout.php b/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/StoreLayout.php new file mode 100644 index 00000000..faf25c1a --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/StoreLayout.php @@ -0,0 +1,48 @@ +homepageId = $homepageId; + } + public function getHomepageId() + { + return $this->homepageId; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setStoreLayoutType($storeLayoutType) + { + $this->storeLayoutType = $storeLayoutType; + } + public function getStoreLayoutType() + { + return $this->storeLayoutType; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/StoreLayoutClustersListResponse.php b/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/StoreLayoutClustersListResponse.php new file mode 100644 index 00000000..553f3ab0 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/StoreLayoutClustersListResponse.php @@ -0,0 +1,41 @@ +cluster = $cluster; + } + public function getCluster() + { + return $this->cluster; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/StoreLayoutPagesListResponse.php b/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/StoreLayoutPagesListResponse.php new file mode 100644 index 00000000..c47c3374 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/StoreLayoutPagesListResponse.php @@ -0,0 +1,41 @@ +kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setPage($page) + { + $this->page = $page; + } + public function getPage() + { + return $this->page; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/StorePage.php b/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/StorePage.php new file mode 100644 index 00000000..bee78374 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/StorePage.php @@ -0,0 +1,59 @@ +id = $id; + } + public function getId() + { + return $this->id; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setLink($link) + { + $this->link = $link; + } + public function getLink() + { + return $this->link; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/TokenPagination.php b/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/TokenPagination.php new file mode 100644 index 00000000..69fc8175 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/TokenPagination.php @@ -0,0 +1,39 @@ +nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setPreviousPageToken($previousPageToken) + { + $this->previousPageToken = $previousPageToken; + } + public function getPreviousPageToken() + { + return $this->previousPageToken; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/User.php b/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/User.php new file mode 100644 index 00000000..60ed8dbf --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/User.php @@ -0,0 +1,84 @@ +accountIdentifier = $accountIdentifier; + } + public function getAccountIdentifier() + { + return $this->accountIdentifier; + } + public function setAccountType($accountType) + { + $this->accountType = $accountType; + } + public function getAccountType() + { + return $this->accountType; + } + public function setDisplayName($displayName) + { + $this->displayName = $displayName; + } + public function getDisplayName() + { + return $this->displayName; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setManagementType($managementType) + { + $this->managementType = $managementType; + } + public function getManagementType() + { + return $this->managementType; + } + public function setPrimaryEmail($primaryEmail) + { + $this->primaryEmail = $primaryEmail; + } + public function getPrimaryEmail() + { + return $this->primaryEmail; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/UserToken.php b/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/UserToken.php new file mode 100644 index 00000000..fd511dc7 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/UserToken.php @@ -0,0 +1,48 @@ +kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setToken($token) + { + $this->token = $token; + } + public function getToken() + { + return $this->token; + } + public function setUserId($userId) + { + $this->userId = $userId; + } + public function getUserId() + { + return $this->userId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/UsersListResponse.php b/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/UsersListResponse.php new file mode 100644 index 00000000..b680ded9 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AndroidEnterprise/UsersListResponse.php @@ -0,0 +1,41 @@ +kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setUser($user) + { + $this->user = $user; + } + public function getUser() + { + return $this->user; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AndroidPublisher.php b/vendor/google/apiclient-services/src/Google/Service/AndroidPublisher.php new file mode 100644 index 00000000..8aba4482 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AndroidPublisher.php @@ -0,0 +1,1347 @@ + + * Lets Android application developers access their Google Play accounts.

+ * + *

+ * For more information about this service, see the API + * Documentation + *

+ * + * @author Google, Inc. + */ +class Google_Service_AndroidPublisher extends Google_Service +{ + /** View and manage your Google Play Developer account. */ + const ANDROIDPUBLISHER = + "https://www.googleapis.com/auth/androidpublisher"; + + public $edits; + public $edits_apklistings; + public $edits_apks; + public $edits_deobfuscationfiles; + public $edits_details; + public $edits_expansionfiles; + public $edits_images; + public $edits_listings; + public $edits_testers; + public $edits_tracks; + public $entitlements; + public $inappproducts; + public $purchases_products; + public $purchases_subscriptions; + public $purchases_voidedpurchases; + public $reviews; + + /** + * Constructs the internal representation of the AndroidPublisher service. + * + * @param Google_Client $client + */ + public function __construct(Google_Client $client) + { + parent::__construct($client); + $this->rootUrl = 'https://www.googleapis.com/'; + $this->servicePath = 'androidpublisher/v2/applications/'; + $this->version = 'v2'; + $this->serviceName = 'androidpublisher'; + + $this->edits = new Google_Service_AndroidPublisher_Resource_Edits( + $this, + $this->serviceName, + 'edits', + array( + 'methods' => array( + 'commit' => array( + 'path' => '{packageName}/edits/{editId}:commit', + 'httpMethod' => 'POST', + 'parameters' => array( + 'packageName' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'editId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'delete' => array( + 'path' => '{packageName}/edits/{editId}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'packageName' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'editId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'get' => array( + 'path' => '{packageName}/edits/{editId}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'packageName' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'editId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'insert' => array( + 'path' => '{packageName}/edits', + 'httpMethod' => 'POST', + 'parameters' => array( + 'packageName' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'validate' => array( + 'path' => '{packageName}/edits/{editId}:validate', + 'httpMethod' => 'POST', + 'parameters' => array( + 'packageName' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'editId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->edits_apklistings = new Google_Service_AndroidPublisher_Resource_EditsApklistings( + $this, + $this->serviceName, + 'apklistings', + array( + 'methods' => array( + 'delete' => array( + 'path' => '{packageName}/edits/{editId}/apks/{apkVersionCode}/listings/{language}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'packageName' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'editId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'apkVersionCode' => array( + 'location' => 'path', + 'type' => 'integer', + 'required' => true, + ), + 'language' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'deleteall' => array( + 'path' => '{packageName}/edits/{editId}/apks/{apkVersionCode}/listings', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'packageName' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'editId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'apkVersionCode' => array( + 'location' => 'path', + 'type' => 'integer', + 'required' => true, + ), + ), + ),'get' => array( + 'path' => '{packageName}/edits/{editId}/apks/{apkVersionCode}/listings/{language}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'packageName' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'editId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'apkVersionCode' => array( + 'location' => 'path', + 'type' => 'integer', + 'required' => true, + ), + 'language' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => '{packageName}/edits/{editId}/apks/{apkVersionCode}/listings', + 'httpMethod' => 'GET', + 'parameters' => array( + 'packageName' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'editId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'apkVersionCode' => array( + 'location' => 'path', + 'type' => 'integer', + 'required' => true, + ), + ), + ),'patch' => array( + 'path' => '{packageName}/edits/{editId}/apks/{apkVersionCode}/listings/{language}', + 'httpMethod' => 'PATCH', + 'parameters' => array( + 'packageName' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'editId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'apkVersionCode' => array( + 'location' => 'path', + 'type' => 'integer', + 'required' => true, + ), + 'language' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'update' => array( + 'path' => '{packageName}/edits/{editId}/apks/{apkVersionCode}/listings/{language}', + 'httpMethod' => 'PUT', + 'parameters' => array( + 'packageName' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'editId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'apkVersionCode' => array( + 'location' => 'path', + 'type' => 'integer', + 'required' => true, + ), + 'language' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->edits_apks = new Google_Service_AndroidPublisher_Resource_EditsApks( + $this, + $this->serviceName, + 'apks', + array( + 'methods' => array( + 'addexternallyhosted' => array( + 'path' => '{packageName}/edits/{editId}/apks/externallyHosted', + 'httpMethod' => 'POST', + 'parameters' => array( + 'packageName' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'editId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => '{packageName}/edits/{editId}/apks', + 'httpMethod' => 'GET', + 'parameters' => array( + 'packageName' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'editId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'upload' => array( + 'path' => '{packageName}/edits/{editId}/apks', + 'httpMethod' => 'POST', + 'parameters' => array( + 'packageName' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'editId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->edits_deobfuscationfiles = new Google_Service_AndroidPublisher_Resource_EditsDeobfuscationfiles( + $this, + $this->serviceName, + 'deobfuscationfiles', + array( + 'methods' => array( + 'upload' => array( + 'path' => '{packageName}/edits/{editId}/apks/{apkVersionCode}/deobfuscationFiles/{deobfuscationFileType}', + 'httpMethod' => 'POST', + 'parameters' => array( + 'packageName' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'editId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'apkVersionCode' => array( + 'location' => 'path', + 'type' => 'integer', + 'required' => true, + ), + 'deobfuscationFileType' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->edits_details = new Google_Service_AndroidPublisher_Resource_EditsDetails( + $this, + $this->serviceName, + 'details', + array( + 'methods' => array( + 'get' => array( + 'path' => '{packageName}/edits/{editId}/details', + 'httpMethod' => 'GET', + 'parameters' => array( + 'packageName' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'editId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'patch' => array( + 'path' => '{packageName}/edits/{editId}/details', + 'httpMethod' => 'PATCH', + 'parameters' => array( + 'packageName' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'editId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'update' => array( + 'path' => '{packageName}/edits/{editId}/details', + 'httpMethod' => 'PUT', + 'parameters' => array( + 'packageName' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'editId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->edits_expansionfiles = new Google_Service_AndroidPublisher_Resource_EditsExpansionfiles( + $this, + $this->serviceName, + 'expansionfiles', + array( + 'methods' => array( + 'get' => array( + 'path' => '{packageName}/edits/{editId}/apks/{apkVersionCode}/expansionFiles/{expansionFileType}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'packageName' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'editId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'apkVersionCode' => array( + 'location' => 'path', + 'type' => 'integer', + 'required' => true, + ), + 'expansionFileType' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'patch' => array( + 'path' => '{packageName}/edits/{editId}/apks/{apkVersionCode}/expansionFiles/{expansionFileType}', + 'httpMethod' => 'PATCH', + 'parameters' => array( + 'packageName' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'editId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'apkVersionCode' => array( + 'location' => 'path', + 'type' => 'integer', + 'required' => true, + ), + 'expansionFileType' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'update' => array( + 'path' => '{packageName}/edits/{editId}/apks/{apkVersionCode}/expansionFiles/{expansionFileType}', + 'httpMethod' => 'PUT', + 'parameters' => array( + 'packageName' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'editId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'apkVersionCode' => array( + 'location' => 'path', + 'type' => 'integer', + 'required' => true, + ), + 'expansionFileType' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'upload' => array( + 'path' => '{packageName}/edits/{editId}/apks/{apkVersionCode}/expansionFiles/{expansionFileType}', + 'httpMethod' => 'POST', + 'parameters' => array( + 'packageName' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'editId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'apkVersionCode' => array( + 'location' => 'path', + 'type' => 'integer', + 'required' => true, + ), + 'expansionFileType' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->edits_images = new Google_Service_AndroidPublisher_Resource_EditsImages( + $this, + $this->serviceName, + 'images', + array( + 'methods' => array( + 'delete' => array( + 'path' => '{packageName}/edits/{editId}/listings/{language}/{imageType}/{imageId}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'packageName' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'editId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'language' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'imageType' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'imageId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'deleteall' => array( + 'path' => '{packageName}/edits/{editId}/listings/{language}/{imageType}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'packageName' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'editId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'language' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'imageType' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => '{packageName}/edits/{editId}/listings/{language}/{imageType}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'packageName' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'editId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'language' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'imageType' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'upload' => array( + 'path' => '{packageName}/edits/{editId}/listings/{language}/{imageType}', + 'httpMethod' => 'POST', + 'parameters' => array( + 'packageName' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'editId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'language' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'imageType' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->edits_listings = new Google_Service_AndroidPublisher_Resource_EditsListings( + $this, + $this->serviceName, + 'listings', + array( + 'methods' => array( + 'delete' => array( + 'path' => '{packageName}/edits/{editId}/listings/{language}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'packageName' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'editId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'language' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'deleteall' => array( + 'path' => '{packageName}/edits/{editId}/listings', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'packageName' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'editId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'get' => array( + 'path' => '{packageName}/edits/{editId}/listings/{language}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'packageName' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'editId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'language' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => '{packageName}/edits/{editId}/listings', + 'httpMethod' => 'GET', + 'parameters' => array( + 'packageName' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'editId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'patch' => array( + 'path' => '{packageName}/edits/{editId}/listings/{language}', + 'httpMethod' => 'PATCH', + 'parameters' => array( + 'packageName' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'editId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'language' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'update' => array( + 'path' => '{packageName}/edits/{editId}/listings/{language}', + 'httpMethod' => 'PUT', + 'parameters' => array( + 'packageName' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'editId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'language' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->edits_testers = new Google_Service_AndroidPublisher_Resource_EditsTesters( + $this, + $this->serviceName, + 'testers', + array( + 'methods' => array( + 'get' => array( + 'path' => '{packageName}/edits/{editId}/testers/{track}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'packageName' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'editId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'track' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'patch' => array( + 'path' => '{packageName}/edits/{editId}/testers/{track}', + 'httpMethod' => 'PATCH', + 'parameters' => array( + 'packageName' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'editId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'track' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'update' => array( + 'path' => '{packageName}/edits/{editId}/testers/{track}', + 'httpMethod' => 'PUT', + 'parameters' => array( + 'packageName' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'editId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'track' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->edits_tracks = new Google_Service_AndroidPublisher_Resource_EditsTracks( + $this, + $this->serviceName, + 'tracks', + array( + 'methods' => array( + 'get' => array( + 'path' => '{packageName}/edits/{editId}/tracks/{track}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'packageName' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'editId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'track' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => '{packageName}/edits/{editId}/tracks', + 'httpMethod' => 'GET', + 'parameters' => array( + 'packageName' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'editId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'patch' => array( + 'path' => '{packageName}/edits/{editId}/tracks/{track}', + 'httpMethod' => 'PATCH', + 'parameters' => array( + 'packageName' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'editId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'track' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'update' => array( + 'path' => '{packageName}/edits/{editId}/tracks/{track}', + 'httpMethod' => 'PUT', + 'parameters' => array( + 'packageName' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'editId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'track' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->entitlements = new Google_Service_AndroidPublisher_Resource_Entitlements( + $this, + $this->serviceName, + 'entitlements', + array( + 'methods' => array( + 'list' => array( + 'path' => '{packageName}/entitlements', + 'httpMethod' => 'GET', + 'parameters' => array( + 'packageName' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'productId' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'startIndex' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'token' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + $this->inappproducts = new Google_Service_AndroidPublisher_Resource_Inappproducts( + $this, + $this->serviceName, + 'inappproducts', + array( + 'methods' => array( + 'batch' => array( + 'path' => 'inappproducts/batch', + 'httpMethod' => 'POST', + 'parameters' => array(), + ),'delete' => array( + 'path' => '{packageName}/inappproducts/{sku}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'packageName' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'sku' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'get' => array( + 'path' => '{packageName}/inappproducts/{sku}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'packageName' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'sku' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'insert' => array( + 'path' => '{packageName}/inappproducts', + 'httpMethod' => 'POST', + 'parameters' => array( + 'packageName' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'autoConvertMissingPrices' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + ), + ),'list' => array( + 'path' => '{packageName}/inappproducts', + 'httpMethod' => 'GET', + 'parameters' => array( + 'packageName' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'startIndex' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'token' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'patch' => array( + 'path' => '{packageName}/inappproducts/{sku}', + 'httpMethod' => 'PATCH', + 'parameters' => array( + 'packageName' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'sku' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'autoConvertMissingPrices' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + ), + ),'update' => array( + 'path' => '{packageName}/inappproducts/{sku}', + 'httpMethod' => 'PUT', + 'parameters' => array( + 'packageName' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'sku' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'autoConvertMissingPrices' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + ), + ), + ) + ) + ); + $this->purchases_products = new Google_Service_AndroidPublisher_Resource_PurchasesProducts( + $this, + $this->serviceName, + 'products', + array( + 'methods' => array( + 'get' => array( + 'path' => '{packageName}/purchases/products/{productId}/tokens/{token}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'packageName' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'productId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'token' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->purchases_subscriptions = new Google_Service_AndroidPublisher_Resource_PurchasesSubscriptions( + $this, + $this->serviceName, + 'subscriptions', + array( + 'methods' => array( + 'cancel' => array( + 'path' => '{packageName}/purchases/subscriptions/{subscriptionId}/tokens/{token}:cancel', + 'httpMethod' => 'POST', + 'parameters' => array( + 'packageName' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'subscriptionId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'token' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'defer' => array( + 'path' => '{packageName}/purchases/subscriptions/{subscriptionId}/tokens/{token}:defer', + 'httpMethod' => 'POST', + 'parameters' => array( + 'packageName' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'subscriptionId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'token' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'get' => array( + 'path' => '{packageName}/purchases/subscriptions/{subscriptionId}/tokens/{token}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'packageName' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'subscriptionId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'token' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'refund' => array( + 'path' => '{packageName}/purchases/subscriptions/{subscriptionId}/tokens/{token}:refund', + 'httpMethod' => 'POST', + 'parameters' => array( + 'packageName' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'subscriptionId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'token' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'revoke' => array( + 'path' => '{packageName}/purchases/subscriptions/{subscriptionId}/tokens/{token}:revoke', + 'httpMethod' => 'POST', + 'parameters' => array( + 'packageName' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'subscriptionId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'token' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->purchases_voidedpurchases = new Google_Service_AndroidPublisher_Resource_PurchasesVoidedpurchases( + $this, + $this->serviceName, + 'voidedpurchases', + array( + 'methods' => array( + 'list' => array( + 'path' => '{packageName}/purchases/voidedpurchases', + 'httpMethod' => 'GET', + 'parameters' => array( + 'packageName' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'endTime' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'startIndex' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'startTime' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'token' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + $this->reviews = new Google_Service_AndroidPublisher_Resource_Reviews( + $this, + $this->serviceName, + 'reviews', + array( + 'methods' => array( + 'get' => array( + 'path' => '{packageName}/reviews/{reviewId}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'packageName' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'reviewId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'translationLanguage' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'list' => array( + 'path' => '{packageName}/reviews', + 'httpMethod' => 'GET', + 'parameters' => array( + 'packageName' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'startIndex' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'token' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'translationLanguage' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'reply' => array( + 'path' => '{packageName}/reviews/{reviewId}:reply', + 'httpMethod' => 'POST', + 'parameters' => array( + 'packageName' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'reviewId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/Apk.php b/vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/Apk.php new file mode 100644 index 00000000..25b7a54b --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/Apk.php @@ -0,0 +1,40 @@ +binary = $binary; + } + public function getBinary() + { + return $this->binary; + } + public function setVersionCode($versionCode) + { + $this->versionCode = $versionCode; + } + public function getVersionCode() + { + return $this->versionCode; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/ApkBinary.php b/vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/ApkBinary.php new file mode 100644 index 00000000..713000e0 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/ApkBinary.php @@ -0,0 +1,30 @@ +sha1 = $sha1; + } + public function getSha1() + { + return $this->sha1; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/ApkListing.php b/vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/ApkListing.php new file mode 100644 index 00000000..ee624744 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/ApkListing.php @@ -0,0 +1,39 @@ +language = $language; + } + public function getLanguage() + { + return $this->language; + } + public function setRecentChanges($recentChanges) + { + $this->recentChanges = $recentChanges; + } + public function getRecentChanges() + { + return $this->recentChanges; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/ApkListingsListResponse.php b/vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/ApkListingsListResponse.php new file mode 100644 index 00000000..d9adb37a --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/ApkListingsListResponse.php @@ -0,0 +1,41 @@ +kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setListings($listings) + { + $this->listings = $listings; + } + public function getListings() + { + return $this->listings; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/ApksAddExternallyHostedRequest.php b/vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/ApksAddExternallyHostedRequest.php new file mode 100644 index 00000000..d7ca9cd4 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/ApksAddExternallyHostedRequest.php @@ -0,0 +1,31 @@ +externallyHostedApk = $externallyHostedApk; + } + public function getExternallyHostedApk() + { + return $this->externallyHostedApk; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/ApksAddExternallyHostedResponse.php b/vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/ApksAddExternallyHostedResponse.php new file mode 100644 index 00000000..2829511e --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/ApksAddExternallyHostedResponse.php @@ -0,0 +1,31 @@ +externallyHostedApk = $externallyHostedApk; + } + public function getExternallyHostedApk() + { + return $this->externallyHostedApk; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/ApksListResponse.php b/vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/ApksListResponse.php new file mode 100644 index 00000000..040a7459 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/ApksListResponse.php @@ -0,0 +1,41 @@ +apks = $apks; + } + public function getApks() + { + return $this->apks; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/AppDetails.php b/vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/AppDetails.php new file mode 100644 index 00000000..6fe56b02 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/AppDetails.php @@ -0,0 +1,57 @@ +contactEmail = $contactEmail; + } + public function getContactEmail() + { + return $this->contactEmail; + } + public function setContactPhone($contactPhone) + { + $this->contactPhone = $contactPhone; + } + public function getContactPhone() + { + return $this->contactPhone; + } + public function setContactWebsite($contactWebsite) + { + $this->contactWebsite = $contactWebsite; + } + public function getContactWebsite() + { + return $this->contactWebsite; + } + public function setDefaultLanguage($defaultLanguage) + { + $this->defaultLanguage = $defaultLanguage; + } + public function getDefaultLanguage() + { + return $this->defaultLanguage; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/AppEdit.php b/vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/AppEdit.php new file mode 100644 index 00000000..4175f551 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/AppEdit.php @@ -0,0 +1,39 @@ +expiryTimeSeconds = $expiryTimeSeconds; + } + public function getExpiryTimeSeconds() + { + return $this->expiryTimeSeconds; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/Comment.php b/vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/Comment.php new file mode 100644 index 00000000..dab712f1 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/Comment.php @@ -0,0 +1,41 @@ +developerComment = $developerComment; + } + public function getDeveloperComment() + { + return $this->developerComment; + } + public function setUserComment(Google_Service_AndroidPublisher_UserComment $userComment) + { + $this->userComment = $userComment; + } + public function getUserComment() + { + return $this->userComment; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/DeobfuscationFile.php b/vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/DeobfuscationFile.php new file mode 100644 index 00000000..9c3389b4 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/DeobfuscationFile.php @@ -0,0 +1,30 @@ +symbolType = $symbolType; + } + public function getSymbolType() + { + return $this->symbolType; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/DeobfuscationFilesUploadResponse.php b/vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/DeobfuscationFilesUploadResponse.php new file mode 100644 index 00000000..598ce394 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/DeobfuscationFilesUploadResponse.php @@ -0,0 +1,31 @@ +deobfuscationFile = $deobfuscationFile; + } + public function getDeobfuscationFile() + { + return $this->deobfuscationFile; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/DeveloperComment.php b/vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/DeveloperComment.php new file mode 100644 index 00000000..5686bf9e --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/DeveloperComment.php @@ -0,0 +1,40 @@ +lastModified = $lastModified; + } + public function getLastModified() + { + return $this->lastModified; + } + public function setText($text) + { + $this->text = $text; + } + public function getText() + { + return $this->text; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/DeviceMetadata.php b/vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/DeviceMetadata.php new file mode 100644 index 00000000..ebd0036f --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/DeviceMetadata.php @@ -0,0 +1,120 @@ +cpuMake = $cpuMake; + } + public function getCpuMake() + { + return $this->cpuMake; + } + public function setCpuModel($cpuModel) + { + $this->cpuModel = $cpuModel; + } + public function getCpuModel() + { + return $this->cpuModel; + } + public function setDeviceClass($deviceClass) + { + $this->deviceClass = $deviceClass; + } + public function getDeviceClass() + { + return $this->deviceClass; + } + public function setGlEsVersion($glEsVersion) + { + $this->glEsVersion = $glEsVersion; + } + public function getGlEsVersion() + { + return $this->glEsVersion; + } + public function setManufacturer($manufacturer) + { + $this->manufacturer = $manufacturer; + } + public function getManufacturer() + { + return $this->manufacturer; + } + public function setNativePlatform($nativePlatform) + { + $this->nativePlatform = $nativePlatform; + } + public function getNativePlatform() + { + return $this->nativePlatform; + } + public function setProductName($productName) + { + $this->productName = $productName; + } + public function getProductName() + { + return $this->productName; + } + public function setRamMb($ramMb) + { + $this->ramMb = $ramMb; + } + public function getRamMb() + { + return $this->ramMb; + } + public function setScreenDensityDpi($screenDensityDpi) + { + $this->screenDensityDpi = $screenDensityDpi; + } + public function getScreenDensityDpi() + { + return $this->screenDensityDpi; + } + public function setScreenHeightPx($screenHeightPx) + { + $this->screenHeightPx = $screenHeightPx; + } + public function getScreenHeightPx() + { + return $this->screenHeightPx; + } + public function setScreenWidthPx($screenWidthPx) + { + $this->screenWidthPx = $screenWidthPx; + } + public function getScreenWidthPx() + { + return $this->screenWidthPx; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/Entitlement.php b/vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/Entitlement.php new file mode 100644 index 00000000..79a76811 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/Entitlement.php @@ -0,0 +1,57 @@ +kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setProductId($productId) + { + $this->productId = $productId; + } + public function getProductId() + { + return $this->productId; + } + public function setProductType($productType) + { + $this->productType = $productType; + } + public function getProductType() + { + return $this->productType; + } + public function setToken($token) + { + $this->token = $token; + } + public function getToken() + { + return $this->token; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/EntitlementsListResponse.php b/vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/EntitlementsListResponse.php new file mode 100644 index 00000000..c6ba8213 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/EntitlementsListResponse.php @@ -0,0 +1,52 @@ +pageInfo = $pageInfo; + } + public function getPageInfo() + { + return $this->pageInfo; + } + public function setResources($resources) + { + $this->resources = $resources; + } + public function getResources() + { + return $this->resources; + } + public function setTokenPagination(Google_Service_AndroidPublisher_TokenPagination $tokenPagination) + { + $this->tokenPagination = $tokenPagination; + } + public function getTokenPagination() + { + return $this->tokenPagination; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/ExpansionFile.php b/vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/ExpansionFile.php new file mode 100644 index 00000000..32635979 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/ExpansionFile.php @@ -0,0 +1,39 @@ +fileSize = $fileSize; + } + public function getFileSize() + { + return $this->fileSize; + } + public function setReferencesVersion($referencesVersion) + { + $this->referencesVersion = $referencesVersion; + } + public function getReferencesVersion() + { + return $this->referencesVersion; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/ExpansionFilesUploadResponse.php b/vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/ExpansionFilesUploadResponse.php new file mode 100644 index 00000000..b53010d4 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/ExpansionFilesUploadResponse.php @@ -0,0 +1,31 @@ +expansionFile = $expansionFile; + } + public function getExpansionFile() + { + return $this->expansionFile; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/ExternallyHostedApk.php b/vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/ExternallyHostedApk.php new file mode 100644 index 00000000..1f4bc1c6 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/ExternallyHostedApk.php @@ -0,0 +1,158 @@ +applicationLabel = $applicationLabel; + } + public function getApplicationLabel() + { + return $this->applicationLabel; + } + public function setCertificateBase64s($certificateBase64s) + { + $this->certificateBase64s = $certificateBase64s; + } + public function getCertificateBase64s() + { + return $this->certificateBase64s; + } + public function setExternallyHostedUrl($externallyHostedUrl) + { + $this->externallyHostedUrl = $externallyHostedUrl; + } + public function getExternallyHostedUrl() + { + return $this->externallyHostedUrl; + } + public function setFileSha1Base64($fileSha1Base64) + { + $this->fileSha1Base64 = $fileSha1Base64; + } + public function getFileSha1Base64() + { + return $this->fileSha1Base64; + } + public function setFileSha256Base64($fileSha256Base64) + { + $this->fileSha256Base64 = $fileSha256Base64; + } + public function getFileSha256Base64() + { + return $this->fileSha256Base64; + } + public function setFileSize($fileSize) + { + $this->fileSize = $fileSize; + } + public function getFileSize() + { + return $this->fileSize; + } + public function setIconBase64($iconBase64) + { + $this->iconBase64 = $iconBase64; + } + public function getIconBase64() + { + return $this->iconBase64; + } + public function setMaximumSdk($maximumSdk) + { + $this->maximumSdk = $maximumSdk; + } + public function getMaximumSdk() + { + return $this->maximumSdk; + } + public function setMinimumSdk($minimumSdk) + { + $this->minimumSdk = $minimumSdk; + } + public function getMinimumSdk() + { + return $this->minimumSdk; + } + public function setNativeCodes($nativeCodes) + { + $this->nativeCodes = $nativeCodes; + } + public function getNativeCodes() + { + return $this->nativeCodes; + } + public function setPackageName($packageName) + { + $this->packageName = $packageName; + } + public function getPackageName() + { + return $this->packageName; + } + public function setUsesFeatures($usesFeatures) + { + $this->usesFeatures = $usesFeatures; + } + public function getUsesFeatures() + { + return $this->usesFeatures; + } + public function setUsesPermissions($usesPermissions) + { + $this->usesPermissions = $usesPermissions; + } + public function getUsesPermissions() + { + return $this->usesPermissions; + } + public function setVersionCode($versionCode) + { + $this->versionCode = $versionCode; + } + public function getVersionCode() + { + return $this->versionCode; + } + public function setVersionName($versionName) + { + $this->versionName = $versionName; + } + public function getVersionName() + { + return $this->versionName; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/ExternallyHostedApkUsesPermission.php b/vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/ExternallyHostedApkUsesPermission.php new file mode 100644 index 00000000..27fd1b00 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/ExternallyHostedApkUsesPermission.php @@ -0,0 +1,39 @@ +maxSdkVersion = $maxSdkVersion; + } + public function getMaxSdkVersion() + { + return $this->maxSdkVersion; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/Image.php b/vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/Image.php new file mode 100644 index 00000000..269ceb7c --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/Image.php @@ -0,0 +1,48 @@ +id = $id; + } + public function getId() + { + return $this->id; + } + public function setSha1($sha1) + { + $this->sha1 = $sha1; + } + public function getSha1() + { + return $this->sha1; + } + public function setUrl($url) + { + $this->url = $url; + } + public function getUrl() + { + return $this->url; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/ImagesDeleteAllResponse.php b/vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/ImagesDeleteAllResponse.php new file mode 100644 index 00000000..7d2fcf3f --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/ImagesDeleteAllResponse.php @@ -0,0 +1,32 @@ +deleted = $deleted; + } + public function getDeleted() + { + return $this->deleted; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/ImagesListResponse.php b/vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/ImagesListResponse.php new file mode 100644 index 00000000..740f9a04 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/ImagesListResponse.php @@ -0,0 +1,32 @@ +images = $images; + } + public function getImages() + { + return $this->images; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/ImagesUploadResponse.php b/vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/ImagesUploadResponse.php new file mode 100644 index 00000000..1e8514b0 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/ImagesUploadResponse.php @@ -0,0 +1,31 @@ +image = $image; + } + public function getImage() + { + return $this->image; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/InAppProduct.php b/vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/InAppProduct.php new file mode 100644 index 00000000..c4c503b4 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/InAppProduct.php @@ -0,0 +1,124 @@ +defaultLanguage = $defaultLanguage; + } + public function getDefaultLanguage() + { + return $this->defaultLanguage; + } + public function setDefaultPrice(Google_Service_AndroidPublisher_Price $defaultPrice) + { + $this->defaultPrice = $defaultPrice; + } + public function getDefaultPrice() + { + return $this->defaultPrice; + } + public function setListings($listings) + { + $this->listings = $listings; + } + public function getListings() + { + return $this->listings; + } + public function setPackageName($packageName) + { + $this->packageName = $packageName; + } + public function getPackageName() + { + return $this->packageName; + } + public function setPrices($prices) + { + $this->prices = $prices; + } + public function getPrices() + { + return $this->prices; + } + public function setPurchaseType($purchaseType) + { + $this->purchaseType = $purchaseType; + } + public function getPurchaseType() + { + return $this->purchaseType; + } + public function setSeason(Google_Service_AndroidPublisher_Season $season) + { + $this->season = $season; + } + public function getSeason() + { + return $this->season; + } + public function setSku($sku) + { + $this->sku = $sku; + } + public function getSku() + { + return $this->sku; + } + public function setStatus($status) + { + $this->status = $status; + } + public function getStatus() + { + return $this->status; + } + public function setSubscriptionPeriod($subscriptionPeriod) + { + $this->subscriptionPeriod = $subscriptionPeriod; + } + public function getSubscriptionPeriod() + { + return $this->subscriptionPeriod; + } + public function setTrialPeriod($trialPeriod) + { + $this->trialPeriod = $trialPeriod; + } + public function getTrialPeriod() + { + return $this->trialPeriod; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/InAppProductListing.php b/vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/InAppProductListing.php new file mode 100644 index 00000000..1c3388b3 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/InAppProductListing.php @@ -0,0 +1,39 @@ +description = $description; + } + public function getDescription() + { + return $this->description; + } + public function setTitle($title) + { + $this->title = $title; + } + public function getTitle() + { + return $this->title; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/InappproductsBatchRequest.php b/vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/InappproductsBatchRequest.php new file mode 100644 index 00000000..6ab8fa5c --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/InappproductsBatchRequest.php @@ -0,0 +1,32 @@ +entrys = $entrys; + } + public function getEntrys() + { + return $this->entrys; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/InappproductsBatchRequestEntry.php b/vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/InappproductsBatchRequestEntry.php new file mode 100644 index 00000000..8677b014 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/InappproductsBatchRequestEntry.php @@ -0,0 +1,59 @@ +batchId = $batchId; + } + public function getBatchId() + { + return $this->batchId; + } + public function setInappproductsinsertrequest(Google_Service_AndroidPublisher_InappproductsInsertRequest $inappproductsinsertrequest) + { + $this->inappproductsinsertrequest = $inappproductsinsertrequest; + } + public function getInappproductsinsertrequest() + { + return $this->inappproductsinsertrequest; + } + public function setInappproductsupdaterequest(Google_Service_AndroidPublisher_InappproductsUpdateRequest $inappproductsupdaterequest) + { + $this->inappproductsupdaterequest = $inappproductsupdaterequest; + } + public function getInappproductsupdaterequest() + { + return $this->inappproductsupdaterequest; + } + public function setMethodName($methodName) + { + $this->methodName = $methodName; + } + public function getMethodName() + { + return $this->methodName; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/InappproductsBatchResponse.php b/vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/InappproductsBatchResponse.php new file mode 100644 index 00000000..324864ba --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/InappproductsBatchResponse.php @@ -0,0 +1,41 @@ +entrys = $entrys; + } + public function getEntrys() + { + return $this->entrys; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/InappproductsBatchResponseEntry.php b/vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/InappproductsBatchResponseEntry.php new file mode 100644 index 00000000..ed82acc5 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/InappproductsBatchResponseEntry.php @@ -0,0 +1,50 @@ +batchId = $batchId; + } + public function getBatchId() + { + return $this->batchId; + } + public function setInappproductsinsertresponse(Google_Service_AndroidPublisher_InappproductsInsertResponse $inappproductsinsertresponse) + { + $this->inappproductsinsertresponse = $inappproductsinsertresponse; + } + public function getInappproductsinsertresponse() + { + return $this->inappproductsinsertresponse; + } + public function setInappproductsupdateresponse(Google_Service_AndroidPublisher_InappproductsUpdateResponse $inappproductsupdateresponse) + { + $this->inappproductsupdateresponse = $inappproductsupdateresponse; + } + public function getInappproductsupdateresponse() + { + return $this->inappproductsupdateresponse; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/InappproductsInsertRequest.php b/vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/InappproductsInsertRequest.php new file mode 100644 index 00000000..ed15881c --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/InappproductsInsertRequest.php @@ -0,0 +1,31 @@ +inappproduct = $inappproduct; + } + public function getInappproduct() + { + return $this->inappproduct; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/InappproductsInsertResponse.php b/vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/InappproductsInsertResponse.php new file mode 100644 index 00000000..079e375c --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/InappproductsInsertResponse.php @@ -0,0 +1,31 @@ +inappproduct = $inappproduct; + } + public function getInappproduct() + { + return $this->inappproduct; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/InappproductsListResponse.php b/vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/InappproductsListResponse.php new file mode 100644 index 00000000..a6ee8471 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/InappproductsListResponse.php @@ -0,0 +1,61 @@ +inappproduct = $inappproduct; + } + public function getInappproduct() + { + return $this->inappproduct; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setPageInfo(Google_Service_AndroidPublisher_PageInfo $pageInfo) + { + $this->pageInfo = $pageInfo; + } + public function getPageInfo() + { + return $this->pageInfo; + } + public function setTokenPagination(Google_Service_AndroidPublisher_TokenPagination $tokenPagination) + { + $this->tokenPagination = $tokenPagination; + } + public function getTokenPagination() + { + return $this->tokenPagination; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/InappproductsUpdateRequest.php b/vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/InappproductsUpdateRequest.php new file mode 100644 index 00000000..35647417 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/InappproductsUpdateRequest.php @@ -0,0 +1,31 @@ +inappproduct = $inappproduct; + } + public function getInappproduct() + { + return $this->inappproduct; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/InappproductsUpdateResponse.php b/vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/InappproductsUpdateResponse.php new file mode 100644 index 00000000..6966db8b --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/InappproductsUpdateResponse.php @@ -0,0 +1,31 @@ +inappproduct = $inappproduct; + } + public function getInappproduct() + { + return $this->inappproduct; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/Listing.php b/vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/Listing.php new file mode 100644 index 00000000..97677c40 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/Listing.php @@ -0,0 +1,66 @@ +fullDescription = $fullDescription; + } + public function getFullDescription() + { + return $this->fullDescription; + } + public function setLanguage($language) + { + $this->language = $language; + } + public function getLanguage() + { + return $this->language; + } + public function setShortDescription($shortDescription) + { + $this->shortDescription = $shortDescription; + } + public function getShortDescription() + { + return $this->shortDescription; + } + public function setTitle($title) + { + $this->title = $title; + } + public function getTitle() + { + return $this->title; + } + public function setVideo($video) + { + $this->video = $video; + } + public function getVideo() + { + return $this->video; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/ListingsListResponse.php b/vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/ListingsListResponse.php new file mode 100644 index 00000000..5f864bbe --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/ListingsListResponse.php @@ -0,0 +1,41 @@ +kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setListings($listings) + { + $this->listings = $listings; + } + public function getListings() + { + return $this->listings; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/MonthDay.php b/vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/MonthDay.php new file mode 100644 index 00000000..cb2e1ec9 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/MonthDay.php @@ -0,0 +1,39 @@ +day = $day; + } + public function getDay() + { + return $this->day; + } + public function setMonth($month) + { + $this->month = $month; + } + public function getMonth() + { + return $this->month; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/PageInfo.php b/vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/PageInfo.php new file mode 100644 index 00000000..18ba5507 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/PageInfo.php @@ -0,0 +1,48 @@ +resultPerPage = $resultPerPage; + } + public function getResultPerPage() + { + return $this->resultPerPage; + } + public function setStartIndex($startIndex) + { + $this->startIndex = $startIndex; + } + public function getStartIndex() + { + return $this->startIndex; + } + public function setTotalResults($totalResults) + { + $this->totalResults = $totalResults; + } + public function getTotalResults() + { + return $this->totalResults; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/Price.php b/vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/Price.php new file mode 100644 index 00000000..211e5744 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/Price.php @@ -0,0 +1,39 @@ +currency = $currency; + } + public function getCurrency() + { + return $this->currency; + } + public function setPriceMicros($priceMicros) + { + $this->priceMicros = $priceMicros; + } + public function getPriceMicros() + { + return $this->priceMicros; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/ProductPurchase.php b/vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/ProductPurchase.php new file mode 100644 index 00000000..f4cc2aae --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/ProductPurchase.php @@ -0,0 +1,66 @@ +consumptionState = $consumptionState; + } + public function getConsumptionState() + { + return $this->consumptionState; + } + public function setDeveloperPayload($developerPayload) + { + $this->developerPayload = $developerPayload; + } + public function getDeveloperPayload() + { + return $this->developerPayload; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setPurchaseState($purchaseState) + { + $this->purchaseState = $purchaseState; + } + public function getPurchaseState() + { + return $this->purchaseState; + } + public function setPurchaseTimeMillis($purchaseTimeMillis) + { + $this->purchaseTimeMillis = $purchaseTimeMillis; + } + public function getPurchaseTimeMillis() + { + return $this->purchaseTimeMillis; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/Prorate.php b/vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/Prorate.php new file mode 100644 index 00000000..099f6a0d --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/Prorate.php @@ -0,0 +1,41 @@ +defaultPrice = $defaultPrice; + } + public function getDefaultPrice() + { + return $this->defaultPrice; + } + public function setStart(Google_Service_AndroidPublisher_MonthDay $start) + { + $this->start = $start; + } + public function getStart() + { + return $this->start; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/Resource/Edits.php b/vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/Resource/Edits.php new file mode 100644 index 00000000..717e239c --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/Resource/Edits.php @@ -0,0 +1,107 @@ + + * $androidpublisherService = new Google_Service_AndroidPublisher(...); + * $edits = $androidpublisherService->edits; + * + */ +class Google_Service_AndroidPublisher_Resource_Edits extends Google_Service_Resource +{ + /** + * Commits/applies the changes made in this edit back to the app. (edits.commit) + * + * @param string $packageName Unique identifier for the Android app that is + * being updated; for example, "com.spiffygame". + * @param string $editId Unique identifier for this edit. + * @param array $optParams Optional parameters. + * @return Google_Service_AndroidPublisher_AppEdit + */ + public function commit($packageName, $editId, $optParams = array()) + { + $params = array('packageName' => $packageName, 'editId' => $editId); + $params = array_merge($params, $optParams); + return $this->call('commit', array($params), "Google_Service_AndroidPublisher_AppEdit"); + } + /** + * Deletes an edit for an app. Creating a new edit will automatically delete any + * of your previous edits so this method need only be called if you want to + * preemptively abandon an edit. (edits.delete) + * + * @param string $packageName Unique identifier for the Android app that is + * being updated; for example, "com.spiffygame". + * @param string $editId Unique identifier for this edit. + * @param array $optParams Optional parameters. + */ + public function delete($packageName, $editId, $optParams = array()) + { + $params = array('packageName' => $packageName, 'editId' => $editId); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params)); + } + /** + * Returns information about the edit specified. Calls will fail if the edit is + * no long active (e.g. has been deleted, superseded or expired). (edits.get) + * + * @param string $packageName Unique identifier for the Android app that is + * being updated; for example, "com.spiffygame". + * @param string $editId Unique identifier for this edit. + * @param array $optParams Optional parameters. + * @return Google_Service_AndroidPublisher_AppEdit + */ + public function get($packageName, $editId, $optParams = array()) + { + $params = array('packageName' => $packageName, 'editId' => $editId); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_AndroidPublisher_AppEdit"); + } + /** + * Creates a new edit for an app, populated with the app's current state. + * (edits.insert) + * + * @param string $packageName Unique identifier for the Android app that is + * being updated; for example, "com.spiffygame". + * @param Google_Service_AndroidPublisher_AppEdit $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_AndroidPublisher_AppEdit + */ + public function insert($packageName, Google_Service_AndroidPublisher_AppEdit $postBody, $optParams = array()) + { + $params = array('packageName' => $packageName, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('insert', array($params), "Google_Service_AndroidPublisher_AppEdit"); + } + /** + * Checks that the edit can be successfully committed. The edit's changes are + * not applied to the live app. (edits.validate) + * + * @param string $packageName Unique identifier for the Android app that is + * being updated; for example, "com.spiffygame". + * @param string $editId Unique identifier for this edit. + * @param array $optParams Optional parameters. + * @return Google_Service_AndroidPublisher_AppEdit + */ + public function validate($packageName, $editId, $optParams = array()) + { + $params = array('packageName' => $packageName, 'editId' => $editId); + $params = array_merge($params, $optParams); + return $this->call('validate', array($params), "Google_Service_AndroidPublisher_AppEdit"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/Resource/EditsApklistings.php b/vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/Resource/EditsApklistings.php new file mode 100644 index 00000000..ede1af67 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/Resource/EditsApklistings.php @@ -0,0 +1,148 @@ + + * $androidpublisherService = new Google_Service_AndroidPublisher(...); + * $apklistings = $androidpublisherService->apklistings; + * + */ +class Google_Service_AndroidPublisher_Resource_EditsApklistings extends Google_Service_Resource +{ + /** + * Deletes the APK-specific localized listing for a specified APK and language + * code. (apklistings.delete) + * + * @param string $packageName Unique identifier for the Android app that is + * being updated; for example, "com.spiffygame". + * @param string $editId Unique identifier for this edit. + * @param int $apkVersionCode The APK version code whose APK-specific listings + * should be read or modified. + * @param string $language The language code (a BCP-47 language tag) of the APK- + * specific localized listing to read or modify. For example, to select Austrian + * German, pass "de-AT". + * @param array $optParams Optional parameters. + */ + public function delete($packageName, $editId, $apkVersionCode, $language, $optParams = array()) + { + $params = array('packageName' => $packageName, 'editId' => $editId, 'apkVersionCode' => $apkVersionCode, 'language' => $language); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params)); + } + /** + * Deletes all the APK-specific localized listings for a specified APK. + * (apklistings.deleteall) + * + * @param string $packageName Unique identifier for the Android app that is + * being updated; for example, "com.spiffygame". + * @param string $editId Unique identifier for this edit. + * @param int $apkVersionCode The APK version code whose APK-specific listings + * should be read or modified. + * @param array $optParams Optional parameters. + */ + public function deleteall($packageName, $editId, $apkVersionCode, $optParams = array()) + { + $params = array('packageName' => $packageName, 'editId' => $editId, 'apkVersionCode' => $apkVersionCode); + $params = array_merge($params, $optParams); + return $this->call('deleteall', array($params)); + } + /** + * Fetches the APK-specific localized listing for a specified APK and language + * code. (apklistings.get) + * + * @param string $packageName Unique identifier for the Android app that is + * being updated; for example, "com.spiffygame". + * @param string $editId Unique identifier for this edit. + * @param int $apkVersionCode The APK version code whose APK-specific listings + * should be read or modified. + * @param string $language The language code (a BCP-47 language tag) of the APK- + * specific localized listing to read or modify. For example, to select Austrian + * German, pass "de-AT". + * @param array $optParams Optional parameters. + * @return Google_Service_AndroidPublisher_ApkListing + */ + public function get($packageName, $editId, $apkVersionCode, $language, $optParams = array()) + { + $params = array('packageName' => $packageName, 'editId' => $editId, 'apkVersionCode' => $apkVersionCode, 'language' => $language); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_AndroidPublisher_ApkListing"); + } + /** + * Lists all the APK-specific localized listings for a specified APK. + * (apklistings.listEditsApklistings) + * + * @param string $packageName Unique identifier for the Android app that is + * being updated; for example, "com.spiffygame". + * @param string $editId Unique identifier for this edit. + * @param int $apkVersionCode The APK version code whose APK-specific listings + * should be read or modified. + * @param array $optParams Optional parameters. + * @return Google_Service_AndroidPublisher_ApkListingsListResponse + */ + public function listEditsApklistings($packageName, $editId, $apkVersionCode, $optParams = array()) + { + $params = array('packageName' => $packageName, 'editId' => $editId, 'apkVersionCode' => $apkVersionCode); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_AndroidPublisher_ApkListingsListResponse"); + } + /** + * Updates or creates the APK-specific localized listing for a specified APK and + * language code. This method supports patch semantics. (apklistings.patch) + * + * @param string $packageName Unique identifier for the Android app that is + * being updated; for example, "com.spiffygame". + * @param string $editId Unique identifier for this edit. + * @param int $apkVersionCode The APK version code whose APK-specific listings + * should be read or modified. + * @param string $language The language code (a BCP-47 language tag) of the APK- + * specific localized listing to read or modify. For example, to select Austrian + * German, pass "de-AT". + * @param Google_Service_AndroidPublisher_ApkListing $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_AndroidPublisher_ApkListing + */ + public function patch($packageName, $editId, $apkVersionCode, $language, Google_Service_AndroidPublisher_ApkListing $postBody, $optParams = array()) + { + $params = array('packageName' => $packageName, 'editId' => $editId, 'apkVersionCode' => $apkVersionCode, 'language' => $language, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('patch', array($params), "Google_Service_AndroidPublisher_ApkListing"); + } + /** + * Updates or creates the APK-specific localized listing for a specified APK and + * language code. (apklistings.update) + * + * @param string $packageName Unique identifier for the Android app that is + * being updated; for example, "com.spiffygame". + * @param string $editId Unique identifier for this edit. + * @param int $apkVersionCode The APK version code whose APK-specific listings + * should be read or modified. + * @param string $language The language code (a BCP-47 language tag) of the APK- + * specific localized listing to read or modify. For example, to select Austrian + * German, pass "de-AT". + * @param Google_Service_AndroidPublisher_ApkListing $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_AndroidPublisher_ApkListing + */ + public function update($packageName, $editId, $apkVersionCode, $language, Google_Service_AndroidPublisher_ApkListing $postBody, $optParams = array()) + { + $params = array('packageName' => $packageName, 'editId' => $editId, 'apkVersionCode' => $apkVersionCode, 'language' => $language, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('update', array($params), "Google_Service_AndroidPublisher_ApkListing"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/Resource/EditsApks.php b/vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/Resource/EditsApks.php new file mode 100644 index 00000000..a26caa6b --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/Resource/EditsApks.php @@ -0,0 +1,77 @@ + + * $androidpublisherService = new Google_Service_AndroidPublisher(...); + * $apks = $androidpublisherService->apks; + * + */ +class Google_Service_AndroidPublisher_Resource_EditsApks extends Google_Service_Resource +{ + /** + * Creates a new APK without uploading the APK itself to Google Play, instead + * hosting the APK at a specified URL. This function is only available to + * enterprises using Google Play for Work whose application is configured to + * restrict distribution to the enterprise domain. (apks.addexternallyhosted) + * + * @param string $packageName Unique identifier for the Android app that is + * being updated; for example, "com.spiffygame". + * @param string $editId Unique identifier for this edit. + * @param Google_Service_AndroidPublisher_ApksAddExternallyHostedRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_AndroidPublisher_ApksAddExternallyHostedResponse + */ + public function addexternallyhosted($packageName, $editId, Google_Service_AndroidPublisher_ApksAddExternallyHostedRequest $postBody, $optParams = array()) + { + $params = array('packageName' => $packageName, 'editId' => $editId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('addexternallyhosted', array($params), "Google_Service_AndroidPublisher_ApksAddExternallyHostedResponse"); + } + /** + * (apks.listEditsApks) + * + * @param string $packageName Unique identifier for the Android app that is + * being updated; for example, "com.spiffygame". + * @param string $editId Unique identifier for this edit. + * @param array $optParams Optional parameters. + * @return Google_Service_AndroidPublisher_ApksListResponse + */ + public function listEditsApks($packageName, $editId, $optParams = array()) + { + $params = array('packageName' => $packageName, 'editId' => $editId); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_AndroidPublisher_ApksListResponse"); + } + /** + * (apks.upload) + * + * @param string $packageName Unique identifier for the Android app that is + * being updated; for example, "com.spiffygame". + * @param string $editId Unique identifier for this edit. + * @param array $optParams Optional parameters. + * @return Google_Service_AndroidPublisher_Apk + */ + public function upload($packageName, $editId, $optParams = array()) + { + $params = array('packageName' => $packageName, 'editId' => $editId); + $params = array_merge($params, $optParams); + return $this->call('upload', array($params), "Google_Service_AndroidPublisher_Apk"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/Resource/EditsDeobfuscationfiles.php b/vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/Resource/EditsDeobfuscationfiles.php new file mode 100644 index 00000000..b8b46996 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/Resource/EditsDeobfuscationfiles.php @@ -0,0 +1,47 @@ + + * $androidpublisherService = new Google_Service_AndroidPublisher(...); + * $deobfuscationfiles = $androidpublisherService->deobfuscationfiles; + * + */ +class Google_Service_AndroidPublisher_Resource_EditsDeobfuscationfiles extends Google_Service_Resource +{ + /** + * Uploads the deobfuscation file of the specified APK. If a deobfuscation file + * already exists, it will be replaced. (deobfuscationfiles.upload) + * + * @param string $packageName Unique identifier of the Android app for which the + * deobfuscatiuon files are being uploaded; for example, "com.spiffygame". + * @param string $editId Unique identifier for this edit. + * @param int $apkVersionCode The version code of the APK whose deobfuscation + * file is being uploaded. + * @param string $deobfuscationFileType + * @param array $optParams Optional parameters. + * @return Google_Service_AndroidPublisher_DeobfuscationFilesUploadResponse + */ + public function upload($packageName, $editId, $apkVersionCode, $deobfuscationFileType, $optParams = array()) + { + $params = array('packageName' => $packageName, 'editId' => $editId, 'apkVersionCode' => $apkVersionCode, 'deobfuscationFileType' => $deobfuscationFileType); + $params = array_merge($params, $optParams); + return $this->call('upload', array($params), "Google_Service_AndroidPublisher_DeobfuscationFilesUploadResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/Resource/EditsDetails.php b/vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/Resource/EditsDetails.php new file mode 100644 index 00000000..2c0e2385 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/Resource/EditsDetails.php @@ -0,0 +1,77 @@ + + * $androidpublisherService = new Google_Service_AndroidPublisher(...); + * $details = $androidpublisherService->details; + * + */ +class Google_Service_AndroidPublisher_Resource_EditsDetails extends Google_Service_Resource +{ + /** + * Fetches app details for this edit. This includes the default language and + * developer support contact information. (details.get) + * + * @param string $packageName Unique identifier for the Android app that is + * being updated; for example, "com.spiffygame". + * @param string $editId Unique identifier for this edit. + * @param array $optParams Optional parameters. + * @return Google_Service_AndroidPublisher_AppDetails + */ + public function get($packageName, $editId, $optParams = array()) + { + $params = array('packageName' => $packageName, 'editId' => $editId); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_AndroidPublisher_AppDetails"); + } + /** + * Updates app details for this edit. This method supports patch semantics. + * (details.patch) + * + * @param string $packageName Unique identifier for the Android app that is + * being updated; for example, "com.spiffygame". + * @param string $editId Unique identifier for this edit. + * @param Google_Service_AndroidPublisher_AppDetails $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_AndroidPublisher_AppDetails + */ + public function patch($packageName, $editId, Google_Service_AndroidPublisher_AppDetails $postBody, $optParams = array()) + { + $params = array('packageName' => $packageName, 'editId' => $editId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('patch', array($params), "Google_Service_AndroidPublisher_AppDetails"); + } + /** + * Updates app details for this edit. (details.update) + * + * @param string $packageName Unique identifier for the Android app that is + * being updated; for example, "com.spiffygame". + * @param string $editId Unique identifier for this edit. + * @param Google_Service_AndroidPublisher_AppDetails $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_AndroidPublisher_AppDetails + */ + public function update($packageName, $editId, Google_Service_AndroidPublisher_AppDetails $postBody, $optParams = array()) + { + $params = array('packageName' => $packageName, 'editId' => $editId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('update', array($params), "Google_Service_AndroidPublisher_AppDetails"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/Resource/EditsExpansionfiles.php b/vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/Resource/EditsExpansionfiles.php new file mode 100644 index 00000000..62e23a01 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/Resource/EditsExpansionfiles.php @@ -0,0 +1,108 @@ + + * $androidpublisherService = new Google_Service_AndroidPublisher(...); + * $expansionfiles = $androidpublisherService->expansionfiles; + * + */ +class Google_Service_AndroidPublisher_Resource_EditsExpansionfiles extends Google_Service_Resource +{ + /** + * Fetches the Expansion File configuration for the APK specified. + * (expansionfiles.get) + * + * @param string $packageName Unique identifier for the Android app that is + * being updated; for example, "com.spiffygame". + * @param string $editId Unique identifier for this edit. + * @param int $apkVersionCode The version code of the APK whose Expansion File + * configuration is being read or modified. + * @param string $expansionFileType + * @param array $optParams Optional parameters. + * @return Google_Service_AndroidPublisher_ExpansionFile + */ + public function get($packageName, $editId, $apkVersionCode, $expansionFileType, $optParams = array()) + { + $params = array('packageName' => $packageName, 'editId' => $editId, 'apkVersionCode' => $apkVersionCode, 'expansionFileType' => $expansionFileType); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_AndroidPublisher_ExpansionFile"); + } + /** + * Updates the APK's Expansion File configuration to reference another APK's + * Expansion Files. To add a new Expansion File use the Upload method. This + * method supports patch semantics. (expansionfiles.patch) + * + * @param string $packageName Unique identifier for the Android app that is + * being updated; for example, "com.spiffygame". + * @param string $editId Unique identifier for this edit. + * @param int $apkVersionCode The version code of the APK whose Expansion File + * configuration is being read or modified. + * @param string $expansionFileType + * @param Google_Service_AndroidPublisher_ExpansionFile $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_AndroidPublisher_ExpansionFile + */ + public function patch($packageName, $editId, $apkVersionCode, $expansionFileType, Google_Service_AndroidPublisher_ExpansionFile $postBody, $optParams = array()) + { + $params = array('packageName' => $packageName, 'editId' => $editId, 'apkVersionCode' => $apkVersionCode, 'expansionFileType' => $expansionFileType, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('patch', array($params), "Google_Service_AndroidPublisher_ExpansionFile"); + } + /** + * Updates the APK's Expansion File configuration to reference another APK's + * Expansion Files. To add a new Expansion File use the Upload method. + * (expansionfiles.update) + * + * @param string $packageName Unique identifier for the Android app that is + * being updated; for example, "com.spiffygame". + * @param string $editId Unique identifier for this edit. + * @param int $apkVersionCode The version code of the APK whose Expansion File + * configuration is being read or modified. + * @param string $expansionFileType + * @param Google_Service_AndroidPublisher_ExpansionFile $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_AndroidPublisher_ExpansionFile + */ + public function update($packageName, $editId, $apkVersionCode, $expansionFileType, Google_Service_AndroidPublisher_ExpansionFile $postBody, $optParams = array()) + { + $params = array('packageName' => $packageName, 'editId' => $editId, 'apkVersionCode' => $apkVersionCode, 'expansionFileType' => $expansionFileType, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('update', array($params), "Google_Service_AndroidPublisher_ExpansionFile"); + } + /** + * Uploads and attaches a new Expansion File to the APK specified. + * (expansionfiles.upload) + * + * @param string $packageName Unique identifier for the Android app that is + * being updated; for example, "com.spiffygame". + * @param string $editId Unique identifier for this edit. + * @param int $apkVersionCode The version code of the APK whose Expansion File + * configuration is being read or modified. + * @param string $expansionFileType + * @param array $optParams Optional parameters. + * @return Google_Service_AndroidPublisher_ExpansionFilesUploadResponse + */ + public function upload($packageName, $editId, $apkVersionCode, $expansionFileType, $optParams = array()) + { + $params = array('packageName' => $packageName, 'editId' => $editId, 'apkVersionCode' => $apkVersionCode, 'expansionFileType' => $expansionFileType); + $params = array_merge($params, $optParams); + return $this->call('upload', array($params), "Google_Service_AndroidPublisher_ExpansionFilesUploadResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/Resource/EditsImages.php b/vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/Resource/EditsImages.php new file mode 100644 index 00000000..769e6984 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/Resource/EditsImages.php @@ -0,0 +1,108 @@ + + * $androidpublisherService = new Google_Service_AndroidPublisher(...); + * $images = $androidpublisherService->images; + * + */ +class Google_Service_AndroidPublisher_Resource_EditsImages extends Google_Service_Resource +{ + /** + * Deletes the image (specified by id) from the edit. (images.delete) + * + * @param string $packageName Unique identifier for the Android app that is + * being updated; for example, "com.spiffygame". + * @param string $editId Unique identifier for this edit. + * @param string $language The language code (a BCP-47 language tag) of the + * localized listing whose images are to read or modified. For example, to + * select Austrian German, pass "de-AT". + * @param string $imageType + * @param string $imageId Unique identifier an image within the set of images + * attached to this edit. + * @param array $optParams Optional parameters. + */ + public function delete($packageName, $editId, $language, $imageType, $imageId, $optParams = array()) + { + $params = array('packageName' => $packageName, 'editId' => $editId, 'language' => $language, 'imageType' => $imageType, 'imageId' => $imageId); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params)); + } + /** + * Deletes all images for the specified language and image type. + * (images.deleteall) + * + * @param string $packageName Unique identifier for the Android app that is + * being updated; for example, "com.spiffygame". + * @param string $editId Unique identifier for this edit. + * @param string $language The language code (a BCP-47 language tag) of the + * localized listing whose images are to read or modified. For example, to + * select Austrian German, pass "de-AT". + * @param string $imageType + * @param array $optParams Optional parameters. + * @return Google_Service_AndroidPublisher_ImagesDeleteAllResponse + */ + public function deleteall($packageName, $editId, $language, $imageType, $optParams = array()) + { + $params = array('packageName' => $packageName, 'editId' => $editId, 'language' => $language, 'imageType' => $imageType); + $params = array_merge($params, $optParams); + return $this->call('deleteall', array($params), "Google_Service_AndroidPublisher_ImagesDeleteAllResponse"); + } + /** + * Lists all images for the specified language and image type. + * (images.listEditsImages) + * + * @param string $packageName Unique identifier for the Android app that is + * being updated; for example, "com.spiffygame". + * @param string $editId Unique identifier for this edit. + * @param string $language The language code (a BCP-47 language tag) of the + * localized listing whose images are to read or modified. For example, to + * select Austrian German, pass "de-AT". + * @param string $imageType + * @param array $optParams Optional parameters. + * @return Google_Service_AndroidPublisher_ImagesListResponse + */ + public function listEditsImages($packageName, $editId, $language, $imageType, $optParams = array()) + { + $params = array('packageName' => $packageName, 'editId' => $editId, 'language' => $language, 'imageType' => $imageType); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_AndroidPublisher_ImagesListResponse"); + } + /** + * Uploads a new image and adds it to the list of images for the specified + * language and image type. (images.upload) + * + * @param string $packageName Unique identifier for the Android app that is + * being updated; for example, "com.spiffygame". + * @param string $editId Unique identifier for this edit. + * @param string $language The language code (a BCP-47 language tag) of the + * localized listing whose images are to read or modified. For example, to + * select Austrian German, pass "de-AT". + * @param string $imageType + * @param array $optParams Optional parameters. + * @return Google_Service_AndroidPublisher_ImagesUploadResponse + */ + public function upload($packageName, $editId, $language, $imageType, $optParams = array()) + { + $params = array('packageName' => $packageName, 'editId' => $editId, 'language' => $language, 'imageType' => $imageType); + $params = array_merge($params, $optParams); + return $this->call('upload', array($params), "Google_Service_AndroidPublisher_ImagesUploadResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/Resource/EditsListings.php b/vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/Resource/EditsListings.php new file mode 100644 index 00000000..4cda2f67 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/Resource/EditsListings.php @@ -0,0 +1,132 @@ + + * $androidpublisherService = new Google_Service_AndroidPublisher(...); + * $listings = $androidpublisherService->listings; + * + */ +class Google_Service_AndroidPublisher_Resource_EditsListings extends Google_Service_Resource +{ + /** + * Deletes the specified localized store listing from an edit. (listings.delete) + * + * @param string $packageName Unique identifier for the Android app that is + * being updated; for example, "com.spiffygame". + * @param string $editId Unique identifier for this edit. + * @param string $language The language code (a BCP-47 language tag) of the + * localized listing to read or modify. For example, to select Austrian German, + * pass "de-AT". + * @param array $optParams Optional parameters. + */ + public function delete($packageName, $editId, $language, $optParams = array()) + { + $params = array('packageName' => $packageName, 'editId' => $editId, 'language' => $language); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params)); + } + /** + * Deletes all localized listings from an edit. (listings.deleteall) + * + * @param string $packageName Unique identifier for the Android app that is + * being updated; for example, "com.spiffygame". + * @param string $editId Unique identifier for this edit. + * @param array $optParams Optional parameters. + */ + public function deleteall($packageName, $editId, $optParams = array()) + { + $params = array('packageName' => $packageName, 'editId' => $editId); + $params = array_merge($params, $optParams); + return $this->call('deleteall', array($params)); + } + /** + * Fetches information about a localized store listing. (listings.get) + * + * @param string $packageName Unique identifier for the Android app that is + * being updated; for example, "com.spiffygame". + * @param string $editId Unique identifier for this edit. + * @param string $language The language code (a BCP-47 language tag) of the + * localized listing to read or modify. For example, to select Austrian German, + * pass "de-AT". + * @param array $optParams Optional parameters. + * @return Google_Service_AndroidPublisher_Listing + */ + public function get($packageName, $editId, $language, $optParams = array()) + { + $params = array('packageName' => $packageName, 'editId' => $editId, 'language' => $language); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_AndroidPublisher_Listing"); + } + /** + * Returns all of the localized store listings attached to this edit. + * (listings.listEditsListings) + * + * @param string $packageName Unique identifier for the Android app that is + * being updated; for example, "com.spiffygame". + * @param string $editId Unique identifier for this edit. + * @param array $optParams Optional parameters. + * @return Google_Service_AndroidPublisher_ListingsListResponse + */ + public function listEditsListings($packageName, $editId, $optParams = array()) + { + $params = array('packageName' => $packageName, 'editId' => $editId); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_AndroidPublisher_ListingsListResponse"); + } + /** + * Creates or updates a localized store listing. This method supports patch + * semantics. (listings.patch) + * + * @param string $packageName Unique identifier for the Android app that is + * being updated; for example, "com.spiffygame". + * @param string $editId Unique identifier for this edit. + * @param string $language The language code (a BCP-47 language tag) of the + * localized listing to read or modify. For example, to select Austrian German, + * pass "de-AT". + * @param Google_Service_AndroidPublisher_Listing $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_AndroidPublisher_Listing + */ + public function patch($packageName, $editId, $language, Google_Service_AndroidPublisher_Listing $postBody, $optParams = array()) + { + $params = array('packageName' => $packageName, 'editId' => $editId, 'language' => $language, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('patch', array($params), "Google_Service_AndroidPublisher_Listing"); + } + /** + * Creates or updates a localized store listing. (listings.update) + * + * @param string $packageName Unique identifier for the Android app that is + * being updated; for example, "com.spiffygame". + * @param string $editId Unique identifier for this edit. + * @param string $language The language code (a BCP-47 language tag) of the + * localized listing to read or modify. For example, to select Austrian German, + * pass "de-AT". + * @param Google_Service_AndroidPublisher_Listing $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_AndroidPublisher_Listing + */ + public function update($packageName, $editId, $language, Google_Service_AndroidPublisher_Listing $postBody, $optParams = array()) + { + $params = array('packageName' => $packageName, 'editId' => $editId, 'language' => $language, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('update', array($params), "Google_Service_AndroidPublisher_Listing"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/Resource/EditsTesters.php b/vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/Resource/EditsTesters.php new file mode 100644 index 00000000..66a3a1a0 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/Resource/EditsTesters.php @@ -0,0 +1,78 @@ + + * $androidpublisherService = new Google_Service_AndroidPublisher(...); + * $testers = $androidpublisherService->testers; + * + */ +class Google_Service_AndroidPublisher_Resource_EditsTesters extends Google_Service_Resource +{ + /** + * (testers.get) + * + * @param string $packageName Unique identifier for the Android app that is + * being updated; for example, "com.spiffygame". + * @param string $editId Unique identifier for this edit. + * @param string $track + * @param array $optParams Optional parameters. + * @return Google_Service_AndroidPublisher_Testers + */ + public function get($packageName, $editId, $track, $optParams = array()) + { + $params = array('packageName' => $packageName, 'editId' => $editId, 'track' => $track); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_AndroidPublisher_Testers"); + } + /** + * (testers.patch) + * + * @param string $packageName Unique identifier for the Android app that is + * being updated; for example, "com.spiffygame". + * @param string $editId Unique identifier for this edit. + * @param string $track + * @param Google_Service_AndroidPublisher_Testers $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_AndroidPublisher_Testers + */ + public function patch($packageName, $editId, $track, Google_Service_AndroidPublisher_Testers $postBody, $optParams = array()) + { + $params = array('packageName' => $packageName, 'editId' => $editId, 'track' => $track, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('patch', array($params), "Google_Service_AndroidPublisher_Testers"); + } + /** + * (testers.update) + * + * @param string $packageName Unique identifier for the Android app that is + * being updated; for example, "com.spiffygame". + * @param string $editId Unique identifier for this edit. + * @param string $track + * @param Google_Service_AndroidPublisher_Testers $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_AndroidPublisher_Testers + */ + public function update($packageName, $editId, $track, Google_Service_AndroidPublisher_Testers $postBody, $optParams = array()) + { + $params = array('packageName' => $packageName, 'editId' => $editId, 'track' => $track, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('update', array($params), "Google_Service_AndroidPublisher_Testers"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/Resource/EditsTracks.php b/vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/Resource/EditsTracks.php new file mode 100644 index 00000000..be15dfea --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/Resource/EditsTracks.php @@ -0,0 +1,99 @@ + + * $androidpublisherService = new Google_Service_AndroidPublisher(...); + * $tracks = $androidpublisherService->tracks; + * + */ +class Google_Service_AndroidPublisher_Resource_EditsTracks extends Google_Service_Resource +{ + /** + * Fetches the track configuration for the specified track type. Includes the + * APK version codes that are in this track. (tracks.get) + * + * @param string $packageName Unique identifier for the Android app that is + * being updated; for example, "com.spiffygame". + * @param string $editId Unique identifier for this edit. + * @param string $track The track type to read or modify. + * @param array $optParams Optional parameters. + * @return Google_Service_AndroidPublisher_Track + */ + public function get($packageName, $editId, $track, $optParams = array()) + { + $params = array('packageName' => $packageName, 'editId' => $editId, 'track' => $track); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_AndroidPublisher_Track"); + } + /** + * Lists all the track configurations for this edit. (tracks.listEditsTracks) + * + * @param string $packageName Unique identifier for the Android app that is + * being updated; for example, "com.spiffygame". + * @param string $editId Unique identifier for this edit. + * @param array $optParams Optional parameters. + * @return Google_Service_AndroidPublisher_TracksListResponse + */ + public function listEditsTracks($packageName, $editId, $optParams = array()) + { + $params = array('packageName' => $packageName, 'editId' => $editId); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_AndroidPublisher_TracksListResponse"); + } + /** + * Updates the track configuration for the specified track type. When halted, + * the rollout track cannot be updated without adding new APKs, and adding new + * APKs will cause it to resume. This method supports patch semantics. + * (tracks.patch) + * + * @param string $packageName Unique identifier for the Android app that is + * being updated; for example, "com.spiffygame". + * @param string $editId Unique identifier for this edit. + * @param string $track The track type to read or modify. + * @param Google_Service_AndroidPublisher_Track $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_AndroidPublisher_Track + */ + public function patch($packageName, $editId, $track, Google_Service_AndroidPublisher_Track $postBody, $optParams = array()) + { + $params = array('packageName' => $packageName, 'editId' => $editId, 'track' => $track, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('patch', array($params), "Google_Service_AndroidPublisher_Track"); + } + /** + * Updates the track configuration for the specified track type. When halted, + * the rollout track cannot be updated without adding new APKs, and adding new + * APKs will cause it to resume. (tracks.update) + * + * @param string $packageName Unique identifier for the Android app that is + * being updated; for example, "com.spiffygame". + * @param string $editId Unique identifier for this edit. + * @param string $track The track type to read or modify. + * @param Google_Service_AndroidPublisher_Track $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_AndroidPublisher_Track + */ + public function update($packageName, $editId, $track, Google_Service_AndroidPublisher_Track $postBody, $optParams = array()) + { + $params = array('packageName' => $packageName, 'editId' => $editId, 'track' => $track, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('update', array($params), "Google_Service_AndroidPublisher_Track"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/Resource/Entitlements.php b/vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/Resource/Entitlements.php new file mode 100644 index 00000000..690e7c39 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/Resource/Entitlements.php @@ -0,0 +1,49 @@ + + * $androidpublisherService = new Google_Service_AndroidPublisher(...); + * $entitlements = $androidpublisherService->entitlements; + * + */ +class Google_Service_AndroidPublisher_Resource_Entitlements extends Google_Service_Resource +{ + /** + * Lists the user's current inapp item or subscription entitlements + * (entitlements.listEntitlements) + * + * @param string $packageName The package name of the application the inapp + * product was sold in (for example, 'com.some.thing'). + * @param array $optParams Optional parameters. + * + * @opt_param string maxResults + * @opt_param string productId The product id of the inapp product (for example, + * 'sku1'). This can be used to restrict the result set. + * @opt_param string startIndex + * @opt_param string token + * @return Google_Service_AndroidPublisher_EntitlementsListResponse + */ + public function listEntitlements($packageName, $optParams = array()) + { + $params = array('packageName' => $packageName); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_AndroidPublisher_EntitlementsListResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/Resource/Inappproducts.php b/vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/Resource/Inappproducts.php new file mode 100644 index 00000000..ec0c356e --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/Resource/Inappproducts.php @@ -0,0 +1,151 @@ + + * $androidpublisherService = new Google_Service_AndroidPublisher(...); + * $inappproducts = $androidpublisherService->inappproducts; + * + */ +class Google_Service_AndroidPublisher_Resource_Inappproducts extends Google_Service_Resource +{ + /** + * (inappproducts.batch) + * + * @param Google_Service_AndroidPublisher_InappproductsBatchRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_AndroidPublisher_InappproductsBatchResponse + */ + public function batch(Google_Service_AndroidPublisher_InappproductsBatchRequest $postBody, $optParams = array()) + { + $params = array('postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('batch', array($params), "Google_Service_AndroidPublisher_InappproductsBatchResponse"); + } + /** + * Delete an in-app product for an app. (inappproducts.delete) + * + * @param string $packageName Unique identifier for the Android app with the in- + * app product; for example, "com.spiffygame". + * @param string $sku Unique identifier for the in-app product. + * @param array $optParams Optional parameters. + */ + public function delete($packageName, $sku, $optParams = array()) + { + $params = array('packageName' => $packageName, 'sku' => $sku); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params)); + } + /** + * Returns information about the in-app product specified. (inappproducts.get) + * + * @param string $packageName + * @param string $sku Unique identifier for the in-app product. + * @param array $optParams Optional parameters. + * @return Google_Service_AndroidPublisher_InAppProduct + */ + public function get($packageName, $sku, $optParams = array()) + { + $params = array('packageName' => $packageName, 'sku' => $sku); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_AndroidPublisher_InAppProduct"); + } + /** + * Creates a new in-app product for an app. (inappproducts.insert) + * + * @param string $packageName Unique identifier for the Android app; for + * example, "com.spiffygame". + * @param Google_Service_AndroidPublisher_InAppProduct $postBody + * @param array $optParams Optional parameters. + * + * @opt_param bool autoConvertMissingPrices If true the prices for all regions + * targeted by the parent app that don't have a price specified for this in-app + * product will be auto converted to the target currency based on the default + * price. Defaults to false. + * @return Google_Service_AndroidPublisher_InAppProduct + */ + public function insert($packageName, Google_Service_AndroidPublisher_InAppProduct $postBody, $optParams = array()) + { + $params = array('packageName' => $packageName, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('insert', array($params), "Google_Service_AndroidPublisher_InAppProduct"); + } + /** + * List all the in-app products for an Android app, both subscriptions and + * managed in-app products.. (inappproducts.listInappproducts) + * + * @param string $packageName Unique identifier for the Android app with in-app + * products; for example, "com.spiffygame". + * @param array $optParams Optional parameters. + * + * @opt_param string maxResults + * @opt_param string startIndex + * @opt_param string token + * @return Google_Service_AndroidPublisher_InappproductsListResponse + */ + public function listInappproducts($packageName, $optParams = array()) + { + $params = array('packageName' => $packageName); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_AndroidPublisher_InappproductsListResponse"); + } + /** + * Updates the details of an in-app product. This method supports patch + * semantics. (inappproducts.patch) + * + * @param string $packageName Unique identifier for the Android app with the in- + * app product; for example, "com.spiffygame". + * @param string $sku Unique identifier for the in-app product. + * @param Google_Service_AndroidPublisher_InAppProduct $postBody + * @param array $optParams Optional parameters. + * + * @opt_param bool autoConvertMissingPrices If true the prices for all regions + * targeted by the parent app that don't have a price specified for this in-app + * product will be auto converted to the target currency based on the default + * price. Defaults to false. + * @return Google_Service_AndroidPublisher_InAppProduct + */ + public function patch($packageName, $sku, Google_Service_AndroidPublisher_InAppProduct $postBody, $optParams = array()) + { + $params = array('packageName' => $packageName, 'sku' => $sku, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('patch', array($params), "Google_Service_AndroidPublisher_InAppProduct"); + } + /** + * Updates the details of an in-app product. (inappproducts.update) + * + * @param string $packageName Unique identifier for the Android app with the in- + * app product; for example, "com.spiffygame". + * @param string $sku Unique identifier for the in-app product. + * @param Google_Service_AndroidPublisher_InAppProduct $postBody + * @param array $optParams Optional parameters. + * + * @opt_param bool autoConvertMissingPrices If true the prices for all regions + * targeted by the parent app that don't have a price specified for this in-app + * product will be auto converted to the target currency based on the default + * price. Defaults to false. + * @return Google_Service_AndroidPublisher_InAppProduct + */ + public function update($packageName, $sku, Google_Service_AndroidPublisher_InAppProduct $postBody, $optParams = array()) + { + $params = array('packageName' => $packageName, 'sku' => $sku, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('update', array($params), "Google_Service_AndroidPublisher_InAppProduct"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/Resource/Purchases.php b/vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/Resource/Purchases.php new file mode 100644 index 00000000..65eee4b8 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/Resource/Purchases.php @@ -0,0 +1,28 @@ + + * $androidpublisherService = new Google_Service_AndroidPublisher(...); + * $purchases = $androidpublisherService->purchases; + * + */ +class Google_Service_AndroidPublisher_Resource_Purchases extends Google_Service_Resource +{ +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/Resource/PurchasesProducts.php b/vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/Resource/PurchasesProducts.php new file mode 100644 index 00000000..6dd82da9 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/Resource/PurchasesProducts.php @@ -0,0 +1,46 @@ + + * $androidpublisherService = new Google_Service_AndroidPublisher(...); + * $products = $androidpublisherService->products; + * + */ +class Google_Service_AndroidPublisher_Resource_PurchasesProducts extends Google_Service_Resource +{ + /** + * Checks the purchase and consumption status of an inapp item. (products.get) + * + * @param string $packageName The package name of the application the inapp + * product was sold in (for example, 'com.some.thing'). + * @param string $productId The inapp product SKU (for example, + * 'com.some.thing.inapp1'). + * @param string $token The token provided to the user's device when the inapp + * product was purchased. + * @param array $optParams Optional parameters. + * @return Google_Service_AndroidPublisher_ProductPurchase + */ + public function get($packageName, $productId, $token, $optParams = array()) + { + $params = array('packageName' => $packageName, 'productId' => $productId, 'token' => $token); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_AndroidPublisher_ProductPurchase"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/Resource/PurchasesSubscriptions.php b/vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/Resource/PurchasesSubscriptions.php new file mode 100644 index 00000000..e128594a --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/Resource/PurchasesSubscriptions.php @@ -0,0 +1,123 @@ + + * $androidpublisherService = new Google_Service_AndroidPublisher(...); + * $subscriptions = $androidpublisherService->subscriptions; + * + */ +class Google_Service_AndroidPublisher_Resource_PurchasesSubscriptions extends Google_Service_Resource +{ + /** + * Cancels a user's subscription purchase. The subscription remains valid until + * its expiration time. (subscriptions.cancel) + * + * @param string $packageName The package name of the application for which this + * subscription was purchased (for example, 'com.some.thing'). + * @param string $subscriptionId The purchased subscription ID (for example, + * 'monthly001'). + * @param string $token The token provided to the user's device when the + * subscription was purchased. + * @param array $optParams Optional parameters. + */ + public function cancel($packageName, $subscriptionId, $token, $optParams = array()) + { + $params = array('packageName' => $packageName, 'subscriptionId' => $subscriptionId, 'token' => $token); + $params = array_merge($params, $optParams); + return $this->call('cancel', array($params)); + } + /** + * Defers a user's subscription purchase until a specified future expiration + * time. (subscriptions.defer) + * + * @param string $packageName The package name of the application for which this + * subscription was purchased (for example, 'com.some.thing'). + * @param string $subscriptionId The purchased subscription ID (for example, + * 'monthly001'). + * @param string $token The token provided to the user's device when the + * subscription was purchased. + * @param Google_Service_AndroidPublisher_SubscriptionPurchasesDeferRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_AndroidPublisher_SubscriptionPurchasesDeferResponse + */ + public function defer($packageName, $subscriptionId, $token, Google_Service_AndroidPublisher_SubscriptionPurchasesDeferRequest $postBody, $optParams = array()) + { + $params = array('packageName' => $packageName, 'subscriptionId' => $subscriptionId, 'token' => $token, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('defer', array($params), "Google_Service_AndroidPublisher_SubscriptionPurchasesDeferResponse"); + } + /** + * Checks whether a user's subscription purchase is valid and returns its expiry + * time. (subscriptions.get) + * + * @param string $packageName The package name of the application for which this + * subscription was purchased (for example, 'com.some.thing'). + * @param string $subscriptionId The purchased subscription ID (for example, + * 'monthly001'). + * @param string $token The token provided to the user's device when the + * subscription was purchased. + * @param array $optParams Optional parameters. + * @return Google_Service_AndroidPublisher_SubscriptionPurchase + */ + public function get($packageName, $subscriptionId, $token, $optParams = array()) + { + $params = array('packageName' => $packageName, 'subscriptionId' => $subscriptionId, 'token' => $token); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_AndroidPublisher_SubscriptionPurchase"); + } + /** + * Refunds a user's subscription purchase, but the subscription remains valid + * until its expiration time and it will continue to recur. + * (subscriptions.refund) + * + * @param string $packageName The package name of the application for which this + * subscription was purchased (for example, 'com.some.thing'). + * @param string $subscriptionId The purchased subscription ID (for example, + * 'monthly001'). + * @param string $token The token provided to the user's device when the + * subscription was purchased. + * @param array $optParams Optional parameters. + */ + public function refund($packageName, $subscriptionId, $token, $optParams = array()) + { + $params = array('packageName' => $packageName, 'subscriptionId' => $subscriptionId, 'token' => $token); + $params = array_merge($params, $optParams); + return $this->call('refund', array($params)); + } + /** + * Refunds and immediately revokes a user's subscription purchase. Access to the + * subscription will be terminated immediately and it will stop recurring. + * (subscriptions.revoke) + * + * @param string $packageName The package name of the application for which this + * subscription was purchased (for example, 'com.some.thing'). + * @param string $subscriptionId The purchased subscription ID (for example, + * 'monthly001'). + * @param string $token The token provided to the user's device when the + * subscription was purchased. + * @param array $optParams Optional parameters. + */ + public function revoke($packageName, $subscriptionId, $token, $optParams = array()) + { + $params = array('packageName' => $packageName, 'subscriptionId' => $subscriptionId, 'token' => $token); + $params = array_merge($params, $optParams); + return $this->call('revoke', array($params)); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/Resource/PurchasesVoidedpurchases.php b/vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/Resource/PurchasesVoidedpurchases.php new file mode 100644 index 00000000..ea1f4271 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/Resource/PurchasesVoidedpurchases.php @@ -0,0 +1,55 @@ + + * $androidpublisherService = new Google_Service_AndroidPublisher(...); + * $voidedpurchases = $androidpublisherService->voidedpurchases; + * + */ +class Google_Service_AndroidPublisher_Resource_PurchasesVoidedpurchases extends Google_Service_Resource +{ + /** + * Lists the purchases that were cancelled, refunded or charged-back. + * (voidedpurchases.listPurchasesVoidedpurchases) + * + * @param string $packageName The package name of the application for which + * voided purchases need to be returned (for example, 'com.some.thing'). + * @param array $optParams Optional parameters. + * + * @opt_param string endTime The time, in milliseconds since the Epoch, of the + * newest voided in-app product purchase that you want to see in the response. + * The value of this parameter cannot be greater than the current time and is + * ignored if a pagination token is set. Default value is current time. + * @opt_param string maxResults + * @opt_param string startIndex + * @opt_param string startTime The time, in milliseconds since the Epoch, of the + * oldest voided in-app product purchase that you want to see in the response. + * The value of this parameter cannot be older than 30 days and is ignored if a + * pagination token is set. Default value is current time minus 30 days. + * @opt_param string token + * @return Google_Service_AndroidPublisher_VoidedPurchasesListResponse + */ + public function listPurchasesVoidedpurchases($packageName, $optParams = array()) + { + $params = array('packageName' => $packageName); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_AndroidPublisher_VoidedPurchasesListResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/Resource/Reviews.php b/vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/Resource/Reviews.php new file mode 100644 index 00000000..c1fa3c6a --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/Resource/Reviews.php @@ -0,0 +1,81 @@ + + * $androidpublisherService = new Google_Service_AndroidPublisher(...); + * $reviews = $androidpublisherService->reviews; + * + */ +class Google_Service_AndroidPublisher_Resource_Reviews extends Google_Service_Resource +{ + /** + * Returns a single review. (reviews.get) + * + * @param string $packageName Unique identifier for the Android app for which we + * want reviews; for example, "com.spiffygame". + * @param string $reviewId + * @param array $optParams Optional parameters. + * + * @opt_param string translationLanguage + * @return Google_Service_AndroidPublisher_Review + */ + public function get($packageName, $reviewId, $optParams = array()) + { + $params = array('packageName' => $packageName, 'reviewId' => $reviewId); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_AndroidPublisher_Review"); + } + /** + * Returns a list of reviews. Only reviews from last week will be returned. + * (reviews.listReviews) + * + * @param string $packageName Unique identifier for the Android app for which we + * want reviews; for example, "com.spiffygame". + * @param array $optParams Optional parameters. + * + * @opt_param string maxResults + * @opt_param string startIndex + * @opt_param string token + * @opt_param string translationLanguage + * @return Google_Service_AndroidPublisher_ReviewsListResponse + */ + public function listReviews($packageName, $optParams = array()) + { + $params = array('packageName' => $packageName); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_AndroidPublisher_ReviewsListResponse"); + } + /** + * Reply to a single review, or update an existing reply. (reviews.reply) + * + * @param string $packageName Unique identifier for the Android app for which we + * want reviews; for example, "com.spiffygame". + * @param string $reviewId + * @param Google_Service_AndroidPublisher_ReviewsReplyRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_AndroidPublisher_ReviewsReplyResponse + */ + public function reply($packageName, $reviewId, Google_Service_AndroidPublisher_ReviewsReplyRequest $postBody, $optParams = array()) + { + $params = array('packageName' => $packageName, 'reviewId' => $reviewId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('reply', array($params), "Google_Service_AndroidPublisher_ReviewsReplyResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/Review.php b/vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/Review.php new file mode 100644 index 00000000..c7daff3d --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/Review.php @@ -0,0 +1,50 @@ +authorName = $authorName; + } + public function getAuthorName() + { + return $this->authorName; + } + public function setComments($comments) + { + $this->comments = $comments; + } + public function getComments() + { + return $this->comments; + } + public function setReviewId($reviewId) + { + $this->reviewId = $reviewId; + } + public function getReviewId() + { + return $this->reviewId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/ReviewReplyResult.php b/vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/ReviewReplyResult.php new file mode 100644 index 00000000..5cb8c3aa --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/ReviewReplyResult.php @@ -0,0 +1,40 @@ +lastEdited = $lastEdited; + } + public function getLastEdited() + { + return $this->lastEdited; + } + public function setReplyText($replyText) + { + $this->replyText = $replyText; + } + public function getReplyText() + { + return $this->replyText; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/ReviewsListResponse.php b/vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/ReviewsListResponse.php new file mode 100644 index 00000000..04a61eeb --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/ReviewsListResponse.php @@ -0,0 +1,52 @@ +pageInfo = $pageInfo; + } + public function getPageInfo() + { + return $this->pageInfo; + } + public function setReviews($reviews) + { + $this->reviews = $reviews; + } + public function getReviews() + { + return $this->reviews; + } + public function setTokenPagination(Google_Service_AndroidPublisher_TokenPagination $tokenPagination) + { + $this->tokenPagination = $tokenPagination; + } + public function getTokenPagination() + { + return $this->tokenPagination; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/ReviewsReplyRequest.php b/vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/ReviewsReplyRequest.php new file mode 100644 index 00000000..11f528fe --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/ReviewsReplyRequest.php @@ -0,0 +1,30 @@ +replyText = $replyText; + } + public function getReplyText() + { + return $this->replyText; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/ReviewsReplyResponse.php b/vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/ReviewsReplyResponse.php new file mode 100644 index 00000000..62351a8c --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/ReviewsReplyResponse.php @@ -0,0 +1,31 @@ +result = $result; + } + public function getResult() + { + return $this->result; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/Season.php b/vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/Season.php new file mode 100644 index 00000000..db476a3a --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/Season.php @@ -0,0 +1,52 @@ +end = $end; + } + public function getEnd() + { + return $this->end; + } + public function setProrations($prorations) + { + $this->prorations = $prorations; + } + public function getProrations() + { + return $this->prorations; + } + public function setStart(Google_Service_AndroidPublisher_MonthDay $start) + { + $this->start = $start; + } + public function getStart() + { + return $this->start; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/SubscriptionDeferralInfo.php b/vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/SubscriptionDeferralInfo.php new file mode 100644 index 00000000..134df222 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/SubscriptionDeferralInfo.php @@ -0,0 +1,39 @@ +desiredExpiryTimeMillis = $desiredExpiryTimeMillis; + } + public function getDesiredExpiryTimeMillis() + { + return $this->desiredExpiryTimeMillis; + } + public function setExpectedExpiryTimeMillis($expectedExpiryTimeMillis) + { + $this->expectedExpiryTimeMillis = $expectedExpiryTimeMillis; + } + public function getExpectedExpiryTimeMillis() + { + return $this->expectedExpiryTimeMillis; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/SubscriptionPurchase.php b/vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/SubscriptionPurchase.php new file mode 100644 index 00000000..81dc85e2 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/SubscriptionPurchase.php @@ -0,0 +1,120 @@ +autoRenewing = $autoRenewing; + } + public function getAutoRenewing() + { + return $this->autoRenewing; + } + public function setCancelReason($cancelReason) + { + $this->cancelReason = $cancelReason; + } + public function getCancelReason() + { + return $this->cancelReason; + } + public function setCountryCode($countryCode) + { + $this->countryCode = $countryCode; + } + public function getCountryCode() + { + return $this->countryCode; + } + public function setDeveloperPayload($developerPayload) + { + $this->developerPayload = $developerPayload; + } + public function getDeveloperPayload() + { + return $this->developerPayload; + } + public function setExpiryTimeMillis($expiryTimeMillis) + { + $this->expiryTimeMillis = $expiryTimeMillis; + } + public function getExpiryTimeMillis() + { + return $this->expiryTimeMillis; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setPaymentState($paymentState) + { + $this->paymentState = $paymentState; + } + public function getPaymentState() + { + return $this->paymentState; + } + public function setPriceAmountMicros($priceAmountMicros) + { + $this->priceAmountMicros = $priceAmountMicros; + } + public function getPriceAmountMicros() + { + return $this->priceAmountMicros; + } + public function setPriceCurrencyCode($priceCurrencyCode) + { + $this->priceCurrencyCode = $priceCurrencyCode; + } + public function getPriceCurrencyCode() + { + return $this->priceCurrencyCode; + } + public function setStartTimeMillis($startTimeMillis) + { + $this->startTimeMillis = $startTimeMillis; + } + public function getStartTimeMillis() + { + return $this->startTimeMillis; + } + public function setUserCancellationTimeMillis($userCancellationTimeMillis) + { + $this->userCancellationTimeMillis = $userCancellationTimeMillis; + } + public function getUserCancellationTimeMillis() + { + return $this->userCancellationTimeMillis; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/SubscriptionPurchasesDeferRequest.php b/vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/SubscriptionPurchasesDeferRequest.php new file mode 100644 index 00000000..3f873760 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/SubscriptionPurchasesDeferRequest.php @@ -0,0 +1,31 @@ +deferralInfo = $deferralInfo; + } + public function getDeferralInfo() + { + return $this->deferralInfo; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/SubscriptionPurchasesDeferResponse.php b/vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/SubscriptionPurchasesDeferResponse.php new file mode 100644 index 00000000..afdeda31 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/SubscriptionPurchasesDeferResponse.php @@ -0,0 +1,30 @@ +newExpiryTimeMillis = $newExpiryTimeMillis; + } + public function getNewExpiryTimeMillis() + { + return $this->newExpiryTimeMillis; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/Testers.php b/vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/Testers.php new file mode 100644 index 00000000..0d9dd02a --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/Testers.php @@ -0,0 +1,40 @@ +googleGroups = $googleGroups; + } + public function getGoogleGroups() + { + return $this->googleGroups; + } + public function setGooglePlusCommunities($googlePlusCommunities) + { + $this->googlePlusCommunities = $googlePlusCommunities; + } + public function getGooglePlusCommunities() + { + return $this->googlePlusCommunities; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/Timestamp.php b/vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/Timestamp.php new file mode 100644 index 00000000..e98946e6 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/Timestamp.php @@ -0,0 +1,39 @@ +nanos = $nanos; + } + public function getNanos() + { + return $this->nanos; + } + public function setSeconds($seconds) + { + $this->seconds = $seconds; + } + public function getSeconds() + { + return $this->seconds; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/TokenPagination.php b/vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/TokenPagination.php new file mode 100644 index 00000000..9c216acf --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/TokenPagination.php @@ -0,0 +1,39 @@ +nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setPreviousPageToken($previousPageToken) + { + $this->previousPageToken = $previousPageToken; + } + public function getPreviousPageToken() + { + return $this->previousPageToken; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/Track.php b/vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/Track.php new file mode 100644 index 00000000..26e8c25e --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/Track.php @@ -0,0 +1,49 @@ +track = $track; + } + public function getTrack() + { + return $this->track; + } + public function setUserFraction($userFraction) + { + $this->userFraction = $userFraction; + } + public function getUserFraction() + { + return $this->userFraction; + } + public function setVersionCodes($versionCodes) + { + $this->versionCodes = $versionCodes; + } + public function getVersionCodes() + { + return $this->versionCodes; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/TracksListResponse.php b/vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/TracksListResponse.php new file mode 100644 index 00000000..cfa7d152 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/TracksListResponse.php @@ -0,0 +1,41 @@ +kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setTracks($tracks) + { + $this->tracks = $tracks; + } + public function getTracks() + { + return $this->tracks; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/UserComment.php b/vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/UserComment.php new file mode 100644 index 00000000..6a8d4370 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/UserComment.php @@ -0,0 +1,131 @@ +androidOsVersion = $androidOsVersion; + } + public function getAndroidOsVersion() + { + return $this->androidOsVersion; + } + public function setAppVersionCode($appVersionCode) + { + $this->appVersionCode = $appVersionCode; + } + public function getAppVersionCode() + { + return $this->appVersionCode; + } + public function setAppVersionName($appVersionName) + { + $this->appVersionName = $appVersionName; + } + public function getAppVersionName() + { + return $this->appVersionName; + } + public function setDevice($device) + { + $this->device = $device; + } + public function getDevice() + { + return $this->device; + } + public function setDeviceMetadata(Google_Service_AndroidPublisher_DeviceMetadata $deviceMetadata) + { + $this->deviceMetadata = $deviceMetadata; + } + public function getDeviceMetadata() + { + return $this->deviceMetadata; + } + public function setLastModified(Google_Service_AndroidPublisher_Timestamp $lastModified) + { + $this->lastModified = $lastModified; + } + public function getLastModified() + { + return $this->lastModified; + } + public function setOriginalText($originalText) + { + $this->originalText = $originalText; + } + public function getOriginalText() + { + return $this->originalText; + } + public function setReviewerLanguage($reviewerLanguage) + { + $this->reviewerLanguage = $reviewerLanguage; + } + public function getReviewerLanguage() + { + return $this->reviewerLanguage; + } + public function setStarRating($starRating) + { + $this->starRating = $starRating; + } + public function getStarRating() + { + return $this->starRating; + } + public function setText($text) + { + $this->text = $text; + } + public function getText() + { + return $this->text; + } + public function setThumbsDownCount($thumbsDownCount) + { + $this->thumbsDownCount = $thumbsDownCount; + } + public function getThumbsDownCount() + { + return $this->thumbsDownCount; + } + public function setThumbsUpCount($thumbsUpCount) + { + $this->thumbsUpCount = $thumbsUpCount; + } + public function getThumbsUpCount() + { + return $this->thumbsUpCount; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/VoidedPurchase.php b/vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/VoidedPurchase.php new file mode 100644 index 00000000..208f641a --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/VoidedPurchase.php @@ -0,0 +1,57 @@ +kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setPurchaseTimeMillis($purchaseTimeMillis) + { + $this->purchaseTimeMillis = $purchaseTimeMillis; + } + public function getPurchaseTimeMillis() + { + return $this->purchaseTimeMillis; + } + public function setPurchaseToken($purchaseToken) + { + $this->purchaseToken = $purchaseToken; + } + public function getPurchaseToken() + { + return $this->purchaseToken; + } + public function setVoidedTimeMillis($voidedTimeMillis) + { + $this->voidedTimeMillis = $voidedTimeMillis; + } + public function getVoidedTimeMillis() + { + return $this->voidedTimeMillis; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/VoidedPurchasesListResponse.php b/vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/VoidedPurchasesListResponse.php new file mode 100644 index 00000000..4cc0970f --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AndroidPublisher/VoidedPurchasesListResponse.php @@ -0,0 +1,52 @@ +pageInfo = $pageInfo; + } + public function getPageInfo() + { + return $this->pageInfo; + } + public function setTokenPagination(Google_Service_AndroidPublisher_TokenPagination $tokenPagination) + { + $this->tokenPagination = $tokenPagination; + } + public function getTokenPagination() + { + return $this->tokenPagination; + } + public function setVoidedPurchases($voidedPurchases) + { + $this->voidedPurchases = $voidedPurchases; + } + public function getVoidedPurchases() + { + return $this->voidedPurchases; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AppState.php b/vendor/google/apiclient-services/src/Google/Service/AppState.php new file mode 100644 index 00000000..fc2f9435 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AppState.php @@ -0,0 +1,120 @@ + + * The Google App State API.

+ * + *

+ * For more information about this service, see the API + * Documentation + *

+ * + * @author Google, Inc. + */ +class Google_Service_AppState extends Google_Service +{ + /** View and manage your data for this application. */ + const APPSTATE = + "https://www.googleapis.com/auth/appstate"; + + public $states; + + /** + * Constructs the internal representation of the AppState service. + * + * @param Google_Client $client + */ + public function __construct(Google_Client $client) + { + parent::__construct($client); + $this->rootUrl = 'https://www.googleapis.com/'; + $this->servicePath = 'appstate/v1/'; + $this->version = 'v1'; + $this->serviceName = 'appstate'; + + $this->states = new Google_Service_AppState_Resource_States( + $this, + $this->serviceName, + 'states', + array( + 'methods' => array( + 'clear' => array( + 'path' => 'states/{stateKey}/clear', + 'httpMethod' => 'POST', + 'parameters' => array( + 'stateKey' => array( + 'location' => 'path', + 'type' => 'integer', + 'required' => true, + ), + 'currentDataVersion' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'delete' => array( + 'path' => 'states/{stateKey}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'stateKey' => array( + 'location' => 'path', + 'type' => 'integer', + 'required' => true, + ), + ), + ),'get' => array( + 'path' => 'states/{stateKey}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'stateKey' => array( + 'location' => 'path', + 'type' => 'integer', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'states', + 'httpMethod' => 'GET', + 'parameters' => array( + 'includeData' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + ), + ),'update' => array( + 'path' => 'states/{stateKey}', + 'httpMethod' => 'PUT', + 'parameters' => array( + 'stateKey' => array( + 'location' => 'path', + 'type' => 'integer', + 'required' => true, + ), + 'currentStateVersion' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AppState/GetResponse.php b/vendor/google/apiclient-services/src/Google/Service/AppState/GetResponse.php new file mode 100644 index 00000000..bb4a8336 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AppState/GetResponse.php @@ -0,0 +1,57 @@ +currentStateVersion = $currentStateVersion; + } + public function getCurrentStateVersion() + { + return $this->currentStateVersion; + } + public function setData($data) + { + $this->data = $data; + } + public function getData() + { + return $this->data; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setStateKey($stateKey) + { + $this->stateKey = $stateKey; + } + public function getStateKey() + { + return $this->stateKey; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AppState/ListResponse.php b/vendor/google/apiclient-services/src/Google/Service/AppState/ListResponse.php new file mode 100644 index 00000000..cc17c880 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AppState/ListResponse.php @@ -0,0 +1,50 @@ +items = $items; + } + public function getItems() + { + return $this->items; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setMaximumKeyCount($maximumKeyCount) + { + $this->maximumKeyCount = $maximumKeyCount; + } + public function getMaximumKeyCount() + { + return $this->maximumKeyCount; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AppState/Resource/States.php b/vendor/google/apiclient-services/src/Google/Service/AppState/Resource/States.php new file mode 100644 index 00000000..b652c2cf --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AppState/Resource/States.php @@ -0,0 +1,113 @@ + + * $appstateService = new Google_Service_AppState(...); + * $states = $appstateService->states; + * + */ +class Google_Service_AppState_Resource_States extends Google_Service_Resource +{ + /** + * Clears (sets to empty) the data for the passed key if and only if the passed + * version matches the currently stored version. This method results in a + * conflict error on version mismatch. (states.clear) + * + * @param int $stateKey The key for the data to be retrieved. + * @param array $optParams Optional parameters. + * + * @opt_param string currentDataVersion The version of the data to be cleared. + * Version strings are returned by the server. + * @return Google_Service_AppState_WriteResult + */ + public function clear($stateKey, $optParams = array()) + { + $params = array('stateKey' => $stateKey); + $params = array_merge($params, $optParams); + return $this->call('clear', array($params), "Google_Service_AppState_WriteResult"); + } + /** + * Deletes a key and the data associated with it. The key is removed and no + * longer counts against the key quota. Note that since this method is not safe + * in the face of concurrent modifications, it should only be used for + * development and testing purposes. Invoking this method in shipping code can + * result in data loss and data corruption. (states.delete) + * + * @param int $stateKey The key for the data to be retrieved. + * @param array $optParams Optional parameters. + */ + public function delete($stateKey, $optParams = array()) + { + $params = array('stateKey' => $stateKey); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params)); + } + /** + * Retrieves the data corresponding to the passed key. If the key does not exist + * on the server, an HTTP 404 will be returned. (states.get) + * + * @param int $stateKey The key for the data to be retrieved. + * @param array $optParams Optional parameters. + * @return Google_Service_AppState_GetResponse + */ + public function get($stateKey, $optParams = array()) + { + $params = array('stateKey' => $stateKey); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_AppState_GetResponse"); + } + /** + * Lists all the states keys, and optionally the state data. (states.listStates) + * + * @param array $optParams Optional parameters. + * + * @opt_param bool includeData Whether to include the full data in addition to + * the version number + * @return Google_Service_AppState_ListResponse + */ + public function listStates($optParams = array()) + { + $params = array(); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_AppState_ListResponse"); + } + /** + * Update the data associated with the input key if and only if the passed + * version matches the currently stored version. This method is safe in the face + * of concurrent writes. Maximum per-key size is 128KB. (states.update) + * + * @param int $stateKey The key for the data to be retrieved. + * @param Google_Service_AppState_UpdateRequest $postBody + * @param array $optParams Optional parameters. + * + * @opt_param string currentStateVersion The version of the app state your + * application is attempting to update. If this does not match the current + * version, this method will return a conflict error. If there is no data stored + * on the server for this key, the update will succeed irrespective of the value + * of this parameter. + * @return Google_Service_AppState_WriteResult + */ + public function update($stateKey, Google_Service_AppState_UpdateRequest $postBody, $optParams = array()) + { + $params = array('stateKey' => $stateKey, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('update', array($params), "Google_Service_AppState_WriteResult"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AppState/UpdateRequest.php b/vendor/google/apiclient-services/src/Google/Service/AppState/UpdateRequest.php new file mode 100644 index 00000000..719c6a59 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AppState/UpdateRequest.php @@ -0,0 +1,39 @@ +data = $data; + } + public function getData() + { + return $this->data; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/AppState/WriteResult.php b/vendor/google/apiclient-services/src/Google/Service/AppState/WriteResult.php new file mode 100644 index 00000000..3b742cbd --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/AppState/WriteResult.php @@ -0,0 +1,48 @@ +currentStateVersion = $currentStateVersion; + } + public function getCurrentStateVersion() + { + return $this->currentStateVersion; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setStateKey($stateKey) + { + $this->stateKey = $stateKey; + } + public function getStateKey() + { + return $this->stateKey; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Appengine.php b/vendor/google/apiclient-services/src/Google/Service/Appengine.php new file mode 100644 index 00000000..4a692250 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Appengine.php @@ -0,0 +1,520 @@ + + * Provisions and manages App Engine applications.

+ * + *

+ * For more information about this service, see the API + * Documentation + *

+ * + * @author Google, Inc. + */ +class Google_Service_Appengine extends Google_Service +{ + /** View and manage your applications deployed on Google App Engine. */ + const APPENGINE_ADMIN = + "https://www.googleapis.com/auth/appengine.admin"; + /** View and manage your data across Google Cloud Platform services. */ + const CLOUD_PLATFORM = + "https://www.googleapis.com/auth/cloud-platform"; + /** View your data across Google Cloud Platform services. */ + const CLOUD_PLATFORM_READ_ONLY = + "https://www.googleapis.com/auth/cloud-platform.read-only"; + + public $apps; + public $apps_locations; + public $apps_operations; + public $apps_services; + public $apps_services_versions; + public $apps_services_versions_instances; + + /** + * Constructs the internal representation of the Appengine service. + * + * @param Google_Client $client + */ + public function __construct(Google_Client $client) + { + parent::__construct($client); + $this->rootUrl = 'https://appengine.googleapis.com/'; + $this->servicePath = ''; + $this->version = 'v1'; + $this->serviceName = 'appengine'; + + $this->apps = new Google_Service_Appengine_Resource_Apps( + $this, + $this->serviceName, + 'apps', + array( + 'methods' => array( + 'create' => array( + 'path' => 'v1/apps', + 'httpMethod' => 'POST', + 'parameters' => array(), + ),'get' => array( + 'path' => 'v1/apps/{appsId}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'appsId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'patch' => array( + 'path' => 'v1/apps/{appsId}', + 'httpMethod' => 'PATCH', + 'parameters' => array( + 'appsId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'updateMask' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'repair' => array( + 'path' => 'v1/apps/{appsId}:repair', + 'httpMethod' => 'POST', + 'parameters' => array( + 'appsId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->apps_locations = new Google_Service_Appengine_Resource_AppsLocations( + $this, + $this->serviceName, + 'locations', + array( + 'methods' => array( + 'get' => array( + 'path' => 'v1/apps/{appsId}/locations/{locationsId}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'appsId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'locationsId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'v1/apps/{appsId}/locations', + 'httpMethod' => 'GET', + 'parameters' => array( + 'appsId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'filter' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pageSize' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + $this->apps_operations = new Google_Service_Appengine_Resource_AppsOperations( + $this, + $this->serviceName, + 'operations', + array( + 'methods' => array( + 'get' => array( + 'path' => 'v1/apps/{appsId}/operations/{operationsId}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'appsId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'operationsId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'v1/apps/{appsId}/operations', + 'httpMethod' => 'GET', + 'parameters' => array( + 'appsId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'filter' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pageSize' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + $this->apps_services = new Google_Service_Appengine_Resource_AppsServices( + $this, + $this->serviceName, + 'services', + array( + 'methods' => array( + 'delete' => array( + 'path' => 'v1/apps/{appsId}/services/{servicesId}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'appsId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'servicesId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'get' => array( + 'path' => 'v1/apps/{appsId}/services/{servicesId}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'appsId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'servicesId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'v1/apps/{appsId}/services', + 'httpMethod' => 'GET', + 'parameters' => array( + 'appsId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'pageSize' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'patch' => array( + 'path' => 'v1/apps/{appsId}/services/{servicesId}', + 'httpMethod' => 'PATCH', + 'parameters' => array( + 'appsId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'servicesId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'updateMask' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'migrateTraffic' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + ), + ), + ) + ) + ); + $this->apps_services_versions = new Google_Service_Appengine_Resource_AppsServicesVersions( + $this, + $this->serviceName, + 'versions', + array( + 'methods' => array( + 'create' => array( + 'path' => 'v1/apps/{appsId}/services/{servicesId}/versions', + 'httpMethod' => 'POST', + 'parameters' => array( + 'appsId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'servicesId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'delete' => array( + 'path' => 'v1/apps/{appsId}/services/{servicesId}/versions/{versionsId}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'appsId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'servicesId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'versionsId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'get' => array( + 'path' => 'v1/apps/{appsId}/services/{servicesId}/versions/{versionsId}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'appsId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'servicesId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'versionsId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'view' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'list' => array( + 'path' => 'v1/apps/{appsId}/services/{servicesId}/versions', + 'httpMethod' => 'GET', + 'parameters' => array( + 'appsId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'servicesId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'view' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pageSize' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'patch' => array( + 'path' => 'v1/apps/{appsId}/services/{servicesId}/versions/{versionsId}', + 'httpMethod' => 'PATCH', + 'parameters' => array( + 'appsId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'servicesId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'versionsId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'updateMask' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + $this->apps_services_versions_instances = new Google_Service_Appengine_Resource_AppsServicesVersionsInstances( + $this, + $this->serviceName, + 'instances', + array( + 'methods' => array( + 'debug' => array( + 'path' => 'v1/apps/{appsId}/services/{servicesId}/versions/{versionsId}/instances/{instancesId}:debug', + 'httpMethod' => 'POST', + 'parameters' => array( + 'appsId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'servicesId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'versionsId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'instancesId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'delete' => array( + 'path' => 'v1/apps/{appsId}/services/{servicesId}/versions/{versionsId}/instances/{instancesId}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'appsId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'servicesId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'versionsId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'instancesId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'get' => array( + 'path' => 'v1/apps/{appsId}/services/{servicesId}/versions/{versionsId}/instances/{instancesId}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'appsId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'servicesId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'versionsId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'instancesId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'v1/apps/{appsId}/services/{servicesId}/versions/{versionsId}/instances', + 'httpMethod' => 'GET', + 'parameters' => array( + 'appsId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'servicesId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'versionsId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'pageSize' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Appengine/ApiConfigHandler.php b/vendor/google/apiclient-services/src/Google/Service/Appengine/ApiConfigHandler.php new file mode 100644 index 00000000..2464a8b8 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Appengine/ApiConfigHandler.php @@ -0,0 +1,66 @@ +authFailAction = $authFailAction; + } + public function getAuthFailAction() + { + return $this->authFailAction; + } + public function setLogin($login) + { + $this->login = $login; + } + public function getLogin() + { + return $this->login; + } + public function setScript($script) + { + $this->script = $script; + } + public function getScript() + { + return $this->script; + } + public function setSecurityLevel($securityLevel) + { + $this->securityLevel = $securityLevel; + } + public function getSecurityLevel() + { + return $this->securityLevel; + } + public function setUrl($url) + { + $this->url = $url; + } + public function getUrl() + { + return $this->url; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Appengine/ApiEndpointHandler.php b/vendor/google/apiclient-services/src/Google/Service/Appengine/ApiEndpointHandler.php new file mode 100644 index 00000000..6b5d1381 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Appengine/ApiEndpointHandler.php @@ -0,0 +1,30 @@ +scriptPath = $scriptPath; + } + public function getScriptPath() + { + return $this->scriptPath; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Appengine/Application.php b/vendor/google/apiclient-services/src/Google/Service/Appengine/Application.php new file mode 100644 index 00000000..a1c8fc28 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Appengine/Application.php @@ -0,0 +1,104 @@ +authDomain = $authDomain; + } + public function getAuthDomain() + { + return $this->authDomain; + } + public function setCodeBucket($codeBucket) + { + $this->codeBucket = $codeBucket; + } + public function getCodeBucket() + { + return $this->codeBucket; + } + public function setDefaultBucket($defaultBucket) + { + $this->defaultBucket = $defaultBucket; + } + public function getDefaultBucket() + { + return $this->defaultBucket; + } + public function setDefaultCookieExpiration($defaultCookieExpiration) + { + $this->defaultCookieExpiration = $defaultCookieExpiration; + } + public function getDefaultCookieExpiration() + { + return $this->defaultCookieExpiration; + } + public function setDefaultHostname($defaultHostname) + { + $this->defaultHostname = $defaultHostname; + } + public function getDefaultHostname() + { + return $this->defaultHostname; + } + public function setDispatchRules($dispatchRules) + { + $this->dispatchRules = $dispatchRules; + } + public function getDispatchRules() + { + return $this->dispatchRules; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setLocationId($locationId) + { + $this->locationId = $locationId; + } + public function getLocationId() + { + return $this->locationId; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Appengine/AutomaticScaling.php b/vendor/google/apiclient-services/src/Google/Service/Appengine/AutomaticScaling.php new file mode 100644 index 00000000..3801742d --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Appengine/AutomaticScaling.php @@ -0,0 +1,133 @@ +coolDownPeriod = $coolDownPeriod; + } + public function getCoolDownPeriod() + { + return $this->coolDownPeriod; + } + public function setCpuUtilization(Google_Service_Appengine_CpuUtilization $cpuUtilization) + { + $this->cpuUtilization = $cpuUtilization; + } + public function getCpuUtilization() + { + return $this->cpuUtilization; + } + public function setDiskUtilization(Google_Service_Appengine_DiskUtilization $diskUtilization) + { + $this->diskUtilization = $diskUtilization; + } + public function getDiskUtilization() + { + return $this->diskUtilization; + } + public function setMaxConcurrentRequests($maxConcurrentRequests) + { + $this->maxConcurrentRequests = $maxConcurrentRequests; + } + public function getMaxConcurrentRequests() + { + return $this->maxConcurrentRequests; + } + public function setMaxIdleInstances($maxIdleInstances) + { + $this->maxIdleInstances = $maxIdleInstances; + } + public function getMaxIdleInstances() + { + return $this->maxIdleInstances; + } + public function setMaxPendingLatency($maxPendingLatency) + { + $this->maxPendingLatency = $maxPendingLatency; + } + public function getMaxPendingLatency() + { + return $this->maxPendingLatency; + } + public function setMaxTotalInstances($maxTotalInstances) + { + $this->maxTotalInstances = $maxTotalInstances; + } + public function getMaxTotalInstances() + { + return $this->maxTotalInstances; + } + public function setMinIdleInstances($minIdleInstances) + { + $this->minIdleInstances = $minIdleInstances; + } + public function getMinIdleInstances() + { + return $this->minIdleInstances; + } + public function setMinPendingLatency($minPendingLatency) + { + $this->minPendingLatency = $minPendingLatency; + } + public function getMinPendingLatency() + { + return $this->minPendingLatency; + } + public function setMinTotalInstances($minTotalInstances) + { + $this->minTotalInstances = $minTotalInstances; + } + public function getMinTotalInstances() + { + return $this->minTotalInstances; + } + public function setNetworkUtilization(Google_Service_Appengine_NetworkUtilization $networkUtilization) + { + $this->networkUtilization = $networkUtilization; + } + public function getNetworkUtilization() + { + return $this->networkUtilization; + } + public function setRequestUtilization(Google_Service_Appengine_RequestUtilization $requestUtilization) + { + $this->requestUtilization = $requestUtilization; + } + public function getRequestUtilization() + { + return $this->requestUtilization; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Appengine/BasicScaling.php b/vendor/google/apiclient-services/src/Google/Service/Appengine/BasicScaling.php new file mode 100644 index 00000000..98bad2e8 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Appengine/BasicScaling.php @@ -0,0 +1,39 @@ +idleTimeout = $idleTimeout; + } + public function getIdleTimeout() + { + return $this->idleTimeout; + } + public function setMaxInstances($maxInstances) + { + $this->maxInstances = $maxInstances; + } + public function getMaxInstances() + { + return $this->maxInstances; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Appengine/ContainerInfo.php b/vendor/google/apiclient-services/src/Google/Service/Appengine/ContainerInfo.php new file mode 100644 index 00000000..86bb890c --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Appengine/ContainerInfo.php @@ -0,0 +1,30 @@ +image = $image; + } + public function getImage() + { + return $this->image; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Appengine/CpuUtilization.php b/vendor/google/apiclient-services/src/Google/Service/Appengine/CpuUtilization.php new file mode 100644 index 00000000..c8e25137 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Appengine/CpuUtilization.php @@ -0,0 +1,39 @@ +aggregationWindowLength = $aggregationWindowLength; + } + public function getAggregationWindowLength() + { + return $this->aggregationWindowLength; + } + public function setTargetUtilization($targetUtilization) + { + $this->targetUtilization = $targetUtilization; + } + public function getTargetUtilization() + { + return $this->targetUtilization; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Appengine/DebugInstanceRequest.php b/vendor/google/apiclient-services/src/Google/Service/Appengine/DebugInstanceRequest.php new file mode 100644 index 00000000..569bf83a --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Appengine/DebugInstanceRequest.php @@ -0,0 +1,30 @@ +sshKey = $sshKey; + } + public function getSshKey() + { + return $this->sshKey; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Appengine/Deployment.php b/vendor/google/apiclient-services/src/Google/Service/Appengine/Deployment.php new file mode 100644 index 00000000..7f727f16 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Appengine/Deployment.php @@ -0,0 +1,51 @@ +container = $container; + } + public function getContainer() + { + return $this->container; + } + public function setFiles($files) + { + $this->files = $files; + } + public function getFiles() + { + return $this->files; + } + public function setZip(Google_Service_Appengine_ZipInfo $zip) + { + $this->zip = $zip; + } + public function getZip() + { + return $this->zip; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Appengine/DiskUtilization.php b/vendor/google/apiclient-services/src/Google/Service/Appengine/DiskUtilization.php new file mode 100644 index 00000000..fcb82677 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Appengine/DiskUtilization.php @@ -0,0 +1,57 @@ +targetReadBytesPerSecond = $targetReadBytesPerSecond; + } + public function getTargetReadBytesPerSecond() + { + return $this->targetReadBytesPerSecond; + } + public function setTargetReadOpsPerSecond($targetReadOpsPerSecond) + { + $this->targetReadOpsPerSecond = $targetReadOpsPerSecond; + } + public function getTargetReadOpsPerSecond() + { + return $this->targetReadOpsPerSecond; + } + public function setTargetWriteBytesPerSecond($targetWriteBytesPerSecond) + { + $this->targetWriteBytesPerSecond = $targetWriteBytesPerSecond; + } + public function getTargetWriteBytesPerSecond() + { + return $this->targetWriteBytesPerSecond; + } + public function setTargetWriteOpsPerSecond($targetWriteOpsPerSecond) + { + $this->targetWriteOpsPerSecond = $targetWriteOpsPerSecond; + } + public function getTargetWriteOpsPerSecond() + { + return $this->targetWriteOpsPerSecond; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Appengine/EndpointsApiService.php b/vendor/google/apiclient-services/src/Google/Service/Appengine/EndpointsApiService.php new file mode 100644 index 00000000..c14bd3cb --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Appengine/EndpointsApiService.php @@ -0,0 +1,39 @@ +configId = $configId; + } + public function getConfigId() + { + return $this->configId; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Appengine/ErrorHandler.php b/vendor/google/apiclient-services/src/Google/Service/Appengine/ErrorHandler.php new file mode 100644 index 00000000..64e1987f --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Appengine/ErrorHandler.php @@ -0,0 +1,48 @@ +errorCode = $errorCode; + } + public function getErrorCode() + { + return $this->errorCode; + } + public function setMimeType($mimeType) + { + $this->mimeType = $mimeType; + } + public function getMimeType() + { + return $this->mimeType; + } + public function setStaticFile($staticFile) + { + $this->staticFile = $staticFile; + } + public function getStaticFile() + { + return $this->staticFile; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Appengine/FileInfo.php b/vendor/google/apiclient-services/src/Google/Service/Appengine/FileInfo.php new file mode 100644 index 00000000..680afb50 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Appengine/FileInfo.php @@ -0,0 +1,48 @@ +mimeType = $mimeType; + } + public function getMimeType() + { + return $this->mimeType; + } + public function setSha1Sum($sha1Sum) + { + $this->sha1Sum = $sha1Sum; + } + public function getSha1Sum() + { + return $this->sha1Sum; + } + public function setSourceUrl($sourceUrl) + { + $this->sourceUrl = $sourceUrl; + } + public function getSourceUrl() + { + return $this->sourceUrl; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Appengine/HealthCheck.php b/vendor/google/apiclient-services/src/Google/Service/Appengine/HealthCheck.php new file mode 100644 index 00000000..dc87fbaa --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Appengine/HealthCheck.php @@ -0,0 +1,84 @@ +checkInterval = $checkInterval; + } + public function getCheckInterval() + { + return $this->checkInterval; + } + public function setDisableHealthCheck($disableHealthCheck) + { + $this->disableHealthCheck = $disableHealthCheck; + } + public function getDisableHealthCheck() + { + return $this->disableHealthCheck; + } + public function setHealthyThreshold($healthyThreshold) + { + $this->healthyThreshold = $healthyThreshold; + } + public function getHealthyThreshold() + { + return $this->healthyThreshold; + } + public function setHost($host) + { + $this->host = $host; + } + public function getHost() + { + return $this->host; + } + public function setRestartThreshold($restartThreshold) + { + $this->restartThreshold = $restartThreshold; + } + public function getRestartThreshold() + { + return $this->restartThreshold; + } + public function setTimeout($timeout) + { + $this->timeout = $timeout; + } + public function getTimeout() + { + return $this->timeout; + } + public function setUnhealthyThreshold($unhealthyThreshold) + { + $this->unhealthyThreshold = $unhealthyThreshold; + } + public function getUnhealthyThreshold() + { + return $this->unhealthyThreshold; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Appengine/Instance.php b/vendor/google/apiclient-services/src/Google/Service/Appengine/Instance.php new file mode 100644 index 00000000..001d85fa --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Appengine/Instance.php @@ -0,0 +1,165 @@ +appEngineRelease = $appEngineRelease; + } + public function getAppEngineRelease() + { + return $this->appEngineRelease; + } + public function setAvailability($availability) + { + $this->availability = $availability; + } + public function getAvailability() + { + return $this->availability; + } + public function setAverageLatency($averageLatency) + { + $this->averageLatency = $averageLatency; + } + public function getAverageLatency() + { + return $this->averageLatency; + } + public function setErrors($errors) + { + $this->errors = $errors; + } + public function getErrors() + { + return $this->errors; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setMemoryUsage($memoryUsage) + { + $this->memoryUsage = $memoryUsage; + } + public function getMemoryUsage() + { + return $this->memoryUsage; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setQps($qps) + { + $this->qps = $qps; + } + public function getQps() + { + return $this->qps; + } + public function setRequests($requests) + { + $this->requests = $requests; + } + public function getRequests() + { + return $this->requests; + } + public function setStartTime($startTime) + { + $this->startTime = $startTime; + } + public function getStartTime() + { + return $this->startTime; + } + public function setVmDebugEnabled($vmDebugEnabled) + { + $this->vmDebugEnabled = $vmDebugEnabled; + } + public function getVmDebugEnabled() + { + return $this->vmDebugEnabled; + } + public function setVmId($vmId) + { + $this->vmId = $vmId; + } + public function getVmId() + { + return $this->vmId; + } + public function setVmIp($vmIp) + { + $this->vmIp = $vmIp; + } + public function getVmIp() + { + return $this->vmIp; + } + public function setVmName($vmName) + { + $this->vmName = $vmName; + } + public function getVmName() + { + return $this->vmName; + } + public function setVmStatus($vmStatus) + { + $this->vmStatus = $vmStatus; + } + public function getVmStatus() + { + return $this->vmStatus; + } + public function setVmZoneName($vmZoneName) + { + $this->vmZoneName = $vmZoneName; + } + public function getVmZoneName() + { + return $this->vmZoneName; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Appengine/Library.php b/vendor/google/apiclient-services/src/Google/Service/Appengine/Library.php new file mode 100644 index 00000000..c4fb3462 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Appengine/Library.php @@ -0,0 +1,39 @@ +name = $name; + } + public function getName() + { + return $this->name; + } + public function setVersion($version) + { + $this->version = $version; + } + public function getVersion() + { + return $this->version; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Appengine/ListInstancesResponse.php b/vendor/google/apiclient-services/src/Google/Service/Appengine/ListInstancesResponse.php new file mode 100644 index 00000000..37e6212f --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Appengine/ListInstancesResponse.php @@ -0,0 +1,41 @@ +instances = $instances; + } + public function getInstances() + { + return $this->instances; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Appengine/ListLocationsResponse.php b/vendor/google/apiclient-services/src/Google/Service/Appengine/ListLocationsResponse.php new file mode 100644 index 00000000..ecb6bc83 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Appengine/ListLocationsResponse.php @@ -0,0 +1,41 @@ +locations = $locations; + } + public function getLocations() + { + return $this->locations; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Appengine/ListOperationsResponse.php b/vendor/google/apiclient-services/src/Google/Service/Appengine/ListOperationsResponse.php new file mode 100644 index 00000000..a3b2e215 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Appengine/ListOperationsResponse.php @@ -0,0 +1,41 @@ +nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setOperations($operations) + { + $this->operations = $operations; + } + public function getOperations() + { + return $this->operations; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Appengine/ListServicesResponse.php b/vendor/google/apiclient-services/src/Google/Service/Appengine/ListServicesResponse.php new file mode 100644 index 00000000..5d53085e --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Appengine/ListServicesResponse.php @@ -0,0 +1,41 @@ +nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setServices($services) + { + $this->services = $services; + } + public function getServices() + { + return $this->services; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Appengine/ListVersionsResponse.php b/vendor/google/apiclient-services/src/Google/Service/Appengine/ListVersionsResponse.php new file mode 100644 index 00000000..ed8085a6 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Appengine/ListVersionsResponse.php @@ -0,0 +1,41 @@ +nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setVersions($versions) + { + $this->versions = $versions; + } + public function getVersions() + { + return $this->versions; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Appengine/Location.php b/vendor/google/apiclient-services/src/Google/Service/Appengine/Location.php new file mode 100644 index 00000000..f931f221 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Appengine/Location.php @@ -0,0 +1,57 @@ +labels = $labels; + } + public function getLabels() + { + return $this->labels; + } + public function setLocationId($locationId) + { + $this->locationId = $locationId; + } + public function getLocationId() + { + return $this->locationId; + } + public function setMetadata($metadata) + { + $this->metadata = $metadata; + } + public function getMetadata() + { + return $this->metadata; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Appengine/LocationMetadata.php b/vendor/google/apiclient-services/src/Google/Service/Appengine/LocationMetadata.php new file mode 100644 index 00000000..a2e5476b --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Appengine/LocationMetadata.php @@ -0,0 +1,39 @@ +flexibleEnvironmentAvailable = $flexibleEnvironmentAvailable; + } + public function getFlexibleEnvironmentAvailable() + { + return $this->flexibleEnvironmentAvailable; + } + public function setStandardEnvironmentAvailable($standardEnvironmentAvailable) + { + $this->standardEnvironmentAvailable = $standardEnvironmentAvailable; + } + public function getStandardEnvironmentAvailable() + { + return $this->standardEnvironmentAvailable; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Appengine/ManualScaling.php b/vendor/google/apiclient-services/src/Google/Service/Appengine/ManualScaling.php new file mode 100644 index 00000000..dd6547d2 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Appengine/ManualScaling.php @@ -0,0 +1,30 @@ +instances = $instances; + } + public function getInstances() + { + return $this->instances; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Appengine/Network.php b/vendor/google/apiclient-services/src/Google/Service/Appengine/Network.php new file mode 100644 index 00000000..90c9438e --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Appengine/Network.php @@ -0,0 +1,58 @@ +forwardedPorts = $forwardedPorts; + } + public function getForwardedPorts() + { + return $this->forwardedPorts; + } + public function setInstanceTag($instanceTag) + { + $this->instanceTag = $instanceTag; + } + public function getInstanceTag() + { + return $this->instanceTag; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setSubnetworkName($subnetworkName) + { + $this->subnetworkName = $subnetworkName; + } + public function getSubnetworkName() + { + return $this->subnetworkName; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Appengine/NetworkUtilization.php b/vendor/google/apiclient-services/src/Google/Service/Appengine/NetworkUtilization.php new file mode 100644 index 00000000..922285e6 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Appengine/NetworkUtilization.php @@ -0,0 +1,57 @@ +targetReceivedBytesPerSecond = $targetReceivedBytesPerSecond; + } + public function getTargetReceivedBytesPerSecond() + { + return $this->targetReceivedBytesPerSecond; + } + public function setTargetReceivedPacketsPerSecond($targetReceivedPacketsPerSecond) + { + $this->targetReceivedPacketsPerSecond = $targetReceivedPacketsPerSecond; + } + public function getTargetReceivedPacketsPerSecond() + { + return $this->targetReceivedPacketsPerSecond; + } + public function setTargetSentBytesPerSecond($targetSentBytesPerSecond) + { + $this->targetSentBytesPerSecond = $targetSentBytesPerSecond; + } + public function getTargetSentBytesPerSecond() + { + return $this->targetSentBytesPerSecond; + } + public function setTargetSentPacketsPerSecond($targetSentPacketsPerSecond) + { + $this->targetSentPacketsPerSecond = $targetSentPacketsPerSecond; + } + public function getTargetSentPacketsPerSecond() + { + return $this->targetSentPacketsPerSecond; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Appengine/Operation.php b/vendor/google/apiclient-services/src/Google/Service/Appengine/Operation.php new file mode 100644 index 00000000..6a5bd5e7 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Appengine/Operation.php @@ -0,0 +1,67 @@ +done = $done; + } + public function getDone() + { + return $this->done; + } + public function setError(Google_Service_Appengine_Status $error) + { + $this->error = $error; + } + public function getError() + { + return $this->error; + } + public function setMetadata($metadata) + { + $this->metadata = $metadata; + } + public function getMetadata() + { + return $this->metadata; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setResponse($response) + { + $this->response = $response; + } + public function getResponse() + { + return $this->response; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Appengine/OperationMetadata.php b/vendor/google/apiclient-services/src/Google/Service/Appengine/OperationMetadata.php new file mode 100644 index 00000000..b55c4600 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Appengine/OperationMetadata.php @@ -0,0 +1,75 @@ +endTime = $endTime; + } + public function getEndTime() + { + return $this->endTime; + } + public function setInsertTime($insertTime) + { + $this->insertTime = $insertTime; + } + public function getInsertTime() + { + return $this->insertTime; + } + public function setMethod($method) + { + $this->method = $method; + } + public function getMethod() + { + return $this->method; + } + public function setOperationType($operationType) + { + $this->operationType = $operationType; + } + public function getOperationType() + { + return $this->operationType; + } + public function setTarget($target) + { + $this->target = $target; + } + public function getTarget() + { + return $this->target; + } + public function setUser($user) + { + $this->user = $user; + } + public function getUser() + { + return $this->user; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Appengine/OperationMetadataExperimental.php b/vendor/google/apiclient-services/src/Google/Service/Appengine/OperationMetadataExperimental.php new file mode 100644 index 00000000..9d680e4d --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Appengine/OperationMetadataExperimental.php @@ -0,0 +1,66 @@ +endTime = $endTime; + } + public function getEndTime() + { + return $this->endTime; + } + public function setInsertTime($insertTime) + { + $this->insertTime = $insertTime; + } + public function getInsertTime() + { + return $this->insertTime; + } + public function setMethod($method) + { + $this->method = $method; + } + public function getMethod() + { + return $this->method; + } + public function setTarget($target) + { + $this->target = $target; + } + public function getTarget() + { + return $this->target; + } + public function setUser($user) + { + $this->user = $user; + } + public function getUser() + { + return $this->user; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Appengine/OperationMetadataV1.php b/vendor/google/apiclient-services/src/Google/Service/Appengine/OperationMetadataV1.php new file mode 100644 index 00000000..5a256376 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Appengine/OperationMetadataV1.php @@ -0,0 +1,85 @@ +endTime = $endTime; + } + public function getEndTime() + { + return $this->endTime; + } + public function setEphemeralMessage($ephemeralMessage) + { + $this->ephemeralMessage = $ephemeralMessage; + } + public function getEphemeralMessage() + { + return $this->ephemeralMessage; + } + public function setInsertTime($insertTime) + { + $this->insertTime = $insertTime; + } + public function getInsertTime() + { + return $this->insertTime; + } + public function setMethod($method) + { + $this->method = $method; + } + public function getMethod() + { + return $this->method; + } + public function setTarget($target) + { + $this->target = $target; + } + public function getTarget() + { + return $this->target; + } + public function setUser($user) + { + $this->user = $user; + } + public function getUser() + { + return $this->user; + } + public function setWarning($warning) + { + $this->warning = $warning; + } + public function getWarning() + { + return $this->warning; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Appengine/OperationMetadataV1Beta5.php b/vendor/google/apiclient-services/src/Google/Service/Appengine/OperationMetadataV1Beta5.php new file mode 100644 index 00000000..de110bf9 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Appengine/OperationMetadataV1Beta5.php @@ -0,0 +1,66 @@ +endTime = $endTime; + } + public function getEndTime() + { + return $this->endTime; + } + public function setInsertTime($insertTime) + { + $this->insertTime = $insertTime; + } + public function getInsertTime() + { + return $this->insertTime; + } + public function setMethod($method) + { + $this->method = $method; + } + public function getMethod() + { + return $this->method; + } + public function setTarget($target) + { + $this->target = $target; + } + public function getTarget() + { + return $this->target; + } + public function setUser($user) + { + $this->user = $user; + } + public function getUser() + { + return $this->user; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Appengine/RepairApplicationRequest.php b/vendor/google/apiclient-services/src/Google/Service/Appengine/RepairApplicationRequest.php new file mode 100644 index 00000000..4ce8ad39 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Appengine/RepairApplicationRequest.php @@ -0,0 +1,20 @@ +targetConcurrentRequests = $targetConcurrentRequests; + } + public function getTargetConcurrentRequests() + { + return $this->targetConcurrentRequests; + } + public function setTargetRequestCountPerSecond($targetRequestCountPerSecond) + { + $this->targetRequestCountPerSecond = $targetRequestCountPerSecond; + } + public function getTargetRequestCountPerSecond() + { + return $this->targetRequestCountPerSecond; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Appengine/Resource/Apps.php b/vendor/google/apiclient-services/src/Google/Service/Appengine/Resource/Apps.php new file mode 100644 index 00000000..9e379e1b --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Appengine/Resource/Apps.php @@ -0,0 +1,101 @@ + + * $appengineService = new Google_Service_Appengine(...); + * $apps = $appengineService->apps; + * + */ +class Google_Service_Appengine_Resource_Apps extends Google_Service_Resource +{ + /** + * Creates an App Engine application for a Google Cloud Platform project. This + * requires a project that excludes an App Engine application. For details about + * creating a project without an application, see the Google Cloud Resource + * Manager create project topic (https://cloud.google.com/resource-manager/docs + * /creating-project). (apps.create) + * + * @param Google_Service_Appengine_Application $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Appengine_Operation + */ + public function create(Google_Service_Appengine_Application $postBody, $optParams = array()) + { + $params = array('postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('create', array($params), "Google_Service_Appengine_Operation"); + } + /** + * Gets information about an application. (apps.get) + * + * @param string $appsId Part of `name`. Name of the Application resource to + * get. Example: apps/myapp. + * @param array $optParams Optional parameters. + * @return Google_Service_Appengine_Application + */ + public function get($appsId, $optParams = array()) + { + $params = array('appsId' => $appsId); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Appengine_Application"); + } + /** + * Updates the specified Application resource. You can update the following + * fields: auth_domain (https://cloud.google.com/appengine/docs/admin- + * api/reference/rest/v1/apps#Application.FIELDS.auth_domain) + * default_cookie_expiration (https://cloud.google.com/appengine/docs/admin- + * api/reference/rest/v1/apps#Application.FIELDS.default_cookie_expiration) + * (apps.patch) + * + * @param string $appsId Part of `name`. Name of the Application resource to + * update. Example: apps/myapp. + * @param Google_Service_Appengine_Application $postBody + * @param array $optParams Optional parameters. + * + * @opt_param string updateMask Standard field mask for the set of fields to be + * updated. + * @return Google_Service_Appengine_Operation + */ + public function patch($appsId, Google_Service_Appengine_Application $postBody, $optParams = array()) + { + $params = array('appsId' => $appsId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('patch', array($params), "Google_Service_Appengine_Operation"); + } + /** + * Recreates the required App Engine features for the specified App Engine + * application, for example a Cloud Storage bucket or App Engine service + * account. Use this method if you receive an error message about a missing + * feature, for example, Error retrieving the App Engine service account. + * (apps.repair) + * + * @param string $appsId Part of `name`. Name of the application to repair. + * Example: apps/myapp + * @param Google_Service_Appengine_RepairApplicationRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Appengine_Operation + */ + public function repair($appsId, Google_Service_Appengine_RepairApplicationRequest $postBody, $optParams = array()) + { + $params = array('appsId' => $appsId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('repair', array($params), "Google_Service_Appengine_Operation"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Appengine/Resource/AppsLocations.php b/vendor/google/apiclient-services/src/Google/Service/Appengine/Resource/AppsLocations.php new file mode 100644 index 00000000..d9d27b8e --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Appengine/Resource/AppsLocations.php @@ -0,0 +1,61 @@ + + * $appengineService = new Google_Service_Appengine(...); + * $locations = $appengineService->locations; + * + */ +class Google_Service_Appengine_Resource_AppsLocations extends Google_Service_Resource +{ + /** + * Get information about a location. (locations.get) + * + * @param string $appsId Part of `name`. Resource name for the location. + * @param string $locationsId Part of `name`. See documentation of `appsId`. + * @param array $optParams Optional parameters. + * @return Google_Service_Appengine_Location + */ + public function get($appsId, $locationsId, $optParams = array()) + { + $params = array('appsId' => $appsId, 'locationsId' => $locationsId); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Appengine_Location"); + } + /** + * Lists information about the supported locations for this service. + * (locations.listAppsLocations) + * + * @param string $appsId Part of `name`. The resource that owns the locations + * collection, if applicable. + * @param array $optParams Optional parameters. + * + * @opt_param string filter The standard list filter. + * @opt_param int pageSize The standard list page size. + * @opt_param string pageToken The standard list page token. + * @return Google_Service_Appengine_ListLocationsResponse + */ + public function listAppsLocations($appsId, $optParams = array()) + { + $params = array('appsId' => $appsId); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Appengine_ListLocationsResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Appengine/Resource/AppsOperations.php b/vendor/google/apiclient-services/src/Google/Service/Appengine/Resource/AppsOperations.php new file mode 100644 index 00000000..5b0c6333 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Appengine/Resource/AppsOperations.php @@ -0,0 +1,65 @@ + + * $appengineService = new Google_Service_Appengine(...); + * $operations = $appengineService->operations; + * + */ +class Google_Service_Appengine_Resource_AppsOperations extends Google_Service_Resource +{ + /** + * Gets the latest state of a long-running operation. Clients can use this + * method to poll the operation result at intervals as recommended by the API + * service. (operations.get) + * + * @param string $appsId Part of `name`. The name of the operation resource. + * @param string $operationsId Part of `name`. See documentation of `appsId`. + * @param array $optParams Optional parameters. + * @return Google_Service_Appengine_Operation + */ + public function get($appsId, $operationsId, $optParams = array()) + { + $params = array('appsId' => $appsId, 'operationsId' => $operationsId); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Appengine_Operation"); + } + /** + * Lists operations that match the specified filter in the request. If the + * server doesn't support this method, it returns UNIMPLEMENTED.NOTE: the name + * binding below allows API services to override the binding to use different + * resource name schemes, such as users/operations. + * (operations.listAppsOperations) + * + * @param string $appsId Part of `name`. The name of the operation collection. + * @param array $optParams Optional parameters. + * + * @opt_param string filter The standard list filter. + * @opt_param int pageSize The standard list page size. + * @opt_param string pageToken The standard list page token. + * @return Google_Service_Appengine_ListOperationsResponse + */ + public function listAppsOperations($appsId, $optParams = array()) + { + $params = array('appsId' => $appsId); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Appengine_ListOperationsResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Appengine/Resource/AppsServices.php b/vendor/google/apiclient-services/src/Google/Service/Appengine/Resource/AppsServices.php new file mode 100644 index 00000000..77095a8a --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Appengine/Resource/AppsServices.php @@ -0,0 +1,109 @@ + + * $appengineService = new Google_Service_Appengine(...); + * $services = $appengineService->services; + * + */ +class Google_Service_Appengine_Resource_AppsServices extends Google_Service_Resource +{ + /** + * Deletes the specified service and all enclosed versions. (services.delete) + * + * @param string $appsId Part of `name`. Name of the resource requested. + * Example: apps/myapp/services/default. + * @param string $servicesId Part of `name`. See documentation of `appsId`. + * @param array $optParams Optional parameters. + * @return Google_Service_Appengine_Operation + */ + public function delete($appsId, $servicesId, $optParams = array()) + { + $params = array('appsId' => $appsId, 'servicesId' => $servicesId); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params), "Google_Service_Appengine_Operation"); + } + /** + * Gets the current configuration of the specified service. (services.get) + * + * @param string $appsId Part of `name`. Name of the resource requested. + * Example: apps/myapp/services/default. + * @param string $servicesId Part of `name`. See documentation of `appsId`. + * @param array $optParams Optional parameters. + * @return Google_Service_Appengine_Service + */ + public function get($appsId, $servicesId, $optParams = array()) + { + $params = array('appsId' => $appsId, 'servicesId' => $servicesId); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Appengine_Service"); + } + /** + * Lists all the services in the application. (services.listAppsServices) + * + * @param string $appsId Part of `parent`. Name of the parent Application + * resource. Example: apps/myapp. + * @param array $optParams Optional parameters. + * + * @opt_param int pageSize Maximum results to return per page. + * @opt_param string pageToken Continuation token for fetching the next page of + * results. + * @return Google_Service_Appengine_ListServicesResponse + */ + public function listAppsServices($appsId, $optParams = array()) + { + $params = array('appsId' => $appsId); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Appengine_ListServicesResponse"); + } + /** + * Updates the configuration of the specified service. (services.patch) + * + * @param string $appsId Part of `name`. Name of the resource to update. + * Example: apps/myapp/services/default. + * @param string $servicesId Part of `name`. See documentation of `appsId`. + * @param Google_Service_Appengine_Service $postBody + * @param array $optParams Optional parameters. + * + * @opt_param string updateMask Standard field mask for the set of fields to be + * updated. + * @opt_param bool migrateTraffic Set to true to gradually shift traffic from + * one version to another single version. By default, traffic is shifted + * immediately. For gradual traffic migration, the target version must be + * located within instances that are configured for both warmup requests + * (https://cloud.google.com/appengine/docs/admin- + * api/reference/rest/v1/apps.services.versions#inboundservicetype) and + * automatic scaling (https://cloud.google.com/appengine/docs/admin- + * api/reference/rest/v1/apps.services.versions#automaticscaling). You must + * specify the shardBy (https://cloud.google.com/appengine/docs/admin- + * api/reference/rest/v1/apps.services#shardby) field in the Service resource. + * Gradual traffic migration is not supported in the App Engine flexible + * environment. For examples, see Migrating and Splitting Traffic + * (https://cloud.google.com/appengine/docs/admin-api/migrating-splitting- + * traffic). + * @return Google_Service_Appengine_Operation + */ + public function patch($appsId, $servicesId, Google_Service_Appengine_Service $postBody, $optParams = array()) + { + $params = array('appsId' => $appsId, 'servicesId' => $servicesId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('patch', array($params), "Google_Service_Appengine_Operation"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Appengine/Resource/AppsServicesVersions.php b/vendor/google/apiclient-services/src/Google/Service/Appengine/Resource/AppsServicesVersions.php new file mode 100644 index 00000000..3c1eb114 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Appengine/Resource/AppsServicesVersions.php @@ -0,0 +1,138 @@ + + * $appengineService = new Google_Service_Appengine(...); + * $versions = $appengineService->versions; + * + */ +class Google_Service_Appengine_Resource_AppsServicesVersions extends Google_Service_Resource +{ + /** + * Deploys code and resource files to a new version. (versions.create) + * + * @param string $appsId Part of `parent`. Name of the parent resource to create + * this version under. Example: apps/myapp/services/default. + * @param string $servicesId Part of `parent`. See documentation of `appsId`. + * @param Google_Service_Appengine_Version $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Appengine_Operation + */ + public function create($appsId, $servicesId, Google_Service_Appengine_Version $postBody, $optParams = array()) + { + $params = array('appsId' => $appsId, 'servicesId' => $servicesId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('create', array($params), "Google_Service_Appengine_Operation"); + } + /** + * Deletes an existing Version resource. (versions.delete) + * + * @param string $appsId Part of `name`. Name of the resource requested. + * Example: apps/myapp/services/default/versions/v1. + * @param string $servicesId Part of `name`. See documentation of `appsId`. + * @param string $versionsId Part of `name`. See documentation of `appsId`. + * @param array $optParams Optional parameters. + * @return Google_Service_Appengine_Operation + */ + public function delete($appsId, $servicesId, $versionsId, $optParams = array()) + { + $params = array('appsId' => $appsId, 'servicesId' => $servicesId, 'versionsId' => $versionsId); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params), "Google_Service_Appengine_Operation"); + } + /** + * Gets the specified Version resource. By default, only a BASIC_VIEW will be + * returned. Specify the FULL_VIEW parameter to get the full resource. + * (versions.get) + * + * @param string $appsId Part of `name`. Name of the resource requested. + * Example: apps/myapp/services/default/versions/v1. + * @param string $servicesId Part of `name`. See documentation of `appsId`. + * @param string $versionsId Part of `name`. See documentation of `appsId`. + * @param array $optParams Optional parameters. + * + * @opt_param string view Controls the set of fields returned in the Get + * response. + * @return Google_Service_Appengine_Version + */ + public function get($appsId, $servicesId, $versionsId, $optParams = array()) + { + $params = array('appsId' => $appsId, 'servicesId' => $servicesId, 'versionsId' => $versionsId); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Appengine_Version"); + } + /** + * Lists the versions of a service. (versions.listAppsServicesVersions) + * + * @param string $appsId Part of `parent`. Name of the parent Service resource. + * Example: apps/myapp/services/default. + * @param string $servicesId Part of `parent`. See documentation of `appsId`. + * @param array $optParams Optional parameters. + * + * @opt_param string view Controls the set of fields returned in the List + * response. + * @opt_param int pageSize Maximum results to return per page. + * @opt_param string pageToken Continuation token for fetching the next page of + * results. + * @return Google_Service_Appengine_ListVersionsResponse + */ + public function listAppsServicesVersions($appsId, $servicesId, $optParams = array()) + { + $params = array('appsId' => $appsId, 'servicesId' => $servicesId); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Appengine_ListVersionsResponse"); + } + /** + * Updates the specified Version resource. You can specify the following fields + * depending on the App Engine environment and type of scaling that the version + * resource uses: serving_status (https://cloud.google.com/appengine/docs/admin- + * api/reference/rest/v1/apps.services.versions#Version.FIELDS.serving_status): + * For Version resources that use basic scaling, manual scaling, or run in the + * App Engine flexible environment. instance_class + * (https://cloud.google.com/appengine/docs/admin- + * api/reference/rest/v1/apps.services.versions#Version.FIELDS.instance_class): + * For Version resources that run in the App Engine standard environment. + * automatic_scaling.min_idle_instances (https://cloud.google.com/appengine/docs + * /admin-api/reference/rest/v1/apps.services.versions#Version.FIELDS.automatic_ + * scaling): For Version resources that use automatic scaling and run in the App + * Engine standard environment. automatic_scaling.max_idle_instances + * (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.ser + * vices.versions#Version.FIELDS.automatic_scaling): For Version resources that + * use automatic scaling and run in the App Engine standard environment. + * (versions.patch) + * + * @param string $appsId Part of `name`. Name of the resource to update. + * Example: apps/myapp/services/default/versions/1. + * @param string $servicesId Part of `name`. See documentation of `appsId`. + * @param string $versionsId Part of `name`. See documentation of `appsId`. + * @param Google_Service_Appengine_Version $postBody + * @param array $optParams Optional parameters. + * + * @opt_param string updateMask Standard field mask for the set of fields to be + * updated. + * @return Google_Service_Appengine_Operation + */ + public function patch($appsId, $servicesId, $versionsId, Google_Service_Appengine_Version $postBody, $optParams = array()) + { + $params = array('appsId' => $appsId, 'servicesId' => $servicesId, 'versionsId' => $versionsId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('patch', array($params), "Google_Service_Appengine_Operation"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Appengine/Resource/AppsServicesVersionsInstances.php b/vendor/google/apiclient-services/src/Google/Service/Appengine/Resource/AppsServicesVersionsInstances.php new file mode 100644 index 00000000..a1e8c24f --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Appengine/Resource/AppsServicesVersionsInstances.php @@ -0,0 +1,106 @@ + + * $appengineService = new Google_Service_Appengine(...); + * $instances = $appengineService->instances; + * + */ +class Google_Service_Appengine_Resource_AppsServicesVersionsInstances extends Google_Service_Resource +{ + /** + * Enables debugging on a VM instance. This allows you to use the SSH command to + * connect to the virtual machine where the instance lives. While in "debug + * mode", the instance continues to serve live traffic. You should delete the + * instance when you are done debugging and then allow the system to take over + * and determine if another instance should be started.Only applicable for + * instances in App Engine flexible environment. (instances.debug) + * + * @param string $appsId Part of `name`. Name of the resource requested. + * Example: apps/myapp/services/default/versions/v1/instances/instance-1. + * @param string $servicesId Part of `name`. See documentation of `appsId`. + * @param string $versionsId Part of `name`. See documentation of `appsId`. + * @param string $instancesId Part of `name`. See documentation of `appsId`. + * @param Google_Service_Appengine_DebugInstanceRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Appengine_Operation + */ + public function debug($appsId, $servicesId, $versionsId, $instancesId, Google_Service_Appengine_DebugInstanceRequest $postBody, $optParams = array()) + { + $params = array('appsId' => $appsId, 'servicesId' => $servicesId, 'versionsId' => $versionsId, 'instancesId' => $instancesId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('debug', array($params), "Google_Service_Appengine_Operation"); + } + /** + * Stops a running instance. (instances.delete) + * + * @param string $appsId Part of `name`. Name of the resource requested. + * Example: apps/myapp/services/default/versions/v1/instances/instance-1. + * @param string $servicesId Part of `name`. See documentation of `appsId`. + * @param string $versionsId Part of `name`. See documentation of `appsId`. + * @param string $instancesId Part of `name`. See documentation of `appsId`. + * @param array $optParams Optional parameters. + * @return Google_Service_Appengine_Operation + */ + public function delete($appsId, $servicesId, $versionsId, $instancesId, $optParams = array()) + { + $params = array('appsId' => $appsId, 'servicesId' => $servicesId, 'versionsId' => $versionsId, 'instancesId' => $instancesId); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params), "Google_Service_Appengine_Operation"); + } + /** + * Gets instance information. (instances.get) + * + * @param string $appsId Part of `name`. Name of the resource requested. + * Example: apps/myapp/services/default/versions/v1/instances/instance-1. + * @param string $servicesId Part of `name`. See documentation of `appsId`. + * @param string $versionsId Part of `name`. See documentation of `appsId`. + * @param string $instancesId Part of `name`. See documentation of `appsId`. + * @param array $optParams Optional parameters. + * @return Google_Service_Appengine_Instance + */ + public function get($appsId, $servicesId, $versionsId, $instancesId, $optParams = array()) + { + $params = array('appsId' => $appsId, 'servicesId' => $servicesId, 'versionsId' => $versionsId, 'instancesId' => $instancesId); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Appengine_Instance"); + } + /** + * Lists the instances of a version. + * (instances.listAppsServicesVersionsInstances) + * + * @param string $appsId Part of `parent`. Name of the parent Version resource. + * Example: apps/myapp/services/default/versions/v1. + * @param string $servicesId Part of `parent`. See documentation of `appsId`. + * @param string $versionsId Part of `parent`. See documentation of `appsId`. + * @param array $optParams Optional parameters. + * + * @opt_param int pageSize Maximum results to return per page. + * @opt_param string pageToken Continuation token for fetching the next page of + * results. + * @return Google_Service_Appengine_ListInstancesResponse + */ + public function listAppsServicesVersionsInstances($appsId, $servicesId, $versionsId, $optParams = array()) + { + $params = array('appsId' => $appsId, 'servicesId' => $servicesId, 'versionsId' => $versionsId); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Appengine_ListInstancesResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Appengine/Resource/Experimental.php b/vendor/google/apiclient-services/src/Google/Service/Appengine/Resource/Experimental.php new file mode 100644 index 00000000..4ac8bd4d --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Appengine/Resource/Experimental.php @@ -0,0 +1,28 @@ + + * $appengineService = new Google_Service_Appengine(...); + * $experimental = $appengineService->experimental; + * + */ +class Google_Service_Appengine_Resource_Experimental extends Google_Service_Resource +{ +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Appengine/Resource/ExperimentalApps.php b/vendor/google/apiclient-services/src/Google/Service/Appengine/Resource/ExperimentalApps.php new file mode 100644 index 00000000..99fc1a4a --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Appengine/Resource/ExperimentalApps.php @@ -0,0 +1,28 @@ + + * $appengineService = new Google_Service_Appengine(...); + * $apps = $appengineService->apps; + * + */ +class Google_Service_Appengine_Resource_ExperimentalApps extends Google_Service_Resource +{ +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Appengine/Resource/ExperimentalAppsOperations.php b/vendor/google/apiclient-services/src/Google/Service/Appengine/Resource/ExperimentalAppsOperations.php new file mode 100644 index 00000000..802c1dab --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Appengine/Resource/ExperimentalAppsOperations.php @@ -0,0 +1,65 @@ + + * $appengineService = new Google_Service_Appengine(...); + * $operations = $appengineService->operations; + * + */ +class Google_Service_Appengine_Resource_ExperimentalAppsOperations extends Google_Service_Resource +{ + /** + * Gets the latest state of a long-running operation. Clients can use this + * method to poll the operation result at intervals as recommended by the API + * service. (operations.get) + * + * @param string $appsId Part of `name`. The name of the operation resource. + * @param string $operationsId Part of `name`. See documentation of `appsId`. + * @param array $optParams Optional parameters. + * @return Google_Service_Appengine_Operation + */ + public function get($appsId, $operationsId, $optParams = array()) + { + $params = array('appsId' => $appsId, 'operationsId' => $operationsId); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Appengine_Operation"); + } + /** + * Lists operations that match the specified filter in the request. If the + * server doesn't support this method, it returns `UNIMPLEMENTED`. NOTE: the + * `name` binding below allows API services to override the binding to use + * different resource name schemes, such as `users/operations`. + * (operations.listExperimentalAppsOperations) + * + * @param string $appsId Part of `name`. The name of the operation collection. + * @param array $optParams Optional parameters. + * + * @opt_param string filter The standard list filter. + * @opt_param int pageSize The standard list page size. + * @opt_param string pageToken The standard list page token. + * @return Google_Service_Appengine_ListOperationsResponse + */ + public function listExperimentalAppsOperations($appsId, $optParams = array()) + { + $params = array('appsId' => $appsId); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Appengine_ListOperationsResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Appengine/Resources.php b/vendor/google/apiclient-services/src/Google/Service/Appengine/Resources.php new file mode 100644 index 00000000..39819350 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Appengine/Resources.php @@ -0,0 +1,59 @@ +cpu = $cpu; + } + public function getCpu() + { + return $this->cpu; + } + public function setDiskGb($diskGb) + { + $this->diskGb = $diskGb; + } + public function getDiskGb() + { + return $this->diskGb; + } + public function setMemoryGb($memoryGb) + { + $this->memoryGb = $memoryGb; + } + public function getMemoryGb() + { + return $this->memoryGb; + } + public function setVolumes($volumes) + { + $this->volumes = $volumes; + } + public function getVolumes() + { + return $this->volumes; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Appengine/ScriptHandler.php b/vendor/google/apiclient-services/src/Google/Service/Appengine/ScriptHandler.php new file mode 100644 index 00000000..cf7902d5 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Appengine/ScriptHandler.php @@ -0,0 +1,30 @@ +scriptPath = $scriptPath; + } + public function getScriptPath() + { + return $this->scriptPath; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Appengine/Service.php b/vendor/google/apiclient-services/src/Google/Service/Appengine/Service.php new file mode 100644 index 00000000..e6321b33 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Appengine/Service.php @@ -0,0 +1,49 @@ +id = $id; + } + public function getId() + { + return $this->id; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setSplit(Google_Service_Appengine_TrafficSplit $split) + { + $this->split = $split; + } + public function getSplit() + { + return $this->split; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Appengine/SourceReference.php b/vendor/google/apiclient-services/src/Google/Service/Appengine/SourceReference.php new file mode 100644 index 00000000..fadc6039 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Appengine/SourceReference.php @@ -0,0 +1,39 @@ +repository = $repository; + } + public function getRepository() + { + return $this->repository; + } + public function setRevisionId($revisionId) + { + $this->revisionId = $revisionId; + } + public function getRevisionId() + { + return $this->revisionId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Appengine/StaticFilesHandler.php b/vendor/google/apiclient-services/src/Google/Service/Appengine/StaticFilesHandler.php new file mode 100644 index 00000000..5a51584b --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Appengine/StaticFilesHandler.php @@ -0,0 +1,84 @@ +applicationReadable = $applicationReadable; + } + public function getApplicationReadable() + { + return $this->applicationReadable; + } + public function setExpiration($expiration) + { + $this->expiration = $expiration; + } + public function getExpiration() + { + return $this->expiration; + } + public function setHttpHeaders($httpHeaders) + { + $this->httpHeaders = $httpHeaders; + } + public function getHttpHeaders() + { + return $this->httpHeaders; + } + public function setMimeType($mimeType) + { + $this->mimeType = $mimeType; + } + public function getMimeType() + { + return $this->mimeType; + } + public function setPath($path) + { + $this->path = $path; + } + public function getPath() + { + return $this->path; + } + public function setRequireMatchingFile($requireMatchingFile) + { + $this->requireMatchingFile = $requireMatchingFile; + } + public function getRequireMatchingFile() + { + return $this->requireMatchingFile; + } + public function setUploadPathRegex($uploadPathRegex) + { + $this->uploadPathRegex = $uploadPathRegex; + } + public function getUploadPathRegex() + { + return $this->uploadPathRegex; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Appengine/Status.php b/vendor/google/apiclient-services/src/Google/Service/Appengine/Status.php new file mode 100644 index 00000000..d80b5b19 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Appengine/Status.php @@ -0,0 +1,49 @@ +code = $code; + } + public function getCode() + { + return $this->code; + } + public function setDetails($details) + { + $this->details = $details; + } + public function getDetails() + { + return $this->details; + } + public function setMessage($message) + { + $this->message = $message; + } + public function getMessage() + { + return $this->message; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Appengine/TrafficSplit.php b/vendor/google/apiclient-services/src/Google/Service/Appengine/TrafficSplit.php new file mode 100644 index 00000000..055d4d3f --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Appengine/TrafficSplit.php @@ -0,0 +1,39 @@ +allocations = $allocations; + } + public function getAllocations() + { + return $this->allocations; + } + public function setShardBy($shardBy) + { + $this->shardBy = $shardBy; + } + public function getShardBy() + { + return $this->shardBy; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Appengine/UrlDispatchRule.php b/vendor/google/apiclient-services/src/Google/Service/Appengine/UrlDispatchRule.php new file mode 100644 index 00000000..dd889ecc --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Appengine/UrlDispatchRule.php @@ -0,0 +1,48 @@ +domain = $domain; + } + public function getDomain() + { + return $this->domain; + } + public function setPath($path) + { + $this->path = $path; + } + public function getPath() + { + return $this->path; + } + public function setService($service) + { + $this->service = $service; + } + public function getService() + { + return $this->service; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Appengine/UrlMap.php b/vendor/google/apiclient-services/src/Google/Service/Appengine/UrlMap.php new file mode 100644 index 00000000..01ddd838 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Appengine/UrlMap.php @@ -0,0 +1,96 @@ +apiEndpoint = $apiEndpoint; + } + public function getApiEndpoint() + { + return $this->apiEndpoint; + } + public function setAuthFailAction($authFailAction) + { + $this->authFailAction = $authFailAction; + } + public function getAuthFailAction() + { + return $this->authFailAction; + } + public function setLogin($login) + { + $this->login = $login; + } + public function getLogin() + { + return $this->login; + } + public function setRedirectHttpResponseCode($redirectHttpResponseCode) + { + $this->redirectHttpResponseCode = $redirectHttpResponseCode; + } + public function getRedirectHttpResponseCode() + { + return $this->redirectHttpResponseCode; + } + public function setScript(Google_Service_Appengine_ScriptHandler $script) + { + $this->script = $script; + } + public function getScript() + { + return $this->script; + } + public function setSecurityLevel($securityLevel) + { + $this->securityLevel = $securityLevel; + } + public function getSecurityLevel() + { + return $this->securityLevel; + } + public function setStaticFiles(Google_Service_Appengine_StaticFilesHandler $staticFiles) + { + $this->staticFiles = $staticFiles; + } + public function getStaticFiles() + { + return $this->staticFiles; + } + public function setUrlRegex($urlRegex) + { + $this->urlRegex = $urlRegex; + } + public function getUrlRegex() + { + return $this->urlRegex; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Appengine/Version.php b/vendor/google/apiclient-services/src/Google/Service/Appengine/Version.php new file mode 100644 index 00000000..32d603ad --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Appengine/Version.php @@ -0,0 +1,295 @@ +apiConfig = $apiConfig; + } + public function getApiConfig() + { + return $this->apiConfig; + } + public function setAutomaticScaling(Google_Service_Appengine_AutomaticScaling $automaticScaling) + { + $this->automaticScaling = $automaticScaling; + } + public function getAutomaticScaling() + { + return $this->automaticScaling; + } + public function setBasicScaling(Google_Service_Appengine_BasicScaling $basicScaling) + { + $this->basicScaling = $basicScaling; + } + public function getBasicScaling() + { + return $this->basicScaling; + } + public function setBetaSettings($betaSettings) + { + $this->betaSettings = $betaSettings; + } + public function getBetaSettings() + { + return $this->betaSettings; + } + public function setCreateTime($createTime) + { + $this->createTime = $createTime; + } + public function getCreateTime() + { + return $this->createTime; + } + public function setCreatedBy($createdBy) + { + $this->createdBy = $createdBy; + } + public function getCreatedBy() + { + return $this->createdBy; + } + public function setDefaultExpiration($defaultExpiration) + { + $this->defaultExpiration = $defaultExpiration; + } + public function getDefaultExpiration() + { + return $this->defaultExpiration; + } + public function setDeployment(Google_Service_Appengine_Deployment $deployment) + { + $this->deployment = $deployment; + } + public function getDeployment() + { + return $this->deployment; + } + public function setDiskUsageBytes($diskUsageBytes) + { + $this->diskUsageBytes = $diskUsageBytes; + } + public function getDiskUsageBytes() + { + return $this->diskUsageBytes; + } + public function setEndpointsApiService(Google_Service_Appengine_EndpointsApiService $endpointsApiService) + { + $this->endpointsApiService = $endpointsApiService; + } + public function getEndpointsApiService() + { + return $this->endpointsApiService; + } + public function setEnv($env) + { + $this->env = $env; + } + public function getEnv() + { + return $this->env; + } + public function setEnvVariables($envVariables) + { + $this->envVariables = $envVariables; + } + public function getEnvVariables() + { + return $this->envVariables; + } + public function setErrorHandlers($errorHandlers) + { + $this->errorHandlers = $errorHandlers; + } + public function getErrorHandlers() + { + return $this->errorHandlers; + } + public function setHandlers($handlers) + { + $this->handlers = $handlers; + } + public function getHandlers() + { + return $this->handlers; + } + public function setHealthCheck(Google_Service_Appengine_HealthCheck $healthCheck) + { + $this->healthCheck = $healthCheck; + } + public function getHealthCheck() + { + return $this->healthCheck; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setInboundServices($inboundServices) + { + $this->inboundServices = $inboundServices; + } + public function getInboundServices() + { + return $this->inboundServices; + } + public function setInstanceClass($instanceClass) + { + $this->instanceClass = $instanceClass; + } + public function getInstanceClass() + { + return $this->instanceClass; + } + public function setLibraries($libraries) + { + $this->libraries = $libraries; + } + public function getLibraries() + { + return $this->libraries; + } + public function setManualScaling(Google_Service_Appengine_ManualScaling $manualScaling) + { + $this->manualScaling = $manualScaling; + } + public function getManualScaling() + { + return $this->manualScaling; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setNetwork(Google_Service_Appengine_Network $network) + { + $this->network = $network; + } + public function getNetwork() + { + return $this->network; + } + public function setNobuildFilesRegex($nobuildFilesRegex) + { + $this->nobuildFilesRegex = $nobuildFilesRegex; + } + public function getNobuildFilesRegex() + { + return $this->nobuildFilesRegex; + } + public function setResources(Google_Service_Appengine_Resources $resources) + { + $this->resources = $resources; + } + public function getResources() + { + return $this->resources; + } + public function setRuntime($runtime) + { + $this->runtime = $runtime; + } + public function getRuntime() + { + return $this->runtime; + } + public function setServingStatus($servingStatus) + { + $this->servingStatus = $servingStatus; + } + public function getServingStatus() + { + return $this->servingStatus; + } + public function setThreadsafe($threadsafe) + { + $this->threadsafe = $threadsafe; + } + public function getThreadsafe() + { + return $this->threadsafe; + } + public function setVersionUrl($versionUrl) + { + $this->versionUrl = $versionUrl; + } + public function getVersionUrl() + { + return $this->versionUrl; + } + public function setVm($vm) + { + $this->vm = $vm; + } + public function getVm() + { + return $this->vm; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Appengine/Volume.php b/vendor/google/apiclient-services/src/Google/Service/Appengine/Volume.php new file mode 100644 index 00000000..bc491dd7 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Appengine/Volume.php @@ -0,0 +1,48 @@ +name = $name; + } + public function getName() + { + return $this->name; + } + public function setSizeGb($sizeGb) + { + $this->sizeGb = $sizeGb; + } + public function getSizeGb() + { + return $this->sizeGb; + } + public function setVolumeType($volumeType) + { + $this->volumeType = $volumeType; + } + public function getVolumeType() + { + return $this->volumeType; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Appengine/ZipInfo.php b/vendor/google/apiclient-services/src/Google/Service/Appengine/ZipInfo.php new file mode 100644 index 00000000..f2c6cc31 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Appengine/ZipInfo.php @@ -0,0 +1,39 @@ +filesCount = $filesCount; + } + public function getFilesCount() + { + return $this->filesCount; + } + public function setSourceUrl($sourceUrl) + { + $this->sourceUrl = $sourceUrl; + } + public function getSourceUrl() + { + return $this->sourceUrl; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Appsactivity.php b/vendor/google/apiclient-services/src/Google/Service/Appsactivity.php new file mode 100644 index 00000000..95cb3065 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Appsactivity.php @@ -0,0 +1,108 @@ + + * Provides a historical view of activity.

+ * + *

+ * For more information about this service, see the API + * Documentation + *

+ * + * @author Google, Inc. + */ +class Google_Service_Appsactivity extends Google_Service +{ + /** View the activity history of your Google apps. */ + const ACTIVITY = + "https://www.googleapis.com/auth/activity"; + /** View and manage the files in your Google Drive. */ + const DRIVE = + "https://www.googleapis.com/auth/drive"; + /** View and manage metadata of files in your Google Drive. */ + const DRIVE_METADATA = + "https://www.googleapis.com/auth/drive.metadata"; + /** View metadata for files in your Google Drive. */ + const DRIVE_METADATA_READONLY = + "https://www.googleapis.com/auth/drive.metadata.readonly"; + /** View the files in your Google Drive. */ + const DRIVE_READONLY = + "https://www.googleapis.com/auth/drive.readonly"; + + public $activities; + + /** + * Constructs the internal representation of the Appsactivity service. + * + * @param Google_Client $client + */ + public function __construct(Google_Client $client) + { + parent::__construct($client); + $this->rootUrl = 'https://www.googleapis.com/'; + $this->servicePath = 'appsactivity/v1/'; + $this->version = 'v1'; + $this->serviceName = 'appsactivity'; + + $this->activities = new Google_Service_Appsactivity_Resource_Activities( + $this, + $this->serviceName, + 'activities', + array( + 'methods' => array( + 'list' => array( + 'path' => 'activities', + 'httpMethod' => 'GET', + 'parameters' => array( + 'drive.ancestorId' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'drive.fileId' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'groupingStrategy' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pageSize' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'source' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'userId' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Appsactivity/Activity.php b/vendor/google/apiclient-services/src/Google/Service/Appsactivity/Activity.php new file mode 100644 index 00000000..0e854bde --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Appsactivity/Activity.php @@ -0,0 +1,42 @@ +combinedEvent = $combinedEvent; + } + public function getCombinedEvent() + { + return $this->combinedEvent; + } + public function setSingleEvents($singleEvents) + { + $this->singleEvents = $singleEvents; + } + public function getSingleEvents() + { + return $this->singleEvents; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Appsactivity/AppsactivityParent.php b/vendor/google/apiclient-services/src/Google/Service/Appsactivity/AppsactivityParent.php new file mode 100644 index 00000000..25564618 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Appsactivity/AppsactivityParent.php @@ -0,0 +1,48 @@ +id = $id; + } + public function getId() + { + return $this->id; + } + public function setIsRoot($isRoot) + { + $this->isRoot = $isRoot; + } + public function getIsRoot() + { + return $this->isRoot; + } + public function setTitle($title) + { + $this->title = $title; + } + public function getTitle() + { + return $this->title; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Appsactivity/Event.php b/vendor/google/apiclient-services/src/Google/Service/Appsactivity/Event.php new file mode 100644 index 00000000..26a99881 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Appsactivity/Event.php @@ -0,0 +1,108 @@ +additionalEventTypes = $additionalEventTypes; + } + public function getAdditionalEventTypes() + { + return $this->additionalEventTypes; + } + public function setEventTimeMillis($eventTimeMillis) + { + $this->eventTimeMillis = $eventTimeMillis; + } + public function getEventTimeMillis() + { + return $this->eventTimeMillis; + } + public function setFromUserDeletion($fromUserDeletion) + { + $this->fromUserDeletion = $fromUserDeletion; + } + public function getFromUserDeletion() + { + return $this->fromUserDeletion; + } + public function setMove(Google_Service_Appsactivity_Move $move) + { + $this->move = $move; + } + public function getMove() + { + return $this->move; + } + public function setPermissionChanges($permissionChanges) + { + $this->permissionChanges = $permissionChanges; + } + public function getPermissionChanges() + { + return $this->permissionChanges; + } + public function setPrimaryEventType($primaryEventType) + { + $this->primaryEventType = $primaryEventType; + } + public function getPrimaryEventType() + { + return $this->primaryEventType; + } + public function setRename(Google_Service_Appsactivity_Rename $rename) + { + $this->rename = $rename; + } + public function getRename() + { + return $this->rename; + } + public function setTarget(Google_Service_Appsactivity_Target $target) + { + $this->target = $target; + } + public function getTarget() + { + return $this->target; + } + public function setUser(Google_Service_Appsactivity_User $user) + { + $this->user = $user; + } + public function getUser() + { + return $this->user; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Appsactivity/ListActivitiesResponse.php b/vendor/google/apiclient-services/src/Google/Service/Appsactivity/ListActivitiesResponse.php new file mode 100644 index 00000000..2a82e889 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Appsactivity/ListActivitiesResponse.php @@ -0,0 +1,41 @@ +activities = $activities; + } + public function getActivities() + { + return $this->activities; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Appsactivity/Move.php b/vendor/google/apiclient-services/src/Google/Service/Appsactivity/Move.php new file mode 100644 index 00000000..48c08dd0 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Appsactivity/Move.php @@ -0,0 +1,42 @@ +addedParents = $addedParents; + } + public function getAddedParents() + { + return $this->addedParents; + } + public function setRemovedParents($removedParents) + { + $this->removedParents = $removedParents; + } + public function getRemovedParents() + { + return $this->removedParents; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Appsactivity/Permission.php b/vendor/google/apiclient-services/src/Google/Service/Appsactivity/Permission.php new file mode 100644 index 00000000..6fec4049 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Appsactivity/Permission.php @@ -0,0 +1,76 @@ +name = $name; + } + public function getName() + { + return $this->name; + } + public function setPermissionId($permissionId) + { + $this->permissionId = $permissionId; + } + public function getPermissionId() + { + return $this->permissionId; + } + public function setRole($role) + { + $this->role = $role; + } + public function getRole() + { + return $this->role; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } + public function setUser(Google_Service_Appsactivity_User $user) + { + $this->user = $user; + } + public function getUser() + { + return $this->user; + } + public function setWithLink($withLink) + { + $this->withLink = $withLink; + } + public function getWithLink() + { + return $this->withLink; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Appsactivity/PermissionChange.php b/vendor/google/apiclient-services/src/Google/Service/Appsactivity/PermissionChange.php new file mode 100644 index 00000000..f070e9eb --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Appsactivity/PermissionChange.php @@ -0,0 +1,42 @@ +addedPermissions = $addedPermissions; + } + public function getAddedPermissions() + { + return $this->addedPermissions; + } + public function setRemovedPermissions($removedPermissions) + { + $this->removedPermissions = $removedPermissions; + } + public function getRemovedPermissions() + { + return $this->removedPermissions; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Appsactivity/Photo.php b/vendor/google/apiclient-services/src/Google/Service/Appsactivity/Photo.php new file mode 100644 index 00000000..6bb27174 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Appsactivity/Photo.php @@ -0,0 +1,30 @@ +url = $url; + } + public function getUrl() + { + return $this->url; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Appsactivity/Rename.php b/vendor/google/apiclient-services/src/Google/Service/Appsactivity/Rename.php new file mode 100644 index 00000000..1e714abc --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Appsactivity/Rename.php @@ -0,0 +1,39 @@ +newTitle = $newTitle; + } + public function getNewTitle() + { + return $this->newTitle; + } + public function setOldTitle($oldTitle) + { + $this->oldTitle = $oldTitle; + } + public function getOldTitle() + { + return $this->oldTitle; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Appsactivity/Resource/Activities.php b/vendor/google/apiclient-services/src/Google/Service/Appsactivity/Resource/Activities.php new file mode 100644 index 00000000..d5589f66 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Appsactivity/Resource/Activities.php @@ -0,0 +1,59 @@ + + * $appsactivityService = new Google_Service_Appsactivity(...); + * $activities = $appsactivityService->activities; + * + */ +class Google_Service_Appsactivity_Resource_Activities extends Google_Service_Resource +{ + /** + * Returns a list of activities visible to the current logged in user. Visible + * activities are determined by the visiblity settings of the object that was + * acted on, e.g. Drive files a user can see. An activity is a record of past + * events. Multiple events may be merged if they are similar. A request is + * scoped to activities from a given Google service using the source parameter. + * (activities.listActivities) + * + * @param array $optParams Optional parameters. + * + * @opt_param string drive.ancestorId Identifies the Drive folder containing the + * items for which to return activities. + * @opt_param string drive.fileId Identifies the Drive item to return activities + * for. + * @opt_param string groupingStrategy Indicates the strategy to use when + * grouping singleEvents items in the associated combinedEvent object. + * @opt_param int pageSize The maximum number of events to return on a page. The + * response includes a continuation token if there are more events. + * @opt_param string pageToken A token to retrieve a specific page of results. + * @opt_param string source The Google service from which to return activities. + * Possible values of source are: - drive.google.com + * @opt_param string userId Indicates the user to return activity for. Use the + * special value me to indicate the currently authenticated user. + * @return Google_Service_Appsactivity_ListActivitiesResponse + */ + public function listActivities($optParams = array()) + { + $params = array(); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Appsactivity_ListActivitiesResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Appsactivity/Target.php b/vendor/google/apiclient-services/src/Google/Service/Appsactivity/Target.php new file mode 100644 index 00000000..a4d3107a --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Appsactivity/Target.php @@ -0,0 +1,48 @@ +id = $id; + } + public function getId() + { + return $this->id; + } + public function setMimeType($mimeType) + { + $this->mimeType = $mimeType; + } + public function getMimeType() + { + return $this->mimeType; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Appsactivity/User.php b/vendor/google/apiclient-services/src/Google/Service/Appsactivity/User.php new file mode 100644 index 00000000..e0d2de4b --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Appsactivity/User.php @@ -0,0 +1,67 @@ +isDeleted = $isDeleted; + } + public function getIsDeleted() + { + return $this->isDeleted; + } + public function setIsMe($isMe) + { + $this->isMe = $isMe; + } + public function getIsMe() + { + return $this->isMe; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setPermissionId($permissionId) + { + $this->permissionId = $permissionId; + } + public function getPermissionId() + { + return $this->permissionId; + } + public function setPhoto(Google_Service_Appsactivity_Photo $photo) + { + $this->photo = $photo; + } + public function getPhoto() + { + return $this->photo; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Autoscaler.php b/vendor/google/apiclient-services/src/Google/Service/Autoscaler.php new file mode 100644 index 00000000..619cb66e --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Autoscaler.php @@ -0,0 +1,299 @@ + + * The Google Compute Engine Autoscaler API provides autoscaling for groups of + * Cloud VMs.

+ * + *

+ * For more information about this service, see the API + * Documentation + *

+ * + * @author Google, Inc. + */ +class Google_Service_Autoscaler extends Google_Service +{ + /** View and manage your Google Compute Engine resources. */ + const COMPUTE = + "https://www.googleapis.com/auth/compute"; + /** View your Google Compute Engine resources. */ + const COMPUTE_READONLY = + "https://www.googleapis.com/auth/compute.readonly"; + + public $autoscalers; + public $zoneOperations; + public $zones; + + /** + * Constructs the internal representation of the Autoscaler service. + * + * @param Google_Client $client + */ + public function __construct(Google_Client $client) + { + parent::__construct($client); + $this->rootUrl = 'https://www.googleapis.com/'; + $this->servicePath = 'autoscaler/v1beta2/'; + $this->version = 'v1beta2'; + $this->serviceName = 'autoscaler'; + + $this->autoscalers = new Google_Service_Autoscaler_Resource_Autoscalers( + $this, + $this->serviceName, + 'autoscalers', + array( + 'methods' => array( + 'delete' => array( + 'path' => 'projects/{project}/zones/{zone}/autoscalers/{autoscaler}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'zone' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'autoscaler' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'get' => array( + 'path' => 'projects/{project}/zones/{zone}/autoscalers/{autoscaler}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'zone' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'autoscaler' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'insert' => array( + 'path' => 'projects/{project}/zones/{zone}/autoscalers', + 'httpMethod' => 'POST', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'zone' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'projects/{project}/zones/{zone}/autoscalers', + 'httpMethod' => 'GET', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'zone' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'filter' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'patch' => array( + 'path' => 'projects/{project}/zones/{zone}/autoscalers/{autoscaler}', + 'httpMethod' => 'PATCH', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'zone' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'autoscaler' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'update' => array( + 'path' => 'projects/{project}/zones/{zone}/autoscalers/{autoscaler}', + 'httpMethod' => 'PUT', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'zone' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'autoscaler' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->zoneOperations = new Google_Service_Autoscaler_Resource_ZoneOperations( + $this, + $this->serviceName, + 'zoneOperations', + array( + 'methods' => array( + 'delete' => array( + 'path' => '{project}/zones/{zone}/operations/{operation}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'zone' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'operation' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'get' => array( + 'path' => '{project}/zones/{zone}/operations/{operation}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'zone' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'operation' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => '{project}/zones/{zone}/operations', + 'httpMethod' => 'GET', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'zone' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'filter' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + $this->zones = new Google_Service_Autoscaler_Resource_Zones( + $this, + $this->serviceName, + 'zones', + array( + 'methods' => array( + 'list' => array( + 'path' => 'zones', + 'httpMethod' => 'GET', + 'parameters' => array( + 'filter' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'project' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Autoscaler/Autoscaler.php b/vendor/google/apiclient-services/src/Google/Service/Autoscaler/Autoscaler.php new file mode 100644 index 00000000..be348120 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Autoscaler/Autoscaler.php @@ -0,0 +1,94 @@ +autoscalingPolicy = $autoscalingPolicy; + } + public function getAutoscalingPolicy() + { + return $this->autoscalingPolicy; + } + public function setCreationTimestamp($creationTimestamp) + { + $this->creationTimestamp = $creationTimestamp; + } + public function getCreationTimestamp() + { + return $this->creationTimestamp; + } + public function setDescription($description) + { + $this->description = $description; + } + public function getDescription() + { + return $this->description; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setSelfLink($selfLink) + { + $this->selfLink = $selfLink; + } + public function getSelfLink() + { + return $this->selfLink; + } + public function setTarget($target) + { + $this->target = $target; + } + public function getTarget() + { + return $this->target; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Autoscaler/AutoscalerListResponse.php b/vendor/google/apiclient-services/src/Google/Service/Autoscaler/AutoscalerListResponse.php new file mode 100644 index 00000000..b677647c --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Autoscaler/AutoscalerListResponse.php @@ -0,0 +1,50 @@ +items = $items; + } + public function getItems() + { + return $this->items; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Autoscaler/AutoscalingPolicy.php b/vendor/google/apiclient-services/src/Google/Service/Autoscaler/AutoscalingPolicy.php new file mode 100644 index 00000000..c76b696f --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Autoscaler/AutoscalingPolicy.php @@ -0,0 +1,79 @@ +coolDownPeriodSec = $coolDownPeriodSec; + } + public function getCoolDownPeriodSec() + { + return $this->coolDownPeriodSec; + } + public function setCpuUtilization(Google_Service_Autoscaler_AutoscalingPolicyCpuUtilization $cpuUtilization) + { + $this->cpuUtilization = $cpuUtilization; + } + public function getCpuUtilization() + { + return $this->cpuUtilization; + } + public function setCustomMetricUtilizations($customMetricUtilizations) + { + $this->customMetricUtilizations = $customMetricUtilizations; + } + public function getCustomMetricUtilizations() + { + return $this->customMetricUtilizations; + } + public function setLoadBalancingUtilization(Google_Service_Autoscaler_AutoscalingPolicyLoadBalancingUtilization $loadBalancingUtilization) + { + $this->loadBalancingUtilization = $loadBalancingUtilization; + } + public function getLoadBalancingUtilization() + { + return $this->loadBalancingUtilization; + } + public function setMaxNumReplicas($maxNumReplicas) + { + $this->maxNumReplicas = $maxNumReplicas; + } + public function getMaxNumReplicas() + { + return $this->maxNumReplicas; + } + public function setMinNumReplicas($minNumReplicas) + { + $this->minNumReplicas = $minNumReplicas; + } + public function getMinNumReplicas() + { + return $this->minNumReplicas; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Autoscaler/AutoscalingPolicyCpuUtilization.php b/vendor/google/apiclient-services/src/Google/Service/Autoscaler/AutoscalingPolicyCpuUtilization.php new file mode 100644 index 00000000..ef1600a6 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Autoscaler/AutoscalingPolicyCpuUtilization.php @@ -0,0 +1,30 @@ +utilizationTarget = $utilizationTarget; + } + public function getUtilizationTarget() + { + return $this->utilizationTarget; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Autoscaler/AutoscalingPolicyCustomMetricUtilization.php b/vendor/google/apiclient-services/src/Google/Service/Autoscaler/AutoscalingPolicyCustomMetricUtilization.php new file mode 100644 index 00000000..32603dd6 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Autoscaler/AutoscalingPolicyCustomMetricUtilization.php @@ -0,0 +1,48 @@ +metric = $metric; + } + public function getMetric() + { + return $this->metric; + } + public function setUtilizationTarget($utilizationTarget) + { + $this->utilizationTarget = $utilizationTarget; + } + public function getUtilizationTarget() + { + return $this->utilizationTarget; + } + public function setUtilizationTargetType($utilizationTargetType) + { + $this->utilizationTargetType = $utilizationTargetType; + } + public function getUtilizationTargetType() + { + return $this->utilizationTargetType; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Autoscaler/AutoscalingPolicyLoadBalancingUtilization.php b/vendor/google/apiclient-services/src/Google/Service/Autoscaler/AutoscalingPolicyLoadBalancingUtilization.php new file mode 100644 index 00000000..c608a0fd --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Autoscaler/AutoscalingPolicyLoadBalancingUtilization.php @@ -0,0 +1,30 @@ +utilizationTarget = $utilizationTarget; + } + public function getUtilizationTarget() + { + return $this->utilizationTarget; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Autoscaler/DeprecationStatus.php b/vendor/google/apiclient-services/src/Google/Service/Autoscaler/DeprecationStatus.php new file mode 100644 index 00000000..38c0db66 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Autoscaler/DeprecationStatus.php @@ -0,0 +1,66 @@ +deleted = $deleted; + } + public function getDeleted() + { + return $this->deleted; + } + public function setDeprecated($deprecated) + { + $this->deprecated = $deprecated; + } + public function getDeprecated() + { + return $this->deprecated; + } + public function setObsolete($obsolete) + { + $this->obsolete = $obsolete; + } + public function getObsolete() + { + return $this->obsolete; + } + public function setReplacement($replacement) + { + $this->replacement = $replacement; + } + public function getReplacement() + { + return $this->replacement; + } + public function setState($state) + { + $this->state = $state; + } + public function getState() + { + return $this->state; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Autoscaler/Operation.php b/vendor/google/apiclient-services/src/Google/Service/Autoscaler/Operation.php new file mode 100644 index 00000000..af096dab --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Autoscaler/Operation.php @@ -0,0 +1,231 @@ +clientOperationId = $clientOperationId; + } + public function getClientOperationId() + { + return $this->clientOperationId; + } + public function setCreationTimestamp($creationTimestamp) + { + $this->creationTimestamp = $creationTimestamp; + } + public function getCreationTimestamp() + { + return $this->creationTimestamp; + } + public function setDescription($description) + { + $this->description = $description; + } + public function getDescription() + { + return $this->description; + } + public function setEndTime($endTime) + { + $this->endTime = $endTime; + } + public function getEndTime() + { + return $this->endTime; + } + public function setError(Google_Service_Autoscaler_OperationError $error) + { + $this->error = $error; + } + public function getError() + { + return $this->error; + } + public function setHttpErrorMessage($httpErrorMessage) + { + $this->httpErrorMessage = $httpErrorMessage; + } + public function getHttpErrorMessage() + { + return $this->httpErrorMessage; + } + public function setHttpErrorStatusCode($httpErrorStatusCode) + { + $this->httpErrorStatusCode = $httpErrorStatusCode; + } + public function getHttpErrorStatusCode() + { + return $this->httpErrorStatusCode; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setInsertTime($insertTime) + { + $this->insertTime = $insertTime; + } + public function getInsertTime() + { + return $this->insertTime; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setOperationType($operationType) + { + $this->operationType = $operationType; + } + public function getOperationType() + { + return $this->operationType; + } + public function setProgress($progress) + { + $this->progress = $progress; + } + public function getProgress() + { + return $this->progress; + } + public function setRegion($region) + { + $this->region = $region; + } + public function getRegion() + { + return $this->region; + } + public function setSelfLink($selfLink) + { + $this->selfLink = $selfLink; + } + public function getSelfLink() + { + return $this->selfLink; + } + public function setStartTime($startTime) + { + $this->startTime = $startTime; + } + public function getStartTime() + { + return $this->startTime; + } + public function setStatus($status) + { + $this->status = $status; + } + public function getStatus() + { + return $this->status; + } + public function setStatusMessage($statusMessage) + { + $this->statusMessage = $statusMessage; + } + public function getStatusMessage() + { + return $this->statusMessage; + } + public function setTargetId($targetId) + { + $this->targetId = $targetId; + } + public function getTargetId() + { + return $this->targetId; + } + public function setTargetLink($targetLink) + { + $this->targetLink = $targetLink; + } + public function getTargetLink() + { + return $this->targetLink; + } + public function setUser($user) + { + $this->user = $user; + } + public function getUser() + { + return $this->user; + } + public function setWarnings($warnings) + { + $this->warnings = $warnings; + } + public function getWarnings() + { + return $this->warnings; + } + public function setZone($zone) + { + $this->zone = $zone; + } + public function getZone() + { + return $this->zone; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Autoscaler/OperationError.php b/vendor/google/apiclient-services/src/Google/Service/Autoscaler/OperationError.php new file mode 100644 index 00000000..c9a5f2e3 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Autoscaler/OperationError.php @@ -0,0 +1,32 @@ +errors = $errors; + } + public function getErrors() + { + return $this->errors; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Autoscaler/OperationErrorErrors.php b/vendor/google/apiclient-services/src/Google/Service/Autoscaler/OperationErrorErrors.php new file mode 100644 index 00000000..c40d2332 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Autoscaler/OperationErrorErrors.php @@ -0,0 +1,48 @@ +code = $code; + } + public function getCode() + { + return $this->code; + } + public function setLocation($location) + { + $this->location = $location; + } + public function getLocation() + { + return $this->location; + } + public function setMessage($message) + { + $this->message = $message; + } + public function getMessage() + { + return $this->message; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Autoscaler/OperationList.php b/vendor/google/apiclient-services/src/Google/Service/Autoscaler/OperationList.php new file mode 100644 index 00000000..516a9086 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Autoscaler/OperationList.php @@ -0,0 +1,68 @@ +id = $id; + } + public function getId() + { + return $this->id; + } + public function setItems($items) + { + $this->items = $items; + } + public function getItems() + { + return $this->items; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setSelfLink($selfLink) + { + $this->selfLink = $selfLink; + } + public function getSelfLink() + { + return $this->selfLink; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Autoscaler/OperationWarnings.php b/vendor/google/apiclient-services/src/Google/Service/Autoscaler/OperationWarnings.php new file mode 100644 index 00000000..76118225 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Autoscaler/OperationWarnings.php @@ -0,0 +1,50 @@ +code = $code; + } + public function getCode() + { + return $this->code; + } + public function setData($data) + { + $this->data = $data; + } + public function getData() + { + return $this->data; + } + public function setMessage($message) + { + $this->message = $message; + } + public function getMessage() + { + return $this->message; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Autoscaler/OperationWarningsData.php b/vendor/google/apiclient-services/src/Google/Service/Autoscaler/OperationWarningsData.php new file mode 100644 index 00000000..1dffa0bb --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Autoscaler/OperationWarningsData.php @@ -0,0 +1,39 @@ +key = $key; + } + public function getKey() + { + return $this->key; + } + public function setValue($value) + { + $this->value = $value; + } + public function getValue() + { + return $this->value; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Autoscaler/Resource/Autoscalers.php b/vendor/google/apiclient-services/src/Google/Service/Autoscaler/Resource/Autoscalers.php new file mode 100644 index 00000000..55d7a712 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Autoscaler/Resource/Autoscalers.php @@ -0,0 +1,124 @@ + + * $autoscalerService = new Google_Service_Autoscaler(...); + * $autoscalers = $autoscalerService->autoscalers; + * + */ +class Google_Service_Autoscaler_Resource_Autoscalers extends Google_Service_Resource +{ + /** + * Deletes the specified Autoscaler resource. (autoscalers.delete) + * + * @param string $project Project ID of Autoscaler resource. + * @param string $zone Zone name of Autoscaler resource. + * @param string $autoscaler Name of the Autoscaler resource. + * @param array $optParams Optional parameters. + * @return Google_Service_Autoscaler_Operation + */ + public function delete($project, $zone, $autoscaler, $optParams = array()) + { + $params = array('project' => $project, 'zone' => $zone, 'autoscaler' => $autoscaler); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params), "Google_Service_Autoscaler_Operation"); + } + /** + * Gets the specified Autoscaler resource. (autoscalers.get) + * + * @param string $project Project ID of Autoscaler resource. + * @param string $zone Zone name of Autoscaler resource. + * @param string $autoscaler Name of the Autoscaler resource. + * @param array $optParams Optional parameters. + * @return Google_Service_Autoscaler_Autoscaler + */ + public function get($project, $zone, $autoscaler, $optParams = array()) + { + $params = array('project' => $project, 'zone' => $zone, 'autoscaler' => $autoscaler); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Autoscaler_Autoscaler"); + } + /** + * Adds new Autoscaler resource. (autoscalers.insert) + * + * @param string $project Project ID of Autoscaler resource. + * @param string $zone Zone name of Autoscaler resource. + * @param Google_Service_Autoscaler_Autoscaler $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Autoscaler_Operation + */ + public function insert($project, $zone, Google_Service_Autoscaler_Autoscaler $postBody, $optParams = array()) + { + $params = array('project' => $project, 'zone' => $zone, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('insert', array($params), "Google_Service_Autoscaler_Operation"); + } + /** + * Lists all Autoscaler resources in this zone. (autoscalers.listAutoscalers) + * + * @param string $project Project ID of Autoscaler resource. + * @param string $zone Zone name of Autoscaler resource. + * @param array $optParams Optional parameters. + * + * @opt_param string filter + * @opt_param string maxResults + * @opt_param string pageToken + * @return Google_Service_Autoscaler_AutoscalerListResponse + */ + public function listAutoscalers($project, $zone, $optParams = array()) + { + $params = array('project' => $project, 'zone' => $zone); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Autoscaler_AutoscalerListResponse"); + } + /** + * Update the entire content of the Autoscaler resource. This method supports + * patch semantics. (autoscalers.patch) + * + * @param string $project Project ID of Autoscaler resource. + * @param string $zone Zone name of Autoscaler resource. + * @param string $autoscaler Name of the Autoscaler resource. + * @param Google_Service_Autoscaler_Autoscaler $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Autoscaler_Operation + */ + public function patch($project, $zone, $autoscaler, Google_Service_Autoscaler_Autoscaler $postBody, $optParams = array()) + { + $params = array('project' => $project, 'zone' => $zone, 'autoscaler' => $autoscaler, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('patch', array($params), "Google_Service_Autoscaler_Operation"); + } + /** + * Update the entire content of the Autoscaler resource. (autoscalers.update) + * + * @param string $project Project ID of Autoscaler resource. + * @param string $zone Zone name of Autoscaler resource. + * @param string $autoscaler Name of the Autoscaler resource. + * @param Google_Service_Autoscaler_Autoscaler $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Autoscaler_Operation + */ + public function update($project, $zone, $autoscaler, Google_Service_Autoscaler_Autoscaler $postBody, $optParams = array()) + { + $params = array('project' => $project, 'zone' => $zone, 'autoscaler' => $autoscaler, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('update', array($params), "Google_Service_Autoscaler_Operation"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Autoscaler/Resource/ZoneOperations.php b/vendor/google/apiclient-services/src/Google/Service/Autoscaler/Resource/ZoneOperations.php new file mode 100644 index 00000000..0452efe5 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Autoscaler/Resource/ZoneOperations.php @@ -0,0 +1,78 @@ + + * $autoscalerService = new Google_Service_Autoscaler(...); + * $zoneOperations = $autoscalerService->zoneOperations; + * + */ +class Google_Service_Autoscaler_Resource_ZoneOperations extends Google_Service_Resource +{ + /** + * Deletes the specified zone-specific operation resource. + * (zoneOperations.delete) + * + * @param string $project + * @param string $zone + * @param string $operation + * @param array $optParams Optional parameters. + */ + public function delete($project, $zone, $operation, $optParams = array()) + { + $params = array('project' => $project, 'zone' => $zone, 'operation' => $operation); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params)); + } + /** + * Retrieves the specified zone-specific operation resource. + * (zoneOperations.get) + * + * @param string $project + * @param string $zone + * @param string $operation + * @param array $optParams Optional parameters. + * @return Google_Service_Autoscaler_Operation + */ + public function get($project, $zone, $operation, $optParams = array()) + { + $params = array('project' => $project, 'zone' => $zone, 'operation' => $operation); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Autoscaler_Operation"); + } + /** + * Retrieves the list of operation resources contained within the specified + * zone. (zoneOperations.listZoneOperations) + * + * @param string $project + * @param string $zone + * @param array $optParams Optional parameters. + * + * @opt_param string filter + * @opt_param string maxResults + * @opt_param string pageToken + * @return Google_Service_Autoscaler_OperationList + */ + public function listZoneOperations($project, $zone, $optParams = array()) + { + $params = array('project' => $project, 'zone' => $zone); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Autoscaler_OperationList"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Autoscaler/Resource/Zones.php b/vendor/google/apiclient-services/src/Google/Service/Autoscaler/Resource/Zones.php new file mode 100644 index 00000000..33c0c832 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Autoscaler/Resource/Zones.php @@ -0,0 +1,45 @@ + + * $autoscalerService = new Google_Service_Autoscaler(...); + * $zones = $autoscalerService->zones; + * + */ +class Google_Service_Autoscaler_Resource_Zones extends Google_Service_Resource +{ + /** + * (zones.listZones) + * + * @param array $optParams Optional parameters. + * + * @opt_param string filter + * @opt_param string maxResults + * @opt_param string pageToken + * @opt_param string project + * @return Google_Service_Autoscaler_ZoneList + */ + public function listZones($optParams = array()) + { + $params = array(); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Autoscaler_ZoneList"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Autoscaler/Zone.php b/vendor/google/apiclient-services/src/Google/Service/Autoscaler/Zone.php new file mode 100644 index 00000000..2c4fa2b7 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Autoscaler/Zone.php @@ -0,0 +1,103 @@ +creationTimestamp = $creationTimestamp; + } + public function getCreationTimestamp() + { + return $this->creationTimestamp; + } + public function setDeprecated(Google_Service_Autoscaler_DeprecationStatus $deprecated) + { + $this->deprecated = $deprecated; + } + public function getDeprecated() + { + return $this->deprecated; + } + public function setDescription($description) + { + $this->description = $description; + } + public function getDescription() + { + return $this->description; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setRegion($region) + { + $this->region = $region; + } + public function getRegion() + { + return $this->region; + } + public function setSelfLink($selfLink) + { + $this->selfLink = $selfLink; + } + public function getSelfLink() + { + return $this->selfLink; + } + public function setStatus($status) + { + $this->status = $status; + } + public function getStatus() + { + return $this->status; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Autoscaler/ZoneList.php b/vendor/google/apiclient-services/src/Google/Service/Autoscaler/ZoneList.php new file mode 100644 index 00000000..abf42b22 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Autoscaler/ZoneList.php @@ -0,0 +1,68 @@ +id = $id; + } + public function getId() + { + return $this->id; + } + public function setItems($items) + { + $this->items = $items; + } + public function getItems() + { + return $this->items; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setSelfLink($selfLink) + { + $this->selfLink = $selfLink; + } + public function getSelfLink() + { + return $this->selfLink; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Bigquery.php b/vendor/google/apiclient-services/src/Google/Service/Bigquery.php new file mode 100644 index 00000000..9216e022 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Bigquery.php @@ -0,0 +1,520 @@ + + * A data platform for customers to create, manage, share and query data.

+ * + *

+ * For more information about this service, see the API + * Documentation + *

+ * + * @author Google, Inc. + */ +class Google_Service_Bigquery extends Google_Service +{ + /** View and manage your data in Google BigQuery. */ + const BIGQUERY = + "https://www.googleapis.com/auth/bigquery"; + /** Insert data into Google BigQuery. */ + const BIGQUERY_INSERTDATA = + "https://www.googleapis.com/auth/bigquery.insertdata"; + /** View and manage your data across Google Cloud Platform services. */ + const CLOUD_PLATFORM = + "https://www.googleapis.com/auth/cloud-platform"; + /** View your data across Google Cloud Platform services. */ + const CLOUD_PLATFORM_READ_ONLY = + "https://www.googleapis.com/auth/cloud-platform.read-only"; + /** Manage your data and permissions in Google Cloud Storage. */ + const DEVSTORAGE_FULL_CONTROL = + "https://www.googleapis.com/auth/devstorage.full_control"; + /** View your data in Google Cloud Storage. */ + const DEVSTORAGE_READ_ONLY = + "https://www.googleapis.com/auth/devstorage.read_only"; + /** Manage your data in Google Cloud Storage. */ + const DEVSTORAGE_READ_WRITE = + "https://www.googleapis.com/auth/devstorage.read_write"; + + public $datasets; + public $jobs; + public $projects; + public $tabledata; + public $tables; + + /** + * Constructs the internal representation of the Bigquery service. + * + * @param Google_Client $client + */ + public function __construct(Google_Client $client) + { + parent::__construct($client); + $this->rootUrl = 'https://www.googleapis.com/'; + $this->servicePath = 'bigquery/v2/'; + $this->version = 'v2'; + $this->serviceName = 'bigquery'; + + $this->datasets = new Google_Service_Bigquery_Resource_Datasets( + $this, + $this->serviceName, + 'datasets', + array( + 'methods' => array( + 'delete' => array( + 'path' => 'projects/{projectId}/datasets/{datasetId}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'projectId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'datasetId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'deleteContents' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + ), + ),'get' => array( + 'path' => 'projects/{projectId}/datasets/{datasetId}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'projectId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'datasetId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'insert' => array( + 'path' => 'projects/{projectId}/datasets', + 'httpMethod' => 'POST', + 'parameters' => array( + 'projectId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'projects/{projectId}/datasets', + 'httpMethod' => 'GET', + 'parameters' => array( + 'projectId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'all' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + 'filter' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'patch' => array( + 'path' => 'projects/{projectId}/datasets/{datasetId}', + 'httpMethod' => 'PATCH', + 'parameters' => array( + 'projectId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'datasetId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'update' => array( + 'path' => 'projects/{projectId}/datasets/{datasetId}', + 'httpMethod' => 'PUT', + 'parameters' => array( + 'projectId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'datasetId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->jobs = new Google_Service_Bigquery_Resource_Jobs( + $this, + $this->serviceName, + 'jobs', + array( + 'methods' => array( + 'cancel' => array( + 'path' => 'projects/{projectId}/jobs/{jobId}/cancel', + 'httpMethod' => 'POST', + 'parameters' => array( + 'projectId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'jobId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'get' => array( + 'path' => 'projects/{projectId}/jobs/{jobId}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'projectId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'jobId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'getQueryResults' => array( + 'path' => 'projects/{projectId}/queries/{jobId}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'projectId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'jobId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'startIndex' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'timeoutMs' => array( + 'location' => 'query', + 'type' => 'integer', + ), + ), + ),'insert' => array( + 'path' => 'projects/{projectId}/jobs', + 'httpMethod' => 'POST', + 'parameters' => array( + 'projectId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'projects/{projectId}/jobs', + 'httpMethod' => 'GET', + 'parameters' => array( + 'projectId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'allUsers' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'projection' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'stateFilter' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + ), + ), + ),'query' => array( + 'path' => 'projects/{projectId}/queries', + 'httpMethod' => 'POST', + 'parameters' => array( + 'projectId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->projects = new Google_Service_Bigquery_Resource_Projects( + $this, + $this->serviceName, + 'projects', + array( + 'methods' => array( + 'list' => array( + 'path' => 'projects', + 'httpMethod' => 'GET', + 'parameters' => array( + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + $this->tabledata = new Google_Service_Bigquery_Resource_Tabledata( + $this, + $this->serviceName, + 'tabledata', + array( + 'methods' => array( + 'insertAll' => array( + 'path' => 'projects/{projectId}/datasets/{datasetId}/tables/{tableId}/insertAll', + 'httpMethod' => 'POST', + 'parameters' => array( + 'projectId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'datasetId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'tableId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'projects/{projectId}/datasets/{datasetId}/tables/{tableId}/data', + 'httpMethod' => 'GET', + 'parameters' => array( + 'projectId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'datasetId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'tableId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'startIndex' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + $this->tables = new Google_Service_Bigquery_Resource_Tables( + $this, + $this->serviceName, + 'tables', + array( + 'methods' => array( + 'delete' => array( + 'path' => 'projects/{projectId}/datasets/{datasetId}/tables/{tableId}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'projectId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'datasetId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'tableId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'get' => array( + 'path' => 'projects/{projectId}/datasets/{datasetId}/tables/{tableId}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'projectId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'datasetId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'tableId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'insert' => array( + 'path' => 'projects/{projectId}/datasets/{datasetId}/tables', + 'httpMethod' => 'POST', + 'parameters' => array( + 'projectId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'datasetId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'projects/{projectId}/datasets/{datasetId}/tables', + 'httpMethod' => 'GET', + 'parameters' => array( + 'projectId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'datasetId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'patch' => array( + 'path' => 'projects/{projectId}/datasets/{datasetId}/tables/{tableId}', + 'httpMethod' => 'PATCH', + 'parameters' => array( + 'projectId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'datasetId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'tableId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'update' => array( + 'path' => 'projects/{projectId}/datasets/{datasetId}/tables/{tableId}', + 'httpMethod' => 'PUT', + 'parameters' => array( + 'projectId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'datasetId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'tableId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Bigquery/BigtableColumn.php b/vendor/google/apiclient-services/src/Google/Service/Bigquery/BigtableColumn.php new file mode 100644 index 00000000..ba688934 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Bigquery/BigtableColumn.php @@ -0,0 +1,75 @@ +encoding = $encoding; + } + public function getEncoding() + { + return $this->encoding; + } + public function setFieldName($fieldName) + { + $this->fieldName = $fieldName; + } + public function getFieldName() + { + return $this->fieldName; + } + public function setOnlyReadLatest($onlyReadLatest) + { + $this->onlyReadLatest = $onlyReadLatest; + } + public function getOnlyReadLatest() + { + return $this->onlyReadLatest; + } + public function setQualifierEncoded($qualifierEncoded) + { + $this->qualifierEncoded = $qualifierEncoded; + } + public function getQualifierEncoded() + { + return $this->qualifierEncoded; + } + public function setQualifierString($qualifierString) + { + $this->qualifierString = $qualifierString; + } + public function getQualifierString() + { + return $this->qualifierString; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Bigquery/BigtableColumnFamily.php b/vendor/google/apiclient-services/src/Google/Service/Bigquery/BigtableColumnFamily.php new file mode 100644 index 00000000..70b502a4 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Bigquery/BigtableColumnFamily.php @@ -0,0 +1,68 @@ +columns = $columns; + } + public function getColumns() + { + return $this->columns; + } + public function setEncoding($encoding) + { + $this->encoding = $encoding; + } + public function getEncoding() + { + return $this->encoding; + } + public function setFamilyId($familyId) + { + $this->familyId = $familyId; + } + public function getFamilyId() + { + return $this->familyId; + } + public function setOnlyReadLatest($onlyReadLatest) + { + $this->onlyReadLatest = $onlyReadLatest; + } + public function getOnlyReadLatest() + { + return $this->onlyReadLatest; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Bigquery/BigtableOptions.php b/vendor/google/apiclient-services/src/Google/Service/Bigquery/BigtableOptions.php new file mode 100644 index 00000000..51b78b98 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Bigquery/BigtableOptions.php @@ -0,0 +1,50 @@ +columnFamilies = $columnFamilies; + } + public function getColumnFamilies() + { + return $this->columnFamilies; + } + public function setIgnoreUnspecifiedColumnFamilies($ignoreUnspecifiedColumnFamilies) + { + $this->ignoreUnspecifiedColumnFamilies = $ignoreUnspecifiedColumnFamilies; + } + public function getIgnoreUnspecifiedColumnFamilies() + { + return $this->ignoreUnspecifiedColumnFamilies; + } + public function setReadRowkeyAsString($readRowkeyAsString) + { + $this->readRowkeyAsString = $readRowkeyAsString; + } + public function getReadRowkeyAsString() + { + return $this->readRowkeyAsString; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Bigquery/CsvOptions.php b/vendor/google/apiclient-services/src/Google/Service/Bigquery/CsvOptions.php new file mode 100644 index 00000000..de25be0b --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Bigquery/CsvOptions.php @@ -0,0 +1,75 @@ +allowJaggedRows = $allowJaggedRows; + } + public function getAllowJaggedRows() + { + return $this->allowJaggedRows; + } + public function setAllowQuotedNewlines($allowQuotedNewlines) + { + $this->allowQuotedNewlines = $allowQuotedNewlines; + } + public function getAllowQuotedNewlines() + { + return $this->allowQuotedNewlines; + } + public function setEncoding($encoding) + { + $this->encoding = $encoding; + } + public function getEncoding() + { + return $this->encoding; + } + public function setFieldDelimiter($fieldDelimiter) + { + $this->fieldDelimiter = $fieldDelimiter; + } + public function getFieldDelimiter() + { + return $this->fieldDelimiter; + } + public function setQuote($quote) + { + $this->quote = $quote; + } + public function getQuote() + { + return $this->quote; + } + public function setSkipLeadingRows($skipLeadingRows) + { + $this->skipLeadingRows = $skipLeadingRows; + } + public function getSkipLeadingRows() + { + return $this->skipLeadingRows; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Bigquery/Dataset.php b/vendor/google/apiclient-services/src/Google/Service/Bigquery/Dataset.php new file mode 100644 index 00000000..5591fb53 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Bigquery/Dataset.php @@ -0,0 +1,141 @@ +access = $access; + } + public function getAccess() + { + return $this->access; + } + public function setCreationTime($creationTime) + { + $this->creationTime = $creationTime; + } + public function getCreationTime() + { + return $this->creationTime; + } + public function setDatasetReference(Google_Service_Bigquery_DatasetReference $datasetReference) + { + $this->datasetReference = $datasetReference; + } + public function getDatasetReference() + { + return $this->datasetReference; + } + public function setDefaultTableExpirationMs($defaultTableExpirationMs) + { + $this->defaultTableExpirationMs = $defaultTableExpirationMs; + } + public function getDefaultTableExpirationMs() + { + return $this->defaultTableExpirationMs; + } + public function setDescription($description) + { + $this->description = $description; + } + public function getDescription() + { + return $this->description; + } + public function setEtag($etag) + { + $this->etag = $etag; + } + public function getEtag() + { + return $this->etag; + } + public function setFriendlyName($friendlyName) + { + $this->friendlyName = $friendlyName; + } + public function getFriendlyName() + { + return $this->friendlyName; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setLabels($labels) + { + $this->labels = $labels; + } + public function getLabels() + { + return $this->labels; + } + public function setLastModifiedTime($lastModifiedTime) + { + $this->lastModifiedTime = $lastModifiedTime; + } + public function getLastModifiedTime() + { + return $this->lastModifiedTime; + } + public function setLocation($location) + { + $this->location = $location; + } + public function getLocation() + { + return $this->location; + } + public function setSelfLink($selfLink) + { + $this->selfLink = $selfLink; + } + public function getSelfLink() + { + return $this->selfLink; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Bigquery/DatasetAccess.php b/vendor/google/apiclient-services/src/Google/Service/Bigquery/DatasetAccess.php new file mode 100644 index 00000000..65677dfb --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Bigquery/DatasetAccess.php @@ -0,0 +1,76 @@ +domain = $domain; + } + public function getDomain() + { + return $this->domain; + } + public function setGroupByEmail($groupByEmail) + { + $this->groupByEmail = $groupByEmail; + } + public function getGroupByEmail() + { + return $this->groupByEmail; + } + public function setRole($role) + { + $this->role = $role; + } + public function getRole() + { + return $this->role; + } + public function setSpecialGroup($specialGroup) + { + $this->specialGroup = $specialGroup; + } + public function getSpecialGroup() + { + return $this->specialGroup; + } + public function setUserByEmail($userByEmail) + { + $this->userByEmail = $userByEmail; + } + public function getUserByEmail() + { + return $this->userByEmail; + } + public function setView(Google_Service_Bigquery_TableReference $view) + { + $this->view = $view; + } + public function getView() + { + return $this->view; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Bigquery/DatasetList.php b/vendor/google/apiclient-services/src/Google/Service/Bigquery/DatasetList.php new file mode 100644 index 00000000..207ba0b7 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Bigquery/DatasetList.php @@ -0,0 +1,59 @@ +datasets = $datasets; + } + public function getDatasets() + { + return $this->datasets; + } + public function setEtag($etag) + { + $this->etag = $etag; + } + public function getEtag() + { + return $this->etag; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Bigquery/DatasetListDatasets.php b/vendor/google/apiclient-services/src/Google/Service/Bigquery/DatasetListDatasets.php new file mode 100644 index 00000000..382c85d6 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Bigquery/DatasetListDatasets.php @@ -0,0 +1,67 @@ +datasetReference = $datasetReference; + } + public function getDatasetReference() + { + return $this->datasetReference; + } + public function setFriendlyName($friendlyName) + { + $this->friendlyName = $friendlyName; + } + public function getFriendlyName() + { + return $this->friendlyName; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setLabels($labels) + { + $this->labels = $labels; + } + public function getLabels() + { + return $this->labels; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Bigquery/DatasetReference.php b/vendor/google/apiclient-services/src/Google/Service/Bigquery/DatasetReference.php new file mode 100644 index 00000000..e2c7d9c2 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Bigquery/DatasetReference.php @@ -0,0 +1,39 @@ +datasetId = $datasetId; + } + public function getDatasetId() + { + return $this->datasetId; + } + public function setProjectId($projectId) + { + $this->projectId = $projectId; + } + public function getProjectId() + { + return $this->projectId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Bigquery/ErrorProto.php b/vendor/google/apiclient-services/src/Google/Service/Bigquery/ErrorProto.php new file mode 100644 index 00000000..1981d89b --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Bigquery/ErrorProto.php @@ -0,0 +1,57 @@ +debugInfo = $debugInfo; + } + public function getDebugInfo() + { + return $this->debugInfo; + } + public function setLocation($location) + { + $this->location = $location; + } + public function getLocation() + { + return $this->location; + } + public function setMessage($message) + { + $this->message = $message; + } + public function getMessage() + { + return $this->message; + } + public function setReason($reason) + { + $this->reason = $reason; + } + public function getReason() + { + return $this->reason; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Bigquery/ExplainQueryStage.php b/vendor/google/apiclient-services/src/Google/Service/Bigquery/ExplainQueryStage.php new file mode 100644 index 00000000..148eae03 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Bigquery/ExplainQueryStage.php @@ -0,0 +1,149 @@ +computeRatioAvg = $computeRatioAvg; + } + public function getComputeRatioAvg() + { + return $this->computeRatioAvg; + } + public function setComputeRatioMax($computeRatioMax) + { + $this->computeRatioMax = $computeRatioMax; + } + public function getComputeRatioMax() + { + return $this->computeRatioMax; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setReadRatioAvg($readRatioAvg) + { + $this->readRatioAvg = $readRatioAvg; + } + public function getReadRatioAvg() + { + return $this->readRatioAvg; + } + public function setReadRatioMax($readRatioMax) + { + $this->readRatioMax = $readRatioMax; + } + public function getReadRatioMax() + { + return $this->readRatioMax; + } + public function setRecordsRead($recordsRead) + { + $this->recordsRead = $recordsRead; + } + public function getRecordsRead() + { + return $this->recordsRead; + } + public function setRecordsWritten($recordsWritten) + { + $this->recordsWritten = $recordsWritten; + } + public function getRecordsWritten() + { + return $this->recordsWritten; + } + public function setStatus($status) + { + $this->status = $status; + } + public function getStatus() + { + return $this->status; + } + public function setSteps($steps) + { + $this->steps = $steps; + } + public function getSteps() + { + return $this->steps; + } + public function setWaitRatioAvg($waitRatioAvg) + { + $this->waitRatioAvg = $waitRatioAvg; + } + public function getWaitRatioAvg() + { + return $this->waitRatioAvg; + } + public function setWaitRatioMax($waitRatioMax) + { + $this->waitRatioMax = $waitRatioMax; + } + public function getWaitRatioMax() + { + return $this->waitRatioMax; + } + public function setWriteRatioAvg($writeRatioAvg) + { + $this->writeRatioAvg = $writeRatioAvg; + } + public function getWriteRatioAvg() + { + return $this->writeRatioAvg; + } + public function setWriteRatioMax($writeRatioMax) + { + $this->writeRatioMax = $writeRatioMax; + } + public function getWriteRatioMax() + { + return $this->writeRatioMax; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Bigquery/ExplainQueryStep.php b/vendor/google/apiclient-services/src/Google/Service/Bigquery/ExplainQueryStep.php new file mode 100644 index 00000000..160025b1 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Bigquery/ExplainQueryStep.php @@ -0,0 +1,40 @@ +kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setSubsteps($substeps) + { + $this->substeps = $substeps; + } + public function getSubsteps() + { + return $this->substeps; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Bigquery/ExternalDataConfiguration.php b/vendor/google/apiclient-services/src/Google/Service/Bigquery/ExternalDataConfiguration.php new file mode 100644 index 00000000..86f22801 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Bigquery/ExternalDataConfiguration.php @@ -0,0 +1,116 @@ +autodetect = $autodetect; + } + public function getAutodetect() + { + return $this->autodetect; + } + public function setBigtableOptions(Google_Service_Bigquery_BigtableOptions $bigtableOptions) + { + $this->bigtableOptions = $bigtableOptions; + } + public function getBigtableOptions() + { + return $this->bigtableOptions; + } + public function setCompression($compression) + { + $this->compression = $compression; + } + public function getCompression() + { + return $this->compression; + } + public function setCsvOptions(Google_Service_Bigquery_CsvOptions $csvOptions) + { + $this->csvOptions = $csvOptions; + } + public function getCsvOptions() + { + return $this->csvOptions; + } + public function setGoogleSheetsOptions(Google_Service_Bigquery_GoogleSheetsOptions $googleSheetsOptions) + { + $this->googleSheetsOptions = $googleSheetsOptions; + } + public function getGoogleSheetsOptions() + { + return $this->googleSheetsOptions; + } + public function setIgnoreUnknownValues($ignoreUnknownValues) + { + $this->ignoreUnknownValues = $ignoreUnknownValues; + } + public function getIgnoreUnknownValues() + { + return $this->ignoreUnknownValues; + } + public function setMaxBadRecords($maxBadRecords) + { + $this->maxBadRecords = $maxBadRecords; + } + public function getMaxBadRecords() + { + return $this->maxBadRecords; + } + public function setSchema(Google_Service_Bigquery_TableSchema $schema) + { + $this->schema = $schema; + } + public function getSchema() + { + return $this->schema; + } + public function setSourceFormat($sourceFormat) + { + $this->sourceFormat = $sourceFormat; + } + public function getSourceFormat() + { + return $this->sourceFormat; + } + public function setSourceUris($sourceUris) + { + $this->sourceUris = $sourceUris; + } + public function getSourceUris() + { + return $this->sourceUris; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Bigquery/GetQueryResultsResponse.php b/vendor/google/apiclient-services/src/Google/Service/Bigquery/GetQueryResultsResponse.php new file mode 100644 index 00000000..9a177fb5 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Bigquery/GetQueryResultsResponse.php @@ -0,0 +1,134 @@ +cacheHit = $cacheHit; + } + public function getCacheHit() + { + return $this->cacheHit; + } + public function setErrors($errors) + { + $this->errors = $errors; + } + public function getErrors() + { + return $this->errors; + } + public function setEtag($etag) + { + $this->etag = $etag; + } + public function getEtag() + { + return $this->etag; + } + public function setJobComplete($jobComplete) + { + $this->jobComplete = $jobComplete; + } + public function getJobComplete() + { + return $this->jobComplete; + } + public function setJobReference(Google_Service_Bigquery_JobReference $jobReference) + { + $this->jobReference = $jobReference; + } + public function getJobReference() + { + return $this->jobReference; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNumDmlAffectedRows($numDmlAffectedRows) + { + $this->numDmlAffectedRows = $numDmlAffectedRows; + } + public function getNumDmlAffectedRows() + { + return $this->numDmlAffectedRows; + } + public function setPageToken($pageToken) + { + $this->pageToken = $pageToken; + } + public function getPageToken() + { + return $this->pageToken; + } + public function setRows($rows) + { + $this->rows = $rows; + } + public function getRows() + { + return $this->rows; + } + public function setSchema(Google_Service_Bigquery_TableSchema $schema) + { + $this->schema = $schema; + } + public function getSchema() + { + return $this->schema; + } + public function setTotalBytesProcessed($totalBytesProcessed) + { + $this->totalBytesProcessed = $totalBytesProcessed; + } + public function getTotalBytesProcessed() + { + return $this->totalBytesProcessed; + } + public function setTotalRows($totalRows) + { + $this->totalRows = $totalRows; + } + public function getTotalRows() + { + return $this->totalRows; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Bigquery/GoogleSheetsOptions.php b/vendor/google/apiclient-services/src/Google/Service/Bigquery/GoogleSheetsOptions.php new file mode 100644 index 00000000..359b6a46 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Bigquery/GoogleSheetsOptions.php @@ -0,0 +1,30 @@ +skipLeadingRows = $skipLeadingRows; + } + public function getSkipLeadingRows() + { + return $this->skipLeadingRows; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Bigquery/Job.php b/vendor/google/apiclient-services/src/Google/Service/Bigquery/Job.php new file mode 100644 index 00000000..67a242a0 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Bigquery/Job.php @@ -0,0 +1,109 @@ + "user_email", + ); + protected $configurationType = 'Google_Service_Bigquery_JobConfiguration'; + protected $configurationDataType = ''; + public $etag; + public $id; + protected $jobReferenceType = 'Google_Service_Bigquery_JobReference'; + protected $jobReferenceDataType = ''; + public $kind; + public $selfLink; + protected $statisticsType = 'Google_Service_Bigquery_JobStatistics'; + protected $statisticsDataType = ''; + protected $statusType = 'Google_Service_Bigquery_JobStatus'; + protected $statusDataType = ''; + public $userEmail; + + public function setConfiguration(Google_Service_Bigquery_JobConfiguration $configuration) + { + $this->configuration = $configuration; + } + public function getConfiguration() + { + return $this->configuration; + } + public function setEtag($etag) + { + $this->etag = $etag; + } + public function getEtag() + { + return $this->etag; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setJobReference(Google_Service_Bigquery_JobReference $jobReference) + { + $this->jobReference = $jobReference; + } + public function getJobReference() + { + return $this->jobReference; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setSelfLink($selfLink) + { + $this->selfLink = $selfLink; + } + public function getSelfLink() + { + return $this->selfLink; + } + public function setStatistics(Google_Service_Bigquery_JobStatistics $statistics) + { + $this->statistics = $statistics; + } + public function getStatistics() + { + return $this->statistics; + } + public function setStatus(Google_Service_Bigquery_JobStatus $status) + { + $this->status = $status; + } + public function getStatus() + { + return $this->status; + } + public function setUserEmail($userEmail) + { + $this->userEmail = $userEmail; + } + public function getUserEmail() + { + return $this->userEmail; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Bigquery/JobCancelResponse.php b/vendor/google/apiclient-services/src/Google/Service/Bigquery/JobCancelResponse.php new file mode 100644 index 00000000..19affed3 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Bigquery/JobCancelResponse.php @@ -0,0 +1,40 @@ +job = $job; + } + public function getJob() + { + return $this->job; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Bigquery/JobConfiguration.php b/vendor/google/apiclient-services/src/Google/Service/Bigquery/JobConfiguration.php new file mode 100644 index 00000000..9a66c970 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Bigquery/JobConfiguration.php @@ -0,0 +1,79 @@ +copy = $copy; + } + public function getCopy() + { + return $this->copy; + } + public function setDryRun($dryRun) + { + $this->dryRun = $dryRun; + } + public function getDryRun() + { + return $this->dryRun; + } + public function setExtract(Google_Service_Bigquery_JobConfigurationExtract $extract) + { + $this->extract = $extract; + } + public function getExtract() + { + return $this->extract; + } + public function setLabels($labels) + { + $this->labels = $labels; + } + public function getLabels() + { + return $this->labels; + } + public function setLoad(Google_Service_Bigquery_JobConfigurationLoad $load) + { + $this->load = $load; + } + public function getLoad() + { + return $this->load; + } + public function setQuery(Google_Service_Bigquery_JobConfigurationQuery $query) + { + $this->query = $query; + } + public function getQuery() + { + return $this->query; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Bigquery/JobConfigurationExtract.php b/vendor/google/apiclient-services/src/Google/Service/Bigquery/JobConfigurationExtract.php new file mode 100644 index 00000000..28cdf78a --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Bigquery/JobConfigurationExtract.php @@ -0,0 +1,86 @@ +compression = $compression; + } + public function getCompression() + { + return $this->compression; + } + public function setDestinationFormat($destinationFormat) + { + $this->destinationFormat = $destinationFormat; + } + public function getDestinationFormat() + { + return $this->destinationFormat; + } + public function setDestinationUri($destinationUri) + { + $this->destinationUri = $destinationUri; + } + public function getDestinationUri() + { + return $this->destinationUri; + } + public function setDestinationUris($destinationUris) + { + $this->destinationUris = $destinationUris; + } + public function getDestinationUris() + { + return $this->destinationUris; + } + public function setFieldDelimiter($fieldDelimiter) + { + $this->fieldDelimiter = $fieldDelimiter; + } + public function getFieldDelimiter() + { + return $this->fieldDelimiter; + } + public function setPrintHeader($printHeader) + { + $this->printHeader = $printHeader; + } + public function getPrintHeader() + { + return $this->printHeader; + } + public function setSourceTable(Google_Service_Bigquery_TableReference $sourceTable) + { + $this->sourceTable = $sourceTable; + } + public function getSourceTable() + { + return $this->sourceTable; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Bigquery/JobConfigurationLoad.php b/vendor/google/apiclient-services/src/Google/Service/Bigquery/JobConfigurationLoad.php new file mode 100644 index 00000000..76e0f436 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Bigquery/JobConfigurationLoad.php @@ -0,0 +1,204 @@ +allowJaggedRows = $allowJaggedRows; + } + public function getAllowJaggedRows() + { + return $this->allowJaggedRows; + } + public function setAllowQuotedNewlines($allowQuotedNewlines) + { + $this->allowQuotedNewlines = $allowQuotedNewlines; + } + public function getAllowQuotedNewlines() + { + return $this->allowQuotedNewlines; + } + public function setAutodetect($autodetect) + { + $this->autodetect = $autodetect; + } + public function getAutodetect() + { + return $this->autodetect; + } + public function setCreateDisposition($createDisposition) + { + $this->createDisposition = $createDisposition; + } + public function getCreateDisposition() + { + return $this->createDisposition; + } + public function setDestinationTable(Google_Service_Bigquery_TableReference $destinationTable) + { + $this->destinationTable = $destinationTable; + } + public function getDestinationTable() + { + return $this->destinationTable; + } + public function setEncoding($encoding) + { + $this->encoding = $encoding; + } + public function getEncoding() + { + return $this->encoding; + } + public function setFieldDelimiter($fieldDelimiter) + { + $this->fieldDelimiter = $fieldDelimiter; + } + public function getFieldDelimiter() + { + return $this->fieldDelimiter; + } + public function setIgnoreUnknownValues($ignoreUnknownValues) + { + $this->ignoreUnknownValues = $ignoreUnknownValues; + } + public function getIgnoreUnknownValues() + { + return $this->ignoreUnknownValues; + } + public function setMaxBadRecords($maxBadRecords) + { + $this->maxBadRecords = $maxBadRecords; + } + public function getMaxBadRecords() + { + return $this->maxBadRecords; + } + public function setNullMarker($nullMarker) + { + $this->nullMarker = $nullMarker; + } + public function getNullMarker() + { + return $this->nullMarker; + } + public function setProjectionFields($projectionFields) + { + $this->projectionFields = $projectionFields; + } + public function getProjectionFields() + { + return $this->projectionFields; + } + public function setQuote($quote) + { + $this->quote = $quote; + } + public function getQuote() + { + return $this->quote; + } + public function setSchema(Google_Service_Bigquery_TableSchema $schema) + { + $this->schema = $schema; + } + public function getSchema() + { + return $this->schema; + } + public function setSchemaInline($schemaInline) + { + $this->schemaInline = $schemaInline; + } + public function getSchemaInline() + { + return $this->schemaInline; + } + public function setSchemaInlineFormat($schemaInlineFormat) + { + $this->schemaInlineFormat = $schemaInlineFormat; + } + public function getSchemaInlineFormat() + { + return $this->schemaInlineFormat; + } + public function setSchemaUpdateOptions($schemaUpdateOptions) + { + $this->schemaUpdateOptions = $schemaUpdateOptions; + } + public function getSchemaUpdateOptions() + { + return $this->schemaUpdateOptions; + } + public function setSkipLeadingRows($skipLeadingRows) + { + $this->skipLeadingRows = $skipLeadingRows; + } + public function getSkipLeadingRows() + { + return $this->skipLeadingRows; + } + public function setSourceFormat($sourceFormat) + { + $this->sourceFormat = $sourceFormat; + } + public function getSourceFormat() + { + return $this->sourceFormat; + } + public function setSourceUris($sourceUris) + { + $this->sourceUris = $sourceUris; + } + public function getSourceUris() + { + return $this->sourceUris; + } + public function setWriteDisposition($writeDisposition) + { + $this->writeDisposition = $writeDisposition; + } + public function getWriteDisposition() + { + return $this->writeDisposition; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Bigquery/JobConfigurationQuery.php b/vendor/google/apiclient-services/src/Google/Service/Bigquery/JobConfigurationQuery.php new file mode 100644 index 00000000..0e4f8462 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Bigquery/JobConfigurationQuery.php @@ -0,0 +1,189 @@ +allowLargeResults = $allowLargeResults; + } + public function getAllowLargeResults() + { + return $this->allowLargeResults; + } + public function setCreateDisposition($createDisposition) + { + $this->createDisposition = $createDisposition; + } + public function getCreateDisposition() + { + return $this->createDisposition; + } + public function setDefaultDataset(Google_Service_Bigquery_DatasetReference $defaultDataset) + { + $this->defaultDataset = $defaultDataset; + } + public function getDefaultDataset() + { + return $this->defaultDataset; + } + public function setDestinationTable(Google_Service_Bigquery_TableReference $destinationTable) + { + $this->destinationTable = $destinationTable; + } + public function getDestinationTable() + { + return $this->destinationTable; + } + public function setFlattenResults($flattenResults) + { + $this->flattenResults = $flattenResults; + } + public function getFlattenResults() + { + return $this->flattenResults; + } + public function setMaximumBillingTier($maximumBillingTier) + { + $this->maximumBillingTier = $maximumBillingTier; + } + public function getMaximumBillingTier() + { + return $this->maximumBillingTier; + } + public function setMaximumBytesBilled($maximumBytesBilled) + { + $this->maximumBytesBilled = $maximumBytesBilled; + } + public function getMaximumBytesBilled() + { + return $this->maximumBytesBilled; + } + public function setParameterMode($parameterMode) + { + $this->parameterMode = $parameterMode; + } + public function getParameterMode() + { + return $this->parameterMode; + } + public function setPreserveNulls($preserveNulls) + { + $this->preserveNulls = $preserveNulls; + } + public function getPreserveNulls() + { + return $this->preserveNulls; + } + public function setPriority($priority) + { + $this->priority = $priority; + } + public function getPriority() + { + return $this->priority; + } + public function setQuery($query) + { + $this->query = $query; + } + public function getQuery() + { + return $this->query; + } + public function setQueryParameters($queryParameters) + { + $this->queryParameters = $queryParameters; + } + public function getQueryParameters() + { + return $this->queryParameters; + } + public function setSchemaUpdateOptions($schemaUpdateOptions) + { + $this->schemaUpdateOptions = $schemaUpdateOptions; + } + public function getSchemaUpdateOptions() + { + return $this->schemaUpdateOptions; + } + public function setTableDefinitions($tableDefinitions) + { + $this->tableDefinitions = $tableDefinitions; + } + public function getTableDefinitions() + { + return $this->tableDefinitions; + } + public function setUseLegacySql($useLegacySql) + { + $this->useLegacySql = $useLegacySql; + } + public function getUseLegacySql() + { + return $this->useLegacySql; + } + public function setUseQueryCache($useQueryCache) + { + $this->useQueryCache = $useQueryCache; + } + public function getUseQueryCache() + { + return $this->useQueryCache; + } + public function setUserDefinedFunctionResources($userDefinedFunctionResources) + { + $this->userDefinedFunctionResources = $userDefinedFunctionResources; + } + public function getUserDefinedFunctionResources() + { + return $this->userDefinedFunctionResources; + } + public function setWriteDisposition($writeDisposition) + { + $this->writeDisposition = $writeDisposition; + } + public function getWriteDisposition() + { + return $this->writeDisposition; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Bigquery/JobConfigurationTableCopy.php b/vendor/google/apiclient-services/src/Google/Service/Bigquery/JobConfigurationTableCopy.php new file mode 100644 index 00000000..d6ba7923 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Bigquery/JobConfigurationTableCopy.php @@ -0,0 +1,70 @@ +createDisposition = $createDisposition; + } + public function getCreateDisposition() + { + return $this->createDisposition; + } + public function setDestinationTable(Google_Service_Bigquery_TableReference $destinationTable) + { + $this->destinationTable = $destinationTable; + } + public function getDestinationTable() + { + return $this->destinationTable; + } + public function setSourceTable(Google_Service_Bigquery_TableReference $sourceTable) + { + $this->sourceTable = $sourceTable; + } + public function getSourceTable() + { + return $this->sourceTable; + } + public function setSourceTables($sourceTables) + { + $this->sourceTables = $sourceTables; + } + public function getSourceTables() + { + return $this->sourceTables; + } + public function setWriteDisposition($writeDisposition) + { + $this->writeDisposition = $writeDisposition; + } + public function getWriteDisposition() + { + return $this->writeDisposition; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Bigquery/JobList.php b/vendor/google/apiclient-services/src/Google/Service/Bigquery/JobList.php new file mode 100644 index 00000000..174c32f7 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Bigquery/JobList.php @@ -0,0 +1,59 @@ +etag = $etag; + } + public function getEtag() + { + return $this->etag; + } + public function setJobs($jobs) + { + $this->jobs = $jobs; + } + public function getJobs() + { + return $this->jobs; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Bigquery/JobListJobs.php b/vendor/google/apiclient-services/src/Google/Service/Bigquery/JobListJobs.php new file mode 100644 index 00000000..36a9a9a6 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Bigquery/JobListJobs.php @@ -0,0 +1,110 @@ + "user_email", + ); + protected $configurationType = 'Google_Service_Bigquery_JobConfiguration'; + protected $configurationDataType = ''; + protected $errorResultType = 'Google_Service_Bigquery_ErrorProto'; + protected $errorResultDataType = ''; + public $id; + protected $jobReferenceType = 'Google_Service_Bigquery_JobReference'; + protected $jobReferenceDataType = ''; + public $kind; + public $state; + protected $statisticsType = 'Google_Service_Bigquery_JobStatistics'; + protected $statisticsDataType = ''; + protected $statusType = 'Google_Service_Bigquery_JobStatus'; + protected $statusDataType = ''; + public $userEmail; + + public function setConfiguration(Google_Service_Bigquery_JobConfiguration $configuration) + { + $this->configuration = $configuration; + } + public function getConfiguration() + { + return $this->configuration; + } + public function setErrorResult(Google_Service_Bigquery_ErrorProto $errorResult) + { + $this->errorResult = $errorResult; + } + public function getErrorResult() + { + return $this->errorResult; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setJobReference(Google_Service_Bigquery_JobReference $jobReference) + { + $this->jobReference = $jobReference; + } + public function getJobReference() + { + return $this->jobReference; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setState($state) + { + $this->state = $state; + } + public function getState() + { + return $this->state; + } + public function setStatistics(Google_Service_Bigquery_JobStatistics $statistics) + { + $this->statistics = $statistics; + } + public function getStatistics() + { + return $this->statistics; + } + public function setStatus(Google_Service_Bigquery_JobStatus $status) + { + $this->status = $status; + } + public function getStatus() + { + return $this->status; + } + public function setUserEmail($userEmail) + { + $this->userEmail = $userEmail; + } + public function getUserEmail() + { + return $this->userEmail; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Bigquery/JobReference.php b/vendor/google/apiclient-services/src/Google/Service/Bigquery/JobReference.php new file mode 100644 index 00000000..696d73aa --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Bigquery/JobReference.php @@ -0,0 +1,39 @@ +jobId = $jobId; + } + public function getJobId() + { + return $this->jobId; + } + public function setProjectId($projectId) + { + $this->projectId = $projectId; + } + public function getProjectId() + { + return $this->projectId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Bigquery/JobStatistics.php b/vendor/google/apiclient-services/src/Google/Service/Bigquery/JobStatistics.php new file mode 100644 index 00000000..865e0281 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Bigquery/JobStatistics.php @@ -0,0 +1,87 @@ +creationTime = $creationTime; + } + public function getCreationTime() + { + return $this->creationTime; + } + public function setEndTime($endTime) + { + $this->endTime = $endTime; + } + public function getEndTime() + { + return $this->endTime; + } + public function setExtract(Google_Service_Bigquery_JobStatistics4 $extract) + { + $this->extract = $extract; + } + public function getExtract() + { + return $this->extract; + } + public function setLoad(Google_Service_Bigquery_JobStatistics3 $load) + { + $this->load = $load; + } + public function getLoad() + { + return $this->load; + } + public function setQuery(Google_Service_Bigquery_JobStatistics2 $query) + { + $this->query = $query; + } + public function getQuery() + { + return $this->query; + } + public function setStartTime($startTime) + { + $this->startTime = $startTime; + } + public function getStartTime() + { + return $this->startTime; + } + public function setTotalBytesProcessed($totalBytesProcessed) + { + $this->totalBytesProcessed = $totalBytesProcessed; + } + public function getTotalBytesProcessed() + { + return $this->totalBytesProcessed; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Bigquery/JobStatistics2.php b/vendor/google/apiclient-services/src/Google/Service/Bigquery/JobStatistics2.php new file mode 100644 index 00000000..7b9ecfa3 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Bigquery/JobStatistics2.php @@ -0,0 +1,116 @@ +billingTier = $billingTier; + } + public function getBillingTier() + { + return $this->billingTier; + } + public function setCacheHit($cacheHit) + { + $this->cacheHit = $cacheHit; + } + public function getCacheHit() + { + return $this->cacheHit; + } + public function setNumDmlAffectedRows($numDmlAffectedRows) + { + $this->numDmlAffectedRows = $numDmlAffectedRows; + } + public function getNumDmlAffectedRows() + { + return $this->numDmlAffectedRows; + } + public function setQueryPlan($queryPlan) + { + $this->queryPlan = $queryPlan; + } + public function getQueryPlan() + { + return $this->queryPlan; + } + public function setReferencedTables($referencedTables) + { + $this->referencedTables = $referencedTables; + } + public function getReferencedTables() + { + return $this->referencedTables; + } + public function setSchema(Google_Service_Bigquery_TableSchema $schema) + { + $this->schema = $schema; + } + public function getSchema() + { + return $this->schema; + } + public function setStatementType($statementType) + { + $this->statementType = $statementType; + } + public function getStatementType() + { + return $this->statementType; + } + public function setTotalBytesBilled($totalBytesBilled) + { + $this->totalBytesBilled = $totalBytesBilled; + } + public function getTotalBytesBilled() + { + return $this->totalBytesBilled; + } + public function setTotalBytesProcessed($totalBytesProcessed) + { + $this->totalBytesProcessed = $totalBytesProcessed; + } + public function getTotalBytesProcessed() + { + return $this->totalBytesProcessed; + } + public function setUndeclaredQueryParameters($undeclaredQueryParameters) + { + $this->undeclaredQueryParameters = $undeclaredQueryParameters; + } + public function getUndeclaredQueryParameters() + { + return $this->undeclaredQueryParameters; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Bigquery/JobStatistics3.php b/vendor/google/apiclient-services/src/Google/Service/Bigquery/JobStatistics3.php new file mode 100644 index 00000000..d2b920d7 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Bigquery/JobStatistics3.php @@ -0,0 +1,57 @@ +inputFileBytes = $inputFileBytes; + } + public function getInputFileBytes() + { + return $this->inputFileBytes; + } + public function setInputFiles($inputFiles) + { + $this->inputFiles = $inputFiles; + } + public function getInputFiles() + { + return $this->inputFiles; + } + public function setOutputBytes($outputBytes) + { + $this->outputBytes = $outputBytes; + } + public function getOutputBytes() + { + return $this->outputBytes; + } + public function setOutputRows($outputRows) + { + $this->outputRows = $outputRows; + } + public function getOutputRows() + { + return $this->outputRows; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Bigquery/JobStatistics4.php b/vendor/google/apiclient-services/src/Google/Service/Bigquery/JobStatistics4.php new file mode 100644 index 00000000..d9aebbf3 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Bigquery/JobStatistics4.php @@ -0,0 +1,31 @@ +destinationUriFileCounts = $destinationUriFileCounts; + } + public function getDestinationUriFileCounts() + { + return $this->destinationUriFileCounts; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Bigquery/JobStatus.php b/vendor/google/apiclient-services/src/Google/Service/Bigquery/JobStatus.php new file mode 100644 index 00000000..8afca757 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Bigquery/JobStatus.php @@ -0,0 +1,51 @@ +errorResult = $errorResult; + } + public function getErrorResult() + { + return $this->errorResult; + } + public function setErrors($errors) + { + $this->errors = $errors; + } + public function getErrors() + { + return $this->errors; + } + public function setState($state) + { + $this->state = $state; + } + public function getState() + { + return $this->state; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Bigquery/ProjectList.php b/vendor/google/apiclient-services/src/Google/Service/Bigquery/ProjectList.php new file mode 100644 index 00000000..aa55920c --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Bigquery/ProjectList.php @@ -0,0 +1,68 @@ +etag = $etag; + } + public function getEtag() + { + return $this->etag; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setProjects($projects) + { + $this->projects = $projects; + } + public function getProjects() + { + return $this->projects; + } + public function setTotalItems($totalItems) + { + $this->totalItems = $totalItems; + } + public function getTotalItems() + { + return $this->totalItems; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Bigquery/ProjectListProjects.php b/vendor/google/apiclient-services/src/Google/Service/Bigquery/ProjectListProjects.php new file mode 100644 index 00000000..eef33842 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Bigquery/ProjectListProjects.php @@ -0,0 +1,67 @@ +friendlyName = $friendlyName; + } + public function getFriendlyName() + { + return $this->friendlyName; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNumericId($numericId) + { + $this->numericId = $numericId; + } + public function getNumericId() + { + return $this->numericId; + } + public function setProjectReference(Google_Service_Bigquery_ProjectReference $projectReference) + { + $this->projectReference = $projectReference; + } + public function getProjectReference() + { + return $this->projectReference; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Bigquery/ProjectReference.php b/vendor/google/apiclient-services/src/Google/Service/Bigquery/ProjectReference.php new file mode 100644 index 00000000..4f9fb3e4 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Bigquery/ProjectReference.php @@ -0,0 +1,30 @@ +projectId = $projectId; + } + public function getProjectId() + { + return $this->projectId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Bigquery/QueryParameter.php b/vendor/google/apiclient-services/src/Google/Service/Bigquery/QueryParameter.php new file mode 100644 index 00000000..b8e35a83 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Bigquery/QueryParameter.php @@ -0,0 +1,50 @@ +name = $name; + } + public function getName() + { + return $this->name; + } + public function setParameterType(Google_Service_Bigquery_QueryParameterType $parameterType) + { + $this->parameterType = $parameterType; + } + public function getParameterType() + { + return $this->parameterType; + } + public function setParameterValue(Google_Service_Bigquery_QueryParameterValue $parameterValue) + { + $this->parameterValue = $parameterValue; + } + public function getParameterValue() + { + return $this->parameterValue; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Bigquery/QueryParameterType.php b/vendor/google/apiclient-services/src/Google/Service/Bigquery/QueryParameterType.php new file mode 100644 index 00000000..12dcb449 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Bigquery/QueryParameterType.php @@ -0,0 +1,51 @@ +arrayType = $arrayType; + } + public function getArrayType() + { + return $this->arrayType; + } + public function setStructTypes($structTypes) + { + $this->structTypes = $structTypes; + } + public function getStructTypes() + { + return $this->structTypes; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Bigquery/QueryParameterTypeStructTypes.php b/vendor/google/apiclient-services/src/Google/Service/Bigquery/QueryParameterTypeStructTypes.php new file mode 100644 index 00000000..00f9f890 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Bigquery/QueryParameterTypeStructTypes.php @@ -0,0 +1,49 @@ +description = $description; + } + public function getDescription() + { + return $this->description; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setType(Google_Service_Bigquery_QueryParameterType $type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Bigquery/QueryParameterValue.php b/vendor/google/apiclient-services/src/Google/Service/Bigquery/QueryParameterValue.php new file mode 100644 index 00000000..46f629c6 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Bigquery/QueryParameterValue.php @@ -0,0 +1,51 @@ +arrayValues = $arrayValues; + } + public function getArrayValues() + { + return $this->arrayValues; + } + public function setStructValues($structValues) + { + $this->structValues = $structValues; + } + public function getStructValues() + { + return $this->structValues; + } + public function setValue($value) + { + $this->value = $value; + } + public function getValue() + { + return $this->value; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Bigquery/QueryRequest.php b/vendor/google/apiclient-services/src/Google/Service/Bigquery/QueryRequest.php new file mode 100644 index 00000000..7b1d5423 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Bigquery/QueryRequest.php @@ -0,0 +1,123 @@ +defaultDataset = $defaultDataset; + } + public function getDefaultDataset() + { + return $this->defaultDataset; + } + public function setDryRun($dryRun) + { + $this->dryRun = $dryRun; + } + public function getDryRun() + { + return $this->dryRun; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setMaxResults($maxResults) + { + $this->maxResults = $maxResults; + } + public function getMaxResults() + { + return $this->maxResults; + } + public function setParameterMode($parameterMode) + { + $this->parameterMode = $parameterMode; + } + public function getParameterMode() + { + return $this->parameterMode; + } + public function setPreserveNulls($preserveNulls) + { + $this->preserveNulls = $preserveNulls; + } + public function getPreserveNulls() + { + return $this->preserveNulls; + } + public function setQuery($query) + { + $this->query = $query; + } + public function getQuery() + { + return $this->query; + } + public function setQueryParameters($queryParameters) + { + $this->queryParameters = $queryParameters; + } + public function getQueryParameters() + { + return $this->queryParameters; + } + public function setTimeoutMs($timeoutMs) + { + $this->timeoutMs = $timeoutMs; + } + public function getTimeoutMs() + { + return $this->timeoutMs; + } + public function setUseLegacySql($useLegacySql) + { + $this->useLegacySql = $useLegacySql; + } + public function getUseLegacySql() + { + return $this->useLegacySql; + } + public function setUseQueryCache($useQueryCache) + { + $this->useQueryCache = $useQueryCache; + } + public function getUseQueryCache() + { + return $this->useQueryCache; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Bigquery/QueryResponse.php b/vendor/google/apiclient-services/src/Google/Service/Bigquery/QueryResponse.php new file mode 100644 index 00000000..7736968a --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Bigquery/QueryResponse.php @@ -0,0 +1,125 @@ +cacheHit = $cacheHit; + } + public function getCacheHit() + { + return $this->cacheHit; + } + public function setErrors($errors) + { + $this->errors = $errors; + } + public function getErrors() + { + return $this->errors; + } + public function setJobComplete($jobComplete) + { + $this->jobComplete = $jobComplete; + } + public function getJobComplete() + { + return $this->jobComplete; + } + public function setJobReference(Google_Service_Bigquery_JobReference $jobReference) + { + $this->jobReference = $jobReference; + } + public function getJobReference() + { + return $this->jobReference; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNumDmlAffectedRows($numDmlAffectedRows) + { + $this->numDmlAffectedRows = $numDmlAffectedRows; + } + public function getNumDmlAffectedRows() + { + return $this->numDmlAffectedRows; + } + public function setPageToken($pageToken) + { + $this->pageToken = $pageToken; + } + public function getPageToken() + { + return $this->pageToken; + } + public function setRows($rows) + { + $this->rows = $rows; + } + public function getRows() + { + return $this->rows; + } + public function setSchema(Google_Service_Bigquery_TableSchema $schema) + { + $this->schema = $schema; + } + public function getSchema() + { + return $this->schema; + } + public function setTotalBytesProcessed($totalBytesProcessed) + { + $this->totalBytesProcessed = $totalBytesProcessed; + } + public function getTotalBytesProcessed() + { + return $this->totalBytesProcessed; + } + public function setTotalRows($totalRows) + { + $this->totalRows = $totalRows; + } + public function getTotalRows() + { + return $this->totalRows; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Bigquery/Resource/Datasets.php b/vendor/google/apiclient-services/src/Google/Service/Bigquery/Resource/Datasets.php new file mode 100644 index 00000000..ebe9716a --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Bigquery/Resource/Datasets.php @@ -0,0 +1,134 @@ + + * $bigqueryService = new Google_Service_Bigquery(...); + * $datasets = $bigqueryService->datasets; + * + */ +class Google_Service_Bigquery_Resource_Datasets extends Google_Service_Resource +{ + /** + * Deletes the dataset specified by the datasetId value. Before you can delete a + * dataset, you must delete all its tables, either manually or by specifying + * deleteContents. Immediately after deletion, you can create another dataset + * with the same name. (datasets.delete) + * + * @param string $projectId Project ID of the dataset being deleted + * @param string $datasetId Dataset ID of dataset being deleted + * @param array $optParams Optional parameters. + * + * @opt_param bool deleteContents If True, delete all the tables in the dataset. + * If False and the dataset contains tables, the request will fail. Default is + * False + */ + public function delete($projectId, $datasetId, $optParams = array()) + { + $params = array('projectId' => $projectId, 'datasetId' => $datasetId); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params)); + } + /** + * Returns the dataset specified by datasetID. (datasets.get) + * + * @param string $projectId Project ID of the requested dataset + * @param string $datasetId Dataset ID of the requested dataset + * @param array $optParams Optional parameters. + * @return Google_Service_Bigquery_Dataset + */ + public function get($projectId, $datasetId, $optParams = array()) + { + $params = array('projectId' => $projectId, 'datasetId' => $datasetId); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Bigquery_Dataset"); + } + /** + * Creates a new empty dataset. (datasets.insert) + * + * @param string $projectId Project ID of the new dataset + * @param Google_Service_Bigquery_Dataset $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Bigquery_Dataset + */ + public function insert($projectId, Google_Service_Bigquery_Dataset $postBody, $optParams = array()) + { + $params = array('projectId' => $projectId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('insert', array($params), "Google_Service_Bigquery_Dataset"); + } + /** + * Lists all datasets in the specified project to which you have been granted + * the READER dataset role. (datasets.listDatasets) + * + * @param string $projectId Project ID of the datasets to be listed + * @param array $optParams Optional parameters. + * + * @opt_param bool all Whether to list all datasets, including hidden ones + * @opt_param string filter An expression for filtering the results of the + * request by label. The syntax is "labels.[:]". Multiple filters can be ANDed + * together by connecting with a space. Example: "labels.department:receiving + * labels.active". See Filtering datasets using labels for details. + * @opt_param string maxResults The maximum number of results to return + * @opt_param string pageToken Page token, returned by a previous call, to + * request the next page of results + * @return Google_Service_Bigquery_DatasetList + */ + public function listDatasets($projectId, $optParams = array()) + { + $params = array('projectId' => $projectId); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Bigquery_DatasetList"); + } + /** + * Updates information in an existing dataset. The update method replaces the + * entire dataset resource, whereas the patch method only replaces fields that + * are provided in the submitted dataset resource. This method supports patch + * semantics. (datasets.patch) + * + * @param string $projectId Project ID of the dataset being updated + * @param string $datasetId Dataset ID of the dataset being updated + * @param Google_Service_Bigquery_Dataset $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Bigquery_Dataset + */ + public function patch($projectId, $datasetId, Google_Service_Bigquery_Dataset $postBody, $optParams = array()) + { + $params = array('projectId' => $projectId, 'datasetId' => $datasetId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('patch', array($params), "Google_Service_Bigquery_Dataset"); + } + /** + * Updates information in an existing dataset. The update method replaces the + * entire dataset resource, whereas the patch method only replaces fields that + * are provided in the submitted dataset resource. (datasets.update) + * + * @param string $projectId Project ID of the dataset being updated + * @param string $datasetId Dataset ID of the dataset being updated + * @param Google_Service_Bigquery_Dataset $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Bigquery_Dataset + */ + public function update($projectId, $datasetId, Google_Service_Bigquery_Dataset $postBody, $optParams = array()) + { + $params = array('projectId' => $projectId, 'datasetId' => $datasetId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('update', array($params), "Google_Service_Bigquery_Dataset"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Bigquery/Resource/Jobs.php b/vendor/google/apiclient-services/src/Google/Service/Bigquery/Resource/Jobs.php new file mode 100644 index 00000000..adc6f241 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Bigquery/Resource/Jobs.php @@ -0,0 +1,140 @@ + + * $bigqueryService = new Google_Service_Bigquery(...); + * $jobs = $bigqueryService->jobs; + * + */ +class Google_Service_Bigquery_Resource_Jobs extends Google_Service_Resource +{ + /** + * Requests that a job be cancelled. This call will return immediately, and the + * client will need to poll for the job status to see if the cancel completed + * successfully. Cancelled jobs may still incur costs. (jobs.cancel) + * + * @param string $projectId [Required] Project ID of the job to cancel + * @param string $jobId [Required] Job ID of the job to cancel + * @param array $optParams Optional parameters. + * @return Google_Service_Bigquery_JobCancelResponse + */ + public function cancel($projectId, $jobId, $optParams = array()) + { + $params = array('projectId' => $projectId, 'jobId' => $jobId); + $params = array_merge($params, $optParams); + return $this->call('cancel', array($params), "Google_Service_Bigquery_JobCancelResponse"); + } + /** + * Returns information about a specific job. Job information is available for a + * six month period after creation. Requires that you're the person who ran the + * job, or have the Is Owner project role. (jobs.get) + * + * @param string $projectId [Required] Project ID of the requested job + * @param string $jobId [Required] Job ID of the requested job + * @param array $optParams Optional parameters. + * @return Google_Service_Bigquery_Job + */ + public function get($projectId, $jobId, $optParams = array()) + { + $params = array('projectId' => $projectId, 'jobId' => $jobId); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Bigquery_Job"); + } + /** + * Retrieves the results of a query job. (jobs.getQueryResults) + * + * @param string $projectId [Required] Project ID of the query job + * @param string $jobId [Required] Job ID of the query job + * @param array $optParams Optional parameters. + * + * @opt_param string maxResults Maximum number of results to read + * @opt_param string pageToken Page token, returned by a previous call, to + * request the next page of results + * @opt_param string startIndex Zero-based index of the starting row + * @opt_param string timeoutMs How long to wait for the query to complete, in + * milliseconds, before returning. Default is 10 seconds. If the timeout passes + * before the job completes, the 'jobComplete' field in the response will be + * false + * @return Google_Service_Bigquery_GetQueryResultsResponse + */ + public function getQueryResults($projectId, $jobId, $optParams = array()) + { + $params = array('projectId' => $projectId, 'jobId' => $jobId); + $params = array_merge($params, $optParams); + return $this->call('getQueryResults', array($params), "Google_Service_Bigquery_GetQueryResultsResponse"); + } + /** + * Starts a new asynchronous job. Requires the Can View project role. + * (jobs.insert) + * + * @param string $projectId Project ID of the project that will be billed for + * the job + * @param Google_Service_Bigquery_Job $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Bigquery_Job + */ + public function insert($projectId, Google_Service_Bigquery_Job $postBody, $optParams = array()) + { + $params = array('projectId' => $projectId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('insert', array($params), "Google_Service_Bigquery_Job"); + } + /** + * Lists all jobs that you started in the specified project. Job information is + * available for a six month period after creation. The job list is sorted in + * reverse chronological order, by job creation time. Requires the Can View + * project role, or the Is Owner project role if you set the allUsers property. + * (jobs.listJobs) + * + * @param string $projectId Project ID of the jobs to list + * @param array $optParams Optional parameters. + * + * @opt_param bool allUsers Whether to display jobs owned by all users in the + * project. Default false + * @opt_param string maxResults Maximum number of results to return + * @opt_param string pageToken Page token, returned by a previous call, to + * request the next page of results + * @opt_param string projection Restrict information returned to a set of + * selected fields + * @opt_param string stateFilter Filter for job state + * @return Google_Service_Bigquery_JobList + */ + public function listJobs($projectId, $optParams = array()) + { + $params = array('projectId' => $projectId); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Bigquery_JobList"); + } + /** + * Runs a BigQuery SQL query synchronously and returns query results if the + * query completes within a specified timeout. (jobs.query) + * + * @param string $projectId Project ID of the project billed for the query + * @param Google_Service_Bigquery_QueryRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Bigquery_QueryResponse + */ + public function query($projectId, Google_Service_Bigquery_QueryRequest $postBody, $optParams = array()) + { + $params = array('projectId' => $projectId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('query', array($params), "Google_Service_Bigquery_QueryResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Bigquery/Resource/Projects.php b/vendor/google/apiclient-services/src/Google/Service/Bigquery/Resource/Projects.php new file mode 100644 index 00000000..a14b0e18 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Bigquery/Resource/Projects.php @@ -0,0 +1,45 @@ + + * $bigqueryService = new Google_Service_Bigquery(...); + * $projects = $bigqueryService->projects; + * + */ +class Google_Service_Bigquery_Resource_Projects extends Google_Service_Resource +{ + /** + * Lists all projects to which you have been granted any project role. + * (projects.listProjects) + * + * @param array $optParams Optional parameters. + * + * @opt_param string maxResults Maximum number of results to return + * @opt_param string pageToken Page token, returned by a previous call, to + * request the next page of results + * @return Google_Service_Bigquery_ProjectList + */ + public function listProjects($optParams = array()) + { + $params = array(); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Bigquery_ProjectList"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Bigquery/Resource/Tabledata.php b/vendor/google/apiclient-services/src/Google/Service/Bigquery/Resource/Tabledata.php new file mode 100644 index 00000000..c0984a19 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Bigquery/Resource/Tabledata.php @@ -0,0 +1,66 @@ + + * $bigqueryService = new Google_Service_Bigquery(...); + * $tabledata = $bigqueryService->tabledata; + * + */ +class Google_Service_Bigquery_Resource_Tabledata extends Google_Service_Resource +{ + /** + * Streams data into BigQuery one record at a time without needing to run a load + * job. Requires the WRITER dataset role. (tabledata.insertAll) + * + * @param string $projectId Project ID of the destination table. + * @param string $datasetId Dataset ID of the destination table. + * @param string $tableId Table ID of the destination table. + * @param Google_Service_Bigquery_TableDataInsertAllRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Bigquery_TableDataInsertAllResponse + */ + public function insertAll($projectId, $datasetId, $tableId, Google_Service_Bigquery_TableDataInsertAllRequest $postBody, $optParams = array()) + { + $params = array('projectId' => $projectId, 'datasetId' => $datasetId, 'tableId' => $tableId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('insertAll', array($params), "Google_Service_Bigquery_TableDataInsertAllResponse"); + } + /** + * Retrieves table data from a specified set of rows. Requires the READER + * dataset role. (tabledata.listTabledata) + * + * @param string $projectId Project ID of the table to read + * @param string $datasetId Dataset ID of the table to read + * @param string $tableId Table ID of the table to read + * @param array $optParams Optional parameters. + * + * @opt_param string maxResults Maximum number of results to return + * @opt_param string pageToken Page token, returned by a previous call, + * identifying the result set + * @opt_param string startIndex Zero-based index of the starting row to read + * @return Google_Service_Bigquery_TableDataList + */ + public function listTabledata($projectId, $datasetId, $tableId, $optParams = array()) + { + $params = array('projectId' => $projectId, 'datasetId' => $datasetId, 'tableId' => $tableId); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Bigquery_TableDataList"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Bigquery/Resource/Tables.php b/vendor/google/apiclient-services/src/Google/Service/Bigquery/Resource/Tables.php new file mode 100644 index 00000000..063bddfb --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Bigquery/Resource/Tables.php @@ -0,0 +1,131 @@ + + * $bigqueryService = new Google_Service_Bigquery(...); + * $tables = $bigqueryService->tables; + * + */ +class Google_Service_Bigquery_Resource_Tables extends Google_Service_Resource +{ + /** + * Deletes the table specified by tableId from the dataset. If the table + * contains data, all the data will be deleted. (tables.delete) + * + * @param string $projectId Project ID of the table to delete + * @param string $datasetId Dataset ID of the table to delete + * @param string $tableId Table ID of the table to delete + * @param array $optParams Optional parameters. + */ + public function delete($projectId, $datasetId, $tableId, $optParams = array()) + { + $params = array('projectId' => $projectId, 'datasetId' => $datasetId, 'tableId' => $tableId); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params)); + } + /** + * Gets the specified table resource by table ID. This method does not return + * the data in the table, it only returns the table resource, which describes + * the structure of this table. (tables.get) + * + * @param string $projectId Project ID of the requested table + * @param string $datasetId Dataset ID of the requested table + * @param string $tableId Table ID of the requested table + * @param array $optParams Optional parameters. + * @return Google_Service_Bigquery_Table + */ + public function get($projectId, $datasetId, $tableId, $optParams = array()) + { + $params = array('projectId' => $projectId, 'datasetId' => $datasetId, 'tableId' => $tableId); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Bigquery_Table"); + } + /** + * Creates a new, empty table in the dataset. (tables.insert) + * + * @param string $projectId Project ID of the new table + * @param string $datasetId Dataset ID of the new table + * @param Google_Service_Bigquery_Table $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Bigquery_Table + */ + public function insert($projectId, $datasetId, Google_Service_Bigquery_Table $postBody, $optParams = array()) + { + $params = array('projectId' => $projectId, 'datasetId' => $datasetId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('insert', array($params), "Google_Service_Bigquery_Table"); + } + /** + * Lists all tables in the specified dataset. Requires the READER dataset role. + * (tables.listTables) + * + * @param string $projectId Project ID of the tables to list + * @param string $datasetId Dataset ID of the tables to list + * @param array $optParams Optional parameters. + * + * @opt_param string maxResults Maximum number of results to return + * @opt_param string pageToken Page token, returned by a previous call, to + * request the next page of results + * @return Google_Service_Bigquery_TableList + */ + public function listTables($projectId, $datasetId, $optParams = array()) + { + $params = array('projectId' => $projectId, 'datasetId' => $datasetId); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Bigquery_TableList"); + } + /** + * Updates information in an existing table. The update method replaces the + * entire table resource, whereas the patch method only replaces fields that are + * provided in the submitted table resource. This method supports patch + * semantics. (tables.patch) + * + * @param string $projectId Project ID of the table to update + * @param string $datasetId Dataset ID of the table to update + * @param string $tableId Table ID of the table to update + * @param Google_Service_Bigquery_Table $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Bigquery_Table + */ + public function patch($projectId, $datasetId, $tableId, Google_Service_Bigquery_Table $postBody, $optParams = array()) + { + $params = array('projectId' => $projectId, 'datasetId' => $datasetId, 'tableId' => $tableId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('patch', array($params), "Google_Service_Bigquery_Table"); + } + /** + * Updates information in an existing table. The update method replaces the + * entire table resource, whereas the patch method only replaces fields that are + * provided in the submitted table resource. (tables.update) + * + * @param string $projectId Project ID of the table to update + * @param string $datasetId Dataset ID of the table to update + * @param string $tableId Table ID of the table to update + * @param Google_Service_Bigquery_Table $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Bigquery_Table + */ + public function update($projectId, $datasetId, $tableId, Google_Service_Bigquery_Table $postBody, $optParams = array()) + { + $params = array('projectId' => $projectId, 'datasetId' => $datasetId, 'tableId' => $tableId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('update', array($params), "Google_Service_Bigquery_Table"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Bigquery/Streamingbuffer.php b/vendor/google/apiclient-services/src/Google/Service/Bigquery/Streamingbuffer.php new file mode 100644 index 00000000..4bf63704 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Bigquery/Streamingbuffer.php @@ -0,0 +1,48 @@ +estimatedBytes = $estimatedBytes; + } + public function getEstimatedBytes() + { + return $this->estimatedBytes; + } + public function setEstimatedRows($estimatedRows) + { + $this->estimatedRows = $estimatedRows; + } + public function getEstimatedRows() + { + return $this->estimatedRows; + } + public function setOldestEntryTime($oldestEntryTime) + { + $this->oldestEntryTime = $oldestEntryTime; + } + public function getOldestEntryTime() + { + return $this->oldestEntryTime; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Bigquery/Table.php b/vendor/google/apiclient-services/src/Google/Service/Bigquery/Table.php new file mode 100644 index 00000000..6d6521fd --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Bigquery/Table.php @@ -0,0 +1,216 @@ +creationTime = $creationTime; + } + public function getCreationTime() + { + return $this->creationTime; + } + public function setDescription($description) + { + $this->description = $description; + } + public function getDescription() + { + return $this->description; + } + public function setEtag($etag) + { + $this->etag = $etag; + } + public function getEtag() + { + return $this->etag; + } + public function setExpirationTime($expirationTime) + { + $this->expirationTime = $expirationTime; + } + public function getExpirationTime() + { + return $this->expirationTime; + } + public function setExternalDataConfiguration(Google_Service_Bigquery_ExternalDataConfiguration $externalDataConfiguration) + { + $this->externalDataConfiguration = $externalDataConfiguration; + } + public function getExternalDataConfiguration() + { + return $this->externalDataConfiguration; + } + public function setFriendlyName($friendlyName) + { + $this->friendlyName = $friendlyName; + } + public function getFriendlyName() + { + return $this->friendlyName; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setLabels($labels) + { + $this->labels = $labels; + } + public function getLabels() + { + return $this->labels; + } + public function setLastModifiedTime($lastModifiedTime) + { + $this->lastModifiedTime = $lastModifiedTime; + } + public function getLastModifiedTime() + { + return $this->lastModifiedTime; + } + public function setLocation($location) + { + $this->location = $location; + } + public function getLocation() + { + return $this->location; + } + public function setNumBytes($numBytes) + { + $this->numBytes = $numBytes; + } + public function getNumBytes() + { + return $this->numBytes; + } + public function setNumLongTermBytes($numLongTermBytes) + { + $this->numLongTermBytes = $numLongTermBytes; + } + public function getNumLongTermBytes() + { + return $this->numLongTermBytes; + } + public function setNumRows($numRows) + { + $this->numRows = $numRows; + } + public function getNumRows() + { + return $this->numRows; + } + public function setSchema(Google_Service_Bigquery_TableSchema $schema) + { + $this->schema = $schema; + } + public function getSchema() + { + return $this->schema; + } + public function setSelfLink($selfLink) + { + $this->selfLink = $selfLink; + } + public function getSelfLink() + { + return $this->selfLink; + } + public function setStreamingBuffer(Google_Service_Bigquery_Streamingbuffer $streamingBuffer) + { + $this->streamingBuffer = $streamingBuffer; + } + public function getStreamingBuffer() + { + return $this->streamingBuffer; + } + public function setTableReference(Google_Service_Bigquery_TableReference $tableReference) + { + $this->tableReference = $tableReference; + } + public function getTableReference() + { + return $this->tableReference; + } + public function setTimePartitioning(Google_Service_Bigquery_TimePartitioning $timePartitioning) + { + $this->timePartitioning = $timePartitioning; + } + public function getTimePartitioning() + { + return $this->timePartitioning; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } + public function setView(Google_Service_Bigquery_ViewDefinition $view) + { + $this->view = $view; + } + public function getView() + { + return $this->view; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Bigquery/TableCell.php b/vendor/google/apiclient-services/src/Google/Service/Bigquery/TableCell.php new file mode 100644 index 00000000..29909c03 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Bigquery/TableCell.php @@ -0,0 +1,30 @@ +v = $v; + } + public function getV() + { + return $this->v; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Bigquery/TableDataInsertAllRequest.php b/vendor/google/apiclient-services/src/Google/Service/Bigquery/TableDataInsertAllRequest.php new file mode 100644 index 00000000..70b6cd7b --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Bigquery/TableDataInsertAllRequest.php @@ -0,0 +1,68 @@ +ignoreUnknownValues = $ignoreUnknownValues; + } + public function getIgnoreUnknownValues() + { + return $this->ignoreUnknownValues; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setRows($rows) + { + $this->rows = $rows; + } + public function getRows() + { + return $this->rows; + } + public function setSkipInvalidRows($skipInvalidRows) + { + $this->skipInvalidRows = $skipInvalidRows; + } + public function getSkipInvalidRows() + { + return $this->skipInvalidRows; + } + public function setTemplateSuffix($templateSuffix) + { + $this->templateSuffix = $templateSuffix; + } + public function getTemplateSuffix() + { + return $this->templateSuffix; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Bigquery/TableDataInsertAllRequestRows.php b/vendor/google/apiclient-services/src/Google/Service/Bigquery/TableDataInsertAllRequestRows.php new file mode 100644 index 00000000..9467a738 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Bigquery/TableDataInsertAllRequestRows.php @@ -0,0 +1,39 @@ +insertId = $insertId; + } + public function getInsertId() + { + return $this->insertId; + } + public function setJson($json) + { + $this->json = $json; + } + public function getJson() + { + return $this->json; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Bigquery/TableDataInsertAllResponse.php b/vendor/google/apiclient-services/src/Google/Service/Bigquery/TableDataInsertAllResponse.php new file mode 100644 index 00000000..09e42b02 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Bigquery/TableDataInsertAllResponse.php @@ -0,0 +1,41 @@ +insertErrors = $insertErrors; + } + public function getInsertErrors() + { + return $this->insertErrors; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Bigquery/TableDataInsertAllResponseInsertErrors.php b/vendor/google/apiclient-services/src/Google/Service/Bigquery/TableDataInsertAllResponseInsertErrors.php new file mode 100644 index 00000000..28c7b4f4 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Bigquery/TableDataInsertAllResponseInsertErrors.php @@ -0,0 +1,41 @@ +errors = $errors; + } + public function getErrors() + { + return $this->errors; + } + public function setIndex($index) + { + $this->index = $index; + } + public function getIndex() + { + return $this->index; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Bigquery/TableDataList.php b/vendor/google/apiclient-services/src/Google/Service/Bigquery/TableDataList.php new file mode 100644 index 00000000..0faf8c73 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Bigquery/TableDataList.php @@ -0,0 +1,68 @@ +etag = $etag; + } + public function getEtag() + { + return $this->etag; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setPageToken($pageToken) + { + $this->pageToken = $pageToken; + } + public function getPageToken() + { + return $this->pageToken; + } + public function setRows($rows) + { + $this->rows = $rows; + } + public function getRows() + { + return $this->rows; + } + public function setTotalRows($totalRows) + { + $this->totalRows = $totalRows; + } + public function getTotalRows() + { + return $this->totalRows; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Bigquery/TableFieldSchema.php b/vendor/google/apiclient-services/src/Google/Service/Bigquery/TableFieldSchema.php new file mode 100644 index 00000000..140fbece --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Bigquery/TableFieldSchema.php @@ -0,0 +1,68 @@ +description = $description; + } + public function getDescription() + { + return $this->description; + } + public function setFields($fields) + { + $this->fields = $fields; + } + public function getFields() + { + return $this->fields; + } + public function setMode($mode) + { + $this->mode = $mode; + } + public function getMode() + { + return $this->mode; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Bigquery/TableList.php b/vendor/google/apiclient-services/src/Google/Service/Bigquery/TableList.php new file mode 100644 index 00000000..1c471637 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Bigquery/TableList.php @@ -0,0 +1,68 @@ +etag = $etag; + } + public function getEtag() + { + return $this->etag; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setTables($tables) + { + $this->tables = $tables; + } + public function getTables() + { + return $this->tables; + } + public function setTotalItems($totalItems) + { + $this->totalItems = $totalItems; + } + public function getTotalItems() + { + return $this->totalItems; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Bigquery/TableListTables.php b/vendor/google/apiclient-services/src/Google/Service/Bigquery/TableListTables.php new file mode 100644 index 00000000..08aecbae --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Bigquery/TableListTables.php @@ -0,0 +1,86 @@ +friendlyName = $friendlyName; + } + public function getFriendlyName() + { + return $this->friendlyName; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setLabels($labels) + { + $this->labels = $labels; + } + public function getLabels() + { + return $this->labels; + } + public function setTableReference(Google_Service_Bigquery_TableReference $tableReference) + { + $this->tableReference = $tableReference; + } + public function getTableReference() + { + return $this->tableReference; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } + public function setView(Google_Service_Bigquery_TableListTablesView $view) + { + $this->view = $view; + } + public function getView() + { + return $this->view; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Bigquery/TableListTablesView.php b/vendor/google/apiclient-services/src/Google/Service/Bigquery/TableListTablesView.php new file mode 100644 index 00000000..75cd863a --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Bigquery/TableListTablesView.php @@ -0,0 +1,30 @@ +useLegacySql = $useLegacySql; + } + public function getUseLegacySql() + { + return $this->useLegacySql; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Bigquery/TableReference.php b/vendor/google/apiclient-services/src/Google/Service/Bigquery/TableReference.php new file mode 100644 index 00000000..9f6f5043 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Bigquery/TableReference.php @@ -0,0 +1,48 @@ +datasetId = $datasetId; + } + public function getDatasetId() + { + return $this->datasetId; + } + public function setProjectId($projectId) + { + $this->projectId = $projectId; + } + public function getProjectId() + { + return $this->projectId; + } + public function setTableId($tableId) + { + $this->tableId = $tableId; + } + public function getTableId() + { + return $this->tableId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Bigquery/TableRow.php b/vendor/google/apiclient-services/src/Google/Service/Bigquery/TableRow.php new file mode 100644 index 00000000..2d6a0190 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Bigquery/TableRow.php @@ -0,0 +1,32 @@ +f = $f; + } + public function getF() + { + return $this->f; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Bigquery/TableSchema.php b/vendor/google/apiclient-services/src/Google/Service/Bigquery/TableSchema.php new file mode 100644 index 00000000..9f0266e1 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Bigquery/TableSchema.php @@ -0,0 +1,32 @@ +fields = $fields; + } + public function getFields() + { + return $this->fields; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Bigquery/TimePartitioning.php b/vendor/google/apiclient-services/src/Google/Service/Bigquery/TimePartitioning.php new file mode 100644 index 00000000..c89e2b66 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Bigquery/TimePartitioning.php @@ -0,0 +1,39 @@ +expirationMs = $expirationMs; + } + public function getExpirationMs() + { + return $this->expirationMs; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Bigquery/UserDefinedFunctionResource.php b/vendor/google/apiclient-services/src/Google/Service/Bigquery/UserDefinedFunctionResource.php new file mode 100644 index 00000000..60d19d52 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Bigquery/UserDefinedFunctionResource.php @@ -0,0 +1,39 @@ +inlineCode = $inlineCode; + } + public function getInlineCode() + { + return $this->inlineCode; + } + public function setResourceUri($resourceUri) + { + $this->resourceUri = $resourceUri; + } + public function getResourceUri() + { + return $this->resourceUri; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Bigquery/ViewDefinition.php b/vendor/google/apiclient-services/src/Google/Service/Bigquery/ViewDefinition.php new file mode 100644 index 00000000..1692c994 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Bigquery/ViewDefinition.php @@ -0,0 +1,50 @@ +query = $query; + } + public function getQuery() + { + return $this->query; + } + public function setUseLegacySql($useLegacySql) + { + $this->useLegacySql = $useLegacySql; + } + public function getUseLegacySql() + { + return $this->useLegacySql; + } + public function setUserDefinedFunctionResources($userDefinedFunctionResources) + { + $this->userDefinedFunctionResources = $userDefinedFunctionResources; + } + public function getUserDefinedFunctionResources() + { + return $this->userDefinedFunctionResources; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Blogger.php b/vendor/google/apiclient-services/src/Google/Service/Blogger.php new file mode 100644 index 00000000..f8560dc8 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Blogger.php @@ -0,0 +1,930 @@ + + * API for access to the data within Blogger.

+ * + *

+ * For more information about this service, see the API + * Documentation + *

+ * + * @author Google, Inc. + */ +class Google_Service_Blogger extends Google_Service +{ + /** Manage your Blogger account. */ + const BLOGGER = + "https://www.googleapis.com/auth/blogger"; + /** View your Blogger account. */ + const BLOGGER_READONLY = + "https://www.googleapis.com/auth/blogger.readonly"; + + public $blogUserInfos; + public $blogs; + public $comments; + public $pageViews; + public $pages; + public $postUserInfos; + public $posts; + public $users; + + /** + * Constructs the internal representation of the Blogger service. + * + * @param Google_Client $client + */ + public function __construct(Google_Client $client) + { + parent::__construct($client); + $this->rootUrl = 'https://www.googleapis.com/'; + $this->servicePath = 'blogger/v3/'; + $this->version = 'v3'; + $this->serviceName = 'blogger'; + + $this->blogUserInfos = new Google_Service_Blogger_Resource_BlogUserInfos( + $this, + $this->serviceName, + 'blogUserInfos', + array( + 'methods' => array( + 'get' => array( + 'path' => 'users/{userId}/blogs/{blogId}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'userId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'blogId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'maxPosts' => array( + 'location' => 'query', + 'type' => 'integer', + ), + ), + ), + ) + ) + ); + $this->blogs = new Google_Service_Blogger_Resource_Blogs( + $this, + $this->serviceName, + 'blogs', + array( + 'methods' => array( + 'get' => array( + 'path' => 'blogs/{blogId}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'blogId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'maxPosts' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'view' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'getByUrl' => array( + 'path' => 'blogs/byurl', + 'httpMethod' => 'GET', + 'parameters' => array( + 'url' => array( + 'location' => 'query', + 'type' => 'string', + 'required' => true, + ), + 'view' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'listByUser' => array( + 'path' => 'users/{userId}/blogs', + 'httpMethod' => 'GET', + 'parameters' => array( + 'userId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'fetchUserInfo' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + 'role' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + ), + 'status' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + ), + 'view' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + $this->comments = new Google_Service_Blogger_Resource_Comments( + $this, + $this->serviceName, + 'comments', + array( + 'methods' => array( + 'approve' => array( + 'path' => 'blogs/{blogId}/posts/{postId}/comments/{commentId}/approve', + 'httpMethod' => 'POST', + 'parameters' => array( + 'blogId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'postId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'commentId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'delete' => array( + 'path' => 'blogs/{blogId}/posts/{postId}/comments/{commentId}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'blogId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'postId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'commentId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'get' => array( + 'path' => 'blogs/{blogId}/posts/{postId}/comments/{commentId}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'blogId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'postId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'commentId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'view' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'list' => array( + 'path' => 'blogs/{blogId}/posts/{postId}/comments', + 'httpMethod' => 'GET', + 'parameters' => array( + 'blogId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'postId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'endDate' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'fetchBodies' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'startDate' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'status' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + ), + 'view' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'listByBlog' => array( + 'path' => 'blogs/{blogId}/comments', + 'httpMethod' => 'GET', + 'parameters' => array( + 'blogId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'endDate' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'fetchBodies' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'startDate' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'status' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + ), + ), + ),'markAsSpam' => array( + 'path' => 'blogs/{blogId}/posts/{postId}/comments/{commentId}/spam', + 'httpMethod' => 'POST', + 'parameters' => array( + 'blogId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'postId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'commentId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'removeContent' => array( + 'path' => 'blogs/{blogId}/posts/{postId}/comments/{commentId}/removecontent', + 'httpMethod' => 'POST', + 'parameters' => array( + 'blogId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'postId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'commentId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->pageViews = new Google_Service_Blogger_Resource_PageViews( + $this, + $this->serviceName, + 'pageViews', + array( + 'methods' => array( + 'get' => array( + 'path' => 'blogs/{blogId}/pageviews', + 'httpMethod' => 'GET', + 'parameters' => array( + 'blogId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'range' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + ), + ), + ), + ) + ) + ); + $this->pages = new Google_Service_Blogger_Resource_Pages( + $this, + $this->serviceName, + 'pages', + array( + 'methods' => array( + 'delete' => array( + 'path' => 'blogs/{blogId}/pages/{pageId}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'blogId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'pageId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'get' => array( + 'path' => 'blogs/{blogId}/pages/{pageId}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'blogId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'pageId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'view' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'insert' => array( + 'path' => 'blogs/{blogId}/pages', + 'httpMethod' => 'POST', + 'parameters' => array( + 'blogId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'isDraft' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + ), + ),'list' => array( + 'path' => 'blogs/{blogId}/pages', + 'httpMethod' => 'GET', + 'parameters' => array( + 'blogId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'fetchBodies' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'status' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + ), + 'view' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'patch' => array( + 'path' => 'blogs/{blogId}/pages/{pageId}', + 'httpMethod' => 'PATCH', + 'parameters' => array( + 'blogId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'pageId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'publish' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + 'revert' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + ), + ),'publish' => array( + 'path' => 'blogs/{blogId}/pages/{pageId}/publish', + 'httpMethod' => 'POST', + 'parameters' => array( + 'blogId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'pageId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'revert' => array( + 'path' => 'blogs/{blogId}/pages/{pageId}/revert', + 'httpMethod' => 'POST', + 'parameters' => array( + 'blogId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'pageId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'update' => array( + 'path' => 'blogs/{blogId}/pages/{pageId}', + 'httpMethod' => 'PUT', + 'parameters' => array( + 'blogId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'pageId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'publish' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + 'revert' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + ), + ), + ) + ) + ); + $this->postUserInfos = new Google_Service_Blogger_Resource_PostUserInfos( + $this, + $this->serviceName, + 'postUserInfos', + array( + 'methods' => array( + 'get' => array( + 'path' => 'users/{userId}/blogs/{blogId}/posts/{postId}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'userId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'blogId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'postId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'maxComments' => array( + 'location' => 'query', + 'type' => 'integer', + ), + ), + ),'list' => array( + 'path' => 'users/{userId}/blogs/{blogId}/posts', + 'httpMethod' => 'GET', + 'parameters' => array( + 'userId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'blogId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'endDate' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'fetchBodies' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + 'labels' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'orderBy' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'startDate' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'status' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + ), + 'view' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + $this->posts = new Google_Service_Blogger_Resource_Posts( + $this, + $this->serviceName, + 'posts', + array( + 'methods' => array( + 'delete' => array( + 'path' => 'blogs/{blogId}/posts/{postId}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'blogId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'postId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'get' => array( + 'path' => 'blogs/{blogId}/posts/{postId}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'blogId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'postId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'fetchBody' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + 'fetchImages' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + 'maxComments' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'view' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'getByPath' => array( + 'path' => 'blogs/{blogId}/posts/bypath', + 'httpMethod' => 'GET', + 'parameters' => array( + 'blogId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'path' => array( + 'location' => 'query', + 'type' => 'string', + 'required' => true, + ), + 'maxComments' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'view' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'insert' => array( + 'path' => 'blogs/{blogId}/posts', + 'httpMethod' => 'POST', + 'parameters' => array( + 'blogId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'fetchBody' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + 'fetchImages' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + 'isDraft' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + ), + ),'list' => array( + 'path' => 'blogs/{blogId}/posts', + 'httpMethod' => 'GET', + 'parameters' => array( + 'blogId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'endDate' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'fetchBodies' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + 'fetchImages' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + 'labels' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'orderBy' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'startDate' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'status' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + ), + 'view' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'patch' => array( + 'path' => 'blogs/{blogId}/posts/{postId}', + 'httpMethod' => 'PATCH', + 'parameters' => array( + 'blogId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'postId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'fetchBody' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + 'fetchImages' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + 'maxComments' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'publish' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + 'revert' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + ), + ),'publish' => array( + 'path' => 'blogs/{blogId}/posts/{postId}/publish', + 'httpMethod' => 'POST', + 'parameters' => array( + 'blogId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'postId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'publishDate' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'revert' => array( + 'path' => 'blogs/{blogId}/posts/{postId}/revert', + 'httpMethod' => 'POST', + 'parameters' => array( + 'blogId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'postId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'search' => array( + 'path' => 'blogs/{blogId}/posts/search', + 'httpMethod' => 'GET', + 'parameters' => array( + 'blogId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'q' => array( + 'location' => 'query', + 'type' => 'string', + 'required' => true, + ), + 'fetchBodies' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + 'orderBy' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'update' => array( + 'path' => 'blogs/{blogId}/posts/{postId}', + 'httpMethod' => 'PUT', + 'parameters' => array( + 'blogId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'postId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'fetchBody' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + 'fetchImages' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + 'maxComments' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'publish' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + 'revert' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + ), + ), + ) + ) + ); + $this->users = new Google_Service_Blogger_Resource_Users( + $this, + $this->serviceName, + 'users', + array( + 'methods' => array( + 'get' => array( + 'path' => 'users/{userId}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'userId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Blogger/Blog.php b/vendor/google/apiclient-services/src/Google/Service/Blogger/Blog.php new file mode 100644 index 00000000..cab4de8f --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Blogger/Blog.php @@ -0,0 +1,141 @@ +customMetaData = $customMetaData; + } + public function getCustomMetaData() + { + return $this->customMetaData; + } + public function setDescription($description) + { + $this->description = $description; + } + public function getDescription() + { + return $this->description; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setLocale(Google_Service_Blogger_BlogLocale $locale) + { + $this->locale = $locale; + } + public function getLocale() + { + return $this->locale; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setPages(Google_Service_Blogger_BlogPages $pages) + { + $this->pages = $pages; + } + public function getPages() + { + return $this->pages; + } + public function setPosts(Google_Service_Blogger_BlogPosts $posts) + { + $this->posts = $posts; + } + public function getPosts() + { + return $this->posts; + } + public function setPublished($published) + { + $this->published = $published; + } + public function getPublished() + { + return $this->published; + } + public function setSelfLink($selfLink) + { + $this->selfLink = $selfLink; + } + public function getSelfLink() + { + return $this->selfLink; + } + public function setStatus($status) + { + $this->status = $status; + } + public function getStatus() + { + return $this->status; + } + public function setUpdated($updated) + { + $this->updated = $updated; + } + public function getUpdated() + { + return $this->updated; + } + public function setUrl($url) + { + $this->url = $url; + } + public function getUrl() + { + return $this->url; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Blogger/BlogList.php b/vendor/google/apiclient-services/src/Google/Service/Blogger/BlogList.php new file mode 100644 index 00000000..9fde7e1e --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Blogger/BlogList.php @@ -0,0 +1,51 @@ +blogUserInfos = $blogUserInfos; + } + public function getBlogUserInfos() + { + return $this->blogUserInfos; + } + public function setItems($items) + { + $this->items = $items; + } + public function getItems() + { + return $this->items; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Blogger/BlogLocale.php b/vendor/google/apiclient-services/src/Google/Service/Blogger/BlogLocale.php new file mode 100644 index 00000000..3cf95449 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Blogger/BlogLocale.php @@ -0,0 +1,48 @@ +country = $country; + } + public function getCountry() + { + return $this->country; + } + public function setLanguage($language) + { + $this->language = $language; + } + public function getLanguage() + { + return $this->language; + } + public function setVariant($variant) + { + $this->variant = $variant; + } + public function getVariant() + { + return $this->variant; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Blogger/BlogPages.php b/vendor/google/apiclient-services/src/Google/Service/Blogger/BlogPages.php new file mode 100644 index 00000000..48658153 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Blogger/BlogPages.php @@ -0,0 +1,39 @@ +selfLink = $selfLink; + } + public function getSelfLink() + { + return $this->selfLink; + } + public function setTotalItems($totalItems) + { + $this->totalItems = $totalItems; + } + public function getTotalItems() + { + return $this->totalItems; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Blogger/BlogPerUserInfo.php b/vendor/google/apiclient-services/src/Google/Service/Blogger/BlogPerUserInfo.php new file mode 100644 index 00000000..43625b90 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Blogger/BlogPerUserInfo.php @@ -0,0 +1,75 @@ +blogId = $blogId; + } + public function getBlogId() + { + return $this->blogId; + } + public function setHasAdminAccess($hasAdminAccess) + { + $this->hasAdminAccess = $hasAdminAccess; + } + public function getHasAdminAccess() + { + return $this->hasAdminAccess; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setPhotosAlbumKey($photosAlbumKey) + { + $this->photosAlbumKey = $photosAlbumKey; + } + public function getPhotosAlbumKey() + { + return $this->photosAlbumKey; + } + public function setRole($role) + { + $this->role = $role; + } + public function getRole() + { + return $this->role; + } + public function setUserId($userId) + { + $this->userId = $userId; + } + public function getUserId() + { + return $this->userId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Blogger/BlogPosts.php b/vendor/google/apiclient-services/src/Google/Service/Blogger/BlogPosts.php new file mode 100644 index 00000000..20c52cc6 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Blogger/BlogPosts.php @@ -0,0 +1,50 @@ +items = $items; + } + public function getItems() + { + return $this->items; + } + public function setSelfLink($selfLink) + { + $this->selfLink = $selfLink; + } + public function getSelfLink() + { + return $this->selfLink; + } + public function setTotalItems($totalItems) + { + $this->totalItems = $totalItems; + } + public function getTotalItems() + { + return $this->totalItems; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Blogger/BlogUserInfo.php b/vendor/google/apiclient-services/src/Google/Service/Blogger/BlogUserInfo.php new file mode 100644 index 00000000..6c78b30b --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Blogger/BlogUserInfo.php @@ -0,0 +1,53 @@ + "blog_user_info", + ); + protected $blogType = 'Google_Service_Blogger_Blog'; + protected $blogDataType = ''; + protected $blogUserInfoType = 'Google_Service_Blogger_BlogPerUserInfo'; + protected $blogUserInfoDataType = ''; + public $kind; + + public function setBlog(Google_Service_Blogger_Blog $blog) + { + $this->blog = $blog; + } + public function getBlog() + { + return $this->blog; + } + public function setBlogUserInfo(Google_Service_Blogger_BlogPerUserInfo $blogUserInfo) + { + $this->blogUserInfo = $blogUserInfo; + } + public function getBlogUserInfo() + { + return $this->blogUserInfo; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Blogger/Comment.php b/vendor/google/apiclient-services/src/Google/Service/Blogger/Comment.php new file mode 100644 index 00000000..357f5aa0 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Blogger/Comment.php @@ -0,0 +1,124 @@ +author = $author; + } + public function getAuthor() + { + return $this->author; + } + public function setBlog(Google_Service_Blogger_CommentBlog $blog) + { + $this->blog = $blog; + } + public function getBlog() + { + return $this->blog; + } + public function setContent($content) + { + $this->content = $content; + } + public function getContent() + { + return $this->content; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setInReplyTo(Google_Service_Blogger_CommentInReplyTo $inReplyTo) + { + $this->inReplyTo = $inReplyTo; + } + public function getInReplyTo() + { + return $this->inReplyTo; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setPost(Google_Service_Blogger_CommentPost $post) + { + $this->post = $post; + } + public function getPost() + { + return $this->post; + } + public function setPublished($published) + { + $this->published = $published; + } + public function getPublished() + { + return $this->published; + } + public function setSelfLink($selfLink) + { + $this->selfLink = $selfLink; + } + public function getSelfLink() + { + return $this->selfLink; + } + public function setStatus($status) + { + $this->status = $status; + } + public function getStatus() + { + return $this->status; + } + public function setUpdated($updated) + { + $this->updated = $updated; + } + public function getUpdated() + { + return $this->updated; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Blogger/CommentAuthor.php b/vendor/google/apiclient-services/src/Google/Service/Blogger/CommentAuthor.php new file mode 100644 index 00000000..fec87663 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Blogger/CommentAuthor.php @@ -0,0 +1,58 @@ +displayName = $displayName; + } + public function getDisplayName() + { + return $this->displayName; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setImage(Google_Service_Blogger_CommentAuthorImage $image) + { + $this->image = $image; + } + public function getImage() + { + return $this->image; + } + public function setUrl($url) + { + $this->url = $url; + } + public function getUrl() + { + return $this->url; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Blogger/CommentAuthorImage.php b/vendor/google/apiclient-services/src/Google/Service/Blogger/CommentAuthorImage.php new file mode 100644 index 00000000..1ed7ee8d --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Blogger/CommentAuthorImage.php @@ -0,0 +1,30 @@ +url = $url; + } + public function getUrl() + { + return $this->url; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Blogger/CommentBlog.php b/vendor/google/apiclient-services/src/Google/Service/Blogger/CommentBlog.php new file mode 100644 index 00000000..0118d08a --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Blogger/CommentBlog.php @@ -0,0 +1,30 @@ +id = $id; + } + public function getId() + { + return $this->id; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Blogger/CommentInReplyTo.php b/vendor/google/apiclient-services/src/Google/Service/Blogger/CommentInReplyTo.php new file mode 100644 index 00000000..05916ae3 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Blogger/CommentInReplyTo.php @@ -0,0 +1,30 @@ +id = $id; + } + public function getId() + { + return $this->id; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Blogger/CommentList.php b/vendor/google/apiclient-services/src/Google/Service/Blogger/CommentList.php new file mode 100644 index 00000000..82414c04 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Blogger/CommentList.php @@ -0,0 +1,68 @@ +etag = $etag; + } + public function getEtag() + { + return $this->etag; + } + public function setItems($items) + { + $this->items = $items; + } + public function getItems() + { + return $this->items; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setPrevPageToken($prevPageToken) + { + $this->prevPageToken = $prevPageToken; + } + public function getPrevPageToken() + { + return $this->prevPageToken; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Blogger/CommentPost.php b/vendor/google/apiclient-services/src/Google/Service/Blogger/CommentPost.php new file mode 100644 index 00000000..e074c58a --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Blogger/CommentPost.php @@ -0,0 +1,30 @@ +id = $id; + } + public function getId() + { + return $this->id; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Blogger/Page.php b/vendor/google/apiclient-services/src/Google/Service/Blogger/Page.php new file mode 100644 index 00000000..756c2dfa --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Blogger/Page.php @@ -0,0 +1,131 @@ +author = $author; + } + public function getAuthor() + { + return $this->author; + } + public function setBlog(Google_Service_Blogger_PageBlog $blog) + { + $this->blog = $blog; + } + public function getBlog() + { + return $this->blog; + } + public function setContent($content) + { + $this->content = $content; + } + public function getContent() + { + return $this->content; + } + public function setEtag($etag) + { + $this->etag = $etag; + } + public function getEtag() + { + return $this->etag; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setPublished($published) + { + $this->published = $published; + } + public function getPublished() + { + return $this->published; + } + public function setSelfLink($selfLink) + { + $this->selfLink = $selfLink; + } + public function getSelfLink() + { + return $this->selfLink; + } + public function setStatus($status) + { + $this->status = $status; + } + public function getStatus() + { + return $this->status; + } + public function setTitle($title) + { + $this->title = $title; + } + public function getTitle() + { + return $this->title; + } + public function setUpdated($updated) + { + $this->updated = $updated; + } + public function getUpdated() + { + return $this->updated; + } + public function setUrl($url) + { + $this->url = $url; + } + public function getUrl() + { + return $this->url; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Blogger/PageAuthor.php b/vendor/google/apiclient-services/src/Google/Service/Blogger/PageAuthor.php new file mode 100644 index 00000000..271f82bd --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Blogger/PageAuthor.php @@ -0,0 +1,58 @@ +displayName = $displayName; + } + public function getDisplayName() + { + return $this->displayName; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setImage(Google_Service_Blogger_PageAuthorImage $image) + { + $this->image = $image; + } + public function getImage() + { + return $this->image; + } + public function setUrl($url) + { + $this->url = $url; + } + public function getUrl() + { + return $this->url; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Blogger/PageAuthorImage.php b/vendor/google/apiclient-services/src/Google/Service/Blogger/PageAuthorImage.php new file mode 100644 index 00000000..ff5c679f --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Blogger/PageAuthorImage.php @@ -0,0 +1,30 @@ +url = $url; + } + public function getUrl() + { + return $this->url; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Blogger/PageBlog.php b/vendor/google/apiclient-services/src/Google/Service/Blogger/PageBlog.php new file mode 100644 index 00000000..dbcf5cd3 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Blogger/PageBlog.php @@ -0,0 +1,30 @@ +id = $id; + } + public function getId() + { + return $this->id; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Blogger/PageList.php b/vendor/google/apiclient-services/src/Google/Service/Blogger/PageList.php new file mode 100644 index 00000000..e9d90d63 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Blogger/PageList.php @@ -0,0 +1,59 @@ +etag = $etag; + } + public function getEtag() + { + return $this->etag; + } + public function setItems($items) + { + $this->items = $items; + } + public function getItems() + { + return $this->items; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Blogger/Pageviews.php b/vendor/google/apiclient-services/src/Google/Service/Blogger/Pageviews.php new file mode 100644 index 00000000..c7285d57 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Blogger/Pageviews.php @@ -0,0 +1,50 @@ +blogId = $blogId; + } + public function getBlogId() + { + return $this->blogId; + } + public function setCounts($counts) + { + $this->counts = $counts; + } + public function getCounts() + { + return $this->counts; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Blogger/PageviewsCounts.php b/vendor/google/apiclient-services/src/Google/Service/Blogger/PageviewsCounts.php new file mode 100644 index 00000000..058d7d22 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Blogger/PageviewsCounts.php @@ -0,0 +1,39 @@ +count = $count; + } + public function getCount() + { + return $this->count; + } + public function setTimeRange($timeRange) + { + $this->timeRange = $timeRange; + } + public function getTimeRange() + { + return $this->timeRange; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Blogger/Post.php b/vendor/google/apiclient-services/src/Google/Service/Blogger/Post.php new file mode 100644 index 00000000..9cc40361 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Blogger/Post.php @@ -0,0 +1,198 @@ +author = $author; + } + public function getAuthor() + { + return $this->author; + } + public function setBlog(Google_Service_Blogger_PostBlog $blog) + { + $this->blog = $blog; + } + public function getBlog() + { + return $this->blog; + } + public function setContent($content) + { + $this->content = $content; + } + public function getContent() + { + return $this->content; + } + public function setCustomMetaData($customMetaData) + { + $this->customMetaData = $customMetaData; + } + public function getCustomMetaData() + { + return $this->customMetaData; + } + public function setEtag($etag) + { + $this->etag = $etag; + } + public function getEtag() + { + return $this->etag; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setImages($images) + { + $this->images = $images; + } + public function getImages() + { + return $this->images; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setLabels($labels) + { + $this->labels = $labels; + } + public function getLabels() + { + return $this->labels; + } + public function setLocation(Google_Service_Blogger_PostLocation $location) + { + $this->location = $location; + } + public function getLocation() + { + return $this->location; + } + public function setPublished($published) + { + $this->published = $published; + } + public function getPublished() + { + return $this->published; + } + public function setReaderComments($readerComments) + { + $this->readerComments = $readerComments; + } + public function getReaderComments() + { + return $this->readerComments; + } + public function setReplies(Google_Service_Blogger_PostReplies $replies) + { + $this->replies = $replies; + } + public function getReplies() + { + return $this->replies; + } + public function setSelfLink($selfLink) + { + $this->selfLink = $selfLink; + } + public function getSelfLink() + { + return $this->selfLink; + } + public function setStatus($status) + { + $this->status = $status; + } + public function getStatus() + { + return $this->status; + } + public function setTitle($title) + { + $this->title = $title; + } + public function getTitle() + { + return $this->title; + } + public function setTitleLink($titleLink) + { + $this->titleLink = $titleLink; + } + public function getTitleLink() + { + return $this->titleLink; + } + public function setUpdated($updated) + { + $this->updated = $updated; + } + public function getUpdated() + { + return $this->updated; + } + public function setUrl($url) + { + $this->url = $url; + } + public function getUrl() + { + return $this->url; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Blogger/PostAuthor.php b/vendor/google/apiclient-services/src/Google/Service/Blogger/PostAuthor.php new file mode 100644 index 00000000..4f89741e --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Blogger/PostAuthor.php @@ -0,0 +1,58 @@ +displayName = $displayName; + } + public function getDisplayName() + { + return $this->displayName; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setImage(Google_Service_Blogger_PostAuthorImage $image) + { + $this->image = $image; + } + public function getImage() + { + return $this->image; + } + public function setUrl($url) + { + $this->url = $url; + } + public function getUrl() + { + return $this->url; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Blogger/PostAuthorImage.php b/vendor/google/apiclient-services/src/Google/Service/Blogger/PostAuthorImage.php new file mode 100644 index 00000000..642a389a --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Blogger/PostAuthorImage.php @@ -0,0 +1,30 @@ +url = $url; + } + public function getUrl() + { + return $this->url; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Blogger/PostBlog.php b/vendor/google/apiclient-services/src/Google/Service/Blogger/PostBlog.php new file mode 100644 index 00000000..99248132 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Blogger/PostBlog.php @@ -0,0 +1,30 @@ +id = $id; + } + public function getId() + { + return $this->id; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Blogger/PostImages.php b/vendor/google/apiclient-services/src/Google/Service/Blogger/PostImages.php new file mode 100644 index 00000000..59a0ac02 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Blogger/PostImages.php @@ -0,0 +1,30 @@ +url = $url; + } + public function getUrl() + { + return $this->url; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Blogger/PostList.php b/vendor/google/apiclient-services/src/Google/Service/Blogger/PostList.php new file mode 100644 index 00000000..1e9f15ec --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Blogger/PostList.php @@ -0,0 +1,59 @@ +etag = $etag; + } + public function getEtag() + { + return $this->etag; + } + public function setItems($items) + { + $this->items = $items; + } + public function getItems() + { + return $this->items; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Blogger/PostLocation.php b/vendor/google/apiclient-services/src/Google/Service/Blogger/PostLocation.php new file mode 100644 index 00000000..d2e65e86 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Blogger/PostLocation.php @@ -0,0 +1,57 @@ +lat = $lat; + } + public function getLat() + { + return $this->lat; + } + public function setLng($lng) + { + $this->lng = $lng; + } + public function getLng() + { + return $this->lng; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setSpan($span) + { + $this->span = $span; + } + public function getSpan() + { + return $this->span; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Blogger/PostPerUserInfo.php b/vendor/google/apiclient-services/src/Google/Service/Blogger/PostPerUserInfo.php new file mode 100644 index 00000000..ec385a7b --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Blogger/PostPerUserInfo.php @@ -0,0 +1,66 @@ +blogId = $blogId; + } + public function getBlogId() + { + return $this->blogId; + } + public function setHasEditAccess($hasEditAccess) + { + $this->hasEditAccess = $hasEditAccess; + } + public function getHasEditAccess() + { + return $this->hasEditAccess; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setPostId($postId) + { + $this->postId = $postId; + } + public function getPostId() + { + return $this->postId; + } + public function setUserId($userId) + { + $this->userId = $userId; + } + public function getUserId() + { + return $this->userId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Blogger/PostReplies.php b/vendor/google/apiclient-services/src/Google/Service/Blogger/PostReplies.php new file mode 100644 index 00000000..b456fdcd --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Blogger/PostReplies.php @@ -0,0 +1,50 @@ +items = $items; + } + public function getItems() + { + return $this->items; + } + public function setSelfLink($selfLink) + { + $this->selfLink = $selfLink; + } + public function getSelfLink() + { + return $this->selfLink; + } + public function setTotalItems($totalItems) + { + $this->totalItems = $totalItems; + } + public function getTotalItems() + { + return $this->totalItems; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Blogger/PostUserInfo.php b/vendor/google/apiclient-services/src/Google/Service/Blogger/PostUserInfo.php new file mode 100644 index 00000000..e3598a95 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Blogger/PostUserInfo.php @@ -0,0 +1,53 @@ + "post_user_info", + ); + public $kind; + protected $postType = 'Google_Service_Blogger_Post'; + protected $postDataType = ''; + protected $postUserInfoType = 'Google_Service_Blogger_PostPerUserInfo'; + protected $postUserInfoDataType = ''; + + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setPost(Google_Service_Blogger_Post $post) + { + $this->post = $post; + } + public function getPost() + { + return $this->post; + } + public function setPostUserInfo(Google_Service_Blogger_PostPerUserInfo $postUserInfo) + { + $this->postUserInfo = $postUserInfo; + } + public function getPostUserInfo() + { + return $this->postUserInfo; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Blogger/PostUserInfosList.php b/vendor/google/apiclient-services/src/Google/Service/Blogger/PostUserInfosList.php new file mode 100644 index 00000000..f65b7013 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Blogger/PostUserInfosList.php @@ -0,0 +1,50 @@ +items = $items; + } + public function getItems() + { + return $this->items; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Blogger/Resource/BlogUserInfos.php b/vendor/google/apiclient-services/src/Google/Service/Blogger/Resource/BlogUserInfos.php new file mode 100644 index 00000000..f843e4a2 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Blogger/Resource/BlogUserInfos.php @@ -0,0 +1,46 @@ + + * $bloggerService = new Google_Service_Blogger(...); + * $blogUserInfos = $bloggerService->blogUserInfos; + * + */ +class Google_Service_Blogger_Resource_BlogUserInfos extends Google_Service_Resource +{ + /** + * Gets one blog and user info pair by blogId and userId. (blogUserInfos.get) + * + * @param string $userId ID of the user whose blogs are to be fetched. Either + * the word 'self' (sans quote marks) or the user's profile identifier. + * @param string $blogId The ID of the blog to get. + * @param array $optParams Optional parameters. + * + * @opt_param string maxPosts Maximum number of posts to pull back with the + * blog. + * @return Google_Service_Blogger_BlogUserInfo + */ + public function get($userId, $blogId, $optParams = array()) + { + $params = array('userId' => $userId, 'blogId' => $blogId); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Blogger_BlogUserInfo"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Blogger/Resource/Blogs.php b/vendor/google/apiclient-services/src/Google/Service/Blogger/Resource/Blogs.php new file mode 100644 index 00000000..b97611eb --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Blogger/Resource/Blogs.php @@ -0,0 +1,86 @@ + + * $bloggerService = new Google_Service_Blogger(...); + * $blogs = $bloggerService->blogs; + * + */ +class Google_Service_Blogger_Resource_Blogs extends Google_Service_Resource +{ + /** + * Gets one blog by ID. (blogs.get) + * + * @param string $blogId The ID of the blog to get. + * @param array $optParams Optional parameters. + * + * @opt_param string maxPosts Maximum number of posts to pull back with the + * blog. + * @opt_param string view Access level with which to view the blog. Note that + * some fields require elevated access. + * @return Google_Service_Blogger_Blog + */ + public function get($blogId, $optParams = array()) + { + $params = array('blogId' => $blogId); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Blogger_Blog"); + } + /** + * Retrieve a Blog by URL. (blogs.getByUrl) + * + * @param string $url The URL of the blog to retrieve. + * @param array $optParams Optional parameters. + * + * @opt_param string view Access level with which to view the blog. Note that + * some fields require elevated access. + * @return Google_Service_Blogger_Blog + */ + public function getByUrl($url, $optParams = array()) + { + $params = array('url' => $url); + $params = array_merge($params, $optParams); + return $this->call('getByUrl', array($params), "Google_Service_Blogger_Blog"); + } + /** + * Retrieves a list of blogs, possibly filtered. (blogs.listByUser) + * + * @param string $userId ID of the user whose blogs are to be fetched. Either + * the word 'self' (sans quote marks) or the user's profile identifier. + * @param array $optParams Optional parameters. + * + * @opt_param bool fetchUserInfo Whether the response is a list of blogs with + * per-user information instead of just blogs. + * @opt_param string role User access types for blogs to include in the results, + * e.g. AUTHOR will return blogs where the user has author level access. If no + * roles are specified, defaults to ADMIN and AUTHOR roles. + * @opt_param string status Blog statuses to include in the result (default: + * Live blogs only). Note that ADMIN access is required to view deleted blogs. + * @opt_param string view Access level with which to view the blogs. Note that + * some fields require elevated access. + * @return Google_Service_Blogger_BlogList + */ + public function listByUser($userId, $optParams = array()) + { + $params = array('userId' => $userId); + $params = array_merge($params, $optParams); + return $this->call('listByUser', array($params), "Google_Service_Blogger_BlogList"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Blogger/Resource/Comments.php b/vendor/google/apiclient-services/src/Google/Service/Blogger/Resource/Comments.php new file mode 100644 index 00000000..ff0ca9c1 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Blogger/Resource/Comments.php @@ -0,0 +1,159 @@ + + * $bloggerService = new Google_Service_Blogger(...); + * $comments = $bloggerService->comments; + * + */ +class Google_Service_Blogger_Resource_Comments extends Google_Service_Resource +{ + /** + * Marks a comment as not spam. (comments.approve) + * + * @param string $blogId The ID of the Blog. + * @param string $postId The ID of the Post. + * @param string $commentId The ID of the comment to mark as not spam. + * @param array $optParams Optional parameters. + * @return Google_Service_Blogger_Comment + */ + public function approve($blogId, $postId, $commentId, $optParams = array()) + { + $params = array('blogId' => $blogId, 'postId' => $postId, 'commentId' => $commentId); + $params = array_merge($params, $optParams); + return $this->call('approve', array($params), "Google_Service_Blogger_Comment"); + } + /** + * Delete a comment by ID. (comments.delete) + * + * @param string $blogId The ID of the Blog. + * @param string $postId The ID of the Post. + * @param string $commentId The ID of the comment to delete. + * @param array $optParams Optional parameters. + */ + public function delete($blogId, $postId, $commentId, $optParams = array()) + { + $params = array('blogId' => $blogId, 'postId' => $postId, 'commentId' => $commentId); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params)); + } + /** + * Gets one comment by ID. (comments.get) + * + * @param string $blogId ID of the blog to containing the comment. + * @param string $postId ID of the post to fetch posts from. + * @param string $commentId The ID of the comment to get. + * @param array $optParams Optional parameters. + * + * @opt_param string view Access level for the requested comment (default: + * READER). Note that some comments will require elevated permissions, for + * example comments where the parent posts which is in a draft state, or + * comments that are pending moderation. + * @return Google_Service_Blogger_Comment + */ + public function get($blogId, $postId, $commentId, $optParams = array()) + { + $params = array('blogId' => $blogId, 'postId' => $postId, 'commentId' => $commentId); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Blogger_Comment"); + } + /** + * Retrieves the comments for a post, possibly filtered. (comments.listComments) + * + * @param string $blogId ID of the blog to fetch comments from. + * @param string $postId ID of the post to fetch posts from. + * @param array $optParams Optional parameters. + * + * @opt_param string endDate Latest date of comment to fetch, a date-time with + * RFC 3339 formatting. + * @opt_param bool fetchBodies Whether the body content of the comments is + * included. + * @opt_param string maxResults Maximum number of comments to include in the + * result. + * @opt_param string pageToken Continuation token if request is paged. + * @opt_param string startDate Earliest date of comment to fetch, a date-time + * with RFC 3339 formatting. + * @opt_param string status + * @opt_param string view Access level with which to view the returned result. + * Note that some fields require elevated access. + * @return Google_Service_Blogger_CommentList + */ + public function listComments($blogId, $postId, $optParams = array()) + { + $params = array('blogId' => $blogId, 'postId' => $postId); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Blogger_CommentList"); + } + /** + * Retrieves the comments for a blog, across all posts, possibly filtered. + * (comments.listByBlog) + * + * @param string $blogId ID of the blog to fetch comments from. + * @param array $optParams Optional parameters. + * + * @opt_param string endDate Latest date of comment to fetch, a date-time with + * RFC 3339 formatting. + * @opt_param bool fetchBodies Whether the body content of the comments is + * included. + * @opt_param string maxResults Maximum number of comments to include in the + * result. + * @opt_param string pageToken Continuation token if request is paged. + * @opt_param string startDate Earliest date of comment to fetch, a date-time + * with RFC 3339 formatting. + * @opt_param string status + * @return Google_Service_Blogger_CommentList + */ + public function listByBlog($blogId, $optParams = array()) + { + $params = array('blogId' => $blogId); + $params = array_merge($params, $optParams); + return $this->call('listByBlog', array($params), "Google_Service_Blogger_CommentList"); + } + /** + * Marks a comment as spam. (comments.markAsSpam) + * + * @param string $blogId The ID of the Blog. + * @param string $postId The ID of the Post. + * @param string $commentId The ID of the comment to mark as spam. + * @param array $optParams Optional parameters. + * @return Google_Service_Blogger_Comment + */ + public function markAsSpam($blogId, $postId, $commentId, $optParams = array()) + { + $params = array('blogId' => $blogId, 'postId' => $postId, 'commentId' => $commentId); + $params = array_merge($params, $optParams); + return $this->call('markAsSpam', array($params), "Google_Service_Blogger_Comment"); + } + /** + * Removes the content of a comment. (comments.removeContent) + * + * @param string $blogId The ID of the Blog. + * @param string $postId The ID of the Post. + * @param string $commentId The ID of the comment to delete content from. + * @param array $optParams Optional parameters. + * @return Google_Service_Blogger_Comment + */ + public function removeContent($blogId, $postId, $commentId, $optParams = array()) + { + $params = array('blogId' => $blogId, 'postId' => $postId, 'commentId' => $commentId); + $params = array_merge($params, $optParams); + return $this->call('removeContent', array($params), "Google_Service_Blogger_Comment"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Blogger/Resource/PageViews.php b/vendor/google/apiclient-services/src/Google/Service/Blogger/Resource/PageViews.php new file mode 100644 index 00000000..c1f231d1 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Blogger/Resource/PageViews.php @@ -0,0 +1,43 @@ + + * $bloggerService = new Google_Service_Blogger(...); + * $pageViews = $bloggerService->pageViews; + * + */ +class Google_Service_Blogger_Resource_PageViews extends Google_Service_Resource +{ + /** + * Retrieve pageview stats for a Blog. (pageViews.get) + * + * @param string $blogId The ID of the blog to get. + * @param array $optParams Optional parameters. + * + * @opt_param string range + * @return Google_Service_Blogger_Pageviews + */ + public function get($blogId, $optParams = array()) + { + $params = array('blogId' => $blogId); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Blogger_Pageviews"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Blogger/Resource/Pages.php b/vendor/google/apiclient-services/src/Google/Service/Blogger/Resource/Pages.php new file mode 100644 index 00000000..b27f175a --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Blogger/Resource/Pages.php @@ -0,0 +1,163 @@ + + * $bloggerService = new Google_Service_Blogger(...); + * $pages = $bloggerService->pages; + * + */ +class Google_Service_Blogger_Resource_Pages extends Google_Service_Resource +{ + /** + * Delete a page by ID. (pages.delete) + * + * @param string $blogId The ID of the Blog. + * @param string $pageId The ID of the Page. + * @param array $optParams Optional parameters. + */ + public function delete($blogId, $pageId, $optParams = array()) + { + $params = array('blogId' => $blogId, 'pageId' => $pageId); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params)); + } + /** + * Gets one blog page by ID. (pages.get) + * + * @param string $blogId ID of the blog containing the page. + * @param string $pageId The ID of the page to get. + * @param array $optParams Optional parameters. + * + * @opt_param string view + * @return Google_Service_Blogger_Page + */ + public function get($blogId, $pageId, $optParams = array()) + { + $params = array('blogId' => $blogId, 'pageId' => $pageId); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Blogger_Page"); + } + /** + * Add a page. (pages.insert) + * + * @param string $blogId ID of the blog to add the page to. + * @param Google_Service_Blogger_Page $postBody + * @param array $optParams Optional parameters. + * + * @opt_param bool isDraft Whether to create the page as a draft (default: + * false). + * @return Google_Service_Blogger_Page + */ + public function insert($blogId, Google_Service_Blogger_Page $postBody, $optParams = array()) + { + $params = array('blogId' => $blogId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('insert', array($params), "Google_Service_Blogger_Page"); + } + /** + * Retrieves the pages for a blog, optionally including non-LIVE statuses. + * (pages.listPages) + * + * @param string $blogId ID of the blog to fetch Pages from. + * @param array $optParams Optional parameters. + * + * @opt_param bool fetchBodies Whether to retrieve the Page bodies. + * @opt_param string maxResults Maximum number of Pages to fetch. + * @opt_param string pageToken Continuation token if the request is paged. + * @opt_param string status + * @opt_param string view Access level with which to view the returned result. + * Note that some fields require elevated access. + * @return Google_Service_Blogger_PageList + */ + public function listPages($blogId, $optParams = array()) + { + $params = array('blogId' => $blogId); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Blogger_PageList"); + } + /** + * Update a page. This method supports patch semantics. (pages.patch) + * + * @param string $blogId The ID of the Blog. + * @param string $pageId The ID of the Page. + * @param Google_Service_Blogger_Page $postBody + * @param array $optParams Optional parameters. + * + * @opt_param bool publish Whether a publish action should be performed when the + * page is updated (default: false). + * @opt_param bool revert Whether a revert action should be performed when the + * page is updated (default: false). + * @return Google_Service_Blogger_Page + */ + public function patch($blogId, $pageId, Google_Service_Blogger_Page $postBody, $optParams = array()) + { + $params = array('blogId' => $blogId, 'pageId' => $pageId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('patch', array($params), "Google_Service_Blogger_Page"); + } + /** + * Publishes a draft page. (pages.publish) + * + * @param string $blogId The ID of the blog. + * @param string $pageId The ID of the page. + * @param array $optParams Optional parameters. + * @return Google_Service_Blogger_Page + */ + public function publish($blogId, $pageId, $optParams = array()) + { + $params = array('blogId' => $blogId, 'pageId' => $pageId); + $params = array_merge($params, $optParams); + return $this->call('publish', array($params), "Google_Service_Blogger_Page"); + } + /** + * Revert a published or scheduled page to draft state. (pages.revert) + * + * @param string $blogId The ID of the blog. + * @param string $pageId The ID of the page. + * @param array $optParams Optional parameters. + * @return Google_Service_Blogger_Page + */ + public function revert($blogId, $pageId, $optParams = array()) + { + $params = array('blogId' => $blogId, 'pageId' => $pageId); + $params = array_merge($params, $optParams); + return $this->call('revert', array($params), "Google_Service_Blogger_Page"); + } + /** + * Update a page. (pages.update) + * + * @param string $blogId The ID of the Blog. + * @param string $pageId The ID of the Page. + * @param Google_Service_Blogger_Page $postBody + * @param array $optParams Optional parameters. + * + * @opt_param bool publish Whether a publish action should be performed when the + * page is updated (default: false). + * @opt_param bool revert Whether a revert action should be performed when the + * page is updated (default: false). + * @return Google_Service_Blogger_Page + */ + public function update($blogId, $pageId, Google_Service_Blogger_Page $postBody, $optParams = array()) + { + $params = array('blogId' => $blogId, 'pageId' => $pageId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('update', array($params), "Google_Service_Blogger_Page"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Blogger/Resource/PostUserInfos.php b/vendor/google/apiclient-services/src/Google/Service/Blogger/Resource/PostUserInfos.php new file mode 100644 index 00000000..aef69dc7 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Blogger/Resource/PostUserInfos.php @@ -0,0 +1,83 @@ + + * $bloggerService = new Google_Service_Blogger(...); + * $postUserInfos = $bloggerService->postUserInfos; + * + */ +class Google_Service_Blogger_Resource_PostUserInfos extends Google_Service_Resource +{ + /** + * Gets one post and user info pair, by post ID and user ID. The post user info + * contains per-user information about the post, such as access rights, specific + * to the user. (postUserInfos.get) + * + * @param string $userId ID of the user for the per-user information to be + * fetched. Either the word 'self' (sans quote marks) or the user's profile + * identifier. + * @param string $blogId The ID of the blog. + * @param string $postId The ID of the post to get. + * @param array $optParams Optional parameters. + * + * @opt_param string maxComments Maximum number of comments to pull back on a + * post. + * @return Google_Service_Blogger_PostUserInfo + */ + public function get($userId, $blogId, $postId, $optParams = array()) + { + $params = array('userId' => $userId, 'blogId' => $blogId, 'postId' => $postId); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Blogger_PostUserInfo"); + } + /** + * Retrieves a list of post and post user info pairs, possibly filtered. The + * post user info contains per-user information about the post, such as access + * rights, specific to the user. (postUserInfos.listPostUserInfos) + * + * @param string $userId ID of the user for the per-user information to be + * fetched. Either the word 'self' (sans quote marks) or the user's profile + * identifier. + * @param string $blogId ID of the blog to fetch posts from. + * @param array $optParams Optional parameters. + * + * @opt_param string endDate Latest post date to fetch, a date-time with RFC + * 3339 formatting. + * @opt_param bool fetchBodies Whether the body content of posts is included. + * Default is false. + * @opt_param string labels Comma-separated list of labels to search for. + * @opt_param string maxResults Maximum number of posts to fetch. + * @opt_param string orderBy Sort order applied to search results. Default is + * published. + * @opt_param string pageToken Continuation token if the request is paged. + * @opt_param string startDate Earliest post date to fetch, a date-time with RFC + * 3339 formatting. + * @opt_param string status + * @opt_param string view Access level with which to view the returned result. + * Note that some fields require elevated access. + * @return Google_Service_Blogger_PostUserInfosList + */ + public function listPostUserInfos($userId, $blogId, $optParams = array()) + { + $params = array('userId' => $userId, 'blogId' => $blogId); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Blogger_PostUserInfosList"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Blogger/Resource/Posts.php b/vendor/google/apiclient-services/src/Google/Service/Blogger/Resource/Posts.php new file mode 100644 index 00000000..d89c5623 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Blogger/Resource/Posts.php @@ -0,0 +1,241 @@ + + * $bloggerService = new Google_Service_Blogger(...); + * $posts = $bloggerService->posts; + * + */ +class Google_Service_Blogger_Resource_Posts extends Google_Service_Resource +{ + /** + * Delete a post by ID. (posts.delete) + * + * @param string $blogId The ID of the Blog. + * @param string $postId The ID of the Post. + * @param array $optParams Optional parameters. + */ + public function delete($blogId, $postId, $optParams = array()) + { + $params = array('blogId' => $blogId, 'postId' => $postId); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params)); + } + /** + * Get a post by ID. (posts.get) + * + * @param string $blogId ID of the blog to fetch the post from. + * @param string $postId The ID of the post + * @param array $optParams Optional parameters. + * + * @opt_param bool fetchBody Whether the body content of the post is included + * (default: true). This should be set to false when the post bodies are not + * required, to help minimize traffic. + * @opt_param bool fetchImages Whether image URL metadata for each post is + * included (default: false). + * @opt_param string maxComments Maximum number of comments to pull back on a + * post. + * @opt_param string view Access level with which to view the returned result. + * Note that some fields require elevated access. + * @return Google_Service_Blogger_Post + */ + public function get($blogId, $postId, $optParams = array()) + { + $params = array('blogId' => $blogId, 'postId' => $postId); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Blogger_Post"); + } + /** + * Retrieve a Post by Path. (posts.getByPath) + * + * @param string $blogId ID of the blog to fetch the post from. + * @param string $path Path of the Post to retrieve. + * @param array $optParams Optional parameters. + * + * @opt_param string maxComments Maximum number of comments to pull back on a + * post. + * @opt_param string view Access level with which to view the returned result. + * Note that some fields require elevated access. + * @return Google_Service_Blogger_Post + */ + public function getByPath($blogId, $path, $optParams = array()) + { + $params = array('blogId' => $blogId, 'path' => $path); + $params = array_merge($params, $optParams); + return $this->call('getByPath', array($params), "Google_Service_Blogger_Post"); + } + /** + * Add a post. (posts.insert) + * + * @param string $blogId ID of the blog to add the post to. + * @param Google_Service_Blogger_Post $postBody + * @param array $optParams Optional parameters. + * + * @opt_param bool fetchBody Whether the body content of the post is included + * with the result (default: true). + * @opt_param bool fetchImages Whether image URL metadata for each post is + * included in the returned result (default: false). + * @opt_param bool isDraft Whether to create the post as a draft (default: + * false). + * @return Google_Service_Blogger_Post + */ + public function insert($blogId, Google_Service_Blogger_Post $postBody, $optParams = array()) + { + $params = array('blogId' => $blogId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('insert', array($params), "Google_Service_Blogger_Post"); + } + /** + * Retrieves a list of posts, possibly filtered. (posts.listPosts) + * + * @param string $blogId ID of the blog to fetch posts from. + * @param array $optParams Optional parameters. + * + * @opt_param string endDate Latest post date to fetch, a date-time with RFC + * 3339 formatting. + * @opt_param bool fetchBodies Whether the body content of posts is included + * (default: true). This should be set to false when the post bodies are not + * required, to help minimize traffic. + * @opt_param bool fetchImages Whether image URL metadata for each post is + * included. + * @opt_param string labels Comma-separated list of labels to search for. + * @opt_param string maxResults Maximum number of posts to fetch. + * @opt_param string orderBy Sort search results + * @opt_param string pageToken Continuation token if the request is paged. + * @opt_param string startDate Earliest post date to fetch, a date-time with RFC + * 3339 formatting. + * @opt_param string status Statuses to include in the results. + * @opt_param string view Access level with which to view the returned result. + * Note that some fields require escalated access. + * @return Google_Service_Blogger_PostList + */ + public function listPosts($blogId, $optParams = array()) + { + $params = array('blogId' => $blogId); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Blogger_PostList"); + } + /** + * Update a post. This method supports patch semantics. (posts.patch) + * + * @param string $blogId The ID of the Blog. + * @param string $postId The ID of the Post. + * @param Google_Service_Blogger_Post $postBody + * @param array $optParams Optional parameters. + * + * @opt_param bool fetchBody Whether the body content of the post is included + * with the result (default: true). + * @opt_param bool fetchImages Whether image URL metadata for each post is + * included in the returned result (default: false). + * @opt_param string maxComments Maximum number of comments to retrieve with the + * returned post. + * @opt_param bool publish Whether a publish action should be performed when the + * post is updated (default: false). + * @opt_param bool revert Whether a revert action should be performed when the + * post is updated (default: false). + * @return Google_Service_Blogger_Post + */ + public function patch($blogId, $postId, Google_Service_Blogger_Post $postBody, $optParams = array()) + { + $params = array('blogId' => $blogId, 'postId' => $postId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('patch', array($params), "Google_Service_Blogger_Post"); + } + /** + * Publishes a draft post, optionally at the specific time of the given + * publishDate parameter. (posts.publish) + * + * @param string $blogId The ID of the Blog. + * @param string $postId The ID of the Post. + * @param array $optParams Optional parameters. + * + * @opt_param string publishDate Optional date and time to schedule the + * publishing of the Blog. If no publishDate parameter is given, the post is + * either published at the a previously saved schedule date (if present), or the + * current time. If a future date is given, the post will be scheduled to be + * published. + * @return Google_Service_Blogger_Post + */ + public function publish($blogId, $postId, $optParams = array()) + { + $params = array('blogId' => $blogId, 'postId' => $postId); + $params = array_merge($params, $optParams); + return $this->call('publish', array($params), "Google_Service_Blogger_Post"); + } + /** + * Revert a published or scheduled post to draft state. (posts.revert) + * + * @param string $blogId The ID of the Blog. + * @param string $postId The ID of the Post. + * @param array $optParams Optional parameters. + * @return Google_Service_Blogger_Post + */ + public function revert($blogId, $postId, $optParams = array()) + { + $params = array('blogId' => $blogId, 'postId' => $postId); + $params = array_merge($params, $optParams); + return $this->call('revert', array($params), "Google_Service_Blogger_Post"); + } + /** + * Search for a post. (posts.search) + * + * @param string $blogId ID of the blog to fetch the post from. + * @param string $q Query terms to search this blog for matching posts. + * @param array $optParams Optional parameters. + * + * @opt_param bool fetchBodies Whether the body content of posts is included + * (default: true). This should be set to false when the post bodies are not + * required, to help minimize traffic. + * @opt_param string orderBy Sort search results + * @return Google_Service_Blogger_PostList + */ + public function search($blogId, $q, $optParams = array()) + { + $params = array('blogId' => $blogId, 'q' => $q); + $params = array_merge($params, $optParams); + return $this->call('search', array($params), "Google_Service_Blogger_PostList"); + } + /** + * Update a post. (posts.update) + * + * @param string $blogId The ID of the Blog. + * @param string $postId The ID of the Post. + * @param Google_Service_Blogger_Post $postBody + * @param array $optParams Optional parameters. + * + * @opt_param bool fetchBody Whether the body content of the post is included + * with the result (default: true). + * @opt_param bool fetchImages Whether image URL metadata for each post is + * included in the returned result (default: false). + * @opt_param string maxComments Maximum number of comments to retrieve with the + * returned post. + * @opt_param bool publish Whether a publish action should be performed when the + * post is updated (default: false). + * @opt_param bool revert Whether a revert action should be performed when the + * post is updated (default: false). + * @return Google_Service_Blogger_Post + */ + public function update($blogId, $postId, Google_Service_Blogger_Post $postBody, $optParams = array()) + { + $params = array('blogId' => $blogId, 'postId' => $postId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('update', array($params), "Google_Service_Blogger_Post"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Blogger/Resource/Users.php b/vendor/google/apiclient-services/src/Google/Service/Blogger/Resource/Users.php new file mode 100644 index 00000000..92fc8775 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Blogger/Resource/Users.php @@ -0,0 +1,41 @@ + + * $bloggerService = new Google_Service_Blogger(...); + * $users = $bloggerService->users; + * + */ +class Google_Service_Blogger_Resource_Users extends Google_Service_Resource +{ + /** + * Gets one user by ID. (users.get) + * + * @param string $userId The ID of the user to get. + * @param array $optParams Optional parameters. + * @return Google_Service_Blogger_User + */ + public function get($userId, $optParams = array()) + { + $params = array('userId' => $userId); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Blogger_User"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Blogger/User.php b/vendor/google/apiclient-services/src/Google/Service/Blogger/User.php new file mode 100644 index 00000000..31abea38 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Blogger/User.php @@ -0,0 +1,104 @@ +about = $about; + } + public function getAbout() + { + return $this->about; + } + public function setBlogs(Google_Service_Blogger_UserBlogs $blogs) + { + $this->blogs = $blogs; + } + public function getBlogs() + { + return $this->blogs; + } + public function setCreated($created) + { + $this->created = $created; + } + public function getCreated() + { + return $this->created; + } + public function setDisplayName($displayName) + { + $this->displayName = $displayName; + } + public function getDisplayName() + { + return $this->displayName; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setLocale(Google_Service_Blogger_UserLocale $locale) + { + $this->locale = $locale; + } + public function getLocale() + { + return $this->locale; + } + public function setSelfLink($selfLink) + { + $this->selfLink = $selfLink; + } + public function getSelfLink() + { + return $this->selfLink; + } + public function setUrl($url) + { + $this->url = $url; + } + public function getUrl() + { + return $this->url; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Blogger/UserBlogs.php b/vendor/google/apiclient-services/src/Google/Service/Blogger/UserBlogs.php new file mode 100644 index 00000000..d26dce0d --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Blogger/UserBlogs.php @@ -0,0 +1,30 @@ +selfLink = $selfLink; + } + public function getSelfLink() + { + return $this->selfLink; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Blogger/UserLocale.php b/vendor/google/apiclient-services/src/Google/Service/Blogger/UserLocale.php new file mode 100644 index 00000000..11c7a9e6 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Blogger/UserLocale.php @@ -0,0 +1,48 @@ +country = $country; + } + public function getCountry() + { + return $this->country; + } + public function setLanguage($language) + { + $this->language = $language; + } + public function getLanguage() + { + return $this->language; + } + public function setVariant($variant) + { + $this->variant = $variant; + } + public function getVariant() + { + return $this->variant; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Books.php b/vendor/google/apiclient-services/src/Google/Service/Books.php new file mode 100644 index 00000000..efef02b6 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Books.php @@ -0,0 +1,1508 @@ + + * Searches for books and manages your Google Books library.

+ * + *

+ * For more information about this service, see the API + * Documentation + *

+ * + * @author Google, Inc. + */ +class Google_Service_Books extends Google_Service +{ + /** Manage your books. */ + const BOOKS = + "https://www.googleapis.com/auth/books"; + + public $bookshelves; + public $bookshelves_volumes; + public $cloudloading; + public $dictionary; + public $layers; + public $layers_annotationData; + public $layers_volumeAnnotations; + public $myconfig; + public $mylibrary_annotations; + public $mylibrary_bookshelves; + public $mylibrary_bookshelves_volumes; + public $mylibrary_readingpositions; + public $notification; + public $onboarding; + public $personalizedstream; + public $promooffer; + public $series; + public $series_membership; + public $volumes; + public $volumes_associated; + public $volumes_mybooks; + public $volumes_recommended; + public $volumes_useruploaded; + + /** + * Constructs the internal representation of the Books service. + * + * @param Google_Client $client + */ + public function __construct(Google_Client $client) + { + parent::__construct($client); + $this->rootUrl = 'https://www.googleapis.com/'; + $this->servicePath = 'books/v1/'; + $this->version = 'v1'; + $this->serviceName = 'books'; + + $this->bookshelves = new Google_Service_Books_Resource_Bookshelves( + $this, + $this->serviceName, + 'bookshelves', + array( + 'methods' => array( + 'get' => array( + 'path' => 'users/{userId}/bookshelves/{shelf}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'userId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'shelf' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'source' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'list' => array( + 'path' => 'users/{userId}/bookshelves', + 'httpMethod' => 'GET', + 'parameters' => array( + 'userId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'source' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + $this->bookshelves_volumes = new Google_Service_Books_Resource_BookshelvesVolumes( + $this, + $this->serviceName, + 'volumes', + array( + 'methods' => array( + 'list' => array( + 'path' => 'users/{userId}/bookshelves/{shelf}/volumes', + 'httpMethod' => 'GET', + 'parameters' => array( + 'userId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'shelf' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'showPreorders' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + 'source' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'startIndex' => array( + 'location' => 'query', + 'type' => 'integer', + ), + ), + ), + ) + ) + ); + $this->cloudloading = new Google_Service_Books_Resource_Cloudloading( + $this, + $this->serviceName, + 'cloudloading', + array( + 'methods' => array( + 'addBook' => array( + 'path' => 'cloudloading/addBook', + 'httpMethod' => 'POST', + 'parameters' => array( + 'drive_document_id' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'mime_type' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'name' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'upload_client_token' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'deleteBook' => array( + 'path' => 'cloudloading/deleteBook', + 'httpMethod' => 'POST', + 'parameters' => array( + 'volumeId' => array( + 'location' => 'query', + 'type' => 'string', + 'required' => true, + ), + ), + ),'updateBook' => array( + 'path' => 'cloudloading/updateBook', + 'httpMethod' => 'POST', + 'parameters' => array(), + ), + ) + ) + ); + $this->dictionary = new Google_Service_Books_Resource_Dictionary( + $this, + $this->serviceName, + 'dictionary', + array( + 'methods' => array( + 'listOfflineMetadata' => array( + 'path' => 'dictionary/listOfflineMetadata', + 'httpMethod' => 'GET', + 'parameters' => array( + 'cpksver' => array( + 'location' => 'query', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->layers = new Google_Service_Books_Resource_Layers( + $this, + $this->serviceName, + 'layers', + array( + 'methods' => array( + 'get' => array( + 'path' => 'volumes/{volumeId}/layersummary/{summaryId}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'volumeId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'summaryId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'contentVersion' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'source' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'list' => array( + 'path' => 'volumes/{volumeId}/layersummary', + 'httpMethod' => 'GET', + 'parameters' => array( + 'volumeId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'contentVersion' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'source' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + $this->layers_annotationData = new Google_Service_Books_Resource_LayersAnnotationData( + $this, + $this->serviceName, + 'annotationData', + array( + 'methods' => array( + 'get' => array( + 'path' => 'volumes/{volumeId}/layers/{layerId}/data/{annotationDataId}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'volumeId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'layerId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'annotationDataId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'contentVersion' => array( + 'location' => 'query', + 'type' => 'string', + 'required' => true, + ), + 'allowWebDefinitions' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + 'h' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'locale' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'scale' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'source' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'w' => array( + 'location' => 'query', + 'type' => 'integer', + ), + ), + ),'list' => array( + 'path' => 'volumes/{volumeId}/layers/{layerId}/data', + 'httpMethod' => 'GET', + 'parameters' => array( + 'volumeId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'layerId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'contentVersion' => array( + 'location' => 'query', + 'type' => 'string', + 'required' => true, + ), + 'annotationDataId' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + ), + 'h' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'locale' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'scale' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'source' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'updatedMax' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'updatedMin' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'w' => array( + 'location' => 'query', + 'type' => 'integer', + ), + ), + ), + ) + ) + ); + $this->layers_volumeAnnotations = new Google_Service_Books_Resource_LayersVolumeAnnotations( + $this, + $this->serviceName, + 'volumeAnnotations', + array( + 'methods' => array( + 'get' => array( + 'path' => 'volumes/{volumeId}/layers/{layerId}/annotations/{annotationId}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'volumeId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'layerId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'annotationId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'locale' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'source' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'list' => array( + 'path' => 'volumes/{volumeId}/layers/{layerId}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'volumeId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'layerId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'contentVersion' => array( + 'location' => 'query', + 'type' => 'string', + 'required' => true, + ), + 'endOffset' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'endPosition' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'locale' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'showDeleted' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + 'source' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'startOffset' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'startPosition' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'updatedMax' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'updatedMin' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'volumeAnnotationsVersion' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + $this->myconfig = new Google_Service_Books_Resource_Myconfig( + $this, + $this->serviceName, + 'myconfig', + array( + 'methods' => array( + 'getUserSettings' => array( + 'path' => 'myconfig/getUserSettings', + 'httpMethod' => 'GET', + 'parameters' => array(), + ),'releaseDownloadAccess' => array( + 'path' => 'myconfig/releaseDownloadAccess', + 'httpMethod' => 'POST', + 'parameters' => array( + 'volumeIds' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + 'required' => true, + ), + 'cpksver' => array( + 'location' => 'query', + 'type' => 'string', + 'required' => true, + ), + 'locale' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'source' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'requestAccess' => array( + 'path' => 'myconfig/requestAccess', + 'httpMethod' => 'POST', + 'parameters' => array( + 'source' => array( + 'location' => 'query', + 'type' => 'string', + 'required' => true, + ), + 'volumeId' => array( + 'location' => 'query', + 'type' => 'string', + 'required' => true, + ), + 'nonce' => array( + 'location' => 'query', + 'type' => 'string', + 'required' => true, + ), + 'cpksver' => array( + 'location' => 'query', + 'type' => 'string', + 'required' => true, + ), + 'licenseTypes' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'locale' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'syncVolumeLicenses' => array( + 'path' => 'myconfig/syncVolumeLicenses', + 'httpMethod' => 'POST', + 'parameters' => array( + 'source' => array( + 'location' => 'query', + 'type' => 'string', + 'required' => true, + ), + 'nonce' => array( + 'location' => 'query', + 'type' => 'string', + 'required' => true, + ), + 'cpksver' => array( + 'location' => 'query', + 'type' => 'string', + 'required' => true, + ), + 'features' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + ), + 'includeNonComicsSeries' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + 'locale' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'showPreorders' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + 'volumeIds' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + ), + ), + ),'updateUserSettings' => array( + 'path' => 'myconfig/updateUserSettings', + 'httpMethod' => 'POST', + 'parameters' => array(), + ), + ) + ) + ); + $this->mylibrary_annotations = new Google_Service_Books_Resource_MylibraryAnnotations( + $this, + $this->serviceName, + 'annotations', + array( + 'methods' => array( + 'delete' => array( + 'path' => 'mylibrary/annotations/{annotationId}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'annotationId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'source' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'insert' => array( + 'path' => 'mylibrary/annotations', + 'httpMethod' => 'POST', + 'parameters' => array( + 'country' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'showOnlySummaryInResponse' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + 'source' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'list' => array( + 'path' => 'mylibrary/annotations', + 'httpMethod' => 'GET', + 'parameters' => array( + 'contentVersion' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'layerId' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'layerIds' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'showDeleted' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + 'source' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'updatedMax' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'updatedMin' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'volumeId' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'summary' => array( + 'path' => 'mylibrary/annotations/summary', + 'httpMethod' => 'POST', + 'parameters' => array( + 'layerIds' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + 'required' => true, + ), + 'volumeId' => array( + 'location' => 'query', + 'type' => 'string', + 'required' => true, + ), + ), + ),'update' => array( + 'path' => 'mylibrary/annotations/{annotationId}', + 'httpMethod' => 'PUT', + 'parameters' => array( + 'annotationId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'source' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + $this->mylibrary_bookshelves = new Google_Service_Books_Resource_MylibraryBookshelves( + $this, + $this->serviceName, + 'bookshelves', + array( + 'methods' => array( + 'addVolume' => array( + 'path' => 'mylibrary/bookshelves/{shelf}/addVolume', + 'httpMethod' => 'POST', + 'parameters' => array( + 'shelf' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'volumeId' => array( + 'location' => 'query', + 'type' => 'string', + 'required' => true, + ), + 'reason' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'source' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'clearVolumes' => array( + 'path' => 'mylibrary/bookshelves/{shelf}/clearVolumes', + 'httpMethod' => 'POST', + 'parameters' => array( + 'shelf' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'source' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'get' => array( + 'path' => 'mylibrary/bookshelves/{shelf}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'shelf' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'source' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'list' => array( + 'path' => 'mylibrary/bookshelves', + 'httpMethod' => 'GET', + 'parameters' => array( + 'source' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'moveVolume' => array( + 'path' => 'mylibrary/bookshelves/{shelf}/moveVolume', + 'httpMethod' => 'POST', + 'parameters' => array( + 'shelf' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'volumeId' => array( + 'location' => 'query', + 'type' => 'string', + 'required' => true, + ), + 'volumePosition' => array( + 'location' => 'query', + 'type' => 'integer', + 'required' => true, + ), + 'source' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'removeVolume' => array( + 'path' => 'mylibrary/bookshelves/{shelf}/removeVolume', + 'httpMethod' => 'POST', + 'parameters' => array( + 'shelf' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'volumeId' => array( + 'location' => 'query', + 'type' => 'string', + 'required' => true, + ), + 'reason' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'source' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + $this->mylibrary_bookshelves_volumes = new Google_Service_Books_Resource_MylibraryBookshelvesVolumes( + $this, + $this->serviceName, + 'volumes', + array( + 'methods' => array( + 'list' => array( + 'path' => 'mylibrary/bookshelves/{shelf}/volumes', + 'httpMethod' => 'GET', + 'parameters' => array( + 'shelf' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'country' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'projection' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'q' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'showPreorders' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + 'source' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'startIndex' => array( + 'location' => 'query', + 'type' => 'integer', + ), + ), + ), + ) + ) + ); + $this->mylibrary_readingpositions = new Google_Service_Books_Resource_MylibraryReadingpositions( + $this, + $this->serviceName, + 'readingpositions', + array( + 'methods' => array( + 'get' => array( + 'path' => 'mylibrary/readingpositions/{volumeId}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'volumeId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'contentVersion' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'source' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'setPosition' => array( + 'path' => 'mylibrary/readingpositions/{volumeId}/setPosition', + 'httpMethod' => 'POST', + 'parameters' => array( + 'volumeId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'timestamp' => array( + 'location' => 'query', + 'type' => 'string', + 'required' => true, + ), + 'position' => array( + 'location' => 'query', + 'type' => 'string', + 'required' => true, + ), + 'action' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'contentVersion' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'deviceCookie' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'source' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + $this->notification = new Google_Service_Books_Resource_Notification( + $this, + $this->serviceName, + 'notification', + array( + 'methods' => array( + 'get' => array( + 'path' => 'notification/get', + 'httpMethod' => 'GET', + 'parameters' => array( + 'notification_id' => array( + 'location' => 'query', + 'type' => 'string', + 'required' => true, + ), + 'locale' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'source' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + $this->onboarding = new Google_Service_Books_Resource_Onboarding( + $this, + $this->serviceName, + 'onboarding', + array( + 'methods' => array( + 'listCategories' => array( + 'path' => 'onboarding/listCategories', + 'httpMethod' => 'GET', + 'parameters' => array( + 'locale' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'listCategoryVolumes' => array( + 'path' => 'onboarding/listCategoryVolumes', + 'httpMethod' => 'GET', + 'parameters' => array( + 'categoryId' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + ), + 'locale' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'maxAllowedMaturityRating' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pageSize' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + $this->personalizedstream = new Google_Service_Books_Resource_Personalizedstream( + $this, + $this->serviceName, + 'personalizedstream', + array( + 'methods' => array( + 'get' => array( + 'path' => 'personalizedstream/get', + 'httpMethod' => 'GET', + 'parameters' => array( + 'locale' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'maxAllowedMaturityRating' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'source' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + $this->promooffer = new Google_Service_Books_Resource_Promooffer( + $this, + $this->serviceName, + 'promooffer', + array( + 'methods' => array( + 'accept' => array( + 'path' => 'promooffer/accept', + 'httpMethod' => 'POST', + 'parameters' => array( + 'androidId' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'device' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'manufacturer' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'model' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'offerId' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'product' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'serial' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'volumeId' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'dismiss' => array( + 'path' => 'promooffer/dismiss', + 'httpMethod' => 'POST', + 'parameters' => array( + 'androidId' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'device' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'manufacturer' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'model' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'offerId' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'product' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'serial' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'get' => array( + 'path' => 'promooffer/get', + 'httpMethod' => 'GET', + 'parameters' => array( + 'androidId' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'device' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'manufacturer' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'model' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'product' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'serial' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + $this->series = new Google_Service_Books_Resource_Series( + $this, + $this->serviceName, + 'series', + array( + 'methods' => array( + 'get' => array( + 'path' => 'series/get', + 'httpMethod' => 'GET', + 'parameters' => array( + 'series_id' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->series_membership = new Google_Service_Books_Resource_SeriesMembership( + $this, + $this->serviceName, + 'membership', + array( + 'methods' => array( + 'get' => array( + 'path' => 'series/membership/get', + 'httpMethod' => 'GET', + 'parameters' => array( + 'series_id' => array( + 'location' => 'query', + 'type' => 'string', + 'required' => true, + ), + 'page_size' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'page_token' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + $this->volumes = new Google_Service_Books_Resource_Volumes( + $this, + $this->serviceName, + 'volumes', + array( + 'methods' => array( + 'get' => array( + 'path' => 'volumes/{volumeId}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'volumeId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'country' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'includeNonComicsSeries' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + 'partner' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'projection' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'source' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'user_library_consistent_read' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + ), + ),'list' => array( + 'path' => 'volumes', + 'httpMethod' => 'GET', + 'parameters' => array( + 'q' => array( + 'location' => 'query', + 'type' => 'string', + 'required' => true, + ), + 'download' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'filter' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'langRestrict' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'libraryRestrict' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'maxAllowedMaturityRating' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'orderBy' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'partner' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'printType' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'projection' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'showPreorders' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + 'source' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'startIndex' => array( + 'location' => 'query', + 'type' => 'integer', + ), + ), + ), + ) + ) + ); + $this->volumes_associated = new Google_Service_Books_Resource_VolumesAssociated( + $this, + $this->serviceName, + 'associated', + array( + 'methods' => array( + 'list' => array( + 'path' => 'volumes/{volumeId}/associated', + 'httpMethod' => 'GET', + 'parameters' => array( + 'volumeId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'association' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'locale' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'maxAllowedMaturityRating' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'source' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + $this->volumes_mybooks = new Google_Service_Books_Resource_VolumesMybooks( + $this, + $this->serviceName, + 'mybooks', + array( + 'methods' => array( + 'list' => array( + 'path' => 'volumes/mybooks', + 'httpMethod' => 'GET', + 'parameters' => array( + 'acquireMethod' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + ), + 'country' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'locale' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'processingState' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + ), + 'source' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'startIndex' => array( + 'location' => 'query', + 'type' => 'integer', + ), + ), + ), + ) + ) + ); + $this->volumes_recommended = new Google_Service_Books_Resource_VolumesRecommended( + $this, + $this->serviceName, + 'recommended', + array( + 'methods' => array( + 'list' => array( + 'path' => 'volumes/recommended', + 'httpMethod' => 'GET', + 'parameters' => array( + 'locale' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'maxAllowedMaturityRating' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'source' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'rate' => array( + 'path' => 'volumes/recommended/rate', + 'httpMethod' => 'POST', + 'parameters' => array( + 'rating' => array( + 'location' => 'query', + 'type' => 'string', + 'required' => true, + ), + 'volumeId' => array( + 'location' => 'query', + 'type' => 'string', + 'required' => true, + ), + 'locale' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'source' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + $this->volumes_useruploaded = new Google_Service_Books_Resource_VolumesUseruploaded( + $this, + $this->serviceName, + 'useruploaded', + array( + 'methods' => array( + 'list' => array( + 'path' => 'volumes/useruploaded', + 'httpMethod' => 'GET', + 'parameters' => array( + 'locale' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'processingState' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + ), + 'source' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'startIndex' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'volumeId' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + ), + ), + ), + ) + ) + ); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Books/Annotation.php b/vendor/google/apiclient-services/src/Google/Service/Books/Annotation.php new file mode 100644 index 00000000..727c720a --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Books/Annotation.php @@ -0,0 +1,178 @@ +afterSelectedText = $afterSelectedText; + } + public function getAfterSelectedText() + { + return $this->afterSelectedText; + } + public function setBeforeSelectedText($beforeSelectedText) + { + $this->beforeSelectedText = $beforeSelectedText; + } + public function getBeforeSelectedText() + { + return $this->beforeSelectedText; + } + public function setClientVersionRanges(Google_Service_Books_AnnotationClientVersionRanges $clientVersionRanges) + { + $this->clientVersionRanges = $clientVersionRanges; + } + public function getClientVersionRanges() + { + return $this->clientVersionRanges; + } + public function setCreated($created) + { + $this->created = $created; + } + public function getCreated() + { + return $this->created; + } + public function setCurrentVersionRanges(Google_Service_Books_AnnotationCurrentVersionRanges $currentVersionRanges) + { + $this->currentVersionRanges = $currentVersionRanges; + } + public function getCurrentVersionRanges() + { + return $this->currentVersionRanges; + } + public function setData($data) + { + $this->data = $data; + } + public function getData() + { + return $this->data; + } + public function setDeleted($deleted) + { + $this->deleted = $deleted; + } + public function getDeleted() + { + return $this->deleted; + } + public function setHighlightStyle($highlightStyle) + { + $this->highlightStyle = $highlightStyle; + } + public function getHighlightStyle() + { + return $this->highlightStyle; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setLayerId($layerId) + { + $this->layerId = $layerId; + } + public function getLayerId() + { + return $this->layerId; + } + public function setLayerSummary(Google_Service_Books_AnnotationLayerSummary $layerSummary) + { + $this->layerSummary = $layerSummary; + } + public function getLayerSummary() + { + return $this->layerSummary; + } + public function setPageIds($pageIds) + { + $this->pageIds = $pageIds; + } + public function getPageIds() + { + return $this->pageIds; + } + public function setSelectedText($selectedText) + { + $this->selectedText = $selectedText; + } + public function getSelectedText() + { + return $this->selectedText; + } + public function setSelfLink($selfLink) + { + $this->selfLink = $selfLink; + } + public function getSelfLink() + { + return $this->selfLink; + } + public function setUpdated($updated) + { + $this->updated = $updated; + } + public function getUpdated() + { + return $this->updated; + } + public function setVolumeId($volumeId) + { + $this->volumeId = $volumeId; + } + public function getVolumeId() + { + return $this->volumeId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Books/AnnotationClientVersionRanges.php b/vendor/google/apiclient-services/src/Google/Service/Books/AnnotationClientVersionRanges.php new file mode 100644 index 00000000..7bcaf052 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Books/AnnotationClientVersionRanges.php @@ -0,0 +1,70 @@ +cfiRange = $cfiRange; + } + public function getCfiRange() + { + return $this->cfiRange; + } + public function setContentVersion($contentVersion) + { + $this->contentVersion = $contentVersion; + } + public function getContentVersion() + { + return $this->contentVersion; + } + public function setGbImageRange(Google_Service_Books_BooksAnnotationsRange $gbImageRange) + { + $this->gbImageRange = $gbImageRange; + } + public function getGbImageRange() + { + return $this->gbImageRange; + } + public function setGbTextRange(Google_Service_Books_BooksAnnotationsRange $gbTextRange) + { + $this->gbTextRange = $gbTextRange; + } + public function getGbTextRange() + { + return $this->gbTextRange; + } + public function setImageCfiRange(Google_Service_Books_BooksAnnotationsRange $imageCfiRange) + { + $this->imageCfiRange = $imageCfiRange; + } + public function getImageCfiRange() + { + return $this->imageCfiRange; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Books/AnnotationCurrentVersionRanges.php b/vendor/google/apiclient-services/src/Google/Service/Books/AnnotationCurrentVersionRanges.php new file mode 100644 index 00000000..5a92c0c4 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Books/AnnotationCurrentVersionRanges.php @@ -0,0 +1,70 @@ +cfiRange = $cfiRange; + } + public function getCfiRange() + { + return $this->cfiRange; + } + public function setContentVersion($contentVersion) + { + $this->contentVersion = $contentVersion; + } + public function getContentVersion() + { + return $this->contentVersion; + } + public function setGbImageRange(Google_Service_Books_BooksAnnotationsRange $gbImageRange) + { + $this->gbImageRange = $gbImageRange; + } + public function getGbImageRange() + { + return $this->gbImageRange; + } + public function setGbTextRange(Google_Service_Books_BooksAnnotationsRange $gbTextRange) + { + $this->gbTextRange = $gbTextRange; + } + public function getGbTextRange() + { + return $this->gbTextRange; + } + public function setImageCfiRange(Google_Service_Books_BooksAnnotationsRange $imageCfiRange) + { + $this->imageCfiRange = $imageCfiRange; + } + public function getImageCfiRange() + { + return $this->imageCfiRange; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Books/AnnotationLayerSummary.php b/vendor/google/apiclient-services/src/Google/Service/Books/AnnotationLayerSummary.php new file mode 100644 index 00000000..cfbe8f37 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Books/AnnotationLayerSummary.php @@ -0,0 +1,48 @@ +allowedCharacterCount = $allowedCharacterCount; + } + public function getAllowedCharacterCount() + { + return $this->allowedCharacterCount; + } + public function setLimitType($limitType) + { + $this->limitType = $limitType; + } + public function getLimitType() + { + return $this->limitType; + } + public function setRemainingCharacterCount($remainingCharacterCount) + { + $this->remainingCharacterCount = $remainingCharacterCount; + } + public function getRemainingCharacterCount() + { + return $this->remainingCharacterCount; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Books/Annotationdata.php b/vendor/google/apiclient-services/src/Google/Service/Books/Annotationdata.php new file mode 100644 index 00000000..2287ba55 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Books/Annotationdata.php @@ -0,0 +1,105 @@ + "encoded_data", + ); + public $annotationType; + public $data; + public $encodedData; + public $id; + public $kind; + public $layerId; + public $selfLink; + public $updated; + public $volumeId; + + public function setAnnotationType($annotationType) + { + $this->annotationType = $annotationType; + } + public function getAnnotationType() + { + return $this->annotationType; + } + public function setData($data) + { + $this->data = $data; + } + public function getData() + { + return $this->data; + } + public function setEncodedData($encodedData) + { + $this->encodedData = $encodedData; + } + public function getEncodedData() + { + return $this->encodedData; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setLayerId($layerId) + { + $this->layerId = $layerId; + } + public function getLayerId() + { + return $this->layerId; + } + public function setSelfLink($selfLink) + { + $this->selfLink = $selfLink; + } + public function getSelfLink() + { + return $this->selfLink; + } + public function setUpdated($updated) + { + $this->updated = $updated; + } + public function getUpdated() + { + return $this->updated; + } + public function setVolumeId($volumeId) + { + $this->volumeId = $volumeId; + } + public function getVolumeId() + { + return $this->volumeId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Books/Annotations.php b/vendor/google/apiclient-services/src/Google/Service/Books/Annotations.php new file mode 100644 index 00000000..b57862d7 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Books/Annotations.php @@ -0,0 +1,59 @@ +items = $items; + } + public function getItems() + { + return $this->items; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setTotalItems($totalItems) + { + $this->totalItems = $totalItems; + } + public function getTotalItems() + { + return $this->totalItems; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Books/AnnotationsSummary.php b/vendor/google/apiclient-services/src/Google/Service/Books/AnnotationsSummary.php new file mode 100644 index 00000000..b9f39f6b --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Books/AnnotationsSummary.php @@ -0,0 +1,41 @@ +kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setLayers($layers) + { + $this->layers = $layers; + } + public function getLayers() + { + return $this->layers; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Books/AnnotationsSummaryLayers.php b/vendor/google/apiclient-services/src/Google/Service/Books/AnnotationsSummaryLayers.php new file mode 100644 index 00000000..2c5d3c77 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Books/AnnotationsSummaryLayers.php @@ -0,0 +1,66 @@ +allowedCharacterCount = $allowedCharacterCount; + } + public function getAllowedCharacterCount() + { + return $this->allowedCharacterCount; + } + public function setLayerId($layerId) + { + $this->layerId = $layerId; + } + public function getLayerId() + { + return $this->layerId; + } + public function setLimitType($limitType) + { + $this->limitType = $limitType; + } + public function getLimitType() + { + return $this->limitType; + } + public function setRemainingCharacterCount($remainingCharacterCount) + { + $this->remainingCharacterCount = $remainingCharacterCount; + } + public function getRemainingCharacterCount() + { + return $this->remainingCharacterCount; + } + public function setUpdated($updated) + { + $this->updated = $updated; + } + public function getUpdated() + { + return $this->updated; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Books/Annotationsdata.php b/vendor/google/apiclient-services/src/Google/Service/Books/Annotationsdata.php new file mode 100644 index 00000000..e54607eb --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Books/Annotationsdata.php @@ -0,0 +1,59 @@ +items = $items; + } + public function getItems() + { + return $this->items; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setTotalItems($totalItems) + { + $this->totalItems = $totalItems; + } + public function getTotalItems() + { + return $this->totalItems; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Books/BooksAnnotationsRange.php b/vendor/google/apiclient-services/src/Google/Service/Books/BooksAnnotationsRange.php new file mode 100644 index 00000000..af5060df --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Books/BooksAnnotationsRange.php @@ -0,0 +1,57 @@ +endOffset = $endOffset; + } + public function getEndOffset() + { + return $this->endOffset; + } + public function setEndPosition($endPosition) + { + $this->endPosition = $endPosition; + } + public function getEndPosition() + { + return $this->endPosition; + } + public function setStartOffset($startOffset) + { + $this->startOffset = $startOffset; + } + public function getStartOffset() + { + return $this->startOffset; + } + public function setStartPosition($startPosition) + { + $this->startPosition = $startPosition; + } + public function getStartPosition() + { + return $this->startPosition; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Books/BooksCloudloadingResource.php b/vendor/google/apiclient-services/src/Google/Service/Books/BooksCloudloadingResource.php new file mode 100644 index 00000000..cde35e49 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Books/BooksCloudloadingResource.php @@ -0,0 +1,57 @@ +author = $author; + } + public function getAuthor() + { + return $this->author; + } + public function setProcessingState($processingState) + { + $this->processingState = $processingState; + } + public function getProcessingState() + { + return $this->processingState; + } + public function setTitle($title) + { + $this->title = $title; + } + public function getTitle() + { + return $this->title; + } + public function setVolumeId($volumeId) + { + $this->volumeId = $volumeId; + } + public function getVolumeId() + { + return $this->volumeId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Books/BooksVolumesRecommendedRateResponse.php b/vendor/google/apiclient-services/src/Google/Service/Books/BooksVolumesRecommendedRateResponse.php new file mode 100644 index 00000000..3bf3d137 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Books/BooksVolumesRecommendedRateResponse.php @@ -0,0 +1,33 @@ + "consistency_token", + ); + public $consistencyToken; + + public function setConsistencyToken($consistencyToken) + { + $this->consistencyToken = $consistencyToken; + } + public function getConsistencyToken() + { + return $this->consistencyToken; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Books/Bookshelf.php b/vendor/google/apiclient-services/src/Google/Service/Books/Bookshelf.php new file mode 100644 index 00000000..fee17066 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Books/Bookshelf.php @@ -0,0 +1,111 @@ +access = $access; + } + public function getAccess() + { + return $this->access; + } + public function setCreated($created) + { + $this->created = $created; + } + public function getCreated() + { + return $this->created; + } + public function setDescription($description) + { + $this->description = $description; + } + public function getDescription() + { + return $this->description; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setSelfLink($selfLink) + { + $this->selfLink = $selfLink; + } + public function getSelfLink() + { + return $this->selfLink; + } + public function setTitle($title) + { + $this->title = $title; + } + public function getTitle() + { + return $this->title; + } + public function setUpdated($updated) + { + $this->updated = $updated; + } + public function getUpdated() + { + return $this->updated; + } + public function setVolumeCount($volumeCount) + { + $this->volumeCount = $volumeCount; + } + public function getVolumeCount() + { + return $this->volumeCount; + } + public function setVolumesLastUpdated($volumesLastUpdated) + { + $this->volumesLastUpdated = $volumesLastUpdated; + } + public function getVolumesLastUpdated() + { + return $this->volumesLastUpdated; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Books/Bookshelves.php b/vendor/google/apiclient-services/src/Google/Service/Books/Bookshelves.php new file mode 100644 index 00000000..0f7b06e6 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Books/Bookshelves.php @@ -0,0 +1,41 @@ +items = $items; + } + public function getItems() + { + return $this->items; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Books/Category.php b/vendor/google/apiclient-services/src/Google/Service/Books/Category.php new file mode 100644 index 00000000..821d7b6a --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Books/Category.php @@ -0,0 +1,41 @@ +items = $items; + } + public function getItems() + { + return $this->items; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Books/CategoryItems.php b/vendor/google/apiclient-services/src/Google/Service/Books/CategoryItems.php new file mode 100644 index 00000000..1603d89f --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Books/CategoryItems.php @@ -0,0 +1,48 @@ +badgeUrl = $badgeUrl; + } + public function getBadgeUrl() + { + return $this->badgeUrl; + } + public function setCategoryId($categoryId) + { + $this->categoryId = $categoryId; + } + public function getCategoryId() + { + return $this->categoryId; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Books/ConcurrentAccessRestriction.php b/vendor/google/apiclient-services/src/Google/Service/Books/ConcurrentAccessRestriction.php new file mode 100644 index 00000000..5f614e4e --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Books/ConcurrentAccessRestriction.php @@ -0,0 +1,120 @@ +deviceAllowed = $deviceAllowed; + } + public function getDeviceAllowed() + { + return $this->deviceAllowed; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setMaxConcurrentDevices($maxConcurrentDevices) + { + $this->maxConcurrentDevices = $maxConcurrentDevices; + } + public function getMaxConcurrentDevices() + { + return $this->maxConcurrentDevices; + } + public function setMessage($message) + { + $this->message = $message; + } + public function getMessage() + { + return $this->message; + } + public function setNonce($nonce) + { + $this->nonce = $nonce; + } + public function getNonce() + { + return $this->nonce; + } + public function setReasonCode($reasonCode) + { + $this->reasonCode = $reasonCode; + } + public function getReasonCode() + { + return $this->reasonCode; + } + public function setRestricted($restricted) + { + $this->restricted = $restricted; + } + public function getRestricted() + { + return $this->restricted; + } + public function setSignature($signature) + { + $this->signature = $signature; + } + public function getSignature() + { + return $this->signature; + } + public function setSource($source) + { + $this->source = $source; + } + public function getSource() + { + return $this->source; + } + public function setTimeWindowSeconds($timeWindowSeconds) + { + $this->timeWindowSeconds = $timeWindowSeconds; + } + public function getTimeWindowSeconds() + { + return $this->timeWindowSeconds; + } + public function setVolumeId($volumeId) + { + $this->volumeId = $volumeId; + } + public function getVolumeId() + { + return $this->volumeId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Books/Dictlayerdata.php b/vendor/google/apiclient-services/src/Google/Service/Books/Dictlayerdata.php new file mode 100644 index 00000000..ac82cd19 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Books/Dictlayerdata.php @@ -0,0 +1,50 @@ +common = $common; + } + public function getCommon() + { + return $this->common; + } + public function setDict(Google_Service_Books_DictlayerdataDict $dict) + { + $this->dict = $dict; + } + public function getDict() + { + return $this->dict; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Books/DictlayerdataCommon.php b/vendor/google/apiclient-services/src/Google/Service/Books/DictlayerdataCommon.php new file mode 100644 index 00000000..2ef54770 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Books/DictlayerdataCommon.php @@ -0,0 +1,30 @@ +title = $title; + } + public function getTitle() + { + return $this->title; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Books/DictlayerdataDict.php b/vendor/google/apiclient-services/src/Google/Service/Books/DictlayerdataDict.php new file mode 100644 index 00000000..43c10e75 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Books/DictlayerdataDict.php @@ -0,0 +1,42 @@ +source = $source; + } + public function getSource() + { + return $this->source; + } + public function setWords($words) + { + $this->words = $words; + } + public function getWords() + { + return $this->words; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Books/DictlayerdataDictSource.php b/vendor/google/apiclient-services/src/Google/Service/Books/DictlayerdataDictSource.php new file mode 100644 index 00000000..3280b323 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Books/DictlayerdataDictSource.php @@ -0,0 +1,39 @@ +attribution = $attribution; + } + public function getAttribution() + { + return $this->attribution; + } + public function setUrl($url) + { + $this->url = $url; + } + public function getUrl() + { + return $this->url; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Books/DictlayerdataDictWords.php b/vendor/google/apiclient-services/src/Google/Service/Books/DictlayerdataDictWords.php new file mode 100644 index 00000000..15734a1b --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Books/DictlayerdataDictWords.php @@ -0,0 +1,62 @@ +derivatives = $derivatives; + } + public function getDerivatives() + { + return $this->derivatives; + } + public function setExamples($examples) + { + $this->examples = $examples; + } + public function getExamples() + { + return $this->examples; + } + public function setSenses($senses) + { + $this->senses = $senses; + } + public function getSenses() + { + return $this->senses; + } + public function setSource(Google_Service_Books_DictlayerdataDictWordsSource $source) + { + $this->source = $source; + } + public function getSource() + { + return $this->source; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Books/DictlayerdataDictWordsDerivatives.php b/vendor/google/apiclient-services/src/Google/Service/Books/DictlayerdataDictWordsDerivatives.php new file mode 100644 index 00000000..f7a46615 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Books/DictlayerdataDictWordsDerivatives.php @@ -0,0 +1,40 @@ +source = $source; + } + public function getSource() + { + return $this->source; + } + public function setText($text) + { + $this->text = $text; + } + public function getText() + { + return $this->text; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Books/DictlayerdataDictWordsDerivativesSource.php b/vendor/google/apiclient-services/src/Google/Service/Books/DictlayerdataDictWordsDerivativesSource.php new file mode 100644 index 00000000..8fbfa35d --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Books/DictlayerdataDictWordsDerivativesSource.php @@ -0,0 +1,39 @@ +attribution = $attribution; + } + public function getAttribution() + { + return $this->attribution; + } + public function setUrl($url) + { + $this->url = $url; + } + public function getUrl() + { + return $this->url; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Books/DictlayerdataDictWordsExamples.php b/vendor/google/apiclient-services/src/Google/Service/Books/DictlayerdataDictWordsExamples.php new file mode 100644 index 00000000..5e9878ad --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Books/DictlayerdataDictWordsExamples.php @@ -0,0 +1,40 @@ +source = $source; + } + public function getSource() + { + return $this->source; + } + public function setText($text) + { + $this->text = $text; + } + public function getText() + { + return $this->text; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Books/DictlayerdataDictWordsExamplesSource.php b/vendor/google/apiclient-services/src/Google/Service/Books/DictlayerdataDictWordsExamplesSource.php new file mode 100644 index 00000000..b562e689 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Books/DictlayerdataDictWordsExamplesSource.php @@ -0,0 +1,39 @@ +attribution = $attribution; + } + public function getAttribution() + { + return $this->attribution; + } + public function setUrl($url) + { + $this->url = $url; + } + public function getUrl() + { + return $this->url; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Books/DictlayerdataDictWordsSenses.php b/vendor/google/apiclient-services/src/Google/Service/Books/DictlayerdataDictWordsSenses.php new file mode 100644 index 00000000..cf6b54a9 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Books/DictlayerdataDictWordsSenses.php @@ -0,0 +1,98 @@ +conjugations = $conjugations; + } + public function getConjugations() + { + return $this->conjugations; + } + public function setDefinitions($definitions) + { + $this->definitions = $definitions; + } + public function getDefinitions() + { + return $this->definitions; + } + public function setPartOfSpeech($partOfSpeech) + { + $this->partOfSpeech = $partOfSpeech; + } + public function getPartOfSpeech() + { + return $this->partOfSpeech; + } + public function setPronunciation($pronunciation) + { + $this->pronunciation = $pronunciation; + } + public function getPronunciation() + { + return $this->pronunciation; + } + public function setPronunciationUrl($pronunciationUrl) + { + $this->pronunciationUrl = $pronunciationUrl; + } + public function getPronunciationUrl() + { + return $this->pronunciationUrl; + } + public function setSource(Google_Service_Books_DictlayerdataDictWordsSensesSource $source) + { + $this->source = $source; + } + public function getSource() + { + return $this->source; + } + public function setSyllabification($syllabification) + { + $this->syllabification = $syllabification; + } + public function getSyllabification() + { + return $this->syllabification; + } + public function setSynonyms($synonyms) + { + $this->synonyms = $synonyms; + } + public function getSynonyms() + { + return $this->synonyms; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Books/DictlayerdataDictWordsSensesConjugations.php b/vendor/google/apiclient-services/src/Google/Service/Books/DictlayerdataDictWordsSensesConjugations.php new file mode 100644 index 00000000..ff548961 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Books/DictlayerdataDictWordsSensesConjugations.php @@ -0,0 +1,39 @@ +type = $type; + } + public function getType() + { + return $this->type; + } + public function setValue($value) + { + $this->value = $value; + } + public function getValue() + { + return $this->value; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Books/DictlayerdataDictWordsSensesDefinitions.php b/vendor/google/apiclient-services/src/Google/Service/Books/DictlayerdataDictWordsSensesDefinitions.php new file mode 100644 index 00000000..031c8527 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Books/DictlayerdataDictWordsSensesDefinitions.php @@ -0,0 +1,41 @@ +definition = $definition; + } + public function getDefinition() + { + return $this->definition; + } + public function setExamples($examples) + { + $this->examples = $examples; + } + public function getExamples() + { + return $this->examples; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Books/DictlayerdataDictWordsSensesDefinitionsExamples.php b/vendor/google/apiclient-services/src/Google/Service/Books/DictlayerdataDictWordsSensesDefinitionsExamples.php new file mode 100644 index 00000000..c1428086 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Books/DictlayerdataDictWordsSensesDefinitionsExamples.php @@ -0,0 +1,40 @@ +source = $source; + } + public function getSource() + { + return $this->source; + } + public function setText($text) + { + $this->text = $text; + } + public function getText() + { + return $this->text; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Books/DictlayerdataDictWordsSensesDefinitionsExamplesSource.php b/vendor/google/apiclient-services/src/Google/Service/Books/DictlayerdataDictWordsSensesDefinitionsExamplesSource.php new file mode 100644 index 00000000..cbae7867 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Books/DictlayerdataDictWordsSensesDefinitionsExamplesSource.php @@ -0,0 +1,39 @@ +attribution = $attribution; + } + public function getAttribution() + { + return $this->attribution; + } + public function setUrl($url) + { + $this->url = $url; + } + public function getUrl() + { + return $this->url; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Books/DictlayerdataDictWordsSensesSource.php b/vendor/google/apiclient-services/src/Google/Service/Books/DictlayerdataDictWordsSensesSource.php new file mode 100644 index 00000000..e8789ca5 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Books/DictlayerdataDictWordsSensesSource.php @@ -0,0 +1,39 @@ +attribution = $attribution; + } + public function getAttribution() + { + return $this->attribution; + } + public function setUrl($url) + { + $this->url = $url; + } + public function getUrl() + { + return $this->url; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Books/DictlayerdataDictWordsSensesSynonyms.php b/vendor/google/apiclient-services/src/Google/Service/Books/DictlayerdataDictWordsSensesSynonyms.php new file mode 100644 index 00000000..88589657 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Books/DictlayerdataDictWordsSensesSynonyms.php @@ -0,0 +1,40 @@ +source = $source; + } + public function getSource() + { + return $this->source; + } + public function setText($text) + { + $this->text = $text; + } + public function getText() + { + return $this->text; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Books/DictlayerdataDictWordsSensesSynonymsSource.php b/vendor/google/apiclient-services/src/Google/Service/Books/DictlayerdataDictWordsSensesSynonymsSource.php new file mode 100644 index 00000000..8a5157b4 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Books/DictlayerdataDictWordsSensesSynonymsSource.php @@ -0,0 +1,39 @@ +attribution = $attribution; + } + public function getAttribution() + { + return $this->attribution; + } + public function setUrl($url) + { + $this->url = $url; + } + public function getUrl() + { + return $this->url; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Books/DictlayerdataDictWordsSource.php b/vendor/google/apiclient-services/src/Google/Service/Books/DictlayerdataDictWordsSource.php new file mode 100644 index 00000000..b401a3b7 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Books/DictlayerdataDictWordsSource.php @@ -0,0 +1,39 @@ +attribution = $attribution; + } + public function getAttribution() + { + return $this->attribution; + } + public function setUrl($url) + { + $this->url = $url; + } + public function getUrl() + { + return $this->url; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Books/Discoveryclusters.php b/vendor/google/apiclient-services/src/Google/Service/Books/Discoveryclusters.php new file mode 100644 index 00000000..f69b78e2 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Books/Discoveryclusters.php @@ -0,0 +1,50 @@ +clusters = $clusters; + } + public function getClusters() + { + return $this->clusters; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setTotalClusters($totalClusters) + { + $this->totalClusters = $totalClusters; + } + public function getTotalClusters() + { + return $this->totalClusters; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Books/DiscoveryclustersClusters.php b/vendor/google/apiclient-services/src/Google/Service/Books/DiscoveryclustersClusters.php new file mode 100644 index 00000000..451abddf --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Books/DiscoveryclustersClusters.php @@ -0,0 +1,81 @@ + "banner_with_content_container", + ); + protected $bannerWithContentContainerType = 'Google_Service_Books_DiscoveryclustersClustersBannerWithContentContainer'; + protected $bannerWithContentContainerDataType = ''; + public $subTitle; + public $title; + public $totalVolumes; + public $uid; + protected $volumesType = 'Google_Service_Books_Volume'; + protected $volumesDataType = 'array'; + + public function setBannerWithContentContainer(Google_Service_Books_DiscoveryclustersClustersBannerWithContentContainer $bannerWithContentContainer) + { + $this->bannerWithContentContainer = $bannerWithContentContainer; + } + public function getBannerWithContentContainer() + { + return $this->bannerWithContentContainer; + } + public function setSubTitle($subTitle) + { + $this->subTitle = $subTitle; + } + public function getSubTitle() + { + return $this->subTitle; + } + public function setTitle($title) + { + $this->title = $title; + } + public function getTitle() + { + return $this->title; + } + public function setTotalVolumes($totalVolumes) + { + $this->totalVolumes = $totalVolumes; + } + public function getTotalVolumes() + { + return $this->totalVolumes; + } + public function setUid($uid) + { + $this->uid = $uid; + } + public function getUid() + { + return $this->uid; + } + public function setVolumes($volumes) + { + $this->volumes = $volumes; + } + public function getVolumes() + { + return $this->volumes; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Books/DiscoveryclustersClustersBannerWithContentContainer.php b/vendor/google/apiclient-services/src/Google/Service/Books/DiscoveryclustersClustersBannerWithContentContainer.php new file mode 100644 index 00000000..93373e5f --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Books/DiscoveryclustersClustersBannerWithContentContainer.php @@ -0,0 +1,75 @@ +fillColorArgb = $fillColorArgb; + } + public function getFillColorArgb() + { + return $this->fillColorArgb; + } + public function setImageUrl($imageUrl) + { + $this->imageUrl = $imageUrl; + } + public function getImageUrl() + { + return $this->imageUrl; + } + public function setMaskColorArgb($maskColorArgb) + { + $this->maskColorArgb = $maskColorArgb; + } + public function getMaskColorArgb() + { + return $this->maskColorArgb; + } + public function setMoreButtonText($moreButtonText) + { + $this->moreButtonText = $moreButtonText; + } + public function getMoreButtonText() + { + return $this->moreButtonText; + } + public function setMoreButtonUrl($moreButtonUrl) + { + $this->moreButtonUrl = $moreButtonUrl; + } + public function getMoreButtonUrl() + { + return $this->moreButtonUrl; + } + public function setTextColorArgb($textColorArgb) + { + $this->textColorArgb = $textColorArgb; + } + public function getTextColorArgb() + { + return $this->textColorArgb; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Books/DownloadAccessRestriction.php b/vendor/google/apiclient-services/src/Google/Service/Books/DownloadAccessRestriction.php new file mode 100644 index 00000000..d5b2e8c2 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Books/DownloadAccessRestriction.php @@ -0,0 +1,129 @@ +deviceAllowed = $deviceAllowed; + } + public function getDeviceAllowed() + { + return $this->deviceAllowed; + } + public function setDownloadsAcquired($downloadsAcquired) + { + $this->downloadsAcquired = $downloadsAcquired; + } + public function getDownloadsAcquired() + { + return $this->downloadsAcquired; + } + public function setJustAcquired($justAcquired) + { + $this->justAcquired = $justAcquired; + } + public function getJustAcquired() + { + return $this->justAcquired; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setMaxDownloadDevices($maxDownloadDevices) + { + $this->maxDownloadDevices = $maxDownloadDevices; + } + public function getMaxDownloadDevices() + { + return $this->maxDownloadDevices; + } + public function setMessage($message) + { + $this->message = $message; + } + public function getMessage() + { + return $this->message; + } + public function setNonce($nonce) + { + $this->nonce = $nonce; + } + public function getNonce() + { + return $this->nonce; + } + public function setReasonCode($reasonCode) + { + $this->reasonCode = $reasonCode; + } + public function getReasonCode() + { + return $this->reasonCode; + } + public function setRestricted($restricted) + { + $this->restricted = $restricted; + } + public function getRestricted() + { + return $this->restricted; + } + public function setSignature($signature) + { + $this->signature = $signature; + } + public function getSignature() + { + return $this->signature; + } + public function setSource($source) + { + $this->source = $source; + } + public function getSource() + { + return $this->source; + } + public function setVolumeId($volumeId) + { + $this->volumeId = $volumeId; + } + public function getVolumeId() + { + return $this->volumeId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Books/DownloadAccesses.php b/vendor/google/apiclient-services/src/Google/Service/Books/DownloadAccesses.php new file mode 100644 index 00000000..78bbe26f --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Books/DownloadAccesses.php @@ -0,0 +1,41 @@ +downloadAccessList = $downloadAccessList; + } + public function getDownloadAccessList() + { + return $this->downloadAccessList; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Books/Geolayerdata.php b/vendor/google/apiclient-services/src/Google/Service/Books/Geolayerdata.php new file mode 100644 index 00000000..c9b58df5 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Books/Geolayerdata.php @@ -0,0 +1,50 @@ +common = $common; + } + public function getCommon() + { + return $this->common; + } + public function setGeo(Google_Service_Books_GeolayerdataGeo $geo) + { + $this->geo = $geo; + } + public function getGeo() + { + return $this->geo; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Books/GeolayerdataCommon.php b/vendor/google/apiclient-services/src/Google/Service/Books/GeolayerdataCommon.php new file mode 100644 index 00000000..0af63d59 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Books/GeolayerdataCommon.php @@ -0,0 +1,66 @@ +lang = $lang; + } + public function getLang() + { + return $this->lang; + } + public function setPreviewImageUrl($previewImageUrl) + { + $this->previewImageUrl = $previewImageUrl; + } + public function getPreviewImageUrl() + { + return $this->previewImageUrl; + } + public function setSnippet($snippet) + { + $this->snippet = $snippet; + } + public function getSnippet() + { + return $this->snippet; + } + public function setSnippetUrl($snippetUrl) + { + $this->snippetUrl = $snippetUrl; + } + public function getSnippetUrl() + { + return $this->snippetUrl; + } + public function setTitle($title) + { + $this->title = $title; + } + public function getTitle() + { + return $this->title; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Books/GeolayerdataGeo.php b/vendor/google/apiclient-services/src/Google/Service/Books/GeolayerdataGeo.php new file mode 100644 index 00000000..13aa2984 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Books/GeolayerdataGeo.php @@ -0,0 +1,96 @@ +boundary = $boundary; + } + public function getBoundary() + { + return $this->boundary; + } + public function setCachePolicy($cachePolicy) + { + $this->cachePolicy = $cachePolicy; + } + public function getCachePolicy() + { + return $this->cachePolicy; + } + public function setCountryCode($countryCode) + { + $this->countryCode = $countryCode; + } + public function getCountryCode() + { + return $this->countryCode; + } + public function setLatitude($latitude) + { + $this->latitude = $latitude; + } + public function getLatitude() + { + return $this->latitude; + } + public function setLongitude($longitude) + { + $this->longitude = $longitude; + } + public function getLongitude() + { + return $this->longitude; + } + public function setMapType($mapType) + { + $this->mapType = $mapType; + } + public function getMapType() + { + return $this->mapType; + } + public function setViewport(Google_Service_Books_GeolayerdataGeoViewport $viewport) + { + $this->viewport = $viewport; + } + public function getViewport() + { + return $this->viewport; + } + public function setZoom($zoom) + { + $this->zoom = $zoom; + } + public function getZoom() + { + return $this->zoom; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Books/GeolayerdataGeoBoundary.php b/vendor/google/apiclient-services/src/Google/Service/Books/GeolayerdataGeoBoundary.php new file mode 100644 index 00000000..f72610fa --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Books/GeolayerdataGeoBoundary.php @@ -0,0 +1,39 @@ +latitude = $latitude; + } + public function getLatitude() + { + return $this->latitude; + } + public function setLongitude($longitude) + { + $this->longitude = $longitude; + } + public function getLongitude() + { + return $this->longitude; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Books/GeolayerdataGeoViewport.php b/vendor/google/apiclient-services/src/Google/Service/Books/GeolayerdataGeoViewport.php new file mode 100644 index 00000000..ec95fd2e --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Books/GeolayerdataGeoViewport.php @@ -0,0 +1,41 @@ +hi = $hi; + } + public function getHi() + { + return $this->hi; + } + public function setLo(Google_Service_Books_GeolayerdataGeoViewportLo $lo) + { + $this->lo = $lo; + } + public function getLo() + { + return $this->lo; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Books/GeolayerdataGeoViewportHi.php b/vendor/google/apiclient-services/src/Google/Service/Books/GeolayerdataGeoViewportHi.php new file mode 100644 index 00000000..a70b5059 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Books/GeolayerdataGeoViewportHi.php @@ -0,0 +1,39 @@ +latitude = $latitude; + } + public function getLatitude() + { + return $this->latitude; + } + public function setLongitude($longitude) + { + $this->longitude = $longitude; + } + public function getLongitude() + { + return $this->longitude; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Books/GeolayerdataGeoViewportLo.php b/vendor/google/apiclient-services/src/Google/Service/Books/GeolayerdataGeoViewportLo.php new file mode 100644 index 00000000..53ac070d --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Books/GeolayerdataGeoViewportLo.php @@ -0,0 +1,39 @@ +latitude = $latitude; + } + public function getLatitude() + { + return $this->latitude; + } + public function setLongitude($longitude) + { + $this->longitude = $longitude; + } + public function getLongitude() + { + return $this->longitude; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Books/Layersummaries.php b/vendor/google/apiclient-services/src/Google/Service/Books/Layersummaries.php new file mode 100644 index 00000000..ee215018 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Books/Layersummaries.php @@ -0,0 +1,50 @@ +items = $items; + } + public function getItems() + { + return $this->items; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setTotalItems($totalItems) + { + $this->totalItems = $totalItems; + } + public function getTotalItems() + { + return $this->totalItems; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Books/Layersummary.php b/vendor/google/apiclient-services/src/Google/Service/Books/Layersummary.php new file mode 100644 index 00000000..dc84696e --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Books/Layersummary.php @@ -0,0 +1,139 @@ +annotationCount = $annotationCount; + } + public function getAnnotationCount() + { + return $this->annotationCount; + } + public function setAnnotationTypes($annotationTypes) + { + $this->annotationTypes = $annotationTypes; + } + public function getAnnotationTypes() + { + return $this->annotationTypes; + } + public function setAnnotationsDataLink($annotationsDataLink) + { + $this->annotationsDataLink = $annotationsDataLink; + } + public function getAnnotationsDataLink() + { + return $this->annotationsDataLink; + } + public function setAnnotationsLink($annotationsLink) + { + $this->annotationsLink = $annotationsLink; + } + public function getAnnotationsLink() + { + return $this->annotationsLink; + } + public function setContentVersion($contentVersion) + { + $this->contentVersion = $contentVersion; + } + public function getContentVersion() + { + return $this->contentVersion; + } + public function setDataCount($dataCount) + { + $this->dataCount = $dataCount; + } + public function getDataCount() + { + return $this->dataCount; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setLayerId($layerId) + { + $this->layerId = $layerId; + } + public function getLayerId() + { + return $this->layerId; + } + public function setSelfLink($selfLink) + { + $this->selfLink = $selfLink; + } + public function getSelfLink() + { + return $this->selfLink; + } + public function setUpdated($updated) + { + $this->updated = $updated; + } + public function getUpdated() + { + return $this->updated; + } + public function setVolumeAnnotationsVersion($volumeAnnotationsVersion) + { + $this->volumeAnnotationsVersion = $volumeAnnotationsVersion; + } + public function getVolumeAnnotationsVersion() + { + return $this->volumeAnnotationsVersion; + } + public function setVolumeId($volumeId) + { + $this->volumeId = $volumeId; + } + public function getVolumeId() + { + return $this->volumeId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Books/Metadata.php b/vendor/google/apiclient-services/src/Google/Service/Books/Metadata.php new file mode 100644 index 00000000..7f9688ed --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Books/Metadata.php @@ -0,0 +1,41 @@ +items = $items; + } + public function getItems() + { + return $this->items; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Books/MetadataItems.php b/vendor/google/apiclient-services/src/Google/Service/Books/MetadataItems.php new file mode 100644 index 00000000..67a48e3f --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Books/MetadataItems.php @@ -0,0 +1,70 @@ + "download_url", + "encryptedKey" => "encrypted_key", + ); + public $downloadUrl; + public $encryptedKey; + public $language; + public $size; + public $version; + + public function setDownloadUrl($downloadUrl) + { + $this->downloadUrl = $downloadUrl; + } + public function getDownloadUrl() + { + return $this->downloadUrl; + } + public function setEncryptedKey($encryptedKey) + { + $this->encryptedKey = $encryptedKey; + } + public function getEncryptedKey() + { + return $this->encryptedKey; + } + public function setLanguage($language) + { + $this->language = $language; + } + public function getLanguage() + { + return $this->language; + } + public function setSize($size) + { + $this->size = $size; + } + public function getSize() + { + return $this->size; + } + public function setVersion($version) + { + $this->version = $version; + } + public function getVersion() + { + return $this->version; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Books/Notification.php b/vendor/google/apiclient-services/src/Google/Service/Books/Notification.php new file mode 100644 index 00000000..54eca0ca --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Books/Notification.php @@ -0,0 +1,156 @@ + "doc_id", + "docType" => "doc_type", + "dontShowNotification" => "dont_show_notification", + "notificationType" => "notification_type", + "pcampaignId" => "pcampaign_id", + "showNotificationSettingsAction" => "show_notification_settings_action", + ); + public $body; + public $crmExperimentIds; + public $docId; + public $docType; + public $dontShowNotification; + public $iconUrl; + public $kind; + public $notificationGroup; + public $notificationType; + public $pcampaignId; + public $reason; + public $showNotificationSettingsAction; + public $targetUrl; + public $title; + + public function setBody($body) + { + $this->body = $body; + } + public function getBody() + { + return $this->body; + } + public function setCrmExperimentIds($crmExperimentIds) + { + $this->crmExperimentIds = $crmExperimentIds; + } + public function getCrmExperimentIds() + { + return $this->crmExperimentIds; + } + public function setDocId($docId) + { + $this->docId = $docId; + } + public function getDocId() + { + return $this->docId; + } + public function setDocType($docType) + { + $this->docType = $docType; + } + public function getDocType() + { + return $this->docType; + } + public function setDontShowNotification($dontShowNotification) + { + $this->dontShowNotification = $dontShowNotification; + } + public function getDontShowNotification() + { + return $this->dontShowNotification; + } + public function setIconUrl($iconUrl) + { + $this->iconUrl = $iconUrl; + } + public function getIconUrl() + { + return $this->iconUrl; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNotificationGroup($notificationGroup) + { + $this->notificationGroup = $notificationGroup; + } + public function getNotificationGroup() + { + return $this->notificationGroup; + } + public function setNotificationType($notificationType) + { + $this->notificationType = $notificationType; + } + public function getNotificationType() + { + return $this->notificationType; + } + public function setPcampaignId($pcampaignId) + { + $this->pcampaignId = $pcampaignId; + } + public function getPcampaignId() + { + return $this->pcampaignId; + } + public function setReason($reason) + { + $this->reason = $reason; + } + public function getReason() + { + return $this->reason; + } + public function setShowNotificationSettingsAction($showNotificationSettingsAction) + { + $this->showNotificationSettingsAction = $showNotificationSettingsAction; + } + public function getShowNotificationSettingsAction() + { + return $this->showNotificationSettingsAction; + } + public function setTargetUrl($targetUrl) + { + $this->targetUrl = $targetUrl; + } + public function getTargetUrl() + { + return $this->targetUrl; + } + public function setTitle($title) + { + $this->title = $title; + } + public function getTitle() + { + return $this->title; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Books/Offers.php b/vendor/google/apiclient-services/src/Google/Service/Books/Offers.php new file mode 100644 index 00000000..0910f0f0 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Books/Offers.php @@ -0,0 +1,41 @@ +items = $items; + } + public function getItems() + { + return $this->items; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Books/OffersItems.php b/vendor/google/apiclient-services/src/Google/Service/Books/OffersItems.php new file mode 100644 index 00000000..9d70ff51 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Books/OffersItems.php @@ -0,0 +1,59 @@ +artUrl = $artUrl; + } + public function getArtUrl() + { + return $this->artUrl; + } + public function setGservicesKey($gservicesKey) + { + $this->gservicesKey = $gservicesKey; + } + public function getGservicesKey() + { + return $this->gservicesKey; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setItems($items) + { + $this->items = $items; + } + public function getItems() + { + return $this->items; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Books/OffersItemsItems.php b/vendor/google/apiclient-services/src/Google/Service/Books/OffersItemsItems.php new file mode 100644 index 00000000..23a041c4 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Books/OffersItemsItems.php @@ -0,0 +1,75 @@ +author = $author; + } + public function getAuthor() + { + return $this->author; + } + public function setCanonicalVolumeLink($canonicalVolumeLink) + { + $this->canonicalVolumeLink = $canonicalVolumeLink; + } + public function getCanonicalVolumeLink() + { + return $this->canonicalVolumeLink; + } + public function setCoverUrl($coverUrl) + { + $this->coverUrl = $coverUrl; + } + public function getCoverUrl() + { + return $this->coverUrl; + } + public function setDescription($description) + { + $this->description = $description; + } + public function getDescription() + { + return $this->description; + } + public function setTitle($title) + { + $this->title = $title; + } + public function getTitle() + { + return $this->title; + } + public function setVolumeId($volumeId) + { + $this->volumeId = $volumeId; + } + public function getVolumeId() + { + return $this->volumeId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Books/ReadingPosition.php b/vendor/google/apiclient-services/src/Google/Service/Books/ReadingPosition.php new file mode 100644 index 00000000..53b3330f --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Books/ReadingPosition.php @@ -0,0 +1,84 @@ +epubCfiPosition = $epubCfiPosition; + } + public function getEpubCfiPosition() + { + return $this->epubCfiPosition; + } + public function setGbImagePosition($gbImagePosition) + { + $this->gbImagePosition = $gbImagePosition; + } + public function getGbImagePosition() + { + return $this->gbImagePosition; + } + public function setGbTextPosition($gbTextPosition) + { + $this->gbTextPosition = $gbTextPosition; + } + public function getGbTextPosition() + { + return $this->gbTextPosition; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setPdfPosition($pdfPosition) + { + $this->pdfPosition = $pdfPosition; + } + public function getPdfPosition() + { + return $this->pdfPosition; + } + public function setUpdated($updated) + { + $this->updated = $updated; + } + public function getUpdated() + { + return $this->updated; + } + public function setVolumeId($volumeId) + { + $this->volumeId = $volumeId; + } + public function getVolumeId() + { + return $this->volumeId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Books/RequestAccess.php b/vendor/google/apiclient-services/src/Google/Service/Books/RequestAccess.php new file mode 100644 index 00000000..4a903ae2 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Books/RequestAccess.php @@ -0,0 +1,50 @@ +concurrentAccess = $concurrentAccess; + } + public function getConcurrentAccess() + { + return $this->concurrentAccess; + } + public function setDownloadAccess(Google_Service_Books_DownloadAccessRestriction $downloadAccess) + { + $this->downloadAccess = $downloadAccess; + } + public function getDownloadAccess() + { + return $this->downloadAccess; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Books/Resource/Bookshelves.php b/vendor/google/apiclient-services/src/Google/Service/Books/Resource/Bookshelves.php new file mode 100644 index 00000000..38c7d29a --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Books/Resource/Bookshelves.php @@ -0,0 +1,61 @@ + + * $booksService = new Google_Service_Books(...); + * $bookshelves = $booksService->bookshelves; + * + */ +class Google_Service_Books_Resource_Bookshelves extends Google_Service_Resource +{ + /** + * Retrieves metadata for a specific bookshelf for the specified user. + * (bookshelves.get) + * + * @param string $userId ID of user for whom to retrieve bookshelves. + * @param string $shelf ID of bookshelf to retrieve. + * @param array $optParams Optional parameters. + * + * @opt_param string source String to identify the originator of this request. + * @return Google_Service_Books_Bookshelf + */ + public function get($userId, $shelf, $optParams = array()) + { + $params = array('userId' => $userId, 'shelf' => $shelf); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Books_Bookshelf"); + } + /** + * Retrieves a list of public bookshelves for the specified user. + * (bookshelves.listBookshelves) + * + * @param string $userId ID of user for whom to retrieve bookshelves. + * @param array $optParams Optional parameters. + * + * @opt_param string source String to identify the originator of this request. + * @return Google_Service_Books_Bookshelves + */ + public function listBookshelves($userId, $optParams = array()) + { + $params = array('userId' => $userId); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Books_Bookshelves"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Books/Resource/BookshelvesVolumes.php b/vendor/google/apiclient-services/src/Google/Service/Books/Resource/BookshelvesVolumes.php new file mode 100644 index 00000000..91949468 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Books/Resource/BookshelvesVolumes.php @@ -0,0 +1,50 @@ + + * $booksService = new Google_Service_Books(...); + * $volumes = $booksService->volumes; + * + */ +class Google_Service_Books_Resource_BookshelvesVolumes extends Google_Service_Resource +{ + /** + * Retrieves volumes in a specific bookshelf for the specified user. + * (volumes.listBookshelvesVolumes) + * + * @param string $userId ID of user for whom to retrieve bookshelf volumes. + * @param string $shelf ID of bookshelf to retrieve volumes. + * @param array $optParams Optional parameters. + * + * @opt_param string maxResults Maximum number of results to return + * @opt_param bool showPreorders Set to true to show pre-ordered books. Defaults + * to false. + * @opt_param string source String to identify the originator of this request. + * @opt_param string startIndex Index of the first element to return (starts at + * 0) + * @return Google_Service_Books_Volumes + */ + public function listBookshelvesVolumes($userId, $shelf, $optParams = array()) + { + $params = array('userId' => $userId, 'shelf' => $shelf); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Books_Volumes"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Books/Resource/Cloudloading.php b/vendor/google/apiclient-services/src/Google/Service/Books/Resource/Cloudloading.php new file mode 100644 index 00000000..a2d6865c --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Books/Resource/Cloudloading.php @@ -0,0 +1,73 @@ + + * $booksService = new Google_Service_Books(...); + * $cloudloading = $booksService->cloudloading; + * + */ +class Google_Service_Books_Resource_Cloudloading extends Google_Service_Resource +{ + /** + * (cloudloading.addBook) + * + * @param array $optParams Optional parameters. + * + * @opt_param string drive_document_id A drive document id. The + * upload_client_token must not be set. + * @opt_param string mime_type The document MIME type. It can be set only if the + * drive_document_id is set. + * @opt_param string name The document name. It can be set only if the + * drive_document_id is set. + * @opt_param string upload_client_token + * @return Google_Service_Books_BooksCloudloadingResource + */ + public function addBook($optParams = array()) + { + $params = array(); + $params = array_merge($params, $optParams); + return $this->call('addBook', array($params), "Google_Service_Books_BooksCloudloadingResource"); + } + /** + * Remove the book and its contents (cloudloading.deleteBook) + * + * @param string $volumeId The id of the book to be removed. + * @param array $optParams Optional parameters. + */ + public function deleteBook($volumeId, $optParams = array()) + { + $params = array('volumeId' => $volumeId); + $params = array_merge($params, $optParams); + return $this->call('deleteBook', array($params)); + } + /** + * (cloudloading.updateBook) + * + * @param Google_Service_Books_BooksCloudloadingResource $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Books_BooksCloudloadingResource + */ + public function updateBook(Google_Service_Books_BooksCloudloadingResource $postBody, $optParams = array()) + { + $params = array('postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('updateBook', array($params), "Google_Service_Books_BooksCloudloadingResource"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Books/Resource/Dictionary.php b/vendor/google/apiclient-services/src/Google/Service/Books/Resource/Dictionary.php new file mode 100644 index 00000000..997f2781 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Books/Resource/Dictionary.php @@ -0,0 +1,42 @@ + + * $booksService = new Google_Service_Books(...); + * $dictionary = $booksService->dictionary; + * + */ +class Google_Service_Books_Resource_Dictionary extends Google_Service_Resource +{ + /** + * Returns a list of offline dictionary metadata available + * (dictionary.listOfflineMetadata) + * + * @param string $cpksver The device/version ID from which to request the data. + * @param array $optParams Optional parameters. + * @return Google_Service_Books_Metadata + */ + public function listOfflineMetadata($cpksver, $optParams = array()) + { + $params = array('cpksver' => $cpksver); + $params = array_merge($params, $optParams); + return $this->call('listOfflineMetadata', array($params), "Google_Service_Books_Metadata"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Books/Resource/Layers.php b/vendor/google/apiclient-services/src/Google/Service/Books/Resource/Layers.php new file mode 100644 index 00000000..3b93e8d8 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Books/Resource/Layers.php @@ -0,0 +1,66 @@ + + * $booksService = new Google_Service_Books(...); + * $layers = $booksService->layers; + * + */ +class Google_Service_Books_Resource_Layers extends Google_Service_Resource +{ + /** + * Gets the layer summary for a volume. (layers.get) + * + * @param string $volumeId The volume to retrieve layers for. + * @param string $summaryId The ID for the layer to get the summary for. + * @param array $optParams Optional parameters. + * + * @opt_param string contentVersion The content version for the requested + * volume. + * @opt_param string source String to identify the originator of this request. + * @return Google_Service_Books_Layersummary + */ + public function get($volumeId, $summaryId, $optParams = array()) + { + $params = array('volumeId' => $volumeId, 'summaryId' => $summaryId); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Books_Layersummary"); + } + /** + * List the layer summaries for a volume. (layers.listLayers) + * + * @param string $volumeId The volume to retrieve layers for. + * @param array $optParams Optional parameters. + * + * @opt_param string contentVersion The content version for the requested + * volume. + * @opt_param string maxResults Maximum number of results to return + * @opt_param string pageToken The value of the nextToken from the previous + * page. + * @opt_param string source String to identify the originator of this request. + * @return Google_Service_Books_Layersummaries + */ + public function listLayers($volumeId, $optParams = array()) + { + $params = array('volumeId' => $volumeId); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Books_Layersummaries"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Books/Resource/LayersAnnotationData.php b/vendor/google/apiclient-services/src/Google/Service/Books/Resource/LayersAnnotationData.php new file mode 100644 index 00000000..3f04cb68 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Books/Resource/LayersAnnotationData.php @@ -0,0 +1,90 @@ + + * $booksService = new Google_Service_Books(...); + * $annotationData = $booksService->annotationData; + * + */ +class Google_Service_Books_Resource_LayersAnnotationData extends Google_Service_Resource +{ + /** + * Gets the annotation data. (annotationData.get) + * + * @param string $volumeId The volume to retrieve annotations for. + * @param string $layerId The ID for the layer to get the annotations. + * @param string $annotationDataId The ID of the annotation data to retrieve. + * @param string $contentVersion The content version for the volume you are + * trying to retrieve. + * @param array $optParams Optional parameters. + * + * @opt_param bool allowWebDefinitions For the dictionary layer. Whether or not + * to allow web definitions. + * @opt_param int h The requested pixel height for any images. If height is + * provided width must also be provided. + * @opt_param string locale The locale information for the data. ISO-639-1 + * language and ISO-3166-1 country code. Ex: 'en_US'. + * @opt_param int scale The requested scale for the image. + * @opt_param string source String to identify the originator of this request. + * @opt_param int w The requested pixel width for any images. If width is + * provided height must also be provided. + * @return Google_Service_Books_Annotationdata + */ + public function get($volumeId, $layerId, $annotationDataId, $contentVersion, $optParams = array()) + { + $params = array('volumeId' => $volumeId, 'layerId' => $layerId, 'annotationDataId' => $annotationDataId, 'contentVersion' => $contentVersion); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Books_Annotationdata"); + } + /** + * Gets the annotation data for a volume and layer. + * (annotationData.listLayersAnnotationData) + * + * @param string $volumeId The volume to retrieve annotation data for. + * @param string $layerId The ID for the layer to get the annotation data. + * @param string $contentVersion The content version for the requested volume. + * @param array $optParams Optional parameters. + * + * @opt_param string annotationDataId The list of Annotation Data Ids to + * retrieve. Pagination is ignored if this is set. + * @opt_param int h The requested pixel height for any images. If height is + * provided width must also be provided. + * @opt_param string locale The locale information for the data. ISO-639-1 + * language and ISO-3166-1 country code. Ex: 'en_US'. + * @opt_param string maxResults Maximum number of results to return + * @opt_param string pageToken The value of the nextToken from the previous + * page. + * @opt_param int scale The requested scale for the image. + * @opt_param string source String to identify the originator of this request. + * @opt_param string updatedMax RFC 3339 timestamp to restrict to items updated + * prior to this timestamp (exclusive). + * @opt_param string updatedMin RFC 3339 timestamp to restrict to items updated + * since this timestamp (inclusive). + * @opt_param int w The requested pixel width for any images. If width is + * provided height must also be provided. + * @return Google_Service_Books_Annotationsdata + */ + public function listLayersAnnotationData($volumeId, $layerId, $contentVersion, $optParams = array()) + { + $params = array('volumeId' => $volumeId, 'layerId' => $layerId, 'contentVersion' => $contentVersion); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Books_Annotationsdata"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Books/Resource/LayersVolumeAnnotations.php b/vendor/google/apiclient-services/src/Google/Service/Books/Resource/LayersVolumeAnnotations.php new file mode 100644 index 00000000..eef4ed83 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Books/Resource/LayersVolumeAnnotations.php @@ -0,0 +1,83 @@ + + * $booksService = new Google_Service_Books(...); + * $volumeAnnotations = $booksService->volumeAnnotations; + * + */ +class Google_Service_Books_Resource_LayersVolumeAnnotations extends Google_Service_Resource +{ + /** + * Gets the volume annotation. (volumeAnnotations.get) + * + * @param string $volumeId The volume to retrieve annotations for. + * @param string $layerId The ID for the layer to get the annotations. + * @param string $annotationId The ID of the volume annotation to retrieve. + * @param array $optParams Optional parameters. + * + * @opt_param string locale The locale information for the data. ISO-639-1 + * language and ISO-3166-1 country code. Ex: 'en_US'. + * @opt_param string source String to identify the originator of this request. + * @return Google_Service_Books_Volumeannotation + */ + public function get($volumeId, $layerId, $annotationId, $optParams = array()) + { + $params = array('volumeId' => $volumeId, 'layerId' => $layerId, 'annotationId' => $annotationId); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Books_Volumeannotation"); + } + /** + * Gets the volume annotations for a volume and layer. + * (volumeAnnotations.listLayersVolumeAnnotations) + * + * @param string $volumeId The volume to retrieve annotations for. + * @param string $layerId The ID for the layer to get the annotations. + * @param string $contentVersion The content version for the requested volume. + * @param array $optParams Optional parameters. + * + * @opt_param string endOffset The end offset to end retrieving data from. + * @opt_param string endPosition The end position to end retrieving data from. + * @opt_param string locale The locale information for the data. ISO-639-1 + * language and ISO-3166-1 country code. Ex: 'en_US'. + * @opt_param string maxResults Maximum number of results to return + * @opt_param string pageToken The value of the nextToken from the previous + * page. + * @opt_param bool showDeleted Set to true to return deleted annotations. + * updatedMin must be in the request to use this. Defaults to false. + * @opt_param string source String to identify the originator of this request. + * @opt_param string startOffset The start offset to start retrieving data from. + * @opt_param string startPosition The start position to start retrieving data + * from. + * @opt_param string updatedMax RFC 3339 timestamp to restrict to items updated + * prior to this timestamp (exclusive). + * @opt_param string updatedMin RFC 3339 timestamp to restrict to items updated + * since this timestamp (inclusive). + * @opt_param string volumeAnnotationsVersion The version of the volume + * annotations that you are requesting. + * @return Google_Service_Books_Volumeannotations + */ + public function listLayersVolumeAnnotations($volumeId, $layerId, $contentVersion, $optParams = array()) + { + $params = array('volumeId' => $volumeId, 'layerId' => $layerId, 'contentVersion' => $contentVersion); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Books_Volumeannotations"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Books/Resource/Myconfig.php b/vendor/google/apiclient-services/src/Google/Service/Books/Resource/Myconfig.php new file mode 100644 index 00000000..afe93d7f --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Books/Resource/Myconfig.php @@ -0,0 +1,126 @@ + + * $booksService = new Google_Service_Books(...); + * $myconfig = $booksService->myconfig; + * + */ +class Google_Service_Books_Resource_Myconfig extends Google_Service_Resource +{ + /** + * Gets the current settings for the user. (myconfig.getUserSettings) + * + * @param array $optParams Optional parameters. + * @return Google_Service_Books_Usersettings + */ + public function getUserSettings($optParams = array()) + { + $params = array(); + $params = array_merge($params, $optParams); + return $this->call('getUserSettings', array($params), "Google_Service_Books_Usersettings"); + } + /** + * Release downloaded content access restriction. + * (myconfig.releaseDownloadAccess) + * + * @param string|array $volumeIds The volume(s) to release restrictions for. + * @param string $cpksver The device/version ID from which to release the + * restriction. + * @param array $optParams Optional parameters. + * + * @opt_param string locale ISO-639-1, ISO-3166-1 codes for message + * localization, i.e. en_US. + * @opt_param string source String to identify the originator of this request. + * @return Google_Service_Books_DownloadAccesses + */ + public function releaseDownloadAccess($volumeIds, $cpksver, $optParams = array()) + { + $params = array('volumeIds' => $volumeIds, 'cpksver' => $cpksver); + $params = array_merge($params, $optParams); + return $this->call('releaseDownloadAccess', array($params), "Google_Service_Books_DownloadAccesses"); + } + /** + * Request concurrent and download access restrictions. (myconfig.requestAccess) + * + * @param string $source String to identify the originator of this request. + * @param string $volumeId The volume to request concurrent/download + * restrictions for. + * @param string $nonce The client nonce value. + * @param string $cpksver The device/version ID from which to request the + * restrictions. + * @param array $optParams Optional parameters. + * + * @opt_param string licenseTypes The type of access license to request. If not + * specified, the default is BOTH. + * @opt_param string locale ISO-639-1, ISO-3166-1 codes for message + * localization, i.e. en_US. + * @return Google_Service_Books_RequestAccess + */ + public function requestAccess($source, $volumeId, $nonce, $cpksver, $optParams = array()) + { + $params = array('source' => $source, 'volumeId' => $volumeId, 'nonce' => $nonce, 'cpksver' => $cpksver); + $params = array_merge($params, $optParams); + return $this->call('requestAccess', array($params), "Google_Service_Books_RequestAccess"); + } + /** + * Request downloaded content access for specified volumes on the My eBooks + * shelf. (myconfig.syncVolumeLicenses) + * + * @param string $source String to identify the originator of this request. + * @param string $nonce The client nonce value. + * @param string $cpksver The device/version ID from which to release the + * restriction. + * @param array $optParams Optional parameters. + * + * @opt_param string features List of features supported by the client, i.e., + * 'RENTALS' + * @opt_param bool includeNonComicsSeries Set to true to include non-comics + * series. Defaults to false. + * @opt_param string locale ISO-639-1, ISO-3166-1 codes for message + * localization, i.e. en_US. + * @opt_param bool showPreorders Set to true to show pre-ordered books. Defaults + * to false. + * @opt_param string volumeIds The volume(s) to request download restrictions + * for. + * @return Google_Service_Books_Volumes + */ + public function syncVolumeLicenses($source, $nonce, $cpksver, $optParams = array()) + { + $params = array('source' => $source, 'nonce' => $nonce, 'cpksver' => $cpksver); + $params = array_merge($params, $optParams); + return $this->call('syncVolumeLicenses', array($params), "Google_Service_Books_Volumes"); + } + /** + * Sets the settings for the user. If a sub-object is specified, it will + * overwrite the existing sub-object stored in the server. Unspecified sub- + * objects will retain the existing value. (myconfig.updateUserSettings) + * + * @param Google_Service_Books_Usersettings $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Books_Usersettings + */ + public function updateUserSettings(Google_Service_Books_Usersettings $postBody, $optParams = array()) + { + $params = array('postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('updateUserSettings', array($params), "Google_Service_Books_Usersettings"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Books/Resource/Mylibrary.php b/vendor/google/apiclient-services/src/Google/Service/Books/Resource/Mylibrary.php new file mode 100644 index 00000000..5c98fce7 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Books/Resource/Mylibrary.php @@ -0,0 +1,28 @@ + + * $booksService = new Google_Service_Books(...); + * $mylibrary = $booksService->mylibrary; + * + */ +class Google_Service_Books_Resource_Mylibrary extends Google_Service_Resource +{ +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Books/Resource/MylibraryAnnotations.php b/vendor/google/apiclient-services/src/Google/Service/Books/Resource/MylibraryAnnotations.php new file mode 100644 index 00000000..67cdde37 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Books/Resource/MylibraryAnnotations.php @@ -0,0 +1,119 @@ + + * $booksService = new Google_Service_Books(...); + * $annotations = $booksService->annotations; + * + */ +class Google_Service_Books_Resource_MylibraryAnnotations extends Google_Service_Resource +{ + /** + * Deletes an annotation. (annotations.delete) + * + * @param string $annotationId The ID for the annotation to delete. + * @param array $optParams Optional parameters. + * + * @opt_param string source String to identify the originator of this request. + */ + public function delete($annotationId, $optParams = array()) + { + $params = array('annotationId' => $annotationId); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params)); + } + /** + * Inserts a new annotation. (annotations.insert) + * + * @param Google_Service_Books_Annotation $postBody + * @param array $optParams Optional parameters. + * + * @opt_param string country ISO-3166-1 code to override the IP-based location. + * @opt_param bool showOnlySummaryInResponse Requests that only the summary of + * the specified layer be provided in the response. + * @opt_param string source String to identify the originator of this request. + * @return Google_Service_Books_Annotation + */ + public function insert(Google_Service_Books_Annotation $postBody, $optParams = array()) + { + $params = array('postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('insert', array($params), "Google_Service_Books_Annotation"); + } + /** + * Retrieves a list of annotations, possibly filtered. + * (annotations.listMylibraryAnnotations) + * + * @param array $optParams Optional parameters. + * + * @opt_param string contentVersion The content version for the requested + * volume. + * @opt_param string layerId The layer ID to limit annotation by. + * @opt_param string layerIds The layer ID(s) to limit annotation by. + * @opt_param string maxResults Maximum number of results to return + * @opt_param string pageToken The value of the nextToken from the previous + * page. + * @opt_param bool showDeleted Set to true to return deleted annotations. + * updatedMin must be in the request to use this. Defaults to false. + * @opt_param string source String to identify the originator of this request. + * @opt_param string updatedMax RFC 3339 timestamp to restrict to items updated + * prior to this timestamp (exclusive). + * @opt_param string updatedMin RFC 3339 timestamp to restrict to items updated + * since this timestamp (inclusive). + * @opt_param string volumeId The volume to restrict annotations to. + * @return Google_Service_Books_Annotations + */ + public function listMylibraryAnnotations($optParams = array()) + { + $params = array(); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Books_Annotations"); + } + /** + * Gets the summary of specified layers. (annotations.summary) + * + * @param string|array $layerIds Array of layer IDs to get the summary for. + * @param string $volumeId Volume id to get the summary for. + * @param array $optParams Optional parameters. + * @return Google_Service_Books_AnnotationsSummary + */ + public function summary($layerIds, $volumeId, $optParams = array()) + { + $params = array('layerIds' => $layerIds, 'volumeId' => $volumeId); + $params = array_merge($params, $optParams); + return $this->call('summary', array($params), "Google_Service_Books_AnnotationsSummary"); + } + /** + * Updates an existing annotation. (annotations.update) + * + * @param string $annotationId The ID for the annotation to update. + * @param Google_Service_Books_Annotation $postBody + * @param array $optParams Optional parameters. + * + * @opt_param string source String to identify the originator of this request. + * @return Google_Service_Books_Annotation + */ + public function update($annotationId, Google_Service_Books_Annotation $postBody, $optParams = array()) + { + $params = array('annotationId' => $annotationId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('update', array($params), "Google_Service_Books_Annotation"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Books/Resource/MylibraryBookshelves.php b/vendor/google/apiclient-services/src/Google/Service/Books/Resource/MylibraryBookshelves.php new file mode 100644 index 00000000..a88c986c --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Books/Resource/MylibraryBookshelves.php @@ -0,0 +1,125 @@ + + * $booksService = new Google_Service_Books(...); + * $bookshelves = $booksService->bookshelves; + * + */ +class Google_Service_Books_Resource_MylibraryBookshelves extends Google_Service_Resource +{ + /** + * Adds a volume to a bookshelf. (bookshelves.addVolume) + * + * @param string $shelf ID of bookshelf to which to add a volume. + * @param string $volumeId ID of volume to add. + * @param array $optParams Optional parameters. + * + * @opt_param string reason The reason for which the book is added to the + * library. + * @opt_param string source String to identify the originator of this request. + */ + public function addVolume($shelf, $volumeId, $optParams = array()) + { + $params = array('shelf' => $shelf, 'volumeId' => $volumeId); + $params = array_merge($params, $optParams); + return $this->call('addVolume', array($params)); + } + /** + * Clears all volumes from a bookshelf. (bookshelves.clearVolumes) + * + * @param string $shelf ID of bookshelf from which to remove a volume. + * @param array $optParams Optional parameters. + * + * @opt_param string source String to identify the originator of this request. + */ + public function clearVolumes($shelf, $optParams = array()) + { + $params = array('shelf' => $shelf); + $params = array_merge($params, $optParams); + return $this->call('clearVolumes', array($params)); + } + /** + * Retrieves metadata for a specific bookshelf belonging to the authenticated + * user. (bookshelves.get) + * + * @param string $shelf ID of bookshelf to retrieve. + * @param array $optParams Optional parameters. + * + * @opt_param string source String to identify the originator of this request. + * @return Google_Service_Books_Bookshelf + */ + public function get($shelf, $optParams = array()) + { + $params = array('shelf' => $shelf); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Books_Bookshelf"); + } + /** + * Retrieves a list of bookshelves belonging to the authenticated user. + * (bookshelves.listMylibraryBookshelves) + * + * @param array $optParams Optional parameters. + * + * @opt_param string source String to identify the originator of this request. + * @return Google_Service_Books_Bookshelves + */ + public function listMylibraryBookshelves($optParams = array()) + { + $params = array(); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Books_Bookshelves"); + } + /** + * Moves a volume within a bookshelf. (bookshelves.moveVolume) + * + * @param string $shelf ID of bookshelf with the volume. + * @param string $volumeId ID of volume to move. + * @param int $volumePosition Position on shelf to move the item (0 puts the + * item before the current first item, 1 puts it between the first and the + * second and so on.) + * @param array $optParams Optional parameters. + * + * @opt_param string source String to identify the originator of this request. + */ + public function moveVolume($shelf, $volumeId, $volumePosition, $optParams = array()) + { + $params = array('shelf' => $shelf, 'volumeId' => $volumeId, 'volumePosition' => $volumePosition); + $params = array_merge($params, $optParams); + return $this->call('moveVolume', array($params)); + } + /** + * Removes a volume from a bookshelf. (bookshelves.removeVolume) + * + * @param string $shelf ID of bookshelf from which to remove a volume. + * @param string $volumeId ID of volume to remove. + * @param array $optParams Optional parameters. + * + * @opt_param string reason The reason for which the book is removed from the + * library. + * @opt_param string source String to identify the originator of this request. + */ + public function removeVolume($shelf, $volumeId, $optParams = array()) + { + $params = array('shelf' => $shelf, 'volumeId' => $volumeId); + $params = array_merge($params, $optParams); + return $this->call('removeVolume', array($params)); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Books/Resource/MylibraryBookshelvesVolumes.php b/vendor/google/apiclient-services/src/Google/Service/Books/Resource/MylibraryBookshelvesVolumes.php new file mode 100644 index 00000000..c1536ffc --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Books/Resource/MylibraryBookshelvesVolumes.php @@ -0,0 +1,53 @@ + + * $booksService = new Google_Service_Books(...); + * $volumes = $booksService->volumes; + * + */ +class Google_Service_Books_Resource_MylibraryBookshelvesVolumes extends Google_Service_Resource +{ + /** + * Gets volume information for volumes on a bookshelf. + * (volumes.listMylibraryBookshelvesVolumes) + * + * @param string $shelf The bookshelf ID or name retrieve volumes for. + * @param array $optParams Optional parameters. + * + * @opt_param string country ISO-3166-1 code to override the IP-based location. + * @opt_param string maxResults Maximum number of results to return + * @opt_param string projection Restrict information returned to a set of + * selected fields. + * @opt_param string q Full-text search query string in this bookshelf. + * @opt_param bool showPreorders Set to true to show pre-ordered books. Defaults + * to false. + * @opt_param string source String to identify the originator of this request. + * @opt_param string startIndex Index of the first element to return (starts at + * 0) + * @return Google_Service_Books_Volumes + */ + public function listMylibraryBookshelvesVolumes($shelf, $optParams = array()) + { + $params = array('shelf' => $shelf); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Books_Volumes"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Books/Resource/MylibraryReadingpositions.php b/vendor/google/apiclient-services/src/Google/Service/Books/Resource/MylibraryReadingpositions.php new file mode 100644 index 00000000..375c2ae1 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Books/Resource/MylibraryReadingpositions.php @@ -0,0 +1,71 @@ + + * $booksService = new Google_Service_Books(...); + * $readingpositions = $booksService->readingpositions; + * + */ +class Google_Service_Books_Resource_MylibraryReadingpositions extends Google_Service_Resource +{ + /** + * Retrieves my reading position information for a volume. + * (readingpositions.get) + * + * @param string $volumeId ID of volume for which to retrieve a reading + * position. + * @param array $optParams Optional parameters. + * + * @opt_param string contentVersion Volume content version for which this + * reading position is requested. + * @opt_param string source String to identify the originator of this request. + * @return Google_Service_Books_ReadingPosition + */ + public function get($volumeId, $optParams = array()) + { + $params = array('volumeId' => $volumeId); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Books_ReadingPosition"); + } + /** + * Sets my reading position information for a volume. + * (readingpositions.setPosition) + * + * @param string $volumeId ID of volume for which to update the reading + * position. + * @param string $timestamp RFC 3339 UTC format timestamp associated with this + * reading position. + * @param string $position Position string for the new volume reading position. + * @param array $optParams Optional parameters. + * + * @opt_param string action Action that caused this reading position to be set. + * @opt_param string contentVersion Volume content version for which this + * reading position applies. + * @opt_param string deviceCookie Random persistent device cookie optional on + * set position. + * @opt_param string source String to identify the originator of this request. + */ + public function setPosition($volumeId, $timestamp, $position, $optParams = array()) + { + $params = array('volumeId' => $volumeId, 'timestamp' => $timestamp, 'position' => $position); + $params = array_merge($params, $optParams); + return $this->call('setPosition', array($params)); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Books/Resource/Notification.php b/vendor/google/apiclient-services/src/Google/Service/Books/Resource/Notification.php new file mode 100644 index 00000000..f3bae929 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Books/Resource/Notification.php @@ -0,0 +1,45 @@ + + * $booksService = new Google_Service_Books(...); + * $notification = $booksService->notification; + * + */ +class Google_Service_Books_Resource_Notification extends Google_Service_Resource +{ + /** + * Returns notification details for a given notification id. (notification.get) + * + * @param string $notificationId String to identify the notification. + * @param array $optParams Optional parameters. + * + * @opt_param string locale ISO-639-1 language and ISO-3166-1 country code. Ex: + * 'en_US'. Used for generating notification title and body. + * @opt_param string source String to identify the originator of this request. + * @return Google_Service_Books_Notification + */ + public function get($notificationId, $optParams = array()) + { + $params = array('notification_id' => $notificationId); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Books_Notification"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Books/Resource/Onboarding.php b/vendor/google/apiclient-services/src/Google/Service/Books/Resource/Onboarding.php new file mode 100644 index 00000000..6ad8f753 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Books/Resource/Onboarding.php @@ -0,0 +1,67 @@ + + * $booksService = new Google_Service_Books(...); + * $onboarding = $booksService->onboarding; + * + */ +class Google_Service_Books_Resource_Onboarding extends Google_Service_Resource +{ + /** + * List categories for onboarding experience. (onboarding.listCategories) + * + * @param array $optParams Optional parameters. + * + * @opt_param string locale ISO-639-1 language and ISO-3166-1 country code. + * Default is en-US if unset. + * @return Google_Service_Books_Category + */ + public function listCategories($optParams = array()) + { + $params = array(); + $params = array_merge($params, $optParams); + return $this->call('listCategories', array($params), "Google_Service_Books_Category"); + } + /** + * List available volumes under categories for onboarding experience. + * (onboarding.listCategoryVolumes) + * + * @param array $optParams Optional parameters. + * + * @opt_param string categoryId List of category ids requested. + * @opt_param string locale ISO-639-1 language and ISO-3166-1 country code. + * Default is en-US if unset. + * @opt_param string maxAllowedMaturityRating The maximum allowed maturity + * rating of returned volumes. Books with a higher maturity rating are filtered + * out. + * @opt_param string pageSize Number of maximum results per page to be included + * in the response. + * @opt_param string pageToken The value of the nextToken from the previous + * page. + * @return Google_Service_Books_Volume2 + */ + public function listCategoryVolumes($optParams = array()) + { + $params = array(); + $params = array_merge($params, $optParams); + return $this->call('listCategoryVolumes', array($params), "Google_Service_Books_Volume2"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Books/Resource/Personalizedstream.php b/vendor/google/apiclient-services/src/Google/Service/Books/Resource/Personalizedstream.php new file mode 100644 index 00000000..363f5edf --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Books/Resource/Personalizedstream.php @@ -0,0 +1,47 @@ + + * $booksService = new Google_Service_Books(...); + * $personalizedstream = $booksService->personalizedstream; + * + */ +class Google_Service_Books_Resource_Personalizedstream extends Google_Service_Resource +{ + /** + * Returns a stream of personalized book clusters (personalizedstream.get) + * + * @param array $optParams Optional parameters. + * + * @opt_param string locale ISO-639-1 language and ISO-3166-1 country code. Ex: + * 'en_US'. Used for generating recommendations. + * @opt_param string maxAllowedMaturityRating The maximum allowed maturity + * rating of returned recommendations. Books with a higher maturity rating are + * filtered out. + * @opt_param string source String to identify the originator of this request. + * @return Google_Service_Books_Discoveryclusters + */ + public function get($optParams = array()) + { + $params = array(); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Books_Discoveryclusters"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Books/Resource/Promooffer.php b/vendor/google/apiclient-services/src/Google/Service/Books/Resource/Promooffer.php new file mode 100644 index 00000000..624952f0 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Books/Resource/Promooffer.php @@ -0,0 +1,86 @@ + + * $booksService = new Google_Service_Books(...); + * $promooffer = $booksService->promooffer; + * + */ +class Google_Service_Books_Resource_Promooffer extends Google_Service_Resource +{ + /** + * (promooffer.accept) + * + * @param array $optParams Optional parameters. + * + * @opt_param string androidId device android_id + * @opt_param string device device device + * @opt_param string manufacturer device manufacturer + * @opt_param string model device model + * @opt_param string offerId + * @opt_param string product device product + * @opt_param string serial device serial + * @opt_param string volumeId Volume id to exercise the offer + */ + public function accept($optParams = array()) + { + $params = array(); + $params = array_merge($params, $optParams); + return $this->call('accept', array($params)); + } + /** + * (promooffer.dismiss) + * + * @param array $optParams Optional parameters. + * + * @opt_param string androidId device android_id + * @opt_param string device device device + * @opt_param string manufacturer device manufacturer + * @opt_param string model device model + * @opt_param string offerId Offer to dimiss + * @opt_param string product device product + * @opt_param string serial device serial + */ + public function dismiss($optParams = array()) + { + $params = array(); + $params = array_merge($params, $optParams); + return $this->call('dismiss', array($params)); + } + /** + * Returns a list of promo offers available to the user (promooffer.get) + * + * @param array $optParams Optional parameters. + * + * @opt_param string androidId device android_id + * @opt_param string device device device + * @opt_param string manufacturer device manufacturer + * @opt_param string model device model + * @opt_param string product device product + * @opt_param string serial device serial + * @return Google_Service_Books_Offers + */ + public function get($optParams = array()) + { + $params = array(); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Books_Offers"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Books/Resource/Series.php b/vendor/google/apiclient-services/src/Google/Service/Books/Resource/Series.php new file mode 100644 index 00000000..a3f8bdee --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Books/Resource/Series.php @@ -0,0 +1,41 @@ + + * $booksService = new Google_Service_Books(...); + * $series = $booksService->series; + * + */ +class Google_Service_Books_Resource_Series extends Google_Service_Resource +{ + /** + * Returns Series metadata for the given series ids. (series.get) + * + * @param string|array $seriesId String that identifies the series + * @param array $optParams Optional parameters. + * @return Google_Service_Books_Series + */ + public function get($seriesId, $optParams = array()) + { + $params = array('series_id' => $seriesId); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Books_Series"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Books/Resource/SeriesMembership.php b/vendor/google/apiclient-services/src/Google/Service/Books/Resource/SeriesMembership.php new file mode 100644 index 00000000..28a2e410 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Books/Resource/SeriesMembership.php @@ -0,0 +1,46 @@ + + * $booksService = new Google_Service_Books(...); + * $membership = $booksService->membership; + * + */ +class Google_Service_Books_Resource_SeriesMembership extends Google_Service_Resource +{ + /** + * Returns Series membership data given the series id. (membership.get) + * + * @param string $seriesId String that identifies the series + * @param array $optParams Optional parameters. + * + * @opt_param string page_size Number of maximum results per page to be included + * in the response. + * @opt_param string page_token The value of the nextToken from the previous + * page. + * @return Google_Service_Books_Seriesmembership + */ + public function get($seriesId, $optParams = array()) + { + $params = array('series_id' => $seriesId); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Books_Seriesmembership"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Books/Resource/Volumes.php b/vendor/google/apiclient-services/src/Google/Service/Books/Resource/Volumes.php new file mode 100644 index 00000000..1065108c --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Books/Resource/Volumes.php @@ -0,0 +1,83 @@ + + * $booksService = new Google_Service_Books(...); + * $volumes = $booksService->volumes; + * + */ +class Google_Service_Books_Resource_Volumes extends Google_Service_Resource +{ + /** + * Gets volume information for a single volume. (volumes.get) + * + * @param string $volumeId ID of volume to retrieve. + * @param array $optParams Optional parameters. + * + * @opt_param string country ISO-3166-1 code to override the IP-based location. + * @opt_param bool includeNonComicsSeries Set to true to include non-comics + * series. Defaults to false. + * @opt_param string partner Brand results for partner ID. + * @opt_param string projection Restrict information returned to a set of + * selected fields. + * @opt_param string source String to identify the originator of this request. + * @opt_param bool user_library_consistent_read + * @return Google_Service_Books_Volume + */ + public function get($volumeId, $optParams = array()) + { + $params = array('volumeId' => $volumeId); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Books_Volume"); + } + /** + * Performs a book search. (volumes.listVolumes) + * + * @param string $q Full-text search query string. + * @param array $optParams Optional parameters. + * + * @opt_param string download Restrict to volumes by download availability. + * @opt_param string filter Filter search results. + * @opt_param string langRestrict Restrict results to books with this language + * code. + * @opt_param string libraryRestrict Restrict search to this user's library. + * @opt_param string maxAllowedMaturityRating The maximum allowed maturity + * rating of returned recommendations. Books with a higher maturity rating are + * filtered out. + * @opt_param string maxResults Maximum number of results to return. + * @opt_param string orderBy Sort search results. + * @opt_param string partner Restrict and brand results for partner ID. + * @opt_param string printType Restrict to books or magazines. + * @opt_param string projection Restrict information returned to a set of + * selected fields. + * @opt_param bool showPreorders Set to true to show books available for + * preorder. Defaults to false. + * @opt_param string source String to identify the originator of this request. + * @opt_param string startIndex Index of the first result to return (starts at + * 0) + * @return Google_Service_Books_Volumes + */ + public function listVolumes($q, $optParams = array()) + { + $params = array('q' => $q); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Books_Volumes"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Books/Resource/VolumesAssociated.php b/vendor/google/apiclient-services/src/Google/Service/Books/Resource/VolumesAssociated.php new file mode 100644 index 00000000..85716456 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Books/Resource/VolumesAssociated.php @@ -0,0 +1,49 @@ + + * $booksService = new Google_Service_Books(...); + * $associated = $booksService->associated; + * + */ +class Google_Service_Books_Resource_VolumesAssociated extends Google_Service_Resource +{ + /** + * Return a list of associated books. (associated.listVolumesAssociated) + * + * @param string $volumeId ID of the source volume. + * @param array $optParams Optional parameters. + * + * @opt_param string association Association type. + * @opt_param string locale ISO-639-1 language and ISO-3166-1 country code. Ex: + * 'en_US'. Used for generating recommendations. + * @opt_param string maxAllowedMaturityRating The maximum allowed maturity + * rating of returned recommendations. Books with a higher maturity rating are + * filtered out. + * @opt_param string source String to identify the originator of this request. + * @return Google_Service_Books_Volumes + */ + public function listVolumesAssociated($volumeId, $optParams = array()) + { + $params = array('volumeId' => $volumeId); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Books_Volumes"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Books/Resource/VolumesMybooks.php b/vendor/google/apiclient-services/src/Google/Service/Books/Resource/VolumesMybooks.php new file mode 100644 index 00000000..b9897853 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Books/Resource/VolumesMybooks.php @@ -0,0 +1,52 @@ + + * $booksService = new Google_Service_Books(...); + * $mybooks = $booksService->mybooks; + * + */ +class Google_Service_Books_Resource_VolumesMybooks extends Google_Service_Resource +{ + /** + * Return a list of books in My Library. (mybooks.listVolumesMybooks) + * + * @param array $optParams Optional parameters. + * + * @opt_param string acquireMethod How the book was acquired + * @opt_param string country ISO-3166-1 code to override the IP-based location. + * @opt_param string locale ISO-639-1 language and ISO-3166-1 country code. + * Ex:'en_US'. Used for generating recommendations. + * @opt_param string maxResults Maximum number of results to return. + * @opt_param string processingState The processing state of the user uploaded + * volumes to be returned. Applicable only if the UPLOADED is specified in the + * acquireMethod. + * @opt_param string source String to identify the originator of this request. + * @opt_param string startIndex Index of the first result to return (starts at + * 0) + * @return Google_Service_Books_Volumes + */ + public function listVolumesMybooks($optParams = array()) + { + $params = array(); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Books_Volumes"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Books/Resource/VolumesRecommended.php b/vendor/google/apiclient-services/src/Google/Service/Books/Resource/VolumesRecommended.php new file mode 100644 index 00000000..e8cb7241 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Books/Resource/VolumesRecommended.php @@ -0,0 +1,66 @@ + + * $booksService = new Google_Service_Books(...); + * $recommended = $booksService->recommended; + * + */ +class Google_Service_Books_Resource_VolumesRecommended extends Google_Service_Resource +{ + /** + * Return a list of recommended books for the current user. + * (recommended.listVolumesRecommended) + * + * @param array $optParams Optional parameters. + * + * @opt_param string locale ISO-639-1 language and ISO-3166-1 country code. Ex: + * 'en_US'. Used for generating recommendations. + * @opt_param string maxAllowedMaturityRating The maximum allowed maturity + * rating of returned recommendations. Books with a higher maturity rating are + * filtered out. + * @opt_param string source String to identify the originator of this request. + * @return Google_Service_Books_Volumes + */ + public function listVolumesRecommended($optParams = array()) + { + $params = array(); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Books_Volumes"); + } + /** + * Rate a recommended book for the current user. (recommended.rate) + * + * @param string $rating Rating to be given to the volume. + * @param string $volumeId ID of the source volume. + * @param array $optParams Optional parameters. + * + * @opt_param string locale ISO-639-1 language and ISO-3166-1 country code. Ex: + * 'en_US'. Used for generating recommendations. + * @opt_param string source String to identify the originator of this request. + * @return Google_Service_Books_BooksVolumesRecommendedRateResponse + */ + public function rate($rating, $volumeId, $optParams = array()) + { + $params = array('rating' => $rating, 'volumeId' => $volumeId); + $params = array_merge($params, $optParams); + return $this->call('rate', array($params), "Google_Service_Books_BooksVolumesRecommendedRateResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Books/Resource/VolumesUseruploaded.php b/vendor/google/apiclient-services/src/Google/Service/Books/Resource/VolumesUseruploaded.php new file mode 100644 index 00000000..12b69f46 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Books/Resource/VolumesUseruploaded.php @@ -0,0 +1,52 @@ + + * $booksService = new Google_Service_Books(...); + * $useruploaded = $booksService->useruploaded; + * + */ +class Google_Service_Books_Resource_VolumesUseruploaded extends Google_Service_Resource +{ + /** + * Return a list of books uploaded by the current user. + * (useruploaded.listVolumesUseruploaded) + * + * @param array $optParams Optional parameters. + * + * @opt_param string locale ISO-639-1 language and ISO-3166-1 country code. Ex: + * 'en_US'. Used for generating recommendations. + * @opt_param string maxResults Maximum number of results to return. + * @opt_param string processingState The processing state of the user uploaded + * volumes to be returned. + * @opt_param string source String to identify the originator of this request. + * @opt_param string startIndex Index of the first result to return (starts at + * 0) + * @opt_param string volumeId The ids of the volumes to be returned. If not + * specified all that match the processingState are returned. + * @return Google_Service_Books_Volumes + */ + public function listVolumesUseruploaded($optParams = array()) + { + $params = array(); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Books_Volumes"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Books/Review.php b/vendor/google/apiclient-services/src/Google/Service/Books/Review.php new file mode 100644 index 00000000..c648e1cc --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Books/Review.php @@ -0,0 +1,113 @@ +author = $author; + } + public function getAuthor() + { + return $this->author; + } + public function setContent($content) + { + $this->content = $content; + } + public function getContent() + { + return $this->content; + } + public function setDate($date) + { + $this->date = $date; + } + public function getDate() + { + return $this->date; + } + public function setFullTextUrl($fullTextUrl) + { + $this->fullTextUrl = $fullTextUrl; + } + public function getFullTextUrl() + { + return $this->fullTextUrl; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setRating($rating) + { + $this->rating = $rating; + } + public function getRating() + { + return $this->rating; + } + public function setSource(Google_Service_Books_ReviewSource $source) + { + $this->source = $source; + } + public function getSource() + { + return $this->source; + } + public function setTitle($title) + { + $this->title = $title; + } + public function getTitle() + { + return $this->title; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } + public function setVolumeId($volumeId) + { + $this->volumeId = $volumeId; + } + public function getVolumeId() + { + return $this->volumeId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Books/ReviewAuthor.php b/vendor/google/apiclient-services/src/Google/Service/Books/ReviewAuthor.php new file mode 100644 index 00000000..5de1b157 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Books/ReviewAuthor.php @@ -0,0 +1,30 @@ +displayName = $displayName; + } + public function getDisplayName() + { + return $this->displayName; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Books/ReviewSource.php b/vendor/google/apiclient-services/src/Google/Service/Books/ReviewSource.php new file mode 100644 index 00000000..7d4c0ce9 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Books/ReviewSource.php @@ -0,0 +1,48 @@ +description = $description; + } + public function getDescription() + { + return $this->description; + } + public function setExtraDescription($extraDescription) + { + $this->extraDescription = $extraDescription; + } + public function getExtraDescription() + { + return $this->extraDescription; + } + public function setUrl($url) + { + $this->url = $url; + } + public function getUrl() + { + return $this->url; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Books/Series.php b/vendor/google/apiclient-services/src/Google/Service/Books/Series.php new file mode 100644 index 00000000..8d546289 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Books/Series.php @@ -0,0 +1,41 @@ +kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setSeries($series) + { + $this->series = $series; + } + public function getSeries() + { + return $this->series; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Books/SeriesSeries.php b/vendor/google/apiclient-services/src/Google/Service/Books/SeriesSeries.php new file mode 100644 index 00000000..8fcf8fed --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Books/SeriesSeries.php @@ -0,0 +1,66 @@ +bannerImageUrl = $bannerImageUrl; + } + public function getBannerImageUrl() + { + return $this->bannerImageUrl; + } + public function setImageUrl($imageUrl) + { + $this->imageUrl = $imageUrl; + } + public function getImageUrl() + { + return $this->imageUrl; + } + public function setSeriesId($seriesId) + { + $this->seriesId = $seriesId; + } + public function getSeriesId() + { + return $this->seriesId; + } + public function setSeriesType($seriesType) + { + $this->seriesType = $seriesType; + } + public function getSeriesType() + { + return $this->seriesType; + } + public function setTitle($title) + { + $this->title = $title; + } + public function getTitle() + { + return $this->title; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Books/Seriesmembership.php b/vendor/google/apiclient-services/src/Google/Service/Books/Seriesmembership.php new file mode 100644 index 00000000..be25c944 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Books/Seriesmembership.php @@ -0,0 +1,50 @@ +kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setMember($member) + { + $this->member = $member; + } + public function getMember() + { + return $this->member; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Books/Usersettings.php b/vendor/google/apiclient-services/src/Google/Service/Books/Usersettings.php new file mode 100644 index 00000000..919149e6 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Books/Usersettings.php @@ -0,0 +1,50 @@ +kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNotesExport(Google_Service_Books_UsersettingsNotesExport $notesExport) + { + $this->notesExport = $notesExport; + } + public function getNotesExport() + { + return $this->notesExport; + } + public function setNotification(Google_Service_Books_UsersettingsNotification $notification) + { + $this->notification = $notification; + } + public function getNotification() + { + return $this->notification; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Books/UsersettingsNotesExport.php b/vendor/google/apiclient-services/src/Google/Service/Books/UsersettingsNotesExport.php new file mode 100644 index 00000000..9d6d2e8d --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Books/UsersettingsNotesExport.php @@ -0,0 +1,39 @@ +folderName = $folderName; + } + public function getFolderName() + { + return $this->folderName; + } + public function setIsEnabled($isEnabled) + { + $this->isEnabled = $isEnabled; + } + public function getIsEnabled() + { + return $this->isEnabled; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Books/UsersettingsNotification.php b/vendor/google/apiclient-services/src/Google/Service/Books/UsersettingsNotification.php new file mode 100644 index 00000000..680742f8 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Books/UsersettingsNotification.php @@ -0,0 +1,41 @@ +moreFromAuthors = $moreFromAuthors; + } + public function getMoreFromAuthors() + { + return $this->moreFromAuthors; + } + public function setMoreFromSeries(Google_Service_Books_UsersettingsNotificationMoreFromSeries $moreFromSeries) + { + $this->moreFromSeries = $moreFromSeries; + } + public function getMoreFromSeries() + { + return $this->moreFromSeries; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Books/UsersettingsNotificationMoreFromAuthors.php b/vendor/google/apiclient-services/src/Google/Service/Books/UsersettingsNotificationMoreFromAuthors.php new file mode 100644 index 00000000..fa684173 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Books/UsersettingsNotificationMoreFromAuthors.php @@ -0,0 +1,33 @@ + "opted_state", + ); + public $optedState; + + public function setOptedState($optedState) + { + $this->optedState = $optedState; + } + public function getOptedState() + { + return $this->optedState; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Books/UsersettingsNotificationMoreFromSeries.php b/vendor/google/apiclient-services/src/Google/Service/Books/UsersettingsNotificationMoreFromSeries.php new file mode 100644 index 00000000..d0b94d08 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Books/UsersettingsNotificationMoreFromSeries.php @@ -0,0 +1,33 @@ + "opted_state", + ); + public $optedState; + + public function setOptedState($optedState) + { + $this->optedState = $optedState; + } + public function getOptedState() + { + return $this->optedState; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Books/Volume.php b/vendor/google/apiclient-services/src/Google/Service/Books/Volume.php new file mode 100644 index 00000000..7017042d --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Books/Volume.php @@ -0,0 +1,127 @@ +accessInfo = $accessInfo; + } + public function getAccessInfo() + { + return $this->accessInfo; + } + public function setEtag($etag) + { + $this->etag = $etag; + } + public function getEtag() + { + return $this->etag; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setLayerInfo(Google_Service_Books_VolumeLayerInfo $layerInfo) + { + $this->layerInfo = $layerInfo; + } + public function getLayerInfo() + { + return $this->layerInfo; + } + public function setRecommendedInfo(Google_Service_Books_VolumeRecommendedInfo $recommendedInfo) + { + $this->recommendedInfo = $recommendedInfo; + } + public function getRecommendedInfo() + { + return $this->recommendedInfo; + } + public function setSaleInfo(Google_Service_Books_VolumeSaleInfo $saleInfo) + { + $this->saleInfo = $saleInfo; + } + public function getSaleInfo() + { + return $this->saleInfo; + } + public function setSearchInfo(Google_Service_Books_VolumeSearchInfo $searchInfo) + { + $this->searchInfo = $searchInfo; + } + public function getSearchInfo() + { + return $this->searchInfo; + } + public function setSelfLink($selfLink) + { + $this->selfLink = $selfLink; + } + public function getSelfLink() + { + return $this->selfLink; + } + public function setUserInfo(Google_Service_Books_VolumeUserInfo $userInfo) + { + $this->userInfo = $userInfo; + } + public function getUserInfo() + { + return $this->userInfo; + } + public function setVolumeInfo(Google_Service_Books_VolumeVolumeInfo $volumeInfo) + { + $this->volumeInfo = $volumeInfo; + } + public function getVolumeInfo() + { + return $this->volumeInfo; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Books/Volume2.php b/vendor/google/apiclient-services/src/Google/Service/Books/Volume2.php new file mode 100644 index 00000000..f8608302 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Books/Volume2.php @@ -0,0 +1,50 @@ +items = $items; + } + public function getItems() + { + return $this->items; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Books/VolumeAccessInfo.php b/vendor/google/apiclient-services/src/Google/Service/Books/VolumeAccessInfo.php new file mode 100644 index 00000000..65fa6a80 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Books/VolumeAccessInfo.php @@ -0,0 +1,150 @@ +accessViewStatus = $accessViewStatus; + } + public function getAccessViewStatus() + { + return $this->accessViewStatus; + } + public function setCountry($country) + { + $this->country = $country; + } + public function getCountry() + { + return $this->country; + } + public function setDownloadAccess(Google_Service_Books_DownloadAccessRestriction $downloadAccess) + { + $this->downloadAccess = $downloadAccess; + } + public function getDownloadAccess() + { + return $this->downloadAccess; + } + public function setDriveImportedContentLink($driveImportedContentLink) + { + $this->driveImportedContentLink = $driveImportedContentLink; + } + public function getDriveImportedContentLink() + { + return $this->driveImportedContentLink; + } + public function setEmbeddable($embeddable) + { + $this->embeddable = $embeddable; + } + public function getEmbeddable() + { + return $this->embeddable; + } + public function setEpub(Google_Service_Books_VolumeAccessInfoEpub $epub) + { + $this->epub = $epub; + } + public function getEpub() + { + return $this->epub; + } + public function setExplicitOfflineLicenseManagement($explicitOfflineLicenseManagement) + { + $this->explicitOfflineLicenseManagement = $explicitOfflineLicenseManagement; + } + public function getExplicitOfflineLicenseManagement() + { + return $this->explicitOfflineLicenseManagement; + } + public function setPdf(Google_Service_Books_VolumeAccessInfoPdf $pdf) + { + $this->pdf = $pdf; + } + public function getPdf() + { + return $this->pdf; + } + public function setPublicDomain($publicDomain) + { + $this->publicDomain = $publicDomain; + } + public function getPublicDomain() + { + return $this->publicDomain; + } + public function setQuoteSharingAllowed($quoteSharingAllowed) + { + $this->quoteSharingAllowed = $quoteSharingAllowed; + } + public function getQuoteSharingAllowed() + { + return $this->quoteSharingAllowed; + } + public function setTextToSpeechPermission($textToSpeechPermission) + { + $this->textToSpeechPermission = $textToSpeechPermission; + } + public function getTextToSpeechPermission() + { + return $this->textToSpeechPermission; + } + public function setViewOrderUrl($viewOrderUrl) + { + $this->viewOrderUrl = $viewOrderUrl; + } + public function getViewOrderUrl() + { + return $this->viewOrderUrl; + } + public function setViewability($viewability) + { + $this->viewability = $viewability; + } + public function getViewability() + { + return $this->viewability; + } + public function setWebReaderLink($webReaderLink) + { + $this->webReaderLink = $webReaderLink; + } + public function getWebReaderLink() + { + return $this->webReaderLink; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Books/VolumeAccessInfoEpub.php b/vendor/google/apiclient-services/src/Google/Service/Books/VolumeAccessInfoEpub.php new file mode 100644 index 00000000..a41c2150 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Books/VolumeAccessInfoEpub.php @@ -0,0 +1,48 @@ +acsTokenLink = $acsTokenLink; + } + public function getAcsTokenLink() + { + return $this->acsTokenLink; + } + public function setDownloadLink($downloadLink) + { + $this->downloadLink = $downloadLink; + } + public function getDownloadLink() + { + return $this->downloadLink; + } + public function setIsAvailable($isAvailable) + { + $this->isAvailable = $isAvailable; + } + public function getIsAvailable() + { + return $this->isAvailable; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Books/VolumeAccessInfoPdf.php b/vendor/google/apiclient-services/src/Google/Service/Books/VolumeAccessInfoPdf.php new file mode 100644 index 00000000..8a0f6c4f --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Books/VolumeAccessInfoPdf.php @@ -0,0 +1,48 @@ +acsTokenLink = $acsTokenLink; + } + public function getAcsTokenLink() + { + return $this->acsTokenLink; + } + public function setDownloadLink($downloadLink) + { + $this->downloadLink = $downloadLink; + } + public function getDownloadLink() + { + return $this->downloadLink; + } + public function setIsAvailable($isAvailable) + { + $this->isAvailable = $isAvailable; + } + public function getIsAvailable() + { + return $this->isAvailable; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Books/VolumeLayerInfo.php b/vendor/google/apiclient-services/src/Google/Service/Books/VolumeLayerInfo.php new file mode 100644 index 00000000..9802d0ca --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Books/VolumeLayerInfo.php @@ -0,0 +1,32 @@ +layers = $layers; + } + public function getLayers() + { + return $this->layers; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Books/VolumeLayerInfoLayers.php b/vendor/google/apiclient-services/src/Google/Service/Books/VolumeLayerInfoLayers.php new file mode 100644 index 00000000..e65080cb --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Books/VolumeLayerInfoLayers.php @@ -0,0 +1,39 @@ +layerId = $layerId; + } + public function getLayerId() + { + return $this->layerId; + } + public function setVolumeAnnotationsVersion($volumeAnnotationsVersion) + { + $this->volumeAnnotationsVersion = $volumeAnnotationsVersion; + } + public function getVolumeAnnotationsVersion() + { + return $this->volumeAnnotationsVersion; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Books/VolumeRecommendedInfo.php b/vendor/google/apiclient-services/src/Google/Service/Books/VolumeRecommendedInfo.php new file mode 100644 index 00000000..67757950 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Books/VolumeRecommendedInfo.php @@ -0,0 +1,30 @@ +explanation = $explanation; + } + public function getExplanation() + { + return $this->explanation; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Books/VolumeSaleInfo.php b/vendor/google/apiclient-services/src/Google/Service/Books/VolumeSaleInfo.php new file mode 100644 index 00000000..a772a103 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Books/VolumeSaleInfo.php @@ -0,0 +1,97 @@ +buyLink = $buyLink; + } + public function getBuyLink() + { + return $this->buyLink; + } + public function setCountry($country) + { + $this->country = $country; + } + public function getCountry() + { + return $this->country; + } + public function setIsEbook($isEbook) + { + $this->isEbook = $isEbook; + } + public function getIsEbook() + { + return $this->isEbook; + } + public function setListPrice(Google_Service_Books_VolumeSaleInfoListPrice $listPrice) + { + $this->listPrice = $listPrice; + } + public function getListPrice() + { + return $this->listPrice; + } + public function setOffers($offers) + { + $this->offers = $offers; + } + public function getOffers() + { + return $this->offers; + } + public function setOnSaleDate($onSaleDate) + { + $this->onSaleDate = $onSaleDate; + } + public function getOnSaleDate() + { + return $this->onSaleDate; + } + public function setRetailPrice(Google_Service_Books_VolumeSaleInfoRetailPrice $retailPrice) + { + $this->retailPrice = $retailPrice; + } + public function getRetailPrice() + { + return $this->retailPrice; + } + public function setSaleability($saleability) + { + $this->saleability = $saleability; + } + public function getSaleability() + { + return $this->saleability; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Books/VolumeSaleInfoListPrice.php b/vendor/google/apiclient-services/src/Google/Service/Books/VolumeSaleInfoListPrice.php new file mode 100644 index 00000000..e0ccb21e --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Books/VolumeSaleInfoListPrice.php @@ -0,0 +1,39 @@ +amount = $amount; + } + public function getAmount() + { + return $this->amount; + } + public function setCurrencyCode($currencyCode) + { + $this->currencyCode = $currencyCode; + } + public function getCurrencyCode() + { + return $this->currencyCode; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Books/VolumeSaleInfoOffers.php b/vendor/google/apiclient-services/src/Google/Service/Books/VolumeSaleInfoOffers.php new file mode 100644 index 00000000..594ba952 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Books/VolumeSaleInfoOffers.php @@ -0,0 +1,69 @@ +finskyOfferType = $finskyOfferType; + } + public function getFinskyOfferType() + { + return $this->finskyOfferType; + } + public function setGiftable($giftable) + { + $this->giftable = $giftable; + } + public function getGiftable() + { + return $this->giftable; + } + public function setListPrice(Google_Service_Books_VolumeSaleInfoOffersListPrice $listPrice) + { + $this->listPrice = $listPrice; + } + public function getListPrice() + { + return $this->listPrice; + } + public function setRentalDuration(Google_Service_Books_VolumeSaleInfoOffersRentalDuration $rentalDuration) + { + $this->rentalDuration = $rentalDuration; + } + public function getRentalDuration() + { + return $this->rentalDuration; + } + public function setRetailPrice(Google_Service_Books_VolumeSaleInfoOffersRetailPrice $retailPrice) + { + $this->retailPrice = $retailPrice; + } + public function getRetailPrice() + { + return $this->retailPrice; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Books/VolumeSaleInfoOffersListPrice.php b/vendor/google/apiclient-services/src/Google/Service/Books/VolumeSaleInfoOffersListPrice.php new file mode 100644 index 00000000..7973473f --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Books/VolumeSaleInfoOffersListPrice.php @@ -0,0 +1,39 @@ +amountInMicros = $amountInMicros; + } + public function getAmountInMicros() + { + return $this->amountInMicros; + } + public function setCurrencyCode($currencyCode) + { + $this->currencyCode = $currencyCode; + } + public function getCurrencyCode() + { + return $this->currencyCode; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Books/VolumeSaleInfoOffersRentalDuration.php b/vendor/google/apiclient-services/src/Google/Service/Books/VolumeSaleInfoOffersRentalDuration.php new file mode 100644 index 00000000..23421ddc --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Books/VolumeSaleInfoOffersRentalDuration.php @@ -0,0 +1,39 @@ +count = $count; + } + public function getCount() + { + return $this->count; + } + public function setUnit($unit) + { + $this->unit = $unit; + } + public function getUnit() + { + return $this->unit; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Books/VolumeSaleInfoOffersRetailPrice.php b/vendor/google/apiclient-services/src/Google/Service/Books/VolumeSaleInfoOffersRetailPrice.php new file mode 100644 index 00000000..2928a826 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Books/VolumeSaleInfoOffersRetailPrice.php @@ -0,0 +1,39 @@ +amountInMicros = $amountInMicros; + } + public function getAmountInMicros() + { + return $this->amountInMicros; + } + public function setCurrencyCode($currencyCode) + { + $this->currencyCode = $currencyCode; + } + public function getCurrencyCode() + { + return $this->currencyCode; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Books/VolumeSaleInfoRetailPrice.php b/vendor/google/apiclient-services/src/Google/Service/Books/VolumeSaleInfoRetailPrice.php new file mode 100644 index 00000000..9c9d0475 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Books/VolumeSaleInfoRetailPrice.php @@ -0,0 +1,39 @@ +amount = $amount; + } + public function getAmount() + { + return $this->amount; + } + public function setCurrencyCode($currencyCode) + { + $this->currencyCode = $currencyCode; + } + public function getCurrencyCode() + { + return $this->currencyCode; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Books/VolumeSearchInfo.php b/vendor/google/apiclient-services/src/Google/Service/Books/VolumeSearchInfo.php new file mode 100644 index 00000000..7b36118a --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Books/VolumeSearchInfo.php @@ -0,0 +1,30 @@ +textSnippet = $textSnippet; + } + public function getTextSnippet() + { + return $this->textSnippet; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Books/VolumeUserInfo.php b/vendor/google/apiclient-services/src/Google/Service/Books/VolumeUserInfo.php new file mode 100644 index 00000000..86c80537 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Books/VolumeUserInfo.php @@ -0,0 +1,198 @@ +acquiredTime = $acquiredTime; + } + public function getAcquiredTime() + { + return $this->acquiredTime; + } + public function setAcquisitionType($acquisitionType) + { + $this->acquisitionType = $acquisitionType; + } + public function getAcquisitionType() + { + return $this->acquisitionType; + } + public function setCopy(Google_Service_Books_VolumeUserInfoCopy $copy) + { + $this->copy = $copy; + } + public function getCopy() + { + return $this->copy; + } + public function setEntitlementType($entitlementType) + { + $this->entitlementType = $entitlementType; + } + public function getEntitlementType() + { + return $this->entitlementType; + } + public function setFamilySharing(Google_Service_Books_VolumeUserInfoFamilySharing $familySharing) + { + $this->familySharing = $familySharing; + } + public function getFamilySharing() + { + return $this->familySharing; + } + public function setIsFamilySharedFromUser($isFamilySharedFromUser) + { + $this->isFamilySharedFromUser = $isFamilySharedFromUser; + } + public function getIsFamilySharedFromUser() + { + return $this->isFamilySharedFromUser; + } + public function setIsFamilySharedToUser($isFamilySharedToUser) + { + $this->isFamilySharedToUser = $isFamilySharedToUser; + } + public function getIsFamilySharedToUser() + { + return $this->isFamilySharedToUser; + } + public function setIsFamilySharingAllowed($isFamilySharingAllowed) + { + $this->isFamilySharingAllowed = $isFamilySharingAllowed; + } + public function getIsFamilySharingAllowed() + { + return $this->isFamilySharingAllowed; + } + public function setIsFamilySharingDisabledByFop($isFamilySharingDisabledByFop) + { + $this->isFamilySharingDisabledByFop = $isFamilySharingDisabledByFop; + } + public function getIsFamilySharingDisabledByFop() + { + return $this->isFamilySharingDisabledByFop; + } + public function setIsInMyBooks($isInMyBooks) + { + $this->isInMyBooks = $isInMyBooks; + } + public function getIsInMyBooks() + { + return $this->isInMyBooks; + } + public function setIsPreordered($isPreordered) + { + $this->isPreordered = $isPreordered; + } + public function getIsPreordered() + { + return $this->isPreordered; + } + public function setIsPurchased($isPurchased) + { + $this->isPurchased = $isPurchased; + } + public function getIsPurchased() + { + return $this->isPurchased; + } + public function setIsUploaded($isUploaded) + { + $this->isUploaded = $isUploaded; + } + public function getIsUploaded() + { + return $this->isUploaded; + } + public function setReadingPosition(Google_Service_Books_ReadingPosition $readingPosition) + { + $this->readingPosition = $readingPosition; + } + public function getReadingPosition() + { + return $this->readingPosition; + } + public function setRentalPeriod(Google_Service_Books_VolumeUserInfoRentalPeriod $rentalPeriod) + { + $this->rentalPeriod = $rentalPeriod; + } + public function getRentalPeriod() + { + return $this->rentalPeriod; + } + public function setRentalState($rentalState) + { + $this->rentalState = $rentalState; + } + public function getRentalState() + { + return $this->rentalState; + } + public function setReview(Google_Service_Books_Review $review) + { + $this->review = $review; + } + public function getReview() + { + return $this->review; + } + public function setUpdated($updated) + { + $this->updated = $updated; + } + public function getUpdated() + { + return $this->updated; + } + public function setUserUploadedVolumeInfo(Google_Service_Books_VolumeUserInfoUserUploadedVolumeInfo $userUploadedVolumeInfo) + { + $this->userUploadedVolumeInfo = $userUploadedVolumeInfo; + } + public function getUserUploadedVolumeInfo() + { + return $this->userUploadedVolumeInfo; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Books/VolumeUserInfoCopy.php b/vendor/google/apiclient-services/src/Google/Service/Books/VolumeUserInfoCopy.php new file mode 100644 index 00000000..837916af --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Books/VolumeUserInfoCopy.php @@ -0,0 +1,57 @@ +allowedCharacterCount = $allowedCharacterCount; + } + public function getAllowedCharacterCount() + { + return $this->allowedCharacterCount; + } + public function setLimitType($limitType) + { + $this->limitType = $limitType; + } + public function getLimitType() + { + return $this->limitType; + } + public function setRemainingCharacterCount($remainingCharacterCount) + { + $this->remainingCharacterCount = $remainingCharacterCount; + } + public function getRemainingCharacterCount() + { + return $this->remainingCharacterCount; + } + public function setUpdated($updated) + { + $this->updated = $updated; + } + public function getUpdated() + { + return $this->updated; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Books/VolumeUserInfoFamilySharing.php b/vendor/google/apiclient-services/src/Google/Service/Books/VolumeUserInfoFamilySharing.php new file mode 100644 index 00000000..a372b4f3 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Books/VolumeUserInfoFamilySharing.php @@ -0,0 +1,48 @@ +familyRole = $familyRole; + } + public function getFamilyRole() + { + return $this->familyRole; + } + public function setIsSharingAllowed($isSharingAllowed) + { + $this->isSharingAllowed = $isSharingAllowed; + } + public function getIsSharingAllowed() + { + return $this->isSharingAllowed; + } + public function setIsSharingDisabledByFop($isSharingDisabledByFop) + { + $this->isSharingDisabledByFop = $isSharingDisabledByFop; + } + public function getIsSharingDisabledByFop() + { + return $this->isSharingDisabledByFop; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Books/VolumeUserInfoRentalPeriod.php b/vendor/google/apiclient-services/src/Google/Service/Books/VolumeUserInfoRentalPeriod.php new file mode 100644 index 00000000..6e2e050a --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Books/VolumeUserInfoRentalPeriod.php @@ -0,0 +1,39 @@ +endUtcSec = $endUtcSec; + } + public function getEndUtcSec() + { + return $this->endUtcSec; + } + public function setStartUtcSec($startUtcSec) + { + $this->startUtcSec = $startUtcSec; + } + public function getStartUtcSec() + { + return $this->startUtcSec; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Books/VolumeUserInfoUserUploadedVolumeInfo.php b/vendor/google/apiclient-services/src/Google/Service/Books/VolumeUserInfoUserUploadedVolumeInfo.php new file mode 100644 index 00000000..5eddbebe --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Books/VolumeUserInfoUserUploadedVolumeInfo.php @@ -0,0 +1,30 @@ +processingState = $processingState; + } + public function getProcessingState() + { + return $this->processingState; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Books/VolumeVolumeInfo.php b/vendor/google/apiclient-services/src/Google/Service/Books/VolumeVolumeInfo.php new file mode 100644 index 00000000..5d40f90d --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Books/VolumeVolumeInfo.php @@ -0,0 +1,270 @@ +allowAnonLogging = $allowAnonLogging; + } + public function getAllowAnonLogging() + { + return $this->allowAnonLogging; + } + public function setAuthors($authors) + { + $this->authors = $authors; + } + public function getAuthors() + { + return $this->authors; + } + public function setAverageRating($averageRating) + { + $this->averageRating = $averageRating; + } + public function getAverageRating() + { + return $this->averageRating; + } + public function setCanonicalVolumeLink($canonicalVolumeLink) + { + $this->canonicalVolumeLink = $canonicalVolumeLink; + } + public function getCanonicalVolumeLink() + { + return $this->canonicalVolumeLink; + } + public function setCategories($categories) + { + $this->categories = $categories; + } + public function getCategories() + { + return $this->categories; + } + public function setContentVersion($contentVersion) + { + $this->contentVersion = $contentVersion; + } + public function getContentVersion() + { + return $this->contentVersion; + } + public function setDescription($description) + { + $this->description = $description; + } + public function getDescription() + { + return $this->description; + } + public function setDimensions(Google_Service_Books_VolumeVolumeInfoDimensions $dimensions) + { + $this->dimensions = $dimensions; + } + public function getDimensions() + { + return $this->dimensions; + } + public function setImageLinks(Google_Service_Books_VolumeVolumeInfoImageLinks $imageLinks) + { + $this->imageLinks = $imageLinks; + } + public function getImageLinks() + { + return $this->imageLinks; + } + public function setIndustryIdentifiers($industryIdentifiers) + { + $this->industryIdentifiers = $industryIdentifiers; + } + public function getIndustryIdentifiers() + { + return $this->industryIdentifiers; + } + public function setInfoLink($infoLink) + { + $this->infoLink = $infoLink; + } + public function getInfoLink() + { + return $this->infoLink; + } + public function setLanguage($language) + { + $this->language = $language; + } + public function getLanguage() + { + return $this->language; + } + public function setMainCategory($mainCategory) + { + $this->mainCategory = $mainCategory; + } + public function getMainCategory() + { + return $this->mainCategory; + } + public function setMaturityRating($maturityRating) + { + $this->maturityRating = $maturityRating; + } + public function getMaturityRating() + { + return $this->maturityRating; + } + public function setPageCount($pageCount) + { + $this->pageCount = $pageCount; + } + public function getPageCount() + { + return $this->pageCount; + } + public function setPanelizationSummary(Google_Service_Books_VolumeVolumeInfoPanelizationSummary $panelizationSummary) + { + $this->panelizationSummary = $panelizationSummary; + } + public function getPanelizationSummary() + { + return $this->panelizationSummary; + } + public function setPreviewLink($previewLink) + { + $this->previewLink = $previewLink; + } + public function getPreviewLink() + { + return $this->previewLink; + } + public function setPrintType($printType) + { + $this->printType = $printType; + } + public function getPrintType() + { + return $this->printType; + } + public function setPrintedPageCount($printedPageCount) + { + $this->printedPageCount = $printedPageCount; + } + public function getPrintedPageCount() + { + return $this->printedPageCount; + } + public function setPublishedDate($publishedDate) + { + $this->publishedDate = $publishedDate; + } + public function getPublishedDate() + { + return $this->publishedDate; + } + public function setPublisher($publisher) + { + $this->publisher = $publisher; + } + public function getPublisher() + { + return $this->publisher; + } + public function setRatingsCount($ratingsCount) + { + $this->ratingsCount = $ratingsCount; + } + public function getRatingsCount() + { + return $this->ratingsCount; + } + public function setReadingModes($readingModes) + { + $this->readingModes = $readingModes; + } + public function getReadingModes() + { + return $this->readingModes; + } + public function setSamplePageCount($samplePageCount) + { + $this->samplePageCount = $samplePageCount; + } + public function getSamplePageCount() + { + return $this->samplePageCount; + } + public function setSeriesInfo(Google_Service_Books_Volumeseriesinfo $seriesInfo) + { + $this->seriesInfo = $seriesInfo; + } + public function getSeriesInfo() + { + return $this->seriesInfo; + } + public function setSubtitle($subtitle) + { + $this->subtitle = $subtitle; + } + public function getSubtitle() + { + return $this->subtitle; + } + public function setTitle($title) + { + $this->title = $title; + } + public function getTitle() + { + return $this->title; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Books/VolumeVolumeInfoDimensions.php b/vendor/google/apiclient-services/src/Google/Service/Books/VolumeVolumeInfoDimensions.php new file mode 100644 index 00000000..db2b654e --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Books/VolumeVolumeInfoDimensions.php @@ -0,0 +1,48 @@ +height = $height; + } + public function getHeight() + { + return $this->height; + } + public function setThickness($thickness) + { + $this->thickness = $thickness; + } + public function getThickness() + { + return $this->thickness; + } + public function setWidth($width) + { + $this->width = $width; + } + public function getWidth() + { + return $this->width; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Books/VolumeVolumeInfoImageLinks.php b/vendor/google/apiclient-services/src/Google/Service/Books/VolumeVolumeInfoImageLinks.php new file mode 100644 index 00000000..cef978a7 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Books/VolumeVolumeInfoImageLinks.php @@ -0,0 +1,75 @@ +extraLarge = $extraLarge; + } + public function getExtraLarge() + { + return $this->extraLarge; + } + public function setLarge($large) + { + $this->large = $large; + } + public function getLarge() + { + return $this->large; + } + public function setMedium($medium) + { + $this->medium = $medium; + } + public function getMedium() + { + return $this->medium; + } + public function setSmall($small) + { + $this->small = $small; + } + public function getSmall() + { + return $this->small; + } + public function setSmallThumbnail($smallThumbnail) + { + $this->smallThumbnail = $smallThumbnail; + } + public function getSmallThumbnail() + { + return $this->smallThumbnail; + } + public function setThumbnail($thumbnail) + { + $this->thumbnail = $thumbnail; + } + public function getThumbnail() + { + return $this->thumbnail; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Books/VolumeVolumeInfoIndustryIdentifiers.php b/vendor/google/apiclient-services/src/Google/Service/Books/VolumeVolumeInfoIndustryIdentifiers.php new file mode 100644 index 00000000..cde9a418 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Books/VolumeVolumeInfoIndustryIdentifiers.php @@ -0,0 +1,39 @@ +identifier = $identifier; + } + public function getIdentifier() + { + return $this->identifier; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Books/VolumeVolumeInfoPanelizationSummary.php b/vendor/google/apiclient-services/src/Google/Service/Books/VolumeVolumeInfoPanelizationSummary.php new file mode 100644 index 00000000..e2806fb3 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Books/VolumeVolumeInfoPanelizationSummary.php @@ -0,0 +1,57 @@ +containsEpubBubbles = $containsEpubBubbles; + } + public function getContainsEpubBubbles() + { + return $this->containsEpubBubbles; + } + public function setContainsImageBubbles($containsImageBubbles) + { + $this->containsImageBubbles = $containsImageBubbles; + } + public function getContainsImageBubbles() + { + return $this->containsImageBubbles; + } + public function setEpubBubbleVersion($epubBubbleVersion) + { + $this->epubBubbleVersion = $epubBubbleVersion; + } + public function getEpubBubbleVersion() + { + return $this->epubBubbleVersion; + } + public function setImageBubbleVersion($imageBubbleVersion) + { + $this->imageBubbleVersion = $imageBubbleVersion; + } + public function getImageBubbleVersion() + { + return $this->imageBubbleVersion; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Books/Volumeannotation.php b/vendor/google/apiclient-services/src/Google/Service/Books/Volumeannotation.php new file mode 100644 index 00000000..0dc9f6a0 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Books/Volumeannotation.php @@ -0,0 +1,149 @@ +annotationDataId = $annotationDataId; + } + public function getAnnotationDataId() + { + return $this->annotationDataId; + } + public function setAnnotationDataLink($annotationDataLink) + { + $this->annotationDataLink = $annotationDataLink; + } + public function getAnnotationDataLink() + { + return $this->annotationDataLink; + } + public function setAnnotationType($annotationType) + { + $this->annotationType = $annotationType; + } + public function getAnnotationType() + { + return $this->annotationType; + } + public function setContentRanges(Google_Service_Books_VolumeannotationContentRanges $contentRanges) + { + $this->contentRanges = $contentRanges; + } + public function getContentRanges() + { + return $this->contentRanges; + } + public function setData($data) + { + $this->data = $data; + } + public function getData() + { + return $this->data; + } + public function setDeleted($deleted) + { + $this->deleted = $deleted; + } + public function getDeleted() + { + return $this->deleted; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setLayerId($layerId) + { + $this->layerId = $layerId; + } + public function getLayerId() + { + return $this->layerId; + } + public function setPageIds($pageIds) + { + $this->pageIds = $pageIds; + } + public function getPageIds() + { + return $this->pageIds; + } + public function setSelectedText($selectedText) + { + $this->selectedText = $selectedText; + } + public function getSelectedText() + { + return $this->selectedText; + } + public function setSelfLink($selfLink) + { + $this->selfLink = $selfLink; + } + public function getSelfLink() + { + return $this->selfLink; + } + public function setUpdated($updated) + { + $this->updated = $updated; + } + public function getUpdated() + { + return $this->updated; + } + public function setVolumeId($volumeId) + { + $this->volumeId = $volumeId; + } + public function getVolumeId() + { + return $this->volumeId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Books/VolumeannotationContentRanges.php b/vendor/google/apiclient-services/src/Google/Service/Books/VolumeannotationContentRanges.php new file mode 100644 index 00000000..5b9c720a --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Books/VolumeannotationContentRanges.php @@ -0,0 +1,60 @@ +cfiRange = $cfiRange; + } + public function getCfiRange() + { + return $this->cfiRange; + } + public function setContentVersion($contentVersion) + { + $this->contentVersion = $contentVersion; + } + public function getContentVersion() + { + return $this->contentVersion; + } + public function setGbImageRange(Google_Service_Books_BooksAnnotationsRange $gbImageRange) + { + $this->gbImageRange = $gbImageRange; + } + public function getGbImageRange() + { + return $this->gbImageRange; + } + public function setGbTextRange(Google_Service_Books_BooksAnnotationsRange $gbTextRange) + { + $this->gbTextRange = $gbTextRange; + } + public function getGbTextRange() + { + return $this->gbTextRange; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Books/Volumeannotations.php b/vendor/google/apiclient-services/src/Google/Service/Books/Volumeannotations.php new file mode 100644 index 00000000..f28f199a --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Books/Volumeannotations.php @@ -0,0 +1,68 @@ +items = $items; + } + public function getItems() + { + return $this->items; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setTotalItems($totalItems) + { + $this->totalItems = $totalItems; + } + public function getTotalItems() + { + return $this->totalItems; + } + public function setVersion($version) + { + $this->version = $version; + } + public function getVersion() + { + return $this->version; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Books/Volumes.php b/vendor/google/apiclient-services/src/Google/Service/Books/Volumes.php new file mode 100644 index 00000000..89f00ff0 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Books/Volumes.php @@ -0,0 +1,50 @@ +items = $items; + } + public function getItems() + { + return $this->items; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setTotalItems($totalItems) + { + $this->totalItems = $totalItems; + } + public function getTotalItems() + { + return $this->totalItems; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Books/Volumeseriesinfo.php b/vendor/google/apiclient-services/src/Google/Service/Books/Volumeseriesinfo.php new file mode 100644 index 00000000..555cf367 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Books/Volumeseriesinfo.php @@ -0,0 +1,59 @@ +bookDisplayNumber = $bookDisplayNumber; + } + public function getBookDisplayNumber() + { + return $this->bookDisplayNumber; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setShortSeriesBookTitle($shortSeriesBookTitle) + { + $this->shortSeriesBookTitle = $shortSeriesBookTitle; + } + public function getShortSeriesBookTitle() + { + return $this->shortSeriesBookTitle; + } + public function setVolumeSeries($volumeSeries) + { + $this->volumeSeries = $volumeSeries; + } + public function getVolumeSeries() + { + return $this->volumeSeries; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Books/VolumeseriesinfoVolumeSeries.php b/vendor/google/apiclient-services/src/Google/Service/Books/VolumeseriesinfoVolumeSeries.php new file mode 100644 index 00000000..f58238f5 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Books/VolumeseriesinfoVolumeSeries.php @@ -0,0 +1,59 @@ +issue = $issue; + } + public function getIssue() + { + return $this->issue; + } + public function setOrderNumber($orderNumber) + { + $this->orderNumber = $orderNumber; + } + public function getOrderNumber() + { + return $this->orderNumber; + } + public function setSeriesBookType($seriesBookType) + { + $this->seriesBookType = $seriesBookType; + } + public function getSeriesBookType() + { + return $this->seriesBookType; + } + public function setSeriesId($seriesId) + { + $this->seriesId = $seriesId; + } + public function getSeriesId() + { + return $this->seriesId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Books/VolumeseriesinfoVolumeSeriesIssue.php b/vendor/google/apiclient-services/src/Google/Service/Books/VolumeseriesinfoVolumeSeriesIssue.php new file mode 100644 index 00000000..4dd85f2a --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Books/VolumeseriesinfoVolumeSeriesIssue.php @@ -0,0 +1,39 @@ +issueDisplayNumber = $issueDisplayNumber; + } + public function getIssueDisplayNumber() + { + return $this->issueDisplayNumber; + } + public function setIssueOrderNumber($issueOrderNumber) + { + $this->issueOrderNumber = $issueOrderNumber; + } + public function getIssueOrderNumber() + { + return $this->issueOrderNumber; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Calendar.php b/vendor/google/apiclient-services/src/Google/Service/Calendar.php new file mode 100644 index 00000000..b1241bd1 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Calendar.php @@ -0,0 +1,888 @@ + + * Manipulates events and other calendar data.

+ * + *

+ * For more information about this service, see the API + * Documentation + *

+ * + * @author Google, Inc. + */ +class Google_Service_Calendar extends Google_Service +{ + /** Manage your calendars. */ + const CALENDAR = + "https://www.googleapis.com/auth/calendar"; + /** View your calendars. */ + const CALENDAR_READONLY = + "https://www.googleapis.com/auth/calendar.readonly"; + + public $acl; + public $calendarList; + public $calendars; + public $channels; + public $colors; + public $events; + public $freebusy; + public $settings; + + /** + * Constructs the internal representation of the Calendar service. + * + * @param Google_Client $client + */ + public function __construct(Google_Client $client) + { + parent::__construct($client); + $this->rootUrl = 'https://www.googleapis.com/'; + $this->servicePath = 'calendar/v3/'; + $this->version = 'v3'; + $this->serviceName = 'calendar'; + + $this->acl = new Google_Service_Calendar_Resource_Acl( + $this, + $this->serviceName, + 'acl', + array( + 'methods' => array( + 'delete' => array( + 'path' => 'calendars/{calendarId}/acl/{ruleId}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'calendarId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'ruleId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'get' => array( + 'path' => 'calendars/{calendarId}/acl/{ruleId}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'calendarId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'ruleId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'insert' => array( + 'path' => 'calendars/{calendarId}/acl', + 'httpMethod' => 'POST', + 'parameters' => array( + 'calendarId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'calendars/{calendarId}/acl', + 'httpMethod' => 'GET', + 'parameters' => array( + 'calendarId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'showDeleted' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + 'syncToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'patch' => array( + 'path' => 'calendars/{calendarId}/acl/{ruleId}', + 'httpMethod' => 'PATCH', + 'parameters' => array( + 'calendarId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'ruleId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'update' => array( + 'path' => 'calendars/{calendarId}/acl/{ruleId}', + 'httpMethod' => 'PUT', + 'parameters' => array( + 'calendarId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'ruleId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'watch' => array( + 'path' => 'calendars/{calendarId}/acl/watch', + 'httpMethod' => 'POST', + 'parameters' => array( + 'calendarId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'showDeleted' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + 'syncToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + $this->calendarList = new Google_Service_Calendar_Resource_CalendarList( + $this, + $this->serviceName, + 'calendarList', + array( + 'methods' => array( + 'delete' => array( + 'path' => 'users/me/calendarList/{calendarId}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'calendarId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'get' => array( + 'path' => 'users/me/calendarList/{calendarId}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'calendarId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'insert' => array( + 'path' => 'users/me/calendarList', + 'httpMethod' => 'POST', + 'parameters' => array( + 'colorRgbFormat' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + ), + ),'list' => array( + 'path' => 'users/me/calendarList', + 'httpMethod' => 'GET', + 'parameters' => array( + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'minAccessRole' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'showDeleted' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + 'showHidden' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + 'syncToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'patch' => array( + 'path' => 'users/me/calendarList/{calendarId}', + 'httpMethod' => 'PATCH', + 'parameters' => array( + 'calendarId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'colorRgbFormat' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + ), + ),'update' => array( + 'path' => 'users/me/calendarList/{calendarId}', + 'httpMethod' => 'PUT', + 'parameters' => array( + 'calendarId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'colorRgbFormat' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + ), + ),'watch' => array( + 'path' => 'users/me/calendarList/watch', + 'httpMethod' => 'POST', + 'parameters' => array( + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'minAccessRole' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'showDeleted' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + 'showHidden' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + 'syncToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + $this->calendars = new Google_Service_Calendar_Resource_Calendars( + $this, + $this->serviceName, + 'calendars', + array( + 'methods' => array( + 'clear' => array( + 'path' => 'calendars/{calendarId}/clear', + 'httpMethod' => 'POST', + 'parameters' => array( + 'calendarId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'delete' => array( + 'path' => 'calendars/{calendarId}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'calendarId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'get' => array( + 'path' => 'calendars/{calendarId}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'calendarId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'insert' => array( + 'path' => 'calendars', + 'httpMethod' => 'POST', + 'parameters' => array(), + ),'patch' => array( + 'path' => 'calendars/{calendarId}', + 'httpMethod' => 'PATCH', + 'parameters' => array( + 'calendarId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'update' => array( + 'path' => 'calendars/{calendarId}', + 'httpMethod' => 'PUT', + 'parameters' => array( + 'calendarId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->channels = new Google_Service_Calendar_Resource_Channels( + $this, + $this->serviceName, + 'channels', + array( + 'methods' => array( + 'stop' => array( + 'path' => 'channels/stop', + 'httpMethod' => 'POST', + 'parameters' => array(), + ), + ) + ) + ); + $this->colors = new Google_Service_Calendar_Resource_Colors( + $this, + $this->serviceName, + 'colors', + array( + 'methods' => array( + 'get' => array( + 'path' => 'colors', + 'httpMethod' => 'GET', + 'parameters' => array(), + ), + ) + ) + ); + $this->events = new Google_Service_Calendar_Resource_Events( + $this, + $this->serviceName, + 'events', + array( + 'methods' => array( + 'delete' => array( + 'path' => 'calendars/{calendarId}/events/{eventId}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'calendarId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'eventId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'sendNotifications' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + ), + ),'get' => array( + 'path' => 'calendars/{calendarId}/events/{eventId}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'calendarId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'eventId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'alwaysIncludeEmail' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + 'maxAttendees' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'timeZone' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'import' => array( + 'path' => 'calendars/{calendarId}/events/import', + 'httpMethod' => 'POST', + 'parameters' => array( + 'calendarId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'supportsAttachments' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + ), + ),'insert' => array( + 'path' => 'calendars/{calendarId}/events', + 'httpMethod' => 'POST', + 'parameters' => array( + 'calendarId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'maxAttendees' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'sendNotifications' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + 'supportsAttachments' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + ), + ),'instances' => array( + 'path' => 'calendars/{calendarId}/events/{eventId}/instances', + 'httpMethod' => 'GET', + 'parameters' => array( + 'calendarId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'eventId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'alwaysIncludeEmail' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + 'maxAttendees' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'originalStart' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'showDeleted' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + 'timeMax' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'timeMin' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'timeZone' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'list' => array( + 'path' => 'calendars/{calendarId}/events', + 'httpMethod' => 'GET', + 'parameters' => array( + 'calendarId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'alwaysIncludeEmail' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + 'iCalUID' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'maxAttendees' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'orderBy' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'privateExtendedProperty' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + ), + 'q' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'sharedExtendedProperty' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + ), + 'showDeleted' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + 'showHiddenInvitations' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + 'singleEvents' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + 'syncToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'timeMax' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'timeMin' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'timeZone' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'updatedMin' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'move' => array( + 'path' => 'calendars/{calendarId}/events/{eventId}/move', + 'httpMethod' => 'POST', + 'parameters' => array( + 'calendarId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'eventId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'destination' => array( + 'location' => 'query', + 'type' => 'string', + 'required' => true, + ), + 'sendNotifications' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + ), + ),'patch' => array( + 'path' => 'calendars/{calendarId}/events/{eventId}', + 'httpMethod' => 'PATCH', + 'parameters' => array( + 'calendarId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'eventId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'alwaysIncludeEmail' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + 'maxAttendees' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'sendNotifications' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + 'supportsAttachments' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + ), + ),'quickAdd' => array( + 'path' => 'calendars/{calendarId}/events/quickAdd', + 'httpMethod' => 'POST', + 'parameters' => array( + 'calendarId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'text' => array( + 'location' => 'query', + 'type' => 'string', + 'required' => true, + ), + 'sendNotifications' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + ), + ),'update' => array( + 'path' => 'calendars/{calendarId}/events/{eventId}', + 'httpMethod' => 'PUT', + 'parameters' => array( + 'calendarId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'eventId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'alwaysIncludeEmail' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + 'maxAttendees' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'sendNotifications' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + 'supportsAttachments' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + ), + ),'watch' => array( + 'path' => 'calendars/{calendarId}/events/watch', + 'httpMethod' => 'POST', + 'parameters' => array( + 'calendarId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'alwaysIncludeEmail' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + 'iCalUID' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'maxAttendees' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'orderBy' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'privateExtendedProperty' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + ), + 'q' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'sharedExtendedProperty' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + ), + 'showDeleted' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + 'showHiddenInvitations' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + 'singleEvents' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + 'syncToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'timeMax' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'timeMin' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'timeZone' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'updatedMin' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + $this->freebusy = new Google_Service_Calendar_Resource_Freebusy( + $this, + $this->serviceName, + 'freebusy', + array( + 'methods' => array( + 'query' => array( + 'path' => 'freeBusy', + 'httpMethod' => 'POST', + 'parameters' => array(), + ), + ) + ) + ); + $this->settings = new Google_Service_Calendar_Resource_Settings( + $this, + $this->serviceName, + 'settings', + array( + 'methods' => array( + 'get' => array( + 'path' => 'users/me/settings/{setting}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'setting' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'users/me/settings', + 'httpMethod' => 'GET', + 'parameters' => array( + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'syncToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'watch' => array( + 'path' => 'users/me/settings/watch', + 'httpMethod' => 'POST', + 'parameters' => array( + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'syncToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Calendar/Acl.php b/vendor/google/apiclient-services/src/Google/Service/Calendar/Acl.php new file mode 100644 index 00000000..94b64d21 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Calendar/Acl.php @@ -0,0 +1,68 @@ +etag = $etag; + } + public function getEtag() + { + return $this->etag; + } + public function setItems($items) + { + $this->items = $items; + } + public function getItems() + { + return $this->items; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setNextSyncToken($nextSyncToken) + { + $this->nextSyncToken = $nextSyncToken; + } + public function getNextSyncToken() + { + return $this->nextSyncToken; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Calendar/AclRule.php b/vendor/google/apiclient-services/src/Google/Service/Calendar/AclRule.php new file mode 100644 index 00000000..49402b02 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Calendar/AclRule.php @@ -0,0 +1,67 @@ +etag = $etag; + } + public function getEtag() + { + return $this->etag; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setRole($role) + { + $this->role = $role; + } + public function getRole() + { + return $this->role; + } + public function setScope(Google_Service_Calendar_AclRuleScope $scope) + { + $this->scope = $scope; + } + public function getScope() + { + return $this->scope; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Calendar/AclRuleScope.php b/vendor/google/apiclient-services/src/Google/Service/Calendar/AclRuleScope.php new file mode 100644 index 00000000..47a10b24 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Calendar/AclRuleScope.php @@ -0,0 +1,39 @@ +type = $type; + } + public function getType() + { + return $this->type; + } + public function setValue($value) + { + $this->value = $value; + } + public function getValue() + { + return $this->value; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Calendar/Calendar.php b/vendor/google/apiclient-services/src/Google/Service/Calendar/Calendar.php new file mode 100644 index 00000000..a2bc1e00 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Calendar/Calendar.php @@ -0,0 +1,84 @@ +description = $description; + } + public function getDescription() + { + return $this->description; + } + public function setEtag($etag) + { + $this->etag = $etag; + } + public function getEtag() + { + return $this->etag; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setLocation($location) + { + $this->location = $location; + } + public function getLocation() + { + return $this->location; + } + public function setSummary($summary) + { + $this->summary = $summary; + } + public function getSummary() + { + return $this->summary; + } + public function setTimeZone($timeZone) + { + $this->timeZone = $timeZone; + } + public function getTimeZone() + { + return $this->timeZone; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Calendar/CalendarList.php b/vendor/google/apiclient-services/src/Google/Service/Calendar/CalendarList.php new file mode 100644 index 00000000..79281326 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Calendar/CalendarList.php @@ -0,0 +1,68 @@ +etag = $etag; + } + public function getEtag() + { + return $this->etag; + } + public function setItems($items) + { + $this->items = $items; + } + public function getItems() + { + return $this->items; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setNextSyncToken($nextSyncToken) + { + $this->nextSyncToken = $nextSyncToken; + } + public function getNextSyncToken() + { + return $this->nextSyncToken; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Calendar/CalendarListEntry.php b/vendor/google/apiclient-services/src/Google/Service/Calendar/CalendarListEntry.php new file mode 100644 index 00000000..eb7584b0 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Calendar/CalendarListEntry.php @@ -0,0 +1,186 @@ +accessRole = $accessRole; + } + public function getAccessRole() + { + return $this->accessRole; + } + public function setBackgroundColor($backgroundColor) + { + $this->backgroundColor = $backgroundColor; + } + public function getBackgroundColor() + { + return $this->backgroundColor; + } + public function setColorId($colorId) + { + $this->colorId = $colorId; + } + public function getColorId() + { + return $this->colorId; + } + public function setDefaultReminders($defaultReminders) + { + $this->defaultReminders = $defaultReminders; + } + public function getDefaultReminders() + { + return $this->defaultReminders; + } + public function setDeleted($deleted) + { + $this->deleted = $deleted; + } + public function getDeleted() + { + return $this->deleted; + } + public function setDescription($description) + { + $this->description = $description; + } + public function getDescription() + { + return $this->description; + } + public function setEtag($etag) + { + $this->etag = $etag; + } + public function getEtag() + { + return $this->etag; + } + public function setForegroundColor($foregroundColor) + { + $this->foregroundColor = $foregroundColor; + } + public function getForegroundColor() + { + return $this->foregroundColor; + } + public function setHidden($hidden) + { + $this->hidden = $hidden; + } + public function getHidden() + { + return $this->hidden; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setLocation($location) + { + $this->location = $location; + } + public function getLocation() + { + return $this->location; + } + public function setNotificationSettings(Google_Service_Calendar_CalendarListEntryNotificationSettings $notificationSettings) + { + $this->notificationSettings = $notificationSettings; + } + public function getNotificationSettings() + { + return $this->notificationSettings; + } + public function setPrimary($primary) + { + $this->primary = $primary; + } + public function getPrimary() + { + return $this->primary; + } + public function setSelected($selected) + { + $this->selected = $selected; + } + public function getSelected() + { + return $this->selected; + } + public function setSummary($summary) + { + $this->summary = $summary; + } + public function getSummary() + { + return $this->summary; + } + public function setSummaryOverride($summaryOverride) + { + $this->summaryOverride = $summaryOverride; + } + public function getSummaryOverride() + { + return $this->summaryOverride; + } + public function setTimeZone($timeZone) + { + $this->timeZone = $timeZone; + } + public function getTimeZone() + { + return $this->timeZone; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Calendar/CalendarListEntryNotificationSettings.php b/vendor/google/apiclient-services/src/Google/Service/Calendar/CalendarListEntryNotificationSettings.php new file mode 100644 index 00000000..06a9130d --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Calendar/CalendarListEntryNotificationSettings.php @@ -0,0 +1,32 @@ +notifications = $notifications; + } + public function getNotifications() + { + return $this->notifications; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Calendar/CalendarNotification.php b/vendor/google/apiclient-services/src/Google/Service/Calendar/CalendarNotification.php new file mode 100644 index 00000000..7afe4dc9 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Calendar/CalendarNotification.php @@ -0,0 +1,39 @@ +method = $method; + } + public function getMethod() + { + return $this->method; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Calendar/Channel.php b/vendor/google/apiclient-services/src/Google/Service/Calendar/Channel.php new file mode 100644 index 00000000..cbf151c5 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Calendar/Channel.php @@ -0,0 +1,111 @@ +address = $address; + } + public function getAddress() + { + return $this->address; + } + public function setExpiration($expiration) + { + $this->expiration = $expiration; + } + public function getExpiration() + { + return $this->expiration; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setParams($params) + { + $this->params = $params; + } + public function getParams() + { + return $this->params; + } + public function setPayload($payload) + { + $this->payload = $payload; + } + public function getPayload() + { + return $this->payload; + } + public function setResourceId($resourceId) + { + $this->resourceId = $resourceId; + } + public function getResourceId() + { + return $this->resourceId; + } + public function setResourceUri($resourceUri) + { + $this->resourceUri = $resourceUri; + } + public function getResourceUri() + { + return $this->resourceUri; + } + public function setToken($token) + { + $this->token = $token; + } + public function getToken() + { + return $this->token; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Calendar/ColorDefinition.php b/vendor/google/apiclient-services/src/Google/Service/Calendar/ColorDefinition.php new file mode 100644 index 00000000..f42fd3b5 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Calendar/ColorDefinition.php @@ -0,0 +1,39 @@ +background = $background; + } + public function getBackground() + { + return $this->background; + } + public function setForeground($foreground) + { + $this->foreground = $foreground; + } + public function getForeground() + { + return $this->foreground; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Calendar/Colors.php b/vendor/google/apiclient-services/src/Google/Service/Calendar/Colors.php new file mode 100644 index 00000000..1e330ab7 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Calendar/Colors.php @@ -0,0 +1,59 @@ +calendar = $calendar; + } + public function getCalendar() + { + return $this->calendar; + } + public function setEvent($event) + { + $this->event = $event; + } + public function getEvent() + { + return $this->event; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setUpdated($updated) + { + $this->updated = $updated; + } + public function getUpdated() + { + return $this->updated; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Calendar/Error.php b/vendor/google/apiclient-services/src/Google/Service/Calendar/Error.php new file mode 100644 index 00000000..22d09b72 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Calendar/Error.php @@ -0,0 +1,39 @@ +domain = $domain; + } + public function getDomain() + { + return $this->domain; + } + public function setReason($reason) + { + $this->reason = $reason; + } + public function getReason() + { + return $this->reason; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Calendar/Event.php b/vendor/google/apiclient-services/src/Google/Service/Calendar/Event.php new file mode 100644 index 00000000..2d0a00c1 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Calendar/Event.php @@ -0,0 +1,366 @@ +anyoneCanAddSelf = $anyoneCanAddSelf; + } + public function getAnyoneCanAddSelf() + { + return $this->anyoneCanAddSelf; + } + public function setAttachments($attachments) + { + $this->attachments = $attachments; + } + public function getAttachments() + { + return $this->attachments; + } + public function setAttendees($attendees) + { + $this->attendees = $attendees; + } + public function getAttendees() + { + return $this->attendees; + } + public function setAttendeesOmitted($attendeesOmitted) + { + $this->attendeesOmitted = $attendeesOmitted; + } + public function getAttendeesOmitted() + { + return $this->attendeesOmitted; + } + public function setColorId($colorId) + { + $this->colorId = $colorId; + } + public function getColorId() + { + return $this->colorId; + } + public function setCreated($created) + { + $this->created = $created; + } + public function getCreated() + { + return $this->created; + } + public function setCreator(Google_Service_Calendar_EventCreator $creator) + { + $this->creator = $creator; + } + public function getCreator() + { + return $this->creator; + } + public function setDescription($description) + { + $this->description = $description; + } + public function getDescription() + { + return $this->description; + } + public function setEnd(Google_Service_Calendar_EventDateTime $end) + { + $this->end = $end; + } + public function getEnd() + { + return $this->end; + } + public function setEndTimeUnspecified($endTimeUnspecified) + { + $this->endTimeUnspecified = $endTimeUnspecified; + } + public function getEndTimeUnspecified() + { + return $this->endTimeUnspecified; + } + public function setEtag($etag) + { + $this->etag = $etag; + } + public function getEtag() + { + return $this->etag; + } + public function setExtendedProperties(Google_Service_Calendar_EventExtendedProperties $extendedProperties) + { + $this->extendedProperties = $extendedProperties; + } + public function getExtendedProperties() + { + return $this->extendedProperties; + } + public function setGadget(Google_Service_Calendar_EventGadget $gadget) + { + $this->gadget = $gadget; + } + public function getGadget() + { + return $this->gadget; + } + public function setGuestsCanInviteOthers($guestsCanInviteOthers) + { + $this->guestsCanInviteOthers = $guestsCanInviteOthers; + } + public function getGuestsCanInviteOthers() + { + return $this->guestsCanInviteOthers; + } + public function setGuestsCanModify($guestsCanModify) + { + $this->guestsCanModify = $guestsCanModify; + } + public function getGuestsCanModify() + { + return $this->guestsCanModify; + } + public function setGuestsCanSeeOtherGuests($guestsCanSeeOtherGuests) + { + $this->guestsCanSeeOtherGuests = $guestsCanSeeOtherGuests; + } + public function getGuestsCanSeeOtherGuests() + { + return $this->guestsCanSeeOtherGuests; + } + public function setHangoutLink($hangoutLink) + { + $this->hangoutLink = $hangoutLink; + } + public function getHangoutLink() + { + return $this->hangoutLink; + } + public function setHtmlLink($htmlLink) + { + $this->htmlLink = $htmlLink; + } + public function getHtmlLink() + { + return $this->htmlLink; + } + public function setICalUID($iCalUID) + { + $this->iCalUID = $iCalUID; + } + public function getICalUID() + { + return $this->iCalUID; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setLocation($location) + { + $this->location = $location; + } + public function getLocation() + { + return $this->location; + } + public function setLocked($locked) + { + $this->locked = $locked; + } + public function getLocked() + { + return $this->locked; + } + public function setOrganizer(Google_Service_Calendar_EventOrganizer $organizer) + { + $this->organizer = $organizer; + } + public function getOrganizer() + { + return $this->organizer; + } + public function setOriginalStartTime(Google_Service_Calendar_EventDateTime $originalStartTime) + { + $this->originalStartTime = $originalStartTime; + } + public function getOriginalStartTime() + { + return $this->originalStartTime; + } + public function setPrivateCopy($privateCopy) + { + $this->privateCopy = $privateCopy; + } + public function getPrivateCopy() + { + return $this->privateCopy; + } + public function setRecurrence($recurrence) + { + $this->recurrence = $recurrence; + } + public function getRecurrence() + { + return $this->recurrence; + } + public function setRecurringEventId($recurringEventId) + { + $this->recurringEventId = $recurringEventId; + } + public function getRecurringEventId() + { + return $this->recurringEventId; + } + public function setReminders(Google_Service_Calendar_EventReminders $reminders) + { + $this->reminders = $reminders; + } + public function getReminders() + { + return $this->reminders; + } + public function setSequence($sequence) + { + $this->sequence = $sequence; + } + public function getSequence() + { + return $this->sequence; + } + public function setSource(Google_Service_Calendar_EventSource $source) + { + $this->source = $source; + } + public function getSource() + { + return $this->source; + } + public function setStart(Google_Service_Calendar_EventDateTime $start) + { + $this->start = $start; + } + public function getStart() + { + return $this->start; + } + public function setStatus($status) + { + $this->status = $status; + } + public function getStatus() + { + return $this->status; + } + public function setSummary($summary) + { + $this->summary = $summary; + } + public function getSummary() + { + return $this->summary; + } + public function setTransparency($transparency) + { + $this->transparency = $transparency; + } + public function getTransparency() + { + return $this->transparency; + } + public function setUpdated($updated) + { + $this->updated = $updated; + } + public function getUpdated() + { + return $this->updated; + } + public function setVisibility($visibility) + { + $this->visibility = $visibility; + } + public function getVisibility() + { + return $this->visibility; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Calendar/EventAttachment.php b/vendor/google/apiclient-services/src/Google/Service/Calendar/EventAttachment.php new file mode 100644 index 00000000..8f3d6e24 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Calendar/EventAttachment.php @@ -0,0 +1,66 @@ +fileId = $fileId; + } + public function getFileId() + { + return $this->fileId; + } + public function setFileUrl($fileUrl) + { + $this->fileUrl = $fileUrl; + } + public function getFileUrl() + { + return $this->fileUrl; + } + public function setIconLink($iconLink) + { + $this->iconLink = $iconLink; + } + public function getIconLink() + { + return $this->iconLink; + } + public function setMimeType($mimeType) + { + $this->mimeType = $mimeType; + } + public function getMimeType() + { + return $this->mimeType; + } + public function setTitle($title) + { + $this->title = $title; + } + public function getTitle() + { + return $this->title; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Calendar/EventAttendee.php b/vendor/google/apiclient-services/src/Google/Service/Calendar/EventAttendee.php new file mode 100644 index 00000000..78572b03 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Calendar/EventAttendee.php @@ -0,0 +1,111 @@ +additionalGuests = $additionalGuests; + } + public function getAdditionalGuests() + { + return $this->additionalGuests; + } + public function setComment($comment) + { + $this->comment = $comment; + } + public function getComment() + { + return $this->comment; + } + public function setDisplayName($displayName) + { + $this->displayName = $displayName; + } + public function getDisplayName() + { + return $this->displayName; + } + public function setEmail($email) + { + $this->email = $email; + } + public function getEmail() + { + return $this->email; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setOptional($optional) + { + $this->optional = $optional; + } + public function getOptional() + { + return $this->optional; + } + public function setOrganizer($organizer) + { + $this->organizer = $organizer; + } + public function getOrganizer() + { + return $this->organizer; + } + public function setResource($resource) + { + $this->resource = $resource; + } + public function getResource() + { + return $this->resource; + } + public function setResponseStatus($responseStatus) + { + $this->responseStatus = $responseStatus; + } + public function getResponseStatus() + { + return $this->responseStatus; + } + public function setSelf($self) + { + $this->self = $self; + } + public function getSelf() + { + return $this->self; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Calendar/EventCreator.php b/vendor/google/apiclient-services/src/Google/Service/Calendar/EventCreator.php new file mode 100644 index 00000000..5ab38f69 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Calendar/EventCreator.php @@ -0,0 +1,57 @@ +displayName = $displayName; + } + public function getDisplayName() + { + return $this->displayName; + } + public function setEmail($email) + { + $this->email = $email; + } + public function getEmail() + { + return $this->email; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setSelf($self) + { + $this->self = $self; + } + public function getSelf() + { + return $this->self; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Calendar/EventDateTime.php b/vendor/google/apiclient-services/src/Google/Service/Calendar/EventDateTime.php new file mode 100644 index 00000000..f47a3772 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Calendar/EventDateTime.php @@ -0,0 +1,48 @@ +date = $date; + } + public function getDate() + { + return $this->date; + } + public function setDateTime($dateTime) + { + $this->dateTime = $dateTime; + } + public function getDateTime() + { + return $this->dateTime; + } + public function setTimeZone($timeZone) + { + $this->timeZone = $timeZone; + } + public function getTimeZone() + { + return $this->timeZone; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Calendar/EventExtendedProperties.php b/vendor/google/apiclient-services/src/Google/Service/Calendar/EventExtendedProperties.php new file mode 100644 index 00000000..7efb26d0 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Calendar/EventExtendedProperties.php @@ -0,0 +1,39 @@ +private = $private; + } + public function getPrivate() + { + return $this->private; + } + public function setShared($shared) + { + $this->shared = $shared; + } + public function getShared() + { + return $this->shared; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Calendar/EventGadget.php b/vendor/google/apiclient-services/src/Google/Service/Calendar/EventGadget.php new file mode 100644 index 00000000..78844e5f --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Calendar/EventGadget.php @@ -0,0 +1,93 @@ +display = $display; + } + public function getDisplay() + { + return $this->display; + } + public function setHeight($height) + { + $this->height = $height; + } + public function getHeight() + { + return $this->height; + } + public function setIconLink($iconLink) + { + $this->iconLink = $iconLink; + } + public function getIconLink() + { + return $this->iconLink; + } + public function setLink($link) + { + $this->link = $link; + } + public function getLink() + { + return $this->link; + } + public function setPreferences($preferences) + { + $this->preferences = $preferences; + } + public function getPreferences() + { + return $this->preferences; + } + public function setTitle($title) + { + $this->title = $title; + } + public function getTitle() + { + return $this->title; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } + public function setWidth($width) + { + $this->width = $width; + } + public function getWidth() + { + return $this->width; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Calendar/EventOrganizer.php b/vendor/google/apiclient-services/src/Google/Service/Calendar/EventOrganizer.php new file mode 100644 index 00000000..5f3a658b --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Calendar/EventOrganizer.php @@ -0,0 +1,57 @@ +displayName = $displayName; + } + public function getDisplayName() + { + return $this->displayName; + } + public function setEmail($email) + { + $this->email = $email; + } + public function getEmail() + { + return $this->email; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setSelf($self) + { + $this->self = $self; + } + public function getSelf() + { + return $this->self; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Calendar/EventReminder.php b/vendor/google/apiclient-services/src/Google/Service/Calendar/EventReminder.php new file mode 100644 index 00000000..3ad8c1ff --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Calendar/EventReminder.php @@ -0,0 +1,39 @@ +method = $method; + } + public function getMethod() + { + return $this->method; + } + public function setMinutes($minutes) + { + $this->minutes = $minutes; + } + public function getMinutes() + { + return $this->minutes; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Calendar/EventReminders.php b/vendor/google/apiclient-services/src/Google/Service/Calendar/EventReminders.php new file mode 100644 index 00000000..d2f4c2a1 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Calendar/EventReminders.php @@ -0,0 +1,41 @@ +overrides = $overrides; + } + public function getOverrides() + { + return $this->overrides; + } + public function setUseDefault($useDefault) + { + $this->useDefault = $useDefault; + } + public function getUseDefault() + { + return $this->useDefault; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Calendar/EventSource.php b/vendor/google/apiclient-services/src/Google/Service/Calendar/EventSource.php new file mode 100644 index 00000000..f209c172 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Calendar/EventSource.php @@ -0,0 +1,39 @@ +title = $title; + } + public function getTitle() + { + return $this->title; + } + public function setUrl($url) + { + $this->url = $url; + } + public function getUrl() + { + return $this->url; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Calendar/Events.php b/vendor/google/apiclient-services/src/Google/Service/Calendar/Events.php new file mode 100644 index 00000000..ee9e5be2 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Calendar/Events.php @@ -0,0 +1,123 @@ +accessRole = $accessRole; + } + public function getAccessRole() + { + return $this->accessRole; + } + public function setDefaultReminders($defaultReminders) + { + $this->defaultReminders = $defaultReminders; + } + public function getDefaultReminders() + { + return $this->defaultReminders; + } + public function setDescription($description) + { + $this->description = $description; + } + public function getDescription() + { + return $this->description; + } + public function setEtag($etag) + { + $this->etag = $etag; + } + public function getEtag() + { + return $this->etag; + } + public function setItems($items) + { + $this->items = $items; + } + public function getItems() + { + return $this->items; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setNextSyncToken($nextSyncToken) + { + $this->nextSyncToken = $nextSyncToken; + } + public function getNextSyncToken() + { + return $this->nextSyncToken; + } + public function setSummary($summary) + { + $this->summary = $summary; + } + public function getSummary() + { + return $this->summary; + } + public function setTimeZone($timeZone) + { + $this->timeZone = $timeZone; + } + public function getTimeZone() + { + return $this->timeZone; + } + public function setUpdated($updated) + { + $this->updated = $updated; + } + public function getUpdated() + { + return $this->updated; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Calendar/FreeBusyCalendar.php b/vendor/google/apiclient-services/src/Google/Service/Calendar/FreeBusyCalendar.php new file mode 100644 index 00000000..6fe872eb --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Calendar/FreeBusyCalendar.php @@ -0,0 +1,42 @@ +busy = $busy; + } + public function getBusy() + { + return $this->busy; + } + public function setErrors($errors) + { + $this->errors = $errors; + } + public function getErrors() + { + return $this->errors; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Calendar/FreeBusyGroup.php b/vendor/google/apiclient-services/src/Google/Service/Calendar/FreeBusyGroup.php new file mode 100644 index 00000000..b1f95ea8 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Calendar/FreeBusyGroup.php @@ -0,0 +1,41 @@ +calendars = $calendars; + } + public function getCalendars() + { + return $this->calendars; + } + public function setErrors($errors) + { + $this->errors = $errors; + } + public function getErrors() + { + return $this->errors; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Calendar/FreeBusyRequest.php b/vendor/google/apiclient-services/src/Google/Service/Calendar/FreeBusyRequest.php new file mode 100644 index 00000000..c0ffd291 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Calendar/FreeBusyRequest.php @@ -0,0 +1,77 @@ +calendarExpansionMax = $calendarExpansionMax; + } + public function getCalendarExpansionMax() + { + return $this->calendarExpansionMax; + } + public function setGroupExpansionMax($groupExpansionMax) + { + $this->groupExpansionMax = $groupExpansionMax; + } + public function getGroupExpansionMax() + { + return $this->groupExpansionMax; + } + public function setItems($items) + { + $this->items = $items; + } + public function getItems() + { + return $this->items; + } + public function setTimeMax($timeMax) + { + $this->timeMax = $timeMax; + } + public function getTimeMax() + { + return $this->timeMax; + } + public function setTimeMin($timeMin) + { + $this->timeMin = $timeMin; + } + public function getTimeMin() + { + return $this->timeMin; + } + public function setTimeZone($timeZone) + { + $this->timeZone = $timeZone; + } + public function getTimeZone() + { + return $this->timeZone; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Calendar/FreeBusyRequestItem.php b/vendor/google/apiclient-services/src/Google/Service/Calendar/FreeBusyRequestItem.php new file mode 100644 index 00000000..f67c9eb2 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Calendar/FreeBusyRequestItem.php @@ -0,0 +1,30 @@ +id = $id; + } + public function getId() + { + return $this->id; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Calendar/FreeBusyResponse.php b/vendor/google/apiclient-services/src/Google/Service/Calendar/FreeBusyResponse.php new file mode 100644 index 00000000..cfa74d8d --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Calendar/FreeBusyResponse.php @@ -0,0 +1,68 @@ +calendars = $calendars; + } + public function getCalendars() + { + return $this->calendars; + } + public function setGroups($groups) + { + $this->groups = $groups; + } + public function getGroups() + { + return $this->groups; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setTimeMax($timeMax) + { + $this->timeMax = $timeMax; + } + public function getTimeMax() + { + return $this->timeMax; + } + public function setTimeMin($timeMin) + { + $this->timeMin = $timeMin; + } + public function getTimeMin() + { + return $this->timeMin; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Calendar/Resource/Acl.php b/vendor/google/apiclient-services/src/Google/Service/Calendar/Resource/Acl.php new file mode 100644 index 00000000..3d1b6650 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Calendar/Resource/Acl.php @@ -0,0 +1,177 @@ + + * $calendarService = new Google_Service_Calendar(...); + * $acl = $calendarService->acl; + * + */ +class Google_Service_Calendar_Resource_Acl extends Google_Service_Resource +{ + /** + * Deletes an access control rule. (acl.delete) + * + * @param string $calendarId Calendar identifier. To retrieve calendar IDs call + * the calendarList.list method. If you want to access the primary calendar of + * the currently logged in user, use the "primary" keyword. + * @param string $ruleId ACL rule identifier. + * @param array $optParams Optional parameters. + */ + public function delete($calendarId, $ruleId, $optParams = array()) + { + $params = array('calendarId' => $calendarId, 'ruleId' => $ruleId); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params)); + } + /** + * Returns an access control rule. (acl.get) + * + * @param string $calendarId Calendar identifier. To retrieve calendar IDs call + * the calendarList.list method. If you want to access the primary calendar of + * the currently logged in user, use the "primary" keyword. + * @param string $ruleId ACL rule identifier. + * @param array $optParams Optional parameters. + * @return Google_Service_Calendar_AclRule + */ + public function get($calendarId, $ruleId, $optParams = array()) + { + $params = array('calendarId' => $calendarId, 'ruleId' => $ruleId); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Calendar_AclRule"); + } + /** + * Creates an access control rule. (acl.insert) + * + * @param string $calendarId Calendar identifier. To retrieve calendar IDs call + * the calendarList.list method. If you want to access the primary calendar of + * the currently logged in user, use the "primary" keyword. + * @param Google_Service_Calendar_AclRule $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Calendar_AclRule + */ + public function insert($calendarId, Google_Service_Calendar_AclRule $postBody, $optParams = array()) + { + $params = array('calendarId' => $calendarId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('insert', array($params), "Google_Service_Calendar_AclRule"); + } + /** + * Returns the rules in the access control list for the calendar. (acl.listAcl) + * + * @param string $calendarId Calendar identifier. To retrieve calendar IDs call + * the calendarList.list method. If you want to access the primary calendar of + * the currently logged in user, use the "primary" keyword. + * @param array $optParams Optional parameters. + * + * @opt_param int maxResults Maximum number of entries returned on one result + * page. By default the value is 100 entries. The page size can never be larger + * than 250 entries. Optional. + * @opt_param string pageToken Token specifying which result page to return. + * Optional. + * @opt_param bool showDeleted Whether to include deleted ACLs in the result. + * Deleted ACLs are represented by role equal to "none". Deleted ACLs will + * always be included if syncToken is provided. Optional. The default is False. + * @opt_param string syncToken Token obtained from the nextSyncToken field + * returned on the last page of results from the previous list request. It makes + * the result of this list request contain only entries that have changed since + * then. All entries deleted since the previous list request will always be in + * the result set and it is not allowed to set showDeleted to False. If the + * syncToken expires, the server will respond with a 410 GONE response code and + * the client should clear its storage and perform a full synchronization + * without any syncToken. Learn more about incremental synchronization. + * Optional. The default is to return all entries. + * @return Google_Service_Calendar_Acl + */ + public function listAcl($calendarId, $optParams = array()) + { + $params = array('calendarId' => $calendarId); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Calendar_Acl"); + } + /** + * Updates an access control rule. This method supports patch semantics. + * (acl.patch) + * + * @param string $calendarId Calendar identifier. To retrieve calendar IDs call + * the calendarList.list method. If you want to access the primary calendar of + * the currently logged in user, use the "primary" keyword. + * @param string $ruleId ACL rule identifier. + * @param Google_Service_Calendar_AclRule $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Calendar_AclRule + */ + public function patch($calendarId, $ruleId, Google_Service_Calendar_AclRule $postBody, $optParams = array()) + { + $params = array('calendarId' => $calendarId, 'ruleId' => $ruleId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('patch', array($params), "Google_Service_Calendar_AclRule"); + } + /** + * Updates an access control rule. (acl.update) + * + * @param string $calendarId Calendar identifier. To retrieve calendar IDs call + * the calendarList.list method. If you want to access the primary calendar of + * the currently logged in user, use the "primary" keyword. + * @param string $ruleId ACL rule identifier. + * @param Google_Service_Calendar_AclRule $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Calendar_AclRule + */ + public function update($calendarId, $ruleId, Google_Service_Calendar_AclRule $postBody, $optParams = array()) + { + $params = array('calendarId' => $calendarId, 'ruleId' => $ruleId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('update', array($params), "Google_Service_Calendar_AclRule"); + } + /** + * Watch for changes to ACL resources. (acl.watch) + * + * @param string $calendarId Calendar identifier. To retrieve calendar IDs call + * the calendarList.list method. If you want to access the primary calendar of + * the currently logged in user, use the "primary" keyword. + * @param Google_Service_Calendar_Channel $postBody + * @param array $optParams Optional parameters. + * + * @opt_param int maxResults Maximum number of entries returned on one result + * page. By default the value is 100 entries. The page size can never be larger + * than 250 entries. Optional. + * @opt_param string pageToken Token specifying which result page to return. + * Optional. + * @opt_param bool showDeleted Whether to include deleted ACLs in the result. + * Deleted ACLs are represented by role equal to "none". Deleted ACLs will + * always be included if syncToken is provided. Optional. The default is False. + * @opt_param string syncToken Token obtained from the nextSyncToken field + * returned on the last page of results from the previous list request. It makes + * the result of this list request contain only entries that have changed since + * then. All entries deleted since the previous list request will always be in + * the result set and it is not allowed to set showDeleted to False. If the + * syncToken expires, the server will respond with a 410 GONE response code and + * the client should clear its storage and perform a full synchronization + * without any syncToken. Learn more about incremental synchronization. + * Optional. The default is to return all entries. + * @return Google_Service_Calendar_Channel + */ + public function watch($calendarId, Google_Service_Calendar_Channel $postBody, $optParams = array()) + { + $params = array('calendarId' => $calendarId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('watch', array($params), "Google_Service_Calendar_Channel"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Calendar/Resource/CalendarList.php b/vendor/google/apiclient-services/src/Google/Service/Calendar/Resource/CalendarList.php new file mode 100644 index 00000000..751b2b1a --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Calendar/Resource/CalendarList.php @@ -0,0 +1,191 @@ + + * $calendarService = new Google_Service_Calendar(...); + * $calendarList = $calendarService->calendarList; + * + */ +class Google_Service_Calendar_Resource_CalendarList extends Google_Service_Resource +{ + /** + * Deletes an entry on the user's calendar list. (calendarList.delete) + * + * @param string $calendarId Calendar identifier. To retrieve calendar IDs call + * the calendarList.list method. If you want to access the primary calendar of + * the currently logged in user, use the "primary" keyword. + * @param array $optParams Optional parameters. + */ + public function delete($calendarId, $optParams = array()) + { + $params = array('calendarId' => $calendarId); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params)); + } + /** + * Returns an entry on the user's calendar list. (calendarList.get) + * + * @param string $calendarId Calendar identifier. To retrieve calendar IDs call + * the calendarList.list method. If you want to access the primary calendar of + * the currently logged in user, use the "primary" keyword. + * @param array $optParams Optional parameters. + * @return Google_Service_Calendar_CalendarListEntry + */ + public function get($calendarId, $optParams = array()) + { + $params = array('calendarId' => $calendarId); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Calendar_CalendarListEntry"); + } + /** + * Adds an entry to the user's calendar list. (calendarList.insert) + * + * @param Google_Service_Calendar_CalendarListEntry $postBody + * @param array $optParams Optional parameters. + * + * @opt_param bool colorRgbFormat Whether to use the foregroundColor and + * backgroundColor fields to write the calendar colors (RGB). If this feature is + * used, the index-based colorId field will be set to the best matching option + * automatically. Optional. The default is False. + * @return Google_Service_Calendar_CalendarListEntry + */ + public function insert(Google_Service_Calendar_CalendarListEntry $postBody, $optParams = array()) + { + $params = array('postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('insert', array($params), "Google_Service_Calendar_CalendarListEntry"); + } + /** + * Returns entries on the user's calendar list. (calendarList.listCalendarList) + * + * @param array $optParams Optional parameters. + * + * @opt_param int maxResults Maximum number of entries returned on one result + * page. By default the value is 100 entries. The page size can never be larger + * than 250 entries. Optional. + * @opt_param string minAccessRole The minimum access role for the user in the + * returned entries. Optional. The default is no restriction. + * @opt_param string pageToken Token specifying which result page to return. + * Optional. + * @opt_param bool showDeleted Whether to include deleted calendar list entries + * in the result. Optional. The default is False. + * @opt_param bool showHidden Whether to show hidden entries. Optional. The + * default is False. + * @opt_param string syncToken Token obtained from the nextSyncToken field + * returned on the last page of results from the previous list request. It makes + * the result of this list request contain only entries that have changed since + * then. If only read-only fields such as calendar properties or ACLs have + * changed, the entry won't be returned. All entries deleted and hidden since + * the previous list request will always be in the result set and it is not + * allowed to set showDeleted neither showHidden to False. To ensure client + * state consistency minAccessRole query parameter cannot be specified together + * with nextSyncToken. If the syncToken expires, the server will respond with a + * 410 GONE response code and the client should clear its storage and perform a + * full synchronization without any syncToken. Learn more about incremental + * synchronization. Optional. The default is to return all entries. + * @return Google_Service_Calendar_CalendarList + */ + public function listCalendarList($optParams = array()) + { + $params = array(); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Calendar_CalendarList"); + } + /** + * Updates an entry on the user's calendar list. This method supports patch + * semantics. (calendarList.patch) + * + * @param string $calendarId Calendar identifier. To retrieve calendar IDs call + * the calendarList.list method. If you want to access the primary calendar of + * the currently logged in user, use the "primary" keyword. + * @param Google_Service_Calendar_CalendarListEntry $postBody + * @param array $optParams Optional parameters. + * + * @opt_param bool colorRgbFormat Whether to use the foregroundColor and + * backgroundColor fields to write the calendar colors (RGB). If this feature is + * used, the index-based colorId field will be set to the best matching option + * automatically. Optional. The default is False. + * @return Google_Service_Calendar_CalendarListEntry + */ + public function patch($calendarId, Google_Service_Calendar_CalendarListEntry $postBody, $optParams = array()) + { + $params = array('calendarId' => $calendarId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('patch', array($params), "Google_Service_Calendar_CalendarListEntry"); + } + /** + * Updates an entry on the user's calendar list. (calendarList.update) + * + * @param string $calendarId Calendar identifier. To retrieve calendar IDs call + * the calendarList.list method. If you want to access the primary calendar of + * the currently logged in user, use the "primary" keyword. + * @param Google_Service_Calendar_CalendarListEntry $postBody + * @param array $optParams Optional parameters. + * + * @opt_param bool colorRgbFormat Whether to use the foregroundColor and + * backgroundColor fields to write the calendar colors (RGB). If this feature is + * used, the index-based colorId field will be set to the best matching option + * automatically. Optional. The default is False. + * @return Google_Service_Calendar_CalendarListEntry + */ + public function update($calendarId, Google_Service_Calendar_CalendarListEntry $postBody, $optParams = array()) + { + $params = array('calendarId' => $calendarId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('update', array($params), "Google_Service_Calendar_CalendarListEntry"); + } + /** + * Watch for changes to CalendarList resources. (calendarList.watch) + * + * @param Google_Service_Calendar_Channel $postBody + * @param array $optParams Optional parameters. + * + * @opt_param int maxResults Maximum number of entries returned on one result + * page. By default the value is 100 entries. The page size can never be larger + * than 250 entries. Optional. + * @opt_param string minAccessRole The minimum access role for the user in the + * returned entries. Optional. The default is no restriction. + * @opt_param string pageToken Token specifying which result page to return. + * Optional. + * @opt_param bool showDeleted Whether to include deleted calendar list entries + * in the result. Optional. The default is False. + * @opt_param bool showHidden Whether to show hidden entries. Optional. The + * default is False. + * @opt_param string syncToken Token obtained from the nextSyncToken field + * returned on the last page of results from the previous list request. It makes + * the result of this list request contain only entries that have changed since + * then. If only read-only fields such as calendar properties or ACLs have + * changed, the entry won't be returned. All entries deleted and hidden since + * the previous list request will always be in the result set and it is not + * allowed to set showDeleted neither showHidden to False. To ensure client + * state consistency minAccessRole query parameter cannot be specified together + * with nextSyncToken. If the syncToken expires, the server will respond with a + * 410 GONE response code and the client should clear its storage and perform a + * full synchronization without any syncToken. Learn more about incremental + * synchronization. Optional. The default is to return all entries. + * @return Google_Service_Calendar_Channel + */ + public function watch(Google_Service_Calendar_Channel $postBody, $optParams = array()) + { + $params = array('postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('watch', array($params), "Google_Service_Calendar_Channel"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Calendar/Resource/Calendars.php b/vendor/google/apiclient-services/src/Google/Service/Calendar/Resource/Calendars.php new file mode 100644 index 00000000..9471e9b7 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Calendar/Resource/Calendars.php @@ -0,0 +1,119 @@ + + * $calendarService = new Google_Service_Calendar(...); + * $calendars = $calendarService->calendars; + * + */ +class Google_Service_Calendar_Resource_Calendars extends Google_Service_Resource +{ + /** + * Clears a primary calendar. This operation deletes all events associated with + * the primary calendar of an account. (calendars.clear) + * + * @param string $calendarId Calendar identifier. To retrieve calendar IDs call + * the calendarList.list method. If you want to access the primary calendar of + * the currently logged in user, use the "primary" keyword. + * @param array $optParams Optional parameters. + */ + public function clear($calendarId, $optParams = array()) + { + $params = array('calendarId' => $calendarId); + $params = array_merge($params, $optParams); + return $this->call('clear', array($params)); + } + /** + * Deletes a secondary calendar. Use calendars.clear for clearing all events on + * primary calendars. (calendars.delete) + * + * @param string $calendarId Calendar identifier. To retrieve calendar IDs call + * the calendarList.list method. If you want to access the primary calendar of + * the currently logged in user, use the "primary" keyword. + * @param array $optParams Optional parameters. + */ + public function delete($calendarId, $optParams = array()) + { + $params = array('calendarId' => $calendarId); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params)); + } + /** + * Returns metadata for a calendar. (calendars.get) + * + * @param string $calendarId Calendar identifier. To retrieve calendar IDs call + * the calendarList.list method. If you want to access the primary calendar of + * the currently logged in user, use the "primary" keyword. + * @param array $optParams Optional parameters. + * @return Google_Service_Calendar_Calendar + */ + public function get($calendarId, $optParams = array()) + { + $params = array('calendarId' => $calendarId); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Calendar_Calendar"); + } + /** + * Creates a secondary calendar. (calendars.insert) + * + * @param Google_Service_Calendar_Calendar $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Calendar_Calendar + */ + public function insert(Google_Service_Calendar_Calendar $postBody, $optParams = array()) + { + $params = array('postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('insert', array($params), "Google_Service_Calendar_Calendar"); + } + /** + * Updates metadata for a calendar. This method supports patch semantics. + * (calendars.patch) + * + * @param string $calendarId Calendar identifier. To retrieve calendar IDs call + * the calendarList.list method. If you want to access the primary calendar of + * the currently logged in user, use the "primary" keyword. + * @param Google_Service_Calendar_Calendar $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Calendar_Calendar + */ + public function patch($calendarId, Google_Service_Calendar_Calendar $postBody, $optParams = array()) + { + $params = array('calendarId' => $calendarId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('patch', array($params), "Google_Service_Calendar_Calendar"); + } + /** + * Updates metadata for a calendar. (calendars.update) + * + * @param string $calendarId Calendar identifier. To retrieve calendar IDs call + * the calendarList.list method. If you want to access the primary calendar of + * the currently logged in user, use the "primary" keyword. + * @param Google_Service_Calendar_Calendar $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Calendar_Calendar + */ + public function update($calendarId, Google_Service_Calendar_Calendar $postBody, $optParams = array()) + { + $params = array('calendarId' => $calendarId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('update', array($params), "Google_Service_Calendar_Calendar"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Calendar/Resource/Channels.php b/vendor/google/apiclient-services/src/Google/Service/Calendar/Resource/Channels.php new file mode 100644 index 00000000..35254316 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Calendar/Resource/Channels.php @@ -0,0 +1,40 @@ + + * $calendarService = new Google_Service_Calendar(...); + * $channels = $calendarService->channels; + * + */ +class Google_Service_Calendar_Resource_Channels extends Google_Service_Resource +{ + /** + * Stop watching resources through this channel (channels.stop) + * + * @param Google_Service_Calendar_Channel $postBody + * @param array $optParams Optional parameters. + */ + public function stop(Google_Service_Calendar_Channel $postBody, $optParams = array()) + { + $params = array('postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('stop', array($params)); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Calendar/Resource/Colors.php b/vendor/google/apiclient-services/src/Google/Service/Calendar/Resource/Colors.php new file mode 100644 index 00000000..4d281a04 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Calendar/Resource/Colors.php @@ -0,0 +1,40 @@ + + * $calendarService = new Google_Service_Calendar(...); + * $colors = $calendarService->colors; + * + */ +class Google_Service_Calendar_Resource_Colors extends Google_Service_Resource +{ + /** + * Returns the color definitions for calendars and events. (colors.get) + * + * @param array $optParams Optional parameters. + * @return Google_Service_Calendar_Colors + */ + public function get($optParams = array()) + { + $params = array(); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Calendar_Colors"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Calendar/Resource/Events.php b/vendor/google/apiclient-services/src/Google/Service/Calendar/Resource/Events.php new file mode 100644 index 00000000..53c89ce6 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Calendar/Resource/Events.php @@ -0,0 +1,440 @@ + + * $calendarService = new Google_Service_Calendar(...); + * $events = $calendarService->events; + * + */ +class Google_Service_Calendar_Resource_Events extends Google_Service_Resource +{ + /** + * Deletes an event. (events.delete) + * + * @param string $calendarId Calendar identifier. To retrieve calendar IDs call + * the calendarList.list method. If you want to access the primary calendar of + * the currently logged in user, use the "primary" keyword. + * @param string $eventId Event identifier. + * @param array $optParams Optional parameters. + * + * @opt_param bool sendNotifications Whether to send notifications about the + * deletion of the event. Optional. The default is False. + */ + public function delete($calendarId, $eventId, $optParams = array()) + { + $params = array('calendarId' => $calendarId, 'eventId' => $eventId); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params)); + } + /** + * Returns an event. (events.get) + * + * @param string $calendarId Calendar identifier. To retrieve calendar IDs call + * the calendarList.list method. If you want to access the primary calendar of + * the currently logged in user, use the "primary" keyword. + * @param string $eventId Event identifier. + * @param array $optParams Optional parameters. + * + * @opt_param bool alwaysIncludeEmail Whether to always include a value in the + * email field for the organizer, creator and attendees, even if no real email + * is available (i.e. a generated, non-working value will be provided). The use + * of this option is discouraged and should only be used by clients which cannot + * handle the absence of an email address value in the mentioned places. + * Optional. The default is False. + * @opt_param int maxAttendees The maximum number of attendees to include in the + * response. If there are more than the specified number of attendees, only the + * participant is returned. Optional. + * @opt_param string timeZone Time zone used in the response. Optional. The + * default is the time zone of the calendar. + * @return Google_Service_Calendar_Event + */ + public function get($calendarId, $eventId, $optParams = array()) + { + $params = array('calendarId' => $calendarId, 'eventId' => $eventId); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Calendar_Event"); + } + /** + * Imports an event. This operation is used to add a private copy of an existing + * event to a calendar. (events.import) + * + * @param string $calendarId Calendar identifier. To retrieve calendar IDs call + * the calendarList.list method. If you want to access the primary calendar of + * the currently logged in user, use the "primary" keyword. + * @param Google_Service_Calendar_Event $postBody + * @param array $optParams Optional parameters. + * + * @opt_param bool supportsAttachments Whether API client performing operation + * supports event attachments. Optional. The default is False. + * @return Google_Service_Calendar_Event + */ + public function import($calendarId, Google_Service_Calendar_Event $postBody, $optParams = array()) + { + $params = array('calendarId' => $calendarId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('import', array($params), "Google_Service_Calendar_Event"); + } + /** + * Creates an event. (events.insert) + * + * @param string $calendarId Calendar identifier. To retrieve calendar IDs call + * the calendarList.list method. If you want to access the primary calendar of + * the currently logged in user, use the "primary" keyword. + * @param Google_Service_Calendar_Event $postBody + * @param array $optParams Optional parameters. + * + * @opt_param int maxAttendees The maximum number of attendees to include in the + * response. If there are more than the specified number of attendees, only the + * participant is returned. Optional. + * @opt_param bool sendNotifications Whether to send notifications about the + * creation of the new event. Optional. The default is False. + * @opt_param bool supportsAttachments Whether API client performing operation + * supports event attachments. Optional. The default is False. + * @return Google_Service_Calendar_Event + */ + public function insert($calendarId, Google_Service_Calendar_Event $postBody, $optParams = array()) + { + $params = array('calendarId' => $calendarId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('insert', array($params), "Google_Service_Calendar_Event"); + } + /** + * Returns instances of the specified recurring event. (events.instances) + * + * @param string $calendarId Calendar identifier. To retrieve calendar IDs call + * the calendarList.list method. If you want to access the primary calendar of + * the currently logged in user, use the "primary" keyword. + * @param string $eventId Recurring event identifier. + * @param array $optParams Optional parameters. + * + * @opt_param bool alwaysIncludeEmail Whether to always include a value in the + * email field for the organizer, creator and attendees, even if no real email + * is available (i.e. a generated, non-working value will be provided). The use + * of this option is discouraged and should only be used by clients which cannot + * handle the absence of an email address value in the mentioned places. + * Optional. The default is False. + * @opt_param int maxAttendees The maximum number of attendees to include in the + * response. If there are more than the specified number of attendees, only the + * participant is returned. Optional. + * @opt_param int maxResults Maximum number of events returned on one result + * page. By default the value is 250 events. The page size can never be larger + * than 2500 events. Optional. + * @opt_param string originalStart The original start time of the instance in + * the result. Optional. + * @opt_param string pageToken Token specifying which result page to return. + * Optional. + * @opt_param bool showDeleted Whether to include deleted events (with status + * equals "cancelled") in the result. Cancelled instances of recurring events + * will still be included if singleEvents is False. Optional. The default is + * False. + * @opt_param string timeMax Upper bound (exclusive) for an event's start time + * to filter by. Optional. The default is not to filter by start time. Must be + * an RFC3339 timestamp with mandatory time zone offset. + * @opt_param string timeMin Lower bound (inclusive) for an event's end time to + * filter by. Optional. The default is not to filter by end time. Must be an + * RFC3339 timestamp with mandatory time zone offset. + * @opt_param string timeZone Time zone used in the response. Optional. The + * default is the time zone of the calendar. + * @return Google_Service_Calendar_Events + */ + public function instances($calendarId, $eventId, $optParams = array()) + { + $params = array('calendarId' => $calendarId, 'eventId' => $eventId); + $params = array_merge($params, $optParams); + return $this->call('instances', array($params), "Google_Service_Calendar_Events"); + } + /** + * Returns events on the specified calendar. (events.listEvents) + * + * @param string $calendarId Calendar identifier. To retrieve calendar IDs call + * the calendarList.list method. If you want to access the primary calendar of + * the currently logged in user, use the "primary" keyword. + * @param array $optParams Optional parameters. + * + * @opt_param bool alwaysIncludeEmail Whether to always include a value in the + * email field for the organizer, creator and attendees, even if no real email + * is available (i.e. a generated, non-working value will be provided). The use + * of this option is discouraged and should only be used by clients which cannot + * handle the absence of an email address value in the mentioned places. + * Optional. The default is False. + * @opt_param string iCalUID Specifies event ID in the iCalendar format to be + * included in the response. Optional. + * @opt_param int maxAttendees The maximum number of attendees to include in the + * response. If there are more than the specified number of attendees, only the + * participant is returned. Optional. + * @opt_param int maxResults Maximum number of events returned on one result + * page. By default the value is 250 events. The page size can never be larger + * than 2500 events. Optional. + * @opt_param string orderBy The order of the events returned in the result. + * Optional. The default is an unspecified, stable order. + * @opt_param string pageToken Token specifying which result page to return. + * Optional. + * @opt_param string privateExtendedProperty Extended properties constraint + * specified as propertyName=value. Matches only private properties. This + * parameter might be repeated multiple times to return events that match all + * given constraints. + * @opt_param string q Free text search terms to find events that match these + * terms in any field, except for extended properties. Optional. + * @opt_param string sharedExtendedProperty Extended properties constraint + * specified as propertyName=value. Matches only shared properties. This + * parameter might be repeated multiple times to return events that match all + * given constraints. + * @opt_param bool showDeleted Whether to include deleted events (with status + * equals "cancelled") in the result. Cancelled instances of recurring events + * (but not the underlying recurring event) will still be included if + * showDeleted and singleEvents are both False. If showDeleted and singleEvents + * are both True, only single instances of deleted events (but not the + * underlying recurring events) are returned. Optional. The default is False. + * @opt_param bool showHiddenInvitations Whether to include hidden invitations + * in the result. Optional. The default is False. + * @opt_param bool singleEvents Whether to expand recurring events into + * instances and only return single one-off events and instances of recurring + * events, but not the underlying recurring events themselves. Optional. The + * default is False. + * @opt_param string syncToken Token obtained from the nextSyncToken field + * returned on the last page of results from the previous list request. It makes + * the result of this list request contain only entries that have changed since + * then. All events deleted since the previous list request will always be in + * the result set and it is not allowed to set showDeleted to False. There are + * several query parameters that cannot be specified together with nextSyncToken + * to ensure consistency of the client state. + * + * These are: - iCalUID - orderBy - privateExtendedProperty - q - + * sharedExtendedProperty - timeMin - timeMax - updatedMin If the syncToken + * expires, the server will respond with a 410 GONE response code and the client + * should clear its storage and perform a full synchronization without any + * syncToken. Learn more about incremental synchronization. Optional. The + * default is to return all entries. + * @opt_param string timeMax Upper bound (exclusive) for an event's start time + * to filter by. Optional. The default is not to filter by start time. Must be + * an RFC3339 timestamp with mandatory time zone offset, e.g., + * 2011-06-03T10:00:00-07:00, 2011-06-03T10:00:00Z. Milliseconds may be provided + * but will be ignored. + * @opt_param string timeMin Lower bound (inclusive) for an event's end time to + * filter by. Optional. The default is not to filter by end time. Must be an + * RFC3339 timestamp with mandatory time zone offset, e.g., + * 2011-06-03T10:00:00-07:00, 2011-06-03T10:00:00Z. Milliseconds may be provided + * but will be ignored. + * @opt_param string timeZone Time zone used in the response. Optional. The + * default is the time zone of the calendar. + * @opt_param string updatedMin Lower bound for an event's last modification + * time (as a RFC3339 timestamp) to filter by. When specified, entries deleted + * since this time will always be included regardless of showDeleted. Optional. + * The default is not to filter by last modification time. + * @return Google_Service_Calendar_Events + */ + public function listEvents($calendarId, $optParams = array()) + { + $params = array('calendarId' => $calendarId); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Calendar_Events"); + } + /** + * Moves an event to another calendar, i.e. changes an event's organizer. + * (events.move) + * + * @param string $calendarId Calendar identifier of the source calendar where + * the event currently is on. + * @param string $eventId Event identifier. + * @param string $destination Calendar identifier of the target calendar where + * the event is to be moved to. + * @param array $optParams Optional parameters. + * + * @opt_param bool sendNotifications Whether to send notifications about the + * change of the event's organizer. Optional. The default is False. + * @return Google_Service_Calendar_Event + */ + public function move($calendarId, $eventId, $destination, $optParams = array()) + { + $params = array('calendarId' => $calendarId, 'eventId' => $eventId, 'destination' => $destination); + $params = array_merge($params, $optParams); + return $this->call('move', array($params), "Google_Service_Calendar_Event"); + } + /** + * Updates an event. This method supports patch semantics. (events.patch) + * + * @param string $calendarId Calendar identifier. To retrieve calendar IDs call + * the calendarList.list method. If you want to access the primary calendar of + * the currently logged in user, use the "primary" keyword. + * @param string $eventId Event identifier. + * @param Google_Service_Calendar_Event $postBody + * @param array $optParams Optional parameters. + * + * @opt_param bool alwaysIncludeEmail Whether to always include a value in the + * email field for the organizer, creator and attendees, even if no real email + * is available (i.e. a generated, non-working value will be provided). The use + * of this option is discouraged and should only be used by clients which cannot + * handle the absence of an email address value in the mentioned places. + * Optional. The default is False. + * @opt_param int maxAttendees The maximum number of attendees to include in the + * response. If there are more than the specified number of attendees, only the + * participant is returned. Optional. + * @opt_param bool sendNotifications Whether to send notifications about the + * event update (e.g. attendee's responses, title changes, etc.). Optional. The + * default is False. + * @opt_param bool supportsAttachments Whether API client performing operation + * supports event attachments. Optional. The default is False. + * @return Google_Service_Calendar_Event + */ + public function patch($calendarId, $eventId, Google_Service_Calendar_Event $postBody, $optParams = array()) + { + $params = array('calendarId' => $calendarId, 'eventId' => $eventId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('patch', array($params), "Google_Service_Calendar_Event"); + } + /** + * Creates an event based on a simple text string. (events.quickAdd) + * + * @param string $calendarId Calendar identifier. To retrieve calendar IDs call + * the calendarList.list method. If you want to access the primary calendar of + * the currently logged in user, use the "primary" keyword. + * @param string $text The text describing the event to be created. + * @param array $optParams Optional parameters. + * + * @opt_param bool sendNotifications Whether to send notifications about the + * creation of the event. Optional. The default is False. + * @return Google_Service_Calendar_Event + */ + public function quickAdd($calendarId, $text, $optParams = array()) + { + $params = array('calendarId' => $calendarId, 'text' => $text); + $params = array_merge($params, $optParams); + return $this->call('quickAdd', array($params), "Google_Service_Calendar_Event"); + } + /** + * Updates an event. (events.update) + * + * @param string $calendarId Calendar identifier. To retrieve calendar IDs call + * the calendarList.list method. If you want to access the primary calendar of + * the currently logged in user, use the "primary" keyword. + * @param string $eventId Event identifier. + * @param Google_Service_Calendar_Event $postBody + * @param array $optParams Optional parameters. + * + * @opt_param bool alwaysIncludeEmail Whether to always include a value in the + * email field for the organizer, creator and attendees, even if no real email + * is available (i.e. a generated, non-working value will be provided). The use + * of this option is discouraged and should only be used by clients which cannot + * handle the absence of an email address value in the mentioned places. + * Optional. The default is False. + * @opt_param int maxAttendees The maximum number of attendees to include in the + * response. If there are more than the specified number of attendees, only the + * participant is returned. Optional. + * @opt_param bool sendNotifications Whether to send notifications about the + * event update (e.g. attendee's responses, title changes, etc.). Optional. The + * default is False. + * @opt_param bool supportsAttachments Whether API client performing operation + * supports event attachments. Optional. The default is False. + * @return Google_Service_Calendar_Event + */ + public function update($calendarId, $eventId, Google_Service_Calendar_Event $postBody, $optParams = array()) + { + $params = array('calendarId' => $calendarId, 'eventId' => $eventId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('update', array($params), "Google_Service_Calendar_Event"); + } + /** + * Watch for changes to Events resources. (events.watch) + * + * @param string $calendarId Calendar identifier. To retrieve calendar IDs call + * the calendarList.list method. If you want to access the primary calendar of + * the currently logged in user, use the "primary" keyword. + * @param Google_Service_Calendar_Channel $postBody + * @param array $optParams Optional parameters. + * + * @opt_param bool alwaysIncludeEmail Whether to always include a value in the + * email field for the organizer, creator and attendees, even if no real email + * is available (i.e. a generated, non-working value will be provided). The use + * of this option is discouraged and should only be used by clients which cannot + * handle the absence of an email address value in the mentioned places. + * Optional. The default is False. + * @opt_param string iCalUID Specifies event ID in the iCalendar format to be + * included in the response. Optional. + * @opt_param int maxAttendees The maximum number of attendees to include in the + * response. If there are more than the specified number of attendees, only the + * participant is returned. Optional. + * @opt_param int maxResults Maximum number of events returned on one result + * page. By default the value is 250 events. The page size can never be larger + * than 2500 events. Optional. + * @opt_param string orderBy The order of the events returned in the result. + * Optional. The default is an unspecified, stable order. + * @opt_param string pageToken Token specifying which result page to return. + * Optional. + * @opt_param string privateExtendedProperty Extended properties constraint + * specified as propertyName=value. Matches only private properties. This + * parameter might be repeated multiple times to return events that match all + * given constraints. + * @opt_param string q Free text search terms to find events that match these + * terms in any field, except for extended properties. Optional. + * @opt_param string sharedExtendedProperty Extended properties constraint + * specified as propertyName=value. Matches only shared properties. This + * parameter might be repeated multiple times to return events that match all + * given constraints. + * @opt_param bool showDeleted Whether to include deleted events (with status + * equals "cancelled") in the result. Cancelled instances of recurring events + * (but not the underlying recurring event) will still be included if + * showDeleted and singleEvents are both False. If showDeleted and singleEvents + * are both True, only single instances of deleted events (but not the + * underlying recurring events) are returned. Optional. The default is False. + * @opt_param bool showHiddenInvitations Whether to include hidden invitations + * in the result. Optional. The default is False. + * @opt_param bool singleEvents Whether to expand recurring events into + * instances and only return single one-off events and instances of recurring + * events, but not the underlying recurring events themselves. Optional. The + * default is False. + * @opt_param string syncToken Token obtained from the nextSyncToken field + * returned on the last page of results from the previous list request. It makes + * the result of this list request contain only entries that have changed since + * then. All events deleted since the previous list request will always be in + * the result set and it is not allowed to set showDeleted to False. There are + * several query parameters that cannot be specified together with nextSyncToken + * to ensure consistency of the client state. + * + * These are: - iCalUID - orderBy - privateExtendedProperty - q - + * sharedExtendedProperty - timeMin - timeMax - updatedMin If the syncToken + * expires, the server will respond with a 410 GONE response code and the client + * should clear its storage and perform a full synchronization without any + * syncToken. Learn more about incremental synchronization. Optional. The + * default is to return all entries. + * @opt_param string timeMax Upper bound (exclusive) for an event's start time + * to filter by. Optional. The default is not to filter by start time. Must be + * an RFC3339 timestamp with mandatory time zone offset, e.g., + * 2011-06-03T10:00:00-07:00, 2011-06-03T10:00:00Z. Milliseconds may be provided + * but will be ignored. + * @opt_param string timeMin Lower bound (inclusive) for an event's end time to + * filter by. Optional. The default is not to filter by end time. Must be an + * RFC3339 timestamp with mandatory time zone offset, e.g., + * 2011-06-03T10:00:00-07:00, 2011-06-03T10:00:00Z. Milliseconds may be provided + * but will be ignored. + * @opt_param string timeZone Time zone used in the response. Optional. The + * default is the time zone of the calendar. + * @opt_param string updatedMin Lower bound for an event's last modification + * time (as a RFC3339 timestamp) to filter by. When specified, entries deleted + * since this time will always be included regardless of showDeleted. Optional. + * The default is not to filter by last modification time. + * @return Google_Service_Calendar_Channel + */ + public function watch($calendarId, Google_Service_Calendar_Channel $postBody, $optParams = array()) + { + $params = array('calendarId' => $calendarId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('watch', array($params), "Google_Service_Calendar_Channel"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Calendar/Resource/Freebusy.php b/vendor/google/apiclient-services/src/Google/Service/Calendar/Resource/Freebusy.php new file mode 100644 index 00000000..76791c78 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Calendar/Resource/Freebusy.php @@ -0,0 +1,41 @@ + + * $calendarService = new Google_Service_Calendar(...); + * $freebusy = $calendarService->freebusy; + * + */ +class Google_Service_Calendar_Resource_Freebusy extends Google_Service_Resource +{ + /** + * Returns free/busy information for a set of calendars. (freebusy.query) + * + * @param Google_Service_Calendar_FreeBusyRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Calendar_FreeBusyResponse + */ + public function query(Google_Service_Calendar_FreeBusyRequest $postBody, $optParams = array()) + { + $params = array('postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('query', array($params), "Google_Service_Calendar_FreeBusyResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Calendar/Resource/Settings.php b/vendor/google/apiclient-services/src/Google/Service/Calendar/Resource/Settings.php new file mode 100644 index 00000000..1b2a9370 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Calendar/Resource/Settings.php @@ -0,0 +1,92 @@ + + * $calendarService = new Google_Service_Calendar(...); + * $settings = $calendarService->settings; + * + */ +class Google_Service_Calendar_Resource_Settings extends Google_Service_Resource +{ + /** + * Returns a single user setting. (settings.get) + * + * @param string $setting The id of the user setting. + * @param array $optParams Optional parameters. + * @return Google_Service_Calendar_Setting + */ + public function get($setting, $optParams = array()) + { + $params = array('setting' => $setting); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Calendar_Setting"); + } + /** + * Returns all user settings for the authenticated user. (settings.listSettings) + * + * @param array $optParams Optional parameters. + * + * @opt_param int maxResults Maximum number of entries returned on one result + * page. By default the value is 100 entries. The page size can never be larger + * than 250 entries. Optional. + * @opt_param string pageToken Token specifying which result page to return. + * Optional. + * @opt_param string syncToken Token obtained from the nextSyncToken field + * returned on the last page of results from the previous list request. It makes + * the result of this list request contain only entries that have changed since + * then. If the syncToken expires, the server will respond with a 410 GONE + * response code and the client should clear its storage and perform a full + * synchronization without any syncToken. Learn more about incremental + * synchronization. Optional. The default is to return all entries. + * @return Google_Service_Calendar_Settings + */ + public function listSettings($optParams = array()) + { + $params = array(); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Calendar_Settings"); + } + /** + * Watch for changes to Settings resources. (settings.watch) + * + * @param Google_Service_Calendar_Channel $postBody + * @param array $optParams Optional parameters. + * + * @opt_param int maxResults Maximum number of entries returned on one result + * page. By default the value is 100 entries. The page size can never be larger + * than 250 entries. Optional. + * @opt_param string pageToken Token specifying which result page to return. + * Optional. + * @opt_param string syncToken Token obtained from the nextSyncToken field + * returned on the last page of results from the previous list request. It makes + * the result of this list request contain only entries that have changed since + * then. If the syncToken expires, the server will respond with a 410 GONE + * response code and the client should clear its storage and perform a full + * synchronization without any syncToken. Learn more about incremental + * synchronization. Optional. The default is to return all entries. + * @return Google_Service_Calendar_Channel + */ + public function watch(Google_Service_Calendar_Channel $postBody, $optParams = array()) + { + $params = array('postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('watch', array($params), "Google_Service_Calendar_Channel"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Calendar/Setting.php b/vendor/google/apiclient-services/src/Google/Service/Calendar/Setting.php new file mode 100644 index 00000000..3e4ae0b9 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Calendar/Setting.php @@ -0,0 +1,57 @@ +etag = $etag; + } + public function getEtag() + { + return $this->etag; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setValue($value) + { + $this->value = $value; + } + public function getValue() + { + return $this->value; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Calendar/Settings.php b/vendor/google/apiclient-services/src/Google/Service/Calendar/Settings.php new file mode 100644 index 00000000..fa0d9334 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Calendar/Settings.php @@ -0,0 +1,68 @@ +etag = $etag; + } + public function getEtag() + { + return $this->etag; + } + public function setItems($items) + { + $this->items = $items; + } + public function getItems() + { + return $this->items; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setNextSyncToken($nextSyncToken) + { + $this->nextSyncToken = $nextSyncToken; + } + public function getNextSyncToken() + { + return $this->nextSyncToken; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Calendar/TimePeriod.php b/vendor/google/apiclient-services/src/Google/Service/Calendar/TimePeriod.php new file mode 100644 index 00000000..91bda8a6 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Calendar/TimePeriod.php @@ -0,0 +1,39 @@ +end = $end; + } + public function getEnd() + { + return $this->end; + } + public function setStart($start) + { + $this->start = $start; + } + public function getStart() + { + return $this->start; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CivicInfo.php b/vendor/google/apiclient-services/src/Google/Service/CivicInfo.php new file mode 100644 index 00000000..8f9d7b8d --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CivicInfo.php @@ -0,0 +1,166 @@ + + * Provides polling places, early vote locations, contest data, election + * officials, and government representatives for U.S. residential addresses.

+ * + *

+ * For more information about this service, see the API + * Documentation + *

+ * + * @author Google, Inc. + */ +class Google_Service_CivicInfo extends Google_Service +{ + + + public $divisions; + public $elections; + public $representatives; + + /** + * Constructs the internal representation of the CivicInfo service. + * + * @param Google_Client $client + */ + public function __construct(Google_Client $client) + { + parent::__construct($client); + $this->rootUrl = 'https://www.googleapis.com/'; + $this->servicePath = 'civicinfo/v2/'; + $this->version = 'v2'; + $this->serviceName = 'civicinfo'; + + $this->divisions = new Google_Service_CivicInfo_Resource_Divisions( + $this, + $this->serviceName, + 'divisions', + array( + 'methods' => array( + 'search' => array( + 'path' => 'divisions', + 'httpMethod' => 'GET', + 'parameters' => array( + 'query' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + $this->elections = new Google_Service_CivicInfo_Resource_Elections( + $this, + $this->serviceName, + 'elections', + array( + 'methods' => array( + 'electionQuery' => array( + 'path' => 'elections', + 'httpMethod' => 'GET', + 'parameters' => array(), + ),'voterInfoQuery' => array( + 'path' => 'voterinfo', + 'httpMethod' => 'GET', + 'parameters' => array( + 'address' => array( + 'location' => 'query', + 'type' => 'string', + 'required' => true, + ), + 'electionId' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'officialOnly' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + 'returnAllAvailableData' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + ), + ), + ) + ) + ); + $this->representatives = new Google_Service_CivicInfo_Resource_Representatives( + $this, + $this->serviceName, + 'representatives', + array( + 'methods' => array( + 'representativeInfoByAddress' => array( + 'path' => 'representatives', + 'httpMethod' => 'GET', + 'parameters' => array( + 'address' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'includeOffices' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + 'levels' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + ), + 'roles' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + ), + ), + ),'representativeInfoByDivision' => array( + 'path' => 'representatives/{ocdId}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'ocdId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'levels' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + ), + 'recursive' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + 'roles' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + ), + ), + ), + ) + ) + ); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CivicInfo/AdministrationRegion.php b/vendor/google/apiclient-services/src/Google/Service/CivicInfo/AdministrationRegion.php new file mode 100644 index 00000000..ca275283 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CivicInfo/AdministrationRegion.php @@ -0,0 +1,73 @@ + "local_jurisdiction", + ); + protected $electionAdministrationBodyType = 'Google_Service_CivicInfo_AdministrativeBody'; + protected $electionAdministrationBodyDataType = ''; + public $id; + protected $localJurisdictionType = 'Google_Service_CivicInfo_AdministrationRegion'; + protected $localJurisdictionDataType = ''; + public $name; + protected $sourcesType = 'Google_Service_CivicInfo_Source'; + protected $sourcesDataType = 'array'; + + public function setElectionAdministrationBody(Google_Service_CivicInfo_AdministrativeBody $electionAdministrationBody) + { + $this->electionAdministrationBody = $electionAdministrationBody; + } + public function getElectionAdministrationBody() + { + return $this->electionAdministrationBody; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setLocalJurisdiction(Google_Service_CivicInfo_AdministrationRegion $localJurisdiction) + { + $this->localJurisdiction = $localJurisdiction; + } + public function getLocalJurisdiction() + { + return $this->localJurisdiction; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setSources($sources) + { + $this->sources = $sources; + } + public function getSources() + { + return $this->sources; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CivicInfo/AdministrativeBody.php b/vendor/google/apiclient-services/src/Google/Service/CivicInfo/AdministrativeBody.php new file mode 100644 index 00000000..60c3a4a0 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CivicInfo/AdministrativeBody.php @@ -0,0 +1,154 @@ + "voter_services", + ); + public $absenteeVotingInfoUrl; + public $addressLines; + public $ballotInfoUrl; + protected $correspondenceAddressType = 'Google_Service_CivicInfo_SimpleAddressType'; + protected $correspondenceAddressDataType = ''; + public $electionInfoUrl; + protected $electionOfficialsType = 'Google_Service_CivicInfo_ElectionOfficial'; + protected $electionOfficialsDataType = 'array'; + public $electionRegistrationConfirmationUrl; + public $electionRegistrationUrl; + public $electionRulesUrl; + public $hoursOfOperation; + public $name; + protected $physicalAddressType = 'Google_Service_CivicInfo_SimpleAddressType'; + protected $physicalAddressDataType = ''; + public $voterServices; + public $votingLocationFinderUrl; + + public function setAbsenteeVotingInfoUrl($absenteeVotingInfoUrl) + { + $this->absenteeVotingInfoUrl = $absenteeVotingInfoUrl; + } + public function getAbsenteeVotingInfoUrl() + { + return $this->absenteeVotingInfoUrl; + } + public function setAddressLines($addressLines) + { + $this->addressLines = $addressLines; + } + public function getAddressLines() + { + return $this->addressLines; + } + public function setBallotInfoUrl($ballotInfoUrl) + { + $this->ballotInfoUrl = $ballotInfoUrl; + } + public function getBallotInfoUrl() + { + return $this->ballotInfoUrl; + } + public function setCorrespondenceAddress(Google_Service_CivicInfo_SimpleAddressType $correspondenceAddress) + { + $this->correspondenceAddress = $correspondenceAddress; + } + public function getCorrespondenceAddress() + { + return $this->correspondenceAddress; + } + public function setElectionInfoUrl($electionInfoUrl) + { + $this->electionInfoUrl = $electionInfoUrl; + } + public function getElectionInfoUrl() + { + return $this->electionInfoUrl; + } + public function setElectionOfficials($electionOfficials) + { + $this->electionOfficials = $electionOfficials; + } + public function getElectionOfficials() + { + return $this->electionOfficials; + } + public function setElectionRegistrationConfirmationUrl($electionRegistrationConfirmationUrl) + { + $this->electionRegistrationConfirmationUrl = $electionRegistrationConfirmationUrl; + } + public function getElectionRegistrationConfirmationUrl() + { + return $this->electionRegistrationConfirmationUrl; + } + public function setElectionRegistrationUrl($electionRegistrationUrl) + { + $this->electionRegistrationUrl = $electionRegistrationUrl; + } + public function getElectionRegistrationUrl() + { + return $this->electionRegistrationUrl; + } + public function setElectionRulesUrl($electionRulesUrl) + { + $this->electionRulesUrl = $electionRulesUrl; + } + public function getElectionRulesUrl() + { + return $this->electionRulesUrl; + } + public function setHoursOfOperation($hoursOfOperation) + { + $this->hoursOfOperation = $hoursOfOperation; + } + public function getHoursOfOperation() + { + return $this->hoursOfOperation; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setPhysicalAddress(Google_Service_CivicInfo_SimpleAddressType $physicalAddress) + { + $this->physicalAddress = $physicalAddress; + } + public function getPhysicalAddress() + { + return $this->physicalAddress; + } + public function setVoterServices($voterServices) + { + $this->voterServices = $voterServices; + } + public function getVoterServices() + { + return $this->voterServices; + } + public function setVotingLocationFinderUrl($votingLocationFinderUrl) + { + $this->votingLocationFinderUrl = $votingLocationFinderUrl; + } + public function getVotingLocationFinderUrl() + { + return $this->votingLocationFinderUrl; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CivicInfo/Candidate.php b/vendor/google/apiclient-services/src/Google/Service/CivicInfo/Candidate.php new file mode 100644 index 00000000..8f5ff7d3 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CivicInfo/Candidate.php @@ -0,0 +1,95 @@ +candidateUrl = $candidateUrl; + } + public function getCandidateUrl() + { + return $this->candidateUrl; + } + public function setChannels($channels) + { + $this->channels = $channels; + } + public function getChannels() + { + return $this->channels; + } + public function setEmail($email) + { + $this->email = $email; + } + public function getEmail() + { + return $this->email; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setOrderOnBallot($orderOnBallot) + { + $this->orderOnBallot = $orderOnBallot; + } + public function getOrderOnBallot() + { + return $this->orderOnBallot; + } + public function setParty($party) + { + $this->party = $party; + } + public function getParty() + { + return $this->party; + } + public function setPhone($phone) + { + $this->phone = $phone; + } + public function getPhone() + { + return $this->phone; + } + public function setPhotoUrl($photoUrl) + { + $this->photoUrl = $photoUrl; + } + public function getPhotoUrl() + { + return $this->photoUrl; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CivicInfo/Channel.php b/vendor/google/apiclient-services/src/Google/Service/CivicInfo/Channel.php new file mode 100644 index 00000000..3d4d6731 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CivicInfo/Channel.php @@ -0,0 +1,39 @@ +id = $id; + } + public function getId() + { + return $this->id; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CivicInfo/Contest.php b/vendor/google/apiclient-services/src/Google/Service/CivicInfo/Contest.php new file mode 100644 index 00000000..c555ce04 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CivicInfo/Contest.php @@ -0,0 +1,241 @@ +ballotPlacement = $ballotPlacement; + } + public function getBallotPlacement() + { + return $this->ballotPlacement; + } + public function setCandidates($candidates) + { + $this->candidates = $candidates; + } + public function getCandidates() + { + return $this->candidates; + } + public function setDistrict(Google_Service_CivicInfo_ElectoralDistrict $district) + { + $this->district = $district; + } + public function getDistrict() + { + return $this->district; + } + public function setElectorateSpecifications($electorateSpecifications) + { + $this->electorateSpecifications = $electorateSpecifications; + } + public function getElectorateSpecifications() + { + return $this->electorateSpecifications; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setLevel($level) + { + $this->level = $level; + } + public function getLevel() + { + return $this->level; + } + public function setNumberElected($numberElected) + { + $this->numberElected = $numberElected; + } + public function getNumberElected() + { + return $this->numberElected; + } + public function setNumberVotingFor($numberVotingFor) + { + $this->numberVotingFor = $numberVotingFor; + } + public function getNumberVotingFor() + { + return $this->numberVotingFor; + } + public function setOffice($office) + { + $this->office = $office; + } + public function getOffice() + { + return $this->office; + } + public function setPrimaryParty($primaryParty) + { + $this->primaryParty = $primaryParty; + } + public function getPrimaryParty() + { + return $this->primaryParty; + } + public function setReferendumBallotResponses($referendumBallotResponses) + { + $this->referendumBallotResponses = $referendumBallotResponses; + } + public function getReferendumBallotResponses() + { + return $this->referendumBallotResponses; + } + public function setReferendumBrief($referendumBrief) + { + $this->referendumBrief = $referendumBrief; + } + public function getReferendumBrief() + { + return $this->referendumBrief; + } + public function setReferendumConStatement($referendumConStatement) + { + $this->referendumConStatement = $referendumConStatement; + } + public function getReferendumConStatement() + { + return $this->referendumConStatement; + } + public function setReferendumEffectOfAbstain($referendumEffectOfAbstain) + { + $this->referendumEffectOfAbstain = $referendumEffectOfAbstain; + } + public function getReferendumEffectOfAbstain() + { + return $this->referendumEffectOfAbstain; + } + public function setReferendumPassageThreshold($referendumPassageThreshold) + { + $this->referendumPassageThreshold = $referendumPassageThreshold; + } + public function getReferendumPassageThreshold() + { + return $this->referendumPassageThreshold; + } + public function setReferendumProStatement($referendumProStatement) + { + $this->referendumProStatement = $referendumProStatement; + } + public function getReferendumProStatement() + { + return $this->referendumProStatement; + } + public function setReferendumSubtitle($referendumSubtitle) + { + $this->referendumSubtitle = $referendumSubtitle; + } + public function getReferendumSubtitle() + { + return $this->referendumSubtitle; + } + public function setReferendumText($referendumText) + { + $this->referendumText = $referendumText; + } + public function getReferendumText() + { + return $this->referendumText; + } + public function setReferendumTitle($referendumTitle) + { + $this->referendumTitle = $referendumTitle; + } + public function getReferendumTitle() + { + return $this->referendumTitle; + } + public function setReferendumUrl($referendumUrl) + { + $this->referendumUrl = $referendumUrl; + } + public function getReferendumUrl() + { + return $this->referendumUrl; + } + public function setRoles($roles) + { + $this->roles = $roles; + } + public function getRoles() + { + return $this->roles; + } + public function setSources($sources) + { + $this->sources = $sources; + } + public function getSources() + { + return $this->sources; + } + public function setSpecial($special) + { + $this->special = $special; + } + public function getSpecial() + { + return $this->special; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CivicInfo/ContextParams.php b/vendor/google/apiclient-services/src/Google/Service/CivicInfo/ContextParams.php new file mode 100644 index 00000000..e3ac07e0 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CivicInfo/ContextParams.php @@ -0,0 +1,30 @@ +clientProfile = $clientProfile; + } + public function getClientProfile() + { + return $this->clientProfile; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CivicInfo/DivisionRepresentativeInfoRequest.php b/vendor/google/apiclient-services/src/Google/Service/CivicInfo/DivisionRepresentativeInfoRequest.php new file mode 100644 index 00000000..db9fe2d0 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CivicInfo/DivisionRepresentativeInfoRequest.php @@ -0,0 +1,31 @@ +contextParams = $contextParams; + } + public function getContextParams() + { + return $this->contextParams; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CivicInfo/DivisionSearchRequest.php b/vendor/google/apiclient-services/src/Google/Service/CivicInfo/DivisionSearchRequest.php new file mode 100644 index 00000000..60a04708 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CivicInfo/DivisionSearchRequest.php @@ -0,0 +1,31 @@ +contextParams = $contextParams; + } + public function getContextParams() + { + return $this->contextParams; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CivicInfo/DivisionSearchResponse.php b/vendor/google/apiclient-services/src/Google/Service/CivicInfo/DivisionSearchResponse.php new file mode 100644 index 00000000..8cee4cf9 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CivicInfo/DivisionSearchResponse.php @@ -0,0 +1,41 @@ +kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setResults($results) + { + $this->results = $results; + } + public function getResults() + { + return $this->results; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CivicInfo/DivisionSearchResult.php b/vendor/google/apiclient-services/src/Google/Service/CivicInfo/DivisionSearchResult.php new file mode 100644 index 00000000..390937ad --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CivicInfo/DivisionSearchResult.php @@ -0,0 +1,49 @@ +aliases = $aliases; + } + public function getAliases() + { + return $this->aliases; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setOcdId($ocdId) + { + $this->ocdId = $ocdId; + } + public function getOcdId() + { + return $this->ocdId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CivicInfo/Election.php b/vendor/google/apiclient-services/src/Google/Service/CivicInfo/Election.php new file mode 100644 index 00000000..aec7e7f8 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CivicInfo/Election.php @@ -0,0 +1,57 @@ +electionDay = $electionDay; + } + public function getElectionDay() + { + return $this->electionDay; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setOcdDivisionId($ocdDivisionId) + { + $this->ocdDivisionId = $ocdDivisionId; + } + public function getOcdDivisionId() + { + return $this->ocdDivisionId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CivicInfo/ElectionOfficial.php b/vendor/google/apiclient-services/src/Google/Service/CivicInfo/ElectionOfficial.php new file mode 100644 index 00000000..228f6065 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CivicInfo/ElectionOfficial.php @@ -0,0 +1,66 @@ +emailAddress = $emailAddress; + } + public function getEmailAddress() + { + return $this->emailAddress; + } + public function setFaxNumber($faxNumber) + { + $this->faxNumber = $faxNumber; + } + public function getFaxNumber() + { + return $this->faxNumber; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setOfficePhoneNumber($officePhoneNumber) + { + $this->officePhoneNumber = $officePhoneNumber; + } + public function getOfficePhoneNumber() + { + return $this->officePhoneNumber; + } + public function setTitle($title) + { + $this->title = $title; + } + public function getTitle() + { + return $this->title; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CivicInfo/ElectionsQueryRequest.php b/vendor/google/apiclient-services/src/Google/Service/CivicInfo/ElectionsQueryRequest.php new file mode 100644 index 00000000..aa458541 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CivicInfo/ElectionsQueryRequest.php @@ -0,0 +1,31 @@ +contextParams = $contextParams; + } + public function getContextParams() + { + return $this->contextParams; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CivicInfo/ElectionsQueryResponse.php b/vendor/google/apiclient-services/src/Google/Service/CivicInfo/ElectionsQueryResponse.php new file mode 100644 index 00000000..a13b9867 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CivicInfo/ElectionsQueryResponse.php @@ -0,0 +1,41 @@ +elections = $elections; + } + public function getElections() + { + return $this->elections; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CivicInfo/ElectoralDistrict.php b/vendor/google/apiclient-services/src/Google/Service/CivicInfo/ElectoralDistrict.php new file mode 100644 index 00000000..29dac57c --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CivicInfo/ElectoralDistrict.php @@ -0,0 +1,57 @@ +id = $id; + } + public function getId() + { + return $this->id; + } + public function setKgForeignKey($kgForeignKey) + { + $this->kgForeignKey = $kgForeignKey; + } + public function getKgForeignKey() + { + return $this->kgForeignKey; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setScope($scope) + { + $this->scope = $scope; + } + public function getScope() + { + return $this->scope; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CivicInfo/GeographicDivision.php b/vendor/google/apiclient-services/src/Google/Service/CivicInfo/GeographicDivision.php new file mode 100644 index 00000000..6f10d919 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CivicInfo/GeographicDivision.php @@ -0,0 +1,49 @@ +alsoKnownAs = $alsoKnownAs; + } + public function getAlsoKnownAs() + { + return $this->alsoKnownAs; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setOfficeIndices($officeIndices) + { + $this->officeIndices = $officeIndices; + } + public function getOfficeIndices() + { + return $this->officeIndices; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CivicInfo/Office.php b/vendor/google/apiclient-services/src/Google/Service/CivicInfo/Office.php new file mode 100644 index 00000000..f5c35439 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CivicInfo/Office.php @@ -0,0 +1,77 @@ +divisionId = $divisionId; + } + public function getDivisionId() + { + return $this->divisionId; + } + public function setLevels($levels) + { + $this->levels = $levels; + } + public function getLevels() + { + return $this->levels; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setOfficialIndices($officialIndices) + { + $this->officialIndices = $officialIndices; + } + public function getOfficialIndices() + { + return $this->officialIndices; + } + public function setRoles($roles) + { + $this->roles = $roles; + } + public function getRoles() + { + return $this->roles; + } + public function setSources($sources) + { + $this->sources = $sources; + } + public function getSources() + { + return $this->sources; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CivicInfo/Official.php b/vendor/google/apiclient-services/src/Google/Service/CivicInfo/Official.php new file mode 100644 index 00000000..ac7aa629 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CivicInfo/Official.php @@ -0,0 +1,96 @@ +address = $address; + } + public function getAddress() + { + return $this->address; + } + public function setChannels($channels) + { + $this->channels = $channels; + } + public function getChannels() + { + return $this->channels; + } + public function setEmails($emails) + { + $this->emails = $emails; + } + public function getEmails() + { + return $this->emails; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setParty($party) + { + $this->party = $party; + } + public function getParty() + { + return $this->party; + } + public function setPhones($phones) + { + $this->phones = $phones; + } + public function getPhones() + { + return $this->phones; + } + public function setPhotoUrl($photoUrl) + { + $this->photoUrl = $photoUrl; + } + public function getPhotoUrl() + { + return $this->photoUrl; + } + public function setUrls($urls) + { + $this->urls = $urls; + } + public function getUrls() + { + return $this->urls; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CivicInfo/PollingLocation.php b/vendor/google/apiclient-services/src/Google/Service/CivicInfo/PollingLocation.php new file mode 100644 index 00000000..b7f8e064 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CivicInfo/PollingLocation.php @@ -0,0 +1,105 @@ +address = $address; + } + public function getAddress() + { + return $this->address; + } + public function setEndDate($endDate) + { + $this->endDate = $endDate; + } + public function getEndDate() + { + return $this->endDate; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setNotes($notes) + { + $this->notes = $notes; + } + public function getNotes() + { + return $this->notes; + } + public function setPollingHours($pollingHours) + { + $this->pollingHours = $pollingHours; + } + public function getPollingHours() + { + return $this->pollingHours; + } + public function setSources($sources) + { + $this->sources = $sources; + } + public function getSources() + { + return $this->sources; + } + public function setStartDate($startDate) + { + $this->startDate = $startDate; + } + public function getStartDate() + { + return $this->startDate; + } + public function setVoterServices($voterServices) + { + $this->voterServices = $voterServices; + } + public function getVoterServices() + { + return $this->voterServices; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CivicInfo/PostalAddress.php b/vendor/google/apiclient-services/src/Google/Service/CivicInfo/PostalAddress.php new file mode 100644 index 00000000..c0f85ca6 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CivicInfo/PostalAddress.php @@ -0,0 +1,301 @@ +addressLines = $addressLines; + } + public function getAddressLines() + { + return $this->addressLines; + } + public function setAdministrativeAreaName($administrativeAreaName) + { + $this->administrativeAreaName = $administrativeAreaName; + } + public function getAdministrativeAreaName() + { + return $this->administrativeAreaName; + } + public function setCountryName($countryName) + { + $this->countryName = $countryName; + } + public function getCountryName() + { + return $this->countryName; + } + public function setCountryNameCode($countryNameCode) + { + $this->countryNameCode = $countryNameCode; + } + public function getCountryNameCode() + { + return $this->countryNameCode; + } + public function setDependentLocalityName($dependentLocalityName) + { + $this->dependentLocalityName = $dependentLocalityName; + } + public function getDependentLocalityName() + { + return $this->dependentLocalityName; + } + public function setDependentThoroughfareLeadingType($dependentThoroughfareLeadingType) + { + $this->dependentThoroughfareLeadingType = $dependentThoroughfareLeadingType; + } + public function getDependentThoroughfareLeadingType() + { + return $this->dependentThoroughfareLeadingType; + } + public function setDependentThoroughfareName($dependentThoroughfareName) + { + $this->dependentThoroughfareName = $dependentThoroughfareName; + } + public function getDependentThoroughfareName() + { + return $this->dependentThoroughfareName; + } + public function setDependentThoroughfarePostDirection($dependentThoroughfarePostDirection) + { + $this->dependentThoroughfarePostDirection = $dependentThoroughfarePostDirection; + } + public function getDependentThoroughfarePostDirection() + { + return $this->dependentThoroughfarePostDirection; + } + public function setDependentThoroughfarePreDirection($dependentThoroughfarePreDirection) + { + $this->dependentThoroughfarePreDirection = $dependentThoroughfarePreDirection; + } + public function getDependentThoroughfarePreDirection() + { + return $this->dependentThoroughfarePreDirection; + } + public function setDependentThoroughfareTrailingType($dependentThoroughfareTrailingType) + { + $this->dependentThoroughfareTrailingType = $dependentThoroughfareTrailingType; + } + public function getDependentThoroughfareTrailingType() + { + return $this->dependentThoroughfareTrailingType; + } + public function setDependentThoroughfaresConnector($dependentThoroughfaresConnector) + { + $this->dependentThoroughfaresConnector = $dependentThoroughfaresConnector; + } + public function getDependentThoroughfaresConnector() + { + return $this->dependentThoroughfaresConnector; + } + public function setDependentThoroughfaresIndicator($dependentThoroughfaresIndicator) + { + $this->dependentThoroughfaresIndicator = $dependentThoroughfaresIndicator; + } + public function getDependentThoroughfaresIndicator() + { + return $this->dependentThoroughfaresIndicator; + } + public function setDependentThoroughfaresType($dependentThoroughfaresType) + { + $this->dependentThoroughfaresType = $dependentThoroughfaresType; + } + public function getDependentThoroughfaresType() + { + return $this->dependentThoroughfaresType; + } + public function setFirmName($firmName) + { + $this->firmName = $firmName; + } + public function getFirmName() + { + return $this->firmName; + } + public function setIsDisputed($isDisputed) + { + $this->isDisputed = $isDisputed; + } + public function getIsDisputed() + { + return $this->isDisputed; + } + public function setLanguageCode($languageCode) + { + $this->languageCode = $languageCode; + } + public function getLanguageCode() + { + return $this->languageCode; + } + public function setLocalityName($localityName) + { + $this->localityName = $localityName; + } + public function getLocalityName() + { + return $this->localityName; + } + public function setPostBoxNumber($postBoxNumber) + { + $this->postBoxNumber = $postBoxNumber; + } + public function getPostBoxNumber() + { + return $this->postBoxNumber; + } + public function setPostalCodeNumber($postalCodeNumber) + { + $this->postalCodeNumber = $postalCodeNumber; + } + public function getPostalCodeNumber() + { + return $this->postalCodeNumber; + } + public function setPostalCodeNumberExtension($postalCodeNumberExtension) + { + $this->postalCodeNumberExtension = $postalCodeNumberExtension; + } + public function getPostalCodeNumberExtension() + { + return $this->postalCodeNumberExtension; + } + public function setPremiseName($premiseName) + { + $this->premiseName = $premiseName; + } + public function getPremiseName() + { + return $this->premiseName; + } + public function setRecipientName($recipientName) + { + $this->recipientName = $recipientName; + } + public function getRecipientName() + { + return $this->recipientName; + } + public function setSortingCode($sortingCode) + { + $this->sortingCode = $sortingCode; + } + public function getSortingCode() + { + return $this->sortingCode; + } + public function setSubAdministrativeAreaName($subAdministrativeAreaName) + { + $this->subAdministrativeAreaName = $subAdministrativeAreaName; + } + public function getSubAdministrativeAreaName() + { + return $this->subAdministrativeAreaName; + } + public function setSubPremiseName($subPremiseName) + { + $this->subPremiseName = $subPremiseName; + } + public function getSubPremiseName() + { + return $this->subPremiseName; + } + public function setThoroughfareLeadingType($thoroughfareLeadingType) + { + $this->thoroughfareLeadingType = $thoroughfareLeadingType; + } + public function getThoroughfareLeadingType() + { + return $this->thoroughfareLeadingType; + } + public function setThoroughfareName($thoroughfareName) + { + $this->thoroughfareName = $thoroughfareName; + } + public function getThoroughfareName() + { + return $this->thoroughfareName; + } + public function setThoroughfareNumber($thoroughfareNumber) + { + $this->thoroughfareNumber = $thoroughfareNumber; + } + public function getThoroughfareNumber() + { + return $this->thoroughfareNumber; + } + public function setThoroughfarePostDirection($thoroughfarePostDirection) + { + $this->thoroughfarePostDirection = $thoroughfarePostDirection; + } + public function getThoroughfarePostDirection() + { + return $this->thoroughfarePostDirection; + } + public function setThoroughfarePreDirection($thoroughfarePreDirection) + { + $this->thoroughfarePreDirection = $thoroughfarePreDirection; + } + public function getThoroughfarePreDirection() + { + return $this->thoroughfarePreDirection; + } + public function setThoroughfareTrailingType($thoroughfareTrailingType) + { + $this->thoroughfareTrailingType = $thoroughfareTrailingType; + } + public function getThoroughfareTrailingType() + { + return $this->thoroughfareTrailingType; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CivicInfo/RepresentativeInfoData.php b/vendor/google/apiclient-services/src/Google/Service/CivicInfo/RepresentativeInfoData.php new file mode 100644 index 00000000..7de91ecc --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CivicInfo/RepresentativeInfoData.php @@ -0,0 +1,52 @@ +divisions = $divisions; + } + public function getDivisions() + { + return $this->divisions; + } + public function setOffices($offices) + { + $this->offices = $offices; + } + public function getOffices() + { + return $this->offices; + } + public function setOfficials($officials) + { + $this->officials = $officials; + } + public function getOfficials() + { + return $this->officials; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CivicInfo/RepresentativeInfoRequest.php b/vendor/google/apiclient-services/src/Google/Service/CivicInfo/RepresentativeInfoRequest.php new file mode 100644 index 00000000..2545dc80 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CivicInfo/RepresentativeInfoRequest.php @@ -0,0 +1,31 @@ +contextParams = $contextParams; + } + public function getContextParams() + { + return $this->contextParams; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CivicInfo/RepresentativeInfoResponse.php b/vendor/google/apiclient-services/src/Google/Service/CivicInfo/RepresentativeInfoResponse.php new file mode 100644 index 00000000..167415a6 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CivicInfo/RepresentativeInfoResponse.php @@ -0,0 +1,71 @@ +divisions = $divisions; + } + public function getDivisions() + { + return $this->divisions; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNormalizedInput(Google_Service_CivicInfo_SimpleAddressType $normalizedInput) + { + $this->normalizedInput = $normalizedInput; + } + public function getNormalizedInput() + { + return $this->normalizedInput; + } + public function setOffices($offices) + { + $this->offices = $offices; + } + public function getOffices() + { + return $this->offices; + } + public function setOfficials($officials) + { + $this->officials = $officials; + } + public function getOfficials() + { + return $this->officials; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CivicInfo/Resource/Divisions.php b/vendor/google/apiclient-services/src/Google/Service/CivicInfo/Resource/Divisions.php new file mode 100644 index 00000000..9214d3ec --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CivicInfo/Resource/Divisions.php @@ -0,0 +1,47 @@ + + * $civicinfoService = new Google_Service_CivicInfo(...); + * $divisions = $civicinfoService->divisions; + * + */ +class Google_Service_CivicInfo_Resource_Divisions extends Google_Service_Resource +{ + /** + * Searches for political divisions by their natural name or OCD ID. + * (divisions.search) + * + * @param array $optParams Optional parameters. + * + * @opt_param string query The search query. Queries can cover any parts of a + * OCD ID or a human readable division name. All words given in the query are + * treated as required patterns. In addition to that, most query operators of + * the Apache Lucene library are supported. See + * http://lucene.apache.org/core/2_9_4/queryparsersyntax.html + * @return Google_Service_CivicInfo_DivisionSearchResponse + */ + public function search($optParams = array()) + { + $params = array(); + $params = array_merge($params, $optParams); + return $this->call('search', array($params), "Google_Service_CivicInfo_DivisionSearchResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CivicInfo/Resource/Elections.php b/vendor/google/apiclient-services/src/Google/Service/CivicInfo/Resource/Elections.php new file mode 100644 index 00000000..7498db32 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CivicInfo/Resource/Elections.php @@ -0,0 +1,64 @@ + + * $civicinfoService = new Google_Service_CivicInfo(...); + * $elections = $civicinfoService->elections; + * + */ +class Google_Service_CivicInfo_Resource_Elections extends Google_Service_Resource +{ + /** + * List of available elections to query. (elections.electionQuery) + * + * @param array $optParams Optional parameters. + * @return Google_Service_CivicInfo_ElectionsQueryResponse + */ + public function electionQuery($optParams = array()) + { + $params = array(); + $params = array_merge($params, $optParams); + return $this->call('electionQuery', array($params), "Google_Service_CivicInfo_ElectionsQueryResponse"); + } + /** + * Looks up information relevant to a voter based on the voter's registered + * address. (elections.voterInfoQuery) + * + * @param string $address The registered address of the voter to look up. + * @param array $optParams Optional parameters. + * + * @opt_param string electionId The unique ID of the election to look up. A list + * of election IDs can be obtained at + * https://www.googleapis.com/civicinfo/{version}/elections + * @opt_param bool officialOnly If set to true, only data from official state + * sources will be returned. + * @opt_param bool returnAllAvailableData If set to true, the query will return + * the success codeand include any partial information when it is unable to + * determine a matching address or unable to determine the election for + * electionId=0 queries. + * @return Google_Service_CivicInfo_VoterInfoResponse + */ + public function voterInfoQuery($address, $optParams = array()) + { + $params = array('address' => $address); + $params = array_merge($params, $optParams); + return $this->call('voterInfoQuery', array($params), "Google_Service_CivicInfo_VoterInfoResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CivicInfo/Resource/Representatives.php b/vendor/google/apiclient-services/src/Google/Service/CivicInfo/Resource/Representatives.php new file mode 100644 index 00000000..73fab240 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CivicInfo/Resource/Representatives.php @@ -0,0 +1,79 @@ + + * $civicinfoService = new Google_Service_CivicInfo(...); + * $representatives = $civicinfoService->representatives; + * + */ +class Google_Service_CivicInfo_Resource_Representatives extends Google_Service_Resource +{ + /** + * Looks up political geography and representative information for a single + * address. (representatives.representativeInfoByAddress) + * + * @param array $optParams Optional parameters. + * + * @opt_param string address The address to look up. May only be specified if + * the field ocdId is not given in the URL. + * @opt_param bool includeOffices Whether to return information about offices + * and officials. If false, only the top-level district information will be + * returned. + * @opt_param string levels A list of office levels to filter by. Only offices + * that serve at least one of these levels will be returned. Divisions that + * don't contain a matching office will not be returned. + * @opt_param string roles A list of office roles to filter by. Only offices + * fulfilling one of these roles will be returned. Divisions that don't contain + * a matching office will not be returned. + * @return Google_Service_CivicInfo_RepresentativeInfoResponse + */ + public function representativeInfoByAddress($optParams = array()) + { + $params = array(); + $params = array_merge($params, $optParams); + return $this->call('representativeInfoByAddress', array($params), "Google_Service_CivicInfo_RepresentativeInfoResponse"); + } + /** + * Looks up representative information for a single geographic division. + * (representatives.representativeInfoByDivision) + * + * @param string $ocdId The Open Civic Data division identifier of the division + * to look up. + * @param array $optParams Optional parameters. + * + * @opt_param string levels A list of office levels to filter by. Only offices + * that serve at least one of these levels will be returned. Divisions that + * don't contain a matching office will not be returned. + * @opt_param bool recursive If true, information about all divisions contained + * in the division requested will be included as well. For example, if querying + * ocd-division/country:us/district:dc, this would also return all DC's wards + * and ANCs. + * @opt_param string roles A list of office roles to filter by. Only offices + * fulfilling one of these roles will be returned. Divisions that don't contain + * a matching office will not be returned. + * @return Google_Service_CivicInfo_RepresentativeInfoData + */ + public function representativeInfoByDivision($ocdId, $optParams = array()) + { + $params = array('ocdId' => $ocdId); + $params = array_merge($params, $optParams); + return $this->call('representativeInfoByDivision', array($params), "Google_Service_CivicInfo_RepresentativeInfoData"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CivicInfo/SimpleAddressType.php b/vendor/google/apiclient-services/src/Google/Service/CivicInfo/SimpleAddressType.php new file mode 100644 index 00000000..7b01fd7b --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CivicInfo/SimpleAddressType.php @@ -0,0 +1,84 @@ +city = $city; + } + public function getCity() + { + return $this->city; + } + public function setLine1($line1) + { + $this->line1 = $line1; + } + public function getLine1() + { + return $this->line1; + } + public function setLine2($line2) + { + $this->line2 = $line2; + } + public function getLine2() + { + return $this->line2; + } + public function setLine3($line3) + { + $this->line3 = $line3; + } + public function getLine3() + { + return $this->line3; + } + public function setLocationName($locationName) + { + $this->locationName = $locationName; + } + public function getLocationName() + { + return $this->locationName; + } + public function setState($state) + { + $this->state = $state; + } + public function getState() + { + return $this->state; + } + public function setZip($zip) + { + $this->zip = $zip; + } + public function getZip() + { + return $this->zip; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CivicInfo/Source.php b/vendor/google/apiclient-services/src/Google/Service/CivicInfo/Source.php new file mode 100644 index 00000000..a183a726 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CivicInfo/Source.php @@ -0,0 +1,39 @@ +name = $name; + } + public function getName() + { + return $this->name; + } + public function setOfficial($official) + { + $this->official = $official; + } + public function getOfficial() + { + return $this->official; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CivicInfo/VoterInfoRequest.php b/vendor/google/apiclient-services/src/Google/Service/CivicInfo/VoterInfoRequest.php new file mode 100644 index 00000000..8f6ced1b --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CivicInfo/VoterInfoRequest.php @@ -0,0 +1,41 @@ +contextParams = $contextParams; + } + public function getContextParams() + { + return $this->contextParams; + } + public function setVoterInfoSegmentResult(Google_Service_CivicInfo_VoterInfoSegmentResult $voterInfoSegmentResult) + { + $this->voterInfoSegmentResult = $voterInfoSegmentResult; + } + public function getVoterInfoSegmentResult() + { + return $this->voterInfoSegmentResult; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CivicInfo/VoterInfoResponse.php b/vendor/google/apiclient-services/src/Google/Service/CivicInfo/VoterInfoResponse.php new file mode 100644 index 00000000..e3f53709 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CivicInfo/VoterInfoResponse.php @@ -0,0 +1,129 @@ +contests = $contests; + } + public function getContests() + { + return $this->contests; + } + public function setDropOffLocations($dropOffLocations) + { + $this->dropOffLocations = $dropOffLocations; + } + public function getDropOffLocations() + { + return $this->dropOffLocations; + } + public function setEarlyVoteSites($earlyVoteSites) + { + $this->earlyVoteSites = $earlyVoteSites; + } + public function getEarlyVoteSites() + { + return $this->earlyVoteSites; + } + public function setElection(Google_Service_CivicInfo_Election $election) + { + $this->election = $election; + } + public function getElection() + { + return $this->election; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setMailOnly($mailOnly) + { + $this->mailOnly = $mailOnly; + } + public function getMailOnly() + { + return $this->mailOnly; + } + public function setNormalizedInput(Google_Service_CivicInfo_SimpleAddressType $normalizedInput) + { + $this->normalizedInput = $normalizedInput; + } + public function getNormalizedInput() + { + return $this->normalizedInput; + } + public function setOtherElections($otherElections) + { + $this->otherElections = $otherElections; + } + public function getOtherElections() + { + return $this->otherElections; + } + public function setPollingLocations($pollingLocations) + { + $this->pollingLocations = $pollingLocations; + } + public function getPollingLocations() + { + return $this->pollingLocations; + } + public function setPrecinctId($precinctId) + { + $this->precinctId = $precinctId; + } + public function getPrecinctId() + { + return $this->precinctId; + } + public function setState($state) + { + $this->state = $state; + } + public function getState() + { + return $this->state; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CivicInfo/VoterInfoSegmentResult.php b/vendor/google/apiclient-services/src/Google/Service/CivicInfo/VoterInfoSegmentResult.php new file mode 100644 index 00000000..6feceab9 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CivicInfo/VoterInfoSegmentResult.php @@ -0,0 +1,60 @@ +generatedMillis = $generatedMillis; + } + public function getGeneratedMillis() + { + return $this->generatedMillis; + } + public function setPostalAddress(Google_Service_CivicInfo_PostalAddress $postalAddress) + { + $this->postalAddress = $postalAddress; + } + public function getPostalAddress() + { + return $this->postalAddress; + } + public function setRequest(Google_Service_CivicInfo_VoterInfoRequest $request) + { + $this->request = $request; + } + public function getRequest() + { + return $this->request; + } + public function setResponse(Google_Service_CivicInfo_VoterInfoResponse $response) + { + $this->response = $response; + } + public function getResponse() + { + return $this->response; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Classroom.php b/vendor/google/apiclient-services/src/Google/Service/Classroom.php new file mode 100644 index 00000000..acf8a1ba --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Classroom.php @@ -0,0 +1,869 @@ + + * Manages classes, rosters, and invitations in Google Classroom.

+ * + *

+ * For more information about this service, see the API + * Documentation + *

+ * + * @author Google, Inc. + */ +class Google_Service_Classroom extends Google_Service +{ + /** View instructions for teacher-assigned work in your Google Classroom classes. */ + const CLASSROOM_COURSE_WORK_READONLY = + "https://www.googleapis.com/auth/classroom.course-work.readonly"; + /** Manage your Google Classroom classes. */ + const CLASSROOM_COURSES = + "https://www.googleapis.com/auth/classroom.courses"; + /** View your Google Classroom classes. */ + const CLASSROOM_COURSES_READONLY = + "https://www.googleapis.com/auth/classroom.courses.readonly"; + /** Manage your course work and view your grades in Google Classroom. */ + const CLASSROOM_COURSEWORK_ME = + "https://www.googleapis.com/auth/classroom.coursework.me"; + /** View your course work and grades in Google Classroom. */ + const CLASSROOM_COURSEWORK_ME_READONLY = + "https://www.googleapis.com/auth/classroom.coursework.me.readonly"; + /** Manage course work and grades for students in the Google Classroom classes you teach and view the course work and grades for classes you administer. */ + const CLASSROOM_COURSEWORK_STUDENTS = + "https://www.googleapis.com/auth/classroom.coursework.students"; + /** View course work and grades for students in the Google Classroom classes you teach or administer. */ + const CLASSROOM_COURSEWORK_STUDENTS_READONLY = + "https://www.googleapis.com/auth/classroom.coursework.students.readonly"; + /** View the email addresses of people in your classes. */ + const CLASSROOM_PROFILE_EMAILS = + "https://www.googleapis.com/auth/classroom.profile.emails"; + /** View the profile photos of people in your classes. */ + const CLASSROOM_PROFILE_PHOTOS = + "https://www.googleapis.com/auth/classroom.profile.photos"; + /** Manage your Google Classroom class rosters. */ + const CLASSROOM_ROSTERS = + "https://www.googleapis.com/auth/classroom.rosters"; + /** View your Google Classroom class rosters. */ + const CLASSROOM_ROSTERS_READONLY = + "https://www.googleapis.com/auth/classroom.rosters.readonly"; + /** View your course work and grades in Google Classroom. */ + const CLASSROOM_STUDENT_SUBMISSIONS_ME_READONLY = + "https://www.googleapis.com/auth/classroom.student-submissions.me.readonly"; + /** View course work and grades for students in the Google Classroom classes you teach or administer. */ + const CLASSROOM_STUDENT_SUBMISSIONS_STUDENTS_READONLY = + "https://www.googleapis.com/auth/classroom.student-submissions.students.readonly"; + + public $courses; + public $courses_aliases; + public $courses_courseWork; + public $courses_courseWork_studentSubmissions; + public $courses_students; + public $courses_teachers; + public $invitations; + public $userProfiles; + public $userProfiles_guardianInvitations; + public $userProfiles_guardians; + + /** + * Constructs the internal representation of the Classroom service. + * + * @param Google_Client $client + */ + public function __construct(Google_Client $client) + { + parent::__construct($client); + $this->rootUrl = 'https://classroom.googleapis.com/'; + $this->servicePath = ''; + $this->version = 'v1'; + $this->serviceName = 'classroom'; + + $this->courses = new Google_Service_Classroom_Resource_Courses( + $this, + $this->serviceName, + 'courses', + array( + 'methods' => array( + 'create' => array( + 'path' => 'v1/courses', + 'httpMethod' => 'POST', + 'parameters' => array(), + ),'delete' => array( + 'path' => 'v1/courses/{id}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'id' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'get' => array( + 'path' => 'v1/courses/{id}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'id' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'v1/courses', + 'httpMethod' => 'GET', + 'parameters' => array( + 'studentId' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'teacherId' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'courseStates' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + ), + 'pageSize' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'patch' => array( + 'path' => 'v1/courses/{id}', + 'httpMethod' => 'PATCH', + 'parameters' => array( + 'id' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'updateMask' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'update' => array( + 'path' => 'v1/courses/{id}', + 'httpMethod' => 'PUT', + 'parameters' => array( + 'id' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->courses_aliases = new Google_Service_Classroom_Resource_CoursesAliases( + $this, + $this->serviceName, + 'aliases', + array( + 'methods' => array( + 'create' => array( + 'path' => 'v1/courses/{courseId}/aliases', + 'httpMethod' => 'POST', + 'parameters' => array( + 'courseId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'delete' => array( + 'path' => 'v1/courses/{courseId}/aliases/{alias}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'courseId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'alias' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'v1/courses/{courseId}/aliases', + 'httpMethod' => 'GET', + 'parameters' => array( + 'courseId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'pageSize' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + $this->courses_courseWork = new Google_Service_Classroom_Resource_CoursesCourseWork( + $this, + $this->serviceName, + 'courseWork', + array( + 'methods' => array( + 'create' => array( + 'path' => 'v1/courses/{courseId}/courseWork', + 'httpMethod' => 'POST', + 'parameters' => array( + 'courseId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'delete' => array( + 'path' => 'v1/courses/{courseId}/courseWork/{id}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'courseId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'id' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'get' => array( + 'path' => 'v1/courses/{courseId}/courseWork/{id}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'courseId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'id' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'v1/courses/{courseId}/courseWork', + 'httpMethod' => 'GET', + 'parameters' => array( + 'courseId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'courseWorkStates' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + ), + 'orderBy' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pageSize' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'patch' => array( + 'path' => 'v1/courses/{courseId}/courseWork/{id}', + 'httpMethod' => 'PATCH', + 'parameters' => array( + 'courseId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'id' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'updateMask' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + $this->courses_courseWork_studentSubmissions = new Google_Service_Classroom_Resource_CoursesCourseWorkStudentSubmissions( + $this, + $this->serviceName, + 'studentSubmissions', + array( + 'methods' => array( + 'get' => array( + 'path' => 'v1/courses/{courseId}/courseWork/{courseWorkId}/studentSubmissions/{id}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'courseId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'courseWorkId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'id' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'v1/courses/{courseId}/courseWork/{courseWorkId}/studentSubmissions', + 'httpMethod' => 'GET', + 'parameters' => array( + 'courseId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'courseWorkId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'userId' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'states' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + ), + 'late' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pageSize' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'modifyAttachments' => array( + 'path' => 'v1/courses/{courseId}/courseWork/{courseWorkId}/studentSubmissions/{id}:modifyAttachments', + 'httpMethod' => 'POST', + 'parameters' => array( + 'courseId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'courseWorkId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'id' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'patch' => array( + 'path' => 'v1/courses/{courseId}/courseWork/{courseWorkId}/studentSubmissions/{id}', + 'httpMethod' => 'PATCH', + 'parameters' => array( + 'courseId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'courseWorkId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'id' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'updateMask' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'reclaim' => array( + 'path' => 'v1/courses/{courseId}/courseWork/{courseWorkId}/studentSubmissions/{id}:reclaim', + 'httpMethod' => 'POST', + 'parameters' => array( + 'courseId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'courseWorkId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'id' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'return' => array( + 'path' => 'v1/courses/{courseId}/courseWork/{courseWorkId}/studentSubmissions/{id}:return', + 'httpMethod' => 'POST', + 'parameters' => array( + 'courseId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'courseWorkId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'id' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'turnIn' => array( + 'path' => 'v1/courses/{courseId}/courseWork/{courseWorkId}/studentSubmissions/{id}:turnIn', + 'httpMethod' => 'POST', + 'parameters' => array( + 'courseId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'courseWorkId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'id' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->courses_students = new Google_Service_Classroom_Resource_CoursesStudents( + $this, + $this->serviceName, + 'students', + array( + 'methods' => array( + 'create' => array( + 'path' => 'v1/courses/{courseId}/students', + 'httpMethod' => 'POST', + 'parameters' => array( + 'courseId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'enrollmentCode' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'delete' => array( + 'path' => 'v1/courses/{courseId}/students/{userId}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'courseId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'userId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'get' => array( + 'path' => 'v1/courses/{courseId}/students/{userId}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'courseId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'userId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'v1/courses/{courseId}/students', + 'httpMethod' => 'GET', + 'parameters' => array( + 'courseId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'pageSize' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + $this->courses_teachers = new Google_Service_Classroom_Resource_CoursesTeachers( + $this, + $this->serviceName, + 'teachers', + array( + 'methods' => array( + 'create' => array( + 'path' => 'v1/courses/{courseId}/teachers', + 'httpMethod' => 'POST', + 'parameters' => array( + 'courseId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'delete' => array( + 'path' => 'v1/courses/{courseId}/teachers/{userId}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'courseId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'userId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'get' => array( + 'path' => 'v1/courses/{courseId}/teachers/{userId}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'courseId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'userId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'v1/courses/{courseId}/teachers', + 'httpMethod' => 'GET', + 'parameters' => array( + 'courseId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'pageSize' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + $this->invitations = new Google_Service_Classroom_Resource_Invitations( + $this, + $this->serviceName, + 'invitations', + array( + 'methods' => array( + 'accept' => array( + 'path' => 'v1/invitations/{id}:accept', + 'httpMethod' => 'POST', + 'parameters' => array( + 'id' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'create' => array( + 'path' => 'v1/invitations', + 'httpMethod' => 'POST', + 'parameters' => array(), + ),'delete' => array( + 'path' => 'v1/invitations/{id}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'id' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'get' => array( + 'path' => 'v1/invitations/{id}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'id' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'v1/invitations', + 'httpMethod' => 'GET', + 'parameters' => array( + 'userId' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'courseId' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pageSize' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + $this->userProfiles = new Google_Service_Classroom_Resource_UserProfiles( + $this, + $this->serviceName, + 'userProfiles', + array( + 'methods' => array( + 'get' => array( + 'path' => 'v1/userProfiles/{userId}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'userId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->userProfiles_guardianInvitations = new Google_Service_Classroom_Resource_UserProfilesGuardianInvitations( + $this, + $this->serviceName, + 'guardianInvitations', + array( + 'methods' => array( + 'create' => array( + 'path' => 'v1/userProfiles/{studentId}/guardianInvitations', + 'httpMethod' => 'POST', + 'parameters' => array( + 'studentId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'get' => array( + 'path' => 'v1/userProfiles/{studentId}/guardianInvitations/{invitationId}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'studentId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'invitationId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'v1/userProfiles/{studentId}/guardianInvitations', + 'httpMethod' => 'GET', + 'parameters' => array( + 'studentId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'invitedEmailAddress' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'states' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pageSize' => array( + 'location' => 'query', + 'type' => 'integer', + ), + ), + ),'patch' => array( + 'path' => 'v1/userProfiles/{studentId}/guardianInvitations/{invitationId}', + 'httpMethod' => 'PATCH', + 'parameters' => array( + 'studentId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'invitationId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'updateMask' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + $this->userProfiles_guardians = new Google_Service_Classroom_Resource_UserProfilesGuardians( + $this, + $this->serviceName, + 'guardians', + array( + 'methods' => array( + 'delete' => array( + 'path' => 'v1/userProfiles/{studentId}/guardians/{guardianId}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'studentId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'guardianId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'get' => array( + 'path' => 'v1/userProfiles/{studentId}/guardians/{guardianId}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'studentId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'guardianId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'v1/userProfiles/{studentId}/guardians', + 'httpMethod' => 'GET', + 'parameters' => array( + 'studentId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'invitedEmailAddress' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pageSize' => array( + 'location' => 'query', + 'type' => 'integer', + ), + ), + ), + ) + ) + ); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Classroom/Assignment.php b/vendor/google/apiclient-services/src/Google/Service/Classroom/Assignment.php new file mode 100644 index 00000000..b90d744f --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Classroom/Assignment.php @@ -0,0 +1,31 @@ +studentWorkFolder = $studentWorkFolder; + } + public function getStudentWorkFolder() + { + return $this->studentWorkFolder; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Classroom/AssignmentSubmission.php b/vendor/google/apiclient-services/src/Google/Service/Classroom/AssignmentSubmission.php new file mode 100644 index 00000000..149aa4ca --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Classroom/AssignmentSubmission.php @@ -0,0 +1,32 @@ +attachments = $attachments; + } + public function getAttachments() + { + return $this->attachments; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Classroom/Attachment.php b/vendor/google/apiclient-services/src/Google/Service/Classroom/Attachment.php new file mode 100644 index 00000000..5fe96664 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Classroom/Attachment.php @@ -0,0 +1,61 @@ +driveFile = $driveFile; + } + public function getDriveFile() + { + return $this->driveFile; + } + public function setForm(Google_Service_Classroom_Form $form) + { + $this->form = $form; + } + public function getForm() + { + return $this->form; + } + public function setLink(Google_Service_Classroom_Link $link) + { + $this->link = $link; + } + public function getLink() + { + return $this->link; + } + public function setYouTubeVideo(Google_Service_Classroom_YouTubeVideo $youTubeVideo) + { + $this->youTubeVideo = $youTubeVideo; + } + public function getYouTubeVideo() + { + return $this->youTubeVideo; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Classroom/ClassroomEmpty.php b/vendor/google/apiclient-services/src/Google/Service/Classroom/ClassroomEmpty.php new file mode 100644 index 00000000..24a85010 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Classroom/ClassroomEmpty.php @@ -0,0 +1,20 @@ +alternateLink = $alternateLink; + } + public function getAlternateLink() + { + return $this->alternateLink; + } + public function setCourseGroupEmail($courseGroupEmail) + { + $this->courseGroupEmail = $courseGroupEmail; + } + public function getCourseGroupEmail() + { + return $this->courseGroupEmail; + } + public function setCourseMaterialSets($courseMaterialSets) + { + $this->courseMaterialSets = $courseMaterialSets; + } + public function getCourseMaterialSets() + { + return $this->courseMaterialSets; + } + public function setCourseState($courseState) + { + $this->courseState = $courseState; + } + public function getCourseState() + { + return $this->courseState; + } + public function setCreationTime($creationTime) + { + $this->creationTime = $creationTime; + } + public function getCreationTime() + { + return $this->creationTime; + } + public function setDescription($description) + { + $this->description = $description; + } + public function getDescription() + { + return $this->description; + } + public function setDescriptionHeading($descriptionHeading) + { + $this->descriptionHeading = $descriptionHeading; + } + public function getDescriptionHeading() + { + return $this->descriptionHeading; + } + public function setEnrollmentCode($enrollmentCode) + { + $this->enrollmentCode = $enrollmentCode; + } + public function getEnrollmentCode() + { + return $this->enrollmentCode; + } + public function setGuardiansEnabled($guardiansEnabled) + { + $this->guardiansEnabled = $guardiansEnabled; + } + public function getGuardiansEnabled() + { + return $this->guardiansEnabled; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setOwnerId($ownerId) + { + $this->ownerId = $ownerId; + } + public function getOwnerId() + { + return $this->ownerId; + } + public function setRoom($room) + { + $this->room = $room; + } + public function getRoom() + { + return $this->room; + } + public function setSection($section) + { + $this->section = $section; + } + public function getSection() + { + return $this->section; + } + public function setTeacherFolder(Google_Service_Classroom_DriveFolder $teacherFolder) + { + $this->teacherFolder = $teacherFolder; + } + public function getTeacherFolder() + { + return $this->teacherFolder; + } + public function setTeacherGroupEmail($teacherGroupEmail) + { + $this->teacherGroupEmail = $teacherGroupEmail; + } + public function getTeacherGroupEmail() + { + return $this->teacherGroupEmail; + } + public function setUpdateTime($updateTime) + { + $this->updateTime = $updateTime; + } + public function getUpdateTime() + { + return $this->updateTime; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Classroom/CourseAlias.php b/vendor/google/apiclient-services/src/Google/Service/Classroom/CourseAlias.php new file mode 100644 index 00000000..47d27a87 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Classroom/CourseAlias.php @@ -0,0 +1,30 @@ +alias = $alias; + } + public function getAlias() + { + return $this->alias; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Classroom/CourseMaterial.php b/vendor/google/apiclient-services/src/Google/Service/Classroom/CourseMaterial.php new file mode 100644 index 00000000..66362fe5 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Classroom/CourseMaterial.php @@ -0,0 +1,61 @@ +driveFile = $driveFile; + } + public function getDriveFile() + { + return $this->driveFile; + } + public function setForm(Google_Service_Classroom_Form $form) + { + $this->form = $form; + } + public function getForm() + { + return $this->form; + } + public function setLink(Google_Service_Classroom_Link $link) + { + $this->link = $link; + } + public function getLink() + { + return $this->link; + } + public function setYouTubeVideo(Google_Service_Classroom_YouTubeVideo $youTubeVideo) + { + $this->youTubeVideo = $youTubeVideo; + } + public function getYouTubeVideo() + { + return $this->youTubeVideo; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Classroom/CourseMaterialSet.php b/vendor/google/apiclient-services/src/Google/Service/Classroom/CourseMaterialSet.php new file mode 100644 index 00000000..81d7ac76 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Classroom/CourseMaterialSet.php @@ -0,0 +1,41 @@ +materials = $materials; + } + public function getMaterials() + { + return $this->materials; + } + public function setTitle($title) + { + $this->title = $title; + } + public function getTitle() + { + return $this->title; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Classroom/CourseWork.php b/vendor/google/apiclient-services/src/Google/Service/Classroom/CourseWork.php new file mode 100644 index 00000000..d6f79c14 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Classroom/CourseWork.php @@ -0,0 +1,180 @@ +alternateLink = $alternateLink; + } + public function getAlternateLink() + { + return $this->alternateLink; + } + public function setAssignment(Google_Service_Classroom_Assignment $assignment) + { + $this->assignment = $assignment; + } + public function getAssignment() + { + return $this->assignment; + } + public function setAssociatedWithDeveloper($associatedWithDeveloper) + { + $this->associatedWithDeveloper = $associatedWithDeveloper; + } + public function getAssociatedWithDeveloper() + { + return $this->associatedWithDeveloper; + } + public function setCourseId($courseId) + { + $this->courseId = $courseId; + } + public function getCourseId() + { + return $this->courseId; + } + public function setCreationTime($creationTime) + { + $this->creationTime = $creationTime; + } + public function getCreationTime() + { + return $this->creationTime; + } + public function setDescription($description) + { + $this->description = $description; + } + public function getDescription() + { + return $this->description; + } + public function setDueDate(Google_Service_Classroom_Date $dueDate) + { + $this->dueDate = $dueDate; + } + public function getDueDate() + { + return $this->dueDate; + } + public function setDueTime(Google_Service_Classroom_TimeOfDay $dueTime) + { + $this->dueTime = $dueTime; + } + public function getDueTime() + { + return $this->dueTime; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setMaterials($materials) + { + $this->materials = $materials; + } + public function getMaterials() + { + return $this->materials; + } + public function setMaxPoints($maxPoints) + { + $this->maxPoints = $maxPoints; + } + public function getMaxPoints() + { + return $this->maxPoints; + } + public function setMultipleChoiceQuestion(Google_Service_Classroom_MultipleChoiceQuestion $multipleChoiceQuestion) + { + $this->multipleChoiceQuestion = $multipleChoiceQuestion; + } + public function getMultipleChoiceQuestion() + { + return $this->multipleChoiceQuestion; + } + public function setState($state) + { + $this->state = $state; + } + public function getState() + { + return $this->state; + } + public function setSubmissionModificationMode($submissionModificationMode) + { + $this->submissionModificationMode = $submissionModificationMode; + } + public function getSubmissionModificationMode() + { + return $this->submissionModificationMode; + } + public function setTitle($title) + { + $this->title = $title; + } + public function getTitle() + { + return $this->title; + } + public function setUpdateTime($updateTime) + { + $this->updateTime = $updateTime; + } + public function getUpdateTime() + { + return $this->updateTime; + } + public function setWorkType($workType) + { + $this->workType = $workType; + } + public function getWorkType() + { + return $this->workType; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Classroom/Date.php b/vendor/google/apiclient-services/src/Google/Service/Classroom/Date.php new file mode 100644 index 00000000..e9872a83 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Classroom/Date.php @@ -0,0 +1,48 @@ +day = $day; + } + public function getDay() + { + return $this->day; + } + public function setMonth($month) + { + $this->month = $month; + } + public function getMonth() + { + return $this->month; + } + public function setYear($year) + { + $this->year = $year; + } + public function getYear() + { + return $this->year; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Classroom/DriveFile.php b/vendor/google/apiclient-services/src/Google/Service/Classroom/DriveFile.php new file mode 100644 index 00000000..19303dc1 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Classroom/DriveFile.php @@ -0,0 +1,57 @@ +alternateLink = $alternateLink; + } + public function getAlternateLink() + { + return $this->alternateLink; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setThumbnailUrl($thumbnailUrl) + { + $this->thumbnailUrl = $thumbnailUrl; + } + public function getThumbnailUrl() + { + return $this->thumbnailUrl; + } + public function setTitle($title) + { + $this->title = $title; + } + public function getTitle() + { + return $this->title; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Classroom/DriveFolder.php b/vendor/google/apiclient-services/src/Google/Service/Classroom/DriveFolder.php new file mode 100644 index 00000000..8da31945 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Classroom/DriveFolder.php @@ -0,0 +1,48 @@ +alternateLink = $alternateLink; + } + public function getAlternateLink() + { + return $this->alternateLink; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setTitle($title) + { + $this->title = $title; + } + public function getTitle() + { + return $this->title; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Classroom/Form.php b/vendor/google/apiclient-services/src/Google/Service/Classroom/Form.php new file mode 100644 index 00000000..8d942a0e --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Classroom/Form.php @@ -0,0 +1,57 @@ +formUrl = $formUrl; + } + public function getFormUrl() + { + return $this->formUrl; + } + public function setResponseUrl($responseUrl) + { + $this->responseUrl = $responseUrl; + } + public function getResponseUrl() + { + return $this->responseUrl; + } + public function setThumbnailUrl($thumbnailUrl) + { + $this->thumbnailUrl = $thumbnailUrl; + } + public function getThumbnailUrl() + { + return $this->thumbnailUrl; + } + public function setTitle($title) + { + $this->title = $title; + } + public function getTitle() + { + return $this->title; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Classroom/GlobalPermission.php b/vendor/google/apiclient-services/src/Google/Service/Classroom/GlobalPermission.php new file mode 100644 index 00000000..6ac872bf --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Classroom/GlobalPermission.php @@ -0,0 +1,30 @@ +permission = $permission; + } + public function getPermission() + { + return $this->permission; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Classroom/Guardian.php b/vendor/google/apiclient-services/src/Google/Service/Classroom/Guardian.php new file mode 100644 index 00000000..b6da5951 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Classroom/Guardian.php @@ -0,0 +1,58 @@ +guardianId = $guardianId; + } + public function getGuardianId() + { + return $this->guardianId; + } + public function setGuardianProfile(Google_Service_Classroom_UserProfile $guardianProfile) + { + $this->guardianProfile = $guardianProfile; + } + public function getGuardianProfile() + { + return $this->guardianProfile; + } + public function setInvitedEmailAddress($invitedEmailAddress) + { + $this->invitedEmailAddress = $invitedEmailAddress; + } + public function getInvitedEmailAddress() + { + return $this->invitedEmailAddress; + } + public function setStudentId($studentId) + { + $this->studentId = $studentId; + } + public function getStudentId() + { + return $this->studentId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Classroom/GuardianInvitation.php b/vendor/google/apiclient-services/src/Google/Service/Classroom/GuardianInvitation.php new file mode 100644 index 00000000..390dee3f --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Classroom/GuardianInvitation.php @@ -0,0 +1,66 @@ +creationTime = $creationTime; + } + public function getCreationTime() + { + return $this->creationTime; + } + public function setInvitationId($invitationId) + { + $this->invitationId = $invitationId; + } + public function getInvitationId() + { + return $this->invitationId; + } + public function setInvitedEmailAddress($invitedEmailAddress) + { + $this->invitedEmailAddress = $invitedEmailAddress; + } + public function getInvitedEmailAddress() + { + return $this->invitedEmailAddress; + } + public function setState($state) + { + $this->state = $state; + } + public function getState() + { + return $this->state; + } + public function setStudentId($studentId) + { + $this->studentId = $studentId; + } + public function getStudentId() + { + return $this->studentId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Classroom/Invitation.php b/vendor/google/apiclient-services/src/Google/Service/Classroom/Invitation.php new file mode 100644 index 00000000..298bf05e --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Classroom/Invitation.php @@ -0,0 +1,57 @@ +courseId = $courseId; + } + public function getCourseId() + { + return $this->courseId; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setRole($role) + { + $this->role = $role; + } + public function getRole() + { + return $this->role; + } + public function setUserId($userId) + { + $this->userId = $userId; + } + public function getUserId() + { + return $this->userId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Classroom/Link.php b/vendor/google/apiclient-services/src/Google/Service/Classroom/Link.php new file mode 100644 index 00000000..89ca037a --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Classroom/Link.php @@ -0,0 +1,48 @@ +thumbnailUrl = $thumbnailUrl; + } + public function getThumbnailUrl() + { + return $this->thumbnailUrl; + } + public function setTitle($title) + { + $this->title = $title; + } + public function getTitle() + { + return $this->title; + } + public function setUrl($url) + { + $this->url = $url; + } + public function getUrl() + { + return $this->url; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Classroom/ListCourseAliasesResponse.php b/vendor/google/apiclient-services/src/Google/Service/Classroom/ListCourseAliasesResponse.php new file mode 100644 index 00000000..c04e6e4c --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Classroom/ListCourseAliasesResponse.php @@ -0,0 +1,41 @@ +aliases = $aliases; + } + public function getAliases() + { + return $this->aliases; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Classroom/ListCourseWorkResponse.php b/vendor/google/apiclient-services/src/Google/Service/Classroom/ListCourseWorkResponse.php new file mode 100644 index 00000000..dea448d4 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Classroom/ListCourseWorkResponse.php @@ -0,0 +1,41 @@ +courseWork = $courseWork; + } + public function getCourseWork() + { + return $this->courseWork; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Classroom/ListCoursesResponse.php b/vendor/google/apiclient-services/src/Google/Service/Classroom/ListCoursesResponse.php new file mode 100644 index 00000000..d48ed59b --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Classroom/ListCoursesResponse.php @@ -0,0 +1,41 @@ +courses = $courses; + } + public function getCourses() + { + return $this->courses; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Classroom/ListGuardianInvitationsResponse.php b/vendor/google/apiclient-services/src/Google/Service/Classroom/ListGuardianInvitationsResponse.php new file mode 100644 index 00000000..6454931c --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Classroom/ListGuardianInvitationsResponse.php @@ -0,0 +1,41 @@ +guardianInvitations = $guardianInvitations; + } + public function getGuardianInvitations() + { + return $this->guardianInvitations; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Classroom/ListGuardiansResponse.php b/vendor/google/apiclient-services/src/Google/Service/Classroom/ListGuardiansResponse.php new file mode 100644 index 00000000..4183d5e4 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Classroom/ListGuardiansResponse.php @@ -0,0 +1,41 @@ +guardians = $guardians; + } + public function getGuardians() + { + return $this->guardians; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Classroom/ListInvitationsResponse.php b/vendor/google/apiclient-services/src/Google/Service/Classroom/ListInvitationsResponse.php new file mode 100644 index 00000000..0e85390b --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Classroom/ListInvitationsResponse.php @@ -0,0 +1,41 @@ +invitations = $invitations; + } + public function getInvitations() + { + return $this->invitations; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Classroom/ListStudentSubmissionsResponse.php b/vendor/google/apiclient-services/src/Google/Service/Classroom/ListStudentSubmissionsResponse.php new file mode 100644 index 00000000..7b052d51 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Classroom/ListStudentSubmissionsResponse.php @@ -0,0 +1,41 @@ +nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setStudentSubmissions($studentSubmissions) + { + $this->studentSubmissions = $studentSubmissions; + } + public function getStudentSubmissions() + { + return $this->studentSubmissions; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Classroom/ListStudentsResponse.php b/vendor/google/apiclient-services/src/Google/Service/Classroom/ListStudentsResponse.php new file mode 100644 index 00000000..516a0d11 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Classroom/ListStudentsResponse.php @@ -0,0 +1,41 @@ +nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setStudents($students) + { + $this->students = $students; + } + public function getStudents() + { + return $this->students; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Classroom/ListTeachersResponse.php b/vendor/google/apiclient-services/src/Google/Service/Classroom/ListTeachersResponse.php new file mode 100644 index 00000000..ccfbdcd0 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Classroom/ListTeachersResponse.php @@ -0,0 +1,41 @@ +nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setTeachers($teachers) + { + $this->teachers = $teachers; + } + public function getTeachers() + { + return $this->teachers; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Classroom/Material.php b/vendor/google/apiclient-services/src/Google/Service/Classroom/Material.php new file mode 100644 index 00000000..6f79c4ba --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Classroom/Material.php @@ -0,0 +1,61 @@ +driveFile = $driveFile; + } + public function getDriveFile() + { + return $this->driveFile; + } + public function setForm(Google_Service_Classroom_Form $form) + { + $this->form = $form; + } + public function getForm() + { + return $this->form; + } + public function setLink(Google_Service_Classroom_Link $link) + { + $this->link = $link; + } + public function getLink() + { + return $this->link; + } + public function setYoutubeVideo(Google_Service_Classroom_YouTubeVideo $youtubeVideo) + { + $this->youtubeVideo = $youtubeVideo; + } + public function getYoutubeVideo() + { + return $this->youtubeVideo; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Classroom/ModifyAttachmentsRequest.php b/vendor/google/apiclient-services/src/Google/Service/Classroom/ModifyAttachmentsRequest.php new file mode 100644 index 00000000..02afca76 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Classroom/ModifyAttachmentsRequest.php @@ -0,0 +1,32 @@ +addAttachments = $addAttachments; + } + public function getAddAttachments() + { + return $this->addAttachments; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Classroom/MultipleChoiceQuestion.php b/vendor/google/apiclient-services/src/Google/Service/Classroom/MultipleChoiceQuestion.php new file mode 100644 index 00000000..623e096d --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Classroom/MultipleChoiceQuestion.php @@ -0,0 +1,31 @@ +choices = $choices; + } + public function getChoices() + { + return $this->choices; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Classroom/MultipleChoiceSubmission.php b/vendor/google/apiclient-services/src/Google/Service/Classroom/MultipleChoiceSubmission.php new file mode 100644 index 00000000..9e4bb806 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Classroom/MultipleChoiceSubmission.php @@ -0,0 +1,30 @@ +answer = $answer; + } + public function getAnswer() + { + return $this->answer; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Classroom/Name.php b/vendor/google/apiclient-services/src/Google/Service/Classroom/Name.php new file mode 100644 index 00000000..d0cf628a --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Classroom/Name.php @@ -0,0 +1,48 @@ +familyName = $familyName; + } + public function getFamilyName() + { + return $this->familyName; + } + public function setFullName($fullName) + { + $this->fullName = $fullName; + } + public function getFullName() + { + return $this->fullName; + } + public function setGivenName($givenName) + { + $this->givenName = $givenName; + } + public function getGivenName() + { + return $this->givenName; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Classroom/ReclaimStudentSubmissionRequest.php b/vendor/google/apiclient-services/src/Google/Service/Classroom/ReclaimStudentSubmissionRequest.php new file mode 100644 index 00000000..7b06c874 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Classroom/ReclaimStudentSubmissionRequest.php @@ -0,0 +1,20 @@ + + * $classroomService = new Google_Service_Classroom(...); + * $courses = $classroomService->courses; + * + */ +class Google_Service_Classroom_Resource_Courses extends Google_Service_Resource +{ + /** + * Creates a course. The user specified in `ownerId` is the owner of the created + * course and added as a teacher. This method returns the following error codes: + * * `PERMISSION_DENIED` if the requesting user is not permitted to create + * courses or for access errors. * `NOT_FOUND` if the primary teacher is not a + * valid user. * `FAILED_PRECONDITION` if the course owner's account is disabled + * or for the following request errors: * UserGroupsMembershipLimitReached * + * `ALREADY_EXISTS` if an alias was specified in the `id` and already exists. + * (courses.create) + * + * @param Google_Service_Classroom_Course $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Classroom_Course + */ + public function create(Google_Service_Classroom_Course $postBody, $optParams = array()) + { + $params = array('postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('create', array($params), "Google_Service_Classroom_Course"); + } + /** + * Deletes a course. This method returns the following error codes: * + * `PERMISSION_DENIED` if the requesting user is not permitted to delete the + * requested course or for access errors. * `NOT_FOUND` if no course exists with + * the requested ID. (courses.delete) + * + * @param string $id Identifier of the course to delete. This identifier can be + * either the Classroom-assigned identifier or an alias. + * @param array $optParams Optional parameters. + * @return Google_Service_Classroom_ClassroomEmpty + */ + public function delete($id, $optParams = array()) + { + $params = array('id' => $id); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params), "Google_Service_Classroom_ClassroomEmpty"); + } + /** + * Returns a course. This method returns the following error codes: * + * `PERMISSION_DENIED` if the requesting user is not permitted to access the + * requested course or for access errors. * `NOT_FOUND` if no course exists with + * the requested ID. (courses.get) + * + * @param string $id Identifier of the course to return. This identifier can be + * either the Classroom-assigned identifier or an alias. + * @param array $optParams Optional parameters. + * @return Google_Service_Classroom_Course + */ + public function get($id, $optParams = array()) + { + $params = array('id' => $id); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Classroom_Course"); + } + /** + * Returns a list of courses that the requesting user is permitted to view, + * restricted to those that match the request. This method returns the following + * error codes: * `PERMISSION_DENIED` for access errors. * `INVALID_ARGUMENT` if + * the query argument is malformed. * `NOT_FOUND` if any users specified in the + * query arguments do not exist. (courses.listCourses) + * + * @param array $optParams Optional parameters. + * + * @opt_param string studentId Restricts returned courses to those having a + * student with the specified identifier. The identifier can be one of the + * following: * the numeric identifier for the user * the email address of the + * user * the string literal `"me"`, indicating the requesting user + * @opt_param string teacherId Restricts returned courses to those having a + * teacher with the specified identifier. The identifier can be one of the + * following: * the numeric identifier for the user * the email address of the + * user * the string literal `"me"`, indicating the requesting user + * @opt_param string courseStates Restricts returned courses to those in one of + * the specified states + * @opt_param int pageSize Maximum number of items to return. Zero or + * unspecified indicates that the server may assign a maximum. The server may + * return fewer than the specified number of results. + * @opt_param string pageToken nextPageToken value returned from a previous list + * call, indicating that the subsequent page of results should be returned. The + * list request must be otherwise identical to the one that resulted in this + * token. + * @return Google_Service_Classroom_ListCoursesResponse + */ + public function listCourses($optParams = array()) + { + $params = array(); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Classroom_ListCoursesResponse"); + } + /** + * Updates one or more fields in a course. This method returns the following + * error codes: * `PERMISSION_DENIED` if the requesting user is not permitted to + * modify the requested course or for access errors. * `NOT_FOUND` if no course + * exists with the requested ID. * `INVALID_ARGUMENT` if invalid fields are + * specified in the update mask or if no update mask is supplied. * + * `FAILED_PRECONDITION` for the following request errors: * CourseNotModifiable + * (courses.patch) + * + * @param string $id Identifier of the course to update. This identifier can be + * either the Classroom-assigned identifier or an alias. + * @param Google_Service_Classroom_Course $postBody + * @param array $optParams Optional parameters. + * + * @opt_param string updateMask Mask that identifies which fields on the course + * to update. This field is required to do an update. The update will fail if + * invalid fields are specified. The following fields are valid: * `name` * + * `section` * `descriptionHeading` * `description` * `room` * `courseState` + * When set in a query parameter, this field should be specified as + * `updateMask=,,...` + * @return Google_Service_Classroom_Course + */ + public function patch($id, Google_Service_Classroom_Course $postBody, $optParams = array()) + { + $params = array('id' => $id, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('patch', array($params), "Google_Service_Classroom_Course"); + } + /** + * Updates a course. This method returns the following error codes: * + * `PERMISSION_DENIED` if the requesting user is not permitted to modify the + * requested course or for access errors. * `NOT_FOUND` if no course exists with + * the requested ID. * `FAILED_PRECONDITION` for the following request errors: * + * CourseNotModifiable (courses.update) + * + * @param string $id Identifier of the course to update. This identifier can be + * either the Classroom-assigned identifier or an alias. + * @param Google_Service_Classroom_Course $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Classroom_Course + */ + public function update($id, Google_Service_Classroom_Course $postBody, $optParams = array()) + { + $params = array('id' => $id, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('update', array($params), "Google_Service_Classroom_Course"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Classroom/Resource/CoursesAliases.php b/vendor/google/apiclient-services/src/Google/Service/Classroom/Resource/CoursesAliases.php new file mode 100644 index 00000000..8ee78852 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Classroom/Resource/CoursesAliases.php @@ -0,0 +1,91 @@ + + * $classroomService = new Google_Service_Classroom(...); + * $aliases = $classroomService->aliases; + * + */ +class Google_Service_Classroom_Resource_CoursesAliases extends Google_Service_Resource +{ + /** + * Creates an alias for a course. This method returns the following error codes: + * * `PERMISSION_DENIED` if the requesting user is not permitted to create the + * alias or for access errors. * `NOT_FOUND` if the course does not exist. * + * `ALREADY_EXISTS` if the alias already exists. (aliases.create) + * + * @param string $courseId Identifier of the course to alias. This identifier + * can be either the Classroom-assigned identifier or an alias. + * @param Google_Service_Classroom_CourseAlias $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Classroom_CourseAlias + */ + public function create($courseId, Google_Service_Classroom_CourseAlias $postBody, $optParams = array()) + { + $params = array('courseId' => $courseId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('create', array($params), "Google_Service_Classroom_CourseAlias"); + } + /** + * Deletes an alias of a course. This method returns the following error codes: + * * `PERMISSION_DENIED` if the requesting user is not permitted to remove the + * alias or for access errors. * `NOT_FOUND` if the alias does not exist. + * (aliases.delete) + * + * @param string $courseId Identifier of the course whose alias should be + * deleted. This identifier can be either the Classroom-assigned identifier or + * an alias. + * @param string $alias Alias to delete. This may not be the Classroom-assigned + * identifier. + * @param array $optParams Optional parameters. + * @return Google_Service_Classroom_ClassroomEmpty + */ + public function delete($courseId, $alias, $optParams = array()) + { + $params = array('courseId' => $courseId, 'alias' => $alias); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params), "Google_Service_Classroom_ClassroomEmpty"); + } + /** + * Returns a list of aliases for a course. This method returns the following + * error codes: * `PERMISSION_DENIED` if the requesting user is not permitted to + * access the course or for access errors. * `NOT_FOUND` if the course does not + * exist. (aliases.listCoursesAliases) + * + * @param string $courseId The identifier of the course. This identifier can be + * either the Classroom-assigned identifier or an alias. + * @param array $optParams Optional parameters. + * + * @opt_param int pageSize Maximum number of items to return. Zero or + * unspecified indicates that the server may assign a maximum. The server may + * return fewer than the specified number of results. + * @opt_param string pageToken nextPageToken value returned from a previous list + * call, indicating that the subsequent page of results should be returned. The + * list request must be otherwise identical to the one that resulted in this + * token. + * @return Google_Service_Classroom_ListCourseAliasesResponse + */ + public function listCoursesAliases($courseId, $optParams = array()) + { + $params = array('courseId' => $courseId); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Classroom_ListCourseAliasesResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Classroom/Resource/CoursesCourseWork.php b/vendor/google/apiclient-services/src/Google/Service/Classroom/Resource/CoursesCourseWork.php new file mode 100644 index 00000000..a212dbc1 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Classroom/Resource/CoursesCourseWork.php @@ -0,0 +1,170 @@ + + * $classroomService = new Google_Service_Classroom(...); + * $courseWork = $classroomService->courseWork; + * + */ +class Google_Service_Classroom_Resource_CoursesCourseWork extends Google_Service_Resource +{ + /** + * Creates course work. The resulting course work (and corresponding student + * submissions) are associated with the Developer Console project of the [OAuth + * client ID](https://support.google.com/cloud/answer/6158849) used to make the + * request. Classroom API requests to modify course work and student submissions + * must be made with an OAuth client ID from the associated Developer Console + * project. This method returns the following error codes: * `PERMISSION_DENIED` + * if the requesting user is not permitted to access the requested course, + * create course work in the requested course, share a Drive attachment, or for + * access errors. * `INVALID_ARGUMENT` if the request is malformed. * + * `NOT_FOUND` if the requested course does not exist. * `FAILED_PRECONDITION` + * for the following request error: * AttachmentNotVisible (courseWork.create) + * + * @param string $courseId Identifier of the course. This identifier can be + * either the Classroom-assigned identifier or an alias. + * @param Google_Service_Classroom_CourseWork $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Classroom_CourseWork + */ + public function create($courseId, Google_Service_Classroom_CourseWork $postBody, $optParams = array()) + { + $params = array('courseId' => $courseId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('create', array($params), "Google_Service_Classroom_CourseWork"); + } + /** + * Deletes a course work. This request must be made by the Developer Console + * project of the [OAuth client + * ID](https://support.google.com/cloud/answer/6158849) used to create the + * corresponding course work item. This method returns the following error + * codes: * `PERMISSION_DENIED` if the requesting developer project did not + * create the corresponding course work, if the requesting user is not permitted + * to delete the requested course or for access errors. * `FAILED_PRECONDITION` + * if the requested course work has already been deleted. * `NOT_FOUND` if no + * course exists with the requested ID. (courseWork.delete) + * + * @param string $courseId Identifier of the course. This identifier can be + * either the Classroom-assigned identifier or an alias. + * @param string $id Identifier of the course work to delete. This identifier is + * a Classroom-assigned identifier. + * @param array $optParams Optional parameters. + * @return Google_Service_Classroom_ClassroomEmpty + */ + public function delete($courseId, $id, $optParams = array()) + { + $params = array('courseId' => $courseId, 'id' => $id); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params), "Google_Service_Classroom_ClassroomEmpty"); + } + /** + * Returns course work. This method returns the following error codes: * + * `PERMISSION_DENIED` if the requesting user is not permitted to access the + * requested course or course work, or for access errors. * `INVALID_ARGUMENT` + * if the request is malformed. * `NOT_FOUND` if the requested course or course + * work does not exist. (courseWork.get) + * + * @param string $courseId Identifier of the course. This identifier can be + * either the Classroom-assigned identifier or an alias. + * @param string $id Identifier of the course work. + * @param array $optParams Optional parameters. + * @return Google_Service_Classroom_CourseWork + */ + public function get($courseId, $id, $optParams = array()) + { + $params = array('courseId' => $courseId, 'id' => $id); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Classroom_CourseWork"); + } + /** + * Returns a list of course work that the requester is permitted to view. Course + * students may only view `PUBLISHED` course work. Course teachers and domain + * administrators may view all course work. This method returns the following + * error codes: * `PERMISSION_DENIED` if the requesting user is not permitted to + * access the requested course or for access errors. * `INVALID_ARGUMENT` if the + * request is malformed. * `NOT_FOUND` if the requested course does not exist. + * (courseWork.listCoursesCourseWork) + * + * @param string $courseId Identifier of the course. This identifier can be + * either the Classroom-assigned identifier or an alias. + * @param array $optParams Optional parameters. + * + * @opt_param string courseWorkStates Restriction on the work status to return. + * Only courseWork that matches is returned. If unspecified, items with a work + * status of `PUBLISHED` is returned. + * @opt_param string orderBy Optional sort ordering for results. A comma- + * separated list of fields with an optional sort direction keyword. Supported + * fields are `updateTime` and `dueDate`. Supported direction keywords are `asc` + * and `desc`. If not specified, `updateTime desc` is the default behavior. + * Examples: `dueDate asc,updateTime desc`, `updateTime,dueDate desc` + * @opt_param int pageSize Maximum number of items to return. Zero or + * unspecified indicates that the server may assign a maximum. The server may + * return fewer than the specified number of results. + * @opt_param string pageToken nextPageToken value returned from a previous list + * call, indicating that the subsequent page of results should be returned. The + * list request must be otherwise identical to the one that resulted in this + * token. + * @return Google_Service_Classroom_ListCourseWorkResponse + */ + public function listCoursesCourseWork($courseId, $optParams = array()) + { + $params = array('courseId' => $courseId); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Classroom_ListCourseWorkResponse"); + } + /** + * Updates one or more fields of a course work. See + * google.classroom.v1.CourseWork for details of which fields may be updated and + * who may change them. This request must be made by the Developer Console + * project of the [OAuth client + * ID](https://support.google.com/cloud/answer/6158849) used to create the + * corresponding course work item. This method returns the following error + * codes: * `PERMISSION_DENIED` if the requesting developer project did not + * create the corresponding course work, if the user is not permitted to make + * the requested modification to the student submission, or for access errors. * + * `INVALID_ARGUMENT` if the request is malformed. * `FAILED_PRECONDITION` if + * the requested course work has already been deleted. * `NOT_FOUND` if the + * requested course, course work, or student submission does not exist. + * (courseWork.patch) + * + * @param string $courseId Identifier of the course. This identifier can be + * either the Classroom-assigned identifier or an alias. + * @param string $id Identifier of the course work. + * @param Google_Service_Classroom_CourseWork $postBody + * @param array $optParams Optional parameters. + * + * @opt_param string updateMask Mask that identifies which fields on the course + * work to update. This field is required to do an update. The update fails if + * invalid fields are specified. If a field supports empty values, it can be + * cleared by specifying it in the update mask and not in the CourseWork object. + * If a field that does not support empty values is included in the update mask + * and not set in the CourseWork object, an `INVALID_ARGUMENT` error will be + * returned. The following fields may be specified by teachers: * `title` * + * `description` * `state` * `due_date` * `due_time` * `max_points` * + * `submission_modification_mode` + * @return Google_Service_Classroom_CourseWork + */ + public function patch($courseId, $id, Google_Service_Classroom_CourseWork $postBody, $optParams = array()) + { + $params = array('courseId' => $courseId, 'id' => $id, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('patch', array($params), "Google_Service_Classroom_CourseWork"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Classroom/Resource/CoursesCourseWorkStudentSubmissions.php b/vendor/google/apiclient-services/src/Google/Service/Classroom/Resource/CoursesCourseWorkStudentSubmissions.php new file mode 100644 index 00000000..8e0b3d21 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Classroom/Resource/CoursesCourseWorkStudentSubmissions.php @@ -0,0 +1,240 @@ + + * $classroomService = new Google_Service_Classroom(...); + * $studentSubmissions = $classroomService->studentSubmissions; + * + */ +class Google_Service_Classroom_Resource_CoursesCourseWorkStudentSubmissions extends Google_Service_Resource +{ + /** + * Returns a student submission. * `PERMISSION_DENIED` if the requesting user is + * not permitted to access the requested course, course work, or student + * submission or for access errors. * `INVALID_ARGUMENT` if the request is + * malformed. * `NOT_FOUND` if the requested course, course work, or student + * submission does not exist. (studentSubmissions.get) + * + * @param string $courseId Identifier of the course. This identifier can be + * either the Classroom-assigned identifier or an alias. + * @param string $courseWorkId Identifier of the course work. + * @param string $id Identifier of the student submission. + * @param array $optParams Optional parameters. + * @return Google_Service_Classroom_StudentSubmission + */ + public function get($courseId, $courseWorkId, $id, $optParams = array()) + { + $params = array('courseId' => $courseId, 'courseWorkId' => $courseWorkId, 'id' => $id); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Classroom_StudentSubmission"); + } + /** + * Returns a list of student submissions that the requester is permitted to + * view, factoring in the OAuth scopes of the request. `-` may be specified as + * the `course_work_id` to include student submissions for multiple course work + * items. Course students may only view their own work. Course teachers and + * domain administrators may view all student submissions. This method returns + * the following error codes: * `PERMISSION_DENIED` if the requesting user is + * not permitted to access the requested course or course work, or for access + * errors. * `INVALID_ARGUMENT` if the request is malformed. * `NOT_FOUND` if + * the requested course does not exist. + * (studentSubmissions.listCoursesCourseWorkStudentSubmissions) + * + * @param string $courseId Identifier of the course. This identifier can be + * either the Classroom-assigned identifier or an alias. + * @param string $courseWorkId Identifer of the student work to request. This + * may be set to the string literal `"-"` to request student work for all course + * work in the specified course. + * @param array $optParams Optional parameters. + * + * @opt_param string userId Optional argument to restrict returned student work + * to those owned by the student with the specified identifier. The identifier + * can be one of the following: * the numeric identifier for the user * the + * email address of the user * the string literal `"me"`, indicating the + * requesting user + * @opt_param string states Requested submission states. If specified, returned + * student submissions match one of the specified submission states. + * @opt_param string late Requested lateness value. If specified, returned + * student submissions are restricted by the requested value. If unspecified, + * submissions are returned regardless of `late` value. + * @opt_param int pageSize Maximum number of items to return. Zero or + * unspecified indicates that the server may assign a maximum. The server may + * return fewer than the specified number of results. + * @opt_param string pageToken nextPageToken value returned from a previous list + * call, indicating that the subsequent page of results should be returned. The + * list request must be otherwise identical to the one that resulted in this + * token. + * @return Google_Service_Classroom_ListStudentSubmissionsResponse + */ + public function listCoursesCourseWorkStudentSubmissions($courseId, $courseWorkId, $optParams = array()) + { + $params = array('courseId' => $courseId, 'courseWorkId' => $courseWorkId); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Classroom_ListStudentSubmissionsResponse"); + } + /** + * Modifies attachments of student submission. Attachments may only be added to + * student submissions belonging to course work objects with a `workType` of + * `ASSIGNMENT`. This request must be made by the Developer Console project of + * the [OAuth client ID](https://support.google.com/cloud/answer/6158849) used + * to create the corresponding course work item. This method returns the + * following error codes: * `PERMISSION_DENIED` if the requesting user is not + * permitted to access the requested course or course work, if the user is not + * permitted to modify attachments on the requested student submission, or for + * access errors. * `INVALID_ARGUMENT` if the request is malformed. * + * `NOT_FOUND` if the requested course, course work, or student submission does + * not exist. (studentSubmissions.modifyAttachments) + * + * @param string $courseId Identifier of the course. This identifier can be + * either the Classroom-assigned identifier or an alias. + * @param string $courseWorkId Identifier of the course work. + * @param string $id Identifier of the student submission. + * @param Google_Service_Classroom_ModifyAttachmentsRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Classroom_StudentSubmission + */ + public function modifyAttachments($courseId, $courseWorkId, $id, Google_Service_Classroom_ModifyAttachmentsRequest $postBody, $optParams = array()) + { + $params = array('courseId' => $courseId, 'courseWorkId' => $courseWorkId, 'id' => $id, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('modifyAttachments', array($params), "Google_Service_Classroom_StudentSubmission"); + } + /** + * Updates one or more fields of a student submission. See + * google.classroom.v1.StudentSubmission for details of which fields may be + * updated and who may change them. This request must be made by the Developer + * Console project of the [OAuth client + * ID](https://support.google.com/cloud/answer/6158849) used to create the + * corresponding course work item. This method returns the following error + * codes: * `PERMISSION_DENIED` if the requesting developer project did not + * create the corresponding course work, if the user is not permitted to make + * the requested modification to the student submission, or for access errors. * + * `INVALID_ARGUMENT` if the request is malformed. * `NOT_FOUND` if the + * requested course, course work, or student submission does not exist. + * (studentSubmissions.patch) + * + * @param string $courseId Identifier of the course. This identifier can be + * either the Classroom-assigned identifier or an alias. + * @param string $courseWorkId Identifier of the course work. + * @param string $id Identifier of the student submission. + * @param Google_Service_Classroom_StudentSubmission $postBody + * @param array $optParams Optional parameters. + * + * @opt_param string updateMask Mask that identifies which fields on the student + * submission to update. This field is required to do an update. The update + * fails if invalid fields are specified. The following fields may be specified + * by teachers: * `draft_grade` * `assigned_grade` + * @return Google_Service_Classroom_StudentSubmission + */ + public function patch($courseId, $courseWorkId, $id, Google_Service_Classroom_StudentSubmission $postBody, $optParams = array()) + { + $params = array('courseId' => $courseId, 'courseWorkId' => $courseWorkId, 'id' => $id, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('patch', array($params), "Google_Service_Classroom_StudentSubmission"); + } + /** + * Reclaims a student submission on behalf of the student that owns it. + * Reclaiming a student submission transfers ownership of attached Drive files + * to the student and update the submission state. Only the student that owns + * the requested student submission may call this method, and only for a student + * submission that has been turned in. This request must be made by the + * Developer Console project of the [OAuth client + * ID](https://support.google.com/cloud/answer/6158849) used to create the + * corresponding course work item. This method returns the following error + * codes: * `PERMISSION_DENIED` if the requesting user is not permitted to + * access the requested course or course work, unsubmit the requested student + * submission, or for access errors. * `FAILED_PRECONDITION` if the student + * submission has not been turned in. * `INVALID_ARGUMENT` if the request is + * malformed. * `NOT_FOUND` if the requested course, course work, or student + * submission does not exist. (studentSubmissions.reclaim) + * + * @param string $courseId Identifier of the course. This identifier can be + * either the Classroom-assigned identifier or an alias. + * @param string $courseWorkId Identifier of the course work. + * @param string $id Identifier of the student submission. + * @param Google_Service_Classroom_ReclaimStudentSubmissionRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Classroom_ClassroomEmpty + */ + public function reclaim($courseId, $courseWorkId, $id, Google_Service_Classroom_ReclaimStudentSubmissionRequest $postBody, $optParams = array()) + { + $params = array('courseId' => $courseId, 'courseWorkId' => $courseWorkId, 'id' => $id, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('reclaim', array($params), "Google_Service_Classroom_ClassroomEmpty"); + } + /** + * Returns a student submission. Returning a student submission transfers + * ownership of attached Drive files to the student and may also update the + * submission state. Unlike the Classroom application, returning a student + * submission does not set assignedGrade to the draftGrade value. Only a teacher + * of the course that contains the requested student submission may call this + * method. This request must be made by the Developer Console project of the + * [OAuth client ID](https://support.google.com/cloud/answer/6158849) used to + * create the corresponding course work item. This method returns the following + * error codes: * `PERMISSION_DENIED` if the requesting user is not permitted to + * access the requested course or course work, return the requested student + * submission, or for access errors. * `INVALID_ARGUMENT` if the request is + * malformed. * `NOT_FOUND` if the requested course, course work, or student + * submission does not exist. + * (studentSubmissions.returnCoursesCourseWorkStudentSubmissions) + * + * @param string $courseId Identifier of the course. This identifier can be + * either the Classroom-assigned identifier or an alias. + * @param string $courseWorkId Identifier of the course work. + * @param string $id Identifier of the student submission. + * @param Google_Service_Classroom_ReturnStudentSubmissionRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Classroom_ClassroomEmpty + */ + public function returnCoursesCourseWorkStudentSubmissions($courseId, $courseWorkId, $id, Google_Service_Classroom_ReturnStudentSubmissionRequest $postBody, $optParams = array()) + { + $params = array('courseId' => $courseId, 'courseWorkId' => $courseWorkId, 'id' => $id, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('return', array($params), "Google_Service_Classroom_ClassroomEmpty"); + } + /** + * Turns in a student submission. Turning in a student submission transfers + * ownership of attached Drive files to the teacher and may also update the + * submission state. This may only be called by the student that owns the + * specified student submission. This request must be made by the Developer + * Console project of the [OAuth client + * ID](https://support.google.com/cloud/answer/6158849) used to create the + * corresponding course work item. This method returns the following error + * codes: * `PERMISSION_DENIED` if the requesting user is not permitted to + * access the requested course or course work, turn in the requested student + * submission, or for access errors. * `INVALID_ARGUMENT` if the request is + * malformed. * `NOT_FOUND` if the requested course, course work, or student + * submission does not exist. (studentSubmissions.turnIn) + * + * @param string $courseId Identifier of the course. This identifier can be + * either the Classroom-assigned identifier or an alias. + * @param string $courseWorkId Identifier of the course work. + * @param string $id Identifier of the student submission. + * @param Google_Service_Classroom_TurnInStudentSubmissionRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Classroom_ClassroomEmpty + */ + public function turnIn($courseId, $courseWorkId, $id, Google_Service_Classroom_TurnInStudentSubmissionRequest $postBody, $optParams = array()) + { + $params = array('courseId' => $courseId, 'courseWorkId' => $courseWorkId, 'id' => $id, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('turnIn', array($params), "Google_Service_Classroom_ClassroomEmpty"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Classroom/Resource/CoursesStudents.php b/vendor/google/apiclient-services/src/Google/Service/Classroom/Resource/CoursesStudents.php new file mode 100644 index 00000000..2f6855cb --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Classroom/Resource/CoursesStudents.php @@ -0,0 +1,123 @@ + + * $classroomService = new Google_Service_Classroom(...); + * $students = $classroomService->students; + * + */ +class Google_Service_Classroom_Resource_CoursesStudents extends Google_Service_Resource +{ + /** + * Adds a user as a student of a course. This method returns the following error + * codes: * `PERMISSION_DENIED` if the requesting user is not permitted to + * create students in this course or for access errors. * `NOT_FOUND` if the + * requested course ID does not exist. * `FAILED_PRECONDITION` if the requested + * user's account is disabled, for the following request errors: * + * CourseMemberLimitReached * CourseNotModifiable * + * UserGroupsMembershipLimitReached * `ALREADY_EXISTS` if the user is already a + * student or teacher in the course. (students.create) + * + * @param string $courseId Identifier of the course to create the student in. + * This identifier can be either the Classroom-assigned identifier or an alias. + * @param Google_Service_Classroom_Student $postBody + * @param array $optParams Optional parameters. + * + * @opt_param string enrollmentCode Enrollment code of the course to create the + * student in. This code is required if userId corresponds to the requesting + * user; it may be omitted if the requesting user has administrative permissions + * to create students for any user. + * @return Google_Service_Classroom_Student + */ + public function create($courseId, Google_Service_Classroom_Student $postBody, $optParams = array()) + { + $params = array('courseId' => $courseId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('create', array($params), "Google_Service_Classroom_Student"); + } + /** + * Deletes a student of a course. This method returns the following error codes: + * * `PERMISSION_DENIED` if the requesting user is not permitted to delete + * students of this course or for access errors. * `NOT_FOUND` if no student of + * this course has the requested ID or if the course does not exist. + * (students.delete) + * + * @param string $courseId Identifier of the course. This identifier can be + * either the Classroom-assigned identifier or an alias. + * @param string $userId Identifier of the student to delete. The identifier can + * be one of the following: * the numeric identifier for the user * the email + * address of the user * the string literal `"me"`, indicating the requesting + * user + * @param array $optParams Optional parameters. + * @return Google_Service_Classroom_ClassroomEmpty + */ + public function delete($courseId, $userId, $optParams = array()) + { + $params = array('courseId' => $courseId, 'userId' => $userId); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params), "Google_Service_Classroom_ClassroomEmpty"); + } + /** + * Returns a student of a course. This method returns the following error codes: + * * `PERMISSION_DENIED` if the requesting user is not permitted to view + * students of this course or for access errors. * `NOT_FOUND` if no student of + * this course has the requested ID or if the course does not exist. + * (students.get) + * + * @param string $courseId Identifier of the course. This identifier can be + * either the Classroom-assigned identifier or an alias. + * @param string $userId Identifier of the student to return. The identifier can + * be one of the following: * the numeric identifier for the user * the email + * address of the user * the string literal `"me"`, indicating the requesting + * user + * @param array $optParams Optional parameters. + * @return Google_Service_Classroom_Student + */ + public function get($courseId, $userId, $optParams = array()) + { + $params = array('courseId' => $courseId, 'userId' => $userId); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Classroom_Student"); + } + /** + * Returns a list of students of this course that the requester is permitted to + * view. This method returns the following error codes: * `NOT_FOUND` if the + * course does not exist. * `PERMISSION_DENIED` for access errors. + * (students.listCoursesStudents) + * + * @param string $courseId Identifier of the course. This identifier can be + * either the Classroom-assigned identifier or an alias. + * @param array $optParams Optional parameters. + * + * @opt_param int pageSize Maximum number of items to return. Zero means no + * maximum. The server may return fewer than the specified number of results. + * @opt_param string pageToken nextPageToken value returned from a previous list + * call, indicating that the subsequent page of results should be returned. The + * list request must be otherwise identical to the one that resulted in this + * token. + * @return Google_Service_Classroom_ListStudentsResponse + */ + public function listCoursesStudents($courseId, $optParams = array()) + { + $params = array('courseId' => $courseId); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Classroom_ListStudentsResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Classroom/Resource/CoursesTeachers.php b/vendor/google/apiclient-services/src/Google/Service/Classroom/Resource/CoursesTeachers.php new file mode 100644 index 00000000..881a74b5 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Classroom/Resource/CoursesTeachers.php @@ -0,0 +1,119 @@ + + * $classroomService = new Google_Service_Classroom(...); + * $teachers = $classroomService->teachers; + * + */ +class Google_Service_Classroom_Resource_CoursesTeachers extends Google_Service_Resource +{ + /** + * Creates a teacher of a course. This method returns the following error codes: + * * `PERMISSION_DENIED` if the requesting user is not permitted to create + * teachers in this course or for access errors. * `NOT_FOUND` if the requested + * course ID does not exist. * `FAILED_PRECONDITION` if the requested user's + * account is disabled, for the following request errors: * + * CourseMemberLimitReached * CourseNotModifiable * CourseTeacherLimitReached * + * UserGroupsMembershipLimitReached * `ALREADY_EXISTS` if the user is already a + * teacher or student in the course. (teachers.create) + * + * @param string $courseId Identifier of the course. This identifier can be + * either the Classroom-assigned identifier or an alias. + * @param Google_Service_Classroom_Teacher $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Classroom_Teacher + */ + public function create($courseId, Google_Service_Classroom_Teacher $postBody, $optParams = array()) + { + $params = array('courseId' => $courseId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('create', array($params), "Google_Service_Classroom_Teacher"); + } + /** + * Deletes a teacher of a course. This method returns the following error codes: + * * `PERMISSION_DENIED` if the requesting user is not permitted to delete + * teachers of this course or for access errors. * `NOT_FOUND` if no teacher of + * this course has the requested ID or if the course does not exist. * + * `FAILED_PRECONDITION` if the requested ID belongs to the primary teacher of + * this course. (teachers.delete) + * + * @param string $courseId Identifier of the course. This identifier can be + * either the Classroom-assigned identifier or an alias. + * @param string $userId Identifier of the teacher to delete. The identifier can + * be one of the following: * the numeric identifier for the user * the email + * address of the user * the string literal `"me"`, indicating the requesting + * user + * @param array $optParams Optional parameters. + * @return Google_Service_Classroom_ClassroomEmpty + */ + public function delete($courseId, $userId, $optParams = array()) + { + $params = array('courseId' => $courseId, 'userId' => $userId); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params), "Google_Service_Classroom_ClassroomEmpty"); + } + /** + * Returns a teacher of a course. This method returns the following error codes: + * * `PERMISSION_DENIED` if the requesting user is not permitted to view + * teachers of this course or for access errors. * `NOT_FOUND` if no teacher of + * this course has the requested ID or if the course does not exist. + * (teachers.get) + * + * @param string $courseId Identifier of the course. This identifier can be + * either the Classroom-assigned identifier or an alias. + * @param string $userId Identifier of the teacher to return. The identifier can + * be one of the following: * the numeric identifier for the user * the email + * address of the user * the string literal `"me"`, indicating the requesting + * user + * @param array $optParams Optional parameters. + * @return Google_Service_Classroom_Teacher + */ + public function get($courseId, $userId, $optParams = array()) + { + $params = array('courseId' => $courseId, 'userId' => $userId); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Classroom_Teacher"); + } + /** + * Returns a list of teachers of this course that the requester is permitted to + * view. This method returns the following error codes: * `NOT_FOUND` if the + * course does not exist. * `PERMISSION_DENIED` for access errors. + * (teachers.listCoursesTeachers) + * + * @param string $courseId Identifier of the course. This identifier can be + * either the Classroom-assigned identifier or an alias. + * @param array $optParams Optional parameters. + * + * @opt_param int pageSize Maximum number of items to return. Zero means no + * maximum. The server may return fewer than the specified number of results. + * @opt_param string pageToken nextPageToken value returned from a previous list + * call, indicating that the subsequent page of results should be returned. The + * list request must be otherwise identical to the one that resulted in this + * token. + * @return Google_Service_Classroom_ListTeachersResponse + */ + public function listCoursesTeachers($courseId, $optParams = array()) + { + $params = array('courseId' => $courseId); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Classroom_ListTeachersResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Classroom/Resource/Invitations.php b/vendor/google/apiclient-services/src/Google/Service/Classroom/Resource/Invitations.php new file mode 100644 index 00000000..6c946833 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Classroom/Resource/Invitations.php @@ -0,0 +1,131 @@ + + * $classroomService = new Google_Service_Classroom(...); + * $invitations = $classroomService->invitations; + * + */ +class Google_Service_Classroom_Resource_Invitations extends Google_Service_Resource +{ + /** + * Accepts an invitation, removing it and adding the invited user to the + * teachers or students (as appropriate) of the specified course. Only the + * invited user may accept an invitation. This method returns the following + * error codes: * `PERMISSION_DENIED` if the requesting user is not permitted to + * accept the requested invitation or for access errors. * `FAILED_PRECONDITION` + * for the following request errors: * CourseMemberLimitReached * + * CourseNotModifiable * CourseTeacherLimitReached * + * UserGroupsMembershipLimitReached * `NOT_FOUND` if no invitation exists with + * the requested ID. (invitations.accept) + * + * @param string $id Identifier of the invitation to accept. + * @param array $optParams Optional parameters. + * @return Google_Service_Classroom_ClassroomEmpty + */ + public function accept($id, $optParams = array()) + { + $params = array('id' => $id); + $params = array_merge($params, $optParams); + return $this->call('accept', array($params), "Google_Service_Classroom_ClassroomEmpty"); + } + /** + * Creates an invitation. Only one invitation for a user and course may exist at + * a time. Delete and re-create an invitation to make changes. This method + * returns the following error codes: * `PERMISSION_DENIED` if the requesting + * user is not permitted to create invitations for this course or for access + * errors. * `NOT_FOUND` if the course or the user does not exist. * + * `FAILED_PRECONDITION` if the requested user's account is disabled or if the + * user already has this role or a role with greater permissions. * + * `ALREADY_EXISTS` if an invitation for the specified user and course already + * exists. (invitations.create) + * + * @param Google_Service_Classroom_Invitation $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Classroom_Invitation + */ + public function create(Google_Service_Classroom_Invitation $postBody, $optParams = array()) + { + $params = array('postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('create', array($params), "Google_Service_Classroom_Invitation"); + } + /** + * Deletes an invitation. This method returns the following error codes: * + * `PERMISSION_DENIED` if the requesting user is not permitted to delete the + * requested invitation or for access errors. * `NOT_FOUND` if no invitation + * exists with the requested ID. (invitations.delete) + * + * @param string $id Identifier of the invitation to delete. + * @param array $optParams Optional parameters. + * @return Google_Service_Classroom_ClassroomEmpty + */ + public function delete($id, $optParams = array()) + { + $params = array('id' => $id); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params), "Google_Service_Classroom_ClassroomEmpty"); + } + /** + * Returns an invitation. This method returns the following error codes: * + * `PERMISSION_DENIED` if the requesting user is not permitted to view the + * requested invitation or for access errors. * `NOT_FOUND` if no invitation + * exists with the requested ID. (invitations.get) + * + * @param string $id Identifier of the invitation to return. + * @param array $optParams Optional parameters. + * @return Google_Service_Classroom_Invitation + */ + public function get($id, $optParams = array()) + { + $params = array('id' => $id); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Classroom_Invitation"); + } + /** + * Returns a list of invitations that the requesting user is permitted to view, + * restricted to those that match the list request. *Note:* At least one of + * `user_id` or `course_id` must be supplied. Both fields can be supplied. This + * method returns the following error codes: * `PERMISSION_DENIED` for access + * errors. (invitations.listInvitations) + * + * @param array $optParams Optional parameters. + * + * @opt_param string userId Restricts returned invitations to those for a + * specific user. The identifier can be one of the following: * the numeric + * identifier for the user * the email address of the user * the string literal + * `"me"`, indicating the requesting user + * @opt_param string courseId Restricts returned invitations to those for a + * course with the specified identifier. + * @opt_param int pageSize Maximum number of items to return. Zero means no + * maximum. The server may return fewer than the specified number of results. + * @opt_param string pageToken nextPageToken value returned from a previous list + * call, indicating that the subsequent page of results should be returned. The + * list request must be otherwise identical to the one that resulted in this + * token. + * @return Google_Service_Classroom_ListInvitationsResponse + */ + public function listInvitations($optParams = array()) + { + $params = array(); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Classroom_ListInvitationsResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Classroom/Resource/UserProfiles.php b/vendor/google/apiclient-services/src/Google/Service/Classroom/Resource/UserProfiles.php new file mode 100644 index 00000000..38ee3eb6 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Classroom/Resource/UserProfiles.php @@ -0,0 +1,47 @@ + + * $classroomService = new Google_Service_Classroom(...); + * $userProfiles = $classroomService->userProfiles; + * + */ +class Google_Service_Classroom_Resource_UserProfiles extends Google_Service_Resource +{ + /** + * Returns a user profile. This method returns the following error codes: * + * `PERMISSION_DENIED` if the requesting user is not permitted to access this + * user profile, if no profile exists with the requested ID, or for access + * errors. (userProfiles.get) + * + * @param string $userId Identifier of the profile to return. The identifier can + * be one of the following: * the numeric identifier for the user * the email + * address of the user * the string literal `"me"`, indicating the requesting + * user + * @param array $optParams Optional parameters. + * @return Google_Service_Classroom_UserProfile + */ + public function get($userId, $optParams = array()) + { + $params = array('userId' => $userId); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Classroom_UserProfile"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Classroom/Resource/UserProfilesGuardianInvitations.php b/vendor/google/apiclient-services/src/Google/Service/Classroom/Resource/UserProfilesGuardianInvitations.php new file mode 100644 index 00000000..a8a88224 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Classroom/Resource/UserProfilesGuardianInvitations.php @@ -0,0 +1,166 @@ + + * $classroomService = new Google_Service_Classroom(...); + * $guardianInvitations = $classroomService->guardianInvitations; + * + */ +class Google_Service_Classroom_Resource_UserProfilesGuardianInvitations extends Google_Service_Resource +{ + /** + * Creates a guardian invitation, and sends an email to the guardian asking them + * to confirm that they are the student's guardian. Once the guardian accepts + * the invitation, their `state` will change to `COMPLETED` and they will start + * receiving guardian notifications. A `Guardian` resource will also be created + * to represent the active guardian. The request object must have the + * `student_id` and `invited_email_address` fields set. Failing to set these + * fields, or setting any other fields in the request, will result in an error. + * This method returns the following error codes: * `PERMISSION_DENIED` if the + * current user does not have permission to manage guardians, if the guardian in + * question has already rejected too many requests for that student, if + * guardians are not enabled for the domain in question, or for other access + * errors. * `RESOURCE_EXHAUSTED` if the student or guardian has exceeded the + * guardian link limit. * `INVALID_ARGUMENT` if the guardian email address is + * not valid (for example, if it is too long), or if the format of the student + * ID provided cannot be recognized (it is not an email address, nor a `user_id` + * from this API). This error will also be returned if read-only fields are set, + * or if the `state` field is set to to a value other than `PENDING`. * + * `NOT_FOUND` if the student ID provided is a valid student ID, but Classroom + * has no record of that student. * `ALREADY_EXISTS` if there is already a + * pending guardian invitation for the student and `invited_email_address` + * provided, or if the provided `invited_email_address` matches the Google + * account of an existing `Guardian` for this user. (guardianInvitations.create) + * + * @param string $studentId ID of the student (in standard format) + * @param Google_Service_Classroom_GuardianInvitation $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Classroom_GuardianInvitation + */ + public function create($studentId, Google_Service_Classroom_GuardianInvitation $postBody, $optParams = array()) + { + $params = array('studentId' => $studentId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('create', array($params), "Google_Service_Classroom_GuardianInvitation"); + } + /** + * Returns a specific guardian invitation. This method returns the following + * error codes: * `PERMISSION_DENIED` if the requesting user is not permitted to + * view guardian invitations for the student identified by the `student_id`, if + * guardians are not enabled for the domain in question, or for other access + * errors. * `INVALID_ARGUMENT` if a `student_id` is specified, but its format + * cannot be recognized (it is not an email address, nor a `student_id` from the + * API, nor the literal string `me`). * `NOT_FOUND` if Classroom cannot find any + * record of the given student or `invitation_id`. May also be returned if the + * student exists, but the requesting user does not have access to see that + * student. (guardianInvitations.get) + * + * @param string $studentId The ID of the student whose guardian invitation is + * being requested. + * @param string $invitationId The `id` field of the `GuardianInvitation` being + * requested. + * @param array $optParams Optional parameters. + * @return Google_Service_Classroom_GuardianInvitation + */ + public function get($studentId, $invitationId, $optParams = array()) + { + $params = array('studentId' => $studentId, 'invitationId' => $invitationId); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Classroom_GuardianInvitation"); + } + /** + * Returns a list of guardian invitations that the requesting user is permitted + * to view, filtered by the parameters provided. This method returns the + * following error codes: * `PERMISSION_DENIED` if a `student_id` is specified, + * and the requesting user is not permitted to view guardian invitations for + * that student, if `"-"` is specified as the `student_id` and the user is not a + * domain administrator, if guardians are not enabled for the domain in + * question, or for other access errors. * `INVALID_ARGUMENT` if a `student_id` + * is specified, but its format cannot be recognized (it is not an email + * address, nor a `student_id` from the API, nor the literal string `me`). May + * also be returned if an invalid `page_token` or `state` is provided. * + * `NOT_FOUND` if a `student_id` is specified, and its format can be recognized, + * but Classroom has no record of that student. + * (guardianInvitations.listUserProfilesGuardianInvitations) + * + * @param string $studentId The ID of the student whose guardian invitations are + * to be returned. The identifier can be one of the following: * the numeric + * identifier for the user * the email address of the user * the string literal + * `"me"`, indicating the requesting user * the string literal `"-"`, indicating + * that results should be returned for all students that the requesting user is + * permitted to view guardian invitations. + * @param array $optParams Optional parameters. + * + * @opt_param string invitedEmailAddress If specified, only results with the + * specified `invited_email_address` will be returned. + * @opt_param string states If specified, only results with the specified + * `state` values will be returned. Otherwise, results with a `state` of + * `PENDING` will be returned. + * @opt_param string pageToken nextPageToken value returned from a previous list + * call, indicating that the subsequent page of results should be returned. The + * list request must be otherwise identical to the one that resulted in this + * token. + * @opt_param int pageSize Maximum number of items to return. Zero or + * unspecified indicates that the server may assign a maximum. The server may + * return fewer than the specified number of results. + * @return Google_Service_Classroom_ListGuardianInvitationsResponse + */ + public function listUserProfilesGuardianInvitations($studentId, $optParams = array()) + { + $params = array('studentId' => $studentId); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Classroom_ListGuardianInvitationsResponse"); + } + /** + * Modifies a guardian invitation. Currently, the only valid modification is to + * change the `state` from `PENDING` to `COMPLETE`. This has the effect of + * withdrawing the invitation. This method returns the following error codes: * + * `PERMISSION_DENIED` if the current user does not have permission to manage + * guardians, if guardians are not enabled for the domain in question or for + * other access errors. * `FAILED_PRECONDITION` if the guardian link is not in + * the `PENDING` state. * `INVALID_ARGUMENT` if the format of the student ID + * provided cannot be recognized (it is not an email address, nor a `user_id` + * from this API), or if the passed `GuardianInvitation` has a `state` other + * than `COMPLETE`, or if it modifies fields other than `state`. * `NOT_FOUND` + * if the student ID provided is a valid student ID, but Classroom has no record + * of that student, or if the `id` field does not refer to a guardian invitation + * known to Classroom. (guardianInvitations.patch) + * + * @param string $studentId The ID of the student whose guardian invitation is + * to be modified. + * @param string $invitationId The `id` field of the `GuardianInvitation` to be + * modified. + * @param Google_Service_Classroom_GuardianInvitation $postBody + * @param array $optParams Optional parameters. + * + * @opt_param string updateMask Mask that identifies which fields on the course + * to update. This field is required to do an update. The update will fail if + * invalid fields are specified. The following fields are valid: * `state` When + * set in a query parameter, this field should be specified as + * `updateMask=,,...` + * @return Google_Service_Classroom_GuardianInvitation + */ + public function patch($studentId, $invitationId, Google_Service_Classroom_GuardianInvitation $postBody, $optParams = array()) + { + $params = array('studentId' => $studentId, 'invitationId' => $invitationId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('patch', array($params), "Google_Service_Classroom_GuardianInvitation"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Classroom/Resource/UserProfilesGuardians.php b/vendor/google/apiclient-services/src/Google/Service/Classroom/Resource/UserProfilesGuardians.php new file mode 100644 index 00000000..98a8371f --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Classroom/Resource/UserProfilesGuardians.php @@ -0,0 +1,124 @@ + + * $classroomService = new Google_Service_Classroom(...); + * $guardians = $classroomService->guardians; + * + */ +class Google_Service_Classroom_Resource_UserProfilesGuardians extends Google_Service_Resource +{ + /** + * Deletes a guardian. The guardian will no longer receive guardian + * notifications and the guardian will no longer be accessible via the API. This + * method returns the following error codes: * `PERMISSION_DENIED` if no user + * that matches the provided `student_id` is visible to the requesting user, if + * the requesting user is not permitted to manage guardians for the student + * identified by the `student_id`, if guardians are not enabled for the domain + * in question, or for other access errors. * `INVALID_ARGUMENT` if a + * `student_id` is specified, but its format cannot be recognized (it is not an + * email address, nor a `student_id` from the API). * `NOT_FOUND` if the + * requesting user is permitted to modify guardians for the requested + * `student_id`, but no `Guardian` record exists for that student with the + * provided `guardian_id`. (guardians.delete) + * + * @param string $studentId The student whose guardian is to be deleted. One of + * the following: * the numeric identifier for the user * the email address of + * the user * the string literal `"me"`, indicating the requesting user + * @param string $guardianId The `id` field from a `Guardian`. + * @param array $optParams Optional parameters. + * @return Google_Service_Classroom_ClassroomEmpty + */ + public function delete($studentId, $guardianId, $optParams = array()) + { + $params = array('studentId' => $studentId, 'guardianId' => $guardianId); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params), "Google_Service_Classroom_ClassroomEmpty"); + } + /** + * Returns a specific guardian. This method returns the following error codes: * + * `PERMISSION_DENIED` if no user that matches the provided `student_id` is + * visible to the requesting user, if the requesting user is not permitted to + * view guardian information for the student identified by the `student_id`, if + * guardians are not enabled for the domain in question, or for other access + * errors. * `INVALID_ARGUMENT` if a `student_id` is specified, but its format + * cannot be recognized (it is not an email address, nor a `student_id` from the + * API, nor the literal string `me`). * `NOT_FOUND` if the requesting user is + * permitted to view guardians for the requested `student_id`, but no `Guardian` + * record exists for that student that matches the provided `guardian_id`. + * (guardians.get) + * + * @param string $studentId The student whose guardian is being requested. One + * of the following: * the numeric identifier for the user * the email address + * of the user * the string literal `"me"`, indicating the requesting user + * @param string $guardianId The `id` field from a `Guardian`. + * @param array $optParams Optional parameters. + * @return Google_Service_Classroom_Guardian + */ + public function get($studentId, $guardianId, $optParams = array()) + { + $params = array('studentId' => $studentId, 'guardianId' => $guardianId); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Classroom_Guardian"); + } + /** + * Returns a list of guardians that the requesting user is permitted to view, + * restricted to those that match the request. To list guardians for any student + * that the requesting user may view guardians for, use the literal character + * `-` for the student ID. This method returns the following error codes: * + * `PERMISSION_DENIED` if a `student_id` is specified, and the requesting user + * is not permitted to view guardian information for that student, if `"-"` is + * specified as the `student_id` and the user is not a domain administrator, if + * guardians are not enabled for the domain in question, if the + * `invited_email_address` filter is set by a user who is not a domain + * administrator, or for other access errors. * `INVALID_ARGUMENT` if a + * `student_id` is specified, but its format cannot be recognized (it is not an + * email address, nor a `student_id` from the API, nor the literal string `me`). + * May also be returned if an invalid `page_token` is provided. * `NOT_FOUND` if + * a `student_id` is specified, and its format can be recognized, but Classroom + * has no record of that student. (guardians.listUserProfilesGuardians) + * + * @param string $studentId Filter results by the student who the guardian is + * linked to. The identifier can be one of the following: * the numeric + * identifier for the user * the email address of the user * the string literal + * `"me"`, indicating the requesting user * the string literal `"-"`, indicating + * that results should be returned for all students that the requesting user has + * access to view. + * @param array $optParams Optional parameters. + * + * @opt_param string invitedEmailAddress Filter results by the email address + * that the original invitation was sent to, resulting in this guardian link. + * This filter can only be used by domain administrators. + * @opt_param string pageToken nextPageToken value returned from a previous list + * call, indicating that the subsequent page of results should be returned. The + * list request must be otherwise identical to the one that resulted in this + * token. + * @opt_param int pageSize Maximum number of items to return. Zero or + * unspecified indicates that the server may assign a maximum. The server may + * return fewer than the specified number of results. + * @return Google_Service_Classroom_ListGuardiansResponse + */ + public function listUserProfilesGuardians($studentId, $optParams = array()) + { + $params = array('studentId' => $studentId); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Classroom_ListGuardiansResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Classroom/ReturnStudentSubmissionRequest.php b/vendor/google/apiclient-services/src/Google/Service/Classroom/ReturnStudentSubmissionRequest.php new file mode 100644 index 00000000..e9b41ced --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Classroom/ReturnStudentSubmissionRequest.php @@ -0,0 +1,20 @@ +driveFile = $driveFile; + } + public function getDriveFile() + { + return $this->driveFile; + } + public function setShareMode($shareMode) + { + $this->shareMode = $shareMode; + } + public function getShareMode() + { + return $this->shareMode; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Classroom/ShortAnswerSubmission.php b/vendor/google/apiclient-services/src/Google/Service/Classroom/ShortAnswerSubmission.php new file mode 100644 index 00000000..e4c59121 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Classroom/ShortAnswerSubmission.php @@ -0,0 +1,30 @@ +answer = $answer; + } + public function getAnswer() + { + return $this->answer; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Classroom/Student.php b/vendor/google/apiclient-services/src/Google/Service/Classroom/Student.php new file mode 100644 index 00000000..65e5dcdd --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Classroom/Student.php @@ -0,0 +1,59 @@ +courseId = $courseId; + } + public function getCourseId() + { + return $this->courseId; + } + public function setProfile(Google_Service_Classroom_UserProfile $profile) + { + $this->profile = $profile; + } + public function getProfile() + { + return $this->profile; + } + public function setStudentWorkFolder(Google_Service_Classroom_DriveFolder $studentWorkFolder) + { + $this->studentWorkFolder = $studentWorkFolder; + } + public function getStudentWorkFolder() + { + return $this->studentWorkFolder; + } + public function setUserId($userId) + { + $this->userId = $userId; + } + public function getUserId() + { + return $this->userId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Classroom/StudentSubmission.php b/vendor/google/apiclient-services/src/Google/Service/Classroom/StudentSubmission.php new file mode 100644 index 00000000..82262450 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Classroom/StudentSubmission.php @@ -0,0 +1,168 @@ +alternateLink = $alternateLink; + } + public function getAlternateLink() + { + return $this->alternateLink; + } + public function setAssignedGrade($assignedGrade) + { + $this->assignedGrade = $assignedGrade; + } + public function getAssignedGrade() + { + return $this->assignedGrade; + } + public function setAssignmentSubmission(Google_Service_Classroom_AssignmentSubmission $assignmentSubmission) + { + $this->assignmentSubmission = $assignmentSubmission; + } + public function getAssignmentSubmission() + { + return $this->assignmentSubmission; + } + public function setAssociatedWithDeveloper($associatedWithDeveloper) + { + $this->associatedWithDeveloper = $associatedWithDeveloper; + } + public function getAssociatedWithDeveloper() + { + return $this->associatedWithDeveloper; + } + public function setCourseId($courseId) + { + $this->courseId = $courseId; + } + public function getCourseId() + { + return $this->courseId; + } + public function setCourseWorkId($courseWorkId) + { + $this->courseWorkId = $courseWorkId; + } + public function getCourseWorkId() + { + return $this->courseWorkId; + } + public function setCourseWorkType($courseWorkType) + { + $this->courseWorkType = $courseWorkType; + } + public function getCourseWorkType() + { + return $this->courseWorkType; + } + public function setCreationTime($creationTime) + { + $this->creationTime = $creationTime; + } + public function getCreationTime() + { + return $this->creationTime; + } + public function setDraftGrade($draftGrade) + { + $this->draftGrade = $draftGrade; + } + public function getDraftGrade() + { + return $this->draftGrade; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setLate($late) + { + $this->late = $late; + } + public function getLate() + { + return $this->late; + } + public function setMultipleChoiceSubmission(Google_Service_Classroom_MultipleChoiceSubmission $multipleChoiceSubmission) + { + $this->multipleChoiceSubmission = $multipleChoiceSubmission; + } + public function getMultipleChoiceSubmission() + { + return $this->multipleChoiceSubmission; + } + public function setShortAnswerSubmission(Google_Service_Classroom_ShortAnswerSubmission $shortAnswerSubmission) + { + $this->shortAnswerSubmission = $shortAnswerSubmission; + } + public function getShortAnswerSubmission() + { + return $this->shortAnswerSubmission; + } + public function setState($state) + { + $this->state = $state; + } + public function getState() + { + return $this->state; + } + public function setUpdateTime($updateTime) + { + $this->updateTime = $updateTime; + } + public function getUpdateTime() + { + return $this->updateTime; + } + public function setUserId($userId) + { + $this->userId = $userId; + } + public function getUserId() + { + return $this->userId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Classroom/Teacher.php b/vendor/google/apiclient-services/src/Google/Service/Classroom/Teacher.php new file mode 100644 index 00000000..a8ae4511 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Classroom/Teacher.php @@ -0,0 +1,49 @@ +courseId = $courseId; + } + public function getCourseId() + { + return $this->courseId; + } + public function setProfile(Google_Service_Classroom_UserProfile $profile) + { + $this->profile = $profile; + } + public function getProfile() + { + return $this->profile; + } + public function setUserId($userId) + { + $this->userId = $userId; + } + public function getUserId() + { + return $this->userId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Classroom/TimeOfDay.php b/vendor/google/apiclient-services/src/Google/Service/Classroom/TimeOfDay.php new file mode 100644 index 00000000..77255e1c --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Classroom/TimeOfDay.php @@ -0,0 +1,57 @@ +hours = $hours; + } + public function getHours() + { + return $this->hours; + } + public function setMinutes($minutes) + { + $this->minutes = $minutes; + } + public function getMinutes() + { + return $this->minutes; + } + public function setNanos($nanos) + { + $this->nanos = $nanos; + } + public function getNanos() + { + return $this->nanos; + } + public function setSeconds($seconds) + { + $this->seconds = $seconds; + } + public function getSeconds() + { + return $this->seconds; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Classroom/TurnInStudentSubmissionRequest.php b/vendor/google/apiclient-services/src/Google/Service/Classroom/TurnInStudentSubmissionRequest.php new file mode 100644 index 00000000..47f135bd --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Classroom/TurnInStudentSubmissionRequest.php @@ -0,0 +1,20 @@ +emailAddress = $emailAddress; + } + public function getEmailAddress() + { + return $this->emailAddress; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setName(Google_Service_Classroom_Name $name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setPermissions($permissions) + { + $this->permissions = $permissions; + } + public function getPermissions() + { + return $this->permissions; + } + public function setPhotoUrl($photoUrl) + { + $this->photoUrl = $photoUrl; + } + public function getPhotoUrl() + { + return $this->photoUrl; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Classroom/YouTubeVideo.php b/vendor/google/apiclient-services/src/Google/Service/Classroom/YouTubeVideo.php new file mode 100644 index 00000000..b3c33abc --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Classroom/YouTubeVideo.php @@ -0,0 +1,57 @@ +alternateLink = $alternateLink; + } + public function getAlternateLink() + { + return $this->alternateLink; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setThumbnailUrl($thumbnailUrl) + { + $this->thumbnailUrl = $thumbnailUrl; + } + public function getThumbnailUrl() + { + return $this->thumbnailUrl; + } + public function setTitle($title) + { + $this->title = $title; + } + public function getTitle() + { + return $this->title; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudBuild.php b/vendor/google/apiclient-services/src/Google/Service/CloudBuild.php new file mode 100644 index 00000000..7f483bf1 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudBuild.php @@ -0,0 +1,254 @@ + + * Builds container images in the cloud.

+ * + *

+ * For more information about this service, see the API + * Documentation + *

+ * + * @author Google, Inc. + */ +class Google_Service_CloudBuild extends Google_Service +{ + /** View and manage your data across Google Cloud Platform services. */ + const CLOUD_PLATFORM = + "https://www.googleapis.com/auth/cloud-platform"; + + public $operations; + public $projects_builds; + public $projects_triggers; + + /** + * Constructs the internal representation of the CloudBuild service. + * + * @param Google_Client $client + */ + public function __construct(Google_Client $client) + { + parent::__construct($client); + $this->rootUrl = 'https://cloudbuild.googleapis.com/'; + $this->servicePath = ''; + $this->version = 'v1'; + $this->serviceName = 'cloudbuild'; + + $this->operations = new Google_Service_CloudBuild_Resource_Operations( + $this, + $this->serviceName, + 'operations', + array( + 'methods' => array( + 'cancel' => array( + 'path' => 'v1/{+name}:cancel', + 'httpMethod' => 'POST', + 'parameters' => array( + 'name' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'get' => array( + 'path' => 'v1/{+name}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'name' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'v1/{+name}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'name' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pageSize' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'filter' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + $this->projects_builds = new Google_Service_CloudBuild_Resource_ProjectsBuilds( + $this, + $this->serviceName, + 'builds', + array( + 'methods' => array( + 'cancel' => array( + 'path' => 'v1/projects/{projectId}/builds/{id}:cancel', + 'httpMethod' => 'POST', + 'parameters' => array( + 'projectId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'id' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'create' => array( + 'path' => 'v1/projects/{projectId}/builds', + 'httpMethod' => 'POST', + 'parameters' => array( + 'projectId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'get' => array( + 'path' => 'v1/projects/{projectId}/builds/{id}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'projectId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'id' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'v1/projects/{projectId}/builds', + 'httpMethod' => 'GET', + 'parameters' => array( + 'projectId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'filter' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pageSize' => array( + 'location' => 'query', + 'type' => 'integer', + ), + ), + ), + ) + ) + ); + $this->projects_triggers = new Google_Service_CloudBuild_Resource_ProjectsTriggers( + $this, + $this->serviceName, + 'triggers', + array( + 'methods' => array( + 'create' => array( + 'path' => 'v1/projects/{projectId}/triggers', + 'httpMethod' => 'POST', + 'parameters' => array( + 'projectId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'delete' => array( + 'path' => 'v1/projects/{projectId}/triggers/{triggerId}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'projectId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'triggerId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'get' => array( + 'path' => 'v1/projects/{projectId}/triggers/{triggerId}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'projectId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'triggerId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'v1/projects/{projectId}/triggers', + 'httpMethod' => 'GET', + 'parameters' => array( + 'projectId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'patch' => array( + 'path' => 'v1/projects/{projectId}/triggers/{triggerId}', + 'httpMethod' => 'PATCH', + 'parameters' => array( + 'projectId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'triggerId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudBuild/Build.php b/vendor/google/apiclient-services/src/Google/Service/CloudBuild/Build.php new file mode 100644 index 00000000..7f926793 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudBuild/Build.php @@ -0,0 +1,189 @@ +buildTriggerId = $buildTriggerId; + } + public function getBuildTriggerId() + { + return $this->buildTriggerId; + } + public function setCreateTime($createTime) + { + $this->createTime = $createTime; + } + public function getCreateTime() + { + return $this->createTime; + } + public function setFinishTime($finishTime) + { + $this->finishTime = $finishTime; + } + public function getFinishTime() + { + return $this->finishTime; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setImages($images) + { + $this->images = $images; + } + public function getImages() + { + return $this->images; + } + public function setLogUrl($logUrl) + { + $this->logUrl = $logUrl; + } + public function getLogUrl() + { + return $this->logUrl; + } + public function setLogsBucket($logsBucket) + { + $this->logsBucket = $logsBucket; + } + public function getLogsBucket() + { + return $this->logsBucket; + } + public function setOptions(Google_Service_CloudBuild_BuildOptions $options) + { + $this->options = $options; + } + public function getOptions() + { + return $this->options; + } + public function setProjectId($projectId) + { + $this->projectId = $projectId; + } + public function getProjectId() + { + return $this->projectId; + } + public function setResults(Google_Service_CloudBuild_Results $results) + { + $this->results = $results; + } + public function getResults() + { + return $this->results; + } + public function setSource(Google_Service_CloudBuild_Source $source) + { + $this->source = $source; + } + public function getSource() + { + return $this->source; + } + public function setSourceProvenance(Google_Service_CloudBuild_SourceProvenance $sourceProvenance) + { + $this->sourceProvenance = $sourceProvenance; + } + public function getSourceProvenance() + { + return $this->sourceProvenance; + } + public function setStartTime($startTime) + { + $this->startTime = $startTime; + } + public function getStartTime() + { + return $this->startTime; + } + public function setStatus($status) + { + $this->status = $status; + } + public function getStatus() + { + return $this->status; + } + public function setStatusDetail($statusDetail) + { + $this->statusDetail = $statusDetail; + } + public function getStatusDetail() + { + return $this->statusDetail; + } + public function setSteps($steps) + { + $this->steps = $steps; + } + public function getSteps() + { + return $this->steps; + } + public function setSubstitutions($substitutions) + { + $this->substitutions = $substitutions; + } + public function getSubstitutions() + { + return $this->substitutions; + } + public function setTimeout($timeout) + { + $this->timeout = $timeout; + } + public function getTimeout() + { + return $this->timeout; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudBuild/BuildOperationMetadata.php b/vendor/google/apiclient-services/src/Google/Service/CloudBuild/BuildOperationMetadata.php new file mode 100644 index 00000000..7eaa492c --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudBuild/BuildOperationMetadata.php @@ -0,0 +1,31 @@ +build = $build; + } + public function getBuild() + { + return $this->build; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudBuild/BuildOptions.php b/vendor/google/apiclient-services/src/Google/Service/CloudBuild/BuildOptions.php new file mode 100644 index 00000000..a5bec28a --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudBuild/BuildOptions.php @@ -0,0 +1,40 @@ +requestedVerifyOption = $requestedVerifyOption; + } + public function getRequestedVerifyOption() + { + return $this->requestedVerifyOption; + } + public function setSourceProvenanceHash($sourceProvenanceHash) + { + $this->sourceProvenanceHash = $sourceProvenanceHash; + } + public function getSourceProvenanceHash() + { + return $this->sourceProvenanceHash; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudBuild/BuildStep.php b/vendor/google/apiclient-services/src/Google/Service/CloudBuild/BuildStep.php new file mode 100644 index 00000000..bf4b78be --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudBuild/BuildStep.php @@ -0,0 +1,85 @@ +args = $args; + } + public function getArgs() + { + return $this->args; + } + public function setDir($dir) + { + $this->dir = $dir; + } + public function getDir() + { + return $this->dir; + } + public function setEntrypoint($entrypoint) + { + $this->entrypoint = $entrypoint; + } + public function getEntrypoint() + { + return $this->entrypoint; + } + public function setEnv($env) + { + $this->env = $env; + } + public function getEnv() + { + return $this->env; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setWaitFor($waitFor) + { + $this->waitFor = $waitFor; + } + public function getWaitFor() + { + return $this->waitFor; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudBuild/BuildTrigger.php b/vendor/google/apiclient-services/src/Google/Service/CloudBuild/BuildTrigger.php new file mode 100644 index 00000000..1c9a2274 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudBuild/BuildTrigger.php @@ -0,0 +1,95 @@ +build = $build; + } + public function getBuild() + { + return $this->build; + } + public function setCreateTime($createTime) + { + $this->createTime = $createTime; + } + public function getCreateTime() + { + return $this->createTime; + } + public function setDescription($description) + { + $this->description = $description; + } + public function getDescription() + { + return $this->description; + } + public function setDisabled($disabled) + { + $this->disabled = $disabled; + } + public function getDisabled() + { + return $this->disabled; + } + public function setFilename($filename) + { + $this->filename = $filename; + } + public function getFilename() + { + return $this->filename; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setSubstitutions($substitutions) + { + $this->substitutions = $substitutions; + } + public function getSubstitutions() + { + return $this->substitutions; + } + public function setTriggerTemplate(Google_Service_CloudBuild_RepoSource $triggerTemplate) + { + $this->triggerTemplate = $triggerTemplate; + } + public function getTriggerTemplate() + { + return $this->triggerTemplate; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudBuild/BuiltImage.php b/vendor/google/apiclient-services/src/Google/Service/CloudBuild/BuiltImage.php new file mode 100644 index 00000000..018efa99 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudBuild/BuiltImage.php @@ -0,0 +1,39 @@ +digest = $digest; + } + public function getDigest() + { + return $this->digest; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudBuild/CancelBuildRequest.php b/vendor/google/apiclient-services/src/Google/Service/CloudBuild/CancelBuildRequest.php new file mode 100644 index 00000000..ffb7bbbb --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudBuild/CancelBuildRequest.php @@ -0,0 +1,20 @@ +fileHash = $fileHash; + } + public function getFileHash() + { + return $this->fileHash; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudBuild/Hash.php b/vendor/google/apiclient-services/src/Google/Service/CloudBuild/Hash.php new file mode 100644 index 00000000..3040ebf6 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudBuild/Hash.php @@ -0,0 +1,39 @@ +type = $type; + } + public function getType() + { + return $this->type; + } + public function setValue($value) + { + $this->value = $value; + } + public function getValue() + { + return $this->value; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudBuild/ListBuildTriggersResponse.php b/vendor/google/apiclient-services/src/Google/Service/CloudBuild/ListBuildTriggersResponse.php new file mode 100644 index 00000000..73b9afaa --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudBuild/ListBuildTriggersResponse.php @@ -0,0 +1,32 @@ +triggers = $triggers; + } + public function getTriggers() + { + return $this->triggers; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudBuild/ListBuildsResponse.php b/vendor/google/apiclient-services/src/Google/Service/CloudBuild/ListBuildsResponse.php new file mode 100644 index 00000000..f6749c76 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudBuild/ListBuildsResponse.php @@ -0,0 +1,41 @@ +builds = $builds; + } + public function getBuilds() + { + return $this->builds; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudBuild/ListOperationsResponse.php b/vendor/google/apiclient-services/src/Google/Service/CloudBuild/ListOperationsResponse.php new file mode 100644 index 00000000..ac6517dd --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudBuild/ListOperationsResponse.php @@ -0,0 +1,41 @@ +nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setOperations($operations) + { + $this->operations = $operations; + } + public function getOperations() + { + return $this->operations; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudBuild/Operation.php b/vendor/google/apiclient-services/src/Google/Service/CloudBuild/Operation.php new file mode 100644 index 00000000..2aeb3224 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudBuild/Operation.php @@ -0,0 +1,67 @@ +done = $done; + } + public function getDone() + { + return $this->done; + } + public function setError(Google_Service_CloudBuild_Status $error) + { + $this->error = $error; + } + public function getError() + { + return $this->error; + } + public function setMetadata($metadata) + { + $this->metadata = $metadata; + } + public function getMetadata() + { + return $this->metadata; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setResponse($response) + { + $this->response = $response; + } + public function getResponse() + { + return $this->response; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudBuild/RepoSource.php b/vendor/google/apiclient-services/src/Google/Service/CloudBuild/RepoSource.php new file mode 100644 index 00000000..aae7ef58 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudBuild/RepoSource.php @@ -0,0 +1,66 @@ +branchName = $branchName; + } + public function getBranchName() + { + return $this->branchName; + } + public function setCommitSha($commitSha) + { + $this->commitSha = $commitSha; + } + public function getCommitSha() + { + return $this->commitSha; + } + public function setProjectId($projectId) + { + $this->projectId = $projectId; + } + public function getProjectId() + { + return $this->projectId; + } + public function setRepoName($repoName) + { + $this->repoName = $repoName; + } + public function getRepoName() + { + return $this->repoName; + } + public function setTagName($tagName) + { + $this->tagName = $tagName; + } + public function getTagName() + { + return $this->tagName; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudBuild/Resource/Operations.php b/vendor/google/apiclient-services/src/Google/Service/CloudBuild/Resource/Operations.php new file mode 100644 index 00000000..e4adde4d --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudBuild/Resource/Operations.php @@ -0,0 +1,87 @@ + + * $cloudbuildService = new Google_Service_CloudBuild(...); + * $operations = $cloudbuildService->operations; + * + */ +class Google_Service_CloudBuild_Resource_Operations extends Google_Service_Resource +{ + /** + * Starts asynchronous cancellation on a long-running operation. The server + * makes a best effort to cancel the operation, but success is not guaranteed. + * If the server doesn't support this method, it returns + * `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or + * other methods to check whether the cancellation succeeded or whether the + * operation completed despite cancellation. On successful cancellation, the + * operation is not deleted; instead, it becomes an operation with an + * Operation.error value with a google.rpc.Status.code of 1, corresponding to + * `Code.CANCELLED`. (operations.cancel) + * + * @param string $name The name of the operation resource to be cancelled. + * @param Google_Service_CloudBuild_CancelOperationRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_CloudBuild_CloudbuildEmpty + */ + public function cancel($name, Google_Service_CloudBuild_CancelOperationRequest $postBody, $optParams = array()) + { + $params = array('name' => $name, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('cancel', array($params), "Google_Service_CloudBuild_CloudbuildEmpty"); + } + /** + * Gets the latest state of a long-running operation. Clients can use this + * method to poll the operation result at intervals as recommended by the API + * service. (operations.get) + * + * @param string $name The name of the operation resource. + * @param array $optParams Optional parameters. + * @return Google_Service_CloudBuild_Operation + */ + public function get($name, $optParams = array()) + { + $params = array('name' => $name); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_CloudBuild_Operation"); + } + /** + * Lists operations that match the specified filter in the request. If the + * server doesn't support this method, it returns `UNIMPLEMENTED`. + * + * NOTE: the `name` binding below allows API services to override the binding to + * use different resource name schemes, such as `users/operations`. + * (operations.listOperations) + * + * @param string $name The name of the operation collection. + * @param array $optParams Optional parameters. + * + * @opt_param string pageToken The standard list page token. + * @opt_param int pageSize The standard list page size. + * @opt_param string filter The standard list filter. + * @return Google_Service_CloudBuild_ListOperationsResponse + */ + public function listOperations($name, $optParams = array()) + { + $params = array('name' => $name); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_CloudBuild_ListOperationsResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudBuild/Resource/Projects.php b/vendor/google/apiclient-services/src/Google/Service/CloudBuild/Resource/Projects.php new file mode 100644 index 00000000..d9806091 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudBuild/Resource/Projects.php @@ -0,0 +1,28 @@ + + * $cloudbuildService = new Google_Service_CloudBuild(...); + * $projects = $cloudbuildService->projects; + * + */ +class Google_Service_CloudBuild_Resource_Projects extends Google_Service_Resource +{ +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudBuild/Resource/ProjectsBuilds.php b/vendor/google/apiclient-services/src/Google/Service/CloudBuild/Resource/ProjectsBuilds.php new file mode 100644 index 00000000..e3f22516 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudBuild/Resource/ProjectsBuilds.php @@ -0,0 +1,99 @@ + + * $cloudbuildService = new Google_Service_CloudBuild(...); + * $builds = $cloudbuildService->builds; + * + */ +class Google_Service_CloudBuild_Resource_ProjectsBuilds extends Google_Service_Resource +{ + /** + * Cancels a requested build in progress. (builds.cancel) + * + * @param string $projectId ID of the project. + * @param string $id ID of the build. + * @param Google_Service_CloudBuild_CancelBuildRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_CloudBuild_Build + */ + public function cancel($projectId, $id, Google_Service_CloudBuild_CancelBuildRequest $postBody, $optParams = array()) + { + $params = array('projectId' => $projectId, 'id' => $id, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('cancel', array($params), "Google_Service_CloudBuild_Build"); + } + /** + * Starts a build with the specified configuration. + * + * The long-running Operation returned by this method will include the ID of the + * build, which can be passed to GetBuild to determine its status (e.g., success + * or failure). (builds.create) + * + * @param string $projectId ID of the project. + * @param Google_Service_CloudBuild_Build $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_CloudBuild_Operation + */ + public function create($projectId, Google_Service_CloudBuild_Build $postBody, $optParams = array()) + { + $params = array('projectId' => $projectId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('create', array($params), "Google_Service_CloudBuild_Operation"); + } + /** + * Returns information about a previously requested build. + * + * The Build that is returned includes its status (e.g., success or failure, or + * in-progress), and timing information. (builds.get) + * + * @param string $projectId ID of the project. + * @param string $id ID of the build. + * @param array $optParams Optional parameters. + * @return Google_Service_CloudBuild_Build + */ + public function get($projectId, $id, $optParams = array()) + { + $params = array('projectId' => $projectId, 'id' => $id); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_CloudBuild_Build"); + } + /** + * Lists previously requested builds. + * + * Previously requested builds may still be in-progress, or may have finished + * successfully or unsuccessfully. (builds.listProjectsBuilds) + * + * @param string $projectId ID of the project. + * @param array $optParams Optional parameters. + * + * @opt_param string filter The raw filter text to constrain the results. + * @opt_param string pageToken Token to provide to skip to a particular spot in + * the list. + * @opt_param int pageSize Number of results to return in the list. + * @return Google_Service_CloudBuild_ListBuildsResponse + */ + public function listProjectsBuilds($projectId, $optParams = array()) + { + $params = array('projectId' => $projectId); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_CloudBuild_ListBuildsResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudBuild/Resource/ProjectsTriggers.php b/vendor/google/apiclient-services/src/Google/Service/CloudBuild/Resource/ProjectsTriggers.php new file mode 100644 index 00000000..d978fc4c --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudBuild/Resource/ProjectsTriggers.php @@ -0,0 +1,109 @@ + + * $cloudbuildService = new Google_Service_CloudBuild(...); + * $triggers = $cloudbuildService->triggers; + * + */ +class Google_Service_CloudBuild_Resource_ProjectsTriggers extends Google_Service_Resource +{ + /** + * Creates a new BuildTrigger. + * + * This API is experimental. (triggers.create) + * + * @param string $projectId ID of the project for which to configure automatic + * builds. + * @param Google_Service_CloudBuild_BuildTrigger $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_CloudBuild_BuildTrigger + */ + public function create($projectId, Google_Service_CloudBuild_BuildTrigger $postBody, $optParams = array()) + { + $params = array('projectId' => $projectId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('create', array($params), "Google_Service_CloudBuild_BuildTrigger"); + } + /** + * Deletes an BuildTrigger by its project ID and trigger ID. + * + * This API is experimental. (triggers.delete) + * + * @param string $projectId ID of the project that owns the trigger. + * @param string $triggerId ID of the BuildTrigger to delete. + * @param array $optParams Optional parameters. + * @return Google_Service_CloudBuild_CloudbuildEmpty + */ + public function delete($projectId, $triggerId, $optParams = array()) + { + $params = array('projectId' => $projectId, 'triggerId' => $triggerId); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params), "Google_Service_CloudBuild_CloudbuildEmpty"); + } + /** + * Gets information about a BuildTrigger. + * + * This API is experimental. (triggers.get) + * + * @param string $projectId ID of the project that owns the trigger. + * @param string $triggerId ID of the BuildTrigger to get. + * @param array $optParams Optional parameters. + * @return Google_Service_CloudBuild_BuildTrigger + */ + public function get($projectId, $triggerId, $optParams = array()) + { + $params = array('projectId' => $projectId, 'triggerId' => $triggerId); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_CloudBuild_BuildTrigger"); + } + /** + * Lists existing BuildTrigger. + * + * This API is experimental. (triggers.listProjectsTriggers) + * + * @param string $projectId ID of the project for which to list BuildTriggers. + * @param array $optParams Optional parameters. + * @return Google_Service_CloudBuild_ListBuildTriggersResponse + */ + public function listProjectsTriggers($projectId, $optParams = array()) + { + $params = array('projectId' => $projectId); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_CloudBuild_ListBuildTriggersResponse"); + } + /** + * Updates an BuildTrigger by its project ID and trigger ID. + * + * This API is experimental. (triggers.patch) + * + * @param string $projectId ID of the project that owns the trigger. + * @param string $triggerId ID of the BuildTrigger to update. + * @param Google_Service_CloudBuild_BuildTrigger $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_CloudBuild_BuildTrigger + */ + public function patch($projectId, $triggerId, Google_Service_CloudBuild_BuildTrigger $postBody, $optParams = array()) + { + $params = array('projectId' => $projectId, 'triggerId' => $triggerId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('patch', array($params), "Google_Service_CloudBuild_BuildTrigger"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudBuild/Results.php b/vendor/google/apiclient-services/src/Google/Service/CloudBuild/Results.php new file mode 100644 index 00000000..a1f776d4 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudBuild/Results.php @@ -0,0 +1,41 @@ +buildStepImages = $buildStepImages; + } + public function getBuildStepImages() + { + return $this->buildStepImages; + } + public function setImages($images) + { + $this->images = $images; + } + public function getImages() + { + return $this->images; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudBuild/Source.php b/vendor/google/apiclient-services/src/Google/Service/CloudBuild/Source.php new file mode 100644 index 00000000..a6e26a02 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudBuild/Source.php @@ -0,0 +1,41 @@ +repoSource = $repoSource; + } + public function getRepoSource() + { + return $this->repoSource; + } + public function setStorageSource(Google_Service_CloudBuild_StorageSource $storageSource) + { + $this->storageSource = $storageSource; + } + public function getStorageSource() + { + return $this->storageSource; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudBuild/SourceProvenance.php b/vendor/google/apiclient-services/src/Google/Service/CloudBuild/SourceProvenance.php new file mode 100644 index 00000000..a89a9c5f --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudBuild/SourceProvenance.php @@ -0,0 +1,51 @@ +fileHashes = $fileHashes; + } + public function getFileHashes() + { + return $this->fileHashes; + } + public function setResolvedRepoSource(Google_Service_CloudBuild_RepoSource $resolvedRepoSource) + { + $this->resolvedRepoSource = $resolvedRepoSource; + } + public function getResolvedRepoSource() + { + return $this->resolvedRepoSource; + } + public function setResolvedStorageSource(Google_Service_CloudBuild_StorageSource $resolvedStorageSource) + { + $this->resolvedStorageSource = $resolvedStorageSource; + } + public function getResolvedStorageSource() + { + return $this->resolvedStorageSource; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudBuild/Status.php b/vendor/google/apiclient-services/src/Google/Service/CloudBuild/Status.php new file mode 100644 index 00000000..66067950 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudBuild/Status.php @@ -0,0 +1,49 @@ +code = $code; + } + public function getCode() + { + return $this->code; + } + public function setDetails($details) + { + $this->details = $details; + } + public function getDetails() + { + return $this->details; + } + public function setMessage($message) + { + $this->message = $message; + } + public function getMessage() + { + return $this->message; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudBuild/StorageSource.php b/vendor/google/apiclient-services/src/Google/Service/CloudBuild/StorageSource.php new file mode 100644 index 00000000..3a3df0a4 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudBuild/StorageSource.php @@ -0,0 +1,48 @@ +bucket = $bucket; + } + public function getBucket() + { + return $this->bucket; + } + public function setGeneration($generation) + { + $this->generation = $generation; + } + public function getGeneration() + { + return $this->generation; + } + public function setObject($object) + { + $this->object = $object; + } + public function getObject() + { + return $this->object; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudDebugger.php b/vendor/google/apiclient-services/src/Google/Service/CloudDebugger.php new file mode 100644 index 00000000..79744f14 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudDebugger.php @@ -0,0 +1,240 @@ + + * Examines the call stack and variables of a running application without + * stopping or slowing it down.

+ * + *

+ * For more information about this service, see the API + * Documentation + *

+ * + * @author Google, Inc. + */ +class Google_Service_CloudDebugger extends Google_Service +{ + /** View and manage your data across Google Cloud Platform services. */ + const CLOUD_PLATFORM = + "https://www.googleapis.com/auth/cloud-platform"; + /** Manage cloud debugger. */ + const CLOUD_DEBUGGER = + "https://www.googleapis.com/auth/cloud_debugger"; + + public $controller_debuggees; + public $controller_debuggees_breakpoints; + public $debugger_debuggees; + public $debugger_debuggees_breakpoints; + + /** + * Constructs the internal representation of the CloudDebugger service. + * + * @param Google_Client $client + */ + public function __construct(Google_Client $client) + { + parent::__construct($client); + $this->rootUrl = 'https://clouddebugger.googleapis.com/'; + $this->servicePath = ''; + $this->version = 'v2'; + $this->serviceName = 'clouddebugger'; + + $this->controller_debuggees = new Google_Service_CloudDebugger_Resource_ControllerDebuggees( + $this, + $this->serviceName, + 'debuggees', + array( + 'methods' => array( + 'register' => array( + 'path' => 'v2/controller/debuggees/register', + 'httpMethod' => 'POST', + 'parameters' => array(), + ), + ) + ) + ); + $this->controller_debuggees_breakpoints = new Google_Service_CloudDebugger_Resource_ControllerDebuggeesBreakpoints( + $this, + $this->serviceName, + 'breakpoints', + array( + 'methods' => array( + 'list' => array( + 'path' => 'v2/controller/debuggees/{debuggeeId}/breakpoints', + 'httpMethod' => 'GET', + 'parameters' => array( + 'debuggeeId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'successOnTimeout' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + 'waitToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'update' => array( + 'path' => 'v2/controller/debuggees/{debuggeeId}/breakpoints/{id}', + 'httpMethod' => 'PUT', + 'parameters' => array( + 'debuggeeId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'id' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->debugger_debuggees = new Google_Service_CloudDebugger_Resource_DebuggerDebuggees( + $this, + $this->serviceName, + 'debuggees', + array( + 'methods' => array( + 'list' => array( + 'path' => 'v2/debugger/debuggees', + 'httpMethod' => 'GET', + 'parameters' => array( + 'clientVersion' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'includeInactive' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + 'project' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + $this->debugger_debuggees_breakpoints = new Google_Service_CloudDebugger_Resource_DebuggerDebuggeesBreakpoints( + $this, + $this->serviceName, + 'breakpoints', + array( + 'methods' => array( + 'delete' => array( + 'path' => 'v2/debugger/debuggees/{debuggeeId}/breakpoints/{breakpointId}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'debuggeeId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'breakpointId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'clientVersion' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'get' => array( + 'path' => 'v2/debugger/debuggees/{debuggeeId}/breakpoints/{breakpointId}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'debuggeeId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'breakpointId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'clientVersion' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'list' => array( + 'path' => 'v2/debugger/debuggees/{debuggeeId}/breakpoints', + 'httpMethod' => 'GET', + 'parameters' => array( + 'debuggeeId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'stripResults' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + 'waitToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'clientVersion' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'action.value' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'includeAllUsers' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + 'includeInactive' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + ), + ),'set' => array( + 'path' => 'v2/debugger/debuggees/{debuggeeId}/breakpoints/set', + 'httpMethod' => 'POST', + 'parameters' => array( + 'debuggeeId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'clientVersion' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudDebugger/AliasContext.php b/vendor/google/apiclient-services/src/Google/Service/CloudDebugger/AliasContext.php new file mode 100644 index 00000000..0a0d9892 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudDebugger/AliasContext.php @@ -0,0 +1,39 @@ +kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudDebugger/Breakpoint.php b/vendor/google/apiclient-services/src/Google/Service/CloudDebugger/Breakpoint.php new file mode 100644 index 00000000..146ca95a --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudDebugger/Breakpoint.php @@ -0,0 +1,171 @@ +action = $action; + } + public function getAction() + { + return $this->action; + } + public function setCondition($condition) + { + $this->condition = $condition; + } + public function getCondition() + { + return $this->condition; + } + public function setCreateTime($createTime) + { + $this->createTime = $createTime; + } + public function getCreateTime() + { + return $this->createTime; + } + public function setEvaluatedExpressions($evaluatedExpressions) + { + $this->evaluatedExpressions = $evaluatedExpressions; + } + public function getEvaluatedExpressions() + { + return $this->evaluatedExpressions; + } + public function setExpressions($expressions) + { + $this->expressions = $expressions; + } + public function getExpressions() + { + return $this->expressions; + } + public function setFinalTime($finalTime) + { + $this->finalTime = $finalTime; + } + public function getFinalTime() + { + return $this->finalTime; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setIsFinalState($isFinalState) + { + $this->isFinalState = $isFinalState; + } + public function getIsFinalState() + { + return $this->isFinalState; + } + public function setLabels($labels) + { + $this->labels = $labels; + } + public function getLabels() + { + return $this->labels; + } + public function setLocation(Google_Service_CloudDebugger_SourceLocation $location) + { + $this->location = $location; + } + public function getLocation() + { + return $this->location; + } + public function setLogLevel($logLevel) + { + $this->logLevel = $logLevel; + } + public function getLogLevel() + { + return $this->logLevel; + } + public function setLogMessageFormat($logMessageFormat) + { + $this->logMessageFormat = $logMessageFormat; + } + public function getLogMessageFormat() + { + return $this->logMessageFormat; + } + public function setStackFrames($stackFrames) + { + $this->stackFrames = $stackFrames; + } + public function getStackFrames() + { + return $this->stackFrames; + } + public function setStatus(Google_Service_CloudDebugger_StatusMessage $status) + { + $this->status = $status; + } + public function getStatus() + { + return $this->status; + } + public function setUserEmail($userEmail) + { + $this->userEmail = $userEmail; + } + public function getUserEmail() + { + return $this->userEmail; + } + public function setVariableTable($variableTable) + { + $this->variableTable = $variableTable; + } + public function getVariableTable() + { + return $this->variableTable; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudDebugger/CloudRepoSourceContext.php b/vendor/google/apiclient-services/src/Google/Service/CloudDebugger/CloudRepoSourceContext.php new file mode 100644 index 00000000..fcd5d8b8 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudDebugger/CloudRepoSourceContext.php @@ -0,0 +1,59 @@ +aliasContext = $aliasContext; + } + public function getAliasContext() + { + return $this->aliasContext; + } + public function setAliasName($aliasName) + { + $this->aliasName = $aliasName; + } + public function getAliasName() + { + return $this->aliasName; + } + public function setRepoId(Google_Service_CloudDebugger_RepoId $repoId) + { + $this->repoId = $repoId; + } + public function getRepoId() + { + return $this->repoId; + } + public function setRevisionId($revisionId) + { + $this->revisionId = $revisionId; + } + public function getRevisionId() + { + return $this->revisionId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudDebugger/CloudWorkspaceId.php b/vendor/google/apiclient-services/src/Google/Service/CloudDebugger/CloudWorkspaceId.php new file mode 100644 index 00000000..30d3bd82 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudDebugger/CloudWorkspaceId.php @@ -0,0 +1,40 @@ +name = $name; + } + public function getName() + { + return $this->name; + } + public function setRepoId(Google_Service_CloudDebugger_RepoId $repoId) + { + $this->repoId = $repoId; + } + public function getRepoId() + { + return $this->repoId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudDebugger/CloudWorkspaceSourceContext.php b/vendor/google/apiclient-services/src/Google/Service/CloudDebugger/CloudWorkspaceSourceContext.php new file mode 100644 index 00000000..a29c6abb --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudDebugger/CloudWorkspaceSourceContext.php @@ -0,0 +1,40 @@ +snapshotId = $snapshotId; + } + public function getSnapshotId() + { + return $this->snapshotId; + } + public function setWorkspaceId(Google_Service_CloudDebugger_CloudWorkspaceId $workspaceId) + { + $this->workspaceId = $workspaceId; + } + public function getWorkspaceId() + { + return $this->workspaceId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudDebugger/ClouddebuggerEmpty.php b/vendor/google/apiclient-services/src/Google/Service/CloudDebugger/ClouddebuggerEmpty.php new file mode 100644 index 00000000..1baaee17 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudDebugger/ClouddebuggerEmpty.php @@ -0,0 +1,20 @@ +agentVersion = $agentVersion; + } + public function getAgentVersion() + { + return $this->agentVersion; + } + public function setDescription($description) + { + $this->description = $description; + } + public function getDescription() + { + return $this->description; + } + public function setExtSourceContexts($extSourceContexts) + { + $this->extSourceContexts = $extSourceContexts; + } + public function getExtSourceContexts() + { + return $this->extSourceContexts; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setIsDisabled($isDisabled) + { + $this->isDisabled = $isDisabled; + } + public function getIsDisabled() + { + return $this->isDisabled; + } + public function setIsInactive($isInactive) + { + $this->isInactive = $isInactive; + } + public function getIsInactive() + { + return $this->isInactive; + } + public function setLabels($labels) + { + $this->labels = $labels; + } + public function getLabels() + { + return $this->labels; + } + public function setProject($project) + { + $this->project = $project; + } + public function getProject() + { + return $this->project; + } + public function setSourceContexts($sourceContexts) + { + $this->sourceContexts = $sourceContexts; + } + public function getSourceContexts() + { + return $this->sourceContexts; + } + public function setStatus(Google_Service_CloudDebugger_StatusMessage $status) + { + $this->status = $status; + } + public function getStatus() + { + return $this->status; + } + public function setUniquifier($uniquifier) + { + $this->uniquifier = $uniquifier; + } + public function getUniquifier() + { + return $this->uniquifier; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudDebugger/ExtendedSourceContext.php b/vendor/google/apiclient-services/src/Google/Service/CloudDebugger/ExtendedSourceContext.php new file mode 100644 index 00000000..bdde38dd --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudDebugger/ExtendedSourceContext.php @@ -0,0 +1,40 @@ +context = $context; + } + public function getContext() + { + return $this->context; + } + public function setLabels($labels) + { + $this->labels = $labels; + } + public function getLabels() + { + return $this->labels; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudDebugger/FormatMessage.php b/vendor/google/apiclient-services/src/Google/Service/CloudDebugger/FormatMessage.php new file mode 100644 index 00000000..e56e5f9c --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudDebugger/FormatMessage.php @@ -0,0 +1,40 @@ +format = $format; + } + public function getFormat() + { + return $this->format; + } + public function setParameters($parameters) + { + $this->parameters = $parameters; + } + public function getParameters() + { + return $this->parameters; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudDebugger/GerritSourceContext.php b/vendor/google/apiclient-services/src/Google/Service/CloudDebugger/GerritSourceContext.php new file mode 100644 index 00000000..4cb77f83 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudDebugger/GerritSourceContext.php @@ -0,0 +1,67 @@ +aliasContext = $aliasContext; + } + public function getAliasContext() + { + return $this->aliasContext; + } + public function setAliasName($aliasName) + { + $this->aliasName = $aliasName; + } + public function getAliasName() + { + return $this->aliasName; + } + public function setGerritProject($gerritProject) + { + $this->gerritProject = $gerritProject; + } + public function getGerritProject() + { + return $this->gerritProject; + } + public function setHostUri($hostUri) + { + $this->hostUri = $hostUri; + } + public function getHostUri() + { + return $this->hostUri; + } + public function setRevisionId($revisionId) + { + $this->revisionId = $revisionId; + } + public function getRevisionId() + { + return $this->revisionId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudDebugger/GetBreakpointResponse.php b/vendor/google/apiclient-services/src/Google/Service/CloudDebugger/GetBreakpointResponse.php new file mode 100644 index 00000000..de523178 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudDebugger/GetBreakpointResponse.php @@ -0,0 +1,31 @@ +breakpoint = $breakpoint; + } + public function getBreakpoint() + { + return $this->breakpoint; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudDebugger/GitSourceContext.php b/vendor/google/apiclient-services/src/Google/Service/CloudDebugger/GitSourceContext.php new file mode 100644 index 00000000..2d916fc1 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudDebugger/GitSourceContext.php @@ -0,0 +1,39 @@ +revisionId = $revisionId; + } + public function getRevisionId() + { + return $this->revisionId; + } + public function setUrl($url) + { + $this->url = $url; + } + public function getUrl() + { + return $this->url; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudDebugger/ListActiveBreakpointsResponse.php b/vendor/google/apiclient-services/src/Google/Service/CloudDebugger/ListActiveBreakpointsResponse.php new file mode 100644 index 00000000..ec0375dc --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudDebugger/ListActiveBreakpointsResponse.php @@ -0,0 +1,50 @@ +breakpoints = $breakpoints; + } + public function getBreakpoints() + { + return $this->breakpoints; + } + public function setNextWaitToken($nextWaitToken) + { + $this->nextWaitToken = $nextWaitToken; + } + public function getNextWaitToken() + { + return $this->nextWaitToken; + } + public function setWaitExpired($waitExpired) + { + $this->waitExpired = $waitExpired; + } + public function getWaitExpired() + { + return $this->waitExpired; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudDebugger/ListBreakpointsResponse.php b/vendor/google/apiclient-services/src/Google/Service/CloudDebugger/ListBreakpointsResponse.php new file mode 100644 index 00000000..dabcf969 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudDebugger/ListBreakpointsResponse.php @@ -0,0 +1,41 @@ +breakpoints = $breakpoints; + } + public function getBreakpoints() + { + return $this->breakpoints; + } + public function setNextWaitToken($nextWaitToken) + { + $this->nextWaitToken = $nextWaitToken; + } + public function getNextWaitToken() + { + return $this->nextWaitToken; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudDebugger/ListDebuggeesResponse.php b/vendor/google/apiclient-services/src/Google/Service/CloudDebugger/ListDebuggeesResponse.php new file mode 100644 index 00000000..2669e3cb --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudDebugger/ListDebuggeesResponse.php @@ -0,0 +1,32 @@ +debuggees = $debuggees; + } + public function getDebuggees() + { + return $this->debuggees; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudDebugger/ProjectRepoId.php b/vendor/google/apiclient-services/src/Google/Service/CloudDebugger/ProjectRepoId.php new file mode 100644 index 00000000..7036340f --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudDebugger/ProjectRepoId.php @@ -0,0 +1,39 @@ +projectId = $projectId; + } + public function getProjectId() + { + return $this->projectId; + } + public function setRepoName($repoName) + { + $this->repoName = $repoName; + } + public function getRepoName() + { + return $this->repoName; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudDebugger/RegisterDebuggeeRequest.php b/vendor/google/apiclient-services/src/Google/Service/CloudDebugger/RegisterDebuggeeRequest.php new file mode 100644 index 00000000..1e395463 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudDebugger/RegisterDebuggeeRequest.php @@ -0,0 +1,31 @@ +debuggee = $debuggee; + } + public function getDebuggee() + { + return $this->debuggee; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudDebugger/RegisterDebuggeeResponse.php b/vendor/google/apiclient-services/src/Google/Service/CloudDebugger/RegisterDebuggeeResponse.php new file mode 100644 index 00000000..cbd171c1 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudDebugger/RegisterDebuggeeResponse.php @@ -0,0 +1,31 @@ +debuggee = $debuggee; + } + public function getDebuggee() + { + return $this->debuggee; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudDebugger/RepoId.php b/vendor/google/apiclient-services/src/Google/Service/CloudDebugger/RepoId.php new file mode 100644 index 00000000..c5a3b8bb --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudDebugger/RepoId.php @@ -0,0 +1,40 @@ +projectRepoId = $projectRepoId; + } + public function getProjectRepoId() + { + return $this->projectRepoId; + } + public function setUid($uid) + { + $this->uid = $uid; + } + public function getUid() + { + return $this->uid; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudDebugger/Resource/Controller.php b/vendor/google/apiclient-services/src/Google/Service/CloudDebugger/Resource/Controller.php new file mode 100644 index 00000000..70699a84 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudDebugger/Resource/Controller.php @@ -0,0 +1,28 @@ + + * $clouddebuggerService = new Google_Service_CloudDebugger(...); + * $controller = $clouddebuggerService->controller; + * + */ +class Google_Service_CloudDebugger_Resource_Controller extends Google_Service_Resource +{ +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudDebugger/Resource/ControllerDebuggees.php b/vendor/google/apiclient-services/src/Google/Service/CloudDebugger/Resource/ControllerDebuggees.php new file mode 100644 index 00000000..e016aabf --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudDebugger/Resource/ControllerDebuggees.php @@ -0,0 +1,50 @@ + + * $clouddebuggerService = new Google_Service_CloudDebugger(...); + * $debuggees = $clouddebuggerService->debuggees; + * + */ +class Google_Service_CloudDebugger_Resource_ControllerDebuggees extends Google_Service_Resource +{ + /** + * Registers the debuggee with the controller service. + * + * All agents attached to the same application should call this method with the + * same request content to get back the same stable `debuggee_id`. Agents should + * call this method again whenever `google.rpc.Code.NOT_FOUND` is returned from + * any controller method. + * + * This allows the controller service to disable the agent or recover from any + * data loss. If the debuggee is disabled by the server, the response will have + * `is_disabled` set to `true`. (debuggees.register) + * + * @param Google_Service_CloudDebugger_RegisterDebuggeeRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_CloudDebugger_RegisterDebuggeeResponse + */ + public function register(Google_Service_CloudDebugger_RegisterDebuggeeRequest $postBody, $optParams = array()) + { + $params = array('postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('register', array($params), "Google_Service_CloudDebugger_RegisterDebuggeeResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudDebugger/Resource/ControllerDebuggeesBreakpoints.php b/vendor/google/apiclient-services/src/Google/Service/CloudDebugger/Resource/ControllerDebuggeesBreakpoints.php new file mode 100644 index 00000000..9c948c8c --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudDebugger/Resource/ControllerDebuggeesBreakpoints.php @@ -0,0 +1,85 @@ + + * $clouddebuggerService = new Google_Service_CloudDebugger(...); + * $breakpoints = $clouddebuggerService->breakpoints; + * + */ +class Google_Service_CloudDebugger_Resource_ControllerDebuggeesBreakpoints extends Google_Service_Resource +{ + /** + * Returns the list of all active breakpoints for the debuggee. + * + * The breakpoint specification (location, condition, and expression fields) is + * semantically immutable, although the field values may change. For example, an + * agent may update the location line number to reflect the actual line where + * the breakpoint was set, but this doesn't change the breakpoint semantics. + * + * This means that an agent does not need to check if a breakpoint has changed + * when it encounters the same breakpoint on a successive call. Moreover, an + * agent should remember the breakpoints that are completed until the controller + * removes them from the active list to avoid setting those breakpoints again. + * (breakpoints.listControllerDebuggeesBreakpoints) + * + * @param string $debuggeeId Identifies the debuggee. + * @param array $optParams Optional parameters. + * + * @opt_param bool successOnTimeout If set to `true`, returns + * `google.rpc.Code.OK` status and sets the `wait_expired` response field to + * `true` when the server-selected timeout has expired (recommended). + * + * If set to `false`, returns `google.rpc.Code.ABORTED` status when the server- + * selected timeout has expired (deprecated). + * @opt_param string waitToken A wait token that, if specified, blocks the + * method call until the list of active breakpoints has changed, or a server + * selected timeout has expired. The value should be set from the last returned + * response. + * @return Google_Service_CloudDebugger_ListActiveBreakpointsResponse + */ + public function listControllerDebuggeesBreakpoints($debuggeeId, $optParams = array()) + { + $params = array('debuggeeId' => $debuggeeId); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_CloudDebugger_ListActiveBreakpointsResponse"); + } + /** + * Updates the breakpoint state or mutable fields. The entire Breakpoint message + * must be sent back to the controller service. + * + * Updates to active breakpoint fields are only allowed if the new value does + * not change the breakpoint specification. Updates to the `location`, + * `condition` and `expression` fields should not alter the breakpoint + * semantics. These may only make changes such as canonicalizing a value or + * snapping the location to the correct line of code. (breakpoints.update) + * + * @param string $debuggeeId Identifies the debuggee being debugged. + * @param string $id Breakpoint identifier, unique in the scope of the debuggee. + * @param Google_Service_CloudDebugger_UpdateActiveBreakpointRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_CloudDebugger_UpdateActiveBreakpointResponse + */ + public function update($debuggeeId, $id, Google_Service_CloudDebugger_UpdateActiveBreakpointRequest $postBody, $optParams = array()) + { + $params = array('debuggeeId' => $debuggeeId, 'id' => $id, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('update', array($params), "Google_Service_CloudDebugger_UpdateActiveBreakpointResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudDebugger/Resource/Debugger.php b/vendor/google/apiclient-services/src/Google/Service/CloudDebugger/Resource/Debugger.php new file mode 100644 index 00000000..955317f5 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudDebugger/Resource/Debugger.php @@ -0,0 +1,28 @@ + + * $clouddebuggerService = new Google_Service_CloudDebugger(...); + * $debugger = $clouddebuggerService->debugger; + * + */ +class Google_Service_CloudDebugger_Resource_Debugger extends Google_Service_Resource +{ +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudDebugger/Resource/DebuggerDebuggees.php b/vendor/google/apiclient-services/src/Google/Service/CloudDebugger/Resource/DebuggerDebuggees.php new file mode 100644 index 00000000..09871712 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudDebugger/Resource/DebuggerDebuggees.php @@ -0,0 +1,48 @@ + + * $clouddebuggerService = new Google_Service_CloudDebugger(...); + * $debuggees = $clouddebuggerService->debuggees; + * + */ +class Google_Service_CloudDebugger_Resource_DebuggerDebuggees extends Google_Service_Resource +{ + /** + * Lists all the debuggees that the user can set breakpoints to. + * (debuggees.listDebuggerDebuggees) + * + * @param array $optParams Optional parameters. + * + * @opt_param string clientVersion The client version making the call. + * Following: `domain/type/version` (e.g., `google.com/intellij/v1`). + * @opt_param bool includeInactive When set to `true`, the result includes all + * debuggees. Otherwise, the result includes only debuggees that are active. + * @opt_param string project Project number of a Google Cloud project whose + * debuggees to list. + * @return Google_Service_CloudDebugger_ListDebuggeesResponse + */ + public function listDebuggerDebuggees($optParams = array()) + { + $params = array(); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_CloudDebugger_ListDebuggeesResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudDebugger/Resource/DebuggerDebuggeesBreakpoints.php b/vendor/google/apiclient-services/src/Google/Service/CloudDebugger/Resource/DebuggerDebuggeesBreakpoints.php new file mode 100644 index 00000000..dc07a2c1 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudDebugger/Resource/DebuggerDebuggeesBreakpoints.php @@ -0,0 +1,113 @@ + + * $clouddebuggerService = new Google_Service_CloudDebugger(...); + * $breakpoints = $clouddebuggerService->breakpoints; + * + */ +class Google_Service_CloudDebugger_Resource_DebuggerDebuggeesBreakpoints extends Google_Service_Resource +{ + /** + * Deletes the breakpoint from the debuggee. (breakpoints.delete) + * + * @param string $debuggeeId ID of the debuggee whose breakpoint to delete. + * @param string $breakpointId ID of the breakpoint to delete. + * @param array $optParams Optional parameters. + * + * @opt_param string clientVersion The client version making the call. + * Following: `domain/type/version` (e.g., `google.com/intellij/v1`). + * @return Google_Service_CloudDebugger_ClouddebuggerEmpty + */ + public function delete($debuggeeId, $breakpointId, $optParams = array()) + { + $params = array('debuggeeId' => $debuggeeId, 'breakpointId' => $breakpointId); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params), "Google_Service_CloudDebugger_ClouddebuggerEmpty"); + } + /** + * Gets breakpoint information. (breakpoints.get) + * + * @param string $debuggeeId ID of the debuggee whose breakpoint to get. + * @param string $breakpointId ID of the breakpoint to get. + * @param array $optParams Optional parameters. + * + * @opt_param string clientVersion The client version making the call. + * Following: `domain/type/version` (e.g., `google.com/intellij/v1`). + * @return Google_Service_CloudDebugger_GetBreakpointResponse + */ + public function get($debuggeeId, $breakpointId, $optParams = array()) + { + $params = array('debuggeeId' => $debuggeeId, 'breakpointId' => $breakpointId); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_CloudDebugger_GetBreakpointResponse"); + } + /** + * Lists all breakpoints for the debuggee. + * (breakpoints.listDebuggerDebuggeesBreakpoints) + * + * @param string $debuggeeId ID of the debuggee whose breakpoints to list. + * @param array $optParams Optional parameters. + * + * @opt_param bool stripResults This field is deprecated. The following fields + * are always stripped out of the result: `stack_frames`, + * `evaluated_expressions` and `variable_table`. + * @opt_param string waitToken A wait token that, if specified, blocks the call + * until the breakpoints list has changed, or a server selected timeout has + * expired. The value should be set from the last response. The error code + * `google.rpc.Code.ABORTED` (RPC) is returned on wait timeout, which should be + * called again with the same `wait_token`. + * @opt_param string clientVersion The client version making the call. + * Following: `domain/type/version` (e.g., `google.com/intellij/v1`). + * @opt_param string action.value Only breakpoints with the specified action + * will pass the filter. + * @opt_param bool includeAllUsers When set to `true`, the response includes the + * list of breakpoints set by any user. Otherwise, it includes only breakpoints + * set by the caller. + * @opt_param bool includeInactive When set to `true`, the response includes + * active and inactive breakpoints. Otherwise, it includes only active + * breakpoints. + * @return Google_Service_CloudDebugger_ListBreakpointsResponse + */ + public function listDebuggerDebuggeesBreakpoints($debuggeeId, $optParams = array()) + { + $params = array('debuggeeId' => $debuggeeId); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_CloudDebugger_ListBreakpointsResponse"); + } + /** + * Sets the breakpoint to the debuggee. (breakpoints.set) + * + * @param string $debuggeeId ID of the debuggee where the breakpoint is to be + * set. + * @param Google_Service_CloudDebugger_Breakpoint $postBody + * @param array $optParams Optional parameters. + * + * @opt_param string clientVersion The client version making the call. + * Following: `domain/type/version` (e.g., `google.com/intellij/v1`). + * @return Google_Service_CloudDebugger_SetBreakpointResponse + */ + public function set($debuggeeId, Google_Service_CloudDebugger_Breakpoint $postBody, $optParams = array()) + { + $params = array('debuggeeId' => $debuggeeId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('set', array($params), "Google_Service_CloudDebugger_SetBreakpointResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudDebugger/SetBreakpointResponse.php b/vendor/google/apiclient-services/src/Google/Service/CloudDebugger/SetBreakpointResponse.php new file mode 100644 index 00000000..4616a51d --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudDebugger/SetBreakpointResponse.php @@ -0,0 +1,31 @@ +breakpoint = $breakpoint; + } + public function getBreakpoint() + { + return $this->breakpoint; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudDebugger/SourceContext.php b/vendor/google/apiclient-services/src/Google/Service/CloudDebugger/SourceContext.php new file mode 100644 index 00000000..e6eb484b --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudDebugger/SourceContext.php @@ -0,0 +1,61 @@ +cloudRepo = $cloudRepo; + } + public function getCloudRepo() + { + return $this->cloudRepo; + } + public function setCloudWorkspace(Google_Service_CloudDebugger_CloudWorkspaceSourceContext $cloudWorkspace) + { + $this->cloudWorkspace = $cloudWorkspace; + } + public function getCloudWorkspace() + { + return $this->cloudWorkspace; + } + public function setGerrit(Google_Service_CloudDebugger_GerritSourceContext $gerrit) + { + $this->gerrit = $gerrit; + } + public function getGerrit() + { + return $this->gerrit; + } + public function setGit(Google_Service_CloudDebugger_GitSourceContext $git) + { + $this->git = $git; + } + public function getGit() + { + return $this->git; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudDebugger/SourceLocation.php b/vendor/google/apiclient-services/src/Google/Service/CloudDebugger/SourceLocation.php new file mode 100644 index 00000000..a896bb7f --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudDebugger/SourceLocation.php @@ -0,0 +1,39 @@ +line = $line; + } + public function getLine() + { + return $this->line; + } + public function setPath($path) + { + $this->path = $path; + } + public function getPath() + { + return $this->path; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudDebugger/StackFrame.php b/vendor/google/apiclient-services/src/Google/Service/CloudDebugger/StackFrame.php new file mode 100644 index 00000000..a06beb7e --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudDebugger/StackFrame.php @@ -0,0 +1,61 @@ +arguments = $arguments; + } + public function getArguments() + { + return $this->arguments; + } + public function setFunction($function) + { + $this->function = $function; + } + public function getFunction() + { + return $this->function; + } + public function setLocals($locals) + { + $this->locals = $locals; + } + public function getLocals() + { + return $this->locals; + } + public function setLocation(Google_Service_CloudDebugger_SourceLocation $location) + { + $this->location = $location; + } + public function getLocation() + { + return $this->location; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudDebugger/StatusMessage.php b/vendor/google/apiclient-services/src/Google/Service/CloudDebugger/StatusMessage.php new file mode 100644 index 00000000..43ba9882 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudDebugger/StatusMessage.php @@ -0,0 +1,49 @@ +description = $description; + } + public function getDescription() + { + return $this->description; + } + public function setIsError($isError) + { + $this->isError = $isError; + } + public function getIsError() + { + return $this->isError; + } + public function setRefersTo($refersTo) + { + $this->refersTo = $refersTo; + } + public function getRefersTo() + { + return $this->refersTo; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudDebugger/UpdateActiveBreakpointRequest.php b/vendor/google/apiclient-services/src/Google/Service/CloudDebugger/UpdateActiveBreakpointRequest.php new file mode 100644 index 00000000..3181a61a --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudDebugger/UpdateActiveBreakpointRequest.php @@ -0,0 +1,31 @@ +breakpoint = $breakpoint; + } + public function getBreakpoint() + { + return $this->breakpoint; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudDebugger/UpdateActiveBreakpointResponse.php b/vendor/google/apiclient-services/src/Google/Service/CloudDebugger/UpdateActiveBreakpointResponse.php new file mode 100644 index 00000000..a65647da --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudDebugger/UpdateActiveBreakpointResponse.php @@ -0,0 +1,20 @@ +members = $members; + } + public function getMembers() + { + return $this->members; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setStatus(Google_Service_CloudDebugger_StatusMessage $status) + { + $this->status = $status; + } + public function getStatus() + { + return $this->status; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } + public function setValue($value) + { + $this->value = $value; + } + public function getValue() + { + return $this->value; + } + public function setVarTableIndex($varTableIndex) + { + $this->varTableIndex = $varTableIndex; + } + public function getVarTableIndex() + { + return $this->varTableIndex; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudFunctions.php b/vendor/google/apiclient-services/src/Google/Service/CloudFunctions.php new file mode 100644 index 00000000..2ce8b7d2 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudFunctions.php @@ -0,0 +1,207 @@ + + * API for managing lightweight user-provided functions executed in response to + * events.

+ * + *

+ * For more information about this service, see the API + * Documentation + *

+ * + * @author Google, Inc. + */ +class Google_Service_CloudFunctions extends Google_Service +{ + /** View and manage your data across Google Cloud Platform services. */ + const CLOUD_PLATFORM = + "https://www.googleapis.com/auth/cloud-platform"; + + public $operations; + public $projects_locations; + public $projects_locations_functions; + + /** + * Constructs the internal representation of the CloudFunctions service. + * + * @param Google_Client $client + */ + public function __construct(Google_Client $client) + { + parent::__construct($client); + $this->rootUrl = 'https://cloudfunctions.googleapis.com/'; + $this->servicePath = ''; + $this->version = 'v1beta2'; + $this->serviceName = 'cloudfunctions'; + + $this->operations = new Google_Service_CloudFunctions_Resource_Operations( + $this, + $this->serviceName, + 'operations', + array( + 'methods' => array( + 'get' => array( + 'path' => 'v1beta2/{+name}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'name' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'v1beta2/operations', + 'httpMethod' => 'GET', + 'parameters' => array( + 'filter' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'name' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pageSize' => array( + 'location' => 'query', + 'type' => 'integer', + ), + ), + ), + ) + ) + ); + $this->projects_locations = new Google_Service_CloudFunctions_Resource_ProjectsLocations( + $this, + $this->serviceName, + 'locations', + array( + 'methods' => array( + 'list' => array( + 'path' => 'v1beta2/{+name}/locations', + 'httpMethod' => 'GET', + 'parameters' => array( + 'name' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'filter' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pageSize' => array( + 'location' => 'query', + 'type' => 'integer', + ), + ), + ), + ) + ) + ); + $this->projects_locations_functions = new Google_Service_CloudFunctions_Resource_ProjectsLocationsFunctions( + $this, + $this->serviceName, + 'functions', + array( + 'methods' => array( + 'call' => array( + 'path' => 'v1beta2/{+name}:call', + 'httpMethod' => 'POST', + 'parameters' => array( + 'name' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'create' => array( + 'path' => 'v1beta2/{+location}/functions', + 'httpMethod' => 'POST', + 'parameters' => array( + 'location' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'delete' => array( + 'path' => 'v1beta2/{+name}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'name' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'get' => array( + 'path' => 'v1beta2/{+name}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'name' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'v1beta2/{+location}/functions', + 'httpMethod' => 'GET', + 'parameters' => array( + 'location' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pageSize' => array( + 'location' => 'query', + 'type' => 'integer', + ), + ), + ),'update' => array( + 'path' => 'v1beta2/{+name}', + 'httpMethod' => 'PUT', + 'parameters' => array( + 'name' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudFunctions/CallFunctionRequest.php b/vendor/google/apiclient-services/src/Google/Service/CloudFunctions/CallFunctionRequest.php new file mode 100644 index 00000000..5ab182c3 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudFunctions/CallFunctionRequest.php @@ -0,0 +1,30 @@ +data = $data; + } + public function getData() + { + return $this->data; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudFunctions/CallFunctionResponse.php b/vendor/google/apiclient-services/src/Google/Service/CloudFunctions/CallFunctionResponse.php new file mode 100644 index 00000000..c610940e --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudFunctions/CallFunctionResponse.php @@ -0,0 +1,48 @@ +error = $error; + } + public function getError() + { + return $this->error; + } + public function setExecutionId($executionId) + { + $this->executionId = $executionId; + } + public function getExecutionId() + { + return $this->executionId; + } + public function setResult($result) + { + $this->result = $result; + } + public function getResult() + { + return $this->result; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudFunctions/CloudFunction.php b/vendor/google/apiclient-services/src/Google/Service/CloudFunctions/CloudFunction.php new file mode 100644 index 00000000..09ce0bba --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudFunctions/CloudFunction.php @@ -0,0 +1,132 @@ +availableMemoryMb = $availableMemoryMb; + } + public function getAvailableMemoryMb() + { + return $this->availableMemoryMb; + } + public function setEntryPoint($entryPoint) + { + $this->entryPoint = $entryPoint; + } + public function getEntryPoint() + { + return $this->entryPoint; + } + public function setEventTrigger(Google_Service_CloudFunctions_EventTrigger $eventTrigger) + { + $this->eventTrigger = $eventTrigger; + } + public function getEventTrigger() + { + return $this->eventTrigger; + } + public function setHttpsTrigger(Google_Service_CloudFunctions_HTTPSTrigger $httpsTrigger) + { + $this->httpsTrigger = $httpsTrigger; + } + public function getHttpsTrigger() + { + return $this->httpsTrigger; + } + public function setLatestOperation($latestOperation) + { + $this->latestOperation = $latestOperation; + } + public function getLatestOperation() + { + return $this->latestOperation; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setServiceAccount($serviceAccount) + { + $this->serviceAccount = $serviceAccount; + } + public function getServiceAccount() + { + return $this->serviceAccount; + } + public function setSourceArchiveUrl($sourceArchiveUrl) + { + $this->sourceArchiveUrl = $sourceArchiveUrl; + } + public function getSourceArchiveUrl() + { + return $this->sourceArchiveUrl; + } + public function setSourceRepository(Google_Service_CloudFunctions_SourceRepository $sourceRepository) + { + $this->sourceRepository = $sourceRepository; + } + public function getSourceRepository() + { + return $this->sourceRepository; + } + public function setStatus($status) + { + $this->status = $status; + } + public function getStatus() + { + return $this->status; + } + public function setTimeout($timeout) + { + $this->timeout = $timeout; + } + public function getTimeout() + { + return $this->timeout; + } + public function setUpdateTime($updateTime) + { + $this->updateTime = $updateTime; + } + public function getUpdateTime() + { + return $this->updateTime; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudFunctions/EventTrigger.php b/vendor/google/apiclient-services/src/Google/Service/CloudFunctions/EventTrigger.php new file mode 100644 index 00000000..03095384 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudFunctions/EventTrigger.php @@ -0,0 +1,39 @@ +eventType = $eventType; + } + public function getEventType() + { + return $this->eventType; + } + public function setResource($resource) + { + $this->resource = $resource; + } + public function getResource() + { + return $this->resource; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudFunctions/HTTPSTrigger.php b/vendor/google/apiclient-services/src/Google/Service/CloudFunctions/HTTPSTrigger.php new file mode 100644 index 00000000..1141c4bd --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudFunctions/HTTPSTrigger.php @@ -0,0 +1,30 @@ +url = $url; + } + public function getUrl() + { + return $this->url; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudFunctions/ListFunctionsResponse.php b/vendor/google/apiclient-services/src/Google/Service/CloudFunctions/ListFunctionsResponse.php new file mode 100644 index 00000000..c8ec7722 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudFunctions/ListFunctionsResponse.php @@ -0,0 +1,41 @@ +functions = $functions; + } + public function getFunctions() + { + return $this->functions; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudFunctions/ListLocationsResponse.php b/vendor/google/apiclient-services/src/Google/Service/CloudFunctions/ListLocationsResponse.php new file mode 100644 index 00000000..5e4fe418 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudFunctions/ListLocationsResponse.php @@ -0,0 +1,41 @@ +locations = $locations; + } + public function getLocations() + { + return $this->locations; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudFunctions/ListOperationsResponse.php b/vendor/google/apiclient-services/src/Google/Service/CloudFunctions/ListOperationsResponse.php new file mode 100644 index 00000000..9de98b6d --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudFunctions/ListOperationsResponse.php @@ -0,0 +1,41 @@ +nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setOperations($operations) + { + $this->operations = $operations; + } + public function getOperations() + { + return $this->operations; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudFunctions/Location.php b/vendor/google/apiclient-services/src/Google/Service/CloudFunctions/Location.php new file mode 100644 index 00000000..1cf8057d --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudFunctions/Location.php @@ -0,0 +1,57 @@ +labels = $labels; + } + public function getLabels() + { + return $this->labels; + } + public function setLocationId($locationId) + { + $this->locationId = $locationId; + } + public function getLocationId() + { + return $this->locationId; + } + public function setMetadata($metadata) + { + $this->metadata = $metadata; + } + public function getMetadata() + { + return $this->metadata; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudFunctions/Operation.php b/vendor/google/apiclient-services/src/Google/Service/CloudFunctions/Operation.php new file mode 100644 index 00000000..4385fb57 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudFunctions/Operation.php @@ -0,0 +1,67 @@ +done = $done; + } + public function getDone() + { + return $this->done; + } + public function setError(Google_Service_CloudFunctions_Status $error) + { + $this->error = $error; + } + public function getError() + { + return $this->error; + } + public function setMetadata($metadata) + { + $this->metadata = $metadata; + } + public function getMetadata() + { + return $this->metadata; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setResponse($response) + { + $this->response = $response; + } + public function getResponse() + { + return $this->response; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudFunctions/OperationMetadataV1Beta2.php b/vendor/google/apiclient-services/src/Google/Service/CloudFunctions/OperationMetadataV1Beta2.php new file mode 100644 index 00000000..76430bc5 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudFunctions/OperationMetadataV1Beta2.php @@ -0,0 +1,48 @@ +request = $request; + } + public function getRequest() + { + return $this->request; + } + public function setTarget($target) + { + $this->target = $target; + } + public function getTarget() + { + return $this->target; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudFunctions/Resource/Operations.php b/vendor/google/apiclient-services/src/Google/Service/CloudFunctions/Resource/Operations.php new file mode 100644 index 00000000..4b431326 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudFunctions/Resource/Operations.php @@ -0,0 +1,65 @@ + + * $cloudfunctionsService = new Google_Service_CloudFunctions(...); + * $operations = $cloudfunctionsService->operations; + * + */ +class Google_Service_CloudFunctions_Resource_Operations extends Google_Service_Resource +{ + /** + * Gets the latest state of a long-running operation. Clients can use this + * method to poll the operation result at intervals as recommended by the API + * service. (operations.get) + * + * @param string $name The name of the operation resource. + * @param array $optParams Optional parameters. + * @return Google_Service_CloudFunctions_Operation + */ + public function get($name, $optParams = array()) + { + $params = array('name' => $name); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_CloudFunctions_Operation"); + } + /** + * Lists operations that match the specified filter in the request. If the + * server doesn't support this method, it returns `UNIMPLEMENTED`. + * + * NOTE: the `name` binding below allows API services to override the binding to + * use different resource name schemes, such as `users/operations`. + * (operations.listOperations) + * + * @param array $optParams Optional parameters. + * + * @opt_param string filter The standard list filter. + * @opt_param string name The name of the operation collection. + * @opt_param string pageToken The standard list page token. + * @opt_param int pageSize The standard list page size. + * @return Google_Service_CloudFunctions_ListOperationsResponse + */ + public function listOperations($optParams = array()) + { + $params = array(); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_CloudFunctions_ListOperationsResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudFunctions/Resource/Projects.php b/vendor/google/apiclient-services/src/Google/Service/CloudFunctions/Resource/Projects.php new file mode 100644 index 00000000..96f030fa --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudFunctions/Resource/Projects.php @@ -0,0 +1,28 @@ + + * $cloudfunctionsService = new Google_Service_CloudFunctions(...); + * $projects = $cloudfunctionsService->projects; + * + */ +class Google_Service_CloudFunctions_Resource_Projects extends Google_Service_Resource +{ +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudFunctions/Resource/ProjectsLocations.php b/vendor/google/apiclient-services/src/Google/Service/CloudFunctions/Resource/ProjectsLocations.php new file mode 100644 index 00000000..b233fcce --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudFunctions/Resource/ProjectsLocations.php @@ -0,0 +1,47 @@ + + * $cloudfunctionsService = new Google_Service_CloudFunctions(...); + * $locations = $cloudfunctionsService->locations; + * + */ +class Google_Service_CloudFunctions_Resource_ProjectsLocations extends Google_Service_Resource +{ + /** + * Lists information about the supported locations for this service. + * (locations.listProjectsLocations) + * + * @param string $name The resource that owns the locations collection, if + * applicable. + * @param array $optParams Optional parameters. + * + * @opt_param string filter The standard list filter. + * @opt_param string pageToken The standard list page token. + * @opt_param int pageSize The standard list page size. + * @return Google_Service_CloudFunctions_ListLocationsResponse + */ + public function listProjectsLocations($name, $optParams = array()) + { + $params = array('name' => $name); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_CloudFunctions_ListLocationsResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudFunctions/Resource/ProjectsLocationsFunctions.php b/vendor/google/apiclient-services/src/Google/Service/CloudFunctions/Resource/ProjectsLocationsFunctions.php new file mode 100644 index 00000000..bf62afc3 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudFunctions/Resource/ProjectsLocationsFunctions.php @@ -0,0 +1,126 @@ + + * $cloudfunctionsService = new Google_Service_CloudFunctions(...); + * $functions = $cloudfunctionsService->functions; + * + */ +class Google_Service_CloudFunctions_Resource_ProjectsLocationsFunctions extends Google_Service_Resource +{ + /** + * Invokes synchronously deployed function. To be used for testing, very limited + * traffic allowed. (functions.callProjectsLocationsFunctions) + * + * @param string $name The name of the function to be called. + * @param Google_Service_CloudFunctions_CallFunctionRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_CloudFunctions_CallFunctionResponse + */ + public function callProjectsLocationsFunctions($name, Google_Service_CloudFunctions_CallFunctionRequest $postBody, $optParams = array()) + { + $params = array('name' => $name, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('call', array($params), "Google_Service_CloudFunctions_CallFunctionResponse"); + } + /** + * Creates a new function. If a function with the given name already exists in + * the specified project, the long running operation will return + * `ALREADY_EXISTS` error. (functions.create) + * + * @param string $location The project and location in which the function should + * be created, specified in the format `projects/locations` + * @param Google_Service_CloudFunctions_CloudFunction $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_CloudFunctions_Operation + */ + public function create($location, Google_Service_CloudFunctions_CloudFunction $postBody, $optParams = array()) + { + $params = array('location' => $location, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('create', array($params), "Google_Service_CloudFunctions_Operation"); + } + /** + * Deletes a function with the given name from the specified project. If the + * given function is used by some trigger, the trigger will be updated to remove + * this function. (functions.delete) + * + * @param string $name The name of the function which should be deleted. + * @param array $optParams Optional parameters. + * @return Google_Service_CloudFunctions_Operation + */ + public function delete($name, $optParams = array()) + { + $params = array('name' => $name); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params), "Google_Service_CloudFunctions_Operation"); + } + /** + * Returns a function with the given name from the requested project. + * (functions.get) + * + * @param string $name The name of the function which details should be + * obtained. + * @param array $optParams Optional parameters. + * @return Google_Service_CloudFunctions_CloudFunction + */ + public function get($name, $optParams = array()) + { + $params = array('name' => $name); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_CloudFunctions_CloudFunction"); + } + /** + * Returns a list of functions that belong to the requested project. + * (functions.listProjectsLocationsFunctions) + * + * @param string $location The project and location from which the function + * should be listed, specified in the format `projects/locations` If you want to + * list functions in all locations, use "-" in place of a location. + * @param array $optParams Optional parameters. + * + * @opt_param string pageToken The value returned by the last + * `ListFunctionsResponse`; indicates that this is a continuation of a prior + * `ListFunctions` call, and that the system should return the next page of + * data. + * @opt_param int pageSize Maximum number of functions to return per call. + * @return Google_Service_CloudFunctions_ListFunctionsResponse + */ + public function listProjectsLocationsFunctions($location, $optParams = array()) + { + $params = array('location' => $location); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_CloudFunctions_ListFunctionsResponse"); + } + /** + * Updates existing function. (functions.update) + * + * @param string $name The name of the function to be updated. + * @param Google_Service_CloudFunctions_CloudFunction $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_CloudFunctions_Operation + */ + public function update($name, Google_Service_CloudFunctions_CloudFunction $postBody, $optParams = array()) + { + $params = array('name' => $name, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('update', array($params), "Google_Service_CloudFunctions_Operation"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudFunctions/SourceRepository.php b/vendor/google/apiclient-services/src/Google/Service/CloudFunctions/SourceRepository.php new file mode 100644 index 00000000..d1727e45 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudFunctions/SourceRepository.php @@ -0,0 +1,75 @@ +branch = $branch; + } + public function getBranch() + { + return $this->branch; + } + public function setDeployedRevision($deployedRevision) + { + $this->deployedRevision = $deployedRevision; + } + public function getDeployedRevision() + { + return $this->deployedRevision; + } + public function setRepositoryUrl($repositoryUrl) + { + $this->repositoryUrl = $repositoryUrl; + } + public function getRepositoryUrl() + { + return $this->repositoryUrl; + } + public function setRevision($revision) + { + $this->revision = $revision; + } + public function getRevision() + { + return $this->revision; + } + public function setSourcePath($sourcePath) + { + $this->sourcePath = $sourcePath; + } + public function getSourcePath() + { + return $this->sourcePath; + } + public function setTag($tag) + { + $this->tag = $tag; + } + public function getTag() + { + return $this->tag; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudFunctions/Status.php b/vendor/google/apiclient-services/src/Google/Service/CloudFunctions/Status.php new file mode 100644 index 00000000..c0a151cc --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudFunctions/Status.php @@ -0,0 +1,49 @@ +code = $code; + } + public function getCode() + { + return $this->code; + } + public function setDetails($details) + { + $this->details = $details; + } + public function getDetails() + { + return $this->details; + } + public function setMessage($message) + { + $this->message = $message; + } + public function getMessage() + { + return $this->message; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudKMS.php b/vendor/google/apiclient-services/src/Google/Service/CloudKMS.php new file mode 100644 index 00000000..2ee4d958 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudKMS.php @@ -0,0 +1,389 @@ + + * Manages encryption for your cloud services the same way you do on-premise. + * You can generate, use, rotate, and destroy AES256 encryption keys.

+ * + *

+ * For more information about this service, see the API + * Documentation + *

+ * + * @author Google, Inc. + */ +class Google_Service_CloudKMS extends Google_Service +{ + /** View and manage your data across Google Cloud Platform services. */ + const CLOUD_PLATFORM = + "https://www.googleapis.com/auth/cloud-platform"; + + public $projects_locations; + public $projects_locations_keyRings; + public $projects_locations_keyRings_cryptoKeys; + public $projects_locations_keyRings_cryptoKeys_cryptoKeyVersions; + + /** + * Constructs the internal representation of the CloudKMS service. + * + * @param Google_Client $client + */ + public function __construct(Google_Client $client) + { + parent::__construct($client); + $this->rootUrl = 'https://cloudkms.googleapis.com/'; + $this->servicePath = ''; + $this->version = 'v1'; + $this->serviceName = 'cloudkms'; + + $this->projects_locations = new Google_Service_CloudKMS_Resource_ProjectsLocations( + $this, + $this->serviceName, + 'locations', + array( + 'methods' => array( + 'get' => array( + 'path' => 'v1/{+name}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'name' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'v1/{+name}/locations', + 'httpMethod' => 'GET', + 'parameters' => array( + 'name' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'filter' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pageSize' => array( + 'location' => 'query', + 'type' => 'integer', + ), + ), + ), + ) + ) + ); + $this->projects_locations_keyRings = new Google_Service_CloudKMS_Resource_ProjectsLocationsKeyRings( + $this, + $this->serviceName, + 'keyRings', + array( + 'methods' => array( + 'create' => array( + 'path' => 'v1/{+parent}/keyRings', + 'httpMethod' => 'POST', + 'parameters' => array( + 'parent' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'keyRingId' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'get' => array( + 'path' => 'v1/{+name}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'name' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'getIamPolicy' => array( + 'path' => 'v1/{+resource}:getIamPolicy', + 'httpMethod' => 'GET', + 'parameters' => array( + 'resource' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'v1/{+parent}/keyRings', + 'httpMethod' => 'GET', + 'parameters' => array( + 'parent' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pageSize' => array( + 'location' => 'query', + 'type' => 'integer', + ), + ), + ),'setIamPolicy' => array( + 'path' => 'v1/{+resource}:setIamPolicy', + 'httpMethod' => 'POST', + 'parameters' => array( + 'resource' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'testIamPermissions' => array( + 'path' => 'v1/{+resource}:testIamPermissions', + 'httpMethod' => 'POST', + 'parameters' => array( + 'resource' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->projects_locations_keyRings_cryptoKeys = new Google_Service_CloudKMS_Resource_ProjectsLocationsKeyRingsCryptoKeys( + $this, + $this->serviceName, + 'cryptoKeys', + array( + 'methods' => array( + 'create' => array( + 'path' => 'v1/{+parent}/cryptoKeys', + 'httpMethod' => 'POST', + 'parameters' => array( + 'parent' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'cryptoKeyId' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'decrypt' => array( + 'path' => 'v1/{+name}:decrypt', + 'httpMethod' => 'POST', + 'parameters' => array( + 'name' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'encrypt' => array( + 'path' => 'v1/{+name}:encrypt', + 'httpMethod' => 'POST', + 'parameters' => array( + 'name' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'get' => array( + 'path' => 'v1/{+name}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'name' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'getIamPolicy' => array( + 'path' => 'v1/{+resource}:getIamPolicy', + 'httpMethod' => 'GET', + 'parameters' => array( + 'resource' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'v1/{+parent}/cryptoKeys', + 'httpMethod' => 'GET', + 'parameters' => array( + 'parent' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pageSize' => array( + 'location' => 'query', + 'type' => 'integer', + ), + ), + ),'patch' => array( + 'path' => 'v1/{+name}', + 'httpMethod' => 'PATCH', + 'parameters' => array( + 'name' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'updateMask' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'setIamPolicy' => array( + 'path' => 'v1/{+resource}:setIamPolicy', + 'httpMethod' => 'POST', + 'parameters' => array( + 'resource' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'testIamPermissions' => array( + 'path' => 'v1/{+resource}:testIamPermissions', + 'httpMethod' => 'POST', + 'parameters' => array( + 'resource' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'updatePrimaryVersion' => array( + 'path' => 'v1/{+name}:updatePrimaryVersion', + 'httpMethod' => 'POST', + 'parameters' => array( + 'name' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->projects_locations_keyRings_cryptoKeys_cryptoKeyVersions = new Google_Service_CloudKMS_Resource_ProjectsLocationsKeyRingsCryptoKeysCryptoKeyVersions( + $this, + $this->serviceName, + 'cryptoKeyVersions', + array( + 'methods' => array( + 'create' => array( + 'path' => 'v1/{+parent}/cryptoKeyVersions', + 'httpMethod' => 'POST', + 'parameters' => array( + 'parent' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'destroy' => array( + 'path' => 'v1/{+name}:destroy', + 'httpMethod' => 'POST', + 'parameters' => array( + 'name' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'get' => array( + 'path' => 'v1/{+name}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'name' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'v1/{+parent}/cryptoKeyVersions', + 'httpMethod' => 'GET', + 'parameters' => array( + 'parent' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pageSize' => array( + 'location' => 'query', + 'type' => 'integer', + ), + ), + ),'patch' => array( + 'path' => 'v1/{+name}', + 'httpMethod' => 'PATCH', + 'parameters' => array( + 'name' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'updateMask' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'restore' => array( + 'path' => 'v1/{+name}:restore', + 'httpMethod' => 'POST', + 'parameters' => array( + 'name' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudKMS/AuditConfig.php b/vendor/google/apiclient-services/src/Google/Service/CloudKMS/AuditConfig.php new file mode 100644 index 00000000..d723d3ad --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudKMS/AuditConfig.php @@ -0,0 +1,50 @@ +auditLogConfigs = $auditLogConfigs; + } + public function getAuditLogConfigs() + { + return $this->auditLogConfigs; + } + public function setExemptedMembers($exemptedMembers) + { + $this->exemptedMembers = $exemptedMembers; + } + public function getExemptedMembers() + { + return $this->exemptedMembers; + } + public function setService($service) + { + $this->service = $service; + } + public function getService() + { + return $this->service; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudKMS/AuditLogConfig.php b/vendor/google/apiclient-services/src/Google/Service/CloudKMS/AuditLogConfig.php new file mode 100644 index 00000000..1e4df3fc --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudKMS/AuditLogConfig.php @@ -0,0 +1,40 @@ +exemptedMembers = $exemptedMembers; + } + public function getExemptedMembers() + { + return $this->exemptedMembers; + } + public function setLogType($logType) + { + $this->logType = $logType; + } + public function getLogType() + { + return $this->logType; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudKMS/Binding.php b/vendor/google/apiclient-services/src/Google/Service/CloudKMS/Binding.php new file mode 100644 index 00000000..518959df --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudKMS/Binding.php @@ -0,0 +1,40 @@ +members = $members; + } + public function getMembers() + { + return $this->members; + } + public function setRole($role) + { + $this->role = $role; + } + public function getRole() + { + return $this->role; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudKMS/CloudAuditOptions.php b/vendor/google/apiclient-services/src/Google/Service/CloudKMS/CloudAuditOptions.php new file mode 100644 index 00000000..a46f146b --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudKMS/CloudAuditOptions.php @@ -0,0 +1,20 @@ +iam = $iam; + } + public function getIam() + { + return $this->iam; + } + public function setOp($op) + { + $this->op = $op; + } + public function getOp() + { + return $this->op; + } + public function setSvc($svc) + { + $this->svc = $svc; + } + public function getSvc() + { + return $this->svc; + } + public function setSys($sys) + { + $this->sys = $sys; + } + public function getSys() + { + return $this->sys; + } + public function setValue($value) + { + $this->value = $value; + } + public function getValue() + { + return $this->value; + } + public function setValues($values) + { + $this->values = $values; + } + public function getValues() + { + return $this->values; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudKMS/CounterOptions.php b/vendor/google/apiclient-services/src/Google/Service/CloudKMS/CounterOptions.php new file mode 100644 index 00000000..13bd4afb --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudKMS/CounterOptions.php @@ -0,0 +1,39 @@ +field = $field; + } + public function getField() + { + return $this->field; + } + public function setMetric($metric) + { + $this->metric = $metric; + } + public function getMetric() + { + return $this->metric; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudKMS/CryptoKey.php b/vendor/google/apiclient-services/src/Google/Service/CloudKMS/CryptoKey.php new file mode 100644 index 00000000..ce6443e2 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudKMS/CryptoKey.php @@ -0,0 +1,76 @@ +createTime = $createTime; + } + public function getCreateTime() + { + return $this->createTime; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setNextRotationTime($nextRotationTime) + { + $this->nextRotationTime = $nextRotationTime; + } + public function getNextRotationTime() + { + return $this->nextRotationTime; + } + public function setPrimary(Google_Service_CloudKMS_CryptoKeyVersion $primary) + { + $this->primary = $primary; + } + public function getPrimary() + { + return $this->primary; + } + public function setPurpose($purpose) + { + $this->purpose = $purpose; + } + public function getPurpose() + { + return $this->purpose; + } + public function setRotationPeriod($rotationPeriod) + { + $this->rotationPeriod = $rotationPeriod; + } + public function getRotationPeriod() + { + return $this->rotationPeriod; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudKMS/CryptoKeyVersion.php b/vendor/google/apiclient-services/src/Google/Service/CloudKMS/CryptoKeyVersion.php new file mode 100644 index 00000000..764a3b57 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudKMS/CryptoKeyVersion.php @@ -0,0 +1,66 @@ +createTime = $createTime; + } + public function getCreateTime() + { + return $this->createTime; + } + public function setDestroyEventTime($destroyEventTime) + { + $this->destroyEventTime = $destroyEventTime; + } + public function getDestroyEventTime() + { + return $this->destroyEventTime; + } + public function setDestroyTime($destroyTime) + { + $this->destroyTime = $destroyTime; + } + public function getDestroyTime() + { + return $this->destroyTime; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setState($state) + { + $this->state = $state; + } + public function getState() + { + return $this->state; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudKMS/DataAccessOptions.php b/vendor/google/apiclient-services/src/Google/Service/CloudKMS/DataAccessOptions.php new file mode 100644 index 00000000..616a5a64 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudKMS/DataAccessOptions.php @@ -0,0 +1,20 @@ +additionalAuthenticatedData = $additionalAuthenticatedData; + } + public function getAdditionalAuthenticatedData() + { + return $this->additionalAuthenticatedData; + } + public function setCiphertext($ciphertext) + { + $this->ciphertext = $ciphertext; + } + public function getCiphertext() + { + return $this->ciphertext; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudKMS/DecryptResponse.php b/vendor/google/apiclient-services/src/Google/Service/CloudKMS/DecryptResponse.php new file mode 100644 index 00000000..25834642 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudKMS/DecryptResponse.php @@ -0,0 +1,30 @@ +plaintext = $plaintext; + } + public function getPlaintext() + { + return $this->plaintext; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudKMS/DestroyCryptoKeyVersionRequest.php b/vendor/google/apiclient-services/src/Google/Service/CloudKMS/DestroyCryptoKeyVersionRequest.php new file mode 100644 index 00000000..080dff6e --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudKMS/DestroyCryptoKeyVersionRequest.php @@ -0,0 +1,20 @@ +additionalAuthenticatedData = $additionalAuthenticatedData; + } + public function getAdditionalAuthenticatedData() + { + return $this->additionalAuthenticatedData; + } + public function setPlaintext($plaintext) + { + $this->plaintext = $plaintext; + } + public function getPlaintext() + { + return $this->plaintext; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudKMS/EncryptResponse.php b/vendor/google/apiclient-services/src/Google/Service/CloudKMS/EncryptResponse.php new file mode 100644 index 00000000..59756352 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudKMS/EncryptResponse.php @@ -0,0 +1,39 @@ +ciphertext = $ciphertext; + } + public function getCiphertext() + { + return $this->ciphertext; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudKMS/KeyRing.php b/vendor/google/apiclient-services/src/Google/Service/CloudKMS/KeyRing.php new file mode 100644 index 00000000..0c28e6c8 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudKMS/KeyRing.php @@ -0,0 +1,39 @@ +createTime = $createTime; + } + public function getCreateTime() + { + return $this->createTime; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudKMS/ListCryptoKeyVersionsResponse.php b/vendor/google/apiclient-services/src/Google/Service/CloudKMS/ListCryptoKeyVersionsResponse.php new file mode 100644 index 00000000..e2fb03b6 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudKMS/ListCryptoKeyVersionsResponse.php @@ -0,0 +1,50 @@ +cryptoKeyVersions = $cryptoKeyVersions; + } + public function getCryptoKeyVersions() + { + return $this->cryptoKeyVersions; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setTotalSize($totalSize) + { + $this->totalSize = $totalSize; + } + public function getTotalSize() + { + return $this->totalSize; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudKMS/ListCryptoKeysResponse.php b/vendor/google/apiclient-services/src/Google/Service/CloudKMS/ListCryptoKeysResponse.php new file mode 100644 index 00000000..6c601d48 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudKMS/ListCryptoKeysResponse.php @@ -0,0 +1,50 @@ +cryptoKeys = $cryptoKeys; + } + public function getCryptoKeys() + { + return $this->cryptoKeys; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setTotalSize($totalSize) + { + $this->totalSize = $totalSize; + } + public function getTotalSize() + { + return $this->totalSize; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudKMS/ListKeyRingsResponse.php b/vendor/google/apiclient-services/src/Google/Service/CloudKMS/ListKeyRingsResponse.php new file mode 100644 index 00000000..07b0a709 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudKMS/ListKeyRingsResponse.php @@ -0,0 +1,50 @@ +keyRings = $keyRings; + } + public function getKeyRings() + { + return $this->keyRings; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setTotalSize($totalSize) + { + $this->totalSize = $totalSize; + } + public function getTotalSize() + { + return $this->totalSize; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudKMS/ListLocationsResponse.php b/vendor/google/apiclient-services/src/Google/Service/CloudKMS/ListLocationsResponse.php new file mode 100644 index 00000000..c8d71f4f --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudKMS/ListLocationsResponse.php @@ -0,0 +1,41 @@ +locations = $locations; + } + public function getLocations() + { + return $this->locations; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudKMS/Location.php b/vendor/google/apiclient-services/src/Google/Service/CloudKMS/Location.php new file mode 100644 index 00000000..f9960bfd --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudKMS/Location.php @@ -0,0 +1,57 @@ +labels = $labels; + } + public function getLabels() + { + return $this->labels; + } + public function setLocationId($locationId) + { + $this->locationId = $locationId; + } + public function getLocationId() + { + return $this->locationId; + } + public function setMetadata($metadata) + { + $this->metadata = $metadata; + } + public function getMetadata() + { + return $this->metadata; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudKMS/LogConfig.php b/vendor/google/apiclient-services/src/Google/Service/CloudKMS/LogConfig.php new file mode 100644 index 00000000..0e9affde --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudKMS/LogConfig.php @@ -0,0 +1,51 @@ +cloudAudit = $cloudAudit; + } + public function getCloudAudit() + { + return $this->cloudAudit; + } + public function setCounter(Google_Service_CloudKMS_CounterOptions $counter) + { + $this->counter = $counter; + } + public function getCounter() + { + return $this->counter; + } + public function setDataAccess(Google_Service_CloudKMS_DataAccessOptions $dataAccess) + { + $this->dataAccess = $dataAccess; + } + public function getDataAccess() + { + return $this->dataAccess; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudKMS/Policy.php b/vendor/google/apiclient-services/src/Google/Service/CloudKMS/Policy.php new file mode 100644 index 00000000..8fbce2c2 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudKMS/Policy.php @@ -0,0 +1,79 @@ +auditConfigs = $auditConfigs; + } + public function getAuditConfigs() + { + return $this->auditConfigs; + } + public function setBindings($bindings) + { + $this->bindings = $bindings; + } + public function getBindings() + { + return $this->bindings; + } + public function setEtag($etag) + { + $this->etag = $etag; + } + public function getEtag() + { + return $this->etag; + } + public function setIamOwned($iamOwned) + { + $this->iamOwned = $iamOwned; + } + public function getIamOwned() + { + return $this->iamOwned; + } + public function setRules($rules) + { + $this->rules = $rules; + } + public function getRules() + { + return $this->rules; + } + public function setVersion($version) + { + $this->version = $version; + } + public function getVersion() + { + return $this->version; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudKMS/Resource/Projects.php b/vendor/google/apiclient-services/src/Google/Service/CloudKMS/Resource/Projects.php new file mode 100644 index 00000000..e8e959e8 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudKMS/Resource/Projects.php @@ -0,0 +1,28 @@ + + * $cloudkmsService = new Google_Service_CloudKMS(...); + * $projects = $cloudkmsService->projects; + * + */ +class Google_Service_CloudKMS_Resource_Projects extends Google_Service_Resource +{ +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudKMS/Resource/ProjectsLocations.php b/vendor/google/apiclient-services/src/Google/Service/CloudKMS/Resource/ProjectsLocations.php new file mode 100644 index 00000000..4db94ee2 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudKMS/Resource/ProjectsLocations.php @@ -0,0 +1,60 @@ + + * $cloudkmsService = new Google_Service_CloudKMS(...); + * $locations = $cloudkmsService->locations; + * + */ +class Google_Service_CloudKMS_Resource_ProjectsLocations extends Google_Service_Resource +{ + /** + * Get information about a location. (locations.get) + * + * @param string $name Resource name for the location. + * @param array $optParams Optional parameters. + * @return Google_Service_CloudKMS_Location + */ + public function get($name, $optParams = array()) + { + $params = array('name' => $name); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_CloudKMS_Location"); + } + /** + * Lists information about the supported locations for this service. + * (locations.listProjectsLocations) + * + * @param string $name The resource that owns the locations collection, if + * applicable. + * @param array $optParams Optional parameters. + * + * @opt_param string filter The standard list filter. + * @opt_param string pageToken The standard list page token. + * @opt_param int pageSize The standard list page size. + * @return Google_Service_CloudKMS_ListLocationsResponse + */ + public function listProjectsLocations($name, $optParams = array()) + { + $params = array('name' => $name); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_CloudKMS_ListLocationsResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudKMS/Resource/ProjectsLocationsKeyRings.php b/vendor/google/apiclient-services/src/Google/Service/CloudKMS/Resource/ProjectsLocationsKeyRings.php new file mode 100644 index 00000000..8acd8a5d --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudKMS/Resource/ProjectsLocationsKeyRings.php @@ -0,0 +1,135 @@ + + * $cloudkmsService = new Google_Service_CloudKMS(...); + * $keyRings = $cloudkmsService->keyRings; + * + */ +class Google_Service_CloudKMS_Resource_ProjectsLocationsKeyRings extends Google_Service_Resource +{ + /** + * Create a new KeyRing in a given Project and Location. (keyRings.create) + * + * @param string $parent Required. The resource name of the location associated + * with the KeyRings, in the format `projects/locations`. + * @param Google_Service_CloudKMS_KeyRing $postBody + * @param array $optParams Optional parameters. + * + * @opt_param string keyRingId Required. It must be unique within a location and + * match the regular expression `[a-zA-Z0-9_-]{1,63}` + * @return Google_Service_CloudKMS_KeyRing + */ + public function create($parent, Google_Service_CloudKMS_KeyRing $postBody, $optParams = array()) + { + $params = array('parent' => $parent, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('create', array($params), "Google_Service_CloudKMS_KeyRing"); + } + /** + * Returns metadata for a given KeyRing. (keyRings.get) + * + * @param string $name The name of the KeyRing to get. + * @param array $optParams Optional parameters. + * @return Google_Service_CloudKMS_KeyRing + */ + public function get($name, $optParams = array()) + { + $params = array('name' => $name); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_CloudKMS_KeyRing"); + } + /** + * Gets the access control policy for a resource. Returns an empty policy if the + * resource exists and does not have a policy set. (keyRings.getIamPolicy) + * + * @param string $resource REQUIRED: The resource for which the policy is being + * requested. See the operation documentation for the appropriate value for this + * field. + * @param array $optParams Optional parameters. + * @return Google_Service_CloudKMS_Policy + */ + public function getIamPolicy($resource, $optParams = array()) + { + $params = array('resource' => $resource); + $params = array_merge($params, $optParams); + return $this->call('getIamPolicy', array($params), "Google_Service_CloudKMS_Policy"); + } + /** + * Lists KeyRings. (keyRings.listProjectsLocationsKeyRings) + * + * @param string $parent Required. The resource name of the location associated + * with the KeyRings, in the format `projects/locations`. + * @param array $optParams Optional parameters. + * + * @opt_param string pageToken Optional pagination token, returned earlier via + * ListKeyRingsResponse.next_page_token. + * @opt_param int pageSize Optional limit on the number of KeyRings to include + * in the response. Further KeyRings can subsequently be obtained by including + * the ListKeyRingsResponse.next_page_token in a subsequent request. If + * unspecified, the server will pick an appropriate default. + * @return Google_Service_CloudKMS_ListKeyRingsResponse + */ + public function listProjectsLocationsKeyRings($parent, $optParams = array()) + { + $params = array('parent' => $parent); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_CloudKMS_ListKeyRingsResponse"); + } + /** + * Sets the access control policy on the specified resource. Replaces any + * existing policy. (keyRings.setIamPolicy) + * + * @param string $resource REQUIRED: The resource for which the policy is being + * specified. See the operation documentation for the appropriate value for this + * field. + * @param Google_Service_CloudKMS_SetIamPolicyRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_CloudKMS_Policy + */ + public function setIamPolicy($resource, Google_Service_CloudKMS_SetIamPolicyRequest $postBody, $optParams = array()) + { + $params = array('resource' => $resource, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('setIamPolicy', array($params), "Google_Service_CloudKMS_Policy"); + } + /** + * Returns permissions that a caller has on the specified resource. If the + * resource does not exist, this will return an empty set of permissions, not a + * NOT_FOUND error. + * + * Note: This operation is designed to be used for building permission-aware UIs + * and command-line tools, not for authorization checking. This operation may + * "fail open" without warning. (keyRings.testIamPermissions) + * + * @param string $resource REQUIRED: The resource for which the policy detail is + * being requested. See the operation documentation for the appropriate value + * for this field. + * @param Google_Service_CloudKMS_TestIamPermissionsRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_CloudKMS_TestIamPermissionsResponse + */ + public function testIamPermissions($resource, Google_Service_CloudKMS_TestIamPermissionsRequest $postBody, $optParams = array()) + { + $params = array('resource' => $resource, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('testIamPermissions', array($params), "Google_Service_CloudKMS_TestIamPermissionsResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudKMS/Resource/ProjectsLocationsKeyRingsCryptoKeys.php b/vendor/google/apiclient-services/src/Google/Service/CloudKMS/Resource/ProjectsLocationsKeyRingsCryptoKeys.php new file mode 100644 index 00000000..503233c4 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudKMS/Resource/ProjectsLocationsKeyRingsCryptoKeys.php @@ -0,0 +1,204 @@ + + * $cloudkmsService = new Google_Service_CloudKMS(...); + * $cryptoKeys = $cloudkmsService->cryptoKeys; + * + */ +class Google_Service_CloudKMS_Resource_ProjectsLocationsKeyRingsCryptoKeys extends Google_Service_Resource +{ + /** + * Create a new CryptoKey within a KeyRing. + * + * CryptoKey.purpose is required. (cryptoKeys.create) + * + * @param string $parent Required. The name of the KeyRing associated with the + * CryptoKeys. + * @param Google_Service_CloudKMS_CryptoKey $postBody + * @param array $optParams Optional parameters. + * + * @opt_param string cryptoKeyId Required. It must be unique within a KeyRing + * and match the regular expression `[a-zA-Z0-9_-]{1,63}` + * @return Google_Service_CloudKMS_CryptoKey + */ + public function create($parent, Google_Service_CloudKMS_CryptoKey $postBody, $optParams = array()) + { + $params = array('parent' => $parent, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('create', array($params), "Google_Service_CloudKMS_CryptoKey"); + } + /** + * Decrypt data that was protected by Encrypt. (cryptoKeys.decrypt) + * + * @param string $name Required. The resource name of the CryptoKey to use for + * decryption. The server will choose the appropriate version. + * @param Google_Service_CloudKMS_DecryptRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_CloudKMS_DecryptResponse + */ + public function decrypt($name, Google_Service_CloudKMS_DecryptRequest $postBody, $optParams = array()) + { + $params = array('name' => $name, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('decrypt', array($params), "Google_Service_CloudKMS_DecryptResponse"); + } + /** + * Encrypt data, so that it can only be recovered by a call to Decrypt. + * (cryptoKeys.encrypt) + * + * @param string $name Required. The resource name of the CryptoKey or + * CryptoKeyVersion to use for encryption. + * + * If a CryptoKey is specified, the server will use its primary version. + * @param Google_Service_CloudKMS_EncryptRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_CloudKMS_EncryptResponse + */ + public function encrypt($name, Google_Service_CloudKMS_EncryptRequest $postBody, $optParams = array()) + { + $params = array('name' => $name, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('encrypt', array($params), "Google_Service_CloudKMS_EncryptResponse"); + } + /** + * Returns metadata for a given CryptoKey, as well as its primary + * CryptoKeyVersion. (cryptoKeys.get) + * + * @param string $name The name of the CryptoKey to get. + * @param array $optParams Optional parameters. + * @return Google_Service_CloudKMS_CryptoKey + */ + public function get($name, $optParams = array()) + { + $params = array('name' => $name); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_CloudKMS_CryptoKey"); + } + /** + * Gets the access control policy for a resource. Returns an empty policy if the + * resource exists and does not have a policy set. (cryptoKeys.getIamPolicy) + * + * @param string $resource REQUIRED: The resource for which the policy is being + * requested. See the operation documentation for the appropriate value for this + * field. + * @param array $optParams Optional parameters. + * @return Google_Service_CloudKMS_Policy + */ + public function getIamPolicy($resource, $optParams = array()) + { + $params = array('resource' => $resource); + $params = array_merge($params, $optParams); + return $this->call('getIamPolicy', array($params), "Google_Service_CloudKMS_Policy"); + } + /** + * Lists CryptoKeys. (cryptoKeys.listProjectsLocationsKeyRingsCryptoKeys) + * + * @param string $parent Required. The resource name of the KeyRing to list, in + * the format `projects/locations/keyRings`. + * @param array $optParams Optional parameters. + * + * @opt_param string pageToken Optional pagination token, returned earlier via + * ListCryptoKeysResponse.next_page_token. + * @opt_param int pageSize Optional limit on the number of CryptoKeys to include + * in the response. Further CryptoKeys can subsequently be obtained by + * including the ListCryptoKeysResponse.next_page_token in a subsequent request. + * If unspecified, the server will pick an appropriate default. + * @return Google_Service_CloudKMS_ListCryptoKeysResponse + */ + public function listProjectsLocationsKeyRingsCryptoKeys($parent, $optParams = array()) + { + $params = array('parent' => $parent); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_CloudKMS_ListCryptoKeysResponse"); + } + /** + * Update a CryptoKey. (cryptoKeys.patch) + * + * @param string $name Output only. The resource name for this CryptoKey in the + * format `projects/locations/keyRings/cryptoKeys`. + * @param Google_Service_CloudKMS_CryptoKey $postBody + * @param array $optParams Optional parameters. + * + * @opt_param string updateMask Required list of fields to be updated in this + * request. + * @return Google_Service_CloudKMS_CryptoKey + */ + public function patch($name, Google_Service_CloudKMS_CryptoKey $postBody, $optParams = array()) + { + $params = array('name' => $name, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('patch', array($params), "Google_Service_CloudKMS_CryptoKey"); + } + /** + * Sets the access control policy on the specified resource. Replaces any + * existing policy. (cryptoKeys.setIamPolicy) + * + * @param string $resource REQUIRED: The resource for which the policy is being + * specified. See the operation documentation for the appropriate value for this + * field. + * @param Google_Service_CloudKMS_SetIamPolicyRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_CloudKMS_Policy + */ + public function setIamPolicy($resource, Google_Service_CloudKMS_SetIamPolicyRequest $postBody, $optParams = array()) + { + $params = array('resource' => $resource, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('setIamPolicy', array($params), "Google_Service_CloudKMS_Policy"); + } + /** + * Returns permissions that a caller has on the specified resource. If the + * resource does not exist, this will return an empty set of permissions, not a + * NOT_FOUND error. + * + * Note: This operation is designed to be used for building permission-aware UIs + * and command-line tools, not for authorization checking. This operation may + * "fail open" without warning. (cryptoKeys.testIamPermissions) + * + * @param string $resource REQUIRED: The resource for which the policy detail is + * being requested. See the operation documentation for the appropriate value + * for this field. + * @param Google_Service_CloudKMS_TestIamPermissionsRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_CloudKMS_TestIamPermissionsResponse + */ + public function testIamPermissions($resource, Google_Service_CloudKMS_TestIamPermissionsRequest $postBody, $optParams = array()) + { + $params = array('resource' => $resource, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('testIamPermissions', array($params), "Google_Service_CloudKMS_TestIamPermissionsResponse"); + } + /** + * Update the version of a CryptoKey that will be used in Encrypt + * (cryptoKeys.updatePrimaryVersion) + * + * @param string $name The resource name of the CryptoKey to update. + * @param Google_Service_CloudKMS_UpdateCryptoKeyPrimaryVersionRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_CloudKMS_CryptoKey + */ + public function updatePrimaryVersion($name, Google_Service_CloudKMS_UpdateCryptoKeyPrimaryVersionRequest $postBody, $optParams = array()) + { + $params = array('name' => $name, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('updatePrimaryVersion', array($params), "Google_Service_CloudKMS_CryptoKey"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudKMS/Resource/ProjectsLocationsKeyRingsCryptoKeysCryptoKeyVersions.php b/vendor/google/apiclient-services/src/Google/Service/CloudKMS/Resource/ProjectsLocationsKeyRingsCryptoKeysCryptoKeyVersions.php new file mode 100644 index 00000000..e0f6ed75 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudKMS/Resource/ProjectsLocationsKeyRingsCryptoKeysCryptoKeyVersions.php @@ -0,0 +1,143 @@ + + * $cloudkmsService = new Google_Service_CloudKMS(...); + * $cryptoKeyVersions = $cloudkmsService->cryptoKeyVersions; + * + */ +class Google_Service_CloudKMS_Resource_ProjectsLocationsKeyRingsCryptoKeysCryptoKeyVersions extends Google_Service_Resource +{ + /** + * Create a new CryptoKeyVersion in a CryptoKey. + * + * The server will assign the next sequential id. If unset, state will be set to + * ENABLED. (cryptoKeyVersions.create) + * + * @param string $parent Required. The name of the CryptoKey associated with the + * CryptoKeyVersions. + * @param Google_Service_CloudKMS_CryptoKeyVersion $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_CloudKMS_CryptoKeyVersion + */ + public function create($parent, Google_Service_CloudKMS_CryptoKeyVersion $postBody, $optParams = array()) + { + $params = array('parent' => $parent, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('create', array($params), "Google_Service_CloudKMS_CryptoKeyVersion"); + } + /** + * Schedule a CryptoKeyVersion for destruction. + * + * Upon calling this method, CryptoKeyVersion.state will be set to + * DESTROY_SCHEDULED and destroy_time will be set to a time 24 hours in the + * future, at which point the state will be changed to DESTROYED, and the key + * material will be irrevocably destroyed. + * + * Before the destroy_time is reached, RestoreCryptoKeyVersion may be called to + * reverse the process. (cryptoKeyVersions.destroy) + * + * @param string $name The resource name of the CryptoKeyVersion to destroy. + * @param Google_Service_CloudKMS_DestroyCryptoKeyVersionRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_CloudKMS_CryptoKeyVersion + */ + public function destroy($name, Google_Service_CloudKMS_DestroyCryptoKeyVersionRequest $postBody, $optParams = array()) + { + $params = array('name' => $name, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('destroy', array($params), "Google_Service_CloudKMS_CryptoKeyVersion"); + } + /** + * Returns metadata for a given CryptoKeyVersion. (cryptoKeyVersions.get) + * + * @param string $name The name of the CryptoKeyVersion to get. + * @param array $optParams Optional parameters. + * @return Google_Service_CloudKMS_CryptoKeyVersion + */ + public function get($name, $optParams = array()) + { + $params = array('name' => $name); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_CloudKMS_CryptoKeyVersion"); + } + /** + * Lists CryptoKeyVersions. + * (cryptoKeyVersions.listProjectsLocationsKeyRingsCryptoKeysCryptoKeyVersions) + * + * @param string $parent Required. The resource name of the CryptoKey to list, + * in the format `projects/locations/keyRings/cryptoKeys`. + * @param array $optParams Optional parameters. + * + * @opt_param string pageToken Optional pagination token, returned earlier via + * ListCryptoKeyVersionsResponse.next_page_token. + * @opt_param int pageSize Optional limit on the number of CryptoKeyVersions to + * include in the response. Further CryptoKeyVersions can subsequently be + * obtained by including the ListCryptoKeyVersionsResponse.next_page_token in a + * subsequent request. If unspecified, the server will pick an appropriate + * default. + * @return Google_Service_CloudKMS_ListCryptoKeyVersionsResponse + */ + public function listProjectsLocationsKeyRingsCryptoKeysCryptoKeyVersions($parent, $optParams = array()) + { + $params = array('parent' => $parent); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_CloudKMS_ListCryptoKeyVersionsResponse"); + } + /** + * Update a CryptoKeyVersion's metadata. + * + * state may be changed between ENABLED and DISABLED using this method. See + * DestroyCryptoKeyVersion and RestoreCryptoKeyVersion to move between other + * states. (cryptoKeyVersions.patch) + * + * @param string $name Output only. The resource name for this CryptoKeyVersion + * in the format `projects/locations/keyRings/cryptoKeys/cryptoKeyVersions`. + * @param Google_Service_CloudKMS_CryptoKeyVersion $postBody + * @param array $optParams Optional parameters. + * + * @opt_param string updateMask Required list of fields to be updated in this + * request. + * @return Google_Service_CloudKMS_CryptoKeyVersion + */ + public function patch($name, Google_Service_CloudKMS_CryptoKeyVersion $postBody, $optParams = array()) + { + $params = array('name' => $name, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('patch', array($params), "Google_Service_CloudKMS_CryptoKeyVersion"); + } + /** + * Restore a CryptoKeyVersion in the DESTROY_SCHEDULED, state. + * + * Upon restoration of the CryptoKeyVersion, state will be set to DISABLED, and + * destroy_time will be cleared. (cryptoKeyVersions.restore) + * + * @param string $name The resource name of the CryptoKeyVersion to restore. + * @param Google_Service_CloudKMS_RestoreCryptoKeyVersionRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_CloudKMS_CryptoKeyVersion + */ + public function restore($name, Google_Service_CloudKMS_RestoreCryptoKeyVersionRequest $postBody, $optParams = array()) + { + $params = array('name' => $name, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('restore', array($params), "Google_Service_CloudKMS_CryptoKeyVersion"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudKMS/RestoreCryptoKeyVersionRequest.php b/vendor/google/apiclient-services/src/Google/Service/CloudKMS/RestoreCryptoKeyVersionRequest.php new file mode 100644 index 00000000..5408e12f --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudKMS/RestoreCryptoKeyVersionRequest.php @@ -0,0 +1,20 @@ +action = $action; + } + public function getAction() + { + return $this->action; + } + public function setConditions($conditions) + { + $this->conditions = $conditions; + } + public function getConditions() + { + return $this->conditions; + } + public function setDescription($description) + { + $this->description = $description; + } + public function getDescription() + { + return $this->description; + } + public function setIn($in) + { + $this->in = $in; + } + public function getIn() + { + return $this->in; + } + public function setLogConfig($logConfig) + { + $this->logConfig = $logConfig; + } + public function getLogConfig() + { + return $this->logConfig; + } + public function setNotIn($notIn) + { + $this->notIn = $notIn; + } + public function getNotIn() + { + return $this->notIn; + } + public function setPermissions($permissions) + { + $this->permissions = $permissions; + } + public function getPermissions() + { + return $this->permissions; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudKMS/SetIamPolicyRequest.php b/vendor/google/apiclient-services/src/Google/Service/CloudKMS/SetIamPolicyRequest.php new file mode 100644 index 00000000..cf66febc --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudKMS/SetIamPolicyRequest.php @@ -0,0 +1,40 @@ +policy = $policy; + } + public function getPolicy() + { + return $this->policy; + } + public function setUpdateMask($updateMask) + { + $this->updateMask = $updateMask; + } + public function getUpdateMask() + { + return $this->updateMask; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudKMS/TestIamPermissionsRequest.php b/vendor/google/apiclient-services/src/Google/Service/CloudKMS/TestIamPermissionsRequest.php new file mode 100644 index 00000000..c83b1cb4 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudKMS/TestIamPermissionsRequest.php @@ -0,0 +1,31 @@ +permissions = $permissions; + } + public function getPermissions() + { + return $this->permissions; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudKMS/TestIamPermissionsResponse.php b/vendor/google/apiclient-services/src/Google/Service/CloudKMS/TestIamPermissionsResponse.php new file mode 100644 index 00000000..43f1a915 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudKMS/TestIamPermissionsResponse.php @@ -0,0 +1,31 @@ +permissions = $permissions; + } + public function getPermissions() + { + return $this->permissions; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudKMS/UpdateCryptoKeyPrimaryVersionRequest.php b/vendor/google/apiclient-services/src/Google/Service/CloudKMS/UpdateCryptoKeyPrimaryVersionRequest.php new file mode 100644 index 00000000..673148bf --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudKMS/UpdateCryptoKeyPrimaryVersionRequest.php @@ -0,0 +1,30 @@ +cryptoKeyVersionId = $cryptoKeyVersionId; + } + public function getCryptoKeyVersionId() + { + return $this->cryptoKeyVersionId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudMachineLearning.php b/vendor/google/apiclient-services/src/Google/Service/CloudMachineLearning.php new file mode 100644 index 00000000..851a3419 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudMachineLearning.php @@ -0,0 +1,337 @@ + + * An API to enable creating and using machine learning models.

+ * + *

+ * For more information about this service, see the API + * Documentation + *

+ * + * @author Google, Inc. + */ +class Google_Service_CloudMachineLearning extends Google_Service +{ + /** View and manage your data across Google Cloud Platform services. */ + const CLOUD_PLATFORM = + "https://www.googleapis.com/auth/cloud-platform"; + + public $projects; + public $projects_jobs; + public $projects_models; + public $projects_models_versions; + public $projects_operations; + + /** + * Constructs the internal representation of the CloudMachineLearning service. + * + * @param Google_Client $client + */ + public function __construct(Google_Client $client) + { + parent::__construct($client); + $this->rootUrl = 'https://ml.googleapis.com/'; + $this->servicePath = ''; + $this->version = 'v1beta1'; + $this->serviceName = 'ml'; + + $this->projects = new Google_Service_CloudMachineLearning_Resource_Projects( + $this, + $this->serviceName, + 'projects', + array( + 'methods' => array( + 'getConfig' => array( + 'path' => 'v1beta1/{+name}:getConfig', + 'httpMethod' => 'GET', + 'parameters' => array( + 'name' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'predict' => array( + 'path' => 'v1beta1/{+name}:predict', + 'httpMethod' => 'POST', + 'parameters' => array( + 'name' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->projects_jobs = new Google_Service_CloudMachineLearning_Resource_ProjectsJobs( + $this, + $this->serviceName, + 'jobs', + array( + 'methods' => array( + 'cancel' => array( + 'path' => 'v1beta1/{+name}:cancel', + 'httpMethod' => 'POST', + 'parameters' => array( + 'name' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'create' => array( + 'path' => 'v1beta1/{+parent}/jobs', + 'httpMethod' => 'POST', + 'parameters' => array( + 'parent' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'get' => array( + 'path' => 'v1beta1/{+name}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'name' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'v1beta1/{+parent}/jobs', + 'httpMethod' => 'GET', + 'parameters' => array( + 'parent' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'pageSize' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'filter' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + $this->projects_models = new Google_Service_CloudMachineLearning_Resource_ProjectsModels( + $this, + $this->serviceName, + 'models', + array( + 'methods' => array( + 'create' => array( + 'path' => 'v1beta1/{+parent}/models', + 'httpMethod' => 'POST', + 'parameters' => array( + 'parent' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'delete' => array( + 'path' => 'v1beta1/{+name}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'name' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'get' => array( + 'path' => 'v1beta1/{+name}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'name' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'v1beta1/{+parent}/models', + 'httpMethod' => 'GET', + 'parameters' => array( + 'parent' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'pageSize' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + $this->projects_models_versions = new Google_Service_CloudMachineLearning_Resource_ProjectsModelsVersions( + $this, + $this->serviceName, + 'versions', + array( + 'methods' => array( + 'create' => array( + 'path' => 'v1beta1/{+parent}/versions', + 'httpMethod' => 'POST', + 'parameters' => array( + 'parent' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'delete' => array( + 'path' => 'v1beta1/{+name}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'name' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'get' => array( + 'path' => 'v1beta1/{+name}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'name' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'v1beta1/{+parent}/versions', + 'httpMethod' => 'GET', + 'parameters' => array( + 'parent' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'pageSize' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'setDefault' => array( + 'path' => 'v1beta1/{+name}:setDefault', + 'httpMethod' => 'POST', + 'parameters' => array( + 'name' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->projects_operations = new Google_Service_CloudMachineLearning_Resource_ProjectsOperations( + $this, + $this->serviceName, + 'operations', + array( + 'methods' => array( + 'cancel' => array( + 'path' => 'v1beta1/{+name}:cancel', + 'httpMethod' => 'POST', + 'parameters' => array( + 'name' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'delete' => array( + 'path' => 'v1beta1/{+name}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'name' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'get' => array( + 'path' => 'v1beta1/{+name}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'name' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'v1beta1/{+name}/operations', + 'httpMethod' => 'GET', + 'parameters' => array( + 'name' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'pageSize' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'filter' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudMachineLearning/GoogleApiHttpBody.php b/vendor/google/apiclient-services/src/Google/Service/CloudMachineLearning/GoogleApiHttpBody.php new file mode 100644 index 00000000..21929b73 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudMachineLearning/GoogleApiHttpBody.php @@ -0,0 +1,39 @@ +contentType = $contentType; + } + public function getContentType() + { + return $this->contentType; + } + public function setData($data) + { + $this->data = $data; + } + public function getData() + { + return $this->data; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudMachineLearning/GoogleCloudMlV1beta1CancelJobRequest.php b/vendor/google/apiclient-services/src/Google/Service/CloudMachineLearning/GoogleCloudMlV1beta1CancelJobRequest.php new file mode 100644 index 00000000..2203115f --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudMachineLearning/GoogleCloudMlV1beta1CancelJobRequest.php @@ -0,0 +1,20 @@ +serviceAccount = $serviceAccount; + } + public function getServiceAccount() + { + return $this->serviceAccount; + } + public function setServiceAccountProject($serviceAccountProject) + { + $this->serviceAccountProject = $serviceAccountProject; + } + public function getServiceAccountProject() + { + return $this->serviceAccountProject; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudMachineLearning/GoogleCloudMlV1beta1HyperparameterOutput.php b/vendor/google/apiclient-services/src/Google/Service/CloudMachineLearning/GoogleCloudMlV1beta1HyperparameterOutput.php new file mode 100644 index 00000000..3c5cd116 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudMachineLearning/GoogleCloudMlV1beta1HyperparameterOutput.php @@ -0,0 +1,60 @@ +allMetrics = $allMetrics; + } + public function getAllMetrics() + { + return $this->allMetrics; + } + public function setFinalMetric(Google_Service_CloudMachineLearning_GoogleCloudMlV1beta1HyperparameterOutputHyperparameterMetric $finalMetric) + { + $this->finalMetric = $finalMetric; + } + public function getFinalMetric() + { + return $this->finalMetric; + } + public function setHyperparameters($hyperparameters) + { + $this->hyperparameters = $hyperparameters; + } + public function getHyperparameters() + { + return $this->hyperparameters; + } + public function setTrialId($trialId) + { + $this->trialId = $trialId; + } + public function getTrialId() + { + return $this->trialId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudMachineLearning/GoogleCloudMlV1beta1HyperparameterOutputHyperparameterMetric.php b/vendor/google/apiclient-services/src/Google/Service/CloudMachineLearning/GoogleCloudMlV1beta1HyperparameterOutputHyperparameterMetric.php new file mode 100644 index 00000000..14694e4f --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudMachineLearning/GoogleCloudMlV1beta1HyperparameterOutputHyperparameterMetric.php @@ -0,0 +1,39 @@ +objectiveValue = $objectiveValue; + } + public function getObjectiveValue() + { + return $this->objectiveValue; + } + public function setTrainingStep($trainingStep) + { + $this->trainingStep = $trainingStep; + } + public function getTrainingStep() + { + return $this->trainingStep; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudMachineLearning/GoogleCloudMlV1beta1HyperparameterSpec.php b/vendor/google/apiclient-services/src/Google/Service/CloudMachineLearning/GoogleCloudMlV1beta1HyperparameterSpec.php new file mode 100644 index 00000000..c03f7274 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudMachineLearning/GoogleCloudMlV1beta1HyperparameterSpec.php @@ -0,0 +1,59 @@ +goal = $goal; + } + public function getGoal() + { + return $this->goal; + } + public function setMaxParallelTrials($maxParallelTrials) + { + $this->maxParallelTrials = $maxParallelTrials; + } + public function getMaxParallelTrials() + { + return $this->maxParallelTrials; + } + public function setMaxTrials($maxTrials) + { + $this->maxTrials = $maxTrials; + } + public function getMaxTrials() + { + return $this->maxTrials; + } + public function setParams($params) + { + $this->params = $params; + } + public function getParams() + { + return $this->params; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudMachineLearning/GoogleCloudMlV1beta1Job.php b/vendor/google/apiclient-services/src/Google/Service/CloudMachineLearning/GoogleCloudMlV1beta1Job.php new file mode 100644 index 00000000..6817d8a4 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudMachineLearning/GoogleCloudMlV1beta1Job.php @@ -0,0 +1,115 @@ +createTime = $createTime; + } + public function getCreateTime() + { + return $this->createTime; + } + public function setEndTime($endTime) + { + $this->endTime = $endTime; + } + public function getEndTime() + { + return $this->endTime; + } + public function setErrorMessage($errorMessage) + { + $this->errorMessage = $errorMessage; + } + public function getErrorMessage() + { + return $this->errorMessage; + } + public function setJobId($jobId) + { + $this->jobId = $jobId; + } + public function getJobId() + { + return $this->jobId; + } + public function setPredictionInput(Google_Service_CloudMachineLearning_GoogleCloudMlV1beta1PredictionInput $predictionInput) + { + $this->predictionInput = $predictionInput; + } + public function getPredictionInput() + { + return $this->predictionInput; + } + public function setPredictionOutput(Google_Service_CloudMachineLearning_GoogleCloudMlV1beta1PredictionOutput $predictionOutput) + { + $this->predictionOutput = $predictionOutput; + } + public function getPredictionOutput() + { + return $this->predictionOutput; + } + public function setStartTime($startTime) + { + $this->startTime = $startTime; + } + public function getStartTime() + { + return $this->startTime; + } + public function setState($state) + { + $this->state = $state; + } + public function getState() + { + return $this->state; + } + public function setTrainingInput(Google_Service_CloudMachineLearning_GoogleCloudMlV1beta1TrainingInput $trainingInput) + { + $this->trainingInput = $trainingInput; + } + public function getTrainingInput() + { + return $this->trainingInput; + } + public function setTrainingOutput(Google_Service_CloudMachineLearning_GoogleCloudMlV1beta1TrainingOutput $trainingOutput) + { + $this->trainingOutput = $trainingOutput; + } + public function getTrainingOutput() + { + return $this->trainingOutput; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudMachineLearning/GoogleCloudMlV1beta1ListJobsResponse.php b/vendor/google/apiclient-services/src/Google/Service/CloudMachineLearning/GoogleCloudMlV1beta1ListJobsResponse.php new file mode 100644 index 00000000..4fdb12be --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudMachineLearning/GoogleCloudMlV1beta1ListJobsResponse.php @@ -0,0 +1,41 @@ +jobs = $jobs; + } + public function getJobs() + { + return $this->jobs; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudMachineLearning/GoogleCloudMlV1beta1ListModelsResponse.php b/vendor/google/apiclient-services/src/Google/Service/CloudMachineLearning/GoogleCloudMlV1beta1ListModelsResponse.php new file mode 100644 index 00000000..fdea12aa --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudMachineLearning/GoogleCloudMlV1beta1ListModelsResponse.php @@ -0,0 +1,41 @@ +models = $models; + } + public function getModels() + { + return $this->models; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudMachineLearning/GoogleCloudMlV1beta1ListVersionsResponse.php b/vendor/google/apiclient-services/src/Google/Service/CloudMachineLearning/GoogleCloudMlV1beta1ListVersionsResponse.php new file mode 100644 index 00000000..4a0bbc87 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudMachineLearning/GoogleCloudMlV1beta1ListVersionsResponse.php @@ -0,0 +1,41 @@ +nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setVersions($versions) + { + $this->versions = $versions; + } + public function getVersions() + { + return $this->versions; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudMachineLearning/GoogleCloudMlV1beta1Model.php b/vendor/google/apiclient-services/src/Google/Service/CloudMachineLearning/GoogleCloudMlV1beta1Model.php new file mode 100644 index 00000000..a86a626b --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudMachineLearning/GoogleCloudMlV1beta1Model.php @@ -0,0 +1,49 @@ +defaultVersion = $defaultVersion; + } + public function getDefaultVersion() + { + return $this->defaultVersion; + } + public function setDescription($description) + { + $this->description = $description; + } + public function getDescription() + { + return $this->description; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudMachineLearning/GoogleCloudMlV1beta1OperationMetadata.php b/vendor/google/apiclient-services/src/Google/Service/CloudMachineLearning/GoogleCloudMlV1beta1OperationMetadata.php new file mode 100644 index 00000000..c434b276 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudMachineLearning/GoogleCloudMlV1beta1OperationMetadata.php @@ -0,0 +1,85 @@ +createTime = $createTime; + } + public function getCreateTime() + { + return $this->createTime; + } + public function setEndTime($endTime) + { + $this->endTime = $endTime; + } + public function getEndTime() + { + return $this->endTime; + } + public function setIsCancellationRequested($isCancellationRequested) + { + $this->isCancellationRequested = $isCancellationRequested; + } + public function getIsCancellationRequested() + { + return $this->isCancellationRequested; + } + public function setModelName($modelName) + { + $this->modelName = $modelName; + } + public function getModelName() + { + return $this->modelName; + } + public function setOperationType($operationType) + { + $this->operationType = $operationType; + } + public function getOperationType() + { + return $this->operationType; + } + public function setStartTime($startTime) + { + $this->startTime = $startTime; + } + public function getStartTime() + { + return $this->startTime; + } + public function setVersion(Google_Service_CloudMachineLearning_GoogleCloudMlV1beta1Version $version) + { + $this->version = $version; + } + public function getVersion() + { + return $this->version; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudMachineLearning/GoogleCloudMlV1beta1ParameterSpec.php b/vendor/google/apiclient-services/src/Google/Service/CloudMachineLearning/GoogleCloudMlV1beta1ParameterSpec.php new file mode 100644 index 00000000..4403e505 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudMachineLearning/GoogleCloudMlV1beta1ParameterSpec.php @@ -0,0 +1,85 @@ +categoricalValues = $categoricalValues; + } + public function getCategoricalValues() + { + return $this->categoricalValues; + } + public function setDiscreteValues($discreteValues) + { + $this->discreteValues = $discreteValues; + } + public function getDiscreteValues() + { + return $this->discreteValues; + } + public function setMaxValue($maxValue) + { + $this->maxValue = $maxValue; + } + public function getMaxValue() + { + return $this->maxValue; + } + public function setMinValue($minValue) + { + $this->minValue = $minValue; + } + public function getMinValue() + { + return $this->minValue; + } + public function setParameterName($parameterName) + { + $this->parameterName = $parameterName; + } + public function getParameterName() + { + return $this->parameterName; + } + public function setScaleType($scaleType) + { + $this->scaleType = $scaleType; + } + public function getScaleType() + { + return $this->scaleType; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudMachineLearning/GoogleCloudMlV1beta1PredictRequest.php b/vendor/google/apiclient-services/src/Google/Service/CloudMachineLearning/GoogleCloudMlV1beta1PredictRequest.php new file mode 100644 index 00000000..e27cfe46 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudMachineLearning/GoogleCloudMlV1beta1PredictRequest.php @@ -0,0 +1,31 @@ +httpBody = $httpBody; + } + public function getHttpBody() + { + return $this->httpBody; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudMachineLearning/GoogleCloudMlV1beta1PredictionInput.php b/vendor/google/apiclient-services/src/Google/Service/CloudMachineLearning/GoogleCloudMlV1beta1PredictionInput.php new file mode 100644 index 00000000..1dbd8138 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudMachineLearning/GoogleCloudMlV1beta1PredictionInput.php @@ -0,0 +1,85 @@ +dataFormat = $dataFormat; + } + public function getDataFormat() + { + return $this->dataFormat; + } + public function setInputPaths($inputPaths) + { + $this->inputPaths = $inputPaths; + } + public function getInputPaths() + { + return $this->inputPaths; + } + public function setMaxWorkerCount($maxWorkerCount) + { + $this->maxWorkerCount = $maxWorkerCount; + } + public function getMaxWorkerCount() + { + return $this->maxWorkerCount; + } + public function setModelName($modelName) + { + $this->modelName = $modelName; + } + public function getModelName() + { + return $this->modelName; + } + public function setOutputPath($outputPath) + { + $this->outputPath = $outputPath; + } + public function getOutputPath() + { + return $this->outputPath; + } + public function setRegion($region) + { + $this->region = $region; + } + public function getRegion() + { + return $this->region; + } + public function setVersionName($versionName) + { + $this->versionName = $versionName; + } + public function getVersionName() + { + return $this->versionName; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudMachineLearning/GoogleCloudMlV1beta1PredictionOutput.php b/vendor/google/apiclient-services/src/Google/Service/CloudMachineLearning/GoogleCloudMlV1beta1PredictionOutput.php new file mode 100644 index 00000000..7a8080c3 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudMachineLearning/GoogleCloudMlV1beta1PredictionOutput.php @@ -0,0 +1,48 @@ +errorCount = $errorCount; + } + public function getErrorCount() + { + return $this->errorCount; + } + public function setOutputPath($outputPath) + { + $this->outputPath = $outputPath; + } + public function getOutputPath() + { + return $this->outputPath; + } + public function setPredictionCount($predictionCount) + { + $this->predictionCount = $predictionCount; + } + public function getPredictionCount() + { + return $this->predictionCount; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudMachineLearning/GoogleCloudMlV1beta1SetDefaultVersionRequest.php b/vendor/google/apiclient-services/src/Google/Service/CloudMachineLearning/GoogleCloudMlV1beta1SetDefaultVersionRequest.php new file mode 100644 index 00000000..71268c53 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudMachineLearning/GoogleCloudMlV1beta1SetDefaultVersionRequest.php @@ -0,0 +1,20 @@ +args = $args; + } + public function getArgs() + { + return $this->args; + } + public function setHyperparameters(Google_Service_CloudMachineLearning_GoogleCloudMlV1beta1HyperparameterSpec $hyperparameters) + { + $this->hyperparameters = $hyperparameters; + } + public function getHyperparameters() + { + return $this->hyperparameters; + } + public function setMasterType($masterType) + { + $this->masterType = $masterType; + } + public function getMasterType() + { + return $this->masterType; + } + public function setPackageUris($packageUris) + { + $this->packageUris = $packageUris; + } + public function getPackageUris() + { + return $this->packageUris; + } + public function setParameterServerCount($parameterServerCount) + { + $this->parameterServerCount = $parameterServerCount; + } + public function getParameterServerCount() + { + return $this->parameterServerCount; + } + public function setParameterServerType($parameterServerType) + { + $this->parameterServerType = $parameterServerType; + } + public function getParameterServerType() + { + return $this->parameterServerType; + } + public function setPythonModule($pythonModule) + { + $this->pythonModule = $pythonModule; + } + public function getPythonModule() + { + return $this->pythonModule; + } + public function setRegion($region) + { + $this->region = $region; + } + public function getRegion() + { + return $this->region; + } + public function setScaleTier($scaleTier) + { + $this->scaleTier = $scaleTier; + } + public function getScaleTier() + { + return $this->scaleTier; + } + public function setWorkerCount($workerCount) + { + $this->workerCount = $workerCount; + } + public function getWorkerCount() + { + return $this->workerCount; + } + public function setWorkerType($workerType) + { + $this->workerType = $workerType; + } + public function getWorkerType() + { + return $this->workerType; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudMachineLearning/GoogleCloudMlV1beta1TrainingOutput.php b/vendor/google/apiclient-services/src/Google/Service/CloudMachineLearning/GoogleCloudMlV1beta1TrainingOutput.php new file mode 100644 index 00000000..a23e6ddd --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudMachineLearning/GoogleCloudMlV1beta1TrainingOutput.php @@ -0,0 +1,50 @@ +completedTrialCount = $completedTrialCount; + } + public function getCompletedTrialCount() + { + return $this->completedTrialCount; + } + public function setConsumedMLUnits($consumedMLUnits) + { + $this->consumedMLUnits = $consumedMLUnits; + } + public function getConsumedMLUnits() + { + return $this->consumedMLUnits; + } + public function setTrials($trials) + { + $this->trials = $trials; + } + public function getTrials() + { + return $this->trials; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudMachineLearning/GoogleCloudMlV1beta1Version.php b/vendor/google/apiclient-services/src/Google/Service/CloudMachineLearning/GoogleCloudMlV1beta1Version.php new file mode 100644 index 00000000..4e06e3f3 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudMachineLearning/GoogleCloudMlV1beta1Version.php @@ -0,0 +1,75 @@ +createTime = $createTime; + } + public function getCreateTime() + { + return $this->createTime; + } + public function setDeploymentUri($deploymentUri) + { + $this->deploymentUri = $deploymentUri; + } + public function getDeploymentUri() + { + return $this->deploymentUri; + } + public function setDescription($description) + { + $this->description = $description; + } + public function getDescription() + { + return $this->description; + } + public function setIsDefault($isDefault) + { + $this->isDefault = $isDefault; + } + public function getIsDefault() + { + return $this->isDefault; + } + public function setLastUseTime($lastUseTime) + { + $this->lastUseTime = $lastUseTime; + } + public function getLastUseTime() + { + return $this->lastUseTime; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudMachineLearning/GoogleLongrunningListOperationsResponse.php b/vendor/google/apiclient-services/src/Google/Service/CloudMachineLearning/GoogleLongrunningListOperationsResponse.php new file mode 100644 index 00000000..bddb8930 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudMachineLearning/GoogleLongrunningListOperationsResponse.php @@ -0,0 +1,41 @@ +nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setOperations($operations) + { + $this->operations = $operations; + } + public function getOperations() + { + return $this->operations; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudMachineLearning/GoogleLongrunningOperation.php b/vendor/google/apiclient-services/src/Google/Service/CloudMachineLearning/GoogleLongrunningOperation.php new file mode 100644 index 00000000..d9f2c4c7 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudMachineLearning/GoogleLongrunningOperation.php @@ -0,0 +1,67 @@ +done = $done; + } + public function getDone() + { + return $this->done; + } + public function setError(Google_Service_CloudMachineLearning_GoogleRpcStatus $error) + { + $this->error = $error; + } + public function getError() + { + return $this->error; + } + public function setMetadata($metadata) + { + $this->metadata = $metadata; + } + public function getMetadata() + { + return $this->metadata; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setResponse($response) + { + $this->response = $response; + } + public function getResponse() + { + return $this->response; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudMachineLearning/GoogleProtobufEmpty.php b/vendor/google/apiclient-services/src/Google/Service/CloudMachineLearning/GoogleProtobufEmpty.php new file mode 100644 index 00000000..3ae84da2 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudMachineLearning/GoogleProtobufEmpty.php @@ -0,0 +1,20 @@ +code = $code; + } + public function getCode() + { + return $this->code; + } + public function setDetails($details) + { + $this->details = $details; + } + public function getDetails() + { + return $this->details; + } + public function setMessage($message) + { + $this->message = $message; + } + public function getMessage() + { + return $this->message; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudMachineLearning/Resource/Projects.php b/vendor/google/apiclient-services/src/Google/Service/CloudMachineLearning/Resource/Projects.php new file mode 100644 index 00000000..2f959bf2 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudMachineLearning/Resource/Projects.php @@ -0,0 +1,103 @@ + + * $mlService = new Google_Service_CloudMachineLearning(...); + * $projects = $mlService->projects; + * + */ +class Google_Service_CloudMachineLearning_Resource_Projects extends Google_Service_Resource +{ + /** + * Get the service account information associated with your project. You need + * this information in order to grant the service account persmissions for the + * Google Cloud Storage location where you put your model training code for + * training the model with Google Cloud Machine Learning. (projects.getConfig) + * + * @param string $name Required. The project name. + * + * Authorization: requires `Viewer` role on the specified project. + * @param array $optParams Optional parameters. + * @return Google_Service_CloudMachineLearning_GoogleCloudMlV1beta1GetConfigResponse + */ + public function getConfig($name, $optParams = array()) + { + $params = array('name' => $name); + $params = array_merge($params, $optParams); + return $this->call('getConfig', array($params), "Google_Service_CloudMachineLearning_GoogleCloudMlV1beta1GetConfigResponse"); + } + /** + * Performs prediction on the data in the request. + * + * Responses are very similar to requests. There are two top-level fields, each + * of which are JSON lists: + * + * predictions The list of predictions, one per instance in the request. + * error An error message returned instead of a prediction list if any + * instance produced an error. + * + * If the call is successful, the response body will contain one prediction + * entry per instance in the request body. If prediction fails for any instance, + * the response body will contain no predictions and will contian a single error + * entry instead. + * + * Even though there is one prediction per instance, the format of a prediction + * is not directly related to the format of an instance. Predictions take + * whatever format is specified in the outputs collection defined in the model. + * The collection of predictions is returned in a JSON list. Each member of the + * list can be a simple value, a list, or a JSON object of any complexity. If + * your model has more than one output tensor, each prediction will be a JSON + * object containing a name/value pair for each output. The names identify the + * output aliases in the graph. + * + * The following examples show some possible responses: + * + * A simple set of predictions for three input instances, where each prediction + * is an integer value: + * + * {"predictions": [5, 4, 3]} + * + * A more complex set of predictions, each containing two named values that + * correspond to output tensors, named **label** and **scores** respectively. + * The value of **label** is the predicted category ("car" or "beach") and + * **scores** contains a list of probabilities for that instance across the + * possible categories. + * + * {"predictions": [{"label": "beach", "scores": [0.1, 0.9]}, + * {"label": "car", "scores": [0.75, 0.25]}]} + * + * A response when there is an error processing an input instance: + * + * {"error": "Divide by zero"} (projects.predict) + * + * @param string $name Required. The resource name of a model or a version. + * + * Authorization: requires `Viewer` role on the parent project. + * @param Google_Service_CloudMachineLearning_GoogleCloudMlV1beta1PredictRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_CloudMachineLearning_GoogleApiHttpBody + */ + public function predict($name, Google_Service_CloudMachineLearning_GoogleCloudMlV1beta1PredictRequest $postBody, $optParams = array()) + { + $params = array('name' => $name, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('predict', array($params), "Google_Service_CloudMachineLearning_GoogleApiHttpBody"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudMachineLearning/Resource/ProjectsJobs.php b/vendor/google/apiclient-services/src/Google/Service/CloudMachineLearning/Resource/ProjectsJobs.php new file mode 100644 index 00000000..ba4459bf --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudMachineLearning/Resource/ProjectsJobs.php @@ -0,0 +1,103 @@ + + * $mlService = new Google_Service_CloudMachineLearning(...); + * $jobs = $mlService->jobs; + * + */ +class Google_Service_CloudMachineLearning_Resource_ProjectsJobs extends Google_Service_Resource +{ + /** + * Cancels a running job. (jobs.cancel) + * + * @param string $name Required. The name of the job to cancel. + * + * Authorization: requires `Editor` role on the parent project. + * @param Google_Service_CloudMachineLearning_GoogleCloudMlV1beta1CancelJobRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_CloudMachineLearning_GoogleProtobufEmpty + */ + public function cancel($name, Google_Service_CloudMachineLearning_GoogleCloudMlV1beta1CancelJobRequest $postBody, $optParams = array()) + { + $params = array('name' => $name, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('cancel', array($params), "Google_Service_CloudMachineLearning_GoogleProtobufEmpty"); + } + /** + * Creates a training or a batch prediction job. (jobs.create) + * + * @param string $parent Required. The project name. + * + * Authorization: requires `Editor` role on the specified project. + * @param Google_Service_CloudMachineLearning_GoogleCloudMlV1beta1Job $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_CloudMachineLearning_GoogleCloudMlV1beta1Job + */ + public function create($parent, Google_Service_CloudMachineLearning_GoogleCloudMlV1beta1Job $postBody, $optParams = array()) + { + $params = array('parent' => $parent, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('create', array($params), "Google_Service_CloudMachineLearning_GoogleCloudMlV1beta1Job"); + } + /** + * Describes a job. (jobs.get) + * + * @param string $name Required. The name of the job to get the description of. + * + * Authorization: requires `Viewer` role on the parent project. + * @param array $optParams Optional parameters. + * @return Google_Service_CloudMachineLearning_GoogleCloudMlV1beta1Job + */ + public function get($name, $optParams = array()) + { + $params = array('name' => $name); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_CloudMachineLearning_GoogleCloudMlV1beta1Job"); + } + /** + * Lists the jobs in the project. (jobs.listProjectsJobs) + * + * @param string $parent Required. The name of the project for which to list + * jobs. + * + * Authorization: requires `Viewer` role on the specified project. + * @param array $optParams Optional parameters. + * + * @opt_param int pageSize Optional. The number of jobs to retrieve per "page" + * of results. If there are more remaining results than this number, the + * response message will contain a valid value in the `next_page_token` field. + * + * The default value is 20, and the maximum page size is 100. + * @opt_param string filter Optional. Specifies the subset of jobs to retrieve. + * @opt_param string pageToken Optional. A page token to request the next page + * of results. + * + * You get the token from the `next_page_token` field of the response from the + * previous call. + * @return Google_Service_CloudMachineLearning_GoogleCloudMlV1beta1ListJobsResponse + */ + public function listProjectsJobs($parent, $optParams = array()) + { + $params = array('parent' => $parent); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_CloudMachineLearning_GoogleCloudMlV1beta1ListJobsResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudMachineLearning/Resource/ProjectsModels.php b/vendor/google/apiclient-services/src/Google/Service/CloudMachineLearning/Resource/ProjectsModels.php new file mode 100644 index 00000000..8a4a3422 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudMachineLearning/Resource/ProjectsModels.php @@ -0,0 +1,114 @@ + + * $mlService = new Google_Service_CloudMachineLearning(...); + * $models = $mlService->models; + * + */ +class Google_Service_CloudMachineLearning_Resource_ProjectsModels extends Google_Service_Resource +{ + /** + * Creates a model which will later contain one or more versions. + * + * You must add at least one version before you can request predictions from the + * model. Add versions by calling [projects.models.versions.create](/ml/referenc + * e/rest/v1beta1/projects.models.versions/create). (models.create) + * + * @param string $parent Required. The project name. + * + * Authorization: requires `Editor` role on the specified project. + * @param Google_Service_CloudMachineLearning_GoogleCloudMlV1beta1Model $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_CloudMachineLearning_GoogleCloudMlV1beta1Model + */ + public function create($parent, Google_Service_CloudMachineLearning_GoogleCloudMlV1beta1Model $postBody, $optParams = array()) + { + $params = array('parent' => $parent, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('create', array($params), "Google_Service_CloudMachineLearning_GoogleCloudMlV1beta1Model"); + } + /** + * Deletes a model. + * + * You can only delete a model if there are no versions in it. You can delete + * versions by calling [projects.models.versions.delete](/ml/reference/rest/v1be + * ta1/projects.models.versions/delete). (models.delete) + * + * @param string $name Required. The name of the model. + * + * Authorization: requires `Editor` role on the parent project. + * @param array $optParams Optional parameters. + * @return Google_Service_CloudMachineLearning_GoogleLongrunningOperation + */ + public function delete($name, $optParams = array()) + { + $params = array('name' => $name); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params), "Google_Service_CloudMachineLearning_GoogleLongrunningOperation"); + } + /** + * Gets information about a model, including its name, the description (if set), + * and the default version (if at least one version of the model has been + * deployed). (models.get) + * + * @param string $name Required. The name of the model. + * + * Authorization: requires `Viewer` role on the parent project. + * @param array $optParams Optional parameters. + * @return Google_Service_CloudMachineLearning_GoogleCloudMlV1beta1Model + */ + public function get($name, $optParams = array()) + { + $params = array('name' => $name); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_CloudMachineLearning_GoogleCloudMlV1beta1Model"); + } + /** + * Lists the models in a project. + * + * Each project can contain multiple models, and each model can have multiple + * versions. (models.listProjectsModels) + * + * @param string $parent Required. The name of the project whose models are to + * be listed. + * + * Authorization: requires `Viewer` role on the specified project. + * @param array $optParams Optional parameters. + * + * @opt_param int pageSize Optional. The number of models to retrieve per "page" + * of results. If there are more remaining results than this number, the + * response message will contain a valid value in the `next_page_token` field. + * + * The default value is 20, and the maximum page size is 100. + * @opt_param string pageToken Optional. A page token to request the next page + * of results. + * + * You get the token from the `next_page_token` field of the response from the + * previous call. + * @return Google_Service_CloudMachineLearning_GoogleCloudMlV1beta1ListModelsResponse + */ + public function listProjectsModels($parent, $optParams = array()) + { + $params = array('parent' => $parent); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_CloudMachineLearning_GoogleCloudMlV1beta1ListModelsResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudMachineLearning/Resource/ProjectsModelsVersions.php b/vendor/google/apiclient-services/src/Google/Service/CloudMachineLearning/Resource/ProjectsModelsVersions.php new file mode 100644 index 00000000..0f264fd8 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudMachineLearning/Resource/ProjectsModelsVersions.php @@ -0,0 +1,152 @@ + + * $mlService = new Google_Service_CloudMachineLearning(...); + * $versions = $mlService->versions; + * + */ +class Google_Service_CloudMachineLearning_Resource_ProjectsModelsVersions extends Google_Service_Resource +{ + /** + * Creates a new version of a model from a trained TensorFlow model. + * + * If the version created in the cloud by this call is the first deployed + * version of the specified model, it will be made the default version of the + * model. When you add a version to a model that already has one or more + * versions, the default version does not automatically change. If you want a + * new version to be the default, you must call [projects.models.versions.setDef + * ault](/ml/reference/rest/v1beta1/projects.models.versions/setDefault). + * (versions.create) + * + * @param string $parent Required. The name of the model. + * + * Authorization: requires `Editor` role on the parent project. + * @param Google_Service_CloudMachineLearning_GoogleCloudMlV1beta1Version $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_CloudMachineLearning_GoogleLongrunningOperation + */ + public function create($parent, Google_Service_CloudMachineLearning_GoogleCloudMlV1beta1Version $postBody, $optParams = array()) + { + $params = array('parent' => $parent, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('create', array($params), "Google_Service_CloudMachineLearning_GoogleLongrunningOperation"); + } + /** + * Deletes a model version. + * + * Each model can have multiple versions deployed and in use at any given time. + * Use this method to remove a single version. + * + * Note: You cannot delete the version that is set as the default version of the + * model unless it is the only remaining version. (versions.delete) + * + * @param string $name Required. The name of the version. You can get the names + * of all the versions of a model by calling [projects.models.versions.list](/ml + * /reference/rest/v1beta1/projects.models.versions/list). + * + * Authorization: requires `Editor` role on the parent project. + * @param array $optParams Optional parameters. + * @return Google_Service_CloudMachineLearning_GoogleLongrunningOperation + */ + public function delete($name, $optParams = array()) + { + $params = array('name' => $name); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params), "Google_Service_CloudMachineLearning_GoogleLongrunningOperation"); + } + /** + * Gets information about a model version. + * + * Models can have multiple versions. You can call [projects.models.versions.lis + * t](/ml/reference/rest/v1beta1/projects.models.versions/list) to get the same + * information that this method returns for all of the versions of a model. + * (versions.get) + * + * @param string $name Required. The name of the version. + * + * Authorization: requires `Viewer` role on the parent project. + * @param array $optParams Optional parameters. + * @return Google_Service_CloudMachineLearning_GoogleCloudMlV1beta1Version + */ + public function get($name, $optParams = array()) + { + $params = array('name' => $name); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_CloudMachineLearning_GoogleCloudMlV1beta1Version"); + } + /** + * Gets basic information about all the versions of a model. + * + * If you expect that a model has a lot of versions, or if you need to handle + * only a limited number of results at a time, you can request that the list be + * retrieved in batches (called pages): (versions.listProjectsModelsVersions) + * + * @param string $parent Required. The name of the model for which to list the + * version. + * + * Authorization: requires `Viewer` role on the parent project. + * @param array $optParams Optional parameters. + * + * @opt_param int pageSize Optional. The number of versions to retrieve per + * "page" of results. If there are more remaining results than this number, the + * response message will contain a valid value in the `next_page_token` field. + * + * The default value is 20, and the maximum page size is 100. + * @opt_param string pageToken Optional. A page token to request the next page + * of results. + * + * You get the token from the `next_page_token` field of the response from the + * previous call. + * @return Google_Service_CloudMachineLearning_GoogleCloudMlV1beta1ListVersionsResponse + */ + public function listProjectsModelsVersions($parent, $optParams = array()) + { + $params = array('parent' => $parent); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_CloudMachineLearning_GoogleCloudMlV1beta1ListVersionsResponse"); + } + /** + * Designates a version to be the default for the model. + * + * The default version is used for prediction requests made against the model + * that don't specify a version. + * + * The first version to be created for a model is automatically set as the + * default. You must make any subsequent changes to the default version setting + * manually using this method. (versions.setDefault) + * + * @param string $name Required. The name of the version to make the default for + * the model. You can get the names of all the versions of a model by calling [p + * rojects.models.versions.list](/ml/reference/rest/v1beta1/projects.models.vers + * ions/list). + * + * Authorization: requires `Editor` role on the parent project. + * @param Google_Service_CloudMachineLearning_GoogleCloudMlV1beta1SetDefaultVersionRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_CloudMachineLearning_GoogleCloudMlV1beta1Version + */ + public function setDefault($name, Google_Service_CloudMachineLearning_GoogleCloudMlV1beta1SetDefaultVersionRequest $postBody, $optParams = array()) + { + $params = array('name' => $name, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('setDefault', array($params), "Google_Service_CloudMachineLearning_GoogleCloudMlV1beta1Version"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudMachineLearning/Resource/ProjectsOperations.php b/vendor/google/apiclient-services/src/Google/Service/CloudMachineLearning/Resource/ProjectsOperations.php new file mode 100644 index 00000000..3deb6405 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudMachineLearning/Resource/ProjectsOperations.php @@ -0,0 +1,102 @@ + + * $mlService = new Google_Service_CloudMachineLearning(...); + * $operations = $mlService->operations; + * + */ +class Google_Service_CloudMachineLearning_Resource_ProjectsOperations extends Google_Service_Resource +{ + /** + * Starts asynchronous cancellation on a long-running operation. The server + * makes a best effort to cancel the operation, but success is not guaranteed. + * If the server doesn't support this method, it returns + * `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or + * other methods to check whether the cancellation succeeded or whether the + * operation completed despite cancellation. On successful cancellation, the + * operation is not deleted; instead, it becomes an operation with an + * Operation.error value with a google.rpc.Status.code of 1, corresponding to + * `Code.CANCELLED`. (operations.cancel) + * + * @param string $name The name of the operation resource to be cancelled. + * @param array $optParams Optional parameters. + * @return Google_Service_CloudMachineLearning_GoogleProtobufEmpty + */ + public function cancel($name, $optParams = array()) + { + $params = array('name' => $name); + $params = array_merge($params, $optParams); + return $this->call('cancel', array($params), "Google_Service_CloudMachineLearning_GoogleProtobufEmpty"); + } + /** + * Deletes a long-running operation. This method indicates that the client is no + * longer interested in the operation result. It does not cancel the operation. + * If the server doesn't support this method, it returns + * `google.rpc.Code.UNIMPLEMENTED`. (operations.delete) + * + * @param string $name The name of the operation resource to be deleted. + * @param array $optParams Optional parameters. + * @return Google_Service_CloudMachineLearning_GoogleProtobufEmpty + */ + public function delete($name, $optParams = array()) + { + $params = array('name' => $name); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params), "Google_Service_CloudMachineLearning_GoogleProtobufEmpty"); + } + /** + * Gets the latest state of a long-running operation. Clients can use this + * method to poll the operation result at intervals as recommended by the API + * service. (operations.get) + * + * @param string $name The name of the operation resource. + * @param array $optParams Optional parameters. + * @return Google_Service_CloudMachineLearning_GoogleLongrunningOperation + */ + public function get($name, $optParams = array()) + { + $params = array('name' => $name); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_CloudMachineLearning_GoogleLongrunningOperation"); + } + /** + * Lists operations that match the specified filter in the request. If the + * server doesn't support this method, it returns `UNIMPLEMENTED`. + * + * NOTE: the `name` binding below allows API services to override the binding to + * use different resource name schemes, such as `users/operations`. + * (operations.listProjectsOperations) + * + * @param string $name The name of the operation collection. + * @param array $optParams Optional parameters. + * + * @opt_param int pageSize The standard list page size. + * @opt_param string filter The standard list filter. + * @opt_param string pageToken The standard list page token. + * @return Google_Service_CloudMachineLearning_GoogleLongrunningListOperationsResponse + */ + public function listProjectsOperations($name, $optParams = array()) + { + $params = array('name' => $name); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_CloudMachineLearning_GoogleLongrunningListOperationsResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudMachineLearningEngine.php b/vendor/google/apiclient-services/src/Google/Service/CloudMachineLearningEngine.php new file mode 100644 index 00000000..22cf5f6b --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudMachineLearningEngine.php @@ -0,0 +1,338 @@ + + * An API to enable creating and using machine learning models.

+ * + *

+ * For more information about this service, see the API + * Documentation + *

+ * + * @author Google, Inc. + */ +class Google_Service_CloudMachineLearningEngine extends Google_Service +{ + /** View and manage your data across Google Cloud Platform services. */ + const CLOUD_PLATFORM = + "https://www.googleapis.com/auth/cloud-platform"; + + public $projects; + public $projects_jobs; + public $projects_models; + public $projects_models_versions; + public $projects_operations; + + /** + * Constructs the internal representation of the CloudMachineLearningEngine + * service. + * + * @param Google_Client $client + */ + public function __construct(Google_Client $client) + { + parent::__construct($client); + $this->rootUrl = 'https://ml.googleapis.com/'; + $this->servicePath = ''; + $this->version = 'v1'; + $this->serviceName = 'ml'; + + $this->projects = new Google_Service_CloudMachineLearningEngine_Resource_Projects( + $this, + $this->serviceName, + 'projects', + array( + 'methods' => array( + 'getConfig' => array( + 'path' => 'v1/{+name}:getConfig', + 'httpMethod' => 'GET', + 'parameters' => array( + 'name' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'predict' => array( + 'path' => 'v1/{+name}:predict', + 'httpMethod' => 'POST', + 'parameters' => array( + 'name' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->projects_jobs = new Google_Service_CloudMachineLearningEngine_Resource_ProjectsJobs( + $this, + $this->serviceName, + 'jobs', + array( + 'methods' => array( + 'cancel' => array( + 'path' => 'v1/{+name}:cancel', + 'httpMethod' => 'POST', + 'parameters' => array( + 'name' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'create' => array( + 'path' => 'v1/{+parent}/jobs', + 'httpMethod' => 'POST', + 'parameters' => array( + 'parent' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'get' => array( + 'path' => 'v1/{+name}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'name' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'v1/{+parent}/jobs', + 'httpMethod' => 'GET', + 'parameters' => array( + 'parent' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'filter' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pageSize' => array( + 'location' => 'query', + 'type' => 'integer', + ), + ), + ), + ) + ) + ); + $this->projects_models = new Google_Service_CloudMachineLearningEngine_Resource_ProjectsModels( + $this, + $this->serviceName, + 'models', + array( + 'methods' => array( + 'create' => array( + 'path' => 'v1/{+parent}/models', + 'httpMethod' => 'POST', + 'parameters' => array( + 'parent' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'delete' => array( + 'path' => 'v1/{+name}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'name' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'get' => array( + 'path' => 'v1/{+name}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'name' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'v1/{+parent}/models', + 'httpMethod' => 'GET', + 'parameters' => array( + 'parent' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pageSize' => array( + 'location' => 'query', + 'type' => 'integer', + ), + ), + ), + ) + ) + ); + $this->projects_models_versions = new Google_Service_CloudMachineLearningEngine_Resource_ProjectsModelsVersions( + $this, + $this->serviceName, + 'versions', + array( + 'methods' => array( + 'create' => array( + 'path' => 'v1/{+parent}/versions', + 'httpMethod' => 'POST', + 'parameters' => array( + 'parent' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'delete' => array( + 'path' => 'v1/{+name}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'name' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'get' => array( + 'path' => 'v1/{+name}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'name' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'v1/{+parent}/versions', + 'httpMethod' => 'GET', + 'parameters' => array( + 'parent' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pageSize' => array( + 'location' => 'query', + 'type' => 'integer', + ), + ), + ),'setDefault' => array( + 'path' => 'v1/{+name}:setDefault', + 'httpMethod' => 'POST', + 'parameters' => array( + 'name' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->projects_operations = new Google_Service_CloudMachineLearningEngine_Resource_ProjectsOperations( + $this, + $this->serviceName, + 'operations', + array( + 'methods' => array( + 'cancel' => array( + 'path' => 'v1/{+name}:cancel', + 'httpMethod' => 'POST', + 'parameters' => array( + 'name' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'delete' => array( + 'path' => 'v1/{+name}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'name' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'get' => array( + 'path' => 'v1/{+name}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'name' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'v1/{+name}/operations', + 'httpMethod' => 'GET', + 'parameters' => array( + 'name' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pageSize' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'filter' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudMachineLearningEngine/GoogleApiHttpBody.php b/vendor/google/apiclient-services/src/Google/Service/CloudMachineLearningEngine/GoogleApiHttpBody.php new file mode 100644 index 00000000..9defb8c5 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudMachineLearningEngine/GoogleApiHttpBody.php @@ -0,0 +1,39 @@ +contentType = $contentType; + } + public function getContentType() + { + return $this->contentType; + } + public function setData($data) + { + $this->data = $data; + } + public function getData() + { + return $this->data; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudMachineLearningEngine/GoogleCloudMlV1CancelJobRequest.php b/vendor/google/apiclient-services/src/Google/Service/CloudMachineLearningEngine/GoogleCloudMlV1CancelJobRequest.php new file mode 100644 index 00000000..a53fd50d --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudMachineLearningEngine/GoogleCloudMlV1CancelJobRequest.php @@ -0,0 +1,20 @@ +serviceAccount = $serviceAccount; + } + public function getServiceAccount() + { + return $this->serviceAccount; + } + public function setServiceAccountProject($serviceAccountProject) + { + $this->serviceAccountProject = $serviceAccountProject; + } + public function getServiceAccountProject() + { + return $this->serviceAccountProject; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudMachineLearningEngine/GoogleCloudMlV1HyperparameterOutput.php b/vendor/google/apiclient-services/src/Google/Service/CloudMachineLearningEngine/GoogleCloudMlV1HyperparameterOutput.php new file mode 100644 index 00000000..090b9545 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudMachineLearningEngine/GoogleCloudMlV1HyperparameterOutput.php @@ -0,0 +1,60 @@ +allMetrics = $allMetrics; + } + public function getAllMetrics() + { + return $this->allMetrics; + } + public function setFinalMetric(Google_Service_CloudMachineLearningEngine_GoogleCloudMlV1HyperparameterOutputHyperparameterMetric $finalMetric) + { + $this->finalMetric = $finalMetric; + } + public function getFinalMetric() + { + return $this->finalMetric; + } + public function setHyperparameters($hyperparameters) + { + $this->hyperparameters = $hyperparameters; + } + public function getHyperparameters() + { + return $this->hyperparameters; + } + public function setTrialId($trialId) + { + $this->trialId = $trialId; + } + public function getTrialId() + { + return $this->trialId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudMachineLearningEngine/GoogleCloudMlV1HyperparameterOutputHyperparameterMetric.php b/vendor/google/apiclient-services/src/Google/Service/CloudMachineLearningEngine/GoogleCloudMlV1HyperparameterOutputHyperparameterMetric.php new file mode 100644 index 00000000..6ce8feaf --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudMachineLearningEngine/GoogleCloudMlV1HyperparameterOutputHyperparameterMetric.php @@ -0,0 +1,39 @@ +objectiveValue = $objectiveValue; + } + public function getObjectiveValue() + { + return $this->objectiveValue; + } + public function setTrainingStep($trainingStep) + { + $this->trainingStep = $trainingStep; + } + public function getTrainingStep() + { + return $this->trainingStep; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudMachineLearningEngine/GoogleCloudMlV1HyperparameterSpec.php b/vendor/google/apiclient-services/src/Google/Service/CloudMachineLearningEngine/GoogleCloudMlV1HyperparameterSpec.php new file mode 100644 index 00000000..8a5bbab8 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudMachineLearningEngine/GoogleCloudMlV1HyperparameterSpec.php @@ -0,0 +1,68 @@ +goal = $goal; + } + public function getGoal() + { + return $this->goal; + } + public function setHyperparameterMetricTag($hyperparameterMetricTag) + { + $this->hyperparameterMetricTag = $hyperparameterMetricTag; + } + public function getHyperparameterMetricTag() + { + return $this->hyperparameterMetricTag; + } + public function setMaxParallelTrials($maxParallelTrials) + { + $this->maxParallelTrials = $maxParallelTrials; + } + public function getMaxParallelTrials() + { + return $this->maxParallelTrials; + } + public function setMaxTrials($maxTrials) + { + $this->maxTrials = $maxTrials; + } + public function getMaxTrials() + { + return $this->maxTrials; + } + public function setParams($params) + { + $this->params = $params; + } + public function getParams() + { + return $this->params; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudMachineLearningEngine/GoogleCloudMlV1Job.php b/vendor/google/apiclient-services/src/Google/Service/CloudMachineLearningEngine/GoogleCloudMlV1Job.php new file mode 100644 index 00000000..12477968 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudMachineLearningEngine/GoogleCloudMlV1Job.php @@ -0,0 +1,115 @@ +createTime = $createTime; + } + public function getCreateTime() + { + return $this->createTime; + } + public function setEndTime($endTime) + { + $this->endTime = $endTime; + } + public function getEndTime() + { + return $this->endTime; + } + public function setErrorMessage($errorMessage) + { + $this->errorMessage = $errorMessage; + } + public function getErrorMessage() + { + return $this->errorMessage; + } + public function setJobId($jobId) + { + $this->jobId = $jobId; + } + public function getJobId() + { + return $this->jobId; + } + public function setPredictionInput(Google_Service_CloudMachineLearningEngine_GoogleCloudMlV1PredictionInput $predictionInput) + { + $this->predictionInput = $predictionInput; + } + public function getPredictionInput() + { + return $this->predictionInput; + } + public function setPredictionOutput(Google_Service_CloudMachineLearningEngine_GoogleCloudMlV1PredictionOutput $predictionOutput) + { + $this->predictionOutput = $predictionOutput; + } + public function getPredictionOutput() + { + return $this->predictionOutput; + } + public function setStartTime($startTime) + { + $this->startTime = $startTime; + } + public function getStartTime() + { + return $this->startTime; + } + public function setState($state) + { + $this->state = $state; + } + public function getState() + { + return $this->state; + } + public function setTrainingInput(Google_Service_CloudMachineLearningEngine_GoogleCloudMlV1TrainingInput $trainingInput) + { + $this->trainingInput = $trainingInput; + } + public function getTrainingInput() + { + return $this->trainingInput; + } + public function setTrainingOutput(Google_Service_CloudMachineLearningEngine_GoogleCloudMlV1TrainingOutput $trainingOutput) + { + $this->trainingOutput = $trainingOutput; + } + public function getTrainingOutput() + { + return $this->trainingOutput; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudMachineLearningEngine/GoogleCloudMlV1ListJobsResponse.php b/vendor/google/apiclient-services/src/Google/Service/CloudMachineLearningEngine/GoogleCloudMlV1ListJobsResponse.php new file mode 100644 index 00000000..64ee1e51 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudMachineLearningEngine/GoogleCloudMlV1ListJobsResponse.php @@ -0,0 +1,41 @@ +jobs = $jobs; + } + public function getJobs() + { + return $this->jobs; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudMachineLearningEngine/GoogleCloudMlV1ListModelsResponse.php b/vendor/google/apiclient-services/src/Google/Service/CloudMachineLearningEngine/GoogleCloudMlV1ListModelsResponse.php new file mode 100644 index 00000000..94073eb1 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudMachineLearningEngine/GoogleCloudMlV1ListModelsResponse.php @@ -0,0 +1,41 @@ +models = $models; + } + public function getModels() + { + return $this->models; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudMachineLearningEngine/GoogleCloudMlV1ListVersionsResponse.php b/vendor/google/apiclient-services/src/Google/Service/CloudMachineLearningEngine/GoogleCloudMlV1ListVersionsResponse.php new file mode 100644 index 00000000..3854c313 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudMachineLearningEngine/GoogleCloudMlV1ListVersionsResponse.php @@ -0,0 +1,41 @@ +nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setVersions($versions) + { + $this->versions = $versions; + } + public function getVersions() + { + return $this->versions; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudMachineLearningEngine/GoogleCloudMlV1ManualScaling.php b/vendor/google/apiclient-services/src/Google/Service/CloudMachineLearningEngine/GoogleCloudMlV1ManualScaling.php new file mode 100644 index 00000000..e2ce19b7 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudMachineLearningEngine/GoogleCloudMlV1ManualScaling.php @@ -0,0 +1,30 @@ +nodes = $nodes; + } + public function getNodes() + { + return $this->nodes; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudMachineLearningEngine/GoogleCloudMlV1Model.php b/vendor/google/apiclient-services/src/Google/Service/CloudMachineLearningEngine/GoogleCloudMlV1Model.php new file mode 100644 index 00000000..f510f862 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudMachineLearningEngine/GoogleCloudMlV1Model.php @@ -0,0 +1,68 @@ +defaultVersion = $defaultVersion; + } + public function getDefaultVersion() + { + return $this->defaultVersion; + } + public function setDescription($description) + { + $this->description = $description; + } + public function getDescription() + { + return $this->description; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setOnlinePredictionLogging($onlinePredictionLogging) + { + $this->onlinePredictionLogging = $onlinePredictionLogging; + } + public function getOnlinePredictionLogging() + { + return $this->onlinePredictionLogging; + } + public function setRegions($regions) + { + $this->regions = $regions; + } + public function getRegions() + { + return $this->regions; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudMachineLearningEngine/GoogleCloudMlV1OperationMetadata.php b/vendor/google/apiclient-services/src/Google/Service/CloudMachineLearningEngine/GoogleCloudMlV1OperationMetadata.php new file mode 100644 index 00000000..f1b33712 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudMachineLearningEngine/GoogleCloudMlV1OperationMetadata.php @@ -0,0 +1,85 @@ +createTime = $createTime; + } + public function getCreateTime() + { + return $this->createTime; + } + public function setEndTime($endTime) + { + $this->endTime = $endTime; + } + public function getEndTime() + { + return $this->endTime; + } + public function setIsCancellationRequested($isCancellationRequested) + { + $this->isCancellationRequested = $isCancellationRequested; + } + public function getIsCancellationRequested() + { + return $this->isCancellationRequested; + } + public function setModelName($modelName) + { + $this->modelName = $modelName; + } + public function getModelName() + { + return $this->modelName; + } + public function setOperationType($operationType) + { + $this->operationType = $operationType; + } + public function getOperationType() + { + return $this->operationType; + } + public function setStartTime($startTime) + { + $this->startTime = $startTime; + } + public function getStartTime() + { + return $this->startTime; + } + public function setVersion(Google_Service_CloudMachineLearningEngine_GoogleCloudMlV1Version $version) + { + $this->version = $version; + } + public function getVersion() + { + return $this->version; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudMachineLearningEngine/GoogleCloudMlV1ParameterSpec.php b/vendor/google/apiclient-services/src/Google/Service/CloudMachineLearningEngine/GoogleCloudMlV1ParameterSpec.php new file mode 100644 index 00000000..d75f5915 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudMachineLearningEngine/GoogleCloudMlV1ParameterSpec.php @@ -0,0 +1,85 @@ +categoricalValues = $categoricalValues; + } + public function getCategoricalValues() + { + return $this->categoricalValues; + } + public function setDiscreteValues($discreteValues) + { + $this->discreteValues = $discreteValues; + } + public function getDiscreteValues() + { + return $this->discreteValues; + } + public function setMaxValue($maxValue) + { + $this->maxValue = $maxValue; + } + public function getMaxValue() + { + return $this->maxValue; + } + public function setMinValue($minValue) + { + $this->minValue = $minValue; + } + public function getMinValue() + { + return $this->minValue; + } + public function setParameterName($parameterName) + { + $this->parameterName = $parameterName; + } + public function getParameterName() + { + return $this->parameterName; + } + public function setScaleType($scaleType) + { + $this->scaleType = $scaleType; + } + public function getScaleType() + { + return $this->scaleType; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudMachineLearningEngine/GoogleCloudMlV1PredictRequest.php b/vendor/google/apiclient-services/src/Google/Service/CloudMachineLearningEngine/GoogleCloudMlV1PredictRequest.php new file mode 100644 index 00000000..763b83a9 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudMachineLearningEngine/GoogleCloudMlV1PredictRequest.php @@ -0,0 +1,31 @@ +httpBody = $httpBody; + } + public function getHttpBody() + { + return $this->httpBody; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudMachineLearningEngine/GoogleCloudMlV1PredictionInput.php b/vendor/google/apiclient-services/src/Google/Service/CloudMachineLearningEngine/GoogleCloudMlV1PredictionInput.php new file mode 100644 index 00000000..64b3b2a3 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudMachineLearningEngine/GoogleCloudMlV1PredictionInput.php @@ -0,0 +1,103 @@ +dataFormat = $dataFormat; + } + public function getDataFormat() + { + return $this->dataFormat; + } + public function setInputPaths($inputPaths) + { + $this->inputPaths = $inputPaths; + } + public function getInputPaths() + { + return $this->inputPaths; + } + public function setMaxWorkerCount($maxWorkerCount) + { + $this->maxWorkerCount = $maxWorkerCount; + } + public function getMaxWorkerCount() + { + return $this->maxWorkerCount; + } + public function setModelName($modelName) + { + $this->modelName = $modelName; + } + public function getModelName() + { + return $this->modelName; + } + public function setOutputPath($outputPath) + { + $this->outputPath = $outputPath; + } + public function getOutputPath() + { + return $this->outputPath; + } + public function setRegion($region) + { + $this->region = $region; + } + public function getRegion() + { + return $this->region; + } + public function setRuntimeVersion($runtimeVersion) + { + $this->runtimeVersion = $runtimeVersion; + } + public function getRuntimeVersion() + { + return $this->runtimeVersion; + } + public function setUri($uri) + { + $this->uri = $uri; + } + public function getUri() + { + return $this->uri; + } + public function setVersionName($versionName) + { + $this->versionName = $versionName; + } + public function getVersionName() + { + return $this->versionName; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudMachineLearningEngine/GoogleCloudMlV1PredictionOutput.php b/vendor/google/apiclient-services/src/Google/Service/CloudMachineLearningEngine/GoogleCloudMlV1PredictionOutput.php new file mode 100644 index 00000000..b3765585 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudMachineLearningEngine/GoogleCloudMlV1PredictionOutput.php @@ -0,0 +1,57 @@ +errorCount = $errorCount; + } + public function getErrorCount() + { + return $this->errorCount; + } + public function setNodeHours($nodeHours) + { + $this->nodeHours = $nodeHours; + } + public function getNodeHours() + { + return $this->nodeHours; + } + public function setOutputPath($outputPath) + { + $this->outputPath = $outputPath; + } + public function getOutputPath() + { + return $this->outputPath; + } + public function setPredictionCount($predictionCount) + { + $this->predictionCount = $predictionCount; + } + public function getPredictionCount() + { + return $this->predictionCount; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudMachineLearningEngine/GoogleCloudMlV1SetDefaultVersionRequest.php b/vendor/google/apiclient-services/src/Google/Service/CloudMachineLearningEngine/GoogleCloudMlV1SetDefaultVersionRequest.php new file mode 100644 index 00000000..cc51eec8 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudMachineLearningEngine/GoogleCloudMlV1SetDefaultVersionRequest.php @@ -0,0 +1,20 @@ +args = $args; + } + public function getArgs() + { + return $this->args; + } + public function setHyperparameters(Google_Service_CloudMachineLearningEngine_GoogleCloudMlV1HyperparameterSpec $hyperparameters) + { + $this->hyperparameters = $hyperparameters; + } + public function getHyperparameters() + { + return $this->hyperparameters; + } + public function setJobDir($jobDir) + { + $this->jobDir = $jobDir; + } + public function getJobDir() + { + return $this->jobDir; + } + public function setMasterType($masterType) + { + $this->masterType = $masterType; + } + public function getMasterType() + { + return $this->masterType; + } + public function setPackageUris($packageUris) + { + $this->packageUris = $packageUris; + } + public function getPackageUris() + { + return $this->packageUris; + } + public function setParameterServerCount($parameterServerCount) + { + $this->parameterServerCount = $parameterServerCount; + } + public function getParameterServerCount() + { + return $this->parameterServerCount; + } + public function setParameterServerType($parameterServerType) + { + $this->parameterServerType = $parameterServerType; + } + public function getParameterServerType() + { + return $this->parameterServerType; + } + public function setPythonModule($pythonModule) + { + $this->pythonModule = $pythonModule; + } + public function getPythonModule() + { + return $this->pythonModule; + } + public function setRegion($region) + { + $this->region = $region; + } + public function getRegion() + { + return $this->region; + } + public function setRuntimeVersion($runtimeVersion) + { + $this->runtimeVersion = $runtimeVersion; + } + public function getRuntimeVersion() + { + return $this->runtimeVersion; + } + public function setScaleTier($scaleTier) + { + $this->scaleTier = $scaleTier; + } + public function getScaleTier() + { + return $this->scaleTier; + } + public function setWorkerCount($workerCount) + { + $this->workerCount = $workerCount; + } + public function getWorkerCount() + { + return $this->workerCount; + } + public function setWorkerType($workerType) + { + $this->workerType = $workerType; + } + public function getWorkerType() + { + return $this->workerType; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudMachineLearningEngine/GoogleCloudMlV1TrainingOutput.php b/vendor/google/apiclient-services/src/Google/Service/CloudMachineLearningEngine/GoogleCloudMlV1TrainingOutput.php new file mode 100644 index 00000000..1e67d343 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudMachineLearningEngine/GoogleCloudMlV1TrainingOutput.php @@ -0,0 +1,59 @@ +completedTrialCount = $completedTrialCount; + } + public function getCompletedTrialCount() + { + return $this->completedTrialCount; + } + public function setConsumedMLUnits($consumedMLUnits) + { + $this->consumedMLUnits = $consumedMLUnits; + } + public function getConsumedMLUnits() + { + return $this->consumedMLUnits; + } + public function setIsHyperparameterTuningJob($isHyperparameterTuningJob) + { + $this->isHyperparameterTuningJob = $isHyperparameterTuningJob; + } + public function getIsHyperparameterTuningJob() + { + return $this->isHyperparameterTuningJob; + } + public function setTrials($trials) + { + $this->trials = $trials; + } + public function getTrials() + { + return $this->trials; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudMachineLearningEngine/GoogleCloudMlV1Version.php b/vendor/google/apiclient-services/src/Google/Service/CloudMachineLearningEngine/GoogleCloudMlV1Version.php new file mode 100644 index 00000000..426b7cbe --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudMachineLearningEngine/GoogleCloudMlV1Version.php @@ -0,0 +1,94 @@ +createTime = $createTime; + } + public function getCreateTime() + { + return $this->createTime; + } + public function setDeploymentUri($deploymentUri) + { + $this->deploymentUri = $deploymentUri; + } + public function getDeploymentUri() + { + return $this->deploymentUri; + } + public function setDescription($description) + { + $this->description = $description; + } + public function getDescription() + { + return $this->description; + } + public function setIsDefault($isDefault) + { + $this->isDefault = $isDefault; + } + public function getIsDefault() + { + return $this->isDefault; + } + public function setLastUseTime($lastUseTime) + { + $this->lastUseTime = $lastUseTime; + } + public function getLastUseTime() + { + return $this->lastUseTime; + } + public function setManualScaling(Google_Service_CloudMachineLearningEngine_GoogleCloudMlV1ManualScaling $manualScaling) + { + $this->manualScaling = $manualScaling; + } + public function getManualScaling() + { + return $this->manualScaling; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setRuntimeVersion($runtimeVersion) + { + $this->runtimeVersion = $runtimeVersion; + } + public function getRuntimeVersion() + { + return $this->runtimeVersion; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudMachineLearningEngine/GoogleCloudMlV1beta1ManualScaling.php b/vendor/google/apiclient-services/src/Google/Service/CloudMachineLearningEngine/GoogleCloudMlV1beta1ManualScaling.php new file mode 100644 index 00000000..5d0677a7 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudMachineLearningEngine/GoogleCloudMlV1beta1ManualScaling.php @@ -0,0 +1,30 @@ +nodes = $nodes; + } + public function getNodes() + { + return $this->nodes; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudMachineLearningEngine/GoogleCloudMlV1beta1OperationMetadata.php b/vendor/google/apiclient-services/src/Google/Service/CloudMachineLearningEngine/GoogleCloudMlV1beta1OperationMetadata.php new file mode 100644 index 00000000..8b5c5254 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudMachineLearningEngine/GoogleCloudMlV1beta1OperationMetadata.php @@ -0,0 +1,85 @@ +createTime = $createTime; + } + public function getCreateTime() + { + return $this->createTime; + } + public function setEndTime($endTime) + { + $this->endTime = $endTime; + } + public function getEndTime() + { + return $this->endTime; + } + public function setIsCancellationRequested($isCancellationRequested) + { + $this->isCancellationRequested = $isCancellationRequested; + } + public function getIsCancellationRequested() + { + return $this->isCancellationRequested; + } + public function setModelName($modelName) + { + $this->modelName = $modelName; + } + public function getModelName() + { + return $this->modelName; + } + public function setOperationType($operationType) + { + $this->operationType = $operationType; + } + public function getOperationType() + { + return $this->operationType; + } + public function setStartTime($startTime) + { + $this->startTime = $startTime; + } + public function getStartTime() + { + return $this->startTime; + } + public function setVersion(Google_Service_CloudMachineLearningEngine_GoogleCloudMlV1beta1Version $version) + { + $this->version = $version; + } + public function getVersion() + { + return $this->version; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudMachineLearningEngine/GoogleCloudMlV1beta1Version.php b/vendor/google/apiclient-services/src/Google/Service/CloudMachineLearningEngine/GoogleCloudMlV1beta1Version.php new file mode 100644 index 00000000..642dff3d --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudMachineLearningEngine/GoogleCloudMlV1beta1Version.php @@ -0,0 +1,94 @@ +createTime = $createTime; + } + public function getCreateTime() + { + return $this->createTime; + } + public function setDeploymentUri($deploymentUri) + { + $this->deploymentUri = $deploymentUri; + } + public function getDeploymentUri() + { + return $this->deploymentUri; + } + public function setDescription($description) + { + $this->description = $description; + } + public function getDescription() + { + return $this->description; + } + public function setIsDefault($isDefault) + { + $this->isDefault = $isDefault; + } + public function getIsDefault() + { + return $this->isDefault; + } + public function setLastUseTime($lastUseTime) + { + $this->lastUseTime = $lastUseTime; + } + public function getLastUseTime() + { + return $this->lastUseTime; + } + public function setManualScaling(Google_Service_CloudMachineLearningEngine_GoogleCloudMlV1beta1ManualScaling $manualScaling) + { + $this->manualScaling = $manualScaling; + } + public function getManualScaling() + { + return $this->manualScaling; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setRuntimeVersion($runtimeVersion) + { + $this->runtimeVersion = $runtimeVersion; + } + public function getRuntimeVersion() + { + return $this->runtimeVersion; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudMachineLearningEngine/GoogleLongrunningListOperationsResponse.php b/vendor/google/apiclient-services/src/Google/Service/CloudMachineLearningEngine/GoogleLongrunningListOperationsResponse.php new file mode 100644 index 00000000..9ee43c8d --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudMachineLearningEngine/GoogleLongrunningListOperationsResponse.php @@ -0,0 +1,41 @@ +nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setOperations($operations) + { + $this->operations = $operations; + } + public function getOperations() + { + return $this->operations; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudMachineLearningEngine/GoogleLongrunningOperation.php b/vendor/google/apiclient-services/src/Google/Service/CloudMachineLearningEngine/GoogleLongrunningOperation.php new file mode 100644 index 00000000..8438a2ba --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudMachineLearningEngine/GoogleLongrunningOperation.php @@ -0,0 +1,67 @@ +done = $done; + } + public function getDone() + { + return $this->done; + } + public function setError(Google_Service_CloudMachineLearningEngine_GoogleRpcStatus $error) + { + $this->error = $error; + } + public function getError() + { + return $this->error; + } + public function setMetadata($metadata) + { + $this->metadata = $metadata; + } + public function getMetadata() + { + return $this->metadata; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setResponse($response) + { + $this->response = $response; + } + public function getResponse() + { + return $this->response; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudMachineLearningEngine/GoogleProtobufEmpty.php b/vendor/google/apiclient-services/src/Google/Service/CloudMachineLearningEngine/GoogleProtobufEmpty.php new file mode 100644 index 00000000..cb33b8d6 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudMachineLearningEngine/GoogleProtobufEmpty.php @@ -0,0 +1,20 @@ +code = $code; + } + public function getCode() + { + return $this->code; + } + public function setDetails($details) + { + $this->details = $details; + } + public function getDetails() + { + return $this->details; + } + public function setMessage($message) + { + $this->message = $message; + } + public function getMessage() + { + return $this->message; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudMachineLearningEngine/Resource/Projects.php b/vendor/google/apiclient-services/src/Google/Service/CloudMachineLearningEngine/Resource/Projects.php new file mode 100644 index 00000000..fbda629d --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudMachineLearningEngine/Resource/Projects.php @@ -0,0 +1,64 @@ + + * $mlService = new Google_Service_CloudMachineLearningEngine(...); + * $projects = $mlService->projects; + * + */ +class Google_Service_CloudMachineLearningEngine_Resource_Projects extends Google_Service_Resource +{ + /** + * Get the service account information associated with your project. You need + * this information in order to grant the service account persmissions for the + * Google Cloud Storage location where you put your model training code for + * training the model with Google Cloud Machine Learning. (projects.getConfig) + * + * @param string $name Required. The project name. + * + * Authorization: requires `Viewer` role on the specified project. + * @param array $optParams Optional parameters. + * @return Google_Service_CloudMachineLearningEngine_GoogleCloudMlV1GetConfigResponse + */ + public function getConfig($name, $optParams = array()) + { + $params = array('name' => $name); + $params = array_merge($params, $optParams); + return $this->call('getConfig', array($params), "Google_Service_CloudMachineLearningEngine_GoogleCloudMlV1GetConfigResponse"); + } + /** + * Performs prediction on the data in the request. + * + * **** REMOVE FROM GENERATED DOCUMENTATION (projects.predict) + * + * @param string $name Required. The resource name of a model or a version. + * + * Authorization: requires `Viewer` role on the parent project. + * @param Google_Service_CloudMachineLearningEngine_GoogleCloudMlV1PredictRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_CloudMachineLearningEngine_GoogleApiHttpBody + */ + public function predict($name, Google_Service_CloudMachineLearningEngine_GoogleCloudMlV1PredictRequest $postBody, $optParams = array()) + { + $params = array('name' => $name, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('predict', array($params), "Google_Service_CloudMachineLearningEngine_GoogleApiHttpBody"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudMachineLearningEngine/Resource/ProjectsJobs.php b/vendor/google/apiclient-services/src/Google/Service/CloudMachineLearningEngine/Resource/ProjectsJobs.php new file mode 100644 index 00000000..ced6a517 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudMachineLearningEngine/Resource/ProjectsJobs.php @@ -0,0 +1,103 @@ + + * $mlService = new Google_Service_CloudMachineLearningEngine(...); + * $jobs = $mlService->jobs; + * + */ +class Google_Service_CloudMachineLearningEngine_Resource_ProjectsJobs extends Google_Service_Resource +{ + /** + * Cancels a running job. (jobs.cancel) + * + * @param string $name Required. The name of the job to cancel. + * + * Authorization: requires `Editor` role on the parent project. + * @param Google_Service_CloudMachineLearningEngine_GoogleCloudMlV1CancelJobRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_CloudMachineLearningEngine_GoogleProtobufEmpty + */ + public function cancel($name, Google_Service_CloudMachineLearningEngine_GoogleCloudMlV1CancelJobRequest $postBody, $optParams = array()) + { + $params = array('name' => $name, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('cancel', array($params), "Google_Service_CloudMachineLearningEngine_GoogleProtobufEmpty"); + } + /** + * Creates a training or a batch prediction job. (jobs.create) + * + * @param string $parent Required. The project name. + * + * Authorization: requires `Editor` role on the specified project. + * @param Google_Service_CloudMachineLearningEngine_GoogleCloudMlV1Job $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_CloudMachineLearningEngine_GoogleCloudMlV1Job + */ + public function create($parent, Google_Service_CloudMachineLearningEngine_GoogleCloudMlV1Job $postBody, $optParams = array()) + { + $params = array('parent' => $parent, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('create', array($params), "Google_Service_CloudMachineLearningEngine_GoogleCloudMlV1Job"); + } + /** + * Describes a job. (jobs.get) + * + * @param string $name Required. The name of the job to get the description of. + * + * Authorization: requires `Viewer` role on the parent project. + * @param array $optParams Optional parameters. + * @return Google_Service_CloudMachineLearningEngine_GoogleCloudMlV1Job + */ + public function get($name, $optParams = array()) + { + $params = array('name' => $name); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_CloudMachineLearningEngine_GoogleCloudMlV1Job"); + } + /** + * Lists the jobs in the project. (jobs.listProjectsJobs) + * + * @param string $parent Required. The name of the project for which to list + * jobs. + * + * Authorization: requires `Viewer` role on the specified project. + * @param array $optParams Optional parameters. + * + * @opt_param string filter Optional. Specifies the subset of jobs to retrieve. + * @opt_param string pageToken Optional. A page token to request the next page + * of results. + * + * You get the token from the `next_page_token` field of the response from the + * previous call. + * @opt_param int pageSize Optional. The number of jobs to retrieve per "page" + * of results. If there are more remaining results than this number, the + * response message will contain a valid value in the `next_page_token` field. + * + * The default value is 20, and the maximum page size is 100. + * @return Google_Service_CloudMachineLearningEngine_GoogleCloudMlV1ListJobsResponse + */ + public function listProjectsJobs($parent, $optParams = array()) + { + $params = array('parent' => $parent); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_CloudMachineLearningEngine_GoogleCloudMlV1ListJobsResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudMachineLearningEngine/Resource/ProjectsModels.php b/vendor/google/apiclient-services/src/Google/Service/CloudMachineLearningEngine/Resource/ProjectsModels.php new file mode 100644 index 00000000..96a165c4 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudMachineLearningEngine/Resource/ProjectsModels.php @@ -0,0 +1,114 @@ + + * $mlService = new Google_Service_CloudMachineLearningEngine(...); + * $models = $mlService->models; + * + */ +class Google_Service_CloudMachineLearningEngine_Resource_ProjectsModels extends Google_Service_Resource +{ + /** + * Creates a model which will later contain one or more versions. + * + * You must add at least one version before you can request predictions from the + * model. Add versions by calling [projects.models.versions.create](/ml/referenc + * e/rest/v1/projects.models.versions/create). (models.create) + * + * @param string $parent Required. The project name. + * + * Authorization: requires `Editor` role on the specified project. + * @param Google_Service_CloudMachineLearningEngine_GoogleCloudMlV1Model $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_CloudMachineLearningEngine_GoogleCloudMlV1Model + */ + public function create($parent, Google_Service_CloudMachineLearningEngine_GoogleCloudMlV1Model $postBody, $optParams = array()) + { + $params = array('parent' => $parent, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('create', array($params), "Google_Service_CloudMachineLearningEngine_GoogleCloudMlV1Model"); + } + /** + * Deletes a model. + * + * You can only delete a model if there are no versions in it. You can delete + * versions by calling [projects.models.versions.delete](/ml/reference/rest/v1/p + * rojects.models.versions/delete). (models.delete) + * + * @param string $name Required. The name of the model. + * + * Authorization: requires `Editor` role on the parent project. + * @param array $optParams Optional parameters. + * @return Google_Service_CloudMachineLearningEngine_GoogleLongrunningOperation + */ + public function delete($name, $optParams = array()) + { + $params = array('name' => $name); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params), "Google_Service_CloudMachineLearningEngine_GoogleLongrunningOperation"); + } + /** + * Gets information about a model, including its name, the description (if set), + * and the default version (if at least one version of the model has been + * deployed). (models.get) + * + * @param string $name Required. The name of the model. + * + * Authorization: requires `Viewer` role on the parent project. + * @param array $optParams Optional parameters. + * @return Google_Service_CloudMachineLearningEngine_GoogleCloudMlV1Model + */ + public function get($name, $optParams = array()) + { + $params = array('name' => $name); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_CloudMachineLearningEngine_GoogleCloudMlV1Model"); + } + /** + * Lists the models in a project. + * + * Each project can contain multiple models, and each model can have multiple + * versions. (models.listProjectsModels) + * + * @param string $parent Required. The name of the project whose models are to + * be listed. + * + * Authorization: requires `Viewer` role on the specified project. + * @param array $optParams Optional parameters. + * + * @opt_param string pageToken Optional. A page token to request the next page + * of results. + * + * You get the token from the `next_page_token` field of the response from the + * previous call. + * @opt_param int pageSize Optional. The number of models to retrieve per "page" + * of results. If there are more remaining results than this number, the + * response message will contain a valid value in the `next_page_token` field. + * + * The default value is 20, and the maximum page size is 100. + * @return Google_Service_CloudMachineLearningEngine_GoogleCloudMlV1ListModelsResponse + */ + public function listProjectsModels($parent, $optParams = array()) + { + $params = array('parent' => $parent); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_CloudMachineLearningEngine_GoogleCloudMlV1ListModelsResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudMachineLearningEngine/Resource/ProjectsModelsVersions.php b/vendor/google/apiclient-services/src/Google/Service/CloudMachineLearningEngine/Resource/ProjectsModelsVersions.php new file mode 100644 index 00000000..030482b7 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudMachineLearningEngine/Resource/ProjectsModelsVersions.php @@ -0,0 +1,152 @@ + + * $mlService = new Google_Service_CloudMachineLearningEngine(...); + * $versions = $mlService->versions; + * + */ +class Google_Service_CloudMachineLearningEngine_Resource_ProjectsModelsVersions extends Google_Service_Resource +{ + /** + * Creates a new version of a model from a trained TensorFlow model. + * + * If the version created in the cloud by this call is the first deployed + * version of the specified model, it will be made the default version of the + * model. When you add a version to a model that already has one or more + * versions, the default version does not automatically change. If you want a + * new version to be the default, you must call [projects.models.versions.setDef + * ault](/ml/reference/rest/v1/projects.models.versions/setDefault). + * (versions.create) + * + * @param string $parent Required. The name of the model. + * + * Authorization: requires `Editor` role on the parent project. + * @param Google_Service_CloudMachineLearningEngine_GoogleCloudMlV1Version $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_CloudMachineLearningEngine_GoogleLongrunningOperation + */ + public function create($parent, Google_Service_CloudMachineLearningEngine_GoogleCloudMlV1Version $postBody, $optParams = array()) + { + $params = array('parent' => $parent, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('create', array($params), "Google_Service_CloudMachineLearningEngine_GoogleLongrunningOperation"); + } + /** + * Deletes a model version. + * + * Each model can have multiple versions deployed and in use at any given time. + * Use this method to remove a single version. + * + * Note: You cannot delete the version that is set as the default version of the + * model unless it is the only remaining version. (versions.delete) + * + * @param string $name Required. The name of the version. You can get the names + * of all the versions of a model by calling [projects.models.versions.list](/ml + * /reference/rest/v1/projects.models.versions/list). + * + * Authorization: requires `Editor` role on the parent project. + * @param array $optParams Optional parameters. + * @return Google_Service_CloudMachineLearningEngine_GoogleLongrunningOperation + */ + public function delete($name, $optParams = array()) + { + $params = array('name' => $name); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params), "Google_Service_CloudMachineLearningEngine_GoogleLongrunningOperation"); + } + /** + * Gets information about a model version. + * + * Models can have multiple versions. You can call [projects.models.versions.lis + * t](/ml/reference/rest/v1/projects.models.versions/list) to get the same + * information that this method returns for all of the versions of a model. + * (versions.get) + * + * @param string $name Required. The name of the version. + * + * Authorization: requires `Viewer` role on the parent project. + * @param array $optParams Optional parameters. + * @return Google_Service_CloudMachineLearningEngine_GoogleCloudMlV1Version + */ + public function get($name, $optParams = array()) + { + $params = array('name' => $name); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_CloudMachineLearningEngine_GoogleCloudMlV1Version"); + } + /** + * Gets basic information about all the versions of a model. + * + * If you expect that a model has a lot of versions, or if you need to handle + * only a limited number of results at a time, you can request that the list be + * retrieved in batches (called pages): (versions.listProjectsModelsVersions) + * + * @param string $parent Required. The name of the model for which to list the + * version. + * + * Authorization: requires `Viewer` role on the parent project. + * @param array $optParams Optional parameters. + * + * @opt_param string pageToken Optional. A page token to request the next page + * of results. + * + * You get the token from the `next_page_token` field of the response from the + * previous call. + * @opt_param int pageSize Optional. The number of versions to retrieve per + * "page" of results. If there are more remaining results than this number, the + * response message will contain a valid value in the `next_page_token` field. + * + * The default value is 20, and the maximum page size is 100. + * @return Google_Service_CloudMachineLearningEngine_GoogleCloudMlV1ListVersionsResponse + */ + public function listProjectsModelsVersions($parent, $optParams = array()) + { + $params = array('parent' => $parent); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_CloudMachineLearningEngine_GoogleCloudMlV1ListVersionsResponse"); + } + /** + * Designates a version to be the default for the model. + * + * The default version is used for prediction requests made against the model + * that don't specify a version. + * + * The first version to be created for a model is automatically set as the + * default. You must make any subsequent changes to the default version setting + * manually using this method. (versions.setDefault) + * + * @param string $name Required. The name of the version to make the default for + * the model. You can get the names of all the versions of a model by calling [p + * rojects.models.versions.list](/ml/reference/rest/v1/projects.models.versions/ + * list). + * + * Authorization: requires `Editor` role on the parent project. + * @param Google_Service_CloudMachineLearningEngine_GoogleCloudMlV1SetDefaultVersionRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_CloudMachineLearningEngine_GoogleCloudMlV1Version + */ + public function setDefault($name, Google_Service_CloudMachineLearningEngine_GoogleCloudMlV1SetDefaultVersionRequest $postBody, $optParams = array()) + { + $params = array('name' => $name, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('setDefault', array($params), "Google_Service_CloudMachineLearningEngine_GoogleCloudMlV1Version"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudMachineLearningEngine/Resource/ProjectsOperations.php b/vendor/google/apiclient-services/src/Google/Service/CloudMachineLearningEngine/Resource/ProjectsOperations.php new file mode 100644 index 00000000..d2a577c3 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudMachineLearningEngine/Resource/ProjectsOperations.php @@ -0,0 +1,102 @@ + + * $mlService = new Google_Service_CloudMachineLearningEngine(...); + * $operations = $mlService->operations; + * + */ +class Google_Service_CloudMachineLearningEngine_Resource_ProjectsOperations extends Google_Service_Resource +{ + /** + * Starts asynchronous cancellation on a long-running operation. The server + * makes a best effort to cancel the operation, but success is not guaranteed. + * If the server doesn't support this method, it returns + * `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or + * other methods to check whether the cancellation succeeded or whether the + * operation completed despite cancellation. On successful cancellation, the + * operation is not deleted; instead, it becomes an operation with an + * Operation.error value with a google.rpc.Status.code of 1, corresponding to + * `Code.CANCELLED`. (operations.cancel) + * + * @param string $name The name of the operation resource to be cancelled. + * @param array $optParams Optional parameters. + * @return Google_Service_CloudMachineLearningEngine_GoogleProtobufEmpty + */ + public function cancel($name, $optParams = array()) + { + $params = array('name' => $name); + $params = array_merge($params, $optParams); + return $this->call('cancel', array($params), "Google_Service_CloudMachineLearningEngine_GoogleProtobufEmpty"); + } + /** + * Deletes a long-running operation. This method indicates that the client is no + * longer interested in the operation result. It does not cancel the operation. + * If the server doesn't support this method, it returns + * `google.rpc.Code.UNIMPLEMENTED`. (operations.delete) + * + * @param string $name The name of the operation resource to be deleted. + * @param array $optParams Optional parameters. + * @return Google_Service_CloudMachineLearningEngine_GoogleProtobufEmpty + */ + public function delete($name, $optParams = array()) + { + $params = array('name' => $name); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params), "Google_Service_CloudMachineLearningEngine_GoogleProtobufEmpty"); + } + /** + * Gets the latest state of a long-running operation. Clients can use this + * method to poll the operation result at intervals as recommended by the API + * service. (operations.get) + * + * @param string $name The name of the operation resource. + * @param array $optParams Optional parameters. + * @return Google_Service_CloudMachineLearningEngine_GoogleLongrunningOperation + */ + public function get($name, $optParams = array()) + { + $params = array('name' => $name); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_CloudMachineLearningEngine_GoogleLongrunningOperation"); + } + /** + * Lists operations that match the specified filter in the request. If the + * server doesn't support this method, it returns `UNIMPLEMENTED`. + * + * NOTE: the `name` binding below allows API services to override the binding to + * use different resource name schemes, such as `users/operations`. + * (operations.listProjectsOperations) + * + * @param string $name The name of the operation collection. + * @param array $optParams Optional parameters. + * + * @opt_param string pageToken The standard list page token. + * @opt_param int pageSize The standard list page size. + * @opt_param string filter The standard list filter. + * @return Google_Service_CloudMachineLearningEngine_GoogleLongrunningListOperationsResponse + */ + public function listProjectsOperations($name, $optParams = array()) + { + $params = array('name' => $name); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_CloudMachineLearningEngine_GoogleLongrunningListOperationsResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudMonitoring.php b/vendor/google/apiclient-services/src/Google/Service/CloudMonitoring.php new file mode 100644 index 00000000..2e1560a7 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudMonitoring.php @@ -0,0 +1,243 @@ + + * Accesses Google Cloud Monitoring data.

+ * + *

+ * For more information about this service, see the API + * Documentation + *

+ * + * @author Google, Inc. + */ +class Google_Service_CloudMonitoring extends Google_Service +{ + /** View and manage your data across Google Cloud Platform services. */ + const CLOUD_PLATFORM = + "https://www.googleapis.com/auth/cloud-platform"; + /** View and write monitoring data for all of your Google and third-party Cloud and API projects. */ + const MONITORING = + "https://www.googleapis.com/auth/monitoring"; + + public $metricDescriptors; + public $timeseries; + public $timeseriesDescriptors; + + /** + * Constructs the internal representation of the CloudMonitoring service. + * + * @param Google_Client $client + */ + public function __construct(Google_Client $client) + { + parent::__construct($client); + $this->rootUrl = 'https://www.googleapis.com/'; + $this->servicePath = 'cloudmonitoring/v2beta2/projects/'; + $this->version = 'v2beta2'; + $this->serviceName = 'cloudmonitoring'; + + $this->metricDescriptors = new Google_Service_CloudMonitoring_Resource_MetricDescriptors( + $this, + $this->serviceName, + 'metricDescriptors', + array( + 'methods' => array( + 'create' => array( + 'path' => '{project}/metricDescriptors', + 'httpMethod' => 'POST', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'delete' => array( + 'path' => '{project}/metricDescriptors/{metric}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'metric' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => '{project}/metricDescriptors', + 'httpMethod' => 'GET', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'count' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'query' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + $this->timeseries = new Google_Service_CloudMonitoring_Resource_Timeseries( + $this, + $this->serviceName, + 'timeseries', + array( + 'methods' => array( + 'list' => array( + 'path' => '{project}/timeseries/{metric}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'metric' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'youngest' => array( + 'location' => 'query', + 'type' => 'string', + 'required' => true, + ), + 'aggregator' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'count' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'labels' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + ), + 'oldest' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'timespan' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'window' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'write' => array( + 'path' => '{project}/timeseries:write', + 'httpMethod' => 'POST', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->timeseriesDescriptors = new Google_Service_CloudMonitoring_Resource_TimeseriesDescriptors( + $this, + $this->serviceName, + 'timeseriesDescriptors', + array( + 'methods' => array( + 'list' => array( + 'path' => '{project}/timeseriesDescriptors/{metric}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'metric' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'youngest' => array( + 'location' => 'query', + 'type' => 'string', + 'required' => true, + ), + 'aggregator' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'count' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'labels' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + ), + 'oldest' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'timespan' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'window' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudMonitoring/DeleteMetricDescriptorResponse.php b/vendor/google/apiclient-services/src/Google/Service/CloudMonitoring/DeleteMetricDescriptorResponse.php new file mode 100644 index 00000000..4a7c777f --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudMonitoring/DeleteMetricDescriptorResponse.php @@ -0,0 +1,30 @@ +kind = $kind; + } + public function getKind() + { + return $this->kind; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudMonitoring/ListMetricDescriptorsRequest.php b/vendor/google/apiclient-services/src/Google/Service/CloudMonitoring/ListMetricDescriptorsRequest.php new file mode 100644 index 00000000..660d96a2 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudMonitoring/ListMetricDescriptorsRequest.php @@ -0,0 +1,30 @@ +kind = $kind; + } + public function getKind() + { + return $this->kind; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudMonitoring/ListMetricDescriptorsResponse.php b/vendor/google/apiclient-services/src/Google/Service/CloudMonitoring/ListMetricDescriptorsResponse.php new file mode 100644 index 00000000..0265b2ee --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudMonitoring/ListMetricDescriptorsResponse.php @@ -0,0 +1,50 @@ +kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setMetrics($metrics) + { + $this->metrics = $metrics; + } + public function getMetrics() + { + return $this->metrics; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudMonitoring/ListTimeseriesDescriptorsRequest.php b/vendor/google/apiclient-services/src/Google/Service/CloudMonitoring/ListTimeseriesDescriptorsRequest.php new file mode 100644 index 00000000..df36f657 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudMonitoring/ListTimeseriesDescriptorsRequest.php @@ -0,0 +1,30 @@ +kind = $kind; + } + public function getKind() + { + return $this->kind; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudMonitoring/ListTimeseriesDescriptorsResponse.php b/vendor/google/apiclient-services/src/Google/Service/CloudMonitoring/ListTimeseriesDescriptorsResponse.php new file mode 100644 index 00000000..3a7c26a3 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudMonitoring/ListTimeseriesDescriptorsResponse.php @@ -0,0 +1,68 @@ +kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setOldest($oldest) + { + $this->oldest = $oldest; + } + public function getOldest() + { + return $this->oldest; + } + public function setTimeseries($timeseries) + { + $this->timeseries = $timeseries; + } + public function getTimeseries() + { + return $this->timeseries; + } + public function setYoungest($youngest) + { + $this->youngest = $youngest; + } + public function getYoungest() + { + return $this->youngest; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudMonitoring/ListTimeseriesRequest.php b/vendor/google/apiclient-services/src/Google/Service/CloudMonitoring/ListTimeseriesRequest.php new file mode 100644 index 00000000..1d6db5a3 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudMonitoring/ListTimeseriesRequest.php @@ -0,0 +1,30 @@ +kind = $kind; + } + public function getKind() + { + return $this->kind; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudMonitoring/ListTimeseriesResponse.php b/vendor/google/apiclient-services/src/Google/Service/CloudMonitoring/ListTimeseriesResponse.php new file mode 100644 index 00000000..ad11b4d5 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudMonitoring/ListTimeseriesResponse.php @@ -0,0 +1,68 @@ +kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setOldest($oldest) + { + $this->oldest = $oldest; + } + public function getOldest() + { + return $this->oldest; + } + public function setTimeseries($timeseries) + { + $this->timeseries = $timeseries; + } + public function getTimeseries() + { + return $this->timeseries; + } + public function setYoungest($youngest) + { + $this->youngest = $youngest; + } + public function getYoungest() + { + return $this->youngest; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudMonitoring/MetricDescriptor.php b/vendor/google/apiclient-services/src/Google/Service/CloudMonitoring/MetricDescriptor.php new file mode 100644 index 00000000..b4d47467 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudMonitoring/MetricDescriptor.php @@ -0,0 +1,69 @@ +description = $description; + } + public function getDescription() + { + return $this->description; + } + public function setLabels($labels) + { + $this->labels = $labels; + } + public function getLabels() + { + return $this->labels; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setProject($project) + { + $this->project = $project; + } + public function getProject() + { + return $this->project; + } + public function setTypeDescriptor(Google_Service_CloudMonitoring_MetricDescriptorTypeDescriptor $typeDescriptor) + { + $this->typeDescriptor = $typeDescriptor; + } + public function getTypeDescriptor() + { + return $this->typeDescriptor; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudMonitoring/MetricDescriptorLabelDescriptor.php b/vendor/google/apiclient-services/src/Google/Service/CloudMonitoring/MetricDescriptorLabelDescriptor.php new file mode 100644 index 00000000..a480cc32 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudMonitoring/MetricDescriptorLabelDescriptor.php @@ -0,0 +1,39 @@ +description = $description; + } + public function getDescription() + { + return $this->description; + } + public function setKey($key) + { + $this->key = $key; + } + public function getKey() + { + return $this->key; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudMonitoring/MetricDescriptorTypeDescriptor.php b/vendor/google/apiclient-services/src/Google/Service/CloudMonitoring/MetricDescriptorTypeDescriptor.php new file mode 100644 index 00000000..54fffce5 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudMonitoring/MetricDescriptorTypeDescriptor.php @@ -0,0 +1,39 @@ +metricType = $metricType; + } + public function getMetricType() + { + return $this->metricType; + } + public function setValueType($valueType) + { + $this->valueType = $valueType; + } + public function getValueType() + { + return $this->valueType; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudMonitoring/Point.php b/vendor/google/apiclient-services/src/Google/Service/CloudMonitoring/Point.php new file mode 100644 index 00000000..28eb9305 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudMonitoring/Point.php @@ -0,0 +1,85 @@ +boolValue = $boolValue; + } + public function getBoolValue() + { + return $this->boolValue; + } + public function setDistributionValue(Google_Service_CloudMonitoring_PointDistribution $distributionValue) + { + $this->distributionValue = $distributionValue; + } + public function getDistributionValue() + { + return $this->distributionValue; + } + public function setDoubleValue($doubleValue) + { + $this->doubleValue = $doubleValue; + } + public function getDoubleValue() + { + return $this->doubleValue; + } + public function setEnd($end) + { + $this->end = $end; + } + public function getEnd() + { + return $this->end; + } + public function setInt64Value($int64Value) + { + $this->int64Value = $int64Value; + } + public function getInt64Value() + { + return $this->int64Value; + } + public function setStart($start) + { + $this->start = $start; + } + public function getStart() + { + return $this->start; + } + public function setStringValue($stringValue) + { + $this->stringValue = $stringValue; + } + public function getStringValue() + { + return $this->stringValue; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudMonitoring/PointDistribution.php b/vendor/google/apiclient-services/src/Google/Service/CloudMonitoring/PointDistribution.php new file mode 100644 index 00000000..7138dab0 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudMonitoring/PointDistribution.php @@ -0,0 +1,52 @@ +buckets = $buckets; + } + public function getBuckets() + { + return $this->buckets; + } + public function setOverflowBucket(Google_Service_CloudMonitoring_PointDistributionOverflowBucket $overflowBucket) + { + $this->overflowBucket = $overflowBucket; + } + public function getOverflowBucket() + { + return $this->overflowBucket; + } + public function setUnderflowBucket(Google_Service_CloudMonitoring_PointDistributionUnderflowBucket $underflowBucket) + { + $this->underflowBucket = $underflowBucket; + } + public function getUnderflowBucket() + { + return $this->underflowBucket; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudMonitoring/PointDistributionBucket.php b/vendor/google/apiclient-services/src/Google/Service/CloudMonitoring/PointDistributionBucket.php new file mode 100644 index 00000000..540148e3 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudMonitoring/PointDistributionBucket.php @@ -0,0 +1,48 @@ +count = $count; + } + public function getCount() + { + return $this->count; + } + public function setLowerBound($lowerBound) + { + $this->lowerBound = $lowerBound; + } + public function getLowerBound() + { + return $this->lowerBound; + } + public function setUpperBound($upperBound) + { + $this->upperBound = $upperBound; + } + public function getUpperBound() + { + return $this->upperBound; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudMonitoring/PointDistributionOverflowBucket.php b/vendor/google/apiclient-services/src/Google/Service/CloudMonitoring/PointDistributionOverflowBucket.php new file mode 100644 index 00000000..ec933786 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudMonitoring/PointDistributionOverflowBucket.php @@ -0,0 +1,39 @@ +count = $count; + } + public function getCount() + { + return $this->count; + } + public function setLowerBound($lowerBound) + { + $this->lowerBound = $lowerBound; + } + public function getLowerBound() + { + return $this->lowerBound; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudMonitoring/PointDistributionUnderflowBucket.php b/vendor/google/apiclient-services/src/Google/Service/CloudMonitoring/PointDistributionUnderflowBucket.php new file mode 100644 index 00000000..dab82c7e --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudMonitoring/PointDistributionUnderflowBucket.php @@ -0,0 +1,39 @@ +count = $count; + } + public function getCount() + { + return $this->count; + } + public function setUpperBound($upperBound) + { + $this->upperBound = $upperBound; + } + public function getUpperBound() + { + return $this->upperBound; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudMonitoring/Resource/MetricDescriptors.php b/vendor/google/apiclient-services/src/Google/Service/CloudMonitoring/Resource/MetricDescriptors.php new file mode 100644 index 00000000..f4088a47 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudMonitoring/Resource/MetricDescriptors.php @@ -0,0 +1,86 @@ + + * $cloudmonitoringService = new Google_Service_CloudMonitoring(...); + * $metricDescriptors = $cloudmonitoringService->metricDescriptors; + * + */ +class Google_Service_CloudMonitoring_Resource_MetricDescriptors extends Google_Service_Resource +{ + /** + * Create a new metric. (metricDescriptors.create) + * + * @param string $project The project id. The value can be the numeric project + * ID or string-based project name. + * @param Google_Service_CloudMonitoring_MetricDescriptor $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_CloudMonitoring_MetricDescriptor + */ + public function create($project, Google_Service_CloudMonitoring_MetricDescriptor $postBody, $optParams = array()) + { + $params = array('project' => $project, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('create', array($params), "Google_Service_CloudMonitoring_MetricDescriptor"); + } + /** + * Delete an existing metric. (metricDescriptors.delete) + * + * @param string $project The project ID to which the metric belongs. + * @param string $metric Name of the metric. + * @param array $optParams Optional parameters. + * @return Google_Service_CloudMonitoring_DeleteMetricDescriptorResponse + */ + public function delete($project, $metric, $optParams = array()) + { + $params = array('project' => $project, 'metric' => $metric); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params), "Google_Service_CloudMonitoring_DeleteMetricDescriptorResponse"); + } + /** + * List metric descriptors that match the query. If the query is not set, then + * all of the metric descriptors will be returned. Large responses will be + * paginated, use the nextPageToken returned in the response to request + * subsequent pages of results by setting the pageToken query parameter to the + * value of the nextPageToken. (metricDescriptors.listMetricDescriptors) + * + * @param string $project The project id. The value can be the numeric project + * ID or string-based project name. + * @param array $optParams Optional parameters. + * + * @opt_param int count Maximum number of metric descriptors per page. Used for + * pagination. If not specified, count = 100. + * @opt_param string pageToken The pagination token, which is used to page + * through large result sets. Set this value to the value of the nextPageToken + * to retrieve the next page of results. + * @opt_param string query The query used to search against existing metrics. + * Separate keywords with a space; the service joins all keywords with AND, + * meaning that all keywords must match for a metric to be returned. If this + * field is omitted, all metrics are returned. If an empty string is passed with + * this field, no metrics are returned. + * @return Google_Service_CloudMonitoring_ListMetricDescriptorsResponse + */ + public function listMetricDescriptors($project, $optParams = array()) + { + $params = array('project' => $project); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_CloudMonitoring_ListMetricDescriptorsResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudMonitoring/Resource/Timeseries.php b/vendor/google/apiclient-services/src/Google/Service/CloudMonitoring/Resource/Timeseries.php new file mode 100644 index 00000000..4a647349 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudMonitoring/Resource/Timeseries.php @@ -0,0 +1,104 @@ + + * $cloudmonitoringService = new Google_Service_CloudMonitoring(...); + * $timeseries = $cloudmonitoringService->timeseries; + * + */ +class Google_Service_CloudMonitoring_Resource_Timeseries extends Google_Service_Resource +{ + /** + * List the data points of the time series that match the metric and labels + * values and that have data points in the interval. Large responses are + * paginated; use the nextPageToken returned in the response to request + * subsequent pages of results by setting the pageToken query parameter to the + * value of the nextPageToken. (timeseries.listTimeseries) + * + * @param string $project The project ID to which this time series belongs. The + * value can be the numeric project ID or string-based project name. + * @param string $metric Metric names are protocol-free URLs as listed in the + * Supported Metrics page. For example, + * compute.googleapis.com/instance/disk/read_ops_count. + * @param string $youngest End of the time interval (inclusive), which is + * expressed as an RFC 3339 timestamp. + * @param array $optParams Optional parameters. + * + * @opt_param string aggregator The aggregation function that will reduce the + * data points in each window to a single point. This parameter is only valid + * for non-cumulative metrics with a value type of INT64 or DOUBLE. + * @opt_param int count Maximum number of data points per page, which is used + * for pagination of results. + * @opt_param string labels A collection of labels for the matching time series, + * which are represented as: - key==value: key equals the value - key=~value: + * key regex matches the value - key!=value: key does not equal the value - + * key!~value: key regex does not match the value For example, to list all of + * the time series descriptors for the region us-central1, you could specify: + * label=cloud.googleapis.com%2Flocation=~us-central1.* + * @opt_param string oldest Start of the time interval (exclusive), which is + * expressed as an RFC 3339 timestamp. If neither oldest nor timespan is + * specified, the default time interval will be (youngest - 4 hours, youngest] + * @opt_param string pageToken The pagination token, which is used to page + * through large result sets. Set this value to the value of the nextPageToken + * to retrieve the next page of results. + * @opt_param string timespan Length of the time interval to query, which is an + * alternative way to declare the interval: (youngest - timespan, youngest]. The + * timespan and oldest parameters should not be used together. Units: - s: + * second - m: minute - h: hour - d: day - w: week Examples: 2s, 3m, 4w. + * Only one unit is allowed, for example: 2w3d is not allowed; you should use + * 17d instead. + * + * If neither oldest nor timespan is specified, the default time interval will + * be (youngest - 4 hours, youngest]. + * @opt_param string window The sampling window. At most one data point will be + * returned for each window in the requested time interval. This parameter is + * only valid for non-cumulative metric types. Units: - m: minute - h: hour - + * d: day - w: week Examples: 3m, 4w. Only one unit is allowed, for example: + * 2w3d is not allowed; you should use 17d instead. + * @return Google_Service_CloudMonitoring_ListTimeseriesResponse + */ + public function listTimeseries($project, $metric, $youngest, $optParams = array()) + { + $params = array('project' => $project, 'metric' => $metric, 'youngest' => $youngest); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_CloudMonitoring_ListTimeseriesResponse"); + } + /** + * Put data points to one or more time series for one or more metrics. If a time + * series does not exist, a new time series will be created. It is not allowed + * to write a time series point that is older than the existing youngest point + * of that time series. Points that are older than the existing youngest point + * of that time series will be discarded silently. Therefore, users should make + * sure that points of a time series are written sequentially in the order of + * their end time. (timeseries.write) + * + * @param string $project The project ID. The value can be the numeric project + * ID or string-based project name. + * @param Google_Service_CloudMonitoring_WriteTimeseriesRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_CloudMonitoring_WriteTimeseriesResponse + */ + public function write($project, Google_Service_CloudMonitoring_WriteTimeseriesRequest $postBody, $optParams = array()) + { + $params = array('project' => $project, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('write', array($params), "Google_Service_CloudMonitoring_WriteTimeseriesResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudMonitoring/Resource/TimeseriesDescriptors.php b/vendor/google/apiclient-services/src/Google/Service/CloudMonitoring/Resource/TimeseriesDescriptors.php new file mode 100644 index 00000000..ff24d0a6 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudMonitoring/Resource/TimeseriesDescriptors.php @@ -0,0 +1,83 @@ + + * $cloudmonitoringService = new Google_Service_CloudMonitoring(...); + * $timeseriesDescriptors = $cloudmonitoringService->timeseriesDescriptors; + * + */ +class Google_Service_CloudMonitoring_Resource_TimeseriesDescriptors extends Google_Service_Resource +{ + /** + * List the descriptors of the time series that match the metric and labels + * values and that have data points in the interval. Large responses are + * paginated; use the nextPageToken returned in the response to request + * subsequent pages of results by setting the pageToken query parameter to the + * value of the nextPageToken. (timeseriesDescriptors.listTimeseriesDescriptors) + * + * @param string $project The project ID to which this time series belongs. The + * value can be the numeric project ID or string-based project name. + * @param string $metric Metric names are protocol-free URLs as listed in the + * Supported Metrics page. For example, + * compute.googleapis.com/instance/disk/read_ops_count. + * @param string $youngest End of the time interval (inclusive), which is + * expressed as an RFC 3339 timestamp. + * @param array $optParams Optional parameters. + * + * @opt_param string aggregator The aggregation function that will reduce the + * data points in each window to a single point. This parameter is only valid + * for non-cumulative metrics with a value type of INT64 or DOUBLE. + * @opt_param int count Maximum number of time series descriptors per page. Used + * for pagination. If not specified, count = 100. + * @opt_param string labels A collection of labels for the matching time series, + * which are represented as: - key==value: key equals the value - key=~value: + * key regex matches the value - key!=value: key does not equal the value - + * key!~value: key regex does not match the value For example, to list all of + * the time series descriptors for the region us-central1, you could specify: + * label=cloud.googleapis.com%2Flocation=~us-central1.* + * @opt_param string oldest Start of the time interval (exclusive), which is + * expressed as an RFC 3339 timestamp. If neither oldest nor timespan is + * specified, the default time interval will be (youngest - 4 hours, youngest] + * @opt_param string pageToken The pagination token, which is used to page + * through large result sets. Set this value to the value of the nextPageToken + * to retrieve the next page of results. + * @opt_param string timespan Length of the time interval to query, which is an + * alternative way to declare the interval: (youngest - timespan, youngest]. The + * timespan and oldest parameters should not be used together. Units: - s: + * second - m: minute - h: hour - d: day - w: week Examples: 2s, 3m, 4w. + * Only one unit is allowed, for example: 2w3d is not allowed; you should use + * 17d instead. + * + * If neither oldest nor timespan is specified, the default time interval will + * be (youngest - 4 hours, youngest]. + * @opt_param string window The sampling window. At most one data point will be + * returned for each window in the requested time interval. This parameter is + * only valid for non-cumulative metric types. Units: - m: minute - h: hour - + * d: day - w: week Examples: 3m, 4w. Only one unit is allowed, for example: + * 2w3d is not allowed; you should use 17d instead. + * @return Google_Service_CloudMonitoring_ListTimeseriesDescriptorsResponse + */ + public function listTimeseriesDescriptors($project, $metric, $youngest, $optParams = array()) + { + $params = array('project' => $project, 'metric' => $metric, 'youngest' => $youngest); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_CloudMonitoring_ListTimeseriesDescriptorsResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudMonitoring/Timeseries.php b/vendor/google/apiclient-services/src/Google/Service/CloudMonitoring/Timeseries.php new file mode 100644 index 00000000..ed77beb3 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudMonitoring/Timeseries.php @@ -0,0 +1,42 @@ +points = $points; + } + public function getPoints() + { + return $this->points; + } + public function setTimeseriesDesc(Google_Service_CloudMonitoring_TimeseriesDescriptor $timeseriesDesc) + { + $this->timeseriesDesc = $timeseriesDesc; + } + public function getTimeseriesDesc() + { + return $this->timeseriesDesc; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudMonitoring/TimeseriesDescriptor.php b/vendor/google/apiclient-services/src/Google/Service/CloudMonitoring/TimeseriesDescriptor.php new file mode 100644 index 00000000..b7de3d5f --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudMonitoring/TimeseriesDescriptor.php @@ -0,0 +1,48 @@ +labels = $labels; + } + public function getLabels() + { + return $this->labels; + } + public function setMetric($metric) + { + $this->metric = $metric; + } + public function getMetric() + { + return $this->metric; + } + public function setProject($project) + { + $this->project = $project; + } + public function getProject() + { + return $this->project; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudMonitoring/TimeseriesDescriptorLabel.php b/vendor/google/apiclient-services/src/Google/Service/CloudMonitoring/TimeseriesDescriptorLabel.php new file mode 100644 index 00000000..2c46fc25 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudMonitoring/TimeseriesDescriptorLabel.php @@ -0,0 +1,39 @@ +key = $key; + } + public function getKey() + { + return $this->key; + } + public function setValue($value) + { + $this->value = $value; + } + public function getValue() + { + return $this->value; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudMonitoring/TimeseriesPoint.php b/vendor/google/apiclient-services/src/Google/Service/CloudMonitoring/TimeseriesPoint.php new file mode 100644 index 00000000..b447a427 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudMonitoring/TimeseriesPoint.php @@ -0,0 +1,41 @@ +point = $point; + } + public function getPoint() + { + return $this->point; + } + public function setTimeseriesDesc(Google_Service_CloudMonitoring_TimeseriesDescriptor $timeseriesDesc) + { + $this->timeseriesDesc = $timeseriesDesc; + } + public function getTimeseriesDesc() + { + return $this->timeseriesDesc; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudMonitoring/WriteTimeseriesRequest.php b/vendor/google/apiclient-services/src/Google/Service/CloudMonitoring/WriteTimeseriesRequest.php new file mode 100644 index 00000000..18951de9 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudMonitoring/WriteTimeseriesRequest.php @@ -0,0 +1,41 @@ +commonLabels = $commonLabels; + } + public function getCommonLabels() + { + return $this->commonLabels; + } + public function setTimeseries($timeseries) + { + $this->timeseries = $timeseries; + } + public function getTimeseries() + { + return $this->timeseries; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudMonitoring/WriteTimeseriesResponse.php b/vendor/google/apiclient-services/src/Google/Service/CloudMonitoring/WriteTimeseriesResponse.php new file mode 100644 index 00000000..4d24fd34 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudMonitoring/WriteTimeseriesResponse.php @@ -0,0 +1,30 @@ +kind = $kind; + } + public function getKind() + { + return $this->kind; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudNaturalLanguage.php b/vendor/google/apiclient-services/src/Google/Service/CloudNaturalLanguage.php new file mode 100644 index 00000000..ac55a21b --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudNaturalLanguage.php @@ -0,0 +1,81 @@ + + * Google Cloud Natural Language API provides natural language understanding + * technologies to developers. Examples include sentiment analysis, entity + * recognition, and text annotations.

+ * + *

+ * For more information about this service, see the API + * Documentation + *

+ * + * @author Google, Inc. + */ +class Google_Service_CloudNaturalLanguage extends Google_Service +{ + /** View and manage your data across Google Cloud Platform services. */ + const CLOUD_PLATFORM = + "https://www.googleapis.com/auth/cloud-platform"; + + public $documents; + + /** + * Constructs the internal representation of the CloudNaturalLanguage service. + * + * @param Google_Client $client + */ + public function __construct(Google_Client $client) + { + parent::__construct($client); + $this->rootUrl = 'https://language.googleapis.com/'; + $this->servicePath = ''; + $this->version = 'v1'; + $this->serviceName = 'language'; + + $this->documents = new Google_Service_CloudNaturalLanguage_Resource_Documents( + $this, + $this->serviceName, + 'documents', + array( + 'methods' => array( + 'analyzeEntities' => array( + 'path' => 'v1/documents:analyzeEntities', + 'httpMethod' => 'POST', + 'parameters' => array(), + ),'analyzeSentiment' => array( + 'path' => 'v1/documents:analyzeSentiment', + 'httpMethod' => 'POST', + 'parameters' => array(), + ),'analyzeSyntax' => array( + 'path' => 'v1/documents:analyzeSyntax', + 'httpMethod' => 'POST', + 'parameters' => array(), + ),'annotateText' => array( + 'path' => 'v1/documents:annotateText', + 'httpMethod' => 'POST', + 'parameters' => array(), + ), + ) + ) + ); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudNaturalLanguage/AnalyzeEntitiesRequest.php b/vendor/google/apiclient-services/src/Google/Service/CloudNaturalLanguage/AnalyzeEntitiesRequest.php new file mode 100644 index 00000000..6317ea54 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudNaturalLanguage/AnalyzeEntitiesRequest.php @@ -0,0 +1,40 @@ +document = $document; + } + public function getDocument() + { + return $this->document; + } + public function setEncodingType($encodingType) + { + $this->encodingType = $encodingType; + } + public function getEncodingType() + { + return $this->encodingType; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudNaturalLanguage/AnalyzeEntitiesResponse.php b/vendor/google/apiclient-services/src/Google/Service/CloudNaturalLanguage/AnalyzeEntitiesResponse.php new file mode 100644 index 00000000..376f1db0 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudNaturalLanguage/AnalyzeEntitiesResponse.php @@ -0,0 +1,41 @@ +entities = $entities; + } + public function getEntities() + { + return $this->entities; + } + public function setLanguage($language) + { + $this->language = $language; + } + public function getLanguage() + { + return $this->language; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudNaturalLanguage/AnalyzeSentimentRequest.php b/vendor/google/apiclient-services/src/Google/Service/CloudNaturalLanguage/AnalyzeSentimentRequest.php new file mode 100644 index 00000000..3496cda1 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudNaturalLanguage/AnalyzeSentimentRequest.php @@ -0,0 +1,40 @@ +document = $document; + } + public function getDocument() + { + return $this->document; + } + public function setEncodingType($encodingType) + { + $this->encodingType = $encodingType; + } + public function getEncodingType() + { + return $this->encodingType; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudNaturalLanguage/AnalyzeSentimentResponse.php b/vendor/google/apiclient-services/src/Google/Service/CloudNaturalLanguage/AnalyzeSentimentResponse.php new file mode 100644 index 00000000..b2b4cb09 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudNaturalLanguage/AnalyzeSentimentResponse.php @@ -0,0 +1,51 @@ +documentSentiment = $documentSentiment; + } + public function getDocumentSentiment() + { + return $this->documentSentiment; + } + public function setLanguage($language) + { + $this->language = $language; + } + public function getLanguage() + { + return $this->language; + } + public function setSentences($sentences) + { + $this->sentences = $sentences; + } + public function getSentences() + { + return $this->sentences; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudNaturalLanguage/AnalyzeSyntaxRequest.php b/vendor/google/apiclient-services/src/Google/Service/CloudNaturalLanguage/AnalyzeSyntaxRequest.php new file mode 100644 index 00000000..ca5a040f --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudNaturalLanguage/AnalyzeSyntaxRequest.php @@ -0,0 +1,40 @@ +document = $document; + } + public function getDocument() + { + return $this->document; + } + public function setEncodingType($encodingType) + { + $this->encodingType = $encodingType; + } + public function getEncodingType() + { + return $this->encodingType; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudNaturalLanguage/AnalyzeSyntaxResponse.php b/vendor/google/apiclient-services/src/Google/Service/CloudNaturalLanguage/AnalyzeSyntaxResponse.php new file mode 100644 index 00000000..d11d2afd --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudNaturalLanguage/AnalyzeSyntaxResponse.php @@ -0,0 +1,51 @@ +language = $language; + } + public function getLanguage() + { + return $this->language; + } + public function setSentences($sentences) + { + $this->sentences = $sentences; + } + public function getSentences() + { + return $this->sentences; + } + public function setTokens($tokens) + { + $this->tokens = $tokens; + } + public function getTokens() + { + return $this->tokens; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudNaturalLanguage/AnnotateTextRequest.php b/vendor/google/apiclient-services/src/Google/Service/CloudNaturalLanguage/AnnotateTextRequest.php new file mode 100644 index 00000000..eb19a0cb --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudNaturalLanguage/AnnotateTextRequest.php @@ -0,0 +1,50 @@ +document = $document; + } + public function getDocument() + { + return $this->document; + } + public function setEncodingType($encodingType) + { + $this->encodingType = $encodingType; + } + public function getEncodingType() + { + return $this->encodingType; + } + public function setFeatures(Google_Service_CloudNaturalLanguage_Features $features) + { + $this->features = $features; + } + public function getFeatures() + { + return $this->features; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudNaturalLanguage/AnnotateTextResponse.php b/vendor/google/apiclient-services/src/Google/Service/CloudNaturalLanguage/AnnotateTextResponse.php new file mode 100644 index 00000000..cc64170f --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudNaturalLanguage/AnnotateTextResponse.php @@ -0,0 +1,71 @@ +documentSentiment = $documentSentiment; + } + public function getDocumentSentiment() + { + return $this->documentSentiment; + } + public function setEntities($entities) + { + $this->entities = $entities; + } + public function getEntities() + { + return $this->entities; + } + public function setLanguage($language) + { + $this->language = $language; + } + public function getLanguage() + { + return $this->language; + } + public function setSentences($sentences) + { + $this->sentences = $sentences; + } + public function getSentences() + { + return $this->sentences; + } + public function setTokens($tokens) + { + $this->tokens = $tokens; + } + public function getTokens() + { + return $this->tokens; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudNaturalLanguage/DependencyEdge.php b/vendor/google/apiclient-services/src/Google/Service/CloudNaturalLanguage/DependencyEdge.php new file mode 100644 index 00000000..017a344d --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudNaturalLanguage/DependencyEdge.php @@ -0,0 +1,39 @@ +headTokenIndex = $headTokenIndex; + } + public function getHeadTokenIndex() + { + return $this->headTokenIndex; + } + public function setLabel($label) + { + $this->label = $label; + } + public function getLabel() + { + return $this->label; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudNaturalLanguage/Document.php b/vendor/google/apiclient-services/src/Google/Service/CloudNaturalLanguage/Document.php new file mode 100644 index 00000000..327a84f7 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudNaturalLanguage/Document.php @@ -0,0 +1,57 @@ +content = $content; + } + public function getContent() + { + return $this->content; + } + public function setGcsContentUri($gcsContentUri) + { + $this->gcsContentUri = $gcsContentUri; + } + public function getGcsContentUri() + { + return $this->gcsContentUri; + } + public function setLanguage($language) + { + $this->language = $language; + } + public function getLanguage() + { + return $this->language; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudNaturalLanguage/Entity.php b/vendor/google/apiclient-services/src/Google/Service/CloudNaturalLanguage/Entity.php new file mode 100644 index 00000000..b855e87a --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudNaturalLanguage/Entity.php @@ -0,0 +1,68 @@ +mentions = $mentions; + } + public function getMentions() + { + return $this->mentions; + } + public function setMetadata($metadata) + { + $this->metadata = $metadata; + } + public function getMetadata() + { + return $this->metadata; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setSalience($salience) + { + $this->salience = $salience; + } + public function getSalience() + { + return $this->salience; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudNaturalLanguage/EntityMention.php b/vendor/google/apiclient-services/src/Google/Service/CloudNaturalLanguage/EntityMention.php new file mode 100644 index 00000000..3675f328 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudNaturalLanguage/EntityMention.php @@ -0,0 +1,40 @@ +text = $text; + } + public function getText() + { + return $this->text; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudNaturalLanguage/Features.php b/vendor/google/apiclient-services/src/Google/Service/CloudNaturalLanguage/Features.php new file mode 100644 index 00000000..1d2e977d --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudNaturalLanguage/Features.php @@ -0,0 +1,48 @@ +extractDocumentSentiment = $extractDocumentSentiment; + } + public function getExtractDocumentSentiment() + { + return $this->extractDocumentSentiment; + } + public function setExtractEntities($extractEntities) + { + $this->extractEntities = $extractEntities; + } + public function getExtractEntities() + { + return $this->extractEntities; + } + public function setExtractSyntax($extractSyntax) + { + $this->extractSyntax = $extractSyntax; + } + public function getExtractSyntax() + { + return $this->extractSyntax; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudNaturalLanguage/PartOfSpeech.php b/vendor/google/apiclient-services/src/Google/Service/CloudNaturalLanguage/PartOfSpeech.php new file mode 100644 index 00000000..81123c08 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudNaturalLanguage/PartOfSpeech.php @@ -0,0 +1,129 @@ +aspect = $aspect; + } + public function getAspect() + { + return $this->aspect; + } + public function setCase($case) + { + $this->case = $case; + } + public function getCase() + { + return $this->case; + } + public function setForm($form) + { + $this->form = $form; + } + public function getForm() + { + return $this->form; + } + public function setGender($gender) + { + $this->gender = $gender; + } + public function getGender() + { + return $this->gender; + } + public function setMood($mood) + { + $this->mood = $mood; + } + public function getMood() + { + return $this->mood; + } + public function setNumber($number) + { + $this->number = $number; + } + public function getNumber() + { + return $this->number; + } + public function setPerson($person) + { + $this->person = $person; + } + public function getPerson() + { + return $this->person; + } + public function setProper($proper) + { + $this->proper = $proper; + } + public function getProper() + { + return $this->proper; + } + public function setReciprocity($reciprocity) + { + $this->reciprocity = $reciprocity; + } + public function getReciprocity() + { + return $this->reciprocity; + } + public function setTag($tag) + { + $this->tag = $tag; + } + public function getTag() + { + return $this->tag; + } + public function setTense($tense) + { + $this->tense = $tense; + } + public function getTense() + { + return $this->tense; + } + public function setVoice($voice) + { + $this->voice = $voice; + } + public function getVoice() + { + return $this->voice; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudNaturalLanguage/Resource/Documents.php b/vendor/google/apiclient-services/src/Google/Service/CloudNaturalLanguage/Resource/Documents.php new file mode 100644 index 00000000..3c051a0c --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudNaturalLanguage/Resource/Documents.php @@ -0,0 +1,86 @@ + + * $languageService = new Google_Service_CloudNaturalLanguage(...); + * $documents = $languageService->documents; + * + */ +class Google_Service_CloudNaturalLanguage_Resource_Documents extends Google_Service_Resource +{ + /** + * Finds named entities (currently finds proper names) in the text, entity + * types, salience, mentions for each entity, and other properties. + * (documents.analyzeEntities) + * + * @param Google_Service_CloudNaturalLanguage_AnalyzeEntitiesRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_CloudNaturalLanguage_AnalyzeEntitiesResponse + */ + public function analyzeEntities(Google_Service_CloudNaturalLanguage_AnalyzeEntitiesRequest $postBody, $optParams = array()) + { + $params = array('postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('analyzeEntities', array($params), "Google_Service_CloudNaturalLanguage_AnalyzeEntitiesResponse"); + } + /** + * Analyzes the sentiment of the provided text. (documents.analyzeSentiment) + * + * @param Google_Service_CloudNaturalLanguage_AnalyzeSentimentRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_CloudNaturalLanguage_AnalyzeSentimentResponse + */ + public function analyzeSentiment(Google_Service_CloudNaturalLanguage_AnalyzeSentimentRequest $postBody, $optParams = array()) + { + $params = array('postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('analyzeSentiment', array($params), "Google_Service_CloudNaturalLanguage_AnalyzeSentimentResponse"); + } + /** + * Analyzes the syntax of the text and provides sentence boundaries and + * tokenization along with part of speech tags, dependency trees, and other + * properties. (documents.analyzeSyntax) + * + * @param Google_Service_CloudNaturalLanguage_AnalyzeSyntaxRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_CloudNaturalLanguage_AnalyzeSyntaxResponse + */ + public function analyzeSyntax(Google_Service_CloudNaturalLanguage_AnalyzeSyntaxRequest $postBody, $optParams = array()) + { + $params = array('postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('analyzeSyntax', array($params), "Google_Service_CloudNaturalLanguage_AnalyzeSyntaxResponse"); + } + /** + * A convenience method that provides all the features that analyzeSentiment, + * analyzeEntities, and analyzeSyntax provide in one call. + * (documents.annotateText) + * + * @param Google_Service_CloudNaturalLanguage_AnnotateTextRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_CloudNaturalLanguage_AnnotateTextResponse + */ + public function annotateText(Google_Service_CloudNaturalLanguage_AnnotateTextRequest $postBody, $optParams = array()) + { + $params = array('postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('annotateText', array($params), "Google_Service_CloudNaturalLanguage_AnnotateTextResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudNaturalLanguage/Sentence.php b/vendor/google/apiclient-services/src/Google/Service/CloudNaturalLanguage/Sentence.php new file mode 100644 index 00000000..e02ad371 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudNaturalLanguage/Sentence.php @@ -0,0 +1,41 @@ +sentiment = $sentiment; + } + public function getSentiment() + { + return $this->sentiment; + } + public function setText(Google_Service_CloudNaturalLanguage_TextSpan $text) + { + $this->text = $text; + } + public function getText() + { + return $this->text; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudNaturalLanguage/Sentiment.php b/vendor/google/apiclient-services/src/Google/Service/CloudNaturalLanguage/Sentiment.php new file mode 100644 index 00000000..ec64f7e6 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudNaturalLanguage/Sentiment.php @@ -0,0 +1,39 @@ +magnitude = $magnitude; + } + public function getMagnitude() + { + return $this->magnitude; + } + public function setScore($score) + { + $this->score = $score; + } + public function getScore() + { + return $this->score; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudNaturalLanguage/Status.php b/vendor/google/apiclient-services/src/Google/Service/CloudNaturalLanguage/Status.php new file mode 100644 index 00000000..4e8a91c8 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudNaturalLanguage/Status.php @@ -0,0 +1,49 @@ +code = $code; + } + public function getCode() + { + return $this->code; + } + public function setDetails($details) + { + $this->details = $details; + } + public function getDetails() + { + return $this->details; + } + public function setMessage($message) + { + $this->message = $message; + } + public function getMessage() + { + return $this->message; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudNaturalLanguage/TextSpan.php b/vendor/google/apiclient-services/src/Google/Service/CloudNaturalLanguage/TextSpan.php new file mode 100644 index 00000000..5ea23c55 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudNaturalLanguage/TextSpan.php @@ -0,0 +1,39 @@ +beginOffset = $beginOffset; + } + public function getBeginOffset() + { + return $this->beginOffset; + } + public function setContent($content) + { + $this->content = $content; + } + public function getContent() + { + return $this->content; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudNaturalLanguage/Token.php b/vendor/google/apiclient-services/src/Google/Service/CloudNaturalLanguage/Token.php new file mode 100644 index 00000000..7e38024d --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudNaturalLanguage/Token.php @@ -0,0 +1,60 @@ +dependencyEdge = $dependencyEdge; + } + public function getDependencyEdge() + { + return $this->dependencyEdge; + } + public function setLemma($lemma) + { + $this->lemma = $lemma; + } + public function getLemma() + { + return $this->lemma; + } + public function setPartOfSpeech(Google_Service_CloudNaturalLanguage_PartOfSpeech $partOfSpeech) + { + $this->partOfSpeech = $partOfSpeech; + } + public function getPartOfSpeech() + { + return $this->partOfSpeech; + } + public function setText(Google_Service_CloudNaturalLanguage_TextSpan $text) + { + $this->text = $text; + } + public function getText() + { + return $this->text; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudNaturalLanguageAPI.php b/vendor/google/apiclient-services/src/Google/Service/CloudNaturalLanguageAPI.php new file mode 100644 index 00000000..a1d10e14 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudNaturalLanguageAPI.php @@ -0,0 +1,78 @@ + + * Google Cloud Natural Language API provides natural language understanding + * technologies to developers. Examples include sentiment analysis, entity + * recognition, and text annotations.

+ * + *

+ * For more information about this service, see the API + * Documentation + *

+ * + * @author Google, Inc. + */ +class Google_Service_CloudNaturalLanguageAPI extends Google_Service +{ + /** View and manage your data across Google Cloud Platform services. */ + const CLOUD_PLATFORM = + "https://www.googleapis.com/auth/cloud-platform"; + + public $documents; + + /** + * Constructs the internal representation of the CloudNaturalLanguageAPI + * service. + * + * @param Google_Client $client + */ + public function __construct(Google_Client $client) + { + parent::__construct($client); + $this->rootUrl = 'https://language.googleapis.com/'; + $this->servicePath = ''; + $this->version = 'v1beta1'; + $this->serviceName = 'language'; + + $this->documents = new Google_Service_CloudNaturalLanguageAPI_Resource_Documents( + $this, + $this->serviceName, + 'documents', + array( + 'methods' => array( + 'analyzeEntities' => array( + 'path' => 'v1beta1/documents:analyzeEntities', + 'httpMethod' => 'POST', + 'parameters' => array(), + ),'analyzeSentiment' => array( + 'path' => 'v1beta1/documents:analyzeSentiment', + 'httpMethod' => 'POST', + 'parameters' => array(), + ),'annotateText' => array( + 'path' => 'v1beta1/documents:annotateText', + 'httpMethod' => 'POST', + 'parameters' => array(), + ), + ) + ) + ); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudNaturalLanguageAPI/AnalyzeEntitiesRequest.php b/vendor/google/apiclient-services/src/Google/Service/CloudNaturalLanguageAPI/AnalyzeEntitiesRequest.php new file mode 100644 index 00000000..4a018366 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudNaturalLanguageAPI/AnalyzeEntitiesRequest.php @@ -0,0 +1,40 @@ +document = $document; + } + public function getDocument() + { + return $this->document; + } + public function setEncodingType($encodingType) + { + $this->encodingType = $encodingType; + } + public function getEncodingType() + { + return $this->encodingType; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudNaturalLanguageAPI/AnalyzeEntitiesResponse.php b/vendor/google/apiclient-services/src/Google/Service/CloudNaturalLanguageAPI/AnalyzeEntitiesResponse.php new file mode 100644 index 00000000..545954f3 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudNaturalLanguageAPI/AnalyzeEntitiesResponse.php @@ -0,0 +1,41 @@ +entities = $entities; + } + public function getEntities() + { + return $this->entities; + } + public function setLanguage($language) + { + $this->language = $language; + } + public function getLanguage() + { + return $this->language; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudNaturalLanguageAPI/AnalyzeSentimentRequest.php b/vendor/google/apiclient-services/src/Google/Service/CloudNaturalLanguageAPI/AnalyzeSentimentRequest.php new file mode 100644 index 00000000..f404a604 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudNaturalLanguageAPI/AnalyzeSentimentRequest.php @@ -0,0 +1,31 @@ +document = $document; + } + public function getDocument() + { + return $this->document; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudNaturalLanguageAPI/AnalyzeSentimentResponse.php b/vendor/google/apiclient-services/src/Google/Service/CloudNaturalLanguageAPI/AnalyzeSentimentResponse.php new file mode 100644 index 00000000..a3baa1b8 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudNaturalLanguageAPI/AnalyzeSentimentResponse.php @@ -0,0 +1,40 @@ +documentSentiment = $documentSentiment; + } + public function getDocumentSentiment() + { + return $this->documentSentiment; + } + public function setLanguage($language) + { + $this->language = $language; + } + public function getLanguage() + { + return $this->language; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudNaturalLanguageAPI/AnnotateTextRequest.php b/vendor/google/apiclient-services/src/Google/Service/CloudNaturalLanguageAPI/AnnotateTextRequest.php new file mode 100644 index 00000000..cc3e90ad --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudNaturalLanguageAPI/AnnotateTextRequest.php @@ -0,0 +1,50 @@ +document = $document; + } + public function getDocument() + { + return $this->document; + } + public function setEncodingType($encodingType) + { + $this->encodingType = $encodingType; + } + public function getEncodingType() + { + return $this->encodingType; + } + public function setFeatures(Google_Service_CloudNaturalLanguageAPI_Features $features) + { + $this->features = $features; + } + public function getFeatures() + { + return $this->features; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudNaturalLanguageAPI/AnnotateTextResponse.php b/vendor/google/apiclient-services/src/Google/Service/CloudNaturalLanguageAPI/AnnotateTextResponse.php new file mode 100644 index 00000000..4efb2962 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudNaturalLanguageAPI/AnnotateTextResponse.php @@ -0,0 +1,71 @@ +documentSentiment = $documentSentiment; + } + public function getDocumentSentiment() + { + return $this->documentSentiment; + } + public function setEntities($entities) + { + $this->entities = $entities; + } + public function getEntities() + { + return $this->entities; + } + public function setLanguage($language) + { + $this->language = $language; + } + public function getLanguage() + { + return $this->language; + } + public function setSentences($sentences) + { + $this->sentences = $sentences; + } + public function getSentences() + { + return $this->sentences; + } + public function setTokens($tokens) + { + $this->tokens = $tokens; + } + public function getTokens() + { + return $this->tokens; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudNaturalLanguageAPI/DependencyEdge.php b/vendor/google/apiclient-services/src/Google/Service/CloudNaturalLanguageAPI/DependencyEdge.php new file mode 100644 index 00000000..bb243a0d --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudNaturalLanguageAPI/DependencyEdge.php @@ -0,0 +1,39 @@ +headTokenIndex = $headTokenIndex; + } + public function getHeadTokenIndex() + { + return $this->headTokenIndex; + } + public function setLabel($label) + { + $this->label = $label; + } + public function getLabel() + { + return $this->label; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudNaturalLanguageAPI/Document.php b/vendor/google/apiclient-services/src/Google/Service/CloudNaturalLanguageAPI/Document.php new file mode 100644 index 00000000..e4039aee --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudNaturalLanguageAPI/Document.php @@ -0,0 +1,57 @@ +content = $content; + } + public function getContent() + { + return $this->content; + } + public function setGcsContentUri($gcsContentUri) + { + $this->gcsContentUri = $gcsContentUri; + } + public function getGcsContentUri() + { + return $this->gcsContentUri; + } + public function setLanguage($language) + { + $this->language = $language; + } + public function getLanguage() + { + return $this->language; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudNaturalLanguageAPI/Entity.php b/vendor/google/apiclient-services/src/Google/Service/CloudNaturalLanguageAPI/Entity.php new file mode 100644 index 00000000..2579c08f --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudNaturalLanguageAPI/Entity.php @@ -0,0 +1,68 @@ +mentions = $mentions; + } + public function getMentions() + { + return $this->mentions; + } + public function setMetadata($metadata) + { + $this->metadata = $metadata; + } + public function getMetadata() + { + return $this->metadata; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setSalience($salience) + { + $this->salience = $salience; + } + public function getSalience() + { + return $this->salience; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudNaturalLanguageAPI/EntityMention.php b/vendor/google/apiclient-services/src/Google/Service/CloudNaturalLanguageAPI/EntityMention.php new file mode 100644 index 00000000..e01f0cde --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudNaturalLanguageAPI/EntityMention.php @@ -0,0 +1,31 @@ +text = $text; + } + public function getText() + { + return $this->text; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudNaturalLanguageAPI/Features.php b/vendor/google/apiclient-services/src/Google/Service/CloudNaturalLanguageAPI/Features.php new file mode 100644 index 00000000..ab0a7cbb --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudNaturalLanguageAPI/Features.php @@ -0,0 +1,48 @@ +extractDocumentSentiment = $extractDocumentSentiment; + } + public function getExtractDocumentSentiment() + { + return $this->extractDocumentSentiment; + } + public function setExtractEntities($extractEntities) + { + $this->extractEntities = $extractEntities; + } + public function getExtractEntities() + { + return $this->extractEntities; + } + public function setExtractSyntax($extractSyntax) + { + $this->extractSyntax = $extractSyntax; + } + public function getExtractSyntax() + { + return $this->extractSyntax; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudNaturalLanguageAPI/PartOfSpeech.php b/vendor/google/apiclient-services/src/Google/Service/CloudNaturalLanguageAPI/PartOfSpeech.php new file mode 100644 index 00000000..e2593898 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudNaturalLanguageAPI/PartOfSpeech.php @@ -0,0 +1,30 @@ +tag = $tag; + } + public function getTag() + { + return $this->tag; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudNaturalLanguageAPI/Resource/Documents.php b/vendor/google/apiclient-services/src/Google/Service/CloudNaturalLanguageAPI/Resource/Documents.php new file mode 100644 index 00000000..ff2470c3 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudNaturalLanguageAPI/Resource/Documents.php @@ -0,0 +1,71 @@ + + * $languageService = new Google_Service_CloudNaturalLanguageAPI(...); + * $documents = $languageService->documents; + * + */ +class Google_Service_CloudNaturalLanguageAPI_Resource_Documents extends Google_Service_Resource +{ + /** + * Finds named entities (currently finds proper names) in the text, entity + * types, salience, mentions for each entity, and other properties. + * (documents.analyzeEntities) + * + * @param Google_Service_CloudNaturalLanguageAPI_AnalyzeEntitiesRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_CloudNaturalLanguageAPI_AnalyzeEntitiesResponse + */ + public function analyzeEntities(Google_Service_CloudNaturalLanguageAPI_AnalyzeEntitiesRequest $postBody, $optParams = array()) + { + $params = array('postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('analyzeEntities', array($params), "Google_Service_CloudNaturalLanguageAPI_AnalyzeEntitiesResponse"); + } + /** + * Analyzes the sentiment of the provided text. (documents.analyzeSentiment) + * + * @param Google_Service_CloudNaturalLanguageAPI_AnalyzeSentimentRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_CloudNaturalLanguageAPI_AnalyzeSentimentResponse + */ + public function analyzeSentiment(Google_Service_CloudNaturalLanguageAPI_AnalyzeSentimentRequest $postBody, $optParams = array()) + { + $params = array('postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('analyzeSentiment', array($params), "Google_Service_CloudNaturalLanguageAPI_AnalyzeSentimentResponse"); + } + /** + * A convenience method that provides all the features that analyzeSentiment, + * analyzeEntities, and analyzeSyntax provide in one call. + * (documents.annotateText) + * + * @param Google_Service_CloudNaturalLanguageAPI_AnnotateTextRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_CloudNaturalLanguageAPI_AnnotateTextResponse + */ + public function annotateText(Google_Service_CloudNaturalLanguageAPI_AnnotateTextRequest $postBody, $optParams = array()) + { + $params = array('postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('annotateText', array($params), "Google_Service_CloudNaturalLanguageAPI_AnnotateTextResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudNaturalLanguageAPI/Sentence.php b/vendor/google/apiclient-services/src/Google/Service/CloudNaturalLanguageAPI/Sentence.php new file mode 100644 index 00000000..20d45c41 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudNaturalLanguageAPI/Sentence.php @@ -0,0 +1,31 @@ +text = $text; + } + public function getText() + { + return $this->text; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudNaturalLanguageAPI/Sentiment.php b/vendor/google/apiclient-services/src/Google/Service/CloudNaturalLanguageAPI/Sentiment.php new file mode 100644 index 00000000..2e189c6e --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudNaturalLanguageAPI/Sentiment.php @@ -0,0 +1,39 @@ +magnitude = $magnitude; + } + public function getMagnitude() + { + return $this->magnitude; + } + public function setPolarity($polarity) + { + $this->polarity = $polarity; + } + public function getPolarity() + { + return $this->polarity; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudNaturalLanguageAPI/Status.php b/vendor/google/apiclient-services/src/Google/Service/CloudNaturalLanguageAPI/Status.php new file mode 100644 index 00000000..6d4b0942 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudNaturalLanguageAPI/Status.php @@ -0,0 +1,49 @@ +code = $code; + } + public function getCode() + { + return $this->code; + } + public function setDetails($details) + { + $this->details = $details; + } + public function getDetails() + { + return $this->details; + } + public function setMessage($message) + { + $this->message = $message; + } + public function getMessage() + { + return $this->message; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudNaturalLanguageAPI/TextSpan.php b/vendor/google/apiclient-services/src/Google/Service/CloudNaturalLanguageAPI/TextSpan.php new file mode 100644 index 00000000..560aaa78 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudNaturalLanguageAPI/TextSpan.php @@ -0,0 +1,39 @@ +beginOffset = $beginOffset; + } + public function getBeginOffset() + { + return $this->beginOffset; + } + public function setContent($content) + { + $this->content = $content; + } + public function getContent() + { + return $this->content; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudNaturalLanguageAPI/Token.php b/vendor/google/apiclient-services/src/Google/Service/CloudNaturalLanguageAPI/Token.php new file mode 100644 index 00000000..15b33b41 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudNaturalLanguageAPI/Token.php @@ -0,0 +1,60 @@ +dependencyEdge = $dependencyEdge; + } + public function getDependencyEdge() + { + return $this->dependencyEdge; + } + public function setLemma($lemma) + { + $this->lemma = $lemma; + } + public function getLemma() + { + return $this->lemma; + } + public function setPartOfSpeech(Google_Service_CloudNaturalLanguageAPI_PartOfSpeech $partOfSpeech) + { + $this->partOfSpeech = $partOfSpeech; + } + public function getPartOfSpeech() + { + return $this->partOfSpeech; + } + public function setText(Google_Service_CloudNaturalLanguageAPI_TextSpan $text) + { + $this->text = $text; + } + public function getText() + { + return $this->text; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudResourceManager.php b/vendor/google/apiclient-services/src/Google/Service/CloudResourceManager.php new file mode 100644 index 00000000..1f5d220f --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudResourceManager.php @@ -0,0 +1,286 @@ + + * The Google Cloud Resource Manager API provides methods for creating, reading, + * and updating project metadata.

+ * + *

+ * For more information about this service, see the API + * Documentation + *

+ * + * @author Google, Inc. + */ +class Google_Service_CloudResourceManager extends Google_Service +{ + /** View and manage your data across Google Cloud Platform services. */ + const CLOUD_PLATFORM = + "https://www.googleapis.com/auth/cloud-platform"; + /** View your data across Google Cloud Platform services. */ + const CLOUD_PLATFORM_READ_ONLY = + "https://www.googleapis.com/auth/cloud-platform.read-only"; + + public $liens; + public $operations; + public $organizations; + public $projects; + + /** + * Constructs the internal representation of the CloudResourceManager service. + * + * @param Google_Client $client + */ + public function __construct(Google_Client $client) + { + parent::__construct($client); + $this->rootUrl = 'https://cloudresourcemanager.googleapis.com/'; + $this->servicePath = ''; + $this->version = 'v1'; + $this->serviceName = 'cloudresourcemanager'; + + $this->liens = new Google_Service_CloudResourceManager_Resource_Liens( + $this, + $this->serviceName, + 'liens', + array( + 'methods' => array( + 'create' => array( + 'path' => 'v1/liens', + 'httpMethod' => 'POST', + 'parameters' => array(), + ),'delete' => array( + 'path' => 'v1/{+name}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'name' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'v1/liens', + 'httpMethod' => 'GET', + 'parameters' => array( + 'parent' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pageSize' => array( + 'location' => 'query', + 'type' => 'integer', + ), + ), + ), + ) + ) + ); + $this->operations = new Google_Service_CloudResourceManager_Resource_Operations( + $this, + $this->serviceName, + 'operations', + array( + 'methods' => array( + 'get' => array( + 'path' => 'v1/{+name}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'name' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->organizations = new Google_Service_CloudResourceManager_Resource_Organizations( + $this, + $this->serviceName, + 'organizations', + array( + 'methods' => array( + 'get' => array( + 'path' => 'v1/{+name}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'name' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'getIamPolicy' => array( + 'path' => 'v1/{+resource}:getIamPolicy', + 'httpMethod' => 'POST', + 'parameters' => array( + 'resource' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'search' => array( + 'path' => 'v1/organizations:search', + 'httpMethod' => 'POST', + 'parameters' => array(), + ),'setIamPolicy' => array( + 'path' => 'v1/{+resource}:setIamPolicy', + 'httpMethod' => 'POST', + 'parameters' => array( + 'resource' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'testIamPermissions' => array( + 'path' => 'v1/{+resource}:testIamPermissions', + 'httpMethod' => 'POST', + 'parameters' => array( + 'resource' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->projects = new Google_Service_CloudResourceManager_Resource_Projects( + $this, + $this->serviceName, + 'projects', + array( + 'methods' => array( + 'create' => array( + 'path' => 'v1/projects', + 'httpMethod' => 'POST', + 'parameters' => array(), + ),'delete' => array( + 'path' => 'v1/projects/{projectId}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'projectId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'get' => array( + 'path' => 'v1/projects/{projectId}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'projectId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'getAncestry' => array( + 'path' => 'v1/projects/{projectId}:getAncestry', + 'httpMethod' => 'POST', + 'parameters' => array( + 'projectId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'getIamPolicy' => array( + 'path' => 'v1/projects/{resource}:getIamPolicy', + 'httpMethod' => 'POST', + 'parameters' => array( + 'resource' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'v1/projects', + 'httpMethod' => 'GET', + 'parameters' => array( + 'filter' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pageSize' => array( + 'location' => 'query', + 'type' => 'integer', + ), + ), + ),'setIamPolicy' => array( + 'path' => 'v1/projects/{resource}:setIamPolicy', + 'httpMethod' => 'POST', + 'parameters' => array( + 'resource' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'testIamPermissions' => array( + 'path' => 'v1/projects/{resource}:testIamPermissions', + 'httpMethod' => 'POST', + 'parameters' => array( + 'resource' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'undelete' => array( + 'path' => 'v1/projects/{projectId}:undelete', + 'httpMethod' => 'POST', + 'parameters' => array( + 'projectId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'update' => array( + 'path' => 'v1/projects/{projectId}', + 'httpMethod' => 'PUT', + 'parameters' => array( + 'projectId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudResourceManager/Ancestor.php b/vendor/google/apiclient-services/src/Google/Service/CloudResourceManager/Ancestor.php new file mode 100644 index 00000000..044d2ba5 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudResourceManager/Ancestor.php @@ -0,0 +1,31 @@ +resourceId = $resourceId; + } + public function getResourceId() + { + return $this->resourceId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudResourceManager/AuditConfig.php b/vendor/google/apiclient-services/src/Google/Service/CloudResourceManager/AuditConfig.php new file mode 100644 index 00000000..8e55adbb --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudResourceManager/AuditConfig.php @@ -0,0 +1,41 @@ +auditLogConfigs = $auditLogConfigs; + } + public function getAuditLogConfigs() + { + return $this->auditLogConfigs; + } + public function setService($service) + { + $this->service = $service; + } + public function getService() + { + return $this->service; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudResourceManager/AuditLogConfig.php b/vendor/google/apiclient-services/src/Google/Service/CloudResourceManager/AuditLogConfig.php new file mode 100644 index 00000000..9bd433bd --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudResourceManager/AuditLogConfig.php @@ -0,0 +1,40 @@ +exemptedMembers = $exemptedMembers; + } + public function getExemptedMembers() + { + return $this->exemptedMembers; + } + public function setLogType($logType) + { + $this->logType = $logType; + } + public function getLogType() + { + return $this->logType; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudResourceManager/Binding.php b/vendor/google/apiclient-services/src/Google/Service/CloudResourceManager/Binding.php new file mode 100644 index 00000000..e08ea655 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudResourceManager/Binding.php @@ -0,0 +1,40 @@ +members = $members; + } + public function getMembers() + { + return $this->members; + } + public function setRole($role) + { + $this->role = $role; + } + public function getRole() + { + return $this->role; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudResourceManager/CloudresourcemanagerEmpty.php b/vendor/google/apiclient-services/src/Google/Service/CloudResourceManager/CloudresourcemanagerEmpty.php new file mode 100644 index 00000000..f4bb9538 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudResourceManager/CloudresourcemanagerEmpty.php @@ -0,0 +1,20 @@ +destinationParent = $destinationParent; + } + public function getDestinationParent() + { + return $this->destinationParent; + } + public function setDisplayName($displayName) + { + $this->displayName = $displayName; + } + public function getDisplayName() + { + return $this->displayName; + } + public function setOperationType($operationType) + { + $this->operationType = $operationType; + } + public function getOperationType() + { + return $this->operationType; + } + public function setSourceParent($sourceParent) + { + $this->sourceParent = $sourceParent; + } + public function getSourceParent() + { + return $this->sourceParent; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudResourceManager/FolderOperationError.php b/vendor/google/apiclient-services/src/Google/Service/CloudResourceManager/FolderOperationError.php new file mode 100644 index 00000000..2a1c994d --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudResourceManager/FolderOperationError.php @@ -0,0 +1,30 @@ +errorMessageId = $errorMessageId; + } + public function getErrorMessageId() + { + return $this->errorMessageId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudResourceManager/GetAncestryRequest.php b/vendor/google/apiclient-services/src/Google/Service/CloudResourceManager/GetAncestryRequest.php new file mode 100644 index 00000000..ab9ddd03 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudResourceManager/GetAncestryRequest.php @@ -0,0 +1,20 @@ +ancestor = $ancestor; + } + public function getAncestor() + { + return $this->ancestor; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudResourceManager/GetIamPolicyRequest.php b/vendor/google/apiclient-services/src/Google/Service/CloudResourceManager/GetIamPolicyRequest.php new file mode 100644 index 00000000..2157401c --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudResourceManager/GetIamPolicyRequest.php @@ -0,0 +1,20 @@ +createTime = $createTime; + } + public function getCreateTime() + { + return $this->createTime; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setOrigin($origin) + { + $this->origin = $origin; + } + public function getOrigin() + { + return $this->origin; + } + public function setParent($parent) + { + $this->parent = $parent; + } + public function getParent() + { + return $this->parent; + } + public function setReason($reason) + { + $this->reason = $reason; + } + public function getReason() + { + return $this->reason; + } + public function setRestrictions($restrictions) + { + $this->restrictions = $restrictions; + } + public function getRestrictions() + { + return $this->restrictions; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudResourceManager/ListLiensResponse.php b/vendor/google/apiclient-services/src/Google/Service/CloudResourceManager/ListLiensResponse.php new file mode 100644 index 00000000..93c61cf1 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudResourceManager/ListLiensResponse.php @@ -0,0 +1,41 @@ +liens = $liens; + } + public function getLiens() + { + return $this->liens; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudResourceManager/ListProjectsResponse.php b/vendor/google/apiclient-services/src/Google/Service/CloudResourceManager/ListProjectsResponse.php new file mode 100644 index 00000000..571f22b2 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudResourceManager/ListProjectsResponse.php @@ -0,0 +1,41 @@ +nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setProjects($projects) + { + $this->projects = $projects; + } + public function getProjects() + { + return $this->projects; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudResourceManager/Operation.php b/vendor/google/apiclient-services/src/Google/Service/CloudResourceManager/Operation.php new file mode 100644 index 00000000..c86ec471 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudResourceManager/Operation.php @@ -0,0 +1,67 @@ +done = $done; + } + public function getDone() + { + return $this->done; + } + public function setError(Google_Service_CloudResourceManager_Status $error) + { + $this->error = $error; + } + public function getError() + { + return $this->error; + } + public function setMetadata($metadata) + { + $this->metadata = $metadata; + } + public function getMetadata() + { + return $this->metadata; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setResponse($response) + { + $this->response = $response; + } + public function getResponse() + { + return $this->response; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudResourceManager/Organization.php b/vendor/google/apiclient-services/src/Google/Service/CloudResourceManager/Organization.php new file mode 100644 index 00000000..b78fc265 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudResourceManager/Organization.php @@ -0,0 +1,67 @@ +creationTime = $creationTime; + } + public function getCreationTime() + { + return $this->creationTime; + } + public function setDisplayName($displayName) + { + $this->displayName = $displayName; + } + public function getDisplayName() + { + return $this->displayName; + } + public function setLifecycleState($lifecycleState) + { + $this->lifecycleState = $lifecycleState; + } + public function getLifecycleState() + { + return $this->lifecycleState; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setOwner(Google_Service_CloudResourceManager_OrganizationOwner $owner) + { + $this->owner = $owner; + } + public function getOwner() + { + return $this->owner; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudResourceManager/OrganizationOwner.php b/vendor/google/apiclient-services/src/Google/Service/CloudResourceManager/OrganizationOwner.php new file mode 100644 index 00000000..45896675 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudResourceManager/OrganizationOwner.php @@ -0,0 +1,30 @@ +directoryCustomerId = $directoryCustomerId; + } + public function getDirectoryCustomerId() + { + return $this->directoryCustomerId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudResourceManager/Policy.php b/vendor/google/apiclient-services/src/Google/Service/CloudResourceManager/Policy.php new file mode 100644 index 00000000..bf55c2fc --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudResourceManager/Policy.php @@ -0,0 +1,60 @@ +auditConfigs = $auditConfigs; + } + public function getAuditConfigs() + { + return $this->auditConfigs; + } + public function setBindings($bindings) + { + $this->bindings = $bindings; + } + public function getBindings() + { + return $this->bindings; + } + public function setEtag($etag) + { + $this->etag = $etag; + } + public function getEtag() + { + return $this->etag; + } + public function setVersion($version) + { + $this->version = $version; + } + public function getVersion() + { + return $this->version; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudResourceManager/Project.php b/vendor/google/apiclient-services/src/Google/Service/CloudResourceManager/Project.php new file mode 100644 index 00000000..1756338b --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudResourceManager/Project.php @@ -0,0 +1,85 @@ +createTime = $createTime; + } + public function getCreateTime() + { + return $this->createTime; + } + public function setLabels($labels) + { + $this->labels = $labels; + } + public function getLabels() + { + return $this->labels; + } + public function setLifecycleState($lifecycleState) + { + $this->lifecycleState = $lifecycleState; + } + public function getLifecycleState() + { + return $this->lifecycleState; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setParent(Google_Service_CloudResourceManager_ResourceId $parent) + { + $this->parent = $parent; + } + public function getParent() + { + return $this->parent; + } + public function setProjectId($projectId) + { + $this->projectId = $projectId; + } + public function getProjectId() + { + return $this->projectId; + } + public function setProjectNumber($projectNumber) + { + $this->projectNumber = $projectNumber; + } + public function getProjectNumber() + { + return $this->projectNumber; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudResourceManager/ProjectCreationStatus.php b/vendor/google/apiclient-services/src/Google/Service/CloudResourceManager/ProjectCreationStatus.php new file mode 100644 index 00000000..5264612d --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudResourceManager/ProjectCreationStatus.php @@ -0,0 +1,48 @@ +createTime = $createTime; + } + public function getCreateTime() + { + return $this->createTime; + } + public function setGettable($gettable) + { + $this->gettable = $gettable; + } + public function getGettable() + { + return $this->gettable; + } + public function setReady($ready) + { + $this->ready = $ready; + } + public function getReady() + { + return $this->ready; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudResourceManager/Resource/Liens.php b/vendor/google/apiclient-services/src/Google/Service/CloudResourceManager/Resource/Liens.php new file mode 100644 index 00000000..69c7f435 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudResourceManager/Resource/Liens.php @@ -0,0 +1,88 @@ + + * $cloudresourcemanagerService = new Google_Service_CloudResourceManager(...); + * $liens = $cloudresourcemanagerService->liens; + * + */ +class Google_Service_CloudResourceManager_Resource_Liens extends Google_Service_Resource +{ + /** + * Create a Lien which applies to the resource denoted by the `parent` field. + * + * Callers of this method will require permission on the `parent` resource. For + * example, applying to `projects/1234` requires permission + * `resourcemanager.projects.updateLiens`. + * + * NOTE: Some resources may limit the number of Liens which may be applied. + * (liens.create) + * + * @param Google_Service_CloudResourceManager_Lien $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_CloudResourceManager_Lien + */ + public function create(Google_Service_CloudResourceManager_Lien $postBody, $optParams = array()) + { + $params = array('postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('create', array($params), "Google_Service_CloudResourceManager_Lien"); + } + /** + * Delete a Lien by `name`. + * + * Callers of this method will require permission on the `parent` resource. For + * example, a Lien with a `parent` of `projects/1234` requires permission + * `resourcemanager.projects.updateLiens`. (liens.delete) + * + * @param string $name The name/identifier of the Lien to delete. + * @param array $optParams Optional parameters. + * @return Google_Service_CloudResourceManager_CloudresourcemanagerEmpty + */ + public function delete($name, $optParams = array()) + { + $params = array('name' => $name); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params), "Google_Service_CloudResourceManager_CloudresourcemanagerEmpty"); + } + /** + * List all Liens applied to the `parent` resource. + * + * Callers of this method will require permission on the `parent` resource. For + * example, a Lien with a `parent` of `projects/1234` requires permission + * `resourcemanager.projects.get`. (liens.listLiens) + * + * @param array $optParams Optional parameters. + * + * @opt_param string parent The name of the resource to list all attached Liens. + * For example, `projects/1234`. + * @opt_param string pageToken The `next_page_token` value returned from a + * previous List request, if any. + * @opt_param int pageSize The maximum number of items to return. This is a + * suggestion for the server. + * @return Google_Service_CloudResourceManager_ListLiensResponse + */ + public function listLiens($optParams = array()) + { + $params = array(); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_CloudResourceManager_ListLiensResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudResourceManager/Resource/Operations.php b/vendor/google/apiclient-services/src/Google/Service/CloudResourceManager/Resource/Operations.php new file mode 100644 index 00000000..096b85b7 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudResourceManager/Resource/Operations.php @@ -0,0 +1,43 @@ + + * $cloudresourcemanagerService = new Google_Service_CloudResourceManager(...); + * $operations = $cloudresourcemanagerService->operations; + * + */ +class Google_Service_CloudResourceManager_Resource_Operations extends Google_Service_Resource +{ + /** + * Gets the latest state of a long-running operation. Clients can use this + * method to poll the operation result at intervals as recommended by the API + * service. (operations.get) + * + * @param string $name The name of the operation resource. + * @param array $optParams Optional parameters. + * @return Google_Service_CloudResourceManager_Operation + */ + public function get($name, $optParams = array()) + { + $params = array('name' => $name); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_CloudResourceManager_Operation"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudResourceManager/Resource/Organizations.php b/vendor/google/apiclient-services/src/Google/Service/CloudResourceManager/Resource/Organizations.php new file mode 100644 index 00000000..4e04bef5 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudResourceManager/Resource/Organizations.php @@ -0,0 +1,114 @@ + + * $cloudresourcemanagerService = new Google_Service_CloudResourceManager(...); + * $organizations = $cloudresourcemanagerService->organizations; + * + */ +class Google_Service_CloudResourceManager_Resource_Organizations extends Google_Service_Resource +{ + /** + * Fetches an Organization resource identified by the specified resource name. + * (organizations.get) + * + * @param string $name The resource name of the Organization to fetch, e.g. + * "organizations/1234". + * @param array $optParams Optional parameters. + * @return Google_Service_CloudResourceManager_Organization + */ + public function get($name, $optParams = array()) + { + $params = array('name' => $name); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_CloudResourceManager_Organization"); + } + /** + * Gets the access control policy for an Organization resource. May be empty if + * no such policy or resource exists. The `resource` field should be the + * organization's resource name, e.g. "organizations/123". + * (organizations.getIamPolicy) + * + * @param string $resource REQUIRED: The resource for which the policy is being + * requested. See the operation documentation for the appropriate value for this + * field. + * @param Google_Service_CloudResourceManager_GetIamPolicyRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_CloudResourceManager_Policy + */ + public function getIamPolicy($resource, Google_Service_CloudResourceManager_GetIamPolicyRequest $postBody, $optParams = array()) + { + $params = array('resource' => $resource, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('getIamPolicy', array($params), "Google_Service_CloudResourceManager_Policy"); + } + /** + * Searches Organization resources that are visible to the user and satisfy the + * specified filter. This method returns Organizations in an unspecified order. + * New Organizations do not necessarily appear at the end of the results. + * (organizations.search) + * + * @param Google_Service_CloudResourceManager_SearchOrganizationsRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_CloudResourceManager_SearchOrganizationsResponse + */ + public function search(Google_Service_CloudResourceManager_SearchOrganizationsRequest $postBody, $optParams = array()) + { + $params = array('postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('search', array($params), "Google_Service_CloudResourceManager_SearchOrganizationsResponse"); + } + /** + * Sets the access control policy on an Organization resource. Replaces any + * existing policy. The `resource` field should be the organization's resource + * name, e.g. "organizations/123". (organizations.setIamPolicy) + * + * @param string $resource REQUIRED: The resource for which the policy is being + * specified. See the operation documentation for the appropriate value for this + * field. + * @param Google_Service_CloudResourceManager_SetIamPolicyRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_CloudResourceManager_Policy + */ + public function setIamPolicy($resource, Google_Service_CloudResourceManager_SetIamPolicyRequest $postBody, $optParams = array()) + { + $params = array('resource' => $resource, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('setIamPolicy', array($params), "Google_Service_CloudResourceManager_Policy"); + } + /** + * Returns permissions that a caller has on the specified Organization. The + * `resource` field should be the organization's resource name, e.g. + * "organizations/123". (organizations.testIamPermissions) + * + * @param string $resource REQUIRED: The resource for which the policy detail is + * being requested. See the operation documentation for the appropriate value + * for this field. + * @param Google_Service_CloudResourceManager_TestIamPermissionsRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_CloudResourceManager_TestIamPermissionsResponse + */ + public function testIamPermissions($resource, Google_Service_CloudResourceManager_TestIamPermissionsRequest $postBody, $optParams = array()) + { + $params = array('resource' => $resource, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('testIamPermissions', array($params), "Google_Service_CloudResourceManager_TestIamPermissionsResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudResourceManager/Resource/Projects.php b/vendor/google/apiclient-services/src/Google/Service/CloudResourceManager/Resource/Projects.php new file mode 100644 index 00000000..5291c3d2 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudResourceManager/Resource/Projects.php @@ -0,0 +1,286 @@ + + * $cloudresourcemanagerService = new Google_Service_CloudResourceManager(...); + * $projects = $cloudresourcemanagerService->projects; + * + */ +class Google_Service_CloudResourceManager_Resource_Projects extends Google_Service_Resource +{ + /** + * Request that a new Project be created. The result is an Operation which can + * be used to track the creation process. It is automatically deleted after a + * few hours, so there is no need to call DeleteOperation. + * + * Our SLO permits Project creation to take up to 30 seconds at the 90th + * percentile. As of 2016-08-29, we are observing 6 seconds 50th percentile + * latency. 95th percentile latency is around 11 seconds. We recommend polling + * at the 5th second with an exponential backoff. (projects.create) + * + * @param Google_Service_CloudResourceManager_Project $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_CloudResourceManager_Operation + */ + public function create(Google_Service_CloudResourceManager_Project $postBody, $optParams = array()) + { + $params = array('postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('create', array($params), "Google_Service_CloudResourceManager_Operation"); + } + /** + * Marks the Project identified by the specified `project_id` (for example, `my- + * project-123`) for deletion. This method will only affect the Project if the + * following criteria are met: + * + * + The Project does not have a billing account associated with it. + The + * Project has a lifecycle state of ACTIVE. + * + * This method changes the Project's lifecycle state from ACTIVE to + * DELETE_REQUESTED. The deletion starts at an unspecified time, at which point + * the Project is no longer accessible. + * + * Until the deletion completes, you can check the lifecycle state checked by + * retrieving the Project with GetProject, and the Project remains visible to + * ListProjects. However, you cannot update the project. + * + * After the deletion completes, the Project is not retrievable by the + * GetProject and ListProjects methods. + * + * The caller must have modify permissions for this Project. (projects.delete) + * + * @param string $projectId The Project ID (for example, `foo-bar-123`). + * + * Required. + * @param array $optParams Optional parameters. + * @return Google_Service_CloudResourceManager_CloudresourcemanagerEmpty + */ + public function delete($projectId, $optParams = array()) + { + $params = array('projectId' => $projectId); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params), "Google_Service_CloudResourceManager_CloudresourcemanagerEmpty"); + } + /** + * Retrieves the Project identified by the specified `project_id` (for example, + * `my-project-123`). + * + * The caller must have read permissions for this Project. (projects.get) + * + * @param string $projectId The Project ID (for example, `my-project-123`). + * + * Required. + * @param array $optParams Optional parameters. + * @return Google_Service_CloudResourceManager_Project + */ + public function get($projectId, $optParams = array()) + { + $params = array('projectId' => $projectId); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_CloudResourceManager_Project"); + } + /** + * Gets a list of ancestors in the resource hierarchy for the Project identified + * by the specified `project_id` (for example, `my-project-123`). + * + * The caller must have read permissions for this Project. + * (projects.getAncestry) + * + * @param string $projectId The Project ID (for example, `my-project-123`). + * + * Required. + * @param Google_Service_CloudResourceManager_GetAncestryRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_CloudResourceManager_GetAncestryResponse + */ + public function getAncestry($projectId, Google_Service_CloudResourceManager_GetAncestryRequest $postBody, $optParams = array()) + { + $params = array('projectId' => $projectId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('getAncestry', array($params), "Google_Service_CloudResourceManager_GetAncestryResponse"); + } + /** + * Returns the IAM access control policy for the specified Project. Permission + * is denied if the policy or the resource does not exist. + * (projects.getIamPolicy) + * + * @param string $resource REQUIRED: The resource for which the policy is being + * requested. See the operation documentation for the appropriate value for this + * field. + * @param Google_Service_CloudResourceManager_GetIamPolicyRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_CloudResourceManager_Policy + */ + public function getIamPolicy($resource, Google_Service_CloudResourceManager_GetIamPolicyRequest $postBody, $optParams = array()) + { + $params = array('resource' => $resource, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('getIamPolicy', array($params), "Google_Service_CloudResourceManager_Policy"); + } + /** + * Lists Projects that are visible to the user and satisfy the specified filter. + * This method returns Projects in an unspecified order. New Projects do not + * necessarily appear at the end of the list. (projects.listProjects) + * + * @param array $optParams Optional parameters. + * + * @opt_param string filter An expression for filtering the results of the + * request. Filter rules are case insensitive. The fields eligible for + * filtering are: + * + * + `name` + `id` + labels.key where *key* is the name of a label + * + * Some examples of using labels as filters: + * + * |Filter|Description| |------|-----------| |name:*|The project has a name.| + * |name:Howl|The project's name is `Howl` or `howl`.| |name:HOWL|Equivalent to + * above.| |NAME:howl|Equivalent to above.| |labels.color:*|The project has the + * label `color`.| |labels.color:red|The project's label `color` has the value + * `red`.| |labels.color:redlabel.size:big|The project's label `color` has the + * value `red` and its label `size` has the value `big`. + * + * Optional. + * @opt_param string pageToken A pagination token returned from a previous call + * to ListProjects that indicates from where listing should continue. + * + * Optional. + * @opt_param int pageSize The maximum number of Projects to return in the + * response. The server can return fewer Projects than requested. If + * unspecified, server picks an appropriate default. + * + * Optional. + * @return Google_Service_CloudResourceManager_ListProjectsResponse + */ + public function listProjects($optParams = array()) + { + $params = array(); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_CloudResourceManager_ListProjectsResponse"); + } + /** + * Sets the IAM access control policy for the specified Project. Replaces any + * existing policy. + * + * The following constraints apply when using `setIamPolicy()`: + * + * + Project does not support `allUsers` and `allAuthenticatedUsers` as + * `members` in a `Binding` of a `Policy`. + * + * + The owner role can be granted only to `user` and `serviceAccount`. + * + * + Service accounts can be made owners of a project directly without any + * restrictions. However, to be added as an owner, a user must be invited via + * Cloud Platform console and must accept the invitation. + * + * + A user cannot be granted the owner role using `setIamPolicy()`. The user + * must be granted the owner role using the Cloud Platform Console and must + * explicitly accept the invitation. + * + * + Invitations to grant the owner role cannot be sent using `setIamPolicy()`; + * they must be sent only using the Cloud Platform Console. + * + * + Membership changes that leave the project without any owners that have + * accepted the Terms of Service (ToS) will be rejected. + * + * + There must be at least one owner who has accepted the Terms of Service + * (ToS) agreement in the policy. Calling `setIamPolicy()` to to remove the last + * ToS-accepted owner from the policy will fail. This restriction also applies + * to legacy projects that no longer have owners who have accepted the ToS. + * Edits to IAM policies will be rejected until the lack of a ToS-accepting + * owner is rectified. + * + * + Calling this method requires enabling the App Engine Admin API. + * + * Note: Removing service accounts from policies or changing their roles can + * render services completely inoperable. It is important to understand how the + * service account is being used before removing or updating its roles. + * (projects.setIamPolicy) + * + * @param string $resource REQUIRED: The resource for which the policy is being + * specified. See the operation documentation for the appropriate value for this + * field. + * @param Google_Service_CloudResourceManager_SetIamPolicyRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_CloudResourceManager_Policy + */ + public function setIamPolicy($resource, Google_Service_CloudResourceManager_SetIamPolicyRequest $postBody, $optParams = array()) + { + $params = array('resource' => $resource, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('setIamPolicy', array($params), "Google_Service_CloudResourceManager_Policy"); + } + /** + * Returns permissions that a caller has on the specified Project. + * (projects.testIamPermissions) + * + * @param string $resource REQUIRED: The resource for which the policy detail is + * being requested. See the operation documentation for the appropriate value + * for this field. + * @param Google_Service_CloudResourceManager_TestIamPermissionsRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_CloudResourceManager_TestIamPermissionsResponse + */ + public function testIamPermissions($resource, Google_Service_CloudResourceManager_TestIamPermissionsRequest $postBody, $optParams = array()) + { + $params = array('resource' => $resource, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('testIamPermissions', array($params), "Google_Service_CloudResourceManager_TestIamPermissionsResponse"); + } + /** + * Restores the Project identified by the specified `project_id` (for example, + * `my-project-123`). You can only use this method for a Project that has a + * lifecycle state of DELETE_REQUESTED. After deletion starts, the Project + * cannot be restored. + * + * The caller must have modify permissions for this Project. (projects.undelete) + * + * @param string $projectId The project ID (for example, `foo-bar-123`). + * + * Required. + * @param Google_Service_CloudResourceManager_UndeleteProjectRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_CloudResourceManager_CloudresourcemanagerEmpty + */ + public function undelete($projectId, Google_Service_CloudResourceManager_UndeleteProjectRequest $postBody, $optParams = array()) + { + $params = array('projectId' => $projectId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('undelete', array($params), "Google_Service_CloudResourceManager_CloudresourcemanagerEmpty"); + } + /** + * Updates the attributes of the Project identified by the specified + * `project_id` (for example, `my-project-123`). + * + * The caller must have modify permissions for this Project. (projects.update) + * + * @param string $projectId The project ID (for example, `my-project-123`). + * + * Required. + * @param Google_Service_CloudResourceManager_Project $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_CloudResourceManager_Project + */ + public function update($projectId, Google_Service_CloudResourceManager_Project $postBody, $optParams = array()) + { + $params = array('projectId' => $projectId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('update', array($params), "Google_Service_CloudResourceManager_Project"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudResourceManager/ResourceId.php b/vendor/google/apiclient-services/src/Google/Service/CloudResourceManager/ResourceId.php new file mode 100644 index 00000000..ac1347bc --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudResourceManager/ResourceId.php @@ -0,0 +1,39 @@ +id = $id; + } + public function getId() + { + return $this->id; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudResourceManager/SearchOrganizationsRequest.php b/vendor/google/apiclient-services/src/Google/Service/CloudResourceManager/SearchOrganizationsRequest.php new file mode 100644 index 00000000..d682ba0c --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudResourceManager/SearchOrganizationsRequest.php @@ -0,0 +1,48 @@ +filter = $filter; + } + public function getFilter() + { + return $this->filter; + } + public function setPageSize($pageSize) + { + $this->pageSize = $pageSize; + } + public function getPageSize() + { + return $this->pageSize; + } + public function setPageToken($pageToken) + { + $this->pageToken = $pageToken; + } + public function getPageToken() + { + return $this->pageToken; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudResourceManager/SearchOrganizationsResponse.php b/vendor/google/apiclient-services/src/Google/Service/CloudResourceManager/SearchOrganizationsResponse.php new file mode 100644 index 00000000..d05ba06e --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudResourceManager/SearchOrganizationsResponse.php @@ -0,0 +1,41 @@ +nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setOrganizations($organizations) + { + $this->organizations = $organizations; + } + public function getOrganizations() + { + return $this->organizations; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudResourceManager/SetIamPolicyRequest.php b/vendor/google/apiclient-services/src/Google/Service/CloudResourceManager/SetIamPolicyRequest.php new file mode 100644 index 00000000..e84b61c8 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudResourceManager/SetIamPolicyRequest.php @@ -0,0 +1,40 @@ +policy = $policy; + } + public function getPolicy() + { + return $this->policy; + } + public function setUpdateMask($updateMask) + { + $this->updateMask = $updateMask; + } + public function getUpdateMask() + { + return $this->updateMask; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudResourceManager/Status.php b/vendor/google/apiclient-services/src/Google/Service/CloudResourceManager/Status.php new file mode 100644 index 00000000..b5c5b7ac --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudResourceManager/Status.php @@ -0,0 +1,49 @@ +code = $code; + } + public function getCode() + { + return $this->code; + } + public function setDetails($details) + { + $this->details = $details; + } + public function getDetails() + { + return $this->details; + } + public function setMessage($message) + { + $this->message = $message; + } + public function getMessage() + { + return $this->message; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudResourceManager/TestIamPermissionsRequest.php b/vendor/google/apiclient-services/src/Google/Service/CloudResourceManager/TestIamPermissionsRequest.php new file mode 100644 index 00000000..9f69000b --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudResourceManager/TestIamPermissionsRequest.php @@ -0,0 +1,31 @@ +permissions = $permissions; + } + public function getPermissions() + { + return $this->permissions; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudResourceManager/TestIamPermissionsResponse.php b/vendor/google/apiclient-services/src/Google/Service/CloudResourceManager/TestIamPermissionsResponse.php new file mode 100644 index 00000000..252c3846 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudResourceManager/TestIamPermissionsResponse.php @@ -0,0 +1,31 @@ +permissions = $permissions; + } + public function getPermissions() + { + return $this->permissions; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudResourceManager/UndeleteProjectRequest.php b/vendor/google/apiclient-services/src/Google/Service/CloudResourceManager/UndeleteProjectRequest.php new file mode 100644 index 00000000..b79b4629 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudResourceManager/UndeleteProjectRequest.php @@ -0,0 +1,20 @@ + + * Provides capabilities for dynamic configuration and coordination for + * applications running on Google Cloud Platform.

+ * + *

+ * For more information about this service, see the API + * Documentation + *

+ * + * @author Google, Inc. + */ +class Google_Service_CloudRuntimeConfig extends Google_Service +{ + /** View and manage your data across Google Cloud Platform services. */ + const CLOUD_PLATFORM = + "https://www.googleapis.com/auth/cloud-platform"; + /** Manage your Google Cloud Platform services' runtime configuration. */ + const CLOUDRUNTIMECONFIG = + "https://www.googleapis.com/auth/cloudruntimeconfig"; + + public $operations; + + /** + * Constructs the internal representation of the CloudRuntimeConfig service. + * + * @param Google_Client $client + */ + public function __construct(Google_Client $client) + { + parent::__construct($client); + $this->rootUrl = 'https://runtimeconfig.googleapis.com/'; + $this->servicePath = ''; + $this->version = 'v1'; + $this->serviceName = 'runtimeconfig'; + + $this->operations = new Google_Service_CloudRuntimeConfig_Resource_Operations( + $this, + $this->serviceName, + 'operations', + array( + 'methods' => array( + 'cancel' => array( + 'path' => 'v1/{+name}:cancel', + 'httpMethod' => 'POST', + 'parameters' => array( + 'name' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'delete' => array( + 'path' => 'v1/{+name}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'name' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'v1/{+name}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'name' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pageSize' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'filter' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudRuntimeConfig/CancelOperationRequest.php b/vendor/google/apiclient-services/src/Google/Service/CloudRuntimeConfig/CancelOperationRequest.php new file mode 100644 index 00000000..948405c0 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudRuntimeConfig/CancelOperationRequest.php @@ -0,0 +1,20 @@ +number = $number; + } + public function getNumber() + { + return $this->number; + } + public function setPath($path) + { + $this->path = $path; + } + public function getPath() + { + return $this->path; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudRuntimeConfig/EndCondition.php b/vendor/google/apiclient-services/src/Google/Service/CloudRuntimeConfig/EndCondition.php new file mode 100644 index 00000000..e1321943 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudRuntimeConfig/EndCondition.php @@ -0,0 +1,31 @@ +cardinality = $cardinality; + } + public function getCardinality() + { + return $this->cardinality; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudRuntimeConfig/ListConfigsResponse.php b/vendor/google/apiclient-services/src/Google/Service/CloudRuntimeConfig/ListConfigsResponse.php new file mode 100644 index 00000000..607dbbc7 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudRuntimeConfig/ListConfigsResponse.php @@ -0,0 +1,41 @@ +configs = $configs; + } + public function getConfigs() + { + return $this->configs; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudRuntimeConfig/ListOperationsResponse.php b/vendor/google/apiclient-services/src/Google/Service/CloudRuntimeConfig/ListOperationsResponse.php new file mode 100644 index 00000000..9ef11d09 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudRuntimeConfig/ListOperationsResponse.php @@ -0,0 +1,41 @@ +nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setOperations($operations) + { + $this->operations = $operations; + } + public function getOperations() + { + return $this->operations; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudRuntimeConfig/ListVariablesResponse.php b/vendor/google/apiclient-services/src/Google/Service/CloudRuntimeConfig/ListVariablesResponse.php new file mode 100644 index 00000000..b063e7ac --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudRuntimeConfig/ListVariablesResponse.php @@ -0,0 +1,41 @@ +nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setVariables($variables) + { + $this->variables = $variables; + } + public function getVariables() + { + return $this->variables; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudRuntimeConfig/ListWaitersResponse.php b/vendor/google/apiclient-services/src/Google/Service/CloudRuntimeConfig/ListWaitersResponse.php new file mode 100644 index 00000000..e6b7a0d6 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudRuntimeConfig/ListWaitersResponse.php @@ -0,0 +1,41 @@ +nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setWaiters($waiters) + { + $this->waiters = $waiters; + } + public function getWaiters() + { + return $this->waiters; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudRuntimeConfig/Operation.php b/vendor/google/apiclient-services/src/Google/Service/CloudRuntimeConfig/Operation.php new file mode 100644 index 00000000..7339420d --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudRuntimeConfig/Operation.php @@ -0,0 +1,67 @@ +done = $done; + } + public function getDone() + { + return $this->done; + } + public function setError(Google_Service_CloudRuntimeConfig_Status $error) + { + $this->error = $error; + } + public function getError() + { + return $this->error; + } + public function setMetadata($metadata) + { + $this->metadata = $metadata; + } + public function getMetadata() + { + return $this->metadata; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setResponse($response) + { + $this->response = $response; + } + public function getResponse() + { + return $this->response; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudRuntimeConfig/Resource/Operations.php b/vendor/google/apiclient-services/src/Google/Service/CloudRuntimeConfig/Resource/Operations.php new file mode 100644 index 00000000..25354914 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudRuntimeConfig/Resource/Operations.php @@ -0,0 +1,88 @@ + + * $runtimeconfigService = new Google_Service_CloudRuntimeConfig(...); + * $operations = $runtimeconfigService->operations; + * + */ +class Google_Service_CloudRuntimeConfig_Resource_Operations extends Google_Service_Resource +{ + /** + * Starts asynchronous cancellation on a long-running operation. The server + * makes a best effort to cancel the operation, but success is not guaranteed. + * If the server doesn't support this method, it returns + * `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or + * other methods to check whether the cancellation succeeded or whether the + * operation completed despite cancellation. On successful cancellation, the + * operation is not deleted; instead, it becomes an operation with an + * Operation.error value with a google.rpc.Status.code of 1, corresponding to + * `Code.CANCELLED`. (operations.cancel) + * + * @param string $name The name of the operation resource to be cancelled. + * @param Google_Service_CloudRuntimeConfig_CancelOperationRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_CloudRuntimeConfig_RuntimeconfigEmpty + */ + public function cancel($name, Google_Service_CloudRuntimeConfig_CancelOperationRequest $postBody, $optParams = array()) + { + $params = array('name' => $name, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('cancel', array($params), "Google_Service_CloudRuntimeConfig_RuntimeconfigEmpty"); + } + /** + * Deletes a long-running operation. This method indicates that the client is no + * longer interested in the operation result. It does not cancel the operation. + * If the server doesn't support this method, it returns + * `google.rpc.Code.UNIMPLEMENTED`. (operations.delete) + * + * @param string $name The name of the operation resource to be deleted. + * @param array $optParams Optional parameters. + * @return Google_Service_CloudRuntimeConfig_RuntimeconfigEmpty + */ + public function delete($name, $optParams = array()) + { + $params = array('name' => $name); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params), "Google_Service_CloudRuntimeConfig_RuntimeconfigEmpty"); + } + /** + * Lists operations that match the specified filter in the request. If the + * server doesn't support this method, it returns `UNIMPLEMENTED`. + * + * NOTE: the `name` binding below allows API services to override the binding to + * use different resource name schemes, such as `users/operations`. + * (operations.listOperations) + * + * @param string $name The name of the operation collection. + * @param array $optParams Optional parameters. + * + * @opt_param string pageToken The standard list page token. + * @opt_param int pageSize The standard list page size. + * @opt_param string filter The standard list filter. + * @return Google_Service_CloudRuntimeConfig_ListOperationsResponse + */ + public function listOperations($name, $optParams = array()) + { + $params = array('name' => $name); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_CloudRuntimeConfig_ListOperationsResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudRuntimeConfig/Resource/Projects.php b/vendor/google/apiclient-services/src/Google/Service/CloudRuntimeConfig/Resource/Projects.php new file mode 100644 index 00000000..10009973 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudRuntimeConfig/Resource/Projects.php @@ -0,0 +1,28 @@ + + * $runtimeconfigService = new Google_Service_CloudRuntimeConfig(...); + * $projects = $runtimeconfigService->projects; + * + */ +class Google_Service_CloudRuntimeConfig_Resource_Projects extends Google_Service_Resource +{ +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudRuntimeConfig/Resource/ProjectsConfigs.php b/vendor/google/apiclient-services/src/Google/Service/CloudRuntimeConfig/Resource/ProjectsConfigs.php new file mode 100644 index 00000000..013afd37 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudRuntimeConfig/Resource/ProjectsConfigs.php @@ -0,0 +1,123 @@ + + * $runtimeconfigService = new Google_Service_CloudRuntimeConfig(...); + * $configs = $runtimeconfigService->configs; + * + */ +class Google_Service_CloudRuntimeConfig_Resource_ProjectsConfigs extends Google_Service_Resource +{ + /** + * Creates a new RuntimeConfig resource. The configuration name must be unique + * within project. (configs.create) + * + * @param string $parent The [project + * ID](https://support.google.com/cloud/answer/6158840?hl=en_topic=6158848) for + * this request, in the format `projects/[PROJECT_ID]`. + * @param Google_Service_CloudRuntimeConfig_RuntimeConfig $postBody + * @param array $optParams Optional parameters. + * + * @opt_param string requestId An optional unique request_id. If server receives + * two Create requests with the same request_id then second request will be + * ignored and the resource stored in the backend will be returned. Empty + * request_id fields are ignored. It is responsibility of the client to ensure + * uniqueness of the request_id strings. The strings are limited to 64 + * characters. + * @return Google_Service_CloudRuntimeConfig_RuntimeConfig + */ + public function create($parent, Google_Service_CloudRuntimeConfig_RuntimeConfig $postBody, $optParams = array()) + { + $params = array('parent' => $parent, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('create', array($params), "Google_Service_CloudRuntimeConfig_RuntimeConfig"); + } + /** + * Deletes a RuntimeConfig resource. (configs.delete) + * + * @param string $name The RuntimeConfig resource to delete, in the format: + * + * `projects/[PROJECT_ID]/configs/[CONFIG_NAME]` + * @param array $optParams Optional parameters. + * @return Google_Service_CloudRuntimeConfig_RuntimeconfigEmpty + */ + public function delete($name, $optParams = array()) + { + $params = array('name' => $name); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params), "Google_Service_CloudRuntimeConfig_RuntimeconfigEmpty"); + } + /** + * Gets information about a RuntimeConfig resource. (configs.get) + * + * @param string $name The name of the RuntimeConfig resource to retrieve, in + * the format: + * + * `projects/[PROJECT_ID]/configs/[CONFIG_NAME]` + * @param array $optParams Optional parameters. + * @return Google_Service_CloudRuntimeConfig_RuntimeConfig + */ + public function get($name, $optParams = array()) + { + $params = array('name' => $name); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_CloudRuntimeConfig_RuntimeConfig"); + } + /** + * Lists all the RuntimeConfig resources within project. + * (configs.listProjectsConfigs) + * + * @param string $parent The [project + * ID](https://support.google.com/cloud/answer/6158840?hl=en_topic=6158848) for + * this request, in the format `projects/[PROJECT_ID]`. + * @param array $optParams Optional parameters. + * + * @opt_param int pageSize Specifies the number of results to return per page. + * If there are fewer elements than the specified number, returns all elements. + * @opt_param string pageToken Specifies a page token to use. Set `pageToken` to + * a `nextPageToken` returned by a previous list request to get the next page of + * results. + * @return Google_Service_CloudRuntimeConfig_ListConfigsResponse + */ + public function listProjectsConfigs($parent, $optParams = array()) + { + $params = array('parent' => $parent); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_CloudRuntimeConfig_ListConfigsResponse"); + } + /** + * Updates a RuntimeConfig resource. The configuration must exist beforehand. + * (configs.update) + * + * @param string $name The name of the RuntimeConfig resource to update, in the + * format: + * + * `projects/[PROJECT_ID]/configs/[CONFIG_NAME]` + * @param Google_Service_CloudRuntimeConfig_RuntimeConfig $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_CloudRuntimeConfig_RuntimeConfig + */ + public function update($name, Google_Service_CloudRuntimeConfig_RuntimeConfig $postBody, $optParams = array()) + { + $params = array('name' => $name, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('update', array($params), "Google_Service_CloudRuntimeConfig_RuntimeConfig"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudRuntimeConfig/Resource/ProjectsConfigsOperations.php b/vendor/google/apiclient-services/src/Google/Service/CloudRuntimeConfig/Resource/ProjectsConfigsOperations.php new file mode 100644 index 00000000..9e00b34d --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudRuntimeConfig/Resource/ProjectsConfigsOperations.php @@ -0,0 +1,43 @@ + + * $runtimeconfigService = new Google_Service_CloudRuntimeConfig(...); + * $operations = $runtimeconfigService->operations; + * + */ +class Google_Service_CloudRuntimeConfig_Resource_ProjectsConfigsOperations extends Google_Service_Resource +{ + /** + * Gets the latest state of a long-running operation. Clients can use this + * method to poll the operation result at intervals as recommended by the API + * service. (operations.get) + * + * @param string $name The name of the operation resource. + * @param array $optParams Optional parameters. + * @return Google_Service_CloudRuntimeConfig_Operation + */ + public function get($name, $optParams = array()) + { + $params = array('name' => $name); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_CloudRuntimeConfig_Operation"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudRuntimeConfig/Resource/ProjectsConfigsVariables.php b/vendor/google/apiclient-services/src/Google/Service/CloudRuntimeConfig/Resource/ProjectsConfigsVariables.php new file mode 100644 index 00000000..23713ff3 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudRuntimeConfig/Resource/ProjectsConfigsVariables.php @@ -0,0 +1,170 @@ + + * $runtimeconfigService = new Google_Service_CloudRuntimeConfig(...); + * $variables = $runtimeconfigService->variables; + * + */ +class Google_Service_CloudRuntimeConfig_Resource_ProjectsConfigsVariables extends Google_Service_Resource +{ + /** + * Creates a variable within the given configuration. You cannot create a + * variable with a name that is a prefix of an existing variable name, or a name + * that has an existing variable name as a prefix. + * + * To learn more about creating a variable, read the [Setting and Getting Data + * ](/deployment-manager/runtime-configurator/set-and-get-variables) + * documentation. (variables.create) + * + * @param string $parent The path to the RutimeConfig resource that this + * variable should belong to. The configuration must exist beforehand; the path + * must by in the format: + * + * `projects/[PROJECT_ID]/configs/[CONFIG_NAME]` + * @param Google_Service_CloudRuntimeConfig_Variable $postBody + * @param array $optParams Optional parameters. + * + * @opt_param string requestId An optional unique request_id. If server receives + * two Create requests with the same request_id then second request will be + * ignored and the resource stored in the backend will be returned. Empty + * request_id fields are ignored. It is responsibility of the client to ensure + * uniqueness of the request_id strings. The strings are limited to 64 + * characters. + * @return Google_Service_CloudRuntimeConfig_Variable + */ + public function create($parent, Google_Service_CloudRuntimeConfig_Variable $postBody, $optParams = array()) + { + $params = array('parent' => $parent, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('create', array($params), "Google_Service_CloudRuntimeConfig_Variable"); + } + /** + * Deletes a variable or multiple variables. + * + * If you specify a variable name, then that variable is deleted. If you specify + * a prefix and `recursive` is true, then all variables with that prefix are + * deleted. You must set a `recursive` to true if you delete variables by + * prefix. (variables.delete) + * + * @param string $name The name of the variable to delete, in the format: + * + * `projects/[PROJECT_ID]/configs/[CONFIG_NAME]/variables/[VARIABLE_NAME]` + * @param array $optParams Optional parameters. + * + * @opt_param bool recursive Set to `true` to recursively delete multiple + * variables with the same prefix. + * @return Google_Service_CloudRuntimeConfig_RuntimeconfigEmpty + */ + public function delete($name, $optParams = array()) + { + $params = array('name' => $name); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params), "Google_Service_CloudRuntimeConfig_RuntimeconfigEmpty"); + } + /** + * Gets information about a single variable. (variables.get) + * + * @param string $name The name of the variable to return, in the format: + * + * `projects/[PROJECT_ID]/configs/[CONFIG_NAME]/variables/[VARIBLE_NAME]` + * @param array $optParams Optional parameters. + * @return Google_Service_CloudRuntimeConfig_Variable + */ + public function get($name, $optParams = array()) + { + $params = array('name' => $name); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_CloudRuntimeConfig_Variable"); + } + /** + * Lists variables within given a configuration, matching any provided filters. + * This only lists variable names, not the values. + * (variables.listProjectsConfigsVariables) + * + * @param string $parent The path to the RuntimeConfig resource for which you + * want to list variables. The configuration must exist beforehand; the path + * must by in the format: + * + * `projects/[PROJECT_ID]/configs/[CONFIG_NAME]` + * @param array $optParams Optional parameters. + * + * @opt_param int pageSize Specifies the number of results to return per page. + * If there are fewer elements than the specified number, returns all elements. + * @opt_param string filter Filters variables by matching the specified filter. + * For example: + * + * `projects/example-project/config/[CONFIG_NAME]/variables/example-variable`. + * @opt_param string pageToken Specifies a page token to use. Set `pageToken` to + * a `nextPageToken` returned by a previous list request to get the next page of + * results. + * @return Google_Service_CloudRuntimeConfig_ListVariablesResponse + */ + public function listProjectsConfigsVariables($parent, $optParams = array()) + { + $params = array('parent' => $parent); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_CloudRuntimeConfig_ListVariablesResponse"); + } + /** + * Updates an existing variable with a new value. (variables.update) + * + * @param string $name The name of the variable to update, in the format: + * + * `projects/[PROJECT_ID]/configs/[CONFIG_NAME]/variables/[VARIABLE_NAME]` + * @param Google_Service_CloudRuntimeConfig_Variable $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_CloudRuntimeConfig_Variable + */ + public function update($name, Google_Service_CloudRuntimeConfig_Variable $postBody, $optParams = array()) + { + $params = array('name' => $name, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('update', array($params), "Google_Service_CloudRuntimeConfig_Variable"); + } + /** + * Watches a specific variable and waits for a change in the variable's value. + * When there is a change, this method returns the new value or times out. + * + * If a variable is deleted while being watched, the `variableState` state is + * set to `DELETED` and the method returns the last known variable `value`. + * + * If you set the deadline for watching to a larger value than internal timeout + * (60 seconds), the current variable value is returned and the `variableState` + * will be `VARIABLE_STATE_UNSPECIFIED`. + * + * To learn more about creating a watcher, read the [Watching a Variable for + * Changes](/deployment-manager/runtime-configurator/watching-a-variable) + * documentation. (variables.watch) + * + * @param string $name The name of the variable to watch, in the format: + * + * `projects/[PROJECT_ID]/configs/[CONFIG_NAME]` + * @param Google_Service_CloudRuntimeConfig_WatchVariableRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_CloudRuntimeConfig_Variable + */ + public function watch($name, Google_Service_CloudRuntimeConfig_WatchVariableRequest $postBody, $optParams = array()) + { + $params = array('name' => $name, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('watch', array($params), "Google_Service_CloudRuntimeConfig_Variable"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudRuntimeConfig/Resource/ProjectsConfigsWaiters.php b/vendor/google/apiclient-services/src/Google/Service/CloudRuntimeConfig/Resource/ProjectsConfigsWaiters.php new file mode 100644 index 00000000..7f407cbd --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudRuntimeConfig/Resource/ProjectsConfigsWaiters.php @@ -0,0 +1,111 @@ + + * $runtimeconfigService = new Google_Service_CloudRuntimeConfig(...); + * $waiters = $runtimeconfigService->waiters; + * + */ +class Google_Service_CloudRuntimeConfig_Resource_ProjectsConfigsWaiters extends Google_Service_Resource +{ + /** + * Creates a Waiter resource. This operation returns a long-running Operation + * resource which can be polled for completion. However, a waiter with the given + * name will exist (and can be retrieved) prior to the operation completing. If + * the operation fails, the failed Waiter resource will still exist and must be + * deleted prior to subsequent creation attempts. (waiters.create) + * + * @param string $parent The path to the configuration that will own the waiter. + * The configuration must exist beforehand; the path must by in the format: + * + * `projects/[PROJECT_ID]/configs/[CONFIG_NAME]`. + * @param Google_Service_CloudRuntimeConfig_Waiter $postBody + * @param array $optParams Optional parameters. + * + * @opt_param string requestId An optional unique request_id. If server receives + * two Create requests with the same request_id then second request will be + * ignored and information stored in the backend will be returned. Empty + * request_id fields are ignored. It is responsibility of the client to ensure + * uniqueness of the request_id strings. The strings are limited to 64 + * characters. + * @return Google_Service_CloudRuntimeConfig_Operation + */ + public function create($parent, Google_Service_CloudRuntimeConfig_Waiter $postBody, $optParams = array()) + { + $params = array('parent' => $parent, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('create', array($params), "Google_Service_CloudRuntimeConfig_Operation"); + } + /** + * Deletes the waiter with the specified name. (waiters.delete) + * + * @param string $name The Waiter resource to delete, in the format: + * + * `projects/[PROJECT_ID]/configs/[CONFIG_NAME]/waiters/[WAITER_NAME]` + * @param array $optParams Optional parameters. + * @return Google_Service_CloudRuntimeConfig_RuntimeconfigEmpty + */ + public function delete($name, $optParams = array()) + { + $params = array('name' => $name); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params), "Google_Service_CloudRuntimeConfig_RuntimeconfigEmpty"); + } + /** + * Gets information about a single waiter. (waiters.get) + * + * @param string $name The fully-qualified name of the Waiter resource object to + * retrieve, in the format: + * + * `projects/[PROJECT_ID]/configs/[CONFIG_NAME]/waiters/[WAITER_NAME]` + * @param array $optParams Optional parameters. + * @return Google_Service_CloudRuntimeConfig_Waiter + */ + public function get($name, $optParams = array()) + { + $params = array('name' => $name); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_CloudRuntimeConfig_Waiter"); + } + /** + * List waiters within the given configuration. + * (waiters.listProjectsConfigsWaiters) + * + * @param string $parent The path to the configuration for which you want to get + * a list of waiters. The configuration must exist beforehand; the path must by + * in the format: + * + * `projects/[PROJECT_ID]/configs/[CONFIG_NAME]` + * @param array $optParams Optional parameters. + * + * @opt_param int pageSize Specifies the number of results to return per page. + * If there are fewer elements than the specified number, returns all elements. + * @opt_param string pageToken Specifies a page token to use. Set `pageToken` to + * a `nextPageToken` returned by a previous list request to get the next page of + * results. + * @return Google_Service_CloudRuntimeConfig_ListWaitersResponse + */ + public function listProjectsConfigsWaiters($parent, $optParams = array()) + { + $params = array('parent' => $parent); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_CloudRuntimeConfig_ListWaitersResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudRuntimeConfig/RuntimeConfig.php b/vendor/google/apiclient-services/src/Google/Service/CloudRuntimeConfig/RuntimeConfig.php new file mode 100644 index 00000000..445bade1 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudRuntimeConfig/RuntimeConfig.php @@ -0,0 +1,39 @@ +description = $description; + } + public function getDescription() + { + return $this->description; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudRuntimeConfig/RuntimeconfigEmpty.php b/vendor/google/apiclient-services/src/Google/Service/CloudRuntimeConfig/RuntimeconfigEmpty.php new file mode 100644 index 00000000..a07606d7 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudRuntimeConfig/RuntimeconfigEmpty.php @@ -0,0 +1,20 @@ +code = $code; + } + public function getCode() + { + return $this->code; + } + public function setDetails($details) + { + $this->details = $details; + } + public function getDetails() + { + return $this->details; + } + public function setMessage($message) + { + $this->message = $message; + } + public function getMessage() + { + return $this->message; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudRuntimeConfig/Variable.php b/vendor/google/apiclient-services/src/Google/Service/CloudRuntimeConfig/Variable.php new file mode 100644 index 00000000..2d0159cb --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudRuntimeConfig/Variable.php @@ -0,0 +1,66 @@ +name = $name; + } + public function getName() + { + return $this->name; + } + public function setState($state) + { + $this->state = $state; + } + public function getState() + { + return $this->state; + } + public function setText($text) + { + $this->text = $text; + } + public function getText() + { + return $this->text; + } + public function setUpdateTime($updateTime) + { + $this->updateTime = $updateTime; + } + public function getUpdateTime() + { + return $this->updateTime; + } + public function setValue($value) + { + $this->value = $value; + } + public function getValue() + { + return $this->value; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudRuntimeConfig/Waiter.php b/vendor/google/apiclient-services/src/Google/Service/CloudRuntimeConfig/Waiter.php new file mode 100644 index 00000000..d115775b --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudRuntimeConfig/Waiter.php @@ -0,0 +1,87 @@ +createTime = $createTime; + } + public function getCreateTime() + { + return $this->createTime; + } + public function setDone($done) + { + $this->done = $done; + } + public function getDone() + { + return $this->done; + } + public function setError(Google_Service_CloudRuntimeConfig_Status $error) + { + $this->error = $error; + } + public function getError() + { + return $this->error; + } + public function setFailure(Google_Service_CloudRuntimeConfig_EndCondition $failure) + { + $this->failure = $failure; + } + public function getFailure() + { + return $this->failure; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setSuccess(Google_Service_CloudRuntimeConfig_EndCondition $success) + { + $this->success = $success; + } + public function getSuccess() + { + return $this->success; + } + public function setTimeout($timeout) + { + $this->timeout = $timeout; + } + public function getTimeout() + { + return $this->timeout; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudRuntimeConfig/WatchVariableRequest.php b/vendor/google/apiclient-services/src/Google/Service/CloudRuntimeConfig/WatchVariableRequest.php new file mode 100644 index 00000000..7de9800f --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudRuntimeConfig/WatchVariableRequest.php @@ -0,0 +1,30 @@ +newerThan = $newerThan; + } + public function getNewerThan() + { + return $this->newerThan; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudSourceRepositories.php b/vendor/google/apiclient-services/src/Google/Service/CloudSourceRepositories.php new file mode 100644 index 00000000..4aa4def0 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudSourceRepositories.php @@ -0,0 +1,134 @@ + + * Access source code repositories hosted by Google.

+ * + *

+ * For more information about this service, see the API + * Documentation + *

+ * + * @author Google, Inc. + */ +class Google_Service_CloudSourceRepositories extends Google_Service +{ + /** View and manage your data across Google Cloud Platform services. */ + const CLOUD_PLATFORM = + "https://www.googleapis.com/auth/cloud-platform"; + + public $projects_repos; + + /** + * Constructs the internal representation of the CloudSourceRepositories + * service. + * + * @param Google_Client $client + */ + public function __construct(Google_Client $client) + { + parent::__construct($client); + $this->rootUrl = 'https://sourcerepo.googleapis.com/'; + $this->servicePath = ''; + $this->version = 'v1'; + $this->serviceName = 'sourcerepo'; + + $this->projects_repos = new Google_Service_CloudSourceRepositories_Resource_ProjectsRepos( + $this, + $this->serviceName, + 'repos', + array( + 'methods' => array( + 'create' => array( + 'path' => 'v1/{+parent}/repos', + 'httpMethod' => 'POST', + 'parameters' => array( + 'parent' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'delete' => array( + 'path' => 'v1/{+name}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'name' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'get' => array( + 'path' => 'v1/{+name}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'name' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'getIamPolicy' => array( + 'path' => 'v1/{+resource}:getIamPolicy', + 'httpMethod' => 'GET', + 'parameters' => array( + 'resource' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'v1/{+name}/repos', + 'httpMethod' => 'GET', + 'parameters' => array( + 'name' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'setIamPolicy' => array( + 'path' => 'v1/{+resource}:setIamPolicy', + 'httpMethod' => 'POST', + 'parameters' => array( + 'resource' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'testIamPermissions' => array( + 'path' => 'v1/{+resource}:testIamPermissions', + 'httpMethod' => 'POST', + 'parameters' => array( + 'resource' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudSourceRepositories/AuditConfig.php b/vendor/google/apiclient-services/src/Google/Service/CloudSourceRepositories/AuditConfig.php new file mode 100644 index 00000000..28d14b9b --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudSourceRepositories/AuditConfig.php @@ -0,0 +1,50 @@ +auditLogConfigs = $auditLogConfigs; + } + public function getAuditLogConfigs() + { + return $this->auditLogConfigs; + } + public function setExemptedMembers($exemptedMembers) + { + $this->exemptedMembers = $exemptedMembers; + } + public function getExemptedMembers() + { + return $this->exemptedMembers; + } + public function setService($service) + { + $this->service = $service; + } + public function getService() + { + return $this->service; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudSourceRepositories/AuditLogConfig.php b/vendor/google/apiclient-services/src/Google/Service/CloudSourceRepositories/AuditLogConfig.php new file mode 100644 index 00000000..6e518855 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudSourceRepositories/AuditLogConfig.php @@ -0,0 +1,40 @@ +exemptedMembers = $exemptedMembers; + } + public function getExemptedMembers() + { + return $this->exemptedMembers; + } + public function setLogType($logType) + { + $this->logType = $logType; + } + public function getLogType() + { + return $this->logType; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudSourceRepositories/Binding.php b/vendor/google/apiclient-services/src/Google/Service/CloudSourceRepositories/Binding.php new file mode 100644 index 00000000..4cec3792 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudSourceRepositories/Binding.php @@ -0,0 +1,40 @@ +members = $members; + } + public function getMembers() + { + return $this->members; + } + public function setRole($role) + { + $this->role = $role; + } + public function getRole() + { + return $this->role; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudSourceRepositories/CloudAuditOptions.php b/vendor/google/apiclient-services/src/Google/Service/CloudSourceRepositories/CloudAuditOptions.php new file mode 100644 index 00000000..48b8fc29 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudSourceRepositories/CloudAuditOptions.php @@ -0,0 +1,20 @@ +iam = $iam; + } + public function getIam() + { + return $this->iam; + } + public function setOp($op) + { + $this->op = $op; + } + public function getOp() + { + return $this->op; + } + public function setSvc($svc) + { + $this->svc = $svc; + } + public function getSvc() + { + return $this->svc; + } + public function setSys($sys) + { + $this->sys = $sys; + } + public function getSys() + { + return $this->sys; + } + public function setValue($value) + { + $this->value = $value; + } + public function getValue() + { + return $this->value; + } + public function setValues($values) + { + $this->values = $values; + } + public function getValues() + { + return $this->values; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudSourceRepositories/CounterOptions.php b/vendor/google/apiclient-services/src/Google/Service/CloudSourceRepositories/CounterOptions.php new file mode 100644 index 00000000..bd46c5de --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudSourceRepositories/CounterOptions.php @@ -0,0 +1,39 @@ +field = $field; + } + public function getField() + { + return $this->field; + } + public function setMetric($metric) + { + $this->metric = $metric; + } + public function getMetric() + { + return $this->metric; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudSourceRepositories/DataAccessOptions.php b/vendor/google/apiclient-services/src/Google/Service/CloudSourceRepositories/DataAccessOptions.php new file mode 100644 index 00000000..7ca520ea --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudSourceRepositories/DataAccessOptions.php @@ -0,0 +1,20 @@ +repos = $repos; + } + public function getRepos() + { + return $this->repos; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudSourceRepositories/LogConfig.php b/vendor/google/apiclient-services/src/Google/Service/CloudSourceRepositories/LogConfig.php new file mode 100644 index 00000000..dd5aec75 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudSourceRepositories/LogConfig.php @@ -0,0 +1,51 @@ +cloudAudit = $cloudAudit; + } + public function getCloudAudit() + { + return $this->cloudAudit; + } + public function setCounter(Google_Service_CloudSourceRepositories_CounterOptions $counter) + { + $this->counter = $counter; + } + public function getCounter() + { + return $this->counter; + } + public function setDataAccess(Google_Service_CloudSourceRepositories_DataAccessOptions $dataAccess) + { + $this->dataAccess = $dataAccess; + } + public function getDataAccess() + { + return $this->dataAccess; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudSourceRepositories/MirrorConfig.php b/vendor/google/apiclient-services/src/Google/Service/CloudSourceRepositories/MirrorConfig.php new file mode 100644 index 00000000..ed8f6f0d --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudSourceRepositories/MirrorConfig.php @@ -0,0 +1,48 @@ +deployKeyId = $deployKeyId; + } + public function getDeployKeyId() + { + return $this->deployKeyId; + } + public function setUrl($url) + { + $this->url = $url; + } + public function getUrl() + { + return $this->url; + } + public function setWebhookId($webhookId) + { + $this->webhookId = $webhookId; + } + public function getWebhookId() + { + return $this->webhookId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudSourceRepositories/Policy.php b/vendor/google/apiclient-services/src/Google/Service/CloudSourceRepositories/Policy.php new file mode 100644 index 00000000..8be72e81 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudSourceRepositories/Policy.php @@ -0,0 +1,79 @@ +auditConfigs = $auditConfigs; + } + public function getAuditConfigs() + { + return $this->auditConfigs; + } + public function setBindings($bindings) + { + $this->bindings = $bindings; + } + public function getBindings() + { + return $this->bindings; + } + public function setEtag($etag) + { + $this->etag = $etag; + } + public function getEtag() + { + return $this->etag; + } + public function setIamOwned($iamOwned) + { + $this->iamOwned = $iamOwned; + } + public function getIamOwned() + { + return $this->iamOwned; + } + public function setRules($rules) + { + $this->rules = $rules; + } + public function getRules() + { + return $this->rules; + } + public function setVersion($version) + { + $this->version = $version; + } + public function getVersion() + { + return $this->version; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudSourceRepositories/Repo.php b/vendor/google/apiclient-services/src/Google/Service/CloudSourceRepositories/Repo.php new file mode 100644 index 00000000..6dae23e0 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudSourceRepositories/Repo.php @@ -0,0 +1,58 @@ +mirrorConfig = $mirrorConfig; + } + public function getMirrorConfig() + { + return $this->mirrorConfig; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setSize($size) + { + $this->size = $size; + } + public function getSize() + { + return $this->size; + } + public function setUrl($url) + { + $this->url = $url; + } + public function getUrl() + { + return $this->url; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudSourceRepositories/Resource/Projects.php b/vendor/google/apiclient-services/src/Google/Service/CloudSourceRepositories/Resource/Projects.php new file mode 100644 index 00000000..fcac6a61 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudSourceRepositories/Resource/Projects.php @@ -0,0 +1,28 @@ + + * $sourcerepoService = new Google_Service_CloudSourceRepositories(...); + * $projects = $sourcerepoService->projects; + * + */ +class Google_Service_CloudSourceRepositories_Resource_Projects extends Google_Service_Resource +{ +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudSourceRepositories/Resource/ProjectsRepos.php b/vendor/google/apiclient-services/src/Google/Service/CloudSourceRepositories/Resource/ProjectsRepos.php new file mode 100644 index 00000000..8defb71c --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudSourceRepositories/Resource/ProjectsRepos.php @@ -0,0 +1,139 @@ + + * $sourcerepoService = new Google_Service_CloudSourceRepositories(...); + * $repos = $sourcerepoService->repos; + * + */ +class Google_Service_CloudSourceRepositories_Resource_ProjectsRepos extends Google_Service_Resource +{ + /** + * Creates a repo in the given project with the given name.. + * + * If the named repository already exists, `CreateRepo` returns + * `ALREADY_EXISTS`. (repos.create) + * + * @param string $parent The project in which to create the repo. Values are of + * the form `projects/`. + * @param Google_Service_CloudSourceRepositories_Repo $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_CloudSourceRepositories_Repo + */ + public function create($parent, Google_Service_CloudSourceRepositories_Repo $postBody, $optParams = array()) + { + $params = array('parent' => $parent, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('create', array($params), "Google_Service_CloudSourceRepositories_Repo"); + } + /** + * Deletes a repo. (repos.delete) + * + * @param string $name The name of the repo to delete. Values are of the form + * `projects//repos/`. + * @param array $optParams Optional parameters. + * @return Google_Service_CloudSourceRepositories_SourcerepoEmpty + */ + public function delete($name, $optParams = array()) + { + $params = array('name' => $name); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params), "Google_Service_CloudSourceRepositories_SourcerepoEmpty"); + } + /** + * Returns information about a repo. (repos.get) + * + * @param string $name The name of the requested repository. Values are of the + * form `projects//repos/`. + * @param array $optParams Optional parameters. + * @return Google_Service_CloudSourceRepositories_Repo + */ + public function get($name, $optParams = array()) + { + $params = array('name' => $name); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_CloudSourceRepositories_Repo"); + } + /** + * Gets the access control policy for a resource. Returns an empty policy if the + * resource exists and does not have a policy set. (repos.getIamPolicy) + * + * @param string $resource REQUIRED: The resource for which the policy is being + * requested. See the operation documentation for the appropriate value for this + * field. + * @param array $optParams Optional parameters. + * @return Google_Service_CloudSourceRepositories_Policy + */ + public function getIamPolicy($resource, $optParams = array()) + { + $params = array('resource' => $resource); + $params = array_merge($params, $optParams); + return $this->call('getIamPolicy', array($params), "Google_Service_CloudSourceRepositories_Policy"); + } + /** + * Returns all repos belonging to a project. (repos.listProjectsRepos) + * + * @param string $name The project ID whose repos should be listed. Values are + * of the form `projects/`. + * @param array $optParams Optional parameters. + * @return Google_Service_CloudSourceRepositories_ListReposResponse + */ + public function listProjectsRepos($name, $optParams = array()) + { + $params = array('name' => $name); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_CloudSourceRepositories_ListReposResponse"); + } + /** + * Sets the access control policy on the specified resource. Replaces any + * existing policy. (repos.setIamPolicy) + * + * @param string $resource REQUIRED: The resource for which the policy is being + * specified. See the operation documentation for the appropriate value for this + * field. + * @param Google_Service_CloudSourceRepositories_SetIamPolicyRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_CloudSourceRepositories_Policy + */ + public function setIamPolicy($resource, Google_Service_CloudSourceRepositories_SetIamPolicyRequest $postBody, $optParams = array()) + { + $params = array('resource' => $resource, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('setIamPolicy', array($params), "Google_Service_CloudSourceRepositories_Policy"); + } + /** + * Returns permissions that a caller has on the specified resource. If the + * resource does not exist, this will return an empty set of permissions, not a + * NOT_FOUND error. (repos.testIamPermissions) + * + * @param string $resource REQUIRED: The resource for which the policy detail is + * being requested. See the operation documentation for the appropriate value + * for this field. + * @param Google_Service_CloudSourceRepositories_TestIamPermissionsRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_CloudSourceRepositories_TestIamPermissionsResponse + */ + public function testIamPermissions($resource, Google_Service_CloudSourceRepositories_TestIamPermissionsRequest $postBody, $optParams = array()) + { + $params = array('resource' => $resource, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('testIamPermissions', array($params), "Google_Service_CloudSourceRepositories_TestIamPermissionsResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudSourceRepositories/Rule.php b/vendor/google/apiclient-services/src/Google/Service/CloudSourceRepositories/Rule.php new file mode 100644 index 00000000..fb546cda --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudSourceRepositories/Rule.php @@ -0,0 +1,87 @@ +action = $action; + } + public function getAction() + { + return $this->action; + } + public function setConditions($conditions) + { + $this->conditions = $conditions; + } + public function getConditions() + { + return $this->conditions; + } + public function setDescription($description) + { + $this->description = $description; + } + public function getDescription() + { + return $this->description; + } + public function setIn($in) + { + $this->in = $in; + } + public function getIn() + { + return $this->in; + } + public function setLogConfig($logConfig) + { + $this->logConfig = $logConfig; + } + public function getLogConfig() + { + return $this->logConfig; + } + public function setNotIn($notIn) + { + $this->notIn = $notIn; + } + public function getNotIn() + { + return $this->notIn; + } + public function setPermissions($permissions) + { + $this->permissions = $permissions; + } + public function getPermissions() + { + return $this->permissions; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudSourceRepositories/SetIamPolicyRequest.php b/vendor/google/apiclient-services/src/Google/Service/CloudSourceRepositories/SetIamPolicyRequest.php new file mode 100644 index 00000000..f3539dbc --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudSourceRepositories/SetIamPolicyRequest.php @@ -0,0 +1,40 @@ +policy = $policy; + } + public function getPolicy() + { + return $this->policy; + } + public function setUpdateMask($updateMask) + { + $this->updateMask = $updateMask; + } + public function getUpdateMask() + { + return $this->updateMask; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudSourceRepositories/SourcerepoEmpty.php b/vendor/google/apiclient-services/src/Google/Service/CloudSourceRepositories/SourcerepoEmpty.php new file mode 100644 index 00000000..46cf8752 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudSourceRepositories/SourcerepoEmpty.php @@ -0,0 +1,20 @@ +permissions = $permissions; + } + public function getPermissions() + { + return $this->permissions; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudSourceRepositories/TestIamPermissionsResponse.php b/vendor/google/apiclient-services/src/Google/Service/CloudSourceRepositories/TestIamPermissionsResponse.php new file mode 100644 index 00000000..f8cb728e --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudSourceRepositories/TestIamPermissionsResponse.php @@ -0,0 +1,31 @@ +permissions = $permissions; + } + public function getPermissions() + { + return $this->permissions; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudSpeechAPI.php b/vendor/google/apiclient-services/src/Google/Service/CloudSpeechAPI.php new file mode 100644 index 00000000..065ec190 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudSpeechAPI.php @@ -0,0 +1,133 @@ + + * Google Cloud Speech API.

+ * + *

+ * For more information about this service, see the API + * Documentation + *

+ * + * @author Google, Inc. + */ +class Google_Service_CloudSpeechAPI extends Google_Service +{ + /** View and manage your data across Google Cloud Platform services. */ + const CLOUD_PLATFORM = + "https://www.googleapis.com/auth/cloud-platform"; + + public $operations; + public $speech; + + /** + * Constructs the internal representation of the CloudSpeechAPI service. + * + * @param Google_Client $client + */ + public function __construct(Google_Client $client) + { + parent::__construct($client); + $this->rootUrl = 'https://speech.googleapis.com/'; + $this->servicePath = ''; + $this->version = 'v1beta1'; + $this->serviceName = 'speech'; + + $this->operations = new Google_Service_CloudSpeechAPI_Resource_Operations( + $this, + $this->serviceName, + 'operations', + array( + 'methods' => array( + 'cancel' => array( + 'path' => 'v1beta1/operations/{+name}:cancel', + 'httpMethod' => 'POST', + 'parameters' => array( + 'name' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'delete' => array( + 'path' => 'v1beta1/operations/{+name}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'name' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'get' => array( + 'path' => 'v1beta1/operations/{+name}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'name' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'v1beta1/operations', + 'httpMethod' => 'GET', + 'parameters' => array( + 'pageSize' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'filter' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'name' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + $this->speech = new Google_Service_CloudSpeechAPI_Resource_Speech( + $this, + $this->serviceName, + 'speech', + array( + 'methods' => array( + 'asyncrecognize' => array( + 'path' => 'v1beta1/speech:asyncrecognize', + 'httpMethod' => 'POST', + 'parameters' => array(), + ),'syncrecognize' => array( + 'path' => 'v1beta1/speech:syncrecognize', + 'httpMethod' => 'POST', + 'parameters' => array(), + ), + ) + ) + ); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudSpeechAPI/AsyncRecognizeRequest.php b/vendor/google/apiclient-services/src/Google/Service/CloudSpeechAPI/AsyncRecognizeRequest.php new file mode 100644 index 00000000..cf03fbd9 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudSpeechAPI/AsyncRecognizeRequest.php @@ -0,0 +1,41 @@ +audio = $audio; + } + public function getAudio() + { + return $this->audio; + } + public function setConfig(Google_Service_CloudSpeechAPI_RecognitionConfig $config) + { + $this->config = $config; + } + public function getConfig() + { + return $this->config; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudSpeechAPI/CancelOperationRequest.php b/vendor/google/apiclient-services/src/Google/Service/CloudSpeechAPI/CancelOperationRequest.php new file mode 100644 index 00000000..123426e2 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudSpeechAPI/CancelOperationRequest.php @@ -0,0 +1,20 @@ +nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setOperations($operations) + { + $this->operations = $operations; + } + public function getOperations() + { + return $this->operations; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudSpeechAPI/Operation.php b/vendor/google/apiclient-services/src/Google/Service/CloudSpeechAPI/Operation.php new file mode 100644 index 00000000..1f356d2d --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudSpeechAPI/Operation.php @@ -0,0 +1,67 @@ +done = $done; + } + public function getDone() + { + return $this->done; + } + public function setError(Google_Service_CloudSpeechAPI_Status $error) + { + $this->error = $error; + } + public function getError() + { + return $this->error; + } + public function setMetadata($metadata) + { + $this->metadata = $metadata; + } + public function getMetadata() + { + return $this->metadata; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setResponse($response) + { + $this->response = $response; + } + public function getResponse() + { + return $this->response; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudSpeechAPI/RecognitionAudio.php b/vendor/google/apiclient-services/src/Google/Service/CloudSpeechAPI/RecognitionAudio.php new file mode 100644 index 00000000..8b08ac8f --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudSpeechAPI/RecognitionAudio.php @@ -0,0 +1,39 @@ +content = $content; + } + public function getContent() + { + return $this->content; + } + public function setUri($uri) + { + $this->uri = $uri; + } + public function getUri() + { + return $this->uri; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudSpeechAPI/RecognitionConfig.php b/vendor/google/apiclient-services/src/Google/Service/CloudSpeechAPI/RecognitionConfig.php new file mode 100644 index 00000000..a656b8de --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudSpeechAPI/RecognitionConfig.php @@ -0,0 +1,76 @@ +encoding = $encoding; + } + public function getEncoding() + { + return $this->encoding; + } + public function setLanguageCode($languageCode) + { + $this->languageCode = $languageCode; + } + public function getLanguageCode() + { + return $this->languageCode; + } + public function setMaxAlternatives($maxAlternatives) + { + $this->maxAlternatives = $maxAlternatives; + } + public function getMaxAlternatives() + { + return $this->maxAlternatives; + } + public function setProfanityFilter($profanityFilter) + { + $this->profanityFilter = $profanityFilter; + } + public function getProfanityFilter() + { + return $this->profanityFilter; + } + public function setSampleRate($sampleRate) + { + $this->sampleRate = $sampleRate; + } + public function getSampleRate() + { + return $this->sampleRate; + } + public function setSpeechContext(Google_Service_CloudSpeechAPI_SpeechContext $speechContext) + { + $this->speechContext = $speechContext; + } + public function getSpeechContext() + { + return $this->speechContext; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudSpeechAPI/Resource/Operations.php b/vendor/google/apiclient-services/src/Google/Service/CloudSpeechAPI/Resource/Operations.php new file mode 100644 index 00000000..07efe1ce --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudSpeechAPI/Resource/Operations.php @@ -0,0 +1,100 @@ + + * $speechService = new Google_Service_CloudSpeechAPI(...); + * $operations = $speechService->operations; + * + */ +class Google_Service_CloudSpeechAPI_Resource_Operations extends Google_Service_Resource +{ + /** + * Starts asynchronous cancellation on a long-running operation. The server + * makes a best effort to cancel the operation, but success is not guaranteed. + * If the server doesn't support this method, it returns + * `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or + * other methods to check whether the cancellation succeeded or whether the + * operation completed despite cancellation. (operations.cancel) + * + * @param string $name The name of the operation resource to be cancelled. + * @param Google_Service_CloudSpeechAPI_CancelOperationRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_CloudSpeechAPI_SpeechEmpty + */ + public function cancel($name, Google_Service_CloudSpeechAPI_CancelOperationRequest $postBody, $optParams = array()) + { + $params = array('name' => $name, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('cancel', array($params), "Google_Service_CloudSpeechAPI_SpeechEmpty"); + } + /** + * Deletes a long-running operation. This method indicates that the client is no + * longer interested in the operation result. It does not cancel the operation. + * If the server doesn't support this method, it returns + * `google.rpc.Code.UNIMPLEMENTED`. (operations.delete) + * + * @param string $name The name of the operation resource to be deleted. + * @param array $optParams Optional parameters. + * @return Google_Service_CloudSpeechAPI_SpeechEmpty + */ + public function delete($name, $optParams = array()) + { + $params = array('name' => $name); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params), "Google_Service_CloudSpeechAPI_SpeechEmpty"); + } + /** + * Gets the latest state of a long-running operation. Clients can use this + * method to poll the operation result at intervals as recommended by the API + * service. (operations.get) + * + * @param string $name The name of the operation resource. + * @param array $optParams Optional parameters. + * @return Google_Service_CloudSpeechAPI_Operation + */ + public function get($name, $optParams = array()) + { + $params = array('name' => $name); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_CloudSpeechAPI_Operation"); + } + /** + * Lists operations that match the specified filter in the request. If the + * server doesn't support this method, it returns `UNIMPLEMENTED`. + * + * NOTE: the `name` binding below allows API services to override the binding to + * use different resource name schemes, such as `users/operations`. + * (operations.listOperations) + * + * @param array $optParams Optional parameters. + * + * @opt_param int pageSize The standard list page size. + * @opt_param string filter The standard list filter. + * @opt_param string name The name of the operation collection. + * @opt_param string pageToken The standard list page token. + * @return Google_Service_CloudSpeechAPI_ListOperationsResponse + */ + public function listOperations($optParams = array()) + { + $params = array(); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_CloudSpeechAPI_ListOperationsResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudSpeechAPI/Resource/Speech.php b/vendor/google/apiclient-services/src/Google/Service/CloudSpeechAPI/Resource/Speech.php new file mode 100644 index 00000000..694ecd44 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudSpeechAPI/Resource/Speech.php @@ -0,0 +1,58 @@ + + * $speechService = new Google_Service_CloudSpeechAPI(...); + * $speech = $speechService->speech; + * + */ +class Google_Service_CloudSpeechAPI_Resource_Speech extends Google_Service_Resource +{ + /** + * Perform asynchronous speech-recognition: receive results via the + * google.longrunning.Operations interface. Returns either an `Operation.error` + * or an `Operation.response` which contains an `AsyncRecognizeResponse` + * message. (speech.asyncrecognize) + * + * @param Google_Service_CloudSpeechAPI_AsyncRecognizeRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_CloudSpeechAPI_Operation + */ + public function asyncrecognize(Google_Service_CloudSpeechAPI_AsyncRecognizeRequest $postBody, $optParams = array()) + { + $params = array('postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('asyncrecognize', array($params), "Google_Service_CloudSpeechAPI_Operation"); + } + /** + * Perform synchronous speech-recognition: receive results after all audio has + * been sent and processed. (speech.syncrecognize) + * + * @param Google_Service_CloudSpeechAPI_SyncRecognizeRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_CloudSpeechAPI_SyncRecognizeResponse + */ + public function syncrecognize(Google_Service_CloudSpeechAPI_SyncRecognizeRequest $postBody, $optParams = array()) + { + $params = array('postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('syncrecognize', array($params), "Google_Service_CloudSpeechAPI_SyncRecognizeResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudSpeechAPI/SpeechContext.php b/vendor/google/apiclient-services/src/Google/Service/CloudSpeechAPI/SpeechContext.php new file mode 100644 index 00000000..256dfd05 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudSpeechAPI/SpeechContext.php @@ -0,0 +1,31 @@ +phrases = $phrases; + } + public function getPhrases() + { + return $this->phrases; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudSpeechAPI/SpeechEmpty.php b/vendor/google/apiclient-services/src/Google/Service/CloudSpeechAPI/SpeechEmpty.php new file mode 100644 index 00000000..e699d424 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudSpeechAPI/SpeechEmpty.php @@ -0,0 +1,20 @@ +confidence = $confidence; + } + public function getConfidence() + { + return $this->confidence; + } + public function setTranscript($transcript) + { + $this->transcript = $transcript; + } + public function getTranscript() + { + return $this->transcript; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudSpeechAPI/SpeechRecognitionResult.php b/vendor/google/apiclient-services/src/Google/Service/CloudSpeechAPI/SpeechRecognitionResult.php new file mode 100644 index 00000000..5bab6493 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudSpeechAPI/SpeechRecognitionResult.php @@ -0,0 +1,32 @@ +alternatives = $alternatives; + } + public function getAlternatives() + { + return $this->alternatives; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudSpeechAPI/Status.php b/vendor/google/apiclient-services/src/Google/Service/CloudSpeechAPI/Status.php new file mode 100644 index 00000000..62ed7860 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudSpeechAPI/Status.php @@ -0,0 +1,49 @@ +code = $code; + } + public function getCode() + { + return $this->code; + } + public function setDetails($details) + { + $this->details = $details; + } + public function getDetails() + { + return $this->details; + } + public function setMessage($message) + { + $this->message = $message; + } + public function getMessage() + { + return $this->message; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudSpeechAPI/SyncRecognizeRequest.php b/vendor/google/apiclient-services/src/Google/Service/CloudSpeechAPI/SyncRecognizeRequest.php new file mode 100644 index 00000000..0cb07439 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudSpeechAPI/SyncRecognizeRequest.php @@ -0,0 +1,41 @@ +audio = $audio; + } + public function getAudio() + { + return $this->audio; + } + public function setConfig(Google_Service_CloudSpeechAPI_RecognitionConfig $config) + { + $this->config = $config; + } + public function getConfig() + { + return $this->config; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudSpeechAPI/SyncRecognizeResponse.php b/vendor/google/apiclient-services/src/Google/Service/CloudSpeechAPI/SyncRecognizeResponse.php new file mode 100644 index 00000000..753753bb --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudSpeechAPI/SyncRecognizeResponse.php @@ -0,0 +1,32 @@ +results = $results; + } + public function getResults() + { + return $this->results; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudTrace.php b/vendor/google/apiclient-services/src/Google/Service/CloudTrace.php new file mode 100644 index 00000000..8a7b7876 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudTrace.php @@ -0,0 +1,146 @@ + + * Send and retrieve trace data from Stackdriver Trace. Data is generated and + * available by default for all App Engine applications. Data from other + * applications can be written to Stackdriver Trace for display, reporting, and + * analysis.

+ * + *

+ * For more information about this service, see the API + * Documentation + *

+ * + * @author Google, Inc. + */ +class Google_Service_CloudTrace extends Google_Service +{ + /** View and manage your data across Google Cloud Platform services. */ + const CLOUD_PLATFORM = + "https://www.googleapis.com/auth/cloud-platform"; + /** Write Trace data for a project or application. */ + const TRACE_APPEND = + "https://www.googleapis.com/auth/trace.append"; + /** Read Trace data for a project or application. */ + const TRACE_READONLY = + "https://www.googleapis.com/auth/trace.readonly"; + + public $projects; + public $projects_traces; + + /** + * Constructs the internal representation of the CloudTrace service. + * + * @param Google_Client $client + */ + public function __construct(Google_Client $client) + { + parent::__construct($client); + $this->rootUrl = 'https://cloudtrace.googleapis.com/'; + $this->servicePath = ''; + $this->version = 'v1'; + $this->serviceName = 'cloudtrace'; + + $this->projects = new Google_Service_CloudTrace_Resource_Projects( + $this, + $this->serviceName, + 'projects', + array( + 'methods' => array( + 'patchTraces' => array( + 'path' => 'v1/projects/{projectId}/traces', + 'httpMethod' => 'PATCH', + 'parameters' => array( + 'projectId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->projects_traces = new Google_Service_CloudTrace_Resource_ProjectsTraces( + $this, + $this->serviceName, + 'traces', + array( + 'methods' => array( + 'get' => array( + 'path' => 'v1/projects/{projectId}/traces/{traceId}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'projectId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'traceId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'v1/projects/{projectId}/traces', + 'httpMethod' => 'GET', + 'parameters' => array( + 'projectId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'orderBy' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'filter' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'endTime' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'startTime' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pageSize' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'view' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudTrace/CloudtraceEmpty.php b/vendor/google/apiclient-services/src/Google/Service/CloudTrace/CloudtraceEmpty.php new file mode 100644 index 00000000..70f91b23 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudTrace/CloudtraceEmpty.php @@ -0,0 +1,20 @@ +nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setTraces($traces) + { + $this->traces = $traces; + } + public function getTraces() + { + return $this->traces; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudTrace/Resource/Projects.php b/vendor/google/apiclient-services/src/Google/Service/CloudTrace/Resource/Projects.php new file mode 100644 index 00000000..18a26dbe --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudTrace/Resource/Projects.php @@ -0,0 +1,47 @@ + + * $cloudtraceService = new Google_Service_CloudTrace(...); + * $projects = $cloudtraceService->projects; + * + */ +class Google_Service_CloudTrace_Resource_Projects extends Google_Service_Resource +{ + /** + * Sends new traces to Stackdriver Trace or updates existing traces. If the ID + * of a trace that you send matches that of an existing trace, any fields in the + * existing trace and its spans are overwritten by the provided values, and any + * new fields provided are merged with the existing trace data. If the ID does + * not match, a new trace is created. (projects.patchTraces) + * + * @param string $projectId ID of the Cloud project where the trace data is + * stored. + * @param Google_Service_CloudTrace_Traces $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_CloudTrace_CloudtraceEmpty + */ + public function patchTraces($projectId, Google_Service_CloudTrace_Traces $postBody, $optParams = array()) + { + $params = array('projectId' => $projectId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('patchTraces', array($params), "Google_Service_CloudTrace_CloudtraceEmpty"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudTrace/Resource/ProjectsTraces.php b/vendor/google/apiclient-services/src/Google/Service/CloudTrace/Resource/ProjectsTraces.php new file mode 100644 index 00000000..2fe3f790 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudTrace/Resource/ProjectsTraces.php @@ -0,0 +1,83 @@ + + * $cloudtraceService = new Google_Service_CloudTrace(...); + * $traces = $cloudtraceService->traces; + * + */ +class Google_Service_CloudTrace_Resource_ProjectsTraces extends Google_Service_Resource +{ + /** + * Gets a single trace by its ID. (traces.get) + * + * @param string $projectId ID of the Cloud project where the trace data is + * stored. + * @param string $traceId ID of the trace to return. + * @param array $optParams Optional parameters. + * @return Google_Service_CloudTrace_Trace + */ + public function get($projectId, $traceId, $optParams = array()) + { + $params = array('projectId' => $projectId, 'traceId' => $traceId); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_CloudTrace_Trace"); + } + /** + * Returns of a list of traces that match the specified filter conditions. + * (traces.listProjectsTraces) + * + * @param string $projectId ID of the Cloud project where the trace data is + * stored. + * @param array $optParams Optional parameters. + * + * @opt_param string orderBy Field used to sort the returned traces. Optional. + * Can be one of the following: + * + * * `trace_id` * `name` (`name` field of root span in the trace) * + * `duration` (difference between `end_time` and `start_time` fields of the + * root span) * `start` (`start_time` field of the root span) + * + * Descending order can be specified by appending `desc` to the sort field (for + * example, `name desc`). + * + * Only one sort field is permitted. + * @opt_param string filter An optional filter for the request. + * @opt_param string endTime Start of the time interval (inclusive) during which + * the trace data was collected from the application. + * @opt_param string pageToken Token identifying the page of results to return. + * If provided, use the value of the `next_page_token` field from a previous + * request. Optional. + * @opt_param string startTime End of the time interval (inclusive) during which + * the trace data was collected from the application. + * @opt_param int pageSize Maximum number of traces to return. If not specified + * or <= 0, the implementation selects a reasonable value. The implementation + * may return fewer traces than the requested page size. Optional. + * @opt_param string view Type of data returned for traces in the list. + * Optional. Default is `MINIMAL`. + * @return Google_Service_CloudTrace_ListTracesResponse + */ + public function listProjectsTraces($projectId, $optParams = array()) + { + $params = array('projectId' => $projectId); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_CloudTrace_ListTracesResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudTrace/Trace.php b/vendor/google/apiclient-services/src/Google/Service/CloudTrace/Trace.php new file mode 100644 index 00000000..f44f3558 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudTrace/Trace.php @@ -0,0 +1,50 @@ +projectId = $projectId; + } + public function getProjectId() + { + return $this->projectId; + } + public function setSpans($spans) + { + $this->spans = $spans; + } + public function getSpans() + { + return $this->spans; + } + public function setTraceId($traceId) + { + $this->traceId = $traceId; + } + public function getTraceId() + { + return $this->traceId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudTrace/TraceSpan.php b/vendor/google/apiclient-services/src/Google/Service/CloudTrace/TraceSpan.php new file mode 100644 index 00000000..d14b2f8f --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudTrace/TraceSpan.php @@ -0,0 +1,84 @@ +endTime = $endTime; + } + public function getEndTime() + { + return $this->endTime; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setLabels($labels) + { + $this->labels = $labels; + } + public function getLabels() + { + return $this->labels; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setParentSpanId($parentSpanId) + { + $this->parentSpanId = $parentSpanId; + } + public function getParentSpanId() + { + return $this->parentSpanId; + } + public function setSpanId($spanId) + { + $this->spanId = $spanId; + } + public function getSpanId() + { + return $this->spanId; + } + public function setStartTime($startTime) + { + $this->startTime = $startTime; + } + public function getStartTime() + { + return $this->startTime; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudTrace/Traces.php b/vendor/google/apiclient-services/src/Google/Service/CloudTrace/Traces.php new file mode 100644 index 00000000..411f545c --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudTrace/Traces.php @@ -0,0 +1,32 @@ +traces = $traces; + } + public function getTraces() + { + return $this->traces; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudUserAccounts.php b/vendor/google/apiclient-services/src/Google/Service/CloudUserAccounts.php new file mode 100644 index 00000000..615084f3 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudUserAccounts.php @@ -0,0 +1,514 @@ + + * Creates and manages users and groups for accessing Google Compute Engine + * virtual machines.

+ * + *

+ * For more information about this service, see the API + * Documentation + *

+ * + * @author Google, Inc. + */ +class Google_Service_CloudUserAccounts extends Google_Service +{ + /** View and manage your data across Google Cloud Platform services. */ + const CLOUD_PLATFORM = + "https://www.googleapis.com/auth/cloud-platform"; + /** View your data across Google Cloud Platform services. */ + const CLOUD_PLATFORM_READ_ONLY = + "https://www.googleapis.com/auth/cloud-platform.read-only"; + /** Manage your Google Cloud User Accounts. */ + const CLOUD_USERACCOUNTS = + "https://www.googleapis.com/auth/cloud.useraccounts"; + /** View your Google Cloud User Accounts. */ + const CLOUD_USERACCOUNTS_READONLY = + "https://www.googleapis.com/auth/cloud.useraccounts.readonly"; + + public $globalAccountsOperations; + public $groups; + public $linux; + public $users; + + /** + * Constructs the internal representation of the CloudUserAccounts service. + * + * @param Google_Client $client + */ + public function __construct(Google_Client $client) + { + parent::__construct($client); + $this->rootUrl = 'https://www.googleapis.com/'; + $this->servicePath = 'clouduseraccounts/vm_alpha/projects/'; + $this->version = 'vm_alpha'; + $this->serviceName = 'clouduseraccounts'; + + $this->globalAccountsOperations = new Google_Service_CloudUserAccounts_Resource_GlobalAccountsOperations( + $this, + $this->serviceName, + 'globalAccountsOperations', + array( + 'methods' => array( + 'delete' => array( + 'path' => '{project}/global/operations/{operation}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'operation' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'get' => array( + 'path' => '{project}/global/operations/{operation}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'operation' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => '{project}/global/operations', + 'httpMethod' => 'GET', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'filter' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'orderBy' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + $this->groups = new Google_Service_CloudUserAccounts_Resource_Groups( + $this, + $this->serviceName, + 'groups', + array( + 'methods' => array( + 'addMember' => array( + 'path' => '{project}/global/groups/{groupName}/addMember', + 'httpMethod' => 'POST', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'groupName' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'delete' => array( + 'path' => '{project}/global/groups/{groupName}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'groupName' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'get' => array( + 'path' => '{project}/global/groups/{groupName}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'groupName' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'getIamPolicy' => array( + 'path' => '{project}/global/groups/{resource}/getIamPolicy', + 'httpMethod' => 'GET', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'resource' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'insert' => array( + 'path' => '{project}/global/groups', + 'httpMethod' => 'POST', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => '{project}/global/groups', + 'httpMethod' => 'GET', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'filter' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'orderBy' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'removeMember' => array( + 'path' => '{project}/global/groups/{groupName}/removeMember', + 'httpMethod' => 'POST', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'groupName' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'setIamPolicy' => array( + 'path' => '{project}/global/groups/{resource}/setIamPolicy', + 'httpMethod' => 'POST', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'resource' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'testIamPermissions' => array( + 'path' => '{project}/global/groups/{resource}/testIamPermissions', + 'httpMethod' => 'POST', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'resource' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->linux = new Google_Service_CloudUserAccounts_Resource_Linux( + $this, + $this->serviceName, + 'linux', + array( + 'methods' => array( + 'getAuthorizedKeysView' => array( + 'path' => '{project}/zones/{zone}/authorizedKeysView/{user}', + 'httpMethod' => 'POST', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'zone' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'user' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'instance' => array( + 'location' => 'query', + 'type' => 'string', + 'required' => true, + ), + 'login' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + ), + ),'getLinuxAccountViews' => array( + 'path' => '{project}/zones/{zone}/linuxAccountViews', + 'httpMethod' => 'POST', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'zone' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'instance' => array( + 'location' => 'query', + 'type' => 'string', + 'required' => true, + ), + 'filter' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'orderBy' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + $this->users = new Google_Service_CloudUserAccounts_Resource_Users( + $this, + $this->serviceName, + 'users', + array( + 'methods' => array( + 'addPublicKey' => array( + 'path' => '{project}/global/users/{user}/addPublicKey', + 'httpMethod' => 'POST', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'user' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'delete' => array( + 'path' => '{project}/global/users/{user}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'user' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'get' => array( + 'path' => '{project}/global/users/{user}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'user' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'getIamPolicy' => array( + 'path' => '{project}/global/users/{resource}/getIamPolicy', + 'httpMethod' => 'GET', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'resource' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'insert' => array( + 'path' => '{project}/global/users', + 'httpMethod' => 'POST', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => '{project}/global/users', + 'httpMethod' => 'GET', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'filter' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'orderBy' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'removePublicKey' => array( + 'path' => '{project}/global/users/{user}/removePublicKey', + 'httpMethod' => 'POST', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'user' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'fingerprint' => array( + 'location' => 'query', + 'type' => 'string', + 'required' => true, + ), + ), + ),'setIamPolicy' => array( + 'path' => '{project}/global/users/{resource}/setIamPolicy', + 'httpMethod' => 'POST', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'resource' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'testIamPermissions' => array( + 'path' => '{project}/global/users/{resource}/testIamPermissions', + 'httpMethod' => 'POST', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'resource' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudUserAccounts/AuditConfig.php b/vendor/google/apiclient-services/src/Google/Service/CloudUserAccounts/AuditConfig.php new file mode 100644 index 00000000..aeef16e0 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudUserAccounts/AuditConfig.php @@ -0,0 +1,40 @@ +exemptedMembers = $exemptedMembers; + } + public function getExemptedMembers() + { + return $this->exemptedMembers; + } + public function setService($service) + { + $this->service = $service; + } + public function getService() + { + return $this->service; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudUserAccounts/AuthorizedKeysView.php b/vendor/google/apiclient-services/src/Google/Service/CloudUserAccounts/AuthorizedKeysView.php new file mode 100644 index 00000000..839aa89b --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudUserAccounts/AuthorizedKeysView.php @@ -0,0 +1,40 @@ +keys = $keys; + } + public function getKeys() + { + return $this->keys; + } + public function setSudoer($sudoer) + { + $this->sudoer = $sudoer; + } + public function getSudoer() + { + return $this->sudoer; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudUserAccounts/Binding.php b/vendor/google/apiclient-services/src/Google/Service/CloudUserAccounts/Binding.php new file mode 100644 index 00000000..187630d4 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudUserAccounts/Binding.php @@ -0,0 +1,40 @@ +members = $members; + } + public function getMembers() + { + return $this->members; + } + public function setRole($role) + { + $this->role = $role; + } + public function getRole() + { + return $this->role; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudUserAccounts/Condition.php b/vendor/google/apiclient-services/src/Google/Service/CloudUserAccounts/Condition.php new file mode 100644 index 00000000..51da8763 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudUserAccounts/Condition.php @@ -0,0 +1,76 @@ +iam = $iam; + } + public function getIam() + { + return $this->iam; + } + public function setOp($op) + { + $this->op = $op; + } + public function getOp() + { + return $this->op; + } + public function setSvc($svc) + { + $this->svc = $svc; + } + public function getSvc() + { + return $this->svc; + } + public function setSys($sys) + { + $this->sys = $sys; + } + public function getSys() + { + return $this->sys; + } + public function setValue($value) + { + $this->value = $value; + } + public function getValue() + { + return $this->value; + } + public function setValues($values) + { + $this->values = $values; + } + public function getValues() + { + return $this->values; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudUserAccounts/Group.php b/vendor/google/apiclient-services/src/Google/Service/CloudUserAccounts/Group.php new file mode 100644 index 00000000..b7bb5f58 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudUserAccounts/Group.php @@ -0,0 +1,85 @@ +creationTimestamp = $creationTimestamp; + } + public function getCreationTimestamp() + { + return $this->creationTimestamp; + } + public function setDescription($description) + { + $this->description = $description; + } + public function getDescription() + { + return $this->description; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setMembers($members) + { + $this->members = $members; + } + public function getMembers() + { + return $this->members; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setSelfLink($selfLink) + { + $this->selfLink = $selfLink; + } + public function getSelfLink() + { + return $this->selfLink; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudUserAccounts/GroupList.php b/vendor/google/apiclient-services/src/Google/Service/CloudUserAccounts/GroupList.php new file mode 100644 index 00000000..89e71e64 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudUserAccounts/GroupList.php @@ -0,0 +1,68 @@ +id = $id; + } + public function getId() + { + return $this->id; + } + public function setItems($items) + { + $this->items = $items; + } + public function getItems() + { + return $this->items; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setSelfLink($selfLink) + { + $this->selfLink = $selfLink; + } + public function getSelfLink() + { + return $this->selfLink; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudUserAccounts/GroupsAddMemberRequest.php b/vendor/google/apiclient-services/src/Google/Service/CloudUserAccounts/GroupsAddMemberRequest.php new file mode 100644 index 00000000..7683d8fa --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudUserAccounts/GroupsAddMemberRequest.php @@ -0,0 +1,31 @@ +users = $users; + } + public function getUsers() + { + return $this->users; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudUserAccounts/GroupsRemoveMemberRequest.php b/vendor/google/apiclient-services/src/Google/Service/CloudUserAccounts/GroupsRemoveMemberRequest.php new file mode 100644 index 00000000..5d5cf7c8 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudUserAccounts/GroupsRemoveMemberRequest.php @@ -0,0 +1,31 @@ +users = $users; + } + public function getUsers() + { + return $this->users; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudUserAccounts/LinuxAccountViews.php b/vendor/google/apiclient-services/src/Google/Service/CloudUserAccounts/LinuxAccountViews.php new file mode 100644 index 00000000..c7498762 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudUserAccounts/LinuxAccountViews.php @@ -0,0 +1,51 @@ +groupViews = $groupViews; + } + public function getGroupViews() + { + return $this->groupViews; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setUserViews($userViews) + { + $this->userViews = $userViews; + } + public function getUserViews() + { + return $this->userViews; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudUserAccounts/LinuxGetAuthorizedKeysViewResponse.php b/vendor/google/apiclient-services/src/Google/Service/CloudUserAccounts/LinuxGetAuthorizedKeysViewResponse.php new file mode 100644 index 00000000..04442f27 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudUserAccounts/LinuxGetAuthorizedKeysViewResponse.php @@ -0,0 +1,31 @@ +resource = $resource; + } + public function getResource() + { + return $this->resource; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudUserAccounts/LinuxGetLinuxAccountViewsResponse.php b/vendor/google/apiclient-services/src/Google/Service/CloudUserAccounts/LinuxGetLinuxAccountViewsResponse.php new file mode 100644 index 00000000..97979a16 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudUserAccounts/LinuxGetLinuxAccountViewsResponse.php @@ -0,0 +1,31 @@ +resource = $resource; + } + public function getResource() + { + return $this->resource; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudUserAccounts/LinuxGroupView.php b/vendor/google/apiclient-services/src/Google/Service/CloudUserAccounts/LinuxGroupView.php new file mode 100644 index 00000000..9faa5af9 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudUserAccounts/LinuxGroupView.php @@ -0,0 +1,49 @@ +gid = $gid; + } + public function getGid() + { + return $this->gid; + } + public function setGroupName($groupName) + { + $this->groupName = $groupName; + } + public function getGroupName() + { + return $this->groupName; + } + public function setMembers($members) + { + $this->members = $members; + } + public function getMembers() + { + return $this->members; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudUserAccounts/LinuxUserView.php b/vendor/google/apiclient-services/src/Google/Service/CloudUserAccounts/LinuxUserView.php new file mode 100644 index 00000000..c1fedb20 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudUserAccounts/LinuxUserView.php @@ -0,0 +1,75 @@ +gecos = $gecos; + } + public function getGecos() + { + return $this->gecos; + } + public function setGid($gid) + { + $this->gid = $gid; + } + public function getGid() + { + return $this->gid; + } + public function setHomeDirectory($homeDirectory) + { + $this->homeDirectory = $homeDirectory; + } + public function getHomeDirectory() + { + return $this->homeDirectory; + } + public function setShell($shell) + { + $this->shell = $shell; + } + public function getShell() + { + return $this->shell; + } + public function setUid($uid) + { + $this->uid = $uid; + } + public function getUid() + { + return $this->uid; + } + public function setUsername($username) + { + $this->username = $username; + } + public function getUsername() + { + return $this->username; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudUserAccounts/LogConfig.php b/vendor/google/apiclient-services/src/Google/Service/CloudUserAccounts/LogConfig.php new file mode 100644 index 00000000..2b4839e7 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudUserAccounts/LogConfig.php @@ -0,0 +1,31 @@ +counter = $counter; + } + public function getCounter() + { + return $this->counter; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudUserAccounts/LogConfigCounterOptions.php b/vendor/google/apiclient-services/src/Google/Service/CloudUserAccounts/LogConfigCounterOptions.php new file mode 100644 index 00000000..4efe7f1f --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudUserAccounts/LogConfigCounterOptions.php @@ -0,0 +1,39 @@ +field = $field; + } + public function getField() + { + return $this->field; + } + public function setMetric($metric) + { + $this->metric = $metric; + } + public function getMetric() + { + return $this->metric; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudUserAccounts/Operation.php b/vendor/google/apiclient-services/src/Google/Service/CloudUserAccounts/Operation.php new file mode 100644 index 00000000..851faf5e --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudUserAccounts/Operation.php @@ -0,0 +1,231 @@ +clientOperationId = $clientOperationId; + } + public function getClientOperationId() + { + return $this->clientOperationId; + } + public function setCreationTimestamp($creationTimestamp) + { + $this->creationTimestamp = $creationTimestamp; + } + public function getCreationTimestamp() + { + return $this->creationTimestamp; + } + public function setDescription($description) + { + $this->description = $description; + } + public function getDescription() + { + return $this->description; + } + public function setEndTime($endTime) + { + $this->endTime = $endTime; + } + public function getEndTime() + { + return $this->endTime; + } + public function setError(Google_Service_CloudUserAccounts_OperationError $error) + { + $this->error = $error; + } + public function getError() + { + return $this->error; + } + public function setHttpErrorMessage($httpErrorMessage) + { + $this->httpErrorMessage = $httpErrorMessage; + } + public function getHttpErrorMessage() + { + return $this->httpErrorMessage; + } + public function setHttpErrorStatusCode($httpErrorStatusCode) + { + $this->httpErrorStatusCode = $httpErrorStatusCode; + } + public function getHttpErrorStatusCode() + { + return $this->httpErrorStatusCode; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setInsertTime($insertTime) + { + $this->insertTime = $insertTime; + } + public function getInsertTime() + { + return $this->insertTime; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setOperationType($operationType) + { + $this->operationType = $operationType; + } + public function getOperationType() + { + return $this->operationType; + } + public function setProgress($progress) + { + $this->progress = $progress; + } + public function getProgress() + { + return $this->progress; + } + public function setRegion($region) + { + $this->region = $region; + } + public function getRegion() + { + return $this->region; + } + public function setSelfLink($selfLink) + { + $this->selfLink = $selfLink; + } + public function getSelfLink() + { + return $this->selfLink; + } + public function setStartTime($startTime) + { + $this->startTime = $startTime; + } + public function getStartTime() + { + return $this->startTime; + } + public function setStatus($status) + { + $this->status = $status; + } + public function getStatus() + { + return $this->status; + } + public function setStatusMessage($statusMessage) + { + $this->statusMessage = $statusMessage; + } + public function getStatusMessage() + { + return $this->statusMessage; + } + public function setTargetId($targetId) + { + $this->targetId = $targetId; + } + public function getTargetId() + { + return $this->targetId; + } + public function setTargetLink($targetLink) + { + $this->targetLink = $targetLink; + } + public function getTargetLink() + { + return $this->targetLink; + } + public function setUser($user) + { + $this->user = $user; + } + public function getUser() + { + return $this->user; + } + public function setWarnings($warnings) + { + $this->warnings = $warnings; + } + public function getWarnings() + { + return $this->warnings; + } + public function setZone($zone) + { + $this->zone = $zone; + } + public function getZone() + { + return $this->zone; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudUserAccounts/OperationError.php b/vendor/google/apiclient-services/src/Google/Service/CloudUserAccounts/OperationError.php new file mode 100644 index 00000000..87f1583a --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudUserAccounts/OperationError.php @@ -0,0 +1,32 @@ +errors = $errors; + } + public function getErrors() + { + return $this->errors; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudUserAccounts/OperationErrorErrors.php b/vendor/google/apiclient-services/src/Google/Service/CloudUserAccounts/OperationErrorErrors.php new file mode 100644 index 00000000..59fccfb6 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudUserAccounts/OperationErrorErrors.php @@ -0,0 +1,48 @@ +code = $code; + } + public function getCode() + { + return $this->code; + } + public function setLocation($location) + { + $this->location = $location; + } + public function getLocation() + { + return $this->location; + } + public function setMessage($message) + { + $this->message = $message; + } + public function getMessage() + { + return $this->message; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudUserAccounts/OperationList.php b/vendor/google/apiclient-services/src/Google/Service/CloudUserAccounts/OperationList.php new file mode 100644 index 00000000..c60b9998 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudUserAccounts/OperationList.php @@ -0,0 +1,68 @@ +id = $id; + } + public function getId() + { + return $this->id; + } + public function setItems($items) + { + $this->items = $items; + } + public function getItems() + { + return $this->items; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setSelfLink($selfLink) + { + $this->selfLink = $selfLink; + } + public function getSelfLink() + { + return $this->selfLink; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudUserAccounts/OperationWarnings.php b/vendor/google/apiclient-services/src/Google/Service/CloudUserAccounts/OperationWarnings.php new file mode 100644 index 00000000..0efbc0ea --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudUserAccounts/OperationWarnings.php @@ -0,0 +1,50 @@ +code = $code; + } + public function getCode() + { + return $this->code; + } + public function setData($data) + { + $this->data = $data; + } + public function getData() + { + return $this->data; + } + public function setMessage($message) + { + $this->message = $message; + } + public function getMessage() + { + return $this->message; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudUserAccounts/OperationWarningsData.php b/vendor/google/apiclient-services/src/Google/Service/CloudUserAccounts/OperationWarningsData.php new file mode 100644 index 00000000..f93758cd --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudUserAccounts/OperationWarningsData.php @@ -0,0 +1,39 @@ +key = $key; + } + public function getKey() + { + return $this->key; + } + public function setValue($value) + { + $this->value = $value; + } + public function getValue() + { + return $this->value; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudUserAccounts/Policy.php b/vendor/google/apiclient-services/src/Google/Service/CloudUserAccounts/Policy.php new file mode 100644 index 00000000..bc8b2b22 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudUserAccounts/Policy.php @@ -0,0 +1,79 @@ +auditConfigs = $auditConfigs; + } + public function getAuditConfigs() + { + return $this->auditConfigs; + } + public function setBindings($bindings) + { + $this->bindings = $bindings; + } + public function getBindings() + { + return $this->bindings; + } + public function setEtag($etag) + { + $this->etag = $etag; + } + public function getEtag() + { + return $this->etag; + } + public function setIamOwned($iamOwned) + { + $this->iamOwned = $iamOwned; + } + public function getIamOwned() + { + return $this->iamOwned; + } + public function setRules($rules) + { + $this->rules = $rules; + } + public function getRules() + { + return $this->rules; + } + public function setVersion($version) + { + $this->version = $version; + } + public function getVersion() + { + return $this->version; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudUserAccounts/PublicKey.php b/vendor/google/apiclient-services/src/Google/Service/CloudUserAccounts/PublicKey.php new file mode 100644 index 00000000..c796f305 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudUserAccounts/PublicKey.php @@ -0,0 +1,66 @@ +creationTimestamp = $creationTimestamp; + } + public function getCreationTimestamp() + { + return $this->creationTimestamp; + } + public function setDescription($description) + { + $this->description = $description; + } + public function getDescription() + { + return $this->description; + } + public function setExpirationTimestamp($expirationTimestamp) + { + $this->expirationTimestamp = $expirationTimestamp; + } + public function getExpirationTimestamp() + { + return $this->expirationTimestamp; + } + public function setFingerprint($fingerprint) + { + $this->fingerprint = $fingerprint; + } + public function getFingerprint() + { + return $this->fingerprint; + } + public function setKey($key) + { + $this->key = $key; + } + public function getKey() + { + return $this->key; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudUserAccounts/Resource/GlobalAccountsOperations.php b/vendor/google/apiclient-services/src/Google/Service/CloudUserAccounts/Resource/GlobalAccountsOperations.php new file mode 100644 index 00000000..8291b075 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudUserAccounts/Resource/GlobalAccountsOperations.php @@ -0,0 +1,113 @@ + + * $clouduseraccountsService = new Google_Service_CloudUserAccounts(...); + * $globalAccountsOperations = $clouduseraccountsService->globalAccountsOperations; + * + */ +class Google_Service_CloudUserAccounts_Resource_GlobalAccountsOperations extends Google_Service_Resource +{ + /** + * Deletes the specified operation resource. (globalAccountsOperations.delete) + * + * @param string $project Project ID for this request. + * @param string $operation Name of the Operations resource to delete. + * @param array $optParams Optional parameters. + */ + public function delete($project, $operation, $optParams = array()) + { + $params = array('project' => $project, 'operation' => $operation); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params)); + } + /** + * Retrieves the specified operation resource. (globalAccountsOperations.get) + * + * @param string $project Project ID for this request. + * @param string $operation Name of the Operations resource to return. + * @param array $optParams Optional parameters. + * @return Google_Service_CloudUserAccounts_Operation + */ + public function get($project, $operation, $optParams = array()) + { + $params = array('project' => $project, 'operation' => $operation); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_CloudUserAccounts_Operation"); + } + /** + * Retrieves the list of operation resources contained within the specified + * project. (globalAccountsOperations.listGlobalAccountsOperations) + * + * @param string $project Project ID for this request. + * @param array $optParams Optional parameters. + * + * @opt_param string filter Sets a filter expression for filtering listed + * resources, in the form filter={expression}. Your {expression} must be in the + * format: field_name comparison_string literal_string. + * + * The field_name is the name of the field you want to compare. Only atomic + * field types are supported (string, number, boolean). The comparison_string + * must be either eq (equals) or ne (not equals). The literal_string is the + * string value to filter to. The literal value must be valid for the type of + * field you are filtering by (string, number, boolean). For string fields, the + * literal value is interpreted as a regular expression using RE2 syntax. The + * literal value must match the entire field. + * + * For example, to filter for instances that do not have a name of example- + * instance, you would use filter=name ne example-instance. + * + * Compute Engine Beta API Only: If you use filtering in the Beta API, you can + * also filter on nested fields. For example, you could filter on instances that + * have set the scheduling.automaticRestart field to true. In particular, use + * filtering on nested fields to take advantage of instance labels to organize + * and filter results based on label values. + * + * The Beta API also supports filtering on multiple expressions by providing + * each separate expression within parentheses. For example, + * (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple + * expressions are treated as AND expressions, meaning that resources must match + * all expressions to pass the filters. + * @opt_param string maxResults The maximum number of results per page that + * should be returned. If the number of available results is larger than + * maxResults, Compute Engine returns a nextPageToken that can be used to get + * the next page of results in subsequent list requests. + * @opt_param string orderBy Sorts list results by a certain order. By default, + * results are returned in alphanumerical order based on the resource name. + * + * You can also sort results in descending order based on the creation timestamp + * using orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result first). + * Use this to sort resources like operations so that the newest operation is + * returned first. + * + * Currently, only sorting by name or creationTimestamp desc is supported. + * @opt_param string pageToken Specifies a page token to use. Set pageToken to + * the nextPageToken returned by a previous list request to get the next page of + * results. + * @return Google_Service_CloudUserAccounts_OperationList + */ + public function listGlobalAccountsOperations($project, $optParams = array()) + { + $params = array('project' => $project); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_CloudUserAccounts_OperationList"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudUserAccounts/Resource/Groups.php b/vendor/google/apiclient-services/src/Google/Service/CloudUserAccounts/Resource/Groups.php new file mode 100644 index 00000000..bdb4be98 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudUserAccounts/Resource/Groups.php @@ -0,0 +1,206 @@ + + * $clouduseraccountsService = new Google_Service_CloudUserAccounts(...); + * $groups = $clouduseraccountsService->groups; + * + */ +class Google_Service_CloudUserAccounts_Resource_Groups extends Google_Service_Resource +{ + /** + * Adds users to the specified group. (groups.addMember) + * + * @param string $project Project ID for this request. + * @param string $groupName Name of the group for this request. + * @param Google_Service_CloudUserAccounts_GroupsAddMemberRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_CloudUserAccounts_Operation + */ + public function addMember($project, $groupName, Google_Service_CloudUserAccounts_GroupsAddMemberRequest $postBody, $optParams = array()) + { + $params = array('project' => $project, 'groupName' => $groupName, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('addMember', array($params), "Google_Service_CloudUserAccounts_Operation"); + } + /** + * Deletes the specified Group resource. (groups.delete) + * + * @param string $project Project ID for this request. + * @param string $groupName Name of the Group resource to delete. + * @param array $optParams Optional parameters. + * @return Google_Service_CloudUserAccounts_Operation + */ + public function delete($project, $groupName, $optParams = array()) + { + $params = array('project' => $project, 'groupName' => $groupName); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params), "Google_Service_CloudUserAccounts_Operation"); + } + /** + * Returns the specified Group resource. (groups.get) + * + * @param string $project Project ID for this request. + * @param string $groupName Name of the Group resource to return. + * @param array $optParams Optional parameters. + * @return Google_Service_CloudUserAccounts_Group + */ + public function get($project, $groupName, $optParams = array()) + { + $params = array('project' => $project, 'groupName' => $groupName); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_CloudUserAccounts_Group"); + } + /** + * Gets the access control policy for a resource. May be empty if no such policy + * or resource exists. (groups.getIamPolicy) + * + * @param string $project Project ID for this request. + * @param string $resource Name of the resource for this request. + * @param array $optParams Optional parameters. + * @return Google_Service_CloudUserAccounts_Policy + */ + public function getIamPolicy($project, $resource, $optParams = array()) + { + $params = array('project' => $project, 'resource' => $resource); + $params = array_merge($params, $optParams); + return $this->call('getIamPolicy', array($params), "Google_Service_CloudUserAccounts_Policy"); + } + /** + * Creates a Group resource in the specified project using the data included in + * the request. (groups.insert) + * + * @param string $project Project ID for this request. + * @param Google_Service_CloudUserAccounts_Group $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_CloudUserAccounts_Operation + */ + public function insert($project, Google_Service_CloudUserAccounts_Group $postBody, $optParams = array()) + { + $params = array('project' => $project, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('insert', array($params), "Google_Service_CloudUserAccounts_Operation"); + } + /** + * Retrieves the list of groups contained within the specified project. + * (groups.listGroups) + * + * @param string $project Project ID for this request. + * @param array $optParams Optional parameters. + * + * @opt_param string filter Sets a filter expression for filtering listed + * resources, in the form filter={expression}. Your {expression} must be in the + * format: field_name comparison_string literal_string. + * + * The field_name is the name of the field you want to compare. Only atomic + * field types are supported (string, number, boolean). The comparison_string + * must be either eq (equals) or ne (not equals). The literal_string is the + * string value to filter to. The literal value must be valid for the type of + * field you are filtering by (string, number, boolean). For string fields, the + * literal value is interpreted as a regular expression using RE2 syntax. The + * literal value must match the entire field. + * + * For example, to filter for instances that do not have a name of example- + * instance, you would use filter=name ne example-instance. + * + * Compute Engine Beta API Only: If you use filtering in the Beta API, you can + * also filter on nested fields. For example, you could filter on instances that + * have set the scheduling.automaticRestart field to true. In particular, use + * filtering on nested fields to take advantage of instance labels to organize + * and filter results based on label values. + * + * The Beta API also supports filtering on multiple expressions by providing + * each separate expression within parentheses. For example, + * (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple + * expressions are treated as AND expressions, meaning that resources must match + * all expressions to pass the filters. + * @opt_param string maxResults The maximum number of results per page that + * should be returned. If the number of available results is larger than + * maxResults, Compute Engine returns a nextPageToken that can be used to get + * the next page of results in subsequent list requests. + * @opt_param string orderBy Sorts list results by a certain order. By default, + * results are returned in alphanumerical order based on the resource name. + * + * You can also sort results in descending order based on the creation timestamp + * using orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result first). + * Use this to sort resources like operations so that the newest operation is + * returned first. + * + * Currently, only sorting by name or creationTimestamp desc is supported. + * @opt_param string pageToken Specifies a page token to use. Set pageToken to + * the nextPageToken returned by a previous list request to get the next page of + * results. + * @return Google_Service_CloudUserAccounts_GroupList + */ + public function listGroups($project, $optParams = array()) + { + $params = array('project' => $project); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_CloudUserAccounts_GroupList"); + } + /** + * Removes users from the specified group. (groups.removeMember) + * + * @param string $project Project ID for this request. + * @param string $groupName Name of the group for this request. + * @param Google_Service_CloudUserAccounts_GroupsRemoveMemberRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_CloudUserAccounts_Operation + */ + public function removeMember($project, $groupName, Google_Service_CloudUserAccounts_GroupsRemoveMemberRequest $postBody, $optParams = array()) + { + $params = array('project' => $project, 'groupName' => $groupName, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('removeMember', array($params), "Google_Service_CloudUserAccounts_Operation"); + } + /** + * Sets the access control policy on the specified resource. Replaces any + * existing policy. (groups.setIamPolicy) + * + * @param string $project Project ID for this request. + * @param string $resource Name of the resource for this request. + * @param Google_Service_CloudUserAccounts_Policy $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_CloudUserAccounts_Policy + */ + public function setIamPolicy($project, $resource, Google_Service_CloudUserAccounts_Policy $postBody, $optParams = array()) + { + $params = array('project' => $project, 'resource' => $resource, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('setIamPolicy', array($params), "Google_Service_CloudUserAccounts_Policy"); + } + /** + * Returns permissions that a caller has on the specified resource. + * (groups.testIamPermissions) + * + * @param string $project Project ID for this request. + * @param string $resource Name of the resource for this request. + * @param Google_Service_CloudUserAccounts_TestPermissionsRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_CloudUserAccounts_TestPermissionsResponse + */ + public function testIamPermissions($project, $resource, Google_Service_CloudUserAccounts_TestPermissionsRequest $postBody, $optParams = array()) + { + $params = array('project' => $project, 'resource' => $resource, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('testIamPermissions', array($params), "Google_Service_CloudUserAccounts_TestPermissionsResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudUserAccounts/Resource/Linux.php b/vendor/google/apiclient-services/src/Google/Service/CloudUserAccounts/Resource/Linux.php new file mode 100644 index 00000000..b43fd1d9 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudUserAccounts/Resource/Linux.php @@ -0,0 +1,111 @@ + + * $clouduseraccountsService = new Google_Service_CloudUserAccounts(...); + * $linux = $clouduseraccountsService->linux; + * + */ +class Google_Service_CloudUserAccounts_Resource_Linux extends Google_Service_Resource +{ + /** + * Returns a list of authorized public keys for a specific user account. + * (linux.getAuthorizedKeysView) + * + * @param string $project Project ID for this request. + * @param string $zone Name of the zone for this request. + * @param string $user The user account for which you want to get a list of + * authorized public keys. + * @param string $instance The fully-qualified URL of the virtual machine + * requesting the view. + * @param array $optParams Optional parameters. + * + * @opt_param bool login Whether the view was requested as part of a user- + * initiated login. + * @return Google_Service_CloudUserAccounts_LinuxGetAuthorizedKeysViewResponse + */ + public function getAuthorizedKeysView($project, $zone, $user, $instance, $optParams = array()) + { + $params = array('project' => $project, 'zone' => $zone, 'user' => $user, 'instance' => $instance); + $params = array_merge($params, $optParams); + return $this->call('getAuthorizedKeysView', array($params), "Google_Service_CloudUserAccounts_LinuxGetAuthorizedKeysViewResponse"); + } + /** + * Retrieves a list of user accounts for an instance within a specific project. + * (linux.getLinuxAccountViews) + * + * @param string $project Project ID for this request. + * @param string $zone Name of the zone for this request. + * @param string $instance The fully-qualified URL of the virtual machine + * requesting the views. + * @param array $optParams Optional parameters. + * + * @opt_param string filter Sets a filter expression for filtering listed + * resources, in the form filter={expression}. Your {expression} must be in the + * format: field_name comparison_string literal_string. + * + * The field_name is the name of the field you want to compare. Only atomic + * field types are supported (string, number, boolean). The comparison_string + * must be either eq (equals) or ne (not equals). The literal_string is the + * string value to filter to. The literal value must be valid for the type of + * field you are filtering by (string, number, boolean). For string fields, the + * literal value is interpreted as a regular expression using RE2 syntax. The + * literal value must match the entire field. + * + * For example, to filter for instances that do not have a name of example- + * instance, you would use filter=name ne example-instance. + * + * Compute Engine Beta API Only: If you use filtering in the Beta API, you can + * also filter on nested fields. For example, you could filter on instances that + * have set the scheduling.automaticRestart field to true. In particular, use + * filtering on nested fields to take advantage of instance labels to organize + * and filter results based on label values. + * + * The Beta API also supports filtering on multiple expressions by providing + * each separate expression within parentheses. For example, + * (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple + * expressions are treated as AND expressions, meaning that resources must match + * all expressions to pass the filters. + * @opt_param string maxResults The maximum number of results per page that + * should be returned. If the number of available results is larger than + * maxResults, Compute Engine returns a nextPageToken that can be used to get + * the next page of results in subsequent list requests. + * @opt_param string orderBy Sorts list results by a certain order. By default, + * results are returned in alphanumerical order based on the resource name. + * + * You can also sort results in descending order based on the creation timestamp + * using orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result first). + * Use this to sort resources like operations so that the newest operation is + * returned first. + * + * Currently, only sorting by name or creationTimestamp desc is supported. + * @opt_param string pageToken Specifies a page token to use. Set pageToken to + * the nextPageToken returned by a previous list request to get the next page of + * results. + * @return Google_Service_CloudUserAccounts_LinuxGetLinuxAccountViewsResponse + */ + public function getLinuxAccountViews($project, $zone, $instance, $optParams = array()) + { + $params = array('project' => $project, 'zone' => $zone, 'instance' => $instance); + $params = array_merge($params, $optParams); + return $this->call('getLinuxAccountViews', array($params), "Google_Service_CloudUserAccounts_LinuxGetLinuxAccountViewsResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudUserAccounts/Resource/Users.php b/vendor/google/apiclient-services/src/Google/Service/CloudUserAccounts/Resource/Users.php new file mode 100644 index 00000000..39756972 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudUserAccounts/Resource/Users.php @@ -0,0 +1,209 @@ + + * $clouduseraccountsService = new Google_Service_CloudUserAccounts(...); + * $users = $clouduseraccountsService->users; + * + */ +class Google_Service_CloudUserAccounts_Resource_Users extends Google_Service_Resource +{ + /** + * Adds a public key to the specified User resource with the data included in + * the request. (users.addPublicKey) + * + * @param string $project Project ID for this request. + * @param string $user Name of the user for this request. + * @param Google_Service_CloudUserAccounts_PublicKey $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_CloudUserAccounts_Operation + */ + public function addPublicKey($project, $user, Google_Service_CloudUserAccounts_PublicKey $postBody, $optParams = array()) + { + $params = array('project' => $project, 'user' => $user, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('addPublicKey', array($params), "Google_Service_CloudUserAccounts_Operation"); + } + /** + * Deletes the specified User resource. (users.delete) + * + * @param string $project Project ID for this request. + * @param string $user Name of the user resource to delete. + * @param array $optParams Optional parameters. + * @return Google_Service_CloudUserAccounts_Operation + */ + public function delete($project, $user, $optParams = array()) + { + $params = array('project' => $project, 'user' => $user); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params), "Google_Service_CloudUserAccounts_Operation"); + } + /** + * Returns the specified User resource. (users.get) + * + * @param string $project Project ID for this request. + * @param string $user Name of the user resource to return. + * @param array $optParams Optional parameters. + * @return Google_Service_CloudUserAccounts_User + */ + public function get($project, $user, $optParams = array()) + { + $params = array('project' => $project, 'user' => $user); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_CloudUserAccounts_User"); + } + /** + * Gets the access control policy for a resource. May be empty if no such policy + * or resource exists. (users.getIamPolicy) + * + * @param string $project Project ID for this request. + * @param string $resource Name of the resource for this request. + * @param array $optParams Optional parameters. + * @return Google_Service_CloudUserAccounts_Policy + */ + public function getIamPolicy($project, $resource, $optParams = array()) + { + $params = array('project' => $project, 'resource' => $resource); + $params = array_merge($params, $optParams); + return $this->call('getIamPolicy', array($params), "Google_Service_CloudUserAccounts_Policy"); + } + /** + * Creates a User resource in the specified project using the data included in + * the request. (users.insert) + * + * @param string $project Project ID for this request. + * @param Google_Service_CloudUserAccounts_User $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_CloudUserAccounts_Operation + */ + public function insert($project, Google_Service_CloudUserAccounts_User $postBody, $optParams = array()) + { + $params = array('project' => $project, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('insert', array($params), "Google_Service_CloudUserAccounts_Operation"); + } + /** + * Retrieves a list of users contained within the specified project. + * (users.listUsers) + * + * @param string $project Project ID for this request. + * @param array $optParams Optional parameters. + * + * @opt_param string filter Sets a filter expression for filtering listed + * resources, in the form filter={expression}. Your {expression} must be in the + * format: field_name comparison_string literal_string. + * + * The field_name is the name of the field you want to compare. Only atomic + * field types are supported (string, number, boolean). The comparison_string + * must be either eq (equals) or ne (not equals). The literal_string is the + * string value to filter to. The literal value must be valid for the type of + * field you are filtering by (string, number, boolean). For string fields, the + * literal value is interpreted as a regular expression using RE2 syntax. The + * literal value must match the entire field. + * + * For example, to filter for instances that do not have a name of example- + * instance, you would use filter=name ne example-instance. + * + * Compute Engine Beta API Only: If you use filtering in the Beta API, you can + * also filter on nested fields. For example, you could filter on instances that + * have set the scheduling.automaticRestart field to true. In particular, use + * filtering on nested fields to take advantage of instance labels to organize + * and filter results based on label values. + * + * The Beta API also supports filtering on multiple expressions by providing + * each separate expression within parentheses. For example, + * (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple + * expressions are treated as AND expressions, meaning that resources must match + * all expressions to pass the filters. + * @opt_param string maxResults The maximum number of results per page that + * should be returned. If the number of available results is larger than + * maxResults, Compute Engine returns a nextPageToken that can be used to get + * the next page of results in subsequent list requests. + * @opt_param string orderBy Sorts list results by a certain order. By default, + * results are returned in alphanumerical order based on the resource name. + * + * You can also sort results in descending order based on the creation timestamp + * using orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result first). + * Use this to sort resources like operations so that the newest operation is + * returned first. + * + * Currently, only sorting by name or creationTimestamp desc is supported. + * @opt_param string pageToken Specifies a page token to use. Set pageToken to + * the nextPageToken returned by a previous list request to get the next page of + * results. + * @return Google_Service_CloudUserAccounts_UserList + */ + public function listUsers($project, $optParams = array()) + { + $params = array('project' => $project); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_CloudUserAccounts_UserList"); + } + /** + * Removes the specified public key from the user. (users.removePublicKey) + * + * @param string $project Project ID for this request. + * @param string $user Name of the user for this request. + * @param string $fingerprint The fingerprint of the public key to delete. + * Public keys are identified by their fingerprint, which is defined by RFC4716 + * to be the MD5 digest of the public key. + * @param array $optParams Optional parameters. + * @return Google_Service_CloudUserAccounts_Operation + */ + public function removePublicKey($project, $user, $fingerprint, $optParams = array()) + { + $params = array('project' => $project, 'user' => $user, 'fingerprint' => $fingerprint); + $params = array_merge($params, $optParams); + return $this->call('removePublicKey', array($params), "Google_Service_CloudUserAccounts_Operation"); + } + /** + * Sets the access control policy on the specified resource. Replaces any + * existing policy. (users.setIamPolicy) + * + * @param string $project Project ID for this request. + * @param string $resource Name of the resource for this request. + * @param Google_Service_CloudUserAccounts_Policy $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_CloudUserAccounts_Policy + */ + public function setIamPolicy($project, $resource, Google_Service_CloudUserAccounts_Policy $postBody, $optParams = array()) + { + $params = array('project' => $project, 'resource' => $resource, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('setIamPolicy', array($params), "Google_Service_CloudUserAccounts_Policy"); + } + /** + * Returns permissions that a caller has on the specified resource. + * (users.testIamPermissions) + * + * @param string $project Project ID for this request. + * @param string $resource Name of the resource for this request. + * @param Google_Service_CloudUserAccounts_TestPermissionsRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_CloudUserAccounts_TestPermissionsResponse + */ + public function testIamPermissions($project, $resource, Google_Service_CloudUserAccounts_TestPermissionsRequest $postBody, $optParams = array()) + { + $params = array('project' => $project, 'resource' => $resource, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('testIamPermissions', array($params), "Google_Service_CloudUserAccounts_TestPermissionsResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudUserAccounts/Rule.php b/vendor/google/apiclient-services/src/Google/Service/CloudUserAccounts/Rule.php new file mode 100644 index 00000000..8f68ad31 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudUserAccounts/Rule.php @@ -0,0 +1,87 @@ +action = $action; + } + public function getAction() + { + return $this->action; + } + public function setConditions($conditions) + { + $this->conditions = $conditions; + } + public function getConditions() + { + return $this->conditions; + } + public function setDescription($description) + { + $this->description = $description; + } + public function getDescription() + { + return $this->description; + } + public function setIns($ins) + { + $this->ins = $ins; + } + public function getIns() + { + return $this->ins; + } + public function setLogConfigs($logConfigs) + { + $this->logConfigs = $logConfigs; + } + public function getLogConfigs() + { + return $this->logConfigs; + } + public function setNotIns($notIns) + { + $this->notIns = $notIns; + } + public function getNotIns() + { + return $this->notIns; + } + public function setPermissions($permissions) + { + $this->permissions = $permissions; + } + public function getPermissions() + { + return $this->permissions; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudUserAccounts/TestPermissionsRequest.php b/vendor/google/apiclient-services/src/Google/Service/CloudUserAccounts/TestPermissionsRequest.php new file mode 100644 index 00000000..23f1e843 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudUserAccounts/TestPermissionsRequest.php @@ -0,0 +1,31 @@ +permissions = $permissions; + } + public function getPermissions() + { + return $this->permissions; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudUserAccounts/TestPermissionsResponse.php b/vendor/google/apiclient-services/src/Google/Service/CloudUserAccounts/TestPermissionsResponse.php new file mode 100644 index 00000000..96307a87 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudUserAccounts/TestPermissionsResponse.php @@ -0,0 +1,31 @@ +permissions = $permissions; + } + public function getPermissions() + { + return $this->permissions; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudUserAccounts/User.php b/vendor/google/apiclient-services/src/Google/Service/CloudUserAccounts/User.php new file mode 100644 index 00000000..06de7d06 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudUserAccounts/User.php @@ -0,0 +1,104 @@ +creationTimestamp = $creationTimestamp; + } + public function getCreationTimestamp() + { + return $this->creationTimestamp; + } + public function setDescription($description) + { + $this->description = $description; + } + public function getDescription() + { + return $this->description; + } + public function setGroups($groups) + { + $this->groups = $groups; + } + public function getGroups() + { + return $this->groups; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setOwner($owner) + { + $this->owner = $owner; + } + public function getOwner() + { + return $this->owner; + } + public function setPublicKeys($publicKeys) + { + $this->publicKeys = $publicKeys; + } + public function getPublicKeys() + { + return $this->publicKeys; + } + public function setSelfLink($selfLink) + { + $this->selfLink = $selfLink; + } + public function getSelfLink() + { + return $this->selfLink; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/CloudUserAccounts/UserList.php b/vendor/google/apiclient-services/src/Google/Service/CloudUserAccounts/UserList.php new file mode 100644 index 00000000..14ca859d --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/CloudUserAccounts/UserList.php @@ -0,0 +1,68 @@ +id = $id; + } + public function getId() + { + return $this->id; + } + public function setItems($items) + { + $this->items = $items; + } + public function getItems() + { + return $this->items; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setSelfLink($selfLink) + { + $this->selfLink = $selfLink; + } + public function getSelfLink() + { + return $this->selfLink; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Cloudbilling.php b/vendor/google/apiclient-services/src/Google/Service/Cloudbilling.php new file mode 100644 index 00000000..8ee068d0 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Cloudbilling.php @@ -0,0 +1,147 @@ + + * Allows developers to manage billing for their Google Cloud Platform projects + * programmatically.

+ * + *

+ * For more information about this service, see the API + * Documentation + *

+ * + * @author Google, Inc. + */ +class Google_Service_Cloudbilling extends Google_Service +{ + /** View and manage your data across Google Cloud Platform services. */ + const CLOUD_PLATFORM = + "https://www.googleapis.com/auth/cloud-platform"; + + public $billingAccounts; + public $billingAccounts_projects; + public $projects; + + /** + * Constructs the internal representation of the Cloudbilling service. + * + * @param Google_Client $client + */ + public function __construct(Google_Client $client) + { + parent::__construct($client); + $this->rootUrl = 'https://cloudbilling.googleapis.com/'; + $this->servicePath = ''; + $this->version = 'v1'; + $this->serviceName = 'cloudbilling'; + + $this->billingAccounts = new Google_Service_Cloudbilling_Resource_BillingAccounts( + $this, + $this->serviceName, + 'billingAccounts', + array( + 'methods' => array( + 'get' => array( + 'path' => 'v1/{+name}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'name' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'v1/billingAccounts', + 'httpMethod' => 'GET', + 'parameters' => array( + 'pageSize' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + $this->billingAccounts_projects = new Google_Service_Cloudbilling_Resource_BillingAccountsProjects( + $this, + $this->serviceName, + 'projects', + array( + 'methods' => array( + 'list' => array( + 'path' => 'v1/{+name}/projects', + 'httpMethod' => 'GET', + 'parameters' => array( + 'name' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'pageSize' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + $this->projects = new Google_Service_Cloudbilling_Resource_Projects( + $this, + $this->serviceName, + 'projects', + array( + 'methods' => array( + 'getBillingInfo' => array( + 'path' => 'v1/{+name}/billingInfo', + 'httpMethod' => 'GET', + 'parameters' => array( + 'name' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'updateBillingInfo' => array( + 'path' => 'v1/{+name}/billingInfo', + 'httpMethod' => 'PUT', + 'parameters' => array( + 'name' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Cloudbilling/BillingAccount.php b/vendor/google/apiclient-services/src/Google/Service/Cloudbilling/BillingAccount.php new file mode 100644 index 00000000..89fee313 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Cloudbilling/BillingAccount.php @@ -0,0 +1,48 @@ +displayName = $displayName; + } + public function getDisplayName() + { + return $this->displayName; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setOpen($open) + { + $this->open = $open; + } + public function getOpen() + { + return $this->open; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Cloudbilling/ListBillingAccountsResponse.php b/vendor/google/apiclient-services/src/Google/Service/Cloudbilling/ListBillingAccountsResponse.php new file mode 100644 index 00000000..79165eb4 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Cloudbilling/ListBillingAccountsResponse.php @@ -0,0 +1,41 @@ +billingAccounts = $billingAccounts; + } + public function getBillingAccounts() + { + return $this->billingAccounts; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Cloudbilling/ListProjectBillingInfoResponse.php b/vendor/google/apiclient-services/src/Google/Service/Cloudbilling/ListProjectBillingInfoResponse.php new file mode 100644 index 00000000..0b7ff5ff --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Cloudbilling/ListProjectBillingInfoResponse.php @@ -0,0 +1,41 @@ +nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setProjectBillingInfo($projectBillingInfo) + { + $this->projectBillingInfo = $projectBillingInfo; + } + public function getProjectBillingInfo() + { + return $this->projectBillingInfo; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Cloudbilling/ProjectBillingInfo.php b/vendor/google/apiclient-services/src/Google/Service/Cloudbilling/ProjectBillingInfo.php new file mode 100644 index 00000000..09e2e0fb --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Cloudbilling/ProjectBillingInfo.php @@ -0,0 +1,57 @@ +billingAccountName = $billingAccountName; + } + public function getBillingAccountName() + { + return $this->billingAccountName; + } + public function setBillingEnabled($billingEnabled) + { + $this->billingEnabled = $billingEnabled; + } + public function getBillingEnabled() + { + return $this->billingEnabled; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setProjectId($projectId) + { + $this->projectId = $projectId; + } + public function getProjectId() + { + return $this->projectId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Cloudbilling/Resource/BillingAccounts.php b/vendor/google/apiclient-services/src/Google/Service/Cloudbilling/Resource/BillingAccounts.php new file mode 100644 index 00000000..3adfa84d --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Cloudbilling/Resource/BillingAccounts.php @@ -0,0 +1,66 @@ + + * $cloudbillingService = new Google_Service_Cloudbilling(...); + * $billingAccounts = $cloudbillingService->billingAccounts; + * + */ +class Google_Service_Cloudbilling_Resource_BillingAccounts extends Google_Service_Resource +{ + /** + * Gets information about a billing account. The current authenticated user must + * be an [owner of the billing + * account](https://support.google.com/cloud/answer/4430947). + * (billingAccounts.get) + * + * @param string $name The resource name of the billing account to retrieve. For + * example, `billingAccounts/012345-567890-ABCDEF`. + * @param array $optParams Optional parameters. + * @return Google_Service_Cloudbilling_BillingAccount + */ + public function get($name, $optParams = array()) + { + $params = array('name' => $name); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Cloudbilling_BillingAccount"); + } + /** + * Lists the billing accounts that the current authenticated user + * [owns](https://support.google.com/cloud/answer/4430947). + * (billingAccounts.listBillingAccounts) + * + * @param array $optParams Optional parameters. + * + * @opt_param int pageSize Requested page size. The maximum page size is 100; + * this is also the default. + * @opt_param string pageToken A token identifying a page of results to return. + * This should be a `next_page_token` value returned from a previous + * `ListBillingAccounts` call. If unspecified, the first page of results is + * returned. + * @return Google_Service_Cloudbilling_ListBillingAccountsResponse + */ + public function listBillingAccounts($optParams = array()) + { + $params = array(); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Cloudbilling_ListBillingAccountsResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Cloudbilling/Resource/BillingAccountsProjects.php b/vendor/google/apiclient-services/src/Google/Service/Cloudbilling/Resource/BillingAccountsProjects.php new file mode 100644 index 00000000..7cd8ce59 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Cloudbilling/Resource/BillingAccountsProjects.php @@ -0,0 +1,53 @@ + + * $cloudbillingService = new Google_Service_Cloudbilling(...); + * $projects = $cloudbillingService->projects; + * + */ +class Google_Service_Cloudbilling_Resource_BillingAccountsProjects extends Google_Service_Resource +{ + /** + * Lists the projects associated with a billing account. The current + * authenticated user must be an [owner of the billing + * account](https://support.google.com/cloud/answer/4430947). + * (projects.listBillingAccountsProjects) + * + * @param string $name The resource name of the billing account associated with + * the projects that you want to list. For example, + * `billingAccounts/012345-567890-ABCDEF`. + * @param array $optParams Optional parameters. + * + * @opt_param int pageSize Requested page size. The maximum page size is 100; + * this is also the default. + * @opt_param string pageToken A token identifying a page of results to be + * returned. This should be a `next_page_token` value returned from a previous + * `ListProjectBillingInfo` call. If unspecified, the first page of results is + * returned. + * @return Google_Service_Cloudbilling_ListProjectBillingInfoResponse + */ + public function listBillingAccountsProjects($name, $optParams = array()) + { + $params = array('name' => $name); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Cloudbilling_ListProjectBillingInfoResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Cloudbilling/Resource/Projects.php b/vendor/google/apiclient-services/src/Google/Service/Cloudbilling/Resource/Projects.php new file mode 100644 index 00000000..222ebccf --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Cloudbilling/Resource/Projects.php @@ -0,0 +1,89 @@ + + * $cloudbillingService = new Google_Service_Cloudbilling(...); + * $projects = $cloudbillingService->projects; + * + */ +class Google_Service_Cloudbilling_Resource_Projects extends Google_Service_Resource +{ + /** + * Gets the billing information for a project. The current authenticated user + * must have [permission to view the project](https://cloud.google.com/docs + * /permissions-overview#h.bgs0oxofvnoo ). (projects.getBillingInfo) + * + * @param string $name The resource name of the project for which billing + * information is retrieved. For example, `projects/tokyo-rain-123`. + * @param array $optParams Optional parameters. + * @return Google_Service_Cloudbilling_ProjectBillingInfo + */ + public function getBillingInfo($name, $optParams = array()) + { + $params = array('name' => $name); + $params = array_merge($params, $optParams); + return $this->call('getBillingInfo', array($params), "Google_Service_Cloudbilling_ProjectBillingInfo"); + } + /** + * Sets or updates the billing account associated with a project. You specify + * the new billing account by setting the `billing_account_name` in the + * `ProjectBillingInfo` resource to the resource name of a billing account. + * Associating a project with an open billing account enables billing on the + * project and allows charges for resource usage. If the project already had a + * billing account, this method changes the billing account used for resource + * usage charges. + * + * *Note:* Incurred charges that have not yet been reported in the transaction + * history of the Google Cloud Console may be billed to the new billing account, + * even if the charge occurred before the new billing account was assigned to + * the project. + * + * The current authenticated user must have ownership privileges for both the + * [project](https://cloud.google.com/docs/permissions-overview#h.bgs0oxofvnoo ) + * and the [billing account](https://support.google.com/cloud/answer/4430947). + * + * You can disable billing on the project by setting the `billing_account_name` + * field to empty. This action disassociates the current billing account from + * the project. Any billable activity of your in-use services will stop, and + * your application could stop functioning as expected. Any unbilled charges to + * date will be billed to the previously associated account. The current + * authenticated user must be either an owner of the project or an owner of the + * billing account for the project. + * + * Note that associating a project with a *closed* billing account will have + * much the same effect as disabling billing on the project: any paid resources + * used by the project will be shut down. Thus, unless you wish to disable + * billing, you should always call this method with the name of an *open* + * billing account. (projects.updateBillingInfo) + * + * @param string $name The resource name of the project associated with the + * billing information that you want to update. For example, `projects/tokyo- + * rain-123`. + * @param Google_Service_Cloudbilling_ProjectBillingInfo $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Cloudbilling_ProjectBillingInfo + */ + public function updateBillingInfo($name, Google_Service_Cloudbilling_ProjectBillingInfo $postBody, $optParams = array()) + { + $params = array('name' => $name, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('updateBillingInfo', array($params), "Google_Service_Cloudbilling_ProjectBillingInfo"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Clouderrorreporting.php b/vendor/google/apiclient-services/src/Google/Service/Clouderrorreporting.php new file mode 100644 index 00000000..fce44e1b --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Clouderrorreporting.php @@ -0,0 +1,231 @@ + + * Stackdriver Error Reporting groups and counts similar errors from cloud + * services. The Stackdriver Error Reporting API provides a way to report new + * errors and read access to error groups and their associated errors.

+ * + *

+ * For more information about this service, see the API + * Documentation + *

+ * + * @author Google, Inc. + */ +class Google_Service_Clouderrorreporting extends Google_Service +{ + /** View and manage your data across Google Cloud Platform services. */ + const CLOUD_PLATFORM = + "https://www.googleapis.com/auth/cloud-platform"; + + public $projects; + public $projects_events; + public $projects_groupStats; + public $projects_groups; + + /** + * Constructs the internal representation of the Clouderrorreporting service. + * + * @param Google_Client $client + */ + public function __construct(Google_Client $client) + { + parent::__construct($client); + $this->rootUrl = 'https://clouderrorreporting.googleapis.com/'; + $this->servicePath = ''; + $this->version = 'v1beta1'; + $this->serviceName = 'clouderrorreporting'; + + $this->projects = new Google_Service_Clouderrorreporting_Resource_Projects( + $this, + $this->serviceName, + 'projects', + array( + 'methods' => array( + 'deleteEvents' => array( + 'path' => 'v1beta1/{+projectName}/events', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'projectName' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->projects_events = new Google_Service_Clouderrorreporting_Resource_ProjectsEvents( + $this, + $this->serviceName, + 'events', + array( + 'methods' => array( + 'list' => array( + 'path' => 'v1beta1/{+projectName}/events', + 'httpMethod' => 'GET', + 'parameters' => array( + 'projectName' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'groupId' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'serviceFilter.service' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pageSize' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'serviceFilter.version' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'serviceFilter.resourceType' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'timeRange.period' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'report' => array( + 'path' => 'v1beta1/{+projectName}/events:report', + 'httpMethod' => 'POST', + 'parameters' => array( + 'projectName' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->projects_groupStats = new Google_Service_Clouderrorreporting_Resource_ProjectsGroupStats( + $this, + $this->serviceName, + 'groupStats', + array( + 'methods' => array( + 'list' => array( + 'path' => 'v1beta1/{+projectName}/groupStats', + 'httpMethod' => 'GET', + 'parameters' => array( + 'projectName' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'timedCountDuration' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'timeRange.period' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'alignment' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'groupId' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + ), + 'serviceFilter.service' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pageSize' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'serviceFilter.version' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'order' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'serviceFilter.resourceType' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'alignmentTime' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + $this->projects_groups = new Google_Service_Clouderrorreporting_Resource_ProjectsGroups( + $this, + $this->serviceName, + 'groups', + array( + 'methods' => array( + 'get' => array( + 'path' => 'v1beta1/{+groupName}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'groupName' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'update' => array( + 'path' => 'v1beta1/{+name}', + 'httpMethod' => 'PUT', + 'parameters' => array( + 'name' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Clouderrorreporting/DeleteEventsResponse.php b/vendor/google/apiclient-services/src/Google/Service/Clouderrorreporting/DeleteEventsResponse.php new file mode 100644 index 00000000..967bddb6 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Clouderrorreporting/DeleteEventsResponse.php @@ -0,0 +1,20 @@ +httpRequest = $httpRequest; + } + public function getHttpRequest() + { + return $this->httpRequest; + } + public function setReportLocation(Google_Service_Clouderrorreporting_SourceLocation $reportLocation) + { + $this->reportLocation = $reportLocation; + } + public function getReportLocation() + { + return $this->reportLocation; + } + public function setUser($user) + { + $this->user = $user; + } + public function getUser() + { + return $this->user; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Clouderrorreporting/ErrorEvent.php b/vendor/google/apiclient-services/src/Google/Service/Clouderrorreporting/ErrorEvent.php new file mode 100644 index 00000000..762f70d1 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Clouderrorreporting/ErrorEvent.php @@ -0,0 +1,59 @@ +context = $context; + } + public function getContext() + { + return $this->context; + } + public function setEventTime($eventTime) + { + $this->eventTime = $eventTime; + } + public function getEventTime() + { + return $this->eventTime; + } + public function setMessage($message) + { + $this->message = $message; + } + public function getMessage() + { + return $this->message; + } + public function setServiceContext(Google_Service_Clouderrorreporting_ServiceContext $serviceContext) + { + $this->serviceContext = $serviceContext; + } + public function getServiceContext() + { + return $this->serviceContext; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Clouderrorreporting/ErrorGroup.php b/vendor/google/apiclient-services/src/Google/Service/Clouderrorreporting/ErrorGroup.php new file mode 100644 index 00000000..b31a8f56 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Clouderrorreporting/ErrorGroup.php @@ -0,0 +1,50 @@ +groupId = $groupId; + } + public function getGroupId() + { + return $this->groupId; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setTrackingIssues($trackingIssues) + { + $this->trackingIssues = $trackingIssues; + } + public function getTrackingIssues() + { + return $this->trackingIssues; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Clouderrorreporting/ErrorGroupStats.php b/vendor/google/apiclient-services/src/Google/Service/Clouderrorreporting/ErrorGroupStats.php new file mode 100644 index 00000000..d02e9ace --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Clouderrorreporting/ErrorGroupStats.php @@ -0,0 +1,107 @@ +affectedServices = $affectedServices; + } + public function getAffectedServices() + { + return $this->affectedServices; + } + public function setAffectedUsersCount($affectedUsersCount) + { + $this->affectedUsersCount = $affectedUsersCount; + } + public function getAffectedUsersCount() + { + return $this->affectedUsersCount; + } + public function setCount($count) + { + $this->count = $count; + } + public function getCount() + { + return $this->count; + } + public function setFirstSeenTime($firstSeenTime) + { + $this->firstSeenTime = $firstSeenTime; + } + public function getFirstSeenTime() + { + return $this->firstSeenTime; + } + public function setGroup(Google_Service_Clouderrorreporting_ErrorGroup $group) + { + $this->group = $group; + } + public function getGroup() + { + return $this->group; + } + public function setLastSeenTime($lastSeenTime) + { + $this->lastSeenTime = $lastSeenTime; + } + public function getLastSeenTime() + { + return $this->lastSeenTime; + } + public function setNumAffectedServices($numAffectedServices) + { + $this->numAffectedServices = $numAffectedServices; + } + public function getNumAffectedServices() + { + return $this->numAffectedServices; + } + public function setRepresentative(Google_Service_Clouderrorreporting_ErrorEvent $representative) + { + $this->representative = $representative; + } + public function getRepresentative() + { + return $this->representative; + } + public function setTimedCounts($timedCounts) + { + $this->timedCounts = $timedCounts; + } + public function getTimedCounts() + { + return $this->timedCounts; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Clouderrorreporting/HttpRequestContext.php b/vendor/google/apiclient-services/src/Google/Service/Clouderrorreporting/HttpRequestContext.php new file mode 100644 index 00000000..ef8c0125 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Clouderrorreporting/HttpRequestContext.php @@ -0,0 +1,75 @@ +method = $method; + } + public function getMethod() + { + return $this->method; + } + public function setReferrer($referrer) + { + $this->referrer = $referrer; + } + public function getReferrer() + { + return $this->referrer; + } + public function setRemoteIp($remoteIp) + { + $this->remoteIp = $remoteIp; + } + public function getRemoteIp() + { + return $this->remoteIp; + } + public function setResponseStatusCode($responseStatusCode) + { + $this->responseStatusCode = $responseStatusCode; + } + public function getResponseStatusCode() + { + return $this->responseStatusCode; + } + public function setUrl($url) + { + $this->url = $url; + } + public function getUrl() + { + return $this->url; + } + public function setUserAgent($userAgent) + { + $this->userAgent = $userAgent; + } + public function getUserAgent() + { + return $this->userAgent; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Clouderrorreporting/ListEventsResponse.php b/vendor/google/apiclient-services/src/Google/Service/Clouderrorreporting/ListEventsResponse.php new file mode 100644 index 00000000..8081c8b5 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Clouderrorreporting/ListEventsResponse.php @@ -0,0 +1,50 @@ +errorEvents = $errorEvents; + } + public function getErrorEvents() + { + return $this->errorEvents; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setTimeRangeBegin($timeRangeBegin) + { + $this->timeRangeBegin = $timeRangeBegin; + } + public function getTimeRangeBegin() + { + return $this->timeRangeBegin; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Clouderrorreporting/ListGroupStatsResponse.php b/vendor/google/apiclient-services/src/Google/Service/Clouderrorreporting/ListGroupStatsResponse.php new file mode 100644 index 00000000..a1339e0e --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Clouderrorreporting/ListGroupStatsResponse.php @@ -0,0 +1,50 @@ +errorGroupStats = $errorGroupStats; + } + public function getErrorGroupStats() + { + return $this->errorGroupStats; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setTimeRangeBegin($timeRangeBegin) + { + $this->timeRangeBegin = $timeRangeBegin; + } + public function getTimeRangeBegin() + { + return $this->timeRangeBegin; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Clouderrorreporting/ReportErrorEventResponse.php b/vendor/google/apiclient-services/src/Google/Service/Clouderrorreporting/ReportErrorEventResponse.php new file mode 100644 index 00000000..84b4ae18 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Clouderrorreporting/ReportErrorEventResponse.php @@ -0,0 +1,20 @@ +context = $context; + } + public function getContext() + { + return $this->context; + } + public function setEventTime($eventTime) + { + $this->eventTime = $eventTime; + } + public function getEventTime() + { + return $this->eventTime; + } + public function setMessage($message) + { + $this->message = $message; + } + public function getMessage() + { + return $this->message; + } + public function setServiceContext(Google_Service_Clouderrorreporting_ServiceContext $serviceContext) + { + $this->serviceContext = $serviceContext; + } + public function getServiceContext() + { + return $this->serviceContext; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Clouderrorreporting/Resource/Projects.php b/vendor/google/apiclient-services/src/Google/Service/Clouderrorreporting/Resource/Projects.php new file mode 100644 index 00000000..2d656604 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Clouderrorreporting/Resource/Projects.php @@ -0,0 +1,44 @@ + + * $clouderrorreportingService = new Google_Service_Clouderrorreporting(...); + * $projects = $clouderrorreportingService->projects; + * + */ +class Google_Service_Clouderrorreporting_Resource_Projects extends Google_Service_Resource +{ + /** + * Deletes all error events of a given project. (projects.deleteEvents) + * + * @param string $projectName [Required] The resource name of the Google Cloud + * Platform project. Written as `projects/` plus the [Google Cloud Platform + * project ID](https://support.google.com/cloud/answer/6158840). Example: + * `projects/my-project-123`. + * @param array $optParams Optional parameters. + * @return Google_Service_Clouderrorreporting_DeleteEventsResponse + */ + public function deleteEvents($projectName, $optParams = array()) + { + $params = array('projectName' => $projectName); + $params = array_merge($params, $optParams); + return $this->call('deleteEvents', array($params), "Google_Service_Clouderrorreporting_DeleteEventsResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Clouderrorreporting/Resource/ProjectsEvents.php b/vendor/google/apiclient-services/src/Google/Service/Clouderrorreporting/Resource/ProjectsEvents.php new file mode 100644 index 00000000..dd6ef5ae --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Clouderrorreporting/Resource/ProjectsEvents.php @@ -0,0 +1,85 @@ + + * $clouderrorreportingService = new Google_Service_Clouderrorreporting(...); + * $events = $clouderrorreportingService->events; + * + */ +class Google_Service_Clouderrorreporting_Resource_ProjectsEvents extends Google_Service_Resource +{ + /** + * Lists the specified events. (events.listProjectsEvents) + * + * @param string $projectName [Required] The resource name of the Google Cloud + * Platform project. Written as `projects/` plus the [Google Cloud Platform + * project ID](https://support.google.com/cloud/answer/6158840). Example: + * `projects/my-project-123`. + * @param array $optParams Optional parameters. + * + * @opt_param string groupId [Required] The group for which events shall be + * returned. + * @opt_param string pageToken [Optional] A `next_page_token` provided by a + * previous response. + * @opt_param string serviceFilter.service [Optional] The exact value to match + * against [`ServiceContext.service`](/error- + * reporting/reference/rest/v1beta1/ServiceContext#FIELDS.service). + * @opt_param int pageSize [Optional] The maximum number of results to return + * per response. + * @opt_param string serviceFilter.version [Optional] The exact value to match + * against [`ServiceContext.version`](/error- + * reporting/reference/rest/v1beta1/ServiceContext#FIELDS.version). + * @opt_param string serviceFilter.resourceType [Optional] The exact value to + * match against [`ServiceContext.resource_type`](/error- + * reporting/reference/rest/v1beta1/ServiceContext#FIELDS.resource_type). + * @opt_param string timeRange.period Restricts the query to the specified time + * range. + * @return Google_Service_Clouderrorreporting_ListEventsResponse + */ + public function listProjectsEvents($projectName, $optParams = array()) + { + $params = array('projectName' => $projectName); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Clouderrorreporting_ListEventsResponse"); + } + /** + * Report an individual error event. + * + * This endpoint accepts either an OAuth token, or an API key for + * authentication. To use an API key, append it to the URL as the value of a + * `key` parameter. For example: POST + * https://clouderrorreporting.googleapis.com/v1beta1/projects/example- + * project/events:report?key=123ABC456 (events.report) + * + * @param string $projectName [Required] The resource name of the Google Cloud + * Platform project. Written as `projects/` plus the [Google Cloud Platform + * project ID](https://support.google.com/cloud/answer/6158840). Example: + * `projects/my-project-123`. + * @param Google_Service_Clouderrorreporting_ReportedErrorEvent $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Clouderrorreporting_ReportErrorEventResponse + */ + public function report($projectName, Google_Service_Clouderrorreporting_ReportedErrorEvent $postBody, $optParams = array()) + { + $params = array('projectName' => $projectName, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('report', array($params), "Google_Service_Clouderrorreporting_ReportErrorEventResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Clouderrorreporting/Resource/ProjectsGroupStats.php b/vendor/google/apiclient-services/src/Google/Service/Clouderrorreporting/Resource/ProjectsGroupStats.php new file mode 100644 index 00000000..d1787fd0 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Clouderrorreporting/Resource/ProjectsGroupStats.php @@ -0,0 +1,71 @@ + + * $clouderrorreportingService = new Google_Service_Clouderrorreporting(...); + * $groupStats = $clouderrorreportingService->groupStats; + * + */ +class Google_Service_Clouderrorreporting_Resource_ProjectsGroupStats extends Google_Service_Resource +{ + /** + * Lists the specified groups. (groupStats.listProjectsGroupStats) + * + * @param string $projectName [Required] The resource name of the Google Cloud + * Platform project. Written as projects/ plus the Google Cloud Platform project + * ID. + * + * Example: projects/my-project-123. + * @param array $optParams Optional parameters. + * + * @opt_param string timedCountDuration [Optional] The preferred duration for a + * single returned `TimedCount`. If not set, no timed counts are returned. + * @opt_param string pageToken [Optional] A `next_page_token` provided by a + * previous response. To view additional results, pass this token along with the + * identical query parameters as the first request. + * @opt_param string timeRange.period Restricts the query to the specified time + * range. + * @opt_param string alignment [Optional] The alignment of the timed counts to + * be returned. Default is `ALIGNMENT_EQUAL_AT_END`. + * @opt_param string groupId [Optional] List all ErrorGroupStats with these IDs. + * @opt_param string serviceFilter.service [Optional] The exact value to match + * against [`ServiceContext.service`](/error- + * reporting/reference/rest/v1beta1/ServiceContext#FIELDS.service). + * @opt_param int pageSize [Optional] The maximum number of results to return + * per response. Default is 20. + * @opt_param string serviceFilter.version [Optional] The exact value to match + * against [`ServiceContext.version`](/error- + * reporting/reference/rest/v1beta1/ServiceContext#FIELDS.version). + * @opt_param string order [Optional] The sort order in which the results are + * returned. Default is `COUNT_DESC`. + * @opt_param string serviceFilter.resourceType [Optional] The exact value to + * match against [`ServiceContext.resource_type`](/error- + * reporting/reference/rest/v1beta1/ServiceContext#FIELDS.resource_type). + * @opt_param string alignmentTime [Optional] Time where the timed counts shall + * be aligned if rounded alignment is chosen. Default is 00:00 UTC. + * @return Google_Service_Clouderrorreporting_ListGroupStatsResponse + */ + public function listProjectsGroupStats($projectName, $optParams = array()) + { + $params = array('projectName' => $projectName); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Clouderrorreporting_ListGroupStatsResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Clouderrorreporting/Resource/ProjectsGroups.php b/vendor/google/apiclient-services/src/Google/Service/Clouderrorreporting/Resource/ProjectsGroups.php new file mode 100644 index 00000000..a75d8a28 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Clouderrorreporting/Resource/ProjectsGroups.php @@ -0,0 +1,62 @@ + + * $clouderrorreportingService = new Google_Service_Clouderrorreporting(...); + * $groups = $clouderrorreportingService->groups; + * + */ +class Google_Service_Clouderrorreporting_Resource_ProjectsGroups extends Google_Service_Resource +{ + /** + * Get the specified group. (groups.get) + * + * @param string $groupName [Required] The group resource name. Written as + * projects/projectID/groups/group_name. Call + * + * groupStats.list to return a list of groups belonging to this project. + * + * Example: projects/my-project-123/groups/my-group + * @param array $optParams Optional parameters. + * @return Google_Service_Clouderrorreporting_ErrorGroup + */ + public function get($groupName, $optParams = array()) + { + $params = array('groupName' => $groupName); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Clouderrorreporting_ErrorGroup"); + } + /** + * Replace the data for the specified group. Fails if the group does not exist. + * (groups.update) + * + * @param string $name The group resource name. Example: projects/my- + * project-123/groups/my-groupid + * @param Google_Service_Clouderrorreporting_ErrorGroup $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Clouderrorreporting_ErrorGroup + */ + public function update($name, Google_Service_Clouderrorreporting_ErrorGroup $postBody, $optParams = array()) + { + $params = array('name' => $name, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('update', array($params), "Google_Service_Clouderrorreporting_ErrorGroup"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Clouderrorreporting/ServiceContext.php b/vendor/google/apiclient-services/src/Google/Service/Clouderrorreporting/ServiceContext.php new file mode 100644 index 00000000..5c421858 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Clouderrorreporting/ServiceContext.php @@ -0,0 +1,48 @@ +resourceType = $resourceType; + } + public function getResourceType() + { + return $this->resourceType; + } + public function setService($service) + { + $this->service = $service; + } + public function getService() + { + return $this->service; + } + public function setVersion($version) + { + $this->version = $version; + } + public function getVersion() + { + return $this->version; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Clouderrorreporting/SourceLocation.php b/vendor/google/apiclient-services/src/Google/Service/Clouderrorreporting/SourceLocation.php new file mode 100644 index 00000000..0af36afa --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Clouderrorreporting/SourceLocation.php @@ -0,0 +1,48 @@ +filePath = $filePath; + } + public function getFilePath() + { + return $this->filePath; + } + public function setFunctionName($functionName) + { + $this->functionName = $functionName; + } + public function getFunctionName() + { + return $this->functionName; + } + public function setLineNumber($lineNumber) + { + $this->lineNumber = $lineNumber; + } + public function getLineNumber() + { + return $this->lineNumber; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Clouderrorreporting/TimedCount.php b/vendor/google/apiclient-services/src/Google/Service/Clouderrorreporting/TimedCount.php new file mode 100644 index 00000000..81bb63ae --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Clouderrorreporting/TimedCount.php @@ -0,0 +1,48 @@ +count = $count; + } + public function getCount() + { + return $this->count; + } + public function setEndTime($endTime) + { + $this->endTime = $endTime; + } + public function getEndTime() + { + return $this->endTime; + } + public function setStartTime($startTime) + { + $this->startTime = $startTime; + } + public function getStartTime() + { + return $this->startTime; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Clouderrorreporting/TrackingIssue.php b/vendor/google/apiclient-services/src/Google/Service/Clouderrorreporting/TrackingIssue.php new file mode 100644 index 00000000..d6595405 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Clouderrorreporting/TrackingIssue.php @@ -0,0 +1,30 @@ +url = $url; + } + public function getUrl() + { + return $this->url; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Cloudlatencytest.php b/vendor/google/apiclient-services/src/Google/Service/Cloudlatencytest.php new file mode 100644 index 00000000..c33743ab --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Cloudlatencytest.php @@ -0,0 +1,71 @@ + + * Reports latency data.

+ * + *

+ * For more information about this service, see the API + * Documentation + *

+ * + * @author Google, Inc. + */ +class Google_Service_Cloudlatencytest extends Google_Service +{ + /** View monitoring data for all of your Google Cloud and API projects. */ + const MONITORING_READONLY = + "https://www.googleapis.com/auth/monitoring.readonly"; + + public $statscollection; + + /** + * Constructs the internal representation of the Cloudlatencytest service. + * + * @param Google_Client $client + */ + public function __construct(Google_Client $client) + { + parent::__construct($client); + $this->rootUrl = 'https://cloudlatencytest-pa.googleapis.com/'; + $this->servicePath = 'v2/statscollection/'; + $this->version = 'v2'; + $this->serviceName = 'cloudlatencytest'; + + $this->statscollection = new Google_Service_Cloudlatencytest_StatscollectionResource( + $this, + $this->serviceName, + 'statscollection', + array( + 'methods' => array( + 'updateaggregatedstats' => array( + 'path' => 'updateaggregatedstats', + 'httpMethod' => 'POST', + 'parameters' => array(), + ),'updatestats' => array( + 'path' => 'updatestats', + 'httpMethod' => 'POST', + 'parameters' => array(), + ), + ) + ) + ); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Cloudlatencytest/AggregatedStats.php b/vendor/google/apiclient-services/src/Google/Service/Cloudlatencytest/AggregatedStats.php new file mode 100644 index 00000000..94d7d0af --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Cloudlatencytest/AggregatedStats.php @@ -0,0 +1,32 @@ +stats = $stats; + } + public function getStats() + { + return $this->stats; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Cloudlatencytest/AggregatedStatsReply.php b/vendor/google/apiclient-services/src/Google/Service/Cloudlatencytest/AggregatedStatsReply.php new file mode 100644 index 00000000..41230f5b --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Cloudlatencytest/AggregatedStatsReply.php @@ -0,0 +1,30 @@ +testValue = $testValue; + } + public function getTestValue() + { + return $this->testValue; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Cloudlatencytest/DoubleValue.php b/vendor/google/apiclient-services/src/Google/Service/Cloudlatencytest/DoubleValue.php new file mode 100644 index 00000000..02ec2e2f --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Cloudlatencytest/DoubleValue.php @@ -0,0 +1,39 @@ +label = $label; + } + public function getLabel() + { + return $this->label; + } + public function setValue($value) + { + $this->value = $value; + } + public function getValue() + { + return $this->value; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Cloudlatencytest/IntValue.php b/vendor/google/apiclient-services/src/Google/Service/Cloudlatencytest/IntValue.php new file mode 100644 index 00000000..53c5b93e --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Cloudlatencytest/IntValue.php @@ -0,0 +1,39 @@ +label = $label; + } + public function getLabel() + { + return $this->label; + } + public function setValue($value) + { + $this->value = $value; + } + public function getValue() + { + return $this->value; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Cloudlatencytest/Stats.php b/vendor/google/apiclient-services/src/Google/Service/Cloudlatencytest/Stats.php new file mode 100644 index 00000000..51e62a7e --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Cloudlatencytest/Stats.php @@ -0,0 +1,61 @@ +doubleValues = $doubleValues; + } + public function getDoubleValues() + { + return $this->doubleValues; + } + public function setIntValues($intValues) + { + $this->intValues = $intValues; + } + public function getIntValues() + { + return $this->intValues; + } + public function setStringValues($stringValues) + { + $this->stringValues = $stringValues; + } + public function getStringValues() + { + return $this->stringValues; + } + public function setTime($time) + { + $this->time = $time; + } + public function getTime() + { + return $this->time; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Cloudlatencytest/StatsReply.php b/vendor/google/apiclient-services/src/Google/Service/Cloudlatencytest/StatsReply.php new file mode 100644 index 00000000..238ae50e --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Cloudlatencytest/StatsReply.php @@ -0,0 +1,30 @@ +testValue = $testValue; + } + public function getTestValue() + { + return $this->testValue; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Cloudlatencytest/StatscollectionResource.php b/vendor/google/apiclient-services/src/Google/Service/Cloudlatencytest/StatscollectionResource.php new file mode 100644 index 00000000..3f9b41d3 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Cloudlatencytest/StatscollectionResource.php @@ -0,0 +1,54 @@ + + * $cloudlatencytestService = new Google_Service_Cloudlatencytest(...); + * $statscollection = $cloudlatencytestService->statscollection; + * + */ +class Google_Service_Cloudlatencytest_StatscollectionResource extends Google_Service_Resource +{ + /** + * RPC to update the new TCP stats. (statscollection.updateaggregatedstats) + * + * @param Google_Service_Cloudlatencytest_AggregatedStats $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Cloudlatencytest_AggregatedStatsReply + */ + public function updateaggregatedstats(Google_Service_Cloudlatencytest_AggregatedStats $postBody, $optParams = array()) + { + $params = array('postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('updateaggregatedstats', array($params), "Google_Service_Cloudlatencytest_AggregatedStatsReply"); + } + /** + * RPC to update the new TCP stats. (statscollection.updatestats) + * + * @param Google_Service_Cloudlatencytest_Stats $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Cloudlatencytest_StatsReply + */ + public function updatestats(Google_Service_Cloudlatencytest_Stats $postBody, $optParams = array()) + { + $params = array('postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('updatestats', array($params), "Google_Service_Cloudlatencytest_StatsReply"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Cloudlatencytest/StringValue.php b/vendor/google/apiclient-services/src/Google/Service/Cloudlatencytest/StringValue.php new file mode 100644 index 00000000..2d79f3ff --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Cloudlatencytest/StringValue.php @@ -0,0 +1,39 @@ +label = $label; + } + public function getLabel() + { + return $this->label; + } + public function setValue($value) + { + $this->value = $value; + } + public function getValue() + { + return $this->value; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute.php b/vendor/google/apiclient-services/src/Google/Service/Compute.php new file mode 100644 index 00000000..15627e1f --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute.php @@ -0,0 +1,5692 @@ + + * Creates and runs virtual machines on Google Cloud Platform.

+ * + *

+ * For more information about this service, see the API + * Documentation + *

+ * + * @author Google, Inc. + */ +class Google_Service_Compute extends Google_Service +{ + /** View and manage your data across Google Cloud Platform services. */ + const CLOUD_PLATFORM = + "https://www.googleapis.com/auth/cloud-platform"; + /** View and manage your Google Compute Engine resources. */ + const COMPUTE = + "https://www.googleapis.com/auth/compute"; + /** View your Google Compute Engine resources. */ + const COMPUTE_READONLY = + "https://www.googleapis.com/auth/compute.readonly"; + /** Manage your data and permissions in Google Cloud Storage. */ + const DEVSTORAGE_FULL_CONTROL = + "https://www.googleapis.com/auth/devstorage.full_control"; + /** View your data in Google Cloud Storage. */ + const DEVSTORAGE_READ_ONLY = + "https://www.googleapis.com/auth/devstorage.read_only"; + /** Manage your data in Google Cloud Storage. */ + const DEVSTORAGE_READ_WRITE = + "https://www.googleapis.com/auth/devstorage.read_write"; + + public $addresses; + public $autoscalers; + public $backendBuckets; + public $backendServices; + public $diskTypes; + public $disks; + public $firewalls; + public $forwardingRules; + public $globalAddresses; + public $globalForwardingRules; + public $globalOperations; + public $healthChecks; + public $httpHealthChecks; + public $httpsHealthChecks; + public $images; + public $instanceGroupManagers; + public $instanceGroups; + public $instanceTemplates; + public $instances; + public $licenses; + public $machineTypes; + public $networks; + public $projects; + public $regionAutoscalers; + public $regionBackendServices; + public $regionInstanceGroupManagers; + public $regionInstanceGroups; + public $regionOperations; + public $regions; + public $routers; + public $routes; + public $snapshots; + public $sslCertificates; + public $subnetworks; + public $targetHttpProxies; + public $targetHttpsProxies; + public $targetInstances; + public $targetPools; + public $targetSslProxies; + public $targetVpnGateways; + public $urlMaps; + public $vpnTunnels; + public $zoneOperations; + public $zones; + + /** + * Constructs the internal representation of the Compute service. + * + * @param Google_Client $client + */ + public function __construct(Google_Client $client) + { + parent::__construct($client); + $this->rootUrl = 'https://www.googleapis.com/'; + $this->servicePath = 'compute/v1/projects/'; + $this->version = 'v1'; + $this->serviceName = 'compute'; + + $this->addresses = new Google_Service_Compute_Resource_Addresses( + $this, + $this->serviceName, + 'addresses', + array( + 'methods' => array( + 'aggregatedList' => array( + 'path' => '{project}/aggregated/addresses', + 'httpMethod' => 'GET', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'filter' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'orderBy' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'delete' => array( + 'path' => '{project}/regions/{region}/addresses/{address}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'region' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'address' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'get' => array( + 'path' => '{project}/regions/{region}/addresses/{address}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'region' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'address' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'insert' => array( + 'path' => '{project}/regions/{region}/addresses', + 'httpMethod' => 'POST', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'region' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => '{project}/regions/{region}/addresses', + 'httpMethod' => 'GET', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'region' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'filter' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'orderBy' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + $this->autoscalers = new Google_Service_Compute_Resource_Autoscalers( + $this, + $this->serviceName, + 'autoscalers', + array( + 'methods' => array( + 'aggregatedList' => array( + 'path' => '{project}/aggregated/autoscalers', + 'httpMethod' => 'GET', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'filter' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'orderBy' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'delete' => array( + 'path' => '{project}/zones/{zone}/autoscalers/{autoscaler}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'zone' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'autoscaler' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'get' => array( + 'path' => '{project}/zones/{zone}/autoscalers/{autoscaler}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'zone' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'autoscaler' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'insert' => array( + 'path' => '{project}/zones/{zone}/autoscalers', + 'httpMethod' => 'POST', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'zone' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => '{project}/zones/{zone}/autoscalers', + 'httpMethod' => 'GET', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'zone' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'filter' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'orderBy' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'patch' => array( + 'path' => '{project}/zones/{zone}/autoscalers', + 'httpMethod' => 'PATCH', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'zone' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'autoscaler' => array( + 'location' => 'query', + 'type' => 'string', + 'required' => true, + ), + ), + ),'update' => array( + 'path' => '{project}/zones/{zone}/autoscalers', + 'httpMethod' => 'PUT', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'zone' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'autoscaler' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + $this->backendBuckets = new Google_Service_Compute_Resource_BackendBuckets( + $this, + $this->serviceName, + 'backendBuckets', + array( + 'methods' => array( + 'delete' => array( + 'path' => '{project}/global/backendBuckets/{backendBucket}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'backendBucket' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'get' => array( + 'path' => '{project}/global/backendBuckets/{backendBucket}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'backendBucket' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'insert' => array( + 'path' => '{project}/global/backendBuckets', + 'httpMethod' => 'POST', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => '{project}/global/backendBuckets', + 'httpMethod' => 'GET', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'filter' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'orderBy' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'patch' => array( + 'path' => '{project}/global/backendBuckets/{backendBucket}', + 'httpMethod' => 'PATCH', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'backendBucket' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'update' => array( + 'path' => '{project}/global/backendBuckets/{backendBucket}', + 'httpMethod' => 'PUT', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'backendBucket' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->backendServices = new Google_Service_Compute_Resource_BackendServices( + $this, + $this->serviceName, + 'backendServices', + array( + 'methods' => array( + 'aggregatedList' => array( + 'path' => '{project}/aggregated/backendServices', + 'httpMethod' => 'GET', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'filter' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'orderBy' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'delete' => array( + 'path' => '{project}/global/backendServices/{backendService}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'backendService' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'get' => array( + 'path' => '{project}/global/backendServices/{backendService}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'backendService' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'getHealth' => array( + 'path' => '{project}/global/backendServices/{backendService}/getHealth', + 'httpMethod' => 'POST', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'backendService' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'insert' => array( + 'path' => '{project}/global/backendServices', + 'httpMethod' => 'POST', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => '{project}/global/backendServices', + 'httpMethod' => 'GET', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'filter' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'orderBy' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'patch' => array( + 'path' => '{project}/global/backendServices/{backendService}', + 'httpMethod' => 'PATCH', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'backendService' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'update' => array( + 'path' => '{project}/global/backendServices/{backendService}', + 'httpMethod' => 'PUT', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'backendService' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->diskTypes = new Google_Service_Compute_Resource_DiskTypes( + $this, + $this->serviceName, + 'diskTypes', + array( + 'methods' => array( + 'aggregatedList' => array( + 'path' => '{project}/aggregated/diskTypes', + 'httpMethod' => 'GET', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'filter' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'orderBy' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'get' => array( + 'path' => '{project}/zones/{zone}/diskTypes/{diskType}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'zone' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'diskType' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => '{project}/zones/{zone}/diskTypes', + 'httpMethod' => 'GET', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'zone' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'filter' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'orderBy' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + $this->disks = new Google_Service_Compute_Resource_Disks( + $this, + $this->serviceName, + 'disks', + array( + 'methods' => array( + 'aggregatedList' => array( + 'path' => '{project}/aggregated/disks', + 'httpMethod' => 'GET', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'filter' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'orderBy' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'createSnapshot' => array( + 'path' => '{project}/zones/{zone}/disks/{disk}/createSnapshot', + 'httpMethod' => 'POST', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'zone' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'disk' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'guestFlush' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + ), + ),'delete' => array( + 'path' => '{project}/zones/{zone}/disks/{disk}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'zone' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'disk' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'get' => array( + 'path' => '{project}/zones/{zone}/disks/{disk}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'zone' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'disk' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'insert' => array( + 'path' => '{project}/zones/{zone}/disks', + 'httpMethod' => 'POST', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'zone' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'sourceImage' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'list' => array( + 'path' => '{project}/zones/{zone}/disks', + 'httpMethod' => 'GET', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'zone' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'filter' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'orderBy' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'resize' => array( + 'path' => '{project}/zones/{zone}/disks/{disk}/resize', + 'httpMethod' => 'POST', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'zone' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'disk' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->firewalls = new Google_Service_Compute_Resource_Firewalls( + $this, + $this->serviceName, + 'firewalls', + array( + 'methods' => array( + 'delete' => array( + 'path' => '{project}/global/firewalls/{firewall}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'firewall' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'get' => array( + 'path' => '{project}/global/firewalls/{firewall}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'firewall' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'insert' => array( + 'path' => '{project}/global/firewalls', + 'httpMethod' => 'POST', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => '{project}/global/firewalls', + 'httpMethod' => 'GET', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'filter' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'orderBy' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'patch' => array( + 'path' => '{project}/global/firewalls/{firewall}', + 'httpMethod' => 'PATCH', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'firewall' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'update' => array( + 'path' => '{project}/global/firewalls/{firewall}', + 'httpMethod' => 'PUT', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'firewall' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->forwardingRules = new Google_Service_Compute_Resource_ForwardingRules( + $this, + $this->serviceName, + 'forwardingRules', + array( + 'methods' => array( + 'aggregatedList' => array( + 'path' => '{project}/aggregated/forwardingRules', + 'httpMethod' => 'GET', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'filter' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'orderBy' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'delete' => array( + 'path' => '{project}/regions/{region}/forwardingRules/{forwardingRule}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'region' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'forwardingRule' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'get' => array( + 'path' => '{project}/regions/{region}/forwardingRules/{forwardingRule}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'region' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'forwardingRule' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'insert' => array( + 'path' => '{project}/regions/{region}/forwardingRules', + 'httpMethod' => 'POST', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'region' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => '{project}/regions/{region}/forwardingRules', + 'httpMethod' => 'GET', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'region' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'filter' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'orderBy' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'setTarget' => array( + 'path' => '{project}/regions/{region}/forwardingRules/{forwardingRule}/setTarget', + 'httpMethod' => 'POST', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'region' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'forwardingRule' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->globalAddresses = new Google_Service_Compute_Resource_GlobalAddresses( + $this, + $this->serviceName, + 'globalAddresses', + array( + 'methods' => array( + 'delete' => array( + 'path' => '{project}/global/addresses/{address}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'address' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'get' => array( + 'path' => '{project}/global/addresses/{address}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'address' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'insert' => array( + 'path' => '{project}/global/addresses', + 'httpMethod' => 'POST', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => '{project}/global/addresses', + 'httpMethod' => 'GET', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'filter' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'orderBy' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + $this->globalForwardingRules = new Google_Service_Compute_Resource_GlobalForwardingRules( + $this, + $this->serviceName, + 'globalForwardingRules', + array( + 'methods' => array( + 'delete' => array( + 'path' => '{project}/global/forwardingRules/{forwardingRule}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'forwardingRule' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'get' => array( + 'path' => '{project}/global/forwardingRules/{forwardingRule}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'forwardingRule' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'insert' => array( + 'path' => '{project}/global/forwardingRules', + 'httpMethod' => 'POST', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => '{project}/global/forwardingRules', + 'httpMethod' => 'GET', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'filter' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'orderBy' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'setTarget' => array( + 'path' => '{project}/global/forwardingRules/{forwardingRule}/setTarget', + 'httpMethod' => 'POST', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'forwardingRule' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->globalOperations = new Google_Service_Compute_Resource_GlobalOperations( + $this, + $this->serviceName, + 'globalOperations', + array( + 'methods' => array( + 'aggregatedList' => array( + 'path' => '{project}/aggregated/operations', + 'httpMethod' => 'GET', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'filter' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'orderBy' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'delete' => array( + 'path' => '{project}/global/operations/{operation}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'operation' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'get' => array( + 'path' => '{project}/global/operations/{operation}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'operation' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => '{project}/global/operations', + 'httpMethod' => 'GET', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'filter' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'orderBy' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + $this->healthChecks = new Google_Service_Compute_Resource_HealthChecks( + $this, + $this->serviceName, + 'healthChecks', + array( + 'methods' => array( + 'delete' => array( + 'path' => '{project}/global/healthChecks/{healthCheck}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'healthCheck' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'get' => array( + 'path' => '{project}/global/healthChecks/{healthCheck}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'healthCheck' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'insert' => array( + 'path' => '{project}/global/healthChecks', + 'httpMethod' => 'POST', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => '{project}/global/healthChecks', + 'httpMethod' => 'GET', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'filter' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'orderBy' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'patch' => array( + 'path' => '{project}/global/healthChecks/{healthCheck}', + 'httpMethod' => 'PATCH', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'healthCheck' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'update' => array( + 'path' => '{project}/global/healthChecks/{healthCheck}', + 'httpMethod' => 'PUT', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'healthCheck' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->httpHealthChecks = new Google_Service_Compute_Resource_HttpHealthChecks( + $this, + $this->serviceName, + 'httpHealthChecks', + array( + 'methods' => array( + 'delete' => array( + 'path' => '{project}/global/httpHealthChecks/{httpHealthCheck}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'httpHealthCheck' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'get' => array( + 'path' => '{project}/global/httpHealthChecks/{httpHealthCheck}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'httpHealthCheck' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'insert' => array( + 'path' => '{project}/global/httpHealthChecks', + 'httpMethod' => 'POST', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => '{project}/global/httpHealthChecks', + 'httpMethod' => 'GET', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'filter' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'orderBy' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'patch' => array( + 'path' => '{project}/global/httpHealthChecks/{httpHealthCheck}', + 'httpMethod' => 'PATCH', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'httpHealthCheck' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'update' => array( + 'path' => '{project}/global/httpHealthChecks/{httpHealthCheck}', + 'httpMethod' => 'PUT', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'httpHealthCheck' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->httpsHealthChecks = new Google_Service_Compute_Resource_HttpsHealthChecks( + $this, + $this->serviceName, + 'httpsHealthChecks', + array( + 'methods' => array( + 'delete' => array( + 'path' => '{project}/global/httpsHealthChecks/{httpsHealthCheck}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'httpsHealthCheck' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'get' => array( + 'path' => '{project}/global/httpsHealthChecks/{httpsHealthCheck}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'httpsHealthCheck' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'insert' => array( + 'path' => '{project}/global/httpsHealthChecks', + 'httpMethod' => 'POST', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => '{project}/global/httpsHealthChecks', + 'httpMethod' => 'GET', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'filter' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'orderBy' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'patch' => array( + 'path' => '{project}/global/httpsHealthChecks/{httpsHealthCheck}', + 'httpMethod' => 'PATCH', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'httpsHealthCheck' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'update' => array( + 'path' => '{project}/global/httpsHealthChecks/{httpsHealthCheck}', + 'httpMethod' => 'PUT', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'httpsHealthCheck' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->images = new Google_Service_Compute_Resource_Images( + $this, + $this->serviceName, + 'images', + array( + 'methods' => array( + 'delete' => array( + 'path' => '{project}/global/images/{image}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'image' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'deprecate' => array( + 'path' => '{project}/global/images/{image}/deprecate', + 'httpMethod' => 'POST', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'image' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'get' => array( + 'path' => '{project}/global/images/{image}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'image' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'getFromFamily' => array( + 'path' => '{project}/global/images/family/{family}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'family' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'insert' => array( + 'path' => '{project}/global/images', + 'httpMethod' => 'POST', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => '{project}/global/images', + 'httpMethod' => 'GET', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'filter' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'orderBy' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + $this->instanceGroupManagers = new Google_Service_Compute_Resource_InstanceGroupManagers( + $this, + $this->serviceName, + 'instanceGroupManagers', + array( + 'methods' => array( + 'abandonInstances' => array( + 'path' => '{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/abandonInstances', + 'httpMethod' => 'POST', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'zone' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'instanceGroupManager' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'aggregatedList' => array( + 'path' => '{project}/aggregated/instanceGroupManagers', + 'httpMethod' => 'GET', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'filter' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'orderBy' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'delete' => array( + 'path' => '{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'zone' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'instanceGroupManager' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'deleteInstances' => array( + 'path' => '{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/deleteInstances', + 'httpMethod' => 'POST', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'zone' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'instanceGroupManager' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'get' => array( + 'path' => '{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'zone' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'instanceGroupManager' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'insert' => array( + 'path' => '{project}/zones/{zone}/instanceGroupManagers', + 'httpMethod' => 'POST', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'zone' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => '{project}/zones/{zone}/instanceGroupManagers', + 'httpMethod' => 'GET', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'zone' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'filter' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'orderBy' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'listManagedInstances' => array( + 'path' => '{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/listManagedInstances', + 'httpMethod' => 'POST', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'zone' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'instanceGroupManager' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'filter' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'order_by' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'recreateInstances' => array( + 'path' => '{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/recreateInstances', + 'httpMethod' => 'POST', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'zone' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'instanceGroupManager' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'resize' => array( + 'path' => '{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/resize', + 'httpMethod' => 'POST', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'zone' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'instanceGroupManager' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'size' => array( + 'location' => 'query', + 'type' => 'integer', + 'required' => true, + ), + ), + ),'setInstanceTemplate' => array( + 'path' => '{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/setInstanceTemplate', + 'httpMethod' => 'POST', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'zone' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'instanceGroupManager' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'setTargetPools' => array( + 'path' => '{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/setTargetPools', + 'httpMethod' => 'POST', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'zone' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'instanceGroupManager' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->instanceGroups = new Google_Service_Compute_Resource_InstanceGroups( + $this, + $this->serviceName, + 'instanceGroups', + array( + 'methods' => array( + 'addInstances' => array( + 'path' => '{project}/zones/{zone}/instanceGroups/{instanceGroup}/addInstances', + 'httpMethod' => 'POST', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'zone' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'instanceGroup' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'aggregatedList' => array( + 'path' => '{project}/aggregated/instanceGroups', + 'httpMethod' => 'GET', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'filter' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'orderBy' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'delete' => array( + 'path' => '{project}/zones/{zone}/instanceGroups/{instanceGroup}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'zone' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'instanceGroup' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'get' => array( + 'path' => '{project}/zones/{zone}/instanceGroups/{instanceGroup}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'zone' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'instanceGroup' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'insert' => array( + 'path' => '{project}/zones/{zone}/instanceGroups', + 'httpMethod' => 'POST', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'zone' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => '{project}/zones/{zone}/instanceGroups', + 'httpMethod' => 'GET', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'zone' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'filter' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'orderBy' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'listInstances' => array( + 'path' => '{project}/zones/{zone}/instanceGroups/{instanceGroup}/listInstances', + 'httpMethod' => 'POST', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'zone' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'instanceGroup' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'filter' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'orderBy' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'removeInstances' => array( + 'path' => '{project}/zones/{zone}/instanceGroups/{instanceGroup}/removeInstances', + 'httpMethod' => 'POST', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'zone' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'instanceGroup' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'setNamedPorts' => array( + 'path' => '{project}/zones/{zone}/instanceGroups/{instanceGroup}/setNamedPorts', + 'httpMethod' => 'POST', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'zone' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'instanceGroup' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->instanceTemplates = new Google_Service_Compute_Resource_InstanceTemplates( + $this, + $this->serviceName, + 'instanceTemplates', + array( + 'methods' => array( + 'delete' => array( + 'path' => '{project}/global/instanceTemplates/{instanceTemplate}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'instanceTemplate' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'get' => array( + 'path' => '{project}/global/instanceTemplates/{instanceTemplate}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'instanceTemplate' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'insert' => array( + 'path' => '{project}/global/instanceTemplates', + 'httpMethod' => 'POST', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => '{project}/global/instanceTemplates', + 'httpMethod' => 'GET', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'filter' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'orderBy' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + $this->instances = new Google_Service_Compute_Resource_Instances( + $this, + $this->serviceName, + 'instances', + array( + 'methods' => array( + 'addAccessConfig' => array( + 'path' => '{project}/zones/{zone}/instances/{instance}/addAccessConfig', + 'httpMethod' => 'POST', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'zone' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'instance' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'networkInterface' => array( + 'location' => 'query', + 'type' => 'string', + 'required' => true, + ), + ), + ),'aggregatedList' => array( + 'path' => '{project}/aggregated/instances', + 'httpMethod' => 'GET', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'filter' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'orderBy' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'attachDisk' => array( + 'path' => '{project}/zones/{zone}/instances/{instance}/attachDisk', + 'httpMethod' => 'POST', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'zone' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'instance' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'delete' => array( + 'path' => '{project}/zones/{zone}/instances/{instance}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'zone' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'instance' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'deleteAccessConfig' => array( + 'path' => '{project}/zones/{zone}/instances/{instance}/deleteAccessConfig', + 'httpMethod' => 'POST', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'zone' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'instance' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'accessConfig' => array( + 'location' => 'query', + 'type' => 'string', + 'required' => true, + ), + 'networkInterface' => array( + 'location' => 'query', + 'type' => 'string', + 'required' => true, + ), + ), + ),'detachDisk' => array( + 'path' => '{project}/zones/{zone}/instances/{instance}/detachDisk', + 'httpMethod' => 'POST', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'zone' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'instance' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'deviceName' => array( + 'location' => 'query', + 'type' => 'string', + 'required' => true, + ), + ), + ),'get' => array( + 'path' => '{project}/zones/{zone}/instances/{instance}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'zone' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'instance' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'getSerialPortOutput' => array( + 'path' => '{project}/zones/{zone}/instances/{instance}/serialPort', + 'httpMethod' => 'GET', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'zone' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'instance' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'port' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'start' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'insert' => array( + 'path' => '{project}/zones/{zone}/instances', + 'httpMethod' => 'POST', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'zone' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => '{project}/zones/{zone}/instances', + 'httpMethod' => 'GET', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'zone' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'filter' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'orderBy' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'reset' => array( + 'path' => '{project}/zones/{zone}/instances/{instance}/reset', + 'httpMethod' => 'POST', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'zone' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'instance' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'setDiskAutoDelete' => array( + 'path' => '{project}/zones/{zone}/instances/{instance}/setDiskAutoDelete', + 'httpMethod' => 'POST', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'zone' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'instance' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'autoDelete' => array( + 'location' => 'query', + 'type' => 'boolean', + 'required' => true, + ), + 'deviceName' => array( + 'location' => 'query', + 'type' => 'string', + 'required' => true, + ), + ), + ),'setMachineType' => array( + 'path' => '{project}/zones/{zone}/instances/{instance}/setMachineType', + 'httpMethod' => 'POST', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'zone' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'instance' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'setMetadata' => array( + 'path' => '{project}/zones/{zone}/instances/{instance}/setMetadata', + 'httpMethod' => 'POST', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'zone' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'instance' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'setScheduling' => array( + 'path' => '{project}/zones/{zone}/instances/{instance}/setScheduling', + 'httpMethod' => 'POST', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'zone' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'instance' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'setServiceAccount' => array( + 'path' => '{project}/zones/{zone}/instances/{instance}/setServiceAccount', + 'httpMethod' => 'POST', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'zone' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'instance' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'setTags' => array( + 'path' => '{project}/zones/{zone}/instances/{instance}/setTags', + 'httpMethod' => 'POST', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'zone' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'instance' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'start' => array( + 'path' => '{project}/zones/{zone}/instances/{instance}/start', + 'httpMethod' => 'POST', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'zone' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'instance' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'startWithEncryptionKey' => array( + 'path' => '{project}/zones/{zone}/instances/{instance}/startWithEncryptionKey', + 'httpMethod' => 'POST', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'zone' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'instance' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'stop' => array( + 'path' => '{project}/zones/{zone}/instances/{instance}/stop', + 'httpMethod' => 'POST', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'zone' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'instance' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->licenses = new Google_Service_Compute_Resource_Licenses( + $this, + $this->serviceName, + 'licenses', + array( + 'methods' => array( + 'get' => array( + 'path' => '{project}/global/licenses/{license}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'license' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->machineTypes = new Google_Service_Compute_Resource_MachineTypes( + $this, + $this->serviceName, + 'machineTypes', + array( + 'methods' => array( + 'aggregatedList' => array( + 'path' => '{project}/aggregated/machineTypes', + 'httpMethod' => 'GET', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'filter' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'orderBy' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'get' => array( + 'path' => '{project}/zones/{zone}/machineTypes/{machineType}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'zone' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'machineType' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => '{project}/zones/{zone}/machineTypes', + 'httpMethod' => 'GET', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'zone' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'filter' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'orderBy' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + $this->networks = new Google_Service_Compute_Resource_Networks( + $this, + $this->serviceName, + 'networks', + array( + 'methods' => array( + 'delete' => array( + 'path' => '{project}/global/networks/{network}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'network' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'get' => array( + 'path' => '{project}/global/networks/{network}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'network' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'insert' => array( + 'path' => '{project}/global/networks', + 'httpMethod' => 'POST', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => '{project}/global/networks', + 'httpMethod' => 'GET', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'filter' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'orderBy' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'switchToCustomMode' => array( + 'path' => '{project}/global/networks/{network}/switchToCustomMode', + 'httpMethod' => 'POST', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'network' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->projects = new Google_Service_Compute_Resource_Projects( + $this, + $this->serviceName, + 'projects', + array( + 'methods' => array( + 'get' => array( + 'path' => '{project}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'moveDisk' => array( + 'path' => '{project}/moveDisk', + 'httpMethod' => 'POST', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'moveInstance' => array( + 'path' => '{project}/moveInstance', + 'httpMethod' => 'POST', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'setCommonInstanceMetadata' => array( + 'path' => '{project}/setCommonInstanceMetadata', + 'httpMethod' => 'POST', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'setUsageExportBucket' => array( + 'path' => '{project}/setUsageExportBucket', + 'httpMethod' => 'POST', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->regionAutoscalers = new Google_Service_Compute_Resource_RegionAutoscalers( + $this, + $this->serviceName, + 'regionAutoscalers', + array( + 'methods' => array( + 'delete' => array( + 'path' => '{project}/regions/{region}/autoscalers/{autoscaler}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'region' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'autoscaler' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'get' => array( + 'path' => '{project}/regions/{region}/autoscalers/{autoscaler}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'region' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'autoscaler' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'insert' => array( + 'path' => '{project}/regions/{region}/autoscalers', + 'httpMethod' => 'POST', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'region' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => '{project}/regions/{region}/autoscalers', + 'httpMethod' => 'GET', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'region' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'filter' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'orderBy' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'patch' => array( + 'path' => '{project}/regions/{region}/autoscalers', + 'httpMethod' => 'PATCH', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'region' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'autoscaler' => array( + 'location' => 'query', + 'type' => 'string', + 'required' => true, + ), + ), + ),'update' => array( + 'path' => '{project}/regions/{region}/autoscalers', + 'httpMethod' => 'PUT', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'region' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'autoscaler' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + $this->regionBackendServices = new Google_Service_Compute_Resource_RegionBackendServices( + $this, + $this->serviceName, + 'regionBackendServices', + array( + 'methods' => array( + 'delete' => array( + 'path' => '{project}/regions/{region}/backendServices/{backendService}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'region' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'backendService' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'get' => array( + 'path' => '{project}/regions/{region}/backendServices/{backendService}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'region' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'backendService' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'getHealth' => array( + 'path' => '{project}/regions/{region}/backendServices/{backendService}/getHealth', + 'httpMethod' => 'POST', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'region' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'backendService' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'insert' => array( + 'path' => '{project}/regions/{region}/backendServices', + 'httpMethod' => 'POST', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'region' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => '{project}/regions/{region}/backendServices', + 'httpMethod' => 'GET', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'region' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'filter' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'orderBy' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'patch' => array( + 'path' => '{project}/regions/{region}/backendServices/{backendService}', + 'httpMethod' => 'PATCH', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'region' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'backendService' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'update' => array( + 'path' => '{project}/regions/{region}/backendServices/{backendService}', + 'httpMethod' => 'PUT', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'region' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'backendService' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->regionInstanceGroupManagers = new Google_Service_Compute_Resource_RegionInstanceGroupManagers( + $this, + $this->serviceName, + 'regionInstanceGroupManagers', + array( + 'methods' => array( + 'abandonInstances' => array( + 'path' => '{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/abandonInstances', + 'httpMethod' => 'POST', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'region' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'instanceGroupManager' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'delete' => array( + 'path' => '{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'region' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'instanceGroupManager' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'deleteInstances' => array( + 'path' => '{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/deleteInstances', + 'httpMethod' => 'POST', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'region' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'instanceGroupManager' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'get' => array( + 'path' => '{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'region' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'instanceGroupManager' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'insert' => array( + 'path' => '{project}/regions/{region}/instanceGroupManagers', + 'httpMethod' => 'POST', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'region' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => '{project}/regions/{region}/instanceGroupManagers', + 'httpMethod' => 'GET', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'region' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'filter' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'orderBy' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'listManagedInstances' => array( + 'path' => '{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/listManagedInstances', + 'httpMethod' => 'POST', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'region' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'instanceGroupManager' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'filter' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'order_by' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'recreateInstances' => array( + 'path' => '{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/recreateInstances', + 'httpMethod' => 'POST', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'region' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'instanceGroupManager' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'resize' => array( + 'path' => '{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/resize', + 'httpMethod' => 'POST', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'region' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'instanceGroupManager' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'size' => array( + 'location' => 'query', + 'type' => 'integer', + 'required' => true, + ), + ), + ),'setInstanceTemplate' => array( + 'path' => '{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/setInstanceTemplate', + 'httpMethod' => 'POST', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'region' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'instanceGroupManager' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'setTargetPools' => array( + 'path' => '{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/setTargetPools', + 'httpMethod' => 'POST', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'region' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'instanceGroupManager' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->regionInstanceGroups = new Google_Service_Compute_Resource_RegionInstanceGroups( + $this, + $this->serviceName, + 'regionInstanceGroups', + array( + 'methods' => array( + 'get' => array( + 'path' => '{project}/regions/{region}/instanceGroups/{instanceGroup}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'region' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'instanceGroup' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => '{project}/regions/{region}/instanceGroups', + 'httpMethod' => 'GET', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'region' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'filter' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'orderBy' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'listInstances' => array( + 'path' => '{project}/regions/{region}/instanceGroups/{instanceGroup}/listInstances', + 'httpMethod' => 'POST', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'region' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'instanceGroup' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'filter' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'orderBy' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'setNamedPorts' => array( + 'path' => '{project}/regions/{region}/instanceGroups/{instanceGroup}/setNamedPorts', + 'httpMethod' => 'POST', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'region' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'instanceGroup' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->regionOperations = new Google_Service_Compute_Resource_RegionOperations( + $this, + $this->serviceName, + 'regionOperations', + array( + 'methods' => array( + 'delete' => array( + 'path' => '{project}/regions/{region}/operations/{operation}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'region' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'operation' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'get' => array( + 'path' => '{project}/regions/{region}/operations/{operation}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'region' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'operation' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => '{project}/regions/{region}/operations', + 'httpMethod' => 'GET', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'region' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'filter' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'orderBy' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + $this->regions = new Google_Service_Compute_Resource_Regions( + $this, + $this->serviceName, + 'regions', + array( + 'methods' => array( + 'get' => array( + 'path' => '{project}/regions/{region}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'region' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => '{project}/regions', + 'httpMethod' => 'GET', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'filter' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'orderBy' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + $this->routers = new Google_Service_Compute_Resource_Routers( + $this, + $this->serviceName, + 'routers', + array( + 'methods' => array( + 'aggregatedList' => array( + 'path' => '{project}/aggregated/routers', + 'httpMethod' => 'GET', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'filter' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'orderBy' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'delete' => array( + 'path' => '{project}/regions/{region}/routers/{router}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'region' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'router' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'get' => array( + 'path' => '{project}/regions/{region}/routers/{router}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'region' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'router' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'getRouterStatus' => array( + 'path' => '{project}/regions/{region}/routers/{router}/getRouterStatus', + 'httpMethod' => 'GET', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'region' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'router' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'insert' => array( + 'path' => '{project}/regions/{region}/routers', + 'httpMethod' => 'POST', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'region' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => '{project}/regions/{region}/routers', + 'httpMethod' => 'GET', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'region' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'filter' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'orderBy' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'patch' => array( + 'path' => '{project}/regions/{region}/routers/{router}', + 'httpMethod' => 'PATCH', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'region' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'router' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'preview' => array( + 'path' => '{project}/regions/{region}/routers/{router}/preview', + 'httpMethod' => 'POST', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'region' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'router' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'update' => array( + 'path' => '{project}/regions/{region}/routers/{router}', + 'httpMethod' => 'PUT', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'region' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'router' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->routes = new Google_Service_Compute_Resource_Routes( + $this, + $this->serviceName, + 'routes', + array( + 'methods' => array( + 'delete' => array( + 'path' => '{project}/global/routes/{route}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'route' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'get' => array( + 'path' => '{project}/global/routes/{route}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'route' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'insert' => array( + 'path' => '{project}/global/routes', + 'httpMethod' => 'POST', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => '{project}/global/routes', + 'httpMethod' => 'GET', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'filter' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'orderBy' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + $this->snapshots = new Google_Service_Compute_Resource_Snapshots( + $this, + $this->serviceName, + 'snapshots', + array( + 'methods' => array( + 'delete' => array( + 'path' => '{project}/global/snapshots/{snapshot}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'snapshot' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'get' => array( + 'path' => '{project}/global/snapshots/{snapshot}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'snapshot' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => '{project}/global/snapshots', + 'httpMethod' => 'GET', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'filter' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'orderBy' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + $this->sslCertificates = new Google_Service_Compute_Resource_SslCertificates( + $this, + $this->serviceName, + 'sslCertificates', + array( + 'methods' => array( + 'delete' => array( + 'path' => '{project}/global/sslCertificates/{sslCertificate}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'sslCertificate' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'get' => array( + 'path' => '{project}/global/sslCertificates/{sslCertificate}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'sslCertificate' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'insert' => array( + 'path' => '{project}/global/sslCertificates', + 'httpMethod' => 'POST', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => '{project}/global/sslCertificates', + 'httpMethod' => 'GET', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'filter' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'orderBy' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + $this->subnetworks = new Google_Service_Compute_Resource_Subnetworks( + $this, + $this->serviceName, + 'subnetworks', + array( + 'methods' => array( + 'aggregatedList' => array( + 'path' => '{project}/aggregated/subnetworks', + 'httpMethod' => 'GET', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'filter' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'orderBy' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'delete' => array( + 'path' => '{project}/regions/{region}/subnetworks/{subnetwork}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'region' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'subnetwork' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'expandIpCidrRange' => array( + 'path' => '{project}/regions/{region}/subnetworks/{subnetwork}/expandIpCidrRange', + 'httpMethod' => 'POST', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'region' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'subnetwork' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'get' => array( + 'path' => '{project}/regions/{region}/subnetworks/{subnetwork}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'region' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'subnetwork' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'insert' => array( + 'path' => '{project}/regions/{region}/subnetworks', + 'httpMethod' => 'POST', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'region' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => '{project}/regions/{region}/subnetworks', + 'httpMethod' => 'GET', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'region' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'filter' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'orderBy' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + $this->targetHttpProxies = new Google_Service_Compute_Resource_TargetHttpProxies( + $this, + $this->serviceName, + 'targetHttpProxies', + array( + 'methods' => array( + 'delete' => array( + 'path' => '{project}/global/targetHttpProxies/{targetHttpProxy}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'targetHttpProxy' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'get' => array( + 'path' => '{project}/global/targetHttpProxies/{targetHttpProxy}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'targetHttpProxy' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'insert' => array( + 'path' => '{project}/global/targetHttpProxies', + 'httpMethod' => 'POST', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => '{project}/global/targetHttpProxies', + 'httpMethod' => 'GET', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'filter' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'orderBy' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'setUrlMap' => array( + 'path' => '{project}/targetHttpProxies/{targetHttpProxy}/setUrlMap', + 'httpMethod' => 'POST', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'targetHttpProxy' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->targetHttpsProxies = new Google_Service_Compute_Resource_TargetHttpsProxies( + $this, + $this->serviceName, + 'targetHttpsProxies', + array( + 'methods' => array( + 'delete' => array( + 'path' => '{project}/global/targetHttpsProxies/{targetHttpsProxy}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'targetHttpsProxy' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'get' => array( + 'path' => '{project}/global/targetHttpsProxies/{targetHttpsProxy}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'targetHttpsProxy' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'insert' => array( + 'path' => '{project}/global/targetHttpsProxies', + 'httpMethod' => 'POST', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => '{project}/global/targetHttpsProxies', + 'httpMethod' => 'GET', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'filter' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'orderBy' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'setSslCertificates' => array( + 'path' => '{project}/targetHttpsProxies/{targetHttpsProxy}/setSslCertificates', + 'httpMethod' => 'POST', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'targetHttpsProxy' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'setUrlMap' => array( + 'path' => '{project}/targetHttpsProxies/{targetHttpsProxy}/setUrlMap', + 'httpMethod' => 'POST', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'targetHttpsProxy' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->targetInstances = new Google_Service_Compute_Resource_TargetInstances( + $this, + $this->serviceName, + 'targetInstances', + array( + 'methods' => array( + 'aggregatedList' => array( + 'path' => '{project}/aggregated/targetInstances', + 'httpMethod' => 'GET', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'filter' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'orderBy' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'delete' => array( + 'path' => '{project}/zones/{zone}/targetInstances/{targetInstance}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'zone' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'targetInstance' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'get' => array( + 'path' => '{project}/zones/{zone}/targetInstances/{targetInstance}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'zone' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'targetInstance' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'insert' => array( + 'path' => '{project}/zones/{zone}/targetInstances', + 'httpMethod' => 'POST', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'zone' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => '{project}/zones/{zone}/targetInstances', + 'httpMethod' => 'GET', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'zone' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'filter' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'orderBy' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + $this->targetPools = new Google_Service_Compute_Resource_TargetPools( + $this, + $this->serviceName, + 'targetPools', + array( + 'methods' => array( + 'addHealthCheck' => array( + 'path' => '{project}/regions/{region}/targetPools/{targetPool}/addHealthCheck', + 'httpMethod' => 'POST', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'region' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'targetPool' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'addInstance' => array( + 'path' => '{project}/regions/{region}/targetPools/{targetPool}/addInstance', + 'httpMethod' => 'POST', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'region' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'targetPool' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'aggregatedList' => array( + 'path' => '{project}/aggregated/targetPools', + 'httpMethod' => 'GET', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'filter' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'orderBy' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'delete' => array( + 'path' => '{project}/regions/{region}/targetPools/{targetPool}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'region' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'targetPool' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'get' => array( + 'path' => '{project}/regions/{region}/targetPools/{targetPool}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'region' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'targetPool' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'getHealth' => array( + 'path' => '{project}/regions/{region}/targetPools/{targetPool}/getHealth', + 'httpMethod' => 'POST', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'region' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'targetPool' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'insert' => array( + 'path' => '{project}/regions/{region}/targetPools', + 'httpMethod' => 'POST', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'region' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => '{project}/regions/{region}/targetPools', + 'httpMethod' => 'GET', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'region' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'filter' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'orderBy' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'removeHealthCheck' => array( + 'path' => '{project}/regions/{region}/targetPools/{targetPool}/removeHealthCheck', + 'httpMethod' => 'POST', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'region' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'targetPool' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'removeInstance' => array( + 'path' => '{project}/regions/{region}/targetPools/{targetPool}/removeInstance', + 'httpMethod' => 'POST', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'region' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'targetPool' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'setBackup' => array( + 'path' => '{project}/regions/{region}/targetPools/{targetPool}/setBackup', + 'httpMethod' => 'POST', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'region' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'targetPool' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'failoverRatio' => array( + 'location' => 'query', + 'type' => 'number', + ), + ), + ), + ) + ) + ); + $this->targetSslProxies = new Google_Service_Compute_Resource_TargetSslProxies( + $this, + $this->serviceName, + 'targetSslProxies', + array( + 'methods' => array( + 'delete' => array( + 'path' => '{project}/global/targetSslProxies/{targetSslProxy}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'targetSslProxy' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'get' => array( + 'path' => '{project}/global/targetSslProxies/{targetSslProxy}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'targetSslProxy' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'insert' => array( + 'path' => '{project}/global/targetSslProxies', + 'httpMethod' => 'POST', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => '{project}/global/targetSslProxies', + 'httpMethod' => 'GET', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'filter' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'orderBy' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'setBackendService' => array( + 'path' => '{project}/global/targetSslProxies/{targetSslProxy}/setBackendService', + 'httpMethod' => 'POST', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'targetSslProxy' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'setProxyHeader' => array( + 'path' => '{project}/global/targetSslProxies/{targetSslProxy}/setProxyHeader', + 'httpMethod' => 'POST', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'targetSslProxy' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'setSslCertificates' => array( + 'path' => '{project}/global/targetSslProxies/{targetSslProxy}/setSslCertificates', + 'httpMethod' => 'POST', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'targetSslProxy' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->targetVpnGateways = new Google_Service_Compute_Resource_TargetVpnGateways( + $this, + $this->serviceName, + 'targetVpnGateways', + array( + 'methods' => array( + 'aggregatedList' => array( + 'path' => '{project}/aggregated/targetVpnGateways', + 'httpMethod' => 'GET', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'filter' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'orderBy' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'delete' => array( + 'path' => '{project}/regions/{region}/targetVpnGateways/{targetVpnGateway}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'region' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'targetVpnGateway' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'get' => array( + 'path' => '{project}/regions/{region}/targetVpnGateways/{targetVpnGateway}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'region' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'targetVpnGateway' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'insert' => array( + 'path' => '{project}/regions/{region}/targetVpnGateways', + 'httpMethod' => 'POST', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'region' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => '{project}/regions/{region}/targetVpnGateways', + 'httpMethod' => 'GET', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'region' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'filter' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'orderBy' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + $this->urlMaps = new Google_Service_Compute_Resource_UrlMaps( + $this, + $this->serviceName, + 'urlMaps', + array( + 'methods' => array( + 'delete' => array( + 'path' => '{project}/global/urlMaps/{urlMap}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'urlMap' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'get' => array( + 'path' => '{project}/global/urlMaps/{urlMap}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'urlMap' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'insert' => array( + 'path' => '{project}/global/urlMaps', + 'httpMethod' => 'POST', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'invalidateCache' => array( + 'path' => '{project}/global/urlMaps/{urlMap}/invalidateCache', + 'httpMethod' => 'POST', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'urlMap' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => '{project}/global/urlMaps', + 'httpMethod' => 'GET', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'filter' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'orderBy' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'patch' => array( + 'path' => '{project}/global/urlMaps/{urlMap}', + 'httpMethod' => 'PATCH', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'urlMap' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'update' => array( + 'path' => '{project}/global/urlMaps/{urlMap}', + 'httpMethod' => 'PUT', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'urlMap' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'validate' => array( + 'path' => '{project}/global/urlMaps/{urlMap}/validate', + 'httpMethod' => 'POST', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'urlMap' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->vpnTunnels = new Google_Service_Compute_Resource_VpnTunnels( + $this, + $this->serviceName, + 'vpnTunnels', + array( + 'methods' => array( + 'aggregatedList' => array( + 'path' => '{project}/aggregated/vpnTunnels', + 'httpMethod' => 'GET', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'filter' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'orderBy' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'delete' => array( + 'path' => '{project}/regions/{region}/vpnTunnels/{vpnTunnel}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'region' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'vpnTunnel' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'get' => array( + 'path' => '{project}/regions/{region}/vpnTunnels/{vpnTunnel}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'region' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'vpnTunnel' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'insert' => array( + 'path' => '{project}/regions/{region}/vpnTunnels', + 'httpMethod' => 'POST', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'region' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => '{project}/regions/{region}/vpnTunnels', + 'httpMethod' => 'GET', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'region' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'filter' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'orderBy' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + $this->zoneOperations = new Google_Service_Compute_Resource_ZoneOperations( + $this, + $this->serviceName, + 'zoneOperations', + array( + 'methods' => array( + 'delete' => array( + 'path' => '{project}/zones/{zone}/operations/{operation}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'zone' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'operation' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'get' => array( + 'path' => '{project}/zones/{zone}/operations/{operation}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'zone' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'operation' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => '{project}/zones/{zone}/operations', + 'httpMethod' => 'GET', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'zone' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'filter' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'orderBy' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + $this->zones = new Google_Service_Compute_Resource_Zones( + $this, + $this->serviceName, + 'zones', + array( + 'methods' => array( + 'get' => array( + 'path' => '{project}/zones/{zone}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'zone' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => '{project}/zones', + 'httpMethod' => 'GET', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'filter' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'orderBy' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/AccessConfig.php b/vendor/google/apiclient-services/src/Google/Service/Compute/AccessConfig.php new file mode 100644 index 00000000..a016c52e --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/AccessConfig.php @@ -0,0 +1,57 @@ +kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setNatIP($natIP) + { + $this->natIP = $natIP; + } + public function getNatIP() + { + return $this->natIP; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/Address.php b/vendor/google/apiclient-services/src/Google/Service/Compute/Address.php new file mode 100644 index 00000000..0c8773cd --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/Address.php @@ -0,0 +1,112 @@ +address = $address; + } + public function getAddress() + { + return $this->address; + } + public function setCreationTimestamp($creationTimestamp) + { + $this->creationTimestamp = $creationTimestamp; + } + public function getCreationTimestamp() + { + return $this->creationTimestamp; + } + public function setDescription($description) + { + $this->description = $description; + } + public function getDescription() + { + return $this->description; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setRegion($region) + { + $this->region = $region; + } + public function getRegion() + { + return $this->region; + } + public function setSelfLink($selfLink) + { + $this->selfLink = $selfLink; + } + public function getSelfLink() + { + return $this->selfLink; + } + public function setStatus($status) + { + $this->status = $status; + } + public function getStatus() + { + return $this->status; + } + public function setUsers($users) + { + $this->users = $users; + } + public function getUsers() + { + return $this->users; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/AddressAggregatedList.php b/vendor/google/apiclient-services/src/Google/Service/Compute/AddressAggregatedList.php new file mode 100644 index 00000000..99fbc3c5 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/AddressAggregatedList.php @@ -0,0 +1,67 @@ +id = $id; + } + public function getId() + { + return $this->id; + } + public function setItems($items) + { + $this->items = $items; + } + public function getItems() + { + return $this->items; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setSelfLink($selfLink) + { + $this->selfLink = $selfLink; + } + public function getSelfLink() + { + return $this->selfLink; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/AddressList.php b/vendor/google/apiclient-services/src/Google/Service/Compute/AddressList.php new file mode 100644 index 00000000..2bb8cc9c --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/AddressList.php @@ -0,0 +1,68 @@ +id = $id; + } + public function getId() + { + return $this->id; + } + public function setItems($items) + { + $this->items = $items; + } + public function getItems() + { + return $this->items; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setSelfLink($selfLink) + { + $this->selfLink = $selfLink; + } + public function getSelfLink() + { + return $this->selfLink; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/AddressesScopedList.php b/vendor/google/apiclient-services/src/Google/Service/Compute/AddressesScopedList.php new file mode 100644 index 00000000..2789ebb4 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/AddressesScopedList.php @@ -0,0 +1,42 @@ +addresses = $addresses; + } + public function getAddresses() + { + return $this->addresses; + } + public function setWarning(Google_Service_Compute_AddressesScopedListWarning $warning) + { + $this->warning = $warning; + } + public function getWarning() + { + return $this->warning; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/AddressesScopedListWarning.php b/vendor/google/apiclient-services/src/Google/Service/Compute/AddressesScopedListWarning.php new file mode 100644 index 00000000..4638a137 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/AddressesScopedListWarning.php @@ -0,0 +1,50 @@ +code = $code; + } + public function getCode() + { + return $this->code; + } + public function setData($data) + { + $this->data = $data; + } + public function getData() + { + return $this->data; + } + public function setMessage($message) + { + $this->message = $message; + } + public function getMessage() + { + return $this->message; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/AddressesScopedListWarningData.php b/vendor/google/apiclient-services/src/Google/Service/Compute/AddressesScopedListWarningData.php new file mode 100644 index 00000000..825996cf --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/AddressesScopedListWarningData.php @@ -0,0 +1,39 @@ +key = $key; + } + public function getKey() + { + return $this->key; + } + public function setValue($value) + { + $this->value = $value; + } + public function getValue() + { + return $this->value; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/AttachedDisk.php b/vendor/google/apiclient-services/src/Google/Service/Compute/AttachedDisk.php new file mode 100644 index 00000000..a8f994c6 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/AttachedDisk.php @@ -0,0 +1,132 @@ +autoDelete = $autoDelete; + } + public function getAutoDelete() + { + return $this->autoDelete; + } + public function setBoot($boot) + { + $this->boot = $boot; + } + public function getBoot() + { + return $this->boot; + } + public function setDeviceName($deviceName) + { + $this->deviceName = $deviceName; + } + public function getDeviceName() + { + return $this->deviceName; + } + public function setDiskEncryptionKey(Google_Service_Compute_CustomerEncryptionKey $diskEncryptionKey) + { + $this->diskEncryptionKey = $diskEncryptionKey; + } + public function getDiskEncryptionKey() + { + return $this->diskEncryptionKey; + } + public function setIndex($index) + { + $this->index = $index; + } + public function getIndex() + { + return $this->index; + } + public function setInitializeParams(Google_Service_Compute_AttachedDiskInitializeParams $initializeParams) + { + $this->initializeParams = $initializeParams; + } + public function getInitializeParams() + { + return $this->initializeParams; + } + public function setInterface($interface) + { + $this->interface = $interface; + } + public function getInterface() + { + return $this->interface; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setLicenses($licenses) + { + $this->licenses = $licenses; + } + public function getLicenses() + { + return $this->licenses; + } + public function setMode($mode) + { + $this->mode = $mode; + } + public function getMode() + { + return $this->mode; + } + public function setSource($source) + { + $this->source = $source; + } + public function getSource() + { + return $this->source; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/AttachedDiskInitializeParams.php b/vendor/google/apiclient-services/src/Google/Service/Compute/AttachedDiskInitializeParams.php new file mode 100644 index 00000000..90f8f752 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/AttachedDiskInitializeParams.php @@ -0,0 +1,67 @@ +diskName = $diskName; + } + public function getDiskName() + { + return $this->diskName; + } + public function setDiskSizeGb($diskSizeGb) + { + $this->diskSizeGb = $diskSizeGb; + } + public function getDiskSizeGb() + { + return $this->diskSizeGb; + } + public function setDiskType($diskType) + { + $this->diskType = $diskType; + } + public function getDiskType() + { + return $this->diskType; + } + public function setSourceImage($sourceImage) + { + $this->sourceImage = $sourceImage; + } + public function getSourceImage() + { + return $this->sourceImage; + } + public function setSourceImageEncryptionKey(Google_Service_Compute_CustomerEncryptionKey $sourceImageEncryptionKey) + { + $this->sourceImageEncryptionKey = $sourceImageEncryptionKey; + } + public function getSourceImageEncryptionKey() + { + return $this->sourceImageEncryptionKey; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/Autoscaler.php b/vendor/google/apiclient-services/src/Google/Service/Compute/Autoscaler.php new file mode 100644 index 00000000..f60faf8a --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/Autoscaler.php @@ -0,0 +1,112 @@ +autoscalingPolicy = $autoscalingPolicy; + } + public function getAutoscalingPolicy() + { + return $this->autoscalingPolicy; + } + public function setCreationTimestamp($creationTimestamp) + { + $this->creationTimestamp = $creationTimestamp; + } + public function getCreationTimestamp() + { + return $this->creationTimestamp; + } + public function setDescription($description) + { + $this->description = $description; + } + public function getDescription() + { + return $this->description; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setRegion($region) + { + $this->region = $region; + } + public function getRegion() + { + return $this->region; + } + public function setSelfLink($selfLink) + { + $this->selfLink = $selfLink; + } + public function getSelfLink() + { + return $this->selfLink; + } + public function setTarget($target) + { + $this->target = $target; + } + public function getTarget() + { + return $this->target; + } + public function setZone($zone) + { + $this->zone = $zone; + } + public function getZone() + { + return $this->zone; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/AutoscalerAggregatedList.php b/vendor/google/apiclient-services/src/Google/Service/Compute/AutoscalerAggregatedList.php new file mode 100644 index 00000000..9d980f2c --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/AutoscalerAggregatedList.php @@ -0,0 +1,67 @@ +id = $id; + } + public function getId() + { + return $this->id; + } + public function setItems($items) + { + $this->items = $items; + } + public function getItems() + { + return $this->items; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setSelfLink($selfLink) + { + $this->selfLink = $selfLink; + } + public function getSelfLink() + { + return $this->selfLink; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/AutoscalerList.php b/vendor/google/apiclient-services/src/Google/Service/Compute/AutoscalerList.php new file mode 100644 index 00000000..30c52054 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/AutoscalerList.php @@ -0,0 +1,68 @@ +id = $id; + } + public function getId() + { + return $this->id; + } + public function setItems($items) + { + $this->items = $items; + } + public function getItems() + { + return $this->items; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setSelfLink($selfLink) + { + $this->selfLink = $selfLink; + } + public function getSelfLink() + { + return $this->selfLink; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/AutoscalersScopedList.php b/vendor/google/apiclient-services/src/Google/Service/Compute/AutoscalersScopedList.php new file mode 100644 index 00000000..41f1be32 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/AutoscalersScopedList.php @@ -0,0 +1,42 @@ +autoscalers = $autoscalers; + } + public function getAutoscalers() + { + return $this->autoscalers; + } + public function setWarning(Google_Service_Compute_AutoscalersScopedListWarning $warning) + { + $this->warning = $warning; + } + public function getWarning() + { + return $this->warning; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/AutoscalersScopedListWarning.php b/vendor/google/apiclient-services/src/Google/Service/Compute/AutoscalersScopedListWarning.php new file mode 100644 index 00000000..7471eda9 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/AutoscalersScopedListWarning.php @@ -0,0 +1,50 @@ +code = $code; + } + public function getCode() + { + return $this->code; + } + public function setData($data) + { + $this->data = $data; + } + public function getData() + { + return $this->data; + } + public function setMessage($message) + { + $this->message = $message; + } + public function getMessage() + { + return $this->message; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/AutoscalersScopedListWarningData.php b/vendor/google/apiclient-services/src/Google/Service/Compute/AutoscalersScopedListWarningData.php new file mode 100644 index 00000000..d6139c26 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/AutoscalersScopedListWarningData.php @@ -0,0 +1,39 @@ +key = $key; + } + public function getKey() + { + return $this->key; + } + public function setValue($value) + { + $this->value = $value; + } + public function getValue() + { + return $this->value; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/AutoscalingPolicy.php b/vendor/google/apiclient-services/src/Google/Service/Compute/AutoscalingPolicy.php new file mode 100644 index 00000000..80ba5188 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/AutoscalingPolicy.php @@ -0,0 +1,79 @@ +coolDownPeriodSec = $coolDownPeriodSec; + } + public function getCoolDownPeriodSec() + { + return $this->coolDownPeriodSec; + } + public function setCpuUtilization(Google_Service_Compute_AutoscalingPolicyCpuUtilization $cpuUtilization) + { + $this->cpuUtilization = $cpuUtilization; + } + public function getCpuUtilization() + { + return $this->cpuUtilization; + } + public function setCustomMetricUtilizations($customMetricUtilizations) + { + $this->customMetricUtilizations = $customMetricUtilizations; + } + public function getCustomMetricUtilizations() + { + return $this->customMetricUtilizations; + } + public function setLoadBalancingUtilization(Google_Service_Compute_AutoscalingPolicyLoadBalancingUtilization $loadBalancingUtilization) + { + $this->loadBalancingUtilization = $loadBalancingUtilization; + } + public function getLoadBalancingUtilization() + { + return $this->loadBalancingUtilization; + } + public function setMaxNumReplicas($maxNumReplicas) + { + $this->maxNumReplicas = $maxNumReplicas; + } + public function getMaxNumReplicas() + { + return $this->maxNumReplicas; + } + public function setMinNumReplicas($minNumReplicas) + { + $this->minNumReplicas = $minNumReplicas; + } + public function getMinNumReplicas() + { + return $this->minNumReplicas; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/AutoscalingPolicyCpuUtilization.php b/vendor/google/apiclient-services/src/Google/Service/Compute/AutoscalingPolicyCpuUtilization.php new file mode 100644 index 00000000..e528d597 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/AutoscalingPolicyCpuUtilization.php @@ -0,0 +1,30 @@ +utilizationTarget = $utilizationTarget; + } + public function getUtilizationTarget() + { + return $this->utilizationTarget; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/AutoscalingPolicyCustomMetricUtilization.php b/vendor/google/apiclient-services/src/Google/Service/Compute/AutoscalingPolicyCustomMetricUtilization.php new file mode 100644 index 00000000..c733d3da --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/AutoscalingPolicyCustomMetricUtilization.php @@ -0,0 +1,48 @@ +metric = $metric; + } + public function getMetric() + { + return $this->metric; + } + public function setUtilizationTarget($utilizationTarget) + { + $this->utilizationTarget = $utilizationTarget; + } + public function getUtilizationTarget() + { + return $this->utilizationTarget; + } + public function setUtilizationTargetType($utilizationTargetType) + { + $this->utilizationTargetType = $utilizationTargetType; + } + public function getUtilizationTargetType() + { + return $this->utilizationTargetType; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/AutoscalingPolicyLoadBalancingUtilization.php b/vendor/google/apiclient-services/src/Google/Service/Compute/AutoscalingPolicyLoadBalancingUtilization.php new file mode 100644 index 00000000..f52e3e67 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/AutoscalingPolicyLoadBalancingUtilization.php @@ -0,0 +1,30 @@ +utilizationTarget = $utilizationTarget; + } + public function getUtilizationTarget() + { + return $this->utilizationTarget; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/Backend.php b/vendor/google/apiclient-services/src/Google/Service/Compute/Backend.php new file mode 100644 index 00000000..77240d08 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/Backend.php @@ -0,0 +1,102 @@ +balancingMode = $balancingMode; + } + public function getBalancingMode() + { + return $this->balancingMode; + } + public function setCapacityScaler($capacityScaler) + { + $this->capacityScaler = $capacityScaler; + } + public function getCapacityScaler() + { + return $this->capacityScaler; + } + public function setDescription($description) + { + $this->description = $description; + } + public function getDescription() + { + return $this->description; + } + public function setGroup($group) + { + $this->group = $group; + } + public function getGroup() + { + return $this->group; + } + public function setMaxConnections($maxConnections) + { + $this->maxConnections = $maxConnections; + } + public function getMaxConnections() + { + return $this->maxConnections; + } + public function setMaxConnectionsPerInstance($maxConnectionsPerInstance) + { + $this->maxConnectionsPerInstance = $maxConnectionsPerInstance; + } + public function getMaxConnectionsPerInstance() + { + return $this->maxConnectionsPerInstance; + } + public function setMaxRate($maxRate) + { + $this->maxRate = $maxRate; + } + public function getMaxRate() + { + return $this->maxRate; + } + public function setMaxRatePerInstance($maxRatePerInstance) + { + $this->maxRatePerInstance = $maxRatePerInstance; + } + public function getMaxRatePerInstance() + { + return $this->maxRatePerInstance; + } + public function setMaxUtilization($maxUtilization) + { + $this->maxUtilization = $maxUtilization; + } + public function getMaxUtilization() + { + return $this->maxUtilization; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/BackendBucket.php b/vendor/google/apiclient-services/src/Google/Service/Compute/BackendBucket.php new file mode 100644 index 00000000..b0c1811b --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/BackendBucket.php @@ -0,0 +1,93 @@ +bucketName = $bucketName; + } + public function getBucketName() + { + return $this->bucketName; + } + public function setCreationTimestamp($creationTimestamp) + { + $this->creationTimestamp = $creationTimestamp; + } + public function getCreationTimestamp() + { + return $this->creationTimestamp; + } + public function setDescription($description) + { + $this->description = $description; + } + public function getDescription() + { + return $this->description; + } + public function setEnableCdn($enableCdn) + { + $this->enableCdn = $enableCdn; + } + public function getEnableCdn() + { + return $this->enableCdn; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setSelfLink($selfLink) + { + $this->selfLink = $selfLink; + } + public function getSelfLink() + { + return $this->selfLink; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/BackendBucketList.php b/vendor/google/apiclient-services/src/Google/Service/Compute/BackendBucketList.php new file mode 100644 index 00000000..dfad709e --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/BackendBucketList.php @@ -0,0 +1,68 @@ +id = $id; + } + public function getId() + { + return $this->id; + } + public function setItems($items) + { + $this->items = $items; + } + public function getItems() + { + return $this->items; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setSelfLink($selfLink) + { + $this->selfLink = $selfLink; + } + public function getSelfLink() + { + return $this->selfLink; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/BackendService.php b/vendor/google/apiclient-services/src/Google/Service/Compute/BackendService.php new file mode 100644 index 00000000..0ac30517 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/BackendService.php @@ -0,0 +1,195 @@ +affinityCookieTtlSec = $affinityCookieTtlSec; + } + public function getAffinityCookieTtlSec() + { + return $this->affinityCookieTtlSec; + } + public function setBackends($backends) + { + $this->backends = $backends; + } + public function getBackends() + { + return $this->backends; + } + public function setConnectionDraining(Google_Service_Compute_ConnectionDraining $connectionDraining) + { + $this->connectionDraining = $connectionDraining; + } + public function getConnectionDraining() + { + return $this->connectionDraining; + } + public function setCreationTimestamp($creationTimestamp) + { + $this->creationTimestamp = $creationTimestamp; + } + public function getCreationTimestamp() + { + return $this->creationTimestamp; + } + public function setDescription($description) + { + $this->description = $description; + } + public function getDescription() + { + return $this->description; + } + public function setEnableCDN($enableCDN) + { + $this->enableCDN = $enableCDN; + } + public function getEnableCDN() + { + return $this->enableCDN; + } + public function setFingerprint($fingerprint) + { + $this->fingerprint = $fingerprint; + } + public function getFingerprint() + { + return $this->fingerprint; + } + public function setHealthChecks($healthChecks) + { + $this->healthChecks = $healthChecks; + } + public function getHealthChecks() + { + return $this->healthChecks; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setLoadBalancingScheme($loadBalancingScheme) + { + $this->loadBalancingScheme = $loadBalancingScheme; + } + public function getLoadBalancingScheme() + { + return $this->loadBalancingScheme; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setPort($port) + { + $this->port = $port; + } + public function getPort() + { + return $this->port; + } + public function setPortName($portName) + { + $this->portName = $portName; + } + public function getPortName() + { + return $this->portName; + } + public function setProtocol($protocol) + { + $this->protocol = $protocol; + } + public function getProtocol() + { + return $this->protocol; + } + public function setRegion($region) + { + $this->region = $region; + } + public function getRegion() + { + return $this->region; + } + public function setSelfLink($selfLink) + { + $this->selfLink = $selfLink; + } + public function getSelfLink() + { + return $this->selfLink; + } + public function setSessionAffinity($sessionAffinity) + { + $this->sessionAffinity = $sessionAffinity; + } + public function getSessionAffinity() + { + return $this->sessionAffinity; + } + public function setTimeoutSec($timeoutSec) + { + $this->timeoutSec = $timeoutSec; + } + public function getTimeoutSec() + { + return $this->timeoutSec; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/BackendServiceAggregatedList.php b/vendor/google/apiclient-services/src/Google/Service/Compute/BackendServiceAggregatedList.php new file mode 100644 index 00000000..c84b4081 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/BackendServiceAggregatedList.php @@ -0,0 +1,67 @@ +id = $id; + } + public function getId() + { + return $this->id; + } + public function setItems($items) + { + $this->items = $items; + } + public function getItems() + { + return $this->items; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setSelfLink($selfLink) + { + $this->selfLink = $selfLink; + } + public function getSelfLink() + { + return $this->selfLink; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/BackendServiceGroupHealth.php b/vendor/google/apiclient-services/src/Google/Service/Compute/BackendServiceGroupHealth.php new file mode 100644 index 00000000..e748b062 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/BackendServiceGroupHealth.php @@ -0,0 +1,41 @@ +healthStatus = $healthStatus; + } + public function getHealthStatus() + { + return $this->healthStatus; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/BackendServiceList.php b/vendor/google/apiclient-services/src/Google/Service/Compute/BackendServiceList.php new file mode 100644 index 00000000..c0800a67 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/BackendServiceList.php @@ -0,0 +1,68 @@ +id = $id; + } + public function getId() + { + return $this->id; + } + public function setItems($items) + { + $this->items = $items; + } + public function getItems() + { + return $this->items; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setSelfLink($selfLink) + { + $this->selfLink = $selfLink; + } + public function getSelfLink() + { + return $this->selfLink; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/BackendServicesScopedList.php b/vendor/google/apiclient-services/src/Google/Service/Compute/BackendServicesScopedList.php new file mode 100644 index 00000000..2ac8c28a --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/BackendServicesScopedList.php @@ -0,0 +1,42 @@ +backendServices = $backendServices; + } + public function getBackendServices() + { + return $this->backendServices; + } + public function setWarning(Google_Service_Compute_BackendServicesScopedListWarning $warning) + { + $this->warning = $warning; + } + public function getWarning() + { + return $this->warning; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/BackendServicesScopedListWarning.php b/vendor/google/apiclient-services/src/Google/Service/Compute/BackendServicesScopedListWarning.php new file mode 100644 index 00000000..87b27240 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/BackendServicesScopedListWarning.php @@ -0,0 +1,50 @@ +code = $code; + } + public function getCode() + { + return $this->code; + } + public function setData($data) + { + $this->data = $data; + } + public function getData() + { + return $this->data; + } + public function setMessage($message) + { + $this->message = $message; + } + public function getMessage() + { + return $this->message; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/BackendServicesScopedListWarningData.php b/vendor/google/apiclient-services/src/Google/Service/Compute/BackendServicesScopedListWarningData.php new file mode 100644 index 00000000..a3e254cd --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/BackendServicesScopedListWarningData.php @@ -0,0 +1,39 @@ +key = $key; + } + public function getKey() + { + return $this->key; + } + public function setValue($value) + { + $this->value = $value; + } + public function getValue() + { + return $this->value; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/CacheInvalidationRule.php b/vendor/google/apiclient-services/src/Google/Service/Compute/CacheInvalidationRule.php new file mode 100644 index 00000000..f4cf93be --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/CacheInvalidationRule.php @@ -0,0 +1,39 @@ +host = $host; + } + public function getHost() + { + return $this->host; + } + public function setPath($path) + { + $this->path = $path; + } + public function getPath() + { + return $this->path; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/ConnectionDraining.php b/vendor/google/apiclient-services/src/Google/Service/Compute/ConnectionDraining.php new file mode 100644 index 00000000..21a63afd --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/ConnectionDraining.php @@ -0,0 +1,30 @@ +drainingTimeoutSec = $drainingTimeoutSec; + } + public function getDrainingTimeoutSec() + { + return $this->drainingTimeoutSec; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/CustomerEncryptionKey.php b/vendor/google/apiclient-services/src/Google/Service/Compute/CustomerEncryptionKey.php new file mode 100644 index 00000000..423e6d12 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/CustomerEncryptionKey.php @@ -0,0 +1,39 @@ +rawKey = $rawKey; + } + public function getRawKey() + { + return $this->rawKey; + } + public function setSha256($sha256) + { + $this->sha256 = $sha256; + } + public function getSha256() + { + return $this->sha256; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/CustomerEncryptionKeyProtectedDisk.php b/vendor/google/apiclient-services/src/Google/Service/Compute/CustomerEncryptionKeyProtectedDisk.php new file mode 100644 index 00000000..91203db0 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/CustomerEncryptionKeyProtectedDisk.php @@ -0,0 +1,40 @@ +diskEncryptionKey = $diskEncryptionKey; + } + public function getDiskEncryptionKey() + { + return $this->diskEncryptionKey; + } + public function setSource($source) + { + $this->source = $source; + } + public function getSource() + { + return $this->source; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/DeprecationStatus.php b/vendor/google/apiclient-services/src/Google/Service/Compute/DeprecationStatus.php new file mode 100644 index 00000000..90c0e85f --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/DeprecationStatus.php @@ -0,0 +1,66 @@ +deleted = $deleted; + } + public function getDeleted() + { + return $this->deleted; + } + public function setDeprecated($deprecated) + { + $this->deprecated = $deprecated; + } + public function getDeprecated() + { + return $this->deprecated; + } + public function setObsolete($obsolete) + { + $this->obsolete = $obsolete; + } + public function getObsolete() + { + return $this->obsolete; + } + public function setReplacement($replacement) + { + $this->replacement = $replacement; + } + public function getReplacement() + { + return $this->replacement; + } + public function setState($state) + { + $this->state = $state; + } + public function getState() + { + return $this->state; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/Disk.php b/vendor/google/apiclient-services/src/Google/Service/Compute/Disk.php new file mode 100644 index 00000000..58c2e3ae --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/Disk.php @@ -0,0 +1,223 @@ +creationTimestamp = $creationTimestamp; + } + public function getCreationTimestamp() + { + return $this->creationTimestamp; + } + public function setDescription($description) + { + $this->description = $description; + } + public function getDescription() + { + return $this->description; + } + public function setDiskEncryptionKey(Google_Service_Compute_CustomerEncryptionKey $diskEncryptionKey) + { + $this->diskEncryptionKey = $diskEncryptionKey; + } + public function getDiskEncryptionKey() + { + return $this->diskEncryptionKey; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setLastAttachTimestamp($lastAttachTimestamp) + { + $this->lastAttachTimestamp = $lastAttachTimestamp; + } + public function getLastAttachTimestamp() + { + return $this->lastAttachTimestamp; + } + public function setLastDetachTimestamp($lastDetachTimestamp) + { + $this->lastDetachTimestamp = $lastDetachTimestamp; + } + public function getLastDetachTimestamp() + { + return $this->lastDetachTimestamp; + } + public function setLicenses($licenses) + { + $this->licenses = $licenses; + } + public function getLicenses() + { + return $this->licenses; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setOptions($options) + { + $this->options = $options; + } + public function getOptions() + { + return $this->options; + } + public function setSelfLink($selfLink) + { + $this->selfLink = $selfLink; + } + public function getSelfLink() + { + return $this->selfLink; + } + public function setSizeGb($sizeGb) + { + $this->sizeGb = $sizeGb; + } + public function getSizeGb() + { + return $this->sizeGb; + } + public function setSourceImage($sourceImage) + { + $this->sourceImage = $sourceImage; + } + public function getSourceImage() + { + return $this->sourceImage; + } + public function setSourceImageEncryptionKey(Google_Service_Compute_CustomerEncryptionKey $sourceImageEncryptionKey) + { + $this->sourceImageEncryptionKey = $sourceImageEncryptionKey; + } + public function getSourceImageEncryptionKey() + { + return $this->sourceImageEncryptionKey; + } + public function setSourceImageId($sourceImageId) + { + $this->sourceImageId = $sourceImageId; + } + public function getSourceImageId() + { + return $this->sourceImageId; + } + public function setSourceSnapshot($sourceSnapshot) + { + $this->sourceSnapshot = $sourceSnapshot; + } + public function getSourceSnapshot() + { + return $this->sourceSnapshot; + } + public function setSourceSnapshotEncryptionKey(Google_Service_Compute_CustomerEncryptionKey $sourceSnapshotEncryptionKey) + { + $this->sourceSnapshotEncryptionKey = $sourceSnapshotEncryptionKey; + } + public function getSourceSnapshotEncryptionKey() + { + return $this->sourceSnapshotEncryptionKey; + } + public function setSourceSnapshotId($sourceSnapshotId) + { + $this->sourceSnapshotId = $sourceSnapshotId; + } + public function getSourceSnapshotId() + { + return $this->sourceSnapshotId; + } + public function setStatus($status) + { + $this->status = $status; + } + public function getStatus() + { + return $this->status; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } + public function setUsers($users) + { + $this->users = $users; + } + public function getUsers() + { + return $this->users; + } + public function setZone($zone) + { + $this->zone = $zone; + } + public function getZone() + { + return $this->zone; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/DiskAggregatedList.php b/vendor/google/apiclient-services/src/Google/Service/Compute/DiskAggregatedList.php new file mode 100644 index 00000000..77707292 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/DiskAggregatedList.php @@ -0,0 +1,67 @@ +id = $id; + } + public function getId() + { + return $this->id; + } + public function setItems($items) + { + $this->items = $items; + } + public function getItems() + { + return $this->items; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setSelfLink($selfLink) + { + $this->selfLink = $selfLink; + } + public function getSelfLink() + { + return $this->selfLink; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/DiskList.php b/vendor/google/apiclient-services/src/Google/Service/Compute/DiskList.php new file mode 100644 index 00000000..5cc85b9f --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/DiskList.php @@ -0,0 +1,68 @@ +id = $id; + } + public function getId() + { + return $this->id; + } + public function setItems($items) + { + $this->items = $items; + } + public function getItems() + { + return $this->items; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setSelfLink($selfLink) + { + $this->selfLink = $selfLink; + } + public function getSelfLink() + { + return $this->selfLink; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/DiskMoveRequest.php b/vendor/google/apiclient-services/src/Google/Service/Compute/DiskMoveRequest.php new file mode 100644 index 00000000..e95d4668 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/DiskMoveRequest.php @@ -0,0 +1,39 @@ +destinationZone = $destinationZone; + } + public function getDestinationZone() + { + return $this->destinationZone; + } + public function setTargetDisk($targetDisk) + { + $this->targetDisk = $targetDisk; + } + public function getTargetDisk() + { + return $this->targetDisk; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/DiskType.php b/vendor/google/apiclient-services/src/Google/Service/Compute/DiskType.php new file mode 100644 index 00000000..f283fc27 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/DiskType.php @@ -0,0 +1,112 @@ +creationTimestamp = $creationTimestamp; + } + public function getCreationTimestamp() + { + return $this->creationTimestamp; + } + public function setDefaultDiskSizeGb($defaultDiskSizeGb) + { + $this->defaultDiskSizeGb = $defaultDiskSizeGb; + } + public function getDefaultDiskSizeGb() + { + return $this->defaultDiskSizeGb; + } + public function setDeprecated(Google_Service_Compute_DeprecationStatus $deprecated) + { + $this->deprecated = $deprecated; + } + public function getDeprecated() + { + return $this->deprecated; + } + public function setDescription($description) + { + $this->description = $description; + } + public function getDescription() + { + return $this->description; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setSelfLink($selfLink) + { + $this->selfLink = $selfLink; + } + public function getSelfLink() + { + return $this->selfLink; + } + public function setValidDiskSize($validDiskSize) + { + $this->validDiskSize = $validDiskSize; + } + public function getValidDiskSize() + { + return $this->validDiskSize; + } + public function setZone($zone) + { + $this->zone = $zone; + } + public function getZone() + { + return $this->zone; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/DiskTypeAggregatedList.php b/vendor/google/apiclient-services/src/Google/Service/Compute/DiskTypeAggregatedList.php new file mode 100644 index 00000000..c866b2af --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/DiskTypeAggregatedList.php @@ -0,0 +1,67 @@ +id = $id; + } + public function getId() + { + return $this->id; + } + public function setItems($items) + { + $this->items = $items; + } + public function getItems() + { + return $this->items; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setSelfLink($selfLink) + { + $this->selfLink = $selfLink; + } + public function getSelfLink() + { + return $this->selfLink; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/DiskTypeList.php b/vendor/google/apiclient-services/src/Google/Service/Compute/DiskTypeList.php new file mode 100644 index 00000000..4ae1c27c --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/DiskTypeList.php @@ -0,0 +1,68 @@ +id = $id; + } + public function getId() + { + return $this->id; + } + public function setItems($items) + { + $this->items = $items; + } + public function getItems() + { + return $this->items; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setSelfLink($selfLink) + { + $this->selfLink = $selfLink; + } + public function getSelfLink() + { + return $this->selfLink; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/DiskTypesScopedList.php b/vendor/google/apiclient-services/src/Google/Service/Compute/DiskTypesScopedList.php new file mode 100644 index 00000000..174396be --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/DiskTypesScopedList.php @@ -0,0 +1,42 @@ +diskTypes = $diskTypes; + } + public function getDiskTypes() + { + return $this->diskTypes; + } + public function setWarning(Google_Service_Compute_DiskTypesScopedListWarning $warning) + { + $this->warning = $warning; + } + public function getWarning() + { + return $this->warning; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/DiskTypesScopedListWarning.php b/vendor/google/apiclient-services/src/Google/Service/Compute/DiskTypesScopedListWarning.php new file mode 100644 index 00000000..c12c0d7a --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/DiskTypesScopedListWarning.php @@ -0,0 +1,50 @@ +code = $code; + } + public function getCode() + { + return $this->code; + } + public function setData($data) + { + $this->data = $data; + } + public function getData() + { + return $this->data; + } + public function setMessage($message) + { + $this->message = $message; + } + public function getMessage() + { + return $this->message; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/DiskTypesScopedListWarningData.php b/vendor/google/apiclient-services/src/Google/Service/Compute/DiskTypesScopedListWarningData.php new file mode 100644 index 00000000..a3b73434 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/DiskTypesScopedListWarningData.php @@ -0,0 +1,39 @@ +key = $key; + } + public function getKey() + { + return $this->key; + } + public function setValue($value) + { + $this->value = $value; + } + public function getValue() + { + return $this->value; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/DisksResizeRequest.php b/vendor/google/apiclient-services/src/Google/Service/Compute/DisksResizeRequest.php new file mode 100644 index 00000000..3d961a60 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/DisksResizeRequest.php @@ -0,0 +1,30 @@ +sizeGb = $sizeGb; + } + public function getSizeGb() + { + return $this->sizeGb; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/DisksScopedList.php b/vendor/google/apiclient-services/src/Google/Service/Compute/DisksScopedList.php new file mode 100644 index 00000000..4d886495 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/DisksScopedList.php @@ -0,0 +1,42 @@ +disks = $disks; + } + public function getDisks() + { + return $this->disks; + } + public function setWarning(Google_Service_Compute_DisksScopedListWarning $warning) + { + $this->warning = $warning; + } + public function getWarning() + { + return $this->warning; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/DisksScopedListWarning.php b/vendor/google/apiclient-services/src/Google/Service/Compute/DisksScopedListWarning.php new file mode 100644 index 00000000..22ac1b64 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/DisksScopedListWarning.php @@ -0,0 +1,50 @@ +code = $code; + } + public function getCode() + { + return $this->code; + } + public function setData($data) + { + $this->data = $data; + } + public function getData() + { + return $this->data; + } + public function setMessage($message) + { + $this->message = $message; + } + public function getMessage() + { + return $this->message; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/DisksScopedListWarningData.php b/vendor/google/apiclient-services/src/Google/Service/Compute/DisksScopedListWarningData.php new file mode 100644 index 00000000..905acde1 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/DisksScopedListWarningData.php @@ -0,0 +1,39 @@ +key = $key; + } + public function getKey() + { + return $this->key; + } + public function setValue($value) + { + $this->value = $value; + } + public function getValue() + { + return $this->value; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/Firewall.php b/vendor/google/apiclient-services/src/Google/Service/Compute/Firewall.php new file mode 100644 index 00000000..35c6bbc8 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/Firewall.php @@ -0,0 +1,122 @@ +allowed = $allowed; + } + public function getAllowed() + { + return $this->allowed; + } + public function setCreationTimestamp($creationTimestamp) + { + $this->creationTimestamp = $creationTimestamp; + } + public function getCreationTimestamp() + { + return $this->creationTimestamp; + } + public function setDescription($description) + { + $this->description = $description; + } + public function getDescription() + { + return $this->description; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setNetwork($network) + { + $this->network = $network; + } + public function getNetwork() + { + return $this->network; + } + public function setSelfLink($selfLink) + { + $this->selfLink = $selfLink; + } + public function getSelfLink() + { + return $this->selfLink; + } + public function setSourceRanges($sourceRanges) + { + $this->sourceRanges = $sourceRanges; + } + public function getSourceRanges() + { + return $this->sourceRanges; + } + public function setSourceTags($sourceTags) + { + $this->sourceTags = $sourceTags; + } + public function getSourceTags() + { + return $this->sourceTags; + } + public function setTargetTags($targetTags) + { + $this->targetTags = $targetTags; + } + public function getTargetTags() + { + return $this->targetTags; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/FirewallAllowed.php b/vendor/google/apiclient-services/src/Google/Service/Compute/FirewallAllowed.php new file mode 100644 index 00000000..8b301412 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/FirewallAllowed.php @@ -0,0 +1,43 @@ + "IPProtocol", + ); + public $iPProtocol; + public $ports; + + public function setIPProtocol($iPProtocol) + { + $this->iPProtocol = $iPProtocol; + } + public function getIPProtocol() + { + return $this->iPProtocol; + } + public function setPorts($ports) + { + $this->ports = $ports; + } + public function getPorts() + { + return $this->ports; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/FirewallList.php b/vendor/google/apiclient-services/src/Google/Service/Compute/FirewallList.php new file mode 100644 index 00000000..6d6f46dc --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/FirewallList.php @@ -0,0 +1,68 @@ +id = $id; + } + public function getId() + { + return $this->id; + } + public function setItems($items) + { + $this->items = $items; + } + public function getItems() + { + return $this->items; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setSelfLink($selfLink) + { + $this->selfLink = $selfLink; + } + public function getSelfLink() + { + return $this->selfLink; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/ForwardingRule.php b/vendor/google/apiclient-services/src/Google/Service/Compute/ForwardingRule.php new file mode 100644 index 00000000..df993147 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/ForwardingRule.php @@ -0,0 +1,170 @@ + "IPAddress", + "iPProtocol" => "IPProtocol", + ); + public $iPAddress; + public $iPProtocol; + public $backendService; + public $creationTimestamp; + public $description; + public $id; + public $kind; + public $loadBalancingScheme; + public $name; + public $network; + public $portRange; + public $ports; + public $region; + public $selfLink; + public $subnetwork; + public $target; + + public function setIPAddress($iPAddress) + { + $this->iPAddress = $iPAddress; + } + public function getIPAddress() + { + return $this->iPAddress; + } + public function setIPProtocol($iPProtocol) + { + $this->iPProtocol = $iPProtocol; + } + public function getIPProtocol() + { + return $this->iPProtocol; + } + public function setBackendService($backendService) + { + $this->backendService = $backendService; + } + public function getBackendService() + { + return $this->backendService; + } + public function setCreationTimestamp($creationTimestamp) + { + $this->creationTimestamp = $creationTimestamp; + } + public function getCreationTimestamp() + { + return $this->creationTimestamp; + } + public function setDescription($description) + { + $this->description = $description; + } + public function getDescription() + { + return $this->description; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setLoadBalancingScheme($loadBalancingScheme) + { + $this->loadBalancingScheme = $loadBalancingScheme; + } + public function getLoadBalancingScheme() + { + return $this->loadBalancingScheme; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setNetwork($network) + { + $this->network = $network; + } + public function getNetwork() + { + return $this->network; + } + public function setPortRange($portRange) + { + $this->portRange = $portRange; + } + public function getPortRange() + { + return $this->portRange; + } + public function setPorts($ports) + { + $this->ports = $ports; + } + public function getPorts() + { + return $this->ports; + } + public function setRegion($region) + { + $this->region = $region; + } + public function getRegion() + { + return $this->region; + } + public function setSelfLink($selfLink) + { + $this->selfLink = $selfLink; + } + public function getSelfLink() + { + return $this->selfLink; + } + public function setSubnetwork($subnetwork) + { + $this->subnetwork = $subnetwork; + } + public function getSubnetwork() + { + return $this->subnetwork; + } + public function setTarget($target) + { + $this->target = $target; + } + public function getTarget() + { + return $this->target; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/ForwardingRuleAggregatedList.php b/vendor/google/apiclient-services/src/Google/Service/Compute/ForwardingRuleAggregatedList.php new file mode 100644 index 00000000..06994bd3 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/ForwardingRuleAggregatedList.php @@ -0,0 +1,67 @@ +id = $id; + } + public function getId() + { + return $this->id; + } + public function setItems($items) + { + $this->items = $items; + } + public function getItems() + { + return $this->items; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setSelfLink($selfLink) + { + $this->selfLink = $selfLink; + } + public function getSelfLink() + { + return $this->selfLink; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/ForwardingRuleList.php b/vendor/google/apiclient-services/src/Google/Service/Compute/ForwardingRuleList.php new file mode 100644 index 00000000..8c0701c6 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/ForwardingRuleList.php @@ -0,0 +1,68 @@ +id = $id; + } + public function getId() + { + return $this->id; + } + public function setItems($items) + { + $this->items = $items; + } + public function getItems() + { + return $this->items; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setSelfLink($selfLink) + { + $this->selfLink = $selfLink; + } + public function getSelfLink() + { + return $this->selfLink; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/ForwardingRulesScopedList.php b/vendor/google/apiclient-services/src/Google/Service/Compute/ForwardingRulesScopedList.php new file mode 100644 index 00000000..cff55a4a --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/ForwardingRulesScopedList.php @@ -0,0 +1,42 @@ +forwardingRules = $forwardingRules; + } + public function getForwardingRules() + { + return $this->forwardingRules; + } + public function setWarning(Google_Service_Compute_ForwardingRulesScopedListWarning $warning) + { + $this->warning = $warning; + } + public function getWarning() + { + return $this->warning; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/ForwardingRulesScopedListWarning.php b/vendor/google/apiclient-services/src/Google/Service/Compute/ForwardingRulesScopedListWarning.php new file mode 100644 index 00000000..82ff32b6 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/ForwardingRulesScopedListWarning.php @@ -0,0 +1,50 @@ +code = $code; + } + public function getCode() + { + return $this->code; + } + public function setData($data) + { + $this->data = $data; + } + public function getData() + { + return $this->data; + } + public function setMessage($message) + { + $this->message = $message; + } + public function getMessage() + { + return $this->message; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/ForwardingRulesScopedListWarningData.php b/vendor/google/apiclient-services/src/Google/Service/Compute/ForwardingRulesScopedListWarningData.php new file mode 100644 index 00000000..f330149d --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/ForwardingRulesScopedListWarningData.php @@ -0,0 +1,39 @@ +key = $key; + } + public function getKey() + { + return $this->key; + } + public function setValue($value) + { + $this->value = $value; + } + public function getValue() + { + return $this->value; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/GuestOsFeature.php b/vendor/google/apiclient-services/src/Google/Service/Compute/GuestOsFeature.php new file mode 100644 index 00000000..60bd8857 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/GuestOsFeature.php @@ -0,0 +1,30 @@ +type = $type; + } + public function getType() + { + return $this->type; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/HTTP2HealthCheck.php b/vendor/google/apiclient-services/src/Google/Service/Compute/HTTP2HealthCheck.php new file mode 100644 index 00000000..d1939e79 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/HTTP2HealthCheck.php @@ -0,0 +1,66 @@ +host = $host; + } + public function getHost() + { + return $this->host; + } + public function setPort($port) + { + $this->port = $port; + } + public function getPort() + { + return $this->port; + } + public function setPortName($portName) + { + $this->portName = $portName; + } + public function getPortName() + { + return $this->portName; + } + public function setProxyHeader($proxyHeader) + { + $this->proxyHeader = $proxyHeader; + } + public function getProxyHeader() + { + return $this->proxyHeader; + } + public function setRequestPath($requestPath) + { + $this->requestPath = $requestPath; + } + public function getRequestPath() + { + return $this->requestPath; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/HealthCheck.php b/vendor/google/apiclient-services/src/Google/Service/Compute/HealthCheck.php new file mode 100644 index 00000000..9f2d9b3e --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/HealthCheck.php @@ -0,0 +1,160 @@ +checkIntervalSec = $checkIntervalSec; + } + public function getCheckIntervalSec() + { + return $this->checkIntervalSec; + } + public function setCreationTimestamp($creationTimestamp) + { + $this->creationTimestamp = $creationTimestamp; + } + public function getCreationTimestamp() + { + return $this->creationTimestamp; + } + public function setDescription($description) + { + $this->description = $description; + } + public function getDescription() + { + return $this->description; + } + public function setHealthyThreshold($healthyThreshold) + { + $this->healthyThreshold = $healthyThreshold; + } + public function getHealthyThreshold() + { + return $this->healthyThreshold; + } + public function setHttpHealthCheck(Google_Service_Compute_HTTPHealthCheck $httpHealthCheck) + { + $this->httpHealthCheck = $httpHealthCheck; + } + public function getHttpHealthCheck() + { + return $this->httpHealthCheck; + } + public function setHttpsHealthCheck(Google_Service_Compute_HTTPSHealthCheck $httpsHealthCheck) + { + $this->httpsHealthCheck = $httpsHealthCheck; + } + public function getHttpsHealthCheck() + { + return $this->httpsHealthCheck; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setSelfLink($selfLink) + { + $this->selfLink = $selfLink; + } + public function getSelfLink() + { + return $this->selfLink; + } + public function setSslHealthCheck(Google_Service_Compute_SSLHealthCheck $sslHealthCheck) + { + $this->sslHealthCheck = $sslHealthCheck; + } + public function getSslHealthCheck() + { + return $this->sslHealthCheck; + } + public function setTcpHealthCheck(Google_Service_Compute_TCPHealthCheck $tcpHealthCheck) + { + $this->tcpHealthCheck = $tcpHealthCheck; + } + public function getTcpHealthCheck() + { + return $this->tcpHealthCheck; + } + public function setTimeoutSec($timeoutSec) + { + $this->timeoutSec = $timeoutSec; + } + public function getTimeoutSec() + { + return $this->timeoutSec; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } + public function setUnhealthyThreshold($unhealthyThreshold) + { + $this->unhealthyThreshold = $unhealthyThreshold; + } + public function getUnhealthyThreshold() + { + return $this->unhealthyThreshold; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/HealthCheckList.php b/vendor/google/apiclient-services/src/Google/Service/Compute/HealthCheckList.php new file mode 100644 index 00000000..9a7da005 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/HealthCheckList.php @@ -0,0 +1,68 @@ +id = $id; + } + public function getId() + { + return $this->id; + } + public function setItems($items) + { + $this->items = $items; + } + public function getItems() + { + return $this->items; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setSelfLink($selfLink) + { + $this->selfLink = $selfLink; + } + public function getSelfLink() + { + return $this->selfLink; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/HealthCheckReference.php b/vendor/google/apiclient-services/src/Google/Service/Compute/HealthCheckReference.php new file mode 100644 index 00000000..ecd0a0b2 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/HealthCheckReference.php @@ -0,0 +1,30 @@ +healthCheck = $healthCheck; + } + public function getHealthCheck() + { + return $this->healthCheck; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/HealthStatus.php b/vendor/google/apiclient-services/src/Google/Service/Compute/HealthStatus.php new file mode 100644 index 00000000..264694a1 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/HealthStatus.php @@ -0,0 +1,57 @@ +healthState = $healthState; + } + public function getHealthState() + { + return $this->healthState; + } + public function setInstance($instance) + { + $this->instance = $instance; + } + public function getInstance() + { + return $this->instance; + } + public function setIpAddress($ipAddress) + { + $this->ipAddress = $ipAddress; + } + public function getIpAddress() + { + return $this->ipAddress; + } + public function setPort($port) + { + $this->port = $port; + } + public function getPort() + { + return $this->port; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/HostRule.php b/vendor/google/apiclient-services/src/Google/Service/Compute/HostRule.php new file mode 100644 index 00000000..345b3254 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/HostRule.php @@ -0,0 +1,49 @@ +description = $description; + } + public function getDescription() + { + return $this->description; + } + public function setHosts($hosts) + { + $this->hosts = $hosts; + } + public function getHosts() + { + return $this->hosts; + } + public function setPathMatcher($pathMatcher) + { + $this->pathMatcher = $pathMatcher; + } + public function getPathMatcher() + { + return $this->pathMatcher; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/HttpHealthCheck.php b/vendor/google/apiclient-services/src/Google/Service/Compute/HttpHealthCheck.php new file mode 100644 index 00000000..d886f6bc --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/HttpHealthCheck.php @@ -0,0 +1,138 @@ +checkIntervalSec = $checkIntervalSec; + } + public function getCheckIntervalSec() + { + return $this->checkIntervalSec; + } + public function setCreationTimestamp($creationTimestamp) + { + $this->creationTimestamp = $creationTimestamp; + } + public function getCreationTimestamp() + { + return $this->creationTimestamp; + } + public function setDescription($description) + { + $this->description = $description; + } + public function getDescription() + { + return $this->description; + } + public function setHealthyThreshold($healthyThreshold) + { + $this->healthyThreshold = $healthyThreshold; + } + public function getHealthyThreshold() + { + return $this->healthyThreshold; + } + public function setHost($host) + { + $this->host = $host; + } + public function getHost() + { + return $this->host; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setPort($port) + { + $this->port = $port; + } + public function getPort() + { + return $this->port; + } + public function setRequestPath($requestPath) + { + $this->requestPath = $requestPath; + } + public function getRequestPath() + { + return $this->requestPath; + } + public function setSelfLink($selfLink) + { + $this->selfLink = $selfLink; + } + public function getSelfLink() + { + return $this->selfLink; + } + public function setTimeoutSec($timeoutSec) + { + $this->timeoutSec = $timeoutSec; + } + public function getTimeoutSec() + { + return $this->timeoutSec; + } + public function setUnhealthyThreshold($unhealthyThreshold) + { + $this->unhealthyThreshold = $unhealthyThreshold; + } + public function getUnhealthyThreshold() + { + return $this->unhealthyThreshold; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/HttpHealthCheckList.php b/vendor/google/apiclient-services/src/Google/Service/Compute/HttpHealthCheckList.php new file mode 100644 index 00000000..c700cf50 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/HttpHealthCheckList.php @@ -0,0 +1,68 @@ +id = $id; + } + public function getId() + { + return $this->id; + } + public function setItems($items) + { + $this->items = $items; + } + public function getItems() + { + return $this->items; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setSelfLink($selfLink) + { + $this->selfLink = $selfLink; + } + public function getSelfLink() + { + return $this->selfLink; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/HttpsHealthCheck.php b/vendor/google/apiclient-services/src/Google/Service/Compute/HttpsHealthCheck.php new file mode 100644 index 00000000..22cfe26b --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/HttpsHealthCheck.php @@ -0,0 +1,138 @@ +checkIntervalSec = $checkIntervalSec; + } + public function getCheckIntervalSec() + { + return $this->checkIntervalSec; + } + public function setCreationTimestamp($creationTimestamp) + { + $this->creationTimestamp = $creationTimestamp; + } + public function getCreationTimestamp() + { + return $this->creationTimestamp; + } + public function setDescription($description) + { + $this->description = $description; + } + public function getDescription() + { + return $this->description; + } + public function setHealthyThreshold($healthyThreshold) + { + $this->healthyThreshold = $healthyThreshold; + } + public function getHealthyThreshold() + { + return $this->healthyThreshold; + } + public function setHost($host) + { + $this->host = $host; + } + public function getHost() + { + return $this->host; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setPort($port) + { + $this->port = $port; + } + public function getPort() + { + return $this->port; + } + public function setRequestPath($requestPath) + { + $this->requestPath = $requestPath; + } + public function getRequestPath() + { + return $this->requestPath; + } + public function setSelfLink($selfLink) + { + $this->selfLink = $selfLink; + } + public function getSelfLink() + { + return $this->selfLink; + } + public function setTimeoutSec($timeoutSec) + { + $this->timeoutSec = $timeoutSec; + } + public function getTimeoutSec() + { + return $this->timeoutSec; + } + public function setUnhealthyThreshold($unhealthyThreshold) + { + $this->unhealthyThreshold = $unhealthyThreshold; + } + public function getUnhealthyThreshold() + { + return $this->unhealthyThreshold; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/HttpsHealthCheckList.php b/vendor/google/apiclient-services/src/Google/Service/Compute/HttpsHealthCheckList.php new file mode 100644 index 00000000..6db553d6 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/HttpsHealthCheckList.php @@ -0,0 +1,68 @@ +id = $id; + } + public function getId() + { + return $this->id; + } + public function setItems($items) + { + $this->items = $items; + } + public function getItems() + { + return $this->items; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setSelfLink($selfLink) + { + $this->selfLink = $selfLink; + } + public function getSelfLink() + { + return $this->selfLink; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/Image.php b/vendor/google/apiclient-services/src/Google/Service/Compute/Image.php new file mode 100644 index 00000000..4f72521f --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/Image.php @@ -0,0 +1,198 @@ +archiveSizeBytes = $archiveSizeBytes; + } + public function getArchiveSizeBytes() + { + return $this->archiveSizeBytes; + } + public function setCreationTimestamp($creationTimestamp) + { + $this->creationTimestamp = $creationTimestamp; + } + public function getCreationTimestamp() + { + return $this->creationTimestamp; + } + public function setDeprecated(Google_Service_Compute_DeprecationStatus $deprecated) + { + $this->deprecated = $deprecated; + } + public function getDeprecated() + { + return $this->deprecated; + } + public function setDescription($description) + { + $this->description = $description; + } + public function getDescription() + { + return $this->description; + } + public function setDiskSizeGb($diskSizeGb) + { + $this->diskSizeGb = $diskSizeGb; + } + public function getDiskSizeGb() + { + return $this->diskSizeGb; + } + public function setFamily($family) + { + $this->family = $family; + } + public function getFamily() + { + return $this->family; + } + public function setGuestOsFeatures($guestOsFeatures) + { + $this->guestOsFeatures = $guestOsFeatures; + } + public function getGuestOsFeatures() + { + return $this->guestOsFeatures; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setImageEncryptionKey(Google_Service_Compute_CustomerEncryptionKey $imageEncryptionKey) + { + $this->imageEncryptionKey = $imageEncryptionKey; + } + public function getImageEncryptionKey() + { + return $this->imageEncryptionKey; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setLicenses($licenses) + { + $this->licenses = $licenses; + } + public function getLicenses() + { + return $this->licenses; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setRawDisk(Google_Service_Compute_ImageRawDisk $rawDisk) + { + $this->rawDisk = $rawDisk; + } + public function getRawDisk() + { + return $this->rawDisk; + } + public function setSelfLink($selfLink) + { + $this->selfLink = $selfLink; + } + public function getSelfLink() + { + return $this->selfLink; + } + public function setSourceDisk($sourceDisk) + { + $this->sourceDisk = $sourceDisk; + } + public function getSourceDisk() + { + return $this->sourceDisk; + } + public function setSourceDiskEncryptionKey(Google_Service_Compute_CustomerEncryptionKey $sourceDiskEncryptionKey) + { + $this->sourceDiskEncryptionKey = $sourceDiskEncryptionKey; + } + public function getSourceDiskEncryptionKey() + { + return $this->sourceDiskEncryptionKey; + } + public function setSourceDiskId($sourceDiskId) + { + $this->sourceDiskId = $sourceDiskId; + } + public function getSourceDiskId() + { + return $this->sourceDiskId; + } + public function setSourceType($sourceType) + { + $this->sourceType = $sourceType; + } + public function getSourceType() + { + return $this->sourceType; + } + public function setStatus($status) + { + $this->status = $status; + } + public function getStatus() + { + return $this->status; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/ImageList.php b/vendor/google/apiclient-services/src/Google/Service/Compute/ImageList.php new file mode 100644 index 00000000..0ad2e978 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/ImageList.php @@ -0,0 +1,68 @@ +id = $id; + } + public function getId() + { + return $this->id; + } + public function setItems($items) + { + $this->items = $items; + } + public function getItems() + { + return $this->items; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setSelfLink($selfLink) + { + $this->selfLink = $selfLink; + } + public function getSelfLink() + { + return $this->selfLink; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/ImageRawDisk.php b/vendor/google/apiclient-services/src/Google/Service/Compute/ImageRawDisk.php new file mode 100644 index 00000000..80344fb9 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/ImageRawDisk.php @@ -0,0 +1,48 @@ +containerType = $containerType; + } + public function getContainerType() + { + return $this->containerType; + } + public function setSha1Checksum($sha1Checksum) + { + $this->sha1Checksum = $sha1Checksum; + } + public function getSha1Checksum() + { + return $this->sha1Checksum; + } + public function setSource($source) + { + $this->source = $source; + } + public function getSource() + { + return $this->source; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/Instance.php b/vendor/google/apiclient-services/src/Google/Service/Compute/Instance.php new file mode 100644 index 00000000..6f7d7004 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/Instance.php @@ -0,0 +1,190 @@ +canIpForward = $canIpForward; + } + public function getCanIpForward() + { + return $this->canIpForward; + } + public function setCpuPlatform($cpuPlatform) + { + $this->cpuPlatform = $cpuPlatform; + } + public function getCpuPlatform() + { + return $this->cpuPlatform; + } + public function setCreationTimestamp($creationTimestamp) + { + $this->creationTimestamp = $creationTimestamp; + } + public function getCreationTimestamp() + { + return $this->creationTimestamp; + } + public function setDescription($description) + { + $this->description = $description; + } + public function getDescription() + { + return $this->description; + } + public function setDisks($disks) + { + $this->disks = $disks; + } + public function getDisks() + { + return $this->disks; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setMachineType($machineType) + { + $this->machineType = $machineType; + } + public function getMachineType() + { + return $this->machineType; + } + public function setMetadata(Google_Service_Compute_Metadata $metadata) + { + $this->metadata = $metadata; + } + public function getMetadata() + { + return $this->metadata; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setNetworkInterfaces($networkInterfaces) + { + $this->networkInterfaces = $networkInterfaces; + } + public function getNetworkInterfaces() + { + return $this->networkInterfaces; + } + public function setScheduling(Google_Service_Compute_Scheduling $scheduling) + { + $this->scheduling = $scheduling; + } + public function getScheduling() + { + return $this->scheduling; + } + public function setSelfLink($selfLink) + { + $this->selfLink = $selfLink; + } + public function getSelfLink() + { + return $this->selfLink; + } + public function setServiceAccounts($serviceAccounts) + { + $this->serviceAccounts = $serviceAccounts; + } + public function getServiceAccounts() + { + return $this->serviceAccounts; + } + public function setStatus($status) + { + $this->status = $status; + } + public function getStatus() + { + return $this->status; + } + public function setStatusMessage($statusMessage) + { + $this->statusMessage = $statusMessage; + } + public function getStatusMessage() + { + return $this->statusMessage; + } + public function setTags(Google_Service_Compute_Tags $tags) + { + $this->tags = $tags; + } + public function getTags() + { + return $this->tags; + } + public function setZone($zone) + { + $this->zone = $zone; + } + public function getZone() + { + return $this->zone; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/InstanceAggregatedList.php b/vendor/google/apiclient-services/src/Google/Service/Compute/InstanceAggregatedList.php new file mode 100644 index 00000000..91a83c56 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/InstanceAggregatedList.php @@ -0,0 +1,67 @@ +id = $id; + } + public function getId() + { + return $this->id; + } + public function setItems($items) + { + $this->items = $items; + } + public function getItems() + { + return $this->items; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setSelfLink($selfLink) + { + $this->selfLink = $selfLink; + } + public function getSelfLink() + { + return $this->selfLink; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/InstanceGroup.php b/vendor/google/apiclient-services/src/Google/Service/Compute/InstanceGroup.php new file mode 100644 index 00000000..f2d83179 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/InstanceGroup.php @@ -0,0 +1,140 @@ +creationTimestamp = $creationTimestamp; + } + public function getCreationTimestamp() + { + return $this->creationTimestamp; + } + public function setDescription($description) + { + $this->description = $description; + } + public function getDescription() + { + return $this->description; + } + public function setFingerprint($fingerprint) + { + $this->fingerprint = $fingerprint; + } + public function getFingerprint() + { + return $this->fingerprint; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setNamedPorts($namedPorts) + { + $this->namedPorts = $namedPorts; + } + public function getNamedPorts() + { + return $this->namedPorts; + } + public function setNetwork($network) + { + $this->network = $network; + } + public function getNetwork() + { + return $this->network; + } + public function setRegion($region) + { + $this->region = $region; + } + public function getRegion() + { + return $this->region; + } + public function setSelfLink($selfLink) + { + $this->selfLink = $selfLink; + } + public function getSelfLink() + { + return $this->selfLink; + } + public function setSize($size) + { + $this->size = $size; + } + public function getSize() + { + return $this->size; + } + public function setSubnetwork($subnetwork) + { + $this->subnetwork = $subnetwork; + } + public function getSubnetwork() + { + return $this->subnetwork; + } + public function setZone($zone) + { + $this->zone = $zone; + } + public function getZone() + { + return $this->zone; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/InstanceGroupAggregatedList.php b/vendor/google/apiclient-services/src/Google/Service/Compute/InstanceGroupAggregatedList.php new file mode 100644 index 00000000..1530d36e --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/InstanceGroupAggregatedList.php @@ -0,0 +1,67 @@ +id = $id; + } + public function getId() + { + return $this->id; + } + public function setItems($items) + { + $this->items = $items; + } + public function getItems() + { + return $this->items; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setSelfLink($selfLink) + { + $this->selfLink = $selfLink; + } + public function getSelfLink() + { + return $this->selfLink; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/InstanceGroupList.php b/vendor/google/apiclient-services/src/Google/Service/Compute/InstanceGroupList.php new file mode 100644 index 00000000..7e3a843f --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/InstanceGroupList.php @@ -0,0 +1,68 @@ +id = $id; + } + public function getId() + { + return $this->id; + } + public function setItems($items) + { + $this->items = $items; + } + public function getItems() + { + return $this->items; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setSelfLink($selfLink) + { + $this->selfLink = $selfLink; + } + public function getSelfLink() + { + return $this->selfLink; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/InstanceGroupManager.php b/vendor/google/apiclient-services/src/Google/Service/Compute/InstanceGroupManager.php new file mode 100644 index 00000000..04a8641f --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/InstanceGroupManager.php @@ -0,0 +1,168 @@ +baseInstanceName = $baseInstanceName; + } + public function getBaseInstanceName() + { + return $this->baseInstanceName; + } + public function setCreationTimestamp($creationTimestamp) + { + $this->creationTimestamp = $creationTimestamp; + } + public function getCreationTimestamp() + { + return $this->creationTimestamp; + } + public function setCurrentActions(Google_Service_Compute_InstanceGroupManagerActionsSummary $currentActions) + { + $this->currentActions = $currentActions; + } + public function getCurrentActions() + { + return $this->currentActions; + } + public function setDescription($description) + { + $this->description = $description; + } + public function getDescription() + { + return $this->description; + } + public function setFingerprint($fingerprint) + { + $this->fingerprint = $fingerprint; + } + public function getFingerprint() + { + return $this->fingerprint; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setInstanceGroup($instanceGroup) + { + $this->instanceGroup = $instanceGroup; + } + public function getInstanceGroup() + { + return $this->instanceGroup; + } + public function setInstanceTemplate($instanceTemplate) + { + $this->instanceTemplate = $instanceTemplate; + } + public function getInstanceTemplate() + { + return $this->instanceTemplate; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setNamedPorts($namedPorts) + { + $this->namedPorts = $namedPorts; + } + public function getNamedPorts() + { + return $this->namedPorts; + } + public function setRegion($region) + { + $this->region = $region; + } + public function getRegion() + { + return $this->region; + } + public function setSelfLink($selfLink) + { + $this->selfLink = $selfLink; + } + public function getSelfLink() + { + return $this->selfLink; + } + public function setTargetPools($targetPools) + { + $this->targetPools = $targetPools; + } + public function getTargetPools() + { + return $this->targetPools; + } + public function setTargetSize($targetSize) + { + $this->targetSize = $targetSize; + } + public function getTargetSize() + { + return $this->targetSize; + } + public function setZone($zone) + { + $this->zone = $zone; + } + public function getZone() + { + return $this->zone; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/InstanceGroupManagerActionsSummary.php b/vendor/google/apiclient-services/src/Google/Service/Compute/InstanceGroupManagerActionsSummary.php new file mode 100644 index 00000000..3c115ade --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/InstanceGroupManagerActionsSummary.php @@ -0,0 +1,93 @@ +abandoning = $abandoning; + } + public function getAbandoning() + { + return $this->abandoning; + } + public function setCreating($creating) + { + $this->creating = $creating; + } + public function getCreating() + { + return $this->creating; + } + public function setCreatingWithoutRetries($creatingWithoutRetries) + { + $this->creatingWithoutRetries = $creatingWithoutRetries; + } + public function getCreatingWithoutRetries() + { + return $this->creatingWithoutRetries; + } + public function setDeleting($deleting) + { + $this->deleting = $deleting; + } + public function getDeleting() + { + return $this->deleting; + } + public function setNone($none) + { + $this->none = $none; + } + public function getNone() + { + return $this->none; + } + public function setRecreating($recreating) + { + $this->recreating = $recreating; + } + public function getRecreating() + { + return $this->recreating; + } + public function setRefreshing($refreshing) + { + $this->refreshing = $refreshing; + } + public function getRefreshing() + { + return $this->refreshing; + } + public function setRestarting($restarting) + { + $this->restarting = $restarting; + } + public function getRestarting() + { + return $this->restarting; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/InstanceGroupManagerAggregatedList.php b/vendor/google/apiclient-services/src/Google/Service/Compute/InstanceGroupManagerAggregatedList.php new file mode 100644 index 00000000..f323d5f1 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/InstanceGroupManagerAggregatedList.php @@ -0,0 +1,67 @@ +id = $id; + } + public function getId() + { + return $this->id; + } + public function setItems($items) + { + $this->items = $items; + } + public function getItems() + { + return $this->items; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setSelfLink($selfLink) + { + $this->selfLink = $selfLink; + } + public function getSelfLink() + { + return $this->selfLink; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/InstanceGroupManagerList.php b/vendor/google/apiclient-services/src/Google/Service/Compute/InstanceGroupManagerList.php new file mode 100644 index 00000000..b477ff89 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/InstanceGroupManagerList.php @@ -0,0 +1,68 @@ +id = $id; + } + public function getId() + { + return $this->id; + } + public function setItems($items) + { + $this->items = $items; + } + public function getItems() + { + return $this->items; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setSelfLink($selfLink) + { + $this->selfLink = $selfLink; + } + public function getSelfLink() + { + return $this->selfLink; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/InstanceGroupManagersAbandonInstancesRequest.php b/vendor/google/apiclient-services/src/Google/Service/Compute/InstanceGroupManagersAbandonInstancesRequest.php new file mode 100644 index 00000000..003f395a --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/InstanceGroupManagersAbandonInstancesRequest.php @@ -0,0 +1,31 @@ +instances = $instances; + } + public function getInstances() + { + return $this->instances; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/InstanceGroupManagersDeleteInstancesRequest.php b/vendor/google/apiclient-services/src/Google/Service/Compute/InstanceGroupManagersDeleteInstancesRequest.php new file mode 100644 index 00000000..730134f6 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/InstanceGroupManagersDeleteInstancesRequest.php @@ -0,0 +1,31 @@ +instances = $instances; + } + public function getInstances() + { + return $this->instances; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/InstanceGroupManagersListManagedInstancesResponse.php b/vendor/google/apiclient-services/src/Google/Service/Compute/InstanceGroupManagersListManagedInstancesResponse.php new file mode 100644 index 00000000..af31cdf0 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/InstanceGroupManagersListManagedInstancesResponse.php @@ -0,0 +1,32 @@ +managedInstances = $managedInstances; + } + public function getManagedInstances() + { + return $this->managedInstances; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/InstanceGroupManagersRecreateInstancesRequest.php b/vendor/google/apiclient-services/src/Google/Service/Compute/InstanceGroupManagersRecreateInstancesRequest.php new file mode 100644 index 00000000..33c6fdc2 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/InstanceGroupManagersRecreateInstancesRequest.php @@ -0,0 +1,31 @@ +instances = $instances; + } + public function getInstances() + { + return $this->instances; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/InstanceGroupManagersScopedList.php b/vendor/google/apiclient-services/src/Google/Service/Compute/InstanceGroupManagersScopedList.php new file mode 100644 index 00000000..03a6c2f6 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/InstanceGroupManagersScopedList.php @@ -0,0 +1,42 @@ +instanceGroupManagers = $instanceGroupManagers; + } + public function getInstanceGroupManagers() + { + return $this->instanceGroupManagers; + } + public function setWarning(Google_Service_Compute_InstanceGroupManagersScopedListWarning $warning) + { + $this->warning = $warning; + } + public function getWarning() + { + return $this->warning; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/InstanceGroupManagersScopedListWarning.php b/vendor/google/apiclient-services/src/Google/Service/Compute/InstanceGroupManagersScopedListWarning.php new file mode 100644 index 00000000..b5263d91 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/InstanceGroupManagersScopedListWarning.php @@ -0,0 +1,50 @@ +code = $code; + } + public function getCode() + { + return $this->code; + } + public function setData($data) + { + $this->data = $data; + } + public function getData() + { + return $this->data; + } + public function setMessage($message) + { + $this->message = $message; + } + public function getMessage() + { + return $this->message; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/InstanceGroupManagersScopedListWarningData.php b/vendor/google/apiclient-services/src/Google/Service/Compute/InstanceGroupManagersScopedListWarningData.php new file mode 100644 index 00000000..782c8669 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/InstanceGroupManagersScopedListWarningData.php @@ -0,0 +1,39 @@ +key = $key; + } + public function getKey() + { + return $this->key; + } + public function setValue($value) + { + $this->value = $value; + } + public function getValue() + { + return $this->value; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/InstanceGroupManagersSetInstanceTemplateRequest.php b/vendor/google/apiclient-services/src/Google/Service/Compute/InstanceGroupManagersSetInstanceTemplateRequest.php new file mode 100644 index 00000000..f4eb6d4b --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/InstanceGroupManagersSetInstanceTemplateRequest.php @@ -0,0 +1,30 @@ +instanceTemplate = $instanceTemplate; + } + public function getInstanceTemplate() + { + return $this->instanceTemplate; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/InstanceGroupManagersSetTargetPoolsRequest.php b/vendor/google/apiclient-services/src/Google/Service/Compute/InstanceGroupManagersSetTargetPoolsRequest.php new file mode 100644 index 00000000..faf92961 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/InstanceGroupManagersSetTargetPoolsRequest.php @@ -0,0 +1,40 @@ +fingerprint = $fingerprint; + } + public function getFingerprint() + { + return $this->fingerprint; + } + public function setTargetPools($targetPools) + { + $this->targetPools = $targetPools; + } + public function getTargetPools() + { + return $this->targetPools; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/InstanceGroupsAddInstancesRequest.php b/vendor/google/apiclient-services/src/Google/Service/Compute/InstanceGroupsAddInstancesRequest.php new file mode 100644 index 00000000..61f2d30a --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/InstanceGroupsAddInstancesRequest.php @@ -0,0 +1,32 @@ +instances = $instances; + } + public function getInstances() + { + return $this->instances; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/InstanceGroupsListInstances.php b/vendor/google/apiclient-services/src/Google/Service/Compute/InstanceGroupsListInstances.php new file mode 100644 index 00000000..00d3c8ce --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/InstanceGroupsListInstances.php @@ -0,0 +1,68 @@ +id = $id; + } + public function getId() + { + return $this->id; + } + public function setItems($items) + { + $this->items = $items; + } + public function getItems() + { + return $this->items; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setSelfLink($selfLink) + { + $this->selfLink = $selfLink; + } + public function getSelfLink() + { + return $this->selfLink; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/InstanceGroupsListInstancesRequest.php b/vendor/google/apiclient-services/src/Google/Service/Compute/InstanceGroupsListInstancesRequest.php new file mode 100644 index 00000000..96626eba --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/InstanceGroupsListInstancesRequest.php @@ -0,0 +1,30 @@ +instanceState = $instanceState; + } + public function getInstanceState() + { + return $this->instanceState; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/InstanceGroupsRemoveInstancesRequest.php b/vendor/google/apiclient-services/src/Google/Service/Compute/InstanceGroupsRemoveInstancesRequest.php new file mode 100644 index 00000000..90025aab --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/InstanceGroupsRemoveInstancesRequest.php @@ -0,0 +1,32 @@ +instances = $instances; + } + public function getInstances() + { + return $this->instances; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/InstanceGroupsScopedList.php b/vendor/google/apiclient-services/src/Google/Service/Compute/InstanceGroupsScopedList.php new file mode 100644 index 00000000..3a842801 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/InstanceGroupsScopedList.php @@ -0,0 +1,42 @@ +instanceGroups = $instanceGroups; + } + public function getInstanceGroups() + { + return $this->instanceGroups; + } + public function setWarning(Google_Service_Compute_InstanceGroupsScopedListWarning $warning) + { + $this->warning = $warning; + } + public function getWarning() + { + return $this->warning; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/InstanceGroupsScopedListWarning.php b/vendor/google/apiclient-services/src/Google/Service/Compute/InstanceGroupsScopedListWarning.php new file mode 100644 index 00000000..9e66c4cd --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/InstanceGroupsScopedListWarning.php @@ -0,0 +1,50 @@ +code = $code; + } + public function getCode() + { + return $this->code; + } + public function setData($data) + { + $this->data = $data; + } + public function getData() + { + return $this->data; + } + public function setMessage($message) + { + $this->message = $message; + } + public function getMessage() + { + return $this->message; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/InstanceGroupsScopedListWarningData.php b/vendor/google/apiclient-services/src/Google/Service/Compute/InstanceGroupsScopedListWarningData.php new file mode 100644 index 00000000..5afedbde --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/InstanceGroupsScopedListWarningData.php @@ -0,0 +1,39 @@ +key = $key; + } + public function getKey() + { + return $this->key; + } + public function setValue($value) + { + $this->value = $value; + } + public function getValue() + { + return $this->value; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/InstanceGroupsSetNamedPortsRequest.php b/vendor/google/apiclient-services/src/Google/Service/Compute/InstanceGroupsSetNamedPortsRequest.php new file mode 100644 index 00000000..39b90bec --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/InstanceGroupsSetNamedPortsRequest.php @@ -0,0 +1,41 @@ +fingerprint = $fingerprint; + } + public function getFingerprint() + { + return $this->fingerprint; + } + public function setNamedPorts($namedPorts) + { + $this->namedPorts = $namedPorts; + } + public function getNamedPorts() + { + return $this->namedPorts; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/InstanceList.php b/vendor/google/apiclient-services/src/Google/Service/Compute/InstanceList.php new file mode 100644 index 00000000..2b4972f0 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/InstanceList.php @@ -0,0 +1,68 @@ +id = $id; + } + public function getId() + { + return $this->id; + } + public function setItems($items) + { + $this->items = $items; + } + public function getItems() + { + return $this->items; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setSelfLink($selfLink) + { + $this->selfLink = $selfLink; + } + public function getSelfLink() + { + return $this->selfLink; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/InstanceMoveRequest.php b/vendor/google/apiclient-services/src/Google/Service/Compute/InstanceMoveRequest.php new file mode 100644 index 00000000..31128eac --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/InstanceMoveRequest.php @@ -0,0 +1,39 @@ +destinationZone = $destinationZone; + } + public function getDestinationZone() + { + return $this->destinationZone; + } + public function setTargetInstance($targetInstance) + { + $this->targetInstance = $targetInstance; + } + public function getTargetInstance() + { + return $this->targetInstance; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/InstanceProperties.php b/vendor/google/apiclient-services/src/Google/Service/Compute/InstanceProperties.php new file mode 100644 index 00000000..80c3bc30 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/InstanceProperties.php @@ -0,0 +1,109 @@ +canIpForward = $canIpForward; + } + public function getCanIpForward() + { + return $this->canIpForward; + } + public function setDescription($description) + { + $this->description = $description; + } + public function getDescription() + { + return $this->description; + } + public function setDisks($disks) + { + $this->disks = $disks; + } + public function getDisks() + { + return $this->disks; + } + public function setMachineType($machineType) + { + $this->machineType = $machineType; + } + public function getMachineType() + { + return $this->machineType; + } + public function setMetadata(Google_Service_Compute_Metadata $metadata) + { + $this->metadata = $metadata; + } + public function getMetadata() + { + return $this->metadata; + } + public function setNetworkInterfaces($networkInterfaces) + { + $this->networkInterfaces = $networkInterfaces; + } + public function getNetworkInterfaces() + { + return $this->networkInterfaces; + } + public function setScheduling(Google_Service_Compute_Scheduling $scheduling) + { + $this->scheduling = $scheduling; + } + public function getScheduling() + { + return $this->scheduling; + } + public function setServiceAccounts($serviceAccounts) + { + $this->serviceAccounts = $serviceAccounts; + } + public function getServiceAccounts() + { + return $this->serviceAccounts; + } + public function setTags(Google_Service_Compute_Tags $tags) + { + $this->tags = $tags; + } + public function getTags() + { + return $this->tags; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/InstanceReference.php b/vendor/google/apiclient-services/src/Google/Service/Compute/InstanceReference.php new file mode 100644 index 00000000..76f5da37 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/InstanceReference.php @@ -0,0 +1,30 @@ +instance = $instance; + } + public function getInstance() + { + return $this->instance; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/InstanceTemplate.php b/vendor/google/apiclient-services/src/Google/Service/Compute/InstanceTemplate.php new file mode 100644 index 00000000..5a251d31 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/InstanceTemplate.php @@ -0,0 +1,85 @@ +creationTimestamp = $creationTimestamp; + } + public function getCreationTimestamp() + { + return $this->creationTimestamp; + } + public function setDescription($description) + { + $this->description = $description; + } + public function getDescription() + { + return $this->description; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setProperties(Google_Service_Compute_InstanceProperties $properties) + { + $this->properties = $properties; + } + public function getProperties() + { + return $this->properties; + } + public function setSelfLink($selfLink) + { + $this->selfLink = $selfLink; + } + public function getSelfLink() + { + return $this->selfLink; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/InstanceTemplateList.php b/vendor/google/apiclient-services/src/Google/Service/Compute/InstanceTemplateList.php new file mode 100644 index 00000000..3b001023 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/InstanceTemplateList.php @@ -0,0 +1,68 @@ +id = $id; + } + public function getId() + { + return $this->id; + } + public function setItems($items) + { + $this->items = $items; + } + public function getItems() + { + return $this->items; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setSelfLink($selfLink) + { + $this->selfLink = $selfLink; + } + public function getSelfLink() + { + return $this->selfLink; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/InstanceWithNamedPorts.php b/vendor/google/apiclient-services/src/Google/Service/Compute/InstanceWithNamedPorts.php new file mode 100644 index 00000000..f7d57487 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/InstanceWithNamedPorts.php @@ -0,0 +1,50 @@ +instance = $instance; + } + public function getInstance() + { + return $this->instance; + } + public function setNamedPorts($namedPorts) + { + $this->namedPorts = $namedPorts; + } + public function getNamedPorts() + { + return $this->namedPorts; + } + public function setStatus($status) + { + $this->status = $status; + } + public function getStatus() + { + return $this->status; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/InstancesScopedList.php b/vendor/google/apiclient-services/src/Google/Service/Compute/InstancesScopedList.php new file mode 100644 index 00000000..54aadd51 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/InstancesScopedList.php @@ -0,0 +1,42 @@ +instances = $instances; + } + public function getInstances() + { + return $this->instances; + } + public function setWarning(Google_Service_Compute_InstancesScopedListWarning $warning) + { + $this->warning = $warning; + } + public function getWarning() + { + return $this->warning; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/InstancesScopedListWarning.php b/vendor/google/apiclient-services/src/Google/Service/Compute/InstancesScopedListWarning.php new file mode 100644 index 00000000..13901e5d --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/InstancesScopedListWarning.php @@ -0,0 +1,50 @@ +code = $code; + } + public function getCode() + { + return $this->code; + } + public function setData($data) + { + $this->data = $data; + } + public function getData() + { + return $this->data; + } + public function setMessage($message) + { + $this->message = $message; + } + public function getMessage() + { + return $this->message; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/InstancesScopedListWarningData.php b/vendor/google/apiclient-services/src/Google/Service/Compute/InstancesScopedListWarningData.php new file mode 100644 index 00000000..26d37b6c --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/InstancesScopedListWarningData.php @@ -0,0 +1,39 @@ +key = $key; + } + public function getKey() + { + return $this->key; + } + public function setValue($value) + { + $this->value = $value; + } + public function getValue() + { + return $this->value; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/InstancesSetMachineTypeRequest.php b/vendor/google/apiclient-services/src/Google/Service/Compute/InstancesSetMachineTypeRequest.php new file mode 100644 index 00000000..236b546d --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/InstancesSetMachineTypeRequest.php @@ -0,0 +1,30 @@ +machineType = $machineType; + } + public function getMachineType() + { + return $this->machineType; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/InstancesSetServiceAccountRequest.php b/vendor/google/apiclient-services/src/Google/Service/Compute/InstancesSetServiceAccountRequest.php new file mode 100644 index 00000000..47d01e54 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/InstancesSetServiceAccountRequest.php @@ -0,0 +1,40 @@ +email = $email; + } + public function getEmail() + { + return $this->email; + } + public function setScopes($scopes) + { + $this->scopes = $scopes; + } + public function getScopes() + { + return $this->scopes; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/InstancesStartWithEncryptionKeyRequest.php b/vendor/google/apiclient-services/src/Google/Service/Compute/InstancesStartWithEncryptionKeyRequest.php new file mode 100644 index 00000000..74908607 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/InstancesStartWithEncryptionKeyRequest.php @@ -0,0 +1,32 @@ +disks = $disks; + } + public function getDisks() + { + return $this->disks; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/License.php b/vendor/google/apiclient-services/src/Google/Service/Compute/License.php new file mode 100644 index 00000000..c118c70d --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/License.php @@ -0,0 +1,57 @@ +chargesUseFee = $chargesUseFee; + } + public function getChargesUseFee() + { + return $this->chargesUseFee; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setSelfLink($selfLink) + { + $this->selfLink = $selfLink; + } + public function getSelfLink() + { + return $this->selfLink; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/MachineType.php b/vendor/google/apiclient-services/src/Google/Service/Compute/MachineType.php new file mode 100644 index 00000000..bd6c6074 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/MachineType.php @@ -0,0 +1,159 @@ +creationTimestamp = $creationTimestamp; + } + public function getCreationTimestamp() + { + return $this->creationTimestamp; + } + public function setDeprecated(Google_Service_Compute_DeprecationStatus $deprecated) + { + $this->deprecated = $deprecated; + } + public function getDeprecated() + { + return $this->deprecated; + } + public function setDescription($description) + { + $this->description = $description; + } + public function getDescription() + { + return $this->description; + } + public function setGuestCpus($guestCpus) + { + $this->guestCpus = $guestCpus; + } + public function getGuestCpus() + { + return $this->guestCpus; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setImageSpaceGb($imageSpaceGb) + { + $this->imageSpaceGb = $imageSpaceGb; + } + public function getImageSpaceGb() + { + return $this->imageSpaceGb; + } + public function setIsSharedCpu($isSharedCpu) + { + $this->isSharedCpu = $isSharedCpu; + } + public function getIsSharedCpu() + { + return $this->isSharedCpu; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setMaximumPersistentDisks($maximumPersistentDisks) + { + $this->maximumPersistentDisks = $maximumPersistentDisks; + } + public function getMaximumPersistentDisks() + { + return $this->maximumPersistentDisks; + } + public function setMaximumPersistentDisksSizeGb($maximumPersistentDisksSizeGb) + { + $this->maximumPersistentDisksSizeGb = $maximumPersistentDisksSizeGb; + } + public function getMaximumPersistentDisksSizeGb() + { + return $this->maximumPersistentDisksSizeGb; + } + public function setMemoryMb($memoryMb) + { + $this->memoryMb = $memoryMb; + } + public function getMemoryMb() + { + return $this->memoryMb; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setScratchDisks($scratchDisks) + { + $this->scratchDisks = $scratchDisks; + } + public function getScratchDisks() + { + return $this->scratchDisks; + } + public function setSelfLink($selfLink) + { + $this->selfLink = $selfLink; + } + public function getSelfLink() + { + return $this->selfLink; + } + public function setZone($zone) + { + $this->zone = $zone; + } + public function getZone() + { + return $this->zone; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/MachineTypeAggregatedList.php b/vendor/google/apiclient-services/src/Google/Service/Compute/MachineTypeAggregatedList.php new file mode 100644 index 00000000..7797003a --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/MachineTypeAggregatedList.php @@ -0,0 +1,67 @@ +id = $id; + } + public function getId() + { + return $this->id; + } + public function setItems($items) + { + $this->items = $items; + } + public function getItems() + { + return $this->items; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setSelfLink($selfLink) + { + $this->selfLink = $selfLink; + } + public function getSelfLink() + { + return $this->selfLink; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/MachineTypeList.php b/vendor/google/apiclient-services/src/Google/Service/Compute/MachineTypeList.php new file mode 100644 index 00000000..318bc1c3 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/MachineTypeList.php @@ -0,0 +1,68 @@ +id = $id; + } + public function getId() + { + return $this->id; + } + public function setItems($items) + { + $this->items = $items; + } + public function getItems() + { + return $this->items; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setSelfLink($selfLink) + { + $this->selfLink = $selfLink; + } + public function getSelfLink() + { + return $this->selfLink; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/MachineTypeScratchDisks.php b/vendor/google/apiclient-services/src/Google/Service/Compute/MachineTypeScratchDisks.php new file mode 100644 index 00000000..cb288a4e --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/MachineTypeScratchDisks.php @@ -0,0 +1,30 @@ +diskGb = $diskGb; + } + public function getDiskGb() + { + return $this->diskGb; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/MachineTypesScopedList.php b/vendor/google/apiclient-services/src/Google/Service/Compute/MachineTypesScopedList.php new file mode 100644 index 00000000..9837344a --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/MachineTypesScopedList.php @@ -0,0 +1,42 @@ +machineTypes = $machineTypes; + } + public function getMachineTypes() + { + return $this->machineTypes; + } + public function setWarning(Google_Service_Compute_MachineTypesScopedListWarning $warning) + { + $this->warning = $warning; + } + public function getWarning() + { + return $this->warning; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/MachineTypesScopedListWarning.php b/vendor/google/apiclient-services/src/Google/Service/Compute/MachineTypesScopedListWarning.php new file mode 100644 index 00000000..a388962b --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/MachineTypesScopedListWarning.php @@ -0,0 +1,50 @@ +code = $code; + } + public function getCode() + { + return $this->code; + } + public function setData($data) + { + $this->data = $data; + } + public function getData() + { + return $this->data; + } + public function setMessage($message) + { + $this->message = $message; + } + public function getMessage() + { + return $this->message; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/MachineTypesScopedListWarningData.php b/vendor/google/apiclient-services/src/Google/Service/Compute/MachineTypesScopedListWarningData.php new file mode 100644 index 00000000..bfc4bbd6 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/MachineTypesScopedListWarningData.php @@ -0,0 +1,39 @@ +key = $key; + } + public function getKey() + { + return $this->key; + } + public function setValue($value) + { + $this->value = $value; + } + public function getValue() + { + return $this->value; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/ManagedInstance.php b/vendor/google/apiclient-services/src/Google/Service/Compute/ManagedInstance.php new file mode 100644 index 00000000..d4185edc --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/ManagedInstance.php @@ -0,0 +1,67 @@ +currentAction = $currentAction; + } + public function getCurrentAction() + { + return $this->currentAction; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setInstance($instance) + { + $this->instance = $instance; + } + public function getInstance() + { + return $this->instance; + } + public function setInstanceStatus($instanceStatus) + { + $this->instanceStatus = $instanceStatus; + } + public function getInstanceStatus() + { + return $this->instanceStatus; + } + public function setLastAttempt(Google_Service_Compute_ManagedInstanceLastAttempt $lastAttempt) + { + $this->lastAttempt = $lastAttempt; + } + public function getLastAttempt() + { + return $this->lastAttempt; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/ManagedInstanceLastAttempt.php b/vendor/google/apiclient-services/src/Google/Service/Compute/ManagedInstanceLastAttempt.php new file mode 100644 index 00000000..659d6477 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/ManagedInstanceLastAttempt.php @@ -0,0 +1,31 @@ +errors = $errors; + } + public function getErrors() + { + return $this->errors; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/ManagedInstanceLastAttemptErrors.php b/vendor/google/apiclient-services/src/Google/Service/Compute/ManagedInstanceLastAttemptErrors.php new file mode 100644 index 00000000..52b1f880 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/ManagedInstanceLastAttemptErrors.php @@ -0,0 +1,32 @@ +errors = $errors; + } + public function getErrors() + { + return $this->errors; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/ManagedInstanceLastAttemptErrorsErrors.php b/vendor/google/apiclient-services/src/Google/Service/Compute/ManagedInstanceLastAttemptErrorsErrors.php new file mode 100644 index 00000000..cba3b4e4 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/ManagedInstanceLastAttemptErrorsErrors.php @@ -0,0 +1,48 @@ +code = $code; + } + public function getCode() + { + return $this->code; + } + public function setLocation($location) + { + $this->location = $location; + } + public function getLocation() + { + return $this->location; + } + public function setMessage($message) + { + $this->message = $message; + } + public function getMessage() + { + return $this->message; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/Metadata.php b/vendor/google/apiclient-services/src/Google/Service/Compute/Metadata.php new file mode 100644 index 00000000..f35c3842 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/Metadata.php @@ -0,0 +1,50 @@ +fingerprint = $fingerprint; + } + public function getFingerprint() + { + return $this->fingerprint; + } + public function setItems($items) + { + $this->items = $items; + } + public function getItems() + { + return $this->items; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/MetadataItems.php b/vendor/google/apiclient-services/src/Google/Service/Compute/MetadataItems.php new file mode 100644 index 00000000..f0244b54 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/MetadataItems.php @@ -0,0 +1,39 @@ +key = $key; + } + public function getKey() + { + return $this->key; + } + public function setValue($value) + { + $this->value = $value; + } + public function getValue() + { + return $this->value; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/NamedPort.php b/vendor/google/apiclient-services/src/Google/Service/Compute/NamedPort.php new file mode 100644 index 00000000..d654f378 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/NamedPort.php @@ -0,0 +1,39 @@ +name = $name; + } + public function getName() + { + return $this->name; + } + public function setPort($port) + { + $this->port = $port; + } + public function getPort() + { + return $this->port; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/Network.php b/vendor/google/apiclient-services/src/Google/Service/Compute/Network.php new file mode 100644 index 00000000..c8b3a1ac --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/Network.php @@ -0,0 +1,115 @@ + "IPv4Range", + ); + public $iPv4Range; + public $autoCreateSubnetworks; + public $creationTimestamp; + public $description; + public $gatewayIPv4; + public $id; + public $kind; + public $name; + public $selfLink; + public $subnetworks; + + public function setIPv4Range($iPv4Range) + { + $this->iPv4Range = $iPv4Range; + } + public function getIPv4Range() + { + return $this->iPv4Range; + } + public function setAutoCreateSubnetworks($autoCreateSubnetworks) + { + $this->autoCreateSubnetworks = $autoCreateSubnetworks; + } + public function getAutoCreateSubnetworks() + { + return $this->autoCreateSubnetworks; + } + public function setCreationTimestamp($creationTimestamp) + { + $this->creationTimestamp = $creationTimestamp; + } + public function getCreationTimestamp() + { + return $this->creationTimestamp; + } + public function setDescription($description) + { + $this->description = $description; + } + public function getDescription() + { + return $this->description; + } + public function setGatewayIPv4($gatewayIPv4) + { + $this->gatewayIPv4 = $gatewayIPv4; + } + public function getGatewayIPv4() + { + return $this->gatewayIPv4; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setSelfLink($selfLink) + { + $this->selfLink = $selfLink; + } + public function getSelfLink() + { + return $this->selfLink; + } + public function setSubnetworks($subnetworks) + { + $this->subnetworks = $subnetworks; + } + public function getSubnetworks() + { + return $this->subnetworks; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/NetworkInterface.php b/vendor/google/apiclient-services/src/Google/Service/Compute/NetworkInterface.php new file mode 100644 index 00000000..52529961 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/NetworkInterface.php @@ -0,0 +1,77 @@ +accessConfigs = $accessConfigs; + } + public function getAccessConfigs() + { + return $this->accessConfigs; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setNetwork($network) + { + $this->network = $network; + } + public function getNetwork() + { + return $this->network; + } + public function setNetworkIP($networkIP) + { + $this->networkIP = $networkIP; + } + public function getNetworkIP() + { + return $this->networkIP; + } + public function setSubnetwork($subnetwork) + { + $this->subnetwork = $subnetwork; + } + public function getSubnetwork() + { + return $this->subnetwork; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/NetworkList.php b/vendor/google/apiclient-services/src/Google/Service/Compute/NetworkList.php new file mode 100644 index 00000000..a1b084e7 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/NetworkList.php @@ -0,0 +1,68 @@ +id = $id; + } + public function getId() + { + return $this->id; + } + public function setItems($items) + { + $this->items = $items; + } + public function getItems() + { + return $this->items; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setSelfLink($selfLink) + { + $this->selfLink = $selfLink; + } + public function getSelfLink() + { + return $this->selfLink; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/Operation.php b/vendor/google/apiclient-services/src/Google/Service/Compute/Operation.php new file mode 100644 index 00000000..977d65d2 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/Operation.php @@ -0,0 +1,231 @@ +clientOperationId = $clientOperationId; + } + public function getClientOperationId() + { + return $this->clientOperationId; + } + public function setCreationTimestamp($creationTimestamp) + { + $this->creationTimestamp = $creationTimestamp; + } + public function getCreationTimestamp() + { + return $this->creationTimestamp; + } + public function setDescription($description) + { + $this->description = $description; + } + public function getDescription() + { + return $this->description; + } + public function setEndTime($endTime) + { + $this->endTime = $endTime; + } + public function getEndTime() + { + return $this->endTime; + } + public function setError(Google_Service_Compute_OperationError $error) + { + $this->error = $error; + } + public function getError() + { + return $this->error; + } + public function setHttpErrorMessage($httpErrorMessage) + { + $this->httpErrorMessage = $httpErrorMessage; + } + public function getHttpErrorMessage() + { + return $this->httpErrorMessage; + } + public function setHttpErrorStatusCode($httpErrorStatusCode) + { + $this->httpErrorStatusCode = $httpErrorStatusCode; + } + public function getHttpErrorStatusCode() + { + return $this->httpErrorStatusCode; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setInsertTime($insertTime) + { + $this->insertTime = $insertTime; + } + public function getInsertTime() + { + return $this->insertTime; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setOperationType($operationType) + { + $this->operationType = $operationType; + } + public function getOperationType() + { + return $this->operationType; + } + public function setProgress($progress) + { + $this->progress = $progress; + } + public function getProgress() + { + return $this->progress; + } + public function setRegion($region) + { + $this->region = $region; + } + public function getRegion() + { + return $this->region; + } + public function setSelfLink($selfLink) + { + $this->selfLink = $selfLink; + } + public function getSelfLink() + { + return $this->selfLink; + } + public function setStartTime($startTime) + { + $this->startTime = $startTime; + } + public function getStartTime() + { + return $this->startTime; + } + public function setStatus($status) + { + $this->status = $status; + } + public function getStatus() + { + return $this->status; + } + public function setStatusMessage($statusMessage) + { + $this->statusMessage = $statusMessage; + } + public function getStatusMessage() + { + return $this->statusMessage; + } + public function setTargetId($targetId) + { + $this->targetId = $targetId; + } + public function getTargetId() + { + return $this->targetId; + } + public function setTargetLink($targetLink) + { + $this->targetLink = $targetLink; + } + public function getTargetLink() + { + return $this->targetLink; + } + public function setUser($user) + { + $this->user = $user; + } + public function getUser() + { + return $this->user; + } + public function setWarnings($warnings) + { + $this->warnings = $warnings; + } + public function getWarnings() + { + return $this->warnings; + } + public function setZone($zone) + { + $this->zone = $zone; + } + public function getZone() + { + return $this->zone; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/OperationAggregatedList.php b/vendor/google/apiclient-services/src/Google/Service/Compute/OperationAggregatedList.php new file mode 100644 index 00000000..fac3ad79 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/OperationAggregatedList.php @@ -0,0 +1,67 @@ +id = $id; + } + public function getId() + { + return $this->id; + } + public function setItems($items) + { + $this->items = $items; + } + public function getItems() + { + return $this->items; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setSelfLink($selfLink) + { + $this->selfLink = $selfLink; + } + public function getSelfLink() + { + return $this->selfLink; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/OperationError.php b/vendor/google/apiclient-services/src/Google/Service/Compute/OperationError.php new file mode 100644 index 00000000..129e54f5 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/OperationError.php @@ -0,0 +1,32 @@ +errors = $errors; + } + public function getErrors() + { + return $this->errors; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/OperationErrorErrors.php b/vendor/google/apiclient-services/src/Google/Service/Compute/OperationErrorErrors.php new file mode 100644 index 00000000..f2d6343e --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/OperationErrorErrors.php @@ -0,0 +1,48 @@ +code = $code; + } + public function getCode() + { + return $this->code; + } + public function setLocation($location) + { + $this->location = $location; + } + public function getLocation() + { + return $this->location; + } + public function setMessage($message) + { + $this->message = $message; + } + public function getMessage() + { + return $this->message; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/OperationList.php b/vendor/google/apiclient-services/src/Google/Service/Compute/OperationList.php new file mode 100644 index 00000000..464ee133 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/OperationList.php @@ -0,0 +1,68 @@ +id = $id; + } + public function getId() + { + return $this->id; + } + public function setItems($items) + { + $this->items = $items; + } + public function getItems() + { + return $this->items; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setSelfLink($selfLink) + { + $this->selfLink = $selfLink; + } + public function getSelfLink() + { + return $this->selfLink; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/OperationWarnings.php b/vendor/google/apiclient-services/src/Google/Service/Compute/OperationWarnings.php new file mode 100644 index 00000000..0f926dc5 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/OperationWarnings.php @@ -0,0 +1,50 @@ +code = $code; + } + public function getCode() + { + return $this->code; + } + public function setData($data) + { + $this->data = $data; + } + public function getData() + { + return $this->data; + } + public function setMessage($message) + { + $this->message = $message; + } + public function getMessage() + { + return $this->message; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/OperationWarningsData.php b/vendor/google/apiclient-services/src/Google/Service/Compute/OperationWarningsData.php new file mode 100644 index 00000000..e780c0e3 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/OperationWarningsData.php @@ -0,0 +1,39 @@ +key = $key; + } + public function getKey() + { + return $this->key; + } + public function setValue($value) + { + $this->value = $value; + } + public function getValue() + { + return $this->value; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/OperationsScopedList.php b/vendor/google/apiclient-services/src/Google/Service/Compute/OperationsScopedList.php new file mode 100644 index 00000000..a20264ec --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/OperationsScopedList.php @@ -0,0 +1,42 @@ +operations = $operations; + } + public function getOperations() + { + return $this->operations; + } + public function setWarning(Google_Service_Compute_OperationsScopedListWarning $warning) + { + $this->warning = $warning; + } + public function getWarning() + { + return $this->warning; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/OperationsScopedListWarning.php b/vendor/google/apiclient-services/src/Google/Service/Compute/OperationsScopedListWarning.php new file mode 100644 index 00000000..e21b32ca --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/OperationsScopedListWarning.php @@ -0,0 +1,50 @@ +code = $code; + } + public function getCode() + { + return $this->code; + } + public function setData($data) + { + $this->data = $data; + } + public function getData() + { + return $this->data; + } + public function setMessage($message) + { + $this->message = $message; + } + public function getMessage() + { + return $this->message; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/OperationsScopedListWarningData.php b/vendor/google/apiclient-services/src/Google/Service/Compute/OperationsScopedListWarningData.php new file mode 100644 index 00000000..5465df98 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/OperationsScopedListWarningData.php @@ -0,0 +1,39 @@ +key = $key; + } + public function getKey() + { + return $this->key; + } + public function setValue($value) + { + $this->value = $value; + } + public function getValue() + { + return $this->value; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/PathMatcher.php b/vendor/google/apiclient-services/src/Google/Service/Compute/PathMatcher.php new file mode 100644 index 00000000..68589956 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/PathMatcher.php @@ -0,0 +1,59 @@ +defaultService = $defaultService; + } + public function getDefaultService() + { + return $this->defaultService; + } + public function setDescription($description) + { + $this->description = $description; + } + public function getDescription() + { + return $this->description; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setPathRules($pathRules) + { + $this->pathRules = $pathRules; + } + public function getPathRules() + { + return $this->pathRules; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/PathRule.php b/vendor/google/apiclient-services/src/Google/Service/Compute/PathRule.php new file mode 100644 index 00000000..6e6f1a2b --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/PathRule.php @@ -0,0 +1,40 @@ +paths = $paths; + } + public function getPaths() + { + return $this->paths; + } + public function setService($service) + { + $this->service = $service; + } + public function getService() + { + return $this->service; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/Project.php b/vendor/google/apiclient-services/src/Google/Service/Compute/Project.php new file mode 100644 index 00000000..2b287643 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/Project.php @@ -0,0 +1,124 @@ +commonInstanceMetadata = $commonInstanceMetadata; + } + public function getCommonInstanceMetadata() + { + return $this->commonInstanceMetadata; + } + public function setCreationTimestamp($creationTimestamp) + { + $this->creationTimestamp = $creationTimestamp; + } + public function getCreationTimestamp() + { + return $this->creationTimestamp; + } + public function setDefaultServiceAccount($defaultServiceAccount) + { + $this->defaultServiceAccount = $defaultServiceAccount; + } + public function getDefaultServiceAccount() + { + return $this->defaultServiceAccount; + } + public function setDescription($description) + { + $this->description = $description; + } + public function getDescription() + { + return $this->description; + } + public function setEnabledFeatures($enabledFeatures) + { + $this->enabledFeatures = $enabledFeatures; + } + public function getEnabledFeatures() + { + return $this->enabledFeatures; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setQuotas($quotas) + { + $this->quotas = $quotas; + } + public function getQuotas() + { + return $this->quotas; + } + public function setSelfLink($selfLink) + { + $this->selfLink = $selfLink; + } + public function getSelfLink() + { + return $this->selfLink; + } + public function setUsageExportLocation(Google_Service_Compute_UsageExportLocation $usageExportLocation) + { + $this->usageExportLocation = $usageExportLocation; + } + public function getUsageExportLocation() + { + return $this->usageExportLocation; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/Quota.php b/vendor/google/apiclient-services/src/Google/Service/Compute/Quota.php new file mode 100644 index 00000000..a1a30905 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/Quota.php @@ -0,0 +1,48 @@ +limit = $limit; + } + public function getLimit() + { + return $this->limit; + } + public function setMetric($metric) + { + $this->metric = $metric; + } + public function getMetric() + { + return $this->metric; + } + public function setUsage($usage) + { + $this->usage = $usage; + } + public function getUsage() + { + return $this->usage; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/Region.php b/vendor/google/apiclient-services/src/Google/Service/Compute/Region.php new file mode 100644 index 00000000..bd4fc843 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/Region.php @@ -0,0 +1,114 @@ +creationTimestamp = $creationTimestamp; + } + public function getCreationTimestamp() + { + return $this->creationTimestamp; + } + public function setDeprecated(Google_Service_Compute_DeprecationStatus $deprecated) + { + $this->deprecated = $deprecated; + } + public function getDeprecated() + { + return $this->deprecated; + } + public function setDescription($description) + { + $this->description = $description; + } + public function getDescription() + { + return $this->description; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setQuotas($quotas) + { + $this->quotas = $quotas; + } + public function getQuotas() + { + return $this->quotas; + } + public function setSelfLink($selfLink) + { + $this->selfLink = $selfLink; + } + public function getSelfLink() + { + return $this->selfLink; + } + public function setStatus($status) + { + $this->status = $status; + } + public function getStatus() + { + return $this->status; + } + public function setZones($zones) + { + $this->zones = $zones; + } + public function getZones() + { + return $this->zones; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/RegionAutoscalerList.php b/vendor/google/apiclient-services/src/Google/Service/Compute/RegionAutoscalerList.php new file mode 100644 index 00000000..0cd5ad76 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/RegionAutoscalerList.php @@ -0,0 +1,68 @@ +id = $id; + } + public function getId() + { + return $this->id; + } + public function setItems($items) + { + $this->items = $items; + } + public function getItems() + { + return $this->items; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setSelfLink($selfLink) + { + $this->selfLink = $selfLink; + } + public function getSelfLink() + { + return $this->selfLink; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/RegionInstanceGroupList.php b/vendor/google/apiclient-services/src/Google/Service/Compute/RegionInstanceGroupList.php new file mode 100644 index 00000000..69931641 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/RegionInstanceGroupList.php @@ -0,0 +1,68 @@ +id = $id; + } + public function getId() + { + return $this->id; + } + public function setItems($items) + { + $this->items = $items; + } + public function getItems() + { + return $this->items; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setSelfLink($selfLink) + { + $this->selfLink = $selfLink; + } + public function getSelfLink() + { + return $this->selfLink; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/RegionInstanceGroupManagerList.php b/vendor/google/apiclient-services/src/Google/Service/Compute/RegionInstanceGroupManagerList.php new file mode 100644 index 00000000..6d0123bd --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/RegionInstanceGroupManagerList.php @@ -0,0 +1,68 @@ +id = $id; + } + public function getId() + { + return $this->id; + } + public function setItems($items) + { + $this->items = $items; + } + public function getItems() + { + return $this->items; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setSelfLink($selfLink) + { + $this->selfLink = $selfLink; + } + public function getSelfLink() + { + return $this->selfLink; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/RegionInstanceGroupManagersAbandonInstancesRequest.php b/vendor/google/apiclient-services/src/Google/Service/Compute/RegionInstanceGroupManagersAbandonInstancesRequest.php new file mode 100644 index 00000000..a6b34ae2 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/RegionInstanceGroupManagersAbandonInstancesRequest.php @@ -0,0 +1,31 @@ +instances = $instances; + } + public function getInstances() + { + return $this->instances; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/RegionInstanceGroupManagersDeleteInstancesRequest.php b/vendor/google/apiclient-services/src/Google/Service/Compute/RegionInstanceGroupManagersDeleteInstancesRequest.php new file mode 100644 index 00000000..c56fa201 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/RegionInstanceGroupManagersDeleteInstancesRequest.php @@ -0,0 +1,31 @@ +instances = $instances; + } + public function getInstances() + { + return $this->instances; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/RegionInstanceGroupManagersListInstancesResponse.php b/vendor/google/apiclient-services/src/Google/Service/Compute/RegionInstanceGroupManagersListInstancesResponse.php new file mode 100644 index 00000000..c8783a1c --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/RegionInstanceGroupManagersListInstancesResponse.php @@ -0,0 +1,32 @@ +managedInstances = $managedInstances; + } + public function getManagedInstances() + { + return $this->managedInstances; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/RegionInstanceGroupManagersRecreateRequest.php b/vendor/google/apiclient-services/src/Google/Service/Compute/RegionInstanceGroupManagersRecreateRequest.php new file mode 100644 index 00000000..9be7b4e0 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/RegionInstanceGroupManagersRecreateRequest.php @@ -0,0 +1,31 @@ +instances = $instances; + } + public function getInstances() + { + return $this->instances; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/RegionInstanceGroupManagersSetTargetPoolsRequest.php b/vendor/google/apiclient-services/src/Google/Service/Compute/RegionInstanceGroupManagersSetTargetPoolsRequest.php new file mode 100644 index 00000000..fcd97d18 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/RegionInstanceGroupManagersSetTargetPoolsRequest.php @@ -0,0 +1,40 @@ +fingerprint = $fingerprint; + } + public function getFingerprint() + { + return $this->fingerprint; + } + public function setTargetPools($targetPools) + { + $this->targetPools = $targetPools; + } + public function getTargetPools() + { + return $this->targetPools; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/RegionInstanceGroupManagersSetTemplateRequest.php b/vendor/google/apiclient-services/src/Google/Service/Compute/RegionInstanceGroupManagersSetTemplateRequest.php new file mode 100644 index 00000000..1aeebcd0 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/RegionInstanceGroupManagersSetTemplateRequest.php @@ -0,0 +1,30 @@ +instanceTemplate = $instanceTemplate; + } + public function getInstanceTemplate() + { + return $this->instanceTemplate; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/RegionInstanceGroupsListInstances.php b/vendor/google/apiclient-services/src/Google/Service/Compute/RegionInstanceGroupsListInstances.php new file mode 100644 index 00000000..739d2e27 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/RegionInstanceGroupsListInstances.php @@ -0,0 +1,68 @@ +id = $id; + } + public function getId() + { + return $this->id; + } + public function setItems($items) + { + $this->items = $items; + } + public function getItems() + { + return $this->items; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setSelfLink($selfLink) + { + $this->selfLink = $selfLink; + } + public function getSelfLink() + { + return $this->selfLink; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/RegionInstanceGroupsListInstancesRequest.php b/vendor/google/apiclient-services/src/Google/Service/Compute/RegionInstanceGroupsListInstancesRequest.php new file mode 100644 index 00000000..faecfb8b --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/RegionInstanceGroupsListInstancesRequest.php @@ -0,0 +1,39 @@ +instanceState = $instanceState; + } + public function getInstanceState() + { + return $this->instanceState; + } + public function setPortName($portName) + { + $this->portName = $portName; + } + public function getPortName() + { + return $this->portName; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/RegionInstanceGroupsSetNamedPortsRequest.php b/vendor/google/apiclient-services/src/Google/Service/Compute/RegionInstanceGroupsSetNamedPortsRequest.php new file mode 100644 index 00000000..e5ec1b7b --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/RegionInstanceGroupsSetNamedPortsRequest.php @@ -0,0 +1,41 @@ +fingerprint = $fingerprint; + } + public function getFingerprint() + { + return $this->fingerprint; + } + public function setNamedPorts($namedPorts) + { + $this->namedPorts = $namedPorts; + } + public function getNamedPorts() + { + return $this->namedPorts; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/RegionList.php b/vendor/google/apiclient-services/src/Google/Service/Compute/RegionList.php new file mode 100644 index 00000000..630c76b8 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/RegionList.php @@ -0,0 +1,68 @@ +id = $id; + } + public function getId() + { + return $this->id; + } + public function setItems($items) + { + $this->items = $items; + } + public function getItems() + { + return $this->items; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setSelfLink($selfLink) + { + $this->selfLink = $selfLink; + } + public function getSelfLink() + { + return $this->selfLink; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/Resource/Addresses.php b/vendor/google/apiclient-services/src/Google/Service/Compute/Resource/Addresses.php new file mode 100644 index 00000000..20769450 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/Resource/Addresses.php @@ -0,0 +1,188 @@ + + * $computeService = new Google_Service_Compute(...); + * $addresses = $computeService->addresses; + * + */ +class Google_Service_Compute_Resource_Addresses extends Google_Service_Resource +{ + /** + * Retrieves an aggregated list of addresses. (addresses.aggregatedList) + * + * @param string $project Project ID for this request. + * @param array $optParams Optional parameters. + * + * @opt_param string filter Sets a filter expression for filtering listed + * resources, in the form filter={expression}. Your {expression} must be in the + * format: field_name comparison_string literal_string. + * + * The field_name is the name of the field you want to compare. Only atomic + * field types are supported (string, number, boolean). The comparison_string + * must be either eq (equals) or ne (not equals). The literal_string is the + * string value to filter to. The literal value must be valid for the type of + * field you are filtering by (string, number, boolean). For string fields, the + * literal value is interpreted as a regular expression using RE2 syntax. The + * literal value must match the entire field. + * + * For example, to filter for instances that do not have a name of example- + * instance, you would use filter=name ne example-instance. + * + * You can filter on nested fields. For example, you could filter on instances + * that have set the scheduling.automaticRestart field to true. Use filtering on + * nested fields to take advantage of labels to organize and search for results + * based on label values. + * + * To filter on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us- + * central1-f). Multiple expressions are treated as AND expressions, meaning + * that resources must match all expressions to pass the filters. + * @opt_param string maxResults The maximum number of results per page that + * should be returned. If the number of available results is larger than + * maxResults, Compute Engine returns a nextPageToken that can be used to get + * the next page of results in subsequent list requests. Acceptable values are 0 + * to 500, inclusive. (Default: 500) + * @opt_param string orderBy Sorts list results by a certain order. By default, + * results are returned in alphanumerical order based on the resource name. + * + * You can also sort results in descending order based on the creation timestamp + * using orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result first). + * Use this to sort resources like operations so that the newest operation is + * returned first. + * + * Currently, only sorting by name or creationTimestamp desc is supported. + * @opt_param string pageToken Specifies a page token to use. Set pageToken to + * the nextPageToken returned by a previous list request to get the next page of + * results. + * @return Google_Service_Compute_AddressAggregatedList + */ + public function aggregatedList($project, $optParams = array()) + { + $params = array('project' => $project); + $params = array_merge($params, $optParams); + return $this->call('aggregatedList', array($params), "Google_Service_Compute_AddressAggregatedList"); + } + /** + * Deletes the specified address resource. (addresses.delete) + * + * @param string $project Project ID for this request. + * @param string $region Name of the region for this request. + * @param string $address Name of the address resource to delete. + * @param array $optParams Optional parameters. + * @return Google_Service_Compute_Operation + */ + public function delete($project, $region, $address, $optParams = array()) + { + $params = array('project' => $project, 'region' => $region, 'address' => $address); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params), "Google_Service_Compute_Operation"); + } + /** + * Returns the specified address resource. (addresses.get) + * + * @param string $project Project ID for this request. + * @param string $region Name of the region for this request. + * @param string $address Name of the address resource to return. + * @param array $optParams Optional parameters. + * @return Google_Service_Compute_Address + */ + public function get($project, $region, $address, $optParams = array()) + { + $params = array('project' => $project, 'region' => $region, 'address' => $address); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Compute_Address"); + } + /** + * Creates an address resource in the specified project using the data included + * in the request. (addresses.insert) + * + * @param string $project Project ID for this request. + * @param string $region Name of the region for this request. + * @param Google_Service_Compute_Address $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Compute_Operation + */ + public function insert($project, $region, Google_Service_Compute_Address $postBody, $optParams = array()) + { + $params = array('project' => $project, 'region' => $region, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('insert', array($params), "Google_Service_Compute_Operation"); + } + /** + * Retrieves a list of addresses contained within the specified region. + * (addresses.listAddresses) + * + * @param string $project Project ID for this request. + * @param string $region Name of the region for this request. + * @param array $optParams Optional parameters. + * + * @opt_param string filter Sets a filter expression for filtering listed + * resources, in the form filter={expression}. Your {expression} must be in the + * format: field_name comparison_string literal_string. + * + * The field_name is the name of the field you want to compare. Only atomic + * field types are supported (string, number, boolean). The comparison_string + * must be either eq (equals) or ne (not equals). The literal_string is the + * string value to filter to. The literal value must be valid for the type of + * field you are filtering by (string, number, boolean). For string fields, the + * literal value is interpreted as a regular expression using RE2 syntax. The + * literal value must match the entire field. + * + * For example, to filter for instances that do not have a name of example- + * instance, you would use filter=name ne example-instance. + * + * You can filter on nested fields. For example, you could filter on instances + * that have set the scheduling.automaticRestart field to true. Use filtering on + * nested fields to take advantage of labels to organize and search for results + * based on label values. + * + * To filter on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us- + * central1-f). Multiple expressions are treated as AND expressions, meaning + * that resources must match all expressions to pass the filters. + * @opt_param string maxResults The maximum number of results per page that + * should be returned. If the number of available results is larger than + * maxResults, Compute Engine returns a nextPageToken that can be used to get + * the next page of results in subsequent list requests. Acceptable values are 0 + * to 500, inclusive. (Default: 500) + * @opt_param string orderBy Sorts list results by a certain order. By default, + * results are returned in alphanumerical order based on the resource name. + * + * You can also sort results in descending order based on the creation timestamp + * using orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result first). + * Use this to sort resources like operations so that the newest operation is + * returned first. + * + * Currently, only sorting by name or creationTimestamp desc is supported. + * @opt_param string pageToken Specifies a page token to use. Set pageToken to + * the nextPageToken returned by a previous list request to get the next page of + * results. + * @return Google_Service_Compute_AddressList + */ + public function listAddresses($project, $region, $optParams = array()) + { + $params = array('project' => $project, 'region' => $region); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Compute_AddressList"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/Resource/Autoscalers.php b/vendor/google/apiclient-services/src/Google/Service/Compute/Resource/Autoscalers.php new file mode 100644 index 00000000..c0084e0a --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/Resource/Autoscalers.php @@ -0,0 +1,224 @@ + + * $computeService = new Google_Service_Compute(...); + * $autoscalers = $computeService->autoscalers; + * + */ +class Google_Service_Compute_Resource_Autoscalers extends Google_Service_Resource +{ + /** + * Retrieves an aggregated list of autoscalers. (autoscalers.aggregatedList) + * + * @param string $project Project ID for this request. + * @param array $optParams Optional parameters. + * + * @opt_param string filter Sets a filter expression for filtering listed + * resources, in the form filter={expression}. Your {expression} must be in the + * format: field_name comparison_string literal_string. + * + * The field_name is the name of the field you want to compare. Only atomic + * field types are supported (string, number, boolean). The comparison_string + * must be either eq (equals) or ne (not equals). The literal_string is the + * string value to filter to. The literal value must be valid for the type of + * field you are filtering by (string, number, boolean). For string fields, the + * literal value is interpreted as a regular expression using RE2 syntax. The + * literal value must match the entire field. + * + * For example, to filter for instances that do not have a name of example- + * instance, you would use filter=name ne example-instance. + * + * You can filter on nested fields. For example, you could filter on instances + * that have set the scheduling.automaticRestart field to true. Use filtering on + * nested fields to take advantage of labels to organize and search for results + * based on label values. + * + * To filter on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us- + * central1-f). Multiple expressions are treated as AND expressions, meaning + * that resources must match all expressions to pass the filters. + * @opt_param string maxResults The maximum number of results per page that + * should be returned. If the number of available results is larger than + * maxResults, Compute Engine returns a nextPageToken that can be used to get + * the next page of results in subsequent list requests. Acceptable values are 0 + * to 500, inclusive. (Default: 500) + * @opt_param string orderBy Sorts list results by a certain order. By default, + * results are returned in alphanumerical order based on the resource name. + * + * You can also sort results in descending order based on the creation timestamp + * using orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result first). + * Use this to sort resources like operations so that the newest operation is + * returned first. + * + * Currently, only sorting by name or creationTimestamp desc is supported. + * @opt_param string pageToken Specifies a page token to use. Set pageToken to + * the nextPageToken returned by a previous list request to get the next page of + * results. + * @return Google_Service_Compute_AutoscalerAggregatedList + */ + public function aggregatedList($project, $optParams = array()) + { + $params = array('project' => $project); + $params = array_merge($params, $optParams); + return $this->call('aggregatedList', array($params), "Google_Service_Compute_AutoscalerAggregatedList"); + } + /** + * Deletes the specified autoscaler. (autoscalers.delete) + * + * @param string $project Project ID for this request. + * @param string $zone Name of the zone for this request. + * @param string $autoscaler Name of the autoscaler to delete. + * @param array $optParams Optional parameters. + * @return Google_Service_Compute_Operation + */ + public function delete($project, $zone, $autoscaler, $optParams = array()) + { + $params = array('project' => $project, 'zone' => $zone, 'autoscaler' => $autoscaler); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params), "Google_Service_Compute_Operation"); + } + /** + * Returns the specified autoscaler resource. Get a list of available + * autoscalers by making a list() request. (autoscalers.get) + * + * @param string $project Project ID for this request. + * @param string $zone Name of the zone for this request. + * @param string $autoscaler Name of the autoscaler to return. + * @param array $optParams Optional parameters. + * @return Google_Service_Compute_Autoscaler + */ + public function get($project, $zone, $autoscaler, $optParams = array()) + { + $params = array('project' => $project, 'zone' => $zone, 'autoscaler' => $autoscaler); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Compute_Autoscaler"); + } + /** + * Creates an autoscaler in the specified project using the data included in the + * request. (autoscalers.insert) + * + * @param string $project Project ID for this request. + * @param string $zone Name of the zone for this request. + * @param Google_Service_Compute_Autoscaler $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Compute_Operation + */ + public function insert($project, $zone, Google_Service_Compute_Autoscaler $postBody, $optParams = array()) + { + $params = array('project' => $project, 'zone' => $zone, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('insert', array($params), "Google_Service_Compute_Operation"); + } + /** + * Retrieves a list of autoscalers contained within the specified zone. + * (autoscalers.listAutoscalers) + * + * @param string $project Project ID for this request. + * @param string $zone Name of the zone for this request. + * @param array $optParams Optional parameters. + * + * @opt_param string filter Sets a filter expression for filtering listed + * resources, in the form filter={expression}. Your {expression} must be in the + * format: field_name comparison_string literal_string. + * + * The field_name is the name of the field you want to compare. Only atomic + * field types are supported (string, number, boolean). The comparison_string + * must be either eq (equals) or ne (not equals). The literal_string is the + * string value to filter to. The literal value must be valid for the type of + * field you are filtering by (string, number, boolean). For string fields, the + * literal value is interpreted as a regular expression using RE2 syntax. The + * literal value must match the entire field. + * + * For example, to filter for instances that do not have a name of example- + * instance, you would use filter=name ne example-instance. + * + * You can filter on nested fields. For example, you could filter on instances + * that have set the scheduling.automaticRestart field to true. Use filtering on + * nested fields to take advantage of labels to organize and search for results + * based on label values. + * + * To filter on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us- + * central1-f). Multiple expressions are treated as AND expressions, meaning + * that resources must match all expressions to pass the filters. + * @opt_param string maxResults The maximum number of results per page that + * should be returned. If the number of available results is larger than + * maxResults, Compute Engine returns a nextPageToken that can be used to get + * the next page of results in subsequent list requests. Acceptable values are 0 + * to 500, inclusive. (Default: 500) + * @opt_param string orderBy Sorts list results by a certain order. By default, + * results are returned in alphanumerical order based on the resource name. + * + * You can also sort results in descending order based on the creation timestamp + * using orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result first). + * Use this to sort resources like operations so that the newest operation is + * returned first. + * + * Currently, only sorting by name or creationTimestamp desc is supported. + * @opt_param string pageToken Specifies a page token to use. Set pageToken to + * the nextPageToken returned by a previous list request to get the next page of + * results. + * @return Google_Service_Compute_AutoscalerList + */ + public function listAutoscalers($project, $zone, $optParams = array()) + { + $params = array('project' => $project, 'zone' => $zone); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Compute_AutoscalerList"); + } + /** + * Updates an autoscaler in the specified project using the data included in the + * request. This method supports patch semantics. (autoscalers.patch) + * + * @param string $project Project ID for this request. + * @param string $zone Name of the zone for this request. + * @param string $autoscaler Name of the autoscaler to update. + * @param Google_Service_Compute_Autoscaler $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Compute_Operation + */ + public function patch($project, $zone, $autoscaler, Google_Service_Compute_Autoscaler $postBody, $optParams = array()) + { + $params = array('project' => $project, 'zone' => $zone, 'autoscaler' => $autoscaler, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('patch', array($params), "Google_Service_Compute_Operation"); + } + /** + * Updates an autoscaler in the specified project using the data included in the + * request. (autoscalers.update) + * + * @param string $project Project ID for this request. + * @param string $zone Name of the zone for this request. + * @param Google_Service_Compute_Autoscaler $postBody + * @param array $optParams Optional parameters. + * + * @opt_param string autoscaler Name of the autoscaler to update. + * @return Google_Service_Compute_Operation + */ + public function update($project, $zone, Google_Service_Compute_Autoscaler $postBody, $optParams = array()) + { + $params = array('project' => $project, 'zone' => $zone, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('update', array($params), "Google_Service_Compute_Operation"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/Resource/BackendBuckets.php b/vendor/google/apiclient-services/src/Google/Service/Compute/Resource/BackendBuckets.php new file mode 100644 index 00000000..4c510e32 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/Resource/BackendBuckets.php @@ -0,0 +1,161 @@ + + * $computeService = new Google_Service_Compute(...); + * $backendBuckets = $computeService->backendBuckets; + * + */ +class Google_Service_Compute_Resource_BackendBuckets extends Google_Service_Resource +{ + /** + * Deletes the specified BackendBucket resource. (backendBuckets.delete) + * + * @param string $project Project ID for this request. + * @param string $backendBucket Name of the BackendBucket resource to delete. + * @param array $optParams Optional parameters. + * @return Google_Service_Compute_Operation + */ + public function delete($project, $backendBucket, $optParams = array()) + { + $params = array('project' => $project, 'backendBucket' => $backendBucket); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params), "Google_Service_Compute_Operation"); + } + /** + * Returns the specified BackendBucket resource. Get a list of available backend + * buckets by making a list() request. (backendBuckets.get) + * + * @param string $project Project ID for this request. + * @param string $backendBucket Name of the BackendBucket resource to return. + * @param array $optParams Optional parameters. + * @return Google_Service_Compute_BackendBucket + */ + public function get($project, $backendBucket, $optParams = array()) + { + $params = array('project' => $project, 'backendBucket' => $backendBucket); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Compute_BackendBucket"); + } + /** + * Creates a BackendBucket resource in the specified project using the data + * included in the request. (backendBuckets.insert) + * + * @param string $project Project ID for this request. + * @param Google_Service_Compute_BackendBucket $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Compute_Operation + */ + public function insert($project, Google_Service_Compute_BackendBucket $postBody, $optParams = array()) + { + $params = array('project' => $project, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('insert', array($params), "Google_Service_Compute_Operation"); + } + /** + * Retrieves the list of BackendBucket resources available to the specified + * project. (backendBuckets.listBackendBuckets) + * + * @param string $project Project ID for this request. + * @param array $optParams Optional parameters. + * + * @opt_param string filter Sets a filter expression for filtering listed + * resources, in the form filter={expression}. Your {expression} must be in the + * format: field_name comparison_string literal_string. + * + * The field_name is the name of the field you want to compare. Only atomic + * field types are supported (string, number, boolean). The comparison_string + * must be either eq (equals) or ne (not equals). The literal_string is the + * string value to filter to. The literal value must be valid for the type of + * field you are filtering by (string, number, boolean). For string fields, the + * literal value is interpreted as a regular expression using RE2 syntax. The + * literal value must match the entire field. + * + * For example, to filter for instances that do not have a name of example- + * instance, you would use filter=name ne example-instance. + * + * You can filter on nested fields. For example, you could filter on instances + * that have set the scheduling.automaticRestart field to true. Use filtering on + * nested fields to take advantage of labels to organize and search for results + * based on label values. + * + * To filter on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us- + * central1-f). Multiple expressions are treated as AND expressions, meaning + * that resources must match all expressions to pass the filters. + * @opt_param string maxResults The maximum number of results per page that + * should be returned. If the number of available results is larger than + * maxResults, Compute Engine returns a nextPageToken that can be used to get + * the next page of results in subsequent list requests. Acceptable values are 0 + * to 500, inclusive. (Default: 500) + * @opt_param string orderBy Sorts list results by a certain order. By default, + * results are returned in alphanumerical order based on the resource name. + * + * You can also sort results in descending order based on the creation timestamp + * using orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result first). + * Use this to sort resources like operations so that the newest operation is + * returned first. + * + * Currently, only sorting by name or creationTimestamp desc is supported. + * @opt_param string pageToken Specifies a page token to use. Set pageToken to + * the nextPageToken returned by a previous list request to get the next page of + * results. + * @return Google_Service_Compute_BackendBucketList + */ + public function listBackendBuckets($project, $optParams = array()) + { + $params = array('project' => $project); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Compute_BackendBucketList"); + } + /** + * Updates the specified BackendBucket resource with the data included in the + * request. This method supports patch semantics. (backendBuckets.patch) + * + * @param string $project Project ID for this request. + * @param string $backendBucket Name of the BackendBucket resource to update. + * @param Google_Service_Compute_BackendBucket $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Compute_Operation + */ + public function patch($project, $backendBucket, Google_Service_Compute_BackendBucket $postBody, $optParams = array()) + { + $params = array('project' => $project, 'backendBucket' => $backendBucket, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('patch', array($params), "Google_Service_Compute_Operation"); + } + /** + * Updates the specified BackendBucket resource with the data included in the + * request. (backendBuckets.update) + * + * @param string $project Project ID for this request. + * @param string $backendBucket Name of the BackendBucket resource to update. + * @param Google_Service_Compute_BackendBucket $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Compute_Operation + */ + public function update($project, $backendBucket, Google_Service_Compute_BackendBucket $postBody, $optParams = array()) + { + $params = array('project' => $project, 'backendBucket' => $backendBucket, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('update', array($params), "Google_Service_Compute_Operation"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/Resource/BackendServices.php b/vendor/google/apiclient-services/src/Google/Service/Compute/Resource/BackendServices.php new file mode 100644 index 00000000..b234747b --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/Resource/BackendServices.php @@ -0,0 +1,241 @@ + + * $computeService = new Google_Service_Compute(...); + * $backendServices = $computeService->backendServices; + * + */ +class Google_Service_Compute_Resource_BackendServices extends Google_Service_Resource +{ + /** + * Retrieves the list of all BackendService resources, regional and global, + * available to the specified project. (backendServices.aggregatedList) + * + * @param string $project Name of the project scoping this request. + * @param array $optParams Optional parameters. + * + * @opt_param string filter Sets a filter expression for filtering listed + * resources, in the form filter={expression}. Your {expression} must be in the + * format: field_name comparison_string literal_string. + * + * The field_name is the name of the field you want to compare. Only atomic + * field types are supported (string, number, boolean). The comparison_string + * must be either eq (equals) or ne (not equals). The literal_string is the + * string value to filter to. The literal value must be valid for the type of + * field you are filtering by (string, number, boolean). For string fields, the + * literal value is interpreted as a regular expression using RE2 syntax. The + * literal value must match the entire field. + * + * For example, to filter for instances that do not have a name of example- + * instance, you would use filter=name ne example-instance. + * + * You can filter on nested fields. For example, you could filter on instances + * that have set the scheduling.automaticRestart field to true. Use filtering on + * nested fields to take advantage of labels to organize and search for results + * based on label values. + * + * To filter on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us- + * central1-f). Multiple expressions are treated as AND expressions, meaning + * that resources must match all expressions to pass the filters. + * @opt_param string maxResults The maximum number of results per page that + * should be returned. If the number of available results is larger than + * maxResults, Compute Engine returns a nextPageToken that can be used to get + * the next page of results in subsequent list requests. Acceptable values are 0 + * to 500, inclusive. (Default: 500) + * @opt_param string orderBy Sorts list results by a certain order. By default, + * results are returned in alphanumerical order based on the resource name. + * + * You can also sort results in descending order based on the creation timestamp + * using orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result first). + * Use this to sort resources like operations so that the newest operation is + * returned first. + * + * Currently, only sorting by name or creationTimestamp desc is supported. + * @opt_param string pageToken Specifies a page token to use. Set pageToken to + * the nextPageToken returned by a previous list request to get the next page of + * results. + * @return Google_Service_Compute_BackendServiceAggregatedList + */ + public function aggregatedList($project, $optParams = array()) + { + $params = array('project' => $project); + $params = array_merge($params, $optParams); + return $this->call('aggregatedList', array($params), "Google_Service_Compute_BackendServiceAggregatedList"); + } + /** + * Deletes the specified BackendService resource. (backendServices.delete) + * + * @param string $project Project ID for this request. + * @param string $backendService Name of the BackendService resource to delete. + * @param array $optParams Optional parameters. + * @return Google_Service_Compute_Operation + */ + public function delete($project, $backendService, $optParams = array()) + { + $params = array('project' => $project, 'backendService' => $backendService); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params), "Google_Service_Compute_Operation"); + } + /** + * Returns the specified BackendService resource. Get a list of available + * backend services by making a list() request. (backendServices.get) + * + * @param string $project Project ID for this request. + * @param string $backendService Name of the BackendService resource to return. + * @param array $optParams Optional parameters. + * @return Google_Service_Compute_BackendService + */ + public function get($project, $backendService, $optParams = array()) + { + $params = array('project' => $project, 'backendService' => $backendService); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Compute_BackendService"); + } + /** + * Gets the most recent health check results for this BackendService. + * (backendServices.getHealth) + * + * @param string $project + * @param string $backendService Name of the BackendService resource to which + * the queried instance belongs. + * @param Google_Service_Compute_ResourceGroupReference $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Compute_BackendServiceGroupHealth + */ + public function getHealth($project, $backendService, Google_Service_Compute_ResourceGroupReference $postBody, $optParams = array()) + { + $params = array('project' => $project, 'backendService' => $backendService, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('getHealth', array($params), "Google_Service_Compute_BackendServiceGroupHealth"); + } + /** + * Creates a BackendService resource in the specified project using the data + * included in the request. There are several restrictions and guidelines to + * keep in mind when creating a backend service. Read Restrictions and + * Guidelines for more information. (backendServices.insert) + * + * @param string $project Project ID for this request. + * @param Google_Service_Compute_BackendService $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Compute_Operation + */ + public function insert($project, Google_Service_Compute_BackendService $postBody, $optParams = array()) + { + $params = array('project' => $project, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('insert', array($params), "Google_Service_Compute_Operation"); + } + /** + * Retrieves the list of BackendService resources available to the specified + * project. (backendServices.listBackendServices) + * + * @param string $project Project ID for this request. + * @param array $optParams Optional parameters. + * + * @opt_param string filter Sets a filter expression for filtering listed + * resources, in the form filter={expression}. Your {expression} must be in the + * format: field_name comparison_string literal_string. + * + * The field_name is the name of the field you want to compare. Only atomic + * field types are supported (string, number, boolean). The comparison_string + * must be either eq (equals) or ne (not equals). The literal_string is the + * string value to filter to. The literal value must be valid for the type of + * field you are filtering by (string, number, boolean). For string fields, the + * literal value is interpreted as a regular expression using RE2 syntax. The + * literal value must match the entire field. + * + * For example, to filter for instances that do not have a name of example- + * instance, you would use filter=name ne example-instance. + * + * You can filter on nested fields. For example, you could filter on instances + * that have set the scheduling.automaticRestart field to true. Use filtering on + * nested fields to take advantage of labels to organize and search for results + * based on label values. + * + * To filter on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us- + * central1-f). Multiple expressions are treated as AND expressions, meaning + * that resources must match all expressions to pass the filters. + * @opt_param string maxResults The maximum number of results per page that + * should be returned. If the number of available results is larger than + * maxResults, Compute Engine returns a nextPageToken that can be used to get + * the next page of results in subsequent list requests. Acceptable values are 0 + * to 500, inclusive. (Default: 500) + * @opt_param string orderBy Sorts list results by a certain order. By default, + * results are returned in alphanumerical order based on the resource name. + * + * You can also sort results in descending order based on the creation timestamp + * using orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result first). + * Use this to sort resources like operations so that the newest operation is + * returned first. + * + * Currently, only sorting by name or creationTimestamp desc is supported. + * @opt_param string pageToken Specifies a page token to use. Set pageToken to + * the nextPageToken returned by a previous list request to get the next page of + * results. + * @return Google_Service_Compute_BackendServiceList + */ + public function listBackendServices($project, $optParams = array()) + { + $params = array('project' => $project); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Compute_BackendServiceList"); + } + /** + * Updates the specified BackendService resource with the data included in the + * request. There are several restrictions and guidelines to keep in mind when + * updating a backend service. Read Restrictions and Guidelines for more + * information. This method supports patch semantics. (backendServices.patch) + * + * @param string $project Project ID for this request. + * @param string $backendService Name of the BackendService resource to update. + * @param Google_Service_Compute_BackendService $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Compute_Operation + */ + public function patch($project, $backendService, Google_Service_Compute_BackendService $postBody, $optParams = array()) + { + $params = array('project' => $project, 'backendService' => $backendService, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('patch', array($params), "Google_Service_Compute_Operation"); + } + /** + * Updates the specified BackendService resource with the data included in the + * request. There are several restrictions and guidelines to keep in mind when + * updating a backend service. Read Restrictions and Guidelines for more + * information. (backendServices.update) + * + * @param string $project Project ID for this request. + * @param string $backendService Name of the BackendService resource to update. + * @param Google_Service_Compute_BackendService $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Compute_Operation + */ + public function update($project, $backendService, Google_Service_Compute_BackendService $postBody, $optParams = array()) + { + $params = array('project' => $project, 'backendService' => $backendService, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('update', array($params), "Google_Service_Compute_Operation"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/Resource/DiskTypes.php b/vendor/google/apiclient-services/src/Google/Service/Compute/Resource/DiskTypes.php new file mode 100644 index 00000000..83fcc523 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/Resource/DiskTypes.php @@ -0,0 +1,158 @@ + + * $computeService = new Google_Service_Compute(...); + * $diskTypes = $computeService->diskTypes; + * + */ +class Google_Service_Compute_Resource_DiskTypes extends Google_Service_Resource +{ + /** + * Retrieves an aggregated list of disk types. (diskTypes.aggregatedList) + * + * @param string $project Project ID for this request. + * @param array $optParams Optional parameters. + * + * @opt_param string filter Sets a filter expression for filtering listed + * resources, in the form filter={expression}. Your {expression} must be in the + * format: field_name comparison_string literal_string. + * + * The field_name is the name of the field you want to compare. Only atomic + * field types are supported (string, number, boolean). The comparison_string + * must be either eq (equals) or ne (not equals). The literal_string is the + * string value to filter to. The literal value must be valid for the type of + * field you are filtering by (string, number, boolean). For string fields, the + * literal value is interpreted as a regular expression using RE2 syntax. The + * literal value must match the entire field. + * + * For example, to filter for instances that do not have a name of example- + * instance, you would use filter=name ne example-instance. + * + * You can filter on nested fields. For example, you could filter on instances + * that have set the scheduling.automaticRestart field to true. Use filtering on + * nested fields to take advantage of labels to organize and search for results + * based on label values. + * + * To filter on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us- + * central1-f). Multiple expressions are treated as AND expressions, meaning + * that resources must match all expressions to pass the filters. + * @opt_param string maxResults The maximum number of results per page that + * should be returned. If the number of available results is larger than + * maxResults, Compute Engine returns a nextPageToken that can be used to get + * the next page of results in subsequent list requests. Acceptable values are 0 + * to 500, inclusive. (Default: 500) + * @opt_param string orderBy Sorts list results by a certain order. By default, + * results are returned in alphanumerical order based on the resource name. + * + * You can also sort results in descending order based on the creation timestamp + * using orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result first). + * Use this to sort resources like operations so that the newest operation is + * returned first. + * + * Currently, only sorting by name or creationTimestamp desc is supported. + * @opt_param string pageToken Specifies a page token to use. Set pageToken to + * the nextPageToken returned by a previous list request to get the next page of + * results. + * @return Google_Service_Compute_DiskTypeAggregatedList + */ + public function aggregatedList($project, $optParams = array()) + { + $params = array('project' => $project); + $params = array_merge($params, $optParams); + return $this->call('aggregatedList', array($params), "Google_Service_Compute_DiskTypeAggregatedList"); + } + /** + * Returns the specified disk type. Get a list of available disk types by making + * a list() request. (diskTypes.get) + * + * @param string $project Project ID for this request. + * @param string $zone The name of the zone for this request. + * @param string $diskType Name of the disk type to return. + * @param array $optParams Optional parameters. + * @return Google_Service_Compute_DiskType + */ + public function get($project, $zone, $diskType, $optParams = array()) + { + $params = array('project' => $project, 'zone' => $zone, 'diskType' => $diskType); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Compute_DiskType"); + } + /** + * Retrieves a list of disk types available to the specified project. + * (diskTypes.listDiskTypes) + * + * @param string $project Project ID for this request. + * @param string $zone The name of the zone for this request. + * @param array $optParams Optional parameters. + * + * @opt_param string filter Sets a filter expression for filtering listed + * resources, in the form filter={expression}. Your {expression} must be in the + * format: field_name comparison_string literal_string. + * + * The field_name is the name of the field you want to compare. Only atomic + * field types are supported (string, number, boolean). The comparison_string + * must be either eq (equals) or ne (not equals). The literal_string is the + * string value to filter to. The literal value must be valid for the type of + * field you are filtering by (string, number, boolean). For string fields, the + * literal value is interpreted as a regular expression using RE2 syntax. The + * literal value must match the entire field. + * + * For example, to filter for instances that do not have a name of example- + * instance, you would use filter=name ne example-instance. + * + * You can filter on nested fields. For example, you could filter on instances + * that have set the scheduling.automaticRestart field to true. Use filtering on + * nested fields to take advantage of labels to organize and search for results + * based on label values. + * + * To filter on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us- + * central1-f). Multiple expressions are treated as AND expressions, meaning + * that resources must match all expressions to pass the filters. + * @opt_param string maxResults The maximum number of results per page that + * should be returned. If the number of available results is larger than + * maxResults, Compute Engine returns a nextPageToken that can be used to get + * the next page of results in subsequent list requests. Acceptable values are 0 + * to 500, inclusive. (Default: 500) + * @opt_param string orderBy Sorts list results by a certain order. By default, + * results are returned in alphanumerical order based on the resource name. + * + * You can also sort results in descending order based on the creation timestamp + * using orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result first). + * Use this to sort resources like operations so that the newest operation is + * returned first. + * + * Currently, only sorting by name or creationTimestamp desc is supported. + * @opt_param string pageToken Specifies a page token to use. Set pageToken to + * the nextPageToken returned by a previous list request to get the next page of + * results. + * @return Google_Service_Compute_DiskTypeList + */ + public function listDiskTypes($project, $zone, $optParams = array()) + { + $params = array('project' => $project, 'zone' => $zone); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Compute_DiskTypeList"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/Resource/Disks.php b/vendor/google/apiclient-services/src/Google/Service/Compute/Resource/Disks.php new file mode 100644 index 00000000..be69f684 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/Resource/Disks.php @@ -0,0 +1,231 @@ + + * $computeService = new Google_Service_Compute(...); + * $disks = $computeService->disks; + * + */ +class Google_Service_Compute_Resource_Disks extends Google_Service_Resource +{ + /** + * Retrieves an aggregated list of persistent disks. (disks.aggregatedList) + * + * @param string $project Project ID for this request. + * @param array $optParams Optional parameters. + * + * @opt_param string filter Sets a filter expression for filtering listed + * resources, in the form filter={expression}. Your {expression} must be in the + * format: field_name comparison_string literal_string. + * + * The field_name is the name of the field you want to compare. Only atomic + * field types are supported (string, number, boolean). The comparison_string + * must be either eq (equals) or ne (not equals). The literal_string is the + * string value to filter to. The literal value must be valid for the type of + * field you are filtering by (string, number, boolean). For string fields, the + * literal value is interpreted as a regular expression using RE2 syntax. The + * literal value must match the entire field. + * + * For example, to filter for instances that do not have a name of example- + * instance, you would use filter=name ne example-instance. + * + * You can filter on nested fields. For example, you could filter on instances + * that have set the scheduling.automaticRestart field to true. Use filtering on + * nested fields to take advantage of labels to organize and search for results + * based on label values. + * + * To filter on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us- + * central1-f). Multiple expressions are treated as AND expressions, meaning + * that resources must match all expressions to pass the filters. + * @opt_param string maxResults The maximum number of results per page that + * should be returned. If the number of available results is larger than + * maxResults, Compute Engine returns a nextPageToken that can be used to get + * the next page of results in subsequent list requests. Acceptable values are 0 + * to 500, inclusive. (Default: 500) + * @opt_param string orderBy Sorts list results by a certain order. By default, + * results are returned in alphanumerical order based on the resource name. + * + * You can also sort results in descending order based on the creation timestamp + * using orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result first). + * Use this to sort resources like operations so that the newest operation is + * returned first. + * + * Currently, only sorting by name or creationTimestamp desc is supported. + * @opt_param string pageToken Specifies a page token to use. Set pageToken to + * the nextPageToken returned by a previous list request to get the next page of + * results. + * @return Google_Service_Compute_DiskAggregatedList + */ + public function aggregatedList($project, $optParams = array()) + { + $params = array('project' => $project); + $params = array_merge($params, $optParams); + return $this->call('aggregatedList', array($params), "Google_Service_Compute_DiskAggregatedList"); + } + /** + * Creates a snapshot of a specified persistent disk. (disks.createSnapshot) + * + * @param string $project Project ID for this request. + * @param string $zone The name of the zone for this request. + * @param string $disk Name of the persistent disk to snapshot. + * @param Google_Service_Compute_Snapshot $postBody + * @param array $optParams Optional parameters. + * + * @opt_param bool guestFlush + * @return Google_Service_Compute_Operation + */ + public function createSnapshot($project, $zone, $disk, Google_Service_Compute_Snapshot $postBody, $optParams = array()) + { + $params = array('project' => $project, 'zone' => $zone, 'disk' => $disk, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('createSnapshot', array($params), "Google_Service_Compute_Operation"); + } + /** + * Deletes the specified persistent disk. Deleting a disk removes its data + * permanently and is irreversible. However, deleting a disk does not delete any + * snapshots previously made from the disk. You must separately delete + * snapshots. (disks.delete) + * + * @param string $project Project ID for this request. + * @param string $zone The name of the zone for this request. + * @param string $disk Name of the persistent disk to delete. + * @param array $optParams Optional parameters. + * @return Google_Service_Compute_Operation + */ + public function delete($project, $zone, $disk, $optParams = array()) + { + $params = array('project' => $project, 'zone' => $zone, 'disk' => $disk); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params), "Google_Service_Compute_Operation"); + } + /** + * Returns a specified persistent disk. Get a list of available persistent disks + * by making a list() request. (disks.get) + * + * @param string $project Project ID for this request. + * @param string $zone The name of the zone for this request. + * @param string $disk Name of the persistent disk to return. + * @param array $optParams Optional parameters. + * @return Google_Service_Compute_Disk + */ + public function get($project, $zone, $disk, $optParams = array()) + { + $params = array('project' => $project, 'zone' => $zone, 'disk' => $disk); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Compute_Disk"); + } + /** + * Creates a persistent disk in the specified project using the data in the + * request. You can create a disk with a sourceImage, a sourceSnapshot, or + * create an empty 500 GB data disk by omitting all properties. You can also + * create a disk that is larger than the default size by specifying the sizeGb + * property. (disks.insert) + * + * @param string $project Project ID for this request. + * @param string $zone The name of the zone for this request. + * @param Google_Service_Compute_Disk $postBody + * @param array $optParams Optional parameters. + * + * @opt_param string sourceImage Optional. Source image to restore onto a disk. + * @return Google_Service_Compute_Operation + */ + public function insert($project, $zone, Google_Service_Compute_Disk $postBody, $optParams = array()) + { + $params = array('project' => $project, 'zone' => $zone, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('insert', array($params), "Google_Service_Compute_Operation"); + } + /** + * Retrieves a list of persistent disks contained within the specified zone. + * (disks.listDisks) + * + * @param string $project Project ID for this request. + * @param string $zone The name of the zone for this request. + * @param array $optParams Optional parameters. + * + * @opt_param string filter Sets a filter expression for filtering listed + * resources, in the form filter={expression}. Your {expression} must be in the + * format: field_name comparison_string literal_string. + * + * The field_name is the name of the field you want to compare. Only atomic + * field types are supported (string, number, boolean). The comparison_string + * must be either eq (equals) or ne (not equals). The literal_string is the + * string value to filter to. The literal value must be valid for the type of + * field you are filtering by (string, number, boolean). For string fields, the + * literal value is interpreted as a regular expression using RE2 syntax. The + * literal value must match the entire field. + * + * For example, to filter for instances that do not have a name of example- + * instance, you would use filter=name ne example-instance. + * + * You can filter on nested fields. For example, you could filter on instances + * that have set the scheduling.automaticRestart field to true. Use filtering on + * nested fields to take advantage of labels to organize and search for results + * based on label values. + * + * To filter on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us- + * central1-f). Multiple expressions are treated as AND expressions, meaning + * that resources must match all expressions to pass the filters. + * @opt_param string maxResults The maximum number of results per page that + * should be returned. If the number of available results is larger than + * maxResults, Compute Engine returns a nextPageToken that can be used to get + * the next page of results in subsequent list requests. Acceptable values are 0 + * to 500, inclusive. (Default: 500) + * @opt_param string orderBy Sorts list results by a certain order. By default, + * results are returned in alphanumerical order based on the resource name. + * + * You can also sort results in descending order based on the creation timestamp + * using orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result first). + * Use this to sort resources like operations so that the newest operation is + * returned first. + * + * Currently, only sorting by name or creationTimestamp desc is supported. + * @opt_param string pageToken Specifies a page token to use. Set pageToken to + * the nextPageToken returned by a previous list request to get the next page of + * results. + * @return Google_Service_Compute_DiskList + */ + public function listDisks($project, $zone, $optParams = array()) + { + $params = array('project' => $project, 'zone' => $zone); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Compute_DiskList"); + } + /** + * Resizes the specified persistent disk. (disks.resize) + * + * @param string $project Project ID for this request. + * @param string $zone The name of the zone for this request. + * @param string $disk The name of the persistent disk. + * @param Google_Service_Compute_DisksResizeRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Compute_Operation + */ + public function resize($project, $zone, $disk, Google_Service_Compute_DisksResizeRequest $postBody, $optParams = array()) + { + $params = array('project' => $project, 'zone' => $zone, 'disk' => $disk, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('resize', array($params), "Google_Service_Compute_Operation"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/Resource/Firewalls.php b/vendor/google/apiclient-services/src/Google/Service/Compute/Resource/Firewalls.php new file mode 100644 index 00000000..850bbd95 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/Resource/Firewalls.php @@ -0,0 +1,160 @@ + + * $computeService = new Google_Service_Compute(...); + * $firewalls = $computeService->firewalls; + * + */ +class Google_Service_Compute_Resource_Firewalls extends Google_Service_Resource +{ + /** + * Deletes the specified firewall. (firewalls.delete) + * + * @param string $project Project ID for this request. + * @param string $firewall Name of the firewall rule to delete. + * @param array $optParams Optional parameters. + * @return Google_Service_Compute_Operation + */ + public function delete($project, $firewall, $optParams = array()) + { + $params = array('project' => $project, 'firewall' => $firewall); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params), "Google_Service_Compute_Operation"); + } + /** + * Returns the specified firewall. (firewalls.get) + * + * @param string $project Project ID for this request. + * @param string $firewall Name of the firewall rule to return. + * @param array $optParams Optional parameters. + * @return Google_Service_Compute_Firewall + */ + public function get($project, $firewall, $optParams = array()) + { + $params = array('project' => $project, 'firewall' => $firewall); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Compute_Firewall"); + } + /** + * Creates a firewall rule in the specified project using the data included in + * the request. (firewalls.insert) + * + * @param string $project Project ID for this request. + * @param Google_Service_Compute_Firewall $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Compute_Operation + */ + public function insert($project, Google_Service_Compute_Firewall $postBody, $optParams = array()) + { + $params = array('project' => $project, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('insert', array($params), "Google_Service_Compute_Operation"); + } + /** + * Retrieves the list of firewall rules available to the specified project. + * (firewalls.listFirewalls) + * + * @param string $project Project ID for this request. + * @param array $optParams Optional parameters. + * + * @opt_param string filter Sets a filter expression for filtering listed + * resources, in the form filter={expression}. Your {expression} must be in the + * format: field_name comparison_string literal_string. + * + * The field_name is the name of the field you want to compare. Only atomic + * field types are supported (string, number, boolean). The comparison_string + * must be either eq (equals) or ne (not equals). The literal_string is the + * string value to filter to. The literal value must be valid for the type of + * field you are filtering by (string, number, boolean). For string fields, the + * literal value is interpreted as a regular expression using RE2 syntax. The + * literal value must match the entire field. + * + * For example, to filter for instances that do not have a name of example- + * instance, you would use filter=name ne example-instance. + * + * You can filter on nested fields. For example, you could filter on instances + * that have set the scheduling.automaticRestart field to true. Use filtering on + * nested fields to take advantage of labels to organize and search for results + * based on label values. + * + * To filter on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us- + * central1-f). Multiple expressions are treated as AND expressions, meaning + * that resources must match all expressions to pass the filters. + * @opt_param string maxResults The maximum number of results per page that + * should be returned. If the number of available results is larger than + * maxResults, Compute Engine returns a nextPageToken that can be used to get + * the next page of results in subsequent list requests. Acceptable values are 0 + * to 500, inclusive. (Default: 500) + * @opt_param string orderBy Sorts list results by a certain order. By default, + * results are returned in alphanumerical order based on the resource name. + * + * You can also sort results in descending order based on the creation timestamp + * using orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result first). + * Use this to sort resources like operations so that the newest operation is + * returned first. + * + * Currently, only sorting by name or creationTimestamp desc is supported. + * @opt_param string pageToken Specifies a page token to use. Set pageToken to + * the nextPageToken returned by a previous list request to get the next page of + * results. + * @return Google_Service_Compute_FirewallList + */ + public function listFirewalls($project, $optParams = array()) + { + $params = array('project' => $project); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Compute_FirewallList"); + } + /** + * Updates the specified firewall rule with the data included in the request. + * This method supports patch semantics. (firewalls.patch) + * + * @param string $project Project ID for this request. + * @param string $firewall Name of the firewall rule to update. + * @param Google_Service_Compute_Firewall $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Compute_Operation + */ + public function patch($project, $firewall, Google_Service_Compute_Firewall $postBody, $optParams = array()) + { + $params = array('project' => $project, 'firewall' => $firewall, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('patch', array($params), "Google_Service_Compute_Operation"); + } + /** + * Updates the specified firewall rule with the data included in the request. + * (firewalls.update) + * + * @param string $project Project ID for this request. + * @param string $firewall Name of the firewall rule to update. + * @param Google_Service_Compute_Firewall $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Compute_Operation + */ + public function update($project, $firewall, Google_Service_Compute_Firewall $postBody, $optParams = array()) + { + $params = array('project' => $project, 'firewall' => $firewall, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('update', array($params), "Google_Service_Compute_Operation"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/Resource/ForwardingRules.php b/vendor/google/apiclient-services/src/Google/Service/Compute/Resource/ForwardingRules.php new file mode 100644 index 00000000..9ee235b8 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/Resource/ForwardingRules.php @@ -0,0 +1,207 @@ + + * $computeService = new Google_Service_Compute(...); + * $forwardingRules = $computeService->forwardingRules; + * + */ +class Google_Service_Compute_Resource_ForwardingRules extends Google_Service_Resource +{ + /** + * Retrieves an aggregated list of forwarding rules. + * (forwardingRules.aggregatedList) + * + * @param string $project Project ID for this request. + * @param array $optParams Optional parameters. + * + * @opt_param string filter Sets a filter expression for filtering listed + * resources, in the form filter={expression}. Your {expression} must be in the + * format: field_name comparison_string literal_string. + * + * The field_name is the name of the field you want to compare. Only atomic + * field types are supported (string, number, boolean). The comparison_string + * must be either eq (equals) or ne (not equals). The literal_string is the + * string value to filter to. The literal value must be valid for the type of + * field you are filtering by (string, number, boolean). For string fields, the + * literal value is interpreted as a regular expression using RE2 syntax. The + * literal value must match the entire field. + * + * For example, to filter for instances that do not have a name of example- + * instance, you would use filter=name ne example-instance. + * + * You can filter on nested fields. For example, you could filter on instances + * that have set the scheduling.automaticRestart field to true. Use filtering on + * nested fields to take advantage of labels to organize and search for results + * based on label values. + * + * To filter on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us- + * central1-f). Multiple expressions are treated as AND expressions, meaning + * that resources must match all expressions to pass the filters. + * @opt_param string maxResults The maximum number of results per page that + * should be returned. If the number of available results is larger than + * maxResults, Compute Engine returns a nextPageToken that can be used to get + * the next page of results in subsequent list requests. Acceptable values are 0 + * to 500, inclusive. (Default: 500) + * @opt_param string orderBy Sorts list results by a certain order. By default, + * results are returned in alphanumerical order based on the resource name. + * + * You can also sort results in descending order based on the creation timestamp + * using orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result first). + * Use this to sort resources like operations so that the newest operation is + * returned first. + * + * Currently, only sorting by name or creationTimestamp desc is supported. + * @opt_param string pageToken Specifies a page token to use. Set pageToken to + * the nextPageToken returned by a previous list request to get the next page of + * results. + * @return Google_Service_Compute_ForwardingRuleAggregatedList + */ + public function aggregatedList($project, $optParams = array()) + { + $params = array('project' => $project); + $params = array_merge($params, $optParams); + return $this->call('aggregatedList', array($params), "Google_Service_Compute_ForwardingRuleAggregatedList"); + } + /** + * Deletes the specified ForwardingRule resource. (forwardingRules.delete) + * + * @param string $project Project ID for this request. + * @param string $region Name of the region scoping this request. + * @param string $forwardingRule Name of the ForwardingRule resource to delete. + * @param array $optParams Optional parameters. + * @return Google_Service_Compute_Operation + */ + public function delete($project, $region, $forwardingRule, $optParams = array()) + { + $params = array('project' => $project, 'region' => $region, 'forwardingRule' => $forwardingRule); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params), "Google_Service_Compute_Operation"); + } + /** + * Returns the specified ForwardingRule resource. (forwardingRules.get) + * + * @param string $project Project ID for this request. + * @param string $region Name of the region scoping this request. + * @param string $forwardingRule Name of the ForwardingRule resource to return. + * @param array $optParams Optional parameters. + * @return Google_Service_Compute_ForwardingRule + */ + public function get($project, $region, $forwardingRule, $optParams = array()) + { + $params = array('project' => $project, 'region' => $region, 'forwardingRule' => $forwardingRule); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Compute_ForwardingRule"); + } + /** + * Creates a ForwardingRule resource in the specified project and region using + * the data included in the request. (forwardingRules.insert) + * + * @param string $project Project ID for this request. + * @param string $region Name of the region scoping this request. + * @param Google_Service_Compute_ForwardingRule $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Compute_Operation + */ + public function insert($project, $region, Google_Service_Compute_ForwardingRule $postBody, $optParams = array()) + { + $params = array('project' => $project, 'region' => $region, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('insert', array($params), "Google_Service_Compute_Operation"); + } + /** + * Retrieves a list of ForwardingRule resources available to the specified + * project and region. (forwardingRules.listForwardingRules) + * + * @param string $project Project ID for this request. + * @param string $region Name of the region scoping this request. + * @param array $optParams Optional parameters. + * + * @opt_param string filter Sets a filter expression for filtering listed + * resources, in the form filter={expression}. Your {expression} must be in the + * format: field_name comparison_string literal_string. + * + * The field_name is the name of the field you want to compare. Only atomic + * field types are supported (string, number, boolean). The comparison_string + * must be either eq (equals) or ne (not equals). The literal_string is the + * string value to filter to. The literal value must be valid for the type of + * field you are filtering by (string, number, boolean). For string fields, the + * literal value is interpreted as a regular expression using RE2 syntax. The + * literal value must match the entire field. + * + * For example, to filter for instances that do not have a name of example- + * instance, you would use filter=name ne example-instance. + * + * You can filter on nested fields. For example, you could filter on instances + * that have set the scheduling.automaticRestart field to true. Use filtering on + * nested fields to take advantage of labels to organize and search for results + * based on label values. + * + * To filter on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us- + * central1-f). Multiple expressions are treated as AND expressions, meaning + * that resources must match all expressions to pass the filters. + * @opt_param string maxResults The maximum number of results per page that + * should be returned. If the number of available results is larger than + * maxResults, Compute Engine returns a nextPageToken that can be used to get + * the next page of results in subsequent list requests. Acceptable values are 0 + * to 500, inclusive. (Default: 500) + * @opt_param string orderBy Sorts list results by a certain order. By default, + * results are returned in alphanumerical order based on the resource name. + * + * You can also sort results in descending order based on the creation timestamp + * using orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result first). + * Use this to sort resources like operations so that the newest operation is + * returned first. + * + * Currently, only sorting by name or creationTimestamp desc is supported. + * @opt_param string pageToken Specifies a page token to use. Set pageToken to + * the nextPageToken returned by a previous list request to get the next page of + * results. + * @return Google_Service_Compute_ForwardingRuleList + */ + public function listForwardingRules($project, $region, $optParams = array()) + { + $params = array('project' => $project, 'region' => $region); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Compute_ForwardingRuleList"); + } + /** + * Changes target URL for forwarding rule. The new target should be of the same + * type as the old target. (forwardingRules.setTarget) + * + * @param string $project Project ID for this request. + * @param string $region Name of the region scoping this request. + * @param string $forwardingRule Name of the ForwardingRule resource in which + * target is to be set. + * @param Google_Service_Compute_TargetReference $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Compute_Operation + */ + public function setTarget($project, $region, $forwardingRule, Google_Service_Compute_TargetReference $postBody, $optParams = array()) + { + $params = array('project' => $project, 'region' => $region, 'forwardingRule' => $forwardingRule, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('setTarget', array($params), "Google_Service_Compute_Operation"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/Resource/GlobalAddresses.php b/vendor/google/apiclient-services/src/Google/Service/Compute/Resource/GlobalAddresses.php new file mode 100644 index 00000000..eb1878d0 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/Resource/GlobalAddresses.php @@ -0,0 +1,128 @@ + + * $computeService = new Google_Service_Compute(...); + * $globalAddresses = $computeService->globalAddresses; + * + */ +class Google_Service_Compute_Resource_GlobalAddresses extends Google_Service_Resource +{ + /** + * Deletes the specified address resource. (globalAddresses.delete) + * + * @param string $project Project ID for this request. + * @param string $address Name of the address resource to delete. + * @param array $optParams Optional parameters. + * @return Google_Service_Compute_Operation + */ + public function delete($project, $address, $optParams = array()) + { + $params = array('project' => $project, 'address' => $address); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params), "Google_Service_Compute_Operation"); + } + /** + * Returns the specified address resource. Get a list of available addresses by + * making a list() request. (globalAddresses.get) + * + * @param string $project Project ID for this request. + * @param string $address Name of the address resource to return. + * @param array $optParams Optional parameters. + * @return Google_Service_Compute_Address + */ + public function get($project, $address, $optParams = array()) + { + $params = array('project' => $project, 'address' => $address); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Compute_Address"); + } + /** + * Creates an address resource in the specified project using the data included + * in the request. (globalAddresses.insert) + * + * @param string $project Project ID for this request. + * @param Google_Service_Compute_Address $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Compute_Operation + */ + public function insert($project, Google_Service_Compute_Address $postBody, $optParams = array()) + { + $params = array('project' => $project, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('insert', array($params), "Google_Service_Compute_Operation"); + } + /** + * Retrieves a list of global addresses. (globalAddresses.listGlobalAddresses) + * + * @param string $project Project ID for this request. + * @param array $optParams Optional parameters. + * + * @opt_param string filter Sets a filter expression for filtering listed + * resources, in the form filter={expression}. Your {expression} must be in the + * format: field_name comparison_string literal_string. + * + * The field_name is the name of the field you want to compare. Only atomic + * field types are supported (string, number, boolean). The comparison_string + * must be either eq (equals) or ne (not equals). The literal_string is the + * string value to filter to. The literal value must be valid for the type of + * field you are filtering by (string, number, boolean). For string fields, the + * literal value is interpreted as a regular expression using RE2 syntax. The + * literal value must match the entire field. + * + * For example, to filter for instances that do not have a name of example- + * instance, you would use filter=name ne example-instance. + * + * You can filter on nested fields. For example, you could filter on instances + * that have set the scheduling.automaticRestart field to true. Use filtering on + * nested fields to take advantage of labels to organize and search for results + * based on label values. + * + * To filter on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us- + * central1-f). Multiple expressions are treated as AND expressions, meaning + * that resources must match all expressions to pass the filters. + * @opt_param string maxResults The maximum number of results per page that + * should be returned. If the number of available results is larger than + * maxResults, Compute Engine returns a nextPageToken that can be used to get + * the next page of results in subsequent list requests. Acceptable values are 0 + * to 500, inclusive. (Default: 500) + * @opt_param string orderBy Sorts list results by a certain order. By default, + * results are returned in alphanumerical order based on the resource name. + * + * You can also sort results in descending order based on the creation timestamp + * using orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result first). + * Use this to sort resources like operations so that the newest operation is + * returned first. + * + * Currently, only sorting by name or creationTimestamp desc is supported. + * @opt_param string pageToken Specifies a page token to use. Set pageToken to + * the nextPageToken returned by a previous list request to get the next page of + * results. + * @return Google_Service_Compute_AddressList + */ + public function listGlobalAddresses($project, $optParams = array()) + { + $params = array('project' => $project); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Compute_AddressList"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/Resource/GlobalForwardingRules.php b/vendor/google/apiclient-services/src/Google/Service/Compute/Resource/GlobalForwardingRules.php new file mode 100644 index 00000000..2edee631 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/Resource/GlobalForwardingRules.php @@ -0,0 +1,146 @@ + + * $computeService = new Google_Service_Compute(...); + * $globalForwardingRules = $computeService->globalForwardingRules; + * + */ +class Google_Service_Compute_Resource_GlobalForwardingRules extends Google_Service_Resource +{ + /** + * Deletes the specified ForwardingRule resource. (globalForwardingRules.delete) + * + * @param string $project Project ID for this request. + * @param string $forwardingRule Name of the ForwardingRule resource to delete. + * @param array $optParams Optional parameters. + * @return Google_Service_Compute_Operation + */ + public function delete($project, $forwardingRule, $optParams = array()) + { + $params = array('project' => $project, 'forwardingRule' => $forwardingRule); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params), "Google_Service_Compute_Operation"); + } + /** + * Returns the specified ForwardingRule resource. Get a list of available + * forwarding rules by making a list() request. (globalForwardingRules.get) + * + * @param string $project Project ID for this request. + * @param string $forwardingRule Name of the ForwardingRule resource to return. + * @param array $optParams Optional parameters. + * @return Google_Service_Compute_ForwardingRule + */ + public function get($project, $forwardingRule, $optParams = array()) + { + $params = array('project' => $project, 'forwardingRule' => $forwardingRule); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Compute_ForwardingRule"); + } + /** + * Creates a ForwardingRule resource in the specified project and region using + * the data included in the request. (globalForwardingRules.insert) + * + * @param string $project Project ID for this request. + * @param Google_Service_Compute_ForwardingRule $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Compute_Operation + */ + public function insert($project, Google_Service_Compute_ForwardingRule $postBody, $optParams = array()) + { + $params = array('project' => $project, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('insert', array($params), "Google_Service_Compute_Operation"); + } + /** + * Retrieves a list of ForwardingRule resources available to the specified + * project. (globalForwardingRules.listGlobalForwardingRules) + * + * @param string $project Project ID for this request. + * @param array $optParams Optional parameters. + * + * @opt_param string filter Sets a filter expression for filtering listed + * resources, in the form filter={expression}. Your {expression} must be in the + * format: field_name comparison_string literal_string. + * + * The field_name is the name of the field you want to compare. Only atomic + * field types are supported (string, number, boolean). The comparison_string + * must be either eq (equals) or ne (not equals). The literal_string is the + * string value to filter to. The literal value must be valid for the type of + * field you are filtering by (string, number, boolean). For string fields, the + * literal value is interpreted as a regular expression using RE2 syntax. The + * literal value must match the entire field. + * + * For example, to filter for instances that do not have a name of example- + * instance, you would use filter=name ne example-instance. + * + * You can filter on nested fields. For example, you could filter on instances + * that have set the scheduling.automaticRestart field to true. Use filtering on + * nested fields to take advantage of labels to organize and search for results + * based on label values. + * + * To filter on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us- + * central1-f). Multiple expressions are treated as AND expressions, meaning + * that resources must match all expressions to pass the filters. + * @opt_param string maxResults The maximum number of results per page that + * should be returned. If the number of available results is larger than + * maxResults, Compute Engine returns a nextPageToken that can be used to get + * the next page of results in subsequent list requests. Acceptable values are 0 + * to 500, inclusive. (Default: 500) + * @opt_param string orderBy Sorts list results by a certain order. By default, + * results are returned in alphanumerical order based on the resource name. + * + * You can also sort results in descending order based on the creation timestamp + * using orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result first). + * Use this to sort resources like operations so that the newest operation is + * returned first. + * + * Currently, only sorting by name or creationTimestamp desc is supported. + * @opt_param string pageToken Specifies a page token to use. Set pageToken to + * the nextPageToken returned by a previous list request to get the next page of + * results. + * @return Google_Service_Compute_ForwardingRuleList + */ + public function listGlobalForwardingRules($project, $optParams = array()) + { + $params = array('project' => $project); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Compute_ForwardingRuleList"); + } + /** + * Changes target URL for forwarding rule. The new target should be of the same + * type as the old target. (globalForwardingRules.setTarget) + * + * @param string $project Project ID for this request. + * @param string $forwardingRule Name of the ForwardingRule resource in which + * target is to be set. + * @param Google_Service_Compute_TargetReference $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Compute_Operation + */ + public function setTarget($project, $forwardingRule, Google_Service_Compute_TargetReference $postBody, $optParams = array()) + { + $params = array('project' => $project, 'forwardingRule' => $forwardingRule, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('setTarget', array($params), "Google_Service_Compute_Operation"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/Resource/GlobalOperations.php b/vendor/google/apiclient-services/src/Google/Service/Compute/Resource/GlobalOperations.php new file mode 100644 index 00000000..ce1a9417 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/Resource/GlobalOperations.php @@ -0,0 +1,170 @@ + + * $computeService = new Google_Service_Compute(...); + * $globalOperations = $computeService->globalOperations; + * + */ +class Google_Service_Compute_Resource_GlobalOperations extends Google_Service_Resource +{ + /** + * Retrieves an aggregated list of all operations. + * (globalOperations.aggregatedList) + * + * @param string $project Project ID for this request. + * @param array $optParams Optional parameters. + * + * @opt_param string filter Sets a filter expression for filtering listed + * resources, in the form filter={expression}. Your {expression} must be in the + * format: field_name comparison_string literal_string. + * + * The field_name is the name of the field you want to compare. Only atomic + * field types are supported (string, number, boolean). The comparison_string + * must be either eq (equals) or ne (not equals). The literal_string is the + * string value to filter to. The literal value must be valid for the type of + * field you are filtering by (string, number, boolean). For string fields, the + * literal value is interpreted as a regular expression using RE2 syntax. The + * literal value must match the entire field. + * + * For example, to filter for instances that do not have a name of example- + * instance, you would use filter=name ne example-instance. + * + * You can filter on nested fields. For example, you could filter on instances + * that have set the scheduling.automaticRestart field to true. Use filtering on + * nested fields to take advantage of labels to organize and search for results + * based on label values. + * + * To filter on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us- + * central1-f). Multiple expressions are treated as AND expressions, meaning + * that resources must match all expressions to pass the filters. + * @opt_param string maxResults The maximum number of results per page that + * should be returned. If the number of available results is larger than + * maxResults, Compute Engine returns a nextPageToken that can be used to get + * the next page of results in subsequent list requests. Acceptable values are 0 + * to 500, inclusive. (Default: 500) + * @opt_param string orderBy Sorts list results by a certain order. By default, + * results are returned in alphanumerical order based on the resource name. + * + * You can also sort results in descending order based on the creation timestamp + * using orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result first). + * Use this to sort resources like operations so that the newest operation is + * returned first. + * + * Currently, only sorting by name or creationTimestamp desc is supported. + * @opt_param string pageToken Specifies a page token to use. Set pageToken to + * the nextPageToken returned by a previous list request to get the next page of + * results. + * @return Google_Service_Compute_OperationAggregatedList + */ + public function aggregatedList($project, $optParams = array()) + { + $params = array('project' => $project); + $params = array_merge($params, $optParams); + return $this->call('aggregatedList', array($params), "Google_Service_Compute_OperationAggregatedList"); + } + /** + * Deletes the specified Operations resource. (globalOperations.delete) + * + * @param string $project Project ID for this request. + * @param string $operation Name of the Operations resource to delete. + * @param array $optParams Optional parameters. + */ + public function delete($project, $operation, $optParams = array()) + { + $params = array('project' => $project, 'operation' => $operation); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params)); + } + /** + * Retrieves the specified Operations resource. Get a list of operations by + * making a list() request. (globalOperations.get) + * + * @param string $project Project ID for this request. + * @param string $operation Name of the Operations resource to return. + * @param array $optParams Optional parameters. + * @return Google_Service_Compute_Operation + */ + public function get($project, $operation, $optParams = array()) + { + $params = array('project' => $project, 'operation' => $operation); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Compute_Operation"); + } + /** + * Retrieves a list of Operation resources contained within the specified + * project. (globalOperations.listGlobalOperations) + * + * @param string $project Project ID for this request. + * @param array $optParams Optional parameters. + * + * @opt_param string filter Sets a filter expression for filtering listed + * resources, in the form filter={expression}. Your {expression} must be in the + * format: field_name comparison_string literal_string. + * + * The field_name is the name of the field you want to compare. Only atomic + * field types are supported (string, number, boolean). The comparison_string + * must be either eq (equals) or ne (not equals). The literal_string is the + * string value to filter to. The literal value must be valid for the type of + * field you are filtering by (string, number, boolean). For string fields, the + * literal value is interpreted as a regular expression using RE2 syntax. The + * literal value must match the entire field. + * + * For example, to filter for instances that do not have a name of example- + * instance, you would use filter=name ne example-instance. + * + * You can filter on nested fields. For example, you could filter on instances + * that have set the scheduling.automaticRestart field to true. Use filtering on + * nested fields to take advantage of labels to organize and search for results + * based on label values. + * + * To filter on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us- + * central1-f). Multiple expressions are treated as AND expressions, meaning + * that resources must match all expressions to pass the filters. + * @opt_param string maxResults The maximum number of results per page that + * should be returned. If the number of available results is larger than + * maxResults, Compute Engine returns a nextPageToken that can be used to get + * the next page of results in subsequent list requests. Acceptable values are 0 + * to 500, inclusive. (Default: 500) + * @opt_param string orderBy Sorts list results by a certain order. By default, + * results are returned in alphanumerical order based on the resource name. + * + * You can also sort results in descending order based on the creation timestamp + * using orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result first). + * Use this to sort resources like operations so that the newest operation is + * returned first. + * + * Currently, only sorting by name or creationTimestamp desc is supported. + * @opt_param string pageToken Specifies a page token to use. Set pageToken to + * the nextPageToken returned by a previous list request to get the next page of + * results. + * @return Google_Service_Compute_OperationList + */ + public function listGlobalOperations($project, $optParams = array()) + { + $params = array('project' => $project); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Compute_OperationList"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/Resource/HealthChecks.php b/vendor/google/apiclient-services/src/Google/Service/Compute/Resource/HealthChecks.php new file mode 100644 index 00000000..c46e7e73 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/Resource/HealthChecks.php @@ -0,0 +1,162 @@ + + * $computeService = new Google_Service_Compute(...); + * $healthChecks = $computeService->healthChecks; + * + */ +class Google_Service_Compute_Resource_HealthChecks extends Google_Service_Resource +{ + /** + * Deletes the specified HealthCheck resource. (healthChecks.delete) + * + * @param string $project Project ID for this request. + * @param string $healthCheck Name of the HealthCheck resource to delete. + * @param array $optParams Optional parameters. + * @return Google_Service_Compute_Operation + */ + public function delete($project, $healthCheck, $optParams = array()) + { + $params = array('project' => $project, 'healthCheck' => $healthCheck); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params), "Google_Service_Compute_Operation"); + } + /** + * Returns the specified HealthCheck resource. Get a list of available health + * checks by making a list() request. (healthChecks.get) + * + * @param string $project Project ID for this request. + * @param string $healthCheck Name of the HealthCheck resource to return. + * @param array $optParams Optional parameters. + * @return Google_Service_Compute_HealthCheck + */ + public function get($project, $healthCheck, $optParams = array()) + { + $params = array('project' => $project, 'healthCheck' => $healthCheck); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Compute_HealthCheck"); + } + /** + * Creates a HealthCheck resource in the specified project using the data + * included in the request. (healthChecks.insert) + * + * @param string $project Project ID for this request. + * @param Google_Service_Compute_HealthCheck $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Compute_Operation + */ + public function insert($project, Google_Service_Compute_HealthCheck $postBody, $optParams = array()) + { + $params = array('project' => $project, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('insert', array($params), "Google_Service_Compute_Operation"); + } + /** + * Retrieves the list of HealthCheck resources available to the specified + * project. (healthChecks.listHealthChecks) + * + * @param string $project Project ID for this request. + * @param array $optParams Optional parameters. + * + * @opt_param string filter Sets a filter expression for filtering listed + * resources, in the form filter={expression}. Your {expression} must be in the + * format: field_name comparison_string literal_string. + * + * The field_name is the name of the field you want to compare. Only atomic + * field types are supported (string, number, boolean). The comparison_string + * must be either eq (equals) or ne (not equals). The literal_string is the + * string value to filter to. The literal value must be valid for the type of + * field you are filtering by (string, number, boolean). For string fields, the + * literal value is interpreted as a regular expression using RE2 syntax. The + * literal value must match the entire field. + * + * For example, to filter for instances that do not have a name of example- + * instance, you would use filter=name ne example-instance. + * + * You can filter on nested fields. For example, you could filter on instances + * that have set the scheduling.automaticRestart field to true. Use filtering on + * nested fields to take advantage of labels to organize and search for results + * based on label values. + * + * To filter on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us- + * central1-f). Multiple expressions are treated as AND expressions, meaning + * that resources must match all expressions to pass the filters. + * @opt_param string maxResults The maximum number of results per page that + * should be returned. If the number of available results is larger than + * maxResults, Compute Engine returns a nextPageToken that can be used to get + * the next page of results in subsequent list requests. Acceptable values are 0 + * to 500, inclusive. (Default: 500) + * @opt_param string orderBy Sorts list results by a certain order. By default, + * results are returned in alphanumerical order based on the resource name. + * + * You can also sort results in descending order based on the creation timestamp + * using orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result first). + * Use this to sort resources like operations so that the newest operation is + * returned first. + * + * Currently, only sorting by name or creationTimestamp desc is supported. + * @opt_param string pageToken Specifies a page token to use. Set pageToken to + * the nextPageToken returned by a previous list request to get the next page of + * results. + * @return Google_Service_Compute_HealthCheckList + */ + public function listHealthChecks($project, $optParams = array()) + { + $params = array('project' => $project); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Compute_HealthCheckList"); + } + /** + * Updates a HealthCheck resource in the specified project using the data + * included in the request. This method supports patch semantics. + * (healthChecks.patch) + * + * @param string $project Project ID for this request. + * @param string $healthCheck Name of the HealthCheck resource to update. + * @param Google_Service_Compute_HealthCheck $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Compute_Operation + */ + public function patch($project, $healthCheck, Google_Service_Compute_HealthCheck $postBody, $optParams = array()) + { + $params = array('project' => $project, 'healthCheck' => $healthCheck, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('patch', array($params), "Google_Service_Compute_Operation"); + } + /** + * Updates a HealthCheck resource in the specified project using the data + * included in the request. (healthChecks.update) + * + * @param string $project Project ID for this request. + * @param string $healthCheck Name of the HealthCheck resource to update. + * @param Google_Service_Compute_HealthCheck $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Compute_Operation + */ + public function update($project, $healthCheck, Google_Service_Compute_HealthCheck $postBody, $optParams = array()) + { + $params = array('project' => $project, 'healthCheck' => $healthCheck, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('update', array($params), "Google_Service_Compute_Operation"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/Resource/HttpHealthChecks.php b/vendor/google/apiclient-services/src/Google/Service/Compute/Resource/HttpHealthChecks.php new file mode 100644 index 00000000..bd261fa8 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/Resource/HttpHealthChecks.php @@ -0,0 +1,166 @@ + + * $computeService = new Google_Service_Compute(...); + * $httpHealthChecks = $computeService->httpHealthChecks; + * + */ +class Google_Service_Compute_Resource_HttpHealthChecks extends Google_Service_Resource +{ + /** + * Deletes the specified HttpHealthCheck resource. (httpHealthChecks.delete) + * + * @param string $project Project ID for this request. + * @param string $httpHealthCheck Name of the HttpHealthCheck resource to + * delete. + * @param array $optParams Optional parameters. + * @return Google_Service_Compute_Operation + */ + public function delete($project, $httpHealthCheck, $optParams = array()) + { + $params = array('project' => $project, 'httpHealthCheck' => $httpHealthCheck); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params), "Google_Service_Compute_Operation"); + } + /** + * Returns the specified HttpHealthCheck resource. Get a list of available HTTP + * health checks by making a list() request. (httpHealthChecks.get) + * + * @param string $project Project ID for this request. + * @param string $httpHealthCheck Name of the HttpHealthCheck resource to + * return. + * @param array $optParams Optional parameters. + * @return Google_Service_Compute_HttpHealthCheck + */ + public function get($project, $httpHealthCheck, $optParams = array()) + { + $params = array('project' => $project, 'httpHealthCheck' => $httpHealthCheck); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Compute_HttpHealthCheck"); + } + /** + * Creates a HttpHealthCheck resource in the specified project using the data + * included in the request. (httpHealthChecks.insert) + * + * @param string $project Project ID for this request. + * @param Google_Service_Compute_HttpHealthCheck $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Compute_Operation + */ + public function insert($project, Google_Service_Compute_HttpHealthCheck $postBody, $optParams = array()) + { + $params = array('project' => $project, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('insert', array($params), "Google_Service_Compute_Operation"); + } + /** + * Retrieves the list of HttpHealthCheck resources available to the specified + * project. (httpHealthChecks.listHttpHealthChecks) + * + * @param string $project Project ID for this request. + * @param array $optParams Optional parameters. + * + * @opt_param string filter Sets a filter expression for filtering listed + * resources, in the form filter={expression}. Your {expression} must be in the + * format: field_name comparison_string literal_string. + * + * The field_name is the name of the field you want to compare. Only atomic + * field types are supported (string, number, boolean). The comparison_string + * must be either eq (equals) or ne (not equals). The literal_string is the + * string value to filter to. The literal value must be valid for the type of + * field you are filtering by (string, number, boolean). For string fields, the + * literal value is interpreted as a regular expression using RE2 syntax. The + * literal value must match the entire field. + * + * For example, to filter for instances that do not have a name of example- + * instance, you would use filter=name ne example-instance. + * + * You can filter on nested fields. For example, you could filter on instances + * that have set the scheduling.automaticRestart field to true. Use filtering on + * nested fields to take advantage of labels to organize and search for results + * based on label values. + * + * To filter on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us- + * central1-f). Multiple expressions are treated as AND expressions, meaning + * that resources must match all expressions to pass the filters. + * @opt_param string maxResults The maximum number of results per page that + * should be returned. If the number of available results is larger than + * maxResults, Compute Engine returns a nextPageToken that can be used to get + * the next page of results in subsequent list requests. Acceptable values are 0 + * to 500, inclusive. (Default: 500) + * @opt_param string orderBy Sorts list results by a certain order. By default, + * results are returned in alphanumerical order based on the resource name. + * + * You can also sort results in descending order based on the creation timestamp + * using orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result first). + * Use this to sort resources like operations so that the newest operation is + * returned first. + * + * Currently, only sorting by name or creationTimestamp desc is supported. + * @opt_param string pageToken Specifies a page token to use. Set pageToken to + * the nextPageToken returned by a previous list request to get the next page of + * results. + * @return Google_Service_Compute_HttpHealthCheckList + */ + public function listHttpHealthChecks($project, $optParams = array()) + { + $params = array('project' => $project); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Compute_HttpHealthCheckList"); + } + /** + * Updates a HttpHealthCheck resource in the specified project using the data + * included in the request. This method supports patch semantics. + * (httpHealthChecks.patch) + * + * @param string $project Project ID for this request. + * @param string $httpHealthCheck Name of the HttpHealthCheck resource to + * update. + * @param Google_Service_Compute_HttpHealthCheck $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Compute_Operation + */ + public function patch($project, $httpHealthCheck, Google_Service_Compute_HttpHealthCheck $postBody, $optParams = array()) + { + $params = array('project' => $project, 'httpHealthCheck' => $httpHealthCheck, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('patch', array($params), "Google_Service_Compute_Operation"); + } + /** + * Updates a HttpHealthCheck resource in the specified project using the data + * included in the request. (httpHealthChecks.update) + * + * @param string $project Project ID for this request. + * @param string $httpHealthCheck Name of the HttpHealthCheck resource to + * update. + * @param Google_Service_Compute_HttpHealthCheck $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Compute_Operation + */ + public function update($project, $httpHealthCheck, Google_Service_Compute_HttpHealthCheck $postBody, $optParams = array()) + { + $params = array('project' => $project, 'httpHealthCheck' => $httpHealthCheck, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('update', array($params), "Google_Service_Compute_Operation"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/Resource/HttpsHealthChecks.php b/vendor/google/apiclient-services/src/Google/Service/Compute/Resource/HttpsHealthChecks.php new file mode 100644 index 00000000..dcbfe55f --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/Resource/HttpsHealthChecks.php @@ -0,0 +1,166 @@ + + * $computeService = new Google_Service_Compute(...); + * $httpsHealthChecks = $computeService->httpsHealthChecks; + * + */ +class Google_Service_Compute_Resource_HttpsHealthChecks extends Google_Service_Resource +{ + /** + * Deletes the specified HttpsHealthCheck resource. (httpsHealthChecks.delete) + * + * @param string $project Project ID for this request. + * @param string $httpsHealthCheck Name of the HttpsHealthCheck resource to + * delete. + * @param array $optParams Optional parameters. + * @return Google_Service_Compute_Operation + */ + public function delete($project, $httpsHealthCheck, $optParams = array()) + { + $params = array('project' => $project, 'httpsHealthCheck' => $httpsHealthCheck); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params), "Google_Service_Compute_Operation"); + } + /** + * Returns the specified HttpsHealthCheck resource. Get a list of available + * HTTPS health checks by making a list() request. (httpsHealthChecks.get) + * + * @param string $project Project ID for this request. + * @param string $httpsHealthCheck Name of the HttpsHealthCheck resource to + * return. + * @param array $optParams Optional parameters. + * @return Google_Service_Compute_HttpsHealthCheck + */ + public function get($project, $httpsHealthCheck, $optParams = array()) + { + $params = array('project' => $project, 'httpsHealthCheck' => $httpsHealthCheck); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Compute_HttpsHealthCheck"); + } + /** + * Creates a HttpsHealthCheck resource in the specified project using the data + * included in the request. (httpsHealthChecks.insert) + * + * @param string $project Project ID for this request. + * @param Google_Service_Compute_HttpsHealthCheck $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Compute_Operation + */ + public function insert($project, Google_Service_Compute_HttpsHealthCheck $postBody, $optParams = array()) + { + $params = array('project' => $project, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('insert', array($params), "Google_Service_Compute_Operation"); + } + /** + * Retrieves the list of HttpsHealthCheck resources available to the specified + * project. (httpsHealthChecks.listHttpsHealthChecks) + * + * @param string $project Project ID for this request. + * @param array $optParams Optional parameters. + * + * @opt_param string filter Sets a filter expression for filtering listed + * resources, in the form filter={expression}. Your {expression} must be in the + * format: field_name comparison_string literal_string. + * + * The field_name is the name of the field you want to compare. Only atomic + * field types are supported (string, number, boolean). The comparison_string + * must be either eq (equals) or ne (not equals). The literal_string is the + * string value to filter to. The literal value must be valid for the type of + * field you are filtering by (string, number, boolean). For string fields, the + * literal value is interpreted as a regular expression using RE2 syntax. The + * literal value must match the entire field. + * + * For example, to filter for instances that do not have a name of example- + * instance, you would use filter=name ne example-instance. + * + * You can filter on nested fields. For example, you could filter on instances + * that have set the scheduling.automaticRestart field to true. Use filtering on + * nested fields to take advantage of labels to organize and search for results + * based on label values. + * + * To filter on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us- + * central1-f). Multiple expressions are treated as AND expressions, meaning + * that resources must match all expressions to pass the filters. + * @opt_param string maxResults The maximum number of results per page that + * should be returned. If the number of available results is larger than + * maxResults, Compute Engine returns a nextPageToken that can be used to get + * the next page of results in subsequent list requests. Acceptable values are 0 + * to 500, inclusive. (Default: 500) + * @opt_param string orderBy Sorts list results by a certain order. By default, + * results are returned in alphanumerical order based on the resource name. + * + * You can also sort results in descending order based on the creation timestamp + * using orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result first). + * Use this to sort resources like operations so that the newest operation is + * returned first. + * + * Currently, only sorting by name or creationTimestamp desc is supported. + * @opt_param string pageToken Specifies a page token to use. Set pageToken to + * the nextPageToken returned by a previous list request to get the next page of + * results. + * @return Google_Service_Compute_HttpsHealthCheckList + */ + public function listHttpsHealthChecks($project, $optParams = array()) + { + $params = array('project' => $project); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Compute_HttpsHealthCheckList"); + } + /** + * Updates a HttpsHealthCheck resource in the specified project using the data + * included in the request. This method supports patch semantics. + * (httpsHealthChecks.patch) + * + * @param string $project Project ID for this request. + * @param string $httpsHealthCheck Name of the HttpsHealthCheck resource to + * update. + * @param Google_Service_Compute_HttpsHealthCheck $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Compute_Operation + */ + public function patch($project, $httpsHealthCheck, Google_Service_Compute_HttpsHealthCheck $postBody, $optParams = array()) + { + $params = array('project' => $project, 'httpsHealthCheck' => $httpsHealthCheck, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('patch', array($params), "Google_Service_Compute_Operation"); + } + /** + * Updates a HttpsHealthCheck resource in the specified project using the data + * included in the request. (httpsHealthChecks.update) + * + * @param string $project Project ID for this request. + * @param string $httpsHealthCheck Name of the HttpsHealthCheck resource to + * update. + * @param Google_Service_Compute_HttpsHealthCheck $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Compute_Operation + */ + public function update($project, $httpsHealthCheck, Google_Service_Compute_HttpsHealthCheck $postBody, $optParams = array()) + { + $params = array('project' => $project, 'httpsHealthCheck' => $httpsHealthCheck, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('update', array($params), "Google_Service_Compute_Operation"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/Resource/Images.php b/vendor/google/apiclient-services/src/Google/Service/Compute/Resource/Images.php new file mode 100644 index 00000000..e3b5ac1f --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/Resource/Images.php @@ -0,0 +1,166 @@ + + * $computeService = new Google_Service_Compute(...); + * $images = $computeService->images; + * + */ +class Google_Service_Compute_Resource_Images extends Google_Service_Resource +{ + /** + * Deletes the specified image. (images.delete) + * + * @param string $project Project ID for this request. + * @param string $image Name of the image resource to delete. + * @param array $optParams Optional parameters. + * @return Google_Service_Compute_Operation + */ + public function delete($project, $image, $optParams = array()) + { + $params = array('project' => $project, 'image' => $image); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params), "Google_Service_Compute_Operation"); + } + /** + * Sets the deprecation status of an image. + * + * If an empty request body is given, clears the deprecation status instead. + * (images.deprecate) + * + * @param string $project Project ID for this request. + * @param string $image Image name. + * @param Google_Service_Compute_DeprecationStatus $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Compute_Operation + */ + public function deprecate($project, $image, Google_Service_Compute_DeprecationStatus $postBody, $optParams = array()) + { + $params = array('project' => $project, 'image' => $image, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('deprecate', array($params), "Google_Service_Compute_Operation"); + } + /** + * Returns the specified image. Get a list of available images by making a + * list() request. (images.get) + * + * @param string $project Project ID for this request. + * @param string $image Name of the image resource to return. + * @param array $optParams Optional parameters. + * @return Google_Service_Compute_Image + */ + public function get($project, $image, $optParams = array()) + { + $params = array('project' => $project, 'image' => $image); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Compute_Image"); + } + /** + * Returns the latest image that is part of an image family and is not + * deprecated. (images.getFromFamily) + * + * @param string $project Project ID for this request. + * @param string $family Name of the image family to search for. + * @param array $optParams Optional parameters. + * @return Google_Service_Compute_Image + */ + public function getFromFamily($project, $family, $optParams = array()) + { + $params = array('project' => $project, 'family' => $family); + $params = array_merge($params, $optParams); + return $this->call('getFromFamily', array($params), "Google_Service_Compute_Image"); + } + /** + * Creates an image in the specified project using the data included in the + * request. (images.insert) + * + * @param string $project Project ID for this request. + * @param Google_Service_Compute_Image $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Compute_Operation + */ + public function insert($project, Google_Service_Compute_Image $postBody, $optParams = array()) + { + $params = array('project' => $project, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('insert', array($params), "Google_Service_Compute_Operation"); + } + /** + * Retrieves the list of private images available to the specified project. + * Private images are images you create that belong to your project. This method + * does not get any images that belong to other projects, including publicly- + * available images, like Debian 8. If you want to get a list of publicly- + * available images, use this method to make a request to the respective image + * project, such as debian-cloud or windows-cloud. (images.listImages) + * + * @param string $project Project ID for this request. + * @param array $optParams Optional parameters. + * + * @opt_param string filter Sets a filter expression for filtering listed + * resources, in the form filter={expression}. Your {expression} must be in the + * format: field_name comparison_string literal_string. + * + * The field_name is the name of the field you want to compare. Only atomic + * field types are supported (string, number, boolean). The comparison_string + * must be either eq (equals) or ne (not equals). The literal_string is the + * string value to filter to. The literal value must be valid for the type of + * field you are filtering by (string, number, boolean). For string fields, the + * literal value is interpreted as a regular expression using RE2 syntax. The + * literal value must match the entire field. + * + * For example, to filter for instances that do not have a name of example- + * instance, you would use filter=name ne example-instance. + * + * You can filter on nested fields. For example, you could filter on instances + * that have set the scheduling.automaticRestart field to true. Use filtering on + * nested fields to take advantage of labels to organize and search for results + * based on label values. + * + * To filter on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us- + * central1-f). Multiple expressions are treated as AND expressions, meaning + * that resources must match all expressions to pass the filters. + * @opt_param string maxResults The maximum number of results per page that + * should be returned. If the number of available results is larger than + * maxResults, Compute Engine returns a nextPageToken that can be used to get + * the next page of results in subsequent list requests. Acceptable values are 0 + * to 500, inclusive. (Default: 500) + * @opt_param string orderBy Sorts list results by a certain order. By default, + * results are returned in alphanumerical order based on the resource name. + * + * You can also sort results in descending order based on the creation timestamp + * using orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result first). + * Use this to sort resources like operations so that the newest operation is + * returned first. + * + * Currently, only sorting by name or creationTimestamp desc is supported. + * @opt_param string pageToken Specifies a page token to use. Set pageToken to + * the nextPageToken returned by a previous list request to get the next page of + * results. + * @return Google_Service_Compute_ImageList + */ + public function listImages($project, $optParams = array()) + { + $params = array('project' => $project); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Compute_ImageList"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/Resource/InstanceGroupManagers.php b/vendor/google/apiclient-services/src/Google/Service/Compute/Resource/InstanceGroupManagers.php new file mode 100644 index 00000000..1fb564e0 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/Resource/InstanceGroupManagers.php @@ -0,0 +1,369 @@ + + * $computeService = new Google_Service_Compute(...); + * $instanceGroupManagers = $computeService->instanceGroupManagers; + * + */ +class Google_Service_Compute_Resource_InstanceGroupManagers extends Google_Service_Resource +{ + /** + * Schedules a group action to remove the specified instances from the managed + * instance group. Abandoning an instance does not delete the instance, but it + * does remove the instance from any target pools that are applied by the + * managed instance group. This method reduces the targetSize of the managed + * instance group by the number of instances that you abandon. This operation is + * marked as DONE when the action is scheduled even if the instances have not + * yet been removed from the group. You must separately verify the status of the + * abandoning action with the listmanagedinstances method. + * (instanceGroupManagers.abandonInstances) + * + * @param string $project Project ID for this request. + * @param string $zone The name of the zone where the managed instance group is + * located. + * @param string $instanceGroupManager The name of the managed instance group. + * @param Google_Service_Compute_InstanceGroupManagersAbandonInstancesRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Compute_Operation + */ + public function abandonInstances($project, $zone, $instanceGroupManager, Google_Service_Compute_InstanceGroupManagersAbandonInstancesRequest $postBody, $optParams = array()) + { + $params = array('project' => $project, 'zone' => $zone, 'instanceGroupManager' => $instanceGroupManager, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('abandonInstances', array($params), "Google_Service_Compute_Operation"); + } + /** + * Retrieves the list of managed instance groups and groups them by zone. + * (instanceGroupManagers.aggregatedList) + * + * @param string $project Project ID for this request. + * @param array $optParams Optional parameters. + * + * @opt_param string filter Sets a filter expression for filtering listed + * resources, in the form filter={expression}. Your {expression} must be in the + * format: field_name comparison_string literal_string. + * + * The field_name is the name of the field you want to compare. Only atomic + * field types are supported (string, number, boolean). The comparison_string + * must be either eq (equals) or ne (not equals). The literal_string is the + * string value to filter to. The literal value must be valid for the type of + * field you are filtering by (string, number, boolean). For string fields, the + * literal value is interpreted as a regular expression using RE2 syntax. The + * literal value must match the entire field. + * + * For example, to filter for instances that do not have a name of example- + * instance, you would use filter=name ne example-instance. + * + * You can filter on nested fields. For example, you could filter on instances + * that have set the scheduling.automaticRestart field to true. Use filtering on + * nested fields to take advantage of labels to organize and search for results + * based on label values. + * + * To filter on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us- + * central1-f). Multiple expressions are treated as AND expressions, meaning + * that resources must match all expressions to pass the filters. + * @opt_param string maxResults The maximum number of results per page that + * should be returned. If the number of available results is larger than + * maxResults, Compute Engine returns a nextPageToken that can be used to get + * the next page of results in subsequent list requests. Acceptable values are 0 + * to 500, inclusive. (Default: 500) + * @opt_param string orderBy Sorts list results by a certain order. By default, + * results are returned in alphanumerical order based on the resource name. + * + * You can also sort results in descending order based on the creation timestamp + * using orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result first). + * Use this to sort resources like operations so that the newest operation is + * returned first. + * + * Currently, only sorting by name or creationTimestamp desc is supported. + * @opt_param string pageToken Specifies a page token to use. Set pageToken to + * the nextPageToken returned by a previous list request to get the next page of + * results. + * @return Google_Service_Compute_InstanceGroupManagerAggregatedList + */ + public function aggregatedList($project, $optParams = array()) + { + $params = array('project' => $project); + $params = array_merge($params, $optParams); + return $this->call('aggregatedList', array($params), "Google_Service_Compute_InstanceGroupManagerAggregatedList"); + } + /** + * Deletes the specified managed instance group and all of the instances in that + * group. Note that the instance group must not belong to a backend service. + * Read Deleting an instance group for more information. + * (instanceGroupManagers.delete) + * + * @param string $project Project ID for this request. + * @param string $zone The name of the zone where the managed instance group is + * located. + * @param string $instanceGroupManager The name of the managed instance group to + * delete. + * @param array $optParams Optional parameters. + * @return Google_Service_Compute_Operation + */ + public function delete($project, $zone, $instanceGroupManager, $optParams = array()) + { + $params = array('project' => $project, 'zone' => $zone, 'instanceGroupManager' => $instanceGroupManager); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params), "Google_Service_Compute_Operation"); + } + /** + * Schedules a group action to delete the specified instances in the managed + * instance group. The instances are also removed from any target pools of which + * they were a member. This method reduces the targetSize of the managed + * instance group by the number of instances that you delete. This operation is + * marked as DONE when the action is scheduled even if the instances are still + * being deleted. You must separately verify the status of the deleting action + * with the listmanagedinstances method. (instanceGroupManagers.deleteInstances) + * + * @param string $project Project ID for this request. + * @param string $zone The name of the zone where the managed instance group is + * located. + * @param string $instanceGroupManager The name of the managed instance group. + * @param Google_Service_Compute_InstanceGroupManagersDeleteInstancesRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Compute_Operation + */ + public function deleteInstances($project, $zone, $instanceGroupManager, Google_Service_Compute_InstanceGroupManagersDeleteInstancesRequest $postBody, $optParams = array()) + { + $params = array('project' => $project, 'zone' => $zone, 'instanceGroupManager' => $instanceGroupManager, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('deleteInstances', array($params), "Google_Service_Compute_Operation"); + } + /** + * Returns all of the details about the specified managed instance group. Get a + * list of available managed instance groups by making a list() request. + * (instanceGroupManagers.get) + * + * @param string $project Project ID for this request. + * @param string $zone The name of the zone where the managed instance group is + * located. + * @param string $instanceGroupManager The name of the managed instance group. + * @param array $optParams Optional parameters. + * @return Google_Service_Compute_InstanceGroupManager + */ + public function get($project, $zone, $instanceGroupManager, $optParams = array()) + { + $params = array('project' => $project, 'zone' => $zone, 'instanceGroupManager' => $instanceGroupManager); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Compute_InstanceGroupManager"); + } + /** + * Creates a managed instance group using the information that you specify in + * the request. After the group is created, it schedules an action to create + * instances in the group using the specified instance template. This operation + * is marked as DONE when the group is created even if the instances in the + * group have not yet been created. You must separately verify the status of the + * individual instances with the listmanagedinstances method. + * (instanceGroupManagers.insert) + * + * @param string $project Project ID for this request. + * @param string $zone The name of the zone where you want to create the managed + * instance group. + * @param Google_Service_Compute_InstanceGroupManager $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Compute_Operation + */ + public function insert($project, $zone, Google_Service_Compute_InstanceGroupManager $postBody, $optParams = array()) + { + $params = array('project' => $project, 'zone' => $zone, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('insert', array($params), "Google_Service_Compute_Operation"); + } + /** + * Retrieves a list of managed instance groups that are contained within the + * specified project and zone. (instanceGroupManagers.listInstanceGroupManagers) + * + * @param string $project Project ID for this request. + * @param string $zone The name of the zone where the managed instance group is + * located. + * @param array $optParams Optional parameters. + * + * @opt_param string filter Sets a filter expression for filtering listed + * resources, in the form filter={expression}. Your {expression} must be in the + * format: field_name comparison_string literal_string. + * + * The field_name is the name of the field you want to compare. Only atomic + * field types are supported (string, number, boolean). The comparison_string + * must be either eq (equals) or ne (not equals). The literal_string is the + * string value to filter to. The literal value must be valid for the type of + * field you are filtering by (string, number, boolean). For string fields, the + * literal value is interpreted as a regular expression using RE2 syntax. The + * literal value must match the entire field. + * + * For example, to filter for instances that do not have a name of example- + * instance, you would use filter=name ne example-instance. + * + * You can filter on nested fields. For example, you could filter on instances + * that have set the scheduling.automaticRestart field to true. Use filtering on + * nested fields to take advantage of labels to organize and search for results + * based on label values. + * + * To filter on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us- + * central1-f). Multiple expressions are treated as AND expressions, meaning + * that resources must match all expressions to pass the filters. + * @opt_param string maxResults The maximum number of results per page that + * should be returned. If the number of available results is larger than + * maxResults, Compute Engine returns a nextPageToken that can be used to get + * the next page of results in subsequent list requests. Acceptable values are 0 + * to 500, inclusive. (Default: 500) + * @opt_param string orderBy Sorts list results by a certain order. By default, + * results are returned in alphanumerical order based on the resource name. + * + * You can also sort results in descending order based on the creation timestamp + * using orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result first). + * Use this to sort resources like operations so that the newest operation is + * returned first. + * + * Currently, only sorting by name or creationTimestamp desc is supported. + * @opt_param string pageToken Specifies a page token to use. Set pageToken to + * the nextPageToken returned by a previous list request to get the next page of + * results. + * @return Google_Service_Compute_InstanceGroupManagerList + */ + public function listInstanceGroupManagers($project, $zone, $optParams = array()) + { + $params = array('project' => $project, 'zone' => $zone); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Compute_InstanceGroupManagerList"); + } + /** + * Lists all of the instances in the managed instance group. Each instance in + * the list has a currentAction, which indicates the action that the managed + * instance group is performing on the instance. For example, if the group is + * still creating an instance, the currentAction is CREATING. If a previous + * action failed, the list displays the errors for that failed action. + * (instanceGroupManagers.listManagedInstances) + * + * @param string $project Project ID for this request. + * @param string $zone The name of the zone where the managed instance group is + * located. + * @param string $instanceGroupManager The name of the managed instance group. + * @param array $optParams Optional parameters. + * + * @opt_param string filter + * @opt_param string maxResults + * @opt_param string order_by + * @opt_param string pageToken + * @return Google_Service_Compute_InstanceGroupManagersListManagedInstancesResponse + */ + public function listManagedInstances($project, $zone, $instanceGroupManager, $optParams = array()) + { + $params = array('project' => $project, 'zone' => $zone, 'instanceGroupManager' => $instanceGroupManager); + $params = array_merge($params, $optParams); + return $this->call('listManagedInstances', array($params), "Google_Service_Compute_InstanceGroupManagersListManagedInstancesResponse"); + } + /** + * Schedules a group action to recreate the specified instances in the managed + * instance group. The instances are deleted and recreated using the current + * instance template for the managed instance group. This operation is marked as + * DONE when the action is scheduled even if the instances have not yet been + * recreated. You must separately verify the status of the recreating action + * with the listmanagedinstances method. + * (instanceGroupManagers.recreateInstances) + * + * @param string $project Project ID for this request. + * @param string $zone The name of the zone where the managed instance group is + * located. + * @param string $instanceGroupManager The name of the managed instance group. + * @param Google_Service_Compute_InstanceGroupManagersRecreateInstancesRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Compute_Operation + */ + public function recreateInstances($project, $zone, $instanceGroupManager, Google_Service_Compute_InstanceGroupManagersRecreateInstancesRequest $postBody, $optParams = array()) + { + $params = array('project' => $project, 'zone' => $zone, 'instanceGroupManager' => $instanceGroupManager, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('recreateInstances', array($params), "Google_Service_Compute_Operation"); + } + /** + * Resizes the managed instance group. If you increase the size, the group + * creates new instances using the current instance template. If you decrease + * the size, the group deletes instances. The resize operation is marked DONE + * when the resize actions are scheduled even if the group has not yet added or + * deleted any instances. You must separately verify the status of the creating + * or deleting actions with the listmanagedinstances method. + * (instanceGroupManagers.resize) + * + * @param string $project Project ID for this request. + * @param string $zone The name of the zone where the managed instance group is + * located. + * @param string $instanceGroupManager The name of the managed instance group. + * @param int $size The number of running instances that the managed instance + * group should maintain at any given time. The group automatically adds or + * removes instances to maintain the number of instances specified by this + * parameter. + * @param array $optParams Optional parameters. + * @return Google_Service_Compute_Operation + */ + public function resize($project, $zone, $instanceGroupManager, $size, $optParams = array()) + { + $params = array('project' => $project, 'zone' => $zone, 'instanceGroupManager' => $instanceGroupManager, 'size' => $size); + $params = array_merge($params, $optParams); + return $this->call('resize', array($params), "Google_Service_Compute_Operation"); + } + /** + * Specifies the instance template to use when creating new instances in this + * group. The templates for existing instances in the group do not change unless + * you recreate them. (instanceGroupManagers.setInstanceTemplate) + * + * @param string $project Project ID for this request. + * @param string $zone The name of the zone where the managed instance group is + * located. + * @param string $instanceGroupManager The name of the managed instance group. + * @param Google_Service_Compute_InstanceGroupManagersSetInstanceTemplateRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Compute_Operation + */ + public function setInstanceTemplate($project, $zone, $instanceGroupManager, Google_Service_Compute_InstanceGroupManagersSetInstanceTemplateRequest $postBody, $optParams = array()) + { + $params = array('project' => $project, 'zone' => $zone, 'instanceGroupManager' => $instanceGroupManager, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('setInstanceTemplate', array($params), "Google_Service_Compute_Operation"); + } + /** + * Modifies the target pools to which all instances in this managed instance + * group are assigned. The target pools automatically apply to all of the + * instances in the managed instance group. This operation is marked DONE when + * you make the request even if the instances have not yet been added to their + * target pools. The change might take some time to apply to all of the + * instances in the group depending on the size of the group. + * (instanceGroupManagers.setTargetPools) + * + * @param string $project Project ID for this request. + * @param string $zone The name of the zone where the managed instance group is + * located. + * @param string $instanceGroupManager The name of the managed instance group. + * @param Google_Service_Compute_InstanceGroupManagersSetTargetPoolsRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Compute_Operation + */ + public function setTargetPools($project, $zone, $instanceGroupManager, Google_Service_Compute_InstanceGroupManagersSetTargetPoolsRequest $postBody, $optParams = array()) + { + $params = array('project' => $project, 'zone' => $zone, 'instanceGroupManager' => $instanceGroupManager, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('setTargetPools', array($params), "Google_Service_Compute_Operation"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/Resource/InstanceGroups.php b/vendor/google/apiclient-services/src/Google/Service/Compute/Resource/InstanceGroups.php new file mode 100644 index 00000000..6945f6df --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/Resource/InstanceGroups.php @@ -0,0 +1,309 @@ + + * $computeService = new Google_Service_Compute(...); + * $instanceGroups = $computeService->instanceGroups; + * + */ +class Google_Service_Compute_Resource_InstanceGroups extends Google_Service_Resource +{ + /** + * Adds a list of instances to the specified instance group. All of the + * instances in the instance group must be in the same network/subnetwork. Read + * Adding instances for more information. (instanceGroups.addInstances) + * + * @param string $project Project ID for this request. + * @param string $zone The name of the zone where the instance group is located. + * @param string $instanceGroup The name of the instance group where you are + * adding instances. + * @param Google_Service_Compute_InstanceGroupsAddInstancesRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Compute_Operation + */ + public function addInstances($project, $zone, $instanceGroup, Google_Service_Compute_InstanceGroupsAddInstancesRequest $postBody, $optParams = array()) + { + $params = array('project' => $project, 'zone' => $zone, 'instanceGroup' => $instanceGroup, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('addInstances', array($params), "Google_Service_Compute_Operation"); + } + /** + * Retrieves the list of instance groups and sorts them by zone. + * (instanceGroups.aggregatedList) + * + * @param string $project Project ID for this request. + * @param array $optParams Optional parameters. + * + * @opt_param string filter Sets a filter expression for filtering listed + * resources, in the form filter={expression}. Your {expression} must be in the + * format: field_name comparison_string literal_string. + * + * The field_name is the name of the field you want to compare. Only atomic + * field types are supported (string, number, boolean). The comparison_string + * must be either eq (equals) or ne (not equals). The literal_string is the + * string value to filter to. The literal value must be valid for the type of + * field you are filtering by (string, number, boolean). For string fields, the + * literal value is interpreted as a regular expression using RE2 syntax. The + * literal value must match the entire field. + * + * For example, to filter for instances that do not have a name of example- + * instance, you would use filter=name ne example-instance. + * + * You can filter on nested fields. For example, you could filter on instances + * that have set the scheduling.automaticRestart field to true. Use filtering on + * nested fields to take advantage of labels to organize and search for results + * based on label values. + * + * To filter on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us- + * central1-f). Multiple expressions are treated as AND expressions, meaning + * that resources must match all expressions to pass the filters. + * @opt_param string maxResults The maximum number of results per page that + * should be returned. If the number of available results is larger than + * maxResults, Compute Engine returns a nextPageToken that can be used to get + * the next page of results in subsequent list requests. Acceptable values are 0 + * to 500, inclusive. (Default: 500) + * @opt_param string orderBy Sorts list results by a certain order. By default, + * results are returned in alphanumerical order based on the resource name. + * + * You can also sort results in descending order based on the creation timestamp + * using orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result first). + * Use this to sort resources like operations so that the newest operation is + * returned first. + * + * Currently, only sorting by name or creationTimestamp desc is supported. + * @opt_param string pageToken Specifies a page token to use. Set pageToken to + * the nextPageToken returned by a previous list request to get the next page of + * results. + * @return Google_Service_Compute_InstanceGroupAggregatedList + */ + public function aggregatedList($project, $optParams = array()) + { + $params = array('project' => $project); + $params = array_merge($params, $optParams); + return $this->call('aggregatedList', array($params), "Google_Service_Compute_InstanceGroupAggregatedList"); + } + /** + * Deletes the specified instance group. The instances in the group are not + * deleted. Note that instance group must not belong to a backend service. Read + * Deleting an instance group for more information. (instanceGroups.delete) + * + * @param string $project Project ID for this request. + * @param string $zone The name of the zone where the instance group is located. + * @param string $instanceGroup The name of the instance group to delete. + * @param array $optParams Optional parameters. + * @return Google_Service_Compute_Operation + */ + public function delete($project, $zone, $instanceGroup, $optParams = array()) + { + $params = array('project' => $project, 'zone' => $zone, 'instanceGroup' => $instanceGroup); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params), "Google_Service_Compute_Operation"); + } + /** + * Returns the specified instance group. Get a list of available instance groups + * by making a list() request. (instanceGroups.get) + * + * @param string $project Project ID for this request. + * @param string $zone The name of the zone where the instance group is located. + * @param string $instanceGroup The name of the instance group. + * @param array $optParams Optional parameters. + * @return Google_Service_Compute_InstanceGroup + */ + public function get($project, $zone, $instanceGroup, $optParams = array()) + { + $params = array('project' => $project, 'zone' => $zone, 'instanceGroup' => $instanceGroup); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Compute_InstanceGroup"); + } + /** + * Creates an instance group in the specified project using the parameters that + * are included in the request. (instanceGroups.insert) + * + * @param string $project Project ID for this request. + * @param string $zone The name of the zone where you want to create the + * instance group. + * @param Google_Service_Compute_InstanceGroup $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Compute_Operation + */ + public function insert($project, $zone, Google_Service_Compute_InstanceGroup $postBody, $optParams = array()) + { + $params = array('project' => $project, 'zone' => $zone, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('insert', array($params), "Google_Service_Compute_Operation"); + } + /** + * Retrieves the list of instance groups that are located in the specified + * project and zone. (instanceGroups.listInstanceGroups) + * + * @param string $project Project ID for this request. + * @param string $zone The name of the zone where the instance group is located. + * @param array $optParams Optional parameters. + * + * @opt_param string filter Sets a filter expression for filtering listed + * resources, in the form filter={expression}. Your {expression} must be in the + * format: field_name comparison_string literal_string. + * + * The field_name is the name of the field you want to compare. Only atomic + * field types are supported (string, number, boolean). The comparison_string + * must be either eq (equals) or ne (not equals). The literal_string is the + * string value to filter to. The literal value must be valid for the type of + * field you are filtering by (string, number, boolean). For string fields, the + * literal value is interpreted as a regular expression using RE2 syntax. The + * literal value must match the entire field. + * + * For example, to filter for instances that do not have a name of example- + * instance, you would use filter=name ne example-instance. + * + * You can filter on nested fields. For example, you could filter on instances + * that have set the scheduling.automaticRestart field to true. Use filtering on + * nested fields to take advantage of labels to organize and search for results + * based on label values. + * + * To filter on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us- + * central1-f). Multiple expressions are treated as AND expressions, meaning + * that resources must match all expressions to pass the filters. + * @opt_param string maxResults The maximum number of results per page that + * should be returned. If the number of available results is larger than + * maxResults, Compute Engine returns a nextPageToken that can be used to get + * the next page of results in subsequent list requests. Acceptable values are 0 + * to 500, inclusive. (Default: 500) + * @opt_param string orderBy Sorts list results by a certain order. By default, + * results are returned in alphanumerical order based on the resource name. + * + * You can also sort results in descending order based on the creation timestamp + * using orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result first). + * Use this to sort resources like operations so that the newest operation is + * returned first. + * + * Currently, only sorting by name or creationTimestamp desc is supported. + * @opt_param string pageToken Specifies a page token to use. Set pageToken to + * the nextPageToken returned by a previous list request to get the next page of + * results. + * @return Google_Service_Compute_InstanceGroupList + */ + public function listInstanceGroups($project, $zone, $optParams = array()) + { + $params = array('project' => $project, 'zone' => $zone); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Compute_InstanceGroupList"); + } + /** + * Lists the instances in the specified instance group. + * (instanceGroups.listInstances) + * + * @param string $project Project ID for this request. + * @param string $zone The name of the zone where the instance group is located. + * @param string $instanceGroup The name of the instance group from which you + * want to generate a list of included instances. + * @param Google_Service_Compute_InstanceGroupsListInstancesRequest $postBody + * @param array $optParams Optional parameters. + * + * @opt_param string filter Sets a filter expression for filtering listed + * resources, in the form filter={expression}. Your {expression} must be in the + * format: field_name comparison_string literal_string. + * + * The field_name is the name of the field you want to compare. Only atomic + * field types are supported (string, number, boolean). The comparison_string + * must be either eq (equals) or ne (not equals). The literal_string is the + * string value to filter to. The literal value must be valid for the type of + * field you are filtering by (string, number, boolean). For string fields, the + * literal value is interpreted as a regular expression using RE2 syntax. The + * literal value must match the entire field. + * + * For example, to filter for instances that do not have a name of example- + * instance, you would use filter=name ne example-instance. + * + * You can filter on nested fields. For example, you could filter on instances + * that have set the scheduling.automaticRestart field to true. Use filtering on + * nested fields to take advantage of labels to organize and search for results + * based on label values. + * + * To filter on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us- + * central1-f). Multiple expressions are treated as AND expressions, meaning + * that resources must match all expressions to pass the filters. + * @opt_param string maxResults The maximum number of results per page that + * should be returned. If the number of available results is larger than + * maxResults, Compute Engine returns a nextPageToken that can be used to get + * the next page of results in subsequent list requests. Acceptable values are 0 + * to 500, inclusive. (Default: 500) + * @opt_param string orderBy Sorts list results by a certain order. By default, + * results are returned in alphanumerical order based on the resource name. + * + * You can also sort results in descending order based on the creation timestamp + * using orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result first). + * Use this to sort resources like operations so that the newest operation is + * returned first. + * + * Currently, only sorting by name or creationTimestamp desc is supported. + * @opt_param string pageToken Specifies a page token to use. Set pageToken to + * the nextPageToken returned by a previous list request to get the next page of + * results. + * @return Google_Service_Compute_InstanceGroupsListInstances + */ + public function listInstances($project, $zone, $instanceGroup, Google_Service_Compute_InstanceGroupsListInstancesRequest $postBody, $optParams = array()) + { + $params = array('project' => $project, 'zone' => $zone, 'instanceGroup' => $instanceGroup, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('listInstances', array($params), "Google_Service_Compute_InstanceGroupsListInstances"); + } + /** + * Removes one or more instances from the specified instance group, but does not + * delete those instances. (instanceGroups.removeInstances) + * + * @param string $project Project ID for this request. + * @param string $zone The name of the zone where the instance group is located. + * @param string $instanceGroup The name of the instance group where the + * specified instances will be removed. + * @param Google_Service_Compute_InstanceGroupsRemoveInstancesRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Compute_Operation + */ + public function removeInstances($project, $zone, $instanceGroup, Google_Service_Compute_InstanceGroupsRemoveInstancesRequest $postBody, $optParams = array()) + { + $params = array('project' => $project, 'zone' => $zone, 'instanceGroup' => $instanceGroup, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('removeInstances', array($params), "Google_Service_Compute_Operation"); + } + /** + * Sets the named ports for the specified instance group. + * (instanceGroups.setNamedPorts) + * + * @param string $project Project ID for this request. + * @param string $zone The name of the zone where the instance group is located. + * @param string $instanceGroup The name of the instance group where the named + * ports are updated. + * @param Google_Service_Compute_InstanceGroupsSetNamedPortsRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Compute_Operation + */ + public function setNamedPorts($project, $zone, $instanceGroup, Google_Service_Compute_InstanceGroupsSetNamedPortsRequest $postBody, $optParams = array()) + { + $params = array('project' => $project, 'zone' => $zone, 'instanceGroup' => $instanceGroup, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('setNamedPorts', array($params), "Google_Service_Compute_Operation"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/Resource/InstanceTemplates.php b/vendor/google/apiclient-services/src/Google/Service/Compute/Resource/InstanceTemplates.php new file mode 100644 index 00000000..e2dd0e2b --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/Resource/InstanceTemplates.php @@ -0,0 +1,136 @@ + + * $computeService = new Google_Service_Compute(...); + * $instanceTemplates = $computeService->instanceTemplates; + * + */ +class Google_Service_Compute_Resource_InstanceTemplates extends Google_Service_Resource +{ + /** + * Deletes the specified instance template. If you delete an instance template + * that is being referenced from another instance group, the instance group will + * not be able to create or recreate virtual machine instances. Deleting an + * instance template is permanent and cannot be undone. + * (instanceTemplates.delete) + * + * @param string $project Project ID for this request. + * @param string $instanceTemplate The name of the instance template to delete. + * @param array $optParams Optional parameters. + * @return Google_Service_Compute_Operation + */ + public function delete($project, $instanceTemplate, $optParams = array()) + { + $params = array('project' => $project, 'instanceTemplate' => $instanceTemplate); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params), "Google_Service_Compute_Operation"); + } + /** + * Returns the specified instance template. Get a list of available instance + * templates by making a list() request. (instanceTemplates.get) + * + * @param string $project Project ID for this request. + * @param string $instanceTemplate The name of the instance template. + * @param array $optParams Optional parameters. + * @return Google_Service_Compute_InstanceTemplate + */ + public function get($project, $instanceTemplate, $optParams = array()) + { + $params = array('project' => $project, 'instanceTemplate' => $instanceTemplate); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Compute_InstanceTemplate"); + } + /** + * Creates an instance template in the specified project using the data that is + * included in the request. If you are creating a new template to update an + * existing instance group, your new instance template must use the same network + * or, if applicable, the same subnetwork as the original template. + * (instanceTemplates.insert) + * + * @param string $project Project ID for this request. + * @param Google_Service_Compute_InstanceTemplate $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Compute_Operation + */ + public function insert($project, Google_Service_Compute_InstanceTemplate $postBody, $optParams = array()) + { + $params = array('project' => $project, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('insert', array($params), "Google_Service_Compute_Operation"); + } + /** + * Retrieves a list of instance templates that are contained within the + * specified project and zone. (instanceTemplates.listInstanceTemplates) + * + * @param string $project Project ID for this request. + * @param array $optParams Optional parameters. + * + * @opt_param string filter Sets a filter expression for filtering listed + * resources, in the form filter={expression}. Your {expression} must be in the + * format: field_name comparison_string literal_string. + * + * The field_name is the name of the field you want to compare. Only atomic + * field types are supported (string, number, boolean). The comparison_string + * must be either eq (equals) or ne (not equals). The literal_string is the + * string value to filter to. The literal value must be valid for the type of + * field you are filtering by (string, number, boolean). For string fields, the + * literal value is interpreted as a regular expression using RE2 syntax. The + * literal value must match the entire field. + * + * For example, to filter for instances that do not have a name of example- + * instance, you would use filter=name ne example-instance. + * + * You can filter on nested fields. For example, you could filter on instances + * that have set the scheduling.automaticRestart field to true. Use filtering on + * nested fields to take advantage of labels to organize and search for results + * based on label values. + * + * To filter on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us- + * central1-f). Multiple expressions are treated as AND expressions, meaning + * that resources must match all expressions to pass the filters. + * @opt_param string maxResults The maximum number of results per page that + * should be returned. If the number of available results is larger than + * maxResults, Compute Engine returns a nextPageToken that can be used to get + * the next page of results in subsequent list requests. Acceptable values are 0 + * to 500, inclusive. (Default: 500) + * @opt_param string orderBy Sorts list results by a certain order. By default, + * results are returned in alphanumerical order based on the resource name. + * + * You can also sort results in descending order based on the creation timestamp + * using orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result first). + * Use this to sort resources like operations so that the newest operation is + * returned first. + * + * Currently, only sorting by name or creationTimestamp desc is supported. + * @opt_param string pageToken Specifies a page token to use. Set pageToken to + * the nextPageToken returned by a previous list request to get the next page of + * results. + * @return Google_Service_Compute_InstanceTemplateList + */ + public function listInstanceTemplates($project, $optParams = array()) + { + $params = array('project' => $project); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Compute_InstanceTemplateList"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/Resource/Instances.php b/vendor/google/apiclient-services/src/Google/Service/Compute/Resource/Instances.php new file mode 100644 index 00000000..4c1d6cf5 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/Resource/Instances.php @@ -0,0 +1,455 @@ + + * $computeService = new Google_Service_Compute(...); + * $instances = $computeService->instances; + * + */ +class Google_Service_Compute_Resource_Instances extends Google_Service_Resource +{ + /** + * Adds an access config to an instance's network interface. + * (instances.addAccessConfig) + * + * @param string $project Project ID for this request. + * @param string $zone The name of the zone for this request. + * @param string $instance The instance name for this request. + * @param string $networkInterface The name of the network interface to add to + * this instance. + * @param Google_Service_Compute_AccessConfig $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Compute_Operation + */ + public function addAccessConfig($project, $zone, $instance, $networkInterface, Google_Service_Compute_AccessConfig $postBody, $optParams = array()) + { + $params = array('project' => $project, 'zone' => $zone, 'instance' => $instance, 'networkInterface' => $networkInterface, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('addAccessConfig', array($params), "Google_Service_Compute_Operation"); + } + /** + * Retrieves aggregated list of instances. (instances.aggregatedList) + * + * @param string $project Project ID for this request. + * @param array $optParams Optional parameters. + * + * @opt_param string filter Sets a filter expression for filtering listed + * resources, in the form filter={expression}. Your {expression} must be in the + * format: field_name comparison_string literal_string. + * + * The field_name is the name of the field you want to compare. Only atomic + * field types are supported (string, number, boolean). The comparison_string + * must be either eq (equals) or ne (not equals). The literal_string is the + * string value to filter to. The literal value must be valid for the type of + * field you are filtering by (string, number, boolean). For string fields, the + * literal value is interpreted as a regular expression using RE2 syntax. The + * literal value must match the entire field. + * + * For example, to filter for instances that do not have a name of example- + * instance, you would use filter=name ne example-instance. + * + * You can filter on nested fields. For example, you could filter on instances + * that have set the scheduling.automaticRestart field to true. Use filtering on + * nested fields to take advantage of labels to organize and search for results + * based on label values. + * + * To filter on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us- + * central1-f). Multiple expressions are treated as AND expressions, meaning + * that resources must match all expressions to pass the filters. + * @opt_param string maxResults The maximum number of results per page that + * should be returned. If the number of available results is larger than + * maxResults, Compute Engine returns a nextPageToken that can be used to get + * the next page of results in subsequent list requests. Acceptable values are 0 + * to 500, inclusive. (Default: 500) + * @opt_param string orderBy Sorts list results by a certain order. By default, + * results are returned in alphanumerical order based on the resource name. + * + * You can also sort results in descending order based on the creation timestamp + * using orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result first). + * Use this to sort resources like operations so that the newest operation is + * returned first. + * + * Currently, only sorting by name or creationTimestamp desc is supported. + * @opt_param string pageToken Specifies a page token to use. Set pageToken to + * the nextPageToken returned by a previous list request to get the next page of + * results. + * @return Google_Service_Compute_InstanceAggregatedList + */ + public function aggregatedList($project, $optParams = array()) + { + $params = array('project' => $project); + $params = array_merge($params, $optParams); + return $this->call('aggregatedList', array($params), "Google_Service_Compute_InstanceAggregatedList"); + } + /** + * Attaches a Disk resource to an instance. (instances.attachDisk) + * + * @param string $project Project ID for this request. + * @param string $zone The name of the zone for this request. + * @param string $instance The instance name for this request. + * @param Google_Service_Compute_AttachedDisk $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Compute_Operation + */ + public function attachDisk($project, $zone, $instance, Google_Service_Compute_AttachedDisk $postBody, $optParams = array()) + { + $params = array('project' => $project, 'zone' => $zone, 'instance' => $instance, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('attachDisk', array($params), "Google_Service_Compute_Operation"); + } + /** + * Deletes the specified Instance resource. For more information, see Stopping + * or Deleting an Instance. (instances.delete) + * + * @param string $project Project ID for this request. + * @param string $zone The name of the zone for this request. + * @param string $instance Name of the instance resource to delete. + * @param array $optParams Optional parameters. + * @return Google_Service_Compute_Operation + */ + public function delete($project, $zone, $instance, $optParams = array()) + { + $params = array('project' => $project, 'zone' => $zone, 'instance' => $instance); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params), "Google_Service_Compute_Operation"); + } + /** + * Deletes an access config from an instance's network interface. + * (instances.deleteAccessConfig) + * + * @param string $project Project ID for this request. + * @param string $zone The name of the zone for this request. + * @param string $instance The instance name for this request. + * @param string $accessConfig The name of the access config to delete. + * @param string $networkInterface The name of the network interface. + * @param array $optParams Optional parameters. + * @return Google_Service_Compute_Operation + */ + public function deleteAccessConfig($project, $zone, $instance, $accessConfig, $networkInterface, $optParams = array()) + { + $params = array('project' => $project, 'zone' => $zone, 'instance' => $instance, 'accessConfig' => $accessConfig, 'networkInterface' => $networkInterface); + $params = array_merge($params, $optParams); + return $this->call('deleteAccessConfig', array($params), "Google_Service_Compute_Operation"); + } + /** + * Detaches a disk from an instance. (instances.detachDisk) + * + * @param string $project Project ID for this request. + * @param string $zone The name of the zone for this request. + * @param string $instance Instance name. + * @param string $deviceName Disk device name to detach. + * @param array $optParams Optional parameters. + * @return Google_Service_Compute_Operation + */ + public function detachDisk($project, $zone, $instance, $deviceName, $optParams = array()) + { + $params = array('project' => $project, 'zone' => $zone, 'instance' => $instance, 'deviceName' => $deviceName); + $params = array_merge($params, $optParams); + return $this->call('detachDisk', array($params), "Google_Service_Compute_Operation"); + } + /** + * Returns the specified Instance resource. Get a list of available instances by + * making a list() request. (instances.get) + * + * @param string $project Project ID for this request. + * @param string $zone The name of the zone for this request. + * @param string $instance Name of the instance resource to return. + * @param array $optParams Optional parameters. + * @return Google_Service_Compute_Instance + */ + public function get($project, $zone, $instance, $optParams = array()) + { + $params = array('project' => $project, 'zone' => $zone, 'instance' => $instance); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Compute_Instance"); + } + /** + * Returns the specified instance's serial port output. + * (instances.getSerialPortOutput) + * + * @param string $project Project ID for this request. + * @param string $zone The name of the zone for this request. + * @param string $instance Name of the instance scoping this request. + * @param array $optParams Optional parameters. + * + * @opt_param int port Specifies which COM or serial port to retrieve data from. + * @opt_param string start Returns output starting from a specific byte + * position. Use this to page through output when the output is too large to + * return in a single request. For the initial request, leave this field + * unspecified. For subsequent calls, this field should be set to the next value + * returned in the previous call. + * @return Google_Service_Compute_SerialPortOutput + */ + public function getSerialPortOutput($project, $zone, $instance, $optParams = array()) + { + $params = array('project' => $project, 'zone' => $zone, 'instance' => $instance); + $params = array_merge($params, $optParams); + return $this->call('getSerialPortOutput', array($params), "Google_Service_Compute_SerialPortOutput"); + } + /** + * Creates an instance resource in the specified project using the data included + * in the request. (instances.insert) + * + * @param string $project Project ID for this request. + * @param string $zone The name of the zone for this request. + * @param Google_Service_Compute_Instance $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Compute_Operation + */ + public function insert($project, $zone, Google_Service_Compute_Instance $postBody, $optParams = array()) + { + $params = array('project' => $project, 'zone' => $zone, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('insert', array($params), "Google_Service_Compute_Operation"); + } + /** + * Retrieves the list of instances contained within the specified zone. + * (instances.listInstances) + * + * @param string $project Project ID for this request. + * @param string $zone The name of the zone for this request. + * @param array $optParams Optional parameters. + * + * @opt_param string filter Sets a filter expression for filtering listed + * resources, in the form filter={expression}. Your {expression} must be in the + * format: field_name comparison_string literal_string. + * + * The field_name is the name of the field you want to compare. Only atomic + * field types are supported (string, number, boolean). The comparison_string + * must be either eq (equals) or ne (not equals). The literal_string is the + * string value to filter to. The literal value must be valid for the type of + * field you are filtering by (string, number, boolean). For string fields, the + * literal value is interpreted as a regular expression using RE2 syntax. The + * literal value must match the entire field. + * + * For example, to filter for instances that do not have a name of example- + * instance, you would use filter=name ne example-instance. + * + * You can filter on nested fields. For example, you could filter on instances + * that have set the scheduling.automaticRestart field to true. Use filtering on + * nested fields to take advantage of labels to organize and search for results + * based on label values. + * + * To filter on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us- + * central1-f). Multiple expressions are treated as AND expressions, meaning + * that resources must match all expressions to pass the filters. + * @opt_param string maxResults The maximum number of results per page that + * should be returned. If the number of available results is larger than + * maxResults, Compute Engine returns a nextPageToken that can be used to get + * the next page of results in subsequent list requests. Acceptable values are 0 + * to 500, inclusive. (Default: 500) + * @opt_param string orderBy Sorts list results by a certain order. By default, + * results are returned in alphanumerical order based on the resource name. + * + * You can also sort results in descending order based on the creation timestamp + * using orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result first). + * Use this to sort resources like operations so that the newest operation is + * returned first. + * + * Currently, only sorting by name or creationTimestamp desc is supported. + * @opt_param string pageToken Specifies a page token to use. Set pageToken to + * the nextPageToken returned by a previous list request to get the next page of + * results. + * @return Google_Service_Compute_InstanceList + */ + public function listInstances($project, $zone, $optParams = array()) + { + $params = array('project' => $project, 'zone' => $zone); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Compute_InstanceList"); + } + /** + * Performs a hard reset on the instance. (instances.reset) + * + * @param string $project Project ID for this request. + * @param string $zone The name of the zone for this request. + * @param string $instance Name of the instance scoping this request. + * @param array $optParams Optional parameters. + * @return Google_Service_Compute_Operation + */ + public function reset($project, $zone, $instance, $optParams = array()) + { + $params = array('project' => $project, 'zone' => $zone, 'instance' => $instance); + $params = array_merge($params, $optParams); + return $this->call('reset', array($params), "Google_Service_Compute_Operation"); + } + /** + * Sets the auto-delete flag for a disk attached to an instance. + * (instances.setDiskAutoDelete) + * + * @param string $project Project ID for this request. + * @param string $zone The name of the zone for this request. + * @param string $instance The instance name. + * @param bool $autoDelete Whether to auto-delete the disk when the instance is + * deleted. + * @param string $deviceName The device name of the disk to modify. + * @param array $optParams Optional parameters. + * @return Google_Service_Compute_Operation + */ + public function setDiskAutoDelete($project, $zone, $instance, $autoDelete, $deviceName, $optParams = array()) + { + $params = array('project' => $project, 'zone' => $zone, 'instance' => $instance, 'autoDelete' => $autoDelete, 'deviceName' => $deviceName); + $params = array_merge($params, $optParams); + return $this->call('setDiskAutoDelete', array($params), "Google_Service_Compute_Operation"); + } + /** + * Changes the machine type for a stopped instance to the machine type specified + * in the request. (instances.setMachineType) + * + * @param string $project Project ID for this request. + * @param string $zone The name of the zone for this request. + * @param string $instance Name of the instance scoping this request. + * @param Google_Service_Compute_InstancesSetMachineTypeRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Compute_Operation + */ + public function setMachineType($project, $zone, $instance, Google_Service_Compute_InstancesSetMachineTypeRequest $postBody, $optParams = array()) + { + $params = array('project' => $project, 'zone' => $zone, 'instance' => $instance, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('setMachineType', array($params), "Google_Service_Compute_Operation"); + } + /** + * Sets metadata for the specified instance to the data included in the request. + * (instances.setMetadata) + * + * @param string $project Project ID for this request. + * @param string $zone The name of the zone for this request. + * @param string $instance Name of the instance scoping this request. + * @param Google_Service_Compute_Metadata $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Compute_Operation + */ + public function setMetadata($project, $zone, $instance, Google_Service_Compute_Metadata $postBody, $optParams = array()) + { + $params = array('project' => $project, 'zone' => $zone, 'instance' => $instance, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('setMetadata', array($params), "Google_Service_Compute_Operation"); + } + /** + * Sets an instance's scheduling options. (instances.setScheduling) + * + * @param string $project Project ID for this request. + * @param string $zone The name of the zone for this request. + * @param string $instance Instance name. + * @param Google_Service_Compute_Scheduling $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Compute_Operation + */ + public function setScheduling($project, $zone, $instance, Google_Service_Compute_Scheduling $postBody, $optParams = array()) + { + $params = array('project' => $project, 'zone' => $zone, 'instance' => $instance, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('setScheduling', array($params), "Google_Service_Compute_Operation"); + } + /** + * Sets the service account on the instance. For more information, read Changing + * the service account and access scopes for an instance. + * (instances.setServiceAccount) + * + * @param string $project Project ID for this request. + * @param string $zone The name of the zone for this request. + * @param string $instance Name of the instance resource to start. + * @param Google_Service_Compute_InstancesSetServiceAccountRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Compute_Operation + */ + public function setServiceAccount($project, $zone, $instance, Google_Service_Compute_InstancesSetServiceAccountRequest $postBody, $optParams = array()) + { + $params = array('project' => $project, 'zone' => $zone, 'instance' => $instance, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('setServiceAccount', array($params), "Google_Service_Compute_Operation"); + } + /** + * Sets tags for the specified instance to the data included in the request. + * (instances.setTags) + * + * @param string $project Project ID for this request. + * @param string $zone The name of the zone for this request. + * @param string $instance Name of the instance scoping this request. + * @param Google_Service_Compute_Tags $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Compute_Operation + */ + public function setTags($project, $zone, $instance, Google_Service_Compute_Tags $postBody, $optParams = array()) + { + $params = array('project' => $project, 'zone' => $zone, 'instance' => $instance, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('setTags', array($params), "Google_Service_Compute_Operation"); + } + /** + * Starts an instance that was stopped using the using the instances().stop + * method. For more information, see Restart an instance. (instances.start) + * + * @param string $project Project ID for this request. + * @param string $zone The name of the zone for this request. + * @param string $instance Name of the instance resource to start. + * @param array $optParams Optional parameters. + * @return Google_Service_Compute_Operation + */ + public function start($project, $zone, $instance, $optParams = array()) + { + $params = array('project' => $project, 'zone' => $zone, 'instance' => $instance); + $params = array_merge($params, $optParams); + return $this->call('start', array($params), "Google_Service_Compute_Operation"); + } + /** + * Starts an instance that was stopped using the using the instances().stop + * method. For more information, see Restart an instance. + * (instances.startWithEncryptionKey) + * + * @param string $project Project ID for this request. + * @param string $zone The name of the zone for this request. + * @param string $instance Name of the instance resource to start. + * @param Google_Service_Compute_InstancesStartWithEncryptionKeyRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Compute_Operation + */ + public function startWithEncryptionKey($project, $zone, $instance, Google_Service_Compute_InstancesStartWithEncryptionKeyRequest $postBody, $optParams = array()) + { + $params = array('project' => $project, 'zone' => $zone, 'instance' => $instance, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('startWithEncryptionKey', array($params), "Google_Service_Compute_Operation"); + } + /** + * Stops a running instance, shutting it down cleanly, and allows you to restart + * the instance at a later time. Stopped instances do not incur per-minute, + * virtual machine usage charges while they are stopped, but any resources that + * the virtual machine is using, such as persistent disks and static IP + * addresses, will continue to be charged until they are deleted. For more + * information, see Stopping an instance. (instances.stop) + * + * @param string $project Project ID for this request. + * @param string $zone The name of the zone for this request. + * @param string $instance Name of the instance resource to stop. + * @param array $optParams Optional parameters. + * @return Google_Service_Compute_Operation + */ + public function stop($project, $zone, $instance, $optParams = array()) + { + $params = array('project' => $project, 'zone' => $zone, 'instance' => $instance); + $params = array_merge($params, $optParams); + return $this->call('stop', array($params), "Google_Service_Compute_Operation"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/Resource/Licenses.php b/vendor/google/apiclient-services/src/Google/Service/Compute/Resource/Licenses.php new file mode 100644 index 00000000..c6656a7c --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/Resource/Licenses.php @@ -0,0 +1,43 @@ + + * $computeService = new Google_Service_Compute(...); + * $licenses = $computeService->licenses; + * + */ +class Google_Service_Compute_Resource_Licenses extends Google_Service_Resource +{ + /** + * Returns the specified License resource. Get a list of available licenses by + * making a list() request. (licenses.get) + * + * @param string $project Project ID for this request. + * @param string $license Name of the License resource to return. + * @param array $optParams Optional parameters. + * @return Google_Service_Compute_License + */ + public function get($project, $license, $optParams = array()) + { + $params = array('project' => $project, 'license' => $license); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Compute_License"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/Resource/MachineTypes.php b/vendor/google/apiclient-services/src/Google/Service/Compute/Resource/MachineTypes.php new file mode 100644 index 00000000..1e822f87 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/Resource/MachineTypes.php @@ -0,0 +1,158 @@ + + * $computeService = new Google_Service_Compute(...); + * $machineTypes = $computeService->machineTypes; + * + */ +class Google_Service_Compute_Resource_MachineTypes extends Google_Service_Resource +{ + /** + * Retrieves an aggregated list of machine types. (machineTypes.aggregatedList) + * + * @param string $project Project ID for this request. + * @param array $optParams Optional parameters. + * + * @opt_param string filter Sets a filter expression for filtering listed + * resources, in the form filter={expression}. Your {expression} must be in the + * format: field_name comparison_string literal_string. + * + * The field_name is the name of the field you want to compare. Only atomic + * field types are supported (string, number, boolean). The comparison_string + * must be either eq (equals) or ne (not equals). The literal_string is the + * string value to filter to. The literal value must be valid for the type of + * field you are filtering by (string, number, boolean). For string fields, the + * literal value is interpreted as a regular expression using RE2 syntax. The + * literal value must match the entire field. + * + * For example, to filter for instances that do not have a name of example- + * instance, you would use filter=name ne example-instance. + * + * You can filter on nested fields. For example, you could filter on instances + * that have set the scheduling.automaticRestart field to true. Use filtering on + * nested fields to take advantage of labels to organize and search for results + * based on label values. + * + * To filter on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us- + * central1-f). Multiple expressions are treated as AND expressions, meaning + * that resources must match all expressions to pass the filters. + * @opt_param string maxResults The maximum number of results per page that + * should be returned. If the number of available results is larger than + * maxResults, Compute Engine returns a nextPageToken that can be used to get + * the next page of results in subsequent list requests. Acceptable values are 0 + * to 500, inclusive. (Default: 500) + * @opt_param string orderBy Sorts list results by a certain order. By default, + * results are returned in alphanumerical order based on the resource name. + * + * You can also sort results in descending order based on the creation timestamp + * using orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result first). + * Use this to sort resources like operations so that the newest operation is + * returned first. + * + * Currently, only sorting by name or creationTimestamp desc is supported. + * @opt_param string pageToken Specifies a page token to use. Set pageToken to + * the nextPageToken returned by a previous list request to get the next page of + * results. + * @return Google_Service_Compute_MachineTypeAggregatedList + */ + public function aggregatedList($project, $optParams = array()) + { + $params = array('project' => $project); + $params = array_merge($params, $optParams); + return $this->call('aggregatedList', array($params), "Google_Service_Compute_MachineTypeAggregatedList"); + } + /** + * Returns the specified machine type. Get a list of available machine types by + * making a list() request. (machineTypes.get) + * + * @param string $project Project ID for this request. + * @param string $zone The name of the zone for this request. + * @param string $machineType Name of the machine type to return. + * @param array $optParams Optional parameters. + * @return Google_Service_Compute_MachineType + */ + public function get($project, $zone, $machineType, $optParams = array()) + { + $params = array('project' => $project, 'zone' => $zone, 'machineType' => $machineType); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Compute_MachineType"); + } + /** + * Retrieves a list of machine types available to the specified project. + * (machineTypes.listMachineTypes) + * + * @param string $project Project ID for this request. + * @param string $zone The name of the zone for this request. + * @param array $optParams Optional parameters. + * + * @opt_param string filter Sets a filter expression for filtering listed + * resources, in the form filter={expression}. Your {expression} must be in the + * format: field_name comparison_string literal_string. + * + * The field_name is the name of the field you want to compare. Only atomic + * field types are supported (string, number, boolean). The comparison_string + * must be either eq (equals) or ne (not equals). The literal_string is the + * string value to filter to. The literal value must be valid for the type of + * field you are filtering by (string, number, boolean). For string fields, the + * literal value is interpreted as a regular expression using RE2 syntax. The + * literal value must match the entire field. + * + * For example, to filter for instances that do not have a name of example- + * instance, you would use filter=name ne example-instance. + * + * You can filter on nested fields. For example, you could filter on instances + * that have set the scheduling.automaticRestart field to true. Use filtering on + * nested fields to take advantage of labels to organize and search for results + * based on label values. + * + * To filter on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us- + * central1-f). Multiple expressions are treated as AND expressions, meaning + * that resources must match all expressions to pass the filters. + * @opt_param string maxResults The maximum number of results per page that + * should be returned. If the number of available results is larger than + * maxResults, Compute Engine returns a nextPageToken that can be used to get + * the next page of results in subsequent list requests. Acceptable values are 0 + * to 500, inclusive. (Default: 500) + * @opt_param string orderBy Sorts list results by a certain order. By default, + * results are returned in alphanumerical order based on the resource name. + * + * You can also sort results in descending order based on the creation timestamp + * using orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result first). + * Use this to sort resources like operations so that the newest operation is + * returned first. + * + * Currently, only sorting by name or creationTimestamp desc is supported. + * @opt_param string pageToken Specifies a page token to use. Set pageToken to + * the nextPageToken returned by a previous list request to get the next page of + * results. + * @return Google_Service_Compute_MachineTypeList + */ + public function listMachineTypes($project, $zone, $optParams = array()) + { + $params = array('project' => $project, 'zone' => $zone); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Compute_MachineTypeList"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/Resource/Networks.php b/vendor/google/apiclient-services/src/Google/Service/Compute/Resource/Networks.php new file mode 100644 index 00000000..6e9d4383 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/Resource/Networks.php @@ -0,0 +1,144 @@ + + * $computeService = new Google_Service_Compute(...); + * $networks = $computeService->networks; + * + */ +class Google_Service_Compute_Resource_Networks extends Google_Service_Resource +{ + /** + * Deletes the specified network. (networks.delete) + * + * @param string $project Project ID for this request. + * @param string $network Name of the network to delete. + * @param array $optParams Optional parameters. + * @return Google_Service_Compute_Operation + */ + public function delete($project, $network, $optParams = array()) + { + $params = array('project' => $project, 'network' => $network); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params), "Google_Service_Compute_Operation"); + } + /** + * Returns the specified network. Get a list of available networks by making a + * list() request. (networks.get) + * + * @param string $project Project ID for this request. + * @param string $network Name of the network to return. + * @param array $optParams Optional parameters. + * @return Google_Service_Compute_Network + */ + public function get($project, $network, $optParams = array()) + { + $params = array('project' => $project, 'network' => $network); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Compute_Network"); + } + /** + * Creates a network in the specified project using the data included in the + * request. (networks.insert) + * + * @param string $project Project ID for this request. + * @param Google_Service_Compute_Network $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Compute_Operation + */ + public function insert($project, Google_Service_Compute_Network $postBody, $optParams = array()) + { + $params = array('project' => $project, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('insert', array($params), "Google_Service_Compute_Operation"); + } + /** + * Retrieves the list of networks available to the specified project. + * (networks.listNetworks) + * + * @param string $project Project ID for this request. + * @param array $optParams Optional parameters. + * + * @opt_param string filter Sets a filter expression for filtering listed + * resources, in the form filter={expression}. Your {expression} must be in the + * format: field_name comparison_string literal_string. + * + * The field_name is the name of the field you want to compare. Only atomic + * field types are supported (string, number, boolean). The comparison_string + * must be either eq (equals) or ne (not equals). The literal_string is the + * string value to filter to. The literal value must be valid for the type of + * field you are filtering by (string, number, boolean). For string fields, the + * literal value is interpreted as a regular expression using RE2 syntax. The + * literal value must match the entire field. + * + * For example, to filter for instances that do not have a name of example- + * instance, you would use filter=name ne example-instance. + * + * You can filter on nested fields. For example, you could filter on instances + * that have set the scheduling.automaticRestart field to true. Use filtering on + * nested fields to take advantage of labels to organize and search for results + * based on label values. + * + * To filter on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us- + * central1-f). Multiple expressions are treated as AND expressions, meaning + * that resources must match all expressions to pass the filters. + * @opt_param string maxResults The maximum number of results per page that + * should be returned. If the number of available results is larger than + * maxResults, Compute Engine returns a nextPageToken that can be used to get + * the next page of results in subsequent list requests. Acceptable values are 0 + * to 500, inclusive. (Default: 500) + * @opt_param string orderBy Sorts list results by a certain order. By default, + * results are returned in alphanumerical order based on the resource name. + * + * You can also sort results in descending order based on the creation timestamp + * using orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result first). + * Use this to sort resources like operations so that the newest operation is + * returned first. + * + * Currently, only sorting by name or creationTimestamp desc is supported. + * @opt_param string pageToken Specifies a page token to use. Set pageToken to + * the nextPageToken returned by a previous list request to get the next page of + * results. + * @return Google_Service_Compute_NetworkList + */ + public function listNetworks($project, $optParams = array()) + { + $params = array('project' => $project); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Compute_NetworkList"); + } + /** + * Switches the network mode from auto subnet mode to custom subnet mode. + * (networks.switchToCustomMode) + * + * @param string $project Project ID for this request. + * @param string $network Name of the network to be updated. + * @param array $optParams Optional parameters. + * @return Google_Service_Compute_Operation + */ + public function switchToCustomMode($project, $network, $optParams = array()) + { + $params = array('project' => $project, 'network' => $network); + $params = array_merge($params, $optParams); + return $this->call('switchToCustomMode', array($params), "Google_Service_Compute_Operation"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/Resource/Projects.php b/vendor/google/apiclient-services/src/Google/Service/Compute/Resource/Projects.php new file mode 100644 index 00000000..99410cc7 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/Resource/Projects.php @@ -0,0 +1,101 @@ + + * $computeService = new Google_Service_Compute(...); + * $projects = $computeService->projects; + * + */ +class Google_Service_Compute_Resource_Projects extends Google_Service_Resource +{ + /** + * Returns the specified Project resource. (projects.get) + * + * @param string $project Project ID for this request. + * @param array $optParams Optional parameters. + * @return Google_Service_Compute_Project + */ + public function get($project, $optParams = array()) + { + $params = array('project' => $project); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Compute_Project"); + } + /** + * Moves a persistent disk from one zone to another. (projects.moveDisk) + * + * @param string $project Project ID for this request. + * @param Google_Service_Compute_DiskMoveRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Compute_Operation + */ + public function moveDisk($project, Google_Service_Compute_DiskMoveRequest $postBody, $optParams = array()) + { + $params = array('project' => $project, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('moveDisk', array($params), "Google_Service_Compute_Operation"); + } + /** + * Moves an instance and its attached persistent disks from one zone to another. + * (projects.moveInstance) + * + * @param string $project Project ID for this request. + * @param Google_Service_Compute_InstanceMoveRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Compute_Operation + */ + public function moveInstance($project, Google_Service_Compute_InstanceMoveRequest $postBody, $optParams = array()) + { + $params = array('project' => $project, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('moveInstance', array($params), "Google_Service_Compute_Operation"); + } + /** + * Sets metadata common to all instances within the specified project using the + * data included in the request. (projects.setCommonInstanceMetadata) + * + * @param string $project Project ID for this request. + * @param Google_Service_Compute_Metadata $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Compute_Operation + */ + public function setCommonInstanceMetadata($project, Google_Service_Compute_Metadata $postBody, $optParams = array()) + { + $params = array('project' => $project, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('setCommonInstanceMetadata', array($params), "Google_Service_Compute_Operation"); + } + /** + * Enables the usage export feature and sets the usage export bucket where + * reports are stored. If you provide an empty request body using this method, + * the usage export feature will be disabled. (projects.setUsageExportBucket) + * + * @param string $project Project ID for this request. + * @param Google_Service_Compute_UsageExportLocation $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Compute_Operation + */ + public function setUsageExportBucket($project, Google_Service_Compute_UsageExportLocation $postBody, $optParams = array()) + { + $params = array('project' => $project, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('setUsageExportBucket', array($params), "Google_Service_Compute_Operation"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/Resource/RegionAutoscalers.php b/vendor/google/apiclient-services/src/Google/Service/Compute/Resource/RegionAutoscalers.php new file mode 100644 index 00000000..a9a30977 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/Resource/RegionAutoscalers.php @@ -0,0 +1,167 @@ + + * $computeService = new Google_Service_Compute(...); + * $regionAutoscalers = $computeService->regionAutoscalers; + * + */ +class Google_Service_Compute_Resource_RegionAutoscalers extends Google_Service_Resource +{ + /** + * Deletes the specified autoscaler. (regionAutoscalers.delete) + * + * @param string $project Project ID for this request. + * @param string $region Name of the region scoping this request. + * @param string $autoscaler Name of the autoscaler to delete. + * @param array $optParams Optional parameters. + * @return Google_Service_Compute_Operation + */ + public function delete($project, $region, $autoscaler, $optParams = array()) + { + $params = array('project' => $project, 'region' => $region, 'autoscaler' => $autoscaler); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params), "Google_Service_Compute_Operation"); + } + /** + * Returns the specified autoscaler. (regionAutoscalers.get) + * + * @param string $project Project ID for this request. + * @param string $region Name of the region scoping this request. + * @param string $autoscaler Name of the autoscaler to return. + * @param array $optParams Optional parameters. + * @return Google_Service_Compute_Autoscaler + */ + public function get($project, $region, $autoscaler, $optParams = array()) + { + $params = array('project' => $project, 'region' => $region, 'autoscaler' => $autoscaler); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Compute_Autoscaler"); + } + /** + * Creates an autoscaler in the specified project using the data included in the + * request. (regionAutoscalers.insert) + * + * @param string $project Project ID for this request. + * @param string $region Name of the region scoping this request. + * @param Google_Service_Compute_Autoscaler $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Compute_Operation + */ + public function insert($project, $region, Google_Service_Compute_Autoscaler $postBody, $optParams = array()) + { + $params = array('project' => $project, 'region' => $region, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('insert', array($params), "Google_Service_Compute_Operation"); + } + /** + * Retrieves a list of autoscalers contained within the specified region. + * (regionAutoscalers.listRegionAutoscalers) + * + * @param string $project Project ID for this request. + * @param string $region Name of the region scoping this request. + * @param array $optParams Optional parameters. + * + * @opt_param string filter Sets a filter expression for filtering listed + * resources, in the form filter={expression}. Your {expression} must be in the + * format: field_name comparison_string literal_string. + * + * The field_name is the name of the field you want to compare. Only atomic + * field types are supported (string, number, boolean). The comparison_string + * must be either eq (equals) or ne (not equals). The literal_string is the + * string value to filter to. The literal value must be valid for the type of + * field you are filtering by (string, number, boolean). For string fields, the + * literal value is interpreted as a regular expression using RE2 syntax. The + * literal value must match the entire field. + * + * For example, to filter for instances that do not have a name of example- + * instance, you would use filter=name ne example-instance. + * + * You can filter on nested fields. For example, you could filter on instances + * that have set the scheduling.automaticRestart field to true. Use filtering on + * nested fields to take advantage of labels to organize and search for results + * based on label values. + * + * To filter on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us- + * central1-f). Multiple expressions are treated as AND expressions, meaning + * that resources must match all expressions to pass the filters. + * @opt_param string maxResults The maximum number of results per page that + * should be returned. If the number of available results is larger than + * maxResults, Compute Engine returns a nextPageToken that can be used to get + * the next page of results in subsequent list requests. Acceptable values are 0 + * to 500, inclusive. (Default: 500) + * @opt_param string orderBy Sorts list results by a certain order. By default, + * results are returned in alphanumerical order based on the resource name. + * + * You can also sort results in descending order based on the creation timestamp + * using orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result first). + * Use this to sort resources like operations so that the newest operation is + * returned first. + * + * Currently, only sorting by name or creationTimestamp desc is supported. + * @opt_param string pageToken Specifies a page token to use. Set pageToken to + * the nextPageToken returned by a previous list request to get the next page of + * results. + * @return Google_Service_Compute_RegionAutoscalerList + */ + public function listRegionAutoscalers($project, $region, $optParams = array()) + { + $params = array('project' => $project, 'region' => $region); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Compute_RegionAutoscalerList"); + } + /** + * Updates an autoscaler in the specified project using the data included in the + * request. This method supports patch semantics. (regionAutoscalers.patch) + * + * @param string $project Project ID for this request. + * @param string $region Name of the region scoping this request. + * @param string $autoscaler Name of the autoscaler to update. + * @param Google_Service_Compute_Autoscaler $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Compute_Operation + */ + public function patch($project, $region, $autoscaler, Google_Service_Compute_Autoscaler $postBody, $optParams = array()) + { + $params = array('project' => $project, 'region' => $region, 'autoscaler' => $autoscaler, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('patch', array($params), "Google_Service_Compute_Operation"); + } + /** + * Updates an autoscaler in the specified project using the data included in the + * request. (regionAutoscalers.update) + * + * @param string $project Project ID for this request. + * @param string $region Name of the region scoping this request. + * @param Google_Service_Compute_Autoscaler $postBody + * @param array $optParams Optional parameters. + * + * @opt_param string autoscaler Name of the autoscaler to update. + * @return Google_Service_Compute_Operation + */ + public function update($project, $region, Google_Service_Compute_Autoscaler $postBody, $optParams = array()) + { + $params = array('project' => $project, 'region' => $region, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('update', array($params), "Google_Service_Compute_Operation"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/Resource/RegionBackendServices.php b/vendor/google/apiclient-services/src/Google/Service/Compute/Resource/RegionBackendServices.php new file mode 100644 index 00000000..e82facce --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/Resource/RegionBackendServices.php @@ -0,0 +1,194 @@ + + * $computeService = new Google_Service_Compute(...); + * $regionBackendServices = $computeService->regionBackendServices; + * + */ +class Google_Service_Compute_Resource_RegionBackendServices extends Google_Service_Resource +{ + /** + * Deletes the specified regional BackendService resource. + * (regionBackendServices.delete) + * + * @param string $project Project ID for this request. + * @param string $region Name of the region scoping this request. + * @param string $backendService Name of the BackendService resource to delete. + * @param array $optParams Optional parameters. + * @return Google_Service_Compute_Operation + */ + public function delete($project, $region, $backendService, $optParams = array()) + { + $params = array('project' => $project, 'region' => $region, 'backendService' => $backendService); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params), "Google_Service_Compute_Operation"); + } + /** + * Returns the specified regional BackendService resource. + * (regionBackendServices.get) + * + * @param string $project Project ID for this request. + * @param string $region Name of the region scoping this request. + * @param string $backendService Name of the BackendService resource to return. + * @param array $optParams Optional parameters. + * @return Google_Service_Compute_BackendService + */ + public function get($project, $region, $backendService, $optParams = array()) + { + $params = array('project' => $project, 'region' => $region, 'backendService' => $backendService); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Compute_BackendService"); + } + /** + * Gets the most recent health check results for this regional BackendService. + * (regionBackendServices.getHealth) + * + * @param string $project + * @param string $region Name of the region scoping this request. + * @param string $backendService Name of the BackendService resource to which + * the queried instance belongs. + * @param Google_Service_Compute_ResourceGroupReference $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Compute_BackendServiceGroupHealth + */ + public function getHealth($project, $region, $backendService, Google_Service_Compute_ResourceGroupReference $postBody, $optParams = array()) + { + $params = array('project' => $project, 'region' => $region, 'backendService' => $backendService, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('getHealth', array($params), "Google_Service_Compute_BackendServiceGroupHealth"); + } + /** + * Creates a regional BackendService resource in the specified project using the + * data included in the request. There are several restrictions and guidelines + * to keep in mind when creating a regional backend service. Read Restrictions + * and Guidelines for more information. (regionBackendServices.insert) + * + * @param string $project Project ID for this request. + * @param string $region Name of the region scoping this request. + * @param Google_Service_Compute_BackendService $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Compute_Operation + */ + public function insert($project, $region, Google_Service_Compute_BackendService $postBody, $optParams = array()) + { + $params = array('project' => $project, 'region' => $region, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('insert', array($params), "Google_Service_Compute_Operation"); + } + /** + * Retrieves the list of regional BackendService resources available to the + * specified project in the given region. + * (regionBackendServices.listRegionBackendServices) + * + * @param string $project Project ID for this request. + * @param string $region Name of the region scoping this request. + * @param array $optParams Optional parameters. + * + * @opt_param string filter Sets a filter expression for filtering listed + * resources, in the form filter={expression}. Your {expression} must be in the + * format: field_name comparison_string literal_string. + * + * The field_name is the name of the field you want to compare. Only atomic + * field types are supported (string, number, boolean). The comparison_string + * must be either eq (equals) or ne (not equals). The literal_string is the + * string value to filter to. The literal value must be valid for the type of + * field you are filtering by (string, number, boolean). For string fields, the + * literal value is interpreted as a regular expression using RE2 syntax. The + * literal value must match the entire field. + * + * For example, to filter for instances that do not have a name of example- + * instance, you would use filter=name ne example-instance. + * + * You can filter on nested fields. For example, you could filter on instances + * that have set the scheduling.automaticRestart field to true. Use filtering on + * nested fields to take advantage of labels to organize and search for results + * based on label values. + * + * To filter on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us- + * central1-f). Multiple expressions are treated as AND expressions, meaning + * that resources must match all expressions to pass the filters. + * @opt_param string maxResults The maximum number of results per page that + * should be returned. If the number of available results is larger than + * maxResults, Compute Engine returns a nextPageToken that can be used to get + * the next page of results in subsequent list requests. Acceptable values are 0 + * to 500, inclusive. (Default: 500) + * @opt_param string orderBy Sorts list results by a certain order. By default, + * results are returned in alphanumerical order based on the resource name. + * + * You can also sort results in descending order based on the creation timestamp + * using orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result first). + * Use this to sort resources like operations so that the newest operation is + * returned first. + * + * Currently, only sorting by name or creationTimestamp desc is supported. + * @opt_param string pageToken Specifies a page token to use. Set pageToken to + * the nextPageToken returned by a previous list request to get the next page of + * results. + * @return Google_Service_Compute_BackendServiceList + */ + public function listRegionBackendServices($project, $region, $optParams = array()) + { + $params = array('project' => $project, 'region' => $region); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Compute_BackendServiceList"); + } + /** + * Updates the specified regional BackendService resource with the data included + * in the request. There are several restrictions and guidelines to keep in mind + * when updating a backend service. Read Restrictions and Guidelines for more + * information. This method supports patch semantics. + * (regionBackendServices.patch) + * + * @param string $project Project ID for this request. + * @param string $region Name of the region scoping this request. + * @param string $backendService Name of the BackendService resource to update. + * @param Google_Service_Compute_BackendService $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Compute_Operation + */ + public function patch($project, $region, $backendService, Google_Service_Compute_BackendService $postBody, $optParams = array()) + { + $params = array('project' => $project, 'region' => $region, 'backendService' => $backendService, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('patch', array($params), "Google_Service_Compute_Operation"); + } + /** + * Updates the specified regional BackendService resource with the data included + * in the request. There are several restrictions and guidelines to keep in mind + * when updating a backend service. Read Restrictions and Guidelines for more + * information. (regionBackendServices.update) + * + * @param string $project Project ID for this request. + * @param string $region Name of the region scoping this request. + * @param string $backendService Name of the BackendService resource to update. + * @param Google_Service_Compute_BackendService $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Compute_Operation + */ + public function update($project, $region, $backendService, Google_Service_Compute_BackendService $postBody, $optParams = array()) + { + $params = array('project' => $project, 'region' => $region, 'backendService' => $backendService, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('update', array($params), "Google_Service_Compute_Operation"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/Resource/RegionInstanceGroupManagers.php b/vendor/google/apiclient-services/src/Google/Service/Compute/Resource/RegionInstanceGroupManagers.php new file mode 100644 index 00000000..94e89eda --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/Resource/RegionInstanceGroupManagers.php @@ -0,0 +1,294 @@ + + * $computeService = new Google_Service_Compute(...); + * $regionInstanceGroupManagers = $computeService->regionInstanceGroupManagers; + * + */ +class Google_Service_Compute_Resource_RegionInstanceGroupManagers extends Google_Service_Resource +{ + /** + * Schedules a group action to remove the specified instances from the managed + * instance group. Abandoning an instance does not delete the instance, but it + * does remove the instance from any target pools that are applied by the + * managed instance group. This method reduces the targetSize of the managed + * instance group by the number of instances that you abandon. This operation is + * marked as DONE when the action is scheduled even if the instances have not + * yet been removed from the group. You must separately verify the status of the + * abandoning action with the listmanagedinstances method. + * (regionInstanceGroupManagers.abandonInstances) + * + * @param string $project Project ID for this request. + * @param string $region Name of the region scoping this request. + * @param string $instanceGroupManager Name of the managed instance group. + * @param Google_Service_Compute_RegionInstanceGroupManagersAbandonInstancesRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Compute_Operation + */ + public function abandonInstances($project, $region, $instanceGroupManager, Google_Service_Compute_RegionInstanceGroupManagersAbandonInstancesRequest $postBody, $optParams = array()) + { + $params = array('project' => $project, 'region' => $region, 'instanceGroupManager' => $instanceGroupManager, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('abandonInstances', array($params), "Google_Service_Compute_Operation"); + } + /** + * Deletes the specified managed instance group and all of the instances in that + * group. (regionInstanceGroupManagers.delete) + * + * @param string $project Project ID for this request. + * @param string $region Name of the region scoping this request. + * @param string $instanceGroupManager Name of the managed instance group to + * delete. + * @param array $optParams Optional parameters. + * @return Google_Service_Compute_Operation + */ + public function delete($project, $region, $instanceGroupManager, $optParams = array()) + { + $params = array('project' => $project, 'region' => $region, 'instanceGroupManager' => $instanceGroupManager); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params), "Google_Service_Compute_Operation"); + } + /** + * Schedules a group action to delete the specified instances in the managed + * instance group. The instances are also removed from any target pools of which + * they were a member. This method reduces the targetSize of the managed + * instance group by the number of instances that you delete. This operation is + * marked as DONE when the action is scheduled even if the instances are still + * being deleted. You must separately verify the status of the deleting action + * with the listmanagedinstances method. + * (regionInstanceGroupManagers.deleteInstances) + * + * @param string $project Project ID for this request. + * @param string $region Name of the region scoping this request. + * @param string $instanceGroupManager Name of the managed instance group. + * @param Google_Service_Compute_RegionInstanceGroupManagersDeleteInstancesRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Compute_Operation + */ + public function deleteInstances($project, $region, $instanceGroupManager, Google_Service_Compute_RegionInstanceGroupManagersDeleteInstancesRequest $postBody, $optParams = array()) + { + $params = array('project' => $project, 'region' => $region, 'instanceGroupManager' => $instanceGroupManager, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('deleteInstances', array($params), "Google_Service_Compute_Operation"); + } + /** + * Returns all of the details about the specified managed instance group. + * (regionInstanceGroupManagers.get) + * + * @param string $project Project ID for this request. + * @param string $region Name of the region scoping this request. + * @param string $instanceGroupManager Name of the managed instance group to + * return. + * @param array $optParams Optional parameters. + * @return Google_Service_Compute_InstanceGroupManager + */ + public function get($project, $region, $instanceGroupManager, $optParams = array()) + { + $params = array('project' => $project, 'region' => $region, 'instanceGroupManager' => $instanceGroupManager); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Compute_InstanceGroupManager"); + } + /** + * Creates a managed instance group using the information that you specify in + * the request. After the group is created, it schedules an action to create + * instances in the group using the specified instance template. This operation + * is marked as DONE when the group is created even if the instances in the + * group have not yet been created. You must separately verify the status of the + * individual instances with the listmanagedinstances method. + * (regionInstanceGroupManagers.insert) + * + * @param string $project Project ID for this request. + * @param string $region Name of the region scoping this request. + * @param Google_Service_Compute_InstanceGroupManager $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Compute_Operation + */ + public function insert($project, $region, Google_Service_Compute_InstanceGroupManager $postBody, $optParams = array()) + { + $params = array('project' => $project, 'region' => $region, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('insert', array($params), "Google_Service_Compute_Operation"); + } + /** + * Retrieves the list of managed instance groups that are contained within the + * specified region. + * (regionInstanceGroupManagers.listRegionInstanceGroupManagers) + * + * @param string $project Project ID for this request. + * @param string $region Name of the region scoping this request. + * @param array $optParams Optional parameters. + * + * @opt_param string filter Sets a filter expression for filtering listed + * resources, in the form filter={expression}. Your {expression} must be in the + * format: field_name comparison_string literal_string. + * + * The field_name is the name of the field you want to compare. Only atomic + * field types are supported (string, number, boolean). The comparison_string + * must be either eq (equals) or ne (not equals). The literal_string is the + * string value to filter to. The literal value must be valid for the type of + * field you are filtering by (string, number, boolean). For string fields, the + * literal value is interpreted as a regular expression using RE2 syntax. The + * literal value must match the entire field. + * + * For example, to filter for instances that do not have a name of example- + * instance, you would use filter=name ne example-instance. + * + * You can filter on nested fields. For example, you could filter on instances + * that have set the scheduling.automaticRestart field to true. Use filtering on + * nested fields to take advantage of labels to organize and search for results + * based on label values. + * + * To filter on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us- + * central1-f). Multiple expressions are treated as AND expressions, meaning + * that resources must match all expressions to pass the filters. + * @opt_param string maxResults The maximum number of results per page that + * should be returned. If the number of available results is larger than + * maxResults, Compute Engine returns a nextPageToken that can be used to get + * the next page of results in subsequent list requests. Acceptable values are 0 + * to 500, inclusive. (Default: 500) + * @opt_param string orderBy Sorts list results by a certain order. By default, + * results are returned in alphanumerical order based on the resource name. + * + * You can also sort results in descending order based on the creation timestamp + * using orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result first). + * Use this to sort resources like operations so that the newest operation is + * returned first. + * + * Currently, only sorting by name or creationTimestamp desc is supported. + * @opt_param string pageToken Specifies a page token to use. Set pageToken to + * the nextPageToken returned by a previous list request to get the next page of + * results. + * @return Google_Service_Compute_RegionInstanceGroupManagerList + */ + public function listRegionInstanceGroupManagers($project, $region, $optParams = array()) + { + $params = array('project' => $project, 'region' => $region); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Compute_RegionInstanceGroupManagerList"); + } + /** + * Lists the instances in the managed instance group and instances that are + * scheduled to be created. The list includes any current actions that the group + * has scheduled for its instances. + * (regionInstanceGroupManagers.listManagedInstances) + * + * @param string $project Project ID for this request. + * @param string $region Name of the region scoping this request. + * @param string $instanceGroupManager The name of the managed instance group. + * @param array $optParams Optional parameters. + * + * @opt_param string filter + * @opt_param string maxResults + * @opt_param string order_by + * @opt_param string pageToken + * @return Google_Service_Compute_RegionInstanceGroupManagersListInstancesResponse + */ + public function listManagedInstances($project, $region, $instanceGroupManager, $optParams = array()) + { + $params = array('project' => $project, 'region' => $region, 'instanceGroupManager' => $instanceGroupManager); + $params = array_merge($params, $optParams); + return $this->call('listManagedInstances', array($params), "Google_Service_Compute_RegionInstanceGroupManagersListInstancesResponse"); + } + /** + * Schedules a group action to recreate the specified instances in the managed + * instance group. The instances are deleted and recreated using the current + * instance template for the managed instance group. This operation is marked as + * DONE when the action is scheduled even if the instances have not yet been + * recreated. You must separately verify the status of the recreating action + * with the listmanagedinstances method. + * (regionInstanceGroupManagers.recreateInstances) + * + * @param string $project Project ID for this request. + * @param string $region Name of the region scoping this request. + * @param string $instanceGroupManager Name of the managed instance group. + * @param Google_Service_Compute_RegionInstanceGroupManagersRecreateRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Compute_Operation + */ + public function recreateInstances($project, $region, $instanceGroupManager, Google_Service_Compute_RegionInstanceGroupManagersRecreateRequest $postBody, $optParams = array()) + { + $params = array('project' => $project, 'region' => $region, 'instanceGroupManager' => $instanceGroupManager, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('recreateInstances', array($params), "Google_Service_Compute_Operation"); + } + /** + * Changes the intended size for the managed instance group. If you increase the + * size, the group schedules actions to create new instances using the current + * instance template. If you decrease the size, the group schedules delete + * actions on one or more instances. The resize operation is marked DONE when + * the resize actions are scheduled even if the group has not yet added or + * deleted any instances. You must separately verify the status of the creating + * or deleting actions with the listmanagedinstances method. + * (regionInstanceGroupManagers.resize) + * + * @param string $project Project ID for this request. + * @param string $region Name of the region scoping this request. + * @param string $instanceGroupManager Name of the managed instance group. + * @param int $size Number of instances that should exist in this instance group + * manager. + * @param array $optParams Optional parameters. + * @return Google_Service_Compute_Operation + */ + public function resize($project, $region, $instanceGroupManager, $size, $optParams = array()) + { + $params = array('project' => $project, 'region' => $region, 'instanceGroupManager' => $instanceGroupManager, 'size' => $size); + $params = array_merge($params, $optParams); + return $this->call('resize', array($params), "Google_Service_Compute_Operation"); + } + /** + * Sets the instance template to use when creating new instances or recreating + * instances in this group. Existing instances are not affected. + * (regionInstanceGroupManagers.setInstanceTemplate) + * + * @param string $project Project ID for this request. + * @param string $region Name of the region scoping this request. + * @param string $instanceGroupManager The name of the managed instance group. + * @param Google_Service_Compute_RegionInstanceGroupManagersSetTemplateRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Compute_Operation + */ + public function setInstanceTemplate($project, $region, $instanceGroupManager, Google_Service_Compute_RegionInstanceGroupManagersSetTemplateRequest $postBody, $optParams = array()) + { + $params = array('project' => $project, 'region' => $region, 'instanceGroupManager' => $instanceGroupManager, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('setInstanceTemplate', array($params), "Google_Service_Compute_Operation"); + } + /** + * Modifies the target pools to which all new instances in this group are + * assigned. Existing instances in the group are not affected. + * (regionInstanceGroupManagers.setTargetPools) + * + * @param string $project Project ID for this request. + * @param string $region Name of the region scoping this request. + * @param string $instanceGroupManager Name of the managed instance group. + * @param Google_Service_Compute_RegionInstanceGroupManagersSetTargetPoolsRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Compute_Operation + */ + public function setTargetPools($project, $region, $instanceGroupManager, Google_Service_Compute_RegionInstanceGroupManagersSetTargetPoolsRequest $postBody, $optParams = array()) + { + $params = array('project' => $project, 'region' => $region, 'instanceGroupManager' => $instanceGroupManager, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('setTargetPools', array($params), "Google_Service_Compute_Operation"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/Resource/RegionInstanceGroups.php b/vendor/google/apiclient-services/src/Google/Service/Compute/Resource/RegionInstanceGroups.php new file mode 100644 index 00000000..27934ab4 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/Resource/RegionInstanceGroups.php @@ -0,0 +1,182 @@ + + * $computeService = new Google_Service_Compute(...); + * $regionInstanceGroups = $computeService->regionInstanceGroups; + * + */ +class Google_Service_Compute_Resource_RegionInstanceGroups extends Google_Service_Resource +{ + /** + * Returns the specified instance group resource. (regionInstanceGroups.get) + * + * @param string $project Project ID for this request. + * @param string $region Name of the region scoping this request. + * @param string $instanceGroup Name of the instance group resource to return. + * @param array $optParams Optional parameters. + * @return Google_Service_Compute_InstanceGroup + */ + public function get($project, $region, $instanceGroup, $optParams = array()) + { + $params = array('project' => $project, 'region' => $region, 'instanceGroup' => $instanceGroup); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Compute_InstanceGroup"); + } + /** + * Retrieves the list of instance group resources contained within the specified + * region. (regionInstanceGroups.listRegionInstanceGroups) + * + * @param string $project Project ID for this request. + * @param string $region Name of the region scoping this request. + * @param array $optParams Optional parameters. + * + * @opt_param string filter Sets a filter expression for filtering listed + * resources, in the form filter={expression}. Your {expression} must be in the + * format: field_name comparison_string literal_string. + * + * The field_name is the name of the field you want to compare. Only atomic + * field types are supported (string, number, boolean). The comparison_string + * must be either eq (equals) or ne (not equals). The literal_string is the + * string value to filter to. The literal value must be valid for the type of + * field you are filtering by (string, number, boolean). For string fields, the + * literal value is interpreted as a regular expression using RE2 syntax. The + * literal value must match the entire field. + * + * For example, to filter for instances that do not have a name of example- + * instance, you would use filter=name ne example-instance. + * + * You can filter on nested fields. For example, you could filter on instances + * that have set the scheduling.automaticRestart field to true. Use filtering on + * nested fields to take advantage of labels to organize and search for results + * based on label values. + * + * To filter on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us- + * central1-f). Multiple expressions are treated as AND expressions, meaning + * that resources must match all expressions to pass the filters. + * @opt_param string maxResults The maximum number of results per page that + * should be returned. If the number of available results is larger than + * maxResults, Compute Engine returns a nextPageToken that can be used to get + * the next page of results in subsequent list requests. Acceptable values are 0 + * to 500, inclusive. (Default: 500) + * @opt_param string orderBy Sorts list results by a certain order. By default, + * results are returned in alphanumerical order based on the resource name. + * + * You can also sort results in descending order based on the creation timestamp + * using orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result first). + * Use this to sort resources like operations so that the newest operation is + * returned first. + * + * Currently, only sorting by name or creationTimestamp desc is supported. + * @opt_param string pageToken Specifies a page token to use. Set pageToken to + * the nextPageToken returned by a previous list request to get the next page of + * results. + * @return Google_Service_Compute_RegionInstanceGroupList + */ + public function listRegionInstanceGroups($project, $region, $optParams = array()) + { + $params = array('project' => $project, 'region' => $region); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Compute_RegionInstanceGroupList"); + } + /** + * Lists the instances in the specified instance group and displays information + * about the named ports. Depending on the specified options, this method can + * list all instances or only the instances that are running. + * (regionInstanceGroups.listInstances) + * + * @param string $project Project ID for this request. + * @param string $region Name of the region scoping this request. + * @param string $instanceGroup Name of the regional instance group for which we + * want to list the instances. + * @param Google_Service_Compute_RegionInstanceGroupsListInstancesRequest $postBody + * @param array $optParams Optional parameters. + * + * @opt_param string filter Sets a filter expression for filtering listed + * resources, in the form filter={expression}. Your {expression} must be in the + * format: field_name comparison_string literal_string. + * + * The field_name is the name of the field you want to compare. Only atomic + * field types are supported (string, number, boolean). The comparison_string + * must be either eq (equals) or ne (not equals). The literal_string is the + * string value to filter to. The literal value must be valid for the type of + * field you are filtering by (string, number, boolean). For string fields, the + * literal value is interpreted as a regular expression using RE2 syntax. The + * literal value must match the entire field. + * + * For example, to filter for instances that do not have a name of example- + * instance, you would use filter=name ne example-instance. + * + * You can filter on nested fields. For example, you could filter on instances + * that have set the scheduling.automaticRestart field to true. Use filtering on + * nested fields to take advantage of labels to organize and search for results + * based on label values. + * + * To filter on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us- + * central1-f). Multiple expressions are treated as AND expressions, meaning + * that resources must match all expressions to pass the filters. + * @opt_param string maxResults The maximum number of results per page that + * should be returned. If the number of available results is larger than + * maxResults, Compute Engine returns a nextPageToken that can be used to get + * the next page of results in subsequent list requests. Acceptable values are 0 + * to 500, inclusive. (Default: 500) + * @opt_param string orderBy Sorts list results by a certain order. By default, + * results are returned in alphanumerical order based on the resource name. + * + * You can also sort results in descending order based on the creation timestamp + * using orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result first). + * Use this to sort resources like operations so that the newest operation is + * returned first. + * + * Currently, only sorting by name or creationTimestamp desc is supported. + * @opt_param string pageToken Specifies a page token to use. Set pageToken to + * the nextPageToken returned by a previous list request to get the next page of + * results. + * @return Google_Service_Compute_RegionInstanceGroupsListInstances + */ + public function listInstances($project, $region, $instanceGroup, Google_Service_Compute_RegionInstanceGroupsListInstancesRequest $postBody, $optParams = array()) + { + $params = array('project' => $project, 'region' => $region, 'instanceGroup' => $instanceGroup, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('listInstances', array($params), "Google_Service_Compute_RegionInstanceGroupsListInstances"); + } + /** + * Sets the named ports for the specified regional instance group. + * (regionInstanceGroups.setNamedPorts) + * + * @param string $project Project ID for this request. + * @param string $region Name of the region scoping this request. + * @param string $instanceGroup The name of the regional instance group where + * the named ports are updated. + * @param Google_Service_Compute_RegionInstanceGroupsSetNamedPortsRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Compute_Operation + */ + public function setNamedPorts($project, $region, $instanceGroup, Google_Service_Compute_RegionInstanceGroupsSetNamedPortsRequest $postBody, $optParams = array()) + { + $params = array('project' => $project, 'region' => $region, 'instanceGroup' => $instanceGroup, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('setNamedPorts', array($params), "Google_Service_Compute_Operation"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/Resource/RegionOperations.php b/vendor/google/apiclient-services/src/Google/Service/Compute/Resource/RegionOperations.php new file mode 100644 index 00000000..40d91319 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/Resource/RegionOperations.php @@ -0,0 +1,117 @@ + + * $computeService = new Google_Service_Compute(...); + * $regionOperations = $computeService->regionOperations; + * + */ +class Google_Service_Compute_Resource_RegionOperations extends Google_Service_Resource +{ + /** + * Deletes the specified region-specific Operations resource. + * (regionOperations.delete) + * + * @param string $project Project ID for this request. + * @param string $region Name of the region for this request. + * @param string $operation Name of the Operations resource to delete. + * @param array $optParams Optional parameters. + */ + public function delete($project, $region, $operation, $optParams = array()) + { + $params = array('project' => $project, 'region' => $region, 'operation' => $operation); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params)); + } + /** + * Retrieves the specified region-specific Operations resource. + * (regionOperations.get) + * + * @param string $project Project ID for this request. + * @param string $region Name of the region for this request. + * @param string $operation Name of the Operations resource to return. + * @param array $optParams Optional parameters. + * @return Google_Service_Compute_Operation + */ + public function get($project, $region, $operation, $optParams = array()) + { + $params = array('project' => $project, 'region' => $region, 'operation' => $operation); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Compute_Operation"); + } + /** + * Retrieves a list of Operation resources contained within the specified + * region. (regionOperations.listRegionOperations) + * + * @param string $project Project ID for this request. + * @param string $region Name of the region for this request. + * @param array $optParams Optional parameters. + * + * @opt_param string filter Sets a filter expression for filtering listed + * resources, in the form filter={expression}. Your {expression} must be in the + * format: field_name comparison_string literal_string. + * + * The field_name is the name of the field you want to compare. Only atomic + * field types are supported (string, number, boolean). The comparison_string + * must be either eq (equals) or ne (not equals). The literal_string is the + * string value to filter to. The literal value must be valid for the type of + * field you are filtering by (string, number, boolean). For string fields, the + * literal value is interpreted as a regular expression using RE2 syntax. The + * literal value must match the entire field. + * + * For example, to filter for instances that do not have a name of example- + * instance, you would use filter=name ne example-instance. + * + * You can filter on nested fields. For example, you could filter on instances + * that have set the scheduling.automaticRestart field to true. Use filtering on + * nested fields to take advantage of labels to organize and search for results + * based on label values. + * + * To filter on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us- + * central1-f). Multiple expressions are treated as AND expressions, meaning + * that resources must match all expressions to pass the filters. + * @opt_param string maxResults The maximum number of results per page that + * should be returned. If the number of available results is larger than + * maxResults, Compute Engine returns a nextPageToken that can be used to get + * the next page of results in subsequent list requests. Acceptable values are 0 + * to 500, inclusive. (Default: 500) + * @opt_param string orderBy Sorts list results by a certain order. By default, + * results are returned in alphanumerical order based on the resource name. + * + * You can also sort results in descending order based on the creation timestamp + * using orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result first). + * Use this to sort resources like operations so that the newest operation is + * returned first. + * + * Currently, only sorting by name or creationTimestamp desc is supported. + * @opt_param string pageToken Specifies a page token to use. Set pageToken to + * the nextPageToken returned by a previous list request to get the next page of + * results. + * @return Google_Service_Compute_OperationList + */ + public function listRegionOperations($project, $region, $optParams = array()) + { + $params = array('project' => $project, 'region' => $region); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Compute_OperationList"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/Resource/Regions.php b/vendor/google/apiclient-services/src/Google/Service/Compute/Resource/Regions.php new file mode 100644 index 00000000..b5e859a0 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/Resource/Regions.php @@ -0,0 +1,100 @@ + + * $computeService = new Google_Service_Compute(...); + * $regions = $computeService->regions; + * + */ +class Google_Service_Compute_Resource_Regions extends Google_Service_Resource +{ + /** + * Returns the specified Region resource. Get a list of available regions by + * making a list() request. (regions.get) + * + * @param string $project Project ID for this request. + * @param string $region Name of the region resource to return. + * @param array $optParams Optional parameters. + * @return Google_Service_Compute_Region + */ + public function get($project, $region, $optParams = array()) + { + $params = array('project' => $project, 'region' => $region); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Compute_Region"); + } + /** + * Retrieves the list of region resources available to the specified project. + * (regions.listRegions) + * + * @param string $project Project ID for this request. + * @param array $optParams Optional parameters. + * + * @opt_param string filter Sets a filter expression for filtering listed + * resources, in the form filter={expression}. Your {expression} must be in the + * format: field_name comparison_string literal_string. + * + * The field_name is the name of the field you want to compare. Only atomic + * field types are supported (string, number, boolean). The comparison_string + * must be either eq (equals) or ne (not equals). The literal_string is the + * string value to filter to. The literal value must be valid for the type of + * field you are filtering by (string, number, boolean). For string fields, the + * literal value is interpreted as a regular expression using RE2 syntax. The + * literal value must match the entire field. + * + * For example, to filter for instances that do not have a name of example- + * instance, you would use filter=name ne example-instance. + * + * You can filter on nested fields. For example, you could filter on instances + * that have set the scheduling.automaticRestart field to true. Use filtering on + * nested fields to take advantage of labels to organize and search for results + * based on label values. + * + * To filter on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us- + * central1-f). Multiple expressions are treated as AND expressions, meaning + * that resources must match all expressions to pass the filters. + * @opt_param string maxResults The maximum number of results per page that + * should be returned. If the number of available results is larger than + * maxResults, Compute Engine returns a nextPageToken that can be used to get + * the next page of results in subsequent list requests. Acceptable values are 0 + * to 500, inclusive. (Default: 500) + * @opt_param string orderBy Sorts list results by a certain order. By default, + * results are returned in alphanumerical order based on the resource name. + * + * You can also sort results in descending order based on the creation timestamp + * using orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result first). + * Use this to sort resources like operations so that the newest operation is + * returned first. + * + * Currently, only sorting by name or creationTimestamp desc is supported. + * @opt_param string pageToken Specifies a page token to use. Set pageToken to + * the nextPageToken returned by a previous list request to get the next page of + * results. + * @return Google_Service_Compute_RegionList + */ + public function listRegions($project, $optParams = array()) + { + $params = array('project' => $project); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Compute_RegionList"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/Resource/Routers.php b/vendor/google/apiclient-services/src/Google/Service/Compute/Resource/Routers.php new file mode 100644 index 00000000..8ab17d0c --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/Resource/Routers.php @@ -0,0 +1,256 @@ + + * $computeService = new Google_Service_Compute(...); + * $routers = $computeService->routers; + * + */ +class Google_Service_Compute_Resource_Routers extends Google_Service_Resource +{ + /** + * Retrieves an aggregated list of routers. (routers.aggregatedList) + * + * @param string $project Project ID for this request. + * @param array $optParams Optional parameters. + * + * @opt_param string filter Sets a filter expression for filtering listed + * resources, in the form filter={expression}. Your {expression} must be in the + * format: field_name comparison_string literal_string. + * + * The field_name is the name of the field you want to compare. Only atomic + * field types are supported (string, number, boolean). The comparison_string + * must be either eq (equals) or ne (not equals). The literal_string is the + * string value to filter to. The literal value must be valid for the type of + * field you are filtering by (string, number, boolean). For string fields, the + * literal value is interpreted as a regular expression using RE2 syntax. The + * literal value must match the entire field. + * + * For example, to filter for instances that do not have a name of example- + * instance, you would use filter=name ne example-instance. + * + * You can filter on nested fields. For example, you could filter on instances + * that have set the scheduling.automaticRestart field to true. Use filtering on + * nested fields to take advantage of labels to organize and search for results + * based on label values. + * + * To filter on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us- + * central1-f). Multiple expressions are treated as AND expressions, meaning + * that resources must match all expressions to pass the filters. + * @opt_param string maxResults The maximum number of results per page that + * should be returned. If the number of available results is larger than + * maxResults, Compute Engine returns a nextPageToken that can be used to get + * the next page of results in subsequent list requests. Acceptable values are 0 + * to 500, inclusive. (Default: 500) + * @opt_param string orderBy Sorts list results by a certain order. By default, + * results are returned in alphanumerical order based on the resource name. + * + * You can also sort results in descending order based on the creation timestamp + * using orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result first). + * Use this to sort resources like operations so that the newest operation is + * returned first. + * + * Currently, only sorting by name or creationTimestamp desc is supported. + * @opt_param string pageToken Specifies a page token to use. Set pageToken to + * the nextPageToken returned by a previous list request to get the next page of + * results. + * @return Google_Service_Compute_RouterAggregatedList + */ + public function aggregatedList($project, $optParams = array()) + { + $params = array('project' => $project); + $params = array_merge($params, $optParams); + return $this->call('aggregatedList', array($params), "Google_Service_Compute_RouterAggregatedList"); + } + /** + * Deletes the specified Router resource. (routers.delete) + * + * @param string $project Project ID for this request. + * @param string $region Name of the region for this request. + * @param string $router Name of the Router resource to delete. + * @param array $optParams Optional parameters. + * @return Google_Service_Compute_Operation + */ + public function delete($project, $region, $router, $optParams = array()) + { + $params = array('project' => $project, 'region' => $region, 'router' => $router); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params), "Google_Service_Compute_Operation"); + } + /** + * Returns the specified Router resource. Get a list of available routers by + * making a list() request. (routers.get) + * + * @param string $project Project ID for this request. + * @param string $region Name of the region for this request. + * @param string $router Name of the Router resource to return. + * @param array $optParams Optional parameters. + * @return Google_Service_Compute_Router + */ + public function get($project, $region, $router, $optParams = array()) + { + $params = array('project' => $project, 'region' => $region, 'router' => $router); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Compute_Router"); + } + /** + * Retrieves runtime information of the specified router. + * (routers.getRouterStatus) + * + * @param string $project Project ID for this request. + * @param string $region Name of the region for this request. + * @param string $router Name of the Router resource to query. + * @param array $optParams Optional parameters. + * @return Google_Service_Compute_RouterStatusResponse + */ + public function getRouterStatus($project, $region, $router, $optParams = array()) + { + $params = array('project' => $project, 'region' => $region, 'router' => $router); + $params = array_merge($params, $optParams); + return $this->call('getRouterStatus', array($params), "Google_Service_Compute_RouterStatusResponse"); + } + /** + * Creates a Router resource in the specified project and region using the data + * included in the request. (routers.insert) + * + * @param string $project Project ID for this request. + * @param string $region Name of the region for this request. + * @param Google_Service_Compute_Router $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Compute_Operation + */ + public function insert($project, $region, Google_Service_Compute_Router $postBody, $optParams = array()) + { + $params = array('project' => $project, 'region' => $region, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('insert', array($params), "Google_Service_Compute_Operation"); + } + /** + * Retrieves a list of Router resources available to the specified project. + * (routers.listRouters) + * + * @param string $project Project ID for this request. + * @param string $region Name of the region for this request. + * @param array $optParams Optional parameters. + * + * @opt_param string filter Sets a filter expression for filtering listed + * resources, in the form filter={expression}. Your {expression} must be in the + * format: field_name comparison_string literal_string. + * + * The field_name is the name of the field you want to compare. Only atomic + * field types are supported (string, number, boolean). The comparison_string + * must be either eq (equals) or ne (not equals). The literal_string is the + * string value to filter to. The literal value must be valid for the type of + * field you are filtering by (string, number, boolean). For string fields, the + * literal value is interpreted as a regular expression using RE2 syntax. The + * literal value must match the entire field. + * + * For example, to filter for instances that do not have a name of example- + * instance, you would use filter=name ne example-instance. + * + * You can filter on nested fields. For example, you could filter on instances + * that have set the scheduling.automaticRestart field to true. Use filtering on + * nested fields to take advantage of labels to organize and search for results + * based on label values. + * + * To filter on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us- + * central1-f). Multiple expressions are treated as AND expressions, meaning + * that resources must match all expressions to pass the filters. + * @opt_param string maxResults The maximum number of results per page that + * should be returned. If the number of available results is larger than + * maxResults, Compute Engine returns a nextPageToken that can be used to get + * the next page of results in subsequent list requests. Acceptable values are 0 + * to 500, inclusive. (Default: 500) + * @opt_param string orderBy Sorts list results by a certain order. By default, + * results are returned in alphanumerical order based on the resource name. + * + * You can also sort results in descending order based on the creation timestamp + * using orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result first). + * Use this to sort resources like operations so that the newest operation is + * returned first. + * + * Currently, only sorting by name or creationTimestamp desc is supported. + * @opt_param string pageToken Specifies a page token to use. Set pageToken to + * the nextPageToken returned by a previous list request to get the next page of + * results. + * @return Google_Service_Compute_RouterList + */ + public function listRouters($project, $region, $optParams = array()) + { + $params = array('project' => $project, 'region' => $region); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Compute_RouterList"); + } + /** + * Updates the specified Router resource with the data included in the request. + * This method supports patch semantics. (routers.patch) + * + * @param string $project Project ID for this request. + * @param string $region Name of the region for this request. + * @param string $router Name of the Router resource to update. + * @param Google_Service_Compute_Router $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Compute_Operation + */ + public function patch($project, $region, $router, Google_Service_Compute_Router $postBody, $optParams = array()) + { + $params = array('project' => $project, 'region' => $region, 'router' => $router, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('patch', array($params), "Google_Service_Compute_Operation"); + } + /** + * Preview fields auto-generated during router create and update operations. + * Calling this method does NOT create or update the router. (routers.preview) + * + * @param string $project Project ID for this request. + * @param string $region Name of the region for this request. + * @param string $router Name of the Router resource to query. + * @param Google_Service_Compute_Router $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Compute_RoutersPreviewResponse + */ + public function preview($project, $region, $router, Google_Service_Compute_Router $postBody, $optParams = array()) + { + $params = array('project' => $project, 'region' => $region, 'router' => $router, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('preview', array($params), "Google_Service_Compute_RoutersPreviewResponse"); + } + /** + * Updates the specified Router resource with the data included in the request. + * (routers.update) + * + * @param string $project Project ID for this request. + * @param string $region Name of the region for this request. + * @param string $router Name of the Router resource to update. + * @param Google_Service_Compute_Router $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Compute_Operation + */ + public function update($project, $region, $router, Google_Service_Compute_Router $postBody, $optParams = array()) + { + $params = array('project' => $project, 'region' => $region, 'router' => $router, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('update', array($params), "Google_Service_Compute_Operation"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/Resource/Routes.php b/vendor/google/apiclient-services/src/Google/Service/Compute/Resource/Routes.php new file mode 100644 index 00000000..2970f5e7 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/Resource/Routes.php @@ -0,0 +1,129 @@ + + * $computeService = new Google_Service_Compute(...); + * $routes = $computeService->routes; + * + */ +class Google_Service_Compute_Resource_Routes extends Google_Service_Resource +{ + /** + * Deletes the specified Route resource. (routes.delete) + * + * @param string $project Project ID for this request. + * @param string $route Name of the Route resource to delete. + * @param array $optParams Optional parameters. + * @return Google_Service_Compute_Operation + */ + public function delete($project, $route, $optParams = array()) + { + $params = array('project' => $project, 'route' => $route); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params), "Google_Service_Compute_Operation"); + } + /** + * Returns the specified Route resource. Get a list of available routes by + * making a list() request. (routes.get) + * + * @param string $project Project ID for this request. + * @param string $route Name of the Route resource to return. + * @param array $optParams Optional parameters. + * @return Google_Service_Compute_Route + */ + public function get($project, $route, $optParams = array()) + { + $params = array('project' => $project, 'route' => $route); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Compute_Route"); + } + /** + * Creates a Route resource in the specified project using the data included in + * the request. (routes.insert) + * + * @param string $project Project ID for this request. + * @param Google_Service_Compute_Route $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Compute_Operation + */ + public function insert($project, Google_Service_Compute_Route $postBody, $optParams = array()) + { + $params = array('project' => $project, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('insert', array($params), "Google_Service_Compute_Operation"); + } + /** + * Retrieves the list of Route resources available to the specified project. + * (routes.listRoutes) + * + * @param string $project Project ID for this request. + * @param array $optParams Optional parameters. + * + * @opt_param string filter Sets a filter expression for filtering listed + * resources, in the form filter={expression}. Your {expression} must be in the + * format: field_name comparison_string literal_string. + * + * The field_name is the name of the field you want to compare. Only atomic + * field types are supported (string, number, boolean). The comparison_string + * must be either eq (equals) or ne (not equals). The literal_string is the + * string value to filter to. The literal value must be valid for the type of + * field you are filtering by (string, number, boolean). For string fields, the + * literal value is interpreted as a regular expression using RE2 syntax. The + * literal value must match the entire field. + * + * For example, to filter for instances that do not have a name of example- + * instance, you would use filter=name ne example-instance. + * + * You can filter on nested fields. For example, you could filter on instances + * that have set the scheduling.automaticRestart field to true. Use filtering on + * nested fields to take advantage of labels to organize and search for results + * based on label values. + * + * To filter on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us- + * central1-f). Multiple expressions are treated as AND expressions, meaning + * that resources must match all expressions to pass the filters. + * @opt_param string maxResults The maximum number of results per page that + * should be returned. If the number of available results is larger than + * maxResults, Compute Engine returns a nextPageToken that can be used to get + * the next page of results in subsequent list requests. Acceptable values are 0 + * to 500, inclusive. (Default: 500) + * @opt_param string orderBy Sorts list results by a certain order. By default, + * results are returned in alphanumerical order based on the resource name. + * + * You can also sort results in descending order based on the creation timestamp + * using orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result first). + * Use this to sort resources like operations so that the newest operation is + * returned first. + * + * Currently, only sorting by name or creationTimestamp desc is supported. + * @opt_param string pageToken Specifies a page token to use. Set pageToken to + * the nextPageToken returned by a previous list request to get the next page of + * results. + * @return Google_Service_Compute_RouteList + */ + public function listRoutes($project, $optParams = array()) + { + $params = array('project' => $project); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Compute_RouteList"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/Resource/Snapshots.php b/vendor/google/apiclient-services/src/Google/Service/Compute/Resource/Snapshots.php new file mode 100644 index 00000000..30fbf0b5 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/Resource/Snapshots.php @@ -0,0 +1,119 @@ + + * $computeService = new Google_Service_Compute(...); + * $snapshots = $computeService->snapshots; + * + */ +class Google_Service_Compute_Resource_Snapshots extends Google_Service_Resource +{ + /** + * Deletes the specified Snapshot resource. Keep in mind that deleting a single + * snapshot might not necessarily delete all the data on that snapshot. If any + * data on the snapshot that is marked for deletion is needed for subsequent + * snapshots, the data will be moved to the next corresponding snapshot. + * + * For more information, see Deleting snaphots. (snapshots.delete) + * + * @param string $project Project ID for this request. + * @param string $snapshot Name of the Snapshot resource to delete. + * @param array $optParams Optional parameters. + * @return Google_Service_Compute_Operation + */ + public function delete($project, $snapshot, $optParams = array()) + { + $params = array('project' => $project, 'snapshot' => $snapshot); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params), "Google_Service_Compute_Operation"); + } + /** + * Returns the specified Snapshot resource. Get a list of available snapshots by + * making a list() request. (snapshots.get) + * + * @param string $project Project ID for this request. + * @param string $snapshot Name of the Snapshot resource to return. + * @param array $optParams Optional parameters. + * @return Google_Service_Compute_Snapshot + */ + public function get($project, $snapshot, $optParams = array()) + { + $params = array('project' => $project, 'snapshot' => $snapshot); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Compute_Snapshot"); + } + /** + * Retrieves the list of Snapshot resources contained within the specified + * project. (snapshots.listSnapshots) + * + * @param string $project Project ID for this request. + * @param array $optParams Optional parameters. + * + * @opt_param string filter Sets a filter expression for filtering listed + * resources, in the form filter={expression}. Your {expression} must be in the + * format: field_name comparison_string literal_string. + * + * The field_name is the name of the field you want to compare. Only atomic + * field types are supported (string, number, boolean). The comparison_string + * must be either eq (equals) or ne (not equals). The literal_string is the + * string value to filter to. The literal value must be valid for the type of + * field you are filtering by (string, number, boolean). For string fields, the + * literal value is interpreted as a regular expression using RE2 syntax. The + * literal value must match the entire field. + * + * For example, to filter for instances that do not have a name of example- + * instance, you would use filter=name ne example-instance. + * + * You can filter on nested fields. For example, you could filter on instances + * that have set the scheduling.automaticRestart field to true. Use filtering on + * nested fields to take advantage of labels to organize and search for results + * based on label values. + * + * To filter on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us- + * central1-f). Multiple expressions are treated as AND expressions, meaning + * that resources must match all expressions to pass the filters. + * @opt_param string maxResults The maximum number of results per page that + * should be returned. If the number of available results is larger than + * maxResults, Compute Engine returns a nextPageToken that can be used to get + * the next page of results in subsequent list requests. Acceptable values are 0 + * to 500, inclusive. (Default: 500) + * @opt_param string orderBy Sorts list results by a certain order. By default, + * results are returned in alphanumerical order based on the resource name. + * + * You can also sort results in descending order based on the creation timestamp + * using orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result first). + * Use this to sort resources like operations so that the newest operation is + * returned first. + * + * Currently, only sorting by name or creationTimestamp desc is supported. + * @opt_param string pageToken Specifies a page token to use. Set pageToken to + * the nextPageToken returned by a previous list request to get the next page of + * results. + * @return Google_Service_Compute_SnapshotList + */ + public function listSnapshots($project, $optParams = array()) + { + $params = array('project' => $project); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Compute_SnapshotList"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/Resource/SslCertificates.php b/vendor/google/apiclient-services/src/Google/Service/Compute/Resource/SslCertificates.php new file mode 100644 index 00000000..b445378c --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/Resource/SslCertificates.php @@ -0,0 +1,129 @@ + + * $computeService = new Google_Service_Compute(...); + * $sslCertificates = $computeService->sslCertificates; + * + */ +class Google_Service_Compute_Resource_SslCertificates extends Google_Service_Resource +{ + /** + * Deletes the specified SslCertificate resource. (sslCertificates.delete) + * + * @param string $project Project ID for this request. + * @param string $sslCertificate Name of the SslCertificate resource to delete. + * @param array $optParams Optional parameters. + * @return Google_Service_Compute_Operation + */ + public function delete($project, $sslCertificate, $optParams = array()) + { + $params = array('project' => $project, 'sslCertificate' => $sslCertificate); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params), "Google_Service_Compute_Operation"); + } + /** + * Returns the specified SslCertificate resource. Get a list of available SSL + * certificates by making a list() request. (sslCertificates.get) + * + * @param string $project Project ID for this request. + * @param string $sslCertificate Name of the SslCertificate resource to return. + * @param array $optParams Optional parameters. + * @return Google_Service_Compute_SslCertificate + */ + public function get($project, $sslCertificate, $optParams = array()) + { + $params = array('project' => $project, 'sslCertificate' => $sslCertificate); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Compute_SslCertificate"); + } + /** + * Creates a SslCertificate resource in the specified project using the data + * included in the request. (sslCertificates.insert) + * + * @param string $project Project ID for this request. + * @param Google_Service_Compute_SslCertificate $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Compute_Operation + */ + public function insert($project, Google_Service_Compute_SslCertificate $postBody, $optParams = array()) + { + $params = array('project' => $project, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('insert', array($params), "Google_Service_Compute_Operation"); + } + /** + * Retrieves the list of SslCertificate resources available to the specified + * project. (sslCertificates.listSslCertificates) + * + * @param string $project Project ID for this request. + * @param array $optParams Optional parameters. + * + * @opt_param string filter Sets a filter expression for filtering listed + * resources, in the form filter={expression}. Your {expression} must be in the + * format: field_name comparison_string literal_string. + * + * The field_name is the name of the field you want to compare. Only atomic + * field types are supported (string, number, boolean). The comparison_string + * must be either eq (equals) or ne (not equals). The literal_string is the + * string value to filter to. The literal value must be valid for the type of + * field you are filtering by (string, number, boolean). For string fields, the + * literal value is interpreted as a regular expression using RE2 syntax. The + * literal value must match the entire field. + * + * For example, to filter for instances that do not have a name of example- + * instance, you would use filter=name ne example-instance. + * + * You can filter on nested fields. For example, you could filter on instances + * that have set the scheduling.automaticRestart field to true. Use filtering on + * nested fields to take advantage of labels to organize and search for results + * based on label values. + * + * To filter on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us- + * central1-f). Multiple expressions are treated as AND expressions, meaning + * that resources must match all expressions to pass the filters. + * @opt_param string maxResults The maximum number of results per page that + * should be returned. If the number of available results is larger than + * maxResults, Compute Engine returns a nextPageToken that can be used to get + * the next page of results in subsequent list requests. Acceptable values are 0 + * to 500, inclusive. (Default: 500) + * @opt_param string orderBy Sorts list results by a certain order. By default, + * results are returned in alphanumerical order based on the resource name. + * + * You can also sort results in descending order based on the creation timestamp + * using orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result first). + * Use this to sort resources like operations so that the newest operation is + * returned first. + * + * Currently, only sorting by name or creationTimestamp desc is supported. + * @opt_param string pageToken Specifies a page token to use. Set pageToken to + * the nextPageToken returned by a previous list request to get the next page of + * results. + * @return Google_Service_Compute_SslCertificateList + */ + public function listSslCertificates($project, $optParams = array()) + { + $params = array('project' => $project); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Compute_SslCertificateList"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/Resource/Subnetworks.php b/vendor/google/apiclient-services/src/Google/Service/Compute/Resource/Subnetworks.php new file mode 100644 index 00000000..9e0fd05b --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/Resource/Subnetworks.php @@ -0,0 +1,206 @@ + + * $computeService = new Google_Service_Compute(...); + * $subnetworks = $computeService->subnetworks; + * + */ +class Google_Service_Compute_Resource_Subnetworks extends Google_Service_Resource +{ + /** + * Retrieves an aggregated list of subnetworks. (subnetworks.aggregatedList) + * + * @param string $project Project ID for this request. + * @param array $optParams Optional parameters. + * + * @opt_param string filter Sets a filter expression for filtering listed + * resources, in the form filter={expression}. Your {expression} must be in the + * format: field_name comparison_string literal_string. + * + * The field_name is the name of the field you want to compare. Only atomic + * field types are supported (string, number, boolean). The comparison_string + * must be either eq (equals) or ne (not equals). The literal_string is the + * string value to filter to. The literal value must be valid for the type of + * field you are filtering by (string, number, boolean). For string fields, the + * literal value is interpreted as a regular expression using RE2 syntax. The + * literal value must match the entire field. + * + * For example, to filter for instances that do not have a name of example- + * instance, you would use filter=name ne example-instance. + * + * You can filter on nested fields. For example, you could filter on instances + * that have set the scheduling.automaticRestart field to true. Use filtering on + * nested fields to take advantage of labels to organize and search for results + * based on label values. + * + * To filter on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us- + * central1-f). Multiple expressions are treated as AND expressions, meaning + * that resources must match all expressions to pass the filters. + * @opt_param string maxResults The maximum number of results per page that + * should be returned. If the number of available results is larger than + * maxResults, Compute Engine returns a nextPageToken that can be used to get + * the next page of results in subsequent list requests. Acceptable values are 0 + * to 500, inclusive. (Default: 500) + * @opt_param string orderBy Sorts list results by a certain order. By default, + * results are returned in alphanumerical order based on the resource name. + * + * You can also sort results in descending order based on the creation timestamp + * using orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result first). + * Use this to sort resources like operations so that the newest operation is + * returned first. + * + * Currently, only sorting by name or creationTimestamp desc is supported. + * @opt_param string pageToken Specifies a page token to use. Set pageToken to + * the nextPageToken returned by a previous list request to get the next page of + * results. + * @return Google_Service_Compute_SubnetworkAggregatedList + */ + public function aggregatedList($project, $optParams = array()) + { + $params = array('project' => $project); + $params = array_merge($params, $optParams); + return $this->call('aggregatedList', array($params), "Google_Service_Compute_SubnetworkAggregatedList"); + } + /** + * Deletes the specified subnetwork. (subnetworks.delete) + * + * @param string $project Project ID for this request. + * @param string $region Name of the region scoping this request. + * @param string $subnetwork Name of the Subnetwork resource to delete. + * @param array $optParams Optional parameters. + * @return Google_Service_Compute_Operation + */ + public function delete($project, $region, $subnetwork, $optParams = array()) + { + $params = array('project' => $project, 'region' => $region, 'subnetwork' => $subnetwork); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params), "Google_Service_Compute_Operation"); + } + /** + * Expands the IP CIDR range of the subnetwork to a specified value. + * (subnetworks.expandIpCidrRange) + * + * @param string $project Project ID for this request. + * @param string $region Name of the region scoping this request. + * @param string $subnetwork Name of the Subnetwork resource to update. + * @param Google_Service_Compute_SubnetworksExpandIpCidrRangeRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Compute_Operation + */ + public function expandIpCidrRange($project, $region, $subnetwork, Google_Service_Compute_SubnetworksExpandIpCidrRangeRequest $postBody, $optParams = array()) + { + $params = array('project' => $project, 'region' => $region, 'subnetwork' => $subnetwork, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('expandIpCidrRange', array($params), "Google_Service_Compute_Operation"); + } + /** + * Returns the specified subnetwork. Get a list of available subnetworks list() + * request. (subnetworks.get) + * + * @param string $project Project ID for this request. + * @param string $region Name of the region scoping this request. + * @param string $subnetwork Name of the Subnetwork resource to return. + * @param array $optParams Optional parameters. + * @return Google_Service_Compute_Subnetwork + */ + public function get($project, $region, $subnetwork, $optParams = array()) + { + $params = array('project' => $project, 'region' => $region, 'subnetwork' => $subnetwork); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Compute_Subnetwork"); + } + /** + * Creates a subnetwork in the specified project using the data included in the + * request. (subnetworks.insert) + * + * @param string $project Project ID for this request. + * @param string $region Name of the region scoping this request. + * @param Google_Service_Compute_Subnetwork $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Compute_Operation + */ + public function insert($project, $region, Google_Service_Compute_Subnetwork $postBody, $optParams = array()) + { + $params = array('project' => $project, 'region' => $region, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('insert', array($params), "Google_Service_Compute_Operation"); + } + /** + * Retrieves a list of subnetworks available to the specified project. + * (subnetworks.listSubnetworks) + * + * @param string $project Project ID for this request. + * @param string $region Name of the region scoping this request. + * @param array $optParams Optional parameters. + * + * @opt_param string filter Sets a filter expression for filtering listed + * resources, in the form filter={expression}. Your {expression} must be in the + * format: field_name comparison_string literal_string. + * + * The field_name is the name of the field you want to compare. Only atomic + * field types are supported (string, number, boolean). The comparison_string + * must be either eq (equals) or ne (not equals). The literal_string is the + * string value to filter to. The literal value must be valid for the type of + * field you are filtering by (string, number, boolean). For string fields, the + * literal value is interpreted as a regular expression using RE2 syntax. The + * literal value must match the entire field. + * + * For example, to filter for instances that do not have a name of example- + * instance, you would use filter=name ne example-instance. + * + * You can filter on nested fields. For example, you could filter on instances + * that have set the scheduling.automaticRestart field to true. Use filtering on + * nested fields to take advantage of labels to organize and search for results + * based on label values. + * + * To filter on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us- + * central1-f). Multiple expressions are treated as AND expressions, meaning + * that resources must match all expressions to pass the filters. + * @opt_param string maxResults The maximum number of results per page that + * should be returned. If the number of available results is larger than + * maxResults, Compute Engine returns a nextPageToken that can be used to get + * the next page of results in subsequent list requests. Acceptable values are 0 + * to 500, inclusive. (Default: 500) + * @opt_param string orderBy Sorts list results by a certain order. By default, + * results are returned in alphanumerical order based on the resource name. + * + * You can also sort results in descending order based on the creation timestamp + * using orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result first). + * Use this to sort resources like operations so that the newest operation is + * returned first. + * + * Currently, only sorting by name or creationTimestamp desc is supported. + * @opt_param string pageToken Specifies a page token to use. Set pageToken to + * the nextPageToken returned by a previous list request to get the next page of + * results. + * @return Google_Service_Compute_SubnetworkList + */ + public function listSubnetworks($project, $region, $optParams = array()) + { + $params = array('project' => $project, 'region' => $region); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Compute_SubnetworkList"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/Resource/TargetHttpProxies.php b/vendor/google/apiclient-services/src/Google/Service/Compute/Resource/TargetHttpProxies.php new file mode 100644 index 00000000..3f19cfe8 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/Resource/TargetHttpProxies.php @@ -0,0 +1,147 @@ + + * $computeService = new Google_Service_Compute(...); + * $targetHttpProxies = $computeService->targetHttpProxies; + * + */ +class Google_Service_Compute_Resource_TargetHttpProxies extends Google_Service_Resource +{ + /** + * Deletes the specified TargetHttpProxy resource. (targetHttpProxies.delete) + * + * @param string $project Project ID for this request. + * @param string $targetHttpProxy Name of the TargetHttpProxy resource to + * delete. + * @param array $optParams Optional parameters. + * @return Google_Service_Compute_Operation + */ + public function delete($project, $targetHttpProxy, $optParams = array()) + { + $params = array('project' => $project, 'targetHttpProxy' => $targetHttpProxy); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params), "Google_Service_Compute_Operation"); + } + /** + * Returns the specified TargetHttpProxy resource. Get a list of available + * target HTTP proxies by making a list() request. (targetHttpProxies.get) + * + * @param string $project Project ID for this request. + * @param string $targetHttpProxy Name of the TargetHttpProxy resource to + * return. + * @param array $optParams Optional parameters. + * @return Google_Service_Compute_TargetHttpProxy + */ + public function get($project, $targetHttpProxy, $optParams = array()) + { + $params = array('project' => $project, 'targetHttpProxy' => $targetHttpProxy); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Compute_TargetHttpProxy"); + } + /** + * Creates a TargetHttpProxy resource in the specified project using the data + * included in the request. (targetHttpProxies.insert) + * + * @param string $project Project ID for this request. + * @param Google_Service_Compute_TargetHttpProxy $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Compute_Operation + */ + public function insert($project, Google_Service_Compute_TargetHttpProxy $postBody, $optParams = array()) + { + $params = array('project' => $project, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('insert', array($params), "Google_Service_Compute_Operation"); + } + /** + * Retrieves the list of TargetHttpProxy resources available to the specified + * project. (targetHttpProxies.listTargetHttpProxies) + * + * @param string $project Project ID for this request. + * @param array $optParams Optional parameters. + * + * @opt_param string filter Sets a filter expression for filtering listed + * resources, in the form filter={expression}. Your {expression} must be in the + * format: field_name comparison_string literal_string. + * + * The field_name is the name of the field you want to compare. Only atomic + * field types are supported (string, number, boolean). The comparison_string + * must be either eq (equals) or ne (not equals). The literal_string is the + * string value to filter to. The literal value must be valid for the type of + * field you are filtering by (string, number, boolean). For string fields, the + * literal value is interpreted as a regular expression using RE2 syntax. The + * literal value must match the entire field. + * + * For example, to filter for instances that do not have a name of example- + * instance, you would use filter=name ne example-instance. + * + * You can filter on nested fields. For example, you could filter on instances + * that have set the scheduling.automaticRestart field to true. Use filtering on + * nested fields to take advantage of labels to organize and search for results + * based on label values. + * + * To filter on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us- + * central1-f). Multiple expressions are treated as AND expressions, meaning + * that resources must match all expressions to pass the filters. + * @opt_param string maxResults The maximum number of results per page that + * should be returned. If the number of available results is larger than + * maxResults, Compute Engine returns a nextPageToken that can be used to get + * the next page of results in subsequent list requests. Acceptable values are 0 + * to 500, inclusive. (Default: 500) + * @opt_param string orderBy Sorts list results by a certain order. By default, + * results are returned in alphanumerical order based on the resource name. + * + * You can also sort results in descending order based on the creation timestamp + * using orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result first). + * Use this to sort resources like operations so that the newest operation is + * returned first. + * + * Currently, only sorting by name or creationTimestamp desc is supported. + * @opt_param string pageToken Specifies a page token to use. Set pageToken to + * the nextPageToken returned by a previous list request to get the next page of + * results. + * @return Google_Service_Compute_TargetHttpProxyList + */ + public function listTargetHttpProxies($project, $optParams = array()) + { + $params = array('project' => $project); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Compute_TargetHttpProxyList"); + } + /** + * Changes the URL map for TargetHttpProxy. (targetHttpProxies.setUrlMap) + * + * @param string $project Project ID for this request. + * @param string $targetHttpProxy Name of the TargetHttpProxy to set a URL map + * for. + * @param Google_Service_Compute_UrlMapReference $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Compute_Operation + */ + public function setUrlMap($project, $targetHttpProxy, Google_Service_Compute_UrlMapReference $postBody, $optParams = array()) + { + $params = array('project' => $project, 'targetHttpProxy' => $targetHttpProxy, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('setUrlMap', array($params), "Google_Service_Compute_Operation"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/Resource/TargetHttpsProxies.php b/vendor/google/apiclient-services/src/Google/Service/Compute/Resource/TargetHttpsProxies.php new file mode 100644 index 00000000..dd659717 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/Resource/TargetHttpsProxies.php @@ -0,0 +1,164 @@ + + * $computeService = new Google_Service_Compute(...); + * $targetHttpsProxies = $computeService->targetHttpsProxies; + * + */ +class Google_Service_Compute_Resource_TargetHttpsProxies extends Google_Service_Resource +{ + /** + * Deletes the specified TargetHttpsProxy resource. (targetHttpsProxies.delete) + * + * @param string $project Project ID for this request. + * @param string $targetHttpsProxy Name of the TargetHttpsProxy resource to + * delete. + * @param array $optParams Optional parameters. + * @return Google_Service_Compute_Operation + */ + public function delete($project, $targetHttpsProxy, $optParams = array()) + { + $params = array('project' => $project, 'targetHttpsProxy' => $targetHttpsProxy); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params), "Google_Service_Compute_Operation"); + } + /** + * Returns the specified TargetHttpsProxy resource. Get a list of available + * target HTTPS proxies by making a list() request. (targetHttpsProxies.get) + * + * @param string $project Project ID for this request. + * @param string $targetHttpsProxy Name of the TargetHttpsProxy resource to + * return. + * @param array $optParams Optional parameters. + * @return Google_Service_Compute_TargetHttpsProxy + */ + public function get($project, $targetHttpsProxy, $optParams = array()) + { + $params = array('project' => $project, 'targetHttpsProxy' => $targetHttpsProxy); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Compute_TargetHttpsProxy"); + } + /** + * Creates a TargetHttpsProxy resource in the specified project using the data + * included in the request. (targetHttpsProxies.insert) + * + * @param string $project Project ID for this request. + * @param Google_Service_Compute_TargetHttpsProxy $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Compute_Operation + */ + public function insert($project, Google_Service_Compute_TargetHttpsProxy $postBody, $optParams = array()) + { + $params = array('project' => $project, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('insert', array($params), "Google_Service_Compute_Operation"); + } + /** + * Retrieves the list of TargetHttpsProxy resources available to the specified + * project. (targetHttpsProxies.listTargetHttpsProxies) + * + * @param string $project Project ID for this request. + * @param array $optParams Optional parameters. + * + * @opt_param string filter Sets a filter expression for filtering listed + * resources, in the form filter={expression}. Your {expression} must be in the + * format: field_name comparison_string literal_string. + * + * The field_name is the name of the field you want to compare. Only atomic + * field types are supported (string, number, boolean). The comparison_string + * must be either eq (equals) or ne (not equals). The literal_string is the + * string value to filter to. The literal value must be valid for the type of + * field you are filtering by (string, number, boolean). For string fields, the + * literal value is interpreted as a regular expression using RE2 syntax. The + * literal value must match the entire field. + * + * For example, to filter for instances that do not have a name of example- + * instance, you would use filter=name ne example-instance. + * + * You can filter on nested fields. For example, you could filter on instances + * that have set the scheduling.automaticRestart field to true. Use filtering on + * nested fields to take advantage of labels to organize and search for results + * based on label values. + * + * To filter on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us- + * central1-f). Multiple expressions are treated as AND expressions, meaning + * that resources must match all expressions to pass the filters. + * @opt_param string maxResults The maximum number of results per page that + * should be returned. If the number of available results is larger than + * maxResults, Compute Engine returns a nextPageToken that can be used to get + * the next page of results in subsequent list requests. Acceptable values are 0 + * to 500, inclusive. (Default: 500) + * @opt_param string orderBy Sorts list results by a certain order. By default, + * results are returned in alphanumerical order based on the resource name. + * + * You can also sort results in descending order based on the creation timestamp + * using orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result first). + * Use this to sort resources like operations so that the newest operation is + * returned first. + * + * Currently, only sorting by name or creationTimestamp desc is supported. + * @opt_param string pageToken Specifies a page token to use. Set pageToken to + * the nextPageToken returned by a previous list request to get the next page of + * results. + * @return Google_Service_Compute_TargetHttpsProxyList + */ + public function listTargetHttpsProxies($project, $optParams = array()) + { + $params = array('project' => $project); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Compute_TargetHttpsProxyList"); + } + /** + * Replaces SslCertificates for TargetHttpsProxy. + * (targetHttpsProxies.setSslCertificates) + * + * @param string $project Project ID for this request. + * @param string $targetHttpsProxy Name of the TargetHttpsProxy resource to set + * an SslCertificates resource for. + * @param Google_Service_Compute_TargetHttpsProxiesSetSslCertificatesRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Compute_Operation + */ + public function setSslCertificates($project, $targetHttpsProxy, Google_Service_Compute_TargetHttpsProxiesSetSslCertificatesRequest $postBody, $optParams = array()) + { + $params = array('project' => $project, 'targetHttpsProxy' => $targetHttpsProxy, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('setSslCertificates', array($params), "Google_Service_Compute_Operation"); + } + /** + * Changes the URL map for TargetHttpsProxy. (targetHttpsProxies.setUrlMap) + * + * @param string $project Project ID for this request. + * @param string $targetHttpsProxy Name of the TargetHttpsProxy resource whose + * URL map is to be set. + * @param Google_Service_Compute_UrlMapReference $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Compute_Operation + */ + public function setUrlMap($project, $targetHttpsProxy, Google_Service_Compute_UrlMapReference $postBody, $optParams = array()) + { + $params = array('project' => $project, 'targetHttpsProxy' => $targetHttpsProxy, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('setUrlMap', array($params), "Google_Service_Compute_Operation"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/Resource/TargetInstances.php b/vendor/google/apiclient-services/src/Google/Service/Compute/Resource/TargetInstances.php new file mode 100644 index 00000000..e421bf42 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/Resource/TargetInstances.php @@ -0,0 +1,190 @@ + + * $computeService = new Google_Service_Compute(...); + * $targetInstances = $computeService->targetInstances; + * + */ +class Google_Service_Compute_Resource_TargetInstances extends Google_Service_Resource +{ + /** + * Retrieves an aggregated list of target instances. + * (targetInstances.aggregatedList) + * + * @param string $project Project ID for this request. + * @param array $optParams Optional parameters. + * + * @opt_param string filter Sets a filter expression for filtering listed + * resources, in the form filter={expression}. Your {expression} must be in the + * format: field_name comparison_string literal_string. + * + * The field_name is the name of the field you want to compare. Only atomic + * field types are supported (string, number, boolean). The comparison_string + * must be either eq (equals) or ne (not equals). The literal_string is the + * string value to filter to. The literal value must be valid for the type of + * field you are filtering by (string, number, boolean). For string fields, the + * literal value is interpreted as a regular expression using RE2 syntax. The + * literal value must match the entire field. + * + * For example, to filter for instances that do not have a name of example- + * instance, you would use filter=name ne example-instance. + * + * You can filter on nested fields. For example, you could filter on instances + * that have set the scheduling.automaticRestart field to true. Use filtering on + * nested fields to take advantage of labels to organize and search for results + * based on label values. + * + * To filter on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us- + * central1-f). Multiple expressions are treated as AND expressions, meaning + * that resources must match all expressions to pass the filters. + * @opt_param string maxResults The maximum number of results per page that + * should be returned. If the number of available results is larger than + * maxResults, Compute Engine returns a nextPageToken that can be used to get + * the next page of results in subsequent list requests. Acceptable values are 0 + * to 500, inclusive. (Default: 500) + * @opt_param string orderBy Sorts list results by a certain order. By default, + * results are returned in alphanumerical order based on the resource name. + * + * You can also sort results in descending order based on the creation timestamp + * using orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result first). + * Use this to sort resources like operations so that the newest operation is + * returned first. + * + * Currently, only sorting by name or creationTimestamp desc is supported. + * @opt_param string pageToken Specifies a page token to use. Set pageToken to + * the nextPageToken returned by a previous list request to get the next page of + * results. + * @return Google_Service_Compute_TargetInstanceAggregatedList + */ + public function aggregatedList($project, $optParams = array()) + { + $params = array('project' => $project); + $params = array_merge($params, $optParams); + return $this->call('aggregatedList', array($params), "Google_Service_Compute_TargetInstanceAggregatedList"); + } + /** + * Deletes the specified TargetInstance resource. (targetInstances.delete) + * + * @param string $project Project ID for this request. + * @param string $zone Name of the zone scoping this request. + * @param string $targetInstance Name of the TargetInstance resource to delete. + * @param array $optParams Optional parameters. + * @return Google_Service_Compute_Operation + */ + public function delete($project, $zone, $targetInstance, $optParams = array()) + { + $params = array('project' => $project, 'zone' => $zone, 'targetInstance' => $targetInstance); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params), "Google_Service_Compute_Operation"); + } + /** + * Returns the specified TargetInstance resource. Get a list of available target + * instances by making a list() request. (targetInstances.get) + * + * @param string $project Project ID for this request. + * @param string $zone Name of the zone scoping this request. + * @param string $targetInstance Name of the TargetInstance resource to return. + * @param array $optParams Optional parameters. + * @return Google_Service_Compute_TargetInstance + */ + public function get($project, $zone, $targetInstance, $optParams = array()) + { + $params = array('project' => $project, 'zone' => $zone, 'targetInstance' => $targetInstance); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Compute_TargetInstance"); + } + /** + * Creates a TargetInstance resource in the specified project and zone using the + * data included in the request. (targetInstances.insert) + * + * @param string $project Project ID for this request. + * @param string $zone Name of the zone scoping this request. + * @param Google_Service_Compute_TargetInstance $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Compute_Operation + */ + public function insert($project, $zone, Google_Service_Compute_TargetInstance $postBody, $optParams = array()) + { + $params = array('project' => $project, 'zone' => $zone, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('insert', array($params), "Google_Service_Compute_Operation"); + } + /** + * Retrieves a list of TargetInstance resources available to the specified + * project and zone. (targetInstances.listTargetInstances) + * + * @param string $project Project ID for this request. + * @param string $zone Name of the zone scoping this request. + * @param array $optParams Optional parameters. + * + * @opt_param string filter Sets a filter expression for filtering listed + * resources, in the form filter={expression}. Your {expression} must be in the + * format: field_name comparison_string literal_string. + * + * The field_name is the name of the field you want to compare. Only atomic + * field types are supported (string, number, boolean). The comparison_string + * must be either eq (equals) or ne (not equals). The literal_string is the + * string value to filter to. The literal value must be valid for the type of + * field you are filtering by (string, number, boolean). For string fields, the + * literal value is interpreted as a regular expression using RE2 syntax. The + * literal value must match the entire field. + * + * For example, to filter for instances that do not have a name of example- + * instance, you would use filter=name ne example-instance. + * + * You can filter on nested fields. For example, you could filter on instances + * that have set the scheduling.automaticRestart field to true. Use filtering on + * nested fields to take advantage of labels to organize and search for results + * based on label values. + * + * To filter on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us- + * central1-f). Multiple expressions are treated as AND expressions, meaning + * that resources must match all expressions to pass the filters. + * @opt_param string maxResults The maximum number of results per page that + * should be returned. If the number of available results is larger than + * maxResults, Compute Engine returns a nextPageToken that can be used to get + * the next page of results in subsequent list requests. Acceptable values are 0 + * to 500, inclusive. (Default: 500) + * @opt_param string orderBy Sorts list results by a certain order. By default, + * results are returned in alphanumerical order based on the resource name. + * + * You can also sort results in descending order based on the creation timestamp + * using orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result first). + * Use this to sort resources like operations so that the newest operation is + * returned first. + * + * Currently, only sorting by name or creationTimestamp desc is supported. + * @opt_param string pageToken Specifies a page token to use. Set pageToken to + * the nextPageToken returned by a previous list request to get the next page of + * results. + * @return Google_Service_Compute_TargetInstanceList + */ + public function listTargetInstances($project, $zone, $optParams = array()) + { + $params = array('project' => $project, 'zone' => $zone); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Compute_TargetInstanceList"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/Resource/TargetPools.php b/vendor/google/apiclient-services/src/Google/Service/Compute/Resource/TargetPools.php new file mode 100644 index 00000000..7d462298 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/Resource/TargetPools.php @@ -0,0 +1,293 @@ + + * $computeService = new Google_Service_Compute(...); + * $targetPools = $computeService->targetPools; + * + */ +class Google_Service_Compute_Resource_TargetPools extends Google_Service_Resource +{ + /** + * Adds health check URLs to a target pool. (targetPools.addHealthCheck) + * + * @param string $project Project ID for this request. + * @param string $region Name of the region scoping this request. + * @param string $targetPool Name of the target pool to add a health check to. + * @param Google_Service_Compute_TargetPoolsAddHealthCheckRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Compute_Operation + */ + public function addHealthCheck($project, $region, $targetPool, Google_Service_Compute_TargetPoolsAddHealthCheckRequest $postBody, $optParams = array()) + { + $params = array('project' => $project, 'region' => $region, 'targetPool' => $targetPool, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('addHealthCheck', array($params), "Google_Service_Compute_Operation"); + } + /** + * Adds an instance to a target pool. (targetPools.addInstance) + * + * @param string $project Project ID for this request. + * @param string $region Name of the region scoping this request. + * @param string $targetPool Name of the TargetPool resource to add instances + * to. + * @param Google_Service_Compute_TargetPoolsAddInstanceRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Compute_Operation + */ + public function addInstance($project, $region, $targetPool, Google_Service_Compute_TargetPoolsAddInstanceRequest $postBody, $optParams = array()) + { + $params = array('project' => $project, 'region' => $region, 'targetPool' => $targetPool, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('addInstance', array($params), "Google_Service_Compute_Operation"); + } + /** + * Retrieves an aggregated list of target pools. (targetPools.aggregatedList) + * + * @param string $project Project ID for this request. + * @param array $optParams Optional parameters. + * + * @opt_param string filter Sets a filter expression for filtering listed + * resources, in the form filter={expression}. Your {expression} must be in the + * format: field_name comparison_string literal_string. + * + * The field_name is the name of the field you want to compare. Only atomic + * field types are supported (string, number, boolean). The comparison_string + * must be either eq (equals) or ne (not equals). The literal_string is the + * string value to filter to. The literal value must be valid for the type of + * field you are filtering by (string, number, boolean). For string fields, the + * literal value is interpreted as a regular expression using RE2 syntax. The + * literal value must match the entire field. + * + * For example, to filter for instances that do not have a name of example- + * instance, you would use filter=name ne example-instance. + * + * You can filter on nested fields. For example, you could filter on instances + * that have set the scheduling.automaticRestart field to true. Use filtering on + * nested fields to take advantage of labels to organize and search for results + * based on label values. + * + * To filter on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us- + * central1-f). Multiple expressions are treated as AND expressions, meaning + * that resources must match all expressions to pass the filters. + * @opt_param string maxResults The maximum number of results per page that + * should be returned. If the number of available results is larger than + * maxResults, Compute Engine returns a nextPageToken that can be used to get + * the next page of results in subsequent list requests. Acceptable values are 0 + * to 500, inclusive. (Default: 500) + * @opt_param string orderBy Sorts list results by a certain order. By default, + * results are returned in alphanumerical order based on the resource name. + * + * You can also sort results in descending order based on the creation timestamp + * using orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result first). + * Use this to sort resources like operations so that the newest operation is + * returned first. + * + * Currently, only sorting by name or creationTimestamp desc is supported. + * @opt_param string pageToken Specifies a page token to use. Set pageToken to + * the nextPageToken returned by a previous list request to get the next page of + * results. + * @return Google_Service_Compute_TargetPoolAggregatedList + */ + public function aggregatedList($project, $optParams = array()) + { + $params = array('project' => $project); + $params = array_merge($params, $optParams); + return $this->call('aggregatedList', array($params), "Google_Service_Compute_TargetPoolAggregatedList"); + } + /** + * Deletes the specified target pool. (targetPools.delete) + * + * @param string $project Project ID for this request. + * @param string $region Name of the region scoping this request. + * @param string $targetPool Name of the TargetPool resource to delete. + * @param array $optParams Optional parameters. + * @return Google_Service_Compute_Operation + */ + public function delete($project, $region, $targetPool, $optParams = array()) + { + $params = array('project' => $project, 'region' => $region, 'targetPool' => $targetPool); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params), "Google_Service_Compute_Operation"); + } + /** + * Returns the specified target pool. Get a list of available target pools by + * making a list() request. (targetPools.get) + * + * @param string $project Project ID for this request. + * @param string $region Name of the region scoping this request. + * @param string $targetPool Name of the TargetPool resource to return. + * @param array $optParams Optional parameters. + * @return Google_Service_Compute_TargetPool + */ + public function get($project, $region, $targetPool, $optParams = array()) + { + $params = array('project' => $project, 'region' => $region, 'targetPool' => $targetPool); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Compute_TargetPool"); + } + /** + * Gets the most recent health check results for each IP for the instance that + * is referenced by the given target pool. (targetPools.getHealth) + * + * @param string $project Project ID for this request. + * @param string $region Name of the region scoping this request. + * @param string $targetPool Name of the TargetPool resource to which the + * queried instance belongs. + * @param Google_Service_Compute_InstanceReference $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Compute_TargetPoolInstanceHealth + */ + public function getHealth($project, $region, $targetPool, Google_Service_Compute_InstanceReference $postBody, $optParams = array()) + { + $params = array('project' => $project, 'region' => $region, 'targetPool' => $targetPool, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('getHealth', array($params), "Google_Service_Compute_TargetPoolInstanceHealth"); + } + /** + * Creates a target pool in the specified project and region using the data + * included in the request. (targetPools.insert) + * + * @param string $project Project ID for this request. + * @param string $region Name of the region scoping this request. + * @param Google_Service_Compute_TargetPool $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Compute_Operation + */ + public function insert($project, $region, Google_Service_Compute_TargetPool $postBody, $optParams = array()) + { + $params = array('project' => $project, 'region' => $region, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('insert', array($params), "Google_Service_Compute_Operation"); + } + /** + * Retrieves a list of target pools available to the specified project and + * region. (targetPools.listTargetPools) + * + * @param string $project Project ID for this request. + * @param string $region Name of the region scoping this request. + * @param array $optParams Optional parameters. + * + * @opt_param string filter Sets a filter expression for filtering listed + * resources, in the form filter={expression}. Your {expression} must be in the + * format: field_name comparison_string literal_string. + * + * The field_name is the name of the field you want to compare. Only atomic + * field types are supported (string, number, boolean). The comparison_string + * must be either eq (equals) or ne (not equals). The literal_string is the + * string value to filter to. The literal value must be valid for the type of + * field you are filtering by (string, number, boolean). For string fields, the + * literal value is interpreted as a regular expression using RE2 syntax. The + * literal value must match the entire field. + * + * For example, to filter for instances that do not have a name of example- + * instance, you would use filter=name ne example-instance. + * + * You can filter on nested fields. For example, you could filter on instances + * that have set the scheduling.automaticRestart field to true. Use filtering on + * nested fields to take advantage of labels to organize and search for results + * based on label values. + * + * To filter on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us- + * central1-f). Multiple expressions are treated as AND expressions, meaning + * that resources must match all expressions to pass the filters. + * @opt_param string maxResults The maximum number of results per page that + * should be returned. If the number of available results is larger than + * maxResults, Compute Engine returns a nextPageToken that can be used to get + * the next page of results in subsequent list requests. Acceptable values are 0 + * to 500, inclusive. (Default: 500) + * @opt_param string orderBy Sorts list results by a certain order. By default, + * results are returned in alphanumerical order based on the resource name. + * + * You can also sort results in descending order based on the creation timestamp + * using orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result first). + * Use this to sort resources like operations so that the newest operation is + * returned first. + * + * Currently, only sorting by name or creationTimestamp desc is supported. + * @opt_param string pageToken Specifies a page token to use. Set pageToken to + * the nextPageToken returned by a previous list request to get the next page of + * results. + * @return Google_Service_Compute_TargetPoolList + */ + public function listTargetPools($project, $region, $optParams = array()) + { + $params = array('project' => $project, 'region' => $region); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Compute_TargetPoolList"); + } + /** + * Removes health check URL from a target pool. (targetPools.removeHealthCheck) + * + * @param string $project Project ID for this request. + * @param string $region Name of the region for this request. + * @param string $targetPool Name of the target pool to remove health checks + * from. + * @param Google_Service_Compute_TargetPoolsRemoveHealthCheckRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Compute_Operation + */ + public function removeHealthCheck($project, $region, $targetPool, Google_Service_Compute_TargetPoolsRemoveHealthCheckRequest $postBody, $optParams = array()) + { + $params = array('project' => $project, 'region' => $region, 'targetPool' => $targetPool, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('removeHealthCheck', array($params), "Google_Service_Compute_Operation"); + } + /** + * Removes instance URL from a target pool. (targetPools.removeInstance) + * + * @param string $project Project ID for this request. + * @param string $region Name of the region scoping this request. + * @param string $targetPool Name of the TargetPool resource to remove instances + * from. + * @param Google_Service_Compute_TargetPoolsRemoveInstanceRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Compute_Operation + */ + public function removeInstance($project, $region, $targetPool, Google_Service_Compute_TargetPoolsRemoveInstanceRequest $postBody, $optParams = array()) + { + $params = array('project' => $project, 'region' => $region, 'targetPool' => $targetPool, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('removeInstance', array($params), "Google_Service_Compute_Operation"); + } + /** + * Changes a backup target pool's configurations. (targetPools.setBackup) + * + * @param string $project Project ID for this request. + * @param string $region Name of the region scoping this request. + * @param string $targetPool Name of the TargetPool resource to set a backup + * pool for. + * @param Google_Service_Compute_TargetReference $postBody + * @param array $optParams Optional parameters. + * + * @opt_param float failoverRatio New failoverRatio value for the target pool. + * @return Google_Service_Compute_Operation + */ + public function setBackup($project, $region, $targetPool, Google_Service_Compute_TargetReference $postBody, $optParams = array()) + { + $params = array('project' => $project, 'region' => $region, 'targetPool' => $targetPool, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('setBackup', array($params), "Google_Service_Compute_Operation"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/Resource/TargetSslProxies.php b/vendor/google/apiclient-services/src/Google/Service/Compute/Resource/TargetSslProxies.php new file mode 100644 index 00000000..b6e2458d --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/Resource/TargetSslProxies.php @@ -0,0 +1,180 @@ + + * $computeService = new Google_Service_Compute(...); + * $targetSslProxies = $computeService->targetSslProxies; + * + */ +class Google_Service_Compute_Resource_TargetSslProxies extends Google_Service_Resource +{ + /** + * Deletes the specified TargetSslProxy resource. (targetSslProxies.delete) + * + * @param string $project Project ID for this request. + * @param string $targetSslProxy Name of the TargetSslProxy resource to delete. + * @param array $optParams Optional parameters. + * @return Google_Service_Compute_Operation + */ + public function delete($project, $targetSslProxy, $optParams = array()) + { + $params = array('project' => $project, 'targetSslProxy' => $targetSslProxy); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params), "Google_Service_Compute_Operation"); + } + /** + * Returns the specified TargetSslProxy resource. Get a list of available target + * SSL proxies by making a list() request. (targetSslProxies.get) + * + * @param string $project Project ID for this request. + * @param string $targetSslProxy Name of the TargetSslProxy resource to return. + * @param array $optParams Optional parameters. + * @return Google_Service_Compute_TargetSslProxy + */ + public function get($project, $targetSslProxy, $optParams = array()) + { + $params = array('project' => $project, 'targetSslProxy' => $targetSslProxy); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Compute_TargetSslProxy"); + } + /** + * Creates a TargetSslProxy resource in the specified project using the data + * included in the request. (targetSslProxies.insert) + * + * @param string $project Project ID for this request. + * @param Google_Service_Compute_TargetSslProxy $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Compute_Operation + */ + public function insert($project, Google_Service_Compute_TargetSslProxy $postBody, $optParams = array()) + { + $params = array('project' => $project, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('insert', array($params), "Google_Service_Compute_Operation"); + } + /** + * Retrieves the list of TargetSslProxy resources available to the specified + * project. (targetSslProxies.listTargetSslProxies) + * + * @param string $project Project ID for this request. + * @param array $optParams Optional parameters. + * + * @opt_param string filter Sets a filter expression for filtering listed + * resources, in the form filter={expression}. Your {expression} must be in the + * format: field_name comparison_string literal_string. + * + * The field_name is the name of the field you want to compare. Only atomic + * field types are supported (string, number, boolean). The comparison_string + * must be either eq (equals) or ne (not equals). The literal_string is the + * string value to filter to. The literal value must be valid for the type of + * field you are filtering by (string, number, boolean). For string fields, the + * literal value is interpreted as a regular expression using RE2 syntax. The + * literal value must match the entire field. + * + * For example, to filter for instances that do not have a name of example- + * instance, you would use filter=name ne example-instance. + * + * You can filter on nested fields. For example, you could filter on instances + * that have set the scheduling.automaticRestart field to true. Use filtering on + * nested fields to take advantage of labels to organize and search for results + * based on label values. + * + * To filter on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us- + * central1-f). Multiple expressions are treated as AND expressions, meaning + * that resources must match all expressions to pass the filters. + * @opt_param string maxResults The maximum number of results per page that + * should be returned. If the number of available results is larger than + * maxResults, Compute Engine returns a nextPageToken that can be used to get + * the next page of results in subsequent list requests. Acceptable values are 0 + * to 500, inclusive. (Default: 500) + * @opt_param string orderBy Sorts list results by a certain order. By default, + * results are returned in alphanumerical order based on the resource name. + * + * You can also sort results in descending order based on the creation timestamp + * using orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result first). + * Use this to sort resources like operations so that the newest operation is + * returned first. + * + * Currently, only sorting by name or creationTimestamp desc is supported. + * @opt_param string pageToken Specifies a page token to use. Set pageToken to + * the nextPageToken returned by a previous list request to get the next page of + * results. + * @return Google_Service_Compute_TargetSslProxyList + */ + public function listTargetSslProxies($project, $optParams = array()) + { + $params = array('project' => $project); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Compute_TargetSslProxyList"); + } + /** + * Changes the BackendService for TargetSslProxy. + * (targetSslProxies.setBackendService) + * + * @param string $project Project ID for this request. + * @param string $targetSslProxy Name of the TargetSslProxy resource whose + * BackendService resource is to be set. + * @param Google_Service_Compute_TargetSslProxiesSetBackendServiceRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Compute_Operation + */ + public function setBackendService($project, $targetSslProxy, Google_Service_Compute_TargetSslProxiesSetBackendServiceRequest $postBody, $optParams = array()) + { + $params = array('project' => $project, 'targetSslProxy' => $targetSslProxy, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('setBackendService', array($params), "Google_Service_Compute_Operation"); + } + /** + * Changes the ProxyHeaderType for TargetSslProxy. + * (targetSslProxies.setProxyHeader) + * + * @param string $project Project ID for this request. + * @param string $targetSslProxy Name of the TargetSslProxy resource whose + * ProxyHeader is to be set. + * @param Google_Service_Compute_TargetSslProxiesSetProxyHeaderRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Compute_Operation + */ + public function setProxyHeader($project, $targetSslProxy, Google_Service_Compute_TargetSslProxiesSetProxyHeaderRequest $postBody, $optParams = array()) + { + $params = array('project' => $project, 'targetSslProxy' => $targetSslProxy, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('setProxyHeader', array($params), "Google_Service_Compute_Operation"); + } + /** + * Changes SslCertificates for TargetSslProxy. + * (targetSslProxies.setSslCertificates) + * + * @param string $project Project ID for this request. + * @param string $targetSslProxy Name of the TargetSslProxy resource whose + * SslCertificate resource is to be set. + * @param Google_Service_Compute_TargetSslProxiesSetSslCertificatesRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Compute_Operation + */ + public function setSslCertificates($project, $targetSslProxy, Google_Service_Compute_TargetSslProxiesSetSslCertificatesRequest $postBody, $optParams = array()) + { + $params = array('project' => $project, 'targetSslProxy' => $targetSslProxy, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('setSslCertificates', array($params), "Google_Service_Compute_Operation"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/Resource/TargetVpnGateways.php b/vendor/google/apiclient-services/src/Google/Service/Compute/Resource/TargetVpnGateways.php new file mode 100644 index 00000000..a4dc75ab --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/Resource/TargetVpnGateways.php @@ -0,0 +1,190 @@ + + * $computeService = new Google_Service_Compute(...); + * $targetVpnGateways = $computeService->targetVpnGateways; + * + */ +class Google_Service_Compute_Resource_TargetVpnGateways extends Google_Service_Resource +{ + /** + * Retrieves an aggregated list of target VPN gateways. + * (targetVpnGateways.aggregatedList) + * + * @param string $project Project ID for this request. + * @param array $optParams Optional parameters. + * + * @opt_param string filter Sets a filter expression for filtering listed + * resources, in the form filter={expression}. Your {expression} must be in the + * format: field_name comparison_string literal_string. + * + * The field_name is the name of the field you want to compare. Only atomic + * field types are supported (string, number, boolean). The comparison_string + * must be either eq (equals) or ne (not equals). The literal_string is the + * string value to filter to. The literal value must be valid for the type of + * field you are filtering by (string, number, boolean). For string fields, the + * literal value is interpreted as a regular expression using RE2 syntax. The + * literal value must match the entire field. + * + * For example, to filter for instances that do not have a name of example- + * instance, you would use filter=name ne example-instance. + * + * You can filter on nested fields. For example, you could filter on instances + * that have set the scheduling.automaticRestart field to true. Use filtering on + * nested fields to take advantage of labels to organize and search for results + * based on label values. + * + * To filter on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us- + * central1-f). Multiple expressions are treated as AND expressions, meaning + * that resources must match all expressions to pass the filters. + * @opt_param string maxResults The maximum number of results per page that + * should be returned. If the number of available results is larger than + * maxResults, Compute Engine returns a nextPageToken that can be used to get + * the next page of results in subsequent list requests. Acceptable values are 0 + * to 500, inclusive. (Default: 500) + * @opt_param string orderBy Sorts list results by a certain order. By default, + * results are returned in alphanumerical order based on the resource name. + * + * You can also sort results in descending order based on the creation timestamp + * using orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result first). + * Use this to sort resources like operations so that the newest operation is + * returned first. + * + * Currently, only sorting by name or creationTimestamp desc is supported. + * @opt_param string pageToken Specifies a page token to use. Set pageToken to + * the nextPageToken returned by a previous list request to get the next page of + * results. + * @return Google_Service_Compute_TargetVpnGatewayAggregatedList + */ + public function aggregatedList($project, $optParams = array()) + { + $params = array('project' => $project); + $params = array_merge($params, $optParams); + return $this->call('aggregatedList', array($params), "Google_Service_Compute_TargetVpnGatewayAggregatedList"); + } + /** + * Deletes the specified target VPN gateway. (targetVpnGateways.delete) + * + * @param string $project Project ID for this request. + * @param string $region Name of the region for this request. + * @param string $targetVpnGateway Name of the target VPN gateway to delete. + * @param array $optParams Optional parameters. + * @return Google_Service_Compute_Operation + */ + public function delete($project, $region, $targetVpnGateway, $optParams = array()) + { + $params = array('project' => $project, 'region' => $region, 'targetVpnGateway' => $targetVpnGateway); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params), "Google_Service_Compute_Operation"); + } + /** + * Returns the specified target VPN gateway. Get a list of available target VPN + * gateways by making a list() request. (targetVpnGateways.get) + * + * @param string $project Project ID for this request. + * @param string $region Name of the region for this request. + * @param string $targetVpnGateway Name of the target VPN gateway to return. + * @param array $optParams Optional parameters. + * @return Google_Service_Compute_TargetVpnGateway + */ + public function get($project, $region, $targetVpnGateway, $optParams = array()) + { + $params = array('project' => $project, 'region' => $region, 'targetVpnGateway' => $targetVpnGateway); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Compute_TargetVpnGateway"); + } + /** + * Creates a target VPN gateway in the specified project and region using the + * data included in the request. (targetVpnGateways.insert) + * + * @param string $project Project ID for this request. + * @param string $region Name of the region for this request. + * @param Google_Service_Compute_TargetVpnGateway $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Compute_Operation + */ + public function insert($project, $region, Google_Service_Compute_TargetVpnGateway $postBody, $optParams = array()) + { + $params = array('project' => $project, 'region' => $region, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('insert', array($params), "Google_Service_Compute_Operation"); + } + /** + * Retrieves a list of target VPN gateways available to the specified project + * and region. (targetVpnGateways.listTargetVpnGateways) + * + * @param string $project Project ID for this request. + * @param string $region Name of the region for this request. + * @param array $optParams Optional parameters. + * + * @opt_param string filter Sets a filter expression for filtering listed + * resources, in the form filter={expression}. Your {expression} must be in the + * format: field_name comparison_string literal_string. + * + * The field_name is the name of the field you want to compare. Only atomic + * field types are supported (string, number, boolean). The comparison_string + * must be either eq (equals) or ne (not equals). The literal_string is the + * string value to filter to. The literal value must be valid for the type of + * field you are filtering by (string, number, boolean). For string fields, the + * literal value is interpreted as a regular expression using RE2 syntax. The + * literal value must match the entire field. + * + * For example, to filter for instances that do not have a name of example- + * instance, you would use filter=name ne example-instance. + * + * You can filter on nested fields. For example, you could filter on instances + * that have set the scheduling.automaticRestart field to true. Use filtering on + * nested fields to take advantage of labels to organize and search for results + * based on label values. + * + * To filter on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us- + * central1-f). Multiple expressions are treated as AND expressions, meaning + * that resources must match all expressions to pass the filters. + * @opt_param string maxResults The maximum number of results per page that + * should be returned. If the number of available results is larger than + * maxResults, Compute Engine returns a nextPageToken that can be used to get + * the next page of results in subsequent list requests. Acceptable values are 0 + * to 500, inclusive. (Default: 500) + * @opt_param string orderBy Sorts list results by a certain order. By default, + * results are returned in alphanumerical order based on the resource name. + * + * You can also sort results in descending order based on the creation timestamp + * using orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result first). + * Use this to sort resources like operations so that the newest operation is + * returned first. + * + * Currently, only sorting by name or creationTimestamp desc is supported. + * @opt_param string pageToken Specifies a page token to use. Set pageToken to + * the nextPageToken returned by a previous list request to get the next page of + * results. + * @return Google_Service_Compute_TargetVpnGatewayList + */ + public function listTargetVpnGateways($project, $region, $optParams = array()) + { + $params = array('project' => $project, 'region' => $region); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Compute_TargetVpnGatewayList"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/Resource/UrlMaps.php b/vendor/google/apiclient-services/src/Google/Service/Compute/Resource/UrlMaps.php new file mode 100644 index 00000000..3a3460d0 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/Resource/UrlMaps.php @@ -0,0 +1,194 @@ + + * $computeService = new Google_Service_Compute(...); + * $urlMaps = $computeService->urlMaps; + * + */ +class Google_Service_Compute_Resource_UrlMaps extends Google_Service_Resource +{ + /** + * Deletes the specified UrlMap resource. (urlMaps.delete) + * + * @param string $project Project ID for this request. + * @param string $urlMap Name of the UrlMap resource to delete. + * @param array $optParams Optional parameters. + * @return Google_Service_Compute_Operation + */ + public function delete($project, $urlMap, $optParams = array()) + { + $params = array('project' => $project, 'urlMap' => $urlMap); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params), "Google_Service_Compute_Operation"); + } + /** + * Returns the specified UrlMap resource. Get a list of available URL maps by + * making a list() request. (urlMaps.get) + * + * @param string $project Project ID for this request. + * @param string $urlMap Name of the UrlMap resource to return. + * @param array $optParams Optional parameters. + * @return Google_Service_Compute_UrlMap + */ + public function get($project, $urlMap, $optParams = array()) + { + $params = array('project' => $project, 'urlMap' => $urlMap); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Compute_UrlMap"); + } + /** + * Creates a UrlMap resource in the specified project using the data included in + * the request. (urlMaps.insert) + * + * @param string $project Project ID for this request. + * @param Google_Service_Compute_UrlMap $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Compute_Operation + */ + public function insert($project, Google_Service_Compute_UrlMap $postBody, $optParams = array()) + { + $params = array('project' => $project, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('insert', array($params), "Google_Service_Compute_Operation"); + } + /** + * Initiates a cache invalidation operation, invalidating the specified path, + * scoped to the specified UrlMap. (urlMaps.invalidateCache) + * + * @param string $project Project ID for this request. + * @param string $urlMap Name of the UrlMap scoping this request. + * @param Google_Service_Compute_CacheInvalidationRule $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Compute_Operation + */ + public function invalidateCache($project, $urlMap, Google_Service_Compute_CacheInvalidationRule $postBody, $optParams = array()) + { + $params = array('project' => $project, 'urlMap' => $urlMap, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('invalidateCache', array($params), "Google_Service_Compute_Operation"); + } + /** + * Retrieves the list of UrlMap resources available to the specified project. + * (urlMaps.listUrlMaps) + * + * @param string $project Project ID for this request. + * @param array $optParams Optional parameters. + * + * @opt_param string filter Sets a filter expression for filtering listed + * resources, in the form filter={expression}. Your {expression} must be in the + * format: field_name comparison_string literal_string. + * + * The field_name is the name of the field you want to compare. Only atomic + * field types are supported (string, number, boolean). The comparison_string + * must be either eq (equals) or ne (not equals). The literal_string is the + * string value to filter to. The literal value must be valid for the type of + * field you are filtering by (string, number, boolean). For string fields, the + * literal value is interpreted as a regular expression using RE2 syntax. The + * literal value must match the entire field. + * + * For example, to filter for instances that do not have a name of example- + * instance, you would use filter=name ne example-instance. + * + * You can filter on nested fields. For example, you could filter on instances + * that have set the scheduling.automaticRestart field to true. Use filtering on + * nested fields to take advantage of labels to organize and search for results + * based on label values. + * + * To filter on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us- + * central1-f). Multiple expressions are treated as AND expressions, meaning + * that resources must match all expressions to pass the filters. + * @opt_param string maxResults The maximum number of results per page that + * should be returned. If the number of available results is larger than + * maxResults, Compute Engine returns a nextPageToken that can be used to get + * the next page of results in subsequent list requests. Acceptable values are 0 + * to 500, inclusive. (Default: 500) + * @opt_param string orderBy Sorts list results by a certain order. By default, + * results are returned in alphanumerical order based on the resource name. + * + * You can also sort results in descending order based on the creation timestamp + * using orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result first). + * Use this to sort resources like operations so that the newest operation is + * returned first. + * + * Currently, only sorting by name or creationTimestamp desc is supported. + * @opt_param string pageToken Specifies a page token to use. Set pageToken to + * the nextPageToken returned by a previous list request to get the next page of + * results. + * @return Google_Service_Compute_UrlMapList + */ + public function listUrlMaps($project, $optParams = array()) + { + $params = array('project' => $project); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Compute_UrlMapList"); + } + /** + * Updates the specified UrlMap resource with the data included in the request. + * This method supports patch semantics. (urlMaps.patch) + * + * @param string $project Project ID for this request. + * @param string $urlMap Name of the UrlMap resource to update. + * @param Google_Service_Compute_UrlMap $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Compute_Operation + */ + public function patch($project, $urlMap, Google_Service_Compute_UrlMap $postBody, $optParams = array()) + { + $params = array('project' => $project, 'urlMap' => $urlMap, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('patch', array($params), "Google_Service_Compute_Operation"); + } + /** + * Updates the specified UrlMap resource with the data included in the request. + * (urlMaps.update) + * + * @param string $project Project ID for this request. + * @param string $urlMap Name of the UrlMap resource to update. + * @param Google_Service_Compute_UrlMap $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Compute_Operation + */ + public function update($project, $urlMap, Google_Service_Compute_UrlMap $postBody, $optParams = array()) + { + $params = array('project' => $project, 'urlMap' => $urlMap, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('update', array($params), "Google_Service_Compute_Operation"); + } + /** + * Runs static validation for the UrlMap. In particular, the tests of the + * provided UrlMap will be run. Calling this method does NOT create the UrlMap. + * (urlMaps.validate) + * + * @param string $project Project ID for this request. + * @param string $urlMap Name of the UrlMap resource to be validated as. + * @param Google_Service_Compute_UrlMapsValidateRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Compute_UrlMapsValidateResponse + */ + public function validate($project, $urlMap, Google_Service_Compute_UrlMapsValidateRequest $postBody, $optParams = array()) + { + $params = array('project' => $project, 'urlMap' => $urlMap, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('validate', array($params), "Google_Service_Compute_UrlMapsValidateResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/Resource/VpnTunnels.php b/vendor/google/apiclient-services/src/Google/Service/Compute/Resource/VpnTunnels.php new file mode 100644 index 00000000..4d9fd312 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/Resource/VpnTunnels.php @@ -0,0 +1,189 @@ + + * $computeService = new Google_Service_Compute(...); + * $vpnTunnels = $computeService->vpnTunnels; + * + */ +class Google_Service_Compute_Resource_VpnTunnels extends Google_Service_Resource +{ + /** + * Retrieves an aggregated list of VPN tunnels. (vpnTunnels.aggregatedList) + * + * @param string $project Project ID for this request. + * @param array $optParams Optional parameters. + * + * @opt_param string filter Sets a filter expression for filtering listed + * resources, in the form filter={expression}. Your {expression} must be in the + * format: field_name comparison_string literal_string. + * + * The field_name is the name of the field you want to compare. Only atomic + * field types are supported (string, number, boolean). The comparison_string + * must be either eq (equals) or ne (not equals). The literal_string is the + * string value to filter to. The literal value must be valid for the type of + * field you are filtering by (string, number, boolean). For string fields, the + * literal value is interpreted as a regular expression using RE2 syntax. The + * literal value must match the entire field. + * + * For example, to filter for instances that do not have a name of example- + * instance, you would use filter=name ne example-instance. + * + * You can filter on nested fields. For example, you could filter on instances + * that have set the scheduling.automaticRestart field to true. Use filtering on + * nested fields to take advantage of labels to organize and search for results + * based on label values. + * + * To filter on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us- + * central1-f). Multiple expressions are treated as AND expressions, meaning + * that resources must match all expressions to pass the filters. + * @opt_param string maxResults The maximum number of results per page that + * should be returned. If the number of available results is larger than + * maxResults, Compute Engine returns a nextPageToken that can be used to get + * the next page of results in subsequent list requests. Acceptable values are 0 + * to 500, inclusive. (Default: 500) + * @opt_param string orderBy Sorts list results by a certain order. By default, + * results are returned in alphanumerical order based on the resource name. + * + * You can also sort results in descending order based on the creation timestamp + * using orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result first). + * Use this to sort resources like operations so that the newest operation is + * returned first. + * + * Currently, only sorting by name or creationTimestamp desc is supported. + * @opt_param string pageToken Specifies a page token to use. Set pageToken to + * the nextPageToken returned by a previous list request to get the next page of + * results. + * @return Google_Service_Compute_VpnTunnelAggregatedList + */ + public function aggregatedList($project, $optParams = array()) + { + $params = array('project' => $project); + $params = array_merge($params, $optParams); + return $this->call('aggregatedList', array($params), "Google_Service_Compute_VpnTunnelAggregatedList"); + } + /** + * Deletes the specified VpnTunnel resource. (vpnTunnels.delete) + * + * @param string $project Project ID for this request. + * @param string $region Name of the region for this request. + * @param string $vpnTunnel Name of the VpnTunnel resource to delete. + * @param array $optParams Optional parameters. + * @return Google_Service_Compute_Operation + */ + public function delete($project, $region, $vpnTunnel, $optParams = array()) + { + $params = array('project' => $project, 'region' => $region, 'vpnTunnel' => $vpnTunnel); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params), "Google_Service_Compute_Operation"); + } + /** + * Returns the specified VpnTunnel resource. Get a list of available VPN tunnels + * by making a list() request. (vpnTunnels.get) + * + * @param string $project Project ID for this request. + * @param string $region Name of the region for this request. + * @param string $vpnTunnel Name of the VpnTunnel resource to return. + * @param array $optParams Optional parameters. + * @return Google_Service_Compute_VpnTunnel + */ + public function get($project, $region, $vpnTunnel, $optParams = array()) + { + $params = array('project' => $project, 'region' => $region, 'vpnTunnel' => $vpnTunnel); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Compute_VpnTunnel"); + } + /** + * Creates a VpnTunnel resource in the specified project and region using the + * data included in the request. (vpnTunnels.insert) + * + * @param string $project Project ID for this request. + * @param string $region Name of the region for this request. + * @param Google_Service_Compute_VpnTunnel $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Compute_Operation + */ + public function insert($project, $region, Google_Service_Compute_VpnTunnel $postBody, $optParams = array()) + { + $params = array('project' => $project, 'region' => $region, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('insert', array($params), "Google_Service_Compute_Operation"); + } + /** + * Retrieves a list of VpnTunnel resources contained in the specified project + * and region. (vpnTunnels.listVpnTunnels) + * + * @param string $project Project ID for this request. + * @param string $region Name of the region for this request. + * @param array $optParams Optional parameters. + * + * @opt_param string filter Sets a filter expression for filtering listed + * resources, in the form filter={expression}. Your {expression} must be in the + * format: field_name comparison_string literal_string. + * + * The field_name is the name of the field you want to compare. Only atomic + * field types are supported (string, number, boolean). The comparison_string + * must be either eq (equals) or ne (not equals). The literal_string is the + * string value to filter to. The literal value must be valid for the type of + * field you are filtering by (string, number, boolean). For string fields, the + * literal value is interpreted as a regular expression using RE2 syntax. The + * literal value must match the entire field. + * + * For example, to filter for instances that do not have a name of example- + * instance, you would use filter=name ne example-instance. + * + * You can filter on nested fields. For example, you could filter on instances + * that have set the scheduling.automaticRestart field to true. Use filtering on + * nested fields to take advantage of labels to organize and search for results + * based on label values. + * + * To filter on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us- + * central1-f). Multiple expressions are treated as AND expressions, meaning + * that resources must match all expressions to pass the filters. + * @opt_param string maxResults The maximum number of results per page that + * should be returned. If the number of available results is larger than + * maxResults, Compute Engine returns a nextPageToken that can be used to get + * the next page of results in subsequent list requests. Acceptable values are 0 + * to 500, inclusive. (Default: 500) + * @opt_param string orderBy Sorts list results by a certain order. By default, + * results are returned in alphanumerical order based on the resource name. + * + * You can also sort results in descending order based on the creation timestamp + * using orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result first). + * Use this to sort resources like operations so that the newest operation is + * returned first. + * + * Currently, only sorting by name or creationTimestamp desc is supported. + * @opt_param string pageToken Specifies a page token to use. Set pageToken to + * the nextPageToken returned by a previous list request to get the next page of + * results. + * @return Google_Service_Compute_VpnTunnelList + */ + public function listVpnTunnels($project, $region, $optParams = array()) + { + $params = array('project' => $project, 'region' => $region); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Compute_VpnTunnelList"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/Resource/ZoneOperations.php b/vendor/google/apiclient-services/src/Google/Service/Compute/Resource/ZoneOperations.php new file mode 100644 index 00000000..2c7117ca --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/Resource/ZoneOperations.php @@ -0,0 +1,117 @@ + + * $computeService = new Google_Service_Compute(...); + * $zoneOperations = $computeService->zoneOperations; + * + */ +class Google_Service_Compute_Resource_ZoneOperations extends Google_Service_Resource +{ + /** + * Deletes the specified zone-specific Operations resource. + * (zoneOperations.delete) + * + * @param string $project Project ID for this request. + * @param string $zone Name of the zone for this request. + * @param string $operation Name of the Operations resource to delete. + * @param array $optParams Optional parameters. + */ + public function delete($project, $zone, $operation, $optParams = array()) + { + $params = array('project' => $project, 'zone' => $zone, 'operation' => $operation); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params)); + } + /** + * Retrieves the specified zone-specific Operations resource. + * (zoneOperations.get) + * + * @param string $project Project ID for this request. + * @param string $zone Name of the zone for this request. + * @param string $operation Name of the Operations resource to return. + * @param array $optParams Optional parameters. + * @return Google_Service_Compute_Operation + */ + public function get($project, $zone, $operation, $optParams = array()) + { + $params = array('project' => $project, 'zone' => $zone, 'operation' => $operation); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Compute_Operation"); + } + /** + * Retrieves a list of Operation resources contained within the specified zone. + * (zoneOperations.listZoneOperations) + * + * @param string $project Project ID for this request. + * @param string $zone Name of the zone for request. + * @param array $optParams Optional parameters. + * + * @opt_param string filter Sets a filter expression for filtering listed + * resources, in the form filter={expression}. Your {expression} must be in the + * format: field_name comparison_string literal_string. + * + * The field_name is the name of the field you want to compare. Only atomic + * field types are supported (string, number, boolean). The comparison_string + * must be either eq (equals) or ne (not equals). The literal_string is the + * string value to filter to. The literal value must be valid for the type of + * field you are filtering by (string, number, boolean). For string fields, the + * literal value is interpreted as a regular expression using RE2 syntax. The + * literal value must match the entire field. + * + * For example, to filter for instances that do not have a name of example- + * instance, you would use filter=name ne example-instance. + * + * You can filter on nested fields. For example, you could filter on instances + * that have set the scheduling.automaticRestart field to true. Use filtering on + * nested fields to take advantage of labels to organize and search for results + * based on label values. + * + * To filter on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us- + * central1-f). Multiple expressions are treated as AND expressions, meaning + * that resources must match all expressions to pass the filters. + * @opt_param string maxResults The maximum number of results per page that + * should be returned. If the number of available results is larger than + * maxResults, Compute Engine returns a nextPageToken that can be used to get + * the next page of results in subsequent list requests. Acceptable values are 0 + * to 500, inclusive. (Default: 500) + * @opt_param string orderBy Sorts list results by a certain order. By default, + * results are returned in alphanumerical order based on the resource name. + * + * You can also sort results in descending order based on the creation timestamp + * using orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result first). + * Use this to sort resources like operations so that the newest operation is + * returned first. + * + * Currently, only sorting by name or creationTimestamp desc is supported. + * @opt_param string pageToken Specifies a page token to use. Set pageToken to + * the nextPageToken returned by a previous list request to get the next page of + * results. + * @return Google_Service_Compute_OperationList + */ + public function listZoneOperations($project, $zone, $optParams = array()) + { + $params = array('project' => $project, 'zone' => $zone); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Compute_OperationList"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/Resource/Zones.php b/vendor/google/apiclient-services/src/Google/Service/Compute/Resource/Zones.php new file mode 100644 index 00000000..7cb7a9ab --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/Resource/Zones.php @@ -0,0 +1,100 @@ + + * $computeService = new Google_Service_Compute(...); + * $zones = $computeService->zones; + * + */ +class Google_Service_Compute_Resource_Zones extends Google_Service_Resource +{ + /** + * Returns the specified Zone resource. Get a list of available zones by making + * a list() request. (zones.get) + * + * @param string $project Project ID for this request. + * @param string $zone Name of the zone resource to return. + * @param array $optParams Optional parameters. + * @return Google_Service_Compute_Zone + */ + public function get($project, $zone, $optParams = array()) + { + $params = array('project' => $project, 'zone' => $zone); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Compute_Zone"); + } + /** + * Retrieves the list of Zone resources available to the specified project. + * (zones.listZones) + * + * @param string $project Project ID for this request. + * @param array $optParams Optional parameters. + * + * @opt_param string filter Sets a filter expression for filtering listed + * resources, in the form filter={expression}. Your {expression} must be in the + * format: field_name comparison_string literal_string. + * + * The field_name is the name of the field you want to compare. Only atomic + * field types are supported (string, number, boolean). The comparison_string + * must be either eq (equals) or ne (not equals). The literal_string is the + * string value to filter to. The literal value must be valid for the type of + * field you are filtering by (string, number, boolean). For string fields, the + * literal value is interpreted as a regular expression using RE2 syntax. The + * literal value must match the entire field. + * + * For example, to filter for instances that do not have a name of example- + * instance, you would use filter=name ne example-instance. + * + * You can filter on nested fields. For example, you could filter on instances + * that have set the scheduling.automaticRestart field to true. Use filtering on + * nested fields to take advantage of labels to organize and search for results + * based on label values. + * + * To filter on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us- + * central1-f). Multiple expressions are treated as AND expressions, meaning + * that resources must match all expressions to pass the filters. + * @opt_param string maxResults The maximum number of results per page that + * should be returned. If the number of available results is larger than + * maxResults, Compute Engine returns a nextPageToken that can be used to get + * the next page of results in subsequent list requests. Acceptable values are 0 + * to 500, inclusive. (Default: 500) + * @opt_param string orderBy Sorts list results by a certain order. By default, + * results are returned in alphanumerical order based on the resource name. + * + * You can also sort results in descending order based on the creation timestamp + * using orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result first). + * Use this to sort resources like operations so that the newest operation is + * returned first. + * + * Currently, only sorting by name or creationTimestamp desc is supported. + * @opt_param string pageToken Specifies a page token to use. Set pageToken to + * the nextPageToken returned by a previous list request to get the next page of + * results. + * @return Google_Service_Compute_ZoneList + */ + public function listZones($project, $optParams = array()) + { + $params = array('project' => $project); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Compute_ZoneList"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/ResourceGroupReference.php b/vendor/google/apiclient-services/src/Google/Service/Compute/ResourceGroupReference.php new file mode 100644 index 00000000..aff90a0b --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/ResourceGroupReference.php @@ -0,0 +1,30 @@ +group = $group; + } + public function getGroup() + { + return $this->group; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/Route.php b/vendor/google/apiclient-services/src/Google/Service/Compute/Route.php new file mode 100644 index 00000000..115d95be --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/Route.php @@ -0,0 +1,167 @@ +creationTimestamp = $creationTimestamp; + } + public function getCreationTimestamp() + { + return $this->creationTimestamp; + } + public function setDescription($description) + { + $this->description = $description; + } + public function getDescription() + { + return $this->description; + } + public function setDestRange($destRange) + { + $this->destRange = $destRange; + } + public function getDestRange() + { + return $this->destRange; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setNetwork($network) + { + $this->network = $network; + } + public function getNetwork() + { + return $this->network; + } + public function setNextHopGateway($nextHopGateway) + { + $this->nextHopGateway = $nextHopGateway; + } + public function getNextHopGateway() + { + return $this->nextHopGateway; + } + public function setNextHopInstance($nextHopInstance) + { + $this->nextHopInstance = $nextHopInstance; + } + public function getNextHopInstance() + { + return $this->nextHopInstance; + } + public function setNextHopIp($nextHopIp) + { + $this->nextHopIp = $nextHopIp; + } + public function getNextHopIp() + { + return $this->nextHopIp; + } + public function setNextHopNetwork($nextHopNetwork) + { + $this->nextHopNetwork = $nextHopNetwork; + } + public function getNextHopNetwork() + { + return $this->nextHopNetwork; + } + public function setNextHopVpnTunnel($nextHopVpnTunnel) + { + $this->nextHopVpnTunnel = $nextHopVpnTunnel; + } + public function getNextHopVpnTunnel() + { + return $this->nextHopVpnTunnel; + } + public function setPriority($priority) + { + $this->priority = $priority; + } + public function getPriority() + { + return $this->priority; + } + public function setSelfLink($selfLink) + { + $this->selfLink = $selfLink; + } + public function getSelfLink() + { + return $this->selfLink; + } + public function setTags($tags) + { + $this->tags = $tags; + } + public function getTags() + { + return $this->tags; + } + public function setWarnings($warnings) + { + $this->warnings = $warnings; + } + public function getWarnings() + { + return $this->warnings; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/RouteList.php b/vendor/google/apiclient-services/src/Google/Service/Compute/RouteList.php new file mode 100644 index 00000000..8587856c --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/RouteList.php @@ -0,0 +1,68 @@ +id = $id; + } + public function getId() + { + return $this->id; + } + public function setItems($items) + { + $this->items = $items; + } + public function getItems() + { + return $this->items; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setSelfLink($selfLink) + { + $this->selfLink = $selfLink; + } + public function getSelfLink() + { + return $this->selfLink; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/RouteWarnings.php b/vendor/google/apiclient-services/src/Google/Service/Compute/RouteWarnings.php new file mode 100644 index 00000000..d41e2c71 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/RouteWarnings.php @@ -0,0 +1,50 @@ +code = $code; + } + public function getCode() + { + return $this->code; + } + public function setData($data) + { + $this->data = $data; + } + public function getData() + { + return $this->data; + } + public function setMessage($message) + { + $this->message = $message; + } + public function getMessage() + { + return $this->message; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/RouteWarningsData.php b/vendor/google/apiclient-services/src/Google/Service/Compute/RouteWarningsData.php new file mode 100644 index 00000000..19826730 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/RouteWarningsData.php @@ -0,0 +1,39 @@ +key = $key; + } + public function getKey() + { + return $this->key; + } + public function setValue($value) + { + $this->value = $value; + } + public function getValue() + { + return $this->value; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/Router.php b/vendor/google/apiclient-services/src/Google/Service/Compute/Router.php new file mode 100644 index 00000000..abcb67d6 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/Router.php @@ -0,0 +1,124 @@ +bgp = $bgp; + } + public function getBgp() + { + return $this->bgp; + } + public function setBgpPeers($bgpPeers) + { + $this->bgpPeers = $bgpPeers; + } + public function getBgpPeers() + { + return $this->bgpPeers; + } + public function setCreationTimestamp($creationTimestamp) + { + $this->creationTimestamp = $creationTimestamp; + } + public function getCreationTimestamp() + { + return $this->creationTimestamp; + } + public function setDescription($description) + { + $this->description = $description; + } + public function getDescription() + { + return $this->description; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setInterfaces($interfaces) + { + $this->interfaces = $interfaces; + } + public function getInterfaces() + { + return $this->interfaces; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setNetwork($network) + { + $this->network = $network; + } + public function getNetwork() + { + return $this->network; + } + public function setRegion($region) + { + $this->region = $region; + } + public function getRegion() + { + return $this->region; + } + public function setSelfLink($selfLink) + { + $this->selfLink = $selfLink; + } + public function getSelfLink() + { + return $this->selfLink; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/RouterAggregatedList.php b/vendor/google/apiclient-services/src/Google/Service/Compute/RouterAggregatedList.php new file mode 100644 index 00000000..fb5d0d93 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/RouterAggregatedList.php @@ -0,0 +1,67 @@ +id = $id; + } + public function getId() + { + return $this->id; + } + public function setItems($items) + { + $this->items = $items; + } + public function getItems() + { + return $this->items; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setSelfLink($selfLink) + { + $this->selfLink = $selfLink; + } + public function getSelfLink() + { + return $this->selfLink; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/RouterBgp.php b/vendor/google/apiclient-services/src/Google/Service/Compute/RouterBgp.php new file mode 100644 index 00000000..c7e25f65 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/RouterBgp.php @@ -0,0 +1,30 @@ +asn = $asn; + } + public function getAsn() + { + return $this->asn; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/RouterBgpPeer.php b/vendor/google/apiclient-services/src/Google/Service/Compute/RouterBgpPeer.php new file mode 100644 index 00000000..a65fb824 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/RouterBgpPeer.php @@ -0,0 +1,75 @@ +advertisedRoutePriority = $advertisedRoutePriority; + } + public function getAdvertisedRoutePriority() + { + return $this->advertisedRoutePriority; + } + public function setInterfaceName($interfaceName) + { + $this->interfaceName = $interfaceName; + } + public function getInterfaceName() + { + return $this->interfaceName; + } + public function setIpAddress($ipAddress) + { + $this->ipAddress = $ipAddress; + } + public function getIpAddress() + { + return $this->ipAddress; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setPeerAsn($peerAsn) + { + $this->peerAsn = $peerAsn; + } + public function getPeerAsn() + { + return $this->peerAsn; + } + public function setPeerIpAddress($peerIpAddress) + { + $this->peerIpAddress = $peerIpAddress; + } + public function getPeerIpAddress() + { + return $this->peerIpAddress; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/RouterInterface.php b/vendor/google/apiclient-services/src/Google/Service/Compute/RouterInterface.php new file mode 100644 index 00000000..af0bc908 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/RouterInterface.php @@ -0,0 +1,48 @@ +ipRange = $ipRange; + } + public function getIpRange() + { + return $this->ipRange; + } + public function setLinkedVpnTunnel($linkedVpnTunnel) + { + $this->linkedVpnTunnel = $linkedVpnTunnel; + } + public function getLinkedVpnTunnel() + { + return $this->linkedVpnTunnel; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/RouterList.php b/vendor/google/apiclient-services/src/Google/Service/Compute/RouterList.php new file mode 100644 index 00000000..146168d8 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/RouterList.php @@ -0,0 +1,68 @@ +id = $id; + } + public function getId() + { + return $this->id; + } + public function setItems($items) + { + $this->items = $items; + } + public function getItems() + { + return $this->items; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setSelfLink($selfLink) + { + $this->selfLink = $selfLink; + } + public function getSelfLink() + { + return $this->selfLink; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/RouterStatus.php b/vendor/google/apiclient-services/src/Google/Service/Compute/RouterStatus.php new file mode 100644 index 00000000..b737bc96 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/RouterStatus.php @@ -0,0 +1,51 @@ +bestRoutes = $bestRoutes; + } + public function getBestRoutes() + { + return $this->bestRoutes; + } + public function setBgpPeerStatus($bgpPeerStatus) + { + $this->bgpPeerStatus = $bgpPeerStatus; + } + public function getBgpPeerStatus() + { + return $this->bgpPeerStatus; + } + public function setNetwork($network) + { + $this->network = $network; + } + public function getNetwork() + { + return $this->network; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/RouterStatusBgpPeerStatus.php b/vendor/google/apiclient-services/src/Google/Service/Compute/RouterStatusBgpPeerStatus.php new file mode 100644 index 00000000..bc657b2b --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/RouterStatusBgpPeerStatus.php @@ -0,0 +1,113 @@ +advertisedRoutes = $advertisedRoutes; + } + public function getAdvertisedRoutes() + { + return $this->advertisedRoutes; + } + public function setIpAddress($ipAddress) + { + $this->ipAddress = $ipAddress; + } + public function getIpAddress() + { + return $this->ipAddress; + } + public function setLinkedVpnTunnel($linkedVpnTunnel) + { + $this->linkedVpnTunnel = $linkedVpnTunnel; + } + public function getLinkedVpnTunnel() + { + return $this->linkedVpnTunnel; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setNumLearnedRoutes($numLearnedRoutes) + { + $this->numLearnedRoutes = $numLearnedRoutes; + } + public function getNumLearnedRoutes() + { + return $this->numLearnedRoutes; + } + public function setPeerIpAddress($peerIpAddress) + { + $this->peerIpAddress = $peerIpAddress; + } + public function getPeerIpAddress() + { + return $this->peerIpAddress; + } + public function setState($state) + { + $this->state = $state; + } + public function getState() + { + return $this->state; + } + public function setStatus($status) + { + $this->status = $status; + } + public function getStatus() + { + return $this->status; + } + public function setUptime($uptime) + { + $this->uptime = $uptime; + } + public function getUptime() + { + return $this->uptime; + } + public function setUptimeSeconds($uptimeSeconds) + { + $this->uptimeSeconds = $uptimeSeconds; + } + public function getUptimeSeconds() + { + return $this->uptimeSeconds; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/RouterStatusResponse.php b/vendor/google/apiclient-services/src/Google/Service/Compute/RouterStatusResponse.php new file mode 100644 index 00000000..a78812e3 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/RouterStatusResponse.php @@ -0,0 +1,40 @@ +kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setResult(Google_Service_Compute_RouterStatus $result) + { + $this->result = $result; + } + public function getResult() + { + return $this->result; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/RoutersPreviewResponse.php b/vendor/google/apiclient-services/src/Google/Service/Compute/RoutersPreviewResponse.php new file mode 100644 index 00000000..79372e6d --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/RoutersPreviewResponse.php @@ -0,0 +1,31 @@ +resource = $resource; + } + public function getResource() + { + return $this->resource; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/RoutersScopedList.php b/vendor/google/apiclient-services/src/Google/Service/Compute/RoutersScopedList.php new file mode 100644 index 00000000..7f321f15 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/RoutersScopedList.php @@ -0,0 +1,42 @@ +routers = $routers; + } + public function getRouters() + { + return $this->routers; + } + public function setWarning(Google_Service_Compute_RoutersScopedListWarning $warning) + { + $this->warning = $warning; + } + public function getWarning() + { + return $this->warning; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/RoutersScopedListWarning.php b/vendor/google/apiclient-services/src/Google/Service/Compute/RoutersScopedListWarning.php new file mode 100644 index 00000000..0aa8c3ce --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/RoutersScopedListWarning.php @@ -0,0 +1,50 @@ +code = $code; + } + public function getCode() + { + return $this->code; + } + public function setData($data) + { + $this->data = $data; + } + public function getData() + { + return $this->data; + } + public function setMessage($message) + { + $this->message = $message; + } + public function getMessage() + { + return $this->message; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/RoutersScopedListWarningData.php b/vendor/google/apiclient-services/src/Google/Service/Compute/RoutersScopedListWarningData.php new file mode 100644 index 00000000..d4c75d1c --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/RoutersScopedListWarningData.php @@ -0,0 +1,39 @@ +key = $key; + } + public function getKey() + { + return $this->key; + } + public function setValue($value) + { + $this->value = $value; + } + public function getValue() + { + return $this->value; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/SSLHealthCheck.php b/vendor/google/apiclient-services/src/Google/Service/Compute/SSLHealthCheck.php new file mode 100644 index 00000000..8ba4fdef --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/SSLHealthCheck.php @@ -0,0 +1,66 @@ +port = $port; + } + public function getPort() + { + return $this->port; + } + public function setPortName($portName) + { + $this->portName = $portName; + } + public function getPortName() + { + return $this->portName; + } + public function setProxyHeader($proxyHeader) + { + $this->proxyHeader = $proxyHeader; + } + public function getProxyHeader() + { + return $this->proxyHeader; + } + public function setRequest($request) + { + $this->request = $request; + } + public function getRequest() + { + return $this->request; + } + public function setResponse($response) + { + $this->response = $response; + } + public function getResponse() + { + return $this->response; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/Scheduling.php b/vendor/google/apiclient-services/src/Google/Service/Compute/Scheduling.php new file mode 100644 index 00000000..cebeebb1 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/Scheduling.php @@ -0,0 +1,48 @@ +automaticRestart = $automaticRestart; + } + public function getAutomaticRestart() + { + return $this->automaticRestart; + } + public function setOnHostMaintenance($onHostMaintenance) + { + $this->onHostMaintenance = $onHostMaintenance; + } + public function getOnHostMaintenance() + { + return $this->onHostMaintenance; + } + public function setPreemptible($preemptible) + { + $this->preemptible = $preemptible; + } + public function getPreemptible() + { + return $this->preemptible; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/SerialPortOutput.php b/vendor/google/apiclient-services/src/Google/Service/Compute/SerialPortOutput.php new file mode 100644 index 00000000..79a96a7d --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/SerialPortOutput.php @@ -0,0 +1,66 @@ +contents = $contents; + } + public function getContents() + { + return $this->contents; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNext($next) + { + $this->next = $next; + } + public function getNext() + { + return $this->next; + } + public function setSelfLink($selfLink) + { + $this->selfLink = $selfLink; + } + public function getSelfLink() + { + return $this->selfLink; + } + public function setStart($start) + { + $this->start = $start; + } + public function getStart() + { + return $this->start; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/ServiceAccount.php b/vendor/google/apiclient-services/src/Google/Service/Compute/ServiceAccount.php new file mode 100644 index 00000000..c3f5df0b --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/ServiceAccount.php @@ -0,0 +1,40 @@ +email = $email; + } + public function getEmail() + { + return $this->email; + } + public function setScopes($scopes) + { + $this->scopes = $scopes; + } + public function getScopes() + { + return $this->scopes; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/Snapshot.php b/vendor/google/apiclient-services/src/Google/Service/Compute/Snapshot.php new file mode 100644 index 00000000..60616e74 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/Snapshot.php @@ -0,0 +1,159 @@ +creationTimestamp = $creationTimestamp; + } + public function getCreationTimestamp() + { + return $this->creationTimestamp; + } + public function setDescription($description) + { + $this->description = $description; + } + public function getDescription() + { + return $this->description; + } + public function setDiskSizeGb($diskSizeGb) + { + $this->diskSizeGb = $diskSizeGb; + } + public function getDiskSizeGb() + { + return $this->diskSizeGb; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setLicenses($licenses) + { + $this->licenses = $licenses; + } + public function getLicenses() + { + return $this->licenses; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setSelfLink($selfLink) + { + $this->selfLink = $selfLink; + } + public function getSelfLink() + { + return $this->selfLink; + } + public function setSnapshotEncryptionKey(Google_Service_Compute_CustomerEncryptionKey $snapshotEncryptionKey) + { + $this->snapshotEncryptionKey = $snapshotEncryptionKey; + } + public function getSnapshotEncryptionKey() + { + return $this->snapshotEncryptionKey; + } + public function setSourceDisk($sourceDisk) + { + $this->sourceDisk = $sourceDisk; + } + public function getSourceDisk() + { + return $this->sourceDisk; + } + public function setSourceDiskEncryptionKey(Google_Service_Compute_CustomerEncryptionKey $sourceDiskEncryptionKey) + { + $this->sourceDiskEncryptionKey = $sourceDiskEncryptionKey; + } + public function getSourceDiskEncryptionKey() + { + return $this->sourceDiskEncryptionKey; + } + public function setSourceDiskId($sourceDiskId) + { + $this->sourceDiskId = $sourceDiskId; + } + public function getSourceDiskId() + { + return $this->sourceDiskId; + } + public function setStatus($status) + { + $this->status = $status; + } + public function getStatus() + { + return $this->status; + } + public function setStorageBytes($storageBytes) + { + $this->storageBytes = $storageBytes; + } + public function getStorageBytes() + { + return $this->storageBytes; + } + public function setStorageBytesStatus($storageBytesStatus) + { + $this->storageBytesStatus = $storageBytesStatus; + } + public function getStorageBytesStatus() + { + return $this->storageBytesStatus; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/SnapshotList.php b/vendor/google/apiclient-services/src/Google/Service/Compute/SnapshotList.php new file mode 100644 index 00000000..0cce5fc9 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/SnapshotList.php @@ -0,0 +1,68 @@ +id = $id; + } + public function getId() + { + return $this->id; + } + public function setItems($items) + { + $this->items = $items; + } + public function getItems() + { + return $this->items; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setSelfLink($selfLink) + { + $this->selfLink = $selfLink; + } + public function getSelfLink() + { + return $this->selfLink; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/SslCertificate.php b/vendor/google/apiclient-services/src/Google/Service/Compute/SslCertificate.php new file mode 100644 index 00000000..e1b3425e --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/SslCertificate.php @@ -0,0 +1,93 @@ +certificate = $certificate; + } + public function getCertificate() + { + return $this->certificate; + } + public function setCreationTimestamp($creationTimestamp) + { + $this->creationTimestamp = $creationTimestamp; + } + public function getCreationTimestamp() + { + return $this->creationTimestamp; + } + public function setDescription($description) + { + $this->description = $description; + } + public function getDescription() + { + return $this->description; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setPrivateKey($privateKey) + { + $this->privateKey = $privateKey; + } + public function getPrivateKey() + { + return $this->privateKey; + } + public function setSelfLink($selfLink) + { + $this->selfLink = $selfLink; + } + public function getSelfLink() + { + return $this->selfLink; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/SslCertificateList.php b/vendor/google/apiclient-services/src/Google/Service/Compute/SslCertificateList.php new file mode 100644 index 00000000..14eeaf12 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/SslCertificateList.php @@ -0,0 +1,68 @@ +id = $id; + } + public function getId() + { + return $this->id; + } + public function setItems($items) + { + $this->items = $items; + } + public function getItems() + { + return $this->items; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setSelfLink($selfLink) + { + $this->selfLink = $selfLink; + } + public function getSelfLink() + { + return $this->selfLink; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/Subnetwork.php b/vendor/google/apiclient-services/src/Google/Service/Compute/Subnetwork.php new file mode 100644 index 00000000..a9253ed4 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/Subnetwork.php @@ -0,0 +1,111 @@ +creationTimestamp = $creationTimestamp; + } + public function getCreationTimestamp() + { + return $this->creationTimestamp; + } + public function setDescription($description) + { + $this->description = $description; + } + public function getDescription() + { + return $this->description; + } + public function setGatewayAddress($gatewayAddress) + { + $this->gatewayAddress = $gatewayAddress; + } + public function getGatewayAddress() + { + return $this->gatewayAddress; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setIpCidrRange($ipCidrRange) + { + $this->ipCidrRange = $ipCidrRange; + } + public function getIpCidrRange() + { + return $this->ipCidrRange; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setNetwork($network) + { + $this->network = $network; + } + public function getNetwork() + { + return $this->network; + } + public function setRegion($region) + { + $this->region = $region; + } + public function getRegion() + { + return $this->region; + } + public function setSelfLink($selfLink) + { + $this->selfLink = $selfLink; + } + public function getSelfLink() + { + return $this->selfLink; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/SubnetworkAggregatedList.php b/vendor/google/apiclient-services/src/Google/Service/Compute/SubnetworkAggregatedList.php new file mode 100644 index 00000000..454b55a5 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/SubnetworkAggregatedList.php @@ -0,0 +1,67 @@ +id = $id; + } + public function getId() + { + return $this->id; + } + public function setItems($items) + { + $this->items = $items; + } + public function getItems() + { + return $this->items; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setSelfLink($selfLink) + { + $this->selfLink = $selfLink; + } + public function getSelfLink() + { + return $this->selfLink; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/SubnetworkList.php b/vendor/google/apiclient-services/src/Google/Service/Compute/SubnetworkList.php new file mode 100644 index 00000000..5dcb4cfe --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/SubnetworkList.php @@ -0,0 +1,68 @@ +id = $id; + } + public function getId() + { + return $this->id; + } + public function setItems($items) + { + $this->items = $items; + } + public function getItems() + { + return $this->items; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setSelfLink($selfLink) + { + $this->selfLink = $selfLink; + } + public function getSelfLink() + { + return $this->selfLink; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/SubnetworksExpandIpCidrRangeRequest.php b/vendor/google/apiclient-services/src/Google/Service/Compute/SubnetworksExpandIpCidrRangeRequest.php new file mode 100644 index 00000000..d8bf7116 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/SubnetworksExpandIpCidrRangeRequest.php @@ -0,0 +1,30 @@ +ipCidrRange = $ipCidrRange; + } + public function getIpCidrRange() + { + return $this->ipCidrRange; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/SubnetworksScopedList.php b/vendor/google/apiclient-services/src/Google/Service/Compute/SubnetworksScopedList.php new file mode 100644 index 00000000..5ef2e8e6 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/SubnetworksScopedList.php @@ -0,0 +1,42 @@ +subnetworks = $subnetworks; + } + public function getSubnetworks() + { + return $this->subnetworks; + } + public function setWarning(Google_Service_Compute_SubnetworksScopedListWarning $warning) + { + $this->warning = $warning; + } + public function getWarning() + { + return $this->warning; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/SubnetworksScopedListWarning.php b/vendor/google/apiclient-services/src/Google/Service/Compute/SubnetworksScopedListWarning.php new file mode 100644 index 00000000..298eebb4 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/SubnetworksScopedListWarning.php @@ -0,0 +1,50 @@ +code = $code; + } + public function getCode() + { + return $this->code; + } + public function setData($data) + { + $this->data = $data; + } + public function getData() + { + return $this->data; + } + public function setMessage($message) + { + $this->message = $message; + } + public function getMessage() + { + return $this->message; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/SubnetworksScopedListWarningData.php b/vendor/google/apiclient-services/src/Google/Service/Compute/SubnetworksScopedListWarningData.php new file mode 100644 index 00000000..f83c966b --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/SubnetworksScopedListWarningData.php @@ -0,0 +1,39 @@ +key = $key; + } + public function getKey() + { + return $this->key; + } + public function setValue($value) + { + $this->value = $value; + } + public function getValue() + { + return $this->value; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/TCPHealthCheck.php b/vendor/google/apiclient-services/src/Google/Service/Compute/TCPHealthCheck.php new file mode 100644 index 00000000..0584c7ec --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/TCPHealthCheck.php @@ -0,0 +1,66 @@ +port = $port; + } + public function getPort() + { + return $this->port; + } + public function setPortName($portName) + { + $this->portName = $portName; + } + public function getPortName() + { + return $this->portName; + } + public function setProxyHeader($proxyHeader) + { + $this->proxyHeader = $proxyHeader; + } + public function getProxyHeader() + { + return $this->proxyHeader; + } + public function setRequest($request) + { + $this->request = $request; + } + public function getRequest() + { + return $this->request; + } + public function setResponse($response) + { + $this->response = $response; + } + public function getResponse() + { + return $this->response; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/Tags.php b/vendor/google/apiclient-services/src/Google/Service/Compute/Tags.php new file mode 100644 index 00000000..84321b75 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/Tags.php @@ -0,0 +1,40 @@ +fingerprint = $fingerprint; + } + public function getFingerprint() + { + return $this->fingerprint; + } + public function setItems($items) + { + $this->items = $items; + } + public function getItems() + { + return $this->items; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/TargetHttpProxy.php b/vendor/google/apiclient-services/src/Google/Service/Compute/TargetHttpProxy.php new file mode 100644 index 00000000..afdfe85b --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/TargetHttpProxy.php @@ -0,0 +1,84 @@ +creationTimestamp = $creationTimestamp; + } + public function getCreationTimestamp() + { + return $this->creationTimestamp; + } + public function setDescription($description) + { + $this->description = $description; + } + public function getDescription() + { + return $this->description; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setSelfLink($selfLink) + { + $this->selfLink = $selfLink; + } + public function getSelfLink() + { + return $this->selfLink; + } + public function setUrlMap($urlMap) + { + $this->urlMap = $urlMap; + } + public function getUrlMap() + { + return $this->urlMap; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/TargetHttpProxyList.php b/vendor/google/apiclient-services/src/Google/Service/Compute/TargetHttpProxyList.php new file mode 100644 index 00000000..d58d9dd3 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/TargetHttpProxyList.php @@ -0,0 +1,68 @@ +id = $id; + } + public function getId() + { + return $this->id; + } + public function setItems($items) + { + $this->items = $items; + } + public function getItems() + { + return $this->items; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setSelfLink($selfLink) + { + $this->selfLink = $selfLink; + } + public function getSelfLink() + { + return $this->selfLink; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/TargetHttpsProxiesSetSslCertificatesRequest.php b/vendor/google/apiclient-services/src/Google/Service/Compute/TargetHttpsProxiesSetSslCertificatesRequest.php new file mode 100644 index 00000000..73ef2fe9 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/TargetHttpsProxiesSetSslCertificatesRequest.php @@ -0,0 +1,31 @@ +sslCertificates = $sslCertificates; + } + public function getSslCertificates() + { + return $this->sslCertificates; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/TargetHttpsProxy.php b/vendor/google/apiclient-services/src/Google/Service/Compute/TargetHttpsProxy.php new file mode 100644 index 00000000..a945b6b4 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/TargetHttpsProxy.php @@ -0,0 +1,94 @@ +creationTimestamp = $creationTimestamp; + } + public function getCreationTimestamp() + { + return $this->creationTimestamp; + } + public function setDescription($description) + { + $this->description = $description; + } + public function getDescription() + { + return $this->description; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setSelfLink($selfLink) + { + $this->selfLink = $selfLink; + } + public function getSelfLink() + { + return $this->selfLink; + } + public function setSslCertificates($sslCertificates) + { + $this->sslCertificates = $sslCertificates; + } + public function getSslCertificates() + { + return $this->sslCertificates; + } + public function setUrlMap($urlMap) + { + $this->urlMap = $urlMap; + } + public function getUrlMap() + { + return $this->urlMap; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/TargetHttpsProxyList.php b/vendor/google/apiclient-services/src/Google/Service/Compute/TargetHttpsProxyList.php new file mode 100644 index 00000000..414156e7 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/TargetHttpsProxyList.php @@ -0,0 +1,68 @@ +id = $id; + } + public function getId() + { + return $this->id; + } + public function setItems($items) + { + $this->items = $items; + } + public function getItems() + { + return $this->items; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setSelfLink($selfLink) + { + $this->selfLink = $selfLink; + } + public function getSelfLink() + { + return $this->selfLink; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/TargetInstance.php b/vendor/google/apiclient-services/src/Google/Service/Compute/TargetInstance.php new file mode 100644 index 00000000..efc5d2b6 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/TargetInstance.php @@ -0,0 +1,102 @@ +creationTimestamp = $creationTimestamp; + } + public function getCreationTimestamp() + { + return $this->creationTimestamp; + } + public function setDescription($description) + { + $this->description = $description; + } + public function getDescription() + { + return $this->description; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setInstance($instance) + { + $this->instance = $instance; + } + public function getInstance() + { + return $this->instance; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setNatPolicy($natPolicy) + { + $this->natPolicy = $natPolicy; + } + public function getNatPolicy() + { + return $this->natPolicy; + } + public function setSelfLink($selfLink) + { + $this->selfLink = $selfLink; + } + public function getSelfLink() + { + return $this->selfLink; + } + public function setZone($zone) + { + $this->zone = $zone; + } + public function getZone() + { + return $this->zone; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/TargetInstanceAggregatedList.php b/vendor/google/apiclient-services/src/Google/Service/Compute/TargetInstanceAggregatedList.php new file mode 100644 index 00000000..fda5e3c5 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/TargetInstanceAggregatedList.php @@ -0,0 +1,67 @@ +id = $id; + } + public function getId() + { + return $this->id; + } + public function setItems($items) + { + $this->items = $items; + } + public function getItems() + { + return $this->items; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setSelfLink($selfLink) + { + $this->selfLink = $selfLink; + } + public function getSelfLink() + { + return $this->selfLink; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/TargetInstanceList.php b/vendor/google/apiclient-services/src/Google/Service/Compute/TargetInstanceList.php new file mode 100644 index 00000000..8419c6a5 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/TargetInstanceList.php @@ -0,0 +1,68 @@ +id = $id; + } + public function getId() + { + return $this->id; + } + public function setItems($items) + { + $this->items = $items; + } + public function getItems() + { + return $this->items; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setSelfLink($selfLink) + { + $this->selfLink = $selfLink; + } + public function getSelfLink() + { + return $this->selfLink; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/TargetInstancesScopedList.php b/vendor/google/apiclient-services/src/Google/Service/Compute/TargetInstancesScopedList.php new file mode 100644 index 00000000..fba4e82b --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/TargetInstancesScopedList.php @@ -0,0 +1,42 @@ +targetInstances = $targetInstances; + } + public function getTargetInstances() + { + return $this->targetInstances; + } + public function setWarning(Google_Service_Compute_TargetInstancesScopedListWarning $warning) + { + $this->warning = $warning; + } + public function getWarning() + { + return $this->warning; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/TargetInstancesScopedListWarning.php b/vendor/google/apiclient-services/src/Google/Service/Compute/TargetInstancesScopedListWarning.php new file mode 100644 index 00000000..15538355 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/TargetInstancesScopedListWarning.php @@ -0,0 +1,50 @@ +code = $code; + } + public function getCode() + { + return $this->code; + } + public function setData($data) + { + $this->data = $data; + } + public function getData() + { + return $this->data; + } + public function setMessage($message) + { + $this->message = $message; + } + public function getMessage() + { + return $this->message; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/TargetInstancesScopedListWarningData.php b/vendor/google/apiclient-services/src/Google/Service/Compute/TargetInstancesScopedListWarningData.php new file mode 100644 index 00000000..fa2252c7 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/TargetInstancesScopedListWarningData.php @@ -0,0 +1,39 @@ +key = $key; + } + public function getKey() + { + return $this->key; + } + public function setValue($value) + { + $this->value = $value; + } + public function getValue() + { + return $this->value; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/TargetPool.php b/vendor/google/apiclient-services/src/Google/Service/Compute/TargetPool.php new file mode 100644 index 00000000..1e714d32 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/TargetPool.php @@ -0,0 +1,130 @@ +backupPool = $backupPool; + } + public function getBackupPool() + { + return $this->backupPool; + } + public function setCreationTimestamp($creationTimestamp) + { + $this->creationTimestamp = $creationTimestamp; + } + public function getCreationTimestamp() + { + return $this->creationTimestamp; + } + public function setDescription($description) + { + $this->description = $description; + } + public function getDescription() + { + return $this->description; + } + public function setFailoverRatio($failoverRatio) + { + $this->failoverRatio = $failoverRatio; + } + public function getFailoverRatio() + { + return $this->failoverRatio; + } + public function setHealthChecks($healthChecks) + { + $this->healthChecks = $healthChecks; + } + public function getHealthChecks() + { + return $this->healthChecks; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setInstances($instances) + { + $this->instances = $instances; + } + public function getInstances() + { + return $this->instances; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setRegion($region) + { + $this->region = $region; + } + public function getRegion() + { + return $this->region; + } + public function setSelfLink($selfLink) + { + $this->selfLink = $selfLink; + } + public function getSelfLink() + { + return $this->selfLink; + } + public function setSessionAffinity($sessionAffinity) + { + $this->sessionAffinity = $sessionAffinity; + } + public function getSessionAffinity() + { + return $this->sessionAffinity; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/TargetPoolAggregatedList.php b/vendor/google/apiclient-services/src/Google/Service/Compute/TargetPoolAggregatedList.php new file mode 100644 index 00000000..d3d8199f --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/TargetPoolAggregatedList.php @@ -0,0 +1,67 @@ +id = $id; + } + public function getId() + { + return $this->id; + } + public function setItems($items) + { + $this->items = $items; + } + public function getItems() + { + return $this->items; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setSelfLink($selfLink) + { + $this->selfLink = $selfLink; + } + public function getSelfLink() + { + return $this->selfLink; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/TargetPoolInstanceHealth.php b/vendor/google/apiclient-services/src/Google/Service/Compute/TargetPoolInstanceHealth.php new file mode 100644 index 00000000..2c452132 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/TargetPoolInstanceHealth.php @@ -0,0 +1,41 @@ +healthStatus = $healthStatus; + } + public function getHealthStatus() + { + return $this->healthStatus; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/TargetPoolList.php b/vendor/google/apiclient-services/src/Google/Service/Compute/TargetPoolList.php new file mode 100644 index 00000000..9ef1a0bd --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/TargetPoolList.php @@ -0,0 +1,68 @@ +id = $id; + } + public function getId() + { + return $this->id; + } + public function setItems($items) + { + $this->items = $items; + } + public function getItems() + { + return $this->items; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setSelfLink($selfLink) + { + $this->selfLink = $selfLink; + } + public function getSelfLink() + { + return $this->selfLink; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/TargetPoolsAddHealthCheckRequest.php b/vendor/google/apiclient-services/src/Google/Service/Compute/TargetPoolsAddHealthCheckRequest.php new file mode 100644 index 00000000..f4a05e03 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/TargetPoolsAddHealthCheckRequest.php @@ -0,0 +1,32 @@ +healthChecks = $healthChecks; + } + public function getHealthChecks() + { + return $this->healthChecks; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/TargetPoolsAddInstanceRequest.php b/vendor/google/apiclient-services/src/Google/Service/Compute/TargetPoolsAddInstanceRequest.php new file mode 100644 index 00000000..97005f79 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/TargetPoolsAddInstanceRequest.php @@ -0,0 +1,32 @@ +instances = $instances; + } + public function getInstances() + { + return $this->instances; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/TargetPoolsRemoveHealthCheckRequest.php b/vendor/google/apiclient-services/src/Google/Service/Compute/TargetPoolsRemoveHealthCheckRequest.php new file mode 100644 index 00000000..964f8fa1 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/TargetPoolsRemoveHealthCheckRequest.php @@ -0,0 +1,32 @@ +healthChecks = $healthChecks; + } + public function getHealthChecks() + { + return $this->healthChecks; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/TargetPoolsRemoveInstanceRequest.php b/vendor/google/apiclient-services/src/Google/Service/Compute/TargetPoolsRemoveInstanceRequest.php new file mode 100644 index 00000000..ab2b5713 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/TargetPoolsRemoveInstanceRequest.php @@ -0,0 +1,32 @@ +instances = $instances; + } + public function getInstances() + { + return $this->instances; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/TargetPoolsScopedList.php b/vendor/google/apiclient-services/src/Google/Service/Compute/TargetPoolsScopedList.php new file mode 100644 index 00000000..b444054f --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/TargetPoolsScopedList.php @@ -0,0 +1,42 @@ +targetPools = $targetPools; + } + public function getTargetPools() + { + return $this->targetPools; + } + public function setWarning(Google_Service_Compute_TargetPoolsScopedListWarning $warning) + { + $this->warning = $warning; + } + public function getWarning() + { + return $this->warning; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/TargetPoolsScopedListWarning.php b/vendor/google/apiclient-services/src/Google/Service/Compute/TargetPoolsScopedListWarning.php new file mode 100644 index 00000000..d15ea6eb --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/TargetPoolsScopedListWarning.php @@ -0,0 +1,50 @@ +code = $code; + } + public function getCode() + { + return $this->code; + } + public function setData($data) + { + $this->data = $data; + } + public function getData() + { + return $this->data; + } + public function setMessage($message) + { + $this->message = $message; + } + public function getMessage() + { + return $this->message; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/TargetPoolsScopedListWarningData.php b/vendor/google/apiclient-services/src/Google/Service/Compute/TargetPoolsScopedListWarningData.php new file mode 100644 index 00000000..907436bf --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/TargetPoolsScopedListWarningData.php @@ -0,0 +1,39 @@ +key = $key; + } + public function getKey() + { + return $this->key; + } + public function setValue($value) + { + $this->value = $value; + } + public function getValue() + { + return $this->value; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/TargetReference.php b/vendor/google/apiclient-services/src/Google/Service/Compute/TargetReference.php new file mode 100644 index 00000000..d07481b9 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/TargetReference.php @@ -0,0 +1,30 @@ +target = $target; + } + public function getTarget() + { + return $this->target; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/TargetSslProxiesSetBackendServiceRequest.php b/vendor/google/apiclient-services/src/Google/Service/Compute/TargetSslProxiesSetBackendServiceRequest.php new file mode 100644 index 00000000..b0e7a3f5 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/TargetSslProxiesSetBackendServiceRequest.php @@ -0,0 +1,30 @@ +service = $service; + } + public function getService() + { + return $this->service; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/TargetSslProxiesSetProxyHeaderRequest.php b/vendor/google/apiclient-services/src/Google/Service/Compute/TargetSslProxiesSetProxyHeaderRequest.php new file mode 100644 index 00000000..fd4336d7 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/TargetSslProxiesSetProxyHeaderRequest.php @@ -0,0 +1,30 @@ +proxyHeader = $proxyHeader; + } + public function getProxyHeader() + { + return $this->proxyHeader; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/TargetSslProxiesSetSslCertificatesRequest.php b/vendor/google/apiclient-services/src/Google/Service/Compute/TargetSslProxiesSetSslCertificatesRequest.php new file mode 100644 index 00000000..6bb01ee4 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/TargetSslProxiesSetSslCertificatesRequest.php @@ -0,0 +1,31 @@ +sslCertificates = $sslCertificates; + } + public function getSslCertificates() + { + return $this->sslCertificates; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/TargetSslProxy.php b/vendor/google/apiclient-services/src/Google/Service/Compute/TargetSslProxy.php new file mode 100644 index 00000000..f61f8bc7 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/TargetSslProxy.php @@ -0,0 +1,103 @@ +creationTimestamp = $creationTimestamp; + } + public function getCreationTimestamp() + { + return $this->creationTimestamp; + } + public function setDescription($description) + { + $this->description = $description; + } + public function getDescription() + { + return $this->description; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setProxyHeader($proxyHeader) + { + $this->proxyHeader = $proxyHeader; + } + public function getProxyHeader() + { + return $this->proxyHeader; + } + public function setSelfLink($selfLink) + { + $this->selfLink = $selfLink; + } + public function getSelfLink() + { + return $this->selfLink; + } + public function setService($service) + { + $this->service = $service; + } + public function getService() + { + return $this->service; + } + public function setSslCertificates($sslCertificates) + { + $this->sslCertificates = $sslCertificates; + } + public function getSslCertificates() + { + return $this->sslCertificates; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/TargetSslProxyList.php b/vendor/google/apiclient-services/src/Google/Service/Compute/TargetSslProxyList.php new file mode 100644 index 00000000..1cbd310d --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/TargetSslProxyList.php @@ -0,0 +1,68 @@ +id = $id; + } + public function getId() + { + return $this->id; + } + public function setItems($items) + { + $this->items = $items; + } + public function getItems() + { + return $this->items; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setSelfLink($selfLink) + { + $this->selfLink = $selfLink; + } + public function getSelfLink() + { + return $this->selfLink; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/TargetVpnGateway.php b/vendor/google/apiclient-services/src/Google/Service/Compute/TargetVpnGateway.php new file mode 100644 index 00000000..08a13f7f --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/TargetVpnGateway.php @@ -0,0 +1,121 @@ +creationTimestamp = $creationTimestamp; + } + public function getCreationTimestamp() + { + return $this->creationTimestamp; + } + public function setDescription($description) + { + $this->description = $description; + } + public function getDescription() + { + return $this->description; + } + public function setForwardingRules($forwardingRules) + { + $this->forwardingRules = $forwardingRules; + } + public function getForwardingRules() + { + return $this->forwardingRules; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setNetwork($network) + { + $this->network = $network; + } + public function getNetwork() + { + return $this->network; + } + public function setRegion($region) + { + $this->region = $region; + } + public function getRegion() + { + return $this->region; + } + public function setSelfLink($selfLink) + { + $this->selfLink = $selfLink; + } + public function getSelfLink() + { + return $this->selfLink; + } + public function setStatus($status) + { + $this->status = $status; + } + public function getStatus() + { + return $this->status; + } + public function setTunnels($tunnels) + { + $this->tunnels = $tunnels; + } + public function getTunnels() + { + return $this->tunnels; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/TargetVpnGatewayAggregatedList.php b/vendor/google/apiclient-services/src/Google/Service/Compute/TargetVpnGatewayAggregatedList.php new file mode 100644 index 00000000..e85fc8b5 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/TargetVpnGatewayAggregatedList.php @@ -0,0 +1,67 @@ +id = $id; + } + public function getId() + { + return $this->id; + } + public function setItems($items) + { + $this->items = $items; + } + public function getItems() + { + return $this->items; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setSelfLink($selfLink) + { + $this->selfLink = $selfLink; + } + public function getSelfLink() + { + return $this->selfLink; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/TargetVpnGatewayList.php b/vendor/google/apiclient-services/src/Google/Service/Compute/TargetVpnGatewayList.php new file mode 100644 index 00000000..d81e2c1b --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/TargetVpnGatewayList.php @@ -0,0 +1,68 @@ +id = $id; + } + public function getId() + { + return $this->id; + } + public function setItems($items) + { + $this->items = $items; + } + public function getItems() + { + return $this->items; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setSelfLink($selfLink) + { + $this->selfLink = $selfLink; + } + public function getSelfLink() + { + return $this->selfLink; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/TargetVpnGatewaysScopedList.php b/vendor/google/apiclient-services/src/Google/Service/Compute/TargetVpnGatewaysScopedList.php new file mode 100644 index 00000000..b09c456d --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/TargetVpnGatewaysScopedList.php @@ -0,0 +1,42 @@ +targetVpnGateways = $targetVpnGateways; + } + public function getTargetVpnGateways() + { + return $this->targetVpnGateways; + } + public function setWarning(Google_Service_Compute_TargetVpnGatewaysScopedListWarning $warning) + { + $this->warning = $warning; + } + public function getWarning() + { + return $this->warning; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/TargetVpnGatewaysScopedListWarning.php b/vendor/google/apiclient-services/src/Google/Service/Compute/TargetVpnGatewaysScopedListWarning.php new file mode 100644 index 00000000..048886fa --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/TargetVpnGatewaysScopedListWarning.php @@ -0,0 +1,50 @@ +code = $code; + } + public function getCode() + { + return $this->code; + } + public function setData($data) + { + $this->data = $data; + } + public function getData() + { + return $this->data; + } + public function setMessage($message) + { + $this->message = $message; + } + public function getMessage() + { + return $this->message; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/TargetVpnGatewaysScopedListWarningData.php b/vendor/google/apiclient-services/src/Google/Service/Compute/TargetVpnGatewaysScopedListWarningData.php new file mode 100644 index 00000000..fc7b4d7e --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/TargetVpnGatewaysScopedListWarningData.php @@ -0,0 +1,39 @@ +key = $key; + } + public function getKey() + { + return $this->key; + } + public function setValue($value) + { + $this->value = $value; + } + public function getValue() + { + return $this->value; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/TestFailure.php b/vendor/google/apiclient-services/src/Google/Service/Compute/TestFailure.php new file mode 100644 index 00000000..266d2b63 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/TestFailure.php @@ -0,0 +1,57 @@ +actualService = $actualService; + } + public function getActualService() + { + return $this->actualService; + } + public function setExpectedService($expectedService) + { + $this->expectedService = $expectedService; + } + public function getExpectedService() + { + return $this->expectedService; + } + public function setHost($host) + { + $this->host = $host; + } + public function getHost() + { + return $this->host; + } + public function setPath($path) + { + $this->path = $path; + } + public function getPath() + { + return $this->path; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/UrlMap.php b/vendor/google/apiclient-services/src/Google/Service/Compute/UrlMap.php new file mode 100644 index 00000000..9ab743ba --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/UrlMap.php @@ -0,0 +1,124 @@ +creationTimestamp = $creationTimestamp; + } + public function getCreationTimestamp() + { + return $this->creationTimestamp; + } + public function setDefaultService($defaultService) + { + $this->defaultService = $defaultService; + } + public function getDefaultService() + { + return $this->defaultService; + } + public function setDescription($description) + { + $this->description = $description; + } + public function getDescription() + { + return $this->description; + } + public function setFingerprint($fingerprint) + { + $this->fingerprint = $fingerprint; + } + public function getFingerprint() + { + return $this->fingerprint; + } + public function setHostRules($hostRules) + { + $this->hostRules = $hostRules; + } + public function getHostRules() + { + return $this->hostRules; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setPathMatchers($pathMatchers) + { + $this->pathMatchers = $pathMatchers; + } + public function getPathMatchers() + { + return $this->pathMatchers; + } + public function setSelfLink($selfLink) + { + $this->selfLink = $selfLink; + } + public function getSelfLink() + { + return $this->selfLink; + } + public function setTests($tests) + { + $this->tests = $tests; + } + public function getTests() + { + return $this->tests; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/UrlMapList.php b/vendor/google/apiclient-services/src/Google/Service/Compute/UrlMapList.php new file mode 100644 index 00000000..c3e90e18 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/UrlMapList.php @@ -0,0 +1,68 @@ +id = $id; + } + public function getId() + { + return $this->id; + } + public function setItems($items) + { + $this->items = $items; + } + public function getItems() + { + return $this->items; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setSelfLink($selfLink) + { + $this->selfLink = $selfLink; + } + public function getSelfLink() + { + return $this->selfLink; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/UrlMapReference.php b/vendor/google/apiclient-services/src/Google/Service/Compute/UrlMapReference.php new file mode 100644 index 00000000..99f5e30a --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/UrlMapReference.php @@ -0,0 +1,30 @@ +urlMap = $urlMap; + } + public function getUrlMap() + { + return $this->urlMap; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/UrlMapTest.php b/vendor/google/apiclient-services/src/Google/Service/Compute/UrlMapTest.php new file mode 100644 index 00000000..2d2479e8 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/UrlMapTest.php @@ -0,0 +1,57 @@ +description = $description; + } + public function getDescription() + { + return $this->description; + } + public function setHost($host) + { + $this->host = $host; + } + public function getHost() + { + return $this->host; + } + public function setPath($path) + { + $this->path = $path; + } + public function getPath() + { + return $this->path; + } + public function setService($service) + { + $this->service = $service; + } + public function getService() + { + return $this->service; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/UrlMapValidationResult.php b/vendor/google/apiclient-services/src/Google/Service/Compute/UrlMapValidationResult.php new file mode 100644 index 00000000..6a0b5d34 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/UrlMapValidationResult.php @@ -0,0 +1,59 @@ +loadErrors = $loadErrors; + } + public function getLoadErrors() + { + return $this->loadErrors; + } + public function setLoadSucceeded($loadSucceeded) + { + $this->loadSucceeded = $loadSucceeded; + } + public function getLoadSucceeded() + { + return $this->loadSucceeded; + } + public function setTestFailures($testFailures) + { + $this->testFailures = $testFailures; + } + public function getTestFailures() + { + return $this->testFailures; + } + public function setTestPassed($testPassed) + { + $this->testPassed = $testPassed; + } + public function getTestPassed() + { + return $this->testPassed; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/UrlMapsValidateRequest.php b/vendor/google/apiclient-services/src/Google/Service/Compute/UrlMapsValidateRequest.php new file mode 100644 index 00000000..5e9b6084 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/UrlMapsValidateRequest.php @@ -0,0 +1,31 @@ +resource = $resource; + } + public function getResource() + { + return $this->resource; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/UrlMapsValidateResponse.php b/vendor/google/apiclient-services/src/Google/Service/Compute/UrlMapsValidateResponse.php new file mode 100644 index 00000000..8da23749 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/UrlMapsValidateResponse.php @@ -0,0 +1,31 @@ +result = $result; + } + public function getResult() + { + return $this->result; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/UsageExportLocation.php b/vendor/google/apiclient-services/src/Google/Service/Compute/UsageExportLocation.php new file mode 100644 index 00000000..13c7d580 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/UsageExportLocation.php @@ -0,0 +1,39 @@ +bucketName = $bucketName; + } + public function getBucketName() + { + return $this->bucketName; + } + public function setReportNamePrefix($reportNamePrefix) + { + $this->reportNamePrefix = $reportNamePrefix; + } + public function getReportNamePrefix() + { + return $this->reportNamePrefix; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/VpnTunnel.php b/vendor/google/apiclient-services/src/Google/Service/Compute/VpnTunnel.php new file mode 100644 index 00000000..6ac775bf --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/VpnTunnel.php @@ -0,0 +1,175 @@ +creationTimestamp = $creationTimestamp; + } + public function getCreationTimestamp() + { + return $this->creationTimestamp; + } + public function setDescription($description) + { + $this->description = $description; + } + public function getDescription() + { + return $this->description; + } + public function setDetailedStatus($detailedStatus) + { + $this->detailedStatus = $detailedStatus; + } + public function getDetailedStatus() + { + return $this->detailedStatus; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setIkeVersion($ikeVersion) + { + $this->ikeVersion = $ikeVersion; + } + public function getIkeVersion() + { + return $this->ikeVersion; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setLocalTrafficSelector($localTrafficSelector) + { + $this->localTrafficSelector = $localTrafficSelector; + } + public function getLocalTrafficSelector() + { + return $this->localTrafficSelector; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setPeerIp($peerIp) + { + $this->peerIp = $peerIp; + } + public function getPeerIp() + { + return $this->peerIp; + } + public function setRegion($region) + { + $this->region = $region; + } + public function getRegion() + { + return $this->region; + } + public function setRemoteTrafficSelector($remoteTrafficSelector) + { + $this->remoteTrafficSelector = $remoteTrafficSelector; + } + public function getRemoteTrafficSelector() + { + return $this->remoteTrafficSelector; + } + public function setRouter($router) + { + $this->router = $router; + } + public function getRouter() + { + return $this->router; + } + public function setSelfLink($selfLink) + { + $this->selfLink = $selfLink; + } + public function getSelfLink() + { + return $this->selfLink; + } + public function setSharedSecret($sharedSecret) + { + $this->sharedSecret = $sharedSecret; + } + public function getSharedSecret() + { + return $this->sharedSecret; + } + public function setSharedSecretHash($sharedSecretHash) + { + $this->sharedSecretHash = $sharedSecretHash; + } + public function getSharedSecretHash() + { + return $this->sharedSecretHash; + } + public function setStatus($status) + { + $this->status = $status; + } + public function getStatus() + { + return $this->status; + } + public function setTargetVpnGateway($targetVpnGateway) + { + $this->targetVpnGateway = $targetVpnGateway; + } + public function getTargetVpnGateway() + { + return $this->targetVpnGateway; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/VpnTunnelAggregatedList.php b/vendor/google/apiclient-services/src/Google/Service/Compute/VpnTunnelAggregatedList.php new file mode 100644 index 00000000..999c68e2 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/VpnTunnelAggregatedList.php @@ -0,0 +1,67 @@ +id = $id; + } + public function getId() + { + return $this->id; + } + public function setItems($items) + { + $this->items = $items; + } + public function getItems() + { + return $this->items; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setSelfLink($selfLink) + { + $this->selfLink = $selfLink; + } + public function getSelfLink() + { + return $this->selfLink; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/VpnTunnelList.php b/vendor/google/apiclient-services/src/Google/Service/Compute/VpnTunnelList.php new file mode 100644 index 00000000..ce35247f --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/VpnTunnelList.php @@ -0,0 +1,68 @@ +id = $id; + } + public function getId() + { + return $this->id; + } + public function setItems($items) + { + $this->items = $items; + } + public function getItems() + { + return $this->items; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setSelfLink($selfLink) + { + $this->selfLink = $selfLink; + } + public function getSelfLink() + { + return $this->selfLink; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/VpnTunnelsScopedList.php b/vendor/google/apiclient-services/src/Google/Service/Compute/VpnTunnelsScopedList.php new file mode 100644 index 00000000..2f961f7a --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/VpnTunnelsScopedList.php @@ -0,0 +1,42 @@ +vpnTunnels = $vpnTunnels; + } + public function getVpnTunnels() + { + return $this->vpnTunnels; + } + public function setWarning(Google_Service_Compute_VpnTunnelsScopedListWarning $warning) + { + $this->warning = $warning; + } + public function getWarning() + { + return $this->warning; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/VpnTunnelsScopedListWarning.php b/vendor/google/apiclient-services/src/Google/Service/Compute/VpnTunnelsScopedListWarning.php new file mode 100644 index 00000000..aaae80a6 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/VpnTunnelsScopedListWarning.php @@ -0,0 +1,50 @@ +code = $code; + } + public function getCode() + { + return $this->code; + } + public function setData($data) + { + $this->data = $data; + } + public function getData() + { + return $this->data; + } + public function setMessage($message) + { + $this->message = $message; + } + public function getMessage() + { + return $this->message; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/VpnTunnelsScopedListWarningData.php b/vendor/google/apiclient-services/src/Google/Service/Compute/VpnTunnelsScopedListWarningData.php new file mode 100644 index 00000000..bee2d992 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/VpnTunnelsScopedListWarningData.php @@ -0,0 +1,39 @@ +key = $key; + } + public function getKey() + { + return $this->key; + } + public function setValue($value) + { + $this->value = $value; + } + public function getValue() + { + return $this->value; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/Zone.php b/vendor/google/apiclient-services/src/Google/Service/Compute/Zone.php new file mode 100644 index 00000000..744e13ad --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/Zone.php @@ -0,0 +1,103 @@ +creationTimestamp = $creationTimestamp; + } + public function getCreationTimestamp() + { + return $this->creationTimestamp; + } + public function setDeprecated(Google_Service_Compute_DeprecationStatus $deprecated) + { + $this->deprecated = $deprecated; + } + public function getDeprecated() + { + return $this->deprecated; + } + public function setDescription($description) + { + $this->description = $description; + } + public function getDescription() + { + return $this->description; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setRegion($region) + { + $this->region = $region; + } + public function getRegion() + { + return $this->region; + } + public function setSelfLink($selfLink) + { + $this->selfLink = $selfLink; + } + public function getSelfLink() + { + return $this->selfLink; + } + public function setStatus($status) + { + $this->status = $status; + } + public function getStatus() + { + return $this->status; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Compute/ZoneList.php b/vendor/google/apiclient-services/src/Google/Service/Compute/ZoneList.php new file mode 100644 index 00000000..0cc44199 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Compute/ZoneList.php @@ -0,0 +1,68 @@ +id = $id; + } + public function getId() + { + return $this->id; + } + public function setItems($items) + { + $this->items = $items; + } + public function getItems() + { + return $this->items; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setSelfLink($selfLink) + { + $this->selfLink = $selfLink; + } + public function getSelfLink() + { + return $this->selfLink; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ConsumerSurveys.php b/vendor/google/apiclient-services/src/Google/Service/ConsumerSurveys.php new file mode 100644 index 00000000..bcf53834 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ConsumerSurveys.php @@ -0,0 +1,210 @@ + + * Creates and conducts surveys, lists the surveys that an authenticated user + * owns, and retrieves survey results and information about specified surveys.

+ * + *

+ * For more information about this service, see the API + * Documentation + *

+ * + * @author Google, Inc. + */ +class Google_Service_ConsumerSurveys extends Google_Service +{ + /** View and edit your surveys and results. */ + const CONSUMERSURVEYS = + "https://www.googleapis.com/auth/consumersurveys"; + /** View the results for your surveys. */ + const CONSUMERSURVEYS_READONLY = + "https://www.googleapis.com/auth/consumersurveys.readonly"; + /** View your email address. */ + const USERINFO_EMAIL = + "https://www.googleapis.com/auth/userinfo.email"; + + public $mobileapppanels; + public $results; + public $surveys; + + /** + * Constructs the internal representation of the ConsumerSurveys service. + * + * @param Google_Client $client + */ + public function __construct(Google_Client $client) + { + parent::__construct($client); + $this->rootUrl = 'https://www.googleapis.com/'; + $this->servicePath = 'consumersurveys/v2/'; + $this->version = 'v2'; + $this->serviceName = 'consumersurveys'; + + $this->mobileapppanels = new Google_Service_ConsumerSurveys_Resource_Mobileapppanels( + $this, + $this->serviceName, + 'mobileapppanels', + array( + 'methods' => array( + 'get' => array( + 'path' => 'mobileAppPanels/{panelId}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'panelId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'mobileAppPanels', + 'httpMethod' => 'GET', + 'parameters' => array( + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'startIndex' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'token' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'update' => array( + 'path' => 'mobileAppPanels/{panelId}', + 'httpMethod' => 'PUT', + 'parameters' => array( + 'panelId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->results = new Google_Service_ConsumerSurveys_Resource_Results( + $this, + $this->serviceName, + 'results', + array( + 'methods' => array( + 'get' => array( + 'path' => 'surveys/{surveyUrlId}/results', + 'httpMethod' => 'GET', + 'parameters' => array( + 'surveyUrlId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->surveys = new Google_Service_ConsumerSurveys_Resource_Surveys( + $this, + $this->serviceName, + 'surveys', + array( + 'methods' => array( + 'delete' => array( + 'path' => 'surveys/{surveyUrlId}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'surveyUrlId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'get' => array( + 'path' => 'surveys/{surveyUrlId}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'surveyUrlId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'insert' => array( + 'path' => 'surveys', + 'httpMethod' => 'POST', + 'parameters' => array(), + ),'list' => array( + 'path' => 'surveys', + 'httpMethod' => 'GET', + 'parameters' => array( + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'startIndex' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'token' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'start' => array( + 'path' => 'surveys/{resourceId}/start', + 'httpMethod' => 'POST', + 'parameters' => array( + 'resourceId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'stop' => array( + 'path' => 'surveys/{resourceId}/stop', + 'httpMethod' => 'POST', + 'parameters' => array( + 'resourceId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'update' => array( + 'path' => 'surveys/{surveyUrlId}', + 'httpMethod' => 'PUT', + 'parameters' => array( + 'surveyUrlId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ConsumerSurveys/FieldMask.php b/vendor/google/apiclient-services/src/Google/Service/ConsumerSurveys/FieldMask.php new file mode 100644 index 00000000..bad9f171 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ConsumerSurveys/FieldMask.php @@ -0,0 +1,41 @@ +fields = $fields; + } + public function getFields() + { + return $this->fields; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ConsumerSurveys/MobileAppPanel.php b/vendor/google/apiclient-services/src/Google/Service/ConsumerSurveys/MobileAppPanel.php new file mode 100644 index 00000000..5e99b768 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ConsumerSurveys/MobileAppPanel.php @@ -0,0 +1,76 @@ +country = $country; + } + public function getCountry() + { + return $this->country; + } + public function setIsPublicPanel($isPublicPanel) + { + $this->isPublicPanel = $isPublicPanel; + } + public function getIsPublicPanel() + { + return $this->isPublicPanel; + } + public function setLanguage($language) + { + $this->language = $language; + } + public function getLanguage() + { + return $this->language; + } + public function setMobileAppPanelId($mobileAppPanelId) + { + $this->mobileAppPanelId = $mobileAppPanelId; + } + public function getMobileAppPanelId() + { + return $this->mobileAppPanelId; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setOwners($owners) + { + $this->owners = $owners; + } + public function getOwners() + { + return $this->owners; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ConsumerSurveys/MobileAppPanelsListResponse.php b/vendor/google/apiclient-services/src/Google/Service/ConsumerSurveys/MobileAppPanelsListResponse.php new file mode 100644 index 00000000..3bbb595e --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ConsumerSurveys/MobileAppPanelsListResponse.php @@ -0,0 +1,61 @@ +pageInfo = $pageInfo; + } + public function getPageInfo() + { + return $this->pageInfo; + } + public function setRequestId($requestId) + { + $this->requestId = $requestId; + } + public function getRequestId() + { + return $this->requestId; + } + public function setResources($resources) + { + $this->resources = $resources; + } + public function getResources() + { + return $this->resources; + } + public function setTokenPagination(Google_Service_ConsumerSurveys_TokenPagination $tokenPagination) + { + $this->tokenPagination = $tokenPagination; + } + public function getTokenPagination() + { + return $this->tokenPagination; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ConsumerSurveys/PageInfo.php b/vendor/google/apiclient-services/src/Google/Service/ConsumerSurveys/PageInfo.php new file mode 100644 index 00000000..1e3c526a --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ConsumerSurveys/PageInfo.php @@ -0,0 +1,48 @@ +resultPerPage = $resultPerPage; + } + public function getResultPerPage() + { + return $this->resultPerPage; + } + public function setStartIndex($startIndex) + { + $this->startIndex = $startIndex; + } + public function getStartIndex() + { + return $this->startIndex; + } + public function setTotalResults($totalResults) + { + $this->totalResults = $totalResults; + } + public function getTotalResults() + { + return $this->totalResults; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ConsumerSurveys/Resource/Mobileapppanels.php b/vendor/google/apiclient-services/src/Google/Service/ConsumerSurveys/Resource/Mobileapppanels.php new file mode 100644 index 00000000..bc6e07f8 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ConsumerSurveys/Resource/Mobileapppanels.php @@ -0,0 +1,74 @@ + + * $consumersurveysService = new Google_Service_ConsumerSurveys(...); + * $mobileapppanels = $consumersurveysService->mobileapppanels; + * + */ +class Google_Service_ConsumerSurveys_Resource_Mobileapppanels extends Google_Service_Resource +{ + /** + * Retrieves a MobileAppPanel that is available to the authenticated user. + * (mobileapppanels.get) + * + * @param string $panelId External URL ID for the panel. + * @param array $optParams Optional parameters. + * @return Google_Service_ConsumerSurveys_MobileAppPanel + */ + public function get($panelId, $optParams = array()) + { + $params = array('panelId' => $panelId); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_ConsumerSurveys_MobileAppPanel"); + } + /** + * Lists the MobileAppPanels available to the authenticated user. + * (mobileapppanels.listMobileapppanels) + * + * @param array $optParams Optional parameters. + * + * @opt_param string maxResults + * @opt_param string startIndex + * @opt_param string token + * @return Google_Service_ConsumerSurveys_MobileAppPanelsListResponse + */ + public function listMobileapppanels($optParams = array()) + { + $params = array(); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_ConsumerSurveys_MobileAppPanelsListResponse"); + } + /** + * Updates a MobileAppPanel. Currently the only property that can be updated is + * the owners property. (mobileapppanels.update) + * + * @param string $panelId External URL ID for the panel. + * @param Google_Service_ConsumerSurveys_MobileAppPanel $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_ConsumerSurveys_MobileAppPanel + */ + public function update($panelId, Google_Service_ConsumerSurveys_MobileAppPanel $postBody, $optParams = array()) + { + $params = array('panelId' => $panelId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('update', array($params), "Google_Service_ConsumerSurveys_MobileAppPanel"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ConsumerSurveys/Resource/Results.php b/vendor/google/apiclient-services/src/Google/Service/ConsumerSurveys/Resource/Results.php new file mode 100644 index 00000000..2060052f --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ConsumerSurveys/Resource/Results.php @@ -0,0 +1,43 @@ + + * $consumersurveysService = new Google_Service_ConsumerSurveys(...); + * $results = $consumersurveysService->results; + * + */ +class Google_Service_ConsumerSurveys_Resource_Results extends Google_Service_Resource +{ + /** + * Retrieves any survey results that have been produced so far. Results are + * formatted as an Excel file. You must add "?alt=media" to the URL as an + * argument to get results. (results.get) + * + * @param string $surveyUrlId External URL ID for the survey. + * @param array $optParams Optional parameters. + * @return Google_Service_ConsumerSurveys_SurveyResults + */ + public function get($surveyUrlId, $optParams = array()) + { + $params = array('surveyUrlId' => $surveyUrlId); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_ConsumerSurveys_SurveyResults"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ConsumerSurveys/Resource/Surveys.php b/vendor/google/apiclient-services/src/Google/Service/ConsumerSurveys/Resource/Surveys.php new file mode 100644 index 00000000..2a14092c --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ConsumerSurveys/Resource/Surveys.php @@ -0,0 +1,125 @@ + + * $consumersurveysService = new Google_Service_ConsumerSurveys(...); + * $surveys = $consumersurveysService->surveys; + * + */ +class Google_Service_ConsumerSurveys_Resource_Surveys extends Google_Service_Resource +{ + /** + * Removes a survey from view in all user GET requests. (surveys.delete) + * + * @param string $surveyUrlId External URL ID for the survey. + * @param array $optParams Optional parameters. + * @return Google_Service_ConsumerSurveys_SurveysDeleteResponse + */ + public function delete($surveyUrlId, $optParams = array()) + { + $params = array('surveyUrlId' => $surveyUrlId); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params), "Google_Service_ConsumerSurveys_SurveysDeleteResponse"); + } + /** + * Retrieves information about the specified survey. (surveys.get) + * + * @param string $surveyUrlId External URL ID for the survey. + * @param array $optParams Optional parameters. + * @return Google_Service_ConsumerSurveys_Survey + */ + public function get($surveyUrlId, $optParams = array()) + { + $params = array('surveyUrlId' => $surveyUrlId); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_ConsumerSurveys_Survey"); + } + /** + * Creates a survey. (surveys.insert) + * + * @param Google_Service_ConsumerSurveys_Survey $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_ConsumerSurveys_Survey + */ + public function insert(Google_Service_ConsumerSurveys_Survey $postBody, $optParams = array()) + { + $params = array('postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('insert', array($params), "Google_Service_ConsumerSurveys_Survey"); + } + /** + * Lists the surveys owned by the authenticated user. (surveys.listSurveys) + * + * @param array $optParams Optional parameters. + * + * @opt_param string maxResults + * @opt_param string startIndex + * @opt_param string token + * @return Google_Service_ConsumerSurveys_SurveysListResponse + */ + public function listSurveys($optParams = array()) + { + $params = array(); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_ConsumerSurveys_SurveysListResponse"); + } + /** + * Begins running a survey. (surveys.start) + * + * @param string $resourceId + * @param Google_Service_ConsumerSurveys_SurveysStartRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_ConsumerSurveys_SurveysStartResponse + */ + public function start($resourceId, Google_Service_ConsumerSurveys_SurveysStartRequest $postBody, $optParams = array()) + { + $params = array('resourceId' => $resourceId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('start', array($params), "Google_Service_ConsumerSurveys_SurveysStartResponse"); + } + /** + * Stops a running survey. (surveys.stop) + * + * @param string $resourceId + * @param array $optParams Optional parameters. + * @return Google_Service_ConsumerSurveys_SurveysStopResponse + */ + public function stop($resourceId, $optParams = array()) + { + $params = array('resourceId' => $resourceId); + $params = array_merge($params, $optParams); + return $this->call('stop', array($params), "Google_Service_ConsumerSurveys_SurveysStopResponse"); + } + /** + * Updates a survey. Currently the only property that can be updated is the + * owners property. (surveys.update) + * + * @param string $surveyUrlId External URL ID for the survey. + * @param Google_Service_ConsumerSurveys_Survey $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_ConsumerSurveys_Survey + */ + public function update($surveyUrlId, Google_Service_ConsumerSurveys_Survey $postBody, $optParams = array()) + { + $params = array('surveyUrlId' => $surveyUrlId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('update', array($params), "Google_Service_ConsumerSurveys_Survey"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ConsumerSurveys/ResultsGetRequest.php b/vendor/google/apiclient-services/src/Google/Service/ConsumerSurveys/ResultsGetRequest.php new file mode 100644 index 00000000..6016c193 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ConsumerSurveys/ResultsGetRequest.php @@ -0,0 +1,31 @@ +resultMask = $resultMask; + } + public function getResultMask() + { + return $this->resultMask; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ConsumerSurveys/ResultsMask.php b/vendor/google/apiclient-services/src/Google/Service/ConsumerSurveys/ResultsMask.php new file mode 100644 index 00000000..333d934e --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ConsumerSurveys/ResultsMask.php @@ -0,0 +1,41 @@ +fields = $fields; + } + public function getFields() + { + return $this->fields; + } + public function setProjection($projection) + { + $this->projection = $projection; + } + public function getProjection() + { + return $this->projection; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ConsumerSurveys/Survey.php b/vendor/google/apiclient-services/src/Google/Service/ConsumerSurveys/Survey.php new file mode 100644 index 00000000..7b24d69e --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ConsumerSurveys/Survey.php @@ -0,0 +1,125 @@ +audience = $audience; + } + public function getAudience() + { + return $this->audience; + } + public function setCost(Google_Service_ConsumerSurveys_SurveyCost $cost) + { + $this->cost = $cost; + } + public function getCost() + { + return $this->cost; + } + public function setCustomerData($customerData) + { + $this->customerData = $customerData; + } + public function getCustomerData() + { + return $this->customerData; + } + public function setDescription($description) + { + $this->description = $description; + } + public function getDescription() + { + return $this->description; + } + public function setOwners($owners) + { + $this->owners = $owners; + } + public function getOwners() + { + return $this->owners; + } + public function setQuestions($questions) + { + $this->questions = $questions; + } + public function getQuestions() + { + return $this->questions; + } + public function setRejectionReason(Google_Service_ConsumerSurveys_SurveyRejection $rejectionReason) + { + $this->rejectionReason = $rejectionReason; + } + public function getRejectionReason() + { + return $this->rejectionReason; + } + public function setState($state) + { + $this->state = $state; + } + public function getState() + { + return $this->state; + } + public function setSurveyUrlId($surveyUrlId) + { + $this->surveyUrlId = $surveyUrlId; + } + public function getSurveyUrlId() + { + return $this->surveyUrlId; + } + public function setTitle($title) + { + $this->title = $title; + } + public function getTitle() + { + return $this->title; + } + public function setWantedResponseCount($wantedResponseCount) + { + $this->wantedResponseCount = $wantedResponseCount; + } + public function getWantedResponseCount() + { + return $this->wantedResponseCount; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ConsumerSurveys/SurveyAudience.php b/vendor/google/apiclient-services/src/Google/Service/ConsumerSurveys/SurveyAudience.php new file mode 100644 index 00000000..9ae7e0fa --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ConsumerSurveys/SurveyAudience.php @@ -0,0 +1,85 @@ +ages = $ages; + } + public function getAges() + { + return $this->ages; + } + public function setCountry($country) + { + $this->country = $country; + } + public function getCountry() + { + return $this->country; + } + public function setCountrySubdivision($countrySubdivision) + { + $this->countrySubdivision = $countrySubdivision; + } + public function getCountrySubdivision() + { + return $this->countrySubdivision; + } + public function setGender($gender) + { + $this->gender = $gender; + } + public function getGender() + { + return $this->gender; + } + public function setLanguages($languages) + { + $this->languages = $languages; + } + public function getLanguages() + { + return $this->languages; + } + public function setMobileAppPanelId($mobileAppPanelId) + { + $this->mobileAppPanelId = $mobileAppPanelId; + } + public function getMobileAppPanelId() + { + return $this->mobileAppPanelId; + } + public function setPopulationSource($populationSource) + { + $this->populationSource = $populationSource; + } + public function getPopulationSource() + { + return $this->populationSource; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ConsumerSurveys/SurveyCost.php b/vendor/google/apiclient-services/src/Google/Service/ConsumerSurveys/SurveyCost.php new file mode 100644 index 00000000..686a8ace --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ConsumerSurveys/SurveyCost.php @@ -0,0 +1,57 @@ +costPerResponseNanos = $costPerResponseNanos; + } + public function getCostPerResponseNanos() + { + return $this->costPerResponseNanos; + } + public function setCurrencyCode($currencyCode) + { + $this->currencyCode = $currencyCode; + } + public function getCurrencyCode() + { + return $this->currencyCode; + } + public function setMaxCostPerResponseNanos($maxCostPerResponseNanos) + { + $this->maxCostPerResponseNanos = $maxCostPerResponseNanos; + } + public function getMaxCostPerResponseNanos() + { + return $this->maxCostPerResponseNanos; + } + public function setNanos($nanos) + { + $this->nanos = $nanos; + } + public function getNanos() + { + return $this->nanos; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ConsumerSurveys/SurveyQuestion.php b/vendor/google/apiclient-services/src/Google/Service/ConsumerSurveys/SurveyQuestion.php new file mode 100644 index 00000000..976ac510 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ConsumerSurveys/SurveyQuestion.php @@ -0,0 +1,185 @@ +answerOrder = $answerOrder; + } + public function getAnswerOrder() + { + return $this->answerOrder; + } + public function setAnswers($answers) + { + $this->answers = $answers; + } + public function getAnswers() + { + return $this->answers; + } + public function setHasOther($hasOther) + { + $this->hasOther = $hasOther; + } + public function getHasOther() + { + return $this->hasOther; + } + public function setHighValueLabel($highValueLabel) + { + $this->highValueLabel = $highValueLabel; + } + public function getHighValueLabel() + { + return $this->highValueLabel; + } + public function setImages($images) + { + $this->images = $images; + } + public function getImages() + { + return $this->images; + } + public function setLastAnswerPositionPinned($lastAnswerPositionPinned) + { + $this->lastAnswerPositionPinned = $lastAnswerPositionPinned; + } + public function getLastAnswerPositionPinned() + { + return $this->lastAnswerPositionPinned; + } + public function setLowValueLabel($lowValueLabel) + { + $this->lowValueLabel = $lowValueLabel; + } + public function getLowValueLabel() + { + return $this->lowValueLabel; + } + public function setMustPickSuggestion($mustPickSuggestion) + { + $this->mustPickSuggestion = $mustPickSuggestion; + } + public function getMustPickSuggestion() + { + return $this->mustPickSuggestion; + } + public function setNumStars($numStars) + { + $this->numStars = $numStars; + } + public function getNumStars() + { + return $this->numStars; + } + public function setOpenTextPlaceholder($openTextPlaceholder) + { + $this->openTextPlaceholder = $openTextPlaceholder; + } + public function getOpenTextPlaceholder() + { + return $this->openTextPlaceholder; + } + public function setOpenTextSuggestions($openTextSuggestions) + { + $this->openTextSuggestions = $openTextSuggestions; + } + public function getOpenTextSuggestions() + { + return $this->openTextSuggestions; + } + public function setQuestion($question) + { + $this->question = $question; + } + public function getQuestion() + { + return $this->question; + } + public function setSentimentText($sentimentText) + { + $this->sentimentText = $sentimentText; + } + public function getSentimentText() + { + return $this->sentimentText; + } + public function setSingleLineResponse($singleLineResponse) + { + $this->singleLineResponse = $singleLineResponse; + } + public function getSingleLineResponse() + { + return $this->singleLineResponse; + } + public function setThresholdAnswers($thresholdAnswers) + { + $this->thresholdAnswers = $thresholdAnswers; + } + public function getThresholdAnswers() + { + return $this->thresholdAnswers; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } + public function setUnitOfMeasurementLabel($unitOfMeasurementLabel) + { + $this->unitOfMeasurementLabel = $unitOfMeasurementLabel; + } + public function getUnitOfMeasurementLabel() + { + return $this->unitOfMeasurementLabel; + } + public function setVideoId($videoId) + { + $this->videoId = $videoId; + } + public function getVideoId() + { + return $this->videoId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ConsumerSurveys/SurveyQuestionImage.php b/vendor/google/apiclient-services/src/Google/Service/ConsumerSurveys/SurveyQuestionImage.php new file mode 100644 index 00000000..d065e7b2 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ConsumerSurveys/SurveyQuestionImage.php @@ -0,0 +1,48 @@ +altText = $altText; + } + public function getAltText() + { + return $this->altText; + } + public function setData($data) + { + $this->data = $data; + } + public function getData() + { + return $this->data; + } + public function setUrl($url) + { + $this->url = $url; + } + public function getUrl() + { + return $this->url; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ConsumerSurveys/SurveyRejection.php b/vendor/google/apiclient-services/src/Google/Service/ConsumerSurveys/SurveyRejection.php new file mode 100644 index 00000000..de95eab8 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ConsumerSurveys/SurveyRejection.php @@ -0,0 +1,39 @@ +explanation = $explanation; + } + public function getExplanation() + { + return $this->explanation; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ConsumerSurveys/SurveyResults.php b/vendor/google/apiclient-services/src/Google/Service/ConsumerSurveys/SurveyResults.php new file mode 100644 index 00000000..d69a9cc4 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ConsumerSurveys/SurveyResults.php @@ -0,0 +1,39 @@ +status = $status; + } + public function getStatus() + { + return $this->status; + } + public function setSurveyUrlId($surveyUrlId) + { + $this->surveyUrlId = $surveyUrlId; + } + public function getSurveyUrlId() + { + return $this->surveyUrlId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ConsumerSurveys/SurveysDeleteResponse.php b/vendor/google/apiclient-services/src/Google/Service/ConsumerSurveys/SurveysDeleteResponse.php new file mode 100644 index 00000000..dc0358a9 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ConsumerSurveys/SurveysDeleteResponse.php @@ -0,0 +1,30 @@ +requestId = $requestId; + } + public function getRequestId() + { + return $this->requestId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ConsumerSurveys/SurveysListResponse.php b/vendor/google/apiclient-services/src/Google/Service/ConsumerSurveys/SurveysListResponse.php new file mode 100644 index 00000000..e51ac29b --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ConsumerSurveys/SurveysListResponse.php @@ -0,0 +1,61 @@ +pageInfo = $pageInfo; + } + public function getPageInfo() + { + return $this->pageInfo; + } + public function setRequestId($requestId) + { + $this->requestId = $requestId; + } + public function getRequestId() + { + return $this->requestId; + } + public function setResources($resources) + { + $this->resources = $resources; + } + public function getResources() + { + return $this->resources; + } + public function setTokenPagination(Google_Service_ConsumerSurveys_TokenPagination $tokenPagination) + { + $this->tokenPagination = $tokenPagination; + } + public function getTokenPagination() + { + return $this->tokenPagination; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ConsumerSurveys/SurveysStartRequest.php b/vendor/google/apiclient-services/src/Google/Service/ConsumerSurveys/SurveysStartRequest.php new file mode 100644 index 00000000..430de935 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ConsumerSurveys/SurveysStartRequest.php @@ -0,0 +1,30 @@ +maxCostPerResponseNanos = $maxCostPerResponseNanos; + } + public function getMaxCostPerResponseNanos() + { + return $this->maxCostPerResponseNanos; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ConsumerSurveys/SurveysStartResponse.php b/vendor/google/apiclient-services/src/Google/Service/ConsumerSurveys/SurveysStartResponse.php new file mode 100644 index 00000000..ac97933b --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ConsumerSurveys/SurveysStartResponse.php @@ -0,0 +1,40 @@ +requestId = $requestId; + } + public function getRequestId() + { + return $this->requestId; + } + public function setResource(Google_Service_ConsumerSurveys_Survey $resource) + { + $this->resource = $resource; + } + public function getResource() + { + return $this->resource; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ConsumerSurveys/SurveysStopResponse.php b/vendor/google/apiclient-services/src/Google/Service/ConsumerSurveys/SurveysStopResponse.php new file mode 100644 index 00000000..575c385f --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ConsumerSurveys/SurveysStopResponse.php @@ -0,0 +1,40 @@ +requestId = $requestId; + } + public function getRequestId() + { + return $this->requestId; + } + public function setResource(Google_Service_ConsumerSurveys_Survey $resource) + { + $this->resource = $resource; + } + public function getResource() + { + return $this->resource; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ConsumerSurveys/TokenPagination.php b/vendor/google/apiclient-services/src/Google/Service/ConsumerSurveys/TokenPagination.php new file mode 100644 index 00000000..77b58605 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ConsumerSurveys/TokenPagination.php @@ -0,0 +1,39 @@ +nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setPreviousPageToken($previousPageToken) + { + $this->previousPageToken = $previousPageToken; + } + public function getPreviousPageToken() + { + return $this->previousPageToken; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Container.php b/vendor/google/apiclient-services/src/Google/Service/Container.php new file mode 100644 index 00000000..68aba51d --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Container.php @@ -0,0 +1,397 @@ + + * Builds and manages clusters that run container-based applications, powered by + * open source Kubernetes technology.

+ * + *

+ * For more information about this service, see the API + * Documentation + *

+ * + * @author Google, Inc. + */ +class Google_Service_Container extends Google_Service +{ + /** View and manage your data across Google Cloud Platform services. */ + const CLOUD_PLATFORM = + "https://www.googleapis.com/auth/cloud-platform"; + + public $projects_zones; + public $projects_zones_clusters; + public $projects_zones_clusters_nodePools; + public $projects_zones_operations; + + /** + * Constructs the internal representation of the Container service. + * + * @param Google_Client $client + */ + public function __construct(Google_Client $client) + { + parent::__construct($client); + $this->rootUrl = 'https://container.googleapis.com/'; + $this->servicePath = ''; + $this->version = 'v1'; + $this->serviceName = 'container'; + + $this->projects_zones = new Google_Service_Container_Resource_ProjectsZones( + $this, + $this->serviceName, + 'zones', + array( + 'methods' => array( + 'getServerconfig' => array( + 'path' => 'v1/projects/{projectId}/zones/{zone}/serverconfig', + 'httpMethod' => 'GET', + 'parameters' => array( + 'projectId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'zone' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->projects_zones_clusters = new Google_Service_Container_Resource_ProjectsZonesClusters( + $this, + $this->serviceName, + 'clusters', + array( + 'methods' => array( + 'create' => array( + 'path' => 'v1/projects/{projectId}/zones/{zone}/clusters', + 'httpMethod' => 'POST', + 'parameters' => array( + 'projectId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'zone' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'delete' => array( + 'path' => 'v1/projects/{projectId}/zones/{zone}/clusters/{clusterId}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'projectId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'zone' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'clusterId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'get' => array( + 'path' => 'v1/projects/{projectId}/zones/{zone}/clusters/{clusterId}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'projectId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'zone' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'clusterId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'v1/projects/{projectId}/zones/{zone}/clusters', + 'httpMethod' => 'GET', + 'parameters' => array( + 'projectId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'zone' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'update' => array( + 'path' => 'v1/projects/{projectId}/zones/{zone}/clusters/{clusterId}', + 'httpMethod' => 'PUT', + 'parameters' => array( + 'projectId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'zone' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'clusterId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->projects_zones_clusters_nodePools = new Google_Service_Container_Resource_ProjectsZonesClustersNodePools( + $this, + $this->serviceName, + 'nodePools', + array( + 'methods' => array( + 'create' => array( + 'path' => 'v1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/nodePools', + 'httpMethod' => 'POST', + 'parameters' => array( + 'projectId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'zone' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'clusterId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'delete' => array( + 'path' => 'v1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/nodePools/{nodePoolId}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'projectId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'zone' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'clusterId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'nodePoolId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'get' => array( + 'path' => 'v1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/nodePools/{nodePoolId}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'projectId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'zone' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'clusterId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'nodePoolId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'v1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/nodePools', + 'httpMethod' => 'GET', + 'parameters' => array( + 'projectId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'zone' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'clusterId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'rollback' => array( + 'path' => 'v1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/nodePools/{nodePoolId}:rollback', + 'httpMethod' => 'POST', + 'parameters' => array( + 'projectId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'zone' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'clusterId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'nodePoolId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'setManagement' => array( + 'path' => 'v1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/nodePools/{nodePoolId}/setManagement', + 'httpMethod' => 'POST', + 'parameters' => array( + 'projectId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'zone' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'clusterId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'nodePoolId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->projects_zones_operations = new Google_Service_Container_Resource_ProjectsZonesOperations( + $this, + $this->serviceName, + 'operations', + array( + 'methods' => array( + 'cancel' => array( + 'path' => 'v1/projects/{projectId}/zones/{zone}/operations/{operationId}:cancel', + 'httpMethod' => 'POST', + 'parameters' => array( + 'projectId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'zone' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'operationId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'get' => array( + 'path' => 'v1/projects/{projectId}/zones/{zone}/operations/{operationId}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'projectId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'zone' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'operationId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'v1/projects/{projectId}/zones/{zone}/operations', + 'httpMethod' => 'GET', + 'parameters' => array( + 'projectId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'zone' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Container/AddonsConfig.php b/vendor/google/apiclient-services/src/Google/Service/Container/AddonsConfig.php new file mode 100644 index 00000000..4954faf4 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Container/AddonsConfig.php @@ -0,0 +1,41 @@ +horizontalPodAutoscaling = $horizontalPodAutoscaling; + } + public function getHorizontalPodAutoscaling() + { + return $this->horizontalPodAutoscaling; + } + public function setHttpLoadBalancing(Google_Service_Container_HttpLoadBalancing $httpLoadBalancing) + { + $this->httpLoadBalancing = $httpLoadBalancing; + } + public function getHttpLoadBalancing() + { + return $this->httpLoadBalancing; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Container/AutoUpgradeOptions.php b/vendor/google/apiclient-services/src/Google/Service/Container/AutoUpgradeOptions.php new file mode 100644 index 00000000..a65f5408 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Container/AutoUpgradeOptions.php @@ -0,0 +1,39 @@ +autoUpgradeStartTime = $autoUpgradeStartTime; + } + public function getAutoUpgradeStartTime() + { + return $this->autoUpgradeStartTime; + } + public function setDescription($description) + { + $this->description = $description; + } + public function getDescription() + { + return $this->description; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Container/CancelOperationRequest.php b/vendor/google/apiclient-services/src/Google/Service/Container/CancelOperationRequest.php new file mode 100644 index 00000000..27d7732d --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Container/CancelOperationRequest.php @@ -0,0 +1,20 @@ +addonsConfig = $addonsConfig; + } + public function getAddonsConfig() + { + return $this->addonsConfig; + } + public function setClusterIpv4Cidr($clusterIpv4Cidr) + { + $this->clusterIpv4Cidr = $clusterIpv4Cidr; + } + public function getClusterIpv4Cidr() + { + return $this->clusterIpv4Cidr; + } + public function setCreateTime($createTime) + { + $this->createTime = $createTime; + } + public function getCreateTime() + { + return $this->createTime; + } + public function setCurrentMasterVersion($currentMasterVersion) + { + $this->currentMasterVersion = $currentMasterVersion; + } + public function getCurrentMasterVersion() + { + return $this->currentMasterVersion; + } + public function setCurrentNodeCount($currentNodeCount) + { + $this->currentNodeCount = $currentNodeCount; + } + public function getCurrentNodeCount() + { + return $this->currentNodeCount; + } + public function setCurrentNodeVersion($currentNodeVersion) + { + $this->currentNodeVersion = $currentNodeVersion; + } + public function getCurrentNodeVersion() + { + return $this->currentNodeVersion; + } + public function setDescription($description) + { + $this->description = $description; + } + public function getDescription() + { + return $this->description; + } + public function setEnableKubernetesAlpha($enableKubernetesAlpha) + { + $this->enableKubernetesAlpha = $enableKubernetesAlpha; + } + public function getEnableKubernetesAlpha() + { + return $this->enableKubernetesAlpha; + } + public function setEndpoint($endpoint) + { + $this->endpoint = $endpoint; + } + public function getEndpoint() + { + return $this->endpoint; + } + public function setExpireTime($expireTime) + { + $this->expireTime = $expireTime; + } + public function getExpireTime() + { + return $this->expireTime; + } + public function setInitialClusterVersion($initialClusterVersion) + { + $this->initialClusterVersion = $initialClusterVersion; + } + public function getInitialClusterVersion() + { + return $this->initialClusterVersion; + } + public function setInitialNodeCount($initialNodeCount) + { + $this->initialNodeCount = $initialNodeCount; + } + public function getInitialNodeCount() + { + return $this->initialNodeCount; + } + public function setInstanceGroupUrls($instanceGroupUrls) + { + $this->instanceGroupUrls = $instanceGroupUrls; + } + public function getInstanceGroupUrls() + { + return $this->instanceGroupUrls; + } + public function setLocations($locations) + { + $this->locations = $locations; + } + public function getLocations() + { + return $this->locations; + } + public function setLoggingService($loggingService) + { + $this->loggingService = $loggingService; + } + public function getLoggingService() + { + return $this->loggingService; + } + public function setMasterAuth(Google_Service_Container_MasterAuth $masterAuth) + { + $this->masterAuth = $masterAuth; + } + public function getMasterAuth() + { + return $this->masterAuth; + } + public function setMonitoringService($monitoringService) + { + $this->monitoringService = $monitoringService; + } + public function getMonitoringService() + { + return $this->monitoringService; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setNetwork($network) + { + $this->network = $network; + } + public function getNetwork() + { + return $this->network; + } + public function setNodeConfig(Google_Service_Container_NodeConfig $nodeConfig) + { + $this->nodeConfig = $nodeConfig; + } + public function getNodeConfig() + { + return $this->nodeConfig; + } + public function setNodeIpv4CidrSize($nodeIpv4CidrSize) + { + $this->nodeIpv4CidrSize = $nodeIpv4CidrSize; + } + public function getNodeIpv4CidrSize() + { + return $this->nodeIpv4CidrSize; + } + public function setNodePools($nodePools) + { + $this->nodePools = $nodePools; + } + public function getNodePools() + { + return $this->nodePools; + } + public function setSelfLink($selfLink) + { + $this->selfLink = $selfLink; + } + public function getSelfLink() + { + return $this->selfLink; + } + public function setServicesIpv4Cidr($servicesIpv4Cidr) + { + $this->servicesIpv4Cidr = $servicesIpv4Cidr; + } + public function getServicesIpv4Cidr() + { + return $this->servicesIpv4Cidr; + } + public function setStatus($status) + { + $this->status = $status; + } + public function getStatus() + { + return $this->status; + } + public function setStatusMessage($statusMessage) + { + $this->statusMessage = $statusMessage; + } + public function getStatusMessage() + { + return $this->statusMessage; + } + public function setSubnetwork($subnetwork) + { + $this->subnetwork = $subnetwork; + } + public function getSubnetwork() + { + return $this->subnetwork; + } + public function setZone($zone) + { + $this->zone = $zone; + } + public function getZone() + { + return $this->zone; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Container/ClusterUpdate.php b/vendor/google/apiclient-services/src/Google/Service/Container/ClusterUpdate.php new file mode 100644 index 00000000..ce55c078 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Container/ClusterUpdate.php @@ -0,0 +1,96 @@ +desiredAddonsConfig = $desiredAddonsConfig; + } + public function getDesiredAddonsConfig() + { + return $this->desiredAddonsConfig; + } + public function setDesiredImageType($desiredImageType) + { + $this->desiredImageType = $desiredImageType; + } + public function getDesiredImageType() + { + return $this->desiredImageType; + } + public function setDesiredLocations($desiredLocations) + { + $this->desiredLocations = $desiredLocations; + } + public function getDesiredLocations() + { + return $this->desiredLocations; + } + public function setDesiredMasterVersion($desiredMasterVersion) + { + $this->desiredMasterVersion = $desiredMasterVersion; + } + public function getDesiredMasterVersion() + { + return $this->desiredMasterVersion; + } + public function setDesiredMonitoringService($desiredMonitoringService) + { + $this->desiredMonitoringService = $desiredMonitoringService; + } + public function getDesiredMonitoringService() + { + return $this->desiredMonitoringService; + } + public function setDesiredNodePoolAutoscaling(Google_Service_Container_NodePoolAutoscaling $desiredNodePoolAutoscaling) + { + $this->desiredNodePoolAutoscaling = $desiredNodePoolAutoscaling; + } + public function getDesiredNodePoolAutoscaling() + { + return $this->desiredNodePoolAutoscaling; + } + public function setDesiredNodePoolId($desiredNodePoolId) + { + $this->desiredNodePoolId = $desiredNodePoolId; + } + public function getDesiredNodePoolId() + { + return $this->desiredNodePoolId; + } + public function setDesiredNodeVersion($desiredNodeVersion) + { + $this->desiredNodeVersion = $desiredNodeVersion; + } + public function getDesiredNodeVersion() + { + return $this->desiredNodeVersion; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Container/ContainerEmpty.php b/vendor/google/apiclient-services/src/Google/Service/Container/ContainerEmpty.php new file mode 100644 index 00000000..0695e622 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Container/ContainerEmpty.php @@ -0,0 +1,20 @@ +cluster = $cluster; + } + public function getCluster() + { + return $this->cluster; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Container/CreateNodePoolRequest.php b/vendor/google/apiclient-services/src/Google/Service/Container/CreateNodePoolRequest.php new file mode 100644 index 00000000..6088cb84 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Container/CreateNodePoolRequest.php @@ -0,0 +1,31 @@ +nodePool = $nodePool; + } + public function getNodePool() + { + return $this->nodePool; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Container/HorizontalPodAutoscaling.php b/vendor/google/apiclient-services/src/Google/Service/Container/HorizontalPodAutoscaling.php new file mode 100644 index 00000000..8e139c55 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Container/HorizontalPodAutoscaling.php @@ -0,0 +1,30 @@ +disabled = $disabled; + } + public function getDisabled() + { + return $this->disabled; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Container/HttpLoadBalancing.php b/vendor/google/apiclient-services/src/Google/Service/Container/HttpLoadBalancing.php new file mode 100644 index 00000000..b8db1f2a --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Container/HttpLoadBalancing.php @@ -0,0 +1,30 @@ +disabled = $disabled; + } + public function getDisabled() + { + return $this->disabled; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Container/ListClustersResponse.php b/vendor/google/apiclient-services/src/Google/Service/Container/ListClustersResponse.php new file mode 100644 index 00000000..e9dc6a97 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Container/ListClustersResponse.php @@ -0,0 +1,41 @@ +clusters = $clusters; + } + public function getClusters() + { + return $this->clusters; + } + public function setMissingZones($missingZones) + { + $this->missingZones = $missingZones; + } + public function getMissingZones() + { + return $this->missingZones; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Container/ListNodePoolsResponse.php b/vendor/google/apiclient-services/src/Google/Service/Container/ListNodePoolsResponse.php new file mode 100644 index 00000000..30f73741 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Container/ListNodePoolsResponse.php @@ -0,0 +1,32 @@ +nodePools = $nodePools; + } + public function getNodePools() + { + return $this->nodePools; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Container/ListOperationsResponse.php b/vendor/google/apiclient-services/src/Google/Service/Container/ListOperationsResponse.php new file mode 100644 index 00000000..f5d6c3bc --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Container/ListOperationsResponse.php @@ -0,0 +1,41 @@ +missingZones = $missingZones; + } + public function getMissingZones() + { + return $this->missingZones; + } + public function setOperations($operations) + { + $this->operations = $operations; + } + public function getOperations() + { + return $this->operations; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Container/MasterAuth.php b/vendor/google/apiclient-services/src/Google/Service/Container/MasterAuth.php new file mode 100644 index 00000000..e5db3e92 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Container/MasterAuth.php @@ -0,0 +1,66 @@ +clientCertificate = $clientCertificate; + } + public function getClientCertificate() + { + return $this->clientCertificate; + } + public function setClientKey($clientKey) + { + $this->clientKey = $clientKey; + } + public function getClientKey() + { + return $this->clientKey; + } + public function setClusterCaCertificate($clusterCaCertificate) + { + $this->clusterCaCertificate = $clusterCaCertificate; + } + public function getClusterCaCertificate() + { + return $this->clusterCaCertificate; + } + public function setPassword($password) + { + $this->password = $password; + } + public function getPassword() + { + return $this->password; + } + public function setUsername($username) + { + $this->username = $username; + } + public function getUsername() + { + return $this->username; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Container/NodeConfig.php b/vendor/google/apiclient-services/src/Google/Service/Container/NodeConfig.php new file mode 100644 index 00000000..9551ad12 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Container/NodeConfig.php @@ -0,0 +1,112 @@ +diskSizeGb = $diskSizeGb; + } + public function getDiskSizeGb() + { + return $this->diskSizeGb; + } + public function setImageType($imageType) + { + $this->imageType = $imageType; + } + public function getImageType() + { + return $this->imageType; + } + public function setLabels($labels) + { + $this->labels = $labels; + } + public function getLabels() + { + return $this->labels; + } + public function setLocalSsdCount($localSsdCount) + { + $this->localSsdCount = $localSsdCount; + } + public function getLocalSsdCount() + { + return $this->localSsdCount; + } + public function setMachineType($machineType) + { + $this->machineType = $machineType; + } + public function getMachineType() + { + return $this->machineType; + } + public function setMetadata($metadata) + { + $this->metadata = $metadata; + } + public function getMetadata() + { + return $this->metadata; + } + public function setOauthScopes($oauthScopes) + { + $this->oauthScopes = $oauthScopes; + } + public function getOauthScopes() + { + return $this->oauthScopes; + } + public function setPreemptible($preemptible) + { + $this->preemptible = $preemptible; + } + public function getPreemptible() + { + return $this->preemptible; + } + public function setServiceAccount($serviceAccount) + { + $this->serviceAccount = $serviceAccount; + } + public function getServiceAccount() + { + return $this->serviceAccount; + } + public function setTags($tags) + { + $this->tags = $tags; + } + public function getTags() + { + return $this->tags; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Container/NodeManagement.php b/vendor/google/apiclient-services/src/Google/Service/Container/NodeManagement.php new file mode 100644 index 00000000..833c5033 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Container/NodeManagement.php @@ -0,0 +1,40 @@ +autoUpgrade = $autoUpgrade; + } + public function getAutoUpgrade() + { + return $this->autoUpgrade; + } + public function setUpgradeOptions(Google_Service_Container_AutoUpgradeOptions $upgradeOptions) + { + $this->upgradeOptions = $upgradeOptions; + } + public function getUpgradeOptions() + { + return $this->upgradeOptions; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Container/NodePool.php b/vendor/google/apiclient-services/src/Google/Service/Container/NodePool.php new file mode 100644 index 00000000..0be52bb0 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Container/NodePool.php @@ -0,0 +1,115 @@ +autoscaling = $autoscaling; + } + public function getAutoscaling() + { + return $this->autoscaling; + } + public function setConfig(Google_Service_Container_NodeConfig $config) + { + $this->config = $config; + } + public function getConfig() + { + return $this->config; + } + public function setInitialNodeCount($initialNodeCount) + { + $this->initialNodeCount = $initialNodeCount; + } + public function getInitialNodeCount() + { + return $this->initialNodeCount; + } + public function setInstanceGroupUrls($instanceGroupUrls) + { + $this->instanceGroupUrls = $instanceGroupUrls; + } + public function getInstanceGroupUrls() + { + return $this->instanceGroupUrls; + } + public function setManagement(Google_Service_Container_NodeManagement $management) + { + $this->management = $management; + } + public function getManagement() + { + return $this->management; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setSelfLink($selfLink) + { + $this->selfLink = $selfLink; + } + public function getSelfLink() + { + return $this->selfLink; + } + public function setStatus($status) + { + $this->status = $status; + } + public function getStatus() + { + return $this->status; + } + public function setStatusMessage($statusMessage) + { + $this->statusMessage = $statusMessage; + } + public function getStatusMessage() + { + return $this->statusMessage; + } + public function setVersion($version) + { + $this->version = $version; + } + public function getVersion() + { + return $this->version; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Container/NodePoolAutoscaling.php b/vendor/google/apiclient-services/src/Google/Service/Container/NodePoolAutoscaling.php new file mode 100644 index 00000000..14386b5f --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Container/NodePoolAutoscaling.php @@ -0,0 +1,48 @@ +enabled = $enabled; + } + public function getEnabled() + { + return $this->enabled; + } + public function setMaxNodeCount($maxNodeCount) + { + $this->maxNodeCount = $maxNodeCount; + } + public function getMaxNodeCount() + { + return $this->maxNodeCount; + } + public function setMinNodeCount($minNodeCount) + { + $this->minNodeCount = $minNodeCount; + } + public function getMinNodeCount() + { + return $this->minNodeCount; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Container/Operation.php b/vendor/google/apiclient-services/src/Google/Service/Container/Operation.php new file mode 100644 index 00000000..65421cb0 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Container/Operation.php @@ -0,0 +1,93 @@ +detail = $detail; + } + public function getDetail() + { + return $this->detail; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setOperationType($operationType) + { + $this->operationType = $operationType; + } + public function getOperationType() + { + return $this->operationType; + } + public function setSelfLink($selfLink) + { + $this->selfLink = $selfLink; + } + public function getSelfLink() + { + return $this->selfLink; + } + public function setStatus($status) + { + $this->status = $status; + } + public function getStatus() + { + return $this->status; + } + public function setStatusMessage($statusMessage) + { + $this->statusMessage = $statusMessage; + } + public function getStatusMessage() + { + return $this->statusMessage; + } + public function setTargetLink($targetLink) + { + $this->targetLink = $targetLink; + } + public function getTargetLink() + { + return $this->targetLink; + } + public function setZone($zone) + { + $this->zone = $zone; + } + public function getZone() + { + return $this->zone; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Container/Resource/Projects.php b/vendor/google/apiclient-services/src/Google/Service/Container/Resource/Projects.php new file mode 100644 index 00000000..219380b2 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Container/Resource/Projects.php @@ -0,0 +1,28 @@ + + * $containerService = new Google_Service_Container(...); + * $projects = $containerService->projects; + * + */ +class Google_Service_Container_Resource_Projects extends Google_Service_Resource +{ +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Container/Resource/ProjectsZones.php b/vendor/google/apiclient-services/src/Google/Service/Container/Resource/ProjectsZones.php new file mode 100644 index 00000000..0ed185df --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Container/Resource/ProjectsZones.php @@ -0,0 +1,45 @@ + + * $containerService = new Google_Service_Container(...); + * $zones = $containerService->zones; + * + */ +class Google_Service_Container_Resource_ProjectsZones extends Google_Service_Resource +{ + /** + * Returns configuration info about the Container Engine service. + * (zones.getServerconfig) + * + * @param string $projectId The Google Developers Console [project ID or project + * number](https://support.google.com/cloud/answer/6158840). + * @param string $zone The name of the Google Compute Engine + * [zone](/compute/docs/zones#available) to return operations for. + * @param array $optParams Optional parameters. + * @return Google_Service_Container_ServerConfig + */ + public function getServerconfig($projectId, $zone, $optParams = array()) + { + $params = array('projectId' => $projectId, 'zone' => $zone); + $params = array_merge($params, $optParams); + return $this->call('getServerconfig', array($params), "Google_Service_Container_ServerConfig"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Container/Resource/ProjectsZonesClusters.php b/vendor/google/apiclient-services/src/Google/Service/Container/Resource/ProjectsZonesClusters.php new file mode 100644 index 00000000..33a47edf --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Container/Resource/ProjectsZonesClusters.php @@ -0,0 +1,126 @@ + + * $containerService = new Google_Service_Container(...); + * $clusters = $containerService->clusters; + * + */ +class Google_Service_Container_Resource_ProjectsZonesClusters extends Google_Service_Resource +{ + /** + * Creates a cluster, consisting of the specified number and type of Google + * Compute Engine instances. By default, the cluster is created in the project's + * [default network](/compute/docs/networks-and-firewalls#networks). One + * firewall is added for the cluster. After cluster creation, the cluster + * creates routes for each node to allow the containers on that node to + * communicate with all other instances in the cluster. Finally, an entry is + * added to the project's global metadata indicating which CIDR range is being + * used by the cluster. (clusters.create) + * + * @param string $projectId The Google Developers Console [project ID or project + * number](https://support.google.com/cloud/answer/6158840). + * @param string $zone The name of the Google Compute Engine + * [zone](/compute/docs/zones#available) in which the cluster resides. + * @param Google_Service_Container_CreateClusterRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Container_Operation + */ + public function create($projectId, $zone, Google_Service_Container_CreateClusterRequest $postBody, $optParams = array()) + { + $params = array('projectId' => $projectId, 'zone' => $zone, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('create', array($params), "Google_Service_Container_Operation"); + } + /** + * Deletes the cluster, including the Kubernetes endpoint and all worker nodes. + * Firewalls and routes that were configured during cluster creation are also + * deleted. Other Google Compute Engine resources that might be in use by the + * cluster (e.g. load balancer resources) will not be deleted if they weren't + * present at the initial create time. (clusters.delete) + * + * @param string $projectId The Google Developers Console [project ID or project + * number](https://support.google.com/cloud/answer/6158840). + * @param string $zone The name of the Google Compute Engine + * [zone](/compute/docs/zones#available) in which the cluster resides. + * @param string $clusterId The name of the cluster to delete. + * @param array $optParams Optional parameters. + * @return Google_Service_Container_Operation + */ + public function delete($projectId, $zone, $clusterId, $optParams = array()) + { + $params = array('projectId' => $projectId, 'zone' => $zone, 'clusterId' => $clusterId); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params), "Google_Service_Container_Operation"); + } + /** + * Gets the details of a specific cluster. (clusters.get) + * + * @param string $projectId The Google Developers Console [project ID or project + * number](https://support.google.com/cloud/answer/6158840). + * @param string $zone The name of the Google Compute Engine + * [zone](/compute/docs/zones#available) in which the cluster resides. + * @param string $clusterId The name of the cluster to retrieve. + * @param array $optParams Optional parameters. + * @return Google_Service_Container_Cluster + */ + public function get($projectId, $zone, $clusterId, $optParams = array()) + { + $params = array('projectId' => $projectId, 'zone' => $zone, 'clusterId' => $clusterId); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Container_Cluster"); + } + /** + * Lists all clusters owned by a project in either the specified zone or all + * zones. (clusters.listProjectsZonesClusters) + * + * @param string $projectId The Google Developers Console [project ID or project + * number](https://support.google.com/cloud/answer/6158840). + * @param string $zone The name of the Google Compute Engine + * [zone](/compute/docs/zones#available) in which the cluster resides, or "-" + * for all zones. + * @param array $optParams Optional parameters. + * @return Google_Service_Container_ListClustersResponse + */ + public function listProjectsZonesClusters($projectId, $zone, $optParams = array()) + { + $params = array('projectId' => $projectId, 'zone' => $zone); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Container_ListClustersResponse"); + } + /** + * Updates the settings of a specific cluster. (clusters.update) + * + * @param string $projectId The Google Developers Console [project ID or project + * number](https://support.google.com/cloud/answer/6158840). + * @param string $zone The name of the Google Compute Engine + * [zone](/compute/docs/zones#available) in which the cluster resides. + * @param string $clusterId The name of the cluster to upgrade. + * @param Google_Service_Container_UpdateClusterRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Container_Operation + */ + public function update($projectId, $zone, $clusterId, Google_Service_Container_UpdateClusterRequest $postBody, $optParams = array()) + { + $params = array('projectId' => $projectId, 'zone' => $zone, 'clusterId' => $clusterId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('update', array($params), "Google_Service_Container_Operation"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Container/Resource/ProjectsZonesClustersNodePools.php b/vendor/google/apiclient-services/src/Google/Service/Container/Resource/ProjectsZonesClustersNodePools.php new file mode 100644 index 00000000..7763c92a --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Container/Resource/ProjectsZonesClustersNodePools.php @@ -0,0 +1,139 @@ + + * $containerService = new Google_Service_Container(...); + * $nodePools = $containerService->nodePools; + * + */ +class Google_Service_Container_Resource_ProjectsZonesClustersNodePools extends Google_Service_Resource +{ + /** + * Creates a node pool for a cluster. (nodePools.create) + * + * @param string $projectId The Google Developers Console [project ID or project + * number](https://developers.google.com/console/help/new/#projectnumber). + * @param string $zone The name of the Google Compute Engine + * [zone](/compute/docs/zones#available) in which the cluster resides. + * @param string $clusterId The name of the cluster. + * @param Google_Service_Container_CreateNodePoolRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Container_Operation + */ + public function create($projectId, $zone, $clusterId, Google_Service_Container_CreateNodePoolRequest $postBody, $optParams = array()) + { + $params = array('projectId' => $projectId, 'zone' => $zone, 'clusterId' => $clusterId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('create', array($params), "Google_Service_Container_Operation"); + } + /** + * Deletes a node pool from a cluster. (nodePools.delete) + * + * @param string $projectId The Google Developers Console [project ID or project + * number](https://developers.google.com/console/help/new/#projectnumber). + * @param string $zone The name of the Google Compute Engine + * [zone](/compute/docs/zones#available) in which the cluster resides. + * @param string $clusterId The name of the cluster. + * @param string $nodePoolId The name of the node pool to delete. + * @param array $optParams Optional parameters. + * @return Google_Service_Container_Operation + */ + public function delete($projectId, $zone, $clusterId, $nodePoolId, $optParams = array()) + { + $params = array('projectId' => $projectId, 'zone' => $zone, 'clusterId' => $clusterId, 'nodePoolId' => $nodePoolId); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params), "Google_Service_Container_Operation"); + } + /** + * Retrieves the node pool requested. (nodePools.get) + * + * @param string $projectId The Google Developers Console [project ID or project + * number](https://developers.google.com/console/help/new/#projectnumber). + * @param string $zone The name of the Google Compute Engine + * [zone](/compute/docs/zones#available) in which the cluster resides. + * @param string $clusterId The name of the cluster. + * @param string $nodePoolId The name of the node pool. + * @param array $optParams Optional parameters. + * @return Google_Service_Container_NodePool + */ + public function get($projectId, $zone, $clusterId, $nodePoolId, $optParams = array()) + { + $params = array('projectId' => $projectId, 'zone' => $zone, 'clusterId' => $clusterId, 'nodePoolId' => $nodePoolId); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Container_NodePool"); + } + /** + * Lists the node pools for a cluster. + * (nodePools.listProjectsZonesClustersNodePools) + * + * @param string $projectId The Google Developers Console [project ID or project + * number](https://developers.google.com/console/help/new/#projectnumber). + * @param string $zone The name of the Google Compute Engine + * [zone](/compute/docs/zones#available) in which the cluster resides. + * @param string $clusterId The name of the cluster. + * @param array $optParams Optional parameters. + * @return Google_Service_Container_ListNodePoolsResponse + */ + public function listProjectsZonesClustersNodePools($projectId, $zone, $clusterId, $optParams = array()) + { + $params = array('projectId' => $projectId, 'zone' => $zone, 'clusterId' => $clusterId); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Container_ListNodePoolsResponse"); + } + /** + * Roll back the previously Aborted or Failed NodePool upgrade. This will be an + * no-op if the last upgrade successfully completed. (nodePools.rollback) + * + * @param string $projectId The Google Developers Console [project ID or project + * number](https://support.google.com/cloud/answer/6158840). + * @param string $zone The name of the Google Compute Engine + * [zone](/compute/docs/zones#available) in which the cluster resides. + * @param string $clusterId The name of the cluster to rollback. + * @param string $nodePoolId The name of the node pool to rollback. + * @param Google_Service_Container_RollbackNodePoolUpgradeRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Container_Operation + */ + public function rollback($projectId, $zone, $clusterId, $nodePoolId, Google_Service_Container_RollbackNodePoolUpgradeRequest $postBody, $optParams = array()) + { + $params = array('projectId' => $projectId, 'zone' => $zone, 'clusterId' => $clusterId, 'nodePoolId' => $nodePoolId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('rollback', array($params), "Google_Service_Container_Operation"); + } + /** + * Sets the NodeManagement options for a node pool. (nodePools.setManagement) + * + * @param string $projectId The Google Developers Console [project ID or project + * number](https://support.google.com/cloud/answer/6158840). + * @param string $zone The name of the Google Compute Engine + * [zone](/compute/docs/zones#available) in which the cluster resides. + * @param string $clusterId The name of the cluster to update. + * @param string $nodePoolId The name of the node pool to update. + * @param Google_Service_Container_SetNodePoolManagementRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Container_Operation + */ + public function setManagement($projectId, $zone, $clusterId, $nodePoolId, Google_Service_Container_SetNodePoolManagementRequest $postBody, $optParams = array()) + { + $params = array('projectId' => $projectId, 'zone' => $zone, 'clusterId' => $clusterId, 'nodePoolId' => $nodePoolId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('setManagement', array($params), "Google_Service_Container_Operation"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Container/Resource/ProjectsZonesOperations.php b/vendor/google/apiclient-services/src/Google/Service/Container/Resource/ProjectsZonesOperations.php new file mode 100644 index 00000000..2622ee32 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Container/Resource/ProjectsZonesOperations.php @@ -0,0 +1,81 @@ + + * $containerService = new Google_Service_Container(...); + * $operations = $containerService->operations; + * + */ +class Google_Service_Container_Resource_ProjectsZonesOperations extends Google_Service_Resource +{ + /** + * Cancels the specified operation. (operations.cancel) + * + * @param string $projectId The Google Developers Console [project ID or project + * number](https://support.google.com/cloud/answer/6158840). + * @param string $zone The name of the Google Compute Engine + * [zone](/compute/docs/zones#available) in which the operation resides. + * @param string $operationId The server-assigned `name` of the operation. + * @param Google_Service_Container_CancelOperationRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Container_ContainerEmpty + */ + public function cancel($projectId, $zone, $operationId, Google_Service_Container_CancelOperationRequest $postBody, $optParams = array()) + { + $params = array('projectId' => $projectId, 'zone' => $zone, 'operationId' => $operationId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('cancel', array($params), "Google_Service_Container_ContainerEmpty"); + } + /** + * Gets the specified operation. (operations.get) + * + * @param string $projectId The Google Developers Console [project ID or project + * number](https://support.google.com/cloud/answer/6158840). + * @param string $zone The name of the Google Compute Engine + * [zone](/compute/docs/zones#available) in which the cluster resides. + * @param string $operationId The server-assigned `name` of the operation. + * @param array $optParams Optional parameters. + * @return Google_Service_Container_Operation + */ + public function get($projectId, $zone, $operationId, $optParams = array()) + { + $params = array('projectId' => $projectId, 'zone' => $zone, 'operationId' => $operationId); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Container_Operation"); + } + /** + * Lists all operations in a project in a specific zone or all zones. + * (operations.listProjectsZonesOperations) + * + * @param string $projectId The Google Developers Console [project ID or project + * number](https://support.google.com/cloud/answer/6158840). + * @param string $zone The name of the Google Compute Engine + * [zone](/compute/docs/zones#available) to return operations for, or `-` for + * all zones. + * @param array $optParams Optional parameters. + * @return Google_Service_Container_ListOperationsResponse + */ + public function listProjectsZonesOperations($projectId, $zone, $optParams = array()) + { + $params = array('projectId' => $projectId, 'zone' => $zone); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Container_ListOperationsResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Container/RollbackNodePoolUpgradeRequest.php b/vendor/google/apiclient-services/src/Google/Service/Container/RollbackNodePoolUpgradeRequest.php new file mode 100644 index 00000000..7054ca00 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Container/RollbackNodePoolUpgradeRequest.php @@ -0,0 +1,20 @@ +defaultClusterVersion = $defaultClusterVersion; + } + public function getDefaultClusterVersion() + { + return $this->defaultClusterVersion; + } + public function setDefaultImageType($defaultImageType) + { + $this->defaultImageType = $defaultImageType; + } + public function getDefaultImageType() + { + return $this->defaultImageType; + } + public function setValidImageTypes($validImageTypes) + { + $this->validImageTypes = $validImageTypes; + } + public function getValidImageTypes() + { + return $this->validImageTypes; + } + public function setValidMasterVersions($validMasterVersions) + { + $this->validMasterVersions = $validMasterVersions; + } + public function getValidMasterVersions() + { + return $this->validMasterVersions; + } + public function setValidNodeVersions($validNodeVersions) + { + $this->validNodeVersions = $validNodeVersions; + } + public function getValidNodeVersions() + { + return $this->validNodeVersions; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Container/SetNodePoolManagementRequest.php b/vendor/google/apiclient-services/src/Google/Service/Container/SetNodePoolManagementRequest.php new file mode 100644 index 00000000..591c099a --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Container/SetNodePoolManagementRequest.php @@ -0,0 +1,31 @@ +management = $management; + } + public function getManagement() + { + return $this->management; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Container/UpdateClusterRequest.php b/vendor/google/apiclient-services/src/Google/Service/Container/UpdateClusterRequest.php new file mode 100644 index 00000000..76f262c3 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Container/UpdateClusterRequest.php @@ -0,0 +1,31 @@ +update = $update; + } + public function getUpdate() + { + return $this->update; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Coordinate.php b/vendor/google/apiclient-services/src/Google/Service/Coordinate.php new file mode 100644 index 00000000..5d25c17f --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Coordinate.php @@ -0,0 +1,467 @@ + + * Lets you view and manage jobs in a Coordinate team.

+ * + *

+ * For more information about this service, see the API + * Documentation + *

+ * + * @author Google, Inc. + */ +class Google_Service_Coordinate extends Google_Service +{ + /** View and manage your Google Maps Coordinate jobs. */ + const COORDINATE = + "https://www.googleapis.com/auth/coordinate"; + /** View your Google Coordinate jobs. */ + const COORDINATE_READONLY = + "https://www.googleapis.com/auth/coordinate.readonly"; + + public $customFieldDef; + public $jobs; + public $location; + public $schedule; + public $team; + public $worker; + + /** + * Constructs the internal representation of the Coordinate service. + * + * @param Google_Client $client + */ + public function __construct(Google_Client $client) + { + parent::__construct($client); + $this->rootUrl = 'https://www.googleapis.com/'; + $this->servicePath = 'coordinate/v1/'; + $this->version = 'v1'; + $this->serviceName = 'coordinate'; + + $this->customFieldDef = new Google_Service_Coordinate_Resource_CustomFieldDef( + $this, + $this->serviceName, + 'customFieldDef', + array( + 'methods' => array( + 'list' => array( + 'path' => 'teams/{teamId}/custom_fields', + 'httpMethod' => 'GET', + 'parameters' => array( + 'teamId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->jobs = new Google_Service_Coordinate_Resource_Jobs( + $this, + $this->serviceName, + 'jobs', + array( + 'methods' => array( + 'get' => array( + 'path' => 'teams/{teamId}/jobs/{jobId}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'teamId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'jobId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'insert' => array( + 'path' => 'teams/{teamId}/jobs', + 'httpMethod' => 'POST', + 'parameters' => array( + 'teamId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'address' => array( + 'location' => 'query', + 'type' => 'string', + 'required' => true, + ), + 'lat' => array( + 'location' => 'query', + 'type' => 'number', + 'required' => true, + ), + 'lng' => array( + 'location' => 'query', + 'type' => 'number', + 'required' => true, + ), + 'title' => array( + 'location' => 'query', + 'type' => 'string', + 'required' => true, + ), + 'assignee' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'customField' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + ), + 'customerName' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'customerPhoneNumber' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'note' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'list' => array( + 'path' => 'teams/{teamId}/jobs', + 'httpMethod' => 'GET', + 'parameters' => array( + 'teamId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'minModifiedTimestampMs' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'omitJobChanges' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'patch' => array( + 'path' => 'teams/{teamId}/jobs/{jobId}', + 'httpMethod' => 'PATCH', + 'parameters' => array( + 'teamId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'jobId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'address' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'assignee' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'customField' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + ), + 'customerName' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'customerPhoneNumber' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'lat' => array( + 'location' => 'query', + 'type' => 'number', + ), + 'lng' => array( + 'location' => 'query', + 'type' => 'number', + ), + 'note' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'progress' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'title' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'update' => array( + 'path' => 'teams/{teamId}/jobs/{jobId}', + 'httpMethod' => 'PUT', + 'parameters' => array( + 'teamId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'jobId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'address' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'assignee' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'customField' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + ), + 'customerName' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'customerPhoneNumber' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'lat' => array( + 'location' => 'query', + 'type' => 'number', + ), + 'lng' => array( + 'location' => 'query', + 'type' => 'number', + ), + 'note' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'progress' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'title' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + $this->location = new Google_Service_Coordinate_Resource_Location( + $this, + $this->serviceName, + 'location', + array( + 'methods' => array( + 'list' => array( + 'path' => 'teams/{teamId}/workers/{workerEmail}/locations', + 'httpMethod' => 'GET', + 'parameters' => array( + 'teamId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'workerEmail' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'startTimestampMs' => array( + 'location' => 'query', + 'type' => 'string', + 'required' => true, + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + $this->schedule = new Google_Service_Coordinate_Resource_Schedule( + $this, + $this->serviceName, + 'schedule', + array( + 'methods' => array( + 'get' => array( + 'path' => 'teams/{teamId}/jobs/{jobId}/schedule', + 'httpMethod' => 'GET', + 'parameters' => array( + 'teamId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'jobId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'patch' => array( + 'path' => 'teams/{teamId}/jobs/{jobId}/schedule', + 'httpMethod' => 'PATCH', + 'parameters' => array( + 'teamId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'jobId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'allDay' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + 'duration' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'endTime' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'startTime' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'update' => array( + 'path' => 'teams/{teamId}/jobs/{jobId}/schedule', + 'httpMethod' => 'PUT', + 'parameters' => array( + 'teamId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'jobId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'allDay' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + 'duration' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'endTime' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'startTime' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + $this->team = new Google_Service_Coordinate_Resource_Team( + $this, + $this->serviceName, + 'team', + array( + 'methods' => array( + 'list' => array( + 'path' => 'teams', + 'httpMethod' => 'GET', + 'parameters' => array( + 'admin' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + 'dispatcher' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + 'worker' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + ), + ), + ) + ) + ); + $this->worker = new Google_Service_Coordinate_Resource_Worker( + $this, + $this->serviceName, + 'worker', + array( + 'methods' => array( + 'list' => array( + 'path' => 'teams/{teamId}/workers', + 'httpMethod' => 'GET', + 'parameters' => array( + 'teamId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Coordinate/CustomField.php b/vendor/google/apiclient-services/src/Google/Service/Coordinate/CustomField.php new file mode 100644 index 00000000..13226bff --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Coordinate/CustomField.php @@ -0,0 +1,48 @@ +customFieldId = $customFieldId; + } + public function getCustomFieldId() + { + return $this->customFieldId; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setValue($value) + { + $this->value = $value; + } + public function getValue() + { + return $this->value; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Coordinate/CustomFieldDef.php b/vendor/google/apiclient-services/src/Google/Service/Coordinate/CustomFieldDef.php new file mode 100644 index 00000000..82a8837c --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Coordinate/CustomFieldDef.php @@ -0,0 +1,86 @@ +enabled = $enabled; + } + public function getEnabled() + { + return $this->enabled; + } + public function setEnumitems($enumitems) + { + $this->enumitems = $enumitems; + } + public function getEnumitems() + { + return $this->enumitems; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setRequiredForCheckout($requiredForCheckout) + { + $this->requiredForCheckout = $requiredForCheckout; + } + public function getRequiredForCheckout() + { + return $this->requiredForCheckout; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Coordinate/CustomFieldDefListResponse.php b/vendor/google/apiclient-services/src/Google/Service/Coordinate/CustomFieldDefListResponse.php new file mode 100644 index 00000000..af1d038d --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Coordinate/CustomFieldDefListResponse.php @@ -0,0 +1,41 @@ +items = $items; + } + public function getItems() + { + return $this->items; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Coordinate/CustomFields.php b/vendor/google/apiclient-services/src/Google/Service/Coordinate/CustomFields.php new file mode 100644 index 00000000..32f9900c --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Coordinate/CustomFields.php @@ -0,0 +1,41 @@ +customField = $customField; + } + public function getCustomField() + { + return $this->customField; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Coordinate/EnumItemDef.php b/vendor/google/apiclient-services/src/Google/Service/Coordinate/EnumItemDef.php new file mode 100644 index 00000000..2086600a --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Coordinate/EnumItemDef.php @@ -0,0 +1,48 @@ +active = $active; + } + public function getActive() + { + return $this->active; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setValue($value) + { + $this->value = $value; + } + public function getValue() + { + return $this->value; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Coordinate/Job.php b/vendor/google/apiclient-services/src/Google/Service/Coordinate/Job.php new file mode 100644 index 00000000..4c6a337c --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Coordinate/Job.php @@ -0,0 +1,60 @@ +id = $id; + } + public function getId() + { + return $this->id; + } + public function setJobChange($jobChange) + { + $this->jobChange = $jobChange; + } + public function getJobChange() + { + return $this->jobChange; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setState(Google_Service_Coordinate_JobState $state) + { + $this->state = $state; + } + public function getState() + { + return $this->state; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Coordinate/JobChange.php b/vendor/google/apiclient-services/src/Google/Service/Coordinate/JobChange.php new file mode 100644 index 00000000..a3e0611c --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Coordinate/JobChange.php @@ -0,0 +1,49 @@ +kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setState(Google_Service_Coordinate_JobState $state) + { + $this->state = $state; + } + public function getState() + { + return $this->state; + } + public function setTimestamp($timestamp) + { + $this->timestamp = $timestamp; + } + public function getTimestamp() + { + return $this->timestamp; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Coordinate/JobListResponse.php b/vendor/google/apiclient-services/src/Google/Service/Coordinate/JobListResponse.php new file mode 100644 index 00000000..0793fc41 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Coordinate/JobListResponse.php @@ -0,0 +1,50 @@ +items = $items; + } + public function getItems() + { + return $this->items; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Coordinate/JobState.php b/vendor/google/apiclient-services/src/Google/Service/Coordinate/JobState.php new file mode 100644 index 00000000..c997d69d --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Coordinate/JobState.php @@ -0,0 +1,105 @@ +assignee = $assignee; + } + public function getAssignee() + { + return $this->assignee; + } + public function setCustomFields(Google_Service_Coordinate_CustomFields $customFields) + { + $this->customFields = $customFields; + } + public function getCustomFields() + { + return $this->customFields; + } + public function setCustomerName($customerName) + { + $this->customerName = $customerName; + } + public function getCustomerName() + { + return $this->customerName; + } + public function setCustomerPhoneNumber($customerPhoneNumber) + { + $this->customerPhoneNumber = $customerPhoneNumber; + } + public function getCustomerPhoneNumber() + { + return $this->customerPhoneNumber; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setLocation(Google_Service_Coordinate_Location $location) + { + $this->location = $location; + } + public function getLocation() + { + return $this->location; + } + public function setNote($note) + { + $this->note = $note; + } + public function getNote() + { + return $this->note; + } + public function setProgress($progress) + { + $this->progress = $progress; + } + public function getProgress() + { + return $this->progress; + } + public function setTitle($title) + { + $this->title = $title; + } + public function getTitle() + { + return $this->title; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Coordinate/Location.php b/vendor/google/apiclient-services/src/Google/Service/Coordinate/Location.php new file mode 100644 index 00000000..1b699eec --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Coordinate/Location.php @@ -0,0 +1,58 @@ +addressLine = $addressLine; + } + public function getAddressLine() + { + return $this->addressLine; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setLat($lat) + { + $this->lat = $lat; + } + public function getLat() + { + return $this->lat; + } + public function setLng($lng) + { + $this->lng = $lng; + } + public function getLng() + { + return $this->lng; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Coordinate/LocationListResponse.php b/vendor/google/apiclient-services/src/Google/Service/Coordinate/LocationListResponse.php new file mode 100644 index 00000000..ac5334a9 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Coordinate/LocationListResponse.php @@ -0,0 +1,60 @@ +items = $items; + } + public function getItems() + { + return $this->items; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setTokenPagination(Google_Service_Coordinate_TokenPagination $tokenPagination) + { + $this->tokenPagination = $tokenPagination; + } + public function getTokenPagination() + { + return $this->tokenPagination; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Coordinate/LocationRecord.php b/vendor/google/apiclient-services/src/Google/Service/Coordinate/LocationRecord.php new file mode 100644 index 00000000..79a6839a --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Coordinate/LocationRecord.php @@ -0,0 +1,66 @@ +collectionTime = $collectionTime; + } + public function getCollectionTime() + { + return $this->collectionTime; + } + public function setConfidenceRadius($confidenceRadius) + { + $this->confidenceRadius = $confidenceRadius; + } + public function getConfidenceRadius() + { + return $this->confidenceRadius; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setLatitude($latitude) + { + $this->latitude = $latitude; + } + public function getLatitude() + { + return $this->latitude; + } + public function setLongitude($longitude) + { + $this->longitude = $longitude; + } + public function getLongitude() + { + return $this->longitude; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Coordinate/Resource/CustomFieldDef.php b/vendor/google/apiclient-services/src/Google/Service/Coordinate/Resource/CustomFieldDef.php new file mode 100644 index 00000000..59f814c1 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Coordinate/Resource/CustomFieldDef.php @@ -0,0 +1,42 @@ + + * $coordinateService = new Google_Service_Coordinate(...); + * $customFieldDef = $coordinateService->customFieldDef; + * + */ +class Google_Service_Coordinate_Resource_CustomFieldDef extends Google_Service_Resource +{ + /** + * Retrieves a list of custom field definitions for a team. + * (customFieldDef.listCustomFieldDef) + * + * @param string $teamId Team ID + * @param array $optParams Optional parameters. + * @return Google_Service_Coordinate_CustomFieldDefListResponse + */ + public function listCustomFieldDef($teamId, $optParams = array()) + { + $params = array('teamId' => $teamId); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Coordinate_CustomFieldDefListResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Coordinate/Resource/Jobs.php b/vendor/google/apiclient-services/src/Google/Service/Coordinate/Resource/Jobs.php new file mode 100644 index 00000000..a6a3021a --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Coordinate/Resource/Jobs.php @@ -0,0 +1,159 @@ + + * $coordinateService = new Google_Service_Coordinate(...); + * $jobs = $coordinateService->jobs; + * + */ +class Google_Service_Coordinate_Resource_Jobs extends Google_Service_Resource +{ + /** + * Retrieves a job, including all the changes made to the job. (jobs.get) + * + * @param string $teamId Team ID + * @param string $jobId Job number + * @param array $optParams Optional parameters. + * @return Google_Service_Coordinate_Job + */ + public function get($teamId, $jobId, $optParams = array()) + { + $params = array('teamId' => $teamId, 'jobId' => $jobId); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Coordinate_Job"); + } + /** + * Inserts a new job. Only the state field of the job should be set. + * (jobs.insert) + * + * @param string $teamId Team ID + * @param string $address Job address as newline (Unix) separated string + * @param double $lat The latitude coordinate of this job's location. + * @param double $lng The longitude coordinate of this job's location. + * @param string $title Job title + * @param Google_Service_Coordinate_Job $postBody + * @param array $optParams Optional parameters. + * + * @opt_param string assignee Assignee email address, or empty string to + * unassign. + * @opt_param string customField Sets the value of custom fields. To set a + * custom field, pass the field id (from /team/teamId/custom_fields), a URL + * escaped '=' character, and the desired value as a parameter. For example, + * customField=12%3DAlice. Repeat the parameter for each custom field. Note that + * '=' cannot appear in the parameter value. Specifying an invalid, or inactive + * enum field will result in an error 500. + * @opt_param string customerName Customer name + * @opt_param string customerPhoneNumber Customer phone number + * @opt_param string note Job note as newline (Unix) separated string + * @return Google_Service_Coordinate_Job + */ + public function insert($teamId, $address, $lat, $lng, $title, Google_Service_Coordinate_Job $postBody, $optParams = array()) + { + $params = array('teamId' => $teamId, 'address' => $address, 'lat' => $lat, 'lng' => $lng, 'title' => $title, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('insert', array($params), "Google_Service_Coordinate_Job"); + } + /** + * Retrieves jobs created or modified since the given timestamp. (jobs.listJobs) + * + * @param string $teamId Team ID + * @param array $optParams Optional parameters. + * + * @opt_param string maxResults Maximum number of results to return in one page. + * @opt_param string minModifiedTimestampMs Minimum time a job was modified in + * milliseconds since epoch. + * @opt_param bool omitJobChanges Whether to omit detail job history + * information. + * @opt_param string pageToken Continuation token + * @return Google_Service_Coordinate_JobListResponse + */ + public function listJobs($teamId, $optParams = array()) + { + $params = array('teamId' => $teamId); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Coordinate_JobListResponse"); + } + /** + * Updates a job. Fields that are set in the job state will be updated. This + * method supports patch semantics. (jobs.patch) + * + * @param string $teamId Team ID + * @param string $jobId Job number + * @param Google_Service_Coordinate_Job $postBody + * @param array $optParams Optional parameters. + * + * @opt_param string address Job address as newline (Unix) separated string + * @opt_param string assignee Assignee email address, or empty string to + * unassign. + * @opt_param string customField Sets the value of custom fields. To set a + * custom field, pass the field id (from /team/teamId/custom_fields), a URL + * escaped '=' character, and the desired value as a parameter. For example, + * customField=12%3DAlice. Repeat the parameter for each custom field. Note that + * '=' cannot appear in the parameter value. Specifying an invalid, or inactive + * enum field will result in an error 500. + * @opt_param string customerName Customer name + * @opt_param string customerPhoneNumber Customer phone number + * @opt_param double lat The latitude coordinate of this job's location. + * @opt_param double lng The longitude coordinate of this job's location. + * @opt_param string note Job note as newline (Unix) separated string + * @opt_param string progress Job progress + * @opt_param string title Job title + * @return Google_Service_Coordinate_Job + */ + public function patch($teamId, $jobId, Google_Service_Coordinate_Job $postBody, $optParams = array()) + { + $params = array('teamId' => $teamId, 'jobId' => $jobId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('patch', array($params), "Google_Service_Coordinate_Job"); + } + /** + * Updates a job. Fields that are set in the job state will be updated. + * (jobs.update) + * + * @param string $teamId Team ID + * @param string $jobId Job number + * @param Google_Service_Coordinate_Job $postBody + * @param array $optParams Optional parameters. + * + * @opt_param string address Job address as newline (Unix) separated string + * @opt_param string assignee Assignee email address, or empty string to + * unassign. + * @opt_param string customField Sets the value of custom fields. To set a + * custom field, pass the field id (from /team/teamId/custom_fields), a URL + * escaped '=' character, and the desired value as a parameter. For example, + * customField=12%3DAlice. Repeat the parameter for each custom field. Note that + * '=' cannot appear in the parameter value. Specifying an invalid, or inactive + * enum field will result in an error 500. + * @opt_param string customerName Customer name + * @opt_param string customerPhoneNumber Customer phone number + * @opt_param double lat The latitude coordinate of this job's location. + * @opt_param double lng The longitude coordinate of this job's location. + * @opt_param string note Job note as newline (Unix) separated string + * @opt_param string progress Job progress + * @opt_param string title Job title + * @return Google_Service_Coordinate_Job + */ + public function update($teamId, $jobId, Google_Service_Coordinate_Job $postBody, $optParams = array()) + { + $params = array('teamId' => $teamId, 'jobId' => $jobId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('update', array($params), "Google_Service_Coordinate_Job"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Coordinate/Resource/Location.php b/vendor/google/apiclient-services/src/Google/Service/Coordinate/Resource/Location.php new file mode 100644 index 00000000..e879bdaf --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Coordinate/Resource/Location.php @@ -0,0 +1,47 @@ + + * $coordinateService = new Google_Service_Coordinate(...); + * $location = $coordinateService->location; + * + */ +class Google_Service_Coordinate_Resource_Location extends Google_Service_Resource +{ + /** + * Retrieves a list of locations for a worker. (location.listLocation) + * + * @param string $teamId Team ID + * @param string $workerEmail Worker email address. + * @param string $startTimestampMs Start timestamp in milliseconds since the + * epoch. + * @param array $optParams Optional parameters. + * + * @opt_param string maxResults Maximum number of results to return in one page. + * @opt_param string pageToken Continuation token + * @return Google_Service_Coordinate_LocationListResponse + */ + public function listLocation($teamId, $workerEmail, $startTimestampMs, $optParams = array()) + { + $params = array('teamId' => $teamId, 'workerEmail' => $workerEmail, 'startTimestampMs' => $startTimestampMs); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Coordinate_LocationListResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Coordinate/Resource/Schedule.php b/vendor/google/apiclient-services/src/Google/Service/Coordinate/Resource/Schedule.php new file mode 100644 index 00000000..8978e4c1 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Coordinate/Resource/Schedule.php @@ -0,0 +1,85 @@ + + * $coordinateService = new Google_Service_Coordinate(...); + * $schedule = $coordinateService->schedule; + * + */ +class Google_Service_Coordinate_Resource_Schedule extends Google_Service_Resource +{ + /** + * Retrieves the schedule for a job. (schedule.get) + * + * @param string $teamId Team ID + * @param string $jobId Job number + * @param array $optParams Optional parameters. + * @return Google_Service_Coordinate_Schedule + */ + public function get($teamId, $jobId, $optParams = array()) + { + $params = array('teamId' => $teamId, 'jobId' => $jobId); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Coordinate_Schedule"); + } + /** + * Replaces the schedule of a job with the provided schedule. This method + * supports patch semantics. (schedule.patch) + * + * @param string $teamId Team ID + * @param string $jobId Job number + * @param Google_Service_Coordinate_Schedule $postBody + * @param array $optParams Optional parameters. + * + * @opt_param bool allDay Whether the job is scheduled for the whole day. Time + * of day in start/end times is ignored if this is true. + * @opt_param string duration Job duration in milliseconds. + * @opt_param string endTime Scheduled end time in milliseconds since epoch. + * @opt_param string startTime Scheduled start time in milliseconds since epoch. + * @return Google_Service_Coordinate_Schedule + */ + public function patch($teamId, $jobId, Google_Service_Coordinate_Schedule $postBody, $optParams = array()) + { + $params = array('teamId' => $teamId, 'jobId' => $jobId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('patch', array($params), "Google_Service_Coordinate_Schedule"); + } + /** + * Replaces the schedule of a job with the provided schedule. (schedule.update) + * + * @param string $teamId Team ID + * @param string $jobId Job number + * @param Google_Service_Coordinate_Schedule $postBody + * @param array $optParams Optional parameters. + * + * @opt_param bool allDay Whether the job is scheduled for the whole day. Time + * of day in start/end times is ignored if this is true. + * @opt_param string duration Job duration in milliseconds. + * @opt_param string endTime Scheduled end time in milliseconds since epoch. + * @opt_param string startTime Scheduled start time in milliseconds since epoch. + * @return Google_Service_Coordinate_Schedule + */ + public function update($teamId, $jobId, Google_Service_Coordinate_Schedule $postBody, $optParams = array()) + { + $params = array('teamId' => $teamId, 'jobId' => $jobId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('update', array($params), "Google_Service_Coordinate_Schedule"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Coordinate/Resource/Team.php b/vendor/google/apiclient-services/src/Google/Service/Coordinate/Resource/Team.php new file mode 100644 index 00000000..e3355321 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Coordinate/Resource/Team.php @@ -0,0 +1,47 @@ + + * $coordinateService = new Google_Service_Coordinate(...); + * $team = $coordinateService->team; + * + */ +class Google_Service_Coordinate_Resource_Team extends Google_Service_Resource +{ + /** + * Retrieves a list of teams for a user. (team.listTeam) + * + * @param array $optParams Optional parameters. + * + * @opt_param bool admin Whether to include teams for which the user has the + * Admin role. + * @opt_param bool dispatcher Whether to include teams for which the user has + * the Dispatcher role. + * @opt_param bool worker Whether to include teams for which the user has the + * Worker role. + * @return Google_Service_Coordinate_TeamListResponse + */ + public function listTeam($optParams = array()) + { + $params = array(); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Coordinate_TeamListResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Coordinate/Resource/Worker.php b/vendor/google/apiclient-services/src/Google/Service/Coordinate/Resource/Worker.php new file mode 100644 index 00000000..d01fc571 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Coordinate/Resource/Worker.php @@ -0,0 +1,41 @@ + + * $coordinateService = new Google_Service_Coordinate(...); + * $worker = $coordinateService->worker; + * + */ +class Google_Service_Coordinate_Resource_Worker extends Google_Service_Resource +{ + /** + * Retrieves a list of workers in a team. (worker.listWorker) + * + * @param string $teamId Team ID + * @param array $optParams Optional parameters. + * @return Google_Service_Coordinate_WorkerListResponse + */ + public function listWorker($teamId, $optParams = array()) + { + $params = array('teamId' => $teamId); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Coordinate_WorkerListResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Coordinate/Schedule.php b/vendor/google/apiclient-services/src/Google/Service/Coordinate/Schedule.php new file mode 100644 index 00000000..dc75febe --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Coordinate/Schedule.php @@ -0,0 +1,66 @@ +allDay = $allDay; + } + public function getAllDay() + { + return $this->allDay; + } + public function setDuration($duration) + { + $this->duration = $duration; + } + public function getDuration() + { + return $this->duration; + } + public function setEndTime($endTime) + { + $this->endTime = $endTime; + } + public function getEndTime() + { + return $this->endTime; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setStartTime($startTime) + { + $this->startTime = $startTime; + } + public function getStartTime() + { + return $this->startTime; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Coordinate/Team.php b/vendor/google/apiclient-services/src/Google/Service/Coordinate/Team.php new file mode 100644 index 00000000..0fb51956 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Coordinate/Team.php @@ -0,0 +1,48 @@ +id = $id; + } + public function getId() + { + return $this->id; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Coordinate/TeamListResponse.php b/vendor/google/apiclient-services/src/Google/Service/Coordinate/TeamListResponse.php new file mode 100644 index 00000000..fa86755c --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Coordinate/TeamListResponse.php @@ -0,0 +1,41 @@ +items = $items; + } + public function getItems() + { + return $this->items; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Coordinate/TokenPagination.php b/vendor/google/apiclient-services/src/Google/Service/Coordinate/TokenPagination.php new file mode 100644 index 00000000..e66763ce --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Coordinate/TokenPagination.php @@ -0,0 +1,48 @@ +kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setPreviousPageToken($previousPageToken) + { + $this->previousPageToken = $previousPageToken; + } + public function getPreviousPageToken() + { + return $this->previousPageToken; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Coordinate/Worker.php b/vendor/google/apiclient-services/src/Google/Service/Coordinate/Worker.php new file mode 100644 index 00000000..1f078063 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Coordinate/Worker.php @@ -0,0 +1,39 @@ +id = $id; + } + public function getId() + { + return $this->id; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Coordinate/WorkerListResponse.php b/vendor/google/apiclient-services/src/Google/Service/Coordinate/WorkerListResponse.php new file mode 100644 index 00000000..39dfe75e --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Coordinate/WorkerListResponse.php @@ -0,0 +1,41 @@ +items = $items; + } + public function getItems() + { + return $this->items; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Customsearch.php b/vendor/google/apiclient-services/src/Google/Service/Customsearch.php new file mode 100644 index 00000000..568833c7 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Customsearch.php @@ -0,0 +1,195 @@ + + * Lets you search over a website or collection of websites

+ * + *

+ * For more information about this service, see the API + * Documentation + *

+ * + * @author Google, Inc. + */ +class Google_Service_Customsearch extends Google_Service +{ + + + public $cse; + + /** + * Constructs the internal representation of the Customsearch service. + * + * @param Google_Client $client + */ + public function __construct(Google_Client $client) + { + parent::__construct($client); + $this->rootUrl = 'https://www.googleapis.com/'; + $this->servicePath = 'customsearch/'; + $this->version = 'v1'; + $this->serviceName = 'customsearch'; + + $this->cse = new Google_Service_Customsearch_Resource_Cse( + $this, + $this->serviceName, + 'cse', + array( + 'methods' => array( + 'list' => array( + 'path' => 'v1', + 'httpMethod' => 'GET', + 'parameters' => array( + 'q' => array( + 'location' => 'query', + 'type' => 'string', + 'required' => true, + ), + 'c2coff' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'cr' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'cref' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'cx' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'dateRestrict' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'exactTerms' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'excludeTerms' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'fileType' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'filter' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'gl' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'googlehost' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'highRange' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'hl' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'hq' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'imgColorType' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'imgDominantColor' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'imgSize' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'imgType' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'linkSite' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'lowRange' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'lr' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'num' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'orTerms' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'relatedSite' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'rights' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'safe' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'searchType' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'siteSearch' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'siteSearchFilter' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'sort' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'start' => array( + 'location' => 'query', + 'type' => 'integer', + ), + ), + ), + ) + ) + ); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Customsearch/Context.php b/vendor/google/apiclient-services/src/Google/Service/Customsearch/Context.php new file mode 100644 index 00000000..e20a860c --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Customsearch/Context.php @@ -0,0 +1,41 @@ +facets = $facets; + } + public function getFacets() + { + return $this->facets; + } + public function setTitle($title) + { + $this->title = $title; + } + public function getTitle() + { + return $this->title; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Customsearch/ContextFacets.php b/vendor/google/apiclient-services/src/Google/Service/Customsearch/ContextFacets.php new file mode 100644 index 00000000..ba8e5265 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Customsearch/ContextFacets.php @@ -0,0 +1,51 @@ + "label_with_op", + ); + public $anchor; + public $label; + public $labelWithOp; + + public function setAnchor($anchor) + { + $this->anchor = $anchor; + } + public function getAnchor() + { + return $this->anchor; + } + public function setLabel($label) + { + $this->label = $label; + } + public function getLabel() + { + return $this->label; + } + public function setLabelWithOp($labelWithOp) + { + $this->labelWithOp = $labelWithOp; + } + public function getLabelWithOp() + { + return $this->labelWithOp; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Customsearch/Promotion.php b/vendor/google/apiclient-services/src/Google/Service/Customsearch/Promotion.php new file mode 100644 index 00000000..cda98fb0 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Customsearch/Promotion.php @@ -0,0 +1,78 @@ +bodyLines = $bodyLines; + } + public function getBodyLines() + { + return $this->bodyLines; + } + public function setDisplayLink($displayLink) + { + $this->displayLink = $displayLink; + } + public function getDisplayLink() + { + return $this->displayLink; + } + public function setHtmlTitle($htmlTitle) + { + $this->htmlTitle = $htmlTitle; + } + public function getHtmlTitle() + { + return $this->htmlTitle; + } + public function setImage(Google_Service_Customsearch_PromotionImage $image) + { + $this->image = $image; + } + public function getImage() + { + return $this->image; + } + public function setLink($link) + { + $this->link = $link; + } + public function getLink() + { + return $this->link; + } + public function setTitle($title) + { + $this->title = $title; + } + public function getTitle() + { + return $this->title; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Customsearch/PromotionBodyLines.php b/vendor/google/apiclient-services/src/Google/Service/Customsearch/PromotionBodyLines.php new file mode 100644 index 00000000..4201ddf0 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Customsearch/PromotionBodyLines.php @@ -0,0 +1,57 @@ +htmlTitle = $htmlTitle; + } + public function getHtmlTitle() + { + return $this->htmlTitle; + } + public function setLink($link) + { + $this->link = $link; + } + public function getLink() + { + return $this->link; + } + public function setTitle($title) + { + $this->title = $title; + } + public function getTitle() + { + return $this->title; + } + public function setUrl($url) + { + $this->url = $url; + } + public function getUrl() + { + return $this->url; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Customsearch/PromotionImage.php b/vendor/google/apiclient-services/src/Google/Service/Customsearch/PromotionImage.php new file mode 100644 index 00000000..475feb52 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Customsearch/PromotionImage.php @@ -0,0 +1,48 @@ +height = $height; + } + public function getHeight() + { + return $this->height; + } + public function setSource($source) + { + $this->source = $source; + } + public function getSource() + { + return $this->source; + } + public function setWidth($width) + { + $this->width = $width; + } + public function getWidth() + { + return $this->width; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Customsearch/Query.php b/vendor/google/apiclient-services/src/Google/Service/Customsearch/Query.php new file mode 100644 index 00000000..6c0e92c0 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Customsearch/Query.php @@ -0,0 +1,354 @@ +count = $count; + } + public function getCount() + { + return $this->count; + } + public function setCr($cr) + { + $this->cr = $cr; + } + public function getCr() + { + return $this->cr; + } + public function setCref($cref) + { + $this->cref = $cref; + } + public function getCref() + { + return $this->cref; + } + public function setCx($cx) + { + $this->cx = $cx; + } + public function getCx() + { + return $this->cx; + } + public function setDateRestrict($dateRestrict) + { + $this->dateRestrict = $dateRestrict; + } + public function getDateRestrict() + { + return $this->dateRestrict; + } + public function setDisableCnTwTranslation($disableCnTwTranslation) + { + $this->disableCnTwTranslation = $disableCnTwTranslation; + } + public function getDisableCnTwTranslation() + { + return $this->disableCnTwTranslation; + } + public function setExactTerms($exactTerms) + { + $this->exactTerms = $exactTerms; + } + public function getExactTerms() + { + return $this->exactTerms; + } + public function setExcludeTerms($excludeTerms) + { + $this->excludeTerms = $excludeTerms; + } + public function getExcludeTerms() + { + return $this->excludeTerms; + } + public function setFileType($fileType) + { + $this->fileType = $fileType; + } + public function getFileType() + { + return $this->fileType; + } + public function setFilter($filter) + { + $this->filter = $filter; + } + public function getFilter() + { + return $this->filter; + } + public function setGl($gl) + { + $this->gl = $gl; + } + public function getGl() + { + return $this->gl; + } + public function setGoogleHost($googleHost) + { + $this->googleHost = $googleHost; + } + public function getGoogleHost() + { + return $this->googleHost; + } + public function setHighRange($highRange) + { + $this->highRange = $highRange; + } + public function getHighRange() + { + return $this->highRange; + } + public function setHl($hl) + { + $this->hl = $hl; + } + public function getHl() + { + return $this->hl; + } + public function setHq($hq) + { + $this->hq = $hq; + } + public function getHq() + { + return $this->hq; + } + public function setImgColorType($imgColorType) + { + $this->imgColorType = $imgColorType; + } + public function getImgColorType() + { + return $this->imgColorType; + } + public function setImgDominantColor($imgDominantColor) + { + $this->imgDominantColor = $imgDominantColor; + } + public function getImgDominantColor() + { + return $this->imgDominantColor; + } + public function setImgSize($imgSize) + { + $this->imgSize = $imgSize; + } + public function getImgSize() + { + return $this->imgSize; + } + public function setImgType($imgType) + { + $this->imgType = $imgType; + } + public function getImgType() + { + return $this->imgType; + } + public function setInputEncoding($inputEncoding) + { + $this->inputEncoding = $inputEncoding; + } + public function getInputEncoding() + { + return $this->inputEncoding; + } + public function setLanguage($language) + { + $this->language = $language; + } + public function getLanguage() + { + return $this->language; + } + public function setLinkSite($linkSite) + { + $this->linkSite = $linkSite; + } + public function getLinkSite() + { + return $this->linkSite; + } + public function setLowRange($lowRange) + { + $this->lowRange = $lowRange; + } + public function getLowRange() + { + return $this->lowRange; + } + public function setOrTerms($orTerms) + { + $this->orTerms = $orTerms; + } + public function getOrTerms() + { + return $this->orTerms; + } + public function setOutputEncoding($outputEncoding) + { + $this->outputEncoding = $outputEncoding; + } + public function getOutputEncoding() + { + return $this->outputEncoding; + } + public function setRelatedSite($relatedSite) + { + $this->relatedSite = $relatedSite; + } + public function getRelatedSite() + { + return $this->relatedSite; + } + public function setRights($rights) + { + $this->rights = $rights; + } + public function getRights() + { + return $this->rights; + } + public function setSafe($safe) + { + $this->safe = $safe; + } + public function getSafe() + { + return $this->safe; + } + public function setSearchTerms($searchTerms) + { + $this->searchTerms = $searchTerms; + } + public function getSearchTerms() + { + return $this->searchTerms; + } + public function setSearchType($searchType) + { + $this->searchType = $searchType; + } + public function getSearchType() + { + return $this->searchType; + } + public function setSiteSearch($siteSearch) + { + $this->siteSearch = $siteSearch; + } + public function getSiteSearch() + { + return $this->siteSearch; + } + public function setSiteSearchFilter($siteSearchFilter) + { + $this->siteSearchFilter = $siteSearchFilter; + } + public function getSiteSearchFilter() + { + return $this->siteSearchFilter; + } + public function setSort($sort) + { + $this->sort = $sort; + } + public function getSort() + { + return $this->sort; + } + public function setStartIndex($startIndex) + { + $this->startIndex = $startIndex; + } + public function getStartIndex() + { + return $this->startIndex; + } + public function setStartPage($startPage) + { + $this->startPage = $startPage; + } + public function getStartPage() + { + return $this->startPage; + } + public function setTitle($title) + { + $this->title = $title; + } + public function getTitle() + { + return $this->title; + } + public function setTotalResults($totalResults) + { + $this->totalResults = $totalResults; + } + public function getTotalResults() + { + return $this->totalResults; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Customsearch/Resource/Cse.php b/vendor/google/apiclient-services/src/Google/Service/Customsearch/Resource/Cse.php new file mode 100644 index 00000000..c70ebbf7 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Customsearch/Resource/Cse.php @@ -0,0 +1,94 @@ + + * $customsearchService = new Google_Service_Customsearch(...); + * $cse = $customsearchService->cse; + * + */ +class Google_Service_Customsearch_Resource_Cse extends Google_Service_Resource +{ + /** + * Returns metadata about the search performed, metadata about the custom search + * engine used for the search, and the search results. (cse.listCse) + * + * @param string $q Query + * @param array $optParams Optional parameters. + * + * @opt_param string c2coff Turns off the translation between zh-CN and zh-TW. + * @opt_param string cr Country restrict(s). + * @opt_param string cref The URL of a linked custom search engine + * @opt_param string cx The custom search engine ID to scope this search query + * @opt_param string dateRestrict Specifies all search results are from a time + * period + * @opt_param string exactTerms Identifies a phrase that all documents in the + * search results must contain + * @opt_param string excludeTerms Identifies a word or phrase that should not + * appear in any documents in the search results + * @opt_param string fileType Returns images of a specified type. Some of the + * allowed values are: bmp, gif, png, jpg, svg, pdf, ... + * @opt_param string filter Controls turning on or off the duplicate content + * filter. + * @opt_param string gl Geolocation of end user. + * @opt_param string googlehost The local Google domain to use to perform the + * search. + * @opt_param string highRange Creates a range in form as_nlo value..as_nhi + * value and attempts to append it to query + * @opt_param string hl Sets the user interface language. + * @opt_param string hq Appends the extra query terms to the query. + * @opt_param string imgColorType Returns black and white, grayscale, or color + * images: mono, gray, and color. + * @opt_param string imgDominantColor Returns images of a specific dominant + * color: yellow, green, teal, blue, purple, pink, white, gray, black and brown. + * @opt_param string imgSize Returns images of a specified size, where size can + * be one of: icon, small, medium, large, xlarge, xxlarge, and huge. + * @opt_param string imgType Returns images of a type, which can be one of: + * clipart, face, lineart, news, and photo. + * @opt_param string linkSite Specifies that all search results should contain a + * link to a particular URL + * @opt_param string lowRange Creates a range in form as_nlo value..as_nhi value + * and attempts to append it to query + * @opt_param string lr The language restriction for the search results + * @opt_param string num Number of search results to return + * @opt_param string orTerms Provides additional search terms to check for in a + * document, where each document in the search results must contain at least one + * of the additional search terms + * @opt_param string relatedSite Specifies that all search results should be + * pages that are related to the specified URL + * @opt_param string rights Filters based on licensing. Supported values + * include: cc_publicdomain, cc_attribute, cc_sharealike, cc_noncommercial, + * cc_nonderived and combinations of these. + * @opt_param string safe Search safety level + * @opt_param string searchType Specifies the search type: image. + * @opt_param string siteSearch Specifies all search results should be pages + * from a given site + * @opt_param string siteSearchFilter Controls whether to include or exclude + * results from the site named in the as_sitesearch parameter + * @opt_param string sort The sort expression to apply to the results + * @opt_param string start The index of the first result to return + * @return Google_Service_Customsearch_Search + */ + public function listCse($q, $optParams = array()) + { + $params = array('q' => $q); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Customsearch_Search"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Customsearch/Result.php b/vendor/google/apiclient-services/src/Google/Service/Customsearch/Result.php new file mode 100644 index 00000000..8d32894f --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Customsearch/Result.php @@ -0,0 +1,159 @@ +cacheId = $cacheId; + } + public function getCacheId() + { + return $this->cacheId; + } + public function setDisplayLink($displayLink) + { + $this->displayLink = $displayLink; + } + public function getDisplayLink() + { + return $this->displayLink; + } + public function setFileFormat($fileFormat) + { + $this->fileFormat = $fileFormat; + } + public function getFileFormat() + { + return $this->fileFormat; + } + public function setFormattedUrl($formattedUrl) + { + $this->formattedUrl = $formattedUrl; + } + public function getFormattedUrl() + { + return $this->formattedUrl; + } + public function setHtmlFormattedUrl($htmlFormattedUrl) + { + $this->htmlFormattedUrl = $htmlFormattedUrl; + } + public function getHtmlFormattedUrl() + { + return $this->htmlFormattedUrl; + } + public function setHtmlSnippet($htmlSnippet) + { + $this->htmlSnippet = $htmlSnippet; + } + public function getHtmlSnippet() + { + return $this->htmlSnippet; + } + public function setHtmlTitle($htmlTitle) + { + $this->htmlTitle = $htmlTitle; + } + public function getHtmlTitle() + { + return $this->htmlTitle; + } + public function setImage(Google_Service_Customsearch_ResultImage $image) + { + $this->image = $image; + } + public function getImage() + { + return $this->image; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setLabels($labels) + { + $this->labels = $labels; + } + public function getLabels() + { + return $this->labels; + } + public function setLink($link) + { + $this->link = $link; + } + public function getLink() + { + return $this->link; + } + public function setMime($mime) + { + $this->mime = $mime; + } + public function getMime() + { + return $this->mime; + } + public function setPagemap($pagemap) + { + $this->pagemap = $pagemap; + } + public function getPagemap() + { + return $this->pagemap; + } + public function setSnippet($snippet) + { + $this->snippet = $snippet; + } + public function getSnippet() + { + return $this->snippet; + } + public function setTitle($title) + { + $this->title = $title; + } + public function getTitle() + { + return $this->title; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Customsearch/ResultImage.php b/vendor/google/apiclient-services/src/Google/Service/Customsearch/ResultImage.php new file mode 100644 index 00000000..d48f967f --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Customsearch/ResultImage.php @@ -0,0 +1,84 @@ +byteSize = $byteSize; + } + public function getByteSize() + { + return $this->byteSize; + } + public function setContextLink($contextLink) + { + $this->contextLink = $contextLink; + } + public function getContextLink() + { + return $this->contextLink; + } + public function setHeight($height) + { + $this->height = $height; + } + public function getHeight() + { + return $this->height; + } + public function setThumbnailHeight($thumbnailHeight) + { + $this->thumbnailHeight = $thumbnailHeight; + } + public function getThumbnailHeight() + { + return $this->thumbnailHeight; + } + public function setThumbnailLink($thumbnailLink) + { + $this->thumbnailLink = $thumbnailLink; + } + public function getThumbnailLink() + { + return $this->thumbnailLink; + } + public function setThumbnailWidth($thumbnailWidth) + { + $this->thumbnailWidth = $thumbnailWidth; + } + public function getThumbnailWidth() + { + return $this->thumbnailWidth; + } + public function setWidth($width) + { + $this->width = $width; + } + public function getWidth() + { + return $this->width; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Customsearch/ResultLabels.php b/vendor/google/apiclient-services/src/Google/Service/Customsearch/ResultLabels.php new file mode 100644 index 00000000..8685e43e --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Customsearch/ResultLabels.php @@ -0,0 +1,51 @@ + "label_with_op", + ); + public $displayName; + public $labelWithOp; + public $name; + + public function setDisplayName($displayName) + { + $this->displayName = $displayName; + } + public function getDisplayName() + { + return $this->displayName; + } + public function setLabelWithOp($labelWithOp) + { + $this->labelWithOp = $labelWithOp; + } + public function getLabelWithOp() + { + return $this->labelWithOp; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Customsearch/Search.php b/vendor/google/apiclient-services/src/Google/Service/Customsearch/Search.php new file mode 100644 index 00000000..be2c6836 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Customsearch/Search.php @@ -0,0 +1,101 @@ +context = $context; + } + public function getContext() + { + return $this->context; + } + public function setItems($items) + { + $this->items = $items; + } + public function getItems() + { + return $this->items; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setPromotions($promotions) + { + $this->promotions = $promotions; + } + public function getPromotions() + { + return $this->promotions; + } + public function setQueries($queries) + { + $this->queries = $queries; + } + public function getQueries() + { + return $this->queries; + } + public function setSearchInformation(Google_Service_Customsearch_SearchSearchInformation $searchInformation) + { + $this->searchInformation = $searchInformation; + } + public function getSearchInformation() + { + return $this->searchInformation; + } + public function setSpelling(Google_Service_Customsearch_SearchSpelling $spelling) + { + $this->spelling = $spelling; + } + public function getSpelling() + { + return $this->spelling; + } + public function setUrl(Google_Service_Customsearch_SearchUrl $url) + { + $this->url = $url; + } + public function getUrl() + { + return $this->url; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Customsearch/SearchSearchInformation.php b/vendor/google/apiclient-services/src/Google/Service/Customsearch/SearchSearchInformation.php new file mode 100644 index 00000000..8c8b787d --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Customsearch/SearchSearchInformation.php @@ -0,0 +1,57 @@ +formattedSearchTime = $formattedSearchTime; + } + public function getFormattedSearchTime() + { + return $this->formattedSearchTime; + } + public function setFormattedTotalResults($formattedTotalResults) + { + $this->formattedTotalResults = $formattedTotalResults; + } + public function getFormattedTotalResults() + { + return $this->formattedTotalResults; + } + public function setSearchTime($searchTime) + { + $this->searchTime = $searchTime; + } + public function getSearchTime() + { + return $this->searchTime; + } + public function setTotalResults($totalResults) + { + $this->totalResults = $totalResults; + } + public function getTotalResults() + { + return $this->totalResults; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Customsearch/SearchSpelling.php b/vendor/google/apiclient-services/src/Google/Service/Customsearch/SearchSpelling.php new file mode 100644 index 00000000..bf5351e8 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Customsearch/SearchSpelling.php @@ -0,0 +1,39 @@ +correctedQuery = $correctedQuery; + } + public function getCorrectedQuery() + { + return $this->correctedQuery; + } + public function setHtmlCorrectedQuery($htmlCorrectedQuery) + { + $this->htmlCorrectedQuery = $htmlCorrectedQuery; + } + public function getHtmlCorrectedQuery() + { + return $this->htmlCorrectedQuery; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Customsearch/SearchUrl.php b/vendor/google/apiclient-services/src/Google/Service/Customsearch/SearchUrl.php new file mode 100644 index 00000000..a89e160f --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Customsearch/SearchUrl.php @@ -0,0 +1,39 @@ +template = $template; + } + public function getTemplate() + { + return $this->template; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/DataTransfer.php b/vendor/google/apiclient-services/src/Google/Service/DataTransfer.php new file mode 100644 index 00000000..8bb7f3b2 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/DataTransfer.php @@ -0,0 +1,147 @@ + + * Transfers user data from one user to another.

+ * + *

+ * For more information about this service, see the API + * Documentation + *

+ * + * @author Google, Inc. + */ +class Google_Service_DataTransfer extends Google_Service +{ + /** View and manage data transfers between users in your organization. */ + const ADMIN_DATATRANSFER = + "https://www.googleapis.com/auth/admin.datatransfer"; + /** View data transfers between users in your organization. */ + const ADMIN_DATATRANSFER_READONLY = + "https://www.googleapis.com/auth/admin.datatransfer.readonly"; + + public $applications; + public $transfers; + + /** + * Constructs the internal representation of the DataTransfer service. + * + * @param Google_Client $client + */ + public function __construct(Google_Client $client) + { + parent::__construct($client); + $this->rootUrl = 'https://www.googleapis.com/'; + $this->servicePath = 'admin/datatransfer/v1/'; + $this->version = 'datatransfer_v1'; + $this->serviceName = 'admin'; + + $this->applications = new Google_Service_DataTransfer_Resource_Applications( + $this, + $this->serviceName, + 'applications', + array( + 'methods' => array( + 'get' => array( + 'path' => 'applications/{applicationId}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'applicationId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'applications', + 'httpMethod' => 'GET', + 'parameters' => array( + 'customerId' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + $this->transfers = new Google_Service_DataTransfer_Resource_Transfers( + $this, + $this->serviceName, + 'transfers', + array( + 'methods' => array( + 'get' => array( + 'path' => 'transfers/{dataTransferId}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'dataTransferId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'insert' => array( + 'path' => 'transfers', + 'httpMethod' => 'POST', + 'parameters' => array(), + ),'list' => array( + 'path' => 'transfers', + 'httpMethod' => 'GET', + 'parameters' => array( + 'customerId' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'newOwnerUserId' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'oldOwnerUserId' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'status' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/DataTransfer/Application.php b/vendor/google/apiclient-services/src/Google/Service/DataTransfer/Application.php new file mode 100644 index 00000000..fe402a05 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/DataTransfer/Application.php @@ -0,0 +1,68 @@ +etag = $etag; + } + public function getEtag() + { + return $this->etag; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setTransferParams($transferParams) + { + $this->transferParams = $transferParams; + } + public function getTransferParams() + { + return $this->transferParams; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/DataTransfer/ApplicationDataTransfer.php b/vendor/google/apiclient-services/src/Google/Service/DataTransfer/ApplicationDataTransfer.php new file mode 100644 index 00000000..3b701c9c --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/DataTransfer/ApplicationDataTransfer.php @@ -0,0 +1,50 @@ +applicationId = $applicationId; + } + public function getApplicationId() + { + return $this->applicationId; + } + public function setApplicationTransferParams($applicationTransferParams) + { + $this->applicationTransferParams = $applicationTransferParams; + } + public function getApplicationTransferParams() + { + return $this->applicationTransferParams; + } + public function setApplicationTransferStatus($applicationTransferStatus) + { + $this->applicationTransferStatus = $applicationTransferStatus; + } + public function getApplicationTransferStatus() + { + return $this->applicationTransferStatus; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/DataTransfer/ApplicationTransferParam.php b/vendor/google/apiclient-services/src/Google/Service/DataTransfer/ApplicationTransferParam.php new file mode 100644 index 00000000..d9ebbf5d --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/DataTransfer/ApplicationTransferParam.php @@ -0,0 +1,40 @@ +key = $key; + } + public function getKey() + { + return $this->key; + } + public function setValue($value) + { + $this->value = $value; + } + public function getValue() + { + return $this->value; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/DataTransfer/ApplicationsListResponse.php b/vendor/google/apiclient-services/src/Google/Service/DataTransfer/ApplicationsListResponse.php new file mode 100644 index 00000000..4d7f5e05 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/DataTransfer/ApplicationsListResponse.php @@ -0,0 +1,59 @@ +applications = $applications; + } + public function getApplications() + { + return $this->applications; + } + public function setEtag($etag) + { + $this->etag = $etag; + } + public function getEtag() + { + return $this->etag; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/DataTransfer/DataTransfer.php b/vendor/google/apiclient-services/src/Google/Service/DataTransfer/DataTransfer.php new file mode 100644 index 00000000..70b666ca --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/DataTransfer/DataTransfer.php @@ -0,0 +1,95 @@ +applicationDataTransfers = $applicationDataTransfers; + } + public function getApplicationDataTransfers() + { + return $this->applicationDataTransfers; + } + public function setEtag($etag) + { + $this->etag = $etag; + } + public function getEtag() + { + return $this->etag; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNewOwnerUserId($newOwnerUserId) + { + $this->newOwnerUserId = $newOwnerUserId; + } + public function getNewOwnerUserId() + { + return $this->newOwnerUserId; + } + public function setOldOwnerUserId($oldOwnerUserId) + { + $this->oldOwnerUserId = $oldOwnerUserId; + } + public function getOldOwnerUserId() + { + return $this->oldOwnerUserId; + } + public function setOverallTransferStatusCode($overallTransferStatusCode) + { + $this->overallTransferStatusCode = $overallTransferStatusCode; + } + public function getOverallTransferStatusCode() + { + return $this->overallTransferStatusCode; + } + public function setRequestTime($requestTime) + { + $this->requestTime = $requestTime; + } + public function getRequestTime() + { + return $this->requestTime; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/DataTransfer/DataTransfersListResponse.php b/vendor/google/apiclient-services/src/Google/Service/DataTransfer/DataTransfersListResponse.php new file mode 100644 index 00000000..e4e016b1 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/DataTransfer/DataTransfersListResponse.php @@ -0,0 +1,59 @@ +dataTransfers = $dataTransfers; + } + public function getDataTransfers() + { + return $this->dataTransfers; + } + public function setEtag($etag) + { + $this->etag = $etag; + } + public function getEtag() + { + return $this->etag; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/DataTransfer/Resource/Applications.php b/vendor/google/apiclient-services/src/Google/Service/DataTransfer/Resource/Applications.php new file mode 100644 index 00000000..b16b46f8 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/DataTransfer/Resource/Applications.php @@ -0,0 +1,60 @@ + + * $adminService = new Google_Service_DataTransfer(...); + * $applications = $adminService->applications; + * + */ +class Google_Service_DataTransfer_Resource_Applications extends Google_Service_Resource +{ + /** + * Retrieves information about an application for the given application ID. + * (applications.get) + * + * @param string $applicationId ID of the application resource to be retrieved. + * @param array $optParams Optional parameters. + * @return Google_Service_DataTransfer_Application + */ + public function get($applicationId, $optParams = array()) + { + $params = array('applicationId' => $applicationId); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_DataTransfer_Application"); + } + /** + * Lists the applications available for data transfer for a customer. + * (applications.listApplications) + * + * @param array $optParams Optional parameters. + * + * @opt_param string customerId Immutable ID of the Google Apps account. + * @opt_param int maxResults Maximum number of results to return. Default is + * 100. + * @opt_param string pageToken Token to specify next page in the list. + * @return Google_Service_DataTransfer_ApplicationsListResponse + */ + public function listApplications($optParams = array()) + { + $params = array(); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_DataTransfer_ApplicationsListResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/DataTransfer/Resource/Transfers.php b/vendor/google/apiclient-services/src/Google/Service/DataTransfer/Resource/Transfers.php new file mode 100644 index 00000000..34389dad --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/DataTransfer/Resource/Transfers.php @@ -0,0 +1,76 @@ + + * $adminService = new Google_Service_DataTransfer(...); + * $transfers = $adminService->transfers; + * + */ +class Google_Service_DataTransfer_Resource_Transfers extends Google_Service_Resource +{ + /** + * Retrieves a data transfer request by its resource ID. (transfers.get) + * + * @param string $dataTransferId ID of the resource to be retrieved. This is + * returned in the response from the insert method. + * @param array $optParams Optional parameters. + * @return Google_Service_DataTransfer_DataTransfer + */ + public function get($dataTransferId, $optParams = array()) + { + $params = array('dataTransferId' => $dataTransferId); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_DataTransfer_DataTransfer"); + } + /** + * Inserts a data transfer request. (transfers.insert) + * + * @param Google_Service_DataTransfer_DataTransfer $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_DataTransfer_DataTransfer + */ + public function insert(Google_Service_DataTransfer_DataTransfer $postBody, $optParams = array()) + { + $params = array('postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('insert', array($params), "Google_Service_DataTransfer_DataTransfer"); + } + /** + * Lists the transfers for a customer by source user, destination user, or + * status. (transfers.listTransfers) + * + * @param array $optParams Optional parameters. + * + * @opt_param string customerId Immutable ID of the Google Apps account. + * @opt_param int maxResults Maximum number of results to return. Default is + * 100. + * @opt_param string newOwnerUserId Destination user's profile ID. + * @opt_param string oldOwnerUserId Source user's profile ID. + * @opt_param string pageToken Token to specify the next page in the list. + * @opt_param string status Status of the transfer. + * @return Google_Service_DataTransfer_DataTransfersListResponse + */ + public function listTransfers($optParams = array()) + { + $params = array(); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_DataTransfer_DataTransfersListResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dataflow.php b/vendor/google/apiclient-services/src/Google/Service/Dataflow.php new file mode 100644 index 00000000..a76d4dc8 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dataflow.php @@ -0,0 +1,628 @@ + + * Manages Google Cloud Dataflow projects on Google Cloud Platform.

+ * + *

+ * For more information about this service, see the API + * Documentation + *

+ * + * @author Google, Inc. + */ +class Google_Service_Dataflow extends Google_Service +{ + /** View and manage your data across Google Cloud Platform services. */ + const CLOUD_PLATFORM = + "https://www.googleapis.com/auth/cloud-platform"; + /** View your email address. */ + const USERINFO_EMAIL = + "https://www.googleapis.com/auth/userinfo.email"; + + public $projects; + public $projects_jobs; + public $projects_jobs_debug; + public $projects_jobs_messages; + public $projects_jobs_workItems; + public $projects_locations_jobs; + public $projects_locations_jobs_messages; + public $projects_locations_jobs_workItems; + public $projects_templates; + + /** + * Constructs the internal representation of the Dataflow service. + * + * @param Google_Client $client + */ + public function __construct(Google_Client $client) + { + parent::__construct($client); + $this->rootUrl = 'https://dataflow.googleapis.com/'; + $this->servicePath = ''; + $this->version = 'v1b3'; + $this->serviceName = 'dataflow'; + + $this->projects = new Google_Service_Dataflow_Resource_Projects( + $this, + $this->serviceName, + 'projects', + array( + 'methods' => array( + 'workerMessages' => array( + 'path' => 'v1b3/projects/{projectId}/WorkerMessages', + 'httpMethod' => 'POST', + 'parameters' => array( + 'projectId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->projects_jobs = new Google_Service_Dataflow_Resource_ProjectsJobs( + $this, + $this->serviceName, + 'jobs', + array( + 'methods' => array( + 'create' => array( + 'path' => 'v1b3/projects/{projectId}/jobs', + 'httpMethod' => 'POST', + 'parameters' => array( + 'projectId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'location' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'replaceJobId' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'view' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'get' => array( + 'path' => 'v1b3/projects/{projectId}/jobs/{jobId}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'projectId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'jobId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'location' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'view' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'getMetrics' => array( + 'path' => 'v1b3/projects/{projectId}/jobs/{jobId}/metrics', + 'httpMethod' => 'GET', + 'parameters' => array( + 'projectId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'jobId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'startTime' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'location' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'list' => array( + 'path' => 'v1b3/projects/{projectId}/jobs', + 'httpMethod' => 'GET', + 'parameters' => array( + 'projectId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'filter' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'location' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pageSize' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'view' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'update' => array( + 'path' => 'v1b3/projects/{projectId}/jobs/{jobId}', + 'httpMethod' => 'PUT', + 'parameters' => array( + 'projectId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'jobId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'location' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + $this->projects_jobs_debug = new Google_Service_Dataflow_Resource_ProjectsJobsDebug( + $this, + $this->serviceName, + 'debug', + array( + 'methods' => array( + 'getConfig' => array( + 'path' => 'v1b3/projects/{projectId}/jobs/{jobId}/debug/getConfig', + 'httpMethod' => 'POST', + 'parameters' => array( + 'projectId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'jobId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'sendCapture' => array( + 'path' => 'v1b3/projects/{projectId}/jobs/{jobId}/debug/sendCapture', + 'httpMethod' => 'POST', + 'parameters' => array( + 'projectId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'jobId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->projects_jobs_messages = new Google_Service_Dataflow_Resource_ProjectsJobsMessages( + $this, + $this->serviceName, + 'messages', + array( + 'methods' => array( + 'list' => array( + 'path' => 'v1b3/projects/{projectId}/jobs/{jobId}/messages', + 'httpMethod' => 'GET', + 'parameters' => array( + 'projectId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'jobId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'endTime' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'location' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'startTime' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pageSize' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'minimumImportance' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + $this->projects_jobs_workItems = new Google_Service_Dataflow_Resource_ProjectsJobsWorkItems( + $this, + $this->serviceName, + 'workItems', + array( + 'methods' => array( + 'lease' => array( + 'path' => 'v1b3/projects/{projectId}/jobs/{jobId}/workItems:lease', + 'httpMethod' => 'POST', + 'parameters' => array( + 'projectId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'jobId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'reportStatus' => array( + 'path' => 'v1b3/projects/{projectId}/jobs/{jobId}/workItems:reportStatus', + 'httpMethod' => 'POST', + 'parameters' => array( + 'projectId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'jobId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->projects_locations_jobs = new Google_Service_Dataflow_Resource_ProjectsLocationsJobs( + $this, + $this->serviceName, + 'jobs', + array( + 'methods' => array( + 'create' => array( + 'path' => 'v1b3/projects/{projectId}/locations/{location}/jobs', + 'httpMethod' => 'POST', + 'parameters' => array( + 'projectId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'location' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'replaceJobId' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'view' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'get' => array( + 'path' => 'v1b3/projects/{projectId}/locations/{location}/jobs/{jobId}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'projectId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'location' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'jobId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'view' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'getMetrics' => array( + 'path' => 'v1b3/projects/{projectId}/locations/{location}/jobs/{jobId}/metrics', + 'httpMethod' => 'GET', + 'parameters' => array( + 'projectId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'location' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'jobId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'startTime' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'list' => array( + 'path' => 'v1b3/projects/{projectId}/locations/{location}/jobs', + 'httpMethod' => 'GET', + 'parameters' => array( + 'projectId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'location' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'filter' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pageSize' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'view' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'update' => array( + 'path' => 'v1b3/projects/{projectId}/locations/{location}/jobs/{jobId}', + 'httpMethod' => 'PUT', + 'parameters' => array( + 'projectId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'location' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'jobId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->projects_locations_jobs_messages = new Google_Service_Dataflow_Resource_ProjectsLocationsJobsMessages( + $this, + $this->serviceName, + 'messages', + array( + 'methods' => array( + 'list' => array( + 'path' => 'v1b3/projects/{projectId}/locations/{location}/jobs/{jobId}/messages', + 'httpMethod' => 'GET', + 'parameters' => array( + 'projectId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'location' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'jobId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'endTime' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'startTime' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pageSize' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'minimumImportance' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + $this->projects_locations_jobs_workItems = new Google_Service_Dataflow_Resource_ProjectsLocationsJobsWorkItems( + $this, + $this->serviceName, + 'workItems', + array( + 'methods' => array( + 'lease' => array( + 'path' => 'v1b3/projects/{projectId}/locations/{location}/jobs/{jobId}/workItems:lease', + 'httpMethod' => 'POST', + 'parameters' => array( + 'projectId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'location' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'jobId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'reportStatus' => array( + 'path' => 'v1b3/projects/{projectId}/locations/{location}/jobs/{jobId}/workItems:reportStatus', + 'httpMethod' => 'POST', + 'parameters' => array( + 'projectId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'location' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'jobId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->projects_templates = new Google_Service_Dataflow_Resource_ProjectsTemplates( + $this, + $this->serviceName, + 'templates', + array( + 'methods' => array( + 'create' => array( + 'path' => 'v1b3/projects/{projectId}/templates', + 'httpMethod' => 'POST', + 'parameters' => array( + 'projectId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'get' => array( + 'path' => 'v1b3/projects/{projectId}/templates:get', + 'httpMethod' => 'GET', + 'parameters' => array( + 'projectId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'view' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'gcsPath' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'launch' => array( + 'path' => 'v1b3/projects/{projectId}/templates:launch', + 'httpMethod' => 'POST', + 'parameters' => array( + 'projectId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'gcsPath' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'dryRun' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + ), + ), + ) + ) + ); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dataflow/ApproximateProgress.php b/vendor/google/apiclient-services/src/Google/Service/Dataflow/ApproximateProgress.php new file mode 100644 index 00000000..8cb3234d --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dataflow/ApproximateProgress.php @@ -0,0 +1,49 @@ +percentComplete = $percentComplete; + } + public function getPercentComplete() + { + return $this->percentComplete; + } + public function setPosition(Google_Service_Dataflow_Position $position) + { + $this->position = $position; + } + public function getPosition() + { + return $this->position; + } + public function setRemainingTime($remainingTime) + { + $this->remainingTime = $remainingTime; + } + public function getRemainingTime() + { + return $this->remainingTime; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dataflow/ApproximateReportedProgress.php b/vendor/google/apiclient-services/src/Google/Service/Dataflow/ApproximateReportedProgress.php new file mode 100644 index 00000000..a74e93bc --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dataflow/ApproximateReportedProgress.php @@ -0,0 +1,60 @@ +consumedParallelism = $consumedParallelism; + } + public function getConsumedParallelism() + { + return $this->consumedParallelism; + } + public function setFractionConsumed($fractionConsumed) + { + $this->fractionConsumed = $fractionConsumed; + } + public function getFractionConsumed() + { + return $this->fractionConsumed; + } + public function setPosition(Google_Service_Dataflow_Position $position) + { + $this->position = $position; + } + public function getPosition() + { + return $this->position; + } + public function setRemainingParallelism(Google_Service_Dataflow_ReportedParallelism $remainingParallelism) + { + $this->remainingParallelism = $remainingParallelism; + } + public function getRemainingParallelism() + { + return $this->remainingParallelism; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dataflow/ApproximateSplitRequest.php b/vendor/google/apiclient-services/src/Google/Service/Dataflow/ApproximateSplitRequest.php new file mode 100644 index 00000000..f37e7ef2 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dataflow/ApproximateSplitRequest.php @@ -0,0 +1,40 @@ +fractionConsumed = $fractionConsumed; + } + public function getFractionConsumed() + { + return $this->fractionConsumed; + } + public function setPosition(Google_Service_Dataflow_Position $position) + { + $this->position = $position; + } + public function getPosition() + { + return $this->position; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dataflow/AutoscalingSettings.php b/vendor/google/apiclient-services/src/Google/Service/Dataflow/AutoscalingSettings.php new file mode 100644 index 00000000..457ae2e9 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dataflow/AutoscalingSettings.php @@ -0,0 +1,39 @@ +algorithm = $algorithm; + } + public function getAlgorithm() + { + return $this->algorithm; + } + public function setMaxNumWorkers($maxNumWorkers) + { + $this->maxNumWorkers = $maxNumWorkers; + } + public function getMaxNumWorkers() + { + return $this->maxNumWorkers; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dataflow/CPUTime.php b/vendor/google/apiclient-services/src/Google/Service/Dataflow/CPUTime.php new file mode 100644 index 00000000..346202f2 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dataflow/CPUTime.php @@ -0,0 +1,48 @@ +rate = $rate; + } + public function getRate() + { + return $this->rate; + } + public function setTimestamp($timestamp) + { + $this->timestamp = $timestamp; + } + public function getTimestamp() + { + return $this->timestamp; + } + public function setTotalMs($totalMs) + { + $this->totalMs = $totalMs; + } + public function getTotalMs() + { + return $this->totalMs; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dataflow/ComponentSource.php b/vendor/google/apiclient-services/src/Google/Service/Dataflow/ComponentSource.php new file mode 100644 index 00000000..35860b7c --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dataflow/ComponentSource.php @@ -0,0 +1,48 @@ +name = $name; + } + public function getName() + { + return $this->name; + } + public function setOriginalTransformOrCollection($originalTransformOrCollection) + { + $this->originalTransformOrCollection = $originalTransformOrCollection; + } + public function getOriginalTransformOrCollection() + { + return $this->originalTransformOrCollection; + } + public function setUserName($userName) + { + $this->userName = $userName; + } + public function getUserName() + { + return $this->userName; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dataflow/ComponentTransform.php b/vendor/google/apiclient-services/src/Google/Service/Dataflow/ComponentTransform.php new file mode 100644 index 00000000..7c2f1d9c --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dataflow/ComponentTransform.php @@ -0,0 +1,48 @@ +name = $name; + } + public function getName() + { + return $this->name; + } + public function setOriginalTransform($originalTransform) + { + $this->originalTransform = $originalTransform; + } + public function getOriginalTransform() + { + return $this->originalTransform; + } + public function setUserName($userName) + { + $this->userName = $userName; + } + public function getUserName() + { + return $this->userName; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dataflow/ComputationTopology.php b/vendor/google/apiclient-services/src/Google/Service/Dataflow/ComputationTopology.php new file mode 100644 index 00000000..f6b7b06a --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dataflow/ComputationTopology.php @@ -0,0 +1,89 @@ +computationId = $computationId; + } + public function getComputationId() + { + return $this->computationId; + } + public function setInputs($inputs) + { + $this->inputs = $inputs; + } + public function getInputs() + { + return $this->inputs; + } + public function setKeyRanges($keyRanges) + { + $this->keyRanges = $keyRanges; + } + public function getKeyRanges() + { + return $this->keyRanges; + } + public function setOutputs($outputs) + { + $this->outputs = $outputs; + } + public function getOutputs() + { + return $this->outputs; + } + public function setStateFamilies($stateFamilies) + { + $this->stateFamilies = $stateFamilies; + } + public function getStateFamilies() + { + return $this->stateFamilies; + } + public function setSystemStageName($systemStageName) + { + $this->systemStageName = $systemStageName; + } + public function getSystemStageName() + { + return $this->systemStageName; + } + public function setUserStageName($userStageName) + { + $this->userStageName = $userStageName; + } + public function getUserStageName() + { + return $this->userStageName; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dataflow/ConcatPosition.php b/vendor/google/apiclient-services/src/Google/Service/Dataflow/ConcatPosition.php new file mode 100644 index 00000000..06f884a9 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dataflow/ConcatPosition.php @@ -0,0 +1,40 @@ +index = $index; + } + public function getIndex() + { + return $this->index; + } + public function setPosition(Google_Service_Dataflow_Position $position) + { + $this->position = $position; + } + public function getPosition() + { + return $this->position; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dataflow/CounterMetadata.php b/vendor/google/apiclient-services/src/Google/Service/Dataflow/CounterMetadata.php new file mode 100644 index 00000000..d0546068 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dataflow/CounterMetadata.php @@ -0,0 +1,57 @@ +description = $description; + } + public function getDescription() + { + return $this->description; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setOtherUnits($otherUnits) + { + $this->otherUnits = $otherUnits; + } + public function getOtherUnits() + { + return $this->otherUnits; + } + public function setStandardUnits($standardUnits) + { + $this->standardUnits = $standardUnits; + } + public function getStandardUnits() + { + return $this->standardUnits; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dataflow/CounterStructuredName.php b/vendor/google/apiclient-services/src/Google/Service/Dataflow/CounterStructuredName.php new file mode 100644 index 00000000..defd6b1e --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dataflow/CounterStructuredName.php @@ -0,0 +1,93 @@ +componentStepName = $componentStepName; + } + public function getComponentStepName() + { + return $this->componentStepName; + } + public function setExecutionStepName($executionStepName) + { + $this->executionStepName = $executionStepName; + } + public function getExecutionStepName() + { + return $this->executionStepName; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setOrigin($origin) + { + $this->origin = $origin; + } + public function getOrigin() + { + return $this->origin; + } + public function setOriginNamespace($originNamespace) + { + $this->originNamespace = $originNamespace; + } + public function getOriginNamespace() + { + return $this->originNamespace; + } + public function setOriginalStepName($originalStepName) + { + $this->originalStepName = $originalStepName; + } + public function getOriginalStepName() + { + return $this->originalStepName; + } + public function setPortion($portion) + { + $this->portion = $portion; + } + public function getPortion() + { + return $this->portion; + } + public function setWorkerId($workerId) + { + $this->workerId = $workerId; + } + public function getWorkerId() + { + return $this->workerId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dataflow/CounterStructuredNameAndMetadata.php b/vendor/google/apiclient-services/src/Google/Service/Dataflow/CounterStructuredNameAndMetadata.php new file mode 100644 index 00000000..4d22eaf3 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dataflow/CounterStructuredNameAndMetadata.php @@ -0,0 +1,41 @@ +metadata = $metadata; + } + public function getMetadata() + { + return $this->metadata; + } + public function setName(Google_Service_Dataflow_CounterStructuredName $name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dataflow/CounterUpdate.php b/vendor/google/apiclient-services/src/Google/Service/Dataflow/CounterUpdate.php new file mode 100644 index 00000000..025d61b3 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dataflow/CounterUpdate.php @@ -0,0 +1,156 @@ +boolean = $boolean; + } + public function getBoolean() + { + return $this->boolean; + } + public function setCumulative($cumulative) + { + $this->cumulative = $cumulative; + } + public function getCumulative() + { + return $this->cumulative; + } + public function setDistribution(Google_Service_Dataflow_DistributionUpdate $distribution) + { + $this->distribution = $distribution; + } + public function getDistribution() + { + return $this->distribution; + } + public function setFloatingPoint($floatingPoint) + { + $this->floatingPoint = $floatingPoint; + } + public function getFloatingPoint() + { + return $this->floatingPoint; + } + public function setFloatingPointList(Google_Service_Dataflow_FloatingPointList $floatingPointList) + { + $this->floatingPointList = $floatingPointList; + } + public function getFloatingPointList() + { + return $this->floatingPointList; + } + public function setFloatingPointMean(Google_Service_Dataflow_FloatingPointMean $floatingPointMean) + { + $this->floatingPointMean = $floatingPointMean; + } + public function getFloatingPointMean() + { + return $this->floatingPointMean; + } + public function setInteger(Google_Service_Dataflow_SplitInt64 $integer) + { + $this->integer = $integer; + } + public function getInteger() + { + return $this->integer; + } + public function setIntegerList(Google_Service_Dataflow_IntegerList $integerList) + { + $this->integerList = $integerList; + } + public function getIntegerList() + { + return $this->integerList; + } + public function setIntegerMean(Google_Service_Dataflow_IntegerMean $integerMean) + { + $this->integerMean = $integerMean; + } + public function getIntegerMean() + { + return $this->integerMean; + } + public function setInternal($internal) + { + $this->internal = $internal; + } + public function getInternal() + { + return $this->internal; + } + public function setNameAndKind(Google_Service_Dataflow_NameAndKind $nameAndKind) + { + $this->nameAndKind = $nameAndKind; + } + public function getNameAndKind() + { + return $this->nameAndKind; + } + public function setShortId($shortId) + { + $this->shortId = $shortId; + } + public function getShortId() + { + return $this->shortId; + } + public function setStringList(Google_Service_Dataflow_StringList $stringList) + { + $this->stringList = $stringList; + } + public function getStringList() + { + return $this->stringList; + } + public function setStructuredNameAndMetadata(Google_Service_Dataflow_CounterStructuredNameAndMetadata $structuredNameAndMetadata) + { + $this->structuredNameAndMetadata = $structuredNameAndMetadata; + } + public function getStructuredNameAndMetadata() + { + return $this->structuredNameAndMetadata; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dataflow/CreateJobFromTemplateRequest.php b/vendor/google/apiclient-services/src/Google/Service/Dataflow/CreateJobFromTemplateRequest.php new file mode 100644 index 00000000..5d95c17e --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dataflow/CreateJobFromTemplateRequest.php @@ -0,0 +1,58 @@ +environment = $environment; + } + public function getEnvironment() + { + return $this->environment; + } + public function setGcsPath($gcsPath) + { + $this->gcsPath = $gcsPath; + } + public function getGcsPath() + { + return $this->gcsPath; + } + public function setJobName($jobName) + { + $this->jobName = $jobName; + } + public function getJobName() + { + return $this->jobName; + } + public function setParameters($parameters) + { + $this->parameters = $parameters; + } + public function getParameters() + { + return $this->parameters; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dataflow/CustomSourceLocation.php b/vendor/google/apiclient-services/src/Google/Service/Dataflow/CustomSourceLocation.php new file mode 100644 index 00000000..953c4d66 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dataflow/CustomSourceLocation.php @@ -0,0 +1,30 @@ +stateful = $stateful; + } + public function getStateful() + { + return $this->stateful; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dataflow/DataDiskAssignment.php b/vendor/google/apiclient-services/src/Google/Service/Dataflow/DataDiskAssignment.php new file mode 100644 index 00000000..dc94b888 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dataflow/DataDiskAssignment.php @@ -0,0 +1,40 @@ +dataDisks = $dataDisks; + } + public function getDataDisks() + { + return $this->dataDisks; + } + public function setVmInstance($vmInstance) + { + $this->vmInstance = $vmInstance; + } + public function getVmInstance() + { + return $this->vmInstance; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dataflow/DerivedSource.php b/vendor/google/apiclient-services/src/Google/Service/Dataflow/DerivedSource.php new file mode 100644 index 00000000..26c6d0ac --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dataflow/DerivedSource.php @@ -0,0 +1,40 @@ +derivationMode = $derivationMode; + } + public function getDerivationMode() + { + return $this->derivationMode; + } + public function setSource(Google_Service_Dataflow_Source $source) + { + $this->source = $source; + } + public function getSource() + { + return $this->source; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dataflow/Disk.php b/vendor/google/apiclient-services/src/Google/Service/Dataflow/Disk.php new file mode 100644 index 00000000..510ab3e0 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dataflow/Disk.php @@ -0,0 +1,48 @@ +diskType = $diskType; + } + public function getDiskType() + { + return $this->diskType; + } + public function setMountPoint($mountPoint) + { + $this->mountPoint = $mountPoint; + } + public function getMountPoint() + { + return $this->mountPoint; + } + public function setSizeGb($sizeGb) + { + $this->sizeGb = $sizeGb; + } + public function getSizeGb() + { + return $this->sizeGb; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dataflow/DisplayData.php b/vendor/google/apiclient-services/src/Google/Service/Dataflow/DisplayData.php new file mode 100644 index 00000000..5755a466 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dataflow/DisplayData.php @@ -0,0 +1,129 @@ +boolValue = $boolValue; + } + public function getBoolValue() + { + return $this->boolValue; + } + public function setDurationValue($durationValue) + { + $this->durationValue = $durationValue; + } + public function getDurationValue() + { + return $this->durationValue; + } + public function setFloatValue($floatValue) + { + $this->floatValue = $floatValue; + } + public function getFloatValue() + { + return $this->floatValue; + } + public function setInt64Value($int64Value) + { + $this->int64Value = $int64Value; + } + public function getInt64Value() + { + return $this->int64Value; + } + public function setJavaClassValue($javaClassValue) + { + $this->javaClassValue = $javaClassValue; + } + public function getJavaClassValue() + { + return $this->javaClassValue; + } + public function setKey($key) + { + $this->key = $key; + } + public function getKey() + { + return $this->key; + } + public function setLabel($label) + { + $this->label = $label; + } + public function getLabel() + { + return $this->label; + } + public function setNamespace($namespace) + { + $this->namespace = $namespace; + } + public function getNamespace() + { + return $this->namespace; + } + public function setShortStrValue($shortStrValue) + { + $this->shortStrValue = $shortStrValue; + } + public function getShortStrValue() + { + return $this->shortStrValue; + } + public function setStrValue($strValue) + { + $this->strValue = $strValue; + } + public function getStrValue() + { + return $this->strValue; + } + public function setTimestampValue($timestampValue) + { + $this->timestampValue = $timestampValue; + } + public function getTimestampValue() + { + return $this->timestampValue; + } + public function setUrl($url) + { + $this->url = $url; + } + public function getUrl() + { + return $this->url; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dataflow/DistributionUpdate.php b/vendor/google/apiclient-services/src/Google/Service/Dataflow/DistributionUpdate.php new file mode 100644 index 00000000..0776ed81 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dataflow/DistributionUpdate.php @@ -0,0 +1,70 @@ +count = $count; + } + public function getCount() + { + return $this->count; + } + public function setMax(Google_Service_Dataflow_SplitInt64 $max) + { + $this->max = $max; + } + public function getMax() + { + return $this->max; + } + public function setMin(Google_Service_Dataflow_SplitInt64 $min) + { + $this->min = $min; + } + public function getMin() + { + return $this->min; + } + public function setSum(Google_Service_Dataflow_SplitInt64 $sum) + { + $this->sum = $sum; + } + public function getSum() + { + return $this->sum; + } + public function setSumOfSquares($sumOfSquares) + { + $this->sumOfSquares = $sumOfSquares; + } + public function getSumOfSquares() + { + return $this->sumOfSquares; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dataflow/DynamicSourceSplit.php b/vendor/google/apiclient-services/src/Google/Service/Dataflow/DynamicSourceSplit.php new file mode 100644 index 00000000..e7eb306e --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dataflow/DynamicSourceSplit.php @@ -0,0 +1,41 @@ +primary = $primary; + } + public function getPrimary() + { + return $this->primary; + } + public function setResidual(Google_Service_Dataflow_DerivedSource $residual) + { + $this->residual = $residual; + } + public function getResidual() + { + return $this->residual; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dataflow/Environment.php b/vendor/google/apiclient-services/src/Google/Service/Dataflow/Environment.php new file mode 100644 index 00000000..893044cc --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dataflow/Environment.php @@ -0,0 +1,113 @@ +clusterManagerApiService = $clusterManagerApiService; + } + public function getClusterManagerApiService() + { + return $this->clusterManagerApiService; + } + public function setDataset($dataset) + { + $this->dataset = $dataset; + } + public function getDataset() + { + return $this->dataset; + } + public function setExperiments($experiments) + { + $this->experiments = $experiments; + } + public function getExperiments() + { + return $this->experiments; + } + public function setInternalExperiments($internalExperiments) + { + $this->internalExperiments = $internalExperiments; + } + public function getInternalExperiments() + { + return $this->internalExperiments; + } + public function setSdkPipelineOptions($sdkPipelineOptions) + { + $this->sdkPipelineOptions = $sdkPipelineOptions; + } + public function getSdkPipelineOptions() + { + return $this->sdkPipelineOptions; + } + public function setServiceAccountEmail($serviceAccountEmail) + { + $this->serviceAccountEmail = $serviceAccountEmail; + } + public function getServiceAccountEmail() + { + return $this->serviceAccountEmail; + } + public function setTempStoragePrefix($tempStoragePrefix) + { + $this->tempStoragePrefix = $tempStoragePrefix; + } + public function getTempStoragePrefix() + { + return $this->tempStoragePrefix; + } + public function setUserAgent($userAgent) + { + $this->userAgent = $userAgent; + } + public function getUserAgent() + { + return $this->userAgent; + } + public function setVersion($version) + { + $this->version = $version; + } + public function getVersion() + { + return $this->version; + } + public function setWorkerPools($workerPools) + { + $this->workerPools = $workerPools; + } + public function getWorkerPools() + { + return $this->workerPools; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dataflow/ExecutionStageSummary.php b/vendor/google/apiclient-services/src/Google/Service/Dataflow/ExecutionStageSummary.php new file mode 100644 index 00000000..0015f6ff --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dataflow/ExecutionStageSummary.php @@ -0,0 +1,89 @@ +componentSource = $componentSource; + } + public function getComponentSource() + { + return $this->componentSource; + } + public function setComponentTransform($componentTransform) + { + $this->componentTransform = $componentTransform; + } + public function getComponentTransform() + { + return $this->componentTransform; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setInputSource($inputSource) + { + $this->inputSource = $inputSource; + } + public function getInputSource() + { + return $this->inputSource; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setOutputSource($outputSource) + { + $this->outputSource = $outputSource; + } + public function getOutputSource() + { + return $this->outputSource; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dataflow/FailedLocation.php b/vendor/google/apiclient-services/src/Google/Service/Dataflow/FailedLocation.php new file mode 100644 index 00000000..86ad9bf0 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dataflow/FailedLocation.php @@ -0,0 +1,30 @@ +name = $name; + } + public function getName() + { + return $this->name; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dataflow/FlattenInstruction.php b/vendor/google/apiclient-services/src/Google/Service/Dataflow/FlattenInstruction.php new file mode 100644 index 00000000..b553b04f --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dataflow/FlattenInstruction.php @@ -0,0 +1,32 @@ +inputs = $inputs; + } + public function getInputs() + { + return $this->inputs; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dataflow/FloatingPointList.php b/vendor/google/apiclient-services/src/Google/Service/Dataflow/FloatingPointList.php new file mode 100644 index 00000000..82c587e6 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dataflow/FloatingPointList.php @@ -0,0 +1,31 @@ +elements = $elements; + } + public function getElements() + { + return $this->elements; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dataflow/FloatingPointMean.php b/vendor/google/apiclient-services/src/Google/Service/Dataflow/FloatingPointMean.php new file mode 100644 index 00000000..344fff82 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dataflow/FloatingPointMean.php @@ -0,0 +1,40 @@ +count = $count; + } + public function getCount() + { + return $this->count; + } + public function setSum($sum) + { + $this->sum = $sum; + } + public function getSum() + { + return $this->sum; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dataflow/GetDebugConfigRequest.php b/vendor/google/apiclient-services/src/Google/Service/Dataflow/GetDebugConfigRequest.php new file mode 100644 index 00000000..0b9c5738 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dataflow/GetDebugConfigRequest.php @@ -0,0 +1,39 @@ +componentId = $componentId; + } + public function getComponentId() + { + return $this->componentId; + } + public function setWorkerId($workerId) + { + $this->workerId = $workerId; + } + public function getWorkerId() + { + return $this->workerId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dataflow/GetDebugConfigResponse.php b/vendor/google/apiclient-services/src/Google/Service/Dataflow/GetDebugConfigResponse.php new file mode 100644 index 00000000..e5e033e8 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dataflow/GetDebugConfigResponse.php @@ -0,0 +1,30 @@ +config = $config; + } + public function getConfig() + { + return $this->config; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dataflow/GetTemplateResponse.php b/vendor/google/apiclient-services/src/Google/Service/Dataflow/GetTemplateResponse.php new file mode 100644 index 00000000..532ac258 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dataflow/GetTemplateResponse.php @@ -0,0 +1,41 @@ +metadata = $metadata; + } + public function getMetadata() + { + return $this->metadata; + } + public function setStatus(Google_Service_Dataflow_Status $status) + { + $this->status = $status; + } + public function getStatus() + { + return $this->status; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dataflow/InstructionInput.php b/vendor/google/apiclient-services/src/Google/Service/Dataflow/InstructionInput.php new file mode 100644 index 00000000..cee054b8 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dataflow/InstructionInput.php @@ -0,0 +1,39 @@ +outputNum = $outputNum; + } + public function getOutputNum() + { + return $this->outputNum; + } + public function setProducerInstructionIndex($producerInstructionIndex) + { + $this->producerInstructionIndex = $producerInstructionIndex; + } + public function getProducerInstructionIndex() + { + return $this->producerInstructionIndex; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dataflow/InstructionOutput.php b/vendor/google/apiclient-services/src/Google/Service/Dataflow/InstructionOutput.php new file mode 100644 index 00000000..ceb12186 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dataflow/InstructionOutput.php @@ -0,0 +1,75 @@ +codec = $codec; + } + public function getCodec() + { + return $this->codec; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setOnlyCountKeyBytes($onlyCountKeyBytes) + { + $this->onlyCountKeyBytes = $onlyCountKeyBytes; + } + public function getOnlyCountKeyBytes() + { + return $this->onlyCountKeyBytes; + } + public function setOnlyCountValueBytes($onlyCountValueBytes) + { + $this->onlyCountValueBytes = $onlyCountValueBytes; + } + public function getOnlyCountValueBytes() + { + return $this->onlyCountValueBytes; + } + public function setOriginalName($originalName) + { + $this->originalName = $originalName; + } + public function getOriginalName() + { + return $this->originalName; + } + public function setSystemName($systemName) + { + $this->systemName = $systemName; + } + public function getSystemName() + { + return $this->systemName; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dataflow/IntegerList.php b/vendor/google/apiclient-services/src/Google/Service/Dataflow/IntegerList.php new file mode 100644 index 00000000..98f733f5 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dataflow/IntegerList.php @@ -0,0 +1,32 @@ +elements = $elements; + } + public function getElements() + { + return $this->elements; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dataflow/IntegerMean.php b/vendor/google/apiclient-services/src/Google/Service/Dataflow/IntegerMean.php new file mode 100644 index 00000000..a82b2813 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dataflow/IntegerMean.php @@ -0,0 +1,41 @@ +count = $count; + } + public function getCount() + { + return $this->count; + } + public function setSum(Google_Service_Dataflow_SplitInt64 $sum) + { + $this->sum = $sum; + } + public function getSum() + { + return $this->sum; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dataflow/Job.php b/vendor/google/apiclient-services/src/Google/Service/Dataflow/Job.php new file mode 100644 index 00000000..151c2876 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dataflow/Job.php @@ -0,0 +1,197 @@ +clientRequestId = $clientRequestId; + } + public function getClientRequestId() + { + return $this->clientRequestId; + } + public function setCreateTime($createTime) + { + $this->createTime = $createTime; + } + public function getCreateTime() + { + return $this->createTime; + } + public function setCurrentState($currentState) + { + $this->currentState = $currentState; + } + public function getCurrentState() + { + return $this->currentState; + } + public function setCurrentStateTime($currentStateTime) + { + $this->currentStateTime = $currentStateTime; + } + public function getCurrentStateTime() + { + return $this->currentStateTime; + } + public function setEnvironment(Google_Service_Dataflow_Environment $environment) + { + $this->environment = $environment; + } + public function getEnvironment() + { + return $this->environment; + } + public function setExecutionInfo(Google_Service_Dataflow_JobExecutionInfo $executionInfo) + { + $this->executionInfo = $executionInfo; + } + public function getExecutionInfo() + { + return $this->executionInfo; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setLabels($labels) + { + $this->labels = $labels; + } + public function getLabels() + { + return $this->labels; + } + public function setLocation($location) + { + $this->location = $location; + } + public function getLocation() + { + return $this->location; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setPipelineDescription(Google_Service_Dataflow_PipelineDescription $pipelineDescription) + { + $this->pipelineDescription = $pipelineDescription; + } + public function getPipelineDescription() + { + return $this->pipelineDescription; + } + public function setProjectId($projectId) + { + $this->projectId = $projectId; + } + public function getProjectId() + { + return $this->projectId; + } + public function setReplaceJobId($replaceJobId) + { + $this->replaceJobId = $replaceJobId; + } + public function getReplaceJobId() + { + return $this->replaceJobId; + } + public function setReplacedByJobId($replacedByJobId) + { + $this->replacedByJobId = $replacedByJobId; + } + public function getReplacedByJobId() + { + return $this->replacedByJobId; + } + public function setRequestedState($requestedState) + { + $this->requestedState = $requestedState; + } + public function getRequestedState() + { + return $this->requestedState; + } + public function setSteps($steps) + { + $this->steps = $steps; + } + public function getSteps() + { + return $this->steps; + } + public function setTempFiles($tempFiles) + { + $this->tempFiles = $tempFiles; + } + public function getTempFiles() + { + return $this->tempFiles; + } + public function setTransformNameMapping($transformNameMapping) + { + $this->transformNameMapping = $transformNameMapping; + } + public function getTransformNameMapping() + { + return $this->transformNameMapping; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dataflow/JobExecutionInfo.php b/vendor/google/apiclient-services/src/Google/Service/Dataflow/JobExecutionInfo.php new file mode 100644 index 00000000..602dc87f --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dataflow/JobExecutionInfo.php @@ -0,0 +1,31 @@ +stages = $stages; + } + public function getStages() + { + return $this->stages; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dataflow/JobExecutionStageInfo.php b/vendor/google/apiclient-services/src/Google/Service/Dataflow/JobExecutionStageInfo.php new file mode 100644 index 00000000..765af53c --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dataflow/JobExecutionStageInfo.php @@ -0,0 +1,31 @@ +stepName = $stepName; + } + public function getStepName() + { + return $this->stepName; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dataflow/JobMessage.php b/vendor/google/apiclient-services/src/Google/Service/Dataflow/JobMessage.php new file mode 100644 index 00000000..6ef9ad0e --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dataflow/JobMessage.php @@ -0,0 +1,57 @@ +id = $id; + } + public function getId() + { + return $this->id; + } + public function setMessageImportance($messageImportance) + { + $this->messageImportance = $messageImportance; + } + public function getMessageImportance() + { + return $this->messageImportance; + } + public function setMessageText($messageText) + { + $this->messageText = $messageText; + } + public function getMessageText() + { + return $this->messageText; + } + public function setTime($time) + { + $this->time = $time; + } + public function getTime() + { + return $this->time; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dataflow/JobMetrics.php b/vendor/google/apiclient-services/src/Google/Service/Dataflow/JobMetrics.php new file mode 100644 index 00000000..c096b480 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dataflow/JobMetrics.php @@ -0,0 +1,41 @@ +metricTime = $metricTime; + } + public function getMetricTime() + { + return $this->metricTime; + } + public function setMetrics($metrics) + { + $this->metrics = $metrics; + } + public function getMetrics() + { + return $this->metrics; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dataflow/KeyRangeDataDiskAssignment.php b/vendor/google/apiclient-services/src/Google/Service/Dataflow/KeyRangeDataDiskAssignment.php new file mode 100644 index 00000000..b4cca2b6 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dataflow/KeyRangeDataDiskAssignment.php @@ -0,0 +1,48 @@ +dataDisk = $dataDisk; + } + public function getDataDisk() + { + return $this->dataDisk; + } + public function setEnd($end) + { + $this->end = $end; + } + public function getEnd() + { + return $this->end; + } + public function setStart($start) + { + $this->start = $start; + } + public function getStart() + { + return $this->start; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dataflow/KeyRangeLocation.php b/vendor/google/apiclient-services/src/Google/Service/Dataflow/KeyRangeLocation.php new file mode 100644 index 00000000..0c398718 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dataflow/KeyRangeLocation.php @@ -0,0 +1,66 @@ +dataDisk = $dataDisk; + } + public function getDataDisk() + { + return $this->dataDisk; + } + public function setDeliveryEndpoint($deliveryEndpoint) + { + $this->deliveryEndpoint = $deliveryEndpoint; + } + public function getDeliveryEndpoint() + { + return $this->deliveryEndpoint; + } + public function setEnd($end) + { + $this->end = $end; + } + public function getEnd() + { + return $this->end; + } + public function setPersistentDirectory($persistentDirectory) + { + $this->persistentDirectory = $persistentDirectory; + } + public function getPersistentDirectory() + { + return $this->persistentDirectory; + } + public function setStart($start) + { + $this->start = $start; + } + public function getStart() + { + return $this->start; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dataflow/LaunchTemplateParameters.php b/vendor/google/apiclient-services/src/Google/Service/Dataflow/LaunchTemplateParameters.php new file mode 100644 index 00000000..6d8f02af --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dataflow/LaunchTemplateParameters.php @@ -0,0 +1,49 @@ +environment = $environment; + } + public function getEnvironment() + { + return $this->environment; + } + public function setJobName($jobName) + { + $this->jobName = $jobName; + } + public function getJobName() + { + return $this->jobName; + } + public function setParameters($parameters) + { + $this->parameters = $parameters; + } + public function getParameters() + { + return $this->parameters; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dataflow/LaunchTemplateResponse.php b/vendor/google/apiclient-services/src/Google/Service/Dataflow/LaunchTemplateResponse.php new file mode 100644 index 00000000..04e2a323 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dataflow/LaunchTemplateResponse.php @@ -0,0 +1,41 @@ +job = $job; + } + public function getJob() + { + return $this->job; + } + public function setStatus(Google_Service_Dataflow_Status $status) + { + $this->status = $status; + } + public function getStatus() + { + return $this->status; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dataflow/LeaseWorkItemRequest.php b/vendor/google/apiclient-services/src/Google/Service/Dataflow/LeaseWorkItemRequest.php new file mode 100644 index 00000000..9a193a10 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dataflow/LeaseWorkItemRequest.php @@ -0,0 +1,76 @@ +currentWorkerTime = $currentWorkerTime; + } + public function getCurrentWorkerTime() + { + return $this->currentWorkerTime; + } + public function setLocation($location) + { + $this->location = $location; + } + public function getLocation() + { + return $this->location; + } + public function setRequestedLeaseDuration($requestedLeaseDuration) + { + $this->requestedLeaseDuration = $requestedLeaseDuration; + } + public function getRequestedLeaseDuration() + { + return $this->requestedLeaseDuration; + } + public function setWorkItemTypes($workItemTypes) + { + $this->workItemTypes = $workItemTypes; + } + public function getWorkItemTypes() + { + return $this->workItemTypes; + } + public function setWorkerCapabilities($workerCapabilities) + { + $this->workerCapabilities = $workerCapabilities; + } + public function getWorkerCapabilities() + { + return $this->workerCapabilities; + } + public function setWorkerId($workerId) + { + $this->workerId = $workerId; + } + public function getWorkerId() + { + return $this->workerId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dataflow/LeaseWorkItemResponse.php b/vendor/google/apiclient-services/src/Google/Service/Dataflow/LeaseWorkItemResponse.php new file mode 100644 index 00000000..c4df8496 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dataflow/LeaseWorkItemResponse.php @@ -0,0 +1,32 @@ +workItems = $workItems; + } + public function getWorkItems() + { + return $this->workItems; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dataflow/ListJobMessagesResponse.php b/vendor/google/apiclient-services/src/Google/Service/Dataflow/ListJobMessagesResponse.php new file mode 100644 index 00000000..e71cdfb9 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dataflow/ListJobMessagesResponse.php @@ -0,0 +1,41 @@ +jobMessages = $jobMessages; + } + public function getJobMessages() + { + return $this->jobMessages; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dataflow/ListJobsResponse.php b/vendor/google/apiclient-services/src/Google/Service/Dataflow/ListJobsResponse.php new file mode 100644 index 00000000..65d7f213 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dataflow/ListJobsResponse.php @@ -0,0 +1,51 @@ +failedLocation = $failedLocation; + } + public function getFailedLocation() + { + return $this->failedLocation; + } + public function setJobs($jobs) + { + $this->jobs = $jobs; + } + public function getJobs() + { + return $this->jobs; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dataflow/MapTask.php b/vendor/google/apiclient-services/src/Google/Service/Dataflow/MapTask.php new file mode 100644 index 00000000..c34ffcae --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dataflow/MapTask.php @@ -0,0 +1,50 @@ +instructions = $instructions; + } + public function getInstructions() + { + return $this->instructions; + } + public function setStageName($stageName) + { + $this->stageName = $stageName; + } + public function getStageName() + { + return $this->stageName; + } + public function setSystemName($systemName) + { + $this->systemName = $systemName; + } + public function getSystemName() + { + return $this->systemName; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dataflow/MetricShortId.php b/vendor/google/apiclient-services/src/Google/Service/Dataflow/MetricShortId.php new file mode 100644 index 00000000..f16334fb --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dataflow/MetricShortId.php @@ -0,0 +1,39 @@ +metricIndex = $metricIndex; + } + public function getMetricIndex() + { + return $this->metricIndex; + } + public function setShortId($shortId) + { + $this->shortId = $shortId; + } + public function getShortId() + { + return $this->shortId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dataflow/MetricStructuredName.php b/vendor/google/apiclient-services/src/Google/Service/Dataflow/MetricStructuredName.php new file mode 100644 index 00000000..93f44ee7 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dataflow/MetricStructuredName.php @@ -0,0 +1,48 @@ +context = $context; + } + public function getContext() + { + return $this->context; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setOrigin($origin) + { + $this->origin = $origin; + } + public function getOrigin() + { + return $this->origin; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dataflow/MetricUpdate.php b/vendor/google/apiclient-services/src/Google/Service/Dataflow/MetricUpdate.php new file mode 100644 index 00000000..d3db38c3 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dataflow/MetricUpdate.php @@ -0,0 +1,103 @@ +cumulative = $cumulative; + } + public function getCumulative() + { + return $this->cumulative; + } + public function setInternal($internal) + { + $this->internal = $internal; + } + public function getInternal() + { + return $this->internal; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setMeanCount($meanCount) + { + $this->meanCount = $meanCount; + } + public function getMeanCount() + { + return $this->meanCount; + } + public function setMeanSum($meanSum) + { + $this->meanSum = $meanSum; + } + public function getMeanSum() + { + return $this->meanSum; + } + public function setName(Google_Service_Dataflow_MetricStructuredName $name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setScalar($scalar) + { + $this->scalar = $scalar; + } + public function getScalar() + { + return $this->scalar; + } + public function setSet($set) + { + $this->set = $set; + } + public function getSet() + { + return $this->set; + } + public function setUpdateTime($updateTime) + { + $this->updateTime = $updateTime; + } + public function getUpdateTime() + { + return $this->updateTime; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dataflow/MountedDataDisk.php b/vendor/google/apiclient-services/src/Google/Service/Dataflow/MountedDataDisk.php new file mode 100644 index 00000000..d718ca84 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dataflow/MountedDataDisk.php @@ -0,0 +1,30 @@ +dataDisk = $dataDisk; + } + public function getDataDisk() + { + return $this->dataDisk; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dataflow/MultiOutputInfo.php b/vendor/google/apiclient-services/src/Google/Service/Dataflow/MultiOutputInfo.php new file mode 100644 index 00000000..ed025f9a --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dataflow/MultiOutputInfo.php @@ -0,0 +1,30 @@ +tag = $tag; + } + public function getTag() + { + return $this->tag; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dataflow/NameAndKind.php b/vendor/google/apiclient-services/src/Google/Service/Dataflow/NameAndKind.php new file mode 100644 index 00000000..31f3a8b5 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dataflow/NameAndKind.php @@ -0,0 +1,39 @@ +kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dataflow/Package.php b/vendor/google/apiclient-services/src/Google/Service/Dataflow/Package.php new file mode 100644 index 00000000..7ca41364 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dataflow/Package.php @@ -0,0 +1,39 @@ +location = $location; + } + public function getLocation() + { + return $this->location; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dataflow/ParDoInstruction.php b/vendor/google/apiclient-services/src/Google/Service/Dataflow/ParDoInstruction.php new file mode 100644 index 00000000..9978da58 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dataflow/ParDoInstruction.php @@ -0,0 +1,70 @@ +input = $input; + } + public function getInput() + { + return $this->input; + } + public function setMultiOutputInfos($multiOutputInfos) + { + $this->multiOutputInfos = $multiOutputInfos; + } + public function getMultiOutputInfos() + { + return $this->multiOutputInfos; + } + public function setNumOutputs($numOutputs) + { + $this->numOutputs = $numOutputs; + } + public function getNumOutputs() + { + return $this->numOutputs; + } + public function setSideInputs($sideInputs) + { + $this->sideInputs = $sideInputs; + } + public function getSideInputs() + { + return $this->sideInputs; + } + public function setUserFn($userFn) + { + $this->userFn = $userFn; + } + public function getUserFn() + { + return $this->userFn; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dataflow/ParallelInstruction.php b/vendor/google/apiclient-services/src/Google/Service/Dataflow/ParallelInstruction.php new file mode 100644 index 00000000..1efb2afb --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dataflow/ParallelInstruction.php @@ -0,0 +1,109 @@ +flatten = $flatten; + } + public function getFlatten() + { + return $this->flatten; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setOriginalName($originalName) + { + $this->originalName = $originalName; + } + public function getOriginalName() + { + return $this->originalName; + } + public function setOutputs($outputs) + { + $this->outputs = $outputs; + } + public function getOutputs() + { + return $this->outputs; + } + public function setParDo(Google_Service_Dataflow_ParDoInstruction $parDo) + { + $this->parDo = $parDo; + } + public function getParDo() + { + return $this->parDo; + } + public function setPartialGroupByKey(Google_Service_Dataflow_PartialGroupByKeyInstruction $partialGroupByKey) + { + $this->partialGroupByKey = $partialGroupByKey; + } + public function getPartialGroupByKey() + { + return $this->partialGroupByKey; + } + public function setRead(Google_Service_Dataflow_ReadInstruction $read) + { + $this->read = $read; + } + public function getRead() + { + return $this->read; + } + public function setSystemName($systemName) + { + $this->systemName = $systemName; + } + public function getSystemName() + { + return $this->systemName; + } + public function setWrite(Google_Service_Dataflow_WriteInstruction $write) + { + $this->write = $write; + } + public function getWrite() + { + return $this->write; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dataflow/ParameterMetadata.php b/vendor/google/apiclient-services/src/Google/Service/Dataflow/ParameterMetadata.php new file mode 100644 index 00000000..36038cc8 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dataflow/ParameterMetadata.php @@ -0,0 +1,67 @@ +helpText = $helpText; + } + public function getHelpText() + { + return $this->helpText; + } + public function setIsOptional($isOptional) + { + $this->isOptional = $isOptional; + } + public function getIsOptional() + { + return $this->isOptional; + } + public function setLabel($label) + { + $this->label = $label; + } + public function getLabel() + { + return $this->label; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setRegexes($regexes) + { + $this->regexes = $regexes; + } + public function getRegexes() + { + return $this->regexes; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dataflow/PartialGroupByKeyInstruction.php b/vendor/google/apiclient-services/src/Google/Service/Dataflow/PartialGroupByKeyInstruction.php new file mode 100644 index 00000000..85f514f8 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dataflow/PartialGroupByKeyInstruction.php @@ -0,0 +1,78 @@ +input = $input; + } + public function getInput() + { + return $this->input; + } + public function setInputElementCodec($inputElementCodec) + { + $this->inputElementCodec = $inputElementCodec; + } + public function getInputElementCodec() + { + return $this->inputElementCodec; + } + public function setOriginalCombineValuesInputStoreName($originalCombineValuesInputStoreName) + { + $this->originalCombineValuesInputStoreName = $originalCombineValuesInputStoreName; + } + public function getOriginalCombineValuesInputStoreName() + { + return $this->originalCombineValuesInputStoreName; + } + public function setOriginalCombineValuesStepName($originalCombineValuesStepName) + { + $this->originalCombineValuesStepName = $originalCombineValuesStepName; + } + public function getOriginalCombineValuesStepName() + { + return $this->originalCombineValuesStepName; + } + public function setSideInputs($sideInputs) + { + $this->sideInputs = $sideInputs; + } + public function getSideInputs() + { + return $this->sideInputs; + } + public function setValueCombiningFn($valueCombiningFn) + { + $this->valueCombiningFn = $valueCombiningFn; + } + public function getValueCombiningFn() + { + return $this->valueCombiningFn; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dataflow/PipelineDescription.php b/vendor/google/apiclient-services/src/Google/Service/Dataflow/PipelineDescription.php new file mode 100644 index 00000000..289da1f3 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dataflow/PipelineDescription.php @@ -0,0 +1,52 @@ +displayData = $displayData; + } + public function getDisplayData() + { + return $this->displayData; + } + public function setExecutionPipelineStage($executionPipelineStage) + { + $this->executionPipelineStage = $executionPipelineStage; + } + public function getExecutionPipelineStage() + { + return $this->executionPipelineStage; + } + public function setOriginalPipelineTransform($originalPipelineTransform) + { + $this->originalPipelineTransform = $originalPipelineTransform; + } + public function getOriginalPipelineTransform() + { + return $this->originalPipelineTransform; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dataflow/Position.php b/vendor/google/apiclient-services/src/Google/Service/Dataflow/Position.php new file mode 100644 index 00000000..9942c245 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dataflow/Position.php @@ -0,0 +1,76 @@ +byteOffset = $byteOffset; + } + public function getByteOffset() + { + return $this->byteOffset; + } + public function setConcatPosition(Google_Service_Dataflow_ConcatPosition $concatPosition) + { + $this->concatPosition = $concatPosition; + } + public function getConcatPosition() + { + return $this->concatPosition; + } + public function setEnd($end) + { + $this->end = $end; + } + public function getEnd() + { + return $this->end; + } + public function setKey($key) + { + $this->key = $key; + } + public function getKey() + { + return $this->key; + } + public function setRecordIndex($recordIndex) + { + $this->recordIndex = $recordIndex; + } + public function getRecordIndex() + { + return $this->recordIndex; + } + public function setShufflePosition($shufflePosition) + { + $this->shufflePosition = $shufflePosition; + } + public function getShufflePosition() + { + return $this->shufflePosition; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dataflow/PubsubLocation.php b/vendor/google/apiclient-services/src/Google/Service/Dataflow/PubsubLocation.php new file mode 100644 index 00000000..775e7ed6 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dataflow/PubsubLocation.php @@ -0,0 +1,84 @@ +dropLateData = $dropLateData; + } + public function getDropLateData() + { + return $this->dropLateData; + } + public function setIdLabel($idLabel) + { + $this->idLabel = $idLabel; + } + public function getIdLabel() + { + return $this->idLabel; + } + public function setSubscription($subscription) + { + $this->subscription = $subscription; + } + public function getSubscription() + { + return $this->subscription; + } + public function setTimestampLabel($timestampLabel) + { + $this->timestampLabel = $timestampLabel; + } + public function getTimestampLabel() + { + return $this->timestampLabel; + } + public function setTopic($topic) + { + $this->topic = $topic; + } + public function getTopic() + { + return $this->topic; + } + public function setTrackingSubscription($trackingSubscription) + { + $this->trackingSubscription = $trackingSubscription; + } + public function getTrackingSubscription() + { + return $this->trackingSubscription; + } + public function setWithAttributes($withAttributes) + { + $this->withAttributes = $withAttributes; + } + public function getWithAttributes() + { + return $this->withAttributes; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dataflow/ReadInstruction.php b/vendor/google/apiclient-services/src/Google/Service/Dataflow/ReadInstruction.php new file mode 100644 index 00000000..ed30b3de --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dataflow/ReadInstruction.php @@ -0,0 +1,31 @@ +source = $source; + } + public function getSource() + { + return $this->source; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dataflow/ReportWorkItemStatusRequest.php b/vendor/google/apiclient-services/src/Google/Service/Dataflow/ReportWorkItemStatusRequest.php new file mode 100644 index 00000000..23cc2175 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dataflow/ReportWorkItemStatusRequest.php @@ -0,0 +1,59 @@ +currentWorkerTime = $currentWorkerTime; + } + public function getCurrentWorkerTime() + { + return $this->currentWorkerTime; + } + public function setLocation($location) + { + $this->location = $location; + } + public function getLocation() + { + return $this->location; + } + public function setWorkItemStatuses($workItemStatuses) + { + $this->workItemStatuses = $workItemStatuses; + } + public function getWorkItemStatuses() + { + return $this->workItemStatuses; + } + public function setWorkerId($workerId) + { + $this->workerId = $workerId; + } + public function getWorkerId() + { + return $this->workerId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dataflow/ReportWorkItemStatusResponse.php b/vendor/google/apiclient-services/src/Google/Service/Dataflow/ReportWorkItemStatusResponse.php new file mode 100644 index 00000000..ec7e4202 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dataflow/ReportWorkItemStatusResponse.php @@ -0,0 +1,32 @@ +workItemServiceStates = $workItemServiceStates; + } + public function getWorkItemServiceStates() + { + return $this->workItemServiceStates; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dataflow/ReportedParallelism.php b/vendor/google/apiclient-services/src/Google/Service/Dataflow/ReportedParallelism.php new file mode 100644 index 00000000..c0b1089e --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dataflow/ReportedParallelism.php @@ -0,0 +1,39 @@ +isInfinite = $isInfinite; + } + public function getIsInfinite() + { + return $this->isInfinite; + } + public function setValue($value) + { + $this->value = $value; + } + public function getValue() + { + return $this->value; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dataflow/Resource/Projects.php b/vendor/google/apiclient-services/src/Google/Service/Dataflow/Resource/Projects.php new file mode 100644 index 00000000..cb87dc99 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dataflow/Resource/Projects.php @@ -0,0 +1,42 @@ + + * $dataflowService = new Google_Service_Dataflow(...); + * $projects = $dataflowService->projects; + * + */ +class Google_Service_Dataflow_Resource_Projects extends Google_Service_Resource +{ + /** + * Send a worker_message to the service. (projects.workerMessages) + * + * @param string $projectId The project to send the WorkerMessages to. + * @param Google_Service_Dataflow_SendWorkerMessagesRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Dataflow_SendWorkerMessagesResponse + */ + public function workerMessages($projectId, Google_Service_Dataflow_SendWorkerMessagesRequest $postBody, $optParams = array()) + { + $params = array('projectId' => $projectId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('workerMessages', array($params), "Google_Service_Dataflow_SendWorkerMessagesResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dataflow/Resource/ProjectsJobs.php b/vendor/google/apiclient-services/src/Google/Service/Dataflow/Resource/ProjectsJobs.php new file mode 100644 index 00000000..f7465aa8 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dataflow/Resource/ProjectsJobs.php @@ -0,0 +1,127 @@ + + * $dataflowService = new Google_Service_Dataflow(...); + * $jobs = $dataflowService->jobs; + * + */ +class Google_Service_Dataflow_Resource_ProjectsJobs extends Google_Service_Resource +{ + /** + * Creates a Cloud Dataflow job. (jobs.create) + * + * @param string $projectId The ID of the Cloud Platform project that the job + * belongs to. + * @param Google_Service_Dataflow_Job $postBody + * @param array $optParams Optional parameters. + * + * @opt_param string location The location that contains this job. + * @opt_param string replaceJobId Deprecated. This field is now in the Job + * message. + * @opt_param string view The level of information requested in response. + * @return Google_Service_Dataflow_Job + */ + public function create($projectId, Google_Service_Dataflow_Job $postBody, $optParams = array()) + { + $params = array('projectId' => $projectId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('create', array($params), "Google_Service_Dataflow_Job"); + } + /** + * Gets the state of the specified Cloud Dataflow job. (jobs.get) + * + * @param string $projectId The ID of the Cloud Platform project that the job + * belongs to. + * @param string $jobId The job ID. + * @param array $optParams Optional parameters. + * + * @opt_param string location The location that contains this job. + * @opt_param string view The level of information requested in response. + * @return Google_Service_Dataflow_Job + */ + public function get($projectId, $jobId, $optParams = array()) + { + $params = array('projectId' => $projectId, 'jobId' => $jobId); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Dataflow_Job"); + } + /** + * Request the job status. (jobs.getMetrics) + * + * @param string $projectId A project id. + * @param string $jobId The job to get messages for. + * @param array $optParams Optional parameters. + * + * @opt_param string startTime Return only metric data that has changed since + * this time. Default is to return all information about all metrics for the + * job. + * @opt_param string location The location which contains the job specified by + * job_id. + * @return Google_Service_Dataflow_JobMetrics + */ + public function getMetrics($projectId, $jobId, $optParams = array()) + { + $params = array('projectId' => $projectId, 'jobId' => $jobId); + $params = array_merge($params, $optParams); + return $this->call('getMetrics', array($params), "Google_Service_Dataflow_JobMetrics"); + } + /** + * List the jobs of a project. (jobs.listProjectsJobs) + * + * @param string $projectId The project which owns the jobs. + * @param array $optParams Optional parameters. + * + * @opt_param string filter The kind of filter to use. + * @opt_param string location The location that contains this job. + * @opt_param string pageToken Set this to the 'next_page_token' field of a + * previous response to request additional results in a long list. + * @opt_param int pageSize If there are many jobs, limit response to at most + * this many. The actual number of jobs returned will be the lesser of + * max_responses and an unspecified server-defined limit. + * @opt_param string view Level of information requested in response. Default is + * `JOB_VIEW_SUMMARY`. + * @return Google_Service_Dataflow_ListJobsResponse + */ + public function listProjectsJobs($projectId, $optParams = array()) + { + $params = array('projectId' => $projectId); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Dataflow_ListJobsResponse"); + } + /** + * Updates the state of an existing Cloud Dataflow job. (jobs.update) + * + * @param string $projectId The ID of the Cloud Platform project that the job + * belongs to. + * @param string $jobId The job ID. + * @param Google_Service_Dataflow_Job $postBody + * @param array $optParams Optional parameters. + * + * @opt_param string location The location that contains this job. + * @return Google_Service_Dataflow_Job + */ + public function update($projectId, $jobId, Google_Service_Dataflow_Job $postBody, $optParams = array()) + { + $params = array('projectId' => $projectId, 'jobId' => $jobId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('update', array($params), "Google_Service_Dataflow_Job"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dataflow/Resource/ProjectsJobsDebug.php b/vendor/google/apiclient-services/src/Google/Service/Dataflow/Resource/ProjectsJobsDebug.php new file mode 100644 index 00000000..ea70131e --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dataflow/Resource/ProjectsJobsDebug.php @@ -0,0 +1,59 @@ + + * $dataflowService = new Google_Service_Dataflow(...); + * $debug = $dataflowService->debug; + * + */ +class Google_Service_Dataflow_Resource_ProjectsJobsDebug extends Google_Service_Resource +{ + /** + * Get encoded debug configuration for component. Not cacheable. + * (debug.getConfig) + * + * @param string $projectId The project id. + * @param string $jobId The job id. + * @param Google_Service_Dataflow_GetDebugConfigRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Dataflow_GetDebugConfigResponse + */ + public function getConfig($projectId, $jobId, Google_Service_Dataflow_GetDebugConfigRequest $postBody, $optParams = array()) + { + $params = array('projectId' => $projectId, 'jobId' => $jobId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('getConfig', array($params), "Google_Service_Dataflow_GetDebugConfigResponse"); + } + /** + * Send encoded debug capture data for component. (debug.sendCapture) + * + * @param string $projectId The project id. + * @param string $jobId The job id. + * @param Google_Service_Dataflow_SendDebugCaptureRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Dataflow_SendDebugCaptureResponse + */ + public function sendCapture($projectId, $jobId, Google_Service_Dataflow_SendDebugCaptureRequest $postBody, $optParams = array()) + { + $params = array('projectId' => $projectId, 'jobId' => $jobId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('sendCapture', array($params), "Google_Service_Dataflow_SendDebugCaptureResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dataflow/Resource/ProjectsJobsMessages.php b/vendor/google/apiclient-services/src/Google/Service/Dataflow/Resource/ProjectsJobsMessages.php new file mode 100644 index 00000000..e9740951 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dataflow/Resource/ProjectsJobsMessages.php @@ -0,0 +1,58 @@ + + * $dataflowService = new Google_Service_Dataflow(...); + * $messages = $dataflowService->messages; + * + */ +class Google_Service_Dataflow_Resource_ProjectsJobsMessages extends Google_Service_Resource +{ + /** + * Request the job status. (messages.listProjectsJobsMessages) + * + * @param string $projectId A project id. + * @param string $jobId The job to get messages about. + * @param array $optParams Optional parameters. + * + * @opt_param string endTime Return only messages with timestamps < end_time. + * The default is now (i.e. return up to the latest messages available). + * @opt_param string location The location which contains the job specified by + * job_id. + * @opt_param string pageToken If supplied, this should be the value of + * next_page_token returned by an earlier call. This will cause the next page of + * results to be returned. + * @opt_param string startTime If specified, return only messages with + * timestamps >= start_time. The default is the job creation time (i.e. + * beginning of messages). + * @opt_param int pageSize If specified, determines the maximum number of + * messages to return. If unspecified, the service may choose an appropriate + * default, or may return an arbitrarily large number of results. + * @opt_param string minimumImportance Filter to only get messages with + * importance >= level + * @return Google_Service_Dataflow_ListJobMessagesResponse + */ + public function listProjectsJobsMessages($projectId, $jobId, $optParams = array()) + { + $params = array('projectId' => $projectId, 'jobId' => $jobId); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Dataflow_ListJobMessagesResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dataflow/Resource/ProjectsJobsWorkItems.php b/vendor/google/apiclient-services/src/Google/Service/Dataflow/Resource/ProjectsJobsWorkItems.php new file mode 100644 index 00000000..82c3b780 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dataflow/Resource/ProjectsJobsWorkItems.php @@ -0,0 +1,59 @@ + + * $dataflowService = new Google_Service_Dataflow(...); + * $workItems = $dataflowService->workItems; + * + */ +class Google_Service_Dataflow_Resource_ProjectsJobsWorkItems extends Google_Service_Resource +{ + /** + * Leases a dataflow WorkItem to run. (workItems.lease) + * + * @param string $projectId Identifies the project this worker belongs to. + * @param string $jobId Identifies the workflow job this worker belongs to. + * @param Google_Service_Dataflow_LeaseWorkItemRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Dataflow_LeaseWorkItemResponse + */ + public function lease($projectId, $jobId, Google_Service_Dataflow_LeaseWorkItemRequest $postBody, $optParams = array()) + { + $params = array('projectId' => $projectId, 'jobId' => $jobId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('lease', array($params), "Google_Service_Dataflow_LeaseWorkItemResponse"); + } + /** + * Reports the status of dataflow WorkItems leased by a worker. + * (workItems.reportStatus) + * + * @param string $projectId The project which owns the WorkItem's job. + * @param string $jobId The job which the WorkItem is part of. + * @param Google_Service_Dataflow_ReportWorkItemStatusRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Dataflow_ReportWorkItemStatusResponse + */ + public function reportStatus($projectId, $jobId, Google_Service_Dataflow_ReportWorkItemStatusRequest $postBody, $optParams = array()) + { + $params = array('projectId' => $projectId, 'jobId' => $jobId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('reportStatus', array($params), "Google_Service_Dataflow_ReportWorkItemStatusResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dataflow/Resource/ProjectsLocations.php b/vendor/google/apiclient-services/src/Google/Service/Dataflow/Resource/ProjectsLocations.php new file mode 100644 index 00000000..ebf4947d --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dataflow/Resource/ProjectsLocations.php @@ -0,0 +1,28 @@ + + * $dataflowService = new Google_Service_Dataflow(...); + * $locations = $dataflowService->locations; + * + */ +class Google_Service_Dataflow_Resource_ProjectsLocations extends Google_Service_Resource +{ +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dataflow/Resource/ProjectsLocationsJobs.php b/vendor/google/apiclient-services/src/Google/Service/Dataflow/Resource/ProjectsLocationsJobs.php new file mode 100644 index 00000000..5c4d2679 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dataflow/Resource/ProjectsLocationsJobs.php @@ -0,0 +1,126 @@ + + * $dataflowService = new Google_Service_Dataflow(...); + * $jobs = $dataflowService->jobs; + * + */ +class Google_Service_Dataflow_Resource_ProjectsLocationsJobs extends Google_Service_Resource +{ + /** + * Creates a Cloud Dataflow job. (jobs.create) + * + * @param string $projectId The ID of the Cloud Platform project that the job + * belongs to. + * @param string $location The location that contains this job. + * @param Google_Service_Dataflow_Job $postBody + * @param array $optParams Optional parameters. + * + * @opt_param string replaceJobId Deprecated. This field is now in the Job + * message. + * @opt_param string view The level of information requested in response. + * @return Google_Service_Dataflow_Job + */ + public function create($projectId, $location, Google_Service_Dataflow_Job $postBody, $optParams = array()) + { + $params = array('projectId' => $projectId, 'location' => $location, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('create', array($params), "Google_Service_Dataflow_Job"); + } + /** + * Gets the state of the specified Cloud Dataflow job. (jobs.get) + * + * @param string $projectId The ID of the Cloud Platform project that the job + * belongs to. + * @param string $location The location that contains this job. + * @param string $jobId The job ID. + * @param array $optParams Optional parameters. + * + * @opt_param string view The level of information requested in response. + * @return Google_Service_Dataflow_Job + */ + public function get($projectId, $location, $jobId, $optParams = array()) + { + $params = array('projectId' => $projectId, 'location' => $location, 'jobId' => $jobId); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Dataflow_Job"); + } + /** + * Request the job status. (jobs.getMetrics) + * + * @param string $projectId A project id. + * @param string $location The location which contains the job specified by + * job_id. + * @param string $jobId The job to get messages for. + * @param array $optParams Optional parameters. + * + * @opt_param string startTime Return only metric data that has changed since + * this time. Default is to return all information about all metrics for the + * job. + * @return Google_Service_Dataflow_JobMetrics + */ + public function getMetrics($projectId, $location, $jobId, $optParams = array()) + { + $params = array('projectId' => $projectId, 'location' => $location, 'jobId' => $jobId); + $params = array_merge($params, $optParams); + return $this->call('getMetrics', array($params), "Google_Service_Dataflow_JobMetrics"); + } + /** + * List the jobs of a project. (jobs.listProjectsLocationsJobs) + * + * @param string $projectId The project which owns the jobs. + * @param string $location The location that contains this job. + * @param array $optParams Optional parameters. + * + * @opt_param string filter The kind of filter to use. + * @opt_param string pageToken Set this to the 'next_page_token' field of a + * previous response to request additional results in a long list. + * @opt_param int pageSize If there are many jobs, limit response to at most + * this many. The actual number of jobs returned will be the lesser of + * max_responses and an unspecified server-defined limit. + * @opt_param string view Level of information requested in response. Default is + * `JOB_VIEW_SUMMARY`. + * @return Google_Service_Dataflow_ListJobsResponse + */ + public function listProjectsLocationsJobs($projectId, $location, $optParams = array()) + { + $params = array('projectId' => $projectId, 'location' => $location); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Dataflow_ListJobsResponse"); + } + /** + * Updates the state of an existing Cloud Dataflow job. (jobs.update) + * + * @param string $projectId The ID of the Cloud Platform project that the job + * belongs to. + * @param string $location The location that contains this job. + * @param string $jobId The job ID. + * @param Google_Service_Dataflow_Job $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Dataflow_Job + */ + public function update($projectId, $location, $jobId, Google_Service_Dataflow_Job $postBody, $optParams = array()) + { + $params = array('projectId' => $projectId, 'location' => $location, 'jobId' => $jobId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('update', array($params), "Google_Service_Dataflow_Job"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dataflow/Resource/ProjectsLocationsJobsMessages.php b/vendor/google/apiclient-services/src/Google/Service/Dataflow/Resource/ProjectsLocationsJobsMessages.php new file mode 100644 index 00000000..822af3f8 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dataflow/Resource/ProjectsLocationsJobsMessages.php @@ -0,0 +1,58 @@ + + * $dataflowService = new Google_Service_Dataflow(...); + * $messages = $dataflowService->messages; + * + */ +class Google_Service_Dataflow_Resource_ProjectsLocationsJobsMessages extends Google_Service_Resource +{ + /** + * Request the job status. (messages.listProjectsLocationsJobsMessages) + * + * @param string $projectId A project id. + * @param string $location The location which contains the job specified by + * job_id. + * @param string $jobId The job to get messages about. + * @param array $optParams Optional parameters. + * + * @opt_param string endTime Return only messages with timestamps < end_time. + * The default is now (i.e. return up to the latest messages available). + * @opt_param string startTime If specified, return only messages with + * timestamps >= start_time. The default is the job creation time (i.e. + * beginning of messages). + * @opt_param string pageToken If supplied, this should be the value of + * next_page_token returned by an earlier call. This will cause the next page of + * results to be returned. + * @opt_param int pageSize If specified, determines the maximum number of + * messages to return. If unspecified, the service may choose an appropriate + * default, or may return an arbitrarily large number of results. + * @opt_param string minimumImportance Filter to only get messages with + * importance >= level + * @return Google_Service_Dataflow_ListJobMessagesResponse + */ + public function listProjectsLocationsJobsMessages($projectId, $location, $jobId, $optParams = array()) + { + $params = array('projectId' => $projectId, 'location' => $location, 'jobId' => $jobId); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Dataflow_ListJobMessagesResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dataflow/Resource/ProjectsLocationsJobsWorkItems.php b/vendor/google/apiclient-services/src/Google/Service/Dataflow/Resource/ProjectsLocationsJobsWorkItems.php new file mode 100644 index 00000000..ca422936 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dataflow/Resource/ProjectsLocationsJobsWorkItems.php @@ -0,0 +1,61 @@ + + * $dataflowService = new Google_Service_Dataflow(...); + * $workItems = $dataflowService->workItems; + * + */ +class Google_Service_Dataflow_Resource_ProjectsLocationsJobsWorkItems extends Google_Service_Resource +{ + /** + * Leases a dataflow WorkItem to run. (workItems.lease) + * + * @param string $projectId Identifies the project this worker belongs to. + * @param string $location The location which contains the WorkItem's job. + * @param string $jobId Identifies the workflow job this worker belongs to. + * @param Google_Service_Dataflow_LeaseWorkItemRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Dataflow_LeaseWorkItemResponse + */ + public function lease($projectId, $location, $jobId, Google_Service_Dataflow_LeaseWorkItemRequest $postBody, $optParams = array()) + { + $params = array('projectId' => $projectId, 'location' => $location, 'jobId' => $jobId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('lease', array($params), "Google_Service_Dataflow_LeaseWorkItemResponse"); + } + /** + * Reports the status of dataflow WorkItems leased by a worker. + * (workItems.reportStatus) + * + * @param string $projectId The project which owns the WorkItem's job. + * @param string $location The location which contains the WorkItem's job. + * @param string $jobId The job which the WorkItem is part of. + * @param Google_Service_Dataflow_ReportWorkItemStatusRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Dataflow_ReportWorkItemStatusResponse + */ + public function reportStatus($projectId, $location, $jobId, Google_Service_Dataflow_ReportWorkItemStatusRequest $postBody, $optParams = array()) + { + $params = array('projectId' => $projectId, 'location' => $location, 'jobId' => $jobId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('reportStatus', array($params), "Google_Service_Dataflow_ReportWorkItemStatusResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dataflow/Resource/ProjectsTemplates.php b/vendor/google/apiclient-services/src/Google/Service/Dataflow/Resource/ProjectsTemplates.php new file mode 100644 index 00000000..ff18cd72 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dataflow/Resource/ProjectsTemplates.php @@ -0,0 +1,84 @@ + + * $dataflowService = new Google_Service_Dataflow(...); + * $templates = $dataflowService->templates; + * + */ +class Google_Service_Dataflow_Resource_ProjectsTemplates extends Google_Service_Resource +{ + /** + * Creates a Cloud Dataflow job from a template. (templates.create) + * + * @param string $projectId Required. The ID of the Cloud Platform project that + * the job belongs to. + * @param Google_Service_Dataflow_CreateJobFromTemplateRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Dataflow_Job + */ + public function create($projectId, Google_Service_Dataflow_CreateJobFromTemplateRequest $postBody, $optParams = array()) + { + $params = array('projectId' => $projectId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('create', array($params), "Google_Service_Dataflow_Job"); + } + /** + * Get the template associated with a template. (templates.get) + * + * @param string $projectId Required. The ID of the Cloud Platform project that + * the job belongs to. + * @param array $optParams Optional parameters. + * + * @opt_param string view The view to retrieve. Defaults to METADATA_ONLY. + * @opt_param string gcsPath Required. A Cloud Storage path to the template from + * which to create the job. Must be a valid Cloud Storage URL, beginning with + * `gs://`. + * @return Google_Service_Dataflow_GetTemplateResponse + */ + public function get($projectId, $optParams = array()) + { + $params = array('projectId' => $projectId); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Dataflow_GetTemplateResponse"); + } + /** + * Launch a template. (templates.launch) + * + * @param string $projectId Required. The ID of the Cloud Platform project that + * the job belongs to. + * @param Google_Service_Dataflow_LaunchTemplateParameters $postBody + * @param array $optParams Optional parameters. + * + * @opt_param string gcsPath Required. A Cloud Storage path to the template from + * which to create the job. Must be valid Cloud Storage URL, beginning with + * 'gs://'. + * @opt_param bool dryRun Whether or not the job should actually be executed + * after validating parameters. Defaults to false. Validation errors do not + * cause the HTTP request to fail if true. + * @return Google_Service_Dataflow_LaunchTemplateResponse + */ + public function launch($projectId, Google_Service_Dataflow_LaunchTemplateParameters $postBody, $optParams = array()) + { + $params = array('projectId' => $projectId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('launch', array($params), "Google_Service_Dataflow_LaunchTemplateResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dataflow/ResourceUtilizationReport.php b/vendor/google/apiclient-services/src/Google/Service/Dataflow/ResourceUtilizationReport.php new file mode 100644 index 00000000..7bafe4e2 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dataflow/ResourceUtilizationReport.php @@ -0,0 +1,32 @@ +cpuTime = $cpuTime; + } + public function getCpuTime() + { + return $this->cpuTime; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dataflow/ResourceUtilizationReportResponse.php b/vendor/google/apiclient-services/src/Google/Service/Dataflow/ResourceUtilizationReportResponse.php new file mode 100644 index 00000000..82d07b32 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dataflow/ResourceUtilizationReportResponse.php @@ -0,0 +1,20 @@ +bypassTempDirValidation = $bypassTempDirValidation; + } + public function getBypassTempDirValidation() + { + return $this->bypassTempDirValidation; + } + public function setMaxWorkers($maxWorkers) + { + $this->maxWorkers = $maxWorkers; + } + public function getMaxWorkers() + { + return $this->maxWorkers; + } + public function setServiceAccountEmail($serviceAccountEmail) + { + $this->serviceAccountEmail = $serviceAccountEmail; + } + public function getServiceAccountEmail() + { + return $this->serviceAccountEmail; + } + public function setTempLocation($tempLocation) + { + $this->tempLocation = $tempLocation; + } + public function getTempLocation() + { + return $this->tempLocation; + } + public function setZone($zone) + { + $this->zone = $zone; + } + public function getZone() + { + return $this->zone; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dataflow/SendDebugCaptureRequest.php b/vendor/google/apiclient-services/src/Google/Service/Dataflow/SendDebugCaptureRequest.php new file mode 100644 index 00000000..07c1688f --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dataflow/SendDebugCaptureRequest.php @@ -0,0 +1,48 @@ +componentId = $componentId; + } + public function getComponentId() + { + return $this->componentId; + } + public function setData($data) + { + $this->data = $data; + } + public function getData() + { + return $this->data; + } + public function setWorkerId($workerId) + { + $this->workerId = $workerId; + } + public function getWorkerId() + { + return $this->workerId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dataflow/SendDebugCaptureResponse.php b/vendor/google/apiclient-services/src/Google/Service/Dataflow/SendDebugCaptureResponse.php new file mode 100644 index 00000000..99d30d74 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dataflow/SendDebugCaptureResponse.php @@ -0,0 +1,20 @@ +workerMessages = $workerMessages; + } + public function getWorkerMessages() + { + return $this->workerMessages; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dataflow/SendWorkerMessagesResponse.php b/vendor/google/apiclient-services/src/Google/Service/Dataflow/SendWorkerMessagesResponse.php new file mode 100644 index 00000000..eab6a5d0 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dataflow/SendWorkerMessagesResponse.php @@ -0,0 +1,32 @@ +workerMessageResponses = $workerMessageResponses; + } + public function getWorkerMessageResponses() + { + return $this->workerMessageResponses; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dataflow/SeqMapTask.php b/vendor/google/apiclient-services/src/Google/Service/Dataflow/SeqMapTask.php new file mode 100644 index 00000000..0b6450c5 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dataflow/SeqMapTask.php @@ -0,0 +1,78 @@ +inputs = $inputs; + } + public function getInputs() + { + return $this->inputs; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setOutputInfos($outputInfos) + { + $this->outputInfos = $outputInfos; + } + public function getOutputInfos() + { + return $this->outputInfos; + } + public function setStageName($stageName) + { + $this->stageName = $stageName; + } + public function getStageName() + { + return $this->stageName; + } + public function setSystemName($systemName) + { + $this->systemName = $systemName; + } + public function getSystemName() + { + return $this->systemName; + } + public function setUserFn($userFn) + { + $this->userFn = $userFn; + } + public function getUserFn() + { + return $this->userFn; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dataflow/SeqMapTaskOutputInfo.php b/vendor/google/apiclient-services/src/Google/Service/Dataflow/SeqMapTaskOutputInfo.php new file mode 100644 index 00000000..92049428 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dataflow/SeqMapTaskOutputInfo.php @@ -0,0 +1,40 @@ +sink = $sink; + } + public function getSink() + { + return $this->sink; + } + public function setTag($tag) + { + $this->tag = $tag; + } + public function getTag() + { + return $this->tag; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dataflow/ShellTask.php b/vendor/google/apiclient-services/src/Google/Service/Dataflow/ShellTask.php new file mode 100644 index 00000000..5ff9c107 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dataflow/ShellTask.php @@ -0,0 +1,39 @@ +command = $command; + } + public function getCommand() + { + return $this->command; + } + public function setExitCode($exitCode) + { + $this->exitCode = $exitCode; + } + public function getExitCode() + { + return $this->exitCode; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dataflow/SideInputInfo.php b/vendor/google/apiclient-services/src/Google/Service/Dataflow/SideInputInfo.php new file mode 100644 index 00000000..6f863788 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dataflow/SideInputInfo.php @@ -0,0 +1,50 @@ +kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setSources($sources) + { + $this->sources = $sources; + } + public function getSources() + { + return $this->sources; + } + public function setTag($tag) + { + $this->tag = $tag; + } + public function getTag() + { + return $this->tag; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dataflow/Sink.php b/vendor/google/apiclient-services/src/Google/Service/Dataflow/Sink.php new file mode 100644 index 00000000..18e8c52f --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dataflow/Sink.php @@ -0,0 +1,39 @@ +codec = $codec; + } + public function getCodec() + { + return $this->codec; + } + public function setSpec($spec) + { + $this->spec = $spec; + } + public function getSpec() + { + return $this->spec; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dataflow/Source.php b/vendor/google/apiclient-services/src/Google/Service/Dataflow/Source.php new file mode 100644 index 00000000..587ee0bc --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dataflow/Source.php @@ -0,0 +1,68 @@ +baseSpecs = $baseSpecs; + } + public function getBaseSpecs() + { + return $this->baseSpecs; + } + public function setCodec($codec) + { + $this->codec = $codec; + } + public function getCodec() + { + return $this->codec; + } + public function setDoesNotNeedSplitting($doesNotNeedSplitting) + { + $this->doesNotNeedSplitting = $doesNotNeedSplitting; + } + public function getDoesNotNeedSplitting() + { + return $this->doesNotNeedSplitting; + } + public function setMetadata(Google_Service_Dataflow_SourceMetadata $metadata) + { + $this->metadata = $metadata; + } + public function getMetadata() + { + return $this->metadata; + } + public function setSpec($spec) + { + $this->spec = $spec; + } + public function getSpec() + { + return $this->spec; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dataflow/SourceFork.php b/vendor/google/apiclient-services/src/Google/Service/Dataflow/SourceFork.php new file mode 100644 index 00000000..810201f5 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dataflow/SourceFork.php @@ -0,0 +1,61 @@ +primary = $primary; + } + public function getPrimary() + { + return $this->primary; + } + public function setPrimarySource(Google_Service_Dataflow_DerivedSource $primarySource) + { + $this->primarySource = $primarySource; + } + public function getPrimarySource() + { + return $this->primarySource; + } + public function setResidual(Google_Service_Dataflow_SourceSplitShard $residual) + { + $this->residual = $residual; + } + public function getResidual() + { + return $this->residual; + } + public function setResidualSource(Google_Service_Dataflow_DerivedSource $residualSource) + { + $this->residualSource = $residualSource; + } + public function getResidualSource() + { + return $this->residualSource; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dataflow/SourceGetMetadataRequest.php b/vendor/google/apiclient-services/src/Google/Service/Dataflow/SourceGetMetadataRequest.php new file mode 100644 index 00000000..4baff3b2 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dataflow/SourceGetMetadataRequest.php @@ -0,0 +1,31 @@ +source = $source; + } + public function getSource() + { + return $this->source; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dataflow/SourceGetMetadataResponse.php b/vendor/google/apiclient-services/src/Google/Service/Dataflow/SourceGetMetadataResponse.php new file mode 100644 index 00000000..dda0e312 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dataflow/SourceGetMetadataResponse.php @@ -0,0 +1,31 @@ +metadata = $metadata; + } + public function getMetadata() + { + return $this->metadata; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dataflow/SourceMetadata.php b/vendor/google/apiclient-services/src/Google/Service/Dataflow/SourceMetadata.php new file mode 100644 index 00000000..2512f4a5 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dataflow/SourceMetadata.php @@ -0,0 +1,48 @@ +estimatedSizeBytes = $estimatedSizeBytes; + } + public function getEstimatedSizeBytes() + { + return $this->estimatedSizeBytes; + } + public function setInfinite($infinite) + { + $this->infinite = $infinite; + } + public function getInfinite() + { + return $this->infinite; + } + public function setProducesSortedKeys($producesSortedKeys) + { + $this->producesSortedKeys = $producesSortedKeys; + } + public function getProducesSortedKeys() + { + return $this->producesSortedKeys; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dataflow/SourceOperationRequest.php b/vendor/google/apiclient-services/src/Google/Service/Dataflow/SourceOperationRequest.php new file mode 100644 index 00000000..926fe71b --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dataflow/SourceOperationRequest.php @@ -0,0 +1,41 @@ +getMetadata = $getMetadata; + } + public function getGetMetadata() + { + return $this->getMetadata; + } + public function setSplit(Google_Service_Dataflow_SourceSplitRequest $split) + { + $this->split = $split; + } + public function getSplit() + { + return $this->split; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dataflow/SourceOperationResponse.php b/vendor/google/apiclient-services/src/Google/Service/Dataflow/SourceOperationResponse.php new file mode 100644 index 00000000..f551b522 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dataflow/SourceOperationResponse.php @@ -0,0 +1,41 @@ +getMetadata = $getMetadata; + } + public function getGetMetadata() + { + return $this->getMetadata; + } + public function setSplit(Google_Service_Dataflow_SourceSplitResponse $split) + { + $this->split = $split; + } + public function getSplit() + { + return $this->split; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dataflow/SourceSplitOptions.php b/vendor/google/apiclient-services/src/Google/Service/Dataflow/SourceSplitOptions.php new file mode 100644 index 00000000..68c96736 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dataflow/SourceSplitOptions.php @@ -0,0 +1,39 @@ +desiredBundleSizeBytes = $desiredBundleSizeBytes; + } + public function getDesiredBundleSizeBytes() + { + return $this->desiredBundleSizeBytes; + } + public function setDesiredShardSizeBytes($desiredShardSizeBytes) + { + $this->desiredShardSizeBytes = $desiredShardSizeBytes; + } + public function getDesiredShardSizeBytes() + { + return $this->desiredShardSizeBytes; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dataflow/SourceSplitRequest.php b/vendor/google/apiclient-services/src/Google/Service/Dataflow/SourceSplitRequest.php new file mode 100644 index 00000000..c819be45 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dataflow/SourceSplitRequest.php @@ -0,0 +1,41 @@ +options = $options; + } + public function getOptions() + { + return $this->options; + } + public function setSource(Google_Service_Dataflow_Source $source) + { + $this->source = $source; + } + public function getSource() + { + return $this->source; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dataflow/SourceSplitResponse.php b/vendor/google/apiclient-services/src/Google/Service/Dataflow/SourceSplitResponse.php new file mode 100644 index 00000000..abedc3c7 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dataflow/SourceSplitResponse.php @@ -0,0 +1,51 @@ +bundles = $bundles; + } + public function getBundles() + { + return $this->bundles; + } + public function setOutcome($outcome) + { + $this->outcome = $outcome; + } + public function getOutcome() + { + return $this->outcome; + } + public function setShards($shards) + { + $this->shards = $shards; + } + public function getShards() + { + return $this->shards; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dataflow/SourceSplitShard.php b/vendor/google/apiclient-services/src/Google/Service/Dataflow/SourceSplitShard.php new file mode 100644 index 00000000..ed49befc --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dataflow/SourceSplitShard.php @@ -0,0 +1,40 @@ +derivationMode = $derivationMode; + } + public function getDerivationMode() + { + return $this->derivationMode; + } + public function setSource(Google_Service_Dataflow_Source $source) + { + $this->source = $source; + } + public function getSource() + { + return $this->source; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dataflow/SplitInt64.php b/vendor/google/apiclient-services/src/Google/Service/Dataflow/SplitInt64.php new file mode 100644 index 00000000..62934864 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dataflow/SplitInt64.php @@ -0,0 +1,39 @@ +highBits = $highBits; + } + public function getHighBits() + { + return $this->highBits; + } + public function setLowBits($lowBits) + { + $this->lowBits = $lowBits; + } + public function getLowBits() + { + return $this->lowBits; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dataflow/StageSource.php b/vendor/google/apiclient-services/src/Google/Service/Dataflow/StageSource.php new file mode 100644 index 00000000..55db56b4 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dataflow/StageSource.php @@ -0,0 +1,57 @@ +name = $name; + } + public function getName() + { + return $this->name; + } + public function setOriginalTransformOrCollection($originalTransformOrCollection) + { + $this->originalTransformOrCollection = $originalTransformOrCollection; + } + public function getOriginalTransformOrCollection() + { + return $this->originalTransformOrCollection; + } + public function setSizeBytes($sizeBytes) + { + $this->sizeBytes = $sizeBytes; + } + public function getSizeBytes() + { + return $this->sizeBytes; + } + public function setUserName($userName) + { + $this->userName = $userName; + } + public function getUserName() + { + return $this->userName; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dataflow/StateFamilyConfig.php b/vendor/google/apiclient-services/src/Google/Service/Dataflow/StateFamilyConfig.php new file mode 100644 index 00000000..471d23e2 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dataflow/StateFamilyConfig.php @@ -0,0 +1,39 @@ +isRead = $isRead; + } + public function getIsRead() + { + return $this->isRead; + } + public function setStateFamily($stateFamily) + { + $this->stateFamily = $stateFamily; + } + public function getStateFamily() + { + return $this->stateFamily; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dataflow/Status.php b/vendor/google/apiclient-services/src/Google/Service/Dataflow/Status.php new file mode 100644 index 00000000..19942df7 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dataflow/Status.php @@ -0,0 +1,49 @@ +code = $code; + } + public function getCode() + { + return $this->code; + } + public function setDetails($details) + { + $this->details = $details; + } + public function getDetails() + { + return $this->details; + } + public function setMessage($message) + { + $this->message = $message; + } + public function getMessage() + { + return $this->message; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dataflow/Step.php b/vendor/google/apiclient-services/src/Google/Service/Dataflow/Step.php new file mode 100644 index 00000000..e9f5bad0 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dataflow/Step.php @@ -0,0 +1,48 @@ +kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setProperties($properties) + { + $this->properties = $properties; + } + public function getProperties() + { + return $this->properties; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dataflow/StreamLocation.php b/vendor/google/apiclient-services/src/Google/Service/Dataflow/StreamLocation.php new file mode 100644 index 00000000..feec6a28 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dataflow/StreamLocation.php @@ -0,0 +1,61 @@ +customSourceLocation = $customSourceLocation; + } + public function getCustomSourceLocation() + { + return $this->customSourceLocation; + } + public function setPubsubLocation(Google_Service_Dataflow_PubsubLocation $pubsubLocation) + { + $this->pubsubLocation = $pubsubLocation; + } + public function getPubsubLocation() + { + return $this->pubsubLocation; + } + public function setSideInputLocation(Google_Service_Dataflow_StreamingSideInputLocation $sideInputLocation) + { + $this->sideInputLocation = $sideInputLocation; + } + public function getSideInputLocation() + { + return $this->sideInputLocation; + } + public function setStreamingStageLocation(Google_Service_Dataflow_StreamingStageLocation $streamingStageLocation) + { + $this->streamingStageLocation = $streamingStageLocation; + } + public function getStreamingStageLocation() + { + return $this->streamingStageLocation; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dataflow/StreamingComputationConfig.php b/vendor/google/apiclient-services/src/Google/Service/Dataflow/StreamingComputationConfig.php new file mode 100644 index 00000000..0cba9956 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dataflow/StreamingComputationConfig.php @@ -0,0 +1,59 @@ +computationId = $computationId; + } + public function getComputationId() + { + return $this->computationId; + } + public function setInstructions($instructions) + { + $this->instructions = $instructions; + } + public function getInstructions() + { + return $this->instructions; + } + public function setStageName($stageName) + { + $this->stageName = $stageName; + } + public function getStageName() + { + return $this->stageName; + } + public function setSystemName($systemName) + { + $this->systemName = $systemName; + } + public function getSystemName() + { + return $this->systemName; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dataflow/StreamingComputationRanges.php b/vendor/google/apiclient-services/src/Google/Service/Dataflow/StreamingComputationRanges.php new file mode 100644 index 00000000..9d618c93 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dataflow/StreamingComputationRanges.php @@ -0,0 +1,41 @@ +computationId = $computationId; + } + public function getComputationId() + { + return $this->computationId; + } + public function setRangeAssignments($rangeAssignments) + { + $this->rangeAssignments = $rangeAssignments; + } + public function getRangeAssignments() + { + return $this->rangeAssignments; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dataflow/StreamingComputationTask.php b/vendor/google/apiclient-services/src/Google/Service/Dataflow/StreamingComputationTask.php new file mode 100644 index 00000000..e83408e0 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dataflow/StreamingComputationTask.php @@ -0,0 +1,51 @@ +computationRanges = $computationRanges; + } + public function getComputationRanges() + { + return $this->computationRanges; + } + public function setDataDisks($dataDisks) + { + $this->dataDisks = $dataDisks; + } + public function getDataDisks() + { + return $this->dataDisks; + } + public function setTaskType($taskType) + { + $this->taskType = $taskType; + } + public function getTaskType() + { + return $this->taskType; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dataflow/StreamingConfigTask.php b/vendor/google/apiclient-services/src/Google/Service/Dataflow/StreamingConfigTask.php new file mode 100644 index 00000000..38741425 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dataflow/StreamingConfigTask.php @@ -0,0 +1,41 @@ +streamingComputationConfigs = $streamingComputationConfigs; + } + public function getStreamingComputationConfigs() + { + return $this->streamingComputationConfigs; + } + public function setUserStepToStateFamilyNameMap($userStepToStateFamilyNameMap) + { + $this->userStepToStateFamilyNameMap = $userStepToStateFamilyNameMap; + } + public function getUserStepToStateFamilyNameMap() + { + return $this->userStepToStateFamilyNameMap; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dataflow/StreamingSetupTask.php b/vendor/google/apiclient-services/src/Google/Service/Dataflow/StreamingSetupTask.php new file mode 100644 index 00000000..a3786ce7 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dataflow/StreamingSetupTask.php @@ -0,0 +1,58 @@ +drain = $drain; + } + public function getDrain() + { + return $this->drain; + } + public function setReceiveWorkPort($receiveWorkPort) + { + $this->receiveWorkPort = $receiveWorkPort; + } + public function getReceiveWorkPort() + { + return $this->receiveWorkPort; + } + public function setStreamingComputationTopology(Google_Service_Dataflow_TopologyConfig $streamingComputationTopology) + { + $this->streamingComputationTopology = $streamingComputationTopology; + } + public function getStreamingComputationTopology() + { + return $this->streamingComputationTopology; + } + public function setWorkerHarnessPort($workerHarnessPort) + { + $this->workerHarnessPort = $workerHarnessPort; + } + public function getWorkerHarnessPort() + { + return $this->workerHarnessPort; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dataflow/StreamingSideInputLocation.php b/vendor/google/apiclient-services/src/Google/Service/Dataflow/StreamingSideInputLocation.php new file mode 100644 index 00000000..04643d12 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dataflow/StreamingSideInputLocation.php @@ -0,0 +1,39 @@ +stateFamily = $stateFamily; + } + public function getStateFamily() + { + return $this->stateFamily; + } + public function setTag($tag) + { + $this->tag = $tag; + } + public function getTag() + { + return $this->tag; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dataflow/StreamingStageLocation.php b/vendor/google/apiclient-services/src/Google/Service/Dataflow/StreamingStageLocation.php new file mode 100644 index 00000000..2d9474e8 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dataflow/StreamingStageLocation.php @@ -0,0 +1,30 @@ +streamId = $streamId; + } + public function getStreamId() + { + return $this->streamId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dataflow/StringList.php b/vendor/google/apiclient-services/src/Google/Service/Dataflow/StringList.php new file mode 100644 index 00000000..04779e71 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dataflow/StringList.php @@ -0,0 +1,31 @@ +elements = $elements; + } + public function getElements() + { + return $this->elements; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dataflow/TaskRunnerSettings.php b/vendor/google/apiclient-services/src/Google/Service/Dataflow/TaskRunnerSettings.php new file mode 100644 index 00000000..50bac084 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dataflow/TaskRunnerSettings.php @@ -0,0 +1,194 @@ +alsologtostderr = $alsologtostderr; + } + public function getAlsologtostderr() + { + return $this->alsologtostderr; + } + public function setBaseTaskDir($baseTaskDir) + { + $this->baseTaskDir = $baseTaskDir; + } + public function getBaseTaskDir() + { + return $this->baseTaskDir; + } + public function setBaseUrl($baseUrl) + { + $this->baseUrl = $baseUrl; + } + public function getBaseUrl() + { + return $this->baseUrl; + } + public function setCommandlinesFileName($commandlinesFileName) + { + $this->commandlinesFileName = $commandlinesFileName; + } + public function getCommandlinesFileName() + { + return $this->commandlinesFileName; + } + public function setContinueOnException($continueOnException) + { + $this->continueOnException = $continueOnException; + } + public function getContinueOnException() + { + return $this->continueOnException; + } + public function setDataflowApiVersion($dataflowApiVersion) + { + $this->dataflowApiVersion = $dataflowApiVersion; + } + public function getDataflowApiVersion() + { + return $this->dataflowApiVersion; + } + public function setHarnessCommand($harnessCommand) + { + $this->harnessCommand = $harnessCommand; + } + public function getHarnessCommand() + { + return $this->harnessCommand; + } + public function setLanguageHint($languageHint) + { + $this->languageHint = $languageHint; + } + public function getLanguageHint() + { + return $this->languageHint; + } + public function setLogDir($logDir) + { + $this->logDir = $logDir; + } + public function getLogDir() + { + return $this->logDir; + } + public function setLogToSerialconsole($logToSerialconsole) + { + $this->logToSerialconsole = $logToSerialconsole; + } + public function getLogToSerialconsole() + { + return $this->logToSerialconsole; + } + public function setLogUploadLocation($logUploadLocation) + { + $this->logUploadLocation = $logUploadLocation; + } + public function getLogUploadLocation() + { + return $this->logUploadLocation; + } + public function setOauthScopes($oauthScopes) + { + $this->oauthScopes = $oauthScopes; + } + public function getOauthScopes() + { + return $this->oauthScopes; + } + public function setParallelWorkerSettings(Google_Service_Dataflow_WorkerSettings $parallelWorkerSettings) + { + $this->parallelWorkerSettings = $parallelWorkerSettings; + } + public function getParallelWorkerSettings() + { + return $this->parallelWorkerSettings; + } + public function setStreamingWorkerMainClass($streamingWorkerMainClass) + { + $this->streamingWorkerMainClass = $streamingWorkerMainClass; + } + public function getStreamingWorkerMainClass() + { + return $this->streamingWorkerMainClass; + } + public function setTaskGroup($taskGroup) + { + $this->taskGroup = $taskGroup; + } + public function getTaskGroup() + { + return $this->taskGroup; + } + public function setTaskUser($taskUser) + { + $this->taskUser = $taskUser; + } + public function getTaskUser() + { + return $this->taskUser; + } + public function setTempStoragePrefix($tempStoragePrefix) + { + $this->tempStoragePrefix = $tempStoragePrefix; + } + public function getTempStoragePrefix() + { + return $this->tempStoragePrefix; + } + public function setVmId($vmId) + { + $this->vmId = $vmId; + } + public function getVmId() + { + return $this->vmId; + } + public function setWorkflowFileName($workflowFileName) + { + $this->workflowFileName = $workflowFileName; + } + public function getWorkflowFileName() + { + return $this->workflowFileName; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dataflow/TemplateMetadata.php b/vendor/google/apiclient-services/src/Google/Service/Dataflow/TemplateMetadata.php new file mode 100644 index 00000000..3428c67e --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dataflow/TemplateMetadata.php @@ -0,0 +1,59 @@ +bypassTempDirValidation = $bypassTempDirValidation; + } + public function getBypassTempDirValidation() + { + return $this->bypassTempDirValidation; + } + public function setDescription($description) + { + $this->description = $description; + } + public function getDescription() + { + return $this->description; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setParameters($parameters) + { + $this->parameters = $parameters; + } + public function getParameters() + { + return $this->parameters; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dataflow/TopologyConfig.php b/vendor/google/apiclient-services/src/Google/Service/Dataflow/TopologyConfig.php new file mode 100644 index 00000000..0eb190b6 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dataflow/TopologyConfig.php @@ -0,0 +1,69 @@ +computations = $computations; + } + public function getComputations() + { + return $this->computations; + } + public function setDataDiskAssignments($dataDiskAssignments) + { + $this->dataDiskAssignments = $dataDiskAssignments; + } + public function getDataDiskAssignments() + { + return $this->dataDiskAssignments; + } + public function setForwardingKeyBits($forwardingKeyBits) + { + $this->forwardingKeyBits = $forwardingKeyBits; + } + public function getForwardingKeyBits() + { + return $this->forwardingKeyBits; + } + public function setPersistentStateVersion($persistentStateVersion) + { + $this->persistentStateVersion = $persistentStateVersion; + } + public function getPersistentStateVersion() + { + return $this->persistentStateVersion; + } + public function setUserStageToComputationNameMap($userStageToComputationNameMap) + { + $this->userStageToComputationNameMap = $userStageToComputationNameMap; + } + public function getUserStageToComputationNameMap() + { + return $this->userStageToComputationNameMap; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dataflow/TransformSummary.php b/vendor/google/apiclient-services/src/Google/Service/Dataflow/TransformSummary.php new file mode 100644 index 00000000..e967dd99 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dataflow/TransformSummary.php @@ -0,0 +1,77 @@ +displayData = $displayData; + } + public function getDisplayData() + { + return $this->displayData; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setInputCollectionName($inputCollectionName) + { + $this->inputCollectionName = $inputCollectionName; + } + public function getInputCollectionName() + { + return $this->inputCollectionName; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setOutputCollectionName($outputCollectionName) + { + $this->outputCollectionName = $outputCollectionName; + } + public function getOutputCollectionName() + { + return $this->outputCollectionName; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dataflow/WorkItem.php b/vendor/google/apiclient-services/src/Google/Service/Dataflow/WorkItem.php new file mode 100644 index 00000000..98a544ec --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dataflow/WorkItem.php @@ -0,0 +1,165 @@ +configuration = $configuration; + } + public function getConfiguration() + { + return $this->configuration; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setInitialReportIndex($initialReportIndex) + { + $this->initialReportIndex = $initialReportIndex; + } + public function getInitialReportIndex() + { + return $this->initialReportIndex; + } + public function setJobId($jobId) + { + $this->jobId = $jobId; + } + public function getJobId() + { + return $this->jobId; + } + public function setLeaseExpireTime($leaseExpireTime) + { + $this->leaseExpireTime = $leaseExpireTime; + } + public function getLeaseExpireTime() + { + return $this->leaseExpireTime; + } + public function setMapTask(Google_Service_Dataflow_MapTask $mapTask) + { + $this->mapTask = $mapTask; + } + public function getMapTask() + { + return $this->mapTask; + } + public function setPackages($packages) + { + $this->packages = $packages; + } + public function getPackages() + { + return $this->packages; + } + public function setProjectId($projectId) + { + $this->projectId = $projectId; + } + public function getProjectId() + { + return $this->projectId; + } + public function setReportStatusInterval($reportStatusInterval) + { + $this->reportStatusInterval = $reportStatusInterval; + } + public function getReportStatusInterval() + { + return $this->reportStatusInterval; + } + public function setSeqMapTask(Google_Service_Dataflow_SeqMapTask $seqMapTask) + { + $this->seqMapTask = $seqMapTask; + } + public function getSeqMapTask() + { + return $this->seqMapTask; + } + public function setShellTask(Google_Service_Dataflow_ShellTask $shellTask) + { + $this->shellTask = $shellTask; + } + public function getShellTask() + { + return $this->shellTask; + } + public function setSourceOperationTask(Google_Service_Dataflow_SourceOperationRequest $sourceOperationTask) + { + $this->sourceOperationTask = $sourceOperationTask; + } + public function getSourceOperationTask() + { + return $this->sourceOperationTask; + } + public function setStreamingComputationTask(Google_Service_Dataflow_StreamingComputationTask $streamingComputationTask) + { + $this->streamingComputationTask = $streamingComputationTask; + } + public function getStreamingComputationTask() + { + return $this->streamingComputationTask; + } + public function setStreamingConfigTask(Google_Service_Dataflow_StreamingConfigTask $streamingConfigTask) + { + $this->streamingConfigTask = $streamingConfigTask; + } + public function getStreamingConfigTask() + { + return $this->streamingConfigTask; + } + public function setStreamingSetupTask(Google_Service_Dataflow_StreamingSetupTask $streamingSetupTask) + { + $this->streamingSetupTask = $streamingSetupTask; + } + public function getStreamingSetupTask() + { + return $this->streamingSetupTask; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dataflow/WorkItemServiceState.php b/vendor/google/apiclient-services/src/Google/Service/Dataflow/WorkItemServiceState.php new file mode 100644 index 00000000..3398321e --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dataflow/WorkItemServiceState.php @@ -0,0 +1,98 @@ +harnessData = $harnessData; + } + public function getHarnessData() + { + return $this->harnessData; + } + public function setLeaseExpireTime($leaseExpireTime) + { + $this->leaseExpireTime = $leaseExpireTime; + } + public function getLeaseExpireTime() + { + return $this->leaseExpireTime; + } + public function setMetricShortId($metricShortId) + { + $this->metricShortId = $metricShortId; + } + public function getMetricShortId() + { + return $this->metricShortId; + } + public function setNextReportIndex($nextReportIndex) + { + $this->nextReportIndex = $nextReportIndex; + } + public function getNextReportIndex() + { + return $this->nextReportIndex; + } + public function setReportStatusInterval($reportStatusInterval) + { + $this->reportStatusInterval = $reportStatusInterval; + } + public function getReportStatusInterval() + { + return $this->reportStatusInterval; + } + public function setSplitRequest(Google_Service_Dataflow_ApproximateSplitRequest $splitRequest) + { + $this->splitRequest = $splitRequest; + } + public function getSplitRequest() + { + return $this->splitRequest; + } + public function setSuggestedStopPoint(Google_Service_Dataflow_ApproximateProgress $suggestedStopPoint) + { + $this->suggestedStopPoint = $suggestedStopPoint; + } + public function getSuggestedStopPoint() + { + return $this->suggestedStopPoint; + } + public function setSuggestedStopPosition(Google_Service_Dataflow_Position $suggestedStopPosition) + { + $this->suggestedStopPosition = $suggestedStopPosition; + } + public function getSuggestedStopPosition() + { + return $this->suggestedStopPosition; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dataflow/WorkItemStatus.php b/vendor/google/apiclient-services/src/Google/Service/Dataflow/WorkItemStatus.php new file mode 100644 index 00000000..0eba4843 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dataflow/WorkItemStatus.php @@ -0,0 +1,148 @@ +completed = $completed; + } + public function getCompleted() + { + return $this->completed; + } + public function setCounterUpdates($counterUpdates) + { + $this->counterUpdates = $counterUpdates; + } + public function getCounterUpdates() + { + return $this->counterUpdates; + } + public function setDynamicSourceSplit(Google_Service_Dataflow_DynamicSourceSplit $dynamicSourceSplit) + { + $this->dynamicSourceSplit = $dynamicSourceSplit; + } + public function getDynamicSourceSplit() + { + return $this->dynamicSourceSplit; + } + public function setErrors($errors) + { + $this->errors = $errors; + } + public function getErrors() + { + return $this->errors; + } + public function setMetricUpdates($metricUpdates) + { + $this->metricUpdates = $metricUpdates; + } + public function getMetricUpdates() + { + return $this->metricUpdates; + } + public function setProgress(Google_Service_Dataflow_ApproximateProgress $progress) + { + $this->progress = $progress; + } + public function getProgress() + { + return $this->progress; + } + public function setReportIndex($reportIndex) + { + $this->reportIndex = $reportIndex; + } + public function getReportIndex() + { + return $this->reportIndex; + } + public function setReportedProgress(Google_Service_Dataflow_ApproximateReportedProgress $reportedProgress) + { + $this->reportedProgress = $reportedProgress; + } + public function getReportedProgress() + { + return $this->reportedProgress; + } + public function setRequestedLeaseDuration($requestedLeaseDuration) + { + $this->requestedLeaseDuration = $requestedLeaseDuration; + } + public function getRequestedLeaseDuration() + { + return $this->requestedLeaseDuration; + } + public function setSourceFork(Google_Service_Dataflow_SourceFork $sourceFork) + { + $this->sourceFork = $sourceFork; + } + public function getSourceFork() + { + return $this->sourceFork; + } + public function setSourceOperationResponse(Google_Service_Dataflow_SourceOperationResponse $sourceOperationResponse) + { + $this->sourceOperationResponse = $sourceOperationResponse; + } + public function getSourceOperationResponse() + { + return $this->sourceOperationResponse; + } + public function setStopPosition(Google_Service_Dataflow_Position $stopPosition) + { + $this->stopPosition = $stopPosition; + } + public function getStopPosition() + { + return $this->stopPosition; + } + public function setWorkItemId($workItemId) + { + $this->workItemId = $workItemId; + } + public function getWorkItemId() + { + return $this->workItemId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dataflow/WorkerHealthReport.php b/vendor/google/apiclient-services/src/Google/Service/Dataflow/WorkerHealthReport.php new file mode 100644 index 00000000..ee81dd17 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dataflow/WorkerHealthReport.php @@ -0,0 +1,58 @@ +pods = $pods; + } + public function getPods() + { + return $this->pods; + } + public function setReportInterval($reportInterval) + { + $this->reportInterval = $reportInterval; + } + public function getReportInterval() + { + return $this->reportInterval; + } + public function setVmIsHealthy($vmIsHealthy) + { + $this->vmIsHealthy = $vmIsHealthy; + } + public function getVmIsHealthy() + { + return $this->vmIsHealthy; + } + public function setVmStartupTime($vmStartupTime) + { + $this->vmStartupTime = $vmStartupTime; + } + public function getVmStartupTime() + { + return $this->vmStartupTime; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dataflow/WorkerHealthReportResponse.php b/vendor/google/apiclient-services/src/Google/Service/Dataflow/WorkerHealthReportResponse.php new file mode 100644 index 00000000..8ba4d47c --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dataflow/WorkerHealthReportResponse.php @@ -0,0 +1,30 @@ +reportInterval = $reportInterval; + } + public function getReportInterval() + { + return $this->reportInterval; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dataflow/WorkerMessage.php b/vendor/google/apiclient-services/src/Google/Service/Dataflow/WorkerMessage.php new file mode 100644 index 00000000..d3af1017 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dataflow/WorkerMessage.php @@ -0,0 +1,69 @@ +labels = $labels; + } + public function getLabels() + { + return $this->labels; + } + public function setTime($time) + { + $this->time = $time; + } + public function getTime() + { + return $this->time; + } + public function setWorkerHealthReport(Google_Service_Dataflow_WorkerHealthReport $workerHealthReport) + { + $this->workerHealthReport = $workerHealthReport; + } + public function getWorkerHealthReport() + { + return $this->workerHealthReport; + } + public function setWorkerMessageCode(Google_Service_Dataflow_WorkerMessageCode $workerMessageCode) + { + $this->workerMessageCode = $workerMessageCode; + } + public function getWorkerMessageCode() + { + return $this->workerMessageCode; + } + public function setWorkerMetrics(Google_Service_Dataflow_ResourceUtilizationReport $workerMetrics) + { + $this->workerMetrics = $workerMetrics; + } + public function getWorkerMetrics() + { + return $this->workerMetrics; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dataflow/WorkerMessageCode.php b/vendor/google/apiclient-services/src/Google/Service/Dataflow/WorkerMessageCode.php new file mode 100644 index 00000000..1a4a6841 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dataflow/WorkerMessageCode.php @@ -0,0 +1,39 @@ +code = $code; + } + public function getCode() + { + return $this->code; + } + public function setParameters($parameters) + { + $this->parameters = $parameters; + } + public function getParameters() + { + return $this->parameters; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dataflow/WorkerMessageResponse.php b/vendor/google/apiclient-services/src/Google/Service/Dataflow/WorkerMessageResponse.php new file mode 100644 index 00000000..edd8da8f --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dataflow/WorkerMessageResponse.php @@ -0,0 +1,41 @@ +workerHealthReportResponse = $workerHealthReportResponse; + } + public function getWorkerHealthReportResponse() + { + return $this->workerHealthReportResponse; + } + public function setWorkerMetricsResponse(Google_Service_Dataflow_ResourceUtilizationReportResponse $workerMetricsResponse) + { + $this->workerMetricsResponse = $workerMetricsResponse; + } + public function getWorkerMetricsResponse() + { + return $this->workerMetricsResponse; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dataflow/WorkerPool.php b/vendor/google/apiclient-services/src/Google/Service/Dataflow/WorkerPool.php new file mode 100644 index 00000000..a75cecc9 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dataflow/WorkerPool.php @@ -0,0 +1,215 @@ +autoscalingSettings = $autoscalingSettings; + } + public function getAutoscalingSettings() + { + return $this->autoscalingSettings; + } + public function setDataDisks($dataDisks) + { + $this->dataDisks = $dataDisks; + } + public function getDataDisks() + { + return $this->dataDisks; + } + public function setDefaultPackageSet($defaultPackageSet) + { + $this->defaultPackageSet = $defaultPackageSet; + } + public function getDefaultPackageSet() + { + return $this->defaultPackageSet; + } + public function setDiskSizeGb($diskSizeGb) + { + $this->diskSizeGb = $diskSizeGb; + } + public function getDiskSizeGb() + { + return $this->diskSizeGb; + } + public function setDiskSourceImage($diskSourceImage) + { + $this->diskSourceImage = $diskSourceImage; + } + public function getDiskSourceImage() + { + return $this->diskSourceImage; + } + public function setDiskType($diskType) + { + $this->diskType = $diskType; + } + public function getDiskType() + { + return $this->diskType; + } + public function setIpConfiguration($ipConfiguration) + { + $this->ipConfiguration = $ipConfiguration; + } + public function getIpConfiguration() + { + return $this->ipConfiguration; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setMachineType($machineType) + { + $this->machineType = $machineType; + } + public function getMachineType() + { + return $this->machineType; + } + public function setMetadata($metadata) + { + $this->metadata = $metadata; + } + public function getMetadata() + { + return $this->metadata; + } + public function setNetwork($network) + { + $this->network = $network; + } + public function getNetwork() + { + return $this->network; + } + public function setNumThreadsPerWorker($numThreadsPerWorker) + { + $this->numThreadsPerWorker = $numThreadsPerWorker; + } + public function getNumThreadsPerWorker() + { + return $this->numThreadsPerWorker; + } + public function setNumWorkers($numWorkers) + { + $this->numWorkers = $numWorkers; + } + public function getNumWorkers() + { + return $this->numWorkers; + } + public function setOnHostMaintenance($onHostMaintenance) + { + $this->onHostMaintenance = $onHostMaintenance; + } + public function getOnHostMaintenance() + { + return $this->onHostMaintenance; + } + public function setPackages($packages) + { + $this->packages = $packages; + } + public function getPackages() + { + return $this->packages; + } + public function setPoolArgs($poolArgs) + { + $this->poolArgs = $poolArgs; + } + public function getPoolArgs() + { + return $this->poolArgs; + } + public function setSubnetwork($subnetwork) + { + $this->subnetwork = $subnetwork; + } + public function getSubnetwork() + { + return $this->subnetwork; + } + public function setTaskrunnerSettings(Google_Service_Dataflow_TaskRunnerSettings $taskrunnerSettings) + { + $this->taskrunnerSettings = $taskrunnerSettings; + } + public function getTaskrunnerSettings() + { + return $this->taskrunnerSettings; + } + public function setTeardownPolicy($teardownPolicy) + { + $this->teardownPolicy = $teardownPolicy; + } + public function getTeardownPolicy() + { + return $this->teardownPolicy; + } + public function setWorkerHarnessContainerImage($workerHarnessContainerImage) + { + $this->workerHarnessContainerImage = $workerHarnessContainerImage; + } + public function getWorkerHarnessContainerImage() + { + return $this->workerHarnessContainerImage; + } + public function setZone($zone) + { + $this->zone = $zone; + } + public function getZone() + { + return $this->zone; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dataflow/WorkerSettings.php b/vendor/google/apiclient-services/src/Google/Service/Dataflow/WorkerSettings.php new file mode 100644 index 00000000..d3a58d39 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dataflow/WorkerSettings.php @@ -0,0 +1,75 @@ +baseUrl = $baseUrl; + } + public function getBaseUrl() + { + return $this->baseUrl; + } + public function setReportingEnabled($reportingEnabled) + { + $this->reportingEnabled = $reportingEnabled; + } + public function getReportingEnabled() + { + return $this->reportingEnabled; + } + public function setServicePath($servicePath) + { + $this->servicePath = $servicePath; + } + public function getServicePath() + { + return $this->servicePath; + } + public function setShuffleServicePath($shuffleServicePath) + { + $this->shuffleServicePath = $shuffleServicePath; + } + public function getShuffleServicePath() + { + return $this->shuffleServicePath; + } + public function setTempStoragePrefix($tempStoragePrefix) + { + $this->tempStoragePrefix = $tempStoragePrefix; + } + public function getTempStoragePrefix() + { + return $this->tempStoragePrefix; + } + public function setWorkerId($workerId) + { + $this->workerId = $workerId; + } + public function getWorkerId() + { + return $this->workerId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dataflow/WriteInstruction.php b/vendor/google/apiclient-services/src/Google/Service/Dataflow/WriteInstruction.php new file mode 100644 index 00000000..62bebc75 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dataflow/WriteInstruction.php @@ -0,0 +1,41 @@ +input = $input; + } + public function getInput() + { + return $this->input; + } + public function setSink(Google_Service_Dataflow_Sink $sink) + { + $this->sink = $sink; + } + public function getSink() + { + return $this->sink; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dataproc.php b/vendor/google/apiclient-services/src/Google/Service/Dataproc.php new file mode 100644 index 00000000..ddd618c1 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dataproc.php @@ -0,0 +1,397 @@ + + * Manages Hadoop-based clusters and jobs on Google Cloud Platform.

+ * + *

+ * For more information about this service, see the API + * Documentation + *

+ * + * @author Google, Inc. + */ +class Google_Service_Dataproc extends Google_Service +{ + /** View and manage your data across Google Cloud Platform services. */ + const CLOUD_PLATFORM = + "https://www.googleapis.com/auth/cloud-platform"; + + public $projects_regions_clusters; + public $projects_regions_jobs; + public $projects_regions_operations; + + /** + * Constructs the internal representation of the Dataproc service. + * + * @param Google_Client $client + */ + public function __construct(Google_Client $client) + { + parent::__construct($client); + $this->rootUrl = 'https://dataproc.googleapis.com/'; + $this->servicePath = ''; + $this->version = 'v1'; + $this->serviceName = 'dataproc'; + + $this->projects_regions_clusters = new Google_Service_Dataproc_Resource_ProjectsRegionsClusters( + $this, + $this->serviceName, + 'clusters', + array( + 'methods' => array( + 'create' => array( + 'path' => 'v1/projects/{projectId}/regions/{region}/clusters', + 'httpMethod' => 'POST', + 'parameters' => array( + 'projectId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'region' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'delete' => array( + 'path' => 'v1/projects/{projectId}/regions/{region}/clusters/{clusterName}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'projectId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'region' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'clusterName' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'diagnose' => array( + 'path' => 'v1/projects/{projectId}/regions/{region}/clusters/{clusterName}:diagnose', + 'httpMethod' => 'POST', + 'parameters' => array( + 'projectId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'region' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'clusterName' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'get' => array( + 'path' => 'v1/projects/{projectId}/regions/{region}/clusters/{clusterName}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'projectId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'region' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'clusterName' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'v1/projects/{projectId}/regions/{region}/clusters', + 'httpMethod' => 'GET', + 'parameters' => array( + 'projectId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'region' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'filter' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pageSize' => array( + 'location' => 'query', + 'type' => 'integer', + ), + ), + ),'patch' => array( + 'path' => 'v1/projects/{projectId}/regions/{region}/clusters/{clusterName}', + 'httpMethod' => 'PATCH', + 'parameters' => array( + 'projectId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'region' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'clusterName' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'updateMask' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + $this->projects_regions_jobs = new Google_Service_Dataproc_Resource_ProjectsRegionsJobs( + $this, + $this->serviceName, + 'jobs', + array( + 'methods' => array( + 'cancel' => array( + 'path' => 'v1/projects/{projectId}/regions/{region}/jobs/{jobId}:cancel', + 'httpMethod' => 'POST', + 'parameters' => array( + 'projectId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'region' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'jobId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'delete' => array( + 'path' => 'v1/projects/{projectId}/regions/{region}/jobs/{jobId}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'projectId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'region' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'jobId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'get' => array( + 'path' => 'v1/projects/{projectId}/regions/{region}/jobs/{jobId}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'projectId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'region' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'jobId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'v1/projects/{projectId}/regions/{region}/jobs', + 'httpMethod' => 'GET', + 'parameters' => array( + 'projectId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'region' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pageSize' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'clusterName' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'filter' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'jobStateMatcher' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'patch' => array( + 'path' => 'v1/projects/{projectId}/regions/{region}/jobs/{jobId}', + 'httpMethod' => 'PATCH', + 'parameters' => array( + 'projectId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'region' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'jobId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'updateMask' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'submit' => array( + 'path' => 'v1/projects/{projectId}/regions/{region}/jobs:submit', + 'httpMethod' => 'POST', + 'parameters' => array( + 'projectId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'region' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->projects_regions_operations = new Google_Service_Dataproc_Resource_ProjectsRegionsOperations( + $this, + $this->serviceName, + 'operations', + array( + 'methods' => array( + 'cancel' => array( + 'path' => 'v1/{+name}:cancel', + 'httpMethod' => 'POST', + 'parameters' => array( + 'name' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'delete' => array( + 'path' => 'v1/{+name}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'name' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'get' => array( + 'path' => 'v1/{+name}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'name' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'v1/{+name}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'name' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'pageSize' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'filter' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dataproc/AcceleratorConfig.php b/vendor/google/apiclient-services/src/Google/Service/Dataproc/AcceleratorConfig.php new file mode 100644 index 00000000..626cb25a --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dataproc/AcceleratorConfig.php @@ -0,0 +1,39 @@ +acceleratorCount = $acceleratorCount; + } + public function getAcceleratorCount() + { + return $this->acceleratorCount; + } + public function setAcceleratorTypeUri($acceleratorTypeUri) + { + $this->acceleratorTypeUri = $acceleratorTypeUri; + } + public function getAcceleratorTypeUri() + { + return $this->acceleratorTypeUri; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dataproc/CancelJobRequest.php b/vendor/google/apiclient-services/src/Google/Service/Dataproc/CancelJobRequest.php new file mode 100644 index 00000000..3eeeb947 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dataproc/CancelJobRequest.php @@ -0,0 +1,20 @@ +clusterName = $clusterName; + } + public function getClusterName() + { + return $this->clusterName; + } + public function setClusterUuid($clusterUuid) + { + $this->clusterUuid = $clusterUuid; + } + public function getClusterUuid() + { + return $this->clusterUuid; + } + public function setConfig(Google_Service_Dataproc_ClusterConfig $config) + { + $this->config = $config; + } + public function getConfig() + { + return $this->config; + } + public function setLabels($labels) + { + $this->labels = $labels; + } + public function getLabels() + { + return $this->labels; + } + public function setMetrics(Google_Service_Dataproc_ClusterMetrics $metrics) + { + $this->metrics = $metrics; + } + public function getMetrics() + { + return $this->metrics; + } + public function setProjectId($projectId) + { + $this->projectId = $projectId; + } + public function getProjectId() + { + return $this->projectId; + } + public function setStatus(Google_Service_Dataproc_ClusterStatus $status) + { + $this->status = $status; + } + public function getStatus() + { + return $this->status; + } + public function setStatusHistory($statusHistory) + { + $this->statusHistory = $statusHistory; + } + public function getStatusHistory() + { + return $this->statusHistory; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dataproc/ClusterConfig.php b/vendor/google/apiclient-services/src/Google/Service/Dataproc/ClusterConfig.php new file mode 100644 index 00000000..f70e0a13 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dataproc/ClusterConfig.php @@ -0,0 +1,91 @@ +configBucket = $configBucket; + } + public function getConfigBucket() + { + return $this->configBucket; + } + public function setGceClusterConfig(Google_Service_Dataproc_GceClusterConfig $gceClusterConfig) + { + $this->gceClusterConfig = $gceClusterConfig; + } + public function getGceClusterConfig() + { + return $this->gceClusterConfig; + } + public function setInitializationActions($initializationActions) + { + $this->initializationActions = $initializationActions; + } + public function getInitializationActions() + { + return $this->initializationActions; + } + public function setMasterConfig(Google_Service_Dataproc_InstanceGroupConfig $masterConfig) + { + $this->masterConfig = $masterConfig; + } + public function getMasterConfig() + { + return $this->masterConfig; + } + public function setSecondaryWorkerConfig(Google_Service_Dataproc_InstanceGroupConfig $secondaryWorkerConfig) + { + $this->secondaryWorkerConfig = $secondaryWorkerConfig; + } + public function getSecondaryWorkerConfig() + { + return $this->secondaryWorkerConfig; + } + public function setSoftwareConfig(Google_Service_Dataproc_SoftwareConfig $softwareConfig) + { + $this->softwareConfig = $softwareConfig; + } + public function getSoftwareConfig() + { + return $this->softwareConfig; + } + public function setWorkerConfig(Google_Service_Dataproc_InstanceGroupConfig $workerConfig) + { + $this->workerConfig = $workerConfig; + } + public function getWorkerConfig() + { + return $this->workerConfig; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dataproc/ClusterMetrics.php b/vendor/google/apiclient-services/src/Google/Service/Dataproc/ClusterMetrics.php new file mode 100644 index 00000000..985b469a --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dataproc/ClusterMetrics.php @@ -0,0 +1,39 @@ +hdfsMetrics = $hdfsMetrics; + } + public function getHdfsMetrics() + { + return $this->hdfsMetrics; + } + public function setYarnMetrics($yarnMetrics) + { + $this->yarnMetrics = $yarnMetrics; + } + public function getYarnMetrics() + { + return $this->yarnMetrics; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dataproc/ClusterOperationMetadata.php b/vendor/google/apiclient-services/src/Google/Service/Dataproc/ClusterOperationMetadata.php new file mode 100644 index 00000000..7c2fab7a --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dataproc/ClusterOperationMetadata.php @@ -0,0 +1,96 @@ +clusterName = $clusterName; + } + public function getClusterName() + { + return $this->clusterName; + } + public function setClusterUuid($clusterUuid) + { + $this->clusterUuid = $clusterUuid; + } + public function getClusterUuid() + { + return $this->clusterUuid; + } + public function setDescription($description) + { + $this->description = $description; + } + public function getDescription() + { + return $this->description; + } + public function setLabels($labels) + { + $this->labels = $labels; + } + public function getLabels() + { + return $this->labels; + } + public function setOperationType($operationType) + { + $this->operationType = $operationType; + } + public function getOperationType() + { + return $this->operationType; + } + public function setStatus(Google_Service_Dataproc_ClusterOperationStatus $status) + { + $this->status = $status; + } + public function getStatus() + { + return $this->status; + } + public function setStatusHistory($statusHistory) + { + $this->statusHistory = $statusHistory; + } + public function getStatusHistory() + { + return $this->statusHistory; + } + public function setWarnings($warnings) + { + $this->warnings = $warnings; + } + public function getWarnings() + { + return $this->warnings; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dataproc/ClusterOperationStatus.php b/vendor/google/apiclient-services/src/Google/Service/Dataproc/ClusterOperationStatus.php new file mode 100644 index 00000000..8d4bc5ae --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dataproc/ClusterOperationStatus.php @@ -0,0 +1,57 @@ +details = $details; + } + public function getDetails() + { + return $this->details; + } + public function setInnerState($innerState) + { + $this->innerState = $innerState; + } + public function getInnerState() + { + return $this->innerState; + } + public function setState($state) + { + $this->state = $state; + } + public function getState() + { + return $this->state; + } + public function setStateStartTime($stateStartTime) + { + $this->stateStartTime = $stateStartTime; + } + public function getStateStartTime() + { + return $this->stateStartTime; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dataproc/ClusterStatus.php b/vendor/google/apiclient-services/src/Google/Service/Dataproc/ClusterStatus.php new file mode 100644 index 00000000..81312805 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dataproc/ClusterStatus.php @@ -0,0 +1,48 @@ +detail = $detail; + } + public function getDetail() + { + return $this->detail; + } + public function setState($state) + { + $this->state = $state; + } + public function getState() + { + return $this->state; + } + public function setStateStartTime($stateStartTime) + { + $this->stateStartTime = $stateStartTime; + } + public function getStateStartTime() + { + return $this->stateStartTime; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dataproc/DataprocEmpty.php b/vendor/google/apiclient-services/src/Google/Service/Dataproc/DataprocEmpty.php new file mode 100644 index 00000000..90de61d5 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dataproc/DataprocEmpty.php @@ -0,0 +1,20 @@ +outputUri = $outputUri; + } + public function getOutputUri() + { + return $this->outputUri; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dataproc/DiagnoseClusterRequest.php b/vendor/google/apiclient-services/src/Google/Service/Dataproc/DiagnoseClusterRequest.php new file mode 100644 index 00000000..6c50fa5f --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dataproc/DiagnoseClusterRequest.php @@ -0,0 +1,20 @@ +outputUri = $outputUri; + } + public function getOutputUri() + { + return $this->outputUri; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dataproc/DiskConfig.php b/vendor/google/apiclient-services/src/Google/Service/Dataproc/DiskConfig.php new file mode 100644 index 00000000..2ec2379e --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dataproc/DiskConfig.php @@ -0,0 +1,39 @@ +bootDiskSizeGb = $bootDiskSizeGb; + } + public function getBootDiskSizeGb() + { + return $this->bootDiskSizeGb; + } + public function setNumLocalSsds($numLocalSsds) + { + $this->numLocalSsds = $numLocalSsds; + } + public function getNumLocalSsds() + { + return $this->numLocalSsds; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dataproc/GceClusterConfig.php b/vendor/google/apiclient-services/src/Google/Service/Dataproc/GceClusterConfig.php new file mode 100644 index 00000000..1bad1cdb --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dataproc/GceClusterConfig.php @@ -0,0 +1,94 @@ +internalIpOnly = $internalIpOnly; + } + public function getInternalIpOnly() + { + return $this->internalIpOnly; + } + public function setMetadata($metadata) + { + $this->metadata = $metadata; + } + public function getMetadata() + { + return $this->metadata; + } + public function setNetworkUri($networkUri) + { + $this->networkUri = $networkUri; + } + public function getNetworkUri() + { + return $this->networkUri; + } + public function setServiceAccount($serviceAccount) + { + $this->serviceAccount = $serviceAccount; + } + public function getServiceAccount() + { + return $this->serviceAccount; + } + public function setServiceAccountScopes($serviceAccountScopes) + { + $this->serviceAccountScopes = $serviceAccountScopes; + } + public function getServiceAccountScopes() + { + return $this->serviceAccountScopes; + } + public function setSubnetworkUri($subnetworkUri) + { + $this->subnetworkUri = $subnetworkUri; + } + public function getSubnetworkUri() + { + return $this->subnetworkUri; + } + public function setTags($tags) + { + $this->tags = $tags; + } + public function getTags() + { + return $this->tags; + } + public function setZoneUri($zoneUri) + { + $this->zoneUri = $zoneUri; + } + public function getZoneUri() + { + return $this->zoneUri; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dataproc/HadoopJob.php b/vendor/google/apiclient-services/src/Google/Service/Dataproc/HadoopJob.php new file mode 100644 index 00000000..fa2395c8 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dataproc/HadoopJob.php @@ -0,0 +1,95 @@ +archiveUris = $archiveUris; + } + public function getArchiveUris() + { + return $this->archiveUris; + } + public function setArgs($args) + { + $this->args = $args; + } + public function getArgs() + { + return $this->args; + } + public function setFileUris($fileUris) + { + $this->fileUris = $fileUris; + } + public function getFileUris() + { + return $this->fileUris; + } + public function setJarFileUris($jarFileUris) + { + $this->jarFileUris = $jarFileUris; + } + public function getJarFileUris() + { + return $this->jarFileUris; + } + public function setLoggingConfig(Google_Service_Dataproc_LoggingConfig $loggingConfig) + { + $this->loggingConfig = $loggingConfig; + } + public function getLoggingConfig() + { + return $this->loggingConfig; + } + public function setMainClass($mainClass) + { + $this->mainClass = $mainClass; + } + public function getMainClass() + { + return $this->mainClass; + } + public function setMainJarFileUri($mainJarFileUri) + { + $this->mainJarFileUri = $mainJarFileUri; + } + public function getMainJarFileUri() + { + return $this->mainJarFileUri; + } + public function setProperties($properties) + { + $this->properties = $properties; + } + public function getProperties() + { + return $this->properties; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dataproc/HiveJob.php b/vendor/google/apiclient-services/src/Google/Service/Dataproc/HiveJob.php new file mode 100644 index 00000000..1e99ec2f --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dataproc/HiveJob.php @@ -0,0 +1,77 @@ +continueOnFailure = $continueOnFailure; + } + public function getContinueOnFailure() + { + return $this->continueOnFailure; + } + public function setJarFileUris($jarFileUris) + { + $this->jarFileUris = $jarFileUris; + } + public function getJarFileUris() + { + return $this->jarFileUris; + } + public function setProperties($properties) + { + $this->properties = $properties; + } + public function getProperties() + { + return $this->properties; + } + public function setQueryFileUri($queryFileUri) + { + $this->queryFileUri = $queryFileUri; + } + public function getQueryFileUri() + { + return $this->queryFileUri; + } + public function setQueryList(Google_Service_Dataproc_QueryList $queryList) + { + $this->queryList = $queryList; + } + public function getQueryList() + { + return $this->queryList; + } + public function setScriptVariables($scriptVariables) + { + $this->scriptVariables = $scriptVariables; + } + public function getScriptVariables() + { + return $this->scriptVariables; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dataproc/InstanceGroupConfig.php b/vendor/google/apiclient-services/src/Google/Service/Dataproc/InstanceGroupConfig.php new file mode 100644 index 00000000..4c77e500 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dataproc/InstanceGroupConfig.php @@ -0,0 +1,97 @@ +accelerators = $accelerators; + } + public function getAccelerators() + { + return $this->accelerators; + } + public function setDiskConfig(Google_Service_Dataproc_DiskConfig $diskConfig) + { + $this->diskConfig = $diskConfig; + } + public function getDiskConfig() + { + return $this->diskConfig; + } + public function setImageUri($imageUri) + { + $this->imageUri = $imageUri; + } + public function getImageUri() + { + return $this->imageUri; + } + public function setInstanceNames($instanceNames) + { + $this->instanceNames = $instanceNames; + } + public function getInstanceNames() + { + return $this->instanceNames; + } + public function setIsPreemptible($isPreemptible) + { + $this->isPreemptible = $isPreemptible; + } + public function getIsPreemptible() + { + return $this->isPreemptible; + } + public function setMachineTypeUri($machineTypeUri) + { + $this->machineTypeUri = $machineTypeUri; + } + public function getMachineTypeUri() + { + return $this->machineTypeUri; + } + public function setManagedGroupConfig(Google_Service_Dataproc_ManagedGroupConfig $managedGroupConfig) + { + $this->managedGroupConfig = $managedGroupConfig; + } + public function getManagedGroupConfig() + { + return $this->managedGroupConfig; + } + public function setNumInstances($numInstances) + { + $this->numInstances = $numInstances; + } + public function getNumInstances() + { + return $this->numInstances; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dataproc/Job.php b/vendor/google/apiclient-services/src/Google/Service/Dataproc/Job.php new file mode 100644 index 00000000..8b9fb432 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dataproc/Job.php @@ -0,0 +1,169 @@ +driverControlFilesUri = $driverControlFilesUri; + } + public function getDriverControlFilesUri() + { + return $this->driverControlFilesUri; + } + public function setDriverOutputResourceUri($driverOutputResourceUri) + { + $this->driverOutputResourceUri = $driverOutputResourceUri; + } + public function getDriverOutputResourceUri() + { + return $this->driverOutputResourceUri; + } + public function setHadoopJob(Google_Service_Dataproc_HadoopJob $hadoopJob) + { + $this->hadoopJob = $hadoopJob; + } + public function getHadoopJob() + { + return $this->hadoopJob; + } + public function setHiveJob(Google_Service_Dataproc_HiveJob $hiveJob) + { + $this->hiveJob = $hiveJob; + } + public function getHiveJob() + { + return $this->hiveJob; + } + public function setLabels($labels) + { + $this->labels = $labels; + } + public function getLabels() + { + return $this->labels; + } + public function setPigJob(Google_Service_Dataproc_PigJob $pigJob) + { + $this->pigJob = $pigJob; + } + public function getPigJob() + { + return $this->pigJob; + } + public function setPlacement(Google_Service_Dataproc_JobPlacement $placement) + { + $this->placement = $placement; + } + public function getPlacement() + { + return $this->placement; + } + public function setPysparkJob(Google_Service_Dataproc_PySparkJob $pysparkJob) + { + $this->pysparkJob = $pysparkJob; + } + public function getPysparkJob() + { + return $this->pysparkJob; + } + public function setReference(Google_Service_Dataproc_JobReference $reference) + { + $this->reference = $reference; + } + public function getReference() + { + return $this->reference; + } + public function setScheduling(Google_Service_Dataproc_JobScheduling $scheduling) + { + $this->scheduling = $scheduling; + } + public function getScheduling() + { + return $this->scheduling; + } + public function setSparkJob(Google_Service_Dataproc_SparkJob $sparkJob) + { + $this->sparkJob = $sparkJob; + } + public function getSparkJob() + { + return $this->sparkJob; + } + public function setSparkSqlJob(Google_Service_Dataproc_SparkSqlJob $sparkSqlJob) + { + $this->sparkSqlJob = $sparkSqlJob; + } + public function getSparkSqlJob() + { + return $this->sparkSqlJob; + } + public function setStatus(Google_Service_Dataproc_JobStatus $status) + { + $this->status = $status; + } + public function getStatus() + { + return $this->status; + } + public function setStatusHistory($statusHistory) + { + $this->statusHistory = $statusHistory; + } + public function getStatusHistory() + { + return $this->statusHistory; + } + public function setYarnApplications($yarnApplications) + { + $this->yarnApplications = $yarnApplications; + } + public function getYarnApplications() + { + return $this->yarnApplications; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dataproc/JobPlacement.php b/vendor/google/apiclient-services/src/Google/Service/Dataproc/JobPlacement.php new file mode 100644 index 00000000..16705b8c --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dataproc/JobPlacement.php @@ -0,0 +1,39 @@ +clusterName = $clusterName; + } + public function getClusterName() + { + return $this->clusterName; + } + public function setClusterUuid($clusterUuid) + { + $this->clusterUuid = $clusterUuid; + } + public function getClusterUuid() + { + return $this->clusterUuid; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dataproc/JobReference.php b/vendor/google/apiclient-services/src/Google/Service/Dataproc/JobReference.php new file mode 100644 index 00000000..977cd0d8 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dataproc/JobReference.php @@ -0,0 +1,39 @@ +jobId = $jobId; + } + public function getJobId() + { + return $this->jobId; + } + public function setProjectId($projectId) + { + $this->projectId = $projectId; + } + public function getProjectId() + { + return $this->projectId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dataproc/JobScheduling.php b/vendor/google/apiclient-services/src/Google/Service/Dataproc/JobScheduling.php new file mode 100644 index 00000000..e698e4ac --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dataproc/JobScheduling.php @@ -0,0 +1,30 @@ +maxFailuresPerHour = $maxFailuresPerHour; + } + public function getMaxFailuresPerHour() + { + return $this->maxFailuresPerHour; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dataproc/JobStatus.php b/vendor/google/apiclient-services/src/Google/Service/Dataproc/JobStatus.php new file mode 100644 index 00000000..60f8df6b --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dataproc/JobStatus.php @@ -0,0 +1,48 @@ +details = $details; + } + public function getDetails() + { + return $this->details; + } + public function setState($state) + { + $this->state = $state; + } + public function getState() + { + return $this->state; + } + public function setStateStartTime($stateStartTime) + { + $this->stateStartTime = $stateStartTime; + } + public function getStateStartTime() + { + return $this->stateStartTime; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dataproc/ListClustersResponse.php b/vendor/google/apiclient-services/src/Google/Service/Dataproc/ListClustersResponse.php new file mode 100644 index 00000000..d3589082 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dataproc/ListClustersResponse.php @@ -0,0 +1,41 @@ +clusters = $clusters; + } + public function getClusters() + { + return $this->clusters; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dataproc/ListJobsResponse.php b/vendor/google/apiclient-services/src/Google/Service/Dataproc/ListJobsResponse.php new file mode 100644 index 00000000..be99793b --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dataproc/ListJobsResponse.php @@ -0,0 +1,41 @@ +jobs = $jobs; + } + public function getJobs() + { + return $this->jobs; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dataproc/ListOperationsResponse.php b/vendor/google/apiclient-services/src/Google/Service/Dataproc/ListOperationsResponse.php new file mode 100644 index 00000000..dd749a87 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dataproc/ListOperationsResponse.php @@ -0,0 +1,41 @@ +nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setOperations($operations) + { + $this->operations = $operations; + } + public function getOperations() + { + return $this->operations; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dataproc/LoggingConfig.php b/vendor/google/apiclient-services/src/Google/Service/Dataproc/LoggingConfig.php new file mode 100644 index 00000000..90e5f33d --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dataproc/LoggingConfig.php @@ -0,0 +1,30 @@ +driverLogLevels = $driverLogLevels; + } + public function getDriverLogLevels() + { + return $this->driverLogLevels; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dataproc/ManagedGroupConfig.php b/vendor/google/apiclient-services/src/Google/Service/Dataproc/ManagedGroupConfig.php new file mode 100644 index 00000000..1725fe5f --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dataproc/ManagedGroupConfig.php @@ -0,0 +1,39 @@ +instanceGroupManagerName = $instanceGroupManagerName; + } + public function getInstanceGroupManagerName() + { + return $this->instanceGroupManagerName; + } + public function setInstanceTemplateName($instanceTemplateName) + { + $this->instanceTemplateName = $instanceTemplateName; + } + public function getInstanceTemplateName() + { + return $this->instanceTemplateName; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dataproc/NodeInitializationAction.php b/vendor/google/apiclient-services/src/Google/Service/Dataproc/NodeInitializationAction.php new file mode 100644 index 00000000..d7f296c1 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dataproc/NodeInitializationAction.php @@ -0,0 +1,39 @@ +executableFile = $executableFile; + } + public function getExecutableFile() + { + return $this->executableFile; + } + public function setExecutionTimeout($executionTimeout) + { + $this->executionTimeout = $executionTimeout; + } + public function getExecutionTimeout() + { + return $this->executionTimeout; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dataproc/Operation.php b/vendor/google/apiclient-services/src/Google/Service/Dataproc/Operation.php new file mode 100644 index 00000000..71e287c1 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dataproc/Operation.php @@ -0,0 +1,67 @@ +done = $done; + } + public function getDone() + { + return $this->done; + } + public function setError(Google_Service_Dataproc_Status $error) + { + $this->error = $error; + } + public function getError() + { + return $this->error; + } + public function setMetadata($metadata) + { + $this->metadata = $metadata; + } + public function getMetadata() + { + return $this->metadata; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setResponse($response) + { + $this->response = $response; + } + public function getResponse() + { + return $this->response; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dataproc/OperationMetadata.php b/vendor/google/apiclient-services/src/Google/Service/Dataproc/OperationMetadata.php new file mode 100644 index 00000000..e57db919 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dataproc/OperationMetadata.php @@ -0,0 +1,141 @@ +clusterName = $clusterName; + } + public function getClusterName() + { + return $this->clusterName; + } + public function setClusterUuid($clusterUuid) + { + $this->clusterUuid = $clusterUuid; + } + public function getClusterUuid() + { + return $this->clusterUuid; + } + public function setDescription($description) + { + $this->description = $description; + } + public function getDescription() + { + return $this->description; + } + public function setDetails($details) + { + $this->details = $details; + } + public function getDetails() + { + return $this->details; + } + public function setEndTime($endTime) + { + $this->endTime = $endTime; + } + public function getEndTime() + { + return $this->endTime; + } + public function setInnerState($innerState) + { + $this->innerState = $innerState; + } + public function getInnerState() + { + return $this->innerState; + } + public function setInsertTime($insertTime) + { + $this->insertTime = $insertTime; + } + public function getInsertTime() + { + return $this->insertTime; + } + public function setOperationType($operationType) + { + $this->operationType = $operationType; + } + public function getOperationType() + { + return $this->operationType; + } + public function setStartTime($startTime) + { + $this->startTime = $startTime; + } + public function getStartTime() + { + return $this->startTime; + } + public function setState($state) + { + $this->state = $state; + } + public function getState() + { + return $this->state; + } + public function setStatus(Google_Service_Dataproc_OperationStatus $status) + { + $this->status = $status; + } + public function getStatus() + { + return $this->status; + } + public function setStatusHistory($statusHistory) + { + $this->statusHistory = $statusHistory; + } + public function getStatusHistory() + { + return $this->statusHistory; + } + public function setWarnings($warnings) + { + $this->warnings = $warnings; + } + public function getWarnings() + { + return $this->warnings; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dataproc/OperationStatus.php b/vendor/google/apiclient-services/src/Google/Service/Dataproc/OperationStatus.php new file mode 100644 index 00000000..90f1143d --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dataproc/OperationStatus.php @@ -0,0 +1,57 @@ +details = $details; + } + public function getDetails() + { + return $this->details; + } + public function setInnerState($innerState) + { + $this->innerState = $innerState; + } + public function getInnerState() + { + return $this->innerState; + } + public function setState($state) + { + $this->state = $state; + } + public function getState() + { + return $this->state; + } + public function setStateStartTime($stateStartTime) + { + $this->stateStartTime = $stateStartTime; + } + public function getStateStartTime() + { + return $this->stateStartTime; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dataproc/PigJob.php b/vendor/google/apiclient-services/src/Google/Service/Dataproc/PigJob.php new file mode 100644 index 00000000..e09142cf --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dataproc/PigJob.php @@ -0,0 +1,87 @@ +continueOnFailure = $continueOnFailure; + } + public function getContinueOnFailure() + { + return $this->continueOnFailure; + } + public function setJarFileUris($jarFileUris) + { + $this->jarFileUris = $jarFileUris; + } + public function getJarFileUris() + { + return $this->jarFileUris; + } + public function setLoggingConfig(Google_Service_Dataproc_LoggingConfig $loggingConfig) + { + $this->loggingConfig = $loggingConfig; + } + public function getLoggingConfig() + { + return $this->loggingConfig; + } + public function setProperties($properties) + { + $this->properties = $properties; + } + public function getProperties() + { + return $this->properties; + } + public function setQueryFileUri($queryFileUri) + { + $this->queryFileUri = $queryFileUri; + } + public function getQueryFileUri() + { + return $this->queryFileUri; + } + public function setQueryList(Google_Service_Dataproc_QueryList $queryList) + { + $this->queryList = $queryList; + } + public function getQueryList() + { + return $this->queryList; + } + public function setScriptVariables($scriptVariables) + { + $this->scriptVariables = $scriptVariables; + } + public function getScriptVariables() + { + return $this->scriptVariables; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dataproc/PySparkJob.php b/vendor/google/apiclient-services/src/Google/Service/Dataproc/PySparkJob.php new file mode 100644 index 00000000..4ab147d0 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dataproc/PySparkJob.php @@ -0,0 +1,95 @@ +archiveUris = $archiveUris; + } + public function getArchiveUris() + { + return $this->archiveUris; + } + public function setArgs($args) + { + $this->args = $args; + } + public function getArgs() + { + return $this->args; + } + public function setFileUris($fileUris) + { + $this->fileUris = $fileUris; + } + public function getFileUris() + { + return $this->fileUris; + } + public function setJarFileUris($jarFileUris) + { + $this->jarFileUris = $jarFileUris; + } + public function getJarFileUris() + { + return $this->jarFileUris; + } + public function setLoggingConfig(Google_Service_Dataproc_LoggingConfig $loggingConfig) + { + $this->loggingConfig = $loggingConfig; + } + public function getLoggingConfig() + { + return $this->loggingConfig; + } + public function setMainPythonFileUri($mainPythonFileUri) + { + $this->mainPythonFileUri = $mainPythonFileUri; + } + public function getMainPythonFileUri() + { + return $this->mainPythonFileUri; + } + public function setProperties($properties) + { + $this->properties = $properties; + } + public function getProperties() + { + return $this->properties; + } + public function setPythonFileUris($pythonFileUris) + { + $this->pythonFileUris = $pythonFileUris; + } + public function getPythonFileUris() + { + return $this->pythonFileUris; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dataproc/QueryList.php b/vendor/google/apiclient-services/src/Google/Service/Dataproc/QueryList.php new file mode 100644 index 00000000..a14da25d --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dataproc/QueryList.php @@ -0,0 +1,31 @@ +queries = $queries; + } + public function getQueries() + { + return $this->queries; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dataproc/Resource/Projects.php b/vendor/google/apiclient-services/src/Google/Service/Dataproc/Resource/Projects.php new file mode 100644 index 00000000..505f9dd5 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dataproc/Resource/Projects.php @@ -0,0 +1,28 @@ + + * $dataprocService = new Google_Service_Dataproc(...); + * $projects = $dataprocService->projects; + * + */ +class Google_Service_Dataproc_Resource_Projects extends Google_Service_Resource +{ +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dataproc/Resource/ProjectsRegions.php b/vendor/google/apiclient-services/src/Google/Service/Dataproc/Resource/ProjectsRegions.php new file mode 100644 index 00000000..ba626814 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dataproc/Resource/ProjectsRegions.php @@ -0,0 +1,28 @@ + + * $dataprocService = new Google_Service_Dataproc(...); + * $regions = $dataprocService->regions; + * + */ +class Google_Service_Dataproc_Resource_ProjectsRegions extends Google_Service_Resource +{ +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dataproc/Resource/ProjectsRegionsClusters.php b/vendor/google/apiclient-services/src/Google/Service/Dataproc/Resource/ProjectsRegionsClusters.php new file mode 100644 index 00000000..77c97dd1 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dataproc/Resource/ProjectsRegionsClusters.php @@ -0,0 +1,162 @@ + + * $dataprocService = new Google_Service_Dataproc(...); + * $clusters = $dataprocService->clusters; + * + */ +class Google_Service_Dataproc_Resource_ProjectsRegionsClusters extends Google_Service_Resource +{ + /** + * Creates a cluster in a project. (clusters.create) + * + * @param string $projectId Required The ID of the Google Cloud Platform project + * that the cluster belongs to. + * @param string $region Required The Cloud Dataproc region in which to handle + * the request. + * @param Google_Service_Dataproc_Cluster $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Dataproc_Operation + */ + public function create($projectId, $region, Google_Service_Dataproc_Cluster $postBody, $optParams = array()) + { + $params = array('projectId' => $projectId, 'region' => $region, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('create', array($params), "Google_Service_Dataproc_Operation"); + } + /** + * Deletes a cluster in a project. (clusters.delete) + * + * @param string $projectId Required The ID of the Google Cloud Platform project + * that the cluster belongs to. + * @param string $region Required The Cloud Dataproc region in which to handle + * the request. + * @param string $clusterName Required The cluster name. + * @param array $optParams Optional parameters. + * @return Google_Service_Dataproc_Operation + */ + public function delete($projectId, $region, $clusterName, $optParams = array()) + { + $params = array('projectId' => $projectId, 'region' => $region, 'clusterName' => $clusterName); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params), "Google_Service_Dataproc_Operation"); + } + /** + * Gets cluster diagnostic information. After the operation completes, the + * Operation.response field contains DiagnoseClusterOutputLocation. + * (clusters.diagnose) + * + * @param string $projectId Required The ID of the Google Cloud Platform project + * that the cluster belongs to. + * @param string $region Required The Cloud Dataproc region in which to handle + * the request. + * @param string $clusterName Required The cluster name. + * @param Google_Service_Dataproc_DiagnoseClusterRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Dataproc_Operation + */ + public function diagnose($projectId, $region, $clusterName, Google_Service_Dataproc_DiagnoseClusterRequest $postBody, $optParams = array()) + { + $params = array('projectId' => $projectId, 'region' => $region, 'clusterName' => $clusterName, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('diagnose', array($params), "Google_Service_Dataproc_Operation"); + } + /** + * Gets the resource representation for a cluster in a project. (clusters.get) + * + * @param string $projectId Required The ID of the Google Cloud Platform project + * that the cluster belongs to. + * @param string $region Required The Cloud Dataproc region in which to handle + * the request. + * @param string $clusterName Required The cluster name. + * @param array $optParams Optional parameters. + * @return Google_Service_Dataproc_Cluster + */ + public function get($projectId, $region, $clusterName, $optParams = array()) + { + $params = array('projectId' => $projectId, 'region' => $region, 'clusterName' => $clusterName); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Dataproc_Cluster"); + } + /** + * Lists all regions/{region}/clusters in a project. + * (clusters.listProjectsRegionsClusters) + * + * @param string $projectId Required The ID of the Google Cloud Platform project + * that the cluster belongs to. + * @param string $region Required The Cloud Dataproc region in which to handle + * the request. + * @param array $optParams Optional parameters. + * + * @opt_param string filter Optional A filter constraining the clusters to list. + * Filters are case-sensitive and have the following syntax:field = value AND + * field = value ...where field is one of status.state, clusterName, or + * labels.[KEY], and [KEY] is a label key. value can be * to match all values. + * status.state can be one of the following: ACTIVE, INACTIVE, CREATING, + * RUNNING, ERROR, DELETING, or UPDATING. ACTIVE contains the CREATING, + * UPDATING, and RUNNING states. INACTIVE contains the DELETING and ERROR + * states. clusterName is the name of the cluster provided at creation time. + * Only the logical AND operator is supported; space-separated items are treated + * as having an implicit AND operator.Example filter:status.state = ACTIVE AND + * clusterName = mycluster AND labels.env = staging AND labels.starred = * + * @opt_param string pageToken Optional The standard List page token. + * @opt_param int pageSize Optional The standard List page size. + * @return Google_Service_Dataproc_ListClustersResponse + */ + public function listProjectsRegionsClusters($projectId, $region, $optParams = array()) + { + $params = array('projectId' => $projectId, 'region' => $region); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Dataproc_ListClustersResponse"); + } + /** + * Updates a cluster in a project. (clusters.patch) + * + * @param string $projectId Required The ID of the Google Cloud Platform project + * the cluster belongs to. + * @param string $region Required The Cloud Dataproc region in which to handle + * the request. + * @param string $clusterName Required The cluster name. + * @param Google_Service_Dataproc_Cluster $postBody + * @param array $optParams Optional parameters. + * + * @opt_param string updateMask Required Specifies the path, relative to + * Cluster, of the field to update. For example, to change the number of workers + * in a cluster to 5, the update_mask parameter would be specified as + * config.worker_config.num_instances, and the PATCH request body would specify + * the new value, as follows: { "config":{ "workerConfig":{ + * "numInstances":"5" } } } Similarly, to change the number of preemptible + * workers in a cluster to 5, the update_mask parameter would be + * config.secondary_worker_config.num_instances, and the PATCH request body + * would be set as follows: { "config":{ "secondaryWorkerConfig":{ + * "numInstances":"5" } } } Note: Currently, + * config.worker_config.num_instances and + * config.secondary_worker_config.num_instances are the only fields that can be + * updated. + * @return Google_Service_Dataproc_Operation + */ + public function patch($projectId, $region, $clusterName, Google_Service_Dataproc_Cluster $postBody, $optParams = array()) + { + $params = array('projectId' => $projectId, 'region' => $region, 'clusterName' => $clusterName, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('patch', array($params), "Google_Service_Dataproc_Operation"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dataproc/Resource/ProjectsRegionsJobs.php b/vendor/google/apiclient-services/src/Google/Service/Dataproc/Resource/ProjectsRegionsJobs.php new file mode 100644 index 00000000..23cb52ca --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dataproc/Resource/ProjectsRegionsJobs.php @@ -0,0 +1,156 @@ + + * $dataprocService = new Google_Service_Dataproc(...); + * $jobs = $dataprocService->jobs; + * + */ +class Google_Service_Dataproc_Resource_ProjectsRegionsJobs extends Google_Service_Resource +{ + /** + * Starts a job cancellation request. To access the job resource after + * cancellation, call regions/{region}/jobs.list or regions/{region}/jobs.get. + * (jobs.cancel) + * + * @param string $projectId Required The ID of the Google Cloud Platform project + * that the job belongs to. + * @param string $region Required The Cloud Dataproc region in which to handle + * the request. + * @param string $jobId Required The job ID. + * @param Google_Service_Dataproc_CancelJobRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Dataproc_Job + */ + public function cancel($projectId, $region, $jobId, Google_Service_Dataproc_CancelJobRequest $postBody, $optParams = array()) + { + $params = array('projectId' => $projectId, 'region' => $region, 'jobId' => $jobId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('cancel', array($params), "Google_Service_Dataproc_Job"); + } + /** + * Deletes the job from the project. If the job is active, the delete fails, and + * the response returns FAILED_PRECONDITION. (jobs.delete) + * + * @param string $projectId Required The ID of the Google Cloud Platform project + * that the job belongs to. + * @param string $region Required The Cloud Dataproc region in which to handle + * the request. + * @param string $jobId Required The job ID. + * @param array $optParams Optional parameters. + * @return Google_Service_Dataproc_DataprocEmpty + */ + public function delete($projectId, $region, $jobId, $optParams = array()) + { + $params = array('projectId' => $projectId, 'region' => $region, 'jobId' => $jobId); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params), "Google_Service_Dataproc_DataprocEmpty"); + } + /** + * Gets the resource representation for a job in a project. (jobs.get) + * + * @param string $projectId Required The ID of the Google Cloud Platform project + * that the job belongs to. + * @param string $region Required The Cloud Dataproc region in which to handle + * the request. + * @param string $jobId Required The job ID. + * @param array $optParams Optional parameters. + * @return Google_Service_Dataproc_Job + */ + public function get($projectId, $region, $jobId, $optParams = array()) + { + $params = array('projectId' => $projectId, 'region' => $region, 'jobId' => $jobId); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Dataproc_Job"); + } + /** + * Lists regions/{region}/jobs in a project. (jobs.listProjectsRegionsJobs) + * + * @param string $projectId Required The ID of the Google Cloud Platform project + * that the job belongs to. + * @param string $region Required The Cloud Dataproc region in which to handle + * the request. + * @param array $optParams Optional parameters. + * + * @opt_param string pageToken Optional The page token, returned by a previous + * call, to request the next page of results. + * @opt_param int pageSize Optional The number of results to return in each + * response. + * @opt_param string clusterName Optional If set, the returned jobs list + * includes only jobs that were submitted to the named cluster. + * @opt_param string filter Optional A filter constraining the jobs to list. + * Filters are case-sensitive and have the following syntax:field = value AND + * field = value ...where field is status.state or labels.[KEY], and [KEY] is a + * label key. value can be * to match all values. status.state can be either + * ACTIVE or INACTIVE. Only the logical AND operator is supported; space- + * separated items are treated as having an implicit AND operator.Example + * filter:status.state = ACTIVE AND labels.env = staging AND labels.starred = * + * @opt_param string jobStateMatcher Optional Specifies enumerated categories of + * jobs to list (default = match ALL jobs). + * @return Google_Service_Dataproc_ListJobsResponse + */ + public function listProjectsRegionsJobs($projectId, $region, $optParams = array()) + { + $params = array('projectId' => $projectId, 'region' => $region); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Dataproc_ListJobsResponse"); + } + /** + * Updates a job in a project. (jobs.patch) + * + * @param string $projectId Required The ID of the Google Cloud Platform project + * that the job belongs to. + * @param string $region Required The Cloud Dataproc region in which to handle + * the request. + * @param string $jobId Required The job ID. + * @param Google_Service_Dataproc_Job $postBody + * @param array $optParams Optional parameters. + * + * @opt_param string updateMask Required Specifies the path, relative to Job, of + * the field to update. For example, to update the labels of a Job the + * update_mask parameter would be specified as labels, and the PATCH request + * body would specify the new value. Note: Currently, labels is the only field + * that can be updated. + * @return Google_Service_Dataproc_Job + */ + public function patch($projectId, $region, $jobId, Google_Service_Dataproc_Job $postBody, $optParams = array()) + { + $params = array('projectId' => $projectId, 'region' => $region, 'jobId' => $jobId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('patch', array($params), "Google_Service_Dataproc_Job"); + } + /** + * Submits a job to a cluster. (jobs.submit) + * + * @param string $projectId Required The ID of the Google Cloud Platform project + * that the job belongs to. + * @param string $region Required The Cloud Dataproc region in which to handle + * the request. + * @param Google_Service_Dataproc_SubmitJobRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Dataproc_Job + */ + public function submit($projectId, $region, Google_Service_Dataproc_SubmitJobRequest $postBody, $optParams = array()) + { + $params = array('projectId' => $projectId, 'region' => $region, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('submit', array($params), "Google_Service_Dataproc_Job"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dataproc/Resource/ProjectsRegionsOperations.php b/vendor/google/apiclient-services/src/Google/Service/Dataproc/Resource/ProjectsRegionsOperations.php new file mode 100644 index 00000000..b366e26b --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dataproc/Resource/ProjectsRegionsOperations.php @@ -0,0 +1,101 @@ + + * $dataprocService = new Google_Service_Dataproc(...); + * $operations = $dataprocService->operations; + * + */ +class Google_Service_Dataproc_Resource_ProjectsRegionsOperations extends Google_Service_Resource +{ + /** + * Starts asynchronous cancellation on a long-running operation. The server + * makes a best effort to cancel the operation, but success is not guaranteed. + * If the server doesn't support this method, it returns + * google.rpc.Code.UNIMPLEMENTED. Clients can use Operations.GetOperation or + * other methods to check whether the cancellation succeeded or whether the + * operation completed despite cancellation. On successful cancellation, the + * operation is not deleted; instead, it becomes an operation with an + * Operation.error value with a google.rpc.Status.code of 1, corresponding to + * Code.CANCELLED. (operations.cancel) + * + * @param string $name The name of the operation resource to be cancelled. + * @param array $optParams Optional parameters. + * @return Google_Service_Dataproc_DataprocEmpty + */ + public function cancel($name, $optParams = array()) + { + $params = array('name' => $name); + $params = array_merge($params, $optParams); + return $this->call('cancel', array($params), "Google_Service_Dataproc_DataprocEmpty"); + } + /** + * Deletes a long-running operation. This method indicates that the client is no + * longer interested in the operation result. It does not cancel the operation. + * If the server doesn't support this method, it returns + * google.rpc.Code.UNIMPLEMENTED. (operations.delete) + * + * @param string $name The name of the operation resource to be deleted. + * @param array $optParams Optional parameters. + * @return Google_Service_Dataproc_DataprocEmpty + */ + public function delete($name, $optParams = array()) + { + $params = array('name' => $name); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params), "Google_Service_Dataproc_DataprocEmpty"); + } + /** + * Gets the latest state of a long-running operation. Clients can use this + * method to poll the operation result at intervals as recommended by the API + * service. (operations.get) + * + * @param string $name The name of the operation resource. + * @param array $optParams Optional parameters. + * @return Google_Service_Dataproc_Operation + */ + public function get($name, $optParams = array()) + { + $params = array('name' => $name); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Dataproc_Operation"); + } + /** + * Lists operations that match the specified filter in the request. If the + * server doesn't support this method, it returns UNIMPLEMENTED.NOTE: the name + * binding below allows API services to override the binding to use different + * resource name schemes, such as users/operations. + * (operations.listProjectsRegionsOperations) + * + * @param string $name The name of the operation collection. + * @param array $optParams Optional parameters. + * + * @opt_param int pageSize The standard list page size. + * @opt_param string filter The standard list filter. + * @opt_param string pageToken The standard list page token. + * @return Google_Service_Dataproc_ListOperationsResponse + */ + public function listProjectsRegionsOperations($name, $optParams = array()) + { + $params = array('name' => $name); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Dataproc_ListOperationsResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dataproc/SoftwareConfig.php b/vendor/google/apiclient-services/src/Google/Service/Dataproc/SoftwareConfig.php new file mode 100644 index 00000000..26abe390 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dataproc/SoftwareConfig.php @@ -0,0 +1,39 @@ +imageVersion = $imageVersion; + } + public function getImageVersion() + { + return $this->imageVersion; + } + public function setProperties($properties) + { + $this->properties = $properties; + } + public function getProperties() + { + return $this->properties; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dataproc/SparkJob.php b/vendor/google/apiclient-services/src/Google/Service/Dataproc/SparkJob.php new file mode 100644 index 00000000..845b7e88 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dataproc/SparkJob.php @@ -0,0 +1,95 @@ +archiveUris = $archiveUris; + } + public function getArchiveUris() + { + return $this->archiveUris; + } + public function setArgs($args) + { + $this->args = $args; + } + public function getArgs() + { + return $this->args; + } + public function setFileUris($fileUris) + { + $this->fileUris = $fileUris; + } + public function getFileUris() + { + return $this->fileUris; + } + public function setJarFileUris($jarFileUris) + { + $this->jarFileUris = $jarFileUris; + } + public function getJarFileUris() + { + return $this->jarFileUris; + } + public function setLoggingConfig(Google_Service_Dataproc_LoggingConfig $loggingConfig) + { + $this->loggingConfig = $loggingConfig; + } + public function getLoggingConfig() + { + return $this->loggingConfig; + } + public function setMainClass($mainClass) + { + $this->mainClass = $mainClass; + } + public function getMainClass() + { + return $this->mainClass; + } + public function setMainJarFileUri($mainJarFileUri) + { + $this->mainJarFileUri = $mainJarFileUri; + } + public function getMainJarFileUri() + { + return $this->mainJarFileUri; + } + public function setProperties($properties) + { + $this->properties = $properties; + } + public function getProperties() + { + return $this->properties; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dataproc/SparkSqlJob.php b/vendor/google/apiclient-services/src/Google/Service/Dataproc/SparkSqlJob.php new file mode 100644 index 00000000..d5dba5d8 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dataproc/SparkSqlJob.php @@ -0,0 +1,78 @@ +jarFileUris = $jarFileUris; + } + public function getJarFileUris() + { + return $this->jarFileUris; + } + public function setLoggingConfig(Google_Service_Dataproc_LoggingConfig $loggingConfig) + { + $this->loggingConfig = $loggingConfig; + } + public function getLoggingConfig() + { + return $this->loggingConfig; + } + public function setProperties($properties) + { + $this->properties = $properties; + } + public function getProperties() + { + return $this->properties; + } + public function setQueryFileUri($queryFileUri) + { + $this->queryFileUri = $queryFileUri; + } + public function getQueryFileUri() + { + return $this->queryFileUri; + } + public function setQueryList(Google_Service_Dataproc_QueryList $queryList) + { + $this->queryList = $queryList; + } + public function getQueryList() + { + return $this->queryList; + } + public function setScriptVariables($scriptVariables) + { + $this->scriptVariables = $scriptVariables; + } + public function getScriptVariables() + { + return $this->scriptVariables; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dataproc/Status.php b/vendor/google/apiclient-services/src/Google/Service/Dataproc/Status.php new file mode 100644 index 00000000..55bc1464 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dataproc/Status.php @@ -0,0 +1,49 @@ +code = $code; + } + public function getCode() + { + return $this->code; + } + public function setDetails($details) + { + $this->details = $details; + } + public function getDetails() + { + return $this->details; + } + public function setMessage($message) + { + $this->message = $message; + } + public function getMessage() + { + return $this->message; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dataproc/SubmitJobRequest.php b/vendor/google/apiclient-services/src/Google/Service/Dataproc/SubmitJobRequest.php new file mode 100644 index 00000000..e35ec7c8 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dataproc/SubmitJobRequest.php @@ -0,0 +1,31 @@ +job = $job; + } + public function getJob() + { + return $this->job; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dataproc/YarnApplication.php b/vendor/google/apiclient-services/src/Google/Service/Dataproc/YarnApplication.php new file mode 100644 index 00000000..3e9ec6b8 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dataproc/YarnApplication.php @@ -0,0 +1,57 @@ +name = $name; + } + public function getName() + { + return $this->name; + } + public function setProgress($progress) + { + $this->progress = $progress; + } + public function getProgress() + { + return $this->progress; + } + public function setState($state) + { + $this->state = $state; + } + public function getState() + { + return $this->state; + } + public function setTrackingUrl($trackingUrl) + { + $this->trackingUrl = $trackingUrl; + } + public function getTrackingUrl() + { + return $this->trackingUrl; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Datastore.php b/vendor/google/apiclient-services/src/Google/Service/Datastore.php new file mode 100644 index 00000000..f51d9628 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Datastore.php @@ -0,0 +1,127 @@ + + * Accesses the schemaless NoSQL database to provide fully managed, robust, + * scalable storage for your application.

+ * + *

+ * For more information about this service, see the API + * Documentation + *

+ * + * @author Google, Inc. + */ +class Google_Service_Datastore extends Google_Service +{ + /** View and manage your data across Google Cloud Platform services. */ + const CLOUD_PLATFORM = + "https://www.googleapis.com/auth/cloud-platform"; + /** View and manage your Google Cloud Datastore data. */ + const DATASTORE = + "https://www.googleapis.com/auth/datastore"; + + public $projects; + + /** + * Constructs the internal representation of the Datastore service. + * + * @param Google_Client $client + */ + public function __construct(Google_Client $client) + { + parent::__construct($client); + $this->rootUrl = 'https://datastore.googleapis.com/'; + $this->servicePath = ''; + $this->version = 'v1'; + $this->serviceName = 'datastore'; + + $this->projects = new Google_Service_Datastore_Resource_Projects( + $this, + $this->serviceName, + 'projects', + array( + 'methods' => array( + 'allocateIds' => array( + 'path' => 'v1/projects/{projectId}:allocateIds', + 'httpMethod' => 'POST', + 'parameters' => array( + 'projectId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'beginTransaction' => array( + 'path' => 'v1/projects/{projectId}:beginTransaction', + 'httpMethod' => 'POST', + 'parameters' => array( + 'projectId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'commit' => array( + 'path' => 'v1/projects/{projectId}:commit', + 'httpMethod' => 'POST', + 'parameters' => array( + 'projectId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'lookup' => array( + 'path' => 'v1/projects/{projectId}:lookup', + 'httpMethod' => 'POST', + 'parameters' => array( + 'projectId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'rollback' => array( + 'path' => 'v1/projects/{projectId}:rollback', + 'httpMethod' => 'POST', + 'parameters' => array( + 'projectId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'runQuery' => array( + 'path' => 'v1/projects/{projectId}:runQuery', + 'httpMethod' => 'POST', + 'parameters' => array( + 'projectId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Datastore/AllocateIdsRequest.php b/vendor/google/apiclient-services/src/Google/Service/Datastore/AllocateIdsRequest.php new file mode 100644 index 00000000..a188b51e --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Datastore/AllocateIdsRequest.php @@ -0,0 +1,32 @@ +keys = $keys; + } + public function getKeys() + { + return $this->keys; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Datastore/AllocateIdsResponse.php b/vendor/google/apiclient-services/src/Google/Service/Datastore/AllocateIdsResponse.php new file mode 100644 index 00000000..19fbe936 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Datastore/AllocateIdsResponse.php @@ -0,0 +1,32 @@ +keys = $keys; + } + public function getKeys() + { + return $this->keys; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Datastore/ArrayValue.php b/vendor/google/apiclient-services/src/Google/Service/Datastore/ArrayValue.php new file mode 100644 index 00000000..70ce9602 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Datastore/ArrayValue.php @@ -0,0 +1,32 @@ +values = $values; + } + public function getValues() + { + return $this->values; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Datastore/BeginTransactionRequest.php b/vendor/google/apiclient-services/src/Google/Service/Datastore/BeginTransactionRequest.php new file mode 100644 index 00000000..407ed6e7 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Datastore/BeginTransactionRequest.php @@ -0,0 +1,20 @@ +transaction = $transaction; + } + public function getTransaction() + { + return $this->transaction; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Datastore/CommitRequest.php b/vendor/google/apiclient-services/src/Google/Service/Datastore/CommitRequest.php new file mode 100644 index 00000000..cbb98544 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Datastore/CommitRequest.php @@ -0,0 +1,50 @@ +mode = $mode; + } + public function getMode() + { + return $this->mode; + } + public function setMutations($mutations) + { + $this->mutations = $mutations; + } + public function getMutations() + { + return $this->mutations; + } + public function setTransaction($transaction) + { + $this->transaction = $transaction; + } + public function getTransaction() + { + return $this->transaction; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Datastore/CommitResponse.php b/vendor/google/apiclient-services/src/Google/Service/Datastore/CommitResponse.php new file mode 100644 index 00000000..93395723 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Datastore/CommitResponse.php @@ -0,0 +1,41 @@ +indexUpdates = $indexUpdates; + } + public function getIndexUpdates() + { + return $this->indexUpdates; + } + public function setMutationResults($mutationResults) + { + $this->mutationResults = $mutationResults; + } + public function getMutationResults() + { + return $this->mutationResults; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Datastore/CompositeFilter.php b/vendor/google/apiclient-services/src/Google/Service/Datastore/CompositeFilter.php new file mode 100644 index 00000000..e9774d7a --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Datastore/CompositeFilter.php @@ -0,0 +1,41 @@ +filters = $filters; + } + public function getFilters() + { + return $this->filters; + } + public function setOp($op) + { + $this->op = $op; + } + public function getOp() + { + return $this->op; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Datastore/Entity.php b/vendor/google/apiclient-services/src/Google/Service/Datastore/Entity.php new file mode 100644 index 00000000..dbc9e52f --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Datastore/Entity.php @@ -0,0 +1,41 @@ +key = $key; + } + public function getKey() + { + return $this->key; + } + public function setProperties($properties) + { + $this->properties = $properties; + } + public function getProperties() + { + return $this->properties; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Datastore/EntityResult.php b/vendor/google/apiclient-services/src/Google/Service/Datastore/EntityResult.php new file mode 100644 index 00000000..41fae807 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Datastore/EntityResult.php @@ -0,0 +1,49 @@ +cursor = $cursor; + } + public function getCursor() + { + return $this->cursor; + } + public function setEntity(Google_Service_Datastore_Entity $entity) + { + $this->entity = $entity; + } + public function getEntity() + { + return $this->entity; + } + public function setVersion($version) + { + $this->version = $version; + } + public function getVersion() + { + return $this->version; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Datastore/Filter.php b/vendor/google/apiclient-services/src/Google/Service/Datastore/Filter.php new file mode 100644 index 00000000..579c95c8 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Datastore/Filter.php @@ -0,0 +1,41 @@ +compositeFilter = $compositeFilter; + } + public function getCompositeFilter() + { + return $this->compositeFilter; + } + public function setPropertyFilter(Google_Service_Datastore_PropertyFilter $propertyFilter) + { + $this->propertyFilter = $propertyFilter; + } + public function getPropertyFilter() + { + return $this->propertyFilter; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Datastore/GqlQuery.php b/vendor/google/apiclient-services/src/Google/Service/Datastore/GqlQuery.php new file mode 100644 index 00000000..271d43e0 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Datastore/GqlQuery.php @@ -0,0 +1,60 @@ +allowLiterals = $allowLiterals; + } + public function getAllowLiterals() + { + return $this->allowLiterals; + } + public function setNamedBindings($namedBindings) + { + $this->namedBindings = $namedBindings; + } + public function getNamedBindings() + { + return $this->namedBindings; + } + public function setPositionalBindings($positionalBindings) + { + $this->positionalBindings = $positionalBindings; + } + public function getPositionalBindings() + { + return $this->positionalBindings; + } + public function setQueryString($queryString) + { + $this->queryString = $queryString; + } + public function getQueryString() + { + return $this->queryString; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Datastore/GqlQueryParameter.php b/vendor/google/apiclient-services/src/Google/Service/Datastore/GqlQueryParameter.php new file mode 100644 index 00000000..fa47a775 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Datastore/GqlQueryParameter.php @@ -0,0 +1,40 @@ +cursor = $cursor; + } + public function getCursor() + { + return $this->cursor; + } + public function setValue(Google_Service_Datastore_Value $value) + { + $this->value = $value; + } + public function getValue() + { + return $this->value; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Datastore/Key.php b/vendor/google/apiclient-services/src/Google/Service/Datastore/Key.php new file mode 100644 index 00000000..0febfdf9 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Datastore/Key.php @@ -0,0 +1,42 @@ +partitionId = $partitionId; + } + public function getPartitionId() + { + return $this->partitionId; + } + public function setPath($path) + { + $this->path = $path; + } + public function getPath() + { + return $this->path; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Datastore/KindExpression.php b/vendor/google/apiclient-services/src/Google/Service/Datastore/KindExpression.php new file mode 100644 index 00000000..5831a6a2 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Datastore/KindExpression.php @@ -0,0 +1,30 @@ +name = $name; + } + public function getName() + { + return $this->name; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Datastore/LatLng.php b/vendor/google/apiclient-services/src/Google/Service/Datastore/LatLng.php new file mode 100644 index 00000000..e5eae8fb --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Datastore/LatLng.php @@ -0,0 +1,39 @@ +latitude = $latitude; + } + public function getLatitude() + { + return $this->latitude; + } + public function setLongitude($longitude) + { + $this->longitude = $longitude; + } + public function getLongitude() + { + return $this->longitude; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Datastore/LookupRequest.php b/vendor/google/apiclient-services/src/Google/Service/Datastore/LookupRequest.php new file mode 100644 index 00000000..19a5f33e --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Datastore/LookupRequest.php @@ -0,0 +1,42 @@ +keys = $keys; + } + public function getKeys() + { + return $this->keys; + } + public function setReadOptions(Google_Service_Datastore_ReadOptions $readOptions) + { + $this->readOptions = $readOptions; + } + public function getReadOptions() + { + return $this->readOptions; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Datastore/LookupResponse.php b/vendor/google/apiclient-services/src/Google/Service/Datastore/LookupResponse.php new file mode 100644 index 00000000..9568c94e --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Datastore/LookupResponse.php @@ -0,0 +1,52 @@ +deferred = $deferred; + } + public function getDeferred() + { + return $this->deferred; + } + public function setFound($found) + { + $this->found = $found; + } + public function getFound() + { + return $this->found; + } + public function setMissing($missing) + { + $this->missing = $missing; + } + public function getMissing() + { + return $this->missing; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Datastore/Mutation.php b/vendor/google/apiclient-services/src/Google/Service/Datastore/Mutation.php new file mode 100644 index 00000000..6be38521 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Datastore/Mutation.php @@ -0,0 +1,70 @@ +baseVersion = $baseVersion; + } + public function getBaseVersion() + { + return $this->baseVersion; + } + public function setDelete(Google_Service_Datastore_Key $delete) + { + $this->delete = $delete; + } + public function getDelete() + { + return $this->delete; + } + public function setInsert(Google_Service_Datastore_Entity $insert) + { + $this->insert = $insert; + } + public function getInsert() + { + return $this->insert; + } + public function setUpdate(Google_Service_Datastore_Entity $update) + { + $this->update = $update; + } + public function getUpdate() + { + return $this->update; + } + public function setUpsert(Google_Service_Datastore_Entity $upsert) + { + $this->upsert = $upsert; + } + public function getUpsert() + { + return $this->upsert; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Datastore/MutationResult.php b/vendor/google/apiclient-services/src/Google/Service/Datastore/MutationResult.php new file mode 100644 index 00000000..9016d38e --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Datastore/MutationResult.php @@ -0,0 +1,49 @@ +conflictDetected = $conflictDetected; + } + public function getConflictDetected() + { + return $this->conflictDetected; + } + public function setKey(Google_Service_Datastore_Key $key) + { + $this->key = $key; + } + public function getKey() + { + return $this->key; + } + public function setVersion($version) + { + $this->version = $version; + } + public function getVersion() + { + return $this->version; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Datastore/PartitionId.php b/vendor/google/apiclient-services/src/Google/Service/Datastore/PartitionId.php new file mode 100644 index 00000000..39a95139 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Datastore/PartitionId.php @@ -0,0 +1,39 @@ +namespaceId = $namespaceId; + } + public function getNamespaceId() + { + return $this->namespaceId; + } + public function setProjectId($projectId) + { + $this->projectId = $projectId; + } + public function getProjectId() + { + return $this->projectId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Datastore/PathElement.php b/vendor/google/apiclient-services/src/Google/Service/Datastore/PathElement.php new file mode 100644 index 00000000..9ff2480e --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Datastore/PathElement.php @@ -0,0 +1,48 @@ +id = $id; + } + public function getId() + { + return $this->id; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Datastore/Projection.php b/vendor/google/apiclient-services/src/Google/Service/Datastore/Projection.php new file mode 100644 index 00000000..2576f2ac --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Datastore/Projection.php @@ -0,0 +1,31 @@ +property = $property; + } + public function getProperty() + { + return $this->property; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Datastore/PropertyFilter.php b/vendor/google/apiclient-services/src/Google/Service/Datastore/PropertyFilter.php new file mode 100644 index 00000000..b6331bd4 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Datastore/PropertyFilter.php @@ -0,0 +1,50 @@ +op = $op; + } + public function getOp() + { + return $this->op; + } + public function setProperty(Google_Service_Datastore_PropertyReference $property) + { + $this->property = $property; + } + public function getProperty() + { + return $this->property; + } + public function setValue(Google_Service_Datastore_Value $value) + { + $this->value = $value; + } + public function getValue() + { + return $this->value; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Datastore/PropertyOrder.php b/vendor/google/apiclient-services/src/Google/Service/Datastore/PropertyOrder.php new file mode 100644 index 00000000..ae15b758 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Datastore/PropertyOrder.php @@ -0,0 +1,40 @@ +direction = $direction; + } + public function getDirection() + { + return $this->direction; + } + public function setProperty(Google_Service_Datastore_PropertyReference $property) + { + $this->property = $property; + } + public function getProperty() + { + return $this->property; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Datastore/PropertyReference.php b/vendor/google/apiclient-services/src/Google/Service/Datastore/PropertyReference.php new file mode 100644 index 00000000..bc565d58 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Datastore/PropertyReference.php @@ -0,0 +1,30 @@ +name = $name; + } + public function getName() + { + return $this->name; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Datastore/Query.php b/vendor/google/apiclient-services/src/Google/Service/Datastore/Query.php new file mode 100644 index 00000000..c3c32780 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Datastore/Query.php @@ -0,0 +1,108 @@ +distinctOn = $distinctOn; + } + public function getDistinctOn() + { + return $this->distinctOn; + } + public function setEndCursor($endCursor) + { + $this->endCursor = $endCursor; + } + public function getEndCursor() + { + return $this->endCursor; + } + public function setFilter(Google_Service_Datastore_Filter $filter) + { + $this->filter = $filter; + } + public function getFilter() + { + return $this->filter; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setLimit($limit) + { + $this->limit = $limit; + } + public function getLimit() + { + return $this->limit; + } + public function setOffset($offset) + { + $this->offset = $offset; + } + public function getOffset() + { + return $this->offset; + } + public function setOrder($order) + { + $this->order = $order; + } + public function getOrder() + { + return $this->order; + } + public function setProjection($projection) + { + $this->projection = $projection; + } + public function getProjection() + { + return $this->projection; + } + public function setStartCursor($startCursor) + { + $this->startCursor = $startCursor; + } + public function getStartCursor() + { + return $this->startCursor; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Datastore/QueryResultBatch.php b/vendor/google/apiclient-services/src/Google/Service/Datastore/QueryResultBatch.php new file mode 100644 index 00000000..268c7737 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Datastore/QueryResultBatch.php @@ -0,0 +1,86 @@ +endCursor = $endCursor; + } + public function getEndCursor() + { + return $this->endCursor; + } + public function setEntityResultType($entityResultType) + { + $this->entityResultType = $entityResultType; + } + public function getEntityResultType() + { + return $this->entityResultType; + } + public function setEntityResults($entityResults) + { + $this->entityResults = $entityResults; + } + public function getEntityResults() + { + return $this->entityResults; + } + public function setMoreResults($moreResults) + { + $this->moreResults = $moreResults; + } + public function getMoreResults() + { + return $this->moreResults; + } + public function setSkippedCursor($skippedCursor) + { + $this->skippedCursor = $skippedCursor; + } + public function getSkippedCursor() + { + return $this->skippedCursor; + } + public function setSkippedResults($skippedResults) + { + $this->skippedResults = $skippedResults; + } + public function getSkippedResults() + { + return $this->skippedResults; + } + public function setSnapshotVersion($snapshotVersion) + { + $this->snapshotVersion = $snapshotVersion; + } + public function getSnapshotVersion() + { + return $this->snapshotVersion; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Datastore/ReadOptions.php b/vendor/google/apiclient-services/src/Google/Service/Datastore/ReadOptions.php new file mode 100644 index 00000000..7e934ec0 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Datastore/ReadOptions.php @@ -0,0 +1,39 @@ +readConsistency = $readConsistency; + } + public function getReadConsistency() + { + return $this->readConsistency; + } + public function setTransaction($transaction) + { + $this->transaction = $transaction; + } + public function getTransaction() + { + return $this->transaction; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Datastore/Resource/Projects.php b/vendor/google/apiclient-services/src/Google/Service/Datastore/Resource/Projects.php new file mode 100644 index 00000000..e786e729 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Datastore/Resource/Projects.php @@ -0,0 +1,120 @@ + + * $datastoreService = new Google_Service_Datastore(...); + * $projects = $datastoreService->projects; + * + */ +class Google_Service_Datastore_Resource_Projects extends Google_Service_Resource +{ + /** + * Allocates IDs for the given keys, which is useful for referencing an entity + * before it is inserted. (projects.allocateIds) + * + * @param string $projectId The ID of the project against which to make the + * request. + * @param Google_Service_Datastore_AllocateIdsRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Datastore_AllocateIdsResponse + */ + public function allocateIds($projectId, Google_Service_Datastore_AllocateIdsRequest $postBody, $optParams = array()) + { + $params = array('projectId' => $projectId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('allocateIds', array($params), "Google_Service_Datastore_AllocateIdsResponse"); + } + /** + * Begins a new transaction. (projects.beginTransaction) + * + * @param string $projectId The ID of the project against which to make the + * request. + * @param Google_Service_Datastore_BeginTransactionRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Datastore_BeginTransactionResponse + */ + public function beginTransaction($projectId, Google_Service_Datastore_BeginTransactionRequest $postBody, $optParams = array()) + { + $params = array('projectId' => $projectId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('beginTransaction', array($params), "Google_Service_Datastore_BeginTransactionResponse"); + } + /** + * Commits a transaction, optionally creating, deleting or modifying some + * entities. (projects.commit) + * + * @param string $projectId The ID of the project against which to make the + * request. + * @param Google_Service_Datastore_CommitRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Datastore_CommitResponse + */ + public function commit($projectId, Google_Service_Datastore_CommitRequest $postBody, $optParams = array()) + { + $params = array('projectId' => $projectId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('commit', array($params), "Google_Service_Datastore_CommitResponse"); + } + /** + * Looks up entities by key. (projects.lookup) + * + * @param string $projectId The ID of the project against which to make the + * request. + * @param Google_Service_Datastore_LookupRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Datastore_LookupResponse + */ + public function lookup($projectId, Google_Service_Datastore_LookupRequest $postBody, $optParams = array()) + { + $params = array('projectId' => $projectId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('lookup', array($params), "Google_Service_Datastore_LookupResponse"); + } + /** + * Rolls back a transaction. (projects.rollback) + * + * @param string $projectId The ID of the project against which to make the + * request. + * @param Google_Service_Datastore_RollbackRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Datastore_RollbackResponse + */ + public function rollback($projectId, Google_Service_Datastore_RollbackRequest $postBody, $optParams = array()) + { + $params = array('projectId' => $projectId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('rollback', array($params), "Google_Service_Datastore_RollbackResponse"); + } + /** + * Queries for entities. (projects.runQuery) + * + * @param string $projectId The ID of the project against which to make the + * request. + * @param Google_Service_Datastore_RunQueryRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Datastore_RunQueryResponse + */ + public function runQuery($projectId, Google_Service_Datastore_RunQueryRequest $postBody, $optParams = array()) + { + $params = array('projectId' => $projectId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('runQuery', array($params), "Google_Service_Datastore_RunQueryResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Datastore/RollbackRequest.php b/vendor/google/apiclient-services/src/Google/Service/Datastore/RollbackRequest.php new file mode 100644 index 00000000..2faa9679 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Datastore/RollbackRequest.php @@ -0,0 +1,30 @@ +transaction = $transaction; + } + public function getTransaction() + { + return $this->transaction; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Datastore/RollbackResponse.php b/vendor/google/apiclient-services/src/Google/Service/Datastore/RollbackResponse.php new file mode 100644 index 00000000..d80eb517 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Datastore/RollbackResponse.php @@ -0,0 +1,20 @@ +gqlQuery = $gqlQuery; + } + public function getGqlQuery() + { + return $this->gqlQuery; + } + public function setPartitionId(Google_Service_Datastore_PartitionId $partitionId) + { + $this->partitionId = $partitionId; + } + public function getPartitionId() + { + return $this->partitionId; + } + public function setQuery(Google_Service_Datastore_Query $query) + { + $this->query = $query; + } + public function getQuery() + { + return $this->query; + } + public function setReadOptions(Google_Service_Datastore_ReadOptions $readOptions) + { + $this->readOptions = $readOptions; + } + public function getReadOptions() + { + return $this->readOptions; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Datastore/RunQueryResponse.php b/vendor/google/apiclient-services/src/Google/Service/Datastore/RunQueryResponse.php new file mode 100644 index 00000000..201368c0 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Datastore/RunQueryResponse.php @@ -0,0 +1,41 @@ +batch = $batch; + } + public function getBatch() + { + return $this->batch; + } + public function setQuery(Google_Service_Datastore_Query $query) + { + $this->query = $query; + } + public function getQuery() + { + return $this->query; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Datastore/Value.php b/vendor/google/apiclient-services/src/Google/Service/Datastore/Value.php new file mode 100644 index 00000000..6d3c32d6 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Datastore/Value.php @@ -0,0 +1,142 @@ +arrayValue = $arrayValue; + } + public function getArrayValue() + { + return $this->arrayValue; + } + public function setBlobValue($blobValue) + { + $this->blobValue = $blobValue; + } + public function getBlobValue() + { + return $this->blobValue; + } + public function setBooleanValue($booleanValue) + { + $this->booleanValue = $booleanValue; + } + public function getBooleanValue() + { + return $this->booleanValue; + } + public function setDoubleValue($doubleValue) + { + $this->doubleValue = $doubleValue; + } + public function getDoubleValue() + { + return $this->doubleValue; + } + public function setEntityValue(Google_Service_Datastore_Entity $entityValue) + { + $this->entityValue = $entityValue; + } + public function getEntityValue() + { + return $this->entityValue; + } + public function setExcludeFromIndexes($excludeFromIndexes) + { + $this->excludeFromIndexes = $excludeFromIndexes; + } + public function getExcludeFromIndexes() + { + return $this->excludeFromIndexes; + } + public function setGeoPointValue(Google_Service_Datastore_LatLng $geoPointValue) + { + $this->geoPointValue = $geoPointValue; + } + public function getGeoPointValue() + { + return $this->geoPointValue; + } + public function setIntegerValue($integerValue) + { + $this->integerValue = $integerValue; + } + public function getIntegerValue() + { + return $this->integerValue; + } + public function setKeyValue(Google_Service_Datastore_Key $keyValue) + { + $this->keyValue = $keyValue; + } + public function getKeyValue() + { + return $this->keyValue; + } + public function setMeaning($meaning) + { + $this->meaning = $meaning; + } + public function getMeaning() + { + return $this->meaning; + } + public function setNullValue($nullValue) + { + $this->nullValue = $nullValue; + } + public function getNullValue() + { + return $this->nullValue; + } + public function setStringValue($stringValue) + { + $this->stringValue = $stringValue; + } + public function getStringValue() + { + return $this->stringValue; + } + public function setTimestampValue($timestampValue) + { + $this->timestampValue = $timestampValue; + } + public function getTimestampValue() + { + return $this->timestampValue; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/DeploymentManager.php b/vendor/google/apiclient-services/src/Google/Service/DeploymentManager.php new file mode 100644 index 00000000..fe887c23 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/DeploymentManager.php @@ -0,0 +1,488 @@ + + * Declares, configures, and deploys complex solutions on Google Cloud Platform.

+ * + *

+ * For more information about this service, see the API + * Documentation + *

+ * + * @author Google, Inc. + */ +class Google_Service_DeploymentManager extends Google_Service +{ + /** View and manage your data across Google Cloud Platform services. */ + const CLOUD_PLATFORM = + "https://www.googleapis.com/auth/cloud-platform"; + /** View your data across Google Cloud Platform services. */ + const CLOUD_PLATFORM_READ_ONLY = + "https://www.googleapis.com/auth/cloud-platform.read-only"; + /** View and manage your Google Cloud Platform management resources and deployment status information. */ + const NDEV_CLOUDMAN = + "https://www.googleapis.com/auth/ndev.cloudman"; + /** View your Google Cloud Platform management resources and deployment status information. */ + const NDEV_CLOUDMAN_READONLY = + "https://www.googleapis.com/auth/ndev.cloudman.readonly"; + + public $deployments; + public $manifests; + public $operations; + public $resources; + public $types; + + /** + * Constructs the internal representation of the DeploymentManager service. + * + * @param Google_Client $client + */ + public function __construct(Google_Client $client) + { + parent::__construct($client); + $this->rootUrl = 'https://www.googleapis.com/'; + $this->servicePath = 'deploymentmanager/v2/projects/'; + $this->version = 'v2'; + $this->serviceName = 'deploymentmanager'; + + $this->deployments = new Google_Service_DeploymentManager_Resource_Deployments( + $this, + $this->serviceName, + 'deployments', + array( + 'methods' => array( + 'cancelPreview' => array( + 'path' => '{project}/global/deployments/{deployment}/cancelPreview', + 'httpMethod' => 'POST', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'deployment' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'delete' => array( + 'path' => '{project}/global/deployments/{deployment}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'deployment' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'deletePolicy' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'get' => array( + 'path' => '{project}/global/deployments/{deployment}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'deployment' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'getIamPolicy' => array( + 'path' => '{project}/global/deployments/{resource}/getIamPolicy', + 'httpMethod' => 'GET', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'resource' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'insert' => array( + 'path' => '{project}/global/deployments', + 'httpMethod' => 'POST', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'preview' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + ), + ),'list' => array( + 'path' => '{project}/global/deployments', + 'httpMethod' => 'GET', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'filter' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'orderBy' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'patch' => array( + 'path' => '{project}/global/deployments/{deployment}', + 'httpMethod' => 'PATCH', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'deployment' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'createPolicy' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'deletePolicy' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'preview' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + ), + ),'setIamPolicy' => array( + 'path' => '{project}/global/deployments/{resource}/setIamPolicy', + 'httpMethod' => 'POST', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'resource' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'stop' => array( + 'path' => '{project}/global/deployments/{deployment}/stop', + 'httpMethod' => 'POST', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'deployment' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'testIamPermissions' => array( + 'path' => '{project}/global/deployments/{resource}/testIamPermissions', + 'httpMethod' => 'POST', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'resource' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'update' => array( + 'path' => '{project}/global/deployments/{deployment}', + 'httpMethod' => 'PUT', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'deployment' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'createPolicy' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'deletePolicy' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'preview' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + ), + ), + ) + ) + ); + $this->manifests = new Google_Service_DeploymentManager_Resource_Manifests( + $this, + $this->serviceName, + 'manifests', + array( + 'methods' => array( + 'get' => array( + 'path' => '{project}/global/deployments/{deployment}/manifests/{manifest}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'deployment' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'manifest' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => '{project}/global/deployments/{deployment}/manifests', + 'httpMethod' => 'GET', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'deployment' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'filter' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'orderBy' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + $this->operations = new Google_Service_DeploymentManager_Resource_Operations( + $this, + $this->serviceName, + 'operations', + array( + 'methods' => array( + 'get' => array( + 'path' => '{project}/global/operations/{operation}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'operation' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => '{project}/global/operations', + 'httpMethod' => 'GET', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'filter' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'orderBy' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + $this->resources = new Google_Service_DeploymentManager_Resource_Resources( + $this, + $this->serviceName, + 'resources', + array( + 'methods' => array( + 'get' => array( + 'path' => '{project}/global/deployments/{deployment}/resources/{resource}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'deployment' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'resource' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => '{project}/global/deployments/{deployment}/resources', + 'httpMethod' => 'GET', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'deployment' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'filter' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'orderBy' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + $this->types = new Google_Service_DeploymentManager_Resource_Types( + $this, + $this->serviceName, + 'types', + array( + 'methods' => array( + 'list' => array( + 'path' => '{project}/global/types', + 'httpMethod' => 'GET', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'filter' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'orderBy' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/DeploymentManager/AuditConfig.php b/vendor/google/apiclient-services/src/Google/Service/DeploymentManager/AuditConfig.php new file mode 100644 index 00000000..3dcd22fe --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/DeploymentManager/AuditConfig.php @@ -0,0 +1,50 @@ +auditLogConfigs = $auditLogConfigs; + } + public function getAuditLogConfigs() + { + return $this->auditLogConfigs; + } + public function setExemptedMembers($exemptedMembers) + { + $this->exemptedMembers = $exemptedMembers; + } + public function getExemptedMembers() + { + return $this->exemptedMembers; + } + public function setService($service) + { + $this->service = $service; + } + public function getService() + { + return $this->service; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/DeploymentManager/AuditLogConfig.php b/vendor/google/apiclient-services/src/Google/Service/DeploymentManager/AuditLogConfig.php new file mode 100644 index 00000000..7cb4e52d --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/DeploymentManager/AuditLogConfig.php @@ -0,0 +1,40 @@ +exemptedMembers = $exemptedMembers; + } + public function getExemptedMembers() + { + return $this->exemptedMembers; + } + public function setLogType($logType) + { + $this->logType = $logType; + } + public function getLogType() + { + return $this->logType; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/DeploymentManager/Binding.php b/vendor/google/apiclient-services/src/Google/Service/DeploymentManager/Binding.php new file mode 100644 index 00000000..06bd6104 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/DeploymentManager/Binding.php @@ -0,0 +1,40 @@ +members = $members; + } + public function getMembers() + { + return $this->members; + } + public function setRole($role) + { + $this->role = $role; + } + public function getRole() + { + return $this->role; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/DeploymentManager/Condition.php b/vendor/google/apiclient-services/src/Google/Service/DeploymentManager/Condition.php new file mode 100644 index 00000000..60097131 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/DeploymentManager/Condition.php @@ -0,0 +1,76 @@ +iam = $iam; + } + public function getIam() + { + return $this->iam; + } + public function setOp($op) + { + $this->op = $op; + } + public function getOp() + { + return $this->op; + } + public function setSvc($svc) + { + $this->svc = $svc; + } + public function getSvc() + { + return $this->svc; + } + public function setSys($sys) + { + $this->sys = $sys; + } + public function getSys() + { + return $this->sys; + } + public function setValue($value) + { + $this->value = $value; + } + public function getValue() + { + return $this->value; + } + public function setValues($values) + { + $this->values = $values; + } + public function getValues() + { + return $this->values; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/DeploymentManager/ConfigFile.php b/vendor/google/apiclient-services/src/Google/Service/DeploymentManager/ConfigFile.php new file mode 100644 index 00000000..8abb1a99 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/DeploymentManager/ConfigFile.php @@ -0,0 +1,30 @@ +content = $content; + } + public function getContent() + { + return $this->content; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/DeploymentManager/Deployment.php b/vendor/google/apiclient-services/src/Google/Service/DeploymentManager/Deployment.php new file mode 100644 index 00000000..065f0662 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/DeploymentManager/Deployment.php @@ -0,0 +1,125 @@ +description = $description; + } + public function getDescription() + { + return $this->description; + } + public function setFingerprint($fingerprint) + { + $this->fingerprint = $fingerprint; + } + public function getFingerprint() + { + return $this->fingerprint; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setInsertTime($insertTime) + { + $this->insertTime = $insertTime; + } + public function getInsertTime() + { + return $this->insertTime; + } + public function setLabels($labels) + { + $this->labels = $labels; + } + public function getLabels() + { + return $this->labels; + } + public function setManifest($manifest) + { + $this->manifest = $manifest; + } + public function getManifest() + { + return $this->manifest; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setOperation(Google_Service_DeploymentManager_Operation $operation) + { + $this->operation = $operation; + } + public function getOperation() + { + return $this->operation; + } + public function setSelfLink($selfLink) + { + $this->selfLink = $selfLink; + } + public function getSelfLink() + { + return $this->selfLink; + } + public function setTarget(Google_Service_DeploymentManager_TargetConfiguration $target) + { + $this->target = $target; + } + public function getTarget() + { + return $this->target; + } + public function setUpdate(Google_Service_DeploymentManager_DeploymentUpdate $update) + { + $this->update = $update; + } + public function getUpdate() + { + return $this->update; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/DeploymentManager/DeploymentLabelEntry.php b/vendor/google/apiclient-services/src/Google/Service/DeploymentManager/DeploymentLabelEntry.php new file mode 100644 index 00000000..dfefc929 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/DeploymentManager/DeploymentLabelEntry.php @@ -0,0 +1,39 @@ +key = $key; + } + public function getKey() + { + return $this->key; + } + public function setValue($value) + { + $this->value = $value; + } + public function getValue() + { + return $this->value; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/DeploymentManager/DeploymentUpdate.php b/vendor/google/apiclient-services/src/Google/Service/DeploymentManager/DeploymentUpdate.php new file mode 100644 index 00000000..99beda8f --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/DeploymentManager/DeploymentUpdate.php @@ -0,0 +1,50 @@ +description = $description; + } + public function getDescription() + { + return $this->description; + } + public function setLabels($labels) + { + $this->labels = $labels; + } + public function getLabels() + { + return $this->labels; + } + public function setManifest($manifest) + { + $this->manifest = $manifest; + } + public function getManifest() + { + return $this->manifest; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/DeploymentManager/DeploymentUpdateLabelEntry.php b/vendor/google/apiclient-services/src/Google/Service/DeploymentManager/DeploymentUpdateLabelEntry.php new file mode 100644 index 00000000..f7c160c6 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/DeploymentManager/DeploymentUpdateLabelEntry.php @@ -0,0 +1,39 @@ +key = $key; + } + public function getKey() + { + return $this->key; + } + public function setValue($value) + { + $this->value = $value; + } + public function getValue() + { + return $this->value; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/DeploymentManager/DeploymentmanagerResource.php b/vendor/google/apiclient-services/src/Google/Service/DeploymentManager/DeploymentmanagerResource.php new file mode 100644 index 00000000..6fdc0d7e --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/DeploymentManager/DeploymentmanagerResource.php @@ -0,0 +1,133 @@ +accessControl = $accessControl; + } + public function getAccessControl() + { + return $this->accessControl; + } + public function setFinalProperties($finalProperties) + { + $this->finalProperties = $finalProperties; + } + public function getFinalProperties() + { + return $this->finalProperties; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setInsertTime($insertTime) + { + $this->insertTime = $insertTime; + } + public function getInsertTime() + { + return $this->insertTime; + } + public function setManifest($manifest) + { + $this->manifest = $manifest; + } + public function getManifest() + { + return $this->manifest; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setProperties($properties) + { + $this->properties = $properties; + } + public function getProperties() + { + return $this->properties; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } + public function setUpdate(Google_Service_DeploymentManager_ResourceUpdate $update) + { + $this->update = $update; + } + public function getUpdate() + { + return $this->update; + } + public function setUpdateTime($updateTime) + { + $this->updateTime = $updateTime; + } + public function getUpdateTime() + { + return $this->updateTime; + } + public function setUrl($url) + { + $this->url = $url; + } + public function getUrl() + { + return $this->url; + } + public function setWarnings($warnings) + { + $this->warnings = $warnings; + } + public function getWarnings() + { + return $this->warnings; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/DeploymentManager/DeploymentmanagerResourceWarnings.php b/vendor/google/apiclient-services/src/Google/Service/DeploymentManager/DeploymentmanagerResourceWarnings.php new file mode 100644 index 00000000..2e5c54d2 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/DeploymentManager/DeploymentmanagerResourceWarnings.php @@ -0,0 +1,50 @@ +code = $code; + } + public function getCode() + { + return $this->code; + } + public function setData($data) + { + $this->data = $data; + } + public function getData() + { + return $this->data; + } + public function setMessage($message) + { + $this->message = $message; + } + public function getMessage() + { + return $this->message; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/DeploymentManager/DeploymentmanagerResourceWarningsData.php b/vendor/google/apiclient-services/src/Google/Service/DeploymentManager/DeploymentmanagerResourceWarningsData.php new file mode 100644 index 00000000..0ee7e71b --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/DeploymentManager/DeploymentmanagerResourceWarningsData.php @@ -0,0 +1,39 @@ +key = $key; + } + public function getKey() + { + return $this->key; + } + public function setValue($value) + { + $this->value = $value; + } + public function getValue() + { + return $this->value; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/DeploymentManager/DeploymentsCancelPreviewRequest.php b/vendor/google/apiclient-services/src/Google/Service/DeploymentManager/DeploymentsCancelPreviewRequest.php new file mode 100644 index 00000000..7e4d1e75 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/DeploymentManager/DeploymentsCancelPreviewRequest.php @@ -0,0 +1,30 @@ +fingerprint = $fingerprint; + } + public function getFingerprint() + { + return $this->fingerprint; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/DeploymentManager/DeploymentsListResponse.php b/vendor/google/apiclient-services/src/Google/Service/DeploymentManager/DeploymentsListResponse.php new file mode 100644 index 00000000..8cbd2724 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/DeploymentManager/DeploymentsListResponse.php @@ -0,0 +1,41 @@ +deployments = $deployments; + } + public function getDeployments() + { + return $this->deployments; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/DeploymentManager/DeploymentsStopRequest.php b/vendor/google/apiclient-services/src/Google/Service/DeploymentManager/DeploymentsStopRequest.php new file mode 100644 index 00000000..262c7b30 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/DeploymentManager/DeploymentsStopRequest.php @@ -0,0 +1,30 @@ +fingerprint = $fingerprint; + } + public function getFingerprint() + { + return $this->fingerprint; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/DeploymentManager/ImportFile.php b/vendor/google/apiclient-services/src/Google/Service/DeploymentManager/ImportFile.php new file mode 100644 index 00000000..ab85668f --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/DeploymentManager/ImportFile.php @@ -0,0 +1,39 @@ +content = $content; + } + public function getContent() + { + return $this->content; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/DeploymentManager/LogConfig.php b/vendor/google/apiclient-services/src/Google/Service/DeploymentManager/LogConfig.php new file mode 100644 index 00000000..3599f1ac --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/DeploymentManager/LogConfig.php @@ -0,0 +1,31 @@ +counter = $counter; + } + public function getCounter() + { + return $this->counter; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/DeploymentManager/LogConfigCounterOptions.php b/vendor/google/apiclient-services/src/Google/Service/DeploymentManager/LogConfigCounterOptions.php new file mode 100644 index 00000000..b9a9b9bb --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/DeploymentManager/LogConfigCounterOptions.php @@ -0,0 +1,39 @@ +field = $field; + } + public function getField() + { + return $this->field; + } + public function setMetric($metric) + { + $this->metric = $metric; + } + public function getMetric() + { + return $this->metric; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/DeploymentManager/Manifest.php b/vendor/google/apiclient-services/src/Google/Service/DeploymentManager/Manifest.php new file mode 100644 index 00000000..7adc20f7 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/DeploymentManager/Manifest.php @@ -0,0 +1,96 @@ +config = $config; + } + public function getConfig() + { + return $this->config; + } + public function setExpandedConfig($expandedConfig) + { + $this->expandedConfig = $expandedConfig; + } + public function getExpandedConfig() + { + return $this->expandedConfig; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setImports($imports) + { + $this->imports = $imports; + } + public function getImports() + { + return $this->imports; + } + public function setInsertTime($insertTime) + { + $this->insertTime = $insertTime; + } + public function getInsertTime() + { + return $this->insertTime; + } + public function setLayout($layout) + { + $this->layout = $layout; + } + public function getLayout() + { + return $this->layout; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setSelfLink($selfLink) + { + $this->selfLink = $selfLink; + } + public function getSelfLink() + { + return $this->selfLink; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/DeploymentManager/ManifestsListResponse.php b/vendor/google/apiclient-services/src/Google/Service/DeploymentManager/ManifestsListResponse.php new file mode 100644 index 00000000..6859ab30 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/DeploymentManager/ManifestsListResponse.php @@ -0,0 +1,41 @@ +manifests = $manifests; + } + public function getManifests() + { + return $this->manifests; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/DeploymentManager/Operation.php b/vendor/google/apiclient-services/src/Google/Service/DeploymentManager/Operation.php new file mode 100644 index 00000000..a9993c6e --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/DeploymentManager/Operation.php @@ -0,0 +1,231 @@ +clientOperationId = $clientOperationId; + } + public function getClientOperationId() + { + return $this->clientOperationId; + } + public function setCreationTimestamp($creationTimestamp) + { + $this->creationTimestamp = $creationTimestamp; + } + public function getCreationTimestamp() + { + return $this->creationTimestamp; + } + public function setDescription($description) + { + $this->description = $description; + } + public function getDescription() + { + return $this->description; + } + public function setEndTime($endTime) + { + $this->endTime = $endTime; + } + public function getEndTime() + { + return $this->endTime; + } + public function setError(Google_Service_DeploymentManager_OperationError $error) + { + $this->error = $error; + } + public function getError() + { + return $this->error; + } + public function setHttpErrorMessage($httpErrorMessage) + { + $this->httpErrorMessage = $httpErrorMessage; + } + public function getHttpErrorMessage() + { + return $this->httpErrorMessage; + } + public function setHttpErrorStatusCode($httpErrorStatusCode) + { + $this->httpErrorStatusCode = $httpErrorStatusCode; + } + public function getHttpErrorStatusCode() + { + return $this->httpErrorStatusCode; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setInsertTime($insertTime) + { + $this->insertTime = $insertTime; + } + public function getInsertTime() + { + return $this->insertTime; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setOperationType($operationType) + { + $this->operationType = $operationType; + } + public function getOperationType() + { + return $this->operationType; + } + public function setProgress($progress) + { + $this->progress = $progress; + } + public function getProgress() + { + return $this->progress; + } + public function setRegion($region) + { + $this->region = $region; + } + public function getRegion() + { + return $this->region; + } + public function setSelfLink($selfLink) + { + $this->selfLink = $selfLink; + } + public function getSelfLink() + { + return $this->selfLink; + } + public function setStartTime($startTime) + { + $this->startTime = $startTime; + } + public function getStartTime() + { + return $this->startTime; + } + public function setStatus($status) + { + $this->status = $status; + } + public function getStatus() + { + return $this->status; + } + public function setStatusMessage($statusMessage) + { + $this->statusMessage = $statusMessage; + } + public function getStatusMessage() + { + return $this->statusMessage; + } + public function setTargetId($targetId) + { + $this->targetId = $targetId; + } + public function getTargetId() + { + return $this->targetId; + } + public function setTargetLink($targetLink) + { + $this->targetLink = $targetLink; + } + public function getTargetLink() + { + return $this->targetLink; + } + public function setUser($user) + { + $this->user = $user; + } + public function getUser() + { + return $this->user; + } + public function setWarnings($warnings) + { + $this->warnings = $warnings; + } + public function getWarnings() + { + return $this->warnings; + } + public function setZone($zone) + { + $this->zone = $zone; + } + public function getZone() + { + return $this->zone; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/DeploymentManager/OperationError.php b/vendor/google/apiclient-services/src/Google/Service/DeploymentManager/OperationError.php new file mode 100644 index 00000000..7f37bf68 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/DeploymentManager/OperationError.php @@ -0,0 +1,32 @@ +errors = $errors; + } + public function getErrors() + { + return $this->errors; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/DeploymentManager/OperationErrorErrors.php b/vendor/google/apiclient-services/src/Google/Service/DeploymentManager/OperationErrorErrors.php new file mode 100644 index 00000000..544661ae --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/DeploymentManager/OperationErrorErrors.php @@ -0,0 +1,48 @@ +code = $code; + } + public function getCode() + { + return $this->code; + } + public function setLocation($location) + { + $this->location = $location; + } + public function getLocation() + { + return $this->location; + } + public function setMessage($message) + { + $this->message = $message; + } + public function getMessage() + { + return $this->message; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/DeploymentManager/OperationWarnings.php b/vendor/google/apiclient-services/src/Google/Service/DeploymentManager/OperationWarnings.php new file mode 100644 index 00000000..342aa444 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/DeploymentManager/OperationWarnings.php @@ -0,0 +1,50 @@ +code = $code; + } + public function getCode() + { + return $this->code; + } + public function setData($data) + { + $this->data = $data; + } + public function getData() + { + return $this->data; + } + public function setMessage($message) + { + $this->message = $message; + } + public function getMessage() + { + return $this->message; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/DeploymentManager/OperationWarningsData.php b/vendor/google/apiclient-services/src/Google/Service/DeploymentManager/OperationWarningsData.php new file mode 100644 index 00000000..ddf46398 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/DeploymentManager/OperationWarningsData.php @@ -0,0 +1,39 @@ +key = $key; + } + public function getKey() + { + return $this->key; + } + public function setValue($value) + { + $this->value = $value; + } + public function getValue() + { + return $this->value; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/DeploymentManager/OperationsListResponse.php b/vendor/google/apiclient-services/src/Google/Service/DeploymentManager/OperationsListResponse.php new file mode 100644 index 00000000..09f20c50 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/DeploymentManager/OperationsListResponse.php @@ -0,0 +1,41 @@ +nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setOperations($operations) + { + $this->operations = $operations; + } + public function getOperations() + { + return $this->operations; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/DeploymentManager/Policy.php b/vendor/google/apiclient-services/src/Google/Service/DeploymentManager/Policy.php new file mode 100644 index 00000000..c9ae1046 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/DeploymentManager/Policy.php @@ -0,0 +1,79 @@ +auditConfigs = $auditConfigs; + } + public function getAuditConfigs() + { + return $this->auditConfigs; + } + public function setBindings($bindings) + { + $this->bindings = $bindings; + } + public function getBindings() + { + return $this->bindings; + } + public function setEtag($etag) + { + $this->etag = $etag; + } + public function getEtag() + { + return $this->etag; + } + public function setIamOwned($iamOwned) + { + $this->iamOwned = $iamOwned; + } + public function getIamOwned() + { + return $this->iamOwned; + } + public function setRules($rules) + { + $this->rules = $rules; + } + public function getRules() + { + return $this->rules; + } + public function setVersion($version) + { + $this->version = $version; + } + public function getVersion() + { + return $this->version; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/DeploymentManager/Resource/Deployments.php b/vendor/google/apiclient-services/src/Google/Service/DeploymentManager/Resource/Deployments.php new file mode 100644 index 00000000..890bfb18 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/DeploymentManager/Resource/Deployments.php @@ -0,0 +1,279 @@ + + * $deploymentmanagerService = new Google_Service_DeploymentManager(...); + * $deployments = $deploymentmanagerService->deployments; + * + */ +class Google_Service_DeploymentManager_Resource_Deployments extends Google_Service_Resource +{ + /** + * Cancels and removes the preview currently associated with the deployment. + * (deployments.cancelPreview) + * + * @param string $project The project ID for this request. + * @param string $deployment The name of the deployment for this request. + * @param Google_Service_DeploymentManager_DeploymentsCancelPreviewRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_DeploymentManager_Operation + */ + public function cancelPreview($project, $deployment, Google_Service_DeploymentManager_DeploymentsCancelPreviewRequest $postBody, $optParams = array()) + { + $params = array('project' => $project, 'deployment' => $deployment, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('cancelPreview', array($params), "Google_Service_DeploymentManager_Operation"); + } + /** + * Deletes a deployment and all of the resources in the deployment. + * (deployments.delete) + * + * @param string $project The project ID for this request. + * @param string $deployment The name of the deployment for this request. + * @param array $optParams Optional parameters. + * + * @opt_param string deletePolicy Sets the policy to use for deleting resources. + * @return Google_Service_DeploymentManager_Operation + */ + public function delete($project, $deployment, $optParams = array()) + { + $params = array('project' => $project, 'deployment' => $deployment); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params), "Google_Service_DeploymentManager_Operation"); + } + /** + * Gets information about a specific deployment. (deployments.get) + * + * @param string $project The project ID for this request. + * @param string $deployment The name of the deployment for this request. + * @param array $optParams Optional parameters. + * @return Google_Service_DeploymentManager_Deployment + */ + public function get($project, $deployment, $optParams = array()) + { + $params = array('project' => $project, 'deployment' => $deployment); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_DeploymentManager_Deployment"); + } + /** + * Gets the access control policy for a resource. May be empty if no such policy + * or resource exists. (deployments.getIamPolicy) + * + * @param string $project Project ID for this request. + * @param string $resource Name of the resource for this request. + * @param array $optParams Optional parameters. + * @return Google_Service_DeploymentManager_Policy + */ + public function getIamPolicy($project, $resource, $optParams = array()) + { + $params = array('project' => $project, 'resource' => $resource); + $params = array_merge($params, $optParams); + return $this->call('getIamPolicy', array($params), "Google_Service_DeploymentManager_Policy"); + } + /** + * Creates a deployment and all of the resources described by the deployment + * manifest. (deployments.insert) + * + * @param string $project The project ID for this request. + * @param Google_Service_DeploymentManager_Deployment $postBody + * @param array $optParams Optional parameters. + * + * @opt_param bool preview If set to true, creates a deployment and creates + * "shell" resources but does not actually instantiate these resources. This + * allows you to preview what your deployment looks like. After previewing a + * deployment, you can deploy your resources by making a request with the + * update() method or you can use the cancelPreview() method to cancel the + * preview altogether. Note that the deployment will still exist after you + * cancel the preview and you must separately delete this deployment if you want + * to remove it. + * @return Google_Service_DeploymentManager_Operation + */ + public function insert($project, Google_Service_DeploymentManager_Deployment $postBody, $optParams = array()) + { + $params = array('project' => $project, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('insert', array($params), "Google_Service_DeploymentManager_Operation"); + } + /** + * Lists all deployments for a given project. (deployments.listDeployments) + * + * @param string $project The project ID for this request. + * @param array $optParams Optional parameters. + * + * @opt_param string filter Sets a filter expression for filtering listed + * resources, in the form filter={expression}. Your {expression} must be in the + * format: field_name comparison_string literal_string. + * + * The field_name is the name of the field you want to compare. Only atomic + * field types are supported (string, number, boolean). The comparison_string + * must be either eq (equals) or ne (not equals). The literal_string is the + * string value to filter to. The literal value must be valid for the type of + * field you are filtering by (string, number, boolean). For string fields, the + * literal value is interpreted as a regular expression using RE2 syntax. The + * literal value must match the entire field. + * + * For example, to filter for instances that do not have a name of example- + * instance, you would use filter=name ne example-instance. + * + * You can filter on nested fields. For example, you could filter on instances + * that have set the scheduling.automaticRestart field to true. Use filtering on + * nested fields to take advantage of labels to organize and search for results + * based on label values. + * + * To filter on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us- + * central1-f). Multiple expressions are treated as AND expressions, meaning + * that resources must match all expressions to pass the filters. + * @opt_param string maxResults The maximum number of results per page that + * should be returned. If the number of available results is larger than + * maxResults, Compute Engine returns a nextPageToken that can be used to get + * the next page of results in subsequent list requests. Acceptable values are 0 + * to 500, inclusive. (Default: 500) + * @opt_param string orderBy Sorts list results by a certain order. By default, + * results are returned in alphanumerical order based on the resource name. + * + * You can also sort results in descending order based on the creation timestamp + * using orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result first). + * Use this to sort resources like operations so that the newest operation is + * returned first. + * + * Currently, only sorting by name or creationTimestamp desc is supported. + * @opt_param string pageToken Specifies a page token to use. Set pageToken to + * the nextPageToken returned by a previous list request to get the next page of + * results. + * @return Google_Service_DeploymentManager_DeploymentsListResponse + */ + public function listDeployments($project, $optParams = array()) + { + $params = array('project' => $project); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_DeploymentManager_DeploymentsListResponse"); + } + /** + * Updates a deployment and all of the resources described by the deployment + * manifest. This method supports patch semantics. (deployments.patch) + * + * @param string $project The project ID for this request. + * @param string $deployment The name of the deployment for this request. + * @param Google_Service_DeploymentManager_Deployment $postBody + * @param array $optParams Optional parameters. + * + * @opt_param string createPolicy Sets the policy to use for creating new + * resources. + * @opt_param string deletePolicy Sets the policy to use for deleting resources. + * @opt_param bool preview If set to true, updates the deployment and creates + * and updates the "shell" resources but does not actually alter or instantiate + * these resources. This allows you to preview what your deployment will look + * like. You can use this intent to preview how an update would affect your + * deployment. You must provide a target.config with a configuration if this is + * set to true. After previewing a deployment, you can deploy your resources by + * making a request with the update() or you can cancelPreview() to remove the + * preview altogether. Note that the deployment will still exist after you + * cancel the preview and you must separately delete this deployment if you want + * to remove it. + * @return Google_Service_DeploymentManager_Operation + */ + public function patch($project, $deployment, Google_Service_DeploymentManager_Deployment $postBody, $optParams = array()) + { + $params = array('project' => $project, 'deployment' => $deployment, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('patch', array($params), "Google_Service_DeploymentManager_Operation"); + } + /** + * Sets the access control policy on the specified resource. Replaces any + * existing policy. (deployments.setIamPolicy) + * + * @param string $project Project ID for this request. + * @param string $resource Name of the resource for this request. + * @param Google_Service_DeploymentManager_Policy $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_DeploymentManager_Policy + */ + public function setIamPolicy($project, $resource, Google_Service_DeploymentManager_Policy $postBody, $optParams = array()) + { + $params = array('project' => $project, 'resource' => $resource, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('setIamPolicy', array($params), "Google_Service_DeploymentManager_Policy"); + } + /** + * Stops an ongoing operation. This does not roll back any work that has already + * been completed, but prevents any new work from being started. + * (deployments.stop) + * + * @param string $project The project ID for this request. + * @param string $deployment The name of the deployment for this request. + * @param Google_Service_DeploymentManager_DeploymentsStopRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_DeploymentManager_Operation + */ + public function stop($project, $deployment, Google_Service_DeploymentManager_DeploymentsStopRequest $postBody, $optParams = array()) + { + $params = array('project' => $project, 'deployment' => $deployment, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('stop', array($params), "Google_Service_DeploymentManager_Operation"); + } + /** + * Returns permissions that a caller has on the specified resource. + * (deployments.testIamPermissions) + * + * @param string $project Project ID for this request. + * @param string $resource Name of the resource for this request. + * @param Google_Service_DeploymentManager_TestPermissionsRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_DeploymentManager_TestPermissionsResponse + */ + public function testIamPermissions($project, $resource, Google_Service_DeploymentManager_TestPermissionsRequest $postBody, $optParams = array()) + { + $params = array('project' => $project, 'resource' => $resource, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('testIamPermissions', array($params), "Google_Service_DeploymentManager_TestPermissionsResponse"); + } + /** + * Updates a deployment and all of the resources described by the deployment + * manifest. (deployments.update) + * + * @param string $project The project ID for this request. + * @param string $deployment The name of the deployment for this request. + * @param Google_Service_DeploymentManager_Deployment $postBody + * @param array $optParams Optional parameters. + * + * @opt_param string createPolicy Sets the policy to use for creating new + * resources. + * @opt_param string deletePolicy Sets the policy to use for deleting resources. + * @opt_param bool preview If set to true, updates the deployment and creates + * and updates the "shell" resources but does not actually alter or instantiate + * these resources. This allows you to preview what your deployment will look + * like. You can use this intent to preview how an update would affect your + * deployment. You must provide a target.config with a configuration if this is + * set to true. After previewing a deployment, you can deploy your resources by + * making a request with the update() or you can cancelPreview() to remove the + * preview altogether. Note that the deployment will still exist after you + * cancel the preview and you must separately delete this deployment if you want + * to remove it. + * @return Google_Service_DeploymentManager_Operation + */ + public function update($project, $deployment, Google_Service_DeploymentManager_Deployment $postBody, $optParams = array()) + { + $params = array('project' => $project, 'deployment' => $deployment, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('update', array($params), "Google_Service_DeploymentManager_Operation"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/DeploymentManager/Resource/Manifests.php b/vendor/google/apiclient-services/src/Google/Service/DeploymentManager/Resource/Manifests.php new file mode 100644 index 00000000..866783bb --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/DeploymentManager/Resource/Manifests.php @@ -0,0 +1,100 @@ + + * $deploymentmanagerService = new Google_Service_DeploymentManager(...); + * $manifests = $deploymentmanagerService->manifests; + * + */ +class Google_Service_DeploymentManager_Resource_Manifests extends Google_Service_Resource +{ + /** + * Gets information about a specific manifest. (manifests.get) + * + * @param string $project The project ID for this request. + * @param string $deployment The name of the deployment for this request. + * @param string $manifest The name of the manifest for this request. + * @param array $optParams Optional parameters. + * @return Google_Service_DeploymentManager_Manifest + */ + public function get($project, $deployment, $manifest, $optParams = array()) + { + $params = array('project' => $project, 'deployment' => $deployment, 'manifest' => $manifest); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_DeploymentManager_Manifest"); + } + /** + * Lists all manifests for a given deployment. (manifests.listManifests) + * + * @param string $project The project ID for this request. + * @param string $deployment The name of the deployment for this request. + * @param array $optParams Optional parameters. + * + * @opt_param string filter Sets a filter expression for filtering listed + * resources, in the form filter={expression}. Your {expression} must be in the + * format: field_name comparison_string literal_string. + * + * The field_name is the name of the field you want to compare. Only atomic + * field types are supported (string, number, boolean). The comparison_string + * must be either eq (equals) or ne (not equals). The literal_string is the + * string value to filter to. The literal value must be valid for the type of + * field you are filtering by (string, number, boolean). For string fields, the + * literal value is interpreted as a regular expression using RE2 syntax. The + * literal value must match the entire field. + * + * For example, to filter for instances that do not have a name of example- + * instance, you would use filter=name ne example-instance. + * + * You can filter on nested fields. For example, you could filter on instances + * that have set the scheduling.automaticRestart field to true. Use filtering on + * nested fields to take advantage of labels to organize and search for results + * based on label values. + * + * To filter on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us- + * central1-f). Multiple expressions are treated as AND expressions, meaning + * that resources must match all expressions to pass the filters. + * @opt_param string maxResults The maximum number of results per page that + * should be returned. If the number of available results is larger than + * maxResults, Compute Engine returns a nextPageToken that can be used to get + * the next page of results in subsequent list requests. Acceptable values are 0 + * to 500, inclusive. (Default: 500) + * @opt_param string orderBy Sorts list results by a certain order. By default, + * results are returned in alphanumerical order based on the resource name. + * + * You can also sort results in descending order based on the creation timestamp + * using orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result first). + * Use this to sort resources like operations so that the newest operation is + * returned first. + * + * Currently, only sorting by name or creationTimestamp desc is supported. + * @opt_param string pageToken Specifies a page token to use. Set pageToken to + * the nextPageToken returned by a previous list request to get the next page of + * results. + * @return Google_Service_DeploymentManager_ManifestsListResponse + */ + public function listManifests($project, $deployment, $optParams = array()) + { + $params = array('project' => $project, 'deployment' => $deployment); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_DeploymentManager_ManifestsListResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/DeploymentManager/Resource/Operations.php b/vendor/google/apiclient-services/src/Google/Service/DeploymentManager/Resource/Operations.php new file mode 100644 index 00000000..937b87f4 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/DeploymentManager/Resource/Operations.php @@ -0,0 +1,98 @@ + + * $deploymentmanagerService = new Google_Service_DeploymentManager(...); + * $operations = $deploymentmanagerService->operations; + * + */ +class Google_Service_DeploymentManager_Resource_Operations extends Google_Service_Resource +{ + /** + * Gets information about a specific operation. (operations.get) + * + * @param string $project The project ID for this request. + * @param string $operation The name of the operation for this request. + * @param array $optParams Optional parameters. + * @return Google_Service_DeploymentManager_Operation + */ + public function get($project, $operation, $optParams = array()) + { + $params = array('project' => $project, 'operation' => $operation); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_DeploymentManager_Operation"); + } + /** + * Lists all operations for a project. (operations.listOperations) + * + * @param string $project The project ID for this request. + * @param array $optParams Optional parameters. + * + * @opt_param string filter Sets a filter expression for filtering listed + * resources, in the form filter={expression}. Your {expression} must be in the + * format: field_name comparison_string literal_string. + * + * The field_name is the name of the field you want to compare. Only atomic + * field types are supported (string, number, boolean). The comparison_string + * must be either eq (equals) or ne (not equals). The literal_string is the + * string value to filter to. The literal value must be valid for the type of + * field you are filtering by (string, number, boolean). For string fields, the + * literal value is interpreted as a regular expression using RE2 syntax. The + * literal value must match the entire field. + * + * For example, to filter for instances that do not have a name of example- + * instance, you would use filter=name ne example-instance. + * + * You can filter on nested fields. For example, you could filter on instances + * that have set the scheduling.automaticRestart field to true. Use filtering on + * nested fields to take advantage of labels to organize and search for results + * based on label values. + * + * To filter on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us- + * central1-f). Multiple expressions are treated as AND expressions, meaning + * that resources must match all expressions to pass the filters. + * @opt_param string maxResults The maximum number of results per page that + * should be returned. If the number of available results is larger than + * maxResults, Compute Engine returns a nextPageToken that can be used to get + * the next page of results in subsequent list requests. Acceptable values are 0 + * to 500, inclusive. (Default: 500) + * @opt_param string orderBy Sorts list results by a certain order. By default, + * results are returned in alphanumerical order based on the resource name. + * + * You can also sort results in descending order based on the creation timestamp + * using orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result first). + * Use this to sort resources like operations so that the newest operation is + * returned first. + * + * Currently, only sorting by name or creationTimestamp desc is supported. + * @opt_param string pageToken Specifies a page token to use. Set pageToken to + * the nextPageToken returned by a previous list request to get the next page of + * results. + * @return Google_Service_DeploymentManager_OperationsListResponse + */ + public function listOperations($project, $optParams = array()) + { + $params = array('project' => $project); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_DeploymentManager_OperationsListResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/DeploymentManager/Resource/Resources.php b/vendor/google/apiclient-services/src/Google/Service/DeploymentManager/Resource/Resources.php new file mode 100644 index 00000000..ed154b2a --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/DeploymentManager/Resource/Resources.php @@ -0,0 +1,100 @@ + + * $deploymentmanagerService = new Google_Service_DeploymentManager(...); + * $resources = $deploymentmanagerService->resources; + * + */ +class Google_Service_DeploymentManager_Resource_Resources extends Google_Service_Resource +{ + /** + * Gets information about a single resource. (resources.get) + * + * @param string $project The project ID for this request. + * @param string $deployment The name of the deployment for this request. + * @param string $resource The name of the resource for this request. + * @param array $optParams Optional parameters. + * @return Google_Service_DeploymentManager_DeploymentmanagerResource + */ + public function get($project, $deployment, $resource, $optParams = array()) + { + $params = array('project' => $project, 'deployment' => $deployment, 'resource' => $resource); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_DeploymentManager_DeploymentmanagerResource"); + } + /** + * Lists all resources in a given deployment. (resources.listResources) + * + * @param string $project The project ID for this request. + * @param string $deployment The name of the deployment for this request. + * @param array $optParams Optional parameters. + * + * @opt_param string filter Sets a filter expression for filtering listed + * resources, in the form filter={expression}. Your {expression} must be in the + * format: field_name comparison_string literal_string. + * + * The field_name is the name of the field you want to compare. Only atomic + * field types are supported (string, number, boolean). The comparison_string + * must be either eq (equals) or ne (not equals). The literal_string is the + * string value to filter to. The literal value must be valid for the type of + * field you are filtering by (string, number, boolean). For string fields, the + * literal value is interpreted as a regular expression using RE2 syntax. The + * literal value must match the entire field. + * + * For example, to filter for instances that do not have a name of example- + * instance, you would use filter=name ne example-instance. + * + * You can filter on nested fields. For example, you could filter on instances + * that have set the scheduling.automaticRestart field to true. Use filtering on + * nested fields to take advantage of labels to organize and search for results + * based on label values. + * + * To filter on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us- + * central1-f). Multiple expressions are treated as AND expressions, meaning + * that resources must match all expressions to pass the filters. + * @opt_param string maxResults The maximum number of results per page that + * should be returned. If the number of available results is larger than + * maxResults, Compute Engine returns a nextPageToken that can be used to get + * the next page of results in subsequent list requests. Acceptable values are 0 + * to 500, inclusive. (Default: 500) + * @opt_param string orderBy Sorts list results by a certain order. By default, + * results are returned in alphanumerical order based on the resource name. + * + * You can also sort results in descending order based on the creation timestamp + * using orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result first). + * Use this to sort resources like operations so that the newest operation is + * returned first. + * + * Currently, only sorting by name or creationTimestamp desc is supported. + * @opt_param string pageToken Specifies a page token to use. Set pageToken to + * the nextPageToken returned by a previous list request to get the next page of + * results. + * @return Google_Service_DeploymentManager_ResourcesListResponse + */ + public function listResources($project, $deployment, $optParams = array()) + { + $params = array('project' => $project, 'deployment' => $deployment); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_DeploymentManager_ResourcesListResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/DeploymentManager/Resource/Types.php b/vendor/google/apiclient-services/src/Google/Service/DeploymentManager/Resource/Types.php new file mode 100644 index 00000000..290fd50e --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/DeploymentManager/Resource/Types.php @@ -0,0 +1,84 @@ + + * $deploymentmanagerService = new Google_Service_DeploymentManager(...); + * $types = $deploymentmanagerService->types; + * + */ +class Google_Service_DeploymentManager_Resource_Types extends Google_Service_Resource +{ + /** + * Lists all resource types for Deployment Manager. (types.listTypes) + * + * @param string $project The project ID for this request. + * @param array $optParams Optional parameters. + * + * @opt_param string filter Sets a filter expression for filtering listed + * resources, in the form filter={expression}. Your {expression} must be in the + * format: field_name comparison_string literal_string. + * + * The field_name is the name of the field you want to compare. Only atomic + * field types are supported (string, number, boolean). The comparison_string + * must be either eq (equals) or ne (not equals). The literal_string is the + * string value to filter to. The literal value must be valid for the type of + * field you are filtering by (string, number, boolean). For string fields, the + * literal value is interpreted as a regular expression using RE2 syntax. The + * literal value must match the entire field. + * + * For example, to filter for instances that do not have a name of example- + * instance, you would use filter=name ne example-instance. + * + * You can filter on nested fields. For example, you could filter on instances + * that have set the scheduling.automaticRestart field to true. Use filtering on + * nested fields to take advantage of labels to organize and search for results + * based on label values. + * + * To filter on multiple expressions, provide each separate expression within + * parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us- + * central1-f). Multiple expressions are treated as AND expressions, meaning + * that resources must match all expressions to pass the filters. + * @opt_param string maxResults The maximum number of results per page that + * should be returned. If the number of available results is larger than + * maxResults, Compute Engine returns a nextPageToken that can be used to get + * the next page of results in subsequent list requests. Acceptable values are 0 + * to 500, inclusive. (Default: 500) + * @opt_param string orderBy Sorts list results by a certain order. By default, + * results are returned in alphanumerical order based on the resource name. + * + * You can also sort results in descending order based on the creation timestamp + * using orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result first). + * Use this to sort resources like operations so that the newest operation is + * returned first. + * + * Currently, only sorting by name or creationTimestamp desc is supported. + * @opt_param string pageToken Specifies a page token to use. Set pageToken to + * the nextPageToken returned by a previous list request to get the next page of + * results. + * @return Google_Service_DeploymentManager_TypesListResponse + */ + public function listTypes($project, $optParams = array()) + { + $params = array('project' => $project); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_DeploymentManager_TypesListResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/DeploymentManager/ResourceAccessControl.php b/vendor/google/apiclient-services/src/Google/Service/DeploymentManager/ResourceAccessControl.php new file mode 100644 index 00000000..33a43bbf --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/DeploymentManager/ResourceAccessControl.php @@ -0,0 +1,30 @@ +gcpIamPolicy = $gcpIamPolicy; + } + public function getGcpIamPolicy() + { + return $this->gcpIamPolicy; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/DeploymentManager/ResourceUpdate.php b/vendor/google/apiclient-services/src/Google/Service/DeploymentManager/ResourceUpdate.php new file mode 100644 index 00000000..5191d8f0 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/DeploymentManager/ResourceUpdate.php @@ -0,0 +1,97 @@ +accessControl = $accessControl; + } + public function getAccessControl() + { + return $this->accessControl; + } + public function setError(Google_Service_DeploymentManager_ResourceUpdateError $error) + { + $this->error = $error; + } + public function getError() + { + return $this->error; + } + public function setFinalProperties($finalProperties) + { + $this->finalProperties = $finalProperties; + } + public function getFinalProperties() + { + return $this->finalProperties; + } + public function setIntent($intent) + { + $this->intent = $intent; + } + public function getIntent() + { + return $this->intent; + } + public function setManifest($manifest) + { + $this->manifest = $manifest; + } + public function getManifest() + { + return $this->manifest; + } + public function setProperties($properties) + { + $this->properties = $properties; + } + public function getProperties() + { + return $this->properties; + } + public function setState($state) + { + $this->state = $state; + } + public function getState() + { + return $this->state; + } + public function setWarnings($warnings) + { + $this->warnings = $warnings; + } + public function getWarnings() + { + return $this->warnings; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/DeploymentManager/ResourceUpdateError.php b/vendor/google/apiclient-services/src/Google/Service/DeploymentManager/ResourceUpdateError.php new file mode 100644 index 00000000..0d2afdc8 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/DeploymentManager/ResourceUpdateError.php @@ -0,0 +1,32 @@ +errors = $errors; + } + public function getErrors() + { + return $this->errors; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/DeploymentManager/ResourceUpdateErrorErrors.php b/vendor/google/apiclient-services/src/Google/Service/DeploymentManager/ResourceUpdateErrorErrors.php new file mode 100644 index 00000000..6fc49050 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/DeploymentManager/ResourceUpdateErrorErrors.php @@ -0,0 +1,48 @@ +code = $code; + } + public function getCode() + { + return $this->code; + } + public function setLocation($location) + { + $this->location = $location; + } + public function getLocation() + { + return $this->location; + } + public function setMessage($message) + { + $this->message = $message; + } + public function getMessage() + { + return $this->message; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/DeploymentManager/ResourceUpdateWarnings.php b/vendor/google/apiclient-services/src/Google/Service/DeploymentManager/ResourceUpdateWarnings.php new file mode 100644 index 00000000..39f3f579 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/DeploymentManager/ResourceUpdateWarnings.php @@ -0,0 +1,50 @@ +code = $code; + } + public function getCode() + { + return $this->code; + } + public function setData($data) + { + $this->data = $data; + } + public function getData() + { + return $this->data; + } + public function setMessage($message) + { + $this->message = $message; + } + public function getMessage() + { + return $this->message; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/DeploymentManager/ResourceUpdateWarningsData.php b/vendor/google/apiclient-services/src/Google/Service/DeploymentManager/ResourceUpdateWarningsData.php new file mode 100644 index 00000000..f5f43c48 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/DeploymentManager/ResourceUpdateWarningsData.php @@ -0,0 +1,39 @@ +key = $key; + } + public function getKey() + { + return $this->key; + } + public function setValue($value) + { + $this->value = $value; + } + public function getValue() + { + return $this->value; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/DeploymentManager/ResourcesListResponse.php b/vendor/google/apiclient-services/src/Google/Service/DeploymentManager/ResourcesListResponse.php new file mode 100644 index 00000000..ec94bf3c --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/DeploymentManager/ResourcesListResponse.php @@ -0,0 +1,41 @@ +nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setResources($resources) + { + $this->resources = $resources; + } + public function getResources() + { + return $this->resources; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/DeploymentManager/Rule.php b/vendor/google/apiclient-services/src/Google/Service/DeploymentManager/Rule.php new file mode 100644 index 00000000..b5794ae0 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/DeploymentManager/Rule.php @@ -0,0 +1,87 @@ +action = $action; + } + public function getAction() + { + return $this->action; + } + public function setConditions($conditions) + { + $this->conditions = $conditions; + } + public function getConditions() + { + return $this->conditions; + } + public function setDescription($description) + { + $this->description = $description; + } + public function getDescription() + { + return $this->description; + } + public function setIns($ins) + { + $this->ins = $ins; + } + public function getIns() + { + return $this->ins; + } + public function setLogConfigs($logConfigs) + { + $this->logConfigs = $logConfigs; + } + public function getLogConfigs() + { + return $this->logConfigs; + } + public function setNotIns($notIns) + { + $this->notIns = $notIns; + } + public function getNotIns() + { + return $this->notIns; + } + public function setPermissions($permissions) + { + $this->permissions = $permissions; + } + public function getPermissions() + { + return $this->permissions; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/DeploymentManager/TargetConfiguration.php b/vendor/google/apiclient-services/src/Google/Service/DeploymentManager/TargetConfiguration.php new file mode 100644 index 00000000..89a758a7 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/DeploymentManager/TargetConfiguration.php @@ -0,0 +1,42 @@ +config = $config; + } + public function getConfig() + { + return $this->config; + } + public function setImports($imports) + { + $this->imports = $imports; + } + public function getImports() + { + return $this->imports; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/DeploymentManager/TestPermissionsRequest.php b/vendor/google/apiclient-services/src/Google/Service/DeploymentManager/TestPermissionsRequest.php new file mode 100644 index 00000000..27d0c28b --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/DeploymentManager/TestPermissionsRequest.php @@ -0,0 +1,31 @@ +permissions = $permissions; + } + public function getPermissions() + { + return $this->permissions; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/DeploymentManager/TestPermissionsResponse.php b/vendor/google/apiclient-services/src/Google/Service/DeploymentManager/TestPermissionsResponse.php new file mode 100644 index 00000000..c3a1ab70 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/DeploymentManager/TestPermissionsResponse.php @@ -0,0 +1,31 @@ +permissions = $permissions; + } + public function getPermissions() + { + return $this->permissions; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/DeploymentManager/Type.php b/vendor/google/apiclient-services/src/Google/Service/DeploymentManager/Type.php new file mode 100644 index 00000000..b4239c73 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/DeploymentManager/Type.php @@ -0,0 +1,67 @@ +id = $id; + } + public function getId() + { + return $this->id; + } + public function setInsertTime($insertTime) + { + $this->insertTime = $insertTime; + } + public function getInsertTime() + { + return $this->insertTime; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setOperation(Google_Service_DeploymentManager_Operation $operation) + { + $this->operation = $operation; + } + public function getOperation() + { + return $this->operation; + } + public function setSelfLink($selfLink) + { + $this->selfLink = $selfLink; + } + public function getSelfLink() + { + return $this->selfLink; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/DeploymentManager/TypesListResponse.php b/vendor/google/apiclient-services/src/Google/Service/DeploymentManager/TypesListResponse.php new file mode 100644 index 00000000..180b0536 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/DeploymentManager/TypesListResponse.php @@ -0,0 +1,41 @@ +nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setTypes($types) + { + $this->types = $types; + } + public function getTypes() + { + return $this->types; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting.php new file mode 100644 index 00000000..5538348b --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting.php @@ -0,0 +1,4816 @@ + + * Manages your DoubleClick Campaign Manager ad campaigns and reports.

+ * + *

+ * For more information about this service, see the API + * Documentation + *

+ * + * @author Google, Inc. + */ +class Google_Service_Dfareporting extends Google_Service +{ + /** Manage DoubleClick Digital Marketing conversions. */ + const DDMCONVERSIONS = + "https://www.googleapis.com/auth/ddmconversions"; + /** View and manage DoubleClick for Advertisers reports. */ + const DFAREPORTING = + "https://www.googleapis.com/auth/dfareporting"; + /** View and manage your DoubleClick Campaign Manager's (DCM) display ad campaigns. */ + const DFATRAFFICKING = + "https://www.googleapis.com/auth/dfatrafficking"; + + public $accountActiveAdSummaries; + public $accountPermissionGroups; + public $accountPermissions; + public $accountUserProfiles; + public $accounts; + public $ads; + public $advertiserGroups; + public $advertisers; + public $browsers; + public $campaignCreativeAssociations; + public $campaigns; + public $changeLogs; + public $cities; + public $connectionTypes; + public $contentCategories; + public $conversions; + public $countries; + public $creativeAssets; + public $creativeFieldValues; + public $creativeFields; + public $creativeGroups; + public $creatives; + public $dimensionValues; + public $directorySiteContacts; + public $directorySites; + public $dynamicTargetingKeys; + public $eventTags; + public $files; + public $floodlightActivities; + public $floodlightActivityGroups; + public $floodlightConfigurations; + public $inventoryItems; + public $landingPages; + public $languages; + public $metros; + public $mobileCarriers; + public $operatingSystemVersions; + public $operatingSystems; + public $orderDocuments; + public $orders; + public $placementGroups; + public $placementStrategies; + public $placements; + public $platformTypes; + public $postalCodes; + public $projects; + public $regions; + public $remarketingListShares; + public $remarketingLists; + public $reports; + public $reports_compatibleFields; + public $reports_files; + public $sites; + public $sizes; + public $subaccounts; + public $targetableRemarketingLists; + public $targetingTemplates; + public $userProfiles; + public $userRolePermissionGroups; + public $userRolePermissions; + public $userRoles; + public $videoFormats; + + /** + * Constructs the internal representation of the Dfareporting service. + * + * @param Google_Client $client + */ + public function __construct(Google_Client $client) + { + parent::__construct($client); + $this->rootUrl = 'https://www.googleapis.com/'; + $this->servicePath = 'dfareporting/v2.7/'; + $this->version = 'v2.7'; + $this->serviceName = 'dfareporting'; + + $this->accountActiveAdSummaries = new Google_Service_Dfareporting_Resource_AccountActiveAdSummaries( + $this, + $this->serviceName, + 'accountActiveAdSummaries', + array( + 'methods' => array( + 'get' => array( + 'path' => 'userprofiles/{profileId}/accountActiveAdSummaries/{summaryAccountId}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'profileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'summaryAccountId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->accountPermissionGroups = new Google_Service_Dfareporting_Resource_AccountPermissionGroups( + $this, + $this->serviceName, + 'accountPermissionGroups', + array( + 'methods' => array( + 'get' => array( + 'path' => 'userprofiles/{profileId}/accountPermissionGroups/{id}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'profileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'id' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'userprofiles/{profileId}/accountPermissionGroups', + 'httpMethod' => 'GET', + 'parameters' => array( + 'profileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->accountPermissions = new Google_Service_Dfareporting_Resource_AccountPermissions( + $this, + $this->serviceName, + 'accountPermissions', + array( + 'methods' => array( + 'get' => array( + 'path' => 'userprofiles/{profileId}/accountPermissions/{id}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'profileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'id' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'userprofiles/{profileId}/accountPermissions', + 'httpMethod' => 'GET', + 'parameters' => array( + 'profileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->accountUserProfiles = new Google_Service_Dfareporting_Resource_AccountUserProfiles( + $this, + $this->serviceName, + 'accountUserProfiles', + array( + 'methods' => array( + 'get' => array( + 'path' => 'userprofiles/{profileId}/accountUserProfiles/{id}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'profileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'id' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'insert' => array( + 'path' => 'userprofiles/{profileId}/accountUserProfiles', + 'httpMethod' => 'POST', + 'parameters' => array( + 'profileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'userprofiles/{profileId}/accountUserProfiles', + 'httpMethod' => 'GET', + 'parameters' => array( + 'profileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'active' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + 'ids' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'searchString' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'sortField' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'sortOrder' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'subaccountId' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'userRoleId' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'patch' => array( + 'path' => 'userprofiles/{profileId}/accountUserProfiles', + 'httpMethod' => 'PATCH', + 'parameters' => array( + 'profileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'id' => array( + 'location' => 'query', + 'type' => 'string', + 'required' => true, + ), + ), + ),'update' => array( + 'path' => 'userprofiles/{profileId}/accountUserProfiles', + 'httpMethod' => 'PUT', + 'parameters' => array( + 'profileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->accounts = new Google_Service_Dfareporting_Resource_Accounts( + $this, + $this->serviceName, + 'accounts', + array( + 'methods' => array( + 'get' => array( + 'path' => 'userprofiles/{profileId}/accounts/{id}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'profileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'id' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'userprofiles/{profileId}/accounts', + 'httpMethod' => 'GET', + 'parameters' => array( + 'profileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'active' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + 'ids' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'searchString' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'sortField' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'sortOrder' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'patch' => array( + 'path' => 'userprofiles/{profileId}/accounts', + 'httpMethod' => 'PATCH', + 'parameters' => array( + 'profileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'id' => array( + 'location' => 'query', + 'type' => 'string', + 'required' => true, + ), + ), + ),'update' => array( + 'path' => 'userprofiles/{profileId}/accounts', + 'httpMethod' => 'PUT', + 'parameters' => array( + 'profileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->ads = new Google_Service_Dfareporting_Resource_Ads( + $this, + $this->serviceName, + 'ads', + array( + 'methods' => array( + 'get' => array( + 'path' => 'userprofiles/{profileId}/ads/{id}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'profileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'id' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'insert' => array( + 'path' => 'userprofiles/{profileId}/ads', + 'httpMethod' => 'POST', + 'parameters' => array( + 'profileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'userprofiles/{profileId}/ads', + 'httpMethod' => 'GET', + 'parameters' => array( + 'profileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'active' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + 'advertiserId' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'archived' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + 'audienceSegmentIds' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + ), + 'campaignIds' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + ), + 'compatibility' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'creativeIds' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + ), + 'creativeOptimizationConfigurationIds' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + ), + 'dynamicClickTracker' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + 'ids' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + ), + 'landingPageIds' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'overriddenEventTagId' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'placementIds' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + ), + 'remarketingListIds' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + ), + 'searchString' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'sizeIds' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + ), + 'sortField' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'sortOrder' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'sslCompliant' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + 'sslRequired' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + 'type' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + ), + ), + ),'patch' => array( + 'path' => 'userprofiles/{profileId}/ads', + 'httpMethod' => 'PATCH', + 'parameters' => array( + 'profileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'id' => array( + 'location' => 'query', + 'type' => 'string', + 'required' => true, + ), + ), + ),'update' => array( + 'path' => 'userprofiles/{profileId}/ads', + 'httpMethod' => 'PUT', + 'parameters' => array( + 'profileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->advertiserGroups = new Google_Service_Dfareporting_Resource_AdvertiserGroups( + $this, + $this->serviceName, + 'advertiserGroups', + array( + 'methods' => array( + 'delete' => array( + 'path' => 'userprofiles/{profileId}/advertiserGroups/{id}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'profileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'id' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'get' => array( + 'path' => 'userprofiles/{profileId}/advertiserGroups/{id}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'profileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'id' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'insert' => array( + 'path' => 'userprofiles/{profileId}/advertiserGroups', + 'httpMethod' => 'POST', + 'parameters' => array( + 'profileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'userprofiles/{profileId}/advertiserGroups', + 'httpMethod' => 'GET', + 'parameters' => array( + 'profileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'ids' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'searchString' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'sortField' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'sortOrder' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'patch' => array( + 'path' => 'userprofiles/{profileId}/advertiserGroups', + 'httpMethod' => 'PATCH', + 'parameters' => array( + 'profileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'id' => array( + 'location' => 'query', + 'type' => 'string', + 'required' => true, + ), + ), + ),'update' => array( + 'path' => 'userprofiles/{profileId}/advertiserGroups', + 'httpMethod' => 'PUT', + 'parameters' => array( + 'profileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->advertisers = new Google_Service_Dfareporting_Resource_Advertisers( + $this, + $this->serviceName, + 'advertisers', + array( + 'methods' => array( + 'get' => array( + 'path' => 'userprofiles/{profileId}/advertisers/{id}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'profileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'id' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'insert' => array( + 'path' => 'userprofiles/{profileId}/advertisers', + 'httpMethod' => 'POST', + 'parameters' => array( + 'profileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'userprofiles/{profileId}/advertisers', + 'httpMethod' => 'GET', + 'parameters' => array( + 'profileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'advertiserGroupIds' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + ), + 'floodlightConfigurationIds' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + ), + 'ids' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + ), + 'includeAdvertisersWithoutGroupsOnly' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'onlyParent' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'searchString' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'sortField' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'sortOrder' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'status' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'subaccountId' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'patch' => array( + 'path' => 'userprofiles/{profileId}/advertisers', + 'httpMethod' => 'PATCH', + 'parameters' => array( + 'profileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'id' => array( + 'location' => 'query', + 'type' => 'string', + 'required' => true, + ), + ), + ),'update' => array( + 'path' => 'userprofiles/{profileId}/advertisers', + 'httpMethod' => 'PUT', + 'parameters' => array( + 'profileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->browsers = new Google_Service_Dfareporting_Resource_Browsers( + $this, + $this->serviceName, + 'browsers', + array( + 'methods' => array( + 'list' => array( + 'path' => 'userprofiles/{profileId}/browsers', + 'httpMethod' => 'GET', + 'parameters' => array( + 'profileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->campaignCreativeAssociations = new Google_Service_Dfareporting_Resource_CampaignCreativeAssociations( + $this, + $this->serviceName, + 'campaignCreativeAssociations', + array( + 'methods' => array( + 'insert' => array( + 'path' => 'userprofiles/{profileId}/campaigns/{campaignId}/campaignCreativeAssociations', + 'httpMethod' => 'POST', + 'parameters' => array( + 'profileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'campaignId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'userprofiles/{profileId}/campaigns/{campaignId}/campaignCreativeAssociations', + 'httpMethod' => 'GET', + 'parameters' => array( + 'profileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'campaignId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'sortOrder' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + $this->campaigns = new Google_Service_Dfareporting_Resource_Campaigns( + $this, + $this->serviceName, + 'campaigns', + array( + 'methods' => array( + 'get' => array( + 'path' => 'userprofiles/{profileId}/campaigns/{id}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'profileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'id' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'insert' => array( + 'path' => 'userprofiles/{profileId}/campaigns', + 'httpMethod' => 'POST', + 'parameters' => array( + 'profileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'defaultLandingPageName' => array( + 'location' => 'query', + 'type' => 'string', + 'required' => true, + ), + 'defaultLandingPageUrl' => array( + 'location' => 'query', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'userprofiles/{profileId}/campaigns', + 'httpMethod' => 'GET', + 'parameters' => array( + 'profileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'advertiserGroupIds' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + ), + 'advertiserIds' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + ), + 'archived' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + 'atLeastOneOptimizationActivity' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + 'excludedIds' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + ), + 'ids' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'overriddenEventTagId' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'searchString' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'sortField' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'sortOrder' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'subaccountId' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'patch' => array( + 'path' => 'userprofiles/{profileId}/campaigns', + 'httpMethod' => 'PATCH', + 'parameters' => array( + 'profileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'id' => array( + 'location' => 'query', + 'type' => 'string', + 'required' => true, + ), + ), + ),'update' => array( + 'path' => 'userprofiles/{profileId}/campaigns', + 'httpMethod' => 'PUT', + 'parameters' => array( + 'profileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->changeLogs = new Google_Service_Dfareporting_Resource_ChangeLogs( + $this, + $this->serviceName, + 'changeLogs', + array( + 'methods' => array( + 'get' => array( + 'path' => 'userprofiles/{profileId}/changeLogs/{id}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'profileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'id' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'userprofiles/{profileId}/changeLogs', + 'httpMethod' => 'GET', + 'parameters' => array( + 'profileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'action' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'ids' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + ), + 'maxChangeTime' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'minChangeTime' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'objectIds' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + ), + 'objectType' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'searchString' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'userProfileIds' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + ), + ), + ), + ) + ) + ); + $this->cities = new Google_Service_Dfareporting_Resource_Cities( + $this, + $this->serviceName, + 'cities', + array( + 'methods' => array( + 'list' => array( + 'path' => 'userprofiles/{profileId}/cities', + 'httpMethod' => 'GET', + 'parameters' => array( + 'profileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'countryDartIds' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + ), + 'dartIds' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + ), + 'namePrefix' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'regionDartIds' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + ), + ), + ), + ) + ) + ); + $this->connectionTypes = new Google_Service_Dfareporting_Resource_ConnectionTypes( + $this, + $this->serviceName, + 'connectionTypes', + array( + 'methods' => array( + 'get' => array( + 'path' => 'userprofiles/{profileId}/connectionTypes/{id}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'profileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'id' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'userprofiles/{profileId}/connectionTypes', + 'httpMethod' => 'GET', + 'parameters' => array( + 'profileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->contentCategories = new Google_Service_Dfareporting_Resource_ContentCategories( + $this, + $this->serviceName, + 'contentCategories', + array( + 'methods' => array( + 'delete' => array( + 'path' => 'userprofiles/{profileId}/contentCategories/{id}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'profileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'id' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'get' => array( + 'path' => 'userprofiles/{profileId}/contentCategories/{id}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'profileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'id' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'insert' => array( + 'path' => 'userprofiles/{profileId}/contentCategories', + 'httpMethod' => 'POST', + 'parameters' => array( + 'profileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'userprofiles/{profileId}/contentCategories', + 'httpMethod' => 'GET', + 'parameters' => array( + 'profileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'ids' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'searchString' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'sortField' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'sortOrder' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'patch' => array( + 'path' => 'userprofiles/{profileId}/contentCategories', + 'httpMethod' => 'PATCH', + 'parameters' => array( + 'profileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'id' => array( + 'location' => 'query', + 'type' => 'string', + 'required' => true, + ), + ), + ),'update' => array( + 'path' => 'userprofiles/{profileId}/contentCategories', + 'httpMethod' => 'PUT', + 'parameters' => array( + 'profileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->conversions = new Google_Service_Dfareporting_Resource_Conversions( + $this, + $this->serviceName, + 'conversions', + array( + 'methods' => array( + 'batchinsert' => array( + 'path' => 'userprofiles/{profileId}/conversions/batchinsert', + 'httpMethod' => 'POST', + 'parameters' => array( + 'profileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->countries = new Google_Service_Dfareporting_Resource_Countries( + $this, + $this->serviceName, + 'countries', + array( + 'methods' => array( + 'get' => array( + 'path' => 'userprofiles/{profileId}/countries/{dartId}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'profileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'dartId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'userprofiles/{profileId}/countries', + 'httpMethod' => 'GET', + 'parameters' => array( + 'profileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->creativeAssets = new Google_Service_Dfareporting_Resource_CreativeAssets( + $this, + $this->serviceName, + 'creativeAssets', + array( + 'methods' => array( + 'insert' => array( + 'path' => 'userprofiles/{profileId}/creativeAssets/{advertiserId}/creativeAssets', + 'httpMethod' => 'POST', + 'parameters' => array( + 'profileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'advertiserId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->creativeFieldValues = new Google_Service_Dfareporting_Resource_CreativeFieldValues( + $this, + $this->serviceName, + 'creativeFieldValues', + array( + 'methods' => array( + 'delete' => array( + 'path' => 'userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues/{id}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'profileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'creativeFieldId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'id' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'get' => array( + 'path' => 'userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues/{id}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'profileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'creativeFieldId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'id' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'insert' => array( + 'path' => 'userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues', + 'httpMethod' => 'POST', + 'parameters' => array( + 'profileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'creativeFieldId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues', + 'httpMethod' => 'GET', + 'parameters' => array( + 'profileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'creativeFieldId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'ids' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'searchString' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'sortField' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'sortOrder' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'patch' => array( + 'path' => 'userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues', + 'httpMethod' => 'PATCH', + 'parameters' => array( + 'profileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'creativeFieldId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'id' => array( + 'location' => 'query', + 'type' => 'string', + 'required' => true, + ), + ), + ),'update' => array( + 'path' => 'userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues', + 'httpMethod' => 'PUT', + 'parameters' => array( + 'profileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'creativeFieldId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->creativeFields = new Google_Service_Dfareporting_Resource_CreativeFields( + $this, + $this->serviceName, + 'creativeFields', + array( + 'methods' => array( + 'delete' => array( + 'path' => 'userprofiles/{profileId}/creativeFields/{id}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'profileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'id' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'get' => array( + 'path' => 'userprofiles/{profileId}/creativeFields/{id}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'profileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'id' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'insert' => array( + 'path' => 'userprofiles/{profileId}/creativeFields', + 'httpMethod' => 'POST', + 'parameters' => array( + 'profileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'userprofiles/{profileId}/creativeFields', + 'httpMethod' => 'GET', + 'parameters' => array( + 'profileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'advertiserIds' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + ), + 'ids' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'searchString' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'sortField' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'sortOrder' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'patch' => array( + 'path' => 'userprofiles/{profileId}/creativeFields', + 'httpMethod' => 'PATCH', + 'parameters' => array( + 'profileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'id' => array( + 'location' => 'query', + 'type' => 'string', + 'required' => true, + ), + ), + ),'update' => array( + 'path' => 'userprofiles/{profileId}/creativeFields', + 'httpMethod' => 'PUT', + 'parameters' => array( + 'profileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->creativeGroups = new Google_Service_Dfareporting_Resource_CreativeGroups( + $this, + $this->serviceName, + 'creativeGroups', + array( + 'methods' => array( + 'get' => array( + 'path' => 'userprofiles/{profileId}/creativeGroups/{id}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'profileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'id' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'insert' => array( + 'path' => 'userprofiles/{profileId}/creativeGroups', + 'httpMethod' => 'POST', + 'parameters' => array( + 'profileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'userprofiles/{profileId}/creativeGroups', + 'httpMethod' => 'GET', + 'parameters' => array( + 'profileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'advertiserIds' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + ), + 'groupNumber' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'ids' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'searchString' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'sortField' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'sortOrder' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'patch' => array( + 'path' => 'userprofiles/{profileId}/creativeGroups', + 'httpMethod' => 'PATCH', + 'parameters' => array( + 'profileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'id' => array( + 'location' => 'query', + 'type' => 'string', + 'required' => true, + ), + ), + ),'update' => array( + 'path' => 'userprofiles/{profileId}/creativeGroups', + 'httpMethod' => 'PUT', + 'parameters' => array( + 'profileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->creatives = new Google_Service_Dfareporting_Resource_Creatives( + $this, + $this->serviceName, + 'creatives', + array( + 'methods' => array( + 'get' => array( + 'path' => 'userprofiles/{profileId}/creatives/{id}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'profileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'id' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'insert' => array( + 'path' => 'userprofiles/{profileId}/creatives', + 'httpMethod' => 'POST', + 'parameters' => array( + 'profileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'userprofiles/{profileId}/creatives', + 'httpMethod' => 'GET', + 'parameters' => array( + 'profileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'active' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + 'advertiserId' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'archived' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + 'campaignId' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'companionCreativeIds' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + ), + 'creativeFieldIds' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + ), + 'ids' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'renderingIds' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + ), + 'searchString' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'sizeIds' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + ), + 'sortField' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'sortOrder' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'studioCreativeId' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'types' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + ), + ), + ),'patch' => array( + 'path' => 'userprofiles/{profileId}/creatives', + 'httpMethod' => 'PATCH', + 'parameters' => array( + 'profileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'id' => array( + 'location' => 'query', + 'type' => 'string', + 'required' => true, + ), + ), + ),'update' => array( + 'path' => 'userprofiles/{profileId}/creatives', + 'httpMethod' => 'PUT', + 'parameters' => array( + 'profileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->dimensionValues = new Google_Service_Dfareporting_Resource_DimensionValues( + $this, + $this->serviceName, + 'dimensionValues', + array( + 'methods' => array( + 'query' => array( + 'path' => 'userprofiles/{profileId}/dimensionvalues/query', + 'httpMethod' => 'POST', + 'parameters' => array( + 'profileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + $this->directorySiteContacts = new Google_Service_Dfareporting_Resource_DirectorySiteContacts( + $this, + $this->serviceName, + 'directorySiteContacts', + array( + 'methods' => array( + 'get' => array( + 'path' => 'userprofiles/{profileId}/directorySiteContacts/{id}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'profileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'id' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'userprofiles/{profileId}/directorySiteContacts', + 'httpMethod' => 'GET', + 'parameters' => array( + 'profileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'directorySiteIds' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + ), + 'ids' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'searchString' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'sortField' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'sortOrder' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + $this->directorySites = new Google_Service_Dfareporting_Resource_DirectorySites( + $this, + $this->serviceName, + 'directorySites', + array( + 'methods' => array( + 'get' => array( + 'path' => 'userprofiles/{profileId}/directorySites/{id}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'profileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'id' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'insert' => array( + 'path' => 'userprofiles/{profileId}/directorySites', + 'httpMethod' => 'POST', + 'parameters' => array( + 'profileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'userprofiles/{profileId}/directorySites', + 'httpMethod' => 'GET', + 'parameters' => array( + 'profileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'acceptsInStreamVideoPlacements' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + 'acceptsInterstitialPlacements' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + 'acceptsPublisherPaidPlacements' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + 'active' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + 'countryId' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'dfp_network_code' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'ids' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'parentId' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'searchString' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'sortField' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'sortOrder' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + $this->dynamicTargetingKeys = new Google_Service_Dfareporting_Resource_DynamicTargetingKeys( + $this, + $this->serviceName, + 'dynamicTargetingKeys', + array( + 'methods' => array( + 'delete' => array( + 'path' => 'userprofiles/{profileId}/dynamicTargetingKeys/{objectId}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'profileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'objectId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'name' => array( + 'location' => 'query', + 'type' => 'string', + 'required' => true, + ), + 'objectType' => array( + 'location' => 'query', + 'type' => 'string', + 'required' => true, + ), + ), + ),'insert' => array( + 'path' => 'userprofiles/{profileId}/dynamicTargetingKeys', + 'httpMethod' => 'POST', + 'parameters' => array( + 'profileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'userprofiles/{profileId}/dynamicTargetingKeys', + 'httpMethod' => 'GET', + 'parameters' => array( + 'profileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'advertiserId' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'names' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + ), + 'objectId' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'objectType' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + $this->eventTags = new Google_Service_Dfareporting_Resource_EventTags( + $this, + $this->serviceName, + 'eventTags', + array( + 'methods' => array( + 'delete' => array( + 'path' => 'userprofiles/{profileId}/eventTags/{id}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'profileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'id' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'get' => array( + 'path' => 'userprofiles/{profileId}/eventTags/{id}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'profileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'id' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'insert' => array( + 'path' => 'userprofiles/{profileId}/eventTags', + 'httpMethod' => 'POST', + 'parameters' => array( + 'profileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'userprofiles/{profileId}/eventTags', + 'httpMethod' => 'GET', + 'parameters' => array( + 'profileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'adId' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'advertiserId' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'campaignId' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'definitionsOnly' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + 'enabled' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + 'eventTagTypes' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + ), + 'ids' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + ), + 'searchString' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'sortField' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'sortOrder' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'patch' => array( + 'path' => 'userprofiles/{profileId}/eventTags', + 'httpMethod' => 'PATCH', + 'parameters' => array( + 'profileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'id' => array( + 'location' => 'query', + 'type' => 'string', + 'required' => true, + ), + ), + ),'update' => array( + 'path' => 'userprofiles/{profileId}/eventTags', + 'httpMethod' => 'PUT', + 'parameters' => array( + 'profileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->files = new Google_Service_Dfareporting_Resource_Files( + $this, + $this->serviceName, + 'files', + array( + 'methods' => array( + 'get' => array( + 'path' => 'reports/{reportId}/files/{fileId}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'reportId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'fileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'userprofiles/{profileId}/files', + 'httpMethod' => 'GET', + 'parameters' => array( + 'profileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'scope' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'sortField' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'sortOrder' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + $this->floodlightActivities = new Google_Service_Dfareporting_Resource_FloodlightActivities( + $this, + $this->serviceName, + 'floodlightActivities', + array( + 'methods' => array( + 'delete' => array( + 'path' => 'userprofiles/{profileId}/floodlightActivities/{id}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'profileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'id' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'generatetag' => array( + 'path' => 'userprofiles/{profileId}/floodlightActivities/generatetag', + 'httpMethod' => 'POST', + 'parameters' => array( + 'profileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'floodlightActivityId' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'get' => array( + 'path' => 'userprofiles/{profileId}/floodlightActivities/{id}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'profileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'id' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'insert' => array( + 'path' => 'userprofiles/{profileId}/floodlightActivities', + 'httpMethod' => 'POST', + 'parameters' => array( + 'profileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'userprofiles/{profileId}/floodlightActivities', + 'httpMethod' => 'GET', + 'parameters' => array( + 'profileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'advertiserId' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'floodlightActivityGroupIds' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + ), + 'floodlightActivityGroupName' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'floodlightActivityGroupTagString' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'floodlightActivityGroupType' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'floodlightConfigurationId' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'ids' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'searchString' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'sortField' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'sortOrder' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'tagString' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'patch' => array( + 'path' => 'userprofiles/{profileId}/floodlightActivities', + 'httpMethod' => 'PATCH', + 'parameters' => array( + 'profileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'id' => array( + 'location' => 'query', + 'type' => 'string', + 'required' => true, + ), + ), + ),'update' => array( + 'path' => 'userprofiles/{profileId}/floodlightActivities', + 'httpMethod' => 'PUT', + 'parameters' => array( + 'profileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->floodlightActivityGroups = new Google_Service_Dfareporting_Resource_FloodlightActivityGroups( + $this, + $this->serviceName, + 'floodlightActivityGroups', + array( + 'methods' => array( + 'get' => array( + 'path' => 'userprofiles/{profileId}/floodlightActivityGroups/{id}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'profileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'id' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'insert' => array( + 'path' => 'userprofiles/{profileId}/floodlightActivityGroups', + 'httpMethod' => 'POST', + 'parameters' => array( + 'profileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'userprofiles/{profileId}/floodlightActivityGroups', + 'httpMethod' => 'GET', + 'parameters' => array( + 'profileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'advertiserId' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'floodlightConfigurationId' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'ids' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'searchString' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'sortField' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'sortOrder' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'type' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'patch' => array( + 'path' => 'userprofiles/{profileId}/floodlightActivityGroups', + 'httpMethod' => 'PATCH', + 'parameters' => array( + 'profileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'id' => array( + 'location' => 'query', + 'type' => 'string', + 'required' => true, + ), + ), + ),'update' => array( + 'path' => 'userprofiles/{profileId}/floodlightActivityGroups', + 'httpMethod' => 'PUT', + 'parameters' => array( + 'profileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->floodlightConfigurations = new Google_Service_Dfareporting_Resource_FloodlightConfigurations( + $this, + $this->serviceName, + 'floodlightConfigurations', + array( + 'methods' => array( + 'get' => array( + 'path' => 'userprofiles/{profileId}/floodlightConfigurations/{id}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'profileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'id' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'userprofiles/{profileId}/floodlightConfigurations', + 'httpMethod' => 'GET', + 'parameters' => array( + 'profileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'ids' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + ), + ), + ),'patch' => array( + 'path' => 'userprofiles/{profileId}/floodlightConfigurations', + 'httpMethod' => 'PATCH', + 'parameters' => array( + 'profileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'id' => array( + 'location' => 'query', + 'type' => 'string', + 'required' => true, + ), + ), + ),'update' => array( + 'path' => 'userprofiles/{profileId}/floodlightConfigurations', + 'httpMethod' => 'PUT', + 'parameters' => array( + 'profileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->inventoryItems = new Google_Service_Dfareporting_Resource_InventoryItems( + $this, + $this->serviceName, + 'inventoryItems', + array( + 'methods' => array( + 'get' => array( + 'path' => 'userprofiles/{profileId}/projects/{projectId}/inventoryItems/{id}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'profileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'projectId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'id' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'userprofiles/{profileId}/projects/{projectId}/inventoryItems', + 'httpMethod' => 'GET', + 'parameters' => array( + 'profileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'projectId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'ids' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + ), + 'inPlan' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'orderId' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'siteId' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + ), + 'sortField' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'sortOrder' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'type' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + $this->landingPages = new Google_Service_Dfareporting_Resource_LandingPages( + $this, + $this->serviceName, + 'landingPages', + array( + 'methods' => array( + 'delete' => array( + 'path' => 'userprofiles/{profileId}/campaigns/{campaignId}/landingPages/{id}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'profileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'campaignId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'id' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'get' => array( + 'path' => 'userprofiles/{profileId}/campaigns/{campaignId}/landingPages/{id}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'profileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'campaignId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'id' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'insert' => array( + 'path' => 'userprofiles/{profileId}/campaigns/{campaignId}/landingPages', + 'httpMethod' => 'POST', + 'parameters' => array( + 'profileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'campaignId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'userprofiles/{profileId}/campaigns/{campaignId}/landingPages', + 'httpMethod' => 'GET', + 'parameters' => array( + 'profileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'campaignId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'patch' => array( + 'path' => 'userprofiles/{profileId}/campaigns/{campaignId}/landingPages', + 'httpMethod' => 'PATCH', + 'parameters' => array( + 'profileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'campaignId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'id' => array( + 'location' => 'query', + 'type' => 'string', + 'required' => true, + ), + ), + ),'update' => array( + 'path' => 'userprofiles/{profileId}/campaigns/{campaignId}/landingPages', + 'httpMethod' => 'PUT', + 'parameters' => array( + 'profileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'campaignId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->languages = new Google_Service_Dfareporting_Resource_Languages( + $this, + $this->serviceName, + 'languages', + array( + 'methods' => array( + 'list' => array( + 'path' => 'userprofiles/{profileId}/languages', + 'httpMethod' => 'GET', + 'parameters' => array( + 'profileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->metros = new Google_Service_Dfareporting_Resource_Metros( + $this, + $this->serviceName, + 'metros', + array( + 'methods' => array( + 'list' => array( + 'path' => 'userprofiles/{profileId}/metros', + 'httpMethod' => 'GET', + 'parameters' => array( + 'profileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->mobileCarriers = new Google_Service_Dfareporting_Resource_MobileCarriers( + $this, + $this->serviceName, + 'mobileCarriers', + array( + 'methods' => array( + 'get' => array( + 'path' => 'userprofiles/{profileId}/mobileCarriers/{id}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'profileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'id' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'userprofiles/{profileId}/mobileCarriers', + 'httpMethod' => 'GET', + 'parameters' => array( + 'profileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->operatingSystemVersions = new Google_Service_Dfareporting_Resource_OperatingSystemVersions( + $this, + $this->serviceName, + 'operatingSystemVersions', + array( + 'methods' => array( + 'get' => array( + 'path' => 'userprofiles/{profileId}/operatingSystemVersions/{id}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'profileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'id' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'userprofiles/{profileId}/operatingSystemVersions', + 'httpMethod' => 'GET', + 'parameters' => array( + 'profileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->operatingSystems = new Google_Service_Dfareporting_Resource_OperatingSystems( + $this, + $this->serviceName, + 'operatingSystems', + array( + 'methods' => array( + 'get' => array( + 'path' => 'userprofiles/{profileId}/operatingSystems/{dartId}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'profileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'dartId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'userprofiles/{profileId}/operatingSystems', + 'httpMethod' => 'GET', + 'parameters' => array( + 'profileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->orderDocuments = new Google_Service_Dfareporting_Resource_OrderDocuments( + $this, + $this->serviceName, + 'orderDocuments', + array( + 'methods' => array( + 'get' => array( + 'path' => 'userprofiles/{profileId}/projects/{projectId}/orderDocuments/{id}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'profileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'projectId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'id' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'userprofiles/{profileId}/projects/{projectId}/orderDocuments', + 'httpMethod' => 'GET', + 'parameters' => array( + 'profileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'projectId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'approved' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + 'ids' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'orderId' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'searchString' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'siteId' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + ), + 'sortField' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'sortOrder' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + $this->orders = new Google_Service_Dfareporting_Resource_Orders( + $this, + $this->serviceName, + 'orders', + array( + 'methods' => array( + 'get' => array( + 'path' => 'userprofiles/{profileId}/projects/{projectId}/orders/{id}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'profileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'projectId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'id' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'userprofiles/{profileId}/projects/{projectId}/orders', + 'httpMethod' => 'GET', + 'parameters' => array( + 'profileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'projectId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'ids' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'searchString' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'siteId' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + ), + 'sortField' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'sortOrder' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + $this->placementGroups = new Google_Service_Dfareporting_Resource_PlacementGroups( + $this, + $this->serviceName, + 'placementGroups', + array( + 'methods' => array( + 'get' => array( + 'path' => 'userprofiles/{profileId}/placementGroups/{id}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'profileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'id' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'insert' => array( + 'path' => 'userprofiles/{profileId}/placementGroups', + 'httpMethod' => 'POST', + 'parameters' => array( + 'profileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'userprofiles/{profileId}/placementGroups', + 'httpMethod' => 'GET', + 'parameters' => array( + 'profileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'advertiserIds' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + ), + 'archived' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + 'campaignIds' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + ), + 'contentCategoryIds' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + ), + 'directorySiteIds' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + ), + 'ids' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + ), + 'maxEndDate' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'maxStartDate' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'minEndDate' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'minStartDate' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'placementGroupType' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'placementStrategyIds' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + ), + 'pricingTypes' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + ), + 'searchString' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'siteIds' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + ), + 'sortField' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'sortOrder' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'patch' => array( + 'path' => 'userprofiles/{profileId}/placementGroups', + 'httpMethod' => 'PATCH', + 'parameters' => array( + 'profileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'id' => array( + 'location' => 'query', + 'type' => 'string', + 'required' => true, + ), + ), + ),'update' => array( + 'path' => 'userprofiles/{profileId}/placementGroups', + 'httpMethod' => 'PUT', + 'parameters' => array( + 'profileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->placementStrategies = new Google_Service_Dfareporting_Resource_PlacementStrategies( + $this, + $this->serviceName, + 'placementStrategies', + array( + 'methods' => array( + 'delete' => array( + 'path' => 'userprofiles/{profileId}/placementStrategies/{id}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'profileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'id' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'get' => array( + 'path' => 'userprofiles/{profileId}/placementStrategies/{id}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'profileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'id' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'insert' => array( + 'path' => 'userprofiles/{profileId}/placementStrategies', + 'httpMethod' => 'POST', + 'parameters' => array( + 'profileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'userprofiles/{profileId}/placementStrategies', + 'httpMethod' => 'GET', + 'parameters' => array( + 'profileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'ids' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'searchString' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'sortField' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'sortOrder' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'patch' => array( + 'path' => 'userprofiles/{profileId}/placementStrategies', + 'httpMethod' => 'PATCH', + 'parameters' => array( + 'profileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'id' => array( + 'location' => 'query', + 'type' => 'string', + 'required' => true, + ), + ), + ),'update' => array( + 'path' => 'userprofiles/{profileId}/placementStrategies', + 'httpMethod' => 'PUT', + 'parameters' => array( + 'profileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->placements = new Google_Service_Dfareporting_Resource_Placements( + $this, + $this->serviceName, + 'placements', + array( + 'methods' => array( + 'generatetags' => array( + 'path' => 'userprofiles/{profileId}/placements/generatetags', + 'httpMethod' => 'POST', + 'parameters' => array( + 'profileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'campaignId' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'placementIds' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + ), + 'tagFormats' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + ), + ), + ),'get' => array( + 'path' => 'userprofiles/{profileId}/placements/{id}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'profileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'id' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'insert' => array( + 'path' => 'userprofiles/{profileId}/placements', + 'httpMethod' => 'POST', + 'parameters' => array( + 'profileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'userprofiles/{profileId}/placements', + 'httpMethod' => 'GET', + 'parameters' => array( + 'profileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'advertiserIds' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + ), + 'archived' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + 'campaignIds' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + ), + 'compatibilities' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + ), + 'contentCategoryIds' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + ), + 'directorySiteIds' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + ), + 'groupIds' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + ), + 'ids' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + ), + 'maxEndDate' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'maxStartDate' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'minEndDate' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'minStartDate' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'paymentSource' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'placementStrategyIds' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + ), + 'pricingTypes' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + ), + 'searchString' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'siteIds' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + ), + 'sizeIds' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + ), + 'sortField' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'sortOrder' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'patch' => array( + 'path' => 'userprofiles/{profileId}/placements', + 'httpMethod' => 'PATCH', + 'parameters' => array( + 'profileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'id' => array( + 'location' => 'query', + 'type' => 'string', + 'required' => true, + ), + ), + ),'update' => array( + 'path' => 'userprofiles/{profileId}/placements', + 'httpMethod' => 'PUT', + 'parameters' => array( + 'profileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->platformTypes = new Google_Service_Dfareporting_Resource_PlatformTypes( + $this, + $this->serviceName, + 'platformTypes', + array( + 'methods' => array( + 'get' => array( + 'path' => 'userprofiles/{profileId}/platformTypes/{id}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'profileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'id' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'userprofiles/{profileId}/platformTypes', + 'httpMethod' => 'GET', + 'parameters' => array( + 'profileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->postalCodes = new Google_Service_Dfareporting_Resource_PostalCodes( + $this, + $this->serviceName, + 'postalCodes', + array( + 'methods' => array( + 'get' => array( + 'path' => 'userprofiles/{profileId}/postalCodes/{code}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'profileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'code' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'userprofiles/{profileId}/postalCodes', + 'httpMethod' => 'GET', + 'parameters' => array( + 'profileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->projects = new Google_Service_Dfareporting_Resource_Projects( + $this, + $this->serviceName, + 'projects', + array( + 'methods' => array( + 'get' => array( + 'path' => 'userprofiles/{profileId}/projects/{id}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'profileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'id' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'userprofiles/{profileId}/projects', + 'httpMethod' => 'GET', + 'parameters' => array( + 'profileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'advertiserIds' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + ), + 'ids' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'searchString' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'sortField' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'sortOrder' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + $this->regions = new Google_Service_Dfareporting_Resource_Regions( + $this, + $this->serviceName, + 'regions', + array( + 'methods' => array( + 'list' => array( + 'path' => 'userprofiles/{profileId}/regions', + 'httpMethod' => 'GET', + 'parameters' => array( + 'profileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->remarketingListShares = new Google_Service_Dfareporting_Resource_RemarketingListShares( + $this, + $this->serviceName, + 'remarketingListShares', + array( + 'methods' => array( + 'get' => array( + 'path' => 'userprofiles/{profileId}/remarketingListShares/{remarketingListId}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'profileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'remarketingListId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'patch' => array( + 'path' => 'userprofiles/{profileId}/remarketingListShares', + 'httpMethod' => 'PATCH', + 'parameters' => array( + 'profileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'remarketingListId' => array( + 'location' => 'query', + 'type' => 'string', + 'required' => true, + ), + ), + ),'update' => array( + 'path' => 'userprofiles/{profileId}/remarketingListShares', + 'httpMethod' => 'PUT', + 'parameters' => array( + 'profileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->remarketingLists = new Google_Service_Dfareporting_Resource_RemarketingLists( + $this, + $this->serviceName, + 'remarketingLists', + array( + 'methods' => array( + 'get' => array( + 'path' => 'userprofiles/{profileId}/remarketingLists/{id}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'profileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'id' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'insert' => array( + 'path' => 'userprofiles/{profileId}/remarketingLists', + 'httpMethod' => 'POST', + 'parameters' => array( + 'profileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'userprofiles/{profileId}/remarketingLists', + 'httpMethod' => 'GET', + 'parameters' => array( + 'profileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'advertiserId' => array( + 'location' => 'query', + 'type' => 'string', + 'required' => true, + ), + 'active' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + 'floodlightActivityId' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'name' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'sortField' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'sortOrder' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'patch' => array( + 'path' => 'userprofiles/{profileId}/remarketingLists', + 'httpMethod' => 'PATCH', + 'parameters' => array( + 'profileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'id' => array( + 'location' => 'query', + 'type' => 'string', + 'required' => true, + ), + ), + ),'update' => array( + 'path' => 'userprofiles/{profileId}/remarketingLists', + 'httpMethod' => 'PUT', + 'parameters' => array( + 'profileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->reports = new Google_Service_Dfareporting_Resource_Reports( + $this, + $this->serviceName, + 'reports', + array( + 'methods' => array( + 'delete' => array( + 'path' => 'userprofiles/{profileId}/reports/{reportId}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'profileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'reportId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'get' => array( + 'path' => 'userprofiles/{profileId}/reports/{reportId}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'profileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'reportId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'insert' => array( + 'path' => 'userprofiles/{profileId}/reports', + 'httpMethod' => 'POST', + 'parameters' => array( + 'profileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'userprofiles/{profileId}/reports', + 'httpMethod' => 'GET', + 'parameters' => array( + 'profileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'scope' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'sortField' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'sortOrder' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'patch' => array( + 'path' => 'userprofiles/{profileId}/reports/{reportId}', + 'httpMethod' => 'PATCH', + 'parameters' => array( + 'profileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'reportId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'run' => array( + 'path' => 'userprofiles/{profileId}/reports/{reportId}/run', + 'httpMethod' => 'POST', + 'parameters' => array( + 'profileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'reportId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'synchronous' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + ), + ),'update' => array( + 'path' => 'userprofiles/{profileId}/reports/{reportId}', + 'httpMethod' => 'PUT', + 'parameters' => array( + 'profileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'reportId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->reports_compatibleFields = new Google_Service_Dfareporting_Resource_ReportsCompatibleFields( + $this, + $this->serviceName, + 'compatibleFields', + array( + 'methods' => array( + 'query' => array( + 'path' => 'userprofiles/{profileId}/reports/compatiblefields/query', + 'httpMethod' => 'POST', + 'parameters' => array( + 'profileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->reports_files = new Google_Service_Dfareporting_Resource_ReportsFiles( + $this, + $this->serviceName, + 'files', + array( + 'methods' => array( + 'get' => array( + 'path' => 'userprofiles/{profileId}/reports/{reportId}/files/{fileId}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'profileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'reportId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'fileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'userprofiles/{profileId}/reports/{reportId}/files', + 'httpMethod' => 'GET', + 'parameters' => array( + 'profileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'reportId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'sortField' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'sortOrder' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + $this->sites = new Google_Service_Dfareporting_Resource_Sites( + $this, + $this->serviceName, + 'sites', + array( + 'methods' => array( + 'get' => array( + 'path' => 'userprofiles/{profileId}/sites/{id}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'profileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'id' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'insert' => array( + 'path' => 'userprofiles/{profileId}/sites', + 'httpMethod' => 'POST', + 'parameters' => array( + 'profileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'userprofiles/{profileId}/sites', + 'httpMethod' => 'GET', + 'parameters' => array( + 'profileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'acceptsInStreamVideoPlacements' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + 'acceptsInterstitialPlacements' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + 'acceptsPublisherPaidPlacements' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + 'adWordsSite' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + 'approved' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + 'campaignIds' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + ), + 'directorySiteIds' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + ), + 'ids' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'searchString' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'sortField' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'sortOrder' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'subaccountId' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'unmappedSite' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + ), + ),'patch' => array( + 'path' => 'userprofiles/{profileId}/sites', + 'httpMethod' => 'PATCH', + 'parameters' => array( + 'profileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'id' => array( + 'location' => 'query', + 'type' => 'string', + 'required' => true, + ), + ), + ),'update' => array( + 'path' => 'userprofiles/{profileId}/sites', + 'httpMethod' => 'PUT', + 'parameters' => array( + 'profileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->sizes = new Google_Service_Dfareporting_Resource_Sizes( + $this, + $this->serviceName, + 'sizes', + array( + 'methods' => array( + 'get' => array( + 'path' => 'userprofiles/{profileId}/sizes/{id}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'profileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'id' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'insert' => array( + 'path' => 'userprofiles/{profileId}/sizes', + 'httpMethod' => 'POST', + 'parameters' => array( + 'profileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'userprofiles/{profileId}/sizes', + 'httpMethod' => 'GET', + 'parameters' => array( + 'profileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'height' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'iabStandard' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + 'ids' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + ), + 'width' => array( + 'location' => 'query', + 'type' => 'integer', + ), + ), + ), + ) + ) + ); + $this->subaccounts = new Google_Service_Dfareporting_Resource_Subaccounts( + $this, + $this->serviceName, + 'subaccounts', + array( + 'methods' => array( + 'get' => array( + 'path' => 'userprofiles/{profileId}/subaccounts/{id}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'profileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'id' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'insert' => array( + 'path' => 'userprofiles/{profileId}/subaccounts', + 'httpMethod' => 'POST', + 'parameters' => array( + 'profileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'userprofiles/{profileId}/subaccounts', + 'httpMethod' => 'GET', + 'parameters' => array( + 'profileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'ids' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'searchString' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'sortField' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'sortOrder' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'patch' => array( + 'path' => 'userprofiles/{profileId}/subaccounts', + 'httpMethod' => 'PATCH', + 'parameters' => array( + 'profileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'id' => array( + 'location' => 'query', + 'type' => 'string', + 'required' => true, + ), + ), + ),'update' => array( + 'path' => 'userprofiles/{profileId}/subaccounts', + 'httpMethod' => 'PUT', + 'parameters' => array( + 'profileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->targetableRemarketingLists = new Google_Service_Dfareporting_Resource_TargetableRemarketingLists( + $this, + $this->serviceName, + 'targetableRemarketingLists', + array( + 'methods' => array( + 'get' => array( + 'path' => 'userprofiles/{profileId}/targetableRemarketingLists/{id}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'profileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'id' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'userprofiles/{profileId}/targetableRemarketingLists', + 'httpMethod' => 'GET', + 'parameters' => array( + 'profileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'advertiserId' => array( + 'location' => 'query', + 'type' => 'string', + 'required' => true, + ), + 'active' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'name' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'sortField' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'sortOrder' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + $this->targetingTemplates = new Google_Service_Dfareporting_Resource_TargetingTemplates( + $this, + $this->serviceName, + 'targetingTemplates', + array( + 'methods' => array( + 'get' => array( + 'path' => 'userprofiles/{profileId}/targetingTemplates/{id}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'profileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'id' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'insert' => array( + 'path' => 'userprofiles/{profileId}/targetingTemplates', + 'httpMethod' => 'POST', + 'parameters' => array( + 'profileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'userprofiles/{profileId}/targetingTemplates', + 'httpMethod' => 'GET', + 'parameters' => array( + 'profileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'advertiserId' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'ids' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'searchString' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'sortField' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'sortOrder' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'patch' => array( + 'path' => 'userprofiles/{profileId}/targetingTemplates', + 'httpMethod' => 'PATCH', + 'parameters' => array( + 'profileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'id' => array( + 'location' => 'query', + 'type' => 'string', + 'required' => true, + ), + ), + ),'update' => array( + 'path' => 'userprofiles/{profileId}/targetingTemplates', + 'httpMethod' => 'PUT', + 'parameters' => array( + 'profileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->userProfiles = new Google_Service_Dfareporting_Resource_UserProfiles( + $this, + $this->serviceName, + 'userProfiles', + array( + 'methods' => array( + 'get' => array( + 'path' => 'userprofiles/{profileId}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'profileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'userprofiles', + 'httpMethod' => 'GET', + 'parameters' => array(), + ), + ) + ) + ); + $this->userRolePermissionGroups = new Google_Service_Dfareporting_Resource_UserRolePermissionGroups( + $this, + $this->serviceName, + 'userRolePermissionGroups', + array( + 'methods' => array( + 'get' => array( + 'path' => 'userprofiles/{profileId}/userRolePermissionGroups/{id}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'profileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'id' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'userprofiles/{profileId}/userRolePermissionGroups', + 'httpMethod' => 'GET', + 'parameters' => array( + 'profileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->userRolePermissions = new Google_Service_Dfareporting_Resource_UserRolePermissions( + $this, + $this->serviceName, + 'userRolePermissions', + array( + 'methods' => array( + 'get' => array( + 'path' => 'userprofiles/{profileId}/userRolePermissions/{id}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'profileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'id' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'userprofiles/{profileId}/userRolePermissions', + 'httpMethod' => 'GET', + 'parameters' => array( + 'profileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'ids' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + ), + ), + ), + ) + ) + ); + $this->userRoles = new Google_Service_Dfareporting_Resource_UserRoles( + $this, + $this->serviceName, + 'userRoles', + array( + 'methods' => array( + 'delete' => array( + 'path' => 'userprofiles/{profileId}/userRoles/{id}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'profileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'id' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'get' => array( + 'path' => 'userprofiles/{profileId}/userRoles/{id}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'profileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'id' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'insert' => array( + 'path' => 'userprofiles/{profileId}/userRoles', + 'httpMethod' => 'POST', + 'parameters' => array( + 'profileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'userprofiles/{profileId}/userRoles', + 'httpMethod' => 'GET', + 'parameters' => array( + 'profileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'accountUserRoleOnly' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + 'ids' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'searchString' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'sortField' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'sortOrder' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'subaccountId' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'patch' => array( + 'path' => 'userprofiles/{profileId}/userRoles', + 'httpMethod' => 'PATCH', + 'parameters' => array( + 'profileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'id' => array( + 'location' => 'query', + 'type' => 'string', + 'required' => true, + ), + ), + ),'update' => array( + 'path' => 'userprofiles/{profileId}/userRoles', + 'httpMethod' => 'PUT', + 'parameters' => array( + 'profileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->videoFormats = new Google_Service_Dfareporting_Resource_VideoFormats( + $this, + $this->serviceName, + 'videoFormats', + array( + 'methods' => array( + 'get' => array( + 'path' => 'userprofiles/{profileId}/videoFormats/{id}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'profileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'id' => array( + 'location' => 'path', + 'type' => 'integer', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'userprofiles/{profileId}/videoFormats', + 'httpMethod' => 'GET', + 'parameters' => array( + 'profileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Account.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Account.php new file mode 100644 index 00000000..1d44a2e4 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Account.php @@ -0,0 +1,194 @@ +accountPermissionIds = $accountPermissionIds; + } + public function getAccountPermissionIds() + { + return $this->accountPermissionIds; + } + public function setAccountProfile($accountProfile) + { + $this->accountProfile = $accountProfile; + } + public function getAccountProfile() + { + return $this->accountProfile; + } + public function setActive($active) + { + $this->active = $active; + } + public function getActive() + { + return $this->active; + } + public function setActiveAdsLimitTier($activeAdsLimitTier) + { + $this->activeAdsLimitTier = $activeAdsLimitTier; + } + public function getActiveAdsLimitTier() + { + return $this->activeAdsLimitTier; + } + public function setActiveViewOptOut($activeViewOptOut) + { + $this->activeViewOptOut = $activeViewOptOut; + } + public function getActiveViewOptOut() + { + return $this->activeViewOptOut; + } + public function setAvailablePermissionIds($availablePermissionIds) + { + $this->availablePermissionIds = $availablePermissionIds; + } + public function getAvailablePermissionIds() + { + return $this->availablePermissionIds; + } + public function setCountryId($countryId) + { + $this->countryId = $countryId; + } + public function getCountryId() + { + return $this->countryId; + } + public function setCurrencyId($currencyId) + { + $this->currencyId = $currencyId; + } + public function getCurrencyId() + { + return $this->currencyId; + } + public function setDefaultCreativeSizeId($defaultCreativeSizeId) + { + $this->defaultCreativeSizeId = $defaultCreativeSizeId; + } + public function getDefaultCreativeSizeId() + { + return $this->defaultCreativeSizeId; + } + public function setDescription($description) + { + $this->description = $description; + } + public function getDescription() + { + return $this->description; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setLocale($locale) + { + $this->locale = $locale; + } + public function getLocale() + { + return $this->locale; + } + public function setMaximumImageSize($maximumImageSize) + { + $this->maximumImageSize = $maximumImageSize; + } + public function getMaximumImageSize() + { + return $this->maximumImageSize; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setNielsenOcrEnabled($nielsenOcrEnabled) + { + $this->nielsenOcrEnabled = $nielsenOcrEnabled; + } + public function getNielsenOcrEnabled() + { + return $this->nielsenOcrEnabled; + } + public function setReportsConfiguration(Google_Service_Dfareporting_ReportsConfiguration $reportsConfiguration) + { + $this->reportsConfiguration = $reportsConfiguration; + } + public function getReportsConfiguration() + { + return $this->reportsConfiguration; + } + public function setShareReportsWithTwitter($shareReportsWithTwitter) + { + $this->shareReportsWithTwitter = $shareReportsWithTwitter; + } + public function getShareReportsWithTwitter() + { + return $this->shareReportsWithTwitter; + } + public function setTeaserSizeLimit($teaserSizeLimit) + { + $this->teaserSizeLimit = $teaserSizeLimit; + } + public function getTeaserSizeLimit() + { + return $this->teaserSizeLimit; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/AccountActiveAdSummary.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/AccountActiveAdSummary.php new file mode 100644 index 00000000..1fa446ba --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/AccountActiveAdSummary.php @@ -0,0 +1,66 @@ +accountId = $accountId; + } + public function getAccountId() + { + return $this->accountId; + } + public function setActiveAds($activeAds) + { + $this->activeAds = $activeAds; + } + public function getActiveAds() + { + return $this->activeAds; + } + public function setActiveAdsLimitTier($activeAdsLimitTier) + { + $this->activeAdsLimitTier = $activeAdsLimitTier; + } + public function getActiveAdsLimitTier() + { + return $this->activeAdsLimitTier; + } + public function setAvailableAds($availableAds) + { + $this->availableAds = $availableAds; + } + public function getAvailableAds() + { + return $this->availableAds; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/AccountPermission.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/AccountPermission.php new file mode 100644 index 00000000..a2c2dfe3 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/AccountPermission.php @@ -0,0 +1,76 @@ +accountProfiles = $accountProfiles; + } + public function getAccountProfiles() + { + return $this->accountProfiles; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setLevel($level) + { + $this->level = $level; + } + public function getLevel() + { + return $this->level; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setPermissionGroupId($permissionGroupId) + { + $this->permissionGroupId = $permissionGroupId; + } + public function getPermissionGroupId() + { + return $this->permissionGroupId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/AccountPermissionGroup.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/AccountPermissionGroup.php new file mode 100644 index 00000000..e8f74cba --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/AccountPermissionGroup.php @@ -0,0 +1,48 @@ +id = $id; + } + public function getId() + { + return $this->id; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/AccountPermissionGroupsListResponse.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/AccountPermissionGroupsListResponse.php new file mode 100644 index 00000000..00f724ff --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/AccountPermissionGroupsListResponse.php @@ -0,0 +1,41 @@ +accountPermissionGroups = $accountPermissionGroups; + } + public function getAccountPermissionGroups() + { + return $this->accountPermissionGroups; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/AccountPermissionsListResponse.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/AccountPermissionsListResponse.php new file mode 100644 index 00000000..3828ca6f --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/AccountPermissionsListResponse.php @@ -0,0 +1,41 @@ +accountPermissions = $accountPermissions; + } + public function getAccountPermissions() + { + return $this->accountPermissions; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/AccountUserProfile.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/AccountUserProfile.php new file mode 100644 index 00000000..2c40cc88 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/AccountUserProfile.php @@ -0,0 +1,169 @@ +accountId = $accountId; + } + public function getAccountId() + { + return $this->accountId; + } + public function setActive($active) + { + $this->active = $active; + } + public function getActive() + { + return $this->active; + } + public function setAdvertiserFilter(Google_Service_Dfareporting_ObjectFilter $advertiserFilter) + { + $this->advertiserFilter = $advertiserFilter; + } + public function getAdvertiserFilter() + { + return $this->advertiserFilter; + } + public function setCampaignFilter(Google_Service_Dfareporting_ObjectFilter $campaignFilter) + { + $this->campaignFilter = $campaignFilter; + } + public function getCampaignFilter() + { + return $this->campaignFilter; + } + public function setComments($comments) + { + $this->comments = $comments; + } + public function getComments() + { + return $this->comments; + } + public function setEmail($email) + { + $this->email = $email; + } + public function getEmail() + { + return $this->email; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setLocale($locale) + { + $this->locale = $locale; + } + public function getLocale() + { + return $this->locale; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setSiteFilter(Google_Service_Dfareporting_ObjectFilter $siteFilter) + { + $this->siteFilter = $siteFilter; + } + public function getSiteFilter() + { + return $this->siteFilter; + } + public function setSubaccountId($subaccountId) + { + $this->subaccountId = $subaccountId; + } + public function getSubaccountId() + { + return $this->subaccountId; + } + public function setTraffickerType($traffickerType) + { + $this->traffickerType = $traffickerType; + } + public function getTraffickerType() + { + return $this->traffickerType; + } + public function setUserAccessType($userAccessType) + { + $this->userAccessType = $userAccessType; + } + public function getUserAccessType() + { + return $this->userAccessType; + } + public function setUserRoleFilter(Google_Service_Dfareporting_ObjectFilter $userRoleFilter) + { + $this->userRoleFilter = $userRoleFilter; + } + public function getUserRoleFilter() + { + return $this->userRoleFilter; + } + public function setUserRoleId($userRoleId) + { + $this->userRoleId = $userRoleId; + } + public function getUserRoleId() + { + return $this->userRoleId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/AccountUserProfilesListResponse.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/AccountUserProfilesListResponse.php new file mode 100644 index 00000000..5bd57051 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/AccountUserProfilesListResponse.php @@ -0,0 +1,50 @@ +accountUserProfiles = $accountUserProfiles; + } + public function getAccountUserProfiles() + { + return $this->accountUserProfiles; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/AccountsListResponse.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/AccountsListResponse.php new file mode 100644 index 00000000..7d2efbd4 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/AccountsListResponse.php @@ -0,0 +1,50 @@ +accounts = $accounts; + } + public function getAccounts() + { + return $this->accounts; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Activities.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Activities.php new file mode 100644 index 00000000..1dd0b515 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Activities.php @@ -0,0 +1,50 @@ +filters = $filters; + } + public function getFilters() + { + return $this->filters; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setMetricNames($metricNames) + { + $this->metricNames = $metricNames; + } + public function getMetricNames() + { + return $this->metricNames; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Ad.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Ad.php new file mode 100644 index 00000000..b794138f --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Ad.php @@ -0,0 +1,393 @@ +accountId = $accountId; + } + public function getAccountId() + { + return $this->accountId; + } + public function setActive($active) + { + $this->active = $active; + } + public function getActive() + { + return $this->active; + } + public function setAdvertiserId($advertiserId) + { + $this->advertiserId = $advertiserId; + } + public function getAdvertiserId() + { + return $this->advertiserId; + } + public function setAdvertiserIdDimensionValue(Google_Service_Dfareporting_DimensionValue $advertiserIdDimensionValue) + { + $this->advertiserIdDimensionValue = $advertiserIdDimensionValue; + } + public function getAdvertiserIdDimensionValue() + { + return $this->advertiserIdDimensionValue; + } + public function setArchived($archived) + { + $this->archived = $archived; + } + public function getArchived() + { + return $this->archived; + } + public function setAudienceSegmentId($audienceSegmentId) + { + $this->audienceSegmentId = $audienceSegmentId; + } + public function getAudienceSegmentId() + { + return $this->audienceSegmentId; + } + public function setCampaignId($campaignId) + { + $this->campaignId = $campaignId; + } + public function getCampaignId() + { + return $this->campaignId; + } + public function setCampaignIdDimensionValue(Google_Service_Dfareporting_DimensionValue $campaignIdDimensionValue) + { + $this->campaignIdDimensionValue = $campaignIdDimensionValue; + } + public function getCampaignIdDimensionValue() + { + return $this->campaignIdDimensionValue; + } + public function setClickThroughUrl(Google_Service_Dfareporting_ClickThroughUrl $clickThroughUrl) + { + $this->clickThroughUrl = $clickThroughUrl; + } + public function getClickThroughUrl() + { + return $this->clickThroughUrl; + } + public function setClickThroughUrlSuffixProperties(Google_Service_Dfareporting_ClickThroughUrlSuffixProperties $clickThroughUrlSuffixProperties) + { + $this->clickThroughUrlSuffixProperties = $clickThroughUrlSuffixProperties; + } + public function getClickThroughUrlSuffixProperties() + { + return $this->clickThroughUrlSuffixProperties; + } + public function setComments($comments) + { + $this->comments = $comments; + } + public function getComments() + { + return $this->comments; + } + public function setCompatibility($compatibility) + { + $this->compatibility = $compatibility; + } + public function getCompatibility() + { + return $this->compatibility; + } + public function setCreateInfo(Google_Service_Dfareporting_LastModifiedInfo $createInfo) + { + $this->createInfo = $createInfo; + } + public function getCreateInfo() + { + return $this->createInfo; + } + public function setCreativeGroupAssignments($creativeGroupAssignments) + { + $this->creativeGroupAssignments = $creativeGroupAssignments; + } + public function getCreativeGroupAssignments() + { + return $this->creativeGroupAssignments; + } + public function setCreativeRotation(Google_Service_Dfareporting_CreativeRotation $creativeRotation) + { + $this->creativeRotation = $creativeRotation; + } + public function getCreativeRotation() + { + return $this->creativeRotation; + } + public function setDayPartTargeting(Google_Service_Dfareporting_DayPartTargeting $dayPartTargeting) + { + $this->dayPartTargeting = $dayPartTargeting; + } + public function getDayPartTargeting() + { + return $this->dayPartTargeting; + } + public function setDefaultClickThroughEventTagProperties(Google_Service_Dfareporting_DefaultClickThroughEventTagProperties $defaultClickThroughEventTagProperties) + { + $this->defaultClickThroughEventTagProperties = $defaultClickThroughEventTagProperties; + } + public function getDefaultClickThroughEventTagProperties() + { + return $this->defaultClickThroughEventTagProperties; + } + public function setDeliverySchedule(Google_Service_Dfareporting_DeliverySchedule $deliverySchedule) + { + $this->deliverySchedule = $deliverySchedule; + } + public function getDeliverySchedule() + { + return $this->deliverySchedule; + } + public function setDynamicClickTracker($dynamicClickTracker) + { + $this->dynamicClickTracker = $dynamicClickTracker; + } + public function getDynamicClickTracker() + { + return $this->dynamicClickTracker; + } + public function setEndTime($endTime) + { + $this->endTime = $endTime; + } + public function getEndTime() + { + return $this->endTime; + } + public function setEventTagOverrides($eventTagOverrides) + { + $this->eventTagOverrides = $eventTagOverrides; + } + public function getEventTagOverrides() + { + return $this->eventTagOverrides; + } + public function setGeoTargeting(Google_Service_Dfareporting_GeoTargeting $geoTargeting) + { + $this->geoTargeting = $geoTargeting; + } + public function getGeoTargeting() + { + return $this->geoTargeting; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setIdDimensionValue(Google_Service_Dfareporting_DimensionValue $idDimensionValue) + { + $this->idDimensionValue = $idDimensionValue; + } + public function getIdDimensionValue() + { + return $this->idDimensionValue; + } + public function setKeyValueTargetingExpression(Google_Service_Dfareporting_KeyValueTargetingExpression $keyValueTargetingExpression) + { + $this->keyValueTargetingExpression = $keyValueTargetingExpression; + } + public function getKeyValueTargetingExpression() + { + return $this->keyValueTargetingExpression; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setLanguageTargeting(Google_Service_Dfareporting_LanguageTargeting $languageTargeting) + { + $this->languageTargeting = $languageTargeting; + } + public function getLanguageTargeting() + { + return $this->languageTargeting; + } + public function setLastModifiedInfo(Google_Service_Dfareporting_LastModifiedInfo $lastModifiedInfo) + { + $this->lastModifiedInfo = $lastModifiedInfo; + } + public function getLastModifiedInfo() + { + return $this->lastModifiedInfo; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setPlacementAssignments($placementAssignments) + { + $this->placementAssignments = $placementAssignments; + } + public function getPlacementAssignments() + { + return $this->placementAssignments; + } + public function setRemarketingListExpression(Google_Service_Dfareporting_ListTargetingExpression $remarketingListExpression) + { + $this->remarketingListExpression = $remarketingListExpression; + } + public function getRemarketingListExpression() + { + return $this->remarketingListExpression; + } + public function setSize(Google_Service_Dfareporting_Size $size) + { + $this->size = $size; + } + public function getSize() + { + return $this->size; + } + public function setSslCompliant($sslCompliant) + { + $this->sslCompliant = $sslCompliant; + } + public function getSslCompliant() + { + return $this->sslCompliant; + } + public function setSslRequired($sslRequired) + { + $this->sslRequired = $sslRequired; + } + public function getSslRequired() + { + return $this->sslRequired; + } + public function setStartTime($startTime) + { + $this->startTime = $startTime; + } + public function getStartTime() + { + return $this->startTime; + } + public function setSubaccountId($subaccountId) + { + $this->subaccountId = $subaccountId; + } + public function getSubaccountId() + { + return $this->subaccountId; + } + public function setTargetingTemplateId($targetingTemplateId) + { + $this->targetingTemplateId = $targetingTemplateId; + } + public function getTargetingTemplateId() + { + return $this->targetingTemplateId; + } + public function setTechnologyTargeting(Google_Service_Dfareporting_TechnologyTargeting $technologyTargeting) + { + $this->technologyTargeting = $technologyTargeting; + } + public function getTechnologyTargeting() + { + return $this->technologyTargeting; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/AdSlot.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/AdSlot.php new file mode 100644 index 00000000..f6e2fec7 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/AdSlot.php @@ -0,0 +1,93 @@ +comment = $comment; + } + public function getComment() + { + return $this->comment; + } + public function setCompatibility($compatibility) + { + $this->compatibility = $compatibility; + } + public function getCompatibility() + { + return $this->compatibility; + } + public function setHeight($height) + { + $this->height = $height; + } + public function getHeight() + { + return $this->height; + } + public function setLinkedPlacementId($linkedPlacementId) + { + $this->linkedPlacementId = $linkedPlacementId; + } + public function getLinkedPlacementId() + { + return $this->linkedPlacementId; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setPaymentSourceType($paymentSourceType) + { + $this->paymentSourceType = $paymentSourceType; + } + public function getPaymentSourceType() + { + return $this->paymentSourceType; + } + public function setPrimary($primary) + { + $this->primary = $primary; + } + public function getPrimary() + { + return $this->primary; + } + public function setWidth($width) + { + $this->width = $width; + } + public function getWidth() + { + return $this->width; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/AdsListResponse.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/AdsListResponse.php new file mode 100644 index 00000000..480ccece --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/AdsListResponse.php @@ -0,0 +1,50 @@ +ads = $ads; + } + public function getAds() + { + return $this->ads; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Advertiser.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Advertiser.php new file mode 100644 index 00000000..f8998ef8 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Advertiser.php @@ -0,0 +1,158 @@ +accountId = $accountId; + } + public function getAccountId() + { + return $this->accountId; + } + public function setAdvertiserGroupId($advertiserGroupId) + { + $this->advertiserGroupId = $advertiserGroupId; + } + public function getAdvertiserGroupId() + { + return $this->advertiserGroupId; + } + public function setClickThroughUrlSuffix($clickThroughUrlSuffix) + { + $this->clickThroughUrlSuffix = $clickThroughUrlSuffix; + } + public function getClickThroughUrlSuffix() + { + return $this->clickThroughUrlSuffix; + } + public function setDefaultClickThroughEventTagId($defaultClickThroughEventTagId) + { + $this->defaultClickThroughEventTagId = $defaultClickThroughEventTagId; + } + public function getDefaultClickThroughEventTagId() + { + return $this->defaultClickThroughEventTagId; + } + public function setDefaultEmail($defaultEmail) + { + $this->defaultEmail = $defaultEmail; + } + public function getDefaultEmail() + { + return $this->defaultEmail; + } + public function setFloodlightConfigurationId($floodlightConfigurationId) + { + $this->floodlightConfigurationId = $floodlightConfigurationId; + } + public function getFloodlightConfigurationId() + { + return $this->floodlightConfigurationId; + } + public function setFloodlightConfigurationIdDimensionValue(Google_Service_Dfareporting_DimensionValue $floodlightConfigurationIdDimensionValue) + { + $this->floodlightConfigurationIdDimensionValue = $floodlightConfigurationIdDimensionValue; + } + public function getFloodlightConfigurationIdDimensionValue() + { + return $this->floodlightConfigurationIdDimensionValue; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setIdDimensionValue(Google_Service_Dfareporting_DimensionValue $idDimensionValue) + { + $this->idDimensionValue = $idDimensionValue; + } + public function getIdDimensionValue() + { + return $this->idDimensionValue; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setOriginalFloodlightConfigurationId($originalFloodlightConfigurationId) + { + $this->originalFloodlightConfigurationId = $originalFloodlightConfigurationId; + } + public function getOriginalFloodlightConfigurationId() + { + return $this->originalFloodlightConfigurationId; + } + public function setStatus($status) + { + $this->status = $status; + } + public function getStatus() + { + return $this->status; + } + public function setSubaccountId($subaccountId) + { + $this->subaccountId = $subaccountId; + } + public function getSubaccountId() + { + return $this->subaccountId; + } + public function setSuspended($suspended) + { + $this->suspended = $suspended; + } + public function getSuspended() + { + return $this->suspended; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/AdvertiserGroup.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/AdvertiserGroup.php new file mode 100644 index 00000000..f954b61f --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/AdvertiserGroup.php @@ -0,0 +1,57 @@ +accountId = $accountId; + } + public function getAccountId() + { + return $this->accountId; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/AdvertiserGroupsListResponse.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/AdvertiserGroupsListResponse.php new file mode 100644 index 00000000..611a5d06 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/AdvertiserGroupsListResponse.php @@ -0,0 +1,50 @@ +advertiserGroups = $advertiserGroups; + } + public function getAdvertiserGroups() + { + return $this->advertiserGroups; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/AdvertisersListResponse.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/AdvertisersListResponse.php new file mode 100644 index 00000000..b639a4c1 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/AdvertisersListResponse.php @@ -0,0 +1,50 @@ +advertisers = $advertisers; + } + public function getAdvertisers() + { + return $this->advertisers; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/AudienceSegment.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/AudienceSegment.php new file mode 100644 index 00000000..9b42a36d --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/AudienceSegment.php @@ -0,0 +1,48 @@ +allocation = $allocation; + } + public function getAllocation() + { + return $this->allocation; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/AudienceSegmentGroup.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/AudienceSegmentGroup.php new file mode 100644 index 00000000..411fa1c8 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/AudienceSegmentGroup.php @@ -0,0 +1,50 @@ +audienceSegments = $audienceSegments; + } + public function getAudienceSegments() + { + return $this->audienceSegments; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Browser.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Browser.php new file mode 100644 index 00000000..acdd5a97 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Browser.php @@ -0,0 +1,75 @@ +browserVersionId = $browserVersionId; + } + public function getBrowserVersionId() + { + return $this->browserVersionId; + } + public function setDartId($dartId) + { + $this->dartId = $dartId; + } + public function getDartId() + { + return $this->dartId; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setMajorVersion($majorVersion) + { + $this->majorVersion = $majorVersion; + } + public function getMajorVersion() + { + return $this->majorVersion; + } + public function setMinorVersion($minorVersion) + { + $this->minorVersion = $minorVersion; + } + public function getMinorVersion() + { + return $this->minorVersion; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/BrowsersListResponse.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/BrowsersListResponse.php new file mode 100644 index 00000000..c3caa3d5 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/BrowsersListResponse.php @@ -0,0 +1,41 @@ +browsers = $browsers; + } + public function getBrowsers() + { + return $this->browsers; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Campaign.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Campaign.php new file mode 100644 index 00000000..562bb71d --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Campaign.php @@ -0,0 +1,276 @@ +accountId = $accountId; + } + public function getAccountId() + { + return $this->accountId; + } + public function setAdditionalCreativeOptimizationConfigurations($additionalCreativeOptimizationConfigurations) + { + $this->additionalCreativeOptimizationConfigurations = $additionalCreativeOptimizationConfigurations; + } + public function getAdditionalCreativeOptimizationConfigurations() + { + return $this->additionalCreativeOptimizationConfigurations; + } + public function setAdvertiserGroupId($advertiserGroupId) + { + $this->advertiserGroupId = $advertiserGroupId; + } + public function getAdvertiserGroupId() + { + return $this->advertiserGroupId; + } + public function setAdvertiserId($advertiserId) + { + $this->advertiserId = $advertiserId; + } + public function getAdvertiserId() + { + return $this->advertiserId; + } + public function setAdvertiserIdDimensionValue(Google_Service_Dfareporting_DimensionValue $advertiserIdDimensionValue) + { + $this->advertiserIdDimensionValue = $advertiserIdDimensionValue; + } + public function getAdvertiserIdDimensionValue() + { + return $this->advertiserIdDimensionValue; + } + public function setArchived($archived) + { + $this->archived = $archived; + } + public function getArchived() + { + return $this->archived; + } + public function setAudienceSegmentGroups($audienceSegmentGroups) + { + $this->audienceSegmentGroups = $audienceSegmentGroups; + } + public function getAudienceSegmentGroups() + { + return $this->audienceSegmentGroups; + } + public function setBillingInvoiceCode($billingInvoiceCode) + { + $this->billingInvoiceCode = $billingInvoiceCode; + } + public function getBillingInvoiceCode() + { + return $this->billingInvoiceCode; + } + public function setClickThroughUrlSuffixProperties(Google_Service_Dfareporting_ClickThroughUrlSuffixProperties $clickThroughUrlSuffixProperties) + { + $this->clickThroughUrlSuffixProperties = $clickThroughUrlSuffixProperties; + } + public function getClickThroughUrlSuffixProperties() + { + return $this->clickThroughUrlSuffixProperties; + } + public function setComment($comment) + { + $this->comment = $comment; + } + public function getComment() + { + return $this->comment; + } + public function setCreateInfo(Google_Service_Dfareporting_LastModifiedInfo $createInfo) + { + $this->createInfo = $createInfo; + } + public function getCreateInfo() + { + return $this->createInfo; + } + public function setCreativeGroupIds($creativeGroupIds) + { + $this->creativeGroupIds = $creativeGroupIds; + } + public function getCreativeGroupIds() + { + return $this->creativeGroupIds; + } + public function setCreativeOptimizationConfiguration(Google_Service_Dfareporting_CreativeOptimizationConfiguration $creativeOptimizationConfiguration) + { + $this->creativeOptimizationConfiguration = $creativeOptimizationConfiguration; + } + public function getCreativeOptimizationConfiguration() + { + return $this->creativeOptimizationConfiguration; + } + public function setDefaultClickThroughEventTagProperties(Google_Service_Dfareporting_DefaultClickThroughEventTagProperties $defaultClickThroughEventTagProperties) + { + $this->defaultClickThroughEventTagProperties = $defaultClickThroughEventTagProperties; + } + public function getDefaultClickThroughEventTagProperties() + { + return $this->defaultClickThroughEventTagProperties; + } + public function setEndDate($endDate) + { + $this->endDate = $endDate; + } + public function getEndDate() + { + return $this->endDate; + } + public function setEventTagOverrides($eventTagOverrides) + { + $this->eventTagOverrides = $eventTagOverrides; + } + public function getEventTagOverrides() + { + return $this->eventTagOverrides; + } + public function setExternalId($externalId) + { + $this->externalId = $externalId; + } + public function getExternalId() + { + return $this->externalId; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setIdDimensionValue(Google_Service_Dfareporting_DimensionValue $idDimensionValue) + { + $this->idDimensionValue = $idDimensionValue; + } + public function getIdDimensionValue() + { + return $this->idDimensionValue; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setLastModifiedInfo(Google_Service_Dfareporting_LastModifiedInfo $lastModifiedInfo) + { + $this->lastModifiedInfo = $lastModifiedInfo; + } + public function getLastModifiedInfo() + { + return $this->lastModifiedInfo; + } + public function setLookbackConfiguration(Google_Service_Dfareporting_LookbackConfiguration $lookbackConfiguration) + { + $this->lookbackConfiguration = $lookbackConfiguration; + } + public function getLookbackConfiguration() + { + return $this->lookbackConfiguration; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setNielsenOcrEnabled($nielsenOcrEnabled) + { + $this->nielsenOcrEnabled = $nielsenOcrEnabled; + } + public function getNielsenOcrEnabled() + { + return $this->nielsenOcrEnabled; + } + public function setStartDate($startDate) + { + $this->startDate = $startDate; + } + public function getStartDate() + { + return $this->startDate; + } + public function setSubaccountId($subaccountId) + { + $this->subaccountId = $subaccountId; + } + public function getSubaccountId() + { + return $this->subaccountId; + } + public function setTraffickerEmails($traffickerEmails) + { + $this->traffickerEmails = $traffickerEmails; + } + public function getTraffickerEmails() + { + return $this->traffickerEmails; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/CampaignCreativeAssociation.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/CampaignCreativeAssociation.php new file mode 100644 index 00000000..4ff18d41 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/CampaignCreativeAssociation.php @@ -0,0 +1,39 @@ +creativeId = $creativeId; + } + public function getCreativeId() + { + return $this->creativeId; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/CampaignCreativeAssociationsListResponse.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/CampaignCreativeAssociationsListResponse.php new file mode 100644 index 00000000..a3749f17 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/CampaignCreativeAssociationsListResponse.php @@ -0,0 +1,50 @@ +campaignCreativeAssociations = $campaignCreativeAssociations; + } + public function getCampaignCreativeAssociations() + { + return $this->campaignCreativeAssociations; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/CampaignsListResponse.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/CampaignsListResponse.php new file mode 100644 index 00000000..5bd547f2 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/CampaignsListResponse.php @@ -0,0 +1,50 @@ +campaigns = $campaigns; + } + public function getCampaigns() + { + return $this->campaigns; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/ChangeLog.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/ChangeLog.php new file mode 100644 index 00000000..9cd64f3a --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/ChangeLog.php @@ -0,0 +1,147 @@ +accountId = $accountId; + } + public function getAccountId() + { + return $this->accountId; + } + public function setAction($action) + { + $this->action = $action; + } + public function getAction() + { + return $this->action; + } + public function setChangeTime($changeTime) + { + $this->changeTime = $changeTime; + } + public function getChangeTime() + { + return $this->changeTime; + } + public function setFieldName($fieldName) + { + $this->fieldName = $fieldName; + } + public function getFieldName() + { + return $this->fieldName; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNewValue($newValue) + { + $this->newValue = $newValue; + } + public function getNewValue() + { + return $this->newValue; + } + public function setObjectId($objectId) + { + $this->objectId = $objectId; + } + public function getObjectId() + { + return $this->objectId; + } + public function setObjectType($objectType) + { + $this->objectType = $objectType; + } + public function getObjectType() + { + return $this->objectType; + } + public function setOldValue($oldValue) + { + $this->oldValue = $oldValue; + } + public function getOldValue() + { + return $this->oldValue; + } + public function setSubaccountId($subaccountId) + { + $this->subaccountId = $subaccountId; + } + public function getSubaccountId() + { + return $this->subaccountId; + } + public function setTransactionId($transactionId) + { + $this->transactionId = $transactionId; + } + public function getTransactionId() + { + return $this->transactionId; + } + public function setUserProfileId($userProfileId) + { + $this->userProfileId = $userProfileId; + } + public function getUserProfileId() + { + return $this->userProfileId; + } + public function setUserProfileName($userProfileName) + { + $this->userProfileName = $userProfileName; + } + public function getUserProfileName() + { + return $this->userProfileName; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/ChangeLogsListResponse.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/ChangeLogsListResponse.php new file mode 100644 index 00000000..a90331c5 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/ChangeLogsListResponse.php @@ -0,0 +1,50 @@ +changeLogs = $changeLogs; + } + public function getChangeLogs() + { + return $this->changeLogs; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/CitiesListResponse.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/CitiesListResponse.php new file mode 100644 index 00000000..c9ba81e1 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/CitiesListResponse.php @@ -0,0 +1,41 @@ +cities = $cities; + } + public function getCities() + { + return $this->cities; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/City.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/City.php new file mode 100644 index 00000000..6204f7b7 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/City.php @@ -0,0 +1,102 @@ +countryCode = $countryCode; + } + public function getCountryCode() + { + return $this->countryCode; + } + public function setCountryDartId($countryDartId) + { + $this->countryDartId = $countryDartId; + } + public function getCountryDartId() + { + return $this->countryDartId; + } + public function setDartId($dartId) + { + $this->dartId = $dartId; + } + public function getDartId() + { + return $this->dartId; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setMetroCode($metroCode) + { + $this->metroCode = $metroCode; + } + public function getMetroCode() + { + return $this->metroCode; + } + public function setMetroDmaId($metroDmaId) + { + $this->metroDmaId = $metroDmaId; + } + public function getMetroDmaId() + { + return $this->metroDmaId; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setRegionCode($regionCode) + { + $this->regionCode = $regionCode; + } + public function getRegionCode() + { + return $this->regionCode; + } + public function setRegionDartId($regionDartId) + { + $this->regionDartId = $regionDartId; + } + public function getRegionDartId() + { + return $this->regionDartId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/ClickTag.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/ClickTag.php new file mode 100644 index 00000000..943101c0 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/ClickTag.php @@ -0,0 +1,48 @@ +eventName = $eventName; + } + public function getEventName() + { + return $this->eventName; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setValue($value) + { + $this->value = $value; + } + public function getValue() + { + return $this->value; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/ClickThroughUrl.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/ClickThroughUrl.php new file mode 100644 index 00000000..40b85556 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/ClickThroughUrl.php @@ -0,0 +1,57 @@ +computedClickThroughUrl = $computedClickThroughUrl; + } + public function getComputedClickThroughUrl() + { + return $this->computedClickThroughUrl; + } + public function setCustomClickThroughUrl($customClickThroughUrl) + { + $this->customClickThroughUrl = $customClickThroughUrl; + } + public function getCustomClickThroughUrl() + { + return $this->customClickThroughUrl; + } + public function setDefaultLandingPage($defaultLandingPage) + { + $this->defaultLandingPage = $defaultLandingPage; + } + public function getDefaultLandingPage() + { + return $this->defaultLandingPage; + } + public function setLandingPageId($landingPageId) + { + $this->landingPageId = $landingPageId; + } + public function getLandingPageId() + { + return $this->landingPageId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/ClickThroughUrlSuffixProperties.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/ClickThroughUrlSuffixProperties.php new file mode 100644 index 00000000..a192e47c --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/ClickThroughUrlSuffixProperties.php @@ -0,0 +1,39 @@ +clickThroughUrlSuffix = $clickThroughUrlSuffix; + } + public function getClickThroughUrlSuffix() + { + return $this->clickThroughUrlSuffix; + } + public function setOverrideInheritedSuffix($overrideInheritedSuffix) + { + $this->overrideInheritedSuffix = $overrideInheritedSuffix; + } + public function getOverrideInheritedSuffix() + { + return $this->overrideInheritedSuffix; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/CompanionClickThroughOverride.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/CompanionClickThroughOverride.php new file mode 100644 index 00000000..a6333bd8 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/CompanionClickThroughOverride.php @@ -0,0 +1,40 @@ +clickThroughUrl = $clickThroughUrl; + } + public function getClickThroughUrl() + { + return $this->clickThroughUrl; + } + public function setCreativeId($creativeId) + { + $this->creativeId = $creativeId; + } + public function getCreativeId() + { + return $this->creativeId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/CompanionSetting.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/CompanionSetting.php new file mode 100644 index 00000000..f75ab2e2 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/CompanionSetting.php @@ -0,0 +1,59 @@ +companionsDisabled = $companionsDisabled; + } + public function getCompanionsDisabled() + { + return $this->companionsDisabled; + } + public function setEnabledSizes($enabledSizes) + { + $this->enabledSizes = $enabledSizes; + } + public function getEnabledSizes() + { + return $this->enabledSizes; + } + public function setImageOnly($imageOnly) + { + $this->imageOnly = $imageOnly; + } + public function getImageOnly() + { + return $this->imageOnly; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/CompatibleFields.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/CompatibleFields.php new file mode 100644 index 00000000..5619b83c --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/CompatibleFields.php @@ -0,0 +1,80 @@ +crossDimensionReachReportCompatibleFields = $crossDimensionReachReportCompatibleFields; + } + public function getCrossDimensionReachReportCompatibleFields() + { + return $this->crossDimensionReachReportCompatibleFields; + } + public function setFloodlightReportCompatibleFields(Google_Service_Dfareporting_FloodlightReportCompatibleFields $floodlightReportCompatibleFields) + { + $this->floodlightReportCompatibleFields = $floodlightReportCompatibleFields; + } + public function getFloodlightReportCompatibleFields() + { + return $this->floodlightReportCompatibleFields; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setPathToConversionReportCompatibleFields(Google_Service_Dfareporting_PathToConversionReportCompatibleFields $pathToConversionReportCompatibleFields) + { + $this->pathToConversionReportCompatibleFields = $pathToConversionReportCompatibleFields; + } + public function getPathToConversionReportCompatibleFields() + { + return $this->pathToConversionReportCompatibleFields; + } + public function setReachReportCompatibleFields(Google_Service_Dfareporting_ReachReportCompatibleFields $reachReportCompatibleFields) + { + $this->reachReportCompatibleFields = $reachReportCompatibleFields; + } + public function getReachReportCompatibleFields() + { + return $this->reachReportCompatibleFields; + } + public function setReportCompatibleFields(Google_Service_Dfareporting_ReportCompatibleFields $reportCompatibleFields) + { + $this->reportCompatibleFields = $reportCompatibleFields; + } + public function getReportCompatibleFields() + { + return $this->reportCompatibleFields; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/ConnectionType.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/ConnectionType.php new file mode 100644 index 00000000..5a2899a5 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/ConnectionType.php @@ -0,0 +1,48 @@ +id = $id; + } + public function getId() + { + return $this->id; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/ConnectionTypesListResponse.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/ConnectionTypesListResponse.php new file mode 100644 index 00000000..2ef44105 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/ConnectionTypesListResponse.php @@ -0,0 +1,41 @@ +connectionTypes = $connectionTypes; + } + public function getConnectionTypes() + { + return $this->connectionTypes; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/ContentCategoriesListResponse.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/ContentCategoriesListResponse.php new file mode 100644 index 00000000..2618be9d --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/ContentCategoriesListResponse.php @@ -0,0 +1,50 @@ +contentCategories = $contentCategories; + } + public function getContentCategories() + { + return $this->contentCategories; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/ContentCategory.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/ContentCategory.php new file mode 100644 index 00000000..d3ebe712 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/ContentCategory.php @@ -0,0 +1,57 @@ +accountId = $accountId; + } + public function getAccountId() + { + return $this->accountId; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Conversion.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Conversion.php new file mode 100644 index 00000000..c189b613 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Conversion.php @@ -0,0 +1,140 @@ +childDirectedTreatment = $childDirectedTreatment; + } + public function getChildDirectedTreatment() + { + return $this->childDirectedTreatment; + } + public function setCustomVariables($customVariables) + { + $this->customVariables = $customVariables; + } + public function getCustomVariables() + { + return $this->customVariables; + } + public function setEncryptedUserId($encryptedUserId) + { + $this->encryptedUserId = $encryptedUserId; + } + public function getEncryptedUserId() + { + return $this->encryptedUserId; + } + public function setEncryptedUserIdCandidates($encryptedUserIdCandidates) + { + $this->encryptedUserIdCandidates = $encryptedUserIdCandidates; + } + public function getEncryptedUserIdCandidates() + { + return $this->encryptedUserIdCandidates; + } + public function setFloodlightActivityId($floodlightActivityId) + { + $this->floodlightActivityId = $floodlightActivityId; + } + public function getFloodlightActivityId() + { + return $this->floodlightActivityId; + } + public function setFloodlightConfigurationId($floodlightConfigurationId) + { + $this->floodlightConfigurationId = $floodlightConfigurationId; + } + public function getFloodlightConfigurationId() + { + return $this->floodlightConfigurationId; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setLimitAdTracking($limitAdTracking) + { + $this->limitAdTracking = $limitAdTracking; + } + public function getLimitAdTracking() + { + return $this->limitAdTracking; + } + public function setMobileDeviceId($mobileDeviceId) + { + $this->mobileDeviceId = $mobileDeviceId; + } + public function getMobileDeviceId() + { + return $this->mobileDeviceId; + } + public function setOrdinal($ordinal) + { + $this->ordinal = $ordinal; + } + public function getOrdinal() + { + return $this->ordinal; + } + public function setQuantity($quantity) + { + $this->quantity = $quantity; + } + public function getQuantity() + { + return $this->quantity; + } + public function setTimestampMicros($timestampMicros) + { + $this->timestampMicros = $timestampMicros; + } + public function getTimestampMicros() + { + return $this->timestampMicros; + } + public function setValue($value) + { + $this->value = $value; + } + public function getValue() + { + return $this->value; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/ConversionError.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/ConversionError.php new file mode 100644 index 00000000..8eae13e2 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/ConversionError.php @@ -0,0 +1,48 @@ +code = $code; + } + public function getCode() + { + return $this->code; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setMessage($message) + { + $this->message = $message; + } + public function getMessage() + { + return $this->message; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/ConversionStatus.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/ConversionStatus.php new file mode 100644 index 00000000..520a0fd5 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/ConversionStatus.php @@ -0,0 +1,51 @@ +conversion = $conversion; + } + public function getConversion() + { + return $this->conversion; + } + public function setErrors($errors) + { + $this->errors = $errors; + } + public function getErrors() + { + return $this->errors; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/ConversionsBatchInsertRequest.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/ConversionsBatchInsertRequest.php new file mode 100644 index 00000000..acf5e24a --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/ConversionsBatchInsertRequest.php @@ -0,0 +1,51 @@ +conversions = $conversions; + } + public function getConversions() + { + return $this->conversions; + } + public function setEncryptionInfo(Google_Service_Dfareporting_EncryptionInfo $encryptionInfo) + { + $this->encryptionInfo = $encryptionInfo; + } + public function getEncryptionInfo() + { + return $this->encryptionInfo; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/ConversionsBatchInsertResponse.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/ConversionsBatchInsertResponse.php new file mode 100644 index 00000000..b3591cc6 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/ConversionsBatchInsertResponse.php @@ -0,0 +1,50 @@ +hasFailures = $hasFailures; + } + public function getHasFailures() + { + return $this->hasFailures; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setStatus($status) + { + $this->status = $status; + } + public function getStatus() + { + return $this->status; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/CountriesListResponse.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/CountriesListResponse.php new file mode 100644 index 00000000..02349753 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/CountriesListResponse.php @@ -0,0 +1,41 @@ +countries = $countries; + } + public function getCountries() + { + return $this->countries; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Country.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Country.php new file mode 100644 index 00000000..d1496294 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Country.php @@ -0,0 +1,66 @@ +countryCode = $countryCode; + } + public function getCountryCode() + { + return $this->countryCode; + } + public function setDartId($dartId) + { + $this->dartId = $dartId; + } + public function getDartId() + { + return $this->dartId; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setSslEnabled($sslEnabled) + { + $this->sslEnabled = $sslEnabled; + } + public function getSslEnabled() + { + return $this->sslEnabled; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Creative.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Creative.php new file mode 100644 index 00000000..1fcc633a --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Creative.php @@ -0,0 +1,599 @@ + "auto_advance_images", + ); + public $accountId; + public $active; + public $adParameters; + public $adTagKeys; + public $advertiserId; + public $allowScriptAccess; + public $archived; + public $artworkType; + public $authoringSource; + public $authoringTool; + public $autoAdvanceImages; + public $backgroundColor; + public $backupImageClickThroughUrl; + public $backupImageFeatures; + public $backupImageReportingLabel; + protected $backupImageTargetWindowType = 'Google_Service_Dfareporting_TargetWindow'; + protected $backupImageTargetWindowDataType = ''; + protected $clickTagsType = 'Google_Service_Dfareporting_ClickTag'; + protected $clickTagsDataType = 'array'; + public $commercialId; + public $companionCreatives; + public $compatibility; + public $convertFlashToHtml5; + protected $counterCustomEventsType = 'Google_Service_Dfareporting_CreativeCustomEvent'; + protected $counterCustomEventsDataType = 'array'; + protected $creativeAssetSelectionType = 'Google_Service_Dfareporting_CreativeAssetSelection'; + protected $creativeAssetSelectionDataType = ''; + protected $creativeAssetsType = 'Google_Service_Dfareporting_CreativeAsset'; + protected $creativeAssetsDataType = 'array'; + protected $creativeFieldAssignmentsType = 'Google_Service_Dfareporting_CreativeFieldAssignment'; + protected $creativeFieldAssignmentsDataType = 'array'; + public $customKeyValues; + public $dynamicAssetSelection; + protected $exitCustomEventsType = 'Google_Service_Dfareporting_CreativeCustomEvent'; + protected $exitCustomEventsDataType = 'array'; + protected $fsCommandType = 'Google_Service_Dfareporting_FsCommand'; + protected $fsCommandDataType = ''; + public $htmlCode; + public $htmlCodeLocked; + public $id; + protected $idDimensionValueType = 'Google_Service_Dfareporting_DimensionValue'; + protected $idDimensionValueDataType = ''; + public $kind; + protected $lastModifiedInfoType = 'Google_Service_Dfareporting_LastModifiedInfo'; + protected $lastModifiedInfoDataType = ''; + public $latestTraffickedCreativeId; + public $name; + public $overrideCss; + protected $progressOffsetType = 'Google_Service_Dfareporting_VideoOffset'; + protected $progressOffsetDataType = ''; + public $redirectUrl; + public $renderingId; + protected $renderingIdDimensionValueType = 'Google_Service_Dfareporting_DimensionValue'; + protected $renderingIdDimensionValueDataType = ''; + public $requiredFlashPluginVersion; + public $requiredFlashVersion; + protected $sizeType = 'Google_Service_Dfareporting_Size'; + protected $sizeDataType = ''; + protected $skipOffsetType = 'Google_Service_Dfareporting_VideoOffset'; + protected $skipOffsetDataType = ''; + public $skippable; + public $sslCompliant; + public $sslOverride; + public $studioAdvertiserId; + public $studioCreativeId; + public $studioTraffickedCreativeId; + public $subaccountId; + public $thirdPartyBackupImageImpressionsUrl; + public $thirdPartyRichMediaImpressionsUrl; + protected $thirdPartyUrlsType = 'Google_Service_Dfareporting_ThirdPartyTrackingUrl'; + protected $thirdPartyUrlsDataType = 'array'; + protected $timerCustomEventsType = 'Google_Service_Dfareporting_CreativeCustomEvent'; + protected $timerCustomEventsDataType = 'array'; + public $totalFileSize; + public $type; + public $version; + public $videoDescription; + public $videoDuration; + + public function setAccountId($accountId) + { + $this->accountId = $accountId; + } + public function getAccountId() + { + return $this->accountId; + } + public function setActive($active) + { + $this->active = $active; + } + public function getActive() + { + return $this->active; + } + public function setAdParameters($adParameters) + { + $this->adParameters = $adParameters; + } + public function getAdParameters() + { + return $this->adParameters; + } + public function setAdTagKeys($adTagKeys) + { + $this->adTagKeys = $adTagKeys; + } + public function getAdTagKeys() + { + return $this->adTagKeys; + } + public function setAdvertiserId($advertiserId) + { + $this->advertiserId = $advertiserId; + } + public function getAdvertiserId() + { + return $this->advertiserId; + } + public function setAllowScriptAccess($allowScriptAccess) + { + $this->allowScriptAccess = $allowScriptAccess; + } + public function getAllowScriptAccess() + { + return $this->allowScriptAccess; + } + public function setArchived($archived) + { + $this->archived = $archived; + } + public function getArchived() + { + return $this->archived; + } + public function setArtworkType($artworkType) + { + $this->artworkType = $artworkType; + } + public function getArtworkType() + { + return $this->artworkType; + } + public function setAuthoringSource($authoringSource) + { + $this->authoringSource = $authoringSource; + } + public function getAuthoringSource() + { + return $this->authoringSource; + } + public function setAuthoringTool($authoringTool) + { + $this->authoringTool = $authoringTool; + } + public function getAuthoringTool() + { + return $this->authoringTool; + } + public function setAutoAdvanceImages($autoAdvanceImages) + { + $this->autoAdvanceImages = $autoAdvanceImages; + } + public function getAutoAdvanceImages() + { + return $this->autoAdvanceImages; + } + public function setBackgroundColor($backgroundColor) + { + $this->backgroundColor = $backgroundColor; + } + public function getBackgroundColor() + { + return $this->backgroundColor; + } + public function setBackupImageClickThroughUrl($backupImageClickThroughUrl) + { + $this->backupImageClickThroughUrl = $backupImageClickThroughUrl; + } + public function getBackupImageClickThroughUrl() + { + return $this->backupImageClickThroughUrl; + } + public function setBackupImageFeatures($backupImageFeatures) + { + $this->backupImageFeatures = $backupImageFeatures; + } + public function getBackupImageFeatures() + { + return $this->backupImageFeatures; + } + public function setBackupImageReportingLabel($backupImageReportingLabel) + { + $this->backupImageReportingLabel = $backupImageReportingLabel; + } + public function getBackupImageReportingLabel() + { + return $this->backupImageReportingLabel; + } + public function setBackupImageTargetWindow(Google_Service_Dfareporting_TargetWindow $backupImageTargetWindow) + { + $this->backupImageTargetWindow = $backupImageTargetWindow; + } + public function getBackupImageTargetWindow() + { + return $this->backupImageTargetWindow; + } + public function setClickTags($clickTags) + { + $this->clickTags = $clickTags; + } + public function getClickTags() + { + return $this->clickTags; + } + public function setCommercialId($commercialId) + { + $this->commercialId = $commercialId; + } + public function getCommercialId() + { + return $this->commercialId; + } + public function setCompanionCreatives($companionCreatives) + { + $this->companionCreatives = $companionCreatives; + } + public function getCompanionCreatives() + { + return $this->companionCreatives; + } + public function setCompatibility($compatibility) + { + $this->compatibility = $compatibility; + } + public function getCompatibility() + { + return $this->compatibility; + } + public function setConvertFlashToHtml5($convertFlashToHtml5) + { + $this->convertFlashToHtml5 = $convertFlashToHtml5; + } + public function getConvertFlashToHtml5() + { + return $this->convertFlashToHtml5; + } + public function setCounterCustomEvents($counterCustomEvents) + { + $this->counterCustomEvents = $counterCustomEvents; + } + public function getCounterCustomEvents() + { + return $this->counterCustomEvents; + } + public function setCreativeAssetSelection(Google_Service_Dfareporting_CreativeAssetSelection $creativeAssetSelection) + { + $this->creativeAssetSelection = $creativeAssetSelection; + } + public function getCreativeAssetSelection() + { + return $this->creativeAssetSelection; + } + public function setCreativeAssets($creativeAssets) + { + $this->creativeAssets = $creativeAssets; + } + public function getCreativeAssets() + { + return $this->creativeAssets; + } + public function setCreativeFieldAssignments($creativeFieldAssignments) + { + $this->creativeFieldAssignments = $creativeFieldAssignments; + } + public function getCreativeFieldAssignments() + { + return $this->creativeFieldAssignments; + } + public function setCustomKeyValues($customKeyValues) + { + $this->customKeyValues = $customKeyValues; + } + public function getCustomKeyValues() + { + return $this->customKeyValues; + } + public function setDynamicAssetSelection($dynamicAssetSelection) + { + $this->dynamicAssetSelection = $dynamicAssetSelection; + } + public function getDynamicAssetSelection() + { + return $this->dynamicAssetSelection; + } + public function setExitCustomEvents($exitCustomEvents) + { + $this->exitCustomEvents = $exitCustomEvents; + } + public function getExitCustomEvents() + { + return $this->exitCustomEvents; + } + public function setFsCommand(Google_Service_Dfareporting_FsCommand $fsCommand) + { + $this->fsCommand = $fsCommand; + } + public function getFsCommand() + { + return $this->fsCommand; + } + public function setHtmlCode($htmlCode) + { + $this->htmlCode = $htmlCode; + } + public function getHtmlCode() + { + return $this->htmlCode; + } + public function setHtmlCodeLocked($htmlCodeLocked) + { + $this->htmlCodeLocked = $htmlCodeLocked; + } + public function getHtmlCodeLocked() + { + return $this->htmlCodeLocked; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setIdDimensionValue(Google_Service_Dfareporting_DimensionValue $idDimensionValue) + { + $this->idDimensionValue = $idDimensionValue; + } + public function getIdDimensionValue() + { + return $this->idDimensionValue; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setLastModifiedInfo(Google_Service_Dfareporting_LastModifiedInfo $lastModifiedInfo) + { + $this->lastModifiedInfo = $lastModifiedInfo; + } + public function getLastModifiedInfo() + { + return $this->lastModifiedInfo; + } + public function setLatestTraffickedCreativeId($latestTraffickedCreativeId) + { + $this->latestTraffickedCreativeId = $latestTraffickedCreativeId; + } + public function getLatestTraffickedCreativeId() + { + return $this->latestTraffickedCreativeId; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setOverrideCss($overrideCss) + { + $this->overrideCss = $overrideCss; + } + public function getOverrideCss() + { + return $this->overrideCss; + } + public function setProgressOffset(Google_Service_Dfareporting_VideoOffset $progressOffset) + { + $this->progressOffset = $progressOffset; + } + public function getProgressOffset() + { + return $this->progressOffset; + } + public function setRedirectUrl($redirectUrl) + { + $this->redirectUrl = $redirectUrl; + } + public function getRedirectUrl() + { + return $this->redirectUrl; + } + public function setRenderingId($renderingId) + { + $this->renderingId = $renderingId; + } + public function getRenderingId() + { + return $this->renderingId; + } + public function setRenderingIdDimensionValue(Google_Service_Dfareporting_DimensionValue $renderingIdDimensionValue) + { + $this->renderingIdDimensionValue = $renderingIdDimensionValue; + } + public function getRenderingIdDimensionValue() + { + return $this->renderingIdDimensionValue; + } + public function setRequiredFlashPluginVersion($requiredFlashPluginVersion) + { + $this->requiredFlashPluginVersion = $requiredFlashPluginVersion; + } + public function getRequiredFlashPluginVersion() + { + return $this->requiredFlashPluginVersion; + } + public function setRequiredFlashVersion($requiredFlashVersion) + { + $this->requiredFlashVersion = $requiredFlashVersion; + } + public function getRequiredFlashVersion() + { + return $this->requiredFlashVersion; + } + public function setSize(Google_Service_Dfareporting_Size $size) + { + $this->size = $size; + } + public function getSize() + { + return $this->size; + } + public function setSkipOffset(Google_Service_Dfareporting_VideoOffset $skipOffset) + { + $this->skipOffset = $skipOffset; + } + public function getSkipOffset() + { + return $this->skipOffset; + } + public function setSkippable($skippable) + { + $this->skippable = $skippable; + } + public function getSkippable() + { + return $this->skippable; + } + public function setSslCompliant($sslCompliant) + { + $this->sslCompliant = $sslCompliant; + } + public function getSslCompliant() + { + return $this->sslCompliant; + } + public function setSslOverride($sslOverride) + { + $this->sslOverride = $sslOverride; + } + public function getSslOverride() + { + return $this->sslOverride; + } + public function setStudioAdvertiserId($studioAdvertiserId) + { + $this->studioAdvertiserId = $studioAdvertiserId; + } + public function getStudioAdvertiserId() + { + return $this->studioAdvertiserId; + } + public function setStudioCreativeId($studioCreativeId) + { + $this->studioCreativeId = $studioCreativeId; + } + public function getStudioCreativeId() + { + return $this->studioCreativeId; + } + public function setStudioTraffickedCreativeId($studioTraffickedCreativeId) + { + $this->studioTraffickedCreativeId = $studioTraffickedCreativeId; + } + public function getStudioTraffickedCreativeId() + { + return $this->studioTraffickedCreativeId; + } + public function setSubaccountId($subaccountId) + { + $this->subaccountId = $subaccountId; + } + public function getSubaccountId() + { + return $this->subaccountId; + } + public function setThirdPartyBackupImageImpressionsUrl($thirdPartyBackupImageImpressionsUrl) + { + $this->thirdPartyBackupImageImpressionsUrl = $thirdPartyBackupImageImpressionsUrl; + } + public function getThirdPartyBackupImageImpressionsUrl() + { + return $this->thirdPartyBackupImageImpressionsUrl; + } + public function setThirdPartyRichMediaImpressionsUrl($thirdPartyRichMediaImpressionsUrl) + { + $this->thirdPartyRichMediaImpressionsUrl = $thirdPartyRichMediaImpressionsUrl; + } + public function getThirdPartyRichMediaImpressionsUrl() + { + return $this->thirdPartyRichMediaImpressionsUrl; + } + public function setThirdPartyUrls($thirdPartyUrls) + { + $this->thirdPartyUrls = $thirdPartyUrls; + } + public function getThirdPartyUrls() + { + return $this->thirdPartyUrls; + } + public function setTimerCustomEvents($timerCustomEvents) + { + $this->timerCustomEvents = $timerCustomEvents; + } + public function getTimerCustomEvents() + { + return $this->timerCustomEvents; + } + public function setTotalFileSize($totalFileSize) + { + $this->totalFileSize = $totalFileSize; + } + public function getTotalFileSize() + { + return $this->totalFileSize; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } + public function setVersion($version) + { + $this->version = $version; + } + public function getVersion() + { + return $this->version; + } + public function setVideoDescription($videoDescription) + { + $this->videoDescription = $videoDescription; + } + public function getVideoDescription() + { + return $this->videoDescription; + } + public function setVideoDuration($videoDuration) + { + $this->videoDuration = $videoDuration; + } + public function getVideoDuration() + { + return $this->videoDuration; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/CreativeAsset.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/CreativeAsset.php new file mode 100644 index 00000000..e2d06db5 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/CreativeAsset.php @@ -0,0 +1,426 @@ +actionScript3 = $actionScript3; + } + public function getActionScript3() + { + return $this->actionScript3; + } + public function setActive($active) + { + $this->active = $active; + } + public function getActive() + { + return $this->active; + } + public function setAlignment($alignment) + { + $this->alignment = $alignment; + } + public function getAlignment() + { + return $this->alignment; + } + public function setArtworkType($artworkType) + { + $this->artworkType = $artworkType; + } + public function getArtworkType() + { + return $this->artworkType; + } + public function setAssetIdentifier(Google_Service_Dfareporting_CreativeAssetId $assetIdentifier) + { + $this->assetIdentifier = $assetIdentifier; + } + public function getAssetIdentifier() + { + return $this->assetIdentifier; + } + public function setBackupImageExit(Google_Service_Dfareporting_CreativeCustomEvent $backupImageExit) + { + $this->backupImageExit = $backupImageExit; + } + public function getBackupImageExit() + { + return $this->backupImageExit; + } + public function setBitRate($bitRate) + { + $this->bitRate = $bitRate; + } + public function getBitRate() + { + return $this->bitRate; + } + public function setChildAssetType($childAssetType) + { + $this->childAssetType = $childAssetType; + } + public function getChildAssetType() + { + return $this->childAssetType; + } + public function setCollapsedSize(Google_Service_Dfareporting_Size $collapsedSize) + { + $this->collapsedSize = $collapsedSize; + } + public function getCollapsedSize() + { + return $this->collapsedSize; + } + public function setCompanionCreativeIds($companionCreativeIds) + { + $this->companionCreativeIds = $companionCreativeIds; + } + public function getCompanionCreativeIds() + { + return $this->companionCreativeIds; + } + public function setCustomStartTimeValue($customStartTimeValue) + { + $this->customStartTimeValue = $customStartTimeValue; + } + public function getCustomStartTimeValue() + { + return $this->customStartTimeValue; + } + public function setDetectedFeatures($detectedFeatures) + { + $this->detectedFeatures = $detectedFeatures; + } + public function getDetectedFeatures() + { + return $this->detectedFeatures; + } + public function setDisplayType($displayType) + { + $this->displayType = $displayType; + } + public function getDisplayType() + { + return $this->displayType; + } + public function setDuration($duration) + { + $this->duration = $duration; + } + public function getDuration() + { + return $this->duration; + } + public function setDurationType($durationType) + { + $this->durationType = $durationType; + } + public function getDurationType() + { + return $this->durationType; + } + public function setExpandedDimension(Google_Service_Dfareporting_Size $expandedDimension) + { + $this->expandedDimension = $expandedDimension; + } + public function getExpandedDimension() + { + return $this->expandedDimension; + } + public function setFileSize($fileSize) + { + $this->fileSize = $fileSize; + } + public function getFileSize() + { + return $this->fileSize; + } + public function setFlashVersion($flashVersion) + { + $this->flashVersion = $flashVersion; + } + public function getFlashVersion() + { + return $this->flashVersion; + } + public function setHideFlashObjects($hideFlashObjects) + { + $this->hideFlashObjects = $hideFlashObjects; + } + public function getHideFlashObjects() + { + return $this->hideFlashObjects; + } + public function setHideSelectionBoxes($hideSelectionBoxes) + { + $this->hideSelectionBoxes = $hideSelectionBoxes; + } + public function getHideSelectionBoxes() + { + return $this->hideSelectionBoxes; + } + public function setHorizontallyLocked($horizontallyLocked) + { + $this->horizontallyLocked = $horizontallyLocked; + } + public function getHorizontallyLocked() + { + return $this->horizontallyLocked; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setIdDimensionValue(Google_Service_Dfareporting_DimensionValue $idDimensionValue) + { + $this->idDimensionValue = $idDimensionValue; + } + public function getIdDimensionValue() + { + return $this->idDimensionValue; + } + public function setMimeType($mimeType) + { + $this->mimeType = $mimeType; + } + public function getMimeType() + { + return $this->mimeType; + } + public function setOffset(Google_Service_Dfareporting_OffsetPosition $offset) + { + $this->offset = $offset; + } + public function getOffset() + { + return $this->offset; + } + public function setOriginalBackup($originalBackup) + { + $this->originalBackup = $originalBackup; + } + public function getOriginalBackup() + { + return $this->originalBackup; + } + public function setPosition(Google_Service_Dfareporting_OffsetPosition $position) + { + $this->position = $position; + } + public function getPosition() + { + return $this->position; + } + public function setPositionLeftUnit($positionLeftUnit) + { + $this->positionLeftUnit = $positionLeftUnit; + } + public function getPositionLeftUnit() + { + return $this->positionLeftUnit; + } + public function setPositionTopUnit($positionTopUnit) + { + $this->positionTopUnit = $positionTopUnit; + } + public function getPositionTopUnit() + { + return $this->positionTopUnit; + } + public function setProgressiveServingUrl($progressiveServingUrl) + { + $this->progressiveServingUrl = $progressiveServingUrl; + } + public function getProgressiveServingUrl() + { + return $this->progressiveServingUrl; + } + public function setPushdown($pushdown) + { + $this->pushdown = $pushdown; + } + public function getPushdown() + { + return $this->pushdown; + } + public function setPushdownDuration($pushdownDuration) + { + $this->pushdownDuration = $pushdownDuration; + } + public function getPushdownDuration() + { + return $this->pushdownDuration; + } + public function setRole($role) + { + $this->role = $role; + } + public function getRole() + { + return $this->role; + } + public function setSize(Google_Service_Dfareporting_Size $size) + { + $this->size = $size; + } + public function getSize() + { + return $this->size; + } + public function setSslCompliant($sslCompliant) + { + $this->sslCompliant = $sslCompliant; + } + public function getSslCompliant() + { + return $this->sslCompliant; + } + public function setStartTimeType($startTimeType) + { + $this->startTimeType = $startTimeType; + } + public function getStartTimeType() + { + return $this->startTimeType; + } + public function setStreamingServingUrl($streamingServingUrl) + { + $this->streamingServingUrl = $streamingServingUrl; + } + public function getStreamingServingUrl() + { + return $this->streamingServingUrl; + } + public function setTransparency($transparency) + { + $this->transparency = $transparency; + } + public function getTransparency() + { + return $this->transparency; + } + public function setVerticallyLocked($verticallyLocked) + { + $this->verticallyLocked = $verticallyLocked; + } + public function getVerticallyLocked() + { + return $this->verticallyLocked; + } + public function setVideoDuration($videoDuration) + { + $this->videoDuration = $videoDuration; + } + public function getVideoDuration() + { + return $this->videoDuration; + } + public function setWindowMode($windowMode) + { + $this->windowMode = $windowMode; + } + public function getWindowMode() + { + return $this->windowMode; + } + public function setZIndex($zIndex) + { + $this->zIndex = $zIndex; + } + public function getZIndex() + { + return $this->zIndex; + } + public function setZipFilename($zipFilename) + { + $this->zipFilename = $zipFilename; + } + public function getZipFilename() + { + return $this->zipFilename; + } + public function setZipFilesize($zipFilesize) + { + $this->zipFilesize = $zipFilesize; + } + public function getZipFilesize() + { + return $this->zipFilesize; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/CreativeAssetId.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/CreativeAssetId.php new file mode 100644 index 00000000..593fb02b --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/CreativeAssetId.php @@ -0,0 +1,39 @@ +name = $name; + } + public function getName() + { + return $this->name; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/CreativeAssetMetadata.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/CreativeAssetMetadata.php new file mode 100644 index 00000000..9ce9e146 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/CreativeAssetMetadata.php @@ -0,0 +1,88 @@ +assetIdentifier = $assetIdentifier; + } + public function getAssetIdentifier() + { + return $this->assetIdentifier; + } + public function setClickTags($clickTags) + { + $this->clickTags = $clickTags; + } + public function getClickTags() + { + return $this->clickTags; + } + public function setDetectedFeatures($detectedFeatures) + { + $this->detectedFeatures = $detectedFeatures; + } + public function getDetectedFeatures() + { + return $this->detectedFeatures; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setIdDimensionValue(Google_Service_Dfareporting_DimensionValue $idDimensionValue) + { + $this->idDimensionValue = $idDimensionValue; + } + public function getIdDimensionValue() + { + return $this->idDimensionValue; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setWarnedValidationRules($warnedValidationRules) + { + $this->warnedValidationRules = $warnedValidationRules; + } + public function getWarnedValidationRules() + { + return $this->warnedValidationRules; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/CreativeAssetSelection.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/CreativeAssetSelection.php new file mode 100644 index 00000000..14581ad1 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/CreativeAssetSelection.php @@ -0,0 +1,41 @@ +defaultAssetId = $defaultAssetId; + } + public function getDefaultAssetId() + { + return $this->defaultAssetId; + } + public function setRules($rules) + { + $this->rules = $rules; + } + public function getRules() + { + return $this->rules; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/CreativeAssignment.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/CreativeAssignment.php new file mode 100644 index 00000000..bf9c21bf --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/CreativeAssignment.php @@ -0,0 +1,144 @@ +active = $active; + } + public function getActive() + { + return $this->active; + } + public function setApplyEventTags($applyEventTags) + { + $this->applyEventTags = $applyEventTags; + } + public function getApplyEventTags() + { + return $this->applyEventTags; + } + public function setClickThroughUrl(Google_Service_Dfareporting_ClickThroughUrl $clickThroughUrl) + { + $this->clickThroughUrl = $clickThroughUrl; + } + public function getClickThroughUrl() + { + return $this->clickThroughUrl; + } + public function setCompanionCreativeOverrides($companionCreativeOverrides) + { + $this->companionCreativeOverrides = $companionCreativeOverrides; + } + public function getCompanionCreativeOverrides() + { + return $this->companionCreativeOverrides; + } + public function setCreativeGroupAssignments($creativeGroupAssignments) + { + $this->creativeGroupAssignments = $creativeGroupAssignments; + } + public function getCreativeGroupAssignments() + { + return $this->creativeGroupAssignments; + } + public function setCreativeId($creativeId) + { + $this->creativeId = $creativeId; + } + public function getCreativeId() + { + return $this->creativeId; + } + public function setCreativeIdDimensionValue(Google_Service_Dfareporting_DimensionValue $creativeIdDimensionValue) + { + $this->creativeIdDimensionValue = $creativeIdDimensionValue; + } + public function getCreativeIdDimensionValue() + { + return $this->creativeIdDimensionValue; + } + public function setEndTime($endTime) + { + $this->endTime = $endTime; + } + public function getEndTime() + { + return $this->endTime; + } + public function setRichMediaExitOverrides($richMediaExitOverrides) + { + $this->richMediaExitOverrides = $richMediaExitOverrides; + } + public function getRichMediaExitOverrides() + { + return $this->richMediaExitOverrides; + } + public function setSequence($sequence) + { + $this->sequence = $sequence; + } + public function getSequence() + { + return $this->sequence; + } + public function setSslCompliant($sslCompliant) + { + $this->sslCompliant = $sslCompliant; + } + public function getSslCompliant() + { + return $this->sslCompliant; + } + public function setStartTime($startTime) + { + $this->startTime = $startTime; + } + public function getStartTime() + { + return $this->startTime; + } + public function setWeight($weight) + { + $this->weight = $weight; + } + public function getWeight() + { + return $this->weight; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/CreativeCustomEvent.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/CreativeCustomEvent.php new file mode 100644 index 00000000..3c755bac --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/CreativeCustomEvent.php @@ -0,0 +1,112 @@ +advertiserCustomEventId = $advertiserCustomEventId; + } + public function getAdvertiserCustomEventId() + { + return $this->advertiserCustomEventId; + } + public function setAdvertiserCustomEventName($advertiserCustomEventName) + { + $this->advertiserCustomEventName = $advertiserCustomEventName; + } + public function getAdvertiserCustomEventName() + { + return $this->advertiserCustomEventName; + } + public function setAdvertiserCustomEventType($advertiserCustomEventType) + { + $this->advertiserCustomEventType = $advertiserCustomEventType; + } + public function getAdvertiserCustomEventType() + { + return $this->advertiserCustomEventType; + } + public function setArtworkLabel($artworkLabel) + { + $this->artworkLabel = $artworkLabel; + } + public function getArtworkLabel() + { + return $this->artworkLabel; + } + public function setArtworkType($artworkType) + { + $this->artworkType = $artworkType; + } + public function getArtworkType() + { + return $this->artworkType; + } + public function setExitUrl($exitUrl) + { + $this->exitUrl = $exitUrl; + } + public function getExitUrl() + { + return $this->exitUrl; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setPopupWindowProperties(Google_Service_Dfareporting_PopupWindowProperties $popupWindowProperties) + { + $this->popupWindowProperties = $popupWindowProperties; + } + public function getPopupWindowProperties() + { + return $this->popupWindowProperties; + } + public function setTargetType($targetType) + { + $this->targetType = $targetType; + } + public function getTargetType() + { + return $this->targetType; + } + public function setVideoReportingId($videoReportingId) + { + $this->videoReportingId = $videoReportingId; + } + public function getVideoReportingId() + { + return $this->videoReportingId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/CreativeField.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/CreativeField.php new file mode 100644 index 00000000..9a88cfa5 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/CreativeField.php @@ -0,0 +1,85 @@ +accountId = $accountId; + } + public function getAccountId() + { + return $this->accountId; + } + public function setAdvertiserId($advertiserId) + { + $this->advertiserId = $advertiserId; + } + public function getAdvertiserId() + { + return $this->advertiserId; + } + public function setAdvertiserIdDimensionValue(Google_Service_Dfareporting_DimensionValue $advertiserIdDimensionValue) + { + $this->advertiserIdDimensionValue = $advertiserIdDimensionValue; + } + public function getAdvertiserIdDimensionValue() + { + return $this->advertiserIdDimensionValue; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setSubaccountId($subaccountId) + { + $this->subaccountId = $subaccountId; + } + public function getSubaccountId() + { + return $this->subaccountId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/CreativeFieldAssignment.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/CreativeFieldAssignment.php new file mode 100644 index 00000000..b5b71bd2 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/CreativeFieldAssignment.php @@ -0,0 +1,39 @@ +creativeFieldId = $creativeFieldId; + } + public function getCreativeFieldId() + { + return $this->creativeFieldId; + } + public function setCreativeFieldValueId($creativeFieldValueId) + { + $this->creativeFieldValueId = $creativeFieldValueId; + } + public function getCreativeFieldValueId() + { + return $this->creativeFieldValueId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/CreativeFieldValue.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/CreativeFieldValue.php new file mode 100644 index 00000000..e2eb6741 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/CreativeFieldValue.php @@ -0,0 +1,48 @@ +id = $id; + } + public function getId() + { + return $this->id; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setValue($value) + { + $this->value = $value; + } + public function getValue() + { + return $this->value; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/CreativeFieldValuesListResponse.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/CreativeFieldValuesListResponse.php new file mode 100644 index 00000000..6f18e338 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/CreativeFieldValuesListResponse.php @@ -0,0 +1,50 @@ +creativeFieldValues = $creativeFieldValues; + } + public function getCreativeFieldValues() + { + return $this->creativeFieldValues; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/CreativeFieldsListResponse.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/CreativeFieldsListResponse.php new file mode 100644 index 00000000..90270241 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/CreativeFieldsListResponse.php @@ -0,0 +1,50 @@ +creativeFields = $creativeFields; + } + public function getCreativeFields() + { + return $this->creativeFields; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/CreativeGroup.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/CreativeGroup.php new file mode 100644 index 00000000..5dc2513f --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/CreativeGroup.php @@ -0,0 +1,94 @@ +accountId = $accountId; + } + public function getAccountId() + { + return $this->accountId; + } + public function setAdvertiserId($advertiserId) + { + $this->advertiserId = $advertiserId; + } + public function getAdvertiserId() + { + return $this->advertiserId; + } + public function setAdvertiserIdDimensionValue(Google_Service_Dfareporting_DimensionValue $advertiserIdDimensionValue) + { + $this->advertiserIdDimensionValue = $advertiserIdDimensionValue; + } + public function getAdvertiserIdDimensionValue() + { + return $this->advertiserIdDimensionValue; + } + public function setGroupNumber($groupNumber) + { + $this->groupNumber = $groupNumber; + } + public function getGroupNumber() + { + return $this->groupNumber; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setSubaccountId($subaccountId) + { + $this->subaccountId = $subaccountId; + } + public function getSubaccountId() + { + return $this->subaccountId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/CreativeGroupAssignment.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/CreativeGroupAssignment.php new file mode 100644 index 00000000..a8ae2cc2 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/CreativeGroupAssignment.php @@ -0,0 +1,39 @@ +creativeGroupId = $creativeGroupId; + } + public function getCreativeGroupId() + { + return $this->creativeGroupId; + } + public function setCreativeGroupNumber($creativeGroupNumber) + { + $this->creativeGroupNumber = $creativeGroupNumber; + } + public function getCreativeGroupNumber() + { + return $this->creativeGroupNumber; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/CreativeGroupsListResponse.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/CreativeGroupsListResponse.php new file mode 100644 index 00000000..3aec0094 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/CreativeGroupsListResponse.php @@ -0,0 +1,50 @@ +creativeGroups = $creativeGroups; + } + public function getCreativeGroups() + { + return $this->creativeGroups; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/CreativeOptimizationConfiguration.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/CreativeOptimizationConfiguration.php new file mode 100644 index 00000000..b573e93d --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/CreativeOptimizationConfiguration.php @@ -0,0 +1,59 @@ +id = $id; + } + public function getId() + { + return $this->id; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setOptimizationActivitys($optimizationActivitys) + { + $this->optimizationActivitys = $optimizationActivitys; + } + public function getOptimizationActivitys() + { + return $this->optimizationActivitys; + } + public function setOptimizationModel($optimizationModel) + { + $this->optimizationModel = $optimizationModel; + } + public function getOptimizationModel() + { + return $this->optimizationModel; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/CreativeRotation.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/CreativeRotation.php new file mode 100644 index 00000000..61e12e6e --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/CreativeRotation.php @@ -0,0 +1,59 @@ +creativeAssignments = $creativeAssignments; + } + public function getCreativeAssignments() + { + return $this->creativeAssignments; + } + public function setCreativeOptimizationConfigurationId($creativeOptimizationConfigurationId) + { + $this->creativeOptimizationConfigurationId = $creativeOptimizationConfigurationId; + } + public function getCreativeOptimizationConfigurationId() + { + return $this->creativeOptimizationConfigurationId; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } + public function setWeightCalculationStrategy($weightCalculationStrategy) + { + $this->weightCalculationStrategy = $weightCalculationStrategy; + } + public function getWeightCalculationStrategy() + { + return $this->weightCalculationStrategy; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/CreativeSettings.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/CreativeSettings.php new file mode 100644 index 00000000..c9535f84 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/CreativeSettings.php @@ -0,0 +1,39 @@ +iFrameFooter = $iFrameFooter; + } + public function getIFrameFooter() + { + return $this->iFrameFooter; + } + public function setIFrameHeader($iFrameHeader) + { + $this->iFrameHeader = $iFrameHeader; + } + public function getIFrameHeader() + { + return $this->iFrameHeader; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/CreativesListResponse.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/CreativesListResponse.php new file mode 100644 index 00000000..10cfce90 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/CreativesListResponse.php @@ -0,0 +1,50 @@ +creatives = $creatives; + } + public function getCreatives() + { + return $this->creatives; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/CrossDimensionReachReportCompatibleFields.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/CrossDimensionReachReportCompatibleFields.php new file mode 100644 index 00000000..66675717 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/CrossDimensionReachReportCompatibleFields.php @@ -0,0 +1,71 @@ +breakdown = $breakdown; + } + public function getBreakdown() + { + return $this->breakdown; + } + public function setDimensionFilters($dimensionFilters) + { + $this->dimensionFilters = $dimensionFilters; + } + public function getDimensionFilters() + { + return $this->dimensionFilters; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setMetrics($metrics) + { + $this->metrics = $metrics; + } + public function getMetrics() + { + return $this->metrics; + } + public function setOverlapMetrics($overlapMetrics) + { + $this->overlapMetrics = $overlapMetrics; + } + public function getOverlapMetrics() + { + return $this->overlapMetrics; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/CustomFloodlightVariable.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/CustomFloodlightVariable.php new file mode 100644 index 00000000..6e7bb7d7 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/CustomFloodlightVariable.php @@ -0,0 +1,48 @@ +kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } + public function setValue($value) + { + $this->value = $value; + } + public function getValue() + { + return $this->value; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/CustomRichMediaEvents.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/CustomRichMediaEvents.php new file mode 100644 index 00000000..26801149 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/CustomRichMediaEvents.php @@ -0,0 +1,41 @@ +filteredEventIds = $filteredEventIds; + } + public function getFilteredEventIds() + { + return $this->filteredEventIds; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/DateRange.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/DateRange.php new file mode 100644 index 00000000..7aceccb7 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/DateRange.php @@ -0,0 +1,57 @@ +endDate = $endDate; + } + public function getEndDate() + { + return $this->endDate; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setRelativeDateRange($relativeDateRange) + { + $this->relativeDateRange = $relativeDateRange; + } + public function getRelativeDateRange() + { + return $this->relativeDateRange; + } + public function setStartDate($startDate) + { + $this->startDate = $startDate; + } + public function getStartDate() + { + return $this->startDate; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/DayPartTargeting.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/DayPartTargeting.php new file mode 100644 index 00000000..122a7dd4 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/DayPartTargeting.php @@ -0,0 +1,49 @@ +daysOfWeek = $daysOfWeek; + } + public function getDaysOfWeek() + { + return $this->daysOfWeek; + } + public function setHoursOfDay($hoursOfDay) + { + $this->hoursOfDay = $hoursOfDay; + } + public function getHoursOfDay() + { + return $this->hoursOfDay; + } + public function setUserLocalTime($userLocalTime) + { + $this->userLocalTime = $userLocalTime; + } + public function getUserLocalTime() + { + return $this->userLocalTime; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/DefaultClickThroughEventTagProperties.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/DefaultClickThroughEventTagProperties.php new file mode 100644 index 00000000..fd54dfad --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/DefaultClickThroughEventTagProperties.php @@ -0,0 +1,39 @@ +defaultClickThroughEventTagId = $defaultClickThroughEventTagId; + } + public function getDefaultClickThroughEventTagId() + { + return $this->defaultClickThroughEventTagId; + } + public function setOverrideInheritedEventTag($overrideInheritedEventTag) + { + $this->overrideInheritedEventTag = $overrideInheritedEventTag; + } + public function getOverrideInheritedEventTag() + { + return $this->overrideInheritedEventTag; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/DeliverySchedule.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/DeliverySchedule.php new file mode 100644 index 00000000..8ae4dde9 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/DeliverySchedule.php @@ -0,0 +1,58 @@ +frequencyCap = $frequencyCap; + } + public function getFrequencyCap() + { + return $this->frequencyCap; + } + public function setHardCutoff($hardCutoff) + { + $this->hardCutoff = $hardCutoff; + } + public function getHardCutoff() + { + return $this->hardCutoff; + } + public function setImpressionRatio($impressionRatio) + { + $this->impressionRatio = $impressionRatio; + } + public function getImpressionRatio() + { + return $this->impressionRatio; + } + public function setPriority($priority) + { + $this->priority = $priority; + } + public function getPriority() + { + return $this->priority; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/DfareportingFile.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/DfareportingFile.php new file mode 100644 index 00000000..f8715a3c --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/DfareportingFile.php @@ -0,0 +1,113 @@ +dateRange = $dateRange; + } + public function getDateRange() + { + return $this->dateRange; + } + public function setEtag($etag) + { + $this->etag = $etag; + } + public function getEtag() + { + return $this->etag; + } + public function setFileName($fileName) + { + $this->fileName = $fileName; + } + public function getFileName() + { + return $this->fileName; + } + public function setFormat($format) + { + $this->format = $format; + } + public function getFormat() + { + return $this->format; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setLastModifiedTime($lastModifiedTime) + { + $this->lastModifiedTime = $lastModifiedTime; + } + public function getLastModifiedTime() + { + return $this->lastModifiedTime; + } + public function setReportId($reportId) + { + $this->reportId = $reportId; + } + public function getReportId() + { + return $this->reportId; + } + public function setStatus($status) + { + $this->status = $status; + } + public function getStatus() + { + return $this->status; + } + public function setUrls(Google_Service_Dfareporting_DfareportingFileUrls $urls) + { + $this->urls = $urls; + } + public function getUrls() + { + return $this->urls; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/DfareportingFileUrls.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/DfareportingFileUrls.php new file mode 100644 index 00000000..5a293820 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/DfareportingFileUrls.php @@ -0,0 +1,39 @@ +apiUrl = $apiUrl; + } + public function getApiUrl() + { + return $this->apiUrl; + } + public function setBrowserUrl($browserUrl) + { + $this->browserUrl = $browserUrl; + } + public function getBrowserUrl() + { + return $this->browserUrl; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/DfpSettings.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/DfpSettings.php new file mode 100644 index 00000000..06ff5b6d --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/DfpSettings.php @@ -0,0 +1,70 @@ + "dfp_network_code", + "dfpNetworkName" => "dfp_network_name", + ); + public $dfpNetworkCode; + public $dfpNetworkName; + public $programmaticPlacementAccepted; + public $pubPaidPlacementAccepted; + public $publisherPortalOnly; + + public function setDfpNetworkCode($dfpNetworkCode) + { + $this->dfpNetworkCode = $dfpNetworkCode; + } + public function getDfpNetworkCode() + { + return $this->dfpNetworkCode; + } + public function setDfpNetworkName($dfpNetworkName) + { + $this->dfpNetworkName = $dfpNetworkName; + } + public function getDfpNetworkName() + { + return $this->dfpNetworkName; + } + public function setProgrammaticPlacementAccepted($programmaticPlacementAccepted) + { + $this->programmaticPlacementAccepted = $programmaticPlacementAccepted; + } + public function getProgrammaticPlacementAccepted() + { + return $this->programmaticPlacementAccepted; + } + public function setPubPaidPlacementAccepted($pubPaidPlacementAccepted) + { + $this->pubPaidPlacementAccepted = $pubPaidPlacementAccepted; + } + public function getPubPaidPlacementAccepted() + { + return $this->pubPaidPlacementAccepted; + } + public function setPublisherPortalOnly($publisherPortalOnly) + { + $this->publisherPortalOnly = $publisherPortalOnly; + } + public function getPublisherPortalOnly() + { + return $this->publisherPortalOnly; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Dimension.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Dimension.php new file mode 100644 index 00000000..74ce2a92 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Dimension.php @@ -0,0 +1,39 @@ +kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/DimensionFilter.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/DimensionFilter.php new file mode 100644 index 00000000..5d19b820 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/DimensionFilter.php @@ -0,0 +1,48 @@ +dimensionName = $dimensionName; + } + public function getDimensionName() + { + return $this->dimensionName; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setValue($value) + { + $this->value = $value; + } + public function getValue() + { + return $this->value; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/DimensionValue.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/DimensionValue.php new file mode 100644 index 00000000..c02b6df8 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/DimensionValue.php @@ -0,0 +1,75 @@ +dimensionName = $dimensionName; + } + public function getDimensionName() + { + return $this->dimensionName; + } + public function setEtag($etag) + { + $this->etag = $etag; + } + public function getEtag() + { + return $this->etag; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setMatchType($matchType) + { + $this->matchType = $matchType; + } + public function getMatchType() + { + return $this->matchType; + } + public function setValue($value) + { + $this->value = $value; + } + public function getValue() + { + return $this->value; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/DimensionValueList.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/DimensionValueList.php new file mode 100644 index 00000000..473c5e5e --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/DimensionValueList.php @@ -0,0 +1,59 @@ +etag = $etag; + } + public function getEtag() + { + return $this->etag; + } + public function setItems($items) + { + $this->items = $items; + } + public function getItems() + { + return $this->items; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/DimensionValueRequest.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/DimensionValueRequest.php new file mode 100644 index 00000000..5a4dcc0f --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/DimensionValueRequest.php @@ -0,0 +1,68 @@ +dimensionName = $dimensionName; + } + public function getDimensionName() + { + return $this->dimensionName; + } + public function setEndDate($endDate) + { + $this->endDate = $endDate; + } + public function getEndDate() + { + return $this->endDate; + } + public function setFilters($filters) + { + $this->filters = $filters; + } + public function getFilters() + { + return $this->filters; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setStartDate($startDate) + { + $this->startDate = $startDate; + } + public function getStartDate() + { + return $this->startDate; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/DirectorySite.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/DirectorySite.php new file mode 100644 index 00000000..06505841 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/DirectorySite.php @@ -0,0 +1,151 @@ +active = $active; + } + public function getActive() + { + return $this->active; + } + public function setContactAssignments($contactAssignments) + { + $this->contactAssignments = $contactAssignments; + } + public function getContactAssignments() + { + return $this->contactAssignments; + } + public function setCountryId($countryId) + { + $this->countryId = $countryId; + } + public function getCountryId() + { + return $this->countryId; + } + public function setCurrencyId($currencyId) + { + $this->currencyId = $currencyId; + } + public function getCurrencyId() + { + return $this->currencyId; + } + public function setDescription($description) + { + $this->description = $description; + } + public function getDescription() + { + return $this->description; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setIdDimensionValue(Google_Service_Dfareporting_DimensionValue $idDimensionValue) + { + $this->idDimensionValue = $idDimensionValue; + } + public function getIdDimensionValue() + { + return $this->idDimensionValue; + } + public function setInpageTagFormats($inpageTagFormats) + { + $this->inpageTagFormats = $inpageTagFormats; + } + public function getInpageTagFormats() + { + return $this->inpageTagFormats; + } + public function setInterstitialTagFormats($interstitialTagFormats) + { + $this->interstitialTagFormats = $interstitialTagFormats; + } + public function getInterstitialTagFormats() + { + return $this->interstitialTagFormats; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setParentId($parentId) + { + $this->parentId = $parentId; + } + public function getParentId() + { + return $this->parentId; + } + public function setSettings(Google_Service_Dfareporting_DirectorySiteSettings $settings) + { + $this->settings = $settings; + } + public function getSettings() + { + return $this->settings; + } + public function setUrl($url) + { + $this->url = $url; + } + public function getUrl() + { + return $this->url; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/DirectorySiteContact.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/DirectorySiteContact.php new file mode 100644 index 00000000..bf9851c5 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/DirectorySiteContact.php @@ -0,0 +1,111 @@ +address = $address; + } + public function getAddress() + { + return $this->address; + } + public function setEmail($email) + { + $this->email = $email; + } + public function getEmail() + { + return $this->email; + } + public function setFirstName($firstName) + { + $this->firstName = $firstName; + } + public function getFirstName() + { + return $this->firstName; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setLastName($lastName) + { + $this->lastName = $lastName; + } + public function getLastName() + { + return $this->lastName; + } + public function setPhone($phone) + { + $this->phone = $phone; + } + public function getPhone() + { + return $this->phone; + } + public function setRole($role) + { + $this->role = $role; + } + public function getRole() + { + return $this->role; + } + public function setTitle($title) + { + $this->title = $title; + } + public function getTitle() + { + return $this->title; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/DirectorySiteContactAssignment.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/DirectorySiteContactAssignment.php new file mode 100644 index 00000000..d0072b2d --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/DirectorySiteContactAssignment.php @@ -0,0 +1,39 @@ +contactId = $contactId; + } + public function getContactId() + { + return $this->contactId; + } + public function setVisibility($visibility) + { + $this->visibility = $visibility; + } + public function getVisibility() + { + return $this->visibility; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/DirectorySiteContactsListResponse.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/DirectorySiteContactsListResponse.php new file mode 100644 index 00000000..d7cbdd8d --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/DirectorySiteContactsListResponse.php @@ -0,0 +1,50 @@ +directorySiteContacts = $directorySiteContacts; + } + public function getDirectorySiteContacts() + { + return $this->directorySiteContacts; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/DirectorySiteSettings.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/DirectorySiteSettings.php new file mode 100644 index 00000000..6fb0da5a --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/DirectorySiteSettings.php @@ -0,0 +1,89 @@ + "dfp_settings", + "instreamVideoPlacementAccepted" => "instream_video_placement_accepted", + ); + public $activeViewOptOut; + protected $dfpSettingsType = 'Google_Service_Dfareporting_DfpSettings'; + protected $dfpSettingsDataType = ''; + public $instreamVideoPlacementAccepted; + public $interstitialPlacementAccepted; + public $nielsenOcrOptOut; + public $verificationTagOptOut; + public $videoActiveViewOptOut; + + public function setActiveViewOptOut($activeViewOptOut) + { + $this->activeViewOptOut = $activeViewOptOut; + } + public function getActiveViewOptOut() + { + return $this->activeViewOptOut; + } + public function setDfpSettings(Google_Service_Dfareporting_DfpSettings $dfpSettings) + { + $this->dfpSettings = $dfpSettings; + } + public function getDfpSettings() + { + return $this->dfpSettings; + } + public function setInstreamVideoPlacementAccepted($instreamVideoPlacementAccepted) + { + $this->instreamVideoPlacementAccepted = $instreamVideoPlacementAccepted; + } + public function getInstreamVideoPlacementAccepted() + { + return $this->instreamVideoPlacementAccepted; + } + public function setInterstitialPlacementAccepted($interstitialPlacementAccepted) + { + $this->interstitialPlacementAccepted = $interstitialPlacementAccepted; + } + public function getInterstitialPlacementAccepted() + { + return $this->interstitialPlacementAccepted; + } + public function setNielsenOcrOptOut($nielsenOcrOptOut) + { + $this->nielsenOcrOptOut = $nielsenOcrOptOut; + } + public function getNielsenOcrOptOut() + { + return $this->nielsenOcrOptOut; + } + public function setVerificationTagOptOut($verificationTagOptOut) + { + $this->verificationTagOptOut = $verificationTagOptOut; + } + public function getVerificationTagOptOut() + { + return $this->verificationTagOptOut; + } + public function setVideoActiveViewOptOut($videoActiveViewOptOut) + { + $this->videoActiveViewOptOut = $videoActiveViewOptOut; + } + public function getVideoActiveViewOptOut() + { + return $this->videoActiveViewOptOut; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/DirectorySitesListResponse.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/DirectorySitesListResponse.php new file mode 100644 index 00000000..89990085 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/DirectorySitesListResponse.php @@ -0,0 +1,50 @@ +directorySites = $directorySites; + } + public function getDirectorySites() + { + return $this->directorySites; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/DynamicTargetingKey.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/DynamicTargetingKey.php new file mode 100644 index 00000000..c29d347b --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/DynamicTargetingKey.php @@ -0,0 +1,57 @@ +kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setObjectId($objectId) + { + $this->objectId = $objectId; + } + public function getObjectId() + { + return $this->objectId; + } + public function setObjectType($objectType) + { + $this->objectType = $objectType; + } + public function getObjectType() + { + return $this->objectType; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/DynamicTargetingKeysListResponse.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/DynamicTargetingKeysListResponse.php new file mode 100644 index 00000000..f38295f6 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/DynamicTargetingKeysListResponse.php @@ -0,0 +1,41 @@ +dynamicTargetingKeys = $dynamicTargetingKeys; + } + public function getDynamicTargetingKeys() + { + return $this->dynamicTargetingKeys; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/EncryptionInfo.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/EncryptionInfo.php new file mode 100644 index 00000000..c1bccd19 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/EncryptionInfo.php @@ -0,0 +1,57 @@ +encryptionEntityId = $encryptionEntityId; + } + public function getEncryptionEntityId() + { + return $this->encryptionEntityId; + } + public function setEncryptionEntityType($encryptionEntityType) + { + $this->encryptionEntityType = $encryptionEntityType; + } + public function getEncryptionEntityType() + { + return $this->encryptionEntityType; + } + public function setEncryptionSource($encryptionSource) + { + $this->encryptionSource = $encryptionSource; + } + public function getEncryptionSource() + { + return $this->encryptionSource; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/EventTag.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/EventTag.php new file mode 100644 index 00000000..a08a7ba8 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/EventTag.php @@ -0,0 +1,186 @@ +accountId = $accountId; + } + public function getAccountId() + { + return $this->accountId; + } + public function setAdvertiserId($advertiserId) + { + $this->advertiserId = $advertiserId; + } + public function getAdvertiserId() + { + return $this->advertiserId; + } + public function setAdvertiserIdDimensionValue(Google_Service_Dfareporting_DimensionValue $advertiserIdDimensionValue) + { + $this->advertiserIdDimensionValue = $advertiserIdDimensionValue; + } + public function getAdvertiserIdDimensionValue() + { + return $this->advertiserIdDimensionValue; + } + public function setCampaignId($campaignId) + { + $this->campaignId = $campaignId; + } + public function getCampaignId() + { + return $this->campaignId; + } + public function setCampaignIdDimensionValue(Google_Service_Dfareporting_DimensionValue $campaignIdDimensionValue) + { + $this->campaignIdDimensionValue = $campaignIdDimensionValue; + } + public function getCampaignIdDimensionValue() + { + return $this->campaignIdDimensionValue; + } + public function setEnabledByDefault($enabledByDefault) + { + $this->enabledByDefault = $enabledByDefault; + } + public function getEnabledByDefault() + { + return $this->enabledByDefault; + } + public function setExcludeFromAdxRequests($excludeFromAdxRequests) + { + $this->excludeFromAdxRequests = $excludeFromAdxRequests; + } + public function getExcludeFromAdxRequests() + { + return $this->excludeFromAdxRequests; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setSiteFilterType($siteFilterType) + { + $this->siteFilterType = $siteFilterType; + } + public function getSiteFilterType() + { + return $this->siteFilterType; + } + public function setSiteIds($siteIds) + { + $this->siteIds = $siteIds; + } + public function getSiteIds() + { + return $this->siteIds; + } + public function setSslCompliant($sslCompliant) + { + $this->sslCompliant = $sslCompliant; + } + public function getSslCompliant() + { + return $this->sslCompliant; + } + public function setStatus($status) + { + $this->status = $status; + } + public function getStatus() + { + return $this->status; + } + public function setSubaccountId($subaccountId) + { + $this->subaccountId = $subaccountId; + } + public function getSubaccountId() + { + return $this->subaccountId; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } + public function setUrl($url) + { + $this->url = $url; + } + public function getUrl() + { + return $this->url; + } + public function setUrlEscapeLevels($urlEscapeLevels) + { + $this->urlEscapeLevels = $urlEscapeLevels; + } + public function getUrlEscapeLevels() + { + return $this->urlEscapeLevels; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/EventTagOverride.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/EventTagOverride.php new file mode 100644 index 00000000..d2d4a501 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/EventTagOverride.php @@ -0,0 +1,39 @@ +enabled = $enabled; + } + public function getEnabled() + { + return $this->enabled; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/EventTagsListResponse.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/EventTagsListResponse.php new file mode 100644 index 00000000..bae72d7e --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/EventTagsListResponse.php @@ -0,0 +1,41 @@ +eventTags = $eventTags; + } + public function getEventTags() + { + return $this->eventTags; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/FileList.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/FileList.php new file mode 100644 index 00000000..b4fab4e0 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/FileList.php @@ -0,0 +1,59 @@ +etag = $etag; + } + public function getEtag() + { + return $this->etag; + } + public function setItems($items) + { + $this->items = $items; + } + public function getItems() + { + return $this->items; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Flight.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Flight.php new file mode 100644 index 00000000..ec0ff945 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Flight.php @@ -0,0 +1,57 @@ +endDate = $endDate; + } + public function getEndDate() + { + return $this->endDate; + } + public function setRateOrCost($rateOrCost) + { + $this->rateOrCost = $rateOrCost; + } + public function getRateOrCost() + { + return $this->rateOrCost; + } + public function setStartDate($startDate) + { + $this->startDate = $startDate; + } + public function getStartDate() + { + return $this->startDate; + } + public function setUnits($units) + { + $this->units = $units; + } + public function getUnits() + { + return $this->units; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/FloodlightActivitiesGenerateTagResponse.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/FloodlightActivitiesGenerateTagResponse.php new file mode 100644 index 00000000..c0ad645f --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/FloodlightActivitiesGenerateTagResponse.php @@ -0,0 +1,39 @@ +floodlightActivityTag = $floodlightActivityTag; + } + public function getFloodlightActivityTag() + { + return $this->floodlightActivityTag; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/FloodlightActivitiesListResponse.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/FloodlightActivitiesListResponse.php new file mode 100644 index 00000000..12ff2c83 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/FloodlightActivitiesListResponse.php @@ -0,0 +1,50 @@ +floodlightActivities = $floodlightActivities; + } + public function getFloodlightActivities() + { + return $this->floodlightActivities; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/FloodlightActivity.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/FloodlightActivity.php new file mode 100644 index 00000000..4be8d151 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/FloodlightActivity.php @@ -0,0 +1,279 @@ +accountId = $accountId; + } + public function getAccountId() + { + return $this->accountId; + } + public function setAdvertiserId($advertiserId) + { + $this->advertiserId = $advertiserId; + } + public function getAdvertiserId() + { + return $this->advertiserId; + } + public function setAdvertiserIdDimensionValue(Google_Service_Dfareporting_DimensionValue $advertiserIdDimensionValue) + { + $this->advertiserIdDimensionValue = $advertiserIdDimensionValue; + } + public function getAdvertiserIdDimensionValue() + { + return $this->advertiserIdDimensionValue; + } + public function setCacheBustingType($cacheBustingType) + { + $this->cacheBustingType = $cacheBustingType; + } + public function getCacheBustingType() + { + return $this->cacheBustingType; + } + public function setCountingMethod($countingMethod) + { + $this->countingMethod = $countingMethod; + } + public function getCountingMethod() + { + return $this->countingMethod; + } + public function setDefaultTags($defaultTags) + { + $this->defaultTags = $defaultTags; + } + public function getDefaultTags() + { + return $this->defaultTags; + } + public function setExpectedUrl($expectedUrl) + { + $this->expectedUrl = $expectedUrl; + } + public function getExpectedUrl() + { + return $this->expectedUrl; + } + public function setFloodlightActivityGroupId($floodlightActivityGroupId) + { + $this->floodlightActivityGroupId = $floodlightActivityGroupId; + } + public function getFloodlightActivityGroupId() + { + return $this->floodlightActivityGroupId; + } + public function setFloodlightActivityGroupName($floodlightActivityGroupName) + { + $this->floodlightActivityGroupName = $floodlightActivityGroupName; + } + public function getFloodlightActivityGroupName() + { + return $this->floodlightActivityGroupName; + } + public function setFloodlightActivityGroupTagString($floodlightActivityGroupTagString) + { + $this->floodlightActivityGroupTagString = $floodlightActivityGroupTagString; + } + public function getFloodlightActivityGroupTagString() + { + return $this->floodlightActivityGroupTagString; + } + public function setFloodlightActivityGroupType($floodlightActivityGroupType) + { + $this->floodlightActivityGroupType = $floodlightActivityGroupType; + } + public function getFloodlightActivityGroupType() + { + return $this->floodlightActivityGroupType; + } + public function setFloodlightConfigurationId($floodlightConfigurationId) + { + $this->floodlightConfigurationId = $floodlightConfigurationId; + } + public function getFloodlightConfigurationId() + { + return $this->floodlightConfigurationId; + } + public function setFloodlightConfigurationIdDimensionValue(Google_Service_Dfareporting_DimensionValue $floodlightConfigurationIdDimensionValue) + { + $this->floodlightConfigurationIdDimensionValue = $floodlightConfigurationIdDimensionValue; + } + public function getFloodlightConfigurationIdDimensionValue() + { + return $this->floodlightConfigurationIdDimensionValue; + } + public function setHidden($hidden) + { + $this->hidden = $hidden; + } + public function getHidden() + { + return $this->hidden; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setIdDimensionValue(Google_Service_Dfareporting_DimensionValue $idDimensionValue) + { + $this->idDimensionValue = $idDimensionValue; + } + public function getIdDimensionValue() + { + return $this->idDimensionValue; + } + public function setImageTagEnabled($imageTagEnabled) + { + $this->imageTagEnabled = $imageTagEnabled; + } + public function getImageTagEnabled() + { + return $this->imageTagEnabled; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setNotes($notes) + { + $this->notes = $notes; + } + public function getNotes() + { + return $this->notes; + } + public function setPublisherTags($publisherTags) + { + $this->publisherTags = $publisherTags; + } + public function getPublisherTags() + { + return $this->publisherTags; + } + public function setSecure($secure) + { + $this->secure = $secure; + } + public function getSecure() + { + return $this->secure; + } + public function setSslCompliant($sslCompliant) + { + $this->sslCompliant = $sslCompliant; + } + public function getSslCompliant() + { + return $this->sslCompliant; + } + public function setSslRequired($sslRequired) + { + $this->sslRequired = $sslRequired; + } + public function getSslRequired() + { + return $this->sslRequired; + } + public function setSubaccountId($subaccountId) + { + $this->subaccountId = $subaccountId; + } + public function getSubaccountId() + { + return $this->subaccountId; + } + public function setTagFormat($tagFormat) + { + $this->tagFormat = $tagFormat; + } + public function getTagFormat() + { + return $this->tagFormat; + } + public function setTagString($tagString) + { + $this->tagString = $tagString; + } + public function getTagString() + { + return $this->tagString; + } + public function setUserDefinedVariableTypes($userDefinedVariableTypes) + { + $this->userDefinedVariableTypes = $userDefinedVariableTypes; + } + public function getUserDefinedVariableTypes() + { + return $this->userDefinedVariableTypes; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/FloodlightActivityDynamicTag.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/FloodlightActivityDynamicTag.php new file mode 100644 index 00000000..0235ca3a --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/FloodlightActivityDynamicTag.php @@ -0,0 +1,48 @@ +id = $id; + } + public function getId() + { + return $this->id; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setTag($tag) + { + $this->tag = $tag; + } + public function getTag() + { + return $this->tag; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/FloodlightActivityGroup.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/FloodlightActivityGroup.php new file mode 100644 index 00000000..5d4fdbe6 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/FloodlightActivityGroup.php @@ -0,0 +1,132 @@ +accountId = $accountId; + } + public function getAccountId() + { + return $this->accountId; + } + public function setAdvertiserId($advertiserId) + { + $this->advertiserId = $advertiserId; + } + public function getAdvertiserId() + { + return $this->advertiserId; + } + public function setAdvertiserIdDimensionValue(Google_Service_Dfareporting_DimensionValue $advertiserIdDimensionValue) + { + $this->advertiserIdDimensionValue = $advertiserIdDimensionValue; + } + public function getAdvertiserIdDimensionValue() + { + return $this->advertiserIdDimensionValue; + } + public function setFloodlightConfigurationId($floodlightConfigurationId) + { + $this->floodlightConfigurationId = $floodlightConfigurationId; + } + public function getFloodlightConfigurationId() + { + return $this->floodlightConfigurationId; + } + public function setFloodlightConfigurationIdDimensionValue(Google_Service_Dfareporting_DimensionValue $floodlightConfigurationIdDimensionValue) + { + $this->floodlightConfigurationIdDimensionValue = $floodlightConfigurationIdDimensionValue; + } + public function getFloodlightConfigurationIdDimensionValue() + { + return $this->floodlightConfigurationIdDimensionValue; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setIdDimensionValue(Google_Service_Dfareporting_DimensionValue $idDimensionValue) + { + $this->idDimensionValue = $idDimensionValue; + } + public function getIdDimensionValue() + { + return $this->idDimensionValue; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setSubaccountId($subaccountId) + { + $this->subaccountId = $subaccountId; + } + public function getSubaccountId() + { + return $this->subaccountId; + } + public function setTagString($tagString) + { + $this->tagString = $tagString; + } + public function getTagString() + { + return $this->tagString; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/FloodlightActivityGroupsListResponse.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/FloodlightActivityGroupsListResponse.php new file mode 100644 index 00000000..82def03b --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/FloodlightActivityGroupsListResponse.php @@ -0,0 +1,50 @@ +floodlightActivityGroups = $floodlightActivityGroups; + } + public function getFloodlightActivityGroups() + { + return $this->floodlightActivityGroups; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/FloodlightActivityPublisherDynamicTag.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/FloodlightActivityPublisherDynamicTag.php new file mode 100644 index 00000000..032b96fc --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/FloodlightActivityPublisherDynamicTag.php @@ -0,0 +1,77 @@ +clickThrough = $clickThrough; + } + public function getClickThrough() + { + return $this->clickThrough; + } + public function setDirectorySiteId($directorySiteId) + { + $this->directorySiteId = $directorySiteId; + } + public function getDirectorySiteId() + { + return $this->directorySiteId; + } + public function setDynamicTag(Google_Service_Dfareporting_FloodlightActivityDynamicTag $dynamicTag) + { + $this->dynamicTag = $dynamicTag; + } + public function getDynamicTag() + { + return $this->dynamicTag; + } + public function setSiteId($siteId) + { + $this->siteId = $siteId; + } + public function getSiteId() + { + return $this->siteId; + } + public function setSiteIdDimensionValue(Google_Service_Dfareporting_DimensionValue $siteIdDimensionValue) + { + $this->siteIdDimensionValue = $siteIdDimensionValue; + } + public function getSiteIdDimensionValue() + { + return $this->siteIdDimensionValue; + } + public function setViewThrough($viewThrough) + { + $this->viewThrough = $viewThrough; + } + public function getViewThrough() + { + return $this->viewThrough; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/FloodlightConfiguration.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/FloodlightConfiguration.php new file mode 100644 index 00000000..b923bd2d --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/FloodlightConfiguration.php @@ -0,0 +1,191 @@ +accountId = $accountId; + } + public function getAccountId() + { + return $this->accountId; + } + public function setAdvertiserId($advertiserId) + { + $this->advertiserId = $advertiserId; + } + public function getAdvertiserId() + { + return $this->advertiserId; + } + public function setAdvertiserIdDimensionValue(Google_Service_Dfareporting_DimensionValue $advertiserIdDimensionValue) + { + $this->advertiserIdDimensionValue = $advertiserIdDimensionValue; + } + public function getAdvertiserIdDimensionValue() + { + return $this->advertiserIdDimensionValue; + } + public function setAnalyticsDataSharingEnabled($analyticsDataSharingEnabled) + { + $this->analyticsDataSharingEnabled = $analyticsDataSharingEnabled; + } + public function getAnalyticsDataSharingEnabled() + { + return $this->analyticsDataSharingEnabled; + } + public function setExposureToConversionEnabled($exposureToConversionEnabled) + { + $this->exposureToConversionEnabled = $exposureToConversionEnabled; + } + public function getExposureToConversionEnabled() + { + return $this->exposureToConversionEnabled; + } + public function setFirstDayOfWeek($firstDayOfWeek) + { + $this->firstDayOfWeek = $firstDayOfWeek; + } + public function getFirstDayOfWeek() + { + return $this->firstDayOfWeek; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setIdDimensionValue(Google_Service_Dfareporting_DimensionValue $idDimensionValue) + { + $this->idDimensionValue = $idDimensionValue; + } + public function getIdDimensionValue() + { + return $this->idDimensionValue; + } + public function setInAppAttributionTrackingEnabled($inAppAttributionTrackingEnabled) + { + $this->inAppAttributionTrackingEnabled = $inAppAttributionTrackingEnabled; + } + public function getInAppAttributionTrackingEnabled() + { + return $this->inAppAttributionTrackingEnabled; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setLookbackConfiguration(Google_Service_Dfareporting_LookbackConfiguration $lookbackConfiguration) + { + $this->lookbackConfiguration = $lookbackConfiguration; + } + public function getLookbackConfiguration() + { + return $this->lookbackConfiguration; + } + public function setNaturalSearchConversionAttributionOption($naturalSearchConversionAttributionOption) + { + $this->naturalSearchConversionAttributionOption = $naturalSearchConversionAttributionOption; + } + public function getNaturalSearchConversionAttributionOption() + { + return $this->naturalSearchConversionAttributionOption; + } + public function setOmnitureSettings(Google_Service_Dfareporting_OmnitureSettings $omnitureSettings) + { + $this->omnitureSettings = $omnitureSettings; + } + public function getOmnitureSettings() + { + return $this->omnitureSettings; + } + public function setStandardVariableTypes($standardVariableTypes) + { + $this->standardVariableTypes = $standardVariableTypes; + } + public function getStandardVariableTypes() + { + return $this->standardVariableTypes; + } + public function setSubaccountId($subaccountId) + { + $this->subaccountId = $subaccountId; + } + public function getSubaccountId() + { + return $this->subaccountId; + } + public function setTagSettings(Google_Service_Dfareporting_TagSettings $tagSettings) + { + $this->tagSettings = $tagSettings; + } + public function getTagSettings() + { + return $this->tagSettings; + } + public function setThirdPartyAuthenticationTokens($thirdPartyAuthenticationTokens) + { + $this->thirdPartyAuthenticationTokens = $thirdPartyAuthenticationTokens; + } + public function getThirdPartyAuthenticationTokens() + { + return $this->thirdPartyAuthenticationTokens; + } + public function setUserDefinedVariableConfigurations($userDefinedVariableConfigurations) + { + $this->userDefinedVariableConfigurations = $userDefinedVariableConfigurations; + } + public function getUserDefinedVariableConfigurations() + { + return $this->userDefinedVariableConfigurations; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/FloodlightConfigurationsListResponse.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/FloodlightConfigurationsListResponse.php new file mode 100644 index 00000000..18e68ca7 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/FloodlightConfigurationsListResponse.php @@ -0,0 +1,41 @@ +floodlightConfigurations = $floodlightConfigurations; + } + public function getFloodlightConfigurations() + { + return $this->floodlightConfigurations; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/FloodlightReportCompatibleFields.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/FloodlightReportCompatibleFields.php new file mode 100644 index 00000000..9e9de516 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/FloodlightReportCompatibleFields.php @@ -0,0 +1,61 @@ +dimensionFilters = $dimensionFilters; + } + public function getDimensionFilters() + { + return $this->dimensionFilters; + } + public function setDimensions($dimensions) + { + $this->dimensions = $dimensions; + } + public function getDimensions() + { + return $this->dimensions; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setMetrics($metrics) + { + $this->metrics = $metrics; + } + public function getMetrics() + { + return $this->metrics; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/FrequencyCap.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/FrequencyCap.php new file mode 100644 index 00000000..575b905e --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/FrequencyCap.php @@ -0,0 +1,39 @@ +duration = $duration; + } + public function getDuration() + { + return $this->duration; + } + public function setImpressions($impressions) + { + $this->impressions = $impressions; + } + public function getImpressions() + { + return $this->impressions; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/FsCommand.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/FsCommand.php new file mode 100644 index 00000000..1dc4c0c9 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/FsCommand.php @@ -0,0 +1,66 @@ +left = $left; + } + public function getLeft() + { + return $this->left; + } + public function setPositionOption($positionOption) + { + $this->positionOption = $positionOption; + } + public function getPositionOption() + { + return $this->positionOption; + } + public function setTop($top) + { + $this->top = $top; + } + public function getTop() + { + return $this->top; + } + public function setWindowHeight($windowHeight) + { + $this->windowHeight = $windowHeight; + } + public function getWindowHeight() + { + return $this->windowHeight; + } + public function setWindowWidth($windowWidth) + { + $this->windowWidth = $windowWidth; + } + public function getWindowWidth() + { + return $this->windowWidth; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/GeoTargeting.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/GeoTargeting.php new file mode 100644 index 00000000..164960f6 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/GeoTargeting.php @@ -0,0 +1,81 @@ +cities = $cities; + } + public function getCities() + { + return $this->cities; + } + public function setCountries($countries) + { + $this->countries = $countries; + } + public function getCountries() + { + return $this->countries; + } + public function setExcludeCountries($excludeCountries) + { + $this->excludeCountries = $excludeCountries; + } + public function getExcludeCountries() + { + return $this->excludeCountries; + } + public function setMetros($metros) + { + $this->metros = $metros; + } + public function getMetros() + { + return $this->metros; + } + public function setPostalCodes($postalCodes) + { + $this->postalCodes = $postalCodes; + } + public function getPostalCodes() + { + return $this->postalCodes; + } + public function setRegions($regions) + { + $this->regions = $regions; + } + public function getRegions() + { + return $this->regions; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/InventoryItem.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/InventoryItem.php new file mode 100644 index 00000000..560ea238 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/InventoryItem.php @@ -0,0 +1,205 @@ +accountId = $accountId; + } + public function getAccountId() + { + return $this->accountId; + } + public function setAdSlots($adSlots) + { + $this->adSlots = $adSlots; + } + public function getAdSlots() + { + return $this->adSlots; + } + public function setAdvertiserId($advertiserId) + { + $this->advertiserId = $advertiserId; + } + public function getAdvertiserId() + { + return $this->advertiserId; + } + public function setContentCategoryId($contentCategoryId) + { + $this->contentCategoryId = $contentCategoryId; + } + public function getContentCategoryId() + { + return $this->contentCategoryId; + } + public function setEstimatedClickThroughRate($estimatedClickThroughRate) + { + $this->estimatedClickThroughRate = $estimatedClickThroughRate; + } + public function getEstimatedClickThroughRate() + { + return $this->estimatedClickThroughRate; + } + public function setEstimatedConversionRate($estimatedConversionRate) + { + $this->estimatedConversionRate = $estimatedConversionRate; + } + public function getEstimatedConversionRate() + { + return $this->estimatedConversionRate; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setInPlan($inPlan) + { + $this->inPlan = $inPlan; + } + public function getInPlan() + { + return $this->inPlan; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setLastModifiedInfo(Google_Service_Dfareporting_LastModifiedInfo $lastModifiedInfo) + { + $this->lastModifiedInfo = $lastModifiedInfo; + } + public function getLastModifiedInfo() + { + return $this->lastModifiedInfo; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setNegotiationChannelId($negotiationChannelId) + { + $this->negotiationChannelId = $negotiationChannelId; + } + public function getNegotiationChannelId() + { + return $this->negotiationChannelId; + } + public function setOrderId($orderId) + { + $this->orderId = $orderId; + } + public function getOrderId() + { + return $this->orderId; + } + public function setPlacementStrategyId($placementStrategyId) + { + $this->placementStrategyId = $placementStrategyId; + } + public function getPlacementStrategyId() + { + return $this->placementStrategyId; + } + public function setPricing(Google_Service_Dfareporting_Pricing $pricing) + { + $this->pricing = $pricing; + } + public function getPricing() + { + return $this->pricing; + } + public function setProjectId($projectId) + { + $this->projectId = $projectId; + } + public function getProjectId() + { + return $this->projectId; + } + public function setRfpId($rfpId) + { + $this->rfpId = $rfpId; + } + public function getRfpId() + { + return $this->rfpId; + } + public function setSiteId($siteId) + { + $this->siteId = $siteId; + } + public function getSiteId() + { + return $this->siteId; + } + public function setSubaccountId($subaccountId) + { + $this->subaccountId = $subaccountId; + } + public function getSubaccountId() + { + return $this->subaccountId; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/InventoryItemsListResponse.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/InventoryItemsListResponse.php new file mode 100644 index 00000000..07824ba3 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/InventoryItemsListResponse.php @@ -0,0 +1,50 @@ +inventoryItems = $inventoryItems; + } + public function getInventoryItems() + { + return $this->inventoryItems; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/KeyValueTargetingExpression.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/KeyValueTargetingExpression.php new file mode 100644 index 00000000..cce2661b --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/KeyValueTargetingExpression.php @@ -0,0 +1,30 @@ +expression = $expression; + } + public function getExpression() + { + return $this->expression; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/LandingPage.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/LandingPage.php new file mode 100644 index 00000000..b5156804 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/LandingPage.php @@ -0,0 +1,66 @@ +default = $default; + } + public function getDefault() + { + return $this->default; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setUrl($url) + { + $this->url = $url; + } + public function getUrl() + { + return $this->url; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/LandingPagesListResponse.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/LandingPagesListResponse.php new file mode 100644 index 00000000..b402046f --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/LandingPagesListResponse.php @@ -0,0 +1,41 @@ +kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setLandingPages($landingPages) + { + $this->landingPages = $landingPages; + } + public function getLandingPages() + { + return $this->landingPages; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Language.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Language.php new file mode 100644 index 00000000..e9ebe424 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Language.php @@ -0,0 +1,57 @@ +id = $id; + } + public function getId() + { + return $this->id; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setLanguageCode($languageCode) + { + $this->languageCode = $languageCode; + } + public function getLanguageCode() + { + return $this->languageCode; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/LanguageTargeting.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/LanguageTargeting.php new file mode 100644 index 00000000..3d375866 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/LanguageTargeting.php @@ -0,0 +1,32 @@ +languages = $languages; + } + public function getLanguages() + { + return $this->languages; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/LanguagesListResponse.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/LanguagesListResponse.php new file mode 100644 index 00000000..db2ea185 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/LanguagesListResponse.php @@ -0,0 +1,41 @@ +kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setLanguages($languages) + { + $this->languages = $languages; + } + public function getLanguages() + { + return $this->languages; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/LastModifiedInfo.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/LastModifiedInfo.php new file mode 100644 index 00000000..985e97f9 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/LastModifiedInfo.php @@ -0,0 +1,30 @@ +time = $time; + } + public function getTime() + { + return $this->time; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/ListPopulationClause.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/ListPopulationClause.php new file mode 100644 index 00000000..c5b1cd25 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/ListPopulationClause.php @@ -0,0 +1,32 @@ +terms = $terms; + } + public function getTerms() + { + return $this->terms; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/ListPopulationRule.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/ListPopulationRule.php new file mode 100644 index 00000000..3841c63c --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/ListPopulationRule.php @@ -0,0 +1,50 @@ +floodlightActivityId = $floodlightActivityId; + } + public function getFloodlightActivityId() + { + return $this->floodlightActivityId; + } + public function setFloodlightActivityName($floodlightActivityName) + { + $this->floodlightActivityName = $floodlightActivityName; + } + public function getFloodlightActivityName() + { + return $this->floodlightActivityName; + } + public function setListPopulationClauses($listPopulationClauses) + { + $this->listPopulationClauses = $listPopulationClauses; + } + public function getListPopulationClauses() + { + return $this->listPopulationClauses; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/ListPopulationTerm.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/ListPopulationTerm.php new file mode 100644 index 00000000..54f358ff --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/ListPopulationTerm.php @@ -0,0 +1,93 @@ +contains = $contains; + } + public function getContains() + { + return $this->contains; + } + public function setNegation($negation) + { + $this->negation = $negation; + } + public function getNegation() + { + return $this->negation; + } + public function setOperator($operator) + { + $this->operator = $operator; + } + public function getOperator() + { + return $this->operator; + } + public function setRemarketingListId($remarketingListId) + { + $this->remarketingListId = $remarketingListId; + } + public function getRemarketingListId() + { + return $this->remarketingListId; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } + public function setValue($value) + { + $this->value = $value; + } + public function getValue() + { + return $this->value; + } + public function setVariableFriendlyName($variableFriendlyName) + { + $this->variableFriendlyName = $variableFriendlyName; + } + public function getVariableFriendlyName() + { + return $this->variableFriendlyName; + } + public function setVariableName($variableName) + { + $this->variableName = $variableName; + } + public function getVariableName() + { + return $this->variableName; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/ListTargetingExpression.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/ListTargetingExpression.php new file mode 100644 index 00000000..b8ae7dca --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/ListTargetingExpression.php @@ -0,0 +1,30 @@ +expression = $expression; + } + public function getExpression() + { + return $this->expression; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/LookbackConfiguration.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/LookbackConfiguration.php new file mode 100644 index 00000000..75529d53 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/LookbackConfiguration.php @@ -0,0 +1,39 @@ +clickDuration = $clickDuration; + } + public function getClickDuration() + { + return $this->clickDuration; + } + public function setPostImpressionActivitiesDuration($postImpressionActivitiesDuration) + { + $this->postImpressionActivitiesDuration = $postImpressionActivitiesDuration; + } + public function getPostImpressionActivitiesDuration() + { + return $this->postImpressionActivitiesDuration; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Metric.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Metric.php new file mode 100644 index 00000000..9b2ea3a1 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Metric.php @@ -0,0 +1,39 @@ +kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Metro.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Metro.php new file mode 100644 index 00000000..4234051c --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Metro.php @@ -0,0 +1,84 @@ +countryCode = $countryCode; + } + public function getCountryCode() + { + return $this->countryCode; + } + public function setCountryDartId($countryDartId) + { + $this->countryDartId = $countryDartId; + } + public function getCountryDartId() + { + return $this->countryDartId; + } + public function setDartId($dartId) + { + $this->dartId = $dartId; + } + public function getDartId() + { + return $this->dartId; + } + public function setDmaId($dmaId) + { + $this->dmaId = $dmaId; + } + public function getDmaId() + { + return $this->dmaId; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setMetroCode($metroCode) + { + $this->metroCode = $metroCode; + } + public function getMetroCode() + { + return $this->metroCode; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/MetrosListResponse.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/MetrosListResponse.php new file mode 100644 index 00000000..5378847f --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/MetrosListResponse.php @@ -0,0 +1,41 @@ +kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setMetros($metros) + { + $this->metros = $metros; + } + public function getMetros() + { + return $this->metros; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/MobileCarrier.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/MobileCarrier.php new file mode 100644 index 00000000..952922d2 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/MobileCarrier.php @@ -0,0 +1,66 @@ +countryCode = $countryCode; + } + public function getCountryCode() + { + return $this->countryCode; + } + public function setCountryDartId($countryDartId) + { + $this->countryDartId = $countryDartId; + } + public function getCountryDartId() + { + return $this->countryDartId; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/MobileCarriersListResponse.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/MobileCarriersListResponse.php new file mode 100644 index 00000000..f330ea60 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/MobileCarriersListResponse.php @@ -0,0 +1,41 @@ +kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setMobileCarriers($mobileCarriers) + { + $this->mobileCarriers = $mobileCarriers; + } + public function getMobileCarriers() + { + return $this->mobileCarriers; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/ObjectFilter.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/ObjectFilter.php new file mode 100644 index 00000000..a61bb339 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/ObjectFilter.php @@ -0,0 +1,49 @@ +kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setObjectIds($objectIds) + { + $this->objectIds = $objectIds; + } + public function getObjectIds() + { + return $this->objectIds; + } + public function setStatus($status) + { + $this->status = $status; + } + public function getStatus() + { + return $this->status; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/OffsetPosition.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/OffsetPosition.php new file mode 100644 index 00000000..f91e3df4 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/OffsetPosition.php @@ -0,0 +1,39 @@ +left = $left; + } + public function getLeft() + { + return $this->left; + } + public function setTop($top) + { + $this->top = $top; + } + public function getTop() + { + return $this->top; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/OmnitureSettings.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/OmnitureSettings.php new file mode 100644 index 00000000..461af1f4 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/OmnitureSettings.php @@ -0,0 +1,39 @@ +omnitureCostDataEnabled = $omnitureCostDataEnabled; + } + public function getOmnitureCostDataEnabled() + { + return $this->omnitureCostDataEnabled; + } + public function setOmnitureIntegrationEnabled($omnitureIntegrationEnabled) + { + $this->omnitureIntegrationEnabled = $omnitureIntegrationEnabled; + } + public function getOmnitureIntegrationEnabled() + { + return $this->omnitureIntegrationEnabled; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/OperatingSystem.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/OperatingSystem.php new file mode 100644 index 00000000..90d0b79b --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/OperatingSystem.php @@ -0,0 +1,66 @@ +dartId = $dartId; + } + public function getDartId() + { + return $this->dartId; + } + public function setDesktop($desktop) + { + $this->desktop = $desktop; + } + public function getDesktop() + { + return $this->desktop; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setMobile($mobile) + { + $this->mobile = $mobile; + } + public function getMobile() + { + return $this->mobile; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/OperatingSystemVersion.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/OperatingSystemVersion.php new file mode 100644 index 00000000..f033d258 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/OperatingSystemVersion.php @@ -0,0 +1,76 @@ +id = $id; + } + public function getId() + { + return $this->id; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setMajorVersion($majorVersion) + { + $this->majorVersion = $majorVersion; + } + public function getMajorVersion() + { + return $this->majorVersion; + } + public function setMinorVersion($minorVersion) + { + $this->minorVersion = $minorVersion; + } + public function getMinorVersion() + { + return $this->minorVersion; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setOperatingSystem(Google_Service_Dfareporting_OperatingSystem $operatingSystem) + { + $this->operatingSystem = $operatingSystem; + } + public function getOperatingSystem() + { + return $this->operatingSystem; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/OperatingSystemVersionsListResponse.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/OperatingSystemVersionsListResponse.php new file mode 100644 index 00000000..e6930897 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/OperatingSystemVersionsListResponse.php @@ -0,0 +1,41 @@ +kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setOperatingSystemVersions($operatingSystemVersions) + { + $this->operatingSystemVersions = $operatingSystemVersions; + } + public function getOperatingSystemVersions() + { + return $this->operatingSystemVersions; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/OperatingSystemsListResponse.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/OperatingSystemsListResponse.php new file mode 100644 index 00000000..bdcc6a28 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/OperatingSystemsListResponse.php @@ -0,0 +1,41 @@ +kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setOperatingSystems($operatingSystems) + { + $this->operatingSystems = $operatingSystems; + } + public function getOperatingSystems() + { + return $this->operatingSystems; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/OptimizationActivity.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/OptimizationActivity.php new file mode 100644 index 00000000..f9539cde --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/OptimizationActivity.php @@ -0,0 +1,49 @@ +floodlightActivityId = $floodlightActivityId; + } + public function getFloodlightActivityId() + { + return $this->floodlightActivityId; + } + public function setFloodlightActivityIdDimensionValue(Google_Service_Dfareporting_DimensionValue $floodlightActivityIdDimensionValue) + { + $this->floodlightActivityIdDimensionValue = $floodlightActivityIdDimensionValue; + } + public function getFloodlightActivityIdDimensionValue() + { + return $this->floodlightActivityIdDimensionValue; + } + public function setWeight($weight) + { + $this->weight = $weight; + } + public function getWeight() + { + return $this->weight; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Order.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Order.php new file mode 100644 index 00000000..da665f4f --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Order.php @@ -0,0 +1,204 @@ +accountId = $accountId; + } + public function getAccountId() + { + return $this->accountId; + } + public function setAdvertiserId($advertiserId) + { + $this->advertiserId = $advertiserId; + } + public function getAdvertiserId() + { + return $this->advertiserId; + } + public function setApproverUserProfileIds($approverUserProfileIds) + { + $this->approverUserProfileIds = $approverUserProfileIds; + } + public function getApproverUserProfileIds() + { + return $this->approverUserProfileIds; + } + public function setBuyerInvoiceId($buyerInvoiceId) + { + $this->buyerInvoiceId = $buyerInvoiceId; + } + public function getBuyerInvoiceId() + { + return $this->buyerInvoiceId; + } + public function setBuyerOrganizationName($buyerOrganizationName) + { + $this->buyerOrganizationName = $buyerOrganizationName; + } + public function getBuyerOrganizationName() + { + return $this->buyerOrganizationName; + } + public function setComments($comments) + { + $this->comments = $comments; + } + public function getComments() + { + return $this->comments; + } + public function setContacts($contacts) + { + $this->contacts = $contacts; + } + public function getContacts() + { + return $this->contacts; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setLastModifiedInfo(Google_Service_Dfareporting_LastModifiedInfo $lastModifiedInfo) + { + $this->lastModifiedInfo = $lastModifiedInfo; + } + public function getLastModifiedInfo() + { + return $this->lastModifiedInfo; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setNotes($notes) + { + $this->notes = $notes; + } + public function getNotes() + { + return $this->notes; + } + public function setPlanningTermId($planningTermId) + { + $this->planningTermId = $planningTermId; + } + public function getPlanningTermId() + { + return $this->planningTermId; + } + public function setProjectId($projectId) + { + $this->projectId = $projectId; + } + public function getProjectId() + { + return $this->projectId; + } + public function setSellerOrderId($sellerOrderId) + { + $this->sellerOrderId = $sellerOrderId; + } + public function getSellerOrderId() + { + return $this->sellerOrderId; + } + public function setSellerOrganizationName($sellerOrganizationName) + { + $this->sellerOrganizationName = $sellerOrganizationName; + } + public function getSellerOrganizationName() + { + return $this->sellerOrganizationName; + } + public function setSiteId($siteId) + { + $this->siteId = $siteId; + } + public function getSiteId() + { + return $this->siteId; + } + public function setSiteNames($siteNames) + { + $this->siteNames = $siteNames; + } + public function getSiteNames() + { + return $this->siteNames; + } + public function setSubaccountId($subaccountId) + { + $this->subaccountId = $subaccountId; + } + public function getSubaccountId() + { + return $this->subaccountId; + } + public function setTermsAndConditions($termsAndConditions) + { + $this->termsAndConditions = $termsAndConditions; + } + public function getTermsAndConditions() + { + return $this->termsAndConditions; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/OrderContact.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/OrderContact.php new file mode 100644 index 00000000..2166196f --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/OrderContact.php @@ -0,0 +1,66 @@ +contactInfo = $contactInfo; + } + public function getContactInfo() + { + return $this->contactInfo; + } + public function setContactName($contactName) + { + $this->contactName = $contactName; + } + public function getContactName() + { + return $this->contactName; + } + public function setContactTitle($contactTitle) + { + $this->contactTitle = $contactTitle; + } + public function getContactTitle() + { + return $this->contactTitle; + } + public function setContactType($contactType) + { + $this->contactType = $contactType; + } + public function getContactType() + { + return $this->contactType; + } + public function setSignatureUserProfileId($signatureUserProfileId) + { + $this->signatureUserProfileId = $signatureUserProfileId; + } + public function getSignatureUserProfileId() + { + return $this->signatureUserProfileId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/OrderDocument.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/OrderDocument.php new file mode 100644 index 00000000..a7a26bf4 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/OrderDocument.php @@ -0,0 +1,176 @@ +accountId = $accountId; + } + public function getAccountId() + { + return $this->accountId; + } + public function setAdvertiserId($advertiserId) + { + $this->advertiserId = $advertiserId; + } + public function getAdvertiserId() + { + return $this->advertiserId; + } + public function setAmendedOrderDocumentId($amendedOrderDocumentId) + { + $this->amendedOrderDocumentId = $amendedOrderDocumentId; + } + public function getAmendedOrderDocumentId() + { + return $this->amendedOrderDocumentId; + } + public function setApprovedByUserProfileIds($approvedByUserProfileIds) + { + $this->approvedByUserProfileIds = $approvedByUserProfileIds; + } + public function getApprovedByUserProfileIds() + { + return $this->approvedByUserProfileIds; + } + public function setCancelled($cancelled) + { + $this->cancelled = $cancelled; + } + public function getCancelled() + { + return $this->cancelled; + } + public function setCreatedInfo(Google_Service_Dfareporting_LastModifiedInfo $createdInfo) + { + $this->createdInfo = $createdInfo; + } + public function getCreatedInfo() + { + return $this->createdInfo; + } + public function setEffectiveDate($effectiveDate) + { + $this->effectiveDate = $effectiveDate; + } + public function getEffectiveDate() + { + return $this->effectiveDate; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setLastSentRecipients($lastSentRecipients) + { + $this->lastSentRecipients = $lastSentRecipients; + } + public function getLastSentRecipients() + { + return $this->lastSentRecipients; + } + public function setLastSentTime($lastSentTime) + { + $this->lastSentTime = $lastSentTime; + } + public function getLastSentTime() + { + return $this->lastSentTime; + } + public function setOrderId($orderId) + { + $this->orderId = $orderId; + } + public function getOrderId() + { + return $this->orderId; + } + public function setProjectId($projectId) + { + $this->projectId = $projectId; + } + public function getProjectId() + { + return $this->projectId; + } + public function setSigned($signed) + { + $this->signed = $signed; + } + public function getSigned() + { + return $this->signed; + } + public function setSubaccountId($subaccountId) + { + $this->subaccountId = $subaccountId; + } + public function getSubaccountId() + { + return $this->subaccountId; + } + public function setTitle($title) + { + $this->title = $title; + } + public function getTitle() + { + return $this->title; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/OrderDocumentsListResponse.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/OrderDocumentsListResponse.php new file mode 100644 index 00000000..63a41b30 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/OrderDocumentsListResponse.php @@ -0,0 +1,50 @@ +kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setOrderDocuments($orderDocuments) + { + $this->orderDocuments = $orderDocuments; + } + public function getOrderDocuments() + { + return $this->orderDocuments; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/OrdersListResponse.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/OrdersListResponse.php new file mode 100644 index 00000000..e90bee1a --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/OrdersListResponse.php @@ -0,0 +1,50 @@ +kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setOrders($orders) + { + $this->orders = $orders; + } + public function getOrders() + { + return $this->orders; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/PathToConversionReportCompatibleFields.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/PathToConversionReportCompatibleFields.php new file mode 100644 index 00000000..8583dd86 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/PathToConversionReportCompatibleFields.php @@ -0,0 +1,71 @@ +conversionDimensions = $conversionDimensions; + } + public function getConversionDimensions() + { + return $this->conversionDimensions; + } + public function setCustomFloodlightVariables($customFloodlightVariables) + { + $this->customFloodlightVariables = $customFloodlightVariables; + } + public function getCustomFloodlightVariables() + { + return $this->customFloodlightVariables; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setMetrics($metrics) + { + $this->metrics = $metrics; + } + public function getMetrics() + { + return $this->metrics; + } + public function setPerInteractionDimensions($perInteractionDimensions) + { + $this->perInteractionDimensions = $perInteractionDimensions; + } + public function getPerInteractionDimensions() + { + return $this->perInteractionDimensions; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Placement.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Placement.php new file mode 100644 index 00000000..ffb824ce --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Placement.php @@ -0,0 +1,387 @@ +accountId = $accountId; + } + public function getAccountId() + { + return $this->accountId; + } + public function setAdvertiserId($advertiserId) + { + $this->advertiserId = $advertiserId; + } + public function getAdvertiserId() + { + return $this->advertiserId; + } + public function setAdvertiserIdDimensionValue(Google_Service_Dfareporting_DimensionValue $advertiserIdDimensionValue) + { + $this->advertiserIdDimensionValue = $advertiserIdDimensionValue; + } + public function getAdvertiserIdDimensionValue() + { + return $this->advertiserIdDimensionValue; + } + public function setArchived($archived) + { + $this->archived = $archived; + } + public function getArchived() + { + return $this->archived; + } + public function setCampaignId($campaignId) + { + $this->campaignId = $campaignId; + } + public function getCampaignId() + { + return $this->campaignId; + } + public function setCampaignIdDimensionValue(Google_Service_Dfareporting_DimensionValue $campaignIdDimensionValue) + { + $this->campaignIdDimensionValue = $campaignIdDimensionValue; + } + public function getCampaignIdDimensionValue() + { + return $this->campaignIdDimensionValue; + } + public function setComment($comment) + { + $this->comment = $comment; + } + public function getComment() + { + return $this->comment; + } + public function setCompatibility($compatibility) + { + $this->compatibility = $compatibility; + } + public function getCompatibility() + { + return $this->compatibility; + } + public function setContentCategoryId($contentCategoryId) + { + $this->contentCategoryId = $contentCategoryId; + } + public function getContentCategoryId() + { + return $this->contentCategoryId; + } + public function setCreateInfo(Google_Service_Dfareporting_LastModifiedInfo $createInfo) + { + $this->createInfo = $createInfo; + } + public function getCreateInfo() + { + return $this->createInfo; + } + public function setDirectorySiteId($directorySiteId) + { + $this->directorySiteId = $directorySiteId; + } + public function getDirectorySiteId() + { + return $this->directorySiteId; + } + public function setDirectorySiteIdDimensionValue(Google_Service_Dfareporting_DimensionValue $directorySiteIdDimensionValue) + { + $this->directorySiteIdDimensionValue = $directorySiteIdDimensionValue; + } + public function getDirectorySiteIdDimensionValue() + { + return $this->directorySiteIdDimensionValue; + } + public function setExternalId($externalId) + { + $this->externalId = $externalId; + } + public function getExternalId() + { + return $this->externalId; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setIdDimensionValue(Google_Service_Dfareporting_DimensionValue $idDimensionValue) + { + $this->idDimensionValue = $idDimensionValue; + } + public function getIdDimensionValue() + { + return $this->idDimensionValue; + } + public function setKeyName($keyName) + { + $this->keyName = $keyName; + } + public function getKeyName() + { + return $this->keyName; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setLastModifiedInfo(Google_Service_Dfareporting_LastModifiedInfo $lastModifiedInfo) + { + $this->lastModifiedInfo = $lastModifiedInfo; + } + public function getLastModifiedInfo() + { + return $this->lastModifiedInfo; + } + public function setLookbackConfiguration(Google_Service_Dfareporting_LookbackConfiguration $lookbackConfiguration) + { + $this->lookbackConfiguration = $lookbackConfiguration; + } + public function getLookbackConfiguration() + { + return $this->lookbackConfiguration; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setPaymentApproved($paymentApproved) + { + $this->paymentApproved = $paymentApproved; + } + public function getPaymentApproved() + { + return $this->paymentApproved; + } + public function setPaymentSource($paymentSource) + { + $this->paymentSource = $paymentSource; + } + public function getPaymentSource() + { + return $this->paymentSource; + } + public function setPlacementGroupId($placementGroupId) + { + $this->placementGroupId = $placementGroupId; + } + public function getPlacementGroupId() + { + return $this->placementGroupId; + } + public function setPlacementGroupIdDimensionValue(Google_Service_Dfareporting_DimensionValue $placementGroupIdDimensionValue) + { + $this->placementGroupIdDimensionValue = $placementGroupIdDimensionValue; + } + public function getPlacementGroupIdDimensionValue() + { + return $this->placementGroupIdDimensionValue; + } + public function setPlacementStrategyId($placementStrategyId) + { + $this->placementStrategyId = $placementStrategyId; + } + public function getPlacementStrategyId() + { + return $this->placementStrategyId; + } + public function setPricingSchedule(Google_Service_Dfareporting_PricingSchedule $pricingSchedule) + { + $this->pricingSchedule = $pricingSchedule; + } + public function getPricingSchedule() + { + return $this->pricingSchedule; + } + public function setPrimary($primary) + { + $this->primary = $primary; + } + public function getPrimary() + { + return $this->primary; + } + public function setPublisherUpdateInfo(Google_Service_Dfareporting_LastModifiedInfo $publisherUpdateInfo) + { + $this->publisherUpdateInfo = $publisherUpdateInfo; + } + public function getPublisherUpdateInfo() + { + return $this->publisherUpdateInfo; + } + public function setSiteId($siteId) + { + $this->siteId = $siteId; + } + public function getSiteId() + { + return $this->siteId; + } + public function setSiteIdDimensionValue(Google_Service_Dfareporting_DimensionValue $siteIdDimensionValue) + { + $this->siteIdDimensionValue = $siteIdDimensionValue; + } + public function getSiteIdDimensionValue() + { + return $this->siteIdDimensionValue; + } + public function setSize(Google_Service_Dfareporting_Size $size) + { + $this->size = $size; + } + public function getSize() + { + return $this->size; + } + public function setSslRequired($sslRequired) + { + $this->sslRequired = $sslRequired; + } + public function getSslRequired() + { + return $this->sslRequired; + } + public function setStatus($status) + { + $this->status = $status; + } + public function getStatus() + { + return $this->status; + } + public function setSubaccountId($subaccountId) + { + $this->subaccountId = $subaccountId; + } + public function getSubaccountId() + { + return $this->subaccountId; + } + public function setTagFormats($tagFormats) + { + $this->tagFormats = $tagFormats; + } + public function getTagFormats() + { + return $this->tagFormats; + } + public function setTagSetting(Google_Service_Dfareporting_TagSetting $tagSetting) + { + $this->tagSetting = $tagSetting; + } + public function getTagSetting() + { + return $this->tagSetting; + } + public function setVideoActiveViewOptOut($videoActiveViewOptOut) + { + $this->videoActiveViewOptOut = $videoActiveViewOptOut; + } + public function getVideoActiveViewOptOut() + { + return $this->videoActiveViewOptOut; + } + public function setVideoSettings(Google_Service_Dfareporting_VideoSettings $videoSettings) + { + $this->videoSettings = $videoSettings; + } + public function getVideoSettings() + { + return $this->videoSettings; + } + public function setVpaidAdapterChoice($vpaidAdapterChoice) + { + $this->vpaidAdapterChoice = $vpaidAdapterChoice; + } + public function getVpaidAdapterChoice() + { + return $this->vpaidAdapterChoice; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/PlacementAssignment.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/PlacementAssignment.php new file mode 100644 index 00000000..f19b7374 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/PlacementAssignment.php @@ -0,0 +1,58 @@ +active = $active; + } + public function getActive() + { + return $this->active; + } + public function setPlacementId($placementId) + { + $this->placementId = $placementId; + } + public function getPlacementId() + { + return $this->placementId; + } + public function setPlacementIdDimensionValue(Google_Service_Dfareporting_DimensionValue $placementIdDimensionValue) + { + $this->placementIdDimensionValue = $placementIdDimensionValue; + } + public function getPlacementIdDimensionValue() + { + return $this->placementIdDimensionValue; + } + public function setSslRequired($sslRequired) + { + $this->sslRequired = $sslRequired; + } + public function getSslRequired() + { + return $this->sslRequired; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/PlacementGroup.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/PlacementGroup.php new file mode 100644 index 00000000..266a1cf6 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/PlacementGroup.php @@ -0,0 +1,265 @@ +accountId = $accountId; + } + public function getAccountId() + { + return $this->accountId; + } + public function setAdvertiserId($advertiserId) + { + $this->advertiserId = $advertiserId; + } + public function getAdvertiserId() + { + return $this->advertiserId; + } + public function setAdvertiserIdDimensionValue(Google_Service_Dfareporting_DimensionValue $advertiserIdDimensionValue) + { + $this->advertiserIdDimensionValue = $advertiserIdDimensionValue; + } + public function getAdvertiserIdDimensionValue() + { + return $this->advertiserIdDimensionValue; + } + public function setArchived($archived) + { + $this->archived = $archived; + } + public function getArchived() + { + return $this->archived; + } + public function setCampaignId($campaignId) + { + $this->campaignId = $campaignId; + } + public function getCampaignId() + { + return $this->campaignId; + } + public function setCampaignIdDimensionValue(Google_Service_Dfareporting_DimensionValue $campaignIdDimensionValue) + { + $this->campaignIdDimensionValue = $campaignIdDimensionValue; + } + public function getCampaignIdDimensionValue() + { + return $this->campaignIdDimensionValue; + } + public function setChildPlacementIds($childPlacementIds) + { + $this->childPlacementIds = $childPlacementIds; + } + public function getChildPlacementIds() + { + return $this->childPlacementIds; + } + public function setComment($comment) + { + $this->comment = $comment; + } + public function getComment() + { + return $this->comment; + } + public function setContentCategoryId($contentCategoryId) + { + $this->contentCategoryId = $contentCategoryId; + } + public function getContentCategoryId() + { + return $this->contentCategoryId; + } + public function setCreateInfo(Google_Service_Dfareporting_LastModifiedInfo $createInfo) + { + $this->createInfo = $createInfo; + } + public function getCreateInfo() + { + return $this->createInfo; + } + public function setDirectorySiteId($directorySiteId) + { + $this->directorySiteId = $directorySiteId; + } + public function getDirectorySiteId() + { + return $this->directorySiteId; + } + public function setDirectorySiteIdDimensionValue(Google_Service_Dfareporting_DimensionValue $directorySiteIdDimensionValue) + { + $this->directorySiteIdDimensionValue = $directorySiteIdDimensionValue; + } + public function getDirectorySiteIdDimensionValue() + { + return $this->directorySiteIdDimensionValue; + } + public function setExternalId($externalId) + { + $this->externalId = $externalId; + } + public function getExternalId() + { + return $this->externalId; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setIdDimensionValue(Google_Service_Dfareporting_DimensionValue $idDimensionValue) + { + $this->idDimensionValue = $idDimensionValue; + } + public function getIdDimensionValue() + { + return $this->idDimensionValue; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setLastModifiedInfo(Google_Service_Dfareporting_LastModifiedInfo $lastModifiedInfo) + { + $this->lastModifiedInfo = $lastModifiedInfo; + } + public function getLastModifiedInfo() + { + return $this->lastModifiedInfo; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setPlacementGroupType($placementGroupType) + { + $this->placementGroupType = $placementGroupType; + } + public function getPlacementGroupType() + { + return $this->placementGroupType; + } + public function setPlacementStrategyId($placementStrategyId) + { + $this->placementStrategyId = $placementStrategyId; + } + public function getPlacementStrategyId() + { + return $this->placementStrategyId; + } + public function setPricingSchedule(Google_Service_Dfareporting_PricingSchedule $pricingSchedule) + { + $this->pricingSchedule = $pricingSchedule; + } + public function getPricingSchedule() + { + return $this->pricingSchedule; + } + public function setPrimaryPlacementId($primaryPlacementId) + { + $this->primaryPlacementId = $primaryPlacementId; + } + public function getPrimaryPlacementId() + { + return $this->primaryPlacementId; + } + public function setPrimaryPlacementIdDimensionValue(Google_Service_Dfareporting_DimensionValue $primaryPlacementIdDimensionValue) + { + $this->primaryPlacementIdDimensionValue = $primaryPlacementIdDimensionValue; + } + public function getPrimaryPlacementIdDimensionValue() + { + return $this->primaryPlacementIdDimensionValue; + } + public function setSiteId($siteId) + { + $this->siteId = $siteId; + } + public function getSiteId() + { + return $this->siteId; + } + public function setSiteIdDimensionValue(Google_Service_Dfareporting_DimensionValue $siteIdDimensionValue) + { + $this->siteIdDimensionValue = $siteIdDimensionValue; + } + public function getSiteIdDimensionValue() + { + return $this->siteIdDimensionValue; + } + public function setSubaccountId($subaccountId) + { + $this->subaccountId = $subaccountId; + } + public function getSubaccountId() + { + return $this->subaccountId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/PlacementGroupsListResponse.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/PlacementGroupsListResponse.php new file mode 100644 index 00000000..8adaa3c4 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/PlacementGroupsListResponse.php @@ -0,0 +1,50 @@ +kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setPlacementGroups($placementGroups) + { + $this->placementGroups = $placementGroups; + } + public function getPlacementGroups() + { + return $this->placementGroups; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/PlacementStrategiesListResponse.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/PlacementStrategiesListResponse.php new file mode 100644 index 00000000..d96c5b2b --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/PlacementStrategiesListResponse.php @@ -0,0 +1,50 @@ +kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setPlacementStrategies($placementStrategies) + { + $this->placementStrategies = $placementStrategies; + } + public function getPlacementStrategies() + { + return $this->placementStrategies; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/PlacementStrategy.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/PlacementStrategy.php new file mode 100644 index 00000000..61aac46d --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/PlacementStrategy.php @@ -0,0 +1,57 @@ +accountId = $accountId; + } + public function getAccountId() + { + return $this->accountId; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/PlacementTag.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/PlacementTag.php new file mode 100644 index 00000000..8c560674 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/PlacementTag.php @@ -0,0 +1,41 @@ +placementId = $placementId; + } + public function getPlacementId() + { + return $this->placementId; + } + public function setTagDatas($tagDatas) + { + $this->tagDatas = $tagDatas; + } + public function getTagDatas() + { + return $this->tagDatas; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/PlacementsGenerateTagsResponse.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/PlacementsGenerateTagsResponse.php new file mode 100644 index 00000000..e2ec68bb --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/PlacementsGenerateTagsResponse.php @@ -0,0 +1,41 @@ +kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setPlacementTags($placementTags) + { + $this->placementTags = $placementTags; + } + public function getPlacementTags() + { + return $this->placementTags; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/PlacementsListResponse.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/PlacementsListResponse.php new file mode 100644 index 00000000..d1b5b6f3 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/PlacementsListResponse.php @@ -0,0 +1,50 @@ +kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setPlacements($placements) + { + $this->placements = $placements; + } + public function getPlacements() + { + return $this->placements; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/PlatformType.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/PlatformType.php new file mode 100644 index 00000000..da474be9 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/PlatformType.php @@ -0,0 +1,48 @@ +id = $id; + } + public function getId() + { + return $this->id; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/PlatformTypesListResponse.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/PlatformTypesListResponse.php new file mode 100644 index 00000000..0eee5f46 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/PlatformTypesListResponse.php @@ -0,0 +1,41 @@ +kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setPlatformTypes($platformTypes) + { + $this->platformTypes = $platformTypes; + } + public function getPlatformTypes() + { + return $this->platformTypes; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/PopupWindowProperties.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/PopupWindowProperties.php new file mode 100644 index 00000000..2cf0dbc5 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/PopupWindowProperties.php @@ -0,0 +1,104 @@ +dimension = $dimension; + } + public function getDimension() + { + return $this->dimension; + } + public function setOffset(Google_Service_Dfareporting_OffsetPosition $offset) + { + $this->offset = $offset; + } + public function getOffset() + { + return $this->offset; + } + public function setPositionType($positionType) + { + $this->positionType = $positionType; + } + public function getPositionType() + { + return $this->positionType; + } + public function setShowAddressBar($showAddressBar) + { + $this->showAddressBar = $showAddressBar; + } + public function getShowAddressBar() + { + return $this->showAddressBar; + } + public function setShowMenuBar($showMenuBar) + { + $this->showMenuBar = $showMenuBar; + } + public function getShowMenuBar() + { + return $this->showMenuBar; + } + public function setShowScrollBar($showScrollBar) + { + $this->showScrollBar = $showScrollBar; + } + public function getShowScrollBar() + { + return $this->showScrollBar; + } + public function setShowStatusBar($showStatusBar) + { + $this->showStatusBar = $showStatusBar; + } + public function getShowStatusBar() + { + return $this->showStatusBar; + } + public function setShowToolBar($showToolBar) + { + $this->showToolBar = $showToolBar; + } + public function getShowToolBar() + { + return $this->showToolBar; + } + public function setTitle($title) + { + $this->title = $title; + } + public function getTitle() + { + return $this->title; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/PostalCode.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/PostalCode.php new file mode 100644 index 00000000..03cd3ede --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/PostalCode.php @@ -0,0 +1,66 @@ +code = $code; + } + public function getCode() + { + return $this->code; + } + public function setCountryCode($countryCode) + { + $this->countryCode = $countryCode; + } + public function getCountryCode() + { + return $this->countryCode; + } + public function setCountryDartId($countryDartId) + { + $this->countryDartId = $countryDartId; + } + public function getCountryDartId() + { + return $this->countryDartId; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/PostalCodesListResponse.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/PostalCodesListResponse.php new file mode 100644 index 00000000..93d9d799 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/PostalCodesListResponse.php @@ -0,0 +1,41 @@ +kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setPostalCodes($postalCodes) + { + $this->postalCodes = $postalCodes; + } + public function getPostalCodes() + { + return $this->postalCodes; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Pricing.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Pricing.php new file mode 100644 index 00000000..0e1abfb2 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Pricing.php @@ -0,0 +1,77 @@ +capCostType = $capCostType; + } + public function getCapCostType() + { + return $this->capCostType; + } + public function setEndDate($endDate) + { + $this->endDate = $endDate; + } + public function getEndDate() + { + return $this->endDate; + } + public function setFlights($flights) + { + $this->flights = $flights; + } + public function getFlights() + { + return $this->flights; + } + public function setGroupType($groupType) + { + $this->groupType = $groupType; + } + public function getGroupType() + { + return $this->groupType; + } + public function setPricingType($pricingType) + { + $this->pricingType = $pricingType; + } + public function getPricingType() + { + return $this->pricingType; + } + public function setStartDate($startDate) + { + $this->startDate = $startDate; + } + public function getStartDate() + { + return $this->startDate; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/PricingSchedule.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/PricingSchedule.php new file mode 100644 index 00000000..5ba2b971 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/PricingSchedule.php @@ -0,0 +1,104 @@ +capCostOption = $capCostOption; + } + public function getCapCostOption() + { + return $this->capCostOption; + } + public function setDisregardOverdelivery($disregardOverdelivery) + { + $this->disregardOverdelivery = $disregardOverdelivery; + } + public function getDisregardOverdelivery() + { + return $this->disregardOverdelivery; + } + public function setEndDate($endDate) + { + $this->endDate = $endDate; + } + public function getEndDate() + { + return $this->endDate; + } + public function setFlighted($flighted) + { + $this->flighted = $flighted; + } + public function getFlighted() + { + return $this->flighted; + } + public function setFloodlightActivityId($floodlightActivityId) + { + $this->floodlightActivityId = $floodlightActivityId; + } + public function getFloodlightActivityId() + { + return $this->floodlightActivityId; + } + public function setPricingPeriods($pricingPeriods) + { + $this->pricingPeriods = $pricingPeriods; + } + public function getPricingPeriods() + { + return $this->pricingPeriods; + } + public function setPricingType($pricingType) + { + $this->pricingType = $pricingType; + } + public function getPricingType() + { + return $this->pricingType; + } + public function setStartDate($startDate) + { + $this->startDate = $startDate; + } + public function getStartDate() + { + return $this->startDate; + } + public function setTestingStartDate($testingStartDate) + { + $this->testingStartDate = $testingStartDate; + } + public function getTestingStartDate() + { + return $this->testingStartDate; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/PricingSchedulePricingPeriod.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/PricingSchedulePricingPeriod.php new file mode 100644 index 00000000..0e55ed62 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/PricingSchedulePricingPeriod.php @@ -0,0 +1,66 @@ +endDate = $endDate; + } + public function getEndDate() + { + return $this->endDate; + } + public function setPricingComment($pricingComment) + { + $this->pricingComment = $pricingComment; + } + public function getPricingComment() + { + return $this->pricingComment; + } + public function setRateOrCostNanos($rateOrCostNanos) + { + $this->rateOrCostNanos = $rateOrCostNanos; + } + public function getRateOrCostNanos() + { + return $this->rateOrCostNanos; + } + public function setStartDate($startDate) + { + $this->startDate = $startDate; + } + public function getStartDate() + { + return $this->startDate; + } + public function setUnits($units) + { + $this->units = $units; + } + public function getUnits() + { + return $this->units; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Project.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Project.php new file mode 100644 index 00000000..a7fc809e --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Project.php @@ -0,0 +1,220 @@ +accountId = $accountId; + } + public function getAccountId() + { + return $this->accountId; + } + public function setAdvertiserId($advertiserId) + { + $this->advertiserId = $advertiserId; + } + public function getAdvertiserId() + { + return $this->advertiserId; + } + public function setAudienceAgeGroup($audienceAgeGroup) + { + $this->audienceAgeGroup = $audienceAgeGroup; + } + public function getAudienceAgeGroup() + { + return $this->audienceAgeGroup; + } + public function setAudienceGender($audienceGender) + { + $this->audienceGender = $audienceGender; + } + public function getAudienceGender() + { + return $this->audienceGender; + } + public function setBudget($budget) + { + $this->budget = $budget; + } + public function getBudget() + { + return $this->budget; + } + public function setClientBillingCode($clientBillingCode) + { + $this->clientBillingCode = $clientBillingCode; + } + public function getClientBillingCode() + { + return $this->clientBillingCode; + } + public function setClientName($clientName) + { + $this->clientName = $clientName; + } + public function getClientName() + { + return $this->clientName; + } + public function setEndDate($endDate) + { + $this->endDate = $endDate; + } + public function getEndDate() + { + return $this->endDate; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setLastModifiedInfo(Google_Service_Dfareporting_LastModifiedInfo $lastModifiedInfo) + { + $this->lastModifiedInfo = $lastModifiedInfo; + } + public function getLastModifiedInfo() + { + return $this->lastModifiedInfo; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setOverview($overview) + { + $this->overview = $overview; + } + public function getOverview() + { + return $this->overview; + } + public function setStartDate($startDate) + { + $this->startDate = $startDate; + } + public function getStartDate() + { + return $this->startDate; + } + public function setSubaccountId($subaccountId) + { + $this->subaccountId = $subaccountId; + } + public function getSubaccountId() + { + return $this->subaccountId; + } + public function setTargetClicks($targetClicks) + { + $this->targetClicks = $targetClicks; + } + public function getTargetClicks() + { + return $this->targetClicks; + } + public function setTargetConversions($targetConversions) + { + $this->targetConversions = $targetConversions; + } + public function getTargetConversions() + { + return $this->targetConversions; + } + public function setTargetCpaNanos($targetCpaNanos) + { + $this->targetCpaNanos = $targetCpaNanos; + } + public function getTargetCpaNanos() + { + return $this->targetCpaNanos; + } + public function setTargetCpcNanos($targetCpcNanos) + { + $this->targetCpcNanos = $targetCpcNanos; + } + public function getTargetCpcNanos() + { + return $this->targetCpcNanos; + } + public function setTargetCpmActiveViewNanos($targetCpmActiveViewNanos) + { + $this->targetCpmActiveViewNanos = $targetCpmActiveViewNanos; + } + public function getTargetCpmActiveViewNanos() + { + return $this->targetCpmActiveViewNanos; + } + public function setTargetCpmNanos($targetCpmNanos) + { + $this->targetCpmNanos = $targetCpmNanos; + } + public function getTargetCpmNanos() + { + return $this->targetCpmNanos; + } + public function setTargetImpressions($targetImpressions) + { + $this->targetImpressions = $targetImpressions; + } + public function getTargetImpressions() + { + return $this->targetImpressions; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/ProjectsListResponse.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/ProjectsListResponse.php new file mode 100644 index 00000000..2fa5d6bd --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/ProjectsListResponse.php @@ -0,0 +1,50 @@ +kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setProjects($projects) + { + $this->projects = $projects; + } + public function getProjects() + { + return $this->projects; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/ReachReportCompatibleFields.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/ReachReportCompatibleFields.php new file mode 100644 index 00000000..5909785d --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/ReachReportCompatibleFields.php @@ -0,0 +1,81 @@ +dimensionFilters = $dimensionFilters; + } + public function getDimensionFilters() + { + return $this->dimensionFilters; + } + public function setDimensions($dimensions) + { + $this->dimensions = $dimensions; + } + public function getDimensions() + { + return $this->dimensions; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setMetrics($metrics) + { + $this->metrics = $metrics; + } + public function getMetrics() + { + return $this->metrics; + } + public function setPivotedActivityMetrics($pivotedActivityMetrics) + { + $this->pivotedActivityMetrics = $pivotedActivityMetrics; + } + public function getPivotedActivityMetrics() + { + return $this->pivotedActivityMetrics; + } + public function setReachByFrequencyMetrics($reachByFrequencyMetrics) + { + $this->reachByFrequencyMetrics = $reachByFrequencyMetrics; + } + public function getReachByFrequencyMetrics() + { + return $this->reachByFrequencyMetrics; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Recipient.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Recipient.php new file mode 100644 index 00000000..a802e2d9 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Recipient.php @@ -0,0 +1,48 @@ +deliveryType = $deliveryType; + } + public function getDeliveryType() + { + return $this->deliveryType; + } + public function setEmail($email) + { + $this->email = $email; + } + public function getEmail() + { + return $this->email; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Region.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Region.php new file mode 100644 index 00000000..91d986a2 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Region.php @@ -0,0 +1,75 @@ +countryCode = $countryCode; + } + public function getCountryCode() + { + return $this->countryCode; + } + public function setCountryDartId($countryDartId) + { + $this->countryDartId = $countryDartId; + } + public function getCountryDartId() + { + return $this->countryDartId; + } + public function setDartId($dartId) + { + $this->dartId = $dartId; + } + public function getDartId() + { + return $this->dartId; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setRegionCode($regionCode) + { + $this->regionCode = $regionCode; + } + public function getRegionCode() + { + return $this->regionCode; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/RegionsListResponse.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/RegionsListResponse.php new file mode 100644 index 00000000..df314e88 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/RegionsListResponse.php @@ -0,0 +1,41 @@ +kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setRegions($regions) + { + $this->regions = $regions; + } + public function getRegions() + { + return $this->regions; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/RemarketingList.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/RemarketingList.php new file mode 100644 index 00000000..2a98707d --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/RemarketingList.php @@ -0,0 +1,140 @@ +accountId = $accountId; + } + public function getAccountId() + { + return $this->accountId; + } + public function setActive($active) + { + $this->active = $active; + } + public function getActive() + { + return $this->active; + } + public function setAdvertiserId($advertiserId) + { + $this->advertiserId = $advertiserId; + } + public function getAdvertiserId() + { + return $this->advertiserId; + } + public function setAdvertiserIdDimensionValue(Google_Service_Dfareporting_DimensionValue $advertiserIdDimensionValue) + { + $this->advertiserIdDimensionValue = $advertiserIdDimensionValue; + } + public function getAdvertiserIdDimensionValue() + { + return $this->advertiserIdDimensionValue; + } + public function setDescription($description) + { + $this->description = $description; + } + public function getDescription() + { + return $this->description; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setLifeSpan($lifeSpan) + { + $this->lifeSpan = $lifeSpan; + } + public function getLifeSpan() + { + return $this->lifeSpan; + } + public function setListPopulationRule(Google_Service_Dfareporting_ListPopulationRule $listPopulationRule) + { + $this->listPopulationRule = $listPopulationRule; + } + public function getListPopulationRule() + { + return $this->listPopulationRule; + } + public function setListSize($listSize) + { + $this->listSize = $listSize; + } + public function getListSize() + { + return $this->listSize; + } + public function setListSource($listSource) + { + $this->listSource = $listSource; + } + public function getListSource() + { + return $this->listSource; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setSubaccountId($subaccountId) + { + $this->subaccountId = $subaccountId; + } + public function getSubaccountId() + { + return $this->subaccountId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/RemarketingListShare.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/RemarketingListShare.php new file mode 100644 index 00000000..17be3a9e --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/RemarketingListShare.php @@ -0,0 +1,58 @@ +kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setRemarketingListId($remarketingListId) + { + $this->remarketingListId = $remarketingListId; + } + public function getRemarketingListId() + { + return $this->remarketingListId; + } + public function setSharedAccountIds($sharedAccountIds) + { + $this->sharedAccountIds = $sharedAccountIds; + } + public function getSharedAccountIds() + { + return $this->sharedAccountIds; + } + public function setSharedAdvertiserIds($sharedAdvertiserIds) + { + $this->sharedAdvertiserIds = $sharedAdvertiserIds; + } + public function getSharedAdvertiserIds() + { + return $this->sharedAdvertiserIds; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/RemarketingListsListResponse.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/RemarketingListsListResponse.php new file mode 100644 index 00000000..bce9de6f --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/RemarketingListsListResponse.php @@ -0,0 +1,50 @@ +kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setRemarketingLists($remarketingLists) + { + $this->remarketingLists = $remarketingLists; + } + public function getRemarketingLists() + { + return $this->remarketingLists; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Report.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Report.php new file mode 100644 index 00000000..a31b1674 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Report.php @@ -0,0 +1,190 @@ +accountId = $accountId; + } + public function getAccountId() + { + return $this->accountId; + } + public function setCriteria(Google_Service_Dfareporting_ReportCriteria $criteria) + { + $this->criteria = $criteria; + } + public function getCriteria() + { + return $this->criteria; + } + public function setCrossDimensionReachCriteria(Google_Service_Dfareporting_ReportCrossDimensionReachCriteria $crossDimensionReachCriteria) + { + $this->crossDimensionReachCriteria = $crossDimensionReachCriteria; + } + public function getCrossDimensionReachCriteria() + { + return $this->crossDimensionReachCriteria; + } + public function setDelivery(Google_Service_Dfareporting_ReportDelivery $delivery) + { + $this->delivery = $delivery; + } + public function getDelivery() + { + return $this->delivery; + } + public function setEtag($etag) + { + $this->etag = $etag; + } + public function getEtag() + { + return $this->etag; + } + public function setFileName($fileName) + { + $this->fileName = $fileName; + } + public function getFileName() + { + return $this->fileName; + } + public function setFloodlightCriteria(Google_Service_Dfareporting_ReportFloodlightCriteria $floodlightCriteria) + { + $this->floodlightCriteria = $floodlightCriteria; + } + public function getFloodlightCriteria() + { + return $this->floodlightCriteria; + } + public function setFormat($format) + { + $this->format = $format; + } + public function getFormat() + { + return $this->format; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setLastModifiedTime($lastModifiedTime) + { + $this->lastModifiedTime = $lastModifiedTime; + } + public function getLastModifiedTime() + { + return $this->lastModifiedTime; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setOwnerProfileId($ownerProfileId) + { + $this->ownerProfileId = $ownerProfileId; + } + public function getOwnerProfileId() + { + return $this->ownerProfileId; + } + public function setPathToConversionCriteria(Google_Service_Dfareporting_ReportPathToConversionCriteria $pathToConversionCriteria) + { + $this->pathToConversionCriteria = $pathToConversionCriteria; + } + public function getPathToConversionCriteria() + { + return $this->pathToConversionCriteria; + } + public function setReachCriteria(Google_Service_Dfareporting_ReportReachCriteria $reachCriteria) + { + $this->reachCriteria = $reachCriteria; + } + public function getReachCriteria() + { + return $this->reachCriteria; + } + public function setSchedule(Google_Service_Dfareporting_ReportSchedule $schedule) + { + $this->schedule = $schedule; + } + public function getSchedule() + { + return $this->schedule; + } + public function setSubAccountId($subAccountId) + { + $this->subAccountId = $subAccountId; + } + public function getSubAccountId() + { + return $this->subAccountId; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/ReportCompatibleFields.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/ReportCompatibleFields.php new file mode 100644 index 00000000..c21df0aa --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/ReportCompatibleFields.php @@ -0,0 +1,71 @@ +dimensionFilters = $dimensionFilters; + } + public function getDimensionFilters() + { + return $this->dimensionFilters; + } + public function setDimensions($dimensions) + { + $this->dimensions = $dimensions; + } + public function getDimensions() + { + return $this->dimensions; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setMetrics($metrics) + { + $this->metrics = $metrics; + } + public function getMetrics() + { + return $this->metrics; + } + public function setPivotedActivityMetrics($pivotedActivityMetrics) + { + $this->pivotedActivityMetrics = $pivotedActivityMetrics; + } + public function getPivotedActivityMetrics() + { + return $this->pivotedActivityMetrics; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/ReportCriteria.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/ReportCriteria.php new file mode 100644 index 00000000..1b740bd5 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/ReportCriteria.php @@ -0,0 +1,81 @@ +activities = $activities; + } + public function getActivities() + { + return $this->activities; + } + public function setCustomRichMediaEvents(Google_Service_Dfareporting_CustomRichMediaEvents $customRichMediaEvents) + { + $this->customRichMediaEvents = $customRichMediaEvents; + } + public function getCustomRichMediaEvents() + { + return $this->customRichMediaEvents; + } + public function setDateRange(Google_Service_Dfareporting_DateRange $dateRange) + { + $this->dateRange = $dateRange; + } + public function getDateRange() + { + return $this->dateRange; + } + public function setDimensionFilters($dimensionFilters) + { + $this->dimensionFilters = $dimensionFilters; + } + public function getDimensionFilters() + { + return $this->dimensionFilters; + } + public function setDimensions($dimensions) + { + $this->dimensions = $dimensions; + } + public function getDimensions() + { + return $this->dimensions; + } + public function setMetricNames($metricNames) + { + $this->metricNames = $metricNames; + } + public function getMetricNames() + { + return $this->metricNames; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/ReportCrossDimensionReachCriteria.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/ReportCrossDimensionReachCriteria.php new file mode 100644 index 00000000..e896f436 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/ReportCrossDimensionReachCriteria.php @@ -0,0 +1,88 @@ +breakdown = $breakdown; + } + public function getBreakdown() + { + return $this->breakdown; + } + public function setDateRange(Google_Service_Dfareporting_DateRange $dateRange) + { + $this->dateRange = $dateRange; + } + public function getDateRange() + { + return $this->dateRange; + } + public function setDimension($dimension) + { + $this->dimension = $dimension; + } + public function getDimension() + { + return $this->dimension; + } + public function setDimensionFilters($dimensionFilters) + { + $this->dimensionFilters = $dimensionFilters; + } + public function getDimensionFilters() + { + return $this->dimensionFilters; + } + public function setMetricNames($metricNames) + { + $this->metricNames = $metricNames; + } + public function getMetricNames() + { + return $this->metricNames; + } + public function setOverlapMetricNames($overlapMetricNames) + { + $this->overlapMetricNames = $overlapMetricNames; + } + public function getOverlapMetricNames() + { + return $this->overlapMetricNames; + } + public function setPivoted($pivoted) + { + $this->pivoted = $pivoted; + } + public function getPivoted() + { + return $this->pivoted; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/ReportDelivery.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/ReportDelivery.php new file mode 100644 index 00000000..1788b2b1 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/ReportDelivery.php @@ -0,0 +1,59 @@ +emailOwner = $emailOwner; + } + public function getEmailOwner() + { + return $this->emailOwner; + } + public function setEmailOwnerDeliveryType($emailOwnerDeliveryType) + { + $this->emailOwnerDeliveryType = $emailOwnerDeliveryType; + } + public function getEmailOwnerDeliveryType() + { + return $this->emailOwnerDeliveryType; + } + public function setMessage($message) + { + $this->message = $message; + } + public function getMessage() + { + return $this->message; + } + public function setRecipients($recipients) + { + $this->recipients = $recipients; + } + public function getRecipients() + { + return $this->recipients; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/ReportFloodlightCriteria.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/ReportFloodlightCriteria.php new file mode 100644 index 00000000..6e82ad1b --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/ReportFloodlightCriteria.php @@ -0,0 +1,91 @@ +customRichMediaEvents = $customRichMediaEvents; + } + public function getCustomRichMediaEvents() + { + return $this->customRichMediaEvents; + } + public function setDateRange(Google_Service_Dfareporting_DateRange $dateRange) + { + $this->dateRange = $dateRange; + } + public function getDateRange() + { + return $this->dateRange; + } + public function setDimensionFilters($dimensionFilters) + { + $this->dimensionFilters = $dimensionFilters; + } + public function getDimensionFilters() + { + return $this->dimensionFilters; + } + public function setDimensions($dimensions) + { + $this->dimensions = $dimensions; + } + public function getDimensions() + { + return $this->dimensions; + } + public function setFloodlightConfigId(Google_Service_Dfareporting_DimensionValue $floodlightConfigId) + { + $this->floodlightConfigId = $floodlightConfigId; + } + public function getFloodlightConfigId() + { + return $this->floodlightConfigId; + } + public function setMetricNames($metricNames) + { + $this->metricNames = $metricNames; + } + public function getMetricNames() + { + return $this->metricNames; + } + public function setReportProperties(Google_Service_Dfareporting_ReportFloodlightCriteriaReportProperties $reportProperties) + { + $this->reportProperties = $reportProperties; + } + public function getReportProperties() + { + return $this->reportProperties; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/ReportFloodlightCriteriaReportProperties.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/ReportFloodlightCriteriaReportProperties.php new file mode 100644 index 00000000..5f6bb423 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/ReportFloodlightCriteriaReportProperties.php @@ -0,0 +1,48 @@ +includeAttributedIPConversions = $includeAttributedIPConversions; + } + public function getIncludeAttributedIPConversions() + { + return $this->includeAttributedIPConversions; + } + public function setIncludeUnattributedCookieConversions($includeUnattributedCookieConversions) + { + $this->includeUnattributedCookieConversions = $includeUnattributedCookieConversions; + } + public function getIncludeUnattributedCookieConversions() + { + return $this->includeUnattributedCookieConversions; + } + public function setIncludeUnattributedIPConversions($includeUnattributedIPConversions) + { + $this->includeUnattributedIPConversions = $includeUnattributedIPConversions; + } + public function getIncludeUnattributedIPConversions() + { + return $this->includeUnattributedIPConversions; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/ReportList.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/ReportList.php new file mode 100644 index 00000000..d551c362 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/ReportList.php @@ -0,0 +1,59 @@ +etag = $etag; + } + public function getEtag() + { + return $this->etag; + } + public function setItems($items) + { + $this->items = $items; + } + public function getItems() + { + return $this->items; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/ReportPathToConversionCriteria.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/ReportPathToConversionCriteria.php new file mode 100644 index 00000000..ba8f19f4 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/ReportPathToConversionCriteria.php @@ -0,0 +1,111 @@ +activityFilters = $activityFilters; + } + public function getActivityFilters() + { + return $this->activityFilters; + } + public function setConversionDimensions($conversionDimensions) + { + $this->conversionDimensions = $conversionDimensions; + } + public function getConversionDimensions() + { + return $this->conversionDimensions; + } + public function setCustomFloodlightVariables($customFloodlightVariables) + { + $this->customFloodlightVariables = $customFloodlightVariables; + } + public function getCustomFloodlightVariables() + { + return $this->customFloodlightVariables; + } + public function setCustomRichMediaEvents($customRichMediaEvents) + { + $this->customRichMediaEvents = $customRichMediaEvents; + } + public function getCustomRichMediaEvents() + { + return $this->customRichMediaEvents; + } + public function setDateRange(Google_Service_Dfareporting_DateRange $dateRange) + { + $this->dateRange = $dateRange; + } + public function getDateRange() + { + return $this->dateRange; + } + public function setFloodlightConfigId(Google_Service_Dfareporting_DimensionValue $floodlightConfigId) + { + $this->floodlightConfigId = $floodlightConfigId; + } + public function getFloodlightConfigId() + { + return $this->floodlightConfigId; + } + public function setMetricNames($metricNames) + { + $this->metricNames = $metricNames; + } + public function getMetricNames() + { + return $this->metricNames; + } + public function setPerInteractionDimensions($perInteractionDimensions) + { + $this->perInteractionDimensions = $perInteractionDimensions; + } + public function getPerInteractionDimensions() + { + return $this->perInteractionDimensions; + } + public function setReportProperties(Google_Service_Dfareporting_ReportPathToConversionCriteriaReportProperties $reportProperties) + { + $this->reportProperties = $reportProperties; + } + public function getReportProperties() + { + return $this->reportProperties; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/ReportPathToConversionCriteriaReportProperties.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/ReportPathToConversionCriteriaReportProperties.php new file mode 100644 index 00000000..f6e4ef30 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/ReportPathToConversionCriteriaReportProperties.php @@ -0,0 +1,102 @@ +clicksLookbackWindow = $clicksLookbackWindow; + } + public function getClicksLookbackWindow() + { + return $this->clicksLookbackWindow; + } + public function setImpressionsLookbackWindow($impressionsLookbackWindow) + { + $this->impressionsLookbackWindow = $impressionsLookbackWindow; + } + public function getImpressionsLookbackWindow() + { + return $this->impressionsLookbackWindow; + } + public function setIncludeAttributedIPConversions($includeAttributedIPConversions) + { + $this->includeAttributedIPConversions = $includeAttributedIPConversions; + } + public function getIncludeAttributedIPConversions() + { + return $this->includeAttributedIPConversions; + } + public function setIncludeUnattributedCookieConversions($includeUnattributedCookieConversions) + { + $this->includeUnattributedCookieConversions = $includeUnattributedCookieConversions; + } + public function getIncludeUnattributedCookieConversions() + { + return $this->includeUnattributedCookieConversions; + } + public function setIncludeUnattributedIPConversions($includeUnattributedIPConversions) + { + $this->includeUnattributedIPConversions = $includeUnattributedIPConversions; + } + public function getIncludeUnattributedIPConversions() + { + return $this->includeUnattributedIPConversions; + } + public function setMaximumClickInteractions($maximumClickInteractions) + { + $this->maximumClickInteractions = $maximumClickInteractions; + } + public function getMaximumClickInteractions() + { + return $this->maximumClickInteractions; + } + public function setMaximumImpressionInteractions($maximumImpressionInteractions) + { + $this->maximumImpressionInteractions = $maximumImpressionInteractions; + } + public function getMaximumImpressionInteractions() + { + return $this->maximumImpressionInteractions; + } + public function setMaximumInteractionGap($maximumInteractionGap) + { + $this->maximumInteractionGap = $maximumInteractionGap; + } + public function getMaximumInteractionGap() + { + return $this->maximumInteractionGap; + } + public function setPivotOnInteractionPath($pivotOnInteractionPath) + { + $this->pivotOnInteractionPath = $pivotOnInteractionPath; + } + public function getPivotOnInteractionPath() + { + return $this->pivotOnInteractionPath; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/ReportReachCriteria.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/ReportReachCriteria.php new file mode 100644 index 00000000..959ed9a7 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/ReportReachCriteria.php @@ -0,0 +1,99 @@ +activities = $activities; + } + public function getActivities() + { + return $this->activities; + } + public function setCustomRichMediaEvents(Google_Service_Dfareporting_CustomRichMediaEvents $customRichMediaEvents) + { + $this->customRichMediaEvents = $customRichMediaEvents; + } + public function getCustomRichMediaEvents() + { + return $this->customRichMediaEvents; + } + public function setDateRange(Google_Service_Dfareporting_DateRange $dateRange) + { + $this->dateRange = $dateRange; + } + public function getDateRange() + { + return $this->dateRange; + } + public function setDimensionFilters($dimensionFilters) + { + $this->dimensionFilters = $dimensionFilters; + } + public function getDimensionFilters() + { + return $this->dimensionFilters; + } + public function setDimensions($dimensions) + { + $this->dimensions = $dimensions; + } + public function getDimensions() + { + return $this->dimensions; + } + public function setEnableAllDimensionCombinations($enableAllDimensionCombinations) + { + $this->enableAllDimensionCombinations = $enableAllDimensionCombinations; + } + public function getEnableAllDimensionCombinations() + { + return $this->enableAllDimensionCombinations; + } + public function setMetricNames($metricNames) + { + $this->metricNames = $metricNames; + } + public function getMetricNames() + { + return $this->metricNames; + } + public function setReachByFrequencyMetricNames($reachByFrequencyMetricNames) + { + $this->reachByFrequencyMetricNames = $reachByFrequencyMetricNames; + } + public function getReachByFrequencyMetricNames() + { + return $this->reachByFrequencyMetricNames; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/ReportSchedule.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/ReportSchedule.php new file mode 100644 index 00000000..61724d02 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/ReportSchedule.php @@ -0,0 +1,85 @@ +active = $active; + } + public function getActive() + { + return $this->active; + } + public function setEvery($every) + { + $this->every = $every; + } + public function getEvery() + { + return $this->every; + } + public function setExpirationDate($expirationDate) + { + $this->expirationDate = $expirationDate; + } + public function getExpirationDate() + { + return $this->expirationDate; + } + public function setRepeats($repeats) + { + $this->repeats = $repeats; + } + public function getRepeats() + { + return $this->repeats; + } + public function setRepeatsOnWeekDays($repeatsOnWeekDays) + { + $this->repeatsOnWeekDays = $repeatsOnWeekDays; + } + public function getRepeatsOnWeekDays() + { + return $this->repeatsOnWeekDays; + } + public function setRunsOnDayOfMonth($runsOnDayOfMonth) + { + $this->runsOnDayOfMonth = $runsOnDayOfMonth; + } + public function getRunsOnDayOfMonth() + { + return $this->runsOnDayOfMonth; + } + public function setStartDate($startDate) + { + $this->startDate = $startDate; + } + public function getStartDate() + { + return $this->startDate; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/ReportsConfiguration.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/ReportsConfiguration.php new file mode 100644 index 00000000..9b40a574 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/ReportsConfiguration.php @@ -0,0 +1,49 @@ +exposureToConversionEnabled = $exposureToConversionEnabled; + } + public function getExposureToConversionEnabled() + { + return $this->exposureToConversionEnabled; + } + public function setLookbackConfiguration(Google_Service_Dfareporting_LookbackConfiguration $lookbackConfiguration) + { + $this->lookbackConfiguration = $lookbackConfiguration; + } + public function getLookbackConfiguration() + { + return $this->lookbackConfiguration; + } + public function setReportGenerationTimeZoneId($reportGenerationTimeZoneId) + { + $this->reportGenerationTimeZoneId = $reportGenerationTimeZoneId; + } + public function getReportGenerationTimeZoneId() + { + return $this->reportGenerationTimeZoneId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/AccountActiveAdSummaries.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/AccountActiveAdSummaries.php new file mode 100644 index 00000000..03afb6ac --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/AccountActiveAdSummaries.php @@ -0,0 +1,43 @@ + + * $dfareportingService = new Google_Service_Dfareporting(...); + * $accountActiveAdSummaries = $dfareportingService->accountActiveAdSummaries; + * + */ +class Google_Service_Dfareporting_Resource_AccountActiveAdSummaries extends Google_Service_Resource +{ + /** + * Gets the account's active ad summary by account ID. + * (accountActiveAdSummaries.get) + * + * @param string $profileId User profile ID associated with this request. + * @param string $summaryAccountId Account ID. + * @param array $optParams Optional parameters. + * @return Google_Service_Dfareporting_AccountActiveAdSummary + */ + public function get($profileId, $summaryAccountId, $optParams = array()) + { + $params = array('profileId' => $profileId, 'summaryAccountId' => $summaryAccountId); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Dfareporting_AccountActiveAdSummary"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/AccountPermissionGroups.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/AccountPermissionGroups.php new file mode 100644 index 00000000..a63efce5 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/AccountPermissionGroups.php @@ -0,0 +1,56 @@ + + * $dfareportingService = new Google_Service_Dfareporting(...); + * $accountPermissionGroups = $dfareportingService->accountPermissionGroups; + * + */ +class Google_Service_Dfareporting_Resource_AccountPermissionGroups extends Google_Service_Resource +{ + /** + * Gets one account permission group by ID. (accountPermissionGroups.get) + * + * @param string $profileId User profile ID associated with this request. + * @param string $id Account permission group ID. + * @param array $optParams Optional parameters. + * @return Google_Service_Dfareporting_AccountPermissionGroup + */ + public function get($profileId, $id, $optParams = array()) + { + $params = array('profileId' => $profileId, 'id' => $id); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Dfareporting_AccountPermissionGroup"); + } + /** + * Retrieves the list of account permission groups. + * (accountPermissionGroups.listAccountPermissionGroups) + * + * @param string $profileId User profile ID associated with this request. + * @param array $optParams Optional parameters. + * @return Google_Service_Dfareporting_AccountPermissionGroupsListResponse + */ + public function listAccountPermissionGroups($profileId, $optParams = array()) + { + $params = array('profileId' => $profileId); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Dfareporting_AccountPermissionGroupsListResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/AccountPermissions.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/AccountPermissions.php new file mode 100644 index 00000000..ccc70f62 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/AccountPermissions.php @@ -0,0 +1,56 @@ + + * $dfareportingService = new Google_Service_Dfareporting(...); + * $accountPermissions = $dfareportingService->accountPermissions; + * + */ +class Google_Service_Dfareporting_Resource_AccountPermissions extends Google_Service_Resource +{ + /** + * Gets one account permission by ID. (accountPermissions.get) + * + * @param string $profileId User profile ID associated with this request. + * @param string $id Account permission ID. + * @param array $optParams Optional parameters. + * @return Google_Service_Dfareporting_AccountPermission + */ + public function get($profileId, $id, $optParams = array()) + { + $params = array('profileId' => $profileId, 'id' => $id); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Dfareporting_AccountPermission"); + } + /** + * Retrieves the list of account permissions. + * (accountPermissions.listAccountPermissions) + * + * @param string $profileId User profile ID associated with this request. + * @param array $optParams Optional parameters. + * @return Google_Service_Dfareporting_AccountPermissionsListResponse + */ + public function listAccountPermissions($profileId, $optParams = array()) + { + $params = array('profileId' => $profileId); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Dfareporting_AccountPermissionsListResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/AccountUserProfiles.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/AccountUserProfiles.php new file mode 100644 index 00000000..4dbd6f9c --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/AccountUserProfiles.php @@ -0,0 +1,119 @@ + + * $dfareportingService = new Google_Service_Dfareporting(...); + * $accountUserProfiles = $dfareportingService->accountUserProfiles; + * + */ +class Google_Service_Dfareporting_Resource_AccountUserProfiles extends Google_Service_Resource +{ + /** + * Gets one account user profile by ID. (accountUserProfiles.get) + * + * @param string $profileId User profile ID associated with this request. + * @param string $id User profile ID. + * @param array $optParams Optional parameters. + * @return Google_Service_Dfareporting_AccountUserProfile + */ + public function get($profileId, $id, $optParams = array()) + { + $params = array('profileId' => $profileId, 'id' => $id); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Dfareporting_AccountUserProfile"); + } + /** + * Inserts a new account user profile. (accountUserProfiles.insert) + * + * @param string $profileId User profile ID associated with this request. + * @param Google_Service_Dfareporting_AccountUserProfile $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Dfareporting_AccountUserProfile + */ + public function insert($profileId, Google_Service_Dfareporting_AccountUserProfile $postBody, $optParams = array()) + { + $params = array('profileId' => $profileId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('insert', array($params), "Google_Service_Dfareporting_AccountUserProfile"); + } + /** + * Retrieves a list of account user profiles, possibly filtered. This method + * supports paging. (accountUserProfiles.listAccountUserProfiles) + * + * @param string $profileId User profile ID associated with this request. + * @param array $optParams Optional parameters. + * + * @opt_param bool active Select only active user profiles. + * @opt_param string ids Select only user profiles with these IDs. + * @opt_param int maxResults Maximum number of results to return. + * @opt_param string pageToken Value of the nextPageToken from the previous + * result page. + * @opt_param string searchString Allows searching for objects by name, ID or + * email. Wildcards (*) are allowed. For example, "user profile*2015" will + * return objects with names like "user profile June 2015", "user profile April + * 2015", or simply "user profile 2015". Most of the searches also add wildcards + * implicitly at the start and the end of the search string. For example, a + * search string of "user profile" will match objects with name "my user + * profile", "user profile 2015", or simply "user profile". + * @opt_param string sortField Field by which to sort the list. + * @opt_param string sortOrder Order of sorted results, default is ASCENDING. + * @opt_param string subaccountId Select only user profiles with the specified + * subaccount ID. + * @opt_param string userRoleId Select only user profiles with the specified + * user role ID. + * @return Google_Service_Dfareporting_AccountUserProfilesListResponse + */ + public function listAccountUserProfiles($profileId, $optParams = array()) + { + $params = array('profileId' => $profileId); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Dfareporting_AccountUserProfilesListResponse"); + } + /** + * Updates an existing account user profile. This method supports patch + * semantics. (accountUserProfiles.patch) + * + * @param string $profileId User profile ID associated with this request. + * @param string $id User profile ID. + * @param Google_Service_Dfareporting_AccountUserProfile $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Dfareporting_AccountUserProfile + */ + public function patch($profileId, $id, Google_Service_Dfareporting_AccountUserProfile $postBody, $optParams = array()) + { + $params = array('profileId' => $profileId, 'id' => $id, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('patch', array($params), "Google_Service_Dfareporting_AccountUserProfile"); + } + /** + * Updates an existing account user profile. (accountUserProfiles.update) + * + * @param string $profileId User profile ID associated with this request. + * @param Google_Service_Dfareporting_AccountUserProfile $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Dfareporting_AccountUserProfile + */ + public function update($profileId, Google_Service_Dfareporting_AccountUserProfile $postBody, $optParams = array()) + { + $params = array('profileId' => $profileId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('update', array($params), "Google_Service_Dfareporting_AccountUserProfile"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/Accounts.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/Accounts.php new file mode 100644 index 00000000..ae6b22f3 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/Accounts.php @@ -0,0 +1,101 @@ + + * $dfareportingService = new Google_Service_Dfareporting(...); + * $accounts = $dfareportingService->accounts; + * + */ +class Google_Service_Dfareporting_Resource_Accounts extends Google_Service_Resource +{ + /** + * Gets one account by ID. (accounts.get) + * + * @param string $profileId User profile ID associated with this request. + * @param string $id Account ID. + * @param array $optParams Optional parameters. + * @return Google_Service_Dfareporting_Account + */ + public function get($profileId, $id, $optParams = array()) + { + $params = array('profileId' => $profileId, 'id' => $id); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Dfareporting_Account"); + } + /** + * Retrieves the list of accounts, possibly filtered. This method supports + * paging. (accounts.listAccounts) + * + * @param string $profileId User profile ID associated with this request. + * @param array $optParams Optional parameters. + * + * @opt_param bool active Select only active accounts. Don't set this field to + * select both active and non-active accounts. + * @opt_param string ids Select only accounts with these IDs. + * @opt_param int maxResults Maximum number of results to return. + * @opt_param string pageToken Value of the nextPageToken from the previous + * result page. + * @opt_param string searchString Allows searching for objects by name or ID. + * Wildcards (*) are allowed. For example, "account*2015" will return objects + * with names like "account June 2015", "account April 2015", or simply "account + * 2015". Most of the searches also add wildcards implicitly at the start and + * the end of the search string. For example, a search string of "account" will + * match objects with name "my account", "account 2015", or simply "account". + * @opt_param string sortField Field by which to sort the list. + * @opt_param string sortOrder Order of sorted results, default is ASCENDING. + * @return Google_Service_Dfareporting_AccountsListResponse + */ + public function listAccounts($profileId, $optParams = array()) + { + $params = array('profileId' => $profileId); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Dfareporting_AccountsListResponse"); + } + /** + * Updates an existing account. This method supports patch semantics. + * (accounts.patch) + * + * @param string $profileId User profile ID associated with this request. + * @param string $id Account ID. + * @param Google_Service_Dfareporting_Account $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Dfareporting_Account + */ + public function patch($profileId, $id, Google_Service_Dfareporting_Account $postBody, $optParams = array()) + { + $params = array('profileId' => $profileId, 'id' => $id, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('patch', array($params), "Google_Service_Dfareporting_Account"); + } + /** + * Updates an existing account. (accounts.update) + * + * @param string $profileId User profile ID associated with this request. + * @param Google_Service_Dfareporting_Account $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Dfareporting_Account + */ + public function update($profileId, Google_Service_Dfareporting_Account $postBody, $optParams = array()) + { + $params = array('profileId' => $profileId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('update', array($params), "Google_Service_Dfareporting_Account"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/Ads.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/Ads.php new file mode 100644 index 00000000..b899e84d --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/Ads.php @@ -0,0 +1,143 @@ + + * $dfareportingService = new Google_Service_Dfareporting(...); + * $ads = $dfareportingService->ads; + * + */ +class Google_Service_Dfareporting_Resource_Ads extends Google_Service_Resource +{ + /** + * Gets one ad by ID. (ads.get) + * + * @param string $profileId User profile ID associated with this request. + * @param string $id Ad ID. + * @param array $optParams Optional parameters. + * @return Google_Service_Dfareporting_Ad + */ + public function get($profileId, $id, $optParams = array()) + { + $params = array('profileId' => $profileId, 'id' => $id); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Dfareporting_Ad"); + } + /** + * Inserts a new ad. (ads.insert) + * + * @param string $profileId User profile ID associated with this request. + * @param Google_Service_Dfareporting_Ad $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Dfareporting_Ad + */ + public function insert($profileId, Google_Service_Dfareporting_Ad $postBody, $optParams = array()) + { + $params = array('profileId' => $profileId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('insert', array($params), "Google_Service_Dfareporting_Ad"); + } + /** + * Retrieves a list of ads, possibly filtered. This method supports paging. + * (ads.listAds) + * + * @param string $profileId User profile ID associated with this request. + * @param array $optParams Optional parameters. + * + * @opt_param bool active Select only active ads. + * @opt_param string advertiserId Select only ads with this advertiser ID. + * @opt_param bool archived Select only archived ads. + * @opt_param string audienceSegmentIds Select only ads with these audience + * segment IDs. + * @opt_param string campaignIds Select only ads with these campaign IDs. + * @opt_param string compatibility Select default ads with the specified + * compatibility. Applicable when type is AD_SERVING_DEFAULT_AD. DISPLAY and + * DISPLAY_INTERSTITIAL refer to rendering either on desktop or on mobile + * devices for regular or interstitial ads, respectively. APP and + * APP_INTERSTITIAL are for rendering in mobile apps. IN_STREAM_VIDEO refers to + * rendering an in-stream video ads developed with the VAST standard. + * @opt_param string creativeIds Select only ads with these creative IDs + * assigned. + * @opt_param string creativeOptimizationConfigurationIds Select only ads with + * these creative optimization configuration IDs. + * @opt_param bool dynamicClickTracker Select only dynamic click trackers. + * Applicable when type is AD_SERVING_CLICK_TRACKER. If true, select dynamic + * click trackers. If false, select static click trackers. Leave unset to select + * both. + * @opt_param string ids Select only ads with these IDs. + * @opt_param string landingPageIds Select only ads with these landing page IDs. + * @opt_param int maxResults Maximum number of results to return. + * @opt_param string overriddenEventTagId Select only ads with this event tag + * override ID. + * @opt_param string pageToken Value of the nextPageToken from the previous + * result page. + * @opt_param string placementIds Select only ads with these placement IDs + * assigned. + * @opt_param string remarketingListIds Select only ads whose list targeting + * expression use these remarketing list IDs. + * @opt_param string searchString Allows searching for objects by name or ID. + * Wildcards (*) are allowed. For example, "ad*2015" will return objects with + * names like "ad June 2015", "ad April 2015", or simply "ad 2015". Most of the + * searches also add wildcards implicitly at the start and the end of the search + * string. For example, a search string of "ad" will match objects with name "my + * ad", "ad 2015", or simply "ad". + * @opt_param string sizeIds Select only ads with these size IDs. + * @opt_param string sortField Field by which to sort the list. + * @opt_param string sortOrder Order of sorted results, default is ASCENDING. + * @opt_param bool sslCompliant Select only ads that are SSL-compliant. + * @opt_param bool sslRequired Select only ads that require SSL. + * @opt_param string type Select only ads with these types. + * @return Google_Service_Dfareporting_AdsListResponse + */ + public function listAds($profileId, $optParams = array()) + { + $params = array('profileId' => $profileId); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Dfareporting_AdsListResponse"); + } + /** + * Updates an existing ad. This method supports patch semantics. (ads.patch) + * + * @param string $profileId User profile ID associated with this request. + * @param string $id Ad ID. + * @param Google_Service_Dfareporting_Ad $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Dfareporting_Ad + */ + public function patch($profileId, $id, Google_Service_Dfareporting_Ad $postBody, $optParams = array()) + { + $params = array('profileId' => $profileId, 'id' => $id, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('patch', array($params), "Google_Service_Dfareporting_Ad"); + } + /** + * Updates an existing ad. (ads.update) + * + * @param string $profileId User profile ID associated with this request. + * @param Google_Service_Dfareporting_Ad $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Dfareporting_Ad + */ + public function update($profileId, Google_Service_Dfareporting_Ad $postBody, $optParams = array()) + { + $params = array('profileId' => $profileId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('update', array($params), "Google_Service_Dfareporting_Ad"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/AdvertiserGroups.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/AdvertiserGroups.php new file mode 100644 index 00000000..66ddb8b8 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/AdvertiserGroups.php @@ -0,0 +1,127 @@ + + * $dfareportingService = new Google_Service_Dfareporting(...); + * $advertiserGroups = $dfareportingService->advertiserGroups; + * + */ +class Google_Service_Dfareporting_Resource_AdvertiserGroups extends Google_Service_Resource +{ + /** + * Deletes an existing advertiser group. (advertiserGroups.delete) + * + * @param string $profileId User profile ID associated with this request. + * @param string $id Advertiser group ID. + * @param array $optParams Optional parameters. + */ + public function delete($profileId, $id, $optParams = array()) + { + $params = array('profileId' => $profileId, 'id' => $id); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params)); + } + /** + * Gets one advertiser group by ID. (advertiserGroups.get) + * + * @param string $profileId User profile ID associated with this request. + * @param string $id Advertiser group ID. + * @param array $optParams Optional parameters. + * @return Google_Service_Dfareporting_AdvertiserGroup + */ + public function get($profileId, $id, $optParams = array()) + { + $params = array('profileId' => $profileId, 'id' => $id); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Dfareporting_AdvertiserGroup"); + } + /** + * Inserts a new advertiser group. (advertiserGroups.insert) + * + * @param string $profileId User profile ID associated with this request. + * @param Google_Service_Dfareporting_AdvertiserGroup $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Dfareporting_AdvertiserGroup + */ + public function insert($profileId, Google_Service_Dfareporting_AdvertiserGroup $postBody, $optParams = array()) + { + $params = array('profileId' => $profileId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('insert', array($params), "Google_Service_Dfareporting_AdvertiserGroup"); + } + /** + * Retrieves a list of advertiser groups, possibly filtered. This method + * supports paging. (advertiserGroups.listAdvertiserGroups) + * + * @param string $profileId User profile ID associated with this request. + * @param array $optParams Optional parameters. + * + * @opt_param string ids Select only advertiser groups with these IDs. + * @opt_param int maxResults Maximum number of results to return. + * @opt_param string pageToken Value of the nextPageToken from the previous + * result page. + * @opt_param string searchString Allows searching for objects by name or ID. + * Wildcards (*) are allowed. For example, "advertiser*2015" will return objects + * with names like "advertiser group June 2015", "advertiser group April 2015", + * or simply "advertiser group 2015". Most of the searches also add wildcards + * implicitly at the start and the end of the search string. For example, a + * search string of "advertisergroup" will match objects with name "my + * advertisergroup", "advertisergroup 2015", or simply "advertisergroup". + * @opt_param string sortField Field by which to sort the list. + * @opt_param string sortOrder Order of sorted results, default is ASCENDING. + * @return Google_Service_Dfareporting_AdvertiserGroupsListResponse + */ + public function listAdvertiserGroups($profileId, $optParams = array()) + { + $params = array('profileId' => $profileId); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Dfareporting_AdvertiserGroupsListResponse"); + } + /** + * Updates an existing advertiser group. This method supports patch semantics. + * (advertiserGroups.patch) + * + * @param string $profileId User profile ID associated with this request. + * @param string $id Advertiser group ID. + * @param Google_Service_Dfareporting_AdvertiserGroup $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Dfareporting_AdvertiserGroup + */ + public function patch($profileId, $id, Google_Service_Dfareporting_AdvertiserGroup $postBody, $optParams = array()) + { + $params = array('profileId' => $profileId, 'id' => $id, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('patch', array($params), "Google_Service_Dfareporting_AdvertiserGroup"); + } + /** + * Updates an existing advertiser group. (advertiserGroups.update) + * + * @param string $profileId User profile ID associated with this request. + * @param Google_Service_Dfareporting_AdvertiserGroup $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Dfareporting_AdvertiserGroup + */ + public function update($profileId, Google_Service_Dfareporting_AdvertiserGroup $postBody, $optParams = array()) + { + $params = array('profileId' => $profileId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('update', array($params), "Google_Service_Dfareporting_AdvertiserGroup"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/Advertisers.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/Advertisers.php new file mode 100644 index 00000000..adf14824 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/Advertisers.php @@ -0,0 +1,125 @@ + + * $dfareportingService = new Google_Service_Dfareporting(...); + * $advertisers = $dfareportingService->advertisers; + * + */ +class Google_Service_Dfareporting_Resource_Advertisers extends Google_Service_Resource +{ + /** + * Gets one advertiser by ID. (advertisers.get) + * + * @param string $profileId User profile ID associated with this request. + * @param string $id Advertiser ID. + * @param array $optParams Optional parameters. + * @return Google_Service_Dfareporting_Advertiser + */ + public function get($profileId, $id, $optParams = array()) + { + $params = array('profileId' => $profileId, 'id' => $id); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Dfareporting_Advertiser"); + } + /** + * Inserts a new advertiser. (advertisers.insert) + * + * @param string $profileId User profile ID associated with this request. + * @param Google_Service_Dfareporting_Advertiser $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Dfareporting_Advertiser + */ + public function insert($profileId, Google_Service_Dfareporting_Advertiser $postBody, $optParams = array()) + { + $params = array('profileId' => $profileId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('insert', array($params), "Google_Service_Dfareporting_Advertiser"); + } + /** + * Retrieves a list of advertisers, possibly filtered. This method supports + * paging. (advertisers.listAdvertisers) + * + * @param string $profileId User profile ID associated with this request. + * @param array $optParams Optional parameters. + * + * @opt_param string advertiserGroupIds Select only advertisers with these + * advertiser group IDs. + * @opt_param string floodlightConfigurationIds Select only advertisers with + * these floodlight configuration IDs. + * @opt_param string ids Select only advertisers with these IDs. + * @opt_param bool includeAdvertisersWithoutGroupsOnly Select only advertisers + * which do not belong to any advertiser group. + * @opt_param int maxResults Maximum number of results to return. + * @opt_param bool onlyParent Select only advertisers which use another + * advertiser's floodlight configuration. + * @opt_param string pageToken Value of the nextPageToken from the previous + * result page. + * @opt_param string searchString Allows searching for objects by name or ID. + * Wildcards (*) are allowed. For example, "advertiser*2015" will return objects + * with names like "advertiser June 2015", "advertiser April 2015", or simply + * "advertiser 2015". Most of the searches also add wildcards implicitly at the + * start and the end of the search string. For example, a search string of + * "advertiser" will match objects with name "my advertiser", "advertiser 2015", + * or simply "advertiser". + * @opt_param string sortField Field by which to sort the list. + * @opt_param string sortOrder Order of sorted results, default is ASCENDING. + * @opt_param string status Select only advertisers with the specified status. + * @opt_param string subaccountId Select only advertisers with these subaccount + * IDs. + * @return Google_Service_Dfareporting_AdvertisersListResponse + */ + public function listAdvertisers($profileId, $optParams = array()) + { + $params = array('profileId' => $profileId); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Dfareporting_AdvertisersListResponse"); + } + /** + * Updates an existing advertiser. This method supports patch semantics. + * (advertisers.patch) + * + * @param string $profileId User profile ID associated with this request. + * @param string $id Advertiser ID. + * @param Google_Service_Dfareporting_Advertiser $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Dfareporting_Advertiser + */ + public function patch($profileId, $id, Google_Service_Dfareporting_Advertiser $postBody, $optParams = array()) + { + $params = array('profileId' => $profileId, 'id' => $id, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('patch', array($params), "Google_Service_Dfareporting_Advertiser"); + } + /** + * Updates an existing advertiser. (advertisers.update) + * + * @param string $profileId User profile ID associated with this request. + * @param Google_Service_Dfareporting_Advertiser $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Dfareporting_Advertiser + */ + public function update($profileId, Google_Service_Dfareporting_Advertiser $postBody, $optParams = array()) + { + $params = array('profileId' => $profileId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('update', array($params), "Google_Service_Dfareporting_Advertiser"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/Browsers.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/Browsers.php new file mode 100644 index 00000000..c1cacb90 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/Browsers.php @@ -0,0 +1,41 @@ + + * $dfareportingService = new Google_Service_Dfareporting(...); + * $browsers = $dfareportingService->browsers; + * + */ +class Google_Service_Dfareporting_Resource_Browsers extends Google_Service_Resource +{ + /** + * Retrieves a list of browsers. (browsers.listBrowsers) + * + * @param string $profileId User profile ID associated with this request. + * @param array $optParams Optional parameters. + * @return Google_Service_Dfareporting_BrowsersListResponse + */ + public function listBrowsers($profileId, $optParams = array()) + { + $params = array('profileId' => $profileId); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Dfareporting_BrowsersListResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/CampaignCreativeAssociations.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/CampaignCreativeAssociations.php new file mode 100644 index 00000000..fe5912f4 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/CampaignCreativeAssociations.php @@ -0,0 +1,66 @@ + + * $dfareportingService = new Google_Service_Dfareporting(...); + * $campaignCreativeAssociations = $dfareportingService->campaignCreativeAssociations; + * + */ +class Google_Service_Dfareporting_Resource_CampaignCreativeAssociations extends Google_Service_Resource +{ + /** + * Associates a creative with the specified campaign. This method creates a + * default ad with dimensions matching the creative in the campaign if such a + * default ad does not exist already. (campaignCreativeAssociations.insert) + * + * @param string $profileId User profile ID associated with this request. + * @param string $campaignId Campaign ID in this association. + * @param Google_Service_Dfareporting_CampaignCreativeAssociation $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Dfareporting_CampaignCreativeAssociation + */ + public function insert($profileId, $campaignId, Google_Service_Dfareporting_CampaignCreativeAssociation $postBody, $optParams = array()) + { + $params = array('profileId' => $profileId, 'campaignId' => $campaignId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('insert', array($params), "Google_Service_Dfareporting_CampaignCreativeAssociation"); + } + /** + * Retrieves the list of creative IDs associated with the specified campaign. + * This method supports paging. + * (campaignCreativeAssociations.listCampaignCreativeAssociations) + * + * @param string $profileId User profile ID associated with this request. + * @param string $campaignId Campaign ID in this association. + * @param array $optParams Optional parameters. + * + * @opt_param int maxResults Maximum number of results to return. + * @opt_param string pageToken Value of the nextPageToken from the previous + * result page. + * @opt_param string sortOrder Order of sorted results, default is ASCENDING. + * @return Google_Service_Dfareporting_CampaignCreativeAssociationsListResponse + */ + public function listCampaignCreativeAssociations($profileId, $campaignId, $optParams = array()) + { + $params = array('profileId' => $profileId, 'campaignId' => $campaignId); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Dfareporting_CampaignCreativeAssociationsListResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/Campaigns.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/Campaigns.php new file mode 100644 index 00000000..c34969bf --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/Campaigns.php @@ -0,0 +1,131 @@ + + * $dfareportingService = new Google_Service_Dfareporting(...); + * $campaigns = $dfareportingService->campaigns; + * + */ +class Google_Service_Dfareporting_Resource_Campaigns extends Google_Service_Resource +{ + /** + * Gets one campaign by ID. (campaigns.get) + * + * @param string $profileId User profile ID associated with this request. + * @param string $id Campaign ID. + * @param array $optParams Optional parameters. + * @return Google_Service_Dfareporting_Campaign + */ + public function get($profileId, $id, $optParams = array()) + { + $params = array('profileId' => $profileId, 'id' => $id); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Dfareporting_Campaign"); + } + /** + * Inserts a new campaign. (campaigns.insert) + * + * @param string $profileId User profile ID associated with this request. + * @param string $defaultLandingPageName Default landing page name for this new + * campaign. Must be less than 256 characters long. + * @param string $defaultLandingPageUrl Default landing page URL for this new + * campaign. + * @param Google_Service_Dfareporting_Campaign $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Dfareporting_Campaign + */ + public function insert($profileId, $defaultLandingPageName, $defaultLandingPageUrl, Google_Service_Dfareporting_Campaign $postBody, $optParams = array()) + { + $params = array('profileId' => $profileId, 'defaultLandingPageName' => $defaultLandingPageName, 'defaultLandingPageUrl' => $defaultLandingPageUrl, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('insert', array($params), "Google_Service_Dfareporting_Campaign"); + } + /** + * Retrieves a list of campaigns, possibly filtered. This method supports + * paging. (campaigns.listCampaigns) + * + * @param string $profileId User profile ID associated with this request. + * @param array $optParams Optional parameters. + * + * @opt_param string advertiserGroupIds Select only campaigns whose advertisers + * belong to these advertiser groups. + * @opt_param string advertiserIds Select only campaigns that belong to these + * advertisers. + * @opt_param bool archived Select only archived campaigns. Don't set this field + * to select both archived and non-archived campaigns. + * @opt_param bool atLeastOneOptimizationActivity Select only campaigns that + * have at least one optimization activity. + * @opt_param string excludedIds Exclude campaigns with these IDs. + * @opt_param string ids Select only campaigns with these IDs. + * @opt_param int maxResults Maximum number of results to return. + * @opt_param string overriddenEventTagId Select only campaigns that have + * overridden this event tag ID. + * @opt_param string pageToken Value of the nextPageToken from the previous + * result page. + * @opt_param string searchString Allows searching for campaigns by name or ID. + * Wildcards (*) are allowed. For example, "campaign*2015" will return campaigns + * with names like "campaign June 2015", "campaign April 2015", or simply + * "campaign 2015". Most of the searches also add wildcards implicitly at the + * start and the end of the search string. For example, a search string of + * "campaign" will match campaigns with name "my campaign", "campaign 2015", or + * simply "campaign". + * @opt_param string sortField Field by which to sort the list. + * @opt_param string sortOrder Order of sorted results, default is ASCENDING. + * @opt_param string subaccountId Select only campaigns that belong to this + * subaccount. + * @return Google_Service_Dfareporting_CampaignsListResponse + */ + public function listCampaigns($profileId, $optParams = array()) + { + $params = array('profileId' => $profileId); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Dfareporting_CampaignsListResponse"); + } + /** + * Updates an existing campaign. This method supports patch semantics. + * (campaigns.patch) + * + * @param string $profileId User profile ID associated with this request. + * @param string $id Campaign ID. + * @param Google_Service_Dfareporting_Campaign $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Dfareporting_Campaign + */ + public function patch($profileId, $id, Google_Service_Dfareporting_Campaign $postBody, $optParams = array()) + { + $params = array('profileId' => $profileId, 'id' => $id, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('patch', array($params), "Google_Service_Dfareporting_Campaign"); + } + /** + * Updates an existing campaign. (campaigns.update) + * + * @param string $profileId User profile ID associated with this request. + * @param Google_Service_Dfareporting_Campaign $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Dfareporting_Campaign + */ + public function update($profileId, Google_Service_Dfareporting_Campaign $postBody, $optParams = array()) + { + $params = array('profileId' => $profileId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('update', array($params), "Google_Service_Dfareporting_Campaign"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/ChangeLogs.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/ChangeLogs.php new file mode 100644 index 00000000..f35a7c6b --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/ChangeLogs.php @@ -0,0 +1,81 @@ + + * $dfareportingService = new Google_Service_Dfareporting(...); + * $changeLogs = $dfareportingService->changeLogs; + * + */ +class Google_Service_Dfareporting_Resource_ChangeLogs extends Google_Service_Resource +{ + /** + * Gets one change log by ID. (changeLogs.get) + * + * @param string $profileId User profile ID associated with this request. + * @param string $id Change log ID. + * @param array $optParams Optional parameters. + * @return Google_Service_Dfareporting_ChangeLog + */ + public function get($profileId, $id, $optParams = array()) + { + $params = array('profileId' => $profileId, 'id' => $id); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Dfareporting_ChangeLog"); + } + /** + * Retrieves a list of change logs. This method supports paging. + * (changeLogs.listChangeLogs) + * + * @param string $profileId User profile ID associated with this request. + * @param array $optParams Optional parameters. + * + * @opt_param string action Select only change logs with the specified action. + * @opt_param string ids Select only change logs with these IDs. + * @opt_param string maxChangeTime Select only change logs whose change time is + * before the specified maxChangeTime.The time should be formatted as an RFC3339 + * date/time string. For example, for 10:54 PM on July 18th, 2015, in the + * America/New York time zone, the format is "2015-07-18T22:54:00-04:00". In + * other words, the year, month, day, the letter T, the hour (24-hour clock + * system), minute, second, and then the time zone offset. + * @opt_param int maxResults Maximum number of results to return. + * @opt_param string minChangeTime Select only change logs whose change time is + * before the specified minChangeTime.The time should be formatted as an RFC3339 + * date/time string. For example, for 10:54 PM on July 18th, 2015, in the + * America/New York time zone, the format is "2015-07-18T22:54:00-04:00". In + * other words, the year, month, day, the letter T, the hour (24-hour clock + * system), minute, second, and then the time zone offset. + * @opt_param string objectIds Select only change logs with these object IDs. + * @opt_param string objectType Select only change logs with the specified + * object type. + * @opt_param string pageToken Value of the nextPageToken from the previous + * result page. + * @opt_param string searchString Select only change logs whose object ID, user + * name, old or new values match the search string. + * @opt_param string userProfileIds Select only change logs with these user + * profile IDs. + * @return Google_Service_Dfareporting_ChangeLogsListResponse + */ + public function listChangeLogs($profileId, $optParams = array()) + { + $params = array('profileId' => $profileId); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Dfareporting_ChangeLogsListResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/Cities.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/Cities.php new file mode 100644 index 00000000..eb04d0d7 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/Cities.php @@ -0,0 +1,47 @@ + + * $dfareportingService = new Google_Service_Dfareporting(...); + * $cities = $dfareportingService->cities; + * + */ +class Google_Service_Dfareporting_Resource_Cities extends Google_Service_Resource +{ + /** + * Retrieves a list of cities, possibly filtered. (cities.listCities) + * + * @param string $profileId User profile ID associated with this request. + * @param array $optParams Optional parameters. + * + * @opt_param string countryDartIds Select only cities from these countries. + * @opt_param string dartIds Select only cities with these DART IDs. + * @opt_param string namePrefix Select only cities with names starting with this + * prefix. + * @opt_param string regionDartIds Select only cities from these regions. + * @return Google_Service_Dfareporting_CitiesListResponse + */ + public function listCities($profileId, $optParams = array()) + { + $params = array('profileId' => $profileId); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Dfareporting_CitiesListResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/ConnectionTypes.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/ConnectionTypes.php new file mode 100644 index 00000000..f0e60ffb --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/ConnectionTypes.php @@ -0,0 +1,55 @@ + + * $dfareportingService = new Google_Service_Dfareporting(...); + * $connectionTypes = $dfareportingService->connectionTypes; + * + */ +class Google_Service_Dfareporting_Resource_ConnectionTypes extends Google_Service_Resource +{ + /** + * Gets one connection type by ID. (connectionTypes.get) + * + * @param string $profileId User profile ID associated with this request. + * @param string $id Connection type ID. + * @param array $optParams Optional parameters. + * @return Google_Service_Dfareporting_ConnectionType + */ + public function get($profileId, $id, $optParams = array()) + { + $params = array('profileId' => $profileId, 'id' => $id); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Dfareporting_ConnectionType"); + } + /** + * Retrieves a list of connection types. (connectionTypes.listConnectionTypes) + * + * @param string $profileId User profile ID associated with this request. + * @param array $optParams Optional parameters. + * @return Google_Service_Dfareporting_ConnectionTypesListResponse + */ + public function listConnectionTypes($profileId, $optParams = array()) + { + $params = array('profileId' => $profileId); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Dfareporting_ConnectionTypesListResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/ContentCategories.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/ContentCategories.php new file mode 100644 index 00000000..8d2bb3ac --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/ContentCategories.php @@ -0,0 +1,127 @@ + + * $dfareportingService = new Google_Service_Dfareporting(...); + * $contentCategories = $dfareportingService->contentCategories; + * + */ +class Google_Service_Dfareporting_Resource_ContentCategories extends Google_Service_Resource +{ + /** + * Deletes an existing content category. (contentCategories.delete) + * + * @param string $profileId User profile ID associated with this request. + * @param string $id Content category ID. + * @param array $optParams Optional parameters. + */ + public function delete($profileId, $id, $optParams = array()) + { + $params = array('profileId' => $profileId, 'id' => $id); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params)); + } + /** + * Gets one content category by ID. (contentCategories.get) + * + * @param string $profileId User profile ID associated with this request. + * @param string $id Content category ID. + * @param array $optParams Optional parameters. + * @return Google_Service_Dfareporting_ContentCategory + */ + public function get($profileId, $id, $optParams = array()) + { + $params = array('profileId' => $profileId, 'id' => $id); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Dfareporting_ContentCategory"); + } + /** + * Inserts a new content category. (contentCategories.insert) + * + * @param string $profileId User profile ID associated with this request. + * @param Google_Service_Dfareporting_ContentCategory $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Dfareporting_ContentCategory + */ + public function insert($profileId, Google_Service_Dfareporting_ContentCategory $postBody, $optParams = array()) + { + $params = array('profileId' => $profileId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('insert', array($params), "Google_Service_Dfareporting_ContentCategory"); + } + /** + * Retrieves a list of content categories, possibly filtered. This method + * supports paging. (contentCategories.listContentCategories) + * + * @param string $profileId User profile ID associated with this request. + * @param array $optParams Optional parameters. + * + * @opt_param string ids Select only content categories with these IDs. + * @opt_param int maxResults Maximum number of results to return. + * @opt_param string pageToken Value of the nextPageToken from the previous + * result page. + * @opt_param string searchString Allows searching for objects by name or ID. + * Wildcards (*) are allowed. For example, "contentcategory*2015" will return + * objects with names like "contentcategory June 2015", "contentcategory April + * 2015", or simply "contentcategory 2015". Most of the searches also add + * wildcards implicitly at the start and the end of the search string. For + * example, a search string of "contentcategory" will match objects with name + * "my contentcategory", "contentcategory 2015", or simply "contentcategory". + * @opt_param string sortField Field by which to sort the list. + * @opt_param string sortOrder Order of sorted results, default is ASCENDING. + * @return Google_Service_Dfareporting_ContentCategoriesListResponse + */ + public function listContentCategories($profileId, $optParams = array()) + { + $params = array('profileId' => $profileId); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Dfareporting_ContentCategoriesListResponse"); + } + /** + * Updates an existing content category. This method supports patch semantics. + * (contentCategories.patch) + * + * @param string $profileId User profile ID associated with this request. + * @param string $id Content category ID. + * @param Google_Service_Dfareporting_ContentCategory $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Dfareporting_ContentCategory + */ + public function patch($profileId, $id, Google_Service_Dfareporting_ContentCategory $postBody, $optParams = array()) + { + $params = array('profileId' => $profileId, 'id' => $id, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('patch', array($params), "Google_Service_Dfareporting_ContentCategory"); + } + /** + * Updates an existing content category. (contentCategories.update) + * + * @param string $profileId User profile ID associated with this request. + * @param Google_Service_Dfareporting_ContentCategory $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Dfareporting_ContentCategory + */ + public function update($profileId, Google_Service_Dfareporting_ContentCategory $postBody, $optParams = array()) + { + $params = array('profileId' => $profileId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('update', array($params), "Google_Service_Dfareporting_ContentCategory"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/Conversions.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/Conversions.php new file mode 100644 index 00000000..70f5588b --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/Conversions.php @@ -0,0 +1,42 @@ + + * $dfareportingService = new Google_Service_Dfareporting(...); + * $conversions = $dfareportingService->conversions; + * + */ +class Google_Service_Dfareporting_Resource_Conversions extends Google_Service_Resource +{ + /** + * Inserts conversions. (conversions.batchinsert) + * + * @param string $profileId User profile ID associated with this request. + * @param Google_Service_Dfareporting_ConversionsBatchInsertRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Dfareporting_ConversionsBatchInsertResponse + */ + public function batchinsert($profileId, Google_Service_Dfareporting_ConversionsBatchInsertRequest $postBody, $optParams = array()) + { + $params = array('profileId' => $profileId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('batchinsert', array($params), "Google_Service_Dfareporting_ConversionsBatchInsertResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/Countries.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/Countries.php new file mode 100644 index 00000000..92eb622d --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/Countries.php @@ -0,0 +1,55 @@ + + * $dfareportingService = new Google_Service_Dfareporting(...); + * $countries = $dfareportingService->countries; + * + */ +class Google_Service_Dfareporting_Resource_Countries extends Google_Service_Resource +{ + /** + * Gets one country by ID. (countries.get) + * + * @param string $profileId User profile ID associated with this request. + * @param string $dartId Country DART ID. + * @param array $optParams Optional parameters. + * @return Google_Service_Dfareporting_Country + */ + public function get($profileId, $dartId, $optParams = array()) + { + $params = array('profileId' => $profileId, 'dartId' => $dartId); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Dfareporting_Country"); + } + /** + * Retrieves a list of countries. (countries.listCountries) + * + * @param string $profileId User profile ID associated with this request. + * @param array $optParams Optional parameters. + * @return Google_Service_Dfareporting_CountriesListResponse + */ + public function listCountries($profileId, $optParams = array()) + { + $params = array('profileId' => $profileId); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Dfareporting_CountriesListResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/CreativeAssets.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/CreativeAssets.php new file mode 100644 index 00000000..99cb9f71 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/CreativeAssets.php @@ -0,0 +1,44 @@ + + * $dfareportingService = new Google_Service_Dfareporting(...); + * $creativeAssets = $dfareportingService->creativeAssets; + * + */ +class Google_Service_Dfareporting_Resource_CreativeAssets extends Google_Service_Resource +{ + /** + * Inserts a new creative asset. (creativeAssets.insert) + * + * @param string $profileId User profile ID associated with this request. + * @param string $advertiserId Advertiser ID of this creative. This is a + * required field. + * @param Google_Service_Dfareporting_CreativeAssetMetadata $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Dfareporting_CreativeAssetMetadata + */ + public function insert($profileId, $advertiserId, Google_Service_Dfareporting_CreativeAssetMetadata $postBody, $optParams = array()) + { + $params = array('profileId' => $profileId, 'advertiserId' => $advertiserId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('insert', array($params), "Google_Service_Dfareporting_CreativeAssetMetadata"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/CreativeFieldValues.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/CreativeFieldValues.php new file mode 100644 index 00000000..50aa7aa0 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/CreativeFieldValues.php @@ -0,0 +1,134 @@ + + * $dfareportingService = new Google_Service_Dfareporting(...); + * $creativeFieldValues = $dfareportingService->creativeFieldValues; + * + */ +class Google_Service_Dfareporting_Resource_CreativeFieldValues extends Google_Service_Resource +{ + /** + * Deletes an existing creative field value. (creativeFieldValues.delete) + * + * @param string $profileId User profile ID associated with this request. + * @param string $creativeFieldId Creative field ID for this creative field + * value. + * @param string $id Creative Field Value ID + * @param array $optParams Optional parameters. + */ + public function delete($profileId, $creativeFieldId, $id, $optParams = array()) + { + $params = array('profileId' => $profileId, 'creativeFieldId' => $creativeFieldId, 'id' => $id); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params)); + } + /** + * Gets one creative field value by ID. (creativeFieldValues.get) + * + * @param string $profileId User profile ID associated with this request. + * @param string $creativeFieldId Creative field ID for this creative field + * value. + * @param string $id Creative Field Value ID + * @param array $optParams Optional parameters. + * @return Google_Service_Dfareporting_CreativeFieldValue + */ + public function get($profileId, $creativeFieldId, $id, $optParams = array()) + { + $params = array('profileId' => $profileId, 'creativeFieldId' => $creativeFieldId, 'id' => $id); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Dfareporting_CreativeFieldValue"); + } + /** + * Inserts a new creative field value. (creativeFieldValues.insert) + * + * @param string $profileId User profile ID associated with this request. + * @param string $creativeFieldId Creative field ID for this creative field + * value. + * @param Google_Service_Dfareporting_CreativeFieldValue $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Dfareporting_CreativeFieldValue + */ + public function insert($profileId, $creativeFieldId, Google_Service_Dfareporting_CreativeFieldValue $postBody, $optParams = array()) + { + $params = array('profileId' => $profileId, 'creativeFieldId' => $creativeFieldId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('insert', array($params), "Google_Service_Dfareporting_CreativeFieldValue"); + } + /** + * Retrieves a list of creative field values, possibly filtered. This method + * supports paging. (creativeFieldValues.listCreativeFieldValues) + * + * @param string $profileId User profile ID associated with this request. + * @param string $creativeFieldId Creative field ID for this creative field + * value. + * @param array $optParams Optional parameters. + * + * @opt_param string ids Select only creative field values with these IDs. + * @opt_param int maxResults Maximum number of results to return. + * @opt_param string pageToken Value of the nextPageToken from the previous + * result page. + * @opt_param string searchString Allows searching for creative field values by + * their values. Wildcards (e.g. *) are not allowed. + * @opt_param string sortField Field by which to sort the list. + * @opt_param string sortOrder Order of sorted results, default is ASCENDING. + * @return Google_Service_Dfareporting_CreativeFieldValuesListResponse + */ + public function listCreativeFieldValues($profileId, $creativeFieldId, $optParams = array()) + { + $params = array('profileId' => $profileId, 'creativeFieldId' => $creativeFieldId); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Dfareporting_CreativeFieldValuesListResponse"); + } + /** + * Updates an existing creative field value. This method supports patch + * semantics. (creativeFieldValues.patch) + * + * @param string $profileId User profile ID associated with this request. + * @param string $creativeFieldId Creative field ID for this creative field + * value. + * @param string $id Creative Field Value ID + * @param Google_Service_Dfareporting_CreativeFieldValue $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Dfareporting_CreativeFieldValue + */ + public function patch($profileId, $creativeFieldId, $id, Google_Service_Dfareporting_CreativeFieldValue $postBody, $optParams = array()) + { + $params = array('profileId' => $profileId, 'creativeFieldId' => $creativeFieldId, 'id' => $id, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('patch', array($params), "Google_Service_Dfareporting_CreativeFieldValue"); + } + /** + * Updates an existing creative field value. (creativeFieldValues.update) + * + * @param string $profileId User profile ID associated with this request. + * @param string $creativeFieldId Creative field ID for this creative field + * value. + * @param Google_Service_Dfareporting_CreativeFieldValue $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Dfareporting_CreativeFieldValue + */ + public function update($profileId, $creativeFieldId, Google_Service_Dfareporting_CreativeFieldValue $postBody, $optParams = array()) + { + $params = array('profileId' => $profileId, 'creativeFieldId' => $creativeFieldId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('update', array($params), "Google_Service_Dfareporting_CreativeFieldValue"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/CreativeFields.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/CreativeFields.php new file mode 100644 index 00000000..5739828b --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/CreativeFields.php @@ -0,0 +1,130 @@ + + * $dfareportingService = new Google_Service_Dfareporting(...); + * $creativeFields = $dfareportingService->creativeFields; + * + */ +class Google_Service_Dfareporting_Resource_CreativeFields extends Google_Service_Resource +{ + /** + * Deletes an existing creative field. (creativeFields.delete) + * + * @param string $profileId User profile ID associated with this request. + * @param string $id Creative Field ID + * @param array $optParams Optional parameters. + */ + public function delete($profileId, $id, $optParams = array()) + { + $params = array('profileId' => $profileId, 'id' => $id); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params)); + } + /** + * Gets one creative field by ID. (creativeFields.get) + * + * @param string $profileId User profile ID associated with this request. + * @param string $id Creative Field ID + * @param array $optParams Optional parameters. + * @return Google_Service_Dfareporting_CreativeField + */ + public function get($profileId, $id, $optParams = array()) + { + $params = array('profileId' => $profileId, 'id' => $id); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Dfareporting_CreativeField"); + } + /** + * Inserts a new creative field. (creativeFields.insert) + * + * @param string $profileId User profile ID associated with this request. + * @param Google_Service_Dfareporting_CreativeField $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Dfareporting_CreativeField + */ + public function insert($profileId, Google_Service_Dfareporting_CreativeField $postBody, $optParams = array()) + { + $params = array('profileId' => $profileId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('insert', array($params), "Google_Service_Dfareporting_CreativeField"); + } + /** + * Retrieves a list of creative fields, possibly filtered. This method supports + * paging. (creativeFields.listCreativeFields) + * + * @param string $profileId User profile ID associated with this request. + * @param array $optParams Optional parameters. + * + * @opt_param string advertiserIds Select only creative fields that belong to + * these advertisers. + * @opt_param string ids Select only creative fields with these IDs. + * @opt_param int maxResults Maximum number of results to return. + * @opt_param string pageToken Value of the nextPageToken from the previous + * result page. + * @opt_param string searchString Allows searching for creative fields by name + * or ID. Wildcards (*) are allowed. For example, "creativefield*2015" will + * return creative fields with names like "creativefield June 2015", + * "creativefield April 2015", or simply "creativefield 2015". Most of the + * searches also add wild-cards implicitly at the start and the end of the + * search string. For example, a search string of "creativefield" will match + * creative fields with the name "my creativefield", "creativefield 2015", or + * simply "creativefield". + * @opt_param string sortField Field by which to sort the list. + * @opt_param string sortOrder Order of sorted results, default is ASCENDING. + * @return Google_Service_Dfareporting_CreativeFieldsListResponse + */ + public function listCreativeFields($profileId, $optParams = array()) + { + $params = array('profileId' => $profileId); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Dfareporting_CreativeFieldsListResponse"); + } + /** + * Updates an existing creative field. This method supports patch semantics. + * (creativeFields.patch) + * + * @param string $profileId User profile ID associated with this request. + * @param string $id Creative Field ID + * @param Google_Service_Dfareporting_CreativeField $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Dfareporting_CreativeField + */ + public function patch($profileId, $id, Google_Service_Dfareporting_CreativeField $postBody, $optParams = array()) + { + $params = array('profileId' => $profileId, 'id' => $id, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('patch', array($params), "Google_Service_Dfareporting_CreativeField"); + } + /** + * Updates an existing creative field. (creativeFields.update) + * + * @param string $profileId User profile ID associated with this request. + * @param Google_Service_Dfareporting_CreativeField $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Dfareporting_CreativeField + */ + public function update($profileId, Google_Service_Dfareporting_CreativeField $postBody, $optParams = array()) + { + $params = array('profileId' => $profileId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('update', array($params), "Google_Service_Dfareporting_CreativeField"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/CreativeGroups.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/CreativeGroups.php new file mode 100644 index 00000000..44d70d04 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/CreativeGroups.php @@ -0,0 +1,119 @@ + + * $dfareportingService = new Google_Service_Dfareporting(...); + * $creativeGroups = $dfareportingService->creativeGroups; + * + */ +class Google_Service_Dfareporting_Resource_CreativeGroups extends Google_Service_Resource +{ + /** + * Gets one creative group by ID. (creativeGroups.get) + * + * @param string $profileId User profile ID associated with this request. + * @param string $id Creative group ID. + * @param array $optParams Optional parameters. + * @return Google_Service_Dfareporting_CreativeGroup + */ + public function get($profileId, $id, $optParams = array()) + { + $params = array('profileId' => $profileId, 'id' => $id); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Dfareporting_CreativeGroup"); + } + /** + * Inserts a new creative group. (creativeGroups.insert) + * + * @param string $profileId User profile ID associated with this request. + * @param Google_Service_Dfareporting_CreativeGroup $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Dfareporting_CreativeGroup + */ + public function insert($profileId, Google_Service_Dfareporting_CreativeGroup $postBody, $optParams = array()) + { + $params = array('profileId' => $profileId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('insert', array($params), "Google_Service_Dfareporting_CreativeGroup"); + } + /** + * Retrieves a list of creative groups, possibly filtered. This method supports + * paging. (creativeGroups.listCreativeGroups) + * + * @param string $profileId User profile ID associated with this request. + * @param array $optParams Optional parameters. + * + * @opt_param string advertiserIds Select only creative groups that belong to + * these advertisers. + * @opt_param int groupNumber Select only creative groups that belong to this + * subgroup. + * @opt_param string ids Select only creative groups with these IDs. + * @opt_param int maxResults Maximum number of results to return. + * @opt_param string pageToken Value of the nextPageToken from the previous + * result page. + * @opt_param string searchString Allows searching for creative groups by name + * or ID. Wildcards (*) are allowed. For example, "creativegroup*2015" will + * return creative groups with names like "creativegroup June 2015", + * "creativegroup April 2015", or simply "creativegroup 2015". Most of the + * searches also add wild-cards implicitly at the start and the end of the + * search string. For example, a search string of "creativegroup" will match + * creative groups with the name "my creativegroup", "creativegroup 2015", or + * simply "creativegroup". + * @opt_param string sortField Field by which to sort the list. + * @opt_param string sortOrder Order of sorted results, default is ASCENDING. + * @return Google_Service_Dfareporting_CreativeGroupsListResponse + */ + public function listCreativeGroups($profileId, $optParams = array()) + { + $params = array('profileId' => $profileId); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Dfareporting_CreativeGroupsListResponse"); + } + /** + * Updates an existing creative group. This method supports patch semantics. + * (creativeGroups.patch) + * + * @param string $profileId User profile ID associated with this request. + * @param string $id Creative group ID. + * @param Google_Service_Dfareporting_CreativeGroup $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Dfareporting_CreativeGroup + */ + public function patch($profileId, $id, Google_Service_Dfareporting_CreativeGroup $postBody, $optParams = array()) + { + $params = array('profileId' => $profileId, 'id' => $id, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('patch', array($params), "Google_Service_Dfareporting_CreativeGroup"); + } + /** + * Updates an existing creative group. (creativeGroups.update) + * + * @param string $profileId User profile ID associated with this request. + * @param Google_Service_Dfareporting_CreativeGroup $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Dfareporting_CreativeGroup + */ + public function update($profileId, Google_Service_Dfareporting_CreativeGroup $postBody, $optParams = array()) + { + $params = array('profileId' => $profileId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('update', array($params), "Google_Service_Dfareporting_CreativeGroup"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/Creatives.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/Creatives.php new file mode 100644 index 00000000..9cfe4548 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/Creatives.php @@ -0,0 +1,130 @@ + + * $dfareportingService = new Google_Service_Dfareporting(...); + * $creatives = $dfareportingService->creatives; + * + */ +class Google_Service_Dfareporting_Resource_Creatives extends Google_Service_Resource +{ + /** + * Gets one creative by ID. (creatives.get) + * + * @param string $profileId User profile ID associated with this request. + * @param string $id Creative ID. + * @param array $optParams Optional parameters. + * @return Google_Service_Dfareporting_Creative + */ + public function get($profileId, $id, $optParams = array()) + { + $params = array('profileId' => $profileId, 'id' => $id); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Dfareporting_Creative"); + } + /** + * Inserts a new creative. (creatives.insert) + * + * @param string $profileId User profile ID associated with this request. + * @param Google_Service_Dfareporting_Creative $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Dfareporting_Creative + */ + public function insert($profileId, Google_Service_Dfareporting_Creative $postBody, $optParams = array()) + { + $params = array('profileId' => $profileId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('insert', array($params), "Google_Service_Dfareporting_Creative"); + } + /** + * Retrieves a list of creatives, possibly filtered. This method supports + * paging. (creatives.listCreatives) + * + * @param string $profileId User profile ID associated with this request. + * @param array $optParams Optional parameters. + * + * @opt_param bool active Select only active creatives. Leave blank to select + * active and inactive creatives. + * @opt_param string advertiserId Select only creatives with this advertiser ID. + * @opt_param bool archived Select only archived creatives. Leave blank to + * select archived and unarchived creatives. + * @opt_param string campaignId Select only creatives with this campaign ID. + * @opt_param string companionCreativeIds Select only in-stream video creatives + * with these companion IDs. + * @opt_param string creativeFieldIds Select only creatives with these creative + * field IDs. + * @opt_param string ids Select only creatives with these IDs. + * @opt_param int maxResults Maximum number of results to return. + * @opt_param string pageToken Value of the nextPageToken from the previous + * result page. + * @opt_param string renderingIds Select only creatives with these rendering + * IDs. + * @opt_param string searchString Allows searching for objects by name or ID. + * Wildcards (*) are allowed. For example, "creative*2015" will return objects + * with names like "creative June 2015", "creative April 2015", or simply + * "creative 2015". Most of the searches also add wildcards implicitly at the + * start and the end of the search string. For example, a search string of + * "creative" will match objects with name "my creative", "creative 2015", or + * simply "creative". + * @opt_param string sizeIds Select only creatives with these size IDs. + * @opt_param string sortField Field by which to sort the list. + * @opt_param string sortOrder Order of sorted results, default is ASCENDING. + * @opt_param string studioCreativeId Select only creatives corresponding to + * this Studio creative ID. + * @opt_param string types Select only creatives with these creative types. + * @return Google_Service_Dfareporting_CreativesListResponse + */ + public function listCreatives($profileId, $optParams = array()) + { + $params = array('profileId' => $profileId); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Dfareporting_CreativesListResponse"); + } + /** + * Updates an existing creative. This method supports patch semantics. + * (creatives.patch) + * + * @param string $profileId User profile ID associated with this request. + * @param string $id Creative ID. + * @param Google_Service_Dfareporting_Creative $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Dfareporting_Creative + */ + public function patch($profileId, $id, Google_Service_Dfareporting_Creative $postBody, $optParams = array()) + { + $params = array('profileId' => $profileId, 'id' => $id, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('patch', array($params), "Google_Service_Dfareporting_Creative"); + } + /** + * Updates an existing creative. (creatives.update) + * + * @param string $profileId User profile ID associated with this request. + * @param Google_Service_Dfareporting_Creative $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Dfareporting_Creative + */ + public function update($profileId, Google_Service_Dfareporting_Creative $postBody, $optParams = array()) + { + $params = array('profileId' => $profileId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('update', array($params), "Google_Service_Dfareporting_Creative"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/DimensionValues.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/DimensionValues.php new file mode 100644 index 00000000..c7ea3a23 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/DimensionValues.php @@ -0,0 +1,47 @@ + + * $dfareportingService = new Google_Service_Dfareporting(...); + * $dimensionValues = $dfareportingService->dimensionValues; + * + */ +class Google_Service_Dfareporting_Resource_DimensionValues extends Google_Service_Resource +{ + /** + * Retrieves list of report dimension values for a list of filters. + * (dimensionValues.query) + * + * @param string $profileId The DFA user profile ID. + * @param Google_Service_Dfareporting_DimensionValueRequest $postBody + * @param array $optParams Optional parameters. + * + * @opt_param int maxResults Maximum number of results to return. + * @opt_param string pageToken The value of the nextToken from the previous + * result page. + * @return Google_Service_Dfareporting_DimensionValueList + */ + public function query($profileId, Google_Service_Dfareporting_DimensionValueRequest $postBody, $optParams = array()) + { + $params = array('profileId' => $profileId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('query', array($params), "Google_Service_Dfareporting_DimensionValueList"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/DirectorySiteContacts.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/DirectorySiteContacts.php new file mode 100644 index 00000000..fc05b0fb --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/DirectorySiteContacts.php @@ -0,0 +1,73 @@ + + * $dfareportingService = new Google_Service_Dfareporting(...); + * $directorySiteContacts = $dfareportingService->directorySiteContacts; + * + */ +class Google_Service_Dfareporting_Resource_DirectorySiteContacts extends Google_Service_Resource +{ + /** + * Gets one directory site contact by ID. (directorySiteContacts.get) + * + * @param string $profileId User profile ID associated with this request. + * @param string $id Directory site contact ID. + * @param array $optParams Optional parameters. + * @return Google_Service_Dfareporting_DirectorySiteContact + */ + public function get($profileId, $id, $optParams = array()) + { + $params = array('profileId' => $profileId, 'id' => $id); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Dfareporting_DirectorySiteContact"); + } + /** + * Retrieves a list of directory site contacts, possibly filtered. This method + * supports paging. (directorySiteContacts.listDirectorySiteContacts) + * + * @param string $profileId User profile ID associated with this request. + * @param array $optParams Optional parameters. + * + * @opt_param string directorySiteIds Select only directory site contacts with + * these directory site IDs. This is a required field. + * @opt_param string ids Select only directory site contacts with these IDs. + * @opt_param int maxResults Maximum number of results to return. + * @opt_param string pageToken Value of the nextPageToken from the previous + * result page. + * @opt_param string searchString Allows searching for objects by name, ID or + * email. Wildcards (*) are allowed. For example, "directory site contact*2015" + * will return objects with names like "directory site contact June 2015", + * "directory site contact April 2015", or simply "directory site contact 2015". + * Most of the searches also add wildcards implicitly at the start and the end + * of the search string. For example, a search string of "directory site + * contact" will match objects with name "my directory site contact", "directory + * site contact 2015", or simply "directory site contact". + * @opt_param string sortField Field by which to sort the list. + * @opt_param string sortOrder Order of sorted results, default is ASCENDING. + * @return Google_Service_Dfareporting_DirectorySiteContactsListResponse + */ + public function listDirectorySiteContacts($profileId, $optParams = array()) + { + $params = array('profileId' => $profileId); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Dfareporting_DirectorySiteContactsListResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/DirectorySites.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/DirectorySites.php new file mode 100644 index 00000000..ea3ac23f --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/DirectorySites.php @@ -0,0 +1,96 @@ + + * $dfareportingService = new Google_Service_Dfareporting(...); + * $directorySites = $dfareportingService->directorySites; + * + */ +class Google_Service_Dfareporting_Resource_DirectorySites extends Google_Service_Resource +{ + /** + * Gets one directory site by ID. (directorySites.get) + * + * @param string $profileId User profile ID associated with this request. + * @param string $id Directory site ID. + * @param array $optParams Optional parameters. + * @return Google_Service_Dfareporting_DirectorySite + */ + public function get($profileId, $id, $optParams = array()) + { + $params = array('profileId' => $profileId, 'id' => $id); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Dfareporting_DirectorySite"); + } + /** + * Inserts a new directory site. (directorySites.insert) + * + * @param string $profileId User profile ID associated with this request. + * @param Google_Service_Dfareporting_DirectorySite $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Dfareporting_DirectorySite + */ + public function insert($profileId, Google_Service_Dfareporting_DirectorySite $postBody, $optParams = array()) + { + $params = array('profileId' => $profileId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('insert', array($params), "Google_Service_Dfareporting_DirectorySite"); + } + /** + * Retrieves a list of directory sites, possibly filtered. This method supports + * paging. (directorySites.listDirectorySites) + * + * @param string $profileId User profile ID associated with this request. + * @param array $optParams Optional parameters. + * + * @opt_param bool acceptsInStreamVideoPlacements This search filter is no + * longer supported and will have no effect on the results returned. + * @opt_param bool acceptsInterstitialPlacements This search filter is no longer + * supported and will have no effect on the results returned. + * @opt_param bool acceptsPublisherPaidPlacements Select only directory sites + * that accept publisher paid placements. This field can be left blank. + * @opt_param bool active Select only active directory sites. Leave blank to + * retrieve both active and inactive directory sites. + * @opt_param string countryId Select only directory sites with this country ID. + * @opt_param string dfp_network_code Select only directory sites with this DFP + * network code. + * @opt_param string ids Select only directory sites with these IDs. + * @opt_param int maxResults Maximum number of results to return. + * @opt_param string pageToken Value of the nextPageToken from the previous + * result page. + * @opt_param string parentId Select only directory sites with this parent ID. + * @opt_param string searchString Allows searching for objects by name, ID or + * URL. Wildcards (*) are allowed. For example, "directory site*2015" will + * return objects with names like "directory site June 2015", "directory site + * April 2015", or simply "directory site 2015". Most of the searches also add + * wildcards implicitly at the start and the end of the search string. For + * example, a search string of "directory site" will match objects with name "my + * directory site", "directory site 2015" or simply, "directory site". + * @opt_param string sortField Field by which to sort the list. + * @opt_param string sortOrder Order of sorted results, default is ASCENDING. + * @return Google_Service_Dfareporting_DirectorySitesListResponse + */ + public function listDirectorySites($profileId, $optParams = array()) + { + $params = array('profileId' => $profileId); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Dfareporting_DirectorySitesListResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/DynamicTargetingKeys.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/DynamicTargetingKeys.php new file mode 100644 index 00000000..2b210267 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/DynamicTargetingKeys.php @@ -0,0 +1,88 @@ + + * $dfareportingService = new Google_Service_Dfareporting(...); + * $dynamicTargetingKeys = $dfareportingService->dynamicTargetingKeys; + * + */ +class Google_Service_Dfareporting_Resource_DynamicTargetingKeys extends Google_Service_Resource +{ + /** + * Deletes an existing dynamic targeting key. (dynamicTargetingKeys.delete) + * + * @param string $profileId User profile ID associated with this request. + * @param string $objectId ID of the object of this dynamic targeting key. This + * is a required field. + * @param string $name Name of this dynamic targeting key. This is a required + * field. Must be less than 256 characters long and cannot contain commas. All + * characters are converted to lowercase. + * @param string $objectType Type of the object of this dynamic targeting key. + * This is a required field. + * @param array $optParams Optional parameters. + */ + public function delete($profileId, $objectId, $name, $objectType, $optParams = array()) + { + $params = array('profileId' => $profileId, 'objectId' => $objectId, 'name' => $name, 'objectType' => $objectType); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params)); + } + /** + * Inserts a new dynamic targeting key. Keys must be created at the advertiser + * level before being assigned to the advertiser's ads, creatives, or + * placements. There is a maximum of 1000 keys per advertiser, out of which a + * maximum of 20 keys can be assigned per ad, creative, or placement. + * (dynamicTargetingKeys.insert) + * + * @param string $profileId User profile ID associated with this request. + * @param Google_Service_Dfareporting_DynamicTargetingKey $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Dfareporting_DynamicTargetingKey + */ + public function insert($profileId, Google_Service_Dfareporting_DynamicTargetingKey $postBody, $optParams = array()) + { + $params = array('profileId' => $profileId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('insert', array($params), "Google_Service_Dfareporting_DynamicTargetingKey"); + } + /** + * Retrieves a list of dynamic targeting keys. + * (dynamicTargetingKeys.listDynamicTargetingKeys) + * + * @param string $profileId User profile ID associated with this request. + * @param array $optParams Optional parameters. + * + * @opt_param string advertiserId Select only dynamic targeting keys whose + * object has this advertiser ID. + * @opt_param string names Select only dynamic targeting keys exactly matching + * these names. + * @opt_param string objectId Select only dynamic targeting keys with this + * object ID. + * @opt_param string objectType Select only dynamic targeting keys with this + * object type. + * @return Google_Service_Dfareporting_DynamicTargetingKeysListResponse + */ + public function listDynamicTargetingKeys($profileId, $optParams = array()) + { + $params = array('profileId' => $profileId); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Dfareporting_DynamicTargetingKeysListResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/EventTags.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/EventTags.php new file mode 100644 index 00000000..34ef31a4 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/EventTags.php @@ -0,0 +1,146 @@ + + * $dfareportingService = new Google_Service_Dfareporting(...); + * $eventTags = $dfareportingService->eventTags; + * + */ +class Google_Service_Dfareporting_Resource_EventTags extends Google_Service_Resource +{ + /** + * Deletes an existing event tag. (eventTags.delete) + * + * @param string $profileId User profile ID associated with this request. + * @param string $id Event tag ID. + * @param array $optParams Optional parameters. + */ + public function delete($profileId, $id, $optParams = array()) + { + $params = array('profileId' => $profileId, 'id' => $id); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params)); + } + /** + * Gets one event tag by ID. (eventTags.get) + * + * @param string $profileId User profile ID associated with this request. + * @param string $id Event tag ID. + * @param array $optParams Optional parameters. + * @return Google_Service_Dfareporting_EventTag + */ + public function get($profileId, $id, $optParams = array()) + { + $params = array('profileId' => $profileId, 'id' => $id); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Dfareporting_EventTag"); + } + /** + * Inserts a new event tag. (eventTags.insert) + * + * @param string $profileId User profile ID associated with this request. + * @param Google_Service_Dfareporting_EventTag $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Dfareporting_EventTag + */ + public function insert($profileId, Google_Service_Dfareporting_EventTag $postBody, $optParams = array()) + { + $params = array('profileId' => $profileId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('insert', array($params), "Google_Service_Dfareporting_EventTag"); + } + /** + * Retrieves a list of event tags, possibly filtered. (eventTags.listEventTags) + * + * @param string $profileId User profile ID associated with this request. + * @param array $optParams Optional parameters. + * + * @opt_param string adId Select only event tags that belong to this ad. + * @opt_param string advertiserId Select only event tags that belong to this + * advertiser. + * @opt_param string campaignId Select only event tags that belong to this + * campaign. + * @opt_param bool definitionsOnly Examine only the specified campaign or + * advertiser's event tags for matching selector criteria. When set to false, + * the parent advertiser and parent campaign of the specified ad or campaign is + * examined as well. In addition, when set to false, the status field is + * examined as well, along with the enabledByDefault field. This parameter can + * not be set to true when adId is specified as ads do not define their own even + * tags. + * @opt_param bool enabled Select only enabled event tags. What is considered + * enabled or disabled depends on the definitionsOnly parameter. When + * definitionsOnly is set to true, only the specified advertiser or campaign's + * event tags' enabledByDefault field is examined. When definitionsOnly is set + * to false, the specified ad or specified campaign's parent advertiser's or + * parent campaign's event tags' enabledByDefault and status fields are examined + * as well. + * @opt_param string eventTagTypes Select only event tags with the specified + * event tag types. Event tag types can be used to specify whether to use a + * third-party pixel, a third-party JavaScript URL, or a third-party click- + * through URL for either impression or click tracking. + * @opt_param string ids Select only event tags with these IDs. + * @opt_param string searchString Allows searching for objects by name or ID. + * Wildcards (*) are allowed. For example, "eventtag*2015" will return objects + * with names like "eventtag June 2015", "eventtag April 2015", or simply + * "eventtag 2015". Most of the searches also add wildcards implicitly at the + * start and the end of the search string. For example, a search string of + * "eventtag" will match objects with name "my eventtag", "eventtag 2015", or + * simply "eventtag". + * @opt_param string sortField Field by which to sort the list. + * @opt_param string sortOrder Order of sorted results, default is ASCENDING. + * @return Google_Service_Dfareporting_EventTagsListResponse + */ + public function listEventTags($profileId, $optParams = array()) + { + $params = array('profileId' => $profileId); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Dfareporting_EventTagsListResponse"); + } + /** + * Updates an existing event tag. This method supports patch semantics. + * (eventTags.patch) + * + * @param string $profileId User profile ID associated with this request. + * @param string $id Event tag ID. + * @param Google_Service_Dfareporting_EventTag $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Dfareporting_EventTag + */ + public function patch($profileId, $id, Google_Service_Dfareporting_EventTag $postBody, $optParams = array()) + { + $params = array('profileId' => $profileId, 'id' => $id, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('patch', array($params), "Google_Service_Dfareporting_EventTag"); + } + /** + * Updates an existing event tag. (eventTags.update) + * + * @param string $profileId User profile ID associated with this request. + * @param Google_Service_Dfareporting_EventTag $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Dfareporting_EventTag + */ + public function update($profileId, Google_Service_Dfareporting_EventTag $postBody, $optParams = array()) + { + $params = array('profileId' => $profileId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('update', array($params), "Google_Service_Dfareporting_EventTag"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/Files.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/Files.php new file mode 100644 index 00000000..6ab986ea --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/Files.php @@ -0,0 +1,63 @@ + + * $dfareportingService = new Google_Service_Dfareporting(...); + * $files = $dfareportingService->files; + * + */ +class Google_Service_Dfareporting_Resource_Files extends Google_Service_Resource +{ + /** + * Retrieves a report file by its report ID and file ID. (files.get) + * + * @param string $reportId The ID of the report. + * @param string $fileId The ID of the report file. + * @param array $optParams Optional parameters. + * @return Google_Service_Dfareporting_DfareportingFile + */ + public function get($reportId, $fileId, $optParams = array()) + { + $params = array('reportId' => $reportId, 'fileId' => $fileId); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Dfareporting_DfareportingFile"); + } + /** + * Lists files for a user profile. (files.listFiles) + * + * @param string $profileId The DFA profile ID. + * @param array $optParams Optional parameters. + * + * @opt_param int maxResults Maximum number of results to return. + * @opt_param string pageToken The value of the nextToken from the previous + * result page. + * @opt_param string scope The scope that defines which results are returned, + * default is 'MINE'. + * @opt_param string sortField The field by which to sort the list. + * @opt_param string sortOrder Order of sorted results, default is 'DESCENDING'. + * @return Google_Service_Dfareporting_FileList + */ + public function listFiles($profileId, $optParams = array()) + { + $params = array('profileId' => $profileId); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Dfareporting_FileList"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/FloodlightActivities.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/FloodlightActivities.php new file mode 100644 index 00000000..ddf61e83 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/FloodlightActivities.php @@ -0,0 +1,162 @@ + + * $dfareportingService = new Google_Service_Dfareporting(...); + * $floodlightActivities = $dfareportingService->floodlightActivities; + * + */ +class Google_Service_Dfareporting_Resource_FloodlightActivities extends Google_Service_Resource +{ + /** + * Deletes an existing floodlight activity. (floodlightActivities.delete) + * + * @param string $profileId User profile ID associated with this request. + * @param string $id Floodlight activity ID. + * @param array $optParams Optional parameters. + */ + public function delete($profileId, $id, $optParams = array()) + { + $params = array('profileId' => $profileId, 'id' => $id); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params)); + } + /** + * Generates a tag for a floodlight activity. (floodlightActivities.generatetag) + * + * @param string $profileId User profile ID associated with this request. + * @param array $optParams Optional parameters. + * + * @opt_param string floodlightActivityId Floodlight activity ID for which we + * want to generate a tag. + * @return Google_Service_Dfareporting_FloodlightActivitiesGenerateTagResponse + */ + public function generatetag($profileId, $optParams = array()) + { + $params = array('profileId' => $profileId); + $params = array_merge($params, $optParams); + return $this->call('generatetag', array($params), "Google_Service_Dfareporting_FloodlightActivitiesGenerateTagResponse"); + } + /** + * Gets one floodlight activity by ID. (floodlightActivities.get) + * + * @param string $profileId User profile ID associated with this request. + * @param string $id Floodlight activity ID. + * @param array $optParams Optional parameters. + * @return Google_Service_Dfareporting_FloodlightActivity + */ + public function get($profileId, $id, $optParams = array()) + { + $params = array('profileId' => $profileId, 'id' => $id); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Dfareporting_FloodlightActivity"); + } + /** + * Inserts a new floodlight activity. (floodlightActivities.insert) + * + * @param string $profileId User profile ID associated with this request. + * @param Google_Service_Dfareporting_FloodlightActivity $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Dfareporting_FloodlightActivity + */ + public function insert($profileId, Google_Service_Dfareporting_FloodlightActivity $postBody, $optParams = array()) + { + $params = array('profileId' => $profileId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('insert', array($params), "Google_Service_Dfareporting_FloodlightActivity"); + } + /** + * Retrieves a list of floodlight activities, possibly filtered. This method + * supports paging. (floodlightActivities.listFloodlightActivities) + * + * @param string $profileId User profile ID associated with this request. + * @param array $optParams Optional parameters. + * + * @opt_param string advertiserId Select only floodlight activities for the + * specified advertiser ID. Must specify either ids, advertiserId, or + * floodlightConfigurationId for a non-empty result. + * @opt_param string floodlightActivityGroupIds Select only floodlight + * activities with the specified floodlight activity group IDs. + * @opt_param string floodlightActivityGroupName Select only floodlight + * activities with the specified floodlight activity group name. + * @opt_param string floodlightActivityGroupTagString Select only floodlight + * activities with the specified floodlight activity group tag string. + * @opt_param string floodlightActivityGroupType Select only floodlight + * activities with the specified floodlight activity group type. + * @opt_param string floodlightConfigurationId Select only floodlight activities + * for the specified floodlight configuration ID. Must specify either ids, + * advertiserId, or floodlightConfigurationId for a non-empty result. + * @opt_param string ids Select only floodlight activities with the specified + * IDs. Must specify either ids, advertiserId, or floodlightConfigurationId for + * a non-empty result. + * @opt_param int maxResults Maximum number of results to return. + * @opt_param string pageToken Value of the nextPageToken from the previous + * result page. + * @opt_param string searchString Allows searching for objects by name or ID. + * Wildcards (*) are allowed. For example, "floodlightactivity*2015" will return + * objects with names like "floodlightactivity June 2015", "floodlightactivity + * April 2015", or simply "floodlightactivity 2015". Most of the searches also + * add wildcards implicitly at the start and the end of the search string. For + * example, a search string of "floodlightactivity" will match objects with name + * "my floodlightactivity activity", "floodlightactivity 2015", or simply + * "floodlightactivity". + * @opt_param string sortField Field by which to sort the list. + * @opt_param string sortOrder Order of sorted results, default is ASCENDING. + * @opt_param string tagString Select only floodlight activities with the + * specified tag string. + * @return Google_Service_Dfareporting_FloodlightActivitiesListResponse + */ + public function listFloodlightActivities($profileId, $optParams = array()) + { + $params = array('profileId' => $profileId); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Dfareporting_FloodlightActivitiesListResponse"); + } + /** + * Updates an existing floodlight activity. This method supports patch + * semantics. (floodlightActivities.patch) + * + * @param string $profileId User profile ID associated with this request. + * @param string $id Floodlight activity ID. + * @param Google_Service_Dfareporting_FloodlightActivity $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Dfareporting_FloodlightActivity + */ + public function patch($profileId, $id, Google_Service_Dfareporting_FloodlightActivity $postBody, $optParams = array()) + { + $params = array('profileId' => $profileId, 'id' => $id, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('patch', array($params), "Google_Service_Dfareporting_FloodlightActivity"); + } + /** + * Updates an existing floodlight activity. (floodlightActivities.update) + * + * @param string $profileId User profile ID associated with this request. + * @param Google_Service_Dfareporting_FloodlightActivity $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Dfareporting_FloodlightActivity + */ + public function update($profileId, Google_Service_Dfareporting_FloodlightActivity $postBody, $optParams = array()) + { + $params = array('profileId' => $profileId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('update', array($params), "Google_Service_Dfareporting_FloodlightActivity"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/FloodlightActivityGroups.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/FloodlightActivityGroups.php new file mode 100644 index 00000000..1eb3442f --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/FloodlightActivityGroups.php @@ -0,0 +1,128 @@ + + * $dfareportingService = new Google_Service_Dfareporting(...); + * $floodlightActivityGroups = $dfareportingService->floodlightActivityGroups; + * + */ +class Google_Service_Dfareporting_Resource_FloodlightActivityGroups extends Google_Service_Resource +{ + /** + * Gets one floodlight activity group by ID. (floodlightActivityGroups.get) + * + * @param string $profileId User profile ID associated with this request. + * @param string $id Floodlight activity Group ID. + * @param array $optParams Optional parameters. + * @return Google_Service_Dfareporting_FloodlightActivityGroup + */ + public function get($profileId, $id, $optParams = array()) + { + $params = array('profileId' => $profileId, 'id' => $id); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Dfareporting_FloodlightActivityGroup"); + } + /** + * Inserts a new floodlight activity group. (floodlightActivityGroups.insert) + * + * @param string $profileId User profile ID associated with this request. + * @param Google_Service_Dfareporting_FloodlightActivityGroup $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Dfareporting_FloodlightActivityGroup + */ + public function insert($profileId, Google_Service_Dfareporting_FloodlightActivityGroup $postBody, $optParams = array()) + { + $params = array('profileId' => $profileId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('insert', array($params), "Google_Service_Dfareporting_FloodlightActivityGroup"); + } + /** + * Retrieves a list of floodlight activity groups, possibly filtered. This + * method supports paging. + * (floodlightActivityGroups.listFloodlightActivityGroups) + * + * @param string $profileId User profile ID associated with this request. + * @param array $optParams Optional parameters. + * + * @opt_param string advertiserId Select only floodlight activity groups with + * the specified advertiser ID. Must specify either advertiserId or + * floodlightConfigurationId for a non-empty result. + * @opt_param string floodlightConfigurationId Select only floodlight activity + * groups with the specified floodlight configuration ID. Must specify either + * advertiserId, or floodlightConfigurationId for a non-empty result. + * @opt_param string ids Select only floodlight activity groups with the + * specified IDs. Must specify either advertiserId or floodlightConfigurationId + * for a non-empty result. + * @opt_param int maxResults Maximum number of results to return. + * @opt_param string pageToken Value of the nextPageToken from the previous + * result page. + * @opt_param string searchString Allows searching for objects by name or ID. + * Wildcards (*) are allowed. For example, "floodlightactivitygroup*2015" will + * return objects with names like "floodlightactivitygroup June 2015", + * "floodlightactivitygroup April 2015", or simply "floodlightactivitygroup + * 2015". Most of the searches also add wildcards implicitly at the start and + * the end of the search string. For example, a search string of + * "floodlightactivitygroup" will match objects with name "my + * floodlightactivitygroup activity", "floodlightactivitygroup 2015", or simply + * "floodlightactivitygroup". + * @opt_param string sortField Field by which to sort the list. + * @opt_param string sortOrder Order of sorted results, default is ASCENDING. + * @opt_param string type Select only floodlight activity groups with the + * specified floodlight activity group type. + * @return Google_Service_Dfareporting_FloodlightActivityGroupsListResponse + */ + public function listFloodlightActivityGroups($profileId, $optParams = array()) + { + $params = array('profileId' => $profileId); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Dfareporting_FloodlightActivityGroupsListResponse"); + } + /** + * Updates an existing floodlight activity group. This method supports patch + * semantics. (floodlightActivityGroups.patch) + * + * @param string $profileId User profile ID associated with this request. + * @param string $id Floodlight activity Group ID. + * @param Google_Service_Dfareporting_FloodlightActivityGroup $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Dfareporting_FloodlightActivityGroup + */ + public function patch($profileId, $id, Google_Service_Dfareporting_FloodlightActivityGroup $postBody, $optParams = array()) + { + $params = array('profileId' => $profileId, 'id' => $id, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('patch', array($params), "Google_Service_Dfareporting_FloodlightActivityGroup"); + } + /** + * Updates an existing floodlight activity group. + * (floodlightActivityGroups.update) + * + * @param string $profileId User profile ID associated with this request. + * @param Google_Service_Dfareporting_FloodlightActivityGroup $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Dfareporting_FloodlightActivityGroup + */ + public function update($profileId, Google_Service_Dfareporting_FloodlightActivityGroup $postBody, $optParams = array()) + { + $params = array('profileId' => $profileId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('update', array($params), "Google_Service_Dfareporting_FloodlightActivityGroup"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/FloodlightConfigurations.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/FloodlightConfigurations.php new file mode 100644 index 00000000..43449332 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/FloodlightConfigurations.php @@ -0,0 +1,90 @@ + + * $dfareportingService = new Google_Service_Dfareporting(...); + * $floodlightConfigurations = $dfareportingService->floodlightConfigurations; + * + */ +class Google_Service_Dfareporting_Resource_FloodlightConfigurations extends Google_Service_Resource +{ + /** + * Gets one floodlight configuration by ID. (floodlightConfigurations.get) + * + * @param string $profileId User profile ID associated with this request. + * @param string $id Floodlight configuration ID. + * @param array $optParams Optional parameters. + * @return Google_Service_Dfareporting_FloodlightConfiguration + */ + public function get($profileId, $id, $optParams = array()) + { + $params = array('profileId' => $profileId, 'id' => $id); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Dfareporting_FloodlightConfiguration"); + } + /** + * Retrieves a list of floodlight configurations, possibly filtered. + * (floodlightConfigurations.listFloodlightConfigurations) + * + * @param string $profileId User profile ID associated with this request. + * @param array $optParams Optional parameters. + * + * @opt_param string ids Set of IDs of floodlight configurations to retrieve. + * Required field; otherwise an empty list will be returned. + * @return Google_Service_Dfareporting_FloodlightConfigurationsListResponse + */ + public function listFloodlightConfigurations($profileId, $optParams = array()) + { + $params = array('profileId' => $profileId); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Dfareporting_FloodlightConfigurationsListResponse"); + } + /** + * Updates an existing floodlight configuration. This method supports patch + * semantics. (floodlightConfigurations.patch) + * + * @param string $profileId User profile ID associated with this request. + * @param string $id Floodlight configuration ID. + * @param Google_Service_Dfareporting_FloodlightConfiguration $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Dfareporting_FloodlightConfiguration + */ + public function patch($profileId, $id, Google_Service_Dfareporting_FloodlightConfiguration $postBody, $optParams = array()) + { + $params = array('profileId' => $profileId, 'id' => $id, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('patch', array($params), "Google_Service_Dfareporting_FloodlightConfiguration"); + } + /** + * Updates an existing floodlight configuration. + * (floodlightConfigurations.update) + * + * @param string $profileId User profile ID associated with this request. + * @param Google_Service_Dfareporting_FloodlightConfiguration $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Dfareporting_FloodlightConfiguration + */ + public function update($profileId, Google_Service_Dfareporting_FloodlightConfiguration $postBody, $optParams = array()) + { + $params = array('profileId' => $profileId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('update', array($params), "Google_Service_Dfareporting_FloodlightConfiguration"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/InventoryItems.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/InventoryItems.php new file mode 100644 index 00000000..39193822 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/InventoryItems.php @@ -0,0 +1,71 @@ + + * $dfareportingService = new Google_Service_Dfareporting(...); + * $inventoryItems = $dfareportingService->inventoryItems; + * + */ +class Google_Service_Dfareporting_Resource_InventoryItems extends Google_Service_Resource +{ + /** + * Gets one inventory item by ID. (inventoryItems.get) + * + * @param string $profileId User profile ID associated with this request. + * @param string $projectId Project ID for order documents. + * @param string $id Inventory item ID. + * @param array $optParams Optional parameters. + * @return Google_Service_Dfareporting_InventoryItem + */ + public function get($profileId, $projectId, $id, $optParams = array()) + { + $params = array('profileId' => $profileId, 'projectId' => $projectId, 'id' => $id); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Dfareporting_InventoryItem"); + } + /** + * Retrieves a list of inventory items, possibly filtered. This method supports + * paging. (inventoryItems.listInventoryItems) + * + * @param string $profileId User profile ID associated with this request. + * @param string $projectId Project ID for order documents. + * @param array $optParams Optional parameters. + * + * @opt_param string ids Select only inventory items with these IDs. + * @opt_param bool inPlan Select only inventory items that are in plan. + * @opt_param int maxResults Maximum number of results to return. + * @opt_param string orderId Select only inventory items that belong to + * specified orders. + * @opt_param string pageToken Value of the nextPageToken from the previous + * result page. + * @opt_param string siteId Select only inventory items that are associated with + * these sites. + * @opt_param string sortField Field by which to sort the list. + * @opt_param string sortOrder Order of sorted results, default is ASCENDING. + * @opt_param string type Select only inventory items with this type. + * @return Google_Service_Dfareporting_InventoryItemsListResponse + */ + public function listInventoryItems($profileId, $projectId, $optParams = array()) + { + $params = array('profileId' => $profileId, 'projectId' => $projectId); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Dfareporting_InventoryItemsListResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/LandingPages.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/LandingPages.php new file mode 100644 index 00000000..d067e4f7 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/LandingPages.php @@ -0,0 +1,119 @@ + + * $dfareportingService = new Google_Service_Dfareporting(...); + * $landingPages = $dfareportingService->landingPages; + * + */ +class Google_Service_Dfareporting_Resource_LandingPages extends Google_Service_Resource +{ + /** + * Deletes an existing campaign landing page. (landingPages.delete) + * + * @param string $profileId User profile ID associated with this request. + * @param string $campaignId Landing page campaign ID. + * @param string $id Landing page ID. + * @param array $optParams Optional parameters. + */ + public function delete($profileId, $campaignId, $id, $optParams = array()) + { + $params = array('profileId' => $profileId, 'campaignId' => $campaignId, 'id' => $id); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params)); + } + /** + * Gets one campaign landing page by ID. (landingPages.get) + * + * @param string $profileId User profile ID associated with this request. + * @param string $campaignId Landing page campaign ID. + * @param string $id Landing page ID. + * @param array $optParams Optional parameters. + * @return Google_Service_Dfareporting_LandingPage + */ + public function get($profileId, $campaignId, $id, $optParams = array()) + { + $params = array('profileId' => $profileId, 'campaignId' => $campaignId, 'id' => $id); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Dfareporting_LandingPage"); + } + /** + * Inserts a new landing page for the specified campaign. (landingPages.insert) + * + * @param string $profileId User profile ID associated with this request. + * @param string $campaignId Landing page campaign ID. + * @param Google_Service_Dfareporting_LandingPage $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Dfareporting_LandingPage + */ + public function insert($profileId, $campaignId, Google_Service_Dfareporting_LandingPage $postBody, $optParams = array()) + { + $params = array('profileId' => $profileId, 'campaignId' => $campaignId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('insert', array($params), "Google_Service_Dfareporting_LandingPage"); + } + /** + * Retrieves the list of landing pages for the specified campaign. + * (landingPages.listLandingPages) + * + * @param string $profileId User profile ID associated with this request. + * @param string $campaignId Landing page campaign ID. + * @param array $optParams Optional parameters. + * @return Google_Service_Dfareporting_LandingPagesListResponse + */ + public function listLandingPages($profileId, $campaignId, $optParams = array()) + { + $params = array('profileId' => $profileId, 'campaignId' => $campaignId); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Dfareporting_LandingPagesListResponse"); + } + /** + * Updates an existing campaign landing page. This method supports patch + * semantics. (landingPages.patch) + * + * @param string $profileId User profile ID associated with this request. + * @param string $campaignId Landing page campaign ID. + * @param string $id Landing page ID. + * @param Google_Service_Dfareporting_LandingPage $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Dfareporting_LandingPage + */ + public function patch($profileId, $campaignId, $id, Google_Service_Dfareporting_LandingPage $postBody, $optParams = array()) + { + $params = array('profileId' => $profileId, 'campaignId' => $campaignId, 'id' => $id, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('patch', array($params), "Google_Service_Dfareporting_LandingPage"); + } + /** + * Updates an existing campaign landing page. (landingPages.update) + * + * @param string $profileId User profile ID associated with this request. + * @param string $campaignId Landing page campaign ID. + * @param Google_Service_Dfareporting_LandingPage $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Dfareporting_LandingPage + */ + public function update($profileId, $campaignId, Google_Service_Dfareporting_LandingPage $postBody, $optParams = array()) + { + $params = array('profileId' => $profileId, 'campaignId' => $campaignId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('update', array($params), "Google_Service_Dfareporting_LandingPage"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/Languages.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/Languages.php new file mode 100644 index 00000000..79e856af --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/Languages.php @@ -0,0 +1,41 @@ + + * $dfareportingService = new Google_Service_Dfareporting(...); + * $languages = $dfareportingService->languages; + * + */ +class Google_Service_Dfareporting_Resource_Languages extends Google_Service_Resource +{ + /** + * Retrieves a list of languages. (languages.listLanguages) + * + * @param string $profileId User profile ID associated with this request. + * @param array $optParams Optional parameters. + * @return Google_Service_Dfareporting_LanguagesListResponse + */ + public function listLanguages($profileId, $optParams = array()) + { + $params = array('profileId' => $profileId); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Dfareporting_LanguagesListResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/Metros.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/Metros.php new file mode 100644 index 00000000..57cf15e6 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/Metros.php @@ -0,0 +1,41 @@ + + * $dfareportingService = new Google_Service_Dfareporting(...); + * $metros = $dfareportingService->metros; + * + */ +class Google_Service_Dfareporting_Resource_Metros extends Google_Service_Resource +{ + /** + * Retrieves a list of metros. (metros.listMetros) + * + * @param string $profileId User profile ID associated with this request. + * @param array $optParams Optional parameters. + * @return Google_Service_Dfareporting_MetrosListResponse + */ + public function listMetros($profileId, $optParams = array()) + { + $params = array('profileId' => $profileId); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Dfareporting_MetrosListResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/MobileCarriers.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/MobileCarriers.php new file mode 100644 index 00000000..a9c62290 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/MobileCarriers.php @@ -0,0 +1,55 @@ + + * $dfareportingService = new Google_Service_Dfareporting(...); + * $mobileCarriers = $dfareportingService->mobileCarriers; + * + */ +class Google_Service_Dfareporting_Resource_MobileCarriers extends Google_Service_Resource +{ + /** + * Gets one mobile carrier by ID. (mobileCarriers.get) + * + * @param string $profileId User profile ID associated with this request. + * @param string $id Mobile carrier ID. + * @param array $optParams Optional parameters. + * @return Google_Service_Dfareporting_MobileCarrier + */ + public function get($profileId, $id, $optParams = array()) + { + $params = array('profileId' => $profileId, 'id' => $id); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Dfareporting_MobileCarrier"); + } + /** + * Retrieves a list of mobile carriers. (mobileCarriers.listMobileCarriers) + * + * @param string $profileId User profile ID associated with this request. + * @param array $optParams Optional parameters. + * @return Google_Service_Dfareporting_MobileCarriersListResponse + */ + public function listMobileCarriers($profileId, $optParams = array()) + { + $params = array('profileId' => $profileId); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Dfareporting_MobileCarriersListResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/OperatingSystemVersions.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/OperatingSystemVersions.php new file mode 100644 index 00000000..d5b7903e --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/OperatingSystemVersions.php @@ -0,0 +1,56 @@ + + * $dfareportingService = new Google_Service_Dfareporting(...); + * $operatingSystemVersions = $dfareportingService->operatingSystemVersions; + * + */ +class Google_Service_Dfareporting_Resource_OperatingSystemVersions extends Google_Service_Resource +{ + /** + * Gets one operating system version by ID. (operatingSystemVersions.get) + * + * @param string $profileId User profile ID associated with this request. + * @param string $id Operating system version ID. + * @param array $optParams Optional parameters. + * @return Google_Service_Dfareporting_OperatingSystemVersion + */ + public function get($profileId, $id, $optParams = array()) + { + $params = array('profileId' => $profileId, 'id' => $id); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Dfareporting_OperatingSystemVersion"); + } + /** + * Retrieves a list of operating system versions. + * (operatingSystemVersions.listOperatingSystemVersions) + * + * @param string $profileId User profile ID associated with this request. + * @param array $optParams Optional parameters. + * @return Google_Service_Dfareporting_OperatingSystemVersionsListResponse + */ + public function listOperatingSystemVersions($profileId, $optParams = array()) + { + $params = array('profileId' => $profileId); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Dfareporting_OperatingSystemVersionsListResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/OperatingSystems.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/OperatingSystems.php new file mode 100644 index 00000000..c17b2635 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/OperatingSystems.php @@ -0,0 +1,56 @@ + + * $dfareportingService = new Google_Service_Dfareporting(...); + * $operatingSystems = $dfareportingService->operatingSystems; + * + */ +class Google_Service_Dfareporting_Resource_OperatingSystems extends Google_Service_Resource +{ + /** + * Gets one operating system by DART ID. (operatingSystems.get) + * + * @param string $profileId User profile ID associated with this request. + * @param string $dartId Operating system DART ID. + * @param array $optParams Optional parameters. + * @return Google_Service_Dfareporting_OperatingSystem + */ + public function get($profileId, $dartId, $optParams = array()) + { + $params = array('profileId' => $profileId, 'dartId' => $dartId); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Dfareporting_OperatingSystem"); + } + /** + * Retrieves a list of operating systems. + * (operatingSystems.listOperatingSystems) + * + * @param string $profileId User profile ID associated with this request. + * @param array $optParams Optional parameters. + * @return Google_Service_Dfareporting_OperatingSystemsListResponse + */ + public function listOperatingSystems($profileId, $optParams = array()) + { + $params = array('profileId' => $profileId); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Dfareporting_OperatingSystemsListResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/OrderDocuments.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/OrderDocuments.php new file mode 100644 index 00000000..281d64cc --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/OrderDocuments.php @@ -0,0 +1,78 @@ + + * $dfareportingService = new Google_Service_Dfareporting(...); + * $orderDocuments = $dfareportingService->orderDocuments; + * + */ +class Google_Service_Dfareporting_Resource_OrderDocuments extends Google_Service_Resource +{ + /** + * Gets one order document by ID. (orderDocuments.get) + * + * @param string $profileId User profile ID associated with this request. + * @param string $projectId Project ID for order documents. + * @param string $id Order document ID. + * @param array $optParams Optional parameters. + * @return Google_Service_Dfareporting_OrderDocument + */ + public function get($profileId, $projectId, $id, $optParams = array()) + { + $params = array('profileId' => $profileId, 'projectId' => $projectId, 'id' => $id); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Dfareporting_OrderDocument"); + } + /** + * Retrieves a list of order documents, possibly filtered. This method supports + * paging. (orderDocuments.listOrderDocuments) + * + * @param string $profileId User profile ID associated with this request. + * @param string $projectId Project ID for order documents. + * @param array $optParams Optional parameters. + * + * @opt_param bool approved Select only order documents that have been approved + * by at least one user. + * @opt_param string ids Select only order documents with these IDs. + * @opt_param int maxResults Maximum number of results to return. + * @opt_param string orderId Select only order documents for specified orders. + * @opt_param string pageToken Value of the nextPageToken from the previous + * result page. + * @opt_param string searchString Allows searching for order documents by name + * or ID. Wildcards (*) are allowed. For example, "orderdocument*2015" will + * return order documents with names like "orderdocument June 2015", + * "orderdocument April 2015", or simply "orderdocument 2015". Most of the + * searches also add wildcards implicitly at the start and the end of the search + * string. For example, a search string of "orderdocument" will match order + * documents with name "my orderdocument", "orderdocument 2015", or simply + * "orderdocument". + * @opt_param string siteId Select only order documents that are associated with + * these sites. + * @opt_param string sortField Field by which to sort the list. + * @opt_param string sortOrder Order of sorted results, default is ASCENDING. + * @return Google_Service_Dfareporting_OrderDocumentsListResponse + */ + public function listOrderDocuments($profileId, $projectId, $optParams = array()) + { + $params = array('profileId' => $profileId, 'projectId' => $projectId); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Dfareporting_OrderDocumentsListResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/Orders.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/Orders.php new file mode 100644 index 00000000..ce882dda --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/Orders.php @@ -0,0 +1,73 @@ + + * $dfareportingService = new Google_Service_Dfareporting(...); + * $orders = $dfareportingService->orders; + * + */ +class Google_Service_Dfareporting_Resource_Orders extends Google_Service_Resource +{ + /** + * Gets one order by ID. (orders.get) + * + * @param string $profileId User profile ID associated with this request. + * @param string $projectId Project ID for orders. + * @param string $id Order ID. + * @param array $optParams Optional parameters. + * @return Google_Service_Dfareporting_Order + */ + public function get($profileId, $projectId, $id, $optParams = array()) + { + $params = array('profileId' => $profileId, 'projectId' => $projectId, 'id' => $id); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Dfareporting_Order"); + } + /** + * Retrieves a list of orders, possibly filtered. This method supports paging. + * (orders.listOrders) + * + * @param string $profileId User profile ID associated with this request. + * @param string $projectId Project ID for orders. + * @param array $optParams Optional parameters. + * + * @opt_param string ids Select only orders with these IDs. + * @opt_param int maxResults Maximum number of results to return. + * @opt_param string pageToken Value of the nextPageToken from the previous + * result page. + * @opt_param string searchString Allows searching for orders by name or ID. + * Wildcards (*) are allowed. For example, "order*2015" will return orders with + * names like "order June 2015", "order April 2015", or simply "order 2015". + * Most of the searches also add wildcards implicitly at the start and the end + * of the search string. For example, a search string of "order" will match + * orders with name "my order", "order 2015", or simply "order". + * @opt_param string siteId Select only orders that are associated with these + * site IDs. + * @opt_param string sortField Field by which to sort the list. + * @opt_param string sortOrder Order of sorted results, default is ASCENDING. + * @return Google_Service_Dfareporting_OrdersListResponse + */ + public function listOrders($profileId, $projectId, $optParams = array()) + { + $params = array('profileId' => $profileId, 'projectId' => $projectId); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Dfareporting_OrdersListResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/PlacementGroups.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/PlacementGroups.php new file mode 100644 index 00000000..97b9a75c --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/PlacementGroups.php @@ -0,0 +1,148 @@ + + * $dfareportingService = new Google_Service_Dfareporting(...); + * $placementGroups = $dfareportingService->placementGroups; + * + */ +class Google_Service_Dfareporting_Resource_PlacementGroups extends Google_Service_Resource +{ + /** + * Gets one placement group by ID. (placementGroups.get) + * + * @param string $profileId User profile ID associated with this request. + * @param string $id Placement group ID. + * @param array $optParams Optional parameters. + * @return Google_Service_Dfareporting_PlacementGroup + */ + public function get($profileId, $id, $optParams = array()) + { + $params = array('profileId' => $profileId, 'id' => $id); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Dfareporting_PlacementGroup"); + } + /** + * Inserts a new placement group. (placementGroups.insert) + * + * @param string $profileId User profile ID associated with this request. + * @param Google_Service_Dfareporting_PlacementGroup $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Dfareporting_PlacementGroup + */ + public function insert($profileId, Google_Service_Dfareporting_PlacementGroup $postBody, $optParams = array()) + { + $params = array('profileId' => $profileId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('insert', array($params), "Google_Service_Dfareporting_PlacementGroup"); + } + /** + * Retrieves a list of placement groups, possibly filtered. This method supports + * paging. (placementGroups.listPlacementGroups) + * + * @param string $profileId User profile ID associated with this request. + * @param array $optParams Optional parameters. + * + * @opt_param string advertiserIds Select only placement groups that belong to + * these advertisers. + * @opt_param bool archived Select only archived placements. Don't set this + * field to select both archived and non-archived placements. + * @opt_param string campaignIds Select only placement groups that belong to + * these campaigns. + * @opt_param string contentCategoryIds Select only placement groups that are + * associated with these content categories. + * @opt_param string directorySiteIds Select only placement groups that are + * associated with these directory sites. + * @opt_param string ids Select only placement groups with these IDs. + * @opt_param string maxEndDate Select only placements or placement groups whose + * end date is on or before the specified maxEndDate. The date should be + * formatted as "yyyy-MM-dd". + * @opt_param int maxResults Maximum number of results to return. + * @opt_param string maxStartDate Select only placements or placement groups + * whose start date is on or before the specified maxStartDate. The date should + * be formatted as "yyyy-MM-dd". + * @opt_param string minEndDate Select only placements or placement groups whose + * end date is on or after the specified minEndDate. The date should be + * formatted as "yyyy-MM-dd". + * @opt_param string minStartDate Select only placements or placement groups + * whose start date is on or after the specified minStartDate. The date should + * be formatted as "yyyy-MM-dd". + * @opt_param string pageToken Value of the nextPageToken from the previous + * result page. + * @opt_param string placementGroupType Select only placement groups belonging + * with this group type. A package is a simple group of placements that acts as + * a single pricing point for a group of tags. A roadblock is a group of + * placements that not only acts as a single pricing point but also assumes that + * all the tags in it will be served at the same time. A roadblock requires one + * of its assigned placements to be marked as primary for reporting. + * @opt_param string placementStrategyIds Select only placement groups that are + * associated with these placement strategies. + * @opt_param string pricingTypes Select only placement groups with these + * pricing types. + * @opt_param string searchString Allows searching for placement groups by name + * or ID. Wildcards (*) are allowed. For example, "placement*2015" will return + * placement groups with names like "placement group June 2015", "placement + * group May 2015", or simply "placements 2015". Most of the searches also add + * wildcards implicitly at the start and the end of the search string. For + * example, a search string of "placementgroup" will match placement groups with + * name "my placementgroup", "placementgroup 2015", or simply "placementgroup". + * @opt_param string siteIds Select only placement groups that are associated + * with these sites. + * @opt_param string sortField Field by which to sort the list. + * @opt_param string sortOrder Order of sorted results, default is ASCENDING. + * @return Google_Service_Dfareporting_PlacementGroupsListResponse + */ + public function listPlacementGroups($profileId, $optParams = array()) + { + $params = array('profileId' => $profileId); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Dfareporting_PlacementGroupsListResponse"); + } + /** + * Updates an existing placement group. This method supports patch semantics. + * (placementGroups.patch) + * + * @param string $profileId User profile ID associated with this request. + * @param string $id Placement group ID. + * @param Google_Service_Dfareporting_PlacementGroup $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Dfareporting_PlacementGroup + */ + public function patch($profileId, $id, Google_Service_Dfareporting_PlacementGroup $postBody, $optParams = array()) + { + $params = array('profileId' => $profileId, 'id' => $id, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('patch', array($params), "Google_Service_Dfareporting_PlacementGroup"); + } + /** + * Updates an existing placement group. (placementGroups.update) + * + * @param string $profileId User profile ID associated with this request. + * @param Google_Service_Dfareporting_PlacementGroup $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Dfareporting_PlacementGroup + */ + public function update($profileId, Google_Service_Dfareporting_PlacementGroup $postBody, $optParams = array()) + { + $params = array('profileId' => $profileId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('update', array($params), "Google_Service_Dfareporting_PlacementGroup"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/PlacementStrategies.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/PlacementStrategies.php new file mode 100644 index 00000000..7ce914cd --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/PlacementStrategies.php @@ -0,0 +1,128 @@ + + * $dfareportingService = new Google_Service_Dfareporting(...); + * $placementStrategies = $dfareportingService->placementStrategies; + * + */ +class Google_Service_Dfareporting_Resource_PlacementStrategies extends Google_Service_Resource +{ + /** + * Deletes an existing placement strategy. (placementStrategies.delete) + * + * @param string $profileId User profile ID associated with this request. + * @param string $id Placement strategy ID. + * @param array $optParams Optional parameters. + */ + public function delete($profileId, $id, $optParams = array()) + { + $params = array('profileId' => $profileId, 'id' => $id); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params)); + } + /** + * Gets one placement strategy by ID. (placementStrategies.get) + * + * @param string $profileId User profile ID associated with this request. + * @param string $id Placement strategy ID. + * @param array $optParams Optional parameters. + * @return Google_Service_Dfareporting_PlacementStrategy + */ + public function get($profileId, $id, $optParams = array()) + { + $params = array('profileId' => $profileId, 'id' => $id); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Dfareporting_PlacementStrategy"); + } + /** + * Inserts a new placement strategy. (placementStrategies.insert) + * + * @param string $profileId User profile ID associated with this request. + * @param Google_Service_Dfareporting_PlacementStrategy $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Dfareporting_PlacementStrategy + */ + public function insert($profileId, Google_Service_Dfareporting_PlacementStrategy $postBody, $optParams = array()) + { + $params = array('profileId' => $profileId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('insert', array($params), "Google_Service_Dfareporting_PlacementStrategy"); + } + /** + * Retrieves a list of placement strategies, possibly filtered. This method + * supports paging. (placementStrategies.listPlacementStrategies) + * + * @param string $profileId User profile ID associated with this request. + * @param array $optParams Optional parameters. + * + * @opt_param string ids Select only placement strategies with these IDs. + * @opt_param int maxResults Maximum number of results to return. + * @opt_param string pageToken Value of the nextPageToken from the previous + * result page. + * @opt_param string searchString Allows searching for objects by name or ID. + * Wildcards (*) are allowed. For example, "placementstrategy*2015" will return + * objects with names like "placementstrategy June 2015", "placementstrategy + * April 2015", or simply "placementstrategy 2015". Most of the searches also + * add wildcards implicitly at the start and the end of the search string. For + * example, a search string of "placementstrategy" will match objects with name + * "my placementstrategy", "placementstrategy 2015", or simply + * "placementstrategy". + * @opt_param string sortField Field by which to sort the list. + * @opt_param string sortOrder Order of sorted results, default is ASCENDING. + * @return Google_Service_Dfareporting_PlacementStrategiesListResponse + */ + public function listPlacementStrategies($profileId, $optParams = array()) + { + $params = array('profileId' => $profileId); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Dfareporting_PlacementStrategiesListResponse"); + } + /** + * Updates an existing placement strategy. This method supports patch semantics. + * (placementStrategies.patch) + * + * @param string $profileId User profile ID associated with this request. + * @param string $id Placement strategy ID. + * @param Google_Service_Dfareporting_PlacementStrategy $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Dfareporting_PlacementStrategy + */ + public function patch($profileId, $id, Google_Service_Dfareporting_PlacementStrategy $postBody, $optParams = array()) + { + $params = array('profileId' => $profileId, 'id' => $id, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('patch', array($params), "Google_Service_Dfareporting_PlacementStrategy"); + } + /** + * Updates an existing placement strategy. (placementStrategies.update) + * + * @param string $profileId User profile ID associated with this request. + * @param Google_Service_Dfareporting_PlacementStrategy $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Dfareporting_PlacementStrategy + */ + public function update($profileId, Google_Service_Dfareporting_PlacementStrategy $postBody, $optParams = array()) + { + $params = array('profileId' => $profileId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('update', array($params), "Google_Service_Dfareporting_PlacementStrategy"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/Placements.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/Placements.php new file mode 100644 index 00000000..cf27a58a --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/Placements.php @@ -0,0 +1,172 @@ + + * $dfareportingService = new Google_Service_Dfareporting(...); + * $placements = $dfareportingService->placements; + * + */ +class Google_Service_Dfareporting_Resource_Placements extends Google_Service_Resource +{ + /** + * Generates tags for a placement. (placements.generatetags) + * + * @param string $profileId User profile ID associated with this request. + * @param array $optParams Optional parameters. + * + * @opt_param string campaignId Generate placements belonging to this campaign. + * This is a required field. + * @opt_param string placementIds Generate tags for these placements. + * @opt_param string tagFormats Tag formats to generate for these placements. + * @return Google_Service_Dfareporting_PlacementsGenerateTagsResponse + */ + public function generatetags($profileId, $optParams = array()) + { + $params = array('profileId' => $profileId); + $params = array_merge($params, $optParams); + return $this->call('generatetags', array($params), "Google_Service_Dfareporting_PlacementsGenerateTagsResponse"); + } + /** + * Gets one placement by ID. (placements.get) + * + * @param string $profileId User profile ID associated with this request. + * @param string $id Placement ID. + * @param array $optParams Optional parameters. + * @return Google_Service_Dfareporting_Placement + */ + public function get($profileId, $id, $optParams = array()) + { + $params = array('profileId' => $profileId, 'id' => $id); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Dfareporting_Placement"); + } + /** + * Inserts a new placement. (placements.insert) + * + * @param string $profileId User profile ID associated with this request. + * @param Google_Service_Dfareporting_Placement $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Dfareporting_Placement + */ + public function insert($profileId, Google_Service_Dfareporting_Placement $postBody, $optParams = array()) + { + $params = array('profileId' => $profileId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('insert', array($params), "Google_Service_Dfareporting_Placement"); + } + /** + * Retrieves a list of placements, possibly filtered. This method supports + * paging. (placements.listPlacements) + * + * @param string $profileId User profile ID associated with this request. + * @param array $optParams Optional parameters. + * + * @opt_param string advertiserIds Select only placements that belong to these + * advertisers. + * @opt_param bool archived Select only archived placements. Don't set this + * field to select both archived and non-archived placements. + * @opt_param string campaignIds Select only placements that belong to these + * campaigns. + * @opt_param string compatibilities Select only placements that are associated + * with these compatibilities. DISPLAY and DISPLAY_INTERSTITIAL refer to + * rendering either on desktop or on mobile devices for regular or interstitial + * ads respectively. APP and APP_INTERSTITIAL are for rendering in mobile apps. + * IN_STREAM_VIDEO refers to rendering in in-stream video ads developed with the + * VAST standard. + * @opt_param string contentCategoryIds Select only placements that are + * associated with these content categories. + * @opt_param string directorySiteIds Select only placements that are associated + * with these directory sites. + * @opt_param string groupIds Select only placements that belong to these + * placement groups. + * @opt_param string ids Select only placements with these IDs. + * @opt_param string maxEndDate Select only placements or placement groups whose + * end date is on or before the specified maxEndDate. The date should be + * formatted as "yyyy-MM-dd". + * @opt_param int maxResults Maximum number of results to return. + * @opt_param string maxStartDate Select only placements or placement groups + * whose start date is on or before the specified maxStartDate. The date should + * be formatted as "yyyy-MM-dd". + * @opt_param string minEndDate Select only placements or placement groups whose + * end date is on or after the specified minEndDate. The date should be + * formatted as "yyyy-MM-dd". + * @opt_param string minStartDate Select only placements or placement groups + * whose start date is on or after the specified minStartDate. The date should + * be formatted as "yyyy-MM-dd". + * @opt_param string pageToken Value of the nextPageToken from the previous + * result page. + * @opt_param string paymentSource Select only placements with this payment + * source. + * @opt_param string placementStrategyIds Select only placements that are + * associated with these placement strategies. + * @opt_param string pricingTypes Select only placements with these pricing + * types. + * @opt_param string searchString Allows searching for placements by name or ID. + * Wildcards (*) are allowed. For example, "placement*2015" will return + * placements with names like "placement June 2015", "placement May 2015", or + * simply "placements 2015". Most of the searches also add wildcards implicitly + * at the start and the end of the search string. For example, a search string + * of "placement" will match placements with name "my placement", "placement + * 2015", or simply "placement". + * @opt_param string siteIds Select only placements that are associated with + * these sites. + * @opt_param string sizeIds Select only placements that are associated with + * these sizes. + * @opt_param string sortField Field by which to sort the list. + * @opt_param string sortOrder Order of sorted results, default is ASCENDING. + * @return Google_Service_Dfareporting_PlacementsListResponse + */ + public function listPlacements($profileId, $optParams = array()) + { + $params = array('profileId' => $profileId); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Dfareporting_PlacementsListResponse"); + } + /** + * Updates an existing placement. This method supports patch semantics. + * (placements.patch) + * + * @param string $profileId User profile ID associated with this request. + * @param string $id Placement ID. + * @param Google_Service_Dfareporting_Placement $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Dfareporting_Placement + */ + public function patch($profileId, $id, Google_Service_Dfareporting_Placement $postBody, $optParams = array()) + { + $params = array('profileId' => $profileId, 'id' => $id, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('patch', array($params), "Google_Service_Dfareporting_Placement"); + } + /** + * Updates an existing placement. (placements.update) + * + * @param string $profileId User profile ID associated with this request. + * @param Google_Service_Dfareporting_Placement $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Dfareporting_Placement + */ + public function update($profileId, Google_Service_Dfareporting_Placement $postBody, $optParams = array()) + { + $params = array('profileId' => $profileId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('update', array($params), "Google_Service_Dfareporting_Placement"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/PlatformTypes.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/PlatformTypes.php new file mode 100644 index 00000000..8437cb42 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/PlatformTypes.php @@ -0,0 +1,55 @@ + + * $dfareportingService = new Google_Service_Dfareporting(...); + * $platformTypes = $dfareportingService->platformTypes; + * + */ +class Google_Service_Dfareporting_Resource_PlatformTypes extends Google_Service_Resource +{ + /** + * Gets one platform type by ID. (platformTypes.get) + * + * @param string $profileId User profile ID associated with this request. + * @param string $id Platform type ID. + * @param array $optParams Optional parameters. + * @return Google_Service_Dfareporting_PlatformType + */ + public function get($profileId, $id, $optParams = array()) + { + $params = array('profileId' => $profileId, 'id' => $id); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Dfareporting_PlatformType"); + } + /** + * Retrieves a list of platform types. (platformTypes.listPlatformTypes) + * + * @param string $profileId User profile ID associated with this request. + * @param array $optParams Optional parameters. + * @return Google_Service_Dfareporting_PlatformTypesListResponse + */ + public function listPlatformTypes($profileId, $optParams = array()) + { + $params = array('profileId' => $profileId); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Dfareporting_PlatformTypesListResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/PostalCodes.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/PostalCodes.php new file mode 100644 index 00000000..d5cf00ee --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/PostalCodes.php @@ -0,0 +1,55 @@ + + * $dfareportingService = new Google_Service_Dfareporting(...); + * $postalCodes = $dfareportingService->postalCodes; + * + */ +class Google_Service_Dfareporting_Resource_PostalCodes extends Google_Service_Resource +{ + /** + * Gets one postal code by ID. (postalCodes.get) + * + * @param string $profileId User profile ID associated with this request. + * @param string $code Postal code ID. + * @param array $optParams Optional parameters. + * @return Google_Service_Dfareporting_PostalCode + */ + public function get($profileId, $code, $optParams = array()) + { + $params = array('profileId' => $profileId, 'code' => $code); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Dfareporting_PostalCode"); + } + /** + * Retrieves a list of postal codes. (postalCodes.listPostalCodes) + * + * @param string $profileId User profile ID associated with this request. + * @param array $optParams Optional parameters. + * @return Google_Service_Dfareporting_PostalCodesListResponse + */ + public function listPostalCodes($profileId, $optParams = array()) + { + $params = array('profileId' => $profileId); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Dfareporting_PostalCodesListResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/Projects.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/Projects.php new file mode 100644 index 00000000..0f396f8e --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/Projects.php @@ -0,0 +1,71 @@ + + * $dfareportingService = new Google_Service_Dfareporting(...); + * $projects = $dfareportingService->projects; + * + */ +class Google_Service_Dfareporting_Resource_Projects extends Google_Service_Resource +{ + /** + * Gets one project by ID. (projects.get) + * + * @param string $profileId User profile ID associated with this request. + * @param string $id Project ID. + * @param array $optParams Optional parameters. + * @return Google_Service_Dfareporting_Project + */ + public function get($profileId, $id, $optParams = array()) + { + $params = array('profileId' => $profileId, 'id' => $id); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Dfareporting_Project"); + } + /** + * Retrieves a list of projects, possibly filtered. This method supports paging. + * (projects.listProjects) + * + * @param string $profileId User profile ID associated with this request. + * @param array $optParams Optional parameters. + * + * @opt_param string advertiserIds Select only projects with these advertiser + * IDs. + * @opt_param string ids Select only projects with these IDs. + * @opt_param int maxResults Maximum number of results to return. + * @opt_param string pageToken Value of the nextPageToken from the previous + * result page. + * @opt_param string searchString Allows searching for projects by name or ID. + * Wildcards (*) are allowed. For example, "project*2015" will return projects + * with names like "project June 2015", "project April 2015", or simply "project + * 2015". Most of the searches also add wildcards implicitly at the start and + * the end of the search string. For example, a search string of "project" will + * match projects with name "my project", "project 2015", or simply "project". + * @opt_param string sortField Field by which to sort the list. + * @opt_param string sortOrder Order of sorted results, default is ASCENDING. + * @return Google_Service_Dfareporting_ProjectsListResponse + */ + public function listProjects($profileId, $optParams = array()) + { + $params = array('profileId' => $profileId); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Dfareporting_ProjectsListResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/Regions.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/Regions.php new file mode 100644 index 00000000..a6e170ca --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/Regions.php @@ -0,0 +1,41 @@ + + * $dfareportingService = new Google_Service_Dfareporting(...); + * $regions = $dfareportingService->regions; + * + */ +class Google_Service_Dfareporting_Resource_Regions extends Google_Service_Resource +{ + /** + * Retrieves a list of regions. (regions.listRegions) + * + * @param string $profileId User profile ID associated with this request. + * @param array $optParams Optional parameters. + * @return Google_Service_Dfareporting_RegionsListResponse + */ + public function listRegions($profileId, $optParams = array()) + { + $params = array('profileId' => $profileId); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Dfareporting_RegionsListResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/RemarketingListShares.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/RemarketingListShares.php new file mode 100644 index 00000000..09123dd3 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/RemarketingListShares.php @@ -0,0 +1,73 @@ + + * $dfareportingService = new Google_Service_Dfareporting(...); + * $remarketingListShares = $dfareportingService->remarketingListShares; + * + */ +class Google_Service_Dfareporting_Resource_RemarketingListShares extends Google_Service_Resource +{ + /** + * Gets one remarketing list share by remarketing list ID. + * (remarketingListShares.get) + * + * @param string $profileId User profile ID associated with this request. + * @param string $remarketingListId Remarketing list ID. + * @param array $optParams Optional parameters. + * @return Google_Service_Dfareporting_RemarketingListShare + */ + public function get($profileId, $remarketingListId, $optParams = array()) + { + $params = array('profileId' => $profileId, 'remarketingListId' => $remarketingListId); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Dfareporting_RemarketingListShare"); + } + /** + * Updates an existing remarketing list share. This method supports patch + * semantics. (remarketingListShares.patch) + * + * @param string $profileId User profile ID associated with this request. + * @param string $remarketingListId Remarketing list ID. + * @param Google_Service_Dfareporting_RemarketingListShare $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Dfareporting_RemarketingListShare + */ + public function patch($profileId, $remarketingListId, Google_Service_Dfareporting_RemarketingListShare $postBody, $optParams = array()) + { + $params = array('profileId' => $profileId, 'remarketingListId' => $remarketingListId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('patch', array($params), "Google_Service_Dfareporting_RemarketingListShare"); + } + /** + * Updates an existing remarketing list share. (remarketingListShares.update) + * + * @param string $profileId User profile ID associated with this request. + * @param Google_Service_Dfareporting_RemarketingListShare $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Dfareporting_RemarketingListShare + */ + public function update($profileId, Google_Service_Dfareporting_RemarketingListShare $postBody, $optParams = array()) + { + $params = array('profileId' => $profileId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('update', array($params), "Google_Service_Dfareporting_RemarketingListShare"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/RemarketingLists.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/RemarketingLists.php new file mode 100644 index 00000000..990f476a --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/RemarketingLists.php @@ -0,0 +1,118 @@ + + * $dfareportingService = new Google_Service_Dfareporting(...); + * $remarketingLists = $dfareportingService->remarketingLists; + * + */ +class Google_Service_Dfareporting_Resource_RemarketingLists extends Google_Service_Resource +{ + /** + * Gets one remarketing list by ID. (remarketingLists.get) + * + * @param string $profileId User profile ID associated with this request. + * @param string $id Remarketing list ID. + * @param array $optParams Optional parameters. + * @return Google_Service_Dfareporting_RemarketingList + */ + public function get($profileId, $id, $optParams = array()) + { + $params = array('profileId' => $profileId, 'id' => $id); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Dfareporting_RemarketingList"); + } + /** + * Inserts a new remarketing list. (remarketingLists.insert) + * + * @param string $profileId User profile ID associated with this request. + * @param Google_Service_Dfareporting_RemarketingList $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Dfareporting_RemarketingList + */ + public function insert($profileId, Google_Service_Dfareporting_RemarketingList $postBody, $optParams = array()) + { + $params = array('profileId' => $profileId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('insert', array($params), "Google_Service_Dfareporting_RemarketingList"); + } + /** + * Retrieves a list of remarketing lists, possibly filtered. This method + * supports paging. (remarketingLists.listRemarketingLists) + * + * @param string $profileId User profile ID associated with this request. + * @param string $advertiserId Select only remarketing lists owned by this + * advertiser. + * @param array $optParams Optional parameters. + * + * @opt_param bool active Select only active or only inactive remarketing lists. + * @opt_param string floodlightActivityId Select only remarketing lists that + * have this floodlight activity ID. + * @opt_param int maxResults Maximum number of results to return. + * @opt_param string name Allows searching for objects by name or ID. Wildcards + * (*) are allowed. For example, "remarketing list*2015" will return objects + * with names like "remarketing list June 2015", "remarketing list April 2015", + * or simply "remarketing list 2015". Most of the searches also add wildcards + * implicitly at the start and the end of the search string. For example, a + * search string of "remarketing list" will match objects with name "my + * remarketing list", "remarketing list 2015", or simply "remarketing list". + * @opt_param string pageToken Value of the nextPageToken from the previous + * result page. + * @opt_param string sortField Field by which to sort the list. + * @opt_param string sortOrder Order of sorted results, default is ASCENDING. + * @return Google_Service_Dfareporting_RemarketingListsListResponse + */ + public function listRemarketingLists($profileId, $advertiserId, $optParams = array()) + { + $params = array('profileId' => $profileId, 'advertiserId' => $advertiserId); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Dfareporting_RemarketingListsListResponse"); + } + /** + * Updates an existing remarketing list. This method supports patch semantics. + * (remarketingLists.patch) + * + * @param string $profileId User profile ID associated with this request. + * @param string $id Remarketing list ID. + * @param Google_Service_Dfareporting_RemarketingList $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Dfareporting_RemarketingList + */ + public function patch($profileId, $id, Google_Service_Dfareporting_RemarketingList $postBody, $optParams = array()) + { + $params = array('profileId' => $profileId, 'id' => $id, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('patch', array($params), "Google_Service_Dfareporting_RemarketingList"); + } + /** + * Updates an existing remarketing list. (remarketingLists.update) + * + * @param string $profileId User profile ID associated with this request. + * @param Google_Service_Dfareporting_RemarketingList $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Dfareporting_RemarketingList + */ + public function update($profileId, Google_Service_Dfareporting_RemarketingList $postBody, $optParams = array()) + { + $params = array('profileId' => $profileId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('update', array($params), "Google_Service_Dfareporting_RemarketingList"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/Reports.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/Reports.php new file mode 100644 index 00000000..1598d799 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/Reports.php @@ -0,0 +1,137 @@ + + * $dfareportingService = new Google_Service_Dfareporting(...); + * $reports = $dfareportingService->reports; + * + */ +class Google_Service_Dfareporting_Resource_Reports extends Google_Service_Resource +{ + /** + * Deletes a report by its ID. (reports.delete) + * + * @param string $profileId The DFA user profile ID. + * @param string $reportId The ID of the report. + * @param array $optParams Optional parameters. + */ + public function delete($profileId, $reportId, $optParams = array()) + { + $params = array('profileId' => $profileId, 'reportId' => $reportId); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params)); + } + /** + * Retrieves a report by its ID. (reports.get) + * + * @param string $profileId The DFA user profile ID. + * @param string $reportId The ID of the report. + * @param array $optParams Optional parameters. + * @return Google_Service_Dfareporting_Report + */ + public function get($profileId, $reportId, $optParams = array()) + { + $params = array('profileId' => $profileId, 'reportId' => $reportId); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Dfareporting_Report"); + } + /** + * Creates a report. (reports.insert) + * + * @param string $profileId The DFA user profile ID. + * @param Google_Service_Dfareporting_Report $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Dfareporting_Report + */ + public function insert($profileId, Google_Service_Dfareporting_Report $postBody, $optParams = array()) + { + $params = array('profileId' => $profileId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('insert', array($params), "Google_Service_Dfareporting_Report"); + } + /** + * Retrieves list of reports. (reports.listReports) + * + * @param string $profileId The DFA user profile ID. + * @param array $optParams Optional parameters. + * + * @opt_param int maxResults Maximum number of results to return. + * @opt_param string pageToken The value of the nextToken from the previous + * result page. + * @opt_param string scope The scope that defines which results are returned, + * default is 'MINE'. + * @opt_param string sortField The field by which to sort the list. + * @opt_param string sortOrder Order of sorted results, default is 'DESCENDING'. + * @return Google_Service_Dfareporting_ReportList + */ + public function listReports($profileId, $optParams = array()) + { + $params = array('profileId' => $profileId); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Dfareporting_ReportList"); + } + /** + * Updates a report. This method supports patch semantics. (reports.patch) + * + * @param string $profileId The DFA user profile ID. + * @param string $reportId The ID of the report. + * @param Google_Service_Dfareporting_Report $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Dfareporting_Report + */ + public function patch($profileId, $reportId, Google_Service_Dfareporting_Report $postBody, $optParams = array()) + { + $params = array('profileId' => $profileId, 'reportId' => $reportId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('patch', array($params), "Google_Service_Dfareporting_Report"); + } + /** + * Runs a report. (reports.run) + * + * @param string $profileId The DFA profile ID. + * @param string $reportId The ID of the report. + * @param array $optParams Optional parameters. + * + * @opt_param bool synchronous If set and true, tries to run the report + * synchronously. + * @return Google_Service_Dfareporting_DfareportingFile + */ + public function run($profileId, $reportId, $optParams = array()) + { + $params = array('profileId' => $profileId, 'reportId' => $reportId); + $params = array_merge($params, $optParams); + return $this->call('run', array($params), "Google_Service_Dfareporting_DfareportingFile"); + } + /** + * Updates a report. (reports.update) + * + * @param string $profileId The DFA user profile ID. + * @param string $reportId The ID of the report. + * @param Google_Service_Dfareporting_Report $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Dfareporting_Report + */ + public function update($profileId, $reportId, Google_Service_Dfareporting_Report $postBody, $optParams = array()) + { + $params = array('profileId' => $profileId, 'reportId' => $reportId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('update', array($params), "Google_Service_Dfareporting_Report"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/ReportsCompatibleFields.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/ReportsCompatibleFields.php new file mode 100644 index 00000000..b6a9c9ea --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/ReportsCompatibleFields.php @@ -0,0 +1,44 @@ + + * $dfareportingService = new Google_Service_Dfareporting(...); + * $compatibleFields = $dfareportingService->compatibleFields; + * + */ +class Google_Service_Dfareporting_Resource_ReportsCompatibleFields extends Google_Service_Resource +{ + /** + * Returns the fields that are compatible to be selected in the respective + * sections of a report criteria, given the fields already selected in the input + * report and user permissions. (compatibleFields.query) + * + * @param string $profileId The DFA user profile ID. + * @param Google_Service_Dfareporting_Report $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Dfareporting_CompatibleFields + */ + public function query($profileId, Google_Service_Dfareporting_Report $postBody, $optParams = array()) + { + $params = array('profileId' => $profileId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('query', array($params), "Google_Service_Dfareporting_CompatibleFields"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/ReportsFiles.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/ReportsFiles.php new file mode 100644 index 00000000..6c76e792 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/ReportsFiles.php @@ -0,0 +1,63 @@ + + * $dfareportingService = new Google_Service_Dfareporting(...); + * $files = $dfareportingService->files; + * + */ +class Google_Service_Dfareporting_Resource_ReportsFiles extends Google_Service_Resource +{ + /** + * Retrieves a report file. (files.get) + * + * @param string $profileId The DFA profile ID. + * @param string $reportId The ID of the report. + * @param string $fileId The ID of the report file. + * @param array $optParams Optional parameters. + * @return Google_Service_Dfareporting_DfareportingFile + */ + public function get($profileId, $reportId, $fileId, $optParams = array()) + { + $params = array('profileId' => $profileId, 'reportId' => $reportId, 'fileId' => $fileId); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Dfareporting_DfareportingFile"); + } + /** + * Lists files for a report. (files.listReportsFiles) + * + * @param string $profileId The DFA profile ID. + * @param string $reportId The ID of the parent report. + * @param array $optParams Optional parameters. + * + * @opt_param int maxResults Maximum number of results to return. + * @opt_param string pageToken The value of the nextToken from the previous + * result page. + * @opt_param string sortField The field by which to sort the list. + * @opt_param string sortOrder Order of sorted results, default is 'DESCENDING'. + * @return Google_Service_Dfareporting_FileList + */ + public function listReportsFiles($profileId, $reportId, $optParams = array()) + { + $params = array('profileId' => $profileId, 'reportId' => $reportId); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Dfareporting_FileList"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/Sites.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/Sites.php new file mode 100644 index 00000000..1911c88b --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/Sites.php @@ -0,0 +1,126 @@ + + * $dfareportingService = new Google_Service_Dfareporting(...); + * $sites = $dfareportingService->sites; + * + */ +class Google_Service_Dfareporting_Resource_Sites extends Google_Service_Resource +{ + /** + * Gets one site by ID. (sites.get) + * + * @param string $profileId User profile ID associated with this request. + * @param string $id Site ID. + * @param array $optParams Optional parameters. + * @return Google_Service_Dfareporting_Site + */ + public function get($profileId, $id, $optParams = array()) + { + $params = array('profileId' => $profileId, 'id' => $id); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Dfareporting_Site"); + } + /** + * Inserts a new site. (sites.insert) + * + * @param string $profileId User profile ID associated with this request. + * @param Google_Service_Dfareporting_Site $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Dfareporting_Site + */ + public function insert($profileId, Google_Service_Dfareporting_Site $postBody, $optParams = array()) + { + $params = array('profileId' => $profileId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('insert', array($params), "Google_Service_Dfareporting_Site"); + } + /** + * Retrieves a list of sites, possibly filtered. This method supports paging. + * (sites.listSites) + * + * @param string $profileId User profile ID associated with this request. + * @param array $optParams Optional parameters. + * + * @opt_param bool acceptsInStreamVideoPlacements This search filter is no + * longer supported and will have no effect on the results returned. + * @opt_param bool acceptsInterstitialPlacements This search filter is no longer + * supported and will have no effect on the results returned. + * @opt_param bool acceptsPublisherPaidPlacements Select only sites that accept + * publisher paid placements. + * @opt_param bool adWordsSite Select only AdWords sites. + * @opt_param bool approved Select only approved sites. + * @opt_param string campaignIds Select only sites with these campaign IDs. + * @opt_param string directorySiteIds Select only sites with these directory + * site IDs. + * @opt_param string ids Select only sites with these IDs. + * @opt_param int maxResults Maximum number of results to return. + * @opt_param string pageToken Value of the nextPageToken from the previous + * result page. + * @opt_param string searchString Allows searching for objects by name, ID or + * keyName. Wildcards (*) are allowed. For example, "site*2015" will return + * objects with names like "site June 2015", "site April 2015", or simply "site + * 2015". Most of the searches also add wildcards implicitly at the start and + * the end of the search string. For example, a search string of "site" will + * match objects with name "my site", "site 2015", or simply "site". + * @opt_param string sortField Field by which to sort the list. + * @opt_param string sortOrder Order of sorted results, default is ASCENDING. + * @opt_param string subaccountId Select only sites with this subaccount ID. + * @opt_param bool unmappedSite Select only sites that have not been mapped to a + * directory site. + * @return Google_Service_Dfareporting_SitesListResponse + */ + public function listSites($profileId, $optParams = array()) + { + $params = array('profileId' => $profileId); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Dfareporting_SitesListResponse"); + } + /** + * Updates an existing site. This method supports patch semantics. (sites.patch) + * + * @param string $profileId User profile ID associated with this request. + * @param string $id Site ID. + * @param Google_Service_Dfareporting_Site $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Dfareporting_Site + */ + public function patch($profileId, $id, Google_Service_Dfareporting_Site $postBody, $optParams = array()) + { + $params = array('profileId' => $profileId, 'id' => $id, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('patch', array($params), "Google_Service_Dfareporting_Site"); + } + /** + * Updates an existing site. (sites.update) + * + * @param string $profileId User profile ID associated with this request. + * @param Google_Service_Dfareporting_Site $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Dfareporting_Site + */ + public function update($profileId, Google_Service_Dfareporting_Site $postBody, $optParams = array()) + { + $params = array('profileId' => $profileId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('update', array($params), "Google_Service_Dfareporting_Site"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/Sizes.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/Sizes.php new file mode 100644 index 00000000..51c9a36c --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/Sizes.php @@ -0,0 +1,74 @@ + + * $dfareportingService = new Google_Service_Dfareporting(...); + * $sizes = $dfareportingService->sizes; + * + */ +class Google_Service_Dfareporting_Resource_Sizes extends Google_Service_Resource +{ + /** + * Gets one size by ID. (sizes.get) + * + * @param string $profileId User profile ID associated with this request. + * @param string $id Size ID. + * @param array $optParams Optional parameters. + * @return Google_Service_Dfareporting_Size + */ + public function get($profileId, $id, $optParams = array()) + { + $params = array('profileId' => $profileId, 'id' => $id); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Dfareporting_Size"); + } + /** + * Inserts a new size. (sizes.insert) + * + * @param string $profileId User profile ID associated with this request. + * @param Google_Service_Dfareporting_Size $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Dfareporting_Size + */ + public function insert($profileId, Google_Service_Dfareporting_Size $postBody, $optParams = array()) + { + $params = array('profileId' => $profileId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('insert', array($params), "Google_Service_Dfareporting_Size"); + } + /** + * Retrieves a list of sizes, possibly filtered. (sizes.listSizes) + * + * @param string $profileId User profile ID associated with this request. + * @param array $optParams Optional parameters. + * + * @opt_param int height Select only sizes with this height. + * @opt_param bool iabStandard Select only IAB standard sizes. + * @opt_param string ids Select only sizes with these IDs. + * @opt_param int width Select only sizes with this width. + * @return Google_Service_Dfareporting_SizesListResponse + */ + public function listSizes($profileId, $optParams = array()) + { + $params = array('profileId' => $profileId); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Dfareporting_SizesListResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/Subaccounts.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/Subaccounts.php new file mode 100644 index 00000000..27ac2feb --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/Subaccounts.php @@ -0,0 +1,114 @@ + + * $dfareportingService = new Google_Service_Dfareporting(...); + * $subaccounts = $dfareportingService->subaccounts; + * + */ +class Google_Service_Dfareporting_Resource_Subaccounts extends Google_Service_Resource +{ + /** + * Gets one subaccount by ID. (subaccounts.get) + * + * @param string $profileId User profile ID associated with this request. + * @param string $id Subaccount ID. + * @param array $optParams Optional parameters. + * @return Google_Service_Dfareporting_Subaccount + */ + public function get($profileId, $id, $optParams = array()) + { + $params = array('profileId' => $profileId, 'id' => $id); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Dfareporting_Subaccount"); + } + /** + * Inserts a new subaccount. (subaccounts.insert) + * + * @param string $profileId User profile ID associated with this request. + * @param Google_Service_Dfareporting_Subaccount $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Dfareporting_Subaccount + */ + public function insert($profileId, Google_Service_Dfareporting_Subaccount $postBody, $optParams = array()) + { + $params = array('profileId' => $profileId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('insert', array($params), "Google_Service_Dfareporting_Subaccount"); + } + /** + * Gets a list of subaccounts, possibly filtered. This method supports paging. + * (subaccounts.listSubaccounts) + * + * @param string $profileId User profile ID associated with this request. + * @param array $optParams Optional parameters. + * + * @opt_param string ids Select only subaccounts with these IDs. + * @opt_param int maxResults Maximum number of results to return. + * @opt_param string pageToken Value of the nextPageToken from the previous + * result page. + * @opt_param string searchString Allows searching for objects by name or ID. + * Wildcards (*) are allowed. For example, "subaccount*2015" will return objects + * with names like "subaccount June 2015", "subaccount April 2015", or simply + * "subaccount 2015". Most of the searches also add wildcards implicitly at the + * start and the end of the search string. For example, a search string of + * "subaccount" will match objects with name "my subaccount", "subaccount 2015", + * or simply "subaccount". + * @opt_param string sortField Field by which to sort the list. + * @opt_param string sortOrder Order of sorted results, default is ASCENDING. + * @return Google_Service_Dfareporting_SubaccountsListResponse + */ + public function listSubaccounts($profileId, $optParams = array()) + { + $params = array('profileId' => $profileId); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Dfareporting_SubaccountsListResponse"); + } + /** + * Updates an existing subaccount. This method supports patch semantics. + * (subaccounts.patch) + * + * @param string $profileId User profile ID associated with this request. + * @param string $id Subaccount ID. + * @param Google_Service_Dfareporting_Subaccount $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Dfareporting_Subaccount + */ + public function patch($profileId, $id, Google_Service_Dfareporting_Subaccount $postBody, $optParams = array()) + { + $params = array('profileId' => $profileId, 'id' => $id, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('patch', array($params), "Google_Service_Dfareporting_Subaccount"); + } + /** + * Updates an existing subaccount. (subaccounts.update) + * + * @param string $profileId User profile ID associated with this request. + * @param Google_Service_Dfareporting_Subaccount $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Dfareporting_Subaccount + */ + public function update($profileId, Google_Service_Dfareporting_Subaccount $postBody, $optParams = array()) + { + $params = array('profileId' => $profileId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('update', array($params), "Google_Service_Dfareporting_Subaccount"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/TargetableRemarketingLists.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/TargetableRemarketingLists.php new file mode 100644 index 00000000..43d9de4a --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/TargetableRemarketingLists.php @@ -0,0 +1,74 @@ + + * $dfareportingService = new Google_Service_Dfareporting(...); + * $targetableRemarketingLists = $dfareportingService->targetableRemarketingLists; + * + */ +class Google_Service_Dfareporting_Resource_TargetableRemarketingLists extends Google_Service_Resource +{ + /** + * Gets one remarketing list by ID. (targetableRemarketingLists.get) + * + * @param string $profileId User profile ID associated with this request. + * @param string $id Remarketing list ID. + * @param array $optParams Optional parameters. + * @return Google_Service_Dfareporting_TargetableRemarketingList + */ + public function get($profileId, $id, $optParams = array()) + { + $params = array('profileId' => $profileId, 'id' => $id); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Dfareporting_TargetableRemarketingList"); + } + /** + * Retrieves a list of targetable remarketing lists, possibly filtered. This + * method supports paging. + * (targetableRemarketingLists.listTargetableRemarketingLists) + * + * @param string $profileId User profile ID associated with this request. + * @param string $advertiserId Select only targetable remarketing lists + * targetable by these advertisers. + * @param array $optParams Optional parameters. + * + * @opt_param bool active Select only active or only inactive targetable + * remarketing lists. + * @opt_param int maxResults Maximum number of results to return. + * @opt_param string name Allows searching for objects by name or ID. Wildcards + * (*) are allowed. For example, "remarketing list*2015" will return objects + * with names like "remarketing list June 2015", "remarketing list April 2015", + * or simply "remarketing list 2015". Most of the searches also add wildcards + * implicitly at the start and the end of the search string. For example, a + * search string of "remarketing list" will match objects with name "my + * remarketing list", "remarketing list 2015", or simply "remarketing list". + * @opt_param string pageToken Value of the nextPageToken from the previous + * result page. + * @opt_param string sortField Field by which to sort the list. + * @opt_param string sortOrder Order of sorted results, default is ASCENDING. + * @return Google_Service_Dfareporting_TargetableRemarketingListsListResponse + */ + public function listTargetableRemarketingLists($profileId, $advertiserId, $optParams = array()) + { + $params = array('profileId' => $profileId, 'advertiserId' => $advertiserId); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Dfareporting_TargetableRemarketingListsListResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/TargetingTemplates.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/TargetingTemplates.php new file mode 100644 index 00000000..afe7af7e --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/TargetingTemplates.php @@ -0,0 +1,116 @@ + + * $dfareportingService = new Google_Service_Dfareporting(...); + * $targetingTemplates = $dfareportingService->targetingTemplates; + * + */ +class Google_Service_Dfareporting_Resource_TargetingTemplates extends Google_Service_Resource +{ + /** + * Gets one targeting template by ID. (targetingTemplates.get) + * + * @param string $profileId User profile ID associated with this request. + * @param string $id Targeting template ID. + * @param array $optParams Optional parameters. + * @return Google_Service_Dfareporting_TargetingTemplate + */ + public function get($profileId, $id, $optParams = array()) + { + $params = array('profileId' => $profileId, 'id' => $id); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Dfareporting_TargetingTemplate"); + } + /** + * Inserts a new targeting template. (targetingTemplates.insert) + * + * @param string $profileId User profile ID associated with this request. + * @param Google_Service_Dfareporting_TargetingTemplate $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Dfareporting_TargetingTemplate + */ + public function insert($profileId, Google_Service_Dfareporting_TargetingTemplate $postBody, $optParams = array()) + { + $params = array('profileId' => $profileId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('insert', array($params), "Google_Service_Dfareporting_TargetingTemplate"); + } + /** + * Retrieves a list of targeting templates, optionally filtered. This method + * supports paging. (targetingTemplates.listTargetingTemplates) + * + * @param string $profileId User profile ID associated with this request. + * @param array $optParams Optional parameters. + * + * @opt_param string advertiserId Select only targeting templates with this + * advertiser ID. + * @opt_param string ids Select only targeting templates with these IDs. + * @opt_param int maxResults Maximum number of results to return. + * @opt_param string pageToken Value of the nextPageToken from the previous + * result page. + * @opt_param string searchString Allows searching for objects by name or ID. + * Wildcards (*) are allowed. For example, "template*2015" will return objects + * with names like "template June 2015", "template April 2015", or simply + * "template 2015". Most of the searches also add wildcards implicitly at the + * start and the end of the search string. For example, a search string of + * "template" will match objects with name "my template", "template 2015", or + * simply "template". + * @opt_param string sortField Field by which to sort the list. + * @opt_param string sortOrder Order of sorted results, default is ASCENDING. + * @return Google_Service_Dfareporting_TargetingTemplatesListResponse + */ + public function listTargetingTemplates($profileId, $optParams = array()) + { + $params = array('profileId' => $profileId); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Dfareporting_TargetingTemplatesListResponse"); + } + /** + * Updates an existing targeting template. This method supports patch semantics. + * (targetingTemplates.patch) + * + * @param string $profileId User profile ID associated with this request. + * @param string $id Targeting template ID. + * @param Google_Service_Dfareporting_TargetingTemplate $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Dfareporting_TargetingTemplate + */ + public function patch($profileId, $id, Google_Service_Dfareporting_TargetingTemplate $postBody, $optParams = array()) + { + $params = array('profileId' => $profileId, 'id' => $id, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('patch', array($params), "Google_Service_Dfareporting_TargetingTemplate"); + } + /** + * Updates an existing targeting template. (targetingTemplates.update) + * + * @param string $profileId User profile ID associated with this request. + * @param Google_Service_Dfareporting_TargetingTemplate $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Dfareporting_TargetingTemplate + */ + public function update($profileId, Google_Service_Dfareporting_TargetingTemplate $postBody, $optParams = array()) + { + $params = array('profileId' => $profileId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('update', array($params), "Google_Service_Dfareporting_TargetingTemplate"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/UserProfiles.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/UserProfiles.php new file mode 100644 index 00000000..019ce69f --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/UserProfiles.php @@ -0,0 +1,53 @@ + + * $dfareportingService = new Google_Service_Dfareporting(...); + * $userProfiles = $dfareportingService->userProfiles; + * + */ +class Google_Service_Dfareporting_Resource_UserProfiles extends Google_Service_Resource +{ + /** + * Gets one user profile by ID. (userProfiles.get) + * + * @param string $profileId The user profile ID. + * @param array $optParams Optional parameters. + * @return Google_Service_Dfareporting_UserProfile + */ + public function get($profileId, $optParams = array()) + { + $params = array('profileId' => $profileId); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Dfareporting_UserProfile"); + } + /** + * Retrieves list of user profiles for a user. (userProfiles.listUserProfiles) + * + * @param array $optParams Optional parameters. + * @return Google_Service_Dfareporting_UserProfileList + */ + public function listUserProfiles($optParams = array()) + { + $params = array(); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Dfareporting_UserProfileList"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/UserRolePermissionGroups.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/UserRolePermissionGroups.php new file mode 100644 index 00000000..198da780 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/UserRolePermissionGroups.php @@ -0,0 +1,56 @@ + + * $dfareportingService = new Google_Service_Dfareporting(...); + * $userRolePermissionGroups = $dfareportingService->userRolePermissionGroups; + * + */ +class Google_Service_Dfareporting_Resource_UserRolePermissionGroups extends Google_Service_Resource +{ + /** + * Gets one user role permission group by ID. (userRolePermissionGroups.get) + * + * @param string $profileId User profile ID associated with this request. + * @param string $id User role permission group ID. + * @param array $optParams Optional parameters. + * @return Google_Service_Dfareporting_UserRolePermissionGroup + */ + public function get($profileId, $id, $optParams = array()) + { + $params = array('profileId' => $profileId, 'id' => $id); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Dfareporting_UserRolePermissionGroup"); + } + /** + * Gets a list of all supported user role permission groups. + * (userRolePermissionGroups.listUserRolePermissionGroups) + * + * @param string $profileId User profile ID associated with this request. + * @param array $optParams Optional parameters. + * @return Google_Service_Dfareporting_UserRolePermissionGroupsListResponse + */ + public function listUserRolePermissionGroups($profileId, $optParams = array()) + { + $params = array('profileId' => $profileId); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Dfareporting_UserRolePermissionGroupsListResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/UserRolePermissions.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/UserRolePermissions.php new file mode 100644 index 00000000..4780e226 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/UserRolePermissions.php @@ -0,0 +1,58 @@ + + * $dfareportingService = new Google_Service_Dfareporting(...); + * $userRolePermissions = $dfareportingService->userRolePermissions; + * + */ +class Google_Service_Dfareporting_Resource_UserRolePermissions extends Google_Service_Resource +{ + /** + * Gets one user role permission by ID. (userRolePermissions.get) + * + * @param string $profileId User profile ID associated with this request. + * @param string $id User role permission ID. + * @param array $optParams Optional parameters. + * @return Google_Service_Dfareporting_UserRolePermission + */ + public function get($profileId, $id, $optParams = array()) + { + $params = array('profileId' => $profileId, 'id' => $id); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Dfareporting_UserRolePermission"); + } + /** + * Gets a list of user role permissions, possibly filtered. + * (userRolePermissions.listUserRolePermissions) + * + * @param string $profileId User profile ID associated with this request. + * @param array $optParams Optional parameters. + * + * @opt_param string ids Select only user role permissions with these IDs. + * @return Google_Service_Dfareporting_UserRolePermissionsListResponse + */ + public function listUserRolePermissions($profileId, $optParams = array()) + { + $params = array('profileId' => $profileId); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Dfareporting_UserRolePermissionsListResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/UserRoles.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/UserRoles.php new file mode 100644 index 00000000..a8769cd5 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/UserRoles.php @@ -0,0 +1,131 @@ + + * $dfareportingService = new Google_Service_Dfareporting(...); + * $userRoles = $dfareportingService->userRoles; + * + */ +class Google_Service_Dfareporting_Resource_UserRoles extends Google_Service_Resource +{ + /** + * Deletes an existing user role. (userRoles.delete) + * + * @param string $profileId User profile ID associated with this request. + * @param string $id User role ID. + * @param array $optParams Optional parameters. + */ + public function delete($profileId, $id, $optParams = array()) + { + $params = array('profileId' => $profileId, 'id' => $id); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params)); + } + /** + * Gets one user role by ID. (userRoles.get) + * + * @param string $profileId User profile ID associated with this request. + * @param string $id User role ID. + * @param array $optParams Optional parameters. + * @return Google_Service_Dfareporting_UserRole + */ + public function get($profileId, $id, $optParams = array()) + { + $params = array('profileId' => $profileId, 'id' => $id); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Dfareporting_UserRole"); + } + /** + * Inserts a new user role. (userRoles.insert) + * + * @param string $profileId User profile ID associated with this request. + * @param Google_Service_Dfareporting_UserRole $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Dfareporting_UserRole + */ + public function insert($profileId, Google_Service_Dfareporting_UserRole $postBody, $optParams = array()) + { + $params = array('profileId' => $profileId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('insert', array($params), "Google_Service_Dfareporting_UserRole"); + } + /** + * Retrieves a list of user roles, possibly filtered. This method supports + * paging. (userRoles.listUserRoles) + * + * @param string $profileId User profile ID associated with this request. + * @param array $optParams Optional parameters. + * + * @opt_param bool accountUserRoleOnly Select only account level user roles not + * associated with any specific subaccount. + * @opt_param string ids Select only user roles with the specified IDs. + * @opt_param int maxResults Maximum number of results to return. + * @opt_param string pageToken Value of the nextPageToken from the previous + * result page. + * @opt_param string searchString Allows searching for objects by name or ID. + * Wildcards (*) are allowed. For example, "userrole*2015" will return objects + * with names like "userrole June 2015", "userrole April 2015", or simply + * "userrole 2015". Most of the searches also add wildcards implicitly at the + * start and the end of the search string. For example, a search string of + * "userrole" will match objects with name "my userrole", "userrole 2015", or + * simply "userrole". + * @opt_param string sortField Field by which to sort the list. + * @opt_param string sortOrder Order of sorted results, default is ASCENDING. + * @opt_param string subaccountId Select only user roles that belong to this + * subaccount. + * @return Google_Service_Dfareporting_UserRolesListResponse + */ + public function listUserRoles($profileId, $optParams = array()) + { + $params = array('profileId' => $profileId); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Dfareporting_UserRolesListResponse"); + } + /** + * Updates an existing user role. This method supports patch semantics. + * (userRoles.patch) + * + * @param string $profileId User profile ID associated with this request. + * @param string $id User role ID. + * @param Google_Service_Dfareporting_UserRole $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Dfareporting_UserRole + */ + public function patch($profileId, $id, Google_Service_Dfareporting_UserRole $postBody, $optParams = array()) + { + $params = array('profileId' => $profileId, 'id' => $id, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('patch', array($params), "Google_Service_Dfareporting_UserRole"); + } + /** + * Updates an existing user role. (userRoles.update) + * + * @param string $profileId User profile ID associated with this request. + * @param Google_Service_Dfareporting_UserRole $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Dfareporting_UserRole + */ + public function update($profileId, Google_Service_Dfareporting_UserRole $postBody, $optParams = array()) + { + $params = array('profileId' => $profileId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('update', array($params), "Google_Service_Dfareporting_UserRole"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/VideoFormats.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/VideoFormats.php new file mode 100644 index 00000000..065cadac --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Resource/VideoFormats.php @@ -0,0 +1,55 @@ + + * $dfareportingService = new Google_Service_Dfareporting(...); + * $videoFormats = $dfareportingService->videoFormats; + * + */ +class Google_Service_Dfareporting_Resource_VideoFormats extends Google_Service_Resource +{ + /** + * Gets one video format by ID. (videoFormats.get) + * + * @param string $profileId User profile ID associated with this request. + * @param int $id Video format ID. + * @param array $optParams Optional parameters. + * @return Google_Service_Dfareporting_VideoFormat + */ + public function get($profileId, $id, $optParams = array()) + { + $params = array('profileId' => $profileId, 'id' => $id); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Dfareporting_VideoFormat"); + } + /** + * Lists available video formats. (videoFormats.listVideoFormats) + * + * @param string $profileId User profile ID associated with this request. + * @param array $optParams Optional parameters. + * @return Google_Service_Dfareporting_VideoFormatsListResponse + */ + public function listVideoFormats($profileId, $optParams = array()) + { + $params = array('profileId' => $profileId); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Dfareporting_VideoFormatsListResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/RichMediaExitOverride.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/RichMediaExitOverride.php new file mode 100644 index 00000000..b53c2601 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/RichMediaExitOverride.php @@ -0,0 +1,49 @@ +clickThroughUrl = $clickThroughUrl; + } + public function getClickThroughUrl() + { + return $this->clickThroughUrl; + } + public function setEnabled($enabled) + { + $this->enabled = $enabled; + } + public function getEnabled() + { + return $this->enabled; + } + public function setExitId($exitId) + { + $this->exitId = $exitId; + } + public function getExitId() + { + return $this->exitId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Rule.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Rule.php new file mode 100644 index 00000000..77226d90 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Rule.php @@ -0,0 +1,48 @@ +assetId = $assetId; + } + public function getAssetId() + { + return $this->assetId; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setTargetingTemplateId($targetingTemplateId) + { + $this->targetingTemplateId = $targetingTemplateId; + } + public function getTargetingTemplateId() + { + return $this->targetingTemplateId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Site.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Site.php new file mode 100644 index 00000000..11e2630f --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Site.php @@ -0,0 +1,134 @@ +accountId = $accountId; + } + public function getAccountId() + { + return $this->accountId; + } + public function setApproved($approved) + { + $this->approved = $approved; + } + public function getApproved() + { + return $this->approved; + } + public function setDirectorySiteId($directorySiteId) + { + $this->directorySiteId = $directorySiteId; + } + public function getDirectorySiteId() + { + return $this->directorySiteId; + } + public function setDirectorySiteIdDimensionValue(Google_Service_Dfareporting_DimensionValue $directorySiteIdDimensionValue) + { + $this->directorySiteIdDimensionValue = $directorySiteIdDimensionValue; + } + public function getDirectorySiteIdDimensionValue() + { + return $this->directorySiteIdDimensionValue; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setIdDimensionValue(Google_Service_Dfareporting_DimensionValue $idDimensionValue) + { + $this->idDimensionValue = $idDimensionValue; + } + public function getIdDimensionValue() + { + return $this->idDimensionValue; + } + public function setKeyName($keyName) + { + $this->keyName = $keyName; + } + public function getKeyName() + { + return $this->keyName; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setSiteContacts($siteContacts) + { + $this->siteContacts = $siteContacts; + } + public function getSiteContacts() + { + return $this->siteContacts; + } + public function setSiteSettings(Google_Service_Dfareporting_SiteSettings $siteSettings) + { + $this->siteSettings = $siteSettings; + } + public function getSiteSettings() + { + return $this->siteSettings; + } + public function setSubaccountId($subaccountId) + { + $this->subaccountId = $subaccountId; + } + public function getSubaccountId() + { + return $this->subaccountId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/SiteContact.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/SiteContact.php new file mode 100644 index 00000000..f2547cde --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/SiteContact.php @@ -0,0 +1,93 @@ +address = $address; + } + public function getAddress() + { + return $this->address; + } + public function setContactType($contactType) + { + $this->contactType = $contactType; + } + public function getContactType() + { + return $this->contactType; + } + public function setEmail($email) + { + $this->email = $email; + } + public function getEmail() + { + return $this->email; + } + public function setFirstName($firstName) + { + $this->firstName = $firstName; + } + public function getFirstName() + { + return $this->firstName; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setLastName($lastName) + { + $this->lastName = $lastName; + } + public function getLastName() + { + return $this->lastName; + } + public function setPhone($phone) + { + $this->phone = $phone; + } + public function getPhone() + { + return $this->phone; + } + public function setTitle($title) + { + $this->title = $title; + } + public function getTitle() + { + return $this->title; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/SiteSettings.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/SiteSettings.php new file mode 100644 index 00000000..ef948304 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/SiteSettings.php @@ -0,0 +1,96 @@ +activeViewOptOut = $activeViewOptOut; + } + public function getActiveViewOptOut() + { + return $this->activeViewOptOut; + } + public function setCreativeSettings(Google_Service_Dfareporting_CreativeSettings $creativeSettings) + { + $this->creativeSettings = $creativeSettings; + } + public function getCreativeSettings() + { + return $this->creativeSettings; + } + public function setDisableBrandSafeAds($disableBrandSafeAds) + { + $this->disableBrandSafeAds = $disableBrandSafeAds; + } + public function getDisableBrandSafeAds() + { + return $this->disableBrandSafeAds; + } + public function setDisableNewCookie($disableNewCookie) + { + $this->disableNewCookie = $disableNewCookie; + } + public function getDisableNewCookie() + { + return $this->disableNewCookie; + } + public function setLookbackConfiguration(Google_Service_Dfareporting_LookbackConfiguration $lookbackConfiguration) + { + $this->lookbackConfiguration = $lookbackConfiguration; + } + public function getLookbackConfiguration() + { + return $this->lookbackConfiguration; + } + public function setTagSetting(Google_Service_Dfareporting_TagSetting $tagSetting) + { + $this->tagSetting = $tagSetting; + } + public function getTagSetting() + { + return $this->tagSetting; + } + public function setVideoActiveViewOptOutTemplate($videoActiveViewOptOutTemplate) + { + $this->videoActiveViewOptOutTemplate = $videoActiveViewOptOutTemplate; + } + public function getVideoActiveViewOptOutTemplate() + { + return $this->videoActiveViewOptOutTemplate; + } + public function setVpaidAdapterChoiceTemplate($vpaidAdapterChoiceTemplate) + { + $this->vpaidAdapterChoiceTemplate = $vpaidAdapterChoiceTemplate; + } + public function getVpaidAdapterChoiceTemplate() + { + return $this->vpaidAdapterChoiceTemplate; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/SitesListResponse.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/SitesListResponse.php new file mode 100644 index 00000000..649333ad --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/SitesListResponse.php @@ -0,0 +1,50 @@ +kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setSites($sites) + { + $this->sites = $sites; + } + public function getSites() + { + return $this->sites; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Size.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Size.php new file mode 100644 index 00000000..2d175cab --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Size.php @@ -0,0 +1,66 @@ +height = $height; + } + public function getHeight() + { + return $this->height; + } + public function setIab($iab) + { + $this->iab = $iab; + } + public function getIab() + { + return $this->iab; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setWidth($width) + { + $this->width = $width; + } + public function getWidth() + { + return $this->width; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/SizesListResponse.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/SizesListResponse.php new file mode 100644 index 00000000..6e0eb6b5 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/SizesListResponse.php @@ -0,0 +1,41 @@ +kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setSizes($sizes) + { + $this->sizes = $sizes; + } + public function getSizes() + { + return $this->sizes; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/SkippableSetting.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/SkippableSetting.php new file mode 100644 index 00000000..f1656e86 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/SkippableSetting.php @@ -0,0 +1,59 @@ +kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setProgressOffset(Google_Service_Dfareporting_VideoOffset $progressOffset) + { + $this->progressOffset = $progressOffset; + } + public function getProgressOffset() + { + return $this->progressOffset; + } + public function setSkipOffset(Google_Service_Dfareporting_VideoOffset $skipOffset) + { + $this->skipOffset = $skipOffset; + } + public function getSkipOffset() + { + return $this->skipOffset; + } + public function setSkippable($skippable) + { + $this->skippable = $skippable; + } + public function getSkippable() + { + return $this->skippable; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/SortedDimension.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/SortedDimension.php new file mode 100644 index 00000000..4d6dbed9 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/SortedDimension.php @@ -0,0 +1,48 @@ +kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setSortOrder($sortOrder) + { + $this->sortOrder = $sortOrder; + } + public function getSortOrder() + { + return $this->sortOrder; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Subaccount.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Subaccount.php new file mode 100644 index 00000000..51322bb7 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/Subaccount.php @@ -0,0 +1,67 @@ +accountId = $accountId; + } + public function getAccountId() + { + return $this->accountId; + } + public function setAvailablePermissionIds($availablePermissionIds) + { + $this->availablePermissionIds = $availablePermissionIds; + } + public function getAvailablePermissionIds() + { + return $this->availablePermissionIds; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/SubaccountsListResponse.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/SubaccountsListResponse.php new file mode 100644 index 00000000..22a06155 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/SubaccountsListResponse.php @@ -0,0 +1,50 @@ +kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setSubaccounts($subaccounts) + { + $this->subaccounts = $subaccounts; + } + public function getSubaccounts() + { + return $this->subaccounts; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/TagData.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/TagData.php new file mode 100644 index 00000000..4d293b04 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/TagData.php @@ -0,0 +1,66 @@ +adId = $adId; + } + public function getAdId() + { + return $this->adId; + } + public function setClickTag($clickTag) + { + $this->clickTag = $clickTag; + } + public function getClickTag() + { + return $this->clickTag; + } + public function setCreativeId($creativeId) + { + $this->creativeId = $creativeId; + } + public function getCreativeId() + { + return $this->creativeId; + } + public function setFormat($format) + { + $this->format = $format; + } + public function getFormat() + { + return $this->format; + } + public function setImpressionTag($impressionTag) + { + $this->impressionTag = $impressionTag; + } + public function getImpressionTag() + { + return $this->impressionTag; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/TagSetting.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/TagSetting.php new file mode 100644 index 00000000..888f4ef9 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/TagSetting.php @@ -0,0 +1,57 @@ +additionalKeyValues = $additionalKeyValues; + } + public function getAdditionalKeyValues() + { + return $this->additionalKeyValues; + } + public function setIncludeClickThroughUrls($includeClickThroughUrls) + { + $this->includeClickThroughUrls = $includeClickThroughUrls; + } + public function getIncludeClickThroughUrls() + { + return $this->includeClickThroughUrls; + } + public function setIncludeClickTracking($includeClickTracking) + { + $this->includeClickTracking = $includeClickTracking; + } + public function getIncludeClickTracking() + { + return $this->includeClickTracking; + } + public function setKeywordOption($keywordOption) + { + $this->keywordOption = $keywordOption; + } + public function getKeywordOption() + { + return $this->keywordOption; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/TagSettings.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/TagSettings.php new file mode 100644 index 00000000..954cd30d --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/TagSettings.php @@ -0,0 +1,39 @@ +dynamicTagEnabled = $dynamicTagEnabled; + } + public function getDynamicTagEnabled() + { + return $this->dynamicTagEnabled; + } + public function setImageTagEnabled($imageTagEnabled) + { + $this->imageTagEnabled = $imageTagEnabled; + } + public function getImageTagEnabled() + { + return $this->imageTagEnabled; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/TargetWindow.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/TargetWindow.php new file mode 100644 index 00000000..91cb9ac7 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/TargetWindow.php @@ -0,0 +1,39 @@ +customHtml = $customHtml; + } + public function getCustomHtml() + { + return $this->customHtml; + } + public function setTargetWindowOption($targetWindowOption) + { + $this->targetWindowOption = $targetWindowOption; + } + public function getTargetWindowOption() + { + return $this->targetWindowOption; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/TargetableRemarketingList.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/TargetableRemarketingList.php new file mode 100644 index 00000000..874918e5 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/TargetableRemarketingList.php @@ -0,0 +1,130 @@ +accountId = $accountId; + } + public function getAccountId() + { + return $this->accountId; + } + public function setActive($active) + { + $this->active = $active; + } + public function getActive() + { + return $this->active; + } + public function setAdvertiserId($advertiserId) + { + $this->advertiserId = $advertiserId; + } + public function getAdvertiserId() + { + return $this->advertiserId; + } + public function setAdvertiserIdDimensionValue(Google_Service_Dfareporting_DimensionValue $advertiserIdDimensionValue) + { + $this->advertiserIdDimensionValue = $advertiserIdDimensionValue; + } + public function getAdvertiserIdDimensionValue() + { + return $this->advertiserIdDimensionValue; + } + public function setDescription($description) + { + $this->description = $description; + } + public function getDescription() + { + return $this->description; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setLifeSpan($lifeSpan) + { + $this->lifeSpan = $lifeSpan; + } + public function getLifeSpan() + { + return $this->lifeSpan; + } + public function setListSize($listSize) + { + $this->listSize = $listSize; + } + public function getListSize() + { + return $this->listSize; + } + public function setListSource($listSource) + { + $this->listSource = $listSource; + } + public function getListSource() + { + return $this->listSource; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setSubaccountId($subaccountId) + { + $this->subaccountId = $subaccountId; + } + public function getSubaccountId() + { + return $this->subaccountId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/TargetableRemarketingListsListResponse.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/TargetableRemarketingListsListResponse.php new file mode 100644 index 00000000..3db5c694 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/TargetableRemarketingListsListResponse.php @@ -0,0 +1,50 @@ +kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setTargetableRemarketingLists($targetableRemarketingLists) + { + $this->targetableRemarketingLists = $targetableRemarketingLists; + } + public function getTargetableRemarketingLists() + { + return $this->targetableRemarketingLists; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/TargetingTemplate.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/TargetingTemplate.php new file mode 100644 index 00000000..82aaae48 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/TargetingTemplate.php @@ -0,0 +1,145 @@ +accountId = $accountId; + } + public function getAccountId() + { + return $this->accountId; + } + public function setAdvertiserId($advertiserId) + { + $this->advertiserId = $advertiserId; + } + public function getAdvertiserId() + { + return $this->advertiserId; + } + public function setAdvertiserIdDimensionValue(Google_Service_Dfareporting_DimensionValue $advertiserIdDimensionValue) + { + $this->advertiserIdDimensionValue = $advertiserIdDimensionValue; + } + public function getAdvertiserIdDimensionValue() + { + return $this->advertiserIdDimensionValue; + } + public function setDayPartTargeting(Google_Service_Dfareporting_DayPartTargeting $dayPartTargeting) + { + $this->dayPartTargeting = $dayPartTargeting; + } + public function getDayPartTargeting() + { + return $this->dayPartTargeting; + } + public function setGeoTargeting(Google_Service_Dfareporting_GeoTargeting $geoTargeting) + { + $this->geoTargeting = $geoTargeting; + } + public function getGeoTargeting() + { + return $this->geoTargeting; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setKeyValueTargetingExpression(Google_Service_Dfareporting_KeyValueTargetingExpression $keyValueTargetingExpression) + { + $this->keyValueTargetingExpression = $keyValueTargetingExpression; + } + public function getKeyValueTargetingExpression() + { + return $this->keyValueTargetingExpression; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setLanguageTargeting(Google_Service_Dfareporting_LanguageTargeting $languageTargeting) + { + $this->languageTargeting = $languageTargeting; + } + public function getLanguageTargeting() + { + return $this->languageTargeting; + } + public function setListTargetingExpression(Google_Service_Dfareporting_ListTargetingExpression $listTargetingExpression) + { + $this->listTargetingExpression = $listTargetingExpression; + } + public function getListTargetingExpression() + { + return $this->listTargetingExpression; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setSubaccountId($subaccountId) + { + $this->subaccountId = $subaccountId; + } + public function getSubaccountId() + { + return $this->subaccountId; + } + public function setTechnologyTargeting(Google_Service_Dfareporting_TechnologyTargeting $technologyTargeting) + { + $this->technologyTargeting = $technologyTargeting; + } + public function getTechnologyTargeting() + { + return $this->technologyTargeting; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/TargetingTemplatesListResponse.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/TargetingTemplatesListResponse.php new file mode 100644 index 00000000..5cbe40fa --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/TargetingTemplatesListResponse.php @@ -0,0 +1,50 @@ +kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setTargetingTemplates($targetingTemplates) + { + $this->targetingTemplates = $targetingTemplates; + } + public function getTargetingTemplates() + { + return $this->targetingTemplates; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/TechnologyTargeting.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/TechnologyTargeting.php new file mode 100644 index 00000000..1284b19c --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/TechnologyTargeting.php @@ -0,0 +1,82 @@ +browsers = $browsers; + } + public function getBrowsers() + { + return $this->browsers; + } + public function setConnectionTypes($connectionTypes) + { + $this->connectionTypes = $connectionTypes; + } + public function getConnectionTypes() + { + return $this->connectionTypes; + } + public function setMobileCarriers($mobileCarriers) + { + $this->mobileCarriers = $mobileCarriers; + } + public function getMobileCarriers() + { + return $this->mobileCarriers; + } + public function setOperatingSystemVersions($operatingSystemVersions) + { + $this->operatingSystemVersions = $operatingSystemVersions; + } + public function getOperatingSystemVersions() + { + return $this->operatingSystemVersions; + } + public function setOperatingSystems($operatingSystems) + { + $this->operatingSystems = $operatingSystems; + } + public function getOperatingSystems() + { + return $this->operatingSystems; + } + public function setPlatformTypes($platformTypes) + { + $this->platformTypes = $platformTypes; + } + public function getPlatformTypes() + { + return $this->platformTypes; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/ThirdPartyAuthenticationToken.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/ThirdPartyAuthenticationToken.php new file mode 100644 index 00000000..5f240020 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/ThirdPartyAuthenticationToken.php @@ -0,0 +1,39 @@ +name = $name; + } + public function getName() + { + return $this->name; + } + public function setValue($value) + { + $this->value = $value; + } + public function getValue() + { + return $this->value; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/ThirdPartyTrackingUrl.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/ThirdPartyTrackingUrl.php new file mode 100644 index 00000000..0c3afdf4 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/ThirdPartyTrackingUrl.php @@ -0,0 +1,39 @@ +thirdPartyUrlType = $thirdPartyUrlType; + } + public function getThirdPartyUrlType() + { + return $this->thirdPartyUrlType; + } + public function setUrl($url) + { + $this->url = $url; + } + public function getUrl() + { + return $this->url; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/TranscodeSetting.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/TranscodeSetting.php new file mode 100644 index 00000000..dd691696 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/TranscodeSetting.php @@ -0,0 +1,40 @@ +enabledVideoFormats = $enabledVideoFormats; + } + public function getEnabledVideoFormats() + { + return $this->enabledVideoFormats; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/UserDefinedVariableConfiguration.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/UserDefinedVariableConfiguration.php new file mode 100644 index 00000000..a3bf7433 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/UserDefinedVariableConfiguration.php @@ -0,0 +1,48 @@ +dataType = $dataType; + } + public function getDataType() + { + return $this->dataType; + } + public function setReportName($reportName) + { + $this->reportName = $reportName; + } + public function getReportName() + { + return $this->reportName; + } + public function setVariableType($variableType) + { + $this->variableType = $variableType; + } + public function getVariableType() + { + return $this->variableType; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/UserProfile.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/UserProfile.php new file mode 100644 index 00000000..55dffef4 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/UserProfile.php @@ -0,0 +1,93 @@ +accountId = $accountId; + } + public function getAccountId() + { + return $this->accountId; + } + public function setAccountName($accountName) + { + $this->accountName = $accountName; + } + public function getAccountName() + { + return $this->accountName; + } + public function setEtag($etag) + { + $this->etag = $etag; + } + public function getEtag() + { + return $this->etag; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setProfileId($profileId) + { + $this->profileId = $profileId; + } + public function getProfileId() + { + return $this->profileId; + } + public function setSubAccountId($subAccountId) + { + $this->subAccountId = $subAccountId; + } + public function getSubAccountId() + { + return $this->subAccountId; + } + public function setSubAccountName($subAccountName) + { + $this->subAccountName = $subAccountName; + } + public function getSubAccountName() + { + return $this->subAccountName; + } + public function setUserName($userName) + { + $this->userName = $userName; + } + public function getUserName() + { + return $this->userName; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/UserProfileList.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/UserProfileList.php new file mode 100644 index 00000000..57217604 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/UserProfileList.php @@ -0,0 +1,50 @@ +etag = $etag; + } + public function getEtag() + { + return $this->etag; + } + public function setItems($items) + { + $this->items = $items; + } + public function getItems() + { + return $this->items; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/UserRole.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/UserRole.php new file mode 100644 index 00000000..dfb7b1eb --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/UserRole.php @@ -0,0 +1,95 @@ +accountId = $accountId; + } + public function getAccountId() + { + return $this->accountId; + } + public function setDefaultUserRole($defaultUserRole) + { + $this->defaultUserRole = $defaultUserRole; + } + public function getDefaultUserRole() + { + return $this->defaultUserRole; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setParentUserRoleId($parentUserRoleId) + { + $this->parentUserRoleId = $parentUserRoleId; + } + public function getParentUserRoleId() + { + return $this->parentUserRoleId; + } + public function setPermissions($permissions) + { + $this->permissions = $permissions; + } + public function getPermissions() + { + return $this->permissions; + } + public function setSubaccountId($subaccountId) + { + $this->subaccountId = $subaccountId; + } + public function getSubaccountId() + { + return $this->subaccountId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/UserRolePermission.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/UserRolePermission.php new file mode 100644 index 00000000..a6963c65 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/UserRolePermission.php @@ -0,0 +1,66 @@ +availability = $availability; + } + public function getAvailability() + { + return $this->availability; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setPermissionGroupId($permissionGroupId) + { + $this->permissionGroupId = $permissionGroupId; + } + public function getPermissionGroupId() + { + return $this->permissionGroupId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/UserRolePermissionGroup.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/UserRolePermissionGroup.php new file mode 100644 index 00000000..2d07d1f7 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/UserRolePermissionGroup.php @@ -0,0 +1,48 @@ +id = $id; + } + public function getId() + { + return $this->id; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/UserRolePermissionGroupsListResponse.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/UserRolePermissionGroupsListResponse.php new file mode 100644 index 00000000..db2370e1 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/UserRolePermissionGroupsListResponse.php @@ -0,0 +1,41 @@ +kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setUserRolePermissionGroups($userRolePermissionGroups) + { + $this->userRolePermissionGroups = $userRolePermissionGroups; + } + public function getUserRolePermissionGroups() + { + return $this->userRolePermissionGroups; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/UserRolePermissionsListResponse.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/UserRolePermissionsListResponse.php new file mode 100644 index 00000000..8e5092e4 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/UserRolePermissionsListResponse.php @@ -0,0 +1,41 @@ +kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setUserRolePermissions($userRolePermissions) + { + $this->userRolePermissions = $userRolePermissions; + } + public function getUserRolePermissions() + { + return $this->userRolePermissions; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/UserRolesListResponse.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/UserRolesListResponse.php new file mode 100644 index 00000000..03f56d95 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/UserRolesListResponse.php @@ -0,0 +1,50 @@ +kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setUserRoles($userRoles) + { + $this->userRoles = $userRoles; + } + public function getUserRoles() + { + return $this->userRoles; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/VideoFormat.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/VideoFormat.php new file mode 100644 index 00000000..816cab22 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/VideoFormat.php @@ -0,0 +1,67 @@ +fileType = $fileType; + } + public function getFileType() + { + return $this->fileType; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setResolution(Google_Service_Dfareporting_Size $resolution) + { + $this->resolution = $resolution; + } + public function getResolution() + { + return $this->resolution; + } + public function setTargetBitRate($targetBitRate) + { + $this->targetBitRate = $targetBitRate; + } + public function getTargetBitRate() + { + return $this->targetBitRate; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/VideoFormatsListResponse.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/VideoFormatsListResponse.php new file mode 100644 index 00000000..08cba30e --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/VideoFormatsListResponse.php @@ -0,0 +1,41 @@ +kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setVideoFormats($videoFormats) + { + $this->videoFormats = $videoFormats; + } + public function getVideoFormats() + { + return $this->videoFormats; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/VideoOffset.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/VideoOffset.php new file mode 100644 index 00000000..0df6f9cf --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/VideoOffset.php @@ -0,0 +1,39 @@ +offsetPercentage = $offsetPercentage; + } + public function getOffsetPercentage() + { + return $this->offsetPercentage; + } + public function setOffsetSeconds($offsetSeconds) + { + $this->offsetSeconds = $offsetSeconds; + } + public function getOffsetSeconds() + { + return $this->offsetSeconds; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dfareporting/VideoSettings.php b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/VideoSettings.php new file mode 100644 index 00000000..4e4a0330 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dfareporting/VideoSettings.php @@ -0,0 +1,60 @@ +companionSettings = $companionSettings; + } + public function getCompanionSettings() + { + return $this->companionSettings; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setSkippableSettings(Google_Service_Dfareporting_SkippableSetting $skippableSettings) + { + $this->skippableSettings = $skippableSettings; + } + public function getSkippableSettings() + { + return $this->skippableSettings; + } + public function setTranscodeSettings(Google_Service_Dfareporting_TranscodeSetting $transcodeSettings) + { + $this->transcodeSettings = $transcodeSettings; + } + public function getTranscodeSettings() + { + return $this->transcodeSettings; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Directory.php b/vendor/google/apiclient-services/src/Google/Service/Directory.php new file mode 100644 index 00000000..fafcfaad --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Directory.php @@ -0,0 +1,1788 @@ + + * The Admin SDK Directory API lets you view and manage enterprise resources + * such as users and groups, administrative notifications, security features, + * and more.

+ * + *

+ * For more information about this service, see the API + * Documentation + *

+ * + * @author Google, Inc. + */ +class Google_Service_Directory extends Google_Service +{ + /** View and manage customer related information. */ + const ADMIN_DIRECTORY_CUSTOMER = + "https://www.googleapis.com/auth/admin.directory.customer"; + /** View customer related information. */ + const ADMIN_DIRECTORY_CUSTOMER_READONLY = + "https://www.googleapis.com/auth/admin.directory.customer.readonly"; + /** View and manage your Chrome OS devices' metadata. */ + const ADMIN_DIRECTORY_DEVICE_CHROMEOS = + "https://www.googleapis.com/auth/admin.directory.device.chromeos"; + /** View your Chrome OS devices' metadata. */ + const ADMIN_DIRECTORY_DEVICE_CHROMEOS_READONLY = + "https://www.googleapis.com/auth/admin.directory.device.chromeos.readonly"; + /** View and manage your mobile devices' metadata. */ + const ADMIN_DIRECTORY_DEVICE_MOBILE = + "https://www.googleapis.com/auth/admin.directory.device.mobile"; + /** Manage your mobile devices by performing administrative tasks. */ + const ADMIN_DIRECTORY_DEVICE_MOBILE_ACTION = + "https://www.googleapis.com/auth/admin.directory.device.mobile.action"; + /** View your mobile devices' metadata. */ + const ADMIN_DIRECTORY_DEVICE_MOBILE_READONLY = + "https://www.googleapis.com/auth/admin.directory.device.mobile.readonly"; + /** View and manage the provisioning of domains for your customers. */ + const ADMIN_DIRECTORY_DOMAIN = + "https://www.googleapis.com/auth/admin.directory.domain"; + /** View domains related to your customers. */ + const ADMIN_DIRECTORY_DOMAIN_READONLY = + "https://www.googleapis.com/auth/admin.directory.domain.readonly"; + /** View and manage the provisioning of groups on your domain. */ + const ADMIN_DIRECTORY_GROUP = + "https://www.googleapis.com/auth/admin.directory.group"; + /** View and manage group subscriptions on your domain. */ + const ADMIN_DIRECTORY_GROUP_MEMBER = + "https://www.googleapis.com/auth/admin.directory.group.member"; + /** View group subscriptions on your domain. */ + const ADMIN_DIRECTORY_GROUP_MEMBER_READONLY = + "https://www.googleapis.com/auth/admin.directory.group.member.readonly"; + /** View groups on your domain. */ + const ADMIN_DIRECTORY_GROUP_READONLY = + "https://www.googleapis.com/auth/admin.directory.group.readonly"; + /** View and manage notifications received on your domain. */ + const ADMIN_DIRECTORY_NOTIFICATIONS = + "https://www.googleapis.com/auth/admin.directory.notifications"; + /** View and manage organization units on your domain. */ + const ADMIN_DIRECTORY_ORGUNIT = + "https://www.googleapis.com/auth/admin.directory.orgunit"; + /** View organization units on your domain. */ + const ADMIN_DIRECTORY_ORGUNIT_READONLY = + "https://www.googleapis.com/auth/admin.directory.orgunit.readonly"; + /** View and manage the provisioning of calendar resources on your domain. */ + const ADMIN_DIRECTORY_RESOURCE_CALENDAR = + "https://www.googleapis.com/auth/admin.directory.resource.calendar"; + /** View calendar resources on your domain. */ + const ADMIN_DIRECTORY_RESOURCE_CALENDAR_READONLY = + "https://www.googleapis.com/auth/admin.directory.resource.calendar.readonly"; + /** Manage delegated admin roles for your domain. */ + const ADMIN_DIRECTORY_ROLEMANAGEMENT = + "https://www.googleapis.com/auth/admin.directory.rolemanagement"; + /** View delegated admin roles for your domain. */ + const ADMIN_DIRECTORY_ROLEMANAGEMENT_READONLY = + "https://www.googleapis.com/auth/admin.directory.rolemanagement.readonly"; + /** View and manage the provisioning of users on your domain. */ + const ADMIN_DIRECTORY_USER = + "https://www.googleapis.com/auth/admin.directory.user"; + /** View and manage user aliases on your domain. */ + const ADMIN_DIRECTORY_USER_ALIAS = + "https://www.googleapis.com/auth/admin.directory.user.alias"; + /** View user aliases on your domain. */ + const ADMIN_DIRECTORY_USER_ALIAS_READONLY = + "https://www.googleapis.com/auth/admin.directory.user.alias.readonly"; + /** View users on your domain. */ + const ADMIN_DIRECTORY_USER_READONLY = + "https://www.googleapis.com/auth/admin.directory.user.readonly"; + /** Manage data access permissions for users on your domain. */ + const ADMIN_DIRECTORY_USER_SECURITY = + "https://www.googleapis.com/auth/admin.directory.user.security"; + /** View and manage the provisioning of user schemas on your domain. */ + const ADMIN_DIRECTORY_USERSCHEMA = + "https://www.googleapis.com/auth/admin.directory.userschema"; + /** View user schemas on your domain. */ + const ADMIN_DIRECTORY_USERSCHEMA_READONLY = + "https://www.googleapis.com/auth/admin.directory.userschema.readonly"; + + public $asps; + public $channels; + public $chromeosdevices; + public $customers; + public $domainAliases; + public $domains; + public $groups; + public $groups_aliases; + public $members; + public $mobiledevices; + public $notifications; + public $orgunits; + public $privileges; + public $resources_calendars; + public $roleAssignments; + public $roles; + public $schemas; + public $tokens; + public $users; + public $users_aliases; + public $users_photos; + public $verificationCodes; + + /** + * Constructs the internal representation of the Directory service. + * + * @param Google_Client $client + */ + public function __construct(Google_Client $client) + { + parent::__construct($client); + $this->rootUrl = 'https://www.googleapis.com/'; + $this->servicePath = 'admin/directory/v1/'; + $this->version = 'directory_v1'; + $this->serviceName = 'admin'; + + $this->asps = new Google_Service_Directory_Resource_Asps( + $this, + $this->serviceName, + 'asps', + array( + 'methods' => array( + 'delete' => array( + 'path' => 'users/{userKey}/asps/{codeId}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'userKey' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'codeId' => array( + 'location' => 'path', + 'type' => 'integer', + 'required' => true, + ), + ), + ),'get' => array( + 'path' => 'users/{userKey}/asps/{codeId}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'userKey' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'codeId' => array( + 'location' => 'path', + 'type' => 'integer', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'users/{userKey}/asps', + 'httpMethod' => 'GET', + 'parameters' => array( + 'userKey' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->channels = new Google_Service_Directory_Resource_Channels( + $this, + $this->serviceName, + 'channels', + array( + 'methods' => array( + 'stop' => array( + 'path' => '/admin/directory_v1/channels/stop', + 'httpMethod' => 'POST', + 'parameters' => array(), + ), + ) + ) + ); + $this->chromeosdevices = new Google_Service_Directory_Resource_Chromeosdevices( + $this, + $this->serviceName, + 'chromeosdevices', + array( + 'methods' => array( + 'action' => array( + 'path' => 'customer/{customerId}/devices/chromeos/{resourceId}/action', + 'httpMethod' => 'POST', + 'parameters' => array( + 'customerId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'resourceId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'get' => array( + 'path' => 'customer/{customerId}/devices/chromeos/{deviceId}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'customerId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'deviceId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'projection' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'list' => array( + 'path' => 'customer/{customerId}/devices/chromeos', + 'httpMethod' => 'GET', + 'parameters' => array( + 'customerId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'orderBy' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'projection' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'query' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'sortOrder' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'patch' => array( + 'path' => 'customer/{customerId}/devices/chromeos/{deviceId}', + 'httpMethod' => 'PATCH', + 'parameters' => array( + 'customerId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'deviceId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'projection' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'update' => array( + 'path' => 'customer/{customerId}/devices/chromeos/{deviceId}', + 'httpMethod' => 'PUT', + 'parameters' => array( + 'customerId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'deviceId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'projection' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + $this->customers = new Google_Service_Directory_Resource_Customers( + $this, + $this->serviceName, + 'customers', + array( + 'methods' => array( + 'get' => array( + 'path' => 'customers/{customerKey}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'customerKey' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'patch' => array( + 'path' => 'customers/{customerKey}', + 'httpMethod' => 'PATCH', + 'parameters' => array( + 'customerKey' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'update' => array( + 'path' => 'customers/{customerKey}', + 'httpMethod' => 'PUT', + 'parameters' => array( + 'customerKey' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->domainAliases = new Google_Service_Directory_Resource_DomainAliases( + $this, + $this->serviceName, + 'domainAliases', + array( + 'methods' => array( + 'delete' => array( + 'path' => 'customer/{customer}/domainaliases/{domainAliasName}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'customer' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'domainAliasName' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'get' => array( + 'path' => 'customer/{customer}/domainaliases/{domainAliasName}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'customer' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'domainAliasName' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'insert' => array( + 'path' => 'customer/{customer}/domainaliases', + 'httpMethod' => 'POST', + 'parameters' => array( + 'customer' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'customer/{customer}/domainaliases', + 'httpMethod' => 'GET', + 'parameters' => array( + 'customer' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'parentDomainName' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + $this->domains = new Google_Service_Directory_Resource_Domains( + $this, + $this->serviceName, + 'domains', + array( + 'methods' => array( + 'delete' => array( + 'path' => 'customer/{customer}/domains/{domainName}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'customer' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'domainName' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'get' => array( + 'path' => 'customer/{customer}/domains/{domainName}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'customer' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'domainName' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'insert' => array( + 'path' => 'customer/{customer}/domains', + 'httpMethod' => 'POST', + 'parameters' => array( + 'customer' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'customer/{customer}/domains', + 'httpMethod' => 'GET', + 'parameters' => array( + 'customer' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->groups = new Google_Service_Directory_Resource_Groups( + $this, + $this->serviceName, + 'groups', + array( + 'methods' => array( + 'delete' => array( + 'path' => 'groups/{groupKey}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'groupKey' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'get' => array( + 'path' => 'groups/{groupKey}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'groupKey' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'insert' => array( + 'path' => 'groups', + 'httpMethod' => 'POST', + 'parameters' => array(), + ),'list' => array( + 'path' => 'groups', + 'httpMethod' => 'GET', + 'parameters' => array( + 'customer' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'domain' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'userKey' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'patch' => array( + 'path' => 'groups/{groupKey}', + 'httpMethod' => 'PATCH', + 'parameters' => array( + 'groupKey' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'update' => array( + 'path' => 'groups/{groupKey}', + 'httpMethod' => 'PUT', + 'parameters' => array( + 'groupKey' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->groups_aliases = new Google_Service_Directory_Resource_GroupsAliases( + $this, + $this->serviceName, + 'aliases', + array( + 'methods' => array( + 'delete' => array( + 'path' => 'groups/{groupKey}/aliases/{alias}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'groupKey' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'alias' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'insert' => array( + 'path' => 'groups/{groupKey}/aliases', + 'httpMethod' => 'POST', + 'parameters' => array( + 'groupKey' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'groups/{groupKey}/aliases', + 'httpMethod' => 'GET', + 'parameters' => array( + 'groupKey' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->members = new Google_Service_Directory_Resource_Members( + $this, + $this->serviceName, + 'members', + array( + 'methods' => array( + 'delete' => array( + 'path' => 'groups/{groupKey}/members/{memberKey}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'groupKey' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'memberKey' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'get' => array( + 'path' => 'groups/{groupKey}/members/{memberKey}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'groupKey' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'memberKey' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'insert' => array( + 'path' => 'groups/{groupKey}/members', + 'httpMethod' => 'POST', + 'parameters' => array( + 'groupKey' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'groups/{groupKey}/members', + 'httpMethod' => 'GET', + 'parameters' => array( + 'groupKey' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'roles' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'patch' => array( + 'path' => 'groups/{groupKey}/members/{memberKey}', + 'httpMethod' => 'PATCH', + 'parameters' => array( + 'groupKey' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'memberKey' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'update' => array( + 'path' => 'groups/{groupKey}/members/{memberKey}', + 'httpMethod' => 'PUT', + 'parameters' => array( + 'groupKey' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'memberKey' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->mobiledevices = new Google_Service_Directory_Resource_Mobiledevices( + $this, + $this->serviceName, + 'mobiledevices', + array( + 'methods' => array( + 'action' => array( + 'path' => 'customer/{customerId}/devices/mobile/{resourceId}/action', + 'httpMethod' => 'POST', + 'parameters' => array( + 'customerId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'resourceId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'delete' => array( + 'path' => 'customer/{customerId}/devices/mobile/{resourceId}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'customerId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'resourceId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'get' => array( + 'path' => 'customer/{customerId}/devices/mobile/{resourceId}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'customerId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'resourceId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'projection' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'list' => array( + 'path' => 'customer/{customerId}/devices/mobile', + 'httpMethod' => 'GET', + 'parameters' => array( + 'customerId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'orderBy' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'projection' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'query' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'sortOrder' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + $this->notifications = new Google_Service_Directory_Resource_Notifications( + $this, + $this->serviceName, + 'notifications', + array( + 'methods' => array( + 'delete' => array( + 'path' => 'customer/{customer}/notifications/{notificationId}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'customer' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'notificationId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'get' => array( + 'path' => 'customer/{customer}/notifications/{notificationId}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'customer' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'notificationId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'customer/{customer}/notifications', + 'httpMethod' => 'GET', + 'parameters' => array( + 'customer' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'language' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'patch' => array( + 'path' => 'customer/{customer}/notifications/{notificationId}', + 'httpMethod' => 'PATCH', + 'parameters' => array( + 'customer' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'notificationId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'update' => array( + 'path' => 'customer/{customer}/notifications/{notificationId}', + 'httpMethod' => 'PUT', + 'parameters' => array( + 'customer' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'notificationId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->orgunits = new Google_Service_Directory_Resource_Orgunits( + $this, + $this->serviceName, + 'orgunits', + array( + 'methods' => array( + 'delete' => array( + 'path' => 'customer/{customerId}/orgunits{/orgUnitPath*}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'customerId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'orgUnitPath' => array( + 'location' => 'path', + 'type' => 'string', + 'repeated' => true, + 'required' => true, + ), + ), + ),'get' => array( + 'path' => 'customer/{customerId}/orgunits{/orgUnitPath*}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'customerId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'orgUnitPath' => array( + 'location' => 'path', + 'type' => 'string', + 'repeated' => true, + 'required' => true, + ), + ), + ),'insert' => array( + 'path' => 'customer/{customerId}/orgunits', + 'httpMethod' => 'POST', + 'parameters' => array( + 'customerId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'customer/{customerId}/orgunits', + 'httpMethod' => 'GET', + 'parameters' => array( + 'customerId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'orgUnitPath' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'type' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'patch' => array( + 'path' => 'customer/{customerId}/orgunits{/orgUnitPath*}', + 'httpMethod' => 'PATCH', + 'parameters' => array( + 'customerId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'orgUnitPath' => array( + 'location' => 'path', + 'type' => 'string', + 'repeated' => true, + 'required' => true, + ), + ), + ),'update' => array( + 'path' => 'customer/{customerId}/orgunits{/orgUnitPath*}', + 'httpMethod' => 'PUT', + 'parameters' => array( + 'customerId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'orgUnitPath' => array( + 'location' => 'path', + 'type' => 'string', + 'repeated' => true, + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->privileges = new Google_Service_Directory_Resource_Privileges( + $this, + $this->serviceName, + 'privileges', + array( + 'methods' => array( + 'list' => array( + 'path' => 'customer/{customer}/roles/ALL/privileges', + 'httpMethod' => 'GET', + 'parameters' => array( + 'customer' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->resources_calendars = new Google_Service_Directory_Resource_ResourcesCalendars( + $this, + $this->serviceName, + 'calendars', + array( + 'methods' => array( + 'delete' => array( + 'path' => 'customer/{customer}/resources/calendars/{calendarResourceId}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'customer' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'calendarResourceId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'get' => array( + 'path' => 'customer/{customer}/resources/calendars/{calendarResourceId}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'customer' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'calendarResourceId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'insert' => array( + 'path' => 'customer/{customer}/resources/calendars', + 'httpMethod' => 'POST', + 'parameters' => array( + 'customer' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'customer/{customer}/resources/calendars', + 'httpMethod' => 'GET', + 'parameters' => array( + 'customer' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'patch' => array( + 'path' => 'customer/{customer}/resources/calendars/{calendarResourceId}', + 'httpMethod' => 'PATCH', + 'parameters' => array( + 'customer' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'calendarResourceId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'update' => array( + 'path' => 'customer/{customer}/resources/calendars/{calendarResourceId}', + 'httpMethod' => 'PUT', + 'parameters' => array( + 'customer' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'calendarResourceId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->roleAssignments = new Google_Service_Directory_Resource_RoleAssignments( + $this, + $this->serviceName, + 'roleAssignments', + array( + 'methods' => array( + 'delete' => array( + 'path' => 'customer/{customer}/roleassignments/{roleAssignmentId}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'customer' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'roleAssignmentId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'get' => array( + 'path' => 'customer/{customer}/roleassignments/{roleAssignmentId}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'customer' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'roleAssignmentId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'insert' => array( + 'path' => 'customer/{customer}/roleassignments', + 'httpMethod' => 'POST', + 'parameters' => array( + 'customer' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'customer/{customer}/roleassignments', + 'httpMethod' => 'GET', + 'parameters' => array( + 'customer' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'roleId' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'userKey' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + $this->roles = new Google_Service_Directory_Resource_Roles( + $this, + $this->serviceName, + 'roles', + array( + 'methods' => array( + 'delete' => array( + 'path' => 'customer/{customer}/roles/{roleId}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'customer' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'roleId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'get' => array( + 'path' => 'customer/{customer}/roles/{roleId}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'customer' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'roleId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'insert' => array( + 'path' => 'customer/{customer}/roles', + 'httpMethod' => 'POST', + 'parameters' => array( + 'customer' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'customer/{customer}/roles', + 'httpMethod' => 'GET', + 'parameters' => array( + 'customer' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'patch' => array( + 'path' => 'customer/{customer}/roles/{roleId}', + 'httpMethod' => 'PATCH', + 'parameters' => array( + 'customer' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'roleId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'update' => array( + 'path' => 'customer/{customer}/roles/{roleId}', + 'httpMethod' => 'PUT', + 'parameters' => array( + 'customer' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'roleId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->schemas = new Google_Service_Directory_Resource_Schemas( + $this, + $this->serviceName, + 'schemas', + array( + 'methods' => array( + 'delete' => array( + 'path' => 'customer/{customerId}/schemas/{schemaKey}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'customerId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'schemaKey' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'get' => array( + 'path' => 'customer/{customerId}/schemas/{schemaKey}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'customerId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'schemaKey' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'insert' => array( + 'path' => 'customer/{customerId}/schemas', + 'httpMethod' => 'POST', + 'parameters' => array( + 'customerId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'customer/{customerId}/schemas', + 'httpMethod' => 'GET', + 'parameters' => array( + 'customerId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'patch' => array( + 'path' => 'customer/{customerId}/schemas/{schemaKey}', + 'httpMethod' => 'PATCH', + 'parameters' => array( + 'customerId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'schemaKey' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'update' => array( + 'path' => 'customer/{customerId}/schemas/{schemaKey}', + 'httpMethod' => 'PUT', + 'parameters' => array( + 'customerId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'schemaKey' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->tokens = new Google_Service_Directory_Resource_Tokens( + $this, + $this->serviceName, + 'tokens', + array( + 'methods' => array( + 'delete' => array( + 'path' => 'users/{userKey}/tokens/{clientId}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'userKey' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'clientId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'get' => array( + 'path' => 'users/{userKey}/tokens/{clientId}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'userKey' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'clientId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'users/{userKey}/tokens', + 'httpMethod' => 'GET', + 'parameters' => array( + 'userKey' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->users = new Google_Service_Directory_Resource_Users( + $this, + $this->serviceName, + 'users', + array( + 'methods' => array( + 'delete' => array( + 'path' => 'users/{userKey}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'userKey' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'get' => array( + 'path' => 'users/{userKey}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'userKey' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'customFieldMask' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'projection' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'viewType' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'insert' => array( + 'path' => 'users', + 'httpMethod' => 'POST', + 'parameters' => array(), + ),'list' => array( + 'path' => 'users', + 'httpMethod' => 'GET', + 'parameters' => array( + 'customFieldMask' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'customer' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'domain' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'event' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'orderBy' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'projection' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'query' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'showDeleted' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'sortOrder' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'viewType' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'makeAdmin' => array( + 'path' => 'users/{userKey}/makeAdmin', + 'httpMethod' => 'POST', + 'parameters' => array( + 'userKey' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'patch' => array( + 'path' => 'users/{userKey}', + 'httpMethod' => 'PATCH', + 'parameters' => array( + 'userKey' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'undelete' => array( + 'path' => 'users/{userKey}/undelete', + 'httpMethod' => 'POST', + 'parameters' => array( + 'userKey' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'update' => array( + 'path' => 'users/{userKey}', + 'httpMethod' => 'PUT', + 'parameters' => array( + 'userKey' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'watch' => array( + 'path' => 'users/watch', + 'httpMethod' => 'POST', + 'parameters' => array( + 'customFieldMask' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'customer' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'domain' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'event' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'orderBy' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'projection' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'query' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'showDeleted' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'sortOrder' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'viewType' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + $this->users_aliases = new Google_Service_Directory_Resource_UsersAliases( + $this, + $this->serviceName, + 'aliases', + array( + 'methods' => array( + 'delete' => array( + 'path' => 'users/{userKey}/aliases/{alias}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'userKey' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'alias' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'insert' => array( + 'path' => 'users/{userKey}/aliases', + 'httpMethod' => 'POST', + 'parameters' => array( + 'userKey' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'users/{userKey}/aliases', + 'httpMethod' => 'GET', + 'parameters' => array( + 'userKey' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'event' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'watch' => array( + 'path' => 'users/{userKey}/aliases/watch', + 'httpMethod' => 'POST', + 'parameters' => array( + 'userKey' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'event' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + $this->users_photos = new Google_Service_Directory_Resource_UsersPhotos( + $this, + $this->serviceName, + 'photos', + array( + 'methods' => array( + 'delete' => array( + 'path' => 'users/{userKey}/photos/thumbnail', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'userKey' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'get' => array( + 'path' => 'users/{userKey}/photos/thumbnail', + 'httpMethod' => 'GET', + 'parameters' => array( + 'userKey' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'patch' => array( + 'path' => 'users/{userKey}/photos/thumbnail', + 'httpMethod' => 'PATCH', + 'parameters' => array( + 'userKey' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'update' => array( + 'path' => 'users/{userKey}/photos/thumbnail', + 'httpMethod' => 'PUT', + 'parameters' => array( + 'userKey' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->verificationCodes = new Google_Service_Directory_Resource_VerificationCodes( + $this, + $this->serviceName, + 'verificationCodes', + array( + 'methods' => array( + 'generate' => array( + 'path' => 'users/{userKey}/verificationCodes/generate', + 'httpMethod' => 'POST', + 'parameters' => array( + 'userKey' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'invalidate' => array( + 'path' => 'users/{userKey}/verificationCodes/invalidate', + 'httpMethod' => 'POST', + 'parameters' => array( + 'userKey' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'users/{userKey}/verificationCodes', + 'httpMethod' => 'GET', + 'parameters' => array( + 'userKey' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Directory/Alias.php b/vendor/google/apiclient-services/src/Google/Service/Directory/Alias.php new file mode 100644 index 00000000..f9cf8e76 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Directory/Alias.php @@ -0,0 +1,66 @@ +alias = $alias; + } + public function getAlias() + { + return $this->alias; + } + public function setEtag($etag) + { + $this->etag = $etag; + } + public function getEtag() + { + return $this->etag; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setPrimaryEmail($primaryEmail) + { + $this->primaryEmail = $primaryEmail; + } + public function getPrimaryEmail() + { + return $this->primaryEmail; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Directory/Aliases.php b/vendor/google/apiclient-services/src/Google/Service/Directory/Aliases.php new file mode 100644 index 00000000..419bca95 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Directory/Aliases.php @@ -0,0 +1,49 @@ +aliases = $aliases; + } + public function getAliases() + { + return $this->aliases; + } + public function setEtag($etag) + { + $this->etag = $etag; + } + public function getEtag() + { + return $this->etag; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Directory/Asp.php b/vendor/google/apiclient-services/src/Google/Service/Directory/Asp.php new file mode 100644 index 00000000..9a6dc3bc --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Directory/Asp.php @@ -0,0 +1,84 @@ +codeId = $codeId; + } + public function getCodeId() + { + return $this->codeId; + } + public function setCreationTime($creationTime) + { + $this->creationTime = $creationTime; + } + public function getCreationTime() + { + return $this->creationTime; + } + public function setEtag($etag) + { + $this->etag = $etag; + } + public function getEtag() + { + return $this->etag; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setLastTimeUsed($lastTimeUsed) + { + $this->lastTimeUsed = $lastTimeUsed; + } + public function getLastTimeUsed() + { + return $this->lastTimeUsed; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setUserKey($userKey) + { + $this->userKey = $userKey; + } + public function getUserKey() + { + return $this->userKey; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Directory/Asps.php b/vendor/google/apiclient-services/src/Google/Service/Directory/Asps.php new file mode 100644 index 00000000..05ca38b8 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Directory/Asps.php @@ -0,0 +1,50 @@ +etag = $etag; + } + public function getEtag() + { + return $this->etag; + } + public function setItems($items) + { + $this->items = $items; + } + public function getItems() + { + return $this->items; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Directory/CalendarResource.php b/vendor/google/apiclient-services/src/Google/Service/Directory/CalendarResource.php new file mode 100644 index 00000000..6a573ee6 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Directory/CalendarResource.php @@ -0,0 +1,84 @@ +etags = $etags; + } + public function getEtags() + { + return $this->etags; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setResourceDescription($resourceDescription) + { + $this->resourceDescription = $resourceDescription; + } + public function getResourceDescription() + { + return $this->resourceDescription; + } + public function setResourceEmail($resourceEmail) + { + $this->resourceEmail = $resourceEmail; + } + public function getResourceEmail() + { + return $this->resourceEmail; + } + public function setResourceId($resourceId) + { + $this->resourceId = $resourceId; + } + public function getResourceId() + { + return $this->resourceId; + } + public function setResourceName($resourceName) + { + $this->resourceName = $resourceName; + } + public function getResourceName() + { + return $this->resourceName; + } + public function setResourceType($resourceType) + { + $this->resourceType = $resourceType; + } + public function getResourceType() + { + return $this->resourceType; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Directory/CalendarResources.php b/vendor/google/apiclient-services/src/Google/Service/Directory/CalendarResources.php new file mode 100644 index 00000000..a6de5992 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Directory/CalendarResources.php @@ -0,0 +1,59 @@ +etag = $etag; + } + public function getEtag() + { + return $this->etag; + } + public function setItems($items) + { + $this->items = $items; + } + public function getItems() + { + return $this->items; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Directory/Channel.php b/vendor/google/apiclient-services/src/Google/Service/Directory/Channel.php new file mode 100644 index 00000000..63d6702c --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Directory/Channel.php @@ -0,0 +1,111 @@ +address = $address; + } + public function getAddress() + { + return $this->address; + } + public function setExpiration($expiration) + { + $this->expiration = $expiration; + } + public function getExpiration() + { + return $this->expiration; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setParams($params) + { + $this->params = $params; + } + public function getParams() + { + return $this->params; + } + public function setPayload($payload) + { + $this->payload = $payload; + } + public function getPayload() + { + return $this->payload; + } + public function setResourceId($resourceId) + { + $this->resourceId = $resourceId; + } + public function getResourceId() + { + return $this->resourceId; + } + public function setResourceUri($resourceUri) + { + $this->resourceUri = $resourceUri; + } + public function getResourceUri() + { + return $this->resourceUri; + } + public function setToken($token) + { + $this->token = $token; + } + public function getToken() + { + return $this->token; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Directory/ChromeOsDevice.php b/vendor/google/apiclient-services/src/Google/Service/Directory/ChromeOsDevice.php new file mode 100644 index 00000000..c4b7492e --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Directory/ChromeOsDevice.php @@ -0,0 +1,249 @@ +activeTimeRanges = $activeTimeRanges; + } + public function getActiveTimeRanges() + { + return $this->activeTimeRanges; + } + public function setAnnotatedAssetId($annotatedAssetId) + { + $this->annotatedAssetId = $annotatedAssetId; + } + public function getAnnotatedAssetId() + { + return $this->annotatedAssetId; + } + public function setAnnotatedLocation($annotatedLocation) + { + $this->annotatedLocation = $annotatedLocation; + } + public function getAnnotatedLocation() + { + return $this->annotatedLocation; + } + public function setAnnotatedUser($annotatedUser) + { + $this->annotatedUser = $annotatedUser; + } + public function getAnnotatedUser() + { + return $this->annotatedUser; + } + public function setBootMode($bootMode) + { + $this->bootMode = $bootMode; + } + public function getBootMode() + { + return $this->bootMode; + } + public function setDeviceId($deviceId) + { + $this->deviceId = $deviceId; + } + public function getDeviceId() + { + return $this->deviceId; + } + public function setEtag($etag) + { + $this->etag = $etag; + } + public function getEtag() + { + return $this->etag; + } + public function setEthernetMacAddress($ethernetMacAddress) + { + $this->ethernetMacAddress = $ethernetMacAddress; + } + public function getEthernetMacAddress() + { + return $this->ethernetMacAddress; + } + public function setFirmwareVersion($firmwareVersion) + { + $this->firmwareVersion = $firmwareVersion; + } + public function getFirmwareVersion() + { + return $this->firmwareVersion; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setLastEnrollmentTime($lastEnrollmentTime) + { + $this->lastEnrollmentTime = $lastEnrollmentTime; + } + public function getLastEnrollmentTime() + { + return $this->lastEnrollmentTime; + } + public function setLastSync($lastSync) + { + $this->lastSync = $lastSync; + } + public function getLastSync() + { + return $this->lastSync; + } + public function setMacAddress($macAddress) + { + $this->macAddress = $macAddress; + } + public function getMacAddress() + { + return $this->macAddress; + } + public function setMeid($meid) + { + $this->meid = $meid; + } + public function getMeid() + { + return $this->meid; + } + public function setModel($model) + { + $this->model = $model; + } + public function getModel() + { + return $this->model; + } + public function setNotes($notes) + { + $this->notes = $notes; + } + public function getNotes() + { + return $this->notes; + } + public function setOrderNumber($orderNumber) + { + $this->orderNumber = $orderNumber; + } + public function getOrderNumber() + { + return $this->orderNumber; + } + public function setOrgUnitPath($orgUnitPath) + { + $this->orgUnitPath = $orgUnitPath; + } + public function getOrgUnitPath() + { + return $this->orgUnitPath; + } + public function setOsVersion($osVersion) + { + $this->osVersion = $osVersion; + } + public function getOsVersion() + { + return $this->osVersion; + } + public function setPlatformVersion($platformVersion) + { + $this->platformVersion = $platformVersion; + } + public function getPlatformVersion() + { + return $this->platformVersion; + } + public function setRecentUsers($recentUsers) + { + $this->recentUsers = $recentUsers; + } + public function getRecentUsers() + { + return $this->recentUsers; + } + public function setSerialNumber($serialNumber) + { + $this->serialNumber = $serialNumber; + } + public function getSerialNumber() + { + return $this->serialNumber; + } + public function setStatus($status) + { + $this->status = $status; + } + public function getStatus() + { + return $this->status; + } + public function setSupportEndDate($supportEndDate) + { + $this->supportEndDate = $supportEndDate; + } + public function getSupportEndDate() + { + return $this->supportEndDate; + } + public function setWillAutoRenew($willAutoRenew) + { + $this->willAutoRenew = $willAutoRenew; + } + public function getWillAutoRenew() + { + return $this->willAutoRenew; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Directory/ChromeOsDeviceAction.php b/vendor/google/apiclient-services/src/Google/Service/Directory/ChromeOsDeviceAction.php new file mode 100644 index 00000000..4b27a170 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Directory/ChromeOsDeviceAction.php @@ -0,0 +1,39 @@ +action = $action; + } + public function getAction() + { + return $this->action; + } + public function setDeprovisionReason($deprovisionReason) + { + $this->deprovisionReason = $deprovisionReason; + } + public function getDeprovisionReason() + { + return $this->deprovisionReason; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Directory/ChromeOsDeviceActiveTimeRanges.php b/vendor/google/apiclient-services/src/Google/Service/Directory/ChromeOsDeviceActiveTimeRanges.php new file mode 100644 index 00000000..d07a88bd --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Directory/ChromeOsDeviceActiveTimeRanges.php @@ -0,0 +1,39 @@ +activeTime = $activeTime; + } + public function getActiveTime() + { + return $this->activeTime; + } + public function setDate($date) + { + $this->date = $date; + } + public function getDate() + { + return $this->date; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Directory/ChromeOsDeviceRecentUsers.php b/vendor/google/apiclient-services/src/Google/Service/Directory/ChromeOsDeviceRecentUsers.php new file mode 100644 index 00000000..7e9de091 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Directory/ChromeOsDeviceRecentUsers.php @@ -0,0 +1,39 @@ +email = $email; + } + public function getEmail() + { + return $this->email; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Directory/ChromeOsDevices.php b/vendor/google/apiclient-services/src/Google/Service/Directory/ChromeOsDevices.php new file mode 100644 index 00000000..ca52967a --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Directory/ChromeOsDevices.php @@ -0,0 +1,59 @@ +chromeosdevices = $chromeosdevices; + } + public function getChromeosdevices() + { + return $this->chromeosdevices; + } + public function setEtag($etag) + { + $this->etag = $etag; + } + public function getEtag() + { + return $this->etag; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Directory/Customer.php b/vendor/google/apiclient-services/src/Google/Service/Directory/Customer.php new file mode 100644 index 00000000..30461ac1 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Directory/Customer.php @@ -0,0 +1,103 @@ +alternateEmail = $alternateEmail; + } + public function getAlternateEmail() + { + return $this->alternateEmail; + } + public function setCustomerCreationTime($customerCreationTime) + { + $this->customerCreationTime = $customerCreationTime; + } + public function getCustomerCreationTime() + { + return $this->customerCreationTime; + } + public function setCustomerDomain($customerDomain) + { + $this->customerDomain = $customerDomain; + } + public function getCustomerDomain() + { + return $this->customerDomain; + } + public function setEtag($etag) + { + $this->etag = $etag; + } + public function getEtag() + { + return $this->etag; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setLanguage($language) + { + $this->language = $language; + } + public function getLanguage() + { + return $this->language; + } + public function setPhoneNumber($phoneNumber) + { + $this->phoneNumber = $phoneNumber; + } + public function getPhoneNumber() + { + return $this->phoneNumber; + } + public function setPostalAddress(Google_Service_Directory_CustomerPostalAddress $postalAddress) + { + $this->postalAddress = $postalAddress; + } + public function getPostalAddress() + { + return $this->postalAddress; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Directory/CustomerPostalAddress.php b/vendor/google/apiclient-services/src/Google/Service/Directory/CustomerPostalAddress.php new file mode 100644 index 00000000..bf05a06a --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Directory/CustomerPostalAddress.php @@ -0,0 +1,102 @@ +addressLine1 = $addressLine1; + } + public function getAddressLine1() + { + return $this->addressLine1; + } + public function setAddressLine2($addressLine2) + { + $this->addressLine2 = $addressLine2; + } + public function getAddressLine2() + { + return $this->addressLine2; + } + public function setAddressLine3($addressLine3) + { + $this->addressLine3 = $addressLine3; + } + public function getAddressLine3() + { + return $this->addressLine3; + } + public function setContactName($contactName) + { + $this->contactName = $contactName; + } + public function getContactName() + { + return $this->contactName; + } + public function setCountryCode($countryCode) + { + $this->countryCode = $countryCode; + } + public function getCountryCode() + { + return $this->countryCode; + } + public function setLocality($locality) + { + $this->locality = $locality; + } + public function getLocality() + { + return $this->locality; + } + public function setOrganizationName($organizationName) + { + $this->organizationName = $organizationName; + } + public function getOrganizationName() + { + return $this->organizationName; + } + public function setPostalCode($postalCode) + { + $this->postalCode = $postalCode; + } + public function getPostalCode() + { + return $this->postalCode; + } + public function setRegion($region) + { + $this->region = $region; + } + public function getRegion() + { + return $this->region; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Directory/DomainAlias.php b/vendor/google/apiclient-services/src/Google/Service/Directory/DomainAlias.php new file mode 100644 index 00000000..5f5192b1 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Directory/DomainAlias.php @@ -0,0 +1,75 @@ +creationTime = $creationTime; + } + public function getCreationTime() + { + return $this->creationTime; + } + public function setDomainAliasName($domainAliasName) + { + $this->domainAliasName = $domainAliasName; + } + public function getDomainAliasName() + { + return $this->domainAliasName; + } + public function setEtag($etag) + { + $this->etag = $etag; + } + public function getEtag() + { + return $this->etag; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setParentDomainName($parentDomainName) + { + $this->parentDomainName = $parentDomainName; + } + public function getParentDomainName() + { + return $this->parentDomainName; + } + public function setVerified($verified) + { + $this->verified = $verified; + } + public function getVerified() + { + return $this->verified; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Directory/DomainAliases.php b/vendor/google/apiclient-services/src/Google/Service/Directory/DomainAliases.php new file mode 100644 index 00000000..2b08b131 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Directory/DomainAliases.php @@ -0,0 +1,50 @@ +domainAliases = $domainAliases; + } + public function getDomainAliases() + { + return $this->domainAliases; + } + public function setEtag($etag) + { + $this->etag = $etag; + } + public function getEtag() + { + return $this->etag; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Directory/Domains.php b/vendor/google/apiclient-services/src/Google/Service/Directory/Domains.php new file mode 100644 index 00000000..a1573a21 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Directory/Domains.php @@ -0,0 +1,86 @@ +creationTime = $creationTime; + } + public function getCreationTime() + { + return $this->creationTime; + } + public function setDomainAliases($domainAliases) + { + $this->domainAliases = $domainAliases; + } + public function getDomainAliases() + { + return $this->domainAliases; + } + public function setDomainName($domainName) + { + $this->domainName = $domainName; + } + public function getDomainName() + { + return $this->domainName; + } + public function setEtag($etag) + { + $this->etag = $etag; + } + public function getEtag() + { + return $this->etag; + } + public function setIsPrimary($isPrimary) + { + $this->isPrimary = $isPrimary; + } + public function getIsPrimary() + { + return $this->isPrimary; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setVerified($verified) + { + $this->verified = $verified; + } + public function getVerified() + { + return $this->verified; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Directory/Domains2.php b/vendor/google/apiclient-services/src/Google/Service/Directory/Domains2.php new file mode 100644 index 00000000..73fbd448 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Directory/Domains2.php @@ -0,0 +1,50 @@ +domains = $domains; + } + public function getDomains() + { + return $this->domains; + } + public function setEtag($etag) + { + $this->etag = $etag; + } + public function getEtag() + { + return $this->etag; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Directory/Group.php b/vendor/google/apiclient-services/src/Google/Service/Directory/Group.php new file mode 100644 index 00000000..4d5c5534 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Directory/Group.php @@ -0,0 +1,112 @@ +adminCreated = $adminCreated; + } + public function getAdminCreated() + { + return $this->adminCreated; + } + public function setAliases($aliases) + { + $this->aliases = $aliases; + } + public function getAliases() + { + return $this->aliases; + } + public function setDescription($description) + { + $this->description = $description; + } + public function getDescription() + { + return $this->description; + } + public function setDirectMembersCount($directMembersCount) + { + $this->directMembersCount = $directMembersCount; + } + public function getDirectMembersCount() + { + return $this->directMembersCount; + } + public function setEmail($email) + { + $this->email = $email; + } + public function getEmail() + { + return $this->email; + } + public function setEtag($etag) + { + $this->etag = $etag; + } + public function getEtag() + { + return $this->etag; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setNonEditableAliases($nonEditableAliases) + { + $this->nonEditableAliases = $nonEditableAliases; + } + public function getNonEditableAliases() + { + return $this->nonEditableAliases; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Directory/Groups.php b/vendor/google/apiclient-services/src/Google/Service/Directory/Groups.php new file mode 100644 index 00000000..fcd7ef5b --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Directory/Groups.php @@ -0,0 +1,59 @@ +etag = $etag; + } + public function getEtag() + { + return $this->etag; + } + public function setGroups($groups) + { + $this->groups = $groups; + } + public function getGroups() + { + return $this->groups; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Directory/Member.php b/vendor/google/apiclient-services/src/Google/Service/Directory/Member.php new file mode 100644 index 00000000..84713b82 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Directory/Member.php @@ -0,0 +1,84 @@ +email = $email; + } + public function getEmail() + { + return $this->email; + } + public function setEtag($etag) + { + $this->etag = $etag; + } + public function getEtag() + { + return $this->etag; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setRole($role) + { + $this->role = $role; + } + public function getRole() + { + return $this->role; + } + public function setStatus($status) + { + $this->status = $status; + } + public function getStatus() + { + return $this->status; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Directory/Members.php b/vendor/google/apiclient-services/src/Google/Service/Directory/Members.php new file mode 100644 index 00000000..6a7206d2 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Directory/Members.php @@ -0,0 +1,59 @@ +etag = $etag; + } + public function getEtag() + { + return $this->etag; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setMembers($members) + { + $this->members = $members; + } + public function getMembers() + { + return $this->members; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Directory/MobileDevice.php b/vendor/google/apiclient-services/src/Google/Service/Directory/MobileDevice.php new file mode 100644 index 00000000..c67448ca --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Directory/MobileDevice.php @@ -0,0 +1,383 @@ +adbStatus = $adbStatus; + } + public function getAdbStatus() + { + return $this->adbStatus; + } + public function setApplications($applications) + { + $this->applications = $applications; + } + public function getApplications() + { + return $this->applications; + } + public function setBasebandVersion($basebandVersion) + { + $this->basebandVersion = $basebandVersion; + } + public function getBasebandVersion() + { + return $this->basebandVersion; + } + public function setBootloaderVersion($bootloaderVersion) + { + $this->bootloaderVersion = $bootloaderVersion; + } + public function getBootloaderVersion() + { + return $this->bootloaderVersion; + } + public function setBrand($brand) + { + $this->brand = $brand; + } + public function getBrand() + { + return $this->brand; + } + public function setBuildNumber($buildNumber) + { + $this->buildNumber = $buildNumber; + } + public function getBuildNumber() + { + return $this->buildNumber; + } + public function setDefaultLanguage($defaultLanguage) + { + $this->defaultLanguage = $defaultLanguage; + } + public function getDefaultLanguage() + { + return $this->defaultLanguage; + } + public function setDeveloperOptionsStatus($developerOptionsStatus) + { + $this->developerOptionsStatus = $developerOptionsStatus; + } + public function getDeveloperOptionsStatus() + { + return $this->developerOptionsStatus; + } + public function setDeviceCompromisedStatus($deviceCompromisedStatus) + { + $this->deviceCompromisedStatus = $deviceCompromisedStatus; + } + public function getDeviceCompromisedStatus() + { + return $this->deviceCompromisedStatus; + } + public function setDeviceId($deviceId) + { + $this->deviceId = $deviceId; + } + public function getDeviceId() + { + return $this->deviceId; + } + public function setDevicePasswordStatus($devicePasswordStatus) + { + $this->devicePasswordStatus = $devicePasswordStatus; + } + public function getDevicePasswordStatus() + { + return $this->devicePasswordStatus; + } + public function setEmail($email) + { + $this->email = $email; + } + public function getEmail() + { + return $this->email; + } + public function setEncryptionStatus($encryptionStatus) + { + $this->encryptionStatus = $encryptionStatus; + } + public function getEncryptionStatus() + { + return $this->encryptionStatus; + } + public function setEtag($etag) + { + $this->etag = $etag; + } + public function getEtag() + { + return $this->etag; + } + public function setFirstSync($firstSync) + { + $this->firstSync = $firstSync; + } + public function getFirstSync() + { + return $this->firstSync; + } + public function setHardware($hardware) + { + $this->hardware = $hardware; + } + public function getHardware() + { + return $this->hardware; + } + public function setHardwareId($hardwareId) + { + $this->hardwareId = $hardwareId; + } + public function getHardwareId() + { + return $this->hardwareId; + } + public function setImei($imei) + { + $this->imei = $imei; + } + public function getImei() + { + return $this->imei; + } + public function setKernelVersion($kernelVersion) + { + $this->kernelVersion = $kernelVersion; + } + public function getKernelVersion() + { + return $this->kernelVersion; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setLastSync($lastSync) + { + $this->lastSync = $lastSync; + } + public function getLastSync() + { + return $this->lastSync; + } + public function setManagedAccountIsOnOwnerProfile($managedAccountIsOnOwnerProfile) + { + $this->managedAccountIsOnOwnerProfile = $managedAccountIsOnOwnerProfile; + } + public function getManagedAccountIsOnOwnerProfile() + { + return $this->managedAccountIsOnOwnerProfile; + } + public function setManufacturer($manufacturer) + { + $this->manufacturer = $manufacturer; + } + public function getManufacturer() + { + return $this->manufacturer; + } + public function setMeid($meid) + { + $this->meid = $meid; + } + public function getMeid() + { + return $this->meid; + } + public function setModel($model) + { + $this->model = $model; + } + public function getModel() + { + return $this->model; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setNetworkOperator($networkOperator) + { + $this->networkOperator = $networkOperator; + } + public function getNetworkOperator() + { + return $this->networkOperator; + } + public function setOs($os) + { + $this->os = $os; + } + public function getOs() + { + return $this->os; + } + public function setOtherAccountsInfo($otherAccountsInfo) + { + $this->otherAccountsInfo = $otherAccountsInfo; + } + public function getOtherAccountsInfo() + { + return $this->otherAccountsInfo; + } + public function setPrivilege($privilege) + { + $this->privilege = $privilege; + } + public function getPrivilege() + { + return $this->privilege; + } + public function setReleaseVersion($releaseVersion) + { + $this->releaseVersion = $releaseVersion; + } + public function getReleaseVersion() + { + return $this->releaseVersion; + } + public function setResourceId($resourceId) + { + $this->resourceId = $resourceId; + } + public function getResourceId() + { + return $this->resourceId; + } + public function setSecurityPatchLevel($securityPatchLevel) + { + $this->securityPatchLevel = $securityPatchLevel; + } + public function getSecurityPatchLevel() + { + return $this->securityPatchLevel; + } + public function setSerialNumber($serialNumber) + { + $this->serialNumber = $serialNumber; + } + public function getSerialNumber() + { + return $this->serialNumber; + } + public function setStatus($status) + { + $this->status = $status; + } + public function getStatus() + { + return $this->status; + } + public function setSupportsWorkProfile($supportsWorkProfile) + { + $this->supportsWorkProfile = $supportsWorkProfile; + } + public function getSupportsWorkProfile() + { + return $this->supportsWorkProfile; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } + public function setUnknownSourcesStatus($unknownSourcesStatus) + { + $this->unknownSourcesStatus = $unknownSourcesStatus; + } + public function getUnknownSourcesStatus() + { + return $this->unknownSourcesStatus; + } + public function setUserAgent($userAgent) + { + $this->userAgent = $userAgent; + } + public function getUserAgent() + { + return $this->userAgent; + } + public function setWifiMacAddress($wifiMacAddress) + { + $this->wifiMacAddress = $wifiMacAddress; + } + public function getWifiMacAddress() + { + return $this->wifiMacAddress; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Directory/MobileDeviceAction.php b/vendor/google/apiclient-services/src/Google/Service/Directory/MobileDeviceAction.php new file mode 100644 index 00000000..b829d0d9 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Directory/MobileDeviceAction.php @@ -0,0 +1,30 @@ +action = $action; + } + public function getAction() + { + return $this->action; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Directory/MobileDeviceApplications.php b/vendor/google/apiclient-services/src/Google/Service/Directory/MobileDeviceApplications.php new file mode 100644 index 00000000..24f81570 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Directory/MobileDeviceApplications.php @@ -0,0 +1,67 @@ +displayName = $displayName; + } + public function getDisplayName() + { + return $this->displayName; + } + public function setPackageName($packageName) + { + $this->packageName = $packageName; + } + public function getPackageName() + { + return $this->packageName; + } + public function setPermission($permission) + { + $this->permission = $permission; + } + public function getPermission() + { + return $this->permission; + } + public function setVersionCode($versionCode) + { + $this->versionCode = $versionCode; + } + public function getVersionCode() + { + return $this->versionCode; + } + public function setVersionName($versionName) + { + $this->versionName = $versionName; + } + public function getVersionName() + { + return $this->versionName; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Directory/MobileDevices.php b/vendor/google/apiclient-services/src/Google/Service/Directory/MobileDevices.php new file mode 100644 index 00000000..8d7a3761 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Directory/MobileDevices.php @@ -0,0 +1,59 @@ +etag = $etag; + } + public function getEtag() + { + return $this->etag; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setMobiledevices($mobiledevices) + { + $this->mobiledevices = $mobiledevices; + } + public function getMobiledevices() + { + return $this->mobiledevices; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Directory/Notification.php b/vendor/google/apiclient-services/src/Google/Service/Directory/Notification.php new file mode 100644 index 00000000..17884c12 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Directory/Notification.php @@ -0,0 +1,93 @@ +body = $body; + } + public function getBody() + { + return $this->body; + } + public function setEtag($etag) + { + $this->etag = $etag; + } + public function getEtag() + { + return $this->etag; + } + public function setFromAddress($fromAddress) + { + $this->fromAddress = $fromAddress; + } + public function getFromAddress() + { + return $this->fromAddress; + } + public function setIsUnread($isUnread) + { + $this->isUnread = $isUnread; + } + public function getIsUnread() + { + return $this->isUnread; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNotificationId($notificationId) + { + $this->notificationId = $notificationId; + } + public function getNotificationId() + { + return $this->notificationId; + } + public function setSendTime($sendTime) + { + $this->sendTime = $sendTime; + } + public function getSendTime() + { + return $this->sendTime; + } + public function setSubject($subject) + { + $this->subject = $subject; + } + public function getSubject() + { + return $this->subject; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Directory/Notifications.php b/vendor/google/apiclient-services/src/Google/Service/Directory/Notifications.php new file mode 100644 index 00000000..8b7bbd61 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Directory/Notifications.php @@ -0,0 +1,68 @@ +etag = $etag; + } + public function getEtag() + { + return $this->etag; + } + public function setItems($items) + { + $this->items = $items; + } + public function getItems() + { + return $this->items; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setUnreadNotificationsCount($unreadNotificationsCount) + { + $this->unreadNotificationsCount = $unreadNotificationsCount; + } + public function getUnreadNotificationsCount() + { + return $this->unreadNotificationsCount; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Directory/OrgUnit.php b/vendor/google/apiclient-services/src/Google/Service/Directory/OrgUnit.php new file mode 100644 index 00000000..dfa9c3b7 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Directory/OrgUnit.php @@ -0,0 +1,102 @@ +blockInheritance = $blockInheritance; + } + public function getBlockInheritance() + { + return $this->blockInheritance; + } + public function setDescription($description) + { + $this->description = $description; + } + public function getDescription() + { + return $this->description; + } + public function setEtag($etag) + { + $this->etag = $etag; + } + public function getEtag() + { + return $this->etag; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setOrgUnitId($orgUnitId) + { + $this->orgUnitId = $orgUnitId; + } + public function getOrgUnitId() + { + return $this->orgUnitId; + } + public function setOrgUnitPath($orgUnitPath) + { + $this->orgUnitPath = $orgUnitPath; + } + public function getOrgUnitPath() + { + return $this->orgUnitPath; + } + public function setParentOrgUnitId($parentOrgUnitId) + { + $this->parentOrgUnitId = $parentOrgUnitId; + } + public function getParentOrgUnitId() + { + return $this->parentOrgUnitId; + } + public function setParentOrgUnitPath($parentOrgUnitPath) + { + $this->parentOrgUnitPath = $parentOrgUnitPath; + } + public function getParentOrgUnitPath() + { + return $this->parentOrgUnitPath; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Directory/OrgUnits.php b/vendor/google/apiclient-services/src/Google/Service/Directory/OrgUnits.php new file mode 100644 index 00000000..db604d57 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Directory/OrgUnits.php @@ -0,0 +1,50 @@ +etag = $etag; + } + public function getEtag() + { + return $this->etag; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setOrganizationUnits($organizationUnits) + { + $this->organizationUnits = $organizationUnits; + } + public function getOrganizationUnits() + { + return $this->organizationUnits; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Directory/Privilege.php b/vendor/google/apiclient-services/src/Google/Service/Directory/Privilege.php new file mode 100644 index 00000000..bb275168 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Directory/Privilege.php @@ -0,0 +1,86 @@ +childPrivileges = $childPrivileges; + } + public function getChildPrivileges() + { + return $this->childPrivileges; + } + public function setEtag($etag) + { + $this->etag = $etag; + } + public function getEtag() + { + return $this->etag; + } + public function setIsOuScopable($isOuScopable) + { + $this->isOuScopable = $isOuScopable; + } + public function getIsOuScopable() + { + return $this->isOuScopable; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setPrivilegeName($privilegeName) + { + $this->privilegeName = $privilegeName; + } + public function getPrivilegeName() + { + return $this->privilegeName; + } + public function setServiceId($serviceId) + { + $this->serviceId = $serviceId; + } + public function getServiceId() + { + return $this->serviceId; + } + public function setServiceName($serviceName) + { + $this->serviceName = $serviceName; + } + public function getServiceName() + { + return $this->serviceName; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Directory/Privileges.php b/vendor/google/apiclient-services/src/Google/Service/Directory/Privileges.php new file mode 100644 index 00000000..952ff8d5 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Directory/Privileges.php @@ -0,0 +1,50 @@ +etag = $etag; + } + public function getEtag() + { + return $this->etag; + } + public function setItems($items) + { + $this->items = $items; + } + public function getItems() + { + return $this->items; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Directory/Resource/Asps.php b/vendor/google/apiclient-services/src/Google/Service/Directory/Resource/Asps.php new file mode 100644 index 00000000..18b9c680 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Directory/Resource/Asps.php @@ -0,0 +1,71 @@ + + * $adminService = new Google_Service_Directory(...); + * $asps = $adminService->asps; + * + */ +class Google_Service_Directory_Resource_Asps extends Google_Service_Resource +{ + /** + * Delete an ASP issued by a user. (asps.delete) + * + * @param string $userKey Identifies the user in the API request. The value can + * be the user's primary email address, alias email address, or unique user ID. + * @param int $codeId The unique ID of the ASP to be deleted. + * @param array $optParams Optional parameters. + */ + public function delete($userKey, $codeId, $optParams = array()) + { + $params = array('userKey' => $userKey, 'codeId' => $codeId); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params)); + } + /** + * Get information about an ASP issued by a user. (asps.get) + * + * @param string $userKey Identifies the user in the API request. The value can + * be the user's primary email address, alias email address, or unique user ID. + * @param int $codeId The unique ID of the ASP. + * @param array $optParams Optional parameters. + * @return Google_Service_Directory_Asp + */ + public function get($userKey, $codeId, $optParams = array()) + { + $params = array('userKey' => $userKey, 'codeId' => $codeId); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Directory_Asp"); + } + /** + * List the ASPs issued by a user. (asps.listAsps) + * + * @param string $userKey Identifies the user in the API request. The value can + * be the user's primary email address, alias email address, or unique user ID. + * @param array $optParams Optional parameters. + * @return Google_Service_Directory_Asps + */ + public function listAsps($userKey, $optParams = array()) + { + $params = array('userKey' => $userKey); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Directory_Asps"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Directory/Resource/Channels.php b/vendor/google/apiclient-services/src/Google/Service/Directory/Resource/Channels.php new file mode 100644 index 00000000..841a8198 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Directory/Resource/Channels.php @@ -0,0 +1,40 @@ + + * $adminService = new Google_Service_Directory(...); + * $channels = $adminService->channels; + * + */ +class Google_Service_Directory_Resource_Channels extends Google_Service_Resource +{ + /** + * Stop watching resources through this channel (channels.stop) + * + * @param Google_Service_Directory_Channel $postBody + * @param array $optParams Optional parameters. + */ + public function stop(Google_Service_Directory_Channel $postBody, $optParams = array()) + { + $params = array('postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('stop', array($params)); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Directory/Resource/Chromeosdevices.php b/vendor/google/apiclient-services/src/Google/Service/Directory/Resource/Chromeosdevices.php new file mode 100644 index 00000000..d44bfd16 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Directory/Resource/Chromeosdevices.php @@ -0,0 +1,120 @@ + + * $adminService = new Google_Service_Directory(...); + * $chromeosdevices = $adminService->chromeosdevices; + * + */ +class Google_Service_Directory_Resource_Chromeosdevices extends Google_Service_Resource +{ + /** + * Take action on Chrome OS Device (chromeosdevices.action) + * + * @param string $customerId Immutable id of the Google Apps account + * @param string $resourceId Immutable id of Chrome OS Device + * @param Google_Service_Directory_ChromeOsDeviceAction $postBody + * @param array $optParams Optional parameters. + */ + public function action($customerId, $resourceId, Google_Service_Directory_ChromeOsDeviceAction $postBody, $optParams = array()) + { + $params = array('customerId' => $customerId, 'resourceId' => $resourceId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('action', array($params)); + } + /** + * Retrieve Chrome OS Device (chromeosdevices.get) + * + * @param string $customerId Immutable id of the Google Apps account + * @param string $deviceId Immutable id of Chrome OS Device + * @param array $optParams Optional parameters. + * + * @opt_param string projection Restrict information returned to a set of + * selected fields. + * @return Google_Service_Directory_ChromeOsDevice + */ + public function get($customerId, $deviceId, $optParams = array()) + { + $params = array('customerId' => $customerId, 'deviceId' => $deviceId); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Directory_ChromeOsDevice"); + } + /** + * Retrieve all Chrome OS Devices of a customer (paginated) + * (chromeosdevices.listChromeosdevices) + * + * @param string $customerId Immutable id of the Google Apps account + * @param array $optParams Optional parameters. + * + * @opt_param int maxResults Maximum number of results to return. Default is 100 + * @opt_param string orderBy Column to use for sorting results + * @opt_param string pageToken Token to specify next page in the list + * @opt_param string projection Restrict information returned to a set of + * selected fields. + * @opt_param string query Search string in the format given at + * http://support.google.com/chromeos/a/bin/answer.py?hl=en=1698333 + * @opt_param string sortOrder Whether to return results in ascending or + * descending order. Only of use when orderBy is also used + * @return Google_Service_Directory_ChromeOsDevices + */ + public function listChromeosdevices($customerId, $optParams = array()) + { + $params = array('customerId' => $customerId); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Directory_ChromeOsDevices"); + } + /** + * Update Chrome OS Device. This method supports patch semantics. + * (chromeosdevices.patch) + * + * @param string $customerId Immutable id of the Google Apps account + * @param string $deviceId Immutable id of Chrome OS Device + * @param Google_Service_Directory_ChromeOsDevice $postBody + * @param array $optParams Optional parameters. + * + * @opt_param string projection Restrict information returned to a set of + * selected fields. + * @return Google_Service_Directory_ChromeOsDevice + */ + public function patch($customerId, $deviceId, Google_Service_Directory_ChromeOsDevice $postBody, $optParams = array()) + { + $params = array('customerId' => $customerId, 'deviceId' => $deviceId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('patch', array($params), "Google_Service_Directory_ChromeOsDevice"); + } + /** + * Update Chrome OS Device (chromeosdevices.update) + * + * @param string $customerId Immutable id of the Google Apps account + * @param string $deviceId Immutable id of Chrome OS Device + * @param Google_Service_Directory_ChromeOsDevice $postBody + * @param array $optParams Optional parameters. + * + * @opt_param string projection Restrict information returned to a set of + * selected fields. + * @return Google_Service_Directory_ChromeOsDevice + */ + public function update($customerId, $deviceId, Google_Service_Directory_ChromeOsDevice $postBody, $optParams = array()) + { + $params = array('customerId' => $customerId, 'deviceId' => $deviceId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('update', array($params), "Google_Service_Directory_ChromeOsDevice"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Directory/Resource/Customers.php b/vendor/google/apiclient-services/src/Google/Service/Directory/Resource/Customers.php new file mode 100644 index 00000000..cae53ef3 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Directory/Resource/Customers.php @@ -0,0 +1,69 @@ + + * $adminService = new Google_Service_Directory(...); + * $customers = $adminService->customers; + * + */ +class Google_Service_Directory_Resource_Customers extends Google_Service_Resource +{ + /** + * Retrieves a customer. (customers.get) + * + * @param string $customerKey Id of the customer to be retrieved + * @param array $optParams Optional parameters. + * @return Google_Service_Directory_Customer + */ + public function get($customerKey, $optParams = array()) + { + $params = array('customerKey' => $customerKey); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Directory_Customer"); + } + /** + * Updates a customer. This method supports patch semantics. (customers.patch) + * + * @param string $customerKey Id of the customer to be updated + * @param Google_Service_Directory_Customer $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Directory_Customer + */ + public function patch($customerKey, Google_Service_Directory_Customer $postBody, $optParams = array()) + { + $params = array('customerKey' => $customerKey, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('patch', array($params), "Google_Service_Directory_Customer"); + } + /** + * Updates a customer. (customers.update) + * + * @param string $customerKey Id of the customer to be updated + * @param Google_Service_Directory_Customer $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Directory_Customer + */ + public function update($customerKey, Google_Service_Directory_Customer $postBody, $optParams = array()) + { + $params = array('customerKey' => $customerKey, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('update', array($params), "Google_Service_Directory_Customer"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Directory/Resource/DomainAliases.php b/vendor/google/apiclient-services/src/Google/Service/Directory/Resource/DomainAliases.php new file mode 100644 index 00000000..9a27afa4 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Directory/Resource/DomainAliases.php @@ -0,0 +1,85 @@ + + * $adminService = new Google_Service_Directory(...); + * $domainAliases = $adminService->domainAliases; + * + */ +class Google_Service_Directory_Resource_DomainAliases extends Google_Service_Resource +{ + /** + * Deletes a Domain Alias of the customer. (domainAliases.delete) + * + * @param string $customer Immutable id of the Google Apps account. + * @param string $domainAliasName Name of domain alias to be retrieved. + * @param array $optParams Optional parameters. + */ + public function delete($customer, $domainAliasName, $optParams = array()) + { + $params = array('customer' => $customer, 'domainAliasName' => $domainAliasName); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params)); + } + /** + * Retrieves a domain alias of the customer. (domainAliases.get) + * + * @param string $customer Immutable id of the Google Apps account. + * @param string $domainAliasName Name of domain alias to be retrieved. + * @param array $optParams Optional parameters. + * @return Google_Service_Directory_DomainAlias + */ + public function get($customer, $domainAliasName, $optParams = array()) + { + $params = array('customer' => $customer, 'domainAliasName' => $domainAliasName); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Directory_DomainAlias"); + } + /** + * Inserts a Domain alias of the customer. (domainAliases.insert) + * + * @param string $customer Immutable id of the Google Apps account. + * @param Google_Service_Directory_DomainAlias $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Directory_DomainAlias + */ + public function insert($customer, Google_Service_Directory_DomainAlias $postBody, $optParams = array()) + { + $params = array('customer' => $customer, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('insert', array($params), "Google_Service_Directory_DomainAlias"); + } + /** + * Lists the domain aliases of the customer. (domainAliases.listDomainAliases) + * + * @param string $customer Immutable id of the Google Apps account. + * @param array $optParams Optional parameters. + * + * @opt_param string parentDomainName Name of the parent domain for which domain + * aliases are to be fetched. + * @return Google_Service_Directory_DomainAliases + */ + public function listDomainAliases($customer, $optParams = array()) + { + $params = array('customer' => $customer); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Directory_DomainAliases"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Directory/Resource/Domains.php b/vendor/google/apiclient-services/src/Google/Service/Directory/Resource/Domains.php new file mode 100644 index 00000000..7e6fc27a --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Directory/Resource/Domains.php @@ -0,0 +1,82 @@ + + * $adminService = new Google_Service_Directory(...); + * $domains = $adminService->domains; + * + */ +class Google_Service_Directory_Resource_Domains extends Google_Service_Resource +{ + /** + * Deletes a domain of the customer. (domains.delete) + * + * @param string $customer Immutable id of the Google Apps account. + * @param string $domainName Name of domain to be deleted + * @param array $optParams Optional parameters. + */ + public function delete($customer, $domainName, $optParams = array()) + { + $params = array('customer' => $customer, 'domainName' => $domainName); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params)); + } + /** + * Retrieves a domain of the customer. (domains.get) + * + * @param string $customer Immutable id of the Google Apps account. + * @param string $domainName Name of domain to be retrieved + * @param array $optParams Optional parameters. + * @return Google_Service_Directory_Domains + */ + public function get($customer, $domainName, $optParams = array()) + { + $params = array('customer' => $customer, 'domainName' => $domainName); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Directory_Domains"); + } + /** + * Inserts a domain of the customer. (domains.insert) + * + * @param string $customer Immutable id of the Google Apps account. + * @param Google_Service_Directory_Domains $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Directory_Domains + */ + public function insert($customer, Google_Service_Directory_Domains $postBody, $optParams = array()) + { + $params = array('customer' => $customer, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('insert', array($params), "Google_Service_Directory_Domains"); + } + /** + * Lists the domains of the customer. (domains.listDomains) + * + * @param string $customer Immutable id of the Google Apps account. + * @param array $optParams Optional parameters. + * @return Google_Service_Directory_Domains2 + */ + public function listDomains($customer, $optParams = array()) + { + $params = array('customer' => $customer); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Directory_Domains2"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Directory/Resource/Groups.php b/vendor/google/apiclient-services/src/Google/Service/Directory/Resource/Groups.php new file mode 100644 index 00000000..85960fd5 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Directory/Resource/Groups.php @@ -0,0 +1,120 @@ + + * $adminService = new Google_Service_Directory(...); + * $groups = $adminService->groups; + * + */ +class Google_Service_Directory_Resource_Groups extends Google_Service_Resource +{ + /** + * Delete Group (groups.delete) + * + * @param string $groupKey Email or immutable Id of the group + * @param array $optParams Optional parameters. + */ + public function delete($groupKey, $optParams = array()) + { + $params = array('groupKey' => $groupKey); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params)); + } + /** + * Retrieve Group (groups.get) + * + * @param string $groupKey Email or immutable Id of the group + * @param array $optParams Optional parameters. + * @return Google_Service_Directory_Group + */ + public function get($groupKey, $optParams = array()) + { + $params = array('groupKey' => $groupKey); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Directory_Group"); + } + /** + * Create Group (groups.insert) + * + * @param Google_Service_Directory_Group $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Directory_Group + */ + public function insert(Google_Service_Directory_Group $postBody, $optParams = array()) + { + $params = array('postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('insert', array($params), "Google_Service_Directory_Group"); + } + /** + * Retrieve all groups in a domain (paginated) (groups.listGroups) + * + * @param array $optParams Optional parameters. + * + * @opt_param string customer Immutable id of the Google Apps account. In case + * of multi-domain, to fetch all groups for a customer, fill this field instead + * of domain. + * @opt_param string domain Name of the domain. Fill this field to get groups + * from only this domain. To return all groups in a multi-domain fill customer + * field instead. + * @opt_param int maxResults Maximum number of results to return. Default is 200 + * @opt_param string pageToken Token to specify next page in the list + * @opt_param string userKey Email or immutable Id of the user if only those + * groups are to be listed, the given user is a member of. If Id, it should + * match with id of user object + * @return Google_Service_Directory_Groups + */ + public function listGroups($optParams = array()) + { + $params = array(); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Directory_Groups"); + } + /** + * Update Group. This method supports patch semantics. (groups.patch) + * + * @param string $groupKey Email or immutable Id of the group. If Id, it should + * match with id of group object + * @param Google_Service_Directory_Group $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Directory_Group + */ + public function patch($groupKey, Google_Service_Directory_Group $postBody, $optParams = array()) + { + $params = array('groupKey' => $groupKey, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('patch', array($params), "Google_Service_Directory_Group"); + } + /** + * Update Group (groups.update) + * + * @param string $groupKey Email or immutable Id of the group. If Id, it should + * match with id of group object + * @param Google_Service_Directory_Group $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Directory_Group + */ + public function update($groupKey, Google_Service_Directory_Group $postBody, $optParams = array()) + { + $params = array('groupKey' => $groupKey, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('update', array($params), "Google_Service_Directory_Group"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Directory/Resource/GroupsAliases.php b/vendor/google/apiclient-services/src/Google/Service/Directory/Resource/GroupsAliases.php new file mode 100644 index 00000000..2a684876 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Directory/Resource/GroupsAliases.php @@ -0,0 +1,68 @@ + + * $adminService = new Google_Service_Directory(...); + * $aliases = $adminService->aliases; + * + */ +class Google_Service_Directory_Resource_GroupsAliases extends Google_Service_Resource +{ + /** + * Remove a alias for the group (aliases.delete) + * + * @param string $groupKey Email or immutable Id of the group + * @param string $alias The alias to be removed + * @param array $optParams Optional parameters. + */ + public function delete($groupKey, $alias, $optParams = array()) + { + $params = array('groupKey' => $groupKey, 'alias' => $alias); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params)); + } + /** + * Add a alias for the group (aliases.insert) + * + * @param string $groupKey Email or immutable Id of the group + * @param Google_Service_Directory_Alias $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Directory_Alias + */ + public function insert($groupKey, Google_Service_Directory_Alias $postBody, $optParams = array()) + { + $params = array('groupKey' => $groupKey, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('insert', array($params), "Google_Service_Directory_Alias"); + } + /** + * List all aliases for a group (aliases.listGroupsAliases) + * + * @param string $groupKey Email or immutable Id of the group + * @param array $optParams Optional parameters. + * @return Google_Service_Directory_Aliases + */ + public function listGroupsAliases($groupKey, $optParams = array()) + { + $params = array('groupKey' => $groupKey); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Directory_Aliases"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Directory/Resource/Members.php b/vendor/google/apiclient-services/src/Google/Service/Directory/Resource/Members.php new file mode 100644 index 00000000..1dbdd8aa --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Directory/Resource/Members.php @@ -0,0 +1,122 @@ + + * $adminService = new Google_Service_Directory(...); + * $members = $adminService->members; + * + */ +class Google_Service_Directory_Resource_Members extends Google_Service_Resource +{ + /** + * Remove membership. (members.delete) + * + * @param string $groupKey Email or immutable Id of the group + * @param string $memberKey Email or immutable Id of the member + * @param array $optParams Optional parameters. + */ + public function delete($groupKey, $memberKey, $optParams = array()) + { + $params = array('groupKey' => $groupKey, 'memberKey' => $memberKey); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params)); + } + /** + * Retrieve Group Member (members.get) + * + * @param string $groupKey Email or immutable Id of the group + * @param string $memberKey Email or immutable Id of the member + * @param array $optParams Optional parameters. + * @return Google_Service_Directory_Member + */ + public function get($groupKey, $memberKey, $optParams = array()) + { + $params = array('groupKey' => $groupKey, 'memberKey' => $memberKey); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Directory_Member"); + } + /** + * Add user to the specified group. (members.insert) + * + * @param string $groupKey Email or immutable Id of the group + * @param Google_Service_Directory_Member $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Directory_Member + */ + public function insert($groupKey, Google_Service_Directory_Member $postBody, $optParams = array()) + { + $params = array('groupKey' => $groupKey, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('insert', array($params), "Google_Service_Directory_Member"); + } + /** + * Retrieve all members in a group (paginated) (members.listMembers) + * + * @param string $groupKey Email or immutable Id of the group + * @param array $optParams Optional parameters. + * + * @opt_param int maxResults Maximum number of results to return. Default is 200 + * @opt_param string pageToken Token to specify next page in the list + * @opt_param string roles Comma separated role values to filter list results + * on. + * @return Google_Service_Directory_Members + */ + public function listMembers($groupKey, $optParams = array()) + { + $params = array('groupKey' => $groupKey); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Directory_Members"); + } + /** + * Update membership of a user in the specified group. This method supports + * patch semantics. (members.patch) + * + * @param string $groupKey Email or immutable Id of the group. If Id, it should + * match with id of group object + * @param string $memberKey Email or immutable Id of the user. If Id, it should + * match with id of member object + * @param Google_Service_Directory_Member $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Directory_Member + */ + public function patch($groupKey, $memberKey, Google_Service_Directory_Member $postBody, $optParams = array()) + { + $params = array('groupKey' => $groupKey, 'memberKey' => $memberKey, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('patch', array($params), "Google_Service_Directory_Member"); + } + /** + * Update membership of a user in the specified group. (members.update) + * + * @param string $groupKey Email or immutable Id of the group. If Id, it should + * match with id of group object + * @param string $memberKey Email or immutable Id of the user. If Id, it should + * match with id of member object + * @param Google_Service_Directory_Member $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Directory_Member + */ + public function update($groupKey, $memberKey, Google_Service_Directory_Member $postBody, $optParams = array()) + { + $params = array('groupKey' => $groupKey, 'memberKey' => $memberKey, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('update', array($params), "Google_Service_Directory_Member"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Directory/Resource/Mobiledevices.php b/vendor/google/apiclient-services/src/Google/Service/Directory/Resource/Mobiledevices.php new file mode 100644 index 00000000..343d622a --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Directory/Resource/Mobiledevices.php @@ -0,0 +1,96 @@ + + * $adminService = new Google_Service_Directory(...); + * $mobiledevices = $adminService->mobiledevices; + * + */ +class Google_Service_Directory_Resource_Mobiledevices extends Google_Service_Resource +{ + /** + * Take action on Mobile Device (mobiledevices.action) + * + * @param string $customerId Immutable id of the Google Apps account + * @param string $resourceId Immutable id of Mobile Device + * @param Google_Service_Directory_MobileDeviceAction $postBody + * @param array $optParams Optional parameters. + */ + public function action($customerId, $resourceId, Google_Service_Directory_MobileDeviceAction $postBody, $optParams = array()) + { + $params = array('customerId' => $customerId, 'resourceId' => $resourceId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('action', array($params)); + } + /** + * Delete Mobile Device (mobiledevices.delete) + * + * @param string $customerId Immutable id of the Google Apps account + * @param string $resourceId Immutable id of Mobile Device + * @param array $optParams Optional parameters. + */ + public function delete($customerId, $resourceId, $optParams = array()) + { + $params = array('customerId' => $customerId, 'resourceId' => $resourceId); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params)); + } + /** + * Retrieve Mobile Device (mobiledevices.get) + * + * @param string $customerId Immutable id of the Google Apps account + * @param string $resourceId Immutable id of Mobile Device + * @param array $optParams Optional parameters. + * + * @opt_param string projection Restrict information returned to a set of + * selected fields. + * @return Google_Service_Directory_MobileDevice + */ + public function get($customerId, $resourceId, $optParams = array()) + { + $params = array('customerId' => $customerId, 'resourceId' => $resourceId); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Directory_MobileDevice"); + } + /** + * Retrieve all Mobile Devices of a customer (paginated) + * (mobiledevices.listMobiledevices) + * + * @param string $customerId Immutable id of the Google Apps account + * @param array $optParams Optional parameters. + * + * @opt_param int maxResults Maximum number of results to return. Default is 100 + * @opt_param string orderBy Column to use for sorting results + * @opt_param string pageToken Token to specify next page in the list + * @opt_param string projection Restrict information returned to a set of + * selected fields. + * @opt_param string query Search string in the format given at + * http://support.google.com/a/bin/answer.py?hl=en=1408863#search + * @opt_param string sortOrder Whether to return results in ascending or + * descending order. Only of use when orderBy is also used + * @return Google_Service_Directory_MobileDevices + */ + public function listMobiledevices($customerId, $optParams = array()) + { + $params = array('customerId' => $customerId); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Directory_MobileDevices"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Directory/Resource/Notifications.php b/vendor/google/apiclient-services/src/Google/Service/Directory/Resource/Notifications.php new file mode 100644 index 00000000..6c0981e2 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Directory/Resource/Notifications.php @@ -0,0 +1,108 @@ + + * $adminService = new Google_Service_Directory(...); + * $notifications = $adminService->notifications; + * + */ +class Google_Service_Directory_Resource_Notifications extends Google_Service_Resource +{ + /** + * Deletes a notification (notifications.delete) + * + * @param string $customer The unique ID for the customer's Google account. The + * customerId is also returned as part of the Users resource. + * @param string $notificationId The unique ID of the notification. + * @param array $optParams Optional parameters. + */ + public function delete($customer, $notificationId, $optParams = array()) + { + $params = array('customer' => $customer, 'notificationId' => $notificationId); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params)); + } + /** + * Retrieves a notification. (notifications.get) + * + * @param string $customer The unique ID for the customer's Google account. The + * customerId is also returned as part of the Users resource. + * @param string $notificationId The unique ID of the notification. + * @param array $optParams Optional parameters. + * @return Google_Service_Directory_Notification + */ + public function get($customer, $notificationId, $optParams = array()) + { + $params = array('customer' => $customer, 'notificationId' => $notificationId); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Directory_Notification"); + } + /** + * Retrieves a list of notifications. (notifications.listNotifications) + * + * @param string $customer The unique ID for the customer's Google account. + * @param array $optParams Optional parameters. + * + * @opt_param string language The ISO 639-1 code of the language notifications + * are returned in. The default is English (en). + * @opt_param string maxResults Maximum number of notifications to return per + * page. The default is 100. + * @opt_param string pageToken The token to specify the page of results to + * retrieve. + * @return Google_Service_Directory_Notifications + */ + public function listNotifications($customer, $optParams = array()) + { + $params = array('customer' => $customer); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Directory_Notifications"); + } + /** + * Updates a notification. This method supports patch semantics. + * (notifications.patch) + * + * @param string $customer The unique ID for the customer's Google account. + * @param string $notificationId The unique ID of the notification. + * @param Google_Service_Directory_Notification $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Directory_Notification + */ + public function patch($customer, $notificationId, Google_Service_Directory_Notification $postBody, $optParams = array()) + { + $params = array('customer' => $customer, 'notificationId' => $notificationId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('patch', array($params), "Google_Service_Directory_Notification"); + } + /** + * Updates a notification. (notifications.update) + * + * @param string $customer The unique ID for the customer's Google account. + * @param string $notificationId The unique ID of the notification. + * @param Google_Service_Directory_Notification $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Directory_Notification + */ + public function update($customer, $notificationId, Google_Service_Directory_Notification $postBody, $optParams = array()) + { + $params = array('customer' => $customer, 'notificationId' => $notificationId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('update', array($params), "Google_Service_Directory_Notification"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Directory/Resource/Orgunits.php b/vendor/google/apiclient-services/src/Google/Service/Directory/Resource/Orgunits.php new file mode 100644 index 00000000..233f08b6 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Directory/Resource/Orgunits.php @@ -0,0 +1,118 @@ + + * $adminService = new Google_Service_Directory(...); + * $orgunits = $adminService->orgunits; + * + */ +class Google_Service_Directory_Resource_Orgunits extends Google_Service_Resource +{ + /** + * Remove Organization Unit (orgunits.delete) + * + * @param string $customerId Immutable id of the Google Apps account + * @param string|array $orgUnitPath Full path of the organization unit or its Id + * @param array $optParams Optional parameters. + */ + public function delete($customerId, $orgUnitPath, $optParams = array()) + { + $params = array('customerId' => $customerId, 'orgUnitPath' => $orgUnitPath); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params)); + } + /** + * Retrieve Organization Unit (orgunits.get) + * + * @param string $customerId Immutable id of the Google Apps account + * @param string|array $orgUnitPath Full path of the organization unit or its Id + * @param array $optParams Optional parameters. + * @return Google_Service_Directory_OrgUnit + */ + public function get($customerId, $orgUnitPath, $optParams = array()) + { + $params = array('customerId' => $customerId, 'orgUnitPath' => $orgUnitPath); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Directory_OrgUnit"); + } + /** + * Add Organization Unit (orgunits.insert) + * + * @param string $customerId Immutable id of the Google Apps account + * @param Google_Service_Directory_OrgUnit $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Directory_OrgUnit + */ + public function insert($customerId, Google_Service_Directory_OrgUnit $postBody, $optParams = array()) + { + $params = array('customerId' => $customerId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('insert', array($params), "Google_Service_Directory_OrgUnit"); + } + /** + * Retrieve all Organization Units (orgunits.listOrgunits) + * + * @param string $customerId Immutable id of the Google Apps account + * @param array $optParams Optional parameters. + * + * @opt_param string orgUnitPath the URL-encoded organization unit's path or its + * Id + * @opt_param string type Whether to return all sub-organizations or just + * immediate children + * @return Google_Service_Directory_OrgUnits + */ + public function listOrgunits($customerId, $optParams = array()) + { + $params = array('customerId' => $customerId); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Directory_OrgUnits"); + } + /** + * Update Organization Unit. This method supports patch semantics. + * (orgunits.patch) + * + * @param string $customerId Immutable id of the Google Apps account + * @param string|array $orgUnitPath Full path of the organization unit or its Id + * @param Google_Service_Directory_OrgUnit $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Directory_OrgUnit + */ + public function patch($customerId, $orgUnitPath, Google_Service_Directory_OrgUnit $postBody, $optParams = array()) + { + $params = array('customerId' => $customerId, 'orgUnitPath' => $orgUnitPath, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('patch', array($params), "Google_Service_Directory_OrgUnit"); + } + /** + * Update Organization Unit (orgunits.update) + * + * @param string $customerId Immutable id of the Google Apps account + * @param string|array $orgUnitPath Full path of the organization unit or its Id + * @param Google_Service_Directory_OrgUnit $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Directory_OrgUnit + */ + public function update($customerId, $orgUnitPath, Google_Service_Directory_OrgUnit $postBody, $optParams = array()) + { + $params = array('customerId' => $customerId, 'orgUnitPath' => $orgUnitPath, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('update', array($params), "Google_Service_Directory_OrgUnit"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Directory/Resource/Privileges.php b/vendor/google/apiclient-services/src/Google/Service/Directory/Resource/Privileges.php new file mode 100644 index 00000000..2e55cb62 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Directory/Resource/Privileges.php @@ -0,0 +1,42 @@ + + * $adminService = new Google_Service_Directory(...); + * $privileges = $adminService->privileges; + * + */ +class Google_Service_Directory_Resource_Privileges extends Google_Service_Resource +{ + /** + * Retrieves a paginated list of all privileges for a customer. + * (privileges.listPrivileges) + * + * @param string $customer Immutable ID of the Google Apps account. + * @param array $optParams Optional parameters. + * @return Google_Service_Directory_Privileges + */ + public function listPrivileges($customer, $optParams = array()) + { + $params = array('customer' => $customer); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Directory_Privileges"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Directory/Resource/Resources.php b/vendor/google/apiclient-services/src/Google/Service/Directory/Resource/Resources.php new file mode 100644 index 00000000..a725d02a --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Directory/Resource/Resources.php @@ -0,0 +1,28 @@ + + * $adminService = new Google_Service_Directory(...); + * $resources = $adminService->resources; + * + */ +class Google_Service_Directory_Resource_Resources extends Google_Service_Resource +{ +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Directory/Resource/ResourcesCalendars.php b/vendor/google/apiclient-services/src/Google/Service/Directory/Resource/ResourcesCalendars.php new file mode 100644 index 00000000..822f20f8 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Directory/Resource/ResourcesCalendars.php @@ -0,0 +1,133 @@ + + * $adminService = new Google_Service_Directory(...); + * $calendars = $adminService->calendars; + * + */ +class Google_Service_Directory_Resource_ResourcesCalendars extends Google_Service_Resource +{ + /** + * Deletes a calendar resource. (calendars.delete) + * + * @param string $customer The unique ID for the customer's Google account. As + * an account administrator, you can also use the my_customer alias to represent + * your account's customer ID. + * @param string $calendarResourceId The unique ID of the calendar resource to + * delete. + * @param array $optParams Optional parameters. + */ + public function delete($customer, $calendarResourceId, $optParams = array()) + { + $params = array('customer' => $customer, 'calendarResourceId' => $calendarResourceId); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params)); + } + /** + * Retrieves a calendar resource. (calendars.get) + * + * @param string $customer The unique ID for the customer's Google account. As + * an account administrator, you can also use the my_customer alias to represent + * your account's customer ID. + * @param string $calendarResourceId The unique ID of the calendar resource to + * retrieve. + * @param array $optParams Optional parameters. + * @return Google_Service_Directory_CalendarResource + */ + public function get($customer, $calendarResourceId, $optParams = array()) + { + $params = array('customer' => $customer, 'calendarResourceId' => $calendarResourceId); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Directory_CalendarResource"); + } + /** + * Inserts a calendar resource. (calendars.insert) + * + * @param string $customer The unique ID for the customer's Google account. As + * an account administrator, you can also use the my_customer alias to represent + * your account's customer ID. + * @param Google_Service_Directory_CalendarResource $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Directory_CalendarResource + */ + public function insert($customer, Google_Service_Directory_CalendarResource $postBody, $optParams = array()) + { + $params = array('customer' => $customer, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('insert', array($params), "Google_Service_Directory_CalendarResource"); + } + /** + * Retrieves a list of calendar resources for an account. + * (calendars.listResourcesCalendars) + * + * @param string $customer The unique ID for the customer's Google account. As + * an account administrator, you can also use the my_customer alias to represent + * your account's customer ID. + * @param array $optParams Optional parameters. + * + * @opt_param int maxResults Maximum number of results to return. + * @opt_param string pageToken Token to specify the next page in the list. + * @return Google_Service_Directory_CalendarResources + */ + public function listResourcesCalendars($customer, $optParams = array()) + { + $params = array('customer' => $customer); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Directory_CalendarResources"); + } + /** + * Updates a calendar resource. This method supports patch semantics. + * (calendars.patch) + * + * @param string $customer The unique ID for the customer's Google account. As + * an account administrator, you can also use the my_customer alias to represent + * your account's customer ID. + * @param string $calendarResourceId The unique ID of the calendar resource to + * update. + * @param Google_Service_Directory_CalendarResource $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Directory_CalendarResource + */ + public function patch($customer, $calendarResourceId, Google_Service_Directory_CalendarResource $postBody, $optParams = array()) + { + $params = array('customer' => $customer, 'calendarResourceId' => $calendarResourceId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('patch', array($params), "Google_Service_Directory_CalendarResource"); + } + /** + * Updates a calendar resource. (calendars.update) + * + * @param string $customer The unique ID for the customer's Google account. As + * an account administrator, you can also use the my_customer alias to represent + * your account's customer ID. + * @param string $calendarResourceId The unique ID of the calendar resource to + * update. + * @param Google_Service_Directory_CalendarResource $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Directory_CalendarResource + */ + public function update($customer, $calendarResourceId, Google_Service_Directory_CalendarResource $postBody, $optParams = array()) + { + $params = array('customer' => $customer, 'calendarResourceId' => $calendarResourceId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('update', array($params), "Google_Service_Directory_CalendarResource"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Directory/Resource/RoleAssignments.php b/vendor/google/apiclient-services/src/Google/Service/Directory/Resource/RoleAssignments.php new file mode 100644 index 00000000..78be4cee --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Directory/Resource/RoleAssignments.php @@ -0,0 +1,91 @@ + + * $adminService = new Google_Service_Directory(...); + * $roleAssignments = $adminService->roleAssignments; + * + */ +class Google_Service_Directory_Resource_RoleAssignments extends Google_Service_Resource +{ + /** + * Deletes a role assignment. (roleAssignments.delete) + * + * @param string $customer Immutable ID of the Google Apps account. + * @param string $roleAssignmentId Immutable ID of the role assignment. + * @param array $optParams Optional parameters. + */ + public function delete($customer, $roleAssignmentId, $optParams = array()) + { + $params = array('customer' => $customer, 'roleAssignmentId' => $roleAssignmentId); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params)); + } + /** + * Retrieve a role assignment. (roleAssignments.get) + * + * @param string $customer Immutable ID of the Google Apps account. + * @param string $roleAssignmentId Immutable ID of the role assignment. + * @param array $optParams Optional parameters. + * @return Google_Service_Directory_RoleAssignment + */ + public function get($customer, $roleAssignmentId, $optParams = array()) + { + $params = array('customer' => $customer, 'roleAssignmentId' => $roleAssignmentId); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Directory_RoleAssignment"); + } + /** + * Creates a role assignment. (roleAssignments.insert) + * + * @param string $customer Immutable ID of the Google Apps account. + * @param Google_Service_Directory_RoleAssignment $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Directory_RoleAssignment + */ + public function insert($customer, Google_Service_Directory_RoleAssignment $postBody, $optParams = array()) + { + $params = array('customer' => $customer, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('insert', array($params), "Google_Service_Directory_RoleAssignment"); + } + /** + * Retrieves a paginated list of all roleAssignments. + * (roleAssignments.listRoleAssignments) + * + * @param string $customer Immutable ID of the Google Apps account. + * @param array $optParams Optional parameters. + * + * @opt_param int maxResults Maximum number of results to return. + * @opt_param string pageToken Token to specify the next page in the list. + * @opt_param string roleId Immutable ID of a role. If included in the request, + * returns only role assignments containing this role ID. + * @opt_param string userKey The user's primary email address, alias email + * address, or unique user ID. If included in the request, returns role + * assignments only for this user. + * @return Google_Service_Directory_RoleAssignments + */ + public function listRoleAssignments($customer, $optParams = array()) + { + $params = array('customer' => $customer); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Directory_RoleAssignments"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Directory/Resource/Roles.php b/vendor/google/apiclient-services/src/Google/Service/Directory/Resource/Roles.php new file mode 100644 index 00000000..93036598 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Directory/Resource/Roles.php @@ -0,0 +1,115 @@ + + * $adminService = new Google_Service_Directory(...); + * $roles = $adminService->roles; + * + */ +class Google_Service_Directory_Resource_Roles extends Google_Service_Resource +{ + /** + * Deletes a role. (roles.delete) + * + * @param string $customer Immutable ID of the Google Apps account. + * @param string $roleId Immutable ID of the role. + * @param array $optParams Optional parameters. + */ + public function delete($customer, $roleId, $optParams = array()) + { + $params = array('customer' => $customer, 'roleId' => $roleId); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params)); + } + /** + * Retrieves a role. (roles.get) + * + * @param string $customer Immutable ID of the Google Apps account. + * @param string $roleId Immutable ID of the role. + * @param array $optParams Optional parameters. + * @return Google_Service_Directory_Role + */ + public function get($customer, $roleId, $optParams = array()) + { + $params = array('customer' => $customer, 'roleId' => $roleId); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Directory_Role"); + } + /** + * Creates a role. (roles.insert) + * + * @param string $customer Immutable ID of the Google Apps account. + * @param Google_Service_Directory_Role $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Directory_Role + */ + public function insert($customer, Google_Service_Directory_Role $postBody, $optParams = array()) + { + $params = array('customer' => $customer, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('insert', array($params), "Google_Service_Directory_Role"); + } + /** + * Retrieves a paginated list of all the roles in a domain. (roles.listRoles) + * + * @param string $customer Immutable id of the Google Apps account. + * @param array $optParams Optional parameters. + * + * @opt_param int maxResults Maximum number of results to return. + * @opt_param string pageToken Token to specify the next page in the list. + * @return Google_Service_Directory_Roles + */ + public function listRoles($customer, $optParams = array()) + { + $params = array('customer' => $customer); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Directory_Roles"); + } + /** + * Updates a role. This method supports patch semantics. (roles.patch) + * + * @param string $customer Immutable ID of the Google Apps account. + * @param string $roleId Immutable ID of the role. + * @param Google_Service_Directory_Role $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Directory_Role + */ + public function patch($customer, $roleId, Google_Service_Directory_Role $postBody, $optParams = array()) + { + $params = array('customer' => $customer, 'roleId' => $roleId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('patch', array($params), "Google_Service_Directory_Role"); + } + /** + * Updates a role. (roles.update) + * + * @param string $customer Immutable ID of the Google Apps account. + * @param string $roleId Immutable ID of the role. + * @param Google_Service_Directory_Role $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Directory_Role + */ + public function update($customer, $roleId, Google_Service_Directory_Role $postBody, $optParams = array()) + { + $params = array('customer' => $customer, 'roleId' => $roleId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('update', array($params), "Google_Service_Directory_Role"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Directory/Resource/Schemas.php b/vendor/google/apiclient-services/src/Google/Service/Directory/Resource/Schemas.php new file mode 100644 index 00000000..4592c082 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Directory/Resource/Schemas.php @@ -0,0 +1,112 @@ + + * $adminService = new Google_Service_Directory(...); + * $schemas = $adminService->schemas; + * + */ +class Google_Service_Directory_Resource_Schemas extends Google_Service_Resource +{ + /** + * Delete schema (schemas.delete) + * + * @param string $customerId Immutable id of the Google Apps account + * @param string $schemaKey Name or immutable Id of the schema + * @param array $optParams Optional parameters. + */ + public function delete($customerId, $schemaKey, $optParams = array()) + { + $params = array('customerId' => $customerId, 'schemaKey' => $schemaKey); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params)); + } + /** + * Retrieve schema (schemas.get) + * + * @param string $customerId Immutable id of the Google Apps account + * @param string $schemaKey Name or immutable Id of the schema + * @param array $optParams Optional parameters. + * @return Google_Service_Directory_Schema + */ + public function get($customerId, $schemaKey, $optParams = array()) + { + $params = array('customerId' => $customerId, 'schemaKey' => $schemaKey); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Directory_Schema"); + } + /** + * Create schema. (schemas.insert) + * + * @param string $customerId Immutable id of the Google Apps account + * @param Google_Service_Directory_Schema $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Directory_Schema + */ + public function insert($customerId, Google_Service_Directory_Schema $postBody, $optParams = array()) + { + $params = array('customerId' => $customerId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('insert', array($params), "Google_Service_Directory_Schema"); + } + /** + * Retrieve all schemas for a customer (schemas.listSchemas) + * + * @param string $customerId Immutable id of the Google Apps account + * @param array $optParams Optional parameters. + * @return Google_Service_Directory_Schemas + */ + public function listSchemas($customerId, $optParams = array()) + { + $params = array('customerId' => $customerId); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Directory_Schemas"); + } + /** + * Update schema. This method supports patch semantics. (schemas.patch) + * + * @param string $customerId Immutable id of the Google Apps account + * @param string $schemaKey Name or immutable Id of the schema. + * @param Google_Service_Directory_Schema $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Directory_Schema + */ + public function patch($customerId, $schemaKey, Google_Service_Directory_Schema $postBody, $optParams = array()) + { + $params = array('customerId' => $customerId, 'schemaKey' => $schemaKey, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('patch', array($params), "Google_Service_Directory_Schema"); + } + /** + * Update schema (schemas.update) + * + * @param string $customerId Immutable id of the Google Apps account + * @param string $schemaKey Name or immutable Id of the schema. + * @param Google_Service_Directory_Schema $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Directory_Schema + */ + public function update($customerId, $schemaKey, Google_Service_Directory_Schema $postBody, $optParams = array()) + { + $params = array('customerId' => $customerId, 'schemaKey' => $schemaKey, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('update', array($params), "Google_Service_Directory_Schema"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Directory/Resource/Tokens.php b/vendor/google/apiclient-services/src/Google/Service/Directory/Resource/Tokens.php new file mode 100644 index 00000000..fed72312 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Directory/Resource/Tokens.php @@ -0,0 +1,74 @@ + + * $adminService = new Google_Service_Directory(...); + * $tokens = $adminService->tokens; + * + */ +class Google_Service_Directory_Resource_Tokens extends Google_Service_Resource +{ + /** + * Delete all access tokens issued by a user for an application. (tokens.delete) + * + * @param string $userKey Identifies the user in the API request. The value can + * be the user's primary email address, alias email address, or unique user ID. + * @param string $clientId The Client ID of the application the token is issued + * to. + * @param array $optParams Optional parameters. + */ + public function delete($userKey, $clientId, $optParams = array()) + { + $params = array('userKey' => $userKey, 'clientId' => $clientId); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params)); + } + /** + * Get information about an access token issued by a user. (tokens.get) + * + * @param string $userKey Identifies the user in the API request. The value can + * be the user's primary email address, alias email address, or unique user ID. + * @param string $clientId The Client ID of the application the token is issued + * to. + * @param array $optParams Optional parameters. + * @return Google_Service_Directory_Token + */ + public function get($userKey, $clientId, $optParams = array()) + { + $params = array('userKey' => $userKey, 'clientId' => $clientId); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Directory_Token"); + } + /** + * Returns the set of tokens specified user has issued to 3rd party + * applications. (tokens.listTokens) + * + * @param string $userKey Identifies the user in the API request. The value can + * be the user's primary email address, alias email address, or unique user ID. + * @param array $optParams Optional parameters. + * @return Google_Service_Directory_Tokens + */ + public function listTokens($userKey, $optParams = array()) + { + $params = array('userKey' => $userKey); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Directory_Tokens"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Directory/Resource/Users.php b/vendor/google/apiclient-services/src/Google/Service/Directory/Resource/Users.php new file mode 100644 index 00000000..111b287e --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Directory/Resource/Users.php @@ -0,0 +1,207 @@ + + * $adminService = new Google_Service_Directory(...); + * $users = $adminService->users; + * + */ +class Google_Service_Directory_Resource_Users extends Google_Service_Resource +{ + /** + * Delete user (users.delete) + * + * @param string $userKey Email or immutable Id of the user + * @param array $optParams Optional parameters. + */ + public function delete($userKey, $optParams = array()) + { + $params = array('userKey' => $userKey); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params)); + } + /** + * retrieve user (users.get) + * + * @param string $userKey Email or immutable Id of the user + * @param array $optParams Optional parameters. + * + * @opt_param string customFieldMask Comma-separated list of schema names. All + * fields from these schemas are fetched. This should only be set when + * projection=custom. + * @opt_param string projection What subset of fields to fetch for this user. + * @opt_param string viewType Whether to fetch the ADMIN_VIEW or DOMAIN_PUBLIC + * view of the user. + * @return Google_Service_Directory_User + */ + public function get($userKey, $optParams = array()) + { + $params = array('userKey' => $userKey); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Directory_User"); + } + /** + * create user. (users.insert) + * + * @param Google_Service_Directory_User $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Directory_User + */ + public function insert(Google_Service_Directory_User $postBody, $optParams = array()) + { + $params = array('postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('insert', array($params), "Google_Service_Directory_User"); + } + /** + * Retrieve either deleted users or all users in a domain (paginated) + * (users.listUsers) + * + * @param array $optParams Optional parameters. + * + * @opt_param string customFieldMask Comma-separated list of schema names. All + * fields from these schemas are fetched. This should only be set when + * projection=custom. + * @opt_param string customer Immutable id of the Google Apps account. In case + * of multi-domain, to fetch all users for a customer, fill this field instead + * of domain. + * @opt_param string domain Name of the domain. Fill this field to get users + * from only this domain. To return all users in a multi-domain fill customer + * field instead. + * @opt_param string event Event on which subscription is intended (if + * subscribing) + * @opt_param int maxResults Maximum number of results to return. Default is + * 100. Max allowed is 500 + * @opt_param string orderBy Column to use for sorting results + * @opt_param string pageToken Token to specify next page in the list + * @opt_param string projection What subset of fields to fetch for this user. + * @opt_param string query Query string search. Should be of the form "". + * Complete documentation is at https://developers.google.com/admin- + * sdk/directory/v1/guides/search-users + * @opt_param string showDeleted If set to true retrieves the list of deleted + * users. Default is false + * @opt_param string sortOrder Whether to return results in ascending or + * descending order. + * @opt_param string viewType Whether to fetch the ADMIN_VIEW or DOMAIN_PUBLIC + * view of the user. + * @return Google_Service_Directory_Users + */ + public function listUsers($optParams = array()) + { + $params = array(); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Directory_Users"); + } + /** + * change admin status of a user (users.makeAdmin) + * + * @param string $userKey Email or immutable Id of the user as admin + * @param Google_Service_Directory_UserMakeAdmin $postBody + * @param array $optParams Optional parameters. + */ + public function makeAdmin($userKey, Google_Service_Directory_UserMakeAdmin $postBody, $optParams = array()) + { + $params = array('userKey' => $userKey, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('makeAdmin', array($params)); + } + /** + * update user. This method supports patch semantics. (users.patch) + * + * @param string $userKey Email or immutable Id of the user. If Id, it should + * match with id of user object + * @param Google_Service_Directory_User $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Directory_User + */ + public function patch($userKey, Google_Service_Directory_User $postBody, $optParams = array()) + { + $params = array('userKey' => $userKey, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('patch', array($params), "Google_Service_Directory_User"); + } + /** + * Undelete a deleted user (users.undelete) + * + * @param string $userKey The immutable id of the user + * @param Google_Service_Directory_UserUndelete $postBody + * @param array $optParams Optional parameters. + */ + public function undelete($userKey, Google_Service_Directory_UserUndelete $postBody, $optParams = array()) + { + $params = array('userKey' => $userKey, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('undelete', array($params)); + } + /** + * update user (users.update) + * + * @param string $userKey Email or immutable Id of the user. If Id, it should + * match with id of user object + * @param Google_Service_Directory_User $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Directory_User + */ + public function update($userKey, Google_Service_Directory_User $postBody, $optParams = array()) + { + $params = array('userKey' => $userKey, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('update', array($params), "Google_Service_Directory_User"); + } + /** + * Watch for changes in users list (users.watch) + * + * @param Google_Service_Directory_Channel $postBody + * @param array $optParams Optional parameters. + * + * @opt_param string customFieldMask Comma-separated list of schema names. All + * fields from these schemas are fetched. This should only be set when + * projection=custom. + * @opt_param string customer Immutable id of the Google Apps account. In case + * of multi-domain, to fetch all users for a customer, fill this field instead + * of domain. + * @opt_param string domain Name of the domain. Fill this field to get users + * from only this domain. To return all users in a multi-domain fill customer + * field instead. + * @opt_param string event Event on which subscription is intended (if + * subscribing) + * @opt_param int maxResults Maximum number of results to return. Default is + * 100. Max allowed is 500 + * @opt_param string orderBy Column to use for sorting results + * @opt_param string pageToken Token to specify next page in the list + * @opt_param string projection What subset of fields to fetch for this user. + * @opt_param string query Query string search. Should be of the form "". + * Complete documentation is at https://developers.google.com/admin- + * sdk/directory/v1/guides/search-users + * @opt_param string showDeleted If set to true retrieves the list of deleted + * users. Default is false + * @opt_param string sortOrder Whether to return results in ascending or + * descending order. + * @opt_param string viewType Whether to fetch the ADMIN_VIEW or DOMAIN_PUBLIC + * view of the user. + * @return Google_Service_Directory_Channel + */ + public function watch(Google_Service_Directory_Channel $postBody, $optParams = array()) + { + $params = array('postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('watch', array($params), "Google_Service_Directory_Channel"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Directory/Resource/UsersAliases.php b/vendor/google/apiclient-services/src/Google/Service/Directory/Resource/UsersAliases.php new file mode 100644 index 00000000..545b4271 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Directory/Resource/UsersAliases.php @@ -0,0 +1,88 @@ + + * $adminService = new Google_Service_Directory(...); + * $aliases = $adminService->aliases; + * + */ +class Google_Service_Directory_Resource_UsersAliases extends Google_Service_Resource +{ + /** + * Remove a alias for the user (aliases.delete) + * + * @param string $userKey Email or immutable Id of the user + * @param string $alias The alias to be removed + * @param array $optParams Optional parameters. + */ + public function delete($userKey, $alias, $optParams = array()) + { + $params = array('userKey' => $userKey, 'alias' => $alias); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params)); + } + /** + * Add a alias for the user (aliases.insert) + * + * @param string $userKey Email or immutable Id of the user + * @param Google_Service_Directory_Alias $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Directory_Alias + */ + public function insert($userKey, Google_Service_Directory_Alias $postBody, $optParams = array()) + { + $params = array('userKey' => $userKey, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('insert', array($params), "Google_Service_Directory_Alias"); + } + /** + * List all aliases for a user (aliases.listUsersAliases) + * + * @param string $userKey Email or immutable Id of the user + * @param array $optParams Optional parameters. + * + * @opt_param string event Event on which subscription is intended (if + * subscribing) + * @return Google_Service_Directory_Aliases + */ + public function listUsersAliases($userKey, $optParams = array()) + { + $params = array('userKey' => $userKey); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Directory_Aliases"); + } + /** + * Watch for changes in user aliases list (aliases.watch) + * + * @param string $userKey Email or immutable Id of the user + * @param Google_Service_Directory_Channel $postBody + * @param array $optParams Optional parameters. + * + * @opt_param string event Event on which subscription is intended (if + * subscribing) + * @return Google_Service_Directory_Channel + */ + public function watch($userKey, Google_Service_Directory_Channel $postBody, $optParams = array()) + { + $params = array('userKey' => $userKey, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('watch', array($params), "Google_Service_Directory_Channel"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Directory/Resource/UsersPhotos.php b/vendor/google/apiclient-services/src/Google/Service/Directory/Resource/UsersPhotos.php new file mode 100644 index 00000000..6b3e5a32 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Directory/Resource/UsersPhotos.php @@ -0,0 +1,82 @@ + + * $adminService = new Google_Service_Directory(...); + * $photos = $adminService->photos; + * + */ +class Google_Service_Directory_Resource_UsersPhotos extends Google_Service_Resource +{ + /** + * Remove photos for the user (photos.delete) + * + * @param string $userKey Email or immutable Id of the user + * @param array $optParams Optional parameters. + */ + public function delete($userKey, $optParams = array()) + { + $params = array('userKey' => $userKey); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params)); + } + /** + * Retrieve photo of a user (photos.get) + * + * @param string $userKey Email or immutable Id of the user + * @param array $optParams Optional parameters. + * @return Google_Service_Directory_UserPhoto + */ + public function get($userKey, $optParams = array()) + { + $params = array('userKey' => $userKey); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Directory_UserPhoto"); + } + /** + * Add a photo for the user. This method supports patch semantics. + * (photos.patch) + * + * @param string $userKey Email or immutable Id of the user + * @param Google_Service_Directory_UserPhoto $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Directory_UserPhoto + */ + public function patch($userKey, Google_Service_Directory_UserPhoto $postBody, $optParams = array()) + { + $params = array('userKey' => $userKey, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('patch', array($params), "Google_Service_Directory_UserPhoto"); + } + /** + * Add a photo for the user (photos.update) + * + * @param string $userKey Email or immutable Id of the user + * @param Google_Service_Directory_UserPhoto $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Directory_UserPhoto + */ + public function update($userKey, Google_Service_Directory_UserPhoto $postBody, $optParams = array()) + { + $params = array('userKey' => $userKey, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('update', array($params), "Google_Service_Directory_UserPhoto"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Directory/Resource/VerificationCodes.php b/vendor/google/apiclient-services/src/Google/Service/Directory/Resource/VerificationCodes.php new file mode 100644 index 00000000..e67ff742 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Directory/Resource/VerificationCodes.php @@ -0,0 +1,69 @@ + + * $adminService = new Google_Service_Directory(...); + * $verificationCodes = $adminService->verificationCodes; + * + */ +class Google_Service_Directory_Resource_VerificationCodes extends Google_Service_Resource +{ + /** + * Generate new backup verification codes for the user. + * (verificationCodes.generate) + * + * @param string $userKey Email or immutable Id of the user + * @param array $optParams Optional parameters. + */ + public function generate($userKey, $optParams = array()) + { + $params = array('userKey' => $userKey); + $params = array_merge($params, $optParams); + return $this->call('generate', array($params)); + } + /** + * Invalidate the current backup verification codes for the user. + * (verificationCodes.invalidate) + * + * @param string $userKey Email or immutable Id of the user + * @param array $optParams Optional parameters. + */ + public function invalidate($userKey, $optParams = array()) + { + $params = array('userKey' => $userKey); + $params = array_merge($params, $optParams); + return $this->call('invalidate', array($params)); + } + /** + * Returns the current set of valid backup verification codes for the specified + * user. (verificationCodes.listVerificationCodes) + * + * @param string $userKey Identifies the user in the API request. The value can + * be the user's primary email address, alias email address, or unique user ID. + * @param array $optParams Optional parameters. + * @return Google_Service_Directory_VerificationCodes + */ + public function listVerificationCodes($userKey, $optParams = array()) + { + $params = array('userKey' => $userKey); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Directory_VerificationCodes"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Directory/Role.php b/vendor/google/apiclient-services/src/Google/Service/Directory/Role.php new file mode 100644 index 00000000..8bc11164 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Directory/Role.php @@ -0,0 +1,95 @@ +etag = $etag; + } + public function getEtag() + { + return $this->etag; + } + public function setIsSuperAdminRole($isSuperAdminRole) + { + $this->isSuperAdminRole = $isSuperAdminRole; + } + public function getIsSuperAdminRole() + { + return $this->isSuperAdminRole; + } + public function setIsSystemRole($isSystemRole) + { + $this->isSystemRole = $isSystemRole; + } + public function getIsSystemRole() + { + return $this->isSystemRole; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setRoleDescription($roleDescription) + { + $this->roleDescription = $roleDescription; + } + public function getRoleDescription() + { + return $this->roleDescription; + } + public function setRoleId($roleId) + { + $this->roleId = $roleId; + } + public function getRoleId() + { + return $this->roleId; + } + public function setRoleName($roleName) + { + $this->roleName = $roleName; + } + public function getRoleName() + { + return $this->roleName; + } + public function setRolePrivileges($rolePrivileges) + { + $this->rolePrivileges = $rolePrivileges; + } + public function getRolePrivileges() + { + return $this->rolePrivileges; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Directory/RoleAssignment.php b/vendor/google/apiclient-services/src/Google/Service/Directory/RoleAssignment.php new file mode 100644 index 00000000..ed27cfc9 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Directory/RoleAssignment.php @@ -0,0 +1,84 @@ +assignedTo = $assignedTo; + } + public function getAssignedTo() + { + return $this->assignedTo; + } + public function setEtag($etag) + { + $this->etag = $etag; + } + public function getEtag() + { + return $this->etag; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setOrgUnitId($orgUnitId) + { + $this->orgUnitId = $orgUnitId; + } + public function getOrgUnitId() + { + return $this->orgUnitId; + } + public function setRoleAssignmentId($roleAssignmentId) + { + $this->roleAssignmentId = $roleAssignmentId; + } + public function getRoleAssignmentId() + { + return $this->roleAssignmentId; + } + public function setRoleId($roleId) + { + $this->roleId = $roleId; + } + public function getRoleId() + { + return $this->roleId; + } + public function setScopeType($scopeType) + { + $this->scopeType = $scopeType; + } + public function getScopeType() + { + return $this->scopeType; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Directory/RoleAssignments.php b/vendor/google/apiclient-services/src/Google/Service/Directory/RoleAssignments.php new file mode 100644 index 00000000..d1fbe4d9 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Directory/RoleAssignments.php @@ -0,0 +1,59 @@ +etag = $etag; + } + public function getEtag() + { + return $this->etag; + } + public function setItems($items) + { + $this->items = $items; + } + public function getItems() + { + return $this->items; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Directory/RoleRolePrivileges.php b/vendor/google/apiclient-services/src/Google/Service/Directory/RoleRolePrivileges.php new file mode 100644 index 00000000..7de85b02 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Directory/RoleRolePrivileges.php @@ -0,0 +1,39 @@ +privilegeName = $privilegeName; + } + public function getPrivilegeName() + { + return $this->privilegeName; + } + public function setServiceId($serviceId) + { + $this->serviceId = $serviceId; + } + public function getServiceId() + { + return $this->serviceId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Directory/Roles.php b/vendor/google/apiclient-services/src/Google/Service/Directory/Roles.php new file mode 100644 index 00000000..d65f436f --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Directory/Roles.php @@ -0,0 +1,59 @@ +etag = $etag; + } + public function getEtag() + { + return $this->etag; + } + public function setItems($items) + { + $this->items = $items; + } + public function getItems() + { + return $this->items; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Directory/Schema.php b/vendor/google/apiclient-services/src/Google/Service/Directory/Schema.php new file mode 100644 index 00000000..ed958bca --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Directory/Schema.php @@ -0,0 +1,68 @@ +etag = $etag; + } + public function getEtag() + { + return $this->etag; + } + public function setFields($fields) + { + $this->fields = $fields; + } + public function getFields() + { + return $this->fields; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setSchemaId($schemaId) + { + $this->schemaId = $schemaId; + } + public function getSchemaId() + { + return $this->schemaId; + } + public function setSchemaName($schemaName) + { + $this->schemaName = $schemaName; + } + public function getSchemaName() + { + return $this->schemaName; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Directory/SchemaFieldSpec.php b/vendor/google/apiclient-services/src/Google/Service/Directory/SchemaFieldSpec.php new file mode 100644 index 00000000..c2bdac87 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Directory/SchemaFieldSpec.php @@ -0,0 +1,103 @@ +etag = $etag; + } + public function getEtag() + { + return $this->etag; + } + public function setFieldId($fieldId) + { + $this->fieldId = $fieldId; + } + public function getFieldId() + { + return $this->fieldId; + } + public function setFieldName($fieldName) + { + $this->fieldName = $fieldName; + } + public function getFieldName() + { + return $this->fieldName; + } + public function setFieldType($fieldType) + { + $this->fieldType = $fieldType; + } + public function getFieldType() + { + return $this->fieldType; + } + public function setIndexed($indexed) + { + $this->indexed = $indexed; + } + public function getIndexed() + { + return $this->indexed; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setMultiValued($multiValued) + { + $this->multiValued = $multiValued; + } + public function getMultiValued() + { + return $this->multiValued; + } + public function setNumericIndexingSpec(Google_Service_Directory_SchemaFieldSpecNumericIndexingSpec $numericIndexingSpec) + { + $this->numericIndexingSpec = $numericIndexingSpec; + } + public function getNumericIndexingSpec() + { + return $this->numericIndexingSpec; + } + public function setReadAccessType($readAccessType) + { + $this->readAccessType = $readAccessType; + } + public function getReadAccessType() + { + return $this->readAccessType; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Directory/SchemaFieldSpecNumericIndexingSpec.php b/vendor/google/apiclient-services/src/Google/Service/Directory/SchemaFieldSpecNumericIndexingSpec.php new file mode 100644 index 00000000..26a015e5 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Directory/SchemaFieldSpecNumericIndexingSpec.php @@ -0,0 +1,39 @@ +maxValue = $maxValue; + } + public function getMaxValue() + { + return $this->maxValue; + } + public function setMinValue($minValue) + { + $this->minValue = $minValue; + } + public function getMinValue() + { + return $this->minValue; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Directory/Schemas.php b/vendor/google/apiclient-services/src/Google/Service/Directory/Schemas.php new file mode 100644 index 00000000..f5ab8e3d --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Directory/Schemas.php @@ -0,0 +1,50 @@ +etag = $etag; + } + public function getEtag() + { + return $this->etag; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setSchemas($schemas) + { + $this->schemas = $schemas; + } + public function getSchemas() + { + return $this->schemas; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Directory/Token.php b/vendor/google/apiclient-services/src/Google/Service/Directory/Token.php new file mode 100644 index 00000000..c51391b8 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Directory/Token.php @@ -0,0 +1,94 @@ +anonymous = $anonymous; + } + public function getAnonymous() + { + return $this->anonymous; + } + public function setClientId($clientId) + { + $this->clientId = $clientId; + } + public function getClientId() + { + return $this->clientId; + } + public function setDisplayText($displayText) + { + $this->displayText = $displayText; + } + public function getDisplayText() + { + return $this->displayText; + } + public function setEtag($etag) + { + $this->etag = $etag; + } + public function getEtag() + { + return $this->etag; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNativeApp($nativeApp) + { + $this->nativeApp = $nativeApp; + } + public function getNativeApp() + { + return $this->nativeApp; + } + public function setScopes($scopes) + { + $this->scopes = $scopes; + } + public function getScopes() + { + return $this->scopes; + } + public function setUserKey($userKey) + { + $this->userKey = $userKey; + } + public function getUserKey() + { + return $this->userKey; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Directory/Tokens.php b/vendor/google/apiclient-services/src/Google/Service/Directory/Tokens.php new file mode 100644 index 00000000..3174c8c9 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Directory/Tokens.php @@ -0,0 +1,50 @@ +etag = $etag; + } + public function getEtag() + { + return $this->etag; + } + public function setItems($items) + { + $this->items = $items; + } + public function getItems() + { + return $this->items; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Directory/User.php b/vendor/google/apiclient-services/src/Google/Service/Directory/User.php new file mode 100644 index 00000000..e17d7c41 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Directory/User.php @@ -0,0 +1,356 @@ +addresses = $addresses; + } + public function getAddresses() + { + return $this->addresses; + } + public function setAgreedToTerms($agreedToTerms) + { + $this->agreedToTerms = $agreedToTerms; + } + public function getAgreedToTerms() + { + return $this->agreedToTerms; + } + public function setAliases($aliases) + { + $this->aliases = $aliases; + } + public function getAliases() + { + return $this->aliases; + } + public function setChangePasswordAtNextLogin($changePasswordAtNextLogin) + { + $this->changePasswordAtNextLogin = $changePasswordAtNextLogin; + } + public function getChangePasswordAtNextLogin() + { + return $this->changePasswordAtNextLogin; + } + public function setCreationTime($creationTime) + { + $this->creationTime = $creationTime; + } + public function getCreationTime() + { + return $this->creationTime; + } + public function setCustomSchemas($customSchemas) + { + $this->customSchemas = $customSchemas; + } + public function getCustomSchemas() + { + return $this->customSchemas; + } + public function setCustomerId($customerId) + { + $this->customerId = $customerId; + } + public function getCustomerId() + { + return $this->customerId; + } + public function setDeletionTime($deletionTime) + { + $this->deletionTime = $deletionTime; + } + public function getDeletionTime() + { + return $this->deletionTime; + } + public function setEmails($emails) + { + $this->emails = $emails; + } + public function getEmails() + { + return $this->emails; + } + public function setEtag($etag) + { + $this->etag = $etag; + } + public function getEtag() + { + return $this->etag; + } + public function setExternalIds($externalIds) + { + $this->externalIds = $externalIds; + } + public function getExternalIds() + { + return $this->externalIds; + } + public function setHashFunction($hashFunction) + { + $this->hashFunction = $hashFunction; + } + public function getHashFunction() + { + return $this->hashFunction; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setIms($ims) + { + $this->ims = $ims; + } + public function getIms() + { + return $this->ims; + } + public function setIncludeInGlobalAddressList($includeInGlobalAddressList) + { + $this->includeInGlobalAddressList = $includeInGlobalAddressList; + } + public function getIncludeInGlobalAddressList() + { + return $this->includeInGlobalAddressList; + } + public function setIpWhitelisted($ipWhitelisted) + { + $this->ipWhitelisted = $ipWhitelisted; + } + public function getIpWhitelisted() + { + return $this->ipWhitelisted; + } + public function setIsAdmin($isAdmin) + { + $this->isAdmin = $isAdmin; + } + public function getIsAdmin() + { + return $this->isAdmin; + } + public function setIsDelegatedAdmin($isDelegatedAdmin) + { + $this->isDelegatedAdmin = $isDelegatedAdmin; + } + public function getIsDelegatedAdmin() + { + return $this->isDelegatedAdmin; + } + public function setIsEnforcedIn2Sv($isEnforcedIn2Sv) + { + $this->isEnforcedIn2Sv = $isEnforcedIn2Sv; + } + public function getIsEnforcedIn2Sv() + { + return $this->isEnforcedIn2Sv; + } + public function setIsEnrolledIn2Sv($isEnrolledIn2Sv) + { + $this->isEnrolledIn2Sv = $isEnrolledIn2Sv; + } + public function getIsEnrolledIn2Sv() + { + return $this->isEnrolledIn2Sv; + } + public function setIsMailboxSetup($isMailboxSetup) + { + $this->isMailboxSetup = $isMailboxSetup; + } + public function getIsMailboxSetup() + { + return $this->isMailboxSetup; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setLastLoginTime($lastLoginTime) + { + $this->lastLoginTime = $lastLoginTime; + } + public function getLastLoginTime() + { + return $this->lastLoginTime; + } + public function setName(Google_Service_Directory_UserName $name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setNonEditableAliases($nonEditableAliases) + { + $this->nonEditableAliases = $nonEditableAliases; + } + public function getNonEditableAliases() + { + return $this->nonEditableAliases; + } + public function setNotes($notes) + { + $this->notes = $notes; + } + public function getNotes() + { + return $this->notes; + } + public function setOrgUnitPath($orgUnitPath) + { + $this->orgUnitPath = $orgUnitPath; + } + public function getOrgUnitPath() + { + return $this->orgUnitPath; + } + public function setOrganizations($organizations) + { + $this->organizations = $organizations; + } + public function getOrganizations() + { + return $this->organizations; + } + public function setPassword($password) + { + $this->password = $password; + } + public function getPassword() + { + return $this->password; + } + public function setPhones($phones) + { + $this->phones = $phones; + } + public function getPhones() + { + return $this->phones; + } + public function setPrimaryEmail($primaryEmail) + { + $this->primaryEmail = $primaryEmail; + } + public function getPrimaryEmail() + { + return $this->primaryEmail; + } + public function setRelations($relations) + { + $this->relations = $relations; + } + public function getRelations() + { + return $this->relations; + } + public function setSuspended($suspended) + { + $this->suspended = $suspended; + } + public function getSuspended() + { + return $this->suspended; + } + public function setSuspensionReason($suspensionReason) + { + $this->suspensionReason = $suspensionReason; + } + public function getSuspensionReason() + { + return $this->suspensionReason; + } + public function setThumbnailPhotoEtag($thumbnailPhotoEtag) + { + $this->thumbnailPhotoEtag = $thumbnailPhotoEtag; + } + public function getThumbnailPhotoEtag() + { + return $this->thumbnailPhotoEtag; + } + public function setThumbnailPhotoUrl($thumbnailPhotoUrl) + { + $this->thumbnailPhotoUrl = $thumbnailPhotoUrl; + } + public function getThumbnailPhotoUrl() + { + return $this->thumbnailPhotoUrl; + } + public function setWebsites($websites) + { + $this->websites = $websites; + } + public function getWebsites() + { + return $this->websites; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Directory/UserAbout.php b/vendor/google/apiclient-services/src/Google/Service/Directory/UserAbout.php new file mode 100644 index 00000000..10e4af5f --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Directory/UserAbout.php @@ -0,0 +1,39 @@ +contentType = $contentType; + } + public function getContentType() + { + return $this->contentType; + } + public function setValue($value) + { + $this->value = $value; + } + public function getValue() + { + return $this->value; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Directory/UserAddress.php b/vendor/google/apiclient-services/src/Google/Service/Directory/UserAddress.php new file mode 100644 index 00000000..0c68b39e --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Directory/UserAddress.php @@ -0,0 +1,138 @@ +country = $country; + } + public function getCountry() + { + return $this->country; + } + public function setCountryCode($countryCode) + { + $this->countryCode = $countryCode; + } + public function getCountryCode() + { + return $this->countryCode; + } + public function setCustomType($customType) + { + $this->customType = $customType; + } + public function getCustomType() + { + return $this->customType; + } + public function setExtendedAddress($extendedAddress) + { + $this->extendedAddress = $extendedAddress; + } + public function getExtendedAddress() + { + return $this->extendedAddress; + } + public function setFormatted($formatted) + { + $this->formatted = $formatted; + } + public function getFormatted() + { + return $this->formatted; + } + public function setLocality($locality) + { + $this->locality = $locality; + } + public function getLocality() + { + return $this->locality; + } + public function setPoBox($poBox) + { + $this->poBox = $poBox; + } + public function getPoBox() + { + return $this->poBox; + } + public function setPostalCode($postalCode) + { + $this->postalCode = $postalCode; + } + public function getPostalCode() + { + return $this->postalCode; + } + public function setPrimary($primary) + { + $this->primary = $primary; + } + public function getPrimary() + { + return $this->primary; + } + public function setRegion($region) + { + $this->region = $region; + } + public function getRegion() + { + return $this->region; + } + public function setSourceIsStructured($sourceIsStructured) + { + $this->sourceIsStructured = $sourceIsStructured; + } + public function getSourceIsStructured() + { + return $this->sourceIsStructured; + } + public function setStreetAddress($streetAddress) + { + $this->streetAddress = $streetAddress; + } + public function getStreetAddress() + { + return $this->streetAddress; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Directory/UserEmail.php b/vendor/google/apiclient-services/src/Google/Service/Directory/UserEmail.php new file mode 100644 index 00000000..ed684d7e --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Directory/UserEmail.php @@ -0,0 +1,57 @@ +address = $address; + } + public function getAddress() + { + return $this->address; + } + public function setCustomType($customType) + { + $this->customType = $customType; + } + public function getCustomType() + { + return $this->customType; + } + public function setPrimary($primary) + { + $this->primary = $primary; + } + public function getPrimary() + { + return $this->primary; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Directory/UserExternalId.php b/vendor/google/apiclient-services/src/Google/Service/Directory/UserExternalId.php new file mode 100644 index 00000000..9eabc336 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Directory/UserExternalId.php @@ -0,0 +1,48 @@ +customType = $customType; + } + public function getCustomType() + { + return $this->customType; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } + public function setValue($value) + { + $this->value = $value; + } + public function getValue() + { + return $this->value; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Directory/UserIm.php b/vendor/google/apiclient-services/src/Google/Service/Directory/UserIm.php new file mode 100644 index 00000000..84522e4b --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Directory/UserIm.php @@ -0,0 +1,75 @@ +customProtocol = $customProtocol; + } + public function getCustomProtocol() + { + return $this->customProtocol; + } + public function setCustomType($customType) + { + $this->customType = $customType; + } + public function getCustomType() + { + return $this->customType; + } + public function setIm($im) + { + $this->im = $im; + } + public function getIm() + { + return $this->im; + } + public function setPrimary($primary) + { + $this->primary = $primary; + } + public function getPrimary() + { + return $this->primary; + } + public function setProtocol($protocol) + { + $this->protocol = $protocol; + } + public function getProtocol() + { + return $this->protocol; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Directory/UserMakeAdmin.php b/vendor/google/apiclient-services/src/Google/Service/Directory/UserMakeAdmin.php new file mode 100644 index 00000000..8c5ac86b --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Directory/UserMakeAdmin.php @@ -0,0 +1,30 @@ +status = $status; + } + public function getStatus() + { + return $this->status; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Directory/UserName.php b/vendor/google/apiclient-services/src/Google/Service/Directory/UserName.php new file mode 100644 index 00000000..677a5d99 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Directory/UserName.php @@ -0,0 +1,48 @@ +familyName = $familyName; + } + public function getFamilyName() + { + return $this->familyName; + } + public function setFullName($fullName) + { + $this->fullName = $fullName; + } + public function getFullName() + { + return $this->fullName; + } + public function setGivenName($givenName) + { + $this->givenName = $givenName; + } + public function getGivenName() + { + return $this->givenName; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Directory/UserOrganization.php b/vendor/google/apiclient-services/src/Google/Service/Directory/UserOrganization.php new file mode 100644 index 00000000..2481928b --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Directory/UserOrganization.php @@ -0,0 +1,120 @@ +costCenter = $costCenter; + } + public function getCostCenter() + { + return $this->costCenter; + } + public function setCustomType($customType) + { + $this->customType = $customType; + } + public function getCustomType() + { + return $this->customType; + } + public function setDepartment($department) + { + $this->department = $department; + } + public function getDepartment() + { + return $this->department; + } + public function setDescription($description) + { + $this->description = $description; + } + public function getDescription() + { + return $this->description; + } + public function setDomain($domain) + { + $this->domain = $domain; + } + public function getDomain() + { + return $this->domain; + } + public function setLocation($location) + { + $this->location = $location; + } + public function getLocation() + { + return $this->location; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setPrimary($primary) + { + $this->primary = $primary; + } + public function getPrimary() + { + return $this->primary; + } + public function setSymbol($symbol) + { + $this->symbol = $symbol; + } + public function getSymbol() + { + return $this->symbol; + } + public function setTitle($title) + { + $this->title = $title; + } + public function getTitle() + { + return $this->title; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Directory/UserPhone.php b/vendor/google/apiclient-services/src/Google/Service/Directory/UserPhone.php new file mode 100644 index 00000000..2e13223c --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Directory/UserPhone.php @@ -0,0 +1,57 @@ +customType = $customType; + } + public function getCustomType() + { + return $this->customType; + } + public function setPrimary($primary) + { + $this->primary = $primary; + } + public function getPrimary() + { + return $this->primary; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } + public function setValue($value) + { + $this->value = $value; + } + public function getValue() + { + return $this->value; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Directory/UserPhoto.php b/vendor/google/apiclient-services/src/Google/Service/Directory/UserPhoto.php new file mode 100644 index 00000000..f667c80b --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Directory/UserPhoto.php @@ -0,0 +1,93 @@ +etag = $etag; + } + public function getEtag() + { + return $this->etag; + } + public function setHeight($height) + { + $this->height = $height; + } + public function getHeight() + { + return $this->height; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setMimeType($mimeType) + { + $this->mimeType = $mimeType; + } + public function getMimeType() + { + return $this->mimeType; + } + public function setPhotoData($photoData) + { + $this->photoData = $photoData; + } + public function getPhotoData() + { + return $this->photoData; + } + public function setPrimaryEmail($primaryEmail) + { + $this->primaryEmail = $primaryEmail; + } + public function getPrimaryEmail() + { + return $this->primaryEmail; + } + public function setWidth($width) + { + $this->width = $width; + } + public function getWidth() + { + return $this->width; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Directory/UserRelation.php b/vendor/google/apiclient-services/src/Google/Service/Directory/UserRelation.php new file mode 100644 index 00000000..41e5c781 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Directory/UserRelation.php @@ -0,0 +1,48 @@ +customType = $customType; + } + public function getCustomType() + { + return $this->customType; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } + public function setValue($value) + { + $this->value = $value; + } + public function getValue() + { + return $this->value; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Directory/UserUndelete.php b/vendor/google/apiclient-services/src/Google/Service/Directory/UserUndelete.php new file mode 100644 index 00000000..2b166047 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Directory/UserUndelete.php @@ -0,0 +1,30 @@ +orgUnitPath = $orgUnitPath; + } + public function getOrgUnitPath() + { + return $this->orgUnitPath; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Directory/UserWebsite.php b/vendor/google/apiclient-services/src/Google/Service/Directory/UserWebsite.php new file mode 100644 index 00000000..4b2d0c24 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Directory/UserWebsite.php @@ -0,0 +1,57 @@ +customType = $customType; + } + public function getCustomType() + { + return $this->customType; + } + public function setPrimary($primary) + { + $this->primary = $primary; + } + public function getPrimary() + { + return $this->primary; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } + public function setValue($value) + { + $this->value = $value; + } + public function getValue() + { + return $this->value; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Directory/Users.php b/vendor/google/apiclient-services/src/Google/Service/Directory/Users.php new file mode 100644 index 00000000..ce525cf7 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Directory/Users.php @@ -0,0 +1,71 @@ + "trigger_event", + ); + public $etag; + public $kind; + public $nextPageToken; + public $triggerEvent; + protected $usersType = 'Google_Service_Directory_User'; + protected $usersDataType = 'array'; + + public function setEtag($etag) + { + $this->etag = $etag; + } + public function getEtag() + { + return $this->etag; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setTriggerEvent($triggerEvent) + { + $this->triggerEvent = $triggerEvent; + } + public function getTriggerEvent() + { + return $this->triggerEvent; + } + public function setUsers($users) + { + $this->users = $users; + } + public function getUsers() + { + return $this->users; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Directory/VerificationCode.php b/vendor/google/apiclient-services/src/Google/Service/Directory/VerificationCode.php new file mode 100644 index 00000000..fbf95a3a --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Directory/VerificationCode.php @@ -0,0 +1,57 @@ +etag = $etag; + } + public function getEtag() + { + return $this->etag; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setUserId($userId) + { + $this->userId = $userId; + } + public function getUserId() + { + return $this->userId; + } + public function setVerificationCode($verificationCode) + { + $this->verificationCode = $verificationCode; + } + public function getVerificationCode() + { + return $this->verificationCode; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Directory/VerificationCodes.php b/vendor/google/apiclient-services/src/Google/Service/Directory/VerificationCodes.php new file mode 100644 index 00000000..3d4a8b8d --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Directory/VerificationCodes.php @@ -0,0 +1,50 @@ +etag = $etag; + } + public function getEtag() + { + return $this->etag; + } + public function setItems($items) + { + $this->items = $items; + } + public function getItems() + { + return $this->items; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dns.php b/vendor/google/apiclient-services/src/Google/Service/Dns.php new file mode 100644 index 00000000..a6820eb9 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dns.php @@ -0,0 +1,274 @@ + + * Configures and serves authoritative DNS records.

+ * + *

+ * For more information about this service, see the API + * Documentation + *

+ * + * @author Google, Inc. + */ +class Google_Service_Dns extends Google_Service +{ + /** View and manage your data across Google Cloud Platform services. */ + const CLOUD_PLATFORM = + "https://www.googleapis.com/auth/cloud-platform"; + /** View your data across Google Cloud Platform services. */ + const CLOUD_PLATFORM_READ_ONLY = + "https://www.googleapis.com/auth/cloud-platform.read-only"; + /** View your DNS records hosted by Google Cloud DNS. */ + const NDEV_CLOUDDNS_READONLY = + "https://www.googleapis.com/auth/ndev.clouddns.readonly"; + /** View and manage your DNS records hosted by Google Cloud DNS. */ + const NDEV_CLOUDDNS_READWRITE = + "https://www.googleapis.com/auth/ndev.clouddns.readwrite"; + + public $changes; + public $managedZones; + public $projects; + public $resourceRecordSets; + + /** + * Constructs the internal representation of the Dns service. + * + * @param Google_Client $client + */ + public function __construct(Google_Client $client) + { + parent::__construct($client); + $this->rootUrl = 'https://www.googleapis.com/'; + $this->servicePath = 'dns/v1/projects/'; + $this->version = 'v1'; + $this->serviceName = 'dns'; + + $this->changes = new Google_Service_Dns_Resource_Changes( + $this, + $this->serviceName, + 'changes', + array( + 'methods' => array( + 'create' => array( + 'path' => '{project}/managedZones/{managedZone}/changes', + 'httpMethod' => 'POST', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'managedZone' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'get' => array( + 'path' => '{project}/managedZones/{managedZone}/changes/{changeId}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'managedZone' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'changeId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => '{project}/managedZones/{managedZone}/changes', + 'httpMethod' => 'GET', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'managedZone' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'sortBy' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'sortOrder' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + $this->managedZones = new Google_Service_Dns_Resource_ManagedZones( + $this, + $this->serviceName, + 'managedZones', + array( + 'methods' => array( + 'create' => array( + 'path' => '{project}/managedZones', + 'httpMethod' => 'POST', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'delete' => array( + 'path' => '{project}/managedZones/{managedZone}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'managedZone' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'get' => array( + 'path' => '{project}/managedZones/{managedZone}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'managedZone' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => '{project}/managedZones', + 'httpMethod' => 'GET', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'dnsName' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + $this->projects = new Google_Service_Dns_Resource_Projects( + $this, + $this->serviceName, + 'projects', + array( + 'methods' => array( + 'get' => array( + 'path' => '{project}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->resourceRecordSets = new Google_Service_Dns_Resource_ResourceRecordSets( + $this, + $this->serviceName, + 'resourceRecordSets', + array( + 'methods' => array( + 'list' => array( + 'path' => '{project}/managedZones/{managedZone}/rrsets', + 'httpMethod' => 'GET', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'managedZone' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'name' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'type' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dns/Change.php b/vendor/google/apiclient-services/src/Google/Service/Dns/Change.php new file mode 100644 index 00000000..7547319d --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dns/Change.php @@ -0,0 +1,78 @@ +additions = $additions; + } + public function getAdditions() + { + return $this->additions; + } + public function setDeletions($deletions) + { + $this->deletions = $deletions; + } + public function getDeletions() + { + return $this->deletions; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setStartTime($startTime) + { + $this->startTime = $startTime; + } + public function getStartTime() + { + return $this->startTime; + } + public function setStatus($status) + { + $this->status = $status; + } + public function getStatus() + { + return $this->status; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dns/ChangesListResponse.php b/vendor/google/apiclient-services/src/Google/Service/Dns/ChangesListResponse.php new file mode 100644 index 00000000..d5966aa1 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dns/ChangesListResponse.php @@ -0,0 +1,50 @@ +changes = $changes; + } + public function getChanges() + { + return $this->changes; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dns/ManagedZone.php b/vendor/google/apiclient-services/src/Google/Service/Dns/ManagedZone.php new file mode 100644 index 00000000..1a325ee5 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dns/ManagedZone.php @@ -0,0 +1,94 @@ +creationTime = $creationTime; + } + public function getCreationTime() + { + return $this->creationTime; + } + public function setDescription($description) + { + $this->description = $description; + } + public function getDescription() + { + return $this->description; + } + public function setDnsName($dnsName) + { + $this->dnsName = $dnsName; + } + public function getDnsName() + { + return $this->dnsName; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setNameServerSet($nameServerSet) + { + $this->nameServerSet = $nameServerSet; + } + public function getNameServerSet() + { + return $this->nameServerSet; + } + public function setNameServers($nameServers) + { + $this->nameServers = $nameServers; + } + public function getNameServers() + { + return $this->nameServers; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dns/ManagedZonesListResponse.php b/vendor/google/apiclient-services/src/Google/Service/Dns/ManagedZonesListResponse.php new file mode 100644 index 00000000..3427f0de --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dns/ManagedZonesListResponse.php @@ -0,0 +1,50 @@ +kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setManagedZones($managedZones) + { + $this->managedZones = $managedZones; + } + public function getManagedZones() + { + return $this->managedZones; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dns/Project.php b/vendor/google/apiclient-services/src/Google/Service/Dns/Project.php new file mode 100644 index 00000000..aaa65267 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dns/Project.php @@ -0,0 +1,58 @@ +id = $id; + } + public function getId() + { + return $this->id; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNumber($number) + { + $this->number = $number; + } + public function getNumber() + { + return $this->number; + } + public function setQuota(Google_Service_Dns_Quota $quota) + { + $this->quota = $quota; + } + public function getQuota() + { + return $this->quota; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dns/Quota.php b/vendor/google/apiclient-services/src/Google/Service/Dns/Quota.php new file mode 100644 index 00000000..f08f06e1 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dns/Quota.php @@ -0,0 +1,84 @@ +kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setManagedZones($managedZones) + { + $this->managedZones = $managedZones; + } + public function getManagedZones() + { + return $this->managedZones; + } + public function setResourceRecordsPerRrset($resourceRecordsPerRrset) + { + $this->resourceRecordsPerRrset = $resourceRecordsPerRrset; + } + public function getResourceRecordsPerRrset() + { + return $this->resourceRecordsPerRrset; + } + public function setRrsetAdditionsPerChange($rrsetAdditionsPerChange) + { + $this->rrsetAdditionsPerChange = $rrsetAdditionsPerChange; + } + public function getRrsetAdditionsPerChange() + { + return $this->rrsetAdditionsPerChange; + } + public function setRrsetDeletionsPerChange($rrsetDeletionsPerChange) + { + $this->rrsetDeletionsPerChange = $rrsetDeletionsPerChange; + } + public function getRrsetDeletionsPerChange() + { + return $this->rrsetDeletionsPerChange; + } + public function setRrsetsPerManagedZone($rrsetsPerManagedZone) + { + $this->rrsetsPerManagedZone = $rrsetsPerManagedZone; + } + public function getRrsetsPerManagedZone() + { + return $this->rrsetsPerManagedZone; + } + public function setTotalRrdataSizePerChange($totalRrdataSizePerChange) + { + $this->totalRrdataSizePerChange = $totalRrdataSizePerChange; + } + public function getTotalRrdataSizePerChange() + { + return $this->totalRrdataSizePerChange; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dns/Resource/Changes.php b/vendor/google/apiclient-services/src/Google/Service/Dns/Resource/Changes.php new file mode 100644 index 00000000..49f96f93 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dns/Resource/Changes.php @@ -0,0 +1,86 @@ + + * $dnsService = new Google_Service_Dns(...); + * $changes = $dnsService->changes; + * + */ +class Google_Service_Dns_Resource_Changes extends Google_Service_Resource +{ + /** + * Atomically update the ResourceRecordSet collection. (changes.create) + * + * @param string $project Identifies the project addressed by this request. + * @param string $managedZone Identifies the managed zone addressed by this + * request. Can be the managed zone name or id. + * @param Google_Service_Dns_Change $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Dns_Change + */ + public function create($project, $managedZone, Google_Service_Dns_Change $postBody, $optParams = array()) + { + $params = array('project' => $project, 'managedZone' => $managedZone, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('create', array($params), "Google_Service_Dns_Change"); + } + /** + * Fetch the representation of an existing Change. (changes.get) + * + * @param string $project Identifies the project addressed by this request. + * @param string $managedZone Identifies the managed zone addressed by this + * request. Can be the managed zone name or id. + * @param string $changeId The identifier of the requested change, from a + * previous ResourceRecordSetsChangeResponse. + * @param array $optParams Optional parameters. + * @return Google_Service_Dns_Change + */ + public function get($project, $managedZone, $changeId, $optParams = array()) + { + $params = array('project' => $project, 'managedZone' => $managedZone, 'changeId' => $changeId); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Dns_Change"); + } + /** + * Enumerate Changes to a ResourceRecordSet collection. (changes.listChanges) + * + * @param string $project Identifies the project addressed by this request. + * @param string $managedZone Identifies the managed zone addressed by this + * request. Can be the managed zone name or id. + * @param array $optParams Optional parameters. + * + * @opt_param int maxResults Optional. Maximum number of results to be returned. + * If unspecified, the server will decide how many results to return. + * @opt_param string pageToken Optional. A tag returned by a previous list + * request that was truncated. Use this parameter to continue a previous list + * request. + * @opt_param string sortBy Sorting criterion. The only supported value is + * change sequence. + * @opt_param string sortOrder Sorting order direction: 'ascending' or + * 'descending'. + * @return Google_Service_Dns_ChangesListResponse + */ + public function listChanges($project, $managedZone, $optParams = array()) + { + $params = array('project' => $project, 'managedZone' => $managedZone); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Dns_ChangesListResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dns/Resource/ManagedZones.php b/vendor/google/apiclient-services/src/Google/Service/Dns/Resource/ManagedZones.php new file mode 100644 index 00000000..bbe8316c --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dns/Resource/ManagedZones.php @@ -0,0 +1,93 @@ + + * $dnsService = new Google_Service_Dns(...); + * $managedZones = $dnsService->managedZones; + * + */ +class Google_Service_Dns_Resource_ManagedZones extends Google_Service_Resource +{ + /** + * Create a new ManagedZone. (managedZones.create) + * + * @param string $project Identifies the project addressed by this request. + * @param Google_Service_Dns_ManagedZone $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Dns_ManagedZone + */ + public function create($project, Google_Service_Dns_ManagedZone $postBody, $optParams = array()) + { + $params = array('project' => $project, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('create', array($params), "Google_Service_Dns_ManagedZone"); + } + /** + * Delete a previously created ManagedZone. (managedZones.delete) + * + * @param string $project Identifies the project addressed by this request. + * @param string $managedZone Identifies the managed zone addressed by this + * request. Can be the managed zone name or id. + * @param array $optParams Optional parameters. + */ + public function delete($project, $managedZone, $optParams = array()) + { + $params = array('project' => $project, 'managedZone' => $managedZone); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params)); + } + /** + * Fetch the representation of an existing ManagedZone. (managedZones.get) + * + * @param string $project Identifies the project addressed by this request. + * @param string $managedZone Identifies the managed zone addressed by this + * request. Can be the managed zone name or id. + * @param array $optParams Optional parameters. + * @return Google_Service_Dns_ManagedZone + */ + public function get($project, $managedZone, $optParams = array()) + { + $params = array('project' => $project, 'managedZone' => $managedZone); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Dns_ManagedZone"); + } + /** + * Enumerate ManagedZones that have been created but not yet deleted. + * (managedZones.listManagedZones) + * + * @param string $project Identifies the project addressed by this request. + * @param array $optParams Optional parameters. + * + * @opt_param string dnsName Restricts the list to return only zones with this + * domain name. + * @opt_param int maxResults Optional. Maximum number of results to be returned. + * If unspecified, the server will decide how many results to return. + * @opt_param string pageToken Optional. A tag returned by a previous list + * request that was truncated. Use this parameter to continue a previous list + * request. + * @return Google_Service_Dns_ManagedZonesListResponse + */ + public function listManagedZones($project, $optParams = array()) + { + $params = array('project' => $project); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Dns_ManagedZonesListResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dns/Resource/Projects.php b/vendor/google/apiclient-services/src/Google/Service/Dns/Resource/Projects.php new file mode 100644 index 00000000..db8ef93e --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dns/Resource/Projects.php @@ -0,0 +1,41 @@ + + * $dnsService = new Google_Service_Dns(...); + * $projects = $dnsService->projects; + * + */ +class Google_Service_Dns_Resource_Projects extends Google_Service_Resource +{ + /** + * Fetch the representation of an existing Project. (projects.get) + * + * @param string $project Identifies the project addressed by this request. + * @param array $optParams Optional parameters. + * @return Google_Service_Dns_Project + */ + public function get($project, $optParams = array()) + { + $params = array('project' => $project); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Dns_Project"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dns/Resource/ResourceRecordSets.php b/vendor/google/apiclient-services/src/Google/Service/Dns/Resource/ResourceRecordSets.php new file mode 100644 index 00000000..ee539fdf --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dns/Resource/ResourceRecordSets.php @@ -0,0 +1,54 @@ + + * $dnsService = new Google_Service_Dns(...); + * $resourceRecordSets = $dnsService->resourceRecordSets; + * + */ +class Google_Service_Dns_Resource_ResourceRecordSets extends Google_Service_Resource +{ + /** + * Enumerate ResourceRecordSets that have been created but not yet deleted. + * (resourceRecordSets.listResourceRecordSets) + * + * @param string $project Identifies the project addressed by this request. + * @param string $managedZone Identifies the managed zone addressed by this + * request. Can be the managed zone name or id. + * @param array $optParams Optional parameters. + * + * @opt_param int maxResults Optional. Maximum number of results to be returned. + * If unspecified, the server will decide how many results to return. + * @opt_param string name Restricts the list to return only records with this + * fully qualified domain name. + * @opt_param string pageToken Optional. A tag returned by a previous list + * request that was truncated. Use this parameter to continue a previous list + * request. + * @opt_param string type Restricts the list to return only records of this + * type. If present, the "name" parameter must also be present. + * @return Google_Service_Dns_ResourceRecordSetsListResponse + */ + public function listResourceRecordSets($project, $managedZone, $optParams = array()) + { + $params = array('project' => $project, 'managedZone' => $managedZone); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Dns_ResourceRecordSetsListResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dns/ResourceRecordSet.php b/vendor/google/apiclient-services/src/Google/Service/Dns/ResourceRecordSet.php new file mode 100644 index 00000000..6a057eac --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dns/ResourceRecordSet.php @@ -0,0 +1,67 @@ +kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setRrdatas($rrdatas) + { + $this->rrdatas = $rrdatas; + } + public function getRrdatas() + { + return $this->rrdatas; + } + public function setTtl($ttl) + { + $this->ttl = $ttl; + } + public function getTtl() + { + return $this->ttl; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Dns/ResourceRecordSetsListResponse.php b/vendor/google/apiclient-services/src/Google/Service/Dns/ResourceRecordSetsListResponse.php new file mode 100644 index 00000000..e86438f2 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Dns/ResourceRecordSetsListResponse.php @@ -0,0 +1,50 @@ +kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setRrsets($rrsets) + { + $this->rrsets = $rrsets; + } + public function getRrsets() + { + return $this->rrsets; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/DoubleClickBidManager.php b/vendor/google/apiclient-services/src/Google/Service/DoubleClickBidManager.php new file mode 100644 index 00000000..656266ed --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/DoubleClickBidManager.php @@ -0,0 +1,155 @@ + + * API for viewing and managing your reports in DoubleClick Bid Manager.

+ * + *

+ * For more information about this service, see the API + * Documentation + *

+ * + * @author Google, Inc. + */ +class Google_Service_DoubleClickBidManager extends Google_Service +{ + + + public $lineitems; + public $queries; + public $reports; + public $sdf; + + /** + * Constructs the internal representation of the DoubleClickBidManager + * service. + * + * @param Google_Client $client + */ + public function __construct(Google_Client $client) + { + parent::__construct($client); + $this->rootUrl = 'https://www.googleapis.com/'; + $this->servicePath = 'doubleclickbidmanager/v1/'; + $this->version = 'v1'; + $this->serviceName = 'doubleclickbidmanager'; + + $this->lineitems = new Google_Service_DoubleClickBidManager_Resource_Lineitems( + $this, + $this->serviceName, + 'lineitems', + array( + 'methods' => array( + 'downloadlineitems' => array( + 'path' => 'lineitems/downloadlineitems', + 'httpMethod' => 'POST', + 'parameters' => array(), + ),'uploadlineitems' => array( + 'path' => 'lineitems/uploadlineitems', + 'httpMethod' => 'POST', + 'parameters' => array(), + ), + ) + ) + ); + $this->queries = new Google_Service_DoubleClickBidManager_Resource_Queries( + $this, + $this->serviceName, + 'queries', + array( + 'methods' => array( + 'createquery' => array( + 'path' => 'query', + 'httpMethod' => 'POST', + 'parameters' => array(), + ),'deletequery' => array( + 'path' => 'query/{queryId}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'queryId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'getquery' => array( + 'path' => 'query/{queryId}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'queryId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'listqueries' => array( + 'path' => 'queries', + 'httpMethod' => 'GET', + 'parameters' => array(), + ),'runquery' => array( + 'path' => 'query/{queryId}', + 'httpMethod' => 'POST', + 'parameters' => array( + 'queryId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->reports = new Google_Service_DoubleClickBidManager_Resource_Reports( + $this, + $this->serviceName, + 'reports', + array( + 'methods' => array( + 'listreports' => array( + 'path' => 'queries/{queryId}/reports', + 'httpMethod' => 'GET', + 'parameters' => array( + 'queryId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->sdf = new Google_Service_DoubleClickBidManager_Resource_Sdf( + $this, + $this->serviceName, + 'sdf', + array( + 'methods' => array( + 'download' => array( + 'path' => 'sdf/download', + 'httpMethod' => 'POST', + 'parameters' => array(), + ), + ) + ) + ); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/DoubleClickBidManager/DownloadLineItemsRequest.php b/vendor/google/apiclient-services/src/Google/Service/DoubleClickBidManager/DownloadLineItemsRequest.php new file mode 100644 index 00000000..08bb5c9d --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/DoubleClickBidManager/DownloadLineItemsRequest.php @@ -0,0 +1,58 @@ +fileSpec = $fileSpec; + } + public function getFileSpec() + { + return $this->fileSpec; + } + public function setFilterIds($filterIds) + { + $this->filterIds = $filterIds; + } + public function getFilterIds() + { + return $this->filterIds; + } + public function setFilterType($filterType) + { + $this->filterType = $filterType; + } + public function getFilterType() + { + return $this->filterType; + } + public function setFormat($format) + { + $this->format = $format; + } + public function getFormat() + { + return $this->format; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/DoubleClickBidManager/DownloadLineItemsResponse.php b/vendor/google/apiclient-services/src/Google/Service/DoubleClickBidManager/DownloadLineItemsResponse.php new file mode 100644 index 00000000..5fcebc41 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/DoubleClickBidManager/DownloadLineItemsResponse.php @@ -0,0 +1,30 @@ +lineItems = $lineItems; + } + public function getLineItems() + { + return $this->lineItems; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/DoubleClickBidManager/DownloadRequest.php b/vendor/google/apiclient-services/src/Google/Service/DoubleClickBidManager/DownloadRequest.php new file mode 100644 index 00000000..062a89b8 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/DoubleClickBidManager/DownloadRequest.php @@ -0,0 +1,58 @@ +fileTypes = $fileTypes; + } + public function getFileTypes() + { + return $this->fileTypes; + } + public function setFilterIds($filterIds) + { + $this->filterIds = $filterIds; + } + public function getFilterIds() + { + return $this->filterIds; + } + public function setFilterType($filterType) + { + $this->filterType = $filterType; + } + public function getFilterType() + { + return $this->filterType; + } + public function setVersion($version) + { + $this->version = $version; + } + public function getVersion() + { + return $this->version; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/DoubleClickBidManager/DownloadResponse.php b/vendor/google/apiclient-services/src/Google/Service/DoubleClickBidManager/DownloadResponse.php new file mode 100644 index 00000000..4a289e82 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/DoubleClickBidManager/DownloadResponse.php @@ -0,0 +1,57 @@ +adGroups = $adGroups; + } + public function getAdGroups() + { + return $this->adGroups; + } + public function setAds($ads) + { + $this->ads = $ads; + } + public function getAds() + { + return $this->ads; + } + public function setInsertionOrders($insertionOrders) + { + $this->insertionOrders = $insertionOrders; + } + public function getInsertionOrders() + { + return $this->insertionOrders; + } + public function setLineItems($lineItems) + { + $this->lineItems = $lineItems; + } + public function getLineItems() + { + return $this->lineItems; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/DoubleClickBidManager/FilterPair.php b/vendor/google/apiclient-services/src/Google/Service/DoubleClickBidManager/FilterPair.php new file mode 100644 index 00000000..af28d25d --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/DoubleClickBidManager/FilterPair.php @@ -0,0 +1,39 @@ +type = $type; + } + public function getType() + { + return $this->type; + } + public function setValue($value) + { + $this->value = $value; + } + public function getValue() + { + return $this->value; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/DoubleClickBidManager/ListQueriesResponse.php b/vendor/google/apiclient-services/src/Google/Service/DoubleClickBidManager/ListQueriesResponse.php new file mode 100644 index 00000000..ff2d7ec7 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/DoubleClickBidManager/ListQueriesResponse.php @@ -0,0 +1,41 @@ +kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setQueries($queries) + { + $this->queries = $queries; + } + public function getQueries() + { + return $this->queries; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/DoubleClickBidManager/ListReportsResponse.php b/vendor/google/apiclient-services/src/Google/Service/DoubleClickBidManager/ListReportsResponse.php new file mode 100644 index 00000000..45295b01 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/DoubleClickBidManager/ListReportsResponse.php @@ -0,0 +1,41 @@ +kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setReports($reports) + { + $this->reports = $reports; + } + public function getReports() + { + return $this->reports; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/DoubleClickBidManager/Note.php b/vendor/google/apiclient-services/src/Google/Service/DoubleClickBidManager/Note.php new file mode 100644 index 00000000..1443b729 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/DoubleClickBidManager/Note.php @@ -0,0 +1,66 @@ +id = $id; + } + public function getId() + { + return $this->id; + } + public function setMessage($message) + { + $this->message = $message; + } + public function getMessage() + { + return $this->message; + } + public function setSource($source) + { + $this->source = $source; + } + public function getSource() + { + return $this->source; + } + public function setTimestamp($timestamp) + { + $this->timestamp = $timestamp; + } + public function getTimestamp() + { + return $this->timestamp; + } + public function setUsername($username) + { + $this->username = $username; + } + public function getUsername() + { + return $this->username; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/DoubleClickBidManager/NotifyProposalChangeRequest.php b/vendor/google/apiclient-services/src/Google/Service/DoubleClickBidManager/NotifyProposalChangeRequest.php new file mode 100644 index 00000000..81bf5449 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/DoubleClickBidManager/NotifyProposalChangeRequest.php @@ -0,0 +1,68 @@ +action = $action; + } + public function getAction() + { + return $this->action; + } + public function setHref($href) + { + $this->href = $href; + } + public function getHref() + { + return $this->href; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setNotes($notes) + { + $this->notes = $notes; + } + public function getNotes() + { + return $this->notes; + } + public function setToken($token) + { + $this->token = $token; + } + public function getToken() + { + return $this->token; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/DoubleClickBidManager/Parameters.php b/vendor/google/apiclient-services/src/Google/Service/DoubleClickBidManager/Parameters.php new file mode 100644 index 00000000..6d16406f --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/DoubleClickBidManager/Parameters.php @@ -0,0 +1,68 @@ +filters = $filters; + } + public function getFilters() + { + return $this->filters; + } + public function setGroupBys($groupBys) + { + $this->groupBys = $groupBys; + } + public function getGroupBys() + { + return $this->groupBys; + } + public function setIncludeInviteData($includeInviteData) + { + $this->includeInviteData = $includeInviteData; + } + public function getIncludeInviteData() + { + return $this->includeInviteData; + } + public function setMetrics($metrics) + { + $this->metrics = $metrics; + } + public function getMetrics() + { + return $this->metrics; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/DoubleClickBidManager/Query.php b/vendor/google/apiclient-services/src/Google/Service/DoubleClickBidManager/Query.php new file mode 100644 index 00000000..bed6d208 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/DoubleClickBidManager/Query.php @@ -0,0 +1,96 @@ +kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setMetadata(Google_Service_DoubleClickBidManager_QueryMetadata $metadata) + { + $this->metadata = $metadata; + } + public function getMetadata() + { + return $this->metadata; + } + public function setParams(Google_Service_DoubleClickBidManager_Parameters $params) + { + $this->params = $params; + } + public function getParams() + { + return $this->params; + } + public function setQueryId($queryId) + { + $this->queryId = $queryId; + } + public function getQueryId() + { + return $this->queryId; + } + public function setReportDataEndTimeMs($reportDataEndTimeMs) + { + $this->reportDataEndTimeMs = $reportDataEndTimeMs; + } + public function getReportDataEndTimeMs() + { + return $this->reportDataEndTimeMs; + } + public function setReportDataStartTimeMs($reportDataStartTimeMs) + { + $this->reportDataStartTimeMs = $reportDataStartTimeMs; + } + public function getReportDataStartTimeMs() + { + return $this->reportDataStartTimeMs; + } + public function setSchedule(Google_Service_DoubleClickBidManager_QuerySchedule $schedule) + { + $this->schedule = $schedule; + } + public function getSchedule() + { + return $this->schedule; + } + public function setTimezoneCode($timezoneCode) + { + $this->timezoneCode = $timezoneCode; + } + public function getTimezoneCode() + { + return $this->timezoneCode; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/DoubleClickBidManager/QueryMetadata.php b/vendor/google/apiclient-services/src/Google/Service/DoubleClickBidManager/QueryMetadata.php new file mode 100644 index 00000000..5409a6b9 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/DoubleClickBidManager/QueryMetadata.php @@ -0,0 +1,121 @@ +dataRange = $dataRange; + } + public function getDataRange() + { + return $this->dataRange; + } + public function setFormat($format) + { + $this->format = $format; + } + public function getFormat() + { + return $this->format; + } + public function setGoogleCloudStoragePathForLatestReport($googleCloudStoragePathForLatestReport) + { + $this->googleCloudStoragePathForLatestReport = $googleCloudStoragePathForLatestReport; + } + public function getGoogleCloudStoragePathForLatestReport() + { + return $this->googleCloudStoragePathForLatestReport; + } + public function setGoogleDrivePathForLatestReport($googleDrivePathForLatestReport) + { + $this->googleDrivePathForLatestReport = $googleDrivePathForLatestReport; + } + public function getGoogleDrivePathForLatestReport() + { + return $this->googleDrivePathForLatestReport; + } + public function setLatestReportRunTimeMs($latestReportRunTimeMs) + { + $this->latestReportRunTimeMs = $latestReportRunTimeMs; + } + public function getLatestReportRunTimeMs() + { + return $this->latestReportRunTimeMs; + } + public function setLocale($locale) + { + $this->locale = $locale; + } + public function getLocale() + { + return $this->locale; + } + public function setReportCount($reportCount) + { + $this->reportCount = $reportCount; + } + public function getReportCount() + { + return $this->reportCount; + } + public function setRunning($running) + { + $this->running = $running; + } + public function getRunning() + { + return $this->running; + } + public function setSendNotification($sendNotification) + { + $this->sendNotification = $sendNotification; + } + public function getSendNotification() + { + return $this->sendNotification; + } + public function setShareEmailAddress($shareEmailAddress) + { + $this->shareEmailAddress = $shareEmailAddress; + } + public function getShareEmailAddress() + { + return $this->shareEmailAddress; + } + public function setTitle($title) + { + $this->title = $title; + } + public function getTitle() + { + return $this->title; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/DoubleClickBidManager/QuerySchedule.php b/vendor/google/apiclient-services/src/Google/Service/DoubleClickBidManager/QuerySchedule.php new file mode 100644 index 00000000..47268685 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/DoubleClickBidManager/QuerySchedule.php @@ -0,0 +1,57 @@ +endTimeMs = $endTimeMs; + } + public function getEndTimeMs() + { + return $this->endTimeMs; + } + public function setFrequency($frequency) + { + $this->frequency = $frequency; + } + public function getFrequency() + { + return $this->frequency; + } + public function setNextRunMinuteOfDay($nextRunMinuteOfDay) + { + $this->nextRunMinuteOfDay = $nextRunMinuteOfDay; + } + public function getNextRunMinuteOfDay() + { + return $this->nextRunMinuteOfDay; + } + public function setNextRunTimezoneCode($nextRunTimezoneCode) + { + $this->nextRunTimezoneCode = $nextRunTimezoneCode; + } + public function getNextRunTimezoneCode() + { + return $this->nextRunTimezoneCode; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/DoubleClickBidManager/Report.php b/vendor/google/apiclient-services/src/Google/Service/DoubleClickBidManager/Report.php new file mode 100644 index 00000000..1a146db4 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/DoubleClickBidManager/Report.php @@ -0,0 +1,51 @@ +key = $key; + } + public function getKey() + { + return $this->key; + } + public function setMetadata(Google_Service_DoubleClickBidManager_ReportMetadata $metadata) + { + $this->metadata = $metadata; + } + public function getMetadata() + { + return $this->metadata; + } + public function setParams(Google_Service_DoubleClickBidManager_Parameters $params) + { + $this->params = $params; + } + public function getParams() + { + return $this->params; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/DoubleClickBidManager/ReportFailure.php b/vendor/google/apiclient-services/src/Google/Service/DoubleClickBidManager/ReportFailure.php new file mode 100644 index 00000000..99be54fd --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/DoubleClickBidManager/ReportFailure.php @@ -0,0 +1,30 @@ +errorCode = $errorCode; + } + public function getErrorCode() + { + return $this->errorCode; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/DoubleClickBidManager/ReportKey.php b/vendor/google/apiclient-services/src/Google/Service/DoubleClickBidManager/ReportKey.php new file mode 100644 index 00000000..7c1f30dc --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/DoubleClickBidManager/ReportKey.php @@ -0,0 +1,39 @@ +queryId = $queryId; + } + public function getQueryId() + { + return $this->queryId; + } + public function setReportId($reportId) + { + $this->reportId = $reportId; + } + public function getReportId() + { + return $this->reportId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/DoubleClickBidManager/ReportMetadata.php b/vendor/google/apiclient-services/src/Google/Service/DoubleClickBidManager/ReportMetadata.php new file mode 100644 index 00000000..8f4d9342 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/DoubleClickBidManager/ReportMetadata.php @@ -0,0 +1,58 @@ +googleCloudStoragePath = $googleCloudStoragePath; + } + public function getGoogleCloudStoragePath() + { + return $this->googleCloudStoragePath; + } + public function setReportDataEndTimeMs($reportDataEndTimeMs) + { + $this->reportDataEndTimeMs = $reportDataEndTimeMs; + } + public function getReportDataEndTimeMs() + { + return $this->reportDataEndTimeMs; + } + public function setReportDataStartTimeMs($reportDataStartTimeMs) + { + $this->reportDataStartTimeMs = $reportDataStartTimeMs; + } + public function getReportDataStartTimeMs() + { + return $this->reportDataStartTimeMs; + } + public function setStatus(Google_Service_DoubleClickBidManager_ReportStatus $status) + { + $this->status = $status; + } + public function getStatus() + { + return $this->status; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/DoubleClickBidManager/ReportStatus.php b/vendor/google/apiclient-services/src/Google/Service/DoubleClickBidManager/ReportStatus.php new file mode 100644 index 00000000..83f35473 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/DoubleClickBidManager/ReportStatus.php @@ -0,0 +1,58 @@ +failure = $failure; + } + public function getFailure() + { + return $this->failure; + } + public function setFinishTimeMs($finishTimeMs) + { + $this->finishTimeMs = $finishTimeMs; + } + public function getFinishTimeMs() + { + return $this->finishTimeMs; + } + public function setFormat($format) + { + $this->format = $format; + } + public function getFormat() + { + return $this->format; + } + public function setState($state) + { + $this->state = $state; + } + public function getState() + { + return $this->state; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/DoubleClickBidManager/Resource/Lineitems.php b/vendor/google/apiclient-services/src/Google/Service/DoubleClickBidManager/Resource/Lineitems.php new file mode 100644 index 00000000..4dc8fe19 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/DoubleClickBidManager/Resource/Lineitems.php @@ -0,0 +1,54 @@ + + * $doubleclickbidmanagerService = new Google_Service_DoubleClickBidManager(...); + * $lineitems = $doubleclickbidmanagerService->lineitems; + * + */ +class Google_Service_DoubleClickBidManager_Resource_Lineitems extends Google_Service_Resource +{ + /** + * Retrieves line items in CSV format. (lineitems.downloadlineitems) + * + * @param Google_Service_DoubleClickBidManager_DownloadLineItemsRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_DoubleClickBidManager_DownloadLineItemsResponse + */ + public function downloadlineitems(Google_Service_DoubleClickBidManager_DownloadLineItemsRequest $postBody, $optParams = array()) + { + $params = array('postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('downloadlineitems', array($params), "Google_Service_DoubleClickBidManager_DownloadLineItemsResponse"); + } + /** + * Uploads line items in CSV format. (lineitems.uploadlineitems) + * + * @param Google_Service_DoubleClickBidManager_UploadLineItemsRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_DoubleClickBidManager_UploadLineItemsResponse + */ + public function uploadlineitems(Google_Service_DoubleClickBidManager_UploadLineItemsRequest $postBody, $optParams = array()) + { + $params = array('postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('uploadlineitems', array($params), "Google_Service_DoubleClickBidManager_UploadLineItemsResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/DoubleClickBidManager/Resource/Queries.php b/vendor/google/apiclient-services/src/Google/Service/DoubleClickBidManager/Resource/Queries.php new file mode 100644 index 00000000..86e13458 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/DoubleClickBidManager/Resource/Queries.php @@ -0,0 +1,92 @@ + + * $doubleclickbidmanagerService = new Google_Service_DoubleClickBidManager(...); + * $queries = $doubleclickbidmanagerService->queries; + * + */ +class Google_Service_DoubleClickBidManager_Resource_Queries extends Google_Service_Resource +{ + /** + * Creates a query. (queries.createquery) + * + * @param Google_Service_DoubleClickBidManager_Query $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_DoubleClickBidManager_Query + */ + public function createquery(Google_Service_DoubleClickBidManager_Query $postBody, $optParams = array()) + { + $params = array('postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('createquery', array($params), "Google_Service_DoubleClickBidManager_Query"); + } + /** + * Deletes a stored query as well as the associated stored reports. + * (queries.deletequery) + * + * @param string $queryId Query ID to delete. + * @param array $optParams Optional parameters. + */ + public function deletequery($queryId, $optParams = array()) + { + $params = array('queryId' => $queryId); + $params = array_merge($params, $optParams); + return $this->call('deletequery', array($params)); + } + /** + * Retrieves a stored query. (queries.getquery) + * + * @param string $queryId Query ID to retrieve. + * @param array $optParams Optional parameters. + * @return Google_Service_DoubleClickBidManager_Query + */ + public function getquery($queryId, $optParams = array()) + { + $params = array('queryId' => $queryId); + $params = array_merge($params, $optParams); + return $this->call('getquery', array($params), "Google_Service_DoubleClickBidManager_Query"); + } + /** + * Retrieves stored queries. (queries.listqueries) + * + * @param array $optParams Optional parameters. + * @return Google_Service_DoubleClickBidManager_ListQueriesResponse + */ + public function listqueries($optParams = array()) + { + $params = array(); + $params = array_merge($params, $optParams); + return $this->call('listqueries', array($params), "Google_Service_DoubleClickBidManager_ListQueriesResponse"); + } + /** + * Runs a stored query to generate a report. (queries.runquery) + * + * @param string $queryId Query ID to run. + * @param Google_Service_DoubleClickBidManager_RunQueryRequest $postBody + * @param array $optParams Optional parameters. + */ + public function runquery($queryId, Google_Service_DoubleClickBidManager_RunQueryRequest $postBody, $optParams = array()) + { + $params = array('queryId' => $queryId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('runquery', array($params)); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/DoubleClickBidManager/Resource/Reports.php b/vendor/google/apiclient-services/src/Google/Service/DoubleClickBidManager/Resource/Reports.php new file mode 100644 index 00000000..a6e3e956 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/DoubleClickBidManager/Resource/Reports.php @@ -0,0 +1,41 @@ + + * $doubleclickbidmanagerService = new Google_Service_DoubleClickBidManager(...); + * $reports = $doubleclickbidmanagerService->reports; + * + */ +class Google_Service_DoubleClickBidManager_Resource_Reports extends Google_Service_Resource +{ + /** + * Retrieves stored reports. (reports.listreports) + * + * @param string $queryId Query ID with which the reports are associated. + * @param array $optParams Optional parameters. + * @return Google_Service_DoubleClickBidManager_ListReportsResponse + */ + public function listreports($queryId, $optParams = array()) + { + $params = array('queryId' => $queryId); + $params = array_merge($params, $optParams); + return $this->call('listreports', array($params), "Google_Service_DoubleClickBidManager_ListReportsResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/DoubleClickBidManager/Resource/Rubicon.php b/vendor/google/apiclient-services/src/Google/Service/DoubleClickBidManager/Resource/Rubicon.php new file mode 100644 index 00000000..e45fe907 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/DoubleClickBidManager/Resource/Rubicon.php @@ -0,0 +1,41 @@ + + * $doubleclickbidmanagerService = new Google_Service_DoubleClickBidManager(...); + * $rubicon = $doubleclickbidmanagerService->rubicon; + * + */ +class Google_Service_DoubleClickBidManager_Resource_Rubicon extends Google_Service_Resource +{ + /** + * Update proposal upon actions of Rubicon publisher. + * (rubicon.notifyproposalchange) + * + * @param Google_Service_DoubleClickBidManager_NotifyProposalChangeRequest $postBody + * @param array $optParams Optional parameters. + */ + public function notifyproposalchange(Google_Service_DoubleClickBidManager_NotifyProposalChangeRequest $postBody, $optParams = array()) + { + $params = array('postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('notifyproposalchange', array($params)); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/DoubleClickBidManager/Resource/Sdf.php b/vendor/google/apiclient-services/src/Google/Service/DoubleClickBidManager/Resource/Sdf.php new file mode 100644 index 00000000..c94ee4a6 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/DoubleClickBidManager/Resource/Sdf.php @@ -0,0 +1,41 @@ + + * $doubleclickbidmanagerService = new Google_Service_DoubleClickBidManager(...); + * $sdf = $doubleclickbidmanagerService->sdf; + * + */ +class Google_Service_DoubleClickBidManager_Resource_Sdf extends Google_Service_Resource +{ + /** + * Retrieves entities in SDF format. (sdf.download) + * + * @param Google_Service_DoubleClickBidManager_DownloadRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_DoubleClickBidManager_DownloadResponse + */ + public function download(Google_Service_DoubleClickBidManager_DownloadRequest $postBody, $optParams = array()) + { + $params = array('postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('download', array($params), "Google_Service_DoubleClickBidManager_DownloadResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/DoubleClickBidManager/RowStatus.php b/vendor/google/apiclient-services/src/Google/Service/DoubleClickBidManager/RowStatus.php new file mode 100644 index 00000000..5644fe13 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/DoubleClickBidManager/RowStatus.php @@ -0,0 +1,76 @@ +changed = $changed; + } + public function getChanged() + { + return $this->changed; + } + public function setEntityId($entityId) + { + $this->entityId = $entityId; + } + public function getEntityId() + { + return $this->entityId; + } + public function setEntityName($entityName) + { + $this->entityName = $entityName; + } + public function getEntityName() + { + return $this->entityName; + } + public function setErrors($errors) + { + $this->errors = $errors; + } + public function getErrors() + { + return $this->errors; + } + public function setPersisted($persisted) + { + $this->persisted = $persisted; + } + public function getPersisted() + { + return $this->persisted; + } + public function setRowNumber($rowNumber) + { + $this->rowNumber = $rowNumber; + } + public function getRowNumber() + { + return $this->rowNumber; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/DoubleClickBidManager/RunQueryRequest.php b/vendor/google/apiclient-services/src/Google/Service/DoubleClickBidManager/RunQueryRequest.php new file mode 100644 index 00000000..3345b965 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/DoubleClickBidManager/RunQueryRequest.php @@ -0,0 +1,57 @@ +dataRange = $dataRange; + } + public function getDataRange() + { + return $this->dataRange; + } + public function setReportDataEndTimeMs($reportDataEndTimeMs) + { + $this->reportDataEndTimeMs = $reportDataEndTimeMs; + } + public function getReportDataEndTimeMs() + { + return $this->reportDataEndTimeMs; + } + public function setReportDataStartTimeMs($reportDataStartTimeMs) + { + $this->reportDataStartTimeMs = $reportDataStartTimeMs; + } + public function getReportDataStartTimeMs() + { + return $this->reportDataStartTimeMs; + } + public function setTimezoneCode($timezoneCode) + { + $this->timezoneCode = $timezoneCode; + } + public function getTimezoneCode() + { + return $this->timezoneCode; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/DoubleClickBidManager/UploadLineItemsRequest.php b/vendor/google/apiclient-services/src/Google/Service/DoubleClickBidManager/UploadLineItemsRequest.php new file mode 100644 index 00000000..bc26187c --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/DoubleClickBidManager/UploadLineItemsRequest.php @@ -0,0 +1,48 @@ +dryRun = $dryRun; + } + public function getDryRun() + { + return $this->dryRun; + } + public function setFormat($format) + { + $this->format = $format; + } + public function getFormat() + { + return $this->format; + } + public function setLineItems($lineItems) + { + $this->lineItems = $lineItems; + } + public function getLineItems() + { + return $this->lineItems; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/DoubleClickBidManager/UploadLineItemsResponse.php b/vendor/google/apiclient-services/src/Google/Service/DoubleClickBidManager/UploadLineItemsResponse.php new file mode 100644 index 00000000..ec9dc789 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/DoubleClickBidManager/UploadLineItemsResponse.php @@ -0,0 +1,31 @@ +uploadStatus = $uploadStatus; + } + public function getUploadStatus() + { + return $this->uploadStatus; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/DoubleClickBidManager/UploadStatus.php b/vendor/google/apiclient-services/src/Google/Service/DoubleClickBidManager/UploadStatus.php new file mode 100644 index 00000000..258519c9 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/DoubleClickBidManager/UploadStatus.php @@ -0,0 +1,41 @@ +errors = $errors; + } + public function getErrors() + { + return $this->errors; + } + public function setRowStatus($rowStatus) + { + $this->rowStatus = $rowStatus; + } + public function getRowStatus() + { + return $this->rowStatus; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Doubleclicksearch.php b/vendor/google/apiclient-services/src/Google/Service/Doubleclicksearch.php new file mode 100644 index 00000000..6df519f3 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Doubleclicksearch.php @@ -0,0 +1,242 @@ + + * Reports and modifies your advertising data in DoubleClick Search (for + * example, campaigns, ad groups, keywords, and conversions).

+ * + *

+ * For more information about this service, see the API + * Documentation + *

+ * + * @author Google, Inc. + */ +class Google_Service_Doubleclicksearch extends Google_Service +{ + /** View and manage your advertising data in DoubleClick Search. */ + const DOUBLECLICKSEARCH = + "https://www.googleapis.com/auth/doubleclicksearch"; + + public $conversion; + public $reports; + public $savedColumns; + + /** + * Constructs the internal representation of the Doubleclicksearch service. + * + * @param Google_Client $client + */ + public function __construct(Google_Client $client) + { + parent::__construct($client); + $this->rootUrl = 'https://www.googleapis.com/'; + $this->servicePath = 'doubleclicksearch/v2/'; + $this->version = 'v2'; + $this->serviceName = 'doubleclicksearch'; + + $this->conversion = new Google_Service_Doubleclicksearch_Resource_Conversion( + $this, + $this->serviceName, + 'conversion', + array( + 'methods' => array( + 'get' => array( + 'path' => 'agency/{agencyId}/advertiser/{advertiserId}/engine/{engineAccountId}/conversion', + 'httpMethod' => 'GET', + 'parameters' => array( + 'agencyId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'advertiserId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'engineAccountId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'endDate' => array( + 'location' => 'query', + 'type' => 'integer', + 'required' => true, + ), + 'rowCount' => array( + 'location' => 'query', + 'type' => 'integer', + 'required' => true, + ), + 'startDate' => array( + 'location' => 'query', + 'type' => 'integer', + 'required' => true, + ), + 'startRow' => array( + 'location' => 'query', + 'type' => 'integer', + 'required' => true, + ), + 'adGroupId' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'adId' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'campaignId' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'criterionId' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'insert' => array( + 'path' => 'conversion', + 'httpMethod' => 'POST', + 'parameters' => array(), + ),'patch' => array( + 'path' => 'conversion', + 'httpMethod' => 'PATCH', + 'parameters' => array( + 'advertiserId' => array( + 'location' => 'query', + 'type' => 'string', + 'required' => true, + ), + 'agencyId' => array( + 'location' => 'query', + 'type' => 'string', + 'required' => true, + ), + 'endDate' => array( + 'location' => 'query', + 'type' => 'integer', + 'required' => true, + ), + 'engineAccountId' => array( + 'location' => 'query', + 'type' => 'string', + 'required' => true, + ), + 'rowCount' => array( + 'location' => 'query', + 'type' => 'integer', + 'required' => true, + ), + 'startDate' => array( + 'location' => 'query', + 'type' => 'integer', + 'required' => true, + ), + 'startRow' => array( + 'location' => 'query', + 'type' => 'integer', + 'required' => true, + ), + ), + ),'update' => array( + 'path' => 'conversion', + 'httpMethod' => 'PUT', + 'parameters' => array(), + ),'updateAvailability' => array( + 'path' => 'conversion/updateAvailability', + 'httpMethod' => 'POST', + 'parameters' => array(), + ), + ) + ) + ); + $this->reports = new Google_Service_Doubleclicksearch_Resource_Reports( + $this, + $this->serviceName, + 'reports', + array( + 'methods' => array( + 'generate' => array( + 'path' => 'reports/generate', + 'httpMethod' => 'POST', + 'parameters' => array(), + ),'get' => array( + 'path' => 'reports/{reportId}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'reportId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'getFile' => array( + 'path' => 'reports/{reportId}/files/{reportFragment}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'reportId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'reportFragment' => array( + 'location' => 'path', + 'type' => 'integer', + 'required' => true, + ), + ), + ),'request' => array( + 'path' => 'reports', + 'httpMethod' => 'POST', + 'parameters' => array(), + ), + ) + ) + ); + $this->savedColumns = new Google_Service_Doubleclicksearch_Resource_SavedColumns( + $this, + $this->serviceName, + 'savedColumns', + array( + 'methods' => array( + 'list' => array( + 'path' => 'agency/{agencyId}/advertiser/{advertiserId}/savedcolumns', + 'httpMethod' => 'GET', + 'parameters' => array( + 'agencyId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'advertiserId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Doubleclicksearch/Availability.php b/vendor/google/apiclient-services/src/Google/Service/Doubleclicksearch/Availability.php new file mode 100644 index 00000000..9487d037 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Doubleclicksearch/Availability.php @@ -0,0 +1,75 @@ +advertiserId = $advertiserId; + } + public function getAdvertiserId() + { + return $this->advertiserId; + } + public function setAgencyId($agencyId) + { + $this->agencyId = $agencyId; + } + public function getAgencyId() + { + return $this->agencyId; + } + public function setAvailabilityTimestamp($availabilityTimestamp) + { + $this->availabilityTimestamp = $availabilityTimestamp; + } + public function getAvailabilityTimestamp() + { + return $this->availabilityTimestamp; + } + public function setSegmentationId($segmentationId) + { + $this->segmentationId = $segmentationId; + } + public function getSegmentationId() + { + return $this->segmentationId; + } + public function setSegmentationName($segmentationName) + { + $this->segmentationName = $segmentationName; + } + public function getSegmentationName() + { + return $this->segmentationName; + } + public function setSegmentationType($segmentationType) + { + $this->segmentationType = $segmentationType; + } + public function getSegmentationType() + { + return $this->segmentationType; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Doubleclicksearch/Conversion.php b/vendor/google/apiclient-services/src/Google/Service/Doubleclicksearch/Conversion.php new file mode 100644 index 00000000..8ea6e5b5 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Doubleclicksearch/Conversion.php @@ -0,0 +1,321 @@ +adGroupId = $adGroupId; + } + public function getAdGroupId() + { + return $this->adGroupId; + } + public function setAdId($adId) + { + $this->adId = $adId; + } + public function getAdId() + { + return $this->adId; + } + public function setAdvertiserId($advertiserId) + { + $this->advertiserId = $advertiserId; + } + public function getAdvertiserId() + { + return $this->advertiserId; + } + public function setAgencyId($agencyId) + { + $this->agencyId = $agencyId; + } + public function getAgencyId() + { + return $this->agencyId; + } + public function setAttributionModel($attributionModel) + { + $this->attributionModel = $attributionModel; + } + public function getAttributionModel() + { + return $this->attributionModel; + } + public function setCampaignId($campaignId) + { + $this->campaignId = $campaignId; + } + public function getCampaignId() + { + return $this->campaignId; + } + public function setChannel($channel) + { + $this->channel = $channel; + } + public function getChannel() + { + return $this->channel; + } + public function setClickId($clickId) + { + $this->clickId = $clickId; + } + public function getClickId() + { + return $this->clickId; + } + public function setConversionId($conversionId) + { + $this->conversionId = $conversionId; + } + public function getConversionId() + { + return $this->conversionId; + } + public function setConversionModifiedTimestamp($conversionModifiedTimestamp) + { + $this->conversionModifiedTimestamp = $conversionModifiedTimestamp; + } + public function getConversionModifiedTimestamp() + { + return $this->conversionModifiedTimestamp; + } + public function setConversionTimestamp($conversionTimestamp) + { + $this->conversionTimestamp = $conversionTimestamp; + } + public function getConversionTimestamp() + { + return $this->conversionTimestamp; + } + public function setCountMillis($countMillis) + { + $this->countMillis = $countMillis; + } + public function getCountMillis() + { + return $this->countMillis; + } + public function setCriterionId($criterionId) + { + $this->criterionId = $criterionId; + } + public function getCriterionId() + { + return $this->criterionId; + } + public function setCurrencyCode($currencyCode) + { + $this->currencyCode = $currencyCode; + } + public function getCurrencyCode() + { + return $this->currencyCode; + } + public function setCustomDimension($customDimension) + { + $this->customDimension = $customDimension; + } + public function getCustomDimension() + { + return $this->customDimension; + } + public function setCustomMetric($customMetric) + { + $this->customMetric = $customMetric; + } + public function getCustomMetric() + { + return $this->customMetric; + } + public function setDeviceType($deviceType) + { + $this->deviceType = $deviceType; + } + public function getDeviceType() + { + return $this->deviceType; + } + public function setDsConversionId($dsConversionId) + { + $this->dsConversionId = $dsConversionId; + } + public function getDsConversionId() + { + return $this->dsConversionId; + } + public function setEngineAccountId($engineAccountId) + { + $this->engineAccountId = $engineAccountId; + } + public function getEngineAccountId() + { + return $this->engineAccountId; + } + public function setFloodlightOrderId($floodlightOrderId) + { + $this->floodlightOrderId = $floodlightOrderId; + } + public function getFloodlightOrderId() + { + return $this->floodlightOrderId; + } + public function setInventoryAccountId($inventoryAccountId) + { + $this->inventoryAccountId = $inventoryAccountId; + } + public function getInventoryAccountId() + { + return $this->inventoryAccountId; + } + public function setProductCountry($productCountry) + { + $this->productCountry = $productCountry; + } + public function getProductCountry() + { + return $this->productCountry; + } + public function setProductGroupId($productGroupId) + { + $this->productGroupId = $productGroupId; + } + public function getProductGroupId() + { + return $this->productGroupId; + } + public function setProductId($productId) + { + $this->productId = $productId; + } + public function getProductId() + { + return $this->productId; + } + public function setProductLanguage($productLanguage) + { + $this->productLanguage = $productLanguage; + } + public function getProductLanguage() + { + return $this->productLanguage; + } + public function setQuantityMillis($quantityMillis) + { + $this->quantityMillis = $quantityMillis; + } + public function getQuantityMillis() + { + return $this->quantityMillis; + } + public function setRevenueMicros($revenueMicros) + { + $this->revenueMicros = $revenueMicros; + } + public function getRevenueMicros() + { + return $this->revenueMicros; + } + public function setSegmentationId($segmentationId) + { + $this->segmentationId = $segmentationId; + } + public function getSegmentationId() + { + return $this->segmentationId; + } + public function setSegmentationName($segmentationName) + { + $this->segmentationName = $segmentationName; + } + public function getSegmentationName() + { + return $this->segmentationName; + } + public function setSegmentationType($segmentationType) + { + $this->segmentationType = $segmentationType; + } + public function getSegmentationType() + { + return $this->segmentationType; + } + public function setState($state) + { + $this->state = $state; + } + public function getState() + { + return $this->state; + } + public function setStoreId($storeId) + { + $this->storeId = $storeId; + } + public function getStoreId() + { + return $this->storeId; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Doubleclicksearch/ConversionList.php b/vendor/google/apiclient-services/src/Google/Service/Doubleclicksearch/ConversionList.php new file mode 100644 index 00000000..14ec937d --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Doubleclicksearch/ConversionList.php @@ -0,0 +1,41 @@ +conversion = $conversion; + } + public function getConversion() + { + return $this->conversion; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Doubleclicksearch/CustomDimension.php b/vendor/google/apiclient-services/src/Google/Service/Doubleclicksearch/CustomDimension.php new file mode 100644 index 00000000..2df84411 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Doubleclicksearch/CustomDimension.php @@ -0,0 +1,39 @@ +name = $name; + } + public function getName() + { + return $this->name; + } + public function setValue($value) + { + $this->value = $value; + } + public function getValue() + { + return $this->value; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Doubleclicksearch/CustomMetric.php b/vendor/google/apiclient-services/src/Google/Service/Doubleclicksearch/CustomMetric.php new file mode 100644 index 00000000..3f499106 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Doubleclicksearch/CustomMetric.php @@ -0,0 +1,39 @@ +name = $name; + } + public function getName() + { + return $this->name; + } + public function setValue($value) + { + $this->value = $value; + } + public function getValue() + { + return $this->value; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Doubleclicksearch/Report.php b/vendor/google/apiclient-services/src/Google/Service/Doubleclicksearch/Report.php new file mode 100644 index 00000000..1b696dab --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Doubleclicksearch/Report.php @@ -0,0 +1,105 @@ +files = $files; + } + public function getFiles() + { + return $this->files; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setIsReportReady($isReportReady) + { + $this->isReportReady = $isReportReady; + } + public function getIsReportReady() + { + return $this->isReportReady; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setRequest(Google_Service_Doubleclicksearch_ReportRequest $request) + { + $this->request = $request; + } + public function getRequest() + { + return $this->request; + } + public function setRowCount($rowCount) + { + $this->rowCount = $rowCount; + } + public function getRowCount() + { + return $this->rowCount; + } + public function setRows($rows) + { + $this->rows = $rows; + } + public function getRows() + { + return $this->rows; + } + public function setStatisticsCurrencyCode($statisticsCurrencyCode) + { + $this->statisticsCurrencyCode = $statisticsCurrencyCode; + } + public function getStatisticsCurrencyCode() + { + return $this->statisticsCurrencyCode; + } + public function setStatisticsTimeZone($statisticsTimeZone) + { + $this->statisticsTimeZone = $statisticsTimeZone; + } + public function getStatisticsTimeZone() + { + return $this->statisticsTimeZone; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Doubleclicksearch/ReportApiColumnSpec.php b/vendor/google/apiclient-services/src/Google/Service/Doubleclicksearch/ReportApiColumnSpec.php new file mode 100644 index 00000000..c4a3a4b1 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Doubleclicksearch/ReportApiColumnSpec.php @@ -0,0 +1,111 @@ +columnName = $columnName; + } + public function getColumnName() + { + return $this->columnName; + } + public function setCustomDimensionName($customDimensionName) + { + $this->customDimensionName = $customDimensionName; + } + public function getCustomDimensionName() + { + return $this->customDimensionName; + } + public function setCustomMetricName($customMetricName) + { + $this->customMetricName = $customMetricName; + } + public function getCustomMetricName() + { + return $this->customMetricName; + } + public function setEndDate($endDate) + { + $this->endDate = $endDate; + } + public function getEndDate() + { + return $this->endDate; + } + public function setGroupByColumn($groupByColumn) + { + $this->groupByColumn = $groupByColumn; + } + public function getGroupByColumn() + { + return $this->groupByColumn; + } + public function setHeaderText($headerText) + { + $this->headerText = $headerText; + } + public function getHeaderText() + { + return $this->headerText; + } + public function setPlatformSource($platformSource) + { + $this->platformSource = $platformSource; + } + public function getPlatformSource() + { + return $this->platformSource; + } + public function setProductReportPerspective($productReportPerspective) + { + $this->productReportPerspective = $productReportPerspective; + } + public function getProductReportPerspective() + { + return $this->productReportPerspective; + } + public function setSavedColumnName($savedColumnName) + { + $this->savedColumnName = $savedColumnName; + } + public function getSavedColumnName() + { + return $this->savedColumnName; + } + public function setStartDate($startDate) + { + $this->startDate = $startDate; + } + public function getStartDate() + { + return $this->startDate; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Doubleclicksearch/ReportFiles.php b/vendor/google/apiclient-services/src/Google/Service/Doubleclicksearch/ReportFiles.php new file mode 100644 index 00000000..e0a0aaa6 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Doubleclicksearch/ReportFiles.php @@ -0,0 +1,39 @@ +byteCount = $byteCount; + } + public function getByteCount() + { + return $this->byteCount; + } + public function setUrl($url) + { + $this->url = $url; + } + public function getUrl() + { + return $this->url; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Doubleclicksearch/ReportRequest.php b/vendor/google/apiclient-services/src/Google/Service/Doubleclicksearch/ReportRequest.php new file mode 100644 index 00000000..8fb74a78 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Doubleclicksearch/ReportRequest.php @@ -0,0 +1,153 @@ +columns = $columns; + } + public function getColumns() + { + return $this->columns; + } + public function setDownloadFormat($downloadFormat) + { + $this->downloadFormat = $downloadFormat; + } + public function getDownloadFormat() + { + return $this->downloadFormat; + } + public function setFilters($filters) + { + $this->filters = $filters; + } + public function getFilters() + { + return $this->filters; + } + public function setIncludeDeletedEntities($includeDeletedEntities) + { + $this->includeDeletedEntities = $includeDeletedEntities; + } + public function getIncludeDeletedEntities() + { + return $this->includeDeletedEntities; + } + public function setIncludeRemovedEntities($includeRemovedEntities) + { + $this->includeRemovedEntities = $includeRemovedEntities; + } + public function getIncludeRemovedEntities() + { + return $this->includeRemovedEntities; + } + public function setMaxRowsPerFile($maxRowsPerFile) + { + $this->maxRowsPerFile = $maxRowsPerFile; + } + public function getMaxRowsPerFile() + { + return $this->maxRowsPerFile; + } + public function setOrderBy($orderBy) + { + $this->orderBy = $orderBy; + } + public function getOrderBy() + { + return $this->orderBy; + } + public function setReportScope(Google_Service_Doubleclicksearch_ReportRequestReportScope $reportScope) + { + $this->reportScope = $reportScope; + } + public function getReportScope() + { + return $this->reportScope; + } + public function setReportType($reportType) + { + $this->reportType = $reportType; + } + public function getReportType() + { + return $this->reportType; + } + public function setRowCount($rowCount) + { + $this->rowCount = $rowCount; + } + public function getRowCount() + { + return $this->rowCount; + } + public function setStartRow($startRow) + { + $this->startRow = $startRow; + } + public function getStartRow() + { + return $this->startRow; + } + public function setStatisticsCurrency($statisticsCurrency) + { + $this->statisticsCurrency = $statisticsCurrency; + } + public function getStatisticsCurrency() + { + return $this->statisticsCurrency; + } + public function setTimeRange(Google_Service_Doubleclicksearch_ReportRequestTimeRange $timeRange) + { + $this->timeRange = $timeRange; + } + public function getTimeRange() + { + return $this->timeRange; + } + public function setVerifySingleTimeZone($verifySingleTimeZone) + { + $this->verifySingleTimeZone = $verifySingleTimeZone; + } + public function getVerifySingleTimeZone() + { + return $this->verifySingleTimeZone; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Doubleclicksearch/ReportRequestFilters.php b/vendor/google/apiclient-services/src/Google/Service/Doubleclicksearch/ReportRequestFilters.php new file mode 100644 index 00000000..b3329743 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Doubleclicksearch/ReportRequestFilters.php @@ -0,0 +1,50 @@ +column = $column; + } + public function getColumn() + { + return $this->column; + } + public function setOperator($operator) + { + $this->operator = $operator; + } + public function getOperator() + { + return $this->operator; + } + public function setValues($values) + { + $this->values = $values; + } + public function getValues() + { + return $this->values; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Doubleclicksearch/ReportRequestOrderBy.php b/vendor/google/apiclient-services/src/Google/Service/Doubleclicksearch/ReportRequestOrderBy.php new file mode 100644 index 00000000..c2967c6c --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Doubleclicksearch/ReportRequestOrderBy.php @@ -0,0 +1,40 @@ +column = $column; + } + public function getColumn() + { + return $this->column; + } + public function setSortOrder($sortOrder) + { + $this->sortOrder = $sortOrder; + } + public function getSortOrder() + { + return $this->sortOrder; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Doubleclicksearch/ReportRequestReportScope.php b/vendor/google/apiclient-services/src/Google/Service/Doubleclicksearch/ReportRequestReportScope.php new file mode 100644 index 00000000..2323f7a6 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Doubleclicksearch/ReportRequestReportScope.php @@ -0,0 +1,84 @@ +adGroupId = $adGroupId; + } + public function getAdGroupId() + { + return $this->adGroupId; + } + public function setAdId($adId) + { + $this->adId = $adId; + } + public function getAdId() + { + return $this->adId; + } + public function setAdvertiserId($advertiserId) + { + $this->advertiserId = $advertiserId; + } + public function getAdvertiserId() + { + return $this->advertiserId; + } + public function setAgencyId($agencyId) + { + $this->agencyId = $agencyId; + } + public function getAgencyId() + { + return $this->agencyId; + } + public function setCampaignId($campaignId) + { + $this->campaignId = $campaignId; + } + public function getCampaignId() + { + return $this->campaignId; + } + public function setEngineAccountId($engineAccountId) + { + $this->engineAccountId = $engineAccountId; + } + public function getEngineAccountId() + { + return $this->engineAccountId; + } + public function setKeywordId($keywordId) + { + $this->keywordId = $keywordId; + } + public function getKeywordId() + { + return $this->keywordId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Doubleclicksearch/ReportRequestTimeRange.php b/vendor/google/apiclient-services/src/Google/Service/Doubleclicksearch/ReportRequestTimeRange.php new file mode 100644 index 00000000..d8c6338e --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Doubleclicksearch/ReportRequestTimeRange.php @@ -0,0 +1,57 @@ +changedAttributesSinceTimestamp = $changedAttributesSinceTimestamp; + } + public function getChangedAttributesSinceTimestamp() + { + return $this->changedAttributesSinceTimestamp; + } + public function setChangedMetricsSinceTimestamp($changedMetricsSinceTimestamp) + { + $this->changedMetricsSinceTimestamp = $changedMetricsSinceTimestamp; + } + public function getChangedMetricsSinceTimestamp() + { + return $this->changedMetricsSinceTimestamp; + } + public function setEndDate($endDate) + { + $this->endDate = $endDate; + } + public function getEndDate() + { + return $this->endDate; + } + public function setStartDate($startDate) + { + $this->startDate = $startDate; + } + public function getStartDate() + { + return $this->startDate; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Doubleclicksearch/Resource/Conversion.php b/vendor/google/apiclient-services/src/Google/Service/Doubleclicksearch/Resource/Conversion.php new file mode 100644 index 00000000..b7d6342e --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Doubleclicksearch/Resource/Conversion.php @@ -0,0 +1,121 @@ + + * $doubleclicksearchService = new Google_Service_Doubleclicksearch(...); + * $conversion = $doubleclicksearchService->conversion; + * + */ +class Google_Service_Doubleclicksearch_Resource_Conversion extends Google_Service_Resource +{ + /** + * Retrieves a list of conversions from a DoubleClick Search engine account. + * (conversion.get) + * + * @param string $agencyId Numeric ID of the agency. + * @param string $advertiserId Numeric ID of the advertiser. + * @param string $engineAccountId Numeric ID of the engine account. + * @param int $endDate Last date (inclusive) on which to retrieve conversions. + * Format is yyyymmdd. + * @param int $rowCount The number of conversions to return per call. + * @param int $startDate First date (inclusive) on which to retrieve + * conversions. Format is yyyymmdd. + * @param string $startRow The 0-based starting index for retrieving conversions + * results. + * @param array $optParams Optional parameters. + * + * @opt_param string adGroupId Numeric ID of the ad group. + * @opt_param string adId Numeric ID of the ad. + * @opt_param string campaignId Numeric ID of the campaign. + * @opt_param string criterionId Numeric ID of the criterion. + * @return Google_Service_Doubleclicksearch_ConversionList + */ + public function get($agencyId, $advertiserId, $engineAccountId, $endDate, $rowCount, $startDate, $startRow, $optParams = array()) + { + $params = array('agencyId' => $agencyId, 'advertiserId' => $advertiserId, 'engineAccountId' => $engineAccountId, 'endDate' => $endDate, 'rowCount' => $rowCount, 'startDate' => $startDate, 'startRow' => $startRow); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Doubleclicksearch_ConversionList"); + } + /** + * Inserts a batch of new conversions into DoubleClick Search. + * (conversion.insert) + * + * @param Google_Service_Doubleclicksearch_ConversionList $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Doubleclicksearch_ConversionList + */ + public function insert(Google_Service_Doubleclicksearch_ConversionList $postBody, $optParams = array()) + { + $params = array('postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('insert', array($params), "Google_Service_Doubleclicksearch_ConversionList"); + } + /** + * Updates a batch of conversions in DoubleClick Search. This method supports + * patch semantics. (conversion.patch) + * + * @param string $advertiserId Numeric ID of the advertiser. + * @param string $agencyId Numeric ID of the agency. + * @param int $endDate Last date (inclusive) on which to retrieve conversions. + * Format is yyyymmdd. + * @param string $engineAccountId Numeric ID of the engine account. + * @param int $rowCount The number of conversions to return per call. + * @param int $startDate First date (inclusive) on which to retrieve + * conversions. Format is yyyymmdd. + * @param string $startRow The 0-based starting index for retrieving conversions + * results. + * @param Google_Service_Doubleclicksearch_ConversionList $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Doubleclicksearch_ConversionList + */ + public function patch($advertiserId, $agencyId, $endDate, $engineAccountId, $rowCount, $startDate, $startRow, Google_Service_Doubleclicksearch_ConversionList $postBody, $optParams = array()) + { + $params = array('advertiserId' => $advertiserId, 'agencyId' => $agencyId, 'endDate' => $endDate, 'engineAccountId' => $engineAccountId, 'rowCount' => $rowCount, 'startDate' => $startDate, 'startRow' => $startRow, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('patch', array($params), "Google_Service_Doubleclicksearch_ConversionList"); + } + /** + * Updates a batch of conversions in DoubleClick Search. (conversion.update) + * + * @param Google_Service_Doubleclicksearch_ConversionList $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Doubleclicksearch_ConversionList + */ + public function update(Google_Service_Doubleclicksearch_ConversionList $postBody, $optParams = array()) + { + $params = array('postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('update', array($params), "Google_Service_Doubleclicksearch_ConversionList"); + } + /** + * Updates the availabilities of a batch of floodlight activities in DoubleClick + * Search. (conversion.updateAvailability) + * + * @param Google_Service_Doubleclicksearch_UpdateAvailabilityRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Doubleclicksearch_UpdateAvailabilityResponse + */ + public function updateAvailability(Google_Service_Doubleclicksearch_UpdateAvailabilityRequest $postBody, $optParams = array()) + { + $params = array('postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('updateAvailability', array($params), "Google_Service_Doubleclicksearch_UpdateAvailabilityResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Doubleclicksearch/Resource/Reports.php b/vendor/google/apiclient-services/src/Google/Service/Doubleclicksearch/Resource/Reports.php new file mode 100644 index 00000000..51f76f13 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Doubleclicksearch/Resource/Reports.php @@ -0,0 +1,80 @@ + + * $doubleclicksearchService = new Google_Service_Doubleclicksearch(...); + * $reports = $doubleclicksearchService->reports; + * + */ +class Google_Service_Doubleclicksearch_Resource_Reports extends Google_Service_Resource +{ + /** + * Generates and returns a report immediately. (reports.generate) + * + * @param Google_Service_Doubleclicksearch_ReportRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Doubleclicksearch_Report + */ + public function generate(Google_Service_Doubleclicksearch_ReportRequest $postBody, $optParams = array()) + { + $params = array('postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('generate', array($params), "Google_Service_Doubleclicksearch_Report"); + } + /** + * Polls for the status of a report request. (reports.get) + * + * @param string $reportId ID of the report request being polled. + * @param array $optParams Optional parameters. + * @return Google_Service_Doubleclicksearch_Report + */ + public function get($reportId, $optParams = array()) + { + $params = array('reportId' => $reportId); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Doubleclicksearch_Report"); + } + /** + * Downloads a report file encoded in UTF-8. (reports.getFile) + * + * @param string $reportId ID of the report. + * @param int $reportFragment The index of the report fragment to download. + * @param array $optParams Optional parameters. + */ + public function getFile($reportId, $reportFragment, $optParams = array()) + { + $params = array('reportId' => $reportId, 'reportFragment' => $reportFragment); + $params = array_merge($params, $optParams); + return $this->call('getFile', array($params)); + } + /** + * Inserts a report request into the reporting system. (reports.request) + * + * @param Google_Service_Doubleclicksearch_ReportRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Doubleclicksearch_Report + */ + public function request(Google_Service_Doubleclicksearch_ReportRequest $postBody, $optParams = array()) + { + $params = array('postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('request', array($params), "Google_Service_Doubleclicksearch_Report"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Doubleclicksearch/Resource/SavedColumns.php b/vendor/google/apiclient-services/src/Google/Service/Doubleclicksearch/Resource/SavedColumns.php new file mode 100644 index 00000000..52783ab0 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Doubleclicksearch/Resource/SavedColumns.php @@ -0,0 +1,43 @@ + + * $doubleclicksearchService = new Google_Service_Doubleclicksearch(...); + * $savedColumns = $doubleclicksearchService->savedColumns; + * + */ +class Google_Service_Doubleclicksearch_Resource_SavedColumns extends Google_Service_Resource +{ + /** + * Retrieve the list of saved columns for a specified advertiser. + * (savedColumns.listSavedColumns) + * + * @param string $agencyId DS ID of the agency. + * @param string $advertiserId DS ID of the advertiser. + * @param array $optParams Optional parameters. + * @return Google_Service_Doubleclicksearch_SavedColumnList + */ + public function listSavedColumns($agencyId, $advertiserId, $optParams = array()) + { + $params = array('agencyId' => $agencyId, 'advertiserId' => $advertiserId); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Doubleclicksearch_SavedColumnList"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Doubleclicksearch/SavedColumn.php b/vendor/google/apiclient-services/src/Google/Service/Doubleclicksearch/SavedColumn.php new file mode 100644 index 00000000..2328e440 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Doubleclicksearch/SavedColumn.php @@ -0,0 +1,48 @@ +kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setSavedColumnName($savedColumnName) + { + $this->savedColumnName = $savedColumnName; + } + public function getSavedColumnName() + { + return $this->savedColumnName; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Doubleclicksearch/SavedColumnList.php b/vendor/google/apiclient-services/src/Google/Service/Doubleclicksearch/SavedColumnList.php new file mode 100644 index 00000000..1eab97b4 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Doubleclicksearch/SavedColumnList.php @@ -0,0 +1,41 @@ +items = $items; + } + public function getItems() + { + return $this->items; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Doubleclicksearch/UpdateAvailabilityRequest.php b/vendor/google/apiclient-services/src/Google/Service/Doubleclicksearch/UpdateAvailabilityRequest.php new file mode 100644 index 00000000..aab3acbd --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Doubleclicksearch/UpdateAvailabilityRequest.php @@ -0,0 +1,32 @@ +availabilities = $availabilities; + } + public function getAvailabilities() + { + return $this->availabilities; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Doubleclicksearch/UpdateAvailabilityResponse.php b/vendor/google/apiclient-services/src/Google/Service/Doubleclicksearch/UpdateAvailabilityResponse.php new file mode 100644 index 00000000..7e43f5a6 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Doubleclicksearch/UpdateAvailabilityResponse.php @@ -0,0 +1,32 @@ +availabilities = $availabilities; + } + public function getAvailabilities() + { + return $this->availabilities; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Drive.php b/vendor/google/apiclient-services/src/Google/Service/Drive.php new file mode 100644 index 00000000..8bfdfe79 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Drive.php @@ -0,0 +1,914 @@ + + * Manages files in Drive including uploading, downloading, searching, detecting + * changes, and updating sharing permissions.

+ * + *

+ * For more information about this service, see the API + * Documentation + *

+ * + * @author Google, Inc. + */ +class Google_Service_Drive extends Google_Service +{ + /** View and manage the files in your Google Drive. */ + const DRIVE = + "https://www.googleapis.com/auth/drive"; + /** View and manage its own configuration data in your Google Drive. */ + const DRIVE_APPDATA = + "https://www.googleapis.com/auth/drive.appdata"; + /** View and manage Google Drive files and folders that you have opened or created with this app. */ + const DRIVE_FILE = + "https://www.googleapis.com/auth/drive.file"; + /** View and manage metadata of files in your Google Drive. */ + const DRIVE_METADATA = + "https://www.googleapis.com/auth/drive.metadata"; + /** View metadata for files in your Google Drive. */ + const DRIVE_METADATA_READONLY = + "https://www.googleapis.com/auth/drive.metadata.readonly"; + /** View the photos, videos and albums in your Google Photos. */ + const DRIVE_PHOTOS_READONLY = + "https://www.googleapis.com/auth/drive.photos.readonly"; + /** View the files in your Google Drive. */ + const DRIVE_READONLY = + "https://www.googleapis.com/auth/drive.readonly"; + /** Modify your Google Apps Script scripts' behavior. */ + const DRIVE_SCRIPTS = + "https://www.googleapis.com/auth/drive.scripts"; + + public $about; + public $changes; + public $channels; + public $comments; + public $files; + public $permissions; + public $replies; + public $revisions; + public $teamdrives; + + /** + * Constructs the internal representation of the Drive service. + * + * @param Google_Client $client + */ + public function __construct(Google_Client $client) + { + parent::__construct($client); + $this->rootUrl = 'https://www.googleapis.com/'; + $this->servicePath = 'drive/v3/'; + $this->version = 'v3'; + $this->serviceName = 'drive'; + + $this->about = new Google_Service_Drive_Resource_About( + $this, + $this->serviceName, + 'about', + array( + 'methods' => array( + 'get' => array( + 'path' => 'about', + 'httpMethod' => 'GET', + 'parameters' => array(), + ), + ) + ) + ); + $this->changes = new Google_Service_Drive_Resource_Changes( + $this, + $this->serviceName, + 'changes', + array( + 'methods' => array( + 'getStartPageToken' => array( + 'path' => 'changes/startPageToken', + 'httpMethod' => 'GET', + 'parameters' => array( + 'supportsTeamDrives' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + 'teamDriveId' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'list' => array( + 'path' => 'changes', + 'httpMethod' => 'GET', + 'parameters' => array( + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + 'required' => true, + ), + 'includeCorpusRemovals' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + 'includeRemoved' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + 'includeTeamDriveItems' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + 'pageSize' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'restrictToMyDrive' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + 'spaces' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'supportsTeamDrives' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + 'teamDriveId' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'watch' => array( + 'path' => 'changes/watch', + 'httpMethod' => 'POST', + 'parameters' => array( + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + 'required' => true, + ), + 'includeCorpusRemovals' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + 'includeRemoved' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + 'includeTeamDriveItems' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + 'pageSize' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'restrictToMyDrive' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + 'spaces' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'supportsTeamDrives' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + 'teamDriveId' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + $this->channels = new Google_Service_Drive_Resource_Channels( + $this, + $this->serviceName, + 'channels', + array( + 'methods' => array( + 'stop' => array( + 'path' => 'channels/stop', + 'httpMethod' => 'POST', + 'parameters' => array(), + ), + ) + ) + ); + $this->comments = new Google_Service_Drive_Resource_Comments( + $this, + $this->serviceName, + 'comments', + array( + 'methods' => array( + 'create' => array( + 'path' => 'files/{fileId}/comments', + 'httpMethod' => 'POST', + 'parameters' => array( + 'fileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'delete' => array( + 'path' => 'files/{fileId}/comments/{commentId}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'fileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'commentId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'get' => array( + 'path' => 'files/{fileId}/comments/{commentId}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'fileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'commentId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'includeDeleted' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + ), + ),'list' => array( + 'path' => 'files/{fileId}/comments', + 'httpMethod' => 'GET', + 'parameters' => array( + 'fileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'includeDeleted' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + 'pageSize' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'startModifiedTime' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'update' => array( + 'path' => 'files/{fileId}/comments/{commentId}', + 'httpMethod' => 'PATCH', + 'parameters' => array( + 'fileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'commentId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->files = new Google_Service_Drive_Resource_Files( + $this, + $this->serviceName, + 'files', + array( + 'methods' => array( + 'copy' => array( + 'path' => 'files/{fileId}/copy', + 'httpMethod' => 'POST', + 'parameters' => array( + 'fileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'ignoreDefaultVisibility' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + 'keepRevisionForever' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + 'ocrLanguage' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'supportsTeamDrives' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + ), + ),'create' => array( + 'path' => 'files', + 'httpMethod' => 'POST', + 'parameters' => array( + 'ignoreDefaultVisibility' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + 'keepRevisionForever' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + 'ocrLanguage' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'supportsTeamDrives' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + 'useContentAsIndexableText' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + ), + ),'delete' => array( + 'path' => 'files/{fileId}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'fileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'supportsTeamDrives' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + ), + ),'emptyTrash' => array( + 'path' => 'files/trash', + 'httpMethod' => 'DELETE', + 'parameters' => array(), + ),'export' => array( + 'path' => 'files/{fileId}/export', + 'httpMethod' => 'GET', + 'parameters' => array( + 'fileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'mimeType' => array( + 'location' => 'query', + 'type' => 'string', + 'required' => true, + ), + ), + ),'generateIds' => array( + 'path' => 'files/generateIds', + 'httpMethod' => 'GET', + 'parameters' => array( + 'count' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'space' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'get' => array( + 'path' => 'files/{fileId}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'fileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'acknowledgeAbuse' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + 'supportsTeamDrives' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + ), + ),'list' => array( + 'path' => 'files', + 'httpMethod' => 'GET', + 'parameters' => array( + 'corpora' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'corpus' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'includeTeamDriveItems' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + 'orderBy' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pageSize' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'q' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'spaces' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'supportsTeamDrives' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + 'teamDriveId' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'update' => array( + 'path' => 'files/{fileId}', + 'httpMethod' => 'PATCH', + 'parameters' => array( + 'fileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'addParents' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'keepRevisionForever' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + 'ocrLanguage' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'removeParents' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'supportsTeamDrives' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + 'useContentAsIndexableText' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + ), + ),'watch' => array( + 'path' => 'files/{fileId}/watch', + 'httpMethod' => 'POST', + 'parameters' => array( + 'fileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'acknowledgeAbuse' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + 'supportsTeamDrives' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + ), + ), + ) + ) + ); + $this->permissions = new Google_Service_Drive_Resource_Permissions( + $this, + $this->serviceName, + 'permissions', + array( + 'methods' => array( + 'create' => array( + 'path' => 'files/{fileId}/permissions', + 'httpMethod' => 'POST', + 'parameters' => array( + 'fileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'emailMessage' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'sendNotificationEmail' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + 'supportsTeamDrives' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + 'transferOwnership' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + ), + ),'delete' => array( + 'path' => 'files/{fileId}/permissions/{permissionId}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'fileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'permissionId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'supportsTeamDrives' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + ), + ),'get' => array( + 'path' => 'files/{fileId}/permissions/{permissionId}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'fileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'permissionId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'supportsTeamDrives' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + ), + ),'list' => array( + 'path' => 'files/{fileId}/permissions', + 'httpMethod' => 'GET', + 'parameters' => array( + 'fileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'pageSize' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'supportsTeamDrives' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + ), + ),'update' => array( + 'path' => 'files/{fileId}/permissions/{permissionId}', + 'httpMethod' => 'PATCH', + 'parameters' => array( + 'fileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'permissionId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'removeExpiration' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + 'supportsTeamDrives' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + 'transferOwnership' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + ), + ), + ) + ) + ); + $this->replies = new Google_Service_Drive_Resource_Replies( + $this, + $this->serviceName, + 'replies', + array( + 'methods' => array( + 'create' => array( + 'path' => 'files/{fileId}/comments/{commentId}/replies', + 'httpMethod' => 'POST', + 'parameters' => array( + 'fileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'commentId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'delete' => array( + 'path' => 'files/{fileId}/comments/{commentId}/replies/{replyId}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'fileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'commentId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'replyId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'get' => array( + 'path' => 'files/{fileId}/comments/{commentId}/replies/{replyId}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'fileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'commentId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'replyId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'includeDeleted' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + ), + ),'list' => array( + 'path' => 'files/{fileId}/comments/{commentId}/replies', + 'httpMethod' => 'GET', + 'parameters' => array( + 'fileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'commentId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'includeDeleted' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + 'pageSize' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'update' => array( + 'path' => 'files/{fileId}/comments/{commentId}/replies/{replyId}', + 'httpMethod' => 'PATCH', + 'parameters' => array( + 'fileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'commentId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'replyId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->revisions = new Google_Service_Drive_Resource_Revisions( + $this, + $this->serviceName, + 'revisions', + array( + 'methods' => array( + 'delete' => array( + 'path' => 'files/{fileId}/revisions/{revisionId}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'fileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'revisionId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'get' => array( + 'path' => 'files/{fileId}/revisions/{revisionId}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'fileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'revisionId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'acknowledgeAbuse' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + ), + ),'list' => array( + 'path' => 'files/{fileId}/revisions', + 'httpMethod' => 'GET', + 'parameters' => array( + 'fileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'pageSize' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'update' => array( + 'path' => 'files/{fileId}/revisions/{revisionId}', + 'httpMethod' => 'PATCH', + 'parameters' => array( + 'fileId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'revisionId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->teamdrives = new Google_Service_Drive_Resource_Teamdrives( + $this, + $this->serviceName, + 'teamdrives', + array( + 'methods' => array( + 'create' => array( + 'path' => 'teamdrives', + 'httpMethod' => 'POST', + 'parameters' => array( + 'requestId' => array( + 'location' => 'query', + 'type' => 'string', + 'required' => true, + ), + ), + ),'delete' => array( + 'path' => 'teamdrives/{teamDriveId}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'teamDriveId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'get' => array( + 'path' => 'teamdrives/{teamDriveId}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'teamDriveId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'teamdrives', + 'httpMethod' => 'GET', + 'parameters' => array( + 'pageSize' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'update' => array( + 'path' => 'teamdrives/{teamDriveId}', + 'httpMethod' => 'PATCH', + 'parameters' => array( + 'teamDriveId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Drive/About.php b/vendor/google/apiclient-services/src/Google/Service/Drive/About.php new file mode 100644 index 00000000..07d73694 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Drive/About.php @@ -0,0 +1,105 @@ +appInstalled = $appInstalled; + } + public function getAppInstalled() + { + return $this->appInstalled; + } + public function setExportFormats($exportFormats) + { + $this->exportFormats = $exportFormats; + } + public function getExportFormats() + { + return $this->exportFormats; + } + public function setFolderColorPalette($folderColorPalette) + { + $this->folderColorPalette = $folderColorPalette; + } + public function getFolderColorPalette() + { + return $this->folderColorPalette; + } + public function setImportFormats($importFormats) + { + $this->importFormats = $importFormats; + } + public function getImportFormats() + { + return $this->importFormats; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setMaxImportSizes($maxImportSizes) + { + $this->maxImportSizes = $maxImportSizes; + } + public function getMaxImportSizes() + { + return $this->maxImportSizes; + } + public function setMaxUploadSize($maxUploadSize) + { + $this->maxUploadSize = $maxUploadSize; + } + public function getMaxUploadSize() + { + return $this->maxUploadSize; + } + public function setStorageQuota(Google_Service_Drive_AboutStorageQuota $storageQuota) + { + $this->storageQuota = $storageQuota; + } + public function getStorageQuota() + { + return $this->storageQuota; + } + public function setUser(Google_Service_Drive_User $user) + { + $this->user = $user; + } + public function getUser() + { + return $this->user; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Drive/AboutStorageQuota.php b/vendor/google/apiclient-services/src/Google/Service/Drive/AboutStorageQuota.php new file mode 100644 index 00000000..67aa7530 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Drive/AboutStorageQuota.php @@ -0,0 +1,57 @@ +limit = $limit; + } + public function getLimit() + { + return $this->limit; + } + public function setUsage($usage) + { + $this->usage = $usage; + } + public function getUsage() + { + return $this->usage; + } + public function setUsageInDrive($usageInDrive) + { + $this->usageInDrive = $usageInDrive; + } + public function getUsageInDrive() + { + return $this->usageInDrive; + } + public function setUsageInDriveTrash($usageInDriveTrash) + { + $this->usageInDriveTrash = $usageInDriveTrash; + } + public function getUsageInDriveTrash() + { + return $this->usageInDriveTrash; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Drive/Change.php b/vendor/google/apiclient-services/src/Google/Service/Drive/Change.php new file mode 100644 index 00000000..d4755a46 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Drive/Change.php @@ -0,0 +1,95 @@ +file = $file; + } + public function getFile() + { + return $this->file; + } + public function setFileId($fileId) + { + $this->fileId = $fileId; + } + public function getFileId() + { + return $this->fileId; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setRemoved($removed) + { + $this->removed = $removed; + } + public function getRemoved() + { + return $this->removed; + } + public function setTeamDrive(Google_Service_Drive_TeamDrive $teamDrive) + { + $this->teamDrive = $teamDrive; + } + public function getTeamDrive() + { + return $this->teamDrive; + } + public function setTeamDriveId($teamDriveId) + { + $this->teamDriveId = $teamDriveId; + } + public function getTeamDriveId() + { + return $this->teamDriveId; + } + public function setTime($time) + { + $this->time = $time; + } + public function getTime() + { + return $this->time; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Drive/ChangeList.php b/vendor/google/apiclient-services/src/Google/Service/Drive/ChangeList.php new file mode 100644 index 00000000..406447be --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Drive/ChangeList.php @@ -0,0 +1,59 @@ +changes = $changes; + } + public function getChanges() + { + return $this->changes; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNewStartPageToken($newStartPageToken) + { + $this->newStartPageToken = $newStartPageToken; + } + public function getNewStartPageToken() + { + return $this->newStartPageToken; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Drive/Channel.php b/vendor/google/apiclient-services/src/Google/Service/Drive/Channel.php new file mode 100644 index 00000000..e3208a3a --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Drive/Channel.php @@ -0,0 +1,111 @@ +address = $address; + } + public function getAddress() + { + return $this->address; + } + public function setExpiration($expiration) + { + $this->expiration = $expiration; + } + public function getExpiration() + { + return $this->expiration; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setParams($params) + { + $this->params = $params; + } + public function getParams() + { + return $this->params; + } + public function setPayload($payload) + { + $this->payload = $payload; + } + public function getPayload() + { + return $this->payload; + } + public function setResourceId($resourceId) + { + $this->resourceId = $resourceId; + } + public function getResourceId() + { + return $this->resourceId; + } + public function setResourceUri($resourceUri) + { + $this->resourceUri = $resourceUri; + } + public function getResourceUri() + { + return $this->resourceUri; + } + public function setToken($token) + { + $this->token = $token; + } + public function getToken() + { + return $this->token; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Drive/Comment.php b/vendor/google/apiclient-services/src/Google/Service/Drive/Comment.php new file mode 100644 index 00000000..baa836d6 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Drive/Comment.php @@ -0,0 +1,133 @@ +anchor = $anchor; + } + public function getAnchor() + { + return $this->anchor; + } + public function setAuthor(Google_Service_Drive_User $author) + { + $this->author = $author; + } + public function getAuthor() + { + return $this->author; + } + public function setContent($content) + { + $this->content = $content; + } + public function getContent() + { + return $this->content; + } + public function setCreatedTime($createdTime) + { + $this->createdTime = $createdTime; + } + public function getCreatedTime() + { + return $this->createdTime; + } + public function setDeleted($deleted) + { + $this->deleted = $deleted; + } + public function getDeleted() + { + return $this->deleted; + } + public function setHtmlContent($htmlContent) + { + $this->htmlContent = $htmlContent; + } + public function getHtmlContent() + { + return $this->htmlContent; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setModifiedTime($modifiedTime) + { + $this->modifiedTime = $modifiedTime; + } + public function getModifiedTime() + { + return $this->modifiedTime; + } + public function setQuotedFileContent(Google_Service_Drive_CommentQuotedFileContent $quotedFileContent) + { + $this->quotedFileContent = $quotedFileContent; + } + public function getQuotedFileContent() + { + return $this->quotedFileContent; + } + public function setReplies($replies) + { + $this->replies = $replies; + } + public function getReplies() + { + return $this->replies; + } + public function setResolved($resolved) + { + $this->resolved = $resolved; + } + public function getResolved() + { + return $this->resolved; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Drive/CommentList.php b/vendor/google/apiclient-services/src/Google/Service/Drive/CommentList.php new file mode 100644 index 00000000..d6b49c46 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Drive/CommentList.php @@ -0,0 +1,50 @@ +comments = $comments; + } + public function getComments() + { + return $this->comments; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Drive/CommentQuotedFileContent.php b/vendor/google/apiclient-services/src/Google/Service/Drive/CommentQuotedFileContent.php new file mode 100644 index 00000000..9a257728 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Drive/CommentQuotedFileContent.php @@ -0,0 +1,39 @@ +mimeType = $mimeType; + } + public function getMimeType() + { + return $this->mimeType; + } + public function setValue($value) + { + $this->value = $value; + } + public function getValue() + { + return $this->value; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Drive/DriveFile.php b/vendor/google/apiclient-services/src/Google/Service/Drive/DriveFile.php new file mode 100644 index 00000000..36fb42d4 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Drive/DriveFile.php @@ -0,0 +1,490 @@ +appProperties = $appProperties; + } + public function getAppProperties() + { + return $this->appProperties; + } + public function setCapabilities(Google_Service_Drive_DriveFileCapabilities $capabilities) + { + $this->capabilities = $capabilities; + } + public function getCapabilities() + { + return $this->capabilities; + } + public function setContentHints(Google_Service_Drive_DriveFileContentHints $contentHints) + { + $this->contentHints = $contentHints; + } + public function getContentHints() + { + return $this->contentHints; + } + public function setCreatedTime($createdTime) + { + $this->createdTime = $createdTime; + } + public function getCreatedTime() + { + return $this->createdTime; + } + public function setDescription($description) + { + $this->description = $description; + } + public function getDescription() + { + return $this->description; + } + public function setExplicitlyTrashed($explicitlyTrashed) + { + $this->explicitlyTrashed = $explicitlyTrashed; + } + public function getExplicitlyTrashed() + { + return $this->explicitlyTrashed; + } + public function setFileExtension($fileExtension) + { + $this->fileExtension = $fileExtension; + } + public function getFileExtension() + { + return $this->fileExtension; + } + public function setFolderColorRgb($folderColorRgb) + { + $this->folderColorRgb = $folderColorRgb; + } + public function getFolderColorRgb() + { + return $this->folderColorRgb; + } + public function setFullFileExtension($fullFileExtension) + { + $this->fullFileExtension = $fullFileExtension; + } + public function getFullFileExtension() + { + return $this->fullFileExtension; + } + public function setHasAugmentedPermissions($hasAugmentedPermissions) + { + $this->hasAugmentedPermissions = $hasAugmentedPermissions; + } + public function getHasAugmentedPermissions() + { + return $this->hasAugmentedPermissions; + } + public function setHasThumbnail($hasThumbnail) + { + $this->hasThumbnail = $hasThumbnail; + } + public function getHasThumbnail() + { + return $this->hasThumbnail; + } + public function setHeadRevisionId($headRevisionId) + { + $this->headRevisionId = $headRevisionId; + } + public function getHeadRevisionId() + { + return $this->headRevisionId; + } + public function setIconLink($iconLink) + { + $this->iconLink = $iconLink; + } + public function getIconLink() + { + return $this->iconLink; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setImageMediaMetadata(Google_Service_Drive_DriveFileImageMediaMetadata $imageMediaMetadata) + { + $this->imageMediaMetadata = $imageMediaMetadata; + } + public function getImageMediaMetadata() + { + return $this->imageMediaMetadata; + } + public function setIsAppAuthorized($isAppAuthorized) + { + $this->isAppAuthorized = $isAppAuthorized; + } + public function getIsAppAuthorized() + { + return $this->isAppAuthorized; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setLastModifyingUser(Google_Service_Drive_User $lastModifyingUser) + { + $this->lastModifyingUser = $lastModifyingUser; + } + public function getLastModifyingUser() + { + return $this->lastModifyingUser; + } + public function setMd5Checksum($md5Checksum) + { + $this->md5Checksum = $md5Checksum; + } + public function getMd5Checksum() + { + return $this->md5Checksum; + } + public function setMimeType($mimeType) + { + $this->mimeType = $mimeType; + } + public function getMimeType() + { + return $this->mimeType; + } + public function setModifiedByMe($modifiedByMe) + { + $this->modifiedByMe = $modifiedByMe; + } + public function getModifiedByMe() + { + return $this->modifiedByMe; + } + public function setModifiedByMeTime($modifiedByMeTime) + { + $this->modifiedByMeTime = $modifiedByMeTime; + } + public function getModifiedByMeTime() + { + return $this->modifiedByMeTime; + } + public function setModifiedTime($modifiedTime) + { + $this->modifiedTime = $modifiedTime; + } + public function getModifiedTime() + { + return $this->modifiedTime; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setOriginalFilename($originalFilename) + { + $this->originalFilename = $originalFilename; + } + public function getOriginalFilename() + { + return $this->originalFilename; + } + public function setOwnedByMe($ownedByMe) + { + $this->ownedByMe = $ownedByMe; + } + public function getOwnedByMe() + { + return $this->ownedByMe; + } + public function setOwners($owners) + { + $this->owners = $owners; + } + public function getOwners() + { + return $this->owners; + } + public function setParents($parents) + { + $this->parents = $parents; + } + public function getParents() + { + return $this->parents; + } + public function setPermissions($permissions) + { + $this->permissions = $permissions; + } + public function getPermissions() + { + return $this->permissions; + } + public function setProperties($properties) + { + $this->properties = $properties; + } + public function getProperties() + { + return $this->properties; + } + public function setQuotaBytesUsed($quotaBytesUsed) + { + $this->quotaBytesUsed = $quotaBytesUsed; + } + public function getQuotaBytesUsed() + { + return $this->quotaBytesUsed; + } + public function setShared($shared) + { + $this->shared = $shared; + } + public function getShared() + { + return $this->shared; + } + public function setSharedWithMeTime($sharedWithMeTime) + { + $this->sharedWithMeTime = $sharedWithMeTime; + } + public function getSharedWithMeTime() + { + return $this->sharedWithMeTime; + } + public function setSharingUser(Google_Service_Drive_User $sharingUser) + { + $this->sharingUser = $sharingUser; + } + public function getSharingUser() + { + return $this->sharingUser; + } + public function setSize($size) + { + $this->size = $size; + } + public function getSize() + { + return $this->size; + } + public function setSpaces($spaces) + { + $this->spaces = $spaces; + } + public function getSpaces() + { + return $this->spaces; + } + public function setStarred($starred) + { + $this->starred = $starred; + } + public function getStarred() + { + return $this->starred; + } + public function setTeamDriveId($teamDriveId) + { + $this->teamDriveId = $teamDriveId; + } + public function getTeamDriveId() + { + return $this->teamDriveId; + } + public function setThumbnailLink($thumbnailLink) + { + $this->thumbnailLink = $thumbnailLink; + } + public function getThumbnailLink() + { + return $this->thumbnailLink; + } + public function setThumbnailVersion($thumbnailVersion) + { + $this->thumbnailVersion = $thumbnailVersion; + } + public function getThumbnailVersion() + { + return $this->thumbnailVersion; + } + public function setTrashed($trashed) + { + $this->trashed = $trashed; + } + public function getTrashed() + { + return $this->trashed; + } + public function setTrashedTime($trashedTime) + { + $this->trashedTime = $trashedTime; + } + public function getTrashedTime() + { + return $this->trashedTime; + } + public function setTrashingUser(Google_Service_Drive_User $trashingUser) + { + $this->trashingUser = $trashingUser; + } + public function getTrashingUser() + { + return $this->trashingUser; + } + public function setVersion($version) + { + $this->version = $version; + } + public function getVersion() + { + return $this->version; + } + public function setVideoMediaMetadata(Google_Service_Drive_DriveFileVideoMediaMetadata $videoMediaMetadata) + { + $this->videoMediaMetadata = $videoMediaMetadata; + } + public function getVideoMediaMetadata() + { + return $this->videoMediaMetadata; + } + public function setViewedByMe($viewedByMe) + { + $this->viewedByMe = $viewedByMe; + } + public function getViewedByMe() + { + return $this->viewedByMe; + } + public function setViewedByMeTime($viewedByMeTime) + { + $this->viewedByMeTime = $viewedByMeTime; + } + public function getViewedByMeTime() + { + return $this->viewedByMeTime; + } + public function setViewersCanCopyContent($viewersCanCopyContent) + { + $this->viewersCanCopyContent = $viewersCanCopyContent; + } + public function getViewersCanCopyContent() + { + return $this->viewersCanCopyContent; + } + public function setWebContentLink($webContentLink) + { + $this->webContentLink = $webContentLink; + } + public function getWebContentLink() + { + return $this->webContentLink; + } + public function setWebViewLink($webViewLink) + { + $this->webViewLink = $webViewLink; + } + public function getWebViewLink() + { + return $this->webViewLink; + } + public function setWritersCanShare($writersCanShare) + { + $this->writersCanShare = $writersCanShare; + } + public function getWritersCanShare() + { + return $this->writersCanShare; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Drive/DriveFileCapabilities.php b/vendor/google/apiclient-services/src/Google/Service/Drive/DriveFileCapabilities.php new file mode 100644 index 00000000..af3ffda7 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Drive/DriveFileCapabilities.php @@ -0,0 +1,165 @@ +canAddChildren = $canAddChildren; + } + public function getCanAddChildren() + { + return $this->canAddChildren; + } + public function setCanComment($canComment) + { + $this->canComment = $canComment; + } + public function getCanComment() + { + return $this->canComment; + } + public function setCanCopy($canCopy) + { + $this->canCopy = $canCopy; + } + public function getCanCopy() + { + return $this->canCopy; + } + public function setCanDelete($canDelete) + { + $this->canDelete = $canDelete; + } + public function getCanDelete() + { + return $this->canDelete; + } + public function setCanDownload($canDownload) + { + $this->canDownload = $canDownload; + } + public function getCanDownload() + { + return $this->canDownload; + } + public function setCanEdit($canEdit) + { + $this->canEdit = $canEdit; + } + public function getCanEdit() + { + return $this->canEdit; + } + public function setCanListChildren($canListChildren) + { + $this->canListChildren = $canListChildren; + } + public function getCanListChildren() + { + return $this->canListChildren; + } + public function setCanMoveItemIntoTeamDrive($canMoveItemIntoTeamDrive) + { + $this->canMoveItemIntoTeamDrive = $canMoveItemIntoTeamDrive; + } + public function getCanMoveItemIntoTeamDrive() + { + return $this->canMoveItemIntoTeamDrive; + } + public function setCanMoveTeamDriveItem($canMoveTeamDriveItem) + { + $this->canMoveTeamDriveItem = $canMoveTeamDriveItem; + } + public function getCanMoveTeamDriveItem() + { + return $this->canMoveTeamDriveItem; + } + public function setCanReadRevisions($canReadRevisions) + { + $this->canReadRevisions = $canReadRevisions; + } + public function getCanReadRevisions() + { + return $this->canReadRevisions; + } + public function setCanReadTeamDrive($canReadTeamDrive) + { + $this->canReadTeamDrive = $canReadTeamDrive; + } + public function getCanReadTeamDrive() + { + return $this->canReadTeamDrive; + } + public function setCanRemoveChildren($canRemoveChildren) + { + $this->canRemoveChildren = $canRemoveChildren; + } + public function getCanRemoveChildren() + { + return $this->canRemoveChildren; + } + public function setCanRename($canRename) + { + $this->canRename = $canRename; + } + public function getCanRename() + { + return $this->canRename; + } + public function setCanShare($canShare) + { + $this->canShare = $canShare; + } + public function getCanShare() + { + return $this->canShare; + } + public function setCanTrash($canTrash) + { + $this->canTrash = $canTrash; + } + public function getCanTrash() + { + return $this->canTrash; + } + public function setCanUntrash($canUntrash) + { + $this->canUntrash = $canUntrash; + } + public function getCanUntrash() + { + return $this->canUntrash; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Drive/DriveFileContentHints.php b/vendor/google/apiclient-services/src/Google/Service/Drive/DriveFileContentHints.php new file mode 100644 index 00000000..ea263125 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Drive/DriveFileContentHints.php @@ -0,0 +1,40 @@ +indexableText = $indexableText; + } + public function getIndexableText() + { + return $this->indexableText; + } + public function setThumbnail(Google_Service_Drive_DriveFileContentHintsThumbnail $thumbnail) + { + $this->thumbnail = $thumbnail; + } + public function getThumbnail() + { + return $this->thumbnail; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Drive/DriveFileContentHintsThumbnail.php b/vendor/google/apiclient-services/src/Google/Service/Drive/DriveFileContentHintsThumbnail.php new file mode 100644 index 00000000..7594db55 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Drive/DriveFileContentHintsThumbnail.php @@ -0,0 +1,39 @@ +image = $image; + } + public function getImage() + { + return $this->image; + } + public function setMimeType($mimeType) + { + $this->mimeType = $mimeType; + } + public function getMimeType() + { + return $this->mimeType; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Drive/DriveFileImageMediaMetadata.php b/vendor/google/apiclient-services/src/Google/Service/Drive/DriveFileImageMediaMetadata.php new file mode 100644 index 00000000..560aa7f9 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Drive/DriveFileImageMediaMetadata.php @@ -0,0 +1,211 @@ +aperture = $aperture; + } + public function getAperture() + { + return $this->aperture; + } + public function setCameraMake($cameraMake) + { + $this->cameraMake = $cameraMake; + } + public function getCameraMake() + { + return $this->cameraMake; + } + public function setCameraModel($cameraModel) + { + $this->cameraModel = $cameraModel; + } + public function getCameraModel() + { + return $this->cameraModel; + } + public function setColorSpace($colorSpace) + { + $this->colorSpace = $colorSpace; + } + public function getColorSpace() + { + return $this->colorSpace; + } + public function setExposureBias($exposureBias) + { + $this->exposureBias = $exposureBias; + } + public function getExposureBias() + { + return $this->exposureBias; + } + public function setExposureMode($exposureMode) + { + $this->exposureMode = $exposureMode; + } + public function getExposureMode() + { + return $this->exposureMode; + } + public function setExposureTime($exposureTime) + { + $this->exposureTime = $exposureTime; + } + public function getExposureTime() + { + return $this->exposureTime; + } + public function setFlashUsed($flashUsed) + { + $this->flashUsed = $flashUsed; + } + public function getFlashUsed() + { + return $this->flashUsed; + } + public function setFocalLength($focalLength) + { + $this->focalLength = $focalLength; + } + public function getFocalLength() + { + return $this->focalLength; + } + public function setHeight($height) + { + $this->height = $height; + } + public function getHeight() + { + return $this->height; + } + public function setIsoSpeed($isoSpeed) + { + $this->isoSpeed = $isoSpeed; + } + public function getIsoSpeed() + { + return $this->isoSpeed; + } + public function setLens($lens) + { + $this->lens = $lens; + } + public function getLens() + { + return $this->lens; + } + public function setLocation(Google_Service_Drive_DriveFileImageMediaMetadataLocation $location) + { + $this->location = $location; + } + public function getLocation() + { + return $this->location; + } + public function setMaxApertureValue($maxApertureValue) + { + $this->maxApertureValue = $maxApertureValue; + } + public function getMaxApertureValue() + { + return $this->maxApertureValue; + } + public function setMeteringMode($meteringMode) + { + $this->meteringMode = $meteringMode; + } + public function getMeteringMode() + { + return $this->meteringMode; + } + public function setRotation($rotation) + { + $this->rotation = $rotation; + } + public function getRotation() + { + return $this->rotation; + } + public function setSensor($sensor) + { + $this->sensor = $sensor; + } + public function getSensor() + { + return $this->sensor; + } + public function setSubjectDistance($subjectDistance) + { + $this->subjectDistance = $subjectDistance; + } + public function getSubjectDistance() + { + return $this->subjectDistance; + } + public function setTime($time) + { + $this->time = $time; + } + public function getTime() + { + return $this->time; + } + public function setWhiteBalance($whiteBalance) + { + $this->whiteBalance = $whiteBalance; + } + public function getWhiteBalance() + { + return $this->whiteBalance; + } + public function setWidth($width) + { + $this->width = $width; + } + public function getWidth() + { + return $this->width; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Drive/DriveFileImageMediaMetadataLocation.php b/vendor/google/apiclient-services/src/Google/Service/Drive/DriveFileImageMediaMetadataLocation.php new file mode 100644 index 00000000..7de118a1 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Drive/DriveFileImageMediaMetadataLocation.php @@ -0,0 +1,48 @@ +altitude = $altitude; + } + public function getAltitude() + { + return $this->altitude; + } + public function setLatitude($latitude) + { + $this->latitude = $latitude; + } + public function getLatitude() + { + return $this->latitude; + } + public function setLongitude($longitude) + { + $this->longitude = $longitude; + } + public function getLongitude() + { + return $this->longitude; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Drive/DriveFileVideoMediaMetadata.php b/vendor/google/apiclient-services/src/Google/Service/Drive/DriveFileVideoMediaMetadata.php new file mode 100644 index 00000000..97cd5114 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Drive/DriveFileVideoMediaMetadata.php @@ -0,0 +1,48 @@ +durationMillis = $durationMillis; + } + public function getDurationMillis() + { + return $this->durationMillis; + } + public function setHeight($height) + { + $this->height = $height; + } + public function getHeight() + { + return $this->height; + } + public function setWidth($width) + { + $this->width = $width; + } + public function getWidth() + { + return $this->width; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Drive/FileList.php b/vendor/google/apiclient-services/src/Google/Service/Drive/FileList.php new file mode 100644 index 00000000..ba18998c --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Drive/FileList.php @@ -0,0 +1,59 @@ +files = $files; + } + public function getFiles() + { + return $this->files; + } + public function setIncompleteSearch($incompleteSearch) + { + $this->incompleteSearch = $incompleteSearch; + } + public function getIncompleteSearch() + { + return $this->incompleteSearch; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Drive/GeneratedIds.php b/vendor/google/apiclient-services/src/Google/Service/Drive/GeneratedIds.php new file mode 100644 index 00000000..b27fc330 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Drive/GeneratedIds.php @@ -0,0 +1,49 @@ +ids = $ids; + } + public function getIds() + { + return $this->ids; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setSpace($space) + { + $this->space = $space; + } + public function getSpace() + { + return $this->space; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Drive/Permission.php b/vendor/google/apiclient-services/src/Google/Service/Drive/Permission.php new file mode 100644 index 00000000..58e1e0b7 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Drive/Permission.php @@ -0,0 +1,122 @@ +allowFileDiscovery = $allowFileDiscovery; + } + public function getAllowFileDiscovery() + { + return $this->allowFileDiscovery; + } + public function setDisplayName($displayName) + { + $this->displayName = $displayName; + } + public function getDisplayName() + { + return $this->displayName; + } + public function setDomain($domain) + { + $this->domain = $domain; + } + public function getDomain() + { + return $this->domain; + } + public function setEmailAddress($emailAddress) + { + $this->emailAddress = $emailAddress; + } + public function getEmailAddress() + { + return $this->emailAddress; + } + public function setExpirationTime($expirationTime) + { + $this->expirationTime = $expirationTime; + } + public function getExpirationTime() + { + return $this->expirationTime; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setPhotoLink($photoLink) + { + $this->photoLink = $photoLink; + } + public function getPhotoLink() + { + return $this->photoLink; + } + public function setRole($role) + { + $this->role = $role; + } + public function getRole() + { + return $this->role; + } + public function setTeamDrivePermissionDetails($teamDrivePermissionDetails) + { + $this->teamDrivePermissionDetails = $teamDrivePermissionDetails; + } + public function getTeamDrivePermissionDetails() + { + return $this->teamDrivePermissionDetails; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Drive/PermissionList.php b/vendor/google/apiclient-services/src/Google/Service/Drive/PermissionList.php new file mode 100644 index 00000000..a269f764 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Drive/PermissionList.php @@ -0,0 +1,50 @@ +kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setPermissions($permissions) + { + $this->permissions = $permissions; + } + public function getPermissions() + { + return $this->permissions; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Drive/PermissionTeamDrivePermissionDetails.php b/vendor/google/apiclient-services/src/Google/Service/Drive/PermissionTeamDrivePermissionDetails.php new file mode 100644 index 00000000..e7430d53 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Drive/PermissionTeamDrivePermissionDetails.php @@ -0,0 +1,57 @@ +inherited = $inherited; + } + public function getInherited() + { + return $this->inherited; + } + public function setInheritedFrom($inheritedFrom) + { + $this->inheritedFrom = $inheritedFrom; + } + public function getInheritedFrom() + { + return $this->inheritedFrom; + } + public function setRole($role) + { + $this->role = $role; + } + public function getRole() + { + return $this->role; + } + public function setTeamDrivePermissionType($teamDrivePermissionType) + { + $this->teamDrivePermissionType = $teamDrivePermissionType; + } + public function getTeamDrivePermissionType() + { + return $this->teamDrivePermissionType; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Drive/Reply.php b/vendor/google/apiclient-services/src/Google/Service/Drive/Reply.php new file mode 100644 index 00000000..a8102157 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Drive/Reply.php @@ -0,0 +1,103 @@ +action = $action; + } + public function getAction() + { + return $this->action; + } + public function setAuthor(Google_Service_Drive_User $author) + { + $this->author = $author; + } + public function getAuthor() + { + return $this->author; + } + public function setContent($content) + { + $this->content = $content; + } + public function getContent() + { + return $this->content; + } + public function setCreatedTime($createdTime) + { + $this->createdTime = $createdTime; + } + public function getCreatedTime() + { + return $this->createdTime; + } + public function setDeleted($deleted) + { + $this->deleted = $deleted; + } + public function getDeleted() + { + return $this->deleted; + } + public function setHtmlContent($htmlContent) + { + $this->htmlContent = $htmlContent; + } + public function getHtmlContent() + { + return $this->htmlContent; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setModifiedTime($modifiedTime) + { + $this->modifiedTime = $modifiedTime; + } + public function getModifiedTime() + { + return $this->modifiedTime; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Drive/ReplyList.php b/vendor/google/apiclient-services/src/Google/Service/Drive/ReplyList.php new file mode 100644 index 00000000..a68fdbcc --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Drive/ReplyList.php @@ -0,0 +1,50 @@ +kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setReplies($replies) + { + $this->replies = $replies; + } + public function getReplies() + { + return $this->replies; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Drive/Resource/About.php b/vendor/google/apiclient-services/src/Google/Service/Drive/Resource/About.php new file mode 100644 index 00000000..67bf18a7 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Drive/Resource/About.php @@ -0,0 +1,41 @@ + + * $driveService = new Google_Service_Drive(...); + * $about = $driveService->about; + * + */ +class Google_Service_Drive_Resource_About extends Google_Service_Resource +{ + /** + * Gets information about the user, the user's Drive, and system capabilities. + * (about.get) + * + * @param array $optParams Optional parameters. + * @return Google_Service_Drive_About + */ + public function get($optParams = array()) + { + $params = array(); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Drive_About"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Drive/Resource/Changes.php b/vendor/google/apiclient-services/src/Google/Service/Drive/Resource/Changes.php new file mode 100644 index 00000000..cfdcf8c5 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Drive/Resource/Changes.php @@ -0,0 +1,121 @@ + + * $driveService = new Google_Service_Drive(...); + * $changes = $driveService->changes; + * + */ +class Google_Service_Drive_Resource_Changes extends Google_Service_Resource +{ + /** + * Gets the starting pageToken for listing future changes. + * (changes.getStartPageToken) + * + * @param array $optParams Optional parameters. + * + * @opt_param bool supportsTeamDrives Whether the requesting application + * supports Team Drives. + * @opt_param string teamDriveId The ID of the Team Drive for which the starting + * pageToken for listing future changes from that Team Drive will be returned. + * @return Google_Service_Drive_StartPageToken + */ + public function getStartPageToken($optParams = array()) + { + $params = array(); + $params = array_merge($params, $optParams); + return $this->call('getStartPageToken', array($params), "Google_Service_Drive_StartPageToken"); + } + /** + * Lists the changes for a user or Team Drive. (changes.listChanges) + * + * @param string $pageToken The token for continuing a previous list request on + * the next page. This should be set to the value of 'nextPageToken' from the + * previous response or to the response from the getStartPageToken method. + * @param array $optParams Optional parameters. + * + * @opt_param bool includeCorpusRemovals Whether changes should include the file + * resource if the file is still accessible by the user at the time of the + * request, even when a file was removed from the list of changes and there will + * be no further change entries for this file. + * @opt_param bool includeRemoved Whether to include changes indicating that + * items have been removed from the list of changes, for example by deletion or + * loss of access. + * @opt_param bool includeTeamDriveItems Whether Team Drive files or changes + * should be included in results. + * @opt_param int pageSize The maximum number of changes to return per page. + * @opt_param bool restrictToMyDrive Whether to restrict the results to changes + * inside the My Drive hierarchy. This omits changes to files such as those in + * the Application Data folder or shared files which have not been added to My + * Drive. + * @opt_param string spaces A comma-separated list of spaces to query within the + * user corpus. Supported values are 'drive', 'appDataFolder' and 'photos'. + * @opt_param bool supportsTeamDrives Whether the requesting application + * supports Team Drives. + * @opt_param string teamDriveId The Team Drive from which changes will be + * returned. If specified the change IDs will be reflective of the Team Drive; + * use the combined Team Drive ID and change ID as an identifier. + * @return Google_Service_Drive_ChangeList + */ + public function listChanges($pageToken, $optParams = array()) + { + $params = array('pageToken' => $pageToken); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Drive_ChangeList"); + } + /** + * Subscribes to changes for a user. (changes.watch) + * + * @param string $pageToken The token for continuing a previous list request on + * the next page. This should be set to the value of 'nextPageToken' from the + * previous response or to the response from the getStartPageToken method. + * @param Google_Service_Drive_Channel $postBody + * @param array $optParams Optional parameters. + * + * @opt_param bool includeCorpusRemovals Whether changes should include the file + * resource if the file is still accessible by the user at the time of the + * request, even when a file was removed from the list of changes and there will + * be no further change entries for this file. + * @opt_param bool includeRemoved Whether to include changes indicating that + * items have been removed from the list of changes, for example by deletion or + * loss of access. + * @opt_param bool includeTeamDriveItems Whether Team Drive files or changes + * should be included in results. + * @opt_param int pageSize The maximum number of changes to return per page. + * @opt_param bool restrictToMyDrive Whether to restrict the results to changes + * inside the My Drive hierarchy. This omits changes to files such as those in + * the Application Data folder or shared files which have not been added to My + * Drive. + * @opt_param string spaces A comma-separated list of spaces to query within the + * user corpus. Supported values are 'drive', 'appDataFolder' and 'photos'. + * @opt_param bool supportsTeamDrives Whether the requesting application + * supports Team Drives. + * @opt_param string teamDriveId The Team Drive from which changes will be + * returned. If specified the change IDs will be reflective of the Team Drive; + * use the combined Team Drive ID and change ID as an identifier. + * @return Google_Service_Drive_Channel + */ + public function watch($pageToken, Google_Service_Drive_Channel $postBody, $optParams = array()) + { + $params = array('pageToken' => $pageToken, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('watch', array($params), "Google_Service_Drive_Channel"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Drive/Resource/Channels.php b/vendor/google/apiclient-services/src/Google/Service/Drive/Resource/Channels.php new file mode 100644 index 00000000..39f9eda9 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Drive/Resource/Channels.php @@ -0,0 +1,40 @@ + + * $driveService = new Google_Service_Drive(...); + * $channels = $driveService->channels; + * + */ +class Google_Service_Drive_Resource_Channels extends Google_Service_Resource +{ + /** + * Stop watching resources through this channel (channels.stop) + * + * @param Google_Service_Drive_Channel $postBody + * @param array $optParams Optional parameters. + */ + public function stop(Google_Service_Drive_Channel $postBody, $optParams = array()) + { + $params = array('postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('stop', array($params)); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Drive/Resource/Comments.php b/vendor/google/apiclient-services/src/Google/Service/Drive/Resource/Comments.php new file mode 100644 index 00000000..2a09affd --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Drive/Resource/Comments.php @@ -0,0 +1,109 @@ + + * $driveService = new Google_Service_Drive(...); + * $comments = $driveService->comments; + * + */ +class Google_Service_Drive_Resource_Comments extends Google_Service_Resource +{ + /** + * Creates a new comment on a file. (comments.create) + * + * @param string $fileId The ID of the file. + * @param Google_Service_Drive_Comment $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Drive_Comment + */ + public function create($fileId, Google_Service_Drive_Comment $postBody, $optParams = array()) + { + $params = array('fileId' => $fileId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('create', array($params), "Google_Service_Drive_Comment"); + } + /** + * Deletes a comment. (comments.delete) + * + * @param string $fileId The ID of the file. + * @param string $commentId The ID of the comment. + * @param array $optParams Optional parameters. + */ + public function delete($fileId, $commentId, $optParams = array()) + { + $params = array('fileId' => $fileId, 'commentId' => $commentId); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params)); + } + /** + * Gets a comment by ID. (comments.get) + * + * @param string $fileId The ID of the file. + * @param string $commentId The ID of the comment. + * @param array $optParams Optional parameters. + * + * @opt_param bool includeDeleted Whether to return deleted comments. Deleted + * comments will not include their original content. + * @return Google_Service_Drive_Comment + */ + public function get($fileId, $commentId, $optParams = array()) + { + $params = array('fileId' => $fileId, 'commentId' => $commentId); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Drive_Comment"); + } + /** + * Lists a file's comments. (comments.listComments) + * + * @param string $fileId The ID of the file. + * @param array $optParams Optional parameters. + * + * @opt_param bool includeDeleted Whether to include deleted comments. Deleted + * comments will not include their original content. + * @opt_param int pageSize The maximum number of comments to return per page. + * @opt_param string pageToken The token for continuing a previous list request + * on the next page. This should be set to the value of 'nextPageToken' from the + * previous response. + * @opt_param string startModifiedTime The minimum value of 'modifiedTime' for + * the result comments (RFC 3339 date-time). + * @return Google_Service_Drive_CommentList + */ + public function listComments($fileId, $optParams = array()) + { + $params = array('fileId' => $fileId); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Drive_CommentList"); + } + /** + * Updates a comment with patch semantics. (comments.update) + * + * @param string $fileId The ID of the file. + * @param string $commentId The ID of the comment. + * @param Google_Service_Drive_Comment $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Drive_Comment + */ + public function update($fileId, $commentId, Google_Service_Drive_Comment $postBody, $optParams = array()) + { + $params = array('fileId' => $fileId, 'commentId' => $commentId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('update', array($params), "Google_Service_Drive_Comment"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Drive/Resource/Files.php b/vendor/google/apiclient-services/src/Google/Service/Drive/Resource/Files.php new file mode 100644 index 00000000..e8180228 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Drive/Resource/Files.php @@ -0,0 +1,251 @@ + + * $driveService = new Google_Service_Drive(...); + * $files = $driveService->files; + * + */ +class Google_Service_Drive_Resource_Files extends Google_Service_Resource +{ + /** + * Creates a copy of a file and applies any requested updates with patch + * semantics. (files.copy) + * + * @param string $fileId The ID of the file. + * @param Google_Service_Drive_DriveFile $postBody + * @param array $optParams Optional parameters. + * + * @opt_param bool ignoreDefaultVisibility Whether to ignore the domain's + * default visibility settings for the created file. Domain administrators can + * choose to make all uploaded files visible to the domain by default; this + * parameter bypasses that behavior for the request. Permissions are still + * inherited from parent folders. + * @opt_param bool keepRevisionForever Whether to set the 'keepForever' field in + * the new head revision. This is only applicable to files with binary content + * in Drive. + * @opt_param string ocrLanguage A language hint for OCR processing during image + * import (ISO 639-1 code). + * @opt_param bool supportsTeamDrives Whether the requesting application + * supports Team Drives. + * @return Google_Service_Drive_DriveFile + */ + public function copy($fileId, Google_Service_Drive_DriveFile $postBody, $optParams = array()) + { + $params = array('fileId' => $fileId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('copy', array($params), "Google_Service_Drive_DriveFile"); + } + /** + * Creates a new file. (files.create) + * + * @param Google_Service_Drive_DriveFile $postBody + * @param array $optParams Optional parameters. + * + * @opt_param bool ignoreDefaultVisibility Whether to ignore the domain's + * default visibility settings for the created file. Domain administrators can + * choose to make all uploaded files visible to the domain by default; this + * parameter bypasses that behavior for the request. Permissions are still + * inherited from parent folders. + * @opt_param bool keepRevisionForever Whether to set the 'keepForever' field in + * the new head revision. This is only applicable to files with binary content + * in Drive. + * @opt_param string ocrLanguage A language hint for OCR processing during image + * import (ISO 639-1 code). + * @opt_param bool supportsTeamDrives Whether the requesting application + * supports Team Drives. + * @opt_param bool useContentAsIndexableText Whether to use the uploaded content + * as indexable text. + * @return Google_Service_Drive_DriveFile + */ + public function create(Google_Service_Drive_DriveFile $postBody, $optParams = array()) + { + $params = array('postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('create', array($params), "Google_Service_Drive_DriveFile"); + } + /** + * Permanently deletes a file owned by the user without moving it to the trash. + * If the file belongs to a Team Drive the user must be an organizer on the + * parent. If the target is a folder, all descendants owned by the user are also + * deleted. (files.delete) + * + * @param string $fileId The ID of the file. + * @param array $optParams Optional parameters. + * + * @opt_param bool supportsTeamDrives Whether the requesting application + * supports Team Drives. + */ + public function delete($fileId, $optParams = array()) + { + $params = array('fileId' => $fileId); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params)); + } + /** + * Permanently deletes all of the user's trashed files. (files.emptyTrash) + * + * @param array $optParams Optional parameters. + */ + public function emptyTrash($optParams = array()) + { + $params = array(); + $params = array_merge($params, $optParams); + return $this->call('emptyTrash', array($params)); + } + /** + * Exports a Google Doc to the requested MIME type and returns the exported + * content. (files.export) + * + * @param string $fileId The ID of the file. + * @param string $mimeType The MIME type of the format requested for this + * export. + * @param array $optParams Optional parameters. + */ + public function export($fileId, $mimeType, $optParams = array()) + { + $params = array('fileId' => $fileId, 'mimeType' => $mimeType); + $params = array_merge($params, $optParams); + return $this->call('export', array($params)); + } + /** + * Generates a set of file IDs which can be provided in create requests. + * (files.generateIds) + * + * @param array $optParams Optional parameters. + * + * @opt_param int count The number of IDs to return. + * @opt_param string space The space in which the IDs can be used to create new + * files. Supported values are 'drive' and 'appDataFolder'. + * @return Google_Service_Drive_GeneratedIds + */ + public function generateIds($optParams = array()) + { + $params = array(); + $params = array_merge($params, $optParams); + return $this->call('generateIds', array($params), "Google_Service_Drive_GeneratedIds"); + } + /** + * Gets a file's metadata or content by ID. (files.get) + * + * @param string $fileId The ID of the file. + * @param array $optParams Optional parameters. + * + * @opt_param bool acknowledgeAbuse Whether the user is acknowledging the risk + * of downloading known malware or other abusive files. This is only applicable + * when alt=media. + * @opt_param bool supportsTeamDrives Whether the requesting application + * supports Team Drives. + * @return Google_Service_Drive_DriveFile + */ + public function get($fileId, $optParams = array()) + { + $params = array('fileId' => $fileId); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Drive_DriveFile"); + } + /** + * Lists or searches files. (files.listFiles) + * + * @param array $optParams Optional parameters. + * + * @opt_param string corpora Comma-separated list of bodies of items + * (files/documents) to which the query applies. Supported bodies are 'user', + * 'domain', 'teamDrive' and 'allTeamDrives'. 'allTeamDrives' must be combined + * with 'user'; all other values must be used in isolation. Prefer 'user' or + * 'teamDrive' to 'allTeamDrives' for efficiency. + * @opt_param string corpus The source of files to list. Deprecated: use + * 'corpora' instead. + * @opt_param bool includeTeamDriveItems Whether Team Drive items should be + * included in results. + * @opt_param string orderBy A comma-separated list of sort keys. Valid keys are + * 'createdTime', 'folder', 'modifiedByMeTime', 'modifiedTime', 'name', + * 'quotaBytesUsed', 'recency', 'sharedWithMeTime', 'starred', and + * 'viewedByMeTime'. Each key sorts ascending by default, but may be reversed + * with the 'desc' modifier. Example usage: ?orderBy=folder,modifiedTime + * desc,name. Please note that there is a current limitation for users with + * approximately one million files in which the requested sort order is ignored. + * @opt_param int pageSize The maximum number of files to return per page. + * @opt_param string pageToken The token for continuing a previous list request + * on the next page. This should be set to the value of 'nextPageToken' from the + * previous response. + * @opt_param string q A query for filtering the file results. See the "Search + * for Files" guide for supported syntax. + * @opt_param string spaces A comma-separated list of spaces to query within the + * corpus. Supported values are 'drive', 'appDataFolder' and 'photos'. + * @opt_param bool supportsTeamDrives Whether the requesting application + * supports Team Drives. + * @opt_param string teamDriveId ID of Team Drive to search. + * @return Google_Service_Drive_FileList + */ + public function listFiles($optParams = array()) + { + $params = array(); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Drive_FileList"); + } + /** + * Updates a file's metadata and/or content with patch semantics. (files.update) + * + * @param string $fileId The ID of the file. + * @param Google_Service_Drive_DriveFile $postBody + * @param array $optParams Optional parameters. + * + * @opt_param string addParents A comma-separated list of parent IDs to add. + * @opt_param bool keepRevisionForever Whether to set the 'keepForever' field in + * the new head revision. This is only applicable to files with binary content + * in Drive. + * @opt_param string ocrLanguage A language hint for OCR processing during image + * import (ISO 639-1 code). + * @opt_param string removeParents A comma-separated list of parent IDs to + * remove. + * @opt_param bool supportsTeamDrives Whether the requesting application + * supports Team Drives. + * @opt_param bool useContentAsIndexableText Whether to use the uploaded content + * as indexable text. + * @return Google_Service_Drive_DriveFile + */ + public function update($fileId, Google_Service_Drive_DriveFile $postBody, $optParams = array()) + { + $params = array('fileId' => $fileId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('update', array($params), "Google_Service_Drive_DriveFile"); + } + /** + * Subscribes to changes to a file (files.watch) + * + * @param string $fileId The ID of the file. + * @param Google_Service_Drive_Channel $postBody + * @param array $optParams Optional parameters. + * + * @opt_param bool acknowledgeAbuse Whether the user is acknowledging the risk + * of downloading known malware or other abusive files. This is only applicable + * when alt=media. + * @opt_param bool supportsTeamDrives Whether the requesting application + * supports Team Drives. + * @return Google_Service_Drive_Channel + */ + public function watch($fileId, Google_Service_Drive_Channel $postBody, $optParams = array()) + { + $params = array('fileId' => $fileId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('watch', array($params), "Google_Service_Drive_Channel"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Drive/Resource/Permissions.php b/vendor/google/apiclient-services/src/Google/Service/Drive/Resource/Permissions.php new file mode 100644 index 00000000..76462ba2 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Drive/Resource/Permissions.php @@ -0,0 +1,132 @@ + + * $driveService = new Google_Service_Drive(...); + * $permissions = $driveService->permissions; + * + */ +class Google_Service_Drive_Resource_Permissions extends Google_Service_Resource +{ + /** + * Creates a permission for a file or Team Drive. (permissions.create) + * + * @param string $fileId The ID of the file or Team Drive. + * @param Google_Service_Drive_Permission $postBody + * @param array $optParams Optional parameters. + * + * @opt_param string emailMessage A custom message to include in the + * notification email. + * @opt_param bool sendNotificationEmail Whether to send a notification email + * when sharing to users or groups. This defaults to true for users and groups, + * and is not allowed for other requests. It must not be disabled for ownership + * transfers. + * @opt_param bool supportsTeamDrives Whether the requesting application + * supports Team Drives. + * @opt_param bool transferOwnership Whether to transfer ownership to the + * specified user and downgrade the current owner to a writer. This parameter is + * required as an acknowledgement of the side effect. + * @return Google_Service_Drive_Permission + */ + public function create($fileId, Google_Service_Drive_Permission $postBody, $optParams = array()) + { + $params = array('fileId' => $fileId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('create', array($params), "Google_Service_Drive_Permission"); + } + /** + * Deletes a permission. (permissions.delete) + * + * @param string $fileId The ID of the file or Team Drive. + * @param string $permissionId The ID of the permission. + * @param array $optParams Optional parameters. + * + * @opt_param bool supportsTeamDrives Whether the requesting application + * supports Team Drives. + */ + public function delete($fileId, $permissionId, $optParams = array()) + { + $params = array('fileId' => $fileId, 'permissionId' => $permissionId); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params)); + } + /** + * Gets a permission by ID. (permissions.get) + * + * @param string $fileId The ID of the file. + * @param string $permissionId The ID of the permission. + * @param array $optParams Optional parameters. + * + * @opt_param bool supportsTeamDrives Whether the requesting application + * supports Team Drives. + * @return Google_Service_Drive_Permission + */ + public function get($fileId, $permissionId, $optParams = array()) + { + $params = array('fileId' => $fileId, 'permissionId' => $permissionId); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Drive_Permission"); + } + /** + * Lists a file's or Team Drive's permissions. (permissions.listPermissions) + * + * @param string $fileId The ID of the file or Team Drive. + * @param array $optParams Optional parameters. + * + * @opt_param int pageSize The maximum number of permissions to return per page. + * When not set for files in a Team Drive, at most 100 results will be returned. + * When not set for files that are not in a Team Drive, the entire list will be + * returned. + * @opt_param string pageToken The token for continuing a previous list request + * on the next page. This should be set to the value of 'nextPageToken' from the + * previous response. + * @opt_param bool supportsTeamDrives Whether the requesting application + * supports Team Drives. + * @return Google_Service_Drive_PermissionList + */ + public function listPermissions($fileId, $optParams = array()) + { + $params = array('fileId' => $fileId); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Drive_PermissionList"); + } + /** + * Updates a permission with patch semantics. (permissions.update) + * + * @param string $fileId The ID of the file or Team Drive. + * @param string $permissionId The ID of the permission. + * @param Google_Service_Drive_Permission $postBody + * @param array $optParams Optional parameters. + * + * @opt_param bool removeExpiration Whether to remove the expiration date. + * @opt_param bool supportsTeamDrives Whether the requesting application + * supports Team Drives. + * @opt_param bool transferOwnership Whether to transfer ownership to the + * specified user and downgrade the current owner to a writer. This parameter is + * required as an acknowledgement of the side effect. + * @return Google_Service_Drive_Permission + */ + public function update($fileId, $permissionId, Google_Service_Drive_Permission $postBody, $optParams = array()) + { + $params = array('fileId' => $fileId, 'permissionId' => $permissionId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('update', array($params), "Google_Service_Drive_Permission"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Drive/Resource/Replies.php b/vendor/google/apiclient-services/src/Google/Service/Drive/Resource/Replies.php new file mode 100644 index 00000000..3db6854a --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Drive/Resource/Replies.php @@ -0,0 +1,112 @@ + + * $driveService = new Google_Service_Drive(...); + * $replies = $driveService->replies; + * + */ +class Google_Service_Drive_Resource_Replies extends Google_Service_Resource +{ + /** + * Creates a new reply to a comment. (replies.create) + * + * @param string $fileId The ID of the file. + * @param string $commentId The ID of the comment. + * @param Google_Service_Drive_Reply $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Drive_Reply + */ + public function create($fileId, $commentId, Google_Service_Drive_Reply $postBody, $optParams = array()) + { + $params = array('fileId' => $fileId, 'commentId' => $commentId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('create', array($params), "Google_Service_Drive_Reply"); + } + /** + * Deletes a reply. (replies.delete) + * + * @param string $fileId The ID of the file. + * @param string $commentId The ID of the comment. + * @param string $replyId The ID of the reply. + * @param array $optParams Optional parameters. + */ + public function delete($fileId, $commentId, $replyId, $optParams = array()) + { + $params = array('fileId' => $fileId, 'commentId' => $commentId, 'replyId' => $replyId); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params)); + } + /** + * Gets a reply by ID. (replies.get) + * + * @param string $fileId The ID of the file. + * @param string $commentId The ID of the comment. + * @param string $replyId The ID of the reply. + * @param array $optParams Optional parameters. + * + * @opt_param bool includeDeleted Whether to return deleted replies. Deleted + * replies will not include their original content. + * @return Google_Service_Drive_Reply + */ + public function get($fileId, $commentId, $replyId, $optParams = array()) + { + $params = array('fileId' => $fileId, 'commentId' => $commentId, 'replyId' => $replyId); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Drive_Reply"); + } + /** + * Lists a comment's replies. (replies.listReplies) + * + * @param string $fileId The ID of the file. + * @param string $commentId The ID of the comment. + * @param array $optParams Optional parameters. + * + * @opt_param bool includeDeleted Whether to include deleted replies. Deleted + * replies will not include their original content. + * @opt_param int pageSize The maximum number of replies to return per page. + * @opt_param string pageToken The token for continuing a previous list request + * on the next page. This should be set to the value of 'nextPageToken' from the + * previous response. + * @return Google_Service_Drive_ReplyList + */ + public function listReplies($fileId, $commentId, $optParams = array()) + { + $params = array('fileId' => $fileId, 'commentId' => $commentId); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Drive_ReplyList"); + } + /** + * Updates a reply with patch semantics. (replies.update) + * + * @param string $fileId The ID of the file. + * @param string $commentId The ID of the comment. + * @param string $replyId The ID of the reply. + * @param Google_Service_Drive_Reply $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Drive_Reply + */ + public function update($fileId, $commentId, $replyId, Google_Service_Drive_Reply $postBody, $optParams = array()) + { + $params = array('fileId' => $fileId, 'commentId' => $commentId, 'replyId' => $replyId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('update', array($params), "Google_Service_Drive_Reply"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Drive/Resource/Revisions.php b/vendor/google/apiclient-services/src/Google/Service/Drive/Resource/Revisions.php new file mode 100644 index 00000000..78278396 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Drive/Resource/Revisions.php @@ -0,0 +1,93 @@ + + * $driveService = new Google_Service_Drive(...); + * $revisions = $driveService->revisions; + * + */ +class Google_Service_Drive_Resource_Revisions extends Google_Service_Resource +{ + /** + * Permanently deletes a revision. This method is only applicable to files with + * binary content in Drive. (revisions.delete) + * + * @param string $fileId The ID of the file. + * @param string $revisionId The ID of the revision. + * @param array $optParams Optional parameters. + */ + public function delete($fileId, $revisionId, $optParams = array()) + { + $params = array('fileId' => $fileId, 'revisionId' => $revisionId); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params)); + } + /** + * Gets a revision's metadata or content by ID. (revisions.get) + * + * @param string $fileId The ID of the file. + * @param string $revisionId The ID of the revision. + * @param array $optParams Optional parameters. + * + * @opt_param bool acknowledgeAbuse Whether the user is acknowledging the risk + * of downloading known malware or other abusive files. This is only applicable + * when alt=media. + * @return Google_Service_Drive_Revision + */ + public function get($fileId, $revisionId, $optParams = array()) + { + $params = array('fileId' => $fileId, 'revisionId' => $revisionId); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Drive_Revision"); + } + /** + * Lists a file's revisions. (revisions.listRevisions) + * + * @param string $fileId The ID of the file. + * @param array $optParams Optional parameters. + * + * @opt_param int pageSize The maximum number of revisions to return per page. + * @opt_param string pageToken The token for continuing a previous list request + * on the next page. This should be set to the value of 'nextPageToken' from the + * previous response. + * @return Google_Service_Drive_RevisionList + */ + public function listRevisions($fileId, $optParams = array()) + { + $params = array('fileId' => $fileId); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Drive_RevisionList"); + } + /** + * Updates a revision with patch semantics. (revisions.update) + * + * @param string $fileId The ID of the file. + * @param string $revisionId The ID of the revision. + * @param Google_Service_Drive_Revision $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Drive_Revision + */ + public function update($fileId, $revisionId, Google_Service_Drive_Revision $postBody, $optParams = array()) + { + $params = array('fileId' => $fileId, 'revisionId' => $revisionId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('update', array($params), "Google_Service_Drive_Revision"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Drive/Resource/Teamdrives.php b/vendor/google/apiclient-services/src/Google/Service/Drive/Resource/Teamdrives.php new file mode 100644 index 00000000..847ef4cc --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Drive/Resource/Teamdrives.php @@ -0,0 +1,101 @@ + + * $driveService = new Google_Service_Drive(...); + * $teamdrives = $driveService->teamdrives; + * + */ +class Google_Service_Drive_Resource_Teamdrives extends Google_Service_Resource +{ + /** + * Creates a new Team Drive. (teamdrives.create) + * + * @param string $requestId An ID, such as a random UUID, which uniquely + * identifies this user's request for idempotent creation of a Team Drive. A + * repeated request by the same user and with the same request ID will avoid + * creating duplicates by attempting to create the same Team Drive. If the Team + * Drive already exists a 409 error will be returned. + * @param Google_Service_Drive_TeamDrive $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Drive_TeamDrive + */ + public function create($requestId, Google_Service_Drive_TeamDrive $postBody, $optParams = array()) + { + $params = array('requestId' => $requestId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('create', array($params), "Google_Service_Drive_TeamDrive"); + } + /** + * Permanently deletes a Team Drive for which the user is an organizer. The Team + * Drive cannot contain any untrashed items. (teamdrives.delete) + * + * @param string $teamDriveId The ID of the Team Drive + * @param array $optParams Optional parameters. + */ + public function delete($teamDriveId, $optParams = array()) + { + $params = array('teamDriveId' => $teamDriveId); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params)); + } + /** + * Gets a Team Drive's metadata by ID. (teamdrives.get) + * + * @param string $teamDriveId The ID of the Team Drive + * @param array $optParams Optional parameters. + * @return Google_Service_Drive_TeamDrive + */ + public function get($teamDriveId, $optParams = array()) + { + $params = array('teamDriveId' => $teamDriveId); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Drive_TeamDrive"); + } + /** + * Lists the user's Team Drives. (teamdrives.listTeamdrives) + * + * @param array $optParams Optional parameters. + * + * @opt_param int pageSize Maximum number of Team Drives to return. + * @opt_param string pageToken Page token for Team Drives. + * @return Google_Service_Drive_TeamDriveList + */ + public function listTeamdrives($optParams = array()) + { + $params = array(); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Drive_TeamDriveList"); + } + /** + * Updates a Team Drive's metadata (teamdrives.update) + * + * @param string $teamDriveId The ID of the Team Drive + * @param Google_Service_Drive_TeamDrive $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Drive_TeamDrive + */ + public function update($teamDriveId, Google_Service_Drive_TeamDrive $postBody, $optParams = array()) + { + $params = array('teamDriveId' => $teamDriveId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('update', array($params), "Google_Service_Drive_TeamDrive"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Drive/Revision.php b/vendor/google/apiclient-services/src/Google/Service/Drive/Revision.php new file mode 100644 index 00000000..c783e621 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Drive/Revision.php @@ -0,0 +1,130 @@ +id = $id; + } + public function getId() + { + return $this->id; + } + public function setKeepForever($keepForever) + { + $this->keepForever = $keepForever; + } + public function getKeepForever() + { + return $this->keepForever; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setLastModifyingUser(Google_Service_Drive_User $lastModifyingUser) + { + $this->lastModifyingUser = $lastModifyingUser; + } + public function getLastModifyingUser() + { + return $this->lastModifyingUser; + } + public function setMd5Checksum($md5Checksum) + { + $this->md5Checksum = $md5Checksum; + } + public function getMd5Checksum() + { + return $this->md5Checksum; + } + public function setMimeType($mimeType) + { + $this->mimeType = $mimeType; + } + public function getMimeType() + { + return $this->mimeType; + } + public function setModifiedTime($modifiedTime) + { + $this->modifiedTime = $modifiedTime; + } + public function getModifiedTime() + { + return $this->modifiedTime; + } + public function setOriginalFilename($originalFilename) + { + $this->originalFilename = $originalFilename; + } + public function getOriginalFilename() + { + return $this->originalFilename; + } + public function setPublishAuto($publishAuto) + { + $this->publishAuto = $publishAuto; + } + public function getPublishAuto() + { + return $this->publishAuto; + } + public function setPublished($published) + { + $this->published = $published; + } + public function getPublished() + { + return $this->published; + } + public function setPublishedOutsideDomain($publishedOutsideDomain) + { + $this->publishedOutsideDomain = $publishedOutsideDomain; + } + public function getPublishedOutsideDomain() + { + return $this->publishedOutsideDomain; + } + public function setSize($size) + { + $this->size = $size; + } + public function getSize() + { + return $this->size; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Drive/RevisionList.php b/vendor/google/apiclient-services/src/Google/Service/Drive/RevisionList.php new file mode 100644 index 00000000..973ea951 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Drive/RevisionList.php @@ -0,0 +1,50 @@ +kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setRevisions($revisions) + { + $this->revisions = $revisions; + } + public function getRevisions() + { + return $this->revisions; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Drive/StartPageToken.php b/vendor/google/apiclient-services/src/Google/Service/Drive/StartPageToken.php new file mode 100644 index 00000000..cd2615ca --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Drive/StartPageToken.php @@ -0,0 +1,39 @@ +kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setStartPageToken($startPageToken) + { + $this->startPageToken = $startPageToken; + } + public function getStartPageToken() + { + return $this->startPageToken; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Drive/TeamDrive.php b/vendor/google/apiclient-services/src/Google/Service/Drive/TeamDrive.php new file mode 100644 index 00000000..716a74fa --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Drive/TeamDrive.php @@ -0,0 +1,58 @@ +capabilities = $capabilities; + } + public function getCapabilities() + { + return $this->capabilities; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Drive/TeamDriveCapabilities.php b/vendor/google/apiclient-services/src/Google/Service/Drive/TeamDriveCapabilities.php new file mode 100644 index 00000000..69913d97 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Drive/TeamDriveCapabilities.php @@ -0,0 +1,138 @@ +canAddChildren = $canAddChildren; + } + public function getCanAddChildren() + { + return $this->canAddChildren; + } + public function setCanComment($canComment) + { + $this->canComment = $canComment; + } + public function getCanComment() + { + return $this->canComment; + } + public function setCanCopy($canCopy) + { + $this->canCopy = $canCopy; + } + public function getCanCopy() + { + return $this->canCopy; + } + public function setCanDeleteTeamDrive($canDeleteTeamDrive) + { + $this->canDeleteTeamDrive = $canDeleteTeamDrive; + } + public function getCanDeleteTeamDrive() + { + return $this->canDeleteTeamDrive; + } + public function setCanDownload($canDownload) + { + $this->canDownload = $canDownload; + } + public function getCanDownload() + { + return $this->canDownload; + } + public function setCanEdit($canEdit) + { + $this->canEdit = $canEdit; + } + public function getCanEdit() + { + return $this->canEdit; + } + public function setCanListChildren($canListChildren) + { + $this->canListChildren = $canListChildren; + } + public function getCanListChildren() + { + return $this->canListChildren; + } + public function setCanManageMembers($canManageMembers) + { + $this->canManageMembers = $canManageMembers; + } + public function getCanManageMembers() + { + return $this->canManageMembers; + } + public function setCanReadRevisions($canReadRevisions) + { + $this->canReadRevisions = $canReadRevisions; + } + public function getCanReadRevisions() + { + return $this->canReadRevisions; + } + public function setCanRemoveChildren($canRemoveChildren) + { + $this->canRemoveChildren = $canRemoveChildren; + } + public function getCanRemoveChildren() + { + return $this->canRemoveChildren; + } + public function setCanRename($canRename) + { + $this->canRename = $canRename; + } + public function getCanRename() + { + return $this->canRename; + } + public function setCanRenameTeamDrive($canRenameTeamDrive) + { + $this->canRenameTeamDrive = $canRenameTeamDrive; + } + public function getCanRenameTeamDrive() + { + return $this->canRenameTeamDrive; + } + public function setCanShare($canShare) + { + $this->canShare = $canShare; + } + public function getCanShare() + { + return $this->canShare; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Drive/TeamDriveList.php b/vendor/google/apiclient-services/src/Google/Service/Drive/TeamDriveList.php new file mode 100644 index 00000000..a64ba690 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Drive/TeamDriveList.php @@ -0,0 +1,50 @@ +kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setTeamDrives($teamDrives) + { + $this->teamDrives = $teamDrives; + } + public function getTeamDrives() + { + return $this->teamDrives; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Drive/User.php b/vendor/google/apiclient-services/src/Google/Service/Drive/User.php new file mode 100644 index 00000000..aaa044d5 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Drive/User.php @@ -0,0 +1,75 @@ +displayName = $displayName; + } + public function getDisplayName() + { + return $this->displayName; + } + public function setEmailAddress($emailAddress) + { + $this->emailAddress = $emailAddress; + } + public function getEmailAddress() + { + return $this->emailAddress; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setMe($me) + { + $this->me = $me; + } + public function getMe() + { + return $this->me; + } + public function setPermissionId($permissionId) + { + $this->permissionId = $permissionId; + } + public function getPermissionId() + { + return $this->permissionId; + } + public function setPhotoLink($photoLink) + { + $this->photoLink = $photoLink; + } + public function getPhotoLink() + { + return $this->photoLink; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/FirebaseDynamicLinks.php b/vendor/google/apiclient-services/src/Google/Service/FirebaseDynamicLinks.php new file mode 100644 index 00000000..0f7ff87b --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/FirebaseDynamicLinks.php @@ -0,0 +1,68 @@ + + * Firebase Dynamic Links API enables third party developers to programmatically + * create and manage Dynamic Links.

+ * + *

+ * For more information about this service, see the API + * Documentation + *

+ * + * @author Google, Inc. + */ +class Google_Service_FirebaseDynamicLinks extends Google_Service +{ + /** View and administer all your Firebase data and settings. */ + const FIREBASE = + "https://www.googleapis.com/auth/firebase"; + + public $shortLinks; + + /** + * Constructs the internal representation of the FirebaseDynamicLinks service. + * + * @param Google_Client $client + */ + public function __construct(Google_Client $client) + { + parent::__construct($client); + $this->rootUrl = 'https://firebasedynamiclinks.googleapis.com/'; + $this->servicePath = ''; + $this->version = 'v1'; + $this->serviceName = 'firebasedynamiclinks'; + + $this->shortLinks = new Google_Service_FirebaseDynamicLinks_Resource_ShortLinks( + $this, + $this->serviceName, + 'shortLinks', + array( + 'methods' => array( + 'create' => array( + 'path' => 'v1/shortLinks', + 'httpMethod' => 'POST', + 'parameters' => array(), + ), + ) + ) + ); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/FirebaseDynamicLinks/AnalyticsInfo.php b/vendor/google/apiclient-services/src/Google/Service/FirebaseDynamicLinks/AnalyticsInfo.php new file mode 100644 index 00000000..f1cd2465 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/FirebaseDynamicLinks/AnalyticsInfo.php @@ -0,0 +1,41 @@ +googlePlayAnalytics = $googlePlayAnalytics; + } + public function getGooglePlayAnalytics() + { + return $this->googlePlayAnalytics; + } + public function setItunesConnectAnalytics(Google_Service_FirebaseDynamicLinks_ITunesConnectAnalytics $itunesConnectAnalytics) + { + $this->itunesConnectAnalytics = $itunesConnectAnalytics; + } + public function getItunesConnectAnalytics() + { + return $this->itunesConnectAnalytics; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/FirebaseDynamicLinks/AndroidInfo.php b/vendor/google/apiclient-services/src/Google/Service/FirebaseDynamicLinks/AndroidInfo.php new file mode 100644 index 00000000..d32653e9 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/FirebaseDynamicLinks/AndroidInfo.php @@ -0,0 +1,57 @@ +androidFallbackLink = $androidFallbackLink; + } + public function getAndroidFallbackLink() + { + return $this->androidFallbackLink; + } + public function setAndroidLink($androidLink) + { + $this->androidLink = $androidLink; + } + public function getAndroidLink() + { + return $this->androidLink; + } + public function setAndroidMinPackageVersionCode($androidMinPackageVersionCode) + { + $this->androidMinPackageVersionCode = $androidMinPackageVersionCode; + } + public function getAndroidMinPackageVersionCode() + { + return $this->androidMinPackageVersionCode; + } + public function setAndroidPackageName($androidPackageName) + { + $this->androidPackageName = $androidPackageName; + } + public function getAndroidPackageName() + { + return $this->androidPackageName; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/FirebaseDynamicLinks/CreateShortDynamicLinkRequest.php b/vendor/google/apiclient-services/src/Google/Service/FirebaseDynamicLinks/CreateShortDynamicLinkRequest.php new file mode 100644 index 00000000..8ed9aac5 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/FirebaseDynamicLinks/CreateShortDynamicLinkRequest.php @@ -0,0 +1,50 @@ +dynamicLinkInfo = $dynamicLinkInfo; + } + public function getDynamicLinkInfo() + { + return $this->dynamicLinkInfo; + } + public function setLongDynamicLink($longDynamicLink) + { + $this->longDynamicLink = $longDynamicLink; + } + public function getLongDynamicLink() + { + return $this->longDynamicLink; + } + public function setSuffix(Google_Service_FirebaseDynamicLinks_Suffix $suffix) + { + $this->suffix = $suffix; + } + public function getSuffix() + { + return $this->suffix; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/FirebaseDynamicLinks/CreateShortDynamicLinkResponse.php b/vendor/google/apiclient-services/src/Google/Service/FirebaseDynamicLinks/CreateShortDynamicLinkResponse.php new file mode 100644 index 00000000..4bc4f6f7 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/FirebaseDynamicLinks/CreateShortDynamicLinkResponse.php @@ -0,0 +1,50 @@ +previewLink = $previewLink; + } + public function getPreviewLink() + { + return $this->previewLink; + } + public function setShortLink($shortLink) + { + $this->shortLink = $shortLink; + } + public function getShortLink() + { + return $this->shortLink; + } + public function setWarning($warning) + { + $this->warning = $warning; + } + public function getWarning() + { + return $this->warning; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/FirebaseDynamicLinks/DynamicLinkInfo.php b/vendor/google/apiclient-services/src/Google/Service/FirebaseDynamicLinks/DynamicLinkInfo.php new file mode 100644 index 00000000..2d5e2989 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/FirebaseDynamicLinks/DynamicLinkInfo.php @@ -0,0 +1,89 @@ +analyticsInfo = $analyticsInfo; + } + public function getAnalyticsInfo() + { + return $this->analyticsInfo; + } + public function setAndroidInfo(Google_Service_FirebaseDynamicLinks_AndroidInfo $androidInfo) + { + $this->androidInfo = $androidInfo; + } + public function getAndroidInfo() + { + return $this->androidInfo; + } + public function setDynamicLinkDomain($dynamicLinkDomain) + { + $this->dynamicLinkDomain = $dynamicLinkDomain; + } + public function getDynamicLinkDomain() + { + return $this->dynamicLinkDomain; + } + public function setIosInfo(Google_Service_FirebaseDynamicLinks_IosInfo $iosInfo) + { + $this->iosInfo = $iosInfo; + } + public function getIosInfo() + { + return $this->iosInfo; + } + public function setLink($link) + { + $this->link = $link; + } + public function getLink() + { + return $this->link; + } + public function setNavigationInfo(Google_Service_FirebaseDynamicLinks_NavigationInfo $navigationInfo) + { + $this->navigationInfo = $navigationInfo; + } + public function getNavigationInfo() + { + return $this->navigationInfo; + } + public function setSocialMetaTagInfo(Google_Service_FirebaseDynamicLinks_SocialMetaTagInfo $socialMetaTagInfo) + { + $this->socialMetaTagInfo = $socialMetaTagInfo; + } + public function getSocialMetaTagInfo() + { + return $this->socialMetaTagInfo; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/FirebaseDynamicLinks/DynamicLinkWarning.php b/vendor/google/apiclient-services/src/Google/Service/FirebaseDynamicLinks/DynamicLinkWarning.php new file mode 100644 index 00000000..f0e0bf48 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/FirebaseDynamicLinks/DynamicLinkWarning.php @@ -0,0 +1,39 @@ +warningCode = $warningCode; + } + public function getWarningCode() + { + return $this->warningCode; + } + public function setWarningMessage($warningMessage) + { + $this->warningMessage = $warningMessage; + } + public function getWarningMessage() + { + return $this->warningMessage; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/FirebaseDynamicLinks/GooglePlayAnalytics.php b/vendor/google/apiclient-services/src/Google/Service/FirebaseDynamicLinks/GooglePlayAnalytics.php new file mode 100644 index 00000000..d5a67d25 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/FirebaseDynamicLinks/GooglePlayAnalytics.php @@ -0,0 +1,75 @@ +gclid = $gclid; + } + public function getGclid() + { + return $this->gclid; + } + public function setUtmCampaign($utmCampaign) + { + $this->utmCampaign = $utmCampaign; + } + public function getUtmCampaign() + { + return $this->utmCampaign; + } + public function setUtmContent($utmContent) + { + $this->utmContent = $utmContent; + } + public function getUtmContent() + { + return $this->utmContent; + } + public function setUtmMedium($utmMedium) + { + $this->utmMedium = $utmMedium; + } + public function getUtmMedium() + { + return $this->utmMedium; + } + public function setUtmSource($utmSource) + { + $this->utmSource = $utmSource; + } + public function getUtmSource() + { + return $this->utmSource; + } + public function setUtmTerm($utmTerm) + { + $this->utmTerm = $utmTerm; + } + public function getUtmTerm() + { + return $this->utmTerm; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/FirebaseDynamicLinks/ITunesConnectAnalytics.php b/vendor/google/apiclient-services/src/Google/Service/FirebaseDynamicLinks/ITunesConnectAnalytics.php new file mode 100644 index 00000000..a922dfa5 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/FirebaseDynamicLinks/ITunesConnectAnalytics.php @@ -0,0 +1,57 @@ +at = $at; + } + public function getAt() + { + return $this->at; + } + public function setCt($ct) + { + $this->ct = $ct; + } + public function getCt() + { + return $this->ct; + } + public function setMt($mt) + { + $this->mt = $mt; + } + public function getMt() + { + return $this->mt; + } + public function setPt($pt) + { + $this->pt = $pt; + } + public function getPt() + { + return $this->pt; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/FirebaseDynamicLinks/IosInfo.php b/vendor/google/apiclient-services/src/Google/Service/FirebaseDynamicLinks/IosInfo.php new file mode 100644 index 00000000..3ae84bc0 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/FirebaseDynamicLinks/IosInfo.php @@ -0,0 +1,75 @@ +iosAppStoreId = $iosAppStoreId; + } + public function getIosAppStoreId() + { + return $this->iosAppStoreId; + } + public function setIosBundleId($iosBundleId) + { + $this->iosBundleId = $iosBundleId; + } + public function getIosBundleId() + { + return $this->iosBundleId; + } + public function setIosCustomScheme($iosCustomScheme) + { + $this->iosCustomScheme = $iosCustomScheme; + } + public function getIosCustomScheme() + { + return $this->iosCustomScheme; + } + public function setIosFallbackLink($iosFallbackLink) + { + $this->iosFallbackLink = $iosFallbackLink; + } + public function getIosFallbackLink() + { + return $this->iosFallbackLink; + } + public function setIosIpadBundleId($iosIpadBundleId) + { + $this->iosIpadBundleId = $iosIpadBundleId; + } + public function getIosIpadBundleId() + { + return $this->iosIpadBundleId; + } + public function setIosIpadFallbackLink($iosIpadFallbackLink) + { + $this->iosIpadFallbackLink = $iosIpadFallbackLink; + } + public function getIosIpadFallbackLink() + { + return $this->iosIpadFallbackLink; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/FirebaseDynamicLinks/NavigationInfo.php b/vendor/google/apiclient-services/src/Google/Service/FirebaseDynamicLinks/NavigationInfo.php new file mode 100644 index 00000000..fdae5f34 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/FirebaseDynamicLinks/NavigationInfo.php @@ -0,0 +1,30 @@ +enableForcedRedirect = $enableForcedRedirect; + } + public function getEnableForcedRedirect() + { + return $this->enableForcedRedirect; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/FirebaseDynamicLinks/Resource/ShortLinks.php b/vendor/google/apiclient-services/src/Google/Service/FirebaseDynamicLinks/Resource/ShortLinks.php new file mode 100644 index 00000000..c725504f --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/FirebaseDynamicLinks/Resource/ShortLinks.php @@ -0,0 +1,49 @@ + + * $firebasedynamiclinksService = new Google_Service_FirebaseDynamicLinks(...); + * $shortLinks = $firebasedynamiclinksService->shortLinks; + * + */ +class Google_Service_FirebaseDynamicLinks_Resource_ShortLinks extends Google_Service_Resource +{ + /** + * Creates a short Dynamic Link given either a valid long Dynamic Link or + * details such as Dynamic Link domain, Android and iOS app information. The + * created short Dynamic Link will not expire. + * + * Repeated calls with the same long Dynamic Link or Dynamic Link information + * will produce the same short Dynamic Link. + * + * The Dynamic Link domain in the request must be owned by requester's Firebase + * project. (shortLinks.create) + * + * @param Google_Service_FirebaseDynamicLinks_CreateShortDynamicLinkRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_FirebaseDynamicLinks_CreateShortDynamicLinkResponse + */ + public function create(Google_Service_FirebaseDynamicLinks_CreateShortDynamicLinkRequest $postBody, $optParams = array()) + { + $params = array('postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('create', array($params), "Google_Service_FirebaseDynamicLinks_CreateShortDynamicLinkResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/FirebaseDynamicLinks/SocialMetaTagInfo.php b/vendor/google/apiclient-services/src/Google/Service/FirebaseDynamicLinks/SocialMetaTagInfo.php new file mode 100644 index 00000000..efa8c5ee --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/FirebaseDynamicLinks/SocialMetaTagInfo.php @@ -0,0 +1,48 @@ +socialDescription = $socialDescription; + } + public function getSocialDescription() + { + return $this->socialDescription; + } + public function setSocialImageLink($socialImageLink) + { + $this->socialImageLink = $socialImageLink; + } + public function getSocialImageLink() + { + return $this->socialImageLink; + } + public function setSocialTitle($socialTitle) + { + $this->socialTitle = $socialTitle; + } + public function getSocialTitle() + { + return $this->socialTitle; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/FirebaseDynamicLinks/Suffix.php b/vendor/google/apiclient-services/src/Google/Service/FirebaseDynamicLinks/Suffix.php new file mode 100644 index 00000000..4e9cb2d9 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/FirebaseDynamicLinks/Suffix.php @@ -0,0 +1,30 @@ +option = $option; + } + public function getOption() + { + return $this->option; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/FirebaseDynamicLinksAPI.php b/vendor/google/apiclient-services/src/Google/Service/FirebaseDynamicLinksAPI.php new file mode 100644 index 00000000..4c8ade40 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/FirebaseDynamicLinksAPI.php @@ -0,0 +1,69 @@ + + * Firebase Dynamic Links API enables third party developers to create and + * manage the Dynamic Links(go/fdl).

+ * + *

+ * For more information about this service, see the API + * Documentation + *

+ * + * @author Google, Inc. + */ +class Google_Service_FirebaseDynamicLinksAPI extends Google_Service +{ + /** View and administer all your Firebase data and settings. */ + const FIREBASE = + "https://www.googleapis.com/auth/firebase"; + + public $shortDynamicLinks; + + /** + * Constructs the internal representation of the FirebaseDynamicLinksAPI + * service. + * + * @param Google_Client $client + */ + public function __construct(Google_Client $client) + { + parent::__construct($client); + $this->rootUrl = 'https://firebasedynamiclinks.googleapis.com/'; + $this->servicePath = ''; + $this->version = 'v1'; + $this->serviceName = 'firebasedynamiclinks'; + + $this->shortDynamicLinks = new Google_Service_FirebaseDynamicLinksAPI_Resource_ShortDynamicLinks( + $this, + $this->serviceName, + 'shortDynamicLinks', + array( + 'methods' => array( + 'create' => array( + 'path' => 'v1/shortDynamicLinks', + 'httpMethod' => 'POST', + 'parameters' => array(), + ), + ) + ) + ); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/FirebaseDynamicLinksAPI/AnalyticsInfo.php b/vendor/google/apiclient-services/src/Google/Service/FirebaseDynamicLinksAPI/AnalyticsInfo.php new file mode 100644 index 00000000..07ac37af --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/FirebaseDynamicLinksAPI/AnalyticsInfo.php @@ -0,0 +1,41 @@ +googlePlayAnalytics = $googlePlayAnalytics; + } + public function getGooglePlayAnalytics() + { + return $this->googlePlayAnalytics; + } + public function setItunesConnectAnalytics(Google_Service_FirebaseDynamicLinksAPI_ITunesConnectAnalytics $itunesConnectAnalytics) + { + $this->itunesConnectAnalytics = $itunesConnectAnalytics; + } + public function getItunesConnectAnalytics() + { + return $this->itunesConnectAnalytics; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/FirebaseDynamicLinksAPI/AndroidInfo.php b/vendor/google/apiclient-services/src/Google/Service/FirebaseDynamicLinksAPI/AndroidInfo.php new file mode 100644 index 00000000..63badeac --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/FirebaseDynamicLinksAPI/AndroidInfo.php @@ -0,0 +1,57 @@ +androidFallbackLink = $androidFallbackLink; + } + public function getAndroidFallbackLink() + { + return $this->androidFallbackLink; + } + public function setAndroidLink($androidLink) + { + $this->androidLink = $androidLink; + } + public function getAndroidLink() + { + return $this->androidLink; + } + public function setAndroidMinPackageVersionCode($androidMinPackageVersionCode) + { + $this->androidMinPackageVersionCode = $androidMinPackageVersionCode; + } + public function getAndroidMinPackageVersionCode() + { + return $this->androidMinPackageVersionCode; + } + public function setAndroidPackageName($androidPackageName) + { + $this->androidPackageName = $androidPackageName; + } + public function getAndroidPackageName() + { + return $this->androidPackageName; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/FirebaseDynamicLinksAPI/CreateShortDynamicLinkRequest.php b/vendor/google/apiclient-services/src/Google/Service/FirebaseDynamicLinksAPI/CreateShortDynamicLinkRequest.php new file mode 100644 index 00000000..969f4ed7 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/FirebaseDynamicLinksAPI/CreateShortDynamicLinkRequest.php @@ -0,0 +1,50 @@ +dynamicLinkInfo = $dynamicLinkInfo; + } + public function getDynamicLinkInfo() + { + return $this->dynamicLinkInfo; + } + public function setLongDynamicLink($longDynamicLink) + { + $this->longDynamicLink = $longDynamicLink; + } + public function getLongDynamicLink() + { + return $this->longDynamicLink; + } + public function setSuffix(Google_Service_FirebaseDynamicLinksAPI_Suffix $suffix) + { + $this->suffix = $suffix; + } + public function getSuffix() + { + return $this->suffix; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/FirebaseDynamicLinksAPI/CreateShortDynamicLinkResponse.php b/vendor/google/apiclient-services/src/Google/Service/FirebaseDynamicLinksAPI/CreateShortDynamicLinkResponse.php new file mode 100644 index 00000000..36d3f033 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/FirebaseDynamicLinksAPI/CreateShortDynamicLinkResponse.php @@ -0,0 +1,50 @@ +previewLink = $previewLink; + } + public function getPreviewLink() + { + return $this->previewLink; + } + public function setShortLink($shortLink) + { + $this->shortLink = $shortLink; + } + public function getShortLink() + { + return $this->shortLink; + } + public function setWarning($warning) + { + $this->warning = $warning; + } + public function getWarning() + { + return $this->warning; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/FirebaseDynamicLinksAPI/DynamicLinkInfo.php b/vendor/google/apiclient-services/src/Google/Service/FirebaseDynamicLinksAPI/DynamicLinkInfo.php new file mode 100644 index 00000000..5848ca45 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/FirebaseDynamicLinksAPI/DynamicLinkInfo.php @@ -0,0 +1,88 @@ +analyticsInfo = $analyticsInfo; + } + public function getAnalyticsInfo() + { + return $this->analyticsInfo; + } + public function setAndroidInfo(Google_Service_FirebaseDynamicLinksAPI_AndroidInfo $androidInfo) + { + $this->androidInfo = $androidInfo; + } + public function getAndroidInfo() + { + return $this->androidInfo; + } + public function setDynamicLinkDomain($dynamicLinkDomain) + { + $this->dynamicLinkDomain = $dynamicLinkDomain; + } + public function getDynamicLinkDomain() + { + return $this->dynamicLinkDomain; + } + public function setIosInfo(Google_Service_FirebaseDynamicLinksAPI_IosInfo $iosInfo) + { + $this->iosInfo = $iosInfo; + } + public function getIosInfo() + { + return $this->iosInfo; + } + public function setIsAd($isAd) + { + $this->isAd = $isAd; + } + public function getIsAd() + { + return $this->isAd; + } + public function setLink($link) + { + $this->link = $link; + } + public function getLink() + { + return $this->link; + } + public function setSocialMetaTagInfo(Google_Service_FirebaseDynamicLinksAPI_SocialMetaTagInfo $socialMetaTagInfo) + { + $this->socialMetaTagInfo = $socialMetaTagInfo; + } + public function getSocialMetaTagInfo() + { + return $this->socialMetaTagInfo; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/FirebaseDynamicLinksAPI/DynamicLinkWarning.php b/vendor/google/apiclient-services/src/Google/Service/FirebaseDynamicLinksAPI/DynamicLinkWarning.php new file mode 100644 index 00000000..d67a925d --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/FirebaseDynamicLinksAPI/DynamicLinkWarning.php @@ -0,0 +1,39 @@ +warningCode = $warningCode; + } + public function getWarningCode() + { + return $this->warningCode; + } + public function setWarningMessage($warningMessage) + { + $this->warningMessage = $warningMessage; + } + public function getWarningMessage() + { + return $this->warningMessage; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/FirebaseDynamicLinksAPI/GooglePlayAnalytics.php b/vendor/google/apiclient-services/src/Google/Service/FirebaseDynamicLinksAPI/GooglePlayAnalytics.php new file mode 100644 index 00000000..906acffb --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/FirebaseDynamicLinksAPI/GooglePlayAnalytics.php @@ -0,0 +1,75 @@ +gclid = $gclid; + } + public function getGclid() + { + return $this->gclid; + } + public function setUtmCampaign($utmCampaign) + { + $this->utmCampaign = $utmCampaign; + } + public function getUtmCampaign() + { + return $this->utmCampaign; + } + public function setUtmContent($utmContent) + { + $this->utmContent = $utmContent; + } + public function getUtmContent() + { + return $this->utmContent; + } + public function setUtmMedium($utmMedium) + { + $this->utmMedium = $utmMedium; + } + public function getUtmMedium() + { + return $this->utmMedium; + } + public function setUtmSource($utmSource) + { + $this->utmSource = $utmSource; + } + public function getUtmSource() + { + return $this->utmSource; + } + public function setUtmTerm($utmTerm) + { + $this->utmTerm = $utmTerm; + } + public function getUtmTerm() + { + return $this->utmTerm; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/FirebaseDynamicLinksAPI/ITunesConnectAnalytics.php b/vendor/google/apiclient-services/src/Google/Service/FirebaseDynamicLinksAPI/ITunesConnectAnalytics.php new file mode 100644 index 00000000..14f77741 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/FirebaseDynamicLinksAPI/ITunesConnectAnalytics.php @@ -0,0 +1,57 @@ +at = $at; + } + public function getAt() + { + return $this->at; + } + public function setCt($ct) + { + $this->ct = $ct; + } + public function getCt() + { + return $this->ct; + } + public function setMt($mt) + { + $this->mt = $mt; + } + public function getMt() + { + return $this->mt; + } + public function setPt($pt) + { + $this->pt = $pt; + } + public function getPt() + { + return $this->pt; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/FirebaseDynamicLinksAPI/IosInfo.php b/vendor/google/apiclient-services/src/Google/Service/FirebaseDynamicLinksAPI/IosInfo.php new file mode 100644 index 00000000..acea3641 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/FirebaseDynamicLinksAPI/IosInfo.php @@ -0,0 +1,75 @@ +iosAppStoreId = $iosAppStoreId; + } + public function getIosAppStoreId() + { + return $this->iosAppStoreId; + } + public function setIosBundleId($iosBundleId) + { + $this->iosBundleId = $iosBundleId; + } + public function getIosBundleId() + { + return $this->iosBundleId; + } + public function setIosCustomScheme($iosCustomScheme) + { + $this->iosCustomScheme = $iosCustomScheme; + } + public function getIosCustomScheme() + { + return $this->iosCustomScheme; + } + public function setIosFallbackLink($iosFallbackLink) + { + $this->iosFallbackLink = $iosFallbackLink; + } + public function getIosFallbackLink() + { + return $this->iosFallbackLink; + } + public function setIosIpadBundleId($iosIpadBundleId) + { + $this->iosIpadBundleId = $iosIpadBundleId; + } + public function getIosIpadBundleId() + { + return $this->iosIpadBundleId; + } + public function setIosIpadFallbackLink($iosIpadFallbackLink) + { + $this->iosIpadFallbackLink = $iosIpadFallbackLink; + } + public function getIosIpadFallbackLink() + { + return $this->iosIpadFallbackLink; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/FirebaseDynamicLinksAPI/Resource/ShortDynamicLinks.php b/vendor/google/apiclient-services/src/Google/Service/FirebaseDynamicLinksAPI/Resource/ShortDynamicLinks.php new file mode 100644 index 00000000..9c4a183d --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/FirebaseDynamicLinksAPI/Resource/ShortDynamicLinks.php @@ -0,0 +1,49 @@ + + * $firebasedynamiclinksService = new Google_Service_FirebaseDynamicLinksAPI(...); + * $shortDynamicLinks = $firebasedynamiclinksService->shortDynamicLinks; + * + */ +class Google_Service_FirebaseDynamicLinksAPI_Resource_ShortDynamicLinks extends Google_Service_Resource +{ + /** + * Creates a short Dynamic Link given either a valid long Dynamic Link or + * details such as Dynamic Link domain, Android and iOS app information. The + * created short Dynamic Link will not expire. + * + * Repeated calls with the same long Dynamic Link or Dynamic Link information + * will produce the same short Dynamic Link. + * + * The Dynamic Link domain in the request must be owned by requester's Firebase + * project. (shortDynamicLinks.create) + * + * @param Google_Service_FirebaseDynamicLinksAPI_CreateShortDynamicLinkRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_FirebaseDynamicLinksAPI_CreateShortDynamicLinkResponse + */ + public function create(Google_Service_FirebaseDynamicLinksAPI_CreateShortDynamicLinkRequest $postBody, $optParams = array()) + { + $params = array('postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('create', array($params), "Google_Service_FirebaseDynamicLinksAPI_CreateShortDynamicLinkResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/FirebaseDynamicLinksAPI/SocialMetaTagInfo.php b/vendor/google/apiclient-services/src/Google/Service/FirebaseDynamicLinksAPI/SocialMetaTagInfo.php new file mode 100644 index 00000000..e7317da7 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/FirebaseDynamicLinksAPI/SocialMetaTagInfo.php @@ -0,0 +1,48 @@ +socialDescription = $socialDescription; + } + public function getSocialDescription() + { + return $this->socialDescription; + } + public function setSocialImageLink($socialImageLink) + { + $this->socialImageLink = $socialImageLink; + } + public function getSocialImageLink() + { + return $this->socialImageLink; + } + public function setSocialTitle($socialTitle) + { + $this->socialTitle = $socialTitle; + } + public function getSocialTitle() + { + return $this->socialTitle; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/FirebaseDynamicLinksAPI/Suffix.php b/vendor/google/apiclient-services/src/Google/Service/FirebaseDynamicLinksAPI/Suffix.php new file mode 100644 index 00000000..63b6f42d --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/FirebaseDynamicLinksAPI/Suffix.php @@ -0,0 +1,30 @@ +option = $option; + } + public function getOption() + { + return $this->option; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/FirebaseRulesAPI.php b/vendor/google/apiclient-services/src/Google/Service/FirebaseRulesAPI.php new file mode 100644 index 00000000..459af977 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/FirebaseRulesAPI.php @@ -0,0 +1,212 @@ + + * Creates and manages rules that determine when a Firebase Rules-enabled + * service should permit a request.

+ * + *

+ * For more information about this service, see the API + * Documentation + *

+ * + * @author Google, Inc. + */ +class Google_Service_FirebaseRulesAPI extends Google_Service +{ + /** View and manage your data across Google Cloud Platform services. */ + const CLOUD_PLATFORM = + "https://www.googleapis.com/auth/cloud-platform"; + /** View and administer all your Firebase data and settings. */ + const FIREBASE = + "https://www.googleapis.com/auth/firebase"; + /** View all your Firebase data and settings. */ + const FIREBASE_READONLY = + "https://www.googleapis.com/auth/firebase.readonly"; + + public $projects; + public $projects_releases; + public $projects_rulesets; + + /** + * Constructs the internal representation of the FirebaseRulesAPI service. + * + * @param Google_Client $client + */ + public function __construct(Google_Client $client) + { + parent::__construct($client); + $this->rootUrl = 'https://firebaserules.googleapis.com/'; + $this->servicePath = ''; + $this->version = 'v1'; + $this->serviceName = 'firebaserules'; + + $this->projects = new Google_Service_FirebaseRulesAPI_Resource_Projects( + $this, + $this->serviceName, + 'projects', + array( + 'methods' => array( + 'test' => array( + 'path' => 'v1/{+name}:test', + 'httpMethod' => 'POST', + 'parameters' => array( + 'name' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->projects_releases = new Google_Service_FirebaseRulesAPI_Resource_ProjectsReleases( + $this, + $this->serviceName, + 'releases', + array( + 'methods' => array( + 'create' => array( + 'path' => 'v1/{+name}/releases', + 'httpMethod' => 'POST', + 'parameters' => array( + 'name' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'delete' => array( + 'path' => 'v1/{+name}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'name' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'get' => array( + 'path' => 'v1/{+name}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'name' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'v1/{+name}/releases', + 'httpMethod' => 'GET', + 'parameters' => array( + 'name' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'pageSize' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'filter' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'update' => array( + 'path' => 'v1/{+name}', + 'httpMethod' => 'PUT', + 'parameters' => array( + 'name' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->projects_rulesets = new Google_Service_FirebaseRulesAPI_Resource_ProjectsRulesets( + $this, + $this->serviceName, + 'rulesets', + array( + 'methods' => array( + 'create' => array( + 'path' => 'v1/{+name}/rulesets', + 'httpMethod' => 'POST', + 'parameters' => array( + 'name' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'delete' => array( + 'path' => 'v1/{+name}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'name' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'get' => array( + 'path' => 'v1/{+name}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'name' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'v1/{+name}/rulesets', + 'httpMethod' => 'GET', + 'parameters' => array( + 'name' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'pageSize' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/FirebaseRulesAPI/FirebaserulesEmpty.php b/vendor/google/apiclient-services/src/Google/Service/FirebaseRulesAPI/FirebaserulesEmpty.php new file mode 100644 index 00000000..2583a330 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/FirebaseRulesAPI/FirebaserulesEmpty.php @@ -0,0 +1,20 @@ +content = $content; + } + public function getContent() + { + return $this->content; + } + public function setFingerprint($fingerprint) + { + $this->fingerprint = $fingerprint; + } + public function getFingerprint() + { + return $this->fingerprint; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/FirebaseRulesAPI/Issue.php b/vendor/google/apiclient-services/src/Google/Service/FirebaseRulesAPI/Issue.php new file mode 100644 index 00000000..01b73c9a --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/FirebaseRulesAPI/Issue.php @@ -0,0 +1,49 @@ +description = $description; + } + public function getDescription() + { + return $this->description; + } + public function setSeverity($severity) + { + $this->severity = $severity; + } + public function getSeverity() + { + return $this->severity; + } + public function setSourcePosition(Google_Service_FirebaseRulesAPI_SourcePosition $sourcePosition) + { + $this->sourcePosition = $sourcePosition; + } + public function getSourcePosition() + { + return $this->sourcePosition; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/FirebaseRulesAPI/ListReleasesResponse.php b/vendor/google/apiclient-services/src/Google/Service/FirebaseRulesAPI/ListReleasesResponse.php new file mode 100644 index 00000000..a3f9575d --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/FirebaseRulesAPI/ListReleasesResponse.php @@ -0,0 +1,41 @@ +nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setReleases($releases) + { + $this->releases = $releases; + } + public function getReleases() + { + return $this->releases; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/FirebaseRulesAPI/ListRulesetsResponse.php b/vendor/google/apiclient-services/src/Google/Service/FirebaseRulesAPI/ListRulesetsResponse.php new file mode 100644 index 00000000..c94753cb --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/FirebaseRulesAPI/ListRulesetsResponse.php @@ -0,0 +1,41 @@ +nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setRulesets($rulesets) + { + $this->rulesets = $rulesets; + } + public function getRulesets() + { + return $this->rulesets; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/FirebaseRulesAPI/Release.php b/vendor/google/apiclient-services/src/Google/Service/FirebaseRulesAPI/Release.php new file mode 100644 index 00000000..eff6c456 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/FirebaseRulesAPI/Release.php @@ -0,0 +1,57 @@ +createTime = $createTime; + } + public function getCreateTime() + { + return $this->createTime; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setRulesetName($rulesetName) + { + $this->rulesetName = $rulesetName; + } + public function getRulesetName() + { + return $this->rulesetName; + } + public function setUpdateTime($updateTime) + { + $this->updateTime = $updateTime; + } + public function getUpdateTime() + { + return $this->updateTime; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/FirebaseRulesAPI/Resource/Projects.php b/vendor/google/apiclient-services/src/Google/Service/FirebaseRulesAPI/Resource/Projects.php new file mode 100644 index 00000000..344eda48 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/FirebaseRulesAPI/Resource/Projects.php @@ -0,0 +1,62 @@ + + * $firebaserulesService = new Google_Service_FirebaseRulesAPI(...); + * $projects = $firebaserulesService->projects; + * + */ +class Google_Service_FirebaseRulesAPI_Resource_Projects extends Google_Service_Resource +{ + /** + * Test `Source` for syntactic and semantic correctness. Issues present in the + * rules, if any, will be returned to the caller with a description, severity, + * and source location. + * + * The test method will typically be executed with a developer provided + * `Source`, but if regression testing is desired, this method may be executed + * against a `Ruleset` resource name and the `Source` will be retrieved from the + * persisted `Ruleset`. + * + * The following is an example of `Source` that permits users to upload images + * to a bucket bearing their user id and matching the correct metadata: + * + * _*Example*_ + * + * // Users are allowed to subscribe and unsubscribe to the blog. + * service firebase.storage { match /users/{userId}/images/{imageName} { + * allow write: if userId == request.userId && + * (imageName.endsWith('.png') || imageName.endsWith('.jpg')) && + * resource.mimeType.startsWith('image/') } } (projects.test) + * + * @param string $name Name of the project. + * + * Format: `projects/{project_id}` + * @param Google_Service_FirebaseRulesAPI_TestRulesetRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_FirebaseRulesAPI_TestRulesetResponse + */ + public function test($name, Google_Service_FirebaseRulesAPI_TestRulesetRequest $postBody, $optParams = array()) + { + $params = array('name' => $name, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('test', array($params), "Google_Service_FirebaseRulesAPI_TestRulesetResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/FirebaseRulesAPI/Resource/ProjectsReleases.php b/vendor/google/apiclient-services/src/Google/Service/FirebaseRulesAPI/Resource/ProjectsReleases.php new file mode 100644 index 00000000..b0911978 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/FirebaseRulesAPI/Resource/ProjectsReleases.php @@ -0,0 +1,186 @@ + + * $firebaserulesService = new Google_Service_FirebaseRulesAPI(...); + * $releases = $firebaserulesService->releases; + * + */ +class Google_Service_FirebaseRulesAPI_Resource_ProjectsReleases extends Google_Service_Resource +{ + /** + * Create a `Release`. + * + * Release names should reflect the developer's deployment practices. For + * example, the release name may include the environment name, application name, + * application version, or any other name meaningful to the developer. Once a + * `Release` refers to a `Ruleset`, the rules can be enforced by Firebase Rules- + * enabled services. + * + * More than one `Release` may be 'live' concurrently. Consider the following + * three `Release` names for `projects/foo` and the `Ruleset` to which they + * refer. + * + * Release Name | Ruleset Name + * --------------------------------|------------- projects/foo/releases/prod + * | projects/foo/rulesets/uuid123 projects/foo/releases/prod/beta | + * projects/foo/rulesets/uuid123 projects/foo/releases/prod/v23 | + * projects/foo/rulesets/uuid456 + * + * The table reflects the `Ruleset` rollout in progress. The `prod` and + * `prod/beta` releases refer to the same `Ruleset`. However, `prod/v23` refers + * to a new `Ruleset`. The `Ruleset` reference for a `Release` may be updated + * using the UpdateRelease method, and the custom `Release` name may be + * referenced by specifying the `X-Firebase-Rules-Release-Name` header. + * (releases.create) + * + * @param string $name Resource name for the project which owns this `Release`. + * + * Format: `projects/{project_id}` + * @param Google_Service_FirebaseRulesAPI_Release $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_FirebaseRulesAPI_Release + */ + public function create($name, Google_Service_FirebaseRulesAPI_Release $postBody, $optParams = array()) + { + $params = array('name' => $name, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('create', array($params), "Google_Service_FirebaseRulesAPI_Release"); + } + /** + * Delete a `Release` by resource name. (releases.delete) + * + * @param string $name Resource name for the `Release` to delete. + * + * Format: `projects/{project_id}/releases/{release_id}` + * @param array $optParams Optional parameters. + * @return Google_Service_FirebaseRulesAPI_FirebaserulesEmpty + */ + public function delete($name, $optParams = array()) + { + $params = array('name' => $name); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params), "Google_Service_FirebaseRulesAPI_FirebaserulesEmpty"); + } + /** + * Get a `Release` by name. (releases.get) + * + * @param string $name Resource name of the `Release`. + * + * Format: `projects/{project_id}/releases/{release_id}` + * @param array $optParams Optional parameters. + * @return Google_Service_FirebaseRulesAPI_Release + */ + public function get($name, $optParams = array()) + { + $params = array('name' => $name); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_FirebaseRulesAPI_Release"); + } + /** + * List the `Release` values for a project. This list may optionally be filtered + * by `Release` name or `Ruleset` id or both. (releases.listProjectsReleases) + * + * @param string $name Resource name for the project. + * + * Format: `projects/{project_id}` + * @param array $optParams Optional parameters. + * + * @opt_param int pageSize Page size to load. Maximum of 100. Defaults to 10. + * Note: `page_size` is just a hint and the service may choose to load less than + * `page_size` due to the size of the output. To traverse all of the releases, + * caller should iterate until the `page_token` is empty. + * @opt_param string filter `Release` filter. The list method supports filters + * with restrictions on the `Release` `name` and also on the `Ruleset` + * `ruleset_name`. + * + * Example 1) A filter of 'name=prod*' might return `Release`s with names within + * 'projects/foo' prefixed with 'prod': + * + * Name | Ruleset Name + * ------------------------------|------------- projects/foo/releases/prod | + * projects/foo/rulesets/uuid1234 projects/foo/releases/prod/v1 | + * projects/foo/rulesets/uuid1234 projects/foo/releases/prod/v2 | + * projects/foo/rulesets/uuid8888 + * + * Example 2) A filter of `name=prod* ruleset_name=uuid1234` would return only + * `Release` instances for 'projects/foo' with names prefixed with 'prod' + * referring to the same `Ruleset` name of 'uuid1234': + * + * Name | Ruleset Name + * ------------------------------|------------- projects/foo/releases/prod | + * projects/foo/rulesets/1234 projects/foo/releases/prod/v1 | + * projects/foo/rulesets/1234 + * + * In the examples, the filter parameters refer to the search filters for + * release and ruleset names are relative to the project releases and rulesets + * collections. Fully qualified prefixed may also be used. e.g. + * `name=projects/foo/releases/prod* ruleset_name=projects/foo/rulesets/uuid1` + * @opt_param string pageToken Next page token for the next batch of `Release` + * instances. + * @return Google_Service_FirebaseRulesAPI_ListReleasesResponse + */ + public function listProjectsReleases($name, $optParams = array()) + { + $params = array('name' => $name); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_FirebaseRulesAPI_ListReleasesResponse"); + } + /** + * Update a `Release`. + * + * Only updates to the `ruleset_name` field will be honored. `Release` rename is + * not supported. To create a `Release` use the CreateRelease method instead. + * (releases.update) + * + * @param string $name Resource name for the `Release`. + * + * `Release` names may be structured `app1/prod/v2` or flat `app1_prod_v2` which + * affords developers a great deal of flexibility in mapping the name to the + * style that best fits their existing development practices. For example, a + * name could refer to an environment, an app, a version, or some combination of + * three. + * + * In the table below, for the project name `projects/foo`, the following + * relative release paths show how flat and structured names might be chosen to + * match a desired development / deployment strategy. + * + * Use Case | Flat Name | Structured Name + * -------------|---------------------|---------------- Environments | + * releases/qa | releases/qa Apps | releases/app1_qa | + * releases/app1/qa Versions | releases/app1_v2_qa | releases/app1/v2/qa + * + * The delimiter between the release name path elements can be almost anything + * and it should work equally well with the release name list filter, but in + * many ways the structured paths provide a clearer picture of the relationship + * between `Release` instances. + * + * Format: `projects/{project_id}/releases/{release_id}` + * @param Google_Service_FirebaseRulesAPI_Release $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_FirebaseRulesAPI_Release + */ + public function update($name, Google_Service_FirebaseRulesAPI_Release $postBody, $optParams = array()) + { + $params = array('name' => $name, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('update', array($params), "Google_Service_FirebaseRulesAPI_Release"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/FirebaseRulesAPI/Resource/ProjectsRulesets.php b/vendor/google/apiclient-services/src/Google/Service/FirebaseRulesAPI/Resource/ProjectsRulesets.php new file mode 100644 index 00000000..56b66c4e --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/FirebaseRulesAPI/Resource/ProjectsRulesets.php @@ -0,0 +1,108 @@ + + * $firebaserulesService = new Google_Service_FirebaseRulesAPI(...); + * $rulesets = $firebaserulesService->rulesets; + * + */ +class Google_Service_FirebaseRulesAPI_Resource_ProjectsRulesets extends Google_Service_Resource +{ + /** + * Create a `Ruleset` from `Source`. + * + * The `Ruleset` is given a unique generated name which is returned to the + * caller. `Source` containing syntactic or semantics errors will result in an + * error response indicating the first error encountered. For a detailed view of + * `Source` issues, use TestRuleset. (rulesets.create) + * + * @param string $name Resource name for Project which owns this `Ruleset`. + * + * Format: `projects/{project_id}` + * @param Google_Service_FirebaseRulesAPI_Ruleset $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_FirebaseRulesAPI_Ruleset + */ + public function create($name, Google_Service_FirebaseRulesAPI_Ruleset $postBody, $optParams = array()) + { + $params = array('name' => $name, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('create', array($params), "Google_Service_FirebaseRulesAPI_Ruleset"); + } + /** + * Delete a `Ruleset` by resource name. + * + * If the `Ruleset` is referenced by a `Release` the operation will fail. + * (rulesets.delete) + * + * @param string $name Resource name for the ruleset to delete. + * + * Format: `projects/{project_id}/rulesets/{ruleset_id}` + * @param array $optParams Optional parameters. + * @return Google_Service_FirebaseRulesAPI_FirebaserulesEmpty + */ + public function delete($name, $optParams = array()) + { + $params = array('name' => $name); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params), "Google_Service_FirebaseRulesAPI_FirebaserulesEmpty"); + } + /** + * Get a `Ruleset` by name including the full `Source` contents. (rulesets.get) + * + * @param string $name Resource name for the ruleset to get. + * + * Format: `projects/{project_id}/rulesets/{ruleset_id}` + * @param array $optParams Optional parameters. + * @return Google_Service_FirebaseRulesAPI_Ruleset + */ + public function get($name, $optParams = array()) + { + $params = array('name' => $name); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_FirebaseRulesAPI_Ruleset"); + } + /** + * List `Ruleset` metadata only and optionally filter the results by Ruleset + * name. + * + * The full `Source` contents of a `Ruleset` may be retrieved with GetRuleset. + * (rulesets.listProjectsRulesets) + * + * @param string $name Resource name for the project. + * + * Format: `projects/{project_id}` + * @param array $optParams Optional parameters. + * + * @opt_param int pageSize Page size to load. Maximum of 100. Defaults to 10. + * Note: `page_size` is just a hint and the service may choose to load less than + * `page_size` due to the size of the output. To traverse all of the releases, + * caller should iterate until the `page_token` is empty. + * @opt_param string pageToken Next page token for loading the next batch of + * `Ruleset` instances. + * @return Google_Service_FirebaseRulesAPI_ListRulesetsResponse + */ + public function listProjectsRulesets($name, $optParams = array()) + { + $params = array('name' => $name); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_FirebaseRulesAPI_ListRulesetsResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/FirebaseRulesAPI/Ruleset.php b/vendor/google/apiclient-services/src/Google/Service/FirebaseRulesAPI/Ruleset.php new file mode 100644 index 00000000..567d1017 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/FirebaseRulesAPI/Ruleset.php @@ -0,0 +1,49 @@ +createTime = $createTime; + } + public function getCreateTime() + { + return $this->createTime; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setSource(Google_Service_FirebaseRulesAPI_Source $source) + { + $this->source = $source; + } + public function getSource() + { + return $this->source; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/FirebaseRulesAPI/Source.php b/vendor/google/apiclient-services/src/Google/Service/FirebaseRulesAPI/Source.php new file mode 100644 index 00000000..4ad6e5bb --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/FirebaseRulesAPI/Source.php @@ -0,0 +1,32 @@ +files = $files; + } + public function getFiles() + { + return $this->files; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/FirebaseRulesAPI/SourcePosition.php b/vendor/google/apiclient-services/src/Google/Service/FirebaseRulesAPI/SourcePosition.php new file mode 100644 index 00000000..4c62629e --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/FirebaseRulesAPI/SourcePosition.php @@ -0,0 +1,48 @@ +column = $column; + } + public function getColumn() + { + return $this->column; + } + public function setFileName($fileName) + { + $this->fileName = $fileName; + } + public function getFileName() + { + return $this->fileName; + } + public function setLine($line) + { + $this->line = $line; + } + public function getLine() + { + return $this->line; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/FirebaseRulesAPI/TestRulesetRequest.php b/vendor/google/apiclient-services/src/Google/Service/FirebaseRulesAPI/TestRulesetRequest.php new file mode 100644 index 00000000..48533a52 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/FirebaseRulesAPI/TestRulesetRequest.php @@ -0,0 +1,31 @@ +source = $source; + } + public function getSource() + { + return $this->source; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/FirebaseRulesAPI/TestRulesetResponse.php b/vendor/google/apiclient-services/src/Google/Service/FirebaseRulesAPI/TestRulesetResponse.php new file mode 100644 index 00000000..f888d46b --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/FirebaseRulesAPI/TestRulesetResponse.php @@ -0,0 +1,32 @@ +issues = $issues; + } + public function getIssues() + { + return $this->issues; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Fitness.php b/vendor/google/apiclient-services/src/Google/Service/Fitness.php new file mode 100644 index 00000000..be8fc184 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Fitness.php @@ -0,0 +1,386 @@ + + * Stores and accesses user data in the fitness store from apps on any platform.

+ * + *

+ * For more information about this service, see the API + * Documentation + *

+ * + * @author Google, Inc. + */ +class Google_Service_Fitness extends Google_Service +{ + /** View your activity information in Google Fit. */ + const FITNESS_ACTIVITY_READ = + "https://www.googleapis.com/auth/fitness.activity.read"; + /** View and store your activity information in Google Fit. */ + const FITNESS_ACTIVITY_WRITE = + "https://www.googleapis.com/auth/fitness.activity.write"; + /** View blood glucose data in Google Fit. */ + const FITNESS_BLOOD_GLUCOSE_READ = + "https://www.googleapis.com/auth/fitness.blood_glucose.read"; + /** View and store blood glucose data in Google Fit. */ + const FITNESS_BLOOD_GLUCOSE_WRITE = + "https://www.googleapis.com/auth/fitness.blood_glucose.write"; + /** View blood pressure data in Google Fit. */ + const FITNESS_BLOOD_PRESSURE_READ = + "https://www.googleapis.com/auth/fitness.blood_pressure.read"; + /** View and store blood pressure data in Google Fit. */ + const FITNESS_BLOOD_PRESSURE_WRITE = + "https://www.googleapis.com/auth/fitness.blood_pressure.write"; + /** View body sensor information in Google Fit. */ + const FITNESS_BODY_READ = + "https://www.googleapis.com/auth/fitness.body.read"; + /** View and store body sensor data in Google Fit. */ + const FITNESS_BODY_WRITE = + "https://www.googleapis.com/auth/fitness.body.write"; + /** View body temperature data in Google Fit. */ + const FITNESS_BODY_TEMPERATURE_READ = + "https://www.googleapis.com/auth/fitness.body_temperature.read"; + /** View and store body temperature data in Google Fit. */ + const FITNESS_BODY_TEMPERATURE_WRITE = + "https://www.googleapis.com/auth/fitness.body_temperature.write"; + /** View your stored location data in Google Fit. */ + const FITNESS_LOCATION_READ = + "https://www.googleapis.com/auth/fitness.location.read"; + /** View and store your location data in Google Fit. */ + const FITNESS_LOCATION_WRITE = + "https://www.googleapis.com/auth/fitness.location.write"; + /** View nutrition information in Google Fit. */ + const FITNESS_NUTRITION_READ = + "https://www.googleapis.com/auth/fitness.nutrition.read"; + /** View and store nutrition information in Google Fit. */ + const FITNESS_NUTRITION_WRITE = + "https://www.googleapis.com/auth/fitness.nutrition.write"; + /** View oxygen saturation data in Google Fit. */ + const FITNESS_OXYGEN_SATURATION_READ = + "https://www.googleapis.com/auth/fitness.oxygen_saturation.read"; + /** View and store oxygen saturation data in Google Fit. */ + const FITNESS_OXYGEN_SATURATION_WRITE = + "https://www.googleapis.com/auth/fitness.oxygen_saturation.write"; + /** View reproductive health data in Google Fit. */ + const FITNESS_REPRODUCTIVE_HEALTH_READ = + "https://www.googleapis.com/auth/fitness.reproductive_health.read"; + /** View and store reproductive health data in Google Fit. */ + const FITNESS_REPRODUCTIVE_HEALTH_WRITE = + "https://www.googleapis.com/auth/fitness.reproductive_health.write"; + + public $users_dataSources; + public $users_dataSources_datasets; + public $users_dataset; + public $users_sessions; + + /** + * Constructs the internal representation of the Fitness service. + * + * @param Google_Client $client + */ + public function __construct(Google_Client $client) + { + parent::__construct($client); + $this->rootUrl = 'https://www.googleapis.com/'; + $this->servicePath = 'fitness/v1/users/'; + $this->version = 'v1'; + $this->serviceName = 'fitness'; + + $this->users_dataSources = new Google_Service_Fitness_Resource_UsersDataSources( + $this, + $this->serviceName, + 'dataSources', + array( + 'methods' => array( + 'create' => array( + 'path' => '{userId}/dataSources', + 'httpMethod' => 'POST', + 'parameters' => array( + 'userId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'delete' => array( + 'path' => '{userId}/dataSources/{dataSourceId}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'userId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'dataSourceId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'get' => array( + 'path' => '{userId}/dataSources/{dataSourceId}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'userId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'dataSourceId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => '{userId}/dataSources', + 'httpMethod' => 'GET', + 'parameters' => array( + 'userId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'dataTypeName' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + ), + ), + ),'patch' => array( + 'path' => '{userId}/dataSources/{dataSourceId}', + 'httpMethod' => 'PATCH', + 'parameters' => array( + 'userId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'dataSourceId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'update' => array( + 'path' => '{userId}/dataSources/{dataSourceId}', + 'httpMethod' => 'PUT', + 'parameters' => array( + 'userId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'dataSourceId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->users_dataSources_datasets = new Google_Service_Fitness_Resource_UsersDataSourcesDatasets( + $this, + $this->serviceName, + 'datasets', + array( + 'methods' => array( + 'delete' => array( + 'path' => '{userId}/dataSources/{dataSourceId}/datasets/{datasetId}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'userId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'dataSourceId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'datasetId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'currentTimeMillis' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'modifiedTimeMillis' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'get' => array( + 'path' => '{userId}/dataSources/{dataSourceId}/datasets/{datasetId}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'userId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'dataSourceId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'datasetId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'limit' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'patch' => array( + 'path' => '{userId}/dataSources/{dataSourceId}/datasets/{datasetId}', + 'httpMethod' => 'PATCH', + 'parameters' => array( + 'userId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'dataSourceId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'datasetId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'currentTimeMillis' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + $this->users_dataset = new Google_Service_Fitness_Resource_UsersDataset( + $this, + $this->serviceName, + 'dataset', + array( + 'methods' => array( + 'aggregate' => array( + 'path' => '{userId}/dataset:aggregate', + 'httpMethod' => 'POST', + 'parameters' => array( + 'userId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->users_sessions = new Google_Service_Fitness_Resource_UsersSessions( + $this, + $this->serviceName, + 'sessions', + array( + 'methods' => array( + 'delete' => array( + 'path' => '{userId}/sessions/{sessionId}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'userId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'sessionId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'currentTimeMillis' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'list' => array( + 'path' => '{userId}/sessions', + 'httpMethod' => 'GET', + 'parameters' => array( + 'userId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'endTime' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'includeDeleted' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'startTime' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'update' => array( + 'path' => '{userId}/sessions/{sessionId}', + 'httpMethod' => 'PUT', + 'parameters' => array( + 'userId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'sessionId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'currentTimeMillis' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Fitness/AggregateBucket.php b/vendor/google/apiclient-services/src/Google/Service/Fitness/AggregateBucket.php new file mode 100644 index 00000000..99f9430f --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Fitness/AggregateBucket.php @@ -0,0 +1,78 @@ +activity = $activity; + } + public function getActivity() + { + return $this->activity; + } + public function setDataset($dataset) + { + $this->dataset = $dataset; + } + public function getDataset() + { + return $this->dataset; + } + public function setEndTimeMillis($endTimeMillis) + { + $this->endTimeMillis = $endTimeMillis; + } + public function getEndTimeMillis() + { + return $this->endTimeMillis; + } + public function setSession(Google_Service_Fitness_Session $session) + { + $this->session = $session; + } + public function getSession() + { + return $this->session; + } + public function setStartTimeMillis($startTimeMillis) + { + $this->startTimeMillis = $startTimeMillis; + } + public function getStartTimeMillis() + { + return $this->startTimeMillis; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Fitness/AggregateBy.php b/vendor/google/apiclient-services/src/Google/Service/Fitness/AggregateBy.php new file mode 100644 index 00000000..f93f1b2f --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Fitness/AggregateBy.php @@ -0,0 +1,39 @@ +dataSourceId = $dataSourceId; + } + public function getDataSourceId() + { + return $this->dataSourceId; + } + public function setDataTypeName($dataTypeName) + { + $this->dataTypeName = $dataTypeName; + } + public function getDataTypeName() + { + return $this->dataTypeName; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Fitness/AggregateRequest.php b/vendor/google/apiclient-services/src/Google/Service/Fitness/AggregateRequest.php new file mode 100644 index 00000000..bf8d760c --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Fitness/AggregateRequest.php @@ -0,0 +1,99 @@ +aggregateBy = $aggregateBy; + } + public function getAggregateBy() + { + return $this->aggregateBy; + } + public function setBucketByActivitySegment(Google_Service_Fitness_BucketByActivity $bucketByActivitySegment) + { + $this->bucketByActivitySegment = $bucketByActivitySegment; + } + public function getBucketByActivitySegment() + { + return $this->bucketByActivitySegment; + } + public function setBucketByActivityType(Google_Service_Fitness_BucketByActivity $bucketByActivityType) + { + $this->bucketByActivityType = $bucketByActivityType; + } + public function getBucketByActivityType() + { + return $this->bucketByActivityType; + } + public function setBucketBySession(Google_Service_Fitness_BucketBySession $bucketBySession) + { + $this->bucketBySession = $bucketBySession; + } + public function getBucketBySession() + { + return $this->bucketBySession; + } + public function setBucketByTime(Google_Service_Fitness_BucketByTime $bucketByTime) + { + $this->bucketByTime = $bucketByTime; + } + public function getBucketByTime() + { + return $this->bucketByTime; + } + public function setEndTimeMillis($endTimeMillis) + { + $this->endTimeMillis = $endTimeMillis; + } + public function getEndTimeMillis() + { + return $this->endTimeMillis; + } + public function setFilteredDataQualityStandard($filteredDataQualityStandard) + { + $this->filteredDataQualityStandard = $filteredDataQualityStandard; + } + public function getFilteredDataQualityStandard() + { + return $this->filteredDataQualityStandard; + } + public function setStartTimeMillis($startTimeMillis) + { + $this->startTimeMillis = $startTimeMillis; + } + public function getStartTimeMillis() + { + return $this->startTimeMillis; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Fitness/AggregateResponse.php b/vendor/google/apiclient-services/src/Google/Service/Fitness/AggregateResponse.php new file mode 100644 index 00000000..d01f54a9 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Fitness/AggregateResponse.php @@ -0,0 +1,32 @@ +bucket = $bucket; + } + public function getBucket() + { + return $this->bucket; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Fitness/Application.php b/vendor/google/apiclient-services/src/Google/Service/Fitness/Application.php new file mode 100644 index 00000000..aae83b93 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Fitness/Application.php @@ -0,0 +1,57 @@ +detailsUrl = $detailsUrl; + } + public function getDetailsUrl() + { + return $this->detailsUrl; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setPackageName($packageName) + { + $this->packageName = $packageName; + } + public function getPackageName() + { + return $this->packageName; + } + public function setVersion($version) + { + $this->version = $version; + } + public function getVersion() + { + return $this->version; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Fitness/BucketByActivity.php b/vendor/google/apiclient-services/src/Google/Service/Fitness/BucketByActivity.php new file mode 100644 index 00000000..a4949320 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Fitness/BucketByActivity.php @@ -0,0 +1,39 @@ +activityDataSourceId = $activityDataSourceId; + } + public function getActivityDataSourceId() + { + return $this->activityDataSourceId; + } + public function setMinDurationMillis($minDurationMillis) + { + $this->minDurationMillis = $minDurationMillis; + } + public function getMinDurationMillis() + { + return $this->minDurationMillis; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Fitness/BucketBySession.php b/vendor/google/apiclient-services/src/Google/Service/Fitness/BucketBySession.php new file mode 100644 index 00000000..45d3fdf5 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Fitness/BucketBySession.php @@ -0,0 +1,30 @@ +minDurationMillis = $minDurationMillis; + } + public function getMinDurationMillis() + { + return $this->minDurationMillis; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Fitness/BucketByTime.php b/vendor/google/apiclient-services/src/Google/Service/Fitness/BucketByTime.php new file mode 100644 index 00000000..2ef6e9d9 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Fitness/BucketByTime.php @@ -0,0 +1,40 @@ +durationMillis = $durationMillis; + } + public function getDurationMillis() + { + return $this->durationMillis; + } + public function setPeriod(Google_Service_Fitness_BucketByTimePeriod $period) + { + $this->period = $period; + } + public function getPeriod() + { + return $this->period; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Fitness/BucketByTimePeriod.php b/vendor/google/apiclient-services/src/Google/Service/Fitness/BucketByTimePeriod.php new file mode 100644 index 00000000..e24450be --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Fitness/BucketByTimePeriod.php @@ -0,0 +1,48 @@ +timeZoneId = $timeZoneId; + } + public function getTimeZoneId() + { + return $this->timeZoneId; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } + public function setValue($value) + { + $this->value = $value; + } + public function getValue() + { + return $this->value; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Fitness/DataPoint.php b/vendor/google/apiclient-services/src/Google/Service/Fitness/DataPoint.php new file mode 100644 index 00000000..fba8a4b6 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Fitness/DataPoint.php @@ -0,0 +1,95 @@ +computationTimeMillis = $computationTimeMillis; + } + public function getComputationTimeMillis() + { + return $this->computationTimeMillis; + } + public function setDataTypeName($dataTypeName) + { + $this->dataTypeName = $dataTypeName; + } + public function getDataTypeName() + { + return $this->dataTypeName; + } + public function setEndTimeNanos($endTimeNanos) + { + $this->endTimeNanos = $endTimeNanos; + } + public function getEndTimeNanos() + { + return $this->endTimeNanos; + } + public function setModifiedTimeMillis($modifiedTimeMillis) + { + $this->modifiedTimeMillis = $modifiedTimeMillis; + } + public function getModifiedTimeMillis() + { + return $this->modifiedTimeMillis; + } + public function setOriginDataSourceId($originDataSourceId) + { + $this->originDataSourceId = $originDataSourceId; + } + public function getOriginDataSourceId() + { + return $this->originDataSourceId; + } + public function setRawTimestampNanos($rawTimestampNanos) + { + $this->rawTimestampNanos = $rawTimestampNanos; + } + public function getRawTimestampNanos() + { + return $this->rawTimestampNanos; + } + public function setStartTimeNanos($startTimeNanos) + { + $this->startTimeNanos = $startTimeNanos; + } + public function getStartTimeNanos() + { + return $this->startTimeNanos; + } + public function setValue($value) + { + $this->value = $value; + } + public function getValue() + { + return $this->value; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Fitness/DataSource.php b/vendor/google/apiclient-services/src/Google/Service/Fitness/DataSource.php new file mode 100644 index 00000000..837ec6f9 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Fitness/DataSource.php @@ -0,0 +1,97 @@ +application = $application; + } + public function getApplication() + { + return $this->application; + } + public function setDataQualityStandard($dataQualityStandard) + { + $this->dataQualityStandard = $dataQualityStandard; + } + public function getDataQualityStandard() + { + return $this->dataQualityStandard; + } + public function setDataStreamId($dataStreamId) + { + $this->dataStreamId = $dataStreamId; + } + public function getDataStreamId() + { + return $this->dataStreamId; + } + public function setDataStreamName($dataStreamName) + { + $this->dataStreamName = $dataStreamName; + } + public function getDataStreamName() + { + return $this->dataStreamName; + } + public function setDataType(Google_Service_Fitness_DataType $dataType) + { + $this->dataType = $dataType; + } + public function getDataType() + { + return $this->dataType; + } + public function setDevice(Google_Service_Fitness_Device $device) + { + $this->device = $device; + } + public function getDevice() + { + return $this->device; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Fitness/DataType.php b/vendor/google/apiclient-services/src/Google/Service/Fitness/DataType.php new file mode 100644 index 00000000..74042d11 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Fitness/DataType.php @@ -0,0 +1,41 @@ +field = $field; + } + public function getField() + { + return $this->field; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Fitness/DataTypeField.php b/vendor/google/apiclient-services/src/Google/Service/Fitness/DataTypeField.php new file mode 100644 index 00000000..4439ed84 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Fitness/DataTypeField.php @@ -0,0 +1,48 @@ +format = $format; + } + public function getFormat() + { + return $this->format; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setOptional($optional) + { + $this->optional = $optional; + } + public function getOptional() + { + return $this->optional; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Fitness/Dataset.php b/vendor/google/apiclient-services/src/Google/Service/Fitness/Dataset.php new file mode 100644 index 00000000..cc005a09 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Fitness/Dataset.php @@ -0,0 +1,68 @@ +dataSourceId = $dataSourceId; + } + public function getDataSourceId() + { + return $this->dataSourceId; + } + public function setMaxEndTimeNs($maxEndTimeNs) + { + $this->maxEndTimeNs = $maxEndTimeNs; + } + public function getMaxEndTimeNs() + { + return $this->maxEndTimeNs; + } + public function setMinStartTimeNs($minStartTimeNs) + { + $this->minStartTimeNs = $minStartTimeNs; + } + public function getMinStartTimeNs() + { + return $this->minStartTimeNs; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setPoint($point) + { + $this->point = $point; + } + public function getPoint() + { + return $this->point; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Fitness/Device.php b/vendor/google/apiclient-services/src/Google/Service/Fitness/Device.php new file mode 100644 index 00000000..f286ef1b --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Fitness/Device.php @@ -0,0 +1,66 @@ +manufacturer = $manufacturer; + } + public function getManufacturer() + { + return $this->manufacturer; + } + public function setModel($model) + { + $this->model = $model; + } + public function getModel() + { + return $this->model; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } + public function setUid($uid) + { + $this->uid = $uid; + } + public function getUid() + { + return $this->uid; + } + public function setVersion($version) + { + $this->version = $version; + } + public function getVersion() + { + return $this->version; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Fitness/ListDataSourcesResponse.php b/vendor/google/apiclient-services/src/Google/Service/Fitness/ListDataSourcesResponse.php new file mode 100644 index 00000000..941acc9c --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Fitness/ListDataSourcesResponse.php @@ -0,0 +1,32 @@ +dataSource = $dataSource; + } + public function getDataSource() + { + return $this->dataSource; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Fitness/ListSessionsResponse.php b/vendor/google/apiclient-services/src/Google/Service/Fitness/ListSessionsResponse.php new file mode 100644 index 00000000..ef0b85f0 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Fitness/ListSessionsResponse.php @@ -0,0 +1,60 @@ +deletedSession = $deletedSession; + } + public function getDeletedSession() + { + return $this->deletedSession; + } + public function setHasMoreData($hasMoreData) + { + $this->hasMoreData = $hasMoreData; + } + public function getHasMoreData() + { + return $this->hasMoreData; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setSession($session) + { + $this->session = $session; + } + public function getSession() + { + return $this->session; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Fitness/MapValue.php b/vendor/google/apiclient-services/src/Google/Service/Fitness/MapValue.php new file mode 100644 index 00000000..5131de54 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Fitness/MapValue.php @@ -0,0 +1,30 @@ +fpVal = $fpVal; + } + public function getFpVal() + { + return $this->fpVal; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Fitness/Resource/Users.php b/vendor/google/apiclient-services/src/Google/Service/Fitness/Resource/Users.php new file mode 100644 index 00000000..1137392d --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Fitness/Resource/Users.php @@ -0,0 +1,28 @@ + + * $fitnessService = new Google_Service_Fitness(...); + * $users = $fitnessService->users; + * + */ +class Google_Service_Fitness_Resource_Users extends Google_Service_Resource +{ +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Fitness/Resource/UsersDataSources.php b/vendor/google/apiclient-services/src/Google/Service/Fitness/Resource/UsersDataSources.php new file mode 100644 index 00000000..7616597d --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Fitness/Resource/UsersDataSources.php @@ -0,0 +1,143 @@ + + * $fitnessService = new Google_Service_Fitness(...); + * $dataSources = $fitnessService->dataSources; + * + */ +class Google_Service_Fitness_Resource_UsersDataSources extends Google_Service_Resource +{ + /** + * Creates a new data source that is unique across all data sources belonging to + * this user. The data stream ID field can be omitted and will be generated by + * the server with the correct format. The data stream ID is an ordered + * combination of some fields from the data source. In addition to the data + * source fields reflected into the data source ID, the developer project number + * that is authenticated when creating the data source is included. This + * developer project number is obfuscated when read by any other developer + * reading public data types. (dataSources.create) + * + * @param string $userId Create the data source for the person identified. Use + * me to indicate the authenticated user. Only me is supported at this time. + * @param Google_Service_Fitness_DataSource $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Fitness_DataSource + */ + public function create($userId, Google_Service_Fitness_DataSource $postBody, $optParams = array()) + { + $params = array('userId' => $userId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('create', array($params), "Google_Service_Fitness_DataSource"); + } + /** + * Deletes the specified data source. The request will fail if the data source + * contains any data points. (dataSources.delete) + * + * @param string $userId Retrieve a data source for the person identified. Use + * me to indicate the authenticated user. Only me is supported at this time. + * @param string $dataSourceId The data stream ID of the data source to delete. + * @param array $optParams Optional parameters. + * @return Google_Service_Fitness_DataSource + */ + public function delete($userId, $dataSourceId, $optParams = array()) + { + $params = array('userId' => $userId, 'dataSourceId' => $dataSourceId); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params), "Google_Service_Fitness_DataSource"); + } + /** + * Returns the specified data source. (dataSources.get) + * + * @param string $userId Retrieve a data source for the person identified. Use + * me to indicate the authenticated user. Only me is supported at this time. + * @param string $dataSourceId The data stream ID of the data source to + * retrieve. + * @param array $optParams Optional parameters. + * @return Google_Service_Fitness_DataSource + */ + public function get($userId, $dataSourceId, $optParams = array()) + { + $params = array('userId' => $userId, 'dataSourceId' => $dataSourceId); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Fitness_DataSource"); + } + /** + * Lists all data sources that are visible to the developer, using the OAuth + * scopes provided. The list is not exhaustive; the user may have private data + * sources that are only visible to other developers, or calls using other + * scopes. (dataSources.listUsersDataSources) + * + * @param string $userId List data sources for the person identified. Use me to + * indicate the authenticated user. Only me is supported at this time. + * @param array $optParams Optional parameters. + * + * @opt_param string dataTypeName The names of data types to include in the + * list. If not specified, all data sources will be returned. + * @return Google_Service_Fitness_ListDataSourcesResponse + */ + public function listUsersDataSources($userId, $optParams = array()) + { + $params = array('userId' => $userId); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Fitness_ListDataSourcesResponse"); + } + /** + * Updates the specified data source. The dataStreamId, dataType, type, + * dataStreamName, and device properties with the exception of version, cannot + * be modified. + * + * Data sources are identified by their dataStreamId. This method supports patch + * semantics. (dataSources.patch) + * + * @param string $userId Update the data source for the person identified. Use + * me to indicate the authenticated user. Only me is supported at this time. + * @param string $dataSourceId The data stream ID of the data source to update. + * @param Google_Service_Fitness_DataSource $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Fitness_DataSource + */ + public function patch($userId, $dataSourceId, Google_Service_Fitness_DataSource $postBody, $optParams = array()) + { + $params = array('userId' => $userId, 'dataSourceId' => $dataSourceId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('patch', array($params), "Google_Service_Fitness_DataSource"); + } + /** + * Updates the specified data source. The dataStreamId, dataType, type, + * dataStreamName, and device properties with the exception of version, cannot + * be modified. + * + * Data sources are identified by their dataStreamId. (dataSources.update) + * + * @param string $userId Update the data source for the person identified. Use + * me to indicate the authenticated user. Only me is supported at this time. + * @param string $dataSourceId The data stream ID of the data source to update. + * @param Google_Service_Fitness_DataSource $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Fitness_DataSource + */ + public function update($userId, $dataSourceId, Google_Service_Fitness_DataSource $postBody, $optParams = array()) + { + $params = array('userId' => $userId, 'dataSourceId' => $dataSourceId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('update', array($params), "Google_Service_Fitness_DataSource"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Fitness/Resource/UsersDataSourcesDatasets.php b/vendor/google/apiclient-services/src/Google/Service/Fitness/Resource/UsersDataSourcesDatasets.php new file mode 100644 index 00000000..0fca4bd1 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Fitness/Resource/UsersDataSourcesDatasets.php @@ -0,0 +1,119 @@ + + * $fitnessService = new Google_Service_Fitness(...); + * $datasets = $fitnessService->datasets; + * + */ +class Google_Service_Fitness_Resource_UsersDataSourcesDatasets extends Google_Service_Resource +{ + /** + * Performs an inclusive delete of all data points whose start and end times + * have any overlap with the time range specified by the dataset ID. For most + * data types, the entire data point will be deleted. For data types where the + * time span represents a consistent value (such as + * com.google.activity.segment), and a data point straddles either end point of + * the dataset, only the overlapping portion of the data point will be deleted. + * (datasets.delete) + * + * @param string $userId Delete a dataset for the person identified. Use me to + * indicate the authenticated user. Only me is supported at this time. + * @param string $dataSourceId The data stream ID of the data source that + * created the dataset. + * @param string $datasetId Dataset identifier that is a composite of the + * minimum data point start time and maximum data point end time represented as + * nanoseconds from the epoch. The ID is formatted like: "startTime-endTime" + * where startTime and endTime are 64 bit integers. + * @param array $optParams Optional parameters. + * + * @opt_param string currentTimeMillis The client's current time in milliseconds + * since epoch. + * @opt_param string modifiedTimeMillis When the operation was performed on the + * client. + */ + public function delete($userId, $dataSourceId, $datasetId, $optParams = array()) + { + $params = array('userId' => $userId, 'dataSourceId' => $dataSourceId, 'datasetId' => $datasetId); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params)); + } + /** + * Returns a dataset containing all data points whose start and end times + * overlap with the specified range of the dataset minimum start time and + * maximum end time. Specifically, any data point whose start time is less than + * or equal to the dataset end time and whose end time is greater than or equal + * to the dataset start time. (datasets.get) + * + * @param string $userId Retrieve a dataset for the person identified. Use me to + * indicate the authenticated user. Only me is supported at this time. + * @param string $dataSourceId The data stream ID of the data source that + * created the dataset. + * @param string $datasetId Dataset identifier that is a composite of the + * minimum data point start time and maximum data point end time represented as + * nanoseconds from the epoch. The ID is formatted like: "startTime-endTime" + * where startTime and endTime are 64 bit integers. + * @param array $optParams Optional parameters. + * + * @opt_param int limit If specified, no more than this many data points will be + * included in the dataset. If there are more data points in the dataset, + * nextPageToken will be set in the dataset response. + * @opt_param string pageToken The continuation token, which is used to page + * through large datasets. To get the next page of a dataset, set this parameter + * to the value of nextPageToken from the previous response. Each subsequent + * call will yield a partial dataset with data point end timestamps that are + * strictly smaller than those in the previous partial response. + * @return Google_Service_Fitness_Dataset + */ + public function get($userId, $dataSourceId, $datasetId, $optParams = array()) + { + $params = array('userId' => $userId, 'dataSourceId' => $dataSourceId, 'datasetId' => $datasetId); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Fitness_Dataset"); + } + /** + * Adds data points to a dataset. The dataset need not be previously created. + * All points within the given dataset will be returned with subsquent calls to + * retrieve this dataset. Data points can belong to more than one dataset. This + * method does not use patch semantics. (datasets.patch) + * + * @param string $userId Patch a dataset for the person identified. Use me to + * indicate the authenticated user. Only me is supported at this time. + * @param string $dataSourceId The data stream ID of the data source that + * created the dataset. + * @param string $datasetId Dataset identifier that is a composite of the + * minimum data point start time and maximum data point end time represented as + * nanoseconds from the epoch. The ID is formatted like: "startTime-endTime" + * where startTime and endTime are 64 bit integers. + * @param Google_Service_Fitness_Dataset $postBody + * @param array $optParams Optional parameters. + * + * @opt_param string currentTimeMillis The client's current time in milliseconds + * since epoch. Note that the minStartTimeNs and maxEndTimeNs properties in the + * request body are in nanoseconds instead of milliseconds. + * @return Google_Service_Fitness_Dataset + */ + public function patch($userId, $dataSourceId, $datasetId, Google_Service_Fitness_Dataset $postBody, $optParams = array()) + { + $params = array('userId' => $userId, 'dataSourceId' => $dataSourceId, 'datasetId' => $datasetId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('patch', array($params), "Google_Service_Fitness_Dataset"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Fitness/Resource/UsersDataset.php b/vendor/google/apiclient-services/src/Google/Service/Fitness/Resource/UsersDataset.php new file mode 100644 index 00000000..76e83451 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Fitness/Resource/UsersDataset.php @@ -0,0 +1,46 @@ + + * $fitnessService = new Google_Service_Fitness(...); + * $dataset = $fitnessService->dataset; + * + */ +class Google_Service_Fitness_Resource_UsersDataset extends Google_Service_Resource +{ + /** + * Aggregates data of a certain type or stream into buckets divided by a given + * type of boundary. Multiple data sets of multiple types and from multiple + * sources can be aggreated into exactly one bucket type per request. + * (dataset.aggregate) + * + * @param string $userId Aggregate data for the person identified. Use me to + * indicate the authenticated user. Only me is supported at this time. + * @param Google_Service_Fitness_AggregateRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Fitness_AggregateResponse + */ + public function aggregate($userId, Google_Service_Fitness_AggregateRequest $postBody, $optParams = array()) + { + $params = array('userId' => $userId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('aggregate', array($params), "Google_Service_Fitness_AggregateResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Fitness/Resource/UsersSessions.php b/vendor/google/apiclient-services/src/Google/Service/Fitness/Resource/UsersSessions.php new file mode 100644 index 00000000..d610485c --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Fitness/Resource/UsersSessions.php @@ -0,0 +1,89 @@ + + * $fitnessService = new Google_Service_Fitness(...); + * $sessions = $fitnessService->sessions; + * + */ +class Google_Service_Fitness_Resource_UsersSessions extends Google_Service_Resource +{ + /** + * Deletes a session specified by the given session ID. (sessions.delete) + * + * @param string $userId Delete a session for the person identified. Use me to + * indicate the authenticated user. Only me is supported at this time. + * @param string $sessionId The ID of the session to be deleted. + * @param array $optParams Optional parameters. + * + * @opt_param string currentTimeMillis The client's current time in milliseconds + * since epoch. + */ + public function delete($userId, $sessionId, $optParams = array()) + { + $params = array('userId' => $userId, 'sessionId' => $sessionId); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params)); + } + /** + * Lists sessions previously created. (sessions.listUsersSessions) + * + * @param string $userId List sessions for the person identified. Use me to + * indicate the authenticated user. Only me is supported at this time. + * @param array $optParams Optional parameters. + * + * @opt_param string endTime An RFC3339 timestamp. Only sessions ending between + * the start and end times will be included in the response. + * @opt_param bool includeDeleted If true, deleted sessions will be returned. + * When set to true, sessions returned in this response will only have an ID and + * will not have any other fields. + * @opt_param string pageToken The continuation token, which is used to page + * through large result sets. To get the next page of results, set this + * parameter to the value of nextPageToken from the previous response. + * @opt_param string startTime An RFC3339 timestamp. Only sessions ending + * between the start and end times will be included in the response. + * @return Google_Service_Fitness_ListSessionsResponse + */ + public function listUsersSessions($userId, $optParams = array()) + { + $params = array('userId' => $userId); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Fitness_ListSessionsResponse"); + } + /** + * Updates or insert a given session. (sessions.update) + * + * @param string $userId Create sessions for the person identified. Use me to + * indicate the authenticated user. Only me is supported at this time. + * @param string $sessionId The ID of the session to be created. + * @param Google_Service_Fitness_Session $postBody + * @param array $optParams Optional parameters. + * + * @opt_param string currentTimeMillis The client's current time in milliseconds + * since epoch. + * @return Google_Service_Fitness_Session + */ + public function update($userId, $sessionId, Google_Service_Fitness_Session $postBody, $optParams = array()) + { + $params = array('userId' => $userId, 'sessionId' => $sessionId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('update', array($params), "Google_Service_Fitness_Session"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Fitness/Session.php b/vendor/google/apiclient-services/src/Google/Service/Fitness/Session.php new file mode 100644 index 00000000..c1ae1290 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Fitness/Session.php @@ -0,0 +1,103 @@ +activeTimeMillis = $activeTimeMillis; + } + public function getActiveTimeMillis() + { + return $this->activeTimeMillis; + } + public function setActivityType($activityType) + { + $this->activityType = $activityType; + } + public function getActivityType() + { + return $this->activityType; + } + public function setApplication(Google_Service_Fitness_Application $application) + { + $this->application = $application; + } + public function getApplication() + { + return $this->application; + } + public function setDescription($description) + { + $this->description = $description; + } + public function getDescription() + { + return $this->description; + } + public function setEndTimeMillis($endTimeMillis) + { + $this->endTimeMillis = $endTimeMillis; + } + public function getEndTimeMillis() + { + return $this->endTimeMillis; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setModifiedTimeMillis($modifiedTimeMillis) + { + $this->modifiedTimeMillis = $modifiedTimeMillis; + } + public function getModifiedTimeMillis() + { + return $this->modifiedTimeMillis; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setStartTimeMillis($startTimeMillis) + { + $this->startTimeMillis = $startTimeMillis; + } + public function getStartTimeMillis() + { + return $this->startTimeMillis; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Fitness/Value.php b/vendor/google/apiclient-services/src/Google/Service/Fitness/Value.php new file mode 100644 index 00000000..273ed061 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Fitness/Value.php @@ -0,0 +1,59 @@ +fpVal = $fpVal; + } + public function getFpVal() + { + return $this->fpVal; + } + public function setIntVal($intVal) + { + $this->intVal = $intVal; + } + public function getIntVal() + { + return $this->intVal; + } + public function setMapVal($mapVal) + { + $this->mapVal = $mapVal; + } + public function getMapVal() + { + return $this->mapVal; + } + public function setStringVal($stringVal) + { + $this->stringVal = $stringVal; + } + public function getStringVal() + { + return $this->stringVal; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Fitness/ValueMapValEntry.php b/vendor/google/apiclient-services/src/Google/Service/Fitness/ValueMapValEntry.php new file mode 100644 index 00000000..fb99ddfd --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Fitness/ValueMapValEntry.php @@ -0,0 +1,40 @@ +key = $key; + } + public function getKey() + { + return $this->key; + } + public function setValue(Google_Service_Fitness_MapValue $value) + { + $this->value = $value; + } + public function getValue() + { + return $this->value; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Freebase.php b/vendor/google/apiclient-services/src/Google/Service/Freebase.php new file mode 100644 index 00000000..2c0e9ca6 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Freebase.php @@ -0,0 +1,258 @@ + + * Find Freebase entities using textual queries and other constraints.

+ * + *

+ * For more information about this service, see the API + * Documentation + *

+ * + * @author Google, Inc. + */ +class Google_Service_Freebase extends Google_Service +{ + + + + private $base_methods; + /** + * Constructs the internal representation of the Freebase service. + * + * @param Google_Client $client + */ + public function __construct(Google_Client $client) + { + parent::__construct($client); + $this->rootUrl = 'https://www.googleapis.com/'; + $this->servicePath = 'freebase/v1/'; + $this->version = 'v1'; + $this->serviceName = 'freebase'; + + $this->base_methods = new Google_Service_Resource( + $this, + $this->serviceName, + '', + array( + 'methods' => array( + 'reconcile' => array( + 'path' => 'reconcile', + 'httpMethod' => 'GET', + 'parameters' => array( + 'confidence' => array( + 'location' => 'query', + 'type' => 'number', + ), + 'kind' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + ), + 'lang' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + ), + 'limit' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'name' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'prop' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + ), + ), + ),'search' => array( + 'path' => 'search', + 'httpMethod' => 'GET', + 'parameters' => array( + 'as_of_time' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'callback' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'cursor' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'domain' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + ), + 'encode' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'exact' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + 'filter' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + ), + 'format' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'help' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'indent' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + 'lang' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + ), + 'limit' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'mid' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + ), + 'mql_output' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'output' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'prefixed' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + 'query' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'scoring' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'spell' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'stemmed' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + 'type' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + ), + 'with' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + ), + 'without' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + ), + ), + ), + ) + ) + ); + } + /** + * Reconcile entities to Freebase open data. (reconcile) + * + * @param array $optParams Optional parameters. + * + * @opt_param float confidence Required confidence for a candidate to match. + * Must be between .5 and 1.0 + * @opt_param string kind Classifications of entity e.g. type, category, title. + * @opt_param string lang Languages for names and values. First language is used + * for display. Default is 'en'. + * @opt_param int limit Maximum number of candidates to return. + * @opt_param string name Name of entity. + * @opt_param string prop Property values for entity formatted as : + * @return Google_Service_Freebase_ReconcileGet + */ + public function reconcile($optParams = array()) + { + $params = array(); + $params = array_merge($params, $optParams); + return $this->base_methods->call('reconcile', array($params), "Google_Service_Freebase_ReconcileGet"); + } + /** + * Search Freebase open data. (search) + * + * @param array $optParams Optional parameters. + * + * @opt_param string as_of_time A mql as_of_time value to use with mql_output + * queries. + * @opt_param string callback JS method name for JSONP callbacks. + * @opt_param int cursor The cursor value to use for the next page of results. + * @opt_param string domain Restrict to topics with this Freebase domain id. + * @opt_param string encode The encoding of the response. You can use this + * parameter to enable html encoding. + * @opt_param bool exact Query on exact name and keys only. + * @opt_param string filter A filter to apply to the query. + * @opt_param string format Structural format of the json response. + * @opt_param string help The keyword to request help on. + * @opt_param bool indent Whether to indent the json results or not. + * @opt_param string lang The code of the language to run the query with. + * Default is 'en'. + * @opt_param int limit Maximum number of results to return. + * @opt_param string mid A mid to use instead of a query. + * @opt_param string mql_output The MQL query to run againist the results to + * extract more data. + * @opt_param string output An output expression to request data from matches. + * @opt_param bool prefixed Prefix match against names and aliases. + * @opt_param string query Query term to search for. + * @opt_param string scoring Relevance scoring algorithm to use. + * @opt_param string spell Request 'did you mean' suggestions + * @opt_param bool stemmed Query on stemmed names and aliases. May not be used + * with prefixed. + * @opt_param string type Restrict to topics with this Freebase type id. + * @opt_param string with A rule to match against. + * @opt_param string without A rule to not match against. + */ + public function search($optParams = array()) + { + $params = array(); + $params = array_merge($params, $optParams); + return $this->base_methods->call('search', array($params)); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Freebase/ReconcileCandidate.php b/vendor/google/apiclient-services/src/Google/Service/Freebase/ReconcileCandidate.php new file mode 100644 index 00000000..f642d16e --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Freebase/ReconcileCandidate.php @@ -0,0 +1,67 @@ +confidence = $confidence; + } + public function getConfidence() + { + return $this->confidence; + } + public function setLang($lang) + { + $this->lang = $lang; + } + public function getLang() + { + return $this->lang; + } + public function setMid($mid) + { + $this->mid = $mid; + } + public function getMid() + { + return $this->mid; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setNotable(Google_Service_Freebase_ReconcileCandidateNotable $notable) + { + $this->notable = $notable; + } + public function getNotable() + { + return $this->notable; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Freebase/ReconcileCandidateNotable.php b/vendor/google/apiclient-services/src/Google/Service/Freebase/ReconcileCandidateNotable.php new file mode 100644 index 00000000..4a75e047 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Freebase/ReconcileCandidateNotable.php @@ -0,0 +1,39 @@ +id = $id; + } + public function getId() + { + return $this->id; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Freebase/ReconcileGet.php b/vendor/google/apiclient-services/src/Google/Service/Freebase/ReconcileGet.php new file mode 100644 index 00000000..8abc62c3 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Freebase/ReconcileGet.php @@ -0,0 +1,62 @@ +candidate = $candidate; + } + public function getCandidate() + { + return $this->candidate; + } + public function setCosts(Google_Service_Freebase_ReconcileGetCosts $costs) + { + $this->costs = $costs; + } + public function getCosts() + { + return $this->costs; + } + public function setMatch(Google_Service_Freebase_ReconcileCandidate $match) + { + $this->match = $match; + } + public function getMatch() + { + return $this->match; + } + public function setWarning($warning) + { + $this->warning = $warning; + } + public function getWarning() + { + return $this->warning; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Freebase/ReconcileGetCosts.php b/vendor/google/apiclient-services/src/Google/Service/Freebase/ReconcileGetCosts.php new file mode 100644 index 00000000..9157995b --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Freebase/ReconcileGetCosts.php @@ -0,0 +1,39 @@ +hits = $hits; + } + public function getHits() + { + return $this->hits; + } + public function setMs($ms) + { + $this->ms = $ms; + } + public function getMs() + { + return $this->ms; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Freebase/ReconcileGetWarning.php b/vendor/google/apiclient-services/src/Google/Service/Freebase/ReconcileGetWarning.php new file mode 100644 index 00000000..7e5a9cec --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Freebase/ReconcileGetWarning.php @@ -0,0 +1,48 @@ +location = $location; + } + public function getLocation() + { + return $this->location; + } + public function setMessage($message) + { + $this->message = $message; + } + public function getMessage() + { + return $this->message; + } + public function setReason($reason) + { + $this->reason = $reason; + } + public function getReason() + { + return $this->reason; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Fusiontables.php b/vendor/google/apiclient-services/src/Google/Service/Fusiontables.php new file mode 100644 index 00000000..7c51871e --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Fusiontables.php @@ -0,0 +1,630 @@ + + * API for working with Fusion Tables data.

+ * + *

+ * For more information about this service, see the API + * Documentation + *

+ * + * @author Google, Inc. + */ +class Google_Service_Fusiontables extends Google_Service +{ + /** Manage your Fusion Tables. */ + const FUSIONTABLES = + "https://www.googleapis.com/auth/fusiontables"; + /** View your Fusion Tables. */ + const FUSIONTABLES_READONLY = + "https://www.googleapis.com/auth/fusiontables.readonly"; + + public $column; + public $query; + public $style; + public $table; + public $task; + public $template; + + /** + * Constructs the internal representation of the Fusiontables service. + * + * @param Google_Client $client + */ + public function __construct(Google_Client $client) + { + parent::__construct($client); + $this->rootUrl = 'https://www.googleapis.com/'; + $this->servicePath = 'fusiontables/v2/'; + $this->version = 'v2'; + $this->serviceName = 'fusiontables'; + + $this->column = new Google_Service_Fusiontables_Resource_Column( + $this, + $this->serviceName, + 'column', + array( + 'methods' => array( + 'delete' => array( + 'path' => 'tables/{tableId}/columns/{columnId}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'tableId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'columnId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'get' => array( + 'path' => 'tables/{tableId}/columns/{columnId}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'tableId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'columnId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'insert' => array( + 'path' => 'tables/{tableId}/columns', + 'httpMethod' => 'POST', + 'parameters' => array( + 'tableId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'tables/{tableId}/columns', + 'httpMethod' => 'GET', + 'parameters' => array( + 'tableId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'patch' => array( + 'path' => 'tables/{tableId}/columns/{columnId}', + 'httpMethod' => 'PATCH', + 'parameters' => array( + 'tableId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'columnId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'update' => array( + 'path' => 'tables/{tableId}/columns/{columnId}', + 'httpMethod' => 'PUT', + 'parameters' => array( + 'tableId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'columnId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->query = new Google_Service_Fusiontables_Resource_Query( + $this, + $this->serviceName, + 'query', + array( + 'methods' => array( + 'sql' => array( + 'path' => 'query', + 'httpMethod' => 'POST', + 'parameters' => array( + 'sql' => array( + 'location' => 'query', + 'type' => 'string', + 'required' => true, + ), + 'hdrs' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + 'typed' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + ), + ),'sqlGet' => array( + 'path' => 'query', + 'httpMethod' => 'GET', + 'parameters' => array( + 'sql' => array( + 'location' => 'query', + 'type' => 'string', + 'required' => true, + ), + 'hdrs' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + 'typed' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + ), + ), + ) + ) + ); + $this->style = new Google_Service_Fusiontables_Resource_Style( + $this, + $this->serviceName, + 'style', + array( + 'methods' => array( + 'delete' => array( + 'path' => 'tables/{tableId}/styles/{styleId}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'tableId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'styleId' => array( + 'location' => 'path', + 'type' => 'integer', + 'required' => true, + ), + ), + ),'get' => array( + 'path' => 'tables/{tableId}/styles/{styleId}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'tableId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'styleId' => array( + 'location' => 'path', + 'type' => 'integer', + 'required' => true, + ), + ), + ),'insert' => array( + 'path' => 'tables/{tableId}/styles', + 'httpMethod' => 'POST', + 'parameters' => array( + 'tableId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'tables/{tableId}/styles', + 'httpMethod' => 'GET', + 'parameters' => array( + 'tableId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'patch' => array( + 'path' => 'tables/{tableId}/styles/{styleId}', + 'httpMethod' => 'PATCH', + 'parameters' => array( + 'tableId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'styleId' => array( + 'location' => 'path', + 'type' => 'integer', + 'required' => true, + ), + ), + ),'update' => array( + 'path' => 'tables/{tableId}/styles/{styleId}', + 'httpMethod' => 'PUT', + 'parameters' => array( + 'tableId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'styleId' => array( + 'location' => 'path', + 'type' => 'integer', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->table = new Google_Service_Fusiontables_Resource_Table( + $this, + $this->serviceName, + 'table', + array( + 'methods' => array( + 'copy' => array( + 'path' => 'tables/{tableId}/copy', + 'httpMethod' => 'POST', + 'parameters' => array( + 'tableId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'copyPresentation' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + ), + ),'delete' => array( + 'path' => 'tables/{tableId}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'tableId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'get' => array( + 'path' => 'tables/{tableId}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'tableId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'importRows' => array( + 'path' => 'tables/{tableId}/import', + 'httpMethod' => 'POST', + 'parameters' => array( + 'tableId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'delimiter' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'encoding' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'endLine' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'isStrict' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + 'startLine' => array( + 'location' => 'query', + 'type' => 'integer', + ), + ), + ),'importTable' => array( + 'path' => 'tables/import', + 'httpMethod' => 'POST', + 'parameters' => array( + 'name' => array( + 'location' => 'query', + 'type' => 'string', + 'required' => true, + ), + 'delimiter' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'encoding' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'insert' => array( + 'path' => 'tables', + 'httpMethod' => 'POST', + 'parameters' => array(), + ),'list' => array( + 'path' => 'tables', + 'httpMethod' => 'GET', + 'parameters' => array( + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'patch' => array( + 'path' => 'tables/{tableId}', + 'httpMethod' => 'PATCH', + 'parameters' => array( + 'tableId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'replaceViewDefinition' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + ), + ),'replaceRows' => array( + 'path' => 'tables/{tableId}/replace', + 'httpMethod' => 'POST', + 'parameters' => array( + 'tableId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'delimiter' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'encoding' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'endLine' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'isStrict' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + 'startLine' => array( + 'location' => 'query', + 'type' => 'integer', + ), + ), + ),'update' => array( + 'path' => 'tables/{tableId}', + 'httpMethod' => 'PUT', + 'parameters' => array( + 'tableId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'replaceViewDefinition' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + ), + ), + ) + ) + ); + $this->task = new Google_Service_Fusiontables_Resource_Task( + $this, + $this->serviceName, + 'task', + array( + 'methods' => array( + 'delete' => array( + 'path' => 'tables/{tableId}/tasks/{taskId}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'tableId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'taskId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'get' => array( + 'path' => 'tables/{tableId}/tasks/{taskId}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'tableId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'taskId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'tables/{tableId}/tasks', + 'httpMethod' => 'GET', + 'parameters' => array( + 'tableId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'startIndex' => array( + 'location' => 'query', + 'type' => 'integer', + ), + ), + ), + ) + ) + ); + $this->template = new Google_Service_Fusiontables_Resource_Template( + $this, + $this->serviceName, + 'template', + array( + 'methods' => array( + 'delete' => array( + 'path' => 'tables/{tableId}/templates/{templateId}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'tableId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'templateId' => array( + 'location' => 'path', + 'type' => 'integer', + 'required' => true, + ), + ), + ),'get' => array( + 'path' => 'tables/{tableId}/templates/{templateId}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'tableId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'templateId' => array( + 'location' => 'path', + 'type' => 'integer', + 'required' => true, + ), + ), + ),'insert' => array( + 'path' => 'tables/{tableId}/templates', + 'httpMethod' => 'POST', + 'parameters' => array( + 'tableId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'tables/{tableId}/templates', + 'httpMethod' => 'GET', + 'parameters' => array( + 'tableId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'patch' => array( + 'path' => 'tables/{tableId}/templates/{templateId}', + 'httpMethod' => 'PATCH', + 'parameters' => array( + 'tableId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'templateId' => array( + 'location' => 'path', + 'type' => 'integer', + 'required' => true, + ), + ), + ),'update' => array( + 'path' => 'tables/{tableId}/templates/{templateId}', + 'httpMethod' => 'PUT', + 'parameters' => array( + 'tableId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'templateId' => array( + 'location' => 'path', + 'type' => 'integer', + 'required' => true, + ), + ), + ), + ) + ) + ); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Fusiontables/Bucket.php b/vendor/google/apiclient-services/src/Google/Service/Fusiontables/Bucket.php new file mode 100644 index 00000000..b8d29340 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Fusiontables/Bucket.php @@ -0,0 +1,75 @@ +color = $color; + } + public function getColor() + { + return $this->color; + } + public function setIcon($icon) + { + $this->icon = $icon; + } + public function getIcon() + { + return $this->icon; + } + public function setMax($max) + { + $this->max = $max; + } + public function getMax() + { + return $this->max; + } + public function setMin($min) + { + $this->min = $min; + } + public function getMin() + { + return $this->min; + } + public function setOpacity($opacity) + { + $this->opacity = $opacity; + } + public function getOpacity() + { + return $this->opacity; + } + public function setWeight($weight) + { + $this->weight = $weight; + } + public function getWeight() + { + return $this->weight; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Fusiontables/Column.php b/vendor/google/apiclient-services/src/Google/Service/Fusiontables/Column.php new file mode 100644 index 00000000..6af64b21 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Fusiontables/Column.php @@ -0,0 +1,131 @@ +baseColumn = $baseColumn; + } + public function getBaseColumn() + { + return $this->baseColumn; + } + public function setColumnId($columnId) + { + $this->columnId = $columnId; + } + public function getColumnId() + { + return $this->columnId; + } + public function setColumnJsonSchema($columnJsonSchema) + { + $this->columnJsonSchema = $columnJsonSchema; + } + public function getColumnJsonSchema() + { + return $this->columnJsonSchema; + } + public function setColumnPropertiesJson($columnPropertiesJson) + { + $this->columnPropertiesJson = $columnPropertiesJson; + } + public function getColumnPropertiesJson() + { + return $this->columnPropertiesJson; + } + public function setDescription($description) + { + $this->description = $description; + } + public function getDescription() + { + return $this->description; + } + public function setFormatPattern($formatPattern) + { + $this->formatPattern = $formatPattern; + } + public function getFormatPattern() + { + return $this->formatPattern; + } + public function setGraphPredicate($graphPredicate) + { + $this->graphPredicate = $graphPredicate; + } + public function getGraphPredicate() + { + return $this->graphPredicate; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } + public function setValidValues($validValues) + { + $this->validValues = $validValues; + } + public function getValidValues() + { + return $this->validValues; + } + public function setValidateData($validateData) + { + $this->validateData = $validateData; + } + public function getValidateData() + { + return $this->validateData; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Fusiontables/ColumnBaseColumn.php b/vendor/google/apiclient-services/src/Google/Service/Fusiontables/ColumnBaseColumn.php new file mode 100644 index 00000000..0dcd6e52 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Fusiontables/ColumnBaseColumn.php @@ -0,0 +1,39 @@ +columnId = $columnId; + } + public function getColumnId() + { + return $this->columnId; + } + public function setTableIndex($tableIndex) + { + $this->tableIndex = $tableIndex; + } + public function getTableIndex() + { + return $this->tableIndex; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Fusiontables/ColumnList.php b/vendor/google/apiclient-services/src/Google/Service/Fusiontables/ColumnList.php new file mode 100644 index 00000000..2f04ef80 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Fusiontables/ColumnList.php @@ -0,0 +1,59 @@ +items = $items; + } + public function getItems() + { + return $this->items; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setTotalItems($totalItems) + { + $this->totalItems = $totalItems; + } + public function getTotalItems() + { + return $this->totalItems; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Fusiontables/Geometry.php b/vendor/google/apiclient-services/src/Google/Service/Fusiontables/Geometry.php new file mode 100644 index 00000000..9852b8b6 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Fusiontables/Geometry.php @@ -0,0 +1,49 @@ +geometries = $geometries; + } + public function getGeometries() + { + return $this->geometries; + } + public function setGeometry($geometry) + { + $this->geometry = $geometry; + } + public function getGeometry() + { + return $this->geometry; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Fusiontables/Import.php b/vendor/google/apiclient-services/src/Google/Service/Fusiontables/Import.php new file mode 100644 index 00000000..63dd9aaf --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Fusiontables/Import.php @@ -0,0 +1,39 @@ +kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNumRowsReceived($numRowsReceived) + { + $this->numRowsReceived = $numRowsReceived; + } + public function getNumRowsReceived() + { + return $this->numRowsReceived; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Fusiontables/Line.php b/vendor/google/apiclient-services/src/Google/Service/Fusiontables/Line.php new file mode 100644 index 00000000..ee490bd6 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Fusiontables/Line.php @@ -0,0 +1,40 @@ +coordinates = $coordinates; + } + public function getCoordinates() + { + return $this->coordinates; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Fusiontables/LineStyle.php b/vendor/google/apiclient-services/src/Google/Service/Fusiontables/LineStyle.php new file mode 100644 index 00000000..ff7e78f2 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Fusiontables/LineStyle.php @@ -0,0 +1,68 @@ +strokeColor = $strokeColor; + } + public function getStrokeColor() + { + return $this->strokeColor; + } + public function setStrokeColorStyler(Google_Service_Fusiontables_StyleFunction $strokeColorStyler) + { + $this->strokeColorStyler = $strokeColorStyler; + } + public function getStrokeColorStyler() + { + return $this->strokeColorStyler; + } + public function setStrokeOpacity($strokeOpacity) + { + $this->strokeOpacity = $strokeOpacity; + } + public function getStrokeOpacity() + { + return $this->strokeOpacity; + } + public function setStrokeWeight($strokeWeight) + { + $this->strokeWeight = $strokeWeight; + } + public function getStrokeWeight() + { + return $this->strokeWeight; + } + public function setStrokeWeightStyler(Google_Service_Fusiontables_StyleFunction $strokeWeightStyler) + { + $this->strokeWeightStyler = $strokeWeightStyler; + } + public function getStrokeWeightStyler() + { + return $this->strokeWeightStyler; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Fusiontables/Point.php b/vendor/google/apiclient-services/src/Google/Service/Fusiontables/Point.php new file mode 100644 index 00000000..bceb6895 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Fusiontables/Point.php @@ -0,0 +1,40 @@ +coordinates = $coordinates; + } + public function getCoordinates() + { + return $this->coordinates; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Fusiontables/PointStyle.php b/vendor/google/apiclient-services/src/Google/Service/Fusiontables/PointStyle.php new file mode 100644 index 00000000..c00480d1 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Fusiontables/PointStyle.php @@ -0,0 +1,40 @@ +iconName = $iconName; + } + public function getIconName() + { + return $this->iconName; + } + public function setIconStyler(Google_Service_Fusiontables_StyleFunction $iconStyler) + { + $this->iconStyler = $iconStyler; + } + public function getIconStyler() + { + return $this->iconStyler; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Fusiontables/Polygon.php b/vendor/google/apiclient-services/src/Google/Service/Fusiontables/Polygon.php new file mode 100644 index 00000000..519bf8ce --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Fusiontables/Polygon.php @@ -0,0 +1,40 @@ +coordinates = $coordinates; + } + public function getCoordinates() + { + return $this->coordinates; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Fusiontables/PolygonStyle.php b/vendor/google/apiclient-services/src/Google/Service/Fusiontables/PolygonStyle.php new file mode 100644 index 00000000..14a3102e --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Fusiontables/PolygonStyle.php @@ -0,0 +1,96 @@ +fillColor = $fillColor; + } + public function getFillColor() + { + return $this->fillColor; + } + public function setFillColorStyler(Google_Service_Fusiontables_StyleFunction $fillColorStyler) + { + $this->fillColorStyler = $fillColorStyler; + } + public function getFillColorStyler() + { + return $this->fillColorStyler; + } + public function setFillOpacity($fillOpacity) + { + $this->fillOpacity = $fillOpacity; + } + public function getFillOpacity() + { + return $this->fillOpacity; + } + public function setStrokeColor($strokeColor) + { + $this->strokeColor = $strokeColor; + } + public function getStrokeColor() + { + return $this->strokeColor; + } + public function setStrokeColorStyler(Google_Service_Fusiontables_StyleFunction $strokeColorStyler) + { + $this->strokeColorStyler = $strokeColorStyler; + } + public function getStrokeColorStyler() + { + return $this->strokeColorStyler; + } + public function setStrokeOpacity($strokeOpacity) + { + $this->strokeOpacity = $strokeOpacity; + } + public function getStrokeOpacity() + { + return $this->strokeOpacity; + } + public function setStrokeWeight($strokeWeight) + { + $this->strokeWeight = $strokeWeight; + } + public function getStrokeWeight() + { + return $this->strokeWeight; + } + public function setStrokeWeightStyler(Google_Service_Fusiontables_StyleFunction $strokeWeightStyler) + { + $this->strokeWeightStyler = $strokeWeightStyler; + } + public function getStrokeWeightStyler() + { + return $this->strokeWeightStyler; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Fusiontables/Resource/Column.php b/vendor/google/apiclient-services/src/Google/Service/Fusiontables/Resource/Column.php new file mode 100644 index 00000000..6cbf88bb --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Fusiontables/Resource/Column.php @@ -0,0 +1,121 @@ + + * $fusiontablesService = new Google_Service_Fusiontables(...); + * $column = $fusiontablesService->column; + * + */ +class Google_Service_Fusiontables_Resource_Column extends Google_Service_Resource +{ + /** + * Deletes the specified column. (column.delete) + * + * @param string $tableId Table from which the column is being deleted. + * @param string $columnId Name or identifier for the column being deleted. + * @param array $optParams Optional parameters. + */ + public function delete($tableId, $columnId, $optParams = array()) + { + $params = array('tableId' => $tableId, 'columnId' => $columnId); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params)); + } + /** + * Retrieves a specific column by its ID. (column.get) + * + * @param string $tableId Table to which the column belongs. + * @param string $columnId Name or identifier for the column that is being + * requested. + * @param array $optParams Optional parameters. + * @return Google_Service_Fusiontables_Column + */ + public function get($tableId, $columnId, $optParams = array()) + { + $params = array('tableId' => $tableId, 'columnId' => $columnId); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Fusiontables_Column"); + } + /** + * Adds a new column to the table. (column.insert) + * + * @param string $tableId Table for which a new column is being added. + * @param Google_Service_Fusiontables_Column $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Fusiontables_Column + */ + public function insert($tableId, Google_Service_Fusiontables_Column $postBody, $optParams = array()) + { + $params = array('tableId' => $tableId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('insert', array($params), "Google_Service_Fusiontables_Column"); + } + /** + * Retrieves a list of columns. (column.listColumn) + * + * @param string $tableId Table whose columns are being listed. + * @param array $optParams Optional parameters. + * + * @opt_param string maxResults Maximum number of columns to return. Default is + * 5. + * @opt_param string pageToken Continuation token specifying which result page + * to return. + * @return Google_Service_Fusiontables_ColumnList + */ + public function listColumn($tableId, $optParams = array()) + { + $params = array('tableId' => $tableId); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Fusiontables_ColumnList"); + } + /** + * Updates the name or type of an existing column. This method supports patch + * semantics. (column.patch) + * + * @param string $tableId Table for which the column is being updated. + * @param string $columnId Name or identifier for the column that is being + * updated. + * @param Google_Service_Fusiontables_Column $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Fusiontables_Column + */ + public function patch($tableId, $columnId, Google_Service_Fusiontables_Column $postBody, $optParams = array()) + { + $params = array('tableId' => $tableId, 'columnId' => $columnId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('patch', array($params), "Google_Service_Fusiontables_Column"); + } + /** + * Updates the name or type of an existing column. (column.update) + * + * @param string $tableId Table for which the column is being updated. + * @param string $columnId Name or identifier for the column that is being + * updated. + * @param Google_Service_Fusiontables_Column $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Fusiontables_Column + */ + public function update($tableId, $columnId, Google_Service_Fusiontables_Column $postBody, $optParams = array()) + { + $params = array('tableId' => $tableId, 'columnId' => $columnId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('update', array($params), "Google_Service_Fusiontables_Column"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Fusiontables/Resource/Query.php b/vendor/google/apiclient-services/src/Google/Service/Fusiontables/Resource/Query.php new file mode 100644 index 00000000..f2fb6562 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Fusiontables/Resource/Query.php @@ -0,0 +1,70 @@ + + * $fusiontablesService = new Google_Service_Fusiontables(...); + * $query = $fusiontablesService->query; + * + */ +class Google_Service_Fusiontables_Resource_Query extends Google_Service_Resource +{ + /** + * Executes a Fusion Tables SQL statement, which can be any of - SELECT - INSERT + * - UPDATE - DELETE - SHOW - DESCRIBE - CREATE statement. (query.sql) + * + * @param string $sql A Fusion Tables SQL statement, which can be any of - + * SELECT - INSERT - UPDATE - DELETE - SHOW - DESCRIBE - CREATE + * @param array $optParams Optional parameters. + * + * @opt_param bool hdrs Whether column names are included in the first row. + * Default is true. + * @opt_param bool typed Whether typed values are returned in the (JSON) + * response: numbers for numeric values and parsed geometries for KML values. + * Default is true. + * @return Google_Service_Fusiontables_Sqlresponse + */ + public function sql($sql, $optParams = array()) + { + $params = array('sql' => $sql); + $params = array_merge($params, $optParams); + return $this->call('sql', array($params), "Google_Service_Fusiontables_Sqlresponse"); + } + /** + * Executes a SQL statement which can be any of - SELECT - SHOW - DESCRIBE + * (query.sqlGet) + * + * @param string $sql A SQL statement which can be any of - SELECT - SHOW - + * DESCRIBE + * @param array $optParams Optional parameters. + * + * @opt_param bool hdrs Whether column names are included (in the first row). + * Default is true. + * @opt_param bool typed Whether typed values are returned in the (JSON) + * response: numbers for numeric values and parsed geometries for KML values. + * Default is true. + * @return Google_Service_Fusiontables_Sqlresponse + */ + public function sqlGet($sql, $optParams = array()) + { + $params = array('sql' => $sql); + $params = array_merge($params, $optParams); + return $this->call('sqlGet', array($params), "Google_Service_Fusiontables_Sqlresponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Fusiontables/Resource/Style.php b/vendor/google/apiclient-services/src/Google/Service/Fusiontables/Resource/Style.php new file mode 100644 index 00000000..a4827806 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Fusiontables/Resource/Style.php @@ -0,0 +1,118 @@ + + * $fusiontablesService = new Google_Service_Fusiontables(...); + * $style = $fusiontablesService->style; + * + */ +class Google_Service_Fusiontables_Resource_Style extends Google_Service_Resource +{ + /** + * Deletes a style. (style.delete) + * + * @param string $tableId Table from which the style is being deleted + * @param int $styleId Identifier (within a table) for the style being deleted + * @param array $optParams Optional parameters. + */ + public function delete($tableId, $styleId, $optParams = array()) + { + $params = array('tableId' => $tableId, 'styleId' => $styleId); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params)); + } + /** + * Gets a specific style. (style.get) + * + * @param string $tableId Table to which the requested style belongs + * @param int $styleId Identifier (integer) for a specific style in a table + * @param array $optParams Optional parameters. + * @return Google_Service_Fusiontables_StyleSetting + */ + public function get($tableId, $styleId, $optParams = array()) + { + $params = array('tableId' => $tableId, 'styleId' => $styleId); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Fusiontables_StyleSetting"); + } + /** + * Adds a new style for the table. (style.insert) + * + * @param string $tableId Table for which a new style is being added + * @param Google_Service_Fusiontables_StyleSetting $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Fusiontables_StyleSetting + */ + public function insert($tableId, Google_Service_Fusiontables_StyleSetting $postBody, $optParams = array()) + { + $params = array('tableId' => $tableId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('insert', array($params), "Google_Service_Fusiontables_StyleSetting"); + } + /** + * Retrieves a list of styles. (style.listStyle) + * + * @param string $tableId Table whose styles are being listed + * @param array $optParams Optional parameters. + * + * @opt_param string maxResults Maximum number of styles to return. Optional. + * Default is 5. + * @opt_param string pageToken Continuation token specifying which result page + * to return. Optional. + * @return Google_Service_Fusiontables_StyleSettingList + */ + public function listStyle($tableId, $optParams = array()) + { + $params = array('tableId' => $tableId); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Fusiontables_StyleSettingList"); + } + /** + * Updates an existing style. This method supports patch semantics. + * (style.patch) + * + * @param string $tableId Table whose style is being updated. + * @param int $styleId Identifier (within a table) for the style being updated. + * @param Google_Service_Fusiontables_StyleSetting $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Fusiontables_StyleSetting + */ + public function patch($tableId, $styleId, Google_Service_Fusiontables_StyleSetting $postBody, $optParams = array()) + { + $params = array('tableId' => $tableId, 'styleId' => $styleId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('patch', array($params), "Google_Service_Fusiontables_StyleSetting"); + } + /** + * Updates an existing style. (style.update) + * + * @param string $tableId Table whose style is being updated. + * @param int $styleId Identifier (within a table) for the style being updated. + * @param Google_Service_Fusiontables_StyleSetting $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Fusiontables_StyleSetting + */ + public function update($tableId, $styleId, Google_Service_Fusiontables_StyleSetting $postBody, $optParams = array()) + { + $params = array('tableId' => $tableId, 'styleId' => $styleId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('update', array($params), "Google_Service_Fusiontables_StyleSetting"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Fusiontables/Resource/Table.php b/vendor/google/apiclient-services/src/Google/Service/Fusiontables/Resource/Table.php new file mode 100644 index 00000000..a556b0d5 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Fusiontables/Resource/Table.php @@ -0,0 +1,212 @@ + + * $fusiontablesService = new Google_Service_Fusiontables(...); + * $table = $fusiontablesService->table; + * + */ +class Google_Service_Fusiontables_Resource_Table extends Google_Service_Resource +{ + /** + * Copies a table. (table.copy) + * + * @param string $tableId ID of the table that is being copied. + * @param array $optParams Optional parameters. + * + * @opt_param bool copyPresentation Whether to also copy tabs, styles, and + * templates. Default is false. + * @return Google_Service_Fusiontables_Table + */ + public function copy($tableId, $optParams = array()) + { + $params = array('tableId' => $tableId); + $params = array_merge($params, $optParams); + return $this->call('copy', array($params), "Google_Service_Fusiontables_Table"); + } + /** + * Deletes a table. (table.delete) + * + * @param string $tableId ID of the table to be deleted. + * @param array $optParams Optional parameters. + */ + public function delete($tableId, $optParams = array()) + { + $params = array('tableId' => $tableId); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params)); + } + /** + * Retrieves a specific table by its ID. (table.get) + * + * @param string $tableId Identifier for the table being requested. + * @param array $optParams Optional parameters. + * @return Google_Service_Fusiontables_Table + */ + public function get($tableId, $optParams = array()) + { + $params = array('tableId' => $tableId); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Fusiontables_Table"); + } + /** + * Imports more rows into a table. (table.importRows) + * + * @param string $tableId The table into which new rows are being imported. + * @param array $optParams Optional parameters. + * + * @opt_param string delimiter The delimiter used to separate cell values. This + * can only consist of a single character. Default is ,. + * @opt_param string encoding The encoding of the content. Default is UTF-8. Use + * auto-detect if you are unsure of the encoding. + * @opt_param int endLine The index of the line up to which data will be + * imported. Default is to import the entire file. If endLine is negative, it is + * an offset from the end of the file; the imported content will exclude the + * last endLine lines. + * @opt_param bool isStrict Whether the imported CSV must have the same number + * of values for each row. If false, rows with fewer values will be padded with + * empty values. Default is true. + * @opt_param int startLine The index of the first line from which to start + * importing, inclusive. Default is 0. + * @return Google_Service_Fusiontables_Import + */ + public function importRows($tableId, $optParams = array()) + { + $params = array('tableId' => $tableId); + $params = array_merge($params, $optParams); + return $this->call('importRows', array($params), "Google_Service_Fusiontables_Import"); + } + /** + * Imports a new table. (table.importTable) + * + * @param string $name The name to be assigned to the new table. + * @param array $optParams Optional parameters. + * + * @opt_param string delimiter The delimiter used to separate cell values. This + * can only consist of a single character. Default is ,. + * @opt_param string encoding The encoding of the content. Default is UTF-8. Use + * auto-detect if you are unsure of the encoding. + * @return Google_Service_Fusiontables_Table + */ + public function importTable($name, $optParams = array()) + { + $params = array('name' => $name); + $params = array_merge($params, $optParams); + return $this->call('importTable', array($params), "Google_Service_Fusiontables_Table"); + } + /** + * Creates a new table. (table.insert) + * + * @param Google_Service_Fusiontables_Table $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Fusiontables_Table + */ + public function insert(Google_Service_Fusiontables_Table $postBody, $optParams = array()) + { + $params = array('postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('insert', array($params), "Google_Service_Fusiontables_Table"); + } + /** + * Retrieves a list of tables a user owns. (table.listTable) + * + * @param array $optParams Optional parameters. + * + * @opt_param string maxResults Maximum number of tables to return. Default is + * 5. + * @opt_param string pageToken Continuation token specifying which result page + * to return. + * @return Google_Service_Fusiontables_TableList + */ + public function listTable($optParams = array()) + { + $params = array(); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Fusiontables_TableList"); + } + /** + * Updates an existing table. Unless explicitly requested, only the name, + * description, and attribution will be updated. This method supports patch + * semantics. (table.patch) + * + * @param string $tableId ID of the table that is being updated. + * @param Google_Service_Fusiontables_Table $postBody + * @param array $optParams Optional parameters. + * + * @opt_param bool replaceViewDefinition Whether the view definition is also + * updated. The specified view definition replaces the existing one. Only a view + * can be updated with a new definition. + * @return Google_Service_Fusiontables_Table + */ + public function patch($tableId, Google_Service_Fusiontables_Table $postBody, $optParams = array()) + { + $params = array('tableId' => $tableId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('patch', array($params), "Google_Service_Fusiontables_Table"); + } + /** + * Replaces rows of an existing table. Current rows remain visible until all + * replacement rows are ready. (table.replaceRows) + * + * @param string $tableId Table whose rows will be replaced. + * @param array $optParams Optional parameters. + * + * @opt_param string delimiter The delimiter used to separate cell values. This + * can only consist of a single character. Default is ,. + * @opt_param string encoding The encoding of the content. Default is UTF-8. Use + * 'auto-detect' if you are unsure of the encoding. + * @opt_param int endLine The index of the line up to which data will be + * imported. Default is to import the entire file. If endLine is negative, it is + * an offset from the end of the file; the imported content will exclude the + * last endLine lines. + * @opt_param bool isStrict Whether the imported CSV must have the same number + * of column values for each row. If true, throws an exception if the CSV does + * not have the same number of columns. If false, rows with fewer column values + * will be padded with empty values. Default is true. + * @opt_param int startLine The index of the first line from which to start + * importing, inclusive. Default is 0. + * @return Google_Service_Fusiontables_Task + */ + public function replaceRows($tableId, $optParams = array()) + { + $params = array('tableId' => $tableId); + $params = array_merge($params, $optParams); + return $this->call('replaceRows', array($params), "Google_Service_Fusiontables_Task"); + } + /** + * Updates an existing table. Unless explicitly requested, only the name, + * description, and attribution will be updated. (table.update) + * + * @param string $tableId ID of the table that is being updated. + * @param Google_Service_Fusiontables_Table $postBody + * @param array $optParams Optional parameters. + * + * @opt_param bool replaceViewDefinition Whether the view definition is also + * updated. The specified view definition replaces the existing one. Only a view + * can be updated with a new definition. + * @return Google_Service_Fusiontables_Table + */ + public function update($tableId, Google_Service_Fusiontables_Table $postBody, $optParams = array()) + { + $params = array('tableId' => $tableId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('update', array($params), "Google_Service_Fusiontables_Table"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Fusiontables/Resource/Task.php b/vendor/google/apiclient-services/src/Google/Service/Fusiontables/Resource/Task.php new file mode 100644 index 00000000..185552d1 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Fusiontables/Resource/Task.php @@ -0,0 +1,75 @@ + + * $fusiontablesService = new Google_Service_Fusiontables(...); + * $task = $fusiontablesService->task; + * + */ +class Google_Service_Fusiontables_Resource_Task extends Google_Service_Resource +{ + /** + * Deletes a specific task by its ID, unless that task has already started + * running. (task.delete) + * + * @param string $tableId Table from which the task is being deleted. + * @param string $taskId The identifier of the task to delete. + * @param array $optParams Optional parameters. + */ + public function delete($tableId, $taskId, $optParams = array()) + { + $params = array('tableId' => $tableId, 'taskId' => $taskId); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params)); + } + /** + * Retrieves a specific task by its ID. (task.get) + * + * @param string $tableId Table to which the task belongs. + * @param string $taskId The identifier of the task to get. + * @param array $optParams Optional parameters. + * @return Google_Service_Fusiontables_Task + */ + public function get($tableId, $taskId, $optParams = array()) + { + $params = array('tableId' => $tableId, 'taskId' => $taskId); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Fusiontables_Task"); + } + /** + * Retrieves a list of tasks. (task.listTask) + * + * @param string $tableId Table whose tasks are being listed. + * @param array $optParams Optional parameters. + * + * @opt_param string maxResults Maximum number of tasks to return. Default is 5. + * @opt_param string pageToken Continuation token specifying which result page + * to return. + * @opt_param string startIndex Index of the first result returned in the + * current page. + * @return Google_Service_Fusiontables_TaskList + */ + public function listTask($tableId, $optParams = array()) + { + $params = array('tableId' => $tableId); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Fusiontables_TaskList"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Fusiontables/Resource/Template.php b/vendor/google/apiclient-services/src/Google/Service/Fusiontables/Resource/Template.php new file mode 100644 index 00000000..fb0bdd7f --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Fusiontables/Resource/Template.php @@ -0,0 +1,119 @@ + + * $fusiontablesService = new Google_Service_Fusiontables(...); + * $template = $fusiontablesService->template; + * + */ +class Google_Service_Fusiontables_Resource_Template extends Google_Service_Resource +{ + /** + * Deletes a template (template.delete) + * + * @param string $tableId Table from which the template is being deleted + * @param int $templateId Identifier for the template which is being deleted + * @param array $optParams Optional parameters. + */ + public function delete($tableId, $templateId, $optParams = array()) + { + $params = array('tableId' => $tableId, 'templateId' => $templateId); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params)); + } + /** + * Retrieves a specific template by its id (template.get) + * + * @param string $tableId Table to which the template belongs + * @param int $templateId Identifier for the template that is being requested + * @param array $optParams Optional parameters. + * @return Google_Service_Fusiontables_Template + */ + public function get($tableId, $templateId, $optParams = array()) + { + $params = array('tableId' => $tableId, 'templateId' => $templateId); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Fusiontables_Template"); + } + /** + * Creates a new template for the table. (template.insert) + * + * @param string $tableId Table for which a new template is being created + * @param Google_Service_Fusiontables_Template $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Fusiontables_Template + */ + public function insert($tableId, Google_Service_Fusiontables_Template $postBody, $optParams = array()) + { + $params = array('tableId' => $tableId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('insert', array($params), "Google_Service_Fusiontables_Template"); + } + /** + * Retrieves a list of templates. (template.listTemplate) + * + * @param string $tableId Identifier for the table whose templates are being + * requested + * @param array $optParams Optional parameters. + * + * @opt_param string maxResults Maximum number of templates to return. Optional. + * Default is 5. + * @opt_param string pageToken Continuation token specifying which results page + * to return. Optional. + * @return Google_Service_Fusiontables_TemplateList + */ + public function listTemplate($tableId, $optParams = array()) + { + $params = array('tableId' => $tableId); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Fusiontables_TemplateList"); + } + /** + * Updates an existing template. This method supports patch semantics. + * (template.patch) + * + * @param string $tableId Table to which the updated template belongs + * @param int $templateId Identifier for the template that is being updated + * @param Google_Service_Fusiontables_Template $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Fusiontables_Template + */ + public function patch($tableId, $templateId, Google_Service_Fusiontables_Template $postBody, $optParams = array()) + { + $params = array('tableId' => $tableId, 'templateId' => $templateId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('patch', array($params), "Google_Service_Fusiontables_Template"); + } + /** + * Updates an existing template (template.update) + * + * @param string $tableId Table to which the updated template belongs + * @param int $templateId Identifier for the template that is being updated + * @param Google_Service_Fusiontables_Template $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Fusiontables_Template + */ + public function update($tableId, $templateId, Google_Service_Fusiontables_Template $postBody, $optParams = array()) + { + $params = array('tableId' => $tableId, 'templateId' => $templateId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('update', array($params), "Google_Service_Fusiontables_Template"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Fusiontables/Sqlresponse.php b/vendor/google/apiclient-services/src/Google/Service/Fusiontables/Sqlresponse.php new file mode 100644 index 00000000..366a0099 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Fusiontables/Sqlresponse.php @@ -0,0 +1,49 @@ +columns = $columns; + } + public function getColumns() + { + return $this->columns; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setRows($rows) + { + $this->rows = $rows; + } + public function getRows() + { + return $this->rows; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Fusiontables/StyleFunction.php b/vendor/google/apiclient-services/src/Google/Service/Fusiontables/StyleFunction.php new file mode 100644 index 00000000..7e47ccac --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Fusiontables/StyleFunction.php @@ -0,0 +1,60 @@ +buckets = $buckets; + } + public function getBuckets() + { + return $this->buckets; + } + public function setColumnName($columnName) + { + $this->columnName = $columnName; + } + public function getColumnName() + { + return $this->columnName; + } + public function setGradient(Google_Service_Fusiontables_StyleFunctionGradient $gradient) + { + $this->gradient = $gradient; + } + public function getGradient() + { + return $this->gradient; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Fusiontables/StyleFunctionGradient.php b/vendor/google/apiclient-services/src/Google/Service/Fusiontables/StyleFunctionGradient.php new file mode 100644 index 00000000..5926684f --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Fusiontables/StyleFunctionGradient.php @@ -0,0 +1,50 @@ +colors = $colors; + } + public function getColors() + { + return $this->colors; + } + public function setMax($max) + { + $this->max = $max; + } + public function getMax() + { + return $this->max; + } + public function setMin($min) + { + $this->min = $min; + } + public function getMin() + { + return $this->min; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Fusiontables/StyleFunctionGradientColors.php b/vendor/google/apiclient-services/src/Google/Service/Fusiontables/StyleFunctionGradientColors.php new file mode 100644 index 00000000..f0f5f3dc --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Fusiontables/StyleFunctionGradientColors.php @@ -0,0 +1,39 @@ +color = $color; + } + public function getColor() + { + return $this->color; + } + public function setOpacity($opacity) + { + $this->opacity = $opacity; + } + public function getOpacity() + { + return $this->opacity; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Fusiontables/StyleSetting.php b/vendor/google/apiclient-services/src/Google/Service/Fusiontables/StyleSetting.php new file mode 100644 index 00000000..3e0139da --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Fusiontables/StyleSetting.php @@ -0,0 +1,87 @@ +kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setMarkerOptions(Google_Service_Fusiontables_PointStyle $markerOptions) + { + $this->markerOptions = $markerOptions; + } + public function getMarkerOptions() + { + return $this->markerOptions; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setPolygonOptions(Google_Service_Fusiontables_PolygonStyle $polygonOptions) + { + $this->polygonOptions = $polygonOptions; + } + public function getPolygonOptions() + { + return $this->polygonOptions; + } + public function setPolylineOptions(Google_Service_Fusiontables_LineStyle $polylineOptions) + { + $this->polylineOptions = $polylineOptions; + } + public function getPolylineOptions() + { + return $this->polylineOptions; + } + public function setStyleId($styleId) + { + $this->styleId = $styleId; + } + public function getStyleId() + { + return $this->styleId; + } + public function setTableId($tableId) + { + $this->tableId = $tableId; + } + public function getTableId() + { + return $this->tableId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Fusiontables/StyleSettingList.php b/vendor/google/apiclient-services/src/Google/Service/Fusiontables/StyleSettingList.php new file mode 100644 index 00000000..3dfa3e3a --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Fusiontables/StyleSettingList.php @@ -0,0 +1,59 @@ +items = $items; + } + public function getItems() + { + return $this->items; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setTotalItems($totalItems) + { + $this->totalItems = $totalItems; + } + public function getTotalItems() + { + return $this->totalItems; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Fusiontables/Table.php b/vendor/google/apiclient-services/src/Google/Service/Fusiontables/Table.php new file mode 100644 index 00000000..6de27fa1 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Fusiontables/Table.php @@ -0,0 +1,140 @@ +attribution = $attribution; + } + public function getAttribution() + { + return $this->attribution; + } + public function setAttributionLink($attributionLink) + { + $this->attributionLink = $attributionLink; + } + public function getAttributionLink() + { + return $this->attributionLink; + } + public function setBaseTableIds($baseTableIds) + { + $this->baseTableIds = $baseTableIds; + } + public function getBaseTableIds() + { + return $this->baseTableIds; + } + public function setColumnPropertiesJsonSchema($columnPropertiesJsonSchema) + { + $this->columnPropertiesJsonSchema = $columnPropertiesJsonSchema; + } + public function getColumnPropertiesJsonSchema() + { + return $this->columnPropertiesJsonSchema; + } + public function setColumns($columns) + { + $this->columns = $columns; + } + public function getColumns() + { + return $this->columns; + } + public function setDescription($description) + { + $this->description = $description; + } + public function getDescription() + { + return $this->description; + } + public function setIsExportable($isExportable) + { + $this->isExportable = $isExportable; + } + public function getIsExportable() + { + return $this->isExportable; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setSql($sql) + { + $this->sql = $sql; + } + public function getSql() + { + return $this->sql; + } + public function setTableId($tableId) + { + $this->tableId = $tableId; + } + public function getTableId() + { + return $this->tableId; + } + public function setTablePropertiesJson($tablePropertiesJson) + { + $this->tablePropertiesJson = $tablePropertiesJson; + } + public function getTablePropertiesJson() + { + return $this->tablePropertiesJson; + } + public function setTablePropertiesJsonSchema($tablePropertiesJsonSchema) + { + $this->tablePropertiesJsonSchema = $tablePropertiesJsonSchema; + } + public function getTablePropertiesJsonSchema() + { + return $this->tablePropertiesJsonSchema; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Fusiontables/TableList.php b/vendor/google/apiclient-services/src/Google/Service/Fusiontables/TableList.php new file mode 100644 index 00000000..c384dfaf --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Fusiontables/TableList.php @@ -0,0 +1,50 @@ +items = $items; + } + public function getItems() + { + return $this->items; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Fusiontables/Task.php b/vendor/google/apiclient-services/src/Google/Service/Fusiontables/Task.php new file mode 100644 index 00000000..85a9a725 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Fusiontables/Task.php @@ -0,0 +1,66 @@ +kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setProgress($progress) + { + $this->progress = $progress; + } + public function getProgress() + { + return $this->progress; + } + public function setStarted($started) + { + $this->started = $started; + } + public function getStarted() + { + return $this->started; + } + public function setTaskId($taskId) + { + $this->taskId = $taskId; + } + public function getTaskId() + { + return $this->taskId; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Fusiontables/TaskList.php b/vendor/google/apiclient-services/src/Google/Service/Fusiontables/TaskList.php new file mode 100644 index 00000000..9d2fcf99 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Fusiontables/TaskList.php @@ -0,0 +1,59 @@ +items = $items; + } + public function getItems() + { + return $this->items; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setTotalItems($totalItems) + { + $this->totalItems = $totalItems; + } + public function getTotalItems() + { + return $this->totalItems; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Fusiontables/Template.php b/vendor/google/apiclient-services/src/Google/Service/Fusiontables/Template.php new file mode 100644 index 00000000..67ad2d58 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Fusiontables/Template.php @@ -0,0 +1,76 @@ +automaticColumnNames = $automaticColumnNames; + } + public function getAutomaticColumnNames() + { + return $this->automaticColumnNames; + } + public function setBody($body) + { + $this->body = $body; + } + public function getBody() + { + return $this->body; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setTableId($tableId) + { + $this->tableId = $tableId; + } + public function getTableId() + { + return $this->tableId; + } + public function setTemplateId($templateId) + { + $this->templateId = $templateId; + } + public function getTemplateId() + { + return $this->templateId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Fusiontables/TemplateList.php b/vendor/google/apiclient-services/src/Google/Service/Fusiontables/TemplateList.php new file mode 100644 index 00000000..85ce5acc --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Fusiontables/TemplateList.php @@ -0,0 +1,59 @@ +items = $items; + } + public function getItems() + { + return $this->items; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setTotalItems($totalItems) + { + $this->totalItems = $totalItems; + } + public function getTotalItems() + { + return $this->totalItems; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Games.php b/vendor/google/apiclient-services/src/Google/Service/Games.php new file mode 100644 index 00000000..8bef6415 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Games.php @@ -0,0 +1,1278 @@ + + * The API for Google Play Game Services.

+ * + *

+ * For more information about this service, see the API + * Documentation + *

+ * + * @author Google, Inc. + */ +class Google_Service_Games extends Google_Service +{ + /** View and manage its own configuration data in your Google Drive. */ + const DRIVE_APPDATA = + "https://www.googleapis.com/auth/drive.appdata"; + /** Share your Google+ profile information and view and manage your game activity. */ + const GAMES = + "https://www.googleapis.com/auth/games"; + /** Know the list of people in your circles, your age range, and language. */ + const PLUS_LOGIN = + "https://www.googleapis.com/auth/plus.login"; + + public $achievementDefinitions; + public $achievements; + public $applications; + public $events; + public $leaderboards; + public $metagame; + public $players; + public $pushtokens; + public $questMilestones; + public $quests; + public $revisions; + public $rooms; + public $scores; + public $snapshots; + public $turnBasedMatches; + + /** + * Constructs the internal representation of the Games service. + * + * @param Google_Client $client + */ + public function __construct(Google_Client $client) + { + parent::__construct($client); + $this->rootUrl = 'https://www.googleapis.com/'; + $this->servicePath = 'games/v1/'; + $this->version = 'v1'; + $this->serviceName = 'games'; + + $this->achievementDefinitions = new Google_Service_Games_Resource_AchievementDefinitions( + $this, + $this->serviceName, + 'achievementDefinitions', + array( + 'methods' => array( + 'list' => array( + 'path' => 'achievements', + 'httpMethod' => 'GET', + 'parameters' => array( + 'consistencyToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'language' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + $this->achievements = new Google_Service_Games_Resource_Achievements( + $this, + $this->serviceName, + 'achievements', + array( + 'methods' => array( + 'increment' => array( + 'path' => 'achievements/{achievementId}/increment', + 'httpMethod' => 'POST', + 'parameters' => array( + 'achievementId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'stepsToIncrement' => array( + 'location' => 'query', + 'type' => 'integer', + 'required' => true, + ), + 'consistencyToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'requestId' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'list' => array( + 'path' => 'players/{playerId}/achievements', + 'httpMethod' => 'GET', + 'parameters' => array( + 'playerId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'consistencyToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'language' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'state' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'reveal' => array( + 'path' => 'achievements/{achievementId}/reveal', + 'httpMethod' => 'POST', + 'parameters' => array( + 'achievementId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'consistencyToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'setStepsAtLeast' => array( + 'path' => 'achievements/{achievementId}/setStepsAtLeast', + 'httpMethod' => 'POST', + 'parameters' => array( + 'achievementId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'steps' => array( + 'location' => 'query', + 'type' => 'integer', + 'required' => true, + ), + 'consistencyToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'unlock' => array( + 'path' => 'achievements/{achievementId}/unlock', + 'httpMethod' => 'POST', + 'parameters' => array( + 'achievementId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'consistencyToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'updateMultiple' => array( + 'path' => 'achievements/updateMultiple', + 'httpMethod' => 'POST', + 'parameters' => array( + 'consistencyToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + $this->applications = new Google_Service_Games_Resource_Applications( + $this, + $this->serviceName, + 'applications', + array( + 'methods' => array( + 'get' => array( + 'path' => 'applications/{applicationId}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'applicationId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'consistencyToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'language' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'platformType' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'played' => array( + 'path' => 'applications/played', + 'httpMethod' => 'POST', + 'parameters' => array( + 'consistencyToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'verify' => array( + 'path' => 'applications/{applicationId}/verify', + 'httpMethod' => 'GET', + 'parameters' => array( + 'applicationId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'consistencyToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + $this->events = new Google_Service_Games_Resource_Events( + $this, + $this->serviceName, + 'events', + array( + 'methods' => array( + 'listByPlayer' => array( + 'path' => 'events', + 'httpMethod' => 'GET', + 'parameters' => array( + 'consistencyToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'language' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'listDefinitions' => array( + 'path' => 'eventDefinitions', + 'httpMethod' => 'GET', + 'parameters' => array( + 'consistencyToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'language' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'record' => array( + 'path' => 'events', + 'httpMethod' => 'POST', + 'parameters' => array( + 'consistencyToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'language' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + $this->leaderboards = new Google_Service_Games_Resource_Leaderboards( + $this, + $this->serviceName, + 'leaderboards', + array( + 'methods' => array( + 'get' => array( + 'path' => 'leaderboards/{leaderboardId}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'leaderboardId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'consistencyToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'language' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'list' => array( + 'path' => 'leaderboards', + 'httpMethod' => 'GET', + 'parameters' => array( + 'consistencyToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'language' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + $this->metagame = new Google_Service_Games_Resource_Metagame( + $this, + $this->serviceName, + 'metagame', + array( + 'methods' => array( + 'getMetagameConfig' => array( + 'path' => 'metagameConfig', + 'httpMethod' => 'GET', + 'parameters' => array( + 'consistencyToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'listCategoriesByPlayer' => array( + 'path' => 'players/{playerId}/categories/{collection}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'playerId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'collection' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'consistencyToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'language' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + $this->players = new Google_Service_Games_Resource_Players( + $this, + $this->serviceName, + 'players', + array( + 'methods' => array( + 'get' => array( + 'path' => 'players/{playerId}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'playerId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'consistencyToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'language' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'list' => array( + 'path' => 'players/me/players/{collection}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'collection' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'consistencyToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'language' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + $this->pushtokens = new Google_Service_Games_Resource_Pushtokens( + $this, + $this->serviceName, + 'pushtokens', + array( + 'methods' => array( + 'remove' => array( + 'path' => 'pushtokens/remove', + 'httpMethod' => 'POST', + 'parameters' => array( + 'consistencyToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'update' => array( + 'path' => 'pushtokens', + 'httpMethod' => 'PUT', + 'parameters' => array( + 'consistencyToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + $this->questMilestones = new Google_Service_Games_Resource_QuestMilestones( + $this, + $this->serviceName, + 'questMilestones', + array( + 'methods' => array( + 'claim' => array( + 'path' => 'quests/{questId}/milestones/{milestoneId}/claim', + 'httpMethod' => 'PUT', + 'parameters' => array( + 'questId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'milestoneId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'requestId' => array( + 'location' => 'query', + 'type' => 'string', + 'required' => true, + ), + 'consistencyToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + $this->quests = new Google_Service_Games_Resource_Quests( + $this, + $this->serviceName, + 'quests', + array( + 'methods' => array( + 'accept' => array( + 'path' => 'quests/{questId}/accept', + 'httpMethod' => 'POST', + 'parameters' => array( + 'questId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'consistencyToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'language' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'list' => array( + 'path' => 'players/{playerId}/quests', + 'httpMethod' => 'GET', + 'parameters' => array( + 'playerId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'consistencyToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'language' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + $this->revisions = new Google_Service_Games_Resource_Revisions( + $this, + $this->serviceName, + 'revisions', + array( + 'methods' => array( + 'check' => array( + 'path' => 'revisions/check', + 'httpMethod' => 'GET', + 'parameters' => array( + 'clientRevision' => array( + 'location' => 'query', + 'type' => 'string', + 'required' => true, + ), + 'consistencyToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + $this->rooms = new Google_Service_Games_Resource_Rooms( + $this, + $this->serviceName, + 'rooms', + array( + 'methods' => array( + 'create' => array( + 'path' => 'rooms/create', + 'httpMethod' => 'POST', + 'parameters' => array( + 'consistencyToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'language' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'decline' => array( + 'path' => 'rooms/{roomId}/decline', + 'httpMethod' => 'POST', + 'parameters' => array( + 'roomId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'consistencyToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'language' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'dismiss' => array( + 'path' => 'rooms/{roomId}/dismiss', + 'httpMethod' => 'POST', + 'parameters' => array( + 'roomId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'consistencyToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'get' => array( + 'path' => 'rooms/{roomId}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'roomId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'consistencyToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'language' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'join' => array( + 'path' => 'rooms/{roomId}/join', + 'httpMethod' => 'POST', + 'parameters' => array( + 'roomId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'consistencyToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'language' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'leave' => array( + 'path' => 'rooms/{roomId}/leave', + 'httpMethod' => 'POST', + 'parameters' => array( + 'roomId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'consistencyToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'language' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'list' => array( + 'path' => 'rooms', + 'httpMethod' => 'GET', + 'parameters' => array( + 'consistencyToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'language' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'reportStatus' => array( + 'path' => 'rooms/{roomId}/reportstatus', + 'httpMethod' => 'POST', + 'parameters' => array( + 'roomId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'consistencyToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'language' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + $this->scores = new Google_Service_Games_Resource_Scores( + $this, + $this->serviceName, + 'scores', + array( + 'methods' => array( + 'get' => array( + 'path' => 'players/{playerId}/leaderboards/{leaderboardId}/scores/{timeSpan}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'playerId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'leaderboardId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'timeSpan' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'consistencyToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'includeRankType' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'language' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'list' => array( + 'path' => 'leaderboards/{leaderboardId}/scores/{collection}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'leaderboardId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'collection' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'timeSpan' => array( + 'location' => 'query', + 'type' => 'string', + 'required' => true, + ), + 'consistencyToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'language' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'listWindow' => array( + 'path' => 'leaderboards/{leaderboardId}/window/{collection}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'leaderboardId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'collection' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'timeSpan' => array( + 'location' => 'query', + 'type' => 'string', + 'required' => true, + ), + 'consistencyToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'language' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'resultsAbove' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'returnTopIfAbsent' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + ), + ),'submit' => array( + 'path' => 'leaderboards/{leaderboardId}/scores', + 'httpMethod' => 'POST', + 'parameters' => array( + 'leaderboardId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'score' => array( + 'location' => 'query', + 'type' => 'string', + 'required' => true, + ), + 'consistencyToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'language' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'scoreTag' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'submitMultiple' => array( + 'path' => 'leaderboards/scores', + 'httpMethod' => 'POST', + 'parameters' => array( + 'consistencyToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'language' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + $this->snapshots = new Google_Service_Games_Resource_Snapshots( + $this, + $this->serviceName, + 'snapshots', + array( + 'methods' => array( + 'get' => array( + 'path' => 'snapshots/{snapshotId}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'snapshotId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'consistencyToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'language' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'list' => array( + 'path' => 'players/{playerId}/snapshots', + 'httpMethod' => 'GET', + 'parameters' => array( + 'playerId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'consistencyToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'language' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + $this->turnBasedMatches = new Google_Service_Games_Resource_TurnBasedMatches( + $this, + $this->serviceName, + 'turnBasedMatches', + array( + 'methods' => array( + 'cancel' => array( + 'path' => 'turnbasedmatches/{matchId}/cancel', + 'httpMethod' => 'PUT', + 'parameters' => array( + 'matchId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'consistencyToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'create' => array( + 'path' => 'turnbasedmatches/create', + 'httpMethod' => 'POST', + 'parameters' => array( + 'consistencyToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'language' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'decline' => array( + 'path' => 'turnbasedmatches/{matchId}/decline', + 'httpMethod' => 'PUT', + 'parameters' => array( + 'matchId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'consistencyToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'language' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'dismiss' => array( + 'path' => 'turnbasedmatches/{matchId}/dismiss', + 'httpMethod' => 'PUT', + 'parameters' => array( + 'matchId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'consistencyToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'finish' => array( + 'path' => 'turnbasedmatches/{matchId}/finish', + 'httpMethod' => 'PUT', + 'parameters' => array( + 'matchId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'consistencyToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'language' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'get' => array( + 'path' => 'turnbasedmatches/{matchId}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'matchId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'consistencyToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'includeMatchData' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + 'language' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'join' => array( + 'path' => 'turnbasedmatches/{matchId}/join', + 'httpMethod' => 'PUT', + 'parameters' => array( + 'matchId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'consistencyToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'language' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'leave' => array( + 'path' => 'turnbasedmatches/{matchId}/leave', + 'httpMethod' => 'PUT', + 'parameters' => array( + 'matchId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'consistencyToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'language' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'leaveTurn' => array( + 'path' => 'turnbasedmatches/{matchId}/leaveTurn', + 'httpMethod' => 'PUT', + 'parameters' => array( + 'matchId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'matchVersion' => array( + 'location' => 'query', + 'type' => 'integer', + 'required' => true, + ), + 'consistencyToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'language' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pendingParticipantId' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'list' => array( + 'path' => 'turnbasedmatches', + 'httpMethod' => 'GET', + 'parameters' => array( + 'consistencyToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'includeMatchData' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + 'language' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'maxCompletedMatches' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'rematch' => array( + 'path' => 'turnbasedmatches/{matchId}/rematch', + 'httpMethod' => 'POST', + 'parameters' => array( + 'matchId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'consistencyToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'language' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'requestId' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'sync' => array( + 'path' => 'turnbasedmatches/sync', + 'httpMethod' => 'GET', + 'parameters' => array( + 'consistencyToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'includeMatchData' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + 'language' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'maxCompletedMatches' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'takeTurn' => array( + 'path' => 'turnbasedmatches/{matchId}/turn', + 'httpMethod' => 'PUT', + 'parameters' => array( + 'matchId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'consistencyToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'language' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Games/AchievementDefinition.php b/vendor/google/apiclient-services/src/Google/Service/Games/AchievementDefinition.php new file mode 100644 index 00000000..b0744f35 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Games/AchievementDefinition.php @@ -0,0 +1,138 @@ +achievementType = $achievementType; + } + public function getAchievementType() + { + return $this->achievementType; + } + public function setDescription($description) + { + $this->description = $description; + } + public function getDescription() + { + return $this->description; + } + public function setExperiencePoints($experiencePoints) + { + $this->experiencePoints = $experiencePoints; + } + public function getExperiencePoints() + { + return $this->experiencePoints; + } + public function setFormattedTotalSteps($formattedTotalSteps) + { + $this->formattedTotalSteps = $formattedTotalSteps; + } + public function getFormattedTotalSteps() + { + return $this->formattedTotalSteps; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setInitialState($initialState) + { + $this->initialState = $initialState; + } + public function getInitialState() + { + return $this->initialState; + } + public function setIsRevealedIconUrlDefault($isRevealedIconUrlDefault) + { + $this->isRevealedIconUrlDefault = $isRevealedIconUrlDefault; + } + public function getIsRevealedIconUrlDefault() + { + return $this->isRevealedIconUrlDefault; + } + public function setIsUnlockedIconUrlDefault($isUnlockedIconUrlDefault) + { + $this->isUnlockedIconUrlDefault = $isUnlockedIconUrlDefault; + } + public function getIsUnlockedIconUrlDefault() + { + return $this->isUnlockedIconUrlDefault; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setRevealedIconUrl($revealedIconUrl) + { + $this->revealedIconUrl = $revealedIconUrl; + } + public function getRevealedIconUrl() + { + return $this->revealedIconUrl; + } + public function setTotalSteps($totalSteps) + { + $this->totalSteps = $totalSteps; + } + public function getTotalSteps() + { + return $this->totalSteps; + } + public function setUnlockedIconUrl($unlockedIconUrl) + { + $this->unlockedIconUrl = $unlockedIconUrl; + } + public function getUnlockedIconUrl() + { + return $this->unlockedIconUrl; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Games/AchievementDefinitionsListResponse.php b/vendor/google/apiclient-services/src/Google/Service/Games/AchievementDefinitionsListResponse.php new file mode 100644 index 00000000..40da8475 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Games/AchievementDefinitionsListResponse.php @@ -0,0 +1,50 @@ +items = $items; + } + public function getItems() + { + return $this->items; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Games/AchievementIncrementResponse.php b/vendor/google/apiclient-services/src/Google/Service/Games/AchievementIncrementResponse.php new file mode 100644 index 00000000..7ca6348f --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Games/AchievementIncrementResponse.php @@ -0,0 +1,48 @@ +currentSteps = $currentSteps; + } + public function getCurrentSteps() + { + return $this->currentSteps; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNewlyUnlocked($newlyUnlocked) + { + $this->newlyUnlocked = $newlyUnlocked; + } + public function getNewlyUnlocked() + { + return $this->newlyUnlocked; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Games/AchievementRevealResponse.php b/vendor/google/apiclient-services/src/Google/Service/Games/AchievementRevealResponse.php new file mode 100644 index 00000000..27792cbb --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Games/AchievementRevealResponse.php @@ -0,0 +1,39 @@ +currentState = $currentState; + } + public function getCurrentState() + { + return $this->currentState; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Games/AchievementSetStepsAtLeastResponse.php b/vendor/google/apiclient-services/src/Google/Service/Games/AchievementSetStepsAtLeastResponse.php new file mode 100644 index 00000000..9662774b --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Games/AchievementSetStepsAtLeastResponse.php @@ -0,0 +1,48 @@ +currentSteps = $currentSteps; + } + public function getCurrentSteps() + { + return $this->currentSteps; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNewlyUnlocked($newlyUnlocked) + { + $this->newlyUnlocked = $newlyUnlocked; + } + public function getNewlyUnlocked() + { + return $this->newlyUnlocked; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Games/AchievementUnlockResponse.php b/vendor/google/apiclient-services/src/Google/Service/Games/AchievementUnlockResponse.php new file mode 100644 index 00000000..70304cca --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Games/AchievementUnlockResponse.php @@ -0,0 +1,39 @@ +kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNewlyUnlocked($newlyUnlocked) + { + $this->newlyUnlocked = $newlyUnlocked; + } + public function getNewlyUnlocked() + { + return $this->newlyUnlocked; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Games/AchievementUpdateMultipleRequest.php b/vendor/google/apiclient-services/src/Google/Service/Games/AchievementUpdateMultipleRequest.php new file mode 100644 index 00000000..3bf9259e --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Games/AchievementUpdateMultipleRequest.php @@ -0,0 +1,41 @@ +kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setUpdates($updates) + { + $this->updates = $updates; + } + public function getUpdates() + { + return $this->updates; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Games/AchievementUpdateMultipleResponse.php b/vendor/google/apiclient-services/src/Google/Service/Games/AchievementUpdateMultipleResponse.php new file mode 100644 index 00000000..df19f29c --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Games/AchievementUpdateMultipleResponse.php @@ -0,0 +1,41 @@ +kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setUpdatedAchievements($updatedAchievements) + { + $this->updatedAchievements = $updatedAchievements; + } + public function getUpdatedAchievements() + { + return $this->updatedAchievements; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Games/AchievementUpdateRequest.php b/vendor/google/apiclient-services/src/Google/Service/Games/AchievementUpdateRequest.php new file mode 100644 index 00000000..1fb41a66 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Games/AchievementUpdateRequest.php @@ -0,0 +1,68 @@ +achievementId = $achievementId; + } + public function getAchievementId() + { + return $this->achievementId; + } + public function setIncrementPayload(Google_Service_Games_GamesAchievementIncrement $incrementPayload) + { + $this->incrementPayload = $incrementPayload; + } + public function getIncrementPayload() + { + return $this->incrementPayload; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setSetStepsAtLeastPayload(Google_Service_Games_GamesAchievementSetStepsAtLeast $setStepsAtLeastPayload) + { + $this->setStepsAtLeastPayload = $setStepsAtLeastPayload; + } + public function getSetStepsAtLeastPayload() + { + return $this->setStepsAtLeastPayload; + } + public function setUpdateType($updateType) + { + $this->updateType = $updateType; + } + public function getUpdateType() + { + return $this->updateType; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Games/AchievementUpdateResponse.php b/vendor/google/apiclient-services/src/Google/Service/Games/AchievementUpdateResponse.php new file mode 100644 index 00000000..6d2d9f9f --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Games/AchievementUpdateResponse.php @@ -0,0 +1,75 @@ +achievementId = $achievementId; + } + public function getAchievementId() + { + return $this->achievementId; + } + public function setCurrentState($currentState) + { + $this->currentState = $currentState; + } + public function getCurrentState() + { + return $this->currentState; + } + public function setCurrentSteps($currentSteps) + { + $this->currentSteps = $currentSteps; + } + public function getCurrentSteps() + { + return $this->currentSteps; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNewlyUnlocked($newlyUnlocked) + { + $this->newlyUnlocked = $newlyUnlocked; + } + public function getNewlyUnlocked() + { + return $this->newlyUnlocked; + } + public function setUpdateOccurred($updateOccurred) + { + $this->updateOccurred = $updateOccurred; + } + public function getUpdateOccurred() + { + return $this->updateOccurred; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Games/AggregateStats.php b/vendor/google/apiclient-services/src/Google/Service/Games/AggregateStats.php new file mode 100644 index 00000000..a8a00b57 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Games/AggregateStats.php @@ -0,0 +1,66 @@ +count = $count; + } + public function getCount() + { + return $this->count; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setMax($max) + { + $this->max = $max; + } + public function getMax() + { + return $this->max; + } + public function setMin($min) + { + $this->min = $min; + } + public function getMin() + { + return $this->min; + } + public function setSum($sum) + { + $this->sum = $sum; + } + public function getSum() + { + return $this->sum; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Games/AnonymousPlayer.php b/vendor/google/apiclient-services/src/Google/Service/Games/AnonymousPlayer.php new file mode 100644 index 00000000..7d1dac1f --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Games/AnonymousPlayer.php @@ -0,0 +1,48 @@ +avatarImageUrl = $avatarImageUrl; + } + public function getAvatarImageUrl() + { + return $this->avatarImageUrl; + } + public function setDisplayName($displayName) + { + $this->displayName = $displayName; + } + public function getDisplayName() + { + return $this->displayName; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Games/Application.php b/vendor/google/apiclient-services/src/Google/Service/Games/Application.php new file mode 100644 index 00000000..09248b96 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Games/Application.php @@ -0,0 +1,146 @@ + "achievement_count", + "leaderboardCount" => "leaderboard_count", + ); + public $achievementCount; + protected $assetsType = 'Google_Service_Games_ImageAsset'; + protected $assetsDataType = 'array'; + public $author; + protected $categoryType = 'Google_Service_Games_ApplicationCategory'; + protected $categoryDataType = ''; + public $description; + public $enabledFeatures; + public $id; + protected $instancesType = 'Google_Service_Games_Instance'; + protected $instancesDataType = 'array'; + public $kind; + public $lastUpdatedTimestamp; + public $leaderboardCount; + public $name; + public $themeColor; + + public function setAchievementCount($achievementCount) + { + $this->achievementCount = $achievementCount; + } + public function getAchievementCount() + { + return $this->achievementCount; + } + public function setAssets($assets) + { + $this->assets = $assets; + } + public function getAssets() + { + return $this->assets; + } + public function setAuthor($author) + { + $this->author = $author; + } + public function getAuthor() + { + return $this->author; + } + public function setCategory(Google_Service_Games_ApplicationCategory $category) + { + $this->category = $category; + } + public function getCategory() + { + return $this->category; + } + public function setDescription($description) + { + $this->description = $description; + } + public function getDescription() + { + return $this->description; + } + public function setEnabledFeatures($enabledFeatures) + { + $this->enabledFeatures = $enabledFeatures; + } + public function getEnabledFeatures() + { + return $this->enabledFeatures; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setInstances($instances) + { + $this->instances = $instances; + } + public function getInstances() + { + return $this->instances; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setLastUpdatedTimestamp($lastUpdatedTimestamp) + { + $this->lastUpdatedTimestamp = $lastUpdatedTimestamp; + } + public function getLastUpdatedTimestamp() + { + return $this->lastUpdatedTimestamp; + } + public function setLeaderboardCount($leaderboardCount) + { + $this->leaderboardCount = $leaderboardCount; + } + public function getLeaderboardCount() + { + return $this->leaderboardCount; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setThemeColor($themeColor) + { + $this->themeColor = $themeColor; + } + public function getThemeColor() + { + return $this->themeColor; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Games/ApplicationCategory.php b/vendor/google/apiclient-services/src/Google/Service/Games/ApplicationCategory.php new file mode 100644 index 00000000..f267524b --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Games/ApplicationCategory.php @@ -0,0 +1,48 @@ +kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setPrimary($primary) + { + $this->primary = $primary; + } + public function getPrimary() + { + return $this->primary; + } + public function setSecondary($secondary) + { + $this->secondary = $secondary; + } + public function getSecondary() + { + return $this->secondary; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Games/ApplicationVerifyResponse.php b/vendor/google/apiclient-services/src/Google/Service/Games/ApplicationVerifyResponse.php new file mode 100644 index 00000000..6b51e4f6 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Games/ApplicationVerifyResponse.php @@ -0,0 +1,52 @@ + "alternate_player_id", + "playerId" => "player_id", + ); + public $alternatePlayerId; + public $kind; + public $playerId; + + public function setAlternatePlayerId($alternatePlayerId) + { + $this->alternatePlayerId = $alternatePlayerId; + } + public function getAlternatePlayerId() + { + return $this->alternatePlayerId; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setPlayerId($playerId) + { + $this->playerId = $playerId; + } + public function getPlayerId() + { + return $this->playerId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Games/Category.php b/vendor/google/apiclient-services/src/Google/Service/Games/Category.php new file mode 100644 index 00000000..4f0a05f3 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Games/Category.php @@ -0,0 +1,48 @@ +category = $category; + } + public function getCategory() + { + return $this->category; + } + public function setExperiencePoints($experiencePoints) + { + $this->experiencePoints = $experiencePoints; + } + public function getExperiencePoints() + { + return $this->experiencePoints; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Games/CategoryListResponse.php b/vendor/google/apiclient-services/src/Google/Service/Games/CategoryListResponse.php new file mode 100644 index 00000000..d70d0020 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Games/CategoryListResponse.php @@ -0,0 +1,50 @@ +items = $items; + } + public function getItems() + { + return $this->items; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Games/EventBatchRecordFailure.php b/vendor/google/apiclient-services/src/Google/Service/Games/EventBatchRecordFailure.php new file mode 100644 index 00000000..6b55ca36 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Games/EventBatchRecordFailure.php @@ -0,0 +1,49 @@ +failureCause = $failureCause; + } + public function getFailureCause() + { + return $this->failureCause; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setRange(Google_Service_Games_EventPeriodRange $range) + { + $this->range = $range; + } + public function getRange() + { + return $this->range; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Games/EventChild.php b/vendor/google/apiclient-services/src/Google/Service/Games/EventChild.php new file mode 100644 index 00000000..2ef59454 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Games/EventChild.php @@ -0,0 +1,39 @@ +childId = $childId; + } + public function getChildId() + { + return $this->childId; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Games/EventDefinition.php b/vendor/google/apiclient-services/src/Google/Service/Games/EventDefinition.php new file mode 100644 index 00000000..65c020d3 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Games/EventDefinition.php @@ -0,0 +1,95 @@ +childEvents = $childEvents; + } + public function getChildEvents() + { + return $this->childEvents; + } + public function setDescription($description) + { + $this->description = $description; + } + public function getDescription() + { + return $this->description; + } + public function setDisplayName($displayName) + { + $this->displayName = $displayName; + } + public function getDisplayName() + { + return $this->displayName; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setImageUrl($imageUrl) + { + $this->imageUrl = $imageUrl; + } + public function getImageUrl() + { + return $this->imageUrl; + } + public function setIsDefaultImageUrl($isDefaultImageUrl) + { + $this->isDefaultImageUrl = $isDefaultImageUrl; + } + public function getIsDefaultImageUrl() + { + return $this->isDefaultImageUrl; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setVisibility($visibility) + { + $this->visibility = $visibility; + } + public function getVisibility() + { + return $this->visibility; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Games/EventDefinitionListResponse.php b/vendor/google/apiclient-services/src/Google/Service/Games/EventDefinitionListResponse.php new file mode 100644 index 00000000..8eb3a1a0 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Games/EventDefinitionListResponse.php @@ -0,0 +1,50 @@ +items = $items; + } + public function getItems() + { + return $this->items; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Games/EventPeriodRange.php b/vendor/google/apiclient-services/src/Google/Service/Games/EventPeriodRange.php new file mode 100644 index 00000000..a584711f --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Games/EventPeriodRange.php @@ -0,0 +1,48 @@ +kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setPeriodEndMillis($periodEndMillis) + { + $this->periodEndMillis = $periodEndMillis; + } + public function getPeriodEndMillis() + { + return $this->periodEndMillis; + } + public function setPeriodStartMillis($periodStartMillis) + { + $this->periodStartMillis = $periodStartMillis; + } + public function getPeriodStartMillis() + { + return $this->periodStartMillis; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Games/EventPeriodUpdate.php b/vendor/google/apiclient-services/src/Google/Service/Games/EventPeriodUpdate.php new file mode 100644 index 00000000..69e01175 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Games/EventPeriodUpdate.php @@ -0,0 +1,51 @@ +kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setTimePeriod(Google_Service_Games_EventPeriodRange $timePeriod) + { + $this->timePeriod = $timePeriod; + } + public function getTimePeriod() + { + return $this->timePeriod; + } + public function setUpdates($updates) + { + $this->updates = $updates; + } + public function getUpdates() + { + return $this->updates; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Games/EventRecordFailure.php b/vendor/google/apiclient-services/src/Google/Service/Games/EventRecordFailure.php new file mode 100644 index 00000000..35ac4eed --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Games/EventRecordFailure.php @@ -0,0 +1,48 @@ +eventId = $eventId; + } + public function getEventId() + { + return $this->eventId; + } + public function setFailureCause($failureCause) + { + $this->failureCause = $failureCause; + } + public function getFailureCause() + { + return $this->failureCause; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Games/EventRecordRequest.php b/vendor/google/apiclient-services/src/Google/Service/Games/EventRecordRequest.php new file mode 100644 index 00000000..fd3da23b --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Games/EventRecordRequest.php @@ -0,0 +1,59 @@ +currentTimeMillis = $currentTimeMillis; + } + public function getCurrentTimeMillis() + { + return $this->currentTimeMillis; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setRequestId($requestId) + { + $this->requestId = $requestId; + } + public function getRequestId() + { + return $this->requestId; + } + public function setTimePeriods($timePeriods) + { + $this->timePeriods = $timePeriods; + } + public function getTimePeriods() + { + return $this->timePeriods; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Games/EventUpdateRequest.php b/vendor/google/apiclient-services/src/Google/Service/Games/EventUpdateRequest.php new file mode 100644 index 00000000..48314f70 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Games/EventUpdateRequest.php @@ -0,0 +1,48 @@ +definitionId = $definitionId; + } + public function getDefinitionId() + { + return $this->definitionId; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setUpdateCount($updateCount) + { + $this->updateCount = $updateCount; + } + public function getUpdateCount() + { + return $this->updateCount; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Games/EventUpdateResponse.php b/vendor/google/apiclient-services/src/Google/Service/Games/EventUpdateResponse.php new file mode 100644 index 00000000..9a180f33 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Games/EventUpdateResponse.php @@ -0,0 +1,61 @@ +batchFailures = $batchFailures; + } + public function getBatchFailures() + { + return $this->batchFailures; + } + public function setEventFailures($eventFailures) + { + $this->eventFailures = $eventFailures; + } + public function getEventFailures() + { + return $this->eventFailures; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setPlayerEvents($playerEvents) + { + $this->playerEvents = $playerEvents; + } + public function getPlayerEvents() + { + return $this->playerEvents; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Games/GamesAchievementIncrement.php b/vendor/google/apiclient-services/src/Google/Service/Games/GamesAchievementIncrement.php new file mode 100644 index 00000000..863cd06a --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Games/GamesAchievementIncrement.php @@ -0,0 +1,48 @@ +kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setRequestId($requestId) + { + $this->requestId = $requestId; + } + public function getRequestId() + { + return $this->requestId; + } + public function setSteps($steps) + { + $this->steps = $steps; + } + public function getSteps() + { + return $this->steps; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Games/GamesAchievementSetStepsAtLeast.php b/vendor/google/apiclient-services/src/Google/Service/Games/GamesAchievementSetStepsAtLeast.php new file mode 100644 index 00000000..121d0ec0 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Games/GamesAchievementSetStepsAtLeast.php @@ -0,0 +1,39 @@ +kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setSteps($steps) + { + $this->steps = $steps; + } + public function getSteps() + { + return $this->steps; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Games/ImageAsset.php b/vendor/google/apiclient-services/src/Google/Service/Games/ImageAsset.php new file mode 100644 index 00000000..2fbaff4f --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Games/ImageAsset.php @@ -0,0 +1,66 @@ +height = $height; + } + public function getHeight() + { + return $this->height; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setUrl($url) + { + $this->url = $url; + } + public function getUrl() + { + return $this->url; + } + public function setWidth($width) + { + $this->width = $width; + } + public function getWidth() + { + return $this->width; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Games/Instance.php b/vendor/google/apiclient-services/src/Google/Service/Games/Instance.php new file mode 100644 index 00000000..d9b41555 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Games/Instance.php @@ -0,0 +1,105 @@ +acquisitionUri = $acquisitionUri; + } + public function getAcquisitionUri() + { + return $this->acquisitionUri; + } + public function setAndroidInstance(Google_Service_Games_InstanceAndroidDetails $androidInstance) + { + $this->androidInstance = $androidInstance; + } + public function getAndroidInstance() + { + return $this->androidInstance; + } + public function setIosInstance(Google_Service_Games_InstanceIosDetails $iosInstance) + { + $this->iosInstance = $iosInstance; + } + public function getIosInstance() + { + return $this->iosInstance; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setPlatformType($platformType) + { + $this->platformType = $platformType; + } + public function getPlatformType() + { + return $this->platformType; + } + public function setRealtimePlay($realtimePlay) + { + $this->realtimePlay = $realtimePlay; + } + public function getRealtimePlay() + { + return $this->realtimePlay; + } + public function setTurnBasedPlay($turnBasedPlay) + { + $this->turnBasedPlay = $turnBasedPlay; + } + public function getTurnBasedPlay() + { + return $this->turnBasedPlay; + } + public function setWebInstance(Google_Service_Games_InstanceWebDetails $webInstance) + { + $this->webInstance = $webInstance; + } + public function getWebInstance() + { + return $this->webInstance; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Games/InstanceAndroidDetails.php b/vendor/google/apiclient-services/src/Google/Service/Games/InstanceAndroidDetails.php new file mode 100644 index 00000000..9bd810fb --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Games/InstanceAndroidDetails.php @@ -0,0 +1,57 @@ +enablePiracyCheck = $enablePiracyCheck; + } + public function getEnablePiracyCheck() + { + return $this->enablePiracyCheck; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setPackageName($packageName) + { + $this->packageName = $packageName; + } + public function getPackageName() + { + return $this->packageName; + } + public function setPreferred($preferred) + { + $this->preferred = $preferred; + } + public function getPreferred() + { + return $this->preferred; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Games/InstanceIosDetails.php b/vendor/google/apiclient-services/src/Google/Service/Games/InstanceIosDetails.php new file mode 100644 index 00000000..e82877cb --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Games/InstanceIosDetails.php @@ -0,0 +1,84 @@ +bundleIdentifier = $bundleIdentifier; + } + public function getBundleIdentifier() + { + return $this->bundleIdentifier; + } + public function setItunesAppId($itunesAppId) + { + $this->itunesAppId = $itunesAppId; + } + public function getItunesAppId() + { + return $this->itunesAppId; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setPreferredForIpad($preferredForIpad) + { + $this->preferredForIpad = $preferredForIpad; + } + public function getPreferredForIpad() + { + return $this->preferredForIpad; + } + public function setPreferredForIphone($preferredForIphone) + { + $this->preferredForIphone = $preferredForIphone; + } + public function getPreferredForIphone() + { + return $this->preferredForIphone; + } + public function setSupportIpad($supportIpad) + { + $this->supportIpad = $supportIpad; + } + public function getSupportIpad() + { + return $this->supportIpad; + } + public function setSupportIphone($supportIphone) + { + $this->supportIphone = $supportIphone; + } + public function getSupportIphone() + { + return $this->supportIphone; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Games/InstanceWebDetails.php b/vendor/google/apiclient-services/src/Google/Service/Games/InstanceWebDetails.php new file mode 100644 index 00000000..601cd4b7 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Games/InstanceWebDetails.php @@ -0,0 +1,48 @@ +kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setLaunchUrl($launchUrl) + { + $this->launchUrl = $launchUrl; + } + public function getLaunchUrl() + { + return $this->launchUrl; + } + public function setPreferred($preferred) + { + $this->preferred = $preferred; + } + public function getPreferred() + { + return $this->preferred; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Games/Leaderboard.php b/vendor/google/apiclient-services/src/Google/Service/Games/Leaderboard.php new file mode 100644 index 00000000..8d6bc438 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Games/Leaderboard.php @@ -0,0 +1,75 @@ +iconUrl = $iconUrl; + } + public function getIconUrl() + { + return $this->iconUrl; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setIsIconUrlDefault($isIconUrlDefault) + { + $this->isIconUrlDefault = $isIconUrlDefault; + } + public function getIsIconUrlDefault() + { + return $this->isIconUrlDefault; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setOrder($order) + { + $this->order = $order; + } + public function getOrder() + { + return $this->order; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Games/LeaderboardEntry.php b/vendor/google/apiclient-services/src/Google/Service/Games/LeaderboardEntry.php new file mode 100644 index 00000000..9d451a02 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Games/LeaderboardEntry.php @@ -0,0 +1,103 @@ +formattedScore = $formattedScore; + } + public function getFormattedScore() + { + return $this->formattedScore; + } + public function setFormattedScoreRank($formattedScoreRank) + { + $this->formattedScoreRank = $formattedScoreRank; + } + public function getFormattedScoreRank() + { + return $this->formattedScoreRank; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setPlayer(Google_Service_Games_Player $player) + { + $this->player = $player; + } + public function getPlayer() + { + return $this->player; + } + public function setScoreRank($scoreRank) + { + $this->scoreRank = $scoreRank; + } + public function getScoreRank() + { + return $this->scoreRank; + } + public function setScoreTag($scoreTag) + { + $this->scoreTag = $scoreTag; + } + public function getScoreTag() + { + return $this->scoreTag; + } + public function setScoreValue($scoreValue) + { + $this->scoreValue = $scoreValue; + } + public function getScoreValue() + { + return $this->scoreValue; + } + public function setTimeSpan($timeSpan) + { + $this->timeSpan = $timeSpan; + } + public function getTimeSpan() + { + return $this->timeSpan; + } + public function setWriteTimestampMillis($writeTimestampMillis) + { + $this->writeTimestampMillis = $writeTimestampMillis; + } + public function getWriteTimestampMillis() + { + return $this->writeTimestampMillis; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Games/LeaderboardListResponse.php b/vendor/google/apiclient-services/src/Google/Service/Games/LeaderboardListResponse.php new file mode 100644 index 00000000..21fdfa87 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Games/LeaderboardListResponse.php @@ -0,0 +1,50 @@ +items = $items; + } + public function getItems() + { + return $this->items; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Games/LeaderboardScoreRank.php b/vendor/google/apiclient-services/src/Google/Service/Games/LeaderboardScoreRank.php new file mode 100644 index 00000000..8127bfd5 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Games/LeaderboardScoreRank.php @@ -0,0 +1,66 @@ +formattedNumScores = $formattedNumScores; + } + public function getFormattedNumScores() + { + return $this->formattedNumScores; + } + public function setFormattedRank($formattedRank) + { + $this->formattedRank = $formattedRank; + } + public function getFormattedRank() + { + return $this->formattedRank; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNumScores($numScores) + { + $this->numScores = $numScores; + } + public function getNumScores() + { + return $this->numScores; + } + public function setRank($rank) + { + $this->rank = $rank; + } + public function getRank() + { + return $this->rank; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Games/LeaderboardScores.php b/vendor/google/apiclient-services/src/Google/Service/Games/LeaderboardScores.php new file mode 100644 index 00000000..9381da02 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Games/LeaderboardScores.php @@ -0,0 +1,78 @@ +items = $items; + } + public function getItems() + { + return $this->items; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setNumScores($numScores) + { + $this->numScores = $numScores; + } + public function getNumScores() + { + return $this->numScores; + } + public function setPlayerScore(Google_Service_Games_LeaderboardEntry $playerScore) + { + $this->playerScore = $playerScore; + } + public function getPlayerScore() + { + return $this->playerScore; + } + public function setPrevPageToken($prevPageToken) + { + $this->prevPageToken = $prevPageToken; + } + public function getPrevPageToken() + { + return $this->prevPageToken; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Games/MetagameConfig.php b/vendor/google/apiclient-services/src/Google/Service/Games/MetagameConfig.php new file mode 100644 index 00000000..cec0a436 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Games/MetagameConfig.php @@ -0,0 +1,50 @@ +currentVersion = $currentVersion; + } + public function getCurrentVersion() + { + return $this->currentVersion; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setPlayerLevels($playerLevels) + { + $this->playerLevels = $playerLevels; + } + public function getPlayerLevels() + { + return $this->playerLevels; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Games/NetworkDiagnostics.php b/vendor/google/apiclient-services/src/Google/Service/Games/NetworkDiagnostics.php new file mode 100644 index 00000000..5669dbf5 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Games/NetworkDiagnostics.php @@ -0,0 +1,84 @@ +androidNetworkSubtype = $androidNetworkSubtype; + } + public function getAndroidNetworkSubtype() + { + return $this->androidNetworkSubtype; + } + public function setAndroidNetworkType($androidNetworkType) + { + $this->androidNetworkType = $androidNetworkType; + } + public function getAndroidNetworkType() + { + return $this->androidNetworkType; + } + public function setIosNetworkType($iosNetworkType) + { + $this->iosNetworkType = $iosNetworkType; + } + public function getIosNetworkType() + { + return $this->iosNetworkType; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNetworkOperatorCode($networkOperatorCode) + { + $this->networkOperatorCode = $networkOperatorCode; + } + public function getNetworkOperatorCode() + { + return $this->networkOperatorCode; + } + public function setNetworkOperatorName($networkOperatorName) + { + $this->networkOperatorName = $networkOperatorName; + } + public function getNetworkOperatorName() + { + return $this->networkOperatorName; + } + public function setRegistrationLatencyMillis($registrationLatencyMillis) + { + $this->registrationLatencyMillis = $registrationLatencyMillis; + } + public function getRegistrationLatencyMillis() + { + return $this->registrationLatencyMillis; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Games/ParticipantResult.php b/vendor/google/apiclient-services/src/Google/Service/Games/ParticipantResult.php new file mode 100644 index 00000000..8f856fbc --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Games/ParticipantResult.php @@ -0,0 +1,57 @@ +kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setParticipantId($participantId) + { + $this->participantId = $participantId; + } + public function getParticipantId() + { + return $this->participantId; + } + public function setPlacing($placing) + { + $this->placing = $placing; + } + public function getPlacing() + { + return $this->placing; + } + public function setResult($result) + { + $this->result = $result; + } + public function getResult() + { + return $this->result; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Games/PeerChannelDiagnostics.php b/vendor/google/apiclient-services/src/Google/Service/Games/PeerChannelDiagnostics.php new file mode 100644 index 00000000..f5042111 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Games/PeerChannelDiagnostics.php @@ -0,0 +1,96 @@ +bytesReceived = $bytesReceived; + } + public function getBytesReceived() + { + return $this->bytesReceived; + } + public function setBytesSent(Google_Service_Games_AggregateStats $bytesSent) + { + $this->bytesSent = $bytesSent; + } + public function getBytesSent() + { + return $this->bytesSent; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNumMessagesLost($numMessagesLost) + { + $this->numMessagesLost = $numMessagesLost; + } + public function getNumMessagesLost() + { + return $this->numMessagesLost; + } + public function setNumMessagesReceived($numMessagesReceived) + { + $this->numMessagesReceived = $numMessagesReceived; + } + public function getNumMessagesReceived() + { + return $this->numMessagesReceived; + } + public function setNumMessagesSent($numMessagesSent) + { + $this->numMessagesSent = $numMessagesSent; + } + public function getNumMessagesSent() + { + return $this->numMessagesSent; + } + public function setNumSendFailures($numSendFailures) + { + $this->numSendFailures = $numSendFailures; + } + public function getNumSendFailures() + { + return $this->numSendFailures; + } + public function setRoundtripLatencyMillis(Google_Service_Games_AggregateStats $roundtripLatencyMillis) + { + $this->roundtripLatencyMillis = $roundtripLatencyMillis; + } + public function getRoundtripLatencyMillis() + { + return $this->roundtripLatencyMillis; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Games/PeerSessionDiagnostics.php b/vendor/google/apiclient-services/src/Google/Service/Games/PeerSessionDiagnostics.php new file mode 100644 index 00000000..cdd6b507 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Games/PeerSessionDiagnostics.php @@ -0,0 +1,68 @@ +connectedTimestampMillis = $connectedTimestampMillis; + } + public function getConnectedTimestampMillis() + { + return $this->connectedTimestampMillis; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setParticipantId($participantId) + { + $this->participantId = $participantId; + } + public function getParticipantId() + { + return $this->participantId; + } + public function setReliableChannel(Google_Service_Games_PeerChannelDiagnostics $reliableChannel) + { + $this->reliableChannel = $reliableChannel; + } + public function getReliableChannel() + { + return $this->reliableChannel; + } + public function setUnreliableChannel(Google_Service_Games_PeerChannelDiagnostics $unreliableChannel) + { + $this->unreliableChannel = $unreliableChannel; + } + public function getUnreliableChannel() + { + return $this->unreliableChannel; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Games/Played.php b/vendor/google/apiclient-services/src/Google/Service/Games/Played.php new file mode 100644 index 00000000..eda3e5b4 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Games/Played.php @@ -0,0 +1,48 @@ +autoMatched = $autoMatched; + } + public function getAutoMatched() + { + return $this->autoMatched; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setTimeMillis($timeMillis) + { + $this->timeMillis = $timeMillis; + } + public function getTimeMillis() + { + return $this->timeMillis; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Games/Player.php b/vendor/google/apiclient-services/src/Google/Service/Games/Player.php new file mode 100644 index 00000000..c5d0888b --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Games/Player.php @@ -0,0 +1,133 @@ +avatarImageUrl = $avatarImageUrl; + } + public function getAvatarImageUrl() + { + return $this->avatarImageUrl; + } + public function setBannerUrlLandscape($bannerUrlLandscape) + { + $this->bannerUrlLandscape = $bannerUrlLandscape; + } + public function getBannerUrlLandscape() + { + return $this->bannerUrlLandscape; + } + public function setBannerUrlPortrait($bannerUrlPortrait) + { + $this->bannerUrlPortrait = $bannerUrlPortrait; + } + public function getBannerUrlPortrait() + { + return $this->bannerUrlPortrait; + } + public function setDisplayName($displayName) + { + $this->displayName = $displayName; + } + public function getDisplayName() + { + return $this->displayName; + } + public function setExperienceInfo(Google_Service_Games_PlayerExperienceInfo $experienceInfo) + { + $this->experienceInfo = $experienceInfo; + } + public function getExperienceInfo() + { + return $this->experienceInfo; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setLastPlayedWith(Google_Service_Games_Played $lastPlayedWith) + { + $this->lastPlayedWith = $lastPlayedWith; + } + public function getLastPlayedWith() + { + return $this->lastPlayedWith; + } + public function setName(Google_Service_Games_PlayerName $name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setOriginalPlayerId($originalPlayerId) + { + $this->originalPlayerId = $originalPlayerId; + } + public function getOriginalPlayerId() + { + return $this->originalPlayerId; + } + public function setPlayerId($playerId) + { + $this->playerId = $playerId; + } + public function getPlayerId() + { + return $this->playerId; + } + public function setProfileSettings(Google_Service_Games_ProfileSettings $profileSettings) + { + $this->profileSettings = $profileSettings; + } + public function getProfileSettings() + { + return $this->profileSettings; + } + public function setTitle($title) + { + $this->title = $title; + } + public function getTitle() + { + return $this->title; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Games/PlayerAchievement.php b/vendor/google/apiclient-services/src/Google/Service/Games/PlayerAchievement.php new file mode 100644 index 00000000..0c3403cf --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Games/PlayerAchievement.php @@ -0,0 +1,84 @@ +achievementState = $achievementState; + } + public function getAchievementState() + { + return $this->achievementState; + } + public function setCurrentSteps($currentSteps) + { + $this->currentSteps = $currentSteps; + } + public function getCurrentSteps() + { + return $this->currentSteps; + } + public function setExperiencePoints($experiencePoints) + { + $this->experiencePoints = $experiencePoints; + } + public function getExperiencePoints() + { + return $this->experiencePoints; + } + public function setFormattedCurrentStepsString($formattedCurrentStepsString) + { + $this->formattedCurrentStepsString = $formattedCurrentStepsString; + } + public function getFormattedCurrentStepsString() + { + return $this->formattedCurrentStepsString; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setLastUpdatedTimestamp($lastUpdatedTimestamp) + { + $this->lastUpdatedTimestamp = $lastUpdatedTimestamp; + } + public function getLastUpdatedTimestamp() + { + return $this->lastUpdatedTimestamp; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Games/PlayerAchievementListResponse.php b/vendor/google/apiclient-services/src/Google/Service/Games/PlayerAchievementListResponse.php new file mode 100644 index 00000000..a4b73ef4 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Games/PlayerAchievementListResponse.php @@ -0,0 +1,50 @@ +items = $items; + } + public function getItems() + { + return $this->items; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Games/PlayerEvent.php b/vendor/google/apiclient-services/src/Google/Service/Games/PlayerEvent.php new file mode 100644 index 00000000..fdffa96d --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Games/PlayerEvent.php @@ -0,0 +1,66 @@ +definitionId = $definitionId; + } + public function getDefinitionId() + { + return $this->definitionId; + } + public function setFormattedNumEvents($formattedNumEvents) + { + $this->formattedNumEvents = $formattedNumEvents; + } + public function getFormattedNumEvents() + { + return $this->formattedNumEvents; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNumEvents($numEvents) + { + $this->numEvents = $numEvents; + } + public function getNumEvents() + { + return $this->numEvents; + } + public function setPlayerId($playerId) + { + $this->playerId = $playerId; + } + public function getPlayerId() + { + return $this->playerId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Games/PlayerEventListResponse.php b/vendor/google/apiclient-services/src/Google/Service/Games/PlayerEventListResponse.php new file mode 100644 index 00000000..f2ec3aec --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Games/PlayerEventListResponse.php @@ -0,0 +1,50 @@ +items = $items; + } + public function getItems() + { + return $this->items; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Games/PlayerExperienceInfo.php b/vendor/google/apiclient-services/src/Google/Service/Games/PlayerExperienceInfo.php new file mode 100644 index 00000000..fa437ae3 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Games/PlayerExperienceInfo.php @@ -0,0 +1,68 @@ +currentExperiencePoints = $currentExperiencePoints; + } + public function getCurrentExperiencePoints() + { + return $this->currentExperiencePoints; + } + public function setCurrentLevel(Google_Service_Games_PlayerLevel $currentLevel) + { + $this->currentLevel = $currentLevel; + } + public function getCurrentLevel() + { + return $this->currentLevel; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setLastLevelUpTimestampMillis($lastLevelUpTimestampMillis) + { + $this->lastLevelUpTimestampMillis = $lastLevelUpTimestampMillis; + } + public function getLastLevelUpTimestampMillis() + { + return $this->lastLevelUpTimestampMillis; + } + public function setNextLevel(Google_Service_Games_PlayerLevel $nextLevel) + { + $this->nextLevel = $nextLevel; + } + public function getNextLevel() + { + return $this->nextLevel; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Games/PlayerLeaderboardScore.php b/vendor/google/apiclient-services/src/Google/Service/Games/PlayerLeaderboardScore.php new file mode 100644 index 00000000..f3119ac0 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Games/PlayerLeaderboardScore.php @@ -0,0 +1,107 @@ + "leaderboard_id", + ); + public $kind; + public $leaderboardId; + protected $publicRankType = 'Google_Service_Games_LeaderboardScoreRank'; + protected $publicRankDataType = ''; + public $scoreString; + public $scoreTag; + public $scoreValue; + protected $socialRankType = 'Google_Service_Games_LeaderboardScoreRank'; + protected $socialRankDataType = ''; + public $timeSpan; + public $writeTimestamp; + + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setLeaderboardId($leaderboardId) + { + $this->leaderboardId = $leaderboardId; + } + public function getLeaderboardId() + { + return $this->leaderboardId; + } + public function setPublicRank(Google_Service_Games_LeaderboardScoreRank $publicRank) + { + $this->publicRank = $publicRank; + } + public function getPublicRank() + { + return $this->publicRank; + } + public function setScoreString($scoreString) + { + $this->scoreString = $scoreString; + } + public function getScoreString() + { + return $this->scoreString; + } + public function setScoreTag($scoreTag) + { + $this->scoreTag = $scoreTag; + } + public function getScoreTag() + { + return $this->scoreTag; + } + public function setScoreValue($scoreValue) + { + $this->scoreValue = $scoreValue; + } + public function getScoreValue() + { + return $this->scoreValue; + } + public function setSocialRank(Google_Service_Games_LeaderboardScoreRank $socialRank) + { + $this->socialRank = $socialRank; + } + public function getSocialRank() + { + return $this->socialRank; + } + public function setTimeSpan($timeSpan) + { + $this->timeSpan = $timeSpan; + } + public function getTimeSpan() + { + return $this->timeSpan; + } + public function setWriteTimestamp($writeTimestamp) + { + $this->writeTimestamp = $writeTimestamp; + } + public function getWriteTimestamp() + { + return $this->writeTimestamp; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Games/PlayerLeaderboardScoreListResponse.php b/vendor/google/apiclient-services/src/Google/Service/Games/PlayerLeaderboardScoreListResponse.php new file mode 100644 index 00000000..99bf0bc0 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Games/PlayerLeaderboardScoreListResponse.php @@ -0,0 +1,60 @@ +items = $items; + } + public function getItems() + { + return $this->items; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setPlayer(Google_Service_Games_Player $player) + { + $this->player = $player; + } + public function getPlayer() + { + return $this->player; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Games/PlayerLevel.php b/vendor/google/apiclient-services/src/Google/Service/Games/PlayerLevel.php new file mode 100644 index 00000000..f10a55b1 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Games/PlayerLevel.php @@ -0,0 +1,57 @@ +kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setLevel($level) + { + $this->level = $level; + } + public function getLevel() + { + return $this->level; + } + public function setMaxExperiencePoints($maxExperiencePoints) + { + $this->maxExperiencePoints = $maxExperiencePoints; + } + public function getMaxExperiencePoints() + { + return $this->maxExperiencePoints; + } + public function setMinExperiencePoints($minExperiencePoints) + { + $this->minExperiencePoints = $minExperiencePoints; + } + public function getMinExperiencePoints() + { + return $this->minExperiencePoints; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Games/PlayerListResponse.php b/vendor/google/apiclient-services/src/Google/Service/Games/PlayerListResponse.php new file mode 100644 index 00000000..442910b0 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Games/PlayerListResponse.php @@ -0,0 +1,50 @@ +items = $items; + } + public function getItems() + { + return $this->items; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Games/PlayerName.php b/vendor/google/apiclient-services/src/Google/Service/Games/PlayerName.php new file mode 100644 index 00000000..beadfaf1 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Games/PlayerName.php @@ -0,0 +1,39 @@ +familyName = $familyName; + } + public function getFamilyName() + { + return $this->familyName; + } + public function setGivenName($givenName) + { + $this->givenName = $givenName; + } + public function getGivenName() + { + return $this->givenName; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Games/PlayerScore.php b/vendor/google/apiclient-services/src/Google/Service/Games/PlayerScore.php new file mode 100644 index 00000000..418f80ff --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Games/PlayerScore.php @@ -0,0 +1,66 @@ +formattedScore = $formattedScore; + } + public function getFormattedScore() + { + return $this->formattedScore; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setScore($score) + { + $this->score = $score; + } + public function getScore() + { + return $this->score; + } + public function setScoreTag($scoreTag) + { + $this->scoreTag = $scoreTag; + } + public function getScoreTag() + { + return $this->scoreTag; + } + public function setTimeSpan($timeSpan) + { + $this->timeSpan = $timeSpan; + } + public function getTimeSpan() + { + return $this->timeSpan; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Games/PlayerScoreListResponse.php b/vendor/google/apiclient-services/src/Google/Service/Games/PlayerScoreListResponse.php new file mode 100644 index 00000000..1132c67d --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Games/PlayerScoreListResponse.php @@ -0,0 +1,41 @@ +kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setSubmittedScores($submittedScores) + { + $this->submittedScores = $submittedScores; + } + public function getSubmittedScores() + { + return $this->submittedScores; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Games/PlayerScoreResponse.php b/vendor/google/apiclient-services/src/Google/Service/Games/PlayerScoreResponse.php new file mode 100644 index 00000000..8d10ed55 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Games/PlayerScoreResponse.php @@ -0,0 +1,77 @@ +beatenScoreTimeSpans = $beatenScoreTimeSpans; + } + public function getBeatenScoreTimeSpans() + { + return $this->beatenScoreTimeSpans; + } + public function setFormattedScore($formattedScore) + { + $this->formattedScore = $formattedScore; + } + public function getFormattedScore() + { + return $this->formattedScore; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setLeaderboardId($leaderboardId) + { + $this->leaderboardId = $leaderboardId; + } + public function getLeaderboardId() + { + return $this->leaderboardId; + } + public function setScoreTag($scoreTag) + { + $this->scoreTag = $scoreTag; + } + public function getScoreTag() + { + return $this->scoreTag; + } + public function setUnbeatenScores($unbeatenScores) + { + $this->unbeatenScores = $unbeatenScores; + } + public function getUnbeatenScores() + { + return $this->unbeatenScores; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Games/PlayerScoreSubmissionList.php b/vendor/google/apiclient-services/src/Google/Service/Games/PlayerScoreSubmissionList.php new file mode 100644 index 00000000..509daeda --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Games/PlayerScoreSubmissionList.php @@ -0,0 +1,41 @@ +kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setScores($scores) + { + $this->scores = $scores; + } + public function getScores() + { + return $this->scores; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Games/ProfileSettings.php b/vendor/google/apiclient-services/src/Google/Service/Games/ProfileSettings.php new file mode 100644 index 00000000..b59cd8fb --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Games/ProfileSettings.php @@ -0,0 +1,39 @@ +kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setProfileVisible($profileVisible) + { + $this->profileVisible = $profileVisible; + } + public function getProfileVisible() + { + return $this->profileVisible; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Games/PushToken.php b/vendor/google/apiclient-services/src/Google/Service/Games/PushToken.php new file mode 100644 index 00000000..3a26d18f --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Games/PushToken.php @@ -0,0 +1,58 @@ +clientRevision = $clientRevision; + } + public function getClientRevision() + { + return $this->clientRevision; + } + public function setId(Google_Service_Games_PushTokenId $id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setLanguage($language) + { + $this->language = $language; + } + public function getLanguage() + { + return $this->language; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Games/PushTokenId.php b/vendor/google/apiclient-services/src/Google/Service/Games/PushTokenId.php new file mode 100644 index 00000000..5781564a --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Games/PushTokenId.php @@ -0,0 +1,40 @@ +ios = $ios; + } + public function getIos() + { + return $this->ios; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Games/PushTokenIdIos.php b/vendor/google/apiclient-services/src/Google/Service/Games/PushTokenIdIos.php new file mode 100644 index 00000000..7a7ebbe4 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Games/PushTokenIdIos.php @@ -0,0 +1,43 @@ + "apns_device_token", + "apnsEnvironment" => "apns_environment", + ); + public $apnsDeviceToken; + public $apnsEnvironment; + + public function setApnsDeviceToken($apnsDeviceToken) + { + $this->apnsDeviceToken = $apnsDeviceToken; + } + public function getApnsDeviceToken() + { + return $this->apnsDeviceToken; + } + public function setApnsEnvironment($apnsEnvironment) + { + $this->apnsEnvironment = $apnsEnvironment; + } + public function getApnsEnvironment() + { + return $this->apnsEnvironment; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Games/Quest.php b/vendor/google/apiclient-services/src/Google/Service/Games/Quest.php new file mode 100644 index 00000000..9c58dcfa --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Games/Quest.php @@ -0,0 +1,167 @@ +acceptedTimestampMillis = $acceptedTimestampMillis; + } + public function getAcceptedTimestampMillis() + { + return $this->acceptedTimestampMillis; + } + public function setApplicationId($applicationId) + { + $this->applicationId = $applicationId; + } + public function getApplicationId() + { + return $this->applicationId; + } + public function setBannerUrl($bannerUrl) + { + $this->bannerUrl = $bannerUrl; + } + public function getBannerUrl() + { + return $this->bannerUrl; + } + public function setDescription($description) + { + $this->description = $description; + } + public function getDescription() + { + return $this->description; + } + public function setEndTimestampMillis($endTimestampMillis) + { + $this->endTimestampMillis = $endTimestampMillis; + } + public function getEndTimestampMillis() + { + return $this->endTimestampMillis; + } + public function setIconUrl($iconUrl) + { + $this->iconUrl = $iconUrl; + } + public function getIconUrl() + { + return $this->iconUrl; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setIsDefaultBannerUrl($isDefaultBannerUrl) + { + $this->isDefaultBannerUrl = $isDefaultBannerUrl; + } + public function getIsDefaultBannerUrl() + { + return $this->isDefaultBannerUrl; + } + public function setIsDefaultIconUrl($isDefaultIconUrl) + { + $this->isDefaultIconUrl = $isDefaultIconUrl; + } + public function getIsDefaultIconUrl() + { + return $this->isDefaultIconUrl; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setLastUpdatedTimestampMillis($lastUpdatedTimestampMillis) + { + $this->lastUpdatedTimestampMillis = $lastUpdatedTimestampMillis; + } + public function getLastUpdatedTimestampMillis() + { + return $this->lastUpdatedTimestampMillis; + } + public function setMilestones($milestones) + { + $this->milestones = $milestones; + } + public function getMilestones() + { + return $this->milestones; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setNotifyTimestampMillis($notifyTimestampMillis) + { + $this->notifyTimestampMillis = $notifyTimestampMillis; + } + public function getNotifyTimestampMillis() + { + return $this->notifyTimestampMillis; + } + public function setStartTimestampMillis($startTimestampMillis) + { + $this->startTimestampMillis = $startTimestampMillis; + } + public function getStartTimestampMillis() + { + return $this->startTimestampMillis; + } + public function setState($state) + { + $this->state = $state; + } + public function getState() + { + return $this->state; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Games/QuestContribution.php b/vendor/google/apiclient-services/src/Google/Service/Games/QuestContribution.php new file mode 100644 index 00000000..357d66f7 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Games/QuestContribution.php @@ -0,0 +1,48 @@ +formattedValue = $formattedValue; + } + public function getFormattedValue() + { + return $this->formattedValue; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setValue($value) + { + $this->value = $value; + } + public function getValue() + { + return $this->value; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Games/QuestCriterion.php b/vendor/google/apiclient-services/src/Google/Service/Games/QuestCriterion.php new file mode 100644 index 00000000..925d59bc --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Games/QuestCriterion.php @@ -0,0 +1,69 @@ +completionContribution = $completionContribution; + } + public function getCompletionContribution() + { + return $this->completionContribution; + } + public function setCurrentContribution(Google_Service_Games_QuestContribution $currentContribution) + { + $this->currentContribution = $currentContribution; + } + public function getCurrentContribution() + { + return $this->currentContribution; + } + public function setEventId($eventId) + { + $this->eventId = $eventId; + } + public function getEventId() + { + return $this->eventId; + } + public function setInitialPlayerProgress(Google_Service_Games_QuestContribution $initialPlayerProgress) + { + $this->initialPlayerProgress = $initialPlayerProgress; + } + public function getInitialPlayerProgress() + { + return $this->initialPlayerProgress; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Games/QuestListResponse.php b/vendor/google/apiclient-services/src/Google/Service/Games/QuestListResponse.php new file mode 100644 index 00000000..c683720f --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Games/QuestListResponse.php @@ -0,0 +1,50 @@ +items = $items; + } + public function getItems() + { + return $this->items; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Games/QuestMilestone.php b/vendor/google/apiclient-services/src/Google/Service/Games/QuestMilestone.php new file mode 100644 index 00000000..846f2ee3 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Games/QuestMilestone.php @@ -0,0 +1,68 @@ +completionRewardData = $completionRewardData; + } + public function getCompletionRewardData() + { + return $this->completionRewardData; + } + public function setCriteria($criteria) + { + $this->criteria = $criteria; + } + public function getCriteria() + { + return $this->criteria; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setState($state) + { + $this->state = $state; + } + public function getState() + { + return $this->state; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Games/Resource/AchievementDefinitions.php b/vendor/google/apiclient-services/src/Google/Service/Games/Resource/AchievementDefinitions.php new file mode 100644 index 00000000..3d4b8d87 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Games/Resource/AchievementDefinitions.php @@ -0,0 +1,49 @@ + + * $gamesService = new Google_Service_Games(...); + * $achievementDefinitions = $gamesService->achievementDefinitions; + * + */ +class Google_Service_Games_Resource_AchievementDefinitions extends Google_Service_Resource +{ + /** + * Lists all the achievement definitions for your application. + * (achievementDefinitions.listAchievementDefinitions) + * + * @param array $optParams Optional parameters. + * + * @opt_param string consistencyToken The last-seen mutation timestamp. + * @opt_param string language The preferred language to use for strings returned + * by this method. + * @opt_param int maxResults The maximum number of achievement resources to + * return in the response, used for paging. For any response, the actual number + * of achievement resources returned may be less than the specified maxResults. + * @opt_param string pageToken The token returned by the previous request. + * @return Google_Service_Games_AchievementDefinitionsListResponse + */ + public function listAchievementDefinitions($optParams = array()) + { + $params = array(); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Games_AchievementDefinitionsListResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Games/Resource/Achievements.php b/vendor/google/apiclient-services/src/Google/Service/Games/Resource/Achievements.php new file mode 100644 index 00000000..aa58c5ed --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Games/Resource/Achievements.php @@ -0,0 +1,141 @@ + + * $gamesService = new Google_Service_Games(...); + * $achievements = $gamesService->achievements; + * + */ +class Google_Service_Games_Resource_Achievements extends Google_Service_Resource +{ + /** + * Increments the steps of the achievement with the given ID for the currently + * authenticated player. (achievements.increment) + * + * @param string $achievementId The ID of the achievement used by this method. + * @param int $stepsToIncrement The number of steps to increment. + * @param array $optParams Optional parameters. + * + * @opt_param string consistencyToken The last-seen mutation timestamp. + * @opt_param string requestId A randomly generated numeric ID for each request + * specified by the caller. This number is used at the server to ensure that the + * request is handled correctly across retries. + * @return Google_Service_Games_AchievementIncrementResponse + */ + public function increment($achievementId, $stepsToIncrement, $optParams = array()) + { + $params = array('achievementId' => $achievementId, 'stepsToIncrement' => $stepsToIncrement); + $params = array_merge($params, $optParams); + return $this->call('increment', array($params), "Google_Service_Games_AchievementIncrementResponse"); + } + /** + * Lists the progress for all your application's achievements for the currently + * authenticated player. (achievements.listAchievements) + * + * @param string $playerId A player ID. A value of me may be used in place of + * the authenticated player's ID. + * @param array $optParams Optional parameters. + * + * @opt_param string consistencyToken The last-seen mutation timestamp. + * @opt_param string language The preferred language to use for strings returned + * by this method. + * @opt_param int maxResults The maximum number of achievement resources to + * return in the response, used for paging. For any response, the actual number + * of achievement resources returned may be less than the specified maxResults. + * @opt_param string pageToken The token returned by the previous request. + * @opt_param string state Tells the server to return only achievements with the + * specified state. If this parameter isn't specified, all achievements are + * returned. + * @return Google_Service_Games_PlayerAchievementListResponse + */ + public function listAchievements($playerId, $optParams = array()) + { + $params = array('playerId' => $playerId); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Games_PlayerAchievementListResponse"); + } + /** + * Sets the state of the achievement with the given ID to REVEALED for the + * currently authenticated player. (achievements.reveal) + * + * @param string $achievementId The ID of the achievement used by this method. + * @param array $optParams Optional parameters. + * + * @opt_param string consistencyToken The last-seen mutation timestamp. + * @return Google_Service_Games_AchievementRevealResponse + */ + public function reveal($achievementId, $optParams = array()) + { + $params = array('achievementId' => $achievementId); + $params = array_merge($params, $optParams); + return $this->call('reveal', array($params), "Google_Service_Games_AchievementRevealResponse"); + } + /** + * Sets the steps for the currently authenticated player towards unlocking an + * achievement. If the steps parameter is less than the current number of steps + * that the player already gained for the achievement, the achievement is not + * modified. (achievements.setStepsAtLeast) + * + * @param string $achievementId The ID of the achievement used by this method. + * @param int $steps The minimum value to set the steps to. + * @param array $optParams Optional parameters. + * + * @opt_param string consistencyToken The last-seen mutation timestamp. + * @return Google_Service_Games_AchievementSetStepsAtLeastResponse + */ + public function setStepsAtLeast($achievementId, $steps, $optParams = array()) + { + $params = array('achievementId' => $achievementId, 'steps' => $steps); + $params = array_merge($params, $optParams); + return $this->call('setStepsAtLeast', array($params), "Google_Service_Games_AchievementSetStepsAtLeastResponse"); + } + /** + * Unlocks this achievement for the currently authenticated player. + * (achievements.unlock) + * + * @param string $achievementId The ID of the achievement used by this method. + * @param array $optParams Optional parameters. + * + * @opt_param string consistencyToken The last-seen mutation timestamp. + * @return Google_Service_Games_AchievementUnlockResponse + */ + public function unlock($achievementId, $optParams = array()) + { + $params = array('achievementId' => $achievementId); + $params = array_merge($params, $optParams); + return $this->call('unlock', array($params), "Google_Service_Games_AchievementUnlockResponse"); + } + /** + * Updates multiple achievements for the currently authenticated player. + * (achievements.updateMultiple) + * + * @param Google_Service_Games_AchievementUpdateMultipleRequest $postBody + * @param array $optParams Optional parameters. + * + * @opt_param string consistencyToken The last-seen mutation timestamp. + * @return Google_Service_Games_AchievementUpdateMultipleResponse + */ + public function updateMultiple(Google_Service_Games_AchievementUpdateMultipleRequest $postBody, $optParams = array()) + { + $params = array('postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('updateMultiple', array($params), "Google_Service_Games_AchievementUpdateMultipleResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Games/Resource/Applications.php b/vendor/google/apiclient-services/src/Google/Service/Games/Resource/Applications.php new file mode 100644 index 00000000..f8acdb07 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Games/Resource/Applications.php @@ -0,0 +1,82 @@ + + * $gamesService = new Google_Service_Games(...); + * $applications = $gamesService->applications; + * + */ +class Google_Service_Games_Resource_Applications extends Google_Service_Resource +{ + /** + * Retrieves the metadata of the application with the given ID. If the requested + * application is not available for the specified platformType, the returned + * response will not include any instance data. (applications.get) + * + * @param string $applicationId The application ID from the Google Play + * developer console. + * @param array $optParams Optional parameters. + * + * @opt_param string consistencyToken The last-seen mutation timestamp. + * @opt_param string language The preferred language to use for strings returned + * by this method. + * @opt_param string platformType Restrict application details returned to the + * specific platform. + * @return Google_Service_Games_Application + */ + public function get($applicationId, $optParams = array()) + { + $params = array('applicationId' => $applicationId); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Games_Application"); + } + /** + * Indicate that the the currently authenticated user is playing your + * application. (applications.played) + * + * @param array $optParams Optional parameters. + * + * @opt_param string consistencyToken The last-seen mutation timestamp. + */ + public function played($optParams = array()) + { + $params = array(); + $params = array_merge($params, $optParams); + return $this->call('played', array($params)); + } + /** + * Verifies the auth token provided with this request is for the application + * with the specified ID, and returns the ID of the player it was granted for. + * (applications.verify) + * + * @param string $applicationId The application ID from the Google Play + * developer console. + * @param array $optParams Optional parameters. + * + * @opt_param string consistencyToken The last-seen mutation timestamp. + * @return Google_Service_Games_ApplicationVerifyResponse + */ + public function verify($applicationId, $optParams = array()) + { + $params = array('applicationId' => $applicationId); + $params = array_merge($params, $optParams); + return $this->call('verify', array($params), "Google_Service_Games_ApplicationVerifyResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Games/Resource/Events.php b/vendor/google/apiclient-services/src/Google/Service/Games/Resource/Events.php new file mode 100644 index 00000000..b72e0656 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Games/Resource/Events.php @@ -0,0 +1,88 @@ + + * $gamesService = new Google_Service_Games(...); + * $events = $gamesService->events; + * + */ +class Google_Service_Games_Resource_Events extends Google_Service_Resource +{ + /** + * Returns a list showing the current progress on events in this application for + * the currently authenticated user. (events.listByPlayer) + * + * @param array $optParams Optional parameters. + * + * @opt_param string consistencyToken The last-seen mutation timestamp. + * @opt_param string language The preferred language to use for strings returned + * by this method. + * @opt_param int maxResults The maximum number of events to return in the + * response, used for paging. For any response, the actual number of events to + * return may be less than the specified maxResults. + * @opt_param string pageToken The token returned by the previous request. + * @return Google_Service_Games_PlayerEventListResponse + */ + public function listByPlayer($optParams = array()) + { + $params = array(); + $params = array_merge($params, $optParams); + return $this->call('listByPlayer', array($params), "Google_Service_Games_PlayerEventListResponse"); + } + /** + * Returns a list of the event definitions in this application. + * (events.listDefinitions) + * + * @param array $optParams Optional parameters. + * + * @opt_param string consistencyToken The last-seen mutation timestamp. + * @opt_param string language The preferred language to use for strings returned + * by this method. + * @opt_param int maxResults The maximum number of event definitions to return + * in the response, used for paging. For any response, the actual number of + * event definitions to return may be less than the specified maxResults. + * @opt_param string pageToken The token returned by the previous request. + * @return Google_Service_Games_EventDefinitionListResponse + */ + public function listDefinitions($optParams = array()) + { + $params = array(); + $params = array_merge($params, $optParams); + return $this->call('listDefinitions', array($params), "Google_Service_Games_EventDefinitionListResponse"); + } + /** + * Records a batch of changes to the number of times events have occurred for + * the currently authenticated user of this application. (events.record) + * + * @param Google_Service_Games_EventRecordRequest $postBody + * @param array $optParams Optional parameters. + * + * @opt_param string consistencyToken The last-seen mutation timestamp. + * @opt_param string language The preferred language to use for strings returned + * by this method. + * @return Google_Service_Games_EventUpdateResponse + */ + public function record(Google_Service_Games_EventRecordRequest $postBody, $optParams = array()) + { + $params = array('postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('record', array($params), "Google_Service_Games_EventUpdateResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Games/Resource/Leaderboards.php b/vendor/google/apiclient-services/src/Google/Service/Games/Resource/Leaderboards.php new file mode 100644 index 00000000..89e346c9 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Games/Resource/Leaderboards.php @@ -0,0 +1,67 @@ + + * $gamesService = new Google_Service_Games(...); + * $leaderboards = $gamesService->leaderboards; + * + */ +class Google_Service_Games_Resource_Leaderboards extends Google_Service_Resource +{ + /** + * Retrieves the metadata of the leaderboard with the given ID. + * (leaderboards.get) + * + * @param string $leaderboardId The ID of the leaderboard. + * @param array $optParams Optional parameters. + * + * @opt_param string consistencyToken The last-seen mutation timestamp. + * @opt_param string language The preferred language to use for strings returned + * by this method. + * @return Google_Service_Games_Leaderboard + */ + public function get($leaderboardId, $optParams = array()) + { + $params = array('leaderboardId' => $leaderboardId); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Games_Leaderboard"); + } + /** + * Lists all the leaderboard metadata for your application. + * (leaderboards.listLeaderboards) + * + * @param array $optParams Optional parameters. + * + * @opt_param string consistencyToken The last-seen mutation timestamp. + * @opt_param string language The preferred language to use for strings returned + * by this method. + * @opt_param int maxResults The maximum number of leaderboards to return in the + * response. For any response, the actual number of leaderboards returned may be + * less than the specified maxResults. + * @opt_param string pageToken The token returned by the previous request. + * @return Google_Service_Games_LeaderboardListResponse + */ + public function listLeaderboards($optParams = array()) + { + $params = array(); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Games_LeaderboardListResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Games/Resource/Metagame.php b/vendor/google/apiclient-services/src/Google/Service/Games/Resource/Metagame.php new file mode 100644 index 00000000..c89f6075 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Games/Resource/Metagame.php @@ -0,0 +1,68 @@ + + * $gamesService = new Google_Service_Games(...); + * $metagame = $gamesService->metagame; + * + */ +class Google_Service_Games_Resource_Metagame extends Google_Service_Resource +{ + /** + * Return the metagame configuration data for the calling application. + * (metagame.getMetagameConfig) + * + * @param array $optParams Optional parameters. + * + * @opt_param string consistencyToken The last-seen mutation timestamp. + * @return Google_Service_Games_MetagameConfig + */ + public function getMetagameConfig($optParams = array()) + { + $params = array(); + $params = array_merge($params, $optParams); + return $this->call('getMetagameConfig', array($params), "Google_Service_Games_MetagameConfig"); + } + /** + * List play data aggregated per category for the player corresponding to + * playerId. (metagame.listCategoriesByPlayer) + * + * @param string $playerId A player ID. A value of me may be used in place of + * the authenticated player's ID. + * @param string $collection The collection of categories for which data will be + * returned. + * @param array $optParams Optional parameters. + * + * @opt_param string consistencyToken The last-seen mutation timestamp. + * @opt_param string language The preferred language to use for strings returned + * by this method. + * @opt_param int maxResults The maximum number of category resources to return + * in the response, used for paging. For any response, the actual number of + * category resources returned may be less than the specified maxResults. + * @opt_param string pageToken The token returned by the previous request. + * @return Google_Service_Games_CategoryListResponse + */ + public function listCategoriesByPlayer($playerId, $collection, $optParams = array()) + { + $params = array('playerId' => $playerId, 'collection' => $collection); + $params = array_merge($params, $optParams); + return $this->call('listCategoriesByPlayer', array($params), "Google_Service_Games_CategoryListResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Games/Resource/Players.php b/vendor/google/apiclient-services/src/Google/Service/Games/Resource/Players.php new file mode 100644 index 00000000..4ed67d25 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Games/Resource/Players.php @@ -0,0 +1,69 @@ + + * $gamesService = new Google_Service_Games(...); + * $players = $gamesService->players; + * + */ +class Google_Service_Games_Resource_Players extends Google_Service_Resource +{ + /** + * Retrieves the Player resource with the given ID. To retrieve the player for + * the currently authenticated user, set playerId to me. (players.get) + * + * @param string $playerId A player ID. A value of me may be used in place of + * the authenticated player's ID. + * @param array $optParams Optional parameters. + * + * @opt_param string consistencyToken The last-seen mutation timestamp. + * @opt_param string language The preferred language to use for strings returned + * by this method. + * @return Google_Service_Games_Player + */ + public function get($playerId, $optParams = array()) + { + $params = array('playerId' => $playerId); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Games_Player"); + } + /** + * Get the collection of players for the currently authenticated user. + * (players.listPlayers) + * + * @param string $collection Collection of players being retrieved + * @param array $optParams Optional parameters. + * + * @opt_param string consistencyToken The last-seen mutation timestamp. + * @opt_param string language The preferred language to use for strings returned + * by this method. + * @opt_param int maxResults The maximum number of player resources to return in + * the response, used for paging. For any response, the actual number of player + * resources returned may be less than the specified maxResults. + * @opt_param string pageToken The token returned by the previous request. + * @return Google_Service_Games_PlayerListResponse + */ + public function listPlayers($collection, $optParams = array()) + { + $params = array('collection' => $collection); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Games_PlayerListResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Games/Resource/Pushtokens.php b/vendor/google/apiclient-services/src/Google/Service/Games/Resource/Pushtokens.php new file mode 100644 index 00000000..052edf27 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Games/Resource/Pushtokens.php @@ -0,0 +1,58 @@ + + * $gamesService = new Google_Service_Games(...); + * $pushtokens = $gamesService->pushtokens; + * + */ +class Google_Service_Games_Resource_Pushtokens extends Google_Service_Resource +{ + /** + * Removes a push token for the current user and application. Removing a non- + * existent push token will report success. (pushtokens.remove) + * + * @param Google_Service_Games_PushTokenId $postBody + * @param array $optParams Optional parameters. + * + * @opt_param string consistencyToken The last-seen mutation timestamp. + */ + public function remove(Google_Service_Games_PushTokenId $postBody, $optParams = array()) + { + $params = array('postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('remove', array($params)); + } + /** + * Registers a push token for the current user and application. + * (pushtokens.update) + * + * @param Google_Service_Games_PushToken $postBody + * @param array $optParams Optional parameters. + * + * @opt_param string consistencyToken The last-seen mutation timestamp. + */ + public function update(Google_Service_Games_PushToken $postBody, $optParams = array()) + { + $params = array('postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('update', array($params)); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Games/Resource/QuestMilestones.php b/vendor/google/apiclient-services/src/Google/Service/Games/Resource/QuestMilestones.php new file mode 100644 index 00000000..5b2bcf4d --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Games/Resource/QuestMilestones.php @@ -0,0 +1,48 @@ + + * $gamesService = new Google_Service_Games(...); + * $questMilestones = $gamesService->questMilestones; + * + */ +class Google_Service_Games_Resource_QuestMilestones extends Google_Service_Resource +{ + /** + * Report that a reward for the milestone corresponding to milestoneId for the + * quest corresponding to questId has been claimed by the currently authorized + * user. (questMilestones.claim) + * + * @param string $questId The ID of the quest. + * @param string $milestoneId The ID of the milestone. + * @param string $requestId A numeric ID to ensure that the request is handled + * correctly across retries. Your client application must generate this ID + * randomly. + * @param array $optParams Optional parameters. + * + * @opt_param string consistencyToken The last-seen mutation timestamp. + */ + public function claim($questId, $milestoneId, $requestId, $optParams = array()) + { + $params = array('questId' => $questId, 'milestoneId' => $milestoneId, 'requestId' => $requestId); + $params = array_merge($params, $optParams); + return $this->call('claim', array($params)); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Games/Resource/Quests.php b/vendor/google/apiclient-services/src/Google/Service/Games/Resource/Quests.php new file mode 100644 index 00000000..4ed8d679 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Games/Resource/Quests.php @@ -0,0 +1,70 @@ + + * $gamesService = new Google_Service_Games(...); + * $quests = $gamesService->quests; + * + */ +class Google_Service_Games_Resource_Quests extends Google_Service_Resource +{ + /** + * Indicates that the currently authorized user will participate in the quest. + * (quests.accept) + * + * @param string $questId The ID of the quest. + * @param array $optParams Optional parameters. + * + * @opt_param string consistencyToken The last-seen mutation timestamp. + * @opt_param string language The preferred language to use for strings returned + * by this method. + * @return Google_Service_Games_Quest + */ + public function accept($questId, $optParams = array()) + { + $params = array('questId' => $questId); + $params = array_merge($params, $optParams); + return $this->call('accept', array($params), "Google_Service_Games_Quest"); + } + /** + * Get a list of quests for your application and the currently authenticated + * player. (quests.listQuests) + * + * @param string $playerId A player ID. A value of me may be used in place of + * the authenticated player's ID. + * @param array $optParams Optional parameters. + * + * @opt_param string consistencyToken The last-seen mutation timestamp. + * @opt_param string language The preferred language to use for strings returned + * by this method. + * @opt_param int maxResults The maximum number of quest resources to return in + * the response, used for paging. For any response, the actual number of quest + * resources returned may be less than the specified maxResults. Acceptable + * values are 1 to 50, inclusive. (Default: 50). + * @opt_param string pageToken The token returned by the previous request. + * @return Google_Service_Games_QuestListResponse + */ + public function listQuests($playerId, $optParams = array()) + { + $params = array('playerId' => $playerId); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Games_QuestListResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Games/Resource/Revisions.php b/vendor/google/apiclient-services/src/Google/Service/Games/Resource/Revisions.php new file mode 100644 index 00000000..5370204f --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Games/Resource/Revisions.php @@ -0,0 +1,47 @@ + + * $gamesService = new Google_Service_Games(...); + * $revisions = $gamesService->revisions; + * + */ +class Google_Service_Games_Resource_Revisions extends Google_Service_Resource +{ + /** + * Checks whether the games client is out of date. (revisions.check) + * + * @param string $clientRevision The revision of the client SDK used by your + * application. Format: [PLATFORM_TYPE]:[VERSION_NUMBER]. Possible values of + * PLATFORM_TYPE are: - "ANDROID" - Client is running the Android SDK. - + * "IOS" - Client is running the iOS SDK. - "WEB_APP" - Client is running as a + * Web App. + * @param array $optParams Optional parameters. + * + * @opt_param string consistencyToken The last-seen mutation timestamp. + * @return Google_Service_Games_RevisionCheckResponse + */ + public function check($clientRevision, $optParams = array()) + { + $params = array('clientRevision' => $clientRevision); + $params = array_merge($params, $optParams); + return $this->call('check', array($params), "Google_Service_Games_RevisionCheckResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Games/Resource/Rooms.php b/vendor/google/apiclient-services/src/Google/Service/Games/Resource/Rooms.php new file mode 100644 index 00000000..cc863dfb --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Games/Resource/Rooms.php @@ -0,0 +1,174 @@ + + * $gamesService = new Google_Service_Games(...); + * $rooms = $gamesService->rooms; + * + */ +class Google_Service_Games_Resource_Rooms extends Google_Service_Resource +{ + /** + * Create a room. For internal use by the Games SDK only. Calling this method + * directly is unsupported. (rooms.create) + * + * @param Google_Service_Games_RoomCreateRequest $postBody + * @param array $optParams Optional parameters. + * + * @opt_param string consistencyToken The last-seen mutation timestamp. + * @opt_param string language The preferred language to use for strings returned + * by this method. + * @return Google_Service_Games_Room + */ + public function create(Google_Service_Games_RoomCreateRequest $postBody, $optParams = array()) + { + $params = array('postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('create', array($params), "Google_Service_Games_Room"); + } + /** + * Decline an invitation to join a room. For internal use by the Games SDK only. + * Calling this method directly is unsupported. (rooms.decline) + * + * @param string $roomId The ID of the room. + * @param array $optParams Optional parameters. + * + * @opt_param string consistencyToken The last-seen mutation timestamp. + * @opt_param string language The preferred language to use for strings returned + * by this method. + * @return Google_Service_Games_Room + */ + public function decline($roomId, $optParams = array()) + { + $params = array('roomId' => $roomId); + $params = array_merge($params, $optParams); + return $this->call('decline', array($params), "Google_Service_Games_Room"); + } + /** + * Dismiss an invitation to join a room. For internal use by the Games SDK only. + * Calling this method directly is unsupported. (rooms.dismiss) + * + * @param string $roomId The ID of the room. + * @param array $optParams Optional parameters. + * + * @opt_param string consistencyToken The last-seen mutation timestamp. + */ + public function dismiss($roomId, $optParams = array()) + { + $params = array('roomId' => $roomId); + $params = array_merge($params, $optParams); + return $this->call('dismiss', array($params)); + } + /** + * Get the data for a room. (rooms.get) + * + * @param string $roomId The ID of the room. + * @param array $optParams Optional parameters. + * + * @opt_param string consistencyToken The last-seen mutation timestamp. + * @opt_param string language The preferred language to use for strings returned + * by this method. + * @return Google_Service_Games_Room + */ + public function get($roomId, $optParams = array()) + { + $params = array('roomId' => $roomId); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Games_Room"); + } + /** + * Join a room. For internal use by the Games SDK only. Calling this method + * directly is unsupported. (rooms.join) + * + * @param string $roomId The ID of the room. + * @param Google_Service_Games_RoomJoinRequest $postBody + * @param array $optParams Optional parameters. + * + * @opt_param string consistencyToken The last-seen mutation timestamp. + * @opt_param string language The preferred language to use for strings returned + * by this method. + * @return Google_Service_Games_Room + */ + public function join($roomId, Google_Service_Games_RoomJoinRequest $postBody, $optParams = array()) + { + $params = array('roomId' => $roomId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('join', array($params), "Google_Service_Games_Room"); + } + /** + * Leave a room. For internal use by the Games SDK only. Calling this method + * directly is unsupported. (rooms.leave) + * + * @param string $roomId The ID of the room. + * @param Google_Service_Games_RoomLeaveRequest $postBody + * @param array $optParams Optional parameters. + * + * @opt_param string consistencyToken The last-seen mutation timestamp. + * @opt_param string language The preferred language to use for strings returned + * by this method. + * @return Google_Service_Games_Room + */ + public function leave($roomId, Google_Service_Games_RoomLeaveRequest $postBody, $optParams = array()) + { + $params = array('roomId' => $roomId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('leave', array($params), "Google_Service_Games_Room"); + } + /** + * Returns invitations to join rooms. (rooms.listRooms) + * + * @param array $optParams Optional parameters. + * + * @opt_param string consistencyToken The last-seen mutation timestamp. + * @opt_param string language The preferred language to use for strings returned + * by this method. + * @opt_param int maxResults The maximum number of rooms to return in the + * response, used for paging. For any response, the actual number of rooms to + * return may be less than the specified maxResults. + * @opt_param string pageToken The token returned by the previous request. + * @return Google_Service_Games_RoomList + */ + public function listRooms($optParams = array()) + { + $params = array(); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Games_RoomList"); + } + /** + * Updates sent by a client reporting the status of peers in a room. For + * internal use by the Games SDK only. Calling this method directly is + * unsupported. (rooms.reportStatus) + * + * @param string $roomId The ID of the room. + * @param Google_Service_Games_RoomP2PStatuses $postBody + * @param array $optParams Optional parameters. + * + * @opt_param string consistencyToken The last-seen mutation timestamp. + * @opt_param string language The preferred language to use for strings returned + * by this method. + * @return Google_Service_Games_RoomStatus + */ + public function reportStatus($roomId, Google_Service_Games_RoomP2PStatuses $postBody, $optParams = array()) + { + $params = array('roomId' => $roomId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('reportStatus', array($params), "Google_Service_Games_RoomStatus"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Games/Resource/Scores.php b/vendor/google/apiclient-services/src/Google/Service/Games/Resource/Scores.php new file mode 100644 index 00000000..a6ae8bda --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Games/Resource/Scores.php @@ -0,0 +1,158 @@ + + * $gamesService = new Google_Service_Games(...); + * $scores = $gamesService->scores; + * + */ +class Google_Service_Games_Resource_Scores extends Google_Service_Resource +{ + /** + * Get high scores, and optionally ranks, in leaderboards for the currently + * authenticated player. For a specific time span, leaderboardId can be set to + * ALL to retrieve data for all leaderboards in a given time span. NOTE: You + * cannot ask for 'ALL' leaderboards and 'ALL' timeSpans in the same request; + * only one parameter may be set to 'ALL'. (scores.get) + * + * @param string $playerId A player ID. A value of me may be used in place of + * the authenticated player's ID. + * @param string $leaderboardId The ID of the leaderboard. Can be set to 'ALL' + * to retrieve data for all leaderboards for this application. + * @param string $timeSpan The time span for the scores and ranks you're + * requesting. + * @param array $optParams Optional parameters. + * + * @opt_param string consistencyToken The last-seen mutation timestamp. + * @opt_param string includeRankType The types of ranks to return. If the + * parameter is omitted, no ranks will be returned. + * @opt_param string language The preferred language to use for strings returned + * by this method. + * @opt_param int maxResults The maximum number of leaderboard scores to return + * in the response. For any response, the actual number of leaderboard scores + * returned may be less than the specified maxResults. + * @opt_param string pageToken The token returned by the previous request. + * @return Google_Service_Games_PlayerLeaderboardScoreListResponse + */ + public function get($playerId, $leaderboardId, $timeSpan, $optParams = array()) + { + $params = array('playerId' => $playerId, 'leaderboardId' => $leaderboardId, 'timeSpan' => $timeSpan); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Games_PlayerLeaderboardScoreListResponse"); + } + /** + * Lists the scores in a leaderboard, starting from the top. (scores.listScores) + * + * @param string $leaderboardId The ID of the leaderboard. + * @param string $collection The collection of scores you're requesting. + * @param string $timeSpan The time span for the scores and ranks you're + * requesting. + * @param array $optParams Optional parameters. + * + * @opt_param string consistencyToken The last-seen mutation timestamp. + * @opt_param string language The preferred language to use for strings returned + * by this method. + * @opt_param int maxResults The maximum number of leaderboard scores to return + * in the response. For any response, the actual number of leaderboard scores + * returned may be less than the specified maxResults. + * @opt_param string pageToken The token returned by the previous request. + * @return Google_Service_Games_LeaderboardScores + */ + public function listScores($leaderboardId, $collection, $timeSpan, $optParams = array()) + { + $params = array('leaderboardId' => $leaderboardId, 'collection' => $collection, 'timeSpan' => $timeSpan); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Games_LeaderboardScores"); + } + /** + * Lists the scores in a leaderboard around (and including) a player's score. + * (scores.listWindow) + * + * @param string $leaderboardId The ID of the leaderboard. + * @param string $collection The collection of scores you're requesting. + * @param string $timeSpan The time span for the scores and ranks you're + * requesting. + * @param array $optParams Optional parameters. + * + * @opt_param string consistencyToken The last-seen mutation timestamp. + * @opt_param string language The preferred language to use for strings returned + * by this method. + * @opt_param int maxResults The maximum number of leaderboard scores to return + * in the response. For any response, the actual number of leaderboard scores + * returned may be less than the specified maxResults. + * @opt_param string pageToken The token returned by the previous request. + * @opt_param int resultsAbove The preferred number of scores to return above + * the player's score. More scores may be returned if the player is at the + * bottom of the leaderboard; fewer may be returned if the player is at the top. + * Must be less than or equal to maxResults. + * @opt_param bool returnTopIfAbsent True if the top scores should be returned + * when the player is not in the leaderboard. Defaults to true. + * @return Google_Service_Games_LeaderboardScores + */ + public function listWindow($leaderboardId, $collection, $timeSpan, $optParams = array()) + { + $params = array('leaderboardId' => $leaderboardId, 'collection' => $collection, 'timeSpan' => $timeSpan); + $params = array_merge($params, $optParams); + return $this->call('listWindow', array($params), "Google_Service_Games_LeaderboardScores"); + } + /** + * Submits a score to the specified leaderboard. (scores.submit) + * + * @param string $leaderboardId The ID of the leaderboard. + * @param string $score The score you're submitting. The submitted score is + * ignored if it is worse than a previously submitted score, where worse depends + * on the leaderboard sort order. The meaning of the score value depends on the + * leaderboard format type. For fixed-point, the score represents the raw value. + * For time, the score represents elapsed time in milliseconds. For currency, + * the score represents a value in micro units. + * @param array $optParams Optional parameters. + * + * @opt_param string consistencyToken The last-seen mutation timestamp. + * @opt_param string language The preferred language to use for strings returned + * by this method. + * @opt_param string scoreTag Additional information about the score you're + * submitting. Values must contain no more than 64 URI-safe characters as + * defined by section 2.3 of RFC 3986. + * @return Google_Service_Games_PlayerScoreResponse + */ + public function submit($leaderboardId, $score, $optParams = array()) + { + $params = array('leaderboardId' => $leaderboardId, 'score' => $score); + $params = array_merge($params, $optParams); + return $this->call('submit', array($params), "Google_Service_Games_PlayerScoreResponse"); + } + /** + * Submits multiple scores to leaderboards. (scores.submitMultiple) + * + * @param Google_Service_Games_PlayerScoreSubmissionList $postBody + * @param array $optParams Optional parameters. + * + * @opt_param string consistencyToken The last-seen mutation timestamp. + * @opt_param string language The preferred language to use for strings returned + * by this method. + * @return Google_Service_Games_PlayerScoreListResponse + */ + public function submitMultiple(Google_Service_Games_PlayerScoreSubmissionList $postBody, $optParams = array()) + { + $params = array('postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('submitMultiple', array($params), "Google_Service_Games_PlayerScoreListResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Games/Resource/Snapshots.php b/vendor/google/apiclient-services/src/Google/Service/Games/Resource/Snapshots.php new file mode 100644 index 00000000..5655d985 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Games/Resource/Snapshots.php @@ -0,0 +1,68 @@ + + * $gamesService = new Google_Service_Games(...); + * $snapshots = $gamesService->snapshots; + * + */ +class Google_Service_Games_Resource_Snapshots extends Google_Service_Resource +{ + /** + * Retrieves the metadata for a given snapshot ID. (snapshots.get) + * + * @param string $snapshotId The ID of the snapshot. + * @param array $optParams Optional parameters. + * + * @opt_param string consistencyToken The last-seen mutation timestamp. + * @opt_param string language The preferred language to use for strings returned + * by this method. + * @return Google_Service_Games_Snapshot + */ + public function get($snapshotId, $optParams = array()) + { + $params = array('snapshotId' => $snapshotId); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Games_Snapshot"); + } + /** + * Retrieves a list of snapshots created by your application for the player + * corresponding to the player ID. (snapshots.listSnapshots) + * + * @param string $playerId A player ID. A value of me may be used in place of + * the authenticated player's ID. + * @param array $optParams Optional parameters. + * + * @opt_param string consistencyToken The last-seen mutation timestamp. + * @opt_param string language The preferred language to use for strings returned + * by this method. + * @opt_param int maxResults The maximum number of snapshot resources to return + * in the response, used for paging. For any response, the actual number of + * snapshot resources returned may be less than the specified maxResults. + * @opt_param string pageToken The token returned by the previous request. + * @return Google_Service_Games_SnapshotListResponse + */ + public function listSnapshots($playerId, $optParams = array()) + { + $params = array('playerId' => $playerId); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Games_SnapshotListResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Games/Resource/TurnBasedMatches.php b/vendor/google/apiclient-services/src/Google/Service/Games/Resource/TurnBasedMatches.php new file mode 100644 index 00000000..e6c05a2b --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Games/Resource/TurnBasedMatches.php @@ -0,0 +1,289 @@ + + * $gamesService = new Google_Service_Games(...); + * $turnBasedMatches = $gamesService->turnBasedMatches; + * + */ +class Google_Service_Games_Resource_TurnBasedMatches extends Google_Service_Resource +{ + /** + * Cancel a turn-based match. (turnBasedMatches.cancel) + * + * @param string $matchId The ID of the match. + * @param array $optParams Optional parameters. + * + * @opt_param string consistencyToken The last-seen mutation timestamp. + */ + public function cancel($matchId, $optParams = array()) + { + $params = array('matchId' => $matchId); + $params = array_merge($params, $optParams); + return $this->call('cancel', array($params)); + } + /** + * Create a turn-based match. (turnBasedMatches.create) + * + * @param Google_Service_Games_TurnBasedMatchCreateRequest $postBody + * @param array $optParams Optional parameters. + * + * @opt_param string consistencyToken The last-seen mutation timestamp. + * @opt_param string language The preferred language to use for strings returned + * by this method. + * @return Google_Service_Games_TurnBasedMatch + */ + public function create(Google_Service_Games_TurnBasedMatchCreateRequest $postBody, $optParams = array()) + { + $params = array('postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('create', array($params), "Google_Service_Games_TurnBasedMatch"); + } + /** + * Decline an invitation to play a turn-based match. (turnBasedMatches.decline) + * + * @param string $matchId The ID of the match. + * @param array $optParams Optional parameters. + * + * @opt_param string consistencyToken The last-seen mutation timestamp. + * @opt_param string language The preferred language to use for strings returned + * by this method. + * @return Google_Service_Games_TurnBasedMatch + */ + public function decline($matchId, $optParams = array()) + { + $params = array('matchId' => $matchId); + $params = array_merge($params, $optParams); + return $this->call('decline', array($params), "Google_Service_Games_TurnBasedMatch"); + } + /** + * Dismiss a turn-based match from the match list. The match will no longer show + * up in the list and will not generate notifications. + * (turnBasedMatches.dismiss) + * + * @param string $matchId The ID of the match. + * @param array $optParams Optional parameters. + * + * @opt_param string consistencyToken The last-seen mutation timestamp. + */ + public function dismiss($matchId, $optParams = array()) + { + $params = array('matchId' => $matchId); + $params = array_merge($params, $optParams); + return $this->call('dismiss', array($params)); + } + /** + * Finish a turn-based match. Each player should make this call once, after all + * results are in. Only the player whose turn it is may make the first call to + * Finish, and can pass in the final match state. (turnBasedMatches.finish) + * + * @param string $matchId The ID of the match. + * @param Google_Service_Games_TurnBasedMatchResults $postBody + * @param array $optParams Optional parameters. + * + * @opt_param string consistencyToken The last-seen mutation timestamp. + * @opt_param string language The preferred language to use for strings returned + * by this method. + * @return Google_Service_Games_TurnBasedMatch + */ + public function finish($matchId, Google_Service_Games_TurnBasedMatchResults $postBody, $optParams = array()) + { + $params = array('matchId' => $matchId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('finish', array($params), "Google_Service_Games_TurnBasedMatch"); + } + /** + * Get the data for a turn-based match. (turnBasedMatches.get) + * + * @param string $matchId The ID of the match. + * @param array $optParams Optional parameters. + * + * @opt_param string consistencyToken The last-seen mutation timestamp. + * @opt_param bool includeMatchData Get match data along with metadata. + * @opt_param string language The preferred language to use for strings returned + * by this method. + * @return Google_Service_Games_TurnBasedMatch + */ + public function get($matchId, $optParams = array()) + { + $params = array('matchId' => $matchId); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Games_TurnBasedMatch"); + } + /** + * Join a turn-based match. (turnBasedMatches.join) + * + * @param string $matchId The ID of the match. + * @param array $optParams Optional parameters. + * + * @opt_param string consistencyToken The last-seen mutation timestamp. + * @opt_param string language The preferred language to use for strings returned + * by this method. + * @return Google_Service_Games_TurnBasedMatch + */ + public function join($matchId, $optParams = array()) + { + $params = array('matchId' => $matchId); + $params = array_merge($params, $optParams); + return $this->call('join', array($params), "Google_Service_Games_TurnBasedMatch"); + } + /** + * Leave a turn-based match when it is not the current player's turn, without + * canceling the match. (turnBasedMatches.leave) + * + * @param string $matchId The ID of the match. + * @param array $optParams Optional parameters. + * + * @opt_param string consistencyToken The last-seen mutation timestamp. + * @opt_param string language The preferred language to use for strings returned + * by this method. + * @return Google_Service_Games_TurnBasedMatch + */ + public function leave($matchId, $optParams = array()) + { + $params = array('matchId' => $matchId); + $params = array_merge($params, $optParams); + return $this->call('leave', array($params), "Google_Service_Games_TurnBasedMatch"); + } + /** + * Leave a turn-based match during the current player's turn, without canceling + * the match. (turnBasedMatches.leaveTurn) + * + * @param string $matchId The ID of the match. + * @param int $matchVersion The version of the match being updated. + * @param array $optParams Optional parameters. + * + * @opt_param string consistencyToken The last-seen mutation timestamp. + * @opt_param string language The preferred language to use for strings returned + * by this method. + * @opt_param string pendingParticipantId The ID of another participant who + * should take their turn next. If not set, the match will wait for other + * player(s) to join via automatching; this is only valid if automatch criteria + * is set on the match with remaining slots for automatched players. + * @return Google_Service_Games_TurnBasedMatch + */ + public function leaveTurn($matchId, $matchVersion, $optParams = array()) + { + $params = array('matchId' => $matchId, 'matchVersion' => $matchVersion); + $params = array_merge($params, $optParams); + return $this->call('leaveTurn', array($params), "Google_Service_Games_TurnBasedMatch"); + } + /** + * Returns turn-based matches the player is or was involved in. + * (turnBasedMatches.listTurnBasedMatches) + * + * @param array $optParams Optional parameters. + * + * @opt_param string consistencyToken The last-seen mutation timestamp. + * @opt_param bool includeMatchData True if match data should be returned in the + * response. Note that not all data will necessarily be returned if + * include_match_data is true; the server may decide to only return data for + * some of the matches to limit download size for the client. The remainder of + * the data for these matches will be retrievable on request. + * @opt_param string language The preferred language to use for strings returned + * by this method. + * @opt_param int maxCompletedMatches The maximum number of completed or + * canceled matches to return in the response. If not set, all matches returned + * could be completed or canceled. + * @opt_param int maxResults The maximum number of matches to return in the + * response, used for paging. For any response, the actual number of matches to + * return may be less than the specified maxResults. + * @opt_param string pageToken The token returned by the previous request. + * @return Google_Service_Games_TurnBasedMatchList + */ + public function listTurnBasedMatches($optParams = array()) + { + $params = array(); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Games_TurnBasedMatchList"); + } + /** + * Create a rematch of a match that was previously completed, with the same + * participants. This can be called by only one player on a match still in their + * list; the player must have called Finish first. Returns the newly created + * match; it will be the caller's turn. (turnBasedMatches.rematch) + * + * @param string $matchId The ID of the match. + * @param array $optParams Optional parameters. + * + * @opt_param string consistencyToken The last-seen mutation timestamp. + * @opt_param string language The preferred language to use for strings returned + * by this method. + * @opt_param string requestId A randomly generated numeric ID for each request + * specified by the caller. This number is used at the server to ensure that the + * request is handled correctly across retries. + * @return Google_Service_Games_TurnBasedMatchRematch + */ + public function rematch($matchId, $optParams = array()) + { + $params = array('matchId' => $matchId); + $params = array_merge($params, $optParams); + return $this->call('rematch', array($params), "Google_Service_Games_TurnBasedMatchRematch"); + } + /** + * Returns turn-based matches the player is or was involved in that changed + * since the last sync call, with the least recent changes coming first. Matches + * that should be removed from the local cache will have a status of + * MATCH_DELETED. (turnBasedMatches.sync) + * + * @param array $optParams Optional parameters. + * + * @opt_param string consistencyToken The last-seen mutation timestamp. + * @opt_param bool includeMatchData True if match data should be returned in the + * response. Note that not all data will necessarily be returned if + * include_match_data is true; the server may decide to only return data for + * some of the matches to limit download size for the client. The remainder of + * the data for these matches will be retrievable on request. + * @opt_param string language The preferred language to use for strings returned + * by this method. + * @opt_param int maxCompletedMatches The maximum number of completed or + * canceled matches to return in the response. If not set, all matches returned + * could be completed or canceled. + * @opt_param int maxResults The maximum number of matches to return in the + * response, used for paging. For any response, the actual number of matches to + * return may be less than the specified maxResults. + * @opt_param string pageToken The token returned by the previous request. + * @return Google_Service_Games_TurnBasedMatchSync + */ + public function sync($optParams = array()) + { + $params = array(); + $params = array_merge($params, $optParams); + return $this->call('sync', array($params), "Google_Service_Games_TurnBasedMatchSync"); + } + /** + * Commit the results of a player turn. (turnBasedMatches.takeTurn) + * + * @param string $matchId The ID of the match. + * @param Google_Service_Games_TurnBasedMatchTurn $postBody + * @param array $optParams Optional parameters. + * + * @opt_param string consistencyToken The last-seen mutation timestamp. + * @opt_param string language The preferred language to use for strings returned + * by this method. + * @return Google_Service_Games_TurnBasedMatch + */ + public function takeTurn($matchId, Google_Service_Games_TurnBasedMatchTurn $postBody, $optParams = array()) + { + $params = array('matchId' => $matchId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('takeTurn', array($params), "Google_Service_Games_TurnBasedMatch"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Games/RevisionCheckResponse.php b/vendor/google/apiclient-services/src/Google/Service/Games/RevisionCheckResponse.php new file mode 100644 index 00000000..98696cad --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Games/RevisionCheckResponse.php @@ -0,0 +1,48 @@ +apiVersion = $apiVersion; + } + public function getApiVersion() + { + return $this->apiVersion; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setRevisionStatus($revisionStatus) + { + $this->revisionStatus = $revisionStatus; + } + public function getRevisionStatus() + { + return $this->revisionStatus; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Games/Room.php b/vendor/google/apiclient-services/src/Google/Service/Games/Room.php new file mode 100644 index 00000000..cf3501f5 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Games/Room.php @@ -0,0 +1,144 @@ +applicationId = $applicationId; + } + public function getApplicationId() + { + return $this->applicationId; + } + public function setAutoMatchingCriteria(Google_Service_Games_RoomAutoMatchingCriteria $autoMatchingCriteria) + { + $this->autoMatchingCriteria = $autoMatchingCriteria; + } + public function getAutoMatchingCriteria() + { + return $this->autoMatchingCriteria; + } + public function setAutoMatchingStatus(Google_Service_Games_RoomAutoMatchStatus $autoMatchingStatus) + { + $this->autoMatchingStatus = $autoMatchingStatus; + } + public function getAutoMatchingStatus() + { + return $this->autoMatchingStatus; + } + public function setCreationDetails(Google_Service_Games_RoomModification $creationDetails) + { + $this->creationDetails = $creationDetails; + } + public function getCreationDetails() + { + return $this->creationDetails; + } + public function setDescription($description) + { + $this->description = $description; + } + public function getDescription() + { + return $this->description; + } + public function setInviterId($inviterId) + { + $this->inviterId = $inviterId; + } + public function getInviterId() + { + return $this->inviterId; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setLastUpdateDetails(Google_Service_Games_RoomModification $lastUpdateDetails) + { + $this->lastUpdateDetails = $lastUpdateDetails; + } + public function getLastUpdateDetails() + { + return $this->lastUpdateDetails; + } + public function setParticipants($participants) + { + $this->participants = $participants; + } + public function getParticipants() + { + return $this->participants; + } + public function setRoomId($roomId) + { + $this->roomId = $roomId; + } + public function getRoomId() + { + return $this->roomId; + } + public function setRoomStatusVersion($roomStatusVersion) + { + $this->roomStatusVersion = $roomStatusVersion; + } + public function getRoomStatusVersion() + { + return $this->roomStatusVersion; + } + public function setStatus($status) + { + $this->status = $status; + } + public function getStatus() + { + return $this->status; + } + public function setVariant($variant) + { + $this->variant = $variant; + } + public function getVariant() + { + return $this->variant; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Games/RoomAutoMatchStatus.php b/vendor/google/apiclient-services/src/Google/Service/Games/RoomAutoMatchStatus.php new file mode 100644 index 00000000..d8daffae --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Games/RoomAutoMatchStatus.php @@ -0,0 +1,39 @@ +kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setWaitEstimateSeconds($waitEstimateSeconds) + { + $this->waitEstimateSeconds = $waitEstimateSeconds; + } + public function getWaitEstimateSeconds() + { + return $this->waitEstimateSeconds; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Games/RoomAutoMatchingCriteria.php b/vendor/google/apiclient-services/src/Google/Service/Games/RoomAutoMatchingCriteria.php new file mode 100644 index 00000000..5107dfdc --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Games/RoomAutoMatchingCriteria.php @@ -0,0 +1,57 @@ +exclusiveBitmask = $exclusiveBitmask; + } + public function getExclusiveBitmask() + { + return $this->exclusiveBitmask; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setMaxAutoMatchingPlayers($maxAutoMatchingPlayers) + { + $this->maxAutoMatchingPlayers = $maxAutoMatchingPlayers; + } + public function getMaxAutoMatchingPlayers() + { + return $this->maxAutoMatchingPlayers; + } + public function setMinAutoMatchingPlayers($minAutoMatchingPlayers) + { + $this->minAutoMatchingPlayers = $minAutoMatchingPlayers; + } + public function getMinAutoMatchingPlayers() + { + return $this->minAutoMatchingPlayers; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Games/RoomClientAddress.php b/vendor/google/apiclient-services/src/Google/Service/Games/RoomClientAddress.php new file mode 100644 index 00000000..b65ae8e6 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Games/RoomClientAddress.php @@ -0,0 +1,39 @@ +kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setXmppAddress($xmppAddress) + { + $this->xmppAddress = $xmppAddress; + } + public function getXmppAddress() + { + return $this->xmppAddress; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Games/RoomCreateRequest.php b/vendor/google/apiclient-services/src/Google/Service/Games/RoomCreateRequest.php new file mode 100644 index 00000000..b6bea55d --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Games/RoomCreateRequest.php @@ -0,0 +1,97 @@ +autoMatchingCriteria = $autoMatchingCriteria; + } + public function getAutoMatchingCriteria() + { + return $this->autoMatchingCriteria; + } + public function setCapabilities($capabilities) + { + $this->capabilities = $capabilities; + } + public function getCapabilities() + { + return $this->capabilities; + } + public function setClientAddress(Google_Service_Games_RoomClientAddress $clientAddress) + { + $this->clientAddress = $clientAddress; + } + public function getClientAddress() + { + return $this->clientAddress; + } + public function setInvitedPlayerIds($invitedPlayerIds) + { + $this->invitedPlayerIds = $invitedPlayerIds; + } + public function getInvitedPlayerIds() + { + return $this->invitedPlayerIds; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNetworkDiagnostics(Google_Service_Games_NetworkDiagnostics $networkDiagnostics) + { + $this->networkDiagnostics = $networkDiagnostics; + } + public function getNetworkDiagnostics() + { + return $this->networkDiagnostics; + } + public function setRequestId($requestId) + { + $this->requestId = $requestId; + } + public function getRequestId() + { + return $this->requestId; + } + public function setVariant($variant) + { + $this->variant = $variant; + } + public function getVariant() + { + return $this->variant; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Games/RoomJoinRequest.php b/vendor/google/apiclient-services/src/Google/Service/Games/RoomJoinRequest.php new file mode 100644 index 00000000..2f55f28e --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Games/RoomJoinRequest.php @@ -0,0 +1,60 @@ +capabilities = $capabilities; + } + public function getCapabilities() + { + return $this->capabilities; + } + public function setClientAddress(Google_Service_Games_RoomClientAddress $clientAddress) + { + $this->clientAddress = $clientAddress; + } + public function getClientAddress() + { + return $this->clientAddress; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNetworkDiagnostics(Google_Service_Games_NetworkDiagnostics $networkDiagnostics) + { + $this->networkDiagnostics = $networkDiagnostics; + } + public function getNetworkDiagnostics() + { + return $this->networkDiagnostics; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Games/RoomLeaveDiagnostics.php b/vendor/google/apiclient-services/src/Google/Service/Games/RoomLeaveDiagnostics.php new file mode 100644 index 00000000..f456e9b5 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Games/RoomLeaveDiagnostics.php @@ -0,0 +1,95 @@ +androidNetworkSubtype = $androidNetworkSubtype; + } + public function getAndroidNetworkSubtype() + { + return $this->androidNetworkSubtype; + } + public function setAndroidNetworkType($androidNetworkType) + { + $this->androidNetworkType = $androidNetworkType; + } + public function getAndroidNetworkType() + { + return $this->androidNetworkType; + } + public function setIosNetworkType($iosNetworkType) + { + $this->iosNetworkType = $iosNetworkType; + } + public function getIosNetworkType() + { + return $this->iosNetworkType; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNetworkOperatorCode($networkOperatorCode) + { + $this->networkOperatorCode = $networkOperatorCode; + } + public function getNetworkOperatorCode() + { + return $this->networkOperatorCode; + } + public function setNetworkOperatorName($networkOperatorName) + { + $this->networkOperatorName = $networkOperatorName; + } + public function getNetworkOperatorName() + { + return $this->networkOperatorName; + } + public function setPeerSession($peerSession) + { + $this->peerSession = $peerSession; + } + public function getPeerSession() + { + return $this->peerSession; + } + public function setSocketsUsed($socketsUsed) + { + $this->socketsUsed = $socketsUsed; + } + public function getSocketsUsed() + { + return $this->socketsUsed; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Games/RoomLeaveRequest.php b/vendor/google/apiclient-services/src/Google/Service/Games/RoomLeaveRequest.php new file mode 100644 index 00000000..d41eec03 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Games/RoomLeaveRequest.php @@ -0,0 +1,49 @@ +kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setLeaveDiagnostics(Google_Service_Games_RoomLeaveDiagnostics $leaveDiagnostics) + { + $this->leaveDiagnostics = $leaveDiagnostics; + } + public function getLeaveDiagnostics() + { + return $this->leaveDiagnostics; + } + public function setReason($reason) + { + $this->reason = $reason; + } + public function getReason() + { + return $this->reason; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Games/RoomList.php b/vendor/google/apiclient-services/src/Google/Service/Games/RoomList.php new file mode 100644 index 00000000..2807aa3f --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Games/RoomList.php @@ -0,0 +1,50 @@ +items = $items; + } + public function getItems() + { + return $this->items; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Games/RoomModification.php b/vendor/google/apiclient-services/src/Google/Service/Games/RoomModification.php new file mode 100644 index 00000000..43ed77d8 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Games/RoomModification.php @@ -0,0 +1,48 @@ +kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setModifiedTimestampMillis($modifiedTimestampMillis) + { + $this->modifiedTimestampMillis = $modifiedTimestampMillis; + } + public function getModifiedTimestampMillis() + { + return $this->modifiedTimestampMillis; + } + public function setParticipantId($participantId) + { + $this->participantId = $participantId; + } + public function getParticipantId() + { + return $this->participantId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Games/RoomP2PStatus.php b/vendor/google/apiclient-services/src/Google/Service/Games/RoomP2PStatus.php new file mode 100644 index 00000000..96a16ac5 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Games/RoomP2PStatus.php @@ -0,0 +1,87 @@ + "error_reason", + ); + public $connectionSetupLatencyMillis; + public $error; + public $errorReason; + public $kind; + public $participantId; + public $status; + public $unreliableRoundtripLatencyMillis; + + public function setConnectionSetupLatencyMillis($connectionSetupLatencyMillis) + { + $this->connectionSetupLatencyMillis = $connectionSetupLatencyMillis; + } + public function getConnectionSetupLatencyMillis() + { + return $this->connectionSetupLatencyMillis; + } + public function setError($error) + { + $this->error = $error; + } + public function getError() + { + return $this->error; + } + public function setErrorReason($errorReason) + { + $this->errorReason = $errorReason; + } + public function getErrorReason() + { + return $this->errorReason; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setParticipantId($participantId) + { + $this->participantId = $participantId; + } + public function getParticipantId() + { + return $this->participantId; + } + public function setStatus($status) + { + $this->status = $status; + } + public function getStatus() + { + return $this->status; + } + public function setUnreliableRoundtripLatencyMillis($unreliableRoundtripLatencyMillis) + { + $this->unreliableRoundtripLatencyMillis = $unreliableRoundtripLatencyMillis; + } + public function getUnreliableRoundtripLatencyMillis() + { + return $this->unreliableRoundtripLatencyMillis; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Games/RoomP2PStatuses.php b/vendor/google/apiclient-services/src/Google/Service/Games/RoomP2PStatuses.php new file mode 100644 index 00000000..fab0dca0 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Games/RoomP2PStatuses.php @@ -0,0 +1,41 @@ +kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setUpdates($updates) + { + $this->updates = $updates; + } + public function getUpdates() + { + return $this->updates; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Games/RoomParticipant.php b/vendor/google/apiclient-services/src/Google/Service/Games/RoomParticipant.php new file mode 100644 index 00000000..1f9bcd6a --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Games/RoomParticipant.php @@ -0,0 +1,115 @@ +autoMatched = $autoMatched; + } + public function getAutoMatched() + { + return $this->autoMatched; + } + public function setAutoMatchedPlayer(Google_Service_Games_AnonymousPlayer $autoMatchedPlayer) + { + $this->autoMatchedPlayer = $autoMatchedPlayer; + } + public function getAutoMatchedPlayer() + { + return $this->autoMatchedPlayer; + } + public function setCapabilities($capabilities) + { + $this->capabilities = $capabilities; + } + public function getCapabilities() + { + return $this->capabilities; + } + public function setClientAddress(Google_Service_Games_RoomClientAddress $clientAddress) + { + $this->clientAddress = $clientAddress; + } + public function getClientAddress() + { + return $this->clientAddress; + } + public function setConnected($connected) + { + $this->connected = $connected; + } + public function getConnected() + { + return $this->connected; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setLeaveReason($leaveReason) + { + $this->leaveReason = $leaveReason; + } + public function getLeaveReason() + { + return $this->leaveReason; + } + public function setPlayer(Google_Service_Games_Player $player) + { + $this->player = $player; + } + public function getPlayer() + { + return $this->player; + } + public function setStatus($status) + { + $this->status = $status; + } + public function getStatus() + { + return $this->status; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Games/RoomStatus.php b/vendor/google/apiclient-services/src/Google/Service/Games/RoomStatus.php new file mode 100644 index 00000000..706221eb --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Games/RoomStatus.php @@ -0,0 +1,78 @@ +autoMatchingStatus = $autoMatchingStatus; + } + public function getAutoMatchingStatus() + { + return $this->autoMatchingStatus; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setParticipants($participants) + { + $this->participants = $participants; + } + public function getParticipants() + { + return $this->participants; + } + public function setRoomId($roomId) + { + $this->roomId = $roomId; + } + public function getRoomId() + { + return $this->roomId; + } + public function setStatus($status) + { + $this->status = $status; + } + public function getStatus() + { + return $this->status; + } + public function setStatusVersion($statusVersion) + { + $this->statusVersion = $statusVersion; + } + public function getStatusVersion() + { + return $this->statusVersion; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Games/ScoreSubmission.php b/vendor/google/apiclient-services/src/Google/Service/Games/ScoreSubmission.php new file mode 100644 index 00000000..03c09cf9 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Games/ScoreSubmission.php @@ -0,0 +1,66 @@ +kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setLeaderboardId($leaderboardId) + { + $this->leaderboardId = $leaderboardId; + } + public function getLeaderboardId() + { + return $this->leaderboardId; + } + public function setScore($score) + { + $this->score = $score; + } + public function getScore() + { + return $this->score; + } + public function setScoreTag($scoreTag) + { + $this->scoreTag = $scoreTag; + } + public function getScoreTag() + { + return $this->scoreTag; + } + public function setSignature($signature) + { + $this->signature = $signature; + } + public function getSignature() + { + return $this->signature; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Games/Snapshot.php b/vendor/google/apiclient-services/src/Google/Service/Games/Snapshot.php new file mode 100644 index 00000000..2ec6ed07 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Games/Snapshot.php @@ -0,0 +1,121 @@ +coverImage = $coverImage; + } + public function getCoverImage() + { + return $this->coverImage; + } + public function setDescription($description) + { + $this->description = $description; + } + public function getDescription() + { + return $this->description; + } + public function setDriveId($driveId) + { + $this->driveId = $driveId; + } + public function getDriveId() + { + return $this->driveId; + } + public function setDurationMillis($durationMillis) + { + $this->durationMillis = $durationMillis; + } + public function getDurationMillis() + { + return $this->durationMillis; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setLastModifiedMillis($lastModifiedMillis) + { + $this->lastModifiedMillis = $lastModifiedMillis; + } + public function getLastModifiedMillis() + { + return $this->lastModifiedMillis; + } + public function setProgressValue($progressValue) + { + $this->progressValue = $progressValue; + } + public function getProgressValue() + { + return $this->progressValue; + } + public function setTitle($title) + { + $this->title = $title; + } + public function getTitle() + { + return $this->title; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } + public function setUniqueName($uniqueName) + { + $this->uniqueName = $uniqueName; + } + public function getUniqueName() + { + return $this->uniqueName; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Games/SnapshotImage.php b/vendor/google/apiclient-services/src/Google/Service/Games/SnapshotImage.php new file mode 100644 index 00000000..2755e987 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Games/SnapshotImage.php @@ -0,0 +1,69 @@ + "mime_type", + ); + public $height; + public $kind; + public $mimeType; + public $url; + public $width; + + public function setHeight($height) + { + $this->height = $height; + } + public function getHeight() + { + return $this->height; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setMimeType($mimeType) + { + $this->mimeType = $mimeType; + } + public function getMimeType() + { + return $this->mimeType; + } + public function setUrl($url) + { + $this->url = $url; + } + public function getUrl() + { + return $this->url; + } + public function setWidth($width) + { + $this->width = $width; + } + public function getWidth() + { + return $this->width; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Games/SnapshotListResponse.php b/vendor/google/apiclient-services/src/Google/Service/Games/SnapshotListResponse.php new file mode 100644 index 00000000..a96009a4 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Games/SnapshotListResponse.php @@ -0,0 +1,50 @@ +items = $items; + } + public function getItems() + { + return $this->items; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Games/TurnBasedAutoMatchingCriteria.php b/vendor/google/apiclient-services/src/Google/Service/Games/TurnBasedAutoMatchingCriteria.php new file mode 100644 index 00000000..2895ae47 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Games/TurnBasedAutoMatchingCriteria.php @@ -0,0 +1,57 @@ +exclusiveBitmask = $exclusiveBitmask; + } + public function getExclusiveBitmask() + { + return $this->exclusiveBitmask; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setMaxAutoMatchingPlayers($maxAutoMatchingPlayers) + { + $this->maxAutoMatchingPlayers = $maxAutoMatchingPlayers; + } + public function getMaxAutoMatchingPlayers() + { + return $this->maxAutoMatchingPlayers; + } + public function setMinAutoMatchingPlayers($minAutoMatchingPlayers) + { + $this->minAutoMatchingPlayers = $minAutoMatchingPlayers; + } + public function getMinAutoMatchingPlayers() + { + return $this->minAutoMatchingPlayers; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Games/TurnBasedMatch.php b/vendor/google/apiclient-services/src/Google/Service/Games/TurnBasedMatch.php new file mode 100644 index 00000000..57b3588d --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Games/TurnBasedMatch.php @@ -0,0 +1,209 @@ +applicationId = $applicationId; + } + public function getApplicationId() + { + return $this->applicationId; + } + public function setAutoMatchingCriteria(Google_Service_Games_TurnBasedAutoMatchingCriteria $autoMatchingCriteria) + { + $this->autoMatchingCriteria = $autoMatchingCriteria; + } + public function getAutoMatchingCriteria() + { + return $this->autoMatchingCriteria; + } + public function setCreationDetails(Google_Service_Games_TurnBasedMatchModification $creationDetails) + { + $this->creationDetails = $creationDetails; + } + public function getCreationDetails() + { + return $this->creationDetails; + } + public function setData(Google_Service_Games_TurnBasedMatchData $data) + { + $this->data = $data; + } + public function getData() + { + return $this->data; + } + public function setDescription($description) + { + $this->description = $description; + } + public function getDescription() + { + return $this->description; + } + public function setInviterId($inviterId) + { + $this->inviterId = $inviterId; + } + public function getInviterId() + { + return $this->inviterId; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setLastUpdateDetails(Google_Service_Games_TurnBasedMatchModification $lastUpdateDetails) + { + $this->lastUpdateDetails = $lastUpdateDetails; + } + public function getLastUpdateDetails() + { + return $this->lastUpdateDetails; + } + public function setMatchId($matchId) + { + $this->matchId = $matchId; + } + public function getMatchId() + { + return $this->matchId; + } + public function setMatchNumber($matchNumber) + { + $this->matchNumber = $matchNumber; + } + public function getMatchNumber() + { + return $this->matchNumber; + } + public function setMatchVersion($matchVersion) + { + $this->matchVersion = $matchVersion; + } + public function getMatchVersion() + { + return $this->matchVersion; + } + public function setParticipants($participants) + { + $this->participants = $participants; + } + public function getParticipants() + { + return $this->participants; + } + public function setPendingParticipantId($pendingParticipantId) + { + $this->pendingParticipantId = $pendingParticipantId; + } + public function getPendingParticipantId() + { + return $this->pendingParticipantId; + } + public function setPreviousMatchData(Google_Service_Games_TurnBasedMatchData $previousMatchData) + { + $this->previousMatchData = $previousMatchData; + } + public function getPreviousMatchData() + { + return $this->previousMatchData; + } + public function setRematchId($rematchId) + { + $this->rematchId = $rematchId; + } + public function getRematchId() + { + return $this->rematchId; + } + public function setResults($results) + { + $this->results = $results; + } + public function getResults() + { + return $this->results; + } + public function setStatus($status) + { + $this->status = $status; + } + public function getStatus() + { + return $this->status; + } + public function setUserMatchStatus($userMatchStatus) + { + $this->userMatchStatus = $userMatchStatus; + } + public function getUserMatchStatus() + { + return $this->userMatchStatus; + } + public function setVariant($variant) + { + $this->variant = $variant; + } + public function getVariant() + { + return $this->variant; + } + public function setWithParticipantId($withParticipantId) + { + $this->withParticipantId = $withParticipantId; + } + public function getWithParticipantId() + { + return $this->withParticipantId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Games/TurnBasedMatchCreateRequest.php b/vendor/google/apiclient-services/src/Google/Service/Games/TurnBasedMatchCreateRequest.php new file mode 100644 index 00000000..78b2f573 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Games/TurnBasedMatchCreateRequest.php @@ -0,0 +1,68 @@ +autoMatchingCriteria = $autoMatchingCriteria; + } + public function getAutoMatchingCriteria() + { + return $this->autoMatchingCriteria; + } + public function setInvitedPlayerIds($invitedPlayerIds) + { + $this->invitedPlayerIds = $invitedPlayerIds; + } + public function getInvitedPlayerIds() + { + return $this->invitedPlayerIds; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setRequestId($requestId) + { + $this->requestId = $requestId; + } + public function getRequestId() + { + return $this->requestId; + } + public function setVariant($variant) + { + $this->variant = $variant; + } + public function getVariant() + { + return $this->variant; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Games/TurnBasedMatchData.php b/vendor/google/apiclient-services/src/Google/Service/Games/TurnBasedMatchData.php new file mode 100644 index 00000000..862fcdf3 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Games/TurnBasedMatchData.php @@ -0,0 +1,48 @@ +data = $data; + } + public function getData() + { + return $this->data; + } + public function setDataAvailable($dataAvailable) + { + $this->dataAvailable = $dataAvailable; + } + public function getDataAvailable() + { + return $this->dataAvailable; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Games/TurnBasedMatchDataRequest.php b/vendor/google/apiclient-services/src/Google/Service/Games/TurnBasedMatchDataRequest.php new file mode 100644 index 00000000..2d814062 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Games/TurnBasedMatchDataRequest.php @@ -0,0 +1,39 @@ +data = $data; + } + public function getData() + { + return $this->data; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Games/TurnBasedMatchList.php b/vendor/google/apiclient-services/src/Google/Service/Games/TurnBasedMatchList.php new file mode 100644 index 00000000..cbfa1dc1 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Games/TurnBasedMatchList.php @@ -0,0 +1,50 @@ +items = $items; + } + public function getItems() + { + return $this->items; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Games/TurnBasedMatchModification.php b/vendor/google/apiclient-services/src/Google/Service/Games/TurnBasedMatchModification.php new file mode 100644 index 00000000..91dcea69 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Games/TurnBasedMatchModification.php @@ -0,0 +1,48 @@ +kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setModifiedTimestampMillis($modifiedTimestampMillis) + { + $this->modifiedTimestampMillis = $modifiedTimestampMillis; + } + public function getModifiedTimestampMillis() + { + return $this->modifiedTimestampMillis; + } + public function setParticipantId($participantId) + { + $this->participantId = $participantId; + } + public function getParticipantId() + { + return $this->participantId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Games/TurnBasedMatchParticipant.php b/vendor/google/apiclient-services/src/Google/Service/Games/TurnBasedMatchParticipant.php new file mode 100644 index 00000000..4bd859aa --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Games/TurnBasedMatchParticipant.php @@ -0,0 +1,77 @@ +autoMatched = $autoMatched; + } + public function getAutoMatched() + { + return $this->autoMatched; + } + public function setAutoMatchedPlayer(Google_Service_Games_AnonymousPlayer $autoMatchedPlayer) + { + $this->autoMatchedPlayer = $autoMatchedPlayer; + } + public function getAutoMatchedPlayer() + { + return $this->autoMatchedPlayer; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setPlayer(Google_Service_Games_Player $player) + { + $this->player = $player; + } + public function getPlayer() + { + return $this->player; + } + public function setStatus($status) + { + $this->status = $status; + } + public function getStatus() + { + return $this->status; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Games/TurnBasedMatchRematch.php b/vendor/google/apiclient-services/src/Google/Service/Games/TurnBasedMatchRematch.php new file mode 100644 index 00000000..bae80ea7 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Games/TurnBasedMatchRematch.php @@ -0,0 +1,50 @@ +kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setPreviousMatch(Google_Service_Games_TurnBasedMatch $previousMatch) + { + $this->previousMatch = $previousMatch; + } + public function getPreviousMatch() + { + return $this->previousMatch; + } + public function setRematch(Google_Service_Games_TurnBasedMatch $rematch) + { + $this->rematch = $rematch; + } + public function getRematch() + { + return $this->rematch; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Games/TurnBasedMatchResults.php b/vendor/google/apiclient-services/src/Google/Service/Games/TurnBasedMatchResults.php new file mode 100644 index 00000000..bc497bdd --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Games/TurnBasedMatchResults.php @@ -0,0 +1,60 @@ +data = $data; + } + public function getData() + { + return $this->data; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setMatchVersion($matchVersion) + { + $this->matchVersion = $matchVersion; + } + public function getMatchVersion() + { + return $this->matchVersion; + } + public function setResults($results) + { + $this->results = $results; + } + public function getResults() + { + return $this->results; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Games/TurnBasedMatchSync.php b/vendor/google/apiclient-services/src/Google/Service/Games/TurnBasedMatchSync.php new file mode 100644 index 00000000..466e036a --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Games/TurnBasedMatchSync.php @@ -0,0 +1,59 @@ +items = $items; + } + public function getItems() + { + return $this->items; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setMoreAvailable($moreAvailable) + { + $this->moreAvailable = $moreAvailable; + } + public function getMoreAvailable() + { + return $this->moreAvailable; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Games/TurnBasedMatchTurn.php b/vendor/google/apiclient-services/src/Google/Service/Games/TurnBasedMatchTurn.php new file mode 100644 index 00000000..fcc0f31a --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Games/TurnBasedMatchTurn.php @@ -0,0 +1,69 @@ +data = $data; + } + public function getData() + { + return $this->data; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setMatchVersion($matchVersion) + { + $this->matchVersion = $matchVersion; + } + public function getMatchVersion() + { + return $this->matchVersion; + } + public function setPendingParticipantId($pendingParticipantId) + { + $this->pendingParticipantId = $pendingParticipantId; + } + public function getPendingParticipantId() + { + return $this->pendingParticipantId; + } + public function setResults($results) + { + $this->results = $results; + } + public function getResults() + { + return $this->results; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/GamesConfiguration.php b/vendor/google/apiclient-services/src/Google/Service/GamesConfiguration.php new file mode 100644 index 00000000..178aac3a --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/GamesConfiguration.php @@ -0,0 +1,236 @@ + + * The Publishing API for Google Play Game Services.

+ * + *

+ * For more information about this service, see the API + * Documentation + *

+ * + * @author Google, Inc. + */ +class Google_Service_GamesConfiguration extends Google_Service +{ + /** View and manage your Google Play Developer account. */ + const ANDROIDPUBLISHER = + "https://www.googleapis.com/auth/androidpublisher"; + + public $achievementConfigurations; + public $imageConfigurations; + public $leaderboardConfigurations; + + /** + * Constructs the internal representation of the GamesConfiguration service. + * + * @param Google_Client $client + */ + public function __construct(Google_Client $client) + { + parent::__construct($client); + $this->rootUrl = 'https://www.googleapis.com/'; + $this->servicePath = 'games/v1configuration/'; + $this->version = 'v1configuration'; + $this->serviceName = 'gamesConfiguration'; + + $this->achievementConfigurations = new Google_Service_GamesConfiguration_Resource_AchievementConfigurations( + $this, + $this->serviceName, + 'achievementConfigurations', + array( + 'methods' => array( + 'delete' => array( + 'path' => 'achievements/{achievementId}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'achievementId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'get' => array( + 'path' => 'achievements/{achievementId}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'achievementId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'insert' => array( + 'path' => 'applications/{applicationId}/achievements', + 'httpMethod' => 'POST', + 'parameters' => array( + 'applicationId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'applications/{applicationId}/achievements', + 'httpMethod' => 'GET', + 'parameters' => array( + 'applicationId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'patch' => array( + 'path' => 'achievements/{achievementId}', + 'httpMethod' => 'PATCH', + 'parameters' => array( + 'achievementId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'update' => array( + 'path' => 'achievements/{achievementId}', + 'httpMethod' => 'PUT', + 'parameters' => array( + 'achievementId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->imageConfigurations = new Google_Service_GamesConfiguration_Resource_ImageConfigurations( + $this, + $this->serviceName, + 'imageConfigurations', + array( + 'methods' => array( + 'upload' => array( + 'path' => 'images/{resourceId}/imageType/{imageType}', + 'httpMethod' => 'POST', + 'parameters' => array( + 'resourceId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'imageType' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->leaderboardConfigurations = new Google_Service_GamesConfiguration_Resource_LeaderboardConfigurations( + $this, + $this->serviceName, + 'leaderboardConfigurations', + array( + 'methods' => array( + 'delete' => array( + 'path' => 'leaderboards/{leaderboardId}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'leaderboardId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'get' => array( + 'path' => 'leaderboards/{leaderboardId}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'leaderboardId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'insert' => array( + 'path' => 'applications/{applicationId}/leaderboards', + 'httpMethod' => 'POST', + 'parameters' => array( + 'applicationId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'applications/{applicationId}/leaderboards', + 'httpMethod' => 'GET', + 'parameters' => array( + 'applicationId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'patch' => array( + 'path' => 'leaderboards/{leaderboardId}', + 'httpMethod' => 'PATCH', + 'parameters' => array( + 'leaderboardId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'update' => array( + 'path' => 'leaderboards/{leaderboardId}', + 'httpMethod' => 'PUT', + 'parameters' => array( + 'leaderboardId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/GamesConfiguration/AchievementConfiguration.php b/vendor/google/apiclient-services/src/Google/Service/GamesConfiguration/AchievementConfiguration.php new file mode 100644 index 00000000..4c5fb6b7 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/GamesConfiguration/AchievementConfiguration.php @@ -0,0 +1,95 @@ +achievementType = $achievementType; + } + public function getAchievementType() + { + return $this->achievementType; + } + public function setDraft(Google_Service_GamesConfiguration_AchievementConfigurationDetail $draft) + { + $this->draft = $draft; + } + public function getDraft() + { + return $this->draft; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setInitialState($initialState) + { + $this->initialState = $initialState; + } + public function getInitialState() + { + return $this->initialState; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setPublished(Google_Service_GamesConfiguration_AchievementConfigurationDetail $published) + { + $this->published = $published; + } + public function getPublished() + { + return $this->published; + } + public function setStepsToUnlock($stepsToUnlock) + { + $this->stepsToUnlock = $stepsToUnlock; + } + public function getStepsToUnlock() + { + return $this->stepsToUnlock; + } + public function setToken($token) + { + $this->token = $token; + } + public function getToken() + { + return $this->token; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/GamesConfiguration/AchievementConfigurationDetail.php b/vendor/google/apiclient-services/src/Google/Service/GamesConfiguration/AchievementConfigurationDetail.php new file mode 100644 index 00000000..ef8e09ae --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/GamesConfiguration/AchievementConfigurationDetail.php @@ -0,0 +1,77 @@ +description = $description; + } + public function getDescription() + { + return $this->description; + } + public function setIconUrl($iconUrl) + { + $this->iconUrl = $iconUrl; + } + public function getIconUrl() + { + return $this->iconUrl; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setName(Google_Service_GamesConfiguration_LocalizedStringBundle $name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setPointValue($pointValue) + { + $this->pointValue = $pointValue; + } + public function getPointValue() + { + return $this->pointValue; + } + public function setSortRank($sortRank) + { + $this->sortRank = $sortRank; + } + public function getSortRank() + { + return $this->sortRank; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/GamesConfiguration/AchievementConfigurationListResponse.php b/vendor/google/apiclient-services/src/Google/Service/GamesConfiguration/AchievementConfigurationListResponse.php new file mode 100644 index 00000000..75c92b97 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/GamesConfiguration/AchievementConfigurationListResponse.php @@ -0,0 +1,50 @@ +items = $items; + } + public function getItems() + { + return $this->items; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/GamesConfiguration/GamesNumberAffixConfiguration.php b/vendor/google/apiclient-services/src/Google/Service/GamesConfiguration/GamesNumberAffixConfiguration.php new file mode 100644 index 00000000..8612a82f --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/GamesConfiguration/GamesNumberAffixConfiguration.php @@ -0,0 +1,81 @@ +few = $few; + } + public function getFew() + { + return $this->few; + } + public function setMany(Google_Service_GamesConfiguration_LocalizedStringBundle $many) + { + $this->many = $many; + } + public function getMany() + { + return $this->many; + } + public function setOne(Google_Service_GamesConfiguration_LocalizedStringBundle $one) + { + $this->one = $one; + } + public function getOne() + { + return $this->one; + } + public function setOther(Google_Service_GamesConfiguration_LocalizedStringBundle $other) + { + $this->other = $other; + } + public function getOther() + { + return $this->other; + } + public function setTwo(Google_Service_GamesConfiguration_LocalizedStringBundle $two) + { + $this->two = $two; + } + public function getTwo() + { + return $this->two; + } + public function setZero(Google_Service_GamesConfiguration_LocalizedStringBundle $zero) + { + $this->zero = $zero; + } + public function getZero() + { + return $this->zero; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/GamesConfiguration/GamesNumberFormatConfiguration.php b/vendor/google/apiclient-services/src/Google/Service/GamesConfiguration/GamesNumberFormatConfiguration.php new file mode 100644 index 00000000..fc047dec --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/GamesConfiguration/GamesNumberFormatConfiguration.php @@ -0,0 +1,58 @@ +currencyCode = $currencyCode; + } + public function getCurrencyCode() + { + return $this->currencyCode; + } + public function setNumDecimalPlaces($numDecimalPlaces) + { + $this->numDecimalPlaces = $numDecimalPlaces; + } + public function getNumDecimalPlaces() + { + return $this->numDecimalPlaces; + } + public function setNumberFormatType($numberFormatType) + { + $this->numberFormatType = $numberFormatType; + } + public function getNumberFormatType() + { + return $this->numberFormatType; + } + public function setSuffix(Google_Service_GamesConfiguration_GamesNumberAffixConfiguration $suffix) + { + $this->suffix = $suffix; + } + public function getSuffix() + { + return $this->suffix; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/GamesConfiguration/ImageConfiguration.php b/vendor/google/apiclient-services/src/Google/Service/GamesConfiguration/ImageConfiguration.php new file mode 100644 index 00000000..f2c7a72b --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/GamesConfiguration/ImageConfiguration.php @@ -0,0 +1,57 @@ +imageType = $imageType; + } + public function getImageType() + { + return $this->imageType; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setResourceId($resourceId) + { + $this->resourceId = $resourceId; + } + public function getResourceId() + { + return $this->resourceId; + } + public function setUrl($url) + { + $this->url = $url; + } + public function getUrl() + { + return $this->url; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/GamesConfiguration/LeaderboardConfiguration.php b/vendor/google/apiclient-services/src/Google/Service/GamesConfiguration/LeaderboardConfiguration.php new file mode 100644 index 00000000..92a465d4 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/GamesConfiguration/LeaderboardConfiguration.php @@ -0,0 +1,95 @@ +draft = $draft; + } + public function getDraft() + { + return $this->draft; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setPublished(Google_Service_GamesConfiguration_LeaderboardConfigurationDetail $published) + { + $this->published = $published; + } + public function getPublished() + { + return $this->published; + } + public function setScoreMax($scoreMax) + { + $this->scoreMax = $scoreMax; + } + public function getScoreMax() + { + return $this->scoreMax; + } + public function setScoreMin($scoreMin) + { + $this->scoreMin = $scoreMin; + } + public function getScoreMin() + { + return $this->scoreMin; + } + public function setScoreOrder($scoreOrder) + { + $this->scoreOrder = $scoreOrder; + } + public function getScoreOrder() + { + return $this->scoreOrder; + } + public function setToken($token) + { + $this->token = $token; + } + public function getToken() + { + return $this->token; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/GamesConfiguration/LeaderboardConfigurationDetail.php b/vendor/google/apiclient-services/src/Google/Service/GamesConfiguration/LeaderboardConfigurationDetail.php new file mode 100644 index 00000000..461aa34c --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/GamesConfiguration/LeaderboardConfigurationDetail.php @@ -0,0 +1,68 @@ +iconUrl = $iconUrl; + } + public function getIconUrl() + { + return $this->iconUrl; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setName(Google_Service_GamesConfiguration_LocalizedStringBundle $name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setScoreFormat(Google_Service_GamesConfiguration_GamesNumberFormatConfiguration $scoreFormat) + { + $this->scoreFormat = $scoreFormat; + } + public function getScoreFormat() + { + return $this->scoreFormat; + } + public function setSortRank($sortRank) + { + $this->sortRank = $sortRank; + } + public function getSortRank() + { + return $this->sortRank; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/GamesConfiguration/LeaderboardConfigurationListResponse.php b/vendor/google/apiclient-services/src/Google/Service/GamesConfiguration/LeaderboardConfigurationListResponse.php new file mode 100644 index 00000000..80f84741 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/GamesConfiguration/LeaderboardConfigurationListResponse.php @@ -0,0 +1,50 @@ +items = $items; + } + public function getItems() + { + return $this->items; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/GamesConfiguration/LocalizedString.php b/vendor/google/apiclient-services/src/Google/Service/GamesConfiguration/LocalizedString.php new file mode 100644 index 00000000..dae44eda --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/GamesConfiguration/LocalizedString.php @@ -0,0 +1,48 @@ +kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setLocale($locale) + { + $this->locale = $locale; + } + public function getLocale() + { + return $this->locale; + } + public function setValue($value) + { + $this->value = $value; + } + public function getValue() + { + return $this->value; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/GamesConfiguration/LocalizedStringBundle.php b/vendor/google/apiclient-services/src/Google/Service/GamesConfiguration/LocalizedStringBundle.php new file mode 100644 index 00000000..25f5999e --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/GamesConfiguration/LocalizedStringBundle.php @@ -0,0 +1,41 @@ +kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setTranslations($translations) + { + $this->translations = $translations; + } + public function getTranslations() + { + return $this->translations; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/GamesConfiguration/Resource/AchievementConfigurations.php b/vendor/google/apiclient-services/src/Google/Service/GamesConfiguration/Resource/AchievementConfigurations.php new file mode 100644 index 00000000..636dede6 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/GamesConfiguration/Resource/AchievementConfigurations.php @@ -0,0 +1,121 @@ + + * $gamesConfigurationService = new Google_Service_GamesConfiguration(...); + * $achievementConfigurations = $gamesConfigurationService->achievementConfigurations; + * + */ +class Google_Service_GamesConfiguration_Resource_AchievementConfigurations extends Google_Service_Resource +{ + /** + * Delete the achievement configuration with the given ID. + * (achievementConfigurations.delete) + * + * @param string $achievementId The ID of the achievement used by this method. + * @param array $optParams Optional parameters. + */ + public function delete($achievementId, $optParams = array()) + { + $params = array('achievementId' => $achievementId); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params)); + } + /** + * Retrieves the metadata of the achievement configuration with the given ID. + * (achievementConfigurations.get) + * + * @param string $achievementId The ID of the achievement used by this method. + * @param array $optParams Optional parameters. + * @return Google_Service_GamesConfiguration_AchievementConfiguration + */ + public function get($achievementId, $optParams = array()) + { + $params = array('achievementId' => $achievementId); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_GamesConfiguration_AchievementConfiguration"); + } + /** + * Insert a new achievement configuration in this application. + * (achievementConfigurations.insert) + * + * @param string $applicationId The application ID from the Google Play + * developer console. + * @param Google_Service_GamesConfiguration_AchievementConfiguration $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_GamesConfiguration_AchievementConfiguration + */ + public function insert($applicationId, Google_Service_GamesConfiguration_AchievementConfiguration $postBody, $optParams = array()) + { + $params = array('applicationId' => $applicationId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('insert', array($params), "Google_Service_GamesConfiguration_AchievementConfiguration"); + } + /** + * Returns a list of the achievement configurations in this application. + * (achievementConfigurations.listAchievementConfigurations) + * + * @param string $applicationId The application ID from the Google Play + * developer console. + * @param array $optParams Optional parameters. + * + * @opt_param int maxResults The maximum number of resource configurations to + * return in the response, used for paging. For any response, the actual number + * of resources returned may be less than the specified maxResults. + * @opt_param string pageToken The token returned by the previous request. + * @return Google_Service_GamesConfiguration_AchievementConfigurationListResponse + */ + public function listAchievementConfigurations($applicationId, $optParams = array()) + { + $params = array('applicationId' => $applicationId); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_GamesConfiguration_AchievementConfigurationListResponse"); + } + /** + * Update the metadata of the achievement configuration with the given ID. This + * method supports patch semantics. (achievementConfigurations.patch) + * + * @param string $achievementId The ID of the achievement used by this method. + * @param Google_Service_GamesConfiguration_AchievementConfiguration $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_GamesConfiguration_AchievementConfiguration + */ + public function patch($achievementId, Google_Service_GamesConfiguration_AchievementConfiguration $postBody, $optParams = array()) + { + $params = array('achievementId' => $achievementId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('patch', array($params), "Google_Service_GamesConfiguration_AchievementConfiguration"); + } + /** + * Update the metadata of the achievement configuration with the given ID. + * (achievementConfigurations.update) + * + * @param string $achievementId The ID of the achievement used by this method. + * @param Google_Service_GamesConfiguration_AchievementConfiguration $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_GamesConfiguration_AchievementConfiguration + */ + public function update($achievementId, Google_Service_GamesConfiguration_AchievementConfiguration $postBody, $optParams = array()) + { + $params = array('achievementId' => $achievementId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('update', array($params), "Google_Service_GamesConfiguration_AchievementConfiguration"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/GamesConfiguration/Resource/ImageConfigurations.php b/vendor/google/apiclient-services/src/Google/Service/GamesConfiguration/Resource/ImageConfigurations.php new file mode 100644 index 00000000..832febab --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/GamesConfiguration/Resource/ImageConfigurations.php @@ -0,0 +1,43 @@ + + * $gamesConfigurationService = new Google_Service_GamesConfiguration(...); + * $imageConfigurations = $gamesConfigurationService->imageConfigurations; + * + */ +class Google_Service_GamesConfiguration_Resource_ImageConfigurations extends Google_Service_Resource +{ + /** + * Uploads an image for a resource with the given ID and image type. + * (imageConfigurations.upload) + * + * @param string $resourceId The ID of the resource used by this method. + * @param string $imageType Selects which image in a resource for this method. + * @param array $optParams Optional parameters. + * @return Google_Service_GamesConfiguration_ImageConfiguration + */ + public function upload($resourceId, $imageType, $optParams = array()) + { + $params = array('resourceId' => $resourceId, 'imageType' => $imageType); + $params = array_merge($params, $optParams); + return $this->call('upload', array($params), "Google_Service_GamesConfiguration_ImageConfiguration"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/GamesConfiguration/Resource/LeaderboardConfigurations.php b/vendor/google/apiclient-services/src/Google/Service/GamesConfiguration/Resource/LeaderboardConfigurations.php new file mode 100644 index 00000000..469f653e --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/GamesConfiguration/Resource/LeaderboardConfigurations.php @@ -0,0 +1,121 @@ + + * $gamesConfigurationService = new Google_Service_GamesConfiguration(...); + * $leaderboardConfigurations = $gamesConfigurationService->leaderboardConfigurations; + * + */ +class Google_Service_GamesConfiguration_Resource_LeaderboardConfigurations extends Google_Service_Resource +{ + /** + * Delete the leaderboard configuration with the given ID. + * (leaderboardConfigurations.delete) + * + * @param string $leaderboardId The ID of the leaderboard. + * @param array $optParams Optional parameters. + */ + public function delete($leaderboardId, $optParams = array()) + { + $params = array('leaderboardId' => $leaderboardId); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params)); + } + /** + * Retrieves the metadata of the leaderboard configuration with the given ID. + * (leaderboardConfigurations.get) + * + * @param string $leaderboardId The ID of the leaderboard. + * @param array $optParams Optional parameters. + * @return Google_Service_GamesConfiguration_LeaderboardConfiguration + */ + public function get($leaderboardId, $optParams = array()) + { + $params = array('leaderboardId' => $leaderboardId); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_GamesConfiguration_LeaderboardConfiguration"); + } + /** + * Insert a new leaderboard configuration in this application. + * (leaderboardConfigurations.insert) + * + * @param string $applicationId The application ID from the Google Play + * developer console. + * @param Google_Service_GamesConfiguration_LeaderboardConfiguration $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_GamesConfiguration_LeaderboardConfiguration + */ + public function insert($applicationId, Google_Service_GamesConfiguration_LeaderboardConfiguration $postBody, $optParams = array()) + { + $params = array('applicationId' => $applicationId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('insert', array($params), "Google_Service_GamesConfiguration_LeaderboardConfiguration"); + } + /** + * Returns a list of the leaderboard configurations in this application. + * (leaderboardConfigurations.listLeaderboardConfigurations) + * + * @param string $applicationId The application ID from the Google Play + * developer console. + * @param array $optParams Optional parameters. + * + * @opt_param int maxResults The maximum number of resource configurations to + * return in the response, used for paging. For any response, the actual number + * of resources returned may be less than the specified maxResults. + * @opt_param string pageToken The token returned by the previous request. + * @return Google_Service_GamesConfiguration_LeaderboardConfigurationListResponse + */ + public function listLeaderboardConfigurations($applicationId, $optParams = array()) + { + $params = array('applicationId' => $applicationId); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_GamesConfiguration_LeaderboardConfigurationListResponse"); + } + /** + * Update the metadata of the leaderboard configuration with the given ID. This + * method supports patch semantics. (leaderboardConfigurations.patch) + * + * @param string $leaderboardId The ID of the leaderboard. + * @param Google_Service_GamesConfiguration_LeaderboardConfiguration $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_GamesConfiguration_LeaderboardConfiguration + */ + public function patch($leaderboardId, Google_Service_GamesConfiguration_LeaderboardConfiguration $postBody, $optParams = array()) + { + $params = array('leaderboardId' => $leaderboardId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('patch', array($params), "Google_Service_GamesConfiguration_LeaderboardConfiguration"); + } + /** + * Update the metadata of the leaderboard configuration with the given ID. + * (leaderboardConfigurations.update) + * + * @param string $leaderboardId The ID of the leaderboard. + * @param Google_Service_GamesConfiguration_LeaderboardConfiguration $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_GamesConfiguration_LeaderboardConfiguration + */ + public function update($leaderboardId, Google_Service_GamesConfiguration_LeaderboardConfiguration $postBody, $optParams = array()) + { + $params = array('leaderboardId' => $leaderboardId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('update', array($params), "Google_Service_GamesConfiguration_LeaderboardConfiguration"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/GamesManagement.php b/vendor/google/apiclient-services/src/Google/Service/GamesManagement.php new file mode 100644 index 00000000..404fe207 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/GamesManagement.php @@ -0,0 +1,335 @@ + + * The Management API for Google Play Game Services.

+ * + *

+ * For more information about this service, see the API + * Documentation + *

+ * + * @author Google, Inc. + */ +class Google_Service_GamesManagement extends Google_Service +{ + /** Share your Google+ profile information and view and manage your game activity. */ + const GAMES = + "https://www.googleapis.com/auth/games"; + /** Know the list of people in your circles, your age range, and language. */ + const PLUS_LOGIN = + "https://www.googleapis.com/auth/plus.login"; + + public $achievements; + public $applications; + public $events; + public $players; + public $quests; + public $rooms; + public $scores; + public $turnBasedMatches; + + /** + * Constructs the internal representation of the GamesManagement service. + * + * @param Google_Client $client + */ + public function __construct(Google_Client $client) + { + parent::__construct($client); + $this->rootUrl = 'https://www.googleapis.com/'; + $this->servicePath = 'games/v1management/'; + $this->version = 'v1management'; + $this->serviceName = 'gamesManagement'; + + $this->achievements = new Google_Service_GamesManagement_Resource_Achievements( + $this, + $this->serviceName, + 'achievements', + array( + 'methods' => array( + 'reset' => array( + 'path' => 'achievements/{achievementId}/reset', + 'httpMethod' => 'POST', + 'parameters' => array( + 'achievementId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'resetAll' => array( + 'path' => 'achievements/reset', + 'httpMethod' => 'POST', + 'parameters' => array(), + ),'resetAllForAllPlayers' => array( + 'path' => 'achievements/resetAllForAllPlayers', + 'httpMethod' => 'POST', + 'parameters' => array(), + ),'resetForAllPlayers' => array( + 'path' => 'achievements/{achievementId}/resetForAllPlayers', + 'httpMethod' => 'POST', + 'parameters' => array( + 'achievementId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'resetMultipleForAllPlayers' => array( + 'path' => 'achievements/resetMultipleForAllPlayers', + 'httpMethod' => 'POST', + 'parameters' => array(), + ), + ) + ) + ); + $this->applications = new Google_Service_GamesManagement_Resource_Applications( + $this, + $this->serviceName, + 'applications', + array( + 'methods' => array( + 'listHidden' => array( + 'path' => 'applications/{applicationId}/players/hidden', + 'httpMethod' => 'GET', + 'parameters' => array( + 'applicationId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + $this->events = new Google_Service_GamesManagement_Resource_Events( + $this, + $this->serviceName, + 'events', + array( + 'methods' => array( + 'reset' => array( + 'path' => 'events/{eventId}/reset', + 'httpMethod' => 'POST', + 'parameters' => array( + 'eventId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'resetAll' => array( + 'path' => 'events/reset', + 'httpMethod' => 'POST', + 'parameters' => array(), + ),'resetAllForAllPlayers' => array( + 'path' => 'events/resetAllForAllPlayers', + 'httpMethod' => 'POST', + 'parameters' => array(), + ),'resetForAllPlayers' => array( + 'path' => 'events/{eventId}/resetForAllPlayers', + 'httpMethod' => 'POST', + 'parameters' => array( + 'eventId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'resetMultipleForAllPlayers' => array( + 'path' => 'events/resetMultipleForAllPlayers', + 'httpMethod' => 'POST', + 'parameters' => array(), + ), + ) + ) + ); + $this->players = new Google_Service_GamesManagement_Resource_Players( + $this, + $this->serviceName, + 'players', + array( + 'methods' => array( + 'hide' => array( + 'path' => 'applications/{applicationId}/players/hidden/{playerId}', + 'httpMethod' => 'POST', + 'parameters' => array( + 'applicationId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'playerId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'unhide' => array( + 'path' => 'applications/{applicationId}/players/hidden/{playerId}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'applicationId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'playerId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->quests = new Google_Service_GamesManagement_Resource_Quests( + $this, + $this->serviceName, + 'quests', + array( + 'methods' => array( + 'reset' => array( + 'path' => 'quests/{questId}/reset', + 'httpMethod' => 'POST', + 'parameters' => array( + 'questId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'resetAll' => array( + 'path' => 'quests/reset', + 'httpMethod' => 'POST', + 'parameters' => array(), + ),'resetAllForAllPlayers' => array( + 'path' => 'quests/resetAllForAllPlayers', + 'httpMethod' => 'POST', + 'parameters' => array(), + ),'resetForAllPlayers' => array( + 'path' => 'quests/{questId}/resetForAllPlayers', + 'httpMethod' => 'POST', + 'parameters' => array( + 'questId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'resetMultipleForAllPlayers' => array( + 'path' => 'quests/resetMultipleForAllPlayers', + 'httpMethod' => 'POST', + 'parameters' => array(), + ), + ) + ) + ); + $this->rooms = new Google_Service_GamesManagement_Resource_Rooms( + $this, + $this->serviceName, + 'rooms', + array( + 'methods' => array( + 'reset' => array( + 'path' => 'rooms/reset', + 'httpMethod' => 'POST', + 'parameters' => array(), + ),'resetForAllPlayers' => array( + 'path' => 'rooms/resetForAllPlayers', + 'httpMethod' => 'POST', + 'parameters' => array(), + ), + ) + ) + ); + $this->scores = new Google_Service_GamesManagement_Resource_Scores( + $this, + $this->serviceName, + 'scores', + array( + 'methods' => array( + 'reset' => array( + 'path' => 'leaderboards/{leaderboardId}/scores/reset', + 'httpMethod' => 'POST', + 'parameters' => array( + 'leaderboardId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'resetAll' => array( + 'path' => 'scores/reset', + 'httpMethod' => 'POST', + 'parameters' => array(), + ),'resetAllForAllPlayers' => array( + 'path' => 'scores/resetAllForAllPlayers', + 'httpMethod' => 'POST', + 'parameters' => array(), + ),'resetForAllPlayers' => array( + 'path' => 'leaderboards/{leaderboardId}/scores/resetForAllPlayers', + 'httpMethod' => 'POST', + 'parameters' => array( + 'leaderboardId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'resetMultipleForAllPlayers' => array( + 'path' => 'scores/resetMultipleForAllPlayers', + 'httpMethod' => 'POST', + 'parameters' => array(), + ), + ) + ) + ); + $this->turnBasedMatches = new Google_Service_GamesManagement_Resource_TurnBasedMatches( + $this, + $this->serviceName, + 'turnBasedMatches', + array( + 'methods' => array( + 'reset' => array( + 'path' => 'turnbasedmatches/reset', + 'httpMethod' => 'POST', + 'parameters' => array(), + ),'resetForAllPlayers' => array( + 'path' => 'turnbasedmatches/resetForAllPlayers', + 'httpMethod' => 'POST', + 'parameters' => array(), + ), + ) + ) + ); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/GamesManagement/AchievementResetAllResponse.php b/vendor/google/apiclient-services/src/Google/Service/GamesManagement/AchievementResetAllResponse.php new file mode 100644 index 00000000..d40fa941 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/GamesManagement/AchievementResetAllResponse.php @@ -0,0 +1,41 @@ +kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setResults($results) + { + $this->results = $results; + } + public function getResults() + { + return $this->results; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/GamesManagement/AchievementResetMultipleForAllRequest.php b/vendor/google/apiclient-services/src/Google/Service/GamesManagement/AchievementResetMultipleForAllRequest.php new file mode 100644 index 00000000..a34e9d5d --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/GamesManagement/AchievementResetMultipleForAllRequest.php @@ -0,0 +1,43 @@ + "achievement_ids", + ); + public $achievementIds; + public $kind; + + public function setAchievementIds($achievementIds) + { + $this->achievementIds = $achievementIds; + } + public function getAchievementIds() + { + return $this->achievementIds; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/GamesManagement/AchievementResetResponse.php b/vendor/google/apiclient-services/src/Google/Service/GamesManagement/AchievementResetResponse.php new file mode 100644 index 00000000..492d45bf --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/GamesManagement/AchievementResetResponse.php @@ -0,0 +1,57 @@ +currentState = $currentState; + } + public function getCurrentState() + { + return $this->currentState; + } + public function setDefinitionId($definitionId) + { + $this->definitionId = $definitionId; + } + public function getDefinitionId() + { + return $this->definitionId; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setUpdateOccurred($updateOccurred) + { + $this->updateOccurred = $updateOccurred; + } + public function getUpdateOccurred() + { + return $this->updateOccurred; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/GamesManagement/EventsResetMultipleForAllRequest.php b/vendor/google/apiclient-services/src/Google/Service/GamesManagement/EventsResetMultipleForAllRequest.php new file mode 100644 index 00000000..77f7b8c9 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/GamesManagement/EventsResetMultipleForAllRequest.php @@ -0,0 +1,43 @@ + "event_ids", + ); + public $eventIds; + public $kind; + + public function setEventIds($eventIds) + { + $this->eventIds = $eventIds; + } + public function getEventIds() + { + return $this->eventIds; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/GamesManagement/GamesPlayedResource.php b/vendor/google/apiclient-services/src/Google/Service/GamesManagement/GamesPlayedResource.php new file mode 100644 index 00000000..f2fadb36 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/GamesManagement/GamesPlayedResource.php @@ -0,0 +1,39 @@ +autoMatched = $autoMatched; + } + public function getAutoMatched() + { + return $this->autoMatched; + } + public function setTimeMillis($timeMillis) + { + $this->timeMillis = $timeMillis; + } + public function getTimeMillis() + { + return $this->timeMillis; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/GamesManagement/GamesPlayerExperienceInfoResource.php b/vendor/google/apiclient-services/src/Google/Service/GamesManagement/GamesPlayerExperienceInfoResource.php new file mode 100644 index 00000000..1f5f367f --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/GamesManagement/GamesPlayerExperienceInfoResource.php @@ -0,0 +1,59 @@ +currentExperiencePoints = $currentExperiencePoints; + } + public function getCurrentExperiencePoints() + { + return $this->currentExperiencePoints; + } + public function setCurrentLevel(Google_Service_GamesManagement_GamesPlayerLevelResource $currentLevel) + { + $this->currentLevel = $currentLevel; + } + public function getCurrentLevel() + { + return $this->currentLevel; + } + public function setLastLevelUpTimestampMillis($lastLevelUpTimestampMillis) + { + $this->lastLevelUpTimestampMillis = $lastLevelUpTimestampMillis; + } + public function getLastLevelUpTimestampMillis() + { + return $this->lastLevelUpTimestampMillis; + } + public function setNextLevel(Google_Service_GamesManagement_GamesPlayerLevelResource $nextLevel) + { + $this->nextLevel = $nextLevel; + } + public function getNextLevel() + { + return $this->nextLevel; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/GamesManagement/GamesPlayerLevelResource.php b/vendor/google/apiclient-services/src/Google/Service/GamesManagement/GamesPlayerLevelResource.php new file mode 100644 index 00000000..418fffe1 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/GamesManagement/GamesPlayerLevelResource.php @@ -0,0 +1,48 @@ +level = $level; + } + public function getLevel() + { + return $this->level; + } + public function setMaxExperiencePoints($maxExperiencePoints) + { + $this->maxExperiencePoints = $maxExperiencePoints; + } + public function getMaxExperiencePoints() + { + return $this->maxExperiencePoints; + } + public function setMinExperiencePoints($minExperiencePoints) + { + $this->minExperiencePoints = $minExperiencePoints; + } + public function getMinExperiencePoints() + { + return $this->minExperiencePoints; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/GamesManagement/HiddenPlayer.php b/vendor/google/apiclient-services/src/Google/Service/GamesManagement/HiddenPlayer.php new file mode 100644 index 00000000..aeb11414 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/GamesManagement/HiddenPlayer.php @@ -0,0 +1,49 @@ +hiddenTimeMillis = $hiddenTimeMillis; + } + public function getHiddenTimeMillis() + { + return $this->hiddenTimeMillis; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setPlayer(Google_Service_GamesManagement_Player $player) + { + $this->player = $player; + } + public function getPlayer() + { + return $this->player; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/GamesManagement/HiddenPlayerList.php b/vendor/google/apiclient-services/src/Google/Service/GamesManagement/HiddenPlayerList.php new file mode 100644 index 00000000..f765dee9 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/GamesManagement/HiddenPlayerList.php @@ -0,0 +1,50 @@ +items = $items; + } + public function getItems() + { + return $this->items; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/GamesManagement/Player.php b/vendor/google/apiclient-services/src/Google/Service/GamesManagement/Player.php new file mode 100644 index 00000000..d05586b3 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/GamesManagement/Player.php @@ -0,0 +1,133 @@ +avatarImageUrl = $avatarImageUrl; + } + public function getAvatarImageUrl() + { + return $this->avatarImageUrl; + } + public function setBannerUrlLandscape($bannerUrlLandscape) + { + $this->bannerUrlLandscape = $bannerUrlLandscape; + } + public function getBannerUrlLandscape() + { + return $this->bannerUrlLandscape; + } + public function setBannerUrlPortrait($bannerUrlPortrait) + { + $this->bannerUrlPortrait = $bannerUrlPortrait; + } + public function getBannerUrlPortrait() + { + return $this->bannerUrlPortrait; + } + public function setDisplayName($displayName) + { + $this->displayName = $displayName; + } + public function getDisplayName() + { + return $this->displayName; + } + public function setExperienceInfo(Google_Service_GamesManagement_GamesPlayerExperienceInfoResource $experienceInfo) + { + $this->experienceInfo = $experienceInfo; + } + public function getExperienceInfo() + { + return $this->experienceInfo; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setLastPlayedWith(Google_Service_GamesManagement_GamesPlayedResource $lastPlayedWith) + { + $this->lastPlayedWith = $lastPlayedWith; + } + public function getLastPlayedWith() + { + return $this->lastPlayedWith; + } + public function setName(Google_Service_GamesManagement_PlayerName $name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setOriginalPlayerId($originalPlayerId) + { + $this->originalPlayerId = $originalPlayerId; + } + public function getOriginalPlayerId() + { + return $this->originalPlayerId; + } + public function setPlayerId($playerId) + { + $this->playerId = $playerId; + } + public function getPlayerId() + { + return $this->playerId; + } + public function setProfileSettings(Google_Service_GamesManagement_ProfileSettings $profileSettings) + { + $this->profileSettings = $profileSettings; + } + public function getProfileSettings() + { + return $this->profileSettings; + } + public function setTitle($title) + { + $this->title = $title; + } + public function getTitle() + { + return $this->title; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/GamesManagement/PlayerName.php b/vendor/google/apiclient-services/src/Google/Service/GamesManagement/PlayerName.php new file mode 100644 index 00000000..b7dd909c --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/GamesManagement/PlayerName.php @@ -0,0 +1,39 @@ +familyName = $familyName; + } + public function getFamilyName() + { + return $this->familyName; + } + public function setGivenName($givenName) + { + $this->givenName = $givenName; + } + public function getGivenName() + { + return $this->givenName; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/GamesManagement/PlayerScoreResetAllResponse.php b/vendor/google/apiclient-services/src/Google/Service/GamesManagement/PlayerScoreResetAllResponse.php new file mode 100644 index 00000000..f99b68b3 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/GamesManagement/PlayerScoreResetAllResponse.php @@ -0,0 +1,41 @@ +kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setResults($results) + { + $this->results = $results; + } + public function getResults() + { + return $this->results; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/GamesManagement/PlayerScoreResetResponse.php b/vendor/google/apiclient-services/src/Google/Service/GamesManagement/PlayerScoreResetResponse.php new file mode 100644 index 00000000..270b3f72 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/GamesManagement/PlayerScoreResetResponse.php @@ -0,0 +1,49 @@ +definitionId = $definitionId; + } + public function getDefinitionId() + { + return $this->definitionId; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setResetScoreTimeSpans($resetScoreTimeSpans) + { + $this->resetScoreTimeSpans = $resetScoreTimeSpans; + } + public function getResetScoreTimeSpans() + { + return $this->resetScoreTimeSpans; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/GamesManagement/ProfileSettings.php b/vendor/google/apiclient-services/src/Google/Service/GamesManagement/ProfileSettings.php new file mode 100644 index 00000000..4cfa2f5c --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/GamesManagement/ProfileSettings.php @@ -0,0 +1,39 @@ +kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setProfileVisible($profileVisible) + { + $this->profileVisible = $profileVisible; + } + public function getProfileVisible() + { + return $this->profileVisible; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/GamesManagement/QuestsResetMultipleForAllRequest.php b/vendor/google/apiclient-services/src/Google/Service/GamesManagement/QuestsResetMultipleForAllRequest.php new file mode 100644 index 00000000..6a4fa81f --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/GamesManagement/QuestsResetMultipleForAllRequest.php @@ -0,0 +1,43 @@ + "quest_ids", + ); + public $kind; + public $questIds; + + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setQuestIds($questIds) + { + $this->questIds = $questIds; + } + public function getQuestIds() + { + return $this->questIds; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/GamesManagement/Resource/Achievements.php b/vendor/google/apiclient-services/src/Google/Service/GamesManagement/Resource/Achievements.php new file mode 100644 index 00000000..70ac90ee --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/GamesManagement/Resource/Achievements.php @@ -0,0 +1,98 @@ + + * $gamesManagementService = new Google_Service_GamesManagement(...); + * $achievements = $gamesManagementService->achievements; + * + */ +class Google_Service_GamesManagement_Resource_Achievements extends Google_Service_Resource +{ + /** + * Resets the achievement with the given ID for the currently authenticated + * player. This method is only accessible to whitelisted tester accounts for + * your application. (achievements.reset) + * + * @param string $achievementId The ID of the achievement used by this method. + * @param array $optParams Optional parameters. + * @return Google_Service_GamesManagement_AchievementResetResponse + */ + public function reset($achievementId, $optParams = array()) + { + $params = array('achievementId' => $achievementId); + $params = array_merge($params, $optParams); + return $this->call('reset', array($params), "Google_Service_GamesManagement_AchievementResetResponse"); + } + /** + * Resets all achievements for the currently authenticated player for your + * application. This method is only accessible to whitelisted tester accounts + * for your application. (achievements.resetAll) + * + * @param array $optParams Optional parameters. + * @return Google_Service_GamesManagement_AchievementResetAllResponse + */ + public function resetAll($optParams = array()) + { + $params = array(); + $params = array_merge($params, $optParams); + return $this->call('resetAll', array($params), "Google_Service_GamesManagement_AchievementResetAllResponse"); + } + /** + * Resets all draft achievements for all players. This method is only available + * to user accounts for your developer console. + * (achievements.resetAllForAllPlayers) + * + * @param array $optParams Optional parameters. + */ + public function resetAllForAllPlayers($optParams = array()) + { + $params = array(); + $params = array_merge($params, $optParams); + return $this->call('resetAllForAllPlayers', array($params)); + } + /** + * Resets the achievement with the given ID for all players. This method is only + * available to user accounts for your developer console. Only draft + * achievements can be reset. (achievements.resetForAllPlayers) + * + * @param string $achievementId The ID of the achievement used by this method. + * @param array $optParams Optional parameters. + */ + public function resetForAllPlayers($achievementId, $optParams = array()) + { + $params = array('achievementId' => $achievementId); + $params = array_merge($params, $optParams); + return $this->call('resetForAllPlayers', array($params)); + } + /** + * Resets achievements with the given IDs for all players. This method is only + * available to user accounts for your developer console. Only draft + * achievements may be reset. (achievements.resetMultipleForAllPlayers) + * + * @param Google_Service_GamesManagement_AchievementResetMultipleForAllRequest $postBody + * @param array $optParams Optional parameters. + */ + public function resetMultipleForAllPlayers(Google_Service_GamesManagement_AchievementResetMultipleForAllRequest $postBody, $optParams = array()) + { + $params = array('postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('resetMultipleForAllPlayers', array($params)); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/GamesManagement/Resource/Applications.php b/vendor/google/apiclient-services/src/Google/Service/GamesManagement/Resource/Applications.php new file mode 100644 index 00000000..2f53a34e --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/GamesManagement/Resource/Applications.php @@ -0,0 +1,49 @@ + + * $gamesManagementService = new Google_Service_GamesManagement(...); + * $applications = $gamesManagementService->applications; + * + */ +class Google_Service_GamesManagement_Resource_Applications extends Google_Service_Resource +{ + /** + * Get the list of players hidden from the given application. This method is + * only available to user accounts for your developer console. + * (applications.listHidden) + * + * @param string $applicationId The application ID from the Google Play + * developer console. + * @param array $optParams Optional parameters. + * + * @opt_param int maxResults The maximum number of player resources to return in + * the response, used for paging. For any response, the actual number of player + * resources returned may be less than the specified maxResults. + * @opt_param string pageToken The token returned by the previous request. + * @return Google_Service_GamesManagement_HiddenPlayerList + */ + public function listHidden($applicationId, $optParams = array()) + { + $params = array('applicationId' => $applicationId); + $params = array_merge($params, $optParams); + return $this->call('listHidden', array($params), "Google_Service_GamesManagement_HiddenPlayerList"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/GamesManagement/Resource/Events.php b/vendor/google/apiclient-services/src/Google/Service/GamesManagement/Resource/Events.php new file mode 100644 index 00000000..aafa71b6 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/GamesManagement/Resource/Events.php @@ -0,0 +1,100 @@ + + * $gamesManagementService = new Google_Service_GamesManagement(...); + * $events = $gamesManagementService->events; + * + */ +class Google_Service_GamesManagement_Resource_Events extends Google_Service_Resource +{ + /** + * Resets all player progress on the event with the given ID for the currently + * authenticated player. This method is only accessible to whitelisted tester + * accounts for your application. All quests for this player that use the event + * will also be reset. (events.reset) + * + * @param string $eventId The ID of the event. + * @param array $optParams Optional parameters. + */ + public function reset($eventId, $optParams = array()) + { + $params = array('eventId' => $eventId); + $params = array_merge($params, $optParams); + return $this->call('reset', array($params)); + } + /** + * Resets all player progress on all events for the currently authenticated + * player. This method is only accessible to whitelisted tester accounts for + * your application. All quests for this player will also be reset. + * (events.resetAll) + * + * @param array $optParams Optional parameters. + */ + public function resetAll($optParams = array()) + { + $params = array(); + $params = array_merge($params, $optParams); + return $this->call('resetAll', array($params)); + } + /** + * Resets all draft events for all players. This method is only available to + * user accounts for your developer console. All quests that use any of these + * events will also be reset. (events.resetAllForAllPlayers) + * + * @param array $optParams Optional parameters. + */ + public function resetAllForAllPlayers($optParams = array()) + { + $params = array(); + $params = array_merge($params, $optParams); + return $this->call('resetAllForAllPlayers', array($params)); + } + /** + * Resets the event with the given ID for all players. This method is only + * available to user accounts for your developer console. Only draft events can + * be reset. All quests that use the event will also be reset. + * (events.resetForAllPlayers) + * + * @param string $eventId The ID of the event. + * @param array $optParams Optional parameters. + */ + public function resetForAllPlayers($eventId, $optParams = array()) + { + $params = array('eventId' => $eventId); + $params = array_merge($params, $optParams); + return $this->call('resetForAllPlayers', array($params)); + } + /** + * Resets events with the given IDs for all players. This method is only + * available to user accounts for your developer console. Only draft events may + * be reset. All quests that use any of the events will also be reset. + * (events.resetMultipleForAllPlayers) + * + * @param Google_Service_GamesManagement_EventsResetMultipleForAllRequest $postBody + * @param array $optParams Optional parameters. + */ + public function resetMultipleForAllPlayers(Google_Service_GamesManagement_EventsResetMultipleForAllRequest $postBody, $optParams = array()) + { + $params = array('postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('resetMultipleForAllPlayers', array($params)); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/GamesManagement/Resource/Players.php b/vendor/google/apiclient-services/src/Google/Service/GamesManagement/Resource/Players.php new file mode 100644 index 00000000..fe9493ba --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/GamesManagement/Resource/Players.php @@ -0,0 +1,62 @@ + + * $gamesManagementService = new Google_Service_GamesManagement(...); + * $players = $gamesManagementService->players; + * + */ +class Google_Service_GamesManagement_Resource_Players extends Google_Service_Resource +{ + /** + * Hide the given player's leaderboard scores from the given application. This + * method is only available to user accounts for your developer console. + * (players.hide) + * + * @param string $applicationId The application ID from the Google Play + * developer console. + * @param string $playerId A player ID. A value of me may be used in place of + * the authenticated player's ID. + * @param array $optParams Optional parameters. + */ + public function hide($applicationId, $playerId, $optParams = array()) + { + $params = array('applicationId' => $applicationId, 'playerId' => $playerId); + $params = array_merge($params, $optParams); + return $this->call('hide', array($params)); + } + /** + * Unhide the given player's leaderboard scores from the given application. This + * method is only available to user accounts for your developer console. + * (players.unhide) + * + * @param string $applicationId The application ID from the Google Play + * developer console. + * @param string $playerId A player ID. A value of me may be used in place of + * the authenticated player's ID. + * @param array $optParams Optional parameters. + */ + public function unhide($applicationId, $playerId, $optParams = array()) + { + $params = array('applicationId' => $applicationId, 'playerId' => $playerId); + $params = array_merge($params, $optParams); + return $this->call('unhide', array($params)); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/GamesManagement/Resource/Quests.php b/vendor/google/apiclient-services/src/Google/Service/GamesManagement/Resource/Quests.php new file mode 100644 index 00000000..7789daf6 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/GamesManagement/Resource/Quests.php @@ -0,0 +1,95 @@ + + * $gamesManagementService = new Google_Service_GamesManagement(...); + * $quests = $gamesManagementService->quests; + * + */ +class Google_Service_GamesManagement_Resource_Quests extends Google_Service_Resource +{ + /** + * Resets all player progress on the quest with the given ID for the currently + * authenticated player. This method is only accessible to whitelisted tester + * accounts for your application. (quests.reset) + * + * @param string $questId The ID of the quest. + * @param array $optParams Optional parameters. + */ + public function reset($questId, $optParams = array()) + { + $params = array('questId' => $questId); + $params = array_merge($params, $optParams); + return $this->call('reset', array($params)); + } + /** + * Resets all player progress on all quests for the currently authenticated + * player. This method is only accessible to whitelisted tester accounts for + * your application. (quests.resetAll) + * + * @param array $optParams Optional parameters. + */ + public function resetAll($optParams = array()) + { + $params = array(); + $params = array_merge($params, $optParams); + return $this->call('resetAll', array($params)); + } + /** + * Resets all draft quests for all players. This method is only available to + * user accounts for your developer console. (quests.resetAllForAllPlayers) + * + * @param array $optParams Optional parameters. + */ + public function resetAllForAllPlayers($optParams = array()) + { + $params = array(); + $params = array_merge($params, $optParams); + return $this->call('resetAllForAllPlayers', array($params)); + } + /** + * Resets all player progress on the quest with the given ID for all players. + * This method is only available to user accounts for your developer console. + * Only draft quests can be reset. (quests.resetForAllPlayers) + * + * @param string $questId The ID of the quest. + * @param array $optParams Optional parameters. + */ + public function resetForAllPlayers($questId, $optParams = array()) + { + $params = array('questId' => $questId); + $params = array_merge($params, $optParams); + return $this->call('resetForAllPlayers', array($params)); + } + /** + * Resets quests with the given IDs for all players. This method is only + * available to user accounts for your developer console. Only draft quests may + * be reset. (quests.resetMultipleForAllPlayers) + * + * @param Google_Service_GamesManagement_QuestsResetMultipleForAllRequest $postBody + * @param array $optParams Optional parameters. + */ + public function resetMultipleForAllPlayers(Google_Service_GamesManagement_QuestsResetMultipleForAllRequest $postBody, $optParams = array()) + { + $params = array('postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('resetMultipleForAllPlayers', array($params)); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/GamesManagement/Resource/Rooms.php b/vendor/google/apiclient-services/src/Google/Service/GamesManagement/Resource/Rooms.php new file mode 100644 index 00000000..bb5f0c3f --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/GamesManagement/Resource/Rooms.php @@ -0,0 +1,54 @@ + + * $gamesManagementService = new Google_Service_GamesManagement(...); + * $rooms = $gamesManagementService->rooms; + * + */ +class Google_Service_GamesManagement_Resource_Rooms extends Google_Service_Resource +{ + /** + * Reset all rooms for the currently authenticated player for your application. + * This method is only accessible to whitelisted tester accounts for your + * application. (rooms.reset) + * + * @param array $optParams Optional parameters. + */ + public function reset($optParams = array()) + { + $params = array(); + $params = array_merge($params, $optParams); + return $this->call('reset', array($params)); + } + /** + * Deletes rooms where the only room participants are from whitelisted tester + * accounts for your application. This method is only available to user accounts + * for your developer console. (rooms.resetForAllPlayers) + * + * @param array $optParams Optional parameters. + */ + public function resetForAllPlayers($optParams = array()) + { + $params = array(); + $params = array_merge($params, $optParams); + return $this->call('resetForAllPlayers', array($params)); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/GamesManagement/Resource/Scores.php b/vendor/google/apiclient-services/src/Google/Service/GamesManagement/Resource/Scores.php new file mode 100644 index 00000000..caff3905 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/GamesManagement/Resource/Scores.php @@ -0,0 +1,98 @@ + + * $gamesManagementService = new Google_Service_GamesManagement(...); + * $scores = $gamesManagementService->scores; + * + */ +class Google_Service_GamesManagement_Resource_Scores extends Google_Service_Resource +{ + /** + * Resets scores for the leaderboard with the given ID for the currently + * authenticated player. This method is only accessible to whitelisted tester + * accounts for your application. (scores.reset) + * + * @param string $leaderboardId The ID of the leaderboard. + * @param array $optParams Optional parameters. + * @return Google_Service_GamesManagement_PlayerScoreResetResponse + */ + public function reset($leaderboardId, $optParams = array()) + { + $params = array('leaderboardId' => $leaderboardId); + $params = array_merge($params, $optParams); + return $this->call('reset', array($params), "Google_Service_GamesManagement_PlayerScoreResetResponse"); + } + /** + * Resets all scores for all leaderboards for the currently authenticated + * players. This method is only accessible to whitelisted tester accounts for + * your application. (scores.resetAll) + * + * @param array $optParams Optional parameters. + * @return Google_Service_GamesManagement_PlayerScoreResetAllResponse + */ + public function resetAll($optParams = array()) + { + $params = array(); + $params = array_merge($params, $optParams); + return $this->call('resetAll', array($params), "Google_Service_GamesManagement_PlayerScoreResetAllResponse"); + } + /** + * Resets scores for all draft leaderboards for all players. This method is only + * available to user accounts for your developer console. + * (scores.resetAllForAllPlayers) + * + * @param array $optParams Optional parameters. + */ + public function resetAllForAllPlayers($optParams = array()) + { + $params = array(); + $params = array_merge($params, $optParams); + return $this->call('resetAllForAllPlayers', array($params)); + } + /** + * Resets scores for the leaderboard with the given ID for all players. This + * method is only available to user accounts for your developer console. Only + * draft leaderboards can be reset. (scores.resetForAllPlayers) + * + * @param string $leaderboardId The ID of the leaderboard. + * @param array $optParams Optional parameters. + */ + public function resetForAllPlayers($leaderboardId, $optParams = array()) + { + $params = array('leaderboardId' => $leaderboardId); + $params = array_merge($params, $optParams); + return $this->call('resetForAllPlayers', array($params)); + } + /** + * Resets scores for the leaderboards with the given IDs for all players. This + * method is only available to user accounts for your developer console. Only + * draft leaderboards may be reset. (scores.resetMultipleForAllPlayers) + * + * @param Google_Service_GamesManagement_ScoresResetMultipleForAllRequest $postBody + * @param array $optParams Optional parameters. + */ + public function resetMultipleForAllPlayers(Google_Service_GamesManagement_ScoresResetMultipleForAllRequest $postBody, $optParams = array()) + { + $params = array('postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('resetMultipleForAllPlayers', array($params)); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/GamesManagement/Resource/TurnBasedMatches.php b/vendor/google/apiclient-services/src/Google/Service/GamesManagement/Resource/TurnBasedMatches.php new file mode 100644 index 00000000..62462f84 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/GamesManagement/Resource/TurnBasedMatches.php @@ -0,0 +1,54 @@ + + * $gamesManagementService = new Google_Service_GamesManagement(...); + * $turnBasedMatches = $gamesManagementService->turnBasedMatches; + * + */ +class Google_Service_GamesManagement_Resource_TurnBasedMatches extends Google_Service_Resource +{ + /** + * Reset all turn-based match data for a user. This method is only accessible to + * whitelisted tester accounts for your application. (turnBasedMatches.reset) + * + * @param array $optParams Optional parameters. + */ + public function reset($optParams = array()) + { + $params = array(); + $params = array_merge($params, $optParams); + return $this->call('reset', array($params)); + } + /** + * Deletes turn-based matches where the only match participants are from + * whitelisted tester accounts for your application. This method is only + * available to user accounts for your developer console. + * (turnBasedMatches.resetForAllPlayers) + * + * @param array $optParams Optional parameters. + */ + public function resetForAllPlayers($optParams = array()) + { + $params = array(); + $params = array_merge($params, $optParams); + return $this->call('resetForAllPlayers', array($params)); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/GamesManagement/ScoresResetMultipleForAllRequest.php b/vendor/google/apiclient-services/src/Google/Service/GamesManagement/ScoresResetMultipleForAllRequest.php new file mode 100644 index 00000000..7a34ab9b --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/GamesManagement/ScoresResetMultipleForAllRequest.php @@ -0,0 +1,43 @@ + "leaderboard_ids", + ); + public $kind; + public $leaderboardIds; + + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setLeaderboardIds($leaderboardIds) + { + $this->leaderboardIds = $leaderboardIds; + } + public function getLeaderboardIds() + { + return $this->leaderboardIds; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Genomics.php b/vendor/google/apiclient-services/src/Google/Service/Genomics.php new file mode 100644 index 00000000..1a3a6cb1 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Genomics.php @@ -0,0 +1,720 @@ + + * Upload, process, query, and search Genomics data in the cloud.

+ * + *

+ * For more information about this service, see the API + * Documentation + *

+ * + * @author Google, Inc. + */ +class Google_Service_Genomics extends Google_Service +{ + /** View and manage your data in Google BigQuery. */ + const BIGQUERY = + "https://www.googleapis.com/auth/bigquery"; + /** View and manage your data across Google Cloud Platform services. */ + const CLOUD_PLATFORM = + "https://www.googleapis.com/auth/cloud-platform"; + /** Manage your data in Google Cloud Storage. */ + const DEVSTORAGE_READ_WRITE = + "https://www.googleapis.com/auth/devstorage.read_write"; + /** View and manage Genomics data. */ + const GENOMICS = + "https://www.googleapis.com/auth/genomics"; + /** View Genomics data. */ + const GENOMICS_READONLY = + "https://www.googleapis.com/auth/genomics.readonly"; + + public $annotations; + public $annotationsets; + public $callsets; + public $datasets; + public $operations; + public $readgroupsets; + public $readgroupsets_coveragebuckets; + public $reads; + public $references; + public $references_bases; + public $referencesets; + public $variants; + public $variantsets; + + /** + * Constructs the internal representation of the Genomics service. + * + * @param Google_Client $client + */ + public function __construct(Google_Client $client) + { + parent::__construct($client); + $this->rootUrl = 'https://genomics.googleapis.com/'; + $this->servicePath = ''; + $this->version = 'v1'; + $this->serviceName = 'genomics'; + + $this->annotations = new Google_Service_Genomics_Resource_Annotations( + $this, + $this->serviceName, + 'annotations', + array( + 'methods' => array( + 'batchCreate' => array( + 'path' => 'v1/annotations:batchCreate', + 'httpMethod' => 'POST', + 'parameters' => array(), + ),'create' => array( + 'path' => 'v1/annotations', + 'httpMethod' => 'POST', + 'parameters' => array(), + ),'delete' => array( + 'path' => 'v1/annotations/{annotationId}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'annotationId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'get' => array( + 'path' => 'v1/annotations/{annotationId}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'annotationId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'search' => array( + 'path' => 'v1/annotations/search', + 'httpMethod' => 'POST', + 'parameters' => array(), + ),'update' => array( + 'path' => 'v1/annotations/{annotationId}', + 'httpMethod' => 'PUT', + 'parameters' => array( + 'annotationId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'updateMask' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + $this->annotationsets = new Google_Service_Genomics_Resource_Annotationsets( + $this, + $this->serviceName, + 'annotationsets', + array( + 'methods' => array( + 'create' => array( + 'path' => 'v1/annotationsets', + 'httpMethod' => 'POST', + 'parameters' => array(), + ),'delete' => array( + 'path' => 'v1/annotationsets/{annotationSetId}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'annotationSetId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'get' => array( + 'path' => 'v1/annotationsets/{annotationSetId}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'annotationSetId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'search' => array( + 'path' => 'v1/annotationsets/search', + 'httpMethod' => 'POST', + 'parameters' => array(), + ),'update' => array( + 'path' => 'v1/annotationsets/{annotationSetId}', + 'httpMethod' => 'PUT', + 'parameters' => array( + 'annotationSetId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'updateMask' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + $this->callsets = new Google_Service_Genomics_Resource_Callsets( + $this, + $this->serviceName, + 'callsets', + array( + 'methods' => array( + 'create' => array( + 'path' => 'v1/callsets', + 'httpMethod' => 'POST', + 'parameters' => array(), + ),'delete' => array( + 'path' => 'v1/callsets/{callSetId}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'callSetId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'get' => array( + 'path' => 'v1/callsets/{callSetId}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'callSetId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'patch' => array( + 'path' => 'v1/callsets/{callSetId}', + 'httpMethod' => 'PATCH', + 'parameters' => array( + 'callSetId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'updateMask' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'search' => array( + 'path' => 'v1/callsets/search', + 'httpMethod' => 'POST', + 'parameters' => array(), + ), + ) + ) + ); + $this->datasets = new Google_Service_Genomics_Resource_Datasets( + $this, + $this->serviceName, + 'datasets', + array( + 'methods' => array( + 'create' => array( + 'path' => 'v1/datasets', + 'httpMethod' => 'POST', + 'parameters' => array(), + ),'delete' => array( + 'path' => 'v1/datasets/{datasetId}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'datasetId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'get' => array( + 'path' => 'v1/datasets/{datasetId}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'datasetId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'getIamPolicy' => array( + 'path' => 'v1/{+resource}:getIamPolicy', + 'httpMethod' => 'POST', + 'parameters' => array( + 'resource' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'v1/datasets', + 'httpMethod' => 'GET', + 'parameters' => array( + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pageSize' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'projectId' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'patch' => array( + 'path' => 'v1/datasets/{datasetId}', + 'httpMethod' => 'PATCH', + 'parameters' => array( + 'datasetId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'updateMask' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'setIamPolicy' => array( + 'path' => 'v1/{+resource}:setIamPolicy', + 'httpMethod' => 'POST', + 'parameters' => array( + 'resource' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'testIamPermissions' => array( + 'path' => 'v1/{+resource}:testIamPermissions', + 'httpMethod' => 'POST', + 'parameters' => array( + 'resource' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'undelete' => array( + 'path' => 'v1/datasets/{datasetId}:undelete', + 'httpMethod' => 'POST', + 'parameters' => array( + 'datasetId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->operations = new Google_Service_Genomics_Resource_Operations( + $this, + $this->serviceName, + 'operations', + array( + 'methods' => array( + 'cancel' => array( + 'path' => 'v1/{+name}:cancel', + 'httpMethod' => 'POST', + 'parameters' => array( + 'name' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'get' => array( + 'path' => 'v1/{+name}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'name' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'v1/{+name}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'name' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'filter' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pageSize' => array( + 'location' => 'query', + 'type' => 'integer', + ), + ), + ), + ) + ) + ); + $this->readgroupsets = new Google_Service_Genomics_Resource_Readgroupsets( + $this, + $this->serviceName, + 'readgroupsets', + array( + 'methods' => array( + 'delete' => array( + 'path' => 'v1/readgroupsets/{readGroupSetId}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'readGroupSetId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'export' => array( + 'path' => 'v1/readgroupsets/{readGroupSetId}:export', + 'httpMethod' => 'POST', + 'parameters' => array( + 'readGroupSetId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'get' => array( + 'path' => 'v1/readgroupsets/{readGroupSetId}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'readGroupSetId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'import' => array( + 'path' => 'v1/readgroupsets:import', + 'httpMethod' => 'POST', + 'parameters' => array(), + ),'patch' => array( + 'path' => 'v1/readgroupsets/{readGroupSetId}', + 'httpMethod' => 'PATCH', + 'parameters' => array( + 'readGroupSetId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'updateMask' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'search' => array( + 'path' => 'v1/readgroupsets/search', + 'httpMethod' => 'POST', + 'parameters' => array(), + ), + ) + ) + ); + $this->readgroupsets_coveragebuckets = new Google_Service_Genomics_Resource_ReadgroupsetsCoveragebuckets( + $this, + $this->serviceName, + 'coveragebuckets', + array( + 'methods' => array( + 'list' => array( + 'path' => 'v1/readgroupsets/{readGroupSetId}/coveragebuckets', + 'httpMethod' => 'GET', + 'parameters' => array( + 'readGroupSetId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'targetBucketWidth' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'referenceName' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'end' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pageSize' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'start' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + $this->reads = new Google_Service_Genomics_Resource_Reads( + $this, + $this->serviceName, + 'reads', + array( + 'methods' => array( + 'search' => array( + 'path' => 'v1/reads/search', + 'httpMethod' => 'POST', + 'parameters' => array(), + ), + ) + ) + ); + $this->references = new Google_Service_Genomics_Resource_References( + $this, + $this->serviceName, + 'references', + array( + 'methods' => array( + 'get' => array( + 'path' => 'v1/references/{referenceId}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'referenceId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'search' => array( + 'path' => 'v1/references/search', + 'httpMethod' => 'POST', + 'parameters' => array(), + ), + ) + ) + ); + $this->references_bases = new Google_Service_Genomics_Resource_ReferencesBases( + $this, + $this->serviceName, + 'bases', + array( + 'methods' => array( + 'list' => array( + 'path' => 'v1/references/{referenceId}/bases', + 'httpMethod' => 'GET', + 'parameters' => array( + 'referenceId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pageSize' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'start' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'end' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + $this->referencesets = new Google_Service_Genomics_Resource_Referencesets( + $this, + $this->serviceName, + 'referencesets', + array( + 'methods' => array( + 'get' => array( + 'path' => 'v1/referencesets/{referenceSetId}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'referenceSetId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'search' => array( + 'path' => 'v1/referencesets/search', + 'httpMethod' => 'POST', + 'parameters' => array(), + ), + ) + ) + ); + $this->variants = new Google_Service_Genomics_Resource_Variants( + $this, + $this->serviceName, + 'variants', + array( + 'methods' => array( + 'create' => array( + 'path' => 'v1/variants', + 'httpMethod' => 'POST', + 'parameters' => array(), + ),'delete' => array( + 'path' => 'v1/variants/{variantId}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'variantId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'get' => array( + 'path' => 'v1/variants/{variantId}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'variantId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'import' => array( + 'path' => 'v1/variants:import', + 'httpMethod' => 'POST', + 'parameters' => array(), + ),'merge' => array( + 'path' => 'v1/variants:merge', + 'httpMethod' => 'POST', + 'parameters' => array(), + ),'patch' => array( + 'path' => 'v1/variants/{variantId}', + 'httpMethod' => 'PATCH', + 'parameters' => array( + 'variantId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'updateMask' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'search' => array( + 'path' => 'v1/variants/search', + 'httpMethod' => 'POST', + 'parameters' => array(), + ), + ) + ) + ); + $this->variantsets = new Google_Service_Genomics_Resource_Variantsets( + $this, + $this->serviceName, + 'variantsets', + array( + 'methods' => array( + 'create' => array( + 'path' => 'v1/variantsets', + 'httpMethod' => 'POST', + 'parameters' => array(), + ),'delete' => array( + 'path' => 'v1/variantsets/{variantSetId}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'variantSetId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'export' => array( + 'path' => 'v1/variantsets/{variantSetId}:export', + 'httpMethod' => 'POST', + 'parameters' => array( + 'variantSetId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'get' => array( + 'path' => 'v1/variantsets/{variantSetId}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'variantSetId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'patch' => array( + 'path' => 'v1/variantsets/{variantSetId}', + 'httpMethod' => 'PATCH', + 'parameters' => array( + 'variantSetId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'updateMask' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'search' => array( + 'path' => 'v1/variantsets/search', + 'httpMethod' => 'POST', + 'parameters' => array(), + ), + ) + ) + ); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Genomics/Annotation.php b/vendor/google/apiclient-services/src/Google/Service/Genomics/Annotation.php new file mode 100644 index 00000000..bcecbebc --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Genomics/Annotation.php @@ -0,0 +1,131 @@ +annotationSetId = $annotationSetId; + } + public function getAnnotationSetId() + { + return $this->annotationSetId; + } + public function setEnd($end) + { + $this->end = $end; + } + public function getEnd() + { + return $this->end; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setInfo($info) + { + $this->info = $info; + } + public function getInfo() + { + return $this->info; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setReferenceId($referenceId) + { + $this->referenceId = $referenceId; + } + public function getReferenceId() + { + return $this->referenceId; + } + public function setReferenceName($referenceName) + { + $this->referenceName = $referenceName; + } + public function getReferenceName() + { + return $this->referenceName; + } + public function setReverseStrand($reverseStrand) + { + $this->reverseStrand = $reverseStrand; + } + public function getReverseStrand() + { + return $this->reverseStrand; + } + public function setStart($start) + { + $this->start = $start; + } + public function getStart() + { + return $this->start; + } + public function setTranscript(Google_Service_Genomics_Transcript $transcript) + { + $this->transcript = $transcript; + } + public function getTranscript() + { + return $this->transcript; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } + public function setVariant(Google_Service_Genomics_VariantAnnotation $variant) + { + $this->variant = $variant; + } + public function getVariant() + { + return $this->variant; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Genomics/AnnotationSet.php b/vendor/google/apiclient-services/src/Google/Service/Genomics/AnnotationSet.php new file mode 100644 index 00000000..10ae1c86 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Genomics/AnnotationSet.php @@ -0,0 +1,84 @@ +datasetId = $datasetId; + } + public function getDatasetId() + { + return $this->datasetId; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setInfo($info) + { + $this->info = $info; + } + public function getInfo() + { + return $this->info; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setReferenceSetId($referenceSetId) + { + $this->referenceSetId = $referenceSetId; + } + public function getReferenceSetId() + { + return $this->referenceSetId; + } + public function setSourceUri($sourceUri) + { + $this->sourceUri = $sourceUri; + } + public function getSourceUri() + { + return $this->sourceUri; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Genomics/BatchCreateAnnotationsRequest.php b/vendor/google/apiclient-services/src/Google/Service/Genomics/BatchCreateAnnotationsRequest.php new file mode 100644 index 00000000..3fed6c6e --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Genomics/BatchCreateAnnotationsRequest.php @@ -0,0 +1,41 @@ +annotations = $annotations; + } + public function getAnnotations() + { + return $this->annotations; + } + public function setRequestId($requestId) + { + $this->requestId = $requestId; + } + public function getRequestId() + { + return $this->requestId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Genomics/BatchCreateAnnotationsResponse.php b/vendor/google/apiclient-services/src/Google/Service/Genomics/BatchCreateAnnotationsResponse.php new file mode 100644 index 00000000..16ea7662 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Genomics/BatchCreateAnnotationsResponse.php @@ -0,0 +1,32 @@ +entries = $entries; + } + public function getEntries() + { + return $this->entries; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Genomics/Binding.php b/vendor/google/apiclient-services/src/Google/Service/Genomics/Binding.php new file mode 100644 index 00000000..02d17028 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Genomics/Binding.php @@ -0,0 +1,40 @@ +members = $members; + } + public function getMembers() + { + return $this->members; + } + public function setRole($role) + { + $this->role = $role; + } + public function getRole() + { + return $this->role; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Genomics/CallSet.php b/vendor/google/apiclient-services/src/Google/Service/Genomics/CallSet.php new file mode 100644 index 00000000..db8abec6 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Genomics/CallSet.php @@ -0,0 +1,76 @@ +created = $created; + } + public function getCreated() + { + return $this->created; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setInfo($info) + { + $this->info = $info; + } + public function getInfo() + { + return $this->info; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setSampleId($sampleId) + { + $this->sampleId = $sampleId; + } + public function getSampleId() + { + return $this->sampleId; + } + public function setVariantSetIds($variantSetIds) + { + $this->variantSetIds = $variantSetIds; + } + public function getVariantSetIds() + { + return $this->variantSetIds; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Genomics/CancelOperationRequest.php b/vendor/google/apiclient-services/src/Google/Service/Genomics/CancelOperationRequest.php new file mode 100644 index 00000000..84f29698 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Genomics/CancelOperationRequest.php @@ -0,0 +1,20 @@ +operation = $operation; + } + public function getOperation() + { + return $this->operation; + } + public function setOperationLength($operationLength) + { + $this->operationLength = $operationLength; + } + public function getOperationLength() + { + return $this->operationLength; + } + public function setReferenceSequence($referenceSequence) + { + $this->referenceSequence = $referenceSequence; + } + public function getReferenceSequence() + { + return $this->referenceSequence; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Genomics/ClinicalCondition.php b/vendor/google/apiclient-services/src/Google/Service/Genomics/ClinicalCondition.php new file mode 100644 index 00000000..78387415 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Genomics/ClinicalCondition.php @@ -0,0 +1,59 @@ +conceptId = $conceptId; + } + public function getConceptId() + { + return $this->conceptId; + } + public function setExternalIds($externalIds) + { + $this->externalIds = $externalIds; + } + public function getExternalIds() + { + return $this->externalIds; + } + public function setNames($names) + { + $this->names = $names; + } + public function getNames() + { + return $this->names; + } + public function setOmimId($omimId) + { + $this->omimId = $omimId; + } + public function getOmimId() + { + return $this->omimId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Genomics/CodingSequence.php b/vendor/google/apiclient-services/src/Google/Service/Genomics/CodingSequence.php new file mode 100644 index 00000000..38843a94 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Genomics/CodingSequence.php @@ -0,0 +1,39 @@ +end = $end; + } + public function getEnd() + { + return $this->end; + } + public function setStart($start) + { + $this->start = $start; + } + public function getStart() + { + return $this->start; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Genomics/ComputeEngine.php b/vendor/google/apiclient-services/src/Google/Service/Genomics/ComputeEngine.php new file mode 100644 index 00000000..a398d2dc --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Genomics/ComputeEngine.php @@ -0,0 +1,58 @@ +diskNames = $diskNames; + } + public function getDiskNames() + { + return $this->diskNames; + } + public function setInstanceName($instanceName) + { + $this->instanceName = $instanceName; + } + public function getInstanceName() + { + return $this->instanceName; + } + public function setMachineType($machineType) + { + $this->machineType = $machineType; + } + public function getMachineType() + { + return $this->machineType; + } + public function setZone($zone) + { + $this->zone = $zone; + } + public function getZone() + { + return $this->zone; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Genomics/CoverageBucket.php b/vendor/google/apiclient-services/src/Google/Service/Genomics/CoverageBucket.php new file mode 100644 index 00000000..6486f45c --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Genomics/CoverageBucket.php @@ -0,0 +1,40 @@ +meanCoverage = $meanCoverage; + } + public function getMeanCoverage() + { + return $this->meanCoverage; + } + public function setRange(Google_Service_Genomics_Range $range) + { + $this->range = $range; + } + public function getRange() + { + return $this->range; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Genomics/Dataset.php b/vendor/google/apiclient-services/src/Google/Service/Genomics/Dataset.php new file mode 100644 index 00000000..dee47e7f --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Genomics/Dataset.php @@ -0,0 +1,57 @@ +createTime = $createTime; + } + public function getCreateTime() + { + return $this->createTime; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setProjectId($projectId) + { + $this->projectId = $projectId; + } + public function getProjectId() + { + return $this->projectId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Genomics/Entry.php b/vendor/google/apiclient-services/src/Google/Service/Genomics/Entry.php new file mode 100644 index 00000000..6556933e --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Genomics/Entry.php @@ -0,0 +1,41 @@ +annotation = $annotation; + } + public function getAnnotation() + { + return $this->annotation; + } + public function setStatus(Google_Service_Genomics_Status $status) + { + $this->status = $status; + } + public function getStatus() + { + return $this->status; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Genomics/Exon.php b/vendor/google/apiclient-services/src/Google/Service/Genomics/Exon.php new file mode 100644 index 00000000..29366c9d --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Genomics/Exon.php @@ -0,0 +1,48 @@ +end = $end; + } + public function getEnd() + { + return $this->end; + } + public function setFrame($frame) + { + $this->frame = $frame; + } + public function getFrame() + { + return $this->frame; + } + public function setStart($start) + { + $this->start = $start; + } + public function getStart() + { + return $this->start; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Genomics/Experiment.php b/vendor/google/apiclient-services/src/Google/Service/Genomics/Experiment.php new file mode 100644 index 00000000..cf21926c --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Genomics/Experiment.php @@ -0,0 +1,57 @@ +instrumentModel = $instrumentModel; + } + public function getInstrumentModel() + { + return $this->instrumentModel; + } + public function setLibraryId($libraryId) + { + $this->libraryId = $libraryId; + } + public function getLibraryId() + { + return $this->libraryId; + } + public function setPlatformUnit($platformUnit) + { + $this->platformUnit = $platformUnit; + } + public function getPlatformUnit() + { + return $this->platformUnit; + } + public function setSequencingCenter($sequencingCenter) + { + $this->sequencingCenter = $sequencingCenter; + } + public function getSequencingCenter() + { + return $this->sequencingCenter; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Genomics/ExportReadGroupSetRequest.php b/vendor/google/apiclient-services/src/Google/Service/Genomics/ExportReadGroupSetRequest.php new file mode 100644 index 00000000..482a90e5 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Genomics/ExportReadGroupSetRequest.php @@ -0,0 +1,49 @@ +exportUri = $exportUri; + } + public function getExportUri() + { + return $this->exportUri; + } + public function setProjectId($projectId) + { + $this->projectId = $projectId; + } + public function getProjectId() + { + return $this->projectId; + } + public function setReferenceNames($referenceNames) + { + $this->referenceNames = $referenceNames; + } + public function getReferenceNames() + { + return $this->referenceNames; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Genomics/ExportVariantSetRequest.php b/vendor/google/apiclient-services/src/Google/Service/Genomics/ExportVariantSetRequest.php new file mode 100644 index 00000000..214738c5 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Genomics/ExportVariantSetRequest.php @@ -0,0 +1,67 @@ +bigqueryDataset = $bigqueryDataset; + } + public function getBigqueryDataset() + { + return $this->bigqueryDataset; + } + public function setBigqueryTable($bigqueryTable) + { + $this->bigqueryTable = $bigqueryTable; + } + public function getBigqueryTable() + { + return $this->bigqueryTable; + } + public function setCallSetIds($callSetIds) + { + $this->callSetIds = $callSetIds; + } + public function getCallSetIds() + { + return $this->callSetIds; + } + public function setFormat($format) + { + $this->format = $format; + } + public function getFormat() + { + return $this->format; + } + public function setProjectId($projectId) + { + $this->projectId = $projectId; + } + public function getProjectId() + { + return $this->projectId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Genomics/ExternalId.php b/vendor/google/apiclient-services/src/Google/Service/Genomics/ExternalId.php new file mode 100644 index 00000000..5552e207 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Genomics/ExternalId.php @@ -0,0 +1,39 @@ +id = $id; + } + public function getId() + { + return $this->id; + } + public function setSourceName($sourceName) + { + $this->sourceName = $sourceName; + } + public function getSourceName() + { + return $this->sourceName; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Genomics/GenomicsEmpty.php b/vendor/google/apiclient-services/src/Google/Service/Genomics/GenomicsEmpty.php new file mode 100644 index 00000000..2bf2c603 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Genomics/GenomicsEmpty.php @@ -0,0 +1,20 @@ +datasetId = $datasetId; + } + public function getDatasetId() + { + return $this->datasetId; + } + public function setPartitionStrategy($partitionStrategy) + { + $this->partitionStrategy = $partitionStrategy; + } + public function getPartitionStrategy() + { + return $this->partitionStrategy; + } + public function setReferenceSetId($referenceSetId) + { + $this->referenceSetId = $referenceSetId; + } + public function getReferenceSetId() + { + return $this->referenceSetId; + } + public function setSourceUris($sourceUris) + { + $this->sourceUris = $sourceUris; + } + public function getSourceUris() + { + return $this->sourceUris; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Genomics/ImportReadGroupSetsResponse.php b/vendor/google/apiclient-services/src/Google/Service/Genomics/ImportReadGroupSetsResponse.php new file mode 100644 index 00000000..2ee6cf5d --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Genomics/ImportReadGroupSetsResponse.php @@ -0,0 +1,31 @@ +readGroupSetIds = $readGroupSetIds; + } + public function getReadGroupSetIds() + { + return $this->readGroupSetIds; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Genomics/ImportVariantsRequest.php b/vendor/google/apiclient-services/src/Google/Service/Genomics/ImportVariantsRequest.php new file mode 100644 index 00000000..d799ce1f --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Genomics/ImportVariantsRequest.php @@ -0,0 +1,67 @@ +format = $format; + } + public function getFormat() + { + return $this->format; + } + public function setInfoMergeConfig($infoMergeConfig) + { + $this->infoMergeConfig = $infoMergeConfig; + } + public function getInfoMergeConfig() + { + return $this->infoMergeConfig; + } + public function setNormalizeReferenceNames($normalizeReferenceNames) + { + $this->normalizeReferenceNames = $normalizeReferenceNames; + } + public function getNormalizeReferenceNames() + { + return $this->normalizeReferenceNames; + } + public function setSourceUris($sourceUris) + { + $this->sourceUris = $sourceUris; + } + public function getSourceUris() + { + return $this->sourceUris; + } + public function setVariantSetId($variantSetId) + { + $this->variantSetId = $variantSetId; + } + public function getVariantSetId() + { + return $this->variantSetId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Genomics/ImportVariantsResponse.php b/vendor/google/apiclient-services/src/Google/Service/Genomics/ImportVariantsResponse.php new file mode 100644 index 00000000..5ed64943 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Genomics/ImportVariantsResponse.php @@ -0,0 +1,31 @@ +callSetIds = $callSetIds; + } + public function getCallSetIds() + { + return $this->callSetIds; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Genomics/LinearAlignment.php b/vendor/google/apiclient-services/src/Google/Service/Genomics/LinearAlignment.php new file mode 100644 index 00000000..a73aa5d7 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Genomics/LinearAlignment.php @@ -0,0 +1,51 @@ +cigar = $cigar; + } + public function getCigar() + { + return $this->cigar; + } + public function setMappingQuality($mappingQuality) + { + $this->mappingQuality = $mappingQuality; + } + public function getMappingQuality() + { + return $this->mappingQuality; + } + public function setPosition(Google_Service_Genomics_Position $position) + { + $this->position = $position; + } + public function getPosition() + { + return $this->position; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Genomics/ListBasesResponse.php b/vendor/google/apiclient-services/src/Google/Service/Genomics/ListBasesResponse.php new file mode 100644 index 00000000..5e6dda64 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Genomics/ListBasesResponse.php @@ -0,0 +1,48 @@ +nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setOffset($offset) + { + $this->offset = $offset; + } + public function getOffset() + { + return $this->offset; + } + public function setSequence($sequence) + { + $this->sequence = $sequence; + } + public function getSequence() + { + return $this->sequence; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Genomics/ListCoverageBucketsResponse.php b/vendor/google/apiclient-services/src/Google/Service/Genomics/ListCoverageBucketsResponse.php new file mode 100644 index 00000000..2b98ca2e --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Genomics/ListCoverageBucketsResponse.php @@ -0,0 +1,50 @@ +bucketWidth = $bucketWidth; + } + public function getBucketWidth() + { + return $this->bucketWidth; + } + public function setCoverageBuckets($coverageBuckets) + { + $this->coverageBuckets = $coverageBuckets; + } + public function getCoverageBuckets() + { + return $this->coverageBuckets; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Genomics/ListDatasetsResponse.php b/vendor/google/apiclient-services/src/Google/Service/Genomics/ListDatasetsResponse.php new file mode 100644 index 00000000..e4460911 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Genomics/ListDatasetsResponse.php @@ -0,0 +1,41 @@ +datasets = $datasets; + } + public function getDatasets() + { + return $this->datasets; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Genomics/ListOperationsResponse.php b/vendor/google/apiclient-services/src/Google/Service/Genomics/ListOperationsResponse.php new file mode 100644 index 00000000..f96a1025 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Genomics/ListOperationsResponse.php @@ -0,0 +1,41 @@ +nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setOperations($operations) + { + $this->operations = $operations; + } + public function getOperations() + { + return $this->operations; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Genomics/MergeVariantsRequest.php b/vendor/google/apiclient-services/src/Google/Service/Genomics/MergeVariantsRequest.php new file mode 100644 index 00000000..06dad4b0 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Genomics/MergeVariantsRequest.php @@ -0,0 +1,50 @@ +infoMergeConfig = $infoMergeConfig; + } + public function getInfoMergeConfig() + { + return $this->infoMergeConfig; + } + public function setVariantSetId($variantSetId) + { + $this->variantSetId = $variantSetId; + } + public function getVariantSetId() + { + return $this->variantSetId; + } + public function setVariants($variants) + { + $this->variants = $variants; + } + public function getVariants() + { + return $this->variants; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Genomics/Operation.php b/vendor/google/apiclient-services/src/Google/Service/Genomics/Operation.php new file mode 100644 index 00000000..1b28aa2c --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Genomics/Operation.php @@ -0,0 +1,67 @@ +done = $done; + } + public function getDone() + { + return $this->done; + } + public function setError(Google_Service_Genomics_Status $error) + { + $this->error = $error; + } + public function getError() + { + return $this->error; + } + public function setMetadata($metadata) + { + $this->metadata = $metadata; + } + public function getMetadata() + { + return $this->metadata; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setResponse($response) + { + $this->response = $response; + } + public function getResponse() + { + return $this->response; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Genomics/OperationEvent.php b/vendor/google/apiclient-services/src/Google/Service/Genomics/OperationEvent.php new file mode 100644 index 00000000..0c43648e --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Genomics/OperationEvent.php @@ -0,0 +1,48 @@ +description = $description; + } + public function getDescription() + { + return $this->description; + } + public function setEndTime($endTime) + { + $this->endTime = $endTime; + } + public function getEndTime() + { + return $this->endTime; + } + public function setStartTime($startTime) + { + $this->startTime = $startTime; + } + public function getStartTime() + { + return $this->startTime; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Genomics/OperationMetadata.php b/vendor/google/apiclient-services/src/Google/Service/Genomics/OperationMetadata.php new file mode 100644 index 00000000..04268ac8 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Genomics/OperationMetadata.php @@ -0,0 +1,104 @@ +clientId = $clientId; + } + public function getClientId() + { + return $this->clientId; + } + public function setCreateTime($createTime) + { + $this->createTime = $createTime; + } + public function getCreateTime() + { + return $this->createTime; + } + public function setEndTime($endTime) + { + $this->endTime = $endTime; + } + public function getEndTime() + { + return $this->endTime; + } + public function setEvents($events) + { + $this->events = $events; + } + public function getEvents() + { + return $this->events; + } + public function setLabels($labels) + { + $this->labels = $labels; + } + public function getLabels() + { + return $this->labels; + } + public function setProjectId($projectId) + { + $this->projectId = $projectId; + } + public function getProjectId() + { + return $this->projectId; + } + public function setRequest($request) + { + $this->request = $request; + } + public function getRequest() + { + return $this->request; + } + public function setRuntimeMetadata($runtimeMetadata) + { + $this->runtimeMetadata = $runtimeMetadata; + } + public function getRuntimeMetadata() + { + return $this->runtimeMetadata; + } + public function setStartTime($startTime) + { + $this->startTime = $startTime; + } + public function getStartTime() + { + return $this->startTime; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Genomics/Policy.php b/vendor/google/apiclient-services/src/Google/Service/Genomics/Policy.php new file mode 100644 index 00000000..7228e7bf --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Genomics/Policy.php @@ -0,0 +1,50 @@ +bindings = $bindings; + } + public function getBindings() + { + return $this->bindings; + } + public function setEtag($etag) + { + $this->etag = $etag; + } + public function getEtag() + { + return $this->etag; + } + public function setVersion($version) + { + $this->version = $version; + } + public function getVersion() + { + return $this->version; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Genomics/Position.php b/vendor/google/apiclient-services/src/Google/Service/Genomics/Position.php new file mode 100644 index 00000000..98be9f87 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Genomics/Position.php @@ -0,0 +1,48 @@ +position = $position; + } + public function getPosition() + { + return $this->position; + } + public function setReferenceName($referenceName) + { + $this->referenceName = $referenceName; + } + public function getReferenceName() + { + return $this->referenceName; + } + public function setReverseStrand($reverseStrand) + { + $this->reverseStrand = $reverseStrand; + } + public function getReverseStrand() + { + return $this->reverseStrand; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Genomics/Program.php b/vendor/google/apiclient-services/src/Google/Service/Genomics/Program.php new file mode 100644 index 00000000..94438673 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Genomics/Program.php @@ -0,0 +1,66 @@ +commandLine = $commandLine; + } + public function getCommandLine() + { + return $this->commandLine; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setPrevProgramId($prevProgramId) + { + $this->prevProgramId = $prevProgramId; + } + public function getPrevProgramId() + { + return $this->prevProgramId; + } + public function setVersion($version) + { + $this->version = $version; + } + public function getVersion() + { + return $this->version; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Genomics/Range.php b/vendor/google/apiclient-services/src/Google/Service/Genomics/Range.php new file mode 100644 index 00000000..04ca770b --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Genomics/Range.php @@ -0,0 +1,48 @@ +end = $end; + } + public function getEnd() + { + return $this->end; + } + public function setReferenceName($referenceName) + { + $this->referenceName = $referenceName; + } + public function getReferenceName() + { + return $this->referenceName; + } + public function setStart($start) + { + $this->start = $start; + } + public function getStart() + { + return $this->start; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Genomics/Read.php b/vendor/google/apiclient-services/src/Google/Service/Genomics/Read.php new file mode 100644 index 00000000..99aa8d60 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Genomics/Read.php @@ -0,0 +1,177 @@ +alignedQuality = $alignedQuality; + } + public function getAlignedQuality() + { + return $this->alignedQuality; + } + public function setAlignedSequence($alignedSequence) + { + $this->alignedSequence = $alignedSequence; + } + public function getAlignedSequence() + { + return $this->alignedSequence; + } + public function setAlignment(Google_Service_Genomics_LinearAlignment $alignment) + { + $this->alignment = $alignment; + } + public function getAlignment() + { + return $this->alignment; + } + public function setDuplicateFragment($duplicateFragment) + { + $this->duplicateFragment = $duplicateFragment; + } + public function getDuplicateFragment() + { + return $this->duplicateFragment; + } + public function setFailedVendorQualityChecks($failedVendorQualityChecks) + { + $this->failedVendorQualityChecks = $failedVendorQualityChecks; + } + public function getFailedVendorQualityChecks() + { + return $this->failedVendorQualityChecks; + } + public function setFragmentLength($fragmentLength) + { + $this->fragmentLength = $fragmentLength; + } + public function getFragmentLength() + { + return $this->fragmentLength; + } + public function setFragmentName($fragmentName) + { + $this->fragmentName = $fragmentName; + } + public function getFragmentName() + { + return $this->fragmentName; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setInfo($info) + { + $this->info = $info; + } + public function getInfo() + { + return $this->info; + } + public function setNextMatePosition(Google_Service_Genomics_Position $nextMatePosition) + { + $this->nextMatePosition = $nextMatePosition; + } + public function getNextMatePosition() + { + return $this->nextMatePosition; + } + public function setNumberReads($numberReads) + { + $this->numberReads = $numberReads; + } + public function getNumberReads() + { + return $this->numberReads; + } + public function setProperPlacement($properPlacement) + { + $this->properPlacement = $properPlacement; + } + public function getProperPlacement() + { + return $this->properPlacement; + } + public function setReadGroupId($readGroupId) + { + $this->readGroupId = $readGroupId; + } + public function getReadGroupId() + { + return $this->readGroupId; + } + public function setReadGroupSetId($readGroupSetId) + { + $this->readGroupSetId = $readGroupSetId; + } + public function getReadGroupSetId() + { + return $this->readGroupSetId; + } + public function setReadNumber($readNumber) + { + $this->readNumber = $readNumber; + } + public function getReadNumber() + { + return $this->readNumber; + } + public function setSecondaryAlignment($secondaryAlignment) + { + $this->secondaryAlignment = $secondaryAlignment; + } + public function getSecondaryAlignment() + { + return $this->secondaryAlignment; + } + public function setSupplementaryAlignment($supplementaryAlignment) + { + $this->supplementaryAlignment = $supplementaryAlignment; + } + public function getSupplementaryAlignment() + { + return $this->supplementaryAlignment; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Genomics/ReadGroup.php b/vendor/google/apiclient-services/src/Google/Service/Genomics/ReadGroup.php new file mode 100644 index 00000000..aa63bd32 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Genomics/ReadGroup.php @@ -0,0 +1,114 @@ +datasetId = $datasetId; + } + public function getDatasetId() + { + return $this->datasetId; + } + public function setDescription($description) + { + $this->description = $description; + } + public function getDescription() + { + return $this->description; + } + public function setExperiment(Google_Service_Genomics_Experiment $experiment) + { + $this->experiment = $experiment; + } + public function getExperiment() + { + return $this->experiment; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setInfo($info) + { + $this->info = $info; + } + public function getInfo() + { + return $this->info; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setPredictedInsertSize($predictedInsertSize) + { + $this->predictedInsertSize = $predictedInsertSize; + } + public function getPredictedInsertSize() + { + return $this->predictedInsertSize; + } + public function setPrograms($programs) + { + $this->programs = $programs; + } + public function getPrograms() + { + return $this->programs; + } + public function setReferenceSetId($referenceSetId) + { + $this->referenceSetId = $referenceSetId; + } + public function getReferenceSetId() + { + return $this->referenceSetId; + } + public function setSampleId($sampleId) + { + $this->sampleId = $sampleId; + } + public function getSampleId() + { + return $this->sampleId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Genomics/ReadGroupSet.php b/vendor/google/apiclient-services/src/Google/Service/Genomics/ReadGroupSet.php new file mode 100644 index 00000000..26d8871c --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Genomics/ReadGroupSet.php @@ -0,0 +1,86 @@ +datasetId = $datasetId; + } + public function getDatasetId() + { + return $this->datasetId; + } + public function setFilename($filename) + { + $this->filename = $filename; + } + public function getFilename() + { + return $this->filename; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setInfo($info) + { + $this->info = $info; + } + public function getInfo() + { + return $this->info; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setReadGroups($readGroups) + { + $this->readGroups = $readGroups; + } + public function getReadGroups() + { + return $this->readGroups; + } + public function setReferenceSetId($referenceSetId) + { + $this->referenceSetId = $referenceSetId; + } + public function getReferenceSetId() + { + return $this->referenceSetId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Genomics/Reference.php b/vendor/google/apiclient-services/src/Google/Service/Genomics/Reference.php new file mode 100644 index 00000000..c9184497 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Genomics/Reference.php @@ -0,0 +1,85 @@ +id = $id; + } + public function getId() + { + return $this->id; + } + public function setLength($length) + { + $this->length = $length; + } + public function getLength() + { + return $this->length; + } + public function setMd5checksum($md5checksum) + { + $this->md5checksum = $md5checksum; + } + public function getMd5checksum() + { + return $this->md5checksum; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setNcbiTaxonId($ncbiTaxonId) + { + $this->ncbiTaxonId = $ncbiTaxonId; + } + public function getNcbiTaxonId() + { + return $this->ncbiTaxonId; + } + public function setSourceAccessions($sourceAccessions) + { + $this->sourceAccessions = $sourceAccessions; + } + public function getSourceAccessions() + { + return $this->sourceAccessions; + } + public function setSourceUri($sourceUri) + { + $this->sourceUri = $sourceUri; + } + public function getSourceUri() + { + return $this->sourceUri; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Genomics/ReferenceBound.php b/vendor/google/apiclient-services/src/Google/Service/Genomics/ReferenceBound.php new file mode 100644 index 00000000..824d0c99 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Genomics/ReferenceBound.php @@ -0,0 +1,39 @@ +referenceName = $referenceName; + } + public function getReferenceName() + { + return $this->referenceName; + } + public function setUpperBound($upperBound) + { + $this->upperBound = $upperBound; + } + public function getUpperBound() + { + return $this->upperBound; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Genomics/ReferenceSet.php b/vendor/google/apiclient-services/src/Google/Service/Genomics/ReferenceSet.php new file mode 100644 index 00000000..d52726f1 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Genomics/ReferenceSet.php @@ -0,0 +1,94 @@ +assemblyId = $assemblyId; + } + public function getAssemblyId() + { + return $this->assemblyId; + } + public function setDescription($description) + { + $this->description = $description; + } + public function getDescription() + { + return $this->description; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setMd5checksum($md5checksum) + { + $this->md5checksum = $md5checksum; + } + public function getMd5checksum() + { + return $this->md5checksum; + } + public function setNcbiTaxonId($ncbiTaxonId) + { + $this->ncbiTaxonId = $ncbiTaxonId; + } + public function getNcbiTaxonId() + { + return $this->ncbiTaxonId; + } + public function setReferenceIds($referenceIds) + { + $this->referenceIds = $referenceIds; + } + public function getReferenceIds() + { + return $this->referenceIds; + } + public function setSourceAccessions($sourceAccessions) + { + $this->sourceAccessions = $sourceAccessions; + } + public function getSourceAccessions() + { + return $this->sourceAccessions; + } + public function setSourceUri($sourceUri) + { + $this->sourceUri = $sourceUri; + } + public function getSourceUri() + { + return $this->sourceUri; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Genomics/Resource/Annotations.php b/vendor/google/apiclient-services/src/Google/Service/Genomics/Resource/Annotations.php new file mode 100644 index 00000000..04837db9 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Genomics/Resource/Annotations.php @@ -0,0 +1,149 @@ + + * $genomicsService = new Google_Service_Genomics(...); + * $annotations = $genomicsService->annotations; + * + */ +class Google_Service_Genomics_Resource_Annotations extends Google_Service_Resource +{ + /** + * Creates one or more new annotations atomically. All annotations must belong + * to the same annotation set. Caller must have WRITE permission for this + * annotation set. For optimal performance, batch positionally adjacent + * annotations together. + * + * If the request has a systemic issue, such as an attempt to write to an + * inaccessible annotation set, the entire RPC will fail accordingly. For lesser + * data issues, when possible an error will be isolated to the corresponding + * batch entry in the response; the remaining well formed annotations will be + * created normally. + * + * For details on the requirements for each individual annotation resource, see + * CreateAnnotation. (annotations.batchCreate) + * + * @param Google_Service_Genomics_BatchCreateAnnotationsRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Genomics_BatchCreateAnnotationsResponse + */ + public function batchCreate(Google_Service_Genomics_BatchCreateAnnotationsRequest $postBody, $optParams = array()) + { + $params = array('postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('batchCreate', array($params), "Google_Service_Genomics_BatchCreateAnnotationsResponse"); + } + /** + * Creates a new annotation. Caller must have WRITE permission for the + * associated annotation set. + * + * The following fields are required: + * + * * annotationSetId * referenceName or referenceId + * + * ### Transcripts + * + * For annotations of type TRANSCRIPT, the following fields of transcript must + * be provided: + * + * * exons.start * exons.end + * + * All other fields may be optionally specified, unless documented as being + * server-generated (for example, the `id` field). The annotated range must be + * no longer than 100Mbp (mega base pairs). See the Annotation resource for + * additional restrictions on each field. (annotations.create) + * + * @param Google_Service_Genomics_Annotation $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Genomics_Annotation + */ + public function create(Google_Service_Genomics_Annotation $postBody, $optParams = array()) + { + $params = array('postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('create', array($params), "Google_Service_Genomics_Annotation"); + } + /** + * Deletes an annotation. Caller must have WRITE permission for the associated + * annotation set. (annotations.delete) + * + * @param string $annotationId The ID of the annotation to be deleted. + * @param array $optParams Optional parameters. + * @return Google_Service_Genomics_GenomicsEmpty + */ + public function delete($annotationId, $optParams = array()) + { + $params = array('annotationId' => $annotationId); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params), "Google_Service_Genomics_GenomicsEmpty"); + } + /** + * Gets an annotation. Caller must have READ permission for the associated + * annotation set. (annotations.get) + * + * @param string $annotationId The ID of the annotation to be retrieved. + * @param array $optParams Optional parameters. + * @return Google_Service_Genomics_Annotation + */ + public function get($annotationId, $optParams = array()) + { + $params = array('annotationId' => $annotationId); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Genomics_Annotation"); + } + /** + * Searches for annotations that match the given criteria. Results are ordered + * by genomic coordinate (by reference sequence, then position). Annotations + * with equivalent genomic coordinates are returned in an unspecified order. + * This order is consistent, such that two queries for the same content + * (regardless of page size) yield annotations in the same order across their + * respective streams of paginated responses. Caller must have READ permission + * for the queried annotation sets. (annotations.search) + * + * @param Google_Service_Genomics_SearchAnnotationsRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Genomics_SearchAnnotationsResponse + */ + public function search(Google_Service_Genomics_SearchAnnotationsRequest $postBody, $optParams = array()) + { + $params = array('postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('search', array($params), "Google_Service_Genomics_SearchAnnotationsResponse"); + } + /** + * Updates an annotation. Caller must have WRITE permission for the associated + * dataset. (annotations.update) + * + * @param string $annotationId The ID of the annotation to be updated. + * @param Google_Service_Genomics_Annotation $postBody + * @param array $optParams Optional parameters. + * + * @opt_param string updateMask An optional mask specifying which fields to + * update. Mutable fields are name, variant, transcript, and info. If + * unspecified, all mutable fields will be updated. + * @return Google_Service_Genomics_Annotation + */ + public function update($annotationId, Google_Service_Genomics_Annotation $postBody, $optParams = array()) + { + $params = array('annotationId' => $annotationId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('update', array($params), "Google_Service_Genomics_Annotation"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Genomics/Resource/Annotationsets.php b/vendor/google/apiclient-services/src/Google/Service/Genomics/Resource/Annotationsets.php new file mode 100644 index 00000000..662715ab --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Genomics/Resource/Annotationsets.php @@ -0,0 +1,116 @@ + + * $genomicsService = new Google_Service_Genomics(...); + * $annotationsets = $genomicsService->annotationsets; + * + */ +class Google_Service_Genomics_Resource_Annotationsets extends Google_Service_Resource +{ + /** + * Creates a new annotation set. Caller must have WRITE permission for the + * associated dataset. + * + * The following fields are required: + * + * * datasetId * referenceSetId + * + * All other fields may be optionally specified, unless documented as being + * server-generated (for example, the `id` field). (annotationsets.create) + * + * @param Google_Service_Genomics_AnnotationSet $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Genomics_AnnotationSet + */ + public function create(Google_Service_Genomics_AnnotationSet $postBody, $optParams = array()) + { + $params = array('postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('create', array($params), "Google_Service_Genomics_AnnotationSet"); + } + /** + * Deletes an annotation set. Caller must have WRITE permission for the + * associated annotation set. (annotationsets.delete) + * + * @param string $annotationSetId The ID of the annotation set to be deleted. + * @param array $optParams Optional parameters. + * @return Google_Service_Genomics_GenomicsEmpty + */ + public function delete($annotationSetId, $optParams = array()) + { + $params = array('annotationSetId' => $annotationSetId); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params), "Google_Service_Genomics_GenomicsEmpty"); + } + /** + * Gets an annotation set. Caller must have READ permission for the associated + * dataset. (annotationsets.get) + * + * @param string $annotationSetId The ID of the annotation set to be retrieved. + * @param array $optParams Optional parameters. + * @return Google_Service_Genomics_AnnotationSet + */ + public function get($annotationSetId, $optParams = array()) + { + $params = array('annotationSetId' => $annotationSetId); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Genomics_AnnotationSet"); + } + /** + * Searches for annotation sets that match the given criteria. Annotation sets + * are returned in an unspecified order. This order is consistent, such that two + * queries for the same content (regardless of page size) yield annotation sets + * in the same order across their respective streams of paginated responses. + * Caller must have READ permission for the queried datasets. + * (annotationsets.search) + * + * @param Google_Service_Genomics_SearchAnnotationSetsRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Genomics_SearchAnnotationSetsResponse + */ + public function search(Google_Service_Genomics_SearchAnnotationSetsRequest $postBody, $optParams = array()) + { + $params = array('postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('search', array($params), "Google_Service_Genomics_SearchAnnotationSetsResponse"); + } + /** + * Updates an annotation set. The update must respect all mutability + * restrictions and other invariants described on the annotation set resource. + * Caller must have WRITE permission for the associated dataset. + * (annotationsets.update) + * + * @param string $annotationSetId The ID of the annotation set to be updated. + * @param Google_Service_Genomics_AnnotationSet $postBody + * @param array $optParams Optional parameters. + * + * @opt_param string updateMask An optional mask specifying which fields to + * update. Mutable fields are name, source_uri, and info. If unspecified, all + * mutable fields will be updated. + * @return Google_Service_Genomics_AnnotationSet + */ + public function update($annotationSetId, Google_Service_Genomics_AnnotationSet $postBody, $optParams = array()) + { + $params = array('annotationSetId' => $annotationSetId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('update', array($params), "Google_Service_Genomics_AnnotationSet"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Genomics/Resource/Callsets.php b/vendor/google/apiclient-services/src/Google/Service/Genomics/Resource/Callsets.php new file mode 100644 index 00000000..5d406429 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Genomics/Resource/Callsets.php @@ -0,0 +1,124 @@ + + * $genomicsService = new Google_Service_Genomics(...); + * $callsets = $genomicsService->callsets; + * + */ +class Google_Service_Genomics_Resource_Callsets extends Google_Service_Resource +{ + /** + * Creates a new call set. + * + * For the definitions of call sets and other genomics resources, see + * [Fundamentals of Google Genomics](https://cloud.google.com/genomics + * /fundamentals-of-google-genomics) (callsets.create) + * + * @param Google_Service_Genomics_CallSet $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Genomics_CallSet + */ + public function create(Google_Service_Genomics_CallSet $postBody, $optParams = array()) + { + $params = array('postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('create', array($params), "Google_Service_Genomics_CallSet"); + } + /** + * Deletes a call set. + * + * For the definitions of call sets and other genomics resources, see + * [Fundamentals of Google Genomics](https://cloud.google.com/genomics + * /fundamentals-of-google-genomics) (callsets.delete) + * + * @param string $callSetId The ID of the call set to be deleted. + * @param array $optParams Optional parameters. + * @return Google_Service_Genomics_GenomicsEmpty + */ + public function delete($callSetId, $optParams = array()) + { + $params = array('callSetId' => $callSetId); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params), "Google_Service_Genomics_GenomicsEmpty"); + } + /** + * Gets a call set by ID. + * + * For the definitions of call sets and other genomics resources, see + * [Fundamentals of Google Genomics](https://cloud.google.com/genomics + * /fundamentals-of-google-genomics) (callsets.get) + * + * @param string $callSetId The ID of the call set. + * @param array $optParams Optional parameters. + * @return Google_Service_Genomics_CallSet + */ + public function get($callSetId, $optParams = array()) + { + $params = array('callSetId' => $callSetId); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Genomics_CallSet"); + } + /** + * Updates a call set. + * + * For the definitions of call sets and other genomics resources, see + * [Fundamentals of Google Genomics](https://cloud.google.com/genomics + * /fundamentals-of-google-genomics) + * + * This method supports patch semantics. (callsets.patch) + * + * @param string $callSetId The ID of the call set to be updated. + * @param Google_Service_Genomics_CallSet $postBody + * @param array $optParams Optional parameters. + * + * @opt_param string updateMask An optional mask specifying which fields to + * update. At this time, the only mutable field is name. The only acceptable + * value is "name". If unspecified, all mutable fields will be updated. + * @return Google_Service_Genomics_CallSet + */ + public function patch($callSetId, Google_Service_Genomics_CallSet $postBody, $optParams = array()) + { + $params = array('callSetId' => $callSetId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('patch', array($params), "Google_Service_Genomics_CallSet"); + } + /** + * Gets a list of call sets matching the criteria. + * + * For the definitions of call sets and other genomics resources, see + * [Fundamentals of Google Genomics](https://cloud.google.com/genomics + * /fundamentals-of-google-genomics) + * + * Implements [GlobalAllianceApi.searchCallSets](https://github.com/ga4gh/schema + * s/blob/v0.5.1/src/main/resources/avro/variantmethods.avdl#L178). + * (callsets.search) + * + * @param Google_Service_Genomics_SearchCallSetsRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Genomics_SearchCallSetsResponse + */ + public function search(Google_Service_Genomics_SearchCallSetsRequest $postBody, $optParams = array()) + { + $params = array('postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('search', array($params), "Google_Service_Genomics_SearchCallSetsResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Genomics/Resource/Datasets.php b/vendor/google/apiclient-services/src/Google/Service/Genomics/Resource/Datasets.php new file mode 100644 index 00000000..f989c1f0 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Genomics/Resource/Datasets.php @@ -0,0 +1,214 @@ + + * $genomicsService = new Google_Service_Genomics(...); + * $datasets = $genomicsService->datasets; + * + */ +class Google_Service_Genomics_Resource_Datasets extends Google_Service_Resource +{ + /** + * Creates a new dataset. + * + * For the definitions of datasets and other genomics resources, see + * [Fundamentals of Google Genomics](https://cloud.google.com/genomics + * /fundamentals-of-google-genomics) (datasets.create) + * + * @param Google_Service_Genomics_Dataset $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Genomics_Dataset + */ + public function create(Google_Service_Genomics_Dataset $postBody, $optParams = array()) + { + $params = array('postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('create', array($params), "Google_Service_Genomics_Dataset"); + } + /** + * Deletes a dataset and all of its contents (all read group sets, reference + * sets, variant sets, call sets, annotation sets, etc.) This is reversible (up + * to one week after the deletion) via the datasets.undelete operation. + * + * For the definitions of datasets and other genomics resources, see + * [Fundamentals of Google Genomics](https://cloud.google.com/genomics + * /fundamentals-of-google-genomics) (datasets.delete) + * + * @param string $datasetId The ID of the dataset to be deleted. + * @param array $optParams Optional parameters. + * @return Google_Service_Genomics_GenomicsEmpty + */ + public function delete($datasetId, $optParams = array()) + { + $params = array('datasetId' => $datasetId); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params), "Google_Service_Genomics_GenomicsEmpty"); + } + /** + * Gets a dataset by ID. + * + * For the definitions of datasets and other genomics resources, see + * [Fundamentals of Google Genomics](https://cloud.google.com/genomics + * /fundamentals-of-google-genomics) (datasets.get) + * + * @param string $datasetId The ID of the dataset. + * @param array $optParams Optional parameters. + * @return Google_Service_Genomics_Dataset + */ + public function get($datasetId, $optParams = array()) + { + $params = array('datasetId' => $datasetId); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Genomics_Dataset"); + } + /** + * Gets the access control policy for the dataset. This is empty if the policy + * or resource does not exist. + * + * See Getting a Policy for more information. + * + * For the definitions of datasets and other genomics resources, see + * [Fundamentals of Google Genomics](https://cloud.google.com/genomics + * /fundamentals-of-google-genomics) (datasets.getIamPolicy) + * + * @param string $resource REQUIRED: The resource for which policy is being + * specified. Format is `datasets/`. + * @param Google_Service_Genomics_GetIamPolicyRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Genomics_Policy + */ + public function getIamPolicy($resource, Google_Service_Genomics_GetIamPolicyRequest $postBody, $optParams = array()) + { + $params = array('resource' => $resource, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('getIamPolicy', array($params), "Google_Service_Genomics_Policy"); + } + /** + * Lists datasets within a project. + * + * For the definitions of datasets and other genomics resources, see + * [Fundamentals of Google Genomics](https://cloud.google.com/genomics + * /fundamentals-of-google-genomics) (datasets.listDatasets) + * + * @param array $optParams Optional parameters. + * + * @opt_param string pageToken The continuation token, which is used to page + * through large result sets. To get the next page of results, set this + * parameter to the value of `nextPageToken` from the previous response. + * @opt_param int pageSize The maximum number of results to return in a single + * page. If unspecified, defaults to 50. The maximum value is 1024. + * @opt_param string projectId Required. The Google Cloud project ID to list + * datasets for. + * @return Google_Service_Genomics_ListDatasetsResponse + */ + public function listDatasets($optParams = array()) + { + $params = array(); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Genomics_ListDatasetsResponse"); + } + /** + * Updates a dataset. + * + * For the definitions of datasets and other genomics resources, see + * [Fundamentals of Google Genomics](https://cloud.google.com/genomics + * /fundamentals-of-google-genomics) + * + * This method supports patch semantics. (datasets.patch) + * + * @param string $datasetId The ID of the dataset to be updated. + * @param Google_Service_Genomics_Dataset $postBody + * @param array $optParams Optional parameters. + * + * @opt_param string updateMask An optional mask specifying which fields to + * update. At this time, the only mutable field is name. The only acceptable + * value is "name". If unspecified, all mutable fields will be updated. + * @return Google_Service_Genomics_Dataset + */ + public function patch($datasetId, Google_Service_Genomics_Dataset $postBody, $optParams = array()) + { + $params = array('datasetId' => $datasetId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('patch', array($params), "Google_Service_Genomics_Dataset"); + } + /** + * Sets the access control policy on the specified dataset. Replaces any + * existing policy. + * + * For the definitions of datasets and other genomics resources, see + * [Fundamentals of Google Genomics](https://cloud.google.com/genomics + * /fundamentals-of-google-genomics) + * + * See Setting a Policy for more information. (datasets.setIamPolicy) + * + * @param string $resource REQUIRED: The resource for which policy is being + * specified. Format is `datasets/`. + * @param Google_Service_Genomics_SetIamPolicyRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Genomics_Policy + */ + public function setIamPolicy($resource, Google_Service_Genomics_SetIamPolicyRequest $postBody, $optParams = array()) + { + $params = array('resource' => $resource, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('setIamPolicy', array($params), "Google_Service_Genomics_Policy"); + } + /** + * Returns permissions that a caller has on the specified resource. See Testing + * Permissions for more information. + * + * For the definitions of datasets and other genomics resources, see + * [Fundamentals of Google Genomics](https://cloud.google.com/genomics + * /fundamentals-of-google-genomics) (datasets.testIamPermissions) + * + * @param string $resource REQUIRED: The resource for which policy is being + * specified. Format is `datasets/`. + * @param Google_Service_Genomics_TestIamPermissionsRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Genomics_TestIamPermissionsResponse + */ + public function testIamPermissions($resource, Google_Service_Genomics_TestIamPermissionsRequest $postBody, $optParams = array()) + { + $params = array('resource' => $resource, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('testIamPermissions', array($params), "Google_Service_Genomics_TestIamPermissionsResponse"); + } + /** + * Undeletes a dataset by restoring a dataset which was deleted via this API. + * + * For the definitions of datasets and other genomics resources, see + * [Fundamentals of Google Genomics](https://cloud.google.com/genomics + * /fundamentals-of-google-genomics) + * + * This operation is only possible for a week after the deletion occurred. + * (datasets.undelete) + * + * @param string $datasetId The ID of the dataset to be undeleted. + * @param Google_Service_Genomics_UndeleteDatasetRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Genomics_Dataset + */ + public function undelete($datasetId, Google_Service_Genomics_UndeleteDatasetRequest $postBody, $optParams = array()) + { + $params = array('datasetId' => $datasetId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('undelete', array($params), "Google_Service_Genomics_Dataset"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Genomics/Resource/Operations.php b/vendor/google/apiclient-services/src/Google/Service/Genomics/Resource/Operations.php new file mode 100644 index 00000000..982df693 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Genomics/Resource/Operations.php @@ -0,0 +1,94 @@ + + * $genomicsService = new Google_Service_Genomics(...); + * $operations = $genomicsService->operations; + * + */ +class Google_Service_Genomics_Resource_Operations extends Google_Service_Resource +{ + /** + * Starts asynchronous cancellation on a long-running operation. The server + * makes a best effort to cancel the operation, but success is not guaranteed. + * Clients may use Operations.GetOperation or Operations.ListOperations to check + * whether the cancellation succeeded or the operation completed despite + * cancellation. (operations.cancel) + * + * @param string $name The name of the operation resource to be cancelled. + * @param Google_Service_Genomics_CancelOperationRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Genomics_GenomicsEmpty + */ + public function cancel($name, Google_Service_Genomics_CancelOperationRequest $postBody, $optParams = array()) + { + $params = array('name' => $name, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('cancel', array($params), "Google_Service_Genomics_GenomicsEmpty"); + } + /** + * Gets the latest state of a long-running operation. Clients can use this + * method to poll the operation result at intervals as recommended by the API + * service. (operations.get) + * + * @param string $name The name of the operation resource. + * @param array $optParams Optional parameters. + * @return Google_Service_Genomics_Operation + */ + public function get($name, $optParams = array()) + { + $params = array('name' => $name); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Genomics_Operation"); + } + /** + * Lists operations that match the specified filter in the request. + * (operations.listOperations) + * + * @param string $name The name of the operation collection. + * @param array $optParams Optional parameters. + * + * @opt_param string filter A string for filtering Operations. The following + * filter fields are supported + * + * * projectId Required. Corresponds to OperationMetadata.projectId. * + * createTime The time this job was created, in seconds from the + * [epoch](http://en.wikipedia.org/wiki/Unix_time). Can use `>=` and/or `<=` + * operators. * status Can be `RUNNING`, `SUCCESS`, `FAILURE`, or `CANCELED`. + * Only one status may be specified. * labels.key where key is a label key. + * + * Examples + * + * * `projectId = my-project AND createTime >= 1432140000` * `projectId = my- + * project AND createTime >= 1432140000 AND createTime <= 1432150000 AND status + * = RUNNING` * `projectId = my-project AND labels.color = *` * `projectId = my- + * project AND labels.color = red` + * @opt_param string pageToken The standard list page token. + * @opt_param int pageSize The maximum number of results to return. If + * unspecified, defaults to 256. The maximum value is 2048. + * @return Google_Service_Genomics_ListOperationsResponse + */ + public function listOperations($name, $optParams = array()) + { + $params = array('name' => $name); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Genomics_ListOperationsResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Genomics/Resource/Readgroupsets.php b/vendor/google/apiclient-services/src/Google/Service/Genomics/Resource/Readgroupsets.php new file mode 100644 index 00000000..d8c1bf5e --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Genomics/Resource/Readgroupsets.php @@ -0,0 +1,166 @@ + + * $genomicsService = new Google_Service_Genomics(...); + * $readgroupsets = $genomicsService->readgroupsets; + * + */ +class Google_Service_Genomics_Resource_Readgroupsets extends Google_Service_Resource +{ + /** + * Deletes a read group set. + * + * For the definitions of read group sets and other genomics resources, see + * [Fundamentals of Google Genomics](https://cloud.google.com/genomics + * /fundamentals-of-google-genomics) (readgroupsets.delete) + * + * @param string $readGroupSetId The ID of the read group set to be deleted. The + * caller must have WRITE permissions to the dataset associated with this read + * group set. + * @param array $optParams Optional parameters. + * @return Google_Service_Genomics_GenomicsEmpty + */ + public function delete($readGroupSetId, $optParams = array()) + { + $params = array('readGroupSetId' => $readGroupSetId); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params), "Google_Service_Genomics_GenomicsEmpty"); + } + /** + * Exports a read group set to a BAM file in Google Cloud Storage. + * + * For the definitions of read group sets and other genomics resources, see + * [Fundamentals of Google Genomics](https://cloud.google.com/genomics + * /fundamentals-of-google-genomics) + * + * Note that currently there may be some differences between exported BAM files + * and the original BAM file at the time of import. See ImportReadGroupSets for + * caveats. (readgroupsets.export) + * + * @param string $readGroupSetId Required. The ID of the read group set to + * export. The caller must have READ access to this read group set. + * @param Google_Service_Genomics_ExportReadGroupSetRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Genomics_Operation + */ + public function export($readGroupSetId, Google_Service_Genomics_ExportReadGroupSetRequest $postBody, $optParams = array()) + { + $params = array('readGroupSetId' => $readGroupSetId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('export', array($params), "Google_Service_Genomics_Operation"); + } + /** + * Gets a read group set by ID. + * + * For the definitions of read group sets and other genomics resources, see + * [Fundamentals of Google Genomics](https://cloud.google.com/genomics + * /fundamentals-of-google-genomics) (readgroupsets.get) + * + * @param string $readGroupSetId The ID of the read group set. + * @param array $optParams Optional parameters. + * @return Google_Service_Genomics_ReadGroupSet + */ + public function get($readGroupSetId, $optParams = array()) + { + $params = array('readGroupSetId' => $readGroupSetId); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Genomics_ReadGroupSet"); + } + /** + * Creates read group sets by asynchronously importing the provided information. + * + * For the definitions of read group sets and other genomics resources, see + * [Fundamentals of Google Genomics](https://cloud.google.com/genomics + * /fundamentals-of-google-genomics) + * + * The caller must have WRITE permissions to the dataset. + * + * ## Notes on [BAM](https://samtools.github.io/hts-specs/SAMv1.pdf) import + * + * - Tags will be converted to strings - tag types are not preserved - Comments + * (`@CO`) in the input file header will not be preserved - Original header + * order of references (`@SQ`) will not be preserved - Any reverse stranded + * unmapped reads will be reverse complemented, and their qualities (also the + * "BQ" and "OQ" tags, if any) will be reversed - Unmapped reads will be + * stripped of positional information (reference name and position) + * (readgroupsets.import) + * + * @param Google_Service_Genomics_ImportReadGroupSetsRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Genomics_Operation + */ + public function import(Google_Service_Genomics_ImportReadGroupSetsRequest $postBody, $optParams = array()) + { + $params = array('postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('import', array($params), "Google_Service_Genomics_Operation"); + } + /** + * Updates a read group set. + * + * For the definitions of read group sets and other genomics resources, see + * [Fundamentals of Google Genomics](https://cloud.google.com/genomics + * /fundamentals-of-google-genomics) + * + * This method supports patch semantics. (readgroupsets.patch) + * + * @param string $readGroupSetId The ID of the read group set to be updated. The + * caller must have WRITE permissions to the dataset associated with this read + * group set. + * @param Google_Service_Genomics_ReadGroupSet $postBody + * @param array $optParams Optional parameters. + * + * @opt_param string updateMask An optional mask specifying which fields to + * update. Supported fields: + * + * * name. * referenceSetId. + * + * Leaving `updateMask` unset is equivalent to specifying all mutable fields. + * @return Google_Service_Genomics_ReadGroupSet + */ + public function patch($readGroupSetId, Google_Service_Genomics_ReadGroupSet $postBody, $optParams = array()) + { + $params = array('readGroupSetId' => $readGroupSetId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('patch', array($params), "Google_Service_Genomics_ReadGroupSet"); + } + /** + * Searches for read group sets matching the criteria. + * + * For the definitions of read group sets and other genomics resources, see + * [Fundamentals of Google Genomics](https://cloud.google.com/genomics + * /fundamentals-of-google-genomics) + * + * Implements [GlobalAllianceApi.searchReadGroupSets](https://github.com/ga4gh/s + * chemas/blob/v0.5.1/src/main/resources/avro/readmethods.avdl#L135). + * (readgroupsets.search) + * + * @param Google_Service_Genomics_SearchReadGroupSetsRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Genomics_SearchReadGroupSetsResponse + */ + public function search(Google_Service_Genomics_SearchReadGroupSetsRequest $postBody, $optParams = array()) + { + $params = array('postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('search', array($params), "Google_Service_Genomics_SearchReadGroupSetsResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Genomics/Resource/ReadgroupsetsCoveragebuckets.php b/vendor/google/apiclient-services/src/Google/Service/Genomics/Resource/ReadgroupsetsCoveragebuckets.php new file mode 100644 index 00000000..6f17a4c0 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Genomics/Resource/ReadgroupsetsCoveragebuckets.php @@ -0,0 +1,75 @@ + + * $genomicsService = new Google_Service_Genomics(...); + * $coveragebuckets = $genomicsService->coveragebuckets; + * + */ +class Google_Service_Genomics_Resource_ReadgroupsetsCoveragebuckets extends Google_Service_Resource +{ + /** + * Lists fixed width coverage buckets for a read group set, each of which + * correspond to a range of a reference sequence. Each bucket summarizes + * coverage information across its corresponding genomic range. + * + * For the definitions of read group sets and other genomics resources, see + * [Fundamentals of Google Genomics](https://cloud.google.com/genomics + * /fundamentals-of-google-genomics) + * + * Coverage is defined as the number of reads which are aligned to a given base + * in the reference sequence. Coverage buckets are available at several + * precomputed bucket widths, enabling retrieval of various coverage 'zoom + * levels'. The caller must have READ permissions for the target read group set. + * (coveragebuckets.listReadgroupsetsCoveragebuckets) + * + * @param string $readGroupSetId Required. The ID of the read group set over + * which coverage is requested. + * @param array $optParams Optional parameters. + * + * @opt_param string targetBucketWidth The desired width of each reported + * coverage bucket in base pairs. This will be rounded down to the nearest + * precomputed bucket width; the value of which is returned as `bucketWidth` in + * the response. Defaults to infinity (each bucket spans an entire reference + * sequence) or the length of the target range, if specified. The smallest + * precomputed `bucketWidth` is currently 2048 base pairs; this is subject to + * change. + * @opt_param string referenceName The name of the reference to query, within + * the reference set associated with this query. Optional. + * @opt_param string end The end position of the range on the reference, 0-based + * exclusive. If specified, `referenceName` must also be specified. If unset or + * 0, defaults to the length of the reference. + * @opt_param string pageToken The continuation token, which is used to page + * through large result sets. To get the next page of results, set this + * parameter to the value of `nextPageToken` from the previous response. + * @opt_param int pageSize The maximum number of results to return in a single + * page. If unspecified, defaults to 1024. The maximum value is 2048. + * @opt_param string start The start position of the range on the reference, + * 0-based inclusive. If specified, `referenceName` must also be specified. + * Defaults to 0. + * @return Google_Service_Genomics_ListCoverageBucketsResponse + */ + public function listReadgroupsetsCoveragebuckets($readGroupSetId, $optParams = array()) + { + $params = array('readGroupSetId' => $readGroupSetId); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Genomics_ListCoverageBucketsResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Genomics/Resource/Reads.php b/vendor/google/apiclient-services/src/Google/Service/Genomics/Resource/Reads.php new file mode 100644 index 00000000..a900fa94 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Genomics/Resource/Reads.php @@ -0,0 +1,64 @@ + + * $genomicsService = new Google_Service_Genomics(...); + * $reads = $genomicsService->reads; + * + */ +class Google_Service_Genomics_Resource_Reads extends Google_Service_Resource +{ + /** + * Gets a list of reads for one or more read group sets. + * + * For the definitions of read group sets and other genomics resources, see + * [Fundamentals of Google Genomics](https://cloud.google.com/genomics + * /fundamentals-of-google-genomics) + * + * Reads search operates over a genomic coordinate space of reference sequence & + * position defined over the reference sequences to which the requested read + * group sets are aligned. + * + * If a target positional range is specified, search returns all reads whose + * alignment to the reference genome overlap the range. A query which specifies + * only read group set IDs yields all reads in those read group sets, including + * unmapped reads. + * + * All reads returned (including reads on subsequent pages) are ordered by + * genomic coordinate (by reference sequence, then position). Reads with + * equivalent genomic coordinates are returned in an unspecified order. This + * order is consistent, such that two queries for the same content (regardless + * of page size) yield reads in the same order across their respective streams + * of paginated responses. + * + * Implements [GlobalAllianceApi.searchReads](https://github.com/ga4gh/schemas/b + * lob/v0.5.1/src/main/resources/avro/readmethods.avdl#L85). (reads.search) + * + * @param Google_Service_Genomics_SearchReadsRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Genomics_SearchReadsResponse + */ + public function search(Google_Service_Genomics_SearchReadsRequest $postBody, $optParams = array()) + { + $params = array('postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('search', array($params), "Google_Service_Genomics_SearchReadsResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Genomics/Resource/References.php b/vendor/google/apiclient-services/src/Google/Service/Genomics/Resource/References.php new file mode 100644 index 00000000..f52fd8f8 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Genomics/Resource/References.php @@ -0,0 +1,70 @@ + + * $genomicsService = new Google_Service_Genomics(...); + * $references = $genomicsService->references; + * + */ +class Google_Service_Genomics_Resource_References extends Google_Service_Resource +{ + /** + * Gets a reference. + * + * For the definitions of references and other genomics resources, see + * [Fundamentals of Google Genomics](https://cloud.google.com/genomics + * /fundamentals-of-google-genomics) + * + * Implements [GlobalAllianceApi.getReference](https://github.com/ga4gh/schemas/ + * blob/v0.5.1/src/main/resources/avro/referencemethods.avdl#L158). + * (references.get) + * + * @param string $referenceId The ID of the reference. + * @param array $optParams Optional parameters. + * @return Google_Service_Genomics_Reference + */ + public function get($referenceId, $optParams = array()) + { + $params = array('referenceId' => $referenceId); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Genomics_Reference"); + } + /** + * Searches for references which match the given criteria. + * + * For the definitions of references and other genomics resources, see + * [Fundamentals of Google Genomics](https://cloud.google.com/genomics + * /fundamentals-of-google-genomics) + * + * Implements [GlobalAllianceApi.searchReferences](https://github.com/ga4gh/sche + * mas/blob/v0.5.1/src/main/resources/avro/referencemethods.avdl#L146). + * (references.search) + * + * @param Google_Service_Genomics_SearchReferencesRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Genomics_SearchReferencesResponse + */ + public function search(Google_Service_Genomics_SearchReferencesRequest $postBody, $optParams = array()) + { + $params = array('postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('search', array($params), "Google_Service_Genomics_SearchReferencesResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Genomics/Resource/ReferencesBases.php b/vendor/google/apiclient-services/src/Google/Service/Genomics/Resource/ReferencesBases.php new file mode 100644 index 00000000..0e425078 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Genomics/Resource/ReferencesBases.php @@ -0,0 +1,60 @@ + + * $genomicsService = new Google_Service_Genomics(...); + * $bases = $genomicsService->bases; + * + */ +class Google_Service_Genomics_Resource_ReferencesBases extends Google_Service_Resource +{ + /** + * Lists the bases in a reference, optionally restricted to a range. + * + * For the definitions of references and other genomics resources, see + * [Fundamentals of Google Genomics](https://cloud.google.com/genomics + * /fundamentals-of-google-genomics) + * + * Implements [GlobalAllianceApi.getReferenceBases](https://github.com/ga4gh/sch + * emas/blob/v0.5.1/src/main/resources/avro/referencemethods.avdl#L221). + * (bases.listReferencesBases) + * + * @param string $referenceId The ID of the reference. + * @param array $optParams Optional parameters. + * + * @opt_param string pageToken The continuation token, which is used to page + * through large result sets. To get the next page of results, set this + * parameter to the value of `nextPageToken` from the previous response. + * @opt_param int pageSize The maximum number of bases to return in a single + * page. If unspecified, defaults to 200Kbp (kilo base pairs). The maximum value + * is 10Mbp (mega base pairs). + * @opt_param string start The start position (0-based) of this query. Defaults + * to 0. + * @opt_param string end The end position (0-based, exclusive) of this query. + * Defaults to the length of this reference. + * @return Google_Service_Genomics_ListBasesResponse + */ + public function listReferencesBases($referenceId, $optParams = array()) + { + $params = array('referenceId' => $referenceId); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Genomics_ListBasesResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Genomics/Resource/Referencesets.php b/vendor/google/apiclient-services/src/Google/Service/Genomics/Resource/Referencesets.php new file mode 100644 index 00000000..4b5df535 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Genomics/Resource/Referencesets.php @@ -0,0 +1,70 @@ + + * $genomicsService = new Google_Service_Genomics(...); + * $referencesets = $genomicsService->referencesets; + * + */ +class Google_Service_Genomics_Resource_Referencesets extends Google_Service_Resource +{ + /** + * Gets a reference set. + * + * For the definitions of references and other genomics resources, see + * [Fundamentals of Google Genomics](https://cloud.google.com/genomics + * /fundamentals-of-google-genomics) + * + * Implements [GlobalAllianceApi.getReferenceSet](https://github.com/ga4gh/schem + * as/blob/v0.5.1/src/main/resources/avro/referencemethods.avdl#L83). + * (referencesets.get) + * + * @param string $referenceSetId The ID of the reference set. + * @param array $optParams Optional parameters. + * @return Google_Service_Genomics_ReferenceSet + */ + public function get($referenceSetId, $optParams = array()) + { + $params = array('referenceSetId' => $referenceSetId); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Genomics_ReferenceSet"); + } + /** + * Searches for reference sets which match the given criteria. + * + * For the definitions of references and other genomics resources, see + * [Fundamentals of Google Genomics](https://cloud.google.com/genomics + * /fundamentals-of-google-genomics) + * + * Implements [GlobalAllianceApi.searchReferenceSets](https://github.com/ga4gh/s + * chemas/blob/v0.5.1/src/main/resources/avro/referencemethods.avdl#L71) + * (referencesets.search) + * + * @param Google_Service_Genomics_SearchReferenceSetsRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Genomics_SearchReferenceSetsResponse + */ + public function search(Google_Service_Genomics_SearchReferenceSetsRequest $postBody, $optParams = array()) + { + $params = array('postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('search', array($params), "Google_Service_Genomics_SearchReferenceSetsResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Genomics/Resource/Variants.php b/vendor/google/apiclient-services/src/Google/Service/Genomics/Resource/Variants.php new file mode 100644 index 00000000..6a13199b --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Genomics/Resource/Variants.php @@ -0,0 +1,213 @@ + + * $genomicsService = new Google_Service_Genomics(...); + * $variants = $genomicsService->variants; + * + */ +class Google_Service_Genomics_Resource_Variants extends Google_Service_Resource +{ + /** + * Creates a new variant. + * + * For the definitions of variants and other genomics resources, see + * [Fundamentals of Google Genomics](https://cloud.google.com/genomics + * /fundamentals-of-google-genomics) (variants.create) + * + * @param Google_Service_Genomics_Variant $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Genomics_Variant + */ + public function create(Google_Service_Genomics_Variant $postBody, $optParams = array()) + { + $params = array('postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('create', array($params), "Google_Service_Genomics_Variant"); + } + /** + * Deletes a variant. + * + * For the definitions of variants and other genomics resources, see + * [Fundamentals of Google Genomics](https://cloud.google.com/genomics + * /fundamentals-of-google-genomics) (variants.delete) + * + * @param string $variantId The ID of the variant to be deleted. + * @param array $optParams Optional parameters. + * @return Google_Service_Genomics_GenomicsEmpty + */ + public function delete($variantId, $optParams = array()) + { + $params = array('variantId' => $variantId); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params), "Google_Service_Genomics_GenomicsEmpty"); + } + /** + * Gets a variant by ID. + * + * For the definitions of variants and other genomics resources, see + * [Fundamentals of Google Genomics](https://cloud.google.com/genomics + * /fundamentals-of-google-genomics) (variants.get) + * + * @param string $variantId The ID of the variant. + * @param array $optParams Optional parameters. + * @return Google_Service_Genomics_Variant + */ + public function get($variantId, $optParams = array()) + { + $params = array('variantId' => $variantId); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Genomics_Variant"); + } + /** + * Creates variant data by asynchronously importing the provided information. + * + * For the definitions of variant sets and other genomics resources, see + * [Fundamentals of Google Genomics](https://cloud.google.com/genomics + * /fundamentals-of-google-genomics) + * + * The variants for import will be merged with any existing variant that matches + * its reference sequence, start, end, reference bases, and alternative bases. + * If no such variant exists, a new one will be created. + * + * When variants are merged, the call information from the new variant is added + * to the existing variant, and Variant info fields are merged as specified in + * infoMergeConfig. As a special case, for single-sample VCF files, QUAL and + * FILTER fields will be moved to the call level; these are sometimes + * interpreted in a call-specific context. Imported VCF headers are appended to + * the metadata already in a variant set. (variants.import) + * + * @param Google_Service_Genomics_ImportVariantsRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Genomics_Operation + */ + public function import(Google_Service_Genomics_ImportVariantsRequest $postBody, $optParams = array()) + { + $params = array('postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('import', array($params), "Google_Service_Genomics_Operation"); + } + /** + * Merges the given variants with existing variants. + * + * For the definitions of variants and other genomics resources, see + * [Fundamentals of Google Genomics](https://cloud.google.com/genomics + * /fundamentals-of-google-genomics) + * + * Each variant will be merged with an existing variant that matches its + * reference sequence, start, end, reference bases, and alternative bases. If no + * such variant exists, a new one will be created. + * + * When variants are merged, the call information from the new variant is added + * to the existing variant. Variant info fields are merged as specified in the + * infoMergeConfig field of the MergeVariantsRequest. + * + * Please exercise caution when using this method! It is easy to introduce + * mistakes in existing variants and difficult to back out of them. For + * example, suppose you were trying to merge a new variant with an existing one + * and both variants contain calls that belong to callsets with the same callset + * ID. + * + * // Existing variant - irrelevant fields trimmed for clarity { + * "variantSetId": "10473108253681171589", "referenceName": "1", + * "start": "10582", "referenceBases": "G", "alternateBases": [ + * "A" ], "calls": [ { "callSetId": + * "10473108253681171589-0", "callSetName": "CALLSET0", + * "genotype": [ 0, 1 ], + * } ] } + * + * // New variant with conflicting call information { + * "variantSetId": "10473108253681171589", "referenceName": "1", + * "start": "10582", "referenceBases": "G", "alternateBases": [ + * "A" ], "calls": [ { "callSetId": + * "10473108253681171589-0", "callSetName": "CALLSET0", + * "genotype": [ 1, 1 ], + * } ] } + * + * The resulting merged variant would overwrite the existing calls with those + * from the new variant: + * + * { "variantSetId": "10473108253681171589", + * "referenceName": "1", "start": "10582", "referenceBases": + * "G", "alternateBases": [ "A" ], "calls": + * [ { "callSetId": "10473108253681171589-0", + * "callSetName": "CALLSET0", "genotype": [ + * 1, 1 ], } ] } + * + * This may be the desired outcome, but it is up to the user to determine if if + * that is indeed the case. (variants.merge) + * + * @param Google_Service_Genomics_MergeVariantsRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Genomics_GenomicsEmpty + */ + public function merge(Google_Service_Genomics_MergeVariantsRequest $postBody, $optParams = array()) + { + $params = array('postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('merge', array($params), "Google_Service_Genomics_GenomicsEmpty"); + } + /** + * Updates a variant. + * + * For the definitions of variants and other genomics resources, see + * [Fundamentals of Google Genomics](https://cloud.google.com/genomics + * /fundamentals-of-google-genomics) + * + * This method supports patch semantics. Returns the modified variant without + * its calls. (variants.patch) + * + * @param string $variantId The ID of the variant to be updated. + * @param Google_Service_Genomics_Variant $postBody + * @param array $optParams Optional parameters. + * + * @opt_param string updateMask An optional mask specifying which fields to + * update. At this time, mutable fields are names and info. Acceptable values + * are "names" and "info". If unspecified, all mutable fields will be updated. + * @return Google_Service_Genomics_Variant + */ + public function patch($variantId, Google_Service_Genomics_Variant $postBody, $optParams = array()) + { + $params = array('variantId' => $variantId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('patch', array($params), "Google_Service_Genomics_Variant"); + } + /** + * Gets a list of variants matching the criteria. + * + * For the definitions of variants and other genomics resources, see + * [Fundamentals of Google Genomics](https://cloud.google.com/genomics + * /fundamentals-of-google-genomics) + * + * Implements [GlobalAllianceApi.searchVariants](https://github.com/ga4gh/schema + * s/blob/v0.5.1/src/main/resources/avro/variantmethods.avdl#L126). + * (variants.search) + * + * @param Google_Service_Genomics_SearchVariantsRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Genomics_SearchVariantsResponse + */ + public function search(Google_Service_Genomics_SearchVariantsRequest $postBody, $optParams = array()) + { + $params = array('postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('search', array($params), "Google_Service_Genomics_SearchVariantsResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Genomics/Resource/Variantsets.php b/vendor/google/apiclient-services/src/Google/Service/Genomics/Resource/Variantsets.php new file mode 100644 index 00000000..915be9bf --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Genomics/Resource/Variantsets.php @@ -0,0 +1,151 @@ + + * $genomicsService = new Google_Service_Genomics(...); + * $variantsets = $genomicsService->variantsets; + * + */ +class Google_Service_Genomics_Resource_Variantsets extends Google_Service_Resource +{ + /** + * Creates a new variant set. + * + * For the definitions of variant sets and other genomics resources, see + * [Fundamentals of Google Genomics](https://cloud.google.com/genomics + * /fundamentals-of-google-genomics) + * + * The provided variant set must have a valid `datasetId` set - all other fields + * are optional. Note that the `id` field will be ignored, as this is assigned + * by the server. (variantsets.create) + * + * @param Google_Service_Genomics_VariantSet $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Genomics_VariantSet + */ + public function create(Google_Service_Genomics_VariantSet $postBody, $optParams = array()) + { + $params = array('postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('create', array($params), "Google_Service_Genomics_VariantSet"); + } + /** + * Deletes a variant set including all variants, call sets, and calls within. + * This is not reversible. + * + * For the definitions of variant sets and other genomics resources, see + * [Fundamentals of Google Genomics](https://cloud.google.com/genomics + * /fundamentals-of-google-genomics) (variantsets.delete) + * + * @param string $variantSetId The ID of the variant set to be deleted. + * @param array $optParams Optional parameters. + * @return Google_Service_Genomics_GenomicsEmpty + */ + public function delete($variantSetId, $optParams = array()) + { + $params = array('variantSetId' => $variantSetId); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params), "Google_Service_Genomics_GenomicsEmpty"); + } + /** + * Exports variant set data to an external destination. + * + * For the definitions of variant sets and other genomics resources, see + * [Fundamentals of Google Genomics](https://cloud.google.com/genomics + * /fundamentals-of-google-genomics) (variantsets.export) + * + * @param string $variantSetId Required. The ID of the variant set that contains + * variant data which should be exported. The caller must have READ access to + * this variant set. + * @param Google_Service_Genomics_ExportVariantSetRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Genomics_Operation + */ + public function export($variantSetId, Google_Service_Genomics_ExportVariantSetRequest $postBody, $optParams = array()) + { + $params = array('variantSetId' => $variantSetId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('export', array($params), "Google_Service_Genomics_Operation"); + } + /** + * Gets a variant set by ID. + * + * For the definitions of variant sets and other genomics resources, see + * [Fundamentals of Google Genomics](https://cloud.google.com/genomics + * /fundamentals-of-google-genomics) (variantsets.get) + * + * @param string $variantSetId Required. The ID of the variant set. + * @param array $optParams Optional parameters. + * @return Google_Service_Genomics_VariantSet + */ + public function get($variantSetId, $optParams = array()) + { + $params = array('variantSetId' => $variantSetId); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Genomics_VariantSet"); + } + /** + * Updates a variant set using patch semantics. + * + * For the definitions of variant sets and other genomics resources, see + * [Fundamentals of Google Genomics](https://cloud.google.com/genomics + * /fundamentals-of-google-genomics) (variantsets.patch) + * + * @param string $variantSetId The ID of the variant to be updated (must already + * exist). + * @param Google_Service_Genomics_VariantSet $postBody + * @param array $optParams Optional parameters. + * + * @opt_param string updateMask An optional mask specifying which fields to + * update. Supported fields: + * + * * metadata. * name. * description. + * + * Leaving `updateMask` unset is equivalent to specifying all mutable fields. + * @return Google_Service_Genomics_VariantSet + */ + public function patch($variantSetId, Google_Service_Genomics_VariantSet $postBody, $optParams = array()) + { + $params = array('variantSetId' => $variantSetId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('patch', array($params), "Google_Service_Genomics_VariantSet"); + } + /** + * Returns a list of all variant sets matching search criteria. + * + * For the definitions of variant sets and other genomics resources, see + * [Fundamentals of Google Genomics](https://cloud.google.com/genomics + * /fundamentals-of-google-genomics) + * + * Implements [GlobalAllianceApi.searchVariantSets](https://github.com/ga4gh/sch + * emas/blob/v0.5.1/src/main/resources/avro/variantmethods.avdl#L49). + * (variantsets.search) + * + * @param Google_Service_Genomics_SearchVariantSetsRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Genomics_SearchVariantSetsResponse + */ + public function search(Google_Service_Genomics_SearchVariantSetsRequest $postBody, $optParams = array()) + { + $params = array('postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('search', array($params), "Google_Service_Genomics_SearchVariantSetsResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Genomics/RuntimeMetadata.php b/vendor/google/apiclient-services/src/Google/Service/Genomics/RuntimeMetadata.php new file mode 100644 index 00000000..d23b4f60 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Genomics/RuntimeMetadata.php @@ -0,0 +1,31 @@ +computeEngine = $computeEngine; + } + public function getComputeEngine() + { + return $this->computeEngine; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Genomics/SearchAnnotationSetsRequest.php b/vendor/google/apiclient-services/src/Google/Service/Genomics/SearchAnnotationSetsRequest.php new file mode 100644 index 00000000..59198e4b --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Genomics/SearchAnnotationSetsRequest.php @@ -0,0 +1,76 @@ +datasetIds = $datasetIds; + } + public function getDatasetIds() + { + return $this->datasetIds; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setPageSize($pageSize) + { + $this->pageSize = $pageSize; + } + public function getPageSize() + { + return $this->pageSize; + } + public function setPageToken($pageToken) + { + $this->pageToken = $pageToken; + } + public function getPageToken() + { + return $this->pageToken; + } + public function setReferenceSetId($referenceSetId) + { + $this->referenceSetId = $referenceSetId; + } + public function getReferenceSetId() + { + return $this->referenceSetId; + } + public function setTypes($types) + { + $this->types = $types; + } + public function getTypes() + { + return $this->types; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Genomics/SearchAnnotationSetsResponse.php b/vendor/google/apiclient-services/src/Google/Service/Genomics/SearchAnnotationSetsResponse.php new file mode 100644 index 00000000..097be877 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Genomics/SearchAnnotationSetsResponse.php @@ -0,0 +1,41 @@ +annotationSets = $annotationSets; + } + public function getAnnotationSets() + { + return $this->annotationSets; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Genomics/SearchAnnotationsRequest.php b/vendor/google/apiclient-services/src/Google/Service/Genomics/SearchAnnotationsRequest.php new file mode 100644 index 00000000..e7451bd0 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Genomics/SearchAnnotationsRequest.php @@ -0,0 +1,85 @@ +annotationSetIds = $annotationSetIds; + } + public function getAnnotationSetIds() + { + return $this->annotationSetIds; + } + public function setEnd($end) + { + $this->end = $end; + } + public function getEnd() + { + return $this->end; + } + public function setPageSize($pageSize) + { + $this->pageSize = $pageSize; + } + public function getPageSize() + { + return $this->pageSize; + } + public function setPageToken($pageToken) + { + $this->pageToken = $pageToken; + } + public function getPageToken() + { + return $this->pageToken; + } + public function setReferenceId($referenceId) + { + $this->referenceId = $referenceId; + } + public function getReferenceId() + { + return $this->referenceId; + } + public function setReferenceName($referenceName) + { + $this->referenceName = $referenceName; + } + public function getReferenceName() + { + return $this->referenceName; + } + public function setStart($start) + { + $this->start = $start; + } + public function getStart() + { + return $this->start; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Genomics/SearchAnnotationsResponse.php b/vendor/google/apiclient-services/src/Google/Service/Genomics/SearchAnnotationsResponse.php new file mode 100644 index 00000000..4b8d8021 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Genomics/SearchAnnotationsResponse.php @@ -0,0 +1,41 @@ +annotations = $annotations; + } + public function getAnnotations() + { + return $this->annotations; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Genomics/SearchCallSetsRequest.php b/vendor/google/apiclient-services/src/Google/Service/Genomics/SearchCallSetsRequest.php new file mode 100644 index 00000000..0ad65657 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Genomics/SearchCallSetsRequest.php @@ -0,0 +1,58 @@ +name = $name; + } + public function getName() + { + return $this->name; + } + public function setPageSize($pageSize) + { + $this->pageSize = $pageSize; + } + public function getPageSize() + { + return $this->pageSize; + } + public function setPageToken($pageToken) + { + $this->pageToken = $pageToken; + } + public function getPageToken() + { + return $this->pageToken; + } + public function setVariantSetIds($variantSetIds) + { + $this->variantSetIds = $variantSetIds; + } + public function getVariantSetIds() + { + return $this->variantSetIds; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Genomics/SearchCallSetsResponse.php b/vendor/google/apiclient-services/src/Google/Service/Genomics/SearchCallSetsResponse.php new file mode 100644 index 00000000..10ee9637 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Genomics/SearchCallSetsResponse.php @@ -0,0 +1,41 @@ +callSets = $callSets; + } + public function getCallSets() + { + return $this->callSets; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Genomics/SearchReadGroupSetsRequest.php b/vendor/google/apiclient-services/src/Google/Service/Genomics/SearchReadGroupSetsRequest.php new file mode 100644 index 00000000..da351ed3 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Genomics/SearchReadGroupSetsRequest.php @@ -0,0 +1,58 @@ +datasetIds = $datasetIds; + } + public function getDatasetIds() + { + return $this->datasetIds; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setPageSize($pageSize) + { + $this->pageSize = $pageSize; + } + public function getPageSize() + { + return $this->pageSize; + } + public function setPageToken($pageToken) + { + $this->pageToken = $pageToken; + } + public function getPageToken() + { + return $this->pageToken; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Genomics/SearchReadGroupSetsResponse.php b/vendor/google/apiclient-services/src/Google/Service/Genomics/SearchReadGroupSetsResponse.php new file mode 100644 index 00000000..6251bb7f --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Genomics/SearchReadGroupSetsResponse.php @@ -0,0 +1,41 @@ +nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setReadGroupSets($readGroupSets) + { + $this->readGroupSets = $readGroupSets; + } + public function getReadGroupSets() + { + return $this->readGroupSets; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Genomics/SearchReadsRequest.php b/vendor/google/apiclient-services/src/Google/Service/Genomics/SearchReadsRequest.php new file mode 100644 index 00000000..a72a4ea7 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Genomics/SearchReadsRequest.php @@ -0,0 +1,85 @@ +end = $end; + } + public function getEnd() + { + return $this->end; + } + public function setPageSize($pageSize) + { + $this->pageSize = $pageSize; + } + public function getPageSize() + { + return $this->pageSize; + } + public function setPageToken($pageToken) + { + $this->pageToken = $pageToken; + } + public function getPageToken() + { + return $this->pageToken; + } + public function setReadGroupIds($readGroupIds) + { + $this->readGroupIds = $readGroupIds; + } + public function getReadGroupIds() + { + return $this->readGroupIds; + } + public function setReadGroupSetIds($readGroupSetIds) + { + $this->readGroupSetIds = $readGroupSetIds; + } + public function getReadGroupSetIds() + { + return $this->readGroupSetIds; + } + public function setReferenceName($referenceName) + { + $this->referenceName = $referenceName; + } + public function getReferenceName() + { + return $this->referenceName; + } + public function setStart($start) + { + $this->start = $start; + } + public function getStart() + { + return $this->start; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Genomics/SearchReadsResponse.php b/vendor/google/apiclient-services/src/Google/Service/Genomics/SearchReadsResponse.php new file mode 100644 index 00000000..841ffa57 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Genomics/SearchReadsResponse.php @@ -0,0 +1,41 @@ +alignments = $alignments; + } + public function getAlignments() + { + return $this->alignments; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Genomics/SearchReferenceSetsRequest.php b/vendor/google/apiclient-services/src/Google/Service/Genomics/SearchReferenceSetsRequest.php new file mode 100644 index 00000000..0d984611 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Genomics/SearchReferenceSetsRequest.php @@ -0,0 +1,67 @@ +accessions = $accessions; + } + public function getAccessions() + { + return $this->accessions; + } + public function setAssemblyId($assemblyId) + { + $this->assemblyId = $assemblyId; + } + public function getAssemblyId() + { + return $this->assemblyId; + } + public function setMd5checksums($md5checksums) + { + $this->md5checksums = $md5checksums; + } + public function getMd5checksums() + { + return $this->md5checksums; + } + public function setPageSize($pageSize) + { + $this->pageSize = $pageSize; + } + public function getPageSize() + { + return $this->pageSize; + } + public function setPageToken($pageToken) + { + $this->pageToken = $pageToken; + } + public function getPageToken() + { + return $this->pageToken; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Genomics/SearchReferenceSetsResponse.php b/vendor/google/apiclient-services/src/Google/Service/Genomics/SearchReferenceSetsResponse.php new file mode 100644 index 00000000..efa61b36 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Genomics/SearchReferenceSetsResponse.php @@ -0,0 +1,41 @@ +nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setReferenceSets($referenceSets) + { + $this->referenceSets = $referenceSets; + } + public function getReferenceSets() + { + return $this->referenceSets; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Genomics/SearchReferencesRequest.php b/vendor/google/apiclient-services/src/Google/Service/Genomics/SearchReferencesRequest.php new file mode 100644 index 00000000..ae49629b --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Genomics/SearchReferencesRequest.php @@ -0,0 +1,67 @@ +accessions = $accessions; + } + public function getAccessions() + { + return $this->accessions; + } + public function setMd5checksums($md5checksums) + { + $this->md5checksums = $md5checksums; + } + public function getMd5checksums() + { + return $this->md5checksums; + } + public function setPageSize($pageSize) + { + $this->pageSize = $pageSize; + } + public function getPageSize() + { + return $this->pageSize; + } + public function setPageToken($pageToken) + { + $this->pageToken = $pageToken; + } + public function getPageToken() + { + return $this->pageToken; + } + public function setReferenceSetId($referenceSetId) + { + $this->referenceSetId = $referenceSetId; + } + public function getReferenceSetId() + { + return $this->referenceSetId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Genomics/SearchReferencesResponse.php b/vendor/google/apiclient-services/src/Google/Service/Genomics/SearchReferencesResponse.php new file mode 100644 index 00000000..2d3e9603 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Genomics/SearchReferencesResponse.php @@ -0,0 +1,41 @@ +nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setReferences($references) + { + $this->references = $references; + } + public function getReferences() + { + return $this->references; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Genomics/SearchVariantSetsRequest.php b/vendor/google/apiclient-services/src/Google/Service/Genomics/SearchVariantSetsRequest.php new file mode 100644 index 00000000..f58dfd49 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Genomics/SearchVariantSetsRequest.php @@ -0,0 +1,49 @@ +datasetIds = $datasetIds; + } + public function getDatasetIds() + { + return $this->datasetIds; + } + public function setPageSize($pageSize) + { + $this->pageSize = $pageSize; + } + public function getPageSize() + { + return $this->pageSize; + } + public function setPageToken($pageToken) + { + $this->pageToken = $pageToken; + } + public function getPageToken() + { + return $this->pageToken; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Genomics/SearchVariantSetsResponse.php b/vendor/google/apiclient-services/src/Google/Service/Genomics/SearchVariantSetsResponse.php new file mode 100644 index 00000000..0636fc6f --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Genomics/SearchVariantSetsResponse.php @@ -0,0 +1,41 @@ +nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setVariantSets($variantSets) + { + $this->variantSets = $variantSets; + } + public function getVariantSets() + { + return $this->variantSets; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Genomics/SearchVariantsRequest.php b/vendor/google/apiclient-services/src/Google/Service/Genomics/SearchVariantsRequest.php new file mode 100644 index 00000000..bf278baa --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Genomics/SearchVariantsRequest.php @@ -0,0 +1,103 @@ +callSetIds = $callSetIds; + } + public function getCallSetIds() + { + return $this->callSetIds; + } + public function setEnd($end) + { + $this->end = $end; + } + public function getEnd() + { + return $this->end; + } + public function setMaxCalls($maxCalls) + { + $this->maxCalls = $maxCalls; + } + public function getMaxCalls() + { + return $this->maxCalls; + } + public function setPageSize($pageSize) + { + $this->pageSize = $pageSize; + } + public function getPageSize() + { + return $this->pageSize; + } + public function setPageToken($pageToken) + { + $this->pageToken = $pageToken; + } + public function getPageToken() + { + return $this->pageToken; + } + public function setReferenceName($referenceName) + { + $this->referenceName = $referenceName; + } + public function getReferenceName() + { + return $this->referenceName; + } + public function setStart($start) + { + $this->start = $start; + } + public function getStart() + { + return $this->start; + } + public function setVariantName($variantName) + { + $this->variantName = $variantName; + } + public function getVariantName() + { + return $this->variantName; + } + public function setVariantSetIds($variantSetIds) + { + $this->variantSetIds = $variantSetIds; + } + public function getVariantSetIds() + { + return $this->variantSetIds; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Genomics/SearchVariantsResponse.php b/vendor/google/apiclient-services/src/Google/Service/Genomics/SearchVariantsResponse.php new file mode 100644 index 00000000..ec6f7fc3 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Genomics/SearchVariantsResponse.php @@ -0,0 +1,41 @@ +nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setVariants($variants) + { + $this->variants = $variants; + } + public function getVariants() + { + return $this->variants; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Genomics/SetIamPolicyRequest.php b/vendor/google/apiclient-services/src/Google/Service/Genomics/SetIamPolicyRequest.php new file mode 100644 index 00000000..e5196fd5 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Genomics/SetIamPolicyRequest.php @@ -0,0 +1,31 @@ +policy = $policy; + } + public function getPolicy() + { + return $this->policy; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Genomics/Status.php b/vendor/google/apiclient-services/src/Google/Service/Genomics/Status.php new file mode 100644 index 00000000..2d41b8ff --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Genomics/Status.php @@ -0,0 +1,49 @@ +code = $code; + } + public function getCode() + { + return $this->code; + } + public function setDetails($details) + { + $this->details = $details; + } + public function getDetails() + { + return $this->details; + } + public function setMessage($message) + { + $this->message = $message; + } + public function getMessage() + { + return $this->message; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Genomics/StreamReadsRequest.php b/vendor/google/apiclient-services/src/Google/Service/Genomics/StreamReadsRequest.php new file mode 100644 index 00000000..7b770127 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Genomics/StreamReadsRequest.php @@ -0,0 +1,84 @@ +end = $end; + } + public function getEnd() + { + return $this->end; + } + public function setProjectId($projectId) + { + $this->projectId = $projectId; + } + public function getProjectId() + { + return $this->projectId; + } + public function setReadGroupSetId($readGroupSetId) + { + $this->readGroupSetId = $readGroupSetId; + } + public function getReadGroupSetId() + { + return $this->readGroupSetId; + } + public function setReferenceName($referenceName) + { + $this->referenceName = $referenceName; + } + public function getReferenceName() + { + return $this->referenceName; + } + public function setShard($shard) + { + $this->shard = $shard; + } + public function getShard() + { + return $this->shard; + } + public function setStart($start) + { + $this->start = $start; + } + public function getStart() + { + return $this->start; + } + public function setTotalShards($totalShards) + { + $this->totalShards = $totalShards; + } + public function getTotalShards() + { + return $this->totalShards; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Genomics/StreamReadsResponse.php b/vendor/google/apiclient-services/src/Google/Service/Genomics/StreamReadsResponse.php new file mode 100644 index 00000000..e970e0d7 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Genomics/StreamReadsResponse.php @@ -0,0 +1,32 @@ +alignments = $alignments; + } + public function getAlignments() + { + return $this->alignments; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Genomics/StreamVariantsRequest.php b/vendor/google/apiclient-services/src/Google/Service/Genomics/StreamVariantsRequest.php new file mode 100644 index 00000000..b0671dd2 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Genomics/StreamVariantsRequest.php @@ -0,0 +1,76 @@ +callSetIds = $callSetIds; + } + public function getCallSetIds() + { + return $this->callSetIds; + } + public function setEnd($end) + { + $this->end = $end; + } + public function getEnd() + { + return $this->end; + } + public function setProjectId($projectId) + { + $this->projectId = $projectId; + } + public function getProjectId() + { + return $this->projectId; + } + public function setReferenceName($referenceName) + { + $this->referenceName = $referenceName; + } + public function getReferenceName() + { + return $this->referenceName; + } + public function setStart($start) + { + $this->start = $start; + } + public function getStart() + { + return $this->start; + } + public function setVariantSetId($variantSetId) + { + $this->variantSetId = $variantSetId; + } + public function getVariantSetId() + { + return $this->variantSetId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Genomics/StreamVariantsResponse.php b/vendor/google/apiclient-services/src/Google/Service/Genomics/StreamVariantsResponse.php new file mode 100644 index 00000000..29e56448 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Genomics/StreamVariantsResponse.php @@ -0,0 +1,32 @@ +variants = $variants; + } + public function getVariants() + { + return $this->variants; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Genomics/TestIamPermissionsRequest.php b/vendor/google/apiclient-services/src/Google/Service/Genomics/TestIamPermissionsRequest.php new file mode 100644 index 00000000..0700c68c --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Genomics/TestIamPermissionsRequest.php @@ -0,0 +1,31 @@ +permissions = $permissions; + } + public function getPermissions() + { + return $this->permissions; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Genomics/TestIamPermissionsResponse.php b/vendor/google/apiclient-services/src/Google/Service/Genomics/TestIamPermissionsResponse.php new file mode 100644 index 00000000..acb47ab5 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Genomics/TestIamPermissionsResponse.php @@ -0,0 +1,31 @@ +permissions = $permissions; + } + public function getPermissions() + { + return $this->permissions; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Genomics/Transcript.php b/vendor/google/apiclient-services/src/Google/Service/Genomics/Transcript.php new file mode 100644 index 00000000..e82dfd28 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Genomics/Transcript.php @@ -0,0 +1,51 @@ +codingSequence = $codingSequence; + } + public function getCodingSequence() + { + return $this->codingSequence; + } + public function setExons($exons) + { + $this->exons = $exons; + } + public function getExons() + { + return $this->exons; + } + public function setGeneId($geneId) + { + $this->geneId = $geneId; + } + public function getGeneId() + { + return $this->geneId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Genomics/UndeleteDatasetRequest.php b/vendor/google/apiclient-services/src/Google/Service/Genomics/UndeleteDatasetRequest.php new file mode 100644 index 00000000..4a19f383 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Genomics/UndeleteDatasetRequest.php @@ -0,0 +1,20 @@ +alternateBases = $alternateBases; + } + public function getAlternateBases() + { + return $this->alternateBases; + } + public function setCalls($calls) + { + $this->calls = $calls; + } + public function getCalls() + { + return $this->calls; + } + public function setCreated($created) + { + $this->created = $created; + } + public function getCreated() + { + return $this->created; + } + public function setEnd($end) + { + $this->end = $end; + } + public function getEnd() + { + return $this->end; + } + public function setFilter($filter) + { + $this->filter = $filter; + } + public function getFilter() + { + return $this->filter; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setInfo($info) + { + $this->info = $info; + } + public function getInfo() + { + return $this->info; + } + public function setNames($names) + { + $this->names = $names; + } + public function getNames() + { + return $this->names; + } + public function setQuality($quality) + { + $this->quality = $quality; + } + public function getQuality() + { + return $this->quality; + } + public function setReferenceBases($referenceBases) + { + $this->referenceBases = $referenceBases; + } + public function getReferenceBases() + { + return $this->referenceBases; + } + public function setReferenceName($referenceName) + { + $this->referenceName = $referenceName; + } + public function getReferenceName() + { + return $this->referenceName; + } + public function setStart($start) + { + $this->start = $start; + } + public function getStart() + { + return $this->start; + } + public function setVariantSetId($variantSetId) + { + $this->variantSetId = $variantSetId; + } + public function getVariantSetId() + { + return $this->variantSetId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Genomics/VariantAnnotation.php b/vendor/google/apiclient-services/src/Google/Service/Genomics/VariantAnnotation.php new file mode 100644 index 00000000..b82f7530 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Genomics/VariantAnnotation.php @@ -0,0 +1,86 @@ +alternateBases = $alternateBases; + } + public function getAlternateBases() + { + return $this->alternateBases; + } + public function setClinicalSignificance($clinicalSignificance) + { + $this->clinicalSignificance = $clinicalSignificance; + } + public function getClinicalSignificance() + { + return $this->clinicalSignificance; + } + public function setConditions($conditions) + { + $this->conditions = $conditions; + } + public function getConditions() + { + return $this->conditions; + } + public function setEffect($effect) + { + $this->effect = $effect; + } + public function getEffect() + { + return $this->effect; + } + public function setGeneId($geneId) + { + $this->geneId = $geneId; + } + public function getGeneId() + { + return $this->geneId; + } + public function setTranscriptIds($transcriptIds) + { + $this->transcriptIds = $transcriptIds; + } + public function getTranscriptIds() + { + return $this->transcriptIds; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Genomics/VariantCall.php b/vendor/google/apiclient-services/src/Google/Service/Genomics/VariantCall.php new file mode 100644 index 00000000..c96a2d8f --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Genomics/VariantCall.php @@ -0,0 +1,76 @@ +callSetId = $callSetId; + } + public function getCallSetId() + { + return $this->callSetId; + } + public function setCallSetName($callSetName) + { + $this->callSetName = $callSetName; + } + public function getCallSetName() + { + return $this->callSetName; + } + public function setGenotype($genotype) + { + $this->genotype = $genotype; + } + public function getGenotype() + { + return $this->genotype; + } + public function setGenotypeLikelihood($genotypeLikelihood) + { + $this->genotypeLikelihood = $genotypeLikelihood; + } + public function getGenotypeLikelihood() + { + return $this->genotypeLikelihood; + } + public function setInfo($info) + { + $this->info = $info; + } + public function getInfo() + { + return $this->info; + } + public function setPhaseset($phaseset) + { + $this->phaseset = $phaseset; + } + public function getPhaseset() + { + return $this->phaseset; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Genomics/VariantSet.php b/vendor/google/apiclient-services/src/Google/Service/Genomics/VariantSet.php new file mode 100644 index 00000000..364a09f7 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Genomics/VariantSet.php @@ -0,0 +1,87 @@ +datasetId = $datasetId; + } + public function getDatasetId() + { + return $this->datasetId; + } + public function setDescription($description) + { + $this->description = $description; + } + public function getDescription() + { + return $this->description; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setMetadata($metadata) + { + $this->metadata = $metadata; + } + public function getMetadata() + { + return $this->metadata; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setReferenceBounds($referenceBounds) + { + $this->referenceBounds = $referenceBounds; + } + public function getReferenceBounds() + { + return $this->referenceBounds; + } + public function setReferenceSetId($referenceSetId) + { + $this->referenceSetId = $referenceSetId; + } + public function getReferenceSetId() + { + return $this->referenceSetId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Genomics/VariantSetMetadata.php b/vendor/google/apiclient-services/src/Google/Service/Genomics/VariantSetMetadata.php new file mode 100644 index 00000000..826352f6 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Genomics/VariantSetMetadata.php @@ -0,0 +1,84 @@ +description = $description; + } + public function getDescription() + { + return $this->description; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setInfo($info) + { + $this->info = $info; + } + public function getInfo() + { + return $this->info; + } + public function setKey($key) + { + $this->key = $key; + } + public function getKey() + { + return $this->key; + } + public function setNumber($number) + { + $this->number = $number; + } + public function getNumber() + { + return $this->number; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } + public function setValue($value) + { + $this->value = $value; + } + public function getValue() + { + return $this->value; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Gmail.php b/vendor/google/apiclient-services/src/Google/Service/Gmail.php new file mode 100644 index 00000000..dcb38f38 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Gmail.php @@ -0,0 +1,1136 @@ + + * Access Gmail mailboxes including sending user email.

+ * + *

+ * For more information about this service, see the API + * Documentation + *

+ * + * @author Google, Inc. + */ +class Google_Service_Gmail extends Google_Service +{ + /** Read, send, delete, and manage your email. */ + const MAIL_GOOGLE_COM = + "https://mail.google.com/"; + /** Manage drafts and send emails. */ + const GMAIL_COMPOSE = + "https://www.googleapis.com/auth/gmail.compose"; + /** Insert mail into your mailbox. */ + const GMAIL_INSERT = + "https://www.googleapis.com/auth/gmail.insert"; + /** Manage mailbox labels. */ + const GMAIL_LABELS = + "https://www.googleapis.com/auth/gmail.labels"; + /** View your email message metadata such as labels and headers, but not the email body. */ + const GMAIL_METADATA = + "https://www.googleapis.com/auth/gmail.metadata"; + /** View and modify but not delete your email. */ + const GMAIL_MODIFY = + "https://www.googleapis.com/auth/gmail.modify"; + /** View your emails messages and settings. */ + const GMAIL_READONLY = + "https://www.googleapis.com/auth/gmail.readonly"; + /** Send email on your behalf. */ + const GMAIL_SEND = + "https://www.googleapis.com/auth/gmail.send"; + /** Manage your basic mail settings. */ + const GMAIL_SETTINGS_BASIC = + "https://www.googleapis.com/auth/gmail.settings.basic"; + /** Manage your sensitive mail settings, including who can manage your mail. */ + const GMAIL_SETTINGS_SHARING = + "https://www.googleapis.com/auth/gmail.settings.sharing"; + + public $users; + public $users_drafts; + public $users_history; + public $users_labels; + public $users_messages; + public $users_messages_attachments; + public $users_settings; + public $users_settings_filters; + public $users_settings_forwardingAddresses; + public $users_settings_sendAs; + public $users_settings_sendAs_smimeInfo; + public $users_threads; + + /** + * Constructs the internal representation of the Gmail service. + * + * @param Google_Client $client + */ + public function __construct(Google_Client $client) + { + parent::__construct($client); + $this->rootUrl = 'https://www.googleapis.com/'; + $this->servicePath = 'gmail/v1/users/'; + $this->version = 'v1'; + $this->serviceName = 'gmail'; + + $this->users = new Google_Service_Gmail_Resource_Users( + $this, + $this->serviceName, + 'users', + array( + 'methods' => array( + 'getProfile' => array( + 'path' => '{userId}/profile', + 'httpMethod' => 'GET', + 'parameters' => array( + 'userId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'stop' => array( + 'path' => '{userId}/stop', + 'httpMethod' => 'POST', + 'parameters' => array( + 'userId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'watch' => array( + 'path' => '{userId}/watch', + 'httpMethod' => 'POST', + 'parameters' => array( + 'userId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->users_drafts = new Google_Service_Gmail_Resource_UsersDrafts( + $this, + $this->serviceName, + 'drafts', + array( + 'methods' => array( + 'create' => array( + 'path' => '{userId}/drafts', + 'httpMethod' => 'POST', + 'parameters' => array( + 'userId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'delete' => array( + 'path' => '{userId}/drafts/{id}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'userId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'id' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'get' => array( + 'path' => '{userId}/drafts/{id}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'userId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'id' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'format' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'list' => array( + 'path' => '{userId}/drafts', + 'httpMethod' => 'GET', + 'parameters' => array( + 'userId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'includeSpamTrash' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'q' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'send' => array( + 'path' => '{userId}/drafts/send', + 'httpMethod' => 'POST', + 'parameters' => array( + 'userId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'update' => array( + 'path' => '{userId}/drafts/{id}', + 'httpMethod' => 'PUT', + 'parameters' => array( + 'userId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'id' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->users_history = new Google_Service_Gmail_Resource_UsersHistory( + $this, + $this->serviceName, + 'history', + array( + 'methods' => array( + 'list' => array( + 'path' => '{userId}/history', + 'httpMethod' => 'GET', + 'parameters' => array( + 'userId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'historyTypes' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + ), + 'labelId' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'startHistoryId' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + $this->users_labels = new Google_Service_Gmail_Resource_UsersLabels( + $this, + $this->serviceName, + 'labels', + array( + 'methods' => array( + 'create' => array( + 'path' => '{userId}/labels', + 'httpMethod' => 'POST', + 'parameters' => array( + 'userId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'delete' => array( + 'path' => '{userId}/labels/{id}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'userId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'id' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'get' => array( + 'path' => '{userId}/labels/{id}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'userId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'id' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => '{userId}/labels', + 'httpMethod' => 'GET', + 'parameters' => array( + 'userId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'patch' => array( + 'path' => '{userId}/labels/{id}', + 'httpMethod' => 'PATCH', + 'parameters' => array( + 'userId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'id' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'update' => array( + 'path' => '{userId}/labels/{id}', + 'httpMethod' => 'PUT', + 'parameters' => array( + 'userId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'id' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->users_messages = new Google_Service_Gmail_Resource_UsersMessages( + $this, + $this->serviceName, + 'messages', + array( + 'methods' => array( + 'batchDelete' => array( + 'path' => '{userId}/messages/batchDelete', + 'httpMethod' => 'POST', + 'parameters' => array( + 'userId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'batchModify' => array( + 'path' => '{userId}/messages/batchModify', + 'httpMethod' => 'POST', + 'parameters' => array( + 'userId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'delete' => array( + 'path' => '{userId}/messages/{id}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'userId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'id' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'get' => array( + 'path' => '{userId}/messages/{id}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'userId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'id' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'format' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'metadataHeaders' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + ), + ), + ),'import' => array( + 'path' => '{userId}/messages/import', + 'httpMethod' => 'POST', + 'parameters' => array( + 'userId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'deleted' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + 'internalDateSource' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'neverMarkSpam' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + 'processForCalendar' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + ), + ),'insert' => array( + 'path' => '{userId}/messages', + 'httpMethod' => 'POST', + 'parameters' => array( + 'userId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'deleted' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + 'internalDateSource' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'list' => array( + 'path' => '{userId}/messages', + 'httpMethod' => 'GET', + 'parameters' => array( + 'userId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'includeSpamTrash' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + 'labelIds' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'q' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'modify' => array( + 'path' => '{userId}/messages/{id}/modify', + 'httpMethod' => 'POST', + 'parameters' => array( + 'userId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'id' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'send' => array( + 'path' => '{userId}/messages/send', + 'httpMethod' => 'POST', + 'parameters' => array( + 'userId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'trash' => array( + 'path' => '{userId}/messages/{id}/trash', + 'httpMethod' => 'POST', + 'parameters' => array( + 'userId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'id' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'untrash' => array( + 'path' => '{userId}/messages/{id}/untrash', + 'httpMethod' => 'POST', + 'parameters' => array( + 'userId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'id' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->users_messages_attachments = new Google_Service_Gmail_Resource_UsersMessagesAttachments( + $this, + $this->serviceName, + 'attachments', + array( + 'methods' => array( + 'get' => array( + 'path' => '{userId}/messages/{messageId}/attachments/{id}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'userId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'messageId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'id' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->users_settings = new Google_Service_Gmail_Resource_UsersSettings( + $this, + $this->serviceName, + 'settings', + array( + 'methods' => array( + 'getAutoForwarding' => array( + 'path' => '{userId}/settings/autoForwarding', + 'httpMethod' => 'GET', + 'parameters' => array( + 'userId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'getImap' => array( + 'path' => '{userId}/settings/imap', + 'httpMethod' => 'GET', + 'parameters' => array( + 'userId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'getPop' => array( + 'path' => '{userId}/settings/pop', + 'httpMethod' => 'GET', + 'parameters' => array( + 'userId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'getVacation' => array( + 'path' => '{userId}/settings/vacation', + 'httpMethod' => 'GET', + 'parameters' => array( + 'userId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'updateAutoForwarding' => array( + 'path' => '{userId}/settings/autoForwarding', + 'httpMethod' => 'PUT', + 'parameters' => array( + 'userId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'updateImap' => array( + 'path' => '{userId}/settings/imap', + 'httpMethod' => 'PUT', + 'parameters' => array( + 'userId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'updatePop' => array( + 'path' => '{userId}/settings/pop', + 'httpMethod' => 'PUT', + 'parameters' => array( + 'userId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'updateVacation' => array( + 'path' => '{userId}/settings/vacation', + 'httpMethod' => 'PUT', + 'parameters' => array( + 'userId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->users_settings_filters = new Google_Service_Gmail_Resource_UsersSettingsFilters( + $this, + $this->serviceName, + 'filters', + array( + 'methods' => array( + 'create' => array( + 'path' => '{userId}/settings/filters', + 'httpMethod' => 'POST', + 'parameters' => array( + 'userId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'delete' => array( + 'path' => '{userId}/settings/filters/{id}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'userId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'id' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'get' => array( + 'path' => '{userId}/settings/filters/{id}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'userId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'id' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => '{userId}/settings/filters', + 'httpMethod' => 'GET', + 'parameters' => array( + 'userId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->users_settings_forwardingAddresses = new Google_Service_Gmail_Resource_UsersSettingsForwardingAddresses( + $this, + $this->serviceName, + 'forwardingAddresses', + array( + 'methods' => array( + 'create' => array( + 'path' => '{userId}/settings/forwardingAddresses', + 'httpMethod' => 'POST', + 'parameters' => array( + 'userId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'delete' => array( + 'path' => '{userId}/settings/forwardingAddresses/{forwardingEmail}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'userId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'forwardingEmail' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'get' => array( + 'path' => '{userId}/settings/forwardingAddresses/{forwardingEmail}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'userId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'forwardingEmail' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => '{userId}/settings/forwardingAddresses', + 'httpMethod' => 'GET', + 'parameters' => array( + 'userId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->users_settings_sendAs = new Google_Service_Gmail_Resource_UsersSettingsSendAs( + $this, + $this->serviceName, + 'sendAs', + array( + 'methods' => array( + 'create' => array( + 'path' => '{userId}/settings/sendAs', + 'httpMethod' => 'POST', + 'parameters' => array( + 'userId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'delete' => array( + 'path' => '{userId}/settings/sendAs/{sendAsEmail}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'userId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'sendAsEmail' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'get' => array( + 'path' => '{userId}/settings/sendAs/{sendAsEmail}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'userId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'sendAsEmail' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => '{userId}/settings/sendAs', + 'httpMethod' => 'GET', + 'parameters' => array( + 'userId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'patch' => array( + 'path' => '{userId}/settings/sendAs/{sendAsEmail}', + 'httpMethod' => 'PATCH', + 'parameters' => array( + 'userId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'sendAsEmail' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'update' => array( + 'path' => '{userId}/settings/sendAs/{sendAsEmail}', + 'httpMethod' => 'PUT', + 'parameters' => array( + 'userId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'sendAsEmail' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'verify' => array( + 'path' => '{userId}/settings/sendAs/{sendAsEmail}/verify', + 'httpMethod' => 'POST', + 'parameters' => array( + 'userId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'sendAsEmail' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->users_settings_sendAs_smimeInfo = new Google_Service_Gmail_Resource_UsersSettingsSendAsSmimeInfo( + $this, + $this->serviceName, + 'smimeInfo', + array( + 'methods' => array( + 'delete' => array( + 'path' => '{userId}/settings/sendAs/{sendAsEmail}/smimeInfo/{id}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'userId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'sendAsEmail' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'id' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'get' => array( + 'path' => '{userId}/settings/sendAs/{sendAsEmail}/smimeInfo/{id}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'userId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'sendAsEmail' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'id' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'insert' => array( + 'path' => '{userId}/settings/sendAs/{sendAsEmail}/smimeInfo', + 'httpMethod' => 'POST', + 'parameters' => array( + 'userId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'sendAsEmail' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => '{userId}/settings/sendAs/{sendAsEmail}/smimeInfo', + 'httpMethod' => 'GET', + 'parameters' => array( + 'userId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'sendAsEmail' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'setDefault' => array( + 'path' => '{userId}/settings/sendAs/{sendAsEmail}/smimeInfo/{id}/setDefault', + 'httpMethod' => 'POST', + 'parameters' => array( + 'userId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'sendAsEmail' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'id' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->users_threads = new Google_Service_Gmail_Resource_UsersThreads( + $this, + $this->serviceName, + 'threads', + array( + 'methods' => array( + 'delete' => array( + 'path' => '{userId}/threads/{id}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'userId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'id' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'get' => array( + 'path' => '{userId}/threads/{id}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'userId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'id' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'format' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'metadataHeaders' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + ), + ), + ),'list' => array( + 'path' => '{userId}/threads', + 'httpMethod' => 'GET', + 'parameters' => array( + 'userId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'includeSpamTrash' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + 'labelIds' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'q' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'modify' => array( + 'path' => '{userId}/threads/{id}/modify', + 'httpMethod' => 'POST', + 'parameters' => array( + 'userId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'id' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'trash' => array( + 'path' => '{userId}/threads/{id}/trash', + 'httpMethod' => 'POST', + 'parameters' => array( + 'userId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'id' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'untrash' => array( + 'path' => '{userId}/threads/{id}/untrash', + 'httpMethod' => 'POST', + 'parameters' => array( + 'userId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'id' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Gmail/AutoForwarding.php b/vendor/google/apiclient-services/src/Google/Service/Gmail/AutoForwarding.php new file mode 100644 index 00000000..ab1ea245 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Gmail/AutoForwarding.php @@ -0,0 +1,48 @@ +disposition = $disposition; + } + public function getDisposition() + { + return $this->disposition; + } + public function setEmailAddress($emailAddress) + { + $this->emailAddress = $emailAddress; + } + public function getEmailAddress() + { + return $this->emailAddress; + } + public function setEnabled($enabled) + { + $this->enabled = $enabled; + } + public function getEnabled() + { + return $this->enabled; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Gmail/BatchDeleteMessagesRequest.php b/vendor/google/apiclient-services/src/Google/Service/Gmail/BatchDeleteMessagesRequest.php new file mode 100644 index 00000000..e8f0a8d9 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Gmail/BatchDeleteMessagesRequest.php @@ -0,0 +1,31 @@ +ids = $ids; + } + public function getIds() + { + return $this->ids; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Gmail/BatchModifyMessagesRequest.php b/vendor/google/apiclient-services/src/Google/Service/Gmail/BatchModifyMessagesRequest.php new file mode 100644 index 00000000..ac6474c8 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Gmail/BatchModifyMessagesRequest.php @@ -0,0 +1,49 @@ +addLabelIds = $addLabelIds; + } + public function getAddLabelIds() + { + return $this->addLabelIds; + } + public function setIds($ids) + { + $this->ids = $ids; + } + public function getIds() + { + return $this->ids; + } + public function setRemoveLabelIds($removeLabelIds) + { + $this->removeLabelIds = $removeLabelIds; + } + public function getRemoveLabelIds() + { + return $this->removeLabelIds; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Gmail/Draft.php b/vendor/google/apiclient-services/src/Google/Service/Gmail/Draft.php new file mode 100644 index 00000000..adcbce81 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Gmail/Draft.php @@ -0,0 +1,40 @@ +id = $id; + } + public function getId() + { + return $this->id; + } + public function setMessage(Google_Service_Gmail_Message $message) + { + $this->message = $message; + } + public function getMessage() + { + return $this->message; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Gmail/Filter.php b/vendor/google/apiclient-services/src/Google/Service/Gmail/Filter.php new file mode 100644 index 00000000..c0fb8455 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Gmail/Filter.php @@ -0,0 +1,50 @@ +action = $action; + } + public function getAction() + { + return $this->action; + } + public function setCriteria(Google_Service_Gmail_FilterCriteria $criteria) + { + $this->criteria = $criteria; + } + public function getCriteria() + { + return $this->criteria; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Gmail/FilterAction.php b/vendor/google/apiclient-services/src/Google/Service/Gmail/FilterAction.php new file mode 100644 index 00000000..2c2f7137 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Gmail/FilterAction.php @@ -0,0 +1,49 @@ +addLabelIds = $addLabelIds; + } + public function getAddLabelIds() + { + return $this->addLabelIds; + } + public function setForward($forward) + { + $this->forward = $forward; + } + public function getForward() + { + return $this->forward; + } + public function setRemoveLabelIds($removeLabelIds) + { + $this->removeLabelIds = $removeLabelIds; + } + public function getRemoveLabelIds() + { + return $this->removeLabelIds; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Gmail/FilterCriteria.php b/vendor/google/apiclient-services/src/Google/Service/Gmail/FilterCriteria.php new file mode 100644 index 00000000..fd8ea442 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Gmail/FilterCriteria.php @@ -0,0 +1,102 @@ +excludeChats = $excludeChats; + } + public function getExcludeChats() + { + return $this->excludeChats; + } + public function setFrom($from) + { + $this->from = $from; + } + public function getFrom() + { + return $this->from; + } + public function setHasAttachment($hasAttachment) + { + $this->hasAttachment = $hasAttachment; + } + public function getHasAttachment() + { + return $this->hasAttachment; + } + public function setNegatedQuery($negatedQuery) + { + $this->negatedQuery = $negatedQuery; + } + public function getNegatedQuery() + { + return $this->negatedQuery; + } + public function setQuery($query) + { + $this->query = $query; + } + public function getQuery() + { + return $this->query; + } + public function setSize($size) + { + $this->size = $size; + } + public function getSize() + { + return $this->size; + } + public function setSizeComparison($sizeComparison) + { + $this->sizeComparison = $sizeComparison; + } + public function getSizeComparison() + { + return $this->sizeComparison; + } + public function setSubject($subject) + { + $this->subject = $subject; + } + public function getSubject() + { + return $this->subject; + } + public function setTo($to) + { + $this->to = $to; + } + public function getTo() + { + return $this->to; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Gmail/ForwardingAddress.php b/vendor/google/apiclient-services/src/Google/Service/Gmail/ForwardingAddress.php new file mode 100644 index 00000000..30259a5b --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Gmail/ForwardingAddress.php @@ -0,0 +1,39 @@ +forwardingEmail = $forwardingEmail; + } + public function getForwardingEmail() + { + return $this->forwardingEmail; + } + public function setVerificationStatus($verificationStatus) + { + $this->verificationStatus = $verificationStatus; + } + public function getVerificationStatus() + { + return $this->verificationStatus; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Gmail/History.php b/vendor/google/apiclient-services/src/Google/Service/Gmail/History.php new file mode 100644 index 00000000..c94fbacb --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Gmail/History.php @@ -0,0 +1,81 @@ +id = $id; + } + public function getId() + { + return $this->id; + } + public function setLabelsAdded($labelsAdded) + { + $this->labelsAdded = $labelsAdded; + } + public function getLabelsAdded() + { + return $this->labelsAdded; + } + public function setLabelsRemoved($labelsRemoved) + { + $this->labelsRemoved = $labelsRemoved; + } + public function getLabelsRemoved() + { + return $this->labelsRemoved; + } + public function setMessages($messages) + { + $this->messages = $messages; + } + public function getMessages() + { + return $this->messages; + } + public function setMessagesAdded($messagesAdded) + { + $this->messagesAdded = $messagesAdded; + } + public function getMessagesAdded() + { + return $this->messagesAdded; + } + public function setMessagesDeleted($messagesDeleted) + { + $this->messagesDeleted = $messagesDeleted; + } + public function getMessagesDeleted() + { + return $this->messagesDeleted; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Gmail/HistoryLabelAdded.php b/vendor/google/apiclient-services/src/Google/Service/Gmail/HistoryLabelAdded.php new file mode 100644 index 00000000..98af97c0 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Gmail/HistoryLabelAdded.php @@ -0,0 +1,41 @@ +labelIds = $labelIds; + } + public function getLabelIds() + { + return $this->labelIds; + } + public function setMessage(Google_Service_Gmail_Message $message) + { + $this->message = $message; + } + public function getMessage() + { + return $this->message; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Gmail/HistoryLabelRemoved.php b/vendor/google/apiclient-services/src/Google/Service/Gmail/HistoryLabelRemoved.php new file mode 100644 index 00000000..8bba31ea --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Gmail/HistoryLabelRemoved.php @@ -0,0 +1,41 @@ +labelIds = $labelIds; + } + public function getLabelIds() + { + return $this->labelIds; + } + public function setMessage(Google_Service_Gmail_Message $message) + { + $this->message = $message; + } + public function getMessage() + { + return $this->message; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Gmail/HistoryMessageAdded.php b/vendor/google/apiclient-services/src/Google/Service/Gmail/HistoryMessageAdded.php new file mode 100644 index 00000000..28e5aecc --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Gmail/HistoryMessageAdded.php @@ -0,0 +1,31 @@ +message = $message; + } + public function getMessage() + { + return $this->message; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Gmail/HistoryMessageDeleted.php b/vendor/google/apiclient-services/src/Google/Service/Gmail/HistoryMessageDeleted.php new file mode 100644 index 00000000..d8ecf450 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Gmail/HistoryMessageDeleted.php @@ -0,0 +1,31 @@ +message = $message; + } + public function getMessage() + { + return $this->message; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Gmail/ImapSettings.php b/vendor/google/apiclient-services/src/Google/Service/Gmail/ImapSettings.php new file mode 100644 index 00000000..8f467f93 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Gmail/ImapSettings.php @@ -0,0 +1,57 @@ +autoExpunge = $autoExpunge; + } + public function getAutoExpunge() + { + return $this->autoExpunge; + } + public function setEnabled($enabled) + { + $this->enabled = $enabled; + } + public function getEnabled() + { + return $this->enabled; + } + public function setExpungeBehavior($expungeBehavior) + { + $this->expungeBehavior = $expungeBehavior; + } + public function getExpungeBehavior() + { + return $this->expungeBehavior; + } + public function setMaxFolderSize($maxFolderSize) + { + $this->maxFolderSize = $maxFolderSize; + } + public function getMaxFolderSize() + { + return $this->maxFolderSize; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Gmail/Label.php b/vendor/google/apiclient-services/src/Google/Service/Gmail/Label.php new file mode 100644 index 00000000..9595a0b5 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Gmail/Label.php @@ -0,0 +1,102 @@ +id = $id; + } + public function getId() + { + return $this->id; + } + public function setLabelListVisibility($labelListVisibility) + { + $this->labelListVisibility = $labelListVisibility; + } + public function getLabelListVisibility() + { + return $this->labelListVisibility; + } + public function setMessageListVisibility($messageListVisibility) + { + $this->messageListVisibility = $messageListVisibility; + } + public function getMessageListVisibility() + { + return $this->messageListVisibility; + } + public function setMessagesTotal($messagesTotal) + { + $this->messagesTotal = $messagesTotal; + } + public function getMessagesTotal() + { + return $this->messagesTotal; + } + public function setMessagesUnread($messagesUnread) + { + $this->messagesUnread = $messagesUnread; + } + public function getMessagesUnread() + { + return $this->messagesUnread; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setThreadsTotal($threadsTotal) + { + $this->threadsTotal = $threadsTotal; + } + public function getThreadsTotal() + { + return $this->threadsTotal; + } + public function setThreadsUnread($threadsUnread) + { + $this->threadsUnread = $threadsUnread; + } + public function getThreadsUnread() + { + return $this->threadsUnread; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Gmail/ListDraftsResponse.php b/vendor/google/apiclient-services/src/Google/Service/Gmail/ListDraftsResponse.php new file mode 100644 index 00000000..4c510e47 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Gmail/ListDraftsResponse.php @@ -0,0 +1,50 @@ +drafts = $drafts; + } + public function getDrafts() + { + return $this->drafts; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setResultSizeEstimate($resultSizeEstimate) + { + $this->resultSizeEstimate = $resultSizeEstimate; + } + public function getResultSizeEstimate() + { + return $this->resultSizeEstimate; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Gmail/ListFiltersResponse.php b/vendor/google/apiclient-services/src/Google/Service/Gmail/ListFiltersResponse.php new file mode 100644 index 00000000..20c14b19 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Gmail/ListFiltersResponse.php @@ -0,0 +1,32 @@ +filter = $filter; + } + public function getFilter() + { + return $this->filter; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Gmail/ListForwardingAddressesResponse.php b/vendor/google/apiclient-services/src/Google/Service/Gmail/ListForwardingAddressesResponse.php new file mode 100644 index 00000000..f91c0f95 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Gmail/ListForwardingAddressesResponse.php @@ -0,0 +1,32 @@ +forwardingAddresses = $forwardingAddresses; + } + public function getForwardingAddresses() + { + return $this->forwardingAddresses; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Gmail/ListHistoryResponse.php b/vendor/google/apiclient-services/src/Google/Service/Gmail/ListHistoryResponse.php new file mode 100644 index 00000000..b2a95741 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Gmail/ListHistoryResponse.php @@ -0,0 +1,50 @@ +history = $history; + } + public function getHistory() + { + return $this->history; + } + public function setHistoryId($historyId) + { + $this->historyId = $historyId; + } + public function getHistoryId() + { + return $this->historyId; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Gmail/ListLabelsResponse.php b/vendor/google/apiclient-services/src/Google/Service/Gmail/ListLabelsResponse.php new file mode 100644 index 00000000..dcd09dbb --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Gmail/ListLabelsResponse.php @@ -0,0 +1,32 @@ +labels = $labels; + } + public function getLabels() + { + return $this->labels; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Gmail/ListMessagesResponse.php b/vendor/google/apiclient-services/src/Google/Service/Gmail/ListMessagesResponse.php new file mode 100644 index 00000000..18ab5603 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Gmail/ListMessagesResponse.php @@ -0,0 +1,50 @@ +messages = $messages; + } + public function getMessages() + { + return $this->messages; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setResultSizeEstimate($resultSizeEstimate) + { + $this->resultSizeEstimate = $resultSizeEstimate; + } + public function getResultSizeEstimate() + { + return $this->resultSizeEstimate; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Gmail/ListSendAsResponse.php b/vendor/google/apiclient-services/src/Google/Service/Gmail/ListSendAsResponse.php new file mode 100644 index 00000000..288d2f54 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Gmail/ListSendAsResponse.php @@ -0,0 +1,32 @@ +sendAs = $sendAs; + } + public function getSendAs() + { + return $this->sendAs; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Gmail/ListSmimeInfoResponse.php b/vendor/google/apiclient-services/src/Google/Service/Gmail/ListSmimeInfoResponse.php new file mode 100644 index 00000000..e8bf165d --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Gmail/ListSmimeInfoResponse.php @@ -0,0 +1,32 @@ +smimeInfo = $smimeInfo; + } + public function getSmimeInfo() + { + return $this->smimeInfo; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Gmail/ListThreadsResponse.php b/vendor/google/apiclient-services/src/Google/Service/Gmail/ListThreadsResponse.php new file mode 100644 index 00000000..990f593d --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Gmail/ListThreadsResponse.php @@ -0,0 +1,50 @@ +nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setResultSizeEstimate($resultSizeEstimate) + { + $this->resultSizeEstimate = $resultSizeEstimate; + } + public function getResultSizeEstimate() + { + return $this->resultSizeEstimate; + } + public function setThreads($threads) + { + $this->threads = $threads; + } + public function getThreads() + { + return $this->threads; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Gmail/Message.php b/vendor/google/apiclient-services/src/Google/Service/Gmail/Message.php new file mode 100644 index 00000000..95787880 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Gmail/Message.php @@ -0,0 +1,104 @@ +historyId = $historyId; + } + public function getHistoryId() + { + return $this->historyId; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setInternalDate($internalDate) + { + $this->internalDate = $internalDate; + } + public function getInternalDate() + { + return $this->internalDate; + } + public function setLabelIds($labelIds) + { + $this->labelIds = $labelIds; + } + public function getLabelIds() + { + return $this->labelIds; + } + public function setPayload(Google_Service_Gmail_MessagePart $payload) + { + $this->payload = $payload; + } + public function getPayload() + { + return $this->payload; + } + public function setRaw($raw) + { + $this->raw = $raw; + } + public function getRaw() + { + return $this->raw; + } + public function setSizeEstimate($sizeEstimate) + { + $this->sizeEstimate = $sizeEstimate; + } + public function getSizeEstimate() + { + return $this->sizeEstimate; + } + public function setSnippet($snippet) + { + $this->snippet = $snippet; + } + public function getSnippet() + { + return $this->snippet; + } + public function setThreadId($threadId) + { + $this->threadId = $threadId; + } + public function getThreadId() + { + return $this->threadId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Gmail/MessagePart.php b/vendor/google/apiclient-services/src/Google/Service/Gmail/MessagePart.php new file mode 100644 index 00000000..a53e1bad --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Gmail/MessagePart.php @@ -0,0 +1,79 @@ +body = $body; + } + public function getBody() + { + return $this->body; + } + public function setFilename($filename) + { + $this->filename = $filename; + } + public function getFilename() + { + return $this->filename; + } + public function setHeaders($headers) + { + $this->headers = $headers; + } + public function getHeaders() + { + return $this->headers; + } + public function setMimeType($mimeType) + { + $this->mimeType = $mimeType; + } + public function getMimeType() + { + return $this->mimeType; + } + public function setPartId($partId) + { + $this->partId = $partId; + } + public function getPartId() + { + return $this->partId; + } + public function setParts($parts) + { + $this->parts = $parts; + } + public function getParts() + { + return $this->parts; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Gmail/MessagePartBody.php b/vendor/google/apiclient-services/src/Google/Service/Gmail/MessagePartBody.php new file mode 100644 index 00000000..d607b307 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Gmail/MessagePartBody.php @@ -0,0 +1,48 @@ +attachmentId = $attachmentId; + } + public function getAttachmentId() + { + return $this->attachmentId; + } + public function setData($data) + { + $this->data = $data; + } + public function getData() + { + return $this->data; + } + public function setSize($size) + { + $this->size = $size; + } + public function getSize() + { + return $this->size; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Gmail/MessagePartHeader.php b/vendor/google/apiclient-services/src/Google/Service/Gmail/MessagePartHeader.php new file mode 100644 index 00000000..b76456f8 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Gmail/MessagePartHeader.php @@ -0,0 +1,39 @@ +name = $name; + } + public function getName() + { + return $this->name; + } + public function setValue($value) + { + $this->value = $value; + } + public function getValue() + { + return $this->value; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Gmail/ModifyMessageRequest.php b/vendor/google/apiclient-services/src/Google/Service/Gmail/ModifyMessageRequest.php new file mode 100644 index 00000000..96035fd5 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Gmail/ModifyMessageRequest.php @@ -0,0 +1,40 @@ +addLabelIds = $addLabelIds; + } + public function getAddLabelIds() + { + return $this->addLabelIds; + } + public function setRemoveLabelIds($removeLabelIds) + { + $this->removeLabelIds = $removeLabelIds; + } + public function getRemoveLabelIds() + { + return $this->removeLabelIds; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Gmail/ModifyThreadRequest.php b/vendor/google/apiclient-services/src/Google/Service/Gmail/ModifyThreadRequest.php new file mode 100644 index 00000000..9409d0d3 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Gmail/ModifyThreadRequest.php @@ -0,0 +1,40 @@ +addLabelIds = $addLabelIds; + } + public function getAddLabelIds() + { + return $this->addLabelIds; + } + public function setRemoveLabelIds($removeLabelIds) + { + $this->removeLabelIds = $removeLabelIds; + } + public function getRemoveLabelIds() + { + return $this->removeLabelIds; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Gmail/PopSettings.php b/vendor/google/apiclient-services/src/Google/Service/Gmail/PopSettings.php new file mode 100644 index 00000000..dcc92546 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Gmail/PopSettings.php @@ -0,0 +1,39 @@ +accessWindow = $accessWindow; + } + public function getAccessWindow() + { + return $this->accessWindow; + } + public function setDisposition($disposition) + { + $this->disposition = $disposition; + } + public function getDisposition() + { + return $this->disposition; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Gmail/Profile.php b/vendor/google/apiclient-services/src/Google/Service/Gmail/Profile.php new file mode 100644 index 00000000..15fccdfc --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Gmail/Profile.php @@ -0,0 +1,57 @@ +emailAddress = $emailAddress; + } + public function getEmailAddress() + { + return $this->emailAddress; + } + public function setHistoryId($historyId) + { + $this->historyId = $historyId; + } + public function getHistoryId() + { + return $this->historyId; + } + public function setMessagesTotal($messagesTotal) + { + $this->messagesTotal = $messagesTotal; + } + public function getMessagesTotal() + { + return $this->messagesTotal; + } + public function setThreadsTotal($threadsTotal) + { + $this->threadsTotal = $threadsTotal; + } + public function getThreadsTotal() + { + return $this->threadsTotal; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Gmail/Resource/Users.php b/vendor/google/apiclient-services/src/Google/Service/Gmail/Resource/Users.php new file mode 100644 index 00000000..a98be061 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Gmail/Resource/Users.php @@ -0,0 +1,71 @@ + + * $gmailService = new Google_Service_Gmail(...); + * $users = $gmailService->users; + * + */ +class Google_Service_Gmail_Resource_Users extends Google_Service_Resource +{ + /** + * Gets the current user's Gmail profile. (users.getProfile) + * + * @param string $userId The user's email address. The special value me can be + * used to indicate the authenticated user. + * @param array $optParams Optional parameters. + * @return Google_Service_Gmail_Profile + */ + public function getProfile($userId, $optParams = array()) + { + $params = array('userId' => $userId); + $params = array_merge($params, $optParams); + return $this->call('getProfile', array($params), "Google_Service_Gmail_Profile"); + } + /** + * Stop receiving push notifications for the given user mailbox. (users.stop) + * + * @param string $userId The user's email address. The special value me can be + * used to indicate the authenticated user. + * @param array $optParams Optional parameters. + */ + public function stop($userId, $optParams = array()) + { + $params = array('userId' => $userId); + $params = array_merge($params, $optParams); + return $this->call('stop', array($params)); + } + /** + * Set up or update a push notification watch on the given user mailbox. + * (users.watch) + * + * @param string $userId The user's email address. The special value me can be + * used to indicate the authenticated user. + * @param Google_Service_Gmail_WatchRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Gmail_WatchResponse + */ + public function watch($userId, Google_Service_Gmail_WatchRequest $postBody, $optParams = array()) + { + $params = array('userId' => $userId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('watch', array($params), "Google_Service_Gmail_WatchResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Gmail/Resource/UsersDrafts.php b/vendor/google/apiclient-services/src/Google/Service/Gmail/Resource/UsersDrafts.php new file mode 100644 index 00000000..af78f4b3 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Gmail/Resource/UsersDrafts.php @@ -0,0 +1,130 @@ + + * $gmailService = new Google_Service_Gmail(...); + * $drafts = $gmailService->drafts; + * + */ +class Google_Service_Gmail_Resource_UsersDrafts extends Google_Service_Resource +{ + /** + * Creates a new draft with the DRAFT label. (drafts.create) + * + * @param string $userId The user's email address. The special value me can be + * used to indicate the authenticated user. + * @param Google_Service_Gmail_Draft $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Gmail_Draft + */ + public function create($userId, Google_Service_Gmail_Draft $postBody, $optParams = array()) + { + $params = array('userId' => $userId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('create', array($params), "Google_Service_Gmail_Draft"); + } + /** + * Immediately and permanently deletes the specified draft. Does not simply + * trash it. (drafts.delete) + * + * @param string $userId The user's email address. The special value me can be + * used to indicate the authenticated user. + * @param string $id The ID of the draft to delete. + * @param array $optParams Optional parameters. + */ + public function delete($userId, $id, $optParams = array()) + { + $params = array('userId' => $userId, 'id' => $id); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params)); + } + /** + * Gets the specified draft. (drafts.get) + * + * @param string $userId The user's email address. The special value me can be + * used to indicate the authenticated user. + * @param string $id The ID of the draft to retrieve. + * @param array $optParams Optional parameters. + * + * @opt_param string format The format to return the draft in. + * @return Google_Service_Gmail_Draft + */ + public function get($userId, $id, $optParams = array()) + { + $params = array('userId' => $userId, 'id' => $id); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Gmail_Draft"); + } + /** + * Lists the drafts in the user's mailbox. (drafts.listUsersDrafts) + * + * @param string $userId The user's email address. The special value me can be + * used to indicate the authenticated user. + * @param array $optParams Optional parameters. + * + * @opt_param bool includeSpamTrash Include drafts from SPAM and TRASH in the + * results. + * @opt_param string maxResults Maximum number of drafts to return. + * @opt_param string pageToken Page token to retrieve a specific page of results + * in the list. + * @opt_param string q Only return draft messages matching the specified query. + * Supports the same query format as the Gmail search box. For example, + * "from:someuser@example.com rfc822msgid: is:unread". + * @return Google_Service_Gmail_ListDraftsResponse + */ + public function listUsersDrafts($userId, $optParams = array()) + { + $params = array('userId' => $userId); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Gmail_ListDraftsResponse"); + } + /** + * Sends the specified, existing draft to the recipients in the To, Cc, and Bcc + * headers. (drafts.send) + * + * @param string $userId The user's email address. The special value me can be + * used to indicate the authenticated user. + * @param Google_Service_Gmail_Draft $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Gmail_Message + */ + public function send($userId, Google_Service_Gmail_Draft $postBody, $optParams = array()) + { + $params = array('userId' => $userId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('send', array($params), "Google_Service_Gmail_Message"); + } + /** + * Replaces a draft's content. (drafts.update) + * + * @param string $userId The user's email address. The special value me can be + * used to indicate the authenticated user. + * @param string $id The ID of the draft to update. + * @param Google_Service_Gmail_Draft $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Gmail_Draft + */ + public function update($userId, $id, Google_Service_Gmail_Draft $postBody, $optParams = array()) + { + $params = array('userId' => $userId, 'id' => $id, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('update', array($params), "Google_Service_Gmail_Draft"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Gmail/Resource/UsersHistory.php b/vendor/google/apiclient-services/src/Google/Service/Gmail/Resource/UsersHistory.php new file mode 100644 index 00000000..f04f7cf7 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Gmail/Resource/UsersHistory.php @@ -0,0 +1,61 @@ + + * $gmailService = new Google_Service_Gmail(...); + * $history = $gmailService->history; + * + */ +class Google_Service_Gmail_Resource_UsersHistory extends Google_Service_Resource +{ + /** + * Lists the history of all changes to the given mailbox. History results are + * returned in chronological order (increasing historyId). + * (history.listUsersHistory) + * + * @param string $userId The user's email address. The special value me can be + * used to indicate the authenticated user. + * @param array $optParams Optional parameters. + * + * @opt_param string historyTypes History types to be returned by the function + * @opt_param string labelId Only return messages with a label matching the ID. + * @opt_param string maxResults The maximum number of history records to return. + * @opt_param string pageToken Page token to retrieve a specific page of results + * in the list. + * @opt_param string startHistoryId Required. Returns history records after the + * specified startHistoryId. The supplied startHistoryId should be obtained from + * the historyId of a message, thread, or previous list response. History IDs + * increase chronologically but are not contiguous with random gaps in between + * valid IDs. Supplying an invalid or out of date startHistoryId typically + * returns an HTTP 404 error code. A historyId is typically valid for at least a + * week, but in some rare circumstances may be valid for only a few hours. If + * you receive an HTTP 404 error response, your application should perform a + * full sync. If you receive no nextPageToken in the response, there are no + * updates to retrieve and you can store the returned historyId for a future + * request. + * @return Google_Service_Gmail_ListHistoryResponse + */ + public function listUsersHistory($userId, $optParams = array()) + { + $params = array('userId' => $userId); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Gmail_ListHistoryResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Gmail/Resource/UsersLabels.php b/vendor/google/apiclient-services/src/Google/Service/Gmail/Resource/UsersLabels.php new file mode 100644 index 00000000..f099e5b6 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Gmail/Resource/UsersLabels.php @@ -0,0 +1,120 @@ + + * $gmailService = new Google_Service_Gmail(...); + * $labels = $gmailService->labels; + * + */ +class Google_Service_Gmail_Resource_UsersLabels extends Google_Service_Resource +{ + /** + * Creates a new label. (labels.create) + * + * @param string $userId The user's email address. The special value me can be + * used to indicate the authenticated user. + * @param Google_Service_Gmail_Label $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Gmail_Label + */ + public function create($userId, Google_Service_Gmail_Label $postBody, $optParams = array()) + { + $params = array('userId' => $userId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('create', array($params), "Google_Service_Gmail_Label"); + } + /** + * Immediately and permanently deletes the specified label and removes it from + * any messages and threads that it is applied to. (labels.delete) + * + * @param string $userId The user's email address. The special value me can be + * used to indicate the authenticated user. + * @param string $id The ID of the label to delete. + * @param array $optParams Optional parameters. + */ + public function delete($userId, $id, $optParams = array()) + { + $params = array('userId' => $userId, 'id' => $id); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params)); + } + /** + * Gets the specified label. (labels.get) + * + * @param string $userId The user's email address. The special value me can be + * used to indicate the authenticated user. + * @param string $id The ID of the label to retrieve. + * @param array $optParams Optional parameters. + * @return Google_Service_Gmail_Label + */ + public function get($userId, $id, $optParams = array()) + { + $params = array('userId' => $userId, 'id' => $id); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Gmail_Label"); + } + /** + * Lists all labels in the user's mailbox. (labels.listUsersLabels) + * + * @param string $userId The user's email address. The special value me can be + * used to indicate the authenticated user. + * @param array $optParams Optional parameters. + * @return Google_Service_Gmail_ListLabelsResponse + */ + public function listUsersLabels($userId, $optParams = array()) + { + $params = array('userId' => $userId); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Gmail_ListLabelsResponse"); + } + /** + * Updates the specified label. This method supports patch semantics. + * (labels.patch) + * + * @param string $userId The user's email address. The special value me can be + * used to indicate the authenticated user. + * @param string $id The ID of the label to update. + * @param Google_Service_Gmail_Label $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Gmail_Label + */ + public function patch($userId, $id, Google_Service_Gmail_Label $postBody, $optParams = array()) + { + $params = array('userId' => $userId, 'id' => $id, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('patch', array($params), "Google_Service_Gmail_Label"); + } + /** + * Updates the specified label. (labels.update) + * + * @param string $userId The user's email address. The special value me can be + * used to indicate the authenticated user. + * @param string $id The ID of the label to update. + * @param Google_Service_Gmail_Label $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Gmail_Label + */ + public function update($userId, $id, Google_Service_Gmail_Label $postBody, $optParams = array()) + { + $params = array('userId' => $userId, 'id' => $id, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('update', array($params), "Google_Service_Gmail_Label"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Gmail/Resource/UsersMessages.php b/vendor/google/apiclient-services/src/Google/Service/Gmail/Resource/UsersMessages.php new file mode 100644 index 00000000..f8da91aa --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Gmail/Resource/UsersMessages.php @@ -0,0 +1,229 @@ + + * $gmailService = new Google_Service_Gmail(...); + * $messages = $gmailService->messages; + * + */ +class Google_Service_Gmail_Resource_UsersMessages extends Google_Service_Resource +{ + /** + * Deletes many messages by message ID. Provides no guarantees that messages + * were not already deleted or even existed at all. (messages.batchDelete) + * + * @param string $userId The user's email address. The special value me can be + * used to indicate the authenticated user. + * @param Google_Service_Gmail_BatchDeleteMessagesRequest $postBody + * @param array $optParams Optional parameters. + */ + public function batchDelete($userId, Google_Service_Gmail_BatchDeleteMessagesRequest $postBody, $optParams = array()) + { + $params = array('userId' => $userId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('batchDelete', array($params)); + } + /** + * Modifies the labels on the specified messages. (messages.batchModify) + * + * @param string $userId The user's email address. The special value me can be + * used to indicate the authenticated user. + * @param Google_Service_Gmail_BatchModifyMessagesRequest $postBody + * @param array $optParams Optional parameters. + */ + public function batchModify($userId, Google_Service_Gmail_BatchModifyMessagesRequest $postBody, $optParams = array()) + { + $params = array('userId' => $userId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('batchModify', array($params)); + } + /** + * Immediately and permanently deletes the specified message. This operation + * cannot be undone. Prefer messages.trash instead. (messages.delete) + * + * @param string $userId The user's email address. The special value me can be + * used to indicate the authenticated user. + * @param string $id The ID of the message to delete. + * @param array $optParams Optional parameters. + */ + public function delete($userId, $id, $optParams = array()) + { + $params = array('userId' => $userId, 'id' => $id); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params)); + } + /** + * Gets the specified message. (messages.get) + * + * @param string $userId The user's email address. The special value me can be + * used to indicate the authenticated user. + * @param string $id The ID of the message to retrieve. + * @param array $optParams Optional parameters. + * + * @opt_param string format The format to return the message in. + * @opt_param string metadataHeaders When given and format is METADATA, only + * include headers specified. + * @return Google_Service_Gmail_Message + */ + public function get($userId, $id, $optParams = array()) + { + $params = array('userId' => $userId, 'id' => $id); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Gmail_Message"); + } + /** + * Imports a message into only this user's mailbox, with standard email delivery + * scanning and classification similar to receiving via SMTP. Does not send a + * message. (messages.import) + * + * @param string $userId The user's email address. The special value me can be + * used to indicate the authenticated user. + * @param Google_Service_Gmail_Message $postBody + * @param array $optParams Optional parameters. + * + * @opt_param bool deleted Mark the email as permanently deleted (not TRASH) and + * only visible in Google Vault to a Vault administrator. Only used for G Suite + * accounts. + * @opt_param string internalDateSource Source for Gmail's internal date of the + * message. + * @opt_param bool neverMarkSpam Ignore the Gmail spam classifier decision and + * never mark this email as SPAM in the mailbox. + * @opt_param bool processForCalendar Process calendar invites in the email and + * add any extracted meetings to the Google Calendar for this user. + * @return Google_Service_Gmail_Message + */ + public function import($userId, Google_Service_Gmail_Message $postBody, $optParams = array()) + { + $params = array('userId' => $userId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('import', array($params), "Google_Service_Gmail_Message"); + } + /** + * Directly inserts a message into only this user's mailbox similar to IMAP + * APPEND, bypassing most scanning and classification. Does not send a message. + * (messages.insert) + * + * @param string $userId The user's email address. The special value me can be + * used to indicate the authenticated user. + * @param Google_Service_Gmail_Message $postBody + * @param array $optParams Optional parameters. + * + * @opt_param bool deleted Mark the email as permanently deleted (not TRASH) and + * only visible in Google Vault to a Vault administrator. Only used for G Suite + * accounts. + * @opt_param string internalDateSource Source for Gmail's internal date of the + * message. + * @return Google_Service_Gmail_Message + */ + public function insert($userId, Google_Service_Gmail_Message $postBody, $optParams = array()) + { + $params = array('userId' => $userId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('insert', array($params), "Google_Service_Gmail_Message"); + } + /** + * Lists the messages in the user's mailbox. (messages.listUsersMessages) + * + * @param string $userId The user's email address. The special value me can be + * used to indicate the authenticated user. + * @param array $optParams Optional parameters. + * + * @opt_param bool includeSpamTrash Include messages from SPAM and TRASH in the + * results. + * @opt_param string labelIds Only return messages with labels that match all of + * the specified label IDs. + * @opt_param string maxResults Maximum number of messages to return. + * @opt_param string pageToken Page token to retrieve a specific page of results + * in the list. + * @opt_param string q Only return messages matching the specified query. + * Supports the same query format as the Gmail search box. For example, + * "from:someuser@example.com rfc822msgid: is:unread". Parameter cannot be used + * when accessing the api using the gmail.metadata scope. + * @return Google_Service_Gmail_ListMessagesResponse + */ + public function listUsersMessages($userId, $optParams = array()) + { + $params = array('userId' => $userId); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Gmail_ListMessagesResponse"); + } + /** + * Modifies the labels on the specified message. (messages.modify) + * + * @param string $userId The user's email address. The special value me can be + * used to indicate the authenticated user. + * @param string $id The ID of the message to modify. + * @param Google_Service_Gmail_ModifyMessageRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Gmail_Message + */ + public function modify($userId, $id, Google_Service_Gmail_ModifyMessageRequest $postBody, $optParams = array()) + { + $params = array('userId' => $userId, 'id' => $id, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('modify', array($params), "Google_Service_Gmail_Message"); + } + /** + * Sends the specified message to the recipients in the To, Cc, and Bcc headers. + * (messages.send) + * + * @param string $userId The user's email address. The special value me can be + * used to indicate the authenticated user. + * @param Google_Service_Gmail_Message $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Gmail_Message + */ + public function send($userId, Google_Service_Gmail_Message $postBody, $optParams = array()) + { + $params = array('userId' => $userId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('send', array($params), "Google_Service_Gmail_Message"); + } + /** + * Moves the specified message to the trash. (messages.trash) + * + * @param string $userId The user's email address. The special value me can be + * used to indicate the authenticated user. + * @param string $id The ID of the message to Trash. + * @param array $optParams Optional parameters. + * @return Google_Service_Gmail_Message + */ + public function trash($userId, $id, $optParams = array()) + { + $params = array('userId' => $userId, 'id' => $id); + $params = array_merge($params, $optParams); + return $this->call('trash', array($params), "Google_Service_Gmail_Message"); + } + /** + * Removes the specified message from the trash. (messages.untrash) + * + * @param string $userId The user's email address. The special value me can be + * used to indicate the authenticated user. + * @param string $id The ID of the message to remove from Trash. + * @param array $optParams Optional parameters. + * @return Google_Service_Gmail_Message + */ + public function untrash($userId, $id, $optParams = array()) + { + $params = array('userId' => $userId, 'id' => $id); + $params = array_merge($params, $optParams); + return $this->call('untrash', array($params), "Google_Service_Gmail_Message"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Gmail/Resource/UsersMessagesAttachments.php b/vendor/google/apiclient-services/src/Google/Service/Gmail/Resource/UsersMessagesAttachments.php new file mode 100644 index 00000000..f3d1a784 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Gmail/Resource/UsersMessagesAttachments.php @@ -0,0 +1,44 @@ + + * $gmailService = new Google_Service_Gmail(...); + * $attachments = $gmailService->attachments; + * + */ +class Google_Service_Gmail_Resource_UsersMessagesAttachments extends Google_Service_Resource +{ + /** + * Gets the specified message attachment. (attachments.get) + * + * @param string $userId The user's email address. The special value me can be + * used to indicate the authenticated user. + * @param string $messageId The ID of the message containing the attachment. + * @param string $id The ID of the attachment. + * @param array $optParams Optional parameters. + * @return Google_Service_Gmail_MessagePartBody + */ + public function get($userId, $messageId, $id, $optParams = array()) + { + $params = array('userId' => $userId, 'messageId' => $messageId, 'id' => $id); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Gmail_MessagePartBody"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Gmail/Resource/UsersSettings.php b/vendor/google/apiclient-services/src/Google/Service/Gmail/Resource/UsersSettings.php new file mode 100644 index 00000000..1f8bfa18 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Gmail/Resource/UsersSettings.php @@ -0,0 +1,149 @@ + + * $gmailService = new Google_Service_Gmail(...); + * $settings = $gmailService->settings; + * + */ +class Google_Service_Gmail_Resource_UsersSettings extends Google_Service_Resource +{ + /** + * Gets the auto-forwarding setting for the specified account. + * (settings.getAutoForwarding) + * + * @param string $userId User's email address. The special value "me" can be + * used to indicate the authenticated user. + * @param array $optParams Optional parameters. + * @return Google_Service_Gmail_AutoForwarding + */ + public function getAutoForwarding($userId, $optParams = array()) + { + $params = array('userId' => $userId); + $params = array_merge($params, $optParams); + return $this->call('getAutoForwarding', array($params), "Google_Service_Gmail_AutoForwarding"); + } + /** + * Gets IMAP settings. (settings.getImap) + * + * @param string $userId User's email address. The special value "me" can be + * used to indicate the authenticated user. + * @param array $optParams Optional parameters. + * @return Google_Service_Gmail_ImapSettings + */ + public function getImap($userId, $optParams = array()) + { + $params = array('userId' => $userId); + $params = array_merge($params, $optParams); + return $this->call('getImap', array($params), "Google_Service_Gmail_ImapSettings"); + } + /** + * Gets POP settings. (settings.getPop) + * + * @param string $userId User's email address. The special value "me" can be + * used to indicate the authenticated user. + * @param array $optParams Optional parameters. + * @return Google_Service_Gmail_PopSettings + */ + public function getPop($userId, $optParams = array()) + { + $params = array('userId' => $userId); + $params = array_merge($params, $optParams); + return $this->call('getPop', array($params), "Google_Service_Gmail_PopSettings"); + } + /** + * Gets vacation responder settings. (settings.getVacation) + * + * @param string $userId User's email address. The special value "me" can be + * used to indicate the authenticated user. + * @param array $optParams Optional parameters. + * @return Google_Service_Gmail_VacationSettings + */ + public function getVacation($userId, $optParams = array()) + { + $params = array('userId' => $userId); + $params = array_merge($params, $optParams); + return $this->call('getVacation', array($params), "Google_Service_Gmail_VacationSettings"); + } + /** + * Updates the auto-forwarding setting for the specified account. A verified + * forwarding address must be specified when auto-forwarding is enabled. + * + * This method is only available to service account clients that have been + * delegated domain-wide authority. (settings.updateAutoForwarding) + * + * @param string $userId User's email address. The special value "me" can be + * used to indicate the authenticated user. + * @param Google_Service_Gmail_AutoForwarding $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Gmail_AutoForwarding + */ + public function updateAutoForwarding($userId, Google_Service_Gmail_AutoForwarding $postBody, $optParams = array()) + { + $params = array('userId' => $userId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('updateAutoForwarding', array($params), "Google_Service_Gmail_AutoForwarding"); + } + /** + * Updates IMAP settings. (settings.updateImap) + * + * @param string $userId User's email address. The special value "me" can be + * used to indicate the authenticated user. + * @param Google_Service_Gmail_ImapSettings $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Gmail_ImapSettings + */ + public function updateImap($userId, Google_Service_Gmail_ImapSettings $postBody, $optParams = array()) + { + $params = array('userId' => $userId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('updateImap', array($params), "Google_Service_Gmail_ImapSettings"); + } + /** + * Updates POP settings. (settings.updatePop) + * + * @param string $userId User's email address. The special value "me" can be + * used to indicate the authenticated user. + * @param Google_Service_Gmail_PopSettings $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Gmail_PopSettings + */ + public function updatePop($userId, Google_Service_Gmail_PopSettings $postBody, $optParams = array()) + { + $params = array('userId' => $userId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('updatePop', array($params), "Google_Service_Gmail_PopSettings"); + } + /** + * Updates vacation responder settings. (settings.updateVacation) + * + * @param string $userId User's email address. The special value "me" can be + * used to indicate the authenticated user. + * @param Google_Service_Gmail_VacationSettings $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Gmail_VacationSettings + */ + public function updateVacation($userId, Google_Service_Gmail_VacationSettings $postBody, $optParams = array()) + { + $params = array('userId' => $userId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('updateVacation', array($params), "Google_Service_Gmail_VacationSettings"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Gmail/Resource/UsersSettingsFilters.php b/vendor/google/apiclient-services/src/Google/Service/Gmail/Resource/UsersSettingsFilters.php new file mode 100644 index 00000000..79cc1b20 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Gmail/Resource/UsersSettingsFilters.php @@ -0,0 +1,86 @@ + + * $gmailService = new Google_Service_Gmail(...); + * $filters = $gmailService->filters; + * + */ +class Google_Service_Gmail_Resource_UsersSettingsFilters extends Google_Service_Resource +{ + /** + * Creates a filter. (filters.create) + * + * @param string $userId User's email address. The special value "me" can be + * used to indicate the authenticated user. + * @param Google_Service_Gmail_Filter $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Gmail_Filter + */ + public function create($userId, Google_Service_Gmail_Filter $postBody, $optParams = array()) + { + $params = array('userId' => $userId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('create', array($params), "Google_Service_Gmail_Filter"); + } + /** + * Deletes a filter. (filters.delete) + * + * @param string $userId User's email address. The special value "me" can be + * used to indicate the authenticated user. + * @param string $id The ID of the filter to be deleted. + * @param array $optParams Optional parameters. + */ + public function delete($userId, $id, $optParams = array()) + { + $params = array('userId' => $userId, 'id' => $id); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params)); + } + /** + * Gets a filter. (filters.get) + * + * @param string $userId User's email address. The special value "me" can be + * used to indicate the authenticated user. + * @param string $id The ID of the filter to be fetched. + * @param array $optParams Optional parameters. + * @return Google_Service_Gmail_Filter + */ + public function get($userId, $id, $optParams = array()) + { + $params = array('userId' => $userId, 'id' => $id); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Gmail_Filter"); + } + /** + * Lists the message filters of a Gmail user. (filters.listUsersSettingsFilters) + * + * @param string $userId User's email address. The special value "me" can be + * used to indicate the authenticated user. + * @param array $optParams Optional parameters. + * @return Google_Service_Gmail_ListFiltersResponse + */ + public function listUsersSettingsFilters($userId, $optParams = array()) + { + $params = array('userId' => $userId); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Gmail_ListFiltersResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Gmail/Resource/UsersSettingsForwardingAddresses.php b/vendor/google/apiclient-services/src/Google/Service/Gmail/Resource/UsersSettingsForwardingAddresses.php new file mode 100644 index 00000000..317383fa --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Gmail/Resource/UsersSettingsForwardingAddresses.php @@ -0,0 +1,97 @@ + + * $gmailService = new Google_Service_Gmail(...); + * $forwardingAddresses = $gmailService->forwardingAddresses; + * + */ +class Google_Service_Gmail_Resource_UsersSettingsForwardingAddresses extends Google_Service_Resource +{ + /** + * Creates a forwarding address. If ownership verification is required, a + * message will be sent to the recipient and the resource's verification status + * will be set to pending; otherwise, the resource will be created with + * verification status set to accepted. + * + * This method is only available to service account clients that have been + * delegated domain-wide authority. (forwardingAddresses.create) + * + * @param string $userId User's email address. The special value "me" can be + * used to indicate the authenticated user. + * @param Google_Service_Gmail_ForwardingAddress $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Gmail_ForwardingAddress + */ + public function create($userId, Google_Service_Gmail_ForwardingAddress $postBody, $optParams = array()) + { + $params = array('userId' => $userId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('create', array($params), "Google_Service_Gmail_ForwardingAddress"); + } + /** + * Deletes the specified forwarding address and revokes any verification that + * may have been required. + * + * This method is only available to service account clients that have been + * delegated domain-wide authority. (forwardingAddresses.delete) + * + * @param string $userId User's email address. The special value "me" can be + * used to indicate the authenticated user. + * @param string $forwardingEmail The forwarding address to be deleted. + * @param array $optParams Optional parameters. + */ + public function delete($userId, $forwardingEmail, $optParams = array()) + { + $params = array('userId' => $userId, 'forwardingEmail' => $forwardingEmail); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params)); + } + /** + * Gets the specified forwarding address. (forwardingAddresses.get) + * + * @param string $userId User's email address. The special value "me" can be + * used to indicate the authenticated user. + * @param string $forwardingEmail The forwarding address to be retrieved. + * @param array $optParams Optional parameters. + * @return Google_Service_Gmail_ForwardingAddress + */ + public function get($userId, $forwardingEmail, $optParams = array()) + { + $params = array('userId' => $userId, 'forwardingEmail' => $forwardingEmail); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Gmail_ForwardingAddress"); + } + /** + * Lists the forwarding addresses for the specified account. + * (forwardingAddresses.listUsersSettingsForwardingAddresses) + * + * @param string $userId User's email address. The special value "me" can be + * used to indicate the authenticated user. + * @param array $optParams Optional parameters. + * @return Google_Service_Gmail_ListForwardingAddressesResponse + */ + public function listUsersSettingsForwardingAddresses($userId, $optParams = array()) + { + $params = array('userId' => $userId); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Gmail_ListForwardingAddressesResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Gmail/Resource/UsersSettingsSendAs.php b/vendor/google/apiclient-services/src/Google/Service/Gmail/Resource/UsersSettingsSendAs.php new file mode 100644 index 00000000..7190aa43 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Gmail/Resource/UsersSettingsSendAs.php @@ -0,0 +1,162 @@ + + * $gmailService = new Google_Service_Gmail(...); + * $sendAs = $gmailService->sendAs; + * + */ +class Google_Service_Gmail_Resource_UsersSettingsSendAs extends Google_Service_Resource +{ + /** + * Creates a custom "from" send-as alias. If an SMTP MSA is specified, Gmail + * will attempt to connect to the SMTP service to validate the configuration + * before creating the alias. If ownership verification is required for the + * alias, a message will be sent to the email address and the resource's + * verification status will be set to pending; otherwise, the resource will be + * created with verification status set to accepted. If a signature is provided, + * Gmail will sanitize the HTML before saving it with the alias. + * + * This method is only available to service account clients that have been + * delegated domain-wide authority. (sendAs.create) + * + * @param string $userId User's email address. The special value "me" can be + * used to indicate the authenticated user. + * @param Google_Service_Gmail_SendAs $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Gmail_SendAs + */ + public function create($userId, Google_Service_Gmail_SendAs $postBody, $optParams = array()) + { + $params = array('userId' => $userId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('create', array($params), "Google_Service_Gmail_SendAs"); + } + /** + * Deletes the specified send-as alias. Revokes any verification that may have + * been required for using it. + * + * This method is only available to service account clients that have been + * delegated domain-wide authority. (sendAs.delete) + * + * @param string $userId User's email address. The special value "me" can be + * used to indicate the authenticated user. + * @param string $sendAsEmail The send-as alias to be deleted. + * @param array $optParams Optional parameters. + */ + public function delete($userId, $sendAsEmail, $optParams = array()) + { + $params = array('userId' => $userId, 'sendAsEmail' => $sendAsEmail); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params)); + } + /** + * Gets the specified send-as alias. Fails with an HTTP 404 error if the + * specified address is not a member of the collection. (sendAs.get) + * + * @param string $userId User's email address. The special value "me" can be + * used to indicate the authenticated user. + * @param string $sendAsEmail The send-as alias to be retrieved. + * @param array $optParams Optional parameters. + * @return Google_Service_Gmail_SendAs + */ + public function get($userId, $sendAsEmail, $optParams = array()) + { + $params = array('userId' => $userId, 'sendAsEmail' => $sendAsEmail); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Gmail_SendAs"); + } + /** + * Lists the send-as aliases for the specified account. The result includes the + * primary send-as address associated with the account as well as any custom + * "from" aliases. (sendAs.listUsersSettingsSendAs) + * + * @param string $userId User's email address. The special value "me" can be + * used to indicate the authenticated user. + * @param array $optParams Optional parameters. + * @return Google_Service_Gmail_ListSendAsResponse + */ + public function listUsersSettingsSendAs($userId, $optParams = array()) + { + $params = array('userId' => $userId); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Gmail_ListSendAsResponse"); + } + /** + * Updates a send-as alias. If a signature is provided, Gmail will sanitize the + * HTML before saving it with the alias. + * + * Addresses other than the primary address for the account can only be updated + * by service account clients that have been delegated domain-wide authority. + * This method supports patch semantics. (sendAs.patch) + * + * @param string $userId User's email address. The special value "me" can be + * used to indicate the authenticated user. + * @param string $sendAsEmail The send-as alias to be updated. + * @param Google_Service_Gmail_SendAs $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Gmail_SendAs + */ + public function patch($userId, $sendAsEmail, Google_Service_Gmail_SendAs $postBody, $optParams = array()) + { + $params = array('userId' => $userId, 'sendAsEmail' => $sendAsEmail, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('patch', array($params), "Google_Service_Gmail_SendAs"); + } + /** + * Updates a send-as alias. If a signature is provided, Gmail will sanitize the + * HTML before saving it with the alias. + * + * Addresses other than the primary address for the account can only be updated + * by service account clients that have been delegated domain-wide authority. + * (sendAs.update) + * + * @param string $userId User's email address. The special value "me" can be + * used to indicate the authenticated user. + * @param string $sendAsEmail The send-as alias to be updated. + * @param Google_Service_Gmail_SendAs $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Gmail_SendAs + */ + public function update($userId, $sendAsEmail, Google_Service_Gmail_SendAs $postBody, $optParams = array()) + { + $params = array('userId' => $userId, 'sendAsEmail' => $sendAsEmail, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('update', array($params), "Google_Service_Gmail_SendAs"); + } + /** + * Sends a verification email to the specified send-as alias address. The + * verification status must be pending. + * + * This method is only available to service account clients that have been + * delegated domain-wide authority. (sendAs.verify) + * + * @param string $userId User's email address. The special value "me" can be + * used to indicate the authenticated user. + * @param string $sendAsEmail The send-as alias to be verified. + * @param array $optParams Optional parameters. + */ + public function verify($userId, $sendAsEmail, $optParams = array()) + { + $params = array('userId' => $userId, 'sendAsEmail' => $sendAsEmail); + $params = array_merge($params, $optParams); + return $this->call('verify', array($params)); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Gmail/Resource/UsersSettingsSendAsSmimeInfo.php b/vendor/google/apiclient-services/src/Google/Service/Gmail/Resource/UsersSettingsSendAsSmimeInfo.php new file mode 100644 index 00000000..fe09c562 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Gmail/Resource/UsersSettingsSendAsSmimeInfo.php @@ -0,0 +1,115 @@ + + * $gmailService = new Google_Service_Gmail(...); + * $smimeInfo = $gmailService->smimeInfo; + * + */ +class Google_Service_Gmail_Resource_UsersSettingsSendAsSmimeInfo extends Google_Service_Resource +{ + /** + * Deletes the specified S/MIME config for the specified send-as alias. + * (smimeInfo.delete) + * + * @param string $userId The user's email address. The special value me can be + * used to indicate the authenticated user. + * @param string $sendAsEmail The email address that appears in the "From:" + * header for mail sent using this alias. + * @param string $id The immutable ID for the SmimeInfo. + * @param array $optParams Optional parameters. + */ + public function delete($userId, $sendAsEmail, $id, $optParams = array()) + { + $params = array('userId' => $userId, 'sendAsEmail' => $sendAsEmail, 'id' => $id); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params)); + } + /** + * Gets the specified S/MIME config for the specified send-as alias. + * (smimeInfo.get) + * + * @param string $userId The user's email address. The special value me can be + * used to indicate the authenticated user. + * @param string $sendAsEmail The email address that appears in the "From:" + * header for mail sent using this alias. + * @param string $id The immutable ID for the SmimeInfo. + * @param array $optParams Optional parameters. + * @return Google_Service_Gmail_SmimeInfo + */ + public function get($userId, $sendAsEmail, $id, $optParams = array()) + { + $params = array('userId' => $userId, 'sendAsEmail' => $sendAsEmail, 'id' => $id); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Gmail_SmimeInfo"); + } + /** + * Insert (upload) the given S/MIME config for the specified send-as alias. Note + * that pkcs12 format is required for the key. (smimeInfo.insert) + * + * @param string $userId The user's email address. The special value me can be + * used to indicate the authenticated user. + * @param string $sendAsEmail The email address that appears in the "From:" + * header for mail sent using this alias. + * @param Google_Service_Gmail_SmimeInfo $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Gmail_SmimeInfo + */ + public function insert($userId, $sendAsEmail, Google_Service_Gmail_SmimeInfo $postBody, $optParams = array()) + { + $params = array('userId' => $userId, 'sendAsEmail' => $sendAsEmail, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('insert', array($params), "Google_Service_Gmail_SmimeInfo"); + } + /** + * Lists S/MIME configs for the specified send-as alias. + * (smimeInfo.listUsersSettingsSendAsSmimeInfo) + * + * @param string $userId The user's email address. The special value me can be + * used to indicate the authenticated user. + * @param string $sendAsEmail The email address that appears in the "From:" + * header for mail sent using this alias. + * @param array $optParams Optional parameters. + * @return Google_Service_Gmail_ListSmimeInfoResponse + */ + public function listUsersSettingsSendAsSmimeInfo($userId, $sendAsEmail, $optParams = array()) + { + $params = array('userId' => $userId, 'sendAsEmail' => $sendAsEmail); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Gmail_ListSmimeInfoResponse"); + } + /** + * Sets the default S/MIME config for the specified send-as alias. + * (smimeInfo.setDefault) + * + * @param string $userId The user's email address. The special value me can be + * used to indicate the authenticated user. + * @param string $sendAsEmail The email address that appears in the "From:" + * header for mail sent using this alias. + * @param string $id The immutable ID for the SmimeInfo. + * @param array $optParams Optional parameters. + */ + public function setDefault($userId, $sendAsEmail, $id, $optParams = array()) + { + $params = array('userId' => $userId, 'sendAsEmail' => $sendAsEmail, 'id' => $id); + $params = array_merge($params, $optParams); + return $this->call('setDefault', array($params)); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Gmail/Resource/UsersThreads.php b/vendor/google/apiclient-services/src/Google/Service/Gmail/Resource/UsersThreads.php new file mode 100644 index 00000000..a51e541c --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Gmail/Resource/UsersThreads.php @@ -0,0 +1,135 @@ + + * $gmailService = new Google_Service_Gmail(...); + * $threads = $gmailService->threads; + * + */ +class Google_Service_Gmail_Resource_UsersThreads extends Google_Service_Resource +{ + /** + * Immediately and permanently deletes the specified thread. This operation + * cannot be undone. Prefer threads.trash instead. (threads.delete) + * + * @param string $userId The user's email address. The special value me can be + * used to indicate the authenticated user. + * @param string $id ID of the Thread to delete. + * @param array $optParams Optional parameters. + */ + public function delete($userId, $id, $optParams = array()) + { + $params = array('userId' => $userId, 'id' => $id); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params)); + } + /** + * Gets the specified thread. (threads.get) + * + * @param string $userId The user's email address. The special value me can be + * used to indicate the authenticated user. + * @param string $id The ID of the thread to retrieve. + * @param array $optParams Optional parameters. + * + * @opt_param string format The format to return the messages in. + * @opt_param string metadataHeaders When given and format is METADATA, only + * include headers specified. + * @return Google_Service_Gmail_Thread + */ + public function get($userId, $id, $optParams = array()) + { + $params = array('userId' => $userId, 'id' => $id); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Gmail_Thread"); + } + /** + * Lists the threads in the user's mailbox. (threads.listUsersThreads) + * + * @param string $userId The user's email address. The special value me can be + * used to indicate the authenticated user. + * @param array $optParams Optional parameters. + * + * @opt_param bool includeSpamTrash Include threads from SPAM and TRASH in the + * results. + * @opt_param string labelIds Only return threads with labels that match all of + * the specified label IDs. + * @opt_param string maxResults Maximum number of threads to return. + * @opt_param string pageToken Page token to retrieve a specific page of results + * in the list. + * @opt_param string q Only return threads matching the specified query. + * Supports the same query format as the Gmail search box. For example, + * "from:someuser@example.com rfc822msgid: is:unread". Parameter cannot be used + * when accessing the api using the gmail.metadata scope. + * @return Google_Service_Gmail_ListThreadsResponse + */ + public function listUsersThreads($userId, $optParams = array()) + { + $params = array('userId' => $userId); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Gmail_ListThreadsResponse"); + } + /** + * Modifies the labels applied to the thread. This applies to all messages in + * the thread. (threads.modify) + * + * @param string $userId The user's email address. The special value me can be + * used to indicate the authenticated user. + * @param string $id The ID of the thread to modify. + * @param Google_Service_Gmail_ModifyThreadRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Gmail_Thread + */ + public function modify($userId, $id, Google_Service_Gmail_ModifyThreadRequest $postBody, $optParams = array()) + { + $params = array('userId' => $userId, 'id' => $id, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('modify', array($params), "Google_Service_Gmail_Thread"); + } + /** + * Moves the specified thread to the trash. (threads.trash) + * + * @param string $userId The user's email address. The special value me can be + * used to indicate the authenticated user. + * @param string $id The ID of the thread to Trash. + * @param array $optParams Optional parameters. + * @return Google_Service_Gmail_Thread + */ + public function trash($userId, $id, $optParams = array()) + { + $params = array('userId' => $userId, 'id' => $id); + $params = array_merge($params, $optParams); + return $this->call('trash', array($params), "Google_Service_Gmail_Thread"); + } + /** + * Removes the specified thread from the trash. (threads.untrash) + * + * @param string $userId The user's email address. The special value me can be + * used to indicate the authenticated user. + * @param string $id The ID of the thread to remove from Trash. + * @param array $optParams Optional parameters. + * @return Google_Service_Gmail_Thread + */ + public function untrash($userId, $id, $optParams = array()) + { + $params = array('userId' => $userId, 'id' => $id); + $params = array_merge($params, $optParams); + return $this->call('untrash', array($params), "Google_Service_Gmail_Thread"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Gmail/SendAs.php b/vendor/google/apiclient-services/src/Google/Service/Gmail/SendAs.php new file mode 100644 index 00000000..7df3937c --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Gmail/SendAs.php @@ -0,0 +1,103 @@ +displayName = $displayName; + } + public function getDisplayName() + { + return $this->displayName; + } + public function setIsDefault($isDefault) + { + $this->isDefault = $isDefault; + } + public function getIsDefault() + { + return $this->isDefault; + } + public function setIsPrimary($isPrimary) + { + $this->isPrimary = $isPrimary; + } + public function getIsPrimary() + { + return $this->isPrimary; + } + public function setReplyToAddress($replyToAddress) + { + $this->replyToAddress = $replyToAddress; + } + public function getReplyToAddress() + { + return $this->replyToAddress; + } + public function setSendAsEmail($sendAsEmail) + { + $this->sendAsEmail = $sendAsEmail; + } + public function getSendAsEmail() + { + return $this->sendAsEmail; + } + public function setSignature($signature) + { + $this->signature = $signature; + } + public function getSignature() + { + return $this->signature; + } + public function setSmtpMsa(Google_Service_Gmail_SmtpMsa $smtpMsa) + { + $this->smtpMsa = $smtpMsa; + } + public function getSmtpMsa() + { + return $this->smtpMsa; + } + public function setTreatAsAlias($treatAsAlias) + { + $this->treatAsAlias = $treatAsAlias; + } + public function getTreatAsAlias() + { + return $this->treatAsAlias; + } + public function setVerificationStatus($verificationStatus) + { + $this->verificationStatus = $verificationStatus; + } + public function getVerificationStatus() + { + return $this->verificationStatus; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Gmail/SmimeInfo.php b/vendor/google/apiclient-services/src/Google/Service/Gmail/SmimeInfo.php new file mode 100644 index 00000000..e8ef0792 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Gmail/SmimeInfo.php @@ -0,0 +1,84 @@ +encryptedKeyPassword = $encryptedKeyPassword; + } + public function getEncryptedKeyPassword() + { + return $this->encryptedKeyPassword; + } + public function setExpiration($expiration) + { + $this->expiration = $expiration; + } + public function getExpiration() + { + return $this->expiration; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setIsDefault($isDefault) + { + $this->isDefault = $isDefault; + } + public function getIsDefault() + { + return $this->isDefault; + } + public function setIssuerCn($issuerCn) + { + $this->issuerCn = $issuerCn; + } + public function getIssuerCn() + { + return $this->issuerCn; + } + public function setPem($pem) + { + $this->pem = $pem; + } + public function getPem() + { + return $this->pem; + } + public function setPkcs12($pkcs12) + { + $this->pkcs12 = $pkcs12; + } + public function getPkcs12() + { + return $this->pkcs12; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Gmail/SmtpMsa.php b/vendor/google/apiclient-services/src/Google/Service/Gmail/SmtpMsa.php new file mode 100644 index 00000000..5d3c9847 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Gmail/SmtpMsa.php @@ -0,0 +1,66 @@ +host = $host; + } + public function getHost() + { + return $this->host; + } + public function setPassword($password) + { + $this->password = $password; + } + public function getPassword() + { + return $this->password; + } + public function setPort($port) + { + $this->port = $port; + } + public function getPort() + { + return $this->port; + } + public function setSecurityMode($securityMode) + { + $this->securityMode = $securityMode; + } + public function getSecurityMode() + { + return $this->securityMode; + } + public function setUsername($username) + { + $this->username = $username; + } + public function getUsername() + { + return $this->username; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Gmail/Thread.php b/vendor/google/apiclient-services/src/Google/Service/Gmail/Thread.php new file mode 100644 index 00000000..585b562f --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Gmail/Thread.php @@ -0,0 +1,59 @@ +historyId = $historyId; + } + public function getHistoryId() + { + return $this->historyId; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setMessages($messages) + { + $this->messages = $messages; + } + public function getMessages() + { + return $this->messages; + } + public function setSnippet($snippet) + { + $this->snippet = $snippet; + } + public function getSnippet() + { + return $this->snippet; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Gmail/VacationSettings.php b/vendor/google/apiclient-services/src/Google/Service/Gmail/VacationSettings.php new file mode 100644 index 00000000..99985428 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Gmail/VacationSettings.php @@ -0,0 +1,93 @@ +enableAutoReply = $enableAutoReply; + } + public function getEnableAutoReply() + { + return $this->enableAutoReply; + } + public function setEndTime($endTime) + { + $this->endTime = $endTime; + } + public function getEndTime() + { + return $this->endTime; + } + public function setResponseBodyHtml($responseBodyHtml) + { + $this->responseBodyHtml = $responseBodyHtml; + } + public function getResponseBodyHtml() + { + return $this->responseBodyHtml; + } + public function setResponseBodyPlainText($responseBodyPlainText) + { + $this->responseBodyPlainText = $responseBodyPlainText; + } + public function getResponseBodyPlainText() + { + return $this->responseBodyPlainText; + } + public function setResponseSubject($responseSubject) + { + $this->responseSubject = $responseSubject; + } + public function getResponseSubject() + { + return $this->responseSubject; + } + public function setRestrictToContacts($restrictToContacts) + { + $this->restrictToContacts = $restrictToContacts; + } + public function getRestrictToContacts() + { + return $this->restrictToContacts; + } + public function setRestrictToDomain($restrictToDomain) + { + $this->restrictToDomain = $restrictToDomain; + } + public function getRestrictToDomain() + { + return $this->restrictToDomain; + } + public function setStartTime($startTime) + { + $this->startTime = $startTime; + } + public function getStartTime() + { + return $this->startTime; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Gmail/WatchRequest.php b/vendor/google/apiclient-services/src/Google/Service/Gmail/WatchRequest.php new file mode 100644 index 00000000..6be53b54 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Gmail/WatchRequest.php @@ -0,0 +1,49 @@ +labelFilterAction = $labelFilterAction; + } + public function getLabelFilterAction() + { + return $this->labelFilterAction; + } + public function setLabelIds($labelIds) + { + $this->labelIds = $labelIds; + } + public function getLabelIds() + { + return $this->labelIds; + } + public function setTopicName($topicName) + { + $this->topicName = $topicName; + } + public function getTopicName() + { + return $this->topicName; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Gmail/WatchResponse.php b/vendor/google/apiclient-services/src/Google/Service/Gmail/WatchResponse.php new file mode 100644 index 00000000..bcebc35a --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Gmail/WatchResponse.php @@ -0,0 +1,39 @@ +expiration = $expiration; + } + public function getExpiration() + { + return $this->expiration; + } + public function setHistoryId($historyId) + { + $this->historyId = $historyId; + } + public function getHistoryId() + { + return $this->historyId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/GroupsMigration.php b/vendor/google/apiclient-services/src/Google/Service/GroupsMigration.php new file mode 100644 index 00000000..95eb6c8a --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/GroupsMigration.php @@ -0,0 +1,73 @@ + + * Groups Migration Api.

+ * + *

+ * For more information about this service, see the API + * Documentation + *

+ * + * @author Google, Inc. + */ +class Google_Service_GroupsMigration extends Google_Service +{ + /** Manage messages in groups on your domain. */ + const APPS_GROUPS_MIGRATION = + "https://www.googleapis.com/auth/apps.groups.migration"; + + public $archive; + + /** + * Constructs the internal representation of the GroupsMigration service. + * + * @param Google_Client $client + */ + public function __construct(Google_Client $client) + { + parent::__construct($client); + $this->rootUrl = 'https://www.googleapis.com/'; + $this->servicePath = 'groups/v1/groups/'; + $this->version = 'v1'; + $this->serviceName = 'groupsmigration'; + + $this->archive = new Google_Service_GroupsMigration_Resource_Archive( + $this, + $this->serviceName, + 'archive', + array( + 'methods' => array( + 'insert' => array( + 'path' => '{groupId}/archive', + 'httpMethod' => 'POST', + 'parameters' => array( + 'groupId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/GroupsMigration/Groups.php b/vendor/google/apiclient-services/src/Google/Service/GroupsMigration/Groups.php new file mode 100644 index 00000000..e57ec84d --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/GroupsMigration/Groups.php @@ -0,0 +1,39 @@ +kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setResponseCode($responseCode) + { + $this->responseCode = $responseCode; + } + public function getResponseCode() + { + return $this->responseCode; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/GroupsMigration/Resource/Archive.php b/vendor/google/apiclient-services/src/Google/Service/GroupsMigration/Resource/Archive.php new file mode 100644 index 00000000..26227bab --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/GroupsMigration/Resource/Archive.php @@ -0,0 +1,41 @@ + + * $groupsmigrationService = new Google_Service_GroupsMigration(...); + * $archive = $groupsmigrationService->archive; + * + */ +class Google_Service_GroupsMigration_Resource_Archive extends Google_Service_Resource +{ + /** + * Inserts a new mail into the archive of the Google group. (archive.insert) + * + * @param string $groupId The group ID + * @param array $optParams Optional parameters. + * @return Google_Service_GroupsMigration_Groups + */ + public function insert($groupId, $optParams = array()) + { + $params = array('groupId' => $groupId); + $params = array_merge($params, $optParams); + return $this->call('insert', array($params), "Google_Service_GroupsMigration_Groups"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Groupssettings.php b/vendor/google/apiclient-services/src/Google/Service/Groupssettings.php new file mode 100644 index 00000000..75f7e8ca --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Groupssettings.php @@ -0,0 +1,93 @@ + + * Lets you manage permission levels and related settings of a group.

+ * + *

+ * For more information about this service, see the API + * Documentation + *

+ * + * @author Google, Inc. + */ +class Google_Service_Groupssettings extends Google_Service +{ + /** View and manage the settings of a G Suite group. */ + const APPS_GROUPS_SETTINGS = + "https://www.googleapis.com/auth/apps.groups.settings"; + + public $groups; + + /** + * Constructs the internal representation of the Groupssettings service. + * + * @param Google_Client $client + */ + public function __construct(Google_Client $client) + { + parent::__construct($client); + $this->rootUrl = 'https://www.googleapis.com/'; + $this->servicePath = 'groups/v1/groups/'; + $this->version = 'v1'; + $this->serviceName = 'groupssettings'; + + $this->groups = new Google_Service_Groupssettings_Resource_Groups( + $this, + $this->serviceName, + 'groups', + array( + 'methods' => array( + 'get' => array( + 'path' => '{groupUniqueId}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'groupUniqueId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'patch' => array( + 'path' => '{groupUniqueId}', + 'httpMethod' => 'PATCH', + 'parameters' => array( + 'groupUniqueId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'update' => array( + 'path' => '{groupUniqueId}', + 'httpMethod' => 'PUT', + 'parameters' => array( + 'groupUniqueId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Groupssettings/Groups.php b/vendor/google/apiclient-services/src/Google/Service/Groupssettings/Groups.php new file mode 100644 index 00000000..b83138b9 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Groupssettings/Groups.php @@ -0,0 +1,300 @@ +allowExternalMembers = $allowExternalMembers; + } + public function getAllowExternalMembers() + { + return $this->allowExternalMembers; + } + public function setAllowGoogleCommunication($allowGoogleCommunication) + { + $this->allowGoogleCommunication = $allowGoogleCommunication; + } + public function getAllowGoogleCommunication() + { + return $this->allowGoogleCommunication; + } + public function setAllowWebPosting($allowWebPosting) + { + $this->allowWebPosting = $allowWebPosting; + } + public function getAllowWebPosting() + { + return $this->allowWebPosting; + } + public function setArchiveOnly($archiveOnly) + { + $this->archiveOnly = $archiveOnly; + } + public function getArchiveOnly() + { + return $this->archiveOnly; + } + public function setCustomFooterText($customFooterText) + { + $this->customFooterText = $customFooterText; + } + public function getCustomFooterText() + { + return $this->customFooterText; + } + public function setCustomReplyTo($customReplyTo) + { + $this->customReplyTo = $customReplyTo; + } + public function getCustomReplyTo() + { + return $this->customReplyTo; + } + public function setDefaultMessageDenyNotificationText($defaultMessageDenyNotificationText) + { + $this->defaultMessageDenyNotificationText = $defaultMessageDenyNotificationText; + } + public function getDefaultMessageDenyNotificationText() + { + return $this->defaultMessageDenyNotificationText; + } + public function setDescription($description) + { + $this->description = $description; + } + public function getDescription() + { + return $this->description; + } + public function setEmail($email) + { + $this->email = $email; + } + public function getEmail() + { + return $this->email; + } + public function setIncludeCustomFooter($includeCustomFooter) + { + $this->includeCustomFooter = $includeCustomFooter; + } + public function getIncludeCustomFooter() + { + return $this->includeCustomFooter; + } + public function setIncludeInGlobalAddressList($includeInGlobalAddressList) + { + $this->includeInGlobalAddressList = $includeInGlobalAddressList; + } + public function getIncludeInGlobalAddressList() + { + return $this->includeInGlobalAddressList; + } + public function setIsArchived($isArchived) + { + $this->isArchived = $isArchived; + } + public function getIsArchived() + { + return $this->isArchived; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setMaxMessageBytes($maxMessageBytes) + { + $this->maxMessageBytes = $maxMessageBytes; + } + public function getMaxMessageBytes() + { + return $this->maxMessageBytes; + } + public function setMembersCanPostAsTheGroup($membersCanPostAsTheGroup) + { + $this->membersCanPostAsTheGroup = $membersCanPostAsTheGroup; + } + public function getMembersCanPostAsTheGroup() + { + return $this->membersCanPostAsTheGroup; + } + public function setMessageDisplayFont($messageDisplayFont) + { + $this->messageDisplayFont = $messageDisplayFont; + } + public function getMessageDisplayFont() + { + return $this->messageDisplayFont; + } + public function setMessageModerationLevel($messageModerationLevel) + { + $this->messageModerationLevel = $messageModerationLevel; + } + public function getMessageModerationLevel() + { + return $this->messageModerationLevel; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setPrimaryLanguage($primaryLanguage) + { + $this->primaryLanguage = $primaryLanguage; + } + public function getPrimaryLanguage() + { + return $this->primaryLanguage; + } + public function setReplyTo($replyTo) + { + $this->replyTo = $replyTo; + } + public function getReplyTo() + { + return $this->replyTo; + } + public function setSendMessageDenyNotification($sendMessageDenyNotification) + { + $this->sendMessageDenyNotification = $sendMessageDenyNotification; + } + public function getSendMessageDenyNotification() + { + return $this->sendMessageDenyNotification; + } + public function setShowInGroupDirectory($showInGroupDirectory) + { + $this->showInGroupDirectory = $showInGroupDirectory; + } + public function getShowInGroupDirectory() + { + return $this->showInGroupDirectory; + } + public function setSpamModerationLevel($spamModerationLevel) + { + $this->spamModerationLevel = $spamModerationLevel; + } + public function getSpamModerationLevel() + { + return $this->spamModerationLevel; + } + public function setWhoCanAdd($whoCanAdd) + { + $this->whoCanAdd = $whoCanAdd; + } + public function getWhoCanAdd() + { + return $this->whoCanAdd; + } + public function setWhoCanContactOwner($whoCanContactOwner) + { + $this->whoCanContactOwner = $whoCanContactOwner; + } + public function getWhoCanContactOwner() + { + return $this->whoCanContactOwner; + } + public function setWhoCanInvite($whoCanInvite) + { + $this->whoCanInvite = $whoCanInvite; + } + public function getWhoCanInvite() + { + return $this->whoCanInvite; + } + public function setWhoCanJoin($whoCanJoin) + { + $this->whoCanJoin = $whoCanJoin; + } + public function getWhoCanJoin() + { + return $this->whoCanJoin; + } + public function setWhoCanLeaveGroup($whoCanLeaveGroup) + { + $this->whoCanLeaveGroup = $whoCanLeaveGroup; + } + public function getWhoCanLeaveGroup() + { + return $this->whoCanLeaveGroup; + } + public function setWhoCanPostMessage($whoCanPostMessage) + { + $this->whoCanPostMessage = $whoCanPostMessage; + } + public function getWhoCanPostMessage() + { + return $this->whoCanPostMessage; + } + public function setWhoCanViewGroup($whoCanViewGroup) + { + $this->whoCanViewGroup = $whoCanViewGroup; + } + public function getWhoCanViewGroup() + { + return $this->whoCanViewGroup; + } + public function setWhoCanViewMembership($whoCanViewMembership) + { + $this->whoCanViewMembership = $whoCanViewMembership; + } + public function getWhoCanViewMembership() + { + return $this->whoCanViewMembership; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Groupssettings/Resource/Groups.php b/vendor/google/apiclient-services/src/Google/Service/Groupssettings/Resource/Groups.php new file mode 100644 index 00000000..b706e219 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Groupssettings/Resource/Groups.php @@ -0,0 +1,70 @@ + + * $groupssettingsService = new Google_Service_Groupssettings(...); + * $groups = $groupssettingsService->groups; + * + */ +class Google_Service_Groupssettings_Resource_Groups extends Google_Service_Resource +{ + /** + * Gets one resource by id. (groups.get) + * + * @param string $groupUniqueId The resource ID + * @param array $optParams Optional parameters. + * @return Google_Service_Groupssettings_Groups + */ + public function get($groupUniqueId, $optParams = array()) + { + $params = array('groupUniqueId' => $groupUniqueId); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Groupssettings_Groups"); + } + /** + * Updates an existing resource. This method supports patch semantics. + * (groups.patch) + * + * @param string $groupUniqueId The resource ID + * @param Google_Service_Groupssettings_Groups $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Groupssettings_Groups + */ + public function patch($groupUniqueId, Google_Service_Groupssettings_Groups $postBody, $optParams = array()) + { + $params = array('groupUniqueId' => $groupUniqueId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('patch', array($params), "Google_Service_Groupssettings_Groups"); + } + /** + * Updates an existing resource. (groups.update) + * + * @param string $groupUniqueId The resource ID + * @param Google_Service_Groupssettings_Groups $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Groupssettings_Groups + */ + public function update($groupUniqueId, Google_Service_Groupssettings_Groups $postBody, $optParams = array()) + { + $params = array('groupUniqueId' => $groupUniqueId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('update', array($params), "Google_Service_Groupssettings_Groups"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Iam.php b/vendor/google/apiclient-services/src/Google/Service/Iam.php new file mode 100644 index 00000000..9852bf2d --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Iam.php @@ -0,0 +1,248 @@ + + * Manages identity and access control for Google Cloud Platform resources, + * including the creation of service accounts, which you can use to authenticate + * to Google and make API calls.

+ * + *

+ * For more information about this service, see the API + * Documentation + *

+ * + * @author Google, Inc. + */ +class Google_Service_Iam extends Google_Service +{ + /** View and manage your data across Google Cloud Platform services. */ + const CLOUD_PLATFORM = + "https://www.googleapis.com/auth/cloud-platform"; + + public $projects_serviceAccounts; + public $projects_serviceAccounts_keys; + public $roles; + + /** + * Constructs the internal representation of the Iam service. + * + * @param Google_Client $client + */ + public function __construct(Google_Client $client) + { + parent::__construct($client); + $this->rootUrl = 'https://iam.googleapis.com/'; + $this->servicePath = ''; + $this->version = 'v1'; + $this->serviceName = 'iam'; + + $this->projects_serviceAccounts = new Google_Service_Iam_Resource_ProjectsServiceAccounts( + $this, + $this->serviceName, + 'serviceAccounts', + array( + 'methods' => array( + 'create' => array( + 'path' => 'v1/{+name}/serviceAccounts', + 'httpMethod' => 'POST', + 'parameters' => array( + 'name' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'delete' => array( + 'path' => 'v1/{+name}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'name' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'get' => array( + 'path' => 'v1/{+name}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'name' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'getIamPolicy' => array( + 'path' => 'v1/{+resource}:getIamPolicy', + 'httpMethod' => 'POST', + 'parameters' => array( + 'resource' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'v1/{+name}/serviceAccounts', + 'httpMethod' => 'GET', + 'parameters' => array( + 'name' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pageSize' => array( + 'location' => 'query', + 'type' => 'integer', + ), + ), + ),'setIamPolicy' => array( + 'path' => 'v1/{+resource}:setIamPolicy', + 'httpMethod' => 'POST', + 'parameters' => array( + 'resource' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'signBlob' => array( + 'path' => 'v1/{+name}:signBlob', + 'httpMethod' => 'POST', + 'parameters' => array( + 'name' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'signJwt' => array( + 'path' => 'v1/{+name}:signJwt', + 'httpMethod' => 'POST', + 'parameters' => array( + 'name' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'testIamPermissions' => array( + 'path' => 'v1/{+resource}:testIamPermissions', + 'httpMethod' => 'POST', + 'parameters' => array( + 'resource' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'update' => array( + 'path' => 'v1/{+name}', + 'httpMethod' => 'PUT', + 'parameters' => array( + 'name' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->projects_serviceAccounts_keys = new Google_Service_Iam_Resource_ProjectsServiceAccountsKeys( + $this, + $this->serviceName, + 'keys', + array( + 'methods' => array( + 'create' => array( + 'path' => 'v1/{+name}/keys', + 'httpMethod' => 'POST', + 'parameters' => array( + 'name' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'delete' => array( + 'path' => 'v1/{+name}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'name' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'get' => array( + 'path' => 'v1/{+name}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'name' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'publicKeyType' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'list' => array( + 'path' => 'v1/{+name}/keys', + 'httpMethod' => 'GET', + 'parameters' => array( + 'name' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'keyTypes' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + ), + ), + ), + ) + ) + ); + $this->roles = new Google_Service_Iam_Resource_Roles( + $this, + $this->serviceName, + 'roles', + array( + 'methods' => array( + 'queryGrantableRoles' => array( + 'path' => 'v1/roles:queryGrantableRoles', + 'httpMethod' => 'POST', + 'parameters' => array(), + ), + ) + ) + ); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Iam/AuditData.php b/vendor/google/apiclient-services/src/Google/Service/Iam/AuditData.php new file mode 100644 index 00000000..d64da48a --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Iam/AuditData.php @@ -0,0 +1,31 @@ +policyDelta = $policyDelta; + } + public function getPolicyDelta() + { + return $this->policyDelta; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Iam/Binding.php b/vendor/google/apiclient-services/src/Google/Service/Iam/Binding.php new file mode 100644 index 00000000..70c5c869 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Iam/Binding.php @@ -0,0 +1,40 @@ +members = $members; + } + public function getMembers() + { + return $this->members; + } + public function setRole($role) + { + $this->role = $role; + } + public function getRole() + { + return $this->role; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Iam/BindingDelta.php b/vendor/google/apiclient-services/src/Google/Service/Iam/BindingDelta.php new file mode 100644 index 00000000..55a93c74 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Iam/BindingDelta.php @@ -0,0 +1,48 @@ +action = $action; + } + public function getAction() + { + return $this->action; + } + public function setMember($member) + { + $this->member = $member; + } + public function getMember() + { + return $this->member; + } + public function setRole($role) + { + $this->role = $role; + } + public function getRole() + { + return $this->role; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Iam/CloudAuditOptions.php b/vendor/google/apiclient-services/src/Google/Service/Iam/CloudAuditOptions.php new file mode 100644 index 00000000..1e6436cc --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Iam/CloudAuditOptions.php @@ -0,0 +1,20 @@ +iam = $iam; + } + public function getIam() + { + return $this->iam; + } + public function setOp($op) + { + $this->op = $op; + } + public function getOp() + { + return $this->op; + } + public function setSvc($svc) + { + $this->svc = $svc; + } + public function getSvc() + { + return $this->svc; + } + public function setSys($sys) + { + $this->sys = $sys; + } + public function getSys() + { + return $this->sys; + } + public function setValue($value) + { + $this->value = $value; + } + public function getValue() + { + return $this->value; + } + public function setValues($values) + { + $this->values = $values; + } + public function getValues() + { + return $this->values; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Iam/CounterOptions.php b/vendor/google/apiclient-services/src/Google/Service/Iam/CounterOptions.php new file mode 100644 index 00000000..933b5cf4 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Iam/CounterOptions.php @@ -0,0 +1,39 @@ +field = $field; + } + public function getField() + { + return $this->field; + } + public function setMetric($metric) + { + $this->metric = $metric; + } + public function getMetric() + { + return $this->metric; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Iam/CreateServiceAccountKeyRequest.php b/vendor/google/apiclient-services/src/Google/Service/Iam/CreateServiceAccountKeyRequest.php new file mode 100644 index 00000000..d85c9b32 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Iam/CreateServiceAccountKeyRequest.php @@ -0,0 +1,39 @@ +keyAlgorithm = $keyAlgorithm; + } + public function getKeyAlgorithm() + { + return $this->keyAlgorithm; + } + public function setPrivateKeyType($privateKeyType) + { + $this->privateKeyType = $privateKeyType; + } + public function getPrivateKeyType() + { + return $this->privateKeyType; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Iam/CreateServiceAccountRequest.php b/vendor/google/apiclient-services/src/Google/Service/Iam/CreateServiceAccountRequest.php new file mode 100644 index 00000000..1d0ad16a --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Iam/CreateServiceAccountRequest.php @@ -0,0 +1,40 @@ +accountId = $accountId; + } + public function getAccountId() + { + return $this->accountId; + } + public function setServiceAccount(Google_Service_Iam_ServiceAccount $serviceAccount) + { + $this->serviceAccount = $serviceAccount; + } + public function getServiceAccount() + { + return $this->serviceAccount; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Iam/DataAccessOptions.php b/vendor/google/apiclient-services/src/Google/Service/Iam/DataAccessOptions.php new file mode 100644 index 00000000..0e843bca --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Iam/DataAccessOptions.php @@ -0,0 +1,20 @@ +keys = $keys; + } + public function getKeys() + { + return $this->keys; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Iam/ListServiceAccountsResponse.php b/vendor/google/apiclient-services/src/Google/Service/Iam/ListServiceAccountsResponse.php new file mode 100644 index 00000000..93445ebb --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Iam/ListServiceAccountsResponse.php @@ -0,0 +1,41 @@ +accounts = $accounts; + } + public function getAccounts() + { + return $this->accounts; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Iam/LogConfig.php b/vendor/google/apiclient-services/src/Google/Service/Iam/LogConfig.php new file mode 100644 index 00000000..b8d479ed --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Iam/LogConfig.php @@ -0,0 +1,51 @@ +cloudAudit = $cloudAudit; + } + public function getCloudAudit() + { + return $this->cloudAudit; + } + public function setCounter(Google_Service_Iam_CounterOptions $counter) + { + $this->counter = $counter; + } + public function getCounter() + { + return $this->counter; + } + public function setDataAccess(Google_Service_Iam_DataAccessOptions $dataAccess) + { + $this->dataAccess = $dataAccess; + } + public function getDataAccess() + { + return $this->dataAccess; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Iam/Policy.php b/vendor/google/apiclient-services/src/Google/Service/Iam/Policy.php new file mode 100644 index 00000000..7b8f0b5e --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Iam/Policy.php @@ -0,0 +1,50 @@ +bindings = $bindings; + } + public function getBindings() + { + return $this->bindings; + } + public function setEtag($etag) + { + $this->etag = $etag; + } + public function getEtag() + { + return $this->etag; + } + public function setVersion($version) + { + $this->version = $version; + } + public function getVersion() + { + return $this->version; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Iam/PolicyDelta.php b/vendor/google/apiclient-services/src/Google/Service/Iam/PolicyDelta.php new file mode 100644 index 00000000..cf1ab25f --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Iam/PolicyDelta.php @@ -0,0 +1,32 @@ +bindingDeltas = $bindingDeltas; + } + public function getBindingDeltas() + { + return $this->bindingDeltas; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Iam/QueryGrantableRolesRequest.php b/vendor/google/apiclient-services/src/Google/Service/Iam/QueryGrantableRolesRequest.php new file mode 100644 index 00000000..dd63cfcf --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Iam/QueryGrantableRolesRequest.php @@ -0,0 +1,30 @@ +fullResourceName = $fullResourceName; + } + public function getFullResourceName() + { + return $this->fullResourceName; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Iam/QueryGrantableRolesResponse.php b/vendor/google/apiclient-services/src/Google/Service/Iam/QueryGrantableRolesResponse.php new file mode 100644 index 00000000..759f85f8 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Iam/QueryGrantableRolesResponse.php @@ -0,0 +1,32 @@ +roles = $roles; + } + public function getRoles() + { + return $this->roles; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Iam/Resource/Projects.php b/vendor/google/apiclient-services/src/Google/Service/Iam/Resource/Projects.php new file mode 100644 index 00000000..5b51eb8a --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Iam/Resource/Projects.php @@ -0,0 +1,28 @@ + + * $iamService = new Google_Service_Iam(...); + * $projects = $iamService->projects; + * + */ +class Google_Service_Iam_Resource_Projects extends Google_Service_Resource +{ +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Iam/Resource/ProjectsServiceAccounts.php b/vendor/google/apiclient-services/src/Google/Service/Iam/Resource/ProjectsServiceAccounts.php new file mode 100644 index 00000000..481454d0 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Iam/Resource/ProjectsServiceAccounts.php @@ -0,0 +1,215 @@ + + * $iamService = new Google_Service_Iam(...); + * $serviceAccounts = $iamService->serviceAccounts; + * + */ +class Google_Service_Iam_Resource_ProjectsServiceAccounts extends Google_Service_Resource +{ + /** + * Creates a ServiceAccount and returns it. (serviceAccounts.create) + * + * @param string $name Required. The resource name of the project associated + * with the service accounts, such as `projects/my-project-123`. + * @param Google_Service_Iam_CreateServiceAccountRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Iam_ServiceAccount + */ + public function create($name, Google_Service_Iam_CreateServiceAccountRequest $postBody, $optParams = array()) + { + $params = array('name' => $name, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('create', array($params), "Google_Service_Iam_ServiceAccount"); + } + /** + * Deletes a ServiceAccount. (serviceAccounts.delete) + * + * @param string $name The resource name of the service account in the following + * format: `projects/{PROJECT_ID}/serviceAccounts/{SERVICE_ACCOUNT_EMAIL}`. + * Using `-` as a wildcard for the project will infer the project from the + * account. The `account` value can be the `email` address or the `unique_id` of + * the service account. + * @param array $optParams Optional parameters. + * @return Google_Service_Iam_IamEmpty + */ + public function delete($name, $optParams = array()) + { + $params = array('name' => $name); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params), "Google_Service_Iam_IamEmpty"); + } + /** + * Gets a ServiceAccount. (serviceAccounts.get) + * + * @param string $name The resource name of the service account in the following + * format: `projects/{PROJECT_ID}/serviceAccounts/{SERVICE_ACCOUNT_EMAIL}`. + * Using `-` as a wildcard for the project will infer the project from the + * account. The `account` value can be the `email` address or the `unique_id` of + * the service account. + * @param array $optParams Optional parameters. + * @return Google_Service_Iam_ServiceAccount + */ + public function get($name, $optParams = array()) + { + $params = array('name' => $name); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Iam_ServiceAccount"); + } + /** + * Returns the IAM access control policy for a ServiceAccount. + * (serviceAccounts.getIamPolicy) + * + * @param string $resource REQUIRED: The resource for which the policy is being + * requested. `resource` is usually specified as a path. For example, a Project + * resource is specified as `projects/{project}`. + * @param array $optParams Optional parameters. + * @return Google_Service_Iam_Policy + */ + public function getIamPolicy($resource, $optParams = array()) + { + $params = array('resource' => $resource); + $params = array_merge($params, $optParams); + return $this->call('getIamPolicy', array($params), "Google_Service_Iam_Policy"); + } + /** + * Lists ServiceAccounts for a project. + * (serviceAccounts.listProjectsServiceAccounts) + * + * @param string $name Required. The resource name of the project associated + * with the service accounts, such as `projects/my-project-123`. + * @param array $optParams Optional parameters. + * + * @opt_param string pageToken Optional pagination token returned in an earlier + * ListServiceAccountsResponse.next_page_token. + * @opt_param int pageSize Optional limit on the number of service accounts to + * include in the response. Further accounts can subsequently be obtained by + * including the ListServiceAccountsResponse.next_page_token in a subsequent + * request. + * @return Google_Service_Iam_ListServiceAccountsResponse + */ + public function listProjectsServiceAccounts($name, $optParams = array()) + { + $params = array('name' => $name); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Iam_ListServiceAccountsResponse"); + } + /** + * Sets the IAM access control policy for a ServiceAccount. + * (serviceAccounts.setIamPolicy) + * + * @param string $resource REQUIRED: The resource for which the policy is being + * specified. `resource` is usually specified as a path. For example, a Project + * resource is specified as `projects/{project}`. + * @param Google_Service_Iam_SetIamPolicyRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Iam_Policy + */ + public function setIamPolicy($resource, Google_Service_Iam_SetIamPolicyRequest $postBody, $optParams = array()) + { + $params = array('resource' => $resource, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('setIamPolicy', array($params), "Google_Service_Iam_Policy"); + } + /** + * Signs a blob using a service account's system-managed private key. + * (serviceAccounts.signBlob) + * + * @param string $name The resource name of the service account in the following + * format: `projects/{PROJECT_ID}/serviceAccounts/{SERVICE_ACCOUNT_EMAIL}`. + * Using `-` as a wildcard for the project will infer the project from the + * account. The `account` value can be the `email` address or the `unique_id` of + * the service account. + * @param Google_Service_Iam_SignBlobRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Iam_SignBlobResponse + */ + public function signBlob($name, Google_Service_Iam_SignBlobRequest $postBody, $optParams = array()) + { + $params = array('name' => $name, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('signBlob', array($params), "Google_Service_Iam_SignBlobResponse"); + } + /** + * Signs a JWT using a service account's system-managed private key. + * + * If no expiry time (`exp`) is provided in the `SignJwtRequest`, IAM sets an an + * expiry time of one hour by default. If you request an expiry time of more + * than one hour, the request will fail. (serviceAccounts.signJwt) + * + * @param string $name The resource name of the service account in the following + * format: `projects/{PROJECT_ID}/serviceAccounts/{SERVICE_ACCOUNT_EMAIL}`. + * Using `-` as a wildcard for the project will infer the project from the + * account. The `account` value can be the `email` address or the `unique_id` of + * the service account. + * @param Google_Service_Iam_SignJwtRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Iam_SignJwtResponse + */ + public function signJwt($name, Google_Service_Iam_SignJwtRequest $postBody, $optParams = array()) + { + $params = array('name' => $name, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('signJwt', array($params), "Google_Service_Iam_SignJwtResponse"); + } + /** + * Tests the specified permissions against the IAM access control policy for a + * ServiceAccount. (serviceAccounts.testIamPermissions) + * + * @param string $resource REQUIRED: The resource for which the policy detail is + * being requested. `resource` is usually specified as a path. For example, a + * Project resource is specified as `projects/{project}`. + * @param Google_Service_Iam_TestIamPermissionsRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Iam_TestIamPermissionsResponse + */ + public function testIamPermissions($resource, Google_Service_Iam_TestIamPermissionsRequest $postBody, $optParams = array()) + { + $params = array('resource' => $resource, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('testIamPermissions', array($params), "Google_Service_Iam_TestIamPermissionsResponse"); + } + /** + * Updates a ServiceAccount. + * + * Currently, only the following fields are updatable: `display_name` . The + * `etag` is mandatory. (serviceAccounts.update) + * + * @param string $name The resource name of the service account in the following + * format: `projects/{PROJECT_ID}/serviceAccounts/{SERVICE_ACCOUNT_EMAIL}`. + * + * Requests using `-` as a wildcard for the project will infer the project from + * the `account` and the `account` value can be the `email` address or the + * `unique_id` of the service account. + * + * In responses the resource name will always be in the format + * `projects/{PROJECT_ID}/serviceAccounts/{SERVICE_ACCOUNT_EMAIL}`. + * @param Google_Service_Iam_ServiceAccount $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Iam_ServiceAccount + */ + public function update($name, Google_Service_Iam_ServiceAccount $postBody, $optParams = array()) + { + $params = array('name' => $name, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('update', array($params), "Google_Service_Iam_ServiceAccount"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Iam/Resource/ProjectsServiceAccountsKeys.php b/vendor/google/apiclient-services/src/Google/Service/Iam/Resource/ProjectsServiceAccountsKeys.php new file mode 100644 index 00000000..3dcb5bcf --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Iam/Resource/ProjectsServiceAccountsKeys.php @@ -0,0 +1,108 @@ + + * $iamService = new Google_Service_Iam(...); + * $keys = $iamService->keys; + * + */ +class Google_Service_Iam_Resource_ProjectsServiceAccountsKeys extends Google_Service_Resource +{ + /** + * Creates a ServiceAccountKey and returns it. (keys.create) + * + * @param string $name The resource name of the service account in the following + * format: `projects/{PROJECT_ID}/serviceAccounts/{SERVICE_ACCOUNT_EMAIL}`. + * Using `-` as a wildcard for the project will infer the project from the + * account. The `account` value can be the `email` address or the `unique_id` of + * the service account. + * @param Google_Service_Iam_CreateServiceAccountKeyRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Iam_ServiceAccountKey + */ + public function create($name, Google_Service_Iam_CreateServiceAccountKeyRequest $postBody, $optParams = array()) + { + $params = array('name' => $name, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('create', array($params), "Google_Service_Iam_ServiceAccountKey"); + } + /** + * Deletes a ServiceAccountKey. (keys.delete) + * + * @param string $name The resource name of the service account key in the + * following format: + * `projects/{PROJECT_ID}/serviceAccounts/{SERVICE_ACCOUNT_EMAIL}/keys/{key}`. + * Using `-` as a wildcard for the project will infer the project from the + * account. The `account` value can be the `email` address or the `unique_id` of + * the service account. + * @param array $optParams Optional parameters. + * @return Google_Service_Iam_IamEmpty + */ + public function delete($name, $optParams = array()) + { + $params = array('name' => $name); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params), "Google_Service_Iam_IamEmpty"); + } + /** + * Gets the ServiceAccountKey by key id. (keys.get) + * + * @param string $name The resource name of the service account key in the + * following format: + * `projects/{PROJECT_ID}/serviceAccounts/{SERVICE_ACCOUNT_EMAIL}/keys/{key}`. + * + * Using `-` as a wildcard for the project will infer the project from the + * account. The `account` value can be the `email` address or the `unique_id` of + * the service account. + * @param array $optParams Optional parameters. + * + * @opt_param string publicKeyType The output format of the public key + * requested. X509_PEM is the default output format. + * @return Google_Service_Iam_ServiceAccountKey + */ + public function get($name, $optParams = array()) + { + $params = array('name' => $name); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Iam_ServiceAccountKey"); + } + /** + * Lists ServiceAccountKeys. (keys.listProjectsServiceAccountsKeys) + * + * @param string $name The resource name of the service account in the following + * format: `projects/{PROJECT_ID}/serviceAccounts/{SERVICE_ACCOUNT_EMAIL}`. + * + * Using `-` as a wildcard for the project, will infer the project from the + * account. The `account` value can be the `email` address or the `unique_id` of + * the service account. + * @param array $optParams Optional parameters. + * + * @opt_param string keyTypes Filters the types of keys the user wants to + * include in the list response. Duplicate key types are not allowed. If no key + * type is provided, all keys are returned. + * @return Google_Service_Iam_ListServiceAccountKeysResponse + */ + public function listProjectsServiceAccountsKeys($name, $optParams = array()) + { + $params = array('name' => $name); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Iam_ListServiceAccountKeysResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Iam/Resource/Roles.php b/vendor/google/apiclient-services/src/Google/Service/Iam/Resource/Roles.php new file mode 100644 index 00000000..51ab8e9c --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Iam/Resource/Roles.php @@ -0,0 +1,43 @@ + + * $iamService = new Google_Service_Iam(...); + * $roles = $iamService->roles; + * + */ +class Google_Service_Iam_Resource_Roles extends Google_Service_Resource +{ + /** + * Queries roles that can be granted on a particular resource. A role is + * grantable if it can be used as the role in a binding for a policy for that + * resource. (roles.queryGrantableRoles) + * + * @param Google_Service_Iam_QueryGrantableRolesRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Iam_QueryGrantableRolesResponse + */ + public function queryGrantableRoles(Google_Service_Iam_QueryGrantableRolesRequest $postBody, $optParams = array()) + { + $params = array('postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('queryGrantableRoles', array($params), "Google_Service_Iam_QueryGrantableRolesResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Iam/Role.php b/vendor/google/apiclient-services/src/Google/Service/Iam/Role.php new file mode 100644 index 00000000..07e3bcd1 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Iam/Role.php @@ -0,0 +1,48 @@ +description = $description; + } + public function getDescription() + { + return $this->description; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setTitle($title) + { + $this->title = $title; + } + public function getTitle() + { + return $this->title; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Iam/Rule.php b/vendor/google/apiclient-services/src/Google/Service/Iam/Rule.php new file mode 100644 index 00000000..46705c88 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Iam/Rule.php @@ -0,0 +1,87 @@ +action = $action; + } + public function getAction() + { + return $this->action; + } + public function setConditions($conditions) + { + $this->conditions = $conditions; + } + public function getConditions() + { + return $this->conditions; + } + public function setDescription($description) + { + $this->description = $description; + } + public function getDescription() + { + return $this->description; + } + public function setIn($in) + { + $this->in = $in; + } + public function getIn() + { + return $this->in; + } + public function setLogConfig($logConfig) + { + $this->logConfig = $logConfig; + } + public function getLogConfig() + { + return $this->logConfig; + } + public function setNotIn($notIn) + { + $this->notIn = $notIn; + } + public function getNotIn() + { + return $this->notIn; + } + public function setPermissions($permissions) + { + $this->permissions = $permissions; + } + public function getPermissions() + { + return $this->permissions; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Iam/ServiceAccount.php b/vendor/google/apiclient-services/src/Google/Service/Iam/ServiceAccount.php new file mode 100644 index 00000000..946dd856 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Iam/ServiceAccount.php @@ -0,0 +1,84 @@ +displayName = $displayName; + } + public function getDisplayName() + { + return $this->displayName; + } + public function setEmail($email) + { + $this->email = $email; + } + public function getEmail() + { + return $this->email; + } + public function setEtag($etag) + { + $this->etag = $etag; + } + public function getEtag() + { + return $this->etag; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setOauth2ClientId($oauth2ClientId) + { + $this->oauth2ClientId = $oauth2ClientId; + } + public function getOauth2ClientId() + { + return $this->oauth2ClientId; + } + public function setProjectId($projectId) + { + $this->projectId = $projectId; + } + public function getProjectId() + { + return $this->projectId; + } + public function setUniqueId($uniqueId) + { + $this->uniqueId = $uniqueId; + } + public function getUniqueId() + { + return $this->uniqueId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Iam/ServiceAccountKey.php b/vendor/google/apiclient-services/src/Google/Service/Iam/ServiceAccountKey.php new file mode 100644 index 00000000..a65024e7 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Iam/ServiceAccountKey.php @@ -0,0 +1,84 @@ +keyAlgorithm = $keyAlgorithm; + } + public function getKeyAlgorithm() + { + return $this->keyAlgorithm; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setPrivateKeyData($privateKeyData) + { + $this->privateKeyData = $privateKeyData; + } + public function getPrivateKeyData() + { + return $this->privateKeyData; + } + public function setPrivateKeyType($privateKeyType) + { + $this->privateKeyType = $privateKeyType; + } + public function getPrivateKeyType() + { + return $this->privateKeyType; + } + public function setPublicKeyData($publicKeyData) + { + $this->publicKeyData = $publicKeyData; + } + public function getPublicKeyData() + { + return $this->publicKeyData; + } + public function setValidAfterTime($validAfterTime) + { + $this->validAfterTime = $validAfterTime; + } + public function getValidAfterTime() + { + return $this->validAfterTime; + } + public function setValidBeforeTime($validBeforeTime) + { + $this->validBeforeTime = $validBeforeTime; + } + public function getValidBeforeTime() + { + return $this->validBeforeTime; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Iam/SetIamPolicyRequest.php b/vendor/google/apiclient-services/src/Google/Service/Iam/SetIamPolicyRequest.php new file mode 100644 index 00000000..179610b1 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Iam/SetIamPolicyRequest.php @@ -0,0 +1,31 @@ +policy = $policy; + } + public function getPolicy() + { + return $this->policy; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Iam/SignBlobRequest.php b/vendor/google/apiclient-services/src/Google/Service/Iam/SignBlobRequest.php new file mode 100644 index 00000000..aa1b76c9 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Iam/SignBlobRequest.php @@ -0,0 +1,30 @@ +bytesToSign = $bytesToSign; + } + public function getBytesToSign() + { + return $this->bytesToSign; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Iam/SignBlobResponse.php b/vendor/google/apiclient-services/src/Google/Service/Iam/SignBlobResponse.php new file mode 100644 index 00000000..0ae14b09 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Iam/SignBlobResponse.php @@ -0,0 +1,39 @@ +keyId = $keyId; + } + public function getKeyId() + { + return $this->keyId; + } + public function setSignature($signature) + { + $this->signature = $signature; + } + public function getSignature() + { + return $this->signature; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Iam/SignJwtRequest.php b/vendor/google/apiclient-services/src/Google/Service/Iam/SignJwtRequest.php new file mode 100644 index 00000000..933e4d7c --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Iam/SignJwtRequest.php @@ -0,0 +1,30 @@ +payload = $payload; + } + public function getPayload() + { + return $this->payload; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Iam/SignJwtResponse.php b/vendor/google/apiclient-services/src/Google/Service/Iam/SignJwtResponse.php new file mode 100644 index 00000000..81452db4 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Iam/SignJwtResponse.php @@ -0,0 +1,39 @@ +keyId = $keyId; + } + public function getKeyId() + { + return $this->keyId; + } + public function setSignedJwt($signedJwt) + { + $this->signedJwt = $signedJwt; + } + public function getSignedJwt() + { + return $this->signedJwt; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Iam/TestIamPermissionsRequest.php b/vendor/google/apiclient-services/src/Google/Service/Iam/TestIamPermissionsRequest.php new file mode 100644 index 00000000..51680d13 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Iam/TestIamPermissionsRequest.php @@ -0,0 +1,31 @@ +permissions = $permissions; + } + public function getPermissions() + { + return $this->permissions; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Iam/TestIamPermissionsResponse.php b/vendor/google/apiclient-services/src/Google/Service/Iam/TestIamPermissionsResponse.php new file mode 100644 index 00000000..fd56c51e --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Iam/TestIamPermissionsResponse.php @@ -0,0 +1,31 @@ +permissions = $permissions; + } + public function getPermissions() + { + return $this->permissions; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/IdentityToolkit.php b/vendor/google/apiclient-services/src/Google/Service/IdentityToolkit.php new file mode 100644 index 00000000..a1fb0a62 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/IdentityToolkit.php @@ -0,0 +1,143 @@ + + * Help the third party sites to implement federated login.

+ * + *

+ * For more information about this service, see the API + * Documentation + *

+ * + * @author Google, Inc. + */ +class Google_Service_IdentityToolkit extends Google_Service +{ + /** View and manage your data across Google Cloud Platform services. */ + const CLOUD_PLATFORM = + "https://www.googleapis.com/auth/cloud-platform"; + /** View and administer all your Firebase data and settings. */ + const FIREBASE = + "https://www.googleapis.com/auth/firebase"; + + public $relyingparty; + + /** + * Constructs the internal representation of the IdentityToolkit service. + * + * @param Google_Client $client + */ + public function __construct(Google_Client $client) + { + parent::__construct($client); + $this->rootUrl = 'https://www.googleapis.com/'; + $this->servicePath = 'identitytoolkit/v3/relyingparty/'; + $this->version = 'v3'; + $this->serviceName = 'identitytoolkit'; + + $this->relyingparty = new Google_Service_IdentityToolkit_Resource_Relyingparty( + $this, + $this->serviceName, + 'relyingparty', + array( + 'methods' => array( + 'createAuthUri' => array( + 'path' => 'createAuthUri', + 'httpMethod' => 'POST', + 'parameters' => array(), + ),'deleteAccount' => array( + 'path' => 'deleteAccount', + 'httpMethod' => 'POST', + 'parameters' => array(), + ),'downloadAccount' => array( + 'path' => 'downloadAccount', + 'httpMethod' => 'POST', + 'parameters' => array(), + ),'getAccountInfo' => array( + 'path' => 'getAccountInfo', + 'httpMethod' => 'POST', + 'parameters' => array(), + ),'getOobConfirmationCode' => array( + 'path' => 'getOobConfirmationCode', + 'httpMethod' => 'POST', + 'parameters' => array(), + ),'getProjectConfig' => array( + 'path' => 'getProjectConfig', + 'httpMethod' => 'GET', + 'parameters' => array( + 'delegatedProjectNumber' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'projectNumber' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'getPublicKeys' => array( + 'path' => 'publicKeys', + 'httpMethod' => 'GET', + 'parameters' => array(), + ),'getRecaptchaParam' => array( + 'path' => 'getRecaptchaParam', + 'httpMethod' => 'GET', + 'parameters' => array(), + ),'resetPassword' => array( + 'path' => 'resetPassword', + 'httpMethod' => 'POST', + 'parameters' => array(), + ),'setAccountInfo' => array( + 'path' => 'setAccountInfo', + 'httpMethod' => 'POST', + 'parameters' => array(), + ),'setProjectConfig' => array( + 'path' => 'setProjectConfig', + 'httpMethod' => 'POST', + 'parameters' => array(), + ),'signOutUser' => array( + 'path' => 'signOutUser', + 'httpMethod' => 'POST', + 'parameters' => array(), + ),'signupNewUser' => array( + 'path' => 'signupNewUser', + 'httpMethod' => 'POST', + 'parameters' => array(), + ),'uploadAccount' => array( + 'path' => 'uploadAccount', + 'httpMethod' => 'POST', + 'parameters' => array(), + ),'verifyAssertion' => array( + 'path' => 'verifyAssertion', + 'httpMethod' => 'POST', + 'parameters' => array(), + ),'verifyCustomToken' => array( + 'path' => 'verifyCustomToken', + 'httpMethod' => 'POST', + 'parameters' => array(), + ),'verifyPassword' => array( + 'path' => 'verifyPassword', + 'httpMethod' => 'POST', + 'parameters' => array(), + ), + ) + ) + ); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/IdentityToolkit/CreateAuthUriResponse.php b/vendor/google/apiclient-services/src/Google/Service/IdentityToolkit/CreateAuthUriResponse.php new file mode 100644 index 00000000..8cc940bc --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/IdentityToolkit/CreateAuthUriResponse.php @@ -0,0 +1,94 @@ +allProviders = $allProviders; + } + public function getAllProviders() + { + return $this->allProviders; + } + public function setAuthUri($authUri) + { + $this->authUri = $authUri; + } + public function getAuthUri() + { + return $this->authUri; + } + public function setCaptchaRequired($captchaRequired) + { + $this->captchaRequired = $captchaRequired; + } + public function getCaptchaRequired() + { + return $this->captchaRequired; + } + public function setForExistingProvider($forExistingProvider) + { + $this->forExistingProvider = $forExistingProvider; + } + public function getForExistingProvider() + { + return $this->forExistingProvider; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setProviderId($providerId) + { + $this->providerId = $providerId; + } + public function getProviderId() + { + return $this->providerId; + } + public function setRegistered($registered) + { + $this->registered = $registered; + } + public function getRegistered() + { + return $this->registered; + } + public function setSessionId($sessionId) + { + $this->sessionId = $sessionId; + } + public function getSessionId() + { + return $this->sessionId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/IdentityToolkit/DeleteAccountResponse.php b/vendor/google/apiclient-services/src/Google/Service/IdentityToolkit/DeleteAccountResponse.php new file mode 100644 index 00000000..62997d6f --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/IdentityToolkit/DeleteAccountResponse.php @@ -0,0 +1,30 @@ +kind = $kind; + } + public function getKind() + { + return $this->kind; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/IdentityToolkit/DownloadAccountResponse.php b/vendor/google/apiclient-services/src/Google/Service/IdentityToolkit/DownloadAccountResponse.php new file mode 100644 index 00000000..4ea793f6 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/IdentityToolkit/DownloadAccountResponse.php @@ -0,0 +1,50 @@ +kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setUsers($users) + { + $this->users = $users; + } + public function getUsers() + { + return $this->users; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/IdentityToolkit/EmailTemplate.php b/vendor/google/apiclient-services/src/Google/Service/IdentityToolkit/EmailTemplate.php new file mode 100644 index 00000000..bc5f9b73 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/IdentityToolkit/EmailTemplate.php @@ -0,0 +1,75 @@ +body = $body; + } + public function getBody() + { + return $this->body; + } + public function setFormat($format) + { + $this->format = $format; + } + public function getFormat() + { + return $this->format; + } + public function setFrom($from) + { + $this->from = $from; + } + public function getFrom() + { + return $this->from; + } + public function setFromDisplayName($fromDisplayName) + { + $this->fromDisplayName = $fromDisplayName; + } + public function getFromDisplayName() + { + return $this->fromDisplayName; + } + public function setReplyTo($replyTo) + { + $this->replyTo = $replyTo; + } + public function getReplyTo() + { + return $this->replyTo; + } + public function setSubject($subject) + { + $this->subject = $subject; + } + public function getSubject() + { + return $this->subject; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/IdentityToolkit/GetAccountInfoResponse.php b/vendor/google/apiclient-services/src/Google/Service/IdentityToolkit/GetAccountInfoResponse.php new file mode 100644 index 00000000..a9e647c2 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/IdentityToolkit/GetAccountInfoResponse.php @@ -0,0 +1,41 @@ +kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setUsers($users) + { + $this->users = $users; + } + public function getUsers() + { + return $this->users; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/IdentityToolkit/GetOobConfirmationCodeResponse.php b/vendor/google/apiclient-services/src/Google/Service/IdentityToolkit/GetOobConfirmationCodeResponse.php new file mode 100644 index 00000000..1f5fc0f0 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/IdentityToolkit/GetOobConfirmationCodeResponse.php @@ -0,0 +1,48 @@ +email = $email; + } + public function getEmail() + { + return $this->email; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setOobCode($oobCode) + { + $this->oobCode = $oobCode; + } + public function getOobCode() + { + return $this->oobCode; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/IdentityToolkit/GetRecaptchaParamResponse.php b/vendor/google/apiclient-services/src/Google/Service/IdentityToolkit/GetRecaptchaParamResponse.php new file mode 100644 index 00000000..ae598afa --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/IdentityToolkit/GetRecaptchaParamResponse.php @@ -0,0 +1,48 @@ +kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setRecaptchaSiteKey($recaptchaSiteKey) + { + $this->recaptchaSiteKey = $recaptchaSiteKey; + } + public function getRecaptchaSiteKey() + { + return $this->recaptchaSiteKey; + } + public function setRecaptchaStoken($recaptchaStoken) + { + $this->recaptchaStoken = $recaptchaStoken; + } + public function getRecaptchaStoken() + { + return $this->recaptchaStoken; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/IdentityToolkit/IdentitytoolkitRelyingpartyCreateAuthUriRequest.php b/vendor/google/apiclient-services/src/Google/Service/IdentityToolkit/IdentitytoolkitRelyingpartyCreateAuthUriRequest.php new file mode 100644 index 00000000..801d638f --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/IdentityToolkit/IdentitytoolkitRelyingpartyCreateAuthUriRequest.php @@ -0,0 +1,147 @@ +appId = $appId; + } + public function getAppId() + { + return $this->appId; + } + public function setAuthFlowType($authFlowType) + { + $this->authFlowType = $authFlowType; + } + public function getAuthFlowType() + { + return $this->authFlowType; + } + public function setClientId($clientId) + { + $this->clientId = $clientId; + } + public function getClientId() + { + return $this->clientId; + } + public function setContext($context) + { + $this->context = $context; + } + public function getContext() + { + return $this->context; + } + public function setContinueUri($continueUri) + { + $this->continueUri = $continueUri; + } + public function getContinueUri() + { + return $this->continueUri; + } + public function setCustomParameter($customParameter) + { + $this->customParameter = $customParameter; + } + public function getCustomParameter() + { + return $this->customParameter; + } + public function setHostedDomain($hostedDomain) + { + $this->hostedDomain = $hostedDomain; + } + public function getHostedDomain() + { + return $this->hostedDomain; + } + public function setIdentifier($identifier) + { + $this->identifier = $identifier; + } + public function getIdentifier() + { + return $this->identifier; + } + public function setOauthConsumerKey($oauthConsumerKey) + { + $this->oauthConsumerKey = $oauthConsumerKey; + } + public function getOauthConsumerKey() + { + return $this->oauthConsumerKey; + } + public function setOauthScope($oauthScope) + { + $this->oauthScope = $oauthScope; + } + public function getOauthScope() + { + return $this->oauthScope; + } + public function setOpenidRealm($openidRealm) + { + $this->openidRealm = $openidRealm; + } + public function getOpenidRealm() + { + return $this->openidRealm; + } + public function setOtaApp($otaApp) + { + $this->otaApp = $otaApp; + } + public function getOtaApp() + { + return $this->otaApp; + } + public function setProviderId($providerId) + { + $this->providerId = $providerId; + } + public function getProviderId() + { + return $this->providerId; + } + public function setSessionId($sessionId) + { + $this->sessionId = $sessionId; + } + public function getSessionId() + { + return $this->sessionId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/IdentityToolkit/IdentitytoolkitRelyingpartyCreateAuthUriRequestCustomParameter.php b/vendor/google/apiclient-services/src/Google/Service/IdentityToolkit/IdentitytoolkitRelyingpartyCreateAuthUriRequestCustomParameter.php new file mode 100644 index 00000000..daf6a900 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/IdentityToolkit/IdentitytoolkitRelyingpartyCreateAuthUriRequestCustomParameter.php @@ -0,0 +1,39 @@ +key = $key; + } + public function getKey() + { + return $this->key; + } + public function setValue($value) + { + $this->value = $value; + } + public function getValue() + { + return $this->value; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/IdentityToolkit/IdentitytoolkitRelyingpartyDeleteAccountRequest.php b/vendor/google/apiclient-services/src/Google/Service/IdentityToolkit/IdentitytoolkitRelyingpartyDeleteAccountRequest.php new file mode 100644 index 00000000..8a5cbc9a --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/IdentityToolkit/IdentitytoolkitRelyingpartyDeleteAccountRequest.php @@ -0,0 +1,48 @@ +delegatedProjectNumber = $delegatedProjectNumber; + } + public function getDelegatedProjectNumber() + { + return $this->delegatedProjectNumber; + } + public function setIdToken($idToken) + { + $this->idToken = $idToken; + } + public function getIdToken() + { + return $this->idToken; + } + public function setLocalId($localId) + { + $this->localId = $localId; + } + public function getLocalId() + { + return $this->localId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/IdentityToolkit/IdentitytoolkitRelyingpartyDownloadAccountRequest.php b/vendor/google/apiclient-services/src/Google/Service/IdentityToolkit/IdentitytoolkitRelyingpartyDownloadAccountRequest.php new file mode 100644 index 00000000..8f889d53 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/IdentityToolkit/IdentitytoolkitRelyingpartyDownloadAccountRequest.php @@ -0,0 +1,57 @@ +delegatedProjectNumber = $delegatedProjectNumber; + } + public function getDelegatedProjectNumber() + { + return $this->delegatedProjectNumber; + } + public function setMaxResults($maxResults) + { + $this->maxResults = $maxResults; + } + public function getMaxResults() + { + return $this->maxResults; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setTargetProjectId($targetProjectId) + { + $this->targetProjectId = $targetProjectId; + } + public function getTargetProjectId() + { + return $this->targetProjectId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/IdentityToolkit/IdentitytoolkitRelyingpartyGetAccountInfoRequest.php b/vendor/google/apiclient-services/src/Google/Service/IdentityToolkit/IdentitytoolkitRelyingpartyGetAccountInfoRequest.php new file mode 100644 index 00000000..30af08da --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/IdentityToolkit/IdentitytoolkitRelyingpartyGetAccountInfoRequest.php @@ -0,0 +1,58 @@ +delegatedProjectNumber = $delegatedProjectNumber; + } + public function getDelegatedProjectNumber() + { + return $this->delegatedProjectNumber; + } + public function setEmail($email) + { + $this->email = $email; + } + public function getEmail() + { + return $this->email; + } + public function setIdToken($idToken) + { + $this->idToken = $idToken; + } + public function getIdToken() + { + return $this->idToken; + } + public function setLocalId($localId) + { + $this->localId = $localId; + } + public function getLocalId() + { + return $this->localId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/IdentityToolkit/IdentitytoolkitRelyingpartyGetProjectConfigResponse.php b/vendor/google/apiclient-services/src/Google/Service/IdentityToolkit/IdentitytoolkitRelyingpartyGetProjectConfigResponse.php new file mode 100644 index 00000000..be15bc3c --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/IdentityToolkit/IdentitytoolkitRelyingpartyGetProjectConfigResponse.php @@ -0,0 +1,135 @@ +allowPasswordUser = $allowPasswordUser; + } + public function getAllowPasswordUser() + { + return $this->allowPasswordUser; + } + public function setApiKey($apiKey) + { + $this->apiKey = $apiKey; + } + public function getApiKey() + { + return $this->apiKey; + } + public function setAuthorizedDomains($authorizedDomains) + { + $this->authorizedDomains = $authorizedDomains; + } + public function getAuthorizedDomains() + { + return $this->authorizedDomains; + } + public function setChangeEmailTemplate(Google_Service_IdentityToolkit_EmailTemplate $changeEmailTemplate) + { + $this->changeEmailTemplate = $changeEmailTemplate; + } + public function getChangeEmailTemplate() + { + return $this->changeEmailTemplate; + } + public function setDynamicLinksDomain($dynamicLinksDomain) + { + $this->dynamicLinksDomain = $dynamicLinksDomain; + } + public function getDynamicLinksDomain() + { + return $this->dynamicLinksDomain; + } + public function setEnableAnonymousUser($enableAnonymousUser) + { + $this->enableAnonymousUser = $enableAnonymousUser; + } + public function getEnableAnonymousUser() + { + return $this->enableAnonymousUser; + } + public function setIdpConfig($idpConfig) + { + $this->idpConfig = $idpConfig; + } + public function getIdpConfig() + { + return $this->idpConfig; + } + public function setLegacyResetPasswordTemplate(Google_Service_IdentityToolkit_EmailTemplate $legacyResetPasswordTemplate) + { + $this->legacyResetPasswordTemplate = $legacyResetPasswordTemplate; + } + public function getLegacyResetPasswordTemplate() + { + return $this->legacyResetPasswordTemplate; + } + public function setProjectId($projectId) + { + $this->projectId = $projectId; + } + public function getProjectId() + { + return $this->projectId; + } + public function setResetPasswordTemplate(Google_Service_IdentityToolkit_EmailTemplate $resetPasswordTemplate) + { + $this->resetPasswordTemplate = $resetPasswordTemplate; + } + public function getResetPasswordTemplate() + { + return $this->resetPasswordTemplate; + } + public function setUseEmailSending($useEmailSending) + { + $this->useEmailSending = $useEmailSending; + } + public function getUseEmailSending() + { + return $this->useEmailSending; + } + public function setVerifyEmailTemplate(Google_Service_IdentityToolkit_EmailTemplate $verifyEmailTemplate) + { + $this->verifyEmailTemplate = $verifyEmailTemplate; + } + public function getVerifyEmailTemplate() + { + return $this->verifyEmailTemplate; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/IdentityToolkit/IdentitytoolkitRelyingpartyResetPasswordRequest.php b/vendor/google/apiclient-services/src/Google/Service/IdentityToolkit/IdentitytoolkitRelyingpartyResetPasswordRequest.php new file mode 100644 index 00000000..e2a85f25 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/IdentityToolkit/IdentitytoolkitRelyingpartyResetPasswordRequest.php @@ -0,0 +1,57 @@ +email = $email; + } + public function getEmail() + { + return $this->email; + } + public function setNewPassword($newPassword) + { + $this->newPassword = $newPassword; + } + public function getNewPassword() + { + return $this->newPassword; + } + public function setOldPassword($oldPassword) + { + $this->oldPassword = $oldPassword; + } + public function getOldPassword() + { + return $this->oldPassword; + } + public function setOobCode($oobCode) + { + $this->oobCode = $oobCode; + } + public function getOobCode() + { + return $this->oobCode; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/IdentityToolkit/IdentitytoolkitRelyingpartySetAccountInfoRequest.php b/vendor/google/apiclient-services/src/Google/Service/IdentityToolkit/IdentitytoolkitRelyingpartySetAccountInfoRequest.php new file mode 100644 index 00000000..45b0dcc7 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/IdentityToolkit/IdentitytoolkitRelyingpartySetAccountInfoRequest.php @@ -0,0 +1,211 @@ +captchaChallenge = $captchaChallenge; + } + public function getCaptchaChallenge() + { + return $this->captchaChallenge; + } + public function setCaptchaResponse($captchaResponse) + { + $this->captchaResponse = $captchaResponse; + } + public function getCaptchaResponse() + { + return $this->captchaResponse; + } + public function setCreatedAt($createdAt) + { + $this->createdAt = $createdAt; + } + public function getCreatedAt() + { + return $this->createdAt; + } + public function setDelegatedProjectNumber($delegatedProjectNumber) + { + $this->delegatedProjectNumber = $delegatedProjectNumber; + } + public function getDelegatedProjectNumber() + { + return $this->delegatedProjectNumber; + } + public function setDeleteAttribute($deleteAttribute) + { + $this->deleteAttribute = $deleteAttribute; + } + public function getDeleteAttribute() + { + return $this->deleteAttribute; + } + public function setDeleteProvider($deleteProvider) + { + $this->deleteProvider = $deleteProvider; + } + public function getDeleteProvider() + { + return $this->deleteProvider; + } + public function setDisableUser($disableUser) + { + $this->disableUser = $disableUser; + } + public function getDisableUser() + { + return $this->disableUser; + } + public function setDisplayName($displayName) + { + $this->displayName = $displayName; + } + public function getDisplayName() + { + return $this->displayName; + } + public function setEmail($email) + { + $this->email = $email; + } + public function getEmail() + { + return $this->email; + } + public function setEmailVerified($emailVerified) + { + $this->emailVerified = $emailVerified; + } + public function getEmailVerified() + { + return $this->emailVerified; + } + public function setIdToken($idToken) + { + $this->idToken = $idToken; + } + public function getIdToken() + { + return $this->idToken; + } + public function setInstanceId($instanceId) + { + $this->instanceId = $instanceId; + } + public function getInstanceId() + { + return $this->instanceId; + } + public function setLastLoginAt($lastLoginAt) + { + $this->lastLoginAt = $lastLoginAt; + } + public function getLastLoginAt() + { + return $this->lastLoginAt; + } + public function setLocalId($localId) + { + $this->localId = $localId; + } + public function getLocalId() + { + return $this->localId; + } + public function setOobCode($oobCode) + { + $this->oobCode = $oobCode; + } + public function getOobCode() + { + return $this->oobCode; + } + public function setPassword($password) + { + $this->password = $password; + } + public function getPassword() + { + return $this->password; + } + public function setPhotoUrl($photoUrl) + { + $this->photoUrl = $photoUrl; + } + public function getPhotoUrl() + { + return $this->photoUrl; + } + public function setProvider($provider) + { + $this->provider = $provider; + } + public function getProvider() + { + return $this->provider; + } + public function setReturnSecureToken($returnSecureToken) + { + $this->returnSecureToken = $returnSecureToken; + } + public function getReturnSecureToken() + { + return $this->returnSecureToken; + } + public function setUpgradeToFederatedLogin($upgradeToFederatedLogin) + { + $this->upgradeToFederatedLogin = $upgradeToFederatedLogin; + } + public function getUpgradeToFederatedLogin() + { + return $this->upgradeToFederatedLogin; + } + public function setValidSince($validSince) + { + $this->validSince = $validSince; + } + public function getValidSince() + { + return $this->validSince; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/IdentityToolkit/IdentitytoolkitRelyingpartySetProjectConfigRequest.php b/vendor/google/apiclient-services/src/Google/Service/IdentityToolkit/IdentitytoolkitRelyingpartySetProjectConfigRequest.php new file mode 100644 index 00000000..9c004162 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/IdentityToolkit/IdentitytoolkitRelyingpartySetProjectConfigRequest.php @@ -0,0 +1,126 @@ +allowPasswordUser = $allowPasswordUser; + } + public function getAllowPasswordUser() + { + return $this->allowPasswordUser; + } + public function setApiKey($apiKey) + { + $this->apiKey = $apiKey; + } + public function getApiKey() + { + return $this->apiKey; + } + public function setAuthorizedDomains($authorizedDomains) + { + $this->authorizedDomains = $authorizedDomains; + } + public function getAuthorizedDomains() + { + return $this->authorizedDomains; + } + public function setChangeEmailTemplate(Google_Service_IdentityToolkit_EmailTemplate $changeEmailTemplate) + { + $this->changeEmailTemplate = $changeEmailTemplate; + } + public function getChangeEmailTemplate() + { + return $this->changeEmailTemplate; + } + public function setDelegatedProjectNumber($delegatedProjectNumber) + { + $this->delegatedProjectNumber = $delegatedProjectNumber; + } + public function getDelegatedProjectNumber() + { + return $this->delegatedProjectNumber; + } + public function setEnableAnonymousUser($enableAnonymousUser) + { + $this->enableAnonymousUser = $enableAnonymousUser; + } + public function getEnableAnonymousUser() + { + return $this->enableAnonymousUser; + } + public function setIdpConfig($idpConfig) + { + $this->idpConfig = $idpConfig; + } + public function getIdpConfig() + { + return $this->idpConfig; + } + public function setLegacyResetPasswordTemplate(Google_Service_IdentityToolkit_EmailTemplate $legacyResetPasswordTemplate) + { + $this->legacyResetPasswordTemplate = $legacyResetPasswordTemplate; + } + public function getLegacyResetPasswordTemplate() + { + return $this->legacyResetPasswordTemplate; + } + public function setResetPasswordTemplate(Google_Service_IdentityToolkit_EmailTemplate $resetPasswordTemplate) + { + $this->resetPasswordTemplate = $resetPasswordTemplate; + } + public function getResetPasswordTemplate() + { + return $this->resetPasswordTemplate; + } + public function setUseEmailSending($useEmailSending) + { + $this->useEmailSending = $useEmailSending; + } + public function getUseEmailSending() + { + return $this->useEmailSending; + } + public function setVerifyEmailTemplate(Google_Service_IdentityToolkit_EmailTemplate $verifyEmailTemplate) + { + $this->verifyEmailTemplate = $verifyEmailTemplate; + } + public function getVerifyEmailTemplate() + { + return $this->verifyEmailTemplate; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/IdentityToolkit/IdentitytoolkitRelyingpartySetProjectConfigResponse.php b/vendor/google/apiclient-services/src/Google/Service/IdentityToolkit/IdentitytoolkitRelyingpartySetProjectConfigResponse.php new file mode 100644 index 00000000..484a135f --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/IdentityToolkit/IdentitytoolkitRelyingpartySetProjectConfigResponse.php @@ -0,0 +1,30 @@ +projectId = $projectId; + } + public function getProjectId() + { + return $this->projectId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/IdentityToolkit/IdentitytoolkitRelyingpartySignOutUserRequest.php b/vendor/google/apiclient-services/src/Google/Service/IdentityToolkit/IdentitytoolkitRelyingpartySignOutUserRequest.php new file mode 100644 index 00000000..815aab58 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/IdentityToolkit/IdentitytoolkitRelyingpartySignOutUserRequest.php @@ -0,0 +1,39 @@ +instanceId = $instanceId; + } + public function getInstanceId() + { + return $this->instanceId; + } + public function setLocalId($localId) + { + $this->localId = $localId; + } + public function getLocalId() + { + return $this->localId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/IdentityToolkit/IdentitytoolkitRelyingpartySignOutUserResponse.php b/vendor/google/apiclient-services/src/Google/Service/IdentityToolkit/IdentitytoolkitRelyingpartySignOutUserResponse.php new file mode 100644 index 00000000..28d32120 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/IdentityToolkit/IdentitytoolkitRelyingpartySignOutUserResponse.php @@ -0,0 +1,30 @@ +localId = $localId; + } + public function getLocalId() + { + return $this->localId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/IdentityToolkit/IdentitytoolkitRelyingpartySignupNewUserRequest.php b/vendor/google/apiclient-services/src/Google/Service/IdentityToolkit/IdentitytoolkitRelyingpartySignupNewUserRequest.php new file mode 100644 index 00000000..45534b57 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/IdentityToolkit/IdentitytoolkitRelyingpartySignupNewUserRequest.php @@ -0,0 +1,120 @@ +captchaChallenge = $captchaChallenge; + } + public function getCaptchaChallenge() + { + return $this->captchaChallenge; + } + public function setCaptchaResponse($captchaResponse) + { + $this->captchaResponse = $captchaResponse; + } + public function getCaptchaResponse() + { + return $this->captchaResponse; + } + public function setDisabled($disabled) + { + $this->disabled = $disabled; + } + public function getDisabled() + { + return $this->disabled; + } + public function setDisplayName($displayName) + { + $this->displayName = $displayName; + } + public function getDisplayName() + { + return $this->displayName; + } + public function setEmail($email) + { + $this->email = $email; + } + public function getEmail() + { + return $this->email; + } + public function setEmailVerified($emailVerified) + { + $this->emailVerified = $emailVerified; + } + public function getEmailVerified() + { + return $this->emailVerified; + } + public function setIdToken($idToken) + { + $this->idToken = $idToken; + } + public function getIdToken() + { + return $this->idToken; + } + public function setInstanceId($instanceId) + { + $this->instanceId = $instanceId; + } + public function getInstanceId() + { + return $this->instanceId; + } + public function setLocalId($localId) + { + $this->localId = $localId; + } + public function getLocalId() + { + return $this->localId; + } + public function setPassword($password) + { + $this->password = $password; + } + public function getPassword() + { + return $this->password; + } + public function setPhotoUrl($photoUrl) + { + $this->photoUrl = $photoUrl; + } + public function getPhotoUrl() + { + return $this->photoUrl; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/IdentityToolkit/IdentitytoolkitRelyingpartyUploadAccountRequest.php b/vendor/google/apiclient-services/src/Google/Service/IdentityToolkit/IdentitytoolkitRelyingpartyUploadAccountRequest.php new file mode 100644 index 00000000..de963cda --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/IdentityToolkit/IdentitytoolkitRelyingpartyUploadAccountRequest.php @@ -0,0 +1,113 @@ +allowOverwrite = $allowOverwrite; + } + public function getAllowOverwrite() + { + return $this->allowOverwrite; + } + public function setDelegatedProjectNumber($delegatedProjectNumber) + { + $this->delegatedProjectNumber = $delegatedProjectNumber; + } + public function getDelegatedProjectNumber() + { + return $this->delegatedProjectNumber; + } + public function setHashAlgorithm($hashAlgorithm) + { + $this->hashAlgorithm = $hashAlgorithm; + } + public function getHashAlgorithm() + { + return $this->hashAlgorithm; + } + public function setMemoryCost($memoryCost) + { + $this->memoryCost = $memoryCost; + } + public function getMemoryCost() + { + return $this->memoryCost; + } + public function setRounds($rounds) + { + $this->rounds = $rounds; + } + public function getRounds() + { + return $this->rounds; + } + public function setSaltSeparator($saltSeparator) + { + $this->saltSeparator = $saltSeparator; + } + public function getSaltSeparator() + { + return $this->saltSeparator; + } + public function setSanityCheck($sanityCheck) + { + $this->sanityCheck = $sanityCheck; + } + public function getSanityCheck() + { + return $this->sanityCheck; + } + public function setSignerKey($signerKey) + { + $this->signerKey = $signerKey; + } + public function getSignerKey() + { + return $this->signerKey; + } + public function setTargetProjectId($targetProjectId) + { + $this->targetProjectId = $targetProjectId; + } + public function getTargetProjectId() + { + return $this->targetProjectId; + } + public function setUsers($users) + { + $this->users = $users; + } + public function getUsers() + { + return $this->users; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/IdentityToolkit/IdentitytoolkitRelyingpartyVerifyAssertionRequest.php b/vendor/google/apiclient-services/src/Google/Service/IdentityToolkit/IdentitytoolkitRelyingpartyVerifyAssertionRequest.php new file mode 100644 index 00000000..d0841034 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/IdentityToolkit/IdentitytoolkitRelyingpartyVerifyAssertionRequest.php @@ -0,0 +1,111 @@ +delegatedProjectNumber = $delegatedProjectNumber; + } + public function getDelegatedProjectNumber() + { + return $this->delegatedProjectNumber; + } + public function setIdToken($idToken) + { + $this->idToken = $idToken; + } + public function getIdToken() + { + return $this->idToken; + } + public function setInstanceId($instanceId) + { + $this->instanceId = $instanceId; + } + public function getInstanceId() + { + return $this->instanceId; + } + public function setPendingIdToken($pendingIdToken) + { + $this->pendingIdToken = $pendingIdToken; + } + public function getPendingIdToken() + { + return $this->pendingIdToken; + } + public function setPostBody($postBody) + { + $this->postBody = $postBody; + } + public function getPostBody() + { + return $this->postBody; + } + public function setRequestUri($requestUri) + { + $this->requestUri = $requestUri; + } + public function getRequestUri() + { + return $this->requestUri; + } + public function setReturnIdpCredential($returnIdpCredential) + { + $this->returnIdpCredential = $returnIdpCredential; + } + public function getReturnIdpCredential() + { + return $this->returnIdpCredential; + } + public function setReturnRefreshToken($returnRefreshToken) + { + $this->returnRefreshToken = $returnRefreshToken; + } + public function getReturnRefreshToken() + { + return $this->returnRefreshToken; + } + public function setReturnSecureToken($returnSecureToken) + { + $this->returnSecureToken = $returnSecureToken; + } + public function getReturnSecureToken() + { + return $this->returnSecureToken; + } + public function setSessionId($sessionId) + { + $this->sessionId = $sessionId; + } + public function getSessionId() + { + return $this->sessionId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/IdentityToolkit/IdentitytoolkitRelyingpartyVerifyCustomTokenRequest.php b/vendor/google/apiclient-services/src/Google/Service/IdentityToolkit/IdentitytoolkitRelyingpartyVerifyCustomTokenRequest.php new file mode 100644 index 00000000..f2fe712e --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/IdentityToolkit/IdentitytoolkitRelyingpartyVerifyCustomTokenRequest.php @@ -0,0 +1,57 @@ +delegatedProjectNumber = $delegatedProjectNumber; + } + public function getDelegatedProjectNumber() + { + return $this->delegatedProjectNumber; + } + public function setInstanceId($instanceId) + { + $this->instanceId = $instanceId; + } + public function getInstanceId() + { + return $this->instanceId; + } + public function setReturnSecureToken($returnSecureToken) + { + $this->returnSecureToken = $returnSecureToken; + } + public function getReturnSecureToken() + { + return $this->returnSecureToken; + } + public function setToken($token) + { + $this->token = $token; + } + public function getToken() + { + return $this->token; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/IdentityToolkit/IdentitytoolkitRelyingpartyVerifyPasswordRequest.php b/vendor/google/apiclient-services/src/Google/Service/IdentityToolkit/IdentitytoolkitRelyingpartyVerifyPasswordRequest.php new file mode 100644 index 00000000..7115a251 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/IdentityToolkit/IdentitytoolkitRelyingpartyVerifyPasswordRequest.php @@ -0,0 +1,102 @@ +captchaChallenge = $captchaChallenge; + } + public function getCaptchaChallenge() + { + return $this->captchaChallenge; + } + public function setCaptchaResponse($captchaResponse) + { + $this->captchaResponse = $captchaResponse; + } + public function getCaptchaResponse() + { + return $this->captchaResponse; + } + public function setDelegatedProjectNumber($delegatedProjectNumber) + { + $this->delegatedProjectNumber = $delegatedProjectNumber; + } + public function getDelegatedProjectNumber() + { + return $this->delegatedProjectNumber; + } + public function setEmail($email) + { + $this->email = $email; + } + public function getEmail() + { + return $this->email; + } + public function setIdToken($idToken) + { + $this->idToken = $idToken; + } + public function getIdToken() + { + return $this->idToken; + } + public function setInstanceId($instanceId) + { + $this->instanceId = $instanceId; + } + public function getInstanceId() + { + return $this->instanceId; + } + public function setPassword($password) + { + $this->password = $password; + } + public function getPassword() + { + return $this->password; + } + public function setPendingIdToken($pendingIdToken) + { + $this->pendingIdToken = $pendingIdToken; + } + public function getPendingIdToken() + { + return $this->pendingIdToken; + } + public function setReturnSecureToken($returnSecureToken) + { + $this->returnSecureToken = $returnSecureToken; + } + public function getReturnSecureToken() + { + return $this->returnSecureToken; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/IdentityToolkit/IdpConfig.php b/vendor/google/apiclient-services/src/Google/Service/IdentityToolkit/IdpConfig.php new file mode 100644 index 00000000..ba4655af --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/IdentityToolkit/IdpConfig.php @@ -0,0 +1,76 @@ +clientId = $clientId; + } + public function getClientId() + { + return $this->clientId; + } + public function setEnabled($enabled) + { + $this->enabled = $enabled; + } + public function getEnabled() + { + return $this->enabled; + } + public function setExperimentPercent($experimentPercent) + { + $this->experimentPercent = $experimentPercent; + } + public function getExperimentPercent() + { + return $this->experimentPercent; + } + public function setProvider($provider) + { + $this->provider = $provider; + } + public function getProvider() + { + return $this->provider; + } + public function setSecret($secret) + { + $this->secret = $secret; + } + public function getSecret() + { + return $this->secret; + } + public function setWhitelistedAudiences($whitelistedAudiences) + { + $this->whitelistedAudiences = $whitelistedAudiences; + } + public function getWhitelistedAudiences() + { + return $this->whitelistedAudiences; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/IdentityToolkit/Relyingparty.php b/vendor/google/apiclient-services/src/Google/Service/IdentityToolkit/Relyingparty.php new file mode 100644 index 00000000..19e2ecbb --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/IdentityToolkit/Relyingparty.php @@ -0,0 +1,93 @@ +captchaResp = $captchaResp; + } + public function getCaptchaResp() + { + return $this->captchaResp; + } + public function setChallenge($challenge) + { + $this->challenge = $challenge; + } + public function getChallenge() + { + return $this->challenge; + } + public function setEmail($email) + { + $this->email = $email; + } + public function getEmail() + { + return $this->email; + } + public function setIdToken($idToken) + { + $this->idToken = $idToken; + } + public function getIdToken() + { + return $this->idToken; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNewEmail($newEmail) + { + $this->newEmail = $newEmail; + } + public function getNewEmail() + { + return $this->newEmail; + } + public function setRequestType($requestType) + { + $this->requestType = $requestType; + } + public function getRequestType() + { + return $this->requestType; + } + public function setUserIp($userIp) + { + $this->userIp = $userIp; + } + public function getUserIp() + { + return $this->userIp; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/IdentityToolkit/ResetPasswordResponse.php b/vendor/google/apiclient-services/src/Google/Service/IdentityToolkit/ResetPasswordResponse.php new file mode 100644 index 00000000..d2e30f0f --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/IdentityToolkit/ResetPasswordResponse.php @@ -0,0 +1,57 @@ +email = $email; + } + public function getEmail() + { + return $this->email; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNewEmail($newEmail) + { + $this->newEmail = $newEmail; + } + public function getNewEmail() + { + return $this->newEmail; + } + public function setRequestType($requestType) + { + $this->requestType = $requestType; + } + public function getRequestType() + { + return $this->requestType; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/IdentityToolkit/Resource/Relyingparty.php b/vendor/google/apiclient-services/src/Google/Service/IdentityToolkit/Resource/Relyingparty.php new file mode 100644 index 00000000..c6cd74db --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/IdentityToolkit/Resource/Relyingparty.php @@ -0,0 +1,252 @@ + + * $identitytoolkitService = new Google_Service_IdentityToolkit(...); + * $relyingparty = $identitytoolkitService->relyingparty; + * + */ +class Google_Service_IdentityToolkit_Resource_Relyingparty extends Google_Service_Resource +{ + /** + * Creates the URI used by the IdP to authenticate the user. + * (relyingparty.createAuthUri) + * + * @param Google_Service_IdentityToolkit_IdentitytoolkitRelyingpartyCreateAuthUriRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_IdentityToolkit_CreateAuthUriResponse + */ + public function createAuthUri(Google_Service_IdentityToolkit_IdentitytoolkitRelyingpartyCreateAuthUriRequest $postBody, $optParams = array()) + { + $params = array('postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('createAuthUri', array($params), "Google_Service_IdentityToolkit_CreateAuthUriResponse"); + } + /** + * Delete user account. (relyingparty.deleteAccount) + * + * @param Google_Service_IdentityToolkit_IdentitytoolkitRelyingpartyDeleteAccountRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_IdentityToolkit_DeleteAccountResponse + */ + public function deleteAccount(Google_Service_IdentityToolkit_IdentitytoolkitRelyingpartyDeleteAccountRequest $postBody, $optParams = array()) + { + $params = array('postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('deleteAccount', array($params), "Google_Service_IdentityToolkit_DeleteAccountResponse"); + } + /** + * Batch download user accounts. (relyingparty.downloadAccount) + * + * @param Google_Service_IdentityToolkit_IdentitytoolkitRelyingpartyDownloadAccountRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_IdentityToolkit_DownloadAccountResponse + */ + public function downloadAccount(Google_Service_IdentityToolkit_IdentitytoolkitRelyingpartyDownloadAccountRequest $postBody, $optParams = array()) + { + $params = array('postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('downloadAccount', array($params), "Google_Service_IdentityToolkit_DownloadAccountResponse"); + } + /** + * Returns the account info. (relyingparty.getAccountInfo) + * + * @param Google_Service_IdentityToolkit_IdentitytoolkitRelyingpartyGetAccountInfoRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_IdentityToolkit_GetAccountInfoResponse + */ + public function getAccountInfo(Google_Service_IdentityToolkit_IdentitytoolkitRelyingpartyGetAccountInfoRequest $postBody, $optParams = array()) + { + $params = array('postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('getAccountInfo', array($params), "Google_Service_IdentityToolkit_GetAccountInfoResponse"); + } + /** + * Get a code for user action confirmation. + * (relyingparty.getOobConfirmationCode) + * + * @param Google_Service_IdentityToolkit_Relyingparty $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_IdentityToolkit_GetOobConfirmationCodeResponse + */ + public function getOobConfirmationCode(Google_Service_IdentityToolkit_Relyingparty $postBody, $optParams = array()) + { + $params = array('postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('getOobConfirmationCode', array($params), "Google_Service_IdentityToolkit_GetOobConfirmationCodeResponse"); + } + /** + * Get project configuration. (relyingparty.getProjectConfig) + * + * @param array $optParams Optional parameters. + * + * @opt_param string delegatedProjectNumber Delegated GCP project number of the + * request. + * @opt_param string projectNumber GCP project number of the request. + * @return Google_Service_IdentityToolkit_IdentitytoolkitRelyingpartyGetProjectConfigResponse + */ + public function getProjectConfig($optParams = array()) + { + $params = array(); + $params = array_merge($params, $optParams); + return $this->call('getProjectConfig', array($params), "Google_Service_IdentityToolkit_IdentitytoolkitRelyingpartyGetProjectConfigResponse"); + } + /** + * Get token signing public key. (relyingparty.getPublicKeys) + * + * @param array $optParams Optional parameters. + * @return Google_Service_IdentityToolkit_IdentitytoolkitRelyingpartyGetPublicKeysResponse + */ + public function getPublicKeys($optParams = array()) + { + $params = array(); + $params = array_merge($params, $optParams); + return $this->call('getPublicKeys', array($params), "Google_Service_IdentityToolkit_IdentitytoolkitRelyingpartyGetPublicKeysResponse"); + } + /** + * Get recaptcha secure param. (relyingparty.getRecaptchaParam) + * + * @param array $optParams Optional parameters. + * @return Google_Service_IdentityToolkit_GetRecaptchaParamResponse + */ + public function getRecaptchaParam($optParams = array()) + { + $params = array(); + $params = array_merge($params, $optParams); + return $this->call('getRecaptchaParam', array($params), "Google_Service_IdentityToolkit_GetRecaptchaParamResponse"); + } + /** + * Reset password for a user. (relyingparty.resetPassword) + * + * @param Google_Service_IdentityToolkit_IdentitytoolkitRelyingpartyResetPasswordRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_IdentityToolkit_ResetPasswordResponse + */ + public function resetPassword(Google_Service_IdentityToolkit_IdentitytoolkitRelyingpartyResetPasswordRequest $postBody, $optParams = array()) + { + $params = array('postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('resetPassword', array($params), "Google_Service_IdentityToolkit_ResetPasswordResponse"); + } + /** + * Set account info for a user. (relyingparty.setAccountInfo) + * + * @param Google_Service_IdentityToolkit_IdentitytoolkitRelyingpartySetAccountInfoRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_IdentityToolkit_SetAccountInfoResponse + */ + public function setAccountInfo(Google_Service_IdentityToolkit_IdentitytoolkitRelyingpartySetAccountInfoRequest $postBody, $optParams = array()) + { + $params = array('postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('setAccountInfo', array($params), "Google_Service_IdentityToolkit_SetAccountInfoResponse"); + } + /** + * Set project configuration. (relyingparty.setProjectConfig) + * + * @param Google_Service_IdentityToolkit_IdentitytoolkitRelyingpartySetProjectConfigRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_IdentityToolkit_IdentitytoolkitRelyingpartySetProjectConfigResponse + */ + public function setProjectConfig(Google_Service_IdentityToolkit_IdentitytoolkitRelyingpartySetProjectConfigRequest $postBody, $optParams = array()) + { + $params = array('postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('setProjectConfig', array($params), "Google_Service_IdentityToolkit_IdentitytoolkitRelyingpartySetProjectConfigResponse"); + } + /** + * Sign out user. (relyingparty.signOutUser) + * + * @param Google_Service_IdentityToolkit_IdentitytoolkitRelyingpartySignOutUserRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_IdentityToolkit_IdentitytoolkitRelyingpartySignOutUserResponse + */ + public function signOutUser(Google_Service_IdentityToolkit_IdentitytoolkitRelyingpartySignOutUserRequest $postBody, $optParams = array()) + { + $params = array('postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('signOutUser', array($params), "Google_Service_IdentityToolkit_IdentitytoolkitRelyingpartySignOutUserResponse"); + } + /** + * Signup new user. (relyingparty.signupNewUser) + * + * @param Google_Service_IdentityToolkit_IdentitytoolkitRelyingpartySignupNewUserRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_IdentityToolkit_SignupNewUserResponse + */ + public function signupNewUser(Google_Service_IdentityToolkit_IdentitytoolkitRelyingpartySignupNewUserRequest $postBody, $optParams = array()) + { + $params = array('postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('signupNewUser', array($params), "Google_Service_IdentityToolkit_SignupNewUserResponse"); + } + /** + * Batch upload existing user accounts. (relyingparty.uploadAccount) + * + * @param Google_Service_IdentityToolkit_IdentitytoolkitRelyingpartyUploadAccountRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_IdentityToolkit_UploadAccountResponse + */ + public function uploadAccount(Google_Service_IdentityToolkit_IdentitytoolkitRelyingpartyUploadAccountRequest $postBody, $optParams = array()) + { + $params = array('postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('uploadAccount', array($params), "Google_Service_IdentityToolkit_UploadAccountResponse"); + } + /** + * Verifies the assertion returned by the IdP. (relyingparty.verifyAssertion) + * + * @param Google_Service_IdentityToolkit_IdentitytoolkitRelyingpartyVerifyAssertionRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_IdentityToolkit_VerifyAssertionResponse + */ + public function verifyAssertion(Google_Service_IdentityToolkit_IdentitytoolkitRelyingpartyVerifyAssertionRequest $postBody, $optParams = array()) + { + $params = array('postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('verifyAssertion', array($params), "Google_Service_IdentityToolkit_VerifyAssertionResponse"); + } + /** + * Verifies the developer asserted ID token. (relyingparty.verifyCustomToken) + * + * @param Google_Service_IdentityToolkit_IdentitytoolkitRelyingpartyVerifyCustomTokenRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_IdentityToolkit_VerifyCustomTokenResponse + */ + public function verifyCustomToken(Google_Service_IdentityToolkit_IdentitytoolkitRelyingpartyVerifyCustomTokenRequest $postBody, $optParams = array()) + { + $params = array('postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('verifyCustomToken', array($params), "Google_Service_IdentityToolkit_VerifyCustomTokenResponse"); + } + /** + * Verifies the user entered password. (relyingparty.verifyPassword) + * + * @param Google_Service_IdentityToolkit_IdentitytoolkitRelyingpartyVerifyPasswordRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_IdentityToolkit_VerifyPasswordResponse + */ + public function verifyPassword(Google_Service_IdentityToolkit_IdentitytoolkitRelyingpartyVerifyPasswordRequest $postBody, $optParams = array()) + { + $params = array('postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('verifyPassword', array($params), "Google_Service_IdentityToolkit_VerifyPasswordResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/IdentityToolkit/SetAccountInfoResponse.php b/vendor/google/apiclient-services/src/Google/Service/IdentityToolkit/SetAccountInfoResponse.php new file mode 100644 index 00000000..3500c609 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/IdentityToolkit/SetAccountInfoResponse.php @@ -0,0 +1,131 @@ +displayName = $displayName; + } + public function getDisplayName() + { + return $this->displayName; + } + public function setEmail($email) + { + $this->email = $email; + } + public function getEmail() + { + return $this->email; + } + public function setEmailVerified($emailVerified) + { + $this->emailVerified = $emailVerified; + } + public function getEmailVerified() + { + return $this->emailVerified; + } + public function setExpiresIn($expiresIn) + { + $this->expiresIn = $expiresIn; + } + public function getExpiresIn() + { + return $this->expiresIn; + } + public function setIdToken($idToken) + { + $this->idToken = $idToken; + } + public function getIdToken() + { + return $this->idToken; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setLocalId($localId) + { + $this->localId = $localId; + } + public function getLocalId() + { + return $this->localId; + } + public function setNewEmail($newEmail) + { + $this->newEmail = $newEmail; + } + public function getNewEmail() + { + return $this->newEmail; + } + public function setPasswordHash($passwordHash) + { + $this->passwordHash = $passwordHash; + } + public function getPasswordHash() + { + return $this->passwordHash; + } + public function setPhotoUrl($photoUrl) + { + $this->photoUrl = $photoUrl; + } + public function getPhotoUrl() + { + return $this->photoUrl; + } + public function setProviderUserInfo($providerUserInfo) + { + $this->providerUserInfo = $providerUserInfo; + } + public function getProviderUserInfo() + { + return $this->providerUserInfo; + } + public function setRefreshToken($refreshToken) + { + $this->refreshToken = $refreshToken; + } + public function getRefreshToken() + { + return $this->refreshToken; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/IdentityToolkit/SetAccountInfoResponseProviderUserInfo.php b/vendor/google/apiclient-services/src/Google/Service/IdentityToolkit/SetAccountInfoResponseProviderUserInfo.php new file mode 100644 index 00000000..9b4a7bd3 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/IdentityToolkit/SetAccountInfoResponseProviderUserInfo.php @@ -0,0 +1,57 @@ +displayName = $displayName; + } + public function getDisplayName() + { + return $this->displayName; + } + public function setFederatedId($federatedId) + { + $this->federatedId = $federatedId; + } + public function getFederatedId() + { + return $this->federatedId; + } + public function setPhotoUrl($photoUrl) + { + $this->photoUrl = $photoUrl; + } + public function getPhotoUrl() + { + return $this->photoUrl; + } + public function setProviderId($providerId) + { + $this->providerId = $providerId; + } + public function getProviderId() + { + return $this->providerId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/IdentityToolkit/SignupNewUserResponse.php b/vendor/google/apiclient-services/src/Google/Service/IdentityToolkit/SignupNewUserResponse.php new file mode 100644 index 00000000..8517a66a --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/IdentityToolkit/SignupNewUserResponse.php @@ -0,0 +1,84 @@ +displayName = $displayName; + } + public function getDisplayName() + { + return $this->displayName; + } + public function setEmail($email) + { + $this->email = $email; + } + public function getEmail() + { + return $this->email; + } + public function setExpiresIn($expiresIn) + { + $this->expiresIn = $expiresIn; + } + public function getExpiresIn() + { + return $this->expiresIn; + } + public function setIdToken($idToken) + { + $this->idToken = $idToken; + } + public function getIdToken() + { + return $this->idToken; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setLocalId($localId) + { + $this->localId = $localId; + } + public function getLocalId() + { + return $this->localId; + } + public function setRefreshToken($refreshToken) + { + $this->refreshToken = $refreshToken; + } + public function getRefreshToken() + { + return $this->refreshToken; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/IdentityToolkit/UploadAccountResponse.php b/vendor/google/apiclient-services/src/Google/Service/IdentityToolkit/UploadAccountResponse.php new file mode 100644 index 00000000..d125c05a --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/IdentityToolkit/UploadAccountResponse.php @@ -0,0 +1,41 @@ +error = $error; + } + public function getError() + { + return $this->error; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/IdentityToolkit/UploadAccountResponseError.php b/vendor/google/apiclient-services/src/Google/Service/IdentityToolkit/UploadAccountResponseError.php new file mode 100644 index 00000000..f3c4ed27 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/IdentityToolkit/UploadAccountResponseError.php @@ -0,0 +1,39 @@ +index = $index; + } + public function getIndex() + { + return $this->index; + } + public function setMessage($message) + { + $this->message = $message; + } + public function getMessage() + { + return $this->message; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/IdentityToolkit/UserInfo.php b/vendor/google/apiclient-services/src/Google/Service/IdentityToolkit/UserInfo.php new file mode 100644 index 00000000..056ec9fb --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/IdentityToolkit/UserInfo.php @@ -0,0 +1,176 @@ +createdAt = $createdAt; + } + public function getCreatedAt() + { + return $this->createdAt; + } + public function setCustomAuth($customAuth) + { + $this->customAuth = $customAuth; + } + public function getCustomAuth() + { + return $this->customAuth; + } + public function setDisabled($disabled) + { + $this->disabled = $disabled; + } + public function getDisabled() + { + return $this->disabled; + } + public function setDisplayName($displayName) + { + $this->displayName = $displayName; + } + public function getDisplayName() + { + return $this->displayName; + } + public function setEmail($email) + { + $this->email = $email; + } + public function getEmail() + { + return $this->email; + } + public function setEmailVerified($emailVerified) + { + $this->emailVerified = $emailVerified; + } + public function getEmailVerified() + { + return $this->emailVerified; + } + public function setLastLoginAt($lastLoginAt) + { + $this->lastLoginAt = $lastLoginAt; + } + public function getLastLoginAt() + { + return $this->lastLoginAt; + } + public function setLocalId($localId) + { + $this->localId = $localId; + } + public function getLocalId() + { + return $this->localId; + } + public function setPasswordHash($passwordHash) + { + $this->passwordHash = $passwordHash; + } + public function getPasswordHash() + { + return $this->passwordHash; + } + public function setPasswordUpdatedAt($passwordUpdatedAt) + { + $this->passwordUpdatedAt = $passwordUpdatedAt; + } + public function getPasswordUpdatedAt() + { + return $this->passwordUpdatedAt; + } + public function setPhotoUrl($photoUrl) + { + $this->photoUrl = $photoUrl; + } + public function getPhotoUrl() + { + return $this->photoUrl; + } + public function setProviderUserInfo($providerUserInfo) + { + $this->providerUserInfo = $providerUserInfo; + } + public function getProviderUserInfo() + { + return $this->providerUserInfo; + } + public function setRawPassword($rawPassword) + { + $this->rawPassword = $rawPassword; + } + public function getRawPassword() + { + return $this->rawPassword; + } + public function setSalt($salt) + { + $this->salt = $salt; + } + public function getSalt() + { + return $this->salt; + } + public function setScreenName($screenName) + { + $this->screenName = $screenName; + } + public function getScreenName() + { + return $this->screenName; + } + public function setValidSince($validSince) + { + $this->validSince = $validSince; + } + public function getValidSince() + { + return $this->validSince; + } + public function setVersion($version) + { + $this->version = $version; + } + public function getVersion() + { + return $this->version; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/IdentityToolkit/UserInfoProviderUserInfo.php b/vendor/google/apiclient-services/src/Google/Service/IdentityToolkit/UserInfoProviderUserInfo.php new file mode 100644 index 00000000..cf333f8b --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/IdentityToolkit/UserInfoProviderUserInfo.php @@ -0,0 +1,84 @@ +displayName = $displayName; + } + public function getDisplayName() + { + return $this->displayName; + } + public function setEmail($email) + { + $this->email = $email; + } + public function getEmail() + { + return $this->email; + } + public function setFederatedId($federatedId) + { + $this->federatedId = $federatedId; + } + public function getFederatedId() + { + return $this->federatedId; + } + public function setPhotoUrl($photoUrl) + { + $this->photoUrl = $photoUrl; + } + public function getPhotoUrl() + { + return $this->photoUrl; + } + public function setProviderId($providerId) + { + $this->providerId = $providerId; + } + public function getProviderId() + { + return $this->providerId; + } + public function setRawId($rawId) + { + $this->rawId = $rawId; + } + public function getRawId() + { + return $this->rawId; + } + public function setScreenName($screenName) + { + $this->screenName = $screenName; + } + public function getScreenName() + { + return $this->screenName; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/IdentityToolkit/VerifyAssertionResponse.php b/vendor/google/apiclient-services/src/Google/Service/IdentityToolkit/VerifyAssertionResponse.php new file mode 100644 index 00000000..bb3fbfb3 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/IdentityToolkit/VerifyAssertionResponse.php @@ -0,0 +1,373 @@ +action = $action; + } + public function getAction() + { + return $this->action; + } + public function setAppInstallationUrl($appInstallationUrl) + { + $this->appInstallationUrl = $appInstallationUrl; + } + public function getAppInstallationUrl() + { + return $this->appInstallationUrl; + } + public function setAppScheme($appScheme) + { + $this->appScheme = $appScheme; + } + public function getAppScheme() + { + return $this->appScheme; + } + public function setContext($context) + { + $this->context = $context; + } + public function getContext() + { + return $this->context; + } + public function setDateOfBirth($dateOfBirth) + { + $this->dateOfBirth = $dateOfBirth; + } + public function getDateOfBirth() + { + return $this->dateOfBirth; + } + public function setDisplayName($displayName) + { + $this->displayName = $displayName; + } + public function getDisplayName() + { + return $this->displayName; + } + public function setEmail($email) + { + $this->email = $email; + } + public function getEmail() + { + return $this->email; + } + public function setEmailRecycled($emailRecycled) + { + $this->emailRecycled = $emailRecycled; + } + public function getEmailRecycled() + { + return $this->emailRecycled; + } + public function setEmailVerified($emailVerified) + { + $this->emailVerified = $emailVerified; + } + public function getEmailVerified() + { + return $this->emailVerified; + } + public function setErrorMessage($errorMessage) + { + $this->errorMessage = $errorMessage; + } + public function getErrorMessage() + { + return $this->errorMessage; + } + public function setExpiresIn($expiresIn) + { + $this->expiresIn = $expiresIn; + } + public function getExpiresIn() + { + return $this->expiresIn; + } + public function setFederatedId($federatedId) + { + $this->federatedId = $federatedId; + } + public function getFederatedId() + { + return $this->federatedId; + } + public function setFirstName($firstName) + { + $this->firstName = $firstName; + } + public function getFirstName() + { + return $this->firstName; + } + public function setFullName($fullName) + { + $this->fullName = $fullName; + } + public function getFullName() + { + return $this->fullName; + } + public function setIdToken($idToken) + { + $this->idToken = $idToken; + } + public function getIdToken() + { + return $this->idToken; + } + public function setInputEmail($inputEmail) + { + $this->inputEmail = $inputEmail; + } + public function getInputEmail() + { + return $this->inputEmail; + } + public function setIsNewUser($isNewUser) + { + $this->isNewUser = $isNewUser; + } + public function getIsNewUser() + { + return $this->isNewUser; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setLanguage($language) + { + $this->language = $language; + } + public function getLanguage() + { + return $this->language; + } + public function setLastName($lastName) + { + $this->lastName = $lastName; + } + public function getLastName() + { + return $this->lastName; + } + public function setLocalId($localId) + { + $this->localId = $localId; + } + public function getLocalId() + { + return $this->localId; + } + public function setNeedConfirmation($needConfirmation) + { + $this->needConfirmation = $needConfirmation; + } + public function getNeedConfirmation() + { + return $this->needConfirmation; + } + public function setNeedEmail($needEmail) + { + $this->needEmail = $needEmail; + } + public function getNeedEmail() + { + return $this->needEmail; + } + public function setNickName($nickName) + { + $this->nickName = $nickName; + } + public function getNickName() + { + return $this->nickName; + } + public function setOauthAccessToken($oauthAccessToken) + { + $this->oauthAccessToken = $oauthAccessToken; + } + public function getOauthAccessToken() + { + return $this->oauthAccessToken; + } + public function setOauthAuthorizationCode($oauthAuthorizationCode) + { + $this->oauthAuthorizationCode = $oauthAuthorizationCode; + } + public function getOauthAuthorizationCode() + { + return $this->oauthAuthorizationCode; + } + public function setOauthExpireIn($oauthExpireIn) + { + $this->oauthExpireIn = $oauthExpireIn; + } + public function getOauthExpireIn() + { + return $this->oauthExpireIn; + } + public function setOauthIdToken($oauthIdToken) + { + $this->oauthIdToken = $oauthIdToken; + } + public function getOauthIdToken() + { + return $this->oauthIdToken; + } + public function setOauthRequestToken($oauthRequestToken) + { + $this->oauthRequestToken = $oauthRequestToken; + } + public function getOauthRequestToken() + { + return $this->oauthRequestToken; + } + public function setOauthScope($oauthScope) + { + $this->oauthScope = $oauthScope; + } + public function getOauthScope() + { + return $this->oauthScope; + } + public function setOauthTokenSecret($oauthTokenSecret) + { + $this->oauthTokenSecret = $oauthTokenSecret; + } + public function getOauthTokenSecret() + { + return $this->oauthTokenSecret; + } + public function setOriginalEmail($originalEmail) + { + $this->originalEmail = $originalEmail; + } + public function getOriginalEmail() + { + return $this->originalEmail; + } + public function setPhotoUrl($photoUrl) + { + $this->photoUrl = $photoUrl; + } + public function getPhotoUrl() + { + return $this->photoUrl; + } + public function setProviderId($providerId) + { + $this->providerId = $providerId; + } + public function getProviderId() + { + return $this->providerId; + } + public function setRawUserInfo($rawUserInfo) + { + $this->rawUserInfo = $rawUserInfo; + } + public function getRawUserInfo() + { + return $this->rawUserInfo; + } + public function setRefreshToken($refreshToken) + { + $this->refreshToken = $refreshToken; + } + public function getRefreshToken() + { + return $this->refreshToken; + } + public function setScreenName($screenName) + { + $this->screenName = $screenName; + } + public function getScreenName() + { + return $this->screenName; + } + public function setTimeZone($timeZone) + { + $this->timeZone = $timeZone; + } + public function getTimeZone() + { + return $this->timeZone; + } + public function setVerifiedProvider($verifiedProvider) + { + $this->verifiedProvider = $verifiedProvider; + } + public function getVerifiedProvider() + { + return $this->verifiedProvider; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/IdentityToolkit/VerifyCustomTokenResponse.php b/vendor/google/apiclient-services/src/Google/Service/IdentityToolkit/VerifyCustomTokenResponse.php new file mode 100644 index 00000000..046b1bae --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/IdentityToolkit/VerifyCustomTokenResponse.php @@ -0,0 +1,57 @@ +expiresIn = $expiresIn; + } + public function getExpiresIn() + { + return $this->expiresIn; + } + public function setIdToken($idToken) + { + $this->idToken = $idToken; + } + public function getIdToken() + { + return $this->idToken; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setRefreshToken($refreshToken) + { + $this->refreshToken = $refreshToken; + } + public function getRefreshToken() + { + return $this->refreshToken; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/IdentityToolkit/VerifyPasswordResponse.php b/vendor/google/apiclient-services/src/Google/Service/IdentityToolkit/VerifyPasswordResponse.php new file mode 100644 index 00000000..852a0b94 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/IdentityToolkit/VerifyPasswordResponse.php @@ -0,0 +1,129 @@ +displayName = $displayName; + } + public function getDisplayName() + { + return $this->displayName; + } + public function setEmail($email) + { + $this->email = $email; + } + public function getEmail() + { + return $this->email; + } + public function setExpiresIn($expiresIn) + { + $this->expiresIn = $expiresIn; + } + public function getExpiresIn() + { + return $this->expiresIn; + } + public function setIdToken($idToken) + { + $this->idToken = $idToken; + } + public function getIdToken() + { + return $this->idToken; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setLocalId($localId) + { + $this->localId = $localId; + } + public function getLocalId() + { + return $this->localId; + } + public function setOauthAccessToken($oauthAccessToken) + { + $this->oauthAccessToken = $oauthAccessToken; + } + public function getOauthAccessToken() + { + return $this->oauthAccessToken; + } + public function setOauthAuthorizationCode($oauthAuthorizationCode) + { + $this->oauthAuthorizationCode = $oauthAuthorizationCode; + } + public function getOauthAuthorizationCode() + { + return $this->oauthAuthorizationCode; + } + public function setOauthExpireIn($oauthExpireIn) + { + $this->oauthExpireIn = $oauthExpireIn; + } + public function getOauthExpireIn() + { + return $this->oauthExpireIn; + } + public function setPhotoUrl($photoUrl) + { + $this->photoUrl = $photoUrl; + } + public function getPhotoUrl() + { + return $this->photoUrl; + } + public function setRefreshToken($refreshToken) + { + $this->refreshToken = $refreshToken; + } + public function getRefreshToken() + { + return $this->refreshToken; + } + public function setRegistered($registered) + { + $this->registered = $registered; + } + public function getRegistered() + { + return $this->registered; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Kgsearch.php b/vendor/google/apiclient-services/src/Google/Service/Kgsearch.php new file mode 100644 index 00000000..6234175a --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Kgsearch.php @@ -0,0 +1,97 @@ + + * Searches the Google Knowledge Graph for entities.

+ * + *

+ * For more information about this service, see the API + * Documentation + *

+ * + * @author Google, Inc. + */ +class Google_Service_Kgsearch extends Google_Service +{ + + + public $entities; + + /** + * Constructs the internal representation of the Kgsearch service. + * + * @param Google_Client $client + */ + public function __construct(Google_Client $client) + { + parent::__construct($client); + $this->rootUrl = 'https://kgsearch.googleapis.com/'; + $this->servicePath = ''; + $this->version = 'v1'; + $this->serviceName = 'kgsearch'; + + $this->entities = new Google_Service_Kgsearch_Resource_Entities( + $this, + $this->serviceName, + 'entities', + array( + 'methods' => array( + 'search' => array( + 'path' => 'v1/entities:search', + 'httpMethod' => 'GET', + 'parameters' => array( + 'types' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + ), + 'indent' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + 'languages' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + ), + 'ids' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + ), + 'limit' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'prefix' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + 'query' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Kgsearch/Resource/Entities.php b/vendor/google/apiclient-services/src/Google/Service/Kgsearch/Resource/Entities.php new file mode 100644 index 00000000..f236faef --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Kgsearch/Resource/Entities.php @@ -0,0 +1,56 @@ + + * $kgsearchService = new Google_Service_Kgsearch(...); + * $entities = $kgsearchService->entities; + * + */ +class Google_Service_Kgsearch_Resource_Entities extends Google_Service_Resource +{ + /** + * Searches Knowledge Graph for entities that match the constraints. A list of + * matched entities will be returned in response, which will be in JSON-LD + * format and compatible with http://schema.org (entities.search) + * + * @param array $optParams Optional parameters. + * + * @opt_param string types Restricts returned entities with these types, e.g. + * Person (as defined in http://schema.org/Person). If multiple types are + * specified, returned entities will contain one or more of these types. + * @opt_param bool indent Enables indenting of json results. + * @opt_param string languages The list of language codes (defined in ISO 693) + * to run the query with, e.g. 'en'. + * @opt_param string ids The list of entity id to be used for search instead of + * query string. To specify multiple ids in the HTTP request, repeat the + * parameter in the URL as in ...?ids=A=B + * @opt_param int limit Limits the number of entities to be returned. + * @opt_param bool prefix Enables prefix match against names and aliases of + * entities + * @opt_param string query The literal query string for search. + * @return Google_Service_Kgsearch_SearchResponse + */ + public function search($optParams = array()) + { + $params = array(); + $params = array_merge($params, $optParams); + return $this->call('search', array($params), "Google_Service_Kgsearch_SearchResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Kgsearch/SearchResponse.php b/vendor/google/apiclient-services/src/Google/Service/Kgsearch/SearchResponse.php new file mode 100644 index 00000000..50df00da --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Kgsearch/SearchResponse.php @@ -0,0 +1,53 @@ + "@context", + "type" => "@type", + ); + public $context; + public $type; + public $itemListElement; + + public function setContext($context) + { + $this->context = $context; + } + public function getContext() + { + return $this->context; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } + public function setItemListElement($itemListElement) + { + $this->itemListElement = $itemListElement; + } + public function getItemListElement() + { + return $this->itemListElement; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Licensing.php b/vendor/google/apiclient-services/src/Google/Service/Licensing.php new file mode 100644 index 00000000..185d261a --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Licensing.php @@ -0,0 +1,209 @@ + + * Views and manages licenses for your domain.

+ * + *

+ * For more information about this service, see the API + * Documentation + *

+ * + * @author Google, Inc. + */ +class Google_Service_Licensing extends Google_Service +{ + /** View and manage G Suite licenses for your domain. */ + const APPS_LICENSING = + "https://www.googleapis.com/auth/apps.licensing"; + + public $licenseAssignments; + + /** + * Constructs the internal representation of the Licensing service. + * + * @param Google_Client $client + */ + public function __construct(Google_Client $client) + { + parent::__construct($client); + $this->rootUrl = 'https://www.googleapis.com/'; + $this->servicePath = 'apps/licensing/v1/product/'; + $this->version = 'v1'; + $this->serviceName = 'licensing'; + + $this->licenseAssignments = new Google_Service_Licensing_Resource_LicenseAssignments( + $this, + $this->serviceName, + 'licenseAssignments', + array( + 'methods' => array( + 'delete' => array( + 'path' => '{productId}/sku/{skuId}/user/{userId}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'productId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'skuId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'userId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'get' => array( + 'path' => '{productId}/sku/{skuId}/user/{userId}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'productId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'skuId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'userId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'insert' => array( + 'path' => '{productId}/sku/{skuId}/user', + 'httpMethod' => 'POST', + 'parameters' => array( + 'productId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'skuId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'listForProduct' => array( + 'path' => '{productId}/users', + 'httpMethod' => 'GET', + 'parameters' => array( + 'productId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'customerId' => array( + 'location' => 'query', + 'type' => 'string', + 'required' => true, + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'listForProductAndSku' => array( + 'path' => '{productId}/sku/{skuId}/users', + 'httpMethod' => 'GET', + 'parameters' => array( + 'productId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'skuId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'customerId' => array( + 'location' => 'query', + 'type' => 'string', + 'required' => true, + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'patch' => array( + 'path' => '{productId}/sku/{skuId}/user/{userId}', + 'httpMethod' => 'PATCH', + 'parameters' => array( + 'productId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'skuId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'userId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'update' => array( + 'path' => '{productId}/sku/{skuId}/user/{userId}', + 'httpMethod' => 'PUT', + 'parameters' => array( + 'productId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'skuId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'userId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Licensing/LicenseAssignment.php b/vendor/google/apiclient-services/src/Google/Service/Licensing/LicenseAssignment.php new file mode 100644 index 00000000..af379726 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Licensing/LicenseAssignment.php @@ -0,0 +1,93 @@ +etags = $etags; + } + public function getEtags() + { + return $this->etags; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setProductId($productId) + { + $this->productId = $productId; + } + public function getProductId() + { + return $this->productId; + } + public function setProductName($productName) + { + $this->productName = $productName; + } + public function getProductName() + { + return $this->productName; + } + public function setSelfLink($selfLink) + { + $this->selfLink = $selfLink; + } + public function getSelfLink() + { + return $this->selfLink; + } + public function setSkuId($skuId) + { + $this->skuId = $skuId; + } + public function getSkuId() + { + return $this->skuId; + } + public function setSkuName($skuName) + { + $this->skuName = $skuName; + } + public function getSkuName() + { + return $this->skuName; + } + public function setUserId($userId) + { + $this->userId = $userId; + } + public function getUserId() + { + return $this->userId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Licensing/LicenseAssignmentInsert.php b/vendor/google/apiclient-services/src/Google/Service/Licensing/LicenseAssignmentInsert.php new file mode 100644 index 00000000..cad54f06 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Licensing/LicenseAssignmentInsert.php @@ -0,0 +1,30 @@ +userId = $userId; + } + public function getUserId() + { + return $this->userId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Licensing/LicenseAssignmentList.php b/vendor/google/apiclient-services/src/Google/Service/Licensing/LicenseAssignmentList.php new file mode 100644 index 00000000..5ba88e52 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Licensing/LicenseAssignmentList.php @@ -0,0 +1,59 @@ +etag = $etag; + } + public function getEtag() + { + return $this->etag; + } + public function setItems($items) + { + $this->items = $items; + } + public function getItems() + { + return $this->items; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Licensing/Resource/LicenseAssignments.php b/vendor/google/apiclient-services/src/Google/Service/Licensing/Resource/LicenseAssignments.php new file mode 100644 index 00000000..70350d7e --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Licensing/Resource/LicenseAssignments.php @@ -0,0 +1,149 @@ + + * $licensingService = new Google_Service_Licensing(...); + * $licenseAssignments = $licensingService->licenseAssignments; + * + */ +class Google_Service_Licensing_Resource_LicenseAssignments extends Google_Service_Resource +{ + /** + * Revoke License. (licenseAssignments.delete) + * + * @param string $productId Name for product + * @param string $skuId Name for sku + * @param string $userId email id or unique Id of the user + * @param array $optParams Optional parameters. + */ + public function delete($productId, $skuId, $userId, $optParams = array()) + { + $params = array('productId' => $productId, 'skuId' => $skuId, 'userId' => $userId); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params)); + } + /** + * Get license assignment of a particular product and sku for a user + * (licenseAssignments.get) + * + * @param string $productId Name for product + * @param string $skuId Name for sku + * @param string $userId email id or unique Id of the user + * @param array $optParams Optional parameters. + * @return Google_Service_Licensing_LicenseAssignment + */ + public function get($productId, $skuId, $userId, $optParams = array()) + { + $params = array('productId' => $productId, 'skuId' => $skuId, 'userId' => $userId); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Licensing_LicenseAssignment"); + } + /** + * Assign License. (licenseAssignments.insert) + * + * @param string $productId Name for product + * @param string $skuId Name for sku + * @param Google_Service_Licensing_LicenseAssignmentInsert $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Licensing_LicenseAssignment + */ + public function insert($productId, $skuId, Google_Service_Licensing_LicenseAssignmentInsert $postBody, $optParams = array()) + { + $params = array('productId' => $productId, 'skuId' => $skuId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('insert', array($params), "Google_Service_Licensing_LicenseAssignment"); + } + /** + * List license assignments for given product of the customer. + * (licenseAssignments.listForProduct) + * + * @param string $productId Name for product + * @param string $customerId CustomerId represents the customer for whom + * licenseassignments are queried + * @param array $optParams Optional parameters. + * + * @opt_param string maxResults Maximum number of campaigns to return at one + * time. Must be positive. Optional. Default value is 100. + * @opt_param string pageToken Token to fetch the next page.Optional. By default + * server will return first page + * @return Google_Service_Licensing_LicenseAssignmentList + */ + public function listForProduct($productId, $customerId, $optParams = array()) + { + $params = array('productId' => $productId, 'customerId' => $customerId); + $params = array_merge($params, $optParams); + return $this->call('listForProduct', array($params), "Google_Service_Licensing_LicenseAssignmentList"); + } + /** + * List license assignments for given product and sku of the customer. + * (licenseAssignments.listForProductAndSku) + * + * @param string $productId Name for product + * @param string $skuId Name for sku + * @param string $customerId CustomerId represents the customer for whom + * licenseassignments are queried + * @param array $optParams Optional parameters. + * + * @opt_param string maxResults Maximum number of campaigns to return at one + * time. Must be positive. Optional. Default value is 100. + * @opt_param string pageToken Token to fetch the next page.Optional. By default + * server will return first page + * @return Google_Service_Licensing_LicenseAssignmentList + */ + public function listForProductAndSku($productId, $skuId, $customerId, $optParams = array()) + { + $params = array('productId' => $productId, 'skuId' => $skuId, 'customerId' => $customerId); + $params = array_merge($params, $optParams); + return $this->call('listForProductAndSku', array($params), "Google_Service_Licensing_LicenseAssignmentList"); + } + /** + * Assign License. This method supports patch semantics. + * (licenseAssignments.patch) + * + * @param string $productId Name for product + * @param string $skuId Name for sku for which license would be revoked + * @param string $userId email id or unique Id of the user + * @param Google_Service_Licensing_LicenseAssignment $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Licensing_LicenseAssignment + */ + public function patch($productId, $skuId, $userId, Google_Service_Licensing_LicenseAssignment $postBody, $optParams = array()) + { + $params = array('productId' => $productId, 'skuId' => $skuId, 'userId' => $userId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('patch', array($params), "Google_Service_Licensing_LicenseAssignment"); + } + /** + * Assign License. (licenseAssignments.update) + * + * @param string $productId Name for product + * @param string $skuId Name for sku for which license would be revoked + * @param string $userId email id or unique Id of the user + * @param Google_Service_Licensing_LicenseAssignment $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Licensing_LicenseAssignment + */ + public function update($productId, $skuId, $userId, Google_Service_Licensing_LicenseAssignment $postBody, $optParams = array()) + { + $params = array('productId' => $productId, 'skuId' => $skuId, 'userId' => $userId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('update', array($params), "Google_Service_Licensing_LicenseAssignment"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Logging.php b/vendor/google/apiclient-services/src/Google/Service/Logging.php new file mode 100644 index 00000000..92e9d14a --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Logging.php @@ -0,0 +1,640 @@ + + * Writes log entries and manages your Stackdriver Logging configuration.

+ * + *

+ * For more information about this service, see the API + * Documentation + *

+ * + * @author Google, Inc. + */ +class Google_Service_Logging extends Google_Service +{ + /** View and manage your data across Google Cloud Platform services. */ + const CLOUD_PLATFORM = + "https://www.googleapis.com/auth/cloud-platform"; + /** View your data across Google Cloud Platform services. */ + const CLOUD_PLATFORM_READ_ONLY = + "https://www.googleapis.com/auth/cloud-platform.read-only"; + /** Administrate log data for your projects. */ + const LOGGING_ADMIN = + "https://www.googleapis.com/auth/logging.admin"; + /** View log data for your projects. */ + const LOGGING_READ = + "https://www.googleapis.com/auth/logging.read"; + /** Submit log data for your projects. */ + const LOGGING_WRITE = + "https://www.googleapis.com/auth/logging.write"; + + public $billingAccounts_logs; + public $billingAccounts_sinks; + public $entries; + public $folders_logs; + public $folders_sinks; + public $monitoredResourceDescriptors; + public $organizations_logs; + public $organizations_sinks; + public $projects_logs; + public $projects_metrics; + public $projects_sinks; + + /** + * Constructs the internal representation of the Logging service. + * + * @param Google_Client $client + */ + public function __construct(Google_Client $client) + { + parent::__construct($client); + $this->rootUrl = 'https://logging.googleapis.com/'; + $this->servicePath = ''; + $this->version = 'v2'; + $this->serviceName = 'logging'; + + $this->billingAccounts_logs = new Google_Service_Logging_Resource_BillingAccountsLogs( + $this, + $this->serviceName, + 'logs', + array( + 'methods' => array( + 'delete' => array( + 'path' => 'v2/{+logName}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'logName' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'v2/{+parent}/logs', + 'httpMethod' => 'GET', + 'parameters' => array( + 'parent' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pageSize' => array( + 'location' => 'query', + 'type' => 'integer', + ), + ), + ), + ) + ) + ); + $this->billingAccounts_sinks = new Google_Service_Logging_Resource_BillingAccountsSinks( + $this, + $this->serviceName, + 'sinks', + array( + 'methods' => array( + 'create' => array( + 'path' => 'v2/{+parent}/sinks', + 'httpMethod' => 'POST', + 'parameters' => array( + 'parent' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'uniqueWriterIdentity' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + ), + ),'delete' => array( + 'path' => 'v2/{+sinkName}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'sinkName' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'get' => array( + 'path' => 'v2/{+sinkName}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'sinkName' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'v2/{+parent}/sinks', + 'httpMethod' => 'GET', + 'parameters' => array( + 'parent' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pageSize' => array( + 'location' => 'query', + 'type' => 'integer', + ), + ), + ),'update' => array( + 'path' => 'v2/{+sinkName}', + 'httpMethod' => 'PUT', + 'parameters' => array( + 'sinkName' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'uniqueWriterIdentity' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + ), + ), + ) + ) + ); + $this->entries = new Google_Service_Logging_Resource_Entries( + $this, + $this->serviceName, + 'entries', + array( + 'methods' => array( + 'list' => array( + 'path' => 'v2/entries:list', + 'httpMethod' => 'POST', + 'parameters' => array(), + ),'write' => array( + 'path' => 'v2/entries:write', + 'httpMethod' => 'POST', + 'parameters' => array(), + ), + ) + ) + ); + $this->folders_logs = new Google_Service_Logging_Resource_FoldersLogs( + $this, + $this->serviceName, + 'logs', + array( + 'methods' => array( + 'delete' => array( + 'path' => 'v2/{+logName}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'logName' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'v2/{+parent}/logs', + 'httpMethod' => 'GET', + 'parameters' => array( + 'parent' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pageSize' => array( + 'location' => 'query', + 'type' => 'integer', + ), + ), + ), + ) + ) + ); + $this->folders_sinks = new Google_Service_Logging_Resource_FoldersSinks( + $this, + $this->serviceName, + 'sinks', + array( + 'methods' => array( + 'create' => array( + 'path' => 'v2/{+parent}/sinks', + 'httpMethod' => 'POST', + 'parameters' => array( + 'parent' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'uniqueWriterIdentity' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + ), + ),'delete' => array( + 'path' => 'v2/{+sinkName}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'sinkName' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'get' => array( + 'path' => 'v2/{+sinkName}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'sinkName' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'v2/{+parent}/sinks', + 'httpMethod' => 'GET', + 'parameters' => array( + 'parent' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pageSize' => array( + 'location' => 'query', + 'type' => 'integer', + ), + ), + ),'update' => array( + 'path' => 'v2/{+sinkName}', + 'httpMethod' => 'PUT', + 'parameters' => array( + 'sinkName' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'uniqueWriterIdentity' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + ), + ), + ) + ) + ); + $this->monitoredResourceDescriptors = new Google_Service_Logging_Resource_MonitoredResourceDescriptors( + $this, + $this->serviceName, + 'monitoredResourceDescriptors', + array( + 'methods' => array( + 'list' => array( + 'path' => 'v2/monitoredResourceDescriptors', + 'httpMethod' => 'GET', + 'parameters' => array( + 'pageSize' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + $this->organizations_logs = new Google_Service_Logging_Resource_OrganizationsLogs( + $this, + $this->serviceName, + 'logs', + array( + 'methods' => array( + 'delete' => array( + 'path' => 'v2/{+logName}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'logName' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'v2/{+parent}/logs', + 'httpMethod' => 'GET', + 'parameters' => array( + 'parent' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pageSize' => array( + 'location' => 'query', + 'type' => 'integer', + ), + ), + ), + ) + ) + ); + $this->organizations_sinks = new Google_Service_Logging_Resource_OrganizationsSinks( + $this, + $this->serviceName, + 'sinks', + array( + 'methods' => array( + 'create' => array( + 'path' => 'v2/{+parent}/sinks', + 'httpMethod' => 'POST', + 'parameters' => array( + 'parent' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'uniqueWriterIdentity' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + ), + ),'delete' => array( + 'path' => 'v2/{+sinkName}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'sinkName' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'get' => array( + 'path' => 'v2/{+sinkName}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'sinkName' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'v2/{+parent}/sinks', + 'httpMethod' => 'GET', + 'parameters' => array( + 'parent' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pageSize' => array( + 'location' => 'query', + 'type' => 'integer', + ), + ), + ),'update' => array( + 'path' => 'v2/{+sinkName}', + 'httpMethod' => 'PUT', + 'parameters' => array( + 'sinkName' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'uniqueWriterIdentity' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + ), + ), + ) + ) + ); + $this->projects_logs = new Google_Service_Logging_Resource_ProjectsLogs( + $this, + $this->serviceName, + 'logs', + array( + 'methods' => array( + 'delete' => array( + 'path' => 'v2/{+logName}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'logName' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'v2/{+parent}/logs', + 'httpMethod' => 'GET', + 'parameters' => array( + 'parent' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'pageSize' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + $this->projects_metrics = new Google_Service_Logging_Resource_ProjectsMetrics( + $this, + $this->serviceName, + 'metrics', + array( + 'methods' => array( + 'create' => array( + 'path' => 'v2/{+parent}/metrics', + 'httpMethod' => 'POST', + 'parameters' => array( + 'parent' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'delete' => array( + 'path' => 'v2/{+metricName}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'metricName' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'get' => array( + 'path' => 'v2/{+metricName}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'metricName' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'v2/{+parent}/metrics', + 'httpMethod' => 'GET', + 'parameters' => array( + 'parent' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pageSize' => array( + 'location' => 'query', + 'type' => 'integer', + ), + ), + ),'update' => array( + 'path' => 'v2/{+metricName}', + 'httpMethod' => 'PUT', + 'parameters' => array( + 'metricName' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->projects_sinks = new Google_Service_Logging_Resource_ProjectsSinks( + $this, + $this->serviceName, + 'sinks', + array( + 'methods' => array( + 'create' => array( + 'path' => 'v2/{+parent}/sinks', + 'httpMethod' => 'POST', + 'parameters' => array( + 'parent' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'uniqueWriterIdentity' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + ), + ),'delete' => array( + 'path' => 'v2/{+sinkName}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'sinkName' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'get' => array( + 'path' => 'v2/{+sinkName}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'sinkName' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'v2/{+parent}/sinks', + 'httpMethod' => 'GET', + 'parameters' => array( + 'parent' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pageSize' => array( + 'location' => 'query', + 'type' => 'integer', + ), + ), + ),'update' => array( + 'path' => 'v2/{+sinkName}', + 'httpMethod' => 'PUT', + 'parameters' => array( + 'sinkName' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'uniqueWriterIdentity' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + ), + ), + ) + ) + ); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Logging/HttpRequest.php b/vendor/google/apiclient-services/src/Google/Service/Logging/HttpRequest.php new file mode 100644 index 00000000..cb0962c7 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Logging/HttpRequest.php @@ -0,0 +1,147 @@ +cacheFillBytes = $cacheFillBytes; + } + public function getCacheFillBytes() + { + return $this->cacheFillBytes; + } + public function setCacheHit($cacheHit) + { + $this->cacheHit = $cacheHit; + } + public function getCacheHit() + { + return $this->cacheHit; + } + public function setCacheLookup($cacheLookup) + { + $this->cacheLookup = $cacheLookup; + } + public function getCacheLookup() + { + return $this->cacheLookup; + } + public function setCacheValidatedWithOriginServer($cacheValidatedWithOriginServer) + { + $this->cacheValidatedWithOriginServer = $cacheValidatedWithOriginServer; + } + public function getCacheValidatedWithOriginServer() + { + return $this->cacheValidatedWithOriginServer; + } + public function setLatency($latency) + { + $this->latency = $latency; + } + public function getLatency() + { + return $this->latency; + } + public function setReferer($referer) + { + $this->referer = $referer; + } + public function getReferer() + { + return $this->referer; + } + public function setRemoteIp($remoteIp) + { + $this->remoteIp = $remoteIp; + } + public function getRemoteIp() + { + return $this->remoteIp; + } + public function setRequestMethod($requestMethod) + { + $this->requestMethod = $requestMethod; + } + public function getRequestMethod() + { + return $this->requestMethod; + } + public function setRequestSize($requestSize) + { + $this->requestSize = $requestSize; + } + public function getRequestSize() + { + return $this->requestSize; + } + public function setRequestUrl($requestUrl) + { + $this->requestUrl = $requestUrl; + } + public function getRequestUrl() + { + return $this->requestUrl; + } + public function setResponseSize($responseSize) + { + $this->responseSize = $responseSize; + } + public function getResponseSize() + { + return $this->responseSize; + } + public function setServerIp($serverIp) + { + $this->serverIp = $serverIp; + } + public function getServerIp() + { + return $this->serverIp; + } + public function setStatus($status) + { + $this->status = $status; + } + public function getStatus() + { + return $this->status; + } + public function setUserAgent($userAgent) + { + $this->userAgent = $userAgent; + } + public function getUserAgent() + { + return $this->userAgent; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Logging/LabelDescriptor.php b/vendor/google/apiclient-services/src/Google/Service/Logging/LabelDescriptor.php new file mode 100644 index 00000000..0aa9de13 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Logging/LabelDescriptor.php @@ -0,0 +1,48 @@ +description = $description; + } + public function getDescription() + { + return $this->description; + } + public function setKey($key) + { + $this->key = $key; + } + public function getKey() + { + return $this->key; + } + public function setValueType($valueType) + { + $this->valueType = $valueType; + } + public function getValueType() + { + return $this->valueType; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Logging/ListLogEntriesRequest.php b/vendor/google/apiclient-services/src/Google/Service/Logging/ListLogEntriesRequest.php new file mode 100644 index 00000000..3cd2612d --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Logging/ListLogEntriesRequest.php @@ -0,0 +1,76 @@ +filter = $filter; + } + public function getFilter() + { + return $this->filter; + } + public function setOrderBy($orderBy) + { + $this->orderBy = $orderBy; + } + public function getOrderBy() + { + return $this->orderBy; + } + public function setPageSize($pageSize) + { + $this->pageSize = $pageSize; + } + public function getPageSize() + { + return $this->pageSize; + } + public function setPageToken($pageToken) + { + $this->pageToken = $pageToken; + } + public function getPageToken() + { + return $this->pageToken; + } + public function setProjectIds($projectIds) + { + $this->projectIds = $projectIds; + } + public function getProjectIds() + { + return $this->projectIds; + } + public function setResourceNames($resourceNames) + { + $this->resourceNames = $resourceNames; + } + public function getResourceNames() + { + return $this->resourceNames; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Logging/ListLogEntriesResponse.php b/vendor/google/apiclient-services/src/Google/Service/Logging/ListLogEntriesResponse.php new file mode 100644 index 00000000..15e9ff5a --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Logging/ListLogEntriesResponse.php @@ -0,0 +1,41 @@ +entries = $entries; + } + public function getEntries() + { + return $this->entries; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Logging/ListLogMetricsResponse.php b/vendor/google/apiclient-services/src/Google/Service/Logging/ListLogMetricsResponse.php new file mode 100644 index 00000000..44b32d47 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Logging/ListLogMetricsResponse.php @@ -0,0 +1,41 @@ +metrics = $metrics; + } + public function getMetrics() + { + return $this->metrics; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Logging/ListLogsResponse.php b/vendor/google/apiclient-services/src/Google/Service/Logging/ListLogsResponse.php new file mode 100644 index 00000000..13447c36 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Logging/ListLogsResponse.php @@ -0,0 +1,40 @@ +logNames = $logNames; + } + public function getLogNames() + { + return $this->logNames; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Logging/ListMonitoredResourceDescriptorsResponse.php b/vendor/google/apiclient-services/src/Google/Service/Logging/ListMonitoredResourceDescriptorsResponse.php new file mode 100644 index 00000000..0c542a22 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Logging/ListMonitoredResourceDescriptorsResponse.php @@ -0,0 +1,41 @@ +nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setResourceDescriptors($resourceDescriptors) + { + $this->resourceDescriptors = $resourceDescriptors; + } + public function getResourceDescriptors() + { + return $this->resourceDescriptors; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Logging/ListSinksResponse.php b/vendor/google/apiclient-services/src/Google/Service/Logging/ListSinksResponse.php new file mode 100644 index 00000000..80d72d83 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Logging/ListSinksResponse.php @@ -0,0 +1,41 @@ +nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setSinks($sinks) + { + $this->sinks = $sinks; + } + public function getSinks() + { + return $this->sinks; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Logging/LogEntry.php b/vendor/google/apiclient-services/src/Google/Service/Logging/LogEntry.php new file mode 100644 index 00000000..8d92b5ff --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Logging/LogEntry.php @@ -0,0 +1,142 @@ +httpRequest = $httpRequest; + } + public function getHttpRequest() + { + return $this->httpRequest; + } + public function setInsertId($insertId) + { + $this->insertId = $insertId; + } + public function getInsertId() + { + return $this->insertId; + } + public function setJsonPayload($jsonPayload) + { + $this->jsonPayload = $jsonPayload; + } + public function getJsonPayload() + { + return $this->jsonPayload; + } + public function setLabels($labels) + { + $this->labels = $labels; + } + public function getLabels() + { + return $this->labels; + } + public function setLogName($logName) + { + $this->logName = $logName; + } + public function getLogName() + { + return $this->logName; + } + public function setOperation(Google_Service_Logging_LogEntryOperation $operation) + { + $this->operation = $operation; + } + public function getOperation() + { + return $this->operation; + } + public function setProtoPayload($protoPayload) + { + $this->protoPayload = $protoPayload; + } + public function getProtoPayload() + { + return $this->protoPayload; + } + public function setResource(Google_Service_Logging_MonitoredResource $resource) + { + $this->resource = $resource; + } + public function getResource() + { + return $this->resource; + } + public function setSeverity($severity) + { + $this->severity = $severity; + } + public function getSeverity() + { + return $this->severity; + } + public function setSourceLocation(Google_Service_Logging_LogEntrySourceLocation $sourceLocation) + { + $this->sourceLocation = $sourceLocation; + } + public function getSourceLocation() + { + return $this->sourceLocation; + } + public function setTextPayload($textPayload) + { + $this->textPayload = $textPayload; + } + public function getTextPayload() + { + return $this->textPayload; + } + public function setTimestamp($timestamp) + { + $this->timestamp = $timestamp; + } + public function getTimestamp() + { + return $this->timestamp; + } + public function setTrace($trace) + { + $this->trace = $trace; + } + public function getTrace() + { + return $this->trace; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Logging/LogEntryOperation.php b/vendor/google/apiclient-services/src/Google/Service/Logging/LogEntryOperation.php new file mode 100644 index 00000000..53879c17 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Logging/LogEntryOperation.php @@ -0,0 +1,57 @@ +first = $first; + } + public function getFirst() + { + return $this->first; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setLast($last) + { + $this->last = $last; + } + public function getLast() + { + return $this->last; + } + public function setProducer($producer) + { + $this->producer = $producer; + } + public function getProducer() + { + return $this->producer; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Logging/LogEntrySourceLocation.php b/vendor/google/apiclient-services/src/Google/Service/Logging/LogEntrySourceLocation.php new file mode 100644 index 00000000..fa8f01ce --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Logging/LogEntrySourceLocation.php @@ -0,0 +1,48 @@ +file = $file; + } + public function getFile() + { + return $this->file; + } + public function setFunction($function) + { + $this->function = $function; + } + public function getFunction() + { + return $this->function; + } + public function setLine($line) + { + $this->line = $line; + } + public function getLine() + { + return $this->line; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Logging/LogLine.php b/vendor/google/apiclient-services/src/Google/Service/Logging/LogLine.php new file mode 100644 index 00000000..3b37e402 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Logging/LogLine.php @@ -0,0 +1,58 @@ +logMessage = $logMessage; + } + public function getLogMessage() + { + return $this->logMessage; + } + public function setSeverity($severity) + { + $this->severity = $severity; + } + public function getSeverity() + { + return $this->severity; + } + public function setSourceLocation(Google_Service_Logging_SourceLocation $sourceLocation) + { + $this->sourceLocation = $sourceLocation; + } + public function getSourceLocation() + { + return $this->sourceLocation; + } + public function setTime($time) + { + $this->time = $time; + } + public function getTime() + { + return $this->time; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Logging/LogMetric.php b/vendor/google/apiclient-services/src/Google/Service/Logging/LogMetric.php new file mode 100644 index 00000000..42213432 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Logging/LogMetric.php @@ -0,0 +1,57 @@ +description = $description; + } + public function getDescription() + { + return $this->description; + } + public function setFilter($filter) + { + $this->filter = $filter; + } + public function getFilter() + { + return $this->filter; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setVersion($version) + { + $this->version = $version; + } + public function getVersion() + { + return $this->version; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Logging/LogSink.php b/vendor/google/apiclient-services/src/Google/Service/Logging/LogSink.php new file mode 100644 index 00000000..2beb19da --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Logging/LogSink.php @@ -0,0 +1,84 @@ +destination = $destination; + } + public function getDestination() + { + return $this->destination; + } + public function setEndTime($endTime) + { + $this->endTime = $endTime; + } + public function getEndTime() + { + return $this->endTime; + } + public function setFilter($filter) + { + $this->filter = $filter; + } + public function getFilter() + { + return $this->filter; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setOutputVersionFormat($outputVersionFormat) + { + $this->outputVersionFormat = $outputVersionFormat; + } + public function getOutputVersionFormat() + { + return $this->outputVersionFormat; + } + public function setStartTime($startTime) + { + $this->startTime = $startTime; + } + public function getStartTime() + { + return $this->startTime; + } + public function setWriterIdentity($writerIdentity) + { + $this->writerIdentity = $writerIdentity; + } + public function getWriterIdentity() + { + return $this->writerIdentity; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Logging/LoggingEmpty.php b/vendor/google/apiclient-services/src/Google/Service/Logging/LoggingEmpty.php new file mode 100644 index 00000000..e74cf7f3 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Logging/LoggingEmpty.php @@ -0,0 +1,20 @@ +labels = $labels; + } + public function getLabels() + { + return $this->labels; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Logging/MonitoredResourceDescriptor.php b/vendor/google/apiclient-services/src/Google/Service/Logging/MonitoredResourceDescriptor.php new file mode 100644 index 00000000..e3df9370 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Logging/MonitoredResourceDescriptor.php @@ -0,0 +1,68 @@ +description = $description; + } + public function getDescription() + { + return $this->description; + } + public function setDisplayName($displayName) + { + $this->displayName = $displayName; + } + public function getDisplayName() + { + return $this->displayName; + } + public function setLabels($labels) + { + $this->labels = $labels; + } + public function getLabels() + { + return $this->labels; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Logging/RequestLog.php b/vendor/google/apiclient-services/src/Google/Service/Logging/RequestLog.php new file mode 100644 index 00000000..e9cbdd6a --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Logging/RequestLog.php @@ -0,0 +1,312 @@ +appEngineRelease = $appEngineRelease; + } + public function getAppEngineRelease() + { + return $this->appEngineRelease; + } + public function setAppId($appId) + { + $this->appId = $appId; + } + public function getAppId() + { + return $this->appId; + } + public function setCost($cost) + { + $this->cost = $cost; + } + public function getCost() + { + return $this->cost; + } + public function setEndTime($endTime) + { + $this->endTime = $endTime; + } + public function getEndTime() + { + return $this->endTime; + } + public function setFinished($finished) + { + $this->finished = $finished; + } + public function getFinished() + { + return $this->finished; + } + public function setFirst($first) + { + $this->first = $first; + } + public function getFirst() + { + return $this->first; + } + public function setHost($host) + { + $this->host = $host; + } + public function getHost() + { + return $this->host; + } + public function setHttpVersion($httpVersion) + { + $this->httpVersion = $httpVersion; + } + public function getHttpVersion() + { + return $this->httpVersion; + } + public function setInstanceId($instanceId) + { + $this->instanceId = $instanceId; + } + public function getInstanceId() + { + return $this->instanceId; + } + public function setInstanceIndex($instanceIndex) + { + $this->instanceIndex = $instanceIndex; + } + public function getInstanceIndex() + { + return $this->instanceIndex; + } + public function setIp($ip) + { + $this->ip = $ip; + } + public function getIp() + { + return $this->ip; + } + public function setLatency($latency) + { + $this->latency = $latency; + } + public function getLatency() + { + return $this->latency; + } + public function setLine($line) + { + $this->line = $line; + } + public function getLine() + { + return $this->line; + } + public function setMegaCycles($megaCycles) + { + $this->megaCycles = $megaCycles; + } + public function getMegaCycles() + { + return $this->megaCycles; + } + public function setMethod($method) + { + $this->method = $method; + } + public function getMethod() + { + return $this->method; + } + public function setModuleId($moduleId) + { + $this->moduleId = $moduleId; + } + public function getModuleId() + { + return $this->moduleId; + } + public function setNickname($nickname) + { + $this->nickname = $nickname; + } + public function getNickname() + { + return $this->nickname; + } + public function setPendingTime($pendingTime) + { + $this->pendingTime = $pendingTime; + } + public function getPendingTime() + { + return $this->pendingTime; + } + public function setReferrer($referrer) + { + $this->referrer = $referrer; + } + public function getReferrer() + { + return $this->referrer; + } + public function setRequestId($requestId) + { + $this->requestId = $requestId; + } + public function getRequestId() + { + return $this->requestId; + } + public function setResource($resource) + { + $this->resource = $resource; + } + public function getResource() + { + return $this->resource; + } + public function setResponseSize($responseSize) + { + $this->responseSize = $responseSize; + } + public function getResponseSize() + { + return $this->responseSize; + } + public function setSourceReference($sourceReference) + { + $this->sourceReference = $sourceReference; + } + public function getSourceReference() + { + return $this->sourceReference; + } + public function setStartTime($startTime) + { + $this->startTime = $startTime; + } + public function getStartTime() + { + return $this->startTime; + } + public function setStatus($status) + { + $this->status = $status; + } + public function getStatus() + { + return $this->status; + } + public function setTaskName($taskName) + { + $this->taskName = $taskName; + } + public function getTaskName() + { + return $this->taskName; + } + public function setTaskQueueName($taskQueueName) + { + $this->taskQueueName = $taskQueueName; + } + public function getTaskQueueName() + { + return $this->taskQueueName; + } + public function setTraceId($traceId) + { + $this->traceId = $traceId; + } + public function getTraceId() + { + return $this->traceId; + } + public function setUrlMapEntry($urlMapEntry) + { + $this->urlMapEntry = $urlMapEntry; + } + public function getUrlMapEntry() + { + return $this->urlMapEntry; + } + public function setUserAgent($userAgent) + { + $this->userAgent = $userAgent; + } + public function getUserAgent() + { + return $this->userAgent; + } + public function setVersionId($versionId) + { + $this->versionId = $versionId; + } + public function getVersionId() + { + return $this->versionId; + } + public function setWasLoadingRequest($wasLoadingRequest) + { + $this->wasLoadingRequest = $wasLoadingRequest; + } + public function getWasLoadingRequest() + { + return $this->wasLoadingRequest; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Logging/Resource/BillingAccounts.php b/vendor/google/apiclient-services/src/Google/Service/Logging/Resource/BillingAccounts.php new file mode 100644 index 00000000..9a3d49ec --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Logging/Resource/BillingAccounts.php @@ -0,0 +1,28 @@ + + * $loggingService = new Google_Service_Logging(...); + * $billingAccounts = $loggingService->billingAccounts; + * + */ +class Google_Service_Logging_Resource_BillingAccounts extends Google_Service_Resource +{ +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Logging/Resource/BillingAccountsLogs.php b/vendor/google/apiclient-services/src/Google/Service/Logging/Resource/BillingAccountsLogs.php new file mode 100644 index 00000000..90105a79 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Logging/Resource/BillingAccountsLogs.php @@ -0,0 +1,74 @@ + + * $loggingService = new Google_Service_Logging(...); + * $logs = $loggingService->logs; + * + */ +class Google_Service_Logging_Resource_BillingAccountsLogs extends Google_Service_Resource +{ + /** + * Deletes all the log entries in a log. The log reappears if it receives new + * entries. Log entries written shortly before the delete operation might not be + * deleted. (logs.delete) + * + * @param string $logName Required. The resource name of the log to delete: + * "projects/[PROJECT_ID]/logs/[LOG_ID]" + * "organizations/[ORGANIZATION_ID]/logs/[LOG_ID]" + * "billingAccounts/[BILLING_ACCOUNT_ID]/logs/[LOG_ID]" + * "folders/[FOLDER_ID]/logs/[LOG_ID]" [LOG_ID] must be URL-encoded. For + * example, "projects/my-project-id/logs/syslog", "organizations/1234567890/logs + * /cloudresourcemanager.googleapis.com%2Factivity". For more information about + * log names, see LogEntry. + * @param array $optParams Optional parameters. + * @return Google_Service_Logging_LoggingEmpty + */ + public function delete($logName, $optParams = array()) + { + $params = array('logName' => $logName); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params), "Google_Service_Logging_LoggingEmpty"); + } + /** + * Lists the logs in projects, organizations, folders, or billing accounts. Only + * logs that have entries are listed. (logs.listBillingAccountsLogs) + * + * @param string $parent Required. The resource name that owns the logs: + * "projects/[PROJECT_ID]" "organizations/[ORGANIZATION_ID]" + * "billingAccounts/[BILLING_ACCOUNT_ID]" "folders/[FOLDER_ID]" + * @param array $optParams Optional parameters. + * + * @opt_param string pageToken Optional. If present, then retrieve the next + * batch of results from the preceding call to this method. pageToken must be + * the value of nextPageToken from the previous response. The values of other + * method parameters should be identical to those in the previous call. + * @opt_param int pageSize Optional. The maximum number of results to return + * from this request. Non-positive values are ignored. The presence of + * nextPageToken in the response indicates that more results might be available. + * @return Google_Service_Logging_ListLogsResponse + */ + public function listBillingAccountsLogs($parent, $optParams = array()) + { + $params = array('parent' => $parent); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Logging_ListLogsResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Logging/Resource/BillingAccountsSinks.php b/vendor/google/apiclient-services/src/Google/Service/Logging/Resource/BillingAccountsSinks.php new file mode 100644 index 00000000..a2bf7980 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Logging/Resource/BillingAccountsSinks.php @@ -0,0 +1,155 @@ + + * $loggingService = new Google_Service_Logging(...); + * $sinks = $loggingService->sinks; + * + */ +class Google_Service_Logging_Resource_BillingAccountsSinks extends Google_Service_Resource +{ + /** + * Creates a sink that exports specified log entries to a destination. The + * export of newly-ingested log entries begins immediately, unless the current + * time is outside the sink's start and end times or the sink's writer_identity + * is not permitted to write to the destination. A sink can export log entries + * only from the resource owning the sink. (sinks.create) + * + * @param string $parent Required. The resource in which to create the sink: + * "projects/[PROJECT_ID]" "organizations/[ORGANIZATION_ID]" + * "billingAccounts/[BILLING_ACCOUNT_ID]" "folders/[FOLDER_ID]" Examples: + * "projects/my-logging-project", "organizations/123456789". + * @param Google_Service_Logging_LogSink $postBody + * @param array $optParams Optional parameters. + * + * @opt_param bool uniqueWriterIdentity Optional. Determines the kind of IAM + * identity returned as writer_identity in the new sink. If this value is + * omitted or set to false, and if the sink's parent is a project, then the + * value returned as writer_identity is the same group or service account used + * by Stackdriver Logging before the addition of writer identities to this API. + * The sink's destination must be in the same project as the sink itself.If this + * field is set to true, or if the sink is owned by a non-project resource such + * as an organization, then the value of writer_identity will be a unique + * service account used only for exports from the new sink. For more + * information, see writer_identity in LogSink. + * @return Google_Service_Logging_LogSink + */ + public function create($parent, Google_Service_Logging_LogSink $postBody, $optParams = array()) + { + $params = array('parent' => $parent, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('create', array($params), "Google_Service_Logging_LogSink"); + } + /** + * Deletes a sink. If the sink has a unique writer_identity, then that service + * account is also deleted. (sinks.delete) + * + * @param string $sinkName Required. The full resource name of the sink to + * delete, including the parent resource and the sink identifier: + * "projects/[PROJECT_ID]/sinks/[SINK_ID]" + * "organizations/[ORGANIZATION_ID]/sinks/[SINK_ID]" + * "billingAccounts/[BILLING_ACCOUNT_ID]/sinks/[SINK_ID]" + * "folders/[FOLDER_ID]/sinks/[SINK_ID]" Example: "projects/my-project-id/sinks + * /my-sink-id". + * @param array $optParams Optional parameters. + * @return Google_Service_Logging_LoggingEmpty + */ + public function delete($sinkName, $optParams = array()) + { + $params = array('sinkName' => $sinkName); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params), "Google_Service_Logging_LoggingEmpty"); + } + /** + * Gets a sink. (sinks.get) + * + * @param string $sinkName Required. The resource name of the sink: + * "projects/[PROJECT_ID]/sinks/[SINK_ID]" + * "organizations/[ORGANIZATION_ID]/sinks/[SINK_ID]" + * "billingAccounts/[BILLING_ACCOUNT_ID]/sinks/[SINK_ID]" + * "folders/[FOLDER_ID]/sinks/[SINK_ID]" Example: "projects/my-project-id/sinks + * /my-sink-id". + * @param array $optParams Optional parameters. + * @return Google_Service_Logging_LogSink + */ + public function get($sinkName, $optParams = array()) + { + $params = array('sinkName' => $sinkName); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Logging_LogSink"); + } + /** + * Lists sinks. (sinks.listBillingAccountsSinks) + * + * @param string $parent Required. The parent resource whose sinks are to be + * listed: "projects/[PROJECT_ID]" "organizations/[ORGANIZATION_ID]" + * "billingAccounts/[BILLING_ACCOUNT_ID]" "folders/[FOLDER_ID]" + * @param array $optParams Optional parameters. + * + * @opt_param string pageToken Optional. If present, then retrieve the next + * batch of results from the preceding call to this method. pageToken must be + * the value of nextPageToken from the previous response. The values of other + * method parameters should be identical to those in the previous call. + * @opt_param int pageSize Optional. The maximum number of results to return + * from this request. Non-positive values are ignored. The presence of + * nextPageToken in the response indicates that more results might be available. + * @return Google_Service_Logging_ListSinksResponse + */ + public function listBillingAccountsSinks($parent, $optParams = array()) + { + $params = array('parent' => $parent); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Logging_ListSinksResponse"); + } + /** + * Updates a sink. If the named sink doesn't exist, then this method is + * identical to sinks.create. If the named sink does exist, then this method + * replaces the following fields in the existing sink with values from the new + * sink: destination, filter, output_version_format, start_time, and end_time. + * The updated filter might also have a new writer_identity; see the + * unique_writer_identity field. (sinks.update) + * + * @param string $sinkName Required. The full resource name of the sink to + * update, including the parent resource and the sink identifier: + * "projects/[PROJECT_ID]/sinks/[SINK_ID]" + * "organizations/[ORGANIZATION_ID]/sinks/[SINK_ID]" + * "billingAccounts/[BILLING_ACCOUNT_ID]/sinks/[SINK_ID]" + * "folders/[FOLDER_ID]/sinks/[SINK_ID]" Example: "projects/my-project-id/sinks + * /my-sink-id". + * @param Google_Service_Logging_LogSink $postBody + * @param array $optParams Optional parameters. + * + * @opt_param bool uniqueWriterIdentity Optional. See sinks.create for a + * description of this field. When updating a sink, the effect of this field on + * the value of writer_identity in the updated sink depends on both the old and + * new values of this field: If the old and new values of this field are both + * false or both true, then there is no change to the sink's writer_identity. If + * the old value is false and the new value is true, then writer_identity is + * changed to a unique service account. It is an error if the old value is true + * and the new value is false. + * @return Google_Service_Logging_LogSink + */ + public function update($sinkName, Google_Service_Logging_LogSink $postBody, $optParams = array()) + { + $params = array('sinkName' => $sinkName, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('update', array($params), "Google_Service_Logging_LogSink"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Logging/Resource/Entries.php b/vendor/google/apiclient-services/src/Google/Service/Logging/Resource/Entries.php new file mode 100644 index 00000000..f7984800 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Logging/Resource/Entries.php @@ -0,0 +1,56 @@ + + * $loggingService = new Google_Service_Logging(...); + * $entries = $loggingService->entries; + * + */ +class Google_Service_Logging_Resource_Entries extends Google_Service_Resource +{ + /** + * Lists log entries. Use this method to retrieve log entries from Stackdriver + * Logging. For ways to export log entries, see Exporting Logs. + * (entries.listEntries) + * + * @param Google_Service_Logging_ListLogEntriesRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Logging_ListLogEntriesResponse + */ + public function listEntries(Google_Service_Logging_ListLogEntriesRequest $postBody, $optParams = array()) + { + $params = array('postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Logging_ListLogEntriesResponse"); + } + /** + * Writes log entries to Stackdriver Logging. (entries.write) + * + * @param Google_Service_Logging_WriteLogEntriesRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Logging_WriteLogEntriesResponse + */ + public function write(Google_Service_Logging_WriteLogEntriesRequest $postBody, $optParams = array()) + { + $params = array('postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('write', array($params), "Google_Service_Logging_WriteLogEntriesResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Logging/Resource/Folders.php b/vendor/google/apiclient-services/src/Google/Service/Logging/Resource/Folders.php new file mode 100644 index 00000000..e0949582 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Logging/Resource/Folders.php @@ -0,0 +1,28 @@ + + * $loggingService = new Google_Service_Logging(...); + * $folders = $loggingService->folders; + * + */ +class Google_Service_Logging_Resource_Folders extends Google_Service_Resource +{ +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Logging/Resource/FoldersLogs.php b/vendor/google/apiclient-services/src/Google/Service/Logging/Resource/FoldersLogs.php new file mode 100644 index 00000000..2687daba --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Logging/Resource/FoldersLogs.php @@ -0,0 +1,74 @@ + + * $loggingService = new Google_Service_Logging(...); + * $logs = $loggingService->logs; + * + */ +class Google_Service_Logging_Resource_FoldersLogs extends Google_Service_Resource +{ + /** + * Deletes all the log entries in a log. The log reappears if it receives new + * entries. Log entries written shortly before the delete operation might not be + * deleted. (logs.delete) + * + * @param string $logName Required. The resource name of the log to delete: + * "projects/[PROJECT_ID]/logs/[LOG_ID]" + * "organizations/[ORGANIZATION_ID]/logs/[LOG_ID]" + * "billingAccounts/[BILLING_ACCOUNT_ID]/logs/[LOG_ID]" + * "folders/[FOLDER_ID]/logs/[LOG_ID]" [LOG_ID] must be URL-encoded. For + * example, "projects/my-project-id/logs/syslog", "organizations/1234567890/logs + * /cloudresourcemanager.googleapis.com%2Factivity". For more information about + * log names, see LogEntry. + * @param array $optParams Optional parameters. + * @return Google_Service_Logging_LoggingEmpty + */ + public function delete($logName, $optParams = array()) + { + $params = array('logName' => $logName); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params), "Google_Service_Logging_LoggingEmpty"); + } + /** + * Lists the logs in projects, organizations, folders, or billing accounts. Only + * logs that have entries are listed. (logs.listFoldersLogs) + * + * @param string $parent Required. The resource name that owns the logs: + * "projects/[PROJECT_ID]" "organizations/[ORGANIZATION_ID]" + * "billingAccounts/[BILLING_ACCOUNT_ID]" "folders/[FOLDER_ID]" + * @param array $optParams Optional parameters. + * + * @opt_param string pageToken Optional. If present, then retrieve the next + * batch of results from the preceding call to this method. pageToken must be + * the value of nextPageToken from the previous response. The values of other + * method parameters should be identical to those in the previous call. + * @opt_param int pageSize Optional. The maximum number of results to return + * from this request. Non-positive values are ignored. The presence of + * nextPageToken in the response indicates that more results might be available. + * @return Google_Service_Logging_ListLogsResponse + */ + public function listFoldersLogs($parent, $optParams = array()) + { + $params = array('parent' => $parent); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Logging_ListLogsResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Logging/Resource/FoldersSinks.php b/vendor/google/apiclient-services/src/Google/Service/Logging/Resource/FoldersSinks.php new file mode 100644 index 00000000..aec5f660 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Logging/Resource/FoldersSinks.php @@ -0,0 +1,155 @@ + + * $loggingService = new Google_Service_Logging(...); + * $sinks = $loggingService->sinks; + * + */ +class Google_Service_Logging_Resource_FoldersSinks extends Google_Service_Resource +{ + /** + * Creates a sink that exports specified log entries to a destination. The + * export of newly-ingested log entries begins immediately, unless the current + * time is outside the sink's start and end times or the sink's writer_identity + * is not permitted to write to the destination. A sink can export log entries + * only from the resource owning the sink. (sinks.create) + * + * @param string $parent Required. The resource in which to create the sink: + * "projects/[PROJECT_ID]" "organizations/[ORGANIZATION_ID]" + * "billingAccounts/[BILLING_ACCOUNT_ID]" "folders/[FOLDER_ID]" Examples: + * "projects/my-logging-project", "organizations/123456789". + * @param Google_Service_Logging_LogSink $postBody + * @param array $optParams Optional parameters. + * + * @opt_param bool uniqueWriterIdentity Optional. Determines the kind of IAM + * identity returned as writer_identity in the new sink. If this value is + * omitted or set to false, and if the sink's parent is a project, then the + * value returned as writer_identity is the same group or service account used + * by Stackdriver Logging before the addition of writer identities to this API. + * The sink's destination must be in the same project as the sink itself.If this + * field is set to true, or if the sink is owned by a non-project resource such + * as an organization, then the value of writer_identity will be a unique + * service account used only for exports from the new sink. For more + * information, see writer_identity in LogSink. + * @return Google_Service_Logging_LogSink + */ + public function create($parent, Google_Service_Logging_LogSink $postBody, $optParams = array()) + { + $params = array('parent' => $parent, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('create', array($params), "Google_Service_Logging_LogSink"); + } + /** + * Deletes a sink. If the sink has a unique writer_identity, then that service + * account is also deleted. (sinks.delete) + * + * @param string $sinkName Required. The full resource name of the sink to + * delete, including the parent resource and the sink identifier: + * "projects/[PROJECT_ID]/sinks/[SINK_ID]" + * "organizations/[ORGANIZATION_ID]/sinks/[SINK_ID]" + * "billingAccounts/[BILLING_ACCOUNT_ID]/sinks/[SINK_ID]" + * "folders/[FOLDER_ID]/sinks/[SINK_ID]" Example: "projects/my-project-id/sinks + * /my-sink-id". + * @param array $optParams Optional parameters. + * @return Google_Service_Logging_LoggingEmpty + */ + public function delete($sinkName, $optParams = array()) + { + $params = array('sinkName' => $sinkName); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params), "Google_Service_Logging_LoggingEmpty"); + } + /** + * Gets a sink. (sinks.get) + * + * @param string $sinkName Required. The resource name of the sink: + * "projects/[PROJECT_ID]/sinks/[SINK_ID]" + * "organizations/[ORGANIZATION_ID]/sinks/[SINK_ID]" + * "billingAccounts/[BILLING_ACCOUNT_ID]/sinks/[SINK_ID]" + * "folders/[FOLDER_ID]/sinks/[SINK_ID]" Example: "projects/my-project-id/sinks + * /my-sink-id". + * @param array $optParams Optional parameters. + * @return Google_Service_Logging_LogSink + */ + public function get($sinkName, $optParams = array()) + { + $params = array('sinkName' => $sinkName); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Logging_LogSink"); + } + /** + * Lists sinks. (sinks.listFoldersSinks) + * + * @param string $parent Required. The parent resource whose sinks are to be + * listed: "projects/[PROJECT_ID]" "organizations/[ORGANIZATION_ID]" + * "billingAccounts/[BILLING_ACCOUNT_ID]" "folders/[FOLDER_ID]" + * @param array $optParams Optional parameters. + * + * @opt_param string pageToken Optional. If present, then retrieve the next + * batch of results from the preceding call to this method. pageToken must be + * the value of nextPageToken from the previous response. The values of other + * method parameters should be identical to those in the previous call. + * @opt_param int pageSize Optional. The maximum number of results to return + * from this request. Non-positive values are ignored. The presence of + * nextPageToken in the response indicates that more results might be available. + * @return Google_Service_Logging_ListSinksResponse + */ + public function listFoldersSinks($parent, $optParams = array()) + { + $params = array('parent' => $parent); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Logging_ListSinksResponse"); + } + /** + * Updates a sink. If the named sink doesn't exist, then this method is + * identical to sinks.create. If the named sink does exist, then this method + * replaces the following fields in the existing sink with values from the new + * sink: destination, filter, output_version_format, start_time, and end_time. + * The updated filter might also have a new writer_identity; see the + * unique_writer_identity field. (sinks.update) + * + * @param string $sinkName Required. The full resource name of the sink to + * update, including the parent resource and the sink identifier: + * "projects/[PROJECT_ID]/sinks/[SINK_ID]" + * "organizations/[ORGANIZATION_ID]/sinks/[SINK_ID]" + * "billingAccounts/[BILLING_ACCOUNT_ID]/sinks/[SINK_ID]" + * "folders/[FOLDER_ID]/sinks/[SINK_ID]" Example: "projects/my-project-id/sinks + * /my-sink-id". + * @param Google_Service_Logging_LogSink $postBody + * @param array $optParams Optional parameters. + * + * @opt_param bool uniqueWriterIdentity Optional. See sinks.create for a + * description of this field. When updating a sink, the effect of this field on + * the value of writer_identity in the updated sink depends on both the old and + * new values of this field: If the old and new values of this field are both + * false or both true, then there is no change to the sink's writer_identity. If + * the old value is false and the new value is true, then writer_identity is + * changed to a unique service account. It is an error if the old value is true + * and the new value is false. + * @return Google_Service_Logging_LogSink + */ + public function update($sinkName, Google_Service_Logging_LogSink $postBody, $optParams = array()) + { + $params = array('sinkName' => $sinkName, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('update', array($params), "Google_Service_Logging_LogSink"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Logging/Resource/MonitoredResourceDescriptors.php b/vendor/google/apiclient-services/src/Google/Service/Logging/Resource/MonitoredResourceDescriptors.php new file mode 100644 index 00000000..3cb8643a --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Logging/Resource/MonitoredResourceDescriptors.php @@ -0,0 +1,49 @@ + + * $loggingService = new Google_Service_Logging(...); + * $monitoredResourceDescriptors = $loggingService->monitoredResourceDescriptors; + * + */ +class Google_Service_Logging_Resource_MonitoredResourceDescriptors extends Google_Service_Resource +{ + /** + * Lists the descriptors for monitored resource types used by Stackdriver + * Logging. (monitoredResourceDescriptors.listMonitoredResourceDescriptors) + * + * @param array $optParams Optional parameters. + * + * @opt_param int pageSize Optional. The maximum number of results to return + * from this request. Non-positive values are ignored. The presence of + * nextPageToken in the response indicates that more results might be available. + * @opt_param string pageToken Optional. If present, then retrieve the next + * batch of results from the preceding call to this method. pageToken must be + * the value of nextPageToken from the previous response. The values of other + * method parameters should be identical to those in the previous call. + * @return Google_Service_Logging_ListMonitoredResourceDescriptorsResponse + */ + public function listMonitoredResourceDescriptors($optParams = array()) + { + $params = array(); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Logging_ListMonitoredResourceDescriptorsResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Logging/Resource/Organizations.php b/vendor/google/apiclient-services/src/Google/Service/Logging/Resource/Organizations.php new file mode 100644 index 00000000..016ced47 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Logging/Resource/Organizations.php @@ -0,0 +1,28 @@ + + * $loggingService = new Google_Service_Logging(...); + * $organizations = $loggingService->organizations; + * + */ +class Google_Service_Logging_Resource_Organizations extends Google_Service_Resource +{ +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Logging/Resource/OrganizationsLogs.php b/vendor/google/apiclient-services/src/Google/Service/Logging/Resource/OrganizationsLogs.php new file mode 100644 index 00000000..f02191a2 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Logging/Resource/OrganizationsLogs.php @@ -0,0 +1,74 @@ + + * $loggingService = new Google_Service_Logging(...); + * $logs = $loggingService->logs; + * + */ +class Google_Service_Logging_Resource_OrganizationsLogs extends Google_Service_Resource +{ + /** + * Deletes all the log entries in a log. The log reappears if it receives new + * entries. Log entries written shortly before the delete operation might not be + * deleted. (logs.delete) + * + * @param string $logName Required. The resource name of the log to delete: + * "projects/[PROJECT_ID]/logs/[LOG_ID]" + * "organizations/[ORGANIZATION_ID]/logs/[LOG_ID]" + * "billingAccounts/[BILLING_ACCOUNT_ID]/logs/[LOG_ID]" + * "folders/[FOLDER_ID]/logs/[LOG_ID]" [LOG_ID] must be URL-encoded. For + * example, "projects/my-project-id/logs/syslog", "organizations/1234567890/logs + * /cloudresourcemanager.googleapis.com%2Factivity". For more information about + * log names, see LogEntry. + * @param array $optParams Optional parameters. + * @return Google_Service_Logging_LoggingEmpty + */ + public function delete($logName, $optParams = array()) + { + $params = array('logName' => $logName); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params), "Google_Service_Logging_LoggingEmpty"); + } + /** + * Lists the logs in projects, organizations, folders, or billing accounts. Only + * logs that have entries are listed. (logs.listOrganizationsLogs) + * + * @param string $parent Required. The resource name that owns the logs: + * "projects/[PROJECT_ID]" "organizations/[ORGANIZATION_ID]" + * "billingAccounts/[BILLING_ACCOUNT_ID]" "folders/[FOLDER_ID]" + * @param array $optParams Optional parameters. + * + * @opt_param string pageToken Optional. If present, then retrieve the next + * batch of results from the preceding call to this method. pageToken must be + * the value of nextPageToken from the previous response. The values of other + * method parameters should be identical to those in the previous call. + * @opt_param int pageSize Optional. The maximum number of results to return + * from this request. Non-positive values are ignored. The presence of + * nextPageToken in the response indicates that more results might be available. + * @return Google_Service_Logging_ListLogsResponse + */ + public function listOrganizationsLogs($parent, $optParams = array()) + { + $params = array('parent' => $parent); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Logging_ListLogsResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Logging/Resource/OrganizationsSinks.php b/vendor/google/apiclient-services/src/Google/Service/Logging/Resource/OrganizationsSinks.php new file mode 100644 index 00000000..352d2f74 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Logging/Resource/OrganizationsSinks.php @@ -0,0 +1,155 @@ + + * $loggingService = new Google_Service_Logging(...); + * $sinks = $loggingService->sinks; + * + */ +class Google_Service_Logging_Resource_OrganizationsSinks extends Google_Service_Resource +{ + /** + * Creates a sink that exports specified log entries to a destination. The + * export of newly-ingested log entries begins immediately, unless the current + * time is outside the sink's start and end times or the sink's writer_identity + * is not permitted to write to the destination. A sink can export log entries + * only from the resource owning the sink. (sinks.create) + * + * @param string $parent Required. The resource in which to create the sink: + * "projects/[PROJECT_ID]" "organizations/[ORGANIZATION_ID]" + * "billingAccounts/[BILLING_ACCOUNT_ID]" "folders/[FOLDER_ID]" Examples: + * "projects/my-logging-project", "organizations/123456789". + * @param Google_Service_Logging_LogSink $postBody + * @param array $optParams Optional parameters. + * + * @opt_param bool uniqueWriterIdentity Optional. Determines the kind of IAM + * identity returned as writer_identity in the new sink. If this value is + * omitted or set to false, and if the sink's parent is a project, then the + * value returned as writer_identity is the same group or service account used + * by Stackdriver Logging before the addition of writer identities to this API. + * The sink's destination must be in the same project as the sink itself.If this + * field is set to true, or if the sink is owned by a non-project resource such + * as an organization, then the value of writer_identity will be a unique + * service account used only for exports from the new sink. For more + * information, see writer_identity in LogSink. + * @return Google_Service_Logging_LogSink + */ + public function create($parent, Google_Service_Logging_LogSink $postBody, $optParams = array()) + { + $params = array('parent' => $parent, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('create', array($params), "Google_Service_Logging_LogSink"); + } + /** + * Deletes a sink. If the sink has a unique writer_identity, then that service + * account is also deleted. (sinks.delete) + * + * @param string $sinkName Required. The full resource name of the sink to + * delete, including the parent resource and the sink identifier: + * "projects/[PROJECT_ID]/sinks/[SINK_ID]" + * "organizations/[ORGANIZATION_ID]/sinks/[SINK_ID]" + * "billingAccounts/[BILLING_ACCOUNT_ID]/sinks/[SINK_ID]" + * "folders/[FOLDER_ID]/sinks/[SINK_ID]" Example: "projects/my-project-id/sinks + * /my-sink-id". + * @param array $optParams Optional parameters. + * @return Google_Service_Logging_LoggingEmpty + */ + public function delete($sinkName, $optParams = array()) + { + $params = array('sinkName' => $sinkName); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params), "Google_Service_Logging_LoggingEmpty"); + } + /** + * Gets a sink. (sinks.get) + * + * @param string $sinkName Required. The resource name of the sink: + * "projects/[PROJECT_ID]/sinks/[SINK_ID]" + * "organizations/[ORGANIZATION_ID]/sinks/[SINK_ID]" + * "billingAccounts/[BILLING_ACCOUNT_ID]/sinks/[SINK_ID]" + * "folders/[FOLDER_ID]/sinks/[SINK_ID]" Example: "projects/my-project-id/sinks + * /my-sink-id". + * @param array $optParams Optional parameters. + * @return Google_Service_Logging_LogSink + */ + public function get($sinkName, $optParams = array()) + { + $params = array('sinkName' => $sinkName); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Logging_LogSink"); + } + /** + * Lists sinks. (sinks.listOrganizationsSinks) + * + * @param string $parent Required. The parent resource whose sinks are to be + * listed: "projects/[PROJECT_ID]" "organizations/[ORGANIZATION_ID]" + * "billingAccounts/[BILLING_ACCOUNT_ID]" "folders/[FOLDER_ID]" + * @param array $optParams Optional parameters. + * + * @opt_param string pageToken Optional. If present, then retrieve the next + * batch of results from the preceding call to this method. pageToken must be + * the value of nextPageToken from the previous response. The values of other + * method parameters should be identical to those in the previous call. + * @opt_param int pageSize Optional. The maximum number of results to return + * from this request. Non-positive values are ignored. The presence of + * nextPageToken in the response indicates that more results might be available. + * @return Google_Service_Logging_ListSinksResponse + */ + public function listOrganizationsSinks($parent, $optParams = array()) + { + $params = array('parent' => $parent); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Logging_ListSinksResponse"); + } + /** + * Updates a sink. If the named sink doesn't exist, then this method is + * identical to sinks.create. If the named sink does exist, then this method + * replaces the following fields in the existing sink with values from the new + * sink: destination, filter, output_version_format, start_time, and end_time. + * The updated filter might also have a new writer_identity; see the + * unique_writer_identity field. (sinks.update) + * + * @param string $sinkName Required. The full resource name of the sink to + * update, including the parent resource and the sink identifier: + * "projects/[PROJECT_ID]/sinks/[SINK_ID]" + * "organizations/[ORGANIZATION_ID]/sinks/[SINK_ID]" + * "billingAccounts/[BILLING_ACCOUNT_ID]/sinks/[SINK_ID]" + * "folders/[FOLDER_ID]/sinks/[SINK_ID]" Example: "projects/my-project-id/sinks + * /my-sink-id". + * @param Google_Service_Logging_LogSink $postBody + * @param array $optParams Optional parameters. + * + * @opt_param bool uniqueWriterIdentity Optional. See sinks.create for a + * description of this field. When updating a sink, the effect of this field on + * the value of writer_identity in the updated sink depends on both the old and + * new values of this field: If the old and new values of this field are both + * false or both true, then there is no change to the sink's writer_identity. If + * the old value is false and the new value is true, then writer_identity is + * changed to a unique service account. It is an error if the old value is true + * and the new value is false. + * @return Google_Service_Logging_LogSink + */ + public function update($sinkName, Google_Service_Logging_LogSink $postBody, $optParams = array()) + { + $params = array('sinkName' => $sinkName, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('update', array($params), "Google_Service_Logging_LogSink"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Logging/Resource/Projects.php b/vendor/google/apiclient-services/src/Google/Service/Logging/Resource/Projects.php new file mode 100644 index 00000000..22dae1b2 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Logging/Resource/Projects.php @@ -0,0 +1,28 @@ + + * $loggingService = new Google_Service_Logging(...); + * $projects = $loggingService->projects; + * + */ +class Google_Service_Logging_Resource_Projects extends Google_Service_Resource +{ +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Logging/Resource/ProjectsLogs.php b/vendor/google/apiclient-services/src/Google/Service/Logging/Resource/ProjectsLogs.php new file mode 100644 index 00000000..d1bd323d --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Logging/Resource/ProjectsLogs.php @@ -0,0 +1,74 @@ + + * $loggingService = new Google_Service_Logging(...); + * $logs = $loggingService->logs; + * + */ +class Google_Service_Logging_Resource_ProjectsLogs extends Google_Service_Resource +{ + /** + * Deletes all the log entries in a log. The log reappears if it receives new + * entries. Log entries written shortly before the delete operation might not be + * deleted. (logs.delete) + * + * @param string $logName Required. The resource name of the log to delete: + * "projects/[PROJECT_ID]/logs/[LOG_ID]" + * "organizations/[ORGANIZATION_ID]/logs/[LOG_ID]" + * "billingAccounts/[BILLING_ACCOUNT_ID]/logs/[LOG_ID]" + * "folders/[FOLDER_ID]/logs/[LOG_ID]" [LOG_ID] must be URL-encoded. For + * example, "projects/my-project-id/logs/syslog", "organizations/1234567890/logs + * /cloudresourcemanager.googleapis.com%2Factivity". For more information about + * log names, see LogEntry. + * @param array $optParams Optional parameters. + * @return Google_Service_Logging_LoggingEmpty + */ + public function delete($logName, $optParams = array()) + { + $params = array('logName' => $logName); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params), "Google_Service_Logging_LoggingEmpty"); + } + /** + * Lists the logs in projects, organizations, folders, or billing accounts. Only + * logs that have entries are listed. (logs.listProjectsLogs) + * + * @param string $parent Required. The resource name that owns the logs: + * "projects/[PROJECT_ID]" "organizations/[ORGANIZATION_ID]" + * "billingAccounts/[BILLING_ACCOUNT_ID]" "folders/[FOLDER_ID]" + * @param array $optParams Optional parameters. + * + * @opt_param int pageSize Optional. The maximum number of results to return + * from this request. Non-positive values are ignored. The presence of + * nextPageToken in the response indicates that more results might be available. + * @opt_param string pageToken Optional. If present, then retrieve the next + * batch of results from the preceding call to this method. pageToken must be + * the value of nextPageToken from the previous response. The values of other + * method parameters should be identical to those in the previous call. + * @return Google_Service_Logging_ListLogsResponse + */ + public function listProjectsLogs($parent, $optParams = array()) + { + $params = array('parent' => $parent); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Logging_ListLogsResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Logging/Resource/ProjectsMetrics.php b/vendor/google/apiclient-services/src/Google/Service/Logging/Resource/ProjectsMetrics.php new file mode 100644 index 00000000..b0919d84 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Logging/Resource/ProjectsMetrics.php @@ -0,0 +1,111 @@ + + * $loggingService = new Google_Service_Logging(...); + * $metrics = $loggingService->metrics; + * + */ +class Google_Service_Logging_Resource_ProjectsMetrics extends Google_Service_Resource +{ + /** + * Creates a logs-based metric. (metrics.create) + * + * @param string $parent The resource name of the project in which to create the + * metric: "projects/[PROJECT_ID]" The new metric must be provided in the + * request. + * @param Google_Service_Logging_LogMetric $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Logging_LogMetric + */ + public function create($parent, Google_Service_Logging_LogMetric $postBody, $optParams = array()) + { + $params = array('parent' => $parent, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('create', array($params), "Google_Service_Logging_LogMetric"); + } + /** + * Deletes a logs-based metric. (metrics.delete) + * + * @param string $metricName The resource name of the metric to delete: + * "projects/[PROJECT_ID]/metrics/[METRIC_ID]" + * @param array $optParams Optional parameters. + * @return Google_Service_Logging_LoggingEmpty + */ + public function delete($metricName, $optParams = array()) + { + $params = array('metricName' => $metricName); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params), "Google_Service_Logging_LoggingEmpty"); + } + /** + * Gets a logs-based metric. (metrics.get) + * + * @param string $metricName The resource name of the desired metric: + * "projects/[PROJECT_ID]/metrics/[METRIC_ID]" + * @param array $optParams Optional parameters. + * @return Google_Service_Logging_LogMetric + */ + public function get($metricName, $optParams = array()) + { + $params = array('metricName' => $metricName); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Logging_LogMetric"); + } + /** + * Lists logs-based metrics. (metrics.listProjectsMetrics) + * + * @param string $parent Required. The name of the project containing the + * metrics: "projects/[PROJECT_ID]" + * @param array $optParams Optional parameters. + * + * @opt_param string pageToken Optional. If present, then retrieve the next + * batch of results from the preceding call to this method. pageToken must be + * the value of nextPageToken from the previous response. The values of other + * method parameters should be identical to those in the previous call. + * @opt_param int pageSize Optional. The maximum number of results to return + * from this request. Non-positive values are ignored. The presence of + * nextPageToken in the response indicates that more results might be available. + * @return Google_Service_Logging_ListLogMetricsResponse + */ + public function listProjectsMetrics($parent, $optParams = array()) + { + $params = array('parent' => $parent); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Logging_ListLogMetricsResponse"); + } + /** + * Creates or updates a logs-based metric. (metrics.update) + * + * @param string $metricName The resource name of the metric to update: + * "projects/[PROJECT_ID]/metrics/[METRIC_ID]" The updated metric must be + * provided in the request and it's name field must be the same as [METRIC_ID] + * If the metric does not exist in [PROJECT_ID], then a new metric is created. + * @param Google_Service_Logging_LogMetric $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Logging_LogMetric + */ + public function update($metricName, Google_Service_Logging_LogMetric $postBody, $optParams = array()) + { + $params = array('metricName' => $metricName, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('update', array($params), "Google_Service_Logging_LogMetric"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Logging/Resource/ProjectsSinks.php b/vendor/google/apiclient-services/src/Google/Service/Logging/Resource/ProjectsSinks.php new file mode 100644 index 00000000..653c03ce --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Logging/Resource/ProjectsSinks.php @@ -0,0 +1,155 @@ + + * $loggingService = new Google_Service_Logging(...); + * $sinks = $loggingService->sinks; + * + */ +class Google_Service_Logging_Resource_ProjectsSinks extends Google_Service_Resource +{ + /** + * Creates a sink that exports specified log entries to a destination. The + * export of newly-ingested log entries begins immediately, unless the current + * time is outside the sink's start and end times or the sink's writer_identity + * is not permitted to write to the destination. A sink can export log entries + * only from the resource owning the sink. (sinks.create) + * + * @param string $parent Required. The resource in which to create the sink: + * "projects/[PROJECT_ID]" "organizations/[ORGANIZATION_ID]" + * "billingAccounts/[BILLING_ACCOUNT_ID]" "folders/[FOLDER_ID]" Examples: + * "projects/my-logging-project", "organizations/123456789". + * @param Google_Service_Logging_LogSink $postBody + * @param array $optParams Optional parameters. + * + * @opt_param bool uniqueWriterIdentity Optional. Determines the kind of IAM + * identity returned as writer_identity in the new sink. If this value is + * omitted or set to false, and if the sink's parent is a project, then the + * value returned as writer_identity is the same group or service account used + * by Stackdriver Logging before the addition of writer identities to this API. + * The sink's destination must be in the same project as the sink itself.If this + * field is set to true, or if the sink is owned by a non-project resource such + * as an organization, then the value of writer_identity will be a unique + * service account used only for exports from the new sink. For more + * information, see writer_identity in LogSink. + * @return Google_Service_Logging_LogSink + */ + public function create($parent, Google_Service_Logging_LogSink $postBody, $optParams = array()) + { + $params = array('parent' => $parent, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('create', array($params), "Google_Service_Logging_LogSink"); + } + /** + * Deletes a sink. If the sink has a unique writer_identity, then that service + * account is also deleted. (sinks.delete) + * + * @param string $sinkName Required. The full resource name of the sink to + * delete, including the parent resource and the sink identifier: + * "projects/[PROJECT_ID]/sinks/[SINK_ID]" + * "organizations/[ORGANIZATION_ID]/sinks/[SINK_ID]" + * "billingAccounts/[BILLING_ACCOUNT_ID]/sinks/[SINK_ID]" + * "folders/[FOLDER_ID]/sinks/[SINK_ID]" Example: "projects/my-project-id/sinks + * /my-sink-id". + * @param array $optParams Optional parameters. + * @return Google_Service_Logging_LoggingEmpty + */ + public function delete($sinkName, $optParams = array()) + { + $params = array('sinkName' => $sinkName); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params), "Google_Service_Logging_LoggingEmpty"); + } + /** + * Gets a sink. (sinks.get) + * + * @param string $sinkName Required. The resource name of the sink: + * "projects/[PROJECT_ID]/sinks/[SINK_ID]" + * "organizations/[ORGANIZATION_ID]/sinks/[SINK_ID]" + * "billingAccounts/[BILLING_ACCOUNT_ID]/sinks/[SINK_ID]" + * "folders/[FOLDER_ID]/sinks/[SINK_ID]" Example: "projects/my-project-id/sinks + * /my-sink-id". + * @param array $optParams Optional parameters. + * @return Google_Service_Logging_LogSink + */ + public function get($sinkName, $optParams = array()) + { + $params = array('sinkName' => $sinkName); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Logging_LogSink"); + } + /** + * Lists sinks. (sinks.listProjectsSinks) + * + * @param string $parent Required. The parent resource whose sinks are to be + * listed: "projects/[PROJECT_ID]" "organizations/[ORGANIZATION_ID]" + * "billingAccounts/[BILLING_ACCOUNT_ID]" "folders/[FOLDER_ID]" + * @param array $optParams Optional parameters. + * + * @opt_param string pageToken Optional. If present, then retrieve the next + * batch of results from the preceding call to this method. pageToken must be + * the value of nextPageToken from the previous response. The values of other + * method parameters should be identical to those in the previous call. + * @opt_param int pageSize Optional. The maximum number of results to return + * from this request. Non-positive values are ignored. The presence of + * nextPageToken in the response indicates that more results might be available. + * @return Google_Service_Logging_ListSinksResponse + */ + public function listProjectsSinks($parent, $optParams = array()) + { + $params = array('parent' => $parent); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Logging_ListSinksResponse"); + } + /** + * Updates a sink. If the named sink doesn't exist, then this method is + * identical to sinks.create. If the named sink does exist, then this method + * replaces the following fields in the existing sink with values from the new + * sink: destination, filter, output_version_format, start_time, and end_time. + * The updated filter might also have a new writer_identity; see the + * unique_writer_identity field. (sinks.update) + * + * @param string $sinkName Required. The full resource name of the sink to + * update, including the parent resource and the sink identifier: + * "projects/[PROJECT_ID]/sinks/[SINK_ID]" + * "organizations/[ORGANIZATION_ID]/sinks/[SINK_ID]" + * "billingAccounts/[BILLING_ACCOUNT_ID]/sinks/[SINK_ID]" + * "folders/[FOLDER_ID]/sinks/[SINK_ID]" Example: "projects/my-project-id/sinks + * /my-sink-id". + * @param Google_Service_Logging_LogSink $postBody + * @param array $optParams Optional parameters. + * + * @opt_param bool uniqueWriterIdentity Optional. See sinks.create for a + * description of this field. When updating a sink, the effect of this field on + * the value of writer_identity in the updated sink depends on both the old and + * new values of this field: If the old and new values of this field are both + * false or both true, then there is no change to the sink's writer_identity. If + * the old value is false and the new value is true, then writer_identity is + * changed to a unique service account. It is an error if the old value is true + * and the new value is false. + * @return Google_Service_Logging_LogSink + */ + public function update($sinkName, Google_Service_Logging_LogSink $postBody, $optParams = array()) + { + $params = array('sinkName' => $sinkName, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('update', array($params), "Google_Service_Logging_LogSink"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Logging/SourceLocation.php b/vendor/google/apiclient-services/src/Google/Service/Logging/SourceLocation.php new file mode 100644 index 00000000..7a61f8e8 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Logging/SourceLocation.php @@ -0,0 +1,48 @@ +file = $file; + } + public function getFile() + { + return $this->file; + } + public function setFunctionName($functionName) + { + $this->functionName = $functionName; + } + public function getFunctionName() + { + return $this->functionName; + } + public function setLine($line) + { + $this->line = $line; + } + public function getLine() + { + return $this->line; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Logging/SourceReference.php b/vendor/google/apiclient-services/src/Google/Service/Logging/SourceReference.php new file mode 100644 index 00000000..ec61ebb6 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Logging/SourceReference.php @@ -0,0 +1,39 @@ +repository = $repository; + } + public function getRepository() + { + return $this->repository; + } + public function setRevisionId($revisionId) + { + $this->revisionId = $revisionId; + } + public function getRevisionId() + { + return $this->revisionId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Logging/Status.php b/vendor/google/apiclient-services/src/Google/Service/Logging/Status.php new file mode 100644 index 00000000..07f225a4 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Logging/Status.php @@ -0,0 +1,49 @@ +code = $code; + } + public function getCode() + { + return $this->code; + } + public function setDetails($details) + { + $this->details = $details; + } + public function getDetails() + { + return $this->details; + } + public function setMessage($message) + { + $this->message = $message; + } + public function getMessage() + { + return $this->message; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Logging/WriteLogEntriesRequest.php b/vendor/google/apiclient-services/src/Google/Service/Logging/WriteLogEntriesRequest.php new file mode 100644 index 00000000..ca6a4000 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Logging/WriteLogEntriesRequest.php @@ -0,0 +1,69 @@ +entries = $entries; + } + public function getEntries() + { + return $this->entries; + } + public function setLabels($labels) + { + $this->labels = $labels; + } + public function getLabels() + { + return $this->labels; + } + public function setLogName($logName) + { + $this->logName = $logName; + } + public function getLogName() + { + return $this->logName; + } + public function setPartialSuccess($partialSuccess) + { + $this->partialSuccess = $partialSuccess; + } + public function getPartialSuccess() + { + return $this->partialSuccess; + } + public function setResource(Google_Service_Logging_MonitoredResource $resource) + { + $this->resource = $resource; + } + public function getResource() + { + return $this->resource; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Logging/WriteLogEntriesResponse.php b/vendor/google/apiclient-services/src/Google/Service/Logging/WriteLogEntriesResponse.php new file mode 100644 index 00000000..1cda65d9 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Logging/WriteLogEntriesResponse.php @@ -0,0 +1,20 @@ + + * The Deployment Manager API allows users to declaratively configure, deploy + * and run complex solutions on the Google Cloud Platform.

+ * + *

+ * For more information about this service, see the API + * Documentation + *

+ * + * @author Google, Inc. + */ +class Google_Service_Manager extends Google_Service +{ + /** View and manage your applications deployed on Google App Engine. */ + const APPENGINE_ADMIN = + "https://www.googleapis.com/auth/appengine.admin"; + /** View and manage your data across Google Cloud Platform services. */ + const CLOUD_PLATFORM = + "https://www.googleapis.com/auth/cloud-platform"; + /** View your data across Google Cloud Platform services. */ + const CLOUD_PLATFORM_READ_ONLY = + "https://www.googleapis.com/auth/cloud-platform.read-only"; + /** View and manage your Google Compute Engine resources. */ + const COMPUTE = + "https://www.googleapis.com/auth/compute"; + /** Manage your data in Google Cloud Storage. */ + const DEVSTORAGE_READ_WRITE = + "https://www.googleapis.com/auth/devstorage.read_write"; + /** View and manage your Google Cloud Platform management resources and deployment status information. */ + const NDEV_CLOUDMAN = + "https://www.googleapis.com/auth/ndev.cloudman"; + /** View your Google Cloud Platform management resources and deployment status information. */ + const NDEV_CLOUDMAN_READONLY = + "https://www.googleapis.com/auth/ndev.cloudman.readonly"; + + public $deployments; + public $templates; + + /** + * Constructs the internal representation of the Manager service. + * + * @param Google_Client $client + */ + public function __construct(Google_Client $client) + { + parent::__construct($client); + $this->rootUrl = 'https://www.googleapis.com/'; + $this->servicePath = 'manager/v1beta2/projects/'; + $this->version = 'v1beta2'; + $this->serviceName = 'manager'; + + $this->deployments = new Google_Service_Manager_DeploymentsResource( + $this, + $this->serviceName, + 'deployments', + array( + 'methods' => array( + 'delete' => array( + 'path' => '{projectId}/regions/{region}/deployments/{deploymentName}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'projectId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'region' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'deploymentName' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'get' => array( + 'path' => '{projectId}/regions/{region}/deployments/{deploymentName}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'projectId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'region' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'deploymentName' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'insert' => array( + 'path' => '{projectId}/regions/{region}/deployments', + 'httpMethod' => 'POST', + 'parameters' => array( + 'projectId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'region' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => '{projectId}/regions/{region}/deployments', + 'httpMethod' => 'GET', + 'parameters' => array( + 'projectId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'region' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + $this->templates = new Google_Service_Manager_TemplatesResource( + $this, + $this->serviceName, + 'templates', + array( + 'methods' => array( + 'delete' => array( + 'path' => '{projectId}/templates/{templateName}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'projectId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'templateName' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'get' => array( + 'path' => '{projectId}/templates/{templateName}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'projectId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'templateName' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'insert' => array( + 'path' => '{projectId}/templates', + 'httpMethod' => 'POST', + 'parameters' => array( + 'projectId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => '{projectId}/templates', + 'httpMethod' => 'GET', + 'parameters' => array( + 'projectId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Manager/AccessConfig.php b/vendor/google/apiclient-services/src/Google/Service/Manager/AccessConfig.php new file mode 100644 index 00000000..23923afc --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Manager/AccessConfig.php @@ -0,0 +1,48 @@ +name = $name; + } + public function getName() + { + return $this->name; + } + public function setNatIp($natIp) + { + $this->natIp = $natIp; + } + public function getNatIp() + { + return $this->natIp; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Manager/Action.php b/vendor/google/apiclient-services/src/Google/Service/Manager/Action.php new file mode 100644 index 00000000..96ff2a02 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Manager/Action.php @@ -0,0 +1,40 @@ +commands = $commands; + } + public function getCommands() + { + return $this->commands; + } + public function setTimeoutMs($timeoutMs) + { + $this->timeoutMs = $timeoutMs; + } + public function getTimeoutMs() + { + return $this->timeoutMs; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Manager/AllowedRule.php b/vendor/google/apiclient-services/src/Google/Service/Manager/AllowedRule.php new file mode 100644 index 00000000..913a2dd8 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Manager/AllowedRule.php @@ -0,0 +1,43 @@ + "IPProtocol", + ); + public $iPProtocol; + public $ports; + + public function setIPProtocol($iPProtocol) + { + $this->iPProtocol = $iPProtocol; + } + public function getIPProtocol() + { + return $this->iPProtocol; + } + public function setPorts($ports) + { + $this->ports = $ports; + } + public function getPorts() + { + return $this->ports; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Manager/AutoscalingModule.php b/vendor/google/apiclient-services/src/Google/Service/Manager/AutoscalingModule.php new file mode 100644 index 00000000..2eb8df7b --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Manager/AutoscalingModule.php @@ -0,0 +1,84 @@ +coolDownPeriodSec = $coolDownPeriodSec; + } + public function getCoolDownPeriodSec() + { + return $this->coolDownPeriodSec; + } + public function setDescription($description) + { + $this->description = $description; + } + public function getDescription() + { + return $this->description; + } + public function setMaxNumReplicas($maxNumReplicas) + { + $this->maxNumReplicas = $maxNumReplicas; + } + public function getMaxNumReplicas() + { + return $this->maxNumReplicas; + } + public function setMinNumReplicas($minNumReplicas) + { + $this->minNumReplicas = $minNumReplicas; + } + public function getMinNumReplicas() + { + return $this->minNumReplicas; + } + public function setSignalType($signalType) + { + $this->signalType = $signalType; + } + public function getSignalType() + { + return $this->signalType; + } + public function setTargetModule($targetModule) + { + $this->targetModule = $targetModule; + } + public function getTargetModule() + { + return $this->targetModule; + } + public function setTargetUtilization($targetUtilization) + { + $this->targetUtilization = $targetUtilization; + } + public function getTargetUtilization() + { + return $this->targetUtilization; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Manager/AutoscalingModuleStatus.php b/vendor/google/apiclient-services/src/Google/Service/Manager/AutoscalingModuleStatus.php new file mode 100644 index 00000000..4c778240 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Manager/AutoscalingModuleStatus.php @@ -0,0 +1,30 @@ +autoscalingConfigUrl = $autoscalingConfigUrl; + } + public function getAutoscalingConfigUrl() + { + return $this->autoscalingConfigUrl; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Manager/DeployState.php b/vendor/google/apiclient-services/src/Google/Service/Manager/DeployState.php new file mode 100644 index 00000000..abdc1837 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Manager/DeployState.php @@ -0,0 +1,39 @@ +details = $details; + } + public function getDetails() + { + return $this->details; + } + public function setStatus($status) + { + $this->status = $status; + } + public function getStatus() + { + return $this->status; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Manager/Deployment.php b/vendor/google/apiclient-services/src/Google/Service/Manager/Deployment.php new file mode 100644 index 00000000..88cff021 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Manager/Deployment.php @@ -0,0 +1,88 @@ +creationDate = $creationDate; + } + public function getCreationDate() + { + return $this->creationDate; + } + public function setDescription($description) + { + $this->description = $description; + } + public function getDescription() + { + return $this->description; + } + public function setModules($modules) + { + $this->modules = $modules; + } + public function getModules() + { + return $this->modules; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setOverrides($overrides) + { + $this->overrides = $overrides; + } + public function getOverrides() + { + return $this->overrides; + } + public function setState(Google_Service_Manager_DeployState $state) + { + $this->state = $state; + } + public function getState() + { + return $this->state; + } + public function setTemplateName($templateName) + { + $this->templateName = $templateName; + } + public function getTemplateName() + { + return $this->templateName; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Manager/DeploymentsListResponse.php b/vendor/google/apiclient-services/src/Google/Service/Manager/DeploymentsListResponse.php new file mode 100644 index 00000000..bd16e823 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Manager/DeploymentsListResponse.php @@ -0,0 +1,41 @@ +nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setResources($resources) + { + $this->resources = $resources; + } + public function getResources() + { + return $this->resources; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Manager/DeploymentsResource.php b/vendor/google/apiclient-services/src/Google/Service/Manager/DeploymentsResource.php new file mode 100644 index 00000000..7f9abcd0 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Manager/DeploymentsResource.php @@ -0,0 +1,92 @@ + + * $managerService = new Google_Service_Manager(...); + * $deployments = $managerService->deployments; + * + */ +class Google_Service_Manager_DeploymentsResource extends Google_Service_Resource +{ + /** + * (deployments.delete) + * + * @param string $projectId + * @param string $region + * @param string $deploymentName + * @param array $optParams Optional parameters. + */ + public function delete($projectId, $region, $deploymentName, $optParams = array()) + { + $params = array('projectId' => $projectId, 'region' => $region, 'deploymentName' => $deploymentName); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params)); + } + /** + * (deployments.get) + * + * @param string $projectId + * @param string $region + * @param string $deploymentName + * @param array $optParams Optional parameters. + * @return Google_Service_Deployment + */ + public function get($projectId, $region, $deploymentName, $optParams = array()) + { + $params = array('projectId' => $projectId, 'region' => $region, 'deploymentName' => $deploymentName); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Manager_Deployment"); + } + /** + * (deployments.insert) + * + * @param string $projectId + * @param string $region + * @param Google_Deployment $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Deployment + */ + public function insert($projectId, $region, Google_Service_Manager_Deployment $postBody, $optParams = array()) + { + $params = array('projectId' => $projectId, 'region' => $region, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('insert', array($params), "Google_Service_Manager_Deployment"); + } + /** + * (deployments.listDeployments) + * + * @param string $projectId + * @param string $region + * @param array $optParams Optional parameters. + * + * @opt_param int maxResults Maximum count of results to be returned. Acceptable + * values are 0 to 100, inclusive. (Default: 50) + * @opt_param string pageToken Specifies a nextPageToken returned by a previous + * list request. This token can be used to request the next page of results from + * a previous list request. + * @return Google_Service_DeploymentsListResponse + */ + public function listDeployments($projectId, $region, $optParams = array()) + { + $params = array('projectId' => $projectId, 'region' => $region); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Manager_DeploymentsListResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Manager/DiskAttachment.php b/vendor/google/apiclient-services/src/Google/Service/Manager/DiskAttachment.php new file mode 100644 index 00000000..53f0fb20 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Manager/DiskAttachment.php @@ -0,0 +1,39 @@ +deviceName = $deviceName; + } + public function getDeviceName() + { + return $this->deviceName; + } + public function setIndex($index) + { + $this->index = $index; + } + public function getIndex() + { + return $this->index; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Manager/EnvVariable.php b/vendor/google/apiclient-services/src/Google/Service/Manager/EnvVariable.php new file mode 100644 index 00000000..e14a4953 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Manager/EnvVariable.php @@ -0,0 +1,39 @@ +hidden = $hidden; + } + public function getHidden() + { + return $this->hidden; + } + public function setValue($value) + { + $this->value = $value; + } + public function getValue() + { + return $this->value; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Manager/ExistingDisk.php b/vendor/google/apiclient-services/src/Google/Service/Manager/ExistingDisk.php new file mode 100644 index 00000000..ef06866d --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Manager/ExistingDisk.php @@ -0,0 +1,40 @@ +attachment = $attachment; + } + public function getAttachment() + { + return $this->attachment; + } + public function setSource($source) + { + $this->source = $source; + } + public function getSource() + { + return $this->source; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Manager/FirewallModule.php b/vendor/google/apiclient-services/src/Google/Service/Manager/FirewallModule.php new file mode 100644 index 00000000..dd53903a --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Manager/FirewallModule.php @@ -0,0 +1,77 @@ +allowed = $allowed; + } + public function getAllowed() + { + return $this->allowed; + } + public function setDescription($description) + { + $this->description = $description; + } + public function getDescription() + { + return $this->description; + } + public function setNetwork($network) + { + $this->network = $network; + } + public function getNetwork() + { + return $this->network; + } + public function setSourceRanges($sourceRanges) + { + $this->sourceRanges = $sourceRanges; + } + public function getSourceRanges() + { + return $this->sourceRanges; + } + public function setSourceTags($sourceTags) + { + $this->sourceTags = $sourceTags; + } + public function getSourceTags() + { + return $this->sourceTags; + } + public function setTargetTags($targetTags) + { + $this->targetTags = $targetTags; + } + public function getTargetTags() + { + return $this->targetTags; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Manager/FirewallModuleStatus.php b/vendor/google/apiclient-services/src/Google/Service/Manager/FirewallModuleStatus.php new file mode 100644 index 00000000..2328cb89 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Manager/FirewallModuleStatus.php @@ -0,0 +1,30 @@ +firewallUrl = $firewallUrl; + } + public function getFirewallUrl() + { + return $this->firewallUrl; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Manager/HealthCheckModule.php b/vendor/google/apiclient-services/src/Google/Service/Manager/HealthCheckModule.php new file mode 100644 index 00000000..55821ac8 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Manager/HealthCheckModule.php @@ -0,0 +1,93 @@ +checkIntervalSec = $checkIntervalSec; + } + public function getCheckIntervalSec() + { + return $this->checkIntervalSec; + } + public function setDescription($description) + { + $this->description = $description; + } + public function getDescription() + { + return $this->description; + } + public function setHealthyThreshold($healthyThreshold) + { + $this->healthyThreshold = $healthyThreshold; + } + public function getHealthyThreshold() + { + return $this->healthyThreshold; + } + public function setHost($host) + { + $this->host = $host; + } + public function getHost() + { + return $this->host; + } + public function setPath($path) + { + $this->path = $path; + } + public function getPath() + { + return $this->path; + } + public function setPort($port) + { + $this->port = $port; + } + public function getPort() + { + return $this->port; + } + public function setTimeoutSec($timeoutSec) + { + $this->timeoutSec = $timeoutSec; + } + public function getTimeoutSec() + { + return $this->timeoutSec; + } + public function setUnhealthyThreshold($unhealthyThreshold) + { + $this->unhealthyThreshold = $unhealthyThreshold; + } + public function getUnhealthyThreshold() + { + return $this->unhealthyThreshold; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Manager/HealthCheckModuleStatus.php b/vendor/google/apiclient-services/src/Google/Service/Manager/HealthCheckModuleStatus.php new file mode 100644 index 00000000..7d2cbcf4 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Manager/HealthCheckModuleStatus.php @@ -0,0 +1,30 @@ +healthCheckUrl = $healthCheckUrl; + } + public function getHealthCheckUrl() + { + return $this->healthCheckUrl; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Manager/LbModule.php b/vendor/google/apiclient-services/src/Google/Service/Manager/LbModule.php new file mode 100644 index 00000000..0f7a4bc4 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Manager/LbModule.php @@ -0,0 +1,85 @@ +description = $description; + } + public function getDescription() + { + return $this->description; + } + public function setHealthChecks($healthChecks) + { + $this->healthChecks = $healthChecks; + } + public function getHealthChecks() + { + return $this->healthChecks; + } + public function setIpAddress($ipAddress) + { + $this->ipAddress = $ipAddress; + } + public function getIpAddress() + { + return $this->ipAddress; + } + public function setIpProtocol($ipProtocol) + { + $this->ipProtocol = $ipProtocol; + } + public function getIpProtocol() + { + return $this->ipProtocol; + } + public function setPortRange($portRange) + { + $this->portRange = $portRange; + } + public function getPortRange() + { + return $this->portRange; + } + public function setSessionAffinity($sessionAffinity) + { + $this->sessionAffinity = $sessionAffinity; + } + public function getSessionAffinity() + { + return $this->sessionAffinity; + } + public function setTargetModules($targetModules) + { + $this->targetModules = $targetModules; + } + public function getTargetModules() + { + return $this->targetModules; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Manager/LbModuleStatus.php b/vendor/google/apiclient-services/src/Google/Service/Manager/LbModuleStatus.php new file mode 100644 index 00000000..88a19148 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Manager/LbModuleStatus.php @@ -0,0 +1,39 @@ +forwardingRuleUrl = $forwardingRuleUrl; + } + public function getForwardingRuleUrl() + { + return $this->forwardingRuleUrl; + } + public function setTargetPoolUrl($targetPoolUrl) + { + $this->targetPoolUrl = $targetPoolUrl; + } + public function getTargetPoolUrl() + { + return $this->targetPoolUrl; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Manager/Metadata.php b/vendor/google/apiclient-services/src/Google/Service/Manager/Metadata.php new file mode 100644 index 00000000..9936e676 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Manager/Metadata.php @@ -0,0 +1,41 @@ +fingerPrint = $fingerPrint; + } + public function getFingerPrint() + { + return $this->fingerPrint; + } + public function setItems($items) + { + $this->items = $items; + } + public function getItems() + { + return $this->items; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Manager/MetadataItem.php b/vendor/google/apiclient-services/src/Google/Service/Manager/MetadataItem.php new file mode 100644 index 00000000..906f60d6 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Manager/MetadataItem.php @@ -0,0 +1,39 @@ +key = $key; + } + public function getKey() + { + return $this->key; + } + public function setValue($value) + { + $this->value = $value; + } + public function getValue() + { + return $this->value; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Manager/Module.php b/vendor/google/apiclient-services/src/Google/Service/Manager/Module.php new file mode 100644 index 00000000..f8022151 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Manager/Module.php @@ -0,0 +1,90 @@ +autoscalingModule = $autoscalingModule; + } + public function getAutoscalingModule() + { + return $this->autoscalingModule; + } + public function setFirewallModule(Google_Service_Manager_FirewallModule $firewallModule) + { + $this->firewallModule = $firewallModule; + } + public function getFirewallModule() + { + return $this->firewallModule; + } + public function setHealthCheckModule(Google_Service_Manager_HealthCheckModule $healthCheckModule) + { + $this->healthCheckModule = $healthCheckModule; + } + public function getHealthCheckModule() + { + return $this->healthCheckModule; + } + public function setLbModule(Google_Service_Manager_LbModule $lbModule) + { + $this->lbModule = $lbModule; + } + public function getLbModule() + { + return $this->lbModule; + } + public function setNetworkModule(Google_Service_Manager_NetworkModule $networkModule) + { + $this->networkModule = $networkModule; + } + public function getNetworkModule() + { + return $this->networkModule; + } + public function setReplicaPoolModule(Google_Service_Manager_ReplicaPoolModule $replicaPoolModule) + { + $this->replicaPoolModule = $replicaPoolModule; + } + public function getReplicaPoolModule() + { + return $this->replicaPoolModule; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Manager/ModuleStatus.php b/vendor/google/apiclient-services/src/Google/Service/Manager/ModuleStatus.php new file mode 100644 index 00000000..145fb322 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Manager/ModuleStatus.php @@ -0,0 +1,100 @@ +autoscalingModuleStatus = $autoscalingModuleStatus; + } + public function getAutoscalingModuleStatus() + { + return $this->autoscalingModuleStatus; + } + public function setFirewallModuleStatus(Google_Service_Manager_FirewallModuleStatus $firewallModuleStatus) + { + $this->firewallModuleStatus = $firewallModuleStatus; + } + public function getFirewallModuleStatus() + { + return $this->firewallModuleStatus; + } + public function setHealthCheckModuleStatus(Google_Service_Manager_HealthCheckModuleStatus $healthCheckModuleStatus) + { + $this->healthCheckModuleStatus = $healthCheckModuleStatus; + } + public function getHealthCheckModuleStatus() + { + return $this->healthCheckModuleStatus; + } + public function setLbModuleStatus(Google_Service_Manager_LbModuleStatus $lbModuleStatus) + { + $this->lbModuleStatus = $lbModuleStatus; + } + public function getLbModuleStatus() + { + return $this->lbModuleStatus; + } + public function setNetworkModuleStatus(Google_Service_Manager_NetworkModuleStatus $networkModuleStatus) + { + $this->networkModuleStatus = $networkModuleStatus; + } + public function getNetworkModuleStatus() + { + return $this->networkModuleStatus; + } + public function setReplicaPoolModuleStatus(Google_Service_Manager_ReplicaPoolModuleStatus $replicaPoolModuleStatus) + { + $this->replicaPoolModuleStatus = $replicaPoolModuleStatus; + } + public function getReplicaPoolModuleStatus() + { + return $this->replicaPoolModuleStatus; + } + public function setState(Google_Service_Manager_DeployState $state) + { + $this->state = $state; + } + public function getState() + { + return $this->state; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Manager/NetworkInterface.php b/vendor/google/apiclient-services/src/Google/Service/Manager/NetworkInterface.php new file mode 100644 index 00000000..5fa0517e --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Manager/NetworkInterface.php @@ -0,0 +1,59 @@ +accessConfigs = $accessConfigs; + } + public function getAccessConfigs() + { + return $this->accessConfigs; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setNetwork($network) + { + $this->network = $network; + } + public function getNetwork() + { + return $this->network; + } + public function setNetworkIp($networkIp) + { + $this->networkIp = $networkIp; + } + public function getNetworkIp() + { + return $this->networkIp; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Manager/NetworkModule.php b/vendor/google/apiclient-services/src/Google/Service/Manager/NetworkModule.php new file mode 100644 index 00000000..816687d8 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Manager/NetworkModule.php @@ -0,0 +1,51 @@ + "IPv4Range", + ); + public $iPv4Range; + public $description; + public $gatewayIPv4; + + public function setIPv4Range($iPv4Range) + { + $this->iPv4Range = $iPv4Range; + } + public function getIPv4Range() + { + return $this->iPv4Range; + } + public function setDescription($description) + { + $this->description = $description; + } + public function getDescription() + { + return $this->description; + } + public function setGatewayIPv4($gatewayIPv4) + { + $this->gatewayIPv4 = $gatewayIPv4; + } + public function getGatewayIPv4() + { + return $this->gatewayIPv4; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Manager/NetworkModuleStatus.php b/vendor/google/apiclient-services/src/Google/Service/Manager/NetworkModuleStatus.php new file mode 100644 index 00000000..915c4f3c --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Manager/NetworkModuleStatus.php @@ -0,0 +1,30 @@ +networkUrl = $networkUrl; + } + public function getNetworkUrl() + { + return $this->networkUrl; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Manager/NewDisk.php b/vendor/google/apiclient-services/src/Google/Service/Manager/NewDisk.php new file mode 100644 index 00000000..42b14994 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Manager/NewDisk.php @@ -0,0 +1,59 @@ +attachment = $attachment; + } + public function getAttachment() + { + return $this->attachment; + } + public function setAutoDelete($autoDelete) + { + $this->autoDelete = $autoDelete; + } + public function getAutoDelete() + { + return $this->autoDelete; + } + public function setBoot($boot) + { + $this->boot = $boot; + } + public function getBoot() + { + return $this->boot; + } + public function setInitializeParams(Google_Service_Manager_NewDiskInitializeParams $initializeParams) + { + $this->initializeParams = $initializeParams; + } + public function getInitializeParams() + { + return $this->initializeParams; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Manager/NewDiskInitializeParams.php b/vendor/google/apiclient-services/src/Google/Service/Manager/NewDiskInitializeParams.php new file mode 100644 index 00000000..2246aa44 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Manager/NewDiskInitializeParams.php @@ -0,0 +1,48 @@ +diskSizeGb = $diskSizeGb; + } + public function getDiskSizeGb() + { + return $this->diskSizeGb; + } + public function setDiskType($diskType) + { + $this->diskType = $diskType; + } + public function getDiskType() + { + return $this->diskType; + } + public function setSourceImage($sourceImage) + { + $this->sourceImage = $sourceImage; + } + public function getSourceImage() + { + return $this->sourceImage; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Manager/ParamOverride.php b/vendor/google/apiclient-services/src/Google/Service/Manager/ParamOverride.php new file mode 100644 index 00000000..1c0193eb --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Manager/ParamOverride.php @@ -0,0 +1,39 @@ +path = $path; + } + public function getPath() + { + return $this->path; + } + public function setValue($value) + { + $this->value = $value; + } + public function getValue() + { + return $this->value; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Manager/ReplicaPoolModule.php b/vendor/google/apiclient-services/src/Google/Service/Manager/ReplicaPoolModule.php new file mode 100644 index 00000000..fef7a06a --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Manager/ReplicaPoolModule.php @@ -0,0 +1,69 @@ +envVariables = $envVariables; + } + public function getEnvVariables() + { + return $this->envVariables; + } + public function setHealthChecks($healthChecks) + { + $this->healthChecks = $healthChecks; + } + public function getHealthChecks() + { + return $this->healthChecks; + } + public function setNumReplicas($numReplicas) + { + $this->numReplicas = $numReplicas; + } + public function getNumReplicas() + { + return $this->numReplicas; + } + public function setReplicaPoolParams(Google_Service_Manager_ReplicaPoolParams $replicaPoolParams) + { + $this->replicaPoolParams = $replicaPoolParams; + } + public function getReplicaPoolParams() + { + return $this->replicaPoolParams; + } + public function setResourceView($resourceView) + { + $this->resourceView = $resourceView; + } + public function getResourceView() + { + return $this->resourceView; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Manager/ReplicaPoolModuleStatus.php b/vendor/google/apiclient-services/src/Google/Service/Manager/ReplicaPoolModuleStatus.php new file mode 100644 index 00000000..3ff49116 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Manager/ReplicaPoolModuleStatus.php @@ -0,0 +1,39 @@ +replicaPoolUrl = $replicaPoolUrl; + } + public function getReplicaPoolUrl() + { + return $this->replicaPoolUrl; + } + public function setResourceViewUrl($resourceViewUrl) + { + $this->resourceViewUrl = $resourceViewUrl; + } + public function getResourceViewUrl() + { + return $this->resourceViewUrl; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Manager/ReplicaPoolParams.php b/vendor/google/apiclient-services/src/Google/Service/Manager/ReplicaPoolParams.php new file mode 100644 index 00000000..0e58275e --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Manager/ReplicaPoolParams.php @@ -0,0 +1,31 @@ +v1beta1 = $v1beta1; + } + public function getV1beta1() + { + return $this->v1beta1; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Manager/ReplicaPoolParamsV1Beta1.php b/vendor/google/apiclient-services/src/Google/Service/Manager/ReplicaPoolParamsV1Beta1.php new file mode 100644 index 00000000..b20d58b3 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Manager/ReplicaPoolParamsV1Beta1.php @@ -0,0 +1,154 @@ +autoRestart = $autoRestart; + } + public function getAutoRestart() + { + return $this->autoRestart; + } + public function setBaseInstanceName($baseInstanceName) + { + $this->baseInstanceName = $baseInstanceName; + } + public function getBaseInstanceName() + { + return $this->baseInstanceName; + } + public function setCanIpForward($canIpForward) + { + $this->canIpForward = $canIpForward; + } + public function getCanIpForward() + { + return $this->canIpForward; + } + public function setDescription($description) + { + $this->description = $description; + } + public function getDescription() + { + return $this->description; + } + public function setDisksToAttach($disksToAttach) + { + $this->disksToAttach = $disksToAttach; + } + public function getDisksToAttach() + { + return $this->disksToAttach; + } + public function setDisksToCreate($disksToCreate) + { + $this->disksToCreate = $disksToCreate; + } + public function getDisksToCreate() + { + return $this->disksToCreate; + } + public function setInitAction($initAction) + { + $this->initAction = $initAction; + } + public function getInitAction() + { + return $this->initAction; + } + public function setMachineType($machineType) + { + $this->machineType = $machineType; + } + public function getMachineType() + { + return $this->machineType; + } + public function setMetadata(Google_Service_Manager_Metadata $metadata) + { + $this->metadata = $metadata; + } + public function getMetadata() + { + return $this->metadata; + } + public function setNetworkInterfaces($networkInterfaces) + { + $this->networkInterfaces = $networkInterfaces; + } + public function getNetworkInterfaces() + { + return $this->networkInterfaces; + } + public function setOnHostMaintenance($onHostMaintenance) + { + $this->onHostMaintenance = $onHostMaintenance; + } + public function getOnHostMaintenance() + { + return $this->onHostMaintenance; + } + public function setServiceAccounts($serviceAccounts) + { + $this->serviceAccounts = $serviceAccounts; + } + public function getServiceAccounts() + { + return $this->serviceAccounts; + } + public function setTags(Google_Service_Manager_Tag $tags) + { + $this->tags = $tags; + } + public function getTags() + { + return $this->tags; + } + public function setZone($zone) + { + $this->zone = $zone; + } + public function getZone() + { + return $this->zone; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Manager/ServiceAccount.php b/vendor/google/apiclient-services/src/Google/Service/Manager/ServiceAccount.php new file mode 100644 index 00000000..59aa96d1 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Manager/ServiceAccount.php @@ -0,0 +1,40 @@ +email = $email; + } + public function getEmail() + { + return $this->email; + } + public function setScopes($scopes) + { + $this->scopes = $scopes; + } + public function getScopes() + { + return $this->scopes; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Manager/Tag.php b/vendor/google/apiclient-services/src/Google/Service/Manager/Tag.php new file mode 100644 index 00000000..0fef4180 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Manager/Tag.php @@ -0,0 +1,40 @@ +fingerPrint = $fingerPrint; + } + public function getFingerPrint() + { + return $this->fingerPrint; + } + public function setItems($items) + { + $this->items = $items; + } + public function getItems() + { + return $this->items; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Manager/Template.php b/vendor/google/apiclient-services/src/Google/Service/Manager/Template.php new file mode 100644 index 00000000..ad21dd9f --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Manager/Template.php @@ -0,0 +1,59 @@ +actions = $actions; + } + public function getActions() + { + return $this->actions; + } + public function setDescription($description) + { + $this->description = $description; + } + public function getDescription() + { + return $this->description; + } + public function setModules($modules) + { + $this->modules = $modules; + } + public function getModules() + { + return $this->modules; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Manager/TemplatesListResponse.php b/vendor/google/apiclient-services/src/Google/Service/Manager/TemplatesListResponse.php new file mode 100644 index 00000000..515f148d --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Manager/TemplatesListResponse.php @@ -0,0 +1,41 @@ +nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setResources($resources) + { + $this->resources = $resources; + } + public function getResources() + { + return $this->resources; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Manager/TemplatesResource.php b/vendor/google/apiclient-services/src/Google/Service/Manager/TemplatesResource.php new file mode 100644 index 00000000..b5b133a4 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Manager/TemplatesResource.php @@ -0,0 +1,88 @@ + + * $managerService = new Google_Service_Manager(...); + * $templates = $managerService->templates; + * + */ +class Google_Service_Manager_TemplatesResource extends Google_Service_Resource +{ + /** + * (templates.delete) + * + * @param string $projectId + * @param string $templateName + * @param array $optParams Optional parameters. + */ + public function delete($projectId, $templateName, $optParams = array()) + { + $params = array('projectId' => $projectId, 'templateName' => $templateName); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params)); + } + /** + * (templates.get) + * + * @param string $projectId + * @param string $templateName + * @param array $optParams Optional parameters. + * @return Google_Service_Template + */ + public function get($projectId, $templateName, $optParams = array()) + { + $params = array('projectId' => $projectId, 'templateName' => $templateName); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Manager_Template"); + } + /** + * (templates.insert) + * + * @param string $projectId + * @param Google_Template $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Template + */ + public function insert($projectId, Google_Service_Manager_Template $postBody, $optParams = array()) + { + $params = array('projectId' => $projectId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('insert', array($params), "Google_Service_Manager_Template"); + } + /** + * (templates.listTemplates) + * + * @param string $projectId + * @param array $optParams Optional parameters. + * + * @opt_param int maxResults Maximum count of results to be returned. Acceptable + * values are 0 to 100, inclusive. (Default: 50) + * @opt_param string pageToken Specifies a nextPageToken returned by a previous + * list request. This token can be used to request the next page of results from + * a previous list request. + * @return Google_Service_TemplatesListResponse + */ + public function listTemplates($projectId, $optParams = array()) + { + $params = array('projectId' => $projectId); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Manager_TemplatesListResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ManufacturerCenter.php b/vendor/google/apiclient-services/src/Google/Service/ManufacturerCenter.php new file mode 100644 index 00000000..d3613abb --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ManufacturerCenter.php @@ -0,0 +1,96 @@ + + * Public API for managing Manufacturer Center related data.

+ * + *

+ * For more information about this service, see the API + * Documentation + *

+ * + * @author Google, Inc. + */ +class Google_Service_ManufacturerCenter extends Google_Service +{ + /** Manage your product listings for Google Manufacturer Center. */ + const MANUFACTURERCENTER = + "https://www.googleapis.com/auth/manufacturercenter"; + + public $accounts_products; + + /** + * Constructs the internal representation of the ManufacturerCenter service. + * + * @param Google_Client $client + */ + public function __construct(Google_Client $client) + { + parent::__construct($client); + $this->rootUrl = 'https://manufacturers.googleapis.com/'; + $this->servicePath = ''; + $this->version = 'v1'; + $this->serviceName = 'manufacturers'; + + $this->accounts_products = new Google_Service_ManufacturerCenter_Resource_AccountsProducts( + $this, + $this->serviceName, + 'products', + array( + 'methods' => array( + 'get' => array( + 'path' => 'v1/{+parent}/products/{+name}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'parent' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'name' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'v1/{+parent}/products', + 'httpMethod' => 'GET', + 'parameters' => array( + 'parent' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'pageSize' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ManufacturerCenter/Attributes.php b/vendor/google/apiclient-services/src/Google/Service/ManufacturerCenter/Attributes.php new file mode 100644 index 00000000..6e546d70 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ManufacturerCenter/Attributes.php @@ -0,0 +1,94 @@ +brand = $brand; + } + public function getBrand() + { + return $this->brand; + } + public function setGtin($gtin) + { + $this->gtin = $gtin; + } + public function getGtin() + { + return $this->gtin; + } + public function setMpn($mpn) + { + $this->mpn = $mpn; + } + public function getMpn() + { + return $this->mpn; + } + public function setProductLine($productLine) + { + $this->productLine = $productLine; + } + public function getProductLine() + { + return $this->productLine; + } + public function setProductName($productName) + { + $this->productName = $productName; + } + public function getProductName() + { + return $this->productName; + } + public function setProductPageUrl($productPageUrl) + { + $this->productPageUrl = $productPageUrl; + } + public function getProductPageUrl() + { + return $this->productPageUrl; + } + public function setProductType($productType) + { + $this->productType = $productType; + } + public function getProductType() + { + return $this->productType; + } + public function setTitle($title) + { + $this->title = $title; + } + public function getTitle() + { + return $this->title; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ManufacturerCenter/Issue.php b/vendor/google/apiclient-services/src/Google/Service/ManufacturerCenter/Issue.php new file mode 100644 index 00000000..cf0c22c1 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ManufacturerCenter/Issue.php @@ -0,0 +1,57 @@ +attribute = $attribute; + } + public function getAttribute() + { + return $this->attribute; + } + public function setDescription($description) + { + $this->description = $description; + } + public function getDescription() + { + return $this->description; + } + public function setSeverity($severity) + { + $this->severity = $severity; + } + public function getSeverity() + { + return $this->severity; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ManufacturerCenter/ListProductsResponse.php b/vendor/google/apiclient-services/src/Google/Service/ManufacturerCenter/ListProductsResponse.php new file mode 100644 index 00000000..5f5452cc --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ManufacturerCenter/ListProductsResponse.php @@ -0,0 +1,41 @@ +nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setProducts($products) + { + $this->products = $products; + } + public function getProducts() + { + return $this->products; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ManufacturerCenter/Product.php b/vendor/google/apiclient-services/src/Google/Service/ManufacturerCenter/Product.php new file mode 100644 index 00000000..8ba6e58b --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ManufacturerCenter/Product.php @@ -0,0 +1,116 @@ +contentLanguage = $contentLanguage; + } + public function getContentLanguage() + { + return $this->contentLanguage; + } + public function setFinalAttributes(Google_Service_ManufacturerCenter_Attributes $finalAttributes) + { + $this->finalAttributes = $finalAttributes; + } + public function getFinalAttributes() + { + return $this->finalAttributes; + } + public function setIssues($issues) + { + $this->issues = $issues; + } + public function getIssues() + { + return $this->issues; + } + public function setManuallyDeletedAttributes($manuallyDeletedAttributes) + { + $this->manuallyDeletedAttributes = $manuallyDeletedAttributes; + } + public function getManuallyDeletedAttributes() + { + return $this->manuallyDeletedAttributes; + } + public function setManuallyProvidedAttributes(Google_Service_ManufacturerCenter_Attributes $manuallyProvidedAttributes) + { + $this->manuallyProvidedAttributes = $manuallyProvidedAttributes; + } + public function getManuallyProvidedAttributes() + { + return $this->manuallyProvidedAttributes; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setParent($parent) + { + $this->parent = $parent; + } + public function getParent() + { + return $this->parent; + } + public function setProductId($productId) + { + $this->productId = $productId; + } + public function getProductId() + { + return $this->productId; + } + public function setTargetCountry($targetCountry) + { + $this->targetCountry = $targetCountry; + } + public function getTargetCountry() + { + return $this->targetCountry; + } + public function setUploadedAttributes(Google_Service_ManufacturerCenter_Attributes $uploadedAttributes) + { + $this->uploadedAttributes = $uploadedAttributes; + } + public function getUploadedAttributes() + { + return $this->uploadedAttributes; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ManufacturerCenter/Resource/Accounts.php b/vendor/google/apiclient-services/src/Google/Service/ManufacturerCenter/Resource/Accounts.php new file mode 100644 index 00000000..290a211f --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ManufacturerCenter/Resource/Accounts.php @@ -0,0 +1,28 @@ + + * $manufacturersService = new Google_Service_ManufacturerCenter(...); + * $accounts = $manufacturersService->accounts; + * + */ +class Google_Service_ManufacturerCenter_Resource_Accounts extends Google_Service_Resource +{ +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ManufacturerCenter/Resource/AccountsProducts.php b/vendor/google/apiclient-services/src/Google/Service/ManufacturerCenter/Resource/AccountsProducts.php new file mode 100644 index 00000000..5b869d08 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ManufacturerCenter/Resource/AccountsProducts.php @@ -0,0 +1,75 @@ + + * $manufacturersService = new Google_Service_ManufacturerCenter(...); + * $products = $manufacturersService->products; + * + */ +class Google_Service_ManufacturerCenter_Resource_AccountsProducts extends Google_Service_Resource +{ + /** + * Gets the product from a Manufacturer Center account, including product + * issues. (products.get) + * + * @param string $parent Parent ID in the format `accounts/{account_id}`. + * + * `account_id` - The ID of the Manufacturer Center account. + * @param string $name Name in the format + * `{target_country}:{content_language}:{product_id}`. + * + * `target_country` - The target country of the product as a CLDR territory + * code (for example, US). + * + * `content_language` - The content language of the product as a two-letter + * ISO 639-1 language code (for example, en). + * + * `product_id` - The ID of the product. For more information, see + * https://support.google.com/manufacturers/answer/6124116#id. + * @param array $optParams Optional parameters. + * @return Google_Service_ManufacturerCenter_Product + */ + public function get($parent, $name, $optParams = array()) + { + $params = array('parent' => $parent, 'name' => $name); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_ManufacturerCenter_Product"); + } + /** + * Lists all the products in a Manufacturer Center account. + * (products.listAccountsProducts) + * + * @param string $parent Parent ID in the format `accounts/{account_id}`. + * + * `account_id` - The ID of the Manufacturer Center account. + * @param array $optParams Optional parameters. + * + * @opt_param int pageSize Maximum number of product statuses to return in the + * response, used for paging. + * @opt_param string pageToken The token returned by the previous request. + * @return Google_Service_ManufacturerCenter_ListProductsResponse + */ + public function listAccountsProducts($parent, $optParams = array()) + { + $params = array('parent' => $parent); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_ManufacturerCenter_ListProductsResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Mirror.php b/vendor/google/apiclient-services/src/Google/Service/Mirror.php new file mode 100644 index 00000000..c9d86c8a --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Mirror.php @@ -0,0 +1,379 @@ + + * Interacts with Glass users via the timeline.

+ * + *

+ * For more information about this service, see the API + * Documentation + *

+ * + * @author Google, Inc. + */ +class Google_Service_Mirror extends Google_Service +{ + /** View your location. */ + const GLASS_LOCATION = + "https://www.googleapis.com/auth/glass.location"; + /** View and manage your Glass timeline. */ + const GLASS_TIMELINE = + "https://www.googleapis.com/auth/glass.timeline"; + + public $accounts; + public $contacts; + public $locations; + public $settings; + public $subscriptions; + public $timeline; + public $timeline_attachments; + + /** + * Constructs the internal representation of the Mirror service. + * + * @param Google_Client $client + */ + public function __construct(Google_Client $client) + { + parent::__construct($client); + $this->rootUrl = 'https://www.googleapis.com/'; + $this->servicePath = 'mirror/v1/'; + $this->version = 'v1'; + $this->serviceName = 'mirror'; + + $this->accounts = new Google_Service_Mirror_Resource_Accounts( + $this, + $this->serviceName, + 'accounts', + array( + 'methods' => array( + 'insert' => array( + 'path' => 'accounts/{userToken}/{accountType}/{accountName}', + 'httpMethod' => 'POST', + 'parameters' => array( + 'userToken' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'accountType' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'accountName' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->contacts = new Google_Service_Mirror_Resource_Contacts( + $this, + $this->serviceName, + 'contacts', + array( + 'methods' => array( + 'delete' => array( + 'path' => 'contacts/{id}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'id' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'get' => array( + 'path' => 'contacts/{id}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'id' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'insert' => array( + 'path' => 'contacts', + 'httpMethod' => 'POST', + 'parameters' => array(), + ),'list' => array( + 'path' => 'contacts', + 'httpMethod' => 'GET', + 'parameters' => array(), + ),'patch' => array( + 'path' => 'contacts/{id}', + 'httpMethod' => 'PATCH', + 'parameters' => array( + 'id' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'update' => array( + 'path' => 'contacts/{id}', + 'httpMethod' => 'PUT', + 'parameters' => array( + 'id' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->locations = new Google_Service_Mirror_Resource_Locations( + $this, + $this->serviceName, + 'locations', + array( + 'methods' => array( + 'get' => array( + 'path' => 'locations/{id}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'id' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'locations', + 'httpMethod' => 'GET', + 'parameters' => array(), + ), + ) + ) + ); + $this->settings = new Google_Service_Mirror_Resource_Settings( + $this, + $this->serviceName, + 'settings', + array( + 'methods' => array( + 'get' => array( + 'path' => 'settings/{id}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'id' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->subscriptions = new Google_Service_Mirror_Resource_Subscriptions( + $this, + $this->serviceName, + 'subscriptions', + array( + 'methods' => array( + 'delete' => array( + 'path' => 'subscriptions/{id}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'id' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'insert' => array( + 'path' => 'subscriptions', + 'httpMethod' => 'POST', + 'parameters' => array(), + ),'list' => array( + 'path' => 'subscriptions', + 'httpMethod' => 'GET', + 'parameters' => array(), + ),'update' => array( + 'path' => 'subscriptions/{id}', + 'httpMethod' => 'PUT', + 'parameters' => array( + 'id' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->timeline = new Google_Service_Mirror_Resource_Timeline( + $this, + $this->serviceName, + 'timeline', + array( + 'methods' => array( + 'delete' => array( + 'path' => 'timeline/{id}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'id' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'get' => array( + 'path' => 'timeline/{id}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'id' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'insert' => array( + 'path' => 'timeline', + 'httpMethod' => 'POST', + 'parameters' => array(), + ),'list' => array( + 'path' => 'timeline', + 'httpMethod' => 'GET', + 'parameters' => array( + 'bundleId' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'includeDeleted' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'orderBy' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pinnedOnly' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + 'sourceItemId' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'patch' => array( + 'path' => 'timeline/{id}', + 'httpMethod' => 'PATCH', + 'parameters' => array( + 'id' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'update' => array( + 'path' => 'timeline/{id}', + 'httpMethod' => 'PUT', + 'parameters' => array( + 'id' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->timeline_attachments = new Google_Service_Mirror_Resource_TimelineAttachments( + $this, + $this->serviceName, + 'attachments', + array( + 'methods' => array( + 'delete' => array( + 'path' => 'timeline/{itemId}/attachments/{attachmentId}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'itemId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'attachmentId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'get' => array( + 'path' => 'timeline/{itemId}/attachments/{attachmentId}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'itemId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'attachmentId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'insert' => array( + 'path' => 'timeline/{itemId}/attachments', + 'httpMethod' => 'POST', + 'parameters' => array( + 'itemId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'timeline/{itemId}/attachments', + 'httpMethod' => 'GET', + 'parameters' => array( + 'itemId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Mirror/Account.php b/vendor/google/apiclient-services/src/Google/Service/Mirror/Account.php new file mode 100644 index 00000000..b65da44b --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Mirror/Account.php @@ -0,0 +1,60 @@ +authTokens = $authTokens; + } + public function getAuthTokens() + { + return $this->authTokens; + } + public function setFeatures($features) + { + $this->features = $features; + } + public function getFeatures() + { + return $this->features; + } + public function setPassword($password) + { + $this->password = $password; + } + public function getPassword() + { + return $this->password; + } + public function setUserData($userData) + { + $this->userData = $userData; + } + public function getUserData() + { + return $this->userData; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Mirror/Attachment.php b/vendor/google/apiclient-services/src/Google/Service/Mirror/Attachment.php new file mode 100644 index 00000000..558f7c01 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Mirror/Attachment.php @@ -0,0 +1,57 @@ +contentType = $contentType; + } + public function getContentType() + { + return $this->contentType; + } + public function setContentUrl($contentUrl) + { + $this->contentUrl = $contentUrl; + } + public function getContentUrl() + { + return $this->contentUrl; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setIsProcessingContent($isProcessingContent) + { + $this->isProcessingContent = $isProcessingContent; + } + public function getIsProcessingContent() + { + return $this->isProcessingContent; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Mirror/AttachmentsListResponse.php b/vendor/google/apiclient-services/src/Google/Service/Mirror/AttachmentsListResponse.php new file mode 100644 index 00000000..e5d310c4 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Mirror/AttachmentsListResponse.php @@ -0,0 +1,41 @@ +items = $items; + } + public function getItems() + { + return $this->items; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Mirror/AuthToken.php b/vendor/google/apiclient-services/src/Google/Service/Mirror/AuthToken.php new file mode 100644 index 00000000..fbc0107d --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Mirror/AuthToken.php @@ -0,0 +1,39 @@ +authToken = $authToken; + } + public function getAuthToken() + { + return $this->authToken; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Mirror/Command.php b/vendor/google/apiclient-services/src/Google/Service/Mirror/Command.php new file mode 100644 index 00000000..f9bbc915 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Mirror/Command.php @@ -0,0 +1,30 @@ +type = $type; + } + public function getType() + { + return $this->type; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Mirror/Contact.php b/vendor/google/apiclient-services/src/Google/Service/Mirror/Contact.php new file mode 100644 index 00000000..6ae03289 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Mirror/Contact.php @@ -0,0 +1,131 @@ +acceptCommands = $acceptCommands; + } + public function getAcceptCommands() + { + return $this->acceptCommands; + } + public function setAcceptTypes($acceptTypes) + { + $this->acceptTypes = $acceptTypes; + } + public function getAcceptTypes() + { + return $this->acceptTypes; + } + public function setDisplayName($displayName) + { + $this->displayName = $displayName; + } + public function getDisplayName() + { + return $this->displayName; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setImageUrls($imageUrls) + { + $this->imageUrls = $imageUrls; + } + public function getImageUrls() + { + return $this->imageUrls; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setPhoneNumber($phoneNumber) + { + $this->phoneNumber = $phoneNumber; + } + public function getPhoneNumber() + { + return $this->phoneNumber; + } + public function setPriority($priority) + { + $this->priority = $priority; + } + public function getPriority() + { + return $this->priority; + } + public function setSharingFeatures($sharingFeatures) + { + $this->sharingFeatures = $sharingFeatures; + } + public function getSharingFeatures() + { + return $this->sharingFeatures; + } + public function setSource($source) + { + $this->source = $source; + } + public function getSource() + { + return $this->source; + } + public function setSpeakableName($speakableName) + { + $this->speakableName = $speakableName; + } + public function getSpeakableName() + { + return $this->speakableName; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Mirror/ContactsListResponse.php b/vendor/google/apiclient-services/src/Google/Service/Mirror/ContactsListResponse.php new file mode 100644 index 00000000..fc5ed798 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Mirror/ContactsListResponse.php @@ -0,0 +1,41 @@ +items = $items; + } + public function getItems() + { + return $this->items; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Mirror/Location.php b/vendor/google/apiclient-services/src/Google/Service/Mirror/Location.php new file mode 100644 index 00000000..57070bbe --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Mirror/Location.php @@ -0,0 +1,93 @@ +accuracy = $accuracy; + } + public function getAccuracy() + { + return $this->accuracy; + } + public function setAddress($address) + { + $this->address = $address; + } + public function getAddress() + { + return $this->address; + } + public function setDisplayName($displayName) + { + $this->displayName = $displayName; + } + public function getDisplayName() + { + return $this->displayName; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setLatitude($latitude) + { + $this->latitude = $latitude; + } + public function getLatitude() + { + return $this->latitude; + } + public function setLongitude($longitude) + { + $this->longitude = $longitude; + } + public function getLongitude() + { + return $this->longitude; + } + public function setTimestamp($timestamp) + { + $this->timestamp = $timestamp; + } + public function getTimestamp() + { + return $this->timestamp; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Mirror/LocationsListResponse.php b/vendor/google/apiclient-services/src/Google/Service/Mirror/LocationsListResponse.php new file mode 100644 index 00000000..d6a6f06b --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Mirror/LocationsListResponse.php @@ -0,0 +1,41 @@ +items = $items; + } + public function getItems() + { + return $this->items; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Mirror/MenuItem.php b/vendor/google/apiclient-services/src/Google/Service/Mirror/MenuItem.php new file mode 100644 index 00000000..b7a79504 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Mirror/MenuItem.php @@ -0,0 +1,80 @@ + "contextual_command", + ); + public $action; + public $contextualCommand; + public $id; + public $payload; + public $removeWhenSelected; + protected $valuesType = 'Google_Service_Mirror_MenuValue'; + protected $valuesDataType = 'array'; + + public function setAction($action) + { + $this->action = $action; + } + public function getAction() + { + return $this->action; + } + public function setContextualCommand($contextualCommand) + { + $this->contextualCommand = $contextualCommand; + } + public function getContextualCommand() + { + return $this->contextualCommand; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setPayload($payload) + { + $this->payload = $payload; + } + public function getPayload() + { + return $this->payload; + } + public function setRemoveWhenSelected($removeWhenSelected) + { + $this->removeWhenSelected = $removeWhenSelected; + } + public function getRemoveWhenSelected() + { + return $this->removeWhenSelected; + } + public function setValues($values) + { + $this->values = $values; + } + public function getValues() + { + return $this->values; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Mirror/MenuValue.php b/vendor/google/apiclient-services/src/Google/Service/Mirror/MenuValue.php new file mode 100644 index 00000000..f89880ae --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Mirror/MenuValue.php @@ -0,0 +1,48 @@ +displayName = $displayName; + } + public function getDisplayName() + { + return $this->displayName; + } + public function setIconUrl($iconUrl) + { + $this->iconUrl = $iconUrl; + } + public function getIconUrl() + { + return $this->iconUrl; + } + public function setState($state) + { + $this->state = $state; + } + public function getState() + { + return $this->state; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Mirror/Notification.php b/vendor/google/apiclient-services/src/Google/Service/Mirror/Notification.php new file mode 100644 index 00000000..12bb369f --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Mirror/Notification.php @@ -0,0 +1,77 @@ +collection = $collection; + } + public function getCollection() + { + return $this->collection; + } + public function setItemId($itemId) + { + $this->itemId = $itemId; + } + public function getItemId() + { + return $this->itemId; + } + public function setOperation($operation) + { + $this->operation = $operation; + } + public function getOperation() + { + return $this->operation; + } + public function setUserActions($userActions) + { + $this->userActions = $userActions; + } + public function getUserActions() + { + return $this->userActions; + } + public function setUserToken($userToken) + { + $this->userToken = $userToken; + } + public function getUserToken() + { + return $this->userToken; + } + public function setVerifyToken($verifyToken) + { + $this->verifyToken = $verifyToken; + } + public function getVerifyToken() + { + return $this->verifyToken; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Mirror/NotificationConfig.php b/vendor/google/apiclient-services/src/Google/Service/Mirror/NotificationConfig.php new file mode 100644 index 00000000..74c07e64 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Mirror/NotificationConfig.php @@ -0,0 +1,39 @@ +deliveryTime = $deliveryTime; + } + public function getDeliveryTime() + { + return $this->deliveryTime; + } + public function setLevel($level) + { + $this->level = $level; + } + public function getLevel() + { + return $this->level; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Mirror/Resource/Accounts.php b/vendor/google/apiclient-services/src/Google/Service/Mirror/Resource/Accounts.php new file mode 100644 index 00000000..bc4c2256 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Mirror/Resource/Accounts.php @@ -0,0 +1,46 @@ + + * $mirrorService = new Google_Service_Mirror(...); + * $accounts = $mirrorService->accounts; + * + */ +class Google_Service_Mirror_Resource_Accounts extends Google_Service_Resource +{ + /** + * Inserts a new account for a user (accounts.insert) + * + * @param string $userToken The ID for the user. + * @param string $accountType Account type to be passed to Android Account + * Manager. + * @param string $accountName The name of the account to be passed to the + * Android Account Manager. + * @param Google_Service_Mirror_Account $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Mirror_Account + */ + public function insert($userToken, $accountType, $accountName, Google_Service_Mirror_Account $postBody, $optParams = array()) + { + $params = array('userToken' => $userToken, 'accountType' => $accountType, 'accountName' => $accountName, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('insert', array($params), "Google_Service_Mirror_Account"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Mirror/Resource/Contacts.php b/vendor/google/apiclient-services/src/Google/Service/Mirror/Resource/Contacts.php new file mode 100644 index 00000000..ae3356aa --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Mirror/Resource/Contacts.php @@ -0,0 +1,108 @@ + + * $mirrorService = new Google_Service_Mirror(...); + * $contacts = $mirrorService->contacts; + * + */ +class Google_Service_Mirror_Resource_Contacts extends Google_Service_Resource +{ + /** + * Deletes a contact. (contacts.delete) + * + * @param string $id The ID of the contact. + * @param array $optParams Optional parameters. + */ + public function delete($id, $optParams = array()) + { + $params = array('id' => $id); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params)); + } + /** + * Gets a single contact by ID. (contacts.get) + * + * @param string $id The ID of the contact. + * @param array $optParams Optional parameters. + * @return Google_Service_Mirror_Contact + */ + public function get($id, $optParams = array()) + { + $params = array('id' => $id); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Mirror_Contact"); + } + /** + * Inserts a new contact. (contacts.insert) + * + * @param Google_Service_Mirror_Contact $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Mirror_Contact + */ + public function insert(Google_Service_Mirror_Contact $postBody, $optParams = array()) + { + $params = array('postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('insert', array($params), "Google_Service_Mirror_Contact"); + } + /** + * Retrieves a list of contacts for the authenticated user. + * (contacts.listContacts) + * + * @param array $optParams Optional parameters. + * @return Google_Service_Mirror_ContactsListResponse + */ + public function listContacts($optParams = array()) + { + $params = array(); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Mirror_ContactsListResponse"); + } + /** + * Updates a contact in place. This method supports patch semantics. + * (contacts.patch) + * + * @param string $id The ID of the contact. + * @param Google_Service_Mirror_Contact $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Mirror_Contact + */ + public function patch($id, Google_Service_Mirror_Contact $postBody, $optParams = array()) + { + $params = array('id' => $id, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('patch', array($params), "Google_Service_Mirror_Contact"); + } + /** + * Updates a contact in place. (contacts.update) + * + * @param string $id The ID of the contact. + * @param Google_Service_Mirror_Contact $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Mirror_Contact + */ + public function update($id, Google_Service_Mirror_Contact $postBody, $optParams = array()) + { + $params = array('id' => $id, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('update', array($params), "Google_Service_Mirror_Contact"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Mirror/Resource/Locations.php b/vendor/google/apiclient-services/src/Google/Service/Mirror/Resource/Locations.php new file mode 100644 index 00000000..f611eff4 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Mirror/Resource/Locations.php @@ -0,0 +1,54 @@ + + * $mirrorService = new Google_Service_Mirror(...); + * $locations = $mirrorService->locations; + * + */ +class Google_Service_Mirror_Resource_Locations extends Google_Service_Resource +{ + /** + * Gets a single location by ID. (locations.get) + * + * @param string $id The ID of the location or latest for the last known + * location. + * @param array $optParams Optional parameters. + * @return Google_Service_Mirror_Location + */ + public function get($id, $optParams = array()) + { + $params = array('id' => $id); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Mirror_Location"); + } + /** + * Retrieves a list of locations for the user. (locations.listLocations) + * + * @param array $optParams Optional parameters. + * @return Google_Service_Mirror_LocationsListResponse + */ + public function listLocations($optParams = array()) + { + $params = array(); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Mirror_LocationsListResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Mirror/Resource/Settings.php b/vendor/google/apiclient-services/src/Google/Service/Mirror/Resource/Settings.php new file mode 100644 index 00000000..0927bd31 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Mirror/Resource/Settings.php @@ -0,0 +1,45 @@ + + * $mirrorService = new Google_Service_Mirror(...); + * $settings = $mirrorService->settings; + * + */ +class Google_Service_Mirror_Resource_Settings extends Google_Service_Resource +{ + /** + * Gets a single setting by ID. (settings.get) + * + * @param string $id The ID of the setting. The following IDs are valid: - + * locale - The key to the user’s language/locale (BCP 47 identifier) that + * Glassware should use to render localized content. - timezone - The key to + * the user’s current time zone region as defined in the tz database. Example: + * America/Los_Angeles. + * @param array $optParams Optional parameters. + * @return Google_Service_Mirror_Setting + */ + public function get($id, $optParams = array()) + { + $params = array('id' => $id); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Mirror_Setting"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Mirror/Resource/Subscriptions.php b/vendor/google/apiclient-services/src/Google/Service/Mirror/Resource/Subscriptions.php new file mode 100644 index 00000000..8e837bd5 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Mirror/Resource/Subscriptions.php @@ -0,0 +1,80 @@ + + * $mirrorService = new Google_Service_Mirror(...); + * $subscriptions = $mirrorService->subscriptions; + * + */ +class Google_Service_Mirror_Resource_Subscriptions extends Google_Service_Resource +{ + /** + * Deletes a subscription. (subscriptions.delete) + * + * @param string $id The ID of the subscription. + * @param array $optParams Optional parameters. + */ + public function delete($id, $optParams = array()) + { + $params = array('id' => $id); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params)); + } + /** + * Creates a new subscription. (subscriptions.insert) + * + * @param Google_Service_Mirror_Subscription $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Mirror_Subscription + */ + public function insert(Google_Service_Mirror_Subscription $postBody, $optParams = array()) + { + $params = array('postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('insert', array($params), "Google_Service_Mirror_Subscription"); + } + /** + * Retrieves a list of subscriptions for the authenticated user and service. + * (subscriptions.listSubscriptions) + * + * @param array $optParams Optional parameters. + * @return Google_Service_Mirror_SubscriptionsListResponse + */ + public function listSubscriptions($optParams = array()) + { + $params = array(); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Mirror_SubscriptionsListResponse"); + } + /** + * Updates an existing subscription in place. (subscriptions.update) + * + * @param string $id The ID of the subscription. + * @param Google_Service_Mirror_Subscription $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Mirror_Subscription + */ + public function update($id, Google_Service_Mirror_Subscription $postBody, $optParams = array()) + { + $params = array('id' => $id, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('update', array($params), "Google_Service_Mirror_Subscription"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Mirror/Resource/Timeline.php b/vendor/google/apiclient-services/src/Google/Service/Mirror/Resource/Timeline.php new file mode 100644 index 00000000..b172dcd4 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Mirror/Resource/Timeline.php @@ -0,0 +1,121 @@ + + * $mirrorService = new Google_Service_Mirror(...); + * $timeline = $mirrorService->timeline; + * + */ +class Google_Service_Mirror_Resource_Timeline extends Google_Service_Resource +{ + /** + * Deletes a timeline item. (timeline.delete) + * + * @param string $id The ID of the timeline item. + * @param array $optParams Optional parameters. + */ + public function delete($id, $optParams = array()) + { + $params = array('id' => $id); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params)); + } + /** + * Gets a single timeline item by ID. (timeline.get) + * + * @param string $id The ID of the timeline item. + * @param array $optParams Optional parameters. + * @return Google_Service_Mirror_TimelineItem + */ + public function get($id, $optParams = array()) + { + $params = array('id' => $id); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Mirror_TimelineItem"); + } + /** + * Inserts a new item into the timeline. (timeline.insert) + * + * @param Google_Service_Mirror_TimelineItem $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Mirror_TimelineItem + */ + public function insert(Google_Service_Mirror_TimelineItem $postBody, $optParams = array()) + { + $params = array('postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('insert', array($params), "Google_Service_Mirror_TimelineItem"); + } + /** + * Retrieves a list of timeline items for the authenticated user. + * (timeline.listTimeline) + * + * @param array $optParams Optional parameters. + * + * @opt_param string bundleId If provided, only items with the given bundleId + * will be returned. + * @opt_param bool includeDeleted If true, tombstone records for deleted items + * will be returned. + * @opt_param string maxResults The maximum number of items to include in the + * response, used for paging. + * @opt_param string orderBy Controls the order in which timeline items are + * returned. + * @opt_param string pageToken Token for the page of results to return. + * @opt_param bool pinnedOnly If true, only pinned items will be returned. + * @opt_param string sourceItemId If provided, only items with the given + * sourceItemId will be returned. + * @return Google_Service_Mirror_TimelineListResponse + */ + public function listTimeline($optParams = array()) + { + $params = array(); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Mirror_TimelineListResponse"); + } + /** + * Updates a timeline item in place. This method supports patch semantics. + * (timeline.patch) + * + * @param string $id The ID of the timeline item. + * @param Google_Service_Mirror_TimelineItem $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Mirror_TimelineItem + */ + public function patch($id, Google_Service_Mirror_TimelineItem $postBody, $optParams = array()) + { + $params = array('id' => $id, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('patch', array($params), "Google_Service_Mirror_TimelineItem"); + } + /** + * Updates a timeline item in place. (timeline.update) + * + * @param string $id The ID of the timeline item. + * @param Google_Service_Mirror_TimelineItem $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Mirror_TimelineItem + */ + public function update($id, Google_Service_Mirror_TimelineItem $postBody, $optParams = array()) + { + $params = array('id' => $id, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('update', array($params), "Google_Service_Mirror_TimelineItem"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Mirror/Resource/TimelineAttachments.php b/vendor/google/apiclient-services/src/Google/Service/Mirror/Resource/TimelineAttachments.php new file mode 100644 index 00000000..458179aa --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Mirror/Resource/TimelineAttachments.php @@ -0,0 +1,84 @@ + + * $mirrorService = new Google_Service_Mirror(...); + * $attachments = $mirrorService->attachments; + * + */ +class Google_Service_Mirror_Resource_TimelineAttachments extends Google_Service_Resource +{ + /** + * Deletes an attachment from a timeline item. (attachments.delete) + * + * @param string $itemId The ID of the timeline item the attachment belongs to. + * @param string $attachmentId The ID of the attachment. + * @param array $optParams Optional parameters. + */ + public function delete($itemId, $attachmentId, $optParams = array()) + { + $params = array('itemId' => $itemId, 'attachmentId' => $attachmentId); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params)); + } + /** + * Retrieves an attachment on a timeline item by item ID and attachment ID. + * (attachments.get) + * + * @param string $itemId The ID of the timeline item the attachment belongs to. + * @param string $attachmentId The ID of the attachment. + * @param array $optParams Optional parameters. + * @return Google_Service_Mirror_Attachment + */ + public function get($itemId, $attachmentId, $optParams = array()) + { + $params = array('itemId' => $itemId, 'attachmentId' => $attachmentId); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Mirror_Attachment"); + } + /** + * Adds a new attachment to a timeline item. (attachments.insert) + * + * @param string $itemId The ID of the timeline item the attachment belongs to. + * @param array $optParams Optional parameters. + * @return Google_Service_Mirror_Attachment + */ + public function insert($itemId, $optParams = array()) + { + $params = array('itemId' => $itemId); + $params = array_merge($params, $optParams); + return $this->call('insert', array($params), "Google_Service_Mirror_Attachment"); + } + /** + * Returns a list of attachments for a timeline item. + * (attachments.listTimelineAttachments) + * + * @param string $itemId The ID of the timeline item whose attachments should be + * listed. + * @param array $optParams Optional parameters. + * @return Google_Service_Mirror_AttachmentsListResponse + */ + public function listTimelineAttachments($itemId, $optParams = array()) + { + $params = array('itemId' => $itemId); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Mirror_AttachmentsListResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Mirror/Setting.php b/vendor/google/apiclient-services/src/Google/Service/Mirror/Setting.php new file mode 100644 index 00000000..eaeaf385 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Mirror/Setting.php @@ -0,0 +1,48 @@ +id = $id; + } + public function getId() + { + return $this->id; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setValue($value) + { + $this->value = $value; + } + public function getValue() + { + return $this->value; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Mirror/Subscription.php b/vendor/google/apiclient-services/src/Google/Service/Mirror/Subscription.php new file mode 100644 index 00000000..c8887390 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Mirror/Subscription.php @@ -0,0 +1,104 @@ +callbackUrl = $callbackUrl; + } + public function getCallbackUrl() + { + return $this->callbackUrl; + } + public function setCollection($collection) + { + $this->collection = $collection; + } + public function getCollection() + { + return $this->collection; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNotification(Google_Service_Mirror_Notification $notification) + { + $this->notification = $notification; + } + public function getNotification() + { + return $this->notification; + } + public function setOperation($operation) + { + $this->operation = $operation; + } + public function getOperation() + { + return $this->operation; + } + public function setUpdated($updated) + { + $this->updated = $updated; + } + public function getUpdated() + { + return $this->updated; + } + public function setUserToken($userToken) + { + $this->userToken = $userToken; + } + public function getUserToken() + { + return $this->userToken; + } + public function setVerifyToken($verifyToken) + { + $this->verifyToken = $verifyToken; + } + public function getVerifyToken() + { + return $this->verifyToken; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Mirror/SubscriptionsListResponse.php b/vendor/google/apiclient-services/src/Google/Service/Mirror/SubscriptionsListResponse.php new file mode 100644 index 00000000..35323f41 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Mirror/SubscriptionsListResponse.php @@ -0,0 +1,41 @@ +items = $items; + } + public function getItems() + { + return $this->items; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Mirror/TimelineItem.php b/vendor/google/apiclient-services/src/Google/Service/Mirror/TimelineItem.php new file mode 100644 index 00000000..fcc9e115 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Mirror/TimelineItem.php @@ -0,0 +1,262 @@ +attachments = $attachments; + } + public function getAttachments() + { + return $this->attachments; + } + public function setBundleId($bundleId) + { + $this->bundleId = $bundleId; + } + public function getBundleId() + { + return $this->bundleId; + } + public function setCanonicalUrl($canonicalUrl) + { + $this->canonicalUrl = $canonicalUrl; + } + public function getCanonicalUrl() + { + return $this->canonicalUrl; + } + public function setCreated($created) + { + $this->created = $created; + } + public function getCreated() + { + return $this->created; + } + public function setCreator(Google_Service_Mirror_Contact $creator) + { + $this->creator = $creator; + } + public function getCreator() + { + return $this->creator; + } + public function setDisplayTime($displayTime) + { + $this->displayTime = $displayTime; + } + public function getDisplayTime() + { + return $this->displayTime; + } + public function setEtag($etag) + { + $this->etag = $etag; + } + public function getEtag() + { + return $this->etag; + } + public function setHtml($html) + { + $this->html = $html; + } + public function getHtml() + { + return $this->html; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setInReplyTo($inReplyTo) + { + $this->inReplyTo = $inReplyTo; + } + public function getInReplyTo() + { + return $this->inReplyTo; + } + public function setIsBundleCover($isBundleCover) + { + $this->isBundleCover = $isBundleCover; + } + public function getIsBundleCover() + { + return $this->isBundleCover; + } + public function setIsDeleted($isDeleted) + { + $this->isDeleted = $isDeleted; + } + public function getIsDeleted() + { + return $this->isDeleted; + } + public function setIsPinned($isPinned) + { + $this->isPinned = $isPinned; + } + public function getIsPinned() + { + return $this->isPinned; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setLocation(Google_Service_Mirror_Location $location) + { + $this->location = $location; + } + public function getLocation() + { + return $this->location; + } + public function setMenuItems($menuItems) + { + $this->menuItems = $menuItems; + } + public function getMenuItems() + { + return $this->menuItems; + } + public function setNotification(Google_Service_Mirror_NotificationConfig $notification) + { + $this->notification = $notification; + } + public function getNotification() + { + return $this->notification; + } + public function setPinScore($pinScore) + { + $this->pinScore = $pinScore; + } + public function getPinScore() + { + return $this->pinScore; + } + public function setRecipients($recipients) + { + $this->recipients = $recipients; + } + public function getRecipients() + { + return $this->recipients; + } + public function setSelfLink($selfLink) + { + $this->selfLink = $selfLink; + } + public function getSelfLink() + { + return $this->selfLink; + } + public function setSourceItemId($sourceItemId) + { + $this->sourceItemId = $sourceItemId; + } + public function getSourceItemId() + { + return $this->sourceItemId; + } + public function setSpeakableText($speakableText) + { + $this->speakableText = $speakableText; + } + public function getSpeakableText() + { + return $this->speakableText; + } + public function setSpeakableType($speakableType) + { + $this->speakableType = $speakableType; + } + public function getSpeakableType() + { + return $this->speakableType; + } + public function setText($text) + { + $this->text = $text; + } + public function getText() + { + return $this->text; + } + public function setTitle($title) + { + $this->title = $title; + } + public function getTitle() + { + return $this->title; + } + public function setUpdated($updated) + { + $this->updated = $updated; + } + public function getUpdated() + { + return $this->updated; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Mirror/TimelineListResponse.php b/vendor/google/apiclient-services/src/Google/Service/Mirror/TimelineListResponse.php new file mode 100644 index 00000000..f19256c7 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Mirror/TimelineListResponse.php @@ -0,0 +1,50 @@ +items = $items; + } + public function getItems() + { + return $this->items; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Mirror/UserAction.php b/vendor/google/apiclient-services/src/Google/Service/Mirror/UserAction.php new file mode 100644 index 00000000..e2f9ade5 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Mirror/UserAction.php @@ -0,0 +1,39 @@ +payload = $payload; + } + public function getPayload() + { + return $this->payload; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Mirror/UserData.php b/vendor/google/apiclient-services/src/Google/Service/Mirror/UserData.php new file mode 100644 index 00000000..83fc2a62 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Mirror/UserData.php @@ -0,0 +1,39 @@ +key = $key; + } + public function getKey() + { + return $this->key; + } + public function setValue($value) + { + $this->value = $value; + } + public function getValue() + { + return $this->value; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Monitoring.php b/vendor/google/apiclient-services/src/Google/Service/Monitoring.php new file mode 100644 index 00000000..69d784a4 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Monitoring.php @@ -0,0 +1,396 @@ + + * Manages your Stackdriver Monitoring data and configurations. Most projects + * must be associated with a Stackdriver account, with a few exceptions as noted + * on the individual method pages.

+ * + *

+ * For more information about this service, see the API + * Documentation + *

+ * + * @author Google, Inc. + */ +class Google_Service_Monitoring extends Google_Service +{ + /** View and manage your data across Google Cloud Platform services. */ + const CLOUD_PLATFORM = + "https://www.googleapis.com/auth/cloud-platform"; + /** View and write monitoring data for all of your Google and third-party Cloud and API projects. */ + const MONITORING = + "https://www.googleapis.com/auth/monitoring"; + /** View monitoring data for all of your Google Cloud and third-party projects. */ + const MONITORING_READ = + "https://www.googleapis.com/auth/monitoring.read"; + /** Publish metric data to your Google Cloud projects. */ + const MONITORING_WRITE = + "https://www.googleapis.com/auth/monitoring.write"; + + public $projects_collectdTimeSeries; + public $projects_groups; + public $projects_groups_members; + public $projects_metricDescriptors; + public $projects_monitoredResourceDescriptors; + public $projects_timeSeries; + + /** + * Constructs the internal representation of the Monitoring service. + * + * @param Google_Client $client + */ + public function __construct(Google_Client $client) + { + parent::__construct($client); + $this->rootUrl = 'https://monitoring.googleapis.com/'; + $this->servicePath = ''; + $this->version = 'v3'; + $this->serviceName = 'monitoring'; + + $this->projects_collectdTimeSeries = new Google_Service_Monitoring_Resource_ProjectsCollectdTimeSeries( + $this, + $this->serviceName, + 'collectdTimeSeries', + array( + 'methods' => array( + 'create' => array( + 'path' => 'v3/{+name}/collectdTimeSeries', + 'httpMethod' => 'POST', + 'parameters' => array( + 'name' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->projects_groups = new Google_Service_Monitoring_Resource_ProjectsGroups( + $this, + $this->serviceName, + 'groups', + array( + 'methods' => array( + 'create' => array( + 'path' => 'v3/{+name}/groups', + 'httpMethod' => 'POST', + 'parameters' => array( + 'name' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'validateOnly' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + ), + ),'delete' => array( + 'path' => 'v3/{+name}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'name' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'get' => array( + 'path' => 'v3/{+name}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'name' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'v3/{+name}/groups', + 'httpMethod' => 'GET', + 'parameters' => array( + 'name' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'childrenOfGroup' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'descendantsOfGroup' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pageSize' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'ancestorsOfGroup' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'update' => array( + 'path' => 'v3/{+name}', + 'httpMethod' => 'PUT', + 'parameters' => array( + 'name' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'validateOnly' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + ), + ), + ) + ) + ); + $this->projects_groups_members = new Google_Service_Monitoring_Resource_ProjectsGroupsMembers( + $this, + $this->serviceName, + 'members', + array( + 'methods' => array( + 'list' => array( + 'path' => 'v3/{+name}/members', + 'httpMethod' => 'GET', + 'parameters' => array( + 'name' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'interval.endTime' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'filter' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pageSize' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'interval.startTime' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + $this->projects_metricDescriptors = new Google_Service_Monitoring_Resource_ProjectsMetricDescriptors( + $this, + $this->serviceName, + 'metricDescriptors', + array( + 'methods' => array( + 'create' => array( + 'path' => 'v3/{+name}/metricDescriptors', + 'httpMethod' => 'POST', + 'parameters' => array( + 'name' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'delete' => array( + 'path' => 'v3/{+name}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'name' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'get' => array( + 'path' => 'v3/{+name}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'name' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'v3/{+name}/metricDescriptors', + 'httpMethod' => 'GET', + 'parameters' => array( + 'name' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pageSize' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'filter' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + $this->projects_monitoredResourceDescriptors = new Google_Service_Monitoring_Resource_ProjectsMonitoredResourceDescriptors( + $this, + $this->serviceName, + 'monitoredResourceDescriptors', + array( + 'methods' => array( + 'get' => array( + 'path' => 'v3/{+name}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'name' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'v3/{+name}/monitoredResourceDescriptors', + 'httpMethod' => 'GET', + 'parameters' => array( + 'name' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pageSize' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'filter' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + $this->projects_timeSeries = new Google_Service_Monitoring_Resource_ProjectsTimeSeries( + $this, + $this->serviceName, + 'timeSeries', + array( + 'methods' => array( + 'create' => array( + 'path' => 'v3/{+name}/timeSeries', + 'httpMethod' => 'POST', + 'parameters' => array( + 'name' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'v3/{+name}/timeSeries', + 'httpMethod' => 'GET', + 'parameters' => array( + 'name' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'aggregation.crossSeriesReducer' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'filter' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'aggregation.perSeriesAligner' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'interval.startTime' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'view' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'aggregation.groupByFields' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + ), + 'interval.endTime' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'aggregation.alignmentPeriod' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pageSize' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'orderBy' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Monitoring/BucketOptions.php b/vendor/google/apiclient-services/src/Google/Service/Monitoring/BucketOptions.php new file mode 100644 index 00000000..15a2b9e5 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Monitoring/BucketOptions.php @@ -0,0 +1,51 @@ +explicitBuckets = $explicitBuckets; + } + public function getExplicitBuckets() + { + return $this->explicitBuckets; + } + public function setExponentialBuckets(Google_Service_Monitoring_Exponential $exponentialBuckets) + { + $this->exponentialBuckets = $exponentialBuckets; + } + public function getExponentialBuckets() + { + return $this->exponentialBuckets; + } + public function setLinearBuckets(Google_Service_Monitoring_Linear $linearBuckets) + { + $this->linearBuckets = $linearBuckets; + } + public function getLinearBuckets() + { + return $this->linearBuckets; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Monitoring/CollectdPayload.php b/vendor/google/apiclient-services/src/Google/Service/Monitoring/CollectdPayload.php new file mode 100644 index 00000000..42564424 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Monitoring/CollectdPayload.php @@ -0,0 +1,96 @@ +endTime = $endTime; + } + public function getEndTime() + { + return $this->endTime; + } + public function setMetadata($metadata) + { + $this->metadata = $metadata; + } + public function getMetadata() + { + return $this->metadata; + } + public function setPlugin($plugin) + { + $this->plugin = $plugin; + } + public function getPlugin() + { + return $this->plugin; + } + public function setPluginInstance($pluginInstance) + { + $this->pluginInstance = $pluginInstance; + } + public function getPluginInstance() + { + return $this->pluginInstance; + } + public function setStartTime($startTime) + { + $this->startTime = $startTime; + } + public function getStartTime() + { + return $this->startTime; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } + public function setTypeInstance($typeInstance) + { + $this->typeInstance = $typeInstance; + } + public function getTypeInstance() + { + return $this->typeInstance; + } + public function setValues($values) + { + $this->values = $values; + } + public function getValues() + { + return $this->values; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Monitoring/CollectdValue.php b/vendor/google/apiclient-services/src/Google/Service/Monitoring/CollectdValue.php new file mode 100644 index 00000000..5ce4cab8 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Monitoring/CollectdValue.php @@ -0,0 +1,49 @@ +dataSourceName = $dataSourceName; + } + public function getDataSourceName() + { + return $this->dataSourceName; + } + public function setDataSourceType($dataSourceType) + { + $this->dataSourceType = $dataSourceType; + } + public function getDataSourceType() + { + return $this->dataSourceType; + } + public function setValue(Google_Service_Monitoring_TypedValue $value) + { + $this->value = $value; + } + public function getValue() + { + return $this->value; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Monitoring/CreateCollectdTimeSeriesRequest.php b/vendor/google/apiclient-services/src/Google/Service/Monitoring/CreateCollectdTimeSeriesRequest.php new file mode 100644 index 00000000..9c461bf5 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Monitoring/CreateCollectdTimeSeriesRequest.php @@ -0,0 +1,51 @@ +collectdPayloads = $collectdPayloads; + } + public function getCollectdPayloads() + { + return $this->collectdPayloads; + } + public function setCollectdVersion($collectdVersion) + { + $this->collectdVersion = $collectdVersion; + } + public function getCollectdVersion() + { + return $this->collectdVersion; + } + public function setResource(Google_Service_Monitoring_MonitoredResource $resource) + { + $this->resource = $resource; + } + public function getResource() + { + return $this->resource; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Monitoring/CreateTimeSeriesRequest.php b/vendor/google/apiclient-services/src/Google/Service/Monitoring/CreateTimeSeriesRequest.php new file mode 100644 index 00000000..3199053d --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Monitoring/CreateTimeSeriesRequest.php @@ -0,0 +1,32 @@ +timeSeries = $timeSeries; + } + public function getTimeSeries() + { + return $this->timeSeries; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Monitoring/Distribution.php b/vendor/google/apiclient-services/src/Google/Service/Monitoring/Distribution.php new file mode 100644 index 00000000..42bdc3c4 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Monitoring/Distribution.php @@ -0,0 +1,78 @@ +bucketCounts = $bucketCounts; + } + public function getBucketCounts() + { + return $this->bucketCounts; + } + public function setBucketOptions(Google_Service_Monitoring_BucketOptions $bucketOptions) + { + $this->bucketOptions = $bucketOptions; + } + public function getBucketOptions() + { + return $this->bucketOptions; + } + public function setCount($count) + { + $this->count = $count; + } + public function getCount() + { + return $this->count; + } + public function setMean($mean) + { + $this->mean = $mean; + } + public function getMean() + { + return $this->mean; + } + public function setRange(Google_Service_Monitoring_Range $range) + { + $this->range = $range; + } + public function getRange() + { + return $this->range; + } + public function setSumOfSquaredDeviation($sumOfSquaredDeviation) + { + $this->sumOfSquaredDeviation = $sumOfSquaredDeviation; + } + public function getSumOfSquaredDeviation() + { + return $this->sumOfSquaredDeviation; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Monitoring/Explicit.php b/vendor/google/apiclient-services/src/Google/Service/Monitoring/Explicit.php new file mode 100644 index 00000000..7a65c161 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Monitoring/Explicit.php @@ -0,0 +1,31 @@ +bounds = $bounds; + } + public function getBounds() + { + return $this->bounds; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Monitoring/Exponential.php b/vendor/google/apiclient-services/src/Google/Service/Monitoring/Exponential.php new file mode 100644 index 00000000..bec5db2f --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Monitoring/Exponential.php @@ -0,0 +1,48 @@ +growthFactor = $growthFactor; + } + public function getGrowthFactor() + { + return $this->growthFactor; + } + public function setNumFiniteBuckets($numFiniteBuckets) + { + $this->numFiniteBuckets = $numFiniteBuckets; + } + public function getNumFiniteBuckets() + { + return $this->numFiniteBuckets; + } + public function setScale($scale) + { + $this->scale = $scale; + } + public function getScale() + { + return $this->scale; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Monitoring/Field.php b/vendor/google/apiclient-services/src/Google/Service/Monitoring/Field.php new file mode 100644 index 00000000..8c777474 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Monitoring/Field.php @@ -0,0 +1,113 @@ +cardinality = $cardinality; + } + public function getCardinality() + { + return $this->cardinality; + } + public function setDefaultValue($defaultValue) + { + $this->defaultValue = $defaultValue; + } + public function getDefaultValue() + { + return $this->defaultValue; + } + public function setJsonName($jsonName) + { + $this->jsonName = $jsonName; + } + public function getJsonName() + { + return $this->jsonName; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setNumber($number) + { + $this->number = $number; + } + public function getNumber() + { + return $this->number; + } + public function setOneofIndex($oneofIndex) + { + $this->oneofIndex = $oneofIndex; + } + public function getOneofIndex() + { + return $this->oneofIndex; + } + public function setOptions($options) + { + $this->options = $options; + } + public function getOptions() + { + return $this->options; + } + public function setPacked($packed) + { + $this->packed = $packed; + } + public function getPacked() + { + return $this->packed; + } + public function setTypeUrl($typeUrl) + { + $this->typeUrl = $typeUrl; + } + public function getTypeUrl() + { + return $this->typeUrl; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Monitoring/Group.php b/vendor/google/apiclient-services/src/Google/Service/Monitoring/Group.php new file mode 100644 index 00000000..daba3e52 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Monitoring/Group.php @@ -0,0 +1,66 @@ +displayName = $displayName; + } + public function getDisplayName() + { + return $this->displayName; + } + public function setFilter($filter) + { + $this->filter = $filter; + } + public function getFilter() + { + return $this->filter; + } + public function setIsCluster($isCluster) + { + $this->isCluster = $isCluster; + } + public function getIsCluster() + { + return $this->isCluster; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setParentName($parentName) + { + $this->parentName = $parentName; + } + public function getParentName() + { + return $this->parentName; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Monitoring/LabelDescriptor.php b/vendor/google/apiclient-services/src/Google/Service/Monitoring/LabelDescriptor.php new file mode 100644 index 00000000..1cdde867 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Monitoring/LabelDescriptor.php @@ -0,0 +1,48 @@ +description = $description; + } + public function getDescription() + { + return $this->description; + } + public function setKey($key) + { + $this->key = $key; + } + public function getKey() + { + return $this->key; + } + public function setValueType($valueType) + { + $this->valueType = $valueType; + } + public function getValueType() + { + return $this->valueType; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Monitoring/Linear.php b/vendor/google/apiclient-services/src/Google/Service/Monitoring/Linear.php new file mode 100644 index 00000000..ccfc8fbc --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Monitoring/Linear.php @@ -0,0 +1,48 @@ +numFiniteBuckets = $numFiniteBuckets; + } + public function getNumFiniteBuckets() + { + return $this->numFiniteBuckets; + } + public function setOffset($offset) + { + $this->offset = $offset; + } + public function getOffset() + { + return $this->offset; + } + public function setWidth($width) + { + $this->width = $width; + } + public function getWidth() + { + return $this->width; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Monitoring/ListGroupMembersResponse.php b/vendor/google/apiclient-services/src/Google/Service/Monitoring/ListGroupMembersResponse.php new file mode 100644 index 00000000..c48880a4 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Monitoring/ListGroupMembersResponse.php @@ -0,0 +1,50 @@ +members = $members; + } + public function getMembers() + { + return $this->members; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setTotalSize($totalSize) + { + $this->totalSize = $totalSize; + } + public function getTotalSize() + { + return $this->totalSize; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Monitoring/ListGroupsResponse.php b/vendor/google/apiclient-services/src/Google/Service/Monitoring/ListGroupsResponse.php new file mode 100644 index 00000000..d5478fdf --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Monitoring/ListGroupsResponse.php @@ -0,0 +1,41 @@ +group = $group; + } + public function getGroup() + { + return $this->group; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Monitoring/ListMetricDescriptorsResponse.php b/vendor/google/apiclient-services/src/Google/Service/Monitoring/ListMetricDescriptorsResponse.php new file mode 100644 index 00000000..2c06e5ef --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Monitoring/ListMetricDescriptorsResponse.php @@ -0,0 +1,41 @@ +metricDescriptors = $metricDescriptors; + } + public function getMetricDescriptors() + { + return $this->metricDescriptors; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Monitoring/ListMonitoredResourceDescriptorsResponse.php b/vendor/google/apiclient-services/src/Google/Service/Monitoring/ListMonitoredResourceDescriptorsResponse.php new file mode 100644 index 00000000..358881f6 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Monitoring/ListMonitoredResourceDescriptorsResponse.php @@ -0,0 +1,41 @@ +nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setResourceDescriptors($resourceDescriptors) + { + $this->resourceDescriptors = $resourceDescriptors; + } + public function getResourceDescriptors() + { + return $this->resourceDescriptors; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Monitoring/ListTimeSeriesResponse.php b/vendor/google/apiclient-services/src/Google/Service/Monitoring/ListTimeSeriesResponse.php new file mode 100644 index 00000000..8bbfcccd --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Monitoring/ListTimeSeriesResponse.php @@ -0,0 +1,41 @@ +nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setTimeSeries($timeSeries) + { + $this->timeSeries = $timeSeries; + } + public function getTimeSeries() + { + return $this->timeSeries; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Monitoring/Metric.php b/vendor/google/apiclient-services/src/Google/Service/Monitoring/Metric.php new file mode 100644 index 00000000..01bc87ed --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Monitoring/Metric.php @@ -0,0 +1,39 @@ +labels = $labels; + } + public function getLabels() + { + return $this->labels; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Monitoring/MetricDescriptor.php b/vendor/google/apiclient-services/src/Google/Service/Monitoring/MetricDescriptor.php new file mode 100644 index 00000000..ccb29198 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Monitoring/MetricDescriptor.php @@ -0,0 +1,95 @@ +description = $description; + } + public function getDescription() + { + return $this->description; + } + public function setDisplayName($displayName) + { + $this->displayName = $displayName; + } + public function getDisplayName() + { + return $this->displayName; + } + public function setLabels($labels) + { + $this->labels = $labels; + } + public function getLabels() + { + return $this->labels; + } + public function setMetricKind($metricKind) + { + $this->metricKind = $metricKind; + } + public function getMetricKind() + { + return $this->metricKind; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } + public function setUnit($unit) + { + $this->unit = $unit; + } + public function getUnit() + { + return $this->unit; + } + public function setValueType($valueType) + { + $this->valueType = $valueType; + } + public function getValueType() + { + return $this->valueType; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Monitoring/MonitoredResource.php b/vendor/google/apiclient-services/src/Google/Service/Monitoring/MonitoredResource.php new file mode 100644 index 00000000..7845d3dd --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Monitoring/MonitoredResource.php @@ -0,0 +1,39 @@ +labels = $labels; + } + public function getLabels() + { + return $this->labels; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Monitoring/MonitoredResourceDescriptor.php b/vendor/google/apiclient-services/src/Google/Service/Monitoring/MonitoredResourceDescriptor.php new file mode 100644 index 00000000..c664f894 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Monitoring/MonitoredResourceDescriptor.php @@ -0,0 +1,68 @@ +description = $description; + } + public function getDescription() + { + return $this->description; + } + public function setDisplayName($displayName) + { + $this->displayName = $displayName; + } + public function getDisplayName() + { + return $this->displayName; + } + public function setLabels($labels) + { + $this->labels = $labels; + } + public function getLabels() + { + return $this->labels; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Monitoring/MonitoringEmpty.php b/vendor/google/apiclient-services/src/Google/Service/Monitoring/MonitoringEmpty.php new file mode 100644 index 00000000..e6becdc2 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Monitoring/MonitoringEmpty.php @@ -0,0 +1,20 @@ +name = $name; + } + public function getName() + { + return $this->name; + } + public function setValue($value) + { + $this->value = $value; + } + public function getValue() + { + return $this->value; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Monitoring/Point.php b/vendor/google/apiclient-services/src/Google/Service/Monitoring/Point.php new file mode 100644 index 00000000..b565897c --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Monitoring/Point.php @@ -0,0 +1,41 @@ +interval = $interval; + } + public function getInterval() + { + return $this->interval; + } + public function setValue(Google_Service_Monitoring_TypedValue $value) + { + $this->value = $value; + } + public function getValue() + { + return $this->value; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Monitoring/Range.php b/vendor/google/apiclient-services/src/Google/Service/Monitoring/Range.php new file mode 100644 index 00000000..ca54281f --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Monitoring/Range.php @@ -0,0 +1,39 @@ +max = $max; + } + public function getMax() + { + return $this->max; + } + public function setMin($min) + { + $this->min = $min; + } + public function getMin() + { + return $this->min; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Monitoring/Resource/Projects.php b/vendor/google/apiclient-services/src/Google/Service/Monitoring/Resource/Projects.php new file mode 100644 index 00000000..92cf8f9c --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Monitoring/Resource/Projects.php @@ -0,0 +1,28 @@ + + * $monitoringService = new Google_Service_Monitoring(...); + * $projects = $monitoringService->projects; + * + */ +class Google_Service_Monitoring_Resource_Projects extends Google_Service_Resource +{ +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Monitoring/Resource/ProjectsCollectdTimeSeries.php b/vendor/google/apiclient-services/src/Google/Service/Monitoring/Resource/ProjectsCollectdTimeSeries.php new file mode 100644 index 00000000..da528965 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Monitoring/Resource/ProjectsCollectdTimeSeries.php @@ -0,0 +1,45 @@ + + * $monitoringService = new Google_Service_Monitoring(...); + * $collectdTimeSeries = $monitoringService->collectdTimeSeries; + * + */ +class Google_Service_Monitoring_Resource_ProjectsCollectdTimeSeries extends Google_Service_Resource +{ + /** + * Stackdriver Monitoring Agent only: Creates a new time series.This method is + * only for use by the Stackdriver Monitoring Agent. Use + * projects.timeSeries.create instead. (collectdTimeSeries.create) + * + * @param string $name The project in which to create the time series. The + * format is "projects/PROJECT_ID_OR_NUMBER". + * @param Google_Service_Monitoring_CreateCollectdTimeSeriesRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Monitoring_MonitoringEmpty + */ + public function create($name, Google_Service_Monitoring_CreateCollectdTimeSeriesRequest $postBody, $optParams = array()) + { + $params = array('name' => $name, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('create', array($params), "Google_Service_Monitoring_MonitoringEmpty"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Monitoring/Resource/ProjectsGroups.php b/vendor/google/apiclient-services/src/Google/Service/Monitoring/Resource/ProjectsGroups.php new file mode 100644 index 00000000..75c24fd0 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Monitoring/Resource/ProjectsGroups.php @@ -0,0 +1,130 @@ + + * $monitoringService = new Google_Service_Monitoring(...); + * $groups = $monitoringService->groups; + * + */ +class Google_Service_Monitoring_Resource_ProjectsGroups extends Google_Service_Resource +{ + /** + * Creates a new group. (groups.create) + * + * @param string $name The project in which to create the group. The format is + * "projects/{project_id_or_number}". + * @param Google_Service_Monitoring_Group $postBody + * @param array $optParams Optional parameters. + * + * @opt_param bool validateOnly If true, validate this request but do not create + * the group. + * @return Google_Service_Monitoring_Group + */ + public function create($name, Google_Service_Monitoring_Group $postBody, $optParams = array()) + { + $params = array('name' => $name, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('create', array($params), "Google_Service_Monitoring_Group"); + } + /** + * Deletes an existing group. (groups.delete) + * + * @param string $name The group to delete. The format is + * "projects/{project_id_or_number}/groups/{group_id}". + * @param array $optParams Optional parameters. + * @return Google_Service_Monitoring_MonitoringEmpty + */ + public function delete($name, $optParams = array()) + { + $params = array('name' => $name); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params), "Google_Service_Monitoring_MonitoringEmpty"); + } + /** + * Gets a single group. (groups.get) + * + * @param string $name The group to retrieve. The format is + * "projects/{project_id_or_number}/groups/{group_id}". + * @param array $optParams Optional parameters. + * @return Google_Service_Monitoring_Group + */ + public function get($name, $optParams = array()) + { + $params = array('name' => $name); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Monitoring_Group"); + } + /** + * Lists the existing groups. (groups.listProjectsGroups) + * + * @param string $name The project whose groups are to be listed. The format is + * "projects/{project_id_or_number}". + * @param array $optParams Optional parameters. + * + * @opt_param string childrenOfGroup A group name: + * "projects/{project_id_or_number}/groups/{group_id}". Returns groups whose + * parentName field contains the group name. If no groups have this parent, the + * results are empty. + * @opt_param string descendantsOfGroup A group name: + * "projects/{project_id_or_number}/groups/{group_id}". Returns the descendants + * of the specified group. This is a superset of the results returned by the + * childrenOfGroup filter, and includes children-of-children, and so forth. + * @opt_param string pageToken If this field is not empty then it must contain + * the nextPageToken value returned by a previous call to this method. Using + * this field causes the method to return additional results from the previous + * method call. + * @opt_param int pageSize A positive number that is the maximum number of + * results to return. + * @opt_param string ancestorsOfGroup A group name: + * "projects/{project_id_or_number}/groups/{group_id}". Returns groups that are + * ancestors of the specified group. The groups are returned in order, starting + * with the immediate parent and ending with the most distant ancestor. If the + * specified group has no immediate parent, the results are empty. + * @return Google_Service_Monitoring_ListGroupsResponse + */ + public function listProjectsGroups($name, $optParams = array()) + { + $params = array('name' => $name); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Monitoring_ListGroupsResponse"); + } + /** + * Updates an existing group. You can change any group attributes except name. + * (groups.update) + * + * @param string $name Output only. The name of this group. The format is + * "projects/{project_id_or_number}/groups/{group_id}". When creating a group, + * this field is ignored and a new name is created consisting of the project + * specified in the call to CreateGroup and a unique {group_id} that is + * generated automatically. + * @param Google_Service_Monitoring_Group $postBody + * @param array $optParams Optional parameters. + * + * @opt_param bool validateOnly If true, validate this request but do not update + * the existing group. + * @return Google_Service_Monitoring_Group + */ + public function update($name, Google_Service_Monitoring_Group $postBody, $optParams = array()) + { + $params = array('name' => $name, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('update', array($params), "Google_Service_Monitoring_Group"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Monitoring/Resource/ProjectsGroupsMembers.php b/vendor/google/apiclient-services/src/Google/Service/Monitoring/Resource/ProjectsGroupsMembers.php new file mode 100644 index 00000000..a0325309 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Monitoring/Resource/ProjectsGroupsMembers.php @@ -0,0 +1,59 @@ + + * $monitoringService = new Google_Service_Monitoring(...); + * $members = $monitoringService->members; + * + */ +class Google_Service_Monitoring_Resource_ProjectsGroupsMembers extends Google_Service_Resource +{ + /** + * Lists the monitored resources that are members of a group. + * (members.listProjectsGroupsMembers) + * + * @param string $name The group whose members are listed. The format is + * "projects/{project_id_or_number}/groups/{group_id}". + * @param array $optParams Optional parameters. + * + * @opt_param string interval.endTime Required. The end of the time interval. + * @opt_param string filter An optional list filter describing the members to be + * returned. The filter may reference the type, labels, and metadata of + * monitored resources that comprise the group. For example, to return only + * resources representing Compute Engine VM instances, use this filter: + * resource.type = "gce_instance" + * @opt_param string pageToken If this field is not empty then it must contain + * the nextPageToken value returned by a previous call to this method. Using + * this field causes the method to return additional results from the previous + * method call. + * @opt_param int pageSize A positive number that is the maximum number of + * results to return. + * @opt_param string interval.startTime Optional. The beginning of the time + * interval. The default value for the start time is the end time. The start + * time must not be later than the end time. + * @return Google_Service_Monitoring_ListGroupMembersResponse + */ + public function listProjectsGroupsMembers($name, $optParams = array()) + { + $params = array('name' => $name); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Monitoring_ListGroupMembersResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Monitoring/Resource/ProjectsMetricDescriptors.php b/vendor/google/apiclient-services/src/Google/Service/Monitoring/Resource/ProjectsMetricDescriptors.php new file mode 100644 index 00000000..a374b79e --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Monitoring/Resource/ProjectsMetricDescriptors.php @@ -0,0 +1,106 @@ + + * $monitoringService = new Google_Service_Monitoring(...); + * $metricDescriptors = $monitoringService->metricDescriptors; + * + */ +class Google_Service_Monitoring_Resource_ProjectsMetricDescriptors extends Google_Service_Resource +{ + /** + * Creates a new metric descriptor. User-created metric descriptors define + * custom metrics. (metricDescriptors.create) + * + * @param string $name The project on which to execute the request. The format + * is "projects/{project_id_or_number}". + * @param Google_Service_Monitoring_MetricDescriptor $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Monitoring_MetricDescriptor + */ + public function create($name, Google_Service_Monitoring_MetricDescriptor $postBody, $optParams = array()) + { + $params = array('name' => $name, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('create', array($params), "Google_Service_Monitoring_MetricDescriptor"); + } + /** + * Deletes a metric descriptor. Only user-created custom metrics can be deleted. + * (metricDescriptors.delete) + * + * @param string $name The metric descriptor on which to execute the request. + * The format is + * "projects/{project_id_or_number}/metricDescriptors/{metric_id}". An example + * of {metric_id} is: "custom.googleapis.com/my_test_metric". + * @param array $optParams Optional parameters. + * @return Google_Service_Monitoring_MonitoringEmpty + */ + public function delete($name, $optParams = array()) + { + $params = array('name' => $name); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params), "Google_Service_Monitoring_MonitoringEmpty"); + } + /** + * Gets a single metric descriptor. This method does not require a Stackdriver + * account. (metricDescriptors.get) + * + * @param string $name The metric descriptor on which to execute the request. + * The format is + * "projects/{project_id_or_number}/metricDescriptors/{metric_id}". An example + * value of {metric_id} is + * "compute.googleapis.com/instance/disk/read_bytes_count". + * @param array $optParams Optional parameters. + * @return Google_Service_Monitoring_MetricDescriptor + */ + public function get($name, $optParams = array()) + { + $params = array('name' => $name); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Monitoring_MetricDescriptor"); + } + /** + * Lists metric descriptors that match a filter. This method does not require a + * Stackdriver account. (metricDescriptors.listProjectsMetricDescriptors) + * + * @param string $name The project on which to execute the request. The format + * is "projects/{project_id_or_number}". + * @param array $optParams Optional parameters. + * + * @opt_param string pageToken If this field is not empty then it must contain + * the nextPageToken value returned by a previous call to this method. Using + * this field causes the method to return additional results from the previous + * method call. + * @opt_param int pageSize A positive number that is the maximum number of + * results to return. + * @opt_param string filter If this field is empty, all custom and system- + * defined metric descriptors are returned. Otherwise, the filter specifies + * which metric descriptors are to be returned. For example, the following + * filter matches all custom metrics: metric.type = + * starts_with("custom.googleapis.com/") + * @return Google_Service_Monitoring_ListMetricDescriptorsResponse + */ + public function listProjectsMetricDescriptors($name, $optParams = array()) + { + $params = array('name' => $name); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Monitoring_ListMetricDescriptorsResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Monitoring/Resource/ProjectsMonitoredResourceDescriptors.php b/vendor/google/apiclient-services/src/Google/Service/Monitoring/Resource/ProjectsMonitoredResourceDescriptors.php new file mode 100644 index 00000000..f0c6d3f1 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Monitoring/Resource/ProjectsMonitoredResourceDescriptors.php @@ -0,0 +1,72 @@ + + * $monitoringService = new Google_Service_Monitoring(...); + * $monitoredResourceDescriptors = $monitoringService->monitoredResourceDescriptors; + * + */ +class Google_Service_Monitoring_Resource_ProjectsMonitoredResourceDescriptors extends Google_Service_Resource +{ + /** + * Gets a single monitored resource descriptor. This method does not require a + * Stackdriver account. (monitoredResourceDescriptors.get) + * + * @param string $name The monitored resource descriptor to get. The format is " + * projects/{project_id_or_number}/monitoredResourceDescriptors/{resource_type}" + * . The {resource_type} is a predefined type, such as cloudsql_database. + * @param array $optParams Optional parameters. + * @return Google_Service_Monitoring_MonitoredResourceDescriptor + */ + public function get($name, $optParams = array()) + { + $params = array('name' => $name); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Monitoring_MonitoredResourceDescriptor"); + } + /** + * Lists monitored resource descriptors that match a filter. This method does + * not require a Stackdriver account. + * (monitoredResourceDescriptors.listProjectsMonitoredResourceDescriptors) + * + * @param string $name The project on which to execute the request. The format + * is "projects/{project_id_or_number}". + * @param array $optParams Optional parameters. + * + * @opt_param string pageToken If this field is not empty then it must contain + * the nextPageToken value returned by a previous call to this method. Using + * this field causes the method to return additional results from the previous + * method call. + * @opt_param int pageSize A positive number that is the maximum number of + * results to return. + * @opt_param string filter An optional filter describing the descriptors to be + * returned. The filter can reference the descriptor's type and labels. For + * example, the following filter returns only Google Compute Engine descriptors + * that have an id label: resource.type = starts_with("gce_") AND + * resource.label:id + * @return Google_Service_Monitoring_ListMonitoredResourceDescriptorsResponse + */ + public function listProjectsMonitoredResourceDescriptors($name, $optParams = array()) + { + $params = array('name' => $name); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Monitoring_ListMonitoredResourceDescriptorsResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Monitoring/Resource/ProjectsTimeSeries.php b/vendor/google/apiclient-services/src/Google/Service/Monitoring/Resource/ProjectsTimeSeries.php new file mode 100644 index 00000000..8a1252d1 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Monitoring/Resource/ProjectsTimeSeries.php @@ -0,0 +1,119 @@ + + * $monitoringService = new Google_Service_Monitoring(...); + * $timeSeries = $monitoringService->timeSeries; + * + */ +class Google_Service_Monitoring_Resource_ProjectsTimeSeries extends Google_Service_Resource +{ + /** + * Creates or adds data to one or more time series. The response is empty if all + * time series in the request were written. If any time series could not be + * written, a corresponding failure message is included in the error response. + * (timeSeries.create) + * + * @param string $name The project on which to execute the request. The format + * is "projects/{project_id_or_number}". + * @param Google_Service_Monitoring_CreateTimeSeriesRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Monitoring_MonitoringEmpty + */ + public function create($name, Google_Service_Monitoring_CreateTimeSeriesRequest $postBody, $optParams = array()) + { + $params = array('name' => $name, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('create', array($params), "Google_Service_Monitoring_MonitoringEmpty"); + } + /** + * Lists time series that match a filter. This method does not require a + * Stackdriver account. (timeSeries.listProjectsTimeSeries) + * + * @param string $name The project on which to execute the request. The format + * is "projects/{project_id_or_number}". + * @param array $optParams Optional parameters. + * + * @opt_param string aggregation.crossSeriesReducer The approach to be used to + * combine time series. Not all reducer functions may be applied to all time + * series, depending on the metric type and the value type of the original time + * series. Reduction may change the metric type of value type of the time + * series.Time series data must be aligned in order to perform cross-time series + * reduction. If crossSeriesReducer is specified, then perSeriesAligner must be + * specified and not equal ALIGN_NONE and alignmentPeriod must be specified; + * otherwise, an error is returned. + * @opt_param string filter A monitoring filter that specifies which time series + * should be returned. The filter must specify a single metric type, and can + * additionally specify metric labels and other information. For example: + * metric.type = "compute.googleapis.com/instance/cpu/usage_time" AND + * metric.label.instance_name = "my-instance-name" + * @opt_param string aggregation.perSeriesAligner The approach to be used to + * align individual time series. Not all alignment functions may be applied to + * all time series, depending on the metric type and value type of the original + * time series. Alignment may change the metric type or the value type of the + * time series.Time series data must be aligned in order to perform cross-time + * series reduction. If crossSeriesReducer is specified, then perSeriesAligner + * must be specified and not equal ALIGN_NONE and alignmentPeriod must be + * specified; otherwise, an error is returned. + * @opt_param string pageToken If this field is not empty then it must contain + * the nextPageToken value returned by a previous call to this method. Using + * this field causes the method to return additional results from the previous + * method call. + * @opt_param string interval.startTime Optional. The beginning of the time + * interval. The default value for the start time is the end time. The start + * time must not be later than the end time. + * @opt_param string view Specifies which information is returned about the time + * series. + * @opt_param string aggregation.groupByFields The set of fields to preserve + * when crossSeriesReducer is specified. The groupByFields determine how the + * time series are partitioned into subsets prior to applying the aggregation + * function. Each subset contains time series that have the same value for each + * of the grouping fields. Each individual time series is a member of exactly + * one subset. The crossSeriesReducer is applied to each subset of time series. + * It is not possible to reduce across different resource types, so this field + * implicitly contains resource.type. Fields not specified in groupByFields are + * aggregated away. If groupByFields is not specified and all the time series + * have the same resource type, then the time series are aggregated into a + * single output time series. If crossSeriesReducer is not defined, this field + * is ignored. + * @opt_param string interval.endTime Required. The end of the time interval. + * @opt_param string aggregation.alignmentPeriod The alignment period for per- + * time series alignment. If present, alignmentPeriod must be at least 60 + * seconds. After per-time series alignment, each time series will contain data + * points only on the period boundaries. If perSeriesAligner is not specified or + * equals ALIGN_NONE, then this field is ignored. If perSeriesAligner is + * specified and does not equal ALIGN_NONE, then this field must be defined; + * otherwise an error is returned. + * @opt_param int pageSize A positive number that is the maximum number of + * results to return. When view field sets to FULL, it limits the number of + * Points server will return; if view field is HEADERS, it limits the number of + * TimeSeries server will return. + * @opt_param string orderBy Specifies the order in which the points of the time + * series should be returned. By default, results are not ordered. Currently, + * this field must be left blank. + * @return Google_Service_Monitoring_ListTimeSeriesResponse + */ + public function listProjectsTimeSeries($name, $optParams = array()) + { + $params = array('name' => $name); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Monitoring_ListTimeSeriesResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Monitoring/SourceContext.php b/vendor/google/apiclient-services/src/Google/Service/Monitoring/SourceContext.php new file mode 100644 index 00000000..ecad7a77 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Monitoring/SourceContext.php @@ -0,0 +1,30 @@ +fileName = $fileName; + } + public function getFileName() + { + return $this->fileName; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Monitoring/TimeInterval.php b/vendor/google/apiclient-services/src/Google/Service/Monitoring/TimeInterval.php new file mode 100644 index 00000000..0c3305cb --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Monitoring/TimeInterval.php @@ -0,0 +1,39 @@ +endTime = $endTime; + } + public function getEndTime() + { + return $this->endTime; + } + public function setStartTime($startTime) + { + $this->startTime = $startTime; + } + public function getStartTime() + { + return $this->startTime; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Monitoring/TimeSeries.php b/vendor/google/apiclient-services/src/Google/Service/Monitoring/TimeSeries.php new file mode 100644 index 00000000..898a1dda --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Monitoring/TimeSeries.php @@ -0,0 +1,70 @@ +metric = $metric; + } + public function getMetric() + { + return $this->metric; + } + public function setMetricKind($metricKind) + { + $this->metricKind = $metricKind; + } + public function getMetricKind() + { + return $this->metricKind; + } + public function setPoints($points) + { + $this->points = $points; + } + public function getPoints() + { + return $this->points; + } + public function setResource(Google_Service_Monitoring_MonitoredResource $resource) + { + $this->resource = $resource; + } + public function getResource() + { + return $this->resource; + } + public function setValueType($valueType) + { + $this->valueType = $valueType; + } + public function getValueType() + { + return $this->valueType; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Monitoring/Type.php b/vendor/google/apiclient-services/src/Google/Service/Monitoring/Type.php new file mode 100644 index 00000000..79eda5e1 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Monitoring/Type.php @@ -0,0 +1,79 @@ +fields = $fields; + } + public function getFields() + { + return $this->fields; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setOneofs($oneofs) + { + $this->oneofs = $oneofs; + } + public function getOneofs() + { + return $this->oneofs; + } + public function setOptions($options) + { + $this->options = $options; + } + public function getOptions() + { + return $this->options; + } + public function setSourceContext(Google_Service_Monitoring_SourceContext $sourceContext) + { + $this->sourceContext = $sourceContext; + } + public function getSourceContext() + { + return $this->sourceContext; + } + public function setSyntax($syntax) + { + $this->syntax = $syntax; + } + public function getSyntax() + { + return $this->syntax; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Monitoring/TypedValue.php b/vendor/google/apiclient-services/src/Google/Service/Monitoring/TypedValue.php new file mode 100644 index 00000000..58f9edfa --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Monitoring/TypedValue.php @@ -0,0 +1,67 @@ +boolValue = $boolValue; + } + public function getBoolValue() + { + return $this->boolValue; + } + public function setDistributionValue(Google_Service_Monitoring_Distribution $distributionValue) + { + $this->distributionValue = $distributionValue; + } + public function getDistributionValue() + { + return $this->distributionValue; + } + public function setDoubleValue($doubleValue) + { + $this->doubleValue = $doubleValue; + } + public function getDoubleValue() + { + return $this->doubleValue; + } + public function setInt64Value($int64Value) + { + $this->int64Value = $int64Value; + } + public function getInt64Value() + { + return $this->int64Value; + } + public function setStringValue($stringValue) + { + $this->stringValue = $stringValue; + } + public function getStringValue() + { + return $this->stringValue; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Oauth2.php b/vendor/google/apiclient-services/src/Google/Service/Oauth2.php new file mode 100644 index 00000000..142f111e --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Oauth2.php @@ -0,0 +1,150 @@ + + * Obtains end-user authorization grants for use with other Google APIs.

+ * + *

+ * For more information about this service, see the API + * Documentation + *

+ * + * @author Google, Inc. + */ +class Google_Service_Oauth2 extends Google_Service +{ + /** Know the list of people in your circles, your age range, and language. */ + const PLUS_LOGIN = + "https://www.googleapis.com/auth/plus.login"; + /** Know who you are on Google. */ + const PLUS_ME = + "https://www.googleapis.com/auth/plus.me"; + /** View your email address. */ + const USERINFO_EMAIL = + "https://www.googleapis.com/auth/userinfo.email"; + /** View your basic profile info. */ + const USERINFO_PROFILE = + "https://www.googleapis.com/auth/userinfo.profile"; + + public $userinfo; + public $userinfo_v2_me; + private $base_methods; + /** + * Constructs the internal representation of the Oauth2 service. + * + * @param Google_Client $client + */ + public function __construct(Google_Client $client) + { + parent::__construct($client); + $this->rootUrl = 'https://www.googleapis.com/'; + $this->servicePath = ''; + $this->version = 'v2'; + $this->serviceName = 'oauth2'; + + $this->userinfo = new Google_Service_Oauth2_Resource_Userinfo( + $this, + $this->serviceName, + 'userinfo', + array( + 'methods' => array( + 'get' => array( + 'path' => 'oauth2/v2/userinfo', + 'httpMethod' => 'GET', + 'parameters' => array(), + ), + ) + ) + ); + $this->userinfo_v2_me = new Google_Service_Oauth2_Resource_UserinfoV2Me( + $this, + $this->serviceName, + 'me', + array( + 'methods' => array( + 'get' => array( + 'path' => 'userinfo/v2/me', + 'httpMethod' => 'GET', + 'parameters' => array(), + ), + ) + ) + ); + $this->base_methods = new Google_Service_Resource( + $this, + $this->serviceName, + '', + array( + 'methods' => array( + 'getCertForOpenIdConnect' => array( + 'path' => 'oauth2/v2/certs', + 'httpMethod' => 'GET', + 'parameters' => array(), + ),'tokeninfo' => array( + 'path' => 'oauth2/v2/tokeninfo', + 'httpMethod' => 'POST', + 'parameters' => array( + 'access_token' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'id_token' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'token_handle' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + } + /** + * (getCertForOpenIdConnect) + * + * @param array $optParams Optional parameters. + * @return Google_Service_Oauth2_Jwk + */ + public function getCertForOpenIdConnect($optParams = array()) + { + $params = array(); + $params = array_merge($params, $optParams); + return $this->base_methods->call('getCertForOpenIdConnect', array($params), "Google_Service_Oauth2_Jwk"); + } + /** + * (tokeninfo) + * + * @param array $optParams Optional parameters. + * + * @opt_param string access_token + * @opt_param string id_token + * @opt_param string token_handle + * @return Google_Service_Oauth2_Tokeninfo + */ + public function tokeninfo($optParams = array()) + { + $params = array(); + $params = array_merge($params, $optParams); + return $this->base_methods->call('tokeninfo', array($params), "Google_Service_Oauth2_Tokeninfo"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Oauth2/Jwk.php b/vendor/google/apiclient-services/src/Google/Service/Oauth2/Jwk.php new file mode 100644 index 00000000..18cf6e05 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Oauth2/Jwk.php @@ -0,0 +1,32 @@ +keys = $keys; + } + public function getKeys() + { + return $this->keys; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Oauth2/JwkKeys.php b/vendor/google/apiclient-services/src/Google/Service/Oauth2/JwkKeys.php new file mode 100644 index 00000000..1bfb5bd8 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Oauth2/JwkKeys.php @@ -0,0 +1,75 @@ +alg = $alg; + } + public function getAlg() + { + return $this->alg; + } + public function setE($e) + { + $this->e = $e; + } + public function getE() + { + return $this->e; + } + public function setKid($kid) + { + $this->kid = $kid; + } + public function getKid() + { + return $this->kid; + } + public function setKty($kty) + { + $this->kty = $kty; + } + public function getKty() + { + return $this->kty; + } + public function setN($n) + { + $this->n = $n; + } + public function getN() + { + return $this->n; + } + public function setUse($use) + { + $this->use = $use; + } + public function getUse() + { + return $this->use; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Oauth2/Resource/Userinfo.php b/vendor/google/apiclient-services/src/Google/Service/Oauth2/Resource/Userinfo.php new file mode 100644 index 00000000..6cba0256 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Oauth2/Resource/Userinfo.php @@ -0,0 +1,40 @@ + + * $oauth2Service = new Google_Service_Oauth2(...); + * $userinfo = $oauth2Service->userinfo; + * + */ +class Google_Service_Oauth2_Resource_Userinfo extends Google_Service_Resource +{ + /** + * (userinfo.get) + * + * @param array $optParams Optional parameters. + * @return Google_Service_Oauth2_Userinfoplus + */ + public function get($optParams = array()) + { + $params = array(); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Oauth2_Userinfoplus"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Oauth2/Resource/UserinfoV2.php b/vendor/google/apiclient-services/src/Google/Service/Oauth2/Resource/UserinfoV2.php new file mode 100644 index 00000000..1ca820ad --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Oauth2/Resource/UserinfoV2.php @@ -0,0 +1,28 @@ + + * $oauth2Service = new Google_Service_Oauth2(...); + * $v2 = $oauth2Service->v2; + * + */ +class Google_Service_Oauth2_Resource_UserinfoV2 extends Google_Service_Resource +{ +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Oauth2/Resource/UserinfoV2Me.php b/vendor/google/apiclient-services/src/Google/Service/Oauth2/Resource/UserinfoV2Me.php new file mode 100644 index 00000000..b73b78e6 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Oauth2/Resource/UserinfoV2Me.php @@ -0,0 +1,40 @@ + + * $oauth2Service = new Google_Service_Oauth2(...); + * $me = $oauth2Service->me; + * + */ +class Google_Service_Oauth2_Resource_UserinfoV2Me extends Google_Service_Resource +{ + /** + * (me.get) + * + * @param array $optParams Optional parameters. + * @return Google_Service_Oauth2_Userinfoplus + */ + public function get($optParams = array()) + { + $params = array(); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Oauth2_Userinfoplus"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Oauth2/Tokeninfo.php b/vendor/google/apiclient-services/src/Google/Service/Oauth2/Tokeninfo.php new file mode 100644 index 00000000..6632a24a --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Oauth2/Tokeninfo.php @@ -0,0 +1,110 @@ + "access_type", + "expiresIn" => "expires_in", + "issuedTo" => "issued_to", + "tokenHandle" => "token_handle", + "userId" => "user_id", + "verifiedEmail" => "verified_email", + ); + public $accessType; + public $audience; + public $email; + public $expiresIn; + public $issuedTo; + public $scope; + public $tokenHandle; + public $userId; + public $verifiedEmail; + + public function setAccessType($accessType) + { + $this->accessType = $accessType; + } + public function getAccessType() + { + return $this->accessType; + } + public function setAudience($audience) + { + $this->audience = $audience; + } + public function getAudience() + { + return $this->audience; + } + public function setEmail($email) + { + $this->email = $email; + } + public function getEmail() + { + return $this->email; + } + public function setExpiresIn($expiresIn) + { + $this->expiresIn = $expiresIn; + } + public function getExpiresIn() + { + return $this->expiresIn; + } + public function setIssuedTo($issuedTo) + { + $this->issuedTo = $issuedTo; + } + public function getIssuedTo() + { + return $this->issuedTo; + } + public function setScope($scope) + { + $this->scope = $scope; + } + public function getScope() + { + return $this->scope; + } + public function setTokenHandle($tokenHandle) + { + $this->tokenHandle = $tokenHandle; + } + public function getTokenHandle() + { + return $this->tokenHandle; + } + public function setUserId($userId) + { + $this->userId = $userId; + } + public function getUserId() + { + return $this->userId; + } + public function setVerifiedEmail($verifiedEmail) + { + $this->verifiedEmail = $verifiedEmail; + } + public function getVerifiedEmail() + { + return $this->verifiedEmail; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Oauth2/Userinfoplus.php b/vendor/google/apiclient-services/src/Google/Service/Oauth2/Userinfoplus.php new file mode 100644 index 00000000..1d76dfd9 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Oauth2/Userinfoplus.php @@ -0,0 +1,125 @@ + "family_name", + "givenName" => "given_name", + "verifiedEmail" => "verified_email", + ); + public $email; + public $familyName; + public $gender; + public $givenName; + public $hd; + public $id; + public $link; + public $locale; + public $name; + public $picture; + public $verifiedEmail; + + public function setEmail($email) + { + $this->email = $email; + } + public function getEmail() + { + return $this->email; + } + public function setFamilyName($familyName) + { + $this->familyName = $familyName; + } + public function getFamilyName() + { + return $this->familyName; + } + public function setGender($gender) + { + $this->gender = $gender; + } + public function getGender() + { + return $this->gender; + } + public function setGivenName($givenName) + { + $this->givenName = $givenName; + } + public function getGivenName() + { + return $this->givenName; + } + public function setHd($hd) + { + $this->hd = $hd; + } + public function getHd() + { + return $this->hd; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setLink($link) + { + $this->link = $link; + } + public function getLink() + { + return $this->link; + } + public function setLocale($locale) + { + $this->locale = $locale; + } + public function getLocale() + { + return $this->locale; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setPicture($picture) + { + $this->picture = $picture; + } + public function getPicture() + { + return $this->picture; + } + public function setVerifiedEmail($verifiedEmail) + { + $this->verifiedEmail = $verifiedEmail; + } + public function getVerifiedEmail() + { + return $this->verifiedEmail; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Pagespeedonline.php b/vendor/google/apiclient-services/src/Google/Service/Pagespeedonline.php new file mode 100644 index 00000000..f3459b60 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Pagespeedonline.php @@ -0,0 +1,93 @@ + + * Analyzes the performance of a web page and provides tailored suggestions to + * make that page faster.

+ * + *

+ * For more information about this service, see the API + * Documentation + *

+ * + * @author Google, Inc. + */ +class Google_Service_Pagespeedonline extends Google_Service +{ + + + public $pagespeedapi; + + /** + * Constructs the internal representation of the Pagespeedonline service. + * + * @param Google_Client $client + */ + public function __construct(Google_Client $client) + { + parent::__construct($client); + $this->rootUrl = 'https://www.googleapis.com/'; + $this->servicePath = 'pagespeedonline/v2/'; + $this->version = 'v2'; + $this->serviceName = 'pagespeedonline'; + + $this->pagespeedapi = new Google_Service_Pagespeedonline_Resource_Pagespeedapi( + $this, + $this->serviceName, + 'pagespeedapi', + array( + 'methods' => array( + 'runpagespeed' => array( + 'path' => 'runPagespeed', + 'httpMethod' => 'GET', + 'parameters' => array( + 'url' => array( + 'location' => 'query', + 'type' => 'string', + 'required' => true, + ), + 'filter_third_party_resources' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + 'locale' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'rule' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + ), + 'screenshot' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + 'strategy' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Pagespeedonline/PagespeedApiFormatStringV2.php b/vendor/google/apiclient-services/src/Google/Service/Pagespeedonline/PagespeedApiFormatStringV2.php new file mode 100644 index 00000000..2c375993 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Pagespeedonline/PagespeedApiFormatStringV2.php @@ -0,0 +1,41 @@ +args = $args; + } + public function getArgs() + { + return $this->args; + } + public function setFormat($format) + { + $this->format = $format; + } + public function getFormat() + { + return $this->format; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Pagespeedonline/PagespeedApiFormatStringV2Args.php b/vendor/google/apiclient-services/src/Google/Service/Pagespeedonline/PagespeedApiFormatStringV2Args.php new file mode 100644 index 00000000..c1179e70 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Pagespeedonline/PagespeedApiFormatStringV2Args.php @@ -0,0 +1,72 @@ + "secondary_rects", + ); + public $key; + protected $rectsType = 'Google_Service_Pagespeedonline_PagespeedApiFormatStringV2ArgsRects'; + protected $rectsDataType = 'array'; + protected $secondaryRectsType = 'Google_Service_Pagespeedonline_PagespeedApiFormatStringV2ArgsSecondaryRects'; + protected $secondaryRectsDataType = 'array'; + public $type; + public $value; + + public function setKey($key) + { + $this->key = $key; + } + public function getKey() + { + return $this->key; + } + public function setRects($rects) + { + $this->rects = $rects; + } + public function getRects() + { + return $this->rects; + } + public function setSecondaryRects($secondaryRects) + { + $this->secondaryRects = $secondaryRects; + } + public function getSecondaryRects() + { + return $this->secondaryRects; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } + public function setValue($value) + { + $this->value = $value; + } + public function getValue() + { + return $this->value; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Pagespeedonline/PagespeedApiFormatStringV2ArgsRects.php b/vendor/google/apiclient-services/src/Google/Service/Pagespeedonline/PagespeedApiFormatStringV2ArgsRects.php new file mode 100644 index 00000000..a11240cc --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Pagespeedonline/PagespeedApiFormatStringV2ArgsRects.php @@ -0,0 +1,57 @@ +height = $height; + } + public function getHeight() + { + return $this->height; + } + public function setLeft($left) + { + $this->left = $left; + } + public function getLeft() + { + return $this->left; + } + public function setTop($top) + { + $this->top = $top; + } + public function getTop() + { + return $this->top; + } + public function setWidth($width) + { + $this->width = $width; + } + public function getWidth() + { + return $this->width; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Pagespeedonline/PagespeedApiFormatStringV2ArgsSecondaryRects.php b/vendor/google/apiclient-services/src/Google/Service/Pagespeedonline/PagespeedApiFormatStringV2ArgsSecondaryRects.php new file mode 100644 index 00000000..556a5fdb --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Pagespeedonline/PagespeedApiFormatStringV2ArgsSecondaryRects.php @@ -0,0 +1,57 @@ +height = $height; + } + public function getHeight() + { + return $this->height; + } + public function setLeft($left) + { + $this->left = $left; + } + public function getLeft() + { + return $this->left; + } + public function setTop($top) + { + $this->top = $top; + } + public function getTop() + { + return $this->top; + } + public function setWidth($width) + { + $this->width = $width; + } + public function getWidth() + { + return $this->width; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Pagespeedonline/PagespeedApiImageV2.php b/vendor/google/apiclient-services/src/Google/Service/Pagespeedonline/PagespeedApiImageV2.php new file mode 100644 index 00000000..3768fb4a --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Pagespeedonline/PagespeedApiImageV2.php @@ -0,0 +1,80 @@ + "mime_type", + "pageRect" => "page_rect", + ); + public $data; + public $height; + public $key; + public $mimeType; + protected $pageRectType = 'Google_Service_Pagespeedonline_PagespeedApiImageV2PageRect'; + protected $pageRectDataType = ''; + public $width; + + public function setData($data) + { + $this->data = $data; + } + public function getData() + { + return $this->data; + } + public function setHeight($height) + { + $this->height = $height; + } + public function getHeight() + { + return $this->height; + } + public function setKey($key) + { + $this->key = $key; + } + public function getKey() + { + return $this->key; + } + public function setMimeType($mimeType) + { + $this->mimeType = $mimeType; + } + public function getMimeType() + { + return $this->mimeType; + } + public function setPageRect(Google_Service_Pagespeedonline_PagespeedApiImageV2PageRect $pageRect) + { + $this->pageRect = $pageRect; + } + public function getPageRect() + { + return $this->pageRect; + } + public function setWidth($width) + { + $this->width = $width; + } + public function getWidth() + { + return $this->width; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Pagespeedonline/PagespeedApiImageV2PageRect.php b/vendor/google/apiclient-services/src/Google/Service/Pagespeedonline/PagespeedApiImageV2PageRect.php new file mode 100644 index 00000000..4adc16bc --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Pagespeedonline/PagespeedApiImageV2PageRect.php @@ -0,0 +1,57 @@ +height = $height; + } + public function getHeight() + { + return $this->height; + } + public function setLeft($left) + { + $this->left = $left; + } + public function getLeft() + { + return $this->left; + } + public function setTop($top) + { + $this->top = $top; + } + public function getTop() + { + return $this->top; + } + public function setWidth($width) + { + $this->width = $width; + } + public function getWidth() + { + return $this->width; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Pagespeedonline/Resource/Pagespeedapi.php b/vendor/google/apiclient-services/src/Google/Service/Pagespeedonline/Resource/Pagespeedapi.php new file mode 100644 index 00000000..bea52f24 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Pagespeedonline/Resource/Pagespeedapi.php @@ -0,0 +1,52 @@ + + * $pagespeedonlineService = new Google_Service_Pagespeedonline(...); + * $pagespeedapi = $pagespeedonlineService->pagespeedapi; + * + */ +class Google_Service_Pagespeedonline_Resource_Pagespeedapi extends Google_Service_Resource +{ + /** + * Runs PageSpeed analysis on the page at the specified URL, and returns + * PageSpeed scores, a list of suggestions to make that page faster, and other + * information. (pagespeedapi.runpagespeed) + * + * @param string $url The URL to fetch and analyze + * @param array $optParams Optional parameters. + * + * @opt_param bool filter_third_party_resources Indicates if third party + * resources should be filtered out before PageSpeed analysis. + * @opt_param string locale The locale used to localize formatted results + * @opt_param string rule A PageSpeed rule to run; if none are given, all rules + * are run + * @opt_param bool screenshot Indicates if binary data containing a screenshot + * should be included + * @opt_param string strategy The analysis strategy to use + * @return Google_Service_Pagespeedonline_Result + */ + public function runpagespeed($url, $optParams = array()) + { + $params = array('url' => $url); + $params = array_merge($params, $optParams); + return $this->call('runpagespeed', array($params), "Google_Service_Pagespeedonline_Result"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Pagespeedonline/Result.php b/vendor/google/apiclient-services/src/Google/Service/Pagespeedonline/Result.php new file mode 100644 index 00000000..b9aa3342 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Pagespeedonline/Result.php @@ -0,0 +1,117 @@ +formattedResults = $formattedResults; + } + public function getFormattedResults() + { + return $this->formattedResults; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setInvalidRules($invalidRules) + { + $this->invalidRules = $invalidRules; + } + public function getInvalidRules() + { + return $this->invalidRules; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setPageStats(Google_Service_Pagespeedonline_ResultPageStats $pageStats) + { + $this->pageStats = $pageStats; + } + public function getPageStats() + { + return $this->pageStats; + } + public function setResponseCode($responseCode) + { + $this->responseCode = $responseCode; + } + public function getResponseCode() + { + return $this->responseCode; + } + public function setRuleGroups($ruleGroups) + { + $this->ruleGroups = $ruleGroups; + } + public function getRuleGroups() + { + return $this->ruleGroups; + } + public function setScreenshot(Google_Service_Pagespeedonline_PagespeedApiImageV2 $screenshot) + { + $this->screenshot = $screenshot; + } + public function getScreenshot() + { + return $this->screenshot; + } + public function setTitle($title) + { + $this->title = $title; + } + public function getTitle() + { + return $this->title; + } + public function setVersion(Google_Service_Pagespeedonline_ResultVersion $version) + { + $this->version = $version; + } + public function getVersion() + { + return $this->version; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Pagespeedonline/ResultFormattedResults.php b/vendor/google/apiclient-services/src/Google/Service/Pagespeedonline/ResultFormattedResults.php new file mode 100644 index 00000000..bf4ef288 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Pagespeedonline/ResultFormattedResults.php @@ -0,0 +1,40 @@ +locale = $locale; + } + public function getLocale() + { + return $this->locale; + } + public function setRuleResults($ruleResults) + { + $this->ruleResults = $ruleResults; + } + public function getRuleResults() + { + return $this->ruleResults; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Pagespeedonline/ResultFormattedResultsRuleResultsElement.php b/vendor/google/apiclient-services/src/Google/Service/Pagespeedonline/ResultFormattedResultsRuleResultsElement.php new file mode 100644 index 00000000..ef3d1874 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Pagespeedonline/ResultFormattedResultsRuleResultsElement.php @@ -0,0 +1,69 @@ +groups = $groups; + } + public function getGroups() + { + return $this->groups; + } + public function setLocalizedRuleName($localizedRuleName) + { + $this->localizedRuleName = $localizedRuleName; + } + public function getLocalizedRuleName() + { + return $this->localizedRuleName; + } + public function setRuleImpact($ruleImpact) + { + $this->ruleImpact = $ruleImpact; + } + public function getRuleImpact() + { + return $this->ruleImpact; + } + public function setSummary(Google_Service_Pagespeedonline_PagespeedApiFormatStringV2 $summary) + { + $this->summary = $summary; + } + public function getSummary() + { + return $this->summary; + } + public function setUrlBlocks($urlBlocks) + { + $this->urlBlocks = $urlBlocks; + } + public function getUrlBlocks() + { + return $this->urlBlocks; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Pagespeedonline/ResultFormattedResultsRuleResultsElementUrlBlocks.php b/vendor/google/apiclient-services/src/Google/Service/Pagespeedonline/ResultFormattedResultsRuleResultsElementUrlBlocks.php new file mode 100644 index 00000000..d60e2f3f --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Pagespeedonline/ResultFormattedResultsRuleResultsElementUrlBlocks.php @@ -0,0 +1,42 @@ +header = $header; + } + public function getHeader() + { + return $this->header; + } + public function setUrls($urls) + { + $this->urls = $urls; + } + public function getUrls() + { + return $this->urls; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Pagespeedonline/ResultFormattedResultsRuleResultsElementUrlBlocksUrls.php b/vendor/google/apiclient-services/src/Google/Service/Pagespeedonline/ResultFormattedResultsRuleResultsElementUrlBlocksUrls.php new file mode 100644 index 00000000..e6685217 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Pagespeedonline/ResultFormattedResultsRuleResultsElementUrlBlocksUrls.php @@ -0,0 +1,42 @@ +details = $details; + } + public function getDetails() + { + return $this->details; + } + public function setResult(Google_Service_Pagespeedonline_PagespeedApiFormatStringV2 $result) + { + $this->result = $result; + } + public function getResult() + { + return $this->result; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Pagespeedonline/ResultPageStats.php b/vendor/google/apiclient-services/src/Google/Service/Pagespeedonline/ResultPageStats.php new file mode 100644 index 00000000..e1c152f3 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Pagespeedonline/ResultPageStats.php @@ -0,0 +1,138 @@ +cssResponseBytes = $cssResponseBytes; + } + public function getCssResponseBytes() + { + return $this->cssResponseBytes; + } + public function setFlashResponseBytes($flashResponseBytes) + { + $this->flashResponseBytes = $flashResponseBytes; + } + public function getFlashResponseBytes() + { + return $this->flashResponseBytes; + } + public function setHtmlResponseBytes($htmlResponseBytes) + { + $this->htmlResponseBytes = $htmlResponseBytes; + } + public function getHtmlResponseBytes() + { + return $this->htmlResponseBytes; + } + public function setImageResponseBytes($imageResponseBytes) + { + $this->imageResponseBytes = $imageResponseBytes; + } + public function getImageResponseBytes() + { + return $this->imageResponseBytes; + } + public function setJavascriptResponseBytes($javascriptResponseBytes) + { + $this->javascriptResponseBytes = $javascriptResponseBytes; + } + public function getJavascriptResponseBytes() + { + return $this->javascriptResponseBytes; + } + public function setNumberCssResources($numberCssResources) + { + $this->numberCssResources = $numberCssResources; + } + public function getNumberCssResources() + { + return $this->numberCssResources; + } + public function setNumberHosts($numberHosts) + { + $this->numberHosts = $numberHosts; + } + public function getNumberHosts() + { + return $this->numberHosts; + } + public function setNumberJsResources($numberJsResources) + { + $this->numberJsResources = $numberJsResources; + } + public function getNumberJsResources() + { + return $this->numberJsResources; + } + public function setNumberResources($numberResources) + { + $this->numberResources = $numberResources; + } + public function getNumberResources() + { + return $this->numberResources; + } + public function setNumberStaticResources($numberStaticResources) + { + $this->numberStaticResources = $numberStaticResources; + } + public function getNumberStaticResources() + { + return $this->numberStaticResources; + } + public function setOtherResponseBytes($otherResponseBytes) + { + $this->otherResponseBytes = $otherResponseBytes; + } + public function getOtherResponseBytes() + { + return $this->otherResponseBytes; + } + public function setTextResponseBytes($textResponseBytes) + { + $this->textResponseBytes = $textResponseBytes; + } + public function getTextResponseBytes() + { + return $this->textResponseBytes; + } + public function setTotalRequestBytes($totalRequestBytes) + { + $this->totalRequestBytes = $totalRequestBytes; + } + public function getTotalRequestBytes() + { + return $this->totalRequestBytes; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Pagespeedonline/ResultRuleGroupsElement.php b/vendor/google/apiclient-services/src/Google/Service/Pagespeedonline/ResultRuleGroupsElement.php new file mode 100644 index 00000000..6972a1c0 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Pagespeedonline/ResultRuleGroupsElement.php @@ -0,0 +1,30 @@ +score = $score; + } + public function getScore() + { + return $this->score; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Pagespeedonline/ResultVersion.php b/vendor/google/apiclient-services/src/Google/Service/Pagespeedonline/ResultVersion.php new file mode 100644 index 00000000..b7fbee9e --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Pagespeedonline/ResultVersion.php @@ -0,0 +1,39 @@ +major = $major; + } + public function getMajor() + { + return $this->major; + } + public function setMinor($minor) + { + $this->minor = $minor; + } + public function getMinor() + { + return $this->minor; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Partners.php b/vendor/google/apiclient-services/src/Google/Service/Partners.php new file mode 100644 index 00000000..d6f23312 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Partners.php @@ -0,0 +1,877 @@ + + * Searches certified companies and creates contact leads with them, and also + * audits the usage of clients.

+ * + *

+ * For more information about this service, see the API + * Documentation + *

+ * + * @author Google, Inc. + */ +class Google_Service_Partners extends Google_Service +{ + + + public $analytics; + public $clientMessages; + public $companies; + public $companies_leads; + public $exams; + public $leads; + public $offers; + public $offers_history; + public $userEvents; + public $userStates; + public $users; + public $v2; + + /** + * Constructs the internal representation of the Partners service. + * + * @param Google_Client $client + */ + public function __construct(Google_Client $client) + { + parent::__construct($client); + $this->rootUrl = 'https://partners.googleapis.com/'; + $this->servicePath = ''; + $this->version = 'v2'; + $this->serviceName = 'partners'; + + $this->analytics = new Google_Service_Partners_Resource_Analytics( + $this, + $this->serviceName, + 'analytics', + array( + 'methods' => array( + 'list' => array( + 'path' => 'v2/analytics', + 'httpMethod' => 'GET', + 'parameters' => array( + 'requestMetadata.trafficSource.trafficSubId' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'requestMetadata.userOverrides.userId' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'requestMetadata.partnersSessionId' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pageSize' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'requestMetadata.trafficSource.trafficSourceId' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'requestMetadata.locale' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'requestMetadata.userOverrides.ipAddress' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'requestMetadata.experimentIds' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + ), + ), + ), + ) + ) + ); + $this->clientMessages = new Google_Service_Partners_Resource_ClientMessages( + $this, + $this->serviceName, + 'clientMessages', + array( + 'methods' => array( + 'log' => array( + 'path' => 'v2/clientMessages:log', + 'httpMethod' => 'POST', + 'parameters' => array(), + ), + ) + ) + ); + $this->companies = new Google_Service_Partners_Resource_Companies( + $this, + $this->serviceName, + 'companies', + array( + 'methods' => array( + 'get' => array( + 'path' => 'v2/companies/{companyId}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'companyId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'requestMetadata.trafficSource.trafficSourceId' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'requestMetadata.userOverrides.ipAddress' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'requestMetadata.experimentIds' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + ), + 'currencyCode' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'requestMetadata.trafficSource.trafficSubId' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'orderBy' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'requestMetadata.userOverrides.userId' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'requestMetadata.partnersSessionId' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'view' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'requestMetadata.locale' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'address' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'list' => array( + 'path' => 'v2/companies', + 'httpMethod' => 'GET', + 'parameters' => array( + 'requestMetadata.partnersSessionId' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'companyName' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'industries' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + ), + 'websiteUrl' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'gpsMotivations' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + ), + 'languageCodes' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + ), + 'pageSize' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'requestMetadata.userOverrides.ipAddress' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'requestMetadata.experimentIds' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + ), + 'orderBy' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'specializations' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + ), + 'maxMonthlyBudget.currencyCode' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'requestMetadata.userOverrides.userId' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'minMonthlyBudget.currencyCode' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'view' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'address' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'requestMetadata.locale' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'minMonthlyBudget.units' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'maxMonthlyBudget.nanos' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'services' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + ), + 'maxMonthlyBudget.units' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'requestMetadata.trafficSource.trafficSourceId' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'minMonthlyBudget.nanos' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'requestMetadata.trafficSource.trafficSubId' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + $this->companies_leads = new Google_Service_Partners_Resource_CompaniesLeads( + $this, + $this->serviceName, + 'leads', + array( + 'methods' => array( + 'create' => array( + 'path' => 'v2/companies/{companyId}/leads', + 'httpMethod' => 'POST', + 'parameters' => array( + 'companyId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->exams = new Google_Service_Partners_Resource_Exams( + $this, + $this->serviceName, + 'exams', + array( + 'methods' => array( + 'getToken' => array( + 'path' => 'v2/exams/{examType}/token', + 'httpMethod' => 'GET', + 'parameters' => array( + 'examType' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'requestMetadata.userOverrides.ipAddress' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'requestMetadata.experimentIds' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + ), + 'requestMetadata.trafficSource.trafficSubId' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'requestMetadata.userOverrides.userId' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'requestMetadata.partnersSessionId' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'requestMetadata.trafficSource.trafficSourceId' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'requestMetadata.locale' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + $this->leads = new Google_Service_Partners_Resource_Leads( + $this, + $this->serviceName, + 'leads', + array( + 'methods' => array( + 'list' => array( + 'path' => 'v2/leads', + 'httpMethod' => 'GET', + 'parameters' => array( + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pageSize' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'requestMetadata.trafficSource.trafficSourceId' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'requestMetadata.locale' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'requestMetadata.userOverrides.ipAddress' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'requestMetadata.experimentIds' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + ), + 'requestMetadata.trafficSource.trafficSubId' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'orderBy' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'requestMetadata.partnersSessionId' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'requestMetadata.userOverrides.userId' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + $this->offers = new Google_Service_Partners_Resource_Offers( + $this, + $this->serviceName, + 'offers', + array( + 'methods' => array( + 'list' => array( + 'path' => 'v2/offers', + 'httpMethod' => 'GET', + 'parameters' => array( + 'requestMetadata.userOverrides.ipAddress' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'requestMetadata.experimentIds' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + ), + 'requestMetadata.trafficSource.trafficSubId' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'requestMetadata.userOverrides.userId' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'requestMetadata.partnersSessionId' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'requestMetadata.trafficSource.trafficSourceId' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'requestMetadata.locale' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + $this->offers_history = new Google_Service_Partners_Resource_OffersHistory( + $this, + $this->serviceName, + 'history', + array( + 'methods' => array( + 'list' => array( + 'path' => 'v2/offers/history', + 'httpMethod' => 'GET', + 'parameters' => array( + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pageSize' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'requestMetadata.trafficSource.trafficSourceId' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'requestMetadata.locale' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'requestMetadata.userOverrides.ipAddress' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'requestMetadata.experimentIds' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + ), + 'entireCompany' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + 'orderBy' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'requestMetadata.trafficSource.trafficSubId' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'requestMetadata.userOverrides.userId' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'requestMetadata.partnersSessionId' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + $this->userEvents = new Google_Service_Partners_Resource_UserEvents( + $this, + $this->serviceName, + 'userEvents', + array( + 'methods' => array( + 'log' => array( + 'path' => 'v2/userEvents:log', + 'httpMethod' => 'POST', + 'parameters' => array(), + ), + ) + ) + ); + $this->userStates = new Google_Service_Partners_Resource_UserStates( + $this, + $this->serviceName, + 'userStates', + array( + 'methods' => array( + 'list' => array( + 'path' => 'v2/userStates', + 'httpMethod' => 'GET', + 'parameters' => array( + 'requestMetadata.userOverrides.userId' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'requestMetadata.partnersSessionId' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'requestMetadata.trafficSource.trafficSourceId' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'requestMetadata.locale' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'requestMetadata.userOverrides.ipAddress' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'requestMetadata.experimentIds' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + ), + 'requestMetadata.trafficSource.trafficSubId' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + $this->users = new Google_Service_Partners_Resource_Users( + $this, + $this->serviceName, + 'users', + array( + 'methods' => array( + 'createCompanyRelation' => array( + 'path' => 'v2/users/{userId}/companyRelation', + 'httpMethod' => 'PUT', + 'parameters' => array( + 'userId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'requestMetadata.userOverrides.userId' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'requestMetadata.partnersSessionId' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'requestMetadata.trafficSource.trafficSourceId' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'requestMetadata.locale' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'requestMetadata.userOverrides.ipAddress' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'requestMetadata.experimentIds' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + ), + 'requestMetadata.trafficSource.trafficSubId' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'deleteCompanyRelation' => array( + 'path' => 'v2/users/{userId}/companyRelation', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'userId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'requestMetadata.trafficSource.trafficSubId' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'requestMetadata.userOverrides.userId' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'requestMetadata.partnersSessionId' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'requestMetadata.trafficSource.trafficSourceId' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'requestMetadata.locale' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'requestMetadata.userOverrides.ipAddress' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'requestMetadata.experimentIds' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + ), + ), + ),'get' => array( + 'path' => 'v2/users/{userId}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'userId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'userView' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'requestMetadata.trafficSource.trafficSourceId' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'requestMetadata.locale' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'requestMetadata.userOverrides.ipAddress' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'requestMetadata.experimentIds' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + ), + 'requestMetadata.trafficSource.trafficSubId' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'requestMetadata.partnersSessionId' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'requestMetadata.userOverrides.userId' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'updateProfile' => array( + 'path' => 'v2/users/profile', + 'httpMethod' => 'PATCH', + 'parameters' => array( + 'requestMetadata.userOverrides.ipAddress' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'requestMetadata.experimentIds' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + ), + 'requestMetadata.trafficSource.trafficSubId' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'requestMetadata.partnersSessionId' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'requestMetadata.userOverrides.userId' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'requestMetadata.trafficSource.trafficSourceId' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'requestMetadata.locale' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + $this->v2 = new Google_Service_Partners_Resource_V2( + $this, + $this->serviceName, + 'v2', + array( + 'methods' => array( + 'getPartnersstatus' => array( + 'path' => 'v2/partnersstatus', + 'httpMethod' => 'GET', + 'parameters' => array( + 'requestMetadata.trafficSource.trafficSubId' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'requestMetadata.partnersSessionId' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'requestMetadata.userOverrides.userId' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'requestMetadata.trafficSource.trafficSourceId' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'requestMetadata.locale' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'requestMetadata.userOverrides.ipAddress' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'requestMetadata.experimentIds' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + ), + ), + ),'updateCompanies' => array( + 'path' => 'v2/companies', + 'httpMethod' => 'PATCH', + 'parameters' => array( + 'requestMetadata.userOverrides.ipAddress' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'updateMask' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'requestMetadata.experimentIds' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + ), + 'requestMetadata.trafficSource.trafficSubId' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'requestMetadata.partnersSessionId' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'requestMetadata.userOverrides.userId' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'requestMetadata.trafficSource.trafficSourceId' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'requestMetadata.locale' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'updateLeads' => array( + 'path' => 'v2/leads', + 'httpMethod' => 'PATCH', + 'parameters' => array( + 'requestMetadata.trafficSource.trafficSourceId' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'requestMetadata.locale' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'requestMetadata.userOverrides.ipAddress' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'updateMask' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'requestMetadata.experimentIds' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + ), + 'requestMetadata.trafficSource.trafficSubId' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'requestMetadata.partnersSessionId' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'requestMetadata.userOverrides.userId' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Partners/AdWordsManagerAccountInfo.php b/vendor/google/apiclient-services/src/Google/Service/Partners/AdWordsManagerAccountInfo.php new file mode 100644 index 00000000..2141b58f --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Partners/AdWordsManagerAccountInfo.php @@ -0,0 +1,39 @@ +customerName = $customerName; + } + public function getCustomerName() + { + return $this->customerName; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Partners/Analytics.php b/vendor/google/apiclient-services/src/Google/Service/Partners/Analytics.php new file mode 100644 index 00000000..e2ba118f --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Partners/Analytics.php @@ -0,0 +1,61 @@ +contacts = $contacts; + } + public function getContacts() + { + return $this->contacts; + } + public function setEventDate(Google_Service_Partners_Date $eventDate) + { + $this->eventDate = $eventDate; + } + public function getEventDate() + { + return $this->eventDate; + } + public function setProfileViews(Google_Service_Partners_AnalyticsDataPoint $profileViews) + { + $this->profileViews = $profileViews; + } + public function getProfileViews() + { + return $this->profileViews; + } + public function setSearchViews(Google_Service_Partners_AnalyticsDataPoint $searchViews) + { + $this->searchViews = $searchViews; + } + public function getSearchViews() + { + return $this->searchViews; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Partners/AnalyticsDataPoint.php b/vendor/google/apiclient-services/src/Google/Service/Partners/AnalyticsDataPoint.php new file mode 100644 index 00000000..f3bca347 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Partners/AnalyticsDataPoint.php @@ -0,0 +1,41 @@ +eventCount = $eventCount; + } + public function getEventCount() + { + return $this->eventCount; + } + public function setEventLocations($eventLocations) + { + $this->eventLocations = $eventLocations; + } + public function getEventLocations() + { + return $this->eventLocations; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Partners/AnalyticsSummary.php b/vendor/google/apiclient-services/src/Google/Service/Partners/AnalyticsSummary.php new file mode 100644 index 00000000..798a62b8 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Partners/AnalyticsSummary.php @@ -0,0 +1,48 @@ +contactsCount = $contactsCount; + } + public function getContactsCount() + { + return $this->contactsCount; + } + public function setProfileViewsCount($profileViewsCount) + { + $this->profileViewsCount = $profileViewsCount; + } + public function getProfileViewsCount() + { + return $this->profileViewsCount; + } + public function setSearchViewsCount($searchViewsCount) + { + $this->searchViewsCount = $searchViewsCount; + } + public function getSearchViewsCount() + { + return $this->searchViewsCount; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Partners/AvailableOffer.php b/vendor/google/apiclient-services/src/Google/Service/Partners/AvailableOffer.php new file mode 100644 index 00000000..257a83f5 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Partners/AvailableOffer.php @@ -0,0 +1,132 @@ +available = $available; + } + public function getAvailable() + { + return $this->available; + } + public function setCountryOfferInfos($countryOfferInfos) + { + $this->countryOfferInfos = $countryOfferInfos; + } + public function getCountryOfferInfos() + { + return $this->countryOfferInfos; + } + public function setDescription($description) + { + $this->description = $description; + } + public function getDescription() + { + return $this->description; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setMaxAccountAge($maxAccountAge) + { + $this->maxAccountAge = $maxAccountAge; + } + public function getMaxAccountAge() + { + return $this->maxAccountAge; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setOfferLevel($offerLevel) + { + $this->offerLevel = $offerLevel; + } + public function getOfferLevel() + { + return $this->offerLevel; + } + public function setOfferType($offerType) + { + $this->offerType = $offerType; + } + public function getOfferType() + { + return $this->offerType; + } + public function setQualifiedCustomer($qualifiedCustomer) + { + $this->qualifiedCustomer = $qualifiedCustomer; + } + public function getQualifiedCustomer() + { + return $this->qualifiedCustomer; + } + public function setQualifiedCustomersComplete($qualifiedCustomersComplete) + { + $this->qualifiedCustomersComplete = $qualifiedCustomersComplete; + } + public function getQualifiedCustomersComplete() + { + return $this->qualifiedCustomersComplete; + } + public function setShowSpecialOfferCopy($showSpecialOfferCopy) + { + $this->showSpecialOfferCopy = $showSpecialOfferCopy; + } + public function getShowSpecialOfferCopy() + { + return $this->showSpecialOfferCopy; + } + public function setTerms($terms) + { + $this->terms = $terms; + } + public function getTerms() + { + return $this->terms; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Partners/Certification.php b/vendor/google/apiclient-services/src/Google/Service/Partners/Certification.php new file mode 100644 index 00000000..0fb5a5f5 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Partners/Certification.php @@ -0,0 +1,66 @@ +achieved = $achieved; + } + public function getAchieved() + { + return $this->achieved; + } + public function setCertificationType($certificationType) + { + $this->certificationType = $certificationType; + } + public function getCertificationType() + { + return $this->certificationType; + } + public function setExpiration($expiration) + { + $this->expiration = $expiration; + } + public function getExpiration() + { + return $this->expiration; + } + public function setLastAchieved($lastAchieved) + { + $this->lastAchieved = $lastAchieved; + } + public function getLastAchieved() + { + return $this->lastAchieved; + } + public function setWarning($warning) + { + $this->warning = $warning; + } + public function getWarning() + { + return $this->warning; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Partners/CertificationExamStatus.php b/vendor/google/apiclient-services/src/Google/Service/Partners/CertificationExamStatus.php new file mode 100644 index 00000000..fe7eb599 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Partners/CertificationExamStatus.php @@ -0,0 +1,39 @@ +numberUsersPass = $numberUsersPass; + } + public function getNumberUsersPass() + { + return $this->numberUsersPass; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Partners/CertificationStatus.php b/vendor/google/apiclient-services/src/Google/Service/Partners/CertificationStatus.php new file mode 100644 index 00000000..7cc575b1 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Partners/CertificationStatus.php @@ -0,0 +1,59 @@ +examStatuses = $examStatuses; + } + public function getExamStatuses() + { + return $this->examStatuses; + } + public function setIsCertified($isCertified) + { + $this->isCertified = $isCertified; + } + public function getIsCertified() + { + return $this->isCertified; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } + public function setUserCount($userCount) + { + $this->userCount = $userCount; + } + public function getUserCount() + { + return $this->userCount; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Partners/Company.php b/vendor/google/apiclient-services/src/Google/Service/Partners/Company.php new file mode 100644 index 00000000..8b276dc2 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Partners/Company.php @@ -0,0 +1,220 @@ +additionalWebsites = $additionalWebsites; + } + public function getAdditionalWebsites() + { + return $this->additionalWebsites; + } + public function setAutoApprovalEmailDomains($autoApprovalEmailDomains) + { + $this->autoApprovalEmailDomains = $autoApprovalEmailDomains; + } + public function getAutoApprovalEmailDomains() + { + return $this->autoApprovalEmailDomains; + } + public function setBadgeTier($badgeTier) + { + $this->badgeTier = $badgeTier; + } + public function getBadgeTier() + { + return $this->badgeTier; + } + public function setCertificationStatuses($certificationStatuses) + { + $this->certificationStatuses = $certificationStatuses; + } + public function getCertificationStatuses() + { + return $this->certificationStatuses; + } + public function setCompanyTypes($companyTypes) + { + $this->companyTypes = $companyTypes; + } + public function getCompanyTypes() + { + return $this->companyTypes; + } + public function setConvertedMinMonthlyBudget(Google_Service_Partners_Money $convertedMinMonthlyBudget) + { + $this->convertedMinMonthlyBudget = $convertedMinMonthlyBudget; + } + public function getConvertedMinMonthlyBudget() + { + return $this->convertedMinMonthlyBudget; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setIndustries($industries) + { + $this->industries = $industries; + } + public function getIndustries() + { + return $this->industries; + } + public function setLocalizedInfos($localizedInfos) + { + $this->localizedInfos = $localizedInfos; + } + public function getLocalizedInfos() + { + return $this->localizedInfos; + } + public function setLocations($locations) + { + $this->locations = $locations; + } + public function getLocations() + { + return $this->locations; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setOriginalMinMonthlyBudget(Google_Service_Partners_Money $originalMinMonthlyBudget) + { + $this->originalMinMonthlyBudget = $originalMinMonthlyBudget; + } + public function getOriginalMinMonthlyBudget() + { + return $this->originalMinMonthlyBudget; + } + public function setPrimaryAdwordsManagerAccountId($primaryAdwordsManagerAccountId) + { + $this->primaryAdwordsManagerAccountId = $primaryAdwordsManagerAccountId; + } + public function getPrimaryAdwordsManagerAccountId() + { + return $this->primaryAdwordsManagerAccountId; + } + public function setPrimaryLanguageCode($primaryLanguageCode) + { + $this->primaryLanguageCode = $primaryLanguageCode; + } + public function getPrimaryLanguageCode() + { + return $this->primaryLanguageCode; + } + public function setPrimaryLocation(Google_Service_Partners_Location $primaryLocation) + { + $this->primaryLocation = $primaryLocation; + } + public function getPrimaryLocation() + { + return $this->primaryLocation; + } + public function setProfileStatus($profileStatus) + { + $this->profileStatus = $profileStatus; + } + public function getProfileStatus() + { + return $this->profileStatus; + } + public function setPublicProfile(Google_Service_Partners_PublicProfile $publicProfile) + { + $this->publicProfile = $publicProfile; + } + public function getPublicProfile() + { + return $this->publicProfile; + } + public function setRanks($ranks) + { + $this->ranks = $ranks; + } + public function getRanks() + { + return $this->ranks; + } + public function setServices($services) + { + $this->services = $services; + } + public function getServices() + { + return $this->services; + } + public function setSpecializationStatus($specializationStatus) + { + $this->specializationStatus = $specializationStatus; + } + public function getSpecializationStatus() + { + return $this->specializationStatus; + } + public function setWebsiteUrl($websiteUrl) + { + $this->websiteUrl = $websiteUrl; + } + public function getWebsiteUrl() + { + return $this->websiteUrl; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Partners/CompanyRelation.php b/vendor/google/apiclient-services/src/Google/Service/Partners/CompanyRelation.php new file mode 100644 index 00000000..abc07b63 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Partners/CompanyRelation.php @@ -0,0 +1,158 @@ +address = $address; + } + public function getAddress() + { + return $this->address; + } + public function setBadgeTier($badgeTier) + { + $this->badgeTier = $badgeTier; + } + public function getBadgeTier() + { + return $this->badgeTier; + } + public function setCompanyAdmin($companyAdmin) + { + $this->companyAdmin = $companyAdmin; + } + public function getCompanyAdmin() + { + return $this->companyAdmin; + } + public function setCompanyId($companyId) + { + $this->companyId = $companyId; + } + public function getCompanyId() + { + return $this->companyId; + } + public function setCreationTime($creationTime) + { + $this->creationTime = $creationTime; + } + public function getCreationTime() + { + return $this->creationTime; + } + public function setIsPending($isPending) + { + $this->isPending = $isPending; + } + public function getIsPending() + { + return $this->isPending; + } + public function setLogoUrl($logoUrl) + { + $this->logoUrl = $logoUrl; + } + public function getLogoUrl() + { + return $this->logoUrl; + } + public function setManagerAccount($managerAccount) + { + $this->managerAccount = $managerAccount; + } + public function getManagerAccount() + { + return $this->managerAccount; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setPhoneNumber($phoneNumber) + { + $this->phoneNumber = $phoneNumber; + } + public function getPhoneNumber() + { + return $this->phoneNumber; + } + public function setResolvedTimestamp($resolvedTimestamp) + { + $this->resolvedTimestamp = $resolvedTimestamp; + } + public function getResolvedTimestamp() + { + return $this->resolvedTimestamp; + } + public function setSegment($segment) + { + $this->segment = $segment; + } + public function getSegment() + { + return $this->segment; + } + public function setSpecializationStatus($specializationStatus) + { + $this->specializationStatus = $specializationStatus; + } + public function getSpecializationStatus() + { + return $this->specializationStatus; + } + public function setState($state) + { + $this->state = $state; + } + public function getState() + { + return $this->state; + } + public function setWebsite($website) + { + $this->website = $website; + } + public function getWebsite() + { + return $this->website; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Partners/CountryOfferInfo.php b/vendor/google/apiclient-services/src/Google/Service/Partners/CountryOfferInfo.php new file mode 100644 index 00000000..5707192e --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Partners/CountryOfferInfo.php @@ -0,0 +1,57 @@ +getYAmount = $getYAmount; + } + public function getGetYAmount() + { + return $this->getYAmount; + } + public function setOfferCountryCode($offerCountryCode) + { + $this->offerCountryCode = $offerCountryCode; + } + public function getOfferCountryCode() + { + return $this->offerCountryCode; + } + public function setOfferType($offerType) + { + $this->offerType = $offerType; + } + public function getOfferType() + { + return $this->offerType; + } + public function setSpendXAmount($spendXAmount) + { + $this->spendXAmount = $spendXAmount; + } + public function getSpendXAmount() + { + return $this->spendXAmount; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Partners/CreateLeadRequest.php b/vendor/google/apiclient-services/src/Google/Service/Partners/CreateLeadRequest.php new file mode 100644 index 00000000..8d500808 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Partners/CreateLeadRequest.php @@ -0,0 +1,51 @@ +lead = $lead; + } + public function getLead() + { + return $this->lead; + } + public function setRecaptchaChallenge(Google_Service_Partners_RecaptchaChallenge $recaptchaChallenge) + { + $this->recaptchaChallenge = $recaptchaChallenge; + } + public function getRecaptchaChallenge() + { + return $this->recaptchaChallenge; + } + public function setRequestMetadata(Google_Service_Partners_RequestMetadata $requestMetadata) + { + $this->requestMetadata = $requestMetadata; + } + public function getRequestMetadata() + { + return $this->requestMetadata; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Partners/CreateLeadResponse.php b/vendor/google/apiclient-services/src/Google/Service/Partners/CreateLeadResponse.php new file mode 100644 index 00000000..6a435771 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Partners/CreateLeadResponse.php @@ -0,0 +1,50 @@ +lead = $lead; + } + public function getLead() + { + return $this->lead; + } + public function setRecaptchaStatus($recaptchaStatus) + { + $this->recaptchaStatus = $recaptchaStatus; + } + public function getRecaptchaStatus() + { + return $this->recaptchaStatus; + } + public function setResponseMetadata(Google_Service_Partners_ResponseMetadata $responseMetadata) + { + $this->responseMetadata = $responseMetadata; + } + public function getResponseMetadata() + { + return $this->responseMetadata; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Partners/Date.php b/vendor/google/apiclient-services/src/Google/Service/Partners/Date.php new file mode 100644 index 00000000..3ad8c9db --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Partners/Date.php @@ -0,0 +1,48 @@ +day = $day; + } + public function getDay() + { + return $this->day; + } + public function setMonth($month) + { + $this->month = $month; + } + public function getMonth() + { + return $this->month; + } + public function setYear($year) + { + $this->year = $year; + } + public function getYear() + { + return $this->year; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Partners/DebugInfo.php b/vendor/google/apiclient-services/src/Google/Service/Partners/DebugInfo.php new file mode 100644 index 00000000..279e34a2 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Partners/DebugInfo.php @@ -0,0 +1,48 @@ +serverInfo = $serverInfo; + } + public function getServerInfo() + { + return $this->serverInfo; + } + public function setServerTraceInfo($serverTraceInfo) + { + $this->serverTraceInfo = $serverTraceInfo; + } + public function getServerTraceInfo() + { + return $this->serverTraceInfo; + } + public function setServiceUrl($serviceUrl) + { + $this->serviceUrl = $serviceUrl; + } + public function getServiceUrl() + { + return $this->serviceUrl; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Partners/EventData.php b/vendor/google/apiclient-services/src/Google/Service/Partners/EventData.php new file mode 100644 index 00000000..6acac885 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Partners/EventData.php @@ -0,0 +1,40 @@ +key = $key; + } + public function getKey() + { + return $this->key; + } + public function setValues($values) + { + $this->values = $values; + } + public function getValues() + { + return $this->values; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Partners/ExamStatus.php b/vendor/google/apiclient-services/src/Google/Service/Partners/ExamStatus.php new file mode 100644 index 00000000..ddc524e6 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Partners/ExamStatus.php @@ -0,0 +1,75 @@ +examType = $examType; + } + public function getExamType() + { + return $this->examType; + } + public function setExpiration($expiration) + { + $this->expiration = $expiration; + } + public function getExpiration() + { + return $this->expiration; + } + public function setLastPassed($lastPassed) + { + $this->lastPassed = $lastPassed; + } + public function getLastPassed() + { + return $this->lastPassed; + } + public function setPassed($passed) + { + $this->passed = $passed; + } + public function getPassed() + { + return $this->passed; + } + public function setTaken($taken) + { + $this->taken = $taken; + } + public function getTaken() + { + return $this->taken; + } + public function setWarning($warning) + { + $this->warning = $warning; + } + public function getWarning() + { + return $this->warning; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Partners/ExamToken.php b/vendor/google/apiclient-services/src/Google/Service/Partners/ExamToken.php new file mode 100644 index 00000000..6f9e2b65 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Partners/ExamToken.php @@ -0,0 +1,48 @@ +examId = $examId; + } + public function getExamId() + { + return $this->examId; + } + public function setExamType($examType) + { + $this->examType = $examType; + } + public function getExamType() + { + return $this->examType; + } + public function setToken($token) + { + $this->token = $token; + } + public function getToken() + { + return $this->token; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Partners/GetCompanyResponse.php b/vendor/google/apiclient-services/src/Google/Service/Partners/GetCompanyResponse.php new file mode 100644 index 00000000..d16fae2d --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Partners/GetCompanyResponse.php @@ -0,0 +1,41 @@ +company = $company; + } + public function getCompany() + { + return $this->company; + } + public function setResponseMetadata(Google_Service_Partners_ResponseMetadata $responseMetadata) + { + $this->responseMetadata = $responseMetadata; + } + public function getResponseMetadata() + { + return $this->responseMetadata; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Partners/GetPartnersStatusResponse.php b/vendor/google/apiclient-services/src/Google/Service/Partners/GetPartnersStatusResponse.php new file mode 100644 index 00000000..c505c2e7 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Partners/GetPartnersStatusResponse.php @@ -0,0 +1,31 @@ +responseMetadata = $responseMetadata; + } + public function getResponseMetadata() + { + return $this->responseMetadata; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Partners/HistoricalOffer.php b/vendor/google/apiclient-services/src/Google/Service/Partners/HistoricalOffer.php new file mode 100644 index 00000000..652ba5bb --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Partners/HistoricalOffer.php @@ -0,0 +1,129 @@ +adwordsUrl = $adwordsUrl; + } + public function getAdwordsUrl() + { + return $this->adwordsUrl; + } + public function setClientEmail($clientEmail) + { + $this->clientEmail = $clientEmail; + } + public function getClientEmail() + { + return $this->clientEmail; + } + public function setClientId($clientId) + { + $this->clientId = $clientId; + } + public function getClientId() + { + return $this->clientId; + } + public function setClientName($clientName) + { + $this->clientName = $clientName; + } + public function getClientName() + { + return $this->clientName; + } + public function setCreationTime($creationTime) + { + $this->creationTime = $creationTime; + } + public function getCreationTime() + { + return $this->creationTime; + } + public function setExpirationTime($expirationTime) + { + $this->expirationTime = $expirationTime; + } + public function getExpirationTime() + { + return $this->expirationTime; + } + public function setLastModifiedTime($lastModifiedTime) + { + $this->lastModifiedTime = $lastModifiedTime; + } + public function getLastModifiedTime() + { + return $this->lastModifiedTime; + } + public function setOfferCode($offerCode) + { + $this->offerCode = $offerCode; + } + public function getOfferCode() + { + return $this->offerCode; + } + public function setOfferCountryCode($offerCountryCode) + { + $this->offerCountryCode = $offerCountryCode; + } + public function getOfferCountryCode() + { + return $this->offerCountryCode; + } + public function setOfferType($offerType) + { + $this->offerType = $offerType; + } + public function getOfferType() + { + return $this->offerType; + } + public function setSenderName($senderName) + { + $this->senderName = $senderName; + } + public function getSenderName() + { + return $this->senderName; + } + public function setStatus($status) + { + $this->status = $status; + } + public function getStatus() + { + return $this->status; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Partners/LatLng.php b/vendor/google/apiclient-services/src/Google/Service/Partners/LatLng.php new file mode 100644 index 00000000..70435aa1 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Partners/LatLng.php @@ -0,0 +1,39 @@ +latitude = $latitude; + } + public function getLatitude() + { + return $this->latitude; + } + public function setLongitude($longitude) + { + $this->longitude = $longitude; + } + public function getLongitude() + { + return $this->longitude; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Partners/Lead.php b/vendor/google/apiclient-services/src/Google/Service/Partners/Lead.php new file mode 100644 index 00000000..ad72ed40 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Partners/Lead.php @@ -0,0 +1,158 @@ +adwordsCustomerId = $adwordsCustomerId; + } + public function getAdwordsCustomerId() + { + return $this->adwordsCustomerId; + } + public function setComments($comments) + { + $this->comments = $comments; + } + public function getComments() + { + return $this->comments; + } + public function setCreateTime($createTime) + { + $this->createTime = $createTime; + } + public function getCreateTime() + { + return $this->createTime; + } + public function setEmail($email) + { + $this->email = $email; + } + public function getEmail() + { + return $this->email; + } + public function setFamilyName($familyName) + { + $this->familyName = $familyName; + } + public function getFamilyName() + { + return $this->familyName; + } + public function setGivenName($givenName) + { + $this->givenName = $givenName; + } + public function getGivenName() + { + return $this->givenName; + } + public function setGpsMotivations($gpsMotivations) + { + $this->gpsMotivations = $gpsMotivations; + } + public function getGpsMotivations() + { + return $this->gpsMotivations; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setLanguageCode($languageCode) + { + $this->languageCode = $languageCode; + } + public function getLanguageCode() + { + return $this->languageCode; + } + public function setMarketingOptIn($marketingOptIn) + { + $this->marketingOptIn = $marketingOptIn; + } + public function getMarketingOptIn() + { + return $this->marketingOptIn; + } + public function setMinMonthlyBudget(Google_Service_Partners_Money $minMonthlyBudget) + { + $this->minMonthlyBudget = $minMonthlyBudget; + } + public function getMinMonthlyBudget() + { + return $this->minMonthlyBudget; + } + public function setPhoneNumber($phoneNumber) + { + $this->phoneNumber = $phoneNumber; + } + public function getPhoneNumber() + { + return $this->phoneNumber; + } + public function setState($state) + { + $this->state = $state; + } + public function getState() + { + return $this->state; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } + public function setWebsiteUrl($websiteUrl) + { + $this->websiteUrl = $websiteUrl; + } + public function getWebsiteUrl() + { + return $this->websiteUrl; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Partners/ListAnalyticsResponse.php b/vendor/google/apiclient-services/src/Google/Service/Partners/ListAnalyticsResponse.php new file mode 100644 index 00000000..4299a5de --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Partners/ListAnalyticsResponse.php @@ -0,0 +1,61 @@ +analytics = $analytics; + } + public function getAnalytics() + { + return $this->analytics; + } + public function setAnalyticsSummary(Google_Service_Partners_AnalyticsSummary $analyticsSummary) + { + $this->analyticsSummary = $analyticsSummary; + } + public function getAnalyticsSummary() + { + return $this->analyticsSummary; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setResponseMetadata(Google_Service_Partners_ResponseMetadata $responseMetadata) + { + $this->responseMetadata = $responseMetadata; + } + public function getResponseMetadata() + { + return $this->responseMetadata; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Partners/ListCompaniesResponse.php b/vendor/google/apiclient-services/src/Google/Service/Partners/ListCompaniesResponse.php new file mode 100644 index 00000000..bed980c1 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Partners/ListCompaniesResponse.php @@ -0,0 +1,51 @@ +companies = $companies; + } + public function getCompanies() + { + return $this->companies; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setResponseMetadata(Google_Service_Partners_ResponseMetadata $responseMetadata) + { + $this->responseMetadata = $responseMetadata; + } + public function getResponseMetadata() + { + return $this->responseMetadata; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Partners/ListLeadsResponse.php b/vendor/google/apiclient-services/src/Google/Service/Partners/ListLeadsResponse.php new file mode 100644 index 00000000..c48ea416 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Partners/ListLeadsResponse.php @@ -0,0 +1,60 @@ +leads = $leads; + } + public function getLeads() + { + return $this->leads; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setResponseMetadata(Google_Service_Partners_ResponseMetadata $responseMetadata) + { + $this->responseMetadata = $responseMetadata; + } + public function getResponseMetadata() + { + return $this->responseMetadata; + } + public function setTotalSize($totalSize) + { + $this->totalSize = $totalSize; + } + public function getTotalSize() + { + return $this->totalSize; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Partners/ListOffersHistoryResponse.php b/vendor/google/apiclient-services/src/Google/Service/Partners/ListOffersHistoryResponse.php new file mode 100644 index 00000000..382321ce --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Partners/ListOffersHistoryResponse.php @@ -0,0 +1,78 @@ +canShowEntireCompany = $canShowEntireCompany; + } + public function getCanShowEntireCompany() + { + return $this->canShowEntireCompany; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setOffers($offers) + { + $this->offers = $offers; + } + public function getOffers() + { + return $this->offers; + } + public function setResponseMetadata(Google_Service_Partners_ResponseMetadata $responseMetadata) + { + $this->responseMetadata = $responseMetadata; + } + public function getResponseMetadata() + { + return $this->responseMetadata; + } + public function setShowingEntireCompany($showingEntireCompany) + { + $this->showingEntireCompany = $showingEntireCompany; + } + public function getShowingEntireCompany() + { + return $this->showingEntireCompany; + } + public function setTotalResults($totalResults) + { + $this->totalResults = $totalResults; + } + public function getTotalResults() + { + return $this->totalResults; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Partners/ListOffersResponse.php b/vendor/google/apiclient-services/src/Google/Service/Partners/ListOffersResponse.php new file mode 100644 index 00000000..b538076b --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Partners/ListOffersResponse.php @@ -0,0 +1,51 @@ +availableOffers = $availableOffers; + } + public function getAvailableOffers() + { + return $this->availableOffers; + } + public function setNoOfferReason($noOfferReason) + { + $this->noOfferReason = $noOfferReason; + } + public function getNoOfferReason() + { + return $this->noOfferReason; + } + public function setResponseMetadata(Google_Service_Partners_ResponseMetadata $responseMetadata) + { + $this->responseMetadata = $responseMetadata; + } + public function getResponseMetadata() + { + return $this->responseMetadata; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Partners/ListUserStatesResponse.php b/vendor/google/apiclient-services/src/Google/Service/Partners/ListUserStatesResponse.php new file mode 100644 index 00000000..18dda569 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Partners/ListUserStatesResponse.php @@ -0,0 +1,41 @@ +responseMetadata = $responseMetadata; + } + public function getResponseMetadata() + { + return $this->responseMetadata; + } + public function setUserStates($userStates) + { + $this->userStates = $userStates; + } + public function getUserStates() + { + return $this->userStates; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Partners/LocalizedCompanyInfo.php b/vendor/google/apiclient-services/src/Google/Service/Partners/LocalizedCompanyInfo.php new file mode 100644 index 00000000..aad12cc3 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Partners/LocalizedCompanyInfo.php @@ -0,0 +1,58 @@ +countryCodes = $countryCodes; + } + public function getCountryCodes() + { + return $this->countryCodes; + } + public function setDisplayName($displayName) + { + $this->displayName = $displayName; + } + public function getDisplayName() + { + return $this->displayName; + } + public function setLanguageCode($languageCode) + { + $this->languageCode = $languageCode; + } + public function getLanguageCode() + { + return $this->languageCode; + } + public function setOverview($overview) + { + $this->overview = $overview; + } + public function getOverview() + { + return $this->overview; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Partners/Location.php b/vendor/google/apiclient-services/src/Google/Service/Partners/Location.php new file mode 100644 index 00000000..4acd0420 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Partners/Location.php @@ -0,0 +1,113 @@ +address = $address; + } + public function getAddress() + { + return $this->address; + } + public function setAddressLine($addressLine) + { + $this->addressLine = $addressLine; + } + public function getAddressLine() + { + return $this->addressLine; + } + public function setAdministrativeArea($administrativeArea) + { + $this->administrativeArea = $administrativeArea; + } + public function getAdministrativeArea() + { + return $this->administrativeArea; + } + public function setDependentLocality($dependentLocality) + { + $this->dependentLocality = $dependentLocality; + } + public function getDependentLocality() + { + return $this->dependentLocality; + } + public function setLanguageCode($languageCode) + { + $this->languageCode = $languageCode; + } + public function getLanguageCode() + { + return $this->languageCode; + } + public function setLatLng(Google_Service_Partners_LatLng $latLng) + { + $this->latLng = $latLng; + } + public function getLatLng() + { + return $this->latLng; + } + public function setLocality($locality) + { + $this->locality = $locality; + } + public function getLocality() + { + return $this->locality; + } + public function setPostalCode($postalCode) + { + $this->postalCode = $postalCode; + } + public function getPostalCode() + { + return $this->postalCode; + } + public function setRegionCode($regionCode) + { + $this->regionCode = $regionCode; + } + public function getRegionCode() + { + return $this->regionCode; + } + public function setSortingCode($sortingCode) + { + $this->sortingCode = $sortingCode; + } + public function getSortingCode() + { + return $this->sortingCode; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Partners/LogMessageRequest.php b/vendor/google/apiclient-services/src/Google/Service/Partners/LogMessageRequest.php new file mode 100644 index 00000000..19f76180 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Partners/LogMessageRequest.php @@ -0,0 +1,58 @@ +clientInfo = $clientInfo; + } + public function getClientInfo() + { + return $this->clientInfo; + } + public function setDetails($details) + { + $this->details = $details; + } + public function getDetails() + { + return $this->details; + } + public function setLevel($level) + { + $this->level = $level; + } + public function getLevel() + { + return $this->level; + } + public function setRequestMetadata(Google_Service_Partners_RequestMetadata $requestMetadata) + { + $this->requestMetadata = $requestMetadata; + } + public function getRequestMetadata() + { + return $this->requestMetadata; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Partners/LogMessageResponse.php b/vendor/google/apiclient-services/src/Google/Service/Partners/LogMessageResponse.php new file mode 100644 index 00000000..e29a824b --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Partners/LogMessageResponse.php @@ -0,0 +1,31 @@ +responseMetadata = $responseMetadata; + } + public function getResponseMetadata() + { + return $this->responseMetadata; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Partners/LogUserEventRequest.php b/vendor/google/apiclient-services/src/Google/Service/Partners/LogUserEventRequest.php new file mode 100644 index 00000000..c374c91a --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Partners/LogUserEventRequest.php @@ -0,0 +1,88 @@ +eventAction = $eventAction; + } + public function getEventAction() + { + return $this->eventAction; + } + public function setEventCategory($eventCategory) + { + $this->eventCategory = $eventCategory; + } + public function getEventCategory() + { + return $this->eventCategory; + } + public function setEventDatas($eventDatas) + { + $this->eventDatas = $eventDatas; + } + public function getEventDatas() + { + return $this->eventDatas; + } + public function setEventScope($eventScope) + { + $this->eventScope = $eventScope; + } + public function getEventScope() + { + return $this->eventScope; + } + public function setLead(Google_Service_Partners_Lead $lead) + { + $this->lead = $lead; + } + public function getLead() + { + return $this->lead; + } + public function setRequestMetadata(Google_Service_Partners_RequestMetadata $requestMetadata) + { + $this->requestMetadata = $requestMetadata; + } + public function getRequestMetadata() + { + return $this->requestMetadata; + } + public function setUrl($url) + { + $this->url = $url; + } + public function getUrl() + { + return $this->url; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Partners/LogUserEventResponse.php b/vendor/google/apiclient-services/src/Google/Service/Partners/LogUserEventResponse.php new file mode 100644 index 00000000..3584f2bf --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Partners/LogUserEventResponse.php @@ -0,0 +1,31 @@ +responseMetadata = $responseMetadata; + } + public function getResponseMetadata() + { + return $this->responseMetadata; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Partners/Money.php b/vendor/google/apiclient-services/src/Google/Service/Partners/Money.php new file mode 100644 index 00000000..60d94e63 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Partners/Money.php @@ -0,0 +1,48 @@ +currencyCode = $currencyCode; + } + public function getCurrencyCode() + { + return $this->currencyCode; + } + public function setNanos($nanos) + { + $this->nanos = $nanos; + } + public function getNanos() + { + return $this->nanos; + } + public function setUnits($units) + { + $this->units = $units; + } + public function getUnits() + { + return $this->units; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Partners/OfferCustomer.php b/vendor/google/apiclient-services/src/Google/Service/Partners/OfferCustomer.php new file mode 100644 index 00000000..29c52631 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Partners/OfferCustomer.php @@ -0,0 +1,102 @@ +adwordsUrl = $adwordsUrl; + } + public function getAdwordsUrl() + { + return $this->adwordsUrl; + } + public function setCountryCode($countryCode) + { + $this->countryCode = $countryCode; + } + public function getCountryCode() + { + return $this->countryCode; + } + public function setCreationTime($creationTime) + { + $this->creationTime = $creationTime; + } + public function getCreationTime() + { + return $this->creationTime; + } + public function setEligibilityDaysLeft($eligibilityDaysLeft) + { + $this->eligibilityDaysLeft = $eligibilityDaysLeft; + } + public function getEligibilityDaysLeft() + { + return $this->eligibilityDaysLeft; + } + public function setExternalCid($externalCid) + { + $this->externalCid = $externalCid; + } + public function getExternalCid() + { + return $this->externalCid; + } + public function setGetYAmount($getYAmount) + { + $this->getYAmount = $getYAmount; + } + public function getGetYAmount() + { + return $this->getYAmount; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setOfferType($offerType) + { + $this->offerType = $offerType; + } + public function getOfferType() + { + return $this->offerType; + } + public function setSpendXAmount($spendXAmount) + { + $this->spendXAmount = $spendXAmount; + } + public function getSpendXAmount() + { + return $this->spendXAmount; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Partners/OptIns.php b/vendor/google/apiclient-services/src/Google/Service/Partners/OptIns.php new file mode 100644 index 00000000..2553eb65 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Partners/OptIns.php @@ -0,0 +1,66 @@ +marketComm = $marketComm; + } + public function getMarketComm() + { + return $this->marketComm; + } + public function setPerformanceSuggestions($performanceSuggestions) + { + $this->performanceSuggestions = $performanceSuggestions; + } + public function getPerformanceSuggestions() + { + return $this->performanceSuggestions; + } + public function setPhoneContact($phoneContact) + { + $this->phoneContact = $phoneContact; + } + public function getPhoneContact() + { + return $this->phoneContact; + } + public function setPhysicalMail($physicalMail) + { + $this->physicalMail = $physicalMail; + } + public function getPhysicalMail() + { + return $this->physicalMail; + } + public function setSpecialOffers($specialOffers) + { + $this->specialOffers = $specialOffers; + } + public function getSpecialOffers() + { + return $this->specialOffers; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Partners/PartnersEmpty.php b/vendor/google/apiclient-services/src/Google/Service/Partners/PartnersEmpty.php new file mode 100644 index 00000000..a960b04f --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Partners/PartnersEmpty.php @@ -0,0 +1,20 @@ +displayImageUrl = $displayImageUrl; + } + public function getDisplayImageUrl() + { + return $this->displayImageUrl; + } + public function setDisplayName($displayName) + { + $this->displayName = $displayName; + } + public function getDisplayName() + { + return $this->displayName; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setProfileImage($profileImage) + { + $this->profileImage = $profileImage; + } + public function getProfileImage() + { + return $this->profileImage; + } + public function setUrl($url) + { + $this->url = $url; + } + public function getUrl() + { + return $this->url; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Partners/Rank.php b/vendor/google/apiclient-services/src/Google/Service/Partners/Rank.php new file mode 100644 index 00000000..c011abaa --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Partners/Rank.php @@ -0,0 +1,39 @@ +type = $type; + } + public function getType() + { + return $this->type; + } + public function setValue($value) + { + $this->value = $value; + } + public function getValue() + { + return $this->value; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Partners/RecaptchaChallenge.php b/vendor/google/apiclient-services/src/Google/Service/Partners/RecaptchaChallenge.php new file mode 100644 index 00000000..f66445d6 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Partners/RecaptchaChallenge.php @@ -0,0 +1,39 @@ +id = $id; + } + public function getId() + { + return $this->id; + } + public function setResponse($response) + { + $this->response = $response; + } + public function getResponse() + { + return $this->response; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Partners/RequestMetadata.php b/vendor/google/apiclient-services/src/Google/Service/Partners/RequestMetadata.php new file mode 100644 index 00000000..9801c731 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Partners/RequestMetadata.php @@ -0,0 +1,69 @@ +experimentIds = $experimentIds; + } + public function getExperimentIds() + { + return $this->experimentIds; + } + public function setLocale($locale) + { + $this->locale = $locale; + } + public function getLocale() + { + return $this->locale; + } + public function setPartnersSessionId($partnersSessionId) + { + $this->partnersSessionId = $partnersSessionId; + } + public function getPartnersSessionId() + { + return $this->partnersSessionId; + } + public function setTrafficSource(Google_Service_Partners_TrafficSource $trafficSource) + { + $this->trafficSource = $trafficSource; + } + public function getTrafficSource() + { + return $this->trafficSource; + } + public function setUserOverrides(Google_Service_Partners_UserOverrides $userOverrides) + { + $this->userOverrides = $userOverrides; + } + public function getUserOverrides() + { + return $this->userOverrides; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Partners/Resource/Analytics.php b/vendor/google/apiclient-services/src/Google/Service/Partners/Resource/Analytics.php new file mode 100644 index 00000000..f319c215 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Partners/Resource/Analytics.php @@ -0,0 +1,70 @@ + + * $partnersService = new Google_Service_Partners(...); + * $analytics = $partnersService->analytics; + * + */ +class Google_Service_Partners_Resource_Analytics extends Google_Service_Resource +{ + /** + * Lists analytics data for a user's associated company. Should only be called + * within the context of an authorized logged in user. (analytics.listAnalytics) + * + * @param array $optParams Optional parameters. + * + * @opt_param string requestMetadata.trafficSource.trafficSubId Second level + * identifier to indicate where the traffic comes from. An identifier has + * multiple letters created by a team which redirected the traffic to us. + * @opt_param string requestMetadata.userOverrides.userId Logged-in user ID to + * impersonate instead of the user's ID. + * @opt_param string requestMetadata.partnersSessionId Google Partners session + * ID. + * @opt_param string pageToken A token identifying a page of results that the + * server returns. Typically, this is the value of + * `ListAnalyticsResponse.next_page_token` returned from the previous call to + * ListAnalytics. Will be a date string in `YYYY-MM-DD` format representing the + * end date of the date range of results to return. If unspecified or set to "", + * default value is the current date. + * @opt_param int pageSize Requested page size. Server may return fewer + * analytics than requested. If unspecified or set to 0, default value is 30. + * Specifies the number of days in the date range when querying analytics. The + * `page_token` represents the end date of the date range and the start date is + * calculated using the `page_size` as the number of days BEFORE the end date. + * Must be a non-negative integer. + * @opt_param string requestMetadata.trafficSource.trafficSourceId Identifier to + * indicate where the traffic comes from. An identifier has multiple letters + * created by a team which redirected the traffic to us. + * @opt_param string requestMetadata.locale Locale to use for the current + * request. + * @opt_param string requestMetadata.userOverrides.ipAddress IP address to use + * instead of the user's geo-located IP address. + * @opt_param string requestMetadata.experimentIds Experiment IDs the current + * request belongs to. + * @return Google_Service_Partners_ListAnalyticsResponse + */ + public function listAnalytics($optParams = array()) + { + $params = array(); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Partners_ListAnalyticsResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Partners/Resource/ClientMessages.php b/vendor/google/apiclient-services/src/Google/Service/Partners/Resource/ClientMessages.php new file mode 100644 index 00000000..22d6813f --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Partners/Resource/ClientMessages.php @@ -0,0 +1,43 @@ + + * $partnersService = new Google_Service_Partners(...); + * $clientMessages = $partnersService->clientMessages; + * + */ +class Google_Service_Partners_Resource_ClientMessages extends Google_Service_Resource +{ + /** + * Logs a generic message from the client, such as `Failed to render component`, + * `Profile page is running slow`, `More than 500 users have accessed this + * result.`, etc. (clientMessages.log) + * + * @param Google_Service_Partners_LogMessageRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Partners_LogMessageResponse + */ + public function log(Google_Service_Partners_LogMessageRequest $postBody, $optParams = array()) + { + $params = array('postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('log', array($params), "Google_Service_Partners_LogMessageResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Partners/Resource/Companies.php b/vendor/google/apiclient-services/src/Google/Service/Partners/Resource/Companies.php new file mode 100644 index 00000000..570eeb49 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Partners/Resource/Companies.php @@ -0,0 +1,150 @@ + + * $partnersService = new Google_Service_Partners(...); + * $companies = $partnersService->companies; + * + */ +class Google_Service_Partners_Resource_Companies extends Google_Service_Resource +{ + /** + * Gets a company. (companies.get) + * + * @param string $companyId The ID of the company to retrieve. + * @param array $optParams Optional parameters. + * + * @opt_param string requestMetadata.trafficSource.trafficSourceId Identifier to + * indicate where the traffic comes from. An identifier has multiple letters + * created by a team which redirected the traffic to us. + * @opt_param string requestMetadata.userOverrides.ipAddress IP address to use + * instead of the user's geo-located IP address. + * @opt_param string requestMetadata.experimentIds Experiment IDs the current + * request belongs to. + * @opt_param string currencyCode If the company's budget is in a different + * currency code than this one, then the converted budget is converted to this + * currency code. + * @opt_param string requestMetadata.trafficSource.trafficSubId Second level + * identifier to indicate where the traffic comes from. An identifier has + * multiple letters created by a team which redirected the traffic to us. + * @opt_param string orderBy How to order addresses within the returned company. + * Currently, only `address` and `address desc` is supported which will sorted + * by closest to farthest in distance from given address and farthest to closest + * distance from given address respectively. + * @opt_param string requestMetadata.userOverrides.userId Logged-in user ID to + * impersonate instead of the user's ID. + * @opt_param string requestMetadata.partnersSessionId Google Partners session + * ID. + * @opt_param string view The view of `Company` resource to be returned. This + * must not be `COMPANY_VIEW_UNSPECIFIED`. + * @opt_param string requestMetadata.locale Locale to use for the current + * request. + * @opt_param string address The address to use for sorting the company's + * addresses by proximity. If not given, the geo-located address of the request + * is used. Used when order_by is set. + * @return Google_Service_Partners_GetCompanyResponse + */ + public function get($companyId, $optParams = array()) + { + $params = array('companyId' => $companyId); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Partners_GetCompanyResponse"); + } + /** + * Lists companies. (companies.listCompanies) + * + * @param array $optParams Optional parameters. + * + * @opt_param string requestMetadata.partnersSessionId Google Partners session + * ID. + * @opt_param string companyName Company name to search for. + * @opt_param string pageToken A token identifying a page of results that the + * server returns. Typically, this is the value of + * `ListCompaniesResponse.next_page_token` returned from the previous call to + * ListCompanies. + * @opt_param string industries List of industries the company can help with. + * @opt_param string websiteUrl Website URL that will help to find a better + * matched company. . + * @opt_param string gpsMotivations List of reasons for using Google Partner + * Search to get companies. + * @opt_param string languageCodes List of language codes that company can + * support. Only primary language subtags are accepted as defined by BCP 47 + * (IETF BCP 47, "Tags for Identifying Languages"). + * @opt_param int pageSize Requested page size. Server may return fewer + * companies than requested. If unspecified, server picks an appropriate + * default. + * @opt_param string requestMetadata.userOverrides.ipAddress IP address to use + * instead of the user's geo-located IP address. + * @opt_param string requestMetadata.experimentIds Experiment IDs the current + * request belongs to. + * @opt_param string orderBy How to order addresses within the returned + * companies. Currently, only `address` and `address desc` is supported which + * will sorted by closest to farthest in distance from given address and + * farthest to closest distance from given address respectively. + * @opt_param string specializations List of specializations that the returned + * agencies should provide. If this is not empty, any returned agency must have + * at least one of these specializations, or one of the services in the + * "services" field. + * @opt_param string maxMonthlyBudget.currencyCode The 3-letter currency code + * defined in ISO 4217. + * @opt_param string requestMetadata.userOverrides.userId Logged-in user ID to + * impersonate instead of the user's ID. + * @opt_param string minMonthlyBudget.currencyCode The 3-letter currency code + * defined in ISO 4217. + * @opt_param string view The view of the `Company` resource to be returned. + * This must not be `COMPANY_VIEW_UNSPECIFIED`. + * @opt_param string address The address to use when searching for companies. If + * not given, the geo-located address of the request is used. + * @opt_param string requestMetadata.locale Locale to use for the current + * request. + * @opt_param string minMonthlyBudget.units The whole units of the amount. For + * example if `currencyCode` is `"USD"`, then 1 unit is one US dollar. + * @opt_param int maxMonthlyBudget.nanos Number of nano (10^-9) units of the + * amount. The value must be between -999,999,999 and +999,999,999 inclusive. If + * `units` is positive, `nanos` must be positive or zero. If `units` is zero, + * `nanos` can be positive, zero, or negative. If `units` is negative, `nanos` + * must be negative or zero. For example $-1.75 is represented as `units`=-1 and + * `nanos`=-750,000,000. + * @opt_param string services List of services that the returned agencies should + * provide. If this is not empty, any returned agency must have at least one of + * these services, or one of the specializations in the "specializations" field. + * @opt_param string maxMonthlyBudget.units The whole units of the amount. For + * example if `currencyCode` is `"USD"`, then 1 unit is one US dollar. + * @opt_param string requestMetadata.trafficSource.trafficSourceId Identifier to + * indicate where the traffic comes from. An identifier has multiple letters + * created by a team which redirected the traffic to us. + * @opt_param int minMonthlyBudget.nanos Number of nano (10^-9) units of the + * amount. The value must be between -999,999,999 and +999,999,999 inclusive. If + * `units` is positive, `nanos` must be positive or zero. If `units` is zero, + * `nanos` can be positive, zero, or negative. If `units` is negative, `nanos` + * must be negative or zero. For example $-1.75 is represented as `units`=-1 and + * `nanos`=-750,000,000. + * @opt_param string requestMetadata.trafficSource.trafficSubId Second level + * identifier to indicate where the traffic comes from. An identifier has + * multiple letters created by a team which redirected the traffic to us. + * @return Google_Service_Partners_ListCompaniesResponse + */ + public function listCompanies($optParams = array()) + { + $params = array(); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Partners_ListCompaniesResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Partners/Resource/CompaniesLeads.php b/vendor/google/apiclient-services/src/Google/Service/Partners/Resource/CompaniesLeads.php new file mode 100644 index 00000000..50a36c22 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Partners/Resource/CompaniesLeads.php @@ -0,0 +1,42 @@ + + * $partnersService = new Google_Service_Partners(...); + * $leads = $partnersService->leads; + * + */ +class Google_Service_Partners_Resource_CompaniesLeads extends Google_Service_Resource +{ + /** + * Creates an advertiser lead for the given company ID. (leads.create) + * + * @param string $companyId The ID of the company to contact. + * @param Google_Service_Partners_CreateLeadRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Partners_CreateLeadResponse + */ + public function create($companyId, Google_Service_Partners_CreateLeadRequest $postBody, $optParams = array()) + { + $params = array('companyId' => $companyId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('create', array($params), "Google_Service_Partners_CreateLeadResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Partners/Resource/Exams.php b/vendor/google/apiclient-services/src/Google/Service/Partners/Resource/Exams.php new file mode 100644 index 00000000..13536183 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Partners/Resource/Exams.php @@ -0,0 +1,59 @@ + + * $partnersService = new Google_Service_Partners(...); + * $exams = $partnersService->exams; + * + */ +class Google_Service_Partners_Resource_Exams extends Google_Service_Resource +{ + /** + * Gets an Exam Token for a Partner's user to take an exam in the Exams System + * (exams.getToken) + * + * @param string $examType The exam type we are requesting a token for. + * @param array $optParams Optional parameters. + * + * @opt_param string requestMetadata.userOverrides.ipAddress IP address to use + * instead of the user's geo-located IP address. + * @opt_param string requestMetadata.experimentIds Experiment IDs the current + * request belongs to. + * @opt_param string requestMetadata.trafficSource.trafficSubId Second level + * identifier to indicate where the traffic comes from. An identifier has + * multiple letters created by a team which redirected the traffic to us. + * @opt_param string requestMetadata.userOverrides.userId Logged-in user ID to + * impersonate instead of the user's ID. + * @opt_param string requestMetadata.partnersSessionId Google Partners session + * ID. + * @opt_param string requestMetadata.trafficSource.trafficSourceId Identifier to + * indicate where the traffic comes from. An identifier has multiple letters + * created by a team which redirected the traffic to us. + * @opt_param string requestMetadata.locale Locale to use for the current + * request. + * @return Google_Service_Partners_ExamToken + */ + public function getToken($examType, $optParams = array()) + { + $params = array('examType' => $examType); + $params = array_merge($params, $optParams); + return $this->call('getToken', array($params), "Google_Service_Partners_ExamToken"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Partners/Resource/Leads.php b/vendor/google/apiclient-services/src/Google/Service/Partners/Resource/Leads.php new file mode 100644 index 00000000..1ad2cf6a --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Partners/Resource/Leads.php @@ -0,0 +1,66 @@ + + * $partnersService = new Google_Service_Partners(...); + * $leads = $partnersService->leads; + * + */ +class Google_Service_Partners_Resource_Leads extends Google_Service_Resource +{ + /** + * Lists advertiser leads for a user's associated company. Should only be called + * within the context of an authorized logged in user. (leads.listLeads) + * + * @param array $optParams Optional parameters. + * + * @opt_param string pageToken A token identifying a page of results that the + * server returns. Typically, this is the value of + * `ListLeadsResponse.next_page_token` returned from the previous call to + * ListLeads. + * @opt_param int pageSize Requested page size. Server may return fewer leads + * than requested. If unspecified, server picks an appropriate default. + * @opt_param string requestMetadata.trafficSource.trafficSourceId Identifier to + * indicate where the traffic comes from. An identifier has multiple letters + * created by a team which redirected the traffic to us. + * @opt_param string requestMetadata.locale Locale to use for the current + * request. + * @opt_param string requestMetadata.userOverrides.ipAddress IP address to use + * instead of the user's geo-located IP address. + * @opt_param string requestMetadata.experimentIds Experiment IDs the current + * request belongs to. + * @opt_param string requestMetadata.trafficSource.trafficSubId Second level + * identifier to indicate where the traffic comes from. An identifier has + * multiple letters created by a team which redirected the traffic to us. + * @opt_param string orderBy How to order Leads. Currently, only `create_time` + * and `create_time desc` are supported + * @opt_param string requestMetadata.partnersSessionId Google Partners session + * ID. + * @opt_param string requestMetadata.userOverrides.userId Logged-in user ID to + * impersonate instead of the user's ID. + * @return Google_Service_Partners_ListLeadsResponse + */ + public function listLeads($optParams = array()) + { + $params = array(); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Partners_ListLeadsResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Partners/Resource/Offers.php b/vendor/google/apiclient-services/src/Google/Service/Partners/Resource/Offers.php new file mode 100644 index 00000000..cc2622c7 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Partners/Resource/Offers.php @@ -0,0 +1,57 @@ + + * $partnersService = new Google_Service_Partners(...); + * $offers = $partnersService->offers; + * + */ +class Google_Service_Partners_Resource_Offers extends Google_Service_Resource +{ + /** + * Lists the Offers available for the current user (offers.listOffers) + * + * @param array $optParams Optional parameters. + * + * @opt_param string requestMetadata.userOverrides.ipAddress IP address to use + * instead of the user's geo-located IP address. + * @opt_param string requestMetadata.experimentIds Experiment IDs the current + * request belongs to. + * @opt_param string requestMetadata.trafficSource.trafficSubId Second level + * identifier to indicate where the traffic comes from. An identifier has + * multiple letters created by a team which redirected the traffic to us. + * @opt_param string requestMetadata.userOverrides.userId Logged-in user ID to + * impersonate instead of the user's ID. + * @opt_param string requestMetadata.partnersSessionId Google Partners session + * ID. + * @opt_param string requestMetadata.trafficSource.trafficSourceId Identifier to + * indicate where the traffic comes from. An identifier has multiple letters + * created by a team which redirected the traffic to us. + * @opt_param string requestMetadata.locale Locale to use for the current + * request. + * @return Google_Service_Partners_ListOffersResponse + */ + public function listOffers($optParams = array()) + { + $params = array(); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Partners_ListOffersResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Partners/Resource/OffersHistory.php b/vendor/google/apiclient-services/src/Google/Service/Partners/Resource/OffersHistory.php new file mode 100644 index 00000000..5cd7a8f4 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Partners/Resource/OffersHistory.php @@ -0,0 +1,66 @@ + + * $partnersService = new Google_Service_Partners(...); + * $history = $partnersService->history; + * + */ +class Google_Service_Partners_Resource_OffersHistory extends Google_Service_Resource +{ + /** + * Lists the Historical Offers for the current user (or user's entire company) + * (history.listOffersHistory) + * + * @param array $optParams Optional parameters. + * + * @opt_param string pageToken Token to retrieve a specific page. + * @opt_param int pageSize Maximum number of rows to return per page. + * @opt_param string requestMetadata.trafficSource.trafficSourceId Identifier to + * indicate where the traffic comes from. An identifier has multiple letters + * created by a team which redirected the traffic to us. + * @opt_param string requestMetadata.locale Locale to use for the current + * request. + * @opt_param string requestMetadata.userOverrides.ipAddress IP address to use + * instead of the user's geo-located IP address. + * @opt_param string requestMetadata.experimentIds Experiment IDs the current + * request belongs to. + * @opt_param bool entireCompany if true, show history for the entire company. + * Requires user to be admin. + * @opt_param string orderBy Comma-separated list of fields to order by, e.g.: + * "foo,bar,baz". Use "foo desc" to sort descending. List of valid field names + * is: name, offer_code, expiration_time, status, last_modified_time, + * sender_name, creation_time, country_code, offer_type. + * @opt_param string requestMetadata.trafficSource.trafficSubId Second level + * identifier to indicate where the traffic comes from. An identifier has + * multiple letters created by a team which redirected the traffic to us. + * @opt_param string requestMetadata.userOverrides.userId Logged-in user ID to + * impersonate instead of the user's ID. + * @opt_param string requestMetadata.partnersSessionId Google Partners session + * ID. + * @return Google_Service_Partners_ListOffersHistoryResponse + */ + public function listOffersHistory($optParams = array()) + { + $params = array(); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Partners_ListOffersHistoryResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Partners/Resource/UserEvents.php b/vendor/google/apiclient-services/src/Google/Service/Partners/Resource/UserEvents.php new file mode 100644 index 00000000..552082ba --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Partners/Resource/UserEvents.php @@ -0,0 +1,41 @@ + + * $partnersService = new Google_Service_Partners(...); + * $userEvents = $partnersService->userEvents; + * + */ +class Google_Service_Partners_Resource_UserEvents extends Google_Service_Resource +{ + /** + * Logs a user event. (userEvents.log) + * + * @param Google_Service_Partners_LogUserEventRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Partners_LogUserEventResponse + */ + public function log(Google_Service_Partners_LogUserEventRequest $postBody, $optParams = array()) + { + $params = array('postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('log', array($params), "Google_Service_Partners_LogUserEventResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Partners/Resource/UserStates.php b/vendor/google/apiclient-services/src/Google/Service/Partners/Resource/UserStates.php new file mode 100644 index 00000000..6b1c2cf0 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Partners/Resource/UserStates.php @@ -0,0 +1,57 @@ + + * $partnersService = new Google_Service_Partners(...); + * $userStates = $partnersService->userStates; + * + */ +class Google_Service_Partners_Resource_UserStates extends Google_Service_Resource +{ + /** + * Lists states for current user. (userStates.listUserStates) + * + * @param array $optParams Optional parameters. + * + * @opt_param string requestMetadata.userOverrides.userId Logged-in user ID to + * impersonate instead of the user's ID. + * @opt_param string requestMetadata.partnersSessionId Google Partners session + * ID. + * @opt_param string requestMetadata.trafficSource.trafficSourceId Identifier to + * indicate where the traffic comes from. An identifier has multiple letters + * created by a team which redirected the traffic to us. + * @opt_param string requestMetadata.locale Locale to use for the current + * request. + * @opt_param string requestMetadata.userOverrides.ipAddress IP address to use + * instead of the user's geo-located IP address. + * @opt_param string requestMetadata.experimentIds Experiment IDs the current + * request belongs to. + * @opt_param string requestMetadata.trafficSource.trafficSubId Second level + * identifier to indicate where the traffic comes from. An identifier has + * multiple letters created by a team which redirected the traffic to us. + * @return Google_Service_Partners_ListUserStatesResponse + */ + public function listUserStates($optParams = array()) + { + $params = array(); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Partners_ListUserStatesResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Partners/Resource/Users.php b/vendor/google/apiclient-services/src/Google/Service/Partners/Resource/Users.php new file mode 100644 index 00000000..11cd10e6 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Partners/Resource/Users.php @@ -0,0 +1,157 @@ + + * $partnersService = new Google_Service_Partners(...); + * $users = $partnersService->users; + * + */ +class Google_Service_Partners_Resource_Users extends Google_Service_Resource +{ + /** + * Creates a user's company relation. Affiliates the user to a company. + * (users.createCompanyRelation) + * + * @param string $userId The ID of the user. Can be set to me to mean the + * currently authenticated user. + * @param Google_Service_Partners_CompanyRelation $postBody + * @param array $optParams Optional parameters. + * + * @opt_param string requestMetadata.userOverrides.userId Logged-in user ID to + * impersonate instead of the user's ID. + * @opt_param string requestMetadata.partnersSessionId Google Partners session + * ID. + * @opt_param string requestMetadata.trafficSource.trafficSourceId Identifier to + * indicate where the traffic comes from. An identifier has multiple letters + * created by a team which redirected the traffic to us. + * @opt_param string requestMetadata.locale Locale to use for the current + * request. + * @opt_param string requestMetadata.userOverrides.ipAddress IP address to use + * instead of the user's geo-located IP address. + * @opt_param string requestMetadata.experimentIds Experiment IDs the current + * request belongs to. + * @opt_param string requestMetadata.trafficSource.trafficSubId Second level + * identifier to indicate where the traffic comes from. An identifier has + * multiple letters created by a team which redirected the traffic to us. + * @return Google_Service_Partners_CompanyRelation + */ + public function createCompanyRelation($userId, Google_Service_Partners_CompanyRelation $postBody, $optParams = array()) + { + $params = array('userId' => $userId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('createCompanyRelation', array($params), "Google_Service_Partners_CompanyRelation"); + } + /** + * Deletes a user's company relation. Unaffiliaites the user from a company. + * (users.deleteCompanyRelation) + * + * @param string $userId The ID of the user. Can be set to me to mean the + * currently authenticated user. + * @param array $optParams Optional parameters. + * + * @opt_param string requestMetadata.trafficSource.trafficSubId Second level + * identifier to indicate where the traffic comes from. An identifier has + * multiple letters created by a team which redirected the traffic to us. + * @opt_param string requestMetadata.userOverrides.userId Logged-in user ID to + * impersonate instead of the user's ID. + * @opt_param string requestMetadata.partnersSessionId Google Partners session + * ID. + * @opt_param string requestMetadata.trafficSource.trafficSourceId Identifier to + * indicate where the traffic comes from. An identifier has multiple letters + * created by a team which redirected the traffic to us. + * @opt_param string requestMetadata.locale Locale to use for the current + * request. + * @opt_param string requestMetadata.userOverrides.ipAddress IP address to use + * instead of the user's geo-located IP address. + * @opt_param string requestMetadata.experimentIds Experiment IDs the current + * request belongs to. + * @return Google_Service_Partners_PartnersEmpty + */ + public function deleteCompanyRelation($userId, $optParams = array()) + { + $params = array('userId' => $userId); + $params = array_merge($params, $optParams); + return $this->call('deleteCompanyRelation', array($params), "Google_Service_Partners_PartnersEmpty"); + } + /** + * Gets a user. (users.get) + * + * @param string $userId Identifier of the user. Can be set to me to mean the + * currently authenticated user. + * @param array $optParams Optional parameters. + * + * @opt_param string userView Specifies what parts of the user information to + * return. + * @opt_param string requestMetadata.trafficSource.trafficSourceId Identifier to + * indicate where the traffic comes from. An identifier has multiple letters + * created by a team which redirected the traffic to us. + * @opt_param string requestMetadata.locale Locale to use for the current + * request. + * @opt_param string requestMetadata.userOverrides.ipAddress IP address to use + * instead of the user's geo-located IP address. + * @opt_param string requestMetadata.experimentIds Experiment IDs the current + * request belongs to. + * @opt_param string requestMetadata.trafficSource.trafficSubId Second level + * identifier to indicate where the traffic comes from. An identifier has + * multiple letters created by a team which redirected the traffic to us. + * @opt_param string requestMetadata.partnersSessionId Google Partners session + * ID. + * @opt_param string requestMetadata.userOverrides.userId Logged-in user ID to + * impersonate instead of the user's ID. + * @return Google_Service_Partners_User + */ + public function get($userId, $optParams = array()) + { + $params = array('userId' => $userId); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Partners_User"); + } + /** + * Updates a user's profile. A user can only update their own profile and should + * only be called within the context of a logged in user. (users.updateProfile) + * + * @param Google_Service_Partners_UserProfile $postBody + * @param array $optParams Optional parameters. + * + * @opt_param string requestMetadata.userOverrides.ipAddress IP address to use + * instead of the user's geo-located IP address. + * @opt_param string requestMetadata.experimentIds Experiment IDs the current + * request belongs to. + * @opt_param string requestMetadata.trafficSource.trafficSubId Second level + * identifier to indicate where the traffic comes from. An identifier has + * multiple letters created by a team which redirected the traffic to us. + * @opt_param string requestMetadata.partnersSessionId Google Partners session + * ID. + * @opt_param string requestMetadata.userOverrides.userId Logged-in user ID to + * impersonate instead of the user's ID. + * @opt_param string requestMetadata.trafficSource.trafficSourceId Identifier to + * indicate where the traffic comes from. An identifier has multiple letters + * created by a team which redirected the traffic to us. + * @opt_param string requestMetadata.locale Locale to use for the current + * request. + * @return Google_Service_Partners_UserProfile + */ + public function updateProfile(Google_Service_Partners_UserProfile $postBody, $optParams = array()) + { + $params = array('postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('updateProfile', array($params), "Google_Service_Partners_UserProfile"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Partners/Resource/V2.php b/vendor/google/apiclient-services/src/Google/Service/Partners/Resource/V2.php new file mode 100644 index 00000000..27d02f80 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Partners/Resource/V2.php @@ -0,0 +1,124 @@ + + * $partnersService = new Google_Service_Partners(...); + * $v2 = $partnersService->v2; + * + */ +class Google_Service_Partners_Resource_V2 extends Google_Service_Resource +{ + /** + * Gets Partners Status of the logged in user's agency. Should only be called if + * the logged in user is the admin of the agency. (v2.getPartnersstatus) + * + * @param array $optParams Optional parameters. + * + * @opt_param string requestMetadata.trafficSource.trafficSubId Second level + * identifier to indicate where the traffic comes from. An identifier has + * multiple letters created by a team which redirected the traffic to us. + * @opt_param string requestMetadata.partnersSessionId Google Partners session + * ID. + * @opt_param string requestMetadata.userOverrides.userId Logged-in user ID to + * impersonate instead of the user's ID. + * @opt_param string requestMetadata.trafficSource.trafficSourceId Identifier to + * indicate where the traffic comes from. An identifier has multiple letters + * created by a team which redirected the traffic to us. + * @opt_param string requestMetadata.locale Locale to use for the current + * request. + * @opt_param string requestMetadata.userOverrides.ipAddress IP address to use + * instead of the user's geo-located IP address. + * @opt_param string requestMetadata.experimentIds Experiment IDs the current + * request belongs to. + * @return Google_Service_Partners_GetPartnersStatusResponse + */ + public function getPartnersstatus($optParams = array()) + { + $params = array(); + $params = array_merge($params, $optParams); + return $this->call('getPartnersstatus', array($params), "Google_Service_Partners_GetPartnersStatusResponse"); + } + /** + * Update company. Should only be called within the context of an authorized + * logged in user. (v2.updateCompanies) + * + * @param Google_Service_Partners_Company $postBody + * @param array $optParams Optional parameters. + * + * @opt_param string requestMetadata.userOverrides.ipAddress IP address to use + * instead of the user's geo-located IP address. + * @opt_param string updateMask Standard field mask for the set of fields to be + * updated. Required with at least 1 value in FieldMask's paths. + * @opt_param string requestMetadata.experimentIds Experiment IDs the current + * request belongs to. + * @opt_param string requestMetadata.trafficSource.trafficSubId Second level + * identifier to indicate where the traffic comes from. An identifier has + * multiple letters created by a team which redirected the traffic to us. + * @opt_param string requestMetadata.partnersSessionId Google Partners session + * ID. + * @opt_param string requestMetadata.userOverrides.userId Logged-in user ID to + * impersonate instead of the user's ID. + * @opt_param string requestMetadata.trafficSource.trafficSourceId Identifier to + * indicate where the traffic comes from. An identifier has multiple letters + * created by a team which redirected the traffic to us. + * @opt_param string requestMetadata.locale Locale to use for the current + * request. + * @return Google_Service_Partners_Company + */ + public function updateCompanies(Google_Service_Partners_Company $postBody, $optParams = array()) + { + $params = array('postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('updateCompanies', array($params), "Google_Service_Partners_Company"); + } + /** + * Updates the specified lead. (v2.updateLeads) + * + * @param Google_Service_Partners_Lead $postBody + * @param array $optParams Optional parameters. + * + * @opt_param string requestMetadata.trafficSource.trafficSourceId Identifier to + * indicate where the traffic comes from. An identifier has multiple letters + * created by a team which redirected the traffic to us. + * @opt_param string requestMetadata.locale Locale to use for the current + * request. + * @opt_param string requestMetadata.userOverrides.ipAddress IP address to use + * instead of the user's geo-located IP address. + * @opt_param string updateMask Standard field mask for the set of fields to be + * updated. Required with at least 1 value in FieldMask's paths. Only `state` + * and `adwords_customer_id` are currently supported. + * @opt_param string requestMetadata.experimentIds Experiment IDs the current + * request belongs to. + * @opt_param string requestMetadata.trafficSource.trafficSubId Second level + * identifier to indicate where the traffic comes from. An identifier has + * multiple letters created by a team which redirected the traffic to us. + * @opt_param string requestMetadata.partnersSessionId Google Partners session + * ID. + * @opt_param string requestMetadata.userOverrides.userId Logged-in user ID to + * impersonate instead of the user's ID. + * @return Google_Service_Partners_Lead + */ + public function updateLeads(Google_Service_Partners_Lead $postBody, $optParams = array()) + { + $params = array('postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('updateLeads', array($params), "Google_Service_Partners_Lead"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Partners/ResponseMetadata.php b/vendor/google/apiclient-services/src/Google/Service/Partners/ResponseMetadata.php new file mode 100644 index 00000000..bc4f72e5 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Partners/ResponseMetadata.php @@ -0,0 +1,31 @@ +debugInfo = $debugInfo; + } + public function getDebugInfo() + { + return $this->debugInfo; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Partners/SpecializationStatus.php b/vendor/google/apiclient-services/src/Google/Service/Partners/SpecializationStatus.php new file mode 100644 index 00000000..234b1ef6 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Partners/SpecializationStatus.php @@ -0,0 +1,39 @@ +badgeSpecialization = $badgeSpecialization; + } + public function getBadgeSpecialization() + { + return $this->badgeSpecialization; + } + public function setBadgeSpecializationState($badgeSpecializationState) + { + $this->badgeSpecializationState = $badgeSpecializationState; + } + public function getBadgeSpecializationState() + { + return $this->badgeSpecializationState; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Partners/TrafficSource.php b/vendor/google/apiclient-services/src/Google/Service/Partners/TrafficSource.php new file mode 100644 index 00000000..14e34a59 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Partners/TrafficSource.php @@ -0,0 +1,39 @@ +trafficSourceId = $trafficSourceId; + } + public function getTrafficSourceId() + { + return $this->trafficSourceId; + } + public function setTrafficSubId($trafficSubId) + { + $this->trafficSubId = $trafficSubId; + } + public function getTrafficSubId() + { + return $this->trafficSubId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Partners/User.php b/vendor/google/apiclient-services/src/Google/Service/Partners/User.php new file mode 100644 index 00000000..83dabff5 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Partners/User.php @@ -0,0 +1,118 @@ +availableAdwordsManagerAccounts = $availableAdwordsManagerAccounts; + } + public function getAvailableAdwordsManagerAccounts() + { + return $this->availableAdwordsManagerAccounts; + } + public function setCertificationStatus($certificationStatus) + { + $this->certificationStatus = $certificationStatus; + } + public function getCertificationStatus() + { + return $this->certificationStatus; + } + public function setCompany(Google_Service_Partners_CompanyRelation $company) + { + $this->company = $company; + } + public function getCompany() + { + return $this->company; + } + public function setCompanyVerificationEmail($companyVerificationEmail) + { + $this->companyVerificationEmail = $companyVerificationEmail; + } + public function getCompanyVerificationEmail() + { + return $this->companyVerificationEmail; + } + public function setExamStatus($examStatus) + { + $this->examStatus = $examStatus; + } + public function getExamStatus() + { + return $this->examStatus; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setLastAccessTime($lastAccessTime) + { + $this->lastAccessTime = $lastAccessTime; + } + public function getLastAccessTime() + { + return $this->lastAccessTime; + } + public function setPrimaryEmails($primaryEmails) + { + $this->primaryEmails = $primaryEmails; + } + public function getPrimaryEmails() + { + return $this->primaryEmails; + } + public function setProfile(Google_Service_Partners_UserProfile $profile) + { + $this->profile = $profile; + } + public function getProfile() + { + return $this->profile; + } + public function setPublicProfile(Google_Service_Partners_PublicProfile $publicProfile) + { + $this->publicProfile = $publicProfile; + } + public function getPublicProfile() + { + return $this->publicProfile; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Partners/UserOverrides.php b/vendor/google/apiclient-services/src/Google/Service/Partners/UserOverrides.php new file mode 100644 index 00000000..12c9e9e2 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Partners/UserOverrides.php @@ -0,0 +1,39 @@ +ipAddress = $ipAddress; + } + public function getIpAddress() + { + return $this->ipAddress; + } + public function setUserId($userId) + { + $this->userId = $userId; + } + public function getUserId() + { + return $this->userId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Partners/UserProfile.php b/vendor/google/apiclient-services/src/Google/Service/Partners/UserProfile.php new file mode 100644 index 00000000..bd23cb25 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Partners/UserProfile.php @@ -0,0 +1,150 @@ +address = $address; + } + public function getAddress() + { + return $this->address; + } + public function setAdwordsManagerAccount($adwordsManagerAccount) + { + $this->adwordsManagerAccount = $adwordsManagerAccount; + } + public function getAdwordsManagerAccount() + { + return $this->adwordsManagerAccount; + } + public function setChannels($channels) + { + $this->channels = $channels; + } + public function getChannels() + { + return $this->channels; + } + public function setEmailAddress($emailAddress) + { + $this->emailAddress = $emailAddress; + } + public function getEmailAddress() + { + return $this->emailAddress; + } + public function setEmailOptIns(Google_Service_Partners_OptIns $emailOptIns) + { + $this->emailOptIns = $emailOptIns; + } + public function getEmailOptIns() + { + return $this->emailOptIns; + } + public function setFamilyName($familyName) + { + $this->familyName = $familyName; + } + public function getFamilyName() + { + return $this->familyName; + } + public function setGivenName($givenName) + { + $this->givenName = $givenName; + } + public function getGivenName() + { + return $this->givenName; + } + public function setIndustries($industries) + { + $this->industries = $industries; + } + public function getIndustries() + { + return $this->industries; + } + public function setJobFunctions($jobFunctions) + { + $this->jobFunctions = $jobFunctions; + } + public function getJobFunctions() + { + return $this->jobFunctions; + } + public function setLanguages($languages) + { + $this->languages = $languages; + } + public function getLanguages() + { + return $this->languages; + } + public function setMarkets($markets) + { + $this->markets = $markets; + } + public function getMarkets() + { + return $this->markets; + } + public function setPhoneNumber($phoneNumber) + { + $this->phoneNumber = $phoneNumber; + } + public function getPhoneNumber() + { + return $this->phoneNumber; + } + public function setPrimaryCountryCode($primaryCountryCode) + { + $this->primaryCountryCode = $primaryCountryCode; + } + public function getPrimaryCountryCode() + { + return $this->primaryCountryCode; + } + public function setProfilePublic($profilePublic) + { + $this->profilePublic = $profilePublic; + } + public function getProfilePublic() + { + return $this->profilePublic; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/People.php b/vendor/google/apiclient-services/src/Google/Service/People.php new file mode 100644 index 00000000..30c0f795 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/People.php @@ -0,0 +1,160 @@ + + * Provides access to information about profiles and contacts.

+ * + *

+ * For more information about this service, see the API + * Documentation + *

+ * + * @author Google, Inc. + */ +class Google_Service_People extends Google_Service +{ + /** Manage your contacts. */ + const CONTACTS = + "https://www.googleapis.com/auth/contacts"; + /** View your contacts. */ + const CONTACTS_READONLY = + "https://www.googleapis.com/auth/contacts.readonly"; + /** Know the list of people in your circles, your age range, and language. */ + const PLUS_LOGIN = + "https://www.googleapis.com/auth/plus.login"; + /** View your street addresses. */ + const USER_ADDRESSES_READ = + "https://www.googleapis.com/auth/user.addresses.read"; + /** View your complete date of birth. */ + const USER_BIRTHDAY_READ = + "https://www.googleapis.com/auth/user.birthday.read"; + /** View your email addresses. */ + const USER_EMAILS_READ = + "https://www.googleapis.com/auth/user.emails.read"; + /** View your phone numbers. */ + const USER_PHONENUMBERS_READ = + "https://www.googleapis.com/auth/user.phonenumbers.read"; + /** View your email address. */ + const USERINFO_EMAIL = + "https://www.googleapis.com/auth/userinfo.email"; + /** View your basic profile info. */ + const USERINFO_PROFILE = + "https://www.googleapis.com/auth/userinfo.profile"; + + public $people; + public $people_connections; + + /** + * Constructs the internal representation of the People service. + * + * @param Google_Client $client + */ + public function __construct(Google_Client $client) + { + parent::__construct($client); + $this->rootUrl = 'https://people.googleapis.com/'; + $this->servicePath = ''; + $this->version = 'v1'; + $this->serviceName = 'people'; + + $this->people = new Google_Service_People_Resource_People( + $this, + $this->serviceName, + 'people', + array( + 'methods' => array( + 'get' => array( + 'path' => 'v1/{+resourceName}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'resourceName' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'requestMask.includeField' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'getBatchGet' => array( + 'path' => 'v1/people:batchGet', + 'httpMethod' => 'GET', + 'parameters' => array( + 'requestMask.includeField' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'resourceNames' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + ), + ), + ), + ) + ) + ); + $this->people_connections = new Google_Service_People_Resource_PeopleConnections( + $this, + $this->serviceName, + 'connections', + array( + 'methods' => array( + 'list' => array( + 'path' => 'v1/{+resourceName}/connections', + 'httpMethod' => 'GET', + 'parameters' => array( + 'resourceName' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'requestSyncToken' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'requestMask.includeField' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pageSize' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'syncToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'sortOrder' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/People/Address.php b/vendor/google/apiclient-services/src/Google/Service/People/Address.php new file mode 100644 index 00000000..2c0569df --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/People/Address.php @@ -0,0 +1,130 @@ +city = $city; + } + public function getCity() + { + return $this->city; + } + public function setCountry($country) + { + $this->country = $country; + } + public function getCountry() + { + return $this->country; + } + public function setCountryCode($countryCode) + { + $this->countryCode = $countryCode; + } + public function getCountryCode() + { + return $this->countryCode; + } + public function setExtendedAddress($extendedAddress) + { + $this->extendedAddress = $extendedAddress; + } + public function getExtendedAddress() + { + return $this->extendedAddress; + } + public function setFormattedType($formattedType) + { + $this->formattedType = $formattedType; + } + public function getFormattedType() + { + return $this->formattedType; + } + public function setFormattedValue($formattedValue) + { + $this->formattedValue = $formattedValue; + } + public function getFormattedValue() + { + return $this->formattedValue; + } + public function setMetadata(Google_Service_People_FieldMetadata $metadata) + { + $this->metadata = $metadata; + } + public function getMetadata() + { + return $this->metadata; + } + public function setPoBox($poBox) + { + $this->poBox = $poBox; + } + public function getPoBox() + { + return $this->poBox; + } + public function setPostalCode($postalCode) + { + $this->postalCode = $postalCode; + } + public function getPostalCode() + { + return $this->postalCode; + } + public function setRegion($region) + { + $this->region = $region; + } + public function getRegion() + { + return $this->region; + } + public function setStreetAddress($streetAddress) + { + $this->streetAddress = $streetAddress; + } + public function getStreetAddress() + { + return $this->streetAddress; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/People/AgeRangeType.php b/vendor/google/apiclient-services/src/Google/Service/People/AgeRangeType.php new file mode 100644 index 00000000..96ed2b8b --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/People/AgeRangeType.php @@ -0,0 +1,40 @@ +ageRange = $ageRange; + } + public function getAgeRange() + { + return $this->ageRange; + } + public function setMetadata(Google_Service_People_FieldMetadata $metadata) + { + $this->metadata = $metadata; + } + public function getMetadata() + { + return $this->metadata; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/People/Biography.php b/vendor/google/apiclient-services/src/Google/Service/People/Biography.php new file mode 100644 index 00000000..5b1676a7 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/People/Biography.php @@ -0,0 +1,49 @@ +contentType = $contentType; + } + public function getContentType() + { + return $this->contentType; + } + public function setMetadata(Google_Service_People_FieldMetadata $metadata) + { + $this->metadata = $metadata; + } + public function getMetadata() + { + return $this->metadata; + } + public function setValue($value) + { + $this->value = $value; + } + public function getValue() + { + return $this->value; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/People/Birthday.php b/vendor/google/apiclient-services/src/Google/Service/People/Birthday.php new file mode 100644 index 00000000..f00a7b1b --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/People/Birthday.php @@ -0,0 +1,50 @@ +date = $date; + } + public function getDate() + { + return $this->date; + } + public function setMetadata(Google_Service_People_FieldMetadata $metadata) + { + $this->metadata = $metadata; + } + public function getMetadata() + { + return $this->metadata; + } + public function setText($text) + { + $this->text = $text; + } + public function getText() + { + return $this->text; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/People/BraggingRights.php b/vendor/google/apiclient-services/src/Google/Service/People/BraggingRights.php new file mode 100644 index 00000000..45f4668f --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/People/BraggingRights.php @@ -0,0 +1,40 @@ +metadata = $metadata; + } + public function getMetadata() + { + return $this->metadata; + } + public function setValue($value) + { + $this->value = $value; + } + public function getValue() + { + return $this->value; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/People/ContactGroupMembership.php b/vendor/google/apiclient-services/src/Google/Service/People/ContactGroupMembership.php new file mode 100644 index 00000000..79e27575 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/People/ContactGroupMembership.php @@ -0,0 +1,30 @@ +contactGroupId = $contactGroupId; + } + public function getContactGroupId() + { + return $this->contactGroupId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/People/CoverPhoto.php b/vendor/google/apiclient-services/src/Google/Service/People/CoverPhoto.php new file mode 100644 index 00000000..b48da3ff --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/People/CoverPhoto.php @@ -0,0 +1,49 @@ +default = $default; + } + public function getDefault() + { + return $this->default; + } + public function setMetadata(Google_Service_People_FieldMetadata $metadata) + { + $this->metadata = $metadata; + } + public function getMetadata() + { + return $this->metadata; + } + public function setUrl($url) + { + $this->url = $url; + } + public function getUrl() + { + return $this->url; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/People/Date.php b/vendor/google/apiclient-services/src/Google/Service/People/Date.php new file mode 100644 index 00000000..247bdf02 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/People/Date.php @@ -0,0 +1,48 @@ +day = $day; + } + public function getDay() + { + return $this->day; + } + public function setMonth($month) + { + $this->month = $month; + } + public function getMonth() + { + return $this->month; + } + public function setYear($year) + { + $this->year = $year; + } + public function getYear() + { + return $this->year; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/People/DomainMembership.php b/vendor/google/apiclient-services/src/Google/Service/People/DomainMembership.php new file mode 100644 index 00000000..8956e35e --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/People/DomainMembership.php @@ -0,0 +1,30 @@ +inViewerDomain = $inViewerDomain; + } + public function getInViewerDomain() + { + return $this->inViewerDomain; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/People/EmailAddress.php b/vendor/google/apiclient-services/src/Google/Service/People/EmailAddress.php new file mode 100644 index 00000000..ea3bbe40 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/People/EmailAddress.php @@ -0,0 +1,67 @@ +displayName = $displayName; + } + public function getDisplayName() + { + return $this->displayName; + } + public function setFormattedType($formattedType) + { + $this->formattedType = $formattedType; + } + public function getFormattedType() + { + return $this->formattedType; + } + public function setMetadata(Google_Service_People_FieldMetadata $metadata) + { + $this->metadata = $metadata; + } + public function getMetadata() + { + return $this->metadata; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } + public function setValue($value) + { + $this->value = $value; + } + public function getValue() + { + return $this->value; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/People/Event.php b/vendor/google/apiclient-services/src/Google/Service/People/Event.php new file mode 100644 index 00000000..2b6311bc --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/People/Event.php @@ -0,0 +1,59 @@ +date = $date; + } + public function getDate() + { + return $this->date; + } + public function setFormattedType($formattedType) + { + $this->formattedType = $formattedType; + } + public function getFormattedType() + { + return $this->formattedType; + } + public function setMetadata(Google_Service_People_FieldMetadata $metadata) + { + $this->metadata = $metadata; + } + public function getMetadata() + { + return $this->metadata; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/People/FieldMetadata.php b/vendor/google/apiclient-services/src/Google/Service/People/FieldMetadata.php new file mode 100644 index 00000000..752c9f12 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/People/FieldMetadata.php @@ -0,0 +1,49 @@ +primary = $primary; + } + public function getPrimary() + { + return $this->primary; + } + public function setSource(Google_Service_People_Source $source) + { + $this->source = $source; + } + public function getSource() + { + return $this->source; + } + public function setVerified($verified) + { + $this->verified = $verified; + } + public function getVerified() + { + return $this->verified; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/People/Gender.php b/vendor/google/apiclient-services/src/Google/Service/People/Gender.php new file mode 100644 index 00000000..6dc82630 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/People/Gender.php @@ -0,0 +1,49 @@ +formattedValue = $formattedValue; + } + public function getFormattedValue() + { + return $this->formattedValue; + } + public function setMetadata(Google_Service_People_FieldMetadata $metadata) + { + $this->metadata = $metadata; + } + public function getMetadata() + { + return $this->metadata; + } + public function setValue($value) + { + $this->value = $value; + } + public function getValue() + { + return $this->value; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/People/GetPeopleResponse.php b/vendor/google/apiclient-services/src/Google/Service/People/GetPeopleResponse.php new file mode 100644 index 00000000..9c6a16fe --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/People/GetPeopleResponse.php @@ -0,0 +1,32 @@ +responses = $responses; + } + public function getResponses() + { + return $this->responses; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/People/ImClient.php b/vendor/google/apiclient-services/src/Google/Service/People/ImClient.php new file mode 100644 index 00000000..cad9a438 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/People/ImClient.php @@ -0,0 +1,76 @@ +formattedProtocol = $formattedProtocol; + } + public function getFormattedProtocol() + { + return $this->formattedProtocol; + } + public function setFormattedType($formattedType) + { + $this->formattedType = $formattedType; + } + public function getFormattedType() + { + return $this->formattedType; + } + public function setMetadata(Google_Service_People_FieldMetadata $metadata) + { + $this->metadata = $metadata; + } + public function getMetadata() + { + return $this->metadata; + } + public function setProtocol($protocol) + { + $this->protocol = $protocol; + } + public function getProtocol() + { + return $this->protocol; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } + public function setUsername($username) + { + $this->username = $username; + } + public function getUsername() + { + return $this->username; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/People/Interest.php b/vendor/google/apiclient-services/src/Google/Service/People/Interest.php new file mode 100644 index 00000000..2cfa15f3 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/People/Interest.php @@ -0,0 +1,40 @@ +metadata = $metadata; + } + public function getMetadata() + { + return $this->metadata; + } + public function setValue($value) + { + $this->value = $value; + } + public function getValue() + { + return $this->value; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/People/ListConnectionsResponse.php b/vendor/google/apiclient-services/src/Google/Service/People/ListConnectionsResponse.php new file mode 100644 index 00000000..c94f140b --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/People/ListConnectionsResponse.php @@ -0,0 +1,50 @@ +connections = $connections; + } + public function getConnections() + { + return $this->connections; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setNextSyncToken($nextSyncToken) + { + $this->nextSyncToken = $nextSyncToken; + } + public function getNextSyncToken() + { + return $this->nextSyncToken; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/People/Locale.php b/vendor/google/apiclient-services/src/Google/Service/People/Locale.php new file mode 100644 index 00000000..ace1c251 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/People/Locale.php @@ -0,0 +1,40 @@ +metadata = $metadata; + } + public function getMetadata() + { + return $this->metadata; + } + public function setValue($value) + { + $this->value = $value; + } + public function getValue() + { + return $this->value; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/People/Membership.php b/vendor/google/apiclient-services/src/Google/Service/People/Membership.php new file mode 100644 index 00000000..dcba8d52 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/People/Membership.php @@ -0,0 +1,51 @@ +contactGroupMembership = $contactGroupMembership; + } + public function getContactGroupMembership() + { + return $this->contactGroupMembership; + } + public function setDomainMembership(Google_Service_People_DomainMembership $domainMembership) + { + $this->domainMembership = $domainMembership; + } + public function getDomainMembership() + { + return $this->domainMembership; + } + public function setMetadata(Google_Service_People_FieldMetadata $metadata) + { + $this->metadata = $metadata; + } + public function getMetadata() + { + return $this->metadata; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/People/Name.php b/vendor/google/apiclient-services/src/Google/Service/People/Name.php new file mode 100644 index 00000000..76f2f80a --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/People/Name.php @@ -0,0 +1,148 @@ +displayName = $displayName; + } + public function getDisplayName() + { + return $this->displayName; + } + public function setDisplayNameLastFirst($displayNameLastFirst) + { + $this->displayNameLastFirst = $displayNameLastFirst; + } + public function getDisplayNameLastFirst() + { + return $this->displayNameLastFirst; + } + public function setFamilyName($familyName) + { + $this->familyName = $familyName; + } + public function getFamilyName() + { + return $this->familyName; + } + public function setGivenName($givenName) + { + $this->givenName = $givenName; + } + public function getGivenName() + { + return $this->givenName; + } + public function setHonorificPrefix($honorificPrefix) + { + $this->honorificPrefix = $honorificPrefix; + } + public function getHonorificPrefix() + { + return $this->honorificPrefix; + } + public function setHonorificSuffix($honorificSuffix) + { + $this->honorificSuffix = $honorificSuffix; + } + public function getHonorificSuffix() + { + return $this->honorificSuffix; + } + public function setMetadata(Google_Service_People_FieldMetadata $metadata) + { + $this->metadata = $metadata; + } + public function getMetadata() + { + return $this->metadata; + } + public function setMiddleName($middleName) + { + $this->middleName = $middleName; + } + public function getMiddleName() + { + return $this->middleName; + } + public function setPhoneticFamilyName($phoneticFamilyName) + { + $this->phoneticFamilyName = $phoneticFamilyName; + } + public function getPhoneticFamilyName() + { + return $this->phoneticFamilyName; + } + public function setPhoneticFullName($phoneticFullName) + { + $this->phoneticFullName = $phoneticFullName; + } + public function getPhoneticFullName() + { + return $this->phoneticFullName; + } + public function setPhoneticGivenName($phoneticGivenName) + { + $this->phoneticGivenName = $phoneticGivenName; + } + public function getPhoneticGivenName() + { + return $this->phoneticGivenName; + } + public function setPhoneticHonorificPrefix($phoneticHonorificPrefix) + { + $this->phoneticHonorificPrefix = $phoneticHonorificPrefix; + } + public function getPhoneticHonorificPrefix() + { + return $this->phoneticHonorificPrefix; + } + public function setPhoneticHonorificSuffix($phoneticHonorificSuffix) + { + $this->phoneticHonorificSuffix = $phoneticHonorificSuffix; + } + public function getPhoneticHonorificSuffix() + { + return $this->phoneticHonorificSuffix; + } + public function setPhoneticMiddleName($phoneticMiddleName) + { + $this->phoneticMiddleName = $phoneticMiddleName; + } + public function getPhoneticMiddleName() + { + return $this->phoneticMiddleName; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/People/Nickname.php b/vendor/google/apiclient-services/src/Google/Service/People/Nickname.php new file mode 100644 index 00000000..dd152314 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/People/Nickname.php @@ -0,0 +1,49 @@ +metadata = $metadata; + } + public function getMetadata() + { + return $this->metadata; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } + public function setValue($value) + { + $this->value = $value; + } + public function getValue() + { + return $this->value; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/People/Occupation.php b/vendor/google/apiclient-services/src/Google/Service/People/Occupation.php new file mode 100644 index 00000000..0bb869ba --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/People/Occupation.php @@ -0,0 +1,40 @@ +metadata = $metadata; + } + public function getMetadata() + { + return $this->metadata; + } + public function setValue($value) + { + $this->value = $value; + } + public function getValue() + { + return $this->value; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/People/Organization.php b/vendor/google/apiclient-services/src/Google/Service/People/Organization.php new file mode 100644 index 00000000..aa507534 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/People/Organization.php @@ -0,0 +1,150 @@ +current = $current; + } + public function getCurrent() + { + return $this->current; + } + public function setDepartment($department) + { + $this->department = $department; + } + public function getDepartment() + { + return $this->department; + } + public function setDomain($domain) + { + $this->domain = $domain; + } + public function getDomain() + { + return $this->domain; + } + public function setEndDate(Google_Service_People_Date $endDate) + { + $this->endDate = $endDate; + } + public function getEndDate() + { + return $this->endDate; + } + public function setFormattedType($formattedType) + { + $this->formattedType = $formattedType; + } + public function getFormattedType() + { + return $this->formattedType; + } + public function setJobDescription($jobDescription) + { + $this->jobDescription = $jobDescription; + } + public function getJobDescription() + { + return $this->jobDescription; + } + public function setLocation($location) + { + $this->location = $location; + } + public function getLocation() + { + return $this->location; + } + public function setMetadata(Google_Service_People_FieldMetadata $metadata) + { + $this->metadata = $metadata; + } + public function getMetadata() + { + return $this->metadata; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setPhoneticName($phoneticName) + { + $this->phoneticName = $phoneticName; + } + public function getPhoneticName() + { + return $this->phoneticName; + } + public function setStartDate(Google_Service_People_Date $startDate) + { + $this->startDate = $startDate; + } + public function getStartDate() + { + return $this->startDate; + } + public function setSymbol($symbol) + { + $this->symbol = $symbol; + } + public function getSymbol() + { + return $this->symbol; + } + public function setTitle($title) + { + $this->title = $title; + } + public function getTitle() + { + return $this->title; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/People/Person.php b/vendor/google/apiclient-services/src/Google/Service/People/Person.php new file mode 100644 index 00000000..206e5280 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/People/Person.php @@ -0,0 +1,319 @@ +addresses = $addresses; + } + public function getAddresses() + { + return $this->addresses; + } + public function setAgeRange($ageRange) + { + $this->ageRange = $ageRange; + } + public function getAgeRange() + { + return $this->ageRange; + } + public function setAgeRanges($ageRanges) + { + $this->ageRanges = $ageRanges; + } + public function getAgeRanges() + { + return $this->ageRanges; + } + public function setBiographies($biographies) + { + $this->biographies = $biographies; + } + public function getBiographies() + { + return $this->biographies; + } + public function setBirthdays($birthdays) + { + $this->birthdays = $birthdays; + } + public function getBirthdays() + { + return $this->birthdays; + } + public function setBraggingRights($braggingRights) + { + $this->braggingRights = $braggingRights; + } + public function getBraggingRights() + { + return $this->braggingRights; + } + public function setCoverPhotos($coverPhotos) + { + $this->coverPhotos = $coverPhotos; + } + public function getCoverPhotos() + { + return $this->coverPhotos; + } + public function setEmailAddresses($emailAddresses) + { + $this->emailAddresses = $emailAddresses; + } + public function getEmailAddresses() + { + return $this->emailAddresses; + } + public function setEtag($etag) + { + $this->etag = $etag; + } + public function getEtag() + { + return $this->etag; + } + public function setEvents($events) + { + $this->events = $events; + } + public function getEvents() + { + return $this->events; + } + public function setGenders($genders) + { + $this->genders = $genders; + } + public function getGenders() + { + return $this->genders; + } + public function setImClients($imClients) + { + $this->imClients = $imClients; + } + public function getImClients() + { + return $this->imClients; + } + public function setInterests($interests) + { + $this->interests = $interests; + } + public function getInterests() + { + return $this->interests; + } + public function setLocales($locales) + { + $this->locales = $locales; + } + public function getLocales() + { + return $this->locales; + } + public function setMemberships($memberships) + { + $this->memberships = $memberships; + } + public function getMemberships() + { + return $this->memberships; + } + public function setMetadata(Google_Service_People_PersonMetadata $metadata) + { + $this->metadata = $metadata; + } + public function getMetadata() + { + return $this->metadata; + } + public function setNames($names) + { + $this->names = $names; + } + public function getNames() + { + return $this->names; + } + public function setNicknames($nicknames) + { + $this->nicknames = $nicknames; + } + public function getNicknames() + { + return $this->nicknames; + } + public function setOccupations($occupations) + { + $this->occupations = $occupations; + } + public function getOccupations() + { + return $this->occupations; + } + public function setOrganizations($organizations) + { + $this->organizations = $organizations; + } + public function getOrganizations() + { + return $this->organizations; + } + public function setPhoneNumbers($phoneNumbers) + { + $this->phoneNumbers = $phoneNumbers; + } + public function getPhoneNumbers() + { + return $this->phoneNumbers; + } + public function setPhotos($photos) + { + $this->photos = $photos; + } + public function getPhotos() + { + return $this->photos; + } + public function setRelations($relations) + { + $this->relations = $relations; + } + public function getRelations() + { + return $this->relations; + } + public function setRelationshipInterests($relationshipInterests) + { + $this->relationshipInterests = $relationshipInterests; + } + public function getRelationshipInterests() + { + return $this->relationshipInterests; + } + public function setRelationshipStatuses($relationshipStatuses) + { + $this->relationshipStatuses = $relationshipStatuses; + } + public function getRelationshipStatuses() + { + return $this->relationshipStatuses; + } + public function setResidences($residences) + { + $this->residences = $residences; + } + public function getResidences() + { + return $this->residences; + } + public function setResourceName($resourceName) + { + $this->resourceName = $resourceName; + } + public function getResourceName() + { + return $this->resourceName; + } + public function setSkills($skills) + { + $this->skills = $skills; + } + public function getSkills() + { + return $this->skills; + } + public function setTaglines($taglines) + { + $this->taglines = $taglines; + } + public function getTaglines() + { + return $this->taglines; + } + public function setUrls($urls) + { + $this->urls = $urls; + } + public function getUrls() + { + return $this->urls; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/People/PersonMetadata.php b/vendor/google/apiclient-services/src/Google/Service/People/PersonMetadata.php new file mode 100644 index 00000000..013d40bb --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/People/PersonMetadata.php @@ -0,0 +1,68 @@ +deleted = $deleted; + } + public function getDeleted() + { + return $this->deleted; + } + public function setLinkedPeopleResourceNames($linkedPeopleResourceNames) + { + $this->linkedPeopleResourceNames = $linkedPeopleResourceNames; + } + public function getLinkedPeopleResourceNames() + { + return $this->linkedPeopleResourceNames; + } + public function setObjectType($objectType) + { + $this->objectType = $objectType; + } + public function getObjectType() + { + return $this->objectType; + } + public function setPreviousResourceNames($previousResourceNames) + { + $this->previousResourceNames = $previousResourceNames; + } + public function getPreviousResourceNames() + { + return $this->previousResourceNames; + } + public function setSources($sources) + { + $this->sources = $sources; + } + public function getSources() + { + return $this->sources; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/People/PersonResponse.php b/vendor/google/apiclient-services/src/Google/Service/People/PersonResponse.php new file mode 100644 index 00000000..98f6bb54 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/People/PersonResponse.php @@ -0,0 +1,49 @@ +httpStatusCode = $httpStatusCode; + } + public function getHttpStatusCode() + { + return $this->httpStatusCode; + } + public function setPerson(Google_Service_People_Person $person) + { + $this->person = $person; + } + public function getPerson() + { + return $this->person; + } + public function setRequestedResourceName($requestedResourceName) + { + $this->requestedResourceName = $requestedResourceName; + } + public function getRequestedResourceName() + { + return $this->requestedResourceName; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/People/PhoneNumber.php b/vendor/google/apiclient-services/src/Google/Service/People/PhoneNumber.php new file mode 100644 index 00000000..c71b0541 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/People/PhoneNumber.php @@ -0,0 +1,67 @@ +canonicalForm = $canonicalForm; + } + public function getCanonicalForm() + { + return $this->canonicalForm; + } + public function setFormattedType($formattedType) + { + $this->formattedType = $formattedType; + } + public function getFormattedType() + { + return $this->formattedType; + } + public function setMetadata(Google_Service_People_FieldMetadata $metadata) + { + $this->metadata = $metadata; + } + public function getMetadata() + { + return $this->metadata; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } + public function setValue($value) + { + $this->value = $value; + } + public function getValue() + { + return $this->value; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/People/Photo.php b/vendor/google/apiclient-services/src/Google/Service/People/Photo.php new file mode 100644 index 00000000..749ab890 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/People/Photo.php @@ -0,0 +1,40 @@ +metadata = $metadata; + } + public function getMetadata() + { + return $this->metadata; + } + public function setUrl($url) + { + $this->url = $url; + } + public function getUrl() + { + return $this->url; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/People/ProfileMetadata.php b/vendor/google/apiclient-services/src/Google/Service/People/ProfileMetadata.php new file mode 100644 index 00000000..9421febf --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/People/ProfileMetadata.php @@ -0,0 +1,30 @@ +objectType = $objectType; + } + public function getObjectType() + { + return $this->objectType; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/People/Relation.php b/vendor/google/apiclient-services/src/Google/Service/People/Relation.php new file mode 100644 index 00000000..406ec117 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/People/Relation.php @@ -0,0 +1,58 @@ +formattedType = $formattedType; + } + public function getFormattedType() + { + return $this->formattedType; + } + public function setMetadata(Google_Service_People_FieldMetadata $metadata) + { + $this->metadata = $metadata; + } + public function getMetadata() + { + return $this->metadata; + } + public function setPerson($person) + { + $this->person = $person; + } + public function getPerson() + { + return $this->person; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/People/RelationshipInterest.php b/vendor/google/apiclient-services/src/Google/Service/People/RelationshipInterest.php new file mode 100644 index 00000000..c8f2551b --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/People/RelationshipInterest.php @@ -0,0 +1,49 @@ +formattedValue = $formattedValue; + } + public function getFormattedValue() + { + return $this->formattedValue; + } + public function setMetadata(Google_Service_People_FieldMetadata $metadata) + { + $this->metadata = $metadata; + } + public function getMetadata() + { + return $this->metadata; + } + public function setValue($value) + { + $this->value = $value; + } + public function getValue() + { + return $this->value; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/People/RelationshipStatus.php b/vendor/google/apiclient-services/src/Google/Service/People/RelationshipStatus.php new file mode 100644 index 00000000..bb81e569 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/People/RelationshipStatus.php @@ -0,0 +1,49 @@ +formattedValue = $formattedValue; + } + public function getFormattedValue() + { + return $this->formattedValue; + } + public function setMetadata(Google_Service_People_FieldMetadata $metadata) + { + $this->metadata = $metadata; + } + public function getMetadata() + { + return $this->metadata; + } + public function setValue($value) + { + $this->value = $value; + } + public function getValue() + { + return $this->value; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/People/Residence.php b/vendor/google/apiclient-services/src/Google/Service/People/Residence.php new file mode 100644 index 00000000..8a056f7b --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/People/Residence.php @@ -0,0 +1,49 @@ +current = $current; + } + public function getCurrent() + { + return $this->current; + } + public function setMetadata(Google_Service_People_FieldMetadata $metadata) + { + $this->metadata = $metadata; + } + public function getMetadata() + { + return $this->metadata; + } + public function setValue($value) + { + $this->value = $value; + } + public function getValue() + { + return $this->value; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/People/Resource/People.php b/vendor/google/apiclient-services/src/Google/Service/People/Resource/People.php new file mode 100644 index 00000000..201b8ec6 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/People/Resource/People.php @@ -0,0 +1,78 @@ + + * $peopleService = new Google_Service_People(...); + * $people = $peopleService->people; + * + */ +class Google_Service_People_Resource_People extends Google_Service_Resource +{ + /** + * Provides information about a person resource for a resource name. Use + * `people/me` to indicate the authenticated user. (people.get) + * + * @param string $resourceName The resource name of the person to provide + * information about. + * + * - To get information about the authenticated user, specify `people/me`. - To + * get information about any user, specify the resource name that identifies + * the user, such as the resource names returned by + * [`people.connections.list`](/people/api/rest/v1/people.connections/list). + * @param array $optParams Optional parameters. + * + * @opt_param string requestMask.includeField Comma-separated list of fields to + * be included in the response. Omitting this field will include all fields + * except for connections.list requests, which have a default mask that includes + * common fields like metadata, name, photo, and profile url. Each path should + * start with `person.`: for example, `person.names` or `person.photos`. + * @return Google_Service_People_Person + */ + public function get($resourceName, $optParams = array()) + { + $params = array('resourceName' => $resourceName); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_People_Person"); + } + /** + * Provides information about a list of specific people by specifying a list of + * requested resource names. Use `people/me` to indicate the authenticated user. + * (people.getBatchGet) + * + * @param array $optParams Optional parameters. + * + * @opt_param string requestMask.includeField Comma-separated list of fields to + * be included in the response. Omitting this field will include all fields + * except for connections.list requests, which have a default mask that includes + * common fields like metadata, name, photo, and profile url. Each path should + * start with `person.`: for example, `person.names` or `person.photos`. + * @opt_param string resourceNames The resource name, such as one returned by + * [`people.connections.list`](/people/api/rest/v1/people.connections/list), of + * one of the people to provide information about. You can include this + * parameter up to 50 times in one request. + * @return Google_Service_People_GetPeopleResponse + */ + public function getBatchGet($optParams = array()) + { + $params = array(); + $params = array_merge($params, $optParams); + return $this->call('getBatchGet', array($params), "Google_Service_People_GetPeopleResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/People/Resource/PeopleConnections.php b/vendor/google/apiclient-services/src/Google/Service/People/Resource/PeopleConnections.php new file mode 100644 index 00000000..447af7c9 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/People/Resource/PeopleConnections.php @@ -0,0 +1,59 @@ + + * $peopleService = new Google_Service_People(...); + * $connections = $peopleService->connections; + * + */ +class Google_Service_People_Resource_PeopleConnections extends Google_Service_Resource +{ + /** + * Provides a list of the authenticated user's contacts merged with any linked + * profiles. (connections.listPeopleConnections) + * + * @param string $resourceName The resource name to return connections for. Only + * `people/me` is valid. + * @param array $optParams Optional parameters. + * + * @opt_param bool requestSyncToken Whether the response should include a sync + * token, which can be used to get all changes since the last request. + * @opt_param string pageToken The token of the page to be returned. + * @opt_param string requestMask.includeField Comma-separated list of fields to + * be included in the response. Omitting this field will include all fields + * except for connections.list requests, which have a default mask that includes + * common fields like metadata, name, photo, and profile url. Each path should + * start with `person.`: for example, `person.names` or `person.photos`. + * @opt_param int pageSize The number of connections to include in the response. + * Valid values are between 1 and 500, inclusive. Defaults to 100. + * @opt_param string syncToken A sync token, returned by a previous call to + * `people.connections.list`. Only resources changed since the sync token was + * created will be returned. + * @opt_param string sortOrder The order in which the connections should be + * sorted. Defaults to `LAST_MODIFIED_ASCENDING`. + * @return Google_Service_People_ListConnectionsResponse + */ + public function listPeopleConnections($resourceName, $optParams = array()) + { + $params = array('resourceName' => $resourceName); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_People_ListConnectionsResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/People/Skill.php b/vendor/google/apiclient-services/src/Google/Service/People/Skill.php new file mode 100644 index 00000000..a54584d8 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/People/Skill.php @@ -0,0 +1,40 @@ +metadata = $metadata; + } + public function getMetadata() + { + return $this->metadata; + } + public function setValue($value) + { + $this->value = $value; + } + public function getValue() + { + return $this->value; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/People/Source.php b/vendor/google/apiclient-services/src/Google/Service/People/Source.php new file mode 100644 index 00000000..190b0fc2 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/People/Source.php @@ -0,0 +1,58 @@ +etag = $etag; + } + public function getEtag() + { + return $this->etag; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setProfileMetadata(Google_Service_People_ProfileMetadata $profileMetadata) + { + $this->profileMetadata = $profileMetadata; + } + public function getProfileMetadata() + { + return $this->profileMetadata; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/People/Tagline.php b/vendor/google/apiclient-services/src/Google/Service/People/Tagline.php new file mode 100644 index 00000000..f17c7e39 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/People/Tagline.php @@ -0,0 +1,40 @@ +metadata = $metadata; + } + public function getMetadata() + { + return $this->metadata; + } + public function setValue($value) + { + $this->value = $value; + } + public function getValue() + { + return $this->value; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/People/Url.php b/vendor/google/apiclient-services/src/Google/Service/People/Url.php new file mode 100644 index 00000000..fb42d674 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/People/Url.php @@ -0,0 +1,58 @@ +formattedType = $formattedType; + } + public function getFormattedType() + { + return $this->formattedType; + } + public function setMetadata(Google_Service_People_FieldMetadata $metadata) + { + $this->metadata = $metadata; + } + public function getMetadata() + { + return $this->metadata; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } + public function setValue($value) + { + $this->value = $value; + } + public function getValue() + { + return $this->value; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/PlayMovies.php b/vendor/google/apiclient-services/src/Google/Service/PlayMovies.php new file mode 100644 index 00000000..b6632567 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/PlayMovies.php @@ -0,0 +1,299 @@ + + * Gets the delivery status of titles for Google Play Movies Partners.

+ * + *

+ * For more information about this service, see the API + * Documentation + *

+ * + * @author Google, Inc. + */ +class Google_Service_PlayMovies extends Google_Service +{ + /** View the digital assets you publish on Google Play Movies and TV. */ + const PLAYMOVIES_PARTNER_READONLY = + "https://www.googleapis.com/auth/playmovies_partner.readonly"; + + public $accounts_avails; + public $accounts_orders; + public $accounts_storeInfos; + public $accounts_storeInfos_country; + + /** + * Constructs the internal representation of the PlayMovies service. + * + * @param Google_Client $client + */ + public function __construct(Google_Client $client) + { + parent::__construct($client); + $this->rootUrl = 'https://playmoviespartner.googleapis.com/'; + $this->servicePath = ''; + $this->version = 'v1'; + $this->serviceName = 'playmoviespartner'; + + $this->accounts_avails = new Google_Service_PlayMovies_Resource_AccountsAvails( + $this, + $this->serviceName, + 'avails', + array( + 'methods' => array( + 'get' => array( + 'path' => 'v1/accounts/{accountId}/avails/{availId}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'accountId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'availId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'v1/accounts/{accountId}/avails', + 'httpMethod' => 'GET', + 'parameters' => array( + 'accountId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'title' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'videoIds' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + ), + 'pageSize' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'altIds' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + ), + 'pphNames' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + ), + 'altId' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'studioNames' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + ), + 'territories' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + ), + ), + ), + ) + ) + ); + $this->accounts_orders = new Google_Service_PlayMovies_Resource_AccountsOrders( + $this, + $this->serviceName, + 'orders', + array( + 'methods' => array( + 'get' => array( + 'path' => 'v1/accounts/{accountId}/orders/{orderId}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'accountId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'orderId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'v1/accounts/{accountId}/orders', + 'httpMethod' => 'GET', + 'parameters' => array( + 'accountId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'videoIds' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + ), + 'customId' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pageSize' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'pphNames' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + ), + 'status' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + ), + 'name' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'studioNames' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + ), + ), + ), + ) + ) + ); + $this->accounts_storeInfos = new Google_Service_PlayMovies_Resource_AccountsStoreInfos( + $this, + $this->serviceName, + 'storeInfos', + array( + 'methods' => array( + 'list' => array( + 'path' => 'v1/accounts/{accountId}/storeInfos', + 'httpMethod' => 'GET', + 'parameters' => array( + 'accountId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'name' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'studioNames' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + ), + 'seasonIds' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'videoId' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'videoIds' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + ), + 'pageSize' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'mids' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + ), + 'pphNames' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + ), + 'countries' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + ), + ), + ), + ) + ) + ); + $this->accounts_storeInfos_country = new Google_Service_PlayMovies_Resource_AccountsStoreInfosCountry( + $this, + $this->serviceName, + 'country', + array( + 'methods' => array( + 'get' => array( + 'path' => 'v1/accounts/{accountId}/storeInfos/{videoId}/country/{country}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'accountId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'videoId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'country' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/PlayMovies/Avail.php b/vendor/google/apiclient-services/src/Google/Service/PlayMovies/Avail.php new file mode 100644 index 00000000..2486e4e2 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/PlayMovies/Avail.php @@ -0,0 +1,319 @@ +altId = $altId; + } + public function getAltId() + { + return $this->altId; + } + public function setAvailId($availId) + { + $this->availId = $availId; + } + public function getAvailId() + { + return $this->availId; + } + public function setCaptionExemption($captionExemption) + { + $this->captionExemption = $captionExemption; + } + public function getCaptionExemption() + { + return $this->captionExemption; + } + public function setCaptionIncluded($captionIncluded) + { + $this->captionIncluded = $captionIncluded; + } + public function getCaptionIncluded() + { + return $this->captionIncluded; + } + public function setContentId($contentId) + { + $this->contentId = $contentId; + } + public function getContentId() + { + return $this->contentId; + } + public function setDisplayName($displayName) + { + $this->displayName = $displayName; + } + public function getDisplayName() + { + return $this->displayName; + } + public function setEncodeId($encodeId) + { + $this->encodeId = $encodeId; + } + public function getEncodeId() + { + return $this->encodeId; + } + public function setEnd($end) + { + $this->end = $end; + } + public function getEnd() + { + return $this->end; + } + public function setEpisodeAltId($episodeAltId) + { + $this->episodeAltId = $episodeAltId; + } + public function getEpisodeAltId() + { + return $this->episodeAltId; + } + public function setEpisodeNumber($episodeNumber) + { + $this->episodeNumber = $episodeNumber; + } + public function getEpisodeNumber() + { + return $this->episodeNumber; + } + public function setEpisodeTitleInternalAlias($episodeTitleInternalAlias) + { + $this->episodeTitleInternalAlias = $episodeTitleInternalAlias; + } + public function getEpisodeTitleInternalAlias() + { + return $this->episodeTitleInternalAlias; + } + public function setFormatProfile($formatProfile) + { + $this->formatProfile = $formatProfile; + } + public function getFormatProfile() + { + return $this->formatProfile; + } + public function setLicenseType($licenseType) + { + $this->licenseType = $licenseType; + } + public function getLicenseType() + { + return $this->licenseType; + } + public function setPphNames($pphNames) + { + $this->pphNames = $pphNames; + } + public function getPphNames() + { + return $this->pphNames; + } + public function setPriceType($priceType) + { + $this->priceType = $priceType; + } + public function getPriceType() + { + return $this->priceType; + } + public function setPriceValue($priceValue) + { + $this->priceValue = $priceValue; + } + public function getPriceValue() + { + return $this->priceValue; + } + public function setProductId($productId) + { + $this->productId = $productId; + } + public function getProductId() + { + return $this->productId; + } + public function setRatingReason($ratingReason) + { + $this->ratingReason = $ratingReason; + } + public function getRatingReason() + { + return $this->ratingReason; + } + public function setRatingSystem($ratingSystem) + { + $this->ratingSystem = $ratingSystem; + } + public function getRatingSystem() + { + return $this->ratingSystem; + } + public function setRatingValue($ratingValue) + { + $this->ratingValue = $ratingValue; + } + public function getRatingValue() + { + return $this->ratingValue; + } + public function setReleaseDate($releaseDate) + { + $this->releaseDate = $releaseDate; + } + public function getReleaseDate() + { + return $this->releaseDate; + } + public function setSeasonAltId($seasonAltId) + { + $this->seasonAltId = $seasonAltId; + } + public function getSeasonAltId() + { + return $this->seasonAltId; + } + public function setSeasonNumber($seasonNumber) + { + $this->seasonNumber = $seasonNumber; + } + public function getSeasonNumber() + { + return $this->seasonNumber; + } + public function setSeasonTitleInternalAlias($seasonTitleInternalAlias) + { + $this->seasonTitleInternalAlias = $seasonTitleInternalAlias; + } + public function getSeasonTitleInternalAlias() + { + return $this->seasonTitleInternalAlias; + } + public function setSeriesAltId($seriesAltId) + { + $this->seriesAltId = $seriesAltId; + } + public function getSeriesAltId() + { + return $this->seriesAltId; + } + public function setSeriesTitleInternalAlias($seriesTitleInternalAlias) + { + $this->seriesTitleInternalAlias = $seriesTitleInternalAlias; + } + public function getSeriesTitleInternalAlias() + { + return $this->seriesTitleInternalAlias; + } + public function setStart($start) + { + $this->start = $start; + } + public function getStart() + { + return $this->start; + } + public function setStoreLanguage($storeLanguage) + { + $this->storeLanguage = $storeLanguage; + } + public function getStoreLanguage() + { + return $this->storeLanguage; + } + public function setSuppressionLiftDate($suppressionLiftDate) + { + $this->suppressionLiftDate = $suppressionLiftDate; + } + public function getSuppressionLiftDate() + { + return $this->suppressionLiftDate; + } + public function setTerritory($territory) + { + $this->territory = $territory; + } + public function getTerritory() + { + return $this->territory; + } + public function setTitleInternalAlias($titleInternalAlias) + { + $this->titleInternalAlias = $titleInternalAlias; + } + public function getTitleInternalAlias() + { + return $this->titleInternalAlias; + } + public function setVideoId($videoId) + { + $this->videoId = $videoId; + } + public function getVideoId() + { + return $this->videoId; + } + public function setWorkType($workType) + { + $this->workType = $workType; + } + public function getWorkType() + { + return $this->workType; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/PlayMovies/Component.php b/vendor/google/apiclient-services/src/Google/Service/PlayMovies/Component.php new file mode 100644 index 00000000..18254d25 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/PlayMovies/Component.php @@ -0,0 +1,220 @@ +altCutIds = $altCutIds; + } + public function getAltCutIds() + { + return $this->altCutIds; + } + public function setApprovedTime($approvedTime) + { + $this->approvedTime = $approvedTime; + } + public function getApprovedTime() + { + return $this->approvedTime; + } + public function setComponentDetailType($componentDetailType) + { + $this->componentDetailType = $componentDetailType; + } + public function getComponentDetailType() + { + return $this->componentDetailType; + } + public function setComponentId($componentId) + { + $this->componentId = $componentId; + } + public function getComponentId() + { + return $this->componentId; + } + public function setCustomIds($customIds) + { + $this->customIds = $customIds; + } + public function getCustomIds() + { + return $this->customIds; + } + public function setEditLevelEidrs($editLevelEidrs) + { + $this->editLevelEidrs = $editLevelEidrs; + } + public function getEditLevelEidrs() + { + return $this->editLevelEidrs; + } + public function setElIds($elIds) + { + $this->elIds = $elIds; + } + public function getElIds() + { + return $this->elIds; + } + public function setFilename($filename) + { + $this->filename = $filename; + } + public function getFilename() + { + return $this->filename; + } + public function setLanguage($language) + { + $this->language = $language; + } + public function getLanguage() + { + return $this->language; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setNormalizedPriority($normalizedPriority) + { + $this->normalizedPriority = $normalizedPriority; + } + public function getNormalizedPriority() + { + return $this->normalizedPriority; + } + public function setPlayableUnitType($playableUnitType) + { + $this->playableUnitType = $playableUnitType; + } + public function getPlayableUnitType() + { + return $this->playableUnitType; + } + public function setPphName($pphName) + { + $this->pphName = $pphName; + } + public function getPphName() + { + return $this->pphName; + } + public function setPriority($priority) + { + $this->priority = $priority; + } + public function getPriority() + { + return $this->priority; + } + public function setProcessingErrors($processingErrors) + { + $this->processingErrors = $processingErrors; + } + public function getProcessingErrors() + { + return $this->processingErrors; + } + public function setReceivedTime($receivedTime) + { + $this->receivedTime = $receivedTime; + } + public function getReceivedTime() + { + return $this->receivedTime; + } + public function setRejectionNote($rejectionNote) + { + $this->rejectionNote = $rejectionNote; + } + public function getRejectionNote() + { + return $this->rejectionNote; + } + public function setStatus($status) + { + $this->status = $status; + } + public function getStatus() + { + return $this->status; + } + public function setStatusDetail($statusDetail) + { + $this->statusDetail = $statusDetail; + } + public function getStatusDetail() + { + return $this->statusDetail; + } + public function setStudioName($studioName) + { + $this->studioName = $studioName; + } + public function getStudioName() + { + return $this->studioName; + } + public function setTitleLevelEidrs($titleLevelEidrs) + { + $this->titleLevelEidrs = $titleLevelEidrs; + } + public function getTitleLevelEidrs() + { + return $this->titleLevelEidrs; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/PlayMovies/ExperienceLocale.php b/vendor/google/apiclient-services/src/Google/Service/PlayMovies/ExperienceLocale.php new file mode 100644 index 00000000..5be5eb00 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/PlayMovies/ExperienceLocale.php @@ -0,0 +1,229 @@ +altCutId = $altCutId; + } + public function getAltCutId() + { + return $this->altCutId; + } + public function setApprovedTime($approvedTime) + { + $this->approvedTime = $approvedTime; + } + public function getApprovedTime() + { + return $this->approvedTime; + } + public function setChannelId($channelId) + { + $this->channelId = $channelId; + } + public function getChannelId() + { + return $this->channelId; + } + public function setCountry($country) + { + $this->country = $country; + } + public function getCountry() + { + return $this->country; + } + public function setCreatedTime($createdTime) + { + $this->createdTime = $createdTime; + } + public function getCreatedTime() + { + return $this->createdTime; + } + public function setCustomIds($customIds) + { + $this->customIds = $customIds; + } + public function getCustomIds() + { + return $this->customIds; + } + public function setEarliestAvailStartTime($earliestAvailStartTime) + { + $this->earliestAvailStartTime = $earliestAvailStartTime; + } + public function getEarliestAvailStartTime() + { + return $this->earliestAvailStartTime; + } + public function setEditLevelEidr($editLevelEidr) + { + $this->editLevelEidr = $editLevelEidr; + } + public function getEditLevelEidr() + { + return $this->editLevelEidr; + } + public function setElId($elId) + { + $this->elId = $elId; + } + public function getElId() + { + return $this->elId; + } + public function setInventoryId($inventoryId) + { + $this->inventoryId = $inventoryId; + } + public function getInventoryId() + { + return $this->inventoryId; + } + public function setLanguage($language) + { + $this->language = $language; + } + public function getLanguage() + { + return $this->language; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setNormalizedPriority($normalizedPriority) + { + $this->normalizedPriority = $normalizedPriority; + } + public function getNormalizedPriority() + { + return $this->normalizedPriority; + } + public function setPlayableSequenceId($playableSequenceId) + { + $this->playableSequenceId = $playableSequenceId; + } + public function getPlayableSequenceId() + { + return $this->playableSequenceId; + } + public function setPphNames($pphNames) + { + $this->pphNames = $pphNames; + } + public function getPphNames() + { + return $this->pphNames; + } + public function setPresentationId($presentationId) + { + $this->presentationId = $presentationId; + } + public function getPresentationId() + { + return $this->presentationId; + } + public function setPriority($priority) + { + $this->priority = $priority; + } + public function getPriority() + { + return $this->priority; + } + public function setStatus($status) + { + $this->status = $status; + } + public function getStatus() + { + return $this->status; + } + public function setStudioName($studioName) + { + $this->studioName = $studioName; + } + public function getStudioName() + { + return $this->studioName; + } + public function setTitleLevelEidr($titleLevelEidr) + { + $this->titleLevelEidr = $titleLevelEidr; + } + public function getTitleLevelEidr() + { + return $this->titleLevelEidr; + } + public function setTrailerId($trailerId) + { + $this->trailerId = $trailerId; + } + public function getTrailerId() + { + return $this->trailerId; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } + public function setVideoId($videoId) + { + $this->videoId = $videoId; + } + public function getVideoId() + { + return $this->videoId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/PlayMovies/ListAvailsResponse.php b/vendor/google/apiclient-services/src/Google/Service/PlayMovies/ListAvailsResponse.php new file mode 100644 index 00000000..d9d0b024 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/PlayMovies/ListAvailsResponse.php @@ -0,0 +1,50 @@ +avails = $avails; + } + public function getAvails() + { + return $this->avails; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setTotalSize($totalSize) + { + $this->totalSize = $totalSize; + } + public function getTotalSize() + { + return $this->totalSize; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/PlayMovies/ListComponentsResponse.php b/vendor/google/apiclient-services/src/Google/Service/PlayMovies/ListComponentsResponse.php new file mode 100644 index 00000000..0b7d6d1d --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/PlayMovies/ListComponentsResponse.php @@ -0,0 +1,50 @@ +components = $components; + } + public function getComponents() + { + return $this->components; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setTotalSize($totalSize) + { + $this->totalSize = $totalSize; + } + public function getTotalSize() + { + return $this->totalSize; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/PlayMovies/ListExperienceLocalesResponse.php b/vendor/google/apiclient-services/src/Google/Service/PlayMovies/ListExperienceLocalesResponse.php new file mode 100644 index 00000000..759d168a --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/PlayMovies/ListExperienceLocalesResponse.php @@ -0,0 +1,50 @@ +experienceLocales = $experienceLocales; + } + public function getExperienceLocales() + { + return $this->experienceLocales; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setTotalSize($totalSize) + { + $this->totalSize = $totalSize; + } + public function getTotalSize() + { + return $this->totalSize; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/PlayMovies/ListOrdersResponse.php b/vendor/google/apiclient-services/src/Google/Service/PlayMovies/ListOrdersResponse.php new file mode 100644 index 00000000..4310ffa8 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/PlayMovies/ListOrdersResponse.php @@ -0,0 +1,50 @@ +nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setOrders($orders) + { + $this->orders = $orders; + } + public function getOrders() + { + return $this->orders; + } + public function setTotalSize($totalSize) + { + $this->totalSize = $totalSize; + } + public function getTotalSize() + { + return $this->totalSize; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/PlayMovies/ListStoreInfosResponse.php b/vendor/google/apiclient-services/src/Google/Service/PlayMovies/ListStoreInfosResponse.php new file mode 100644 index 00000000..cf6ee714 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/PlayMovies/ListStoreInfosResponse.php @@ -0,0 +1,50 @@ +nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setStoreInfos($storeInfos) + { + $this->storeInfos = $storeInfos; + } + public function getStoreInfos() + { + return $this->storeInfos; + } + public function setTotalSize($totalSize) + { + $this->totalSize = $totalSize; + } + public function getTotalSize() + { + return $this->totalSize; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/PlayMovies/Order.php b/vendor/google/apiclient-services/src/Google/Service/PlayMovies/Order.php new file mode 100644 index 00000000..9566397d --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/PlayMovies/Order.php @@ -0,0 +1,229 @@ +approvedTime = $approvedTime; + } + public function getApprovedTime() + { + return $this->approvedTime; + } + public function setChannelId($channelId) + { + $this->channelId = $channelId; + } + public function getChannelId() + { + return $this->channelId; + } + public function setChannelName($channelName) + { + $this->channelName = $channelName; + } + public function getChannelName() + { + return $this->channelName; + } + public function setCountries($countries) + { + $this->countries = $countries; + } + public function getCountries() + { + return $this->countries; + } + public function setCustomId($customId) + { + $this->customId = $customId; + } + public function getCustomId() + { + return $this->customId; + } + public function setEarliestAvailStartTime($earliestAvailStartTime) + { + $this->earliestAvailStartTime = $earliestAvailStartTime; + } + public function getEarliestAvailStartTime() + { + return $this->earliestAvailStartTime; + } + public function setEpisodeName($episodeName) + { + $this->episodeName = $episodeName; + } + public function getEpisodeName() + { + return $this->episodeName; + } + public function setLegacyPriority($legacyPriority) + { + $this->legacyPriority = $legacyPriority; + } + public function getLegacyPriority() + { + return $this->legacyPriority; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setNormalizedPriority($normalizedPriority) + { + $this->normalizedPriority = $normalizedPriority; + } + public function getNormalizedPriority() + { + return $this->normalizedPriority; + } + public function setOrderId($orderId) + { + $this->orderId = $orderId; + } + public function getOrderId() + { + return $this->orderId; + } + public function setOrderedTime($orderedTime) + { + $this->orderedTime = $orderedTime; + } + public function getOrderedTime() + { + return $this->orderedTime; + } + public function setPphName($pphName) + { + $this->pphName = $pphName; + } + public function getPphName() + { + return $this->pphName; + } + public function setPriority($priority) + { + $this->priority = $priority; + } + public function getPriority() + { + return $this->priority; + } + public function setReceivedTime($receivedTime) + { + $this->receivedTime = $receivedTime; + } + public function getReceivedTime() + { + return $this->receivedTime; + } + public function setRejectionNote($rejectionNote) + { + $this->rejectionNote = $rejectionNote; + } + public function getRejectionNote() + { + return $this->rejectionNote; + } + public function setSeasonName($seasonName) + { + $this->seasonName = $seasonName; + } + public function getSeasonName() + { + return $this->seasonName; + } + public function setShowName($showName) + { + $this->showName = $showName; + } + public function getShowName() + { + return $this->showName; + } + public function setStatus($status) + { + $this->status = $status; + } + public function getStatus() + { + return $this->status; + } + public function setStatusDetail($statusDetail) + { + $this->statusDetail = $statusDetail; + } + public function getStatusDetail() + { + return $this->statusDetail; + } + public function setStudioName($studioName) + { + $this->studioName = $studioName; + } + public function getStudioName() + { + return $this->studioName; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } + public function setVideoId($videoId) + { + $this->videoId = $videoId; + } + public function getVideoId() + { + return $this->videoId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/PlayMovies/Resource/Accounts.php b/vendor/google/apiclient-services/src/Google/Service/PlayMovies/Resource/Accounts.php new file mode 100644 index 00000000..cdae3bf1 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/PlayMovies/Resource/Accounts.php @@ -0,0 +1,28 @@ + + * $playmoviespartnerService = new Google_Service_PlayMovies(...); + * $accounts = $playmoviespartnerService->accounts; + * + */ +class Google_Service_PlayMovies_Resource_Accounts extends Google_Service_Resource +{ +} diff --git a/vendor/google/apiclient-services/src/Google/Service/PlayMovies/Resource/AccountsAvails.php b/vendor/google/apiclient-services/src/Google/Service/PlayMovies/Resource/AccountsAvails.php new file mode 100644 index 00000000..36e258c1 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/PlayMovies/Resource/AccountsAvails.php @@ -0,0 +1,82 @@ + + * $playmoviespartnerService = new Google_Service_PlayMovies(...); + * $avails = $playmoviespartnerService->avails; + * + */ +class Google_Service_PlayMovies_Resource_AccountsAvails extends Google_Service_Resource +{ + /** + * Get an Avail given its avail group id and avail id. (avails.get) + * + * @param string $accountId REQUIRED. See _General rules_ for more information + * about this field. + * @param string $availId REQUIRED. Avail ID. + * @param array $optParams Optional parameters. + * @return Google_Service_PlayMovies_Avail + */ + public function get($accountId, $availId, $optParams = array()) + { + $params = array('accountId' => $accountId, 'availId' => $availId); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_PlayMovies_Avail"); + } + /** + * List Avails owned or managed by the partner. + * + * See _Authentication and Authorization rules_ and _List methods rules_ for + * more information about this method. (avails.listAccountsAvails) + * + * @param string $accountId REQUIRED. See _General rules_ for more information + * about this field. + * @param array $optParams Optional parameters. + * + * @opt_param string title Filter that matches Avails with a + * `title_internal_alias`, `series_title_internal_alias`, + * `season_title_internal_alias`, or `episode_title_internal_alias` that + * contains the given case-insensitive title. + * @opt_param string pageToken See _List methods rules_ for info about this + * field. + * @opt_param string videoIds Filter Avails that match any of the given + * `video_id`s. + * @opt_param int pageSize See _List methods rules_ for info about this field. + * @opt_param string altIds Filter Avails that match (case-insensitive) any of + * the given partner-specific custom ids. + * @opt_param string pphNames See _List methods rules_ for info about this + * field. + * @opt_param string altId Filter Avails that match a case-insensitive, partner- + * specific custom id. NOTE: this field is deprecated and will be removed on V2; + * `alt_ids` should be used instead. + * @opt_param string studioNames See _List methods rules_ for info about this + * field. + * @opt_param string territories Filter Avails that match (case-insensitive) any + * of the given country codes, using the "ISO 3166-1 alpha-2" format (examples: + * "US", "us", "Us"). + * @return Google_Service_PlayMovies_ListAvailsResponse + */ + public function listAccountsAvails($accountId, $optParams = array()) + { + $params = array('accountId' => $accountId); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_PlayMovies_ListAvailsResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/PlayMovies/Resource/AccountsComponents.php b/vendor/google/apiclient-services/src/Google/Service/PlayMovies/Resource/AccountsComponents.php new file mode 100644 index 00000000..1dcd25fb --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/PlayMovies/Resource/AccountsComponents.php @@ -0,0 +1,69 @@ + + * $playmoviespartnerService = new Google_Service_PlayMovies(...); + * $components = $playmoviespartnerService->components; + * + */ +class Google_Service_PlayMovies_Resource_AccountsComponents extends Google_Service_Resource +{ + /** + * List Components owned or managed by the partner. See _Authentication and + * Authorization rules_ and _List methods rules_ for more information about this + * method. (components.listAccountsComponents) + * + * @param string $accountId REQUIRED. See _General rules_ for more information + * about this field. + * @param array $optParams Optional parameters. + * + * @opt_param int pageSize See _List methods rules_ for info about this field. + * @opt_param string pageToken See _List methods rules_ for info about this + * field. + * @opt_param string pphNames See _List methods rules_ for info about this + * field. + * @opt_param string studioNames See _List methods rules_ for info about this + * field. + * @opt_param string titleLevelEidr Filter Components that match a given title- + * level EIDR. + * @opt_param string editLevelEidr Filter Components that match a given edit- + * level EIDR. + * @opt_param string status Filter Components that match one of the given + * status. + * @opt_param string customId Filter Components that match a case-insensitive + * partner-specific custom id. + * @opt_param string inventoryId InventoryID available in Common Manifest. + * @opt_param string presentationId PresentationID available in Common Manifest. + * @opt_param string playableSequenceId PlayableSequenceID available in Common + * Manifest. + * @opt_param string elId Experience ID, as defined by Google. + * @opt_param string altCutId Filter Components that match a case-insensitive, + * partner-specific Alternative Cut ID. + * @opt_param string filename Filter Components that match a case-insensitive + * substring of the physical name of the delivered file. + * @return Google_Service_PlayMovies_ListComponentsResponse + */ + public function listAccountsComponents($accountId, $optParams = array()) + { + $params = array('accountId' => $accountId); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_PlayMovies_ListComponentsResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/PlayMovies/Resource/AccountsComponentsType.php b/vendor/google/apiclient-services/src/Google/Service/PlayMovies/Resource/AccountsComponentsType.php new file mode 100644 index 00000000..e19aa37d --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/PlayMovies/Resource/AccountsComponentsType.php @@ -0,0 +1,44 @@ + + * $playmoviespartnerService = new Google_Service_PlayMovies(...); + * $type = $playmoviespartnerService->type; + * + */ +class Google_Service_PlayMovies_Resource_AccountsComponentsType extends Google_Service_Resource +{ + /** + * Get a Component given its id. (type.get) + * + * @param string $accountId REQUIRED. See _General rules_ for more information + * about this field. + * @param string $componentId REQUIRED. Component ID. + * @param string $type REQUIRED. Component Type. + * @param array $optParams Optional parameters. + * @return Google_Service_PlayMovies_Component + */ + public function get($accountId, $componentId, $type, $optParams = array()) + { + $params = array('accountId' => $accountId, 'componentId' => $componentId, 'type' => $type); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_PlayMovies_Component"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/PlayMovies/Resource/AccountsExperienceLocales.php b/vendor/google/apiclient-services/src/Google/Service/PlayMovies/Resource/AccountsExperienceLocales.php new file mode 100644 index 00000000..5100b158 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/PlayMovies/Resource/AccountsExperienceLocales.php @@ -0,0 +1,79 @@ + + * $playmoviespartnerService = new Google_Service_PlayMovies(...); + * $experienceLocales = $playmoviespartnerService->experienceLocales; + * + */ +class Google_Service_PlayMovies_Resource_AccountsExperienceLocales extends Google_Service_Resource +{ + /** + * Get an ExperienceLocale given its id. See _Authentication and Authorization + * rules_ and _Get methods rules_ for more information about this method. + * (experienceLocales.get) + * + * @param string $accountId REQUIRED. See _General rules_ for more information + * about this field. + * @param string $elId REQUIRED. ExperienceLocale ID, as defined by Google. + * @param array $optParams Optional parameters. + * @return Google_Service_PlayMovies_ExperienceLocale + */ + public function get($accountId, $elId, $optParams = array()) + { + $params = array('accountId' => $accountId, 'elId' => $elId); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_PlayMovies_ExperienceLocale"); + } + /** + * List ExperienceLocales owned or managed by the partner. See _Authentication + * and Authorization rules_ and _List methods rules_ for more information about + * this method. (experienceLocales.listAccountsExperienceLocales) + * + * @param string $accountId REQUIRED. See _General rules_ for more information + * about this field. + * @param array $optParams Optional parameters. + * + * @opt_param int pageSize See _List methods rules_ for info about this field. + * @opt_param string pageToken See _List methods rules_ for info about this + * field. + * @opt_param string pphNames See _List methods rules_ for info about this + * field. + * @opt_param string studioNames See _List methods rules_ for info about this + * field. + * @opt_param string titleLevelEidr Filter ExperienceLocales that match a given + * title-level EIDR. + * @opt_param string editLevelEidr Filter ExperienceLocales that match a given + * edit-level EIDR. + * @opt_param string status Filter ExperienceLocales that match one of the given + * status. + * @opt_param string customId Filter ExperienceLocales that match a case- + * insensitive, partner-specific custom id. + * @opt_param string altCutId Filter ExperienceLocales that match a case- + * insensitive, partner-specific Alternative Cut ID. + * @return Google_Service_PlayMovies_ListExperienceLocalesResponse + */ + public function listAccountsExperienceLocales($accountId, $optParams = array()) + { + $params = array('accountId' => $accountId); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_PlayMovies_ListExperienceLocalesResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/PlayMovies/Resource/AccountsOrders.php b/vendor/google/apiclient-services/src/Google/Service/PlayMovies/Resource/AccountsOrders.php new file mode 100644 index 00000000..0909ddd3 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/PlayMovies/Resource/AccountsOrders.php @@ -0,0 +1,78 @@ + + * $playmoviespartnerService = new Google_Service_PlayMovies(...); + * $orders = $playmoviespartnerService->orders; + * + */ +class Google_Service_PlayMovies_Resource_AccountsOrders extends Google_Service_Resource +{ + /** + * Get an Order given its id. + * + * See _Authentication and Authorization rules_ and _Get methods rules_ for more + * information about this method. (orders.get) + * + * @param string $accountId REQUIRED. See _General rules_ for more information + * about this field. + * @param string $orderId REQUIRED. Order ID. + * @param array $optParams Optional parameters. + * @return Google_Service_PlayMovies_Order + */ + public function get($accountId, $orderId, $optParams = array()) + { + $params = array('accountId' => $accountId, 'orderId' => $orderId); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_PlayMovies_Order"); + } + /** + * List Orders owned or managed by the partner. + * + * See _Authentication and Authorization rules_ and _List methods rules_ for + * more information about this method. (orders.listAccountsOrders) + * + * @param string $accountId REQUIRED. See _General rules_ for more information + * about this field. + * @param array $optParams Optional parameters. + * + * @opt_param string pageToken See _List methods rules_ for info about this + * field. + * @opt_param string videoIds Filter Orders that match any of the given + * `video_id`s. + * @opt_param string customId Filter Orders that match a case-insensitive, + * partner-specific custom id. + * @opt_param int pageSize See _List methods rules_ for info about this field. + * @opt_param string pphNames See _List methods rules_ for info about this + * field. + * @opt_param string status Filter Orders that match one of the given status. + * @opt_param string name Filter that matches Orders with a `name`, `show`, + * `season` or `episode` that contains the given case-insensitive name. + * @opt_param string studioNames See _List methods rules_ for info about this + * field. + * @return Google_Service_PlayMovies_ListOrdersResponse + */ + public function listAccountsOrders($accountId, $optParams = array()) + { + $params = array('accountId' => $accountId); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_PlayMovies_ListOrdersResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/PlayMovies/Resource/AccountsStoreInfos.php b/vendor/google/apiclient-services/src/Google/Service/PlayMovies/Resource/AccountsStoreInfos.php new file mode 100644 index 00000000..69754099 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/PlayMovies/Resource/AccountsStoreInfos.php @@ -0,0 +1,66 @@ + + * $playmoviespartnerService = new Google_Service_PlayMovies(...); + * $storeInfos = $playmoviespartnerService->storeInfos; + * + */ +class Google_Service_PlayMovies_Resource_AccountsStoreInfos extends Google_Service_Resource +{ + /** + * List StoreInfos owned or managed by the partner. + * + * See _Authentication and Authorization rules_ and _List methods rules_ for + * more information about this method. (storeInfos.listAccountsStoreInfos) + * + * @param string $accountId REQUIRED. See _General rules_ for more information + * about this field. + * @param array $optParams Optional parameters. + * + * @opt_param string name Filter that matches StoreInfos with a `name` or + * `show_name` that contains the given case-insensitive name. + * @opt_param string studioNames See _List methods rules_ for info about this + * field. + * @opt_param string seasonIds Filter StoreInfos that match any of the given + * `season_id`s. + * @opt_param string pageToken See _List methods rules_ for info about this + * field. + * @opt_param string videoId Filter StoreInfos that match a given `video_id`. + * NOTE: this field is deprecated and will be removed on V2; `video_ids` should + * be used instead. + * @opt_param string videoIds Filter StoreInfos that match any of the given + * `video_id`s. + * @opt_param int pageSize See _List methods rules_ for info about this field. + * @opt_param string mids Filter StoreInfos that match any of the given `mid`s. + * @opt_param string pphNames See _List methods rules_ for info about this + * field. + * @opt_param string countries Filter StoreInfos that match (case-insensitive) + * any of the given country codes, using the "ISO 3166-1 alpha-2" format + * (examples: "US", "us", "Us"). + * @return Google_Service_PlayMovies_ListStoreInfosResponse + */ + public function listAccountsStoreInfos($accountId, $optParams = array()) + { + $params = array('accountId' => $accountId); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_PlayMovies_ListStoreInfosResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/PlayMovies/Resource/AccountsStoreInfosCountry.php b/vendor/google/apiclient-services/src/Google/Service/PlayMovies/Resource/AccountsStoreInfosCountry.php new file mode 100644 index 00000000..9d1c8686 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/PlayMovies/Resource/AccountsStoreInfosCountry.php @@ -0,0 +1,47 @@ + + * $playmoviespartnerService = new Google_Service_PlayMovies(...); + * $country = $playmoviespartnerService->country; + * + */ +class Google_Service_PlayMovies_Resource_AccountsStoreInfosCountry extends Google_Service_Resource +{ + /** + * Get a StoreInfo given its video id and country. + * + * See _Authentication and Authorization rules_ and _Get methods rules_ for more + * information about this method. (country.get) + * + * @param string $accountId REQUIRED. See _General rules_ for more information + * about this field. + * @param string $videoId REQUIRED. Video ID. + * @param string $country REQUIRED. Edit country. + * @param array $optParams Optional parameters. + * @return Google_Service_PlayMovies_StoreInfo + */ + public function get($accountId, $videoId, $country, $optParams = array()) + { + $params = array('accountId' => $accountId, 'videoId' => $videoId, 'country' => $country); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_PlayMovies_StoreInfo"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/PlayMovies/StoreInfo.php b/vendor/google/apiclient-services/src/Google/Service/PlayMovies/StoreInfo.php new file mode 100644 index 00000000..2f254506 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/PlayMovies/StoreInfo.php @@ -0,0 +1,247 @@ +audioTracks = $audioTracks; + } + public function getAudioTracks() + { + return $this->audioTracks; + } + public function setCountry($country) + { + $this->country = $country; + } + public function getCountry() + { + return $this->country; + } + public function setEditLevelEidr($editLevelEidr) + { + $this->editLevelEidr = $editLevelEidr; + } + public function getEditLevelEidr() + { + return $this->editLevelEidr; + } + public function setEpisodeNumber($episodeNumber) + { + $this->episodeNumber = $episodeNumber; + } + public function getEpisodeNumber() + { + return $this->episodeNumber; + } + public function setHasAudio51($hasAudio51) + { + $this->hasAudio51 = $hasAudio51; + } + public function getHasAudio51() + { + return $this->hasAudio51; + } + public function setHasEstOffer($hasEstOffer) + { + $this->hasEstOffer = $hasEstOffer; + } + public function getHasEstOffer() + { + return $this->hasEstOffer; + } + public function setHasHdOffer($hasHdOffer) + { + $this->hasHdOffer = $hasHdOffer; + } + public function getHasHdOffer() + { + return $this->hasHdOffer; + } + public function setHasInfoCards($hasInfoCards) + { + $this->hasInfoCards = $hasInfoCards; + } + public function getHasInfoCards() + { + return $this->hasInfoCards; + } + public function setHasSdOffer($hasSdOffer) + { + $this->hasSdOffer = $hasSdOffer; + } + public function getHasSdOffer() + { + return $this->hasSdOffer; + } + public function setHasVodOffer($hasVodOffer) + { + $this->hasVodOffer = $hasVodOffer; + } + public function getHasVodOffer() + { + return $this->hasVodOffer; + } + public function setLiveTime($liveTime) + { + $this->liveTime = $liveTime; + } + public function getLiveTime() + { + return $this->liveTime; + } + public function setMid($mid) + { + $this->mid = $mid; + } + public function getMid() + { + return $this->mid; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setPphNames($pphNames) + { + $this->pphNames = $pphNames; + } + public function getPphNames() + { + return $this->pphNames; + } + public function setSeasonId($seasonId) + { + $this->seasonId = $seasonId; + } + public function getSeasonId() + { + return $this->seasonId; + } + public function setSeasonName($seasonName) + { + $this->seasonName = $seasonName; + } + public function getSeasonName() + { + return $this->seasonName; + } + public function setSeasonNumber($seasonNumber) + { + $this->seasonNumber = $seasonNumber; + } + public function getSeasonNumber() + { + return $this->seasonNumber; + } + public function setShowId($showId) + { + $this->showId = $showId; + } + public function getShowId() + { + return $this->showId; + } + public function setShowName($showName) + { + $this->showName = $showName; + } + public function getShowName() + { + return $this->showName; + } + public function setStudioName($studioName) + { + $this->studioName = $studioName; + } + public function getStudioName() + { + return $this->studioName; + } + public function setSubtitles($subtitles) + { + $this->subtitles = $subtitles; + } + public function getSubtitles() + { + return $this->subtitles; + } + public function setTitleLevelEidr($titleLevelEidr) + { + $this->titleLevelEidr = $titleLevelEidr; + } + public function getTitleLevelEidr() + { + return $this->titleLevelEidr; + } + public function setTrailerId($trailerId) + { + $this->trailerId = $trailerId; + } + public function getTrailerId() + { + return $this->trailerId; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } + public function setVideoId($videoId) + { + $this->videoId = $videoId; + } + public function getVideoId() + { + return $this->videoId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Playmoviespartner.php b/vendor/google/apiclient-services/src/Google/Service/Playmoviespartner.php new file mode 100644 index 00000000..d86c8263 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Playmoviespartner.php @@ -0,0 +1,339 @@ + + * Lets Google Play Movies Partners get the delivery status of their titles.

+ * + *

+ * For more information about this service, see the API + * Documentation + *

+ * + * @author Google, Inc. + */ +class Google_Service_Playmoviespartner extends Google_Service +{ + /** View the digital assets you publish on Google Play Movies and TV. */ + const PLAYMOVIES_PARTNER_READONLY = + "https://www.googleapis.com/auth/playmovies_partner.readonly"; + + public $accounts_avails; + public $accounts_experienceLocales; + public $accounts_orders; + public $accounts_storeInfos; + public $accounts_storeInfos_country; + + /** + * Constructs the internal representation of the Playmoviespartner service. + * + * @param Google_Client $client + */ + public function __construct(Google_Client $client) + { + parent::__construct($client); + $this->rootUrl = 'https://playmoviespartner.googleapis.com/'; + $this->servicePath = ''; + $this->version = 'v1'; + $this->serviceName = 'playmoviespartner'; + + $this->accounts_avails = new Google_Service_Playmoviespartner_AccountsAvailsResource( + $this, + $this->serviceName, + 'avails', + array( + 'methods' => array( + 'list' => array( + 'path' => 'v1/accounts/{accountId}/avails', + 'httpMethod' => 'GET', + 'parameters' => array( + 'accountId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'pageSize' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pphNames' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + ), + 'studioNames' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + ), + 'title' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'territories' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + ), + 'altId' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'videoIds' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + ), + ), + ), + ) + ) + ); + $this->accounts_experienceLocales = new Google_Service_Playmoviespartner_AccountsExperienceLocalesResource( + $this, + $this->serviceName, + 'experienceLocales', + array( + 'methods' => array( + 'get' => array( + 'path' => 'v1/accounts/{accountId}/experienceLocales/{elId}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'accountId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'elId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'v1/accounts/{accountId}/experienceLocales', + 'httpMethod' => 'GET', + 'parameters' => array( + 'accountId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'pageSize' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pphNames' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + ), + 'studioNames' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + ), + 'titleLevelEidr' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'editLevelEidr' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'status' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + ), + 'customId' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'altCutId' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + $this->accounts_orders = new Google_Service_Playmoviespartner_AccountsOrdersResource( + $this, + $this->serviceName, + 'orders', + array( + 'methods' => array( + 'get' => array( + 'path' => 'v1/accounts/{accountId}/orders/{orderId}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'accountId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'orderId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'v1/accounts/{accountId}/orders', + 'httpMethod' => 'GET', + 'parameters' => array( + 'accountId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'pageSize' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pphNames' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + ), + 'studioNames' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + ), + 'name' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'status' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + ), + 'customId' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + $this->accounts_storeInfos = new Google_Service_Playmoviespartner_AccountsStoreInfosResource( + $this, + $this->serviceName, + 'storeInfos', + array( + 'methods' => array( + 'list' => array( + 'path' => 'v1/accounts/{accountId}/storeInfos', + 'httpMethod' => 'GET', + 'parameters' => array( + 'accountId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'pageSize' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pphNames' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + ), + 'studioNames' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + ), + 'videoId' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'countries' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + ), + 'name' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'videoIds' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + ), + ), + ), + ) + ) + ); + $this->accounts_storeInfos_country = new Google_Service_Playmoviespartner_AccountsStoreInfosCountryResource( + $this, + $this->serviceName, + 'country', + array( + 'methods' => array( + 'get' => array( + 'path' => 'v1/accounts/{accountId}/storeInfos/{videoId}/country/{country}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'accountId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'videoId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'country' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Playmoviespartner/AccountsAvailsResource.php b/vendor/google/apiclient-services/src/Google/Service/Playmoviespartner/AccountsAvailsResource.php new file mode 100644 index 00000000..24be08df --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Playmoviespartner/AccountsAvailsResource.php @@ -0,0 +1,61 @@ + + * $playmoviespartnerService = new Google_Service_Playmoviespartner(...); + * $avails = $playmoviespartnerService->avails; + * + */ +class Google_Service_Playmoviespartner_AccountsAvailsResource extends Google_Service_Resource +{ + /** + * List Avails owned or managed by the partner. See _Authentication and + * Authorization rules_ and _List methods rules_ for more information about this + * method. (avails.listAccountsAvails) + * + * @param string $accountId REQUIRED. See _General rules_ for more information + * about this field. + * @param array $optParams Optional parameters. + * + * @opt_param int pageSize See _List methods rules_ for info about this field. + * @opt_param string pageToken See _List methods rules_ for info about this + * field. + * @opt_param string pphNames See _List methods rules_ for info about this + * field. + * @opt_param string studioNames See _List methods rules_ for info about this + * field. + * @opt_param string title Filter Avails that match a case-insensitive substring + * of the default Title name. + * @opt_param string territories Filter Avails that match (case-insensitive) any + * of the given country codes, using the "ISO 3166-1 alpha-2" format (examples: + * "US", "us", "Us"). + * @opt_param string altId Filter Avails that match a case-insensitive, partner- + * specific custom id. + * @opt_param string videoIds Filter Avails that match any of the given + * `video_id`s. + * @return Google_Service_Playmoviespartner_ListAvailsResponse + */ + public function listAccountsAvails($accountId, $optParams = array()) + { + $params = array('accountId' => $accountId); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Playmoviespartner_ListAvailsResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Playmoviespartner/AccountsExperienceLocalesResource.php b/vendor/google/apiclient-services/src/Google/Service/Playmoviespartner/AccountsExperienceLocalesResource.php new file mode 100644 index 00000000..8173afa1 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Playmoviespartner/AccountsExperienceLocalesResource.php @@ -0,0 +1,79 @@ + + * $playmoviespartnerService = new Google_Service_Playmoviespartner(...); + * $experienceLocales = $playmoviespartnerService->experienceLocales; + * + */ +class Google_Service_Playmoviespartner_AccountsExperienceLocalesResource extends Google_Service_Resource +{ + /** + * Get an ExperienceLocale given its id. See _Authentication and Authorization + * rules_ and _Get methods rules_ for more information about this method. + * (experienceLocales.get) + * + * @param string $accountId REQUIRED. See _General rules_ for more information + * about this field. + * @param string $elId REQUIRED. ExperienceLocale ID, as defined by Google. + * @param array $optParams Optional parameters. + * @return Google_Service_Playmoviespartner_ExperienceLocale + */ + public function get($accountId, $elId, $optParams = array()) + { + $params = array('accountId' => $accountId, 'elId' => $elId); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Playmoviespartner_ExperienceLocale"); + } + /** + * List ExperienceLocales owned or managed by the partner. See _Authentication + * and Authorization rules_ and _List methods rules_ for more information about + * this method. (experienceLocales.listAccountsExperienceLocales) + * + * @param string $accountId REQUIRED. See _General rules_ for more information + * about this field. + * @param array $optParams Optional parameters. + * + * @opt_param int pageSize See _List methods rules_ for info about this field. + * @opt_param string pageToken See _List methods rules_ for info about this + * field. + * @opt_param string pphNames See _List methods rules_ for info about this + * field. + * @opt_param string studioNames See _List methods rules_ for info about this + * field. + * @opt_param string titleLevelEidr Filter ExperienceLocales that match a given + * title-level EIDR. + * @opt_param string editLevelEidr Filter ExperienceLocales that match a given + * edit-level EIDR. + * @opt_param string status Filter ExperienceLocales that match one of the given + * status. + * @opt_param string customId Filter ExperienceLocales that match a case- + * insensitive, partner-specific custom id. + * @opt_param string altCutId Filter ExperienceLocales that match a case- + * insensitive, partner-specific Alternative Cut ID. + * @return Google_Service_Playmoviespartner_ListExperienceLocalesResponse + */ + public function listAccountsExperienceLocales($accountId, $optParams = array()) + { + $params = array('accountId' => $accountId); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Playmoviespartner_ListExperienceLocalesResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Playmoviespartner/AccountsOrdersResource.php b/vendor/google/apiclient-services/src/Google/Service/Playmoviespartner/AccountsOrdersResource.php new file mode 100644 index 00000000..b1012d14 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Playmoviespartner/AccountsOrdersResource.php @@ -0,0 +1,73 @@ + + * $playmoviespartnerService = new Google_Service_Playmoviespartner(...); + * $orders = $playmoviespartnerService->orders; + * + */ +class Google_Service_Playmoviespartner_AccountsOrdersResource extends Google_Service_Resource +{ + /** + * Get an Order given its id. See _Authentication and Authorization rules_ and + * _Get methods rules_ for more information about this method. (orders.get) + * + * @param string $accountId REQUIRED. See _General rules_ for more information + * about this field. + * @param string $orderId REQUIRED. Order ID. + * @param array $optParams Optional parameters. + * @return Google_Service_Playmoviespartner_Order + */ + public function get($accountId, $orderId, $optParams = array()) + { + $params = array('accountId' => $accountId, 'orderId' => $orderId); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Playmoviespartner_Order"); + } + /** + * List Orders owned or managed by the partner. See _Authentication and + * Authorization rules_ and _List methods rules_ for more information about this + * method. (orders.listAccountsOrders) + * + * @param string $accountId REQUIRED. See _General rules_ for more information + * about this field. + * @param array $optParams Optional parameters. + * + * @opt_param int pageSize See _List methods rules_ for info about this field. + * @opt_param string pageToken See _List methods rules_ for info about this + * field. + * @opt_param string pphNames See _List methods rules_ for info about this + * field. + * @opt_param string studioNames See _List methods rules_ for info about this + * field. + * @opt_param string name Filter Orders that match a title name (case- + * insensitive, sub-string match). + * @opt_param string status Filter Orders that match one of the given status. + * @opt_param string customId Filter Orders that match a case-insensitive, + * partner-specific custom id. + * @return Google_Service_Playmoviespartner_ListOrdersResponse + */ + public function listAccountsOrders($accountId, $optParams = array()) + { + $params = array('accountId' => $accountId); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Playmoviespartner_ListOrdersResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Playmoviespartner/AccountsResource.php b/vendor/google/apiclient-services/src/Google/Service/Playmoviespartner/AccountsResource.php new file mode 100644 index 00000000..36f65d25 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Playmoviespartner/AccountsResource.php @@ -0,0 +1,28 @@ + + * $playmoviespartnerService = new Google_Service_Playmoviespartner(...); + * $accounts = $playmoviespartnerService->accounts; + * + */ +class Google_Service_Playmoviespartner_AccountsResource extends Google_Service_Resource +{ +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Playmoviespartner/AccountsStoreInfosCountryResource.php b/vendor/google/apiclient-services/src/Google/Service/Playmoviespartner/AccountsStoreInfosCountryResource.php new file mode 100644 index 00000000..f49667a0 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Playmoviespartner/AccountsStoreInfosCountryResource.php @@ -0,0 +1,46 @@ + + * $playmoviespartnerService = new Google_Service_Playmoviespartner(...); + * $country = $playmoviespartnerService->country; + * + */ +class Google_Service_Playmoviespartner_AccountsStoreInfosCountryResource extends Google_Service_Resource +{ + /** + * Get a StoreInfo given its video id and country. See _Authentication and + * Authorization rules_ and _Get methods rules_ for more information about this + * method. (country.get) + * + * @param string $accountId REQUIRED. See _General rules_ for more information + * about this field. + * @param string $videoId REQUIRED. Video ID. + * @param string $country REQUIRED. Edit country. + * @param array $optParams Optional parameters. + * @return Google_Service_Playmoviespartner_StoreInfo + */ + public function get($accountId, $videoId, $country, $optParams = array()) + { + $params = array('accountId' => $accountId, 'videoId' => $videoId, 'country' => $country); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Playmoviespartner_StoreInfo"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Playmoviespartner/AccountsStoreInfosResource.php b/vendor/google/apiclient-services/src/Google/Service/Playmoviespartner/AccountsStoreInfosResource.php new file mode 100644 index 00000000..2cb9fcd1 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Playmoviespartner/AccountsStoreInfosResource.php @@ -0,0 +1,62 @@ + + * $playmoviespartnerService = new Google_Service_Playmoviespartner(...); + * $storeInfos = $playmoviespartnerService->storeInfos; + * + */ +class Google_Service_Playmoviespartner_AccountsStoreInfosResource extends Google_Service_Resource +{ + /** + * List StoreInfos owned or managed by the partner. See _Authentication and + * Authorization rules_ and _List methods rules_ for more information about this + * method. (storeInfos.listAccountsStoreInfos) + * + * @param string $accountId REQUIRED. See _General rules_ for more information + * about this field. + * @param array $optParams Optional parameters. + * + * @opt_param int pageSize See _List methods rules_ for info about this field. + * @opt_param string pageToken See _List methods rules_ for info about this + * field. + * @opt_param string pphNames See _List methods rules_ for info about this + * field. + * @opt_param string studioNames See _List methods rules_ for info about this + * field. + * @opt_param string videoId Filter StoreInfos that match a given `video_id`. + * NOTE: this field is deprecated and will be removed on V2; `video_ids` should + * be used instead. + * @opt_param string countries Filter StoreInfos that match (case-insensitive) + * any of the given country codes, using the "ISO 3166-1 alpha-2" format + * (examples: "US", "us", "Us"). + * @opt_param string name Filter StoreInfos that match a case-insensitive + * substring of the default name. + * @opt_param string videoIds Filter StoreInfos that match any of the given + * `video_id`s. + * @return Google_Service_Playmoviespartner_ListStoreInfosResponse + */ + public function listAccountsStoreInfos($accountId, $optParams = array()) + { + $params = array('accountId' => $accountId); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Playmoviespartner_ListStoreInfosResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Playmoviespartner/Avail.php b/vendor/google/apiclient-services/src/Google/Service/Playmoviespartner/Avail.php new file mode 100644 index 00000000..b17a5623 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Playmoviespartner/Avail.php @@ -0,0 +1,310 @@ +altId = $altId; + } + public function getAltId() + { + return $this->altId; + } + public function setCaptionExemption($captionExemption) + { + $this->captionExemption = $captionExemption; + } + public function getCaptionExemption() + { + return $this->captionExemption; + } + public function setCaptionIncluded($captionIncluded) + { + $this->captionIncluded = $captionIncluded; + } + public function getCaptionIncluded() + { + return $this->captionIncluded; + } + public function setContentId($contentId) + { + $this->contentId = $contentId; + } + public function getContentId() + { + return $this->contentId; + } + public function setDisplayName($displayName) + { + $this->displayName = $displayName; + } + public function getDisplayName() + { + return $this->displayName; + } + public function setEncodeId($encodeId) + { + $this->encodeId = $encodeId; + } + public function getEncodeId() + { + return $this->encodeId; + } + public function setEnd($end) + { + $this->end = $end; + } + public function getEnd() + { + return $this->end; + } + public function setEpisodeAltId($episodeAltId) + { + $this->episodeAltId = $episodeAltId; + } + public function getEpisodeAltId() + { + return $this->episodeAltId; + } + public function setEpisodeNumber($episodeNumber) + { + $this->episodeNumber = $episodeNumber; + } + public function getEpisodeNumber() + { + return $this->episodeNumber; + } + public function setEpisodeTitleInternalAlias($episodeTitleInternalAlias) + { + $this->episodeTitleInternalAlias = $episodeTitleInternalAlias; + } + public function getEpisodeTitleInternalAlias() + { + return $this->episodeTitleInternalAlias; + } + public function setFormatProfile($formatProfile) + { + $this->formatProfile = $formatProfile; + } + public function getFormatProfile() + { + return $this->formatProfile; + } + public function setLicenseType($licenseType) + { + $this->licenseType = $licenseType; + } + public function getLicenseType() + { + return $this->licenseType; + } + public function setPphNames($pphNames) + { + $this->pphNames = $pphNames; + } + public function getPphNames() + { + return $this->pphNames; + } + public function setPriceType($priceType) + { + $this->priceType = $priceType; + } + public function getPriceType() + { + return $this->priceType; + } + public function setPriceValue($priceValue) + { + $this->priceValue = $priceValue; + } + public function getPriceValue() + { + return $this->priceValue; + } + public function setProductId($productId) + { + $this->productId = $productId; + } + public function getProductId() + { + return $this->productId; + } + public function setRatingReason($ratingReason) + { + $this->ratingReason = $ratingReason; + } + public function getRatingReason() + { + return $this->ratingReason; + } + public function setRatingSystem($ratingSystem) + { + $this->ratingSystem = $ratingSystem; + } + public function getRatingSystem() + { + return $this->ratingSystem; + } + public function setRatingValue($ratingValue) + { + $this->ratingValue = $ratingValue; + } + public function getRatingValue() + { + return $this->ratingValue; + } + public function setReleaseDate($releaseDate) + { + $this->releaseDate = $releaseDate; + } + public function getReleaseDate() + { + return $this->releaseDate; + } + public function setSeasonAltId($seasonAltId) + { + $this->seasonAltId = $seasonAltId; + } + public function getSeasonAltId() + { + return $this->seasonAltId; + } + public function setSeasonNumber($seasonNumber) + { + $this->seasonNumber = $seasonNumber; + } + public function getSeasonNumber() + { + return $this->seasonNumber; + } + public function setSeasonTitleInternalAlias($seasonTitleInternalAlias) + { + $this->seasonTitleInternalAlias = $seasonTitleInternalAlias; + } + public function getSeasonTitleInternalAlias() + { + return $this->seasonTitleInternalAlias; + } + public function setSeriesAltId($seriesAltId) + { + $this->seriesAltId = $seriesAltId; + } + public function getSeriesAltId() + { + return $this->seriesAltId; + } + public function setSeriesTitleInternalAlias($seriesTitleInternalAlias) + { + $this->seriesTitleInternalAlias = $seriesTitleInternalAlias; + } + public function getSeriesTitleInternalAlias() + { + return $this->seriesTitleInternalAlias; + } + public function setStart($start) + { + $this->start = $start; + } + public function getStart() + { + return $this->start; + } + public function setStoreLanguage($storeLanguage) + { + $this->storeLanguage = $storeLanguage; + } + public function getStoreLanguage() + { + return $this->storeLanguage; + } + public function setSuppressionLiftDate($suppressionLiftDate) + { + $this->suppressionLiftDate = $suppressionLiftDate; + } + public function getSuppressionLiftDate() + { + return $this->suppressionLiftDate; + } + public function setTerritory($territory) + { + $this->territory = $territory; + } + public function getTerritory() + { + return $this->territory; + } + public function setTitleInternalAlias($titleInternalAlias) + { + $this->titleInternalAlias = $titleInternalAlias; + } + public function getTitleInternalAlias() + { + return $this->titleInternalAlias; + } + public function setVideoId($videoId) + { + $this->videoId = $videoId; + } + public function getVideoId() + { + return $this->videoId; + } + public function setWorkType($workType) + { + $this->workType = $workType; + } + public function getWorkType() + { + return $this->workType; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Playmoviespartner/ExperienceLocale.php b/vendor/google/apiclient-services/src/Google/Service/Playmoviespartner/ExperienceLocale.php new file mode 100644 index 00000000..d9219b51 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Playmoviespartner/ExperienceLocale.php @@ -0,0 +1,229 @@ +altCutId = $altCutId; + } + public function getAltCutId() + { + return $this->altCutId; + } + public function setApprovedTime($approvedTime) + { + $this->approvedTime = $approvedTime; + } + public function getApprovedTime() + { + return $this->approvedTime; + } + public function setChannelId($channelId) + { + $this->channelId = $channelId; + } + public function getChannelId() + { + return $this->channelId; + } + public function setCountry($country) + { + $this->country = $country; + } + public function getCountry() + { + return $this->country; + } + public function setCreatedTime($createdTime) + { + $this->createdTime = $createdTime; + } + public function getCreatedTime() + { + return $this->createdTime; + } + public function setCustomIds($customIds) + { + $this->customIds = $customIds; + } + public function getCustomIds() + { + return $this->customIds; + } + public function setEarliestAvailStartTime($earliestAvailStartTime) + { + $this->earliestAvailStartTime = $earliestAvailStartTime; + } + public function getEarliestAvailStartTime() + { + return $this->earliestAvailStartTime; + } + public function setEditLevelEidr($editLevelEidr) + { + $this->editLevelEidr = $editLevelEidr; + } + public function getEditLevelEidr() + { + return $this->editLevelEidr; + } + public function setElId($elId) + { + $this->elId = $elId; + } + public function getElId() + { + return $this->elId; + } + public function setInventoryId($inventoryId) + { + $this->inventoryId = $inventoryId; + } + public function getInventoryId() + { + return $this->inventoryId; + } + public function setLanguage($language) + { + $this->language = $language; + } + public function getLanguage() + { + return $this->language; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setNormalizedPriority($normalizedPriority) + { + $this->normalizedPriority = $normalizedPriority; + } + public function getNormalizedPriority() + { + return $this->normalizedPriority; + } + public function setPlayableSequenceId($playableSequenceId) + { + $this->playableSequenceId = $playableSequenceId; + } + public function getPlayableSequenceId() + { + return $this->playableSequenceId; + } + public function setPphNames($pphNames) + { + $this->pphNames = $pphNames; + } + public function getPphNames() + { + return $this->pphNames; + } + public function setPresentationId($presentationId) + { + $this->presentationId = $presentationId; + } + public function getPresentationId() + { + return $this->presentationId; + } + public function setPriority($priority) + { + $this->priority = $priority; + } + public function getPriority() + { + return $this->priority; + } + public function setStatus($status) + { + $this->status = $status; + } + public function getStatus() + { + return $this->status; + } + public function setStudioName($studioName) + { + $this->studioName = $studioName; + } + public function getStudioName() + { + return $this->studioName; + } + public function setTitleLevelEidr($titleLevelEidr) + { + $this->titleLevelEidr = $titleLevelEidr; + } + public function getTitleLevelEidr() + { + return $this->titleLevelEidr; + } + public function setTrailerId($trailerId) + { + $this->trailerId = $trailerId; + } + public function getTrailerId() + { + return $this->trailerId; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } + public function setVideoId($videoId) + { + $this->videoId = $videoId; + } + public function getVideoId() + { + return $this->videoId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Playmoviespartner/ListAvailsResponse.php b/vendor/google/apiclient-services/src/Google/Service/Playmoviespartner/ListAvailsResponse.php new file mode 100644 index 00000000..a20847e5 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Playmoviespartner/ListAvailsResponse.php @@ -0,0 +1,41 @@ +avails = $avails; + } + public function getAvails() + { + return $this->avails; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Playmoviespartner/ListExperienceLocalesResponse.php b/vendor/google/apiclient-services/src/Google/Service/Playmoviespartner/ListExperienceLocalesResponse.php new file mode 100644 index 00000000..3c3a475c --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Playmoviespartner/ListExperienceLocalesResponse.php @@ -0,0 +1,41 @@ +experienceLocales = $experienceLocales; + } + public function getExperienceLocales() + { + return $this->experienceLocales; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Playmoviespartner/ListOrdersResponse.php b/vendor/google/apiclient-services/src/Google/Service/Playmoviespartner/ListOrdersResponse.php new file mode 100644 index 00000000..dc39cb36 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Playmoviespartner/ListOrdersResponse.php @@ -0,0 +1,41 @@ +nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setOrders($orders) + { + $this->orders = $orders; + } + public function getOrders() + { + return $this->orders; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Playmoviespartner/ListStoreInfosResponse.php b/vendor/google/apiclient-services/src/Google/Service/Playmoviespartner/ListStoreInfosResponse.php new file mode 100644 index 00000000..bc953255 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Playmoviespartner/ListStoreInfosResponse.php @@ -0,0 +1,41 @@ +nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setStoreInfos($storeInfos) + { + $this->storeInfos = $storeInfos; + } + public function getStoreInfos() + { + return $this->storeInfos; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Playmoviespartner/Order.php b/vendor/google/apiclient-services/src/Google/Service/Playmoviespartner/Order.php new file mode 100644 index 00000000..44664f20 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Playmoviespartner/Order.php @@ -0,0 +1,229 @@ +approvedTime = $approvedTime; + } + public function getApprovedTime() + { + return $this->approvedTime; + } + public function setChannelId($channelId) + { + $this->channelId = $channelId; + } + public function getChannelId() + { + return $this->channelId; + } + public function setChannelName($channelName) + { + $this->channelName = $channelName; + } + public function getChannelName() + { + return $this->channelName; + } + public function setCountries($countries) + { + $this->countries = $countries; + } + public function getCountries() + { + return $this->countries; + } + public function setCustomId($customId) + { + $this->customId = $customId; + } + public function getCustomId() + { + return $this->customId; + } + public function setEarliestAvailStartTime($earliestAvailStartTime) + { + $this->earliestAvailStartTime = $earliestAvailStartTime; + } + public function getEarliestAvailStartTime() + { + return $this->earliestAvailStartTime; + } + public function setEpisodeName($episodeName) + { + $this->episodeName = $episodeName; + } + public function getEpisodeName() + { + return $this->episodeName; + } + public function setLegacyPriority($legacyPriority) + { + $this->legacyPriority = $legacyPriority; + } + public function getLegacyPriority() + { + return $this->legacyPriority; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setNormalizedPriority($normalizedPriority) + { + $this->normalizedPriority = $normalizedPriority; + } + public function getNormalizedPriority() + { + return $this->normalizedPriority; + } + public function setOrderId($orderId) + { + $this->orderId = $orderId; + } + public function getOrderId() + { + return $this->orderId; + } + public function setOrderedTime($orderedTime) + { + $this->orderedTime = $orderedTime; + } + public function getOrderedTime() + { + return $this->orderedTime; + } + public function setPphName($pphName) + { + $this->pphName = $pphName; + } + public function getPphName() + { + return $this->pphName; + } + public function setPriority($priority) + { + $this->priority = $priority; + } + public function getPriority() + { + return $this->priority; + } + public function setReceivedTime($receivedTime) + { + $this->receivedTime = $receivedTime; + } + public function getReceivedTime() + { + return $this->receivedTime; + } + public function setRejectionNote($rejectionNote) + { + $this->rejectionNote = $rejectionNote; + } + public function getRejectionNote() + { + return $this->rejectionNote; + } + public function setSeasonName($seasonName) + { + $this->seasonName = $seasonName; + } + public function getSeasonName() + { + return $this->seasonName; + } + public function setShowName($showName) + { + $this->showName = $showName; + } + public function getShowName() + { + return $this->showName; + } + public function setStatus($status) + { + $this->status = $status; + } + public function getStatus() + { + return $this->status; + } + public function setStatusDetail($statusDetail) + { + $this->statusDetail = $statusDetail; + } + public function getStatusDetail() + { + return $this->statusDetail; + } + public function setStudioName($studioName) + { + $this->studioName = $studioName; + } + public function getStudioName() + { + return $this->studioName; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } + public function setVideoId($videoId) + { + $this->videoId = $videoId; + } + public function getVideoId() + { + return $this->videoId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Playmoviespartner/StoreInfo.php b/vendor/google/apiclient-services/src/Google/Service/Playmoviespartner/StoreInfo.php new file mode 100644 index 00000000..ac24337b --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Playmoviespartner/StoreInfo.php @@ -0,0 +1,247 @@ +audioTracks = $audioTracks; + } + public function getAudioTracks() + { + return $this->audioTracks; + } + public function setCountry($country) + { + $this->country = $country; + } + public function getCountry() + { + return $this->country; + } + public function setEditLevelEidr($editLevelEidr) + { + $this->editLevelEidr = $editLevelEidr; + } + public function getEditLevelEidr() + { + return $this->editLevelEidr; + } + public function setEpisodeNumber($episodeNumber) + { + $this->episodeNumber = $episodeNumber; + } + public function getEpisodeNumber() + { + return $this->episodeNumber; + } + public function setHasAudio51($hasAudio51) + { + $this->hasAudio51 = $hasAudio51; + } + public function getHasAudio51() + { + return $this->hasAudio51; + } + public function setHasEstOffer($hasEstOffer) + { + $this->hasEstOffer = $hasEstOffer; + } + public function getHasEstOffer() + { + return $this->hasEstOffer; + } + public function setHasHdOffer($hasHdOffer) + { + $this->hasHdOffer = $hasHdOffer; + } + public function getHasHdOffer() + { + return $this->hasHdOffer; + } + public function setHasInfoCards($hasInfoCards) + { + $this->hasInfoCards = $hasInfoCards; + } + public function getHasInfoCards() + { + return $this->hasInfoCards; + } + public function setHasSdOffer($hasSdOffer) + { + $this->hasSdOffer = $hasSdOffer; + } + public function getHasSdOffer() + { + return $this->hasSdOffer; + } + public function setHasVodOffer($hasVodOffer) + { + $this->hasVodOffer = $hasVodOffer; + } + public function getHasVodOffer() + { + return $this->hasVodOffer; + } + public function setLiveTime($liveTime) + { + $this->liveTime = $liveTime; + } + public function getLiveTime() + { + return $this->liveTime; + } + public function setMid($mid) + { + $this->mid = $mid; + } + public function getMid() + { + return $this->mid; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setPphNames($pphNames) + { + $this->pphNames = $pphNames; + } + public function getPphNames() + { + return $this->pphNames; + } + public function setSeasonId($seasonId) + { + $this->seasonId = $seasonId; + } + public function getSeasonId() + { + return $this->seasonId; + } + public function setSeasonName($seasonName) + { + $this->seasonName = $seasonName; + } + public function getSeasonName() + { + return $this->seasonName; + } + public function setSeasonNumber($seasonNumber) + { + $this->seasonNumber = $seasonNumber; + } + public function getSeasonNumber() + { + return $this->seasonNumber; + } + public function setShowId($showId) + { + $this->showId = $showId; + } + public function getShowId() + { + return $this->showId; + } + public function setShowName($showName) + { + $this->showName = $showName; + } + public function getShowName() + { + return $this->showName; + } + public function setStudioName($studioName) + { + $this->studioName = $studioName; + } + public function getStudioName() + { + return $this->studioName; + } + public function setSubtitles($subtitles) + { + $this->subtitles = $subtitles; + } + public function getSubtitles() + { + return $this->subtitles; + } + public function setTitleLevelEidr($titleLevelEidr) + { + $this->titleLevelEidr = $titleLevelEidr; + } + public function getTitleLevelEidr() + { + return $this->titleLevelEidr; + } + public function setTrailerId($trailerId) + { + $this->trailerId = $trailerId; + } + public function getTrailerId() + { + return $this->trailerId; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } + public function setVideoId($videoId) + { + $this->videoId = $videoId; + } + public function getVideoId() + { + return $this->videoId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Plus.php b/vendor/google/apiclient-services/src/Google/Service/Plus.php new file mode 100644 index 00000000..df3e8029 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Plus.php @@ -0,0 +1,267 @@ + + * Builds on top of the Google+ platform.

+ * + *

+ * For more information about this service, see the API + * Documentation + *

+ * + * @author Google, Inc. + */ +class Google_Service_Plus extends Google_Service +{ + /** Know the list of people in your circles, your age range, and language. */ + const PLUS_LOGIN = + "https://www.googleapis.com/auth/plus.login"; + /** Know who you are on Google. */ + const PLUS_ME = + "https://www.googleapis.com/auth/plus.me"; + /** View your email address. */ + const USERINFO_EMAIL = + "https://www.googleapis.com/auth/userinfo.email"; + /** View your basic profile info. */ + const USERINFO_PROFILE = + "https://www.googleapis.com/auth/userinfo.profile"; + + public $activities; + public $comments; + public $people; + + /** + * Constructs the internal representation of the Plus service. + * + * @param Google_Client $client + */ + public function __construct(Google_Client $client) + { + parent::__construct($client); + $this->rootUrl = 'https://www.googleapis.com/'; + $this->servicePath = 'plus/v1/'; + $this->version = 'v1'; + $this->serviceName = 'plus'; + + $this->activities = new Google_Service_Plus_Resource_Activities( + $this, + $this->serviceName, + 'activities', + array( + 'methods' => array( + 'get' => array( + 'path' => 'activities/{activityId}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'activityId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'people/{userId}/activities/{collection}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'userId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'collection' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'search' => array( + 'path' => 'activities', + 'httpMethod' => 'GET', + 'parameters' => array( + 'query' => array( + 'location' => 'query', + 'type' => 'string', + 'required' => true, + ), + 'language' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'orderBy' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + $this->comments = new Google_Service_Plus_Resource_Comments( + $this, + $this->serviceName, + 'comments', + array( + 'methods' => array( + 'get' => array( + 'path' => 'comments/{commentId}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'commentId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'activities/{activityId}/comments', + 'httpMethod' => 'GET', + 'parameters' => array( + 'activityId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'sortOrder' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + $this->people = new Google_Service_Plus_Resource_People( + $this, + $this->serviceName, + 'people', + array( + 'methods' => array( + 'get' => array( + 'path' => 'people/{userId}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'userId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'people/{userId}/people/{collection}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'userId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'collection' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'orderBy' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'listByActivity' => array( + 'path' => 'activities/{activityId}/people/{collection}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'activityId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'collection' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'search' => array( + 'path' => 'people', + 'httpMethod' => 'GET', + 'parameters' => array( + 'query' => array( + 'location' => 'query', + 'type' => 'string', + 'required' => true, + ), + 'language' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Plus/Acl.php b/vendor/google/apiclient-services/src/Google/Service/Plus/Acl.php new file mode 100644 index 00000000..642ecf05 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Plus/Acl.php @@ -0,0 +1,50 @@ +description = $description; + } + public function getDescription() + { + return $this->description; + } + public function setItems($items) + { + $this->items = $items; + } + public function getItems() + { + return $this->items; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Plus/Activity.php b/vendor/google/apiclient-services/src/Google/Service/Plus/Activity.php new file mode 100644 index 00000000..c375517b --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Plus/Activity.php @@ -0,0 +1,206 @@ +access = $access; + } + public function getAccess() + { + return $this->access; + } + public function setActor(Google_Service_Plus_ActivityActor $actor) + { + $this->actor = $actor; + } + public function getActor() + { + return $this->actor; + } + public function setAddress($address) + { + $this->address = $address; + } + public function getAddress() + { + return $this->address; + } + public function setAnnotation($annotation) + { + $this->annotation = $annotation; + } + public function getAnnotation() + { + return $this->annotation; + } + public function setCrosspostSource($crosspostSource) + { + $this->crosspostSource = $crosspostSource; + } + public function getCrosspostSource() + { + return $this->crosspostSource; + } + public function setEtag($etag) + { + $this->etag = $etag; + } + public function getEtag() + { + return $this->etag; + } + public function setGeocode($geocode) + { + $this->geocode = $geocode; + } + public function getGeocode() + { + return $this->geocode; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setLocation(Google_Service_Plus_Place $location) + { + $this->location = $location; + } + public function getLocation() + { + return $this->location; + } + public function setObject(Google_Service_Plus_ActivityObject $object) + { + $this->object = $object; + } + public function getObject() + { + return $this->object; + } + public function setPlaceId($placeId) + { + $this->placeId = $placeId; + } + public function getPlaceId() + { + return $this->placeId; + } + public function setPlaceName($placeName) + { + $this->placeName = $placeName; + } + public function getPlaceName() + { + return $this->placeName; + } + public function setProvider(Google_Service_Plus_ActivityProvider $provider) + { + $this->provider = $provider; + } + public function getProvider() + { + return $this->provider; + } + public function setPublished($published) + { + $this->published = $published; + } + public function getPublished() + { + return $this->published; + } + public function setRadius($radius) + { + $this->radius = $radius; + } + public function getRadius() + { + return $this->radius; + } + public function setTitle($title) + { + $this->title = $title; + } + public function getTitle() + { + return $this->title; + } + public function setUpdated($updated) + { + $this->updated = $updated; + } + public function getUpdated() + { + return $this->updated; + } + public function setUrl($url) + { + $this->url = $url; + } + public function getUrl() + { + return $this->url; + } + public function setVerb($verb) + { + $this->verb = $verb; + } + public function getVerb() + { + return $this->verb; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Plus/ActivityActor.php b/vendor/google/apiclient-services/src/Google/Service/Plus/ActivityActor.php new file mode 100644 index 00000000..68514e9c --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Plus/ActivityActor.php @@ -0,0 +1,88 @@ +clientSpecificActorInfo = $clientSpecificActorInfo; + } + public function getClientSpecificActorInfo() + { + return $this->clientSpecificActorInfo; + } + public function setDisplayName($displayName) + { + $this->displayName = $displayName; + } + public function getDisplayName() + { + return $this->displayName; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setImage(Google_Service_Plus_ActivityActorImage $image) + { + $this->image = $image; + } + public function getImage() + { + return $this->image; + } + public function setName(Google_Service_Plus_ActivityActorName $name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setUrl($url) + { + $this->url = $url; + } + public function getUrl() + { + return $this->url; + } + public function setVerification(Google_Service_Plus_ActivityActorVerification $verification) + { + $this->verification = $verification; + } + public function getVerification() + { + return $this->verification; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Plus/ActivityActorClientSpecificActorInfo.php b/vendor/google/apiclient-services/src/Google/Service/Plus/ActivityActorClientSpecificActorInfo.php new file mode 100644 index 00000000..22c5caa1 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Plus/ActivityActorClientSpecificActorInfo.php @@ -0,0 +1,31 @@ +youtubeActorInfo = $youtubeActorInfo; + } + public function getYoutubeActorInfo() + { + return $this->youtubeActorInfo; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Plus/ActivityActorClientSpecificActorInfoYoutubeActorInfo.php b/vendor/google/apiclient-services/src/Google/Service/Plus/ActivityActorClientSpecificActorInfoYoutubeActorInfo.php new file mode 100644 index 00000000..0de9b6f5 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Plus/ActivityActorClientSpecificActorInfoYoutubeActorInfo.php @@ -0,0 +1,30 @@ +channelId = $channelId; + } + public function getChannelId() + { + return $this->channelId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Plus/ActivityActorImage.php b/vendor/google/apiclient-services/src/Google/Service/Plus/ActivityActorImage.php new file mode 100644 index 00000000..ace967fd --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Plus/ActivityActorImage.php @@ -0,0 +1,30 @@ +url = $url; + } + public function getUrl() + { + return $this->url; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Plus/ActivityActorName.php b/vendor/google/apiclient-services/src/Google/Service/Plus/ActivityActorName.php new file mode 100644 index 00000000..d589ea52 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Plus/ActivityActorName.php @@ -0,0 +1,39 @@ +familyName = $familyName; + } + public function getFamilyName() + { + return $this->familyName; + } + public function setGivenName($givenName) + { + $this->givenName = $givenName; + } + public function getGivenName() + { + return $this->givenName; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Plus/ActivityActorVerification.php b/vendor/google/apiclient-services/src/Google/Service/Plus/ActivityActorVerification.php new file mode 100644 index 00000000..72226325 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Plus/ActivityActorVerification.php @@ -0,0 +1,30 @@ +adHocVerified = $adHocVerified; + } + public function getAdHocVerified() + { + return $this->adHocVerified; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Plus/ActivityFeed.php b/vendor/google/apiclient-services/src/Google/Service/Plus/ActivityFeed.php new file mode 100644 index 00000000..81bf62e6 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Plus/ActivityFeed.php @@ -0,0 +1,104 @@ +etag = $etag; + } + public function getEtag() + { + return $this->etag; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setItems($items) + { + $this->items = $items; + } + public function getItems() + { + return $this->items; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextLink($nextLink) + { + $this->nextLink = $nextLink; + } + public function getNextLink() + { + return $this->nextLink; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setSelfLink($selfLink) + { + $this->selfLink = $selfLink; + } + public function getSelfLink() + { + return $this->selfLink; + } + public function setTitle($title) + { + $this->title = $title; + } + public function getTitle() + { + return $this->title; + } + public function setUpdated($updated) + { + $this->updated = $updated; + } + public function getUpdated() + { + return $this->updated; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Plus/ActivityObject.php b/vendor/google/apiclient-services/src/Google/Service/Plus/ActivityObject.php new file mode 100644 index 00000000..aa682d09 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Plus/ActivityObject.php @@ -0,0 +1,117 @@ +actor = $actor; + } + public function getActor() + { + return $this->actor; + } + public function setAttachments($attachments) + { + $this->attachments = $attachments; + } + public function getAttachments() + { + return $this->attachments; + } + public function setContent($content) + { + $this->content = $content; + } + public function getContent() + { + return $this->content; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setObjectType($objectType) + { + $this->objectType = $objectType; + } + public function getObjectType() + { + return $this->objectType; + } + public function setOriginalContent($originalContent) + { + $this->originalContent = $originalContent; + } + public function getOriginalContent() + { + return $this->originalContent; + } + public function setPlusoners(Google_Service_Plus_ActivityObjectPlusoners $plusoners) + { + $this->plusoners = $plusoners; + } + public function getPlusoners() + { + return $this->plusoners; + } + public function setReplies(Google_Service_Plus_ActivityObjectReplies $replies) + { + $this->replies = $replies; + } + public function getReplies() + { + return $this->replies; + } + public function setResharers(Google_Service_Plus_ActivityObjectResharers $resharers) + { + $this->resharers = $resharers; + } + public function getResharers() + { + return $this->resharers; + } + public function setUrl($url) + { + $this->url = $url; + } + public function getUrl() + { + return $this->url; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Plus/ActivityObjectActor.php b/vendor/google/apiclient-services/src/Google/Service/Plus/ActivityObjectActor.php new file mode 100644 index 00000000..786d35d0 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Plus/ActivityObjectActor.php @@ -0,0 +1,78 @@ +clientSpecificActorInfo = $clientSpecificActorInfo; + } + public function getClientSpecificActorInfo() + { + return $this->clientSpecificActorInfo; + } + public function setDisplayName($displayName) + { + $this->displayName = $displayName; + } + public function getDisplayName() + { + return $this->displayName; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setImage(Google_Service_Plus_ActivityObjectActorImage $image) + { + $this->image = $image; + } + public function getImage() + { + return $this->image; + } + public function setUrl($url) + { + $this->url = $url; + } + public function getUrl() + { + return $this->url; + } + public function setVerification(Google_Service_Plus_ActivityObjectActorVerification $verification) + { + $this->verification = $verification; + } + public function getVerification() + { + return $this->verification; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Plus/ActivityObjectActorClientSpecificActorInfo.php b/vendor/google/apiclient-services/src/Google/Service/Plus/ActivityObjectActorClientSpecificActorInfo.php new file mode 100644 index 00000000..0c8c8069 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Plus/ActivityObjectActorClientSpecificActorInfo.php @@ -0,0 +1,31 @@ +youtubeActorInfo = $youtubeActorInfo; + } + public function getYoutubeActorInfo() + { + return $this->youtubeActorInfo; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Plus/ActivityObjectActorClientSpecificActorInfoYoutubeActorInfo.php b/vendor/google/apiclient-services/src/Google/Service/Plus/ActivityObjectActorClientSpecificActorInfoYoutubeActorInfo.php new file mode 100644 index 00000000..991c6d73 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Plus/ActivityObjectActorClientSpecificActorInfoYoutubeActorInfo.php @@ -0,0 +1,30 @@ +channelId = $channelId; + } + public function getChannelId() + { + return $this->channelId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Plus/ActivityObjectActorImage.php b/vendor/google/apiclient-services/src/Google/Service/Plus/ActivityObjectActorImage.php new file mode 100644 index 00000000..bf949aad --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Plus/ActivityObjectActorImage.php @@ -0,0 +1,30 @@ +url = $url; + } + public function getUrl() + { + return $this->url; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Plus/ActivityObjectActorVerification.php b/vendor/google/apiclient-services/src/Google/Service/Plus/ActivityObjectActorVerification.php new file mode 100644 index 00000000..fe27d647 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Plus/ActivityObjectActorVerification.php @@ -0,0 +1,30 @@ +adHocVerified = $adHocVerified; + } + public function getAdHocVerified() + { + return $this->adHocVerified; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Plus/ActivityObjectAttachments.php b/vendor/google/apiclient-services/src/Google/Service/Plus/ActivityObjectAttachments.php new file mode 100644 index 00000000..2e284160 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Plus/ActivityObjectAttachments.php @@ -0,0 +1,107 @@ +content = $content; + } + public function getContent() + { + return $this->content; + } + public function setDisplayName($displayName) + { + $this->displayName = $displayName; + } + public function getDisplayName() + { + return $this->displayName; + } + public function setEmbed(Google_Service_Plus_ActivityObjectAttachmentsEmbed $embed) + { + $this->embed = $embed; + } + public function getEmbed() + { + return $this->embed; + } + public function setFullImage(Google_Service_Plus_ActivityObjectAttachmentsFullImage $fullImage) + { + $this->fullImage = $fullImage; + } + public function getFullImage() + { + return $this->fullImage; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setImage(Google_Service_Plus_ActivityObjectAttachmentsImage $image) + { + $this->image = $image; + } + public function getImage() + { + return $this->image; + } + public function setObjectType($objectType) + { + $this->objectType = $objectType; + } + public function getObjectType() + { + return $this->objectType; + } + public function setThumbnails($thumbnails) + { + $this->thumbnails = $thumbnails; + } + public function getThumbnails() + { + return $this->thumbnails; + } + public function setUrl($url) + { + $this->url = $url; + } + public function getUrl() + { + return $this->url; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Plus/ActivityObjectAttachmentsEmbed.php b/vendor/google/apiclient-services/src/Google/Service/Plus/ActivityObjectAttachmentsEmbed.php new file mode 100644 index 00000000..56317771 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Plus/ActivityObjectAttachmentsEmbed.php @@ -0,0 +1,39 @@ +type = $type; + } + public function getType() + { + return $this->type; + } + public function setUrl($url) + { + $this->url = $url; + } + public function getUrl() + { + return $this->url; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Plus/ActivityObjectAttachmentsFullImage.php b/vendor/google/apiclient-services/src/Google/Service/Plus/ActivityObjectAttachmentsFullImage.php new file mode 100644 index 00000000..b7fb28f7 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Plus/ActivityObjectAttachmentsFullImage.php @@ -0,0 +1,57 @@ +height = $height; + } + public function getHeight() + { + return $this->height; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } + public function setUrl($url) + { + $this->url = $url; + } + public function getUrl() + { + return $this->url; + } + public function setWidth($width) + { + $this->width = $width; + } + public function getWidth() + { + return $this->width; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Plus/ActivityObjectAttachmentsImage.php b/vendor/google/apiclient-services/src/Google/Service/Plus/ActivityObjectAttachmentsImage.php new file mode 100644 index 00000000..728c15df --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Plus/ActivityObjectAttachmentsImage.php @@ -0,0 +1,57 @@ +height = $height; + } + public function getHeight() + { + return $this->height; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } + public function setUrl($url) + { + $this->url = $url; + } + public function getUrl() + { + return $this->url; + } + public function setWidth($width) + { + $this->width = $width; + } + public function getWidth() + { + return $this->width; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Plus/ActivityObjectAttachmentsThumbnails.php b/vendor/google/apiclient-services/src/Google/Service/Plus/ActivityObjectAttachmentsThumbnails.php new file mode 100644 index 00000000..b0024f02 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Plus/ActivityObjectAttachmentsThumbnails.php @@ -0,0 +1,49 @@ +description = $description; + } + public function getDescription() + { + return $this->description; + } + public function setImage(Google_Service_Plus_ActivityObjectAttachmentsThumbnailsImage $image) + { + $this->image = $image; + } + public function getImage() + { + return $this->image; + } + public function setUrl($url) + { + $this->url = $url; + } + public function getUrl() + { + return $this->url; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Plus/ActivityObjectAttachmentsThumbnailsImage.php b/vendor/google/apiclient-services/src/Google/Service/Plus/ActivityObjectAttachmentsThumbnailsImage.php new file mode 100644 index 00000000..b2355287 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Plus/ActivityObjectAttachmentsThumbnailsImage.php @@ -0,0 +1,57 @@ +height = $height; + } + public function getHeight() + { + return $this->height; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } + public function setUrl($url) + { + $this->url = $url; + } + public function getUrl() + { + return $this->url; + } + public function setWidth($width) + { + $this->width = $width; + } + public function getWidth() + { + return $this->width; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Plus/ActivityObjectPlusoners.php b/vendor/google/apiclient-services/src/Google/Service/Plus/ActivityObjectPlusoners.php new file mode 100644 index 00000000..9f6dae2f --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Plus/ActivityObjectPlusoners.php @@ -0,0 +1,39 @@ +selfLink = $selfLink; + } + public function getSelfLink() + { + return $this->selfLink; + } + public function setTotalItems($totalItems) + { + $this->totalItems = $totalItems; + } + public function getTotalItems() + { + return $this->totalItems; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Plus/ActivityObjectReplies.php b/vendor/google/apiclient-services/src/Google/Service/Plus/ActivityObjectReplies.php new file mode 100644 index 00000000..9c85fdd1 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Plus/ActivityObjectReplies.php @@ -0,0 +1,39 @@ +selfLink = $selfLink; + } + public function getSelfLink() + { + return $this->selfLink; + } + public function setTotalItems($totalItems) + { + $this->totalItems = $totalItems; + } + public function getTotalItems() + { + return $this->totalItems; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Plus/ActivityObjectResharers.php b/vendor/google/apiclient-services/src/Google/Service/Plus/ActivityObjectResharers.php new file mode 100644 index 00000000..1f87e81b --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Plus/ActivityObjectResharers.php @@ -0,0 +1,39 @@ +selfLink = $selfLink; + } + public function getSelfLink() + { + return $this->selfLink; + } + public function setTotalItems($totalItems) + { + $this->totalItems = $totalItems; + } + public function getTotalItems() + { + return $this->totalItems; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Plus/ActivityProvider.php b/vendor/google/apiclient-services/src/Google/Service/Plus/ActivityProvider.php new file mode 100644 index 00000000..cf192a33 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Plus/ActivityProvider.php @@ -0,0 +1,30 @@ +title = $title; + } + public function getTitle() + { + return $this->title; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Plus/Comment.php b/vendor/google/apiclient-services/src/Google/Service/Plus/Comment.php new file mode 100644 index 00000000..fa5c0f1c --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Plus/Comment.php @@ -0,0 +1,125 @@ +actor = $actor; + } + public function getActor() + { + return $this->actor; + } + public function setEtag($etag) + { + $this->etag = $etag; + } + public function getEtag() + { + return $this->etag; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setInReplyTo($inReplyTo) + { + $this->inReplyTo = $inReplyTo; + } + public function getInReplyTo() + { + return $this->inReplyTo; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setObject(Google_Service_Plus_CommentObject $object) + { + $this->object = $object; + } + public function getObject() + { + return $this->object; + } + public function setPlusoners(Google_Service_Plus_CommentPlusoners $plusoners) + { + $this->plusoners = $plusoners; + } + public function getPlusoners() + { + return $this->plusoners; + } + public function setPublished($published) + { + $this->published = $published; + } + public function getPublished() + { + return $this->published; + } + public function setSelfLink($selfLink) + { + $this->selfLink = $selfLink; + } + public function getSelfLink() + { + return $this->selfLink; + } + public function setUpdated($updated) + { + $this->updated = $updated; + } + public function getUpdated() + { + return $this->updated; + } + public function setVerb($verb) + { + $this->verb = $verb; + } + public function getVerb() + { + return $this->verb; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Plus/CommentActor.php b/vendor/google/apiclient-services/src/Google/Service/Plus/CommentActor.php new file mode 100644 index 00000000..e73f3bf3 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Plus/CommentActor.php @@ -0,0 +1,78 @@ +clientSpecificActorInfo = $clientSpecificActorInfo; + } + public function getClientSpecificActorInfo() + { + return $this->clientSpecificActorInfo; + } + public function setDisplayName($displayName) + { + $this->displayName = $displayName; + } + public function getDisplayName() + { + return $this->displayName; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setImage(Google_Service_Plus_CommentActorImage $image) + { + $this->image = $image; + } + public function getImage() + { + return $this->image; + } + public function setUrl($url) + { + $this->url = $url; + } + public function getUrl() + { + return $this->url; + } + public function setVerification(Google_Service_Plus_CommentActorVerification $verification) + { + $this->verification = $verification; + } + public function getVerification() + { + return $this->verification; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Plus/CommentActorClientSpecificActorInfo.php b/vendor/google/apiclient-services/src/Google/Service/Plus/CommentActorClientSpecificActorInfo.php new file mode 100644 index 00000000..836950ff --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Plus/CommentActorClientSpecificActorInfo.php @@ -0,0 +1,31 @@ +youtubeActorInfo = $youtubeActorInfo; + } + public function getYoutubeActorInfo() + { + return $this->youtubeActorInfo; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Plus/CommentActorClientSpecificActorInfoYoutubeActorInfo.php b/vendor/google/apiclient-services/src/Google/Service/Plus/CommentActorClientSpecificActorInfoYoutubeActorInfo.php new file mode 100644 index 00000000..bd055736 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Plus/CommentActorClientSpecificActorInfoYoutubeActorInfo.php @@ -0,0 +1,30 @@ +channelId = $channelId; + } + public function getChannelId() + { + return $this->channelId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Plus/CommentActorImage.php b/vendor/google/apiclient-services/src/Google/Service/Plus/CommentActorImage.php new file mode 100644 index 00000000..484506cc --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Plus/CommentActorImage.php @@ -0,0 +1,30 @@ +url = $url; + } + public function getUrl() + { + return $this->url; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Plus/CommentActorVerification.php b/vendor/google/apiclient-services/src/Google/Service/Plus/CommentActorVerification.php new file mode 100644 index 00000000..43436d9f --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Plus/CommentActorVerification.php @@ -0,0 +1,30 @@ +adHocVerified = $adHocVerified; + } + public function getAdHocVerified() + { + return $this->adHocVerified; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Plus/CommentFeed.php b/vendor/google/apiclient-services/src/Google/Service/Plus/CommentFeed.php new file mode 100644 index 00000000..e5a94f51 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Plus/CommentFeed.php @@ -0,0 +1,95 @@ +etag = $etag; + } + public function getEtag() + { + return $this->etag; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setItems($items) + { + $this->items = $items; + } + public function getItems() + { + return $this->items; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextLink($nextLink) + { + $this->nextLink = $nextLink; + } + public function getNextLink() + { + return $this->nextLink; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setTitle($title) + { + $this->title = $title; + } + public function getTitle() + { + return $this->title; + } + public function setUpdated($updated) + { + $this->updated = $updated; + } + public function getUpdated() + { + return $this->updated; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Plus/CommentInReplyTo.php b/vendor/google/apiclient-services/src/Google/Service/Plus/CommentInReplyTo.php new file mode 100644 index 00000000..8181cdf6 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Plus/CommentInReplyTo.php @@ -0,0 +1,39 @@ +id = $id; + } + public function getId() + { + return $this->id; + } + public function setUrl($url) + { + $this->url = $url; + } + public function getUrl() + { + return $this->url; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Plus/CommentObject.php b/vendor/google/apiclient-services/src/Google/Service/Plus/CommentObject.php new file mode 100644 index 00000000..89773d4b --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Plus/CommentObject.php @@ -0,0 +1,48 @@ +content = $content; + } + public function getContent() + { + return $this->content; + } + public function setObjectType($objectType) + { + $this->objectType = $objectType; + } + public function getObjectType() + { + return $this->objectType; + } + public function setOriginalContent($originalContent) + { + $this->originalContent = $originalContent; + } + public function getOriginalContent() + { + return $this->originalContent; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Plus/CommentPlusoners.php b/vendor/google/apiclient-services/src/Google/Service/Plus/CommentPlusoners.php new file mode 100644 index 00000000..2ab1ded9 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Plus/CommentPlusoners.php @@ -0,0 +1,30 @@ +totalItems = $totalItems; + } + public function getTotalItems() + { + return $this->totalItems; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Plus/PeopleFeed.php b/vendor/google/apiclient-services/src/Google/Service/Plus/PeopleFeed.php new file mode 100644 index 00000000..dcf19fc6 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Plus/PeopleFeed.php @@ -0,0 +1,86 @@ +etag = $etag; + } + public function getEtag() + { + return $this->etag; + } + public function setItems($items) + { + $this->items = $items; + } + public function getItems() + { + return $this->items; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setSelfLink($selfLink) + { + $this->selfLink = $selfLink; + } + public function getSelfLink() + { + return $this->selfLink; + } + public function setTitle($title) + { + $this->title = $title; + } + public function getTitle() + { + return $this->title; + } + public function setTotalItems($totalItems) + { + $this->totalItems = $totalItems; + } + public function getTotalItems() + { + return $this->totalItems; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Plus/Person.php b/vendor/google/apiclient-services/src/Google/Service/Plus/Person.php new file mode 100644 index 00000000..32592e12 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Plus/Person.php @@ -0,0 +1,300 @@ +aboutMe = $aboutMe; + } + public function getAboutMe() + { + return $this->aboutMe; + } + public function setAgeRange(Google_Service_Plus_PersonAgeRange $ageRange) + { + $this->ageRange = $ageRange; + } + public function getAgeRange() + { + return $this->ageRange; + } + public function setBirthday($birthday) + { + $this->birthday = $birthday; + } + public function getBirthday() + { + return $this->birthday; + } + public function setBraggingRights($braggingRights) + { + $this->braggingRights = $braggingRights; + } + public function getBraggingRights() + { + return $this->braggingRights; + } + public function setCircledByCount($circledByCount) + { + $this->circledByCount = $circledByCount; + } + public function getCircledByCount() + { + return $this->circledByCount; + } + public function setCover(Google_Service_Plus_PersonCover $cover) + { + $this->cover = $cover; + } + public function getCover() + { + return $this->cover; + } + public function setCurrentLocation($currentLocation) + { + $this->currentLocation = $currentLocation; + } + public function getCurrentLocation() + { + return $this->currentLocation; + } + public function setDisplayName($displayName) + { + $this->displayName = $displayName; + } + public function getDisplayName() + { + return $this->displayName; + } + public function setDomain($domain) + { + $this->domain = $domain; + } + public function getDomain() + { + return $this->domain; + } + public function setEmails($emails) + { + $this->emails = $emails; + } + public function getEmails() + { + return $this->emails; + } + public function setEtag($etag) + { + $this->etag = $etag; + } + public function getEtag() + { + return $this->etag; + } + public function setGender($gender) + { + $this->gender = $gender; + } + public function getGender() + { + return $this->gender; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setImage(Google_Service_Plus_PersonImage $image) + { + $this->image = $image; + } + public function getImage() + { + return $this->image; + } + public function setIsPlusUser($isPlusUser) + { + $this->isPlusUser = $isPlusUser; + } + public function getIsPlusUser() + { + return $this->isPlusUser; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setLanguage($language) + { + $this->language = $language; + } + public function getLanguage() + { + return $this->language; + } + public function setName(Google_Service_Plus_PersonName $name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setNickname($nickname) + { + $this->nickname = $nickname; + } + public function getNickname() + { + return $this->nickname; + } + public function setObjectType($objectType) + { + $this->objectType = $objectType; + } + public function getObjectType() + { + return $this->objectType; + } + public function setOccupation($occupation) + { + $this->occupation = $occupation; + } + public function getOccupation() + { + return $this->occupation; + } + public function setOrganizations($organizations) + { + $this->organizations = $organizations; + } + public function getOrganizations() + { + return $this->organizations; + } + public function setPlacesLived($placesLived) + { + $this->placesLived = $placesLived; + } + public function getPlacesLived() + { + return $this->placesLived; + } + public function setPlusOneCount($plusOneCount) + { + $this->plusOneCount = $plusOneCount; + } + public function getPlusOneCount() + { + return $this->plusOneCount; + } + public function setRelationshipStatus($relationshipStatus) + { + $this->relationshipStatus = $relationshipStatus; + } + public function getRelationshipStatus() + { + return $this->relationshipStatus; + } + public function setSkills($skills) + { + $this->skills = $skills; + } + public function getSkills() + { + return $this->skills; + } + public function setTagline($tagline) + { + $this->tagline = $tagline; + } + public function getTagline() + { + return $this->tagline; + } + public function setUrl($url) + { + $this->url = $url; + } + public function getUrl() + { + return $this->url; + } + public function setUrls($urls) + { + $this->urls = $urls; + } + public function getUrls() + { + return $this->urls; + } + public function setVerified($verified) + { + $this->verified = $verified; + } + public function getVerified() + { + return $this->verified; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Plus/PersonAgeRange.php b/vendor/google/apiclient-services/src/Google/Service/Plus/PersonAgeRange.php new file mode 100644 index 00000000..e4a00a23 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Plus/PersonAgeRange.php @@ -0,0 +1,39 @@ +max = $max; + } + public function getMax() + { + return $this->max; + } + public function setMin($min) + { + $this->min = $min; + } + public function getMin() + { + return $this->min; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Plus/PersonCover.php b/vendor/google/apiclient-services/src/Google/Service/Plus/PersonCover.php new file mode 100644 index 00000000..c8a53e7f --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Plus/PersonCover.php @@ -0,0 +1,50 @@ +coverInfo = $coverInfo; + } + public function getCoverInfo() + { + return $this->coverInfo; + } + public function setCoverPhoto(Google_Service_Plus_PersonCoverCoverPhoto $coverPhoto) + { + $this->coverPhoto = $coverPhoto; + } + public function getCoverPhoto() + { + return $this->coverPhoto; + } + public function setLayout($layout) + { + $this->layout = $layout; + } + public function getLayout() + { + return $this->layout; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Plus/PersonCoverCoverInfo.php b/vendor/google/apiclient-services/src/Google/Service/Plus/PersonCoverCoverInfo.php new file mode 100644 index 00000000..d5b55da1 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Plus/PersonCoverCoverInfo.php @@ -0,0 +1,39 @@ +leftImageOffset = $leftImageOffset; + } + public function getLeftImageOffset() + { + return $this->leftImageOffset; + } + public function setTopImageOffset($topImageOffset) + { + $this->topImageOffset = $topImageOffset; + } + public function getTopImageOffset() + { + return $this->topImageOffset; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Plus/PersonCoverCoverPhoto.php b/vendor/google/apiclient-services/src/Google/Service/Plus/PersonCoverCoverPhoto.php new file mode 100644 index 00000000..b22a93d3 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Plus/PersonCoverCoverPhoto.php @@ -0,0 +1,48 @@ +height = $height; + } + public function getHeight() + { + return $this->height; + } + public function setUrl($url) + { + $this->url = $url; + } + public function getUrl() + { + return $this->url; + } + public function setWidth($width) + { + $this->width = $width; + } + public function getWidth() + { + return $this->width; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Plus/PersonEmails.php b/vendor/google/apiclient-services/src/Google/Service/Plus/PersonEmails.php new file mode 100644 index 00000000..b1141224 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Plus/PersonEmails.php @@ -0,0 +1,39 @@ +type = $type; + } + public function getType() + { + return $this->type; + } + public function setValue($value) + { + $this->value = $value; + } + public function getValue() + { + return $this->value; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Plus/PersonImage.php b/vendor/google/apiclient-services/src/Google/Service/Plus/PersonImage.php new file mode 100644 index 00000000..cf086abe --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Plus/PersonImage.php @@ -0,0 +1,39 @@ +isDefault = $isDefault; + } + public function getIsDefault() + { + return $this->isDefault; + } + public function setUrl($url) + { + $this->url = $url; + } + public function getUrl() + { + return $this->url; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Plus/PersonName.php b/vendor/google/apiclient-services/src/Google/Service/Plus/PersonName.php new file mode 100644 index 00000000..a8a4067d --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Plus/PersonName.php @@ -0,0 +1,75 @@ +familyName = $familyName; + } + public function getFamilyName() + { + return $this->familyName; + } + public function setFormatted($formatted) + { + $this->formatted = $formatted; + } + public function getFormatted() + { + return $this->formatted; + } + public function setGivenName($givenName) + { + $this->givenName = $givenName; + } + public function getGivenName() + { + return $this->givenName; + } + public function setHonorificPrefix($honorificPrefix) + { + $this->honorificPrefix = $honorificPrefix; + } + public function getHonorificPrefix() + { + return $this->honorificPrefix; + } + public function setHonorificSuffix($honorificSuffix) + { + $this->honorificSuffix = $honorificSuffix; + } + public function getHonorificSuffix() + { + return $this->honorificSuffix; + } + public function setMiddleName($middleName) + { + $this->middleName = $middleName; + } + public function getMiddleName() + { + return $this->middleName; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Plus/PersonOrganizations.php b/vendor/google/apiclient-services/src/Google/Service/Plus/PersonOrganizations.php new file mode 100644 index 00000000..a0a6f12c --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Plus/PersonOrganizations.php @@ -0,0 +1,102 @@ +department = $department; + } + public function getDepartment() + { + return $this->department; + } + public function setDescription($description) + { + $this->description = $description; + } + public function getDescription() + { + return $this->description; + } + public function setEndDate($endDate) + { + $this->endDate = $endDate; + } + public function getEndDate() + { + return $this->endDate; + } + public function setLocation($location) + { + $this->location = $location; + } + public function getLocation() + { + return $this->location; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setPrimary($primary) + { + $this->primary = $primary; + } + public function getPrimary() + { + return $this->primary; + } + public function setStartDate($startDate) + { + $this->startDate = $startDate; + } + public function getStartDate() + { + return $this->startDate; + } + public function setTitle($title) + { + $this->title = $title; + } + public function getTitle() + { + return $this->title; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Plus/PersonPlacesLived.php b/vendor/google/apiclient-services/src/Google/Service/Plus/PersonPlacesLived.php new file mode 100644 index 00000000..1055e4c2 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Plus/PersonPlacesLived.php @@ -0,0 +1,39 @@ +primary = $primary; + } + public function getPrimary() + { + return $this->primary; + } + public function setValue($value) + { + $this->value = $value; + } + public function getValue() + { + return $this->value; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Plus/PersonUrls.php b/vendor/google/apiclient-services/src/Google/Service/Plus/PersonUrls.php new file mode 100644 index 00000000..aa028e79 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Plus/PersonUrls.php @@ -0,0 +1,48 @@ +label = $label; + } + public function getLabel() + { + return $this->label; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } + public function setValue($value) + { + $this->value = $value; + } + public function getValue() + { + return $this->value; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Plus/Place.php b/vendor/google/apiclient-services/src/Google/Service/Plus/Place.php new file mode 100644 index 00000000..978bc414 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Plus/Place.php @@ -0,0 +1,68 @@ +address = $address; + } + public function getAddress() + { + return $this->address; + } + public function setDisplayName($displayName) + { + $this->displayName = $displayName; + } + public function getDisplayName() + { + return $this->displayName; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setPosition(Google_Service_Plus_PlacePosition $position) + { + $this->position = $position; + } + public function getPosition() + { + return $this->position; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Plus/PlaceAddress.php b/vendor/google/apiclient-services/src/Google/Service/Plus/PlaceAddress.php new file mode 100644 index 00000000..78c4beac --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Plus/PlaceAddress.php @@ -0,0 +1,30 @@ +formatted = $formatted; + } + public function getFormatted() + { + return $this->formatted; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Plus/PlacePosition.php b/vendor/google/apiclient-services/src/Google/Service/Plus/PlacePosition.php new file mode 100644 index 00000000..29ef840e --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Plus/PlacePosition.php @@ -0,0 +1,39 @@ +latitude = $latitude; + } + public function getLatitude() + { + return $this->latitude; + } + public function setLongitude($longitude) + { + $this->longitude = $longitude; + } + public function getLongitude() + { + return $this->longitude; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Plus/PlusAclentryResource.php b/vendor/google/apiclient-services/src/Google/Service/Plus/PlusAclentryResource.php new file mode 100644 index 00000000..40c07d21 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Plus/PlusAclentryResource.php @@ -0,0 +1,48 @@ +displayName = $displayName; + } + public function getDisplayName() + { + return $this->displayName; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Plus/Resource/Activities.php b/vendor/google/apiclient-services/src/Google/Service/Plus/Resource/Activities.php new file mode 100644 index 00000000..db22c401 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Plus/Resource/Activities.php @@ -0,0 +1,88 @@ + + * $plusService = new Google_Service_Plus(...); + * $activities = $plusService->activities; + * + */ +class Google_Service_Plus_Resource_Activities extends Google_Service_Resource +{ + /** + * Get an activity. (activities.get) + * + * @param string $activityId The ID of the activity to get. + * @param array $optParams Optional parameters. + * @return Google_Service_Plus_Activity + */ + public function get($activityId, $optParams = array()) + { + $params = array('activityId' => $activityId); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Plus_Activity"); + } + /** + * List all of the activities in the specified collection for a particular user. + * (activities.listActivities) + * + * @param string $userId The ID of the user to get activities for. The special + * value "me" can be used to indicate the authenticated user. + * @param string $collection The collection of activities to list. + * @param array $optParams Optional parameters. + * + * @opt_param string maxResults The maximum number of activities to include in + * the response, which is used for paging. For any response, the actual number + * returned might be less than the specified maxResults. + * @opt_param string pageToken The continuation token, which is used to page + * through large result sets. To get the next page of results, set this + * parameter to the value of "nextPageToken" from the previous response. + * @return Google_Service_Plus_ActivityFeed + */ + public function listActivities($userId, $collection, $optParams = array()) + { + $params = array('userId' => $userId, 'collection' => $collection); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Plus_ActivityFeed"); + } + /** + * Search public activities. (activities.search) + * + * @param string $query Full-text search query string. + * @param array $optParams Optional parameters. + * + * @opt_param string language Specify the preferred language to search with. See + * search language codes for available values. + * @opt_param string maxResults The maximum number of activities to include in + * the response, which is used for paging. For any response, the actual number + * returned might be less than the specified maxResults. + * @opt_param string orderBy Specifies how to order search results. + * @opt_param string pageToken The continuation token, which is used to page + * through large result sets. To get the next page of results, set this + * parameter to the value of "nextPageToken" from the previous response. This + * token can be of any length. + * @return Google_Service_Plus_ActivityFeed + */ + public function search($query, $optParams = array()) + { + $params = array('query' => $query); + $params = array_merge($params, $optParams); + return $this->call('search', array($params), "Google_Service_Plus_ActivityFeed"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Plus/Resource/Comments.php b/vendor/google/apiclient-services/src/Google/Service/Plus/Resource/Comments.php new file mode 100644 index 00000000..ca93d62a --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Plus/Resource/Comments.php @@ -0,0 +1,62 @@ + + * $plusService = new Google_Service_Plus(...); + * $comments = $plusService->comments; + * + */ +class Google_Service_Plus_Resource_Comments extends Google_Service_Resource +{ + /** + * Get a comment. (comments.get) + * + * @param string $commentId The ID of the comment to get. + * @param array $optParams Optional parameters. + * @return Google_Service_Plus_Comment + */ + public function get($commentId, $optParams = array()) + { + $params = array('commentId' => $commentId); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Plus_Comment"); + } + /** + * List all of the comments for an activity. (comments.listComments) + * + * @param string $activityId The ID of the activity to get comments for. + * @param array $optParams Optional parameters. + * + * @opt_param string maxResults The maximum number of comments to include in the + * response, which is used for paging. For any response, the actual number + * returned might be less than the specified maxResults. + * @opt_param string pageToken The continuation token, which is used to page + * through large result sets. To get the next page of results, set this + * parameter to the value of "nextPageToken" from the previous response. + * @opt_param string sortOrder The order in which to sort the list of comments. + * @return Google_Service_Plus_CommentFeed + */ + public function listComments($activityId, $optParams = array()) + { + $params = array('activityId' => $activityId); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Plus_CommentFeed"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Plus/Resource/People.php b/vendor/google/apiclient-services/src/Google/Service/Plus/Resource/People.php new file mode 100644 index 00000000..0874bb8a --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Plus/Resource/People.php @@ -0,0 +1,114 @@ + + * $plusService = new Google_Service_Plus(...); + * $people = $plusService->people; + * + */ +class Google_Service_Plus_Resource_People extends Google_Service_Resource +{ + /** + * Get a person's profile. If your app uses scope + * https://www.googleapis.com/auth/plus.login, this method is guaranteed to + * return ageRange and language. (people.get) + * + * @param string $userId The ID of the person to get the profile for. The + * special value "me" can be used to indicate the authenticated user. + * @param array $optParams Optional parameters. + * @return Google_Service_Plus_Person + */ + public function get($userId, $optParams = array()) + { + $params = array('userId' => $userId); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Plus_Person"); + } + /** + * List all of the people in the specified collection. (people.listPeople) + * + * @param string $userId Get the collection of people for the person identified. + * Use "me" to indicate the authenticated user. + * @param string $collection The collection of people to list. + * @param array $optParams Optional parameters. + * + * @opt_param string maxResults The maximum number of people to include in the + * response, which is used for paging. For any response, the actual number + * returned might be less than the specified maxResults. + * @opt_param string orderBy The order to return people in. + * @opt_param string pageToken The continuation token, which is used to page + * through large result sets. To get the next page of results, set this + * parameter to the value of "nextPageToken" from the previous response. + * @return Google_Service_Plus_PeopleFeed + */ + public function listPeople($userId, $collection, $optParams = array()) + { + $params = array('userId' => $userId, 'collection' => $collection); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Plus_PeopleFeed"); + } + /** + * List all of the people in the specified collection for a particular activity. + * (people.listByActivity) + * + * @param string $activityId The ID of the activity to get the list of people + * for. + * @param string $collection The collection of people to list. + * @param array $optParams Optional parameters. + * + * @opt_param string maxResults The maximum number of people to include in the + * response, which is used for paging. For any response, the actual number + * returned might be less than the specified maxResults. + * @opt_param string pageToken The continuation token, which is used to page + * through large result sets. To get the next page of results, set this + * parameter to the value of "nextPageToken" from the previous response. + * @return Google_Service_Plus_PeopleFeed + */ + public function listByActivity($activityId, $collection, $optParams = array()) + { + $params = array('activityId' => $activityId, 'collection' => $collection); + $params = array_merge($params, $optParams); + return $this->call('listByActivity', array($params), "Google_Service_Plus_PeopleFeed"); + } + /** + * Search all public profiles. (people.search) + * + * @param string $query Specify a query string for full text search of public + * text in all profiles. + * @param array $optParams Optional parameters. + * + * @opt_param string language Specify the preferred language to search with. See + * search language codes for available values. + * @opt_param string maxResults The maximum number of people to include in the + * response, which is used for paging. For any response, the actual number + * returned might be less than the specified maxResults. + * @opt_param string pageToken The continuation token, which is used to page + * through large result sets. To get the next page of results, set this + * parameter to the value of "nextPageToken" from the previous response. This + * token can be of any length. + * @return Google_Service_Plus_PeopleFeed + */ + public function search($query, $optParams = array()) + { + $params = array('query' => $query); + $params = array_merge($params, $optParams); + return $this->call('search', array($params), "Google_Service_Plus_PeopleFeed"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/PlusDomains.php b/vendor/google/apiclient-services/src/Google/Service/PlusDomains.php new file mode 100644 index 00000000..0b7ed0bb --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/PlusDomains.php @@ -0,0 +1,453 @@ + + * Builds on top of the Google+ platform for Google Apps Domains.

+ * + *

+ * For more information about this service, see the API + * Documentation + *

+ * + * @author Google, Inc. + */ +class Google_Service_PlusDomains extends Google_Service +{ + /** View your circles and the people and pages in them. */ + const PLUS_CIRCLES_READ = + "https://www.googleapis.com/auth/plus.circles.read"; + /** Manage your circles and add people and pages. People and pages you add to your circles will be notified. Others may see this information publicly. People you add to circles can use Hangouts with you.. */ + const PLUS_CIRCLES_WRITE = + "https://www.googleapis.com/auth/plus.circles.write"; + /** Know the list of people in your circles, your age range, and language. */ + const PLUS_LOGIN = + "https://www.googleapis.com/auth/plus.login"; + /** Know who you are on Google. */ + const PLUS_ME = + "https://www.googleapis.com/auth/plus.me"; + /** Send your photos and videos to Google+. */ + const PLUS_MEDIA_UPLOAD = + "https://www.googleapis.com/auth/plus.media.upload"; + /** View your own Google+ profile and profiles visible to you. */ + const PLUS_PROFILES_READ = + "https://www.googleapis.com/auth/plus.profiles.read"; + /** View your Google+ posts, comments, and stream. */ + const PLUS_STREAM_READ = + "https://www.googleapis.com/auth/plus.stream.read"; + /** Manage your Google+ posts, comments, and stream. */ + const PLUS_STREAM_WRITE = + "https://www.googleapis.com/auth/plus.stream.write"; + /** View your email address. */ + const USERINFO_EMAIL = + "https://www.googleapis.com/auth/userinfo.email"; + /** View your basic profile info. */ + const USERINFO_PROFILE = + "https://www.googleapis.com/auth/userinfo.profile"; + + public $activities; + public $audiences; + public $circles; + public $comments; + public $media; + public $people; + + /** + * Constructs the internal representation of the PlusDomains service. + * + * @param Google_Client $client + */ + public function __construct(Google_Client $client) + { + parent::__construct($client); + $this->rootUrl = 'https://www.googleapis.com/'; + $this->servicePath = 'plusDomains/v1/'; + $this->version = 'v1'; + $this->serviceName = 'plusDomains'; + + $this->activities = new Google_Service_PlusDomains_Resource_Activities( + $this, + $this->serviceName, + 'activities', + array( + 'methods' => array( + 'get' => array( + 'path' => 'activities/{activityId}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'activityId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'insert' => array( + 'path' => 'people/{userId}/activities', + 'httpMethod' => 'POST', + 'parameters' => array( + 'userId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'preview' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + ), + ),'list' => array( + 'path' => 'people/{userId}/activities/{collection}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'userId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'collection' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + $this->audiences = new Google_Service_PlusDomains_Resource_Audiences( + $this, + $this->serviceName, + 'audiences', + array( + 'methods' => array( + 'list' => array( + 'path' => 'people/{userId}/audiences', + 'httpMethod' => 'GET', + 'parameters' => array( + 'userId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + $this->circles = new Google_Service_PlusDomains_Resource_Circles( + $this, + $this->serviceName, + 'circles', + array( + 'methods' => array( + 'addPeople' => array( + 'path' => 'circles/{circleId}/people', + 'httpMethod' => 'PUT', + 'parameters' => array( + 'circleId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'email' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + ), + 'userId' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + ), + ), + ),'get' => array( + 'path' => 'circles/{circleId}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'circleId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'insert' => array( + 'path' => 'people/{userId}/circles', + 'httpMethod' => 'POST', + 'parameters' => array( + 'userId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'people/{userId}/circles', + 'httpMethod' => 'GET', + 'parameters' => array( + 'userId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'patch' => array( + 'path' => 'circles/{circleId}', + 'httpMethod' => 'PATCH', + 'parameters' => array( + 'circleId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'remove' => array( + 'path' => 'circles/{circleId}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'circleId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'removePeople' => array( + 'path' => 'circles/{circleId}/people', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'circleId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'email' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + ), + 'userId' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + ), + ), + ),'update' => array( + 'path' => 'circles/{circleId}', + 'httpMethod' => 'PUT', + 'parameters' => array( + 'circleId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->comments = new Google_Service_PlusDomains_Resource_Comments( + $this, + $this->serviceName, + 'comments', + array( + 'methods' => array( + 'get' => array( + 'path' => 'comments/{commentId}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'commentId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'insert' => array( + 'path' => 'activities/{activityId}/comments', + 'httpMethod' => 'POST', + 'parameters' => array( + 'activityId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'activities/{activityId}/comments', + 'httpMethod' => 'GET', + 'parameters' => array( + 'activityId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'sortOrder' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + $this->media = new Google_Service_PlusDomains_Resource_Media( + $this, + $this->serviceName, + 'media', + array( + 'methods' => array( + 'insert' => array( + 'path' => 'people/{userId}/media/{collection}', + 'httpMethod' => 'POST', + 'parameters' => array( + 'userId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'collection' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->people = new Google_Service_PlusDomains_Resource_People( + $this, + $this->serviceName, + 'people', + array( + 'methods' => array( + 'get' => array( + 'path' => 'people/{userId}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'userId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'people/{userId}/people/{collection}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'userId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'collection' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'orderBy' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'listByActivity' => array( + 'path' => 'activities/{activityId}/people/{collection}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'activityId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'collection' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'listByCircle' => array( + 'path' => 'circles/{circleId}/people', + 'httpMethod' => 'GET', + 'parameters' => array( + 'circleId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/PlusDomains/Acl.php b/vendor/google/apiclient-services/src/Google/Service/PlusDomains/Acl.php new file mode 100644 index 00000000..b60f0c80 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/PlusDomains/Acl.php @@ -0,0 +1,59 @@ +description = $description; + } + public function getDescription() + { + return $this->description; + } + public function setDomainRestricted($domainRestricted) + { + $this->domainRestricted = $domainRestricted; + } + public function getDomainRestricted() + { + return $this->domainRestricted; + } + public function setItems($items) + { + $this->items = $items; + } + public function getItems() + { + return $this->items; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/PlusDomains/Activity.php b/vendor/google/apiclient-services/src/Google/Service/PlusDomains/Activity.php new file mode 100644 index 00000000..1f2df37e --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/PlusDomains/Activity.php @@ -0,0 +1,206 @@ +access = $access; + } + public function getAccess() + { + return $this->access; + } + public function setActor(Google_Service_PlusDomains_ActivityActor $actor) + { + $this->actor = $actor; + } + public function getActor() + { + return $this->actor; + } + public function setAddress($address) + { + $this->address = $address; + } + public function getAddress() + { + return $this->address; + } + public function setAnnotation($annotation) + { + $this->annotation = $annotation; + } + public function getAnnotation() + { + return $this->annotation; + } + public function setCrosspostSource($crosspostSource) + { + $this->crosspostSource = $crosspostSource; + } + public function getCrosspostSource() + { + return $this->crosspostSource; + } + public function setEtag($etag) + { + $this->etag = $etag; + } + public function getEtag() + { + return $this->etag; + } + public function setGeocode($geocode) + { + $this->geocode = $geocode; + } + public function getGeocode() + { + return $this->geocode; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setLocation(Google_Service_PlusDomains_Place $location) + { + $this->location = $location; + } + public function getLocation() + { + return $this->location; + } + public function setObject(Google_Service_PlusDomains_ActivityObject $object) + { + $this->object = $object; + } + public function getObject() + { + return $this->object; + } + public function setPlaceId($placeId) + { + $this->placeId = $placeId; + } + public function getPlaceId() + { + return $this->placeId; + } + public function setPlaceName($placeName) + { + $this->placeName = $placeName; + } + public function getPlaceName() + { + return $this->placeName; + } + public function setProvider(Google_Service_PlusDomains_ActivityProvider $provider) + { + $this->provider = $provider; + } + public function getProvider() + { + return $this->provider; + } + public function setPublished($published) + { + $this->published = $published; + } + public function getPublished() + { + return $this->published; + } + public function setRadius($radius) + { + $this->radius = $radius; + } + public function getRadius() + { + return $this->radius; + } + public function setTitle($title) + { + $this->title = $title; + } + public function getTitle() + { + return $this->title; + } + public function setUpdated($updated) + { + $this->updated = $updated; + } + public function getUpdated() + { + return $this->updated; + } + public function setUrl($url) + { + $this->url = $url; + } + public function getUrl() + { + return $this->url; + } + public function setVerb($verb) + { + $this->verb = $verb; + } + public function getVerb() + { + return $this->verb; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/PlusDomains/ActivityActor.php b/vendor/google/apiclient-services/src/Google/Service/PlusDomains/ActivityActor.php new file mode 100644 index 00000000..97e58265 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/PlusDomains/ActivityActor.php @@ -0,0 +1,88 @@ +clientSpecificActorInfo = $clientSpecificActorInfo; + } + public function getClientSpecificActorInfo() + { + return $this->clientSpecificActorInfo; + } + public function setDisplayName($displayName) + { + $this->displayName = $displayName; + } + public function getDisplayName() + { + return $this->displayName; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setImage(Google_Service_PlusDomains_ActivityActorImage $image) + { + $this->image = $image; + } + public function getImage() + { + return $this->image; + } + public function setName(Google_Service_PlusDomains_ActivityActorName $name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setUrl($url) + { + $this->url = $url; + } + public function getUrl() + { + return $this->url; + } + public function setVerification(Google_Service_PlusDomains_ActivityActorVerification $verification) + { + $this->verification = $verification; + } + public function getVerification() + { + return $this->verification; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/PlusDomains/ActivityActorClientSpecificActorInfo.php b/vendor/google/apiclient-services/src/Google/Service/PlusDomains/ActivityActorClientSpecificActorInfo.php new file mode 100644 index 00000000..bba5a0dc --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/PlusDomains/ActivityActorClientSpecificActorInfo.php @@ -0,0 +1,31 @@ +youtubeActorInfo = $youtubeActorInfo; + } + public function getYoutubeActorInfo() + { + return $this->youtubeActorInfo; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/PlusDomains/ActivityActorClientSpecificActorInfoYoutubeActorInfo.php b/vendor/google/apiclient-services/src/Google/Service/PlusDomains/ActivityActorClientSpecificActorInfoYoutubeActorInfo.php new file mode 100644 index 00000000..1d255ac4 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/PlusDomains/ActivityActorClientSpecificActorInfoYoutubeActorInfo.php @@ -0,0 +1,30 @@ +channelId = $channelId; + } + public function getChannelId() + { + return $this->channelId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/PlusDomains/ActivityActorImage.php b/vendor/google/apiclient-services/src/Google/Service/PlusDomains/ActivityActorImage.php new file mode 100644 index 00000000..a752b05d --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/PlusDomains/ActivityActorImage.php @@ -0,0 +1,30 @@ +url = $url; + } + public function getUrl() + { + return $this->url; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/PlusDomains/ActivityActorName.php b/vendor/google/apiclient-services/src/Google/Service/PlusDomains/ActivityActorName.php new file mode 100644 index 00000000..ed035fea --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/PlusDomains/ActivityActorName.php @@ -0,0 +1,39 @@ +familyName = $familyName; + } + public function getFamilyName() + { + return $this->familyName; + } + public function setGivenName($givenName) + { + $this->givenName = $givenName; + } + public function getGivenName() + { + return $this->givenName; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/PlusDomains/ActivityActorVerification.php b/vendor/google/apiclient-services/src/Google/Service/PlusDomains/ActivityActorVerification.php new file mode 100644 index 00000000..db86d0b2 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/PlusDomains/ActivityActorVerification.php @@ -0,0 +1,30 @@ +adHocVerified = $adHocVerified; + } + public function getAdHocVerified() + { + return $this->adHocVerified; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/PlusDomains/ActivityFeed.php b/vendor/google/apiclient-services/src/Google/Service/PlusDomains/ActivityFeed.php new file mode 100644 index 00000000..9b163b44 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/PlusDomains/ActivityFeed.php @@ -0,0 +1,104 @@ +etag = $etag; + } + public function getEtag() + { + return $this->etag; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setItems($items) + { + $this->items = $items; + } + public function getItems() + { + return $this->items; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextLink($nextLink) + { + $this->nextLink = $nextLink; + } + public function getNextLink() + { + return $this->nextLink; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setSelfLink($selfLink) + { + $this->selfLink = $selfLink; + } + public function getSelfLink() + { + return $this->selfLink; + } + public function setTitle($title) + { + $this->title = $title; + } + public function getTitle() + { + return $this->title; + } + public function setUpdated($updated) + { + $this->updated = $updated; + } + public function getUpdated() + { + return $this->updated; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/PlusDomains/ActivityObject.php b/vendor/google/apiclient-services/src/Google/Service/PlusDomains/ActivityObject.php new file mode 100644 index 00000000..a8bc9b86 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/PlusDomains/ActivityObject.php @@ -0,0 +1,127 @@ +actor = $actor; + } + public function getActor() + { + return $this->actor; + } + public function setAttachments($attachments) + { + $this->attachments = $attachments; + } + public function getAttachments() + { + return $this->attachments; + } + public function setContent($content) + { + $this->content = $content; + } + public function getContent() + { + return $this->content; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setObjectType($objectType) + { + $this->objectType = $objectType; + } + public function getObjectType() + { + return $this->objectType; + } + public function setOriginalContent($originalContent) + { + $this->originalContent = $originalContent; + } + public function getOriginalContent() + { + return $this->originalContent; + } + public function setPlusoners(Google_Service_PlusDomains_ActivityObjectPlusoners $plusoners) + { + $this->plusoners = $plusoners; + } + public function getPlusoners() + { + return $this->plusoners; + } + public function setReplies(Google_Service_PlusDomains_ActivityObjectReplies $replies) + { + $this->replies = $replies; + } + public function getReplies() + { + return $this->replies; + } + public function setResharers(Google_Service_PlusDomains_ActivityObjectResharers $resharers) + { + $this->resharers = $resharers; + } + public function getResharers() + { + return $this->resharers; + } + public function setStatusForViewer(Google_Service_PlusDomains_ActivityObjectStatusForViewer $statusForViewer) + { + $this->statusForViewer = $statusForViewer; + } + public function getStatusForViewer() + { + return $this->statusForViewer; + } + public function setUrl($url) + { + $this->url = $url; + } + public function getUrl() + { + return $this->url; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/PlusDomains/ActivityObjectActor.php b/vendor/google/apiclient-services/src/Google/Service/PlusDomains/ActivityObjectActor.php new file mode 100644 index 00000000..9376ad40 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/PlusDomains/ActivityObjectActor.php @@ -0,0 +1,78 @@ +clientSpecificActorInfo = $clientSpecificActorInfo; + } + public function getClientSpecificActorInfo() + { + return $this->clientSpecificActorInfo; + } + public function setDisplayName($displayName) + { + $this->displayName = $displayName; + } + public function getDisplayName() + { + return $this->displayName; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setImage(Google_Service_PlusDomains_ActivityObjectActorImage $image) + { + $this->image = $image; + } + public function getImage() + { + return $this->image; + } + public function setUrl($url) + { + $this->url = $url; + } + public function getUrl() + { + return $this->url; + } + public function setVerification(Google_Service_PlusDomains_ActivityObjectActorVerification $verification) + { + $this->verification = $verification; + } + public function getVerification() + { + return $this->verification; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/PlusDomains/ActivityObjectActorClientSpecificActorInfo.php b/vendor/google/apiclient-services/src/Google/Service/PlusDomains/ActivityObjectActorClientSpecificActorInfo.php new file mode 100644 index 00000000..0188e502 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/PlusDomains/ActivityObjectActorClientSpecificActorInfo.php @@ -0,0 +1,31 @@ +youtubeActorInfo = $youtubeActorInfo; + } + public function getYoutubeActorInfo() + { + return $this->youtubeActorInfo; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/PlusDomains/ActivityObjectActorClientSpecificActorInfoYoutubeActorInfo.php b/vendor/google/apiclient-services/src/Google/Service/PlusDomains/ActivityObjectActorClientSpecificActorInfoYoutubeActorInfo.php new file mode 100644 index 00000000..1105e125 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/PlusDomains/ActivityObjectActorClientSpecificActorInfoYoutubeActorInfo.php @@ -0,0 +1,30 @@ +channelId = $channelId; + } + public function getChannelId() + { + return $this->channelId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/PlusDomains/ActivityObjectActorImage.php b/vendor/google/apiclient-services/src/Google/Service/PlusDomains/ActivityObjectActorImage.php new file mode 100644 index 00000000..f0ff502c --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/PlusDomains/ActivityObjectActorImage.php @@ -0,0 +1,30 @@ +url = $url; + } + public function getUrl() + { + return $this->url; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/PlusDomains/ActivityObjectActorVerification.php b/vendor/google/apiclient-services/src/Google/Service/PlusDomains/ActivityObjectActorVerification.php new file mode 100644 index 00000000..e1586982 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/PlusDomains/ActivityObjectActorVerification.php @@ -0,0 +1,30 @@ +adHocVerified = $adHocVerified; + } + public function getAdHocVerified() + { + return $this->adHocVerified; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/PlusDomains/ActivityObjectAttachments.php b/vendor/google/apiclient-services/src/Google/Service/PlusDomains/ActivityObjectAttachments.php new file mode 100644 index 00000000..3a0e9ebd --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/PlusDomains/ActivityObjectAttachments.php @@ -0,0 +1,117 @@ +content = $content; + } + public function getContent() + { + return $this->content; + } + public function setDisplayName($displayName) + { + $this->displayName = $displayName; + } + public function getDisplayName() + { + return $this->displayName; + } + public function setEmbed(Google_Service_PlusDomains_ActivityObjectAttachmentsEmbed $embed) + { + $this->embed = $embed; + } + public function getEmbed() + { + return $this->embed; + } + public function setFullImage(Google_Service_PlusDomains_ActivityObjectAttachmentsFullImage $fullImage) + { + $this->fullImage = $fullImage; + } + public function getFullImage() + { + return $this->fullImage; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setImage(Google_Service_PlusDomains_ActivityObjectAttachmentsImage $image) + { + $this->image = $image; + } + public function getImage() + { + return $this->image; + } + public function setObjectType($objectType) + { + $this->objectType = $objectType; + } + public function getObjectType() + { + return $this->objectType; + } + public function setPreviewThumbnails($previewThumbnails) + { + $this->previewThumbnails = $previewThumbnails; + } + public function getPreviewThumbnails() + { + return $this->previewThumbnails; + } + public function setThumbnails($thumbnails) + { + $this->thumbnails = $thumbnails; + } + public function getThumbnails() + { + return $this->thumbnails; + } + public function setUrl($url) + { + $this->url = $url; + } + public function getUrl() + { + return $this->url; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/PlusDomains/ActivityObjectAttachmentsEmbed.php b/vendor/google/apiclient-services/src/Google/Service/PlusDomains/ActivityObjectAttachmentsEmbed.php new file mode 100644 index 00000000..c2c0c591 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/PlusDomains/ActivityObjectAttachmentsEmbed.php @@ -0,0 +1,39 @@ +type = $type; + } + public function getType() + { + return $this->type; + } + public function setUrl($url) + { + $this->url = $url; + } + public function getUrl() + { + return $this->url; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/PlusDomains/ActivityObjectAttachmentsFullImage.php b/vendor/google/apiclient-services/src/Google/Service/PlusDomains/ActivityObjectAttachmentsFullImage.php new file mode 100644 index 00000000..f06394f8 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/PlusDomains/ActivityObjectAttachmentsFullImage.php @@ -0,0 +1,57 @@ +height = $height; + } + public function getHeight() + { + return $this->height; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } + public function setUrl($url) + { + $this->url = $url; + } + public function getUrl() + { + return $this->url; + } + public function setWidth($width) + { + $this->width = $width; + } + public function getWidth() + { + return $this->width; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/PlusDomains/ActivityObjectAttachmentsImage.php b/vendor/google/apiclient-services/src/Google/Service/PlusDomains/ActivityObjectAttachmentsImage.php new file mode 100644 index 00000000..60ece099 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/PlusDomains/ActivityObjectAttachmentsImage.php @@ -0,0 +1,57 @@ +height = $height; + } + public function getHeight() + { + return $this->height; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } + public function setUrl($url) + { + $this->url = $url; + } + public function getUrl() + { + return $this->url; + } + public function setWidth($width) + { + $this->width = $width; + } + public function getWidth() + { + return $this->width; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/PlusDomains/ActivityObjectAttachmentsPreviewThumbnails.php b/vendor/google/apiclient-services/src/Google/Service/PlusDomains/ActivityObjectAttachmentsPreviewThumbnails.php new file mode 100644 index 00000000..f67f0f5b --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/PlusDomains/ActivityObjectAttachmentsPreviewThumbnails.php @@ -0,0 +1,30 @@ +url = $url; + } + public function getUrl() + { + return $this->url; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/PlusDomains/ActivityObjectAttachmentsThumbnails.php b/vendor/google/apiclient-services/src/Google/Service/PlusDomains/ActivityObjectAttachmentsThumbnails.php new file mode 100644 index 00000000..3196e4d9 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/PlusDomains/ActivityObjectAttachmentsThumbnails.php @@ -0,0 +1,49 @@ +description = $description; + } + public function getDescription() + { + return $this->description; + } + public function setImage(Google_Service_PlusDomains_ActivityObjectAttachmentsThumbnailsImage $image) + { + $this->image = $image; + } + public function getImage() + { + return $this->image; + } + public function setUrl($url) + { + $this->url = $url; + } + public function getUrl() + { + return $this->url; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/PlusDomains/ActivityObjectAttachmentsThumbnailsImage.php b/vendor/google/apiclient-services/src/Google/Service/PlusDomains/ActivityObjectAttachmentsThumbnailsImage.php new file mode 100644 index 00000000..70e1c5de --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/PlusDomains/ActivityObjectAttachmentsThumbnailsImage.php @@ -0,0 +1,57 @@ +height = $height; + } + public function getHeight() + { + return $this->height; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } + public function setUrl($url) + { + $this->url = $url; + } + public function getUrl() + { + return $this->url; + } + public function setWidth($width) + { + $this->width = $width; + } + public function getWidth() + { + return $this->width; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/PlusDomains/ActivityObjectPlusoners.php b/vendor/google/apiclient-services/src/Google/Service/PlusDomains/ActivityObjectPlusoners.php new file mode 100644 index 00000000..62b2ebfd --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/PlusDomains/ActivityObjectPlusoners.php @@ -0,0 +1,39 @@ +selfLink = $selfLink; + } + public function getSelfLink() + { + return $this->selfLink; + } + public function setTotalItems($totalItems) + { + $this->totalItems = $totalItems; + } + public function getTotalItems() + { + return $this->totalItems; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/PlusDomains/ActivityObjectReplies.php b/vendor/google/apiclient-services/src/Google/Service/PlusDomains/ActivityObjectReplies.php new file mode 100644 index 00000000..d4cbbe49 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/PlusDomains/ActivityObjectReplies.php @@ -0,0 +1,39 @@ +selfLink = $selfLink; + } + public function getSelfLink() + { + return $this->selfLink; + } + public function setTotalItems($totalItems) + { + $this->totalItems = $totalItems; + } + public function getTotalItems() + { + return $this->totalItems; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/PlusDomains/ActivityObjectResharers.php b/vendor/google/apiclient-services/src/Google/Service/PlusDomains/ActivityObjectResharers.php new file mode 100644 index 00000000..afc2a9e3 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/PlusDomains/ActivityObjectResharers.php @@ -0,0 +1,39 @@ +selfLink = $selfLink; + } + public function getSelfLink() + { + return $this->selfLink; + } + public function setTotalItems($totalItems) + { + $this->totalItems = $totalItems; + } + public function getTotalItems() + { + return $this->totalItems; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/PlusDomains/ActivityObjectStatusForViewer.php b/vendor/google/apiclient-services/src/Google/Service/PlusDomains/ActivityObjectStatusForViewer.php new file mode 100644 index 00000000..8401d62b --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/PlusDomains/ActivityObjectStatusForViewer.php @@ -0,0 +1,66 @@ +canComment = $canComment; + } + public function getCanComment() + { + return $this->canComment; + } + public function setCanPlusone($canPlusone) + { + $this->canPlusone = $canPlusone; + } + public function getCanPlusone() + { + return $this->canPlusone; + } + public function setCanUpdate($canUpdate) + { + $this->canUpdate = $canUpdate; + } + public function getCanUpdate() + { + return $this->canUpdate; + } + public function setIsPlusOned($isPlusOned) + { + $this->isPlusOned = $isPlusOned; + } + public function getIsPlusOned() + { + return $this->isPlusOned; + } + public function setResharingDisabled($resharingDisabled) + { + $this->resharingDisabled = $resharingDisabled; + } + public function getResharingDisabled() + { + return $this->resharingDisabled; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/PlusDomains/ActivityProvider.php b/vendor/google/apiclient-services/src/Google/Service/PlusDomains/ActivityProvider.php new file mode 100644 index 00000000..bab95e6a --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/PlusDomains/ActivityProvider.php @@ -0,0 +1,30 @@ +title = $title; + } + public function getTitle() + { + return $this->title; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/PlusDomains/Audience.php b/vendor/google/apiclient-services/src/Google/Service/PlusDomains/Audience.php new file mode 100644 index 00000000..7298be84 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/PlusDomains/Audience.php @@ -0,0 +1,67 @@ +etag = $etag; + } + public function getEtag() + { + return $this->etag; + } + public function setItem(Google_Service_PlusDomains_PlusDomainsAclentryResource $item) + { + $this->item = $item; + } + public function getItem() + { + return $this->item; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setMemberCount($memberCount) + { + $this->memberCount = $memberCount; + } + public function getMemberCount() + { + return $this->memberCount; + } + public function setVisibility($visibility) + { + $this->visibility = $visibility; + } + public function getVisibility() + { + return $this->visibility; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/PlusDomains/AudiencesFeed.php b/vendor/google/apiclient-services/src/Google/Service/PlusDomains/AudiencesFeed.php new file mode 100644 index 00000000..65a3ec45 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/PlusDomains/AudiencesFeed.php @@ -0,0 +1,68 @@ +etag = $etag; + } + public function getEtag() + { + return $this->etag; + } + public function setItems($items) + { + $this->items = $items; + } + public function getItems() + { + return $this->items; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setTotalItems($totalItems) + { + $this->totalItems = $totalItems; + } + public function getTotalItems() + { + return $this->totalItems; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/PlusDomains/Circle.php b/vendor/google/apiclient-services/src/Google/Service/PlusDomains/Circle.php new file mode 100644 index 00000000..c21061aa --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/PlusDomains/Circle.php @@ -0,0 +1,85 @@ +description = $description; + } + public function getDescription() + { + return $this->description; + } + public function setDisplayName($displayName) + { + $this->displayName = $displayName; + } + public function getDisplayName() + { + return $this->displayName; + } + public function setEtag($etag) + { + $this->etag = $etag; + } + public function getEtag() + { + return $this->etag; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setPeople(Google_Service_PlusDomains_CirclePeople $people) + { + $this->people = $people; + } + public function getPeople() + { + return $this->people; + } + public function setSelfLink($selfLink) + { + $this->selfLink = $selfLink; + } + public function getSelfLink() + { + return $this->selfLink; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/PlusDomains/CircleFeed.php b/vendor/google/apiclient-services/src/Google/Service/PlusDomains/CircleFeed.php new file mode 100644 index 00000000..78eb2af4 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/PlusDomains/CircleFeed.php @@ -0,0 +1,95 @@ +etag = $etag; + } + public function getEtag() + { + return $this->etag; + } + public function setItems($items) + { + $this->items = $items; + } + public function getItems() + { + return $this->items; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextLink($nextLink) + { + $this->nextLink = $nextLink; + } + public function getNextLink() + { + return $this->nextLink; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setSelfLink($selfLink) + { + $this->selfLink = $selfLink; + } + public function getSelfLink() + { + return $this->selfLink; + } + public function setTitle($title) + { + $this->title = $title; + } + public function getTitle() + { + return $this->title; + } + public function setTotalItems($totalItems) + { + $this->totalItems = $totalItems; + } + public function getTotalItems() + { + return $this->totalItems; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/PlusDomains/CirclePeople.php b/vendor/google/apiclient-services/src/Google/Service/PlusDomains/CirclePeople.php new file mode 100644 index 00000000..1d3c63c6 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/PlusDomains/CirclePeople.php @@ -0,0 +1,30 @@ +totalItems = $totalItems; + } + public function getTotalItems() + { + return $this->totalItems; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/PlusDomains/Comment.php b/vendor/google/apiclient-services/src/Google/Service/PlusDomains/Comment.php new file mode 100644 index 00000000..8795db8c --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/PlusDomains/Comment.php @@ -0,0 +1,125 @@ +actor = $actor; + } + public function getActor() + { + return $this->actor; + } + public function setEtag($etag) + { + $this->etag = $etag; + } + public function getEtag() + { + return $this->etag; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setInReplyTo($inReplyTo) + { + $this->inReplyTo = $inReplyTo; + } + public function getInReplyTo() + { + return $this->inReplyTo; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setObject(Google_Service_PlusDomains_CommentObject $object) + { + $this->object = $object; + } + public function getObject() + { + return $this->object; + } + public function setPlusoners(Google_Service_PlusDomains_CommentPlusoners $plusoners) + { + $this->plusoners = $plusoners; + } + public function getPlusoners() + { + return $this->plusoners; + } + public function setPublished($published) + { + $this->published = $published; + } + public function getPublished() + { + return $this->published; + } + public function setSelfLink($selfLink) + { + $this->selfLink = $selfLink; + } + public function getSelfLink() + { + return $this->selfLink; + } + public function setUpdated($updated) + { + $this->updated = $updated; + } + public function getUpdated() + { + return $this->updated; + } + public function setVerb($verb) + { + $this->verb = $verb; + } + public function getVerb() + { + return $this->verb; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/PlusDomains/CommentActor.php b/vendor/google/apiclient-services/src/Google/Service/PlusDomains/CommentActor.php new file mode 100644 index 00000000..3477f1f0 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/PlusDomains/CommentActor.php @@ -0,0 +1,78 @@ +clientSpecificActorInfo = $clientSpecificActorInfo; + } + public function getClientSpecificActorInfo() + { + return $this->clientSpecificActorInfo; + } + public function setDisplayName($displayName) + { + $this->displayName = $displayName; + } + public function getDisplayName() + { + return $this->displayName; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setImage(Google_Service_PlusDomains_CommentActorImage $image) + { + $this->image = $image; + } + public function getImage() + { + return $this->image; + } + public function setUrl($url) + { + $this->url = $url; + } + public function getUrl() + { + return $this->url; + } + public function setVerification(Google_Service_PlusDomains_CommentActorVerification $verification) + { + $this->verification = $verification; + } + public function getVerification() + { + return $this->verification; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/PlusDomains/CommentActorClientSpecificActorInfo.php b/vendor/google/apiclient-services/src/Google/Service/PlusDomains/CommentActorClientSpecificActorInfo.php new file mode 100644 index 00000000..b09cab3c --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/PlusDomains/CommentActorClientSpecificActorInfo.php @@ -0,0 +1,31 @@ +youtubeActorInfo = $youtubeActorInfo; + } + public function getYoutubeActorInfo() + { + return $this->youtubeActorInfo; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/PlusDomains/CommentActorClientSpecificActorInfoYoutubeActorInfo.php b/vendor/google/apiclient-services/src/Google/Service/PlusDomains/CommentActorClientSpecificActorInfoYoutubeActorInfo.php new file mode 100644 index 00000000..6e1652e5 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/PlusDomains/CommentActorClientSpecificActorInfoYoutubeActorInfo.php @@ -0,0 +1,30 @@ +channelId = $channelId; + } + public function getChannelId() + { + return $this->channelId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/PlusDomains/CommentActorImage.php b/vendor/google/apiclient-services/src/Google/Service/PlusDomains/CommentActorImage.php new file mode 100644 index 00000000..478f9d4c --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/PlusDomains/CommentActorImage.php @@ -0,0 +1,30 @@ +url = $url; + } + public function getUrl() + { + return $this->url; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/PlusDomains/CommentActorVerification.php b/vendor/google/apiclient-services/src/Google/Service/PlusDomains/CommentActorVerification.php new file mode 100644 index 00000000..ebd23118 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/PlusDomains/CommentActorVerification.php @@ -0,0 +1,30 @@ +adHocVerified = $adHocVerified; + } + public function getAdHocVerified() + { + return $this->adHocVerified; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/PlusDomains/CommentFeed.php b/vendor/google/apiclient-services/src/Google/Service/PlusDomains/CommentFeed.php new file mode 100644 index 00000000..2ca7cf06 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/PlusDomains/CommentFeed.php @@ -0,0 +1,95 @@ +etag = $etag; + } + public function getEtag() + { + return $this->etag; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setItems($items) + { + $this->items = $items; + } + public function getItems() + { + return $this->items; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextLink($nextLink) + { + $this->nextLink = $nextLink; + } + public function getNextLink() + { + return $this->nextLink; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setTitle($title) + { + $this->title = $title; + } + public function getTitle() + { + return $this->title; + } + public function setUpdated($updated) + { + $this->updated = $updated; + } + public function getUpdated() + { + return $this->updated; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/PlusDomains/CommentInReplyTo.php b/vendor/google/apiclient-services/src/Google/Service/PlusDomains/CommentInReplyTo.php new file mode 100644 index 00000000..5d37cbeb --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/PlusDomains/CommentInReplyTo.php @@ -0,0 +1,39 @@ +id = $id; + } + public function getId() + { + return $this->id; + } + public function setUrl($url) + { + $this->url = $url; + } + public function getUrl() + { + return $this->url; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/PlusDomains/CommentObject.php b/vendor/google/apiclient-services/src/Google/Service/PlusDomains/CommentObject.php new file mode 100644 index 00000000..dc3b3e48 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/PlusDomains/CommentObject.php @@ -0,0 +1,48 @@ +content = $content; + } + public function getContent() + { + return $this->content; + } + public function setObjectType($objectType) + { + $this->objectType = $objectType; + } + public function getObjectType() + { + return $this->objectType; + } + public function setOriginalContent($originalContent) + { + $this->originalContent = $originalContent; + } + public function getOriginalContent() + { + return $this->originalContent; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/PlusDomains/CommentPlusoners.php b/vendor/google/apiclient-services/src/Google/Service/PlusDomains/CommentPlusoners.php new file mode 100644 index 00000000..e428e5d6 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/PlusDomains/CommentPlusoners.php @@ -0,0 +1,30 @@ +totalItems = $totalItems; + } + public function getTotalItems() + { + return $this->totalItems; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/PlusDomains/Media.php b/vendor/google/apiclient-services/src/Google/Service/PlusDomains/Media.php new file mode 100644 index 00000000..f4ba8f9f --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/PlusDomains/Media.php @@ -0,0 +1,187 @@ +author = $author; + } + public function getAuthor() + { + return $this->author; + } + public function setDisplayName($displayName) + { + $this->displayName = $displayName; + } + public function getDisplayName() + { + return $this->displayName; + } + public function setEtag($etag) + { + $this->etag = $etag; + } + public function getEtag() + { + return $this->etag; + } + public function setExif(Google_Service_PlusDomains_MediaExif $exif) + { + $this->exif = $exif; + } + public function getExif() + { + return $this->exif; + } + public function setHeight($height) + { + $this->height = $height; + } + public function getHeight() + { + return $this->height; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setMediaCreatedTime($mediaCreatedTime) + { + $this->mediaCreatedTime = $mediaCreatedTime; + } + public function getMediaCreatedTime() + { + return $this->mediaCreatedTime; + } + public function setMediaUrl($mediaUrl) + { + $this->mediaUrl = $mediaUrl; + } + public function getMediaUrl() + { + return $this->mediaUrl; + } + public function setPublished($published) + { + $this->published = $published; + } + public function getPublished() + { + return $this->published; + } + public function setSizeBytes($sizeBytes) + { + $this->sizeBytes = $sizeBytes; + } + public function getSizeBytes() + { + return $this->sizeBytes; + } + public function setStreams($streams) + { + $this->streams = $streams; + } + public function getStreams() + { + return $this->streams; + } + public function setSummary($summary) + { + $this->summary = $summary; + } + public function getSummary() + { + return $this->summary; + } + public function setUpdated($updated) + { + $this->updated = $updated; + } + public function getUpdated() + { + return $this->updated; + } + public function setUrl($url) + { + $this->url = $url; + } + public function getUrl() + { + return $this->url; + } + public function setVideoDuration($videoDuration) + { + $this->videoDuration = $videoDuration; + } + public function getVideoDuration() + { + return $this->videoDuration; + } + public function setVideoStatus($videoStatus) + { + $this->videoStatus = $videoStatus; + } + public function getVideoStatus() + { + return $this->videoStatus; + } + public function setWidth($width) + { + $this->width = $width; + } + public function getWidth() + { + return $this->width; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/PlusDomains/MediaAuthor.php b/vendor/google/apiclient-services/src/Google/Service/PlusDomains/MediaAuthor.php new file mode 100644 index 00000000..26edbf06 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/PlusDomains/MediaAuthor.php @@ -0,0 +1,58 @@ +displayName = $displayName; + } + public function getDisplayName() + { + return $this->displayName; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setImage(Google_Service_PlusDomains_MediaAuthorImage $image) + { + $this->image = $image; + } + public function getImage() + { + return $this->image; + } + public function setUrl($url) + { + $this->url = $url; + } + public function getUrl() + { + return $this->url; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/PlusDomains/MediaAuthorImage.php b/vendor/google/apiclient-services/src/Google/Service/PlusDomains/MediaAuthorImage.php new file mode 100644 index 00000000..03ee3257 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/PlusDomains/MediaAuthorImage.php @@ -0,0 +1,30 @@ +url = $url; + } + public function getUrl() + { + return $this->url; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/PlusDomains/MediaExif.php b/vendor/google/apiclient-services/src/Google/Service/PlusDomains/MediaExif.php new file mode 100644 index 00000000..71480985 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/PlusDomains/MediaExif.php @@ -0,0 +1,30 @@ +time = $time; + } + public function getTime() + { + return $this->time; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/PlusDomains/PeopleFeed.php b/vendor/google/apiclient-services/src/Google/Service/PlusDomains/PeopleFeed.php new file mode 100644 index 00000000..f944a30e --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/PlusDomains/PeopleFeed.php @@ -0,0 +1,86 @@ +etag = $etag; + } + public function getEtag() + { + return $this->etag; + } + public function setItems($items) + { + $this->items = $items; + } + public function getItems() + { + return $this->items; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setSelfLink($selfLink) + { + $this->selfLink = $selfLink; + } + public function getSelfLink() + { + return $this->selfLink; + } + public function setTitle($title) + { + $this->title = $title; + } + public function getTitle() + { + return $this->title; + } + public function setTotalItems($totalItems) + { + $this->totalItems = $totalItems; + } + public function getTotalItems() + { + return $this->totalItems; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/PlusDomains/Person.php b/vendor/google/apiclient-services/src/Google/Service/PlusDomains/Person.php new file mode 100644 index 00000000..f1f0fa78 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/PlusDomains/Person.php @@ -0,0 +1,281 @@ +aboutMe = $aboutMe; + } + public function getAboutMe() + { + return $this->aboutMe; + } + public function setBirthday($birthday) + { + $this->birthday = $birthday; + } + public function getBirthday() + { + return $this->birthday; + } + public function setBraggingRights($braggingRights) + { + $this->braggingRights = $braggingRights; + } + public function getBraggingRights() + { + return $this->braggingRights; + } + public function setCircledByCount($circledByCount) + { + $this->circledByCount = $circledByCount; + } + public function getCircledByCount() + { + return $this->circledByCount; + } + public function setCover(Google_Service_PlusDomains_PersonCover $cover) + { + $this->cover = $cover; + } + public function getCover() + { + return $this->cover; + } + public function setCurrentLocation($currentLocation) + { + $this->currentLocation = $currentLocation; + } + public function getCurrentLocation() + { + return $this->currentLocation; + } + public function setDisplayName($displayName) + { + $this->displayName = $displayName; + } + public function getDisplayName() + { + return $this->displayName; + } + public function setDomain($domain) + { + $this->domain = $domain; + } + public function getDomain() + { + return $this->domain; + } + public function setEmails($emails) + { + $this->emails = $emails; + } + public function getEmails() + { + return $this->emails; + } + public function setEtag($etag) + { + $this->etag = $etag; + } + public function getEtag() + { + return $this->etag; + } + public function setGender($gender) + { + $this->gender = $gender; + } + public function getGender() + { + return $this->gender; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setImage(Google_Service_PlusDomains_PersonImage $image) + { + $this->image = $image; + } + public function getImage() + { + return $this->image; + } + public function setIsPlusUser($isPlusUser) + { + $this->isPlusUser = $isPlusUser; + } + public function getIsPlusUser() + { + return $this->isPlusUser; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setName(Google_Service_PlusDomains_PersonName $name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setNickname($nickname) + { + $this->nickname = $nickname; + } + public function getNickname() + { + return $this->nickname; + } + public function setObjectType($objectType) + { + $this->objectType = $objectType; + } + public function getObjectType() + { + return $this->objectType; + } + public function setOccupation($occupation) + { + $this->occupation = $occupation; + } + public function getOccupation() + { + return $this->occupation; + } + public function setOrganizations($organizations) + { + $this->organizations = $organizations; + } + public function getOrganizations() + { + return $this->organizations; + } + public function setPlacesLived($placesLived) + { + $this->placesLived = $placesLived; + } + public function getPlacesLived() + { + return $this->placesLived; + } + public function setPlusOneCount($plusOneCount) + { + $this->plusOneCount = $plusOneCount; + } + public function getPlusOneCount() + { + return $this->plusOneCount; + } + public function setRelationshipStatus($relationshipStatus) + { + $this->relationshipStatus = $relationshipStatus; + } + public function getRelationshipStatus() + { + return $this->relationshipStatus; + } + public function setSkills($skills) + { + $this->skills = $skills; + } + public function getSkills() + { + return $this->skills; + } + public function setTagline($tagline) + { + $this->tagline = $tagline; + } + public function getTagline() + { + return $this->tagline; + } + public function setUrl($url) + { + $this->url = $url; + } + public function getUrl() + { + return $this->url; + } + public function setUrls($urls) + { + $this->urls = $urls; + } + public function getUrls() + { + return $this->urls; + } + public function setVerified($verified) + { + $this->verified = $verified; + } + public function getVerified() + { + return $this->verified; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/PlusDomains/PersonCover.php b/vendor/google/apiclient-services/src/Google/Service/PlusDomains/PersonCover.php new file mode 100644 index 00000000..a309e77b --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/PlusDomains/PersonCover.php @@ -0,0 +1,50 @@ +coverInfo = $coverInfo; + } + public function getCoverInfo() + { + return $this->coverInfo; + } + public function setCoverPhoto(Google_Service_PlusDomains_PersonCoverCoverPhoto $coverPhoto) + { + $this->coverPhoto = $coverPhoto; + } + public function getCoverPhoto() + { + return $this->coverPhoto; + } + public function setLayout($layout) + { + $this->layout = $layout; + } + public function getLayout() + { + return $this->layout; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/PlusDomains/PersonCoverCoverInfo.php b/vendor/google/apiclient-services/src/Google/Service/PlusDomains/PersonCoverCoverInfo.php new file mode 100644 index 00000000..f034e41e --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/PlusDomains/PersonCoverCoverInfo.php @@ -0,0 +1,39 @@ +leftImageOffset = $leftImageOffset; + } + public function getLeftImageOffset() + { + return $this->leftImageOffset; + } + public function setTopImageOffset($topImageOffset) + { + $this->topImageOffset = $topImageOffset; + } + public function getTopImageOffset() + { + return $this->topImageOffset; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/PlusDomains/PersonCoverCoverPhoto.php b/vendor/google/apiclient-services/src/Google/Service/PlusDomains/PersonCoverCoverPhoto.php new file mode 100644 index 00000000..28cf9f63 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/PlusDomains/PersonCoverCoverPhoto.php @@ -0,0 +1,48 @@ +height = $height; + } + public function getHeight() + { + return $this->height; + } + public function setUrl($url) + { + $this->url = $url; + } + public function getUrl() + { + return $this->url; + } + public function setWidth($width) + { + $this->width = $width; + } + public function getWidth() + { + return $this->width; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/PlusDomains/PersonEmails.php b/vendor/google/apiclient-services/src/Google/Service/PlusDomains/PersonEmails.php new file mode 100644 index 00000000..b399be36 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/PlusDomains/PersonEmails.php @@ -0,0 +1,39 @@ +type = $type; + } + public function getType() + { + return $this->type; + } + public function setValue($value) + { + $this->value = $value; + } + public function getValue() + { + return $this->value; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/PlusDomains/PersonImage.php b/vendor/google/apiclient-services/src/Google/Service/PlusDomains/PersonImage.php new file mode 100644 index 00000000..fa6e6924 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/PlusDomains/PersonImage.php @@ -0,0 +1,39 @@ +isDefault = $isDefault; + } + public function getIsDefault() + { + return $this->isDefault; + } + public function setUrl($url) + { + $this->url = $url; + } + public function getUrl() + { + return $this->url; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/PlusDomains/PersonName.php b/vendor/google/apiclient-services/src/Google/Service/PlusDomains/PersonName.php new file mode 100644 index 00000000..8878b219 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/PlusDomains/PersonName.php @@ -0,0 +1,75 @@ +familyName = $familyName; + } + public function getFamilyName() + { + return $this->familyName; + } + public function setFormatted($formatted) + { + $this->formatted = $formatted; + } + public function getFormatted() + { + return $this->formatted; + } + public function setGivenName($givenName) + { + $this->givenName = $givenName; + } + public function getGivenName() + { + return $this->givenName; + } + public function setHonorificPrefix($honorificPrefix) + { + $this->honorificPrefix = $honorificPrefix; + } + public function getHonorificPrefix() + { + return $this->honorificPrefix; + } + public function setHonorificSuffix($honorificSuffix) + { + $this->honorificSuffix = $honorificSuffix; + } + public function getHonorificSuffix() + { + return $this->honorificSuffix; + } + public function setMiddleName($middleName) + { + $this->middleName = $middleName; + } + public function getMiddleName() + { + return $this->middleName; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/PlusDomains/PersonOrganizations.php b/vendor/google/apiclient-services/src/Google/Service/PlusDomains/PersonOrganizations.php new file mode 100644 index 00000000..29273b0a --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/PlusDomains/PersonOrganizations.php @@ -0,0 +1,102 @@ +department = $department; + } + public function getDepartment() + { + return $this->department; + } + public function setDescription($description) + { + $this->description = $description; + } + public function getDescription() + { + return $this->description; + } + public function setEndDate($endDate) + { + $this->endDate = $endDate; + } + public function getEndDate() + { + return $this->endDate; + } + public function setLocation($location) + { + $this->location = $location; + } + public function getLocation() + { + return $this->location; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setPrimary($primary) + { + $this->primary = $primary; + } + public function getPrimary() + { + return $this->primary; + } + public function setStartDate($startDate) + { + $this->startDate = $startDate; + } + public function getStartDate() + { + return $this->startDate; + } + public function setTitle($title) + { + $this->title = $title; + } + public function getTitle() + { + return $this->title; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/PlusDomains/PersonPlacesLived.php b/vendor/google/apiclient-services/src/Google/Service/PlusDomains/PersonPlacesLived.php new file mode 100644 index 00000000..fbebea3e --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/PlusDomains/PersonPlacesLived.php @@ -0,0 +1,39 @@ +primary = $primary; + } + public function getPrimary() + { + return $this->primary; + } + public function setValue($value) + { + $this->value = $value; + } + public function getValue() + { + return $this->value; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/PlusDomains/PersonUrls.php b/vendor/google/apiclient-services/src/Google/Service/PlusDomains/PersonUrls.php new file mode 100644 index 00000000..8956a68f --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/PlusDomains/PersonUrls.php @@ -0,0 +1,48 @@ +label = $label; + } + public function getLabel() + { + return $this->label; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } + public function setValue($value) + { + $this->value = $value; + } + public function getValue() + { + return $this->value; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/PlusDomains/Place.php b/vendor/google/apiclient-services/src/Google/Service/PlusDomains/Place.php new file mode 100644 index 00000000..3fba69fc --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/PlusDomains/Place.php @@ -0,0 +1,68 @@ +address = $address; + } + public function getAddress() + { + return $this->address; + } + public function setDisplayName($displayName) + { + $this->displayName = $displayName; + } + public function getDisplayName() + { + return $this->displayName; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setPosition(Google_Service_PlusDomains_PlacePosition $position) + { + $this->position = $position; + } + public function getPosition() + { + return $this->position; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/PlusDomains/PlaceAddress.php b/vendor/google/apiclient-services/src/Google/Service/PlusDomains/PlaceAddress.php new file mode 100644 index 00000000..e5cff510 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/PlusDomains/PlaceAddress.php @@ -0,0 +1,30 @@ +formatted = $formatted; + } + public function getFormatted() + { + return $this->formatted; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/PlusDomains/PlacePosition.php b/vendor/google/apiclient-services/src/Google/Service/PlusDomains/PlacePosition.php new file mode 100644 index 00000000..d7136cb4 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/PlusDomains/PlacePosition.php @@ -0,0 +1,39 @@ +latitude = $latitude; + } + public function getLatitude() + { + return $this->latitude; + } + public function setLongitude($longitude) + { + $this->longitude = $longitude; + } + public function getLongitude() + { + return $this->longitude; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/PlusDomains/PlusDomainsAclentryResource.php b/vendor/google/apiclient-services/src/Google/Service/PlusDomains/PlusDomainsAclentryResource.php new file mode 100644 index 00000000..81f48db6 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/PlusDomains/PlusDomainsAclentryResource.php @@ -0,0 +1,48 @@ +displayName = $displayName; + } + public function getDisplayName() + { + return $this->displayName; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/PlusDomains/Resource/Activities.php b/vendor/google/apiclient-services/src/Google/Service/PlusDomains/Resource/Activities.php new file mode 100644 index 00000000..59205632 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/PlusDomains/Resource/Activities.php @@ -0,0 +1,83 @@ + + * $plusDomainsService = new Google_Service_PlusDomains(...); + * $activities = $plusDomainsService->activities; + * + */ +class Google_Service_PlusDomains_Resource_Activities extends Google_Service_Resource +{ + /** + * Get an activity. (activities.get) + * + * @param string $activityId The ID of the activity to get. + * @param array $optParams Optional parameters. + * @return Google_Service_PlusDomains_Activity + */ + public function get($activityId, $optParams = array()) + { + $params = array('activityId' => $activityId); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_PlusDomains_Activity"); + } + /** + * Create a new activity for the authenticated user. (activities.insert) + * + * @param string $userId The ID of the user to create the activity on behalf of. + * Its value should be "me", to indicate the authenticated user. + * @param Google_Service_PlusDomains_Activity $postBody + * @param array $optParams Optional parameters. + * + * @opt_param bool preview If "true", extract the potential media attachments + * for a URL. The response will include all possible attachments for a URL, + * including video, photos, and articles based on the content of the page. + * @return Google_Service_PlusDomains_Activity + */ + public function insert($userId, Google_Service_PlusDomains_Activity $postBody, $optParams = array()) + { + $params = array('userId' => $userId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('insert', array($params), "Google_Service_PlusDomains_Activity"); + } + /** + * List all of the activities in the specified collection for a particular user. + * (activities.listActivities) + * + * @param string $userId The ID of the user to get activities for. The special + * value "me" can be used to indicate the authenticated user. + * @param string $collection The collection of activities to list. + * @param array $optParams Optional parameters. + * + * @opt_param string maxResults The maximum number of activities to include in + * the response, which is used for paging. For any response, the actual number + * returned might be less than the specified maxResults. + * @opt_param string pageToken The continuation token, which is used to page + * through large result sets. To get the next page of results, set this + * parameter to the value of "nextPageToken" from the previous response. + * @return Google_Service_PlusDomains_ActivityFeed + */ + public function listActivities($userId, $collection, $optParams = array()) + { + $params = array('userId' => $userId, 'collection' => $collection); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_PlusDomains_ActivityFeed"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/PlusDomains/Resource/Audiences.php b/vendor/google/apiclient-services/src/Google/Service/PlusDomains/Resource/Audiences.php new file mode 100644 index 00000000..39f164f6 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/PlusDomains/Resource/Audiences.php @@ -0,0 +1,50 @@ + + * $plusDomainsService = new Google_Service_PlusDomains(...); + * $audiences = $plusDomainsService->audiences; + * + */ +class Google_Service_PlusDomains_Resource_Audiences extends Google_Service_Resource +{ + /** + * List all of the audiences to which a user can share. + * (audiences.listAudiences) + * + * @param string $userId The ID of the user to get audiences for. The special + * value "me" can be used to indicate the authenticated user. + * @param array $optParams Optional parameters. + * + * @opt_param string maxResults The maximum number of circles to include in the + * response, which is used for paging. For any response, the actual number + * returned might be less than the specified maxResults. + * @opt_param string pageToken The continuation token, which is used to page + * through large result sets. To get the next page of results, set this + * parameter to the value of "nextPageToken" from the previous response. + * @return Google_Service_PlusDomains_AudiencesFeed + */ + public function listAudiences($userId, $optParams = array()) + { + $params = array('userId' => $userId); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_PlusDomains_AudiencesFeed"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/PlusDomains/Resource/Circles.php b/vendor/google/apiclient-services/src/Google/Service/PlusDomains/Resource/Circles.php new file mode 100644 index 00000000..2272cb01 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/PlusDomains/Resource/Circles.php @@ -0,0 +1,154 @@ + + * $plusDomainsService = new Google_Service_PlusDomains(...); + * $circles = $plusDomainsService->circles; + * + */ +class Google_Service_PlusDomains_Resource_Circles extends Google_Service_Resource +{ + /** + * Add a person to a circle. Google+ limits certain circle operations, including + * the number of circle adds. Learn More. (circles.addPeople) + * + * @param string $circleId The ID of the circle to add the person to. + * @param array $optParams Optional parameters. + * + * @opt_param string email Email of the people to add to the circle. Optional, + * can be repeated. + * @opt_param string userId IDs of the people to add to the circle. Optional, + * can be repeated. + * @return Google_Service_PlusDomains_Circle + */ + public function addPeople($circleId, $optParams = array()) + { + $params = array('circleId' => $circleId); + $params = array_merge($params, $optParams); + return $this->call('addPeople', array($params), "Google_Service_PlusDomains_Circle"); + } + /** + * Get a circle. (circles.get) + * + * @param string $circleId The ID of the circle to get. + * @param array $optParams Optional parameters. + * @return Google_Service_PlusDomains_Circle + */ + public function get($circleId, $optParams = array()) + { + $params = array('circleId' => $circleId); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_PlusDomains_Circle"); + } + /** + * Create a new circle for the authenticated user. (circles.insert) + * + * @param string $userId The ID of the user to create the circle on behalf of. + * The value "me" can be used to indicate the authenticated user. + * @param Google_Service_PlusDomains_Circle $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_PlusDomains_Circle + */ + public function insert($userId, Google_Service_PlusDomains_Circle $postBody, $optParams = array()) + { + $params = array('userId' => $userId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('insert', array($params), "Google_Service_PlusDomains_Circle"); + } + /** + * List all of the circles for a user. (circles.listCircles) + * + * @param string $userId The ID of the user to get circles for. The special + * value "me" can be used to indicate the authenticated user. + * @param array $optParams Optional parameters. + * + * @opt_param string maxResults The maximum number of circles to include in the + * response, which is used for paging. For any response, the actual number + * returned might be less than the specified maxResults. + * @opt_param string pageToken The continuation token, which is used to page + * through large result sets. To get the next page of results, set this + * parameter to the value of "nextPageToken" from the previous response. + * @return Google_Service_PlusDomains_CircleFeed + */ + public function listCircles($userId, $optParams = array()) + { + $params = array('userId' => $userId); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_PlusDomains_CircleFeed"); + } + /** + * Update a circle's description. This method supports patch semantics. + * (circles.patch) + * + * @param string $circleId The ID of the circle to update. + * @param Google_Service_PlusDomains_Circle $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_PlusDomains_Circle + */ + public function patch($circleId, Google_Service_PlusDomains_Circle $postBody, $optParams = array()) + { + $params = array('circleId' => $circleId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('patch', array($params), "Google_Service_PlusDomains_Circle"); + } + /** + * Delete a circle. (circles.remove) + * + * @param string $circleId The ID of the circle to delete. + * @param array $optParams Optional parameters. + */ + public function remove($circleId, $optParams = array()) + { + $params = array('circleId' => $circleId); + $params = array_merge($params, $optParams); + return $this->call('remove', array($params)); + } + /** + * Remove a person from a circle. (circles.removePeople) + * + * @param string $circleId The ID of the circle to remove the person from. + * @param array $optParams Optional parameters. + * + * @opt_param string email Email of the people to add to the circle. Optional, + * can be repeated. + * @opt_param string userId IDs of the people to remove from the circle. + * Optional, can be repeated. + */ + public function removePeople($circleId, $optParams = array()) + { + $params = array('circleId' => $circleId); + $params = array_merge($params, $optParams); + return $this->call('removePeople', array($params)); + } + /** + * Update a circle's description. (circles.update) + * + * @param string $circleId The ID of the circle to update. + * @param Google_Service_PlusDomains_Circle $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_PlusDomains_Circle + */ + public function update($circleId, Google_Service_PlusDomains_Circle $postBody, $optParams = array()) + { + $params = array('circleId' => $circleId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('update', array($params), "Google_Service_PlusDomains_Circle"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/PlusDomains/Resource/Comments.php b/vendor/google/apiclient-services/src/Google/Service/PlusDomains/Resource/Comments.php new file mode 100644 index 00000000..0ef70efb --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/PlusDomains/Resource/Comments.php @@ -0,0 +1,76 @@ + + * $plusDomainsService = new Google_Service_PlusDomains(...); + * $comments = $plusDomainsService->comments; + * + */ +class Google_Service_PlusDomains_Resource_Comments extends Google_Service_Resource +{ + /** + * Get a comment. (comments.get) + * + * @param string $commentId The ID of the comment to get. + * @param array $optParams Optional parameters. + * @return Google_Service_PlusDomains_Comment + */ + public function get($commentId, $optParams = array()) + { + $params = array('commentId' => $commentId); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_PlusDomains_Comment"); + } + /** + * Create a new comment in reply to an activity. (comments.insert) + * + * @param string $activityId The ID of the activity to reply to. + * @param Google_Service_PlusDomains_Comment $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_PlusDomains_Comment + */ + public function insert($activityId, Google_Service_PlusDomains_Comment $postBody, $optParams = array()) + { + $params = array('activityId' => $activityId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('insert', array($params), "Google_Service_PlusDomains_Comment"); + } + /** + * List all of the comments for an activity. (comments.listComments) + * + * @param string $activityId The ID of the activity to get comments for. + * @param array $optParams Optional parameters. + * + * @opt_param string maxResults The maximum number of comments to include in the + * response, which is used for paging. For any response, the actual number + * returned might be less than the specified maxResults. + * @opt_param string pageToken The continuation token, which is used to page + * through large result sets. To get the next page of results, set this + * parameter to the value of "nextPageToken" from the previous response. + * @opt_param string sortOrder The order in which to sort the list of comments. + * @return Google_Service_PlusDomains_CommentFeed + */ + public function listComments($activityId, $optParams = array()) + { + $params = array('activityId' => $activityId); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_PlusDomains_CommentFeed"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/PlusDomains/Resource/Media.php b/vendor/google/apiclient-services/src/Google/Service/PlusDomains/Resource/Media.php new file mode 100644 index 00000000..1cf7b0a8 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/PlusDomains/Resource/Media.php @@ -0,0 +1,46 @@ + + * $plusDomainsService = new Google_Service_PlusDomains(...); + * $media = $plusDomainsService->media; + * + */ +class Google_Service_PlusDomains_Resource_Media extends Google_Service_Resource +{ + /** + * Add a new media item to an album. The current upload size limitations are + * 36MB for a photo and 1GB for a video. Uploads do not count against quota if + * photos are less than 2048 pixels on their longest side or videos are less + * than 15 minutes in length. (media.insert) + * + * @param string $userId The ID of the user to create the activity on behalf of. + * @param string $collection + * @param Google_Service_PlusDomains_Media $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_PlusDomains_Media + */ + public function insert($userId, $collection, Google_Service_PlusDomains_Media $postBody, $optParams = array()) + { + $params = array('userId' => $userId, 'collection' => $collection, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('insert', array($params), "Google_Service_PlusDomains_Media"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/PlusDomains/Resource/People.php b/vendor/google/apiclient-services/src/Google/Service/PlusDomains/Resource/People.php new file mode 100644 index 00000000..d58575c4 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/PlusDomains/Resource/People.php @@ -0,0 +1,108 @@ + + * $plusDomainsService = new Google_Service_PlusDomains(...); + * $people = $plusDomainsService->people; + * + */ +class Google_Service_PlusDomains_Resource_People extends Google_Service_Resource +{ + /** + * Get a person's profile. (people.get) + * + * @param string $userId The ID of the person to get the profile for. The + * special value "me" can be used to indicate the authenticated user. + * @param array $optParams Optional parameters. + * @return Google_Service_PlusDomains_Person + */ + public function get($userId, $optParams = array()) + { + $params = array('userId' => $userId); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_PlusDomains_Person"); + } + /** + * List all of the people in the specified collection. (people.listPeople) + * + * @param string $userId Get the collection of people for the person identified. + * Use "me" to indicate the authenticated user. + * @param string $collection The collection of people to list. + * @param array $optParams Optional parameters. + * + * @opt_param string maxResults The maximum number of people to include in the + * response, which is used for paging. For any response, the actual number + * returned might be less than the specified maxResults. + * @opt_param string orderBy The order to return people in. + * @opt_param string pageToken The continuation token, which is used to page + * through large result sets. To get the next page of results, set this + * parameter to the value of "nextPageToken" from the previous response. + * @return Google_Service_PlusDomains_PeopleFeed + */ + public function listPeople($userId, $collection, $optParams = array()) + { + $params = array('userId' => $userId, 'collection' => $collection); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_PlusDomains_PeopleFeed"); + } + /** + * List all of the people in the specified collection for a particular activity. + * (people.listByActivity) + * + * @param string $activityId The ID of the activity to get the list of people + * for. + * @param string $collection The collection of people to list. + * @param array $optParams Optional parameters. + * + * @opt_param string maxResults The maximum number of people to include in the + * response, which is used for paging. For any response, the actual number + * returned might be less than the specified maxResults. + * @opt_param string pageToken The continuation token, which is used to page + * through large result sets. To get the next page of results, set this + * parameter to the value of "nextPageToken" from the previous response. + * @return Google_Service_PlusDomains_PeopleFeed + */ + public function listByActivity($activityId, $collection, $optParams = array()) + { + $params = array('activityId' => $activityId, 'collection' => $collection); + $params = array_merge($params, $optParams); + return $this->call('listByActivity', array($params), "Google_Service_PlusDomains_PeopleFeed"); + } + /** + * List all of the people who are members of a circle. (people.listByCircle) + * + * @param string $circleId The ID of the circle to get the members of. + * @param array $optParams Optional parameters. + * + * @opt_param string maxResults The maximum number of people to include in the + * response, which is used for paging. For any response, the actual number + * returned might be less than the specified maxResults. + * @opt_param string pageToken The continuation token, which is used to page + * through large result sets. To get the next page of results, set this + * parameter to the value of "nextPageToken" from the previous response. + * @return Google_Service_PlusDomains_PeopleFeed + */ + public function listByCircle($circleId, $optParams = array()) + { + $params = array('circleId' => $circleId); + $params = array_merge($params, $optParams); + return $this->call('listByCircle', array($params), "Google_Service_PlusDomains_PeopleFeed"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/PlusDomains/Videostream.php b/vendor/google/apiclient-services/src/Google/Service/PlusDomains/Videostream.php new file mode 100644 index 00000000..e618d7c3 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/PlusDomains/Videostream.php @@ -0,0 +1,57 @@ +height = $height; + } + public function getHeight() + { + return $this->height; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } + public function setUrl($url) + { + $this->url = $url; + } + public function getUrl() + { + return $this->url; + } + public function setWidth($width) + { + $this->width = $width; + } + public function getWidth() + { + return $this->width; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Prediction.php b/vendor/google/apiclient-services/src/Google/Service/Prediction.php new file mode 100644 index 00000000..871465d2 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Prediction.php @@ -0,0 +1,205 @@ + + * Lets you access a cloud hosted machine learning service that makes it easy to + * build smart apps

+ * + *

+ * For more information about this service, see the API + * Documentation + *

+ * + * @author Google, Inc. + */ +class Google_Service_Prediction extends Google_Service +{ + /** View and manage your data across Google Cloud Platform services. */ + const CLOUD_PLATFORM = + "https://www.googleapis.com/auth/cloud-platform"; + /** Manage your data and permissions in Google Cloud Storage. */ + const DEVSTORAGE_FULL_CONTROL = + "https://www.googleapis.com/auth/devstorage.full_control"; + /** View your data in Google Cloud Storage. */ + const DEVSTORAGE_READ_ONLY = + "https://www.googleapis.com/auth/devstorage.read_only"; + /** Manage your data in Google Cloud Storage. */ + const DEVSTORAGE_READ_WRITE = + "https://www.googleapis.com/auth/devstorage.read_write"; + /** Manage your data in the Google Prediction API. */ + const PREDICTION = + "https://www.googleapis.com/auth/prediction"; + + public $hostedmodels; + public $trainedmodels; + + /** + * Constructs the internal representation of the Prediction service. + * + * @param Google_Client $client + */ + public function __construct(Google_Client $client) + { + parent::__construct($client); + $this->rootUrl = 'https://www.googleapis.com/'; + $this->servicePath = 'prediction/v1.6/projects/'; + $this->version = 'v1.6'; + $this->serviceName = 'prediction'; + + $this->hostedmodels = new Google_Service_Prediction_Resource_Hostedmodels( + $this, + $this->serviceName, + 'hostedmodels', + array( + 'methods' => array( + 'predict' => array( + 'path' => '{project}/hostedmodels/{hostedModelName}/predict', + 'httpMethod' => 'POST', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'hostedModelName' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->trainedmodels = new Google_Service_Prediction_Resource_Trainedmodels( + $this, + $this->serviceName, + 'trainedmodels', + array( + 'methods' => array( + 'analyze' => array( + 'path' => '{project}/trainedmodels/{id}/analyze', + 'httpMethod' => 'GET', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'id' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'delete' => array( + 'path' => '{project}/trainedmodels/{id}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'id' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'get' => array( + 'path' => '{project}/trainedmodels/{id}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'id' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'insert' => array( + 'path' => '{project}/trainedmodels', + 'httpMethod' => 'POST', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => '{project}/trainedmodels/list', + 'httpMethod' => 'GET', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'predict' => array( + 'path' => '{project}/trainedmodels/{id}/predict', + 'httpMethod' => 'POST', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'id' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'update' => array( + 'path' => '{project}/trainedmodels/{id}', + 'httpMethod' => 'PUT', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'id' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Prediction/Analyze.php b/vendor/google/apiclient-services/src/Google/Service/Prediction/Analyze.php new file mode 100644 index 00000000..42bb79b7 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Prediction/Analyze.php @@ -0,0 +1,78 @@ +dataDescription = $dataDescription; + } + public function getDataDescription() + { + return $this->dataDescription; + } + public function setErrors($errors) + { + $this->errors = $errors; + } + public function getErrors() + { + return $this->errors; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setModelDescription(Google_Service_Prediction_AnalyzeModelDescription $modelDescription) + { + $this->modelDescription = $modelDescription; + } + public function getModelDescription() + { + return $this->modelDescription; + } + public function setSelfLink($selfLink) + { + $this->selfLink = $selfLink; + } + public function getSelfLink() + { + return $this->selfLink; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Prediction/AnalyzeDataDescription.php b/vendor/google/apiclient-services/src/Google/Service/Prediction/AnalyzeDataDescription.php new file mode 100644 index 00000000..85d3265e --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Prediction/AnalyzeDataDescription.php @@ -0,0 +1,42 @@ +features = $features; + } + public function getFeatures() + { + return $this->features; + } + public function setOutputFeature(Google_Service_Prediction_AnalyzeDataDescriptionOutputFeature $outputFeature) + { + $this->outputFeature = $outputFeature; + } + public function getOutputFeature() + { + return $this->outputFeature; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Prediction/AnalyzeDataDescriptionFeatures.php b/vendor/google/apiclient-services/src/Google/Service/Prediction/AnalyzeDataDescriptionFeatures.php new file mode 100644 index 00000000..046c980b --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Prediction/AnalyzeDataDescriptionFeatures.php @@ -0,0 +1,60 @@ +categorical = $categorical; + } + public function getCategorical() + { + return $this->categorical; + } + public function setIndex($index) + { + $this->index = $index; + } + public function getIndex() + { + return $this->index; + } + public function setNumeric(Google_Service_Prediction_AnalyzeDataDescriptionFeaturesNumeric $numeric) + { + $this->numeric = $numeric; + } + public function getNumeric() + { + return $this->numeric; + } + public function setText(Google_Service_Prediction_AnalyzeDataDescriptionFeaturesText $text) + { + $this->text = $text; + } + public function getText() + { + return $this->text; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Prediction/AnalyzeDataDescriptionFeaturesCategorical.php b/vendor/google/apiclient-services/src/Google/Service/Prediction/AnalyzeDataDescriptionFeaturesCategorical.php new file mode 100644 index 00000000..e8f738cd --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Prediction/AnalyzeDataDescriptionFeaturesCategorical.php @@ -0,0 +1,41 @@ +count = $count; + } + public function getCount() + { + return $this->count; + } + public function setValues($values) + { + $this->values = $values; + } + public function getValues() + { + return $this->values; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Prediction/AnalyzeDataDescriptionFeaturesCategoricalValues.php b/vendor/google/apiclient-services/src/Google/Service/Prediction/AnalyzeDataDescriptionFeaturesCategoricalValues.php new file mode 100644 index 00000000..d3ba6872 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Prediction/AnalyzeDataDescriptionFeaturesCategoricalValues.php @@ -0,0 +1,39 @@ +count = $count; + } + public function getCount() + { + return $this->count; + } + public function setValue($value) + { + $this->value = $value; + } + public function getValue() + { + return $this->value; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Prediction/AnalyzeDataDescriptionFeaturesNumeric.php b/vendor/google/apiclient-services/src/Google/Service/Prediction/AnalyzeDataDescriptionFeaturesNumeric.php new file mode 100644 index 00000000..a2448a81 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Prediction/AnalyzeDataDescriptionFeaturesNumeric.php @@ -0,0 +1,48 @@ +count = $count; + } + public function getCount() + { + return $this->count; + } + public function setMean($mean) + { + $this->mean = $mean; + } + public function getMean() + { + return $this->mean; + } + public function setVariance($variance) + { + $this->variance = $variance; + } + public function getVariance() + { + return $this->variance; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Prediction/AnalyzeDataDescriptionFeaturesText.php b/vendor/google/apiclient-services/src/Google/Service/Prediction/AnalyzeDataDescriptionFeaturesText.php new file mode 100644 index 00000000..bb594ac5 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Prediction/AnalyzeDataDescriptionFeaturesText.php @@ -0,0 +1,30 @@ +count = $count; + } + public function getCount() + { + return $this->count; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Prediction/AnalyzeDataDescriptionOutputFeature.php b/vendor/google/apiclient-services/src/Google/Service/Prediction/AnalyzeDataDescriptionOutputFeature.php new file mode 100644 index 00000000..b048fa2f --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Prediction/AnalyzeDataDescriptionOutputFeature.php @@ -0,0 +1,42 @@ +numeric = $numeric; + } + public function getNumeric() + { + return $this->numeric; + } + public function setText($text) + { + $this->text = $text; + } + public function getText() + { + return $this->text; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Prediction/AnalyzeDataDescriptionOutputFeatureNumeric.php b/vendor/google/apiclient-services/src/Google/Service/Prediction/AnalyzeDataDescriptionOutputFeatureNumeric.php new file mode 100644 index 00000000..9d9859c0 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Prediction/AnalyzeDataDescriptionOutputFeatureNumeric.php @@ -0,0 +1,48 @@ +count = $count; + } + public function getCount() + { + return $this->count; + } + public function setMean($mean) + { + $this->mean = $mean; + } + public function getMean() + { + return $this->mean; + } + public function setVariance($variance) + { + $this->variance = $variance; + } + public function getVariance() + { + return $this->variance; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Prediction/AnalyzeDataDescriptionOutputFeatureText.php b/vendor/google/apiclient-services/src/Google/Service/Prediction/AnalyzeDataDescriptionOutputFeatureText.php new file mode 100644 index 00000000..19db685b --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Prediction/AnalyzeDataDescriptionOutputFeatureText.php @@ -0,0 +1,39 @@ +count = $count; + } + public function getCount() + { + return $this->count; + } + public function setValue($value) + { + $this->value = $value; + } + public function getValue() + { + return $this->value; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Prediction/AnalyzeModelDescription.php b/vendor/google/apiclient-services/src/Google/Service/Prediction/AnalyzeModelDescription.php new file mode 100644 index 00000000..fbce5f6b --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Prediction/AnalyzeModelDescription.php @@ -0,0 +1,49 @@ +confusionMatrix = $confusionMatrix; + } + public function getConfusionMatrix() + { + return $this->confusionMatrix; + } + public function setConfusionMatrixRowTotals($confusionMatrixRowTotals) + { + $this->confusionMatrixRowTotals = $confusionMatrixRowTotals; + } + public function getConfusionMatrixRowTotals() + { + return $this->confusionMatrixRowTotals; + } + public function setModelinfo(Google_Service_Prediction_Insert2 $modelinfo) + { + $this->modelinfo = $modelinfo; + } + public function getModelinfo() + { + return $this->modelinfo; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Prediction/Input.php b/vendor/google/apiclient-services/src/Google/Service/Prediction/Input.php new file mode 100644 index 00000000..ee7e6293 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Prediction/Input.php @@ -0,0 +1,31 @@ +input = $input; + } + public function getInput() + { + return $this->input; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Prediction/InputInput.php b/vendor/google/apiclient-services/src/Google/Service/Prediction/InputInput.php new file mode 100644 index 00000000..e4235be7 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Prediction/InputInput.php @@ -0,0 +1,31 @@ +csvInstance = $csvInstance; + } + public function getCsvInstance() + { + return $this->csvInstance; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Prediction/Insert.php b/vendor/google/apiclient-services/src/Google/Service/Prediction/Insert.php new file mode 100644 index 00000000..fdf985d6 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Prediction/Insert.php @@ -0,0 +1,95 @@ +id = $id; + } + public function getId() + { + return $this->id; + } + public function setModelType($modelType) + { + $this->modelType = $modelType; + } + public function getModelType() + { + return $this->modelType; + } + public function setSourceModel($sourceModel) + { + $this->sourceModel = $sourceModel; + } + public function getSourceModel() + { + return $this->sourceModel; + } + public function setStorageDataLocation($storageDataLocation) + { + $this->storageDataLocation = $storageDataLocation; + } + public function getStorageDataLocation() + { + return $this->storageDataLocation; + } + public function setStoragePMMLLocation($storagePMMLLocation) + { + $this->storagePMMLLocation = $storagePMMLLocation; + } + public function getStoragePMMLLocation() + { + return $this->storagePMMLLocation; + } + public function setStoragePMMLModelLocation($storagePMMLModelLocation) + { + $this->storagePMMLModelLocation = $storagePMMLModelLocation; + } + public function getStoragePMMLModelLocation() + { + return $this->storagePMMLModelLocation; + } + public function setTrainingInstances($trainingInstances) + { + $this->trainingInstances = $trainingInstances; + } + public function getTrainingInstances() + { + return $this->trainingInstances; + } + public function setUtility($utility) + { + $this->utility = $utility; + } + public function getUtility() + { + return $this->utility; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Prediction/Insert2.php b/vendor/google/apiclient-services/src/Google/Service/Prediction/Insert2.php new file mode 100644 index 00000000..8bc3b4d1 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Prediction/Insert2.php @@ -0,0 +1,121 @@ +created = $created; + } + public function getCreated() + { + return $this->created; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setModelInfo(Google_Service_Prediction_Insert2ModelInfo $modelInfo) + { + $this->modelInfo = $modelInfo; + } + public function getModelInfo() + { + return $this->modelInfo; + } + public function setModelType($modelType) + { + $this->modelType = $modelType; + } + public function getModelType() + { + return $this->modelType; + } + public function setSelfLink($selfLink) + { + $this->selfLink = $selfLink; + } + public function getSelfLink() + { + return $this->selfLink; + } + public function setStorageDataLocation($storageDataLocation) + { + $this->storageDataLocation = $storageDataLocation; + } + public function getStorageDataLocation() + { + return $this->storageDataLocation; + } + public function setStoragePMMLLocation($storagePMMLLocation) + { + $this->storagePMMLLocation = $storagePMMLLocation; + } + public function getStoragePMMLLocation() + { + return $this->storagePMMLLocation; + } + public function setStoragePMMLModelLocation($storagePMMLModelLocation) + { + $this->storagePMMLModelLocation = $storagePMMLModelLocation; + } + public function getStoragePMMLModelLocation() + { + return $this->storagePMMLModelLocation; + } + public function setTrainingComplete($trainingComplete) + { + $this->trainingComplete = $trainingComplete; + } + public function getTrainingComplete() + { + return $this->trainingComplete; + } + public function setTrainingStatus($trainingStatus) + { + $this->trainingStatus = $trainingStatus; + } + public function getTrainingStatus() + { + return $this->trainingStatus; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Prediction/Insert2ModelInfo.php b/vendor/google/apiclient-services/src/Google/Service/Prediction/Insert2ModelInfo.php new file mode 100644 index 00000000..38651648 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Prediction/Insert2ModelInfo.php @@ -0,0 +1,75 @@ +classWeightedAccuracy = $classWeightedAccuracy; + } + public function getClassWeightedAccuracy() + { + return $this->classWeightedAccuracy; + } + public function setClassificationAccuracy($classificationAccuracy) + { + $this->classificationAccuracy = $classificationAccuracy; + } + public function getClassificationAccuracy() + { + return $this->classificationAccuracy; + } + public function setMeanSquaredError($meanSquaredError) + { + $this->meanSquaredError = $meanSquaredError; + } + public function getMeanSquaredError() + { + return $this->meanSquaredError; + } + public function setModelType($modelType) + { + $this->modelType = $modelType; + } + public function getModelType() + { + return $this->modelType; + } + public function setNumberInstances($numberInstances) + { + $this->numberInstances = $numberInstances; + } + public function getNumberInstances() + { + return $this->numberInstances; + } + public function setNumberLabels($numberLabels) + { + $this->numberLabels = $numberLabels; + } + public function getNumberLabels() + { + return $this->numberLabels; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Prediction/InsertTrainingInstances.php b/vendor/google/apiclient-services/src/Google/Service/Prediction/InsertTrainingInstances.php new file mode 100644 index 00000000..98b46c50 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Prediction/InsertTrainingInstances.php @@ -0,0 +1,40 @@ +csvInstance = $csvInstance; + } + public function getCsvInstance() + { + return $this->csvInstance; + } + public function setOutput($output) + { + $this->output = $output; + } + public function getOutput() + { + return $this->output; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Prediction/Output.php b/vendor/google/apiclient-services/src/Google/Service/Prediction/Output.php new file mode 100644 index 00000000..caf2136b --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Prediction/Output.php @@ -0,0 +1,77 @@ +id = $id; + } + public function getId() + { + return $this->id; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setOutputLabel($outputLabel) + { + $this->outputLabel = $outputLabel; + } + public function getOutputLabel() + { + return $this->outputLabel; + } + public function setOutputMulti($outputMulti) + { + $this->outputMulti = $outputMulti; + } + public function getOutputMulti() + { + return $this->outputMulti; + } + public function setOutputValue($outputValue) + { + $this->outputValue = $outputValue; + } + public function getOutputValue() + { + return $this->outputValue; + } + public function setSelfLink($selfLink) + { + $this->selfLink = $selfLink; + } + public function getSelfLink() + { + return $this->selfLink; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Prediction/OutputOutputMulti.php b/vendor/google/apiclient-services/src/Google/Service/Prediction/OutputOutputMulti.php new file mode 100644 index 00000000..cbeee94d --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Prediction/OutputOutputMulti.php @@ -0,0 +1,39 @@ +label = $label; + } + public function getLabel() + { + return $this->label; + } + public function setScore($score) + { + $this->score = $score; + } + public function getScore() + { + return $this->score; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Prediction/PredictionList.php b/vendor/google/apiclient-services/src/Google/Service/Prediction/PredictionList.php new file mode 100644 index 00000000..177cb7d9 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Prediction/PredictionList.php @@ -0,0 +1,59 @@ +items = $items; + } + public function getItems() + { + return $this->items; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setSelfLink($selfLink) + { + $this->selfLink = $selfLink; + } + public function getSelfLink() + { + return $this->selfLink; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Prediction/Resource/Hostedmodels.php b/vendor/google/apiclient-services/src/Google/Service/Prediction/Resource/Hostedmodels.php new file mode 100644 index 00000000..57ce7fae --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Prediction/Resource/Hostedmodels.php @@ -0,0 +1,44 @@ + + * $predictionService = new Google_Service_Prediction(...); + * $hostedmodels = $predictionService->hostedmodels; + * + */ +class Google_Service_Prediction_Resource_Hostedmodels extends Google_Service_Resource +{ + /** + * Submit input and request an output against a hosted model. + * (hostedmodels.predict) + * + * @param string $project The project associated with the model. + * @param string $hostedModelName The name of a hosted model. + * @param Google_Service_Prediction_Input $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Prediction_Output + */ + public function predict($project, $hostedModelName, Google_Service_Prediction_Input $postBody, $optParams = array()) + { + $params = array('project' => $project, 'hostedModelName' => $hostedModelName, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('predict', array($params), "Google_Service_Prediction_Output"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Prediction/Resource/Trainedmodels.php b/vendor/google/apiclient-services/src/Google/Service/Prediction/Resource/Trainedmodels.php new file mode 100644 index 00000000..a7de1b7c --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Prediction/Resource/Trainedmodels.php @@ -0,0 +1,130 @@ + + * $predictionService = new Google_Service_Prediction(...); + * $trainedmodels = $predictionService->trainedmodels; + * + */ +class Google_Service_Prediction_Resource_Trainedmodels extends Google_Service_Resource +{ + /** + * Get analysis of the model and the data the model was trained on. + * (trainedmodels.analyze) + * + * @param string $project The project associated with the model. + * @param string $id The unique name for the predictive model. + * @param array $optParams Optional parameters. + * @return Google_Service_Prediction_Analyze + */ + public function analyze($project, $id, $optParams = array()) + { + $params = array('project' => $project, 'id' => $id); + $params = array_merge($params, $optParams); + return $this->call('analyze', array($params), "Google_Service_Prediction_Analyze"); + } + /** + * Delete a trained model. (trainedmodels.delete) + * + * @param string $project The project associated with the model. + * @param string $id The unique name for the predictive model. + * @param array $optParams Optional parameters. + */ + public function delete($project, $id, $optParams = array()) + { + $params = array('project' => $project, 'id' => $id); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params)); + } + /** + * Check training status of your model. (trainedmodels.get) + * + * @param string $project The project associated with the model. + * @param string $id The unique name for the predictive model. + * @param array $optParams Optional parameters. + * @return Google_Service_Prediction_Insert2 + */ + public function get($project, $id, $optParams = array()) + { + $params = array('project' => $project, 'id' => $id); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Prediction_Insert2"); + } + /** + * Train a Prediction API model. (trainedmodels.insert) + * + * @param string $project The project associated with the model. + * @param Google_Service_Prediction_Insert $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Prediction_Insert2 + */ + public function insert($project, Google_Service_Prediction_Insert $postBody, $optParams = array()) + { + $params = array('project' => $project, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('insert', array($params), "Google_Service_Prediction_Insert2"); + } + /** + * List available models. (trainedmodels.listTrainedmodels) + * + * @param string $project The project associated with the model. + * @param array $optParams Optional parameters. + * + * @opt_param string maxResults Maximum number of results to return. + * @opt_param string pageToken Pagination token. + * @return Google_Service_Prediction_PredictionList + */ + public function listTrainedmodels($project, $optParams = array()) + { + $params = array('project' => $project); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Prediction_PredictionList"); + } + /** + * Submit model id and request a prediction. (trainedmodels.predict) + * + * @param string $project The project associated with the model. + * @param string $id The unique name for the predictive model. + * @param Google_Service_Prediction_Input $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Prediction_Output + */ + public function predict($project, $id, Google_Service_Prediction_Input $postBody, $optParams = array()) + { + $params = array('project' => $project, 'id' => $id, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('predict', array($params), "Google_Service_Prediction_Output"); + } + /** + * Add new data to a trained model. (trainedmodels.update) + * + * @param string $project The project associated with the model. + * @param string $id The unique name for the predictive model. + * @param Google_Service_Prediction_Update $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Prediction_Insert2 + */ + public function update($project, $id, Google_Service_Prediction_Update $postBody, $optParams = array()) + { + $params = array('project' => $project, 'id' => $id, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('update', array($params), "Google_Service_Prediction_Insert2"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Prediction/Update.php b/vendor/google/apiclient-services/src/Google/Service/Prediction/Update.php new file mode 100644 index 00000000..db3f867e --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Prediction/Update.php @@ -0,0 +1,40 @@ +csvInstance = $csvInstance; + } + public function getCsvInstance() + { + return $this->csvInstance; + } + public function setOutput($output) + { + $this->output = $output; + } + public function getOutput() + { + return $this->output; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Proximitybeacon.php b/vendor/google/apiclient-services/src/Google/Service/Proximitybeacon.php new file mode 100644 index 00000000..81638c22 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Proximitybeacon.php @@ -0,0 +1,353 @@ + + * Registers, manages, indexes, and searches beacons.

+ * + *

+ * For more information about this service, see the API + * Documentation + *

+ * + * @author Google, Inc. + */ +class Google_Service_Proximitybeacon extends Google_Service +{ + /** View and modify your beacons. */ + const USERLOCATION_BEACON_REGISTRY = + "https://www.googleapis.com/auth/userlocation.beacon.registry"; + + public $beaconinfo; + public $beacons; + public $beacons_attachments; + public $beacons_diagnostics; + public $namespaces; + public $v1beta1; + + /** + * Constructs the internal representation of the Proximitybeacon service. + * + * @param Google_Client $client + */ + public function __construct(Google_Client $client) + { + parent::__construct($client); + $this->rootUrl = 'https://proximitybeacon.googleapis.com/'; + $this->servicePath = ''; + $this->version = 'v1beta1'; + $this->serviceName = 'proximitybeacon'; + + $this->beaconinfo = new Google_Service_Proximitybeacon_Resource_Beaconinfo( + $this, + $this->serviceName, + 'beaconinfo', + array( + 'methods' => array( + 'getforobserved' => array( + 'path' => 'v1beta1/beaconinfo:getforobserved', + 'httpMethod' => 'POST', + 'parameters' => array(), + ), + ) + ) + ); + $this->beacons = new Google_Service_Proximitybeacon_Resource_Beacons( + $this, + $this->serviceName, + 'beacons', + array( + 'methods' => array( + 'activate' => array( + 'path' => 'v1beta1/{+beaconName}:activate', + 'httpMethod' => 'POST', + 'parameters' => array( + 'beaconName' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'projectId' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'deactivate' => array( + 'path' => 'v1beta1/{+beaconName}:deactivate', + 'httpMethod' => 'POST', + 'parameters' => array( + 'beaconName' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'projectId' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'decommission' => array( + 'path' => 'v1beta1/{+beaconName}:decommission', + 'httpMethod' => 'POST', + 'parameters' => array( + 'beaconName' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'projectId' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'delete' => array( + 'path' => 'v1beta1/{+beaconName}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'beaconName' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'projectId' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'get' => array( + 'path' => 'v1beta1/{+beaconName}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'beaconName' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'projectId' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'list' => array( + 'path' => 'v1beta1/beacons', + 'httpMethod' => 'GET', + 'parameters' => array( + 'q' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pageSize' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'projectId' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'register' => array( + 'path' => 'v1beta1/beacons:register', + 'httpMethod' => 'POST', + 'parameters' => array( + 'projectId' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'update' => array( + 'path' => 'v1beta1/{+beaconName}', + 'httpMethod' => 'PUT', + 'parameters' => array( + 'beaconName' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'projectId' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + $this->beacons_attachments = new Google_Service_Proximitybeacon_Resource_BeaconsAttachments( + $this, + $this->serviceName, + 'attachments', + array( + 'methods' => array( + 'batchDelete' => array( + 'path' => 'v1beta1/{+beaconName}/attachments:batchDelete', + 'httpMethod' => 'POST', + 'parameters' => array( + 'beaconName' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'namespacedType' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'projectId' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'create' => array( + 'path' => 'v1beta1/{+beaconName}/attachments', + 'httpMethod' => 'POST', + 'parameters' => array( + 'beaconName' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'projectId' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'delete' => array( + 'path' => 'v1beta1/{+attachmentName}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'attachmentName' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'projectId' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'list' => array( + 'path' => 'v1beta1/{+beaconName}/attachments', + 'httpMethod' => 'GET', + 'parameters' => array( + 'beaconName' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'namespacedType' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'projectId' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + $this->beacons_diagnostics = new Google_Service_Proximitybeacon_Resource_BeaconsDiagnostics( + $this, + $this->serviceName, + 'diagnostics', + array( + 'methods' => array( + 'list' => array( + 'path' => 'v1beta1/{+beaconName}/diagnostics', + 'httpMethod' => 'GET', + 'parameters' => array( + 'beaconName' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'pageSize' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'alertFilter' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'projectId' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + $this->namespaces = new Google_Service_Proximitybeacon_Resource_Namespaces( + $this, + $this->serviceName, + 'namespaces', + array( + 'methods' => array( + 'list' => array( + 'path' => 'v1beta1/namespaces', + 'httpMethod' => 'GET', + 'parameters' => array( + 'projectId' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'update' => array( + 'path' => 'v1beta1/{+namespaceName}', + 'httpMethod' => 'PUT', + 'parameters' => array( + 'namespaceName' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'projectId' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + $this->v1beta1 = new Google_Service_Proximitybeacon_Resource_V1beta1( + $this, + $this->serviceName, + 'v1beta1', + array( + 'methods' => array( + 'getEidparams' => array( + 'path' => 'v1beta1/eidparams', + 'httpMethod' => 'GET', + 'parameters' => array(), + ), + ) + ) + ); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Proximitybeacon/AdvertisedId.php b/vendor/google/apiclient-services/src/Google/Service/Proximitybeacon/AdvertisedId.php new file mode 100644 index 00000000..de73fa61 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Proximitybeacon/AdvertisedId.php @@ -0,0 +1,39 @@ +id = $id; + } + public function getId() + { + return $this->id; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Proximitybeacon/AttachmentInfo.php b/vendor/google/apiclient-services/src/Google/Service/Proximitybeacon/AttachmentInfo.php new file mode 100644 index 00000000..88213c41 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Proximitybeacon/AttachmentInfo.php @@ -0,0 +1,39 @@ +data = $data; + } + public function getData() + { + return $this->data; + } + public function setNamespacedType($namespacedType) + { + $this->namespacedType = $namespacedType; + } + public function getNamespacedType() + { + return $this->namespacedType; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Proximitybeacon/Beacon.php b/vendor/google/apiclient-services/src/Google/Service/Proximitybeacon/Beacon.php new file mode 100644 index 00000000..e2713f2e --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Proximitybeacon/Beacon.php @@ -0,0 +1,124 @@ +advertisedId = $advertisedId; + } + public function getAdvertisedId() + { + return $this->advertisedId; + } + public function setBeaconName($beaconName) + { + $this->beaconName = $beaconName; + } + public function getBeaconName() + { + return $this->beaconName; + } + public function setDescription($description) + { + $this->description = $description; + } + public function getDescription() + { + return $this->description; + } + public function setEphemeralIdRegistration(Google_Service_Proximitybeacon_EphemeralIdRegistration $ephemeralIdRegistration) + { + $this->ephemeralIdRegistration = $ephemeralIdRegistration; + } + public function getEphemeralIdRegistration() + { + return $this->ephemeralIdRegistration; + } + public function setExpectedStability($expectedStability) + { + $this->expectedStability = $expectedStability; + } + public function getExpectedStability() + { + return $this->expectedStability; + } + public function setIndoorLevel(Google_Service_Proximitybeacon_IndoorLevel $indoorLevel) + { + $this->indoorLevel = $indoorLevel; + } + public function getIndoorLevel() + { + return $this->indoorLevel; + } + public function setLatLng(Google_Service_Proximitybeacon_LatLng $latLng) + { + $this->latLng = $latLng; + } + public function getLatLng() + { + return $this->latLng; + } + public function setPlaceId($placeId) + { + $this->placeId = $placeId; + } + public function getPlaceId() + { + return $this->placeId; + } + public function setProperties($properties) + { + $this->properties = $properties; + } + public function getProperties() + { + return $this->properties; + } + public function setProvisioningKey($provisioningKey) + { + $this->provisioningKey = $provisioningKey; + } + public function getProvisioningKey() + { + return $this->provisioningKey; + } + public function setStatus($status) + { + $this->status = $status; + } + public function getStatus() + { + return $this->status; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Proximitybeacon/BeaconAttachment.php b/vendor/google/apiclient-services/src/Google/Service/Proximitybeacon/BeaconAttachment.php new file mode 100644 index 00000000..05d76e8c --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Proximitybeacon/BeaconAttachment.php @@ -0,0 +1,57 @@ +attachmentName = $attachmentName; + } + public function getAttachmentName() + { + return $this->attachmentName; + } + public function setCreationTimeMs($creationTimeMs) + { + $this->creationTimeMs = $creationTimeMs; + } + public function getCreationTimeMs() + { + return $this->creationTimeMs; + } + public function setData($data) + { + $this->data = $data; + } + public function getData() + { + return $this->data; + } + public function setNamespacedType($namespacedType) + { + $this->namespacedType = $namespacedType; + } + public function getNamespacedType() + { + return $this->namespacedType; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Proximitybeacon/BeaconInfo.php b/vendor/google/apiclient-services/src/Google/Service/Proximitybeacon/BeaconInfo.php new file mode 100644 index 00000000..cd360398 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Proximitybeacon/BeaconInfo.php @@ -0,0 +1,51 @@ +advertisedId = $advertisedId; + } + public function getAdvertisedId() + { + return $this->advertisedId; + } + public function setAttachments($attachments) + { + $this->attachments = $attachments; + } + public function getAttachments() + { + return $this->attachments; + } + public function setBeaconName($beaconName) + { + $this->beaconName = $beaconName; + } + public function getBeaconName() + { + return $this->beaconName; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Proximitybeacon/Date.php b/vendor/google/apiclient-services/src/Google/Service/Proximitybeacon/Date.php new file mode 100644 index 00000000..14b2ebbc --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Proximitybeacon/Date.php @@ -0,0 +1,48 @@ +day = $day; + } + public function getDay() + { + return $this->day; + } + public function setMonth($month) + { + $this->month = $month; + } + public function getMonth() + { + return $this->month; + } + public function setYear($year) + { + $this->year = $year; + } + public function getYear() + { + return $this->year; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Proximitybeacon/DeleteAttachmentsResponse.php b/vendor/google/apiclient-services/src/Google/Service/Proximitybeacon/DeleteAttachmentsResponse.php new file mode 100644 index 00000000..edccbfbd --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Proximitybeacon/DeleteAttachmentsResponse.php @@ -0,0 +1,30 @@ +numDeleted = $numDeleted; + } + public function getNumDeleted() + { + return $this->numDeleted; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Proximitybeacon/Diagnostics.php b/vendor/google/apiclient-services/src/Google/Service/Proximitybeacon/Diagnostics.php new file mode 100644 index 00000000..6294b534 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Proximitybeacon/Diagnostics.php @@ -0,0 +1,50 @@ +alerts = $alerts; + } + public function getAlerts() + { + return $this->alerts; + } + public function setBeaconName($beaconName) + { + $this->beaconName = $beaconName; + } + public function getBeaconName() + { + return $this->beaconName; + } + public function setEstimatedLowBatteryDate(Google_Service_Proximitybeacon_Date $estimatedLowBatteryDate) + { + $this->estimatedLowBatteryDate = $estimatedLowBatteryDate; + } + public function getEstimatedLowBatteryDate() + { + return $this->estimatedLowBatteryDate; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Proximitybeacon/EphemeralIdRegistration.php b/vendor/google/apiclient-services/src/Google/Service/Proximitybeacon/EphemeralIdRegistration.php new file mode 100644 index 00000000..0859c14b --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Proximitybeacon/EphemeralIdRegistration.php @@ -0,0 +1,75 @@ +beaconEcdhPublicKey = $beaconEcdhPublicKey; + } + public function getBeaconEcdhPublicKey() + { + return $this->beaconEcdhPublicKey; + } + public function setBeaconIdentityKey($beaconIdentityKey) + { + $this->beaconIdentityKey = $beaconIdentityKey; + } + public function getBeaconIdentityKey() + { + return $this->beaconIdentityKey; + } + public function setInitialClockValue($initialClockValue) + { + $this->initialClockValue = $initialClockValue; + } + public function getInitialClockValue() + { + return $this->initialClockValue; + } + public function setInitialEid($initialEid) + { + $this->initialEid = $initialEid; + } + public function getInitialEid() + { + return $this->initialEid; + } + public function setRotationPeriodExponent($rotationPeriodExponent) + { + $this->rotationPeriodExponent = $rotationPeriodExponent; + } + public function getRotationPeriodExponent() + { + return $this->rotationPeriodExponent; + } + public function setServiceEcdhPublicKey($serviceEcdhPublicKey) + { + $this->serviceEcdhPublicKey = $serviceEcdhPublicKey; + } + public function getServiceEcdhPublicKey() + { + return $this->serviceEcdhPublicKey; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Proximitybeacon/EphemeralIdRegistrationParams.php b/vendor/google/apiclient-services/src/Google/Service/Proximitybeacon/EphemeralIdRegistrationParams.php new file mode 100644 index 00000000..38577f17 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Proximitybeacon/EphemeralIdRegistrationParams.php @@ -0,0 +1,48 @@ +maxRotationPeriodExponent = $maxRotationPeriodExponent; + } + public function getMaxRotationPeriodExponent() + { + return $this->maxRotationPeriodExponent; + } + public function setMinRotationPeriodExponent($minRotationPeriodExponent) + { + $this->minRotationPeriodExponent = $minRotationPeriodExponent; + } + public function getMinRotationPeriodExponent() + { + return $this->minRotationPeriodExponent; + } + public function setServiceEcdhPublicKey($serviceEcdhPublicKey) + { + $this->serviceEcdhPublicKey = $serviceEcdhPublicKey; + } + public function getServiceEcdhPublicKey() + { + return $this->serviceEcdhPublicKey; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Proximitybeacon/GetInfoForObservedBeaconsRequest.php b/vendor/google/apiclient-services/src/Google/Service/Proximitybeacon/GetInfoForObservedBeaconsRequest.php new file mode 100644 index 00000000..e530615a --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Proximitybeacon/GetInfoForObservedBeaconsRequest.php @@ -0,0 +1,41 @@ +namespacedTypes = $namespacedTypes; + } + public function getNamespacedTypes() + { + return $this->namespacedTypes; + } + public function setObservations($observations) + { + $this->observations = $observations; + } + public function getObservations() + { + return $this->observations; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Proximitybeacon/GetInfoForObservedBeaconsResponse.php b/vendor/google/apiclient-services/src/Google/Service/Proximitybeacon/GetInfoForObservedBeaconsResponse.php new file mode 100644 index 00000000..8522a546 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Proximitybeacon/GetInfoForObservedBeaconsResponse.php @@ -0,0 +1,32 @@ +beacons = $beacons; + } + public function getBeacons() + { + return $this->beacons; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Proximitybeacon/IndoorLevel.php b/vendor/google/apiclient-services/src/Google/Service/Proximitybeacon/IndoorLevel.php new file mode 100644 index 00000000..a2506345 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Proximitybeacon/IndoorLevel.php @@ -0,0 +1,30 @@ +name = $name; + } + public function getName() + { + return $this->name; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Proximitybeacon/LatLng.php b/vendor/google/apiclient-services/src/Google/Service/Proximitybeacon/LatLng.php new file mode 100644 index 00000000..e79bdeb5 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Proximitybeacon/LatLng.php @@ -0,0 +1,39 @@ +latitude = $latitude; + } + public function getLatitude() + { + return $this->latitude; + } + public function setLongitude($longitude) + { + $this->longitude = $longitude; + } + public function getLongitude() + { + return $this->longitude; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Proximitybeacon/ListBeaconAttachmentsResponse.php b/vendor/google/apiclient-services/src/Google/Service/Proximitybeacon/ListBeaconAttachmentsResponse.php new file mode 100644 index 00000000..bd04678e --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Proximitybeacon/ListBeaconAttachmentsResponse.php @@ -0,0 +1,32 @@ +attachments = $attachments; + } + public function getAttachments() + { + return $this->attachments; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Proximitybeacon/ListBeaconsResponse.php b/vendor/google/apiclient-services/src/Google/Service/Proximitybeacon/ListBeaconsResponse.php new file mode 100644 index 00000000..3a9d6eaf --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Proximitybeacon/ListBeaconsResponse.php @@ -0,0 +1,50 @@ +beacons = $beacons; + } + public function getBeacons() + { + return $this->beacons; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setTotalCount($totalCount) + { + $this->totalCount = $totalCount; + } + public function getTotalCount() + { + return $this->totalCount; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Proximitybeacon/ListDiagnosticsResponse.php b/vendor/google/apiclient-services/src/Google/Service/Proximitybeacon/ListDiagnosticsResponse.php new file mode 100644 index 00000000..e60e49f7 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Proximitybeacon/ListDiagnosticsResponse.php @@ -0,0 +1,41 @@ +diagnostics = $diagnostics; + } + public function getDiagnostics() + { + return $this->diagnostics; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Proximitybeacon/ListNamespacesResponse.php b/vendor/google/apiclient-services/src/Google/Service/Proximitybeacon/ListNamespacesResponse.php new file mode 100644 index 00000000..2fc56989 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Proximitybeacon/ListNamespacesResponse.php @@ -0,0 +1,32 @@ +namespaces = $namespaces; + } + public function getNamespaces() + { + return $this->namespaces; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Proximitybeacon/Observation.php b/vendor/google/apiclient-services/src/Google/Service/Proximitybeacon/Observation.php new file mode 100644 index 00000000..d8095521 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Proximitybeacon/Observation.php @@ -0,0 +1,49 @@ +advertisedId = $advertisedId; + } + public function getAdvertisedId() + { + return $this->advertisedId; + } + public function setTelemetry($telemetry) + { + $this->telemetry = $telemetry; + } + public function getTelemetry() + { + return $this->telemetry; + } + public function setTimestampMs($timestampMs) + { + $this->timestampMs = $timestampMs; + } + public function getTimestampMs() + { + return $this->timestampMs; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Proximitybeacon/ProximitybeaconEmpty.php b/vendor/google/apiclient-services/src/Google/Service/Proximitybeacon/ProximitybeaconEmpty.php new file mode 100644 index 00000000..5bcf3afb --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Proximitybeacon/ProximitybeaconEmpty.php @@ -0,0 +1,20 @@ +namespaceName = $namespaceName; + } + public function getNamespaceName() + { + return $this->namespaceName; + } + public function setServingVisibility($servingVisibility) + { + $this->servingVisibility = $servingVisibility; + } + public function getServingVisibility() + { + return $this->servingVisibility; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Proximitybeacon/Resource/Beaconinfo.php b/vendor/google/apiclient-services/src/Google/Service/Proximitybeacon/Resource/Beaconinfo.php new file mode 100644 index 00000000..0208cc15 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Proximitybeacon/Resource/Beaconinfo.php @@ -0,0 +1,44 @@ + + * $proximitybeaconService = new Google_Service_Proximitybeacon(...); + * $beaconinfo = $proximitybeaconService->beaconinfo; + * + */ +class Google_Service_Proximitybeacon_Resource_Beaconinfo extends Google_Service_Resource +{ + /** + * Given one or more beacon observations, returns any beacon information and + * attachments accessible to your application. Authorize by using the [API + * key](https://developers.google.com/beacons/proximity/how- + * tos/authorizing#APIKey) for the application. (beaconinfo.getforobserved) + * + * @param Google_Service_Proximitybeacon_GetInfoForObservedBeaconsRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Proximitybeacon_GetInfoForObservedBeaconsResponse + */ + public function getforobserved(Google_Service_Proximitybeacon_GetInfoForObservedBeaconsRequest $postBody, $optParams = array()) + { + $params = array('postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('getforobserved', array($params), "Google_Service_Proximitybeacon_GetInfoForObservedBeaconsResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Proximitybeacon/Resource/Beacons.php b/vendor/google/apiclient-services/src/Google/Service/Proximitybeacon/Resource/Beacons.php new file mode 100644 index 00000000..1600280c --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Proximitybeacon/Resource/Beacons.php @@ -0,0 +1,316 @@ + + * $proximitybeaconService = new Google_Service_Proximitybeacon(...); + * $beacons = $proximitybeaconService->beacons; + * + */ +class Google_Service_Proximitybeacon_Resource_Beacons extends Google_Service_Resource +{ + /** + * Activates a beacon. A beacon that is active will return information and + * attachment data when queried via `beaconinfo.getforobserved`. Calling this + * method on an already active beacon will do nothing (but will return a + * successful response code). + * + * Authenticate using an [OAuth access + * token](https://developers.google.com/identity/protocols/OAuth2) from a + * signed-in user with **Is owner** or **Can edit** permissions in the Google + * Developers Console project. (beacons.activate) + * + * @param string $beaconName Beacon that should be activated. A beacon name has + * the format "beacons/N!beaconId" where the beaconId is the base16 ID broadcast + * by the beacon and N is a code for the beacon's type. Possible values are `3` + * for Eddystone-UID, `4` for Eddystone-EID, `1` for iBeacon, or `5` for + * AltBeacon. For Eddystone-EID beacons, you may use either the current EID or + * the beacon's "stable" UID. Required. + * @param array $optParams Optional parameters. + * + * @opt_param string projectId The project id of the beacon to activate. If the + * project id is not specified then the project making the request is used. The + * project id must match the project that owns the beacon. Optional. + * @return Google_Service_Proximitybeacon_ProximitybeaconEmpty + */ + public function activate($beaconName, $optParams = array()) + { + $params = array('beaconName' => $beaconName); + $params = array_merge($params, $optParams); + return $this->call('activate', array($params), "Google_Service_Proximitybeacon_ProximitybeaconEmpty"); + } + /** + * Deactivates a beacon. Once deactivated, the API will not return information + * nor attachment data for the beacon when queried via + * `beaconinfo.getforobserved`. Calling this method on an already inactive + * beacon will do nothing (but will return a successful response code). + * + * Authenticate using an [OAuth access + * token](https://developers.google.com/identity/protocols/OAuth2) from a + * signed-in user with **Is owner** or **Can edit** permissions in the Google + * Developers Console project. (beacons.deactivate) + * + * @param string $beaconName Beacon that should be deactivated. A beacon name + * has the format "beacons/N!beaconId" where the beaconId is the base16 ID + * broadcast by the beacon and N is a code for the beacon's type. Possible + * values are `3` for Eddystone-UID, `4` for Eddystone-EID, `1` for iBeacon, or + * `5` for AltBeacon. For Eddystone-EID beacons, you may use either the current + * EID or the beacon's "stable" UID. Required. + * @param array $optParams Optional parameters. + * + * @opt_param string projectId The project id of the beacon to deactivate. If + * the project id is not specified then the project making the request is used. + * The project id must match the project that owns the beacon. Optional. + * @return Google_Service_Proximitybeacon_ProximitybeaconEmpty + */ + public function deactivate($beaconName, $optParams = array()) + { + $params = array('beaconName' => $beaconName); + $params = array_merge($params, $optParams); + return $this->call('deactivate', array($params), "Google_Service_Proximitybeacon_ProximitybeaconEmpty"); + } + /** + * Decommissions the specified beacon in the service. This beacon will no longer + * be returned from `beaconinfo.getforobserved`. This operation is permanent -- + * you will not be able to re-register a beacon with this ID again. + * + * Authenticate using an [OAuth access + * token](https://developers.google.com/identity/protocols/OAuth2) from a + * signed-in user with **Is owner** or **Can edit** permissions in the Google + * Developers Console project. (beacons.decommission) + * + * @param string $beaconName Beacon that should be decommissioned. A beacon name + * has the format "beacons/N!beaconId" where the beaconId is the base16 ID + * broadcast by the beacon and N is a code for the beacon's type. Possible + * values are `3` for Eddystone-UID, `4` for Eddystone-EID, `1` for iBeacon, or + * `5` for AltBeacon. For Eddystone-EID beacons, you may use either the current + * EID of the beacon's "stable" UID. Required. + * @param array $optParams Optional parameters. + * + * @opt_param string projectId The project id of the beacon to decommission. If + * the project id is not specified then the project making the request is used. + * The project id must match the project that owns the beacon. Optional. + * @return Google_Service_Proximitybeacon_ProximitybeaconEmpty + */ + public function decommission($beaconName, $optParams = array()) + { + $params = array('beaconName' => $beaconName); + $params = array_merge($params, $optParams); + return $this->call('decommission', array($params), "Google_Service_Proximitybeacon_ProximitybeaconEmpty"); + } + /** + * Deletes the specified beacon including all diagnostics data for the beacon as + * well as any attachments on the beacon (including those belonging to other + * projects). This operation cannot be undone. + * + * Authenticate using an [OAuth access + * token](https://developers.google.com/identity/protocols/OAuth2) from a + * signed-in user with **Is owner** or **Can edit** permissions in the Google + * Developers Console project. (beacons.delete) + * + * @param string $beaconName Beacon that should be deleted. A beacon name has + * the format "beacons/N!beaconId" where the beaconId is the base16 ID broadcast + * by the beacon and N is a code for the beacon's type. Possible values are `3` + * for Eddystone-UID, `4` for Eddystone-EID, `1` for iBeacon, or `5` for + * AltBeacon. For Eddystone-EID beacons, you may use either the current EID or + * the beacon's "stable" UID. Required. + * @param array $optParams Optional parameters. + * + * @opt_param string projectId The project id of the beacon to delete. If not + * provided, the project that is making the request is used. Optional. + * @return Google_Service_Proximitybeacon_ProximitybeaconEmpty + */ + public function delete($beaconName, $optParams = array()) + { + $params = array('beaconName' => $beaconName); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params), "Google_Service_Proximitybeacon_ProximitybeaconEmpty"); + } + /** + * Returns detailed information about the specified beacon. + * + * Authenticate using an [OAuth access + * token](https://developers.google.com/identity/protocols/OAuth2) from a + * signed-in user with **viewer**, **Is owner** or **Can edit** permissions in + * the Google Developers Console project. + * + * Requests may supply an Eddystone-EID beacon name in the form: + * `beacons/4!beaconId` where the `beaconId` is the base16 ephemeral ID + * broadcast by the beacon. The returned `Beacon` object will contain the + * beacon's stable Eddystone-UID. Clients not authorized to resolve the beacon's + * ephemeral Eddystone-EID broadcast will receive an error. (beacons.get) + * + * @param string $beaconName Resource name of this beacon. A beacon name has the + * format "beacons/N!beaconId" where the beaconId is the base16 ID broadcast by + * the beacon and N is a code for the beacon's type. Possible values are `3` for + * Eddystone-UID, `4` for Eddystone-EID, `1` for iBeacon, or `5` for AltBeacon. + * For Eddystone-EID beacons, you may use either the current EID or the beacon's + * "stable" UID. Required. + * @param array $optParams Optional parameters. + * + * @opt_param string projectId The project id of the beacon to request. If the + * project id is not specified then the project making the request is used. The + * project id must match the project that owns the beacon. Optional. + * @return Google_Service_Proximitybeacon_Beacon + */ + public function get($beaconName, $optParams = array()) + { + $params = array('beaconName' => $beaconName); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Proximitybeacon_Beacon"); + } + /** + * Searches the beacon registry for beacons that match the given search + * criteria. Only those beacons that the client has permission to list will be + * returned. + * + * Authenticate using an [OAuth access + * token](https://developers.google.com/identity/protocols/OAuth2) from a + * signed-in user with **viewer**, **Is owner** or **Can edit** permissions in + * the Google Developers Console project. (beacons.listBeacons) + * + * @param array $optParams Optional parameters. + * + * @opt_param string q Filter query string that supports the following field + * filters: + * + * * **description:`""`** For example: **description:"Room 3"** Returns + * beacons whose description matches tokens in the string "Room 3" (not + * necessarily that exact string). The string must be double-quoted. * + * **status:``** For example: **status:active** Returns beacons whose status + * matches the given value. Values must be one of the Beacon.Status enum + * values (case insensitive). Accepts multiple filters which will be combined + * with OR logic. * **stability:``** For example: **stability:mobile** + * Returns beacons whose expected stability matches the given value. Values + * must be one of the Beacon.Stability enum values (case insensitive). Accepts + * multiple filters which will be combined with OR logic. * **place\_id:`""`** + * For example: **place\_id:"ChIJVSZzVR8FdkgRXGmmm6SslKw="** Returns beacons + * explicitly registered at the given place, expressed as a Place ID obtained + * from [Google Places API](/places/place-id). Does not match places inside + * the given place. Does not consider the beacon's actual location (which may + * be different from its registered place). Accepts multiple filters that will + * be combined with OR logic. The place ID must be double-quoted. * + * **registration\_time`[<|>|<=|>=]`** For example: + * **registration\_time>=1433116800** Returns beacons whose registration time + * matches the given filter. Supports the operators: <, >, <=, and >=. + * Timestamp must be expressed as an integer number of seconds since midnight + * January 1, 1970 UTC. Accepts at most two filters that will be combined with + * AND logic, to support "between" semantics. If more than two are supplied, + * the latter ones are ignored. * **lat:` lng: radius:`** For example: + * **lat:51.1232343 lng:-1.093852 radius:1000** Returns beacons whose + * registered location is within the given circle. When any of these fields + * are given, all are required. Latitude and longitude must be decimal degrees + * between -90.0 and 90.0 and between -180.0 and 180.0 respectively. Radius + * must be an integer number of meters between 10 and 1,000,000 (1000 km). * + * **property:`"="`** For example: **property:"battery-type=CR2032"** + * Returns beacons which have a property of the given name and value. Supports + * multiple filters which will be combined with OR logic. The entire + * name=value string must be double-quoted as one string. * + * **attachment\_type:`""`** For example: **attachment_type:"my-namespace/my- + * type"** Returns beacons having at least one attachment of the given + * namespaced type. Supports "any within this namespace" via the partial + * wildcard syntax: "my-namespace". Supports multiple filters which will be + * combined with OR logic. The string must be double-quoted. * + * **indoor\_level:`""`** For example: **indoor\_level:"1"** Returns beacons + * which are located on the given indoor level. Accepts multiple filters that + * will be combined with OR logic. + * + * Multiple filters on the same field are combined with OR logic (except + * registration_time which is combined with AND logic). Multiple filters on + * different fields are combined with AND logic. Filters should be separated by + * spaces. + * + * As with any HTTP query string parameter, the whole filter expression must be + * URL-encoded. + * + * Example REST request: `GET + * /v1beta1/beacons?q=status:active%20lat:51.123%20lng:-1.095%20radius:1000` + * @opt_param int pageSize The maximum number of records to return for this + * request, up to a server-defined upper limit. + * @opt_param string pageToken A pagination token obtained from a previous + * request to list beacons. + * @opt_param string projectId The project id to list beacons under. If not + * present then the project credential that made the request is used as the + * project. Optional. + * @return Google_Service_Proximitybeacon_ListBeaconsResponse + */ + public function listBeacons($optParams = array()) + { + $params = array(); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Proximitybeacon_ListBeaconsResponse"); + } + /** + * Registers a previously unregistered beacon given its `advertisedId`. These + * IDs are unique within the system. An ID can be registered only once. + * + * Authenticate using an [OAuth access + * token](https://developers.google.com/identity/protocols/OAuth2) from a + * signed-in user with **Is owner** or **Can edit** permissions in the Google + * Developers Console project. (beacons.register) + * + * @param Google_Service_Proximitybeacon_Beacon $postBody + * @param array $optParams Optional parameters. + * + * @opt_param string projectId The project id of the project the beacon will be + * registered to. If the project id is not specified then the project making the + * request is used. Optional. + * @return Google_Service_Proximitybeacon_Beacon + */ + public function register(Google_Service_Proximitybeacon_Beacon $postBody, $optParams = array()) + { + $params = array('postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('register', array($params), "Google_Service_Proximitybeacon_Beacon"); + } + /** + * Updates the information about the specified beacon. **Any field that you do + * not populate in the submitted beacon will be permanently erased**, so you + * should follow the "read, modify, write" pattern to avoid inadvertently + * destroying data. + * + * Changes to the beacon status via this method will be silently ignored. To + * update beacon status, use the separate methods on this API for activation, + * deactivation, and decommissioning. Authenticate using an [OAuth access + * token](https://developers.google.com/identity/protocols/OAuth2) from a + * signed-in user with **Is owner** or **Can edit** permissions in the Google + * Developers Console project. (beacons.update) + * + * @param string $beaconName Resource name of this beacon. A beacon name has the + * format "beacons/N!beaconId" where the beaconId is the base16 ID broadcast by + * the beacon and N is a code for the beacon's type. Possible values are `3` for + * Eddystone, `1` for iBeacon, or `5` for AltBeacon. + * + * This field must be left empty when registering. After reading a beacon, + * clients can use the name for future operations. + * @param Google_Service_Proximitybeacon_Beacon $postBody + * @param array $optParams Optional parameters. + * + * @opt_param string projectId The project id of the beacon to update. If the + * project id is not specified then the project making the request is used. The + * project id must match the project that owns the beacon. Optional. + * @return Google_Service_Proximitybeacon_Beacon + */ + public function update($beaconName, Google_Service_Proximitybeacon_Beacon $postBody, $optParams = array()) + { + $params = array('beaconName' => $beaconName, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('update', array($params), "Google_Service_Proximitybeacon_Beacon"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Proximitybeacon/Resource/BeaconsAttachments.php b/vendor/google/apiclient-services/src/Google/Service/Proximitybeacon/Resource/BeaconsAttachments.php new file mode 100644 index 00000000..694d74d6 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Proximitybeacon/Resource/BeaconsAttachments.php @@ -0,0 +1,170 @@ + + * $proximitybeaconService = new Google_Service_Proximitybeacon(...); + * $attachments = $proximitybeaconService->attachments; + * + */ +class Google_Service_Proximitybeacon_Resource_BeaconsAttachments extends Google_Service_Resource +{ + /** + * Deletes multiple attachments on a given beacon. This operation is permanent + * and cannot be undone. + * + * You can optionally specify `namespacedType` to choose which attachments + * should be deleted. If you do not specify `namespacedType`, all your + * attachments on the given beacon will be deleted. You also may explicitly + * specify `*` to delete all. + * + * Authenticate using an [OAuth access + * token](https://developers.google.com/identity/protocols/OAuth2) from a + * signed-in user with **Is owner** or **Can edit** permissions in the Google + * Developers Console project. (attachments.batchDelete) + * + * @param string $beaconName The beacon whose attachments should be deleted. A + * beacon name has the format "beacons/N!beaconId" where the beaconId is the + * base16 ID broadcast by the beacon and N is a code for the beacon's type. + * Possible values are `3` for Eddystone-UID, `4` for Eddystone-EID, `1` for + * iBeacon, or `5` for AltBeacon. For Eddystone-EID beacons, you may use either + * the current EID or the beacon's "stable" UID. Required. + * @param array $optParams Optional parameters. + * + * @opt_param string namespacedType Specifies the namespace and type of + * attachments to delete in `namespace/type` format. Accepts `*` to specify "all + * types in all namespaces". Optional. + * @opt_param string projectId The project id to delete beacon attachments + * under. This field can be used when "*" is specified to mean all attachment + * namespaces. Projects may have multiple attachments with multiple namespaces. + * If "*" is specified and the projectId string is empty, then the project + * making the request is used. Optional. + * @return Google_Service_Proximitybeacon_DeleteAttachmentsResponse + */ + public function batchDelete($beaconName, $optParams = array()) + { + $params = array('beaconName' => $beaconName); + $params = array_merge($params, $optParams); + return $this->call('batchDelete', array($params), "Google_Service_Proximitybeacon_DeleteAttachmentsResponse"); + } + /** + * Associates the given data with the specified beacon. Attachment data must + * contain two parts: + * + * A namespaced type. The actual attachment data itself. + * + * The namespaced type consists of two parts, the namespace and the type. The + * namespace must be one of the values returned by the `namespaces` endpoint, + * while the type can be a string of any characters except for the forward slash + * (`/`) up to 100 characters in length. + * + * Attachment data can be up to 1024 bytes long. + * + * Authenticate using an [OAuth access + * token](https://developers.google.com/identity/protocols/OAuth2) from a + * signed-in user with **Is owner** or **Can edit** permissions in the Google + * Developers Console project. (attachments.create) + * + * @param string $beaconName Beacon on which the attachment should be created. A + * beacon name has the format "beacons/N!beaconId" where the beaconId is the + * base16 ID broadcast by the beacon and N is a code for the beacon's type. + * Possible values are `3` for Eddystone-UID, `4` for Eddystone-EID, `1` for + * iBeacon, or `5` for AltBeacon. For Eddystone-EID beacons, you may use either + * the current EID or the beacon's "stable" UID. Required. + * @param Google_Service_Proximitybeacon_BeaconAttachment $postBody + * @param array $optParams Optional parameters. + * + * @opt_param string projectId The project id of the project the attachment will + * belong to. If the project id is not specified then the project making the + * request is used. Optional. + * @return Google_Service_Proximitybeacon_BeaconAttachment + */ + public function create($beaconName, Google_Service_Proximitybeacon_BeaconAttachment $postBody, $optParams = array()) + { + $params = array('beaconName' => $beaconName, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('create', array($params), "Google_Service_Proximitybeacon_BeaconAttachment"); + } + /** + * Deletes the specified attachment for the given beacon. Each attachment has a + * unique attachment name (`attachmentName`) which is returned when you fetch + * the attachment data via this API. You specify this with the delete request to + * control which attachment is removed. This operation cannot be undone. + * + * Authenticate using an [OAuth access + * token](https://developers.google.com/identity/protocols/OAuth2) from a + * signed-in user with **Is owner** or **Can edit** permissions in the Google + * Developers Console project. (attachments.delete) + * + * @param string $attachmentName The attachment name (`attachmentName`) of the + * attachment to remove. For example: + * `beacons/3!893737abc9/attachments/c5e937-af0-494-959-ec49d12738`. For + * Eddystone-EID beacons, the beacon ID portion (`3!893737abc9`) may be the + * beacon's current EID, or its "stable" Eddystone-UID. Required. + * @param array $optParams Optional parameters. + * + * @opt_param string projectId The project id of the attachment to delete. If + * not provided, the project that is making the request is used. Optional. + * @return Google_Service_Proximitybeacon_ProximitybeaconEmpty + */ + public function delete($attachmentName, $optParams = array()) + { + $params = array('attachmentName' => $attachmentName); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params), "Google_Service_Proximitybeacon_ProximitybeaconEmpty"); + } + /** + * Returns the attachments for the specified beacon that match the specified + * namespaced-type pattern. + * + * To control which namespaced types are returned, you add the `namespacedType` + * query parameter to the request. You must either use `*`, to return all + * attachments, or the namespace must be one of the ones returned from the + * `namespaces` endpoint. + * + * Authenticate using an [OAuth access + * token](https://developers.google.com/identity/protocols/OAuth2) from a + * signed-in user with **viewer**, **Is owner** or **Can edit** permissions in + * the Google Developers Console project. (attachments.listBeaconsAttachments) + * + * @param string $beaconName Beacon whose attachments should be fetched. A + * beacon name has the format "beacons/N!beaconId" where the beaconId is the + * base16 ID broadcast by the beacon and N is a code for the beacon's type. + * Possible values are `3` for Eddystone-UID, `4` for Eddystone-EID, `1` for + * iBeacon, or `5` for AltBeacon. For Eddystone-EID beacons, you may use either + * the current EID or the beacon's "stable" UID. Required. + * @param array $optParams Optional parameters. + * + * @opt_param string namespacedType Specifies the namespace and type of + * attachment to include in response in namespace/type format. Accepts `*` to + * specify "all types in all namespaces". + * @opt_param string projectId The project id to list beacon attachments under. + * This field can be used when "*" is specified to mean all attachment + * namespaces. Projects may have multiple attachments with multiple namespaces. + * If "*" is specified and the projectId string is empty, then the project + * making the request is used. Optional. + * @return Google_Service_Proximitybeacon_ListBeaconAttachmentsResponse + */ + public function listBeaconsAttachments($beaconName, $optParams = array()) + { + $params = array('beaconName' => $beaconName); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Proximitybeacon_ListBeaconAttachmentsResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Proximitybeacon/Resource/BeaconsDiagnostics.php b/vendor/google/apiclient-services/src/Google/Service/Proximitybeacon/Resource/BeaconsDiagnostics.php new file mode 100644 index 00000000..de301528 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Proximitybeacon/Resource/BeaconsDiagnostics.php @@ -0,0 +1,59 @@ + + * $proximitybeaconService = new Google_Service_Proximitybeacon(...); + * $diagnostics = $proximitybeaconService->diagnostics; + * + */ +class Google_Service_Proximitybeacon_Resource_BeaconsDiagnostics extends Google_Service_Resource +{ + /** + * List the diagnostics for a single beacon. You can also list diagnostics for + * all the beacons owned by your Google Developers Console project by using the + * beacon name `beacons/-`. + * + * Authenticate using an [OAuth access + * token](https://developers.google.com/identity/protocols/OAuth2) from a + * signed-in user with **viewer**, **Is owner** or **Can edit** permissions in + * the Google Developers Console project. (diagnostics.listBeaconsDiagnostics) + * + * @param string $beaconName Beacon that the diagnostics are for. + * @param array $optParams Optional parameters. + * + * @opt_param int pageSize Specifies the maximum number of results to return. + * Defaults to 10. Maximum 1000. Optional. + * @opt_param string alertFilter Requests only beacons that have the given + * alert. For example, to find beacons that have low batteries use + * `alert_filter=LOW_BATTERY`. + * @opt_param string pageToken Requests results that occur after the + * `page_token`, obtained from the response to a previous request. Optional. + * @opt_param string projectId Requests only diagnostic records for the given + * project id. If not set, then the project making the request will be used for + * looking up diagnostic records. Optional. + * @return Google_Service_Proximitybeacon_ListDiagnosticsResponse + */ + public function listBeaconsDiagnostics($beaconName, $optParams = array()) + { + $params = array('beaconName' => $beaconName); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Proximitybeacon_ListDiagnosticsResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Proximitybeacon/Resource/Namespaces.php b/vendor/google/apiclient-services/src/Google/Service/Proximitybeacon/Resource/Namespaces.php new file mode 100644 index 00000000..545a574d --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Proximitybeacon/Resource/Namespaces.php @@ -0,0 +1,70 @@ + + * $proximitybeaconService = new Google_Service_Proximitybeacon(...); + * $namespaces = $proximitybeaconService->namespaces; + * + */ +class Google_Service_Proximitybeacon_Resource_Namespaces extends Google_Service_Resource +{ + /** + * Lists all attachment namespaces owned by your Google Developers Console + * project. Attachment data associated with a beacon must include a namespaced + * type, and the namespace must be owned by your project. + * + * Authenticate using an [OAuth access + * token](https://developers.google.com/identity/protocols/OAuth2) from a + * signed-in user with **viewer**, **Is owner** or **Can edit** permissions in + * the Google Developers Console project. (namespaces.listNamespaces) + * + * @param array $optParams Optional parameters. + * + * @opt_param string projectId The project id to list namespaces under. + * Optional. + * @return Google_Service_Proximitybeacon_ListNamespacesResponse + */ + public function listNamespaces($optParams = array()) + { + $params = array(); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Proximitybeacon_ListNamespacesResponse"); + } + /** + * Updates the information about the specified namespace. Only the namespace + * visibility can be updated. (namespaces.update) + * + * @param string $namespaceName Resource name of this namespace. Namespaces + * names have the format: namespaces/namespace. + * @param Google_Service_Proximitybeacon_ProximitybeaconNamespace $postBody + * @param array $optParams Optional parameters. + * + * @opt_param string projectId The project id of the namespace to update. If the + * project id is not specified then the project making the request is used. The + * project id must match the project that owns the beacon. Optional. + * @return Google_Service_Proximitybeacon_ProximitybeaconNamespace + */ + public function update($namespaceName, Google_Service_Proximitybeacon_ProximitybeaconNamespace $postBody, $optParams = array()) + { + $params = array('namespaceName' => $namespaceName, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('update', array($params), "Google_Service_Proximitybeacon_ProximitybeaconNamespace"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Proximitybeacon/Resource/V1beta1.php b/vendor/google/apiclient-services/src/Google/Service/Proximitybeacon/Resource/V1beta1.php new file mode 100644 index 00000000..2d1b40be --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Proximitybeacon/Resource/V1beta1.php @@ -0,0 +1,46 @@ + + * $proximitybeaconService = new Google_Service_Proximitybeacon(...); + * $v1beta1 = $proximitybeaconService->v1beta1; + * + */ +class Google_Service_Proximitybeacon_Resource_V1beta1 extends Google_Service_Resource +{ + /** + * Gets the Proximity Beacon API's current public key and associated parameters + * used to initiate the Diffie-Hellman key exchange required to register a + * beacon that broadcasts the Eddystone-EID format. This key changes + * periodically; clients may cache it and re-use the same public key to + * provision and register multiple beacons. However, clients should be prepared + * to refresh this key when they encounter an error registering an Eddystone-EID + * beacon. (v1beta1.getEidparams) + * + * @param array $optParams Optional parameters. + * @return Google_Service_Proximitybeacon_EphemeralIdRegistrationParams + */ + public function getEidparams($optParams = array()) + { + $params = array(); + $params = array_merge($params, $optParams); + return $this->call('getEidparams', array($params), "Google_Service_Proximitybeacon_EphemeralIdRegistrationParams"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Pubsub.php b/vendor/google/apiclient-services/src/Google/Service/Pubsub.php new file mode 100644 index 00000000..d6b15be1 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Pubsub.php @@ -0,0 +1,353 @@ + + * Provides reliable, many-to-many, asynchronous messaging between applications.

+ * + *

+ * For more information about this service, see the API + * Documentation + *

+ * + * @author Google, Inc. + */ +class Google_Service_Pubsub extends Google_Service +{ + /** View and manage your data across Google Cloud Platform services. */ + const CLOUD_PLATFORM = + "https://www.googleapis.com/auth/cloud-platform"; + /** View and manage Pub/Sub topics and subscriptions. */ + const PUBSUB = + "https://www.googleapis.com/auth/pubsub"; + + public $projects_snapshots; + public $projects_subscriptions; + public $projects_topics; + public $projects_topics_subscriptions; + + /** + * Constructs the internal representation of the Pubsub service. + * + * @param Google_Client $client + */ + public function __construct(Google_Client $client) + { + parent::__construct($client); + $this->rootUrl = 'https://pubsub.googleapis.com/'; + $this->servicePath = ''; + $this->version = 'v1'; + $this->serviceName = 'pubsub'; + + $this->projects_snapshots = new Google_Service_Pubsub_Resource_ProjectsSnapshots( + $this, + $this->serviceName, + 'snapshots', + array( + 'methods' => array( + 'getIamPolicy' => array( + 'path' => 'v1/{+resource}:getIamPolicy', + 'httpMethod' => 'GET', + 'parameters' => array( + 'resource' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'setIamPolicy' => array( + 'path' => 'v1/{+resource}:setIamPolicy', + 'httpMethod' => 'POST', + 'parameters' => array( + 'resource' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'testIamPermissions' => array( + 'path' => 'v1/{+resource}:testIamPermissions', + 'httpMethod' => 'POST', + 'parameters' => array( + 'resource' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->projects_subscriptions = new Google_Service_Pubsub_Resource_ProjectsSubscriptions( + $this, + $this->serviceName, + 'subscriptions', + array( + 'methods' => array( + 'acknowledge' => array( + 'path' => 'v1/{+subscription}:acknowledge', + 'httpMethod' => 'POST', + 'parameters' => array( + 'subscription' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'create' => array( + 'path' => 'v1/{+name}', + 'httpMethod' => 'PUT', + 'parameters' => array( + 'name' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'delete' => array( + 'path' => 'v1/{+subscription}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'subscription' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'get' => array( + 'path' => 'v1/{+subscription}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'subscription' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'getIamPolicy' => array( + 'path' => 'v1/{+resource}:getIamPolicy', + 'httpMethod' => 'GET', + 'parameters' => array( + 'resource' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'v1/{+project}/subscriptions', + 'httpMethod' => 'GET', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pageSize' => array( + 'location' => 'query', + 'type' => 'integer', + ), + ), + ),'modifyAckDeadline' => array( + 'path' => 'v1/{+subscription}:modifyAckDeadline', + 'httpMethod' => 'POST', + 'parameters' => array( + 'subscription' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'modifyPushConfig' => array( + 'path' => 'v1/{+subscription}:modifyPushConfig', + 'httpMethod' => 'POST', + 'parameters' => array( + 'subscription' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'pull' => array( + 'path' => 'v1/{+subscription}:pull', + 'httpMethod' => 'POST', + 'parameters' => array( + 'subscription' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'setIamPolicy' => array( + 'path' => 'v1/{+resource}:setIamPolicy', + 'httpMethod' => 'POST', + 'parameters' => array( + 'resource' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'testIamPermissions' => array( + 'path' => 'v1/{+resource}:testIamPermissions', + 'httpMethod' => 'POST', + 'parameters' => array( + 'resource' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->projects_topics = new Google_Service_Pubsub_Resource_ProjectsTopics( + $this, + $this->serviceName, + 'topics', + array( + 'methods' => array( + 'create' => array( + 'path' => 'v1/{+name}', + 'httpMethod' => 'PUT', + 'parameters' => array( + 'name' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'delete' => array( + 'path' => 'v1/{+topic}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'topic' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'get' => array( + 'path' => 'v1/{+topic}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'topic' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'getIamPolicy' => array( + 'path' => 'v1/{+resource}:getIamPolicy', + 'httpMethod' => 'GET', + 'parameters' => array( + 'resource' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'v1/{+project}/topics', + 'httpMethod' => 'GET', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'pageSize' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'publish' => array( + 'path' => 'v1/{+topic}:publish', + 'httpMethod' => 'POST', + 'parameters' => array( + 'topic' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'setIamPolicy' => array( + 'path' => 'v1/{+resource}:setIamPolicy', + 'httpMethod' => 'POST', + 'parameters' => array( + 'resource' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'testIamPermissions' => array( + 'path' => 'v1/{+resource}:testIamPermissions', + 'httpMethod' => 'POST', + 'parameters' => array( + 'resource' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->projects_topics_subscriptions = new Google_Service_Pubsub_Resource_ProjectsTopicsSubscriptions( + $this, + $this->serviceName, + 'subscriptions', + array( + 'methods' => array( + 'list' => array( + 'path' => 'v1/{+topic}/subscriptions', + 'httpMethod' => 'GET', + 'parameters' => array( + 'topic' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pageSize' => array( + 'location' => 'query', + 'type' => 'integer', + ), + ), + ), + ) + ) + ); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Pubsub/AcknowledgeRequest.php b/vendor/google/apiclient-services/src/Google/Service/Pubsub/AcknowledgeRequest.php new file mode 100644 index 00000000..7b00a19f --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Pubsub/AcknowledgeRequest.php @@ -0,0 +1,31 @@ +ackIds = $ackIds; + } + public function getAckIds() + { + return $this->ackIds; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Pubsub/Binding.php b/vendor/google/apiclient-services/src/Google/Service/Pubsub/Binding.php new file mode 100644 index 00000000..4d35ba89 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Pubsub/Binding.php @@ -0,0 +1,40 @@ +members = $members; + } + public function getMembers() + { + return $this->members; + } + public function setRole($role) + { + $this->role = $role; + } + public function getRole() + { + return $this->role; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Pubsub/ListSubscriptionsResponse.php b/vendor/google/apiclient-services/src/Google/Service/Pubsub/ListSubscriptionsResponse.php new file mode 100644 index 00000000..278c9796 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Pubsub/ListSubscriptionsResponse.php @@ -0,0 +1,41 @@ +nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setSubscriptions($subscriptions) + { + $this->subscriptions = $subscriptions; + } + public function getSubscriptions() + { + return $this->subscriptions; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Pubsub/ListTopicSubscriptionsResponse.php b/vendor/google/apiclient-services/src/Google/Service/Pubsub/ListTopicSubscriptionsResponse.php new file mode 100644 index 00000000..d600e582 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Pubsub/ListTopicSubscriptionsResponse.php @@ -0,0 +1,40 @@ +nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setSubscriptions($subscriptions) + { + $this->subscriptions = $subscriptions; + } + public function getSubscriptions() + { + return $this->subscriptions; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Pubsub/ListTopicsResponse.php b/vendor/google/apiclient-services/src/Google/Service/Pubsub/ListTopicsResponse.php new file mode 100644 index 00000000..a39b544f --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Pubsub/ListTopicsResponse.php @@ -0,0 +1,41 @@ +nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setTopics($topics) + { + $this->topics = $topics; + } + public function getTopics() + { + return $this->topics; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Pubsub/ModifyAckDeadlineRequest.php b/vendor/google/apiclient-services/src/Google/Service/Pubsub/ModifyAckDeadlineRequest.php new file mode 100644 index 00000000..05277801 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Pubsub/ModifyAckDeadlineRequest.php @@ -0,0 +1,40 @@ +ackDeadlineSeconds = $ackDeadlineSeconds; + } + public function getAckDeadlineSeconds() + { + return $this->ackDeadlineSeconds; + } + public function setAckIds($ackIds) + { + $this->ackIds = $ackIds; + } + public function getAckIds() + { + return $this->ackIds; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Pubsub/ModifyPushConfigRequest.php b/vendor/google/apiclient-services/src/Google/Service/Pubsub/ModifyPushConfigRequest.php new file mode 100644 index 00000000..738bf73c --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Pubsub/ModifyPushConfigRequest.php @@ -0,0 +1,31 @@ +pushConfig = $pushConfig; + } + public function getPushConfig() + { + return $this->pushConfig; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Pubsub/Policy.php b/vendor/google/apiclient-services/src/Google/Service/Pubsub/Policy.php new file mode 100644 index 00000000..556af7b9 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Pubsub/Policy.php @@ -0,0 +1,50 @@ +bindings = $bindings; + } + public function getBindings() + { + return $this->bindings; + } + public function setEtag($etag) + { + $this->etag = $etag; + } + public function getEtag() + { + return $this->etag; + } + public function setVersion($version) + { + $this->version = $version; + } + public function getVersion() + { + return $this->version; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Pubsub/PublishRequest.php b/vendor/google/apiclient-services/src/Google/Service/Pubsub/PublishRequest.php new file mode 100644 index 00000000..a3a8db7f --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Pubsub/PublishRequest.php @@ -0,0 +1,32 @@ +messages = $messages; + } + public function getMessages() + { + return $this->messages; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Pubsub/PublishResponse.php b/vendor/google/apiclient-services/src/Google/Service/Pubsub/PublishResponse.php new file mode 100644 index 00000000..c639c407 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Pubsub/PublishResponse.php @@ -0,0 +1,31 @@ +messageIds = $messageIds; + } + public function getMessageIds() + { + return $this->messageIds; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Pubsub/PubsubEmpty.php b/vendor/google/apiclient-services/src/Google/Service/Pubsub/PubsubEmpty.php new file mode 100644 index 00000000..07f94691 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Pubsub/PubsubEmpty.php @@ -0,0 +1,20 @@ +attributes = $attributes; + } + public function getAttributes() + { + return $this->attributes; + } + public function setData($data) + { + $this->data = $data; + } + public function getData() + { + return $this->data; + } + public function setMessageId($messageId) + { + $this->messageId = $messageId; + } + public function getMessageId() + { + return $this->messageId; + } + public function setPublishTime($publishTime) + { + $this->publishTime = $publishTime; + } + public function getPublishTime() + { + return $this->publishTime; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Pubsub/PullRequest.php b/vendor/google/apiclient-services/src/Google/Service/Pubsub/PullRequest.php new file mode 100644 index 00000000..9d2e7afd --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Pubsub/PullRequest.php @@ -0,0 +1,39 @@ +maxMessages = $maxMessages; + } + public function getMaxMessages() + { + return $this->maxMessages; + } + public function setReturnImmediately($returnImmediately) + { + $this->returnImmediately = $returnImmediately; + } + public function getReturnImmediately() + { + return $this->returnImmediately; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Pubsub/PullResponse.php b/vendor/google/apiclient-services/src/Google/Service/Pubsub/PullResponse.php new file mode 100644 index 00000000..c7476cde --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Pubsub/PullResponse.php @@ -0,0 +1,32 @@ +receivedMessages = $receivedMessages; + } + public function getReceivedMessages() + { + return $this->receivedMessages; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Pubsub/PushConfig.php b/vendor/google/apiclient-services/src/Google/Service/Pubsub/PushConfig.php new file mode 100644 index 00000000..80c68a02 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Pubsub/PushConfig.php @@ -0,0 +1,39 @@ +attributes = $attributes; + } + public function getAttributes() + { + return $this->attributes; + } + public function setPushEndpoint($pushEndpoint) + { + $this->pushEndpoint = $pushEndpoint; + } + public function getPushEndpoint() + { + return $this->pushEndpoint; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Pubsub/ReceivedMessage.php b/vendor/google/apiclient-services/src/Google/Service/Pubsub/ReceivedMessage.php new file mode 100644 index 00000000..cd3dc87f --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Pubsub/ReceivedMessage.php @@ -0,0 +1,40 @@ +ackId = $ackId; + } + public function getAckId() + { + return $this->ackId; + } + public function setMessage(Google_Service_Pubsub_PubsubMessage $message) + { + $this->message = $message; + } + public function getMessage() + { + return $this->message; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Pubsub/Resource/Projects.php b/vendor/google/apiclient-services/src/Google/Service/Pubsub/Resource/Projects.php new file mode 100644 index 00000000..6b637693 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Pubsub/Resource/Projects.php @@ -0,0 +1,28 @@ + + * $pubsubService = new Google_Service_Pubsub(...); + * $projects = $pubsubService->projects; + * + */ +class Google_Service_Pubsub_Resource_Projects extends Google_Service_Resource +{ +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Pubsub/Resource/ProjectsSnapshots.php b/vendor/google/apiclient-services/src/Google/Service/Pubsub/Resource/ProjectsSnapshots.php new file mode 100644 index 00000000..738b18c7 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Pubsub/Resource/ProjectsSnapshots.php @@ -0,0 +1,83 @@ + + * $pubsubService = new Google_Service_Pubsub(...); + * $snapshots = $pubsubService->snapshots; + * + */ +class Google_Service_Pubsub_Resource_ProjectsSnapshots extends Google_Service_Resource +{ + /** + * Gets the access control policy for a resource. Returns an empty policy if the + * resource exists and does not have a policy set. (snapshots.getIamPolicy) + * + * @param string $resource REQUIRED: The resource for which the policy is being + * requested. `resource` is usually specified as a path. For example, a Project + * resource is specified as `projects/{project}`. + * @param array $optParams Optional parameters. + * @return Google_Service_Pubsub_Policy + */ + public function getIamPolicy($resource, $optParams = array()) + { + $params = array('resource' => $resource); + $params = array_merge($params, $optParams); + return $this->call('getIamPolicy', array($params), "Google_Service_Pubsub_Policy"); + } + /** + * Sets the access control policy on the specified resource. Replaces any + * existing policy. (snapshots.setIamPolicy) + * + * @param string $resource REQUIRED: The resource for which the policy is being + * specified. `resource` is usually specified as a path. For example, a Project + * resource is specified as `projects/{project}`. + * @param Google_Service_Pubsub_SetIamPolicyRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Pubsub_Policy + */ + public function setIamPolicy($resource, Google_Service_Pubsub_SetIamPolicyRequest $postBody, $optParams = array()) + { + $params = array('resource' => $resource, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('setIamPolicy', array($params), "Google_Service_Pubsub_Policy"); + } + /** + * Returns permissions that a caller has on the specified resource. If the + * resource does not exist, this will return an empty set of permissions, not a + * NOT_FOUND error. + * + * Note: This operation is designed to be used for building permission-aware UIs + * and command-line tools, not for authorization checking. This operation may + * "fail open" without warning. (snapshots.testIamPermissions) + * + * @param string $resource REQUIRED: The resource for which the policy detail is + * being requested. `resource` is usually specified as a path. For example, a + * Project resource is specified as `projects/{project}`. + * @param Google_Service_Pubsub_TestIamPermissionsRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Pubsub_TestIamPermissionsResponse + */ + public function testIamPermissions($resource, Google_Service_Pubsub_TestIamPermissionsRequest $postBody, $optParams = array()) + { + $params = array('resource' => $resource, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('testIamPermissions', array($params), "Google_Service_Pubsub_TestIamPermissionsResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Pubsub/Resource/ProjectsSubscriptions.php b/vendor/google/apiclient-services/src/Google/Service/Pubsub/Resource/ProjectsSubscriptions.php new file mode 100644 index 00000000..f649aecc --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Pubsub/Resource/ProjectsSubscriptions.php @@ -0,0 +1,243 @@ + + * $pubsubService = new Google_Service_Pubsub(...); + * $subscriptions = $pubsubService->subscriptions; + * + */ +class Google_Service_Pubsub_Resource_ProjectsSubscriptions extends Google_Service_Resource +{ + /** + * Acknowledges the messages associated with the `ack_ids` in the + * `AcknowledgeRequest`. The Pub/Sub system can remove the relevant messages + * from the subscription. + * + * Acknowledging a message whose ack deadline has expired may succeed, but such + * a message may be redelivered later. Acknowledging a message more than once + * will not result in an error. (subscriptions.acknowledge) + * + * @param string $subscription The subscription whose message is being + * acknowledged. Format is `projects/{project}/subscriptions/{sub}`. + * @param Google_Service_Pubsub_AcknowledgeRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Pubsub_PubsubEmpty + */ + public function acknowledge($subscription, Google_Service_Pubsub_AcknowledgeRequest $postBody, $optParams = array()) + { + $params = array('subscription' => $subscription, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('acknowledge', array($params), "Google_Service_Pubsub_PubsubEmpty"); + } + /** + * Creates a subscription to a given topic. If the subscription already exists, + * returns `ALREADY_EXISTS`. If the corresponding topic doesn't exist, returns + * `NOT_FOUND`. + * + * If the name is not provided in the request, the server will assign a random + * name for this subscription on the same project as the topic, conforming to + * the [resource name + * format](https://cloud.google.com/pubsub/docs/overview#names). The generated + * name is populated in the returned Subscription object. Note that for REST API + * requests, you must specify a name in the request. (subscriptions.create) + * + * @param string $name The name of the subscription. It must have the format + * `"projects/{project}/subscriptions/{subscription}"`. `{subscription}` must + * start with a letter, and contain only letters (`[A-Za-z]`), numbers + * (`[0-9]`), dashes (`-`), underscores (`_`), periods (`.`), tildes (`~`), plus + * (`+`) or percent signs (`%`). It must be between 3 and 255 characters in + * length, and it must not start with `"goog"`. + * @param Google_Service_Pubsub_Subscription $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Pubsub_Subscription + */ + public function create($name, Google_Service_Pubsub_Subscription $postBody, $optParams = array()) + { + $params = array('name' => $name, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('create', array($params), "Google_Service_Pubsub_Subscription"); + } + /** + * Deletes an existing subscription. All messages retained in the subscription + * are immediately dropped. Calls to `Pull` after deletion will return + * `NOT_FOUND`. After a subscription is deleted, a new one may be created with + * the same name, but the new one has no association with the old subscription + * or its topic unless the same topic is specified. (subscriptions.delete) + * + * @param string $subscription The subscription to delete. Format is + * `projects/{project}/subscriptions/{sub}`. + * @param array $optParams Optional parameters. + * @return Google_Service_Pubsub_PubsubEmpty + */ + public function delete($subscription, $optParams = array()) + { + $params = array('subscription' => $subscription); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params), "Google_Service_Pubsub_PubsubEmpty"); + } + /** + * Gets the configuration details of a subscription. (subscriptions.get) + * + * @param string $subscription The name of the subscription to get. Format is + * `projects/{project}/subscriptions/{sub}`. + * @param array $optParams Optional parameters. + * @return Google_Service_Pubsub_Subscription + */ + public function get($subscription, $optParams = array()) + { + $params = array('subscription' => $subscription); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Pubsub_Subscription"); + } + /** + * Gets the access control policy for a resource. Returns an empty policy if the + * resource exists and does not have a policy set. (subscriptions.getIamPolicy) + * + * @param string $resource REQUIRED: The resource for which the policy is being + * requested. `resource` is usually specified as a path. For example, a Project + * resource is specified as `projects/{project}`. + * @param array $optParams Optional parameters. + * @return Google_Service_Pubsub_Policy + */ + public function getIamPolicy($resource, $optParams = array()) + { + $params = array('resource' => $resource); + $params = array_merge($params, $optParams); + return $this->call('getIamPolicy', array($params), "Google_Service_Pubsub_Policy"); + } + /** + * Lists matching subscriptions. (subscriptions.listProjectsSubscriptions) + * + * @param string $project The name of the cloud project that subscriptions + * belong to. Format is `projects/{project}`. + * @param array $optParams Optional parameters. + * + * @opt_param string pageToken The value returned by the last + * `ListSubscriptionsResponse`; indicates that this is a continuation of a prior + * `ListSubscriptions` call, and that the system should return the next page of + * data. + * @opt_param int pageSize Maximum number of subscriptions to return. + * @return Google_Service_Pubsub_ListSubscriptionsResponse + */ + public function listProjectsSubscriptions($project, $optParams = array()) + { + $params = array('project' => $project); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Pubsub_ListSubscriptionsResponse"); + } + /** + * Modifies the ack deadline for a specific message. This method is useful to + * indicate that more time is needed to process a message by the subscriber, or + * to make the message available for redelivery if the processing was + * interrupted. Note that this does not modify the subscription-level + * `ackDeadlineSeconds` used for subsequent messages. + * (subscriptions.modifyAckDeadline) + * + * @param string $subscription The name of the subscription. Format is + * `projects/{project}/subscriptions/{sub}`. + * @param Google_Service_Pubsub_ModifyAckDeadlineRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Pubsub_PubsubEmpty + */ + public function modifyAckDeadline($subscription, Google_Service_Pubsub_ModifyAckDeadlineRequest $postBody, $optParams = array()) + { + $params = array('subscription' => $subscription, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('modifyAckDeadline', array($params), "Google_Service_Pubsub_PubsubEmpty"); + } + /** + * Modifies the `PushConfig` for a specified subscription. + * + * This may be used to change a push subscription to a pull one (signified by an + * empty `PushConfig`) or vice versa, or change the endpoint URL and other + * attributes of a push subscription. Messages will accumulate for delivery + * continuously through the call regardless of changes to the `PushConfig`. + * (subscriptions.modifyPushConfig) + * + * @param string $subscription The name of the subscription. Format is + * `projects/{project}/subscriptions/{sub}`. + * @param Google_Service_Pubsub_ModifyPushConfigRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Pubsub_PubsubEmpty + */ + public function modifyPushConfig($subscription, Google_Service_Pubsub_ModifyPushConfigRequest $postBody, $optParams = array()) + { + $params = array('subscription' => $subscription, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('modifyPushConfig', array($params), "Google_Service_Pubsub_PubsubEmpty"); + } + /** + * Pulls messages from the server. Returns an empty list if there are no + * messages available in the backlog. The server may return `UNAVAILABLE` if + * there are too many concurrent pull requests pending for the given + * subscription. (subscriptions.pull) + * + * @param string $subscription The subscription from which messages should be + * pulled. Format is `projects/{project}/subscriptions/{sub}`. + * @param Google_Service_Pubsub_PullRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Pubsub_PullResponse + */ + public function pull($subscription, Google_Service_Pubsub_PullRequest $postBody, $optParams = array()) + { + $params = array('subscription' => $subscription, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('pull', array($params), "Google_Service_Pubsub_PullResponse"); + } + /** + * Sets the access control policy on the specified resource. Replaces any + * existing policy. (subscriptions.setIamPolicy) + * + * @param string $resource REQUIRED: The resource for which the policy is being + * specified. `resource` is usually specified as a path. For example, a Project + * resource is specified as `projects/{project}`. + * @param Google_Service_Pubsub_SetIamPolicyRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Pubsub_Policy + */ + public function setIamPolicy($resource, Google_Service_Pubsub_SetIamPolicyRequest $postBody, $optParams = array()) + { + $params = array('resource' => $resource, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('setIamPolicy', array($params), "Google_Service_Pubsub_Policy"); + } + /** + * Returns permissions that a caller has on the specified resource. If the + * resource does not exist, this will return an empty set of permissions, not a + * NOT_FOUND error. + * + * Note: This operation is designed to be used for building permission-aware UIs + * and command-line tools, not for authorization checking. This operation may + * "fail open" without warning. (subscriptions.testIamPermissions) + * + * @param string $resource REQUIRED: The resource for which the policy detail is + * being requested. `resource` is usually specified as a path. For example, a + * Project resource is specified as `projects/{project}`. + * @param Google_Service_Pubsub_TestIamPermissionsRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Pubsub_TestIamPermissionsResponse + */ + public function testIamPermissions($resource, Google_Service_Pubsub_TestIamPermissionsRequest $postBody, $optParams = array()) + { + $params = array('resource' => $resource, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('testIamPermissions', array($params), "Google_Service_Pubsub_TestIamPermissionsResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Pubsub/Resource/ProjectsTopics.php b/vendor/google/apiclient-services/src/Google/Service/Pubsub/Resource/ProjectsTopics.php new file mode 100644 index 00000000..66c123ad --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Pubsub/Resource/ProjectsTopics.php @@ -0,0 +1,170 @@ + + * $pubsubService = new Google_Service_Pubsub(...); + * $topics = $pubsubService->topics; + * + */ +class Google_Service_Pubsub_Resource_ProjectsTopics extends Google_Service_Resource +{ + /** + * Creates the given topic with the given name. (topics.create) + * + * @param string $name The name of the topic. It must have the format + * `"projects/{project}/topics/{topic}"`. `{topic}` must start with a letter, + * and contain only letters (`[A-Za-z]`), numbers (`[0-9]`), dashes (`-`), + * underscores (`_`), periods (`.`), tildes (`~`), plus (`+`) or percent signs + * (`%`). It must be between 3 and 255 characters in length, and it must not + * start with `"goog"`. + * @param Google_Service_Pubsub_Topic $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Pubsub_Topic + */ + public function create($name, Google_Service_Pubsub_Topic $postBody, $optParams = array()) + { + $params = array('name' => $name, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('create', array($params), "Google_Service_Pubsub_Topic"); + } + /** + * Deletes the topic with the given name. Returns `NOT_FOUND` if the topic does + * not exist. After a topic is deleted, a new topic may be created with the same + * name; this is an entirely new topic with none of the old configuration or + * subscriptions. Existing subscriptions to this topic are not deleted, but + * their `topic` field is set to `_deleted-topic_`. (topics.delete) + * + * @param string $topic Name of the topic to delete. Format is + * `projects/{project}/topics/{topic}`. + * @param array $optParams Optional parameters. + * @return Google_Service_Pubsub_PubsubEmpty + */ + public function delete($topic, $optParams = array()) + { + $params = array('topic' => $topic); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params), "Google_Service_Pubsub_PubsubEmpty"); + } + /** + * Gets the configuration of a topic. (topics.get) + * + * @param string $topic The name of the topic to get. Format is + * `projects/{project}/topics/{topic}`. + * @param array $optParams Optional parameters. + * @return Google_Service_Pubsub_Topic + */ + public function get($topic, $optParams = array()) + { + $params = array('topic' => $topic); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Pubsub_Topic"); + } + /** + * Gets the access control policy for a resource. Returns an empty policy if the + * resource exists and does not have a policy set. (topics.getIamPolicy) + * + * @param string $resource REQUIRED: The resource for which the policy is being + * requested. `resource` is usually specified as a path. For example, a Project + * resource is specified as `projects/{project}`. + * @param array $optParams Optional parameters. + * @return Google_Service_Pubsub_Policy + */ + public function getIamPolicy($resource, $optParams = array()) + { + $params = array('resource' => $resource); + $params = array_merge($params, $optParams); + return $this->call('getIamPolicy', array($params), "Google_Service_Pubsub_Policy"); + } + /** + * Lists matching topics. (topics.listProjectsTopics) + * + * @param string $project The name of the cloud project that topics belong to. + * Format is `projects/{project}`. + * @param array $optParams Optional parameters. + * + * @opt_param int pageSize Maximum number of topics to return. + * @opt_param string pageToken The value returned by the last + * `ListTopicsResponse`; indicates that this is a continuation of a prior + * `ListTopics` call, and that the system should return the next page of data. + * @return Google_Service_Pubsub_ListTopicsResponse + */ + public function listProjectsTopics($project, $optParams = array()) + { + $params = array('project' => $project); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Pubsub_ListTopicsResponse"); + } + /** + * Adds one or more messages to the topic. Returns `NOT_FOUND` if the topic does + * not exist. The message payload must not be empty; it must contain either a + * non-empty data field, or at least one attribute. (topics.publish) + * + * @param string $topic The messages in the request will be published on this + * topic. Format is `projects/{project}/topics/{topic}`. + * @param Google_Service_Pubsub_PublishRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Pubsub_PublishResponse + */ + public function publish($topic, Google_Service_Pubsub_PublishRequest $postBody, $optParams = array()) + { + $params = array('topic' => $topic, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('publish', array($params), "Google_Service_Pubsub_PublishResponse"); + } + /** + * Sets the access control policy on the specified resource. Replaces any + * existing policy. (topics.setIamPolicy) + * + * @param string $resource REQUIRED: The resource for which the policy is being + * specified. `resource` is usually specified as a path. For example, a Project + * resource is specified as `projects/{project}`. + * @param Google_Service_Pubsub_SetIamPolicyRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Pubsub_Policy + */ + public function setIamPolicy($resource, Google_Service_Pubsub_SetIamPolicyRequest $postBody, $optParams = array()) + { + $params = array('resource' => $resource, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('setIamPolicy', array($params), "Google_Service_Pubsub_Policy"); + } + /** + * Returns permissions that a caller has on the specified resource. If the + * resource does not exist, this will return an empty set of permissions, not a + * NOT_FOUND error. + * + * Note: This operation is designed to be used for building permission-aware UIs + * and command-line tools, not for authorization checking. This operation may + * "fail open" without warning. (topics.testIamPermissions) + * + * @param string $resource REQUIRED: The resource for which the policy detail is + * being requested. `resource` is usually specified as a path. For example, a + * Project resource is specified as `projects/{project}`. + * @param Google_Service_Pubsub_TestIamPermissionsRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Pubsub_TestIamPermissionsResponse + */ + public function testIamPermissions($resource, Google_Service_Pubsub_TestIamPermissionsRequest $postBody, $optParams = array()) + { + $params = array('resource' => $resource, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('testIamPermissions', array($params), "Google_Service_Pubsub_TestIamPermissionsResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Pubsub/Resource/ProjectsTopicsSubscriptions.php b/vendor/google/apiclient-services/src/Google/Service/Pubsub/Resource/ProjectsTopicsSubscriptions.php new file mode 100644 index 00000000..6a1e5cc4 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Pubsub/Resource/ProjectsTopicsSubscriptions.php @@ -0,0 +1,49 @@ + + * $pubsubService = new Google_Service_Pubsub(...); + * $subscriptions = $pubsubService->subscriptions; + * + */ +class Google_Service_Pubsub_Resource_ProjectsTopicsSubscriptions extends Google_Service_Resource +{ + /** + * Lists the name of the subscriptions for this topic. + * (subscriptions.listProjectsTopicsSubscriptions) + * + * @param string $topic The name of the topic that subscriptions are attached + * to. Format is `projects/{project}/topics/{topic}`. + * @param array $optParams Optional parameters. + * + * @opt_param string pageToken The value returned by the last + * `ListTopicSubscriptionsResponse`; indicates that this is a continuation of a + * prior `ListTopicSubscriptions` call, and that the system should return the + * next page of data. + * @opt_param int pageSize Maximum number of subscription names to return. + * @return Google_Service_Pubsub_ListTopicSubscriptionsResponse + */ + public function listProjectsTopicsSubscriptions($topic, $optParams = array()) + { + $params = array('topic' => $topic); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Pubsub_ListTopicSubscriptionsResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Pubsub/SetIamPolicyRequest.php b/vendor/google/apiclient-services/src/Google/Service/Pubsub/SetIamPolicyRequest.php new file mode 100644 index 00000000..3c577a95 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Pubsub/SetIamPolicyRequest.php @@ -0,0 +1,31 @@ +policy = $policy; + } + public function getPolicy() + { + return $this->policy; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Pubsub/Subscription.php b/vendor/google/apiclient-services/src/Google/Service/Pubsub/Subscription.php new file mode 100644 index 00000000..78a3681b --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Pubsub/Subscription.php @@ -0,0 +1,58 @@ +ackDeadlineSeconds = $ackDeadlineSeconds; + } + public function getAckDeadlineSeconds() + { + return $this->ackDeadlineSeconds; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setPushConfig(Google_Service_Pubsub_PushConfig $pushConfig) + { + $this->pushConfig = $pushConfig; + } + public function getPushConfig() + { + return $this->pushConfig; + } + public function setTopic($topic) + { + $this->topic = $topic; + } + public function getTopic() + { + return $this->topic; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Pubsub/TestIamPermissionsRequest.php b/vendor/google/apiclient-services/src/Google/Service/Pubsub/TestIamPermissionsRequest.php new file mode 100644 index 00000000..10bd3323 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Pubsub/TestIamPermissionsRequest.php @@ -0,0 +1,31 @@ +permissions = $permissions; + } + public function getPermissions() + { + return $this->permissions; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Pubsub/TestIamPermissionsResponse.php b/vendor/google/apiclient-services/src/Google/Service/Pubsub/TestIamPermissionsResponse.php new file mode 100644 index 00000000..f9a096a9 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Pubsub/TestIamPermissionsResponse.php @@ -0,0 +1,31 @@ +permissions = $permissions; + } + public function getPermissions() + { + return $this->permissions; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Pubsub/Topic.php b/vendor/google/apiclient-services/src/Google/Service/Pubsub/Topic.php new file mode 100644 index 00000000..14b6f60b --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Pubsub/Topic.php @@ -0,0 +1,30 @@ +name = $name; + } + public function getName() + { + return $this->name; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/QPXExpress.php b/vendor/google/apiclient-services/src/Google/Service/QPXExpress.php new file mode 100644 index 00000000..7ab9a25e --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/QPXExpress.php @@ -0,0 +1,65 @@ + + * Finds the least expensive flights between an origin and a destination.

+ * + *

+ * For more information about this service, see the API + * Documentation + *

+ * + * @author Google, Inc. + */ +class Google_Service_QPXExpress extends Google_Service +{ + + + public $trips; + + /** + * Constructs the internal representation of the QPXExpress service. + * + * @param Google_Client $client + */ + public function __construct(Google_Client $client) + { + parent::__construct($client); + $this->rootUrl = 'https://www.googleapis.com/'; + $this->servicePath = 'qpxExpress/v1/trips/'; + $this->version = 'v1'; + $this->serviceName = 'qpxExpress'; + + $this->trips = new Google_Service_QPXExpress_Resource_Trips( + $this, + $this->serviceName, + 'trips', + array( + 'methods' => array( + 'search' => array( + 'path' => 'search', + 'httpMethod' => 'POST', + 'parameters' => array(), + ), + ) + ) + ); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/QPXExpress/AircraftData.php b/vendor/google/apiclient-services/src/Google/Service/QPXExpress/AircraftData.php new file mode 100644 index 00000000..1e554287 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/QPXExpress/AircraftData.php @@ -0,0 +1,48 @@ +code = $code; + } + public function getCode() + { + return $this->code; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/QPXExpress/AirportData.php b/vendor/google/apiclient-services/src/Google/Service/QPXExpress/AirportData.php new file mode 100644 index 00000000..1c7cf3f4 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/QPXExpress/AirportData.php @@ -0,0 +1,57 @@ +city = $city; + } + public function getCity() + { + return $this->city; + } + public function setCode($code) + { + $this->code = $code; + } + public function getCode() + { + return $this->code; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/QPXExpress/BagDescriptor.php b/vendor/google/apiclient-services/src/Google/Service/QPXExpress/BagDescriptor.php new file mode 100644 index 00000000..b5b72b09 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/QPXExpress/BagDescriptor.php @@ -0,0 +1,67 @@ +commercialName = $commercialName; + } + public function getCommercialName() + { + return $this->commercialName; + } + public function setCount($count) + { + $this->count = $count; + } + public function getCount() + { + return $this->count; + } + public function setDescription($description) + { + $this->description = $description; + } + public function getDescription() + { + return $this->description; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setSubcode($subcode) + { + $this->subcode = $subcode; + } + public function getSubcode() + { + return $this->subcode; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/QPXExpress/CarrierData.php b/vendor/google/apiclient-services/src/Google/Service/QPXExpress/CarrierData.php new file mode 100644 index 00000000..42b54f7b --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/QPXExpress/CarrierData.php @@ -0,0 +1,48 @@ +code = $code; + } + public function getCode() + { + return $this->code; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/QPXExpress/CityData.php b/vendor/google/apiclient-services/src/Google/Service/QPXExpress/CityData.php new file mode 100644 index 00000000..131cf424 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/QPXExpress/CityData.php @@ -0,0 +1,57 @@ +code = $code; + } + public function getCode() + { + return $this->code; + } + public function setCountry($country) + { + $this->country = $country; + } + public function getCountry() + { + return $this->country; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/QPXExpress/Data.php b/vendor/google/apiclient-services/src/Google/Service/QPXExpress/Data.php new file mode 100644 index 00000000..a707205a --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/QPXExpress/Data.php @@ -0,0 +1,81 @@ +aircraft = $aircraft; + } + public function getAircraft() + { + return $this->aircraft; + } + public function setAirport($airport) + { + $this->airport = $airport; + } + public function getAirport() + { + return $this->airport; + } + public function setCarrier($carrier) + { + $this->carrier = $carrier; + } + public function getCarrier() + { + return $this->carrier; + } + public function setCity($city) + { + $this->city = $city; + } + public function getCity() + { + return $this->city; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setTax($tax) + { + $this->tax = $tax; + } + public function getTax() + { + return $this->tax; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/QPXExpress/FareInfo.php b/vendor/google/apiclient-services/src/Google/Service/QPXExpress/FareInfo.php new file mode 100644 index 00000000..169cef34 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/QPXExpress/FareInfo.php @@ -0,0 +1,84 @@ +basisCode = $basisCode; + } + public function getBasisCode() + { + return $this->basisCode; + } + public function setCarrier($carrier) + { + $this->carrier = $carrier; + } + public function getCarrier() + { + return $this->carrier; + } + public function setDestination($destination) + { + $this->destination = $destination; + } + public function getDestination() + { + return $this->destination; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setOrigin($origin) + { + $this->origin = $origin; + } + public function getOrigin() + { + return $this->origin; + } + public function setPrivate($private) + { + $this->private = $private; + } + public function getPrivate() + { + return $this->private; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/QPXExpress/FlightInfo.php b/vendor/google/apiclient-services/src/Google/Service/QPXExpress/FlightInfo.php new file mode 100644 index 00000000..9406e4a2 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/QPXExpress/FlightInfo.php @@ -0,0 +1,39 @@ +carrier = $carrier; + } + public function getCarrier() + { + return $this->carrier; + } + public function setNumber($number) + { + $this->number = $number; + } + public function getNumber() + { + return $this->number; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/QPXExpress/FreeBaggageAllowance.php b/vendor/google/apiclient-services/src/Google/Service/QPXExpress/FreeBaggageAllowance.php new file mode 100644 index 00000000..937192cb --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/QPXExpress/FreeBaggageAllowance.php @@ -0,0 +1,77 @@ +bagDescriptor = $bagDescriptor; + } + public function getBagDescriptor() + { + return $this->bagDescriptor; + } + public function setKilos($kilos) + { + $this->kilos = $kilos; + } + public function getKilos() + { + return $this->kilos; + } + public function setKilosPerPiece($kilosPerPiece) + { + $this->kilosPerPiece = $kilosPerPiece; + } + public function getKilosPerPiece() + { + return $this->kilosPerPiece; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setPieces($pieces) + { + $this->pieces = $pieces; + } + public function getPieces() + { + return $this->pieces; + } + public function setPounds($pounds) + { + $this->pounds = $pounds; + } + public function getPounds() + { + return $this->pounds; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/QPXExpress/LegInfo.php b/vendor/google/apiclient-services/src/Google/Service/QPXExpress/LegInfo.php new file mode 100644 index 00000000..5236889a --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/QPXExpress/LegInfo.php @@ -0,0 +1,174 @@ +aircraft = $aircraft; + } + public function getAircraft() + { + return $this->aircraft; + } + public function setArrivalTime($arrivalTime) + { + $this->arrivalTime = $arrivalTime; + } + public function getArrivalTime() + { + return $this->arrivalTime; + } + public function setChangePlane($changePlane) + { + $this->changePlane = $changePlane; + } + public function getChangePlane() + { + return $this->changePlane; + } + public function setConnectionDuration($connectionDuration) + { + $this->connectionDuration = $connectionDuration; + } + public function getConnectionDuration() + { + return $this->connectionDuration; + } + public function setDepartureTime($departureTime) + { + $this->departureTime = $departureTime; + } + public function getDepartureTime() + { + return $this->departureTime; + } + public function setDestination($destination) + { + $this->destination = $destination; + } + public function getDestination() + { + return $this->destination; + } + public function setDestinationTerminal($destinationTerminal) + { + $this->destinationTerminal = $destinationTerminal; + } + public function getDestinationTerminal() + { + return $this->destinationTerminal; + } + public function setDuration($duration) + { + $this->duration = $duration; + } + public function getDuration() + { + return $this->duration; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setMeal($meal) + { + $this->meal = $meal; + } + public function getMeal() + { + return $this->meal; + } + public function setMileage($mileage) + { + $this->mileage = $mileage; + } + public function getMileage() + { + return $this->mileage; + } + public function setOnTimePerformance($onTimePerformance) + { + $this->onTimePerformance = $onTimePerformance; + } + public function getOnTimePerformance() + { + return $this->onTimePerformance; + } + public function setOperatingDisclosure($operatingDisclosure) + { + $this->operatingDisclosure = $operatingDisclosure; + } + public function getOperatingDisclosure() + { + return $this->operatingDisclosure; + } + public function setOrigin($origin) + { + $this->origin = $origin; + } + public function getOrigin() + { + return $this->origin; + } + public function setOriginTerminal($originTerminal) + { + $this->originTerminal = $originTerminal; + } + public function getOriginTerminal() + { + return $this->originTerminal; + } + public function setSecure($secure) + { + $this->secure = $secure; + } + public function getSecure() + { + return $this->secure; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/QPXExpress/PassengerCounts.php b/vendor/google/apiclient-services/src/Google/Service/QPXExpress/PassengerCounts.php new file mode 100644 index 00000000..02cc8a83 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/QPXExpress/PassengerCounts.php @@ -0,0 +1,75 @@ +adultCount = $adultCount; + } + public function getAdultCount() + { + return $this->adultCount; + } + public function setChildCount($childCount) + { + $this->childCount = $childCount; + } + public function getChildCount() + { + return $this->childCount; + } + public function setInfantInLapCount($infantInLapCount) + { + $this->infantInLapCount = $infantInLapCount; + } + public function getInfantInLapCount() + { + return $this->infantInLapCount; + } + public function setInfantInSeatCount($infantInSeatCount) + { + $this->infantInSeatCount = $infantInSeatCount; + } + public function getInfantInSeatCount() + { + return $this->infantInSeatCount; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setSeniorCount($seniorCount) + { + $this->seniorCount = $seniorCount; + } + public function getSeniorCount() + { + return $this->seniorCount; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/QPXExpress/PricingInfo.php b/vendor/google/apiclient-services/src/Google/Service/QPXExpress/PricingInfo.php new file mode 100644 index 00000000..2f2aed3b --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/QPXExpress/PricingInfo.php @@ -0,0 +1,143 @@ +baseFareTotal = $baseFareTotal; + } + public function getBaseFareTotal() + { + return $this->baseFareTotal; + } + public function setFare($fare) + { + $this->fare = $fare; + } + public function getFare() + { + return $this->fare; + } + public function setFareCalculation($fareCalculation) + { + $this->fareCalculation = $fareCalculation; + } + public function getFareCalculation() + { + return $this->fareCalculation; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setLatestTicketingTime($latestTicketingTime) + { + $this->latestTicketingTime = $latestTicketingTime; + } + public function getLatestTicketingTime() + { + return $this->latestTicketingTime; + } + public function setPassengers(Google_Service_QPXExpress_PassengerCounts $passengers) + { + $this->passengers = $passengers; + } + public function getPassengers() + { + return $this->passengers; + } + public function setPtc($ptc) + { + $this->ptc = $ptc; + } + public function getPtc() + { + return $this->ptc; + } + public function setRefundable($refundable) + { + $this->refundable = $refundable; + } + public function getRefundable() + { + return $this->refundable; + } + public function setSaleFareTotal($saleFareTotal) + { + $this->saleFareTotal = $saleFareTotal; + } + public function getSaleFareTotal() + { + return $this->saleFareTotal; + } + public function setSaleTaxTotal($saleTaxTotal) + { + $this->saleTaxTotal = $saleTaxTotal; + } + public function getSaleTaxTotal() + { + return $this->saleTaxTotal; + } + public function setSaleTotal($saleTotal) + { + $this->saleTotal = $saleTotal; + } + public function getSaleTotal() + { + return $this->saleTotal; + } + public function setSegmentPricing($segmentPricing) + { + $this->segmentPricing = $segmentPricing; + } + public function getSegmentPricing() + { + return $this->segmentPricing; + } + public function setTax($tax) + { + $this->tax = $tax; + } + public function getTax() + { + return $this->tax; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/QPXExpress/Resource/Trips.php b/vendor/google/apiclient-services/src/Google/Service/QPXExpress/Resource/Trips.php new file mode 100644 index 00000000..ad988c59 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/QPXExpress/Resource/Trips.php @@ -0,0 +1,41 @@ + + * $qpxExpressService = new Google_Service_QPXExpress(...); + * $trips = $qpxExpressService->trips; + * + */ +class Google_Service_QPXExpress_Resource_Trips extends Google_Service_Resource +{ + /** + * Returns a list of flights. (trips.search) + * + * @param Google_Service_QPXExpress_TripsSearchRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_QPXExpress_TripsSearchResponse + */ + public function search(Google_Service_QPXExpress_TripsSearchRequest $postBody, $optParams = array()) + { + $params = array('postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('search', array($params), "Google_Service_QPXExpress_TripsSearchResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/QPXExpress/SegmentInfo.php b/vendor/google/apiclient-services/src/Google/Service/QPXExpress/SegmentInfo.php new file mode 100644 index 00000000..e27a7af6 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/QPXExpress/SegmentInfo.php @@ -0,0 +1,123 @@ +bookingCode = $bookingCode; + } + public function getBookingCode() + { + return $this->bookingCode; + } + public function setBookingCodeCount($bookingCodeCount) + { + $this->bookingCodeCount = $bookingCodeCount; + } + public function getBookingCodeCount() + { + return $this->bookingCodeCount; + } + public function setCabin($cabin) + { + $this->cabin = $cabin; + } + public function getCabin() + { + return $this->cabin; + } + public function setConnectionDuration($connectionDuration) + { + $this->connectionDuration = $connectionDuration; + } + public function getConnectionDuration() + { + return $this->connectionDuration; + } + public function setDuration($duration) + { + $this->duration = $duration; + } + public function getDuration() + { + return $this->duration; + } + public function setFlight(Google_Service_QPXExpress_FlightInfo $flight) + { + $this->flight = $flight; + } + public function getFlight() + { + return $this->flight; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setLeg($leg) + { + $this->leg = $leg; + } + public function getLeg() + { + return $this->leg; + } + public function setMarriedSegmentGroup($marriedSegmentGroup) + { + $this->marriedSegmentGroup = $marriedSegmentGroup; + } + public function getMarriedSegmentGroup() + { + return $this->marriedSegmentGroup; + } + public function setSubjectToGovernmentApproval($subjectToGovernmentApproval) + { + $this->subjectToGovernmentApproval = $subjectToGovernmentApproval; + } + public function getSubjectToGovernmentApproval() + { + return $this->subjectToGovernmentApproval; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/QPXExpress/SegmentPricing.php b/vendor/google/apiclient-services/src/Google/Service/QPXExpress/SegmentPricing.php new file mode 100644 index 00000000..5c9e3a1f --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/QPXExpress/SegmentPricing.php @@ -0,0 +1,59 @@ +fareId = $fareId; + } + public function getFareId() + { + return $this->fareId; + } + public function setFreeBaggageOption($freeBaggageOption) + { + $this->freeBaggageOption = $freeBaggageOption; + } + public function getFreeBaggageOption() + { + return $this->freeBaggageOption; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setSegmentId($segmentId) + { + $this->segmentId = $segmentId; + } + public function getSegmentId() + { + return $this->segmentId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/QPXExpress/SliceInfo.php b/vendor/google/apiclient-services/src/Google/Service/QPXExpress/SliceInfo.php new file mode 100644 index 00000000..ea1ebe76 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/QPXExpress/SliceInfo.php @@ -0,0 +1,50 @@ +duration = $duration; + } + public function getDuration() + { + return $this->duration; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setSegment($segment) + { + $this->segment = $segment; + } + public function getSegment() + { + return $this->segment; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/QPXExpress/SliceInput.php b/vendor/google/apiclient-services/src/Google/Service/QPXExpress/SliceInput.php new file mode 100644 index 00000000..ec918b4a --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/QPXExpress/SliceInput.php @@ -0,0 +1,122 @@ +alliance = $alliance; + } + public function getAlliance() + { + return $this->alliance; + } + public function setDate($date) + { + $this->date = $date; + } + public function getDate() + { + return $this->date; + } + public function setDestination($destination) + { + $this->destination = $destination; + } + public function getDestination() + { + return $this->destination; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setMaxConnectionDuration($maxConnectionDuration) + { + $this->maxConnectionDuration = $maxConnectionDuration; + } + public function getMaxConnectionDuration() + { + return $this->maxConnectionDuration; + } + public function setMaxStops($maxStops) + { + $this->maxStops = $maxStops; + } + public function getMaxStops() + { + return $this->maxStops; + } + public function setOrigin($origin) + { + $this->origin = $origin; + } + public function getOrigin() + { + return $this->origin; + } + public function setPermittedCarrier($permittedCarrier) + { + $this->permittedCarrier = $permittedCarrier; + } + public function getPermittedCarrier() + { + return $this->permittedCarrier; + } + public function setPermittedDepartureTime(Google_Service_QPXExpress_TimeOfDayRange $permittedDepartureTime) + { + $this->permittedDepartureTime = $permittedDepartureTime; + } + public function getPermittedDepartureTime() + { + return $this->permittedDepartureTime; + } + public function setPreferredCabin($preferredCabin) + { + $this->preferredCabin = $preferredCabin; + } + public function getPreferredCabin() + { + return $this->preferredCabin; + } + public function setProhibitedCarrier($prohibitedCarrier) + { + $this->prohibitedCarrier = $prohibitedCarrier; + } + public function getProhibitedCarrier() + { + return $this->prohibitedCarrier; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/QPXExpress/TaxData.php b/vendor/google/apiclient-services/src/Google/Service/QPXExpress/TaxData.php new file mode 100644 index 00000000..dfcf9af2 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/QPXExpress/TaxData.php @@ -0,0 +1,48 @@ +id = $id; + } + public function getId() + { + return $this->id; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/QPXExpress/TaxInfo.php b/vendor/google/apiclient-services/src/Google/Service/QPXExpress/TaxInfo.php new file mode 100644 index 00000000..c030e34e --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/QPXExpress/TaxInfo.php @@ -0,0 +1,75 @@ +chargeType = $chargeType; + } + public function getChargeType() + { + return $this->chargeType; + } + public function setCode($code) + { + $this->code = $code; + } + public function getCode() + { + return $this->code; + } + public function setCountry($country) + { + $this->country = $country; + } + public function getCountry() + { + return $this->country; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setSalePrice($salePrice) + { + $this->salePrice = $salePrice; + } + public function getSalePrice() + { + return $this->salePrice; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/QPXExpress/TimeOfDayRange.php b/vendor/google/apiclient-services/src/Google/Service/QPXExpress/TimeOfDayRange.php new file mode 100644 index 00000000..1b802bbc --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/QPXExpress/TimeOfDayRange.php @@ -0,0 +1,48 @@ +earliestTime = $earliestTime; + } + public function getEarliestTime() + { + return $this->earliestTime; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setLatestTime($latestTime) + { + $this->latestTime = $latestTime; + } + public function getLatestTime() + { + return $this->latestTime; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/QPXExpress/TripOption.php b/vendor/google/apiclient-services/src/Google/Service/QPXExpress/TripOption.php new file mode 100644 index 00000000..2e70e788 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/QPXExpress/TripOption.php @@ -0,0 +1,69 @@ +id = $id; + } + public function getId() + { + return $this->id; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setPricing($pricing) + { + $this->pricing = $pricing; + } + public function getPricing() + { + return $this->pricing; + } + public function setSaleTotal($saleTotal) + { + $this->saleTotal = $saleTotal; + } + public function getSaleTotal() + { + return $this->saleTotal; + } + public function setSlice($slice) + { + $this->slice = $slice; + } + public function getSlice() + { + return $this->slice; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/QPXExpress/TripOptionsRequest.php b/vendor/google/apiclient-services/src/Google/Service/QPXExpress/TripOptionsRequest.php new file mode 100644 index 00000000..efdd2f6c --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/QPXExpress/TripOptionsRequest.php @@ -0,0 +1,87 @@ +maxPrice = $maxPrice; + } + public function getMaxPrice() + { + return $this->maxPrice; + } + public function setPassengers(Google_Service_QPXExpress_PassengerCounts $passengers) + { + $this->passengers = $passengers; + } + public function getPassengers() + { + return $this->passengers; + } + public function setRefundable($refundable) + { + $this->refundable = $refundable; + } + public function getRefundable() + { + return $this->refundable; + } + public function setSaleCountry($saleCountry) + { + $this->saleCountry = $saleCountry; + } + public function getSaleCountry() + { + return $this->saleCountry; + } + public function setSlice($slice) + { + $this->slice = $slice; + } + public function getSlice() + { + return $this->slice; + } + public function setSolutions($solutions) + { + $this->solutions = $solutions; + } + public function getSolutions() + { + return $this->solutions; + } + public function setTicketingCountry($ticketingCountry) + { + $this->ticketingCountry = $ticketingCountry; + } + public function getTicketingCountry() + { + return $this->ticketingCountry; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/QPXExpress/TripOptionsResponse.php b/vendor/google/apiclient-services/src/Google/Service/QPXExpress/TripOptionsResponse.php new file mode 100644 index 00000000..aec30743 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/QPXExpress/TripOptionsResponse.php @@ -0,0 +1,60 @@ +data = $data; + } + public function getData() + { + return $this->data; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setRequestId($requestId) + { + $this->requestId = $requestId; + } + public function getRequestId() + { + return $this->requestId; + } + public function setTripOption($tripOption) + { + $this->tripOption = $tripOption; + } + public function getTripOption() + { + return $this->tripOption; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/QPXExpress/TripsSearchRequest.php b/vendor/google/apiclient-services/src/Google/Service/QPXExpress/TripsSearchRequest.php new file mode 100644 index 00000000..c6cdd3ff --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/QPXExpress/TripsSearchRequest.php @@ -0,0 +1,31 @@ +request = $request; + } + public function getRequest() + { + return $this->request; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/QPXExpress/TripsSearchResponse.php b/vendor/google/apiclient-services/src/Google/Service/QPXExpress/TripsSearchResponse.php new file mode 100644 index 00000000..43f2fcce --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/QPXExpress/TripsSearchResponse.php @@ -0,0 +1,40 @@ +kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setTrips(Google_Service_QPXExpress_TripOptionsResponse $trips) + { + $this->trips = $trips; + } + public function getTrips() + { + return $this->trips; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Replicapool.php b/vendor/google/apiclient-services/src/Google/Service/Replicapool.php new file mode 100644 index 00000000..866b294d --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Replicapool.php @@ -0,0 +1,343 @@ + + * [Deprecated. Please use Instance Group Manager in Compute API] Provides + * groups of homogenous Compute Engine instances.

+ * + *

+ * For more information about this service, see the API + * Documentation + *

+ * + * @author Google, Inc. + */ +class Google_Service_Replicapool extends Google_Service +{ + /** View and manage your data across Google Cloud Platform services. */ + const CLOUD_PLATFORM = + "https://www.googleapis.com/auth/cloud-platform"; + /** View your data across Google Cloud Platform services. */ + const CLOUD_PLATFORM_READ_ONLY = + "https://www.googleapis.com/auth/cloud-platform.read-only"; + /** View and manage your Google Compute Engine resources. */ + const COMPUTE = + "https://www.googleapis.com/auth/compute"; + /** View your Google Compute Engine resources. */ + const COMPUTE_READONLY = + "https://www.googleapis.com/auth/compute.readonly"; + + public $instanceGroupManagers; + public $zoneOperations; + + /** + * Constructs the internal representation of the Replicapool service. + * + * @param Google_Client $client + */ + public function __construct(Google_Client $client) + { + parent::__construct($client); + $this->rootUrl = 'https://www.googleapis.com/'; + $this->servicePath = 'replicapool/v1beta2/projects/'; + $this->version = 'v1beta2'; + $this->serviceName = 'replicapool'; + + $this->instanceGroupManagers = new Google_Service_Replicapool_Resource_InstanceGroupManagers( + $this, + $this->serviceName, + 'instanceGroupManagers', + array( + 'methods' => array( + 'abandonInstances' => array( + 'path' => '{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/abandonInstances', + 'httpMethod' => 'POST', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'zone' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'instanceGroupManager' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'delete' => array( + 'path' => '{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'zone' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'instanceGroupManager' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'deleteInstances' => array( + 'path' => '{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/deleteInstances', + 'httpMethod' => 'POST', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'zone' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'instanceGroupManager' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'get' => array( + 'path' => '{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'zone' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'instanceGroupManager' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'insert' => array( + 'path' => '{project}/zones/{zone}/instanceGroupManagers', + 'httpMethod' => 'POST', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'zone' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'size' => array( + 'location' => 'query', + 'type' => 'integer', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => '{project}/zones/{zone}/instanceGroupManagers', + 'httpMethod' => 'GET', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'zone' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'filter' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'recreateInstances' => array( + 'path' => '{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/recreateInstances', + 'httpMethod' => 'POST', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'zone' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'instanceGroupManager' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'resize' => array( + 'path' => '{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/resize', + 'httpMethod' => 'POST', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'zone' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'instanceGroupManager' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'size' => array( + 'location' => 'query', + 'type' => 'integer', + 'required' => true, + ), + ), + ),'setInstanceTemplate' => array( + 'path' => '{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/setInstanceTemplate', + 'httpMethod' => 'POST', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'zone' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'instanceGroupManager' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'setTargetPools' => array( + 'path' => '{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/setTargetPools', + 'httpMethod' => 'POST', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'zone' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'instanceGroupManager' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->zoneOperations = new Google_Service_Replicapool_Resource_ZoneOperations( + $this, + $this->serviceName, + 'zoneOperations', + array( + 'methods' => array( + 'get' => array( + 'path' => '{project}/zones/{zone}/operations/{operation}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'zone' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'operation' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => '{project}/zones/{zone}/operations', + 'httpMethod' => 'GET', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'zone' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'filter' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Replicapool/InstanceGroupManager.php b/vendor/google/apiclient-services/src/Google/Service/Replicapool/InstanceGroupManager.php new file mode 100644 index 00000000..b7b2c01e --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Replicapool/InstanceGroupManager.php @@ -0,0 +1,149 @@ +autoHealingPolicies = $autoHealingPolicies; + } + public function getAutoHealingPolicies() + { + return $this->autoHealingPolicies; + } + public function setBaseInstanceName($baseInstanceName) + { + $this->baseInstanceName = $baseInstanceName; + } + public function getBaseInstanceName() + { + return $this->baseInstanceName; + } + public function setCreationTimestamp($creationTimestamp) + { + $this->creationTimestamp = $creationTimestamp; + } + public function getCreationTimestamp() + { + return $this->creationTimestamp; + } + public function setCurrentSize($currentSize) + { + $this->currentSize = $currentSize; + } + public function getCurrentSize() + { + return $this->currentSize; + } + public function setDescription($description) + { + $this->description = $description; + } + public function getDescription() + { + return $this->description; + } + public function setFingerprint($fingerprint) + { + $this->fingerprint = $fingerprint; + } + public function getFingerprint() + { + return $this->fingerprint; + } + public function setGroup($group) + { + $this->group = $group; + } + public function getGroup() + { + return $this->group; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setInstanceTemplate($instanceTemplate) + { + $this->instanceTemplate = $instanceTemplate; + } + public function getInstanceTemplate() + { + return $this->instanceTemplate; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setSelfLink($selfLink) + { + $this->selfLink = $selfLink; + } + public function getSelfLink() + { + return $this->selfLink; + } + public function setTargetPools($targetPools) + { + $this->targetPools = $targetPools; + } + public function getTargetPools() + { + return $this->targetPools; + } + public function setTargetSize($targetSize) + { + $this->targetSize = $targetSize; + } + public function getTargetSize() + { + return $this->targetSize; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Replicapool/InstanceGroupManagerList.php b/vendor/google/apiclient-services/src/Google/Service/Replicapool/InstanceGroupManagerList.php new file mode 100644 index 00000000..bfeb29da --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Replicapool/InstanceGroupManagerList.php @@ -0,0 +1,68 @@ +id = $id; + } + public function getId() + { + return $this->id; + } + public function setItems($items) + { + $this->items = $items; + } + public function getItems() + { + return $this->items; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setSelfLink($selfLink) + { + $this->selfLink = $selfLink; + } + public function getSelfLink() + { + return $this->selfLink; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Replicapool/InstanceGroupManagersAbandonInstancesRequest.php b/vendor/google/apiclient-services/src/Google/Service/Replicapool/InstanceGroupManagersAbandonInstancesRequest.php new file mode 100644 index 00000000..92679f67 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Replicapool/InstanceGroupManagersAbandonInstancesRequest.php @@ -0,0 +1,31 @@ +instances = $instances; + } + public function getInstances() + { + return $this->instances; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Replicapool/InstanceGroupManagersDeleteInstancesRequest.php b/vendor/google/apiclient-services/src/Google/Service/Replicapool/InstanceGroupManagersDeleteInstancesRequest.php new file mode 100644 index 00000000..d5433358 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Replicapool/InstanceGroupManagersDeleteInstancesRequest.php @@ -0,0 +1,31 @@ +instances = $instances; + } + public function getInstances() + { + return $this->instances; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Replicapool/InstanceGroupManagersRecreateInstancesRequest.php b/vendor/google/apiclient-services/src/Google/Service/Replicapool/InstanceGroupManagersRecreateInstancesRequest.php new file mode 100644 index 00000000..9df7b3e0 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Replicapool/InstanceGroupManagersRecreateInstancesRequest.php @@ -0,0 +1,31 @@ +instances = $instances; + } + public function getInstances() + { + return $this->instances; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Replicapool/InstanceGroupManagersSetInstanceTemplateRequest.php b/vendor/google/apiclient-services/src/Google/Service/Replicapool/InstanceGroupManagersSetInstanceTemplateRequest.php new file mode 100644 index 00000000..84e88d8e --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Replicapool/InstanceGroupManagersSetInstanceTemplateRequest.php @@ -0,0 +1,30 @@ +instanceTemplate = $instanceTemplate; + } + public function getInstanceTemplate() + { + return $this->instanceTemplate; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Replicapool/InstanceGroupManagersSetTargetPoolsRequest.php b/vendor/google/apiclient-services/src/Google/Service/Replicapool/InstanceGroupManagersSetTargetPoolsRequest.php new file mode 100644 index 00000000..c17e5fc0 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Replicapool/InstanceGroupManagersSetTargetPoolsRequest.php @@ -0,0 +1,40 @@ +fingerprint = $fingerprint; + } + public function getFingerprint() + { + return $this->fingerprint; + } + public function setTargetPools($targetPools) + { + $this->targetPools = $targetPools; + } + public function getTargetPools() + { + return $this->targetPools; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Replicapool/Operation.php b/vendor/google/apiclient-services/src/Google/Service/Replicapool/Operation.php new file mode 100644 index 00000000..ba8bb13e --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Replicapool/Operation.php @@ -0,0 +1,222 @@ +clientOperationId = $clientOperationId; + } + public function getClientOperationId() + { + return $this->clientOperationId; + } + public function setCreationTimestamp($creationTimestamp) + { + $this->creationTimestamp = $creationTimestamp; + } + public function getCreationTimestamp() + { + return $this->creationTimestamp; + } + public function setEndTime($endTime) + { + $this->endTime = $endTime; + } + public function getEndTime() + { + return $this->endTime; + } + public function setError(Google_Service_Replicapool_OperationError $error) + { + $this->error = $error; + } + public function getError() + { + return $this->error; + } + public function setHttpErrorMessage($httpErrorMessage) + { + $this->httpErrorMessage = $httpErrorMessage; + } + public function getHttpErrorMessage() + { + return $this->httpErrorMessage; + } + public function setHttpErrorStatusCode($httpErrorStatusCode) + { + $this->httpErrorStatusCode = $httpErrorStatusCode; + } + public function getHttpErrorStatusCode() + { + return $this->httpErrorStatusCode; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setInsertTime($insertTime) + { + $this->insertTime = $insertTime; + } + public function getInsertTime() + { + return $this->insertTime; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setOperationType($operationType) + { + $this->operationType = $operationType; + } + public function getOperationType() + { + return $this->operationType; + } + public function setProgress($progress) + { + $this->progress = $progress; + } + public function getProgress() + { + return $this->progress; + } + public function setRegion($region) + { + $this->region = $region; + } + public function getRegion() + { + return $this->region; + } + public function setSelfLink($selfLink) + { + $this->selfLink = $selfLink; + } + public function getSelfLink() + { + return $this->selfLink; + } + public function setStartTime($startTime) + { + $this->startTime = $startTime; + } + public function getStartTime() + { + return $this->startTime; + } + public function setStatus($status) + { + $this->status = $status; + } + public function getStatus() + { + return $this->status; + } + public function setStatusMessage($statusMessage) + { + $this->statusMessage = $statusMessage; + } + public function getStatusMessage() + { + return $this->statusMessage; + } + public function setTargetId($targetId) + { + $this->targetId = $targetId; + } + public function getTargetId() + { + return $this->targetId; + } + public function setTargetLink($targetLink) + { + $this->targetLink = $targetLink; + } + public function getTargetLink() + { + return $this->targetLink; + } + public function setUser($user) + { + $this->user = $user; + } + public function getUser() + { + return $this->user; + } + public function setWarnings($warnings) + { + $this->warnings = $warnings; + } + public function getWarnings() + { + return $this->warnings; + } + public function setZone($zone) + { + $this->zone = $zone; + } + public function getZone() + { + return $this->zone; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Replicapool/OperationError.php b/vendor/google/apiclient-services/src/Google/Service/Replicapool/OperationError.php new file mode 100644 index 00000000..e7445cc3 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Replicapool/OperationError.php @@ -0,0 +1,32 @@ +errors = $errors; + } + public function getErrors() + { + return $this->errors; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Replicapool/OperationErrorErrors.php b/vendor/google/apiclient-services/src/Google/Service/Replicapool/OperationErrorErrors.php new file mode 100644 index 00000000..8827f7a5 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Replicapool/OperationErrorErrors.php @@ -0,0 +1,48 @@ +code = $code; + } + public function getCode() + { + return $this->code; + } + public function setLocation($location) + { + $this->location = $location; + } + public function getLocation() + { + return $this->location; + } + public function setMessage($message) + { + $this->message = $message; + } + public function getMessage() + { + return $this->message; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Replicapool/OperationList.php b/vendor/google/apiclient-services/src/Google/Service/Replicapool/OperationList.php new file mode 100644 index 00000000..79651b5c --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Replicapool/OperationList.php @@ -0,0 +1,68 @@ +id = $id; + } + public function getId() + { + return $this->id; + } + public function setItems($items) + { + $this->items = $items; + } + public function getItems() + { + return $this->items; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setSelfLink($selfLink) + { + $this->selfLink = $selfLink; + } + public function getSelfLink() + { + return $this->selfLink; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Replicapool/OperationWarnings.php b/vendor/google/apiclient-services/src/Google/Service/Replicapool/OperationWarnings.php new file mode 100644 index 00000000..251dd0be --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Replicapool/OperationWarnings.php @@ -0,0 +1,50 @@ +code = $code; + } + public function getCode() + { + return $this->code; + } + public function setData($data) + { + $this->data = $data; + } + public function getData() + { + return $this->data; + } + public function setMessage($message) + { + $this->message = $message; + } + public function getMessage() + { + return $this->message; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Replicapool/OperationWarningsData.php b/vendor/google/apiclient-services/src/Google/Service/Replicapool/OperationWarningsData.php new file mode 100644 index 00000000..1f9d0913 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Replicapool/OperationWarningsData.php @@ -0,0 +1,39 @@ +key = $key; + } + public function getKey() + { + return $this->key; + } + public function setValue($value) + { + $this->value = $value; + } + public function getValue() + { + return $this->value; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Replicapool/ReplicaPoolAutoHealingPolicy.php b/vendor/google/apiclient-services/src/Google/Service/Replicapool/ReplicaPoolAutoHealingPolicy.php new file mode 100644 index 00000000..c21ebf01 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Replicapool/ReplicaPoolAutoHealingPolicy.php @@ -0,0 +1,39 @@ +actionType = $actionType; + } + public function getActionType() + { + return $this->actionType; + } + public function setHealthCheck($healthCheck) + { + $this->healthCheck = $healthCheck; + } + public function getHealthCheck() + { + return $this->healthCheck; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Replicapool/Resource/InstanceGroupManagers.php b/vendor/google/apiclient-services/src/Google/Service/Replicapool/Resource/InstanceGroupManagers.php new file mode 100644 index 00000000..de735d41 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Replicapool/Resource/InstanceGroupManagers.php @@ -0,0 +1,223 @@ + + * $replicapoolService = new Google_Service_Replicapool(...); + * $instanceGroupManagers = $replicapoolService->instanceGroupManagers; + * + */ +class Google_Service_Replicapool_Resource_InstanceGroupManagers extends Google_Service_Resource +{ + /** + * Removes the specified instances from the managed instance group, and from any + * target pools of which they were members, without deleting the instances. + * (instanceGroupManagers.abandonInstances) + * + * @param string $project The Google Developers Console project name. + * @param string $zone The name of the zone in which the instance group manager + * resides. + * @param string $instanceGroupManager The name of the instance group manager. + * @param Google_Service_Replicapool_InstanceGroupManagersAbandonInstancesRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Replicapool_Operation + */ + public function abandonInstances($project, $zone, $instanceGroupManager, Google_Service_Replicapool_InstanceGroupManagersAbandonInstancesRequest $postBody, $optParams = array()) + { + $params = array('project' => $project, 'zone' => $zone, 'instanceGroupManager' => $instanceGroupManager, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('abandonInstances', array($params), "Google_Service_Replicapool_Operation"); + } + /** + * Deletes the instance group manager and all instances contained within. If + * you'd like to delete the manager without deleting the instances, you must + * first abandon the instances to remove them from the group. + * (instanceGroupManagers.delete) + * + * @param string $project The Google Developers Console project name. + * @param string $zone The name of the zone in which the instance group manager + * resides. + * @param string $instanceGroupManager Name of the Instance Group Manager + * resource to delete. + * @param array $optParams Optional parameters. + * @return Google_Service_Replicapool_Operation + */ + public function delete($project, $zone, $instanceGroupManager, $optParams = array()) + { + $params = array('project' => $project, 'zone' => $zone, 'instanceGroupManager' => $instanceGroupManager); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params), "Google_Service_Replicapool_Operation"); + } + /** + * Deletes the specified instances. The instances are deleted, then removed from + * the instance group and any target pools of which they were a member. The + * targetSize of the instance group manager is reduced by the number of + * instances deleted. (instanceGroupManagers.deleteInstances) + * + * @param string $project The Google Developers Console project name. + * @param string $zone The name of the zone in which the instance group manager + * resides. + * @param string $instanceGroupManager The name of the instance group manager. + * @param Google_Service_Replicapool_InstanceGroupManagersDeleteInstancesRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Replicapool_Operation + */ + public function deleteInstances($project, $zone, $instanceGroupManager, Google_Service_Replicapool_InstanceGroupManagersDeleteInstancesRequest $postBody, $optParams = array()) + { + $params = array('project' => $project, 'zone' => $zone, 'instanceGroupManager' => $instanceGroupManager, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('deleteInstances', array($params), "Google_Service_Replicapool_Operation"); + } + /** + * Returns the specified Instance Group Manager resource. + * (instanceGroupManagers.get) + * + * @param string $project The Google Developers Console project name. + * @param string $zone The name of the zone in which the instance group manager + * resides. + * @param string $instanceGroupManager Name of the instance resource to return. + * @param array $optParams Optional parameters. + * @return Google_Service_Replicapool_InstanceGroupManager + */ + public function get($project, $zone, $instanceGroupManager, $optParams = array()) + { + $params = array('project' => $project, 'zone' => $zone, 'instanceGroupManager' => $instanceGroupManager); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Replicapool_InstanceGroupManager"); + } + /** + * Creates an instance group manager, as well as the instance group and the + * specified number of instances. (instanceGroupManagers.insert) + * + * @param string $project The Google Developers Console project name. + * @param string $zone The name of the zone in which the instance group manager + * resides. + * @param int $size Number of instances that should exist. + * @param Google_Service_Replicapool_InstanceGroupManager $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Replicapool_Operation + */ + public function insert($project, $zone, $size, Google_Service_Replicapool_InstanceGroupManager $postBody, $optParams = array()) + { + $params = array('project' => $project, 'zone' => $zone, 'size' => $size, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('insert', array($params), "Google_Service_Replicapool_Operation"); + } + /** + * Retrieves the list of Instance Group Manager resources contained within the + * specified zone. (instanceGroupManagers.listInstanceGroupManagers) + * + * @param string $project The Google Developers Console project name. + * @param string $zone The name of the zone in which the instance group manager + * resides. + * @param array $optParams Optional parameters. + * + * @opt_param string filter Optional. Filter expression for filtering listed + * resources. + * @opt_param string maxResults Optional. Maximum count of results to be + * returned. Maximum value is 500 and default value is 500. + * @opt_param string pageToken Optional. Tag returned by a previous list request + * truncated by maxResults. Used to continue a previous list request. + * @return Google_Service_Replicapool_InstanceGroupManagerList + */ + public function listInstanceGroupManagers($project, $zone, $optParams = array()) + { + $params = array('project' => $project, 'zone' => $zone); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Replicapool_InstanceGroupManagerList"); + } + /** + * Recreates the specified instances. The instances are deleted, then recreated + * using the instance group manager's current instance template. + * (instanceGroupManagers.recreateInstances) + * + * @param string $project The Google Developers Console project name. + * @param string $zone The name of the zone in which the instance group manager + * resides. + * @param string $instanceGroupManager The name of the instance group manager. + * @param Google_Service_Replicapool_InstanceGroupManagersRecreateInstancesRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Replicapool_Operation + */ + public function recreateInstances($project, $zone, $instanceGroupManager, Google_Service_Replicapool_InstanceGroupManagersRecreateInstancesRequest $postBody, $optParams = array()) + { + $params = array('project' => $project, 'zone' => $zone, 'instanceGroupManager' => $instanceGroupManager, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('recreateInstances', array($params), "Google_Service_Replicapool_Operation"); + } + /** + * Resizes the managed instance group up or down. If resized up, new instances + * are created using the current instance template. If resized down, instances + * are removed in the order outlined in Resizing a managed instance group. + * (instanceGroupManagers.resize) + * + * @param string $project The Google Developers Console project name. + * @param string $zone The name of the zone in which the instance group manager + * resides. + * @param string $instanceGroupManager The name of the instance group manager. + * @param int $size Number of instances that should exist in this Instance Group + * Manager. + * @param array $optParams Optional parameters. + * @return Google_Service_Replicapool_Operation + */ + public function resize($project, $zone, $instanceGroupManager, $size, $optParams = array()) + { + $params = array('project' => $project, 'zone' => $zone, 'instanceGroupManager' => $instanceGroupManager, 'size' => $size); + $params = array_merge($params, $optParams); + return $this->call('resize', array($params), "Google_Service_Replicapool_Operation"); + } + /** + * Sets the instance template to use when creating new instances in this group. + * Existing instances are not affected. + * (instanceGroupManagers.setInstanceTemplate) + * + * @param string $project The Google Developers Console project name. + * @param string $zone The name of the zone in which the instance group manager + * resides. + * @param string $instanceGroupManager The name of the instance group manager. + * @param Google_Service_Replicapool_InstanceGroupManagersSetInstanceTemplateRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Replicapool_Operation + */ + public function setInstanceTemplate($project, $zone, $instanceGroupManager, Google_Service_Replicapool_InstanceGroupManagersSetInstanceTemplateRequest $postBody, $optParams = array()) + { + $params = array('project' => $project, 'zone' => $zone, 'instanceGroupManager' => $instanceGroupManager, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('setInstanceTemplate', array($params), "Google_Service_Replicapool_Operation"); + } + /** + * Modifies the target pools to which all new instances in this group are + * assigned. Existing instances in the group are not affected. + * (instanceGroupManagers.setTargetPools) + * + * @param string $project The Google Developers Console project name. + * @param string $zone The name of the zone in which the instance group manager + * resides. + * @param string $instanceGroupManager The name of the instance group manager. + * @param Google_Service_Replicapool_InstanceGroupManagersSetTargetPoolsRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Replicapool_Operation + */ + public function setTargetPools($project, $zone, $instanceGroupManager, Google_Service_Replicapool_InstanceGroupManagersSetTargetPoolsRequest $postBody, $optParams = array()) + { + $params = array('project' => $project, 'zone' => $zone, 'instanceGroupManager' => $instanceGroupManager, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('setTargetPools', array($params), "Google_Service_Replicapool_Operation"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Replicapool/Resource/ZoneOperations.php b/vendor/google/apiclient-services/src/Google/Service/Replicapool/Resource/ZoneOperations.php new file mode 100644 index 00000000..8f13f026 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Replicapool/Resource/ZoneOperations.php @@ -0,0 +1,66 @@ + + * $replicapoolService = new Google_Service_Replicapool(...); + * $zoneOperations = $replicapoolService->zoneOperations; + * + */ +class Google_Service_Replicapool_Resource_ZoneOperations extends Google_Service_Resource +{ + /** + * Retrieves the specified zone-specific operation resource. + * (zoneOperations.get) + * + * @param string $project Name of the project scoping this request. + * @param string $zone Name of the zone scoping this request. + * @param string $operation Name of the operation resource to return. + * @param array $optParams Optional parameters. + * @return Google_Service_Replicapool_Operation + */ + public function get($project, $zone, $operation, $optParams = array()) + { + $params = array('project' => $project, 'zone' => $zone, 'operation' => $operation); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Replicapool_Operation"); + } + /** + * Retrieves the list of operation resources contained within the specified + * zone. (zoneOperations.listZoneOperations) + * + * @param string $project Name of the project scoping this request. + * @param string $zone Name of the zone scoping this request. + * @param array $optParams Optional parameters. + * + * @opt_param string filter Optional. Filter expression for filtering listed + * resources. + * @opt_param string maxResults Optional. Maximum count of results to be + * returned. Maximum value is 500 and default value is 500. + * @opt_param string pageToken Optional. Tag returned by a previous list request + * truncated by maxResults. Used to continue a previous list request. + * @return Google_Service_Replicapool_OperationList + */ + public function listZoneOperations($project, $zone, $optParams = array()) + { + $params = array('project' => $project, 'zone' => $zone); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Replicapool_OperationList"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Replicapoolupdater.php b/vendor/google/apiclient-services/src/Google/Service/Replicapoolupdater.php new file mode 100644 index 00000000..909d9a8d --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Replicapoolupdater.php @@ -0,0 +1,306 @@ + + * [Deprecated. Please use compute.instanceGroupManagers.update method. + * replicapoolupdater API will be disabled after December 30th, 2016] Updates + * groups of Compute Engine instances.

+ * + *

+ * For more information about this service, see the API + * Documentation + *

+ * + * @author Google, Inc. + */ +class Google_Service_Replicapoolupdater extends Google_Service +{ + /** View and manage your data across Google Cloud Platform services. */ + const CLOUD_PLATFORM = + "https://www.googleapis.com/auth/cloud-platform"; + /** View your data across Google Cloud Platform services. */ + const CLOUD_PLATFORM_READ_ONLY = + "https://www.googleapis.com/auth/cloud-platform.read-only"; + /** View and manage replica pools. */ + const REPLICAPOOL = + "https://www.googleapis.com/auth/replicapool"; + /** View replica pools. */ + const REPLICAPOOL_READONLY = + "https://www.googleapis.com/auth/replicapool.readonly"; + + public $rollingUpdates; + public $zoneOperations; + + /** + * Constructs the internal representation of the Replicapoolupdater service. + * + * @param Google_Client $client + */ + public function __construct(Google_Client $client) + { + parent::__construct($client); + $this->rootUrl = 'https://www.googleapis.com/'; + $this->servicePath = 'replicapoolupdater/v1beta1/projects/'; + $this->version = 'v1beta1'; + $this->serviceName = 'replicapoolupdater'; + + $this->rollingUpdates = new Google_Service_Replicapoolupdater_Resource_RollingUpdates( + $this, + $this->serviceName, + 'rollingUpdates', + array( + 'methods' => array( + 'cancel' => array( + 'path' => '{project}/zones/{zone}/rollingUpdates/{rollingUpdate}/cancel', + 'httpMethod' => 'POST', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'zone' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'rollingUpdate' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'get' => array( + 'path' => '{project}/zones/{zone}/rollingUpdates/{rollingUpdate}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'zone' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'rollingUpdate' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'insert' => array( + 'path' => '{project}/zones/{zone}/rollingUpdates', + 'httpMethod' => 'POST', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'zone' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => '{project}/zones/{zone}/rollingUpdates', + 'httpMethod' => 'GET', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'zone' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'filter' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'listInstanceUpdates' => array( + 'path' => '{project}/zones/{zone}/rollingUpdates/{rollingUpdate}/instanceUpdates', + 'httpMethod' => 'GET', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'zone' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'rollingUpdate' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'filter' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'pause' => array( + 'path' => '{project}/zones/{zone}/rollingUpdates/{rollingUpdate}/pause', + 'httpMethod' => 'POST', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'zone' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'rollingUpdate' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'resume' => array( + 'path' => '{project}/zones/{zone}/rollingUpdates/{rollingUpdate}/resume', + 'httpMethod' => 'POST', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'zone' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'rollingUpdate' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'rollback' => array( + 'path' => '{project}/zones/{zone}/rollingUpdates/{rollingUpdate}/rollback', + 'httpMethod' => 'POST', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'zone' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'rollingUpdate' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->zoneOperations = new Google_Service_Replicapoolupdater_Resource_ZoneOperations( + $this, + $this->serviceName, + 'zoneOperations', + array( + 'methods' => array( + 'get' => array( + 'path' => '{project}/zones/{zone}/operations/{operation}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'zone' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'operation' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => '{project}/zones/{zone}/operations', + 'httpMethod' => 'GET', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'zone' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'filter' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Replicapoolupdater/InstanceUpdate.php b/vendor/google/apiclient-services/src/Google/Service/Replicapoolupdater/InstanceUpdate.php new file mode 100644 index 00000000..bd05a8b1 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Replicapoolupdater/InstanceUpdate.php @@ -0,0 +1,49 @@ +error = $error; + } + public function getError() + { + return $this->error; + } + public function setInstance($instance) + { + $this->instance = $instance; + } + public function getInstance() + { + return $this->instance; + } + public function setStatus($status) + { + $this->status = $status; + } + public function getStatus() + { + return $this->status; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Replicapoolupdater/InstanceUpdateError.php b/vendor/google/apiclient-services/src/Google/Service/Replicapoolupdater/InstanceUpdateError.php new file mode 100644 index 00000000..22184541 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Replicapoolupdater/InstanceUpdateError.php @@ -0,0 +1,32 @@ +errors = $errors; + } + public function getErrors() + { + return $this->errors; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Replicapoolupdater/InstanceUpdateErrorErrors.php b/vendor/google/apiclient-services/src/Google/Service/Replicapoolupdater/InstanceUpdateErrorErrors.php new file mode 100644 index 00000000..f2ab73f9 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Replicapoolupdater/InstanceUpdateErrorErrors.php @@ -0,0 +1,48 @@ +code = $code; + } + public function getCode() + { + return $this->code; + } + public function setLocation($location) + { + $this->location = $location; + } + public function getLocation() + { + return $this->location; + } + public function setMessage($message) + { + $this->message = $message; + } + public function getMessage() + { + return $this->message; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Replicapoolupdater/InstanceUpdateList.php b/vendor/google/apiclient-services/src/Google/Service/Replicapoolupdater/InstanceUpdateList.php new file mode 100644 index 00000000..15e0df5b --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Replicapoolupdater/InstanceUpdateList.php @@ -0,0 +1,59 @@ +items = $items; + } + public function getItems() + { + return $this->items; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setSelfLink($selfLink) + { + $this->selfLink = $selfLink; + } + public function getSelfLink() + { + return $this->selfLink; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Replicapoolupdater/Operation.php b/vendor/google/apiclient-services/src/Google/Service/Replicapoolupdater/Operation.php new file mode 100644 index 00000000..5db33d80 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Replicapoolupdater/Operation.php @@ -0,0 +1,222 @@ +clientOperationId = $clientOperationId; + } + public function getClientOperationId() + { + return $this->clientOperationId; + } + public function setCreationTimestamp($creationTimestamp) + { + $this->creationTimestamp = $creationTimestamp; + } + public function getCreationTimestamp() + { + return $this->creationTimestamp; + } + public function setEndTime($endTime) + { + $this->endTime = $endTime; + } + public function getEndTime() + { + return $this->endTime; + } + public function setError(Google_Service_Replicapoolupdater_OperationError $error) + { + $this->error = $error; + } + public function getError() + { + return $this->error; + } + public function setHttpErrorMessage($httpErrorMessage) + { + $this->httpErrorMessage = $httpErrorMessage; + } + public function getHttpErrorMessage() + { + return $this->httpErrorMessage; + } + public function setHttpErrorStatusCode($httpErrorStatusCode) + { + $this->httpErrorStatusCode = $httpErrorStatusCode; + } + public function getHttpErrorStatusCode() + { + return $this->httpErrorStatusCode; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setInsertTime($insertTime) + { + $this->insertTime = $insertTime; + } + public function getInsertTime() + { + return $this->insertTime; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setOperationType($operationType) + { + $this->operationType = $operationType; + } + public function getOperationType() + { + return $this->operationType; + } + public function setProgress($progress) + { + $this->progress = $progress; + } + public function getProgress() + { + return $this->progress; + } + public function setRegion($region) + { + $this->region = $region; + } + public function getRegion() + { + return $this->region; + } + public function setSelfLink($selfLink) + { + $this->selfLink = $selfLink; + } + public function getSelfLink() + { + return $this->selfLink; + } + public function setStartTime($startTime) + { + $this->startTime = $startTime; + } + public function getStartTime() + { + return $this->startTime; + } + public function setStatus($status) + { + $this->status = $status; + } + public function getStatus() + { + return $this->status; + } + public function setStatusMessage($statusMessage) + { + $this->statusMessage = $statusMessage; + } + public function getStatusMessage() + { + return $this->statusMessage; + } + public function setTargetId($targetId) + { + $this->targetId = $targetId; + } + public function getTargetId() + { + return $this->targetId; + } + public function setTargetLink($targetLink) + { + $this->targetLink = $targetLink; + } + public function getTargetLink() + { + return $this->targetLink; + } + public function setUser($user) + { + $this->user = $user; + } + public function getUser() + { + return $this->user; + } + public function setWarnings($warnings) + { + $this->warnings = $warnings; + } + public function getWarnings() + { + return $this->warnings; + } + public function setZone($zone) + { + $this->zone = $zone; + } + public function getZone() + { + return $this->zone; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Replicapoolupdater/OperationError.php b/vendor/google/apiclient-services/src/Google/Service/Replicapoolupdater/OperationError.php new file mode 100644 index 00000000..b22a03f0 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Replicapoolupdater/OperationError.php @@ -0,0 +1,32 @@ +errors = $errors; + } + public function getErrors() + { + return $this->errors; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Replicapoolupdater/OperationErrorErrors.php b/vendor/google/apiclient-services/src/Google/Service/Replicapoolupdater/OperationErrorErrors.php new file mode 100644 index 00000000..3f2719f8 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Replicapoolupdater/OperationErrorErrors.php @@ -0,0 +1,48 @@ +code = $code; + } + public function getCode() + { + return $this->code; + } + public function setLocation($location) + { + $this->location = $location; + } + public function getLocation() + { + return $this->location; + } + public function setMessage($message) + { + $this->message = $message; + } + public function getMessage() + { + return $this->message; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Replicapoolupdater/OperationList.php b/vendor/google/apiclient-services/src/Google/Service/Replicapoolupdater/OperationList.php new file mode 100644 index 00000000..3383b680 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Replicapoolupdater/OperationList.php @@ -0,0 +1,68 @@ +id = $id; + } + public function getId() + { + return $this->id; + } + public function setItems($items) + { + $this->items = $items; + } + public function getItems() + { + return $this->items; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setSelfLink($selfLink) + { + $this->selfLink = $selfLink; + } + public function getSelfLink() + { + return $this->selfLink; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Replicapoolupdater/OperationWarnings.php b/vendor/google/apiclient-services/src/Google/Service/Replicapoolupdater/OperationWarnings.php new file mode 100644 index 00000000..20745152 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Replicapoolupdater/OperationWarnings.php @@ -0,0 +1,50 @@ +code = $code; + } + public function getCode() + { + return $this->code; + } + public function setData($data) + { + $this->data = $data; + } + public function getData() + { + return $this->data; + } + public function setMessage($message) + { + $this->message = $message; + } + public function getMessage() + { + return $this->message; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Replicapoolupdater/OperationWarningsData.php b/vendor/google/apiclient-services/src/Google/Service/Replicapoolupdater/OperationWarningsData.php new file mode 100644 index 00000000..b5dd229a --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Replicapoolupdater/OperationWarningsData.php @@ -0,0 +1,39 @@ +key = $key; + } + public function getKey() + { + return $this->key; + } + public function setValue($value) + { + $this->value = $value; + } + public function getValue() + { + return $this->value; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Replicapoolupdater/Resource/RollingUpdates.php b/vendor/google/apiclient-services/src/Google/Service/Replicapoolupdater/Resource/RollingUpdates.php new file mode 100644 index 00000000..2899ab75 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Replicapoolupdater/Resource/RollingUpdates.php @@ -0,0 +1,177 @@ + + * $replicapoolupdaterService = new Google_Service_Replicapoolupdater(...); + * $rollingUpdates = $replicapoolupdaterService->rollingUpdates; + * + */ +class Google_Service_Replicapoolupdater_Resource_RollingUpdates extends Google_Service_Resource +{ + /** + * Cancels an update. The update must be PAUSED before it can be cancelled. This + * has no effect if the update is already CANCELLED. (rollingUpdates.cancel) + * + * @param string $project The Google Developers Console project name. + * @param string $zone The name of the zone in which the update's target + * resides. + * @param string $rollingUpdate The name of the update. + * @param array $optParams Optional parameters. + * @return Google_Service_Replicapoolupdater_Operation + */ + public function cancel($project, $zone, $rollingUpdate, $optParams = array()) + { + $params = array('project' => $project, 'zone' => $zone, 'rollingUpdate' => $rollingUpdate); + $params = array_merge($params, $optParams); + return $this->call('cancel', array($params), "Google_Service_Replicapoolupdater_Operation"); + } + /** + * Returns information about an update. (rollingUpdates.get) + * + * @param string $project The Google Developers Console project name. + * @param string $zone The name of the zone in which the update's target + * resides. + * @param string $rollingUpdate The name of the update. + * @param array $optParams Optional parameters. + * @return Google_Service_Replicapoolupdater_RollingUpdate + */ + public function get($project, $zone, $rollingUpdate, $optParams = array()) + { + $params = array('project' => $project, 'zone' => $zone, 'rollingUpdate' => $rollingUpdate); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Replicapoolupdater_RollingUpdate"); + } + /** + * Inserts and starts a new update. (rollingUpdates.insert) + * + * @param string $project The Google Developers Console project name. + * @param string $zone The name of the zone in which the update's target + * resides. + * @param Google_Service_Replicapoolupdater_RollingUpdate $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Replicapoolupdater_Operation + */ + public function insert($project, $zone, Google_Service_Replicapoolupdater_RollingUpdate $postBody, $optParams = array()) + { + $params = array('project' => $project, 'zone' => $zone, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('insert', array($params), "Google_Service_Replicapoolupdater_Operation"); + } + /** + * Lists recent updates for a given managed instance group, in reverse + * chronological order and paginated format. (rollingUpdates.listRollingUpdates) + * + * @param string $project The Google Developers Console project name. + * @param string $zone The name of the zone in which the update's target + * resides. + * @param array $optParams Optional parameters. + * + * @opt_param string filter Optional. Filter expression for filtering listed + * resources. + * @opt_param string maxResults Optional. Maximum count of results to be + * returned. Maximum value is 500 and default value is 500. + * @opt_param string pageToken Optional. Tag returned by a previous list request + * truncated by maxResults. Used to continue a previous list request. + * @return Google_Service_Replicapoolupdater_RollingUpdateList + */ + public function listRollingUpdates($project, $zone, $optParams = array()) + { + $params = array('project' => $project, 'zone' => $zone); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Replicapoolupdater_RollingUpdateList"); + } + /** + * Lists the current status for each instance within a given update. + * (rollingUpdates.listInstanceUpdates) + * + * @param string $project The Google Developers Console project name. + * @param string $zone The name of the zone in which the update's target + * resides. + * @param string $rollingUpdate The name of the update. + * @param array $optParams Optional parameters. + * + * @opt_param string filter Optional. Filter expression for filtering listed + * resources. + * @opt_param string maxResults Optional. Maximum count of results to be + * returned. Maximum value is 500 and default value is 500. + * @opt_param string pageToken Optional. Tag returned by a previous list request + * truncated by maxResults. Used to continue a previous list request. + * @return Google_Service_Replicapoolupdater_InstanceUpdateList + */ + public function listInstanceUpdates($project, $zone, $rollingUpdate, $optParams = array()) + { + $params = array('project' => $project, 'zone' => $zone, 'rollingUpdate' => $rollingUpdate); + $params = array_merge($params, $optParams); + return $this->call('listInstanceUpdates', array($params), "Google_Service_Replicapoolupdater_InstanceUpdateList"); + } + /** + * Pauses the update in state from ROLLING_FORWARD or ROLLING_BACK. Has no + * effect if invoked when the state of the update is PAUSED. + * (rollingUpdates.pause) + * + * @param string $project The Google Developers Console project name. + * @param string $zone The name of the zone in which the update's target + * resides. + * @param string $rollingUpdate The name of the update. + * @param array $optParams Optional parameters. + * @return Google_Service_Replicapoolupdater_Operation + */ + public function pause($project, $zone, $rollingUpdate, $optParams = array()) + { + $params = array('project' => $project, 'zone' => $zone, 'rollingUpdate' => $rollingUpdate); + $params = array_merge($params, $optParams); + return $this->call('pause', array($params), "Google_Service_Replicapoolupdater_Operation"); + } + /** + * Continues an update in PAUSED state. Has no effect if invoked when the state + * of the update is ROLLED_OUT. (rollingUpdates.resume) + * + * @param string $project The Google Developers Console project name. + * @param string $zone The name of the zone in which the update's target + * resides. + * @param string $rollingUpdate The name of the update. + * @param array $optParams Optional parameters. + * @return Google_Service_Replicapoolupdater_Operation + */ + public function resume($project, $zone, $rollingUpdate, $optParams = array()) + { + $params = array('project' => $project, 'zone' => $zone, 'rollingUpdate' => $rollingUpdate); + $params = array_merge($params, $optParams); + return $this->call('resume', array($params), "Google_Service_Replicapoolupdater_Operation"); + } + /** + * Rolls back the update in state from ROLLING_FORWARD or PAUSED. Has no effect + * if invoked when the state of the update is ROLLED_BACK. + * (rollingUpdates.rollback) + * + * @param string $project The Google Developers Console project name. + * @param string $zone The name of the zone in which the update's target + * resides. + * @param string $rollingUpdate The name of the update. + * @param array $optParams Optional parameters. + * @return Google_Service_Replicapoolupdater_Operation + */ + public function rollback($project, $zone, $rollingUpdate, $optParams = array()) + { + $params = array('project' => $project, 'zone' => $zone, 'rollingUpdate' => $rollingUpdate); + $params = array_merge($params, $optParams); + return $this->call('rollback', array($params), "Google_Service_Replicapoolupdater_Operation"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Replicapoolupdater/Resource/ZoneOperations.php b/vendor/google/apiclient-services/src/Google/Service/Replicapoolupdater/Resource/ZoneOperations.php new file mode 100644 index 00000000..5f8a13fb --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Replicapoolupdater/Resource/ZoneOperations.php @@ -0,0 +1,66 @@ + + * $replicapoolupdaterService = new Google_Service_Replicapoolupdater(...); + * $zoneOperations = $replicapoolupdaterService->zoneOperations; + * + */ +class Google_Service_Replicapoolupdater_Resource_ZoneOperations extends Google_Service_Resource +{ + /** + * Retrieves the specified zone-specific operation resource. + * (zoneOperations.get) + * + * @param string $project Name of the project scoping this request. + * @param string $zone Name of the zone scoping this request. + * @param string $operation Name of the operation resource to return. + * @param array $optParams Optional parameters. + * @return Google_Service_Replicapoolupdater_Operation + */ + public function get($project, $zone, $operation, $optParams = array()) + { + $params = array('project' => $project, 'zone' => $zone, 'operation' => $operation); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Replicapoolupdater_Operation"); + } + /** + * Retrieves the list of Operation resources contained within the specified + * zone. (zoneOperations.listZoneOperations) + * + * @param string $project Name of the project scoping this request. + * @param string $zone Name of the zone scoping this request. + * @param array $optParams Optional parameters. + * + * @opt_param string filter Optional. Filter expression for filtering listed + * resources. + * @opt_param string maxResults Optional. Maximum count of results to be + * returned. Maximum value is 500 and default value is 500. + * @opt_param string pageToken Optional. Tag returned by a previous list request + * truncated by maxResults. Used to continue a previous list request. + * @return Google_Service_Replicapoolupdater_OperationList + */ + public function listZoneOperations($project, $zone, $optParams = array()) + { + $params = array('project' => $project, 'zone' => $zone); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Replicapoolupdater_OperationList"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Replicapoolupdater/RollingUpdate.php b/vendor/google/apiclient-services/src/Google/Service/Replicapoolupdater/RollingUpdate.php new file mode 100644 index 00000000..ad7ca9d1 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Replicapoolupdater/RollingUpdate.php @@ -0,0 +1,167 @@ +actionType = $actionType; + } + public function getActionType() + { + return $this->actionType; + } + public function setCreationTimestamp($creationTimestamp) + { + $this->creationTimestamp = $creationTimestamp; + } + public function getCreationTimestamp() + { + return $this->creationTimestamp; + } + public function setDescription($description) + { + $this->description = $description; + } + public function getDescription() + { + return $this->description; + } + public function setError(Google_Service_Replicapoolupdater_RollingUpdateError $error) + { + $this->error = $error; + } + public function getError() + { + return $this->error; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setInstanceGroup($instanceGroup) + { + $this->instanceGroup = $instanceGroup; + } + public function getInstanceGroup() + { + return $this->instanceGroup; + } + public function setInstanceGroupManager($instanceGroupManager) + { + $this->instanceGroupManager = $instanceGroupManager; + } + public function getInstanceGroupManager() + { + return $this->instanceGroupManager; + } + public function setInstanceTemplate($instanceTemplate) + { + $this->instanceTemplate = $instanceTemplate; + } + public function getInstanceTemplate() + { + return $this->instanceTemplate; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setOldInstanceTemplate($oldInstanceTemplate) + { + $this->oldInstanceTemplate = $oldInstanceTemplate; + } + public function getOldInstanceTemplate() + { + return $this->oldInstanceTemplate; + } + public function setPolicy(Google_Service_Replicapoolupdater_RollingUpdatePolicy $policy) + { + $this->policy = $policy; + } + public function getPolicy() + { + return $this->policy; + } + public function setProgress($progress) + { + $this->progress = $progress; + } + public function getProgress() + { + return $this->progress; + } + public function setSelfLink($selfLink) + { + $this->selfLink = $selfLink; + } + public function getSelfLink() + { + return $this->selfLink; + } + public function setStatus($status) + { + $this->status = $status; + } + public function getStatus() + { + return $this->status; + } + public function setStatusMessage($statusMessage) + { + $this->statusMessage = $statusMessage; + } + public function getStatusMessage() + { + return $this->statusMessage; + } + public function setUser($user) + { + $this->user = $user; + } + public function getUser() + { + return $this->user; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Replicapoolupdater/RollingUpdateError.php b/vendor/google/apiclient-services/src/Google/Service/Replicapoolupdater/RollingUpdateError.php new file mode 100644 index 00000000..9138b3ca --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Replicapoolupdater/RollingUpdateError.php @@ -0,0 +1,32 @@ +errors = $errors; + } + public function getErrors() + { + return $this->errors; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Replicapoolupdater/RollingUpdateErrorErrors.php b/vendor/google/apiclient-services/src/Google/Service/Replicapoolupdater/RollingUpdateErrorErrors.php new file mode 100644 index 00000000..7763a026 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Replicapoolupdater/RollingUpdateErrorErrors.php @@ -0,0 +1,48 @@ +code = $code; + } + public function getCode() + { + return $this->code; + } + public function setLocation($location) + { + $this->location = $location; + } + public function getLocation() + { + return $this->location; + } + public function setMessage($message) + { + $this->message = $message; + } + public function getMessage() + { + return $this->message; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Replicapoolupdater/RollingUpdateList.php b/vendor/google/apiclient-services/src/Google/Service/Replicapoolupdater/RollingUpdateList.php new file mode 100644 index 00000000..e16cb6d7 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Replicapoolupdater/RollingUpdateList.php @@ -0,0 +1,59 @@ +items = $items; + } + public function getItems() + { + return $this->items; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setSelfLink($selfLink) + { + $this->selfLink = $selfLink; + } + public function getSelfLink() + { + return $this->selfLink; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Replicapoolupdater/RollingUpdatePolicy.php b/vendor/google/apiclient-services/src/Google/Service/Replicapoolupdater/RollingUpdatePolicy.php new file mode 100644 index 00000000..257cd67d --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Replicapoolupdater/RollingUpdatePolicy.php @@ -0,0 +1,66 @@ +autoPauseAfterInstances = $autoPauseAfterInstances; + } + public function getAutoPauseAfterInstances() + { + return $this->autoPauseAfterInstances; + } + public function setInstanceStartupTimeoutSec($instanceStartupTimeoutSec) + { + $this->instanceStartupTimeoutSec = $instanceStartupTimeoutSec; + } + public function getInstanceStartupTimeoutSec() + { + return $this->instanceStartupTimeoutSec; + } + public function setMaxNumConcurrentInstances($maxNumConcurrentInstances) + { + $this->maxNumConcurrentInstances = $maxNumConcurrentInstances; + } + public function getMaxNumConcurrentInstances() + { + return $this->maxNumConcurrentInstances; + } + public function setMaxNumFailedInstances($maxNumFailedInstances) + { + $this->maxNumFailedInstances = $maxNumFailedInstances; + } + public function getMaxNumFailedInstances() + { + return $this->maxNumFailedInstances; + } + public function setMinInstanceUpdateTimeSec($minInstanceUpdateTimeSec) + { + $this->minInstanceUpdateTimeSec = $minInstanceUpdateTimeSec; + } + public function getMinInstanceUpdateTimeSec() + { + return $this->minInstanceUpdateTimeSec; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Reports.php b/vendor/google/apiclient-services/src/Google/Service/Reports.php new file mode 100644 index 00000000..f068d386 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Reports.php @@ -0,0 +1,255 @@ + + * Fetches reports for the administrators of Google Apps customers about the + * usage, collaboration, security, and risk for their users.

+ * + *

+ * For more information about this service, see the API + * Documentation + *

+ * + * @author Google, Inc. + */ +class Google_Service_Reports extends Google_Service +{ + /** View audit reports for your G Suite domain. */ + const ADMIN_REPORTS_AUDIT_READONLY = + "https://www.googleapis.com/auth/admin.reports.audit.readonly"; + /** View usage reports for your G Suite domain. */ + const ADMIN_REPORTS_USAGE_READONLY = + "https://www.googleapis.com/auth/admin.reports.usage.readonly"; + + public $activities; + public $channels; + public $customerUsageReports; + public $userUsageReport; + + /** + * Constructs the internal representation of the Reports service. + * + * @param Google_Client $client + */ + public function __construct(Google_Client $client) + { + parent::__construct($client); + $this->rootUrl = 'https://www.googleapis.com/'; + $this->servicePath = 'admin/reports/v1/'; + $this->version = 'reports_v1'; + $this->serviceName = 'admin'; + + $this->activities = new Google_Service_Reports_Resource_Activities( + $this, + $this->serviceName, + 'activities', + array( + 'methods' => array( + 'list' => array( + 'path' => 'activity/users/{userKey}/applications/{applicationName}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'userKey' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'applicationName' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'actorIpAddress' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'customerId' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'endTime' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'eventName' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'filters' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'startTime' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'watch' => array( + 'path' => 'activity/users/{userKey}/applications/{applicationName}/watch', + 'httpMethod' => 'POST', + 'parameters' => array( + 'userKey' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'applicationName' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'actorIpAddress' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'customerId' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'endTime' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'eventName' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'filters' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'startTime' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + $this->channels = new Google_Service_Reports_Resource_Channels( + $this, + $this->serviceName, + 'channels', + array( + 'methods' => array( + 'stop' => array( + 'path' => '/admin/reports_v1/channels/stop', + 'httpMethod' => 'POST', + 'parameters' => array(), + ), + ) + ) + ); + $this->customerUsageReports = new Google_Service_Reports_Resource_CustomerUsageReports( + $this, + $this->serviceName, + 'customerUsageReports', + array( + 'methods' => array( + 'get' => array( + 'path' => 'usage/dates/{date}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'date' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'customerId' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'parameters' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + $this->userUsageReport = new Google_Service_Reports_Resource_UserUsageReport( + $this, + $this->serviceName, + 'userUsageReport', + array( + 'methods' => array( + 'get' => array( + 'path' => 'usage/users/{userKey}/dates/{date}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'userKey' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'date' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'customerId' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'filters' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'parameters' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Reports/Activities.php b/vendor/google/apiclient-services/src/Google/Service/Reports/Activities.php new file mode 100644 index 00000000..fd2ec9f0 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Reports/Activities.php @@ -0,0 +1,59 @@ +etag = $etag; + } + public function getEtag() + { + return $this->etag; + } + public function setItems($items) + { + $this->items = $items; + } + public function getItems() + { + return $this->items; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Reports/Activity.php b/vendor/google/apiclient-services/src/Google/Service/Reports/Activity.php new file mode 100644 index 00000000..608bc02d --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Reports/Activity.php @@ -0,0 +1,88 @@ +actor = $actor; + } + public function getActor() + { + return $this->actor; + } + public function setEtag($etag) + { + $this->etag = $etag; + } + public function getEtag() + { + return $this->etag; + } + public function setEvents($events) + { + $this->events = $events; + } + public function getEvents() + { + return $this->events; + } + public function setId(Google_Service_Reports_ActivityId $id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setIpAddress($ipAddress) + { + $this->ipAddress = $ipAddress; + } + public function getIpAddress() + { + return $this->ipAddress; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setOwnerDomain($ownerDomain) + { + $this->ownerDomain = $ownerDomain; + } + public function getOwnerDomain() + { + return $this->ownerDomain; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Reports/ActivityActor.php b/vendor/google/apiclient-services/src/Google/Service/Reports/ActivityActor.php new file mode 100644 index 00000000..311fc13f --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Reports/ActivityActor.php @@ -0,0 +1,57 @@ +callerType = $callerType; + } + public function getCallerType() + { + return $this->callerType; + } + public function setEmail($email) + { + $this->email = $email; + } + public function getEmail() + { + return $this->email; + } + public function setKey($key) + { + $this->key = $key; + } + public function getKey() + { + return $this->key; + } + public function setProfileId($profileId) + { + $this->profileId = $profileId; + } + public function getProfileId() + { + return $this->profileId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Reports/ActivityEvents.php b/vendor/google/apiclient-services/src/Google/Service/Reports/ActivityEvents.php new file mode 100644 index 00000000..93e9be92 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Reports/ActivityEvents.php @@ -0,0 +1,50 @@ +name = $name; + } + public function getName() + { + return $this->name; + } + public function setParameters($parameters) + { + $this->parameters = $parameters; + } + public function getParameters() + { + return $this->parameters; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Reports/ActivityEventsParameters.php b/vendor/google/apiclient-services/src/Google/Service/Reports/ActivityEventsParameters.php new file mode 100644 index 00000000..33ff073f --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Reports/ActivityEventsParameters.php @@ -0,0 +1,76 @@ +boolValue = $boolValue; + } + public function getBoolValue() + { + return $this->boolValue; + } + public function setIntValue($intValue) + { + $this->intValue = $intValue; + } + public function getIntValue() + { + return $this->intValue; + } + public function setMultiIntValue($multiIntValue) + { + $this->multiIntValue = $multiIntValue; + } + public function getMultiIntValue() + { + return $this->multiIntValue; + } + public function setMultiValue($multiValue) + { + $this->multiValue = $multiValue; + } + public function getMultiValue() + { + return $this->multiValue; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setValue($value) + { + $this->value = $value; + } + public function getValue() + { + return $this->value; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Reports/ActivityId.php b/vendor/google/apiclient-services/src/Google/Service/Reports/ActivityId.php new file mode 100644 index 00000000..5db0ed64 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Reports/ActivityId.php @@ -0,0 +1,57 @@ +applicationName = $applicationName; + } + public function getApplicationName() + { + return $this->applicationName; + } + public function setCustomerId($customerId) + { + $this->customerId = $customerId; + } + public function getCustomerId() + { + return $this->customerId; + } + public function setTime($time) + { + $this->time = $time; + } + public function getTime() + { + return $this->time; + } + public function setUniqueQualifier($uniqueQualifier) + { + $this->uniqueQualifier = $uniqueQualifier; + } + public function getUniqueQualifier() + { + return $this->uniqueQualifier; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Reports/Channel.php b/vendor/google/apiclient-services/src/Google/Service/Reports/Channel.php new file mode 100644 index 00000000..96c0702e --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Reports/Channel.php @@ -0,0 +1,111 @@ +address = $address; + } + public function getAddress() + { + return $this->address; + } + public function setExpiration($expiration) + { + $this->expiration = $expiration; + } + public function getExpiration() + { + return $this->expiration; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setParams($params) + { + $this->params = $params; + } + public function getParams() + { + return $this->params; + } + public function setPayload($payload) + { + $this->payload = $payload; + } + public function getPayload() + { + return $this->payload; + } + public function setResourceId($resourceId) + { + $this->resourceId = $resourceId; + } + public function getResourceId() + { + return $this->resourceId; + } + public function setResourceUri($resourceUri) + { + $this->resourceUri = $resourceUri; + } + public function getResourceUri() + { + return $this->resourceUri; + } + public function setToken($token) + { + $this->token = $token; + } + public function getToken() + { + return $this->token; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Reports/Resource/Activities.php b/vendor/google/apiclient-services/src/Google/Service/Reports/Resource/Activities.php new file mode 100644 index 00000000..f87b1e4b --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Reports/Resource/Activities.php @@ -0,0 +1,94 @@ + + * $adminService = new Google_Service_Reports(...); + * $activities = $adminService->activities; + * + */ +class Google_Service_Reports_Resource_Activities extends Google_Service_Resource +{ + /** + * Retrieves a list of activities for a specific customer and application. + * (activities.listActivities) + * + * @param string $userKey Represents the profile id or the user email for which + * the data should be filtered. When 'all' is specified as the userKey, it + * returns usageReports for all users. + * @param string $applicationName Application name for which the events are to + * be retrieved. + * @param array $optParams Optional parameters. + * + * @opt_param string actorIpAddress IP Address of host where the event was + * performed. Supports both IPv4 and IPv6 addresses. + * @opt_param string customerId Represents the customer for which the data is to + * be fetched. + * @opt_param string endTime Return events which occured at or before this time. + * @opt_param string eventName Name of the event being queried. + * @opt_param string filters Event parameters in the form [parameter1 + * name][operator][parameter1 value],[parameter2 name][operator][parameter2 + * value],... + * @opt_param int maxResults Number of activity records to be shown in each + * page. + * @opt_param string pageToken Token to specify next page. + * @opt_param string startTime Return events which occured at or after this + * time. + * @return Google_Service_Reports_Activities + */ + public function listActivities($userKey, $applicationName, $optParams = array()) + { + $params = array('userKey' => $userKey, 'applicationName' => $applicationName); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Reports_Activities"); + } + /** + * Push changes to activities (activities.watch) + * + * @param string $userKey Represents the profile id or the user email for which + * the data should be filtered. When 'all' is specified as the userKey, it + * returns usageReports for all users. + * @param string $applicationName Application name for which the events are to + * be retrieved. + * @param Google_Service_Reports_Channel $postBody + * @param array $optParams Optional parameters. + * + * @opt_param string actorIpAddress IP Address of host where the event was + * performed. Supports both IPv4 and IPv6 addresses. + * @opt_param string customerId Represents the customer for which the data is to + * be fetched. + * @opt_param string endTime Return events which occured at or before this time. + * @opt_param string eventName Name of the event being queried. + * @opt_param string filters Event parameters in the form [parameter1 + * name][operator][parameter1 value],[parameter2 name][operator][parameter2 + * value],... + * @opt_param int maxResults Number of activity records to be shown in each + * page. + * @opt_param string pageToken Token to specify next page. + * @opt_param string startTime Return events which occured at or after this + * time. + * @return Google_Service_Reports_Channel + */ + public function watch($userKey, $applicationName, Google_Service_Reports_Channel $postBody, $optParams = array()) + { + $params = array('userKey' => $userKey, 'applicationName' => $applicationName, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('watch', array($params), "Google_Service_Reports_Channel"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Reports/Resource/Channels.php b/vendor/google/apiclient-services/src/Google/Service/Reports/Resource/Channels.php new file mode 100644 index 00000000..819cb561 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Reports/Resource/Channels.php @@ -0,0 +1,40 @@ + + * $adminService = new Google_Service_Reports(...); + * $channels = $adminService->channels; + * + */ +class Google_Service_Reports_Resource_Channels extends Google_Service_Resource +{ + /** + * Stop watching resources through this channel (channels.stop) + * + * @param Google_Service_Reports_Channel $postBody + * @param array $optParams Optional parameters. + */ + public function stop(Google_Service_Reports_Channel $postBody, $optParams = array()) + { + $params = array('postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('stop', array($params)); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Reports/Resource/CustomerUsageReports.php b/vendor/google/apiclient-services/src/Google/Service/Reports/Resource/CustomerUsageReports.php new file mode 100644 index 00000000..f8b8959d --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Reports/Resource/CustomerUsageReports.php @@ -0,0 +1,49 @@ + + * $adminService = new Google_Service_Reports(...); + * $customerUsageReports = $adminService->customerUsageReports; + * + */ +class Google_Service_Reports_Resource_CustomerUsageReports extends Google_Service_Resource +{ + /** + * Retrieves a report which is a collection of properties / statistics for a + * specific customer. (customerUsageReports.get) + * + * @param string $date Represents the date in yyyy-mm-dd format for which the + * data is to be fetched. + * @param array $optParams Optional parameters. + * + * @opt_param string customerId Represents the customer for which the data is to + * be fetched. + * @opt_param string pageToken Token to specify next page. + * @opt_param string parameters Represents the application name, parameter name + * pairs to fetch in csv as app_name1:param_name1, app_name2:param_name2. + * @return Google_Service_Reports_UsageReports + */ + public function get($date, $optParams = array()) + { + $params = array('date' => $date); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Reports_UsageReports"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Reports/Resource/UserUsageReport.php b/vendor/google/apiclient-services/src/Google/Service/Reports/Resource/UserUsageReport.php new file mode 100644 index 00000000..1ec4ab96 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Reports/Resource/UserUsageReport.php @@ -0,0 +1,55 @@ + + * $adminService = new Google_Service_Reports(...); + * $userUsageReport = $adminService->userUsageReport; + * + */ +class Google_Service_Reports_Resource_UserUsageReport extends Google_Service_Resource +{ + /** + * Retrieves a report which is a collection of properties / statistics for a set + * of users. (userUsageReport.get) + * + * @param string $userKey Represents the profile id or the user email for which + * the data should be filtered. + * @param string $date Represents the date in yyyy-mm-dd format for which the + * data is to be fetched. + * @param array $optParams Optional parameters. + * + * @opt_param string customerId Represents the customer for which the data is to + * be fetched. + * @opt_param string filters Represents the set of filters including parameter + * operator value. + * @opt_param string maxResults Maximum number of results to return. Maximum + * allowed is 1000 + * @opt_param string pageToken Token to specify next page. + * @opt_param string parameters Represents the application name, parameter name + * pairs to fetch in csv as app_name1:param_name1, app_name2:param_name2. + * @return Google_Service_Reports_UsageReports + */ + public function get($userKey, $date, $optParams = array()) + { + $params = array('userKey' => $userKey, 'date' => $date); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Reports_UsageReports"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Reports/UsageReport.php b/vendor/google/apiclient-services/src/Google/Service/Reports/UsageReport.php new file mode 100644 index 00000000..69971b6d --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Reports/UsageReport.php @@ -0,0 +1,69 @@ +date = $date; + } + public function getDate() + { + return $this->date; + } + public function setEntity(Google_Service_Reports_UsageReportEntity $entity) + { + $this->entity = $entity; + } + public function getEntity() + { + return $this->entity; + } + public function setEtag($etag) + { + $this->etag = $etag; + } + public function getEtag() + { + return $this->etag; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setParameters($parameters) + { + $this->parameters = $parameters; + } + public function getParameters() + { + return $this->parameters; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Reports/UsageReportEntity.php b/vendor/google/apiclient-services/src/Google/Service/Reports/UsageReportEntity.php new file mode 100644 index 00000000..ee9299cb --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Reports/UsageReportEntity.php @@ -0,0 +1,57 @@ +customerId = $customerId; + } + public function getCustomerId() + { + return $this->customerId; + } + public function setProfileId($profileId) + { + $this->profileId = $profileId; + } + public function getProfileId() + { + return $this->profileId; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } + public function setUserEmail($userEmail) + { + $this->userEmail = $userEmail; + } + public function getUserEmail() + { + return $this->userEmail; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Reports/UsageReportParameters.php b/vendor/google/apiclient-services/src/Google/Service/Reports/UsageReportParameters.php new file mode 100644 index 00000000..81b85c15 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Reports/UsageReportParameters.php @@ -0,0 +1,76 @@ +boolValue = $boolValue; + } + public function getBoolValue() + { + return $this->boolValue; + } + public function setDatetimeValue($datetimeValue) + { + $this->datetimeValue = $datetimeValue; + } + public function getDatetimeValue() + { + return $this->datetimeValue; + } + public function setIntValue($intValue) + { + $this->intValue = $intValue; + } + public function getIntValue() + { + return $this->intValue; + } + public function setMsgValue($msgValue) + { + $this->msgValue = $msgValue; + } + public function getMsgValue() + { + return $this->msgValue; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setStringValue($stringValue) + { + $this->stringValue = $stringValue; + } + public function getStringValue() + { + return $this->stringValue; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Reports/UsageReports.php b/vendor/google/apiclient-services/src/Google/Service/Reports/UsageReports.php new file mode 100644 index 00000000..bd19a0c8 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Reports/UsageReports.php @@ -0,0 +1,69 @@ +etag = $etag; + } + public function getEtag() + { + return $this->etag; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setUsageReports($usageReports) + { + $this->usageReports = $usageReports; + } + public function getUsageReports() + { + return $this->usageReports; + } + public function setWarnings($warnings) + { + $this->warnings = $warnings; + } + public function getWarnings() + { + return $this->warnings; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Reports/UsageReportsWarnings.php b/vendor/google/apiclient-services/src/Google/Service/Reports/UsageReportsWarnings.php new file mode 100644 index 00000000..397f357a --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Reports/UsageReportsWarnings.php @@ -0,0 +1,50 @@ +code = $code; + } + public function getCode() + { + return $this->code; + } + public function setData($data) + { + $this->data = $data; + } + public function getData() + { + return $this->data; + } + public function setMessage($message) + { + $this->message = $message; + } + public function getMessage() + { + return $this->message; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Reports/UsageReportsWarningsData.php b/vendor/google/apiclient-services/src/Google/Service/Reports/UsageReportsWarningsData.php new file mode 100644 index 00000000..2db80258 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Reports/UsageReportsWarningsData.php @@ -0,0 +1,39 @@ +key = $key; + } + public function getKey() + { + return $this->key; + } + public function setValue($value) + { + $this->value = $value; + } + public function getValue() + { + return $this->value; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Reseller.php b/vendor/google/apiclient-services/src/Google/Service/Reseller.php new file mode 100644 index 00000000..66a94051 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Reseller.php @@ -0,0 +1,313 @@ + + * Creates and manages your customers and their subscriptions.

+ * + *

+ * For more information about this service, see the API + * Documentation + *

+ * + * @author Google, Inc. + */ +class Google_Service_Reseller extends Google_Service +{ + /** Manage users on your domain. */ + const APPS_ORDER = + "https://www.googleapis.com/auth/apps.order"; + /** Manage users on your domain. */ + const APPS_ORDER_READONLY = + "https://www.googleapis.com/auth/apps.order.readonly"; + + public $customers; + public $resellernotify; + public $subscriptions; + + /** + * Constructs the internal representation of the Reseller service. + * + * @param Google_Client $client + */ + public function __construct(Google_Client $client) + { + parent::__construct($client); + $this->rootUrl = 'https://www.googleapis.com/'; + $this->servicePath = 'apps/reseller/v1/'; + $this->version = 'v1'; + $this->serviceName = 'reseller'; + + $this->customers = new Google_Service_Reseller_Resource_Customers( + $this, + $this->serviceName, + 'customers', + array( + 'methods' => array( + 'get' => array( + 'path' => 'customers/{customerId}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'customerId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'insert' => array( + 'path' => 'customers', + 'httpMethod' => 'POST', + 'parameters' => array( + 'customerAuthToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'patch' => array( + 'path' => 'customers/{customerId}', + 'httpMethod' => 'PATCH', + 'parameters' => array( + 'customerId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'update' => array( + 'path' => 'customers/{customerId}', + 'httpMethod' => 'PUT', + 'parameters' => array( + 'customerId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->resellernotify = new Google_Service_Reseller_Resource_Resellernotify( + $this, + $this->serviceName, + 'resellernotify', + array( + 'methods' => array( + 'getwatchdetails' => array( + 'path' => 'resellernotify/getwatchdetails', + 'httpMethod' => 'GET', + 'parameters' => array(), + ),'register' => array( + 'path' => 'resellernotify/register', + 'httpMethod' => 'POST', + 'parameters' => array( + 'serviceAccountEmailAddress' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'unregister' => array( + 'path' => 'resellernotify/unregister', + 'httpMethod' => 'POST', + 'parameters' => array( + 'serviceAccountEmailAddress' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + $this->subscriptions = new Google_Service_Reseller_Resource_Subscriptions( + $this, + $this->serviceName, + 'subscriptions', + array( + 'methods' => array( + 'activate' => array( + 'path' => 'customers/{customerId}/subscriptions/{subscriptionId}/activate', + 'httpMethod' => 'POST', + 'parameters' => array( + 'customerId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'subscriptionId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'changePlan' => array( + 'path' => 'customers/{customerId}/subscriptions/{subscriptionId}/changePlan', + 'httpMethod' => 'POST', + 'parameters' => array( + 'customerId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'subscriptionId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'changeRenewalSettings' => array( + 'path' => 'customers/{customerId}/subscriptions/{subscriptionId}/changeRenewalSettings', + 'httpMethod' => 'POST', + 'parameters' => array( + 'customerId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'subscriptionId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'changeSeats' => array( + 'path' => 'customers/{customerId}/subscriptions/{subscriptionId}/changeSeats', + 'httpMethod' => 'POST', + 'parameters' => array( + 'customerId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'subscriptionId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'delete' => array( + 'path' => 'customers/{customerId}/subscriptions/{subscriptionId}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'customerId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'subscriptionId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'deletionType' => array( + 'location' => 'query', + 'type' => 'string', + 'required' => true, + ), + ), + ),'get' => array( + 'path' => 'customers/{customerId}/subscriptions/{subscriptionId}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'customerId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'subscriptionId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'insert' => array( + 'path' => 'customers/{customerId}/subscriptions', + 'httpMethod' => 'POST', + 'parameters' => array( + 'customerId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'customerAuthToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'list' => array( + 'path' => 'subscriptions', + 'httpMethod' => 'GET', + 'parameters' => array( + 'customerAuthToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'customerId' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'customerNamePrefix' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'startPaidService' => array( + 'path' => 'customers/{customerId}/subscriptions/{subscriptionId}/startPaidService', + 'httpMethod' => 'POST', + 'parameters' => array( + 'customerId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'subscriptionId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'suspend' => array( + 'path' => 'customers/{customerId}/subscriptions/{subscriptionId}/suspend', + 'httpMethod' => 'POST', + 'parameters' => array( + 'customerId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'subscriptionId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Reseller/Address.php b/vendor/google/apiclient-services/src/Google/Service/Reseller/Address.php new file mode 100644 index 00000000..47d9a7d8 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Reseller/Address.php @@ -0,0 +1,111 @@ +addressLine1 = $addressLine1; + } + public function getAddressLine1() + { + return $this->addressLine1; + } + public function setAddressLine2($addressLine2) + { + $this->addressLine2 = $addressLine2; + } + public function getAddressLine2() + { + return $this->addressLine2; + } + public function setAddressLine3($addressLine3) + { + $this->addressLine3 = $addressLine3; + } + public function getAddressLine3() + { + return $this->addressLine3; + } + public function setContactName($contactName) + { + $this->contactName = $contactName; + } + public function getContactName() + { + return $this->contactName; + } + public function setCountryCode($countryCode) + { + $this->countryCode = $countryCode; + } + public function getCountryCode() + { + return $this->countryCode; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setLocality($locality) + { + $this->locality = $locality; + } + public function getLocality() + { + return $this->locality; + } + public function setOrganizationName($organizationName) + { + $this->organizationName = $organizationName; + } + public function getOrganizationName() + { + return $this->organizationName; + } + public function setPostalCode($postalCode) + { + $this->postalCode = $postalCode; + } + public function getPostalCode() + { + return $this->postalCode; + } + public function setRegion($region) + { + $this->region = $region; + } + public function getRegion() + { + return $this->region; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Reseller/ChangePlanRequest.php b/vendor/google/apiclient-services/src/Google/Service/Reseller/ChangePlanRequest.php new file mode 100644 index 00000000..f757f0ba --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Reseller/ChangePlanRequest.php @@ -0,0 +1,67 @@ +dealCode = $dealCode; + } + public function getDealCode() + { + return $this->dealCode; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setPlanName($planName) + { + $this->planName = $planName; + } + public function getPlanName() + { + return $this->planName; + } + public function setPurchaseOrderId($purchaseOrderId) + { + $this->purchaseOrderId = $purchaseOrderId; + } + public function getPurchaseOrderId() + { + return $this->purchaseOrderId; + } + public function setSeats(Google_Service_Reseller_Seats $seats) + { + $this->seats = $seats; + } + public function getSeats() + { + return $this->seats; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Reseller/Customer.php b/vendor/google/apiclient-services/src/Google/Service/Reseller/Customer.php new file mode 100644 index 00000000..7328be2d --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Reseller/Customer.php @@ -0,0 +1,94 @@ +alternateEmail = $alternateEmail; + } + public function getAlternateEmail() + { + return $this->alternateEmail; + } + public function setCustomerDomain($customerDomain) + { + $this->customerDomain = $customerDomain; + } + public function getCustomerDomain() + { + return $this->customerDomain; + } + public function setCustomerDomainVerified($customerDomainVerified) + { + $this->customerDomainVerified = $customerDomainVerified; + } + public function getCustomerDomainVerified() + { + return $this->customerDomainVerified; + } + public function setCustomerId($customerId) + { + $this->customerId = $customerId; + } + public function getCustomerId() + { + return $this->customerId; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setPhoneNumber($phoneNumber) + { + $this->phoneNumber = $phoneNumber; + } + public function getPhoneNumber() + { + return $this->phoneNumber; + } + public function setPostalAddress(Google_Service_Reseller_Address $postalAddress) + { + $this->postalAddress = $postalAddress; + } + public function getPostalAddress() + { + return $this->postalAddress; + } + public function setResourceUiUrl($resourceUiUrl) + { + $this->resourceUiUrl = $resourceUiUrl; + } + public function getResourceUiUrl() + { + return $this->resourceUiUrl; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Reseller/RenewalSettings.php b/vendor/google/apiclient-services/src/Google/Service/Reseller/RenewalSettings.php new file mode 100644 index 00000000..2e820233 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Reseller/RenewalSettings.php @@ -0,0 +1,39 @@ +kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setRenewalType($renewalType) + { + $this->renewalType = $renewalType; + } + public function getRenewalType() + { + return $this->renewalType; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Reseller/ResellernotifyGetwatchdetailsResponse.php b/vendor/google/apiclient-services/src/Google/Service/Reseller/ResellernotifyGetwatchdetailsResponse.php new file mode 100644 index 00000000..d617842e --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Reseller/ResellernotifyGetwatchdetailsResponse.php @@ -0,0 +1,40 @@ +serviceAccountEmailAddresses = $serviceAccountEmailAddresses; + } + public function getServiceAccountEmailAddresses() + { + return $this->serviceAccountEmailAddresses; + } + public function setTopicName($topicName) + { + $this->topicName = $topicName; + } + public function getTopicName() + { + return $this->topicName; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Reseller/ResellernotifyResource.php b/vendor/google/apiclient-services/src/Google/Service/Reseller/ResellernotifyResource.php new file mode 100644 index 00000000..5124167e --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Reseller/ResellernotifyResource.php @@ -0,0 +1,30 @@ +topicName = $topicName; + } + public function getTopicName() + { + return $this->topicName; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Reseller/Resource/Customers.php b/vendor/google/apiclient-services/src/Google/Service/Reseller/Resource/Customers.php new file mode 100644 index 00000000..2d87a3b4 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Reseller/Resource/Customers.php @@ -0,0 +1,99 @@ + + * $resellerService = new Google_Service_Reseller(...); + * $customers = $resellerService->customers; + * + */ +class Google_Service_Reseller_Resource_Customers extends Google_Service_Resource +{ + /** + * Get a customer account. (customers.get) + * + * @param string $customerId Either the customer's primary domain name or the + * customer's unique identifier. If using the domain name, we do not recommend + * using a customerId as a key for persistent data. If the domain name for a + * customerId is changed, the Google system automatically updates. + * @param array $optParams Optional parameters. + * @return Google_Service_Reseller_Customer + */ + public function get($customerId, $optParams = array()) + { + $params = array('customerId' => $customerId); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Reseller_Customer"); + } + /** + * Order a new customer's account. (customers.insert) + * + * @param Google_Service_Reseller_Customer $postBody + * @param array $optParams Optional parameters. + * + * @opt_param string customerAuthToken The customerAuthToken query string is + * required when creating a resold account that transfers a direct customer's + * subscription or transfers another reseller customer's subscription to your + * reseller management. This is a hexadecimal authentication token needed to + * complete the subscription transfer. For more information, see the + * administrator help center. + * @return Google_Service_Reseller_Customer + */ + public function insert(Google_Service_Reseller_Customer $postBody, $optParams = array()) + { + $params = array('postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('insert', array($params), "Google_Service_Reseller_Customer"); + } + /** + * Update a customer account's settings. This method supports patch semantics. + * (customers.patch) + * + * @param string $customerId Either the customer's primary domain name or the + * customer's unique identifier. If using the domain name, we do not recommend + * using a customerId as a key for persistent data. If the domain name for a + * customerId is changed, the Google system automatically updates. + * @param Google_Service_Reseller_Customer $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Reseller_Customer + */ + public function patch($customerId, Google_Service_Reseller_Customer $postBody, $optParams = array()) + { + $params = array('customerId' => $customerId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('patch', array($params), "Google_Service_Reseller_Customer"); + } + /** + * Update a customer account's settings. (customers.update) + * + * @param string $customerId Either the customer's primary domain name or the + * customer's unique identifier. If using the domain name, we do not recommend + * using a customerId as a key for persistent data. If the domain name for a + * customerId is changed, the Google system automatically updates. + * @param Google_Service_Reseller_Customer $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Reseller_Customer + */ + public function update($customerId, Google_Service_Reseller_Customer $postBody, $optParams = array()) + { + $params = array('customerId' => $customerId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('update', array($params), "Google_Service_Reseller_Customer"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Reseller/Resource/Resellernotify.php b/vendor/google/apiclient-services/src/Google/Service/Reseller/Resource/Resellernotify.php new file mode 100644 index 00000000..6bfc10fa --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Reseller/Resource/Resellernotify.php @@ -0,0 +1,72 @@ + + * $resellerService = new Google_Service_Reseller(...); + * $resellernotify = $resellerService->resellernotify; + * + */ +class Google_Service_Reseller_Resource_Resellernotify extends Google_Service_Resource +{ + /** + * Returns all the details of the watch corresponding to the reseller. + * (resellernotify.getwatchdetails) + * + * @param array $optParams Optional parameters. + * @return Google_Service_Reseller_ResellernotifyGetwatchdetailsResponse + */ + public function getwatchdetails($optParams = array()) + { + $params = array(); + $params = array_merge($params, $optParams); + return $this->call('getwatchdetails', array($params), "Google_Service_Reseller_ResellernotifyGetwatchdetailsResponse"); + } + /** + * Registers a Reseller for receiving notifications. (resellernotify.register) + * + * @param array $optParams Optional parameters. + * + * @opt_param string serviceAccountEmailAddress The service account which will + * own the created Cloud-PubSub topic. + * @return Google_Service_Reseller_ResellernotifyResource + */ + public function register($optParams = array()) + { + $params = array(); + $params = array_merge($params, $optParams); + return $this->call('register', array($params), "Google_Service_Reseller_ResellernotifyResource"); + } + /** + * Unregisters a Reseller for receiving notifications. + * (resellernotify.unregister) + * + * @param array $optParams Optional parameters. + * + * @opt_param string serviceAccountEmailAddress The service account which owns + * the Cloud-PubSub topic. + * @return Google_Service_Reseller_ResellernotifyResource + */ + public function unregister($optParams = array()) + { + $params = array(); + $params = array_merge($params, $optParams); + return $this->call('unregister', array($params), "Google_Service_Reseller_ResellernotifyResource"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Reseller/Resource/Subscriptions.php b/vendor/google/apiclient-services/src/Google/Service/Reseller/Resource/Subscriptions.php new file mode 100644 index 00000000..3a8b81fc --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Reseller/Resource/Subscriptions.php @@ -0,0 +1,265 @@ + + * $resellerService = new Google_Service_Reseller(...); + * $subscriptions = $resellerService->subscriptions; + * + */ +class Google_Service_Reseller_Resource_Subscriptions extends Google_Service_Resource +{ + /** + * Activates a subscription previously suspended by the reseller + * (subscriptions.activate) + * + * @param string $customerId Either the customer's primary domain name or the + * customer's unique identifier. If using the domain name, we do not recommend + * using a customerId as a key for persistent data. If the domain name for a + * customerId is changed, the Google system automatically updates. + * @param string $subscriptionId This is a required property. The subscriptionId + * is the subscription identifier and is unique for each customer. Since a + * subscriptionId changes when a subscription is updated, we recommend to not + * use this ID as a key for persistent data. And the subscriptionId can be found + * using the retrieve all reseller subscriptions method. + * @param array $optParams Optional parameters. + * @return Google_Service_Reseller_Subscription + */ + public function activate($customerId, $subscriptionId, $optParams = array()) + { + $params = array('customerId' => $customerId, 'subscriptionId' => $subscriptionId); + $params = array_merge($params, $optParams); + return $this->call('activate', array($params), "Google_Service_Reseller_Subscription"); + } + /** + * Update a subscription plan. Use this method to update a plan for a 30-day + * trial or a flexible plan subscription to an annual commitment plan with + * monthly or yearly payments. (subscriptions.changePlan) + * + * @param string $customerId Either the customer's primary domain name or the + * customer's unique identifier. If using the domain name, we do not recommend + * using a customerId as a key for persistent data. If the domain name for a + * customerId is changed, the Google system automatically updates. + * @param string $subscriptionId This is a required property. The subscriptionId + * is the subscription identifier and is unique for each customer. Since a + * subscriptionId changes when a subscription is updated, we recommend to not + * use this ID as a key for persistent data. And the subscriptionId can be found + * using the retrieve all reseller subscriptions method. + * @param Google_Service_Reseller_ChangePlanRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Reseller_Subscription + */ + public function changePlan($customerId, $subscriptionId, Google_Service_Reseller_ChangePlanRequest $postBody, $optParams = array()) + { + $params = array('customerId' => $customerId, 'subscriptionId' => $subscriptionId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('changePlan', array($params), "Google_Service_Reseller_Subscription"); + } + /** + * Update a user license's renewal settings. This is applicable for accounts + * with annual commitment plans only. (subscriptions.changeRenewalSettings) + * + * @param string $customerId Either the customer's primary domain name or the + * customer's unique identifier. If using the domain name, we do not recommend + * using a customerId as a key for persistent data. If the domain name for a + * customerId is changed, the Google system automatically updates. + * @param string $subscriptionId This is a required property. The subscriptionId + * is the subscription identifier and is unique for each customer. Since a + * subscriptionId changes when a subscription is updated, we recommend to not + * use this ID as a key for persistent data. And the subscriptionId can be found + * using the retrieve all reseller subscriptions method. + * @param Google_Service_Reseller_RenewalSettings $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Reseller_Subscription + */ + public function changeRenewalSettings($customerId, $subscriptionId, Google_Service_Reseller_RenewalSettings $postBody, $optParams = array()) + { + $params = array('customerId' => $customerId, 'subscriptionId' => $subscriptionId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('changeRenewalSettings', array($params), "Google_Service_Reseller_Subscription"); + } + /** + * Update a subscription's user license settings. (subscriptions.changeSeats) + * + * @param string $customerId Either the customer's primary domain name or the + * customer's unique identifier. If using the domain name, we do not recommend + * using a customerId as a key for persistent data. If the domain name for a + * customerId is changed, the Google system automatically updates. + * @param string $subscriptionId This is a required property. The subscriptionId + * is the subscription identifier and is unique for each customer. Since a + * subscriptionId changes when a subscription is updated, we recommend to not + * use this ID as a key for persistent data. And the subscriptionId can be found + * using the retrieve all reseller subscriptions method. + * @param Google_Service_Reseller_Seats $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Reseller_Subscription + */ + public function changeSeats($customerId, $subscriptionId, Google_Service_Reseller_Seats $postBody, $optParams = array()) + { + $params = array('customerId' => $customerId, 'subscriptionId' => $subscriptionId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('changeSeats', array($params), "Google_Service_Reseller_Subscription"); + } + /** + * Cancel, suspend or transfer a subscription to direct. (subscriptions.delete) + * + * @param string $customerId Either the customer's primary domain name or the + * customer's unique identifier. If using the domain name, we do not recommend + * using a customerId as a key for persistent data. If the domain name for a + * customerId is changed, the Google system automatically updates. + * @param string $subscriptionId This is a required property. The subscriptionId + * is the subscription identifier and is unique for each customer. Since a + * subscriptionId changes when a subscription is updated, we recommend to not + * use this ID as a key for persistent data. And the subscriptionId can be found + * using the retrieve all reseller subscriptions method. + * @param string $deletionType The deletionType query string enables the + * cancellation, downgrade, or suspension of a subscription. + * @param array $optParams Optional parameters. + */ + public function delete($customerId, $subscriptionId, $deletionType, $optParams = array()) + { + $params = array('customerId' => $customerId, 'subscriptionId' => $subscriptionId, 'deletionType' => $deletionType); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params)); + } + /** + * Get a specific subscription. (subscriptions.get) + * + * @param string $customerId Either the customer's primary domain name or the + * customer's unique identifier. If using the domain name, we do not recommend + * using a customerId as a key for persistent data. If the domain name for a + * customerId is changed, the Google system automatically updates. + * @param string $subscriptionId This is a required property. The subscriptionId + * is the subscription identifier and is unique for each customer. Since a + * subscriptionId changes when a subscription is updated, we recommend to not + * use this ID as a key for persistent data. And the subscriptionId can be found + * using the retrieve all reseller subscriptions method. + * @param array $optParams Optional parameters. + * @return Google_Service_Reseller_Subscription + */ + public function get($customerId, $subscriptionId, $optParams = array()) + { + $params = array('customerId' => $customerId, 'subscriptionId' => $subscriptionId); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Reseller_Subscription"); + } + /** + * Create or transfer a subscription. (subscriptions.insert) + * + * @param string $customerId Either the customer's primary domain name or the + * customer's unique identifier. If using the domain name, we do not recommend + * using a customerId as a key for persistent data. If the domain name for a + * customerId is changed, the Google system automatically updates. + * @param Google_Service_Reseller_Subscription $postBody + * @param array $optParams Optional parameters. + * + * @opt_param string customerAuthToken The customerAuthToken query string is + * required when creating a resold account that transfers a direct customer's + * subscription or transfers another reseller customer's subscription to your + * reseller management. This is a hexadecimal authentication token needed to + * complete the subscription transfer. For more information, see the + * administrator help center. + * @return Google_Service_Reseller_Subscription + */ + public function insert($customerId, Google_Service_Reseller_Subscription $postBody, $optParams = array()) + { + $params = array('customerId' => $customerId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('insert', array($params), "Google_Service_Reseller_Subscription"); + } + /** + * List of subscriptions managed by the reseller. The list can be all + * subscriptions, all of a customer's subscriptions, or all of a customer's + * transferable subscriptions. (subscriptions.listSubscriptions) + * + * @param array $optParams Optional parameters. + * + * @opt_param string customerAuthToken The customerAuthToken query string is + * required when creating a resold account that transfers a direct customer's + * subscription or transfers another reseller customer's subscription to your + * reseller management. This is a hexadecimal authentication token needed to + * complete the subscription transfer. For more information, see the + * administrator help center. + * @opt_param string customerId Either the customer's primary domain name or the + * customer's unique identifier. If using the domain name, we do not recommend + * using a customerId as a key for persistent data. If the domain name for a + * customerId is changed, the Google system automatically updates. + * @opt_param string customerNamePrefix When retrieving all of your + * subscriptions and filtering for specific customers, you can enter a prefix + * for a customer name. Using an example customer group that includes exam.com, + * example20.com and example.com: - exa -- Returns all customer names that start + * with 'exa' which could include exam.com, example20.com, and example.com. A + * name prefix is similar to using a regular expression's asterisk, exa*. - + * example -- Returns example20.com and example.com. + * @opt_param string maxResults When retrieving a large list, the maxResults is + * the maximum number of results per page. The nextPageToken value takes you to + * the next page. The default is 20. + * @opt_param string pageToken Token to specify next page in the list + * @return Google_Service_Reseller_Subscriptions + */ + public function listSubscriptions($optParams = array()) + { + $params = array(); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Reseller_Subscriptions"); + } + /** + * Immediately move a 30-day free trial subscription to a paid service + * subscription. (subscriptions.startPaidService) + * + * @param string $customerId Either the customer's primary domain name or the + * customer's unique identifier. If using the domain name, we do not recommend + * using a customerId as a key for persistent data. If the domain name for a + * customerId is changed, the Google system automatically updates. + * @param string $subscriptionId This is a required property. The subscriptionId + * is the subscription identifier and is unique for each customer. Since a + * subscriptionId changes when a subscription is updated, we recommend to not + * use this ID as a key for persistent data. And the subscriptionId can be found + * using the retrieve all reseller subscriptions method. + * @param array $optParams Optional parameters. + * @return Google_Service_Reseller_Subscription + */ + public function startPaidService($customerId, $subscriptionId, $optParams = array()) + { + $params = array('customerId' => $customerId, 'subscriptionId' => $subscriptionId); + $params = array_merge($params, $optParams); + return $this->call('startPaidService', array($params), "Google_Service_Reseller_Subscription"); + } + /** + * Suspends an active subscription. (subscriptions.suspend) + * + * @param string $customerId Either the customer's primary domain name or the + * customer's unique identifier. If using the domain name, we do not recommend + * using a customerId as a key for persistent data. If the domain name for a + * customerId is changed, the Google system automatically updates. + * @param string $subscriptionId This is a required property. The subscriptionId + * is the subscription identifier and is unique for each customer. Since a + * subscriptionId changes when a subscription is updated, we recommend to not + * use this ID as a key for persistent data. And the subscriptionId can be found + * using the retrieve all reseller subscriptions method. + * @param array $optParams Optional parameters. + * @return Google_Service_Reseller_Subscription + */ + public function suspend($customerId, $subscriptionId, $optParams = array()) + { + $params = array('customerId' => $customerId, 'subscriptionId' => $subscriptionId); + $params = array_merge($params, $optParams); + return $this->call('suspend', array($params), "Google_Service_Reseller_Subscription"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Reseller/Seats.php b/vendor/google/apiclient-services/src/Google/Service/Reseller/Seats.php new file mode 100644 index 00000000..5847a2ab --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Reseller/Seats.php @@ -0,0 +1,57 @@ +kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setLicensedNumberOfSeats($licensedNumberOfSeats) + { + $this->licensedNumberOfSeats = $licensedNumberOfSeats; + } + public function getLicensedNumberOfSeats() + { + return $this->licensedNumberOfSeats; + } + public function setMaximumNumberOfSeats($maximumNumberOfSeats) + { + $this->maximumNumberOfSeats = $maximumNumberOfSeats; + } + public function getMaximumNumberOfSeats() + { + return $this->maximumNumberOfSeats; + } + public function setNumberOfSeats($numberOfSeats) + { + $this->numberOfSeats = $numberOfSeats; + } + public function getNumberOfSeats() + { + return $this->numberOfSeats; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Reseller/Subscription.php b/vendor/google/apiclient-services/src/Google/Service/Reseller/Subscription.php new file mode 100644 index 00000000..ab62a7ef --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Reseller/Subscription.php @@ -0,0 +1,189 @@ +billingMethod = $billingMethod; + } + public function getBillingMethod() + { + return $this->billingMethod; + } + public function setCreationTime($creationTime) + { + $this->creationTime = $creationTime; + } + public function getCreationTime() + { + return $this->creationTime; + } + public function setCustomerDomain($customerDomain) + { + $this->customerDomain = $customerDomain; + } + public function getCustomerDomain() + { + return $this->customerDomain; + } + public function setCustomerId($customerId) + { + $this->customerId = $customerId; + } + public function getCustomerId() + { + return $this->customerId; + } + public function setDealCode($dealCode) + { + $this->dealCode = $dealCode; + } + public function getDealCode() + { + return $this->dealCode; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setPlan(Google_Service_Reseller_SubscriptionPlan $plan) + { + $this->plan = $plan; + } + public function getPlan() + { + return $this->plan; + } + public function setPurchaseOrderId($purchaseOrderId) + { + $this->purchaseOrderId = $purchaseOrderId; + } + public function getPurchaseOrderId() + { + return $this->purchaseOrderId; + } + public function setRenewalSettings(Google_Service_Reseller_RenewalSettings $renewalSettings) + { + $this->renewalSettings = $renewalSettings; + } + public function getRenewalSettings() + { + return $this->renewalSettings; + } + public function setResourceUiUrl($resourceUiUrl) + { + $this->resourceUiUrl = $resourceUiUrl; + } + public function getResourceUiUrl() + { + return $this->resourceUiUrl; + } + public function setSeats(Google_Service_Reseller_Seats $seats) + { + $this->seats = $seats; + } + public function getSeats() + { + return $this->seats; + } + public function setSkuId($skuId) + { + $this->skuId = $skuId; + } + public function getSkuId() + { + return $this->skuId; + } + public function setSkuName($skuName) + { + $this->skuName = $skuName; + } + public function getSkuName() + { + return $this->skuName; + } + public function setStatus($status) + { + $this->status = $status; + } + public function getStatus() + { + return $this->status; + } + public function setSubscriptionId($subscriptionId) + { + $this->subscriptionId = $subscriptionId; + } + public function getSubscriptionId() + { + return $this->subscriptionId; + } + public function setSuspensionReasons($suspensionReasons) + { + $this->suspensionReasons = $suspensionReasons; + } + public function getSuspensionReasons() + { + return $this->suspensionReasons; + } + public function setTransferInfo(Google_Service_Reseller_SubscriptionTransferInfo $transferInfo) + { + $this->transferInfo = $transferInfo; + } + public function getTransferInfo() + { + return $this->transferInfo; + } + public function setTrialSettings(Google_Service_Reseller_SubscriptionTrialSettings $trialSettings) + { + $this->trialSettings = $trialSettings; + } + public function getTrialSettings() + { + return $this->trialSettings; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Reseller/SubscriptionPlan.php b/vendor/google/apiclient-services/src/Google/Service/Reseller/SubscriptionPlan.php new file mode 100644 index 00000000..e3ee1d79 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Reseller/SubscriptionPlan.php @@ -0,0 +1,49 @@ +commitmentInterval = $commitmentInterval; + } + public function getCommitmentInterval() + { + return $this->commitmentInterval; + } + public function setIsCommitmentPlan($isCommitmentPlan) + { + $this->isCommitmentPlan = $isCommitmentPlan; + } + public function getIsCommitmentPlan() + { + return $this->isCommitmentPlan; + } + public function setPlanName($planName) + { + $this->planName = $planName; + } + public function getPlanName() + { + return $this->planName; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Reseller/SubscriptionPlanCommitmentInterval.php b/vendor/google/apiclient-services/src/Google/Service/Reseller/SubscriptionPlanCommitmentInterval.php new file mode 100644 index 00000000..69f2bccd --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Reseller/SubscriptionPlanCommitmentInterval.php @@ -0,0 +1,39 @@ +endTime = $endTime; + } + public function getEndTime() + { + return $this->endTime; + } + public function setStartTime($startTime) + { + $this->startTime = $startTime; + } + public function getStartTime() + { + return $this->startTime; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Reseller/SubscriptionTransferInfo.php b/vendor/google/apiclient-services/src/Google/Service/Reseller/SubscriptionTransferInfo.php new file mode 100644 index 00000000..75f6cfb3 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Reseller/SubscriptionTransferInfo.php @@ -0,0 +1,39 @@ +minimumTransferableSeats = $minimumTransferableSeats; + } + public function getMinimumTransferableSeats() + { + return $this->minimumTransferableSeats; + } + public function setTransferabilityExpirationTime($transferabilityExpirationTime) + { + $this->transferabilityExpirationTime = $transferabilityExpirationTime; + } + public function getTransferabilityExpirationTime() + { + return $this->transferabilityExpirationTime; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Reseller/SubscriptionTrialSettings.php b/vendor/google/apiclient-services/src/Google/Service/Reseller/SubscriptionTrialSettings.php new file mode 100644 index 00000000..a16afb49 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Reseller/SubscriptionTrialSettings.php @@ -0,0 +1,39 @@ +isInTrial = $isInTrial; + } + public function getIsInTrial() + { + return $this->isInTrial; + } + public function setTrialEndTime($trialEndTime) + { + $this->trialEndTime = $trialEndTime; + } + public function getTrialEndTime() + { + return $this->trialEndTime; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Reseller/Subscriptions.php b/vendor/google/apiclient-services/src/Google/Service/Reseller/Subscriptions.php new file mode 100644 index 00000000..708fb5ab --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Reseller/Subscriptions.php @@ -0,0 +1,50 @@ +kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setSubscriptions($subscriptions) + { + $this->subscriptions = $subscriptions; + } + public function getSubscriptions() + { + return $this->subscriptions; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Resourceviews.php b/vendor/google/apiclient-services/src/Google/Service/Resourceviews.php new file mode 100644 index 00000000..80d3bd3e --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Resourceviews.php @@ -0,0 +1,339 @@ + + * The Resource View API allows users to create and manage logical sets of + * Google Compute Engine instances.

+ * + *

+ * For more information about this service, see the API + * Documentation + *

+ * + * @author Google, Inc. + */ +class Google_Service_Resourceviews extends Google_Service +{ + /** View and manage your data across Google Cloud Platform services. */ + const CLOUD_PLATFORM = + "https://www.googleapis.com/auth/cloud-platform"; + /** View your data across Google Cloud Platform services. */ + const CLOUD_PLATFORM_READ_ONLY = + "https://www.googleapis.com/auth/cloud-platform.read-only"; + /** View and manage your Google Compute Engine resources. */ + const COMPUTE = + "https://www.googleapis.com/auth/compute"; + /** View your Google Compute Engine resources. */ + const COMPUTE_READONLY = + "https://www.googleapis.com/auth/compute.readonly"; + /** View and manage your Google Cloud Platform management resources and deployment status information. */ + const NDEV_CLOUDMAN = + "https://www.googleapis.com/auth/ndev.cloudman"; + /** View your Google Cloud Platform management resources and deployment status information. */ + const NDEV_CLOUDMAN_READONLY = + "https://www.googleapis.com/auth/ndev.cloudman.readonly"; + + public $zoneOperations; + public $zoneViews; + + /** + * Constructs the internal representation of the Resourceviews service. + * + * @param Google_Client $client + */ + public function __construct(Google_Client $client) + { + parent::__construct($client); + $this->rootUrl = 'https://www.googleapis.com/'; + $this->servicePath = 'resourceviews/v1beta2/projects/'; + $this->version = 'v1beta2'; + $this->serviceName = 'resourceviews'; + + $this->zoneOperations = new Google_Service_Resourceviews_Resource_ZoneOperations( + $this, + $this->serviceName, + 'zoneOperations', + array( + 'methods' => array( + 'get' => array( + 'path' => '{project}/zones/{zone}/operations/{operation}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'zone' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'operation' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => '{project}/zones/{zone}/operations', + 'httpMethod' => 'GET', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'zone' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'filter' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + $this->zoneViews = new Google_Service_Resourceviews_Resource_ZoneViews( + $this, + $this->serviceName, + 'zoneViews', + array( + 'methods' => array( + 'addResources' => array( + 'path' => '{project}/zones/{zone}/resourceViews/{resourceView}/addResources', + 'httpMethod' => 'POST', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'zone' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'resourceView' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'delete' => array( + 'path' => '{project}/zones/{zone}/resourceViews/{resourceView}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'zone' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'resourceView' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'get' => array( + 'path' => '{project}/zones/{zone}/resourceViews/{resourceView}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'zone' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'resourceView' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'getService' => array( + 'path' => '{project}/zones/{zone}/resourceViews/{resourceView}/getService', + 'httpMethod' => 'POST', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'zone' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'resourceView' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'resourceName' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'insert' => array( + 'path' => '{project}/zones/{zone}/resourceViews', + 'httpMethod' => 'POST', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'zone' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => '{project}/zones/{zone}/resourceViews', + 'httpMethod' => 'GET', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'zone' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'listResources' => array( + 'path' => '{project}/zones/{zone}/resourceViews/{resourceView}/resources', + 'httpMethod' => 'GET', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'zone' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'resourceView' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'format' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'listState' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'serviceName' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'removeResources' => array( + 'path' => '{project}/zones/{zone}/resourceViews/{resourceView}/removeResources', + 'httpMethod' => 'POST', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'zone' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'resourceView' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'setService' => array( + 'path' => '{project}/zones/{zone}/resourceViews/{resourceView}/setService', + 'httpMethod' => 'POST', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'zone' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'resourceView' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Resourceviews/Label.php b/vendor/google/apiclient-services/src/Google/Service/Resourceviews/Label.php new file mode 100644 index 00000000..a6fdc018 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Resourceviews/Label.php @@ -0,0 +1,39 @@ +key = $key; + } + public function getKey() + { + return $this->key; + } + public function setValue($value) + { + $this->value = $value; + } + public function getValue() + { + return $this->value; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Resourceviews/ListResourceResponseItem.php b/vendor/google/apiclient-services/src/Google/Service/Resourceviews/ListResourceResponseItem.php new file mode 100644 index 00000000..6a6ad8ee --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Resourceviews/ListResourceResponseItem.php @@ -0,0 +1,39 @@ +endpoints = $endpoints; + } + public function getEndpoints() + { + return $this->endpoints; + } + public function setResource($resource) + { + $this->resource = $resource; + } + public function getResource() + { + return $this->resource; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Resourceviews/Operation.php b/vendor/google/apiclient-services/src/Google/Service/Resourceviews/Operation.php new file mode 100644 index 00000000..78207f62 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Resourceviews/Operation.php @@ -0,0 +1,222 @@ +clientOperationId = $clientOperationId; + } + public function getClientOperationId() + { + return $this->clientOperationId; + } + public function setCreationTimestamp($creationTimestamp) + { + $this->creationTimestamp = $creationTimestamp; + } + public function getCreationTimestamp() + { + return $this->creationTimestamp; + } + public function setEndTime($endTime) + { + $this->endTime = $endTime; + } + public function getEndTime() + { + return $this->endTime; + } + public function setError(Google_Service_Resourceviews_OperationError $error) + { + $this->error = $error; + } + public function getError() + { + return $this->error; + } + public function setHttpErrorMessage($httpErrorMessage) + { + $this->httpErrorMessage = $httpErrorMessage; + } + public function getHttpErrorMessage() + { + return $this->httpErrorMessage; + } + public function setHttpErrorStatusCode($httpErrorStatusCode) + { + $this->httpErrorStatusCode = $httpErrorStatusCode; + } + public function getHttpErrorStatusCode() + { + return $this->httpErrorStatusCode; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setInsertTime($insertTime) + { + $this->insertTime = $insertTime; + } + public function getInsertTime() + { + return $this->insertTime; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setOperationType($operationType) + { + $this->operationType = $operationType; + } + public function getOperationType() + { + return $this->operationType; + } + public function setProgress($progress) + { + $this->progress = $progress; + } + public function getProgress() + { + return $this->progress; + } + public function setRegion($region) + { + $this->region = $region; + } + public function getRegion() + { + return $this->region; + } + public function setSelfLink($selfLink) + { + $this->selfLink = $selfLink; + } + public function getSelfLink() + { + return $this->selfLink; + } + public function setStartTime($startTime) + { + $this->startTime = $startTime; + } + public function getStartTime() + { + return $this->startTime; + } + public function setStatus($status) + { + $this->status = $status; + } + public function getStatus() + { + return $this->status; + } + public function setStatusMessage($statusMessage) + { + $this->statusMessage = $statusMessage; + } + public function getStatusMessage() + { + return $this->statusMessage; + } + public function setTargetId($targetId) + { + $this->targetId = $targetId; + } + public function getTargetId() + { + return $this->targetId; + } + public function setTargetLink($targetLink) + { + $this->targetLink = $targetLink; + } + public function getTargetLink() + { + return $this->targetLink; + } + public function setUser($user) + { + $this->user = $user; + } + public function getUser() + { + return $this->user; + } + public function setWarnings($warnings) + { + $this->warnings = $warnings; + } + public function getWarnings() + { + return $this->warnings; + } + public function setZone($zone) + { + $this->zone = $zone; + } + public function getZone() + { + return $this->zone; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Resourceviews/OperationError.php b/vendor/google/apiclient-services/src/Google/Service/Resourceviews/OperationError.php new file mode 100644 index 00000000..5aea2113 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Resourceviews/OperationError.php @@ -0,0 +1,32 @@ +errors = $errors; + } + public function getErrors() + { + return $this->errors; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Resourceviews/OperationErrorErrors.php b/vendor/google/apiclient-services/src/Google/Service/Resourceviews/OperationErrorErrors.php new file mode 100644 index 00000000..bcbc36ed --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Resourceviews/OperationErrorErrors.php @@ -0,0 +1,48 @@ +code = $code; + } + public function getCode() + { + return $this->code; + } + public function setLocation($location) + { + $this->location = $location; + } + public function getLocation() + { + return $this->location; + } + public function setMessage($message) + { + $this->message = $message; + } + public function getMessage() + { + return $this->message; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Resourceviews/OperationList.php b/vendor/google/apiclient-services/src/Google/Service/Resourceviews/OperationList.php new file mode 100644 index 00000000..e1bc4b6e --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Resourceviews/OperationList.php @@ -0,0 +1,68 @@ +id = $id; + } + public function getId() + { + return $this->id; + } + public function setItems($items) + { + $this->items = $items; + } + public function getItems() + { + return $this->items; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setSelfLink($selfLink) + { + $this->selfLink = $selfLink; + } + public function getSelfLink() + { + return $this->selfLink; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Resourceviews/OperationWarnings.php b/vendor/google/apiclient-services/src/Google/Service/Resourceviews/OperationWarnings.php new file mode 100644 index 00000000..0ba5ef48 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Resourceviews/OperationWarnings.php @@ -0,0 +1,50 @@ +code = $code; + } + public function getCode() + { + return $this->code; + } + public function setData($data) + { + $this->data = $data; + } + public function getData() + { + return $this->data; + } + public function setMessage($message) + { + $this->message = $message; + } + public function getMessage() + { + return $this->message; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Resourceviews/OperationWarningsData.php b/vendor/google/apiclient-services/src/Google/Service/Resourceviews/OperationWarningsData.php new file mode 100644 index 00000000..0c5fd964 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Resourceviews/OperationWarningsData.php @@ -0,0 +1,39 @@ +key = $key; + } + public function getKey() + { + return $this->key; + } + public function setValue($value) + { + $this->value = $value; + } + public function getValue() + { + return $this->value; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Resourceviews/Resource/ZoneOperations.php b/vendor/google/apiclient-services/src/Google/Service/Resourceviews/Resource/ZoneOperations.php new file mode 100644 index 00000000..7bc6bb65 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Resourceviews/Resource/ZoneOperations.php @@ -0,0 +1,66 @@ + + * $resourceviewsService = new Google_Service_Resourceviews(...); + * $zoneOperations = $resourceviewsService->zoneOperations; + * + */ +class Google_Service_Resourceviews_Resource_ZoneOperations extends Google_Service_Resource +{ + /** + * Retrieves the specified zone-specific operation resource. + * (zoneOperations.get) + * + * @param string $project Name of the project scoping this request. + * @param string $zone Name of the zone scoping this request. + * @param string $operation Name of the operation resource to return. + * @param array $optParams Optional parameters. + * @return Google_Service_Resourceviews_Operation + */ + public function get($project, $zone, $operation, $optParams = array()) + { + $params = array('project' => $project, 'zone' => $zone, 'operation' => $operation); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Resourceviews_Operation"); + } + /** + * Retrieves the list of operation resources contained within the specified + * zone. (zoneOperations.listZoneOperations) + * + * @param string $project Name of the project scoping this request. + * @param string $zone Name of the zone scoping this request. + * @param array $optParams Optional parameters. + * + * @opt_param string filter Optional. Filter expression for filtering listed + * resources. + * @opt_param string maxResults Optional. Maximum count of results to be + * returned. Maximum value is 500 and default value is 500. + * @opt_param string pageToken Optional. Tag returned by a previous list request + * truncated by maxResults. Used to continue a previous list request. + * @return Google_Service_Resourceviews_OperationList + */ + public function listZoneOperations($project, $zone, $optParams = array()) + { + $params = array('project' => $project, 'zone' => $zone); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Resourceviews_OperationList"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Resourceviews/Resource/ZoneViews.php b/vendor/google/apiclient-services/src/Google/Service/Resourceviews/Resource/ZoneViews.php new file mode 100644 index 00000000..fc4aeade --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Resourceviews/Resource/ZoneViews.php @@ -0,0 +1,190 @@ + + * $resourceviewsService = new Google_Service_Resourceviews(...); + * $zoneViews = $resourceviewsService->zoneViews; + * + */ +class Google_Service_Resourceviews_Resource_ZoneViews extends Google_Service_Resource +{ + /** + * Add resources to the view. (zoneViews.addResources) + * + * @param string $project The project name of the resource view. + * @param string $zone The zone name of the resource view. + * @param string $resourceView The name of the resource view. + * @param Google_Service_Resourceviews_ZoneViewsAddResourcesRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Resourceviews_Operation + */ + public function addResources($project, $zone, $resourceView, Google_Service_Resourceviews_ZoneViewsAddResourcesRequest $postBody, $optParams = array()) + { + $params = array('project' => $project, 'zone' => $zone, 'resourceView' => $resourceView, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('addResources', array($params), "Google_Service_Resourceviews_Operation"); + } + /** + * Delete a resource view. (zoneViews.delete) + * + * @param string $project The project name of the resource view. + * @param string $zone The zone name of the resource view. + * @param string $resourceView The name of the resource view. + * @param array $optParams Optional parameters. + * @return Google_Service_Resourceviews_Operation + */ + public function delete($project, $zone, $resourceView, $optParams = array()) + { + $params = array('project' => $project, 'zone' => $zone, 'resourceView' => $resourceView); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params), "Google_Service_Resourceviews_Operation"); + } + /** + * Get the information of a zonal resource view. (zoneViews.get) + * + * @param string $project The project name of the resource view. + * @param string $zone The zone name of the resource view. + * @param string $resourceView The name of the resource view. + * @param array $optParams Optional parameters. + * @return Google_Service_Resourceviews_ResourceView + */ + public function get($project, $zone, $resourceView, $optParams = array()) + { + $params = array('project' => $project, 'zone' => $zone, 'resourceView' => $resourceView); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Resourceviews_ResourceView"); + } + /** + * Get the service information of a resource view or a resource. + * (zoneViews.getService) + * + * @param string $project The project name of the resource view. + * @param string $zone The zone name of the resource view. + * @param string $resourceView The name of the resource view. + * @param array $optParams Optional parameters. + * + * @opt_param string resourceName The name of the resource if user wants to get + * the service information of the resource. + * @return Google_Service_Resourceviews_ZoneViewsGetServiceResponse + */ + public function getService($project, $zone, $resourceView, $optParams = array()) + { + $params = array('project' => $project, 'zone' => $zone, 'resourceView' => $resourceView); + $params = array_merge($params, $optParams); + return $this->call('getService', array($params), "Google_Service_Resourceviews_ZoneViewsGetServiceResponse"); + } + /** + * Create a resource view. (zoneViews.insert) + * + * @param string $project The project name of the resource view. + * @param string $zone The zone name of the resource view. + * @param Google_Service_Resourceviews_ResourceView $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Resourceviews_Operation + */ + public function insert($project, $zone, Google_Service_Resourceviews_ResourceView $postBody, $optParams = array()) + { + $params = array('project' => $project, 'zone' => $zone, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('insert', array($params), "Google_Service_Resourceviews_Operation"); + } + /** + * List resource views. (zoneViews.listZoneViews) + * + * @param string $project The project name of the resource view. + * @param string $zone The zone name of the resource view. + * @param array $optParams Optional parameters. + * + * @opt_param int maxResults Maximum count of results to be returned. Acceptable + * values are 0 to 5000, inclusive. (Default: 5000) + * @opt_param string pageToken Specifies a nextPageToken returned by a previous + * list request. This token can be used to request the next page of results from + * a previous list request. + * @return Google_Service_Resourceviews_ZoneViewsList + */ + public function listZoneViews($project, $zone, $optParams = array()) + { + $params = array('project' => $project, 'zone' => $zone); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Resourceviews_ZoneViewsList"); + } + /** + * List the resources of the resource view. (zoneViews.listResources) + * + * @param string $project The project name of the resource view. + * @param string $zone The zone name of the resource view. + * @param string $resourceView The name of the resource view. + * @param array $optParams Optional parameters. + * + * @opt_param string format The requested format of the return value. It can be + * URL or URL_PORT. A JSON object will be included in the response based on the + * format. The default format is NONE, which results in no JSON in the response. + * @opt_param string listState The state of the instance to list. By default, it + * lists all instances. + * @opt_param int maxResults Maximum count of results to be returned. Acceptable + * values are 0 to 5000, inclusive. (Default: 5000) + * @opt_param string pageToken Specifies a nextPageToken returned by a previous + * list request. This token can be used to request the next page of results from + * a previous list request. + * @opt_param string serviceName The service name to return in the response. It + * is optional and if it is not set, all the service end points will be + * returned. + * @return Google_Service_Resourceviews_ZoneViewsListResourcesResponse + */ + public function listResources($project, $zone, $resourceView, $optParams = array()) + { + $params = array('project' => $project, 'zone' => $zone, 'resourceView' => $resourceView); + $params = array_merge($params, $optParams); + return $this->call('listResources', array($params), "Google_Service_Resourceviews_ZoneViewsListResourcesResponse"); + } + /** + * Remove resources from the view. (zoneViews.removeResources) + * + * @param string $project The project name of the resource view. + * @param string $zone The zone name of the resource view. + * @param string $resourceView The name of the resource view. + * @param Google_Service_Resourceviews_ZoneViewsRemoveResourcesRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Resourceviews_Operation + */ + public function removeResources($project, $zone, $resourceView, Google_Service_Resourceviews_ZoneViewsRemoveResourcesRequest $postBody, $optParams = array()) + { + $params = array('project' => $project, 'zone' => $zone, 'resourceView' => $resourceView, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('removeResources', array($params), "Google_Service_Resourceviews_Operation"); + } + /** + * Update the service information of a resource view or a resource. + * (zoneViews.setService) + * + * @param string $project The project name of the resource view. + * @param string $zone The zone name of the resource view. + * @param string $resourceView The name of the resource view. + * @param Google_Service_Resourceviews_ZoneViewsSetServiceRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Resourceviews_Operation + */ + public function setService($project, $zone, $resourceView, Google_Service_Resourceviews_ZoneViewsSetServiceRequest $postBody, $optParams = array()) + { + $params = array('project' => $project, 'zone' => $zone, 'resourceView' => $resourceView, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('setService', array($params), "Google_Service_Resourceviews_Operation"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Resourceviews/ResourceView.php b/vendor/google/apiclient-services/src/Google/Service/Resourceviews/ResourceView.php new file mode 100644 index 00000000..d0767580 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Resourceviews/ResourceView.php @@ -0,0 +1,132 @@ +creationTimestamp = $creationTimestamp; + } + public function getCreationTimestamp() + { + return $this->creationTimestamp; + } + public function setDescription($description) + { + $this->description = $description; + } + public function getDescription() + { + return $this->description; + } + public function setEndpoints($endpoints) + { + $this->endpoints = $endpoints; + } + public function getEndpoints() + { + return $this->endpoints; + } + public function setFingerprint($fingerprint) + { + $this->fingerprint = $fingerprint; + } + public function getFingerprint() + { + return $this->fingerprint; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setLabels($labels) + { + $this->labels = $labels; + } + public function getLabels() + { + return $this->labels; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setNetwork($network) + { + $this->network = $network; + } + public function getNetwork() + { + return $this->network; + } + public function setResources($resources) + { + $this->resources = $resources; + } + public function getResources() + { + return $this->resources; + } + public function setSelfLink($selfLink) + { + $this->selfLink = $selfLink; + } + public function getSelfLink() + { + return $this->selfLink; + } + public function setSize($size) + { + $this->size = $size; + } + public function getSize() + { + return $this->size; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Resourceviews/ServiceEndpoint.php b/vendor/google/apiclient-services/src/Google/Service/Resourceviews/ServiceEndpoint.php new file mode 100644 index 00000000..8c8aeabb --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Resourceviews/ServiceEndpoint.php @@ -0,0 +1,39 @@ +name = $name; + } + public function getName() + { + return $this->name; + } + public function setPort($port) + { + $this->port = $port; + } + public function getPort() + { + return $this->port; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Resourceviews/ZoneViewsAddResourcesRequest.php b/vendor/google/apiclient-services/src/Google/Service/Resourceviews/ZoneViewsAddResourcesRequest.php new file mode 100644 index 00000000..20e615e8 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Resourceviews/ZoneViewsAddResourcesRequest.php @@ -0,0 +1,31 @@ +resources = $resources; + } + public function getResources() + { + return $this->resources; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Resourceviews/ZoneViewsGetServiceResponse.php b/vendor/google/apiclient-services/src/Google/Service/Resourceviews/ZoneViewsGetServiceResponse.php new file mode 100644 index 00000000..b5a61984 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Resourceviews/ZoneViewsGetServiceResponse.php @@ -0,0 +1,41 @@ +endpoints = $endpoints; + } + public function getEndpoints() + { + return $this->endpoints; + } + public function setFingerprint($fingerprint) + { + $this->fingerprint = $fingerprint; + } + public function getFingerprint() + { + return $this->fingerprint; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Resourceviews/ZoneViewsList.php b/vendor/google/apiclient-services/src/Google/Service/Resourceviews/ZoneViewsList.php new file mode 100644 index 00000000..c2a62314 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Resourceviews/ZoneViewsList.php @@ -0,0 +1,59 @@ +items = $items; + } + public function getItems() + { + return $this->items; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setSelfLink($selfLink) + { + $this->selfLink = $selfLink; + } + public function getSelfLink() + { + return $this->selfLink; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Resourceviews/ZoneViewsListResourcesResponse.php b/vendor/google/apiclient-services/src/Google/Service/Resourceviews/ZoneViewsListResourcesResponse.php new file mode 100644 index 00000000..299c85ae --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Resourceviews/ZoneViewsListResourcesResponse.php @@ -0,0 +1,50 @@ +items = $items; + } + public function getItems() + { + return $this->items; + } + public function setNetwork($network) + { + $this->network = $network; + } + public function getNetwork() + { + return $this->network; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Resourceviews/ZoneViewsRemoveResourcesRequest.php b/vendor/google/apiclient-services/src/Google/Service/Resourceviews/ZoneViewsRemoveResourcesRequest.php new file mode 100644 index 00000000..ccaa19bb --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Resourceviews/ZoneViewsRemoveResourcesRequest.php @@ -0,0 +1,31 @@ +resources = $resources; + } + public function getResources() + { + return $this->resources; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Resourceviews/ZoneViewsSetServiceRequest.php b/vendor/google/apiclient-services/src/Google/Service/Resourceviews/ZoneViewsSetServiceRequest.php new file mode 100644 index 00000000..184c8170 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Resourceviews/ZoneViewsSetServiceRequest.php @@ -0,0 +1,50 @@ +endpoints = $endpoints; + } + public function getEndpoints() + { + return $this->endpoints; + } + public function setFingerprint($fingerprint) + { + $this->fingerprint = $fingerprint; + } + public function getFingerprint() + { + return $this->fingerprint; + } + public function setResourceName($resourceName) + { + $this->resourceName = $resourceName; + } + public function getResourceName() + { + return $this->resourceName; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/SQLAdmin.php b/vendor/google/apiclient-services/src/Google/Service/SQLAdmin.php new file mode 100644 index 00000000..a70911dd --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/SQLAdmin.php @@ -0,0 +1,811 @@ + + * Creates and configures Cloud SQL instances, which provide fully-managed MySQL + * databases.

+ * + *

+ * For more information about this service, see the API + * Documentation + *

+ * + * @author Google, Inc. + */ +class Google_Service_SQLAdmin extends Google_Service +{ + /** View and manage your data across Google Cloud Platform services. */ + const CLOUD_PLATFORM = + "https://www.googleapis.com/auth/cloud-platform"; + /** Manage your Google SQL Service instances. */ + const SQLSERVICE_ADMIN = + "https://www.googleapis.com/auth/sqlservice.admin"; + + public $backupRuns; + public $databases; + public $flags; + public $instances; + public $operations; + public $sslCerts; + public $tiers; + public $users; + + /** + * Constructs the internal representation of the SQLAdmin service. + * + * @param Google_Client $client + */ + public function __construct(Google_Client $client) + { + parent::__construct($client); + $this->rootUrl = 'https://www.googleapis.com/'; + $this->servicePath = 'sql/v1beta4/'; + $this->version = 'v1beta4'; + $this->serviceName = 'sqladmin'; + + $this->backupRuns = new Google_Service_SQLAdmin_Resource_BackupRuns( + $this, + $this->serviceName, + 'backupRuns', + array( + 'methods' => array( + 'delete' => array( + 'path' => 'projects/{project}/instances/{instance}/backupRuns/{id}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'instance' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'id' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'get' => array( + 'path' => 'projects/{project}/instances/{instance}/backupRuns/{id}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'instance' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'id' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'insert' => array( + 'path' => 'projects/{project}/instances/{instance}/backupRuns', + 'httpMethod' => 'POST', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'instance' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'projects/{project}/instances/{instance}/backupRuns', + 'httpMethod' => 'GET', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'instance' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + $this->databases = new Google_Service_SQLAdmin_Resource_Databases( + $this, + $this->serviceName, + 'databases', + array( + 'methods' => array( + 'delete' => array( + 'path' => 'projects/{project}/instances/{instance}/databases/{database}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'instance' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'database' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'get' => array( + 'path' => 'projects/{project}/instances/{instance}/databases/{database}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'instance' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'database' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'insert' => array( + 'path' => 'projects/{project}/instances/{instance}/databases', + 'httpMethod' => 'POST', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'instance' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'projects/{project}/instances/{instance}/databases', + 'httpMethod' => 'GET', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'instance' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'patch' => array( + 'path' => 'projects/{project}/instances/{instance}/databases/{database}', + 'httpMethod' => 'PATCH', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'instance' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'database' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'update' => array( + 'path' => 'projects/{project}/instances/{instance}/databases/{database}', + 'httpMethod' => 'PUT', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'instance' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'database' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->flags = new Google_Service_SQLAdmin_Resource_Flags( + $this, + $this->serviceName, + 'flags', + array( + 'methods' => array( + 'list' => array( + 'path' => 'flags', + 'httpMethod' => 'GET', + 'parameters' => array( + 'databaseVersion' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + $this->instances = new Google_Service_SQLAdmin_Resource_Instances( + $this, + $this->serviceName, + 'instances', + array( + 'methods' => array( + 'clone' => array( + 'path' => 'projects/{project}/instances/{instance}/clone', + 'httpMethod' => 'POST', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'instance' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'delete' => array( + 'path' => 'projects/{project}/instances/{instance}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'instance' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'export' => array( + 'path' => 'projects/{project}/instances/{instance}/export', + 'httpMethod' => 'POST', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'instance' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'failover' => array( + 'path' => 'projects/{project}/instances/{instance}/failover', + 'httpMethod' => 'POST', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'instance' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'get' => array( + 'path' => 'projects/{project}/instances/{instance}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'instance' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'import' => array( + 'path' => 'projects/{project}/instances/{instance}/import', + 'httpMethod' => 'POST', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'instance' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'insert' => array( + 'path' => 'projects/{project}/instances', + 'httpMethod' => 'POST', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'projects/{project}/instances', + 'httpMethod' => 'GET', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'filter' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'patch' => array( + 'path' => 'projects/{project}/instances/{instance}', + 'httpMethod' => 'PATCH', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'instance' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'promoteReplica' => array( + 'path' => 'projects/{project}/instances/{instance}/promoteReplica', + 'httpMethod' => 'POST', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'instance' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'resetSslConfig' => array( + 'path' => 'projects/{project}/instances/{instance}/resetSslConfig', + 'httpMethod' => 'POST', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'instance' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'restart' => array( + 'path' => 'projects/{project}/instances/{instance}/restart', + 'httpMethod' => 'POST', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'instance' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'restoreBackup' => array( + 'path' => 'projects/{project}/instances/{instance}/restoreBackup', + 'httpMethod' => 'POST', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'instance' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'startReplica' => array( + 'path' => 'projects/{project}/instances/{instance}/startReplica', + 'httpMethod' => 'POST', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'instance' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'stopReplica' => array( + 'path' => 'projects/{project}/instances/{instance}/stopReplica', + 'httpMethod' => 'POST', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'instance' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'truncateLog' => array( + 'path' => 'projects/{project}/instances/{instance}/truncateLog', + 'httpMethod' => 'POST', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'instance' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'update' => array( + 'path' => 'projects/{project}/instances/{instance}', + 'httpMethod' => 'PUT', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'instance' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->operations = new Google_Service_SQLAdmin_Resource_Operations( + $this, + $this->serviceName, + 'operations', + array( + 'methods' => array( + 'get' => array( + 'path' => 'projects/{project}/operations/{operation}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'operation' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'projects/{project}/operations', + 'httpMethod' => 'GET', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'instance' => array( + 'location' => 'query', + 'type' => 'string', + 'required' => true, + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + $this->sslCerts = new Google_Service_SQLAdmin_Resource_SslCerts( + $this, + $this->serviceName, + 'sslCerts', + array( + 'methods' => array( + 'createEphemeral' => array( + 'path' => 'projects/{project}/instances/{instance}/createEphemeral', + 'httpMethod' => 'POST', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'instance' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'delete' => array( + 'path' => 'projects/{project}/instances/{instance}/sslCerts/{sha1Fingerprint}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'instance' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'sha1Fingerprint' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'get' => array( + 'path' => 'projects/{project}/instances/{instance}/sslCerts/{sha1Fingerprint}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'instance' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'sha1Fingerprint' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'insert' => array( + 'path' => 'projects/{project}/instances/{instance}/sslCerts', + 'httpMethod' => 'POST', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'instance' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'projects/{project}/instances/{instance}/sslCerts', + 'httpMethod' => 'GET', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'instance' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->tiers = new Google_Service_SQLAdmin_Resource_Tiers( + $this, + $this->serviceName, + 'tiers', + array( + 'methods' => array( + 'list' => array( + 'path' => 'projects/{project}/tiers', + 'httpMethod' => 'GET', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->users = new Google_Service_SQLAdmin_Resource_Users( + $this, + $this->serviceName, + 'users', + array( + 'methods' => array( + 'delete' => array( + 'path' => 'projects/{project}/instances/{instance}/users', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'instance' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'host' => array( + 'location' => 'query', + 'type' => 'string', + 'required' => true, + ), + 'name' => array( + 'location' => 'query', + 'type' => 'string', + 'required' => true, + ), + ), + ),'insert' => array( + 'path' => 'projects/{project}/instances/{instance}/users', + 'httpMethod' => 'POST', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'instance' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'projects/{project}/instances/{instance}/users', + 'httpMethod' => 'GET', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'instance' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'update' => array( + 'path' => 'projects/{project}/instances/{instance}/users', + 'httpMethod' => 'PUT', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'instance' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'host' => array( + 'location' => 'query', + 'type' => 'string', + 'required' => true, + ), + 'name' => array( + 'location' => 'query', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/SQLAdmin/AclEntry.php b/vendor/google/apiclient-services/src/Google/Service/SQLAdmin/AclEntry.php new file mode 100644 index 00000000..33dbb082 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/SQLAdmin/AclEntry.php @@ -0,0 +1,57 @@ +expirationTime = $expirationTime; + } + public function getExpirationTime() + { + return $this->expirationTime; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setValue($value) + { + $this->value = $value; + } + public function getValue() + { + return $this->value; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/SQLAdmin/BackupConfiguration.php b/vendor/google/apiclient-services/src/Google/Service/SQLAdmin/BackupConfiguration.php new file mode 100644 index 00000000..0b53bd18 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/SQLAdmin/BackupConfiguration.php @@ -0,0 +1,57 @@ +binaryLogEnabled = $binaryLogEnabled; + } + public function getBinaryLogEnabled() + { + return $this->binaryLogEnabled; + } + public function setEnabled($enabled) + { + $this->enabled = $enabled; + } + public function getEnabled() + { + return $this->enabled; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setStartTime($startTime) + { + $this->startTime = $startTime; + } + public function getStartTime() + { + return $this->startTime; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/SQLAdmin/BackupRun.php b/vendor/google/apiclient-services/src/Google/Service/SQLAdmin/BackupRun.php new file mode 100644 index 00000000..86ab90cd --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/SQLAdmin/BackupRun.php @@ -0,0 +1,130 @@ +description = $description; + } + public function getDescription() + { + return $this->description; + } + public function setEndTime($endTime) + { + $this->endTime = $endTime; + } + public function getEndTime() + { + return $this->endTime; + } + public function setEnqueuedTime($enqueuedTime) + { + $this->enqueuedTime = $enqueuedTime; + } + public function getEnqueuedTime() + { + return $this->enqueuedTime; + } + public function setError(Google_Service_SQLAdmin_OperationError $error) + { + $this->error = $error; + } + public function getError() + { + return $this->error; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setInstance($instance) + { + $this->instance = $instance; + } + public function getInstance() + { + return $this->instance; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setSelfLink($selfLink) + { + $this->selfLink = $selfLink; + } + public function getSelfLink() + { + return $this->selfLink; + } + public function setStartTime($startTime) + { + $this->startTime = $startTime; + } + public function getStartTime() + { + return $this->startTime; + } + public function setStatus($status) + { + $this->status = $status; + } + public function getStatus() + { + return $this->status; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } + public function setWindowStartTime($windowStartTime) + { + $this->windowStartTime = $windowStartTime; + } + public function getWindowStartTime() + { + return $this->windowStartTime; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/SQLAdmin/BackupRunsListResponse.php b/vendor/google/apiclient-services/src/Google/Service/SQLAdmin/BackupRunsListResponse.php new file mode 100644 index 00000000..7e71cd40 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/SQLAdmin/BackupRunsListResponse.php @@ -0,0 +1,50 @@ +items = $items; + } + public function getItems() + { + return $this->items; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/SQLAdmin/BinLogCoordinates.php b/vendor/google/apiclient-services/src/Google/Service/SQLAdmin/BinLogCoordinates.php new file mode 100644 index 00000000..e6d92e32 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/SQLAdmin/BinLogCoordinates.php @@ -0,0 +1,48 @@ +binLogFileName = $binLogFileName; + } + public function getBinLogFileName() + { + return $this->binLogFileName; + } + public function setBinLogPosition($binLogPosition) + { + $this->binLogPosition = $binLogPosition; + } + public function getBinLogPosition() + { + return $this->binLogPosition; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/SQLAdmin/CloneContext.php b/vendor/google/apiclient-services/src/Google/Service/SQLAdmin/CloneContext.php new file mode 100644 index 00000000..d2f6ddc0 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/SQLAdmin/CloneContext.php @@ -0,0 +1,49 @@ +binLogCoordinates = $binLogCoordinates; + } + public function getBinLogCoordinates() + { + return $this->binLogCoordinates; + } + public function setDestinationInstanceName($destinationInstanceName) + { + $this->destinationInstanceName = $destinationInstanceName; + } + public function getDestinationInstanceName() + { + return $this->destinationInstanceName; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/SQLAdmin/Database.php b/vendor/google/apiclient-services/src/Google/Service/SQLAdmin/Database.php new file mode 100644 index 00000000..d9d0070b --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/SQLAdmin/Database.php @@ -0,0 +1,93 @@ +charset = $charset; + } + public function getCharset() + { + return $this->charset; + } + public function setCollation($collation) + { + $this->collation = $collation; + } + public function getCollation() + { + return $this->collation; + } + public function setEtag($etag) + { + $this->etag = $etag; + } + public function getEtag() + { + return $this->etag; + } + public function setInstance($instance) + { + $this->instance = $instance; + } + public function getInstance() + { + return $this->instance; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setProject($project) + { + $this->project = $project; + } + public function getProject() + { + return $this->project; + } + public function setSelfLink($selfLink) + { + $this->selfLink = $selfLink; + } + public function getSelfLink() + { + return $this->selfLink; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/SQLAdmin/DatabaseFlags.php b/vendor/google/apiclient-services/src/Google/Service/SQLAdmin/DatabaseFlags.php new file mode 100644 index 00000000..f56052f5 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/SQLAdmin/DatabaseFlags.php @@ -0,0 +1,39 @@ +name = $name; + } + public function getName() + { + return $this->name; + } + public function setValue($value) + { + $this->value = $value; + } + public function getValue() + { + return $this->value; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/SQLAdmin/DatabaseInstance.php b/vendor/google/apiclient-services/src/Google/Service/SQLAdmin/DatabaseInstance.php new file mode 100644 index 00000000..292b7229 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/SQLAdmin/DatabaseInstance.php @@ -0,0 +1,244 @@ +backendType = $backendType; + } + public function getBackendType() + { + return $this->backendType; + } + public function setConnectionName($connectionName) + { + $this->connectionName = $connectionName; + } + public function getConnectionName() + { + return $this->connectionName; + } + public function setCurrentDiskSize($currentDiskSize) + { + $this->currentDiskSize = $currentDiskSize; + } + public function getCurrentDiskSize() + { + return $this->currentDiskSize; + } + public function setDatabaseVersion($databaseVersion) + { + $this->databaseVersion = $databaseVersion; + } + public function getDatabaseVersion() + { + return $this->databaseVersion; + } + public function setEtag($etag) + { + $this->etag = $etag; + } + public function getEtag() + { + return $this->etag; + } + public function setFailoverReplica(Google_Service_SQLAdmin_DatabaseInstanceFailoverReplica $failoverReplica) + { + $this->failoverReplica = $failoverReplica; + } + public function getFailoverReplica() + { + return $this->failoverReplica; + } + public function setInstanceType($instanceType) + { + $this->instanceType = $instanceType; + } + public function getInstanceType() + { + return $this->instanceType; + } + public function setIpAddresses($ipAddresses) + { + $this->ipAddresses = $ipAddresses; + } + public function getIpAddresses() + { + return $this->ipAddresses; + } + public function setIpv6Address($ipv6Address) + { + $this->ipv6Address = $ipv6Address; + } + public function getIpv6Address() + { + return $this->ipv6Address; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setMasterInstanceName($masterInstanceName) + { + $this->masterInstanceName = $masterInstanceName; + } + public function getMasterInstanceName() + { + return $this->masterInstanceName; + } + public function setMaxDiskSize($maxDiskSize) + { + $this->maxDiskSize = $maxDiskSize; + } + public function getMaxDiskSize() + { + return $this->maxDiskSize; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setOnPremisesConfiguration(Google_Service_SQLAdmin_OnPremisesConfiguration $onPremisesConfiguration) + { + $this->onPremisesConfiguration = $onPremisesConfiguration; + } + public function getOnPremisesConfiguration() + { + return $this->onPremisesConfiguration; + } + public function setProject($project) + { + $this->project = $project; + } + public function getProject() + { + return $this->project; + } + public function setRegion($region) + { + $this->region = $region; + } + public function getRegion() + { + return $this->region; + } + public function setReplicaConfiguration(Google_Service_SQLAdmin_ReplicaConfiguration $replicaConfiguration) + { + $this->replicaConfiguration = $replicaConfiguration; + } + public function getReplicaConfiguration() + { + return $this->replicaConfiguration; + } + public function setReplicaNames($replicaNames) + { + $this->replicaNames = $replicaNames; + } + public function getReplicaNames() + { + return $this->replicaNames; + } + public function setSelfLink($selfLink) + { + $this->selfLink = $selfLink; + } + public function getSelfLink() + { + return $this->selfLink; + } + public function setServerCaCert(Google_Service_SQLAdmin_SslCert $serverCaCert) + { + $this->serverCaCert = $serverCaCert; + } + public function getServerCaCert() + { + return $this->serverCaCert; + } + public function setServiceAccountEmailAddress($serviceAccountEmailAddress) + { + $this->serviceAccountEmailAddress = $serviceAccountEmailAddress; + } + public function getServiceAccountEmailAddress() + { + return $this->serviceAccountEmailAddress; + } + public function setSettings(Google_Service_SQLAdmin_Settings $settings) + { + $this->settings = $settings; + } + public function getSettings() + { + return $this->settings; + } + public function setState($state) + { + $this->state = $state; + } + public function getState() + { + return $this->state; + } + public function setSuspensionReason($suspensionReason) + { + $this->suspensionReason = $suspensionReason; + } + public function getSuspensionReason() + { + return $this->suspensionReason; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/SQLAdmin/DatabaseInstanceFailoverReplica.php b/vendor/google/apiclient-services/src/Google/Service/SQLAdmin/DatabaseInstanceFailoverReplica.php new file mode 100644 index 00000000..f9a22dc0 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/SQLAdmin/DatabaseInstanceFailoverReplica.php @@ -0,0 +1,39 @@ +available = $available; + } + public function getAvailable() + { + return $this->available; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/SQLAdmin/DatabasesListResponse.php b/vendor/google/apiclient-services/src/Google/Service/SQLAdmin/DatabasesListResponse.php new file mode 100644 index 00000000..b74a7010 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/SQLAdmin/DatabasesListResponse.php @@ -0,0 +1,41 @@ +items = $items; + } + public function getItems() + { + return $this->items; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/SQLAdmin/ExportContext.php b/vendor/google/apiclient-services/src/Google/Service/SQLAdmin/ExportContext.php new file mode 100644 index 00000000..fd64961d --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/SQLAdmin/ExportContext.php @@ -0,0 +1,78 @@ +csvExportOptions = $csvExportOptions; + } + public function getCsvExportOptions() + { + return $this->csvExportOptions; + } + public function setDatabases($databases) + { + $this->databases = $databases; + } + public function getDatabases() + { + return $this->databases; + } + public function setFileType($fileType) + { + $this->fileType = $fileType; + } + public function getFileType() + { + return $this->fileType; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setSqlExportOptions(Google_Service_SQLAdmin_ExportContextSqlExportOptions $sqlExportOptions) + { + $this->sqlExportOptions = $sqlExportOptions; + } + public function getSqlExportOptions() + { + return $this->sqlExportOptions; + } + public function setUri($uri) + { + $this->uri = $uri; + } + public function getUri() + { + return $this->uri; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/SQLAdmin/ExportContextCsvExportOptions.php b/vendor/google/apiclient-services/src/Google/Service/SQLAdmin/ExportContextCsvExportOptions.php new file mode 100644 index 00000000..0e4a21ba --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/SQLAdmin/ExportContextCsvExportOptions.php @@ -0,0 +1,30 @@ +selectQuery = $selectQuery; + } + public function getSelectQuery() + { + return $this->selectQuery; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/SQLAdmin/ExportContextSqlExportOptions.php b/vendor/google/apiclient-services/src/Google/Service/SQLAdmin/ExportContextSqlExportOptions.php new file mode 100644 index 00000000..8b78affe --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/SQLAdmin/ExportContextSqlExportOptions.php @@ -0,0 +1,40 @@ +schemaOnly = $schemaOnly; + } + public function getSchemaOnly() + { + return $this->schemaOnly; + } + public function setTables($tables) + { + $this->tables = $tables; + } + public function getTables() + { + return $this->tables; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/SQLAdmin/FailoverContext.php b/vendor/google/apiclient-services/src/Google/Service/SQLAdmin/FailoverContext.php new file mode 100644 index 00000000..07de18a7 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/SQLAdmin/FailoverContext.php @@ -0,0 +1,39 @@ +kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setSettingsVersion($settingsVersion) + { + $this->settingsVersion = $settingsVersion; + } + public function getSettingsVersion() + { + return $this->settingsVersion; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/SQLAdmin/Flag.php b/vendor/google/apiclient-services/src/Google/Service/SQLAdmin/Flag.php new file mode 100644 index 00000000..ebe43c2f --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/SQLAdmin/Flag.php @@ -0,0 +1,94 @@ +allowedStringValues = $allowedStringValues; + } + public function getAllowedStringValues() + { + return $this->allowedStringValues; + } + public function setAppliesTo($appliesTo) + { + $this->appliesTo = $appliesTo; + } + public function getAppliesTo() + { + return $this->appliesTo; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setMaxValue($maxValue) + { + $this->maxValue = $maxValue; + } + public function getMaxValue() + { + return $this->maxValue; + } + public function setMinValue($minValue) + { + $this->minValue = $minValue; + } + public function getMinValue() + { + return $this->minValue; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setRequiresRestart($requiresRestart) + { + $this->requiresRestart = $requiresRestart; + } + public function getRequiresRestart() + { + return $this->requiresRestart; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/SQLAdmin/FlagsListResponse.php b/vendor/google/apiclient-services/src/Google/Service/SQLAdmin/FlagsListResponse.php new file mode 100644 index 00000000..c5616917 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/SQLAdmin/FlagsListResponse.php @@ -0,0 +1,41 @@ +items = $items; + } + public function getItems() + { + return $this->items; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/SQLAdmin/ImportContext.php b/vendor/google/apiclient-services/src/Google/Service/SQLAdmin/ImportContext.php new file mode 100644 index 00000000..a81111c4 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/SQLAdmin/ImportContext.php @@ -0,0 +1,67 @@ +csvImportOptions = $csvImportOptions; + } + public function getCsvImportOptions() + { + return $this->csvImportOptions; + } + public function setDatabase($database) + { + $this->database = $database; + } + public function getDatabase() + { + return $this->database; + } + public function setFileType($fileType) + { + $this->fileType = $fileType; + } + public function getFileType() + { + return $this->fileType; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setUri($uri) + { + $this->uri = $uri; + } + public function getUri() + { + return $this->uri; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/SQLAdmin/ImportContextCsvImportOptions.php b/vendor/google/apiclient-services/src/Google/Service/SQLAdmin/ImportContextCsvImportOptions.php new file mode 100644 index 00000000..e0bfd089 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/SQLAdmin/ImportContextCsvImportOptions.php @@ -0,0 +1,40 @@ +columns = $columns; + } + public function getColumns() + { + return $this->columns; + } + public function setTable($table) + { + $this->table = $table; + } + public function getTable() + { + return $this->table; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/SQLAdmin/InstancesCloneRequest.php b/vendor/google/apiclient-services/src/Google/Service/SQLAdmin/InstancesCloneRequest.php new file mode 100644 index 00000000..8a8e5754 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/SQLAdmin/InstancesCloneRequest.php @@ -0,0 +1,31 @@ +cloneContext = $cloneContext; + } + public function getCloneContext() + { + return $this->cloneContext; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/SQLAdmin/InstancesExportRequest.php b/vendor/google/apiclient-services/src/Google/Service/SQLAdmin/InstancesExportRequest.php new file mode 100644 index 00000000..0b00dda6 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/SQLAdmin/InstancesExportRequest.php @@ -0,0 +1,31 @@ +exportContext = $exportContext; + } + public function getExportContext() + { + return $this->exportContext; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/SQLAdmin/InstancesFailoverRequest.php b/vendor/google/apiclient-services/src/Google/Service/SQLAdmin/InstancesFailoverRequest.php new file mode 100644 index 00000000..c003108a --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/SQLAdmin/InstancesFailoverRequest.php @@ -0,0 +1,31 @@ +failoverContext = $failoverContext; + } + public function getFailoverContext() + { + return $this->failoverContext; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/SQLAdmin/InstancesImportRequest.php b/vendor/google/apiclient-services/src/Google/Service/SQLAdmin/InstancesImportRequest.php new file mode 100644 index 00000000..cdbf3d39 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/SQLAdmin/InstancesImportRequest.php @@ -0,0 +1,31 @@ +importContext = $importContext; + } + public function getImportContext() + { + return $this->importContext; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/SQLAdmin/InstancesListResponse.php b/vendor/google/apiclient-services/src/Google/Service/SQLAdmin/InstancesListResponse.php new file mode 100644 index 00000000..31fbb1ec --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/SQLAdmin/InstancesListResponse.php @@ -0,0 +1,50 @@ +items = $items; + } + public function getItems() + { + return $this->items; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/SQLAdmin/InstancesRestoreBackupRequest.php b/vendor/google/apiclient-services/src/Google/Service/SQLAdmin/InstancesRestoreBackupRequest.php new file mode 100644 index 00000000..23cbfd5f --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/SQLAdmin/InstancesRestoreBackupRequest.php @@ -0,0 +1,31 @@ +restoreBackupContext = $restoreBackupContext; + } + public function getRestoreBackupContext() + { + return $this->restoreBackupContext; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/SQLAdmin/InstancesTruncateLogRequest.php b/vendor/google/apiclient-services/src/Google/Service/SQLAdmin/InstancesTruncateLogRequest.php new file mode 100644 index 00000000..fb5e9910 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/SQLAdmin/InstancesTruncateLogRequest.php @@ -0,0 +1,31 @@ +truncateLogContext = $truncateLogContext; + } + public function getTruncateLogContext() + { + return $this->truncateLogContext; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/SQLAdmin/IpConfiguration.php b/vendor/google/apiclient-services/src/Google/Service/SQLAdmin/IpConfiguration.php new file mode 100644 index 00000000..bf6dcdac --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/SQLAdmin/IpConfiguration.php @@ -0,0 +1,50 @@ +authorizedNetworks = $authorizedNetworks; + } + public function getAuthorizedNetworks() + { + return $this->authorizedNetworks; + } + public function setIpv4Enabled($ipv4Enabled) + { + $this->ipv4Enabled = $ipv4Enabled; + } + public function getIpv4Enabled() + { + return $this->ipv4Enabled; + } + public function setRequireSsl($requireSsl) + { + $this->requireSsl = $requireSsl; + } + public function getRequireSsl() + { + return $this->requireSsl; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/SQLAdmin/IpMapping.php b/vendor/google/apiclient-services/src/Google/Service/SQLAdmin/IpMapping.php new file mode 100644 index 00000000..e63e278a --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/SQLAdmin/IpMapping.php @@ -0,0 +1,48 @@ +ipAddress = $ipAddress; + } + public function getIpAddress() + { + return $this->ipAddress; + } + public function setTimeToRetire($timeToRetire) + { + $this->timeToRetire = $timeToRetire; + } + public function getTimeToRetire() + { + return $this->timeToRetire; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/SQLAdmin/Labels.php b/vendor/google/apiclient-services/src/Google/Service/SQLAdmin/Labels.php new file mode 100644 index 00000000..b3653abb --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/SQLAdmin/Labels.php @@ -0,0 +1,39 @@ +key = $key; + } + public function getKey() + { + return $this->key; + } + public function setValue($value) + { + $this->value = $value; + } + public function getValue() + { + return $this->value; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/SQLAdmin/LocationPreference.php b/vendor/google/apiclient-services/src/Google/Service/SQLAdmin/LocationPreference.php new file mode 100644 index 00000000..9a81e1d0 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/SQLAdmin/LocationPreference.php @@ -0,0 +1,48 @@ +followGaeApplication = $followGaeApplication; + } + public function getFollowGaeApplication() + { + return $this->followGaeApplication; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setZone($zone) + { + $this->zone = $zone; + } + public function getZone() + { + return $this->zone; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/SQLAdmin/MaintenanceWindow.php b/vendor/google/apiclient-services/src/Google/Service/SQLAdmin/MaintenanceWindow.php new file mode 100644 index 00000000..970da198 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/SQLAdmin/MaintenanceWindow.php @@ -0,0 +1,57 @@ +day = $day; + } + public function getDay() + { + return $this->day; + } + public function setHour($hour) + { + $this->hour = $hour; + } + public function getHour() + { + return $this->hour; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setUpdateTrack($updateTrack) + { + $this->updateTrack = $updateTrack; + } + public function getUpdateTrack() + { + return $this->updateTrack; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/SQLAdmin/MySqlReplicaConfiguration.php b/vendor/google/apiclient-services/src/Google/Service/SQLAdmin/MySqlReplicaConfiguration.php new file mode 100644 index 00000000..f4a1e515 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/SQLAdmin/MySqlReplicaConfiguration.php @@ -0,0 +1,120 @@ +caCertificate = $caCertificate; + } + public function getCaCertificate() + { + return $this->caCertificate; + } + public function setClientCertificate($clientCertificate) + { + $this->clientCertificate = $clientCertificate; + } + public function getClientCertificate() + { + return $this->clientCertificate; + } + public function setClientKey($clientKey) + { + $this->clientKey = $clientKey; + } + public function getClientKey() + { + return $this->clientKey; + } + public function setConnectRetryInterval($connectRetryInterval) + { + $this->connectRetryInterval = $connectRetryInterval; + } + public function getConnectRetryInterval() + { + return $this->connectRetryInterval; + } + public function setDumpFilePath($dumpFilePath) + { + $this->dumpFilePath = $dumpFilePath; + } + public function getDumpFilePath() + { + return $this->dumpFilePath; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setMasterHeartbeatPeriod($masterHeartbeatPeriod) + { + $this->masterHeartbeatPeriod = $masterHeartbeatPeriod; + } + public function getMasterHeartbeatPeriod() + { + return $this->masterHeartbeatPeriod; + } + public function setPassword($password) + { + $this->password = $password; + } + public function getPassword() + { + return $this->password; + } + public function setSslCipher($sslCipher) + { + $this->sslCipher = $sslCipher; + } + public function getSslCipher() + { + return $this->sslCipher; + } + public function setUsername($username) + { + $this->username = $username; + } + public function getUsername() + { + return $this->username; + } + public function setVerifyServerCertificate($verifyServerCertificate) + { + $this->verifyServerCertificate = $verifyServerCertificate; + } + public function getVerifyServerCertificate() + { + return $this->verifyServerCertificate; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/SQLAdmin/OnPremisesConfiguration.php b/vendor/google/apiclient-services/src/Google/Service/SQLAdmin/OnPremisesConfiguration.php new file mode 100644 index 00000000..962c8ba2 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/SQLAdmin/OnPremisesConfiguration.php @@ -0,0 +1,39 @@ +hostPort = $hostPort; + } + public function getHostPort() + { + return $this->hostPort; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/SQLAdmin/Operation.php b/vendor/google/apiclient-services/src/Google/Service/SQLAdmin/Operation.php new file mode 100644 index 00000000..ab7797db --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/SQLAdmin/Operation.php @@ -0,0 +1,159 @@ +endTime = $endTime; + } + public function getEndTime() + { + return $this->endTime; + } + public function setError(Google_Service_SQLAdmin_OperationErrors $error) + { + $this->error = $error; + } + public function getError() + { + return $this->error; + } + public function setExportContext(Google_Service_SQLAdmin_ExportContext $exportContext) + { + $this->exportContext = $exportContext; + } + public function getExportContext() + { + return $this->exportContext; + } + public function setImportContext(Google_Service_SQLAdmin_ImportContext $importContext) + { + $this->importContext = $importContext; + } + public function getImportContext() + { + return $this->importContext; + } + public function setInsertTime($insertTime) + { + $this->insertTime = $insertTime; + } + public function getInsertTime() + { + return $this->insertTime; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setOperationType($operationType) + { + $this->operationType = $operationType; + } + public function getOperationType() + { + return $this->operationType; + } + public function setSelfLink($selfLink) + { + $this->selfLink = $selfLink; + } + public function getSelfLink() + { + return $this->selfLink; + } + public function setStartTime($startTime) + { + $this->startTime = $startTime; + } + public function getStartTime() + { + return $this->startTime; + } + public function setStatus($status) + { + $this->status = $status; + } + public function getStatus() + { + return $this->status; + } + public function setTargetId($targetId) + { + $this->targetId = $targetId; + } + public function getTargetId() + { + return $this->targetId; + } + public function setTargetLink($targetLink) + { + $this->targetLink = $targetLink; + } + public function getTargetLink() + { + return $this->targetLink; + } + public function setTargetProject($targetProject) + { + $this->targetProject = $targetProject; + } + public function getTargetProject() + { + return $this->targetProject; + } + public function setUser($user) + { + $this->user = $user; + } + public function getUser() + { + return $this->user; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/SQLAdmin/OperationError.php b/vendor/google/apiclient-services/src/Google/Service/SQLAdmin/OperationError.php new file mode 100644 index 00000000..431da35b --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/SQLAdmin/OperationError.php @@ -0,0 +1,48 @@ +code = $code; + } + public function getCode() + { + return $this->code; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setMessage($message) + { + $this->message = $message; + } + public function getMessage() + { + return $this->message; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/SQLAdmin/OperationErrors.php b/vendor/google/apiclient-services/src/Google/Service/SQLAdmin/OperationErrors.php new file mode 100644 index 00000000..8bcbec4a --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/SQLAdmin/OperationErrors.php @@ -0,0 +1,41 @@ +errors = $errors; + } + public function getErrors() + { + return $this->errors; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/SQLAdmin/OperationsListResponse.php b/vendor/google/apiclient-services/src/Google/Service/SQLAdmin/OperationsListResponse.php new file mode 100644 index 00000000..d8d9eed6 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/SQLAdmin/OperationsListResponse.php @@ -0,0 +1,50 @@ +items = $items; + } + public function getItems() + { + return $this->items; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/SQLAdmin/ReplicaConfiguration.php b/vendor/google/apiclient-services/src/Google/Service/SQLAdmin/ReplicaConfiguration.php new file mode 100644 index 00000000..105758b9 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/SQLAdmin/ReplicaConfiguration.php @@ -0,0 +1,49 @@ +failoverTarget = $failoverTarget; + } + public function getFailoverTarget() + { + return $this->failoverTarget; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setMysqlReplicaConfiguration(Google_Service_SQLAdmin_MySqlReplicaConfiguration $mysqlReplicaConfiguration) + { + $this->mysqlReplicaConfiguration = $mysqlReplicaConfiguration; + } + public function getMysqlReplicaConfiguration() + { + return $this->mysqlReplicaConfiguration; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/SQLAdmin/Resource/BackupRuns.php b/vendor/google/apiclient-services/src/Google/Service/SQLAdmin/Resource/BackupRuns.php new file mode 100644 index 00000000..f6a5fb17 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/SQLAdmin/Resource/BackupRuns.php @@ -0,0 +1,100 @@ + + * $sqladminService = new Google_Service_SQLAdmin(...); + * $backupRuns = $sqladminService->backupRuns; + * + */ +class Google_Service_SQLAdmin_Resource_BackupRuns extends Google_Service_Resource +{ + /** + * Deletes the backup taken by a backup run. (backupRuns.delete) + * + * @param string $project Project ID of the project that contains the instance. + * @param string $instance Cloud SQL instance ID. This does not include the + * project ID. + * @param string $id The ID of the Backup Run to delete. To find a Backup Run + * ID, use the list method. + * @param array $optParams Optional parameters. + * @return Google_Service_SQLAdmin_Operation + */ + public function delete($project, $instance, $id, $optParams = array()) + { + $params = array('project' => $project, 'instance' => $instance, 'id' => $id); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params), "Google_Service_SQLAdmin_Operation"); + } + /** + * Retrieves a resource containing information about a backup run. + * (backupRuns.get) + * + * @param string $project Project ID of the project that contains the instance. + * @param string $instance Cloud SQL instance ID. This does not include the + * project ID. + * @param string $id The ID of this Backup Run. + * @param array $optParams Optional parameters. + * @return Google_Service_SQLAdmin_BackupRun + */ + public function get($project, $instance, $id, $optParams = array()) + { + $params = array('project' => $project, 'instance' => $instance, 'id' => $id); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_SQLAdmin_BackupRun"); + } + /** + * Creates a new backup run on demand. This method is applicable only to Second + * Generation instances. (backupRuns.insert) + * + * @param string $project Project ID of the project that contains the instance. + * @param string $instance Cloud SQL instance ID. This does not include the + * project ID. + * @param Google_Service_SQLAdmin_BackupRun $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_SQLAdmin_Operation + */ + public function insert($project, $instance, Google_Service_SQLAdmin_BackupRun $postBody, $optParams = array()) + { + $params = array('project' => $project, 'instance' => $instance, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('insert', array($params), "Google_Service_SQLAdmin_Operation"); + } + /** + * Lists all backup runs associated with a given instance and configuration in + * the reverse chronological order of the enqueued time. + * (backupRuns.listBackupRuns) + * + * @param string $project Project ID of the project that contains the instance. + * @param string $instance Cloud SQL instance ID. This does not include the + * project ID. + * @param array $optParams Optional parameters. + * + * @opt_param int maxResults Maximum number of backup runs per response. + * @opt_param string pageToken A previously-returned page token representing + * part of the larger set of results to view. + * @return Google_Service_SQLAdmin_BackupRunsListResponse + */ + public function listBackupRuns($project, $instance, $optParams = array()) + { + $params = array('project' => $project, 'instance' => $instance); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_SQLAdmin_BackupRunsListResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/SQLAdmin/Resource/Databases.php b/vendor/google/apiclient-services/src/Google/Service/SQLAdmin/Resource/Databases.php new file mode 100644 index 00000000..3893b526 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/SQLAdmin/Resource/Databases.php @@ -0,0 +1,131 @@ + + * $sqladminService = new Google_Service_SQLAdmin(...); + * $databases = $sqladminService->databases; + * + */ +class Google_Service_SQLAdmin_Resource_Databases extends Google_Service_Resource +{ + /** + * Deletes a database from a Cloud SQL instance. (databases.delete) + * + * @param string $project Project ID of the project that contains the instance. + * @param string $instance Database instance ID. This does not include the + * project ID. + * @param string $database Name of the database to be deleted in the instance. + * @param array $optParams Optional parameters. + * @return Google_Service_SQLAdmin_Operation + */ + public function delete($project, $instance, $database, $optParams = array()) + { + $params = array('project' => $project, 'instance' => $instance, 'database' => $database); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params), "Google_Service_SQLAdmin_Operation"); + } + /** + * Retrieves a resource containing information about a database inside a Cloud + * SQL instance. (databases.get) + * + * @param string $project Project ID of the project that contains the instance. + * @param string $instance Database instance ID. This does not include the + * project ID. + * @param string $database Name of the database in the instance. + * @param array $optParams Optional parameters. + * @return Google_Service_SQLAdmin_Database + */ + public function get($project, $instance, $database, $optParams = array()) + { + $params = array('project' => $project, 'instance' => $instance, 'database' => $database); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_SQLAdmin_Database"); + } + /** + * Inserts a resource containing information about a database inside a Cloud SQL + * instance. (databases.insert) + * + * @param string $project Project ID of the project that contains the instance. + * @param string $instance Database instance ID. This does not include the + * project ID. + * @param Google_Service_SQLAdmin_Database $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_SQLAdmin_Operation + */ + public function insert($project, $instance, Google_Service_SQLAdmin_Database $postBody, $optParams = array()) + { + $params = array('project' => $project, 'instance' => $instance, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('insert', array($params), "Google_Service_SQLAdmin_Operation"); + } + /** + * Lists databases in the specified Cloud SQL instance. + * (databases.listDatabases) + * + * @param string $project Project ID of the project for which to list Cloud SQL + * instances. + * @param string $instance Cloud SQL instance ID. This does not include the + * project ID. + * @param array $optParams Optional parameters. + * @return Google_Service_SQLAdmin_DatabasesListResponse + */ + public function listDatabases($project, $instance, $optParams = array()) + { + $params = array('project' => $project, 'instance' => $instance); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_SQLAdmin_DatabasesListResponse"); + } + /** + * Updates a resource containing information about a database inside a Cloud SQL + * instance. This method supports patch semantics. (databases.patch) + * + * @param string $project Project ID of the project that contains the instance. + * @param string $instance Database instance ID. This does not include the + * project ID. + * @param string $database Name of the database to be updated in the instance. + * @param Google_Service_SQLAdmin_Database $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_SQLAdmin_Operation + */ + public function patch($project, $instance, $database, Google_Service_SQLAdmin_Database $postBody, $optParams = array()) + { + $params = array('project' => $project, 'instance' => $instance, 'database' => $database, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('patch', array($params), "Google_Service_SQLAdmin_Operation"); + } + /** + * Updates a resource containing information about a database inside a Cloud SQL + * instance. (databases.update) + * + * @param string $project Project ID of the project that contains the instance. + * @param string $instance Database instance ID. This does not include the + * project ID. + * @param string $database Name of the database to be updated in the instance. + * @param Google_Service_SQLAdmin_Database $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_SQLAdmin_Operation + */ + public function update($project, $instance, $database, Google_Service_SQLAdmin_Database $postBody, $optParams = array()) + { + $params = array('project' => $project, 'instance' => $instance, 'database' => $database, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('update', array($params), "Google_Service_SQLAdmin_Operation"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/SQLAdmin/Resource/Flags.php b/vendor/google/apiclient-services/src/Google/Service/SQLAdmin/Resource/Flags.php new file mode 100644 index 00000000..c1a886e5 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/SQLAdmin/Resource/Flags.php @@ -0,0 +1,44 @@ + + * $sqladminService = new Google_Service_SQLAdmin(...); + * $flags = $sqladminService->flags; + * + */ +class Google_Service_SQLAdmin_Resource_Flags extends Google_Service_Resource +{ + /** + * List all available database flags for Google Cloud SQL instances. + * (flags.listFlags) + * + * @param array $optParams Optional parameters. + * + * @opt_param string databaseVersion Database version for flag retrieval. Flags + * are specific to the database version. + * @return Google_Service_SQLAdmin_FlagsListResponse + */ + public function listFlags($optParams = array()) + { + $params = array(); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_SQLAdmin_FlagsListResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/SQLAdmin/Resource/Instances.php b/vendor/google/apiclient-services/src/Google/Service/SQLAdmin/Resource/Instances.php new file mode 100644 index 00000000..4aa20919 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/SQLAdmin/Resource/Instances.php @@ -0,0 +1,311 @@ + + * $sqladminService = new Google_Service_SQLAdmin(...); + * $instances = $sqladminService->instances; + * + */ +class Google_Service_SQLAdmin_Resource_Instances extends Google_Service_Resource +{ + /** + * Creates a Cloud SQL instance as a clone of the source instance. The API is + * not ready for Second Generation instances yet. (instances.cloneInstances) + * + * @param string $project Project ID of the source as well as the clone Cloud + * SQL instance. + * @param string $instance The ID of the Cloud SQL instance to be cloned + * (source). This does not include the project ID. + * @param Google_Service_SQLAdmin_InstancesCloneRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_SQLAdmin_Operation + */ + public function cloneInstances($project, $instance, Google_Service_SQLAdmin_InstancesCloneRequest $postBody, $optParams = array()) + { + $params = array('project' => $project, 'instance' => $instance, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('clone', array($params), "Google_Service_SQLAdmin_Operation"); + } + /** + * Deletes a Cloud SQL instance. (instances.delete) + * + * @param string $project Project ID of the project that contains the instance + * to be deleted. + * @param string $instance Cloud SQL instance ID. This does not include the + * project ID. + * @param array $optParams Optional parameters. + * @return Google_Service_SQLAdmin_Operation + */ + public function delete($project, $instance, $optParams = array()) + { + $params = array('project' => $project, 'instance' => $instance); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params), "Google_Service_SQLAdmin_Operation"); + } + /** + * Exports data from a Cloud SQL instance to a Google Cloud Storage bucket as a + * MySQL dump file. (instances.export) + * + * @param string $project Project ID of the project that contains the instance + * to be exported. + * @param string $instance Cloud SQL instance ID. This does not include the + * project ID. + * @param Google_Service_SQLAdmin_InstancesExportRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_SQLAdmin_Operation + */ + public function export($project, $instance, Google_Service_SQLAdmin_InstancesExportRequest $postBody, $optParams = array()) + { + $params = array('project' => $project, 'instance' => $instance, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('export', array($params), "Google_Service_SQLAdmin_Operation"); + } + /** + * Failover the instance to its failover replica instance. (instances.failover) + * + * @param string $project ID of the project that contains the read replica. + * @param string $instance Cloud SQL instance ID. This does not include the + * project ID. + * @param Google_Service_SQLAdmin_InstancesFailoverRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_SQLAdmin_Operation + */ + public function failover($project, $instance, Google_Service_SQLAdmin_InstancesFailoverRequest $postBody, $optParams = array()) + { + $params = array('project' => $project, 'instance' => $instance, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('failover', array($params), "Google_Service_SQLAdmin_Operation"); + } + /** + * Retrieves a resource containing information about a Cloud SQL instance. + * (instances.get) + * + * @param string $project Project ID of the project that contains the instance. + * @param string $instance Database instance ID. This does not include the + * project ID. + * @param array $optParams Optional parameters. + * @return Google_Service_SQLAdmin_DatabaseInstance + */ + public function get($project, $instance, $optParams = array()) + { + $params = array('project' => $project, 'instance' => $instance); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_SQLAdmin_DatabaseInstance"); + } + /** + * Imports data into a Cloud SQL instance from a MySQL dump file in Google Cloud + * Storage. (instances.import) + * + * @param string $project Project ID of the project that contains the instance. + * @param string $instance Cloud SQL instance ID. This does not include the + * project ID. + * @param Google_Service_SQLAdmin_InstancesImportRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_SQLAdmin_Operation + */ + public function import($project, $instance, Google_Service_SQLAdmin_InstancesImportRequest $postBody, $optParams = array()) + { + $params = array('project' => $project, 'instance' => $instance, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('import', array($params), "Google_Service_SQLAdmin_Operation"); + } + /** + * Creates a new Cloud SQL instance. (instances.insert) + * + * @param string $project Project ID of the project to which the newly created + * Cloud SQL instances should belong. + * @param Google_Service_SQLAdmin_DatabaseInstance $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_SQLAdmin_Operation + */ + public function insert($project, Google_Service_SQLAdmin_DatabaseInstance $postBody, $optParams = array()) + { + $params = array('project' => $project, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('insert', array($params), "Google_Service_SQLAdmin_Operation"); + } + /** + * Lists instances under a given project in the alphabetical order of the + * instance name. (instances.listInstances) + * + * @param string $project Project ID of the project for which to list Cloud SQL + * instances. + * @param array $optParams Optional parameters. + * + * @opt_param string filter A filter expression for filtering listed instances. + * @opt_param string maxResults The maximum number of results to return per + * response. + * @opt_param string pageToken A previously-returned page token representing + * part of the larger set of results to view. + * @return Google_Service_SQLAdmin_InstancesListResponse + */ + public function listInstances($project, $optParams = array()) + { + $params = array('project' => $project); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_SQLAdmin_InstancesListResponse"); + } + /** + * Updates settings of a Cloud SQL instance. Caution: This is not a partial + * update, so you must include values for all the settings that you want to + * retain. For partial updates, use patch.. This method supports patch + * semantics. (instances.patch) + * + * @param string $project Project ID of the project that contains the instance. + * @param string $instance Cloud SQL instance ID. This does not include the + * project ID. + * @param Google_Service_SQLAdmin_DatabaseInstance $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_SQLAdmin_Operation + */ + public function patch($project, $instance, Google_Service_SQLAdmin_DatabaseInstance $postBody, $optParams = array()) + { + $params = array('project' => $project, 'instance' => $instance, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('patch', array($params), "Google_Service_SQLAdmin_Operation"); + } + /** + * Promotes the read replica instance to be a stand-alone Cloud SQL instance. + * (instances.promoteReplica) + * + * @param string $project ID of the project that contains the read replica. + * @param string $instance Cloud SQL read replica instance name. + * @param array $optParams Optional parameters. + * @return Google_Service_SQLAdmin_Operation + */ + public function promoteReplica($project, $instance, $optParams = array()) + { + $params = array('project' => $project, 'instance' => $instance); + $params = array_merge($params, $optParams); + return $this->call('promoteReplica', array($params), "Google_Service_SQLAdmin_Operation"); + } + /** + * Deletes all client certificates and generates a new server SSL certificate + * for the instance. The changes will not take effect until the instance is + * restarted. Existing instances without a server certificate will need to call + * this once to set a server certificate. (instances.resetSslConfig) + * + * @param string $project Project ID of the project that contains the instance. + * @param string $instance Cloud SQL instance ID. This does not include the + * project ID. + * @param array $optParams Optional parameters. + * @return Google_Service_SQLAdmin_Operation + */ + public function resetSslConfig($project, $instance, $optParams = array()) + { + $params = array('project' => $project, 'instance' => $instance); + $params = array_merge($params, $optParams); + return $this->call('resetSslConfig', array($params), "Google_Service_SQLAdmin_Operation"); + } + /** + * Restarts a Cloud SQL instance. (instances.restart) + * + * @param string $project Project ID of the project that contains the instance + * to be restarted. + * @param string $instance Cloud SQL instance ID. This does not include the + * project ID. + * @param array $optParams Optional parameters. + * @return Google_Service_SQLAdmin_Operation + */ + public function restart($project, $instance, $optParams = array()) + { + $params = array('project' => $project, 'instance' => $instance); + $params = array_merge($params, $optParams); + return $this->call('restart', array($params), "Google_Service_SQLAdmin_Operation"); + } + /** + * Restores a backup of a Cloud SQL instance. (instances.restoreBackup) + * + * @param string $project Project ID of the project that contains the instance. + * @param string $instance Cloud SQL instance ID. This does not include the + * project ID. + * @param Google_Service_SQLAdmin_InstancesRestoreBackupRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_SQLAdmin_Operation + */ + public function restoreBackup($project, $instance, Google_Service_SQLAdmin_InstancesRestoreBackupRequest $postBody, $optParams = array()) + { + $params = array('project' => $project, 'instance' => $instance, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('restoreBackup', array($params), "Google_Service_SQLAdmin_Operation"); + } + /** + * Starts the replication in the read replica instance. (instances.startReplica) + * + * @param string $project ID of the project that contains the read replica. + * @param string $instance Cloud SQL read replica instance name. + * @param array $optParams Optional parameters. + * @return Google_Service_SQLAdmin_Operation + */ + public function startReplica($project, $instance, $optParams = array()) + { + $params = array('project' => $project, 'instance' => $instance); + $params = array_merge($params, $optParams); + return $this->call('startReplica', array($params), "Google_Service_SQLAdmin_Operation"); + } + /** + * Stops the replication in the read replica instance. (instances.stopReplica) + * + * @param string $project ID of the project that contains the read replica. + * @param string $instance Cloud SQL read replica instance name. + * @param array $optParams Optional parameters. + * @return Google_Service_SQLAdmin_Operation + */ + public function stopReplica($project, $instance, $optParams = array()) + { + $params = array('project' => $project, 'instance' => $instance); + $params = array_merge($params, $optParams); + return $this->call('stopReplica', array($params), "Google_Service_SQLAdmin_Operation"); + } + /** + * Truncate MySQL general and slow query log tables (instances.truncateLog) + * + * @param string $project Project ID of the Cloud SQL project. + * @param string $instance Cloud SQL instance ID. This does not include the + * project ID. + * @param Google_Service_SQLAdmin_InstancesTruncateLogRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_SQLAdmin_Operation + */ + public function truncateLog($project, $instance, Google_Service_SQLAdmin_InstancesTruncateLogRequest $postBody, $optParams = array()) + { + $params = array('project' => $project, 'instance' => $instance, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('truncateLog', array($params), "Google_Service_SQLAdmin_Operation"); + } + /** + * Updates settings of a Cloud SQL instance. Caution: This is not a partial + * update, so you must include values for all the settings that you want to + * retain. For partial updates, use patch. (instances.update) + * + * @param string $project Project ID of the project that contains the instance. + * @param string $instance Cloud SQL instance ID. This does not include the + * project ID. + * @param Google_Service_SQLAdmin_DatabaseInstance $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_SQLAdmin_Operation + */ + public function update($project, $instance, Google_Service_SQLAdmin_DatabaseInstance $postBody, $optParams = array()) + { + $params = array('project' => $project, 'instance' => $instance, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('update', array($params), "Google_Service_SQLAdmin_Operation"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/SQLAdmin/Resource/Operations.php b/vendor/google/apiclient-services/src/Google/Service/SQLAdmin/Resource/Operations.php new file mode 100644 index 00000000..e7f9684a --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/SQLAdmin/Resource/Operations.php @@ -0,0 +1,64 @@ + + * $sqladminService = new Google_Service_SQLAdmin(...); + * $operations = $sqladminService->operations; + * + */ +class Google_Service_SQLAdmin_Resource_Operations extends Google_Service_Resource +{ + /** + * Retrieves an instance operation that has been performed on an instance. + * (operations.get) + * + * @param string $project Project ID of the project that contains the instance. + * @param string $operation Instance operation ID. + * @param array $optParams Optional parameters. + * @return Google_Service_SQLAdmin_Operation + */ + public function get($project, $operation, $optParams = array()) + { + $params = array('project' => $project, 'operation' => $operation); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_SQLAdmin_Operation"); + } + /** + * Lists all instance operations that have been performed on the given Cloud SQL + * instance in the reverse chronological order of the start time. + * (operations.listOperations) + * + * @param string $project Project ID of the project that contains the instance. + * @param string $instance Cloud SQL instance ID. This does not include the + * project ID. + * @param array $optParams Optional parameters. + * + * @opt_param string maxResults Maximum number of operations per response. + * @opt_param string pageToken A previously-returned page token representing + * part of the larger set of results to view. + * @return Google_Service_SQLAdmin_OperationsListResponse + */ + public function listOperations($project, $instance, $optParams = array()) + { + $params = array('project' => $project, 'instance' => $instance); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_SQLAdmin_OperationsListResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/SQLAdmin/Resource/SslCerts.php b/vendor/google/apiclient-services/src/Google/Service/SQLAdmin/Resource/SslCerts.php new file mode 100644 index 00000000..be44ef8b --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/SQLAdmin/Resource/SslCerts.php @@ -0,0 +1,119 @@ + + * $sqladminService = new Google_Service_SQLAdmin(...); + * $sslCerts = $sqladminService->sslCerts; + * + */ +class Google_Service_SQLAdmin_Resource_SslCerts extends Google_Service_Resource +{ + /** + * Generates a short-lived X509 certificate containing the provided public key + * and signed by a private key specific to the target instance. Users may use + * the certificate to authenticate as themselves when connecting to the + * database. (sslCerts.createEphemeral) + * + * @param string $project Project ID of the Cloud SQL project. + * @param string $instance Cloud SQL instance ID. This does not include the + * project ID. + * @param Google_Service_SQLAdmin_SslCertsCreateEphemeralRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_SQLAdmin_SslCert + */ + public function createEphemeral($project, $instance, Google_Service_SQLAdmin_SslCertsCreateEphemeralRequest $postBody, $optParams = array()) + { + $params = array('project' => $project, 'instance' => $instance, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('createEphemeral', array($params), "Google_Service_SQLAdmin_SslCert"); + } + /** + * Deletes the SSL certificate. The change will not take effect until the + * instance is restarted. (sslCerts.delete) + * + * @param string $project Project ID of the project that contains the instance + * to be deleted. + * @param string $instance Cloud SQL instance ID. This does not include the + * project ID. + * @param string $sha1Fingerprint Sha1 FingerPrint. + * @param array $optParams Optional parameters. + * @return Google_Service_SQLAdmin_Operation + */ + public function delete($project, $instance, $sha1Fingerprint, $optParams = array()) + { + $params = array('project' => $project, 'instance' => $instance, 'sha1Fingerprint' => $sha1Fingerprint); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params), "Google_Service_SQLAdmin_Operation"); + } + /** + * Retrieves a particular SSL certificate. Does not include the private key + * (required for usage). The private key must be saved from the response to + * initial creation. (sslCerts.get) + * + * @param string $project Project ID of the project that contains the instance. + * @param string $instance Cloud SQL instance ID. This does not include the + * project ID. + * @param string $sha1Fingerprint Sha1 FingerPrint. + * @param array $optParams Optional parameters. + * @return Google_Service_SQLAdmin_SslCert + */ + public function get($project, $instance, $sha1Fingerprint, $optParams = array()) + { + $params = array('project' => $project, 'instance' => $instance, 'sha1Fingerprint' => $sha1Fingerprint); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_SQLAdmin_SslCert"); + } + /** + * Creates an SSL certificate and returns it along with the private key and + * server certificate authority. The new certificate will not be usable until + * the instance is restarted. (sslCerts.insert) + * + * @param string $project Project ID of the project to which the newly created + * Cloud SQL instances should belong. + * @param string $instance Cloud SQL instance ID. This does not include the + * project ID. + * @param Google_Service_SQLAdmin_SslCertsInsertRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_SQLAdmin_SslCertsInsertResponse + */ + public function insert($project, $instance, Google_Service_SQLAdmin_SslCertsInsertRequest $postBody, $optParams = array()) + { + $params = array('project' => $project, 'instance' => $instance, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('insert', array($params), "Google_Service_SQLAdmin_SslCertsInsertResponse"); + } + /** + * Lists all of the current SSL certificates for the instance. + * (sslCerts.listSslCerts) + * + * @param string $project Project ID of the project for which to list Cloud SQL + * instances. + * @param string $instance Cloud SQL instance ID. This does not include the + * project ID. + * @param array $optParams Optional parameters. + * @return Google_Service_SQLAdmin_SslCertsListResponse + */ + public function listSslCerts($project, $instance, $optParams = array()) + { + $params = array('project' => $project, 'instance' => $instance); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_SQLAdmin_SslCertsListResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/SQLAdmin/Resource/Tiers.php b/vendor/google/apiclient-services/src/Google/Service/SQLAdmin/Resource/Tiers.php new file mode 100644 index 00000000..fa3d4bd3 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/SQLAdmin/Resource/Tiers.php @@ -0,0 +1,42 @@ + + * $sqladminService = new Google_Service_SQLAdmin(...); + * $tiers = $sqladminService->tiers; + * + */ +class Google_Service_SQLAdmin_Resource_Tiers extends Google_Service_Resource +{ + /** + * Lists all available service tiers for Google Cloud SQL, for example D1, D2. + * For related information, see Pricing. (tiers.listTiers) + * + * @param string $project Project ID of the project for which to list tiers. + * @param array $optParams Optional parameters. + * @return Google_Service_SQLAdmin_TiersListResponse + */ + public function listTiers($project, $optParams = array()) + { + $params = array('project' => $project); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_SQLAdmin_TiersListResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/SQLAdmin/Resource/Users.php b/vendor/google/apiclient-services/src/Google/Service/SQLAdmin/Resource/Users.php new file mode 100644 index 00000000..29ce3af0 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/SQLAdmin/Resource/Users.php @@ -0,0 +1,94 @@ + + * $sqladminService = new Google_Service_SQLAdmin(...); + * $users = $sqladminService->users; + * + */ +class Google_Service_SQLAdmin_Resource_Users extends Google_Service_Resource +{ + /** + * Deletes a user from a Cloud SQL instance. (users.delete) + * + * @param string $project Project ID of the project that contains the instance. + * @param string $instance Database instance ID. This does not include the + * project ID. + * @param string $host Host of the user in the instance. + * @param string $name Name of the user in the instance. + * @param array $optParams Optional parameters. + * @return Google_Service_SQLAdmin_Operation + */ + public function delete($project, $instance, $host, $name, $optParams = array()) + { + $params = array('project' => $project, 'instance' => $instance, 'host' => $host, 'name' => $name); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params), "Google_Service_SQLAdmin_Operation"); + } + /** + * Creates a new user in a Cloud SQL instance. (users.insert) + * + * @param string $project Project ID of the project that contains the instance. + * @param string $instance Database instance ID. This does not include the + * project ID. + * @param Google_Service_SQLAdmin_User $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_SQLAdmin_Operation + */ + public function insert($project, $instance, Google_Service_SQLAdmin_User $postBody, $optParams = array()) + { + $params = array('project' => $project, 'instance' => $instance, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('insert', array($params), "Google_Service_SQLAdmin_Operation"); + } + /** + * Lists users in the specified Cloud SQL instance. (users.listUsers) + * + * @param string $project Project ID of the project that contains the instance. + * @param string $instance Database instance ID. This does not include the + * project ID. + * @param array $optParams Optional parameters. + * @return Google_Service_SQLAdmin_UsersListResponse + */ + public function listUsers($project, $instance, $optParams = array()) + { + $params = array('project' => $project, 'instance' => $instance); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_SQLAdmin_UsersListResponse"); + } + /** + * Updates an existing user in a Cloud SQL instance. (users.update) + * + * @param string $project Project ID of the project that contains the instance. + * @param string $instance Database instance ID. This does not include the + * project ID. + * @param string $host Host of the user in the instance. + * @param string $name Name of the user in the instance. + * @param Google_Service_SQLAdmin_User $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_SQLAdmin_Operation + */ + public function update($project, $instance, $host, $name, Google_Service_SQLAdmin_User $postBody, $optParams = array()) + { + $params = array('project' => $project, 'instance' => $instance, 'host' => $host, 'name' => $name, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('update', array($params), "Google_Service_SQLAdmin_Operation"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/SQLAdmin/RestoreBackupContext.php b/vendor/google/apiclient-services/src/Google/Service/SQLAdmin/RestoreBackupContext.php new file mode 100644 index 00000000..01c25d7a --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/SQLAdmin/RestoreBackupContext.php @@ -0,0 +1,48 @@ +backupRunId = $backupRunId; + } + public function getBackupRunId() + { + return $this->backupRunId; + } + public function setInstanceId($instanceId) + { + $this->instanceId = $instanceId; + } + public function getInstanceId() + { + return $this->instanceId; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/SQLAdmin/Settings.php b/vendor/google/apiclient-services/src/Google/Service/SQLAdmin/Settings.php new file mode 100644 index 00000000..6dd5b864 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/SQLAdmin/Settings.php @@ -0,0 +1,208 @@ +activationPolicy = $activationPolicy; + } + public function getActivationPolicy() + { + return $this->activationPolicy; + } + public function setAuthorizedGaeApplications($authorizedGaeApplications) + { + $this->authorizedGaeApplications = $authorizedGaeApplications; + } + public function getAuthorizedGaeApplications() + { + return $this->authorizedGaeApplications; + } + public function setAvailabilityType($availabilityType) + { + $this->availabilityType = $availabilityType; + } + public function getAvailabilityType() + { + return $this->availabilityType; + } + public function setBackupConfiguration(Google_Service_SQLAdmin_BackupConfiguration $backupConfiguration) + { + $this->backupConfiguration = $backupConfiguration; + } + public function getBackupConfiguration() + { + return $this->backupConfiguration; + } + public function setCrashSafeReplicationEnabled($crashSafeReplicationEnabled) + { + $this->crashSafeReplicationEnabled = $crashSafeReplicationEnabled; + } + public function getCrashSafeReplicationEnabled() + { + return $this->crashSafeReplicationEnabled; + } + public function setDataDiskSizeGb($dataDiskSizeGb) + { + $this->dataDiskSizeGb = $dataDiskSizeGb; + } + public function getDataDiskSizeGb() + { + return $this->dataDiskSizeGb; + } + public function setDataDiskType($dataDiskType) + { + $this->dataDiskType = $dataDiskType; + } + public function getDataDiskType() + { + return $this->dataDiskType; + } + public function setDatabaseFlags($databaseFlags) + { + $this->databaseFlags = $databaseFlags; + } + public function getDatabaseFlags() + { + return $this->databaseFlags; + } + public function setDatabaseReplicationEnabled($databaseReplicationEnabled) + { + $this->databaseReplicationEnabled = $databaseReplicationEnabled; + } + public function getDatabaseReplicationEnabled() + { + return $this->databaseReplicationEnabled; + } + public function setIpConfiguration(Google_Service_SQLAdmin_IpConfiguration $ipConfiguration) + { + $this->ipConfiguration = $ipConfiguration; + } + public function getIpConfiguration() + { + return $this->ipConfiguration; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setLabels($labels) + { + $this->labels = $labels; + } + public function getLabels() + { + return $this->labels; + } + public function setLocationPreference(Google_Service_SQLAdmin_LocationPreference $locationPreference) + { + $this->locationPreference = $locationPreference; + } + public function getLocationPreference() + { + return $this->locationPreference; + } + public function setMaintenanceWindow(Google_Service_SQLAdmin_MaintenanceWindow $maintenanceWindow) + { + $this->maintenanceWindow = $maintenanceWindow; + } + public function getMaintenanceWindow() + { + return $this->maintenanceWindow; + } + public function setPricingPlan($pricingPlan) + { + $this->pricingPlan = $pricingPlan; + } + public function getPricingPlan() + { + return $this->pricingPlan; + } + public function setReplicationType($replicationType) + { + $this->replicationType = $replicationType; + } + public function getReplicationType() + { + return $this->replicationType; + } + public function setSettingsVersion($settingsVersion) + { + $this->settingsVersion = $settingsVersion; + } + public function getSettingsVersion() + { + return $this->settingsVersion; + } + public function setStorageAutoResize($storageAutoResize) + { + $this->storageAutoResize = $storageAutoResize; + } + public function getStorageAutoResize() + { + return $this->storageAutoResize; + } + public function setStorageAutoResizeLimit($storageAutoResizeLimit) + { + $this->storageAutoResizeLimit = $storageAutoResizeLimit; + } + public function getStorageAutoResizeLimit() + { + return $this->storageAutoResizeLimit; + } + public function setTier($tier) + { + $this->tier = $tier; + } + public function getTier() + { + return $this->tier; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/SQLAdmin/SslCert.php b/vendor/google/apiclient-services/src/Google/Service/SQLAdmin/SslCert.php new file mode 100644 index 00000000..bfe016b6 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/SQLAdmin/SslCert.php @@ -0,0 +1,102 @@ +cert = $cert; + } + public function getCert() + { + return $this->cert; + } + public function setCertSerialNumber($certSerialNumber) + { + $this->certSerialNumber = $certSerialNumber; + } + public function getCertSerialNumber() + { + return $this->certSerialNumber; + } + public function setCommonName($commonName) + { + $this->commonName = $commonName; + } + public function getCommonName() + { + return $this->commonName; + } + public function setCreateTime($createTime) + { + $this->createTime = $createTime; + } + public function getCreateTime() + { + return $this->createTime; + } + public function setExpirationTime($expirationTime) + { + $this->expirationTime = $expirationTime; + } + public function getExpirationTime() + { + return $this->expirationTime; + } + public function setInstance($instance) + { + $this->instance = $instance; + } + public function getInstance() + { + return $this->instance; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setSelfLink($selfLink) + { + $this->selfLink = $selfLink; + } + public function getSelfLink() + { + return $this->selfLink; + } + public function setSha1Fingerprint($sha1Fingerprint) + { + $this->sha1Fingerprint = $sha1Fingerprint; + } + public function getSha1Fingerprint() + { + return $this->sha1Fingerprint; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/SQLAdmin/SslCertDetail.php b/vendor/google/apiclient-services/src/Google/Service/SQLAdmin/SslCertDetail.php new file mode 100644 index 00000000..8b6caa14 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/SQLAdmin/SslCertDetail.php @@ -0,0 +1,40 @@ +certInfo = $certInfo; + } + public function getCertInfo() + { + return $this->certInfo; + } + public function setCertPrivateKey($certPrivateKey) + { + $this->certPrivateKey = $certPrivateKey; + } + public function getCertPrivateKey() + { + return $this->certPrivateKey; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/SQLAdmin/SslCertsCreateEphemeralRequest.php b/vendor/google/apiclient-services/src/Google/Service/SQLAdmin/SslCertsCreateEphemeralRequest.php new file mode 100644 index 00000000..b649ea1b --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/SQLAdmin/SslCertsCreateEphemeralRequest.php @@ -0,0 +1,33 @@ + "public_key", + ); + public $publicKey; + + public function setPublicKey($publicKey) + { + $this->publicKey = $publicKey; + } + public function getPublicKey() + { + return $this->publicKey; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/SQLAdmin/SslCertsInsertRequest.php b/vendor/google/apiclient-services/src/Google/Service/SQLAdmin/SslCertsInsertRequest.php new file mode 100644 index 00000000..d3ba4771 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/SQLAdmin/SslCertsInsertRequest.php @@ -0,0 +1,30 @@ +commonName = $commonName; + } + public function getCommonName() + { + return $this->commonName; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/SQLAdmin/SslCertsInsertResponse.php b/vendor/google/apiclient-services/src/Google/Service/SQLAdmin/SslCertsInsertResponse.php new file mode 100644 index 00000000..023a85a1 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/SQLAdmin/SslCertsInsertResponse.php @@ -0,0 +1,60 @@ +clientCert = $clientCert; + } + public function getClientCert() + { + return $this->clientCert; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setOperation(Google_Service_SQLAdmin_Operation $operation) + { + $this->operation = $operation; + } + public function getOperation() + { + return $this->operation; + } + public function setServerCaCert(Google_Service_SQLAdmin_SslCert $serverCaCert) + { + $this->serverCaCert = $serverCaCert; + } + public function getServerCaCert() + { + return $this->serverCaCert; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/SQLAdmin/SslCertsListResponse.php b/vendor/google/apiclient-services/src/Google/Service/SQLAdmin/SslCertsListResponse.php new file mode 100644 index 00000000..e5102c1a --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/SQLAdmin/SslCertsListResponse.php @@ -0,0 +1,41 @@ +items = $items; + } + public function getItems() + { + return $this->items; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/SQLAdmin/Tier.php b/vendor/google/apiclient-services/src/Google/Service/SQLAdmin/Tier.php new file mode 100644 index 00000000..c21d761e --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/SQLAdmin/Tier.php @@ -0,0 +1,71 @@ + "DiskQuota", + "rAM" => "RAM", + ); + public $diskQuota; + public $rAM; + public $kind; + public $region; + public $tier; + + public function setDiskQuota($diskQuota) + { + $this->diskQuota = $diskQuota; + } + public function getDiskQuota() + { + return $this->diskQuota; + } + public function setRAM($rAM) + { + $this->rAM = $rAM; + } + public function getRAM() + { + return $this->rAM; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setRegion($region) + { + $this->region = $region; + } + public function getRegion() + { + return $this->region; + } + public function setTier($tier) + { + $this->tier = $tier; + } + public function getTier() + { + return $this->tier; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/SQLAdmin/TiersListResponse.php b/vendor/google/apiclient-services/src/Google/Service/SQLAdmin/TiersListResponse.php new file mode 100644 index 00000000..eea0512a --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/SQLAdmin/TiersListResponse.php @@ -0,0 +1,41 @@ +items = $items; + } + public function getItems() + { + return $this->items; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/SQLAdmin/TruncateLogContext.php b/vendor/google/apiclient-services/src/Google/Service/SQLAdmin/TruncateLogContext.php new file mode 100644 index 00000000..c90d8f89 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/SQLAdmin/TruncateLogContext.php @@ -0,0 +1,39 @@ +kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setLogType($logType) + { + $this->logType = $logType; + } + public function getLogType() + { + return $this->logType; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/SQLAdmin/User.php b/vendor/google/apiclient-services/src/Google/Service/SQLAdmin/User.php new file mode 100644 index 00000000..90f36436 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/SQLAdmin/User.php @@ -0,0 +1,84 @@ +etag = $etag; + } + public function getEtag() + { + return $this->etag; + } + public function setHost($host) + { + $this->host = $host; + } + public function getHost() + { + return $this->host; + } + public function setInstance($instance) + { + $this->instance = $instance; + } + public function getInstance() + { + return $this->instance; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setPassword($password) + { + $this->password = $password; + } + public function getPassword() + { + return $this->password; + } + public function setProject($project) + { + $this->project = $project; + } + public function getProject() + { + return $this->project; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/SQLAdmin/UsersListResponse.php b/vendor/google/apiclient-services/src/Google/Service/SQLAdmin/UsersListResponse.php new file mode 100644 index 00000000..d5ec5772 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/SQLAdmin/UsersListResponse.php @@ -0,0 +1,50 @@ +items = $items; + } + public function getItems() + { + return $this->items; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Safebrowsing.php b/vendor/google/apiclient-services/src/Google/Service/Safebrowsing.php new file mode 100644 index 00000000..d4bc5055 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Safebrowsing.php @@ -0,0 +1,171 @@ + + * The Safe Browsing API is an experimental API that allows client applications + * to check URLs against Google's constantly-updated blacklists of suspected + * phishing and malware pages. Your client application can use the API to + * download an encrypted table for local, client-side lookups of URLs.

+ * + *

+ * For more information about this service, see the API + * Documentation + *

+ * + * @author Google, Inc. + */ +class Google_Service_Safebrowsing extends Google_Service +{ + + + public $encodedFullHashes; + public $encodedUpdates; + public $fullHashes; + public $threatListUpdates; + public $threatLists; + public $threatMatches; + + /** + * Constructs the internal representation of the Safebrowsing service. + * + * @param Google_Client $client + */ + public function __construct(Google_Client $client) + { + parent::__construct($client); + $this->rootUrl = 'https://safebrowsing.googleapis.com/'; + $this->servicePath = ''; + $this->version = 'v4'; + $this->serviceName = 'safebrowsing'; + + $this->encodedFullHashes = new Google_Service_Safebrowsing_Resource_EncodedFullHashes( + $this, + $this->serviceName, + 'encodedFullHashes', + array( + 'methods' => array( + 'get' => array( + 'path' => 'v4/encodedFullHashes/{encodedRequest}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'encodedRequest' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'clientId' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'clientVersion' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + $this->encodedUpdates = new Google_Service_Safebrowsing_Resource_EncodedUpdates( + $this, + $this->serviceName, + 'encodedUpdates', + array( + 'methods' => array( + 'get' => array( + 'path' => 'v4/encodedUpdates/{encodedRequest}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'encodedRequest' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'clientId' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'clientVersion' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + $this->fullHashes = new Google_Service_Safebrowsing_Resource_FullHashes( + $this, + $this->serviceName, + 'fullHashes', + array( + 'methods' => array( + 'find' => array( + 'path' => 'v4/fullHashes:find', + 'httpMethod' => 'POST', + 'parameters' => array(), + ), + ) + ) + ); + $this->threatListUpdates = new Google_Service_Safebrowsing_Resource_ThreatListUpdates( + $this, + $this->serviceName, + 'threatListUpdates', + array( + 'methods' => array( + 'fetch' => array( + 'path' => 'v4/threatListUpdates:fetch', + 'httpMethod' => 'POST', + 'parameters' => array(), + ), + ) + ) + ); + $this->threatLists = new Google_Service_Safebrowsing_Resource_ThreatLists( + $this, + $this->serviceName, + 'threatLists', + array( + 'methods' => array( + 'list' => array( + 'path' => 'v4/threatLists', + 'httpMethod' => 'GET', + 'parameters' => array(), + ), + ) + ) + ); + $this->threatMatches = new Google_Service_Safebrowsing_Resource_ThreatMatches( + $this, + $this->serviceName, + 'threatMatches', + array( + 'methods' => array( + 'find' => array( + 'path' => 'v4/threatMatches:find', + 'httpMethod' => 'POST', + 'parameters' => array(), + ), + ) + ) + ); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Safebrowsing/Checksum.php b/vendor/google/apiclient-services/src/Google/Service/Safebrowsing/Checksum.php new file mode 100644 index 00000000..476ec48e --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Safebrowsing/Checksum.php @@ -0,0 +1,30 @@ +sha256 = $sha256; + } + public function getSha256() + { + return $this->sha256; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Safebrowsing/ClientInfo.php b/vendor/google/apiclient-services/src/Google/Service/Safebrowsing/ClientInfo.php new file mode 100644 index 00000000..55e0eb7d --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Safebrowsing/ClientInfo.php @@ -0,0 +1,39 @@ +clientId = $clientId; + } + public function getClientId() + { + return $this->clientId; + } + public function setClientVersion($clientVersion) + { + $this->clientVersion = $clientVersion; + } + public function getClientVersion() + { + return $this->clientVersion; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Safebrowsing/Constraints.php b/vendor/google/apiclient-services/src/Google/Service/Safebrowsing/Constraints.php new file mode 100644 index 00000000..e4846bc5 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Safebrowsing/Constraints.php @@ -0,0 +1,58 @@ +maxDatabaseEntries = $maxDatabaseEntries; + } + public function getMaxDatabaseEntries() + { + return $this->maxDatabaseEntries; + } + public function setMaxUpdateEntries($maxUpdateEntries) + { + $this->maxUpdateEntries = $maxUpdateEntries; + } + public function getMaxUpdateEntries() + { + return $this->maxUpdateEntries; + } + public function setRegion($region) + { + $this->region = $region; + } + public function getRegion() + { + return $this->region; + } + public function setSupportedCompressions($supportedCompressions) + { + $this->supportedCompressions = $supportedCompressions; + } + public function getSupportedCompressions() + { + return $this->supportedCompressions; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Safebrowsing/FetchThreatListUpdatesRequest.php b/vendor/google/apiclient-services/src/Google/Service/Safebrowsing/FetchThreatListUpdatesRequest.php new file mode 100644 index 00000000..b414786d --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Safebrowsing/FetchThreatListUpdatesRequest.php @@ -0,0 +1,42 @@ +client = $client; + } + public function getClient() + { + return $this->client; + } + public function setListUpdateRequests($listUpdateRequests) + { + $this->listUpdateRequests = $listUpdateRequests; + } + public function getListUpdateRequests() + { + return $this->listUpdateRequests; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Safebrowsing/FetchThreatListUpdatesResponse.php b/vendor/google/apiclient-services/src/Google/Service/Safebrowsing/FetchThreatListUpdatesResponse.php new file mode 100644 index 00000000..67db90a6 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Safebrowsing/FetchThreatListUpdatesResponse.php @@ -0,0 +1,41 @@ +listUpdateResponses = $listUpdateResponses; + } + public function getListUpdateResponses() + { + return $this->listUpdateResponses; + } + public function setMinimumWaitDuration($minimumWaitDuration) + { + $this->minimumWaitDuration = $minimumWaitDuration; + } + public function getMinimumWaitDuration() + { + return $this->minimumWaitDuration; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Safebrowsing/FindFullHashesRequest.php b/vendor/google/apiclient-services/src/Google/Service/Safebrowsing/FindFullHashesRequest.php new file mode 100644 index 00000000..11f4226c --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Safebrowsing/FindFullHashesRequest.php @@ -0,0 +1,61 @@ +apiClient = $apiClient; + } + public function getApiClient() + { + return $this->apiClient; + } + public function setClient(Google_Service_Safebrowsing_ClientInfo $client) + { + $this->client = $client; + } + public function getClient() + { + return $this->client; + } + public function setClientStates($clientStates) + { + $this->clientStates = $clientStates; + } + public function getClientStates() + { + return $this->clientStates; + } + public function setThreatInfo(Google_Service_Safebrowsing_ThreatInfo $threatInfo) + { + $this->threatInfo = $threatInfo; + } + public function getThreatInfo() + { + return $this->threatInfo; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Safebrowsing/FindFullHashesResponse.php b/vendor/google/apiclient-services/src/Google/Service/Safebrowsing/FindFullHashesResponse.php new file mode 100644 index 00000000..e226d21a --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Safebrowsing/FindFullHashesResponse.php @@ -0,0 +1,50 @@ +matches = $matches; + } + public function getMatches() + { + return $this->matches; + } + public function setMinimumWaitDuration($minimumWaitDuration) + { + $this->minimumWaitDuration = $minimumWaitDuration; + } + public function getMinimumWaitDuration() + { + return $this->minimumWaitDuration; + } + public function setNegativeCacheDuration($negativeCacheDuration) + { + $this->negativeCacheDuration = $negativeCacheDuration; + } + public function getNegativeCacheDuration() + { + return $this->negativeCacheDuration; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Safebrowsing/FindThreatMatchesRequest.php b/vendor/google/apiclient-services/src/Google/Service/Safebrowsing/FindThreatMatchesRequest.php new file mode 100644 index 00000000..30a1a2d1 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Safebrowsing/FindThreatMatchesRequest.php @@ -0,0 +1,41 @@ +client = $client; + } + public function getClient() + { + return $this->client; + } + public function setThreatInfo(Google_Service_Safebrowsing_ThreatInfo $threatInfo) + { + $this->threatInfo = $threatInfo; + } + public function getThreatInfo() + { + return $this->threatInfo; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Safebrowsing/FindThreatMatchesResponse.php b/vendor/google/apiclient-services/src/Google/Service/Safebrowsing/FindThreatMatchesResponse.php new file mode 100644 index 00000000..276bdbdd --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Safebrowsing/FindThreatMatchesResponse.php @@ -0,0 +1,32 @@ +matches = $matches; + } + public function getMatches() + { + return $this->matches; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Safebrowsing/ListThreatListsResponse.php b/vendor/google/apiclient-services/src/Google/Service/Safebrowsing/ListThreatListsResponse.php new file mode 100644 index 00000000..4a3d3f52 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Safebrowsing/ListThreatListsResponse.php @@ -0,0 +1,32 @@ +threatLists = $threatLists; + } + public function getThreatLists() + { + return $this->threatLists; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Safebrowsing/ListUpdateRequest.php b/vendor/google/apiclient-services/src/Google/Service/Safebrowsing/ListUpdateRequest.php new file mode 100644 index 00000000..3d390075 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Safebrowsing/ListUpdateRequest.php @@ -0,0 +1,67 @@ +constraints = $constraints; + } + public function getConstraints() + { + return $this->constraints; + } + public function setPlatformType($platformType) + { + $this->platformType = $platformType; + } + public function getPlatformType() + { + return $this->platformType; + } + public function setState($state) + { + $this->state = $state; + } + public function getState() + { + return $this->state; + } + public function setThreatEntryType($threatEntryType) + { + $this->threatEntryType = $threatEntryType; + } + public function getThreatEntryType() + { + return $this->threatEntryType; + } + public function setThreatType($threatType) + { + $this->threatType = $threatType; + } + public function getThreatType() + { + return $this->threatType; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Safebrowsing/ListUpdateResponse.php b/vendor/google/apiclient-services/src/Google/Service/Safebrowsing/ListUpdateResponse.php new file mode 100644 index 00000000..9c313bc2 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Safebrowsing/ListUpdateResponse.php @@ -0,0 +1,97 @@ +additions = $additions; + } + public function getAdditions() + { + return $this->additions; + } + public function setChecksum(Google_Service_Safebrowsing_Checksum $checksum) + { + $this->checksum = $checksum; + } + public function getChecksum() + { + return $this->checksum; + } + public function setNewClientState($newClientState) + { + $this->newClientState = $newClientState; + } + public function getNewClientState() + { + return $this->newClientState; + } + public function setPlatformType($platformType) + { + $this->platformType = $platformType; + } + public function getPlatformType() + { + return $this->platformType; + } + public function setRemovals($removals) + { + $this->removals = $removals; + } + public function getRemovals() + { + return $this->removals; + } + public function setResponseType($responseType) + { + $this->responseType = $responseType; + } + public function getResponseType() + { + return $this->responseType; + } + public function setThreatEntryType($threatEntryType) + { + $this->threatEntryType = $threatEntryType; + } + public function getThreatEntryType() + { + return $this->threatEntryType; + } + public function setThreatType($threatType) + { + $this->threatType = $threatType; + } + public function getThreatType() + { + return $this->threatType; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Safebrowsing/MetadataEntry.php b/vendor/google/apiclient-services/src/Google/Service/Safebrowsing/MetadataEntry.php new file mode 100644 index 00000000..1fbfbcd4 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Safebrowsing/MetadataEntry.php @@ -0,0 +1,39 @@ +key = $key; + } + public function getKey() + { + return $this->key; + } + public function setValue($value) + { + $this->value = $value; + } + public function getValue() + { + return $this->value; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Safebrowsing/RawHashes.php b/vendor/google/apiclient-services/src/Google/Service/Safebrowsing/RawHashes.php new file mode 100644 index 00000000..27e50f65 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Safebrowsing/RawHashes.php @@ -0,0 +1,39 @@ +prefixSize = $prefixSize; + } + public function getPrefixSize() + { + return $this->prefixSize; + } + public function setRawHashes($rawHashes) + { + $this->rawHashes = $rawHashes; + } + public function getRawHashes() + { + return $this->rawHashes; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Safebrowsing/RawIndices.php b/vendor/google/apiclient-services/src/Google/Service/Safebrowsing/RawIndices.php new file mode 100644 index 00000000..6254eedd --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Safebrowsing/RawIndices.php @@ -0,0 +1,31 @@ +indices = $indices; + } + public function getIndices() + { + return $this->indices; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Safebrowsing/Resource/EncodedFullHashes.php b/vendor/google/apiclient-services/src/Google/Service/Safebrowsing/Resource/EncodedFullHashes.php new file mode 100644 index 00000000..39c514c7 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Safebrowsing/Resource/EncodedFullHashes.php @@ -0,0 +1,45 @@ + + * $safebrowsingService = new Google_Service_Safebrowsing(...); + * $encodedFullHashes = $safebrowsingService->encodedFullHashes; + * + */ +class Google_Service_Safebrowsing_Resource_EncodedFullHashes extends Google_Service_Resource +{ + /** + * (encodedFullHashes.get) + * + * @param string $encodedRequest A serialized FindFullHashesRequest proto. + * @param array $optParams Optional parameters. + * + * @opt_param string clientId A client ID that (hopefully) uniquely identifies + * the client implementation of the Safe Browsing API. + * @opt_param string clientVersion The version of the client implementation. + * @return Google_Service_Safebrowsing_FindFullHashesResponse + */ + public function get($encodedRequest, $optParams = array()) + { + $params = array('encodedRequest' => $encodedRequest); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Safebrowsing_FindFullHashesResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Safebrowsing/Resource/EncodedUpdates.php b/vendor/google/apiclient-services/src/Google/Service/Safebrowsing/Resource/EncodedUpdates.php new file mode 100644 index 00000000..4e6e5b74 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Safebrowsing/Resource/EncodedUpdates.php @@ -0,0 +1,46 @@ + + * $safebrowsingService = new Google_Service_Safebrowsing(...); + * $encodedUpdates = $safebrowsingService->encodedUpdates; + * + */ +class Google_Service_Safebrowsing_Resource_EncodedUpdates extends Google_Service_Resource +{ + /** + * (encodedUpdates.get) + * + * @param string $encodedRequest A serialized FetchThreatListUpdatesRequest + * proto. + * @param array $optParams Optional parameters. + * + * @opt_param string clientId A client ID that uniquely identifies the client + * implementation of the Safe Browsing API. + * @opt_param string clientVersion The version of the client implementation. + * @return Google_Service_Safebrowsing_FetchThreatListUpdatesResponse + */ + public function get($encodedRequest, $optParams = array()) + { + $params = array('encodedRequest' => $encodedRequest); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Safebrowsing_FetchThreatListUpdatesResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Safebrowsing/Resource/FullHashes.php b/vendor/google/apiclient-services/src/Google/Service/Safebrowsing/Resource/FullHashes.php new file mode 100644 index 00000000..e50cd33f --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Safebrowsing/Resource/FullHashes.php @@ -0,0 +1,42 @@ + + * $safebrowsingService = new Google_Service_Safebrowsing(...); + * $fullHashes = $safebrowsingService->fullHashes; + * + */ +class Google_Service_Safebrowsing_Resource_FullHashes extends Google_Service_Resource +{ + /** + * Finds the full hashes that match the requested hash prefixes. + * (fullHashes.find) + * + * @param Google_Service_Safebrowsing_FindFullHashesRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Safebrowsing_FindFullHashesResponse + */ + public function find(Google_Service_Safebrowsing_FindFullHashesRequest $postBody, $optParams = array()) + { + $params = array('postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('find', array($params), "Google_Service_Safebrowsing_FindFullHashesResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Safebrowsing/Resource/ThreatListUpdates.php b/vendor/google/apiclient-services/src/Google/Service/Safebrowsing/Resource/ThreatListUpdates.php new file mode 100644 index 00000000..3fcfac7c --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Safebrowsing/Resource/ThreatListUpdates.php @@ -0,0 +1,42 @@ + + * $safebrowsingService = new Google_Service_Safebrowsing(...); + * $threatListUpdates = $safebrowsingService->threatListUpdates; + * + */ +class Google_Service_Safebrowsing_Resource_ThreatListUpdates extends Google_Service_Resource +{ + /** + * Fetches the most recent threat list updates. A client can request updates for + * multiple lists at once. (threatListUpdates.fetch) + * + * @param Google_Service_Safebrowsing_FetchThreatListUpdatesRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Safebrowsing_FetchThreatListUpdatesResponse + */ + public function fetch(Google_Service_Safebrowsing_FetchThreatListUpdatesRequest $postBody, $optParams = array()) + { + $params = array('postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('fetch', array($params), "Google_Service_Safebrowsing_FetchThreatListUpdatesResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Safebrowsing/Resource/ThreatLists.php b/vendor/google/apiclient-services/src/Google/Service/Safebrowsing/Resource/ThreatLists.php new file mode 100644 index 00000000..68315a23 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Safebrowsing/Resource/ThreatLists.php @@ -0,0 +1,41 @@ + + * $safebrowsingService = new Google_Service_Safebrowsing(...); + * $threatLists = $safebrowsingService->threatLists; + * + */ +class Google_Service_Safebrowsing_Resource_ThreatLists extends Google_Service_Resource +{ + /** + * Lists the Safe Browsing threat lists available for download. + * (threatLists.listThreatLists) + * + * @param array $optParams Optional parameters. + * @return Google_Service_Safebrowsing_ListThreatListsResponse + */ + public function listThreatLists($optParams = array()) + { + $params = array(); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Safebrowsing_ListThreatListsResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Safebrowsing/Resource/ThreatMatches.php b/vendor/google/apiclient-services/src/Google/Service/Safebrowsing/Resource/ThreatMatches.php new file mode 100644 index 00000000..13654410 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Safebrowsing/Resource/ThreatMatches.php @@ -0,0 +1,42 @@ + + * $safebrowsingService = new Google_Service_Safebrowsing(...); + * $threatMatches = $safebrowsingService->threatMatches; + * + */ +class Google_Service_Safebrowsing_Resource_ThreatMatches extends Google_Service_Resource +{ + /** + * Finds the threat entries that match the Safe Browsing lists. + * (threatMatches.find) + * + * @param Google_Service_Safebrowsing_FindThreatMatchesRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Safebrowsing_FindThreatMatchesResponse + */ + public function find(Google_Service_Safebrowsing_FindThreatMatchesRequest $postBody, $optParams = array()) + { + $params = array('postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('find', array($params), "Google_Service_Safebrowsing_FindThreatMatchesResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Safebrowsing/RiceDeltaEncoding.php b/vendor/google/apiclient-services/src/Google/Service/Safebrowsing/RiceDeltaEncoding.php new file mode 100644 index 00000000..43ebb382 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Safebrowsing/RiceDeltaEncoding.php @@ -0,0 +1,57 @@ +encodedData = $encodedData; + } + public function getEncodedData() + { + return $this->encodedData; + } + public function setFirstValue($firstValue) + { + $this->firstValue = $firstValue; + } + public function getFirstValue() + { + return $this->firstValue; + } + public function setNumEntries($numEntries) + { + $this->numEntries = $numEntries; + } + public function getNumEntries() + { + return $this->numEntries; + } + public function setRiceParameter($riceParameter) + { + $this->riceParameter = $riceParameter; + } + public function getRiceParameter() + { + return $this->riceParameter; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Safebrowsing/ThreatEntry.php b/vendor/google/apiclient-services/src/Google/Service/Safebrowsing/ThreatEntry.php new file mode 100644 index 00000000..200b81c7 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Safebrowsing/ThreatEntry.php @@ -0,0 +1,48 @@ +digest = $digest; + } + public function getDigest() + { + return $this->digest; + } + public function setHash($hash) + { + $this->hash = $hash; + } + public function getHash() + { + return $this->hash; + } + public function setUrl($url) + { + $this->url = $url; + } + public function getUrl() + { + return $this->url; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Safebrowsing/ThreatEntryMetadata.php b/vendor/google/apiclient-services/src/Google/Service/Safebrowsing/ThreatEntryMetadata.php new file mode 100644 index 00000000..280e245f --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Safebrowsing/ThreatEntryMetadata.php @@ -0,0 +1,32 @@ +entries = $entries; + } + public function getEntries() + { + return $this->entries; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Safebrowsing/ThreatEntrySet.php b/vendor/google/apiclient-services/src/Google/Service/Safebrowsing/ThreatEntrySet.php new file mode 100644 index 00000000..a791aee5 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Safebrowsing/ThreatEntrySet.php @@ -0,0 +1,70 @@ +compressionType = $compressionType; + } + public function getCompressionType() + { + return $this->compressionType; + } + public function setRawHashes(Google_Service_Safebrowsing_RawHashes $rawHashes) + { + $this->rawHashes = $rawHashes; + } + public function getRawHashes() + { + return $this->rawHashes; + } + public function setRawIndices(Google_Service_Safebrowsing_RawIndices $rawIndices) + { + $this->rawIndices = $rawIndices; + } + public function getRawIndices() + { + return $this->rawIndices; + } + public function setRiceHashes(Google_Service_Safebrowsing_RiceDeltaEncoding $riceHashes) + { + $this->riceHashes = $riceHashes; + } + public function getRiceHashes() + { + return $this->riceHashes; + } + public function setRiceIndices(Google_Service_Safebrowsing_RiceDeltaEncoding $riceIndices) + { + $this->riceIndices = $riceIndices; + } + public function getRiceIndices() + { + return $this->riceIndices; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Safebrowsing/ThreatInfo.php b/vendor/google/apiclient-services/src/Google/Service/Safebrowsing/ThreatInfo.php new file mode 100644 index 00000000..c570c941 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Safebrowsing/ThreatInfo.php @@ -0,0 +1,59 @@ +platformTypes = $platformTypes; + } + public function getPlatformTypes() + { + return $this->platformTypes; + } + public function setThreatEntries($threatEntries) + { + $this->threatEntries = $threatEntries; + } + public function getThreatEntries() + { + return $this->threatEntries; + } + public function setThreatEntryTypes($threatEntryTypes) + { + $this->threatEntryTypes = $threatEntryTypes; + } + public function getThreatEntryTypes() + { + return $this->threatEntryTypes; + } + public function setThreatTypes($threatTypes) + { + $this->threatTypes = $threatTypes; + } + public function getThreatTypes() + { + return $this->threatTypes; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Safebrowsing/ThreatListDescriptor.php b/vendor/google/apiclient-services/src/Google/Service/Safebrowsing/ThreatListDescriptor.php new file mode 100644 index 00000000..eb62254d --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Safebrowsing/ThreatListDescriptor.php @@ -0,0 +1,48 @@ +platformType = $platformType; + } + public function getPlatformType() + { + return $this->platformType; + } + public function setThreatEntryType($threatEntryType) + { + $this->threatEntryType = $threatEntryType; + } + public function getThreatEntryType() + { + return $this->threatEntryType; + } + public function setThreatType($threatType) + { + $this->threatType = $threatType; + } + public function getThreatType() + { + return $this->threatType; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Safebrowsing/ThreatMatch.php b/vendor/google/apiclient-services/src/Google/Service/Safebrowsing/ThreatMatch.php new file mode 100644 index 00000000..344f1511 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Safebrowsing/ThreatMatch.php @@ -0,0 +1,76 @@ +cacheDuration = $cacheDuration; + } + public function getCacheDuration() + { + return $this->cacheDuration; + } + public function setPlatformType($platformType) + { + $this->platformType = $platformType; + } + public function getPlatformType() + { + return $this->platformType; + } + public function setThreat(Google_Service_Safebrowsing_ThreatEntry $threat) + { + $this->threat = $threat; + } + public function getThreat() + { + return $this->threat; + } + public function setThreatEntryMetadata(Google_Service_Safebrowsing_ThreatEntryMetadata $threatEntryMetadata) + { + $this->threatEntryMetadata = $threatEntryMetadata; + } + public function getThreatEntryMetadata() + { + return $this->threatEntryMetadata; + } + public function setThreatEntryType($threatEntryType) + { + $this->threatEntryType = $threatEntryType; + } + public function getThreatEntryType() + { + return $this->threatEntryType; + } + public function setThreatType($threatType) + { + $this->threatType = $threatType; + } + public function getThreatType() + { + return $this->threatType; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Script.php b/vendor/google/apiclient-services/src/Google/Service/Script.php new file mode 100644 index 00000000..f231790e --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Script.php @@ -0,0 +1,103 @@ + + * Executes Google Apps Script projects.

+ * + *

+ * For more information about this service, see the API + * Documentation + *

+ * + * @author Google, Inc. + */ +class Google_Service_Script extends Google_Service +{ + /** Read, send, delete, and manage your email. */ + const MAIL_GOOGLE_COM = + "https://mail.google.com/"; + /** Manage your calendars. */ + const WWW_GOOGLE_COM_CALENDAR_FEEDS = + "https://www.google.com/calendar/feeds"; + /** Manage your contacts. */ + const WWW_GOOGLE_COM_M8_FEEDS = + "https://www.google.com/m8/feeds"; + /** View and manage the provisioning of groups on your domain. */ + const ADMIN_DIRECTORY_GROUP = + "https://www.googleapis.com/auth/admin.directory.group"; + /** View and manage the provisioning of users on your domain. */ + const ADMIN_DIRECTORY_USER = + "https://www.googleapis.com/auth/admin.directory.user"; + /** View and manage the files in your Google Drive. */ + const DRIVE = + "https://www.googleapis.com/auth/drive"; + /** View and manage your forms in Google Drive. */ + const FORMS = + "https://www.googleapis.com/auth/forms"; + /** View and manage forms that this application has been installed in. */ + const FORMS_CURRENTONLY = + "https://www.googleapis.com/auth/forms.currentonly"; + /** View and manage your Google Groups. */ + const GROUPS = + "https://www.googleapis.com/auth/groups"; + /** View and manage your spreadsheets in Google Drive. */ + const SPREADSHEETS = + "https://www.googleapis.com/auth/spreadsheets"; + /** View your email address. */ + const USERINFO_EMAIL = + "https://www.googleapis.com/auth/userinfo.email"; + + public $scripts; + + /** + * Constructs the internal representation of the Script service. + * + * @param Google_Client $client + */ + public function __construct(Google_Client $client) + { + parent::__construct($client); + $this->rootUrl = 'https://script.googleapis.com/'; + $this->servicePath = ''; + $this->version = 'v1'; + $this->serviceName = 'script'; + + $this->scripts = new Google_Service_Script_Resource_Scripts( + $this, + $this->serviceName, + 'scripts', + array( + 'methods' => array( + 'run' => array( + 'path' => 'v1/scripts/{scriptId}:run', + 'httpMethod' => 'POST', + 'parameters' => array( + 'scriptId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Script/ExecutionError.php b/vendor/google/apiclient-services/src/Google/Service/Script/ExecutionError.php new file mode 100644 index 00000000..a2c9f400 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Script/ExecutionError.php @@ -0,0 +1,50 @@ +errorMessage = $errorMessage; + } + public function getErrorMessage() + { + return $this->errorMessage; + } + public function setErrorType($errorType) + { + $this->errorType = $errorType; + } + public function getErrorType() + { + return $this->errorType; + } + public function setScriptStackTraceElements($scriptStackTraceElements) + { + $this->scriptStackTraceElements = $scriptStackTraceElements; + } + public function getScriptStackTraceElements() + { + return $this->scriptStackTraceElements; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Script/ExecutionRequest.php b/vendor/google/apiclient-services/src/Google/Service/Script/ExecutionRequest.php new file mode 100644 index 00000000..8f08f9b1 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Script/ExecutionRequest.php @@ -0,0 +1,58 @@ +devMode = $devMode; + } + public function getDevMode() + { + return $this->devMode; + } + public function setFunction($function) + { + $this->function = $function; + } + public function getFunction() + { + return $this->function; + } + public function setParameters($parameters) + { + $this->parameters = $parameters; + } + public function getParameters() + { + return $this->parameters; + } + public function setSessionState($sessionState) + { + $this->sessionState = $sessionState; + } + public function getSessionState() + { + return $this->sessionState; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Script/ExecutionResponse.php b/vendor/google/apiclient-services/src/Google/Service/Script/ExecutionResponse.php new file mode 100644 index 00000000..bdc12a90 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Script/ExecutionResponse.php @@ -0,0 +1,30 @@ +result = $result; + } + public function getResult() + { + return $this->result; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Script/Operation.php b/vendor/google/apiclient-services/src/Google/Service/Script/Operation.php new file mode 100644 index 00000000..b818bc11 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Script/Operation.php @@ -0,0 +1,67 @@ +done = $done; + } + public function getDone() + { + return $this->done; + } + public function setError(Google_Service_Script_Status $error) + { + $this->error = $error; + } + public function getError() + { + return $this->error; + } + public function setMetadata($metadata) + { + $this->metadata = $metadata; + } + public function getMetadata() + { + return $this->metadata; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setResponse($response) + { + $this->response = $response; + } + public function getResponse() + { + return $this->response; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Script/Resource/Scripts.php b/vendor/google/apiclient-services/src/Google/Service/Script/Resource/Scripts.php new file mode 100644 index 00000000..80cac1bc --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Script/Resource/Scripts.php @@ -0,0 +1,52 @@ + + * $scriptService = new Google_Service_Script(...); + * $scripts = $scriptService->scripts; + * + */ +class Google_Service_Script_Resource_Scripts extends Google_Service_Resource +{ + /** + * Runs a function in an Apps Script project. The project must be deployed for + * use with the Apps Script Execution API. + * + * This method requires authorization with an OAuth 2.0 token that includes at + * least one of the scopes listed in the [Authorization](#authorization) + * section; script projects that do not require authorization cannot be executed + * through this API. To find the correct scopes to include in the authentication + * token, open the project in the script editor, then select **File > Project + * properties** and click the **Scopes** tab. (scripts.run) + * + * @param string $scriptId The project key of the script to be executed. To find + * the project key, open the project in the script editor and select **File > + * Project properties**. + * @param Google_Service_Script_ExecutionRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Script_Operation + */ + public function run($scriptId, Google_Service_Script_ExecutionRequest $postBody, $optParams = array()) + { + $params = array('scriptId' => $scriptId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('run', array($params), "Google_Service_Script_Operation"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Script/ScriptStackTraceElement.php b/vendor/google/apiclient-services/src/Google/Service/Script/ScriptStackTraceElement.php new file mode 100644 index 00000000..e2043612 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Script/ScriptStackTraceElement.php @@ -0,0 +1,39 @@ +function = $function; + } + public function getFunction() + { + return $this->function; + } + public function setLineNumber($lineNumber) + { + $this->lineNumber = $lineNumber; + } + public function getLineNumber() + { + return $this->lineNumber; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Script/Status.php b/vendor/google/apiclient-services/src/Google/Service/Script/Status.php new file mode 100644 index 00000000..12bd8803 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Script/Status.php @@ -0,0 +1,49 @@ +code = $code; + } + public function getCode() + { + return $this->code; + } + public function setDetails($details) + { + $this->details = $details; + } + public function getDetails() + { + return $this->details; + } + public function setMessage($message) + { + $this->message = $message; + } + public function getMessage() + { + return $this->message; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/SearchConsole.php b/vendor/google/apiclient-services/src/Google/Service/SearchConsole.php new file mode 100644 index 00000000..560a2fed --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/SearchConsole.php @@ -0,0 +1,65 @@ + + * Provides tools for running validation tests against single URLs

+ * + *

+ * For more information about this service, see the API + * Documentation + *

+ * + * @author Google, Inc. + */ +class Google_Service_SearchConsole extends Google_Service +{ + + + public $urlTestingTools_mobileFriendlyTest; + + /** + * Constructs the internal representation of the SearchConsole service. + * + * @param Google_Client $client + */ + public function __construct(Google_Client $client) + { + parent::__construct($client); + $this->rootUrl = 'https://searchconsole.googleapis.com/'; + $this->servicePath = ''; + $this->version = 'v1'; + $this->serviceName = 'searchconsole'; + + $this->urlTestingTools_mobileFriendlyTest = new Google_Service_SearchConsole_Resource_UrlTestingToolsMobileFriendlyTest( + $this, + $this->serviceName, + 'mobileFriendlyTest', + array( + 'methods' => array( + 'run' => array( + 'path' => 'v1/urlTestingTools/mobileFriendlyTest:run', + 'httpMethod' => 'POST', + 'parameters' => array(), + ), + ) + ) + ); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/SearchConsole/BlockedResource.php b/vendor/google/apiclient-services/src/Google/Service/SearchConsole/BlockedResource.php new file mode 100644 index 00000000..bbc71cf7 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/SearchConsole/BlockedResource.php @@ -0,0 +1,30 @@ +url = $url; + } + public function getUrl() + { + return $this->url; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/SearchConsole/Image.php b/vendor/google/apiclient-services/src/Google/Service/SearchConsole/Image.php new file mode 100644 index 00000000..16601977 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/SearchConsole/Image.php @@ -0,0 +1,39 @@ +data = $data; + } + public function getData() + { + return $this->data; + } + public function setMimeType($mimeType) + { + $this->mimeType = $mimeType; + } + public function getMimeType() + { + return $this->mimeType; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/SearchConsole/MobileFriendlyIssue.php b/vendor/google/apiclient-services/src/Google/Service/SearchConsole/MobileFriendlyIssue.php new file mode 100644 index 00000000..34df5fad --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/SearchConsole/MobileFriendlyIssue.php @@ -0,0 +1,30 @@ +rule = $rule; + } + public function getRule() + { + return $this->rule; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/SearchConsole/Resource/UrlTestingTools.php b/vendor/google/apiclient-services/src/Google/Service/SearchConsole/Resource/UrlTestingTools.php new file mode 100644 index 00000000..3508d9db --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/SearchConsole/Resource/UrlTestingTools.php @@ -0,0 +1,28 @@ + + * $searchconsoleService = new Google_Service_SearchConsole(...); + * $urlTestingTools = $searchconsoleService->urlTestingTools; + * + */ +class Google_Service_SearchConsole_Resource_UrlTestingTools extends Google_Service_Resource +{ +} diff --git a/vendor/google/apiclient-services/src/Google/Service/SearchConsole/Resource/UrlTestingToolsMobileFriendlyTest.php b/vendor/google/apiclient-services/src/Google/Service/SearchConsole/Resource/UrlTestingToolsMobileFriendlyTest.php new file mode 100644 index 00000000..26544134 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/SearchConsole/Resource/UrlTestingToolsMobileFriendlyTest.php @@ -0,0 +1,41 @@ + + * $searchconsoleService = new Google_Service_SearchConsole(...); + * $mobileFriendlyTest = $searchconsoleService->mobileFriendlyTest; + * + */ +class Google_Service_SearchConsole_Resource_UrlTestingToolsMobileFriendlyTest extends Google_Service_Resource +{ + /** + * Runs Mobile-Friendly Test for a given URL. (mobileFriendlyTest.run) + * + * @param Google_Service_SearchConsole_RunMobileFriendlyTestRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_SearchConsole_RunMobileFriendlyTestResponse + */ + public function run(Google_Service_SearchConsole_RunMobileFriendlyTestRequest $postBody, $optParams = array()) + { + $params = array('postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('run', array($params), "Google_Service_SearchConsole_RunMobileFriendlyTestResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/SearchConsole/ResourceIssue.php b/vendor/google/apiclient-services/src/Google/Service/SearchConsole/ResourceIssue.php new file mode 100644 index 00000000..e52db726 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/SearchConsole/ResourceIssue.php @@ -0,0 +1,31 @@ +blockedResource = $blockedResource; + } + public function getBlockedResource() + { + return $this->blockedResource; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/SearchConsole/RunMobileFriendlyTestRequest.php b/vendor/google/apiclient-services/src/Google/Service/SearchConsole/RunMobileFriendlyTestRequest.php new file mode 100644 index 00000000..53cfff68 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/SearchConsole/RunMobileFriendlyTestRequest.php @@ -0,0 +1,39 @@ +requestScreenshot = $requestScreenshot; + } + public function getRequestScreenshot() + { + return $this->requestScreenshot; + } + public function setUrl($url) + { + $this->url = $url; + } + public function getUrl() + { + return $this->url; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/SearchConsole/RunMobileFriendlyTestResponse.php b/vendor/google/apiclient-services/src/Google/Service/SearchConsole/RunMobileFriendlyTestResponse.php new file mode 100644 index 00000000..95f64b3c --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/SearchConsole/RunMobileFriendlyTestResponse.php @@ -0,0 +1,71 @@ +mobileFriendliness = $mobileFriendliness; + } + public function getMobileFriendliness() + { + return $this->mobileFriendliness; + } + public function setMobileFriendlyIssues($mobileFriendlyIssues) + { + $this->mobileFriendlyIssues = $mobileFriendlyIssues; + } + public function getMobileFriendlyIssues() + { + return $this->mobileFriendlyIssues; + } + public function setResourceIssues($resourceIssues) + { + $this->resourceIssues = $resourceIssues; + } + public function getResourceIssues() + { + return $this->resourceIssues; + } + public function setScreenshot(Google_Service_SearchConsole_Image $screenshot) + { + $this->screenshot = $screenshot; + } + public function getScreenshot() + { + return $this->screenshot; + } + public function setTestStatus(Google_Service_SearchConsole_TestStatus $testStatus) + { + $this->testStatus = $testStatus; + } + public function getTestStatus() + { + return $this->testStatus; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/SearchConsole/TestStatus.php b/vendor/google/apiclient-services/src/Google/Service/SearchConsole/TestStatus.php new file mode 100644 index 00000000..9212ac66 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/SearchConsole/TestStatus.php @@ -0,0 +1,39 @@ +details = $details; + } + public function getDetails() + { + return $this->details; + } + public function setStatus($status) + { + $this->status = $status; + } + public function getStatus() + { + return $this->status; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ServiceControl.php b/vendor/google/apiclient-services/src/Google/Service/ServiceControl.php new file mode 100644 index 00000000..8ab8fc6a --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ServiceControl.php @@ -0,0 +1,127 @@ + + * Google Service Control provides control plane functionality to managed + * services, such as logging, monitoring, and status checks.

+ * + *

+ * For more information about this service, see the API + * Documentation + *

+ * + * @author Google, Inc. + */ +class Google_Service_ServiceControl extends Google_Service +{ + /** View and manage your data across Google Cloud Platform services. */ + const CLOUD_PLATFORM = + "https://www.googleapis.com/auth/cloud-platform"; + /** Manage your Google Service Control data. */ + const SERVICECONTROL = + "https://www.googleapis.com/auth/servicecontrol"; + + public $services; + + /** + * Constructs the internal representation of the ServiceControl service. + * + * @param Google_Client $client + */ + public function __construct(Google_Client $client) + { + parent::__construct($client); + $this->rootUrl = 'https://servicecontrol.googleapis.com/'; + $this->servicePath = ''; + $this->version = 'v1'; + $this->serviceName = 'servicecontrol'; + + $this->services = new Google_Service_ServiceControl_Resource_Services( + $this, + $this->serviceName, + 'services', + array( + 'methods' => array( + 'allocateQuota' => array( + 'path' => 'v1/services/{serviceName}:allocateQuota', + 'httpMethod' => 'POST', + 'parameters' => array( + 'serviceName' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'check' => array( + 'path' => 'v1/services/{serviceName}:check', + 'httpMethod' => 'POST', + 'parameters' => array( + 'serviceName' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'endReconciliation' => array( + 'path' => 'v1/services/{serviceName}:endReconciliation', + 'httpMethod' => 'POST', + 'parameters' => array( + 'serviceName' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'releaseQuota' => array( + 'path' => 'v1/services/{serviceName}:releaseQuota', + 'httpMethod' => 'POST', + 'parameters' => array( + 'serviceName' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'report' => array( + 'path' => 'v1/services/{serviceName}:report', + 'httpMethod' => 'POST', + 'parameters' => array( + 'serviceName' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'startReconciliation' => array( + 'path' => 'v1/services/{serviceName}:startReconciliation', + 'httpMethod' => 'POST', + 'parameters' => array( + 'serviceName' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ServiceControl/AllocateQuotaRequest.php b/vendor/google/apiclient-services/src/Google/Service/ServiceControl/AllocateQuotaRequest.php new file mode 100644 index 00000000..407662e8 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ServiceControl/AllocateQuotaRequest.php @@ -0,0 +1,49 @@ +allocateOperation = $allocateOperation; + } + public function getAllocateOperation() + { + return $this->allocateOperation; + } + public function setAllocationMode($allocationMode) + { + $this->allocationMode = $allocationMode; + } + public function getAllocationMode() + { + return $this->allocationMode; + } + public function setServiceConfigId($serviceConfigId) + { + $this->serviceConfigId = $serviceConfigId; + } + public function getServiceConfigId() + { + return $this->serviceConfigId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ServiceControl/AllocateQuotaResponse.php b/vendor/google/apiclient-services/src/Google/Service/ServiceControl/AllocateQuotaResponse.php new file mode 100644 index 00000000..5bd7f566 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ServiceControl/AllocateQuotaResponse.php @@ -0,0 +1,60 @@ +allocateErrors = $allocateErrors; + } + public function getAllocateErrors() + { + return $this->allocateErrors; + } + public function setOperationId($operationId) + { + $this->operationId = $operationId; + } + public function getOperationId() + { + return $this->operationId; + } + public function setQuotaMetrics($quotaMetrics) + { + $this->quotaMetrics = $quotaMetrics; + } + public function getQuotaMetrics() + { + return $this->quotaMetrics; + } + public function setServiceConfigId($serviceConfigId) + { + $this->serviceConfigId = $serviceConfigId; + } + public function getServiceConfigId() + { + return $this->serviceConfigId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ServiceControl/AuditLog.php b/vendor/google/apiclient-services/src/Google/Service/ServiceControl/AuditLog.php new file mode 100644 index 00000000..c6c25dd1 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ServiceControl/AuditLog.php @@ -0,0 +1,125 @@ +authenticationInfo = $authenticationInfo; + } + public function getAuthenticationInfo() + { + return $this->authenticationInfo; + } + public function setAuthorizationInfo($authorizationInfo) + { + $this->authorizationInfo = $authorizationInfo; + } + public function getAuthorizationInfo() + { + return $this->authorizationInfo; + } + public function setMethodName($methodName) + { + $this->methodName = $methodName; + } + public function getMethodName() + { + return $this->methodName; + } + public function setNumResponseItems($numResponseItems) + { + $this->numResponseItems = $numResponseItems; + } + public function getNumResponseItems() + { + return $this->numResponseItems; + } + public function setRequest($request) + { + $this->request = $request; + } + public function getRequest() + { + return $this->request; + } + public function setRequestMetadata(Google_Service_ServiceControl_RequestMetadata $requestMetadata) + { + $this->requestMetadata = $requestMetadata; + } + public function getRequestMetadata() + { + return $this->requestMetadata; + } + public function setResourceName($resourceName) + { + $this->resourceName = $resourceName; + } + public function getResourceName() + { + return $this->resourceName; + } + public function setResponse($response) + { + $this->response = $response; + } + public function getResponse() + { + return $this->response; + } + public function setServiceData($serviceData) + { + $this->serviceData = $serviceData; + } + public function getServiceData() + { + return $this->serviceData; + } + public function setServiceName($serviceName) + { + $this->serviceName = $serviceName; + } + public function getServiceName() + { + return $this->serviceName; + } + public function setStatus(Google_Service_ServiceControl_Status $status) + { + $this->status = $status; + } + public function getStatus() + { + return $this->status; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ServiceControl/AuthenticationInfo.php b/vendor/google/apiclient-services/src/Google/Service/ServiceControl/AuthenticationInfo.php new file mode 100644 index 00000000..d253b170 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ServiceControl/AuthenticationInfo.php @@ -0,0 +1,39 @@ +authoritySelector = $authoritySelector; + } + public function getAuthoritySelector() + { + return $this->authoritySelector; + } + public function setPrincipalEmail($principalEmail) + { + $this->principalEmail = $principalEmail; + } + public function getPrincipalEmail() + { + return $this->principalEmail; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ServiceControl/AuthorizationInfo.php b/vendor/google/apiclient-services/src/Google/Service/ServiceControl/AuthorizationInfo.php new file mode 100644 index 00000000..91777eff --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ServiceControl/AuthorizationInfo.php @@ -0,0 +1,48 @@ +granted = $granted; + } + public function getGranted() + { + return $this->granted; + } + public function setPermission($permission) + { + $this->permission = $permission; + } + public function getPermission() + { + return $this->permission; + } + public function setResource($resource) + { + $this->resource = $resource; + } + public function getResource() + { + return $this->resource; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ServiceControl/CheckError.php b/vendor/google/apiclient-services/src/Google/Service/ServiceControl/CheckError.php new file mode 100644 index 00000000..a2382bb5 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ServiceControl/CheckError.php @@ -0,0 +1,39 @@ +code = $code; + } + public function getCode() + { + return $this->code; + } + public function setDetail($detail) + { + $this->detail = $detail; + } + public function getDetail() + { + return $this->detail; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ServiceControl/CheckInfo.php b/vendor/google/apiclient-services/src/Google/Service/ServiceControl/CheckInfo.php new file mode 100644 index 00000000..d9f18c8f --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ServiceControl/CheckInfo.php @@ -0,0 +1,31 @@ +unusedArguments = $unusedArguments; + } + public function getUnusedArguments() + { + return $this->unusedArguments; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ServiceControl/CheckRequest.php b/vendor/google/apiclient-services/src/Google/Service/ServiceControl/CheckRequest.php new file mode 100644 index 00000000..597e6de7 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ServiceControl/CheckRequest.php @@ -0,0 +1,58 @@ +operation = $operation; + } + public function getOperation() + { + return $this->operation; + } + public function setRequestProjectSettings($requestProjectSettings) + { + $this->requestProjectSettings = $requestProjectSettings; + } + public function getRequestProjectSettings() + { + return $this->requestProjectSettings; + } + public function setServiceConfigId($serviceConfigId) + { + $this->serviceConfigId = $serviceConfigId; + } + public function getServiceConfigId() + { + return $this->serviceConfigId; + } + public function setSkipActivationCheck($skipActivationCheck) + { + $this->skipActivationCheck = $skipActivationCheck; + } + public function getSkipActivationCheck() + { + return $this->skipActivationCheck; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ServiceControl/CheckResponse.php b/vendor/google/apiclient-services/src/Google/Service/ServiceControl/CheckResponse.php new file mode 100644 index 00000000..c3e496cb --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ServiceControl/CheckResponse.php @@ -0,0 +1,70 @@ +checkErrors = $checkErrors; + } + public function getCheckErrors() + { + return $this->checkErrors; + } + public function setCheckInfo(Google_Service_ServiceControl_CheckInfo $checkInfo) + { + $this->checkInfo = $checkInfo; + } + public function getCheckInfo() + { + return $this->checkInfo; + } + public function setOperationId($operationId) + { + $this->operationId = $operationId; + } + public function getOperationId() + { + return $this->operationId; + } + public function setQuotaInfo(Google_Service_ServiceControl_QuotaInfo $quotaInfo) + { + $this->quotaInfo = $quotaInfo; + } + public function getQuotaInfo() + { + return $this->quotaInfo; + } + public function setServiceConfigId($serviceConfigId) + { + $this->serviceConfigId = $serviceConfigId; + } + public function getServiceConfigId() + { + return $this->serviceConfigId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ServiceControl/Distribution.php b/vendor/google/apiclient-services/src/Google/Service/ServiceControl/Distribution.php new file mode 100644 index 00000000..99f45e46 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ServiceControl/Distribution.php @@ -0,0 +1,106 @@ +bucketCounts = $bucketCounts; + } + public function getBucketCounts() + { + return $this->bucketCounts; + } + public function setCount($count) + { + $this->count = $count; + } + public function getCount() + { + return $this->count; + } + public function setExplicitBuckets(Google_Service_ServiceControl_ExplicitBuckets $explicitBuckets) + { + $this->explicitBuckets = $explicitBuckets; + } + public function getExplicitBuckets() + { + return $this->explicitBuckets; + } + public function setExponentialBuckets(Google_Service_ServiceControl_ExponentialBuckets $exponentialBuckets) + { + $this->exponentialBuckets = $exponentialBuckets; + } + public function getExponentialBuckets() + { + return $this->exponentialBuckets; + } + public function setLinearBuckets(Google_Service_ServiceControl_LinearBuckets $linearBuckets) + { + $this->linearBuckets = $linearBuckets; + } + public function getLinearBuckets() + { + return $this->linearBuckets; + } + public function setMaximum($maximum) + { + $this->maximum = $maximum; + } + public function getMaximum() + { + return $this->maximum; + } + public function setMean($mean) + { + $this->mean = $mean; + } + public function getMean() + { + return $this->mean; + } + public function setMinimum($minimum) + { + $this->minimum = $minimum; + } + public function getMinimum() + { + return $this->minimum; + } + public function setSumOfSquaredDeviation($sumOfSquaredDeviation) + { + $this->sumOfSquaredDeviation = $sumOfSquaredDeviation; + } + public function getSumOfSquaredDeviation() + { + return $this->sumOfSquaredDeviation; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ServiceControl/EndReconciliationRequest.php b/vendor/google/apiclient-services/src/Google/Service/ServiceControl/EndReconciliationRequest.php new file mode 100644 index 00000000..30e3bd3d --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ServiceControl/EndReconciliationRequest.php @@ -0,0 +1,40 @@ +reconciliationOperation = $reconciliationOperation; + } + public function getReconciliationOperation() + { + return $this->reconciliationOperation; + } + public function setServiceConfigId($serviceConfigId) + { + $this->serviceConfigId = $serviceConfigId; + } + public function getServiceConfigId() + { + return $this->serviceConfigId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ServiceControl/EndReconciliationResponse.php b/vendor/google/apiclient-services/src/Google/Service/ServiceControl/EndReconciliationResponse.php new file mode 100644 index 00000000..23145bad --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ServiceControl/EndReconciliationResponse.php @@ -0,0 +1,60 @@ +operationId = $operationId; + } + public function getOperationId() + { + return $this->operationId; + } + public function setQuotaMetrics($quotaMetrics) + { + $this->quotaMetrics = $quotaMetrics; + } + public function getQuotaMetrics() + { + return $this->quotaMetrics; + } + public function setReconciliationErrors($reconciliationErrors) + { + $this->reconciliationErrors = $reconciliationErrors; + } + public function getReconciliationErrors() + { + return $this->reconciliationErrors; + } + public function setServiceConfigId($serviceConfigId) + { + $this->serviceConfigId = $serviceConfigId; + } + public function getServiceConfigId() + { + return $this->serviceConfigId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ServiceControl/ExplicitBuckets.php b/vendor/google/apiclient-services/src/Google/Service/ServiceControl/ExplicitBuckets.php new file mode 100644 index 00000000..aad45478 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ServiceControl/ExplicitBuckets.php @@ -0,0 +1,31 @@ +bounds = $bounds; + } + public function getBounds() + { + return $this->bounds; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ServiceControl/ExponentialBuckets.php b/vendor/google/apiclient-services/src/Google/Service/ServiceControl/ExponentialBuckets.php new file mode 100644 index 00000000..7872fac7 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ServiceControl/ExponentialBuckets.php @@ -0,0 +1,48 @@ +growthFactor = $growthFactor; + } + public function getGrowthFactor() + { + return $this->growthFactor; + } + public function setNumFiniteBuckets($numFiniteBuckets) + { + $this->numFiniteBuckets = $numFiniteBuckets; + } + public function getNumFiniteBuckets() + { + return $this->numFiniteBuckets; + } + public function setScale($scale) + { + $this->scale = $scale; + } + public function getScale() + { + return $this->scale; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ServiceControl/LinearBuckets.php b/vendor/google/apiclient-services/src/Google/Service/ServiceControl/LinearBuckets.php new file mode 100644 index 00000000..8ae7ecd8 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ServiceControl/LinearBuckets.php @@ -0,0 +1,48 @@ +numFiniteBuckets = $numFiniteBuckets; + } + public function getNumFiniteBuckets() + { + return $this->numFiniteBuckets; + } + public function setOffset($offset) + { + $this->offset = $offset; + } + public function getOffset() + { + return $this->offset; + } + public function setWidth($width) + { + $this->width = $width; + } + public function getWidth() + { + return $this->width; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ServiceControl/LogEntry.php b/vendor/google/apiclient-services/src/Google/Service/ServiceControl/LogEntry.php new file mode 100644 index 00000000..84a8c511 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ServiceControl/LogEntry.php @@ -0,0 +1,93 @@ +insertId = $insertId; + } + public function getInsertId() + { + return $this->insertId; + } + public function setLabels($labels) + { + $this->labels = $labels; + } + public function getLabels() + { + return $this->labels; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setProtoPayload($protoPayload) + { + $this->protoPayload = $protoPayload; + } + public function getProtoPayload() + { + return $this->protoPayload; + } + public function setSeverity($severity) + { + $this->severity = $severity; + } + public function getSeverity() + { + return $this->severity; + } + public function setStructPayload($structPayload) + { + $this->structPayload = $structPayload; + } + public function getStructPayload() + { + return $this->structPayload; + } + public function setTextPayload($textPayload) + { + $this->textPayload = $textPayload; + } + public function getTextPayload() + { + return $this->textPayload; + } + public function setTimestamp($timestamp) + { + $this->timestamp = $timestamp; + } + public function getTimestamp() + { + return $this->timestamp; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ServiceControl/MetricValue.php b/vendor/google/apiclient-services/src/Google/Service/ServiceControl/MetricValue.php new file mode 100644 index 00000000..a71b8be3 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ServiceControl/MetricValue.php @@ -0,0 +1,104 @@ +boolValue = $boolValue; + } + public function getBoolValue() + { + return $this->boolValue; + } + public function setDistributionValue(Google_Service_ServiceControl_Distribution $distributionValue) + { + $this->distributionValue = $distributionValue; + } + public function getDistributionValue() + { + return $this->distributionValue; + } + public function setDoubleValue($doubleValue) + { + $this->doubleValue = $doubleValue; + } + public function getDoubleValue() + { + return $this->doubleValue; + } + public function setEndTime($endTime) + { + $this->endTime = $endTime; + } + public function getEndTime() + { + return $this->endTime; + } + public function setInt64Value($int64Value) + { + $this->int64Value = $int64Value; + } + public function getInt64Value() + { + return $this->int64Value; + } + public function setLabels($labels) + { + $this->labels = $labels; + } + public function getLabels() + { + return $this->labels; + } + public function setMoneyValue(Google_Service_ServiceControl_Money $moneyValue) + { + $this->moneyValue = $moneyValue; + } + public function getMoneyValue() + { + return $this->moneyValue; + } + public function setStartTime($startTime) + { + $this->startTime = $startTime; + } + public function getStartTime() + { + return $this->startTime; + } + public function setStringValue($stringValue) + { + $this->stringValue = $stringValue; + } + public function getStringValue() + { + return $this->stringValue; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ServiceControl/MetricValueSet.php b/vendor/google/apiclient-services/src/Google/Service/ServiceControl/MetricValueSet.php new file mode 100644 index 00000000..7164abf3 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ServiceControl/MetricValueSet.php @@ -0,0 +1,41 @@ +metricName = $metricName; + } + public function getMetricName() + { + return $this->metricName; + } + public function setMetricValues($metricValues) + { + $this->metricValues = $metricValues; + } + public function getMetricValues() + { + return $this->metricValues; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ServiceControl/Money.php b/vendor/google/apiclient-services/src/Google/Service/ServiceControl/Money.php new file mode 100644 index 00000000..55b7874e --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ServiceControl/Money.php @@ -0,0 +1,48 @@ +currencyCode = $currencyCode; + } + public function getCurrencyCode() + { + return $this->currencyCode; + } + public function setNanos($nanos) + { + $this->nanos = $nanos; + } + public function getNanos() + { + return $this->nanos; + } + public function setUnits($units) + { + $this->units = $units; + } + public function getUnits() + { + return $this->units; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ServiceControl/Operation.php b/vendor/google/apiclient-services/src/Google/Service/ServiceControl/Operation.php new file mode 100644 index 00000000..d58e975a --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ServiceControl/Operation.php @@ -0,0 +1,133 @@ +consumerId = $consumerId; + } + public function getConsumerId() + { + return $this->consumerId; + } + public function setEndTime($endTime) + { + $this->endTime = $endTime; + } + public function getEndTime() + { + return $this->endTime; + } + public function setImportance($importance) + { + $this->importance = $importance; + } + public function getImportance() + { + return $this->importance; + } + public function setLabels($labels) + { + $this->labels = $labels; + } + public function getLabels() + { + return $this->labels; + } + public function setLogEntries($logEntries) + { + $this->logEntries = $logEntries; + } + public function getLogEntries() + { + return $this->logEntries; + } + public function setMetricValueSets($metricValueSets) + { + $this->metricValueSets = $metricValueSets; + } + public function getMetricValueSets() + { + return $this->metricValueSets; + } + public function setOperationId($operationId) + { + $this->operationId = $operationId; + } + public function getOperationId() + { + return $this->operationId; + } + public function setOperationName($operationName) + { + $this->operationName = $operationName; + } + public function getOperationName() + { + return $this->operationName; + } + public function setQuotaProperties(Google_Service_ServiceControl_QuotaProperties $quotaProperties) + { + $this->quotaProperties = $quotaProperties; + } + public function getQuotaProperties() + { + return $this->quotaProperties; + } + public function setResourceContainer($resourceContainer) + { + $this->resourceContainer = $resourceContainer; + } + public function getResourceContainer() + { + return $this->resourceContainer; + } + public function setStartTime($startTime) + { + $this->startTime = $startTime; + } + public function getStartTime() + { + return $this->startTime; + } + public function setUserLabels($userLabels) + { + $this->userLabels = $userLabels; + } + public function getUserLabels() + { + return $this->userLabels; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ServiceControl/QuotaError.php b/vendor/google/apiclient-services/src/Google/Service/ServiceControl/QuotaError.php new file mode 100644 index 00000000..3ab44fb5 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ServiceControl/QuotaError.php @@ -0,0 +1,48 @@ +code = $code; + } + public function getCode() + { + return $this->code; + } + public function setDescription($description) + { + $this->description = $description; + } + public function getDescription() + { + return $this->description; + } + public function setSubject($subject) + { + $this->subject = $subject; + } + public function getSubject() + { + return $this->subject; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ServiceControl/QuotaInfo.php b/vendor/google/apiclient-services/src/Google/Service/ServiceControl/QuotaInfo.php new file mode 100644 index 00000000..748c2bf9 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ServiceControl/QuotaInfo.php @@ -0,0 +1,50 @@ +limitExceeded = $limitExceeded; + } + public function getLimitExceeded() + { + return $this->limitExceeded; + } + public function setQuotaConsumed($quotaConsumed) + { + $this->quotaConsumed = $quotaConsumed; + } + public function getQuotaConsumed() + { + return $this->quotaConsumed; + } + public function setQuotaMetrics($quotaMetrics) + { + $this->quotaMetrics = $quotaMetrics; + } + public function getQuotaMetrics() + { + return $this->quotaMetrics; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ServiceControl/QuotaOperation.php b/vendor/google/apiclient-services/src/Google/Service/ServiceControl/QuotaOperation.php new file mode 100644 index 00000000..37b4144d --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ServiceControl/QuotaOperation.php @@ -0,0 +1,77 @@ +consumerId = $consumerId; + } + public function getConsumerId() + { + return $this->consumerId; + } + public function setLabels($labels) + { + $this->labels = $labels; + } + public function getLabels() + { + return $this->labels; + } + public function setMethodName($methodName) + { + $this->methodName = $methodName; + } + public function getMethodName() + { + return $this->methodName; + } + public function setOperationId($operationId) + { + $this->operationId = $operationId; + } + public function getOperationId() + { + return $this->operationId; + } + public function setQuotaMetrics($quotaMetrics) + { + $this->quotaMetrics = $quotaMetrics; + } + public function getQuotaMetrics() + { + return $this->quotaMetrics; + } + public function setQuotaMode($quotaMode) + { + $this->quotaMode = $quotaMode; + } + public function getQuotaMode() + { + return $this->quotaMode; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ServiceControl/QuotaProperties.php b/vendor/google/apiclient-services/src/Google/Service/ServiceControl/QuotaProperties.php new file mode 100644 index 00000000..b8bb2ef2 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ServiceControl/QuotaProperties.php @@ -0,0 +1,39 @@ +limitByIds = $limitByIds; + } + public function getLimitByIds() + { + return $this->limitByIds; + } + public function setQuotaMode($quotaMode) + { + $this->quotaMode = $quotaMode; + } + public function getQuotaMode() + { + return $this->quotaMode; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ServiceControl/ReleaseQuotaRequest.php b/vendor/google/apiclient-services/src/Google/Service/ServiceControl/ReleaseQuotaRequest.php new file mode 100644 index 00000000..d6dd8fa0 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ServiceControl/ReleaseQuotaRequest.php @@ -0,0 +1,40 @@ +releaseOperation = $releaseOperation; + } + public function getReleaseOperation() + { + return $this->releaseOperation; + } + public function setServiceConfigId($serviceConfigId) + { + $this->serviceConfigId = $serviceConfigId; + } + public function getServiceConfigId() + { + return $this->serviceConfigId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ServiceControl/ReleaseQuotaResponse.php b/vendor/google/apiclient-services/src/Google/Service/ServiceControl/ReleaseQuotaResponse.php new file mode 100644 index 00000000..e78b09d0 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ServiceControl/ReleaseQuotaResponse.php @@ -0,0 +1,60 @@ +operationId = $operationId; + } + public function getOperationId() + { + return $this->operationId; + } + public function setQuotaMetrics($quotaMetrics) + { + $this->quotaMetrics = $quotaMetrics; + } + public function getQuotaMetrics() + { + return $this->quotaMetrics; + } + public function setReleaseErrors($releaseErrors) + { + $this->releaseErrors = $releaseErrors; + } + public function getReleaseErrors() + { + return $this->releaseErrors; + } + public function setServiceConfigId($serviceConfigId) + { + $this->serviceConfigId = $serviceConfigId; + } + public function getServiceConfigId() + { + return $this->serviceConfigId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ServiceControl/ReportError.php b/vendor/google/apiclient-services/src/Google/Service/ServiceControl/ReportError.php new file mode 100644 index 00000000..d5db0b9f --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ServiceControl/ReportError.php @@ -0,0 +1,40 @@ +operationId = $operationId; + } + public function getOperationId() + { + return $this->operationId; + } + public function setStatus(Google_Service_ServiceControl_Status $status) + { + $this->status = $status; + } + public function getStatus() + { + return $this->status; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ServiceControl/ReportInfo.php b/vendor/google/apiclient-services/src/Google/Service/ServiceControl/ReportInfo.php new file mode 100644 index 00000000..3ff863df --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ServiceControl/ReportInfo.php @@ -0,0 +1,40 @@ +operationId = $operationId; + } + public function getOperationId() + { + return $this->operationId; + } + public function setQuotaInfo(Google_Service_ServiceControl_QuotaInfo $quotaInfo) + { + $this->quotaInfo = $quotaInfo; + } + public function getQuotaInfo() + { + return $this->quotaInfo; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ServiceControl/ReportRequest.php b/vendor/google/apiclient-services/src/Google/Service/ServiceControl/ReportRequest.php new file mode 100644 index 00000000..5fa09d42 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ServiceControl/ReportRequest.php @@ -0,0 +1,41 @@ +operations = $operations; + } + public function getOperations() + { + return $this->operations; + } + public function setServiceConfigId($serviceConfigId) + { + $this->serviceConfigId = $serviceConfigId; + } + public function getServiceConfigId() + { + return $this->serviceConfigId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ServiceControl/ReportResponse.php b/vendor/google/apiclient-services/src/Google/Service/ServiceControl/ReportResponse.php new file mode 100644 index 00000000..a32a1ef9 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ServiceControl/ReportResponse.php @@ -0,0 +1,51 @@ +reportErrors = $reportErrors; + } + public function getReportErrors() + { + return $this->reportErrors; + } + public function setReportInfos($reportInfos) + { + $this->reportInfos = $reportInfos; + } + public function getReportInfos() + { + return $this->reportInfos; + } + public function setServiceConfigId($serviceConfigId) + { + $this->serviceConfigId = $serviceConfigId; + } + public function getServiceConfigId() + { + return $this->serviceConfigId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ServiceControl/RequestMetadata.php b/vendor/google/apiclient-services/src/Google/Service/ServiceControl/RequestMetadata.php new file mode 100644 index 00000000..3eac6ed8 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ServiceControl/RequestMetadata.php @@ -0,0 +1,39 @@ +callerIp = $callerIp; + } + public function getCallerIp() + { + return $this->callerIp; + } + public function setCallerSuppliedUserAgent($callerSuppliedUserAgent) + { + $this->callerSuppliedUserAgent = $callerSuppliedUserAgent; + } + public function getCallerSuppliedUserAgent() + { + return $this->callerSuppliedUserAgent; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ServiceControl/Resource/Services.php b/vendor/google/apiclient-services/src/Google/Service/ServiceControl/Resource/Services.php new file mode 100644 index 00000000..f88318cd --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ServiceControl/Resource/Services.php @@ -0,0 +1,191 @@ + + * $servicecontrolService = new Google_Service_ServiceControl(...); + * $services = $servicecontrolService->services; + * + */ +class Google_Service_ServiceControl_Resource_Services extends Google_Service_Resource +{ + /** + * Attempts to allocate quota for the specified consumer. It should be called + * before the operation is executed. + * + * This method requires the `servicemanagement.services.quota` permission on the + * specified service. For more information, see [Google Cloud + * IAM](https://cloud.google.com/iam). (services.allocateQuota) + * + * @param string $serviceName Name of the service as specified in the service + * configuration. For example, `"pubsub.googleapis.com"`. + * + * See google.api.Service for the definition of a service name. + * @param Google_Service_ServiceControl_AllocateQuotaRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_ServiceControl_AllocateQuotaResponse + */ + public function allocateQuota($serviceName, Google_Service_ServiceControl_AllocateQuotaRequest $postBody, $optParams = array()) + { + $params = array('serviceName' => $serviceName, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('allocateQuota', array($params), "Google_Service_ServiceControl_AllocateQuotaResponse"); + } + /** + * Checks an operation with Google Service Control to decide whether the given + * operation should proceed. It should be called before the operation is + * executed. + * + * If feasible, the client should cache the check results and reuse them for 60 + * seconds. In case of server errors, the client can rely on the cached results + * for longer time. + * + * NOTE: the `CheckRequest` has the size limit of 64KB. + * + * This method requires the `servicemanagement.services.check` permission on the + * specified service. For more information, see [Google Cloud + * IAM](https://cloud.google.com/iam). (services.check) + * + * @param string $serviceName The service name as specified in its service + * configuration. For example, `"pubsub.googleapis.com"`. + * + * See google.api.Service for the definition of a service name. + * @param Google_Service_ServiceControl_CheckRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_ServiceControl_CheckResponse + */ + public function check($serviceName, Google_Service_ServiceControl_CheckRequest $postBody, $optParams = array()) + { + $params = array('serviceName' => $serviceName, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('check', array($params), "Google_Service_ServiceControl_CheckResponse"); + } + /** + * Signals the quota controller that service ends the ongoing usage + * reconciliation. + * + * This method requires the `servicemanagement.services.quota` permission on the + * specified service. For more information, see [Google Cloud + * IAM](https://cloud.google.com/iam). (services.endReconciliation) + * + * @param string $serviceName Name of the service as specified in the service + * configuration. For example, `"pubsub.googleapis.com"`. + * + * See google.api.Service for the definition of a service name. + * @param Google_Service_ServiceControl_EndReconciliationRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_ServiceControl_EndReconciliationResponse + */ + public function endReconciliation($serviceName, Google_Service_ServiceControl_EndReconciliationRequest $postBody, $optParams = array()) + { + $params = array('serviceName' => $serviceName, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('endReconciliation', array($params), "Google_Service_ServiceControl_EndReconciliationResponse"); + } + /** + * Releases previously allocated quota done through AllocateQuota method. + * + * This method requires the `servicemanagement.services.quota` permission on the + * specified service. For more information, see [Google Cloud + * IAM](https://cloud.google.com/iam). (services.releaseQuota) + * + * @param string $serviceName Name of the service as specified in the service + * configuration. For example, `"pubsub.googleapis.com"`. + * + * See google.api.Service for the definition of a service name. + * @param Google_Service_ServiceControl_ReleaseQuotaRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_ServiceControl_ReleaseQuotaResponse + */ + public function releaseQuota($serviceName, Google_Service_ServiceControl_ReleaseQuotaRequest $postBody, $optParams = array()) + { + $params = array('serviceName' => $serviceName, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('releaseQuota', array($params), "Google_Service_ServiceControl_ReleaseQuotaResponse"); + } + /** + * Reports operation results to Google Service Control, such as logs and + * metrics. It should be called after an operation is completed. + * + * If feasible, the client should aggregate reporting data for up to 5 seconds + * to reduce API traffic. Limiting aggregation to 5 seconds is to reduce data + * loss during client crashes. Clients should carefully choose the aggregation + * time window to avoid data loss risk more than 0.01% for business and + * compliance reasons. + * + * NOTE: the `ReportRequest` has the size limit of 1MB. + * + * This method requires the `servicemanagement.services.report` permission on + * the specified service. For more information, see [Google Cloud + * IAM](https://cloud.google.com/iam). (services.report) + * + * @param string $serviceName The service name as specified in its service + * configuration. For example, `"pubsub.googleapis.com"`. + * + * See google.api.Service for the definition of a service name. + * @param Google_Service_ServiceControl_ReportRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_ServiceControl_ReportResponse + */ + public function report($serviceName, Google_Service_ServiceControl_ReportRequest $postBody, $optParams = array()) + { + $params = array('serviceName' => $serviceName, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('report', array($params), "Google_Service_ServiceControl_ReportResponse"); + } + /** + * Unlike rate quota, allocation quota does not get refilled periodically. So, + * it is possible that the quota usage as seen by the service differs from what + * the One Platform considers the usage is. This is expected to happen only + * rarely, but over time this can accumulate. Services can invoke + * StartReconciliation and EndReconciliation to correct this usage drift, as + * described below: 1. Service sends StartReconciliation with a timestamp in + * future for each metric that needs to be reconciled. The timestamp being in + * future allows to account for in-flight AllocateQuota and ReleaseQuota + * requests for the same metric. 2. One Platform records this timestamp and + * starts tracking subsequent AllocateQuota and ReleaseQuota requests until + * EndReconciliation is called. 3. At or after the time specified in the + * StartReconciliation, service sends EndReconciliation with the usage that + * needs to be reconciled to. 4. One Platform adjusts its own record of usage + * for that metric to the value specified in EndReconciliation by taking in + * to account any allocation or release between StartReconciliation and + * EndReconciliation. + * + * Signals the quota controller that the service wants to perform a usage + * reconciliation as specified in the request. + * + * This method requires the `servicemanagement.services.quota` permission on the + * specified service. For more information, see [Google Cloud + * IAM](https://cloud.google.com/iam). (services.startReconciliation) + * + * @param string $serviceName Name of the service as specified in the service + * configuration. For example, `"pubsub.googleapis.com"`. + * + * See google.api.Service for the definition of a service name. + * @param Google_Service_ServiceControl_StartReconciliationRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_ServiceControl_StartReconciliationResponse + */ + public function startReconciliation($serviceName, Google_Service_ServiceControl_StartReconciliationRequest $postBody, $optParams = array()) + { + $params = array('serviceName' => $serviceName, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('startReconciliation', array($params), "Google_Service_ServiceControl_StartReconciliationResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ServiceControl/StartReconciliationRequest.php b/vendor/google/apiclient-services/src/Google/Service/ServiceControl/StartReconciliationRequest.php new file mode 100644 index 00000000..1bcb79af --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ServiceControl/StartReconciliationRequest.php @@ -0,0 +1,40 @@ +reconciliationOperation = $reconciliationOperation; + } + public function getReconciliationOperation() + { + return $this->reconciliationOperation; + } + public function setServiceConfigId($serviceConfigId) + { + $this->serviceConfigId = $serviceConfigId; + } + public function getServiceConfigId() + { + return $this->serviceConfigId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ServiceControl/StartReconciliationResponse.php b/vendor/google/apiclient-services/src/Google/Service/ServiceControl/StartReconciliationResponse.php new file mode 100644 index 00000000..5c153fd3 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ServiceControl/StartReconciliationResponse.php @@ -0,0 +1,60 @@ +operationId = $operationId; + } + public function getOperationId() + { + return $this->operationId; + } + public function setQuotaMetrics($quotaMetrics) + { + $this->quotaMetrics = $quotaMetrics; + } + public function getQuotaMetrics() + { + return $this->quotaMetrics; + } + public function setReconciliationErrors($reconciliationErrors) + { + $this->reconciliationErrors = $reconciliationErrors; + } + public function getReconciliationErrors() + { + return $this->reconciliationErrors; + } + public function setServiceConfigId($serviceConfigId) + { + $this->serviceConfigId = $serviceConfigId; + } + public function getServiceConfigId() + { + return $this->serviceConfigId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ServiceControl/Status.php b/vendor/google/apiclient-services/src/Google/Service/ServiceControl/Status.php new file mode 100644 index 00000000..98bf6b0c --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ServiceControl/Status.php @@ -0,0 +1,49 @@ +code = $code; + } + public function getCode() + { + return $this->code; + } + public function setDetails($details) + { + $this->details = $details; + } + public function getDetails() + { + return $this->details; + } + public function setMessage($message) + { + $this->message = $message; + } + public function getMessage() + { + return $this->message; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ServiceManagement.php b/vendor/google/apiclient-services/src/Google/Service/ServiceManagement.php new file mode 100644 index 00000000..e87d359f --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ServiceManagement.php @@ -0,0 +1,366 @@ + + * Google Service Management allows service producers to publish their services + * on Google Cloud Platform so that they can be discovered and used by service + * consumers.

+ * + *

+ * For more information about this service, see the API + * Documentation + *

+ * + * @author Google, Inc. + */ +class Google_Service_ServiceManagement extends Google_Service +{ + /** View and manage your data across Google Cloud Platform services. */ + const CLOUD_PLATFORM = + "https://www.googleapis.com/auth/cloud-platform"; + /** View your data across Google Cloud Platform services. */ + const CLOUD_PLATFORM_READ_ONLY = + "https://www.googleapis.com/auth/cloud-platform.read-only"; + /** Manage your Google API service configuration. */ + const SERVICE_MANAGEMENT = + "https://www.googleapis.com/auth/service.management"; + /** View your Google API service configuration. */ + const SERVICE_MANAGEMENT_READONLY = + "https://www.googleapis.com/auth/service.management.readonly"; + + public $operations; + public $services; + public $services_configs; + public $services_rollouts; + + /** + * Constructs the internal representation of the ServiceManagement service. + * + * @param Google_Client $client + */ + public function __construct(Google_Client $client) + { + parent::__construct($client); + $this->rootUrl = 'https://servicemanagement.googleapis.com/'; + $this->servicePath = ''; + $this->version = 'v1'; + $this->serviceName = 'servicemanagement'; + + $this->operations = new Google_Service_ServiceManagement_Resource_Operations( + $this, + $this->serviceName, + 'operations', + array( + 'methods' => array( + 'get' => array( + 'path' => 'v1/{+name}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'name' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'v1/{+name}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'name' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'filter' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pageSize' => array( + 'location' => 'query', + 'type' => 'integer', + ), + ), + ), + ) + ) + ); + $this->services = new Google_Service_ServiceManagement_Resource_Services( + $this, + $this->serviceName, + 'services', + array( + 'methods' => array( + 'create' => array( + 'path' => 'v1/services', + 'httpMethod' => 'POST', + 'parameters' => array(), + ),'delete' => array( + 'path' => 'v1/services/{serviceName}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'serviceName' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'disable' => array( + 'path' => 'v1/services/{serviceName}:disable', + 'httpMethod' => 'POST', + 'parameters' => array( + 'serviceName' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'enable' => array( + 'path' => 'v1/services/{serviceName}:enable', + 'httpMethod' => 'POST', + 'parameters' => array( + 'serviceName' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'generateConfigReport' => array( + 'path' => 'v1/services:generateConfigReport', + 'httpMethod' => 'POST', + 'parameters' => array(), + ),'get' => array( + 'path' => 'v1/services/{serviceName}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'serviceName' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'getConfig' => array( + 'path' => 'v1/services/{serviceName}/config', + 'httpMethod' => 'GET', + 'parameters' => array( + 'serviceName' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'configId' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'view' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'getIamPolicy' => array( + 'path' => 'v1/{+resource}:getIamPolicy', + 'httpMethod' => 'POST', + 'parameters' => array( + 'resource' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'v1/services', + 'httpMethod' => 'GET', + 'parameters' => array( + 'consumerId' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pageSize' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'producerProjectId' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'setIamPolicy' => array( + 'path' => 'v1/{+resource}:setIamPolicy', + 'httpMethod' => 'POST', + 'parameters' => array( + 'resource' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'testIamPermissions' => array( + 'path' => 'v1/{+resource}:testIamPermissions', + 'httpMethod' => 'POST', + 'parameters' => array( + 'resource' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'undelete' => array( + 'path' => 'v1/services/{serviceName}:undelete', + 'httpMethod' => 'POST', + 'parameters' => array( + 'serviceName' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->services_configs = new Google_Service_ServiceManagement_Resource_ServicesConfigs( + $this, + $this->serviceName, + 'configs', + array( + 'methods' => array( + 'create' => array( + 'path' => 'v1/services/{serviceName}/configs', + 'httpMethod' => 'POST', + 'parameters' => array( + 'serviceName' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'get' => array( + 'path' => 'v1/services/{serviceName}/configs/{configId}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'serviceName' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'configId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'view' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'list' => array( + 'path' => 'v1/services/{serviceName}/configs', + 'httpMethod' => 'GET', + 'parameters' => array( + 'serviceName' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pageSize' => array( + 'location' => 'query', + 'type' => 'integer', + ), + ), + ),'submit' => array( + 'path' => 'v1/services/{serviceName}/configs:submit', + 'httpMethod' => 'POST', + 'parameters' => array( + 'serviceName' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->services_rollouts = new Google_Service_ServiceManagement_Resource_ServicesRollouts( + $this, + $this->serviceName, + 'rollouts', + array( + 'methods' => array( + 'create' => array( + 'path' => 'v1/services/{serviceName}/rollouts', + 'httpMethod' => 'POST', + 'parameters' => array( + 'serviceName' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'get' => array( + 'path' => 'v1/services/{serviceName}/rollouts/{rolloutId}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'serviceName' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'rolloutId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'v1/services/{serviceName}/rollouts', + 'httpMethod' => 'GET', + 'parameters' => array( + 'serviceName' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pageSize' => array( + 'location' => 'query', + 'type' => 'integer', + ), + ), + ), + ) + ) + ); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/Advice.php b/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/Advice.php new file mode 100644 index 00000000..ea85b5d4 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/Advice.php @@ -0,0 +1,30 @@ +description = $description; + } + public function getDescription() + { + return $this->description; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/Analytics.php b/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/Analytics.php new file mode 100644 index 00000000..c1f6fd09 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/Analytics.php @@ -0,0 +1,32 @@ +producerDestinations = $producerDestinations; + } + public function getProducerDestinations() + { + return $this->producerDestinations; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/AnalyticsDestination.php b/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/AnalyticsDestination.php new file mode 100644 index 00000000..75172d5c --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/AnalyticsDestination.php @@ -0,0 +1,40 @@ +metrics = $metrics; + } + public function getMetrics() + { + return $this->metrics; + } + public function setMonitoredResource($monitoredResource) + { + $this->monitoredResource = $monitoredResource; + } + public function getMonitoredResource() + { + return $this->monitoredResource; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/Api.php b/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/Api.php new file mode 100644 index 00000000..029bc79a --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/Api.php @@ -0,0 +1,89 @@ +methods = $methods; + } + public function getMethods() + { + return $this->methods; + } + public function setMixins($mixins) + { + $this->mixins = $mixins; + } + public function getMixins() + { + return $this->mixins; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setOptions($options) + { + $this->options = $options; + } + public function getOptions() + { + return $this->options; + } + public function setSourceContext(Google_Service_ServiceManagement_SourceContext $sourceContext) + { + $this->sourceContext = $sourceContext; + } + public function getSourceContext() + { + return $this->sourceContext; + } + public function setSyntax($syntax) + { + $this->syntax = $syntax; + } + public function getSyntax() + { + return $this->syntax; + } + public function setVersion($version) + { + $this->version = $version; + } + public function getVersion() + { + return $this->version; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/AuditConfig.php b/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/AuditConfig.php new file mode 100644 index 00000000..4b118b43 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/AuditConfig.php @@ -0,0 +1,50 @@ +auditLogConfigs = $auditLogConfigs; + } + public function getAuditLogConfigs() + { + return $this->auditLogConfigs; + } + public function setExemptedMembers($exemptedMembers) + { + $this->exemptedMembers = $exemptedMembers; + } + public function getExemptedMembers() + { + return $this->exemptedMembers; + } + public function setService($service) + { + $this->service = $service; + } + public function getService() + { + return $this->service; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/AuditLogConfig.php b/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/AuditLogConfig.php new file mode 100644 index 00000000..7c83ca3a --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/AuditLogConfig.php @@ -0,0 +1,40 @@ +exemptedMembers = $exemptedMembers; + } + public function getExemptedMembers() + { + return $this->exemptedMembers; + } + public function setLogType($logType) + { + $this->logType = $logType; + } + public function getLogType() + { + return $this->logType; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/AuthProvider.php b/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/AuthProvider.php new file mode 100644 index 00000000..c88ac099 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/AuthProvider.php @@ -0,0 +1,57 @@ +audiences = $audiences; + } + public function getAudiences() + { + return $this->audiences; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setIssuer($issuer) + { + $this->issuer = $issuer; + } + public function getIssuer() + { + return $this->issuer; + } + public function setJwksUri($jwksUri) + { + $this->jwksUri = $jwksUri; + } + public function getJwksUri() + { + return $this->jwksUri; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/AuthRequirement.php b/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/AuthRequirement.php new file mode 100644 index 00000000..6ab3b963 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/AuthRequirement.php @@ -0,0 +1,39 @@ +audiences = $audiences; + } + public function getAudiences() + { + return $this->audiences; + } + public function setProviderId($providerId) + { + $this->providerId = $providerId; + } + public function getProviderId() + { + return $this->providerId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/Authentication.php b/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/Authentication.php new file mode 100644 index 00000000..01962ef2 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/Authentication.php @@ -0,0 +1,42 @@ +providers = $providers; + } + public function getProviders() + { + return $this->providers; + } + public function setRules($rules) + { + $this->rules = $rules; + } + public function getRules() + { + return $this->rules; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/AuthenticationRule.php b/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/AuthenticationRule.php new file mode 100644 index 00000000..f24ae16d --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/AuthenticationRule.php @@ -0,0 +1,60 @@ +allowWithoutCredential = $allowWithoutCredential; + } + public function getAllowWithoutCredential() + { + return $this->allowWithoutCredential; + } + public function setOauth(Google_Service_ServiceManagement_OAuthRequirements $oauth) + { + $this->oauth = $oauth; + } + public function getOauth() + { + return $this->oauth; + } + public function setRequirements($requirements) + { + $this->requirements = $requirements; + } + public function getRequirements() + { + return $this->requirements; + } + public function setSelector($selector) + { + $this->selector = $selector; + } + public function getSelector() + { + return $this->selector; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/AuthorizationConfig.php b/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/AuthorizationConfig.php new file mode 100644 index 00000000..e565cdb9 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/AuthorizationConfig.php @@ -0,0 +1,30 @@ +provider = $provider; + } + public function getProvider() + { + return $this->provider; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/Backend.php b/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/Backend.php new file mode 100644 index 00000000..f472c079 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/Backend.php @@ -0,0 +1,32 @@ +rules = $rules; + } + public function getRules() + { + return $this->rules; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/BackendRule.php b/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/BackendRule.php new file mode 100644 index 00000000..02b0c65c --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/BackendRule.php @@ -0,0 +1,48 @@ +address = $address; + } + public function getAddress() + { + return $this->address; + } + public function setDeadline($deadline) + { + $this->deadline = $deadline; + } + public function getDeadline() + { + return $this->deadline; + } + public function setSelector($selector) + { + $this->selector = $selector; + } + public function getSelector() + { + return $this->selector; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/Binding.php b/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/Binding.php new file mode 100644 index 00000000..653a8442 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/Binding.php @@ -0,0 +1,40 @@ +members = $members; + } + public function getMembers() + { + return $this->members; + } + public function setRole($role) + { + $this->role = $role; + } + public function getRole() + { + return $this->role; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/ChangeReport.php b/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/ChangeReport.php new file mode 100644 index 00000000..356d282c --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/ChangeReport.php @@ -0,0 +1,32 @@ +configChanges = $configChanges; + } + public function getConfigChanges() + { + return $this->configChanges; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/CloudAuditOptions.php b/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/CloudAuditOptions.php new file mode 100644 index 00000000..348d6b83 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/CloudAuditOptions.php @@ -0,0 +1,20 @@ +iam = $iam; + } + public function getIam() + { + return $this->iam; + } + public function setOp($op) + { + $this->op = $op; + } + public function getOp() + { + return $this->op; + } + public function setSvc($svc) + { + $this->svc = $svc; + } + public function getSvc() + { + return $this->svc; + } + public function setSys($sys) + { + $this->sys = $sys; + } + public function getSys() + { + return $this->sys; + } + public function setValue($value) + { + $this->value = $value; + } + public function getValue() + { + return $this->value; + } + public function setValues($values) + { + $this->values = $values; + } + public function getValues() + { + return $this->values; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/ConfigChange.php b/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/ConfigChange.php new file mode 100644 index 00000000..e360f097 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/ConfigChange.php @@ -0,0 +1,68 @@ +advices = $advices; + } + public function getAdvices() + { + return $this->advices; + } + public function setChangeType($changeType) + { + $this->changeType = $changeType; + } + public function getChangeType() + { + return $this->changeType; + } + public function setElement($element) + { + $this->element = $element; + } + public function getElement() + { + return $this->element; + } + public function setNewValue($newValue) + { + $this->newValue = $newValue; + } + public function getNewValue() + { + return $this->newValue; + } + public function setOldValue($oldValue) + { + $this->oldValue = $oldValue; + } + public function getOldValue() + { + return $this->oldValue; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/ConfigFile.php b/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/ConfigFile.php new file mode 100644 index 00000000..b34518cd --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/ConfigFile.php @@ -0,0 +1,48 @@ +fileContents = $fileContents; + } + public function getFileContents() + { + return $this->fileContents; + } + public function setFilePath($filePath) + { + $this->filePath = $filePath; + } + public function getFilePath() + { + return $this->filePath; + } + public function setFileType($fileType) + { + $this->fileType = $fileType; + } + public function getFileType() + { + return $this->fileType; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/ConfigOptions.php b/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/ConfigOptions.php new file mode 100644 index 00000000..53a13c72 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/ConfigOptions.php @@ -0,0 +1,20 @@ +name = $name; + } + public function getName() + { + return $this->name; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/ConfigSource.php b/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/ConfigSource.php new file mode 100644 index 00000000..312da61d --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/ConfigSource.php @@ -0,0 +1,41 @@ +files = $files; + } + public function getFiles() + { + return $this->files; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/Context.php b/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/Context.php new file mode 100644 index 00000000..d0fb9e36 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/Context.php @@ -0,0 +1,32 @@ +rules = $rules; + } + public function getRules() + { + return $this->rules; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/ContextRule.php b/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/ContextRule.php new file mode 100644 index 00000000..3d58609d --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/ContextRule.php @@ -0,0 +1,49 @@ +provided = $provided; + } + public function getProvided() + { + return $this->provided; + } + public function setRequested($requested) + { + $this->requested = $requested; + } + public function getRequested() + { + return $this->requested; + } + public function setSelector($selector) + { + $this->selector = $selector; + } + public function getSelector() + { + return $this->selector; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/Control.php b/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/Control.php new file mode 100644 index 00000000..cd384856 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/Control.php @@ -0,0 +1,30 @@ +environment = $environment; + } + public function getEnvironment() + { + return $this->environment; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/CounterOptions.php b/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/CounterOptions.php new file mode 100644 index 00000000..e9887b08 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/CounterOptions.php @@ -0,0 +1,39 @@ +field = $field; + } + public function getField() + { + return $this->field; + } + public function setMetric($metric) + { + $this->metric = $metric; + } + public function getMetric() + { + return $this->metric; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/CustomError.php b/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/CustomError.php new file mode 100644 index 00000000..3cdf5f1b --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/CustomError.php @@ -0,0 +1,41 @@ +rules = $rules; + } + public function getRules() + { + return $this->rules; + } + public function setTypes($types) + { + $this->types = $types; + } + public function getTypes() + { + return $this->types; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/CustomErrorRule.php b/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/CustomErrorRule.php new file mode 100644 index 00000000..4335060c --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/CustomErrorRule.php @@ -0,0 +1,39 @@ +isErrorType = $isErrorType; + } + public function getIsErrorType() + { + return $this->isErrorType; + } + public function setSelector($selector) + { + $this->selector = $selector; + } + public function getSelector() + { + return $this->selector; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/CustomHttpPattern.php b/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/CustomHttpPattern.php new file mode 100644 index 00000000..864728cf --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/CustomHttpPattern.php @@ -0,0 +1,39 @@ +kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setPath($path) + { + $this->path = $path; + } + public function getPath() + { + return $this->path; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/DataAccessOptions.php b/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/DataAccessOptions.php new file mode 100644 index 00000000..e3255d92 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/DataAccessOptions.php @@ -0,0 +1,20 @@ +kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setLocation($location) + { + $this->location = $location; + } + public function getLocation() + { + return $this->location; + } + public function setMessage($message) + { + $this->message = $message; + } + public function getMessage() + { + return $this->message; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/DisableServiceRequest.php b/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/DisableServiceRequest.php new file mode 100644 index 00000000..642c07dd --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/DisableServiceRequest.php @@ -0,0 +1,30 @@ +consumerId = $consumerId; + } + public function getConsumerId() + { + return $this->consumerId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/Documentation.php b/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/Documentation.php new file mode 100644 index 00000000..0815b6b0 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/Documentation.php @@ -0,0 +1,69 @@ +documentationRootUrl = $documentationRootUrl; + } + public function getDocumentationRootUrl() + { + return $this->documentationRootUrl; + } + public function setOverview($overview) + { + $this->overview = $overview; + } + public function getOverview() + { + return $this->overview; + } + public function setPages($pages) + { + $this->pages = $pages; + } + public function getPages() + { + return $this->pages; + } + public function setRules($rules) + { + $this->rules = $rules; + } + public function getRules() + { + return $this->rules; + } + public function setSummary($summary) + { + $this->summary = $summary; + } + public function getSummary() + { + return $this->summary; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/DocumentationRule.php b/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/DocumentationRule.php new file mode 100644 index 00000000..be1dddb4 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/DocumentationRule.php @@ -0,0 +1,48 @@ +deprecationDescription = $deprecationDescription; + } + public function getDeprecationDescription() + { + return $this->deprecationDescription; + } + public function setDescription($description) + { + $this->description = $description; + } + public function getDescription() + { + return $this->description; + } + public function setSelector($selector) + { + $this->selector = $selector; + } + public function getSelector() + { + return $this->selector; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/EnableServiceRequest.php b/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/EnableServiceRequest.php new file mode 100644 index 00000000..a220199a --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/EnableServiceRequest.php @@ -0,0 +1,30 @@ +consumerId = $consumerId; + } + public function getConsumerId() + { + return $this->consumerId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/Endpoint.php b/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/Endpoint.php new file mode 100644 index 00000000..428b6e1b --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/Endpoint.php @@ -0,0 +1,67 @@ +aliases = $aliases; + } + public function getAliases() + { + return $this->aliases; + } + public function setAllowCors($allowCors) + { + $this->allowCors = $allowCors; + } + public function getAllowCors() + { + return $this->allowCors; + } + public function setApis($apis) + { + $this->apis = $apis; + } + public function getApis() + { + return $this->apis; + } + public function setFeatures($features) + { + $this->features = $features; + } + public function getFeatures() + { + return $this->features; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/Enum.php b/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/Enum.php new file mode 100644 index 00000000..2791e8f0 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/Enum.php @@ -0,0 +1,70 @@ +enumvalue = $enumvalue; + } + public function getEnumvalue() + { + return $this->enumvalue; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setOptions($options) + { + $this->options = $options; + } + public function getOptions() + { + return $this->options; + } + public function setSourceContext(Google_Service_ServiceManagement_SourceContext $sourceContext) + { + $this->sourceContext = $sourceContext; + } + public function getSourceContext() + { + return $this->sourceContext; + } + public function setSyntax($syntax) + { + $this->syntax = $syntax; + } + public function getSyntax() + { + return $this->syntax; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/EnumValue.php b/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/EnumValue.php new file mode 100644 index 00000000..50d5d481 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/EnumValue.php @@ -0,0 +1,50 @@ +name = $name; + } + public function getName() + { + return $this->name; + } + public function setNumber($number) + { + $this->number = $number; + } + public function getNumber() + { + return $this->number; + } + public function setOptions($options) + { + $this->options = $options; + } + public function getOptions() + { + return $this->options; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/Experimental.php b/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/Experimental.php new file mode 100644 index 00000000..cd26e618 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/Experimental.php @@ -0,0 +1,31 @@ +authorization = $authorization; + } + public function getAuthorization() + { + return $this->authorization; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/Field.php b/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/Field.php new file mode 100644 index 00000000..bb7ba6fc --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/Field.php @@ -0,0 +1,113 @@ +cardinality = $cardinality; + } + public function getCardinality() + { + return $this->cardinality; + } + public function setDefaultValue($defaultValue) + { + $this->defaultValue = $defaultValue; + } + public function getDefaultValue() + { + return $this->defaultValue; + } + public function setJsonName($jsonName) + { + $this->jsonName = $jsonName; + } + public function getJsonName() + { + return $this->jsonName; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setNumber($number) + { + $this->number = $number; + } + public function getNumber() + { + return $this->number; + } + public function setOneofIndex($oneofIndex) + { + $this->oneofIndex = $oneofIndex; + } + public function getOneofIndex() + { + return $this->oneofIndex; + } + public function setOptions($options) + { + $this->options = $options; + } + public function getOptions() + { + return $this->options; + } + public function setPacked($packed) + { + $this->packed = $packed; + } + public function getPacked() + { + return $this->packed; + } + public function setTypeUrl($typeUrl) + { + $this->typeUrl = $typeUrl; + } + public function getTypeUrl() + { + return $this->typeUrl; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/GenerateConfigReportRequest.php b/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/GenerateConfigReportRequest.php new file mode 100644 index 00000000..69b2b040 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/GenerateConfigReportRequest.php @@ -0,0 +1,39 @@ +newConfig = $newConfig; + } + public function getNewConfig() + { + return $this->newConfig; + } + public function setOldConfig($oldConfig) + { + $this->oldConfig = $oldConfig; + } + public function getOldConfig() + { + return $this->oldConfig; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/GenerateConfigReportResponse.php b/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/GenerateConfigReportResponse.php new file mode 100644 index 00000000..29f74874 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/GenerateConfigReportResponse.php @@ -0,0 +1,60 @@ +changeReports = $changeReports; + } + public function getChangeReports() + { + return $this->changeReports; + } + public function setDiagnostics($diagnostics) + { + $this->diagnostics = $diagnostics; + } + public function getDiagnostics() + { + return $this->diagnostics; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setServiceName($serviceName) + { + $this->serviceName = $serviceName; + } + public function getServiceName() + { + return $this->serviceName; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/GetIamPolicyRequest.php b/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/GetIamPolicyRequest.php new file mode 100644 index 00000000..9424ea28 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/GetIamPolicyRequest.php @@ -0,0 +1,20 @@ +rules = $rules; + } + public function getRules() + { + return $this->rules; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/HttpRule.php b/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/HttpRule.php new file mode 100644 index 00000000..f020e39c --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/HttpRule.php @@ -0,0 +1,134 @@ +additionalBindings = $additionalBindings; + } + public function getAdditionalBindings() + { + return $this->additionalBindings; + } + public function setBody($body) + { + $this->body = $body; + } + public function getBody() + { + return $this->body; + } + public function setCustom(Google_Service_ServiceManagement_CustomHttpPattern $custom) + { + $this->custom = $custom; + } + public function getCustom() + { + return $this->custom; + } + public function setDelete($delete) + { + $this->delete = $delete; + } + public function getDelete() + { + return $this->delete; + } + public function setGet($get) + { + $this->get = $get; + } + public function getGet() + { + return $this->get; + } + public function setMediaDownload(Google_Service_ServiceManagement_MediaDownload $mediaDownload) + { + $this->mediaDownload = $mediaDownload; + } + public function getMediaDownload() + { + return $this->mediaDownload; + } + public function setMediaUpload(Google_Service_ServiceManagement_MediaUpload $mediaUpload) + { + $this->mediaUpload = $mediaUpload; + } + public function getMediaUpload() + { + return $this->mediaUpload; + } + public function setPatch($patch) + { + $this->patch = $patch; + } + public function getPatch() + { + return $this->patch; + } + public function setPost($post) + { + $this->post = $post; + } + public function getPost() + { + return $this->post; + } + public function setPut($put) + { + $this->put = $put; + } + public function getPut() + { + return $this->put; + } + public function setResponseBody($responseBody) + { + $this->responseBody = $responseBody; + } + public function getResponseBody() + { + return $this->responseBody; + } + public function setSelector($selector) + { + $this->selector = $selector; + } + public function getSelector() + { + return $this->selector; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/LabelDescriptor.php b/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/LabelDescriptor.php new file mode 100644 index 00000000..82d3f600 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/LabelDescriptor.php @@ -0,0 +1,48 @@ +description = $description; + } + public function getDescription() + { + return $this->description; + } + public function setKey($key) + { + $this->key = $key; + } + public function getKey() + { + return $this->key; + } + public function setValueType($valueType) + { + $this->valueType = $valueType; + } + public function getValueType() + { + return $this->valueType; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/ListOperationsResponse.php b/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/ListOperationsResponse.php new file mode 100644 index 00000000..0065fb0b --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/ListOperationsResponse.php @@ -0,0 +1,41 @@ +nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setOperations($operations) + { + $this->operations = $operations; + } + public function getOperations() + { + return $this->operations; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/ListServiceConfigsResponse.php b/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/ListServiceConfigsResponse.php new file mode 100644 index 00000000..cb40067c --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/ListServiceConfigsResponse.php @@ -0,0 +1,41 @@ +nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setServiceConfigs($serviceConfigs) + { + $this->serviceConfigs = $serviceConfigs; + } + public function getServiceConfigs() + { + return $this->serviceConfigs; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/ListServiceRolloutsResponse.php b/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/ListServiceRolloutsResponse.php new file mode 100644 index 00000000..f3362657 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/ListServiceRolloutsResponse.php @@ -0,0 +1,41 @@ +nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setRollouts($rollouts) + { + $this->rollouts = $rollouts; + } + public function getRollouts() + { + return $this->rollouts; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/ListServicesResponse.php b/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/ListServicesResponse.php new file mode 100644 index 00000000..d71d5236 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/ListServicesResponse.php @@ -0,0 +1,41 @@ +nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setServices($services) + { + $this->services = $services; + } + public function getServices() + { + return $this->services; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/LogConfig.php b/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/LogConfig.php new file mode 100644 index 00000000..e56803a8 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/LogConfig.php @@ -0,0 +1,51 @@ +cloudAudit = $cloudAudit; + } + public function getCloudAudit() + { + return $this->cloudAudit; + } + public function setCounter(Google_Service_ServiceManagement_CounterOptions $counter) + { + $this->counter = $counter; + } + public function getCounter() + { + return $this->counter; + } + public function setDataAccess(Google_Service_ServiceManagement_DataAccessOptions $dataAccess) + { + $this->dataAccess = $dataAccess; + } + public function getDataAccess() + { + return $this->dataAccess; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/LogDescriptor.php b/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/LogDescriptor.php new file mode 100644 index 00000000..6c1f9bac --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/LogDescriptor.php @@ -0,0 +1,59 @@ +description = $description; + } + public function getDescription() + { + return $this->description; + } + public function setDisplayName($displayName) + { + $this->displayName = $displayName; + } + public function getDisplayName() + { + return $this->displayName; + } + public function setLabels($labels) + { + $this->labels = $labels; + } + public function getLabels() + { + return $this->labels; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/Logging.php b/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/Logging.php new file mode 100644 index 00000000..6fb5798a --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/Logging.php @@ -0,0 +1,42 @@ +consumerDestinations = $consumerDestinations; + } + public function getConsumerDestinations() + { + return $this->consumerDestinations; + } + public function setProducerDestinations($producerDestinations) + { + $this->producerDestinations = $producerDestinations; + } + public function getProducerDestinations() + { + return $this->producerDestinations; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/LoggingDestination.php b/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/LoggingDestination.php new file mode 100644 index 00000000..9a2138c8 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/LoggingDestination.php @@ -0,0 +1,40 @@ +logs = $logs; + } + public function getLogs() + { + return $this->logs; + } + public function setMonitoredResource($monitoredResource) + { + $this->monitoredResource = $monitoredResource; + } + public function getMonitoredResource() + { + return $this->monitoredResource; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/ManagedService.php b/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/ManagedService.php new file mode 100644 index 00000000..4f15460e --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/ManagedService.php @@ -0,0 +1,39 @@ +producerProjectId = $producerProjectId; + } + public function getProducerProjectId() + { + return $this->producerProjectId; + } + public function setServiceName($serviceName) + { + $this->serviceName = $serviceName; + } + public function getServiceName() + { + return $this->serviceName; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/MediaDownload.php b/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/MediaDownload.php new file mode 100644 index 00000000..864a9a78 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/MediaDownload.php @@ -0,0 +1,39 @@ +downloadService = $downloadService; + } + public function getDownloadService() + { + return $this->downloadService; + } + public function setEnabled($enabled) + { + $this->enabled = $enabled; + } + public function getEnabled() + { + return $this->enabled; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/MediaUpload.php b/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/MediaUpload.php new file mode 100644 index 00000000..467cabef --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/MediaUpload.php @@ -0,0 +1,39 @@ +enabled = $enabled; + } + public function getEnabled() + { + return $this->enabled; + } + public function setUploadService($uploadService) + { + $this->uploadService = $uploadService; + } + public function getUploadService() + { + return $this->uploadService; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/Method.php b/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/Method.php new file mode 100644 index 00000000..c1e6a66f --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/Method.php @@ -0,0 +1,86 @@ +name = $name; + } + public function getName() + { + return $this->name; + } + public function setOptions($options) + { + $this->options = $options; + } + public function getOptions() + { + return $this->options; + } + public function setRequestStreaming($requestStreaming) + { + $this->requestStreaming = $requestStreaming; + } + public function getRequestStreaming() + { + return $this->requestStreaming; + } + public function setRequestTypeUrl($requestTypeUrl) + { + $this->requestTypeUrl = $requestTypeUrl; + } + public function getRequestTypeUrl() + { + return $this->requestTypeUrl; + } + public function setResponseStreaming($responseStreaming) + { + $this->responseStreaming = $responseStreaming; + } + public function getResponseStreaming() + { + return $this->responseStreaming; + } + public function setResponseTypeUrl($responseTypeUrl) + { + $this->responseTypeUrl = $responseTypeUrl; + } + public function getResponseTypeUrl() + { + return $this->responseTypeUrl; + } + public function setSyntax($syntax) + { + $this->syntax = $syntax; + } + public function getSyntax() + { + return $this->syntax; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/MetricDescriptor.php b/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/MetricDescriptor.php new file mode 100644 index 00000000..c269d902 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/MetricDescriptor.php @@ -0,0 +1,95 @@ +description = $description; + } + public function getDescription() + { + return $this->description; + } + public function setDisplayName($displayName) + { + $this->displayName = $displayName; + } + public function getDisplayName() + { + return $this->displayName; + } + public function setLabels($labels) + { + $this->labels = $labels; + } + public function getLabels() + { + return $this->labels; + } + public function setMetricKind($metricKind) + { + $this->metricKind = $metricKind; + } + public function getMetricKind() + { + return $this->metricKind; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } + public function setUnit($unit) + { + $this->unit = $unit; + } + public function getUnit() + { + return $this->unit; + } + public function setValueType($valueType) + { + $this->valueType = $valueType; + } + public function getValueType() + { + return $this->valueType; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/Mixin.php b/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/Mixin.php new file mode 100644 index 00000000..fd3ed06d --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/Mixin.php @@ -0,0 +1,39 @@ +name = $name; + } + public function getName() + { + return $this->name; + } + public function setRoot($root) + { + $this->root = $root; + } + public function getRoot() + { + return $this->root; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/MonitoredResourceDescriptor.php b/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/MonitoredResourceDescriptor.php new file mode 100644 index 00000000..8852c0ae --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/MonitoredResourceDescriptor.php @@ -0,0 +1,68 @@ +description = $description; + } + public function getDescription() + { + return $this->description; + } + public function setDisplayName($displayName) + { + $this->displayName = $displayName; + } + public function getDisplayName() + { + return $this->displayName; + } + public function setLabels($labels) + { + $this->labels = $labels; + } + public function getLabels() + { + return $this->labels; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/Monitoring.php b/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/Monitoring.php new file mode 100644 index 00000000..fab80287 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/Monitoring.php @@ -0,0 +1,42 @@ +consumerDestinations = $consumerDestinations; + } + public function getConsumerDestinations() + { + return $this->consumerDestinations; + } + public function setProducerDestinations($producerDestinations) + { + $this->producerDestinations = $producerDestinations; + } + public function getProducerDestinations() + { + return $this->producerDestinations; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/MonitoringDestination.php b/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/MonitoringDestination.php new file mode 100644 index 00000000..06ee909d --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/MonitoringDestination.php @@ -0,0 +1,40 @@ +metrics = $metrics; + } + public function getMetrics() + { + return $this->metrics; + } + public function setMonitoredResource($monitoredResource) + { + $this->monitoredResource = $monitoredResource; + } + public function getMonitoredResource() + { + return $this->monitoredResource; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/OAuthRequirements.php b/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/OAuthRequirements.php new file mode 100644 index 00000000..1d75e701 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/OAuthRequirements.php @@ -0,0 +1,30 @@ +canonicalScopes = $canonicalScopes; + } + public function getCanonicalScopes() + { + return $this->canonicalScopes; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/Operation.php b/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/Operation.php new file mode 100644 index 00000000..c1e9a914 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/Operation.php @@ -0,0 +1,67 @@ +done = $done; + } + public function getDone() + { + return $this->done; + } + public function setError(Google_Service_ServiceManagement_Status $error) + { + $this->error = $error; + } + public function getError() + { + return $this->error; + } + public function setMetadata($metadata) + { + $this->metadata = $metadata; + } + public function getMetadata() + { + return $this->metadata; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setResponse($response) + { + $this->response = $response; + } + public function getResponse() + { + return $this->response; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/OperationMetadata.php b/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/OperationMetadata.php new file mode 100644 index 00000000..d77bd9de --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/OperationMetadata.php @@ -0,0 +1,59 @@ +progressPercentage = $progressPercentage; + } + public function getProgressPercentage() + { + return $this->progressPercentage; + } + public function setResourceNames($resourceNames) + { + $this->resourceNames = $resourceNames; + } + public function getResourceNames() + { + return $this->resourceNames; + } + public function setStartTime($startTime) + { + $this->startTime = $startTime; + } + public function getStartTime() + { + return $this->startTime; + } + public function setSteps($steps) + { + $this->steps = $steps; + } + public function getSteps() + { + return $this->steps; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/Option.php b/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/Option.php new file mode 100644 index 00000000..00ad2eb5 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/Option.php @@ -0,0 +1,39 @@ +name = $name; + } + public function getName() + { + return $this->name; + } + public function setValue($value) + { + $this->value = $value; + } + public function getValue() + { + return $this->value; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/Page.php b/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/Page.php new file mode 100644 index 00000000..ab37f03c --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/Page.php @@ -0,0 +1,50 @@ +content = $content; + } + public function getContent() + { + return $this->content; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setSubpages($subpages) + { + $this->subpages = $subpages; + } + public function getSubpages() + { + return $this->subpages; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/Policy.php b/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/Policy.php new file mode 100644 index 00000000..5890f138 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/Policy.php @@ -0,0 +1,79 @@ +auditConfigs = $auditConfigs; + } + public function getAuditConfigs() + { + return $this->auditConfigs; + } + public function setBindings($bindings) + { + $this->bindings = $bindings; + } + public function getBindings() + { + return $this->bindings; + } + public function setEtag($etag) + { + $this->etag = $etag; + } + public function getEtag() + { + return $this->etag; + } + public function setIamOwned($iamOwned) + { + $this->iamOwned = $iamOwned; + } + public function getIamOwned() + { + return $this->iamOwned; + } + public function setRules($rules) + { + $this->rules = $rules; + } + public function getRules() + { + return $this->rules; + } + public function setVersion($version) + { + $this->version = $version; + } + public function getVersion() + { + return $this->version; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/Resource/Operations.php b/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/Resource/Operations.php new file mode 100644 index 00000000..0ea5492e --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/Resource/Operations.php @@ -0,0 +1,65 @@ + + * $servicemanagementService = new Google_Service_ServiceManagement(...); + * $operations = $servicemanagementService->operations; + * + */ +class Google_Service_ServiceManagement_Resource_Operations extends Google_Service_Resource +{ + /** + * Gets the latest state of a long-running operation. Clients can use this + * method to poll the operation result at intervals as recommended by the API + * service. (operations.get) + * + * @param string $name The name of the operation resource. + * @param array $optParams Optional parameters. + * @return Google_Service_ServiceManagement_Operation + */ + public function get($name, $optParams = array()) + { + $params = array('name' => $name); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_ServiceManagement_Operation"); + } + /** + * Lists operations that match the specified filter in the request. If the + * server doesn't support this method, it returns `UNIMPLEMENTED`. + * + * NOTE: the `name` binding below allows API services to override the binding to + * use different resource name schemes, such as `users/operations`. + * (operations.listOperations) + * + * @param string $name The name of the operation collection. + * @param array $optParams Optional parameters. + * + * @opt_param string filter The standard list filter. + * @opt_param string pageToken The standard list page token. + * @opt_param int pageSize The standard list page size. + * @return Google_Service_ServiceManagement_ListOperationsResponse + */ + public function listOperations($name, $optParams = array()) + { + $params = array('name' => $name); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_ServiceManagement_ListOperationsResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/Resource/Services.php b/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/Resource/Services.php new file mode 100644 index 00000000..374aeceb --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/Resource/Services.php @@ -0,0 +1,265 @@ + + * $servicemanagementService = new Google_Service_ServiceManagement(...); + * $services = $servicemanagementService->services; + * + */ +class Google_Service_ServiceManagement_Resource_Services extends Google_Service_Resource +{ + /** + * Creates a new managed service. Please note one producer project can own no + * more than 20 services. + * + * Operation (services.create) + * + * @param Google_Service_ServiceManagement_ManagedService $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_ServiceManagement_Operation + */ + public function create(Google_Service_ServiceManagement_ManagedService $postBody, $optParams = array()) + { + $params = array('postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('create', array($params), "Google_Service_ServiceManagement_Operation"); + } + /** + * Deletes a managed service. This method will change the service to the `Soft- + * Delete` state for 30 days. Within this period, service producers may call + * UndeleteService to restore the service. After 30 days, the service will be + * permanently deleted. + * + * Operation (services.delete) + * + * @param string $serviceName The name of the service. See the [overview + * ](/service-management/overview) for naming requirements. For example: + * `example.googleapis.com`. + * @param array $optParams Optional parameters. + * @return Google_Service_ServiceManagement_Operation + */ + public function delete($serviceName, $optParams = array()) + { + $params = array('serviceName' => $serviceName); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params), "Google_Service_ServiceManagement_Operation"); + } + /** + * Disables a service for a project, so it can no longer be be used for the + * project. It prevents accidental usage that may cause unexpected billing + * charges or security leaks. + * + * Operation (services.disable) + * + * @param string $serviceName Name of the service to disable. Specifying an + * unknown service name will cause the request to fail. + * @param Google_Service_ServiceManagement_DisableServiceRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_ServiceManagement_Operation + */ + public function disable($serviceName, Google_Service_ServiceManagement_DisableServiceRequest $postBody, $optParams = array()) + { + $params = array('serviceName' => $serviceName, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('disable', array($params), "Google_Service_ServiceManagement_Operation"); + } + /** + * Enables a service for a project, so it can be used for the project. See + * [Cloud Auth Guide](https://cloud.google.com/docs/authentication) for more + * information. + * + * Operation (services.enable) + * + * @param string $serviceName Name of the service to enable. Specifying an + * unknown service name will cause the request to fail. + * @param Google_Service_ServiceManagement_EnableServiceRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_ServiceManagement_Operation + */ + public function enable($serviceName, Google_Service_ServiceManagement_EnableServiceRequest $postBody, $optParams = array()) + { + $params = array('serviceName' => $serviceName, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('enable', array($params), "Google_Service_ServiceManagement_Operation"); + } + /** + * Generates and returns a report (errors, warnings and changes from existing + * configurations) associated with GenerateConfigReportRequest.new_value + * + * If GenerateConfigReportRequest.old_value is specified, + * GenerateConfigReportRequest will contain a single ChangeReport based on the + * comparison between GenerateConfigReportRequest.new_value and + * GenerateConfigReportRequest.old_value. If + * GenerateConfigReportRequest.old_value is not specified, this method will + * compare GenerateConfigReportRequest.new_value with the last pushed service + * configuration. (services.generateConfigReport) + * + * @param Google_Service_ServiceManagement_GenerateConfigReportRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_ServiceManagement_GenerateConfigReportResponse + */ + public function generateConfigReport(Google_Service_ServiceManagement_GenerateConfigReportRequest $postBody, $optParams = array()) + { + $params = array('postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('generateConfigReport', array($params), "Google_Service_ServiceManagement_GenerateConfigReportResponse"); + } + /** + * Gets a managed service. Authentication is required unless the service is + * public. (services.get) + * + * @param string $serviceName The name of the service. See the `ServiceManager` + * overview for naming requirements. For example: `example.googleapis.com`. + * @param array $optParams Optional parameters. + * @return Google_Service_ServiceManagement_ManagedService + */ + public function get($serviceName, $optParams = array()) + { + $params = array('serviceName' => $serviceName); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_ServiceManagement_ManagedService"); + } + /** + * Gets a service configuration (version) for a managed service. + * (services.getConfig) + * + * @param string $serviceName The name of the service. See the [overview + * ](/service-management/overview) for naming requirements. For example: + * `example.googleapis.com`. + * @param array $optParams Optional parameters. + * + * @opt_param string configId The id of the service configuration resource. + * @opt_param string view Specifies which parts of the Service Config should be + * returned in the response. + * @return Google_Service_ServiceManagement_Service + */ + public function getConfig($serviceName, $optParams = array()) + { + $params = array('serviceName' => $serviceName); + $params = array_merge($params, $optParams); + return $this->call('getConfig', array($params), "Google_Service_ServiceManagement_Service"); + } + /** + * Gets the access control policy for a resource. Returns an empty policy if the + * resource exists and does not have a policy set. (services.getIamPolicy) + * + * @param string $resource REQUIRED: The resource for which the policy is being + * requested. See the operation documentation for the appropriate value for this + * field. + * @param Google_Service_ServiceManagement_GetIamPolicyRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_ServiceManagement_Policy + */ + public function getIamPolicy($resource, Google_Service_ServiceManagement_GetIamPolicyRequest $postBody, $optParams = array()) + { + $params = array('resource' => $resource, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('getIamPolicy', array($params), "Google_Service_ServiceManagement_Policy"); + } + /** + * Lists managed services. + * + * Returns all public services. For authenticated users, also returns all + * services the calling user has "servicemanagement.services.get" permission + * for. + * + * **BETA:** If the caller specifies the `consumer_id`, it returns only the + * services enabled on the consumer. The `consumer_id` must have the format of + * "project:{PROJECT-ID}". (services.listServices) + * + * @param array $optParams Optional parameters. + * + * @opt_param string consumerId Include services consumed by the specified + * consumer. + * + * The Google Service Management implementation accepts the following forms: - + * project: + * @opt_param string pageToken Token identifying which result to start with; + * returned by a previous list call. + * @opt_param int pageSize Requested size of the next page of data. + * @opt_param string producerProjectId Include services produced by the + * specified project. + * @return Google_Service_ServiceManagement_ListServicesResponse + */ + public function listServices($optParams = array()) + { + $params = array(); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_ServiceManagement_ListServicesResponse"); + } + /** + * Sets the access control policy on the specified resource. Replaces any + * existing policy. (services.setIamPolicy) + * + * @param string $resource REQUIRED: The resource for which the policy is being + * specified. See the operation documentation for the appropriate value for this + * field. + * @param Google_Service_ServiceManagement_SetIamPolicyRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_ServiceManagement_Policy + */ + public function setIamPolicy($resource, Google_Service_ServiceManagement_SetIamPolicyRequest $postBody, $optParams = array()) + { + $params = array('resource' => $resource, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('setIamPolicy', array($params), "Google_Service_ServiceManagement_Policy"); + } + /** + * Returns permissions that a caller has on the specified resource. If the + * resource does not exist, this will return an empty set of permissions, not a + * NOT_FOUND error. + * + * Note: This operation is designed to be used for building permission-aware UIs + * and command-line tools, not for authorization checking. This operation may + * "fail open" without warning. (services.testIamPermissions) + * + * @param string $resource REQUIRED: The resource for which the policy detail is + * being requested. See the operation documentation for the appropriate value + * for this field. + * @param Google_Service_ServiceManagement_TestIamPermissionsRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_ServiceManagement_TestIamPermissionsResponse + */ + public function testIamPermissions($resource, Google_Service_ServiceManagement_TestIamPermissionsRequest $postBody, $optParams = array()) + { + $params = array('resource' => $resource, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('testIamPermissions', array($params), "Google_Service_ServiceManagement_TestIamPermissionsResponse"); + } + /** + * Revives a previously deleted managed service. The method restores the service + * using the configuration at the time the service was deleted. The target + * service must exist and must have been deleted within the last 30 days. + * + * Operation (services.undelete) + * + * @param string $serviceName The name of the service. See the [overview + * ](/service-management/overview) for naming requirements. For example: + * `example.googleapis.com`. + * @param array $optParams Optional parameters. + * @return Google_Service_ServiceManagement_Operation + */ + public function undelete($serviceName, $optParams = array()) + { + $params = array('serviceName' => $serviceName); + $params = array_merge($params, $optParams); + return $this->call('undelete', array($params), "Google_Service_ServiceManagement_Operation"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/Resource/ServicesConfigs.php b/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/Resource/ServicesConfigs.php new file mode 100644 index 00000000..0dac08dd --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/Resource/ServicesConfigs.php @@ -0,0 +1,108 @@ + + * $servicemanagementService = new Google_Service_ServiceManagement(...); + * $configs = $servicemanagementService->configs; + * + */ +class Google_Service_ServiceManagement_Resource_ServicesConfigs extends Google_Service_Resource +{ + /** + * Creates a new service configuration (version) for a managed service. This + * method only stores the service configuration. To roll out the service + * configuration to backend systems please call CreateServiceRollout. + * (configs.create) + * + * @param string $serviceName The name of the service. See the [overview + * ](/service-management/overview) for naming requirements. For example: + * `example.googleapis.com`. + * @param Google_Service_ServiceManagement_Service $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_ServiceManagement_Service + */ + public function create($serviceName, Google_Service_ServiceManagement_Service $postBody, $optParams = array()) + { + $params = array('serviceName' => $serviceName, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('create', array($params), "Google_Service_ServiceManagement_Service"); + } + /** + * Gets a service configuration (version) for a managed service. (configs.get) + * + * @param string $serviceName The name of the service. See the [overview + * ](/service-management/overview) for naming requirements. For example: + * `example.googleapis.com`. + * @param string $configId The id of the service configuration resource. + * @param array $optParams Optional parameters. + * + * @opt_param string view Specifies which parts of the Service Config should be + * returned in the response. + * @return Google_Service_ServiceManagement_Service + */ + public function get($serviceName, $configId, $optParams = array()) + { + $params = array('serviceName' => $serviceName, 'configId' => $configId); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_ServiceManagement_Service"); + } + /** + * Lists the history of the service configuration for a managed service, from + * the newest to the oldest. (configs.listServicesConfigs) + * + * @param string $serviceName The name of the service. See the [overview + * ](/service-management/overview) for naming requirements. For example: + * `example.googleapis.com`. + * @param array $optParams Optional parameters. + * + * @opt_param string pageToken The token of the page to retrieve. + * @opt_param int pageSize The max number of items to include in the response + * list. + * @return Google_Service_ServiceManagement_ListServiceConfigsResponse + */ + public function listServicesConfigs($serviceName, $optParams = array()) + { + $params = array('serviceName' => $serviceName); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_ServiceManagement_ListServiceConfigsResponse"); + } + /** + * Creates a new service configuration (version) for a managed service based on + * user-supplied configuration source files (for example: OpenAPI + * Specification). This method stores the source configurations as well as the + * generated service configuration. To rollout the service configuration to + * other services, please call CreateServiceRollout. + * + * Operation (configs.submit) + * + * @param string $serviceName The name of the service. See the [overview + * ](/service-management/overview) for naming requirements. For example: + * `example.googleapis.com`. + * @param Google_Service_ServiceManagement_SubmitConfigSourceRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_ServiceManagement_Operation + */ + public function submit($serviceName, Google_Service_ServiceManagement_SubmitConfigSourceRequest $postBody, $optParams = array()) + { + $params = array('serviceName' => $serviceName, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('submit', array($params), "Google_Service_ServiceManagement_Operation"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/Resource/ServicesRollouts.php b/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/Resource/ServicesRollouts.php new file mode 100644 index 00000000..c15475d2 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/Resource/ServicesRollouts.php @@ -0,0 +1,89 @@ + + * $servicemanagementService = new Google_Service_ServiceManagement(...); + * $rollouts = $servicemanagementService->rollouts; + * + */ +class Google_Service_ServiceManagement_Resource_ServicesRollouts extends Google_Service_Resource +{ + /** + * Creates a new service configuration rollout. Based on rollout, the Google + * Service Management will roll out the service configurations to different + * backend services. For example, the logging configuration will be pushed to + * Google Cloud Logging. + * + * Please note that any previous pending and running Rollouts and associated + * Operations will be automatically cancelled so that the latest Rollout will + * not be blocked by previous Rollouts. + * + * Operation (rollouts.create) + * + * @param string $serviceName The name of the service. See the [overview + * ](/service-management/overview) for naming requirements. For example: + * `example.googleapis.com`. + * @param Google_Service_ServiceManagement_Rollout $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_ServiceManagement_Operation + */ + public function create($serviceName, Google_Service_ServiceManagement_Rollout $postBody, $optParams = array()) + { + $params = array('serviceName' => $serviceName, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('create', array($params), "Google_Service_ServiceManagement_Operation"); + } + /** + * Gets a service configuration rollout. (rollouts.get) + * + * @param string $serviceName The name of the service. See the [overview + * ](/service-management/overview) for naming requirements. For example: + * `example.googleapis.com`. + * @param string $rolloutId The id of the rollout resource. + * @param array $optParams Optional parameters. + * @return Google_Service_ServiceManagement_Rollout + */ + public function get($serviceName, $rolloutId, $optParams = array()) + { + $params = array('serviceName' => $serviceName, 'rolloutId' => $rolloutId); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_ServiceManagement_Rollout"); + } + /** + * Lists the history of the service configuration rollouts for a managed + * service, from the newest to the oldest. (rollouts.listServicesRollouts) + * + * @param string $serviceName The name of the service. See the [overview + * ](/service-management/overview) for naming requirements. For example: + * `example.googleapis.com`. + * @param array $optParams Optional parameters. + * + * @opt_param string pageToken The token of the page to retrieve. + * @opt_param int pageSize The max number of items to include in the response + * list. + * @return Google_Service_ServiceManagement_ListServiceRolloutsResponse + */ + public function listServicesRollouts($serviceName, $optParams = array()) + { + $params = array('serviceName' => $serviceName); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_ServiceManagement_ListServiceRolloutsResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/Rollout.php b/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/Rollout.php new file mode 100644 index 00000000..cd465993 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/Rollout.php @@ -0,0 +1,86 @@ +createTime = $createTime; + } + public function getCreateTime() + { + return $this->createTime; + } + public function setCreatedBy($createdBy) + { + $this->createdBy = $createdBy; + } + public function getCreatedBy() + { + return $this->createdBy; + } + public function setDeleteServiceStrategy(Google_Service_ServiceManagement_DeleteServiceStrategy $deleteServiceStrategy) + { + $this->deleteServiceStrategy = $deleteServiceStrategy; + } + public function getDeleteServiceStrategy() + { + return $this->deleteServiceStrategy; + } + public function setRolloutId($rolloutId) + { + $this->rolloutId = $rolloutId; + } + public function getRolloutId() + { + return $this->rolloutId; + } + public function setServiceName($serviceName) + { + $this->serviceName = $serviceName; + } + public function getServiceName() + { + return $this->serviceName; + } + public function setStatus($status) + { + $this->status = $status; + } + public function getStatus() + { + return $this->status; + } + public function setTrafficPercentStrategy(Google_Service_ServiceManagement_TrafficPercentStrategy $trafficPercentStrategy) + { + $this->trafficPercentStrategy = $trafficPercentStrategy; + } + public function getTrafficPercentStrategy() + { + return $this->trafficPercentStrategy; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/Rule.php b/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/Rule.php new file mode 100644 index 00000000..e31e5b43 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/Rule.php @@ -0,0 +1,87 @@ +action = $action; + } + public function getAction() + { + return $this->action; + } + public function setConditions($conditions) + { + $this->conditions = $conditions; + } + public function getConditions() + { + return $this->conditions; + } + public function setDescription($description) + { + $this->description = $description; + } + public function getDescription() + { + return $this->description; + } + public function setIn($in) + { + $this->in = $in; + } + public function getIn() + { + return $this->in; + } + public function setLogConfig($logConfig) + { + $this->logConfig = $logConfig; + } + public function getLogConfig() + { + return $this->logConfig; + } + public function setNotIn($notIn) + { + $this->notIn = $notIn; + } + public function getNotIn() + { + return $this->notIn; + } + public function setPermissions($permissions) + { + $this->permissions = $permissions; + } + public function getPermissions() + { + return $this->permissions; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/Service.php b/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/Service.php new file mode 100644 index 00000000..ee4dfa99 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/Service.php @@ -0,0 +1,287 @@ +apis = $apis; + } + public function getApis() + { + return $this->apis; + } + public function setAuthentication(Google_Service_ServiceManagement_Authentication $authentication) + { + $this->authentication = $authentication; + } + public function getAuthentication() + { + return $this->authentication; + } + public function setBackend(Google_Service_ServiceManagement_Backend $backend) + { + $this->backend = $backend; + } + public function getBackend() + { + return $this->backend; + } + public function setConfigVersion($configVersion) + { + $this->configVersion = $configVersion; + } + public function getConfigVersion() + { + return $this->configVersion; + } + public function setContext(Google_Service_ServiceManagement_Context $context) + { + $this->context = $context; + } + public function getContext() + { + return $this->context; + } + public function setControl(Google_Service_ServiceManagement_Control $control) + { + $this->control = $control; + } + public function getControl() + { + return $this->control; + } + public function setCustomError(Google_Service_ServiceManagement_CustomError $customError) + { + $this->customError = $customError; + } + public function getCustomError() + { + return $this->customError; + } + public function setDocumentation(Google_Service_ServiceManagement_Documentation $documentation) + { + $this->documentation = $documentation; + } + public function getDocumentation() + { + return $this->documentation; + } + public function setEndpoints($endpoints) + { + $this->endpoints = $endpoints; + } + public function getEndpoints() + { + return $this->endpoints; + } + public function setEnums($enums) + { + $this->enums = $enums; + } + public function getEnums() + { + return $this->enums; + } + public function setExperimental(Google_Service_ServiceManagement_Experimental $experimental) + { + $this->experimental = $experimental; + } + public function getExperimental() + { + return $this->experimental; + } + public function setHttp(Google_Service_ServiceManagement_Http $http) + { + $this->http = $http; + } + public function getHttp() + { + return $this->http; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setLogging(Google_Service_ServiceManagement_Logging $logging) + { + $this->logging = $logging; + } + public function getLogging() + { + return $this->logging; + } + public function setLogs($logs) + { + $this->logs = $logs; + } + public function getLogs() + { + return $this->logs; + } + public function setMetrics($metrics) + { + $this->metrics = $metrics; + } + public function getMetrics() + { + return $this->metrics; + } + public function setMonitoredResources($monitoredResources) + { + $this->monitoredResources = $monitoredResources; + } + public function getMonitoredResources() + { + return $this->monitoredResources; + } + public function setMonitoring(Google_Service_ServiceManagement_Monitoring $monitoring) + { + $this->monitoring = $monitoring; + } + public function getMonitoring() + { + return $this->monitoring; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setProducerProjectId($producerProjectId) + { + $this->producerProjectId = $producerProjectId; + } + public function getProducerProjectId() + { + return $this->producerProjectId; + } + public function setSourceInfo(Google_Service_ServiceManagement_SourceInfo $sourceInfo) + { + $this->sourceInfo = $sourceInfo; + } + public function getSourceInfo() + { + return $this->sourceInfo; + } + public function setSystemParameters(Google_Service_ServiceManagement_SystemParameters $systemParameters) + { + $this->systemParameters = $systemParameters; + } + public function getSystemParameters() + { + return $this->systemParameters; + } + public function setSystemTypes($systemTypes) + { + $this->systemTypes = $systemTypes; + } + public function getSystemTypes() + { + return $this->systemTypes; + } + public function setTitle($title) + { + $this->title = $title; + } + public function getTitle() + { + return $this->title; + } + public function setTypes($types) + { + $this->types = $types; + } + public function getTypes() + { + return $this->types; + } + public function setUsage(Google_Service_ServiceManagement_Usage $usage) + { + $this->usage = $usage; + } + public function getUsage() + { + return $this->usage; + } + public function setVisibility(Google_Service_ServiceManagement_Visibility $visibility) + { + $this->visibility = $visibility; + } + public function getVisibility() + { + return $this->visibility; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/SetIamPolicyRequest.php b/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/SetIamPolicyRequest.php new file mode 100644 index 00000000..fba45ae7 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/SetIamPolicyRequest.php @@ -0,0 +1,40 @@ +policy = $policy; + } + public function getPolicy() + { + return $this->policy; + } + public function setUpdateMask($updateMask) + { + $this->updateMask = $updateMask; + } + public function getUpdateMask() + { + return $this->updateMask; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/SourceContext.php b/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/SourceContext.php new file mode 100644 index 00000000..523a21c8 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/SourceContext.php @@ -0,0 +1,30 @@ +fileName = $fileName; + } + public function getFileName() + { + return $this->fileName; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/SourceInfo.php b/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/SourceInfo.php new file mode 100644 index 00000000..8432cf17 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/SourceInfo.php @@ -0,0 +1,31 @@ +sourceFiles = $sourceFiles; + } + public function getSourceFiles() + { + return $this->sourceFiles; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/Status.php b/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/Status.php new file mode 100644 index 00000000..11e63b3c --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/Status.php @@ -0,0 +1,49 @@ +code = $code; + } + public function getCode() + { + return $this->code; + } + public function setDetails($details) + { + $this->details = $details; + } + public function getDetails() + { + return $this->details; + } + public function setMessage($message) + { + $this->message = $message; + } + public function getMessage() + { + return $this->message; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/Step.php b/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/Step.php new file mode 100644 index 00000000..18687c7e --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/Step.php @@ -0,0 +1,39 @@ +description = $description; + } + public function getDescription() + { + return $this->description; + } + public function setStatus($status) + { + $this->status = $status; + } + public function getStatus() + { + return $this->status; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/SubmitConfigSourceRequest.php b/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/SubmitConfigSourceRequest.php new file mode 100644 index 00000000..e8069c5e --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/SubmitConfigSourceRequest.php @@ -0,0 +1,40 @@ +configSource = $configSource; + } + public function getConfigSource() + { + return $this->configSource; + } + public function setValidateOnly($validateOnly) + { + $this->validateOnly = $validateOnly; + } + public function getValidateOnly() + { + return $this->validateOnly; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/SubmitConfigSourceResponse.php b/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/SubmitConfigSourceResponse.php new file mode 100644 index 00000000..8b89f21f --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/SubmitConfigSourceResponse.php @@ -0,0 +1,31 @@ +serviceConfig = $serviceConfig; + } + public function getServiceConfig() + { + return $this->serviceConfig; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/SystemParameter.php b/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/SystemParameter.php new file mode 100644 index 00000000..0c5421c6 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/SystemParameter.php @@ -0,0 +1,48 @@ +httpHeader = $httpHeader; + } + public function getHttpHeader() + { + return $this->httpHeader; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setUrlQueryParameter($urlQueryParameter) + { + $this->urlQueryParameter = $urlQueryParameter; + } + public function getUrlQueryParameter() + { + return $this->urlQueryParameter; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/SystemParameterRule.php b/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/SystemParameterRule.php new file mode 100644 index 00000000..7d8b879c --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/SystemParameterRule.php @@ -0,0 +1,41 @@ +parameters = $parameters; + } + public function getParameters() + { + return $this->parameters; + } + public function setSelector($selector) + { + $this->selector = $selector; + } + public function getSelector() + { + return $this->selector; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/SystemParameters.php b/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/SystemParameters.php new file mode 100644 index 00000000..9e4a8b02 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/SystemParameters.php @@ -0,0 +1,32 @@ +rules = $rules; + } + public function getRules() + { + return $this->rules; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/TestIamPermissionsRequest.php b/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/TestIamPermissionsRequest.php new file mode 100644 index 00000000..c98630ac --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/TestIamPermissionsRequest.php @@ -0,0 +1,31 @@ +permissions = $permissions; + } + public function getPermissions() + { + return $this->permissions; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/TestIamPermissionsResponse.php b/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/TestIamPermissionsResponse.php new file mode 100644 index 00000000..26dabfb9 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/TestIamPermissionsResponse.php @@ -0,0 +1,31 @@ +permissions = $permissions; + } + public function getPermissions() + { + return $this->permissions; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/TrafficPercentStrategy.php b/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/TrafficPercentStrategy.php new file mode 100644 index 00000000..8dd7f83d --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/TrafficPercentStrategy.php @@ -0,0 +1,30 @@ +percentages = $percentages; + } + public function getPercentages() + { + return $this->percentages; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/Type.php b/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/Type.php new file mode 100644 index 00000000..7174f5fa --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/Type.php @@ -0,0 +1,79 @@ +fields = $fields; + } + public function getFields() + { + return $this->fields; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setOneofs($oneofs) + { + $this->oneofs = $oneofs; + } + public function getOneofs() + { + return $this->oneofs; + } + public function setOptions($options) + { + $this->options = $options; + } + public function getOptions() + { + return $this->options; + } + public function setSourceContext(Google_Service_ServiceManagement_SourceContext $sourceContext) + { + $this->sourceContext = $sourceContext; + } + public function getSourceContext() + { + return $this->sourceContext; + } + public function setSyntax($syntax) + { + $this->syntax = $syntax; + } + public function getSyntax() + { + return $this->syntax; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/UndeleteServiceResponse.php b/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/UndeleteServiceResponse.php new file mode 100644 index 00000000..2344c234 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/UndeleteServiceResponse.php @@ -0,0 +1,31 @@ +service = $service; + } + public function getService() + { + return $this->service; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/Usage.php b/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/Usage.php new file mode 100644 index 00000000..e2de7ab8 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/Usage.php @@ -0,0 +1,50 @@ +producerNotificationChannel = $producerNotificationChannel; + } + public function getProducerNotificationChannel() + { + return $this->producerNotificationChannel; + } + public function setRequirements($requirements) + { + $this->requirements = $requirements; + } + public function getRequirements() + { + return $this->requirements; + } + public function setRules($rules) + { + $this->rules = $rules; + } + public function getRules() + { + return $this->rules; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/UsageRule.php b/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/UsageRule.php new file mode 100644 index 00000000..e87e18bd --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/UsageRule.php @@ -0,0 +1,39 @@ +allowUnregisteredCalls = $allowUnregisteredCalls; + } + public function getAllowUnregisteredCalls() + { + return $this->allowUnregisteredCalls; + } + public function setSelector($selector) + { + $this->selector = $selector; + } + public function getSelector() + { + return $this->selector; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/Visibility.php b/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/Visibility.php new file mode 100644 index 00000000..1f34a01b --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/Visibility.php @@ -0,0 +1,32 @@ +rules = $rules; + } + public function getRules() + { + return $this->rules; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/VisibilityRule.php b/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/VisibilityRule.php new file mode 100644 index 00000000..a3838e74 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ServiceManagement/VisibilityRule.php @@ -0,0 +1,39 @@ +restriction = $restriction; + } + public function getRestriction() + { + return $this->restriction; + } + public function setSelector($selector) + { + $this->selector = $selector; + } + public function getSelector() + { + return $this->selector; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ServiceRegistry.php b/vendor/google/apiclient-services/src/Google/Service/ServiceRegistry.php new file mode 100644 index 00000000..9bd67083 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ServiceRegistry.php @@ -0,0 +1,221 @@ + + * Manages service endpoints in Service Registry and provides integration with + * DNS for service discovery and name resolution.

+ * + *

+ * For more information about this service, see the API + * Documentation + *

+ * + * @author Google, Inc. + */ +class Google_Service_ServiceRegistry extends Google_Service +{ + /** View and manage your data across Google Cloud Platform services. */ + const CLOUD_PLATFORM = + "https://www.googleapis.com/auth/cloud-platform"; + /** View your data across Google Cloud Platform services. */ + const CLOUD_PLATFORM_READ_ONLY = + "https://www.googleapis.com/auth/cloud-platform.read-only"; + /** View and manage your Google Cloud Platform management resources and deployment status information. */ + const NDEV_CLOUDMAN = + "https://www.googleapis.com/auth/ndev.cloudman"; + /** View your Google Cloud Platform management resources and deployment status information. */ + const NDEV_CLOUDMAN_READONLY = + "https://www.googleapis.com/auth/ndev.cloudman.readonly"; + + public $endpoints; + public $operations; + + /** + * Constructs the internal representation of the ServiceRegistry service. + * + * @param Google_Client $client + */ + public function __construct(Google_Client $client) + { + parent::__construct($client); + $this->rootUrl = 'https://www.googleapis.com/'; + $this->servicePath = 'serviceregistry/alpha/projects/'; + $this->version = 'alpha'; + $this->serviceName = 'serviceregistry'; + + $this->endpoints = new Google_Service_ServiceRegistry_Resource_Endpoints( + $this, + $this->serviceName, + 'endpoints', + array( + 'methods' => array( + 'delete' => array( + 'path' => '{project}/global/endpoints/{endpoint}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'endpoint' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'get' => array( + 'path' => '{project}/global/endpoints/{endpoint}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'endpoint' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'insert' => array( + 'path' => '{project}/global/endpoints', + 'httpMethod' => 'POST', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => '{project}/global/endpoints', + 'httpMethod' => 'GET', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'filter' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'orderBy' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'patch' => array( + 'path' => '{project}/global/endpoints/{endpoint}', + 'httpMethod' => 'PATCH', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'endpoint' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'update' => array( + 'path' => '{project}/global/endpoints/{endpoint}', + 'httpMethod' => 'PUT', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'endpoint' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->operations = new Google_Service_ServiceRegistry_Resource_Operations( + $this, + $this->serviceName, + 'operations', + array( + 'methods' => array( + 'get' => array( + 'path' => '{project}/global/operations/{operation}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'operation' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => '{project}/global/operations', + 'httpMethod' => 'GET', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'filter' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'orderBy' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ServiceRegistry/Endpoint.php b/vendor/google/apiclient-services/src/Google/Service/ServiceRegistry/Endpoint.php new file mode 100644 index 00000000..48ebee2c --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ServiceRegistry/Endpoint.php @@ -0,0 +1,112 @@ +address = $address; + } + public function getAddress() + { + return $this->address; + } + public function setCreationTimestamp($creationTimestamp) + { + $this->creationTimestamp = $creationTimestamp; + } + public function getCreationTimestamp() + { + return $this->creationTimestamp; + } + public function setDescription($description) + { + $this->description = $description; + } + public function getDescription() + { + return $this->description; + } + public function setFingerprint($fingerprint) + { + $this->fingerprint = $fingerprint; + } + public function getFingerprint() + { + return $this->fingerprint; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setPort($port) + { + $this->port = $port; + } + public function getPort() + { + return $this->port; + } + public function setSelfLink($selfLink) + { + $this->selfLink = $selfLink; + } + public function getSelfLink() + { + return $this->selfLink; + } + public function setState($state) + { + $this->state = $state; + } + public function getState() + { + return $this->state; + } + public function setVisibility(Google_Service_ServiceRegistry_EndpointEndpointVisibility $visibility) + { + $this->visibility = $visibility; + } + public function getVisibility() + { + return $this->visibility; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ServiceRegistry/EndpointEndpointVisibility.php b/vendor/google/apiclient-services/src/Google/Service/ServiceRegistry/EndpointEndpointVisibility.php new file mode 100644 index 00000000..50460aba --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ServiceRegistry/EndpointEndpointVisibility.php @@ -0,0 +1,40 @@ +internalDnsName = $internalDnsName; + } + public function getInternalDnsName() + { + return $this->internalDnsName; + } + public function setNetworks($networks) + { + $this->networks = $networks; + } + public function getNetworks() + { + return $this->networks; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ServiceRegistry/EndpointsListResponse.php b/vendor/google/apiclient-services/src/Google/Service/ServiceRegistry/EndpointsListResponse.php new file mode 100644 index 00000000..c4e2e9d9 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ServiceRegistry/EndpointsListResponse.php @@ -0,0 +1,41 @@ +endpoints = $endpoints; + } + public function getEndpoints() + { + return $this->endpoints; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ServiceRegistry/Operation.php b/vendor/google/apiclient-services/src/Google/Service/ServiceRegistry/Operation.php new file mode 100644 index 00000000..3548e6e0 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ServiceRegistry/Operation.php @@ -0,0 +1,231 @@ +clientOperationId = $clientOperationId; + } + public function getClientOperationId() + { + return $this->clientOperationId; + } + public function setCreationTimestamp($creationTimestamp) + { + $this->creationTimestamp = $creationTimestamp; + } + public function getCreationTimestamp() + { + return $this->creationTimestamp; + } + public function setDescription($description) + { + $this->description = $description; + } + public function getDescription() + { + return $this->description; + } + public function setEndTime($endTime) + { + $this->endTime = $endTime; + } + public function getEndTime() + { + return $this->endTime; + } + public function setError(Google_Service_ServiceRegistry_OperationError $error) + { + $this->error = $error; + } + public function getError() + { + return $this->error; + } + public function setHttpErrorMessage($httpErrorMessage) + { + $this->httpErrorMessage = $httpErrorMessage; + } + public function getHttpErrorMessage() + { + return $this->httpErrorMessage; + } + public function setHttpErrorStatusCode($httpErrorStatusCode) + { + $this->httpErrorStatusCode = $httpErrorStatusCode; + } + public function getHttpErrorStatusCode() + { + return $this->httpErrorStatusCode; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setInsertTime($insertTime) + { + $this->insertTime = $insertTime; + } + public function getInsertTime() + { + return $this->insertTime; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setOperationType($operationType) + { + $this->operationType = $operationType; + } + public function getOperationType() + { + return $this->operationType; + } + public function setProgress($progress) + { + $this->progress = $progress; + } + public function getProgress() + { + return $this->progress; + } + public function setRegion($region) + { + $this->region = $region; + } + public function getRegion() + { + return $this->region; + } + public function setSelfLink($selfLink) + { + $this->selfLink = $selfLink; + } + public function getSelfLink() + { + return $this->selfLink; + } + public function setStartTime($startTime) + { + $this->startTime = $startTime; + } + public function getStartTime() + { + return $this->startTime; + } + public function setStatus($status) + { + $this->status = $status; + } + public function getStatus() + { + return $this->status; + } + public function setStatusMessage($statusMessage) + { + $this->statusMessage = $statusMessage; + } + public function getStatusMessage() + { + return $this->statusMessage; + } + public function setTargetId($targetId) + { + $this->targetId = $targetId; + } + public function getTargetId() + { + return $this->targetId; + } + public function setTargetLink($targetLink) + { + $this->targetLink = $targetLink; + } + public function getTargetLink() + { + return $this->targetLink; + } + public function setUser($user) + { + $this->user = $user; + } + public function getUser() + { + return $this->user; + } + public function setWarnings($warnings) + { + $this->warnings = $warnings; + } + public function getWarnings() + { + return $this->warnings; + } + public function setZone($zone) + { + $this->zone = $zone; + } + public function getZone() + { + return $this->zone; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ServiceRegistry/OperationError.php b/vendor/google/apiclient-services/src/Google/Service/ServiceRegistry/OperationError.php new file mode 100644 index 00000000..6c39ebeb --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ServiceRegistry/OperationError.php @@ -0,0 +1,32 @@ +errors = $errors; + } + public function getErrors() + { + return $this->errors; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ServiceRegistry/OperationErrorErrors.php b/vendor/google/apiclient-services/src/Google/Service/ServiceRegistry/OperationErrorErrors.php new file mode 100644 index 00000000..d4108f12 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ServiceRegistry/OperationErrorErrors.php @@ -0,0 +1,48 @@ +code = $code; + } + public function getCode() + { + return $this->code; + } + public function setLocation($location) + { + $this->location = $location; + } + public function getLocation() + { + return $this->location; + } + public function setMessage($message) + { + $this->message = $message; + } + public function getMessage() + { + return $this->message; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ServiceRegistry/OperationWarnings.php b/vendor/google/apiclient-services/src/Google/Service/ServiceRegistry/OperationWarnings.php new file mode 100644 index 00000000..d377edde --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ServiceRegistry/OperationWarnings.php @@ -0,0 +1,50 @@ +code = $code; + } + public function getCode() + { + return $this->code; + } + public function setData($data) + { + $this->data = $data; + } + public function getData() + { + return $this->data; + } + public function setMessage($message) + { + $this->message = $message; + } + public function getMessage() + { + return $this->message; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ServiceRegistry/OperationWarningsData.php b/vendor/google/apiclient-services/src/Google/Service/ServiceRegistry/OperationWarningsData.php new file mode 100644 index 00000000..24bf06a2 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ServiceRegistry/OperationWarningsData.php @@ -0,0 +1,39 @@ +key = $key; + } + public function getKey() + { + return $this->key; + } + public function setValue($value) + { + $this->value = $value; + } + public function getValue() + { + return $this->value; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ServiceRegistry/OperationsListResponse.php b/vendor/google/apiclient-services/src/Google/Service/ServiceRegistry/OperationsListResponse.php new file mode 100644 index 00000000..26e3a5f3 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ServiceRegistry/OperationsListResponse.php @@ -0,0 +1,41 @@ +nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setOperations($operations) + { + $this->operations = $operations; + } + public function getOperations() + { + return $this->operations; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ServiceRegistry/Resource/Endpoints.php b/vendor/google/apiclient-services/src/Google/Service/ServiceRegistry/Resource/Endpoints.php new file mode 100644 index 00000000..c5569668 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ServiceRegistry/Resource/Endpoints.php @@ -0,0 +1,157 @@ + + * $serviceregistryService = new Google_Service_ServiceRegistry(...); + * $endpoints = $serviceregistryService->endpoints; + * + */ +class Google_Service_ServiceRegistry_Resource_Endpoints extends Google_Service_Resource +{ + /** + * Deletes an endpoint. (endpoints.delete) + * + * @param string $project The project ID for this request. + * @param string $endpoint The name of the endpoint for this request. + * @param array $optParams Optional parameters. + * @return Google_Service_ServiceRegistry_Operation + */ + public function delete($project, $endpoint, $optParams = array()) + { + $params = array('project' => $project, 'endpoint' => $endpoint); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params), "Google_Service_ServiceRegistry_Operation"); + } + /** + * Gets an endpoint. (endpoints.get) + * + * @param string $project The project ID for this request. + * @param string $endpoint The name of the endpoint for this request. + * @param array $optParams Optional parameters. + * @return Google_Service_ServiceRegistry_Endpoint + */ + public function get($project, $endpoint, $optParams = array()) + { + $params = array('project' => $project, 'endpoint' => $endpoint); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_ServiceRegistry_Endpoint"); + } + /** + * Creates an endpoint. (endpoints.insert) + * + * @param string $project The project ID for this request. + * @param Google_Service_ServiceRegistry_Endpoint $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_ServiceRegistry_Operation + */ + public function insert($project, Google_Service_ServiceRegistry_Endpoint $postBody, $optParams = array()) + { + $params = array('project' => $project, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('insert', array($params), "Google_Service_ServiceRegistry_Operation"); + } + /** + * Lists endpoints for a project. (endpoints.listEndpoints) + * + * @param string $project The project ID for this request. + * @param array $optParams Optional parameters. + * + * @opt_param string filter Sets a filter expression for filtering listed + * resources, in the form filter={expression}. Your {expression} must be in the + * format: field_name comparison_string literal_string. + * + * The field_name is the name of the field you want to compare. Only atomic + * field types are supported (string, number, boolean). The comparison_string + * must be either eq (equals) or ne (not equals). The literal_string is the + * string value to filter to. The literal value must be valid for the type of + * field you are filtering by (string, number, boolean). For string fields, the + * literal value is interpreted as a regular expression using RE2 syntax. The + * literal value must match the entire field. + * + * For example, to filter for instances that do not have a name of example- + * instance, you would use filter=name ne example-instance. + * + * Compute Engine Beta API Only: When filtering in the Beta API, you can also + * filter on nested fields. For example, you could filter on instances that have + * set the scheduling.automaticRestart field to true. Use filtering on nested + * fields to take advantage of labels to organize and search for results based + * on label values. + * + * The Beta API also supports filtering on multiple expressions by providing + * each separate expression within parentheses. For example, + * (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple + * expressions are treated as AND expressions, meaning that resources must match + * all expressions to pass the filters. + * @opt_param string maxResults The maximum number of results per page that + * should be returned. If the number of available results is larger than + * maxResults, Compute Engine returns a nextPageToken that can be used to get + * the next page of results in subsequent list requests. + * @opt_param string orderBy Sorts list results by a certain order. By default, + * results are returned in alphanumerical order based on the resource name. + * + * You can also sort results in descending order based on the creation timestamp + * using orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result first). + * Use this to sort resources like operations so that the newest operation is + * returned first. + * + * Currently, only sorting by name or creationTimestamp desc is supported. + * @opt_param string pageToken Specifies a page token to use. Set pageToken to + * the nextPageToken returned by a previous list request to get the next page of + * results. + * @return Google_Service_ServiceRegistry_EndpointsListResponse + */ + public function listEndpoints($project, $optParams = array()) + { + $params = array('project' => $project); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_ServiceRegistry_EndpointsListResponse"); + } + /** + * Updates an endpoint. This method supports patch semantics. (endpoints.patch) + * + * @param string $project The project ID for this request. + * @param string $endpoint The name of the endpoint for this request. + * @param Google_Service_ServiceRegistry_Endpoint $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_ServiceRegistry_Operation + */ + public function patch($project, $endpoint, Google_Service_ServiceRegistry_Endpoint $postBody, $optParams = array()) + { + $params = array('project' => $project, 'endpoint' => $endpoint, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('patch', array($params), "Google_Service_ServiceRegistry_Operation"); + } + /** + * Updates an endpoint. (endpoints.update) + * + * @param string $project The project ID for this request. + * @param string $endpoint The name of the endpoint for this request. + * @param Google_Service_ServiceRegistry_Endpoint $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_ServiceRegistry_Operation + */ + public function update($project, $endpoint, Google_Service_ServiceRegistry_Endpoint $postBody, $optParams = array()) + { + $params = array('project' => $project, 'endpoint' => $endpoint, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('update', array($params), "Google_Service_ServiceRegistry_Operation"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ServiceRegistry/Resource/Operations.php b/vendor/google/apiclient-services/src/Google/Service/ServiceRegistry/Resource/Operations.php new file mode 100644 index 00000000..17467cfa --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ServiceRegistry/Resource/Operations.php @@ -0,0 +1,99 @@ + + * $serviceregistryService = new Google_Service_ServiceRegistry(...); + * $operations = $serviceregistryService->operations; + * + */ +class Google_Service_ServiceRegistry_Resource_Operations extends Google_Service_Resource +{ + /** + * Gets information about a specific operation. (operations.get) + * + * @param string $project The project ID for this request. + * @param string $operation The name of the operation for this request. + * @param array $optParams Optional parameters. + * @return Google_Service_ServiceRegistry_Operation + */ + public function get($project, $operation, $optParams = array()) + { + $params = array('project' => $project, 'operation' => $operation); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_ServiceRegistry_Operation"); + } + /** + * Lists all operations for a project. (operations.listOperations) + * + * @param string $project The project ID for this request. + * @param array $optParams Optional parameters. + * + * @opt_param string filter Sets a filter expression for filtering listed + * resources, in the form filter={expression}. Your {expression} must be in the + * format: field_name comparison_string literal_string. + * + * The field_name is the name of the field you want to compare. Only atomic + * field types are supported (string, number, boolean). The comparison_string + * must be either eq (equals) or ne (not equals). The literal_string is the + * string value to filter to. The literal value must be valid for the type of + * field you are filtering by (string, number, boolean). For string fields, the + * literal value is interpreted as a regular expression using RE2 syntax. The + * literal value must match the entire field. + * + * For example, to filter for instances that do not have a name of example- + * instance, you would use filter=name ne example-instance. + * + * Compute Engine Beta API Only: When filtering in the Beta API, you can also + * filter on nested fields. For example, you could filter on instances that have + * set the scheduling.automaticRestart field to true. Use filtering on nested + * fields to take advantage of labels to organize and search for results based + * on label values. + * + * The Beta API also supports filtering on multiple expressions by providing + * each separate expression within parentheses. For example, + * (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple + * expressions are treated as AND expressions, meaning that resources must match + * all expressions to pass the filters. + * @opt_param string maxResults The maximum number of results per page that + * should be returned. If the number of available results is larger than + * maxResults, Compute Engine returns a nextPageToken that can be used to get + * the next page of results in subsequent list requests. + * @opt_param string orderBy Sorts list results by a certain order. By default, + * results are returned in alphanumerical order based on the resource name. + * + * You can also sort results in descending order based on the creation timestamp + * using orderBy="creationTimestamp desc". This sorts results based on the + * creationTimestamp field in reverse chronological order (newest result first). + * Use this to sort resources like operations so that the newest operation is + * returned first. + * + * Currently, only sorting by name or creationTimestamp desc is supported. + * @opt_param string pageToken Specifies a page token to use. Set pageToken to + * the nextPageToken returned by a previous list request to get the next page of + * results. + * @return Google_Service_ServiceRegistry_OperationsListResponse + */ + public function listOperations($project, $optParams = array()) + { + $params = array('project' => $project); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_ServiceRegistry_OperationsListResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ServiceUser.php b/vendor/google/apiclient-services/src/Google/Service/ServiceUser.php new file mode 100644 index 00000000..cf28a691 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ServiceUser.php @@ -0,0 +1,133 @@ + + * Enables services that service consumers want to use on Google Cloud Platform, + * lists the available or enabled services, or disables services that service + * consumers no longer use.

+ * + *

+ * For more information about this service, see the API + * Documentation + *

+ * + * @author Google, Inc. + */ +class Google_Service_ServiceUser extends Google_Service +{ + /** View and manage your data across Google Cloud Platform services. */ + const CLOUD_PLATFORM = + "https://www.googleapis.com/auth/cloud-platform"; + /** View your data across Google Cloud Platform services. */ + const CLOUD_PLATFORM_READ_ONLY = + "https://www.googleapis.com/auth/cloud-platform.read-only"; + /** Manage your Google API service configuration. */ + const SERVICE_MANAGEMENT = + "https://www.googleapis.com/auth/service.management"; + + public $projects_services; + public $services; + + /** + * Constructs the internal representation of the ServiceUser service. + * + * @param Google_Client $client + */ + public function __construct(Google_Client $client) + { + parent::__construct($client); + $this->rootUrl = 'https://serviceuser.googleapis.com/'; + $this->servicePath = ''; + $this->version = 'v1'; + $this->serviceName = 'serviceuser'; + + $this->projects_services = new Google_Service_ServiceUser_Resource_ProjectsServices( + $this, + $this->serviceName, + 'services', + array( + 'methods' => array( + 'disable' => array( + 'path' => 'v1/{+name}:disable', + 'httpMethod' => 'POST', + 'parameters' => array( + 'name' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'enable' => array( + 'path' => 'v1/{+name}:enable', + 'httpMethod' => 'POST', + 'parameters' => array( + 'name' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'v1/{+parent}/services', + 'httpMethod' => 'GET', + 'parameters' => array( + 'parent' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pageSize' => array( + 'location' => 'query', + 'type' => 'integer', + ), + ), + ), + ) + ) + ); + $this->services = new Google_Service_ServiceUser_Resource_Services( + $this, + $this->serviceName, + 'services', + array( + 'methods' => array( + 'search' => array( + 'path' => 'v1/services:search', + 'httpMethod' => 'GET', + 'parameters' => array( + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pageSize' => array( + 'location' => 'query', + 'type' => 'integer', + ), + ), + ), + ) + ) + ); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ServiceUser/Api.php b/vendor/google/apiclient-services/src/Google/Service/ServiceUser/Api.php new file mode 100644 index 00000000..efd6c8af --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ServiceUser/Api.php @@ -0,0 +1,89 @@ +methods = $methods; + } + public function getMethods() + { + return $this->methods; + } + public function setMixins($mixins) + { + $this->mixins = $mixins; + } + public function getMixins() + { + return $this->mixins; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setOptions($options) + { + $this->options = $options; + } + public function getOptions() + { + return $this->options; + } + public function setSourceContext(Google_Service_ServiceUser_SourceContext $sourceContext) + { + $this->sourceContext = $sourceContext; + } + public function getSourceContext() + { + return $this->sourceContext; + } + public function setSyntax($syntax) + { + $this->syntax = $syntax; + } + public function getSyntax() + { + return $this->syntax; + } + public function setVersion($version) + { + $this->version = $version; + } + public function getVersion() + { + return $this->version; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ServiceUser/AuthProvider.php b/vendor/google/apiclient-services/src/Google/Service/ServiceUser/AuthProvider.php new file mode 100644 index 00000000..75c6e24e --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ServiceUser/AuthProvider.php @@ -0,0 +1,57 @@ +audiences = $audiences; + } + public function getAudiences() + { + return $this->audiences; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setIssuer($issuer) + { + $this->issuer = $issuer; + } + public function getIssuer() + { + return $this->issuer; + } + public function setJwksUri($jwksUri) + { + $this->jwksUri = $jwksUri; + } + public function getJwksUri() + { + return $this->jwksUri; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ServiceUser/AuthRequirement.php b/vendor/google/apiclient-services/src/Google/Service/ServiceUser/AuthRequirement.php new file mode 100644 index 00000000..761a094b --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ServiceUser/AuthRequirement.php @@ -0,0 +1,39 @@ +audiences = $audiences; + } + public function getAudiences() + { + return $this->audiences; + } + public function setProviderId($providerId) + { + $this->providerId = $providerId; + } + public function getProviderId() + { + return $this->providerId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ServiceUser/Authentication.php b/vendor/google/apiclient-services/src/Google/Service/ServiceUser/Authentication.php new file mode 100644 index 00000000..67d4481e --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ServiceUser/Authentication.php @@ -0,0 +1,42 @@ +providers = $providers; + } + public function getProviders() + { + return $this->providers; + } + public function setRules($rules) + { + $this->rules = $rules; + } + public function getRules() + { + return $this->rules; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ServiceUser/AuthenticationRule.php b/vendor/google/apiclient-services/src/Google/Service/ServiceUser/AuthenticationRule.php new file mode 100644 index 00000000..c0dc5942 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ServiceUser/AuthenticationRule.php @@ -0,0 +1,60 @@ +allowWithoutCredential = $allowWithoutCredential; + } + public function getAllowWithoutCredential() + { + return $this->allowWithoutCredential; + } + public function setOauth(Google_Service_ServiceUser_OAuthRequirements $oauth) + { + $this->oauth = $oauth; + } + public function getOauth() + { + return $this->oauth; + } + public function setRequirements($requirements) + { + $this->requirements = $requirements; + } + public function getRequirements() + { + return $this->requirements; + } + public function setSelector($selector) + { + $this->selector = $selector; + } + public function getSelector() + { + return $this->selector; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ServiceUser/AuthorizationConfig.php b/vendor/google/apiclient-services/src/Google/Service/ServiceUser/AuthorizationConfig.php new file mode 100644 index 00000000..35f15a00 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ServiceUser/AuthorizationConfig.php @@ -0,0 +1,30 @@ +provider = $provider; + } + public function getProvider() + { + return $this->provider; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ServiceUser/Backend.php b/vendor/google/apiclient-services/src/Google/Service/ServiceUser/Backend.php new file mode 100644 index 00000000..b42a27ea --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ServiceUser/Backend.php @@ -0,0 +1,32 @@ +rules = $rules; + } + public function getRules() + { + return $this->rules; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ServiceUser/BackendRule.php b/vendor/google/apiclient-services/src/Google/Service/ServiceUser/BackendRule.php new file mode 100644 index 00000000..ce56a4e6 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ServiceUser/BackendRule.php @@ -0,0 +1,48 @@ +address = $address; + } + public function getAddress() + { + return $this->address; + } + public function setDeadline($deadline) + { + $this->deadline = $deadline; + } + public function getDeadline() + { + return $this->deadline; + } + public function setSelector($selector) + { + $this->selector = $selector; + } + public function getSelector() + { + return $this->selector; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ServiceUser/Context.php b/vendor/google/apiclient-services/src/Google/Service/ServiceUser/Context.php new file mode 100644 index 00000000..76023810 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ServiceUser/Context.php @@ -0,0 +1,32 @@ +rules = $rules; + } + public function getRules() + { + return $this->rules; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ServiceUser/ContextRule.php b/vendor/google/apiclient-services/src/Google/Service/ServiceUser/ContextRule.php new file mode 100644 index 00000000..e6161dae --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ServiceUser/ContextRule.php @@ -0,0 +1,49 @@ +provided = $provided; + } + public function getProvided() + { + return $this->provided; + } + public function setRequested($requested) + { + $this->requested = $requested; + } + public function getRequested() + { + return $this->requested; + } + public function setSelector($selector) + { + $this->selector = $selector; + } + public function getSelector() + { + return $this->selector; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ServiceUser/Control.php b/vendor/google/apiclient-services/src/Google/Service/ServiceUser/Control.php new file mode 100644 index 00000000..dd4c3583 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ServiceUser/Control.php @@ -0,0 +1,30 @@ +environment = $environment; + } + public function getEnvironment() + { + return $this->environment; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ServiceUser/CustomError.php b/vendor/google/apiclient-services/src/Google/Service/ServiceUser/CustomError.php new file mode 100644 index 00000000..17c90f0a --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ServiceUser/CustomError.php @@ -0,0 +1,41 @@ +rules = $rules; + } + public function getRules() + { + return $this->rules; + } + public function setTypes($types) + { + $this->types = $types; + } + public function getTypes() + { + return $this->types; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ServiceUser/CustomErrorRule.php b/vendor/google/apiclient-services/src/Google/Service/ServiceUser/CustomErrorRule.php new file mode 100644 index 00000000..ff562edb --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ServiceUser/CustomErrorRule.php @@ -0,0 +1,39 @@ +isErrorType = $isErrorType; + } + public function getIsErrorType() + { + return $this->isErrorType; + } + public function setSelector($selector) + { + $this->selector = $selector; + } + public function getSelector() + { + return $this->selector; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ServiceUser/CustomHttpPattern.php b/vendor/google/apiclient-services/src/Google/Service/ServiceUser/CustomHttpPattern.php new file mode 100644 index 00000000..dc223c90 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ServiceUser/CustomHttpPattern.php @@ -0,0 +1,39 @@ +kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setPath($path) + { + $this->path = $path; + } + public function getPath() + { + return $this->path; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ServiceUser/DisableServiceRequest.php b/vendor/google/apiclient-services/src/Google/Service/ServiceUser/DisableServiceRequest.php new file mode 100644 index 00000000..51d8f336 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ServiceUser/DisableServiceRequest.php @@ -0,0 +1,20 @@ +documentationRootUrl = $documentationRootUrl; + } + public function getDocumentationRootUrl() + { + return $this->documentationRootUrl; + } + public function setOverview($overview) + { + $this->overview = $overview; + } + public function getOverview() + { + return $this->overview; + } + public function setPages($pages) + { + $this->pages = $pages; + } + public function getPages() + { + return $this->pages; + } + public function setRules($rules) + { + $this->rules = $rules; + } + public function getRules() + { + return $this->rules; + } + public function setSummary($summary) + { + $this->summary = $summary; + } + public function getSummary() + { + return $this->summary; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ServiceUser/DocumentationRule.php b/vendor/google/apiclient-services/src/Google/Service/ServiceUser/DocumentationRule.php new file mode 100644 index 00000000..de4c1a34 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ServiceUser/DocumentationRule.php @@ -0,0 +1,48 @@ +deprecationDescription = $deprecationDescription; + } + public function getDeprecationDescription() + { + return $this->deprecationDescription; + } + public function setDescription($description) + { + $this->description = $description; + } + public function getDescription() + { + return $this->description; + } + public function setSelector($selector) + { + $this->selector = $selector; + } + public function getSelector() + { + return $this->selector; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ServiceUser/EnableServiceRequest.php b/vendor/google/apiclient-services/src/Google/Service/ServiceUser/EnableServiceRequest.php new file mode 100644 index 00000000..cfdab0d4 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ServiceUser/EnableServiceRequest.php @@ -0,0 +1,20 @@ +aliases = $aliases; + } + public function getAliases() + { + return $this->aliases; + } + public function setAllowCors($allowCors) + { + $this->allowCors = $allowCors; + } + public function getAllowCors() + { + return $this->allowCors; + } + public function setApis($apis) + { + $this->apis = $apis; + } + public function getApis() + { + return $this->apis; + } + public function setFeatures($features) + { + $this->features = $features; + } + public function getFeatures() + { + return $this->features; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ServiceUser/Enum.php b/vendor/google/apiclient-services/src/Google/Service/ServiceUser/Enum.php new file mode 100644 index 00000000..4d89024d --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ServiceUser/Enum.php @@ -0,0 +1,70 @@ +enumvalue = $enumvalue; + } + public function getEnumvalue() + { + return $this->enumvalue; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setOptions($options) + { + $this->options = $options; + } + public function getOptions() + { + return $this->options; + } + public function setSourceContext(Google_Service_ServiceUser_SourceContext $sourceContext) + { + $this->sourceContext = $sourceContext; + } + public function getSourceContext() + { + return $this->sourceContext; + } + public function setSyntax($syntax) + { + $this->syntax = $syntax; + } + public function getSyntax() + { + return $this->syntax; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ServiceUser/EnumValue.php b/vendor/google/apiclient-services/src/Google/Service/ServiceUser/EnumValue.php new file mode 100644 index 00000000..9c9ad449 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ServiceUser/EnumValue.php @@ -0,0 +1,50 @@ +name = $name; + } + public function getName() + { + return $this->name; + } + public function setNumber($number) + { + $this->number = $number; + } + public function getNumber() + { + return $this->number; + } + public function setOptions($options) + { + $this->options = $options; + } + public function getOptions() + { + return $this->options; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ServiceUser/Experimental.php b/vendor/google/apiclient-services/src/Google/Service/ServiceUser/Experimental.php new file mode 100644 index 00000000..93c30ec4 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ServiceUser/Experimental.php @@ -0,0 +1,31 @@ +authorization = $authorization; + } + public function getAuthorization() + { + return $this->authorization; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ServiceUser/Field.php b/vendor/google/apiclient-services/src/Google/Service/ServiceUser/Field.php new file mode 100644 index 00000000..6c65173f --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ServiceUser/Field.php @@ -0,0 +1,113 @@ +cardinality = $cardinality; + } + public function getCardinality() + { + return $this->cardinality; + } + public function setDefaultValue($defaultValue) + { + $this->defaultValue = $defaultValue; + } + public function getDefaultValue() + { + return $this->defaultValue; + } + public function setJsonName($jsonName) + { + $this->jsonName = $jsonName; + } + public function getJsonName() + { + return $this->jsonName; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setNumber($number) + { + $this->number = $number; + } + public function getNumber() + { + return $this->number; + } + public function setOneofIndex($oneofIndex) + { + $this->oneofIndex = $oneofIndex; + } + public function getOneofIndex() + { + return $this->oneofIndex; + } + public function setOptions($options) + { + $this->options = $options; + } + public function getOptions() + { + return $this->options; + } + public function setPacked($packed) + { + $this->packed = $packed; + } + public function getPacked() + { + return $this->packed; + } + public function setTypeUrl($typeUrl) + { + $this->typeUrl = $typeUrl; + } + public function getTypeUrl() + { + return $this->typeUrl; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ServiceUser/Http.php b/vendor/google/apiclient-services/src/Google/Service/ServiceUser/Http.php new file mode 100644 index 00000000..462d638d --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ServiceUser/Http.php @@ -0,0 +1,32 @@ +rules = $rules; + } + public function getRules() + { + return $this->rules; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ServiceUser/HttpRule.php b/vendor/google/apiclient-services/src/Google/Service/ServiceUser/HttpRule.php new file mode 100644 index 00000000..c2355e8f --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ServiceUser/HttpRule.php @@ -0,0 +1,134 @@ +additionalBindings = $additionalBindings; + } + public function getAdditionalBindings() + { + return $this->additionalBindings; + } + public function setBody($body) + { + $this->body = $body; + } + public function getBody() + { + return $this->body; + } + public function setCustom(Google_Service_ServiceUser_CustomHttpPattern $custom) + { + $this->custom = $custom; + } + public function getCustom() + { + return $this->custom; + } + public function setDelete($delete) + { + $this->delete = $delete; + } + public function getDelete() + { + return $this->delete; + } + public function setGet($get) + { + $this->get = $get; + } + public function getGet() + { + return $this->get; + } + public function setMediaDownload(Google_Service_ServiceUser_MediaDownload $mediaDownload) + { + $this->mediaDownload = $mediaDownload; + } + public function getMediaDownload() + { + return $this->mediaDownload; + } + public function setMediaUpload(Google_Service_ServiceUser_MediaUpload $mediaUpload) + { + $this->mediaUpload = $mediaUpload; + } + public function getMediaUpload() + { + return $this->mediaUpload; + } + public function setPatch($patch) + { + $this->patch = $patch; + } + public function getPatch() + { + return $this->patch; + } + public function setPost($post) + { + $this->post = $post; + } + public function getPost() + { + return $this->post; + } + public function setPut($put) + { + $this->put = $put; + } + public function getPut() + { + return $this->put; + } + public function setResponseBody($responseBody) + { + $this->responseBody = $responseBody; + } + public function getResponseBody() + { + return $this->responseBody; + } + public function setSelector($selector) + { + $this->selector = $selector; + } + public function getSelector() + { + return $this->selector; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ServiceUser/LabelDescriptor.php b/vendor/google/apiclient-services/src/Google/Service/ServiceUser/LabelDescriptor.php new file mode 100644 index 00000000..f23ef890 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ServiceUser/LabelDescriptor.php @@ -0,0 +1,48 @@ +description = $description; + } + public function getDescription() + { + return $this->description; + } + public function setKey($key) + { + $this->key = $key; + } + public function getKey() + { + return $this->key; + } + public function setValueType($valueType) + { + $this->valueType = $valueType; + } + public function getValueType() + { + return $this->valueType; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ServiceUser/ListEnabledServicesResponse.php b/vendor/google/apiclient-services/src/Google/Service/ServiceUser/ListEnabledServicesResponse.php new file mode 100644 index 00000000..4cc52d91 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ServiceUser/ListEnabledServicesResponse.php @@ -0,0 +1,41 @@ +nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setServices($services) + { + $this->services = $services; + } + public function getServices() + { + return $this->services; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ServiceUser/LogDescriptor.php b/vendor/google/apiclient-services/src/Google/Service/ServiceUser/LogDescriptor.php new file mode 100644 index 00000000..1d8fdf4c --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ServiceUser/LogDescriptor.php @@ -0,0 +1,59 @@ +description = $description; + } + public function getDescription() + { + return $this->description; + } + public function setDisplayName($displayName) + { + $this->displayName = $displayName; + } + public function getDisplayName() + { + return $this->displayName; + } + public function setLabels($labels) + { + $this->labels = $labels; + } + public function getLabels() + { + return $this->labels; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ServiceUser/Logging.php b/vendor/google/apiclient-services/src/Google/Service/ServiceUser/Logging.php new file mode 100644 index 00000000..ff37b8b9 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ServiceUser/Logging.php @@ -0,0 +1,42 @@ +consumerDestinations = $consumerDestinations; + } + public function getConsumerDestinations() + { + return $this->consumerDestinations; + } + public function setProducerDestinations($producerDestinations) + { + $this->producerDestinations = $producerDestinations; + } + public function getProducerDestinations() + { + return $this->producerDestinations; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ServiceUser/LoggingDestination.php b/vendor/google/apiclient-services/src/Google/Service/ServiceUser/LoggingDestination.php new file mode 100644 index 00000000..c2361a14 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ServiceUser/LoggingDestination.php @@ -0,0 +1,40 @@ +logs = $logs; + } + public function getLogs() + { + return $this->logs; + } + public function setMonitoredResource($monitoredResource) + { + $this->monitoredResource = $monitoredResource; + } + public function getMonitoredResource() + { + return $this->monitoredResource; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ServiceUser/MediaDownload.php b/vendor/google/apiclient-services/src/Google/Service/ServiceUser/MediaDownload.php new file mode 100644 index 00000000..bb320f02 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ServiceUser/MediaDownload.php @@ -0,0 +1,39 @@ +downloadService = $downloadService; + } + public function getDownloadService() + { + return $this->downloadService; + } + public function setEnabled($enabled) + { + $this->enabled = $enabled; + } + public function getEnabled() + { + return $this->enabled; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ServiceUser/MediaUpload.php b/vendor/google/apiclient-services/src/Google/Service/ServiceUser/MediaUpload.php new file mode 100644 index 00000000..e6a58c91 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ServiceUser/MediaUpload.php @@ -0,0 +1,39 @@ +enabled = $enabled; + } + public function getEnabled() + { + return $this->enabled; + } + public function setUploadService($uploadService) + { + $this->uploadService = $uploadService; + } + public function getUploadService() + { + return $this->uploadService; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ServiceUser/Method.php b/vendor/google/apiclient-services/src/Google/Service/ServiceUser/Method.php new file mode 100644 index 00000000..dbc2dea2 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ServiceUser/Method.php @@ -0,0 +1,86 @@ +name = $name; + } + public function getName() + { + return $this->name; + } + public function setOptions($options) + { + $this->options = $options; + } + public function getOptions() + { + return $this->options; + } + public function setRequestStreaming($requestStreaming) + { + $this->requestStreaming = $requestStreaming; + } + public function getRequestStreaming() + { + return $this->requestStreaming; + } + public function setRequestTypeUrl($requestTypeUrl) + { + $this->requestTypeUrl = $requestTypeUrl; + } + public function getRequestTypeUrl() + { + return $this->requestTypeUrl; + } + public function setResponseStreaming($responseStreaming) + { + $this->responseStreaming = $responseStreaming; + } + public function getResponseStreaming() + { + return $this->responseStreaming; + } + public function setResponseTypeUrl($responseTypeUrl) + { + $this->responseTypeUrl = $responseTypeUrl; + } + public function getResponseTypeUrl() + { + return $this->responseTypeUrl; + } + public function setSyntax($syntax) + { + $this->syntax = $syntax; + } + public function getSyntax() + { + return $this->syntax; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ServiceUser/MetricDescriptor.php b/vendor/google/apiclient-services/src/Google/Service/ServiceUser/MetricDescriptor.php new file mode 100644 index 00000000..7a7e33f4 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ServiceUser/MetricDescriptor.php @@ -0,0 +1,95 @@ +description = $description; + } + public function getDescription() + { + return $this->description; + } + public function setDisplayName($displayName) + { + $this->displayName = $displayName; + } + public function getDisplayName() + { + return $this->displayName; + } + public function setLabels($labels) + { + $this->labels = $labels; + } + public function getLabels() + { + return $this->labels; + } + public function setMetricKind($metricKind) + { + $this->metricKind = $metricKind; + } + public function getMetricKind() + { + return $this->metricKind; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } + public function setUnit($unit) + { + $this->unit = $unit; + } + public function getUnit() + { + return $this->unit; + } + public function setValueType($valueType) + { + $this->valueType = $valueType; + } + public function getValueType() + { + return $this->valueType; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ServiceUser/Mixin.php b/vendor/google/apiclient-services/src/Google/Service/ServiceUser/Mixin.php new file mode 100644 index 00000000..0489f985 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ServiceUser/Mixin.php @@ -0,0 +1,39 @@ +name = $name; + } + public function getName() + { + return $this->name; + } + public function setRoot($root) + { + $this->root = $root; + } + public function getRoot() + { + return $this->root; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ServiceUser/MonitoredResourceDescriptor.php b/vendor/google/apiclient-services/src/Google/Service/ServiceUser/MonitoredResourceDescriptor.php new file mode 100644 index 00000000..fca17b93 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ServiceUser/MonitoredResourceDescriptor.php @@ -0,0 +1,68 @@ +description = $description; + } + public function getDescription() + { + return $this->description; + } + public function setDisplayName($displayName) + { + $this->displayName = $displayName; + } + public function getDisplayName() + { + return $this->displayName; + } + public function setLabels($labels) + { + $this->labels = $labels; + } + public function getLabels() + { + return $this->labels; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ServiceUser/Monitoring.php b/vendor/google/apiclient-services/src/Google/Service/ServiceUser/Monitoring.php new file mode 100644 index 00000000..37c2c670 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ServiceUser/Monitoring.php @@ -0,0 +1,42 @@ +consumerDestinations = $consumerDestinations; + } + public function getConsumerDestinations() + { + return $this->consumerDestinations; + } + public function setProducerDestinations($producerDestinations) + { + $this->producerDestinations = $producerDestinations; + } + public function getProducerDestinations() + { + return $this->producerDestinations; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ServiceUser/MonitoringDestination.php b/vendor/google/apiclient-services/src/Google/Service/ServiceUser/MonitoringDestination.php new file mode 100644 index 00000000..b149e4cd --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ServiceUser/MonitoringDestination.php @@ -0,0 +1,40 @@ +metrics = $metrics; + } + public function getMetrics() + { + return $this->metrics; + } + public function setMonitoredResource($monitoredResource) + { + $this->monitoredResource = $monitoredResource; + } + public function getMonitoredResource() + { + return $this->monitoredResource; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ServiceUser/OAuthRequirements.php b/vendor/google/apiclient-services/src/Google/Service/ServiceUser/OAuthRequirements.php new file mode 100644 index 00000000..ce523d55 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ServiceUser/OAuthRequirements.php @@ -0,0 +1,30 @@ +canonicalScopes = $canonicalScopes; + } + public function getCanonicalScopes() + { + return $this->canonicalScopes; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ServiceUser/Operation.php b/vendor/google/apiclient-services/src/Google/Service/ServiceUser/Operation.php new file mode 100644 index 00000000..67ef77b7 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ServiceUser/Operation.php @@ -0,0 +1,67 @@ +done = $done; + } + public function getDone() + { + return $this->done; + } + public function setError(Google_Service_ServiceUser_Status $error) + { + $this->error = $error; + } + public function getError() + { + return $this->error; + } + public function setMetadata($metadata) + { + $this->metadata = $metadata; + } + public function getMetadata() + { + return $this->metadata; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setResponse($response) + { + $this->response = $response; + } + public function getResponse() + { + return $this->response; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ServiceUser/OperationMetadata.php b/vendor/google/apiclient-services/src/Google/Service/ServiceUser/OperationMetadata.php new file mode 100644 index 00000000..fd5081d1 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ServiceUser/OperationMetadata.php @@ -0,0 +1,59 @@ +progressPercentage = $progressPercentage; + } + public function getProgressPercentage() + { + return $this->progressPercentage; + } + public function setResourceNames($resourceNames) + { + $this->resourceNames = $resourceNames; + } + public function getResourceNames() + { + return $this->resourceNames; + } + public function setStartTime($startTime) + { + $this->startTime = $startTime; + } + public function getStartTime() + { + return $this->startTime; + } + public function setSteps($steps) + { + $this->steps = $steps; + } + public function getSteps() + { + return $this->steps; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ServiceUser/Option.php b/vendor/google/apiclient-services/src/Google/Service/ServiceUser/Option.php new file mode 100644 index 00000000..f6b448d4 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ServiceUser/Option.php @@ -0,0 +1,39 @@ +name = $name; + } + public function getName() + { + return $this->name; + } + public function setValue($value) + { + $this->value = $value; + } + public function getValue() + { + return $this->value; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ServiceUser/Page.php b/vendor/google/apiclient-services/src/Google/Service/ServiceUser/Page.php new file mode 100644 index 00000000..2b060a36 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ServiceUser/Page.php @@ -0,0 +1,50 @@ +content = $content; + } + public function getContent() + { + return $this->content; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setSubpages($subpages) + { + $this->subpages = $subpages; + } + public function getSubpages() + { + return $this->subpages; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ServiceUser/PublishedService.php b/vendor/google/apiclient-services/src/Google/Service/ServiceUser/PublishedService.php new file mode 100644 index 00000000..04e4c4f0 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ServiceUser/PublishedService.php @@ -0,0 +1,40 @@ +name = $name; + } + public function getName() + { + return $this->name; + } + public function setService(Google_Service_ServiceUser_Service $service) + { + $this->service = $service; + } + public function getService() + { + return $this->service; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ServiceUser/Resource/Projects.php b/vendor/google/apiclient-services/src/Google/Service/ServiceUser/Resource/Projects.php new file mode 100644 index 00000000..b8cd2398 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ServiceUser/Resource/Projects.php @@ -0,0 +1,28 @@ + + * $serviceuserService = new Google_Service_ServiceUser(...); + * $projects = $serviceuserService->projects; + * + */ +class Google_Service_ServiceUser_Resource_Projects extends Google_Service_Resource +{ +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ServiceUser/Resource/ProjectsServices.php b/vendor/google/apiclient-services/src/Google/Service/ServiceUser/Resource/ProjectsServices.php new file mode 100644 index 00000000..df3ce1c9 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ServiceUser/Resource/ProjectsServices.php @@ -0,0 +1,93 @@ + + * $serviceuserService = new Google_Service_ServiceUser(...); + * $services = $serviceuserService->services; + * + */ +class Google_Service_ServiceUser_Resource_ProjectsServices extends Google_Service_Resource +{ + /** + * Disable a service so it can no longer be used with a project. This prevents + * unintended usage that may cause unexpected billing charges or security leaks. + * + * Operation (services.disable) + * + * @param string $name Name of the consumer and the service to disable for that + * consumer. + * + * The Service User implementation accepts the following forms for consumer: - + * "project:" + * + * A valid path would be: - /v1/projects/my- + * project/services/servicemanagement.googleapis.com:disable + * @param Google_Service_ServiceUser_DisableServiceRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_ServiceUser_Operation + */ + public function disable($name, Google_Service_ServiceUser_DisableServiceRequest $postBody, $optParams = array()) + { + $params = array('name' => $name, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('disable', array($params), "Google_Service_ServiceUser_Operation"); + } + /** + * Enable a service so it can be used with a project. See [Cloud Auth + * Guide](https://cloud.google.com/docs/authentication) for more information. + * + * Operation (services.enable) + * + * @param string $name Name of the consumer and the service to enable for that + * consumer. + * + * A valid path would be: - /v1/projects/my- + * project/services/servicemanagement.googleapis.com:enable + * @param Google_Service_ServiceUser_EnableServiceRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_ServiceUser_Operation + */ + public function enable($name, Google_Service_ServiceUser_EnableServiceRequest $postBody, $optParams = array()) + { + $params = array('name' => $name, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('enable', array($params), "Google_Service_ServiceUser_Operation"); + } + /** + * List enabled services for the specified consumer. + * (services.listProjectsServices) + * + * @param string $parent List enabled services for the specified parent. + * + * An example valid parent would be: - projects/my-project + * @param array $optParams Optional parameters. + * + * @opt_param string pageToken Token identifying which result to start with; + * returned by a previous list call. + * @opt_param int pageSize Requested size of the next page of data. + * @return Google_Service_ServiceUser_ListEnabledServicesResponse + */ + public function listProjectsServices($parent, $optParams = array()) + { + $params = array('parent' => $parent); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_ServiceUser_ListEnabledServicesResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ServiceUser/Resource/Services.php b/vendor/google/apiclient-services/src/Google/Service/ServiceUser/Resource/Services.php new file mode 100644 index 00000000..c3db071f --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ServiceUser/Resource/Services.php @@ -0,0 +1,48 @@ + + * $serviceuserService = new Google_Service_ServiceUser(...); + * $services = $serviceuserService->services; + * + */ +class Google_Service_ServiceUser_Resource_Services extends Google_Service_Resource +{ + /** + * Search available services. + * + * When no filter is specified, returns all accessible services. For + * authenticated users, also returns all services the calling user has + * "servicemanagement.services.bind" permission for. (services.search) + * + * @param array $optParams Optional parameters. + * + * @opt_param string pageToken Token identifying which result to start with; + * returned by a previous list call. + * @opt_param int pageSize Requested size of the next page of data. + * @return Google_Service_ServiceUser_SearchServicesResponse + */ + public function search($optParams = array()) + { + $params = array(); + $params = array_merge($params, $optParams); + return $this->call('search', array($params), "Google_Service_ServiceUser_SearchServicesResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ServiceUser/SearchServicesResponse.php b/vendor/google/apiclient-services/src/Google/Service/ServiceUser/SearchServicesResponse.php new file mode 100644 index 00000000..4ce9ad9f --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ServiceUser/SearchServicesResponse.php @@ -0,0 +1,41 @@ +nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setServices($services) + { + $this->services = $services; + } + public function getServices() + { + return $this->services; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ServiceUser/Service.php b/vendor/google/apiclient-services/src/Google/Service/ServiceUser/Service.php new file mode 100644 index 00000000..1fcc527e --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ServiceUser/Service.php @@ -0,0 +1,287 @@ +apis = $apis; + } + public function getApis() + { + return $this->apis; + } + public function setAuthentication(Google_Service_ServiceUser_Authentication $authentication) + { + $this->authentication = $authentication; + } + public function getAuthentication() + { + return $this->authentication; + } + public function setBackend(Google_Service_ServiceUser_Backend $backend) + { + $this->backend = $backend; + } + public function getBackend() + { + return $this->backend; + } + public function setConfigVersion($configVersion) + { + $this->configVersion = $configVersion; + } + public function getConfigVersion() + { + return $this->configVersion; + } + public function setContext(Google_Service_ServiceUser_Context $context) + { + $this->context = $context; + } + public function getContext() + { + return $this->context; + } + public function setControl(Google_Service_ServiceUser_Control $control) + { + $this->control = $control; + } + public function getControl() + { + return $this->control; + } + public function setCustomError(Google_Service_ServiceUser_CustomError $customError) + { + $this->customError = $customError; + } + public function getCustomError() + { + return $this->customError; + } + public function setDocumentation(Google_Service_ServiceUser_Documentation $documentation) + { + $this->documentation = $documentation; + } + public function getDocumentation() + { + return $this->documentation; + } + public function setEndpoints($endpoints) + { + $this->endpoints = $endpoints; + } + public function getEndpoints() + { + return $this->endpoints; + } + public function setEnums($enums) + { + $this->enums = $enums; + } + public function getEnums() + { + return $this->enums; + } + public function setExperimental(Google_Service_ServiceUser_Experimental $experimental) + { + $this->experimental = $experimental; + } + public function getExperimental() + { + return $this->experimental; + } + public function setHttp(Google_Service_ServiceUser_Http $http) + { + $this->http = $http; + } + public function getHttp() + { + return $this->http; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setLogging(Google_Service_ServiceUser_Logging $logging) + { + $this->logging = $logging; + } + public function getLogging() + { + return $this->logging; + } + public function setLogs($logs) + { + $this->logs = $logs; + } + public function getLogs() + { + return $this->logs; + } + public function setMetrics($metrics) + { + $this->metrics = $metrics; + } + public function getMetrics() + { + return $this->metrics; + } + public function setMonitoredResources($monitoredResources) + { + $this->monitoredResources = $monitoredResources; + } + public function getMonitoredResources() + { + return $this->monitoredResources; + } + public function setMonitoring(Google_Service_ServiceUser_Monitoring $monitoring) + { + $this->monitoring = $monitoring; + } + public function getMonitoring() + { + return $this->monitoring; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setProducerProjectId($producerProjectId) + { + $this->producerProjectId = $producerProjectId; + } + public function getProducerProjectId() + { + return $this->producerProjectId; + } + public function setSourceInfo(Google_Service_ServiceUser_SourceInfo $sourceInfo) + { + $this->sourceInfo = $sourceInfo; + } + public function getSourceInfo() + { + return $this->sourceInfo; + } + public function setSystemParameters(Google_Service_ServiceUser_SystemParameters $systemParameters) + { + $this->systemParameters = $systemParameters; + } + public function getSystemParameters() + { + return $this->systemParameters; + } + public function setSystemTypes($systemTypes) + { + $this->systemTypes = $systemTypes; + } + public function getSystemTypes() + { + return $this->systemTypes; + } + public function setTitle($title) + { + $this->title = $title; + } + public function getTitle() + { + return $this->title; + } + public function setTypes($types) + { + $this->types = $types; + } + public function getTypes() + { + return $this->types; + } + public function setUsage(Google_Service_ServiceUser_Usage $usage) + { + $this->usage = $usage; + } + public function getUsage() + { + return $this->usage; + } + public function setVisibility(Google_Service_ServiceUser_Visibility $visibility) + { + $this->visibility = $visibility; + } + public function getVisibility() + { + return $this->visibility; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ServiceUser/SourceContext.php b/vendor/google/apiclient-services/src/Google/Service/ServiceUser/SourceContext.php new file mode 100644 index 00000000..fb1f7993 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ServiceUser/SourceContext.php @@ -0,0 +1,30 @@ +fileName = $fileName; + } + public function getFileName() + { + return $this->fileName; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ServiceUser/SourceInfo.php b/vendor/google/apiclient-services/src/Google/Service/ServiceUser/SourceInfo.php new file mode 100644 index 00000000..7d77d9e2 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ServiceUser/SourceInfo.php @@ -0,0 +1,31 @@ +sourceFiles = $sourceFiles; + } + public function getSourceFiles() + { + return $this->sourceFiles; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ServiceUser/Status.php b/vendor/google/apiclient-services/src/Google/Service/ServiceUser/Status.php new file mode 100644 index 00000000..2e0b2697 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ServiceUser/Status.php @@ -0,0 +1,49 @@ +code = $code; + } + public function getCode() + { + return $this->code; + } + public function setDetails($details) + { + $this->details = $details; + } + public function getDetails() + { + return $this->details; + } + public function setMessage($message) + { + $this->message = $message; + } + public function getMessage() + { + return $this->message; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ServiceUser/Step.php b/vendor/google/apiclient-services/src/Google/Service/ServiceUser/Step.php new file mode 100644 index 00000000..186d1769 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ServiceUser/Step.php @@ -0,0 +1,39 @@ +description = $description; + } + public function getDescription() + { + return $this->description; + } + public function setStatus($status) + { + $this->status = $status; + } + public function getStatus() + { + return $this->status; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ServiceUser/SystemParameter.php b/vendor/google/apiclient-services/src/Google/Service/ServiceUser/SystemParameter.php new file mode 100644 index 00000000..80357ba6 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ServiceUser/SystemParameter.php @@ -0,0 +1,48 @@ +httpHeader = $httpHeader; + } + public function getHttpHeader() + { + return $this->httpHeader; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setUrlQueryParameter($urlQueryParameter) + { + $this->urlQueryParameter = $urlQueryParameter; + } + public function getUrlQueryParameter() + { + return $this->urlQueryParameter; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ServiceUser/SystemParameterRule.php b/vendor/google/apiclient-services/src/Google/Service/ServiceUser/SystemParameterRule.php new file mode 100644 index 00000000..90eeea36 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ServiceUser/SystemParameterRule.php @@ -0,0 +1,41 @@ +parameters = $parameters; + } + public function getParameters() + { + return $this->parameters; + } + public function setSelector($selector) + { + $this->selector = $selector; + } + public function getSelector() + { + return $this->selector; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ServiceUser/SystemParameters.php b/vendor/google/apiclient-services/src/Google/Service/ServiceUser/SystemParameters.php new file mode 100644 index 00000000..4a7ee021 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ServiceUser/SystemParameters.php @@ -0,0 +1,32 @@ +rules = $rules; + } + public function getRules() + { + return $this->rules; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ServiceUser/Type.php b/vendor/google/apiclient-services/src/Google/Service/ServiceUser/Type.php new file mode 100644 index 00000000..b5b6c763 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ServiceUser/Type.php @@ -0,0 +1,79 @@ +fields = $fields; + } + public function getFields() + { + return $this->fields; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setOneofs($oneofs) + { + $this->oneofs = $oneofs; + } + public function getOneofs() + { + return $this->oneofs; + } + public function setOptions($options) + { + $this->options = $options; + } + public function getOptions() + { + return $this->options; + } + public function setSourceContext(Google_Service_ServiceUser_SourceContext $sourceContext) + { + $this->sourceContext = $sourceContext; + } + public function getSourceContext() + { + return $this->sourceContext; + } + public function setSyntax($syntax) + { + $this->syntax = $syntax; + } + public function getSyntax() + { + return $this->syntax; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ServiceUser/Usage.php b/vendor/google/apiclient-services/src/Google/Service/ServiceUser/Usage.php new file mode 100644 index 00000000..edbba99a --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ServiceUser/Usage.php @@ -0,0 +1,50 @@ +producerNotificationChannel = $producerNotificationChannel; + } + public function getProducerNotificationChannel() + { + return $this->producerNotificationChannel; + } + public function setRequirements($requirements) + { + $this->requirements = $requirements; + } + public function getRequirements() + { + return $this->requirements; + } + public function setRules($rules) + { + $this->rules = $rules; + } + public function getRules() + { + return $this->rules; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ServiceUser/UsageRule.php b/vendor/google/apiclient-services/src/Google/Service/ServiceUser/UsageRule.php new file mode 100644 index 00000000..488211d7 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ServiceUser/UsageRule.php @@ -0,0 +1,39 @@ +allowUnregisteredCalls = $allowUnregisteredCalls; + } + public function getAllowUnregisteredCalls() + { + return $this->allowUnregisteredCalls; + } + public function setSelector($selector) + { + $this->selector = $selector; + } + public function getSelector() + { + return $this->selector; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ServiceUser/Visibility.php b/vendor/google/apiclient-services/src/Google/Service/ServiceUser/Visibility.php new file mode 100644 index 00000000..02bbd8a7 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ServiceUser/Visibility.php @@ -0,0 +1,32 @@ +rules = $rules; + } + public function getRules() + { + return $this->rules; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ServiceUser/VisibilityRule.php b/vendor/google/apiclient-services/src/Google/Service/ServiceUser/VisibilityRule.php new file mode 100644 index 00000000..89c9a4c9 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ServiceUser/VisibilityRule.php @@ -0,0 +1,39 @@ +restriction = $restriction; + } + public function getRestriction() + { + return $this->restriction; + } + public function setSelector($selector) + { + $this->selector = $selector; + } + public function getSelector() + { + return $this->selector; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Sheets.php b/vendor/google/apiclient-services/src/Google/Service/Sheets.php new file mode 100644 index 00000000..61bd238d --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Sheets.php @@ -0,0 +1,297 @@ + + * Reads and writes Google Sheets.

+ * + *

+ * For more information about this service, see the API + * Documentation + *

+ * + * @author Google, Inc. + */ +class Google_Service_Sheets extends Google_Service +{ + /** View and manage the files in your Google Drive. */ + const DRIVE = + "https://www.googleapis.com/auth/drive"; + /** View the files in your Google Drive. */ + const DRIVE_READONLY = + "https://www.googleapis.com/auth/drive.readonly"; + /** View and manage your spreadsheets in Google Drive. */ + const SPREADSHEETS = + "https://www.googleapis.com/auth/spreadsheets"; + /** View your Google Spreadsheets. */ + const SPREADSHEETS_READONLY = + "https://www.googleapis.com/auth/spreadsheets.readonly"; + + public $spreadsheets; + public $spreadsheets_sheets; + public $spreadsheets_values; + + /** + * Constructs the internal representation of the Sheets service. + * + * @param Google_Client $client + */ + public function __construct(Google_Client $client) + { + parent::__construct($client); + $this->rootUrl = 'https://sheets.googleapis.com/'; + $this->servicePath = ''; + $this->version = 'v4'; + $this->serviceName = 'sheets'; + + $this->spreadsheets = new Google_Service_Sheets_Resource_Spreadsheets( + $this, + $this->serviceName, + 'spreadsheets', + array( + 'methods' => array( + 'batchUpdate' => array( + 'path' => 'v4/spreadsheets/{spreadsheetId}:batchUpdate', + 'httpMethod' => 'POST', + 'parameters' => array( + 'spreadsheetId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'create' => array( + 'path' => 'v4/spreadsheets', + 'httpMethod' => 'POST', + 'parameters' => array(), + ),'get' => array( + 'path' => 'v4/spreadsheets/{spreadsheetId}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'spreadsheetId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'ranges' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + ), + 'includeGridData' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + ), + ), + ) + ) + ); + $this->spreadsheets_sheets = new Google_Service_Sheets_Resource_SpreadsheetsSheets( + $this, + $this->serviceName, + 'sheets', + array( + 'methods' => array( + 'copyTo' => array( + 'path' => 'v4/spreadsheets/{spreadsheetId}/sheets/{sheetId}:copyTo', + 'httpMethod' => 'POST', + 'parameters' => array( + 'spreadsheetId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'sheetId' => array( + 'location' => 'path', + 'type' => 'integer', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->spreadsheets_values = new Google_Service_Sheets_Resource_SpreadsheetsValues( + $this, + $this->serviceName, + 'values', + array( + 'methods' => array( + 'append' => array( + 'path' => 'v4/spreadsheets/{spreadsheetId}/values/{range}:append', + 'httpMethod' => 'POST', + 'parameters' => array( + 'spreadsheetId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'range' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'includeValuesInResponse' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + 'responseValueRenderOption' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'insertDataOption' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'valueInputOption' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'responseDateTimeRenderOption' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'batchClear' => array( + 'path' => 'v4/spreadsheets/{spreadsheetId}/values:batchClear', + 'httpMethod' => 'POST', + 'parameters' => array( + 'spreadsheetId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'batchGet' => array( + 'path' => 'v4/spreadsheets/{spreadsheetId}/values:batchGet', + 'httpMethod' => 'GET', + 'parameters' => array( + 'spreadsheetId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'valueRenderOption' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'dateTimeRenderOption' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'ranges' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + ), + 'majorDimension' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'batchUpdate' => array( + 'path' => 'v4/spreadsheets/{spreadsheetId}/values:batchUpdate', + 'httpMethod' => 'POST', + 'parameters' => array( + 'spreadsheetId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'clear' => array( + 'path' => 'v4/spreadsheets/{spreadsheetId}/values/{range}:clear', + 'httpMethod' => 'POST', + 'parameters' => array( + 'spreadsheetId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'range' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'get' => array( + 'path' => 'v4/spreadsheets/{spreadsheetId}/values/{range}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'spreadsheetId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'range' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'valueRenderOption' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'dateTimeRenderOption' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'majorDimension' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'update' => array( + 'path' => 'v4/spreadsheets/{spreadsheetId}/values/{range}', + 'httpMethod' => 'PUT', + 'parameters' => array( + 'spreadsheetId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'range' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'responseValueRenderOption' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'valueInputOption' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'responseDateTimeRenderOption' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'includeValuesInResponse' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + ), + ), + ) + ) + ); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Sheets/AddBandingRequest.php b/vendor/google/apiclient-services/src/Google/Service/Sheets/AddBandingRequest.php new file mode 100644 index 00000000..37ebaab0 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Sheets/AddBandingRequest.php @@ -0,0 +1,31 @@ +bandedRange = $bandedRange; + } + public function getBandedRange() + { + return $this->bandedRange; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Sheets/AddBandingResponse.php b/vendor/google/apiclient-services/src/Google/Service/Sheets/AddBandingResponse.php new file mode 100644 index 00000000..113cf126 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Sheets/AddBandingResponse.php @@ -0,0 +1,31 @@ +bandedRange = $bandedRange; + } + public function getBandedRange() + { + return $this->bandedRange; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Sheets/AddChartRequest.php b/vendor/google/apiclient-services/src/Google/Service/Sheets/AddChartRequest.php new file mode 100644 index 00000000..2bfa3275 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Sheets/AddChartRequest.php @@ -0,0 +1,31 @@ +chart = $chart; + } + public function getChart() + { + return $this->chart; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Sheets/AddChartResponse.php b/vendor/google/apiclient-services/src/Google/Service/Sheets/AddChartResponse.php new file mode 100644 index 00000000..9d3f1302 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Sheets/AddChartResponse.php @@ -0,0 +1,31 @@ +chart = $chart; + } + public function getChart() + { + return $this->chart; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Sheets/AddConditionalFormatRuleRequest.php b/vendor/google/apiclient-services/src/Google/Service/Sheets/AddConditionalFormatRuleRequest.php new file mode 100644 index 00000000..3a182df3 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Sheets/AddConditionalFormatRuleRequest.php @@ -0,0 +1,40 @@ +index = $index; + } + public function getIndex() + { + return $this->index; + } + public function setRule(Google_Service_Sheets_ConditionalFormatRule $rule) + { + $this->rule = $rule; + } + public function getRule() + { + return $this->rule; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Sheets/AddFilterViewRequest.php b/vendor/google/apiclient-services/src/Google/Service/Sheets/AddFilterViewRequest.php new file mode 100644 index 00000000..6128be09 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Sheets/AddFilterViewRequest.php @@ -0,0 +1,31 @@ +filter = $filter; + } + public function getFilter() + { + return $this->filter; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Sheets/AddFilterViewResponse.php b/vendor/google/apiclient-services/src/Google/Service/Sheets/AddFilterViewResponse.php new file mode 100644 index 00000000..590570c9 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Sheets/AddFilterViewResponse.php @@ -0,0 +1,31 @@ +filter = $filter; + } + public function getFilter() + { + return $this->filter; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Sheets/AddNamedRangeRequest.php b/vendor/google/apiclient-services/src/Google/Service/Sheets/AddNamedRangeRequest.php new file mode 100644 index 00000000..b13259d7 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Sheets/AddNamedRangeRequest.php @@ -0,0 +1,31 @@ +namedRange = $namedRange; + } + public function getNamedRange() + { + return $this->namedRange; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Sheets/AddNamedRangeResponse.php b/vendor/google/apiclient-services/src/Google/Service/Sheets/AddNamedRangeResponse.php new file mode 100644 index 00000000..67899f1e --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Sheets/AddNamedRangeResponse.php @@ -0,0 +1,31 @@ +namedRange = $namedRange; + } + public function getNamedRange() + { + return $this->namedRange; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Sheets/AddProtectedRangeRequest.php b/vendor/google/apiclient-services/src/Google/Service/Sheets/AddProtectedRangeRequest.php new file mode 100644 index 00000000..09d71864 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Sheets/AddProtectedRangeRequest.php @@ -0,0 +1,31 @@ +protectedRange = $protectedRange; + } + public function getProtectedRange() + { + return $this->protectedRange; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Sheets/AddProtectedRangeResponse.php b/vendor/google/apiclient-services/src/Google/Service/Sheets/AddProtectedRangeResponse.php new file mode 100644 index 00000000..9cae479a --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Sheets/AddProtectedRangeResponse.php @@ -0,0 +1,31 @@ +protectedRange = $protectedRange; + } + public function getProtectedRange() + { + return $this->protectedRange; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Sheets/AddSheetRequest.php b/vendor/google/apiclient-services/src/Google/Service/Sheets/AddSheetRequest.php new file mode 100644 index 00000000..fafb3a6c --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Sheets/AddSheetRequest.php @@ -0,0 +1,31 @@ +properties = $properties; + } + public function getProperties() + { + return $this->properties; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Sheets/AddSheetResponse.php b/vendor/google/apiclient-services/src/Google/Service/Sheets/AddSheetResponse.php new file mode 100644 index 00000000..bf097025 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Sheets/AddSheetResponse.php @@ -0,0 +1,31 @@ +properties = $properties; + } + public function getProperties() + { + return $this->properties; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Sheets/AppendCellsRequest.php b/vendor/google/apiclient-services/src/Google/Service/Sheets/AppendCellsRequest.php new file mode 100644 index 00000000..b4d917a7 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Sheets/AppendCellsRequest.php @@ -0,0 +1,50 @@ +fields = $fields; + } + public function getFields() + { + return $this->fields; + } + public function setRows($rows) + { + $this->rows = $rows; + } + public function getRows() + { + return $this->rows; + } + public function setSheetId($sheetId) + { + $this->sheetId = $sheetId; + } + public function getSheetId() + { + return $this->sheetId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Sheets/AppendDimensionRequest.php b/vendor/google/apiclient-services/src/Google/Service/Sheets/AppendDimensionRequest.php new file mode 100644 index 00000000..0fcf960c --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Sheets/AppendDimensionRequest.php @@ -0,0 +1,48 @@ +dimension = $dimension; + } + public function getDimension() + { + return $this->dimension; + } + public function setLength($length) + { + $this->length = $length; + } + public function getLength() + { + return $this->length; + } + public function setSheetId($sheetId) + { + $this->sheetId = $sheetId; + } + public function getSheetId() + { + return $this->sheetId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Sheets/AppendValuesResponse.php b/vendor/google/apiclient-services/src/Google/Service/Sheets/AppendValuesResponse.php new file mode 100644 index 00000000..8c88ac22 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Sheets/AppendValuesResponse.php @@ -0,0 +1,49 @@ +spreadsheetId = $spreadsheetId; + } + public function getSpreadsheetId() + { + return $this->spreadsheetId; + } + public function setTableRange($tableRange) + { + $this->tableRange = $tableRange; + } + public function getTableRange() + { + return $this->tableRange; + } + public function setUpdates(Google_Service_Sheets_UpdateValuesResponse $updates) + { + $this->updates = $updates; + } + public function getUpdates() + { + return $this->updates; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Sheets/AutoFillRequest.php b/vendor/google/apiclient-services/src/Google/Service/Sheets/AutoFillRequest.php new file mode 100644 index 00000000..ef69a642 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Sheets/AutoFillRequest.php @@ -0,0 +1,50 @@ +range = $range; + } + public function getRange() + { + return $this->range; + } + public function setSourceAndDestination(Google_Service_Sheets_SourceAndDestination $sourceAndDestination) + { + $this->sourceAndDestination = $sourceAndDestination; + } + public function getSourceAndDestination() + { + return $this->sourceAndDestination; + } + public function setUseAlternateSeries($useAlternateSeries) + { + $this->useAlternateSeries = $useAlternateSeries; + } + public function getUseAlternateSeries() + { + return $this->useAlternateSeries; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Sheets/AutoResizeDimensionsRequest.php b/vendor/google/apiclient-services/src/Google/Service/Sheets/AutoResizeDimensionsRequest.php new file mode 100644 index 00000000..acd9caec --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Sheets/AutoResizeDimensionsRequest.php @@ -0,0 +1,31 @@ +dimensions = $dimensions; + } + public function getDimensions() + { + return $this->dimensions; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Sheets/BandedRange.php b/vendor/google/apiclient-services/src/Google/Service/Sheets/BandedRange.php new file mode 100644 index 00000000..c3dfb2f9 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Sheets/BandedRange.php @@ -0,0 +1,60 @@ +bandedRangeId = $bandedRangeId; + } + public function getBandedRangeId() + { + return $this->bandedRangeId; + } + public function setColumnProperties(Google_Service_Sheets_BandingProperties $columnProperties) + { + $this->columnProperties = $columnProperties; + } + public function getColumnProperties() + { + return $this->columnProperties; + } + public function setRange(Google_Service_Sheets_GridRange $range) + { + $this->range = $range; + } + public function getRange() + { + return $this->range; + } + public function setRowProperties(Google_Service_Sheets_BandingProperties $rowProperties) + { + $this->rowProperties = $rowProperties; + } + public function getRowProperties() + { + return $this->rowProperties; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Sheets/BandingProperties.php b/vendor/google/apiclient-services/src/Google/Service/Sheets/BandingProperties.php new file mode 100644 index 00000000..e146ffcb --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Sheets/BandingProperties.php @@ -0,0 +1,61 @@ +firstBandColor = $firstBandColor; + } + public function getFirstBandColor() + { + return $this->firstBandColor; + } + public function setFooterColor(Google_Service_Sheets_Color $footerColor) + { + $this->footerColor = $footerColor; + } + public function getFooterColor() + { + return $this->footerColor; + } + public function setHeaderColor(Google_Service_Sheets_Color $headerColor) + { + $this->headerColor = $headerColor; + } + public function getHeaderColor() + { + return $this->headerColor; + } + public function setSecondBandColor(Google_Service_Sheets_Color $secondBandColor) + { + $this->secondBandColor = $secondBandColor; + } + public function getSecondBandColor() + { + return $this->secondBandColor; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Sheets/BasicChartAxis.php b/vendor/google/apiclient-services/src/Google/Service/Sheets/BasicChartAxis.php new file mode 100644 index 00000000..2c2482a0 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Sheets/BasicChartAxis.php @@ -0,0 +1,49 @@ +format = $format; + } + public function getFormat() + { + return $this->format; + } + public function setPosition($position) + { + $this->position = $position; + } + public function getPosition() + { + return $this->position; + } + public function setTitle($title) + { + $this->title = $title; + } + public function getTitle() + { + return $this->title; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Sheets/BasicChartDomain.php b/vendor/google/apiclient-services/src/Google/Service/Sheets/BasicChartDomain.php new file mode 100644 index 00000000..4a770999 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Sheets/BasicChartDomain.php @@ -0,0 +1,31 @@ +domain = $domain; + } + public function getDomain() + { + return $this->domain; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Sheets/BasicChartSeries.php b/vendor/google/apiclient-services/src/Google/Service/Sheets/BasicChartSeries.php new file mode 100644 index 00000000..02080351 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Sheets/BasicChartSeries.php @@ -0,0 +1,49 @@ +series = $series; + } + public function getSeries() + { + return $this->series; + } + public function setTargetAxis($targetAxis) + { + $this->targetAxis = $targetAxis; + } + public function getTargetAxis() + { + return $this->targetAxis; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Sheets/BasicChartSpec.php b/vendor/google/apiclient-services/src/Google/Service/Sheets/BasicChartSpec.php new file mode 100644 index 00000000..e54738ca --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Sheets/BasicChartSpec.php @@ -0,0 +1,79 @@ +axis = $axis; + } + public function getAxis() + { + return $this->axis; + } + public function setChartType($chartType) + { + $this->chartType = $chartType; + } + public function getChartType() + { + return $this->chartType; + } + public function setDomains($domains) + { + $this->domains = $domains; + } + public function getDomains() + { + return $this->domains; + } + public function setHeaderCount($headerCount) + { + $this->headerCount = $headerCount; + } + public function getHeaderCount() + { + return $this->headerCount; + } + public function setLegendPosition($legendPosition) + { + $this->legendPosition = $legendPosition; + } + public function getLegendPosition() + { + return $this->legendPosition; + } + public function setSeries($series) + { + $this->series = $series; + } + public function getSeries() + { + return $this->series; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Sheets/BasicFilter.php b/vendor/google/apiclient-services/src/Google/Service/Sheets/BasicFilter.php new file mode 100644 index 00000000..b6f46494 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Sheets/BasicFilter.php @@ -0,0 +1,52 @@ +criteria = $criteria; + } + public function getCriteria() + { + return $this->criteria; + } + public function setRange(Google_Service_Sheets_GridRange $range) + { + $this->range = $range; + } + public function getRange() + { + return $this->range; + } + public function setSortSpecs($sortSpecs) + { + $this->sortSpecs = $sortSpecs; + } + public function getSortSpecs() + { + return $this->sortSpecs; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Sheets/BatchClearValuesRequest.php b/vendor/google/apiclient-services/src/Google/Service/Sheets/BatchClearValuesRequest.php new file mode 100644 index 00000000..aa48408b --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Sheets/BatchClearValuesRequest.php @@ -0,0 +1,31 @@ +ranges = $ranges; + } + public function getRanges() + { + return $this->ranges; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Sheets/BatchClearValuesResponse.php b/vendor/google/apiclient-services/src/Google/Service/Sheets/BatchClearValuesResponse.php new file mode 100644 index 00000000..f3d5c571 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Sheets/BatchClearValuesResponse.php @@ -0,0 +1,40 @@ +clearedRanges = $clearedRanges; + } + public function getClearedRanges() + { + return $this->clearedRanges; + } + public function setSpreadsheetId($spreadsheetId) + { + $this->spreadsheetId = $spreadsheetId; + } + public function getSpreadsheetId() + { + return $this->spreadsheetId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Sheets/BatchGetValuesResponse.php b/vendor/google/apiclient-services/src/Google/Service/Sheets/BatchGetValuesResponse.php new file mode 100644 index 00000000..70da92cc --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Sheets/BatchGetValuesResponse.php @@ -0,0 +1,41 @@ +spreadsheetId = $spreadsheetId; + } + public function getSpreadsheetId() + { + return $this->spreadsheetId; + } + public function setValueRanges($valueRanges) + { + $this->valueRanges = $valueRanges; + } + public function getValueRanges() + { + return $this->valueRanges; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Sheets/BatchUpdateSpreadsheetRequest.php b/vendor/google/apiclient-services/src/Google/Service/Sheets/BatchUpdateSpreadsheetRequest.php new file mode 100644 index 00000000..a8547419 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Sheets/BatchUpdateSpreadsheetRequest.php @@ -0,0 +1,59 @@ +includeSpreadsheetInResponse = $includeSpreadsheetInResponse; + } + public function getIncludeSpreadsheetInResponse() + { + return $this->includeSpreadsheetInResponse; + } + public function setRequests($requests) + { + $this->requests = $requests; + } + public function getRequests() + { + return $this->requests; + } + public function setResponseIncludeGridData($responseIncludeGridData) + { + $this->responseIncludeGridData = $responseIncludeGridData; + } + public function getResponseIncludeGridData() + { + return $this->responseIncludeGridData; + } + public function setResponseRanges($responseRanges) + { + $this->responseRanges = $responseRanges; + } + public function getResponseRanges() + { + return $this->responseRanges; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Sheets/BatchUpdateSpreadsheetResponse.php b/vendor/google/apiclient-services/src/Google/Service/Sheets/BatchUpdateSpreadsheetResponse.php new file mode 100644 index 00000000..adc77749 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Sheets/BatchUpdateSpreadsheetResponse.php @@ -0,0 +1,51 @@ +replies = $replies; + } + public function getReplies() + { + return $this->replies; + } + public function setSpreadsheetId($spreadsheetId) + { + $this->spreadsheetId = $spreadsheetId; + } + public function getSpreadsheetId() + { + return $this->spreadsheetId; + } + public function setUpdatedSpreadsheet(Google_Service_Sheets_Spreadsheet $updatedSpreadsheet) + { + $this->updatedSpreadsheet = $updatedSpreadsheet; + } + public function getUpdatedSpreadsheet() + { + return $this->updatedSpreadsheet; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Sheets/BatchUpdateValuesRequest.php b/vendor/google/apiclient-services/src/Google/Service/Sheets/BatchUpdateValuesRequest.php new file mode 100644 index 00000000..e7052497 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Sheets/BatchUpdateValuesRequest.php @@ -0,0 +1,68 @@ +data = $data; + } + public function getData() + { + return $this->data; + } + public function setIncludeValuesInResponse($includeValuesInResponse) + { + $this->includeValuesInResponse = $includeValuesInResponse; + } + public function getIncludeValuesInResponse() + { + return $this->includeValuesInResponse; + } + public function setResponseDateTimeRenderOption($responseDateTimeRenderOption) + { + $this->responseDateTimeRenderOption = $responseDateTimeRenderOption; + } + public function getResponseDateTimeRenderOption() + { + return $this->responseDateTimeRenderOption; + } + public function setResponseValueRenderOption($responseValueRenderOption) + { + $this->responseValueRenderOption = $responseValueRenderOption; + } + public function getResponseValueRenderOption() + { + return $this->responseValueRenderOption; + } + public function setValueInputOption($valueInputOption) + { + $this->valueInputOption = $valueInputOption; + } + public function getValueInputOption() + { + return $this->valueInputOption; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Sheets/BatchUpdateValuesResponse.php b/vendor/google/apiclient-services/src/Google/Service/Sheets/BatchUpdateValuesResponse.php new file mode 100644 index 00000000..3d9364b4 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Sheets/BatchUpdateValuesResponse.php @@ -0,0 +1,77 @@ +responses = $responses; + } + public function getResponses() + { + return $this->responses; + } + public function setSpreadsheetId($spreadsheetId) + { + $this->spreadsheetId = $spreadsheetId; + } + public function getSpreadsheetId() + { + return $this->spreadsheetId; + } + public function setTotalUpdatedCells($totalUpdatedCells) + { + $this->totalUpdatedCells = $totalUpdatedCells; + } + public function getTotalUpdatedCells() + { + return $this->totalUpdatedCells; + } + public function setTotalUpdatedColumns($totalUpdatedColumns) + { + $this->totalUpdatedColumns = $totalUpdatedColumns; + } + public function getTotalUpdatedColumns() + { + return $this->totalUpdatedColumns; + } + public function setTotalUpdatedRows($totalUpdatedRows) + { + $this->totalUpdatedRows = $totalUpdatedRows; + } + public function getTotalUpdatedRows() + { + return $this->totalUpdatedRows; + } + public function setTotalUpdatedSheets($totalUpdatedSheets) + { + $this->totalUpdatedSheets = $totalUpdatedSheets; + } + public function getTotalUpdatedSheets() + { + return $this->totalUpdatedSheets; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Sheets/BooleanCondition.php b/vendor/google/apiclient-services/src/Google/Service/Sheets/BooleanCondition.php new file mode 100644 index 00000000..d180587f --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Sheets/BooleanCondition.php @@ -0,0 +1,41 @@ +type = $type; + } + public function getType() + { + return $this->type; + } + public function setValues($values) + { + $this->values = $values; + } + public function getValues() + { + return $this->values; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Sheets/BooleanRule.php b/vendor/google/apiclient-services/src/Google/Service/Sheets/BooleanRule.php new file mode 100644 index 00000000..d24200bb --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Sheets/BooleanRule.php @@ -0,0 +1,41 @@ +condition = $condition; + } + public function getCondition() + { + return $this->condition; + } + public function setFormat(Google_Service_Sheets_CellFormat $format) + { + $this->format = $format; + } + public function getFormat() + { + return $this->format; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Sheets/Border.php b/vendor/google/apiclient-services/src/Google/Service/Sheets/Border.php new file mode 100644 index 00000000..9ddbfc0e --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Sheets/Border.php @@ -0,0 +1,49 @@ +color = $color; + } + public function getColor() + { + return $this->color; + } + public function setStyle($style) + { + $this->style = $style; + } + public function getStyle() + { + return $this->style; + } + public function setWidth($width) + { + $this->width = $width; + } + public function getWidth() + { + return $this->width; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Sheets/Borders.php b/vendor/google/apiclient-services/src/Google/Service/Sheets/Borders.php new file mode 100644 index 00000000..46308e90 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Sheets/Borders.php @@ -0,0 +1,61 @@ +bottom = $bottom; + } + public function getBottom() + { + return $this->bottom; + } + public function setLeft(Google_Service_Sheets_Border $left) + { + $this->left = $left; + } + public function getLeft() + { + return $this->left; + } + public function setRight(Google_Service_Sheets_Border $right) + { + $this->right = $right; + } + public function getRight() + { + return $this->right; + } + public function setTop(Google_Service_Sheets_Border $top) + { + $this->top = $top; + } + public function getTop() + { + return $this->top; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Sheets/CellData.php b/vendor/google/apiclient-services/src/Google/Service/Sheets/CellData.php new file mode 100644 index 00000000..737155c9 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Sheets/CellData.php @@ -0,0 +1,119 @@ +dataValidation = $dataValidation; + } + public function getDataValidation() + { + return $this->dataValidation; + } + public function setEffectiveFormat(Google_Service_Sheets_CellFormat $effectiveFormat) + { + $this->effectiveFormat = $effectiveFormat; + } + public function getEffectiveFormat() + { + return $this->effectiveFormat; + } + public function setEffectiveValue(Google_Service_Sheets_ExtendedValue $effectiveValue) + { + $this->effectiveValue = $effectiveValue; + } + public function getEffectiveValue() + { + return $this->effectiveValue; + } + public function setFormattedValue($formattedValue) + { + $this->formattedValue = $formattedValue; + } + public function getFormattedValue() + { + return $this->formattedValue; + } + public function setHyperlink($hyperlink) + { + $this->hyperlink = $hyperlink; + } + public function getHyperlink() + { + return $this->hyperlink; + } + public function setNote($note) + { + $this->note = $note; + } + public function getNote() + { + return $this->note; + } + public function setPivotTable(Google_Service_Sheets_PivotTable $pivotTable) + { + $this->pivotTable = $pivotTable; + } + public function getPivotTable() + { + return $this->pivotTable; + } + public function setTextFormatRuns($textFormatRuns) + { + $this->textFormatRuns = $textFormatRuns; + } + public function getTextFormatRuns() + { + return $this->textFormatRuns; + } + public function setUserEnteredFormat(Google_Service_Sheets_CellFormat $userEnteredFormat) + { + $this->userEnteredFormat = $userEnteredFormat; + } + public function getUserEnteredFormat() + { + return $this->userEnteredFormat; + } + public function setUserEnteredValue(Google_Service_Sheets_ExtendedValue $userEnteredValue) + { + $this->userEnteredValue = $userEnteredValue; + } + public function getUserEnteredValue() + { + return $this->userEnteredValue; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Sheets/CellFormat.php b/vendor/google/apiclient-services/src/Google/Service/Sheets/CellFormat.php new file mode 100644 index 00000000..395fb851 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Sheets/CellFormat.php @@ -0,0 +1,126 @@ +backgroundColor = $backgroundColor; + } + public function getBackgroundColor() + { + return $this->backgroundColor; + } + public function setBorders(Google_Service_Sheets_Borders $borders) + { + $this->borders = $borders; + } + public function getBorders() + { + return $this->borders; + } + public function setHorizontalAlignment($horizontalAlignment) + { + $this->horizontalAlignment = $horizontalAlignment; + } + public function getHorizontalAlignment() + { + return $this->horizontalAlignment; + } + public function setHyperlinkDisplayType($hyperlinkDisplayType) + { + $this->hyperlinkDisplayType = $hyperlinkDisplayType; + } + public function getHyperlinkDisplayType() + { + return $this->hyperlinkDisplayType; + } + public function setNumberFormat(Google_Service_Sheets_NumberFormat $numberFormat) + { + $this->numberFormat = $numberFormat; + } + public function getNumberFormat() + { + return $this->numberFormat; + } + public function setPadding(Google_Service_Sheets_Padding $padding) + { + $this->padding = $padding; + } + public function getPadding() + { + return $this->padding; + } + public function setTextDirection($textDirection) + { + $this->textDirection = $textDirection; + } + public function getTextDirection() + { + return $this->textDirection; + } + public function setTextFormat(Google_Service_Sheets_TextFormat $textFormat) + { + $this->textFormat = $textFormat; + } + public function getTextFormat() + { + return $this->textFormat; + } + public function setTextRotation(Google_Service_Sheets_TextRotation $textRotation) + { + $this->textRotation = $textRotation; + } + public function getTextRotation() + { + return $this->textRotation; + } + public function setVerticalAlignment($verticalAlignment) + { + $this->verticalAlignment = $verticalAlignment; + } + public function getVerticalAlignment() + { + return $this->verticalAlignment; + } + public function setWrapStrategy($wrapStrategy) + { + $this->wrapStrategy = $wrapStrategy; + } + public function getWrapStrategy() + { + return $this->wrapStrategy; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Sheets/ChartData.php b/vendor/google/apiclient-services/src/Google/Service/Sheets/ChartData.php new file mode 100644 index 00000000..c9e96f12 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Sheets/ChartData.php @@ -0,0 +1,31 @@ +sourceRange = $sourceRange; + } + public function getSourceRange() + { + return $this->sourceRange; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Sheets/ChartSourceRange.php b/vendor/google/apiclient-services/src/Google/Service/Sheets/ChartSourceRange.php new file mode 100644 index 00000000..b8be07ea --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Sheets/ChartSourceRange.php @@ -0,0 +1,32 @@ +sources = $sources; + } + public function getSources() + { + return $this->sources; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Sheets/ChartSpec.php b/vendor/google/apiclient-services/src/Google/Service/Sheets/ChartSpec.php new file mode 100644 index 00000000..44e0e944 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Sheets/ChartSpec.php @@ -0,0 +1,59 @@ +basicChart = $basicChart; + } + public function getBasicChart() + { + return $this->basicChart; + } + public function setHiddenDimensionStrategy($hiddenDimensionStrategy) + { + $this->hiddenDimensionStrategy = $hiddenDimensionStrategy; + } + public function getHiddenDimensionStrategy() + { + return $this->hiddenDimensionStrategy; + } + public function setPieChart(Google_Service_Sheets_PieChartSpec $pieChart) + { + $this->pieChart = $pieChart; + } + public function getPieChart() + { + return $this->pieChart; + } + public function setTitle($title) + { + $this->title = $title; + } + public function getTitle() + { + return $this->title; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Sheets/ClearBasicFilterRequest.php b/vendor/google/apiclient-services/src/Google/Service/Sheets/ClearBasicFilterRequest.php new file mode 100644 index 00000000..e76fd116 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Sheets/ClearBasicFilterRequest.php @@ -0,0 +1,30 @@ +sheetId = $sheetId; + } + public function getSheetId() + { + return $this->sheetId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Sheets/ClearValuesRequest.php b/vendor/google/apiclient-services/src/Google/Service/Sheets/ClearValuesRequest.php new file mode 100644 index 00000000..f0d93815 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Sheets/ClearValuesRequest.php @@ -0,0 +1,20 @@ +clearedRange = $clearedRange; + } + public function getClearedRange() + { + return $this->clearedRange; + } + public function setSpreadsheetId($spreadsheetId) + { + $this->spreadsheetId = $spreadsheetId; + } + public function getSpreadsheetId() + { + return $this->spreadsheetId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Sheets/Color.php b/vendor/google/apiclient-services/src/Google/Service/Sheets/Color.php new file mode 100644 index 00000000..bd8732a1 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Sheets/Color.php @@ -0,0 +1,57 @@ +alpha = $alpha; + } + public function getAlpha() + { + return $this->alpha; + } + public function setBlue($blue) + { + $this->blue = $blue; + } + public function getBlue() + { + return $this->blue; + } + public function setGreen($green) + { + $this->green = $green; + } + public function getGreen() + { + return $this->green; + } + public function setRed($red) + { + $this->red = $red; + } + public function getRed() + { + return $this->red; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Sheets/ConditionValue.php b/vendor/google/apiclient-services/src/Google/Service/Sheets/ConditionValue.php new file mode 100644 index 00000000..6979ec2b --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Sheets/ConditionValue.php @@ -0,0 +1,39 @@ +relativeDate = $relativeDate; + } + public function getRelativeDate() + { + return $this->relativeDate; + } + public function setUserEnteredValue($userEnteredValue) + { + $this->userEnteredValue = $userEnteredValue; + } + public function getUserEnteredValue() + { + return $this->userEnteredValue; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Sheets/ConditionalFormatRule.php b/vendor/google/apiclient-services/src/Google/Service/Sheets/ConditionalFormatRule.php new file mode 100644 index 00000000..965429d9 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Sheets/ConditionalFormatRule.php @@ -0,0 +1,52 @@ +booleanRule = $booleanRule; + } + public function getBooleanRule() + { + return $this->booleanRule; + } + public function setGradientRule(Google_Service_Sheets_GradientRule $gradientRule) + { + $this->gradientRule = $gradientRule; + } + public function getGradientRule() + { + return $this->gradientRule; + } + public function setRanges($ranges) + { + $this->ranges = $ranges; + } + public function getRanges() + { + return $this->ranges; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Sheets/CopyPasteRequest.php b/vendor/google/apiclient-services/src/Google/Service/Sheets/CopyPasteRequest.php new file mode 100644 index 00000000..a0a890ef --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Sheets/CopyPasteRequest.php @@ -0,0 +1,59 @@ +destination = $destination; + } + public function getDestination() + { + return $this->destination; + } + public function setPasteOrientation($pasteOrientation) + { + $this->pasteOrientation = $pasteOrientation; + } + public function getPasteOrientation() + { + return $this->pasteOrientation; + } + public function setPasteType($pasteType) + { + $this->pasteType = $pasteType; + } + public function getPasteType() + { + return $this->pasteType; + } + public function setSource(Google_Service_Sheets_GridRange $source) + { + $this->source = $source; + } + public function getSource() + { + return $this->source; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Sheets/CopySheetToAnotherSpreadsheetRequest.php b/vendor/google/apiclient-services/src/Google/Service/Sheets/CopySheetToAnotherSpreadsheetRequest.php new file mode 100644 index 00000000..13a56b1a --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Sheets/CopySheetToAnotherSpreadsheetRequest.php @@ -0,0 +1,30 @@ +destinationSpreadsheetId = $destinationSpreadsheetId; + } + public function getDestinationSpreadsheetId() + { + return $this->destinationSpreadsheetId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Sheets/CutPasteRequest.php b/vendor/google/apiclient-services/src/Google/Service/Sheets/CutPasteRequest.php new file mode 100644 index 00000000..8e3a2e05 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Sheets/CutPasteRequest.php @@ -0,0 +1,50 @@ +destination = $destination; + } + public function getDestination() + { + return $this->destination; + } + public function setPasteType($pasteType) + { + $this->pasteType = $pasteType; + } + public function getPasteType() + { + return $this->pasteType; + } + public function setSource(Google_Service_Sheets_GridRange $source) + { + $this->source = $source; + } + public function getSource() + { + return $this->source; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Sheets/DataValidationRule.php b/vendor/google/apiclient-services/src/Google/Service/Sheets/DataValidationRule.php new file mode 100644 index 00000000..35aba97d --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Sheets/DataValidationRule.php @@ -0,0 +1,58 @@ +condition = $condition; + } + public function getCondition() + { + return $this->condition; + } + public function setInputMessage($inputMessage) + { + $this->inputMessage = $inputMessage; + } + public function getInputMessage() + { + return $this->inputMessage; + } + public function setShowCustomUi($showCustomUi) + { + $this->showCustomUi = $showCustomUi; + } + public function getShowCustomUi() + { + return $this->showCustomUi; + } + public function setStrict($strict) + { + $this->strict = $strict; + } + public function getStrict() + { + return $this->strict; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Sheets/DeleteBandingRequest.php b/vendor/google/apiclient-services/src/Google/Service/Sheets/DeleteBandingRequest.php new file mode 100644 index 00000000..71463ac3 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Sheets/DeleteBandingRequest.php @@ -0,0 +1,30 @@ +bandedRangeId = $bandedRangeId; + } + public function getBandedRangeId() + { + return $this->bandedRangeId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Sheets/DeleteConditionalFormatRuleRequest.php b/vendor/google/apiclient-services/src/Google/Service/Sheets/DeleteConditionalFormatRuleRequest.php new file mode 100644 index 00000000..971327a5 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Sheets/DeleteConditionalFormatRuleRequest.php @@ -0,0 +1,39 @@ +index = $index; + } + public function getIndex() + { + return $this->index; + } + public function setSheetId($sheetId) + { + $this->sheetId = $sheetId; + } + public function getSheetId() + { + return $this->sheetId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Sheets/DeleteConditionalFormatRuleResponse.php b/vendor/google/apiclient-services/src/Google/Service/Sheets/DeleteConditionalFormatRuleResponse.php new file mode 100644 index 00000000..414f9c9a --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Sheets/DeleteConditionalFormatRuleResponse.php @@ -0,0 +1,31 @@ +rule = $rule; + } + public function getRule() + { + return $this->rule; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Sheets/DeleteDimensionRequest.php b/vendor/google/apiclient-services/src/Google/Service/Sheets/DeleteDimensionRequest.php new file mode 100644 index 00000000..e0c79491 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Sheets/DeleteDimensionRequest.php @@ -0,0 +1,31 @@ +range = $range; + } + public function getRange() + { + return $this->range; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Sheets/DeleteEmbeddedObjectRequest.php b/vendor/google/apiclient-services/src/Google/Service/Sheets/DeleteEmbeddedObjectRequest.php new file mode 100644 index 00000000..9a056420 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Sheets/DeleteEmbeddedObjectRequest.php @@ -0,0 +1,30 @@ +objectId = $objectId; + } + public function getObjectId() + { + return $this->objectId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Sheets/DeleteFilterViewRequest.php b/vendor/google/apiclient-services/src/Google/Service/Sheets/DeleteFilterViewRequest.php new file mode 100644 index 00000000..0be66871 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Sheets/DeleteFilterViewRequest.php @@ -0,0 +1,30 @@ +filterId = $filterId; + } + public function getFilterId() + { + return $this->filterId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Sheets/DeleteNamedRangeRequest.php b/vendor/google/apiclient-services/src/Google/Service/Sheets/DeleteNamedRangeRequest.php new file mode 100644 index 00000000..1296fbce --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Sheets/DeleteNamedRangeRequest.php @@ -0,0 +1,30 @@ +namedRangeId = $namedRangeId; + } + public function getNamedRangeId() + { + return $this->namedRangeId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Sheets/DeleteProtectedRangeRequest.php b/vendor/google/apiclient-services/src/Google/Service/Sheets/DeleteProtectedRangeRequest.php new file mode 100644 index 00000000..cf375b7c --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Sheets/DeleteProtectedRangeRequest.php @@ -0,0 +1,30 @@ +protectedRangeId = $protectedRangeId; + } + public function getProtectedRangeId() + { + return $this->protectedRangeId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Sheets/DeleteRangeRequest.php b/vendor/google/apiclient-services/src/Google/Service/Sheets/DeleteRangeRequest.php new file mode 100644 index 00000000..d90b01da --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Sheets/DeleteRangeRequest.php @@ -0,0 +1,40 @@ +range = $range; + } + public function getRange() + { + return $this->range; + } + public function setShiftDimension($shiftDimension) + { + $this->shiftDimension = $shiftDimension; + } + public function getShiftDimension() + { + return $this->shiftDimension; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Sheets/DeleteSheetRequest.php b/vendor/google/apiclient-services/src/Google/Service/Sheets/DeleteSheetRequest.php new file mode 100644 index 00000000..3ac8ffac --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Sheets/DeleteSheetRequest.php @@ -0,0 +1,30 @@ +sheetId = $sheetId; + } + public function getSheetId() + { + return $this->sheetId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Sheets/DimensionProperties.php b/vendor/google/apiclient-services/src/Google/Service/Sheets/DimensionProperties.php new file mode 100644 index 00000000..154eb12e --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Sheets/DimensionProperties.php @@ -0,0 +1,48 @@ +hiddenByFilter = $hiddenByFilter; + } + public function getHiddenByFilter() + { + return $this->hiddenByFilter; + } + public function setHiddenByUser($hiddenByUser) + { + $this->hiddenByUser = $hiddenByUser; + } + public function getHiddenByUser() + { + return $this->hiddenByUser; + } + public function setPixelSize($pixelSize) + { + $this->pixelSize = $pixelSize; + } + public function getPixelSize() + { + return $this->pixelSize; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Sheets/DimensionRange.php b/vendor/google/apiclient-services/src/Google/Service/Sheets/DimensionRange.php new file mode 100644 index 00000000..b21351a4 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Sheets/DimensionRange.php @@ -0,0 +1,57 @@ +dimension = $dimension; + } + public function getDimension() + { + return $this->dimension; + } + public function setEndIndex($endIndex) + { + $this->endIndex = $endIndex; + } + public function getEndIndex() + { + return $this->endIndex; + } + public function setSheetId($sheetId) + { + $this->sheetId = $sheetId; + } + public function getSheetId() + { + return $this->sheetId; + } + public function setStartIndex($startIndex) + { + $this->startIndex = $startIndex; + } + public function getStartIndex() + { + return $this->startIndex; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Sheets/DuplicateFilterViewRequest.php b/vendor/google/apiclient-services/src/Google/Service/Sheets/DuplicateFilterViewRequest.php new file mode 100644 index 00000000..c9c1366d --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Sheets/DuplicateFilterViewRequest.php @@ -0,0 +1,30 @@ +filterId = $filterId; + } + public function getFilterId() + { + return $this->filterId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Sheets/DuplicateFilterViewResponse.php b/vendor/google/apiclient-services/src/Google/Service/Sheets/DuplicateFilterViewResponse.php new file mode 100644 index 00000000..d220cfa7 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Sheets/DuplicateFilterViewResponse.php @@ -0,0 +1,31 @@ +filter = $filter; + } + public function getFilter() + { + return $this->filter; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Sheets/DuplicateSheetRequest.php b/vendor/google/apiclient-services/src/Google/Service/Sheets/DuplicateSheetRequest.php new file mode 100644 index 00000000..80af6214 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Sheets/DuplicateSheetRequest.php @@ -0,0 +1,57 @@ +insertSheetIndex = $insertSheetIndex; + } + public function getInsertSheetIndex() + { + return $this->insertSheetIndex; + } + public function setNewSheetId($newSheetId) + { + $this->newSheetId = $newSheetId; + } + public function getNewSheetId() + { + return $this->newSheetId; + } + public function setNewSheetName($newSheetName) + { + $this->newSheetName = $newSheetName; + } + public function getNewSheetName() + { + return $this->newSheetName; + } + public function setSourceSheetId($sourceSheetId) + { + $this->sourceSheetId = $sourceSheetId; + } + public function getSourceSheetId() + { + return $this->sourceSheetId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Sheets/DuplicateSheetResponse.php b/vendor/google/apiclient-services/src/Google/Service/Sheets/DuplicateSheetResponse.php new file mode 100644 index 00000000..0080c3b2 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Sheets/DuplicateSheetResponse.php @@ -0,0 +1,31 @@ +properties = $properties; + } + public function getProperties() + { + return $this->properties; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Sheets/Editors.php b/vendor/google/apiclient-services/src/Google/Service/Sheets/Editors.php new file mode 100644 index 00000000..0fd13e5c --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Sheets/Editors.php @@ -0,0 +1,49 @@ +domainUsersCanEdit = $domainUsersCanEdit; + } + public function getDomainUsersCanEdit() + { + return $this->domainUsersCanEdit; + } + public function setGroups($groups) + { + $this->groups = $groups; + } + public function getGroups() + { + return $this->groups; + } + public function setUsers($users) + { + $this->users = $users; + } + public function getUsers() + { + return $this->users; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Sheets/EmbeddedChart.php b/vendor/google/apiclient-services/src/Google/Service/Sheets/EmbeddedChart.php new file mode 100644 index 00000000..e727fb51 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Sheets/EmbeddedChart.php @@ -0,0 +1,50 @@ +chartId = $chartId; + } + public function getChartId() + { + return $this->chartId; + } + public function setPosition(Google_Service_Sheets_EmbeddedObjectPosition $position) + { + $this->position = $position; + } + public function getPosition() + { + return $this->position; + } + public function setSpec(Google_Service_Sheets_ChartSpec $spec) + { + $this->spec = $spec; + } + public function getSpec() + { + return $this->spec; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Sheets/EmbeddedObjectPosition.php b/vendor/google/apiclient-services/src/Google/Service/Sheets/EmbeddedObjectPosition.php new file mode 100644 index 00000000..96363fd1 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Sheets/EmbeddedObjectPosition.php @@ -0,0 +1,49 @@ +newSheet = $newSheet; + } + public function getNewSheet() + { + return $this->newSheet; + } + public function setOverlayPosition(Google_Service_Sheets_OverlayPosition $overlayPosition) + { + $this->overlayPosition = $overlayPosition; + } + public function getOverlayPosition() + { + return $this->overlayPosition; + } + public function setSheetId($sheetId) + { + $this->sheetId = $sheetId; + } + public function getSheetId() + { + return $this->sheetId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Sheets/ErrorValue.php b/vendor/google/apiclient-services/src/Google/Service/Sheets/ErrorValue.php new file mode 100644 index 00000000..0686b232 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Sheets/ErrorValue.php @@ -0,0 +1,39 @@ +message = $message; + } + public function getMessage() + { + return $this->message; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Sheets/ExtendedValue.php b/vendor/google/apiclient-services/src/Google/Service/Sheets/ExtendedValue.php new file mode 100644 index 00000000..96423d65 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Sheets/ExtendedValue.php @@ -0,0 +1,67 @@ +boolValue = $boolValue; + } + public function getBoolValue() + { + return $this->boolValue; + } + public function setErrorValue(Google_Service_Sheets_ErrorValue $errorValue) + { + $this->errorValue = $errorValue; + } + public function getErrorValue() + { + return $this->errorValue; + } + public function setFormulaValue($formulaValue) + { + $this->formulaValue = $formulaValue; + } + public function getFormulaValue() + { + return $this->formulaValue; + } + public function setNumberValue($numberValue) + { + $this->numberValue = $numberValue; + } + public function getNumberValue() + { + return $this->numberValue; + } + public function setStringValue($stringValue) + { + $this->stringValue = $stringValue; + } + public function getStringValue() + { + return $this->stringValue; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Sheets/FilterCriteria.php b/vendor/google/apiclient-services/src/Google/Service/Sheets/FilterCriteria.php new file mode 100644 index 00000000..2760f2b9 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Sheets/FilterCriteria.php @@ -0,0 +1,41 @@ +condition = $condition; + } + public function getCondition() + { + return $this->condition; + } + public function setHiddenValues($hiddenValues) + { + $this->hiddenValues = $hiddenValues; + } + public function getHiddenValues() + { + return $this->hiddenValues; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Sheets/FilterView.php b/vendor/google/apiclient-services/src/Google/Service/Sheets/FilterView.php new file mode 100644 index 00000000..0a498f75 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Sheets/FilterView.php @@ -0,0 +1,79 @@ +criteria = $criteria; + } + public function getCriteria() + { + return $this->criteria; + } + public function setFilterViewId($filterViewId) + { + $this->filterViewId = $filterViewId; + } + public function getFilterViewId() + { + return $this->filterViewId; + } + public function setNamedRangeId($namedRangeId) + { + $this->namedRangeId = $namedRangeId; + } + public function getNamedRangeId() + { + return $this->namedRangeId; + } + public function setRange(Google_Service_Sheets_GridRange $range) + { + $this->range = $range; + } + public function getRange() + { + return $this->range; + } + public function setSortSpecs($sortSpecs) + { + $this->sortSpecs = $sortSpecs; + } + public function getSortSpecs() + { + return $this->sortSpecs; + } + public function setTitle($title) + { + $this->title = $title; + } + public function getTitle() + { + return $this->title; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Sheets/FindReplaceRequest.php b/vendor/google/apiclient-services/src/Google/Service/Sheets/FindReplaceRequest.php new file mode 100644 index 00000000..73202ce6 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Sheets/FindReplaceRequest.php @@ -0,0 +1,103 @@ +allSheets = $allSheets; + } + public function getAllSheets() + { + return $this->allSheets; + } + public function setFind($find) + { + $this->find = $find; + } + public function getFind() + { + return $this->find; + } + public function setIncludeFormulas($includeFormulas) + { + $this->includeFormulas = $includeFormulas; + } + public function getIncludeFormulas() + { + return $this->includeFormulas; + } + public function setMatchCase($matchCase) + { + $this->matchCase = $matchCase; + } + public function getMatchCase() + { + return $this->matchCase; + } + public function setMatchEntireCell($matchEntireCell) + { + $this->matchEntireCell = $matchEntireCell; + } + public function getMatchEntireCell() + { + return $this->matchEntireCell; + } + public function setRange(Google_Service_Sheets_GridRange $range) + { + $this->range = $range; + } + public function getRange() + { + return $this->range; + } + public function setReplacement($replacement) + { + $this->replacement = $replacement; + } + public function getReplacement() + { + return $this->replacement; + } + public function setSearchByRegex($searchByRegex) + { + $this->searchByRegex = $searchByRegex; + } + public function getSearchByRegex() + { + return $this->searchByRegex; + } + public function setSheetId($sheetId) + { + $this->sheetId = $sheetId; + } + public function getSheetId() + { + return $this->sheetId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Sheets/FindReplaceResponse.php b/vendor/google/apiclient-services/src/Google/Service/Sheets/FindReplaceResponse.php new file mode 100644 index 00000000..119767fc --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Sheets/FindReplaceResponse.php @@ -0,0 +1,66 @@ +formulasChanged = $formulasChanged; + } + public function getFormulasChanged() + { + return $this->formulasChanged; + } + public function setOccurrencesChanged($occurrencesChanged) + { + $this->occurrencesChanged = $occurrencesChanged; + } + public function getOccurrencesChanged() + { + return $this->occurrencesChanged; + } + public function setRowsChanged($rowsChanged) + { + $this->rowsChanged = $rowsChanged; + } + public function getRowsChanged() + { + return $this->rowsChanged; + } + public function setSheetsChanged($sheetsChanged) + { + $this->sheetsChanged = $sheetsChanged; + } + public function getSheetsChanged() + { + return $this->sheetsChanged; + } + public function setValuesChanged($valuesChanged) + { + $this->valuesChanged = $valuesChanged; + } + public function getValuesChanged() + { + return $this->valuesChanged; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Sheets/GradientRule.php b/vendor/google/apiclient-services/src/Google/Service/Sheets/GradientRule.php new file mode 100644 index 00000000..f06f9cc6 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Sheets/GradientRule.php @@ -0,0 +1,51 @@ +maxpoint = $maxpoint; + } + public function getMaxpoint() + { + return $this->maxpoint; + } + public function setMidpoint(Google_Service_Sheets_InterpolationPoint $midpoint) + { + $this->midpoint = $midpoint; + } + public function getMidpoint() + { + return $this->midpoint; + } + public function setMinpoint(Google_Service_Sheets_InterpolationPoint $minpoint) + { + $this->minpoint = $minpoint; + } + public function getMinpoint() + { + return $this->minpoint; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Sheets/GridCoordinate.php b/vendor/google/apiclient-services/src/Google/Service/Sheets/GridCoordinate.php new file mode 100644 index 00000000..c92c07bc --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Sheets/GridCoordinate.php @@ -0,0 +1,48 @@ +columnIndex = $columnIndex; + } + public function getColumnIndex() + { + return $this->columnIndex; + } + public function setRowIndex($rowIndex) + { + $this->rowIndex = $rowIndex; + } + public function getRowIndex() + { + return $this->rowIndex; + } + public function setSheetId($sheetId) + { + $this->sheetId = $sheetId; + } + public function getSheetId() + { + return $this->sheetId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Sheets/GridData.php b/vendor/google/apiclient-services/src/Google/Service/Sheets/GridData.php new file mode 100644 index 00000000..dcf624de --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Sheets/GridData.php @@ -0,0 +1,70 @@ +columnMetadata = $columnMetadata; + } + public function getColumnMetadata() + { + return $this->columnMetadata; + } + public function setRowData($rowData) + { + $this->rowData = $rowData; + } + public function getRowData() + { + return $this->rowData; + } + public function setRowMetadata($rowMetadata) + { + $this->rowMetadata = $rowMetadata; + } + public function getRowMetadata() + { + return $this->rowMetadata; + } + public function setStartColumn($startColumn) + { + $this->startColumn = $startColumn; + } + public function getStartColumn() + { + return $this->startColumn; + } + public function setStartRow($startRow) + { + $this->startRow = $startRow; + } + public function getStartRow() + { + return $this->startRow; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Sheets/GridProperties.php b/vendor/google/apiclient-services/src/Google/Service/Sheets/GridProperties.php new file mode 100644 index 00000000..b6692ba8 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Sheets/GridProperties.php @@ -0,0 +1,66 @@ +columnCount = $columnCount; + } + public function getColumnCount() + { + return $this->columnCount; + } + public function setFrozenColumnCount($frozenColumnCount) + { + $this->frozenColumnCount = $frozenColumnCount; + } + public function getFrozenColumnCount() + { + return $this->frozenColumnCount; + } + public function setFrozenRowCount($frozenRowCount) + { + $this->frozenRowCount = $frozenRowCount; + } + public function getFrozenRowCount() + { + return $this->frozenRowCount; + } + public function setHideGridlines($hideGridlines) + { + $this->hideGridlines = $hideGridlines; + } + public function getHideGridlines() + { + return $this->hideGridlines; + } + public function setRowCount($rowCount) + { + $this->rowCount = $rowCount; + } + public function getRowCount() + { + return $this->rowCount; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Sheets/GridRange.php b/vendor/google/apiclient-services/src/Google/Service/Sheets/GridRange.php new file mode 100644 index 00000000..26c47b5c --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Sheets/GridRange.php @@ -0,0 +1,66 @@ +endColumnIndex = $endColumnIndex; + } + public function getEndColumnIndex() + { + return $this->endColumnIndex; + } + public function setEndRowIndex($endRowIndex) + { + $this->endRowIndex = $endRowIndex; + } + public function getEndRowIndex() + { + return $this->endRowIndex; + } + public function setSheetId($sheetId) + { + $this->sheetId = $sheetId; + } + public function getSheetId() + { + return $this->sheetId; + } + public function setStartColumnIndex($startColumnIndex) + { + $this->startColumnIndex = $startColumnIndex; + } + public function getStartColumnIndex() + { + return $this->startColumnIndex; + } + public function setStartRowIndex($startRowIndex) + { + $this->startRowIndex = $startRowIndex; + } + public function getStartRowIndex() + { + return $this->startRowIndex; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Sheets/InsertDimensionRequest.php b/vendor/google/apiclient-services/src/Google/Service/Sheets/InsertDimensionRequest.php new file mode 100644 index 00000000..d8c4fb78 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Sheets/InsertDimensionRequest.php @@ -0,0 +1,40 @@ +inheritFromBefore = $inheritFromBefore; + } + public function getInheritFromBefore() + { + return $this->inheritFromBefore; + } + public function setRange(Google_Service_Sheets_DimensionRange $range) + { + $this->range = $range; + } + public function getRange() + { + return $this->range; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Sheets/InsertRangeRequest.php b/vendor/google/apiclient-services/src/Google/Service/Sheets/InsertRangeRequest.php new file mode 100644 index 00000000..4dace9db --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Sheets/InsertRangeRequest.php @@ -0,0 +1,40 @@ +range = $range; + } + public function getRange() + { + return $this->range; + } + public function setShiftDimension($shiftDimension) + { + $this->shiftDimension = $shiftDimension; + } + public function getShiftDimension() + { + return $this->shiftDimension; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Sheets/InterpolationPoint.php b/vendor/google/apiclient-services/src/Google/Service/Sheets/InterpolationPoint.php new file mode 100644 index 00000000..8468334f --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Sheets/InterpolationPoint.php @@ -0,0 +1,49 @@ +color = $color; + } + public function getColor() + { + return $this->color; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } + public function setValue($value) + { + $this->value = $value; + } + public function getValue() + { + return $this->value; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Sheets/IterativeCalculationSettings.php b/vendor/google/apiclient-services/src/Google/Service/Sheets/IterativeCalculationSettings.php new file mode 100644 index 00000000..297a42e7 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Sheets/IterativeCalculationSettings.php @@ -0,0 +1,39 @@ +convergenceThreshold = $convergenceThreshold; + } + public function getConvergenceThreshold() + { + return $this->convergenceThreshold; + } + public function setMaxIterations($maxIterations) + { + $this->maxIterations = $maxIterations; + } + public function getMaxIterations() + { + return $this->maxIterations; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Sheets/MergeCellsRequest.php b/vendor/google/apiclient-services/src/Google/Service/Sheets/MergeCellsRequest.php new file mode 100644 index 00000000..53a18342 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Sheets/MergeCellsRequest.php @@ -0,0 +1,40 @@ +mergeType = $mergeType; + } + public function getMergeType() + { + return $this->mergeType; + } + public function setRange(Google_Service_Sheets_GridRange $range) + { + $this->range = $range; + } + public function getRange() + { + return $this->range; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Sheets/MoveDimensionRequest.php b/vendor/google/apiclient-services/src/Google/Service/Sheets/MoveDimensionRequest.php new file mode 100644 index 00000000..21b409fe --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Sheets/MoveDimensionRequest.php @@ -0,0 +1,40 @@ +destinationIndex = $destinationIndex; + } + public function getDestinationIndex() + { + return $this->destinationIndex; + } + public function setSource(Google_Service_Sheets_DimensionRange $source) + { + $this->source = $source; + } + public function getSource() + { + return $this->source; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Sheets/NamedRange.php b/vendor/google/apiclient-services/src/Google/Service/Sheets/NamedRange.php new file mode 100644 index 00000000..5239c68f --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Sheets/NamedRange.php @@ -0,0 +1,49 @@ +name = $name; + } + public function getName() + { + return $this->name; + } + public function setNamedRangeId($namedRangeId) + { + $this->namedRangeId = $namedRangeId; + } + public function getNamedRangeId() + { + return $this->namedRangeId; + } + public function setRange(Google_Service_Sheets_GridRange $range) + { + $this->range = $range; + } + public function getRange() + { + return $this->range; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Sheets/NumberFormat.php b/vendor/google/apiclient-services/src/Google/Service/Sheets/NumberFormat.php new file mode 100644 index 00000000..52fcbc96 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Sheets/NumberFormat.php @@ -0,0 +1,39 @@ +pattern = $pattern; + } + public function getPattern() + { + return $this->pattern; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Sheets/OverlayPosition.php b/vendor/google/apiclient-services/src/Google/Service/Sheets/OverlayPosition.php new file mode 100644 index 00000000..a7916097 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Sheets/OverlayPosition.php @@ -0,0 +1,67 @@ +anchorCell = $anchorCell; + } + public function getAnchorCell() + { + return $this->anchorCell; + } + public function setHeightPixels($heightPixels) + { + $this->heightPixels = $heightPixels; + } + public function getHeightPixels() + { + return $this->heightPixels; + } + public function setOffsetXPixels($offsetXPixels) + { + $this->offsetXPixels = $offsetXPixels; + } + public function getOffsetXPixels() + { + return $this->offsetXPixels; + } + public function setOffsetYPixels($offsetYPixels) + { + $this->offsetYPixels = $offsetYPixels; + } + public function getOffsetYPixels() + { + return $this->offsetYPixels; + } + public function setWidthPixels($widthPixels) + { + $this->widthPixels = $widthPixels; + } + public function getWidthPixels() + { + return $this->widthPixels; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Sheets/Padding.php b/vendor/google/apiclient-services/src/Google/Service/Sheets/Padding.php new file mode 100644 index 00000000..336a105e --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Sheets/Padding.php @@ -0,0 +1,57 @@ +bottom = $bottom; + } + public function getBottom() + { + return $this->bottom; + } + public function setLeft($left) + { + $this->left = $left; + } + public function getLeft() + { + return $this->left; + } + public function setRight($right) + { + $this->right = $right; + } + public function getRight() + { + return $this->right; + } + public function setTop($top) + { + $this->top = $top; + } + public function getTop() + { + return $this->top; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Sheets/PasteDataRequest.php b/vendor/google/apiclient-services/src/Google/Service/Sheets/PasteDataRequest.php new file mode 100644 index 00000000..877e6d30 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Sheets/PasteDataRequest.php @@ -0,0 +1,67 @@ +coordinate = $coordinate; + } + public function getCoordinate() + { + return $this->coordinate; + } + public function setData($data) + { + $this->data = $data; + } + public function getData() + { + return $this->data; + } + public function setDelimiter($delimiter) + { + $this->delimiter = $delimiter; + } + public function getDelimiter() + { + return $this->delimiter; + } + public function setHtml($html) + { + $this->html = $html; + } + public function getHtml() + { + return $this->html; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Sheets/PieChartSpec.php b/vendor/google/apiclient-services/src/Google/Service/Sheets/PieChartSpec.php new file mode 100644 index 00000000..bca13294 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Sheets/PieChartSpec.php @@ -0,0 +1,68 @@ +domain = $domain; + } + public function getDomain() + { + return $this->domain; + } + public function setLegendPosition($legendPosition) + { + $this->legendPosition = $legendPosition; + } + public function getLegendPosition() + { + return $this->legendPosition; + } + public function setPieHole($pieHole) + { + $this->pieHole = $pieHole; + } + public function getPieHole() + { + return $this->pieHole; + } + public function setSeries(Google_Service_Sheets_ChartData $series) + { + $this->series = $series; + } + public function getSeries() + { + return $this->series; + } + public function setThreeDimensional($threeDimensional) + { + $this->threeDimensional = $threeDimensional; + } + public function getThreeDimensional() + { + return $this->threeDimensional; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Sheets/PivotFilterCriteria.php b/vendor/google/apiclient-services/src/Google/Service/Sheets/PivotFilterCriteria.php new file mode 100644 index 00000000..9d5aa1ee --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Sheets/PivotFilterCriteria.php @@ -0,0 +1,31 @@ +visibleValues = $visibleValues; + } + public function getVisibleValues() + { + return $this->visibleValues; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Sheets/PivotGroup.php b/vendor/google/apiclient-services/src/Google/Service/Sheets/PivotGroup.php new file mode 100644 index 00000000..9f50fa5e --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Sheets/PivotGroup.php @@ -0,0 +1,69 @@ +showTotals = $showTotals; + } + public function getShowTotals() + { + return $this->showTotals; + } + public function setSortOrder($sortOrder) + { + $this->sortOrder = $sortOrder; + } + public function getSortOrder() + { + return $this->sortOrder; + } + public function setSourceColumnOffset($sourceColumnOffset) + { + $this->sourceColumnOffset = $sourceColumnOffset; + } + public function getSourceColumnOffset() + { + return $this->sourceColumnOffset; + } + public function setValueBucket(Google_Service_Sheets_PivotGroupSortValueBucket $valueBucket) + { + $this->valueBucket = $valueBucket; + } + public function getValueBucket() + { + return $this->valueBucket; + } + public function setValueMetadata($valueMetadata) + { + $this->valueMetadata = $valueMetadata; + } + public function getValueMetadata() + { + return $this->valueMetadata; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Sheets/PivotGroupSortValueBucket.php b/vendor/google/apiclient-services/src/Google/Service/Sheets/PivotGroupSortValueBucket.php new file mode 100644 index 00000000..9d3457e6 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Sheets/PivotGroupSortValueBucket.php @@ -0,0 +1,41 @@ +buckets = $buckets; + } + public function getBuckets() + { + return $this->buckets; + } + public function setValuesIndex($valuesIndex) + { + $this->valuesIndex = $valuesIndex; + } + public function getValuesIndex() + { + return $this->valuesIndex; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Sheets/PivotGroupValueMetadata.php b/vendor/google/apiclient-services/src/Google/Service/Sheets/PivotGroupValueMetadata.php new file mode 100644 index 00000000..5b314d29 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Sheets/PivotGroupValueMetadata.php @@ -0,0 +1,40 @@ +collapsed = $collapsed; + } + public function getCollapsed() + { + return $this->collapsed; + } + public function setValue(Google_Service_Sheets_ExtendedValue $value) + { + $this->value = $value; + } + public function getValue() + { + return $this->value; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Sheets/PivotTable.php b/vendor/google/apiclient-services/src/Google/Service/Sheets/PivotTable.php new file mode 100644 index 00000000..3e45f9d1 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Sheets/PivotTable.php @@ -0,0 +1,81 @@ +columns = $columns; + } + public function getColumns() + { + return $this->columns; + } + public function setCriteria($criteria) + { + $this->criteria = $criteria; + } + public function getCriteria() + { + return $this->criteria; + } + public function setRows($rows) + { + $this->rows = $rows; + } + public function getRows() + { + return $this->rows; + } + public function setSource(Google_Service_Sheets_GridRange $source) + { + $this->source = $source; + } + public function getSource() + { + return $this->source; + } + public function setValueLayout($valueLayout) + { + $this->valueLayout = $valueLayout; + } + public function getValueLayout() + { + return $this->valueLayout; + } + public function setValues($values) + { + $this->values = $values; + } + public function getValues() + { + return $this->values; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Sheets/PivotValue.php b/vendor/google/apiclient-services/src/Google/Service/Sheets/PivotValue.php new file mode 100644 index 00000000..2e3312be --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Sheets/PivotValue.php @@ -0,0 +1,57 @@ +formula = $formula; + } + public function getFormula() + { + return $this->formula; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setSourceColumnOffset($sourceColumnOffset) + { + $this->sourceColumnOffset = $sourceColumnOffset; + } + public function getSourceColumnOffset() + { + return $this->sourceColumnOffset; + } + public function setSummarizeFunction($summarizeFunction) + { + $this->summarizeFunction = $summarizeFunction; + } + public function getSummarizeFunction() + { + return $this->summarizeFunction; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Sheets/ProtectedRange.php b/vendor/google/apiclient-services/src/Google/Service/Sheets/ProtectedRange.php new file mode 100644 index 00000000..4f3a364f --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Sheets/ProtectedRange.php @@ -0,0 +1,97 @@ +description = $description; + } + public function getDescription() + { + return $this->description; + } + public function setEditors(Google_Service_Sheets_Editors $editors) + { + $this->editors = $editors; + } + public function getEditors() + { + return $this->editors; + } + public function setNamedRangeId($namedRangeId) + { + $this->namedRangeId = $namedRangeId; + } + public function getNamedRangeId() + { + return $this->namedRangeId; + } + public function setProtectedRangeId($protectedRangeId) + { + $this->protectedRangeId = $protectedRangeId; + } + public function getProtectedRangeId() + { + return $this->protectedRangeId; + } + public function setRange(Google_Service_Sheets_GridRange $range) + { + $this->range = $range; + } + public function getRange() + { + return $this->range; + } + public function setRequestingUserCanEdit($requestingUserCanEdit) + { + $this->requestingUserCanEdit = $requestingUserCanEdit; + } + public function getRequestingUserCanEdit() + { + return $this->requestingUserCanEdit; + } + public function setUnprotectedRanges($unprotectedRanges) + { + $this->unprotectedRanges = $unprotectedRanges; + } + public function getUnprotectedRanges() + { + return $this->unprotectedRanges; + } + public function setWarningOnly($warningOnly) + { + $this->warningOnly = $warningOnly; + } + public function getWarningOnly() + { + return $this->warningOnly; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Sheets/RepeatCellRequest.php b/vendor/google/apiclient-services/src/Google/Service/Sheets/RepeatCellRequest.php new file mode 100644 index 00000000..9552256b --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Sheets/RepeatCellRequest.php @@ -0,0 +1,50 @@ +cell = $cell; + } + public function getCell() + { + return $this->cell; + } + public function setFields($fields) + { + $this->fields = $fields; + } + public function getFields() + { + return $this->fields; + } + public function setRange(Google_Service_Sheets_GridRange $range) + { + $this->range = $range; + } + public function getRange() + { + return $this->range; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Sheets/Request.php b/vendor/google/apiclient-services/src/Google/Service/Sheets/Request.php new file mode 100644 index 00000000..2165967f --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Sheets/Request.php @@ -0,0 +1,511 @@ +addBanding = $addBanding; + } + public function getAddBanding() + { + return $this->addBanding; + } + public function setAddChart(Google_Service_Sheets_AddChartRequest $addChart) + { + $this->addChart = $addChart; + } + public function getAddChart() + { + return $this->addChart; + } + public function setAddConditionalFormatRule(Google_Service_Sheets_AddConditionalFormatRuleRequest $addConditionalFormatRule) + { + $this->addConditionalFormatRule = $addConditionalFormatRule; + } + public function getAddConditionalFormatRule() + { + return $this->addConditionalFormatRule; + } + public function setAddFilterView(Google_Service_Sheets_AddFilterViewRequest $addFilterView) + { + $this->addFilterView = $addFilterView; + } + public function getAddFilterView() + { + return $this->addFilterView; + } + public function setAddNamedRange(Google_Service_Sheets_AddNamedRangeRequest $addNamedRange) + { + $this->addNamedRange = $addNamedRange; + } + public function getAddNamedRange() + { + return $this->addNamedRange; + } + public function setAddProtectedRange(Google_Service_Sheets_AddProtectedRangeRequest $addProtectedRange) + { + $this->addProtectedRange = $addProtectedRange; + } + public function getAddProtectedRange() + { + return $this->addProtectedRange; + } + public function setAddSheet(Google_Service_Sheets_AddSheetRequest $addSheet) + { + $this->addSheet = $addSheet; + } + public function getAddSheet() + { + return $this->addSheet; + } + public function setAppendCells(Google_Service_Sheets_AppendCellsRequest $appendCells) + { + $this->appendCells = $appendCells; + } + public function getAppendCells() + { + return $this->appendCells; + } + public function setAppendDimension(Google_Service_Sheets_AppendDimensionRequest $appendDimension) + { + $this->appendDimension = $appendDimension; + } + public function getAppendDimension() + { + return $this->appendDimension; + } + public function setAutoFill(Google_Service_Sheets_AutoFillRequest $autoFill) + { + $this->autoFill = $autoFill; + } + public function getAutoFill() + { + return $this->autoFill; + } + public function setAutoResizeDimensions(Google_Service_Sheets_AutoResizeDimensionsRequest $autoResizeDimensions) + { + $this->autoResizeDimensions = $autoResizeDimensions; + } + public function getAutoResizeDimensions() + { + return $this->autoResizeDimensions; + } + public function setClearBasicFilter(Google_Service_Sheets_ClearBasicFilterRequest $clearBasicFilter) + { + $this->clearBasicFilter = $clearBasicFilter; + } + public function getClearBasicFilter() + { + return $this->clearBasicFilter; + } + public function setCopyPaste(Google_Service_Sheets_CopyPasteRequest $copyPaste) + { + $this->copyPaste = $copyPaste; + } + public function getCopyPaste() + { + return $this->copyPaste; + } + public function setCutPaste(Google_Service_Sheets_CutPasteRequest $cutPaste) + { + $this->cutPaste = $cutPaste; + } + public function getCutPaste() + { + return $this->cutPaste; + } + public function setDeleteBanding(Google_Service_Sheets_DeleteBandingRequest $deleteBanding) + { + $this->deleteBanding = $deleteBanding; + } + public function getDeleteBanding() + { + return $this->deleteBanding; + } + public function setDeleteConditionalFormatRule(Google_Service_Sheets_DeleteConditionalFormatRuleRequest $deleteConditionalFormatRule) + { + $this->deleteConditionalFormatRule = $deleteConditionalFormatRule; + } + public function getDeleteConditionalFormatRule() + { + return $this->deleteConditionalFormatRule; + } + public function setDeleteDimension(Google_Service_Sheets_DeleteDimensionRequest $deleteDimension) + { + $this->deleteDimension = $deleteDimension; + } + public function getDeleteDimension() + { + return $this->deleteDimension; + } + public function setDeleteEmbeddedObject(Google_Service_Sheets_DeleteEmbeddedObjectRequest $deleteEmbeddedObject) + { + $this->deleteEmbeddedObject = $deleteEmbeddedObject; + } + public function getDeleteEmbeddedObject() + { + return $this->deleteEmbeddedObject; + } + public function setDeleteFilterView(Google_Service_Sheets_DeleteFilterViewRequest $deleteFilterView) + { + $this->deleteFilterView = $deleteFilterView; + } + public function getDeleteFilterView() + { + return $this->deleteFilterView; + } + public function setDeleteNamedRange(Google_Service_Sheets_DeleteNamedRangeRequest $deleteNamedRange) + { + $this->deleteNamedRange = $deleteNamedRange; + } + public function getDeleteNamedRange() + { + return $this->deleteNamedRange; + } + public function setDeleteProtectedRange(Google_Service_Sheets_DeleteProtectedRangeRequest $deleteProtectedRange) + { + $this->deleteProtectedRange = $deleteProtectedRange; + } + public function getDeleteProtectedRange() + { + return $this->deleteProtectedRange; + } + public function setDeleteRange(Google_Service_Sheets_DeleteRangeRequest $deleteRange) + { + $this->deleteRange = $deleteRange; + } + public function getDeleteRange() + { + return $this->deleteRange; + } + public function setDeleteSheet(Google_Service_Sheets_DeleteSheetRequest $deleteSheet) + { + $this->deleteSheet = $deleteSheet; + } + public function getDeleteSheet() + { + return $this->deleteSheet; + } + public function setDuplicateFilterView(Google_Service_Sheets_DuplicateFilterViewRequest $duplicateFilterView) + { + $this->duplicateFilterView = $duplicateFilterView; + } + public function getDuplicateFilterView() + { + return $this->duplicateFilterView; + } + public function setDuplicateSheet(Google_Service_Sheets_DuplicateSheetRequest $duplicateSheet) + { + $this->duplicateSheet = $duplicateSheet; + } + public function getDuplicateSheet() + { + return $this->duplicateSheet; + } + public function setFindReplace(Google_Service_Sheets_FindReplaceRequest $findReplace) + { + $this->findReplace = $findReplace; + } + public function getFindReplace() + { + return $this->findReplace; + } + public function setInsertDimension(Google_Service_Sheets_InsertDimensionRequest $insertDimension) + { + $this->insertDimension = $insertDimension; + } + public function getInsertDimension() + { + return $this->insertDimension; + } + public function setInsertRange(Google_Service_Sheets_InsertRangeRequest $insertRange) + { + $this->insertRange = $insertRange; + } + public function getInsertRange() + { + return $this->insertRange; + } + public function setMergeCells(Google_Service_Sheets_MergeCellsRequest $mergeCells) + { + $this->mergeCells = $mergeCells; + } + public function getMergeCells() + { + return $this->mergeCells; + } + public function setMoveDimension(Google_Service_Sheets_MoveDimensionRequest $moveDimension) + { + $this->moveDimension = $moveDimension; + } + public function getMoveDimension() + { + return $this->moveDimension; + } + public function setPasteData(Google_Service_Sheets_PasteDataRequest $pasteData) + { + $this->pasteData = $pasteData; + } + public function getPasteData() + { + return $this->pasteData; + } + public function setRepeatCell(Google_Service_Sheets_RepeatCellRequest $repeatCell) + { + $this->repeatCell = $repeatCell; + } + public function getRepeatCell() + { + return $this->repeatCell; + } + public function setSetBasicFilter(Google_Service_Sheets_SetBasicFilterRequest $setBasicFilter) + { + $this->setBasicFilter = $setBasicFilter; + } + public function getSetBasicFilter() + { + return $this->setBasicFilter; + } + public function setSetDataValidation(Google_Service_Sheets_SetDataValidationRequest $setDataValidation) + { + $this->setDataValidation = $setDataValidation; + } + public function getSetDataValidation() + { + return $this->setDataValidation; + } + public function setSortRange(Google_Service_Sheets_SortRangeRequest $sortRange) + { + $this->sortRange = $sortRange; + } + public function getSortRange() + { + return $this->sortRange; + } + public function setTextToColumns(Google_Service_Sheets_TextToColumnsRequest $textToColumns) + { + $this->textToColumns = $textToColumns; + } + public function getTextToColumns() + { + return $this->textToColumns; + } + public function setUnmergeCells(Google_Service_Sheets_UnmergeCellsRequest $unmergeCells) + { + $this->unmergeCells = $unmergeCells; + } + public function getUnmergeCells() + { + return $this->unmergeCells; + } + public function setUpdateBanding(Google_Service_Sheets_UpdateBandingRequest $updateBanding) + { + $this->updateBanding = $updateBanding; + } + public function getUpdateBanding() + { + return $this->updateBanding; + } + public function setUpdateBorders(Google_Service_Sheets_UpdateBordersRequest $updateBorders) + { + $this->updateBorders = $updateBorders; + } + public function getUpdateBorders() + { + return $this->updateBorders; + } + public function setUpdateCells(Google_Service_Sheets_UpdateCellsRequest $updateCells) + { + $this->updateCells = $updateCells; + } + public function getUpdateCells() + { + return $this->updateCells; + } + public function setUpdateChartSpec(Google_Service_Sheets_UpdateChartSpecRequest $updateChartSpec) + { + $this->updateChartSpec = $updateChartSpec; + } + public function getUpdateChartSpec() + { + return $this->updateChartSpec; + } + public function setUpdateConditionalFormatRule(Google_Service_Sheets_UpdateConditionalFormatRuleRequest $updateConditionalFormatRule) + { + $this->updateConditionalFormatRule = $updateConditionalFormatRule; + } + public function getUpdateConditionalFormatRule() + { + return $this->updateConditionalFormatRule; + } + public function setUpdateDimensionProperties(Google_Service_Sheets_UpdateDimensionPropertiesRequest $updateDimensionProperties) + { + $this->updateDimensionProperties = $updateDimensionProperties; + } + public function getUpdateDimensionProperties() + { + return $this->updateDimensionProperties; + } + public function setUpdateEmbeddedObjectPosition(Google_Service_Sheets_UpdateEmbeddedObjectPositionRequest $updateEmbeddedObjectPosition) + { + $this->updateEmbeddedObjectPosition = $updateEmbeddedObjectPosition; + } + public function getUpdateEmbeddedObjectPosition() + { + return $this->updateEmbeddedObjectPosition; + } + public function setUpdateFilterView(Google_Service_Sheets_UpdateFilterViewRequest $updateFilterView) + { + $this->updateFilterView = $updateFilterView; + } + public function getUpdateFilterView() + { + return $this->updateFilterView; + } + public function setUpdateNamedRange(Google_Service_Sheets_UpdateNamedRangeRequest $updateNamedRange) + { + $this->updateNamedRange = $updateNamedRange; + } + public function getUpdateNamedRange() + { + return $this->updateNamedRange; + } + public function setUpdateProtectedRange(Google_Service_Sheets_UpdateProtectedRangeRequest $updateProtectedRange) + { + $this->updateProtectedRange = $updateProtectedRange; + } + public function getUpdateProtectedRange() + { + return $this->updateProtectedRange; + } + public function setUpdateSheetProperties(Google_Service_Sheets_UpdateSheetPropertiesRequest $updateSheetProperties) + { + $this->updateSheetProperties = $updateSheetProperties; + } + public function getUpdateSheetProperties() + { + return $this->updateSheetProperties; + } + public function setUpdateSpreadsheetProperties(Google_Service_Sheets_UpdateSpreadsheetPropertiesRequest $updateSpreadsheetProperties) + { + $this->updateSpreadsheetProperties = $updateSpreadsheetProperties; + } + public function getUpdateSpreadsheetProperties() + { + return $this->updateSpreadsheetProperties; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Sheets/Resource/Spreadsheets.php b/vendor/google/apiclient-services/src/Google/Service/Sheets/Resource/Spreadsheets.php new file mode 100644 index 00000000..178f97ec --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Sheets/Resource/Spreadsheets.php @@ -0,0 +1,106 @@ + + * $sheetsService = new Google_Service_Sheets(...); + * $spreadsheets = $sheetsService->spreadsheets; + * + */ +class Google_Service_Sheets_Resource_Spreadsheets extends Google_Service_Resource +{ + /** + * Applies one or more updates to the spreadsheet. + * + * Each request is validated before being applied. If any request is not valid + * then the entire request will fail and nothing will be applied. + * + * Some requests have replies to give you some information about how they are + * applied. The replies will mirror the requests. For example, if you applied 4 + * updates and the 3rd one had a reply, then the response will have 2 empty + * replies, the actual reply, and another empty reply, in that order. + * + * Due to the collaborative nature of spreadsheets, it is not guaranteed that + * the spreadsheet will reflect exactly your changes after this completes, + * however it is guaranteed that the updates in the request will be applied + * together atomically. Your changes may be altered with respect to collaborator + * changes. If there are no collaborators, the spreadsheet should reflect your + * changes. (spreadsheets.batchUpdate) + * + * @param string $spreadsheetId The spreadsheet to apply the updates to. + * @param Google_Service_Sheets_BatchUpdateSpreadsheetRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Sheets_BatchUpdateSpreadsheetResponse + */ + public function batchUpdate($spreadsheetId, Google_Service_Sheets_BatchUpdateSpreadsheetRequest $postBody, $optParams = array()) + { + $params = array('spreadsheetId' => $spreadsheetId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('batchUpdate', array($params), "Google_Service_Sheets_BatchUpdateSpreadsheetResponse"); + } + /** + * Creates a spreadsheet, returning the newly created spreadsheet. + * (spreadsheets.create) + * + * @param Google_Service_Sheets_Spreadsheet $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Sheets_Spreadsheet + */ + public function create(Google_Service_Sheets_Spreadsheet $postBody, $optParams = array()) + { + $params = array('postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('create', array($params), "Google_Service_Sheets_Spreadsheet"); + } + /** + * Returns the spreadsheet at the given ID. The caller must specify the + * spreadsheet ID. + * + * By default, data within grids will not be returned. You can include grid data + * one of two ways: + * + * * Specify a field mask listing your desired fields using the `fields` URL + * parameter in HTTP + * + * * Set the includeGridData URL parameter to true. If a field mask is set, the + * `includeGridData` parameter is ignored + * + * For large spreadsheets, it is recommended to retrieve only the specific + * fields of the spreadsheet that you want. + * + * To retrieve only subsets of the spreadsheet, use the ranges URL parameter. + * Multiple ranges can be specified. Limiting the range will return only the + * portions of the spreadsheet that intersect the requested ranges. Ranges are + * specified using A1 notation. (spreadsheets.get) + * + * @param string $spreadsheetId The spreadsheet to request. + * @param array $optParams Optional parameters. + * + * @opt_param string ranges The ranges to retrieve from the spreadsheet. + * @opt_param bool includeGridData True if grid data should be returned. This + * parameter is ignored if a field mask was set in the request. + * @return Google_Service_Sheets_Spreadsheet + */ + public function get($spreadsheetId, $optParams = array()) + { + $params = array('spreadsheetId' => $spreadsheetId); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Sheets_Spreadsheet"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Sheets/Resource/SpreadsheetsSheets.php b/vendor/google/apiclient-services/src/Google/Service/Sheets/Resource/SpreadsheetsSheets.php new file mode 100644 index 00000000..5714ae58 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Sheets/Resource/SpreadsheetsSheets.php @@ -0,0 +1,45 @@ + + * $sheetsService = new Google_Service_Sheets(...); + * $sheets = $sheetsService->sheets; + * + */ +class Google_Service_Sheets_Resource_SpreadsheetsSheets extends Google_Service_Resource +{ + /** + * Copies a single sheet from a spreadsheet to another spreadsheet. Returns the + * properties of the newly created sheet. (sheets.copyTo) + * + * @param string $spreadsheetId The ID of the spreadsheet containing the sheet + * to copy. + * @param int $sheetId The ID of the sheet to copy. + * @param Google_Service_Sheets_CopySheetToAnotherSpreadsheetRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Sheets_SheetProperties + */ + public function copyTo($spreadsheetId, $sheetId, Google_Service_Sheets_CopySheetToAnotherSpreadsheetRequest $postBody, $optParams = array()) + { + $params = array('spreadsheetId' => $spreadsheetId, 'sheetId' => $sheetId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('copyTo', array($params), "Google_Service_Sheets_SheetProperties"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Sheets/Resource/SpreadsheetsValues.php b/vendor/google/apiclient-services/src/Google/Service/Sheets/Resource/SpreadsheetsValues.php new file mode 100644 index 00000000..c3482dd1 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Sheets/Resource/SpreadsheetsValues.php @@ -0,0 +1,203 @@ + + * $sheetsService = new Google_Service_Sheets(...); + * $values = $sheetsService->values; + * + */ +class Google_Service_Sheets_Resource_SpreadsheetsValues extends Google_Service_Resource +{ + /** + * Appends values to a spreadsheet. The input range is used to search for + * existing data and find a "table" within that range. Values will be appended + * to the next row of the table, starting with the first column of the table. + * See the [guide](/sheets/api/guides/values#appending_values) and [sample + * code](/sheets/api/samples/writing#append_values) for specific details of how + * tables are detected and data is appended. + * + * The caller must specify the spreadsheet ID, range, and a valueInputOption. + * The `valueInputOption` only controls how the input data will be added to the + * sheet (column-wise or row-wise), it does not influence what cell the data + * starts being written to. (values.append) + * + * @param string $spreadsheetId The ID of the spreadsheet to update. + * @param string $range The A1 notation of a range to search for a logical table + * of data. Values will be appended after the last row of the table. + * @param Google_Service_Sheets_ValueRange $postBody + * @param array $optParams Optional parameters. + * + * @opt_param bool includeValuesInResponse Determines if the update response + * should include the values of the cells that were appended. By default, + * responses do not include the updated values. + * @opt_param string responseValueRenderOption Determines how values in the + * response should be rendered. The default render option is + * ValueRenderOption.FORMATTED_VALUE. + * @opt_param string insertDataOption How the input data should be inserted. + * @opt_param string valueInputOption How the input data should be interpreted. + * @opt_param string responseDateTimeRenderOption Determines how dates, times, + * and durations in the response should be rendered. This is ignored if + * response_value_render_option is FORMATTED_VALUE. The default dateTime render + * option is [DateTimeRenderOption.SERIAL_NUMBER]. + * @return Google_Service_Sheets_AppendValuesResponse + */ + public function append($spreadsheetId, $range, Google_Service_Sheets_ValueRange $postBody, $optParams = array()) + { + $params = array('spreadsheetId' => $spreadsheetId, 'range' => $range, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('append', array($params), "Google_Service_Sheets_AppendValuesResponse"); + } + /** + * Clears one or more ranges of values from a spreadsheet. The caller must + * specify the spreadsheet ID and one or more ranges. Only values are cleared -- + * all other properties of the cell (such as formatting, data validation, etc..) + * are kept. (values.batchClear) + * + * @param string $spreadsheetId The ID of the spreadsheet to update. + * @param Google_Service_Sheets_BatchClearValuesRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Sheets_BatchClearValuesResponse + */ + public function batchClear($spreadsheetId, Google_Service_Sheets_BatchClearValuesRequest $postBody, $optParams = array()) + { + $params = array('spreadsheetId' => $spreadsheetId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('batchClear', array($params), "Google_Service_Sheets_BatchClearValuesResponse"); + } + /** + * Returns one or more ranges of values from a spreadsheet. The caller must + * specify the spreadsheet ID and one or more ranges. (values.batchGet) + * + * @param string $spreadsheetId The ID of the spreadsheet to retrieve data from. + * @param array $optParams Optional parameters. + * + * @opt_param string valueRenderOption How values should be represented in the + * output. The default render option is ValueRenderOption.FORMATTED_VALUE. + * @opt_param string dateTimeRenderOption How dates, times, and durations should + * be represented in the output. This is ignored if value_render_option is + * FORMATTED_VALUE. The default dateTime render option is + * [DateTimeRenderOption.SERIAL_NUMBER]. + * @opt_param string ranges The A1 notation of the values to retrieve. + * @opt_param string majorDimension The major dimension that results should use. + * + * For example, if the spreadsheet data is: `A1=1,B1=2,A2=3,B2=4`, then + * requesting `range=A1:B2,majorDimension=ROWS` will return `[[1,2],[3,4]]`, + * whereas requesting `range=A1:B2,majorDimension=COLUMNS` will return + * `[[1,3],[2,4]]`. + * @return Google_Service_Sheets_BatchGetValuesResponse + */ + public function batchGet($spreadsheetId, $optParams = array()) + { + $params = array('spreadsheetId' => $spreadsheetId); + $params = array_merge($params, $optParams); + return $this->call('batchGet', array($params), "Google_Service_Sheets_BatchGetValuesResponse"); + } + /** + * Sets values in one or more ranges of a spreadsheet. The caller must specify + * the spreadsheet ID, a valueInputOption, and one or more ValueRanges. + * (values.batchUpdate) + * + * @param string $spreadsheetId The ID of the spreadsheet to update. + * @param Google_Service_Sheets_BatchUpdateValuesRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Sheets_BatchUpdateValuesResponse + */ + public function batchUpdate($spreadsheetId, Google_Service_Sheets_BatchUpdateValuesRequest $postBody, $optParams = array()) + { + $params = array('spreadsheetId' => $spreadsheetId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('batchUpdate', array($params), "Google_Service_Sheets_BatchUpdateValuesResponse"); + } + /** + * Clears values from a spreadsheet. The caller must specify the spreadsheet ID + * and range. Only values are cleared -- all other properties of the cell (such + * as formatting, data validation, etc..) are kept. (values.clear) + * + * @param string $spreadsheetId The ID of the spreadsheet to update. + * @param string $range The A1 notation of the values to clear. + * @param Google_Service_Sheets_ClearValuesRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Sheets_ClearValuesResponse + */ + public function clear($spreadsheetId, $range, Google_Service_Sheets_ClearValuesRequest $postBody, $optParams = array()) + { + $params = array('spreadsheetId' => $spreadsheetId, 'range' => $range, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('clear', array($params), "Google_Service_Sheets_ClearValuesResponse"); + } + /** + * Returns a range of values from a spreadsheet. The caller must specify the + * spreadsheet ID and a range. (values.get) + * + * @param string $spreadsheetId The ID of the spreadsheet to retrieve data from. + * @param string $range The A1 notation of the values to retrieve. + * @param array $optParams Optional parameters. + * + * @opt_param string valueRenderOption How values should be represented in the + * output. The default render option is ValueRenderOption.FORMATTED_VALUE. + * @opt_param string dateTimeRenderOption How dates, times, and durations should + * be represented in the output. This is ignored if value_render_option is + * FORMATTED_VALUE. The default dateTime render option is + * [DateTimeRenderOption.SERIAL_NUMBER]. + * @opt_param string majorDimension The major dimension that results should use. + * + * For example, if the spreadsheet data is: `A1=1,B1=2,A2=3,B2=4`, then + * requesting `range=A1:B2,majorDimension=ROWS` will return `[[1,2],[3,4]]`, + * whereas requesting `range=A1:B2,majorDimension=COLUMNS` will return + * `[[1,3],[2,4]]`. + * @return Google_Service_Sheets_ValueRange + */ + public function get($spreadsheetId, $range, $optParams = array()) + { + $params = array('spreadsheetId' => $spreadsheetId, 'range' => $range); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Sheets_ValueRange"); + } + /** + * Sets values in a range of a spreadsheet. The caller must specify the + * spreadsheet ID, range, and a valueInputOption. (values.update) + * + * @param string $spreadsheetId The ID of the spreadsheet to update. + * @param string $range The A1 notation of the values to update. + * @param Google_Service_Sheets_ValueRange $postBody + * @param array $optParams Optional parameters. + * + * @opt_param string responseValueRenderOption Determines how values in the + * response should be rendered. The default render option is + * ValueRenderOption.FORMATTED_VALUE. + * @opt_param string valueInputOption How the input data should be interpreted. + * @opt_param string responseDateTimeRenderOption Determines how dates, times, + * and durations in the response should be rendered. This is ignored if + * response_value_render_option is FORMATTED_VALUE. The default dateTime render + * option is [DateTimeRenderOption.SERIAL_NUMBER]. + * @opt_param bool includeValuesInResponse Determines if the update response + * should include the values of the cells that were updated. By default, + * responses do not include the updated values. If the range to write was larger + * than than the range actually written, the response will include all values in + * the requested range (excluding trailing empty rows and columns). + * @return Google_Service_Sheets_UpdateValuesResponse + */ + public function update($spreadsheetId, $range, Google_Service_Sheets_ValueRange $postBody, $optParams = array()) + { + $params = array('spreadsheetId' => $spreadsheetId, 'range' => $range, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('update', array($params), "Google_Service_Sheets_UpdateValuesResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Sheets/Response.php b/vendor/google/apiclient-services/src/Google/Service/Sheets/Response.php new file mode 100644 index 00000000..2b0e0733 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Sheets/Response.php @@ -0,0 +1,141 @@ +addBanding = $addBanding; + } + public function getAddBanding() + { + return $this->addBanding; + } + public function setAddChart(Google_Service_Sheets_AddChartResponse $addChart) + { + $this->addChart = $addChart; + } + public function getAddChart() + { + return $this->addChart; + } + public function setAddFilterView(Google_Service_Sheets_AddFilterViewResponse $addFilterView) + { + $this->addFilterView = $addFilterView; + } + public function getAddFilterView() + { + return $this->addFilterView; + } + public function setAddNamedRange(Google_Service_Sheets_AddNamedRangeResponse $addNamedRange) + { + $this->addNamedRange = $addNamedRange; + } + public function getAddNamedRange() + { + return $this->addNamedRange; + } + public function setAddProtectedRange(Google_Service_Sheets_AddProtectedRangeResponse $addProtectedRange) + { + $this->addProtectedRange = $addProtectedRange; + } + public function getAddProtectedRange() + { + return $this->addProtectedRange; + } + public function setAddSheet(Google_Service_Sheets_AddSheetResponse $addSheet) + { + $this->addSheet = $addSheet; + } + public function getAddSheet() + { + return $this->addSheet; + } + public function setDeleteConditionalFormatRule(Google_Service_Sheets_DeleteConditionalFormatRuleResponse $deleteConditionalFormatRule) + { + $this->deleteConditionalFormatRule = $deleteConditionalFormatRule; + } + public function getDeleteConditionalFormatRule() + { + return $this->deleteConditionalFormatRule; + } + public function setDuplicateFilterView(Google_Service_Sheets_DuplicateFilterViewResponse $duplicateFilterView) + { + $this->duplicateFilterView = $duplicateFilterView; + } + public function getDuplicateFilterView() + { + return $this->duplicateFilterView; + } + public function setDuplicateSheet(Google_Service_Sheets_DuplicateSheetResponse $duplicateSheet) + { + $this->duplicateSheet = $duplicateSheet; + } + public function getDuplicateSheet() + { + return $this->duplicateSheet; + } + public function setFindReplace(Google_Service_Sheets_FindReplaceResponse $findReplace) + { + $this->findReplace = $findReplace; + } + public function getFindReplace() + { + return $this->findReplace; + } + public function setUpdateConditionalFormatRule(Google_Service_Sheets_UpdateConditionalFormatRuleResponse $updateConditionalFormatRule) + { + $this->updateConditionalFormatRule = $updateConditionalFormatRule; + } + public function getUpdateConditionalFormatRule() + { + return $this->updateConditionalFormatRule; + } + public function setUpdateEmbeddedObjectPosition(Google_Service_Sheets_UpdateEmbeddedObjectPositionResponse $updateEmbeddedObjectPosition) + { + $this->updateEmbeddedObjectPosition = $updateEmbeddedObjectPosition; + } + public function getUpdateEmbeddedObjectPosition() + { + return $this->updateEmbeddedObjectPosition; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Sheets/RowData.php b/vendor/google/apiclient-services/src/Google/Service/Sheets/RowData.php new file mode 100644 index 00000000..63a44c67 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Sheets/RowData.php @@ -0,0 +1,32 @@ +values = $values; + } + public function getValues() + { + return $this->values; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Sheets/SetBasicFilterRequest.php b/vendor/google/apiclient-services/src/Google/Service/Sheets/SetBasicFilterRequest.php new file mode 100644 index 00000000..86178726 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Sheets/SetBasicFilterRequest.php @@ -0,0 +1,31 @@ +filter = $filter; + } + public function getFilter() + { + return $this->filter; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Sheets/SetDataValidationRequest.php b/vendor/google/apiclient-services/src/Google/Service/Sheets/SetDataValidationRequest.php new file mode 100644 index 00000000..d1264bcc --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Sheets/SetDataValidationRequest.php @@ -0,0 +1,41 @@ +range = $range; + } + public function getRange() + { + return $this->range; + } + public function setRule(Google_Service_Sheets_DataValidationRule $rule) + { + $this->rule = $rule; + } + public function getRule() + { + return $this->rule; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Sheets/Sheet.php b/vendor/google/apiclient-services/src/Google/Service/Sheets/Sheet.php new file mode 100644 index 00000000..8f6c92a1 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Sheets/Sheet.php @@ -0,0 +1,112 @@ +bandedRanges = $bandedRanges; + } + public function getBandedRanges() + { + return $this->bandedRanges; + } + public function setBasicFilter(Google_Service_Sheets_BasicFilter $basicFilter) + { + $this->basicFilter = $basicFilter; + } + public function getBasicFilter() + { + return $this->basicFilter; + } + public function setCharts($charts) + { + $this->charts = $charts; + } + public function getCharts() + { + return $this->charts; + } + public function setConditionalFormats($conditionalFormats) + { + $this->conditionalFormats = $conditionalFormats; + } + public function getConditionalFormats() + { + return $this->conditionalFormats; + } + public function setData($data) + { + $this->data = $data; + } + public function getData() + { + return $this->data; + } + public function setFilterViews($filterViews) + { + $this->filterViews = $filterViews; + } + public function getFilterViews() + { + return $this->filterViews; + } + public function setMerges($merges) + { + $this->merges = $merges; + } + public function getMerges() + { + return $this->merges; + } + public function setProperties(Google_Service_Sheets_SheetProperties $properties) + { + $this->properties = $properties; + } + public function getProperties() + { + return $this->properties; + } + public function setProtectedRanges($protectedRanges) + { + $this->protectedRanges = $protectedRanges; + } + public function getProtectedRanges() + { + return $this->protectedRanges; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Sheets/SheetProperties.php b/vendor/google/apiclient-services/src/Google/Service/Sheets/SheetProperties.php new file mode 100644 index 00000000..e885b969 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Sheets/SheetProperties.php @@ -0,0 +1,95 @@ +gridProperties = $gridProperties; + } + public function getGridProperties() + { + return $this->gridProperties; + } + public function setHidden($hidden) + { + $this->hidden = $hidden; + } + public function getHidden() + { + return $this->hidden; + } + public function setIndex($index) + { + $this->index = $index; + } + public function getIndex() + { + return $this->index; + } + public function setRightToLeft($rightToLeft) + { + $this->rightToLeft = $rightToLeft; + } + public function getRightToLeft() + { + return $this->rightToLeft; + } + public function setSheetId($sheetId) + { + $this->sheetId = $sheetId; + } + public function getSheetId() + { + return $this->sheetId; + } + public function setSheetType($sheetType) + { + $this->sheetType = $sheetType; + } + public function getSheetType() + { + return $this->sheetType; + } + public function setTabColor(Google_Service_Sheets_Color $tabColor) + { + $this->tabColor = $tabColor; + } + public function getTabColor() + { + return $this->tabColor; + } + public function setTitle($title) + { + $this->title = $title; + } + public function getTitle() + { + return $this->title; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Sheets/SortRangeRequest.php b/vendor/google/apiclient-services/src/Google/Service/Sheets/SortRangeRequest.php new file mode 100644 index 00000000..672ac463 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Sheets/SortRangeRequest.php @@ -0,0 +1,42 @@ +range = $range; + } + public function getRange() + { + return $this->range; + } + public function setSortSpecs($sortSpecs) + { + $this->sortSpecs = $sortSpecs; + } + public function getSortSpecs() + { + return $this->sortSpecs; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Sheets/SortSpec.php b/vendor/google/apiclient-services/src/Google/Service/Sheets/SortSpec.php new file mode 100644 index 00000000..23ca6643 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Sheets/SortSpec.php @@ -0,0 +1,39 @@ +dimensionIndex = $dimensionIndex; + } + public function getDimensionIndex() + { + return $this->dimensionIndex; + } + public function setSortOrder($sortOrder) + { + $this->sortOrder = $sortOrder; + } + public function getSortOrder() + { + return $this->sortOrder; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Sheets/SourceAndDestination.php b/vendor/google/apiclient-services/src/Google/Service/Sheets/SourceAndDestination.php new file mode 100644 index 00000000..cc8ba7cc --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Sheets/SourceAndDestination.php @@ -0,0 +1,49 @@ +dimension = $dimension; + } + public function getDimension() + { + return $this->dimension; + } + public function setFillLength($fillLength) + { + $this->fillLength = $fillLength; + } + public function getFillLength() + { + return $this->fillLength; + } + public function setSource(Google_Service_Sheets_GridRange $source) + { + $this->source = $source; + } + public function getSource() + { + return $this->source; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Sheets/Spreadsheet.php b/vendor/google/apiclient-services/src/Google/Service/Sheets/Spreadsheet.php new file mode 100644 index 00000000..deb06fce --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Sheets/Spreadsheet.php @@ -0,0 +1,70 @@ +namedRanges = $namedRanges; + } + public function getNamedRanges() + { + return $this->namedRanges; + } + public function setProperties(Google_Service_Sheets_SpreadsheetProperties $properties) + { + $this->properties = $properties; + } + public function getProperties() + { + return $this->properties; + } + public function setSheets($sheets) + { + $this->sheets = $sheets; + } + public function getSheets() + { + return $this->sheets; + } + public function setSpreadsheetId($spreadsheetId) + { + $this->spreadsheetId = $spreadsheetId; + } + public function getSpreadsheetId() + { + return $this->spreadsheetId; + } + public function setSpreadsheetUrl($spreadsheetUrl) + { + $this->spreadsheetUrl = $spreadsheetUrl; + } + public function getSpreadsheetUrl() + { + return $this->spreadsheetUrl; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Sheets/SpreadsheetProperties.php b/vendor/google/apiclient-services/src/Google/Service/Sheets/SpreadsheetProperties.php new file mode 100644 index 00000000..2b33c488 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Sheets/SpreadsheetProperties.php @@ -0,0 +1,77 @@ +autoRecalc = $autoRecalc; + } + public function getAutoRecalc() + { + return $this->autoRecalc; + } + public function setDefaultFormat(Google_Service_Sheets_CellFormat $defaultFormat) + { + $this->defaultFormat = $defaultFormat; + } + public function getDefaultFormat() + { + return $this->defaultFormat; + } + public function setIterativeCalculationSettings(Google_Service_Sheets_IterativeCalculationSettings $iterativeCalculationSettings) + { + $this->iterativeCalculationSettings = $iterativeCalculationSettings; + } + public function getIterativeCalculationSettings() + { + return $this->iterativeCalculationSettings; + } + public function setLocale($locale) + { + $this->locale = $locale; + } + public function getLocale() + { + return $this->locale; + } + public function setTimeZone($timeZone) + { + $this->timeZone = $timeZone; + } + public function getTimeZone() + { + return $this->timeZone; + } + public function setTitle($title) + { + $this->title = $title; + } + public function getTitle() + { + return $this->title; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Sheets/TextFormat.php b/vendor/google/apiclient-services/src/Google/Service/Sheets/TextFormat.php new file mode 100644 index 00000000..c51a1828 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Sheets/TextFormat.php @@ -0,0 +1,85 @@ +bold = $bold; + } + public function getBold() + { + return $this->bold; + } + public function setFontFamily($fontFamily) + { + $this->fontFamily = $fontFamily; + } + public function getFontFamily() + { + return $this->fontFamily; + } + public function setFontSize($fontSize) + { + $this->fontSize = $fontSize; + } + public function getFontSize() + { + return $this->fontSize; + } + public function setForegroundColor(Google_Service_Sheets_Color $foregroundColor) + { + $this->foregroundColor = $foregroundColor; + } + public function getForegroundColor() + { + return $this->foregroundColor; + } + public function setItalic($italic) + { + $this->italic = $italic; + } + public function getItalic() + { + return $this->italic; + } + public function setStrikethrough($strikethrough) + { + $this->strikethrough = $strikethrough; + } + public function getStrikethrough() + { + return $this->strikethrough; + } + public function setUnderline($underline) + { + $this->underline = $underline; + } + public function getUnderline() + { + return $this->underline; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Sheets/TextFormatRun.php b/vendor/google/apiclient-services/src/Google/Service/Sheets/TextFormatRun.php new file mode 100644 index 00000000..7ee1c236 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Sheets/TextFormatRun.php @@ -0,0 +1,40 @@ +format = $format; + } + public function getFormat() + { + return $this->format; + } + public function setStartIndex($startIndex) + { + $this->startIndex = $startIndex; + } + public function getStartIndex() + { + return $this->startIndex; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Sheets/TextRotation.php b/vendor/google/apiclient-services/src/Google/Service/Sheets/TextRotation.php new file mode 100644 index 00000000..55f8902f --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Sheets/TextRotation.php @@ -0,0 +1,39 @@ +angle = $angle; + } + public function getAngle() + { + return $this->angle; + } + public function setVertical($vertical) + { + $this->vertical = $vertical; + } + public function getVertical() + { + return $this->vertical; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Sheets/TextToColumnsRequest.php b/vendor/google/apiclient-services/src/Google/Service/Sheets/TextToColumnsRequest.php new file mode 100644 index 00000000..4229cdc3 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Sheets/TextToColumnsRequest.php @@ -0,0 +1,49 @@ +delimiter = $delimiter; + } + public function getDelimiter() + { + return $this->delimiter; + } + public function setDelimiterType($delimiterType) + { + $this->delimiterType = $delimiterType; + } + public function getDelimiterType() + { + return $this->delimiterType; + } + public function setSource(Google_Service_Sheets_GridRange $source) + { + $this->source = $source; + } + public function getSource() + { + return $this->source; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Sheets/UnmergeCellsRequest.php b/vendor/google/apiclient-services/src/Google/Service/Sheets/UnmergeCellsRequest.php new file mode 100644 index 00000000..c83ddb28 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Sheets/UnmergeCellsRequest.php @@ -0,0 +1,31 @@ +range = $range; + } + public function getRange() + { + return $this->range; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Sheets/UpdateBandingRequest.php b/vendor/google/apiclient-services/src/Google/Service/Sheets/UpdateBandingRequest.php new file mode 100644 index 00000000..f4cea769 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Sheets/UpdateBandingRequest.php @@ -0,0 +1,40 @@ +bandedRange = $bandedRange; + } + public function getBandedRange() + { + return $this->bandedRange; + } + public function setFields($fields) + { + $this->fields = $fields; + } + public function getFields() + { + return $this->fields; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Sheets/UpdateBordersRequest.php b/vendor/google/apiclient-services/src/Google/Service/Sheets/UpdateBordersRequest.php new file mode 100644 index 00000000..18b53b3e --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Sheets/UpdateBordersRequest.php @@ -0,0 +1,91 @@ +bottom = $bottom; + } + public function getBottom() + { + return $this->bottom; + } + public function setInnerHorizontal(Google_Service_Sheets_Border $innerHorizontal) + { + $this->innerHorizontal = $innerHorizontal; + } + public function getInnerHorizontal() + { + return $this->innerHorizontal; + } + public function setInnerVertical(Google_Service_Sheets_Border $innerVertical) + { + $this->innerVertical = $innerVertical; + } + public function getInnerVertical() + { + return $this->innerVertical; + } + public function setLeft(Google_Service_Sheets_Border $left) + { + $this->left = $left; + } + public function getLeft() + { + return $this->left; + } + public function setRange(Google_Service_Sheets_GridRange $range) + { + $this->range = $range; + } + public function getRange() + { + return $this->range; + } + public function setRight(Google_Service_Sheets_Border $right) + { + $this->right = $right; + } + public function getRight() + { + return $this->right; + } + public function setTop(Google_Service_Sheets_Border $top) + { + $this->top = $top; + } + public function getTop() + { + return $this->top; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Sheets/UpdateCellsRequest.php b/vendor/google/apiclient-services/src/Google/Service/Sheets/UpdateCellsRequest.php new file mode 100644 index 00000000..6d629d30 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Sheets/UpdateCellsRequest.php @@ -0,0 +1,61 @@ +fields = $fields; + } + public function getFields() + { + return $this->fields; + } + public function setRange(Google_Service_Sheets_GridRange $range) + { + $this->range = $range; + } + public function getRange() + { + return $this->range; + } + public function setRows($rows) + { + $this->rows = $rows; + } + public function getRows() + { + return $this->rows; + } + public function setStart(Google_Service_Sheets_GridCoordinate $start) + { + $this->start = $start; + } + public function getStart() + { + return $this->start; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Sheets/UpdateChartSpecRequest.php b/vendor/google/apiclient-services/src/Google/Service/Sheets/UpdateChartSpecRequest.php new file mode 100644 index 00000000..c40fd3fe --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Sheets/UpdateChartSpecRequest.php @@ -0,0 +1,40 @@ +chartId = $chartId; + } + public function getChartId() + { + return $this->chartId; + } + public function setSpec(Google_Service_Sheets_ChartSpec $spec) + { + $this->spec = $spec; + } + public function getSpec() + { + return $this->spec; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Sheets/UpdateConditionalFormatRuleRequest.php b/vendor/google/apiclient-services/src/Google/Service/Sheets/UpdateConditionalFormatRuleRequest.php new file mode 100644 index 00000000..10aefd7b --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Sheets/UpdateConditionalFormatRuleRequest.php @@ -0,0 +1,58 @@ +index = $index; + } + public function getIndex() + { + return $this->index; + } + public function setNewIndex($newIndex) + { + $this->newIndex = $newIndex; + } + public function getNewIndex() + { + return $this->newIndex; + } + public function setRule(Google_Service_Sheets_ConditionalFormatRule $rule) + { + $this->rule = $rule; + } + public function getRule() + { + return $this->rule; + } + public function setSheetId($sheetId) + { + $this->sheetId = $sheetId; + } + public function getSheetId() + { + return $this->sheetId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Sheets/UpdateConditionalFormatRuleResponse.php b/vendor/google/apiclient-services/src/Google/Service/Sheets/UpdateConditionalFormatRuleResponse.php new file mode 100644 index 00000000..3313cdc2 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Sheets/UpdateConditionalFormatRuleResponse.php @@ -0,0 +1,59 @@ +newIndex = $newIndex; + } + public function getNewIndex() + { + return $this->newIndex; + } + public function setNewRule(Google_Service_Sheets_ConditionalFormatRule $newRule) + { + $this->newRule = $newRule; + } + public function getNewRule() + { + return $this->newRule; + } + public function setOldIndex($oldIndex) + { + $this->oldIndex = $oldIndex; + } + public function getOldIndex() + { + return $this->oldIndex; + } + public function setOldRule(Google_Service_Sheets_ConditionalFormatRule $oldRule) + { + $this->oldRule = $oldRule; + } + public function getOldRule() + { + return $this->oldRule; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Sheets/UpdateDimensionPropertiesRequest.php b/vendor/google/apiclient-services/src/Google/Service/Sheets/UpdateDimensionPropertiesRequest.php new file mode 100644 index 00000000..b96c8ff0 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Sheets/UpdateDimensionPropertiesRequest.php @@ -0,0 +1,50 @@ +fields = $fields; + } + public function getFields() + { + return $this->fields; + } + public function setProperties(Google_Service_Sheets_DimensionProperties $properties) + { + $this->properties = $properties; + } + public function getProperties() + { + return $this->properties; + } + public function setRange(Google_Service_Sheets_DimensionRange $range) + { + $this->range = $range; + } + public function getRange() + { + return $this->range; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Sheets/UpdateEmbeddedObjectPositionRequest.php b/vendor/google/apiclient-services/src/Google/Service/Sheets/UpdateEmbeddedObjectPositionRequest.php new file mode 100644 index 00000000..153dccec --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Sheets/UpdateEmbeddedObjectPositionRequest.php @@ -0,0 +1,49 @@ +fields = $fields; + } + public function getFields() + { + return $this->fields; + } + public function setNewPosition(Google_Service_Sheets_EmbeddedObjectPosition $newPosition) + { + $this->newPosition = $newPosition; + } + public function getNewPosition() + { + return $this->newPosition; + } + public function setObjectId($objectId) + { + $this->objectId = $objectId; + } + public function getObjectId() + { + return $this->objectId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Sheets/UpdateEmbeddedObjectPositionResponse.php b/vendor/google/apiclient-services/src/Google/Service/Sheets/UpdateEmbeddedObjectPositionResponse.php new file mode 100644 index 00000000..e5bbd48d --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Sheets/UpdateEmbeddedObjectPositionResponse.php @@ -0,0 +1,31 @@ +position = $position; + } + public function getPosition() + { + return $this->position; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Sheets/UpdateFilterViewRequest.php b/vendor/google/apiclient-services/src/Google/Service/Sheets/UpdateFilterViewRequest.php new file mode 100644 index 00000000..7fe57b56 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Sheets/UpdateFilterViewRequest.php @@ -0,0 +1,40 @@ +fields = $fields; + } + public function getFields() + { + return $this->fields; + } + public function setFilter(Google_Service_Sheets_FilterView $filter) + { + $this->filter = $filter; + } + public function getFilter() + { + return $this->filter; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Sheets/UpdateNamedRangeRequest.php b/vendor/google/apiclient-services/src/Google/Service/Sheets/UpdateNamedRangeRequest.php new file mode 100644 index 00000000..7d9d8890 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Sheets/UpdateNamedRangeRequest.php @@ -0,0 +1,40 @@ +fields = $fields; + } + public function getFields() + { + return $this->fields; + } + public function setNamedRange(Google_Service_Sheets_NamedRange $namedRange) + { + $this->namedRange = $namedRange; + } + public function getNamedRange() + { + return $this->namedRange; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Sheets/UpdateProtectedRangeRequest.php b/vendor/google/apiclient-services/src/Google/Service/Sheets/UpdateProtectedRangeRequest.php new file mode 100644 index 00000000..6f5b8327 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Sheets/UpdateProtectedRangeRequest.php @@ -0,0 +1,40 @@ +fields = $fields; + } + public function getFields() + { + return $this->fields; + } + public function setProtectedRange(Google_Service_Sheets_ProtectedRange $protectedRange) + { + $this->protectedRange = $protectedRange; + } + public function getProtectedRange() + { + return $this->protectedRange; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Sheets/UpdateSheetPropertiesRequest.php b/vendor/google/apiclient-services/src/Google/Service/Sheets/UpdateSheetPropertiesRequest.php new file mode 100644 index 00000000..c14acfc1 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Sheets/UpdateSheetPropertiesRequest.php @@ -0,0 +1,40 @@ +fields = $fields; + } + public function getFields() + { + return $this->fields; + } + public function setProperties(Google_Service_Sheets_SheetProperties $properties) + { + $this->properties = $properties; + } + public function getProperties() + { + return $this->properties; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Sheets/UpdateSpreadsheetPropertiesRequest.php b/vendor/google/apiclient-services/src/Google/Service/Sheets/UpdateSpreadsheetPropertiesRequest.php new file mode 100644 index 00000000..1bcea29e --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Sheets/UpdateSpreadsheetPropertiesRequest.php @@ -0,0 +1,40 @@ +fields = $fields; + } + public function getFields() + { + return $this->fields; + } + public function setProperties(Google_Service_Sheets_SpreadsheetProperties $properties) + { + $this->properties = $properties; + } + public function getProperties() + { + return $this->properties; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Sheets/UpdateValuesResponse.php b/vendor/google/apiclient-services/src/Google/Service/Sheets/UpdateValuesResponse.php new file mode 100644 index 00000000..46dc85f2 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Sheets/UpdateValuesResponse.php @@ -0,0 +1,76 @@ +spreadsheetId = $spreadsheetId; + } + public function getSpreadsheetId() + { + return $this->spreadsheetId; + } + public function setUpdatedCells($updatedCells) + { + $this->updatedCells = $updatedCells; + } + public function getUpdatedCells() + { + return $this->updatedCells; + } + public function setUpdatedColumns($updatedColumns) + { + $this->updatedColumns = $updatedColumns; + } + public function getUpdatedColumns() + { + return $this->updatedColumns; + } + public function setUpdatedData(Google_Service_Sheets_ValueRange $updatedData) + { + $this->updatedData = $updatedData; + } + public function getUpdatedData() + { + return $this->updatedData; + } + public function setUpdatedRange($updatedRange) + { + $this->updatedRange = $updatedRange; + } + public function getUpdatedRange() + { + return $this->updatedRange; + } + public function setUpdatedRows($updatedRows) + { + $this->updatedRows = $updatedRows; + } + public function getUpdatedRows() + { + return $this->updatedRows; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Sheets/ValueRange.php b/vendor/google/apiclient-services/src/Google/Service/Sheets/ValueRange.php new file mode 100644 index 00000000..3bc7a4b3 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Sheets/ValueRange.php @@ -0,0 +1,49 @@ +majorDimension = $majorDimension; + } + public function getMajorDimension() + { + return $this->majorDimension; + } + public function setRange($range) + { + $this->range = $range; + } + public function getRange() + { + return $this->range; + } + public function setValues($values) + { + $this->values = $values; + } + public function getValues() + { + return $this->values; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ShoppingContent.php b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent.php new file mode 100644 index 00000000..16f60c56 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent.php @@ -0,0 +1,1114 @@ + + * Manages product items, inventory, and Merchant Center accounts for Google + * Shopping.

+ * + *

+ * For more information about this service, see the API + * Documentation + *

+ * + * @author Google, Inc. + */ +class Google_Service_ShoppingContent extends Google_Service +{ + /** Manage your product listings and accounts for Google Shopping. */ + const CONTENT = + "https://www.googleapis.com/auth/content"; + + public $accounts; + public $accountshipping; + public $accountstatuses; + public $accounttax; + public $datafeeds; + public $datafeedstatuses; + public $inventory; + public $orders; + public $products; + public $productstatuses; + public $shippingsettings; + + /** + * Constructs the internal representation of the ShoppingContent service. + * + * @param Google_Client $client + */ + public function __construct(Google_Client $client) + { + parent::__construct($client); + $this->rootUrl = 'https://www.googleapis.com/'; + $this->servicePath = 'content/v2/'; + $this->version = 'v2'; + $this->serviceName = 'content'; + + $this->accounts = new Google_Service_ShoppingContent_Resource_Accounts( + $this, + $this->serviceName, + 'accounts', + array( + 'methods' => array( + 'authinfo' => array( + 'path' => 'accounts/authinfo', + 'httpMethod' => 'GET', + 'parameters' => array(), + ),'custombatch' => array( + 'path' => 'accounts/batch', + 'httpMethod' => 'POST', + 'parameters' => array( + 'dryRun' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + ), + ),'delete' => array( + 'path' => '{merchantId}/accounts/{accountId}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'merchantId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'accountId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'dryRun' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + ), + ),'get' => array( + 'path' => '{merchantId}/accounts/{accountId}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'merchantId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'accountId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'insert' => array( + 'path' => '{merchantId}/accounts', + 'httpMethod' => 'POST', + 'parameters' => array( + 'merchantId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'dryRun' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + ), + ),'list' => array( + 'path' => '{merchantId}/accounts', + 'httpMethod' => 'GET', + 'parameters' => array( + 'merchantId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'patch' => array( + 'path' => '{merchantId}/accounts/{accountId}', + 'httpMethod' => 'PATCH', + 'parameters' => array( + 'merchantId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'accountId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'dryRun' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + ), + ),'update' => array( + 'path' => '{merchantId}/accounts/{accountId}', + 'httpMethod' => 'PUT', + 'parameters' => array( + 'merchantId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'accountId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'dryRun' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + ), + ), + ) + ) + ); + $this->accountshipping = new Google_Service_ShoppingContent_Resource_Accountshipping( + $this, + $this->serviceName, + 'accountshipping', + array( + 'methods' => array( + 'custombatch' => array( + 'path' => 'accountshipping/batch', + 'httpMethod' => 'POST', + 'parameters' => array( + 'dryRun' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + ), + ),'get' => array( + 'path' => '{merchantId}/accountshipping/{accountId}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'merchantId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'accountId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => '{merchantId}/accountshipping', + 'httpMethod' => 'GET', + 'parameters' => array( + 'merchantId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'patch' => array( + 'path' => '{merchantId}/accountshipping/{accountId}', + 'httpMethod' => 'PATCH', + 'parameters' => array( + 'merchantId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'accountId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'dryRun' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + ), + ),'update' => array( + 'path' => '{merchantId}/accountshipping/{accountId}', + 'httpMethod' => 'PUT', + 'parameters' => array( + 'merchantId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'accountId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'dryRun' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + ), + ), + ) + ) + ); + $this->accountstatuses = new Google_Service_ShoppingContent_Resource_Accountstatuses( + $this, + $this->serviceName, + 'accountstatuses', + array( + 'methods' => array( + 'custombatch' => array( + 'path' => 'accountstatuses/batch', + 'httpMethod' => 'POST', + 'parameters' => array(), + ),'get' => array( + 'path' => '{merchantId}/accountstatuses/{accountId}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'merchantId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'accountId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => '{merchantId}/accountstatuses', + 'httpMethod' => 'GET', + 'parameters' => array( + 'merchantId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + $this->accounttax = new Google_Service_ShoppingContent_Resource_Accounttax( + $this, + $this->serviceName, + 'accounttax', + array( + 'methods' => array( + 'custombatch' => array( + 'path' => 'accounttax/batch', + 'httpMethod' => 'POST', + 'parameters' => array( + 'dryRun' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + ), + ),'get' => array( + 'path' => '{merchantId}/accounttax/{accountId}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'merchantId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'accountId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => '{merchantId}/accounttax', + 'httpMethod' => 'GET', + 'parameters' => array( + 'merchantId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'patch' => array( + 'path' => '{merchantId}/accounttax/{accountId}', + 'httpMethod' => 'PATCH', + 'parameters' => array( + 'merchantId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'accountId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'dryRun' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + ), + ),'update' => array( + 'path' => '{merchantId}/accounttax/{accountId}', + 'httpMethod' => 'PUT', + 'parameters' => array( + 'merchantId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'accountId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'dryRun' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + ), + ), + ) + ) + ); + $this->datafeeds = new Google_Service_ShoppingContent_Resource_Datafeeds( + $this, + $this->serviceName, + 'datafeeds', + array( + 'methods' => array( + 'custombatch' => array( + 'path' => 'datafeeds/batch', + 'httpMethod' => 'POST', + 'parameters' => array( + 'dryRun' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + ), + ),'delete' => array( + 'path' => '{merchantId}/datafeeds/{datafeedId}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'merchantId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'datafeedId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'dryRun' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + ), + ),'get' => array( + 'path' => '{merchantId}/datafeeds/{datafeedId}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'merchantId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'datafeedId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'insert' => array( + 'path' => '{merchantId}/datafeeds', + 'httpMethod' => 'POST', + 'parameters' => array( + 'merchantId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'dryRun' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + ), + ),'list' => array( + 'path' => '{merchantId}/datafeeds', + 'httpMethod' => 'GET', + 'parameters' => array( + 'merchantId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'patch' => array( + 'path' => '{merchantId}/datafeeds/{datafeedId}', + 'httpMethod' => 'PATCH', + 'parameters' => array( + 'merchantId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'datafeedId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'dryRun' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + ), + ),'update' => array( + 'path' => '{merchantId}/datafeeds/{datafeedId}', + 'httpMethod' => 'PUT', + 'parameters' => array( + 'merchantId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'datafeedId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'dryRun' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + ), + ), + ) + ) + ); + $this->datafeedstatuses = new Google_Service_ShoppingContent_Resource_Datafeedstatuses( + $this, + $this->serviceName, + 'datafeedstatuses', + array( + 'methods' => array( + 'custombatch' => array( + 'path' => 'datafeedstatuses/batch', + 'httpMethod' => 'POST', + 'parameters' => array(), + ),'get' => array( + 'path' => '{merchantId}/datafeedstatuses/{datafeedId}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'merchantId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'datafeedId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => '{merchantId}/datafeedstatuses', + 'httpMethod' => 'GET', + 'parameters' => array( + 'merchantId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + $this->inventory = new Google_Service_ShoppingContent_Resource_Inventory( + $this, + $this->serviceName, + 'inventory', + array( + 'methods' => array( + 'custombatch' => array( + 'path' => 'inventory/batch', + 'httpMethod' => 'POST', + 'parameters' => array( + 'dryRun' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + ), + ),'set' => array( + 'path' => '{merchantId}/inventory/{storeCode}/products/{productId}', + 'httpMethod' => 'POST', + 'parameters' => array( + 'merchantId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'storeCode' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'productId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'dryRun' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + ), + ), + ) + ) + ); + $this->orders = new Google_Service_ShoppingContent_Resource_Orders( + $this, + $this->serviceName, + 'orders', + array( + 'methods' => array( + 'acknowledge' => array( + 'path' => '{merchantId}/orders/{orderId}/acknowledge', + 'httpMethod' => 'POST', + 'parameters' => array( + 'merchantId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'orderId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'advancetestorder' => array( + 'path' => '{merchantId}/testorders/{orderId}/advance', + 'httpMethod' => 'POST', + 'parameters' => array( + 'merchantId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'orderId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'cancel' => array( + 'path' => '{merchantId}/orders/{orderId}/cancel', + 'httpMethod' => 'POST', + 'parameters' => array( + 'merchantId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'orderId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'cancellineitem' => array( + 'path' => '{merchantId}/orders/{orderId}/cancelLineItem', + 'httpMethod' => 'POST', + 'parameters' => array( + 'merchantId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'orderId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'createtestorder' => array( + 'path' => '{merchantId}/testorders', + 'httpMethod' => 'POST', + 'parameters' => array( + 'merchantId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'custombatch' => array( + 'path' => 'orders/batch', + 'httpMethod' => 'POST', + 'parameters' => array(), + ),'get' => array( + 'path' => '{merchantId}/orders/{orderId}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'merchantId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'orderId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'getbymerchantorderid' => array( + 'path' => '{merchantId}/ordersbymerchantid/{merchantOrderId}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'merchantId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'merchantOrderId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'gettestordertemplate' => array( + 'path' => '{merchantId}/testordertemplates/{templateName}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'merchantId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'templateName' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => '{merchantId}/orders', + 'httpMethod' => 'GET', + 'parameters' => array( + 'merchantId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'acknowledged' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'orderBy' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'placedDateEnd' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'placedDateStart' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'statuses' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + ), + ), + ),'refund' => array( + 'path' => '{merchantId}/orders/{orderId}/refund', + 'httpMethod' => 'POST', + 'parameters' => array( + 'merchantId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'orderId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'returnlineitem' => array( + 'path' => '{merchantId}/orders/{orderId}/returnLineItem', + 'httpMethod' => 'POST', + 'parameters' => array( + 'merchantId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'orderId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'shiplineitems' => array( + 'path' => '{merchantId}/orders/{orderId}/shipLineItems', + 'httpMethod' => 'POST', + 'parameters' => array( + 'merchantId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'orderId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'updatemerchantorderid' => array( + 'path' => '{merchantId}/orders/{orderId}/updateMerchantOrderId', + 'httpMethod' => 'POST', + 'parameters' => array( + 'merchantId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'orderId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'updateshipment' => array( + 'path' => '{merchantId}/orders/{orderId}/updateShipment', + 'httpMethod' => 'POST', + 'parameters' => array( + 'merchantId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'orderId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->products = new Google_Service_ShoppingContent_Resource_Products( + $this, + $this->serviceName, + 'products', + array( + 'methods' => array( + 'custombatch' => array( + 'path' => 'products/batch', + 'httpMethod' => 'POST', + 'parameters' => array( + 'dryRun' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + ), + ),'delete' => array( + 'path' => '{merchantId}/products/{productId}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'merchantId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'productId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'dryRun' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + ), + ),'get' => array( + 'path' => '{merchantId}/products/{productId}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'merchantId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'productId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'insert' => array( + 'path' => '{merchantId}/products', + 'httpMethod' => 'POST', + 'parameters' => array( + 'merchantId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'dryRun' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + ), + ),'list' => array( + 'path' => '{merchantId}/products', + 'httpMethod' => 'GET', + 'parameters' => array( + 'merchantId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'includeInvalidInsertedItems' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + $this->productstatuses = new Google_Service_ShoppingContent_Resource_Productstatuses( + $this, + $this->serviceName, + 'productstatuses', + array( + 'methods' => array( + 'custombatch' => array( + 'path' => 'productstatuses/batch', + 'httpMethod' => 'POST', + 'parameters' => array(), + ),'get' => array( + 'path' => '{merchantId}/productstatuses/{productId}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'merchantId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'productId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => '{merchantId}/productstatuses', + 'httpMethod' => 'GET', + 'parameters' => array( + 'merchantId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'includeInvalidInsertedItems' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + $this->shippingsettings = new Google_Service_ShoppingContent_Resource_Shippingsettings( + $this, + $this->serviceName, + 'shippingsettings', + array( + 'methods' => array( + 'custombatch' => array( + 'path' => 'shippingsettings/batch', + 'httpMethod' => 'POST', + 'parameters' => array( + 'dryRun' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + ), + ),'get' => array( + 'path' => '{merchantId}/shippingsettings/{accountId}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'merchantId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'accountId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'getsupportedcarriers' => array( + 'path' => '{merchantId}/supportedCarriers', + 'httpMethod' => 'GET', + 'parameters' => array( + 'merchantId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => '{merchantId}/shippingsettings', + 'httpMethod' => 'GET', + 'parameters' => array( + 'merchantId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'patch' => array( + 'path' => '{merchantId}/shippingsettings/{accountId}', + 'httpMethod' => 'PATCH', + 'parameters' => array( + 'merchantId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'accountId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'dryRun' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + ), + ),'update' => array( + 'path' => '{merchantId}/shippingsettings/{accountId}', + 'httpMethod' => 'PUT', + 'parameters' => array( + 'merchantId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'accountId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'dryRun' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + ), + ), + ) + ) + ); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/Account.php b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/Account.php new file mode 100644 index 00000000..818b624f --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/Account.php @@ -0,0 +1,105 @@ +adultContent = $adultContent; + } + public function getAdultContent() + { + return $this->adultContent; + } + public function setAdwordsLinks($adwordsLinks) + { + $this->adwordsLinks = $adwordsLinks; + } + public function getAdwordsLinks() + { + return $this->adwordsLinks; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setReviewsUrl($reviewsUrl) + { + $this->reviewsUrl = $reviewsUrl; + } + public function getReviewsUrl() + { + return $this->reviewsUrl; + } + public function setSellerId($sellerId) + { + $this->sellerId = $sellerId; + } + public function getSellerId() + { + return $this->sellerId; + } + public function setUsers($users) + { + $this->users = $users; + } + public function getUsers() + { + return $this->users; + } + public function setWebsiteUrl($websiteUrl) + { + $this->websiteUrl = $websiteUrl; + } + public function getWebsiteUrl() + { + return $this->websiteUrl; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/AccountAdwordsLink.php b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/AccountAdwordsLink.php new file mode 100644 index 00000000..7545618e --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/AccountAdwordsLink.php @@ -0,0 +1,39 @@ +adwordsId = $adwordsId; + } + public function getAdwordsId() + { + return $this->adwordsId; + } + public function setStatus($status) + { + $this->status = $status; + } + public function getStatus() + { + return $this->status; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/AccountIdentifier.php b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/AccountIdentifier.php new file mode 100644 index 00000000..79b5ecfb --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/AccountIdentifier.php @@ -0,0 +1,39 @@ +aggregatorId = $aggregatorId; + } + public function getAggregatorId() + { + return $this->aggregatorId; + } + public function setMerchantId($merchantId) + { + $this->merchantId = $merchantId; + } + public function getMerchantId() + { + return $this->merchantId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/AccountShipping.php b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/AccountShipping.php new file mode 100644 index 00000000..bd5cceb3 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/AccountShipping.php @@ -0,0 +1,80 @@ +accountId = $accountId; + } + public function getAccountId() + { + return $this->accountId; + } + public function setCarrierRates($carrierRates) + { + $this->carrierRates = $carrierRates; + } + public function getCarrierRates() + { + return $this->carrierRates; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setLocationGroups($locationGroups) + { + $this->locationGroups = $locationGroups; + } + public function getLocationGroups() + { + return $this->locationGroups; + } + public function setRateTables($rateTables) + { + $this->rateTables = $rateTables; + } + public function getRateTables() + { + return $this->rateTables; + } + public function setServices($services) + { + $this->services = $services; + } + public function getServices() + { + return $this->services; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/AccountShippingCarrierRate.php b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/AccountShippingCarrierRate.php new file mode 100644 index 00000000..e3019122 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/AccountShippingCarrierRate.php @@ -0,0 +1,85 @@ +carrier = $carrier; + } + public function getCarrier() + { + return $this->carrier; + } + public function setCarrierService($carrierService) + { + $this->carrierService = $carrierService; + } + public function getCarrierService() + { + return $this->carrierService; + } + public function setModifierFlatRate(Google_Service_ShoppingContent_Price $modifierFlatRate) + { + $this->modifierFlatRate = $modifierFlatRate; + } + public function getModifierFlatRate() + { + return $this->modifierFlatRate; + } + public function setModifierPercent($modifierPercent) + { + $this->modifierPercent = $modifierPercent; + } + public function getModifierPercent() + { + return $this->modifierPercent; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setSaleCountry($saleCountry) + { + $this->saleCountry = $saleCountry; + } + public function getSaleCountry() + { + return $this->saleCountry; + } + public function setShippingOrigin($shippingOrigin) + { + $this->shippingOrigin = $shippingOrigin; + } + public function getShippingOrigin() + { + return $this->shippingOrigin; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/AccountShippingCondition.php b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/AccountShippingCondition.php new file mode 100644 index 00000000..9bd68b91 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/AccountShippingCondition.php @@ -0,0 +1,87 @@ +deliveryLocationGroup = $deliveryLocationGroup; + } + public function getDeliveryLocationGroup() + { + return $this->deliveryLocationGroup; + } + public function setDeliveryLocationId($deliveryLocationId) + { + $this->deliveryLocationId = $deliveryLocationId; + } + public function getDeliveryLocationId() + { + return $this->deliveryLocationId; + } + public function setDeliveryPostalCode($deliveryPostalCode) + { + $this->deliveryPostalCode = $deliveryPostalCode; + } + public function getDeliveryPostalCode() + { + return $this->deliveryPostalCode; + } + public function setDeliveryPostalCodeRange(Google_Service_ShoppingContent_AccountShippingPostalCodeRange $deliveryPostalCodeRange) + { + $this->deliveryPostalCodeRange = $deliveryPostalCodeRange; + } + public function getDeliveryPostalCodeRange() + { + return $this->deliveryPostalCodeRange; + } + public function setPriceMax(Google_Service_ShoppingContent_Price $priceMax) + { + $this->priceMax = $priceMax; + } + public function getPriceMax() + { + return $this->priceMax; + } + public function setShippingLabel($shippingLabel) + { + $this->shippingLabel = $shippingLabel; + } + public function getShippingLabel() + { + return $this->shippingLabel; + } + public function setWeightMax(Google_Service_ShoppingContent_Weight $weightMax) + { + $this->weightMax = $weightMax; + } + public function getWeightMax() + { + return $this->weightMax; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/AccountShippingLocationGroup.php b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/AccountShippingLocationGroup.php new file mode 100644 index 00000000..5e0ca75f --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/AccountShippingLocationGroup.php @@ -0,0 +1,68 @@ +country = $country; + } + public function getCountry() + { + return $this->country; + } + public function setLocationIds($locationIds) + { + $this->locationIds = $locationIds; + } + public function getLocationIds() + { + return $this->locationIds; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setPostalCodeRanges($postalCodeRanges) + { + $this->postalCodeRanges = $postalCodeRanges; + } + public function getPostalCodeRanges() + { + return $this->postalCodeRanges; + } + public function setPostalCodes($postalCodes) + { + $this->postalCodes = $postalCodes; + } + public function getPostalCodes() + { + return $this->postalCodes; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/AccountShippingPostalCodeRange.php b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/AccountShippingPostalCodeRange.php new file mode 100644 index 00000000..d2151ace --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/AccountShippingPostalCodeRange.php @@ -0,0 +1,39 @@ +end = $end; + } + public function getEnd() + { + return $this->end; + } + public function setStart($start) + { + $this->start = $start; + } + public function getStart() + { + return $this->start; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/AccountShippingRateTable.php b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/AccountShippingRateTable.php new file mode 100644 index 00000000..c8b0e177 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/AccountShippingRateTable.php @@ -0,0 +1,50 @@ +content = $content; + } + public function getContent() + { + return $this->content; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setSaleCountry($saleCountry) + { + $this->saleCountry = $saleCountry; + } + public function getSaleCountry() + { + return $this->saleCountry; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/AccountShippingRateTableCell.php b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/AccountShippingRateTableCell.php new file mode 100644 index 00000000..543395d1 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/AccountShippingRateTableCell.php @@ -0,0 +1,41 @@ +condition = $condition; + } + public function getCondition() + { + return $this->condition; + } + public function setRate(Google_Service_ShoppingContent_Price $rate) + { + $this->rate = $rate; + } + public function getRate() + { + return $this->rate; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/AccountShippingShippingService.php b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/AccountShippingShippingService.php new file mode 100644 index 00000000..555ef16e --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/AccountShippingShippingService.php @@ -0,0 +1,86 @@ +active = $active; + } + public function getActive() + { + return $this->active; + } + public function setCalculationMethod(Google_Service_ShoppingContent_AccountShippingShippingServiceCalculationMethod $calculationMethod) + { + $this->calculationMethod = $calculationMethod; + } + public function getCalculationMethod() + { + return $this->calculationMethod; + } + public function setCostRuleTree(Google_Service_ShoppingContent_AccountShippingShippingServiceCostRule $costRuleTree) + { + $this->costRuleTree = $costRuleTree; + } + public function getCostRuleTree() + { + return $this->costRuleTree; + } + public function setMaxDaysInTransit($maxDaysInTransit) + { + $this->maxDaysInTransit = $maxDaysInTransit; + } + public function getMaxDaysInTransit() + { + return $this->maxDaysInTransit; + } + public function setMinDaysInTransit($minDaysInTransit) + { + $this->minDaysInTransit = $minDaysInTransit; + } + public function getMinDaysInTransit() + { + return $this->minDaysInTransit; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setSaleCountry($saleCountry) + { + $this->saleCountry = $saleCountry; + } + public function getSaleCountry() + { + return $this->saleCountry; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/AccountShippingShippingServiceCalculationMethod.php b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/AccountShippingShippingServiceCalculationMethod.php new file mode 100644 index 00000000..3540f418 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/AccountShippingShippingServiceCalculationMethod.php @@ -0,0 +1,67 @@ +carrierRate = $carrierRate; + } + public function getCarrierRate() + { + return $this->carrierRate; + } + public function setExcluded($excluded) + { + $this->excluded = $excluded; + } + public function getExcluded() + { + return $this->excluded; + } + public function setFlatRate(Google_Service_ShoppingContent_Price $flatRate) + { + $this->flatRate = $flatRate; + } + public function getFlatRate() + { + return $this->flatRate; + } + public function setPercentageRate($percentageRate) + { + $this->percentageRate = $percentageRate; + } + public function getPercentageRate() + { + return $this->percentageRate; + } + public function setRateTable($rateTable) + { + $this->rateTable = $rateTable; + } + public function getRateTable() + { + return $this->rateTable; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/AccountShippingShippingServiceCostRule.php b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/AccountShippingShippingServiceCostRule.php new file mode 100644 index 00000000..cef52308 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/AccountShippingShippingServiceCostRule.php @@ -0,0 +1,52 @@ +calculationMethod = $calculationMethod; + } + public function getCalculationMethod() + { + return $this->calculationMethod; + } + public function setChildren($children) + { + $this->children = $children; + } + public function getChildren() + { + return $this->children; + } + public function setCondition(Google_Service_ShoppingContent_AccountShippingCondition $condition) + { + $this->condition = $condition; + } + public function getCondition() + { + return $this->condition; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/AccountStatus.php b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/AccountStatus.php new file mode 100644 index 00000000..36fbb5d5 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/AccountStatus.php @@ -0,0 +1,50 @@ +accountId = $accountId; + } + public function getAccountId() + { + return $this->accountId; + } + public function setDataQualityIssues($dataQualityIssues) + { + $this->dataQualityIssues = $dataQualityIssues; + } + public function getDataQualityIssues() + { + return $this->dataQualityIssues; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/AccountStatusDataQualityIssue.php b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/AccountStatusDataQualityIssue.php new file mode 100644 index 00000000..300fd262 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/AccountStatusDataQualityIssue.php @@ -0,0 +1,113 @@ +country = $country; + } + public function getCountry() + { + return $this->country; + } + public function setDetail($detail) + { + $this->detail = $detail; + } + public function getDetail() + { + return $this->detail; + } + public function setDisplayedValue($displayedValue) + { + $this->displayedValue = $displayedValue; + } + public function getDisplayedValue() + { + return $this->displayedValue; + } + public function setExampleItems($exampleItems) + { + $this->exampleItems = $exampleItems; + } + public function getExampleItems() + { + return $this->exampleItems; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setLastChecked($lastChecked) + { + $this->lastChecked = $lastChecked; + } + public function getLastChecked() + { + return $this->lastChecked; + } + public function setLocation($location) + { + $this->location = $location; + } + public function getLocation() + { + return $this->location; + } + public function setNumItems($numItems) + { + $this->numItems = $numItems; + } + public function getNumItems() + { + return $this->numItems; + } + public function setSeverity($severity) + { + $this->severity = $severity; + } + public function getSeverity() + { + return $this->severity; + } + public function setSubmittedValue($submittedValue) + { + $this->submittedValue = $submittedValue; + } + public function getSubmittedValue() + { + return $this->submittedValue; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/AccountStatusExampleItem.php b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/AccountStatusExampleItem.php new file mode 100644 index 00000000..f8a5b560 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/AccountStatusExampleItem.php @@ -0,0 +1,66 @@ +itemId = $itemId; + } + public function getItemId() + { + return $this->itemId; + } + public function setLink($link) + { + $this->link = $link; + } + public function getLink() + { + return $this->link; + } + public function setSubmittedValue($submittedValue) + { + $this->submittedValue = $submittedValue; + } + public function getSubmittedValue() + { + return $this->submittedValue; + } + public function setTitle($title) + { + $this->title = $title; + } + public function getTitle() + { + return $this->title; + } + public function setValueOnLandingPage($valueOnLandingPage) + { + $this->valueOnLandingPage = $valueOnLandingPage; + } + public function getValueOnLandingPage() + { + return $this->valueOnLandingPage; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/AccountTax.php b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/AccountTax.php new file mode 100644 index 00000000..a1fd005c --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/AccountTax.php @@ -0,0 +1,50 @@ +accountId = $accountId; + } + public function getAccountId() + { + return $this->accountId; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setRules($rules) + { + $this->rules = $rules; + } + public function getRules() + { + return $this->rules; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/AccountTaxTaxRule.php b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/AccountTaxTaxRule.php new file mode 100644 index 00000000..96392bc5 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/AccountTaxTaxRule.php @@ -0,0 +1,66 @@ +country = $country; + } + public function getCountry() + { + return $this->country; + } + public function setLocationId($locationId) + { + $this->locationId = $locationId; + } + public function getLocationId() + { + return $this->locationId; + } + public function setRatePercent($ratePercent) + { + $this->ratePercent = $ratePercent; + } + public function getRatePercent() + { + return $this->ratePercent; + } + public function setShippingTaxed($shippingTaxed) + { + $this->shippingTaxed = $shippingTaxed; + } + public function getShippingTaxed() + { + return $this->shippingTaxed; + } + public function setUseGlobalRate($useGlobalRate) + { + $this->useGlobalRate = $useGlobalRate; + } + public function getUseGlobalRate() + { + return $this->useGlobalRate; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/AccountUser.php b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/AccountUser.php new file mode 100644 index 00000000..362063b5 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/AccountUser.php @@ -0,0 +1,39 @@ +admin = $admin; + } + public function getAdmin() + { + return $this->admin; + } + public function setEmailAddress($emailAddress) + { + $this->emailAddress = $emailAddress; + } + public function getEmailAddress() + { + return $this->emailAddress; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/AccountsAuthInfoResponse.php b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/AccountsAuthInfoResponse.php new file mode 100644 index 00000000..e3584f51 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/AccountsAuthInfoResponse.php @@ -0,0 +1,41 @@ +accountIdentifiers = $accountIdentifiers; + } + public function getAccountIdentifiers() + { + return $this->accountIdentifiers; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/AccountsCustomBatchRequest.php b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/AccountsCustomBatchRequest.php new file mode 100644 index 00000000..ab20c936 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/AccountsCustomBatchRequest.php @@ -0,0 +1,32 @@ +entries = $entries; + } + public function getEntries() + { + return $this->entries; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/AccountsCustomBatchRequestEntry.php b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/AccountsCustomBatchRequestEntry.php new file mode 100644 index 00000000..3dc1d680 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/AccountsCustomBatchRequestEntry.php @@ -0,0 +1,67 @@ +account = $account; + } + public function getAccount() + { + return $this->account; + } + public function setAccountId($accountId) + { + $this->accountId = $accountId; + } + public function getAccountId() + { + return $this->accountId; + } + public function setBatchId($batchId) + { + $this->batchId = $batchId; + } + public function getBatchId() + { + return $this->batchId; + } + public function setMerchantId($merchantId) + { + $this->merchantId = $merchantId; + } + public function getMerchantId() + { + return $this->merchantId; + } + public function setMethod($method) + { + $this->method = $method; + } + public function getMethod() + { + return $this->method; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/AccountsCustomBatchResponse.php b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/AccountsCustomBatchResponse.php new file mode 100644 index 00000000..80a842b1 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/AccountsCustomBatchResponse.php @@ -0,0 +1,41 @@ +entries = $entries; + } + public function getEntries() + { + return $this->entries; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/AccountsCustomBatchResponseEntry.php b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/AccountsCustomBatchResponseEntry.php new file mode 100644 index 00000000..13bf5d7c --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/AccountsCustomBatchResponseEntry.php @@ -0,0 +1,59 @@ +account = $account; + } + public function getAccount() + { + return $this->account; + } + public function setBatchId($batchId) + { + $this->batchId = $batchId; + } + public function getBatchId() + { + return $this->batchId; + } + public function setErrors(Google_Service_ShoppingContent_Errors $errors) + { + $this->errors = $errors; + } + public function getErrors() + { + return $this->errors; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/AccountsListResponse.php b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/AccountsListResponse.php new file mode 100644 index 00000000..bdc618f0 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/AccountsListResponse.php @@ -0,0 +1,50 @@ +kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setResources($resources) + { + $this->resources = $resources; + } + public function getResources() + { + return $this->resources; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/AccountshippingCustomBatchRequest.php b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/AccountshippingCustomBatchRequest.php new file mode 100644 index 00000000..41af4e86 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/AccountshippingCustomBatchRequest.php @@ -0,0 +1,32 @@ +entries = $entries; + } + public function getEntries() + { + return $this->entries; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/AccountshippingCustomBatchRequestEntry.php b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/AccountshippingCustomBatchRequestEntry.php new file mode 100644 index 00000000..c0848ec0 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/AccountshippingCustomBatchRequestEntry.php @@ -0,0 +1,67 @@ +accountId = $accountId; + } + public function getAccountId() + { + return $this->accountId; + } + public function setAccountShipping(Google_Service_ShoppingContent_AccountShipping $accountShipping) + { + $this->accountShipping = $accountShipping; + } + public function getAccountShipping() + { + return $this->accountShipping; + } + public function setBatchId($batchId) + { + $this->batchId = $batchId; + } + public function getBatchId() + { + return $this->batchId; + } + public function setMerchantId($merchantId) + { + $this->merchantId = $merchantId; + } + public function getMerchantId() + { + return $this->merchantId; + } + public function setMethod($method) + { + $this->method = $method; + } + public function getMethod() + { + return $this->method; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/AccountshippingCustomBatchResponse.php b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/AccountshippingCustomBatchResponse.php new file mode 100644 index 00000000..62d66179 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/AccountshippingCustomBatchResponse.php @@ -0,0 +1,41 @@ +entries = $entries; + } + public function getEntries() + { + return $this->entries; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/AccountshippingCustomBatchResponseEntry.php b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/AccountshippingCustomBatchResponseEntry.php new file mode 100644 index 00000000..b0528ddf --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/AccountshippingCustomBatchResponseEntry.php @@ -0,0 +1,59 @@ +accountShipping = $accountShipping; + } + public function getAccountShipping() + { + return $this->accountShipping; + } + public function setBatchId($batchId) + { + $this->batchId = $batchId; + } + public function getBatchId() + { + return $this->batchId; + } + public function setErrors(Google_Service_ShoppingContent_Errors $errors) + { + $this->errors = $errors; + } + public function getErrors() + { + return $this->errors; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/AccountshippingListResponse.php b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/AccountshippingListResponse.php new file mode 100644 index 00000000..bb9a7bf0 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/AccountshippingListResponse.php @@ -0,0 +1,50 @@ +kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setResources($resources) + { + $this->resources = $resources; + } + public function getResources() + { + return $this->resources; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/AccountstatusesCustomBatchRequest.php b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/AccountstatusesCustomBatchRequest.php new file mode 100644 index 00000000..543f2a22 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/AccountstatusesCustomBatchRequest.php @@ -0,0 +1,32 @@ +entries = $entries; + } + public function getEntries() + { + return $this->entries; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/AccountstatusesCustomBatchRequestEntry.php b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/AccountstatusesCustomBatchRequestEntry.php new file mode 100644 index 00000000..5d81ce10 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/AccountstatusesCustomBatchRequestEntry.php @@ -0,0 +1,57 @@ +accountId = $accountId; + } + public function getAccountId() + { + return $this->accountId; + } + public function setBatchId($batchId) + { + $this->batchId = $batchId; + } + public function getBatchId() + { + return $this->batchId; + } + public function setMerchantId($merchantId) + { + $this->merchantId = $merchantId; + } + public function getMerchantId() + { + return $this->merchantId; + } + public function setMethod($method) + { + $this->method = $method; + } + public function getMethod() + { + return $this->method; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/AccountstatusesCustomBatchResponse.php b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/AccountstatusesCustomBatchResponse.php new file mode 100644 index 00000000..122ad14c --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/AccountstatusesCustomBatchResponse.php @@ -0,0 +1,41 @@ +entries = $entries; + } + public function getEntries() + { + return $this->entries; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/AccountstatusesCustomBatchResponseEntry.php b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/AccountstatusesCustomBatchResponseEntry.php new file mode 100644 index 00000000..9b9b81d9 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/AccountstatusesCustomBatchResponseEntry.php @@ -0,0 +1,50 @@ +accountStatus = $accountStatus; + } + public function getAccountStatus() + { + return $this->accountStatus; + } + public function setBatchId($batchId) + { + $this->batchId = $batchId; + } + public function getBatchId() + { + return $this->batchId; + } + public function setErrors(Google_Service_ShoppingContent_Errors $errors) + { + $this->errors = $errors; + } + public function getErrors() + { + return $this->errors; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/AccountstatusesListResponse.php b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/AccountstatusesListResponse.php new file mode 100644 index 00000000..2ee02e44 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/AccountstatusesListResponse.php @@ -0,0 +1,50 @@ +kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setResources($resources) + { + $this->resources = $resources; + } + public function getResources() + { + return $this->resources; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/AccounttaxCustomBatchRequest.php b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/AccounttaxCustomBatchRequest.php new file mode 100644 index 00000000..74d5621f --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/AccounttaxCustomBatchRequest.php @@ -0,0 +1,32 @@ +entries = $entries; + } + public function getEntries() + { + return $this->entries; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/AccounttaxCustomBatchRequestEntry.php b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/AccounttaxCustomBatchRequestEntry.php new file mode 100644 index 00000000..4daddcf6 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/AccounttaxCustomBatchRequestEntry.php @@ -0,0 +1,67 @@ +accountId = $accountId; + } + public function getAccountId() + { + return $this->accountId; + } + public function setAccountTax(Google_Service_ShoppingContent_AccountTax $accountTax) + { + $this->accountTax = $accountTax; + } + public function getAccountTax() + { + return $this->accountTax; + } + public function setBatchId($batchId) + { + $this->batchId = $batchId; + } + public function getBatchId() + { + return $this->batchId; + } + public function setMerchantId($merchantId) + { + $this->merchantId = $merchantId; + } + public function getMerchantId() + { + return $this->merchantId; + } + public function setMethod($method) + { + $this->method = $method; + } + public function getMethod() + { + return $this->method; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/AccounttaxCustomBatchResponse.php b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/AccounttaxCustomBatchResponse.php new file mode 100644 index 00000000..af6cf096 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/AccounttaxCustomBatchResponse.php @@ -0,0 +1,41 @@ +entries = $entries; + } + public function getEntries() + { + return $this->entries; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/AccounttaxCustomBatchResponseEntry.php b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/AccounttaxCustomBatchResponseEntry.php new file mode 100644 index 00000000..47fde886 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/AccounttaxCustomBatchResponseEntry.php @@ -0,0 +1,59 @@ +accountTax = $accountTax; + } + public function getAccountTax() + { + return $this->accountTax; + } + public function setBatchId($batchId) + { + $this->batchId = $batchId; + } + public function getBatchId() + { + return $this->batchId; + } + public function setErrors(Google_Service_ShoppingContent_Errors $errors) + { + $this->errors = $errors; + } + public function getErrors() + { + return $this->errors; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/AccounttaxListResponse.php b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/AccounttaxListResponse.php new file mode 100644 index 00000000..e066451e --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/AccounttaxListResponse.php @@ -0,0 +1,50 @@ +kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setResources($resources) + { + $this->resources = $resources; + } + public function getResources() + { + return $this->resources; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/CarrierRate.php b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/CarrierRate.php new file mode 100644 index 00000000..fdcd0ba2 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/CarrierRate.php @@ -0,0 +1,76 @@ +carrierName = $carrierName; + } + public function getCarrierName() + { + return $this->carrierName; + } + public function setCarrierService($carrierService) + { + $this->carrierService = $carrierService; + } + public function getCarrierService() + { + return $this->carrierService; + } + public function setFlatAdjustment(Google_Service_ShoppingContent_Price $flatAdjustment) + { + $this->flatAdjustment = $flatAdjustment; + } + public function getFlatAdjustment() + { + return $this->flatAdjustment; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setOriginPostalCode($originPostalCode) + { + $this->originPostalCode = $originPostalCode; + } + public function getOriginPostalCode() + { + return $this->originPostalCode; + } + public function setPercentageAdjustment($percentageAdjustment) + { + $this->percentageAdjustment = $percentageAdjustment; + } + public function getPercentageAdjustment() + { + return $this->percentageAdjustment; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/CarriersCarrier.php b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/CarriersCarrier.php new file mode 100644 index 00000000..1bcec7f0 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/CarriersCarrier.php @@ -0,0 +1,49 @@ +country = $country; + } + public function getCountry() + { + return $this->country; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setServices($services) + { + $this->services = $services; + } + public function getServices() + { + return $this->services; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/Datafeed.php b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/Datafeed.php new file mode 100644 index 00000000..0666c0d1 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/Datafeed.php @@ -0,0 +1,123 @@ +attributeLanguage = $attributeLanguage; + } + public function getAttributeLanguage() + { + return $this->attributeLanguage; + } + public function setContentLanguage($contentLanguage) + { + $this->contentLanguage = $contentLanguage; + } + public function getContentLanguage() + { + return $this->contentLanguage; + } + public function setContentType($contentType) + { + $this->contentType = $contentType; + } + public function getContentType() + { + return $this->contentType; + } + public function setFetchSchedule(Google_Service_ShoppingContent_DatafeedFetchSchedule $fetchSchedule) + { + $this->fetchSchedule = $fetchSchedule; + } + public function getFetchSchedule() + { + return $this->fetchSchedule; + } + public function setFileName($fileName) + { + $this->fileName = $fileName; + } + public function getFileName() + { + return $this->fileName; + } + public function setFormat(Google_Service_ShoppingContent_DatafeedFormat $format) + { + $this->format = $format; + } + public function getFormat() + { + return $this->format; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setIntendedDestinations($intendedDestinations) + { + $this->intendedDestinations = $intendedDestinations; + } + public function getIntendedDestinations() + { + return $this->intendedDestinations; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setTargetCountry($targetCountry) + { + $this->targetCountry = $targetCountry; + } + public function getTargetCountry() + { + return $this->targetCountry; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/DatafeedFetchSchedule.php b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/DatafeedFetchSchedule.php new file mode 100644 index 00000000..289db369 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/DatafeedFetchSchedule.php @@ -0,0 +1,93 @@ +dayOfMonth = $dayOfMonth; + } + public function getDayOfMonth() + { + return $this->dayOfMonth; + } + public function setFetchUrl($fetchUrl) + { + $this->fetchUrl = $fetchUrl; + } + public function getFetchUrl() + { + return $this->fetchUrl; + } + public function setHour($hour) + { + $this->hour = $hour; + } + public function getHour() + { + return $this->hour; + } + public function setMinuteOfHour($minuteOfHour) + { + $this->minuteOfHour = $minuteOfHour; + } + public function getMinuteOfHour() + { + return $this->minuteOfHour; + } + public function setPassword($password) + { + $this->password = $password; + } + public function getPassword() + { + return $this->password; + } + public function setTimeZone($timeZone) + { + $this->timeZone = $timeZone; + } + public function getTimeZone() + { + return $this->timeZone; + } + public function setUsername($username) + { + $this->username = $username; + } + public function getUsername() + { + return $this->username; + } + public function setWeekday($weekday) + { + $this->weekday = $weekday; + } + public function getWeekday() + { + return $this->weekday; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/DatafeedFormat.php b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/DatafeedFormat.php new file mode 100644 index 00000000..e3f55163 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/DatafeedFormat.php @@ -0,0 +1,48 @@ +columnDelimiter = $columnDelimiter; + } + public function getColumnDelimiter() + { + return $this->columnDelimiter; + } + public function setFileEncoding($fileEncoding) + { + $this->fileEncoding = $fileEncoding; + } + public function getFileEncoding() + { + return $this->fileEncoding; + } + public function setQuotingMode($quotingMode) + { + $this->quotingMode = $quotingMode; + } + public function getQuotingMode() + { + return $this->quotingMode; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/DatafeedStatus.php b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/DatafeedStatus.php new file mode 100644 index 00000000..c563297e --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/DatafeedStatus.php @@ -0,0 +1,96 @@ +datafeedId = $datafeedId; + } + public function getDatafeedId() + { + return $this->datafeedId; + } + public function setErrors($errors) + { + $this->errors = $errors; + } + public function getErrors() + { + return $this->errors; + } + public function setItemsTotal($itemsTotal) + { + $this->itemsTotal = $itemsTotal; + } + public function getItemsTotal() + { + return $this->itemsTotal; + } + public function setItemsValid($itemsValid) + { + $this->itemsValid = $itemsValid; + } + public function getItemsValid() + { + return $this->itemsValid; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setLastUploadDate($lastUploadDate) + { + $this->lastUploadDate = $lastUploadDate; + } + public function getLastUploadDate() + { + return $this->lastUploadDate; + } + public function setProcessingStatus($processingStatus) + { + $this->processingStatus = $processingStatus; + } + public function getProcessingStatus() + { + return $this->processingStatus; + } + public function setWarnings($warnings) + { + $this->warnings = $warnings; + } + public function getWarnings() + { + return $this->warnings; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/DatafeedStatusError.php b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/DatafeedStatusError.php new file mode 100644 index 00000000..3f276d27 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/DatafeedStatusError.php @@ -0,0 +1,59 @@ +code = $code; + } + public function getCode() + { + return $this->code; + } + public function setCount($count) + { + $this->count = $count; + } + public function getCount() + { + return $this->count; + } + public function setExamples($examples) + { + $this->examples = $examples; + } + public function getExamples() + { + return $this->examples; + } + public function setMessage($message) + { + $this->message = $message; + } + public function getMessage() + { + return $this->message; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/DatafeedStatusExample.php b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/DatafeedStatusExample.php new file mode 100644 index 00000000..cfbeb268 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/DatafeedStatusExample.php @@ -0,0 +1,48 @@ +itemId = $itemId; + } + public function getItemId() + { + return $this->itemId; + } + public function setLineNumber($lineNumber) + { + $this->lineNumber = $lineNumber; + } + public function getLineNumber() + { + return $this->lineNumber; + } + public function setValue($value) + { + $this->value = $value; + } + public function getValue() + { + return $this->value; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/DatafeedsCustomBatchRequest.php b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/DatafeedsCustomBatchRequest.php new file mode 100644 index 00000000..d0432f0d --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/DatafeedsCustomBatchRequest.php @@ -0,0 +1,32 @@ +entries = $entries; + } + public function getEntries() + { + return $this->entries; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/DatafeedsCustomBatchRequestEntry.php b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/DatafeedsCustomBatchRequestEntry.php new file mode 100644 index 00000000..8d537c30 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/DatafeedsCustomBatchRequestEntry.php @@ -0,0 +1,67 @@ +batchId = $batchId; + } + public function getBatchId() + { + return $this->batchId; + } + public function setDatafeed(Google_Service_ShoppingContent_Datafeed $datafeed) + { + $this->datafeed = $datafeed; + } + public function getDatafeed() + { + return $this->datafeed; + } + public function setDatafeedId($datafeedId) + { + $this->datafeedId = $datafeedId; + } + public function getDatafeedId() + { + return $this->datafeedId; + } + public function setMerchantId($merchantId) + { + $this->merchantId = $merchantId; + } + public function getMerchantId() + { + return $this->merchantId; + } + public function setMethod($method) + { + $this->method = $method; + } + public function getMethod() + { + return $this->method; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/DatafeedsCustomBatchResponse.php b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/DatafeedsCustomBatchResponse.php new file mode 100644 index 00000000..85898c9a --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/DatafeedsCustomBatchResponse.php @@ -0,0 +1,41 @@ +entries = $entries; + } + public function getEntries() + { + return $this->entries; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/DatafeedsCustomBatchResponseEntry.php b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/DatafeedsCustomBatchResponseEntry.php new file mode 100644 index 00000000..42e0b206 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/DatafeedsCustomBatchResponseEntry.php @@ -0,0 +1,50 @@ +batchId = $batchId; + } + public function getBatchId() + { + return $this->batchId; + } + public function setDatafeed(Google_Service_ShoppingContent_Datafeed $datafeed) + { + $this->datafeed = $datafeed; + } + public function getDatafeed() + { + return $this->datafeed; + } + public function setErrors(Google_Service_ShoppingContent_Errors $errors) + { + $this->errors = $errors; + } + public function getErrors() + { + return $this->errors; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/DatafeedsListResponse.php b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/DatafeedsListResponse.php new file mode 100644 index 00000000..0092ece7 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/DatafeedsListResponse.php @@ -0,0 +1,50 @@ +kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setResources($resources) + { + $this->resources = $resources; + } + public function getResources() + { + return $this->resources; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/DatafeedstatusesCustomBatchRequest.php b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/DatafeedstatusesCustomBatchRequest.php new file mode 100644 index 00000000..808ad5a5 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/DatafeedstatusesCustomBatchRequest.php @@ -0,0 +1,32 @@ +entries = $entries; + } + public function getEntries() + { + return $this->entries; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/DatafeedstatusesCustomBatchRequestEntry.php b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/DatafeedstatusesCustomBatchRequestEntry.php new file mode 100644 index 00000000..58457c5d --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/DatafeedstatusesCustomBatchRequestEntry.php @@ -0,0 +1,57 @@ +batchId = $batchId; + } + public function getBatchId() + { + return $this->batchId; + } + public function setDatafeedId($datafeedId) + { + $this->datafeedId = $datafeedId; + } + public function getDatafeedId() + { + return $this->datafeedId; + } + public function setMerchantId($merchantId) + { + $this->merchantId = $merchantId; + } + public function getMerchantId() + { + return $this->merchantId; + } + public function setMethod($method) + { + $this->method = $method; + } + public function getMethod() + { + return $this->method; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/DatafeedstatusesCustomBatchResponse.php b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/DatafeedstatusesCustomBatchResponse.php new file mode 100644 index 00000000..b85a0bc3 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/DatafeedstatusesCustomBatchResponse.php @@ -0,0 +1,41 @@ +entries = $entries; + } + public function getEntries() + { + return $this->entries; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/DatafeedstatusesCustomBatchResponseEntry.php b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/DatafeedstatusesCustomBatchResponseEntry.php new file mode 100644 index 00000000..7244943a --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/DatafeedstatusesCustomBatchResponseEntry.php @@ -0,0 +1,50 @@ +batchId = $batchId; + } + public function getBatchId() + { + return $this->batchId; + } + public function setDatafeedStatus(Google_Service_ShoppingContent_DatafeedStatus $datafeedStatus) + { + $this->datafeedStatus = $datafeedStatus; + } + public function getDatafeedStatus() + { + return $this->datafeedStatus; + } + public function setErrors(Google_Service_ShoppingContent_Errors $errors) + { + $this->errors = $errors; + } + public function getErrors() + { + return $this->errors; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/DatafeedstatusesListResponse.php b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/DatafeedstatusesListResponse.php new file mode 100644 index 00000000..0f272931 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/DatafeedstatusesListResponse.php @@ -0,0 +1,50 @@ +kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setResources($resources) + { + $this->resources = $resources; + } + public function getResources() + { + return $this->resources; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/DeliveryTime.php b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/DeliveryTime.php new file mode 100644 index 00000000..fd69f4bb --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/DeliveryTime.php @@ -0,0 +1,39 @@ +maxTransitTimeInDays = $maxTransitTimeInDays; + } + public function getMaxTransitTimeInDays() + { + return $this->maxTransitTimeInDays; + } + public function setMinTransitTimeInDays($minTransitTimeInDays) + { + $this->minTransitTimeInDays = $minTransitTimeInDays; + } + public function getMinTransitTimeInDays() + { + return $this->minTransitTimeInDays; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/Error.php b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/Error.php new file mode 100644 index 00000000..0166ea57 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/Error.php @@ -0,0 +1,48 @@ +domain = $domain; + } + public function getDomain() + { + return $this->domain; + } + public function setMessage($message) + { + $this->message = $message; + } + public function getMessage() + { + return $this->message; + } + public function setReason($reason) + { + $this->reason = $reason; + } + public function getReason() + { + return $this->reason; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/Errors.php b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/Errors.php new file mode 100644 index 00000000..751c741e --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/Errors.php @@ -0,0 +1,50 @@ +code = $code; + } + public function getCode() + { + return $this->code; + } + public function setErrors($errors) + { + $this->errors = $errors; + } + public function getErrors() + { + return $this->errors; + } + public function setMessage($message) + { + $this->message = $message; + } + public function getMessage() + { + return $this->message; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/Headers.php b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/Headers.php new file mode 100644 index 00000000..8d41b365 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/Headers.php @@ -0,0 +1,70 @@ +locations = $locations; + } + public function getLocations() + { + return $this->locations; + } + public function setNumberOfItems($numberOfItems) + { + $this->numberOfItems = $numberOfItems; + } + public function getNumberOfItems() + { + return $this->numberOfItems; + } + public function setPostalCodeGroupNames($postalCodeGroupNames) + { + $this->postalCodeGroupNames = $postalCodeGroupNames; + } + public function getPostalCodeGroupNames() + { + return $this->postalCodeGroupNames; + } + public function setPrices($prices) + { + $this->prices = $prices; + } + public function getPrices() + { + return $this->prices; + } + public function setWeights($weights) + { + $this->weights = $weights; + } + public function getWeights() + { + return $this->weights; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/Installment.php b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/Installment.php new file mode 100644 index 00000000..8444cb75 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/Installment.php @@ -0,0 +1,40 @@ +amount = $amount; + } + public function getAmount() + { + return $this->amount; + } + public function setMonths($months) + { + $this->months = $months; + } + public function getMonths() + { + return $this->months; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/Inventory.php b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/Inventory.php new file mode 100644 index 00000000..026be0d9 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/Inventory.php @@ -0,0 +1,116 @@ +availability = $availability; + } + public function getAvailability() + { + return $this->availability; + } + public function setInstallment(Google_Service_ShoppingContent_Installment $installment) + { + $this->installment = $installment; + } + public function getInstallment() + { + return $this->installment; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setLoyaltyPoints(Google_Service_ShoppingContent_LoyaltyPoints $loyaltyPoints) + { + $this->loyaltyPoints = $loyaltyPoints; + } + public function getLoyaltyPoints() + { + return $this->loyaltyPoints; + } + public function setPickup(Google_Service_ShoppingContent_InventoryPickup $pickup) + { + $this->pickup = $pickup; + } + public function getPickup() + { + return $this->pickup; + } + public function setPrice(Google_Service_ShoppingContent_Price $price) + { + $this->price = $price; + } + public function getPrice() + { + return $this->price; + } + public function setQuantity($quantity) + { + $this->quantity = $quantity; + } + public function getQuantity() + { + return $this->quantity; + } + public function setSalePrice(Google_Service_ShoppingContent_Price $salePrice) + { + $this->salePrice = $salePrice; + } + public function getSalePrice() + { + return $this->salePrice; + } + public function setSalePriceEffectiveDate($salePriceEffectiveDate) + { + $this->salePriceEffectiveDate = $salePriceEffectiveDate; + } + public function getSalePriceEffectiveDate() + { + return $this->salePriceEffectiveDate; + } + public function setSellOnGoogleQuantity($sellOnGoogleQuantity) + { + $this->sellOnGoogleQuantity = $sellOnGoogleQuantity; + } + public function getSellOnGoogleQuantity() + { + return $this->sellOnGoogleQuantity; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/InventoryCustomBatchRequest.php b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/InventoryCustomBatchRequest.php new file mode 100644 index 00000000..301966b2 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/InventoryCustomBatchRequest.php @@ -0,0 +1,32 @@ +entries = $entries; + } + public function getEntries() + { + return $this->entries; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/InventoryCustomBatchRequestEntry.php b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/InventoryCustomBatchRequestEntry.php new file mode 100644 index 00000000..672359fb --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/InventoryCustomBatchRequestEntry.php @@ -0,0 +1,67 @@ +batchId = $batchId; + } + public function getBatchId() + { + return $this->batchId; + } + public function setInventory(Google_Service_ShoppingContent_Inventory $inventory) + { + $this->inventory = $inventory; + } + public function getInventory() + { + return $this->inventory; + } + public function setMerchantId($merchantId) + { + $this->merchantId = $merchantId; + } + public function getMerchantId() + { + return $this->merchantId; + } + public function setProductId($productId) + { + $this->productId = $productId; + } + public function getProductId() + { + return $this->productId; + } + public function setStoreCode($storeCode) + { + $this->storeCode = $storeCode; + } + public function getStoreCode() + { + return $this->storeCode; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/InventoryCustomBatchResponse.php b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/InventoryCustomBatchResponse.php new file mode 100644 index 00000000..be3550cb --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/InventoryCustomBatchResponse.php @@ -0,0 +1,41 @@ +entries = $entries; + } + public function getEntries() + { + return $this->entries; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/InventoryCustomBatchResponseEntry.php b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/InventoryCustomBatchResponseEntry.php new file mode 100644 index 00000000..4daae555 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/InventoryCustomBatchResponseEntry.php @@ -0,0 +1,49 @@ +batchId = $batchId; + } + public function getBatchId() + { + return $this->batchId; + } + public function setErrors(Google_Service_ShoppingContent_Errors $errors) + { + $this->errors = $errors; + } + public function getErrors() + { + return $this->errors; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/InventoryPickup.php b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/InventoryPickup.php new file mode 100644 index 00000000..18ef3b0c --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/InventoryPickup.php @@ -0,0 +1,39 @@ +pickupMethod = $pickupMethod; + } + public function getPickupMethod() + { + return $this->pickupMethod; + } + public function setPickupSla($pickupSla) + { + $this->pickupSla = $pickupSla; + } + public function getPickupSla() + { + return $this->pickupSla; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/InventorySetRequest.php b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/InventorySetRequest.php new file mode 100644 index 00000000..2f178e29 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/InventorySetRequest.php @@ -0,0 +1,107 @@ +availability = $availability; + } + public function getAvailability() + { + return $this->availability; + } + public function setInstallment(Google_Service_ShoppingContent_Installment $installment) + { + $this->installment = $installment; + } + public function getInstallment() + { + return $this->installment; + } + public function setLoyaltyPoints(Google_Service_ShoppingContent_LoyaltyPoints $loyaltyPoints) + { + $this->loyaltyPoints = $loyaltyPoints; + } + public function getLoyaltyPoints() + { + return $this->loyaltyPoints; + } + public function setPickup(Google_Service_ShoppingContent_InventoryPickup $pickup) + { + $this->pickup = $pickup; + } + public function getPickup() + { + return $this->pickup; + } + public function setPrice(Google_Service_ShoppingContent_Price $price) + { + $this->price = $price; + } + public function getPrice() + { + return $this->price; + } + public function setQuantity($quantity) + { + $this->quantity = $quantity; + } + public function getQuantity() + { + return $this->quantity; + } + public function setSalePrice(Google_Service_ShoppingContent_Price $salePrice) + { + $this->salePrice = $salePrice; + } + public function getSalePrice() + { + return $this->salePrice; + } + public function setSalePriceEffectiveDate($salePriceEffectiveDate) + { + $this->salePriceEffectiveDate = $salePriceEffectiveDate; + } + public function getSalePriceEffectiveDate() + { + return $this->salePriceEffectiveDate; + } + public function setSellOnGoogleQuantity($sellOnGoogleQuantity) + { + $this->sellOnGoogleQuantity = $sellOnGoogleQuantity; + } + public function getSellOnGoogleQuantity() + { + return $this->sellOnGoogleQuantity; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/InventorySetResponse.php b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/InventorySetResponse.php new file mode 100644 index 00000000..d96ea0d3 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/InventorySetResponse.php @@ -0,0 +1,30 @@ +kind = $kind; + } + public function getKind() + { + return $this->kind; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/LocationIdSet.php b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/LocationIdSet.php new file mode 100644 index 00000000..b4e5fd8c --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/LocationIdSet.php @@ -0,0 +1,31 @@ +locationIds = $locationIds; + } + public function getLocationIds() + { + return $this->locationIds; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/LoyaltyPoints.php b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/LoyaltyPoints.php new file mode 100644 index 00000000..4a7efdda --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/LoyaltyPoints.php @@ -0,0 +1,48 @@ +name = $name; + } + public function getName() + { + return $this->name; + } + public function setPointsValue($pointsValue) + { + $this->pointsValue = $pointsValue; + } + public function getPointsValue() + { + return $this->pointsValue; + } + public function setRatio($ratio) + { + $this->ratio = $ratio; + } + public function getRatio() + { + return $this->ratio; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/Order.php b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/Order.php new file mode 100644 index 00000000..d728d6c8 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/Order.php @@ -0,0 +1,212 @@ +acknowledged = $acknowledged; + } + public function getAcknowledged() + { + return $this->acknowledged; + } + public function setChannelType($channelType) + { + $this->channelType = $channelType; + } + public function getChannelType() + { + return $this->channelType; + } + public function setCustomer(Google_Service_ShoppingContent_OrderCustomer $customer) + { + $this->customer = $customer; + } + public function getCustomer() + { + return $this->customer; + } + public function setDeliveryDetails(Google_Service_ShoppingContent_OrderDeliveryDetails $deliveryDetails) + { + $this->deliveryDetails = $deliveryDetails; + } + public function getDeliveryDetails() + { + return $this->deliveryDetails; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setLineItems($lineItems) + { + $this->lineItems = $lineItems; + } + public function getLineItems() + { + return $this->lineItems; + } + public function setMerchantId($merchantId) + { + $this->merchantId = $merchantId; + } + public function getMerchantId() + { + return $this->merchantId; + } + public function setMerchantOrderId($merchantOrderId) + { + $this->merchantOrderId = $merchantOrderId; + } + public function getMerchantOrderId() + { + return $this->merchantOrderId; + } + public function setNetAmount(Google_Service_ShoppingContent_Price $netAmount) + { + $this->netAmount = $netAmount; + } + public function getNetAmount() + { + return $this->netAmount; + } + public function setPaymentMethod(Google_Service_ShoppingContent_OrderPaymentMethod $paymentMethod) + { + $this->paymentMethod = $paymentMethod; + } + public function getPaymentMethod() + { + return $this->paymentMethod; + } + public function setPaymentStatus($paymentStatus) + { + $this->paymentStatus = $paymentStatus; + } + public function getPaymentStatus() + { + return $this->paymentStatus; + } + public function setPlacedDate($placedDate) + { + $this->placedDate = $placedDate; + } + public function getPlacedDate() + { + return $this->placedDate; + } + public function setPromotions($promotions) + { + $this->promotions = $promotions; + } + public function getPromotions() + { + return $this->promotions; + } + public function setRefunds($refunds) + { + $this->refunds = $refunds; + } + public function getRefunds() + { + return $this->refunds; + } + public function setShipments($shipments) + { + $this->shipments = $shipments; + } + public function getShipments() + { + return $this->shipments; + } + public function setShippingCost(Google_Service_ShoppingContent_Price $shippingCost) + { + $this->shippingCost = $shippingCost; + } + public function getShippingCost() + { + return $this->shippingCost; + } + public function setShippingCostTax(Google_Service_ShoppingContent_Price $shippingCostTax) + { + $this->shippingCostTax = $shippingCostTax; + } + public function getShippingCostTax() + { + return $this->shippingCostTax; + } + public function setShippingOption($shippingOption) + { + $this->shippingOption = $shippingOption; + } + public function getShippingOption() + { + return $this->shippingOption; + } + public function setStatus($status) + { + $this->status = $status; + } + public function getStatus() + { + return $this->status; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/OrderAddress.php b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/OrderAddress.php new file mode 100644 index 00000000..f563025a --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/OrderAddress.php @@ -0,0 +1,94 @@ +country = $country; + } + public function getCountry() + { + return $this->country; + } + public function setFullAddress($fullAddress) + { + $this->fullAddress = $fullAddress; + } + public function getFullAddress() + { + return $this->fullAddress; + } + public function setIsPostOfficeBox($isPostOfficeBox) + { + $this->isPostOfficeBox = $isPostOfficeBox; + } + public function getIsPostOfficeBox() + { + return $this->isPostOfficeBox; + } + public function setLocality($locality) + { + $this->locality = $locality; + } + public function getLocality() + { + return $this->locality; + } + public function setPostalCode($postalCode) + { + $this->postalCode = $postalCode; + } + public function getPostalCode() + { + return $this->postalCode; + } + public function setRecipientName($recipientName) + { + $this->recipientName = $recipientName; + } + public function getRecipientName() + { + return $this->recipientName; + } + public function setRegion($region) + { + $this->region = $region; + } + public function getRegion() + { + return $this->region; + } + public function setStreetAddress($streetAddress) + { + $this->streetAddress = $streetAddress; + } + public function getStreetAddress() + { + return $this->streetAddress; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/OrderCancellation.php b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/OrderCancellation.php new file mode 100644 index 00000000..7811b102 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/OrderCancellation.php @@ -0,0 +1,66 @@ +actor = $actor; + } + public function getActor() + { + return $this->actor; + } + public function setCreationDate($creationDate) + { + $this->creationDate = $creationDate; + } + public function getCreationDate() + { + return $this->creationDate; + } + public function setQuantity($quantity) + { + $this->quantity = $quantity; + } + public function getQuantity() + { + return $this->quantity; + } + public function setReason($reason) + { + $this->reason = $reason; + } + public function getReason() + { + return $this->reason; + } + public function setReasonText($reasonText) + { + $this->reasonText = $reasonText; + } + public function getReasonText() + { + return $this->reasonText; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/OrderCustomer.php b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/OrderCustomer.php new file mode 100644 index 00000000..08bf0aa9 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/OrderCustomer.php @@ -0,0 +1,48 @@ +email = $email; + } + public function getEmail() + { + return $this->email; + } + public function setExplicitMarketingPreference($explicitMarketingPreference) + { + $this->explicitMarketingPreference = $explicitMarketingPreference; + } + public function getExplicitMarketingPreference() + { + return $this->explicitMarketingPreference; + } + public function setFullName($fullName) + { + $this->fullName = $fullName; + } + public function getFullName() + { + return $this->fullName; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/OrderDeliveryDetails.php b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/OrderDeliveryDetails.php new file mode 100644 index 00000000..0952f787 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/OrderDeliveryDetails.php @@ -0,0 +1,40 @@ +address = $address; + } + public function getAddress() + { + return $this->address; + } + public function setPhoneNumber($phoneNumber) + { + $this->phoneNumber = $phoneNumber; + } + public function getPhoneNumber() + { + return $this->phoneNumber; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/OrderLineItem.php b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/OrderLineItem.php new file mode 100644 index 00000000..1e71e8a7 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/OrderLineItem.php @@ -0,0 +1,155 @@ +cancellations = $cancellations; + } + public function getCancellations() + { + return $this->cancellations; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setPrice(Google_Service_ShoppingContent_Price $price) + { + $this->price = $price; + } + public function getPrice() + { + return $this->price; + } + public function setProduct(Google_Service_ShoppingContent_OrderLineItemProduct $product) + { + $this->product = $product; + } + public function getProduct() + { + return $this->product; + } + public function setQuantityCanceled($quantityCanceled) + { + $this->quantityCanceled = $quantityCanceled; + } + public function getQuantityCanceled() + { + return $this->quantityCanceled; + } + public function setQuantityDelivered($quantityDelivered) + { + $this->quantityDelivered = $quantityDelivered; + } + public function getQuantityDelivered() + { + return $this->quantityDelivered; + } + public function setQuantityOrdered($quantityOrdered) + { + $this->quantityOrdered = $quantityOrdered; + } + public function getQuantityOrdered() + { + return $this->quantityOrdered; + } + public function setQuantityPending($quantityPending) + { + $this->quantityPending = $quantityPending; + } + public function getQuantityPending() + { + return $this->quantityPending; + } + public function setQuantityReturned($quantityReturned) + { + $this->quantityReturned = $quantityReturned; + } + public function getQuantityReturned() + { + return $this->quantityReturned; + } + public function setQuantityShipped($quantityShipped) + { + $this->quantityShipped = $quantityShipped; + } + public function getQuantityShipped() + { + return $this->quantityShipped; + } + public function setReturnInfo(Google_Service_ShoppingContent_OrderLineItemReturnInfo $returnInfo) + { + $this->returnInfo = $returnInfo; + } + public function getReturnInfo() + { + return $this->returnInfo; + } + public function setReturns($returns) + { + $this->returns = $returns; + } + public function getReturns() + { + return $this->returns; + } + public function setShippingDetails(Google_Service_ShoppingContent_OrderLineItemShippingDetails $shippingDetails) + { + $this->shippingDetails = $shippingDetails; + } + public function getShippingDetails() + { + return $this->shippingDetails; + } + public function setTax(Google_Service_ShoppingContent_Price $tax) + { + $this->tax = $tax; + } + public function getTax() + { + return $this->tax; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/OrderLineItemProduct.php b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/OrderLineItemProduct.php new file mode 100644 index 00000000..bcea3e5d --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/OrderLineItemProduct.php @@ -0,0 +1,159 @@ +brand = $brand; + } + public function getBrand() + { + return $this->brand; + } + public function setChannel($channel) + { + $this->channel = $channel; + } + public function getChannel() + { + return $this->channel; + } + public function setCondition($condition) + { + $this->condition = $condition; + } + public function getCondition() + { + return $this->condition; + } + public function setContentLanguage($contentLanguage) + { + $this->contentLanguage = $contentLanguage; + } + public function getContentLanguage() + { + return $this->contentLanguage; + } + public function setGtin($gtin) + { + $this->gtin = $gtin; + } + public function getGtin() + { + return $this->gtin; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setImageLink($imageLink) + { + $this->imageLink = $imageLink; + } + public function getImageLink() + { + return $this->imageLink; + } + public function setItemGroupId($itemGroupId) + { + $this->itemGroupId = $itemGroupId; + } + public function getItemGroupId() + { + return $this->itemGroupId; + } + public function setMpn($mpn) + { + $this->mpn = $mpn; + } + public function getMpn() + { + return $this->mpn; + } + public function setOfferId($offerId) + { + $this->offerId = $offerId; + } + public function getOfferId() + { + return $this->offerId; + } + public function setPrice(Google_Service_ShoppingContent_Price $price) + { + $this->price = $price; + } + public function getPrice() + { + return $this->price; + } + public function setShownImage($shownImage) + { + $this->shownImage = $shownImage; + } + public function getShownImage() + { + return $this->shownImage; + } + public function setTargetCountry($targetCountry) + { + $this->targetCountry = $targetCountry; + } + public function getTargetCountry() + { + return $this->targetCountry; + } + public function setTitle($title) + { + $this->title = $title; + } + public function getTitle() + { + return $this->title; + } + public function setVariantAttributes($variantAttributes) + { + $this->variantAttributes = $variantAttributes; + } + public function getVariantAttributes() + { + return $this->variantAttributes; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/OrderLineItemProductVariantAttribute.php b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/OrderLineItemProductVariantAttribute.php new file mode 100644 index 00000000..683abc5a --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/OrderLineItemProductVariantAttribute.php @@ -0,0 +1,39 @@ +dimension = $dimension; + } + public function getDimension() + { + return $this->dimension; + } + public function setValue($value) + { + $this->value = $value; + } + public function getValue() + { + return $this->value; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/OrderLineItemReturnInfo.php b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/OrderLineItemReturnInfo.php new file mode 100644 index 00000000..9a6751be --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/OrderLineItemReturnInfo.php @@ -0,0 +1,48 @@ +daysToReturn = $daysToReturn; + } + public function getDaysToReturn() + { + return $this->daysToReturn; + } + public function setIsReturnable($isReturnable) + { + $this->isReturnable = $isReturnable; + } + public function getIsReturnable() + { + return $this->isReturnable; + } + public function setPolicyUrl($policyUrl) + { + $this->policyUrl = $policyUrl; + } + public function getPolicyUrl() + { + return $this->policyUrl; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/OrderLineItemShippingDetails.php b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/OrderLineItemShippingDetails.php new file mode 100644 index 00000000..06835aae --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/OrderLineItemShippingDetails.php @@ -0,0 +1,49 @@ +deliverByDate = $deliverByDate; + } + public function getDeliverByDate() + { + return $this->deliverByDate; + } + public function setMethod(Google_Service_ShoppingContent_OrderLineItemShippingDetailsMethod $method) + { + $this->method = $method; + } + public function getMethod() + { + return $this->method; + } + public function setShipByDate($shipByDate) + { + $this->shipByDate = $shipByDate; + } + public function getShipByDate() + { + return $this->shipByDate; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/OrderLineItemShippingDetailsMethod.php b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/OrderLineItemShippingDetailsMethod.php new file mode 100644 index 00000000..d118b871 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/OrderLineItemShippingDetailsMethod.php @@ -0,0 +1,57 @@ +carrier = $carrier; + } + public function getCarrier() + { + return $this->carrier; + } + public function setMaxDaysInTransit($maxDaysInTransit) + { + $this->maxDaysInTransit = $maxDaysInTransit; + } + public function getMaxDaysInTransit() + { + return $this->maxDaysInTransit; + } + public function setMethodName($methodName) + { + $this->methodName = $methodName; + } + public function getMethodName() + { + return $this->methodName; + } + public function setMinDaysInTransit($minDaysInTransit) + { + $this->minDaysInTransit = $minDaysInTransit; + } + public function getMinDaysInTransit() + { + return $this->minDaysInTransit; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/OrderPaymentMethod.php b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/OrderPaymentMethod.php new file mode 100644 index 00000000..cdcc1a33 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/OrderPaymentMethod.php @@ -0,0 +1,76 @@ +billingAddress = $billingAddress; + } + public function getBillingAddress() + { + return $this->billingAddress; + } + public function setExpirationMonth($expirationMonth) + { + $this->expirationMonth = $expirationMonth; + } + public function getExpirationMonth() + { + return $this->expirationMonth; + } + public function setExpirationYear($expirationYear) + { + $this->expirationYear = $expirationYear; + } + public function getExpirationYear() + { + return $this->expirationYear; + } + public function setLastFourDigits($lastFourDigits) + { + $this->lastFourDigits = $lastFourDigits; + } + public function getLastFourDigits() + { + return $this->lastFourDigits; + } + public function setPhoneNumber($phoneNumber) + { + $this->phoneNumber = $phoneNumber; + } + public function getPhoneNumber() + { + return $this->phoneNumber; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/OrderPromotion.php b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/OrderPromotion.php new file mode 100644 index 00000000..f694ac57 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/OrderPromotion.php @@ -0,0 +1,86 @@ +benefits = $benefits; + } + public function getBenefits() + { + return $this->benefits; + } + public function setEffectiveDates($effectiveDates) + { + $this->effectiveDates = $effectiveDates; + } + public function getEffectiveDates() + { + return $this->effectiveDates; + } + public function setGenericRedemptionCode($genericRedemptionCode) + { + $this->genericRedemptionCode = $genericRedemptionCode; + } + public function getGenericRedemptionCode() + { + return $this->genericRedemptionCode; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setLongTitle($longTitle) + { + $this->longTitle = $longTitle; + } + public function getLongTitle() + { + return $this->longTitle; + } + public function setProductApplicability($productApplicability) + { + $this->productApplicability = $productApplicability; + } + public function getProductApplicability() + { + return $this->productApplicability; + } + public function setRedemptionChannel($redemptionChannel) + { + $this->redemptionChannel = $redemptionChannel; + } + public function getRedemptionChannel() + { + return $this->redemptionChannel; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/OrderPromotionBenefit.php b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/OrderPromotionBenefit.php new file mode 100644 index 00000000..285932e5 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/OrderPromotionBenefit.php @@ -0,0 +1,69 @@ +discount = $discount; + } + public function getDiscount() + { + return $this->discount; + } + public function setOfferIds($offerIds) + { + $this->offerIds = $offerIds; + } + public function getOfferIds() + { + return $this->offerIds; + } + public function setSubType($subType) + { + $this->subType = $subType; + } + public function getSubType() + { + return $this->subType; + } + public function setTaxImpact(Google_Service_ShoppingContent_Price $taxImpact) + { + $this->taxImpact = $taxImpact; + } + public function getTaxImpact() + { + return $this->taxImpact; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/OrderRefund.php b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/OrderRefund.php new file mode 100644 index 00000000..b277b5d7 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/OrderRefund.php @@ -0,0 +1,67 @@ +actor = $actor; + } + public function getActor() + { + return $this->actor; + } + public function setAmount(Google_Service_ShoppingContent_Price $amount) + { + $this->amount = $amount; + } + public function getAmount() + { + return $this->amount; + } + public function setCreationDate($creationDate) + { + $this->creationDate = $creationDate; + } + public function getCreationDate() + { + return $this->creationDate; + } + public function setReason($reason) + { + $this->reason = $reason; + } + public function getReason() + { + return $this->reason; + } + public function setReasonText($reasonText) + { + $this->reasonText = $reasonText; + } + public function getReasonText() + { + return $this->reasonText; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/OrderReturn.php b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/OrderReturn.php new file mode 100644 index 00000000..7af5e517 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/OrderReturn.php @@ -0,0 +1,66 @@ +actor = $actor; + } + public function getActor() + { + return $this->actor; + } + public function setCreationDate($creationDate) + { + $this->creationDate = $creationDate; + } + public function getCreationDate() + { + return $this->creationDate; + } + public function setQuantity($quantity) + { + $this->quantity = $quantity; + } + public function getQuantity() + { + return $this->quantity; + } + public function setReason($reason) + { + $this->reason = $reason; + } + public function getReason() + { + return $this->reason; + } + public function setReasonText($reasonText) + { + $this->reasonText = $reasonText; + } + public function getReasonText() + { + return $this->reasonText; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/OrderShipment.php b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/OrderShipment.php new file mode 100644 index 00000000..0b2aab78 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/OrderShipment.php @@ -0,0 +1,86 @@ +carrier = $carrier; + } + public function getCarrier() + { + return $this->carrier; + } + public function setCreationDate($creationDate) + { + $this->creationDate = $creationDate; + } + public function getCreationDate() + { + return $this->creationDate; + } + public function setDeliveryDate($deliveryDate) + { + $this->deliveryDate = $deliveryDate; + } + public function getDeliveryDate() + { + return $this->deliveryDate; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setLineItems($lineItems) + { + $this->lineItems = $lineItems; + } + public function getLineItems() + { + return $this->lineItems; + } + public function setStatus($status) + { + $this->status = $status; + } + public function getStatus() + { + return $this->status; + } + public function setTrackingId($trackingId) + { + $this->trackingId = $trackingId; + } + public function getTrackingId() + { + return $this->trackingId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/OrderShipmentLineItemShipment.php b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/OrderShipmentLineItemShipment.php new file mode 100644 index 00000000..7173efc2 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/OrderShipmentLineItemShipment.php @@ -0,0 +1,39 @@ +lineItemId = $lineItemId; + } + public function getLineItemId() + { + return $this->lineItemId; + } + public function setQuantity($quantity) + { + $this->quantity = $quantity; + } + public function getQuantity() + { + return $this->quantity; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/OrdersAcknowledgeRequest.php b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/OrdersAcknowledgeRequest.php new file mode 100644 index 00000000..ccbae30c --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/OrdersAcknowledgeRequest.php @@ -0,0 +1,30 @@ +operationId = $operationId; + } + public function getOperationId() + { + return $this->operationId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/OrdersAcknowledgeResponse.php b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/OrdersAcknowledgeResponse.php new file mode 100644 index 00000000..2d586e78 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/OrdersAcknowledgeResponse.php @@ -0,0 +1,39 @@ +executionStatus = $executionStatus; + } + public function getExecutionStatus() + { + return $this->executionStatus; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/OrdersAdvanceTestOrderResponse.php b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/OrdersAdvanceTestOrderResponse.php new file mode 100644 index 00000000..b430fd5d --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/OrdersAdvanceTestOrderResponse.php @@ -0,0 +1,30 @@ +kind = $kind; + } + public function getKind() + { + return $this->kind; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/OrdersCancelLineItemRequest.php b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/OrdersCancelLineItemRequest.php new file mode 100644 index 00000000..489b773f --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/OrdersCancelLineItemRequest.php @@ -0,0 +1,76 @@ +amount = $amount; + } + public function getAmount() + { + return $this->amount; + } + public function setLineItemId($lineItemId) + { + $this->lineItemId = $lineItemId; + } + public function getLineItemId() + { + return $this->lineItemId; + } + public function setOperationId($operationId) + { + $this->operationId = $operationId; + } + public function getOperationId() + { + return $this->operationId; + } + public function setQuantity($quantity) + { + $this->quantity = $quantity; + } + public function getQuantity() + { + return $this->quantity; + } + public function setReason($reason) + { + $this->reason = $reason; + } + public function getReason() + { + return $this->reason; + } + public function setReasonText($reasonText) + { + $this->reasonText = $reasonText; + } + public function getReasonText() + { + return $this->reasonText; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/OrdersCancelLineItemResponse.php b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/OrdersCancelLineItemResponse.php new file mode 100644 index 00000000..30842da8 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/OrdersCancelLineItemResponse.php @@ -0,0 +1,39 @@ +executionStatus = $executionStatus; + } + public function getExecutionStatus() + { + return $this->executionStatus; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/OrdersCancelRequest.php b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/OrdersCancelRequest.php new file mode 100644 index 00000000..13dce6d5 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/OrdersCancelRequest.php @@ -0,0 +1,48 @@ +operationId = $operationId; + } + public function getOperationId() + { + return $this->operationId; + } + public function setReason($reason) + { + $this->reason = $reason; + } + public function getReason() + { + return $this->reason; + } + public function setReasonText($reasonText) + { + $this->reasonText = $reasonText; + } + public function getReasonText() + { + return $this->reasonText; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/OrdersCancelResponse.php b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/OrdersCancelResponse.php new file mode 100644 index 00000000..125b5247 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/OrdersCancelResponse.php @@ -0,0 +1,39 @@ +executionStatus = $executionStatus; + } + public function getExecutionStatus() + { + return $this->executionStatus; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/OrdersCreateTestOrderRequest.php b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/OrdersCreateTestOrderRequest.php new file mode 100644 index 00000000..318781df --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/OrdersCreateTestOrderRequest.php @@ -0,0 +1,40 @@ +templateName = $templateName; + } + public function getTemplateName() + { + return $this->templateName; + } + public function setTestOrder(Google_Service_ShoppingContent_TestOrder $testOrder) + { + $this->testOrder = $testOrder; + } + public function getTestOrder() + { + return $this->testOrder; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/OrdersCreateTestOrderResponse.php b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/OrdersCreateTestOrderResponse.php new file mode 100644 index 00000000..87d8ac84 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/OrdersCreateTestOrderResponse.php @@ -0,0 +1,39 @@ +kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setOrderId($orderId) + { + $this->orderId = $orderId; + } + public function getOrderId() + { + return $this->orderId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/OrdersCustomBatchRequest.php b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/OrdersCustomBatchRequest.php new file mode 100644 index 00000000..2af01536 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/OrdersCustomBatchRequest.php @@ -0,0 +1,32 @@ +entries = $entries; + } + public function getEntries() + { + return $this->entries; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/OrdersCustomBatchRequestEntry.php b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/OrdersCustomBatchRequestEntry.php new file mode 100644 index 00000000..6b6e91bb --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/OrdersCustomBatchRequestEntry.php @@ -0,0 +1,135 @@ +batchId = $batchId; + } + public function getBatchId() + { + return $this->batchId; + } + public function setCancel(Google_Service_ShoppingContent_OrdersCustomBatchRequestEntryCancel $cancel) + { + $this->cancel = $cancel; + } + public function getCancel() + { + return $this->cancel; + } + public function setCancelLineItem(Google_Service_ShoppingContent_OrdersCustomBatchRequestEntryCancelLineItem $cancelLineItem) + { + $this->cancelLineItem = $cancelLineItem; + } + public function getCancelLineItem() + { + return $this->cancelLineItem; + } + public function setMerchantId($merchantId) + { + $this->merchantId = $merchantId; + } + public function getMerchantId() + { + return $this->merchantId; + } + public function setMerchantOrderId($merchantOrderId) + { + $this->merchantOrderId = $merchantOrderId; + } + public function getMerchantOrderId() + { + return $this->merchantOrderId; + } + public function setMethod($method) + { + $this->method = $method; + } + public function getMethod() + { + return $this->method; + } + public function setOperationId($operationId) + { + $this->operationId = $operationId; + } + public function getOperationId() + { + return $this->operationId; + } + public function setOrderId($orderId) + { + $this->orderId = $orderId; + } + public function getOrderId() + { + return $this->orderId; + } + public function setRefund(Google_Service_ShoppingContent_OrdersCustomBatchRequestEntryRefund $refund) + { + $this->refund = $refund; + } + public function getRefund() + { + return $this->refund; + } + public function setReturnLineItem(Google_Service_ShoppingContent_OrdersCustomBatchRequestEntryReturnLineItem $returnLineItem) + { + $this->returnLineItem = $returnLineItem; + } + public function getReturnLineItem() + { + return $this->returnLineItem; + } + public function setShipLineItems(Google_Service_ShoppingContent_OrdersCustomBatchRequestEntryShipLineItems $shipLineItems) + { + $this->shipLineItems = $shipLineItems; + } + public function getShipLineItems() + { + return $this->shipLineItems; + } + public function setUpdateShipment(Google_Service_ShoppingContent_OrdersCustomBatchRequestEntryUpdateShipment $updateShipment) + { + $this->updateShipment = $updateShipment; + } + public function getUpdateShipment() + { + return $this->updateShipment; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/OrdersCustomBatchRequestEntryCancel.php b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/OrdersCustomBatchRequestEntryCancel.php new file mode 100644 index 00000000..742b2ab8 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/OrdersCustomBatchRequestEntryCancel.php @@ -0,0 +1,39 @@ +reason = $reason; + } + public function getReason() + { + return $this->reason; + } + public function setReasonText($reasonText) + { + $this->reasonText = $reasonText; + } + public function getReasonText() + { + return $this->reasonText; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/OrdersCustomBatchRequestEntryCancelLineItem.php b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/OrdersCustomBatchRequestEntryCancelLineItem.php new file mode 100644 index 00000000..09d00aca --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/OrdersCustomBatchRequestEntryCancelLineItem.php @@ -0,0 +1,67 @@ +amount = $amount; + } + public function getAmount() + { + return $this->amount; + } + public function setLineItemId($lineItemId) + { + $this->lineItemId = $lineItemId; + } + public function getLineItemId() + { + return $this->lineItemId; + } + public function setQuantity($quantity) + { + $this->quantity = $quantity; + } + public function getQuantity() + { + return $this->quantity; + } + public function setReason($reason) + { + $this->reason = $reason; + } + public function getReason() + { + return $this->reason; + } + public function setReasonText($reasonText) + { + $this->reasonText = $reasonText; + } + public function getReasonText() + { + return $this->reasonText; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/OrdersCustomBatchRequestEntryRefund.php b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/OrdersCustomBatchRequestEntryRefund.php new file mode 100644 index 00000000..5ba294a9 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/OrdersCustomBatchRequestEntryRefund.php @@ -0,0 +1,49 @@ +amount = $amount; + } + public function getAmount() + { + return $this->amount; + } + public function setReason($reason) + { + $this->reason = $reason; + } + public function getReason() + { + return $this->reason; + } + public function setReasonText($reasonText) + { + $this->reasonText = $reasonText; + } + public function getReasonText() + { + return $this->reasonText; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/OrdersCustomBatchRequestEntryReturnLineItem.php b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/OrdersCustomBatchRequestEntryReturnLineItem.php new file mode 100644 index 00000000..81051113 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/OrdersCustomBatchRequestEntryReturnLineItem.php @@ -0,0 +1,57 @@ +lineItemId = $lineItemId; + } + public function getLineItemId() + { + return $this->lineItemId; + } + public function setQuantity($quantity) + { + $this->quantity = $quantity; + } + public function getQuantity() + { + return $this->quantity; + } + public function setReason($reason) + { + $this->reason = $reason; + } + public function getReason() + { + return $this->reason; + } + public function setReasonText($reasonText) + { + $this->reasonText = $reasonText; + } + public function getReasonText() + { + return $this->reasonText; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/OrdersCustomBatchRequestEntryShipLineItems.php b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/OrdersCustomBatchRequestEntryShipLineItems.php new file mode 100644 index 00000000..70078c3d --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/OrdersCustomBatchRequestEntryShipLineItems.php @@ -0,0 +1,59 @@ +carrier = $carrier; + } + public function getCarrier() + { + return $this->carrier; + } + public function setLineItems($lineItems) + { + $this->lineItems = $lineItems; + } + public function getLineItems() + { + return $this->lineItems; + } + public function setShipmentId($shipmentId) + { + $this->shipmentId = $shipmentId; + } + public function getShipmentId() + { + return $this->shipmentId; + } + public function setTrackingId($trackingId) + { + $this->trackingId = $trackingId; + } + public function getTrackingId() + { + return $this->trackingId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/OrdersCustomBatchRequestEntryUpdateShipment.php b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/OrdersCustomBatchRequestEntryUpdateShipment.php new file mode 100644 index 00000000..5e60cda8 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/OrdersCustomBatchRequestEntryUpdateShipment.php @@ -0,0 +1,57 @@ +carrier = $carrier; + } + public function getCarrier() + { + return $this->carrier; + } + public function setShipmentId($shipmentId) + { + $this->shipmentId = $shipmentId; + } + public function getShipmentId() + { + return $this->shipmentId; + } + public function setStatus($status) + { + $this->status = $status; + } + public function getStatus() + { + return $this->status; + } + public function setTrackingId($trackingId) + { + $this->trackingId = $trackingId; + } + public function getTrackingId() + { + return $this->trackingId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/OrdersCustomBatchResponse.php b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/OrdersCustomBatchResponse.php new file mode 100644 index 00000000..14ce89c1 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/OrdersCustomBatchResponse.php @@ -0,0 +1,41 @@ +entries = $entries; + } + public function getEntries() + { + return $this->entries; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/OrdersCustomBatchResponseEntry.php b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/OrdersCustomBatchResponseEntry.php new file mode 100644 index 00000000..789f6fdd --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/OrdersCustomBatchResponseEntry.php @@ -0,0 +1,68 @@ +batchId = $batchId; + } + public function getBatchId() + { + return $this->batchId; + } + public function setErrors(Google_Service_ShoppingContent_Errors $errors) + { + $this->errors = $errors; + } + public function getErrors() + { + return $this->errors; + } + public function setExecutionStatus($executionStatus) + { + $this->executionStatus = $executionStatus; + } + public function getExecutionStatus() + { + return $this->executionStatus; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setOrder(Google_Service_ShoppingContent_Order $order) + { + $this->order = $order; + } + public function getOrder() + { + return $this->order; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/OrdersGetByMerchantOrderIdResponse.php b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/OrdersGetByMerchantOrderIdResponse.php new file mode 100644 index 00000000..b0259ccb --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/OrdersGetByMerchantOrderIdResponse.php @@ -0,0 +1,40 @@ +kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setOrder(Google_Service_ShoppingContent_Order $order) + { + $this->order = $order; + } + public function getOrder() + { + return $this->order; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/OrdersGetTestOrderTemplateResponse.php b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/OrdersGetTestOrderTemplateResponse.php new file mode 100644 index 00000000..a4f79521 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/OrdersGetTestOrderTemplateResponse.php @@ -0,0 +1,40 @@ +kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setTemplate(Google_Service_ShoppingContent_TestOrder $template) + { + $this->template = $template; + } + public function getTemplate() + { + return $this->template; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/OrdersListResponse.php b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/OrdersListResponse.php new file mode 100644 index 00000000..37d40dec --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/OrdersListResponse.php @@ -0,0 +1,50 @@ +kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setResources($resources) + { + $this->resources = $resources; + } + public function getResources() + { + return $this->resources; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/OrdersRefundRequest.php b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/OrdersRefundRequest.php new file mode 100644 index 00000000..cc240840 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/OrdersRefundRequest.php @@ -0,0 +1,58 @@ +amount = $amount; + } + public function getAmount() + { + return $this->amount; + } + public function setOperationId($operationId) + { + $this->operationId = $operationId; + } + public function getOperationId() + { + return $this->operationId; + } + public function setReason($reason) + { + $this->reason = $reason; + } + public function getReason() + { + return $this->reason; + } + public function setReasonText($reasonText) + { + $this->reasonText = $reasonText; + } + public function getReasonText() + { + return $this->reasonText; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/OrdersRefundResponse.php b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/OrdersRefundResponse.php new file mode 100644 index 00000000..8c961600 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/OrdersRefundResponse.php @@ -0,0 +1,39 @@ +executionStatus = $executionStatus; + } + public function getExecutionStatus() + { + return $this->executionStatus; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/OrdersReturnLineItemRequest.php b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/OrdersReturnLineItemRequest.php new file mode 100644 index 00000000..27ed6e67 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/OrdersReturnLineItemRequest.php @@ -0,0 +1,66 @@ +lineItemId = $lineItemId; + } + public function getLineItemId() + { + return $this->lineItemId; + } + public function setOperationId($operationId) + { + $this->operationId = $operationId; + } + public function getOperationId() + { + return $this->operationId; + } + public function setQuantity($quantity) + { + $this->quantity = $quantity; + } + public function getQuantity() + { + return $this->quantity; + } + public function setReason($reason) + { + $this->reason = $reason; + } + public function getReason() + { + return $this->reason; + } + public function setReasonText($reasonText) + { + $this->reasonText = $reasonText; + } + public function getReasonText() + { + return $this->reasonText; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/OrdersReturnLineItemResponse.php b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/OrdersReturnLineItemResponse.php new file mode 100644 index 00000000..4178a38f --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/OrdersReturnLineItemResponse.php @@ -0,0 +1,39 @@ +executionStatus = $executionStatus; + } + public function getExecutionStatus() + { + return $this->executionStatus; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/OrdersShipLineItemsRequest.php b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/OrdersShipLineItemsRequest.php new file mode 100644 index 00000000..287aa028 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/OrdersShipLineItemsRequest.php @@ -0,0 +1,68 @@ +carrier = $carrier; + } + public function getCarrier() + { + return $this->carrier; + } + public function setLineItems($lineItems) + { + $this->lineItems = $lineItems; + } + public function getLineItems() + { + return $this->lineItems; + } + public function setOperationId($operationId) + { + $this->operationId = $operationId; + } + public function getOperationId() + { + return $this->operationId; + } + public function setShipmentId($shipmentId) + { + $this->shipmentId = $shipmentId; + } + public function getShipmentId() + { + return $this->shipmentId; + } + public function setTrackingId($trackingId) + { + $this->trackingId = $trackingId; + } + public function getTrackingId() + { + return $this->trackingId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/OrdersShipLineItemsResponse.php b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/OrdersShipLineItemsResponse.php new file mode 100644 index 00000000..a5240168 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/OrdersShipLineItemsResponse.php @@ -0,0 +1,39 @@ +executionStatus = $executionStatus; + } + public function getExecutionStatus() + { + return $this->executionStatus; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/OrdersUpdateMerchantOrderIdRequest.php b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/OrdersUpdateMerchantOrderIdRequest.php new file mode 100644 index 00000000..b2d27871 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/OrdersUpdateMerchantOrderIdRequest.php @@ -0,0 +1,39 @@ +merchantOrderId = $merchantOrderId; + } + public function getMerchantOrderId() + { + return $this->merchantOrderId; + } + public function setOperationId($operationId) + { + $this->operationId = $operationId; + } + public function getOperationId() + { + return $this->operationId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/OrdersUpdateMerchantOrderIdResponse.php b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/OrdersUpdateMerchantOrderIdResponse.php new file mode 100644 index 00000000..56e0290b --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/OrdersUpdateMerchantOrderIdResponse.php @@ -0,0 +1,39 @@ +executionStatus = $executionStatus; + } + public function getExecutionStatus() + { + return $this->executionStatus; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/OrdersUpdateShipmentRequest.php b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/OrdersUpdateShipmentRequest.php new file mode 100644 index 00000000..07359f4a --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/OrdersUpdateShipmentRequest.php @@ -0,0 +1,66 @@ +carrier = $carrier; + } + public function getCarrier() + { + return $this->carrier; + } + public function setOperationId($operationId) + { + $this->operationId = $operationId; + } + public function getOperationId() + { + return $this->operationId; + } + public function setShipmentId($shipmentId) + { + $this->shipmentId = $shipmentId; + } + public function getShipmentId() + { + return $this->shipmentId; + } + public function setStatus($status) + { + $this->status = $status; + } + public function getStatus() + { + return $this->status; + } + public function setTrackingId($trackingId) + { + $this->trackingId = $trackingId; + } + public function getTrackingId() + { + return $this->trackingId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/OrdersUpdateShipmentResponse.php b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/OrdersUpdateShipmentResponse.php new file mode 100644 index 00000000..871098e1 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/OrdersUpdateShipmentResponse.php @@ -0,0 +1,39 @@ +executionStatus = $executionStatus; + } + public function getExecutionStatus() + { + return $this->executionStatus; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/PostalCodeGroup.php b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/PostalCodeGroup.php new file mode 100644 index 00000000..e5497fc8 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/PostalCodeGroup.php @@ -0,0 +1,50 @@ +country = $country; + } + public function getCountry() + { + return $this->country; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setPostalCodeRanges($postalCodeRanges) + { + $this->postalCodeRanges = $postalCodeRanges; + } + public function getPostalCodeRanges() + { + return $this->postalCodeRanges; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/PostalCodeRange.php b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/PostalCodeRange.php new file mode 100644 index 00000000..70692f31 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/PostalCodeRange.php @@ -0,0 +1,39 @@ +postalCodeRangeBegin = $postalCodeRangeBegin; + } + public function getPostalCodeRangeBegin() + { + return $this->postalCodeRangeBegin; + } + public function setPostalCodeRangeEnd($postalCodeRangeEnd) + { + $this->postalCodeRangeEnd = $postalCodeRangeEnd; + } + public function getPostalCodeRangeEnd() + { + return $this->postalCodeRangeEnd; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/Price.php b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/Price.php new file mode 100644 index 00000000..8132f85c --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/Price.php @@ -0,0 +1,39 @@ +currency = $currency; + } + public function getCurrency() + { + return $this->currency; + } + public function setValue($value) + { + $this->value = $value; + } + public function getValue() + { + return $this->value; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/Product.php b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/Product.php new file mode 100644 index 00000000..f2dd0c92 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/Product.php @@ -0,0 +1,687 @@ +additionalImageLinks = $additionalImageLinks; + } + public function getAdditionalImageLinks() + { + return $this->additionalImageLinks; + } + public function setAdditionalProductTypes($additionalProductTypes) + { + $this->additionalProductTypes = $additionalProductTypes; + } + public function getAdditionalProductTypes() + { + return $this->additionalProductTypes; + } + public function setAdult($adult) + { + $this->adult = $adult; + } + public function getAdult() + { + return $this->adult; + } + public function setAdwordsGrouping($adwordsGrouping) + { + $this->adwordsGrouping = $adwordsGrouping; + } + public function getAdwordsGrouping() + { + return $this->adwordsGrouping; + } + public function setAdwordsLabels($adwordsLabels) + { + $this->adwordsLabels = $adwordsLabels; + } + public function getAdwordsLabels() + { + return $this->adwordsLabels; + } + public function setAdwordsRedirect($adwordsRedirect) + { + $this->adwordsRedirect = $adwordsRedirect; + } + public function getAdwordsRedirect() + { + return $this->adwordsRedirect; + } + public function setAgeGroup($ageGroup) + { + $this->ageGroup = $ageGroup; + } + public function getAgeGroup() + { + return $this->ageGroup; + } + public function setAspects($aspects) + { + $this->aspects = $aspects; + } + public function getAspects() + { + return $this->aspects; + } + public function setAvailability($availability) + { + $this->availability = $availability; + } + public function getAvailability() + { + return $this->availability; + } + public function setAvailabilityDate($availabilityDate) + { + $this->availabilityDate = $availabilityDate; + } + public function getAvailabilityDate() + { + return $this->availabilityDate; + } + public function setBrand($brand) + { + $this->brand = $brand; + } + public function getBrand() + { + return $this->brand; + } + public function setChannel($channel) + { + $this->channel = $channel; + } + public function getChannel() + { + return $this->channel; + } + public function setColor($color) + { + $this->color = $color; + } + public function getColor() + { + return $this->color; + } + public function setCondition($condition) + { + $this->condition = $condition; + } + public function getCondition() + { + return $this->condition; + } + public function setContentLanguage($contentLanguage) + { + $this->contentLanguage = $contentLanguage; + } + public function getContentLanguage() + { + return $this->contentLanguage; + } + public function setCustomAttributes($customAttributes) + { + $this->customAttributes = $customAttributes; + } + public function getCustomAttributes() + { + return $this->customAttributes; + } + public function setCustomGroups($customGroups) + { + $this->customGroups = $customGroups; + } + public function getCustomGroups() + { + return $this->customGroups; + } + public function setCustomLabel0($customLabel0) + { + $this->customLabel0 = $customLabel0; + } + public function getCustomLabel0() + { + return $this->customLabel0; + } + public function setCustomLabel1($customLabel1) + { + $this->customLabel1 = $customLabel1; + } + public function getCustomLabel1() + { + return $this->customLabel1; + } + public function setCustomLabel2($customLabel2) + { + $this->customLabel2 = $customLabel2; + } + public function getCustomLabel2() + { + return $this->customLabel2; + } + public function setCustomLabel3($customLabel3) + { + $this->customLabel3 = $customLabel3; + } + public function getCustomLabel3() + { + return $this->customLabel3; + } + public function setCustomLabel4($customLabel4) + { + $this->customLabel4 = $customLabel4; + } + public function getCustomLabel4() + { + return $this->customLabel4; + } + public function setDescription($description) + { + $this->description = $description; + } + public function getDescription() + { + return $this->description; + } + public function setDestinations($destinations) + { + $this->destinations = $destinations; + } + public function getDestinations() + { + return $this->destinations; + } + public function setDisplayAdsId($displayAdsId) + { + $this->displayAdsId = $displayAdsId; + } + public function getDisplayAdsId() + { + return $this->displayAdsId; + } + public function setDisplayAdsLink($displayAdsLink) + { + $this->displayAdsLink = $displayAdsLink; + } + public function getDisplayAdsLink() + { + return $this->displayAdsLink; + } + public function setDisplayAdsSimilarIds($displayAdsSimilarIds) + { + $this->displayAdsSimilarIds = $displayAdsSimilarIds; + } + public function getDisplayAdsSimilarIds() + { + return $this->displayAdsSimilarIds; + } + public function setDisplayAdsTitle($displayAdsTitle) + { + $this->displayAdsTitle = $displayAdsTitle; + } + public function getDisplayAdsTitle() + { + return $this->displayAdsTitle; + } + public function setDisplayAdsValue($displayAdsValue) + { + $this->displayAdsValue = $displayAdsValue; + } + public function getDisplayAdsValue() + { + return $this->displayAdsValue; + } + public function setEnergyEfficiencyClass($energyEfficiencyClass) + { + $this->energyEfficiencyClass = $energyEfficiencyClass; + } + public function getEnergyEfficiencyClass() + { + return $this->energyEfficiencyClass; + } + public function setExpirationDate($expirationDate) + { + $this->expirationDate = $expirationDate; + } + public function getExpirationDate() + { + return $this->expirationDate; + } + public function setGender($gender) + { + $this->gender = $gender; + } + public function getGender() + { + return $this->gender; + } + public function setGoogleProductCategory($googleProductCategory) + { + $this->googleProductCategory = $googleProductCategory; + } + public function getGoogleProductCategory() + { + return $this->googleProductCategory; + } + public function setGtin($gtin) + { + $this->gtin = $gtin; + } + public function getGtin() + { + return $this->gtin; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setIdentifierExists($identifierExists) + { + $this->identifierExists = $identifierExists; + } + public function getIdentifierExists() + { + return $this->identifierExists; + } + public function setImageLink($imageLink) + { + $this->imageLink = $imageLink; + } + public function getImageLink() + { + return $this->imageLink; + } + public function setInstallment(Google_Service_ShoppingContent_Installment $installment) + { + $this->installment = $installment; + } + public function getInstallment() + { + return $this->installment; + } + public function setIsBundle($isBundle) + { + $this->isBundle = $isBundle; + } + public function getIsBundle() + { + return $this->isBundle; + } + public function setItemGroupId($itemGroupId) + { + $this->itemGroupId = $itemGroupId; + } + public function getItemGroupId() + { + return $this->itemGroupId; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setLink($link) + { + $this->link = $link; + } + public function getLink() + { + return $this->link; + } + public function setLoyaltyPoints(Google_Service_ShoppingContent_LoyaltyPoints $loyaltyPoints) + { + $this->loyaltyPoints = $loyaltyPoints; + } + public function getLoyaltyPoints() + { + return $this->loyaltyPoints; + } + public function setMaterial($material) + { + $this->material = $material; + } + public function getMaterial() + { + return $this->material; + } + public function setMobileLink($mobileLink) + { + $this->mobileLink = $mobileLink; + } + public function getMobileLink() + { + return $this->mobileLink; + } + public function setMpn($mpn) + { + $this->mpn = $mpn; + } + public function getMpn() + { + return $this->mpn; + } + public function setMultipack($multipack) + { + $this->multipack = $multipack; + } + public function getMultipack() + { + return $this->multipack; + } + public function setOfferId($offerId) + { + $this->offerId = $offerId; + } + public function getOfferId() + { + return $this->offerId; + } + public function setOnlineOnly($onlineOnly) + { + $this->onlineOnly = $onlineOnly; + } + public function getOnlineOnly() + { + return $this->onlineOnly; + } + public function setPattern($pattern) + { + $this->pattern = $pattern; + } + public function getPattern() + { + return $this->pattern; + } + public function setPrice(Google_Service_ShoppingContent_Price $price) + { + $this->price = $price; + } + public function getPrice() + { + return $this->price; + } + public function setProductType($productType) + { + $this->productType = $productType; + } + public function getProductType() + { + return $this->productType; + } + public function setPromotionIds($promotionIds) + { + $this->promotionIds = $promotionIds; + } + public function getPromotionIds() + { + return $this->promotionIds; + } + public function setSalePrice(Google_Service_ShoppingContent_Price $salePrice) + { + $this->salePrice = $salePrice; + } + public function getSalePrice() + { + return $this->salePrice; + } + public function setSalePriceEffectiveDate($salePriceEffectiveDate) + { + $this->salePriceEffectiveDate = $salePriceEffectiveDate; + } + public function getSalePriceEffectiveDate() + { + return $this->salePriceEffectiveDate; + } + public function setSellOnGoogleQuantity($sellOnGoogleQuantity) + { + $this->sellOnGoogleQuantity = $sellOnGoogleQuantity; + } + public function getSellOnGoogleQuantity() + { + return $this->sellOnGoogleQuantity; + } + public function setShipping($shipping) + { + $this->shipping = $shipping; + } + public function getShipping() + { + return $this->shipping; + } + public function setShippingHeight(Google_Service_ShoppingContent_ProductShippingDimension $shippingHeight) + { + $this->shippingHeight = $shippingHeight; + } + public function getShippingHeight() + { + return $this->shippingHeight; + } + public function setShippingLabel($shippingLabel) + { + $this->shippingLabel = $shippingLabel; + } + public function getShippingLabel() + { + return $this->shippingLabel; + } + public function setShippingLength(Google_Service_ShoppingContent_ProductShippingDimension $shippingLength) + { + $this->shippingLength = $shippingLength; + } + public function getShippingLength() + { + return $this->shippingLength; + } + public function setShippingWeight(Google_Service_ShoppingContent_ProductShippingWeight $shippingWeight) + { + $this->shippingWeight = $shippingWeight; + } + public function getShippingWeight() + { + return $this->shippingWeight; + } + public function setShippingWidth(Google_Service_ShoppingContent_ProductShippingDimension $shippingWidth) + { + $this->shippingWidth = $shippingWidth; + } + public function getShippingWidth() + { + return $this->shippingWidth; + } + public function setSizeSystem($sizeSystem) + { + $this->sizeSystem = $sizeSystem; + } + public function getSizeSystem() + { + return $this->sizeSystem; + } + public function setSizeType($sizeType) + { + $this->sizeType = $sizeType; + } + public function getSizeType() + { + return $this->sizeType; + } + public function setSizes($sizes) + { + $this->sizes = $sizes; + } + public function getSizes() + { + return $this->sizes; + } + public function setTargetCountry($targetCountry) + { + $this->targetCountry = $targetCountry; + } + public function getTargetCountry() + { + return $this->targetCountry; + } + public function setTaxes($taxes) + { + $this->taxes = $taxes; + } + public function getTaxes() + { + return $this->taxes; + } + public function setTitle($title) + { + $this->title = $title; + } + public function getTitle() + { + return $this->title; + } + public function setUnitPricingBaseMeasure(Google_Service_ShoppingContent_ProductUnitPricingBaseMeasure $unitPricingBaseMeasure) + { + $this->unitPricingBaseMeasure = $unitPricingBaseMeasure; + } + public function getUnitPricingBaseMeasure() + { + return $this->unitPricingBaseMeasure; + } + public function setUnitPricingMeasure(Google_Service_ShoppingContent_ProductUnitPricingMeasure $unitPricingMeasure) + { + $this->unitPricingMeasure = $unitPricingMeasure; + } + public function getUnitPricingMeasure() + { + return $this->unitPricingMeasure; + } + public function setValidatedDestinations($validatedDestinations) + { + $this->validatedDestinations = $validatedDestinations; + } + public function getValidatedDestinations() + { + return $this->validatedDestinations; + } + public function setWarnings($warnings) + { + $this->warnings = $warnings; + } + public function getWarnings() + { + return $this->warnings; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/ProductAspect.php b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/ProductAspect.php new file mode 100644 index 00000000..6f1f84ea --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/ProductAspect.php @@ -0,0 +1,48 @@ +aspectName = $aspectName; + } + public function getAspectName() + { + return $this->aspectName; + } + public function setDestinationName($destinationName) + { + $this->destinationName = $destinationName; + } + public function getDestinationName() + { + return $this->destinationName; + } + public function setIntention($intention) + { + $this->intention = $intention; + } + public function getIntention() + { + return $this->intention; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/ProductCustomAttribute.php b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/ProductCustomAttribute.php new file mode 100644 index 00000000..f7e46d66 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/ProductCustomAttribute.php @@ -0,0 +1,57 @@ +name = $name; + } + public function getName() + { + return $this->name; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } + public function setUnit($unit) + { + $this->unit = $unit; + } + public function getUnit() + { + return $this->unit; + } + public function setValue($value) + { + $this->value = $value; + } + public function getValue() + { + return $this->value; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/ProductCustomGroup.php b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/ProductCustomGroup.php new file mode 100644 index 00000000..f8e683c3 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/ProductCustomGroup.php @@ -0,0 +1,41 @@ +attributes = $attributes; + } + public function getAttributes() + { + return $this->attributes; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/ProductDestination.php b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/ProductDestination.php new file mode 100644 index 00000000..82394cac --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/ProductDestination.php @@ -0,0 +1,39 @@ +destinationName = $destinationName; + } + public function getDestinationName() + { + return $this->destinationName; + } + public function setIntention($intention) + { + $this->intention = $intention; + } + public function getIntention() + { + return $this->intention; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/ProductShipping.php b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/ProductShipping.php new file mode 100644 index 00000000..9dfe3259 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/ProductShipping.php @@ -0,0 +1,85 @@ +country = $country; + } + public function getCountry() + { + return $this->country; + } + public function setLocationGroupName($locationGroupName) + { + $this->locationGroupName = $locationGroupName; + } + public function getLocationGroupName() + { + return $this->locationGroupName; + } + public function setLocationId($locationId) + { + $this->locationId = $locationId; + } + public function getLocationId() + { + return $this->locationId; + } + public function setPostalCode($postalCode) + { + $this->postalCode = $postalCode; + } + public function getPostalCode() + { + return $this->postalCode; + } + public function setPrice(Google_Service_ShoppingContent_Price $price) + { + $this->price = $price; + } + public function getPrice() + { + return $this->price; + } + public function setRegion($region) + { + $this->region = $region; + } + public function getRegion() + { + return $this->region; + } + public function setService($service) + { + $this->service = $service; + } + public function getService() + { + return $this->service; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/ProductShippingDimension.php b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/ProductShippingDimension.php new file mode 100644 index 00000000..5800f56d --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/ProductShippingDimension.php @@ -0,0 +1,39 @@ +unit = $unit; + } + public function getUnit() + { + return $this->unit; + } + public function setValue($value) + { + $this->value = $value; + } + public function getValue() + { + return $this->value; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/ProductShippingWeight.php b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/ProductShippingWeight.php new file mode 100644 index 00000000..843311e8 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/ProductShippingWeight.php @@ -0,0 +1,39 @@ +unit = $unit; + } + public function getUnit() + { + return $this->unit; + } + public function setValue($value) + { + $this->value = $value; + } + public function getValue() + { + return $this->value; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/ProductStatus.php b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/ProductStatus.php new file mode 100644 index 00000000..fffe96bf --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/ProductStatus.php @@ -0,0 +1,105 @@ +creationDate = $creationDate; + } + public function getCreationDate() + { + return $this->creationDate; + } + public function setDataQualityIssues($dataQualityIssues) + { + $this->dataQualityIssues = $dataQualityIssues; + } + public function getDataQualityIssues() + { + return $this->dataQualityIssues; + } + public function setDestinationStatuses($destinationStatuses) + { + $this->destinationStatuses = $destinationStatuses; + } + public function getDestinationStatuses() + { + return $this->destinationStatuses; + } + public function setGoogleExpirationDate($googleExpirationDate) + { + $this->googleExpirationDate = $googleExpirationDate; + } + public function getGoogleExpirationDate() + { + return $this->googleExpirationDate; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setLastUpdateDate($lastUpdateDate) + { + $this->lastUpdateDate = $lastUpdateDate; + } + public function getLastUpdateDate() + { + return $this->lastUpdateDate; + } + public function setLink($link) + { + $this->link = $link; + } + public function getLink() + { + return $this->link; + } + public function setProductId($productId) + { + $this->productId = $productId; + } + public function getProductId() + { + return $this->productId; + } + public function setTitle($title) + { + $this->title = $title; + } + public function getTitle() + { + return $this->title; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/ProductStatusDataQualityIssue.php b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/ProductStatusDataQualityIssue.php new file mode 100644 index 00000000..9ed656ea --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/ProductStatusDataQualityIssue.php @@ -0,0 +1,93 @@ +detail = $detail; + } + public function getDetail() + { + return $this->detail; + } + public function setFetchStatus($fetchStatus) + { + $this->fetchStatus = $fetchStatus; + } + public function getFetchStatus() + { + return $this->fetchStatus; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setLocation($location) + { + $this->location = $location; + } + public function getLocation() + { + return $this->location; + } + public function setSeverity($severity) + { + $this->severity = $severity; + } + public function getSeverity() + { + return $this->severity; + } + public function setTimestamp($timestamp) + { + $this->timestamp = $timestamp; + } + public function getTimestamp() + { + return $this->timestamp; + } + public function setValueOnLandingPage($valueOnLandingPage) + { + $this->valueOnLandingPage = $valueOnLandingPage; + } + public function getValueOnLandingPage() + { + return $this->valueOnLandingPage; + } + public function setValueProvided($valueProvided) + { + $this->valueProvided = $valueProvided; + } + public function getValueProvided() + { + return $this->valueProvided; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/ProductStatusDestinationStatus.php b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/ProductStatusDestinationStatus.php new file mode 100644 index 00000000..bf226817 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/ProductStatusDestinationStatus.php @@ -0,0 +1,48 @@ +approvalStatus = $approvalStatus; + } + public function getApprovalStatus() + { + return $this->approvalStatus; + } + public function setDestination($destination) + { + $this->destination = $destination; + } + public function getDestination() + { + return $this->destination; + } + public function setIntention($intention) + { + $this->intention = $intention; + } + public function getIntention() + { + return $this->intention; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/ProductTax.php b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/ProductTax.php new file mode 100644 index 00000000..9fc29aa8 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/ProductTax.php @@ -0,0 +1,75 @@ +country = $country; + } + public function getCountry() + { + return $this->country; + } + public function setLocationId($locationId) + { + $this->locationId = $locationId; + } + public function getLocationId() + { + return $this->locationId; + } + public function setPostalCode($postalCode) + { + $this->postalCode = $postalCode; + } + public function getPostalCode() + { + return $this->postalCode; + } + public function setRate($rate) + { + $this->rate = $rate; + } + public function getRate() + { + return $this->rate; + } + public function setRegion($region) + { + $this->region = $region; + } + public function getRegion() + { + return $this->region; + } + public function setTaxShip($taxShip) + { + $this->taxShip = $taxShip; + } + public function getTaxShip() + { + return $this->taxShip; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/ProductUnitPricingBaseMeasure.php b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/ProductUnitPricingBaseMeasure.php new file mode 100644 index 00000000..dc01d044 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/ProductUnitPricingBaseMeasure.php @@ -0,0 +1,39 @@ +unit = $unit; + } + public function getUnit() + { + return $this->unit; + } + public function setValue($value) + { + $this->value = $value; + } + public function getValue() + { + return $this->value; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/ProductUnitPricingMeasure.php b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/ProductUnitPricingMeasure.php new file mode 100644 index 00000000..b0ec16cc --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/ProductUnitPricingMeasure.php @@ -0,0 +1,39 @@ +unit = $unit; + } + public function getUnit() + { + return $this->unit; + } + public function setValue($value) + { + $this->value = $value; + } + public function getValue() + { + return $this->value; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/ProductsCustomBatchRequest.php b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/ProductsCustomBatchRequest.php new file mode 100644 index 00000000..f165a303 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/ProductsCustomBatchRequest.php @@ -0,0 +1,32 @@ +entries = $entries; + } + public function getEntries() + { + return $this->entries; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/ProductsCustomBatchRequestEntry.php b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/ProductsCustomBatchRequestEntry.php new file mode 100644 index 00000000..958cefed --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/ProductsCustomBatchRequestEntry.php @@ -0,0 +1,67 @@ +batchId = $batchId; + } + public function getBatchId() + { + return $this->batchId; + } + public function setMerchantId($merchantId) + { + $this->merchantId = $merchantId; + } + public function getMerchantId() + { + return $this->merchantId; + } + public function setMethod($method) + { + $this->method = $method; + } + public function getMethod() + { + return $this->method; + } + public function setProduct(Google_Service_ShoppingContent_Product $product) + { + $this->product = $product; + } + public function getProduct() + { + return $this->product; + } + public function setProductId($productId) + { + $this->productId = $productId; + } + public function getProductId() + { + return $this->productId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/ProductsCustomBatchResponse.php b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/ProductsCustomBatchResponse.php new file mode 100644 index 00000000..163b8781 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/ProductsCustomBatchResponse.php @@ -0,0 +1,41 @@ +entries = $entries; + } + public function getEntries() + { + return $this->entries; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/ProductsCustomBatchResponseEntry.php b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/ProductsCustomBatchResponseEntry.php new file mode 100644 index 00000000..728e45fd --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/ProductsCustomBatchResponseEntry.php @@ -0,0 +1,59 @@ +batchId = $batchId; + } + public function getBatchId() + { + return $this->batchId; + } + public function setErrors(Google_Service_ShoppingContent_Errors $errors) + { + $this->errors = $errors; + } + public function getErrors() + { + return $this->errors; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setProduct(Google_Service_ShoppingContent_Product $product) + { + $this->product = $product; + } + public function getProduct() + { + return $this->product; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/ProductsListResponse.php b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/ProductsListResponse.php new file mode 100644 index 00000000..e8d91dbf --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/ProductsListResponse.php @@ -0,0 +1,50 @@ +kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setResources($resources) + { + $this->resources = $resources; + } + public function getResources() + { + return $this->resources; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/ProductstatusesCustomBatchRequest.php b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/ProductstatusesCustomBatchRequest.php new file mode 100644 index 00000000..8be0fb9c --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/ProductstatusesCustomBatchRequest.php @@ -0,0 +1,32 @@ +entries = $entries; + } + public function getEntries() + { + return $this->entries; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/ProductstatusesCustomBatchRequestEntry.php b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/ProductstatusesCustomBatchRequestEntry.php new file mode 100644 index 00000000..5ae900a0 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/ProductstatusesCustomBatchRequestEntry.php @@ -0,0 +1,57 @@ +batchId = $batchId; + } + public function getBatchId() + { + return $this->batchId; + } + public function setMerchantId($merchantId) + { + $this->merchantId = $merchantId; + } + public function getMerchantId() + { + return $this->merchantId; + } + public function setMethod($method) + { + $this->method = $method; + } + public function getMethod() + { + return $this->method; + } + public function setProductId($productId) + { + $this->productId = $productId; + } + public function getProductId() + { + return $this->productId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/ProductstatusesCustomBatchResponse.php b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/ProductstatusesCustomBatchResponse.php new file mode 100644 index 00000000..869f3f80 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/ProductstatusesCustomBatchResponse.php @@ -0,0 +1,41 @@ +entries = $entries; + } + public function getEntries() + { + return $this->entries; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/ProductstatusesCustomBatchResponseEntry.php b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/ProductstatusesCustomBatchResponseEntry.php new file mode 100644 index 00000000..0e0f46fc --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/ProductstatusesCustomBatchResponseEntry.php @@ -0,0 +1,59 @@ +batchId = $batchId; + } + public function getBatchId() + { + return $this->batchId; + } + public function setErrors(Google_Service_ShoppingContent_Errors $errors) + { + $this->errors = $errors; + } + public function getErrors() + { + return $this->errors; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setProductStatus(Google_Service_ShoppingContent_ProductStatus $productStatus) + { + $this->productStatus = $productStatus; + } + public function getProductStatus() + { + return $this->productStatus; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/ProductstatusesListResponse.php b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/ProductstatusesListResponse.php new file mode 100644 index 00000000..0461a4bf --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/ProductstatusesListResponse.php @@ -0,0 +1,50 @@ +kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setResources($resources) + { + $this->resources = $resources; + } + public function getResources() + { + return $this->resources; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/RateGroup.php b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/RateGroup.php new file mode 100644 index 00000000..ff8e04c6 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/RateGroup.php @@ -0,0 +1,71 @@ +applicableShippingLabels = $applicableShippingLabels; + } + public function getApplicableShippingLabels() + { + return $this->applicableShippingLabels; + } + public function setCarrierRates($carrierRates) + { + $this->carrierRates = $carrierRates; + } + public function getCarrierRates() + { + return $this->carrierRates; + } + public function setMainTable(Google_Service_ShoppingContent_Table $mainTable) + { + $this->mainTable = $mainTable; + } + public function getMainTable() + { + return $this->mainTable; + } + public function setSingleValue(Google_Service_ShoppingContent_Value $singleValue) + { + $this->singleValue = $singleValue; + } + public function getSingleValue() + { + return $this->singleValue; + } + public function setSubtables($subtables) + { + $this->subtables = $subtables; + } + public function getSubtables() + { + return $this->subtables; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/Resource/Accounts.php b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/Resource/Accounts.php new file mode 100644 index 00000000..65ef757b --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/Resource/Accounts.php @@ -0,0 +1,164 @@ + + * $contentService = new Google_Service_ShoppingContent(...); + * $accounts = $contentService->accounts; + * + */ +class Google_Service_ShoppingContent_Resource_Accounts extends Google_Service_Resource +{ + /** + * Returns information about the authenticated user. (accounts.authinfo) + * + * @param array $optParams Optional parameters. + * @return Google_Service_ShoppingContent_AccountsAuthInfoResponse + */ + public function authinfo($optParams = array()) + { + $params = array(); + $params = array_merge($params, $optParams); + return $this->call('authinfo', array($params), "Google_Service_ShoppingContent_AccountsAuthInfoResponse"); + } + /** + * Retrieves, inserts, updates, and deletes multiple Merchant Center + * (sub-)accounts in a single request. (accounts.custombatch) + * + * @param Google_Service_ShoppingContent_AccountsCustomBatchRequest $postBody + * @param array $optParams Optional parameters. + * + * @opt_param bool dryRun Flag to run the request in dry-run mode. + * @return Google_Service_ShoppingContent_AccountsCustomBatchResponse + */ + public function custombatch(Google_Service_ShoppingContent_AccountsCustomBatchRequest $postBody, $optParams = array()) + { + $params = array('postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('custombatch', array($params), "Google_Service_ShoppingContent_AccountsCustomBatchResponse"); + } + /** + * Deletes a Merchant Center sub-account. This method can only be called for + * multi-client accounts. (accounts.delete) + * + * @param string $merchantId The ID of the managing account. + * @param string $accountId The ID of the account. + * @param array $optParams Optional parameters. + * + * @opt_param bool dryRun Flag to run the request in dry-run mode. + */ + public function delete($merchantId, $accountId, $optParams = array()) + { + $params = array('merchantId' => $merchantId, 'accountId' => $accountId); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params)); + } + /** + * Retrieves a Merchant Center account. This method can only be called for + * accounts to which the managing account has access: either the managing + * account itself or sub-accounts if the managing account is a multi-client + * account. (accounts.get) + * + * @param string $merchantId The ID of the managing account. + * @param string $accountId The ID of the account. + * @param array $optParams Optional parameters. + * @return Google_Service_ShoppingContent_Account + */ + public function get($merchantId, $accountId, $optParams = array()) + { + $params = array('merchantId' => $merchantId, 'accountId' => $accountId); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_ShoppingContent_Account"); + } + /** + * Creates a Merchant Center sub-account. This method can only be called for + * multi-client accounts. (accounts.insert) + * + * @param string $merchantId The ID of the managing account. + * @param Google_Service_ShoppingContent_Account $postBody + * @param array $optParams Optional parameters. + * + * @opt_param bool dryRun Flag to run the request in dry-run mode. + * @return Google_Service_ShoppingContent_Account + */ + public function insert($merchantId, Google_Service_ShoppingContent_Account $postBody, $optParams = array()) + { + $params = array('merchantId' => $merchantId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('insert', array($params), "Google_Service_ShoppingContent_Account"); + } + /** + * Lists the sub-accounts in your Merchant Center account. This method can only + * be called for multi-client accounts. (accounts.listAccounts) + * + * @param string $merchantId The ID of the managing account. + * @param array $optParams Optional parameters. + * + * @opt_param string maxResults The maximum number of accounts to return in the + * response, used for paging. + * @opt_param string pageToken The token returned by the previous request. + * @return Google_Service_ShoppingContent_AccountsListResponse + */ + public function listAccounts($merchantId, $optParams = array()) + { + $params = array('merchantId' => $merchantId); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_ShoppingContent_AccountsListResponse"); + } + /** + * Updates a Merchant Center account. This method can only be called for + * accounts to which the managing account has access: either the managing + * account itself or sub-accounts if the managing account is a multi-client + * account. This method supports patch semantics. (accounts.patch) + * + * @param string $merchantId The ID of the managing account. + * @param string $accountId The ID of the account. + * @param Google_Service_ShoppingContent_Account $postBody + * @param array $optParams Optional parameters. + * + * @opt_param bool dryRun Flag to run the request in dry-run mode. + * @return Google_Service_ShoppingContent_Account + */ + public function patch($merchantId, $accountId, Google_Service_ShoppingContent_Account $postBody, $optParams = array()) + { + $params = array('merchantId' => $merchantId, 'accountId' => $accountId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('patch', array($params), "Google_Service_ShoppingContent_Account"); + } + /** + * Updates a Merchant Center account. This method can only be called for + * accounts to which the managing account has access: either the managing + * account itself or sub-accounts if the managing account is a multi-client + * account. (accounts.update) + * + * @param string $merchantId The ID of the managing account. + * @param string $accountId The ID of the account. + * @param Google_Service_ShoppingContent_Account $postBody + * @param array $optParams Optional parameters. + * + * @opt_param bool dryRun Flag to run the request in dry-run mode. + * @return Google_Service_ShoppingContent_Account + */ + public function update($merchantId, $accountId, Google_Service_ShoppingContent_Account $postBody, $optParams = array()) + { + $params = array('merchantId' => $merchantId, 'accountId' => $accountId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('update', array($params), "Google_Service_ShoppingContent_Account"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/Resource/Accountshipping.php b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/Resource/Accountshipping.php new file mode 100644 index 00000000..a28f530a --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/Resource/Accountshipping.php @@ -0,0 +1,123 @@ + + * $contentService = new Google_Service_ShoppingContent(...); + * $accountshipping = $contentService->accountshipping; + * + */ +class Google_Service_ShoppingContent_Resource_Accountshipping extends Google_Service_Resource +{ + /** + * Retrieves and updates the shipping settings of multiple accounts in a single + * request. (accountshipping.custombatch) + * + * @param Google_Service_ShoppingContent_AccountshippingCustomBatchRequest $postBody + * @param array $optParams Optional parameters. + * + * @opt_param bool dryRun Flag to run the request in dry-run mode. + * @return Google_Service_ShoppingContent_AccountshippingCustomBatchResponse + */ + public function custombatch(Google_Service_ShoppingContent_AccountshippingCustomBatchRequest $postBody, $optParams = array()) + { + $params = array('postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('custombatch', array($params), "Google_Service_ShoppingContent_AccountshippingCustomBatchResponse"); + } + /** + * Retrieves the shipping settings of the account. This method can only be + * called for accounts to which the managing account has access: either the + * managing account itself or sub-accounts if the managing account is a multi- + * client account. (accountshipping.get) + * + * @param string $merchantId The ID of the managing account. + * @param string $accountId The ID of the account for which to get/update + * account shipping settings. + * @param array $optParams Optional parameters. + * @return Google_Service_ShoppingContent_AccountShipping + */ + public function get($merchantId, $accountId, $optParams = array()) + { + $params = array('merchantId' => $merchantId, 'accountId' => $accountId); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_ShoppingContent_AccountShipping"); + } + /** + * Lists the shipping settings of the sub-accounts in your Merchant Center + * account. This method can only be called for multi-client accounts. + * (accountshipping.listAccountshipping) + * + * @param string $merchantId The ID of the managing account. + * @param array $optParams Optional parameters. + * + * @opt_param string maxResults The maximum number of shipping settings to + * return in the response, used for paging. + * @opt_param string pageToken The token returned by the previous request. + * @return Google_Service_ShoppingContent_AccountshippingListResponse + */ + public function listAccountshipping($merchantId, $optParams = array()) + { + $params = array('merchantId' => $merchantId); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_ShoppingContent_AccountshippingListResponse"); + } + /** + * Updates the shipping settings of the account. This method can only be called + * for accounts to which the managing account has access: either the managing + * account itself or sub-accounts if the managing account is a multi-client + * account. This method supports patch semantics. (accountshipping.patch) + * + * @param string $merchantId The ID of the managing account. + * @param string $accountId The ID of the account for which to get/update + * account shipping settings. + * @param Google_Service_ShoppingContent_AccountShipping $postBody + * @param array $optParams Optional parameters. + * + * @opt_param bool dryRun Flag to run the request in dry-run mode. + * @return Google_Service_ShoppingContent_AccountShipping + */ + public function patch($merchantId, $accountId, Google_Service_ShoppingContent_AccountShipping $postBody, $optParams = array()) + { + $params = array('merchantId' => $merchantId, 'accountId' => $accountId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('patch', array($params), "Google_Service_ShoppingContent_AccountShipping"); + } + /** + * Updates the shipping settings of the account. This method can only be called + * for accounts to which the managing account has access: either the managing + * account itself or sub-accounts if the managing account is a multi-client + * account. (accountshipping.update) + * + * @param string $merchantId The ID of the managing account. + * @param string $accountId The ID of the account for which to get/update + * account shipping settings. + * @param Google_Service_ShoppingContent_AccountShipping $postBody + * @param array $optParams Optional parameters. + * + * @opt_param bool dryRun Flag to run the request in dry-run mode. + * @return Google_Service_ShoppingContent_AccountShipping + */ + public function update($merchantId, $accountId, Google_Service_ShoppingContent_AccountShipping $postBody, $optParams = array()) + { + $params = array('merchantId' => $merchantId, 'accountId' => $accountId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('update', array($params), "Google_Service_ShoppingContent_AccountShipping"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/Resource/Accountstatuses.php b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/Resource/Accountstatuses.php new file mode 100644 index 00000000..2abf0d9a --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/Resource/Accountstatuses.php @@ -0,0 +1,77 @@ + + * $contentService = new Google_Service_ShoppingContent(...); + * $accountstatuses = $contentService->accountstatuses; + * + */ +class Google_Service_ShoppingContent_Resource_Accountstatuses extends Google_Service_Resource +{ + /** + * (accountstatuses.custombatch) + * + * @param Google_Service_ShoppingContent_AccountstatusesCustomBatchRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_ShoppingContent_AccountstatusesCustomBatchResponse + */ + public function custombatch(Google_Service_ShoppingContent_AccountstatusesCustomBatchRequest $postBody, $optParams = array()) + { + $params = array('postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('custombatch', array($params), "Google_Service_ShoppingContent_AccountstatusesCustomBatchResponse"); + } + /** + * Retrieves the status of a Merchant Center account. This method can only be + * called for accounts to which the managing account has access: either the + * managing account itself or sub-accounts if the managing account is a multi- + * client account. (accountstatuses.get) + * + * @param string $merchantId The ID of the managing account. + * @param string $accountId The ID of the account. + * @param array $optParams Optional parameters. + * @return Google_Service_ShoppingContent_AccountStatus + */ + public function get($merchantId, $accountId, $optParams = array()) + { + $params = array('merchantId' => $merchantId, 'accountId' => $accountId); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_ShoppingContent_AccountStatus"); + } + /** + * Lists the statuses of the sub-accounts in your Merchant Center account. This + * method can only be called for multi-client accounts. + * (accountstatuses.listAccountstatuses) + * + * @param string $merchantId The ID of the managing account. + * @param array $optParams Optional parameters. + * + * @opt_param string maxResults The maximum number of account statuses to return + * in the response, used for paging. + * @opt_param string pageToken The token returned by the previous request. + * @return Google_Service_ShoppingContent_AccountstatusesListResponse + */ + public function listAccountstatuses($merchantId, $optParams = array()) + { + $params = array('merchantId' => $merchantId); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_ShoppingContent_AccountstatusesListResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/Resource/Accounttax.php b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/Resource/Accounttax.php new file mode 100644 index 00000000..79ee23e1 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/Resource/Accounttax.php @@ -0,0 +1,123 @@ + + * $contentService = new Google_Service_ShoppingContent(...); + * $accounttax = $contentService->accounttax; + * + */ +class Google_Service_ShoppingContent_Resource_Accounttax extends Google_Service_Resource +{ + /** + * Retrieves and updates tax settings of multiple accounts in a single request. + * (accounttax.custombatch) + * + * @param Google_Service_ShoppingContent_AccounttaxCustomBatchRequest $postBody + * @param array $optParams Optional parameters. + * + * @opt_param bool dryRun Flag to run the request in dry-run mode. + * @return Google_Service_ShoppingContent_AccounttaxCustomBatchResponse + */ + public function custombatch(Google_Service_ShoppingContent_AccounttaxCustomBatchRequest $postBody, $optParams = array()) + { + $params = array('postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('custombatch', array($params), "Google_Service_ShoppingContent_AccounttaxCustomBatchResponse"); + } + /** + * Retrieves the tax settings of the account. This method can only be called for + * accounts to which the managing account has access: either the managing + * account itself or sub-accounts if the managing account is a multi-client + * account. (accounttax.get) + * + * @param string $merchantId The ID of the managing account. + * @param string $accountId The ID of the account for which to get/update + * account tax settings. + * @param array $optParams Optional parameters. + * @return Google_Service_ShoppingContent_AccountTax + */ + public function get($merchantId, $accountId, $optParams = array()) + { + $params = array('merchantId' => $merchantId, 'accountId' => $accountId); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_ShoppingContent_AccountTax"); + } + /** + * Lists the tax settings of the sub-accounts in your Merchant Center account. + * This method can only be called for multi-client accounts. + * (accounttax.listAccounttax) + * + * @param string $merchantId The ID of the managing account. + * @param array $optParams Optional parameters. + * + * @opt_param string maxResults The maximum number of tax settings to return in + * the response, used for paging. + * @opt_param string pageToken The token returned by the previous request. + * @return Google_Service_ShoppingContent_AccounttaxListResponse + */ + public function listAccounttax($merchantId, $optParams = array()) + { + $params = array('merchantId' => $merchantId); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_ShoppingContent_AccounttaxListResponse"); + } + /** + * Updates the tax settings of the account. This method can only be called for + * accounts to which the managing account has access: either the managing + * account itself or sub-accounts if the managing account is a multi-client + * account. This method supports patch semantics. (accounttax.patch) + * + * @param string $merchantId The ID of the managing account. + * @param string $accountId The ID of the account for which to get/update + * account tax settings. + * @param Google_Service_ShoppingContent_AccountTax $postBody + * @param array $optParams Optional parameters. + * + * @opt_param bool dryRun Flag to run the request in dry-run mode. + * @return Google_Service_ShoppingContent_AccountTax + */ + public function patch($merchantId, $accountId, Google_Service_ShoppingContent_AccountTax $postBody, $optParams = array()) + { + $params = array('merchantId' => $merchantId, 'accountId' => $accountId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('patch', array($params), "Google_Service_ShoppingContent_AccountTax"); + } + /** + * Updates the tax settings of the account. This method can only be called for + * accounts to which the managing account has access: either the managing + * account itself or sub-accounts if the managing account is a multi-client + * account. (accounttax.update) + * + * @param string $merchantId The ID of the managing account. + * @param string $accountId The ID of the account for which to get/update + * account tax settings. + * @param Google_Service_ShoppingContent_AccountTax $postBody + * @param array $optParams Optional parameters. + * + * @opt_param bool dryRun Flag to run the request in dry-run mode. + * @return Google_Service_ShoppingContent_AccountTax + */ + public function update($merchantId, $accountId, Google_Service_ShoppingContent_AccountTax $postBody, $optParams = array()) + { + $params = array('merchantId' => $merchantId, 'accountId' => $accountId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('update', array($params), "Google_Service_ShoppingContent_AccountTax"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/Resource/Datafeeds.php b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/Resource/Datafeeds.php new file mode 100644 index 00000000..4f1c058b --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/Resource/Datafeeds.php @@ -0,0 +1,146 @@ + + * $contentService = new Google_Service_ShoppingContent(...); + * $datafeeds = $contentService->datafeeds; + * + */ +class Google_Service_ShoppingContent_Resource_Datafeeds extends Google_Service_Resource +{ + /** + * (datafeeds.custombatch) + * + * @param Google_Service_ShoppingContent_DatafeedsCustomBatchRequest $postBody + * @param array $optParams Optional parameters. + * + * @opt_param bool dryRun Flag to run the request in dry-run mode. + * @return Google_Service_ShoppingContent_DatafeedsCustomBatchResponse + */ + public function custombatch(Google_Service_ShoppingContent_DatafeedsCustomBatchRequest $postBody, $optParams = array()) + { + $params = array('postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('custombatch', array($params), "Google_Service_ShoppingContent_DatafeedsCustomBatchResponse"); + } + /** + * Deletes a datafeed from your Merchant Center account. This method can only be + * called for non-multi-client accounts. (datafeeds.delete) + * + * @param string $merchantId + * @param string $datafeedId + * @param array $optParams Optional parameters. + * + * @opt_param bool dryRun Flag to run the request in dry-run mode. + */ + public function delete($merchantId, $datafeedId, $optParams = array()) + { + $params = array('merchantId' => $merchantId, 'datafeedId' => $datafeedId); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params)); + } + /** + * Retrieves a datafeed from your Merchant Center account. This method can only + * be called for non-multi-client accounts. (datafeeds.get) + * + * @param string $merchantId + * @param string $datafeedId + * @param array $optParams Optional parameters. + * @return Google_Service_ShoppingContent_Datafeed + */ + public function get($merchantId, $datafeedId, $optParams = array()) + { + $params = array('merchantId' => $merchantId, 'datafeedId' => $datafeedId); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_ShoppingContent_Datafeed"); + } + /** + * Registers a datafeed with your Merchant Center account. This method can only + * be called for non-multi-client accounts. (datafeeds.insert) + * + * @param string $merchantId + * @param Google_Service_ShoppingContent_Datafeed $postBody + * @param array $optParams Optional parameters. + * + * @opt_param bool dryRun Flag to run the request in dry-run mode. + * @return Google_Service_ShoppingContent_Datafeed + */ + public function insert($merchantId, Google_Service_ShoppingContent_Datafeed $postBody, $optParams = array()) + { + $params = array('merchantId' => $merchantId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('insert', array($params), "Google_Service_ShoppingContent_Datafeed"); + } + /** + * Lists the datafeeds in your Merchant Center account. This method can only be + * called for non-multi-client accounts. (datafeeds.listDatafeeds) + * + * @param string $merchantId The ID of the managing account. + * @param array $optParams Optional parameters. + * + * @opt_param string maxResults The maximum number of products to return in the + * response, used for paging. + * @opt_param string pageToken The token returned by the previous request. + * @return Google_Service_ShoppingContent_DatafeedsListResponse + */ + public function listDatafeeds($merchantId, $optParams = array()) + { + $params = array('merchantId' => $merchantId); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_ShoppingContent_DatafeedsListResponse"); + } + /** + * Updates a datafeed of your Merchant Center account. This method can only be + * called for non-multi-client accounts. This method supports patch semantics. + * (datafeeds.patch) + * + * @param string $merchantId + * @param string $datafeedId + * @param Google_Service_ShoppingContent_Datafeed $postBody + * @param array $optParams Optional parameters. + * + * @opt_param bool dryRun Flag to run the request in dry-run mode. + * @return Google_Service_ShoppingContent_Datafeed + */ + public function patch($merchantId, $datafeedId, Google_Service_ShoppingContent_Datafeed $postBody, $optParams = array()) + { + $params = array('merchantId' => $merchantId, 'datafeedId' => $datafeedId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('patch', array($params), "Google_Service_ShoppingContent_Datafeed"); + } + /** + * Updates a datafeed of your Merchant Center account. This method can only be + * called for non-multi-client accounts. (datafeeds.update) + * + * @param string $merchantId + * @param string $datafeedId + * @param Google_Service_ShoppingContent_Datafeed $postBody + * @param array $optParams Optional parameters. + * + * @opt_param bool dryRun Flag to run the request in dry-run mode. + * @return Google_Service_ShoppingContent_Datafeed + */ + public function update($merchantId, $datafeedId, Google_Service_ShoppingContent_Datafeed $postBody, $optParams = array()) + { + $params = array('merchantId' => $merchantId, 'datafeedId' => $datafeedId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('update', array($params), "Google_Service_ShoppingContent_Datafeed"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/Resource/Datafeedstatuses.php b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/Resource/Datafeedstatuses.php new file mode 100644 index 00000000..520fc0fa --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/Resource/Datafeedstatuses.php @@ -0,0 +1,76 @@ + + * $contentService = new Google_Service_ShoppingContent(...); + * $datafeedstatuses = $contentService->datafeedstatuses; + * + */ +class Google_Service_ShoppingContent_Resource_Datafeedstatuses extends Google_Service_Resource +{ + /** + * (datafeedstatuses.custombatch) + * + * @param Google_Service_ShoppingContent_DatafeedstatusesCustomBatchRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_ShoppingContent_DatafeedstatusesCustomBatchResponse + */ + public function custombatch(Google_Service_ShoppingContent_DatafeedstatusesCustomBatchRequest $postBody, $optParams = array()) + { + $params = array('postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('custombatch', array($params), "Google_Service_ShoppingContent_DatafeedstatusesCustomBatchResponse"); + } + /** + * Retrieves the status of a datafeed from your Merchant Center account. This + * method can only be called for non-multi-client accounts. + * (datafeedstatuses.get) + * + * @param string $merchantId + * @param string $datafeedId + * @param array $optParams Optional parameters. + * @return Google_Service_ShoppingContent_DatafeedStatus + */ + public function get($merchantId, $datafeedId, $optParams = array()) + { + $params = array('merchantId' => $merchantId, 'datafeedId' => $datafeedId); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_ShoppingContent_DatafeedStatus"); + } + /** + * Lists the statuses of the datafeeds in your Merchant Center account. This + * method can only be called for non-multi-client accounts. + * (datafeedstatuses.listDatafeedstatuses) + * + * @param string $merchantId The ID of the managing account. + * @param array $optParams Optional parameters. + * + * @opt_param string maxResults The maximum number of products to return in the + * response, used for paging. + * @opt_param string pageToken The token returned by the previous request. + * @return Google_Service_ShoppingContent_DatafeedstatusesListResponse + */ + public function listDatafeedstatuses($merchantId, $optParams = array()) + { + $params = array('merchantId' => $merchantId); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_ShoppingContent_DatafeedstatusesListResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/Resource/Inventory.php b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/Resource/Inventory.php new file mode 100644 index 00000000..1b5e80cd --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/Resource/Inventory.php @@ -0,0 +1,69 @@ + + * $contentService = new Google_Service_ShoppingContent(...); + * $inventory = $contentService->inventory; + * + */ +class Google_Service_ShoppingContent_Resource_Inventory extends Google_Service_Resource +{ + /** + * Updates price and availability for multiple products or stores in a single + * request. This operation does not update the expiration date of the products. + * This method can only be called for non-multi-client accounts. + * (inventory.custombatch) + * + * @param Google_Service_ShoppingContent_InventoryCustomBatchRequest $postBody + * @param array $optParams Optional parameters. + * + * @opt_param bool dryRun Flag to run the request in dry-run mode. + * @return Google_Service_ShoppingContent_InventoryCustomBatchResponse + */ + public function custombatch(Google_Service_ShoppingContent_InventoryCustomBatchRequest $postBody, $optParams = array()) + { + $params = array('postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('custombatch', array($params), "Google_Service_ShoppingContent_InventoryCustomBatchResponse"); + } + /** + * Updates price and availability of a product in your Merchant Center account. + * This operation does not update the expiration date of the product. This + * method can only be called for non-multi-client accounts. (inventory.set) + * + * @param string $merchantId The ID of the managing account. + * @param string $storeCode The code of the store for which to update price and + * availability. Use online to update price and availability of an online + * product. + * @param string $productId The ID of the product for which to update price and + * availability. + * @param Google_Service_ShoppingContent_InventorySetRequest $postBody + * @param array $optParams Optional parameters. + * + * @opt_param bool dryRun Flag to run the request in dry-run mode. + * @return Google_Service_ShoppingContent_InventorySetResponse + */ + public function set($merchantId, $storeCode, $productId, Google_Service_ShoppingContent_InventorySetRequest $postBody, $optParams = array()) + { + $params = array('merchantId' => $merchantId, 'storeCode' => $storeCode, 'productId' => $productId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('set', array($params), "Google_Service_ShoppingContent_InventorySetResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/Resource/Orders.php b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/Resource/Orders.php new file mode 100644 index 00000000..962c1646 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/Resource/Orders.php @@ -0,0 +1,287 @@ + + * $contentService = new Google_Service_ShoppingContent(...); + * $orders = $contentService->orders; + * + */ +class Google_Service_ShoppingContent_Resource_Orders extends Google_Service_Resource +{ + /** + * Marks an order as acknowledged. This method can only be called for non-multi- + * client accounts. (orders.acknowledge) + * + * @param string $merchantId The ID of the managing account. + * @param string $orderId The ID of the order. + * @param Google_Service_ShoppingContent_OrdersAcknowledgeRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_ShoppingContent_OrdersAcknowledgeResponse + */ + public function acknowledge($merchantId, $orderId, Google_Service_ShoppingContent_OrdersAcknowledgeRequest $postBody, $optParams = array()) + { + $params = array('merchantId' => $merchantId, 'orderId' => $orderId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('acknowledge', array($params), "Google_Service_ShoppingContent_OrdersAcknowledgeResponse"); + } + /** + * Sandbox only. Moves a test order from state "inProgress" to state + * "pendingShipment". This method can only be called for non-multi-client + * accounts. (orders.advancetestorder) + * + * @param string $merchantId The ID of the managing account. + * @param string $orderId The ID of the test order to modify. + * @param array $optParams Optional parameters. + * @return Google_Service_ShoppingContent_OrdersAdvanceTestOrderResponse + */ + public function advancetestorder($merchantId, $orderId, $optParams = array()) + { + $params = array('merchantId' => $merchantId, 'orderId' => $orderId); + $params = array_merge($params, $optParams); + return $this->call('advancetestorder', array($params), "Google_Service_ShoppingContent_OrdersAdvanceTestOrderResponse"); + } + /** + * Cancels all line items in an order. This method can only be called for non- + * multi-client accounts. (orders.cancel) + * + * @param string $merchantId The ID of the managing account. + * @param string $orderId The ID of the order to cancel. + * @param Google_Service_ShoppingContent_OrdersCancelRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_ShoppingContent_OrdersCancelResponse + */ + public function cancel($merchantId, $orderId, Google_Service_ShoppingContent_OrdersCancelRequest $postBody, $optParams = array()) + { + $params = array('merchantId' => $merchantId, 'orderId' => $orderId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('cancel', array($params), "Google_Service_ShoppingContent_OrdersCancelResponse"); + } + /** + * Cancels a line item. This method can only be called for non-multi-client + * accounts. (orders.cancellineitem) + * + * @param string $merchantId The ID of the managing account. + * @param string $orderId The ID of the order. + * @param Google_Service_ShoppingContent_OrdersCancelLineItemRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_ShoppingContent_OrdersCancelLineItemResponse + */ + public function cancellineitem($merchantId, $orderId, Google_Service_ShoppingContent_OrdersCancelLineItemRequest $postBody, $optParams = array()) + { + $params = array('merchantId' => $merchantId, 'orderId' => $orderId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('cancellineitem', array($params), "Google_Service_ShoppingContent_OrdersCancelLineItemResponse"); + } + /** + * Sandbox only. Creates a test order. This method can only be called for non- + * multi-client accounts. (orders.createtestorder) + * + * @param string $merchantId The ID of the managing account. + * @param Google_Service_ShoppingContent_OrdersCreateTestOrderRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_ShoppingContent_OrdersCreateTestOrderResponse + */ + public function createtestorder($merchantId, Google_Service_ShoppingContent_OrdersCreateTestOrderRequest $postBody, $optParams = array()) + { + $params = array('merchantId' => $merchantId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('createtestorder', array($params), "Google_Service_ShoppingContent_OrdersCreateTestOrderResponse"); + } + /** + * Retrieves or modifies multiple orders in a single request. This method can + * only be called for non-multi-client accounts. (orders.custombatch) + * + * @param Google_Service_ShoppingContent_OrdersCustomBatchRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_ShoppingContent_OrdersCustomBatchResponse + */ + public function custombatch(Google_Service_ShoppingContent_OrdersCustomBatchRequest $postBody, $optParams = array()) + { + $params = array('postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('custombatch', array($params), "Google_Service_ShoppingContent_OrdersCustomBatchResponse"); + } + /** + * Retrieves an order from your Merchant Center account. This method can only be + * called for non-multi-client accounts. (orders.get) + * + * @param string $merchantId The ID of the managing account. + * @param string $orderId The ID of the order. + * @param array $optParams Optional parameters. + * @return Google_Service_ShoppingContent_Order + */ + public function get($merchantId, $orderId, $optParams = array()) + { + $params = array('merchantId' => $merchantId, 'orderId' => $orderId); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_ShoppingContent_Order"); + } + /** + * Retrieves an order using merchant order id. This method can only be called + * for non-multi-client accounts. (orders.getbymerchantorderid) + * + * @param string $merchantId The ID of the managing account. + * @param string $merchantOrderId The merchant order id to be looked for. + * @param array $optParams Optional parameters. + * @return Google_Service_ShoppingContent_OrdersGetByMerchantOrderIdResponse + */ + public function getbymerchantorderid($merchantId, $merchantOrderId, $optParams = array()) + { + $params = array('merchantId' => $merchantId, 'merchantOrderId' => $merchantOrderId); + $params = array_merge($params, $optParams); + return $this->call('getbymerchantorderid', array($params), "Google_Service_ShoppingContent_OrdersGetByMerchantOrderIdResponse"); + } + /** + * Sandbox only. Retrieves an order template that can be used to quickly create + * a new order in sandbox. This method can only be called for non-multi-client + * accounts. (orders.gettestordertemplate) + * + * @param string $merchantId The ID of the managing account. + * @param string $templateName The name of the template to retrieve. + * @param array $optParams Optional parameters. + * @return Google_Service_ShoppingContent_OrdersGetTestOrderTemplateResponse + */ + public function gettestordertemplate($merchantId, $templateName, $optParams = array()) + { + $params = array('merchantId' => $merchantId, 'templateName' => $templateName); + $params = array_merge($params, $optParams); + return $this->call('gettestordertemplate', array($params), "Google_Service_ShoppingContent_OrdersGetTestOrderTemplateResponse"); + } + /** + * Lists the orders in your Merchant Center account. This method can only be + * called for non-multi-client accounts. (orders.listOrders) + * + * @param string $merchantId The ID of the managing account. + * @param array $optParams Optional parameters. + * + * @opt_param bool acknowledged Obtains orders that match the acknowledgement + * status. When set to true, obtains orders that have been acknowledged. When + * false, obtains orders that have not been acknowledged. We recommend using + * this filter set to false, in conjunction with the acknowledge call, such that + * only un-acknowledged orders are returned. + * @opt_param string maxResults The maximum number of orders to return in the + * response, used for paging. The default value is 25 orders per page, and the + * maximum allowed value is 250 orders per page. Known issue: All List calls + * will return all Orders without limit regardless of the value of this field. + * @opt_param string orderBy The ordering of the returned list. The only + * supported value are placedDate desc and placedDate asc for now, which returns + * orders sorted by placement date. "placedDate desc" stands for listing orders + * by placement date, from oldest to most recent. "placedDate asc" stands for + * listing orders by placement date, from most recent to oldest. In future + * releases we'll support other sorting criteria. + * @opt_param string pageToken The token returned by the previous request. + * @opt_param string placedDateEnd Obtains orders placed before this date + * (exclusively), in ISO 8601 format. + * @opt_param string placedDateStart Obtains orders placed after this date + * (inclusively), in ISO 8601 format. + * @opt_param string statuses Obtains orders that match any of the specified + * statuses. Multiple values can be specified with comma separation. + * Additionally, please note that active is a shortcut for pendingShipment and + * partiallyShipped, and completed is a shortcut for shipped , + * partiallyDelivered, delivered, partiallyReturned, returned, and canceled. + * @return Google_Service_ShoppingContent_OrdersListResponse + */ + public function listOrders($merchantId, $optParams = array()) + { + $params = array('merchantId' => $merchantId); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_ShoppingContent_OrdersListResponse"); + } + /** + * Refund a portion of the order, up to the full amount paid. This method can + * only be called for non-multi-client accounts. (orders.refund) + * + * @param string $merchantId The ID of the managing account. + * @param string $orderId The ID of the order to refund. + * @param Google_Service_ShoppingContent_OrdersRefundRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_ShoppingContent_OrdersRefundResponse + */ + public function refund($merchantId, $orderId, Google_Service_ShoppingContent_OrdersRefundRequest $postBody, $optParams = array()) + { + $params = array('merchantId' => $merchantId, 'orderId' => $orderId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('refund', array($params), "Google_Service_ShoppingContent_OrdersRefundResponse"); + } + /** + * Returns a line item. This method can only be called for non-multi-client + * accounts. (orders.returnlineitem) + * + * @param string $merchantId The ID of the managing account. + * @param string $orderId The ID of the order. + * @param Google_Service_ShoppingContent_OrdersReturnLineItemRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_ShoppingContent_OrdersReturnLineItemResponse + */ + public function returnlineitem($merchantId, $orderId, Google_Service_ShoppingContent_OrdersReturnLineItemRequest $postBody, $optParams = array()) + { + $params = array('merchantId' => $merchantId, 'orderId' => $orderId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('returnlineitem', array($params), "Google_Service_ShoppingContent_OrdersReturnLineItemResponse"); + } + /** + * Marks line item(s) as shipped. This method can only be called for non-multi- + * client accounts. (orders.shiplineitems) + * + * @param string $merchantId The ID of the managing account. + * @param string $orderId The ID of the order. + * @param Google_Service_ShoppingContent_OrdersShipLineItemsRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_ShoppingContent_OrdersShipLineItemsResponse + */ + public function shiplineitems($merchantId, $orderId, Google_Service_ShoppingContent_OrdersShipLineItemsRequest $postBody, $optParams = array()) + { + $params = array('merchantId' => $merchantId, 'orderId' => $orderId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('shiplineitems', array($params), "Google_Service_ShoppingContent_OrdersShipLineItemsResponse"); + } + /** + * Updates the merchant order ID for a given order. This method can only be + * called for non-multi-client accounts. (orders.updatemerchantorderid) + * + * @param string $merchantId The ID of the managing account. + * @param string $orderId The ID of the order. + * @param Google_Service_ShoppingContent_OrdersUpdateMerchantOrderIdRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_ShoppingContent_OrdersUpdateMerchantOrderIdResponse + */ + public function updatemerchantorderid($merchantId, $orderId, Google_Service_ShoppingContent_OrdersUpdateMerchantOrderIdRequest $postBody, $optParams = array()) + { + $params = array('merchantId' => $merchantId, 'orderId' => $orderId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('updatemerchantorderid', array($params), "Google_Service_ShoppingContent_OrdersUpdateMerchantOrderIdResponse"); + } + /** + * Updates a shipment's status, carrier, and/or tracking ID. This method can + * only be called for non-multi-client accounts. (orders.updateshipment) + * + * @param string $merchantId The ID of the managing account. + * @param string $orderId The ID of the order. + * @param Google_Service_ShoppingContent_OrdersUpdateShipmentRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_ShoppingContent_OrdersUpdateShipmentResponse + */ + public function updateshipment($merchantId, $orderId, Google_Service_ShoppingContent_OrdersUpdateShipmentRequest $postBody, $optParams = array()) + { + $params = array('merchantId' => $merchantId, 'orderId' => $orderId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('updateshipment', array($params), "Google_Service_ShoppingContent_OrdersUpdateShipmentResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/Resource/Products.php b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/Resource/Products.php new file mode 100644 index 00000000..1ff1e43c --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/Resource/Products.php @@ -0,0 +1,116 @@ + + * $contentService = new Google_Service_ShoppingContent(...); + * $products = $contentService->products; + * + */ +class Google_Service_ShoppingContent_Resource_Products extends Google_Service_Resource +{ + /** + * Retrieves, inserts, and deletes multiple products in a single request. This + * method can only be called for non-multi-client accounts. + * (products.custombatch) + * + * @param Google_Service_ShoppingContent_ProductsCustomBatchRequest $postBody + * @param array $optParams Optional parameters. + * + * @opt_param bool dryRun Flag to run the request in dry-run mode. + * @return Google_Service_ShoppingContent_ProductsCustomBatchResponse + */ + public function custombatch(Google_Service_ShoppingContent_ProductsCustomBatchRequest $postBody, $optParams = array()) + { + $params = array('postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('custombatch', array($params), "Google_Service_ShoppingContent_ProductsCustomBatchResponse"); + } + /** + * Deletes a product from your Merchant Center account. This method can only be + * called for non-multi-client accounts. (products.delete) + * + * @param string $merchantId The ID of the managing account. + * @param string $productId The ID of the product. + * @param array $optParams Optional parameters. + * + * @opt_param bool dryRun Flag to run the request in dry-run mode. + */ + public function delete($merchantId, $productId, $optParams = array()) + { + $params = array('merchantId' => $merchantId, 'productId' => $productId); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params)); + } + /** + * Retrieves a product from your Merchant Center account. This method can only + * be called for non-multi-client accounts. (products.get) + * + * @param string $merchantId The ID of the managing account. + * @param string $productId The ID of the product. + * @param array $optParams Optional parameters. + * @return Google_Service_ShoppingContent_Product + */ + public function get($merchantId, $productId, $optParams = array()) + { + $params = array('merchantId' => $merchantId, 'productId' => $productId); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_ShoppingContent_Product"); + } + /** + * Uploads a product to your Merchant Center account. If an item with the same + * channel, contentLanguage, offerId, and targetCountry already exists, this + * method updates that entry. This method can only be called for non-multi- + * client accounts. (products.insert) + * + * @param string $merchantId The ID of the managing account. + * @param Google_Service_ShoppingContent_Product $postBody + * @param array $optParams Optional parameters. + * + * @opt_param bool dryRun Flag to run the request in dry-run mode. + * @return Google_Service_ShoppingContent_Product + */ + public function insert($merchantId, Google_Service_ShoppingContent_Product $postBody, $optParams = array()) + { + $params = array('merchantId' => $merchantId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('insert', array($params), "Google_Service_ShoppingContent_Product"); + } + /** + * Lists the products in your Merchant Center account. This method can only be + * called for non-multi-client accounts. (products.listProducts) + * + * @param string $merchantId The ID of the managing account. + * @param array $optParams Optional parameters. + * + * @opt_param bool includeInvalidInsertedItems Flag to include the invalid + * inserted items in the result of the list request. By default the invalid + * items are not shown (the default value is false). + * @opt_param string maxResults The maximum number of products to return in the + * response, used for paging. + * @opt_param string pageToken The token returned by the previous request. + * @return Google_Service_ShoppingContent_ProductsListResponse + */ + public function listProducts($merchantId, $optParams = array()) + { + $params = array('merchantId' => $merchantId); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_ShoppingContent_ProductsListResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/Resource/Productstatuses.php b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/Resource/Productstatuses.php new file mode 100644 index 00000000..5e1ab09e --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/Resource/Productstatuses.php @@ -0,0 +1,79 @@ + + * $contentService = new Google_Service_ShoppingContent(...); + * $productstatuses = $contentService->productstatuses; + * + */ +class Google_Service_ShoppingContent_Resource_Productstatuses extends Google_Service_Resource +{ + /** + * Gets the statuses of multiple products in a single request. This method can + * only be called for non-multi-client accounts. (productstatuses.custombatch) + * + * @param Google_Service_ShoppingContent_ProductstatusesCustomBatchRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_ShoppingContent_ProductstatusesCustomBatchResponse + */ + public function custombatch(Google_Service_ShoppingContent_ProductstatusesCustomBatchRequest $postBody, $optParams = array()) + { + $params = array('postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('custombatch', array($params), "Google_Service_ShoppingContent_ProductstatusesCustomBatchResponse"); + } + /** + * Gets the status of a product from your Merchant Center account. This method + * can only be called for non-multi-client accounts. (productstatuses.get) + * + * @param string $merchantId The ID of the managing account. + * @param string $productId The ID of the product. + * @param array $optParams Optional parameters. + * @return Google_Service_ShoppingContent_ProductStatus + */ + public function get($merchantId, $productId, $optParams = array()) + { + $params = array('merchantId' => $merchantId, 'productId' => $productId); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_ShoppingContent_ProductStatus"); + } + /** + * Lists the statuses of the products in your Merchant Center account. This + * method can only be called for non-multi-client accounts. + * (productstatuses.listProductstatuses) + * + * @param string $merchantId The ID of the managing account. + * @param array $optParams Optional parameters. + * + * @opt_param bool includeInvalidInsertedItems Flag to include the invalid + * inserted items in the result of the list request. By default the invalid + * items are not shown (the default value is false). + * @opt_param string maxResults The maximum number of product statuses to return + * in the response, used for paging. + * @opt_param string pageToken The token returned by the previous request. + * @return Google_Service_ShoppingContent_ProductstatusesListResponse + */ + public function listProductstatuses($merchantId, $optParams = array()) + { + $params = array('merchantId' => $merchantId); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_ShoppingContent_ProductstatusesListResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/Resource/Shippingsettings.php b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/Resource/Shippingsettings.php new file mode 100644 index 00000000..5bb94aa9 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/Resource/Shippingsettings.php @@ -0,0 +1,138 @@ + + * $contentService = new Google_Service_ShoppingContent(...); + * $shippingsettings = $contentService->shippingsettings; + * + */ +class Google_Service_ShoppingContent_Resource_Shippingsettings extends Google_Service_Resource +{ + /** + * Retrieves and updates the shipping settings of multiple accounts in a single + * request. (shippingsettings.custombatch) + * + * @param Google_Service_ShoppingContent_ShippingsettingsCustomBatchRequest $postBody + * @param array $optParams Optional parameters. + * + * @opt_param bool dryRun Flag to run the request in dry-run mode. + * @return Google_Service_ShoppingContent_ShippingsettingsCustomBatchResponse + */ + public function custombatch(Google_Service_ShoppingContent_ShippingsettingsCustomBatchRequest $postBody, $optParams = array()) + { + $params = array('postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('custombatch', array($params), "Google_Service_ShoppingContent_ShippingsettingsCustomBatchResponse"); + } + /** + * Retrieves the shipping settings of the account. This method can only be + * called for accounts to which the managing account has access: either the + * managing account itself or sub-accounts if the managing account is a multi- + * client account. (shippingsettings.get) + * + * @param string $merchantId The ID of the managing account. + * @param string $accountId The ID of the account for which to get/update + * shipping settings. + * @param array $optParams Optional parameters. + * @return Google_Service_ShoppingContent_ShippingSettings + */ + public function get($merchantId, $accountId, $optParams = array()) + { + $params = array('merchantId' => $merchantId, 'accountId' => $accountId); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_ShoppingContent_ShippingSettings"); + } + /** + * Retrieves supported carriers and carrier services for an account. + * (shippingsettings.getsupportedcarriers) + * + * @param string $merchantId The ID of the account for which to retrieve the + * supported carriers. + * @param array $optParams Optional parameters. + * @return Google_Service_ShoppingContent_ShippingsettingsGetSupportedCarriersResponse + */ + public function getsupportedcarriers($merchantId, $optParams = array()) + { + $params = array('merchantId' => $merchantId); + $params = array_merge($params, $optParams); + return $this->call('getsupportedcarriers', array($params), "Google_Service_ShoppingContent_ShippingsettingsGetSupportedCarriersResponse"); + } + /** + * Lists the shipping settings of the sub-accounts in your Merchant Center + * account. This method can only be called for multi-client accounts. + * (shippingsettings.listShippingsettings) + * + * @param string $merchantId The ID of the managing account. + * @param array $optParams Optional parameters. + * + * @opt_param string maxResults The maximum number of shipping settings to + * return in the response, used for paging. + * @opt_param string pageToken The token returned by the previous request. + * @return Google_Service_ShoppingContent_ShippingsettingsListResponse + */ + public function listShippingsettings($merchantId, $optParams = array()) + { + $params = array('merchantId' => $merchantId); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_ShoppingContent_ShippingsettingsListResponse"); + } + /** + * Updates the shipping settings of the account. This method can only be called + * for accounts to which the managing account has access: either the managing + * account itself or sub-accounts if the managing account is a multi-client + * account. This method supports patch semantics. (shippingsettings.patch) + * + * @param string $merchantId The ID of the managing account. + * @param string $accountId The ID of the account for which to get/update + * shipping settings. + * @param Google_Service_ShoppingContent_ShippingSettings $postBody + * @param array $optParams Optional parameters. + * + * @opt_param bool dryRun Flag to run the request in dry-run mode. + * @return Google_Service_ShoppingContent_ShippingSettings + */ + public function patch($merchantId, $accountId, Google_Service_ShoppingContent_ShippingSettings $postBody, $optParams = array()) + { + $params = array('merchantId' => $merchantId, 'accountId' => $accountId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('patch', array($params), "Google_Service_ShoppingContent_ShippingSettings"); + } + /** + * Updates the shipping settings of the account. This method can only be called + * for accounts to which the managing account has access: either the managing + * account itself or sub-accounts if the managing account is a multi-client + * account. (shippingsettings.update) + * + * @param string $merchantId The ID of the managing account. + * @param string $accountId The ID of the account for which to get/update + * shipping settings. + * @param Google_Service_ShoppingContent_ShippingSettings $postBody + * @param array $optParams Optional parameters. + * + * @opt_param bool dryRun Flag to run the request in dry-run mode. + * @return Google_Service_ShoppingContent_ShippingSettings + */ + public function update($merchantId, $accountId, Google_Service_ShoppingContent_ShippingSettings $postBody, $optParams = array()) + { + $params = array('merchantId' => $merchantId, 'accountId' => $accountId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('update', array($params), "Google_Service_ShoppingContent_ShippingSettings"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/Row.php b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/Row.php new file mode 100644 index 00000000..911cc870 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/Row.php @@ -0,0 +1,32 @@ +cells = $cells; + } + public function getCells() + { + return $this->cells; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/Service.php b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/Service.php new file mode 100644 index 00000000..ba428e9e --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/Service.php @@ -0,0 +1,78 @@ +active = $active; + } + public function getActive() + { + return $this->active; + } + public function setCurrency($currency) + { + $this->currency = $currency; + } + public function getCurrency() + { + return $this->currency; + } + public function setDeliveryCountry($deliveryCountry) + { + $this->deliveryCountry = $deliveryCountry; + } + public function getDeliveryCountry() + { + return $this->deliveryCountry; + } + public function setDeliveryTime(Google_Service_ShoppingContent_DeliveryTime $deliveryTime) + { + $this->deliveryTime = $deliveryTime; + } + public function getDeliveryTime() + { + return $this->deliveryTime; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setRateGroups($rateGroups) + { + $this->rateGroups = $rateGroups; + } + public function getRateGroups() + { + return $this->rateGroups; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/ShippingSettings.php b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/ShippingSettings.php new file mode 100644 index 00000000..8e63dfa0 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/ShippingSettings.php @@ -0,0 +1,51 @@ +accountId = $accountId; + } + public function getAccountId() + { + return $this->accountId; + } + public function setPostalCodeGroups($postalCodeGroups) + { + $this->postalCodeGroups = $postalCodeGroups; + } + public function getPostalCodeGroups() + { + return $this->postalCodeGroups; + } + public function setServices($services) + { + $this->services = $services; + } + public function getServices() + { + return $this->services; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/ShippingsettingsCustomBatchRequest.php b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/ShippingsettingsCustomBatchRequest.php new file mode 100644 index 00000000..e77b003b --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/ShippingsettingsCustomBatchRequest.php @@ -0,0 +1,32 @@ +entries = $entries; + } + public function getEntries() + { + return $this->entries; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/ShippingsettingsCustomBatchRequestEntry.php b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/ShippingsettingsCustomBatchRequestEntry.php new file mode 100644 index 00000000..b27d568a --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/ShippingsettingsCustomBatchRequestEntry.php @@ -0,0 +1,67 @@ +accountId = $accountId; + } + public function getAccountId() + { + return $this->accountId; + } + public function setBatchId($batchId) + { + $this->batchId = $batchId; + } + public function getBatchId() + { + return $this->batchId; + } + public function setMerchantId($merchantId) + { + $this->merchantId = $merchantId; + } + public function getMerchantId() + { + return $this->merchantId; + } + public function setMethod($method) + { + $this->method = $method; + } + public function getMethod() + { + return $this->method; + } + public function setShippingSettings(Google_Service_ShoppingContent_ShippingSettings $shippingSettings) + { + $this->shippingSettings = $shippingSettings; + } + public function getShippingSettings() + { + return $this->shippingSettings; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/ShippingsettingsCustomBatchResponse.php b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/ShippingsettingsCustomBatchResponse.php new file mode 100644 index 00000000..97ef6d22 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/ShippingsettingsCustomBatchResponse.php @@ -0,0 +1,41 @@ +entries = $entries; + } + public function getEntries() + { + return $this->entries; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/ShippingsettingsCustomBatchResponseEntry.php b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/ShippingsettingsCustomBatchResponseEntry.php new file mode 100644 index 00000000..b9690e96 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/ShippingsettingsCustomBatchResponseEntry.php @@ -0,0 +1,59 @@ +batchId = $batchId; + } + public function getBatchId() + { + return $this->batchId; + } + public function setErrors(Google_Service_ShoppingContent_Errors $errors) + { + $this->errors = $errors; + } + public function getErrors() + { + return $this->errors; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setShippingSettings(Google_Service_ShoppingContent_ShippingSettings $shippingSettings) + { + $this->shippingSettings = $shippingSettings; + } + public function getShippingSettings() + { + return $this->shippingSettings; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/ShippingsettingsGetSupportedCarriersResponse.php b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/ShippingsettingsGetSupportedCarriersResponse.php new file mode 100644 index 00000000..470c0e5d --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/ShippingsettingsGetSupportedCarriersResponse.php @@ -0,0 +1,41 @@ +carriers = $carriers; + } + public function getCarriers() + { + return $this->carriers; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/ShippingsettingsListResponse.php b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/ShippingsettingsListResponse.php new file mode 100644 index 00000000..0f09f051 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/ShippingsettingsListResponse.php @@ -0,0 +1,50 @@ +kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setResources($resources) + { + $this->resources = $resources; + } + public function getResources() + { + return $this->resources; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/Table.php b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/Table.php new file mode 100644 index 00000000..ef4a1114 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/Table.php @@ -0,0 +1,61 @@ +columnHeaders = $columnHeaders; + } + public function getColumnHeaders() + { + return $this->columnHeaders; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setRowHeaders(Google_Service_ShoppingContent_Headers $rowHeaders) + { + $this->rowHeaders = $rowHeaders; + } + public function getRowHeaders() + { + return $this->rowHeaders; + } + public function setRows($rows) + { + $this->rows = $rows; + } + public function getRows() + { + return $this->rows; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/TestOrder.php b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/TestOrder.php new file mode 100644 index 00000000..cb4ff108 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/TestOrder.php @@ -0,0 +1,109 @@ +customer = $customer; + } + public function getCustomer() + { + return $this->customer; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setLineItems($lineItems) + { + $this->lineItems = $lineItems; + } + public function getLineItems() + { + return $this->lineItems; + } + public function setPaymentMethod(Google_Service_ShoppingContent_TestOrderPaymentMethod $paymentMethod) + { + $this->paymentMethod = $paymentMethod; + } + public function getPaymentMethod() + { + return $this->paymentMethod; + } + public function setPredefinedDeliveryAddress($predefinedDeliveryAddress) + { + $this->predefinedDeliveryAddress = $predefinedDeliveryAddress; + } + public function getPredefinedDeliveryAddress() + { + return $this->predefinedDeliveryAddress; + } + public function setPromotions($promotions) + { + $this->promotions = $promotions; + } + public function getPromotions() + { + return $this->promotions; + } + public function setShippingCost(Google_Service_ShoppingContent_Price $shippingCost) + { + $this->shippingCost = $shippingCost; + } + public function getShippingCost() + { + return $this->shippingCost; + } + public function setShippingCostTax(Google_Service_ShoppingContent_Price $shippingCostTax) + { + $this->shippingCostTax = $shippingCostTax; + } + public function getShippingCostTax() + { + return $this->shippingCostTax; + } + public function setShippingOption($shippingOption) + { + $this->shippingOption = $shippingOption; + } + public function getShippingOption() + { + return $this->shippingOption; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/TestOrderCustomer.php b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/TestOrderCustomer.php new file mode 100644 index 00000000..23a1bae8 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/TestOrderCustomer.php @@ -0,0 +1,48 @@ +email = $email; + } + public function getEmail() + { + return $this->email; + } + public function setExplicitMarketingPreference($explicitMarketingPreference) + { + $this->explicitMarketingPreference = $explicitMarketingPreference; + } + public function getExplicitMarketingPreference() + { + return $this->explicitMarketingPreference; + } + public function setFullName($fullName) + { + $this->fullName = $fullName; + } + public function getFullName() + { + return $this->fullName; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/TestOrderLineItem.php b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/TestOrderLineItem.php new file mode 100644 index 00000000..cacf4f6a --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/TestOrderLineItem.php @@ -0,0 +1,70 @@ +product = $product; + } + public function getProduct() + { + return $this->product; + } + public function setQuantityOrdered($quantityOrdered) + { + $this->quantityOrdered = $quantityOrdered; + } + public function getQuantityOrdered() + { + return $this->quantityOrdered; + } + public function setReturnInfo(Google_Service_ShoppingContent_OrderLineItemReturnInfo $returnInfo) + { + $this->returnInfo = $returnInfo; + } + public function getReturnInfo() + { + return $this->returnInfo; + } + public function setShippingDetails(Google_Service_ShoppingContent_OrderLineItemShippingDetails $shippingDetails) + { + $this->shippingDetails = $shippingDetails; + } + public function getShippingDetails() + { + return $this->shippingDetails; + } + public function setUnitTax(Google_Service_ShoppingContent_Price $unitTax) + { + $this->unitTax = $unitTax; + } + public function getUnitTax() + { + return $this->unitTax; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/TestOrderLineItemProduct.php b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/TestOrderLineItemProduct.php new file mode 100644 index 00000000..ed3d0cbb --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/TestOrderLineItemProduct.php @@ -0,0 +1,141 @@ +brand = $brand; + } + public function getBrand() + { + return $this->brand; + } + public function setChannel($channel) + { + $this->channel = $channel; + } + public function getChannel() + { + return $this->channel; + } + public function setCondition($condition) + { + $this->condition = $condition; + } + public function getCondition() + { + return $this->condition; + } + public function setContentLanguage($contentLanguage) + { + $this->contentLanguage = $contentLanguage; + } + public function getContentLanguage() + { + return $this->contentLanguage; + } + public function setGtin($gtin) + { + $this->gtin = $gtin; + } + public function getGtin() + { + return $this->gtin; + } + public function setImageLink($imageLink) + { + $this->imageLink = $imageLink; + } + public function getImageLink() + { + return $this->imageLink; + } + public function setItemGroupId($itemGroupId) + { + $this->itemGroupId = $itemGroupId; + } + public function getItemGroupId() + { + return $this->itemGroupId; + } + public function setMpn($mpn) + { + $this->mpn = $mpn; + } + public function getMpn() + { + return $this->mpn; + } + public function setOfferId($offerId) + { + $this->offerId = $offerId; + } + public function getOfferId() + { + return $this->offerId; + } + public function setPrice(Google_Service_ShoppingContent_Price $price) + { + $this->price = $price; + } + public function getPrice() + { + return $this->price; + } + public function setTargetCountry($targetCountry) + { + $this->targetCountry = $targetCountry; + } + public function getTargetCountry() + { + return $this->targetCountry; + } + public function setTitle($title) + { + $this->title = $title; + } + public function getTitle() + { + return $this->title; + } + public function setVariantAttributes($variantAttributes) + { + $this->variantAttributes = $variantAttributes; + } + public function getVariantAttributes() + { + return $this->variantAttributes; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/TestOrderPaymentMethod.php b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/TestOrderPaymentMethod.php new file mode 100644 index 00000000..e63041f1 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/TestOrderPaymentMethod.php @@ -0,0 +1,66 @@ +expirationMonth = $expirationMonth; + } + public function getExpirationMonth() + { + return $this->expirationMonth; + } + public function setExpirationYear($expirationYear) + { + $this->expirationYear = $expirationYear; + } + public function getExpirationYear() + { + return $this->expirationYear; + } + public function setLastFourDigits($lastFourDigits) + { + $this->lastFourDigits = $lastFourDigits; + } + public function getLastFourDigits() + { + return $this->lastFourDigits; + } + public function setPredefinedBillingAddress($predefinedBillingAddress) + { + $this->predefinedBillingAddress = $predefinedBillingAddress; + } + public function getPredefinedBillingAddress() + { + return $this->predefinedBillingAddress; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/Value.php b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/Value.php new file mode 100644 index 00000000..a3f550d0 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/Value.php @@ -0,0 +1,67 @@ +carrierRateName = $carrierRateName; + } + public function getCarrierRateName() + { + return $this->carrierRateName; + } + public function setFlatRate(Google_Service_ShoppingContent_Price $flatRate) + { + $this->flatRate = $flatRate; + } + public function getFlatRate() + { + return $this->flatRate; + } + public function setNoShipping($noShipping) + { + $this->noShipping = $noShipping; + } + public function getNoShipping() + { + return $this->noShipping; + } + public function setPricePercentage($pricePercentage) + { + $this->pricePercentage = $pricePercentage; + } + public function getPricePercentage() + { + return $this->pricePercentage; + } + public function setSubtableName($subtableName) + { + $this->subtableName = $subtableName; + } + public function getSubtableName() + { + return $this->subtableName; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/Weight.php b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/Weight.php new file mode 100644 index 00000000..16ef3e6d --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ShoppingContent/Weight.php @@ -0,0 +1,39 @@ +unit = $unit; + } + public function getUnit() + { + return $this->unit; + } + public function setValue($value) + { + $this->value = $value; + } + public function getValue() + { + return $this->value; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/SiteVerification.php b/vendor/google/apiclient-services/src/Google/Service/SiteVerification.php new file mode 100644 index 00000000..f9c0fac0 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/SiteVerification.php @@ -0,0 +1,124 @@ + + * Verifies ownership of websites or domains with Google.

+ * + *

+ * For more information about this service, see the API + * Documentation + *

+ * + * @author Google, Inc. + */ +class Google_Service_SiteVerification extends Google_Service +{ + /** Manage the list of sites and domains you control. */ + const SITEVERIFICATION = + "https://www.googleapis.com/auth/siteverification"; + /** Manage your new site verifications with Google. */ + const SITEVERIFICATION_VERIFY_ONLY = + "https://www.googleapis.com/auth/siteverification.verify_only"; + + public $webResource; + + /** + * Constructs the internal representation of the SiteVerification service. + * + * @param Google_Client $client + */ + public function __construct(Google_Client $client) + { + parent::__construct($client); + $this->rootUrl = 'https://www.googleapis.com/'; + $this->servicePath = 'siteVerification/v1/'; + $this->version = 'v1'; + $this->serviceName = 'siteVerification'; + + $this->webResource = new Google_Service_SiteVerification_Resource_WebResource( + $this, + $this->serviceName, + 'webResource', + array( + 'methods' => array( + 'delete' => array( + 'path' => 'webResource/{id}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'id' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'get' => array( + 'path' => 'webResource/{id}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'id' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'getToken' => array( + 'path' => 'token', + 'httpMethod' => 'POST', + 'parameters' => array(), + ),'insert' => array( + 'path' => 'webResource', + 'httpMethod' => 'POST', + 'parameters' => array( + 'verificationMethod' => array( + 'location' => 'query', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'webResource', + 'httpMethod' => 'GET', + 'parameters' => array(), + ),'patch' => array( + 'path' => 'webResource/{id}', + 'httpMethod' => 'PATCH', + 'parameters' => array( + 'id' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'update' => array( + 'path' => 'webResource/{id}', + 'httpMethod' => 'PUT', + 'parameters' => array( + 'id' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/SiteVerification/Resource/WebResource.php b/vendor/google/apiclient-services/src/Google/Service/SiteVerification/Resource/WebResource.php new file mode 100644 index 00000000..f931e68f --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/SiteVerification/Resource/WebResource.php @@ -0,0 +1,124 @@ + + * $siteVerificationService = new Google_Service_SiteVerification(...); + * $webResource = $siteVerificationService->webResource; + * + */ +class Google_Service_SiteVerification_Resource_WebResource extends Google_Service_Resource +{ + /** + * Relinquish ownership of a website or domain. (webResource.delete) + * + * @param string $id The id of a verified site or domain. + * @param array $optParams Optional parameters. + */ + public function delete($id, $optParams = array()) + { + $params = array('id' => $id); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params)); + } + /** + * Get the most current data for a website or domain. (webResource.get) + * + * @param string $id The id of a verified site or domain. + * @param array $optParams Optional parameters. + * @return Google_Service_SiteVerification_SiteVerificationWebResourceResource + */ + public function get($id, $optParams = array()) + { + $params = array('id' => $id); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_SiteVerification_SiteVerificationWebResourceResource"); + } + /** + * Get a verification token for placing on a website or domain. + * (webResource.getToken) + * + * @param Google_Service_SiteVerification_SiteVerificationWebResourceGettokenRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_SiteVerification_SiteVerificationWebResourceGettokenResponse + */ + public function getToken(Google_Service_SiteVerification_SiteVerificationWebResourceGettokenRequest $postBody, $optParams = array()) + { + $params = array('postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('getToken', array($params), "Google_Service_SiteVerification_SiteVerificationWebResourceGettokenResponse"); + } + /** + * Attempt verification of a website or domain. (webResource.insert) + * + * @param string $verificationMethod The method to use for verifying a site or + * domain. + * @param Google_Service_SiteVerification_SiteVerificationWebResourceResource $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_SiteVerification_SiteVerificationWebResourceResource + */ + public function insert($verificationMethod, Google_Service_SiteVerification_SiteVerificationWebResourceResource $postBody, $optParams = array()) + { + $params = array('verificationMethod' => $verificationMethod, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('insert', array($params), "Google_Service_SiteVerification_SiteVerificationWebResourceResource"); + } + /** + * Get the list of your verified websites and domains. + * (webResource.listWebResource) + * + * @param array $optParams Optional parameters. + * @return Google_Service_SiteVerification_SiteVerificationWebResourceListResponse + */ + public function listWebResource($optParams = array()) + { + $params = array(); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_SiteVerification_SiteVerificationWebResourceListResponse"); + } + /** + * Modify the list of owners for your website or domain. This method supports + * patch semantics. (webResource.patch) + * + * @param string $id The id of a verified site or domain. + * @param Google_Service_SiteVerification_SiteVerificationWebResourceResource $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_SiteVerification_SiteVerificationWebResourceResource + */ + public function patch($id, Google_Service_SiteVerification_SiteVerificationWebResourceResource $postBody, $optParams = array()) + { + $params = array('id' => $id, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('patch', array($params), "Google_Service_SiteVerification_SiteVerificationWebResourceResource"); + } + /** + * Modify the list of owners for your website or domain. (webResource.update) + * + * @param string $id The id of a verified site or domain. + * @param Google_Service_SiteVerification_SiteVerificationWebResourceResource $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_SiteVerification_SiteVerificationWebResourceResource + */ + public function update($id, Google_Service_SiteVerification_SiteVerificationWebResourceResource $postBody, $optParams = array()) + { + $params = array('id' => $id, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('update', array($params), "Google_Service_SiteVerification_SiteVerificationWebResourceResource"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/SiteVerification/SiteVerificationWebResourceGettokenRequest.php b/vendor/google/apiclient-services/src/Google/Service/SiteVerification/SiteVerificationWebResourceGettokenRequest.php new file mode 100644 index 00000000..3c3f8f1e --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/SiteVerification/SiteVerificationWebResourceGettokenRequest.php @@ -0,0 +1,40 @@ +site = $site; + } + public function getSite() + { + return $this->site; + } + public function setVerificationMethod($verificationMethod) + { + $this->verificationMethod = $verificationMethod; + } + public function getVerificationMethod() + { + return $this->verificationMethod; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/SiteVerification/SiteVerificationWebResourceGettokenRequestSite.php b/vendor/google/apiclient-services/src/Google/Service/SiteVerification/SiteVerificationWebResourceGettokenRequestSite.php new file mode 100644 index 00000000..2f6a965c --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/SiteVerification/SiteVerificationWebResourceGettokenRequestSite.php @@ -0,0 +1,39 @@ +identifier = $identifier; + } + public function getIdentifier() + { + return $this->identifier; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/SiteVerification/SiteVerificationWebResourceGettokenResponse.php b/vendor/google/apiclient-services/src/Google/Service/SiteVerification/SiteVerificationWebResourceGettokenResponse.php new file mode 100644 index 00000000..10f7f616 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/SiteVerification/SiteVerificationWebResourceGettokenResponse.php @@ -0,0 +1,39 @@ +method = $method; + } + public function getMethod() + { + return $this->method; + } + public function setToken($token) + { + $this->token = $token; + } + public function getToken() + { + return $this->token; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/SiteVerification/SiteVerificationWebResourceListResponse.php b/vendor/google/apiclient-services/src/Google/Service/SiteVerification/SiteVerificationWebResourceListResponse.php new file mode 100644 index 00000000..437c6dcb --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/SiteVerification/SiteVerificationWebResourceListResponse.php @@ -0,0 +1,32 @@ +items = $items; + } + public function getItems() + { + return $this->items; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/SiteVerification/SiteVerificationWebResourceResource.php b/vendor/google/apiclient-services/src/Google/Service/SiteVerification/SiteVerificationWebResourceResource.php new file mode 100644 index 00000000..431bc171 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/SiteVerification/SiteVerificationWebResourceResource.php @@ -0,0 +1,50 @@ +id = $id; + } + public function getId() + { + return $this->id; + } + public function setOwners($owners) + { + $this->owners = $owners; + } + public function getOwners() + { + return $this->owners; + } + public function setSite(Google_Service_SiteVerification_SiteVerificationWebResourceResourceSite $site) + { + $this->site = $site; + } + public function getSite() + { + return $this->site; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/SiteVerification/SiteVerificationWebResourceResourceSite.php b/vendor/google/apiclient-services/src/Google/Service/SiteVerification/SiteVerificationWebResourceResourceSite.php new file mode 100644 index 00000000..12cd103f --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/SiteVerification/SiteVerificationWebResourceResourceSite.php @@ -0,0 +1,39 @@ +identifier = $identifier; + } + public function getIdentifier() + { + return $this->identifier; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Slides.php b/vendor/google/apiclient-services/src/Google/Service/Slides.php new file mode 100644 index 00000000..4b3b3eb7 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Slides.php @@ -0,0 +1,128 @@ + + * An API for creating and editing Google Slides presentations.

+ * + *

+ * For more information about this service, see the API + * Documentation + *

+ * + * @author Google, Inc. + */ +class Google_Service_Slides extends Google_Service +{ + /** View and manage the files in your Google Drive. */ + const DRIVE = + "https://www.googleapis.com/auth/drive"; + /** View the files in your Google Drive. */ + const DRIVE_READONLY = + "https://www.googleapis.com/auth/drive.readonly"; + /** View and manage your Google Slides presentations. */ + const PRESENTATIONS = + "https://www.googleapis.com/auth/presentations"; + /** View your Google Slides presentations. */ + const PRESENTATIONS_READONLY = + "https://www.googleapis.com/auth/presentations.readonly"; + /** View and manage your spreadsheets in Google Drive. */ + const SPREADSHEETS = + "https://www.googleapis.com/auth/spreadsheets"; + /** View your Google Spreadsheets. */ + const SPREADSHEETS_READONLY = + "https://www.googleapis.com/auth/spreadsheets.readonly"; + + public $presentations; + public $presentations_pages; + + /** + * Constructs the internal representation of the Slides service. + * + * @param Google_Client $client + */ + public function __construct(Google_Client $client) + { + parent::__construct($client); + $this->rootUrl = 'https://slides.googleapis.com/'; + $this->servicePath = ''; + $this->version = 'v1'; + $this->serviceName = 'slides'; + + $this->presentations = new Google_Service_Slides_Resource_Presentations( + $this, + $this->serviceName, + 'presentations', + array( + 'methods' => array( + 'batchUpdate' => array( + 'path' => 'v1/presentations/{presentationId}:batchUpdate', + 'httpMethod' => 'POST', + 'parameters' => array( + 'presentationId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'create' => array( + 'path' => 'v1/presentations', + 'httpMethod' => 'POST', + 'parameters' => array(), + ),'get' => array( + 'path' => 'v1/presentations/{+presentationId}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'presentationId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->presentations_pages = new Google_Service_Slides_Resource_PresentationsPages( + $this, + $this->serviceName, + 'pages', + array( + 'methods' => array( + 'get' => array( + 'path' => 'v1/presentations/{presentationId}/pages/{pageObjectId}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'presentationId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'pageObjectId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Slides/AffineTransform.php b/vendor/google/apiclient-services/src/Google/Service/Slides/AffineTransform.php new file mode 100644 index 00000000..519770d4 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Slides/AffineTransform.php @@ -0,0 +1,84 @@ +scaleX = $scaleX; + } + public function getScaleX() + { + return $this->scaleX; + } + public function setScaleY($scaleY) + { + $this->scaleY = $scaleY; + } + public function getScaleY() + { + return $this->scaleY; + } + public function setShearX($shearX) + { + $this->shearX = $shearX; + } + public function getShearX() + { + return $this->shearX; + } + public function setShearY($shearY) + { + $this->shearY = $shearY; + } + public function getShearY() + { + return $this->shearY; + } + public function setTranslateX($translateX) + { + $this->translateX = $translateX; + } + public function getTranslateX() + { + return $this->translateX; + } + public function setTranslateY($translateY) + { + $this->translateY = $translateY; + } + public function getTranslateY() + { + return $this->translateY; + } + public function setUnit($unit) + { + $this->unit = $unit; + } + public function getUnit() + { + return $this->unit; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Slides/AutoText.php b/vendor/google/apiclient-services/src/Google/Service/Slides/AutoText.php new file mode 100644 index 00000000..c27ca0d5 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Slides/AutoText.php @@ -0,0 +1,49 @@ +content = $content; + } + public function getContent() + { + return $this->content; + } + public function setStyle(Google_Service_Slides_TextStyle $style) + { + $this->style = $style; + } + public function getStyle() + { + return $this->style; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Slides/BatchUpdatePresentationRequest.php b/vendor/google/apiclient-services/src/Google/Service/Slides/BatchUpdatePresentationRequest.php new file mode 100644 index 00000000..cc885add --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Slides/BatchUpdatePresentationRequest.php @@ -0,0 +1,42 @@ +requests = $requests; + } + public function getRequests() + { + return $this->requests; + } + public function setWriteControl(Google_Service_Slides_WriteControl $writeControl) + { + $this->writeControl = $writeControl; + } + public function getWriteControl() + { + return $this->writeControl; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Slides/BatchUpdatePresentationResponse.php b/vendor/google/apiclient-services/src/Google/Service/Slides/BatchUpdatePresentationResponse.php new file mode 100644 index 00000000..08185adf --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Slides/BatchUpdatePresentationResponse.php @@ -0,0 +1,41 @@ +presentationId = $presentationId; + } + public function getPresentationId() + { + return $this->presentationId; + } + public function setReplies($replies) + { + $this->replies = $replies; + } + public function getReplies() + { + return $this->replies; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Slides/Bullet.php b/vendor/google/apiclient-services/src/Google/Service/Slides/Bullet.php new file mode 100644 index 00000000..b7464996 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Slides/Bullet.php @@ -0,0 +1,58 @@ +bulletStyle = $bulletStyle; + } + public function getBulletStyle() + { + return $this->bulletStyle; + } + public function setGlyph($glyph) + { + $this->glyph = $glyph; + } + public function getGlyph() + { + return $this->glyph; + } + public function setListId($listId) + { + $this->listId = $listId; + } + public function getListId() + { + return $this->listId; + } + public function setNestingLevel($nestingLevel) + { + $this->nestingLevel = $nestingLevel; + } + public function getNestingLevel() + { + return $this->nestingLevel; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Slides/ColorScheme.php b/vendor/google/apiclient-services/src/Google/Service/Slides/ColorScheme.php new file mode 100644 index 00000000..85e2c00f --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Slides/ColorScheme.php @@ -0,0 +1,32 @@ +colors = $colors; + } + public function getColors() + { + return $this->colors; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Slides/ColorStop.php b/vendor/google/apiclient-services/src/Google/Service/Slides/ColorStop.php new file mode 100644 index 00000000..fe032c79 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Slides/ColorStop.php @@ -0,0 +1,49 @@ +alpha = $alpha; + } + public function getAlpha() + { + return $this->alpha; + } + public function setColor(Google_Service_Slides_OpaqueColor $color) + { + $this->color = $color; + } + public function getColor() + { + return $this->color; + } + public function setPosition($position) + { + $this->position = $position; + } + public function getPosition() + { + return $this->position; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Slides/CreateImageRequest.php b/vendor/google/apiclient-services/src/Google/Service/Slides/CreateImageRequest.php new file mode 100644 index 00000000..d582ce7f --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Slides/CreateImageRequest.php @@ -0,0 +1,49 @@ +elementProperties = $elementProperties; + } + public function getElementProperties() + { + return $this->elementProperties; + } + public function setObjectId($objectId) + { + $this->objectId = $objectId; + } + public function getObjectId() + { + return $this->objectId; + } + public function setUrl($url) + { + $this->url = $url; + } + public function getUrl() + { + return $this->url; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Slides/CreateImageResponse.php b/vendor/google/apiclient-services/src/Google/Service/Slides/CreateImageResponse.php new file mode 100644 index 00000000..90db1eb7 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Slides/CreateImageResponse.php @@ -0,0 +1,30 @@ +objectId = $objectId; + } + public function getObjectId() + { + return $this->objectId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Slides/CreateLineRequest.php b/vendor/google/apiclient-services/src/Google/Service/Slides/CreateLineRequest.php new file mode 100644 index 00000000..67a88d06 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Slides/CreateLineRequest.php @@ -0,0 +1,49 @@ +elementProperties = $elementProperties; + } + public function getElementProperties() + { + return $this->elementProperties; + } + public function setLineCategory($lineCategory) + { + $this->lineCategory = $lineCategory; + } + public function getLineCategory() + { + return $this->lineCategory; + } + public function setObjectId($objectId) + { + $this->objectId = $objectId; + } + public function getObjectId() + { + return $this->objectId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Slides/CreateLineResponse.php b/vendor/google/apiclient-services/src/Google/Service/Slides/CreateLineResponse.php new file mode 100644 index 00000000..8083b38a --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Slides/CreateLineResponse.php @@ -0,0 +1,30 @@ +objectId = $objectId; + } + public function getObjectId() + { + return $this->objectId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Slides/CreateParagraphBulletsRequest.php b/vendor/google/apiclient-services/src/Google/Service/Slides/CreateParagraphBulletsRequest.php new file mode 100644 index 00000000..cc6654cf --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Slides/CreateParagraphBulletsRequest.php @@ -0,0 +1,59 @@ +bulletPreset = $bulletPreset; + } + public function getBulletPreset() + { + return $this->bulletPreset; + } + public function setCellLocation(Google_Service_Slides_TableCellLocation $cellLocation) + { + $this->cellLocation = $cellLocation; + } + public function getCellLocation() + { + return $this->cellLocation; + } + public function setObjectId($objectId) + { + $this->objectId = $objectId; + } + public function getObjectId() + { + return $this->objectId; + } + public function setTextRange(Google_Service_Slides_Range $textRange) + { + $this->textRange = $textRange; + } + public function getTextRange() + { + return $this->textRange; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Slides/CreateShapeRequest.php b/vendor/google/apiclient-services/src/Google/Service/Slides/CreateShapeRequest.php new file mode 100644 index 00000000..099a48b9 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Slides/CreateShapeRequest.php @@ -0,0 +1,49 @@ +elementProperties = $elementProperties; + } + public function getElementProperties() + { + return $this->elementProperties; + } + public function setObjectId($objectId) + { + $this->objectId = $objectId; + } + public function getObjectId() + { + return $this->objectId; + } + public function setShapeType($shapeType) + { + $this->shapeType = $shapeType; + } + public function getShapeType() + { + return $this->shapeType; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Slides/CreateShapeResponse.php b/vendor/google/apiclient-services/src/Google/Service/Slides/CreateShapeResponse.php new file mode 100644 index 00000000..7f4d17d9 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Slides/CreateShapeResponse.php @@ -0,0 +1,30 @@ +objectId = $objectId; + } + public function getObjectId() + { + return $this->objectId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Slides/CreateSheetsChartRequest.php b/vendor/google/apiclient-services/src/Google/Service/Slides/CreateSheetsChartRequest.php new file mode 100644 index 00000000..1bdf5b74 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Slides/CreateSheetsChartRequest.php @@ -0,0 +1,67 @@ +chartId = $chartId; + } + public function getChartId() + { + return $this->chartId; + } + public function setElementProperties(Google_Service_Slides_PageElementProperties $elementProperties) + { + $this->elementProperties = $elementProperties; + } + public function getElementProperties() + { + return $this->elementProperties; + } + public function setLinkingMode($linkingMode) + { + $this->linkingMode = $linkingMode; + } + public function getLinkingMode() + { + return $this->linkingMode; + } + public function setObjectId($objectId) + { + $this->objectId = $objectId; + } + public function getObjectId() + { + return $this->objectId; + } + public function setSpreadsheetId($spreadsheetId) + { + $this->spreadsheetId = $spreadsheetId; + } + public function getSpreadsheetId() + { + return $this->spreadsheetId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Slides/CreateSheetsChartResponse.php b/vendor/google/apiclient-services/src/Google/Service/Slides/CreateSheetsChartResponse.php new file mode 100644 index 00000000..5397c6cb --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Slides/CreateSheetsChartResponse.php @@ -0,0 +1,30 @@ +objectId = $objectId; + } + public function getObjectId() + { + return $this->objectId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Slides/CreateSlideRequest.php b/vendor/google/apiclient-services/src/Google/Service/Slides/CreateSlideRequest.php new file mode 100644 index 00000000..a494cdc5 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Slides/CreateSlideRequest.php @@ -0,0 +1,60 @@ +insertionIndex = $insertionIndex; + } + public function getInsertionIndex() + { + return $this->insertionIndex; + } + public function setObjectId($objectId) + { + $this->objectId = $objectId; + } + public function getObjectId() + { + return $this->objectId; + } + public function setPlaceholderIdMappings($placeholderIdMappings) + { + $this->placeholderIdMappings = $placeholderIdMappings; + } + public function getPlaceholderIdMappings() + { + return $this->placeholderIdMappings; + } + public function setSlideLayoutReference(Google_Service_Slides_LayoutReference $slideLayoutReference) + { + $this->slideLayoutReference = $slideLayoutReference; + } + public function getSlideLayoutReference() + { + return $this->slideLayoutReference; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Slides/CreateSlideResponse.php b/vendor/google/apiclient-services/src/Google/Service/Slides/CreateSlideResponse.php new file mode 100644 index 00000000..b307975b --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Slides/CreateSlideResponse.php @@ -0,0 +1,30 @@ +objectId = $objectId; + } + public function getObjectId() + { + return $this->objectId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Slides/CreateTableRequest.php b/vendor/google/apiclient-services/src/Google/Service/Slides/CreateTableRequest.php new file mode 100644 index 00000000..4136352e --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Slides/CreateTableRequest.php @@ -0,0 +1,58 @@ +columns = $columns; + } + public function getColumns() + { + return $this->columns; + } + public function setElementProperties(Google_Service_Slides_PageElementProperties $elementProperties) + { + $this->elementProperties = $elementProperties; + } + public function getElementProperties() + { + return $this->elementProperties; + } + public function setObjectId($objectId) + { + $this->objectId = $objectId; + } + public function getObjectId() + { + return $this->objectId; + } + public function setRows($rows) + { + $this->rows = $rows; + } + public function getRows() + { + return $this->rows; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Slides/CreateTableResponse.php b/vendor/google/apiclient-services/src/Google/Service/Slides/CreateTableResponse.php new file mode 100644 index 00000000..b5d4f977 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Slides/CreateTableResponse.php @@ -0,0 +1,30 @@ +objectId = $objectId; + } + public function getObjectId() + { + return $this->objectId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Slides/CreateVideoRequest.php b/vendor/google/apiclient-services/src/Google/Service/Slides/CreateVideoRequest.php new file mode 100644 index 00000000..9a417d9e --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Slides/CreateVideoRequest.php @@ -0,0 +1,58 @@ +elementProperties = $elementProperties; + } + public function getElementProperties() + { + return $this->elementProperties; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setObjectId($objectId) + { + $this->objectId = $objectId; + } + public function getObjectId() + { + return $this->objectId; + } + public function setSource($source) + { + $this->source = $source; + } + public function getSource() + { + return $this->source; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Slides/CreateVideoResponse.php b/vendor/google/apiclient-services/src/Google/Service/Slides/CreateVideoResponse.php new file mode 100644 index 00000000..d8b3ada6 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Slides/CreateVideoResponse.php @@ -0,0 +1,30 @@ +objectId = $objectId; + } + public function getObjectId() + { + return $this->objectId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Slides/CropProperties.php b/vendor/google/apiclient-services/src/Google/Service/Slides/CropProperties.php new file mode 100644 index 00000000..4a403a2a --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Slides/CropProperties.php @@ -0,0 +1,66 @@ +angle = $angle; + } + public function getAngle() + { + return $this->angle; + } + public function setBottomOffset($bottomOffset) + { + $this->bottomOffset = $bottomOffset; + } + public function getBottomOffset() + { + return $this->bottomOffset; + } + public function setLeftOffset($leftOffset) + { + $this->leftOffset = $leftOffset; + } + public function getLeftOffset() + { + return $this->leftOffset; + } + public function setRightOffset($rightOffset) + { + $this->rightOffset = $rightOffset; + } + public function getRightOffset() + { + return $this->rightOffset; + } + public function setTopOffset($topOffset) + { + $this->topOffset = $topOffset; + } + public function getTopOffset() + { + return $this->topOffset; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Slides/DeleteObjectRequest.php b/vendor/google/apiclient-services/src/Google/Service/Slides/DeleteObjectRequest.php new file mode 100644 index 00000000..2a738e5c --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Slides/DeleteObjectRequest.php @@ -0,0 +1,30 @@ +objectId = $objectId; + } + public function getObjectId() + { + return $this->objectId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Slides/DeleteParagraphBulletsRequest.php b/vendor/google/apiclient-services/src/Google/Service/Slides/DeleteParagraphBulletsRequest.php new file mode 100644 index 00000000..66e8adbb --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Slides/DeleteParagraphBulletsRequest.php @@ -0,0 +1,50 @@ +cellLocation = $cellLocation; + } + public function getCellLocation() + { + return $this->cellLocation; + } + public function setObjectId($objectId) + { + $this->objectId = $objectId; + } + public function getObjectId() + { + return $this->objectId; + } + public function setTextRange(Google_Service_Slides_Range $textRange) + { + $this->textRange = $textRange; + } + public function getTextRange() + { + return $this->textRange; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Slides/DeleteTableColumnRequest.php b/vendor/google/apiclient-services/src/Google/Service/Slides/DeleteTableColumnRequest.php new file mode 100644 index 00000000..d9486046 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Slides/DeleteTableColumnRequest.php @@ -0,0 +1,40 @@ +cellLocation = $cellLocation; + } + public function getCellLocation() + { + return $this->cellLocation; + } + public function setTableObjectId($tableObjectId) + { + $this->tableObjectId = $tableObjectId; + } + public function getTableObjectId() + { + return $this->tableObjectId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Slides/DeleteTableRowRequest.php b/vendor/google/apiclient-services/src/Google/Service/Slides/DeleteTableRowRequest.php new file mode 100644 index 00000000..da99eee1 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Slides/DeleteTableRowRequest.php @@ -0,0 +1,40 @@ +cellLocation = $cellLocation; + } + public function getCellLocation() + { + return $this->cellLocation; + } + public function setTableObjectId($tableObjectId) + { + $this->tableObjectId = $tableObjectId; + } + public function getTableObjectId() + { + return $this->tableObjectId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Slides/DeleteTextRequest.php b/vendor/google/apiclient-services/src/Google/Service/Slides/DeleteTextRequest.php new file mode 100644 index 00000000..3c3cce85 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Slides/DeleteTextRequest.php @@ -0,0 +1,50 @@ +cellLocation = $cellLocation; + } + public function getCellLocation() + { + return $this->cellLocation; + } + public function setObjectId($objectId) + { + $this->objectId = $objectId; + } + public function getObjectId() + { + return $this->objectId; + } + public function setTextRange(Google_Service_Slides_Range $textRange) + { + $this->textRange = $textRange; + } + public function getTextRange() + { + return $this->textRange; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Slides/Dimension.php b/vendor/google/apiclient-services/src/Google/Service/Slides/Dimension.php new file mode 100644 index 00000000..255e1c33 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Slides/Dimension.php @@ -0,0 +1,39 @@ +magnitude = $magnitude; + } + public function getMagnitude() + { + return $this->magnitude; + } + public function setUnit($unit) + { + $this->unit = $unit; + } + public function getUnit() + { + return $this->unit; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Slides/DuplicateObjectRequest.php b/vendor/google/apiclient-services/src/Google/Service/Slides/DuplicateObjectRequest.php new file mode 100644 index 00000000..0b40d75a --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Slides/DuplicateObjectRequest.php @@ -0,0 +1,39 @@ +objectId = $objectId; + } + public function getObjectId() + { + return $this->objectId; + } + public function setObjectIds($objectIds) + { + $this->objectIds = $objectIds; + } + public function getObjectIds() + { + return $this->objectIds; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Slides/DuplicateObjectResponse.php b/vendor/google/apiclient-services/src/Google/Service/Slides/DuplicateObjectResponse.php new file mode 100644 index 00000000..8088d345 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Slides/DuplicateObjectResponse.php @@ -0,0 +1,30 @@ +objectId = $objectId; + } + public function getObjectId() + { + return $this->objectId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Slides/Group.php b/vendor/google/apiclient-services/src/Google/Service/Slides/Group.php new file mode 100644 index 00000000..3e304f09 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Slides/Group.php @@ -0,0 +1,32 @@ +children = $children; + } + public function getChildren() + { + return $this->children; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Slides/Image.php b/vendor/google/apiclient-services/src/Google/Service/Slides/Image.php new file mode 100644 index 00000000..a6bef02e --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Slides/Image.php @@ -0,0 +1,40 @@ +contentUrl = $contentUrl; + } + public function getContentUrl() + { + return $this->contentUrl; + } + public function setImageProperties(Google_Service_Slides_ImageProperties $imageProperties) + { + $this->imageProperties = $imageProperties; + } + public function getImageProperties() + { + return $this->imageProperties; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Slides/ImageProperties.php b/vendor/google/apiclient-services/src/Google/Service/Slides/ImageProperties.php new file mode 100644 index 00000000..a4e58c21 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Slides/ImageProperties.php @@ -0,0 +1,98 @@ +brightness = $brightness; + } + public function getBrightness() + { + return $this->brightness; + } + public function setContrast($contrast) + { + $this->contrast = $contrast; + } + public function getContrast() + { + return $this->contrast; + } + public function setCropProperties(Google_Service_Slides_CropProperties $cropProperties) + { + $this->cropProperties = $cropProperties; + } + public function getCropProperties() + { + return $this->cropProperties; + } + public function setLink(Google_Service_Slides_Link $link) + { + $this->link = $link; + } + public function getLink() + { + return $this->link; + } + public function setOutline(Google_Service_Slides_Outline $outline) + { + $this->outline = $outline; + } + public function getOutline() + { + return $this->outline; + } + public function setRecolor(Google_Service_Slides_Recolor $recolor) + { + $this->recolor = $recolor; + } + public function getRecolor() + { + return $this->recolor; + } + public function setShadow(Google_Service_Slides_Shadow $shadow) + { + $this->shadow = $shadow; + } + public function getShadow() + { + return $this->shadow; + } + public function setTransparency($transparency) + { + $this->transparency = $transparency; + } + public function getTransparency() + { + return $this->transparency; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Slides/InsertTableColumnsRequest.php b/vendor/google/apiclient-services/src/Google/Service/Slides/InsertTableColumnsRequest.php new file mode 100644 index 00000000..d4203744 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Slides/InsertTableColumnsRequest.php @@ -0,0 +1,58 @@ +cellLocation = $cellLocation; + } + public function getCellLocation() + { + return $this->cellLocation; + } + public function setInsertRight($insertRight) + { + $this->insertRight = $insertRight; + } + public function getInsertRight() + { + return $this->insertRight; + } + public function setNumber($number) + { + $this->number = $number; + } + public function getNumber() + { + return $this->number; + } + public function setTableObjectId($tableObjectId) + { + $this->tableObjectId = $tableObjectId; + } + public function getTableObjectId() + { + return $this->tableObjectId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Slides/InsertTableRowsRequest.php b/vendor/google/apiclient-services/src/Google/Service/Slides/InsertTableRowsRequest.php new file mode 100644 index 00000000..2926ed4d --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Slides/InsertTableRowsRequest.php @@ -0,0 +1,58 @@ +cellLocation = $cellLocation; + } + public function getCellLocation() + { + return $this->cellLocation; + } + public function setInsertBelow($insertBelow) + { + $this->insertBelow = $insertBelow; + } + public function getInsertBelow() + { + return $this->insertBelow; + } + public function setNumber($number) + { + $this->number = $number; + } + public function getNumber() + { + return $this->number; + } + public function setTableObjectId($tableObjectId) + { + $this->tableObjectId = $tableObjectId; + } + public function getTableObjectId() + { + return $this->tableObjectId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Slides/InsertTextRequest.php b/vendor/google/apiclient-services/src/Google/Service/Slides/InsertTextRequest.php new file mode 100644 index 00000000..c5722029 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Slides/InsertTextRequest.php @@ -0,0 +1,58 @@ +cellLocation = $cellLocation; + } + public function getCellLocation() + { + return $this->cellLocation; + } + public function setInsertionIndex($insertionIndex) + { + $this->insertionIndex = $insertionIndex; + } + public function getInsertionIndex() + { + return $this->insertionIndex; + } + public function setObjectId($objectId) + { + $this->objectId = $objectId; + } + public function getObjectId() + { + return $this->objectId; + } + public function setText($text) + { + $this->text = $text; + } + public function getText() + { + return $this->text; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Slides/LayoutPlaceholderIdMapping.php b/vendor/google/apiclient-services/src/Google/Service/Slides/LayoutPlaceholderIdMapping.php new file mode 100644 index 00000000..454f305b --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Slides/LayoutPlaceholderIdMapping.php @@ -0,0 +1,49 @@ +layoutPlaceholder = $layoutPlaceholder; + } + public function getLayoutPlaceholder() + { + return $this->layoutPlaceholder; + } + public function setLayoutPlaceholderObjectId($layoutPlaceholderObjectId) + { + $this->layoutPlaceholderObjectId = $layoutPlaceholderObjectId; + } + public function getLayoutPlaceholderObjectId() + { + return $this->layoutPlaceholderObjectId; + } + public function setObjectId($objectId) + { + $this->objectId = $objectId; + } + public function getObjectId() + { + return $this->objectId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Slides/LayoutProperties.php b/vendor/google/apiclient-services/src/Google/Service/Slides/LayoutProperties.php new file mode 100644 index 00000000..92a9dcae --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Slides/LayoutProperties.php @@ -0,0 +1,48 @@ +displayName = $displayName; + } + public function getDisplayName() + { + return $this->displayName; + } + public function setMasterObjectId($masterObjectId) + { + $this->masterObjectId = $masterObjectId; + } + public function getMasterObjectId() + { + return $this->masterObjectId; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Slides/LayoutReference.php b/vendor/google/apiclient-services/src/Google/Service/Slides/LayoutReference.php new file mode 100644 index 00000000..f616d7f4 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Slides/LayoutReference.php @@ -0,0 +1,39 @@ +layoutId = $layoutId; + } + public function getLayoutId() + { + return $this->layoutId; + } + public function setPredefinedLayout($predefinedLayout) + { + $this->predefinedLayout = $predefinedLayout; + } + public function getPredefinedLayout() + { + return $this->predefinedLayout; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Slides/Line.php b/vendor/google/apiclient-services/src/Google/Service/Slides/Line.php new file mode 100644 index 00000000..4f97653f --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Slides/Line.php @@ -0,0 +1,40 @@ +lineProperties = $lineProperties; + } + public function getLineProperties() + { + return $this->lineProperties; + } + public function setLineType($lineType) + { + $this->lineType = $lineType; + } + public function getLineType() + { + return $this->lineType; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Slides/LineFill.php b/vendor/google/apiclient-services/src/Google/Service/Slides/LineFill.php new file mode 100644 index 00000000..5095de44 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Slides/LineFill.php @@ -0,0 +1,31 @@ +solidFill = $solidFill; + } + public function getSolidFill() + { + return $this->solidFill; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Slides/LineProperties.php b/vendor/google/apiclient-services/src/Google/Service/Slides/LineProperties.php new file mode 100644 index 00000000..e9f2fdd3 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Slides/LineProperties.php @@ -0,0 +1,78 @@ +dashStyle = $dashStyle; + } + public function getDashStyle() + { + return $this->dashStyle; + } + public function setEndArrow($endArrow) + { + $this->endArrow = $endArrow; + } + public function getEndArrow() + { + return $this->endArrow; + } + public function setLineFill(Google_Service_Slides_LineFill $lineFill) + { + $this->lineFill = $lineFill; + } + public function getLineFill() + { + return $this->lineFill; + } + public function setLink(Google_Service_Slides_Link $link) + { + $this->link = $link; + } + public function getLink() + { + return $this->link; + } + public function setStartArrow($startArrow) + { + $this->startArrow = $startArrow; + } + public function getStartArrow() + { + return $this->startArrow; + } + public function setWeight(Google_Service_Slides_Dimension $weight) + { + $this->weight = $weight; + } + public function getWeight() + { + return $this->weight; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Slides/Link.php b/vendor/google/apiclient-services/src/Google/Service/Slides/Link.php new file mode 100644 index 00000000..18aab419 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Slides/Link.php @@ -0,0 +1,57 @@ +pageObjectId = $pageObjectId; + } + public function getPageObjectId() + { + return $this->pageObjectId; + } + public function setRelativeLink($relativeLink) + { + $this->relativeLink = $relativeLink; + } + public function getRelativeLink() + { + return $this->relativeLink; + } + public function setSlideIndex($slideIndex) + { + $this->slideIndex = $slideIndex; + } + public function getSlideIndex() + { + return $this->slideIndex; + } + public function setUrl($url) + { + $this->url = $url; + } + public function getUrl() + { + return $this->url; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Slides/NestingLevel.php b/vendor/google/apiclient-services/src/Google/Service/Slides/NestingLevel.php new file mode 100644 index 00000000..01d97773 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Slides/NestingLevel.php @@ -0,0 +1,31 @@ +bulletStyle = $bulletStyle; + } + public function getBulletStyle() + { + return $this->bulletStyle; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Slides/NotesProperties.php b/vendor/google/apiclient-services/src/Google/Service/Slides/NotesProperties.php new file mode 100644 index 00000000..60fa69df --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Slides/NotesProperties.php @@ -0,0 +1,30 @@ +speakerNotesObjectId = $speakerNotesObjectId; + } + public function getSpeakerNotesObjectId() + { + return $this->speakerNotesObjectId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Slides/OpaqueColor.php b/vendor/google/apiclient-services/src/Google/Service/Slides/OpaqueColor.php new file mode 100644 index 00000000..f24dda55 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Slides/OpaqueColor.php @@ -0,0 +1,40 @@ +rgbColor = $rgbColor; + } + public function getRgbColor() + { + return $this->rgbColor; + } + public function setThemeColor($themeColor) + { + $this->themeColor = $themeColor; + } + public function getThemeColor() + { + return $this->themeColor; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Slides/OptionalColor.php b/vendor/google/apiclient-services/src/Google/Service/Slides/OptionalColor.php new file mode 100644 index 00000000..2be9bdfc --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Slides/OptionalColor.php @@ -0,0 +1,31 @@ +opaqueColor = $opaqueColor; + } + public function getOpaqueColor() + { + return $this->opaqueColor; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Slides/Outline.php b/vendor/google/apiclient-services/src/Google/Service/Slides/Outline.php new file mode 100644 index 00000000..b8c1bb6d --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Slides/Outline.php @@ -0,0 +1,59 @@ +dashStyle = $dashStyle; + } + public function getDashStyle() + { + return $this->dashStyle; + } + public function setOutlineFill(Google_Service_Slides_OutlineFill $outlineFill) + { + $this->outlineFill = $outlineFill; + } + public function getOutlineFill() + { + return $this->outlineFill; + } + public function setPropertyState($propertyState) + { + $this->propertyState = $propertyState; + } + public function getPropertyState() + { + return $this->propertyState; + } + public function setWeight(Google_Service_Slides_Dimension $weight) + { + $this->weight = $weight; + } + public function getWeight() + { + return $this->weight; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Slides/OutlineFill.php b/vendor/google/apiclient-services/src/Google/Service/Slides/OutlineFill.php new file mode 100644 index 00000000..f881e82b --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Slides/OutlineFill.php @@ -0,0 +1,31 @@ +solidFill = $solidFill; + } + public function getSolidFill() + { + return $this->solidFill; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Slides/Page.php b/vendor/google/apiclient-services/src/Google/Service/Slides/Page.php new file mode 100644 index 00000000..bf060dca --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Slides/Page.php @@ -0,0 +1,99 @@ +layoutProperties = $layoutProperties; + } + public function getLayoutProperties() + { + return $this->layoutProperties; + } + public function setNotesProperties(Google_Service_Slides_NotesProperties $notesProperties) + { + $this->notesProperties = $notesProperties; + } + public function getNotesProperties() + { + return $this->notesProperties; + } + public function setObjectId($objectId) + { + $this->objectId = $objectId; + } + public function getObjectId() + { + return $this->objectId; + } + public function setPageElements($pageElements) + { + $this->pageElements = $pageElements; + } + public function getPageElements() + { + return $this->pageElements; + } + public function setPageProperties(Google_Service_Slides_PageProperties $pageProperties) + { + $this->pageProperties = $pageProperties; + } + public function getPageProperties() + { + return $this->pageProperties; + } + public function setPageType($pageType) + { + $this->pageType = $pageType; + } + public function getPageType() + { + return $this->pageType; + } + public function setRevisionId($revisionId) + { + $this->revisionId = $revisionId; + } + public function getRevisionId() + { + return $this->revisionId; + } + public function setSlideProperties(Google_Service_Slides_SlideProperties $slideProperties) + { + $this->slideProperties = $slideProperties; + } + public function getSlideProperties() + { + return $this->slideProperties; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Slides/PageBackgroundFill.php b/vendor/google/apiclient-services/src/Google/Service/Slides/PageBackgroundFill.php new file mode 100644 index 00000000..83ea0530 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Slides/PageBackgroundFill.php @@ -0,0 +1,50 @@ +propertyState = $propertyState; + } + public function getPropertyState() + { + return $this->propertyState; + } + public function setSolidFill(Google_Service_Slides_SolidFill $solidFill) + { + $this->solidFill = $solidFill; + } + public function getSolidFill() + { + return $this->solidFill; + } + public function setStretchedPictureFill(Google_Service_Slides_StretchedPictureFill $stretchedPictureFill) + { + $this->stretchedPictureFill = $stretchedPictureFill; + } + public function getStretchedPictureFill() + { + return $this->stretchedPictureFill; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Slides/PageElement.php b/vendor/google/apiclient-services/src/Google/Service/Slides/PageElement.php new file mode 100644 index 00000000..de293ebc --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Slides/PageElement.php @@ -0,0 +1,148 @@ +description = $description; + } + public function getDescription() + { + return $this->description; + } + public function setElementGroup(Google_Service_Slides_Group $elementGroup) + { + $this->elementGroup = $elementGroup; + } + public function getElementGroup() + { + return $this->elementGroup; + } + public function setImage(Google_Service_Slides_Image $image) + { + $this->image = $image; + } + public function getImage() + { + return $this->image; + } + public function setLine(Google_Service_Slides_Line $line) + { + $this->line = $line; + } + public function getLine() + { + return $this->line; + } + public function setObjectId($objectId) + { + $this->objectId = $objectId; + } + public function getObjectId() + { + return $this->objectId; + } + public function setShape(Google_Service_Slides_Shape $shape) + { + $this->shape = $shape; + } + public function getShape() + { + return $this->shape; + } + public function setSheetsChart(Google_Service_Slides_SheetsChart $sheetsChart) + { + $this->sheetsChart = $sheetsChart; + } + public function getSheetsChart() + { + return $this->sheetsChart; + } + public function setSize(Google_Service_Slides_Size $size) + { + $this->size = $size; + } + public function getSize() + { + return $this->size; + } + public function setTable(Google_Service_Slides_Table $table) + { + $this->table = $table; + } + public function getTable() + { + return $this->table; + } + public function setTitle($title) + { + $this->title = $title; + } + public function getTitle() + { + return $this->title; + } + public function setTransform(Google_Service_Slides_AffineTransform $transform) + { + $this->transform = $transform; + } + public function getTransform() + { + return $this->transform; + } + public function setVideo(Google_Service_Slides_Video $video) + { + $this->video = $video; + } + public function getVideo() + { + return $this->video; + } + public function setWordArt(Google_Service_Slides_WordArt $wordArt) + { + $this->wordArt = $wordArt; + } + public function getWordArt() + { + return $this->wordArt; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Slides/PageElementProperties.php b/vendor/google/apiclient-services/src/Google/Service/Slides/PageElementProperties.php new file mode 100644 index 00000000..4cc2b53b --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Slides/PageElementProperties.php @@ -0,0 +1,50 @@ +pageObjectId = $pageObjectId; + } + public function getPageObjectId() + { + return $this->pageObjectId; + } + public function setSize(Google_Service_Slides_Size $size) + { + $this->size = $size; + } + public function getSize() + { + return $this->size; + } + public function setTransform(Google_Service_Slides_AffineTransform $transform) + { + $this->transform = $transform; + } + public function getTransform() + { + return $this->transform; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Slides/PageProperties.php b/vendor/google/apiclient-services/src/Google/Service/Slides/PageProperties.php new file mode 100644 index 00000000..944402ce --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Slides/PageProperties.php @@ -0,0 +1,41 @@ +colorScheme = $colorScheme; + } + public function getColorScheme() + { + return $this->colorScheme; + } + public function setPageBackgroundFill(Google_Service_Slides_PageBackgroundFill $pageBackgroundFill) + { + $this->pageBackgroundFill = $pageBackgroundFill; + } + public function getPageBackgroundFill() + { + return $this->pageBackgroundFill; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Slides/ParagraphMarker.php b/vendor/google/apiclient-services/src/Google/Service/Slides/ParagraphMarker.php new file mode 100644 index 00000000..4076c623 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Slides/ParagraphMarker.php @@ -0,0 +1,41 @@ +bullet = $bullet; + } + public function getBullet() + { + return $this->bullet; + } + public function setStyle(Google_Service_Slides_ParagraphStyle $style) + { + $this->style = $style; + } + public function getStyle() + { + return $this->style; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Slides/ParagraphStyle.php b/vendor/google/apiclient-services/src/Google/Service/Slides/ParagraphStyle.php new file mode 100644 index 00000000..b34c6fc2 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Slides/ParagraphStyle.php @@ -0,0 +1,107 @@ +alignment = $alignment; + } + public function getAlignment() + { + return $this->alignment; + } + public function setDirection($direction) + { + $this->direction = $direction; + } + public function getDirection() + { + return $this->direction; + } + public function setIndentEnd(Google_Service_Slides_Dimension $indentEnd) + { + $this->indentEnd = $indentEnd; + } + public function getIndentEnd() + { + return $this->indentEnd; + } + public function setIndentFirstLine(Google_Service_Slides_Dimension $indentFirstLine) + { + $this->indentFirstLine = $indentFirstLine; + } + public function getIndentFirstLine() + { + return $this->indentFirstLine; + } + public function setIndentStart(Google_Service_Slides_Dimension $indentStart) + { + $this->indentStart = $indentStart; + } + public function getIndentStart() + { + return $this->indentStart; + } + public function setLineSpacing($lineSpacing) + { + $this->lineSpacing = $lineSpacing; + } + public function getLineSpacing() + { + return $this->lineSpacing; + } + public function setSpaceAbove(Google_Service_Slides_Dimension $spaceAbove) + { + $this->spaceAbove = $spaceAbove; + } + public function getSpaceAbove() + { + return $this->spaceAbove; + } + public function setSpaceBelow(Google_Service_Slides_Dimension $spaceBelow) + { + $this->spaceBelow = $spaceBelow; + } + public function getSpaceBelow() + { + return $this->spaceBelow; + } + public function setSpacingMode($spacingMode) + { + $this->spacingMode = $spacingMode; + } + public function getSpacingMode() + { + return $this->spacingMode; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Slides/Placeholder.php b/vendor/google/apiclient-services/src/Google/Service/Slides/Placeholder.php new file mode 100644 index 00000000..e11f04aa --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Slides/Placeholder.php @@ -0,0 +1,48 @@ +index = $index; + } + public function getIndex() + { + return $this->index; + } + public function setParentObjectId($parentObjectId) + { + $this->parentObjectId = $parentObjectId; + } + public function getParentObjectId() + { + return $this->parentObjectId; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Slides/Presentation.php b/vendor/google/apiclient-services/src/Google/Service/Slides/Presentation.php new file mode 100644 index 00000000..186fe3b3 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Slides/Presentation.php @@ -0,0 +1,108 @@ +layouts = $layouts; + } + public function getLayouts() + { + return $this->layouts; + } + public function setLocale($locale) + { + $this->locale = $locale; + } + public function getLocale() + { + return $this->locale; + } + public function setMasters($masters) + { + $this->masters = $masters; + } + public function getMasters() + { + return $this->masters; + } + public function setNotesMaster(Google_Service_Slides_Page $notesMaster) + { + $this->notesMaster = $notesMaster; + } + public function getNotesMaster() + { + return $this->notesMaster; + } + public function setPageSize(Google_Service_Slides_Size $pageSize) + { + $this->pageSize = $pageSize; + } + public function getPageSize() + { + return $this->pageSize; + } + public function setPresentationId($presentationId) + { + $this->presentationId = $presentationId; + } + public function getPresentationId() + { + return $this->presentationId; + } + public function setRevisionId($revisionId) + { + $this->revisionId = $revisionId; + } + public function getRevisionId() + { + return $this->revisionId; + } + public function setSlides($slides) + { + $this->slides = $slides; + } + public function getSlides() + { + return $this->slides; + } + public function setTitle($title) + { + $this->title = $title; + } + public function getTitle() + { + return $this->title; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Slides/Range.php b/vendor/google/apiclient-services/src/Google/Service/Slides/Range.php new file mode 100644 index 00000000..8c12ca83 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Slides/Range.php @@ -0,0 +1,48 @@ +endIndex = $endIndex; + } + public function getEndIndex() + { + return $this->endIndex; + } + public function setStartIndex($startIndex) + { + $this->startIndex = $startIndex; + } + public function getStartIndex() + { + return $this->startIndex; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Slides/Recolor.php b/vendor/google/apiclient-services/src/Google/Service/Slides/Recolor.php new file mode 100644 index 00000000..d824fd01 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Slides/Recolor.php @@ -0,0 +1,41 @@ +name = $name; + } + public function getName() + { + return $this->name; + } + public function setRecolorStops($recolorStops) + { + $this->recolorStops = $recolorStops; + } + public function getRecolorStops() + { + return $this->recolorStops; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Slides/RefreshSheetsChartRequest.php b/vendor/google/apiclient-services/src/Google/Service/Slides/RefreshSheetsChartRequest.php new file mode 100644 index 00000000..5fba9e4b --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Slides/RefreshSheetsChartRequest.php @@ -0,0 +1,30 @@ +objectId = $objectId; + } + public function getObjectId() + { + return $this->objectId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Slides/ReplaceAllShapesWithImageRequest.php b/vendor/google/apiclient-services/src/Google/Service/Slides/ReplaceAllShapesWithImageRequest.php new file mode 100644 index 00000000..4ef20027 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Slides/ReplaceAllShapesWithImageRequest.php @@ -0,0 +1,49 @@ +containsText = $containsText; + } + public function getContainsText() + { + return $this->containsText; + } + public function setImageUrl($imageUrl) + { + $this->imageUrl = $imageUrl; + } + public function getImageUrl() + { + return $this->imageUrl; + } + public function setReplaceMethod($replaceMethod) + { + $this->replaceMethod = $replaceMethod; + } + public function getReplaceMethod() + { + return $this->replaceMethod; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Slides/ReplaceAllShapesWithImageResponse.php b/vendor/google/apiclient-services/src/Google/Service/Slides/ReplaceAllShapesWithImageResponse.php new file mode 100644 index 00000000..78a538ce --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Slides/ReplaceAllShapesWithImageResponse.php @@ -0,0 +1,30 @@ +occurrencesChanged = $occurrencesChanged; + } + public function getOccurrencesChanged() + { + return $this->occurrencesChanged; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Slides/ReplaceAllShapesWithSheetsChartRequest.php b/vendor/google/apiclient-services/src/Google/Service/Slides/ReplaceAllShapesWithSheetsChartRequest.php new file mode 100644 index 00000000..4cef0ae4 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Slides/ReplaceAllShapesWithSheetsChartRequest.php @@ -0,0 +1,58 @@ +chartId = $chartId; + } + public function getChartId() + { + return $this->chartId; + } + public function setContainsText(Google_Service_Slides_SubstringMatchCriteria $containsText) + { + $this->containsText = $containsText; + } + public function getContainsText() + { + return $this->containsText; + } + public function setLinkingMode($linkingMode) + { + $this->linkingMode = $linkingMode; + } + public function getLinkingMode() + { + return $this->linkingMode; + } + public function setSpreadsheetId($spreadsheetId) + { + $this->spreadsheetId = $spreadsheetId; + } + public function getSpreadsheetId() + { + return $this->spreadsheetId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Slides/ReplaceAllShapesWithSheetsChartResponse.php b/vendor/google/apiclient-services/src/Google/Service/Slides/ReplaceAllShapesWithSheetsChartResponse.php new file mode 100644 index 00000000..2a0add5d --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Slides/ReplaceAllShapesWithSheetsChartResponse.php @@ -0,0 +1,30 @@ +occurrencesChanged = $occurrencesChanged; + } + public function getOccurrencesChanged() + { + return $this->occurrencesChanged; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Slides/ReplaceAllTextRequest.php b/vendor/google/apiclient-services/src/Google/Service/Slides/ReplaceAllTextRequest.php new file mode 100644 index 00000000..76e3819f --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Slides/ReplaceAllTextRequest.php @@ -0,0 +1,40 @@ +containsText = $containsText; + } + public function getContainsText() + { + return $this->containsText; + } + public function setReplaceText($replaceText) + { + $this->replaceText = $replaceText; + } + public function getReplaceText() + { + return $this->replaceText; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Slides/ReplaceAllTextResponse.php b/vendor/google/apiclient-services/src/Google/Service/Slides/ReplaceAllTextResponse.php new file mode 100644 index 00000000..fa431f9d --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Slides/ReplaceAllTextResponse.php @@ -0,0 +1,30 @@ +occurrencesChanged = $occurrencesChanged; + } + public function getOccurrencesChanged() + { + return $this->occurrencesChanged; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Slides/Request.php b/vendor/google/apiclient-services/src/Google/Service/Slides/Request.php new file mode 100644 index 00000000..caa28e2d --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Slides/Request.php @@ -0,0 +1,331 @@ +createImage = $createImage; + } + public function getCreateImage() + { + return $this->createImage; + } + public function setCreateLine(Google_Service_Slides_CreateLineRequest $createLine) + { + $this->createLine = $createLine; + } + public function getCreateLine() + { + return $this->createLine; + } + public function setCreateParagraphBullets(Google_Service_Slides_CreateParagraphBulletsRequest $createParagraphBullets) + { + $this->createParagraphBullets = $createParagraphBullets; + } + public function getCreateParagraphBullets() + { + return $this->createParagraphBullets; + } + public function setCreateShape(Google_Service_Slides_CreateShapeRequest $createShape) + { + $this->createShape = $createShape; + } + public function getCreateShape() + { + return $this->createShape; + } + public function setCreateSheetsChart(Google_Service_Slides_CreateSheetsChartRequest $createSheetsChart) + { + $this->createSheetsChart = $createSheetsChart; + } + public function getCreateSheetsChart() + { + return $this->createSheetsChart; + } + public function setCreateSlide(Google_Service_Slides_CreateSlideRequest $createSlide) + { + $this->createSlide = $createSlide; + } + public function getCreateSlide() + { + return $this->createSlide; + } + public function setCreateTable(Google_Service_Slides_CreateTableRequest $createTable) + { + $this->createTable = $createTable; + } + public function getCreateTable() + { + return $this->createTable; + } + public function setCreateVideo(Google_Service_Slides_CreateVideoRequest $createVideo) + { + $this->createVideo = $createVideo; + } + public function getCreateVideo() + { + return $this->createVideo; + } + public function setDeleteObject(Google_Service_Slides_DeleteObjectRequest $deleteObject) + { + $this->deleteObject = $deleteObject; + } + public function getDeleteObject() + { + return $this->deleteObject; + } + public function setDeleteParagraphBullets(Google_Service_Slides_DeleteParagraphBulletsRequest $deleteParagraphBullets) + { + $this->deleteParagraphBullets = $deleteParagraphBullets; + } + public function getDeleteParagraphBullets() + { + return $this->deleteParagraphBullets; + } + public function setDeleteTableColumn(Google_Service_Slides_DeleteTableColumnRequest $deleteTableColumn) + { + $this->deleteTableColumn = $deleteTableColumn; + } + public function getDeleteTableColumn() + { + return $this->deleteTableColumn; + } + public function setDeleteTableRow(Google_Service_Slides_DeleteTableRowRequest $deleteTableRow) + { + $this->deleteTableRow = $deleteTableRow; + } + public function getDeleteTableRow() + { + return $this->deleteTableRow; + } + public function setDeleteText(Google_Service_Slides_DeleteTextRequest $deleteText) + { + $this->deleteText = $deleteText; + } + public function getDeleteText() + { + return $this->deleteText; + } + public function setDuplicateObject(Google_Service_Slides_DuplicateObjectRequest $duplicateObject) + { + $this->duplicateObject = $duplicateObject; + } + public function getDuplicateObject() + { + return $this->duplicateObject; + } + public function setInsertTableColumns(Google_Service_Slides_InsertTableColumnsRequest $insertTableColumns) + { + $this->insertTableColumns = $insertTableColumns; + } + public function getInsertTableColumns() + { + return $this->insertTableColumns; + } + public function setInsertTableRows(Google_Service_Slides_InsertTableRowsRequest $insertTableRows) + { + $this->insertTableRows = $insertTableRows; + } + public function getInsertTableRows() + { + return $this->insertTableRows; + } + public function setInsertText(Google_Service_Slides_InsertTextRequest $insertText) + { + $this->insertText = $insertText; + } + public function getInsertText() + { + return $this->insertText; + } + public function setRefreshSheetsChart(Google_Service_Slides_RefreshSheetsChartRequest $refreshSheetsChart) + { + $this->refreshSheetsChart = $refreshSheetsChart; + } + public function getRefreshSheetsChart() + { + return $this->refreshSheetsChart; + } + public function setReplaceAllShapesWithImage(Google_Service_Slides_ReplaceAllShapesWithImageRequest $replaceAllShapesWithImage) + { + $this->replaceAllShapesWithImage = $replaceAllShapesWithImage; + } + public function getReplaceAllShapesWithImage() + { + return $this->replaceAllShapesWithImage; + } + public function setReplaceAllShapesWithSheetsChart(Google_Service_Slides_ReplaceAllShapesWithSheetsChartRequest $replaceAllShapesWithSheetsChart) + { + $this->replaceAllShapesWithSheetsChart = $replaceAllShapesWithSheetsChart; + } + public function getReplaceAllShapesWithSheetsChart() + { + return $this->replaceAllShapesWithSheetsChart; + } + public function setReplaceAllText(Google_Service_Slides_ReplaceAllTextRequest $replaceAllText) + { + $this->replaceAllText = $replaceAllText; + } + public function getReplaceAllText() + { + return $this->replaceAllText; + } + public function setUpdateImageProperties(Google_Service_Slides_UpdateImagePropertiesRequest $updateImageProperties) + { + $this->updateImageProperties = $updateImageProperties; + } + public function getUpdateImageProperties() + { + return $this->updateImageProperties; + } + public function setUpdateLineProperties(Google_Service_Slides_UpdateLinePropertiesRequest $updateLineProperties) + { + $this->updateLineProperties = $updateLineProperties; + } + public function getUpdateLineProperties() + { + return $this->updateLineProperties; + } + public function setUpdatePageElementTransform(Google_Service_Slides_UpdatePageElementTransformRequest $updatePageElementTransform) + { + $this->updatePageElementTransform = $updatePageElementTransform; + } + public function getUpdatePageElementTransform() + { + return $this->updatePageElementTransform; + } + public function setUpdatePageProperties(Google_Service_Slides_UpdatePagePropertiesRequest $updatePageProperties) + { + $this->updatePageProperties = $updatePageProperties; + } + public function getUpdatePageProperties() + { + return $this->updatePageProperties; + } + public function setUpdateParagraphStyle(Google_Service_Slides_UpdateParagraphStyleRequest $updateParagraphStyle) + { + $this->updateParagraphStyle = $updateParagraphStyle; + } + public function getUpdateParagraphStyle() + { + return $this->updateParagraphStyle; + } + public function setUpdateShapeProperties(Google_Service_Slides_UpdateShapePropertiesRequest $updateShapeProperties) + { + $this->updateShapeProperties = $updateShapeProperties; + } + public function getUpdateShapeProperties() + { + return $this->updateShapeProperties; + } + public function setUpdateSlidesPosition(Google_Service_Slides_UpdateSlidesPositionRequest $updateSlidesPosition) + { + $this->updateSlidesPosition = $updateSlidesPosition; + } + public function getUpdateSlidesPosition() + { + return $this->updateSlidesPosition; + } + public function setUpdateTableCellProperties(Google_Service_Slides_UpdateTableCellPropertiesRequest $updateTableCellProperties) + { + $this->updateTableCellProperties = $updateTableCellProperties; + } + public function getUpdateTableCellProperties() + { + return $this->updateTableCellProperties; + } + public function setUpdateTextStyle(Google_Service_Slides_UpdateTextStyleRequest $updateTextStyle) + { + $this->updateTextStyle = $updateTextStyle; + } + public function getUpdateTextStyle() + { + return $this->updateTextStyle; + } + public function setUpdateVideoProperties(Google_Service_Slides_UpdateVideoPropertiesRequest $updateVideoProperties) + { + $this->updateVideoProperties = $updateVideoProperties; + } + public function getUpdateVideoProperties() + { + return $this->updateVideoProperties; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Slides/Resource/Presentations.php b/vendor/google/apiclient-services/src/Google/Service/Slides/Resource/Presentations.php new file mode 100644 index 00000000..4aea9973 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Slides/Resource/Presentations.php @@ -0,0 +1,87 @@ + + * $slidesService = new Google_Service_Slides(...); + * $presentations = $slidesService->presentations; + * + */ +class Google_Service_Slides_Resource_Presentations extends Google_Service_Resource +{ + /** + * Applies one or more updates to the presentation. + * + * Each request is validated before being applied. If any request is not valid, + * then the entire request will fail and nothing will be applied. + * + * Some requests have replies to give you some information about how they are + * applied. Other requests do not need to return information; these each return + * an empty reply. The order of replies matches that of the requests. + * + * For example, suppose you call batchUpdate with four updates, and only the + * third one returns information. The response would have two empty replies: the + * reply to the third request, and another empty reply, in that order. + * + * Because other users may be editing the presentation, the presentation might + * not exactly reflect your changes: your changes may be altered with respect to + * collaborator changes. If there are no collaborators, the presentation should + * reflect your changes. In any case, the updates in your request are guaranteed + * to be applied together atomically. (presentations.batchUpdate) + * + * @param string $presentationId The presentation to apply the updates to. + * @param Google_Service_Slides_BatchUpdatePresentationRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Slides_BatchUpdatePresentationResponse + */ + public function batchUpdate($presentationId, Google_Service_Slides_BatchUpdatePresentationRequest $postBody, $optParams = array()) + { + $params = array('presentationId' => $presentationId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('batchUpdate', array($params), "Google_Service_Slides_BatchUpdatePresentationResponse"); + } + /** + * Creates a new presentation using the title given in the request. Other fields + * in the request are ignored. Returns the created presentation. + * (presentations.create) + * + * @param Google_Service_Slides_Presentation $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Slides_Presentation + */ + public function create(Google_Service_Slides_Presentation $postBody, $optParams = array()) + { + $params = array('postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('create', array($params), "Google_Service_Slides_Presentation"); + } + /** + * Gets the latest version of the specified presentation. (presentations.get) + * + * @param string $presentationId The ID of the presentation to retrieve. + * @param array $optParams Optional parameters. + * @return Google_Service_Slides_Presentation + */ + public function get($presentationId, $optParams = array()) + { + $params = array('presentationId' => $presentationId); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Slides_Presentation"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Slides/Resource/PresentationsPages.php b/vendor/google/apiclient-services/src/Google/Service/Slides/Resource/PresentationsPages.php new file mode 100644 index 00000000..8e54b516 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Slides/Resource/PresentationsPages.php @@ -0,0 +1,43 @@ + + * $slidesService = new Google_Service_Slides(...); + * $pages = $slidesService->pages; + * + */ +class Google_Service_Slides_Resource_PresentationsPages extends Google_Service_Resource +{ + /** + * Gets the latest version of the specified page in the presentation. + * (pages.get) + * + * @param string $presentationId The ID of the presentation to retrieve. + * @param string $pageObjectId The object ID of the page to retrieve. + * @param array $optParams Optional parameters. + * @return Google_Service_Slides_Page + */ + public function get($presentationId, $pageObjectId, $optParams = array()) + { + $params = array('presentationId' => $presentationId, 'pageObjectId' => $pageObjectId); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Slides_Page"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Slides/Response.php b/vendor/google/apiclient-services/src/Google/Service/Slides/Response.php new file mode 100644 index 00000000..eea62550 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Slides/Response.php @@ -0,0 +1,131 @@ +createImage = $createImage; + } + public function getCreateImage() + { + return $this->createImage; + } + public function setCreateLine(Google_Service_Slides_CreateLineResponse $createLine) + { + $this->createLine = $createLine; + } + public function getCreateLine() + { + return $this->createLine; + } + public function setCreateShape(Google_Service_Slides_CreateShapeResponse $createShape) + { + $this->createShape = $createShape; + } + public function getCreateShape() + { + return $this->createShape; + } + public function setCreateSheetsChart(Google_Service_Slides_CreateSheetsChartResponse $createSheetsChart) + { + $this->createSheetsChart = $createSheetsChart; + } + public function getCreateSheetsChart() + { + return $this->createSheetsChart; + } + public function setCreateSlide(Google_Service_Slides_CreateSlideResponse $createSlide) + { + $this->createSlide = $createSlide; + } + public function getCreateSlide() + { + return $this->createSlide; + } + public function setCreateTable(Google_Service_Slides_CreateTableResponse $createTable) + { + $this->createTable = $createTable; + } + public function getCreateTable() + { + return $this->createTable; + } + public function setCreateVideo(Google_Service_Slides_CreateVideoResponse $createVideo) + { + $this->createVideo = $createVideo; + } + public function getCreateVideo() + { + return $this->createVideo; + } + public function setDuplicateObject(Google_Service_Slides_DuplicateObjectResponse $duplicateObject) + { + $this->duplicateObject = $duplicateObject; + } + public function getDuplicateObject() + { + return $this->duplicateObject; + } + public function setReplaceAllShapesWithImage(Google_Service_Slides_ReplaceAllShapesWithImageResponse $replaceAllShapesWithImage) + { + $this->replaceAllShapesWithImage = $replaceAllShapesWithImage; + } + public function getReplaceAllShapesWithImage() + { + return $this->replaceAllShapesWithImage; + } + public function setReplaceAllShapesWithSheetsChart(Google_Service_Slides_ReplaceAllShapesWithSheetsChartResponse $replaceAllShapesWithSheetsChart) + { + $this->replaceAllShapesWithSheetsChart = $replaceAllShapesWithSheetsChart; + } + public function getReplaceAllShapesWithSheetsChart() + { + return $this->replaceAllShapesWithSheetsChart; + } + public function setReplaceAllText(Google_Service_Slides_ReplaceAllTextResponse $replaceAllText) + { + $this->replaceAllText = $replaceAllText; + } + public function getReplaceAllText() + { + return $this->replaceAllText; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Slides/RgbColor.php b/vendor/google/apiclient-services/src/Google/Service/Slides/RgbColor.php new file mode 100644 index 00000000..80d7d24b --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Slides/RgbColor.php @@ -0,0 +1,48 @@ +blue = $blue; + } + public function getBlue() + { + return $this->blue; + } + public function setGreen($green) + { + $this->green = $green; + } + public function getGreen() + { + return $this->green; + } + public function setRed($red) + { + $this->red = $red; + } + public function getRed() + { + return $this->red; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Slides/Shadow.php b/vendor/google/apiclient-services/src/Google/Service/Slides/Shadow.php new file mode 100644 index 00000000..2d0aa486 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Slides/Shadow.php @@ -0,0 +1,96 @@ +alignment = $alignment; + } + public function getAlignment() + { + return $this->alignment; + } + public function setAlpha($alpha) + { + $this->alpha = $alpha; + } + public function getAlpha() + { + return $this->alpha; + } + public function setBlurRadius(Google_Service_Slides_Dimension $blurRadius) + { + $this->blurRadius = $blurRadius; + } + public function getBlurRadius() + { + return $this->blurRadius; + } + public function setColor(Google_Service_Slides_OpaqueColor $color) + { + $this->color = $color; + } + public function getColor() + { + return $this->color; + } + public function setPropertyState($propertyState) + { + $this->propertyState = $propertyState; + } + public function getPropertyState() + { + return $this->propertyState; + } + public function setRotateWithShape($rotateWithShape) + { + $this->rotateWithShape = $rotateWithShape; + } + public function getRotateWithShape() + { + return $this->rotateWithShape; + } + public function setTransform(Google_Service_Slides_AffineTransform $transform) + { + $this->transform = $transform; + } + public function getTransform() + { + return $this->transform; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Slides/Shape.php b/vendor/google/apiclient-services/src/Google/Service/Slides/Shape.php new file mode 100644 index 00000000..46ed9fa9 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Slides/Shape.php @@ -0,0 +1,60 @@ +placeholder = $placeholder; + } + public function getPlaceholder() + { + return $this->placeholder; + } + public function setShapeProperties(Google_Service_Slides_ShapeProperties $shapeProperties) + { + $this->shapeProperties = $shapeProperties; + } + public function getShapeProperties() + { + return $this->shapeProperties; + } + public function setShapeType($shapeType) + { + $this->shapeType = $shapeType; + } + public function getShapeType() + { + return $this->shapeType; + } + public function setText(Google_Service_Slides_TextContent $text) + { + $this->text = $text; + } + public function getText() + { + return $this->text; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Slides/ShapeBackgroundFill.php b/vendor/google/apiclient-services/src/Google/Service/Slides/ShapeBackgroundFill.php new file mode 100644 index 00000000..a40878c4 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Slides/ShapeBackgroundFill.php @@ -0,0 +1,40 @@ +propertyState = $propertyState; + } + public function getPropertyState() + { + return $this->propertyState; + } + public function setSolidFill(Google_Service_Slides_SolidFill $solidFill) + { + $this->solidFill = $solidFill; + } + public function getSolidFill() + { + return $this->solidFill; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Slides/ShapeProperties.php b/vendor/google/apiclient-services/src/Google/Service/Slides/ShapeProperties.php new file mode 100644 index 00000000..6eeaf915 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Slides/ShapeProperties.php @@ -0,0 +1,61 @@ +link = $link; + } + public function getLink() + { + return $this->link; + } + public function setOutline(Google_Service_Slides_Outline $outline) + { + $this->outline = $outline; + } + public function getOutline() + { + return $this->outline; + } + public function setShadow(Google_Service_Slides_Shadow $shadow) + { + $this->shadow = $shadow; + } + public function getShadow() + { + return $this->shadow; + } + public function setShapeBackgroundFill(Google_Service_Slides_ShapeBackgroundFill $shapeBackgroundFill) + { + $this->shapeBackgroundFill = $shapeBackgroundFill; + } + public function getShapeBackgroundFill() + { + return $this->shapeBackgroundFill; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Slides/SheetsChart.php b/vendor/google/apiclient-services/src/Google/Service/Slides/SheetsChart.php new file mode 100644 index 00000000..9117844e --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Slides/SheetsChart.php @@ -0,0 +1,58 @@ +chartId = $chartId; + } + public function getChartId() + { + return $this->chartId; + } + public function setContentUrl($contentUrl) + { + $this->contentUrl = $contentUrl; + } + public function getContentUrl() + { + return $this->contentUrl; + } + public function setSheetsChartProperties(Google_Service_Slides_SheetsChartProperties $sheetsChartProperties) + { + $this->sheetsChartProperties = $sheetsChartProperties; + } + public function getSheetsChartProperties() + { + return $this->sheetsChartProperties; + } + public function setSpreadsheetId($spreadsheetId) + { + $this->spreadsheetId = $spreadsheetId; + } + public function getSpreadsheetId() + { + return $this->spreadsheetId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Slides/SheetsChartProperties.php b/vendor/google/apiclient-services/src/Google/Service/Slides/SheetsChartProperties.php new file mode 100644 index 00000000..3953ab5e --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Slides/SheetsChartProperties.php @@ -0,0 +1,31 @@ +chartImageProperties = $chartImageProperties; + } + public function getChartImageProperties() + { + return $this->chartImageProperties; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Slides/Size.php b/vendor/google/apiclient-services/src/Google/Service/Slides/Size.php new file mode 100644 index 00000000..baba3854 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Slides/Size.php @@ -0,0 +1,41 @@ +height = $height; + } + public function getHeight() + { + return $this->height; + } + public function setWidth(Google_Service_Slides_Dimension $width) + { + $this->width = $width; + } + public function getWidth() + { + return $this->width; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Slides/SlideProperties.php b/vendor/google/apiclient-services/src/Google/Service/Slides/SlideProperties.php new file mode 100644 index 00000000..dc9b5986 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Slides/SlideProperties.php @@ -0,0 +1,49 @@ +layoutObjectId = $layoutObjectId; + } + public function getLayoutObjectId() + { + return $this->layoutObjectId; + } + public function setMasterObjectId($masterObjectId) + { + $this->masterObjectId = $masterObjectId; + } + public function getMasterObjectId() + { + return $this->masterObjectId; + } + public function setNotesPage(Google_Service_Slides_Page $notesPage) + { + $this->notesPage = $notesPage; + } + public function getNotesPage() + { + return $this->notesPage; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Slides/SlidesList.php b/vendor/google/apiclient-services/src/Google/Service/Slides/SlidesList.php new file mode 100644 index 00000000..cf360406 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Slides/SlidesList.php @@ -0,0 +1,40 @@ +listId = $listId; + } + public function getListId() + { + return $this->listId; + } + public function setNestingLevel($nestingLevel) + { + $this->nestingLevel = $nestingLevel; + } + public function getNestingLevel() + { + return $this->nestingLevel; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Slides/SolidFill.php b/vendor/google/apiclient-services/src/Google/Service/Slides/SolidFill.php new file mode 100644 index 00000000..beaff228 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Slides/SolidFill.php @@ -0,0 +1,40 @@ +alpha = $alpha; + } + public function getAlpha() + { + return $this->alpha; + } + public function setColor(Google_Service_Slides_OpaqueColor $color) + { + $this->color = $color; + } + public function getColor() + { + return $this->color; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Slides/StretchedPictureFill.php b/vendor/google/apiclient-services/src/Google/Service/Slides/StretchedPictureFill.php new file mode 100644 index 00000000..a85cda4d --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Slides/StretchedPictureFill.php @@ -0,0 +1,40 @@ +contentUrl = $contentUrl; + } + public function getContentUrl() + { + return $this->contentUrl; + } + public function setSize(Google_Service_Slides_Size $size) + { + $this->size = $size; + } + public function getSize() + { + return $this->size; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Slides/SubstringMatchCriteria.php b/vendor/google/apiclient-services/src/Google/Service/Slides/SubstringMatchCriteria.php new file mode 100644 index 00000000..7afce04f --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Slides/SubstringMatchCriteria.php @@ -0,0 +1,39 @@ +matchCase = $matchCase; + } + public function getMatchCase() + { + return $this->matchCase; + } + public function setText($text) + { + $this->text = $text; + } + public function getText() + { + return $this->text; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Slides/Table.php b/vendor/google/apiclient-services/src/Google/Service/Slides/Table.php new file mode 100644 index 00000000..fd3d7cd4 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Slides/Table.php @@ -0,0 +1,60 @@ +columns = $columns; + } + public function getColumns() + { + return $this->columns; + } + public function setRows($rows) + { + $this->rows = $rows; + } + public function getRows() + { + return $this->rows; + } + public function setTableColumns($tableColumns) + { + $this->tableColumns = $tableColumns; + } + public function getTableColumns() + { + return $this->tableColumns; + } + public function setTableRows($tableRows) + { + $this->tableRows = $tableRows; + } + public function getTableRows() + { + return $this->tableRows; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Slides/TableCell.php b/vendor/google/apiclient-services/src/Google/Service/Slides/TableCell.php new file mode 100644 index 00000000..69a431c6 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Slides/TableCell.php @@ -0,0 +1,69 @@ +columnSpan = $columnSpan; + } + public function getColumnSpan() + { + return $this->columnSpan; + } + public function setLocation(Google_Service_Slides_TableCellLocation $location) + { + $this->location = $location; + } + public function getLocation() + { + return $this->location; + } + public function setRowSpan($rowSpan) + { + $this->rowSpan = $rowSpan; + } + public function getRowSpan() + { + return $this->rowSpan; + } + public function setTableCellProperties(Google_Service_Slides_TableCellProperties $tableCellProperties) + { + $this->tableCellProperties = $tableCellProperties; + } + public function getTableCellProperties() + { + return $this->tableCellProperties; + } + public function setText(Google_Service_Slides_TextContent $text) + { + $this->text = $text; + } + public function getText() + { + return $this->text; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Slides/TableCellBackgroundFill.php b/vendor/google/apiclient-services/src/Google/Service/Slides/TableCellBackgroundFill.php new file mode 100644 index 00000000..38ec818b --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Slides/TableCellBackgroundFill.php @@ -0,0 +1,40 @@ +propertyState = $propertyState; + } + public function getPropertyState() + { + return $this->propertyState; + } + public function setSolidFill(Google_Service_Slides_SolidFill $solidFill) + { + $this->solidFill = $solidFill; + } + public function getSolidFill() + { + return $this->solidFill; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Slides/TableCellLocation.php b/vendor/google/apiclient-services/src/Google/Service/Slides/TableCellLocation.php new file mode 100644 index 00000000..fd111081 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Slides/TableCellLocation.php @@ -0,0 +1,39 @@ +columnIndex = $columnIndex; + } + public function getColumnIndex() + { + return $this->columnIndex; + } + public function setRowIndex($rowIndex) + { + $this->rowIndex = $rowIndex; + } + public function getRowIndex() + { + return $this->rowIndex; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Slides/TableCellProperties.php b/vendor/google/apiclient-services/src/Google/Service/Slides/TableCellProperties.php new file mode 100644 index 00000000..59e6e639 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Slides/TableCellProperties.php @@ -0,0 +1,31 @@ +tableCellBackgroundFill = $tableCellBackgroundFill; + } + public function getTableCellBackgroundFill() + { + return $this->tableCellBackgroundFill; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Slides/TableColumnProperties.php b/vendor/google/apiclient-services/src/Google/Service/Slides/TableColumnProperties.php new file mode 100644 index 00000000..99d2f10c --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Slides/TableColumnProperties.php @@ -0,0 +1,31 @@ +columnWidth = $columnWidth; + } + public function getColumnWidth() + { + return $this->columnWidth; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Slides/TableRange.php b/vendor/google/apiclient-services/src/Google/Service/Slides/TableRange.php new file mode 100644 index 00000000..bc451847 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Slides/TableRange.php @@ -0,0 +1,49 @@ +columnSpan = $columnSpan; + } + public function getColumnSpan() + { + return $this->columnSpan; + } + public function setLocation(Google_Service_Slides_TableCellLocation $location) + { + $this->location = $location; + } + public function getLocation() + { + return $this->location; + } + public function setRowSpan($rowSpan) + { + $this->rowSpan = $rowSpan; + } + public function getRowSpan() + { + return $this->rowSpan; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Slides/TableRow.php b/vendor/google/apiclient-services/src/Google/Service/Slides/TableRow.php new file mode 100644 index 00000000..41bce0f4 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Slides/TableRow.php @@ -0,0 +1,42 @@ +rowHeight = $rowHeight; + } + public function getRowHeight() + { + return $this->rowHeight; + } + public function setTableCells($tableCells) + { + $this->tableCells = $tableCells; + } + public function getTableCells() + { + return $this->tableCells; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Slides/TextContent.php b/vendor/google/apiclient-services/src/Google/Service/Slides/TextContent.php new file mode 100644 index 00000000..e4ec285d --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Slides/TextContent.php @@ -0,0 +1,42 @@ +lists = $lists; + } + public function getLists() + { + return $this->lists; + } + public function setTextElements($textElements) + { + $this->textElements = $textElements; + } + public function getTextElements() + { + return $this->textElements; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Slides/TextElement.php b/vendor/google/apiclient-services/src/Google/Service/Slides/TextElement.php new file mode 100644 index 00000000..30b5c9bb --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Slides/TextElement.php @@ -0,0 +1,69 @@ +autoText = $autoText; + } + public function getAutoText() + { + return $this->autoText; + } + public function setEndIndex($endIndex) + { + $this->endIndex = $endIndex; + } + public function getEndIndex() + { + return $this->endIndex; + } + public function setParagraphMarker(Google_Service_Slides_ParagraphMarker $paragraphMarker) + { + $this->paragraphMarker = $paragraphMarker; + } + public function getParagraphMarker() + { + return $this->paragraphMarker; + } + public function setStartIndex($startIndex) + { + $this->startIndex = $startIndex; + } + public function getStartIndex() + { + return $this->startIndex; + } + public function setTextRun(Google_Service_Slides_TextRun $textRun) + { + $this->textRun = $textRun; + } + public function getTextRun() + { + return $this->textRun; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Slides/TextRun.php b/vendor/google/apiclient-services/src/Google/Service/Slides/TextRun.php new file mode 100644 index 00000000..979318fe --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Slides/TextRun.php @@ -0,0 +1,40 @@ +content = $content; + } + public function getContent() + { + return $this->content; + } + public function setStyle(Google_Service_Slides_TextStyle $style) + { + $this->style = $style; + } + public function getStyle() + { + return $this->style; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Slides/TextStyle.php b/vendor/google/apiclient-services/src/Google/Service/Slides/TextStyle.php new file mode 100644 index 00000000..407fe489 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Slides/TextStyle.php @@ -0,0 +1,134 @@ +backgroundColor = $backgroundColor; + } + public function getBackgroundColor() + { + return $this->backgroundColor; + } + public function setBaselineOffset($baselineOffset) + { + $this->baselineOffset = $baselineOffset; + } + public function getBaselineOffset() + { + return $this->baselineOffset; + } + public function setBold($bold) + { + $this->bold = $bold; + } + public function getBold() + { + return $this->bold; + } + public function setFontFamily($fontFamily) + { + $this->fontFamily = $fontFamily; + } + public function getFontFamily() + { + return $this->fontFamily; + } + public function setFontSize(Google_Service_Slides_Dimension $fontSize) + { + $this->fontSize = $fontSize; + } + public function getFontSize() + { + return $this->fontSize; + } + public function setForegroundColor(Google_Service_Slides_OptionalColor $foregroundColor) + { + $this->foregroundColor = $foregroundColor; + } + public function getForegroundColor() + { + return $this->foregroundColor; + } + public function setItalic($italic) + { + $this->italic = $italic; + } + public function getItalic() + { + return $this->italic; + } + public function setLink(Google_Service_Slides_Link $link) + { + $this->link = $link; + } + public function getLink() + { + return $this->link; + } + public function setSmallCaps($smallCaps) + { + $this->smallCaps = $smallCaps; + } + public function getSmallCaps() + { + return $this->smallCaps; + } + public function setStrikethrough($strikethrough) + { + $this->strikethrough = $strikethrough; + } + public function getStrikethrough() + { + return $this->strikethrough; + } + public function setUnderline($underline) + { + $this->underline = $underline; + } + public function getUnderline() + { + return $this->underline; + } + public function setWeightedFontFamily(Google_Service_Slides_WeightedFontFamily $weightedFontFamily) + { + $this->weightedFontFamily = $weightedFontFamily; + } + public function getWeightedFontFamily() + { + return $this->weightedFontFamily; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Slides/ThemeColorPair.php b/vendor/google/apiclient-services/src/Google/Service/Slides/ThemeColorPair.php new file mode 100644 index 00000000..8424997a --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Slides/ThemeColorPair.php @@ -0,0 +1,40 @@ +color = $color; + } + public function getColor() + { + return $this->color; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Slides/UpdateImagePropertiesRequest.php b/vendor/google/apiclient-services/src/Google/Service/Slides/UpdateImagePropertiesRequest.php new file mode 100644 index 00000000..d4fc99d6 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Slides/UpdateImagePropertiesRequest.php @@ -0,0 +1,49 @@ +fields = $fields; + } + public function getFields() + { + return $this->fields; + } + public function setImageProperties(Google_Service_Slides_ImageProperties $imageProperties) + { + $this->imageProperties = $imageProperties; + } + public function getImageProperties() + { + return $this->imageProperties; + } + public function setObjectId($objectId) + { + $this->objectId = $objectId; + } + public function getObjectId() + { + return $this->objectId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Slides/UpdateLinePropertiesRequest.php b/vendor/google/apiclient-services/src/Google/Service/Slides/UpdateLinePropertiesRequest.php new file mode 100644 index 00000000..92c56e2c --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Slides/UpdateLinePropertiesRequest.php @@ -0,0 +1,49 @@ +fields = $fields; + } + public function getFields() + { + return $this->fields; + } + public function setLineProperties(Google_Service_Slides_LineProperties $lineProperties) + { + $this->lineProperties = $lineProperties; + } + public function getLineProperties() + { + return $this->lineProperties; + } + public function setObjectId($objectId) + { + $this->objectId = $objectId; + } + public function getObjectId() + { + return $this->objectId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Slides/UpdatePageElementTransformRequest.php b/vendor/google/apiclient-services/src/Google/Service/Slides/UpdatePageElementTransformRequest.php new file mode 100644 index 00000000..b4ec320e --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Slides/UpdatePageElementTransformRequest.php @@ -0,0 +1,49 @@ +applyMode = $applyMode; + } + public function getApplyMode() + { + return $this->applyMode; + } + public function setObjectId($objectId) + { + $this->objectId = $objectId; + } + public function getObjectId() + { + return $this->objectId; + } + public function setTransform(Google_Service_Slides_AffineTransform $transform) + { + $this->transform = $transform; + } + public function getTransform() + { + return $this->transform; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Slides/UpdatePagePropertiesRequest.php b/vendor/google/apiclient-services/src/Google/Service/Slides/UpdatePagePropertiesRequest.php new file mode 100644 index 00000000..a4c33639 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Slides/UpdatePagePropertiesRequest.php @@ -0,0 +1,49 @@ +fields = $fields; + } + public function getFields() + { + return $this->fields; + } + public function setObjectId($objectId) + { + $this->objectId = $objectId; + } + public function getObjectId() + { + return $this->objectId; + } + public function setPageProperties(Google_Service_Slides_PageProperties $pageProperties) + { + $this->pageProperties = $pageProperties; + } + public function getPageProperties() + { + return $this->pageProperties; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Slides/UpdateParagraphStyleRequest.php b/vendor/google/apiclient-services/src/Google/Service/Slides/UpdateParagraphStyleRequest.php new file mode 100644 index 00000000..b0720d00 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Slides/UpdateParagraphStyleRequest.php @@ -0,0 +1,69 @@ +cellLocation = $cellLocation; + } + public function getCellLocation() + { + return $this->cellLocation; + } + public function setFields($fields) + { + $this->fields = $fields; + } + public function getFields() + { + return $this->fields; + } + public function setObjectId($objectId) + { + $this->objectId = $objectId; + } + public function getObjectId() + { + return $this->objectId; + } + public function setStyle(Google_Service_Slides_ParagraphStyle $style) + { + $this->style = $style; + } + public function getStyle() + { + return $this->style; + } + public function setTextRange(Google_Service_Slides_Range $textRange) + { + $this->textRange = $textRange; + } + public function getTextRange() + { + return $this->textRange; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Slides/UpdateShapePropertiesRequest.php b/vendor/google/apiclient-services/src/Google/Service/Slides/UpdateShapePropertiesRequest.php new file mode 100644 index 00000000..bb3a3af5 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Slides/UpdateShapePropertiesRequest.php @@ -0,0 +1,49 @@ +fields = $fields; + } + public function getFields() + { + return $this->fields; + } + public function setObjectId($objectId) + { + $this->objectId = $objectId; + } + public function getObjectId() + { + return $this->objectId; + } + public function setShapeProperties(Google_Service_Slides_ShapeProperties $shapeProperties) + { + $this->shapeProperties = $shapeProperties; + } + public function getShapeProperties() + { + return $this->shapeProperties; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Slides/UpdateSlidesPositionRequest.php b/vendor/google/apiclient-services/src/Google/Service/Slides/UpdateSlidesPositionRequest.php new file mode 100644 index 00000000..b0f278d6 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Slides/UpdateSlidesPositionRequest.php @@ -0,0 +1,40 @@ +insertionIndex = $insertionIndex; + } + public function getInsertionIndex() + { + return $this->insertionIndex; + } + public function setSlideObjectIds($slideObjectIds) + { + $this->slideObjectIds = $slideObjectIds; + } + public function getSlideObjectIds() + { + return $this->slideObjectIds; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Slides/UpdateTableCellPropertiesRequest.php b/vendor/google/apiclient-services/src/Google/Service/Slides/UpdateTableCellPropertiesRequest.php new file mode 100644 index 00000000..bf5d71fd --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Slides/UpdateTableCellPropertiesRequest.php @@ -0,0 +1,59 @@ +fields = $fields; + } + public function getFields() + { + return $this->fields; + } + public function setObjectId($objectId) + { + $this->objectId = $objectId; + } + public function getObjectId() + { + return $this->objectId; + } + public function setTableCellProperties(Google_Service_Slides_TableCellProperties $tableCellProperties) + { + $this->tableCellProperties = $tableCellProperties; + } + public function getTableCellProperties() + { + return $this->tableCellProperties; + } + public function setTableRange(Google_Service_Slides_TableRange $tableRange) + { + $this->tableRange = $tableRange; + } + public function getTableRange() + { + return $this->tableRange; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Slides/UpdateTextStyleRequest.php b/vendor/google/apiclient-services/src/Google/Service/Slides/UpdateTextStyleRequest.php new file mode 100644 index 00000000..fb1995d3 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Slides/UpdateTextStyleRequest.php @@ -0,0 +1,69 @@ +cellLocation = $cellLocation; + } + public function getCellLocation() + { + return $this->cellLocation; + } + public function setFields($fields) + { + $this->fields = $fields; + } + public function getFields() + { + return $this->fields; + } + public function setObjectId($objectId) + { + $this->objectId = $objectId; + } + public function getObjectId() + { + return $this->objectId; + } + public function setStyle(Google_Service_Slides_TextStyle $style) + { + $this->style = $style; + } + public function getStyle() + { + return $this->style; + } + public function setTextRange(Google_Service_Slides_Range $textRange) + { + $this->textRange = $textRange; + } + public function getTextRange() + { + return $this->textRange; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Slides/UpdateVideoPropertiesRequest.php b/vendor/google/apiclient-services/src/Google/Service/Slides/UpdateVideoPropertiesRequest.php new file mode 100644 index 00000000..3a0199b5 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Slides/UpdateVideoPropertiesRequest.php @@ -0,0 +1,49 @@ +fields = $fields; + } + public function getFields() + { + return $this->fields; + } + public function setObjectId($objectId) + { + $this->objectId = $objectId; + } + public function getObjectId() + { + return $this->objectId; + } + public function setVideoProperties(Google_Service_Slides_VideoProperties $videoProperties) + { + $this->videoProperties = $videoProperties; + } + public function getVideoProperties() + { + return $this->videoProperties; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Slides/Video.php b/vendor/google/apiclient-services/src/Google/Service/Slides/Video.php new file mode 100644 index 00000000..66d976c1 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Slides/Video.php @@ -0,0 +1,58 @@ +id = $id; + } + public function getId() + { + return $this->id; + } + public function setSource($source) + { + $this->source = $source; + } + public function getSource() + { + return $this->source; + } + public function setUrl($url) + { + $this->url = $url; + } + public function getUrl() + { + return $this->url; + } + public function setVideoProperties(Google_Service_Slides_VideoProperties $videoProperties) + { + $this->videoProperties = $videoProperties; + } + public function getVideoProperties() + { + return $this->videoProperties; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Slides/VideoProperties.php b/vendor/google/apiclient-services/src/Google/Service/Slides/VideoProperties.php new file mode 100644 index 00000000..9f75bcba --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Slides/VideoProperties.php @@ -0,0 +1,31 @@ +outline = $outline; + } + public function getOutline() + { + return $this->outline; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Slides/WeightedFontFamily.php b/vendor/google/apiclient-services/src/Google/Service/Slides/WeightedFontFamily.php new file mode 100644 index 00000000..324142ed --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Slides/WeightedFontFamily.php @@ -0,0 +1,39 @@ +fontFamily = $fontFamily; + } + public function getFontFamily() + { + return $this->fontFamily; + } + public function setWeight($weight) + { + $this->weight = $weight; + } + public function getWeight() + { + return $this->weight; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Slides/WordArt.php b/vendor/google/apiclient-services/src/Google/Service/Slides/WordArt.php new file mode 100644 index 00000000..52f84ddb --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Slides/WordArt.php @@ -0,0 +1,30 @@ +renderedText = $renderedText; + } + public function getRenderedText() + { + return $this->renderedText; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Slides/WriteControl.php b/vendor/google/apiclient-services/src/Google/Service/Slides/WriteControl.php new file mode 100644 index 00000000..f3d55588 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Slides/WriteControl.php @@ -0,0 +1,30 @@ +requiredRevisionId = $requiredRevisionId; + } + public function getRequiredRevisionId() + { + return $this->requiredRevisionId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Spanner.php b/vendor/google/apiclient-services/src/Google/Service/Spanner.php new file mode 100644 index 00000000..66750806 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Spanner.php @@ -0,0 +1,541 @@ + + * Cloud Spanner is a managed, mission-critical, globally consistent and + * scalable relational database service.

+ * + *

+ * For more information about this service, see the API + * Documentation + *

+ * + * @author Google, Inc. + */ +class Google_Service_Spanner extends Google_Service +{ + /** View and manage your data across Google Cloud Platform services. */ + const CLOUD_PLATFORM = + "https://www.googleapis.com/auth/cloud-platform"; + + public $projects_instanceConfigs; + public $projects_instances; + public $projects_instances_databases; + public $projects_instances_databases_operations; + public $projects_instances_databases_sessions; + public $projects_instances_operations; + + /** + * Constructs the internal representation of the Spanner service. + * + * @param Google_Client $client + */ + public function __construct(Google_Client $client) + { + parent::__construct($client); + $this->rootUrl = 'https://spanner.googleapis.com/'; + $this->servicePath = ''; + $this->version = 'v1'; + $this->serviceName = 'spanner'; + + $this->projects_instanceConfigs = new Google_Service_Spanner_Resource_ProjectsInstanceConfigs( + $this, + $this->serviceName, + 'instanceConfigs', + array( + 'methods' => array( + 'get' => array( + 'path' => 'v1/{+name}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'name' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'v1/{+parent}/instanceConfigs', + 'httpMethod' => 'GET', + 'parameters' => array( + 'parent' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pageSize' => array( + 'location' => 'query', + 'type' => 'integer', + ), + ), + ), + ) + ) + ); + $this->projects_instances = new Google_Service_Spanner_Resource_ProjectsInstances( + $this, + $this->serviceName, + 'instances', + array( + 'methods' => array( + 'create' => array( + 'path' => 'v1/{+parent}/instances', + 'httpMethod' => 'POST', + 'parameters' => array( + 'parent' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'delete' => array( + 'path' => 'v1/{+name}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'name' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'get' => array( + 'path' => 'v1/{+name}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'name' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'getIamPolicy' => array( + 'path' => 'v1/{+resource}:getIamPolicy', + 'httpMethod' => 'POST', + 'parameters' => array( + 'resource' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'v1/{+parent}/instances', + 'httpMethod' => 'GET', + 'parameters' => array( + 'parent' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pageSize' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'filter' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'patch' => array( + 'path' => 'v1/{+name}', + 'httpMethod' => 'PATCH', + 'parameters' => array( + 'name' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'setIamPolicy' => array( + 'path' => 'v1/{+resource}:setIamPolicy', + 'httpMethod' => 'POST', + 'parameters' => array( + 'resource' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'testIamPermissions' => array( + 'path' => 'v1/{+resource}:testIamPermissions', + 'httpMethod' => 'POST', + 'parameters' => array( + 'resource' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->projects_instances_databases = new Google_Service_Spanner_Resource_ProjectsInstancesDatabases( + $this, + $this->serviceName, + 'databases', + array( + 'methods' => array( + 'create' => array( + 'path' => 'v1/{+parent}/databases', + 'httpMethod' => 'POST', + 'parameters' => array( + 'parent' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'dropDatabase' => array( + 'path' => 'v1/{+database}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'database' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'get' => array( + 'path' => 'v1/{+name}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'name' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'getDdl' => array( + 'path' => 'v1/{+database}/ddl', + 'httpMethod' => 'GET', + 'parameters' => array( + 'database' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'getIamPolicy' => array( + 'path' => 'v1/{+resource}:getIamPolicy', + 'httpMethod' => 'POST', + 'parameters' => array( + 'resource' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'v1/{+parent}/databases', + 'httpMethod' => 'GET', + 'parameters' => array( + 'parent' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pageSize' => array( + 'location' => 'query', + 'type' => 'integer', + ), + ), + ),'setIamPolicy' => array( + 'path' => 'v1/{+resource}:setIamPolicy', + 'httpMethod' => 'POST', + 'parameters' => array( + 'resource' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'testIamPermissions' => array( + 'path' => 'v1/{+resource}:testIamPermissions', + 'httpMethod' => 'POST', + 'parameters' => array( + 'resource' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'updateDdl' => array( + 'path' => 'v1/{+database}/ddl', + 'httpMethod' => 'PATCH', + 'parameters' => array( + 'database' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->projects_instances_databases_operations = new Google_Service_Spanner_Resource_ProjectsInstancesDatabasesOperations( + $this, + $this->serviceName, + 'operations', + array( + 'methods' => array( + 'cancel' => array( + 'path' => 'v1/{+name}:cancel', + 'httpMethod' => 'POST', + 'parameters' => array( + 'name' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'delete' => array( + 'path' => 'v1/{+name}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'name' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'get' => array( + 'path' => 'v1/{+name}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'name' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'v1/{+name}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'name' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'pageSize' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'filter' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + $this->projects_instances_databases_sessions = new Google_Service_Spanner_Resource_ProjectsInstancesDatabasesSessions( + $this, + $this->serviceName, + 'sessions', + array( + 'methods' => array( + 'beginTransaction' => array( + 'path' => 'v1/{+session}:beginTransaction', + 'httpMethod' => 'POST', + 'parameters' => array( + 'session' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'commit' => array( + 'path' => 'v1/{+session}:commit', + 'httpMethod' => 'POST', + 'parameters' => array( + 'session' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'create' => array( + 'path' => 'v1/{+database}/sessions', + 'httpMethod' => 'POST', + 'parameters' => array( + 'database' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'delete' => array( + 'path' => 'v1/{+name}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'name' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'executeSql' => array( + 'path' => 'v1/{+session}:executeSql', + 'httpMethod' => 'POST', + 'parameters' => array( + 'session' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'executeStreamingSql' => array( + 'path' => 'v1/{+session}:executeStreamingSql', + 'httpMethod' => 'POST', + 'parameters' => array( + 'session' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'get' => array( + 'path' => 'v1/{+name}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'name' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'read' => array( + 'path' => 'v1/{+session}:read', + 'httpMethod' => 'POST', + 'parameters' => array( + 'session' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'rollback' => array( + 'path' => 'v1/{+session}:rollback', + 'httpMethod' => 'POST', + 'parameters' => array( + 'session' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'streamingRead' => array( + 'path' => 'v1/{+session}:streamingRead', + 'httpMethod' => 'POST', + 'parameters' => array( + 'session' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->projects_instances_operations = new Google_Service_Spanner_Resource_ProjectsInstancesOperations( + $this, + $this->serviceName, + 'operations', + array( + 'methods' => array( + 'cancel' => array( + 'path' => 'v1/{+name}:cancel', + 'httpMethod' => 'POST', + 'parameters' => array( + 'name' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'delete' => array( + 'path' => 'v1/{+name}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'name' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'get' => array( + 'path' => 'v1/{+name}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'name' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'v1/{+name}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'name' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'filter' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pageSize' => array( + 'location' => 'query', + 'type' => 'integer', + ), + ), + ), + ) + ) + ); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Spanner/AuditConfig.php b/vendor/google/apiclient-services/src/Google/Service/Spanner/AuditConfig.php new file mode 100644 index 00000000..ce1f192d --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Spanner/AuditConfig.php @@ -0,0 +1,50 @@ +auditLogConfigs = $auditLogConfigs; + } + public function getAuditLogConfigs() + { + return $this->auditLogConfigs; + } + public function setExemptedMembers($exemptedMembers) + { + $this->exemptedMembers = $exemptedMembers; + } + public function getExemptedMembers() + { + return $this->exemptedMembers; + } + public function setService($service) + { + $this->service = $service; + } + public function getService() + { + return $this->service; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Spanner/AuditLogConfig.php b/vendor/google/apiclient-services/src/Google/Service/Spanner/AuditLogConfig.php new file mode 100644 index 00000000..78d7a059 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Spanner/AuditLogConfig.php @@ -0,0 +1,40 @@ +exemptedMembers = $exemptedMembers; + } + public function getExemptedMembers() + { + return $this->exemptedMembers; + } + public function setLogType($logType) + { + $this->logType = $logType; + } + public function getLogType() + { + return $this->logType; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Spanner/BeginTransactionRequest.php b/vendor/google/apiclient-services/src/Google/Service/Spanner/BeginTransactionRequest.php new file mode 100644 index 00000000..ceb465a4 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Spanner/BeginTransactionRequest.php @@ -0,0 +1,31 @@ +options = $options; + } + public function getOptions() + { + return $this->options; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Spanner/Binding.php b/vendor/google/apiclient-services/src/Google/Service/Spanner/Binding.php new file mode 100644 index 00000000..ad108a2b --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Spanner/Binding.php @@ -0,0 +1,40 @@ +members = $members; + } + public function getMembers() + { + return $this->members; + } + public function setRole($role) + { + $this->role = $role; + } + public function getRole() + { + return $this->role; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Spanner/ChildLink.php b/vendor/google/apiclient-services/src/Google/Service/Spanner/ChildLink.php new file mode 100644 index 00000000..5a9025c8 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Spanner/ChildLink.php @@ -0,0 +1,48 @@ +childIndex = $childIndex; + } + public function getChildIndex() + { + return $this->childIndex; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } + public function setVariable($variable) + { + $this->variable = $variable; + } + public function getVariable() + { + return $this->variable; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Spanner/CloudAuditOptions.php b/vendor/google/apiclient-services/src/Google/Service/Spanner/CloudAuditOptions.php new file mode 100644 index 00000000..b68c441a --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Spanner/CloudAuditOptions.php @@ -0,0 +1,20 @@ +mutations = $mutations; + } + public function getMutations() + { + return $this->mutations; + } + public function setSingleUseTransaction(Google_Service_Spanner_TransactionOptions $singleUseTransaction) + { + $this->singleUseTransaction = $singleUseTransaction; + } + public function getSingleUseTransaction() + { + return $this->singleUseTransaction; + } + public function setTransactionId($transactionId) + { + $this->transactionId = $transactionId; + } + public function getTransactionId() + { + return $this->transactionId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Spanner/CommitResponse.php b/vendor/google/apiclient-services/src/Google/Service/Spanner/CommitResponse.php new file mode 100644 index 00000000..43b27026 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Spanner/CommitResponse.php @@ -0,0 +1,30 @@ +commitTimestamp = $commitTimestamp; + } + public function getCommitTimestamp() + { + return $this->commitTimestamp; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Spanner/Condition.php b/vendor/google/apiclient-services/src/Google/Service/Spanner/Condition.php new file mode 100644 index 00000000..a191309b --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Spanner/Condition.php @@ -0,0 +1,76 @@ +iam = $iam; + } + public function getIam() + { + return $this->iam; + } + public function setOp($op) + { + $this->op = $op; + } + public function getOp() + { + return $this->op; + } + public function setSvc($svc) + { + $this->svc = $svc; + } + public function getSvc() + { + return $this->svc; + } + public function setSys($sys) + { + $this->sys = $sys; + } + public function getSys() + { + return $this->sys; + } + public function setValue($value) + { + $this->value = $value; + } + public function getValue() + { + return $this->value; + } + public function setValues($values) + { + $this->values = $values; + } + public function getValues() + { + return $this->values; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Spanner/CounterOptions.php b/vendor/google/apiclient-services/src/Google/Service/Spanner/CounterOptions.php new file mode 100644 index 00000000..8a66d6de --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Spanner/CounterOptions.php @@ -0,0 +1,39 @@ +field = $field; + } + public function getField() + { + return $this->field; + } + public function setMetric($metric) + { + $this->metric = $metric; + } + public function getMetric() + { + return $this->metric; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Spanner/CreateDatabaseMetadata.php b/vendor/google/apiclient-services/src/Google/Service/Spanner/CreateDatabaseMetadata.php new file mode 100644 index 00000000..8d2b3796 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Spanner/CreateDatabaseMetadata.php @@ -0,0 +1,30 @@ +database = $database; + } + public function getDatabase() + { + return $this->database; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Spanner/CreateDatabaseRequest.php b/vendor/google/apiclient-services/src/Google/Service/Spanner/CreateDatabaseRequest.php new file mode 100644 index 00000000..829a77a9 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Spanner/CreateDatabaseRequest.php @@ -0,0 +1,40 @@ +createStatement = $createStatement; + } + public function getCreateStatement() + { + return $this->createStatement; + } + public function setExtraStatements($extraStatements) + { + $this->extraStatements = $extraStatements; + } + public function getExtraStatements() + { + return $this->extraStatements; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Spanner/CreateInstanceMetadata.php b/vendor/google/apiclient-services/src/Google/Service/Spanner/CreateInstanceMetadata.php new file mode 100644 index 00000000..85aa65c1 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Spanner/CreateInstanceMetadata.php @@ -0,0 +1,58 @@ +cancelTime = $cancelTime; + } + public function getCancelTime() + { + return $this->cancelTime; + } + public function setEndTime($endTime) + { + $this->endTime = $endTime; + } + public function getEndTime() + { + return $this->endTime; + } + public function setInstance(Google_Service_Spanner_Instance $instance) + { + $this->instance = $instance; + } + public function getInstance() + { + return $this->instance; + } + public function setStartTime($startTime) + { + $this->startTime = $startTime; + } + public function getStartTime() + { + return $this->startTime; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Spanner/CreateInstanceRequest.php b/vendor/google/apiclient-services/src/Google/Service/Spanner/CreateInstanceRequest.php new file mode 100644 index 00000000..5d4ea1bf --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Spanner/CreateInstanceRequest.php @@ -0,0 +1,40 @@ +instance = $instance; + } + public function getInstance() + { + return $this->instance; + } + public function setInstanceId($instanceId) + { + $this->instanceId = $instanceId; + } + public function getInstanceId() + { + return $this->instanceId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Spanner/DataAccessOptions.php b/vendor/google/apiclient-services/src/Google/Service/Spanner/DataAccessOptions.php new file mode 100644 index 00000000..a5d279c9 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Spanner/DataAccessOptions.php @@ -0,0 +1,20 @@ +name = $name; + } + public function getName() + { + return $this->name; + } + public function setState($state) + { + $this->state = $state; + } + public function getState() + { + return $this->state; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Spanner/Delete.php b/vendor/google/apiclient-services/src/Google/Service/Spanner/Delete.php new file mode 100644 index 00000000..be3a760c --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Spanner/Delete.php @@ -0,0 +1,40 @@ +keySet = $keySet; + } + public function getKeySet() + { + return $this->keySet; + } + public function setTable($table) + { + $this->table = $table; + } + public function getTable() + { + return $this->table; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Spanner/ExecuteSqlRequest.php b/vendor/google/apiclient-services/src/Google/Service/Spanner/ExecuteSqlRequest.php new file mode 100644 index 00000000..c3840061 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Spanner/ExecuteSqlRequest.php @@ -0,0 +1,77 @@ +paramTypes = $paramTypes; + } + public function getParamTypes() + { + return $this->paramTypes; + } + public function setParams($params) + { + $this->params = $params; + } + public function getParams() + { + return $this->params; + } + public function setQueryMode($queryMode) + { + $this->queryMode = $queryMode; + } + public function getQueryMode() + { + return $this->queryMode; + } + public function setResumeToken($resumeToken) + { + $this->resumeToken = $resumeToken; + } + public function getResumeToken() + { + return $this->resumeToken; + } + public function setSql($sql) + { + $this->sql = $sql; + } + public function getSql() + { + return $this->sql; + } + public function setTransaction(Google_Service_Spanner_TransactionSelector $transaction) + { + $this->transaction = $transaction; + } + public function getTransaction() + { + return $this->transaction; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Spanner/Field.php b/vendor/google/apiclient-services/src/Google/Service/Spanner/Field.php new file mode 100644 index 00000000..5e45b3c5 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Spanner/Field.php @@ -0,0 +1,40 @@ +name = $name; + } + public function getName() + { + return $this->name; + } + public function setType(Google_Service_Spanner_Type $type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Spanner/GetDatabaseDdlResponse.php b/vendor/google/apiclient-services/src/Google/Service/Spanner/GetDatabaseDdlResponse.php new file mode 100644 index 00000000..1870d1f0 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Spanner/GetDatabaseDdlResponse.php @@ -0,0 +1,31 @@ +statements = $statements; + } + public function getStatements() + { + return $this->statements; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Spanner/GetIamPolicyRequest.php b/vendor/google/apiclient-services/src/Google/Service/Spanner/GetIamPolicyRequest.php new file mode 100644 index 00000000..f8dbbcc8 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Spanner/GetIamPolicyRequest.php @@ -0,0 +1,20 @@ +config = $config; + } + public function getConfig() + { + return $this->config; + } + public function setDisplayName($displayName) + { + $this->displayName = $displayName; + } + public function getDisplayName() + { + return $this->displayName; + } + public function setLabels($labels) + { + $this->labels = $labels; + } + public function getLabels() + { + return $this->labels; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setNodeCount($nodeCount) + { + $this->nodeCount = $nodeCount; + } + public function getNodeCount() + { + return $this->nodeCount; + } + public function setState($state) + { + $this->state = $state; + } + public function getState() + { + return $this->state; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Spanner/InstanceConfig.php b/vendor/google/apiclient-services/src/Google/Service/Spanner/InstanceConfig.php new file mode 100644 index 00000000..38c5d9e1 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Spanner/InstanceConfig.php @@ -0,0 +1,39 @@ +displayName = $displayName; + } + public function getDisplayName() + { + return $this->displayName; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Spanner/KeyRange.php b/vendor/google/apiclient-services/src/Google/Service/Spanner/KeyRange.php new file mode 100644 index 00000000..6b74eee7 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Spanner/KeyRange.php @@ -0,0 +1,58 @@ +endClosed = $endClosed; + } + public function getEndClosed() + { + return $this->endClosed; + } + public function setEndOpen($endOpen) + { + $this->endOpen = $endOpen; + } + public function getEndOpen() + { + return $this->endOpen; + } + public function setStartClosed($startClosed) + { + $this->startClosed = $startClosed; + } + public function getStartClosed() + { + return $this->startClosed; + } + public function setStartOpen($startOpen) + { + $this->startOpen = $startOpen; + } + public function getStartOpen() + { + return $this->startOpen; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Spanner/KeySet.php b/vendor/google/apiclient-services/src/Google/Service/Spanner/KeySet.php new file mode 100644 index 00000000..9970900a --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Spanner/KeySet.php @@ -0,0 +1,50 @@ +all = $all; + } + public function getAll() + { + return $this->all; + } + public function setKeys($keys) + { + $this->keys = $keys; + } + public function getKeys() + { + return $this->keys; + } + public function setRanges($ranges) + { + $this->ranges = $ranges; + } + public function getRanges() + { + return $this->ranges; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Spanner/ListDatabasesResponse.php b/vendor/google/apiclient-services/src/Google/Service/Spanner/ListDatabasesResponse.php new file mode 100644 index 00000000..fc955dac --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Spanner/ListDatabasesResponse.php @@ -0,0 +1,41 @@ +databases = $databases; + } + public function getDatabases() + { + return $this->databases; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Spanner/ListInstanceConfigsResponse.php b/vendor/google/apiclient-services/src/Google/Service/Spanner/ListInstanceConfigsResponse.php new file mode 100644 index 00000000..6900bb7b --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Spanner/ListInstanceConfigsResponse.php @@ -0,0 +1,41 @@ +instanceConfigs = $instanceConfigs; + } + public function getInstanceConfigs() + { + return $this->instanceConfigs; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Spanner/ListInstancesResponse.php b/vendor/google/apiclient-services/src/Google/Service/Spanner/ListInstancesResponse.php new file mode 100644 index 00000000..89771c18 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Spanner/ListInstancesResponse.php @@ -0,0 +1,41 @@ +instances = $instances; + } + public function getInstances() + { + return $this->instances; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Spanner/ListOperationsResponse.php b/vendor/google/apiclient-services/src/Google/Service/Spanner/ListOperationsResponse.php new file mode 100644 index 00000000..60967570 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Spanner/ListOperationsResponse.php @@ -0,0 +1,41 @@ +nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setOperations($operations) + { + $this->operations = $operations; + } + public function getOperations() + { + return $this->operations; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Spanner/LogConfig.php b/vendor/google/apiclient-services/src/Google/Service/Spanner/LogConfig.php new file mode 100644 index 00000000..cef56047 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Spanner/LogConfig.php @@ -0,0 +1,51 @@ +cloudAudit = $cloudAudit; + } + public function getCloudAudit() + { + return $this->cloudAudit; + } + public function setCounter(Google_Service_Spanner_CounterOptions $counter) + { + $this->counter = $counter; + } + public function getCounter() + { + return $this->counter; + } + public function setDataAccess(Google_Service_Spanner_DataAccessOptions $dataAccess) + { + $this->dataAccess = $dataAccess; + } + public function getDataAccess() + { + return $this->dataAccess; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Spanner/Mutation.php b/vendor/google/apiclient-services/src/Google/Service/Spanner/Mutation.php new file mode 100644 index 00000000..41c618c3 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Spanner/Mutation.php @@ -0,0 +1,71 @@ +delete = $delete; + } + public function getDelete() + { + return $this->delete; + } + public function setInsert(Google_Service_Spanner_Write $insert) + { + $this->insert = $insert; + } + public function getInsert() + { + return $this->insert; + } + public function setInsertOrUpdate(Google_Service_Spanner_Write $insertOrUpdate) + { + $this->insertOrUpdate = $insertOrUpdate; + } + public function getInsertOrUpdate() + { + return $this->insertOrUpdate; + } + public function setReplace(Google_Service_Spanner_Write $replace) + { + $this->replace = $replace; + } + public function getReplace() + { + return $this->replace; + } + public function setUpdate(Google_Service_Spanner_Write $update) + { + $this->update = $update; + } + public function getUpdate() + { + return $this->update; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Spanner/Operation.php b/vendor/google/apiclient-services/src/Google/Service/Spanner/Operation.php new file mode 100644 index 00000000..fb5b8812 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Spanner/Operation.php @@ -0,0 +1,67 @@ +done = $done; + } + public function getDone() + { + return $this->done; + } + public function setError(Google_Service_Spanner_Status $error) + { + $this->error = $error; + } + public function getError() + { + return $this->error; + } + public function setMetadata($metadata) + { + $this->metadata = $metadata; + } + public function getMetadata() + { + return $this->metadata; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setResponse($response) + { + $this->response = $response; + } + public function getResponse() + { + return $this->response; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Spanner/PartialResultSet.php b/vendor/google/apiclient-services/src/Google/Service/Spanner/PartialResultSet.php new file mode 100644 index 00000000..61904c58 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Spanner/PartialResultSet.php @@ -0,0 +1,69 @@ +chunkedValue = $chunkedValue; + } + public function getChunkedValue() + { + return $this->chunkedValue; + } + public function setMetadata(Google_Service_Spanner_ResultSetMetadata $metadata) + { + $this->metadata = $metadata; + } + public function getMetadata() + { + return $this->metadata; + } + public function setResumeToken($resumeToken) + { + $this->resumeToken = $resumeToken; + } + public function getResumeToken() + { + return $this->resumeToken; + } + public function setStats(Google_Service_Spanner_ResultSetStats $stats) + { + $this->stats = $stats; + } + public function getStats() + { + return $this->stats; + } + public function setValues($values) + { + $this->values = $values; + } + public function getValues() + { + return $this->values; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Spanner/PlanNode.php b/vendor/google/apiclient-services/src/Google/Service/Spanner/PlanNode.php new file mode 100644 index 00000000..a4d08dd2 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Spanner/PlanNode.php @@ -0,0 +1,87 @@ +childLinks = $childLinks; + } + public function getChildLinks() + { + return $this->childLinks; + } + public function setDisplayName($displayName) + { + $this->displayName = $displayName; + } + public function getDisplayName() + { + return $this->displayName; + } + public function setExecutionStats($executionStats) + { + $this->executionStats = $executionStats; + } + public function getExecutionStats() + { + return $this->executionStats; + } + public function setIndex($index) + { + $this->index = $index; + } + public function getIndex() + { + return $this->index; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setMetadata($metadata) + { + $this->metadata = $metadata; + } + public function getMetadata() + { + return $this->metadata; + } + public function setShortRepresentation(Google_Service_Spanner_ShortRepresentation $shortRepresentation) + { + $this->shortRepresentation = $shortRepresentation; + } + public function getShortRepresentation() + { + return $this->shortRepresentation; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Spanner/Policy.php b/vendor/google/apiclient-services/src/Google/Service/Spanner/Policy.php new file mode 100644 index 00000000..4e851430 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Spanner/Policy.php @@ -0,0 +1,79 @@ +auditConfigs = $auditConfigs; + } + public function getAuditConfigs() + { + return $this->auditConfigs; + } + public function setBindings($bindings) + { + $this->bindings = $bindings; + } + public function getBindings() + { + return $this->bindings; + } + public function setEtag($etag) + { + $this->etag = $etag; + } + public function getEtag() + { + return $this->etag; + } + public function setIamOwned($iamOwned) + { + $this->iamOwned = $iamOwned; + } + public function getIamOwned() + { + return $this->iamOwned; + } + public function setRules($rules) + { + $this->rules = $rules; + } + public function getRules() + { + return $this->rules; + } + public function setVersion($version) + { + $this->version = $version; + } + public function getVersion() + { + return $this->version; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Spanner/QueryPlan.php b/vendor/google/apiclient-services/src/Google/Service/Spanner/QueryPlan.php new file mode 100644 index 00000000..4f6868ce --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Spanner/QueryPlan.php @@ -0,0 +1,32 @@ +planNodes = $planNodes; + } + public function getPlanNodes() + { + return $this->planNodes; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Spanner/ReadOnly.php b/vendor/google/apiclient-services/src/Google/Service/Spanner/ReadOnly.php new file mode 100644 index 00000000..1e770c88 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Spanner/ReadOnly.php @@ -0,0 +1,75 @@ +exactStaleness = $exactStaleness; + } + public function getExactStaleness() + { + return $this->exactStaleness; + } + public function setMaxStaleness($maxStaleness) + { + $this->maxStaleness = $maxStaleness; + } + public function getMaxStaleness() + { + return $this->maxStaleness; + } + public function setMinReadTimestamp($minReadTimestamp) + { + $this->minReadTimestamp = $minReadTimestamp; + } + public function getMinReadTimestamp() + { + return $this->minReadTimestamp; + } + public function setReadTimestamp($readTimestamp) + { + $this->readTimestamp = $readTimestamp; + } + public function getReadTimestamp() + { + return $this->readTimestamp; + } + public function setReturnReadTimestamp($returnReadTimestamp) + { + $this->returnReadTimestamp = $returnReadTimestamp; + } + public function getReturnReadTimestamp() + { + return $this->returnReadTimestamp; + } + public function setStrong($strong) + { + $this->strong = $strong; + } + public function getStrong() + { + return $this->strong; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Spanner/ReadRequest.php b/vendor/google/apiclient-services/src/Google/Service/Spanner/ReadRequest.php new file mode 100644 index 00000000..a79cb037 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Spanner/ReadRequest.php @@ -0,0 +1,87 @@ +columns = $columns; + } + public function getColumns() + { + return $this->columns; + } + public function setIndex($index) + { + $this->index = $index; + } + public function getIndex() + { + return $this->index; + } + public function setKeySet(Google_Service_Spanner_KeySet $keySet) + { + $this->keySet = $keySet; + } + public function getKeySet() + { + return $this->keySet; + } + public function setLimit($limit) + { + $this->limit = $limit; + } + public function getLimit() + { + return $this->limit; + } + public function setResumeToken($resumeToken) + { + $this->resumeToken = $resumeToken; + } + public function getResumeToken() + { + return $this->resumeToken; + } + public function setTable($table) + { + $this->table = $table; + } + public function getTable() + { + return $this->table; + } + public function setTransaction(Google_Service_Spanner_TransactionSelector $transaction) + { + $this->transaction = $transaction; + } + public function getTransaction() + { + return $this->transaction; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Spanner/ReadWrite.php b/vendor/google/apiclient-services/src/Google/Service/Spanner/ReadWrite.php new file mode 100644 index 00000000..f051fa5f --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Spanner/ReadWrite.php @@ -0,0 +1,20 @@ + + * $spannerService = new Google_Service_Spanner(...); + * $projects = $spannerService->projects; + * + */ +class Google_Service_Spanner_Resource_Projects extends Google_Service_Resource +{ +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Spanner/Resource/ProjectsInstanceConfigs.php b/vendor/google/apiclient-services/src/Google/Service/Spanner/Resource/ProjectsInstanceConfigs.php new file mode 100644 index 00000000..f385289d --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Spanner/Resource/ProjectsInstanceConfigs.php @@ -0,0 +1,65 @@ + + * $spannerService = new Google_Service_Spanner(...); + * $instanceConfigs = $spannerService->instanceConfigs; + * + */ +class Google_Service_Spanner_Resource_ProjectsInstanceConfigs extends Google_Service_Resource +{ + /** + * Gets information about a particular instance configuration. + * (instanceConfigs.get) + * + * @param string $name Required. The name of the requested instance + * configuration. Values are of the form `projects//instanceConfigs/`. + * @param array $optParams Optional parameters. + * @return Google_Service_Spanner_InstanceConfig + */ + public function get($name, $optParams = array()) + { + $params = array('name' => $name); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Spanner_InstanceConfig"); + } + /** + * Lists the supported instance configurations for a given project. + * (instanceConfigs.listProjectsInstanceConfigs) + * + * @param string $parent Required. The name of the project for which a list of + * supported instance configurations is requested. Values are of the form + * `projects/`. + * @param array $optParams Optional parameters. + * + * @opt_param string pageToken If non-empty, `page_token` should contain a + * next_page_token from a previous ListInstanceConfigsResponse. + * @opt_param int pageSize Number of instance configurations to be returned in + * the response. If 0 or less, defaults to the server's maximum allowed page + * size. + * @return Google_Service_Spanner_ListInstanceConfigsResponse + */ + public function listProjectsInstanceConfigs($parent, $optParams = array()) + { + $params = array('parent' => $parent); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Spanner_ListInstanceConfigsResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Spanner/Resource/ProjectsInstances.php b/vendor/google/apiclient-services/src/Google/Service/Spanner/Resource/ProjectsInstances.php new file mode 100644 index 00000000..6e11f52a --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Spanner/Resource/ProjectsInstances.php @@ -0,0 +1,253 @@ + + * $spannerService = new Google_Service_Spanner(...); + * $instances = $spannerService->instances; + * + */ +class Google_Service_Spanner_Resource_ProjectsInstances extends Google_Service_Resource +{ + /** + * Creates an instance and begins preparing it to begin serving. The returned + * long-running operation can be used to track the progress of preparing the new + * instance. The instance name is assigned by the caller. If the named instance + * already exists, `CreateInstance` returns `ALREADY_EXISTS`. + * + * Immediately upon completion of this request: + * + * * The instance is readable via the API, with all requested attributes + * but no allocated resources. Its state is `CREATING`. + * + * Until completion of the returned operation: + * + * * Cancelling the operation renders the instance immediately unreadable + * via the API. * The instance can be deleted. * All other attempts to + * modify the instance are rejected. + * + * Upon completion of the returned operation: + * + * * Billing for all successfully-allocated resources begins (some types + * may have lower than the requested levels). * Databases can be created in + * the instance. * The instance's allocated resource levels are readable via + * the API. * The instance's state becomes `READY`. + * + * The returned long-running operation will have a name of the format + * `/operations/` and can be used to track creation of the instance. The + * metadata field type is CreateInstanceMetadata. The response field type is + * Instance, if successful. (instances.create) + * + * @param string $parent Required. The name of the project in which to create + * the instance. Values are of the form `projects/`. + * @param Google_Service_Spanner_CreateInstanceRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Spanner_Operation + */ + public function create($parent, Google_Service_Spanner_CreateInstanceRequest $postBody, $optParams = array()) + { + $params = array('parent' => $parent, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('create', array($params), "Google_Service_Spanner_Operation"); + } + /** + * Deletes an instance. + * + * Immediately upon completion of the request: + * + * * Billing ceases for all of the instance's reserved resources. + * + * Soon afterward: + * + * * The instance and *all of its databases* immediately and irrevocably + * disappear from the API. All data in the databases is permanently deleted. + * (instances.delete) + * + * @param string $name Required. The name of the instance to be deleted. Values + * are of the form `projects//instances/` + * @param array $optParams Optional parameters. + * @return Google_Service_Spanner_SpannerEmpty + */ + public function delete($name, $optParams = array()) + { + $params = array('name' => $name); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params), "Google_Service_Spanner_SpannerEmpty"); + } + /** + * Gets information about a particular instance. (instances.get) + * + * @param string $name Required. The name of the requested instance. Values are + * of the form `projects//instances/`. + * @param array $optParams Optional parameters. + * @return Google_Service_Spanner_Instance + */ + public function get($name, $optParams = array()) + { + $params = array('name' => $name); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Spanner_Instance"); + } + /** + * Gets the access control policy for an instance resource. Returns an empty + * policy if an instance exists but does not have a policy set. + * + * Authorization requires `spanner.instances.getIamPolicy` on resource. + * (instances.getIamPolicy) + * + * @param string $resource REQUIRED: The Cloud Spanner resource for which the + * policy is being retrieved. The format is `projects//instances/` for instance + * resources and `projects//instances//databases/` for database resources. + * @param Google_Service_Spanner_GetIamPolicyRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Spanner_Policy + */ + public function getIamPolicy($resource, Google_Service_Spanner_GetIamPolicyRequest $postBody, $optParams = array()) + { + $params = array('resource' => $resource, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('getIamPolicy', array($params), "Google_Service_Spanner_Policy"); + } + /** + * Lists all instances in the given project. (instances.listProjectsInstances) + * + * @param string $parent Required. The name of the project for which a list of + * instances is requested. Values are of the form `projects/`. + * @param array $optParams Optional parameters. + * + * @opt_param string pageToken If non-empty, `page_token` should contain a + * next_page_token from a previous ListInstancesResponse. + * @opt_param int pageSize Number of instances to be returned in the response. + * If 0 or less, defaults to the server's maximum allowed page size. + * @opt_param string filter An expression for filtering the results of the + * request. Filter rules are case insensitive. The fields eligible for filtering + * are: + * + * * name * display_name * labels.key where key is the name of a label + * + * Some examples of using filters are: + * + * * name:* --> The instance has a name. * name:Howl --> The instance's name + * contains the string "howl". * name:HOWL --> Equivalent to above. * + * NAME:howl --> Equivalent to above. * labels.env:* --> The instance has the + * label "env". * labels.env:dev --> The instance has the label "env" and the + * value of the label contains the string "dev". * + * name:howl labels.env:dev --> The instance's name contains "howl" and + * it has the label "env" with its value + * containing "dev". + * @return Google_Service_Spanner_ListInstancesResponse + */ + public function listProjectsInstances($parent, $optParams = array()) + { + $params = array('parent' => $parent); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Spanner_ListInstancesResponse"); + } + /** + * Updates an instance, and begins allocating or releasing resources as + * requested. The returned long-running operation can be used to track the + * progress of updating the instance. If the named instance does not exist, + * returns `NOT_FOUND`. + * + * Immediately upon completion of this request: + * + * * For resource types for which a decrease in the instance's allocation + * has been requested, billing is based on the newly-requested level. + * + * Until completion of the returned operation: + * + * * Cancelling the operation sets its metadata's cancel_time, and begins + * restoring resources to their pre-request values. The operation is + * guaranteed to succeed at undoing all resource changes, after which point + * it terminates with a `CANCELLED` status. * All other attempts to modify the + * instance are rejected. * Reading the instance via the API continues to give + * the pre-request resource levels. + * + * Upon completion of the returned operation: + * + * * Billing begins for all successfully-allocated resources (some types + * may have lower than the requested levels). * All newly-reserved resources + * are available for serving the instance's tables. * The instance's new + * resource levels are readable via the API. + * + * The returned long-running operation will have a name of the format + * `/operations/` and can be used to track the instance modification. The + * metadata field type is UpdateInstanceMetadata. The response field type is + * Instance, if successful. + * + * Authorization requires `spanner.instances.update` permission on resource + * name. (instances.patch) + * + * @param string $name Required. A unique identifier for the instance, which + * cannot be changed after the instance is created. Values are of the form + * `projects//instances/a-z*[a-z0-9]`. The final segment of the name must be + * between 6 and 30 characters in length. + * @param Google_Service_Spanner_UpdateInstanceRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Spanner_Operation + */ + public function patch($name, Google_Service_Spanner_UpdateInstanceRequest $postBody, $optParams = array()) + { + $params = array('name' => $name, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('patch', array($params), "Google_Service_Spanner_Operation"); + } + /** + * Sets the access control policy on an instance resource. Replaces any existing + * policy. + * + * Authorization requires `spanner.instances.setIamPolicy` on resource. + * (instances.setIamPolicy) + * + * @param string $resource REQUIRED: The Cloud Spanner resource for which the + * policy is being set. The format is `projects//instances/` for instance + * resources and `projects//instances//databases/` for databases resources. + * @param Google_Service_Spanner_SetIamPolicyRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Spanner_Policy + */ + public function setIamPolicy($resource, Google_Service_Spanner_SetIamPolicyRequest $postBody, $optParams = array()) + { + $params = array('resource' => $resource, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('setIamPolicy', array($params), "Google_Service_Spanner_Policy"); + } + /** + * Returns permissions that the caller has on the specified instance resource. + * + * Attempting this RPC on a non-existent Cloud Spanner instance resource will + * result in a NOT_FOUND error if the user has `spanner.instances.list` + * permission on the containing Google Cloud Project. Otherwise returns an empty + * set of permissions. (instances.testIamPermissions) + * + * @param string $resource REQUIRED: The Cloud Spanner resource for which + * permissions are being tested. The format is `projects//instances/` for + * instance resources and `projects//instances//databases/` for database + * resources. + * @param Google_Service_Spanner_TestIamPermissionsRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Spanner_TestIamPermissionsResponse + */ + public function testIamPermissions($resource, Google_Service_Spanner_TestIamPermissionsRequest $postBody, $optParams = array()) + { + $params = array('resource' => $resource, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('testIamPermissions', array($params), "Google_Service_Spanner_TestIamPermissionsResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Spanner/Resource/ProjectsInstancesDatabases.php b/vendor/google/apiclient-services/src/Google/Service/Spanner/Resource/ProjectsInstancesDatabases.php new file mode 100644 index 00000000..c74a4fe4 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Spanner/Resource/ProjectsInstancesDatabases.php @@ -0,0 +1,188 @@ + + * $spannerService = new Google_Service_Spanner(...); + * $databases = $spannerService->databases; + * + */ +class Google_Service_Spanner_Resource_ProjectsInstancesDatabases extends Google_Service_Resource +{ + /** + * Creates a new Cloud Spanner database and starts to prepare it for serving. + * The returned long-running operation will have a name of the format + * `/operations/` and can be used to track preparation of the database. The + * metadata field type is CreateDatabaseMetadata. The response field type is + * Database, if successful. (databases.create) + * + * @param string $parent Required. The name of the instance that will serve the + * new database. Values are of the form `projects//instances/`. + * @param Google_Service_Spanner_CreateDatabaseRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Spanner_Operation + */ + public function create($parent, Google_Service_Spanner_CreateDatabaseRequest $postBody, $optParams = array()) + { + $params = array('parent' => $parent, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('create', array($params), "Google_Service_Spanner_Operation"); + } + /** + * Drops (aka deletes) a Cloud Spanner database. (databases.dropDatabase) + * + * @param string $database Required. The database to be dropped. + * @param array $optParams Optional parameters. + * @return Google_Service_Spanner_SpannerEmpty + */ + public function dropDatabase($database, $optParams = array()) + { + $params = array('database' => $database); + $params = array_merge($params, $optParams); + return $this->call('dropDatabase', array($params), "Google_Service_Spanner_SpannerEmpty"); + } + /** + * Gets the state of a Cloud Spanner database. (databases.get) + * + * @param string $name Required. The name of the requested database. Values are + * of the form `projects//instances//databases/`. + * @param array $optParams Optional parameters. + * @return Google_Service_Spanner_Database + */ + public function get($name, $optParams = array()) + { + $params = array('name' => $name); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Spanner_Database"); + } + /** + * Returns the schema of a Cloud Spanner database as a list of formatted DDL + * statements. This method does not show pending schema updates, those may be + * queried using the Operations API. (databases.getDdl) + * + * @param string $database Required. The database whose schema we wish to get. + * @param array $optParams Optional parameters. + * @return Google_Service_Spanner_GetDatabaseDdlResponse + */ + public function getDdl($database, $optParams = array()) + { + $params = array('database' => $database); + $params = array_merge($params, $optParams); + return $this->call('getDdl', array($params), "Google_Service_Spanner_GetDatabaseDdlResponse"); + } + /** + * Gets the access control policy for a database resource. Returns an empty + * policy if a database exists but does not have a policy set. + * + * Authorization requires `spanner.databases.getIamPolicy` permission on + * resource. (databases.getIamPolicy) + * + * @param string $resource REQUIRED: The Cloud Spanner resource for which the + * policy is being retrieved. The format is `projects//instances/` for instance + * resources and `projects//instances//databases/` for database resources. + * @param Google_Service_Spanner_GetIamPolicyRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Spanner_Policy + */ + public function getIamPolicy($resource, Google_Service_Spanner_GetIamPolicyRequest $postBody, $optParams = array()) + { + $params = array('resource' => $resource, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('getIamPolicy', array($params), "Google_Service_Spanner_Policy"); + } + /** + * Lists Cloud Spanner databases. (databases.listProjectsInstancesDatabases) + * + * @param string $parent Required. The instance whose databases should be + * listed. Values are of the form `projects//instances/`. + * @param array $optParams Optional parameters. + * + * @opt_param string pageToken If non-empty, `page_token` should contain a + * next_page_token from a previous ListDatabasesResponse. + * @opt_param int pageSize Number of databases to be returned in the response. + * If 0 or less, defaults to the server's maximum allowed page size. + * @return Google_Service_Spanner_ListDatabasesResponse + */ + public function listProjectsInstancesDatabases($parent, $optParams = array()) + { + $params = array('parent' => $parent); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Spanner_ListDatabasesResponse"); + } + /** + * Sets the access control policy on a database resource. Replaces any existing + * policy. + * + * Authorization requires `spanner.databases.setIamPolicy` permission on + * resource. (databases.setIamPolicy) + * + * @param string $resource REQUIRED: The Cloud Spanner resource for which the + * policy is being set. The format is `projects//instances/` for instance + * resources and `projects//instances//databases/` for databases resources. + * @param Google_Service_Spanner_SetIamPolicyRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Spanner_Policy + */ + public function setIamPolicy($resource, Google_Service_Spanner_SetIamPolicyRequest $postBody, $optParams = array()) + { + $params = array('resource' => $resource, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('setIamPolicy', array($params), "Google_Service_Spanner_Policy"); + } + /** + * Returns permissions that the caller has on the specified database resource. + * + * Attempting this RPC on a non-existent Cloud Spanner database will result in a + * NOT_FOUND error if the user has `spanner.databases.list` permission on the + * containing Cloud Spanner instance. Otherwise returns an empty set of + * permissions. (databases.testIamPermissions) + * + * @param string $resource REQUIRED: The Cloud Spanner resource for which + * permissions are being tested. The format is `projects//instances/` for + * instance resources and `projects//instances//databases/` for database + * resources. + * @param Google_Service_Spanner_TestIamPermissionsRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Spanner_TestIamPermissionsResponse + */ + public function testIamPermissions($resource, Google_Service_Spanner_TestIamPermissionsRequest $postBody, $optParams = array()) + { + $params = array('resource' => $resource, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('testIamPermissions', array($params), "Google_Service_Spanner_TestIamPermissionsResponse"); + } + /** + * Updates the schema of a Cloud Spanner database by creating/altering/dropping + * tables, columns, indexes, etc. The returned long-running operation will have + * a name of the format `/operations/` and can be used to track execution of the + * schema change(s). The metadata field type is UpdateDatabaseDdlMetadata. The + * operation has no response. (databases.updateDdl) + * + * @param string $database Required. The database to update. + * @param Google_Service_Spanner_UpdateDatabaseDdlRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Spanner_Operation + */ + public function updateDdl($database, Google_Service_Spanner_UpdateDatabaseDdlRequest $postBody, $optParams = array()) + { + $params = array('database' => $database, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('updateDdl', array($params), "Google_Service_Spanner_Operation"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Spanner/Resource/ProjectsInstancesDatabasesOperations.php b/vendor/google/apiclient-services/src/Google/Service/Spanner/Resource/ProjectsInstancesDatabasesOperations.php new file mode 100644 index 00000000..1e4b6955 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Spanner/Resource/ProjectsInstancesDatabasesOperations.php @@ -0,0 +1,102 @@ + + * $spannerService = new Google_Service_Spanner(...); + * $operations = $spannerService->operations; + * + */ +class Google_Service_Spanner_Resource_ProjectsInstancesDatabasesOperations extends Google_Service_Resource +{ + /** + * Starts asynchronous cancellation on a long-running operation. The server + * makes a best effort to cancel the operation, but success is not guaranteed. + * If the server doesn't support this method, it returns + * `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or + * other methods to check whether the cancellation succeeded or whether the + * operation completed despite cancellation. On successful cancellation, the + * operation is not deleted; instead, it becomes an operation with an + * Operation.error value with a google.rpc.Status.code of 1, corresponding to + * `Code.CANCELLED`. (operations.cancel) + * + * @param string $name The name of the operation resource to be cancelled. + * @param array $optParams Optional parameters. + * @return Google_Service_Spanner_SpannerEmpty + */ + public function cancel($name, $optParams = array()) + { + $params = array('name' => $name); + $params = array_merge($params, $optParams); + return $this->call('cancel', array($params), "Google_Service_Spanner_SpannerEmpty"); + } + /** + * Deletes a long-running operation. This method indicates that the client is no + * longer interested in the operation result. It does not cancel the operation. + * If the server doesn't support this method, it returns + * `google.rpc.Code.UNIMPLEMENTED`. (operations.delete) + * + * @param string $name The name of the operation resource to be deleted. + * @param array $optParams Optional parameters. + * @return Google_Service_Spanner_SpannerEmpty + */ + public function delete($name, $optParams = array()) + { + $params = array('name' => $name); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params), "Google_Service_Spanner_SpannerEmpty"); + } + /** + * Gets the latest state of a long-running operation. Clients can use this + * method to poll the operation result at intervals as recommended by the API + * service. (operations.get) + * + * @param string $name The name of the operation resource. + * @param array $optParams Optional parameters. + * @return Google_Service_Spanner_Operation + */ + public function get($name, $optParams = array()) + { + $params = array('name' => $name); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Spanner_Operation"); + } + /** + * Lists operations that match the specified filter in the request. If the + * server doesn't support this method, it returns `UNIMPLEMENTED`. + * + * NOTE: the `name` binding below allows API services to override the binding to + * use different resource name schemes, such as `users/operations`. + * (operations.listProjectsInstancesDatabasesOperations) + * + * @param string $name The name of the operation collection. + * @param array $optParams Optional parameters. + * + * @opt_param int pageSize The standard list page size. + * @opt_param string filter The standard list filter. + * @opt_param string pageToken The standard list page token. + * @return Google_Service_Spanner_ListOperationsResponse + */ + public function listProjectsInstancesDatabasesOperations($name, $optParams = array()) + { + $params = array('name' => $name); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Spanner_ListOperationsResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Spanner/Resource/ProjectsInstancesDatabasesSessions.php b/vendor/google/apiclient-services/src/Google/Service/Spanner/Resource/ProjectsInstancesDatabasesSessions.php new file mode 100644 index 00000000..67959e0a --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Spanner/Resource/ProjectsInstancesDatabasesSessions.php @@ -0,0 +1,231 @@ + + * $spannerService = new Google_Service_Spanner(...); + * $sessions = $spannerService->sessions; + * + */ +class Google_Service_Spanner_Resource_ProjectsInstancesDatabasesSessions extends Google_Service_Resource +{ + /** + * Begins a new transaction. This step can often be skipped: Read, ExecuteSql + * and Commit can begin a new transaction as a side-effect. + * (sessions.beginTransaction) + * + * @param string $session Required. The session in which the transaction runs. + * @param Google_Service_Spanner_BeginTransactionRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Spanner_Transaction + */ + public function beginTransaction($session, Google_Service_Spanner_BeginTransactionRequest $postBody, $optParams = array()) + { + $params = array('session' => $session, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('beginTransaction', array($params), "Google_Service_Spanner_Transaction"); + } + /** + * Commits a transaction. The request includes the mutations to be applied to + * rows in the database. + * + * `Commit` might return an `ABORTED` error. This can occur at any time; + * commonly, the cause is conflicts with concurrent transactions. However, it + * can also happen for a variety of other reasons. If `Commit` returns + * `ABORTED`, the caller should re-attempt the transaction from the beginning, + * re-using the same session. (sessions.commit) + * + * @param string $session Required. The session in which the transaction to be + * committed is running. + * @param Google_Service_Spanner_CommitRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Spanner_CommitResponse + */ + public function commit($session, Google_Service_Spanner_CommitRequest $postBody, $optParams = array()) + { + $params = array('session' => $session, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('commit', array($params), "Google_Service_Spanner_CommitResponse"); + } + /** + * Creates a new session. A session can be used to perform transactions that + * read and/or modify data in a Cloud Spanner database. Sessions are meant to be + * reused for many consecutive transactions. + * + * Sessions can only execute one transaction at a time. To execute multiple + * concurrent read-write/write-only transactions, create multiple sessions. Note + * that standalone reads and queries use a transaction internally, and count + * toward the one transaction limit. + * + * Cloud Spanner limits the number of sessions that can exist at any given time; + * thus, it is a good idea to delete idle and/or unneeded sessions. Aside from + * explicit deletes, Cloud Spanner can delete sessions for which no operations + * are sent for more than an hour, or due to internal errors. If a session is + * deleted, requests to it return `NOT_FOUND`. + * + * Idle sessions can be kept alive by sending a trivial SQL query periodically, + * e.g., `"SELECT 1"`. (sessions.create) + * + * @param string $database Required. The database in which the new session is + * created. + * @param array $optParams Optional parameters. + * @return Google_Service_Spanner_Session + */ + public function create($database, $optParams = array()) + { + $params = array('database' => $database); + $params = array_merge($params, $optParams); + return $this->call('create', array($params), "Google_Service_Spanner_Session"); + } + /** + * Ends a session, releasing server resources associated with it. + * (sessions.delete) + * + * @param string $name Required. The name of the session to delete. + * @param array $optParams Optional parameters. + * @return Google_Service_Spanner_SpannerEmpty + */ + public function delete($name, $optParams = array()) + { + $params = array('name' => $name); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params), "Google_Service_Spanner_SpannerEmpty"); + } + /** + * Executes an SQL query, returning all rows in a single reply. This method + * cannot be used to return a result set larger than 10 MiB; if the query yields + * more data than that, the query fails with a `FAILED_PRECONDITION` error. + * + * Queries inside read-write transactions might return `ABORTED`. If this + * occurs, the application should restart the transaction from the beginning. + * See Transaction for more details. + * + * Larger result sets can be fetched in streaming fashion by calling + * ExecuteStreamingSql instead. (sessions.executeSql) + * + * @param string $session Required. The session in which the SQL query should be + * performed. + * @param Google_Service_Spanner_ExecuteSqlRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Spanner_ResultSet + */ + public function executeSql($session, Google_Service_Spanner_ExecuteSqlRequest $postBody, $optParams = array()) + { + $params = array('session' => $session, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('executeSql', array($params), "Google_Service_Spanner_ResultSet"); + } + /** + * Like ExecuteSql, except returns the result set as a stream. Unlike + * ExecuteSql, there is no limit on the size of the returned result set. + * However, no individual row in the result set can exceed 100 MiB, and no + * column value can exceed 10 MiB. (sessions.executeStreamingSql) + * + * @param string $session Required. The session in which the SQL query should be + * performed. + * @param Google_Service_Spanner_ExecuteSqlRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Spanner_PartialResultSet + */ + public function executeStreamingSql($session, Google_Service_Spanner_ExecuteSqlRequest $postBody, $optParams = array()) + { + $params = array('session' => $session, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('executeStreamingSql', array($params), "Google_Service_Spanner_PartialResultSet"); + } + /** + * Gets a session. Returns `NOT_FOUND` if the session does not exist. This is + * mainly useful for determining whether a session is still alive. + * (sessions.get) + * + * @param string $name Required. The name of the session to retrieve. + * @param array $optParams Optional parameters. + * @return Google_Service_Spanner_Session + */ + public function get($name, $optParams = array()) + { + $params = array('name' => $name); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Spanner_Session"); + } + /** + * Reads rows from the database using key lookups and scans, as a simple + * key/value style alternative to ExecuteSql. This method cannot be used to + * return a result set larger than 10 MiB; if the read matches more data than + * that, the read fails with a `FAILED_PRECONDITION` error. + * + * Reads inside read-write transactions might return `ABORTED`. If this occurs, + * the application should restart the transaction from the beginning. See + * Transaction for more details. + * + * Larger result sets can be yielded in streaming fashion by calling + * StreamingRead instead. (sessions.read) + * + * @param string $session Required. The session in which the read should be + * performed. + * @param Google_Service_Spanner_ReadRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Spanner_ResultSet + */ + public function read($session, Google_Service_Spanner_ReadRequest $postBody, $optParams = array()) + { + $params = array('session' => $session, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('read', array($params), "Google_Service_Spanner_ResultSet"); + } + /** + * Rolls back a transaction, releasing any locks it holds. It is a good idea to + * call this for any transaction that includes one or more Read or ExecuteSql + * requests and ultimately decides not to commit. + * + * `Rollback` returns `OK` if it successfully aborts the transaction, the + * transaction was already aborted, or the transaction is not found. `Rollback` + * never returns `ABORTED`. (sessions.rollback) + * + * @param string $session Required. The session in which the transaction to roll + * back is running. + * @param Google_Service_Spanner_RollbackRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Spanner_SpannerEmpty + */ + public function rollback($session, Google_Service_Spanner_RollbackRequest $postBody, $optParams = array()) + { + $params = array('session' => $session, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('rollback', array($params), "Google_Service_Spanner_SpannerEmpty"); + } + /** + * Like Read, except returns the result set as a stream. Unlike Read, there is + * no limit on the size of the returned result set. However, no individual row + * in the result set can exceed 100 MiB, and no column value can exceed 10 MiB. + * (sessions.streamingRead) + * + * @param string $session Required. The session in which the read should be + * performed. + * @param Google_Service_Spanner_ReadRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Spanner_PartialResultSet + */ + public function streamingRead($session, Google_Service_Spanner_ReadRequest $postBody, $optParams = array()) + { + $params = array('session' => $session, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('streamingRead', array($params), "Google_Service_Spanner_PartialResultSet"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Spanner/Resource/ProjectsInstancesOperations.php b/vendor/google/apiclient-services/src/Google/Service/Spanner/Resource/ProjectsInstancesOperations.php new file mode 100644 index 00000000..420aff65 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Spanner/Resource/ProjectsInstancesOperations.php @@ -0,0 +1,102 @@ + + * $spannerService = new Google_Service_Spanner(...); + * $operations = $spannerService->operations; + * + */ +class Google_Service_Spanner_Resource_ProjectsInstancesOperations extends Google_Service_Resource +{ + /** + * Starts asynchronous cancellation on a long-running operation. The server + * makes a best effort to cancel the operation, but success is not guaranteed. + * If the server doesn't support this method, it returns + * `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or + * other methods to check whether the cancellation succeeded or whether the + * operation completed despite cancellation. On successful cancellation, the + * operation is not deleted; instead, it becomes an operation with an + * Operation.error value with a google.rpc.Status.code of 1, corresponding to + * `Code.CANCELLED`. (operations.cancel) + * + * @param string $name The name of the operation resource to be cancelled. + * @param array $optParams Optional parameters. + * @return Google_Service_Spanner_SpannerEmpty + */ + public function cancel($name, $optParams = array()) + { + $params = array('name' => $name); + $params = array_merge($params, $optParams); + return $this->call('cancel', array($params), "Google_Service_Spanner_SpannerEmpty"); + } + /** + * Deletes a long-running operation. This method indicates that the client is no + * longer interested in the operation result. It does not cancel the operation. + * If the server doesn't support this method, it returns + * `google.rpc.Code.UNIMPLEMENTED`. (operations.delete) + * + * @param string $name The name of the operation resource to be deleted. + * @param array $optParams Optional parameters. + * @return Google_Service_Spanner_SpannerEmpty + */ + public function delete($name, $optParams = array()) + { + $params = array('name' => $name); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params), "Google_Service_Spanner_SpannerEmpty"); + } + /** + * Gets the latest state of a long-running operation. Clients can use this + * method to poll the operation result at intervals as recommended by the API + * service. (operations.get) + * + * @param string $name The name of the operation resource. + * @param array $optParams Optional parameters. + * @return Google_Service_Spanner_Operation + */ + public function get($name, $optParams = array()) + { + $params = array('name' => $name); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Spanner_Operation"); + } + /** + * Lists operations that match the specified filter in the request. If the + * server doesn't support this method, it returns `UNIMPLEMENTED`. + * + * NOTE: the `name` binding below allows API services to override the binding to + * use different resource name schemes, such as `users/operations`. + * (operations.listProjectsInstancesOperations) + * + * @param string $name The name of the operation collection. + * @param array $optParams Optional parameters. + * + * @opt_param string filter The standard list filter. + * @opt_param string pageToken The standard list page token. + * @opt_param int pageSize The standard list page size. + * @return Google_Service_Spanner_ListOperationsResponse + */ + public function listProjectsInstancesOperations($name, $optParams = array()) + { + $params = array('name' => $name); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Spanner_ListOperationsResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Spanner/ResultSet.php b/vendor/google/apiclient-services/src/Google/Service/Spanner/ResultSet.php new file mode 100644 index 00000000..3a9b8f5a --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Spanner/ResultSet.php @@ -0,0 +1,51 @@ +metadata = $metadata; + } + public function getMetadata() + { + return $this->metadata; + } + public function setRows($rows) + { + $this->rows = $rows; + } + public function getRows() + { + return $this->rows; + } + public function setStats(Google_Service_Spanner_ResultSetStats $stats) + { + $this->stats = $stats; + } + public function getStats() + { + return $this->stats; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Spanner/ResultSetMetadata.php b/vendor/google/apiclient-services/src/Google/Service/Spanner/ResultSetMetadata.php new file mode 100644 index 00000000..11420c85 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Spanner/ResultSetMetadata.php @@ -0,0 +1,41 @@ +rowType = $rowType; + } + public function getRowType() + { + return $this->rowType; + } + public function setTransaction(Google_Service_Spanner_Transaction $transaction) + { + $this->transaction = $transaction; + } + public function getTransaction() + { + return $this->transaction; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Spanner/ResultSetStats.php b/vendor/google/apiclient-services/src/Google/Service/Spanner/ResultSetStats.php new file mode 100644 index 00000000..a73f1f74 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Spanner/ResultSetStats.php @@ -0,0 +1,40 @@ +queryPlan = $queryPlan; + } + public function getQueryPlan() + { + return $this->queryPlan; + } + public function setQueryStats($queryStats) + { + $this->queryStats = $queryStats; + } + public function getQueryStats() + { + return $this->queryStats; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Spanner/RollbackRequest.php b/vendor/google/apiclient-services/src/Google/Service/Spanner/RollbackRequest.php new file mode 100644 index 00000000..0be0fb94 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Spanner/RollbackRequest.php @@ -0,0 +1,30 @@ +transactionId = $transactionId; + } + public function getTransactionId() + { + return $this->transactionId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Spanner/Rule.php b/vendor/google/apiclient-services/src/Google/Service/Spanner/Rule.php new file mode 100644 index 00000000..f18b4535 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Spanner/Rule.php @@ -0,0 +1,87 @@ +action = $action; + } + public function getAction() + { + return $this->action; + } + public function setConditions($conditions) + { + $this->conditions = $conditions; + } + public function getConditions() + { + return $this->conditions; + } + public function setDescription($description) + { + $this->description = $description; + } + public function getDescription() + { + return $this->description; + } + public function setIn($in) + { + $this->in = $in; + } + public function getIn() + { + return $this->in; + } + public function setLogConfig($logConfig) + { + $this->logConfig = $logConfig; + } + public function getLogConfig() + { + return $this->logConfig; + } + public function setNotIn($notIn) + { + $this->notIn = $notIn; + } + public function getNotIn() + { + return $this->notIn; + } + public function setPermissions($permissions) + { + $this->permissions = $permissions; + } + public function getPermissions() + { + return $this->permissions; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Spanner/Session.php b/vendor/google/apiclient-services/src/Google/Service/Spanner/Session.php new file mode 100644 index 00000000..db026987 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Spanner/Session.php @@ -0,0 +1,30 @@ +name = $name; + } + public function getName() + { + return $this->name; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Spanner/SetIamPolicyRequest.php b/vendor/google/apiclient-services/src/Google/Service/Spanner/SetIamPolicyRequest.php new file mode 100644 index 00000000..81e0e7d6 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Spanner/SetIamPolicyRequest.php @@ -0,0 +1,40 @@ +policy = $policy; + } + public function getPolicy() + { + return $this->policy; + } + public function setUpdateMask($updateMask) + { + $this->updateMask = $updateMask; + } + public function getUpdateMask() + { + return $this->updateMask; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Spanner/ShortRepresentation.php b/vendor/google/apiclient-services/src/Google/Service/Spanner/ShortRepresentation.php new file mode 100644 index 00000000..7237aa9a --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Spanner/ShortRepresentation.php @@ -0,0 +1,39 @@ +description = $description; + } + public function getDescription() + { + return $this->description; + } + public function setSubqueries($subqueries) + { + $this->subqueries = $subqueries; + } + public function getSubqueries() + { + return $this->subqueries; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Spanner/SpannerEmpty.php b/vendor/google/apiclient-services/src/Google/Service/Spanner/SpannerEmpty.php new file mode 100644 index 00000000..5971dd81 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Spanner/SpannerEmpty.php @@ -0,0 +1,20 @@ +code = $code; + } + public function getCode() + { + return $this->code; + } + public function setDetails($details) + { + $this->details = $details; + } + public function getDetails() + { + return $this->details; + } + public function setMessage($message) + { + $this->message = $message; + } + public function getMessage() + { + return $this->message; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Spanner/StructType.php b/vendor/google/apiclient-services/src/Google/Service/Spanner/StructType.php new file mode 100644 index 00000000..23b6ba38 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Spanner/StructType.php @@ -0,0 +1,32 @@ +fields = $fields; + } + public function getFields() + { + return $this->fields; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Spanner/TestIamPermissionsRequest.php b/vendor/google/apiclient-services/src/Google/Service/Spanner/TestIamPermissionsRequest.php new file mode 100644 index 00000000..c2e7ecf0 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Spanner/TestIamPermissionsRequest.php @@ -0,0 +1,31 @@ +permissions = $permissions; + } + public function getPermissions() + { + return $this->permissions; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Spanner/TestIamPermissionsResponse.php b/vendor/google/apiclient-services/src/Google/Service/Spanner/TestIamPermissionsResponse.php new file mode 100644 index 00000000..c8448717 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Spanner/TestIamPermissionsResponse.php @@ -0,0 +1,31 @@ +permissions = $permissions; + } + public function getPermissions() + { + return $this->permissions; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Spanner/Transaction.php b/vendor/google/apiclient-services/src/Google/Service/Spanner/Transaction.php new file mode 100644 index 00000000..3b099486 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Spanner/Transaction.php @@ -0,0 +1,39 @@ +id = $id; + } + public function getId() + { + return $this->id; + } + public function setReadTimestamp($readTimestamp) + { + $this->readTimestamp = $readTimestamp; + } + public function getReadTimestamp() + { + return $this->readTimestamp; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Spanner/TransactionOptions.php b/vendor/google/apiclient-services/src/Google/Service/Spanner/TransactionOptions.php new file mode 100644 index 00000000..67996659 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Spanner/TransactionOptions.php @@ -0,0 +1,41 @@ +readOnly = $readOnly; + } + public function getReadOnly() + { + return $this->readOnly; + } + public function setReadWrite(Google_Service_Spanner_ReadWrite $readWrite) + { + $this->readWrite = $readWrite; + } + public function getReadWrite() + { + return $this->readWrite; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Spanner/TransactionSelector.php b/vendor/google/apiclient-services/src/Google/Service/Spanner/TransactionSelector.php new file mode 100644 index 00000000..17021fce --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Spanner/TransactionSelector.php @@ -0,0 +1,50 @@ +begin = $begin; + } + public function getBegin() + { + return $this->begin; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setSingleUse(Google_Service_Spanner_TransactionOptions $singleUse) + { + $this->singleUse = $singleUse; + } + public function getSingleUse() + { + return $this->singleUse; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Spanner/Type.php b/vendor/google/apiclient-services/src/Google/Service/Spanner/Type.php new file mode 100644 index 00000000..92ae0313 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Spanner/Type.php @@ -0,0 +1,50 @@ +arrayElementType = $arrayElementType; + } + public function getArrayElementType() + { + return $this->arrayElementType; + } + public function setCode($code) + { + $this->code = $code; + } + public function getCode() + { + return $this->code; + } + public function setStructType(Google_Service_Spanner_StructType $structType) + { + $this->structType = $structType; + } + public function getStructType() + { + return $this->structType; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Spanner/UpdateDatabaseDdlMetadata.php b/vendor/google/apiclient-services/src/Google/Service/Spanner/UpdateDatabaseDdlMetadata.php new file mode 100644 index 00000000..0c848dbe --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Spanner/UpdateDatabaseDdlMetadata.php @@ -0,0 +1,49 @@ +commitTimestamps = $commitTimestamps; + } + public function getCommitTimestamps() + { + return $this->commitTimestamps; + } + public function setDatabase($database) + { + $this->database = $database; + } + public function getDatabase() + { + return $this->database; + } + public function setStatements($statements) + { + $this->statements = $statements; + } + public function getStatements() + { + return $this->statements; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Spanner/UpdateDatabaseDdlRequest.php b/vendor/google/apiclient-services/src/Google/Service/Spanner/UpdateDatabaseDdlRequest.php new file mode 100644 index 00000000..9bbe073f --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Spanner/UpdateDatabaseDdlRequest.php @@ -0,0 +1,40 @@ +operationId = $operationId; + } + public function getOperationId() + { + return $this->operationId; + } + public function setStatements($statements) + { + $this->statements = $statements; + } + public function getStatements() + { + return $this->statements; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Spanner/UpdateInstanceMetadata.php b/vendor/google/apiclient-services/src/Google/Service/Spanner/UpdateInstanceMetadata.php new file mode 100644 index 00000000..6a909d33 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Spanner/UpdateInstanceMetadata.php @@ -0,0 +1,58 @@ +cancelTime = $cancelTime; + } + public function getCancelTime() + { + return $this->cancelTime; + } + public function setEndTime($endTime) + { + $this->endTime = $endTime; + } + public function getEndTime() + { + return $this->endTime; + } + public function setInstance(Google_Service_Spanner_Instance $instance) + { + $this->instance = $instance; + } + public function getInstance() + { + return $this->instance; + } + public function setStartTime($startTime) + { + $this->startTime = $startTime; + } + public function getStartTime() + { + return $this->startTime; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Spanner/UpdateInstanceRequest.php b/vendor/google/apiclient-services/src/Google/Service/Spanner/UpdateInstanceRequest.php new file mode 100644 index 00000000..d3dc0068 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Spanner/UpdateInstanceRequest.php @@ -0,0 +1,40 @@ +fieldMask = $fieldMask; + } + public function getFieldMask() + { + return $this->fieldMask; + } + public function setInstance(Google_Service_Spanner_Instance $instance) + { + $this->instance = $instance; + } + public function getInstance() + { + return $this->instance; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Spanner/Write.php b/vendor/google/apiclient-services/src/Google/Service/Spanner/Write.php new file mode 100644 index 00000000..c4fcfe07 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Spanner/Write.php @@ -0,0 +1,49 @@ +columns = $columns; + } + public function getColumns() + { + return $this->columns; + } + public function setTable($table) + { + $this->table = $table; + } + public function getTable() + { + return $this->table; + } + public function setValues($values) + { + $this->values = $values; + } + public function getValues() + { + return $this->values; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Spectrum.php b/vendor/google/apiclient-services/src/Google/Service/Spectrum.php new file mode 100644 index 00000000..7109a61b --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Spectrum.php @@ -0,0 +1,85 @@ + + * API for spectrum-management functions.

+ * + *

+ * For more information about this service, see the API + * Documentation + *

+ * + * @author Google, Inc. + */ +class Google_Service_Spectrum extends Google_Service +{ + + + public $paws; + + /** + * Constructs the internal representation of the Spectrum service. + * + * @param Google_Client $client + */ + public function __construct(Google_Client $client) + { + parent::__construct($client); + $this->rootUrl = 'https://www.googleapis.com/'; + $this->servicePath = 'spectrum/v1explorer/paws/'; + $this->version = 'v1explorer'; + $this->serviceName = 'spectrum'; + + $this->paws = new Google_Service_Spectrum_Resource_Paws( + $this, + $this->serviceName, + 'paws', + array( + 'methods' => array( + 'getSpectrum' => array( + 'path' => 'getSpectrum', + 'httpMethod' => 'POST', + 'parameters' => array(), + ),'getSpectrumBatch' => array( + 'path' => 'getSpectrumBatch', + 'httpMethod' => 'POST', + 'parameters' => array(), + ),'init' => array( + 'path' => 'init', + 'httpMethod' => 'POST', + 'parameters' => array(), + ),'notifySpectrumUse' => array( + 'path' => 'notifySpectrumUse', + 'httpMethod' => 'POST', + 'parameters' => array(), + ),'register' => array( + 'path' => 'register', + 'httpMethod' => 'POST', + 'parameters' => array(), + ),'verifyDevice' => array( + 'path' => 'verifyDevice', + 'httpMethod' => 'POST', + 'parameters' => array(), + ), + ) + ) + ); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Spectrum/AntennaCharacteristics.php b/vendor/google/apiclient-services/src/Google/Service/Spectrum/AntennaCharacteristics.php new file mode 100644 index 00000000..ac4f9651 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Spectrum/AntennaCharacteristics.php @@ -0,0 +1,48 @@ +height = $height; + } + public function getHeight() + { + return $this->height; + } + public function setHeightType($heightType) + { + $this->heightType = $heightType; + } + public function getHeightType() + { + return $this->heightType; + } + public function setHeightUncertainty($heightUncertainty) + { + $this->heightUncertainty = $heightUncertainty; + } + public function getHeightUncertainty() + { + return $this->heightUncertainty; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Spectrum/DatabaseSpec.php b/vendor/google/apiclient-services/src/Google/Service/Spectrum/DatabaseSpec.php new file mode 100644 index 00000000..eaead15d --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Spectrum/DatabaseSpec.php @@ -0,0 +1,39 @@ +name = $name; + } + public function getName() + { + return $this->name; + } + public function setUri($uri) + { + $this->uri = $uri; + } + public function getUri() + { + return $this->uri; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Spectrum/DbUpdateSpec.php b/vendor/google/apiclient-services/src/Google/Service/Spectrum/DbUpdateSpec.php new file mode 100644 index 00000000..7252bc2a --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Spectrum/DbUpdateSpec.php @@ -0,0 +1,32 @@ +databases = $databases; + } + public function getDatabases() + { + return $this->databases; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Spectrum/DeviceCapabilities.php b/vendor/google/apiclient-services/src/Google/Service/Spectrum/DeviceCapabilities.php new file mode 100644 index 00000000..3039fc9a --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Spectrum/DeviceCapabilities.php @@ -0,0 +1,32 @@ +frequencyRanges = $frequencyRanges; + } + public function getFrequencyRanges() + { + return $this->frequencyRanges; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Spectrum/DeviceDescriptor.php b/vendor/google/apiclient-services/src/Google/Service/Spectrum/DeviceDescriptor.php new file mode 100644 index 00000000..555d9df1 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Spectrum/DeviceDescriptor.php @@ -0,0 +1,112 @@ +etsiEnDeviceCategory = $etsiEnDeviceCategory; + } + public function getEtsiEnDeviceCategory() + { + return $this->etsiEnDeviceCategory; + } + public function setEtsiEnDeviceEmissionsClass($etsiEnDeviceEmissionsClass) + { + $this->etsiEnDeviceEmissionsClass = $etsiEnDeviceEmissionsClass; + } + public function getEtsiEnDeviceEmissionsClass() + { + return $this->etsiEnDeviceEmissionsClass; + } + public function setEtsiEnDeviceType($etsiEnDeviceType) + { + $this->etsiEnDeviceType = $etsiEnDeviceType; + } + public function getEtsiEnDeviceType() + { + return $this->etsiEnDeviceType; + } + public function setEtsiEnTechnologyId($etsiEnTechnologyId) + { + $this->etsiEnTechnologyId = $etsiEnTechnologyId; + } + public function getEtsiEnTechnologyId() + { + return $this->etsiEnTechnologyId; + } + public function setFccId($fccId) + { + $this->fccId = $fccId; + } + public function getFccId() + { + return $this->fccId; + } + public function setFccTvbdDeviceType($fccTvbdDeviceType) + { + $this->fccTvbdDeviceType = $fccTvbdDeviceType; + } + public function getFccTvbdDeviceType() + { + return $this->fccTvbdDeviceType; + } + public function setManufacturerId($manufacturerId) + { + $this->manufacturerId = $manufacturerId; + } + public function getManufacturerId() + { + return $this->manufacturerId; + } + public function setModelId($modelId) + { + $this->modelId = $modelId; + } + public function getModelId() + { + return $this->modelId; + } + public function setRulesetIds($rulesetIds) + { + $this->rulesetIds = $rulesetIds; + } + public function getRulesetIds() + { + return $this->rulesetIds; + } + public function setSerialNumber($serialNumber) + { + $this->serialNumber = $serialNumber; + } + public function getSerialNumber() + { + return $this->serialNumber; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Spectrum/DeviceOwner.php b/vendor/google/apiclient-services/src/Google/Service/Spectrum/DeviceOwner.php new file mode 100644 index 00000000..9e15e502 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Spectrum/DeviceOwner.php @@ -0,0 +1,41 @@ +operator = $operator; + } + public function getOperator() + { + return $this->operator; + } + public function setOwner(Google_Service_Spectrum_Vcard $owner) + { + $this->owner = $owner; + } + public function getOwner() + { + return $this->owner; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Spectrum/DeviceValidity.php b/vendor/google/apiclient-services/src/Google/Service/Spectrum/DeviceValidity.php new file mode 100644 index 00000000..763d9b27 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Spectrum/DeviceValidity.php @@ -0,0 +1,49 @@ +deviceDesc = $deviceDesc; + } + public function getDeviceDesc() + { + return $this->deviceDesc; + } + public function setIsValid($isValid) + { + $this->isValid = $isValid; + } + public function getIsValid() + { + return $this->isValid; + } + public function setReason($reason) + { + $this->reason = $reason; + } + public function getReason() + { + return $this->reason; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Spectrum/EventTime.php b/vendor/google/apiclient-services/src/Google/Service/Spectrum/EventTime.php new file mode 100644 index 00000000..16835fb3 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Spectrum/EventTime.php @@ -0,0 +1,39 @@ +startTime = $startTime; + } + public function getStartTime() + { + return $this->startTime; + } + public function setStopTime($stopTime) + { + $this->stopTime = $stopTime; + } + public function getStopTime() + { + return $this->stopTime; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Spectrum/FrequencyRange.php b/vendor/google/apiclient-services/src/Google/Service/Spectrum/FrequencyRange.php new file mode 100644 index 00000000..1c92156f --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Spectrum/FrequencyRange.php @@ -0,0 +1,57 @@ +channelId = $channelId; + } + public function getChannelId() + { + return $this->channelId; + } + public function setMaxPowerDBm($maxPowerDBm) + { + $this->maxPowerDBm = $maxPowerDBm; + } + public function getMaxPowerDBm() + { + return $this->maxPowerDBm; + } + public function setStartHz($startHz) + { + $this->startHz = $startHz; + } + public function getStartHz() + { + return $this->startHz; + } + public function setStopHz($stopHz) + { + $this->stopHz = $stopHz; + } + public function getStopHz() + { + return $this->stopHz; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Spectrum/GeoLocation.php b/vendor/google/apiclient-services/src/Google/Service/Spectrum/GeoLocation.php new file mode 100644 index 00000000..4b6d0026 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Spectrum/GeoLocation.php @@ -0,0 +1,50 @@ +confidence = $confidence; + } + public function getConfidence() + { + return $this->confidence; + } + public function setPoint(Google_Service_Spectrum_GeoLocationEllipse $point) + { + $this->point = $point; + } + public function getPoint() + { + return $this->point; + } + public function setRegion(Google_Service_Spectrum_GeoLocationPolygon $region) + { + $this->region = $region; + } + public function getRegion() + { + return $this->region; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Spectrum/GeoLocationEllipse.php b/vendor/google/apiclient-services/src/Google/Service/Spectrum/GeoLocationEllipse.php new file mode 100644 index 00000000..ab7f4346 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Spectrum/GeoLocationEllipse.php @@ -0,0 +1,58 @@ +center = $center; + } + public function getCenter() + { + return $this->center; + } + public function setOrientation($orientation) + { + $this->orientation = $orientation; + } + public function getOrientation() + { + return $this->orientation; + } + public function setSemiMajorAxis($semiMajorAxis) + { + $this->semiMajorAxis = $semiMajorAxis; + } + public function getSemiMajorAxis() + { + return $this->semiMajorAxis; + } + public function setSemiMinorAxis($semiMinorAxis) + { + $this->semiMinorAxis = $semiMinorAxis; + } + public function getSemiMinorAxis() + { + return $this->semiMinorAxis; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Spectrum/GeoLocationPoint.php b/vendor/google/apiclient-services/src/Google/Service/Spectrum/GeoLocationPoint.php new file mode 100644 index 00000000..3d87cf7c --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Spectrum/GeoLocationPoint.php @@ -0,0 +1,39 @@ +latitude = $latitude; + } + public function getLatitude() + { + return $this->latitude; + } + public function setLongitude($longitude) + { + $this->longitude = $longitude; + } + public function getLongitude() + { + return $this->longitude; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Spectrum/GeoLocationPolygon.php b/vendor/google/apiclient-services/src/Google/Service/Spectrum/GeoLocationPolygon.php new file mode 100644 index 00000000..01c3e30c --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Spectrum/GeoLocationPolygon.php @@ -0,0 +1,32 @@ +exterior = $exterior; + } + public function getExterior() + { + return $this->exterior; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Spectrum/GeoSpectrumSchedule.php b/vendor/google/apiclient-services/src/Google/Service/Spectrum/GeoSpectrumSchedule.php new file mode 100644 index 00000000..b8babd80 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Spectrum/GeoSpectrumSchedule.php @@ -0,0 +1,42 @@ +location = $location; + } + public function getLocation() + { + return $this->location; + } + public function setSpectrumSchedules($spectrumSchedules) + { + $this->spectrumSchedules = $spectrumSchedules; + } + public function getSpectrumSchedules() + { + return $this->spectrumSchedules; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Spectrum/PawsGetSpectrumBatchRequest.php b/vendor/google/apiclient-services/src/Google/Service/Spectrum/PawsGetSpectrumBatchRequest.php new file mode 100644 index 00000000..ca0529f6 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Spectrum/PawsGetSpectrumBatchRequest.php @@ -0,0 +1,109 @@ +antenna = $antenna; + } + public function getAntenna() + { + return $this->antenna; + } + public function setCapabilities(Google_Service_Spectrum_DeviceCapabilities $capabilities) + { + $this->capabilities = $capabilities; + } + public function getCapabilities() + { + return $this->capabilities; + } + public function setDeviceDesc(Google_Service_Spectrum_DeviceDescriptor $deviceDesc) + { + $this->deviceDesc = $deviceDesc; + } + public function getDeviceDesc() + { + return $this->deviceDesc; + } + public function setLocations($locations) + { + $this->locations = $locations; + } + public function getLocations() + { + return $this->locations; + } + public function setMasterDeviceDesc(Google_Service_Spectrum_DeviceDescriptor $masterDeviceDesc) + { + $this->masterDeviceDesc = $masterDeviceDesc; + } + public function getMasterDeviceDesc() + { + return $this->masterDeviceDesc; + } + public function setOwner(Google_Service_Spectrum_DeviceOwner $owner) + { + $this->owner = $owner; + } + public function getOwner() + { + return $this->owner; + } + public function setRequestType($requestType) + { + $this->requestType = $requestType; + } + public function getRequestType() + { + return $this->requestType; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } + public function setVersion($version) + { + $this->version = $version; + } + public function getVersion() + { + return $this->version; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Spectrum/PawsGetSpectrumBatchResponse.php b/vendor/google/apiclient-services/src/Google/Service/Spectrum/PawsGetSpectrumBatchResponse.php new file mode 100644 index 00000000..b0215fc9 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Spectrum/PawsGetSpectrumBatchResponse.php @@ -0,0 +1,125 @@ +databaseChange = $databaseChange; + } + public function getDatabaseChange() + { + return $this->databaseChange; + } + public function setDeviceDesc(Google_Service_Spectrum_DeviceDescriptor $deviceDesc) + { + $this->deviceDesc = $deviceDesc; + } + public function getDeviceDesc() + { + return $this->deviceDesc; + } + public function setGeoSpectrumSchedules($geoSpectrumSchedules) + { + $this->geoSpectrumSchedules = $geoSpectrumSchedules; + } + public function getGeoSpectrumSchedules() + { + return $this->geoSpectrumSchedules; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setMaxContiguousBwHz($maxContiguousBwHz) + { + $this->maxContiguousBwHz = $maxContiguousBwHz; + } + public function getMaxContiguousBwHz() + { + return $this->maxContiguousBwHz; + } + public function setMaxTotalBwHz($maxTotalBwHz) + { + $this->maxTotalBwHz = $maxTotalBwHz; + } + public function getMaxTotalBwHz() + { + return $this->maxTotalBwHz; + } + public function setNeedsSpectrumReport($needsSpectrumReport) + { + $this->needsSpectrumReport = $needsSpectrumReport; + } + public function getNeedsSpectrumReport() + { + return $this->needsSpectrumReport; + } + public function setRulesetInfo(Google_Service_Spectrum_RulesetInfo $rulesetInfo) + { + $this->rulesetInfo = $rulesetInfo; + } + public function getRulesetInfo() + { + return $this->rulesetInfo; + } + public function setTimestamp($timestamp) + { + $this->timestamp = $timestamp; + } + public function getTimestamp() + { + return $this->timestamp; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } + public function setVersion($version) + { + $this->version = $version; + } + public function getVersion() + { + return $this->version; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Spectrum/PawsGetSpectrumRequest.php b/vendor/google/apiclient-services/src/Google/Service/Spectrum/PawsGetSpectrumRequest.php new file mode 100644 index 00000000..5c12166d --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Spectrum/PawsGetSpectrumRequest.php @@ -0,0 +1,108 @@ +antenna = $antenna; + } + public function getAntenna() + { + return $this->antenna; + } + public function setCapabilities(Google_Service_Spectrum_DeviceCapabilities $capabilities) + { + $this->capabilities = $capabilities; + } + public function getCapabilities() + { + return $this->capabilities; + } + public function setDeviceDesc(Google_Service_Spectrum_DeviceDescriptor $deviceDesc) + { + $this->deviceDesc = $deviceDesc; + } + public function getDeviceDesc() + { + return $this->deviceDesc; + } + public function setLocation(Google_Service_Spectrum_GeoLocation $location) + { + $this->location = $location; + } + public function getLocation() + { + return $this->location; + } + public function setMasterDeviceDesc(Google_Service_Spectrum_DeviceDescriptor $masterDeviceDesc) + { + $this->masterDeviceDesc = $masterDeviceDesc; + } + public function getMasterDeviceDesc() + { + return $this->masterDeviceDesc; + } + public function setOwner(Google_Service_Spectrum_DeviceOwner $owner) + { + $this->owner = $owner; + } + public function getOwner() + { + return $this->owner; + } + public function setRequestType($requestType) + { + $this->requestType = $requestType; + } + public function getRequestType() + { + return $this->requestType; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } + public function setVersion($version) + { + $this->version = $version; + } + public function getVersion() + { + return $this->version; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Spectrum/PawsGetSpectrumResponse.php b/vendor/google/apiclient-services/src/Google/Service/Spectrum/PawsGetSpectrumResponse.php new file mode 100644 index 00000000..a8ee0869 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Spectrum/PawsGetSpectrumResponse.php @@ -0,0 +1,125 @@ +databaseChange = $databaseChange; + } + public function getDatabaseChange() + { + return $this->databaseChange; + } + public function setDeviceDesc(Google_Service_Spectrum_DeviceDescriptor $deviceDesc) + { + $this->deviceDesc = $deviceDesc; + } + public function getDeviceDesc() + { + return $this->deviceDesc; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setMaxContiguousBwHz($maxContiguousBwHz) + { + $this->maxContiguousBwHz = $maxContiguousBwHz; + } + public function getMaxContiguousBwHz() + { + return $this->maxContiguousBwHz; + } + public function setMaxTotalBwHz($maxTotalBwHz) + { + $this->maxTotalBwHz = $maxTotalBwHz; + } + public function getMaxTotalBwHz() + { + return $this->maxTotalBwHz; + } + public function setNeedsSpectrumReport($needsSpectrumReport) + { + $this->needsSpectrumReport = $needsSpectrumReport; + } + public function getNeedsSpectrumReport() + { + return $this->needsSpectrumReport; + } + public function setRulesetInfo(Google_Service_Spectrum_RulesetInfo $rulesetInfo) + { + $this->rulesetInfo = $rulesetInfo; + } + public function getRulesetInfo() + { + return $this->rulesetInfo; + } + public function setSpectrumSchedules($spectrumSchedules) + { + $this->spectrumSchedules = $spectrumSchedules; + } + public function getSpectrumSchedules() + { + return $this->spectrumSchedules; + } + public function setTimestamp($timestamp) + { + $this->timestamp = $timestamp; + } + public function getTimestamp() + { + return $this->timestamp; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } + public function setVersion($version) + { + $this->version = $version; + } + public function getVersion() + { + return $this->version; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Spectrum/PawsInitRequest.php b/vendor/google/apiclient-services/src/Google/Service/Spectrum/PawsInitRequest.php new file mode 100644 index 00000000..ceb20f80 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Spectrum/PawsInitRequest.php @@ -0,0 +1,59 @@ +deviceDesc = $deviceDesc; + } + public function getDeviceDesc() + { + return $this->deviceDesc; + } + public function setLocation(Google_Service_Spectrum_GeoLocation $location) + { + $this->location = $location; + } + public function getLocation() + { + return $this->location; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } + public function setVersion($version) + { + $this->version = $version; + } + public function getVersion() + { + return $this->version; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Spectrum/PawsInitResponse.php b/vendor/google/apiclient-services/src/Google/Service/Spectrum/PawsInitResponse.php new file mode 100644 index 00000000..444b11ea --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Spectrum/PawsInitResponse.php @@ -0,0 +1,68 @@ +databaseChange = $databaseChange; + } + public function getDatabaseChange() + { + return $this->databaseChange; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setRulesetInfo(Google_Service_Spectrum_RulesetInfo $rulesetInfo) + { + $this->rulesetInfo = $rulesetInfo; + } + public function getRulesetInfo() + { + return $this->rulesetInfo; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } + public function setVersion($version) + { + $this->version = $version; + } + public function getVersion() + { + return $this->version; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Spectrum/PawsNotifySpectrumUseRequest.php b/vendor/google/apiclient-services/src/Google/Service/Spectrum/PawsNotifySpectrumUseRequest.php new file mode 100644 index 00000000..5d3dcf15 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Spectrum/PawsNotifySpectrumUseRequest.php @@ -0,0 +1,70 @@ +deviceDesc = $deviceDesc; + } + public function getDeviceDesc() + { + return $this->deviceDesc; + } + public function setLocation(Google_Service_Spectrum_GeoLocation $location) + { + $this->location = $location; + } + public function getLocation() + { + return $this->location; + } + public function setSpectra($spectra) + { + $this->spectra = $spectra; + } + public function getSpectra() + { + return $this->spectra; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } + public function setVersion($version) + { + $this->version = $version; + } + public function getVersion() + { + return $this->version; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Spectrum/PawsNotifySpectrumUseResponse.php b/vendor/google/apiclient-services/src/Google/Service/Spectrum/PawsNotifySpectrumUseResponse.php new file mode 100644 index 00000000..e4480b4d --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Spectrum/PawsNotifySpectrumUseResponse.php @@ -0,0 +1,48 @@ +kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } + public function setVersion($version) + { + $this->version = $version; + } + public function getVersion() + { + return $this->version; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Spectrum/PawsRegisterRequest.php b/vendor/google/apiclient-services/src/Google/Service/Spectrum/PawsRegisterRequest.php new file mode 100644 index 00000000..b6a1f9d6 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Spectrum/PawsRegisterRequest.php @@ -0,0 +1,79 @@ +antenna = $antenna; + } + public function getAntenna() + { + return $this->antenna; + } + public function setDeviceDesc(Google_Service_Spectrum_DeviceDescriptor $deviceDesc) + { + $this->deviceDesc = $deviceDesc; + } + public function getDeviceDesc() + { + return $this->deviceDesc; + } + public function setDeviceOwner(Google_Service_Spectrum_DeviceOwner $deviceOwner) + { + $this->deviceOwner = $deviceOwner; + } + public function getDeviceOwner() + { + return $this->deviceOwner; + } + public function setLocation(Google_Service_Spectrum_GeoLocation $location) + { + $this->location = $location; + } + public function getLocation() + { + return $this->location; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } + public function setVersion($version) + { + $this->version = $version; + } + public function getVersion() + { + return $this->version; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Spectrum/PawsRegisterResponse.php b/vendor/google/apiclient-services/src/Google/Service/Spectrum/PawsRegisterResponse.php new file mode 100644 index 00000000..99e8d08c --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Spectrum/PawsRegisterResponse.php @@ -0,0 +1,58 @@ +databaseChange = $databaseChange; + } + public function getDatabaseChange() + { + return $this->databaseChange; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } + public function setVersion($version) + { + $this->version = $version; + } + public function getVersion() + { + return $this->version; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Spectrum/PawsVerifyDeviceRequest.php b/vendor/google/apiclient-services/src/Google/Service/Spectrum/PawsVerifyDeviceRequest.php new file mode 100644 index 00000000..93d1ef35 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Spectrum/PawsVerifyDeviceRequest.php @@ -0,0 +1,50 @@ +deviceDescs = $deviceDescs; + } + public function getDeviceDescs() + { + return $this->deviceDescs; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } + public function setVersion($version) + { + $this->version = $version; + } + public function getVersion() + { + return $this->version; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Spectrum/PawsVerifyDeviceResponse.php b/vendor/google/apiclient-services/src/Google/Service/Spectrum/PawsVerifyDeviceResponse.php new file mode 100644 index 00000000..2ad6777e --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Spectrum/PawsVerifyDeviceResponse.php @@ -0,0 +1,69 @@ +databaseChange = $databaseChange; + } + public function getDatabaseChange() + { + return $this->databaseChange; + } + public function setDeviceValidities($deviceValidities) + { + $this->deviceValidities = $deviceValidities; + } + public function getDeviceValidities() + { + return $this->deviceValidities; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } + public function setVersion($version) + { + $this->version = $version; + } + public function getVersion() + { + return $this->version; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Spectrum/Resource/Paws.php b/vendor/google/apiclient-services/src/Google/Service/Spectrum/Resource/Paws.php new file mode 100644 index 00000000..f7e30223 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Spectrum/Resource/Paws.php @@ -0,0 +1,117 @@ + + * $spectrumService = new Google_Service_Spectrum(...); + * $paws = $spectrumService->paws; + * + */ +class Google_Service_Spectrum_Resource_Paws extends Google_Service_Resource +{ + /** + * Requests information about the available spectrum for a device at a location. + * Requests from a fixed-mode device must include owner information so the + * device can be registered with the database. (paws.getSpectrum) + * + * @param Google_Service_Spectrum_PawsGetSpectrumRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Spectrum_PawsGetSpectrumResponse + */ + public function getSpectrum(Google_Service_Spectrum_PawsGetSpectrumRequest $postBody, $optParams = array()) + { + $params = array('postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('getSpectrum', array($params), "Google_Service_Spectrum_PawsGetSpectrumResponse"); + } + /** + * The Google Spectrum Database does not support batch requests, so this method + * always yields an UNIMPLEMENTED error. (paws.getSpectrumBatch) + * + * @param Google_Service_Spectrum_PawsGetSpectrumBatchRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Spectrum_PawsGetSpectrumBatchResponse + */ + public function getSpectrumBatch(Google_Service_Spectrum_PawsGetSpectrumBatchRequest $postBody, $optParams = array()) + { + $params = array('postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('getSpectrumBatch', array($params), "Google_Service_Spectrum_PawsGetSpectrumBatchResponse"); + } + /** + * Initializes the connection between a white space device and the database. + * (paws.init) + * + * @param Google_Service_Spectrum_PawsInitRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Spectrum_PawsInitResponse + */ + public function init(Google_Service_Spectrum_PawsInitRequest $postBody, $optParams = array()) + { + $params = array('postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('init', array($params), "Google_Service_Spectrum_PawsInitResponse"); + } + /** + * Notifies the database that the device has selected certain frequency ranges + * for transmission. Only to be invoked when required by the regulator. The + * Google Spectrum Database does not operate in domains that require + * notification, so this always yields an UNIMPLEMENTED error. + * (paws.notifySpectrumUse) + * + * @param Google_Service_Spectrum_PawsNotifySpectrumUseRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Spectrum_PawsNotifySpectrumUseResponse + */ + public function notifySpectrumUse(Google_Service_Spectrum_PawsNotifySpectrumUseRequest $postBody, $optParams = array()) + { + $params = array('postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('notifySpectrumUse', array($params), "Google_Service_Spectrum_PawsNotifySpectrumUseResponse"); + } + /** + * The Google Spectrum Database implements registration in the getSpectrum + * method. As such this always returns an UNIMPLEMENTED error. (paws.register) + * + * @param Google_Service_Spectrum_PawsRegisterRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Spectrum_PawsRegisterResponse + */ + public function register(Google_Service_Spectrum_PawsRegisterRequest $postBody, $optParams = array()) + { + $params = array('postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('register', array($params), "Google_Service_Spectrum_PawsRegisterResponse"); + } + /** + * Validates a device for white space use in accordance with regulatory rules. + * The Google Spectrum Database does not support master/slave configurations, so + * this always yields an UNIMPLEMENTED error. (paws.verifyDevice) + * + * @param Google_Service_Spectrum_PawsVerifyDeviceRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Spectrum_PawsVerifyDeviceResponse + */ + public function verifyDevice(Google_Service_Spectrum_PawsVerifyDeviceRequest $postBody, $optParams = array()) + { + $params = array('postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('verifyDevice', array($params), "Google_Service_Spectrum_PawsVerifyDeviceResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Spectrum/RulesetInfo.php b/vendor/google/apiclient-services/src/Google/Service/Spectrum/RulesetInfo.php new file mode 100644 index 00000000..89f01215 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Spectrum/RulesetInfo.php @@ -0,0 +1,58 @@ +authority = $authority; + } + public function getAuthority() + { + return $this->authority; + } + public function setMaxLocationChange($maxLocationChange) + { + $this->maxLocationChange = $maxLocationChange; + } + public function getMaxLocationChange() + { + return $this->maxLocationChange; + } + public function setMaxPollingSecs($maxPollingSecs) + { + $this->maxPollingSecs = $maxPollingSecs; + } + public function getMaxPollingSecs() + { + return $this->maxPollingSecs; + } + public function setRulesetIds($rulesetIds) + { + $this->rulesetIds = $rulesetIds; + } + public function getRulesetIds() + { + return $this->rulesetIds; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Spectrum/SpectrumMessage.php b/vendor/google/apiclient-services/src/Google/Service/Spectrum/SpectrumMessage.php new file mode 100644 index 00000000..a1cb27b7 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Spectrum/SpectrumMessage.php @@ -0,0 +1,41 @@ +bandwidth = $bandwidth; + } + public function getBandwidth() + { + return $this->bandwidth; + } + public function setFrequencyRanges($frequencyRanges) + { + $this->frequencyRanges = $frequencyRanges; + } + public function getFrequencyRanges() + { + return $this->frequencyRanges; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Spectrum/SpectrumSchedule.php b/vendor/google/apiclient-services/src/Google/Service/Spectrum/SpectrumSchedule.php new file mode 100644 index 00000000..f8085aba --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Spectrum/SpectrumSchedule.php @@ -0,0 +1,42 @@ +eventTime = $eventTime; + } + public function getEventTime() + { + return $this->eventTime; + } + public function setSpectra($spectra) + { + $this->spectra = $spectra; + } + public function getSpectra() + { + return $this->spectra; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Spectrum/Vcard.php b/vendor/google/apiclient-services/src/Google/Service/Spectrum/Vcard.php new file mode 100644 index 00000000..896bebc1 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Spectrum/Vcard.php @@ -0,0 +1,70 @@ +adr = $adr; + } + public function getAdr() + { + return $this->adr; + } + public function setEmail(Google_Service_Spectrum_VcardTypedText $email) + { + $this->email = $email; + } + public function getEmail() + { + return $this->email; + } + public function setFn($fn) + { + $this->fn = $fn; + } + public function getFn() + { + return $this->fn; + } + public function setOrg(Google_Service_Spectrum_VcardTypedText $org) + { + $this->org = $org; + } + public function getOrg() + { + return $this->org; + } + public function setTel(Google_Service_Spectrum_VcardTelephone $tel) + { + $this->tel = $tel; + } + public function getTel() + { + return $this->tel; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Spectrum/VcardAddress.php b/vendor/google/apiclient-services/src/Google/Service/Spectrum/VcardAddress.php new file mode 100644 index 00000000..fde77cc2 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Spectrum/VcardAddress.php @@ -0,0 +1,75 @@ +code = $code; + } + public function getCode() + { + return $this->code; + } + public function setCountry($country) + { + $this->country = $country; + } + public function getCountry() + { + return $this->country; + } + public function setLocality($locality) + { + $this->locality = $locality; + } + public function getLocality() + { + return $this->locality; + } + public function setPobox($pobox) + { + $this->pobox = $pobox; + } + public function getPobox() + { + return $this->pobox; + } + public function setRegion($region) + { + $this->region = $region; + } + public function getRegion() + { + return $this->region; + } + public function setStreet($street) + { + $this->street = $street; + } + public function getStreet() + { + return $this->street; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Spectrum/VcardTelephone.php b/vendor/google/apiclient-services/src/Google/Service/Spectrum/VcardTelephone.php new file mode 100644 index 00000000..afe4b5c9 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Spectrum/VcardTelephone.php @@ -0,0 +1,30 @@ +uri = $uri; + } + public function getUri() + { + return $this->uri; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Spectrum/VcardTypedText.php b/vendor/google/apiclient-services/src/Google/Service/Spectrum/VcardTypedText.php new file mode 100644 index 00000000..f21f0a29 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Spectrum/VcardTypedText.php @@ -0,0 +1,30 @@ +text = $text; + } + public function getText() + { + return $this->text; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Speech.php b/vendor/google/apiclient-services/src/Google/Service/Speech.php new file mode 100644 index 00000000..ce174d0d --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Speech.php @@ -0,0 +1,133 @@ + + * Google Cloud Speech API.

+ * + *

+ * For more information about this service, see the API + * Documentation + *

+ * + * @author Google, Inc. + */ +class Google_Service_Speech extends Google_Service +{ + /** View and manage your data across Google Cloud Platform services. */ + const CLOUD_PLATFORM = + "https://www.googleapis.com/auth/cloud-platform"; + + public $operations; + public $speech; + + /** + * Constructs the internal representation of the Speech service. + * + * @param Google_Client $client + */ + public function __construct(Google_Client $client) + { + parent::__construct($client); + $this->rootUrl = 'https://speech.googleapis.com/'; + $this->servicePath = ''; + $this->version = 'v1beta1'; + $this->serviceName = 'speech'; + + $this->operations = new Google_Service_Speech_Resource_Operations( + $this, + $this->serviceName, + 'operations', + array( + 'methods' => array( + 'cancel' => array( + 'path' => 'v1beta1/operations/{+name}:cancel', + 'httpMethod' => 'POST', + 'parameters' => array( + 'name' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'delete' => array( + 'path' => 'v1beta1/operations/{+name}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'name' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'get' => array( + 'path' => 'v1beta1/operations/{+name}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'name' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'v1beta1/operations', + 'httpMethod' => 'GET', + 'parameters' => array( + 'filter' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'name' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pageSize' => array( + 'location' => 'query', + 'type' => 'integer', + ), + ), + ), + ) + ) + ); + $this->speech = new Google_Service_Speech_Resource_Speech( + $this, + $this->serviceName, + 'speech', + array( + 'methods' => array( + 'asyncrecognize' => array( + 'path' => 'v1beta1/speech:asyncrecognize', + 'httpMethod' => 'POST', + 'parameters' => array(), + ),'syncrecognize' => array( + 'path' => 'v1beta1/speech:syncrecognize', + 'httpMethod' => 'POST', + 'parameters' => array(), + ), + ) + ) + ); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Speech/AsyncRecognizeRequest.php b/vendor/google/apiclient-services/src/Google/Service/Speech/AsyncRecognizeRequest.php new file mode 100644 index 00000000..cdbfae6f --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Speech/AsyncRecognizeRequest.php @@ -0,0 +1,41 @@ +audio = $audio; + } + public function getAudio() + { + return $this->audio; + } + public function setConfig(Google_Service_Speech_RecognitionConfig $config) + { + $this->config = $config; + } + public function getConfig() + { + return $this->config; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Speech/CancelOperationRequest.php b/vendor/google/apiclient-services/src/Google/Service/Speech/CancelOperationRequest.php new file mode 100644 index 00000000..f4692945 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Speech/CancelOperationRequest.php @@ -0,0 +1,20 @@ +nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setOperations($operations) + { + $this->operations = $operations; + } + public function getOperations() + { + return $this->operations; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Speech/Operation.php b/vendor/google/apiclient-services/src/Google/Service/Speech/Operation.php new file mode 100644 index 00000000..f413dadd --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Speech/Operation.php @@ -0,0 +1,67 @@ +done = $done; + } + public function getDone() + { + return $this->done; + } + public function setError(Google_Service_Speech_Status $error) + { + $this->error = $error; + } + public function getError() + { + return $this->error; + } + public function setMetadata($metadata) + { + $this->metadata = $metadata; + } + public function getMetadata() + { + return $this->metadata; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setResponse($response) + { + $this->response = $response; + } + public function getResponse() + { + return $this->response; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Speech/RecognitionAudio.php b/vendor/google/apiclient-services/src/Google/Service/Speech/RecognitionAudio.php new file mode 100644 index 00000000..511a2425 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Speech/RecognitionAudio.php @@ -0,0 +1,39 @@ +content = $content; + } + public function getContent() + { + return $this->content; + } + public function setUri($uri) + { + $this->uri = $uri; + } + public function getUri() + { + return $this->uri; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Speech/RecognitionConfig.php b/vendor/google/apiclient-services/src/Google/Service/Speech/RecognitionConfig.php new file mode 100644 index 00000000..03faa829 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Speech/RecognitionConfig.php @@ -0,0 +1,76 @@ +encoding = $encoding; + } + public function getEncoding() + { + return $this->encoding; + } + public function setLanguageCode($languageCode) + { + $this->languageCode = $languageCode; + } + public function getLanguageCode() + { + return $this->languageCode; + } + public function setMaxAlternatives($maxAlternatives) + { + $this->maxAlternatives = $maxAlternatives; + } + public function getMaxAlternatives() + { + return $this->maxAlternatives; + } + public function setProfanityFilter($profanityFilter) + { + $this->profanityFilter = $profanityFilter; + } + public function getProfanityFilter() + { + return $this->profanityFilter; + } + public function setSampleRate($sampleRate) + { + $this->sampleRate = $sampleRate; + } + public function getSampleRate() + { + return $this->sampleRate; + } + public function setSpeechContext(Google_Service_Speech_SpeechContext $speechContext) + { + $this->speechContext = $speechContext; + } + public function getSpeechContext() + { + return $this->speechContext; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Speech/Resource/Operations.php b/vendor/google/apiclient-services/src/Google/Service/Speech/Resource/Operations.php new file mode 100644 index 00000000..b8adab7b --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Speech/Resource/Operations.php @@ -0,0 +1,102 @@ + + * $speechService = new Google_Service_Speech(...); + * $operations = $speechService->operations; + * + */ +class Google_Service_Speech_Resource_Operations extends Google_Service_Resource +{ + /** + * Starts asynchronous cancellation on a long-running operation. The server + * makes a best effort to cancel the operation, but success is not guaranteed. + * If the server doesn't support this method, it returns + * `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or + * other methods to check whether the cancellation succeeded or whether the + * operation completed despite cancellation. On successful cancellation, the + * operation is not deleted; instead, it becomes an operation with an + * Operation.error value with a google.rpc.Status.code of 1, corresponding to + * `Code.CANCELLED`. (operations.cancel) + * + * @param string $name The name of the operation resource to be cancelled. + * @param array $optParams Optional parameters. + * @return Google_Service_Speech_SpeechEmpty + */ + public function cancel($name, $optParams = array()) + { + $params = array('name' => $name); + $params = array_merge($params, $optParams); + return $this->call('cancel', array($params), "Google_Service_Speech_SpeechEmpty"); + } + /** + * Deletes a long-running operation. This method indicates that the client is no + * longer interested in the operation result. It does not cancel the operation. + * If the server doesn't support this method, it returns + * `google.rpc.Code.UNIMPLEMENTED`. (operations.delete) + * + * @param string $name The name of the operation resource to be deleted. + * @param array $optParams Optional parameters. + * @return Google_Service_Speech_SpeechEmpty + */ + public function delete($name, $optParams = array()) + { + $params = array('name' => $name); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params), "Google_Service_Speech_SpeechEmpty"); + } + /** + * Gets the latest state of a long-running operation. Clients can use this + * method to poll the operation result at intervals as recommended by the API + * service. (operations.get) + * + * @param string $name The name of the operation resource. + * @param array $optParams Optional parameters. + * @return Google_Service_Speech_Operation + */ + public function get($name, $optParams = array()) + { + $params = array('name' => $name); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Speech_Operation"); + } + /** + * Lists operations that match the specified filter in the request. If the + * server doesn't support this method, it returns `UNIMPLEMENTED`. + * + * NOTE: the `name` binding below allows API services to override the binding to + * use different resource name schemes, such as `users/operations`. + * (operations.listOperations) + * + * @param array $optParams Optional parameters. + * + * @opt_param string filter The standard list filter. + * @opt_param string name The name of the operation collection. + * @opt_param string pageToken The standard list page token. + * @opt_param int pageSize The standard list page size. + * @return Google_Service_Speech_ListOperationsResponse + */ + public function listOperations($optParams = array()) + { + $params = array(); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Speech_ListOperationsResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Speech/Resource/Speech.php b/vendor/google/apiclient-services/src/Google/Service/Speech/Resource/Speech.php new file mode 100644 index 00000000..17ebda33 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Speech/Resource/Speech.php @@ -0,0 +1,59 @@ + + * $speechService = new Google_Service_Speech(...); + * $speech = $speechService->speech; + * + */ +class Google_Service_Speech_Resource_Speech extends Google_Service_Resource +{ + /** + * Performs asynchronous speech recognition: receive results via the + * [google.longrunning.Operations] + * (/speech/reference/rest/v1beta1/operations#Operation) interface. Returns + * either an `Operation.error` or an `Operation.response` which contains an + * `AsyncRecognizeResponse` message. (speech.asyncrecognize) + * + * @param Google_Service_Speech_AsyncRecognizeRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Speech_Operation + */ + public function asyncrecognize(Google_Service_Speech_AsyncRecognizeRequest $postBody, $optParams = array()) + { + $params = array('postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('asyncrecognize', array($params), "Google_Service_Speech_Operation"); + } + /** + * Performs synchronous speech recognition: receive results after all audio has + * been sent and processed. (speech.syncrecognize) + * + * @param Google_Service_Speech_SyncRecognizeRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Speech_SyncRecognizeResponse + */ + public function syncrecognize(Google_Service_Speech_SyncRecognizeRequest $postBody, $optParams = array()) + { + $params = array('postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('syncrecognize', array($params), "Google_Service_Speech_SyncRecognizeResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Speech/SpeechContext.php b/vendor/google/apiclient-services/src/Google/Service/Speech/SpeechContext.php new file mode 100644 index 00000000..3069cfc7 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Speech/SpeechContext.php @@ -0,0 +1,31 @@ +phrases = $phrases; + } + public function getPhrases() + { + return $this->phrases; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Speech/SpeechEmpty.php b/vendor/google/apiclient-services/src/Google/Service/Speech/SpeechEmpty.php new file mode 100644 index 00000000..53008888 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Speech/SpeechEmpty.php @@ -0,0 +1,20 @@ +confidence = $confidence; + } + public function getConfidence() + { + return $this->confidence; + } + public function setTranscript($transcript) + { + $this->transcript = $transcript; + } + public function getTranscript() + { + return $this->transcript; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Speech/SpeechRecognitionResult.php b/vendor/google/apiclient-services/src/Google/Service/Speech/SpeechRecognitionResult.php new file mode 100644 index 00000000..28e9723f --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Speech/SpeechRecognitionResult.php @@ -0,0 +1,32 @@ +alternatives = $alternatives; + } + public function getAlternatives() + { + return $this->alternatives; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Speech/Status.php b/vendor/google/apiclient-services/src/Google/Service/Speech/Status.php new file mode 100644 index 00000000..af62f982 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Speech/Status.php @@ -0,0 +1,49 @@ +code = $code; + } + public function getCode() + { + return $this->code; + } + public function setDetails($details) + { + $this->details = $details; + } + public function getDetails() + { + return $this->details; + } + public function setMessage($message) + { + $this->message = $message; + } + public function getMessage() + { + return $this->message; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Speech/SyncRecognizeRequest.php b/vendor/google/apiclient-services/src/Google/Service/Speech/SyncRecognizeRequest.php new file mode 100644 index 00000000..e88be3e7 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Speech/SyncRecognizeRequest.php @@ -0,0 +1,41 @@ +audio = $audio; + } + public function getAudio() + { + return $this->audio; + } + public function setConfig(Google_Service_Speech_RecognitionConfig $config) + { + $this->config = $config; + } + public function getConfig() + { + return $this->config; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Speech/SyncRecognizeResponse.php b/vendor/google/apiclient-services/src/Google/Service/Speech/SyncRecognizeResponse.php new file mode 100644 index 00000000..9a6c348a --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Speech/SyncRecognizeResponse.php @@ -0,0 +1,32 @@ +results = $results; + } + public function getResults() + { + return $this->results; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Storage.php b/vendor/google/apiclient-services/src/Google/Service/Storage.php new file mode 100644 index 00000000..9e5c8349 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Storage.php @@ -0,0 +1,1126 @@ + + * Stores and retrieves potentially large, immutable data objects.

+ * + *

+ * For more information about this service, see the API + * Documentation + *

+ * + * @author Google, Inc. + */ +class Google_Service_Storage extends Google_Service +{ + /** View and manage your data across Google Cloud Platform services. */ + const CLOUD_PLATFORM = + "https://www.googleapis.com/auth/cloud-platform"; + /** View your data across Google Cloud Platform services. */ + const CLOUD_PLATFORM_READ_ONLY = + "https://www.googleapis.com/auth/cloud-platform.read-only"; + /** Manage your data and permissions in Google Cloud Storage. */ + const DEVSTORAGE_FULL_CONTROL = + "https://www.googleapis.com/auth/devstorage.full_control"; + /** View your data in Google Cloud Storage. */ + const DEVSTORAGE_READ_ONLY = + "https://www.googleapis.com/auth/devstorage.read_only"; + /** Manage your data in Google Cloud Storage. */ + const DEVSTORAGE_READ_WRITE = + "https://www.googleapis.com/auth/devstorage.read_write"; + + public $bucketAccessControls; + public $buckets; + public $channels; + public $defaultObjectAccessControls; + public $objectAccessControls; + public $objects; + + /** + * Constructs the internal representation of the Storage service. + * + * @param Google_Client $client + */ + public function __construct(Google_Client $client) + { + parent::__construct($client); + $this->rootUrl = 'https://www.googleapis.com/'; + $this->servicePath = 'storage/v1/'; + $this->version = 'v1'; + $this->serviceName = 'storage'; + + $this->bucketAccessControls = new Google_Service_Storage_Resource_BucketAccessControls( + $this, + $this->serviceName, + 'bucketAccessControls', + array( + 'methods' => array( + 'delete' => array( + 'path' => 'b/{bucket}/acl/{entity}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'bucket' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'entity' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'get' => array( + 'path' => 'b/{bucket}/acl/{entity}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'bucket' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'entity' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'insert' => array( + 'path' => 'b/{bucket}/acl', + 'httpMethod' => 'POST', + 'parameters' => array( + 'bucket' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'b/{bucket}/acl', + 'httpMethod' => 'GET', + 'parameters' => array( + 'bucket' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'patch' => array( + 'path' => 'b/{bucket}/acl/{entity}', + 'httpMethod' => 'PATCH', + 'parameters' => array( + 'bucket' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'entity' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'update' => array( + 'path' => 'b/{bucket}/acl/{entity}', + 'httpMethod' => 'PUT', + 'parameters' => array( + 'bucket' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'entity' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->buckets = new Google_Service_Storage_Resource_Buckets( + $this, + $this->serviceName, + 'buckets', + array( + 'methods' => array( + 'delete' => array( + 'path' => 'b/{bucket}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'bucket' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'ifMetagenerationMatch' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'ifMetagenerationNotMatch' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'get' => array( + 'path' => 'b/{bucket}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'bucket' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'ifMetagenerationMatch' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'ifMetagenerationNotMatch' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'projection' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'getIamPolicy' => array( + 'path' => 'b/{bucket}/iam', + 'httpMethod' => 'GET', + 'parameters' => array( + 'bucket' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'insert' => array( + 'path' => 'b', + 'httpMethod' => 'POST', + 'parameters' => array( + 'project' => array( + 'location' => 'query', + 'type' => 'string', + 'required' => true, + ), + 'predefinedAcl' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'predefinedDefaultObjectAcl' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'projection' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'list' => array( + 'path' => 'b', + 'httpMethod' => 'GET', + 'parameters' => array( + 'project' => array( + 'location' => 'query', + 'type' => 'string', + 'required' => true, + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'prefix' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'projection' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'patch' => array( + 'path' => 'b/{bucket}', + 'httpMethod' => 'PATCH', + 'parameters' => array( + 'bucket' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'ifMetagenerationMatch' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'ifMetagenerationNotMatch' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'predefinedAcl' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'predefinedDefaultObjectAcl' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'projection' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'setIamPolicy' => array( + 'path' => 'b/{bucket}/iam', + 'httpMethod' => 'PUT', + 'parameters' => array( + 'bucket' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'testIamPermissions' => array( + 'path' => 'b/{bucket}/iam/testPermissions', + 'httpMethod' => 'GET', + 'parameters' => array( + 'bucket' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'permissions' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + 'required' => true, + ), + ), + ),'update' => array( + 'path' => 'b/{bucket}', + 'httpMethod' => 'PUT', + 'parameters' => array( + 'bucket' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'ifMetagenerationMatch' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'ifMetagenerationNotMatch' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'predefinedAcl' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'predefinedDefaultObjectAcl' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'projection' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + $this->channels = new Google_Service_Storage_Resource_Channels( + $this, + $this->serviceName, + 'channels', + array( + 'methods' => array( + 'stop' => array( + 'path' => 'channels/stop', + 'httpMethod' => 'POST', + 'parameters' => array(), + ), + ) + ) + ); + $this->defaultObjectAccessControls = new Google_Service_Storage_Resource_DefaultObjectAccessControls( + $this, + $this->serviceName, + 'defaultObjectAccessControls', + array( + 'methods' => array( + 'delete' => array( + 'path' => 'b/{bucket}/defaultObjectAcl/{entity}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'bucket' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'entity' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'get' => array( + 'path' => 'b/{bucket}/defaultObjectAcl/{entity}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'bucket' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'entity' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'insert' => array( + 'path' => 'b/{bucket}/defaultObjectAcl', + 'httpMethod' => 'POST', + 'parameters' => array( + 'bucket' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'b/{bucket}/defaultObjectAcl', + 'httpMethod' => 'GET', + 'parameters' => array( + 'bucket' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'ifMetagenerationMatch' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'ifMetagenerationNotMatch' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'patch' => array( + 'path' => 'b/{bucket}/defaultObjectAcl/{entity}', + 'httpMethod' => 'PATCH', + 'parameters' => array( + 'bucket' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'entity' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'update' => array( + 'path' => 'b/{bucket}/defaultObjectAcl/{entity}', + 'httpMethod' => 'PUT', + 'parameters' => array( + 'bucket' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'entity' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->objectAccessControls = new Google_Service_Storage_Resource_ObjectAccessControls( + $this, + $this->serviceName, + 'objectAccessControls', + array( + 'methods' => array( + 'delete' => array( + 'path' => 'b/{bucket}/o/{object}/acl/{entity}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'bucket' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'object' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'entity' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'generation' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'get' => array( + 'path' => 'b/{bucket}/o/{object}/acl/{entity}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'bucket' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'object' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'entity' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'generation' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'insert' => array( + 'path' => 'b/{bucket}/o/{object}/acl', + 'httpMethod' => 'POST', + 'parameters' => array( + 'bucket' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'object' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'generation' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'list' => array( + 'path' => 'b/{bucket}/o/{object}/acl', + 'httpMethod' => 'GET', + 'parameters' => array( + 'bucket' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'object' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'generation' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'patch' => array( + 'path' => 'b/{bucket}/o/{object}/acl/{entity}', + 'httpMethod' => 'PATCH', + 'parameters' => array( + 'bucket' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'object' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'entity' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'generation' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'update' => array( + 'path' => 'b/{bucket}/o/{object}/acl/{entity}', + 'httpMethod' => 'PUT', + 'parameters' => array( + 'bucket' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'object' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'entity' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'generation' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + $this->objects = new Google_Service_Storage_Resource_Objects( + $this, + $this->serviceName, + 'objects', + array( + 'methods' => array( + 'compose' => array( + 'path' => 'b/{destinationBucket}/o/{destinationObject}/compose', + 'httpMethod' => 'POST', + 'parameters' => array( + 'destinationBucket' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'destinationObject' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'destinationPredefinedAcl' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'ifGenerationMatch' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'ifMetagenerationMatch' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'copy' => array( + 'path' => 'b/{sourceBucket}/o/{sourceObject}/copyTo/b/{destinationBucket}/o/{destinationObject}', + 'httpMethod' => 'POST', + 'parameters' => array( + 'sourceBucket' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'sourceObject' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'destinationBucket' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'destinationObject' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'destinationPredefinedAcl' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'ifGenerationMatch' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'ifGenerationNotMatch' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'ifMetagenerationMatch' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'ifMetagenerationNotMatch' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'ifSourceGenerationMatch' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'ifSourceGenerationNotMatch' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'ifSourceMetagenerationMatch' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'ifSourceMetagenerationNotMatch' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'projection' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'sourceGeneration' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'delete' => array( + 'path' => 'b/{bucket}/o/{object}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'bucket' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'object' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'generation' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'ifGenerationMatch' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'ifGenerationNotMatch' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'ifMetagenerationMatch' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'ifMetagenerationNotMatch' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'get' => array( + 'path' => 'b/{bucket}/o/{object}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'bucket' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'object' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'generation' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'ifGenerationMatch' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'ifGenerationNotMatch' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'ifMetagenerationMatch' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'ifMetagenerationNotMatch' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'projection' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'getIamPolicy' => array( + 'path' => 'b/{bucket}/o/{object}/iam', + 'httpMethod' => 'GET', + 'parameters' => array( + 'bucket' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'object' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'generation' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'insert' => array( + 'path' => 'b/{bucket}/o', + 'httpMethod' => 'POST', + 'parameters' => array( + 'bucket' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'contentEncoding' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'ifGenerationMatch' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'ifGenerationNotMatch' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'ifMetagenerationMatch' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'ifMetagenerationNotMatch' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'name' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'predefinedAcl' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'projection' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'list' => array( + 'path' => 'b/{bucket}/o', + 'httpMethod' => 'GET', + 'parameters' => array( + 'bucket' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'delimiter' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'prefix' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'projection' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'versions' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + ), + ),'patch' => array( + 'path' => 'b/{bucket}/o/{object}', + 'httpMethod' => 'PATCH', + 'parameters' => array( + 'bucket' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'object' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'generation' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'ifGenerationMatch' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'ifGenerationNotMatch' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'ifMetagenerationMatch' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'ifMetagenerationNotMatch' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'predefinedAcl' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'projection' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'rewrite' => array( + 'path' => 'b/{sourceBucket}/o/{sourceObject}/rewriteTo/b/{destinationBucket}/o/{destinationObject}', + 'httpMethod' => 'POST', + 'parameters' => array( + 'sourceBucket' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'sourceObject' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'destinationBucket' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'destinationObject' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'destinationPredefinedAcl' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'ifGenerationMatch' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'ifGenerationNotMatch' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'ifMetagenerationMatch' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'ifMetagenerationNotMatch' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'ifSourceGenerationMatch' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'ifSourceGenerationNotMatch' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'ifSourceMetagenerationMatch' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'ifSourceMetagenerationNotMatch' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'maxBytesRewrittenPerCall' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'projection' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'rewriteToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'sourceGeneration' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'setIamPolicy' => array( + 'path' => 'b/{bucket}/o/{object}/iam', + 'httpMethod' => 'PUT', + 'parameters' => array( + 'bucket' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'object' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'generation' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'testIamPermissions' => array( + 'path' => 'b/{bucket}/o/{object}/iam/testPermissions', + 'httpMethod' => 'GET', + 'parameters' => array( + 'bucket' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'object' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'permissions' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + 'required' => true, + ), + 'generation' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'update' => array( + 'path' => 'b/{bucket}/o/{object}', + 'httpMethod' => 'PUT', + 'parameters' => array( + 'bucket' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'object' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'generation' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'ifGenerationMatch' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'ifGenerationNotMatch' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'ifMetagenerationMatch' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'ifMetagenerationNotMatch' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'predefinedAcl' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'projection' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'watchAll' => array( + 'path' => 'b/{bucket}/o/watch', + 'httpMethod' => 'POST', + 'parameters' => array( + 'bucket' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'delimiter' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'prefix' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'projection' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'versions' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + ), + ), + ) + ) + ); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Storage/Bucket.php b/vendor/google/apiclient-services/src/Google/Service/Storage/Bucket.php new file mode 100644 index 00000000..3aa7a99a --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Storage/Bucket.php @@ -0,0 +1,201 @@ +acl = $acl; + } + public function getAcl() + { + return $this->acl; + } + public function setCors($cors) + { + $this->cors = $cors; + } + public function getCors() + { + return $this->cors; + } + public function setDefaultObjectAcl($defaultObjectAcl) + { + $this->defaultObjectAcl = $defaultObjectAcl; + } + public function getDefaultObjectAcl() + { + return $this->defaultObjectAcl; + } + public function setEtag($etag) + { + $this->etag = $etag; + } + public function getEtag() + { + return $this->etag; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setLifecycle(Google_Service_Storage_BucketLifecycle $lifecycle) + { + $this->lifecycle = $lifecycle; + } + public function getLifecycle() + { + return $this->lifecycle; + } + public function setLocation($location) + { + $this->location = $location; + } + public function getLocation() + { + return $this->location; + } + public function setLogging(Google_Service_Storage_BucketLogging $logging) + { + $this->logging = $logging; + } + public function getLogging() + { + return $this->logging; + } + public function setMetageneration($metageneration) + { + $this->metageneration = $metageneration; + } + public function getMetageneration() + { + return $this->metageneration; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setOwner(Google_Service_Storage_BucketOwner $owner) + { + $this->owner = $owner; + } + public function getOwner() + { + return $this->owner; + } + public function setProjectNumber($projectNumber) + { + $this->projectNumber = $projectNumber; + } + public function getProjectNumber() + { + return $this->projectNumber; + } + public function setSelfLink($selfLink) + { + $this->selfLink = $selfLink; + } + public function getSelfLink() + { + return $this->selfLink; + } + public function setStorageClass($storageClass) + { + $this->storageClass = $storageClass; + } + public function getStorageClass() + { + return $this->storageClass; + } + public function setTimeCreated($timeCreated) + { + $this->timeCreated = $timeCreated; + } + public function getTimeCreated() + { + return $this->timeCreated; + } + public function setUpdated($updated) + { + $this->updated = $updated; + } + public function getUpdated() + { + return $this->updated; + } + public function setVersioning(Google_Service_Storage_BucketVersioning $versioning) + { + $this->versioning = $versioning; + } + public function getVersioning() + { + return $this->versioning; + } + public function setWebsite(Google_Service_Storage_BucketWebsite $website) + { + $this->website = $website; + } + public function getWebsite() + { + return $this->website; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Storage/BucketAccessControl.php b/vendor/google/apiclient-services/src/Google/Service/Storage/BucketAccessControl.php new file mode 100644 index 00000000..ead69b1f --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Storage/BucketAccessControl.php @@ -0,0 +1,121 @@ +bucket = $bucket; + } + public function getBucket() + { + return $this->bucket; + } + public function setDomain($domain) + { + $this->domain = $domain; + } + public function getDomain() + { + return $this->domain; + } + public function setEmail($email) + { + $this->email = $email; + } + public function getEmail() + { + return $this->email; + } + public function setEntity($entity) + { + $this->entity = $entity; + } + public function getEntity() + { + return $this->entity; + } + public function setEntityId($entityId) + { + $this->entityId = $entityId; + } + public function getEntityId() + { + return $this->entityId; + } + public function setEtag($etag) + { + $this->etag = $etag; + } + public function getEtag() + { + return $this->etag; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setProjectTeam(Google_Service_Storage_BucketAccessControlProjectTeam $projectTeam) + { + $this->projectTeam = $projectTeam; + } + public function getProjectTeam() + { + return $this->projectTeam; + } + public function setRole($role) + { + $this->role = $role; + } + public function getRole() + { + return $this->role; + } + public function setSelfLink($selfLink) + { + $this->selfLink = $selfLink; + } + public function getSelfLink() + { + return $this->selfLink; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Storage/BucketAccessControlProjectTeam.php b/vendor/google/apiclient-services/src/Google/Service/Storage/BucketAccessControlProjectTeam.php new file mode 100644 index 00000000..bc2c9a81 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Storage/BucketAccessControlProjectTeam.php @@ -0,0 +1,39 @@ +projectNumber = $projectNumber; + } + public function getProjectNumber() + { + return $this->projectNumber; + } + public function setTeam($team) + { + $this->team = $team; + } + public function getTeam() + { + return $this->team; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Storage/BucketAccessControls.php b/vendor/google/apiclient-services/src/Google/Service/Storage/BucketAccessControls.php new file mode 100644 index 00000000..108c4b6d --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Storage/BucketAccessControls.php @@ -0,0 +1,41 @@ +items = $items; + } + public function getItems() + { + return $this->items; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Storage/BucketCors.php b/vendor/google/apiclient-services/src/Google/Service/Storage/BucketCors.php new file mode 100644 index 00000000..f63800e8 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Storage/BucketCors.php @@ -0,0 +1,58 @@ +maxAgeSeconds = $maxAgeSeconds; + } + public function getMaxAgeSeconds() + { + return $this->maxAgeSeconds; + } + public function setMethod($method) + { + $this->method = $method; + } + public function getMethod() + { + return $this->method; + } + public function setOrigin($origin) + { + $this->origin = $origin; + } + public function getOrigin() + { + return $this->origin; + } + public function setResponseHeader($responseHeader) + { + $this->responseHeader = $responseHeader; + } + public function getResponseHeader() + { + return $this->responseHeader; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Storage/BucketEncryption.php b/vendor/google/apiclient-services/src/Google/Service/Storage/BucketEncryption.php new file mode 100644 index 00000000..dd0cba3d --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Storage/BucketEncryption.php @@ -0,0 +1,33 @@ + "default_kms_key_name", + ); + public $defaultKmsKeyName; + + public function setDefaultKmsKeyName($defaultKmsKeyName) + { + $this->defaultKmsKeyName = $defaultKmsKeyName; + } + public function getDefaultKmsKeyName() + { + return $this->defaultKmsKeyName; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Storage/BucketLifecycle.php b/vendor/google/apiclient-services/src/Google/Service/Storage/BucketLifecycle.php new file mode 100644 index 00000000..1958f36b --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Storage/BucketLifecycle.php @@ -0,0 +1,32 @@ +rule = $rule; + } + public function getRule() + { + return $this->rule; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Storage/BucketLifecycleRule.php b/vendor/google/apiclient-services/src/Google/Service/Storage/BucketLifecycleRule.php new file mode 100644 index 00000000..d983ddfb --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Storage/BucketLifecycleRule.php @@ -0,0 +1,41 @@ +action = $action; + } + public function getAction() + { + return $this->action; + } + public function setCondition(Google_Service_Storage_BucketLifecycleRuleCondition $condition) + { + $this->condition = $condition; + } + public function getCondition() + { + return $this->condition; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Storage/BucketLifecycleRuleAction.php b/vendor/google/apiclient-services/src/Google/Service/Storage/BucketLifecycleRuleAction.php new file mode 100644 index 00000000..869a756d --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Storage/BucketLifecycleRuleAction.php @@ -0,0 +1,39 @@ +storageClass = $storageClass; + } + public function getStorageClass() + { + return $this->storageClass; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Storage/BucketLifecycleRuleCondition.php b/vendor/google/apiclient-services/src/Google/Service/Storage/BucketLifecycleRuleCondition.php new file mode 100644 index 00000000..90de2837 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Storage/BucketLifecycleRuleCondition.php @@ -0,0 +1,67 @@ +age = $age; + } + public function getAge() + { + return $this->age; + } + public function setCreatedBefore($createdBefore) + { + $this->createdBefore = $createdBefore; + } + public function getCreatedBefore() + { + return $this->createdBefore; + } + public function setIsLive($isLive) + { + $this->isLive = $isLive; + } + public function getIsLive() + { + return $this->isLive; + } + public function setMatchesStorageClass($matchesStorageClass) + { + $this->matchesStorageClass = $matchesStorageClass; + } + public function getMatchesStorageClass() + { + return $this->matchesStorageClass; + } + public function setNumNewerVersions($numNewerVersions) + { + $this->numNewerVersions = $numNewerVersions; + } + public function getNumNewerVersions() + { + return $this->numNewerVersions; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Storage/BucketLogging.php b/vendor/google/apiclient-services/src/Google/Service/Storage/BucketLogging.php new file mode 100644 index 00000000..0bda63e9 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Storage/BucketLogging.php @@ -0,0 +1,39 @@ +logBucket = $logBucket; + } + public function getLogBucket() + { + return $this->logBucket; + } + public function setLogObjectPrefix($logObjectPrefix) + { + $this->logObjectPrefix = $logObjectPrefix; + } + public function getLogObjectPrefix() + { + return $this->logObjectPrefix; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Storage/BucketOwner.php b/vendor/google/apiclient-services/src/Google/Service/Storage/BucketOwner.php new file mode 100644 index 00000000..c5bfd88c --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Storage/BucketOwner.php @@ -0,0 +1,39 @@ +entity = $entity; + } + public function getEntity() + { + return $this->entity; + } + public function setEntityId($entityId) + { + $this->entityId = $entityId; + } + public function getEntityId() + { + return $this->entityId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Storage/BucketVersioning.php b/vendor/google/apiclient-services/src/Google/Service/Storage/BucketVersioning.php new file mode 100644 index 00000000..10aeb47e --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Storage/BucketVersioning.php @@ -0,0 +1,30 @@ +enabled = $enabled; + } + public function getEnabled() + { + return $this->enabled; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Storage/BucketWebsite.php b/vendor/google/apiclient-services/src/Google/Service/Storage/BucketWebsite.php new file mode 100644 index 00000000..02db8c92 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Storage/BucketWebsite.php @@ -0,0 +1,39 @@ +mainPageSuffix = $mainPageSuffix; + } + public function getMainPageSuffix() + { + return $this->mainPageSuffix; + } + public function setNotFoundPage($notFoundPage) + { + $this->notFoundPage = $notFoundPage; + } + public function getNotFoundPage() + { + return $this->notFoundPage; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Storage/Buckets.php b/vendor/google/apiclient-services/src/Google/Service/Storage/Buckets.php new file mode 100644 index 00000000..ff4f4054 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Storage/Buckets.php @@ -0,0 +1,50 @@ +items = $items; + } + public function getItems() + { + return $this->items; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Storage/Channel.php b/vendor/google/apiclient-services/src/Google/Service/Storage/Channel.php new file mode 100644 index 00000000..1efb8034 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Storage/Channel.php @@ -0,0 +1,111 @@ +address = $address; + } + public function getAddress() + { + return $this->address; + } + public function setExpiration($expiration) + { + $this->expiration = $expiration; + } + public function getExpiration() + { + return $this->expiration; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setParams($params) + { + $this->params = $params; + } + public function getParams() + { + return $this->params; + } + public function setPayload($payload) + { + $this->payload = $payload; + } + public function getPayload() + { + return $this->payload; + } + public function setResourceId($resourceId) + { + $this->resourceId = $resourceId; + } + public function getResourceId() + { + return $this->resourceId; + } + public function setResourceUri($resourceUri) + { + $this->resourceUri = $resourceUri; + } + public function getResourceUri() + { + return $this->resourceUri; + } + public function setToken($token) + { + $this->token = $token; + } + public function getToken() + { + return $this->token; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Storage/ComposeRequest.php b/vendor/google/apiclient-services/src/Google/Service/Storage/ComposeRequest.php new file mode 100644 index 00000000..2564af36 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Storage/ComposeRequest.php @@ -0,0 +1,51 @@ +destination = $destination; + } + public function getDestination() + { + return $this->destination; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setSourceObjects($sourceObjects) + { + $this->sourceObjects = $sourceObjects; + } + public function getSourceObjects() + { + return $this->sourceObjects; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Storage/ComposeRequestSourceObjects.php b/vendor/google/apiclient-services/src/Google/Service/Storage/ComposeRequestSourceObjects.php new file mode 100644 index 00000000..c9ced2ef --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Storage/ComposeRequestSourceObjects.php @@ -0,0 +1,49 @@ +generation = $generation; + } + public function getGeneration() + { + return $this->generation; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setObjectPreconditions(Google_Service_Storage_ComposeRequestSourceObjectsObjectPreconditions $objectPreconditions) + { + $this->objectPreconditions = $objectPreconditions; + } + public function getObjectPreconditions() + { + return $this->objectPreconditions; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Storage/ComposeRequestSourceObjectsObjectPreconditions.php b/vendor/google/apiclient-services/src/Google/Service/Storage/ComposeRequestSourceObjectsObjectPreconditions.php new file mode 100644 index 00000000..a471179f --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Storage/ComposeRequestSourceObjectsObjectPreconditions.php @@ -0,0 +1,30 @@ +ifGenerationMatch = $ifGenerationMatch; + } + public function getIfGenerationMatch() + { + return $this->ifGenerationMatch; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Storage/ObjectAccessControl.php b/vendor/google/apiclient-services/src/Google/Service/Storage/ObjectAccessControl.php new file mode 100644 index 00000000..3dcf3072 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Storage/ObjectAccessControl.php @@ -0,0 +1,139 @@ +bucket = $bucket; + } + public function getBucket() + { + return $this->bucket; + } + public function setDomain($domain) + { + $this->domain = $domain; + } + public function getDomain() + { + return $this->domain; + } + public function setEmail($email) + { + $this->email = $email; + } + public function getEmail() + { + return $this->email; + } + public function setEntity($entity) + { + $this->entity = $entity; + } + public function getEntity() + { + return $this->entity; + } + public function setEntityId($entityId) + { + $this->entityId = $entityId; + } + public function getEntityId() + { + return $this->entityId; + } + public function setEtag($etag) + { + $this->etag = $etag; + } + public function getEtag() + { + return $this->etag; + } + public function setGeneration($generation) + { + $this->generation = $generation; + } + public function getGeneration() + { + return $this->generation; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setObject($object) + { + $this->object = $object; + } + public function getObject() + { + return $this->object; + } + public function setProjectTeam(Google_Service_Storage_ObjectAccessControlProjectTeam $projectTeam) + { + $this->projectTeam = $projectTeam; + } + public function getProjectTeam() + { + return $this->projectTeam; + } + public function setRole($role) + { + $this->role = $role; + } + public function getRole() + { + return $this->role; + } + public function setSelfLink($selfLink) + { + $this->selfLink = $selfLink; + } + public function getSelfLink() + { + return $this->selfLink; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Storage/ObjectAccessControlProjectTeam.php b/vendor/google/apiclient-services/src/Google/Service/Storage/ObjectAccessControlProjectTeam.php new file mode 100644 index 00000000..a4dff126 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Storage/ObjectAccessControlProjectTeam.php @@ -0,0 +1,39 @@ +projectNumber = $projectNumber; + } + public function getProjectNumber() + { + return $this->projectNumber; + } + public function setTeam($team) + { + $this->team = $team; + } + public function getTeam() + { + return $this->team; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Storage/ObjectAccessControls.php b/vendor/google/apiclient-services/src/Google/Service/Storage/ObjectAccessControls.php new file mode 100644 index 00000000..4007cb35 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Storage/ObjectAccessControls.php @@ -0,0 +1,41 @@ +items = $items; + } + public function getItems() + { + return $this->items; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Storage/Objects.php b/vendor/google/apiclient-services/src/Google/Service/Storage/Objects.php new file mode 100644 index 00000000..e086c248 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Storage/Objects.php @@ -0,0 +1,59 @@ +items = $items; + } + public function getItems() + { + return $this->items; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setPrefixes($prefixes) + { + $this->prefixes = $prefixes; + } + public function getPrefixes() + { + return $this->prefixes; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Storage/Policy.php b/vendor/google/apiclient-services/src/Google/Service/Storage/Policy.php new file mode 100644 index 00000000..b03c7190 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Storage/Policy.php @@ -0,0 +1,59 @@ +bindings = $bindings; + } + public function getBindings() + { + return $this->bindings; + } + public function setEtag($etag) + { + $this->etag = $etag; + } + public function getEtag() + { + return $this->etag; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setResourceId($resourceId) + { + $this->resourceId = $resourceId; + } + public function getResourceId() + { + return $this->resourceId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Storage/PolicyBindings.php b/vendor/google/apiclient-services/src/Google/Service/Storage/PolicyBindings.php new file mode 100644 index 00000000..158c6bf9 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Storage/PolicyBindings.php @@ -0,0 +1,40 @@ +members = $members; + } + public function getMembers() + { + return $this->members; + } + public function setRole($role) + { + $this->role = $role; + } + public function getRole() + { + return $this->role; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Storage/Resource/BucketAccessControls.php b/vendor/google/apiclient-services/src/Google/Service/Storage/Resource/BucketAccessControls.php new file mode 100644 index 00000000..3475dbb0 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Storage/Resource/BucketAccessControls.php @@ -0,0 +1,125 @@ + + * $storageService = new Google_Service_Storage(...); + * $bucketAccessControls = $storageService->bucketAccessControls; + * + */ +class Google_Service_Storage_Resource_BucketAccessControls extends Google_Service_Resource +{ + /** + * Permanently deletes the ACL entry for the specified entity on the specified + * bucket. (bucketAccessControls.delete) + * + * @param string $bucket Name of a bucket. + * @param string $entity The entity holding the permission. Can be user-userId, + * user-emailAddress, group-groupId, group-emailAddress, allUsers, or + * allAuthenticatedUsers. + * @param array $optParams Optional parameters. + */ + public function delete($bucket, $entity, $optParams = array()) + { + $params = array('bucket' => $bucket, 'entity' => $entity); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params)); + } + /** + * Returns the ACL entry for the specified entity on the specified bucket. + * (bucketAccessControls.get) + * + * @param string $bucket Name of a bucket. + * @param string $entity The entity holding the permission. Can be user-userId, + * user-emailAddress, group-groupId, group-emailAddress, allUsers, or + * allAuthenticatedUsers. + * @param array $optParams Optional parameters. + * @return Google_Service_Storage_BucketAccessControl + */ + public function get($bucket, $entity, $optParams = array()) + { + $params = array('bucket' => $bucket, 'entity' => $entity); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Storage_BucketAccessControl"); + } + /** + * Creates a new ACL entry on the specified bucket. + * (bucketAccessControls.insert) + * + * @param string $bucket Name of a bucket. + * @param Google_Service_Storage_BucketAccessControl $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Storage_BucketAccessControl + */ + public function insert($bucket, Google_Service_Storage_BucketAccessControl $postBody, $optParams = array()) + { + $params = array('bucket' => $bucket, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('insert', array($params), "Google_Service_Storage_BucketAccessControl"); + } + /** + * Retrieves ACL entries on the specified bucket. + * (bucketAccessControls.listBucketAccessControls) + * + * @param string $bucket Name of a bucket. + * @param array $optParams Optional parameters. + * @return Google_Service_Storage_BucketAccessControls + */ + public function listBucketAccessControls($bucket, $optParams = array()) + { + $params = array('bucket' => $bucket); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Storage_BucketAccessControls"); + } + /** + * Updates an ACL entry on the specified bucket. This method supports patch + * semantics. (bucketAccessControls.patch) + * + * @param string $bucket Name of a bucket. + * @param string $entity The entity holding the permission. Can be user-userId, + * user-emailAddress, group-groupId, group-emailAddress, allUsers, or + * allAuthenticatedUsers. + * @param Google_Service_Storage_BucketAccessControl $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Storage_BucketAccessControl + */ + public function patch($bucket, $entity, Google_Service_Storage_BucketAccessControl $postBody, $optParams = array()) + { + $params = array('bucket' => $bucket, 'entity' => $entity, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('patch', array($params), "Google_Service_Storage_BucketAccessControl"); + } + /** + * Updates an ACL entry on the specified bucket. (bucketAccessControls.update) + * + * @param string $bucket Name of a bucket. + * @param string $entity The entity holding the permission. Can be user-userId, + * user-emailAddress, group-groupId, group-emailAddress, allUsers, or + * allAuthenticatedUsers. + * @param Google_Service_Storage_BucketAccessControl $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Storage_BucketAccessControl + */ + public function update($bucket, $entity, Google_Service_Storage_BucketAccessControl $postBody, $optParams = array()) + { + $params = array('bucket' => $bucket, 'entity' => $entity, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('update', array($params), "Google_Service_Storage_BucketAccessControl"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Storage/Resource/Buckets.php b/vendor/google/apiclient-services/src/Google/Service/Storage/Resource/Buckets.php new file mode 100644 index 00000000..facfb352 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Storage/Resource/Buckets.php @@ -0,0 +1,208 @@ + + * $storageService = new Google_Service_Storage(...); + * $buckets = $storageService->buckets; + * + */ +class Google_Service_Storage_Resource_Buckets extends Google_Service_Resource +{ + /** + * Permanently deletes an empty bucket. (buckets.delete) + * + * @param string $bucket Name of a bucket. + * @param array $optParams Optional parameters. + * + * @opt_param string ifMetagenerationMatch If set, only deletes the bucket if + * its metageneration matches this value. + * @opt_param string ifMetagenerationNotMatch If set, only deletes the bucket if + * its metageneration does not match this value. + */ + public function delete($bucket, $optParams = array()) + { + $params = array('bucket' => $bucket); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params)); + } + /** + * Returns metadata for the specified bucket. (buckets.get) + * + * @param string $bucket Name of a bucket. + * @param array $optParams Optional parameters. + * + * @opt_param string ifMetagenerationMatch Makes the return of the bucket + * metadata conditional on whether the bucket's current metageneration matches + * the given value. + * @opt_param string ifMetagenerationNotMatch Makes the return of the bucket + * metadata conditional on whether the bucket's current metageneration does not + * match the given value. + * @opt_param string projection Set of properties to return. Defaults to noAcl. + * @return Google_Service_Storage_Bucket + */ + public function get($bucket, $optParams = array()) + { + $params = array('bucket' => $bucket); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Storage_Bucket"); + } + /** + * Returns an IAM policy for the specified bucket. (buckets.getIamPolicy) + * + * @param string $bucket Name of a bucket. + * @param array $optParams Optional parameters. + * @return Google_Service_Storage_Policy + */ + public function getIamPolicy($bucket, $optParams = array()) + { + $params = array('bucket' => $bucket); + $params = array_merge($params, $optParams); + return $this->call('getIamPolicy', array($params), "Google_Service_Storage_Policy"); + } + /** + * Creates a new bucket. (buckets.insert) + * + * @param string $project A valid API project identifier. + * @param Google_Service_Storage_Bucket $postBody + * @param array $optParams Optional parameters. + * + * @opt_param string predefinedAcl Apply a predefined set of access controls to + * this bucket. + * @opt_param string predefinedDefaultObjectAcl Apply a predefined set of + * default object access controls to this bucket. + * @opt_param string projection Set of properties to return. Defaults to noAcl, + * unless the bucket resource specifies acl or defaultObjectAcl properties, when + * it defaults to full. + * @return Google_Service_Storage_Bucket + */ + public function insert($project, Google_Service_Storage_Bucket $postBody, $optParams = array()) + { + $params = array('project' => $project, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('insert', array($params), "Google_Service_Storage_Bucket"); + } + /** + * Retrieves a list of buckets for a given project. (buckets.listBuckets) + * + * @param string $project A valid API project identifier. + * @param array $optParams Optional parameters. + * + * @opt_param string maxResults Maximum number of buckets to return in a single + * response. The service will use this parameter or 1,000 items, whichever is + * smaller. + * @opt_param string pageToken A previously-returned page token representing + * part of the larger set of results to view. + * @opt_param string prefix Filter results to buckets whose names begin with + * this prefix. + * @opt_param string projection Set of properties to return. Defaults to noAcl. + * @return Google_Service_Storage_Buckets + */ + public function listBuckets($project, $optParams = array()) + { + $params = array('project' => $project); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Storage_Buckets"); + } + /** + * Updates a bucket. Changes to the bucket will be readable immediately after + * writing, but configuration changes may take time to propagate. This method + * supports patch semantics. (buckets.patch) + * + * @param string $bucket Name of a bucket. + * @param Google_Service_Storage_Bucket $postBody + * @param array $optParams Optional parameters. + * + * @opt_param string ifMetagenerationMatch Makes the return of the bucket + * metadata conditional on whether the bucket's current metageneration matches + * the given value. + * @opt_param string ifMetagenerationNotMatch Makes the return of the bucket + * metadata conditional on whether the bucket's current metageneration does not + * match the given value. + * @opt_param string predefinedAcl Apply a predefined set of access controls to + * this bucket. + * @opt_param string predefinedDefaultObjectAcl Apply a predefined set of + * default object access controls to this bucket. + * @opt_param string projection Set of properties to return. Defaults to full. + * @return Google_Service_Storage_Bucket + */ + public function patch($bucket, Google_Service_Storage_Bucket $postBody, $optParams = array()) + { + $params = array('bucket' => $bucket, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('patch', array($params), "Google_Service_Storage_Bucket"); + } + /** + * Updates an IAM policy for the specified bucket. (buckets.setIamPolicy) + * + * @param string $bucket Name of a bucket. + * @param Google_Service_Storage_Policy $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Storage_Policy + */ + public function setIamPolicy($bucket, Google_Service_Storage_Policy $postBody, $optParams = array()) + { + $params = array('bucket' => $bucket, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('setIamPolicy', array($params), "Google_Service_Storage_Policy"); + } + /** + * Tests a set of permissions on the given bucket to see which, if any, are held + * by the caller. (buckets.testIamPermissions) + * + * @param string $bucket Name of a bucket. + * @param string|array $permissions Permissions to test. + * @param array $optParams Optional parameters. + * @return Google_Service_Storage_TestIamPermissionsResponse + */ + public function testIamPermissions($bucket, $permissions, $optParams = array()) + { + $params = array('bucket' => $bucket, 'permissions' => $permissions); + $params = array_merge($params, $optParams); + return $this->call('testIamPermissions', array($params), "Google_Service_Storage_TestIamPermissionsResponse"); + } + /** + * Updates a bucket. Changes to the bucket will be readable immediately after + * writing, but configuration changes may take time to propagate. + * (buckets.update) + * + * @param string $bucket Name of a bucket. + * @param Google_Service_Storage_Bucket $postBody + * @param array $optParams Optional parameters. + * + * @opt_param string ifMetagenerationMatch Makes the return of the bucket + * metadata conditional on whether the bucket's current metageneration matches + * the given value. + * @opt_param string ifMetagenerationNotMatch Makes the return of the bucket + * metadata conditional on whether the bucket's current metageneration does not + * match the given value. + * @opt_param string predefinedAcl Apply a predefined set of access controls to + * this bucket. + * @opt_param string predefinedDefaultObjectAcl Apply a predefined set of + * default object access controls to this bucket. + * @opt_param string projection Set of properties to return. Defaults to full. + * @return Google_Service_Storage_Bucket + */ + public function update($bucket, Google_Service_Storage_Bucket $postBody, $optParams = array()) + { + $params = array('bucket' => $bucket, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('update', array($params), "Google_Service_Storage_Bucket"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Storage/Resource/Channels.php b/vendor/google/apiclient-services/src/Google/Service/Storage/Resource/Channels.php new file mode 100644 index 00000000..8c5a1dc6 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Storage/Resource/Channels.php @@ -0,0 +1,40 @@ + + * $storageService = new Google_Service_Storage(...); + * $channels = $storageService->channels; + * + */ +class Google_Service_Storage_Resource_Channels extends Google_Service_Resource +{ + /** + * Stop watching resources through this channel (channels.stop) + * + * @param Google_Service_Storage_Channel $postBody + * @param array $optParams Optional parameters. + */ + public function stop(Google_Service_Storage_Channel $postBody, $optParams = array()) + { + $params = array('postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('stop', array($params)); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Storage/Resource/DefaultObjectAccessControls.php b/vendor/google/apiclient-services/src/Google/Service/Storage/Resource/DefaultObjectAccessControls.php new file mode 100644 index 00000000..83c6c9ea --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Storage/Resource/DefaultObjectAccessControls.php @@ -0,0 +1,132 @@ + + * $storageService = new Google_Service_Storage(...); + * $defaultObjectAccessControls = $storageService->defaultObjectAccessControls; + * + */ +class Google_Service_Storage_Resource_DefaultObjectAccessControls extends Google_Service_Resource +{ + /** + * Permanently deletes the default object ACL entry for the specified entity on + * the specified bucket. (defaultObjectAccessControls.delete) + * + * @param string $bucket Name of a bucket. + * @param string $entity The entity holding the permission. Can be user-userId, + * user-emailAddress, group-groupId, group-emailAddress, allUsers, or + * allAuthenticatedUsers. + * @param array $optParams Optional parameters. + */ + public function delete($bucket, $entity, $optParams = array()) + { + $params = array('bucket' => $bucket, 'entity' => $entity); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params)); + } + /** + * Returns the default object ACL entry for the specified entity on the + * specified bucket. (defaultObjectAccessControls.get) + * + * @param string $bucket Name of a bucket. + * @param string $entity The entity holding the permission. Can be user-userId, + * user-emailAddress, group-groupId, group-emailAddress, allUsers, or + * allAuthenticatedUsers. + * @param array $optParams Optional parameters. + * @return Google_Service_Storage_ObjectAccessControl + */ + public function get($bucket, $entity, $optParams = array()) + { + $params = array('bucket' => $bucket, 'entity' => $entity); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Storage_ObjectAccessControl"); + } + /** + * Creates a new default object ACL entry on the specified bucket. + * (defaultObjectAccessControls.insert) + * + * @param string $bucket Name of a bucket. + * @param Google_Service_Storage_ObjectAccessControl $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Storage_ObjectAccessControl + */ + public function insert($bucket, Google_Service_Storage_ObjectAccessControl $postBody, $optParams = array()) + { + $params = array('bucket' => $bucket, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('insert', array($params), "Google_Service_Storage_ObjectAccessControl"); + } + /** + * Retrieves default object ACL entries on the specified bucket. + * (defaultObjectAccessControls.listDefaultObjectAccessControls) + * + * @param string $bucket Name of a bucket. + * @param array $optParams Optional parameters. + * + * @opt_param string ifMetagenerationMatch If present, only return default ACL + * listing if the bucket's current metageneration matches this value. + * @opt_param string ifMetagenerationNotMatch If present, only return default + * ACL listing if the bucket's current metageneration does not match the given + * value. + * @return Google_Service_Storage_ObjectAccessControls + */ + public function listDefaultObjectAccessControls($bucket, $optParams = array()) + { + $params = array('bucket' => $bucket); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Storage_ObjectAccessControls"); + } + /** + * Updates a default object ACL entry on the specified bucket. This method + * supports patch semantics. (defaultObjectAccessControls.patch) + * + * @param string $bucket Name of a bucket. + * @param string $entity The entity holding the permission. Can be user-userId, + * user-emailAddress, group-groupId, group-emailAddress, allUsers, or + * allAuthenticatedUsers. + * @param Google_Service_Storage_ObjectAccessControl $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Storage_ObjectAccessControl + */ + public function patch($bucket, $entity, Google_Service_Storage_ObjectAccessControl $postBody, $optParams = array()) + { + $params = array('bucket' => $bucket, 'entity' => $entity, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('patch', array($params), "Google_Service_Storage_ObjectAccessControl"); + } + /** + * Updates a default object ACL entry on the specified bucket. + * (defaultObjectAccessControls.update) + * + * @param string $bucket Name of a bucket. + * @param string $entity The entity holding the permission. Can be user-userId, + * user-emailAddress, group-groupId, group-emailAddress, allUsers, or + * allAuthenticatedUsers. + * @param Google_Service_Storage_ObjectAccessControl $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Storage_ObjectAccessControl + */ + public function update($bucket, $entity, Google_Service_Storage_ObjectAccessControl $postBody, $optParams = array()) + { + $params = array('bucket' => $bucket, 'entity' => $entity, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('update', array($params), "Google_Service_Storage_ObjectAccessControl"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Storage/Resource/ObjectAccessControls.php b/vendor/google/apiclient-services/src/Google/Service/Storage/Resource/ObjectAccessControls.php new file mode 100644 index 00000000..04734a83 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Storage/Resource/ObjectAccessControls.php @@ -0,0 +1,155 @@ + + * $storageService = new Google_Service_Storage(...); + * $objectAccessControls = $storageService->objectAccessControls; + * + */ +class Google_Service_Storage_Resource_ObjectAccessControls extends Google_Service_Resource +{ + /** + * Permanently deletes the ACL entry for the specified entity on the specified + * object. (objectAccessControls.delete) + * + * @param string $bucket Name of a bucket. + * @param string $object Name of the object. For information about how to URL + * encode object names to be path safe, see Encoding URI Path Parts. + * @param string $entity The entity holding the permission. Can be user-userId, + * user-emailAddress, group-groupId, group-emailAddress, allUsers, or + * allAuthenticatedUsers. + * @param array $optParams Optional parameters. + * + * @opt_param string generation If present, selects a specific revision of this + * object (as opposed to the latest version, the default). + */ + public function delete($bucket, $object, $entity, $optParams = array()) + { + $params = array('bucket' => $bucket, 'object' => $object, 'entity' => $entity); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params)); + } + /** + * Returns the ACL entry for the specified entity on the specified object. + * (objectAccessControls.get) + * + * @param string $bucket Name of a bucket. + * @param string $object Name of the object. For information about how to URL + * encode object names to be path safe, see Encoding URI Path Parts. + * @param string $entity The entity holding the permission. Can be user-userId, + * user-emailAddress, group-groupId, group-emailAddress, allUsers, or + * allAuthenticatedUsers. + * @param array $optParams Optional parameters. + * + * @opt_param string generation If present, selects a specific revision of this + * object (as opposed to the latest version, the default). + * @return Google_Service_Storage_ObjectAccessControl + */ + public function get($bucket, $object, $entity, $optParams = array()) + { + $params = array('bucket' => $bucket, 'object' => $object, 'entity' => $entity); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Storage_ObjectAccessControl"); + } + /** + * Creates a new ACL entry on the specified object. + * (objectAccessControls.insert) + * + * @param string $bucket Name of a bucket. + * @param string $object Name of the object. For information about how to URL + * encode object names to be path safe, see Encoding URI Path Parts. + * @param Google_Service_Storage_ObjectAccessControl $postBody + * @param array $optParams Optional parameters. + * + * @opt_param string generation If present, selects a specific revision of this + * object (as opposed to the latest version, the default). + * @return Google_Service_Storage_ObjectAccessControl + */ + public function insert($bucket, $object, Google_Service_Storage_ObjectAccessControl $postBody, $optParams = array()) + { + $params = array('bucket' => $bucket, 'object' => $object, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('insert', array($params), "Google_Service_Storage_ObjectAccessControl"); + } + /** + * Retrieves ACL entries on the specified object. + * (objectAccessControls.listObjectAccessControls) + * + * @param string $bucket Name of a bucket. + * @param string $object Name of the object. For information about how to URL + * encode object names to be path safe, see Encoding URI Path Parts. + * @param array $optParams Optional parameters. + * + * @opt_param string generation If present, selects a specific revision of this + * object (as opposed to the latest version, the default). + * @return Google_Service_Storage_ObjectAccessControls + */ + public function listObjectAccessControls($bucket, $object, $optParams = array()) + { + $params = array('bucket' => $bucket, 'object' => $object); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Storage_ObjectAccessControls"); + } + /** + * Updates an ACL entry on the specified object. This method supports patch + * semantics. (objectAccessControls.patch) + * + * @param string $bucket Name of a bucket. + * @param string $object Name of the object. For information about how to URL + * encode object names to be path safe, see Encoding URI Path Parts. + * @param string $entity The entity holding the permission. Can be user-userId, + * user-emailAddress, group-groupId, group-emailAddress, allUsers, or + * allAuthenticatedUsers. + * @param Google_Service_Storage_ObjectAccessControl $postBody + * @param array $optParams Optional parameters. + * + * @opt_param string generation If present, selects a specific revision of this + * object (as opposed to the latest version, the default). + * @return Google_Service_Storage_ObjectAccessControl + */ + public function patch($bucket, $object, $entity, Google_Service_Storage_ObjectAccessControl $postBody, $optParams = array()) + { + $params = array('bucket' => $bucket, 'object' => $object, 'entity' => $entity, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('patch', array($params), "Google_Service_Storage_ObjectAccessControl"); + } + /** + * Updates an ACL entry on the specified object. (objectAccessControls.update) + * + * @param string $bucket Name of a bucket. + * @param string $object Name of the object. For information about how to URL + * encode object names to be path safe, see Encoding URI Path Parts. + * @param string $entity The entity holding the permission. Can be user-userId, + * user-emailAddress, group-groupId, group-emailAddress, allUsers, or + * allAuthenticatedUsers. + * @param Google_Service_Storage_ObjectAccessControl $postBody + * @param array $optParams Optional parameters. + * + * @opt_param string generation If present, selects a specific revision of this + * object (as opposed to the latest version, the default). + * @return Google_Service_Storage_ObjectAccessControl + */ + public function update($bucket, $object, $entity, Google_Service_Storage_ObjectAccessControl $postBody, $optParams = array()) + { + $params = array('bucket' => $bucket, 'object' => $object, 'entity' => $entity, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('update', array($params), "Google_Service_Storage_ObjectAccessControl"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Storage/Resource/Objects.php b/vendor/google/apiclient-services/src/Google/Service/Storage/Resource/Objects.php new file mode 100644 index 00000000..98155f25 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Storage/Resource/Objects.php @@ -0,0 +1,444 @@ + + * $storageService = new Google_Service_Storage(...); + * $objects = $storageService->objects; + * + */ +class Google_Service_Storage_Resource_Objects extends Google_Service_Resource +{ + /** + * Concatenates a list of existing objects into a new object in the same bucket. + * (objects.compose) + * + * @param string $destinationBucket Name of the bucket in which to store the new + * object. + * @param string $destinationObject Name of the new object. For information + * about how to URL encode object names to be path safe, see Encoding URI Path + * Parts. + * @param Google_Service_Storage_ComposeRequest $postBody + * @param array $optParams Optional parameters. + * + * @opt_param string destinationPredefinedAcl Apply a predefined set of access + * controls to the destination object. + * @opt_param string ifGenerationMatch Makes the operation conditional on + * whether the object's current generation matches the given value. + * @opt_param string ifMetagenerationMatch Makes the operation conditional on + * whether the object's current metageneration matches the given value. + * @return Google_Service_Storage_StorageObject + */ + public function compose($destinationBucket, $destinationObject, Google_Service_Storage_ComposeRequest $postBody, $optParams = array()) + { + $params = array('destinationBucket' => $destinationBucket, 'destinationObject' => $destinationObject, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('compose', array($params), "Google_Service_Storage_StorageObject"); + } + /** + * Copies a source object to a destination object. Optionally overrides + * metadata. (objects.copy) + * + * @param string $sourceBucket Name of the bucket in which to find the source + * object. + * @param string $sourceObject Name of the source object. For information about + * how to URL encode object names to be path safe, see Encoding URI Path Parts. + * @param string $destinationBucket Name of the bucket in which to store the new + * object. Overrides the provided object metadata's bucket value, if any.For + * information about how to URL encode object names to be path safe, see + * Encoding URI Path Parts. + * @param string $destinationObject Name of the new object. Required when the + * object metadata is not otherwise provided. Overrides the object metadata's + * name value, if any. + * @param Google_Service_Storage_StorageObject $postBody + * @param array $optParams Optional parameters. + * + * @opt_param string destinationPredefinedAcl Apply a predefined set of access + * controls to the destination object. + * @opt_param string ifGenerationMatch Makes the operation conditional on + * whether the destination object's current generation matches the given value. + * @opt_param string ifGenerationNotMatch Makes the operation conditional on + * whether the destination object's current generation does not match the given + * value. + * @opt_param string ifMetagenerationMatch Makes the operation conditional on + * whether the destination object's current metageneration matches the given + * value. + * @opt_param string ifMetagenerationNotMatch Makes the operation conditional on + * whether the destination object's current metageneration does not match the + * given value. + * @opt_param string ifSourceGenerationMatch Makes the operation conditional on + * whether the source object's generation matches the given value. + * @opt_param string ifSourceGenerationNotMatch Makes the operation conditional + * on whether the source object's generation does not match the given value. + * @opt_param string ifSourceMetagenerationMatch Makes the operation conditional + * on whether the source object's current metageneration matches the given + * value. + * @opt_param string ifSourceMetagenerationNotMatch Makes the operation + * conditional on whether the source object's current metageneration does not + * match the given value. + * @opt_param string projection Set of properties to return. Defaults to noAcl, + * unless the object resource specifies the acl property, when it defaults to + * full. + * @opt_param string sourceGeneration If present, selects a specific revision of + * the source object (as opposed to the latest version, the default). + * @return Google_Service_Storage_StorageObject + */ + public function copy($sourceBucket, $sourceObject, $destinationBucket, $destinationObject, Google_Service_Storage_StorageObject $postBody, $optParams = array()) + { + $params = array('sourceBucket' => $sourceBucket, 'sourceObject' => $sourceObject, 'destinationBucket' => $destinationBucket, 'destinationObject' => $destinationObject, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('copy', array($params), "Google_Service_Storage_StorageObject"); + } + /** + * Deletes an object and its metadata. Deletions are permanent if versioning is + * not enabled for the bucket, or if the generation parameter is used. + * (objects.delete) + * + * @param string $bucket Name of the bucket in which the object resides. + * @param string $object Name of the object. For information about how to URL + * encode object names to be path safe, see Encoding URI Path Parts. + * @param array $optParams Optional parameters. + * + * @opt_param string generation If present, permanently deletes a specific + * revision of this object (as opposed to the latest version, the default). + * @opt_param string ifGenerationMatch Makes the operation conditional on + * whether the object's current generation matches the given value. + * @opt_param string ifGenerationNotMatch Makes the operation conditional on + * whether the object's current generation does not match the given value. + * @opt_param string ifMetagenerationMatch Makes the operation conditional on + * whether the object's current metageneration matches the given value. + * @opt_param string ifMetagenerationNotMatch Makes the operation conditional on + * whether the object's current metageneration does not match the given value. + */ + public function delete($bucket, $object, $optParams = array()) + { + $params = array('bucket' => $bucket, 'object' => $object); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params)); + } + /** + * Retrieves an object or its metadata. (objects.get) + * + * @param string $bucket Name of the bucket in which the object resides. + * @param string $object Name of the object. For information about how to URL + * encode object names to be path safe, see Encoding URI Path Parts. + * @param array $optParams Optional parameters. + * + * @opt_param string generation If present, selects a specific revision of this + * object (as opposed to the latest version, the default). + * @opt_param string ifGenerationMatch Makes the operation conditional on + * whether the object's generation matches the given value. + * @opt_param string ifGenerationNotMatch Makes the operation conditional on + * whether the object's generation does not match the given value. + * @opt_param string ifMetagenerationMatch Makes the operation conditional on + * whether the object's current metageneration matches the given value. + * @opt_param string ifMetagenerationNotMatch Makes the operation conditional on + * whether the object's current metageneration does not match the given value. + * @opt_param string projection Set of properties to return. Defaults to noAcl. + * @return Google_Service_Storage_StorageObject + */ + public function get($bucket, $object, $optParams = array()) + { + $params = array('bucket' => $bucket, 'object' => $object); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Storage_StorageObject"); + } + /** + * Returns an IAM policy for the specified object. (objects.getIamPolicy) + * + * @param string $bucket Name of the bucket in which the object resides. + * @param string $object Name of the object. For information about how to URL + * encode object names to be path safe, see Encoding URI Path Parts. + * @param array $optParams Optional parameters. + * + * @opt_param string generation If present, selects a specific revision of this + * object (as opposed to the latest version, the default). + * @return Google_Service_Storage_Policy + */ + public function getIamPolicy($bucket, $object, $optParams = array()) + { + $params = array('bucket' => $bucket, 'object' => $object); + $params = array_merge($params, $optParams); + return $this->call('getIamPolicy', array($params), "Google_Service_Storage_Policy"); + } + /** + * Stores a new object and metadata. (objects.insert) + * + * @param string $bucket Name of the bucket in which to store the new object. + * Overrides the provided object metadata's bucket value, if any. + * @param Google_Service_Storage_StorageObject $postBody + * @param array $optParams Optional parameters. + * + * @opt_param string contentEncoding If set, sets the contentEncoding property + * of the final object to this value. Setting this parameter is equivalent to + * setting the contentEncoding metadata property. This can be useful when + * uploading an object with uploadType=media to indicate the encoding of the + * content being uploaded. + * @opt_param string ifGenerationMatch Makes the operation conditional on + * whether the object's current generation matches the given value. + * @opt_param string ifGenerationNotMatch Makes the operation conditional on + * whether the object's current generation does not match the given value. + * @opt_param string ifMetagenerationMatch Makes the operation conditional on + * whether the object's current metageneration matches the given value. + * @opt_param string ifMetagenerationNotMatch Makes the operation conditional on + * whether the object's current metageneration does not match the given value. + * @opt_param string name Name of the object. Required when the object metadata + * is not otherwise provided. Overrides the object metadata's name value, if + * any. For information about how to URL encode object names to be path safe, + * see Encoding URI Path Parts. + * @opt_param string predefinedAcl Apply a predefined set of access controls to + * this object. + * @opt_param string projection Set of properties to return. Defaults to noAcl, + * unless the object resource specifies the acl property, when it defaults to + * full. + * @return Google_Service_Storage_StorageObject + */ + public function insert($bucket, Google_Service_Storage_StorageObject $postBody, $optParams = array()) + { + $params = array('bucket' => $bucket, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('insert', array($params), "Google_Service_Storage_StorageObject"); + } + /** + * Retrieves a list of objects matching the criteria. (objects.listObjects) + * + * @param string $bucket Name of the bucket in which to look for objects. + * @param array $optParams Optional parameters. + * + * @opt_param string delimiter Returns results in a directory-like mode. items + * will contain only objects whose names, aside from the prefix, do not contain + * delimiter. Objects whose names, aside from the prefix, contain delimiter will + * have their name, truncated after the delimiter, returned in prefixes. + * Duplicate prefixes are omitted. + * @opt_param string maxResults Maximum number of items plus prefixes to return + * in a single page of responses. As duplicate prefixes are omitted, fewer total + * results may be returned than requested. The service will use this parameter + * or 1,000 items, whichever is smaller. + * @opt_param string pageToken A previously-returned page token representing + * part of the larger set of results to view. + * @opt_param string prefix Filter results to objects whose names begin with + * this prefix. + * @opt_param string projection Set of properties to return. Defaults to noAcl. + * @opt_param bool versions If true, lists all versions of an object as distinct + * results. The default is false. For more information, see Object Versioning. + * @return Google_Service_Storage_Objects + */ + public function listObjects($bucket, $optParams = array()) + { + $params = array('bucket' => $bucket); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Storage_Objects"); + } + /** + * Updates an object's metadata. This method supports patch semantics. + * (objects.patch) + * + * @param string $bucket Name of the bucket in which the object resides. + * @param string $object Name of the object. For information about how to URL + * encode object names to be path safe, see Encoding URI Path Parts. + * @param Google_Service_Storage_StorageObject $postBody + * @param array $optParams Optional parameters. + * + * @opt_param string generation If present, selects a specific revision of this + * object (as opposed to the latest version, the default). + * @opt_param string ifGenerationMatch Makes the operation conditional on + * whether the object's current generation matches the given value. + * @opt_param string ifGenerationNotMatch Makes the operation conditional on + * whether the object's current generation does not match the given value. + * @opt_param string ifMetagenerationMatch Makes the operation conditional on + * whether the object's current metageneration matches the given value. + * @opt_param string ifMetagenerationNotMatch Makes the operation conditional on + * whether the object's current metageneration does not match the given value. + * @opt_param string predefinedAcl Apply a predefined set of access controls to + * this object. + * @opt_param string projection Set of properties to return. Defaults to full. + * @return Google_Service_Storage_StorageObject + */ + public function patch($bucket, $object, Google_Service_Storage_StorageObject $postBody, $optParams = array()) + { + $params = array('bucket' => $bucket, 'object' => $object, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('patch', array($params), "Google_Service_Storage_StorageObject"); + } + /** + * Rewrites a source object to a destination object. Optionally overrides + * metadata. (objects.rewrite) + * + * @param string $sourceBucket Name of the bucket in which to find the source + * object. + * @param string $sourceObject Name of the source object. For information about + * how to URL encode object names to be path safe, see Encoding URI Path Parts. + * @param string $destinationBucket Name of the bucket in which to store the new + * object. Overrides the provided object metadata's bucket value, if any. + * @param string $destinationObject Name of the new object. Required when the + * object metadata is not otherwise provided. Overrides the object metadata's + * name value, if any. For information about how to URL encode object names to + * be path safe, see Encoding URI Path Parts. + * @param Google_Service_Storage_StorageObject $postBody + * @param array $optParams Optional parameters. + * + * @opt_param string destinationPredefinedAcl Apply a predefined set of access + * controls to the destination object. + * @opt_param string ifGenerationMatch Makes the operation conditional on + * whether the destination object's current generation matches the given value. + * @opt_param string ifGenerationNotMatch Makes the operation conditional on + * whether the destination object's current generation does not match the given + * value. + * @opt_param string ifMetagenerationMatch Makes the operation conditional on + * whether the destination object's current metageneration matches the given + * value. + * @opt_param string ifMetagenerationNotMatch Makes the operation conditional on + * whether the destination object's current metageneration does not match the + * given value. + * @opt_param string ifSourceGenerationMatch Makes the operation conditional on + * whether the source object's generation matches the given value. + * @opt_param string ifSourceGenerationNotMatch Makes the operation conditional + * on whether the source object's generation does not match the given value. + * @opt_param string ifSourceMetagenerationMatch Makes the operation conditional + * on whether the source object's current metageneration matches the given + * value. + * @opt_param string ifSourceMetagenerationNotMatch Makes the operation + * conditional on whether the source object's current metageneration does not + * match the given value. + * @opt_param string maxBytesRewrittenPerCall The maximum number of bytes that + * will be rewritten per rewrite request. Most callers shouldn't need to specify + * this parameter - it is primarily in place to support testing. If specified + * the value must be an integral multiple of 1 MiB (1048576). Also, this only + * applies to requests where the source and destination span locations and/or + * storage classes. Finally, this value must not change across rewrite calls + * else you'll get an error that the rewriteToken is invalid. + * @opt_param string projection Set of properties to return. Defaults to noAcl, + * unless the object resource specifies the acl property, when it defaults to + * full. + * @opt_param string rewriteToken Include this field (from the previous rewrite + * response) on each rewrite request after the first one, until the rewrite + * response 'done' flag is true. Calls that provide a rewriteToken can omit all + * other request fields, but if included those fields must match the values + * provided in the first rewrite request. + * @opt_param string sourceGeneration If present, selects a specific revision of + * the source object (as opposed to the latest version, the default). + * @return Google_Service_Storage_RewriteResponse + */ + public function rewrite($sourceBucket, $sourceObject, $destinationBucket, $destinationObject, Google_Service_Storage_StorageObject $postBody, $optParams = array()) + { + $params = array('sourceBucket' => $sourceBucket, 'sourceObject' => $sourceObject, 'destinationBucket' => $destinationBucket, 'destinationObject' => $destinationObject, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('rewrite', array($params), "Google_Service_Storage_RewriteResponse"); + } + /** + * Updates an IAM policy for the specified object. (objects.setIamPolicy) + * + * @param string $bucket Name of the bucket in which the object resides. + * @param string $object Name of the object. For information about how to URL + * encode object names to be path safe, see Encoding URI Path Parts. + * @param Google_Service_Storage_Policy $postBody + * @param array $optParams Optional parameters. + * + * @opt_param string generation If present, selects a specific revision of this + * object (as opposed to the latest version, the default). + * @return Google_Service_Storage_Policy + */ + public function setIamPolicy($bucket, $object, Google_Service_Storage_Policy $postBody, $optParams = array()) + { + $params = array('bucket' => $bucket, 'object' => $object, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('setIamPolicy', array($params), "Google_Service_Storage_Policy"); + } + /** + * Tests a set of permissions on the given object to see which, if any, are held + * by the caller. (objects.testIamPermissions) + * + * @param string $bucket Name of the bucket in which the object resides. + * @param string $object Name of the object. For information about how to URL + * encode object names to be path safe, see Encoding URI Path Parts. + * @param string|array $permissions Permissions to test. + * @param array $optParams Optional parameters. + * + * @opt_param string generation If present, selects a specific revision of this + * object (as opposed to the latest version, the default). + * @return Google_Service_Storage_TestIamPermissionsResponse + */ + public function testIamPermissions($bucket, $object, $permissions, $optParams = array()) + { + $params = array('bucket' => $bucket, 'object' => $object, 'permissions' => $permissions); + $params = array_merge($params, $optParams); + return $this->call('testIamPermissions', array($params), "Google_Service_Storage_TestIamPermissionsResponse"); + } + /** + * Updates an object's metadata. (objects.update) + * + * @param string $bucket Name of the bucket in which the object resides. + * @param string $object Name of the object. For information about how to URL + * encode object names to be path safe, see Encoding URI Path Parts. + * @param Google_Service_Storage_StorageObject $postBody + * @param array $optParams Optional parameters. + * + * @opt_param string generation If present, selects a specific revision of this + * object (as opposed to the latest version, the default). + * @opt_param string ifGenerationMatch Makes the operation conditional on + * whether the object's current generation matches the given value. + * @opt_param string ifGenerationNotMatch Makes the operation conditional on + * whether the object's current generation does not match the given value. + * @opt_param string ifMetagenerationMatch Makes the operation conditional on + * whether the object's current metageneration matches the given value. + * @opt_param string ifMetagenerationNotMatch Makes the operation conditional on + * whether the object's current metageneration does not match the given value. + * @opt_param string predefinedAcl Apply a predefined set of access controls to + * this object. + * @opt_param string projection Set of properties to return. Defaults to full. + * @return Google_Service_Storage_StorageObject + */ + public function update($bucket, $object, Google_Service_Storage_StorageObject $postBody, $optParams = array()) + { + $params = array('bucket' => $bucket, 'object' => $object, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('update', array($params), "Google_Service_Storage_StorageObject"); + } + /** + * Watch for changes on all objects in a bucket. (objects.watchAll) + * + * @param string $bucket Name of the bucket in which to look for objects. + * @param Google_Service_Storage_Channel $postBody + * @param array $optParams Optional parameters. + * + * @opt_param string delimiter Returns results in a directory-like mode. items + * will contain only objects whose names, aside from the prefix, do not contain + * delimiter. Objects whose names, aside from the prefix, contain delimiter will + * have their name, truncated after the delimiter, returned in prefixes. + * Duplicate prefixes are omitted. + * @opt_param string maxResults Maximum number of items plus prefixes to return + * in a single page of responses. As duplicate prefixes are omitted, fewer total + * results may be returned than requested. The service will use this parameter + * or 1,000 items, whichever is smaller. + * @opt_param string pageToken A previously-returned page token representing + * part of the larger set of results to view. + * @opt_param string prefix Filter results to objects whose names begin with + * this prefix. + * @opt_param string projection Set of properties to return. Defaults to noAcl. + * @opt_param bool versions If true, lists all versions of an object as distinct + * results. The default is false. For more information, see Object Versioning. + * @return Google_Service_Storage_Channel + */ + public function watchAll($bucket, Google_Service_Storage_Channel $postBody, $optParams = array()) + { + $params = array('bucket' => $bucket, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('watchAll', array($params), "Google_Service_Storage_Channel"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Storage/RewriteResponse.php b/vendor/google/apiclient-services/src/Google/Service/Storage/RewriteResponse.php new file mode 100644 index 00000000..aa8f1c65 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Storage/RewriteResponse.php @@ -0,0 +1,76 @@ +done = $done; + } + public function getDone() + { + return $this->done; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setObjectSize($objectSize) + { + $this->objectSize = $objectSize; + } + public function getObjectSize() + { + return $this->objectSize; + } + public function setResource(Google_Service_Storage_StorageObject $resource) + { + $this->resource = $resource; + } + public function getResource() + { + return $this->resource; + } + public function setRewriteToken($rewriteToken) + { + $this->rewriteToken = $rewriteToken; + } + public function getRewriteToken() + { + return $this->rewriteToken; + } + public function setTotalBytesRewritten($totalBytesRewritten) + { + $this->totalBytesRewritten = $totalBytesRewritten; + } + public function getTotalBytesRewritten() + { + return $this->totalBytesRewritten; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Storage/StorageObject.php b/vendor/google/apiclient-services/src/Google/Service/Storage/StorageObject.php new file mode 100644 index 00000000..4cfb91ba --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Storage/StorageObject.php @@ -0,0 +1,268 @@ +acl = $acl; + } + public function getAcl() + { + return $this->acl; + } + public function setBucket($bucket) + { + $this->bucket = $bucket; + } + public function getBucket() + { + return $this->bucket; + } + public function setCacheControl($cacheControl) + { + $this->cacheControl = $cacheControl; + } + public function getCacheControl() + { + return $this->cacheControl; + } + public function setComponentCount($componentCount) + { + $this->componentCount = $componentCount; + } + public function getComponentCount() + { + return $this->componentCount; + } + public function setContentDisposition($contentDisposition) + { + $this->contentDisposition = $contentDisposition; + } + public function getContentDisposition() + { + return $this->contentDisposition; + } + public function setContentEncoding($contentEncoding) + { + $this->contentEncoding = $contentEncoding; + } + public function getContentEncoding() + { + return $this->contentEncoding; + } + public function setContentLanguage($contentLanguage) + { + $this->contentLanguage = $contentLanguage; + } + public function getContentLanguage() + { + return $this->contentLanguage; + } + public function setContentType($contentType) + { + $this->contentType = $contentType; + } + public function getContentType() + { + return $this->contentType; + } + public function setCrc32c($crc32c) + { + $this->crc32c = $crc32c; + } + public function getCrc32c() + { + return $this->crc32c; + } + public function setCustomerEncryption(Google_Service_Storage_StorageObjectCustomerEncryption $customerEncryption) + { + $this->customerEncryption = $customerEncryption; + } + public function getCustomerEncryption() + { + return $this->customerEncryption; + } + public function setEtag($etag) + { + $this->etag = $etag; + } + public function getEtag() + { + return $this->etag; + } + public function setGeneration($generation) + { + $this->generation = $generation; + } + public function getGeneration() + { + return $this->generation; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setMd5Hash($md5Hash) + { + $this->md5Hash = $md5Hash; + } + public function getMd5Hash() + { + return $this->md5Hash; + } + public function setMediaLink($mediaLink) + { + $this->mediaLink = $mediaLink; + } + public function getMediaLink() + { + return $this->mediaLink; + } + public function setMetadata($metadata) + { + $this->metadata = $metadata; + } + public function getMetadata() + { + return $this->metadata; + } + public function setMetageneration($metageneration) + { + $this->metageneration = $metageneration; + } + public function getMetageneration() + { + return $this->metageneration; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setOwner(Google_Service_Storage_StorageObjectOwner $owner) + { + $this->owner = $owner; + } + public function getOwner() + { + return $this->owner; + } + public function setSelfLink($selfLink) + { + $this->selfLink = $selfLink; + } + public function getSelfLink() + { + return $this->selfLink; + } + public function setSize($size) + { + $this->size = $size; + } + public function getSize() + { + return $this->size; + } + public function setStorageClass($storageClass) + { + $this->storageClass = $storageClass; + } + public function getStorageClass() + { + return $this->storageClass; + } + public function setTimeCreated($timeCreated) + { + $this->timeCreated = $timeCreated; + } + public function getTimeCreated() + { + return $this->timeCreated; + } + public function setTimeDeleted($timeDeleted) + { + $this->timeDeleted = $timeDeleted; + } + public function getTimeDeleted() + { + return $this->timeDeleted; + } + public function setTimeStorageClassUpdated($timeStorageClassUpdated) + { + $this->timeStorageClassUpdated = $timeStorageClassUpdated; + } + public function getTimeStorageClassUpdated() + { + return $this->timeStorageClassUpdated; + } + public function setUpdated($updated) + { + $this->updated = $updated; + } + public function getUpdated() + { + return $this->updated; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Storage/StorageObjectCustomerEncryption.php b/vendor/google/apiclient-services/src/Google/Service/Storage/StorageObjectCustomerEncryption.php new file mode 100644 index 00000000..8dc403cc --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Storage/StorageObjectCustomerEncryption.php @@ -0,0 +1,39 @@ +encryptionAlgorithm = $encryptionAlgorithm; + } + public function getEncryptionAlgorithm() + { + return $this->encryptionAlgorithm; + } + public function setKeySha256($keySha256) + { + $this->keySha256 = $keySha256; + } + public function getKeySha256() + { + return $this->keySha256; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Storage/StorageObjectOwner.php b/vendor/google/apiclient-services/src/Google/Service/Storage/StorageObjectOwner.php new file mode 100644 index 00000000..f2bddfab --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Storage/StorageObjectOwner.php @@ -0,0 +1,39 @@ +entity = $entity; + } + public function getEntity() + { + return $this->entity; + } + public function setEntityId($entityId) + { + $this->entityId = $entityId; + } + public function getEntityId() + { + return $this->entityId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Storage/TestIamPermissionsResponse.php b/vendor/google/apiclient-services/src/Google/Service/Storage/TestIamPermissionsResponse.php new file mode 100644 index 00000000..54b16af6 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Storage/TestIamPermissionsResponse.php @@ -0,0 +1,40 @@ +kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setPermissions($permissions) + { + $this->permissions = $permissions; + } + public function getPermissions() + { + return $this->permissions; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Storagetransfer.php b/vendor/google/apiclient-services/src/Google/Service/Storagetransfer.php new file mode 100644 index 00000000..9c16b470 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Storagetransfer.php @@ -0,0 +1,233 @@ + + * Transfers data from external data sources to a Google Cloud Storage bucket or + * between Google Cloud Storage buckets.

+ * + *

+ * For more information about this service, see the API + * Documentation + *

+ * + * @author Google, Inc. + */ +class Google_Service_Storagetransfer extends Google_Service +{ + /** View and manage your data across Google Cloud Platform services. */ + const CLOUD_PLATFORM = + "https://www.googleapis.com/auth/cloud-platform"; + + public $googleServiceAccounts; + public $transferJobs; + public $transferOperations; + public $v1; + + /** + * Constructs the internal representation of the Storagetransfer service. + * + * @param Google_Client $client + */ + public function __construct(Google_Client $client) + { + parent::__construct($client); + $this->rootUrl = 'https://storagetransfer.googleapis.com/'; + $this->servicePath = ''; + $this->version = 'v1'; + $this->serviceName = 'storagetransfer'; + + $this->googleServiceAccounts = new Google_Service_Storagetransfer_Resource_GoogleServiceAccounts( + $this, + $this->serviceName, + 'googleServiceAccounts', + array( + 'methods' => array( + 'get' => array( + 'path' => 'v1/googleServiceAccounts/{projectId}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'projectId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->transferJobs = new Google_Service_Storagetransfer_Resource_TransferJobs( + $this, + $this->serviceName, + 'transferJobs', + array( + 'methods' => array( + 'create' => array( + 'path' => 'v1/transferJobs', + 'httpMethod' => 'POST', + 'parameters' => array(), + ),'get' => array( + 'path' => 'v1/{+jobName}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'jobName' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'projectId' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'list' => array( + 'path' => 'v1/transferJobs', + 'httpMethod' => 'GET', + 'parameters' => array( + 'filter' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pageSize' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'patch' => array( + 'path' => 'v1/{+jobName}', + 'httpMethod' => 'PATCH', + 'parameters' => array( + 'jobName' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->transferOperations = new Google_Service_Storagetransfer_Resource_TransferOperations( + $this, + $this->serviceName, + 'transferOperations', + array( + 'methods' => array( + 'cancel' => array( + 'path' => 'v1/{+name}:cancel', + 'httpMethod' => 'POST', + 'parameters' => array( + 'name' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'delete' => array( + 'path' => 'v1/{+name}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'name' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'get' => array( + 'path' => 'v1/{+name}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'name' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'v1/{+name}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'name' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'filter' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pageSize' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'pause' => array( + 'path' => 'v1/{+name}:pause', + 'httpMethod' => 'POST', + 'parameters' => array( + 'name' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'resume' => array( + 'path' => 'v1/{+name}:resume', + 'httpMethod' => 'POST', + 'parameters' => array( + 'name' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->v1 = new Google_Service_Storagetransfer_Resource_V1( + $this, + $this->serviceName, + 'v1', + array( + 'methods' => array( + 'getGoogleServiceAccount' => array( + 'path' => 'v1:getGoogleServiceAccount', + 'httpMethod' => 'GET', + 'parameters' => array( + 'projectId' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Storagetransfer/AwsAccessKey.php b/vendor/google/apiclient-services/src/Google/Service/Storagetransfer/AwsAccessKey.php new file mode 100644 index 00000000..f04f3abe --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Storagetransfer/AwsAccessKey.php @@ -0,0 +1,39 @@ +accessKeyId = $accessKeyId; + } + public function getAccessKeyId() + { + return $this->accessKeyId; + } + public function setSecretAccessKey($secretAccessKey) + { + $this->secretAccessKey = $secretAccessKey; + } + public function getSecretAccessKey() + { + return $this->secretAccessKey; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Storagetransfer/AwsS3Data.php b/vendor/google/apiclient-services/src/Google/Service/Storagetransfer/AwsS3Data.php new file mode 100644 index 00000000..8fa56645 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Storagetransfer/AwsS3Data.php @@ -0,0 +1,40 @@ +awsAccessKey = $awsAccessKey; + } + public function getAwsAccessKey() + { + return $this->awsAccessKey; + } + public function setBucketName($bucketName) + { + $this->bucketName = $bucketName; + } + public function getBucketName() + { + return $this->bucketName; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Storagetransfer/Date.php b/vendor/google/apiclient-services/src/Google/Service/Storagetransfer/Date.php new file mode 100644 index 00000000..dd664def --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Storagetransfer/Date.php @@ -0,0 +1,48 @@ +day = $day; + } + public function getDay() + { + return $this->day; + } + public function setMonth($month) + { + $this->month = $month; + } + public function getMonth() + { + return $this->month; + } + public function setYear($year) + { + $this->year = $year; + } + public function getYear() + { + return $this->year; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Storagetransfer/ErrorLogEntry.php b/vendor/google/apiclient-services/src/Google/Service/Storagetransfer/ErrorLogEntry.php new file mode 100644 index 00000000..ceb040c2 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Storagetransfer/ErrorLogEntry.php @@ -0,0 +1,40 @@ +errorDetails = $errorDetails; + } + public function getErrorDetails() + { + return $this->errorDetails; + } + public function setUrl($url) + { + $this->url = $url; + } + public function getUrl() + { + return $this->url; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Storagetransfer/ErrorSummary.php b/vendor/google/apiclient-services/src/Google/Service/Storagetransfer/ErrorSummary.php new file mode 100644 index 00000000..2f35fa3e --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Storagetransfer/ErrorSummary.php @@ -0,0 +1,50 @@ +errorCode = $errorCode; + } + public function getErrorCode() + { + return $this->errorCode; + } + public function setErrorCount($errorCount) + { + $this->errorCount = $errorCount; + } + public function getErrorCount() + { + return $this->errorCount; + } + public function setErrorLogEntries($errorLogEntries) + { + $this->errorLogEntries = $errorLogEntries; + } + public function getErrorLogEntries() + { + return $this->errorLogEntries; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Storagetransfer/GcsData.php b/vendor/google/apiclient-services/src/Google/Service/Storagetransfer/GcsData.php new file mode 100644 index 00000000..66c336a3 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Storagetransfer/GcsData.php @@ -0,0 +1,30 @@ +bucketName = $bucketName; + } + public function getBucketName() + { + return $this->bucketName; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Storagetransfer/GoogleServiceAccount.php b/vendor/google/apiclient-services/src/Google/Service/Storagetransfer/GoogleServiceAccount.php new file mode 100644 index 00000000..8bd338f4 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Storagetransfer/GoogleServiceAccount.php @@ -0,0 +1,30 @@ +accountEmail = $accountEmail; + } + public function getAccountEmail() + { + return $this->accountEmail; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Storagetransfer/HttpData.php b/vendor/google/apiclient-services/src/Google/Service/Storagetransfer/HttpData.php new file mode 100644 index 00000000..13b56c59 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Storagetransfer/HttpData.php @@ -0,0 +1,30 @@ +listUrl = $listUrl; + } + public function getListUrl() + { + return $this->listUrl; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Storagetransfer/ListOperationsResponse.php b/vendor/google/apiclient-services/src/Google/Service/Storagetransfer/ListOperationsResponse.php new file mode 100644 index 00000000..fa0562bc --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Storagetransfer/ListOperationsResponse.php @@ -0,0 +1,41 @@ +nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setOperations($operations) + { + $this->operations = $operations; + } + public function getOperations() + { + return $this->operations; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Storagetransfer/ListTransferJobsResponse.php b/vendor/google/apiclient-services/src/Google/Service/Storagetransfer/ListTransferJobsResponse.php new file mode 100644 index 00000000..48a95f7b --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Storagetransfer/ListTransferJobsResponse.php @@ -0,0 +1,41 @@ +nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setTransferJobs($transferJobs) + { + $this->transferJobs = $transferJobs; + } + public function getTransferJobs() + { + return $this->transferJobs; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Storagetransfer/ObjectConditions.php b/vendor/google/apiclient-services/src/Google/Service/Storagetransfer/ObjectConditions.php new file mode 100644 index 00000000..37bee489 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Storagetransfer/ObjectConditions.php @@ -0,0 +1,58 @@ +excludePrefixes = $excludePrefixes; + } + public function getExcludePrefixes() + { + return $this->excludePrefixes; + } + public function setIncludePrefixes($includePrefixes) + { + $this->includePrefixes = $includePrefixes; + } + public function getIncludePrefixes() + { + return $this->includePrefixes; + } + public function setMaxTimeElapsedSinceLastModification($maxTimeElapsedSinceLastModification) + { + $this->maxTimeElapsedSinceLastModification = $maxTimeElapsedSinceLastModification; + } + public function getMaxTimeElapsedSinceLastModification() + { + return $this->maxTimeElapsedSinceLastModification; + } + public function setMinTimeElapsedSinceLastModification($minTimeElapsedSinceLastModification) + { + $this->minTimeElapsedSinceLastModification = $minTimeElapsedSinceLastModification; + } + public function getMinTimeElapsedSinceLastModification() + { + return $this->minTimeElapsedSinceLastModification; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Storagetransfer/Operation.php b/vendor/google/apiclient-services/src/Google/Service/Storagetransfer/Operation.php new file mode 100644 index 00000000..f80fb2a3 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Storagetransfer/Operation.php @@ -0,0 +1,67 @@ +done = $done; + } + public function getDone() + { + return $this->done; + } + public function setError(Google_Service_Storagetransfer_Status $error) + { + $this->error = $error; + } + public function getError() + { + return $this->error; + } + public function setMetadata($metadata) + { + $this->metadata = $metadata; + } + public function getMetadata() + { + return $this->metadata; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setResponse($response) + { + $this->response = $response; + } + public function getResponse() + { + return $this->response; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Storagetransfer/PauseTransferOperationRequest.php b/vendor/google/apiclient-services/src/Google/Service/Storagetransfer/PauseTransferOperationRequest.php new file mode 100644 index 00000000..f466122e --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Storagetransfer/PauseTransferOperationRequest.php @@ -0,0 +1,20 @@ + + * $storagetransferService = new Google_Service_Storagetransfer(...); + * $googleServiceAccounts = $storagetransferService->googleServiceAccounts; + * + */ +class Google_Service_Storagetransfer_Resource_GoogleServiceAccounts extends Google_Service_Resource +{ + /** + * Returns the Google service account that is used by Storage Transfer Service + * to access buckets in the project where transfers run or in other projects. + * Each Google service account is associated with one Google Developers Console + * project. Users should add this service account to the Google Cloud Storage + * bucket ACLs to grant access to Storage Transfer Service. This service account + * is created and owned by Storage Transfer Service and can only be used by + * Storage Transfer Service. (googleServiceAccounts.get) + * + * @param string $projectId The ID of the Google Developers Console project that + * the Google service account is associated with. Required. + * @param array $optParams Optional parameters. + * @return Google_Service_Storagetransfer_GoogleServiceAccount + */ + public function get($projectId, $optParams = array()) + { + $params = array('projectId' => $projectId); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Storagetransfer_GoogleServiceAccount"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Storagetransfer/Resource/TransferJobs.php b/vendor/google/apiclient-services/src/Google/Service/Storagetransfer/Resource/TransferJobs.php new file mode 100644 index 00000000..6e910a4a --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Storagetransfer/Resource/TransferJobs.php @@ -0,0 +1,96 @@ + + * $storagetransferService = new Google_Service_Storagetransfer(...); + * $transferJobs = $storagetransferService->transferJobs; + * + */ +class Google_Service_Storagetransfer_Resource_TransferJobs extends Google_Service_Resource +{ + /** + * Creates a transfer job that runs periodically. (transferJobs.create) + * + * @param Google_Service_Storagetransfer_TransferJob $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Storagetransfer_TransferJob + */ + public function create(Google_Service_Storagetransfer_TransferJob $postBody, $optParams = array()) + { + $params = array('postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('create', array($params), "Google_Service_Storagetransfer_TransferJob"); + } + /** + * Gets a transfer job. (transferJobs.get) + * + * @param string $jobName The job to get. Required. + * @param array $optParams Optional parameters. + * + * @opt_param string projectId The ID of the Google Developers Console project + * that owns the job. Required. + * @return Google_Service_Storagetransfer_TransferJob + */ + public function get($jobName, $optParams = array()) + { + $params = array('jobName' => $jobName); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Storagetransfer_TransferJob"); + } + /** + * Lists transfer jobs. (transferJobs.listTransferJobs) + * + * @param array $optParams Optional parameters. + * + * @opt_param string filter A list of query parameters specified as JSON text in + * the form of {"`project_id`":"my_project_id", + * "`job_names`":["jobid1","jobid2",...], + * "`job_statuses`":["status1","status2",...]}. Since `job_names` and + * `job_statuses` support multiple values, their values must be specified with + * array notation. `project_id` is required. `job_names` and `job_statuses` are + * optional. The valid values for `job_statuses` are case-insensitive: + * `ENABLED`, `DISABLED`, and `DELETED`. + * @opt_param int pageSize The list page size. The max allowed value is 256. + * @opt_param string pageToken The list page token. + * @return Google_Service_Storagetransfer_ListTransferJobsResponse + */ + public function listTransferJobs($optParams = array()) + { + $params = array(); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Storagetransfer_ListTransferJobsResponse"); + } + /** + * Updates a transfer job. Updating a job's transfer spec does not affect + * transfer operations that are running already. Updating the scheduling of a + * job is not allowed. (transferJobs.patch) + * + * @param string $jobName The name of job to update. Required. + * @param Google_Service_Storagetransfer_UpdateTransferJobRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Storagetransfer_TransferJob + */ + public function patch($jobName, Google_Service_Storagetransfer_UpdateTransferJobRequest $postBody, $optParams = array()) + { + $params = array('jobName' => $jobName, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('patch', array($params), "Google_Service_Storagetransfer_TransferJob"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Storagetransfer/Resource/TransferOperations.php b/vendor/google/apiclient-services/src/Google/Service/Storagetransfer/Resource/TransferOperations.php new file mode 100644 index 00000000..f1c9cfbd --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Storagetransfer/Resource/TransferOperations.php @@ -0,0 +1,121 @@ + + * $storagetransferService = new Google_Service_Storagetransfer(...); + * $transferOperations = $storagetransferService->transferOperations; + * + */ +class Google_Service_Storagetransfer_Resource_TransferOperations extends Google_Service_Resource +{ + /** + * Cancels a transfer. Use the get method to check whether the cancellation + * succeeded or whether the operation completed despite cancellation. + * (transferOperations.cancel) + * + * @param string $name The name of the operation resource to be cancelled. + * @param array $optParams Optional parameters. + * @return Google_Service_Storagetransfer_StoragetransferEmpty + */ + public function cancel($name, $optParams = array()) + { + $params = array('name' => $name); + $params = array_merge($params, $optParams); + return $this->call('cancel', array($params), "Google_Service_Storagetransfer_StoragetransferEmpty"); + } + /** + * This method is not supported and the server returns `UNIMPLEMENTED`. + * (transferOperations.delete) + * + * @param string $name The name of the operation resource to be deleted. + * @param array $optParams Optional parameters. + * @return Google_Service_Storagetransfer_StoragetransferEmpty + */ + public function delete($name, $optParams = array()) + { + $params = array('name' => $name); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params), "Google_Service_Storagetransfer_StoragetransferEmpty"); + } + /** + * Gets the latest state of a long-running operation. Clients can use this + * method to poll the operation result at intervals as recommended by the API + * service. (transferOperations.get) + * + * @param string $name The name of the operation resource. + * @param array $optParams Optional parameters. + * @return Google_Service_Storagetransfer_Operation + */ + public function get($name, $optParams = array()) + { + $params = array('name' => $name); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Storagetransfer_Operation"); + } + /** + * Lists operations that match the specified filter in the request. If the + * server doesn't support this method, it returns `UNIMPLEMENTED`. NOTE: the + * `name` binding below allows API services to override the binding to use + * different resource name schemes, such as `users/operations`. + * (transferOperations.listTransferOperations) + * + * @param string $name The value `transferOperations`. + * @param array $optParams Optional parameters. + * + * @opt_param string filter The standard list filter. + * @opt_param int pageSize The standard list page size. + * @opt_param string pageToken The standard list page token. + * @return Google_Service_Storagetransfer_ListOperationsResponse + */ + public function listTransferOperations($name, $optParams = array()) + { + $params = array('name' => $name); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Storagetransfer_ListOperationsResponse"); + } + /** + * Pauses a transfer operation. (transferOperations.pause) + * + * @param string $name The name of the transfer operation. Required. + * @param Google_Service_Storagetransfer_PauseTransferOperationRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Storagetransfer_StoragetransferEmpty + */ + public function pause($name, Google_Service_Storagetransfer_PauseTransferOperationRequest $postBody, $optParams = array()) + { + $params = array('name' => $name, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('pause', array($params), "Google_Service_Storagetransfer_StoragetransferEmpty"); + } + /** + * Resumes a transfer operation that is paused. (transferOperations.resume) + * + * @param string $name The name of the transfer operation. Required. + * @param Google_Service_Storagetransfer_ResumeTransferOperationRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Storagetransfer_StoragetransferEmpty + */ + public function resume($name, Google_Service_Storagetransfer_ResumeTransferOperationRequest $postBody, $optParams = array()) + { + $params = array('name' => $name, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('resume', array($params), "Google_Service_Storagetransfer_StoragetransferEmpty"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Storagetransfer/Resource/V1.php b/vendor/google/apiclient-services/src/Google/Service/Storagetransfer/Resource/V1.php new file mode 100644 index 00000000..9e9a7106 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Storagetransfer/Resource/V1.php @@ -0,0 +1,49 @@ + + * $storagetransferService = new Google_Service_Storagetransfer(...); + * $v1 = $storagetransferService->v1; + * + */ +class Google_Service_Storagetransfer_Resource_V1 extends Google_Service_Resource +{ + /** + * Returns the Google service account that is used by Storage Transfer Service + * to access buckets in the project where transfers run or in other projects. + * Each Google service account is associated with one Google Developers Console + * project. Users should add this service account to the Google Cloud Storage + * bucket ACLs to grant access to Storage Transfer Service. This service account + * is created and owned by Storage Transfer Service and can only be used by + * Storage Transfer Service. (v1.getGoogleServiceAccount) + * + * @param array $optParams Optional parameters. + * + * @opt_param string projectId The ID of the Google Developers Console project + * that the Google service account is associated with. Required. + * @return Google_Service_Storagetransfer_GoogleServiceAccount + */ + public function getGoogleServiceAccount($optParams = array()) + { + $params = array(); + $params = array_merge($params, $optParams); + return $this->call('getGoogleServiceAccount', array($params), "Google_Service_Storagetransfer_GoogleServiceAccount"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Storagetransfer/ResumeTransferOperationRequest.php b/vendor/google/apiclient-services/src/Google/Service/Storagetransfer/ResumeTransferOperationRequest.php new file mode 100644 index 00000000..517b12bf --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Storagetransfer/ResumeTransferOperationRequest.php @@ -0,0 +1,20 @@ +scheduleEndDate = $scheduleEndDate; + } + public function getScheduleEndDate() + { + return $this->scheduleEndDate; + } + public function setScheduleStartDate(Google_Service_Storagetransfer_Date $scheduleStartDate) + { + $this->scheduleStartDate = $scheduleStartDate; + } + public function getScheduleStartDate() + { + return $this->scheduleStartDate; + } + public function setStartTimeOfDay(Google_Service_Storagetransfer_TimeOfDay $startTimeOfDay) + { + $this->startTimeOfDay = $startTimeOfDay; + } + public function getStartTimeOfDay() + { + return $this->startTimeOfDay; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Storagetransfer/Status.php b/vendor/google/apiclient-services/src/Google/Service/Storagetransfer/Status.php new file mode 100644 index 00000000..fd4e4ba4 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Storagetransfer/Status.php @@ -0,0 +1,49 @@ +code = $code; + } + public function getCode() + { + return $this->code; + } + public function setDetails($details) + { + $this->details = $details; + } + public function getDetails() + { + return $this->details; + } + public function setMessage($message) + { + $this->message = $message; + } + public function getMessage() + { + return $this->message; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Storagetransfer/StoragetransferEmpty.php b/vendor/google/apiclient-services/src/Google/Service/Storagetransfer/StoragetransferEmpty.php new file mode 100644 index 00000000..f69378d3 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Storagetransfer/StoragetransferEmpty.php @@ -0,0 +1,20 @@ +hours = $hours; + } + public function getHours() + { + return $this->hours; + } + public function setMinutes($minutes) + { + $this->minutes = $minutes; + } + public function getMinutes() + { + return $this->minutes; + } + public function setNanos($nanos) + { + $this->nanos = $nanos; + } + public function getNanos() + { + return $this->nanos; + } + public function setSeconds($seconds) + { + $this->seconds = $seconds; + } + public function getSeconds() + { + return $this->seconds; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Storagetransfer/TransferCounters.php b/vendor/google/apiclient-services/src/Google/Service/Storagetransfer/TransferCounters.php new file mode 100644 index 00000000..a948b81b --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Storagetransfer/TransferCounters.php @@ -0,0 +1,165 @@ +bytesCopiedToSink = $bytesCopiedToSink; + } + public function getBytesCopiedToSink() + { + return $this->bytesCopiedToSink; + } + public function setBytesDeletedFromSink($bytesDeletedFromSink) + { + $this->bytesDeletedFromSink = $bytesDeletedFromSink; + } + public function getBytesDeletedFromSink() + { + return $this->bytesDeletedFromSink; + } + public function setBytesDeletedFromSource($bytesDeletedFromSource) + { + $this->bytesDeletedFromSource = $bytesDeletedFromSource; + } + public function getBytesDeletedFromSource() + { + return $this->bytesDeletedFromSource; + } + public function setBytesFailedToDeleteFromSink($bytesFailedToDeleteFromSink) + { + $this->bytesFailedToDeleteFromSink = $bytesFailedToDeleteFromSink; + } + public function getBytesFailedToDeleteFromSink() + { + return $this->bytesFailedToDeleteFromSink; + } + public function setBytesFoundFromSource($bytesFoundFromSource) + { + $this->bytesFoundFromSource = $bytesFoundFromSource; + } + public function getBytesFoundFromSource() + { + return $this->bytesFoundFromSource; + } + public function setBytesFoundOnlyFromSink($bytesFoundOnlyFromSink) + { + $this->bytesFoundOnlyFromSink = $bytesFoundOnlyFromSink; + } + public function getBytesFoundOnlyFromSink() + { + return $this->bytesFoundOnlyFromSink; + } + public function setBytesFromSourceFailed($bytesFromSourceFailed) + { + $this->bytesFromSourceFailed = $bytesFromSourceFailed; + } + public function getBytesFromSourceFailed() + { + return $this->bytesFromSourceFailed; + } + public function setBytesFromSourceSkippedBySync($bytesFromSourceSkippedBySync) + { + $this->bytesFromSourceSkippedBySync = $bytesFromSourceSkippedBySync; + } + public function getBytesFromSourceSkippedBySync() + { + return $this->bytesFromSourceSkippedBySync; + } + public function setObjectsCopiedToSink($objectsCopiedToSink) + { + $this->objectsCopiedToSink = $objectsCopiedToSink; + } + public function getObjectsCopiedToSink() + { + return $this->objectsCopiedToSink; + } + public function setObjectsDeletedFromSink($objectsDeletedFromSink) + { + $this->objectsDeletedFromSink = $objectsDeletedFromSink; + } + public function getObjectsDeletedFromSink() + { + return $this->objectsDeletedFromSink; + } + public function setObjectsDeletedFromSource($objectsDeletedFromSource) + { + $this->objectsDeletedFromSource = $objectsDeletedFromSource; + } + public function getObjectsDeletedFromSource() + { + return $this->objectsDeletedFromSource; + } + public function setObjectsFailedToDeleteFromSink($objectsFailedToDeleteFromSink) + { + $this->objectsFailedToDeleteFromSink = $objectsFailedToDeleteFromSink; + } + public function getObjectsFailedToDeleteFromSink() + { + return $this->objectsFailedToDeleteFromSink; + } + public function setObjectsFoundFromSource($objectsFoundFromSource) + { + $this->objectsFoundFromSource = $objectsFoundFromSource; + } + public function getObjectsFoundFromSource() + { + return $this->objectsFoundFromSource; + } + public function setObjectsFoundOnlyFromSink($objectsFoundOnlyFromSink) + { + $this->objectsFoundOnlyFromSink = $objectsFoundOnlyFromSink; + } + public function getObjectsFoundOnlyFromSink() + { + return $this->objectsFoundOnlyFromSink; + } + public function setObjectsFromSourceFailed($objectsFromSourceFailed) + { + $this->objectsFromSourceFailed = $objectsFromSourceFailed; + } + public function getObjectsFromSourceFailed() + { + return $this->objectsFromSourceFailed; + } + public function setObjectsFromSourceSkippedBySync($objectsFromSourceSkippedBySync) + { + $this->objectsFromSourceSkippedBySync = $objectsFromSourceSkippedBySync; + } + public function getObjectsFromSourceSkippedBySync() + { + return $this->objectsFromSourceSkippedBySync; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Storagetransfer/TransferJob.php b/vendor/google/apiclient-services/src/Google/Service/Storagetransfer/TransferJob.php new file mode 100644 index 00000000..e362fe93 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Storagetransfer/TransferJob.php @@ -0,0 +1,104 @@ +creationTime = $creationTime; + } + public function getCreationTime() + { + return $this->creationTime; + } + public function setDeletionTime($deletionTime) + { + $this->deletionTime = $deletionTime; + } + public function getDeletionTime() + { + return $this->deletionTime; + } + public function setDescription($description) + { + $this->description = $description; + } + public function getDescription() + { + return $this->description; + } + public function setLastModificationTime($lastModificationTime) + { + $this->lastModificationTime = $lastModificationTime; + } + public function getLastModificationTime() + { + return $this->lastModificationTime; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setProjectId($projectId) + { + $this->projectId = $projectId; + } + public function getProjectId() + { + return $this->projectId; + } + public function setSchedule(Google_Service_Storagetransfer_Schedule $schedule) + { + $this->schedule = $schedule; + } + public function getSchedule() + { + return $this->schedule; + } + public function setStatus($status) + { + $this->status = $status; + } + public function getStatus() + { + return $this->status; + } + public function setTransferSpec(Google_Service_Storagetransfer_TransferSpec $transferSpec) + { + $this->transferSpec = $transferSpec; + } + public function getTransferSpec() + { + return $this->transferSpec; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Storagetransfer/TransferOperation.php b/vendor/google/apiclient-services/src/Google/Service/Storagetransfer/TransferOperation.php new file mode 100644 index 00000000..7a93c26b --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Storagetransfer/TransferOperation.php @@ -0,0 +1,106 @@ +counters = $counters; + } + public function getCounters() + { + return $this->counters; + } + public function setEndTime($endTime) + { + $this->endTime = $endTime; + } + public function getEndTime() + { + return $this->endTime; + } + public function setErrorBreakdowns($errorBreakdowns) + { + $this->errorBreakdowns = $errorBreakdowns; + } + public function getErrorBreakdowns() + { + return $this->errorBreakdowns; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setProjectId($projectId) + { + $this->projectId = $projectId; + } + public function getProjectId() + { + return $this->projectId; + } + public function setStartTime($startTime) + { + $this->startTime = $startTime; + } + public function getStartTime() + { + return $this->startTime; + } + public function setStatus($status) + { + $this->status = $status; + } + public function getStatus() + { + return $this->status; + } + public function setTransferJobName($transferJobName) + { + $this->transferJobName = $transferJobName; + } + public function getTransferJobName() + { + return $this->transferJobName; + } + public function setTransferSpec(Google_Service_Storagetransfer_TransferSpec $transferSpec) + { + $this->transferSpec = $transferSpec; + } + public function getTransferSpec() + { + return $this->transferSpec; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Storagetransfer/TransferOptions.php b/vendor/google/apiclient-services/src/Google/Service/Storagetransfer/TransferOptions.php new file mode 100644 index 00000000..da15ff71 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Storagetransfer/TransferOptions.php @@ -0,0 +1,48 @@ +deleteObjectsFromSourceAfterTransfer = $deleteObjectsFromSourceAfterTransfer; + } + public function getDeleteObjectsFromSourceAfterTransfer() + { + return $this->deleteObjectsFromSourceAfterTransfer; + } + public function setDeleteObjectsUniqueInSink($deleteObjectsUniqueInSink) + { + $this->deleteObjectsUniqueInSink = $deleteObjectsUniqueInSink; + } + public function getDeleteObjectsUniqueInSink() + { + return $this->deleteObjectsUniqueInSink; + } + public function setOverwriteObjectsAlreadyExistingInSink($overwriteObjectsAlreadyExistingInSink) + { + $this->overwriteObjectsAlreadyExistingInSink = $overwriteObjectsAlreadyExistingInSink; + } + public function getOverwriteObjectsAlreadyExistingInSink() + { + return $this->overwriteObjectsAlreadyExistingInSink; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Storagetransfer/TransferSpec.php b/vendor/google/apiclient-services/src/Google/Service/Storagetransfer/TransferSpec.php new file mode 100644 index 00000000..1d9ea626 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Storagetransfer/TransferSpec.php @@ -0,0 +1,81 @@ +awsS3DataSource = $awsS3DataSource; + } + public function getAwsS3DataSource() + { + return $this->awsS3DataSource; + } + public function setGcsDataSink(Google_Service_Storagetransfer_GcsData $gcsDataSink) + { + $this->gcsDataSink = $gcsDataSink; + } + public function getGcsDataSink() + { + return $this->gcsDataSink; + } + public function setGcsDataSource(Google_Service_Storagetransfer_GcsData $gcsDataSource) + { + $this->gcsDataSource = $gcsDataSource; + } + public function getGcsDataSource() + { + return $this->gcsDataSource; + } + public function setHttpDataSource(Google_Service_Storagetransfer_HttpData $httpDataSource) + { + $this->httpDataSource = $httpDataSource; + } + public function getHttpDataSource() + { + return $this->httpDataSource; + } + public function setObjectConditions(Google_Service_Storagetransfer_ObjectConditions $objectConditions) + { + $this->objectConditions = $objectConditions; + } + public function getObjectConditions() + { + return $this->objectConditions; + } + public function setTransferOptions(Google_Service_Storagetransfer_TransferOptions $transferOptions) + { + $this->transferOptions = $transferOptions; + } + public function getTransferOptions() + { + return $this->transferOptions; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Storagetransfer/UpdateTransferJobRequest.php b/vendor/google/apiclient-services/src/Google/Service/Storagetransfer/UpdateTransferJobRequest.php new file mode 100644 index 00000000..335e299d --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Storagetransfer/UpdateTransferJobRequest.php @@ -0,0 +1,49 @@ +projectId = $projectId; + } + public function getProjectId() + { + return $this->projectId; + } + public function setTransferJob(Google_Service_Storagetransfer_TransferJob $transferJob) + { + $this->transferJob = $transferJob; + } + public function getTransferJob() + { + return $this->transferJob; + } + public function setUpdateTransferJobFieldMask($updateTransferJobFieldMask) + { + $this->updateTransferJobFieldMask = $updateTransferJobFieldMask; + } + public function getUpdateTransferJobFieldMask() + { + return $this->updateTransferJobFieldMask; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Surveys.php b/vendor/google/apiclient-services/src/Google/Service/Surveys.php new file mode 100644 index 00000000..330337be --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Surveys.php @@ -0,0 +1,210 @@ + + * Creates and conducts surveys, lists the surveys that an authenticated user + * owns, and retrieves survey results and information about specified surveys.

+ * + *

+ * For more information about this service, see the API + * Documentation + *

+ * + * @author Google, Inc. + */ +class Google_Service_Surveys extends Google_Service +{ + /** View and manage your surveys and results. */ + const SURVEYS = + "https://www.googleapis.com/auth/surveys"; + /** View your surveys and survey results. */ + const SURVEYS_READONLY = + "https://www.googleapis.com/auth/surveys.readonly"; + /** View your email address. */ + const USERINFO_EMAIL = + "https://www.googleapis.com/auth/userinfo.email"; + + public $mobileapppanels; + public $results; + public $surveys; + + /** + * Constructs the internal representation of the Surveys service. + * + * @param Google_Client $client + */ + public function __construct(Google_Client $client) + { + parent::__construct($client); + $this->rootUrl = 'https://www.googleapis.com/'; + $this->servicePath = 'surveys/v2/'; + $this->version = 'v2'; + $this->serviceName = 'surveys'; + + $this->mobileapppanels = new Google_Service_Surveys_Resource_Mobileapppanels( + $this, + $this->serviceName, + 'mobileapppanels', + array( + 'methods' => array( + 'get' => array( + 'path' => 'mobileAppPanels/{panelId}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'panelId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'mobileAppPanels', + 'httpMethod' => 'GET', + 'parameters' => array( + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'startIndex' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'token' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'update' => array( + 'path' => 'mobileAppPanels/{panelId}', + 'httpMethod' => 'PUT', + 'parameters' => array( + 'panelId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->results = new Google_Service_Surveys_Resource_Results( + $this, + $this->serviceName, + 'results', + array( + 'methods' => array( + 'get' => array( + 'path' => 'surveys/{surveyUrlId}/results', + 'httpMethod' => 'GET', + 'parameters' => array( + 'surveyUrlId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->surveys = new Google_Service_Surveys_Resource_Surveys( + $this, + $this->serviceName, + 'surveys', + array( + 'methods' => array( + 'delete' => array( + 'path' => 'surveys/{surveyUrlId}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'surveyUrlId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'get' => array( + 'path' => 'surveys/{surveyUrlId}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'surveyUrlId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'insert' => array( + 'path' => 'surveys', + 'httpMethod' => 'POST', + 'parameters' => array(), + ),'list' => array( + 'path' => 'surveys', + 'httpMethod' => 'GET', + 'parameters' => array( + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'startIndex' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'token' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'start' => array( + 'path' => 'surveys/{resourceId}/start', + 'httpMethod' => 'POST', + 'parameters' => array( + 'resourceId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'stop' => array( + 'path' => 'surveys/{resourceId}/stop', + 'httpMethod' => 'POST', + 'parameters' => array( + 'resourceId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'update' => array( + 'path' => 'surveys/{surveyUrlId}', + 'httpMethod' => 'PUT', + 'parameters' => array( + 'surveyUrlId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Surveys/FieldMask.php b/vendor/google/apiclient-services/src/Google/Service/Surveys/FieldMask.php new file mode 100644 index 00000000..76062663 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Surveys/FieldMask.php @@ -0,0 +1,41 @@ +fields = $fields; + } + public function getFields() + { + return $this->fields; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Surveys/MobileAppPanel.php b/vendor/google/apiclient-services/src/Google/Service/Surveys/MobileAppPanel.php new file mode 100644 index 00000000..a85b1ed7 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Surveys/MobileAppPanel.php @@ -0,0 +1,76 @@ +country = $country; + } + public function getCountry() + { + return $this->country; + } + public function setIsPublicPanel($isPublicPanel) + { + $this->isPublicPanel = $isPublicPanel; + } + public function getIsPublicPanel() + { + return $this->isPublicPanel; + } + public function setLanguage($language) + { + $this->language = $language; + } + public function getLanguage() + { + return $this->language; + } + public function setMobileAppPanelId($mobileAppPanelId) + { + $this->mobileAppPanelId = $mobileAppPanelId; + } + public function getMobileAppPanelId() + { + return $this->mobileAppPanelId; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setOwners($owners) + { + $this->owners = $owners; + } + public function getOwners() + { + return $this->owners; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Surveys/MobileAppPanelsListResponse.php b/vendor/google/apiclient-services/src/Google/Service/Surveys/MobileAppPanelsListResponse.php new file mode 100644 index 00000000..942bf858 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Surveys/MobileAppPanelsListResponse.php @@ -0,0 +1,61 @@ +pageInfo = $pageInfo; + } + public function getPageInfo() + { + return $this->pageInfo; + } + public function setRequestId($requestId) + { + $this->requestId = $requestId; + } + public function getRequestId() + { + return $this->requestId; + } + public function setResources($resources) + { + $this->resources = $resources; + } + public function getResources() + { + return $this->resources; + } + public function setTokenPagination(Google_Service_Surveys_TokenPagination $tokenPagination) + { + $this->tokenPagination = $tokenPagination; + } + public function getTokenPagination() + { + return $this->tokenPagination; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Surveys/PageInfo.php b/vendor/google/apiclient-services/src/Google/Service/Surveys/PageInfo.php new file mode 100644 index 00000000..bd07806c --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Surveys/PageInfo.php @@ -0,0 +1,48 @@ +resultPerPage = $resultPerPage; + } + public function getResultPerPage() + { + return $this->resultPerPage; + } + public function setStartIndex($startIndex) + { + $this->startIndex = $startIndex; + } + public function getStartIndex() + { + return $this->startIndex; + } + public function setTotalResults($totalResults) + { + $this->totalResults = $totalResults; + } + public function getTotalResults() + { + return $this->totalResults; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Surveys/Resource/Mobileapppanels.php b/vendor/google/apiclient-services/src/Google/Service/Surveys/Resource/Mobileapppanels.php new file mode 100644 index 00000000..6e3265d9 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Surveys/Resource/Mobileapppanels.php @@ -0,0 +1,74 @@ + + * $surveysService = new Google_Service_Surveys(...); + * $mobileapppanels = $surveysService->mobileapppanels; + * + */ +class Google_Service_Surveys_Resource_Mobileapppanels extends Google_Service_Resource +{ + /** + * Retrieves a MobileAppPanel that is available to the authenticated user. + * (mobileapppanels.get) + * + * @param string $panelId External URL ID for the panel. + * @param array $optParams Optional parameters. + * @return Google_Service_Surveys_MobileAppPanel + */ + public function get($panelId, $optParams = array()) + { + $params = array('panelId' => $panelId); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Surveys_MobileAppPanel"); + } + /** + * Lists the MobileAppPanels available to the authenticated user. + * (mobileapppanels.listMobileapppanels) + * + * @param array $optParams Optional parameters. + * + * @opt_param string maxResults + * @opt_param string startIndex + * @opt_param string token + * @return Google_Service_Surveys_MobileAppPanelsListResponse + */ + public function listMobileapppanels($optParams = array()) + { + $params = array(); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Surveys_MobileAppPanelsListResponse"); + } + /** + * Updates a MobileAppPanel. Currently the only property that can be updated is + * the owners property. (mobileapppanels.update) + * + * @param string $panelId External URL ID for the panel. + * @param Google_Service_Surveys_MobileAppPanel $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Surveys_MobileAppPanel + */ + public function update($panelId, Google_Service_Surveys_MobileAppPanel $postBody, $optParams = array()) + { + $params = array('panelId' => $panelId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('update', array($params), "Google_Service_Surveys_MobileAppPanel"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Surveys/Resource/Results.php b/vendor/google/apiclient-services/src/Google/Service/Surveys/Resource/Results.php new file mode 100644 index 00000000..ec6346dd --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Surveys/Resource/Results.php @@ -0,0 +1,43 @@ + + * $surveysService = new Google_Service_Surveys(...); + * $results = $surveysService->results; + * + */ +class Google_Service_Surveys_Resource_Results extends Google_Service_Resource +{ + /** + * Retrieves any survey results that have been produced so far. Results are + * formatted as an Excel file. You must add "?alt=media" to the URL as an + * argument to get results. (results.get) + * + * @param string $surveyUrlId External URL ID for the survey. + * @param array $optParams Optional parameters. + * @return Google_Service_Surveys_SurveyResults + */ + public function get($surveyUrlId, $optParams = array()) + { + $params = array('surveyUrlId' => $surveyUrlId); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Surveys_SurveyResults"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Surveys/Resource/Surveys.php b/vendor/google/apiclient-services/src/Google/Service/Surveys/Resource/Surveys.php new file mode 100644 index 00000000..86765b01 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Surveys/Resource/Surveys.php @@ -0,0 +1,125 @@ + + * $surveysService = new Google_Service_Surveys(...); + * $surveys = $surveysService->surveys; + * + */ +class Google_Service_Surveys_Resource_Surveys extends Google_Service_Resource +{ + /** + * Removes a survey from view in all user GET requests. (surveys.delete) + * + * @param string $surveyUrlId External URL ID for the survey. + * @param array $optParams Optional parameters. + * @return Google_Service_Surveys_SurveysDeleteResponse + */ + public function delete($surveyUrlId, $optParams = array()) + { + $params = array('surveyUrlId' => $surveyUrlId); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params), "Google_Service_Surveys_SurveysDeleteResponse"); + } + /** + * Retrieves information about the specified survey. (surveys.get) + * + * @param string $surveyUrlId External URL ID for the survey. + * @param array $optParams Optional parameters. + * @return Google_Service_Surveys_Survey + */ + public function get($surveyUrlId, $optParams = array()) + { + $params = array('surveyUrlId' => $surveyUrlId); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Surveys_Survey"); + } + /** + * Creates a survey. (surveys.insert) + * + * @param Google_Service_Surveys_Survey $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Surveys_Survey + */ + public function insert(Google_Service_Surveys_Survey $postBody, $optParams = array()) + { + $params = array('postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('insert', array($params), "Google_Service_Surveys_Survey"); + } + /** + * Lists the surveys owned by the authenticated user. (surveys.listSurveys) + * + * @param array $optParams Optional parameters. + * + * @opt_param string maxResults + * @opt_param string startIndex + * @opt_param string token + * @return Google_Service_Surveys_SurveysListResponse + */ + public function listSurveys($optParams = array()) + { + $params = array(); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Surveys_SurveysListResponse"); + } + /** + * Begins running a survey. (surveys.start) + * + * @param string $resourceId + * @param Google_Service_Surveys_SurveysStartRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Surveys_SurveysStartResponse + */ + public function start($resourceId, Google_Service_Surveys_SurveysStartRequest $postBody, $optParams = array()) + { + $params = array('resourceId' => $resourceId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('start', array($params), "Google_Service_Surveys_SurveysStartResponse"); + } + /** + * Stops a running survey. (surveys.stop) + * + * @param string $resourceId + * @param array $optParams Optional parameters. + * @return Google_Service_Surveys_SurveysStopResponse + */ + public function stop($resourceId, $optParams = array()) + { + $params = array('resourceId' => $resourceId); + $params = array_merge($params, $optParams); + return $this->call('stop', array($params), "Google_Service_Surveys_SurveysStopResponse"); + } + /** + * Updates a survey. Currently the only property that can be updated is the + * owners property. (surveys.update) + * + * @param string $surveyUrlId External URL ID for the survey. + * @param Google_Service_Surveys_Survey $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Surveys_Survey + */ + public function update($surveyUrlId, Google_Service_Surveys_Survey $postBody, $optParams = array()) + { + $params = array('surveyUrlId' => $surveyUrlId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('update', array($params), "Google_Service_Surveys_Survey"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Surveys/ResultsGetRequest.php b/vendor/google/apiclient-services/src/Google/Service/Surveys/ResultsGetRequest.php new file mode 100644 index 00000000..3d8324e9 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Surveys/ResultsGetRequest.php @@ -0,0 +1,31 @@ +resultMask = $resultMask; + } + public function getResultMask() + { + return $this->resultMask; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Surveys/ResultsMask.php b/vendor/google/apiclient-services/src/Google/Service/Surveys/ResultsMask.php new file mode 100644 index 00000000..594b86a3 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Surveys/ResultsMask.php @@ -0,0 +1,41 @@ +fields = $fields; + } + public function getFields() + { + return $this->fields; + } + public function setProjection($projection) + { + $this->projection = $projection; + } + public function getProjection() + { + return $this->projection; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Surveys/Survey.php b/vendor/google/apiclient-services/src/Google/Service/Surveys/Survey.php new file mode 100644 index 00000000..481abf86 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Surveys/Survey.php @@ -0,0 +1,125 @@ +audience = $audience; + } + public function getAudience() + { + return $this->audience; + } + public function setCost(Google_Service_Surveys_SurveyCost $cost) + { + $this->cost = $cost; + } + public function getCost() + { + return $this->cost; + } + public function setCustomerData($customerData) + { + $this->customerData = $customerData; + } + public function getCustomerData() + { + return $this->customerData; + } + public function setDescription($description) + { + $this->description = $description; + } + public function getDescription() + { + return $this->description; + } + public function setOwners($owners) + { + $this->owners = $owners; + } + public function getOwners() + { + return $this->owners; + } + public function setQuestions($questions) + { + $this->questions = $questions; + } + public function getQuestions() + { + return $this->questions; + } + public function setRejectionReason(Google_Service_Surveys_SurveyRejection $rejectionReason) + { + $this->rejectionReason = $rejectionReason; + } + public function getRejectionReason() + { + return $this->rejectionReason; + } + public function setState($state) + { + $this->state = $state; + } + public function getState() + { + return $this->state; + } + public function setSurveyUrlId($surveyUrlId) + { + $this->surveyUrlId = $surveyUrlId; + } + public function getSurveyUrlId() + { + return $this->surveyUrlId; + } + public function setTitle($title) + { + $this->title = $title; + } + public function getTitle() + { + return $this->title; + } + public function setWantedResponseCount($wantedResponseCount) + { + $this->wantedResponseCount = $wantedResponseCount; + } + public function getWantedResponseCount() + { + return $this->wantedResponseCount; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Surveys/SurveyAudience.php b/vendor/google/apiclient-services/src/Google/Service/Surveys/SurveyAudience.php new file mode 100644 index 00000000..b37f43bd --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Surveys/SurveyAudience.php @@ -0,0 +1,85 @@ +ages = $ages; + } + public function getAges() + { + return $this->ages; + } + public function setCountry($country) + { + $this->country = $country; + } + public function getCountry() + { + return $this->country; + } + public function setCountrySubdivision($countrySubdivision) + { + $this->countrySubdivision = $countrySubdivision; + } + public function getCountrySubdivision() + { + return $this->countrySubdivision; + } + public function setGender($gender) + { + $this->gender = $gender; + } + public function getGender() + { + return $this->gender; + } + public function setLanguages($languages) + { + $this->languages = $languages; + } + public function getLanguages() + { + return $this->languages; + } + public function setMobileAppPanelId($mobileAppPanelId) + { + $this->mobileAppPanelId = $mobileAppPanelId; + } + public function getMobileAppPanelId() + { + return $this->mobileAppPanelId; + } + public function setPopulationSource($populationSource) + { + $this->populationSource = $populationSource; + } + public function getPopulationSource() + { + return $this->populationSource; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Surveys/SurveyCost.php b/vendor/google/apiclient-services/src/Google/Service/Surveys/SurveyCost.php new file mode 100644 index 00000000..bdbd1d71 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Surveys/SurveyCost.php @@ -0,0 +1,57 @@ +costPerResponseNanos = $costPerResponseNanos; + } + public function getCostPerResponseNanos() + { + return $this->costPerResponseNanos; + } + public function setCurrencyCode($currencyCode) + { + $this->currencyCode = $currencyCode; + } + public function getCurrencyCode() + { + return $this->currencyCode; + } + public function setMaxCostPerResponseNanos($maxCostPerResponseNanos) + { + $this->maxCostPerResponseNanos = $maxCostPerResponseNanos; + } + public function getMaxCostPerResponseNanos() + { + return $this->maxCostPerResponseNanos; + } + public function setNanos($nanos) + { + $this->nanos = $nanos; + } + public function getNanos() + { + return $this->nanos; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Surveys/SurveyQuestion.php b/vendor/google/apiclient-services/src/Google/Service/Surveys/SurveyQuestion.php new file mode 100644 index 00000000..c7f60c8a --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Surveys/SurveyQuestion.php @@ -0,0 +1,185 @@ +answerOrder = $answerOrder; + } + public function getAnswerOrder() + { + return $this->answerOrder; + } + public function setAnswers($answers) + { + $this->answers = $answers; + } + public function getAnswers() + { + return $this->answers; + } + public function setHasOther($hasOther) + { + $this->hasOther = $hasOther; + } + public function getHasOther() + { + return $this->hasOther; + } + public function setHighValueLabel($highValueLabel) + { + $this->highValueLabel = $highValueLabel; + } + public function getHighValueLabel() + { + return $this->highValueLabel; + } + public function setImages($images) + { + $this->images = $images; + } + public function getImages() + { + return $this->images; + } + public function setLastAnswerPositionPinned($lastAnswerPositionPinned) + { + $this->lastAnswerPositionPinned = $lastAnswerPositionPinned; + } + public function getLastAnswerPositionPinned() + { + return $this->lastAnswerPositionPinned; + } + public function setLowValueLabel($lowValueLabel) + { + $this->lowValueLabel = $lowValueLabel; + } + public function getLowValueLabel() + { + return $this->lowValueLabel; + } + public function setMustPickSuggestion($mustPickSuggestion) + { + $this->mustPickSuggestion = $mustPickSuggestion; + } + public function getMustPickSuggestion() + { + return $this->mustPickSuggestion; + } + public function setNumStars($numStars) + { + $this->numStars = $numStars; + } + public function getNumStars() + { + return $this->numStars; + } + public function setOpenTextPlaceholder($openTextPlaceholder) + { + $this->openTextPlaceholder = $openTextPlaceholder; + } + public function getOpenTextPlaceholder() + { + return $this->openTextPlaceholder; + } + public function setOpenTextSuggestions($openTextSuggestions) + { + $this->openTextSuggestions = $openTextSuggestions; + } + public function getOpenTextSuggestions() + { + return $this->openTextSuggestions; + } + public function setQuestion($question) + { + $this->question = $question; + } + public function getQuestion() + { + return $this->question; + } + public function setSentimentText($sentimentText) + { + $this->sentimentText = $sentimentText; + } + public function getSentimentText() + { + return $this->sentimentText; + } + public function setSingleLineResponse($singleLineResponse) + { + $this->singleLineResponse = $singleLineResponse; + } + public function getSingleLineResponse() + { + return $this->singleLineResponse; + } + public function setThresholdAnswers($thresholdAnswers) + { + $this->thresholdAnswers = $thresholdAnswers; + } + public function getThresholdAnswers() + { + return $this->thresholdAnswers; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } + public function setUnitOfMeasurementLabel($unitOfMeasurementLabel) + { + $this->unitOfMeasurementLabel = $unitOfMeasurementLabel; + } + public function getUnitOfMeasurementLabel() + { + return $this->unitOfMeasurementLabel; + } + public function setVideoId($videoId) + { + $this->videoId = $videoId; + } + public function getVideoId() + { + return $this->videoId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Surveys/SurveyQuestionImage.php b/vendor/google/apiclient-services/src/Google/Service/Surveys/SurveyQuestionImage.php new file mode 100644 index 00000000..5249a2f3 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Surveys/SurveyQuestionImage.php @@ -0,0 +1,48 @@ +altText = $altText; + } + public function getAltText() + { + return $this->altText; + } + public function setData($data) + { + $this->data = $data; + } + public function getData() + { + return $this->data; + } + public function setUrl($url) + { + $this->url = $url; + } + public function getUrl() + { + return $this->url; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Surveys/SurveyRejection.php b/vendor/google/apiclient-services/src/Google/Service/Surveys/SurveyRejection.php new file mode 100644 index 00000000..62efd4cd --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Surveys/SurveyRejection.php @@ -0,0 +1,39 @@ +explanation = $explanation; + } + public function getExplanation() + { + return $this->explanation; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Surveys/SurveyResults.php b/vendor/google/apiclient-services/src/Google/Service/Surveys/SurveyResults.php new file mode 100644 index 00000000..8a03734e --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Surveys/SurveyResults.php @@ -0,0 +1,39 @@ +status = $status; + } + public function getStatus() + { + return $this->status; + } + public function setSurveyUrlId($surveyUrlId) + { + $this->surveyUrlId = $surveyUrlId; + } + public function getSurveyUrlId() + { + return $this->surveyUrlId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Surveys/SurveysDeleteResponse.php b/vendor/google/apiclient-services/src/Google/Service/Surveys/SurveysDeleteResponse.php new file mode 100644 index 00000000..66a41e9c --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Surveys/SurveysDeleteResponse.php @@ -0,0 +1,30 @@ +requestId = $requestId; + } + public function getRequestId() + { + return $this->requestId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Surveys/SurveysListResponse.php b/vendor/google/apiclient-services/src/Google/Service/Surveys/SurveysListResponse.php new file mode 100644 index 00000000..a1958989 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Surveys/SurveysListResponse.php @@ -0,0 +1,61 @@ +pageInfo = $pageInfo; + } + public function getPageInfo() + { + return $this->pageInfo; + } + public function setRequestId($requestId) + { + $this->requestId = $requestId; + } + public function getRequestId() + { + return $this->requestId; + } + public function setResources($resources) + { + $this->resources = $resources; + } + public function getResources() + { + return $this->resources; + } + public function setTokenPagination(Google_Service_Surveys_TokenPagination $tokenPagination) + { + $this->tokenPagination = $tokenPagination; + } + public function getTokenPagination() + { + return $this->tokenPagination; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Surveys/SurveysStartRequest.php b/vendor/google/apiclient-services/src/Google/Service/Surveys/SurveysStartRequest.php new file mode 100644 index 00000000..963512ab --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Surveys/SurveysStartRequest.php @@ -0,0 +1,30 @@ +maxCostPerResponseNanos = $maxCostPerResponseNanos; + } + public function getMaxCostPerResponseNanos() + { + return $this->maxCostPerResponseNanos; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Surveys/SurveysStartResponse.php b/vendor/google/apiclient-services/src/Google/Service/Surveys/SurveysStartResponse.php new file mode 100644 index 00000000..623c0e4a --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Surveys/SurveysStartResponse.php @@ -0,0 +1,40 @@ +requestId = $requestId; + } + public function getRequestId() + { + return $this->requestId; + } + public function setResource(Google_Service_Surveys_Survey $resource) + { + $this->resource = $resource; + } + public function getResource() + { + return $this->resource; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Surveys/SurveysStopResponse.php b/vendor/google/apiclient-services/src/Google/Service/Surveys/SurveysStopResponse.php new file mode 100644 index 00000000..502cf1c9 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Surveys/SurveysStopResponse.php @@ -0,0 +1,40 @@ +requestId = $requestId; + } + public function getRequestId() + { + return $this->requestId; + } + public function setResource(Google_Service_Surveys_Survey $resource) + { + $this->resource = $resource; + } + public function getResource() + { + return $this->resource; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Surveys/TokenPagination.php b/vendor/google/apiclient-services/src/Google/Service/Surveys/TokenPagination.php new file mode 100644 index 00000000..74208738 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Surveys/TokenPagination.php @@ -0,0 +1,39 @@ +nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setPreviousPageToken($previousPageToken) + { + $this->previousPageToken = $previousPageToken; + } + public function getPreviousPageToken() + { + return $this->previousPageToken; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/TagManager.php b/vendor/google/apiclient-services/src/Google/Service/TagManager.php new file mode 100644 index 00000000..7e03dd5d --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/TagManager.php @@ -0,0 +1,1099 @@ + + * Accesses Tag Manager accounts and containers.

+ * + *

+ * For more information about this service, see the API + * Documentation + *

+ * + * @author Google, Inc. + */ +class Google_Service_TagManager extends Google_Service +{ + /** Delete your Google Tag Manager containers. */ + const TAGMANAGER_DELETE_CONTAINERS = + "https://www.googleapis.com/auth/tagmanager.delete.containers"; + /** Manage your Google Tag Manager container and its subcomponents, excluding versioning and publishing. */ + const TAGMANAGER_EDIT_CONTAINERS = + "https://www.googleapis.com/auth/tagmanager.edit.containers"; + /** Manage your Google Tag Manager container versions. */ + const TAGMANAGER_EDIT_CONTAINERVERSIONS = + "https://www.googleapis.com/auth/tagmanager.edit.containerversions"; + /** View and manage your Google Tag Manager accounts. */ + const TAGMANAGER_MANAGE_ACCOUNTS = + "https://www.googleapis.com/auth/tagmanager.manage.accounts"; + /** Manage user permissions of your Google Tag Manager account and container. */ + const TAGMANAGER_MANAGE_USERS = + "https://www.googleapis.com/auth/tagmanager.manage.users"; + /** Publish your Google Tag Manager container versions. */ + const TAGMANAGER_PUBLISH = + "https://www.googleapis.com/auth/tagmanager.publish"; + /** View your Google Tag Manager container and its subcomponents. */ + const TAGMANAGER_READONLY = + "https://www.googleapis.com/auth/tagmanager.readonly"; + + public $accounts; + public $accounts_containers; + public $accounts_containers_environments; + public $accounts_containers_folders; + public $accounts_containers_folders_entities; + public $accounts_containers_move_folders; + public $accounts_containers_reauthorize_environments; + public $accounts_containers_tags; + public $accounts_containers_triggers; + public $accounts_containers_variables; + public $accounts_containers_versions; + public $accounts_permissions; + + /** + * Constructs the internal representation of the TagManager service. + * + * @param Google_Client $client + */ + public function __construct(Google_Client $client) + { + parent::__construct($client); + $this->rootUrl = 'https://www.googleapis.com/'; + $this->servicePath = 'tagmanager/v1/'; + $this->version = 'v1'; + $this->serviceName = 'tagmanager'; + + $this->accounts = new Google_Service_TagManager_Resource_Accounts( + $this, + $this->serviceName, + 'accounts', + array( + 'methods' => array( + 'get' => array( + 'path' => 'accounts/{accountId}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'accountId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'accounts', + 'httpMethod' => 'GET', + 'parameters' => array(), + ),'update' => array( + 'path' => 'accounts/{accountId}', + 'httpMethod' => 'PUT', + 'parameters' => array( + 'accountId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'fingerprint' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + $this->accounts_containers = new Google_Service_TagManager_Resource_AccountsContainers( + $this, + $this->serviceName, + 'containers', + array( + 'methods' => array( + 'create' => array( + 'path' => 'accounts/{accountId}/containers', + 'httpMethod' => 'POST', + 'parameters' => array( + 'accountId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'delete' => array( + 'path' => 'accounts/{accountId}/containers/{containerId}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'accountId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'containerId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'get' => array( + 'path' => 'accounts/{accountId}/containers/{containerId}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'accountId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'containerId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'accounts/{accountId}/containers', + 'httpMethod' => 'GET', + 'parameters' => array( + 'accountId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'update' => array( + 'path' => 'accounts/{accountId}/containers/{containerId}', + 'httpMethod' => 'PUT', + 'parameters' => array( + 'accountId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'containerId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'fingerprint' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + $this->accounts_containers_environments = new Google_Service_TagManager_Resource_AccountsContainersEnvironments( + $this, + $this->serviceName, + 'environments', + array( + 'methods' => array( + 'create' => array( + 'path' => 'accounts/{accountId}/containers/{containerId}/environments', + 'httpMethod' => 'POST', + 'parameters' => array( + 'accountId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'containerId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'delete' => array( + 'path' => 'accounts/{accountId}/containers/{containerId}/environments/{environmentId}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'accountId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'containerId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'environmentId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'get' => array( + 'path' => 'accounts/{accountId}/containers/{containerId}/environments/{environmentId}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'accountId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'containerId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'environmentId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'accounts/{accountId}/containers/{containerId}/environments', + 'httpMethod' => 'GET', + 'parameters' => array( + 'accountId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'containerId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'patch' => array( + 'path' => 'accounts/{accountId}/containers/{containerId}/environments/{environmentId}', + 'httpMethod' => 'PATCH', + 'parameters' => array( + 'accountId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'containerId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'environmentId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'fingerprint' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'update' => array( + 'path' => 'accounts/{accountId}/containers/{containerId}/environments/{environmentId}', + 'httpMethod' => 'PUT', + 'parameters' => array( + 'accountId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'containerId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'environmentId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'fingerprint' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + $this->accounts_containers_folders = new Google_Service_TagManager_Resource_AccountsContainersFolders( + $this, + $this->serviceName, + 'folders', + array( + 'methods' => array( + 'create' => array( + 'path' => 'accounts/{accountId}/containers/{containerId}/folders', + 'httpMethod' => 'POST', + 'parameters' => array( + 'accountId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'containerId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'delete' => array( + 'path' => 'accounts/{accountId}/containers/{containerId}/folders/{folderId}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'accountId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'containerId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'folderId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'get' => array( + 'path' => 'accounts/{accountId}/containers/{containerId}/folders/{folderId}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'accountId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'containerId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'folderId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'accounts/{accountId}/containers/{containerId}/folders', + 'httpMethod' => 'GET', + 'parameters' => array( + 'accountId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'containerId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'update' => array( + 'path' => 'accounts/{accountId}/containers/{containerId}/folders/{folderId}', + 'httpMethod' => 'PUT', + 'parameters' => array( + 'accountId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'containerId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'folderId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'fingerprint' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + $this->accounts_containers_folders_entities = new Google_Service_TagManager_Resource_AccountsContainersFoldersEntities( + $this, + $this->serviceName, + 'entities', + array( + 'methods' => array( + 'list' => array( + 'path' => 'accounts/{accountId}/containers/{containerId}/folders/{folderId}/entities', + 'httpMethod' => 'GET', + 'parameters' => array( + 'accountId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'containerId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'folderId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->accounts_containers_move_folders = new Google_Service_TagManager_Resource_AccountsContainersMoveFolders( + $this, + $this->serviceName, + 'move_folders', + array( + 'methods' => array( + 'update' => array( + 'path' => 'accounts/{accountId}/containers/{containerId}/move_folders/{folderId}', + 'httpMethod' => 'PUT', + 'parameters' => array( + 'accountId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'containerId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'folderId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'tagId' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + ), + 'triggerId' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + ), + 'variableId' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + ), + ), + ), + ) + ) + ); + $this->accounts_containers_reauthorize_environments = new Google_Service_TagManager_Resource_AccountsContainersReauthorizeEnvironments( + $this, + $this->serviceName, + 'reauthorize_environments', + array( + 'methods' => array( + 'update' => array( + 'path' => 'accounts/{accountId}/containers/{containerId}/reauthorize_environments/{environmentId}', + 'httpMethod' => 'PUT', + 'parameters' => array( + 'accountId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'containerId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'environmentId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->accounts_containers_tags = new Google_Service_TagManager_Resource_AccountsContainersTags( + $this, + $this->serviceName, + 'tags', + array( + 'methods' => array( + 'create' => array( + 'path' => 'accounts/{accountId}/containers/{containerId}/tags', + 'httpMethod' => 'POST', + 'parameters' => array( + 'accountId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'containerId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'delete' => array( + 'path' => 'accounts/{accountId}/containers/{containerId}/tags/{tagId}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'accountId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'containerId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'tagId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'get' => array( + 'path' => 'accounts/{accountId}/containers/{containerId}/tags/{tagId}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'accountId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'containerId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'tagId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'accounts/{accountId}/containers/{containerId}/tags', + 'httpMethod' => 'GET', + 'parameters' => array( + 'accountId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'containerId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'update' => array( + 'path' => 'accounts/{accountId}/containers/{containerId}/tags/{tagId}', + 'httpMethod' => 'PUT', + 'parameters' => array( + 'accountId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'containerId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'tagId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'fingerprint' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + $this->accounts_containers_triggers = new Google_Service_TagManager_Resource_AccountsContainersTriggers( + $this, + $this->serviceName, + 'triggers', + array( + 'methods' => array( + 'create' => array( + 'path' => 'accounts/{accountId}/containers/{containerId}/triggers', + 'httpMethod' => 'POST', + 'parameters' => array( + 'accountId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'containerId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'delete' => array( + 'path' => 'accounts/{accountId}/containers/{containerId}/triggers/{triggerId}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'accountId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'containerId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'triggerId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'get' => array( + 'path' => 'accounts/{accountId}/containers/{containerId}/triggers/{triggerId}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'accountId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'containerId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'triggerId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'accounts/{accountId}/containers/{containerId}/triggers', + 'httpMethod' => 'GET', + 'parameters' => array( + 'accountId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'containerId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'update' => array( + 'path' => 'accounts/{accountId}/containers/{containerId}/triggers/{triggerId}', + 'httpMethod' => 'PUT', + 'parameters' => array( + 'accountId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'containerId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'triggerId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'fingerprint' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + $this->accounts_containers_variables = new Google_Service_TagManager_Resource_AccountsContainersVariables( + $this, + $this->serviceName, + 'variables', + array( + 'methods' => array( + 'create' => array( + 'path' => 'accounts/{accountId}/containers/{containerId}/variables', + 'httpMethod' => 'POST', + 'parameters' => array( + 'accountId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'containerId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'delete' => array( + 'path' => 'accounts/{accountId}/containers/{containerId}/variables/{variableId}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'accountId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'containerId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'variableId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'get' => array( + 'path' => 'accounts/{accountId}/containers/{containerId}/variables/{variableId}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'accountId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'containerId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'variableId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'accounts/{accountId}/containers/{containerId}/variables', + 'httpMethod' => 'GET', + 'parameters' => array( + 'accountId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'containerId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'update' => array( + 'path' => 'accounts/{accountId}/containers/{containerId}/variables/{variableId}', + 'httpMethod' => 'PUT', + 'parameters' => array( + 'accountId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'containerId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'variableId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'fingerprint' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + $this->accounts_containers_versions = new Google_Service_TagManager_Resource_AccountsContainersVersions( + $this, + $this->serviceName, + 'versions', + array( + 'methods' => array( + 'create' => array( + 'path' => 'accounts/{accountId}/containers/{containerId}/versions', + 'httpMethod' => 'POST', + 'parameters' => array( + 'accountId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'containerId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'delete' => array( + 'path' => 'accounts/{accountId}/containers/{containerId}/versions/{containerVersionId}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'accountId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'containerId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'containerVersionId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'get' => array( + 'path' => 'accounts/{accountId}/containers/{containerId}/versions/{containerVersionId}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'accountId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'containerId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'containerVersionId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'accounts/{accountId}/containers/{containerId}/versions', + 'httpMethod' => 'GET', + 'parameters' => array( + 'accountId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'containerId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'headers' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + 'includeDeleted' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + ), + ),'publish' => array( + 'path' => 'accounts/{accountId}/containers/{containerId}/versions/{containerVersionId}/publish', + 'httpMethod' => 'POST', + 'parameters' => array( + 'accountId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'containerId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'containerVersionId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'fingerprint' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'restore' => array( + 'path' => 'accounts/{accountId}/containers/{containerId}/versions/{containerVersionId}/restore', + 'httpMethod' => 'POST', + 'parameters' => array( + 'accountId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'containerId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'containerVersionId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'undelete' => array( + 'path' => 'accounts/{accountId}/containers/{containerId}/versions/{containerVersionId}/undelete', + 'httpMethod' => 'POST', + 'parameters' => array( + 'accountId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'containerId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'containerVersionId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'update' => array( + 'path' => 'accounts/{accountId}/containers/{containerId}/versions/{containerVersionId}', + 'httpMethod' => 'PUT', + 'parameters' => array( + 'accountId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'containerId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'containerVersionId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'fingerprint' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + $this->accounts_permissions = new Google_Service_TagManager_Resource_AccountsPermissions( + $this, + $this->serviceName, + 'permissions', + array( + 'methods' => array( + 'create' => array( + 'path' => 'accounts/{accountId}/permissions', + 'httpMethod' => 'POST', + 'parameters' => array( + 'accountId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'delete' => array( + 'path' => 'accounts/{accountId}/permissions/{permissionId}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'accountId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'permissionId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'get' => array( + 'path' => 'accounts/{accountId}/permissions/{permissionId}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'accountId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'permissionId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'accounts/{accountId}/permissions', + 'httpMethod' => 'GET', + 'parameters' => array( + 'accountId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'update' => array( + 'path' => 'accounts/{accountId}/permissions/{permissionId}', + 'httpMethod' => 'PUT', + 'parameters' => array( + 'accountId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'permissionId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/TagManager/Account.php b/vendor/google/apiclient-services/src/Google/Service/TagManager/Account.php new file mode 100644 index 00000000..7f55dd39 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/TagManager/Account.php @@ -0,0 +1,57 @@ +accountId = $accountId; + } + public function getAccountId() + { + return $this->accountId; + } + public function setFingerprint($fingerprint) + { + $this->fingerprint = $fingerprint; + } + public function getFingerprint() + { + return $this->fingerprint; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setShareData($shareData) + { + $this->shareData = $shareData; + } + public function getShareData() + { + return $this->shareData; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/TagManager/AccountAccess.php b/vendor/google/apiclient-services/src/Google/Service/TagManager/AccountAccess.php new file mode 100644 index 00000000..7f331b38 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/TagManager/AccountAccess.php @@ -0,0 +1,31 @@ +permission = $permission; + } + public function getPermission() + { + return $this->permission; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/TagManager/Condition.php b/vendor/google/apiclient-services/src/Google/Service/TagManager/Condition.php new file mode 100644 index 00000000..ae346be9 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/TagManager/Condition.php @@ -0,0 +1,41 @@ +parameter = $parameter; + } + public function getParameter() + { + return $this->parameter; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/TagManager/Container.php b/vendor/google/apiclient-services/src/Google/Service/TagManager/Container.php new file mode 100644 index 00000000..1b0eac31 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/TagManager/Container.php @@ -0,0 +1,121 @@ +accountId = $accountId; + } + public function getAccountId() + { + return $this->accountId; + } + public function setContainerId($containerId) + { + $this->containerId = $containerId; + } + public function getContainerId() + { + return $this->containerId; + } + public function setDomainName($domainName) + { + $this->domainName = $domainName; + } + public function getDomainName() + { + return $this->domainName; + } + public function setEnabledBuiltInVariable($enabledBuiltInVariable) + { + $this->enabledBuiltInVariable = $enabledBuiltInVariable; + } + public function getEnabledBuiltInVariable() + { + return $this->enabledBuiltInVariable; + } + public function setFingerprint($fingerprint) + { + $this->fingerprint = $fingerprint; + } + public function getFingerprint() + { + return $this->fingerprint; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setNotes($notes) + { + $this->notes = $notes; + } + public function getNotes() + { + return $this->notes; + } + public function setPublicId($publicId) + { + $this->publicId = $publicId; + } + public function getPublicId() + { + return $this->publicId; + } + public function setTimeZoneCountryId($timeZoneCountryId) + { + $this->timeZoneCountryId = $timeZoneCountryId; + } + public function getTimeZoneCountryId() + { + return $this->timeZoneCountryId; + } + public function setTimeZoneId($timeZoneId) + { + $this->timeZoneId = $timeZoneId; + } + public function getTimeZoneId() + { + return $this->timeZoneId; + } + public function setUsageContext($usageContext) + { + $this->usageContext = $usageContext; + } + public function getUsageContext() + { + return $this->usageContext; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/TagManager/ContainerAccess.php b/vendor/google/apiclient-services/src/Google/Service/TagManager/ContainerAccess.php new file mode 100644 index 00000000..14dffc35 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/TagManager/ContainerAccess.php @@ -0,0 +1,40 @@ +containerId = $containerId; + } + public function getContainerId() + { + return $this->containerId; + } + public function setPermission($permission) + { + $this->permission = $permission; + } + public function getPermission() + { + return $this->permission; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/TagManager/ContainerVersion.php b/vendor/google/apiclient-services/src/Google/Service/TagManager/ContainerVersion.php new file mode 100644 index 00000000..ea14afd3 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/TagManager/ContainerVersion.php @@ -0,0 +1,155 @@ +accountId = $accountId; + } + public function getAccountId() + { + return $this->accountId; + } + public function setContainer(Google_Service_TagManager_Container $container) + { + $this->container = $container; + } + public function getContainer() + { + return $this->container; + } + public function setContainerId($containerId) + { + $this->containerId = $containerId; + } + public function getContainerId() + { + return $this->containerId; + } + public function setContainerVersionId($containerVersionId) + { + $this->containerVersionId = $containerVersionId; + } + public function getContainerVersionId() + { + return $this->containerVersionId; + } + public function setDeleted($deleted) + { + $this->deleted = $deleted; + } + public function getDeleted() + { + return $this->deleted; + } + public function setFingerprint($fingerprint) + { + $this->fingerprint = $fingerprint; + } + public function getFingerprint() + { + return $this->fingerprint; + } + public function setFolder($folder) + { + $this->folder = $folder; + } + public function getFolder() + { + return $this->folder; + } + public function setMacro($macro) + { + $this->macro = $macro; + } + public function getMacro() + { + return $this->macro; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setNotes($notes) + { + $this->notes = $notes; + } + public function getNotes() + { + return $this->notes; + } + public function setRule($rule) + { + $this->rule = $rule; + } + public function getRule() + { + return $this->rule; + } + public function setTag($tag) + { + $this->tag = $tag; + } + public function getTag() + { + return $this->tag; + } + public function setTrigger($trigger) + { + $this->trigger = $trigger; + } + public function getTrigger() + { + return $this->trigger; + } + public function setVariable($variable) + { + $this->variable = $variable; + } + public function getVariable() + { + return $this->variable; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/TagManager/ContainerVersionHeader.php b/vendor/google/apiclient-services/src/Google/Service/TagManager/ContainerVersionHeader.php new file mode 100644 index 00000000..44105c90 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/TagManager/ContainerVersionHeader.php @@ -0,0 +1,111 @@ +accountId = $accountId; + } + public function getAccountId() + { + return $this->accountId; + } + public function setContainerId($containerId) + { + $this->containerId = $containerId; + } + public function getContainerId() + { + return $this->containerId; + } + public function setContainerVersionId($containerVersionId) + { + $this->containerVersionId = $containerVersionId; + } + public function getContainerVersionId() + { + return $this->containerVersionId; + } + public function setDeleted($deleted) + { + $this->deleted = $deleted; + } + public function getDeleted() + { + return $this->deleted; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setNumMacros($numMacros) + { + $this->numMacros = $numMacros; + } + public function getNumMacros() + { + return $this->numMacros; + } + public function setNumRules($numRules) + { + $this->numRules = $numRules; + } + public function getNumRules() + { + return $this->numRules; + } + public function setNumTags($numTags) + { + $this->numTags = $numTags; + } + public function getNumTags() + { + return $this->numTags; + } + public function setNumTriggers($numTriggers) + { + $this->numTriggers = $numTriggers; + } + public function getNumTriggers() + { + return $this->numTriggers; + } + public function setNumVariables($numVariables) + { + $this->numVariables = $numVariables; + } + public function getNumVariables() + { + return $this->numVariables; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/TagManager/CreateContainerVersionRequestVersionOptions.php b/vendor/google/apiclient-services/src/Google/Service/TagManager/CreateContainerVersionRequestVersionOptions.php new file mode 100644 index 00000000..46f73525 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/TagManager/CreateContainerVersionRequestVersionOptions.php @@ -0,0 +1,48 @@ +name = $name; + } + public function getName() + { + return $this->name; + } + public function setNotes($notes) + { + $this->notes = $notes; + } + public function getNotes() + { + return $this->notes; + } + public function setQuickPreview($quickPreview) + { + $this->quickPreview = $quickPreview; + } + public function getQuickPreview() + { + return $this->quickPreview; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/TagManager/CreateContainerVersionResponse.php b/vendor/google/apiclient-services/src/Google/Service/TagManager/CreateContainerVersionResponse.php new file mode 100644 index 00000000..754eed54 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/TagManager/CreateContainerVersionResponse.php @@ -0,0 +1,40 @@ +compilerError = $compilerError; + } + public function getCompilerError() + { + return $this->compilerError; + } + public function setContainerVersion(Google_Service_TagManager_ContainerVersion $containerVersion) + { + $this->containerVersion = $containerVersion; + } + public function getContainerVersion() + { + return $this->containerVersion; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/TagManager/Environment.php b/vendor/google/apiclient-services/src/Google/Service/TagManager/Environment.php new file mode 100644 index 00000000..b4368183 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/TagManager/Environment.php @@ -0,0 +1,129 @@ +accountId = $accountId; + } + public function getAccountId() + { + return $this->accountId; + } + public function setAuthorizationCode($authorizationCode) + { + $this->authorizationCode = $authorizationCode; + } + public function getAuthorizationCode() + { + return $this->authorizationCode; + } + public function setAuthorizationTimestampMs($authorizationTimestampMs) + { + $this->authorizationTimestampMs = $authorizationTimestampMs; + } + public function getAuthorizationTimestampMs() + { + return $this->authorizationTimestampMs; + } + public function setContainerId($containerId) + { + $this->containerId = $containerId; + } + public function getContainerId() + { + return $this->containerId; + } + public function setContainerVersionId($containerVersionId) + { + $this->containerVersionId = $containerVersionId; + } + public function getContainerVersionId() + { + return $this->containerVersionId; + } + public function setDescription($description) + { + $this->description = $description; + } + public function getDescription() + { + return $this->description; + } + public function setEnableDebug($enableDebug) + { + $this->enableDebug = $enableDebug; + } + public function getEnableDebug() + { + return $this->enableDebug; + } + public function setEnvironmentId($environmentId) + { + $this->environmentId = $environmentId; + } + public function getEnvironmentId() + { + return $this->environmentId; + } + public function setFingerprint($fingerprint) + { + $this->fingerprint = $fingerprint; + } + public function getFingerprint() + { + return $this->fingerprint; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } + public function setUrl($url) + { + $this->url = $url; + } + public function getUrl() + { + return $this->url; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/TagManager/Folder.php b/vendor/google/apiclient-services/src/Google/Service/TagManager/Folder.php new file mode 100644 index 00000000..c7de2387 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/TagManager/Folder.php @@ -0,0 +1,66 @@ +accountId = $accountId; + } + public function getAccountId() + { + return $this->accountId; + } + public function setContainerId($containerId) + { + $this->containerId = $containerId; + } + public function getContainerId() + { + return $this->containerId; + } + public function setFingerprint($fingerprint) + { + $this->fingerprint = $fingerprint; + } + public function getFingerprint() + { + return $this->fingerprint; + } + public function setFolderId($folderId) + { + $this->folderId = $folderId; + } + public function getFolderId() + { + return $this->folderId; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/TagManager/FolderEntities.php b/vendor/google/apiclient-services/src/Google/Service/TagManager/FolderEntities.php new file mode 100644 index 00000000..e13ba62e --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/TagManager/FolderEntities.php @@ -0,0 +1,52 @@ +tag = $tag; + } + public function getTag() + { + return $this->tag; + } + public function setTrigger($trigger) + { + $this->trigger = $trigger; + } + public function getTrigger() + { + return $this->trigger; + } + public function setVariable($variable) + { + $this->variable = $variable; + } + public function getVariable() + { + return $this->variable; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/TagManager/ListAccountUsersResponse.php b/vendor/google/apiclient-services/src/Google/Service/TagManager/ListAccountUsersResponse.php new file mode 100644 index 00000000..ea3637ca --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/TagManager/ListAccountUsersResponse.php @@ -0,0 +1,32 @@ +userAccess = $userAccess; + } + public function getUserAccess() + { + return $this->userAccess; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/TagManager/ListAccountsResponse.php b/vendor/google/apiclient-services/src/Google/Service/TagManager/ListAccountsResponse.php new file mode 100644 index 00000000..0b533124 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/TagManager/ListAccountsResponse.php @@ -0,0 +1,32 @@ +accounts = $accounts; + } + public function getAccounts() + { + return $this->accounts; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/TagManager/ListContainerVersionsResponse.php b/vendor/google/apiclient-services/src/Google/Service/TagManager/ListContainerVersionsResponse.php new file mode 100644 index 00000000..278de0b8 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/TagManager/ListContainerVersionsResponse.php @@ -0,0 +1,42 @@ +containerVersion = $containerVersion; + } + public function getContainerVersion() + { + return $this->containerVersion; + } + public function setContainerVersionHeader($containerVersionHeader) + { + $this->containerVersionHeader = $containerVersionHeader; + } + public function getContainerVersionHeader() + { + return $this->containerVersionHeader; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/TagManager/ListContainersResponse.php b/vendor/google/apiclient-services/src/Google/Service/TagManager/ListContainersResponse.php new file mode 100644 index 00000000..7b4f449a --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/TagManager/ListContainersResponse.php @@ -0,0 +1,32 @@ +containers = $containers; + } + public function getContainers() + { + return $this->containers; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/TagManager/ListEnvironmentsResponse.php b/vendor/google/apiclient-services/src/Google/Service/TagManager/ListEnvironmentsResponse.php new file mode 100644 index 00000000..581c1892 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/TagManager/ListEnvironmentsResponse.php @@ -0,0 +1,32 @@ +environments = $environments; + } + public function getEnvironments() + { + return $this->environments; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/TagManager/ListFoldersResponse.php b/vendor/google/apiclient-services/src/Google/Service/TagManager/ListFoldersResponse.php new file mode 100644 index 00000000..8b830d6e --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/TagManager/ListFoldersResponse.php @@ -0,0 +1,32 @@ +folders = $folders; + } + public function getFolders() + { + return $this->folders; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/TagManager/ListTagsResponse.php b/vendor/google/apiclient-services/src/Google/Service/TagManager/ListTagsResponse.php new file mode 100644 index 00000000..95f29bd2 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/TagManager/ListTagsResponse.php @@ -0,0 +1,32 @@ +tags = $tags; + } + public function getTags() + { + return $this->tags; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/TagManager/ListTriggersResponse.php b/vendor/google/apiclient-services/src/Google/Service/TagManager/ListTriggersResponse.php new file mode 100644 index 00000000..fa744c81 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/TagManager/ListTriggersResponse.php @@ -0,0 +1,32 @@ +triggers = $triggers; + } + public function getTriggers() + { + return $this->triggers; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/TagManager/ListVariablesResponse.php b/vendor/google/apiclient-services/src/Google/Service/TagManager/ListVariablesResponse.php new file mode 100644 index 00000000..e72c1f53 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/TagManager/ListVariablesResponse.php @@ -0,0 +1,32 @@ +variables = $variables; + } + public function getVariables() + { + return $this->variables; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/TagManager/Macro.php b/vendor/google/apiclient-services/src/Google/Service/TagManager/Macro.php new file mode 100644 index 00000000..b04c2e45 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/TagManager/Macro.php @@ -0,0 +1,140 @@ +accountId = $accountId; + } + public function getAccountId() + { + return $this->accountId; + } + public function setContainerId($containerId) + { + $this->containerId = $containerId; + } + public function getContainerId() + { + return $this->containerId; + } + public function setDisablingRuleId($disablingRuleId) + { + $this->disablingRuleId = $disablingRuleId; + } + public function getDisablingRuleId() + { + return $this->disablingRuleId; + } + public function setEnablingRuleId($enablingRuleId) + { + $this->enablingRuleId = $enablingRuleId; + } + public function getEnablingRuleId() + { + return $this->enablingRuleId; + } + public function setFingerprint($fingerprint) + { + $this->fingerprint = $fingerprint; + } + public function getFingerprint() + { + return $this->fingerprint; + } + public function setMacroId($macroId) + { + $this->macroId = $macroId; + } + public function getMacroId() + { + return $this->macroId; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setNotes($notes) + { + $this->notes = $notes; + } + public function getNotes() + { + return $this->notes; + } + public function setParameter($parameter) + { + $this->parameter = $parameter; + } + public function getParameter() + { + return $this->parameter; + } + public function setParentFolderId($parentFolderId) + { + $this->parentFolderId = $parentFolderId; + } + public function getParentFolderId() + { + return $this->parentFolderId; + } + public function setScheduleEndMs($scheduleEndMs) + { + $this->scheduleEndMs = $scheduleEndMs; + } + public function getScheduleEndMs() + { + return $this->scheduleEndMs; + } + public function setScheduleStartMs($scheduleStartMs) + { + $this->scheduleStartMs = $scheduleStartMs; + } + public function getScheduleStartMs() + { + return $this->scheduleStartMs; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/TagManager/Parameter.php b/vendor/google/apiclient-services/src/Google/Service/TagManager/Parameter.php new file mode 100644 index 00000000..6bb3be77 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/TagManager/Parameter.php @@ -0,0 +1,69 @@ +key = $key; + } + public function getKey() + { + return $this->key; + } + public function setList($list) + { + $this->list = $list; + } + public function getList() + { + return $this->list; + } + public function setMap($map) + { + $this->map = $map; + } + public function getMap() + { + return $this->map; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } + public function setValue($value) + { + $this->value = $value; + } + public function getValue() + { + return $this->value; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/TagManager/PublishContainerVersionResponse.php b/vendor/google/apiclient-services/src/Google/Service/TagManager/PublishContainerVersionResponse.php new file mode 100644 index 00000000..673ea70c --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/TagManager/PublishContainerVersionResponse.php @@ -0,0 +1,40 @@ +compilerError = $compilerError; + } + public function getCompilerError() + { + return $this->compilerError; + } + public function setContainerVersion(Google_Service_TagManager_ContainerVersion $containerVersion) + { + $this->containerVersion = $containerVersion; + } + public function getContainerVersion() + { + return $this->containerVersion; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/TagManager/Resource/Accounts.php b/vendor/google/apiclient-services/src/Google/Service/TagManager/Resource/Accounts.php new file mode 100644 index 00000000..1a649394 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/TagManager/Resource/Accounts.php @@ -0,0 +1,70 @@ + + * $tagmanagerService = new Google_Service_TagManager(...); + * $accounts = $tagmanagerService->accounts; + * + */ +class Google_Service_TagManager_Resource_Accounts extends Google_Service_Resource +{ + /** + * Gets a GTM Account. (accounts.get) + * + * @param string $accountId The GTM Account ID. + * @param array $optParams Optional parameters. + * @return Google_Service_TagManager_Account + */ + public function get($accountId, $optParams = array()) + { + $params = array('accountId' => $accountId); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_TagManager_Account"); + } + /** + * Lists all GTM Accounts that a user has access to. (accounts.listAccounts) + * + * @param array $optParams Optional parameters. + * @return Google_Service_TagManager_ListAccountsResponse + */ + public function listAccounts($optParams = array()) + { + $params = array(); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_TagManager_ListAccountsResponse"); + } + /** + * Updates a GTM Account. (accounts.update) + * + * @param string $accountId The GTM Account ID. + * @param Google_Service_TagManager_Account $postBody + * @param array $optParams Optional parameters. + * + * @opt_param string fingerprint When provided, this fingerprint must match the + * fingerprint of the account in storage. + * @return Google_Service_TagManager_Account + */ + public function update($accountId, Google_Service_TagManager_Account $postBody, $optParams = array()) + { + $params = array('accountId' => $accountId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('update', array($params), "Google_Service_TagManager_Account"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/TagManager/Resource/AccountsContainers.php b/vendor/google/apiclient-services/src/Google/Service/TagManager/Resource/AccountsContainers.php new file mode 100644 index 00000000..9da840ac --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/TagManager/Resource/AccountsContainers.php @@ -0,0 +1,101 @@ + + * $tagmanagerService = new Google_Service_TagManager(...); + * $containers = $tagmanagerService->containers; + * + */ +class Google_Service_TagManager_Resource_AccountsContainers extends Google_Service_Resource +{ + /** + * Creates a Container. (containers.create) + * + * @param string $accountId The GTM Account ID. + * @param Google_Service_TagManager_Container $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_TagManager_Container + */ + public function create($accountId, Google_Service_TagManager_Container $postBody, $optParams = array()) + { + $params = array('accountId' => $accountId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('create', array($params), "Google_Service_TagManager_Container"); + } + /** + * Deletes a Container. (containers.delete) + * + * @param string $accountId The GTM Account ID. + * @param string $containerId The GTM Container ID. + * @param array $optParams Optional parameters. + */ + public function delete($accountId, $containerId, $optParams = array()) + { + $params = array('accountId' => $accountId, 'containerId' => $containerId); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params)); + } + /** + * Gets a Container. (containers.get) + * + * @param string $accountId The GTM Account ID. + * @param string $containerId The GTM Container ID. + * @param array $optParams Optional parameters. + * @return Google_Service_TagManager_Container + */ + public function get($accountId, $containerId, $optParams = array()) + { + $params = array('accountId' => $accountId, 'containerId' => $containerId); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_TagManager_Container"); + } + /** + * Lists all Containers that belongs to a GTM Account. + * (containers.listAccountsContainers) + * + * @param string $accountId The GTM Account ID. + * @param array $optParams Optional parameters. + * @return Google_Service_TagManager_ListContainersResponse + */ + public function listAccountsContainers($accountId, $optParams = array()) + { + $params = array('accountId' => $accountId); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_TagManager_ListContainersResponse"); + } + /** + * Updates a Container. (containers.update) + * + * @param string $accountId The GTM Account ID. + * @param string $containerId The GTM Container ID. + * @param Google_Service_TagManager_Container $postBody + * @param array $optParams Optional parameters. + * + * @opt_param string fingerprint When provided, this fingerprint must match the + * fingerprint of the container in storage. + * @return Google_Service_TagManager_Container + */ + public function update($accountId, $containerId, Google_Service_TagManager_Container $postBody, $optParams = array()) + { + $params = array('accountId' => $accountId, 'containerId' => $containerId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('update', array($params), "Google_Service_TagManager_Container"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/TagManager/Resource/AccountsContainersEnvironments.php b/vendor/google/apiclient-services/src/Google/Service/TagManager/Resource/AccountsContainersEnvironments.php new file mode 100644 index 00000000..368f8a2e --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/TagManager/Resource/AccountsContainersEnvironments.php @@ -0,0 +1,126 @@ + + * $tagmanagerService = new Google_Service_TagManager(...); + * $environments = $tagmanagerService->environments; + * + */ +class Google_Service_TagManager_Resource_AccountsContainersEnvironments extends Google_Service_Resource +{ + /** + * Creates a GTM Environment. (environments.create) + * + * @param string $accountId The GTM Account ID. + * @param string $containerId The GTM Container ID. + * @param Google_Service_TagManager_Environment $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_TagManager_Environment + */ + public function create($accountId, $containerId, Google_Service_TagManager_Environment $postBody, $optParams = array()) + { + $params = array('accountId' => $accountId, 'containerId' => $containerId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('create', array($params), "Google_Service_TagManager_Environment"); + } + /** + * Deletes a GTM Environment. (environments.delete) + * + * @param string $accountId The GTM Account ID. + * @param string $containerId The GTM Container ID. + * @param string $environmentId The GTM Environment ID. + * @param array $optParams Optional parameters. + */ + public function delete($accountId, $containerId, $environmentId, $optParams = array()) + { + $params = array('accountId' => $accountId, 'containerId' => $containerId, 'environmentId' => $environmentId); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params)); + } + /** + * Gets a GTM Environment. (environments.get) + * + * @param string $accountId The GTM Account ID. + * @param string $containerId The GTM Container ID. + * @param string $environmentId The GTM Environment ID. + * @param array $optParams Optional parameters. + * @return Google_Service_TagManager_Environment + */ + public function get($accountId, $containerId, $environmentId, $optParams = array()) + { + $params = array('accountId' => $accountId, 'containerId' => $containerId, 'environmentId' => $environmentId); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_TagManager_Environment"); + } + /** + * Lists all GTM Environments of a GTM Container. + * (environments.listAccountsContainersEnvironments) + * + * @param string $accountId The GTM Account ID. + * @param string $containerId The GTM Container ID. + * @param array $optParams Optional parameters. + * @return Google_Service_TagManager_ListEnvironmentsResponse + */ + public function listAccountsContainersEnvironments($accountId, $containerId, $optParams = array()) + { + $params = array('accountId' => $accountId, 'containerId' => $containerId); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_TagManager_ListEnvironmentsResponse"); + } + /** + * Updates a GTM Environment. This method supports patch semantics. + * (environments.patch) + * + * @param string $accountId The GTM Account ID. + * @param string $containerId The GTM Container ID. + * @param string $environmentId The GTM Environment ID. + * @param Google_Service_TagManager_Environment $postBody + * @param array $optParams Optional parameters. + * + * @opt_param string fingerprint When provided, this fingerprint must match the + * fingerprint of the environment in storage. + * @return Google_Service_TagManager_Environment + */ + public function patch($accountId, $containerId, $environmentId, Google_Service_TagManager_Environment $postBody, $optParams = array()) + { + $params = array('accountId' => $accountId, 'containerId' => $containerId, 'environmentId' => $environmentId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('patch', array($params), "Google_Service_TagManager_Environment"); + } + /** + * Updates a GTM Environment. (environments.update) + * + * @param string $accountId The GTM Account ID. + * @param string $containerId The GTM Container ID. + * @param string $environmentId The GTM Environment ID. + * @param Google_Service_TagManager_Environment $postBody + * @param array $optParams Optional parameters. + * + * @opt_param string fingerprint When provided, this fingerprint must match the + * fingerprint of the environment in storage. + * @return Google_Service_TagManager_Environment + */ + public function update($accountId, $containerId, $environmentId, Google_Service_TagManager_Environment $postBody, $optParams = array()) + { + $params = array('accountId' => $accountId, 'containerId' => $containerId, 'environmentId' => $environmentId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('update', array($params), "Google_Service_TagManager_Environment"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/TagManager/Resource/AccountsContainersFolders.php b/vendor/google/apiclient-services/src/Google/Service/TagManager/Resource/AccountsContainersFolders.php new file mode 100644 index 00000000..14dc80ca --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/TagManager/Resource/AccountsContainersFolders.php @@ -0,0 +1,105 @@ + + * $tagmanagerService = new Google_Service_TagManager(...); + * $folders = $tagmanagerService->folders; + * + */ +class Google_Service_TagManager_Resource_AccountsContainersFolders extends Google_Service_Resource +{ + /** + * Creates a GTM Folder. (folders.create) + * + * @param string $accountId The GTM Account ID. + * @param string $containerId The GTM Container ID. + * @param Google_Service_TagManager_Folder $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_TagManager_Folder + */ + public function create($accountId, $containerId, Google_Service_TagManager_Folder $postBody, $optParams = array()) + { + $params = array('accountId' => $accountId, 'containerId' => $containerId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('create', array($params), "Google_Service_TagManager_Folder"); + } + /** + * Deletes a GTM Folder. (folders.delete) + * + * @param string $accountId The GTM Account ID. + * @param string $containerId The GTM Container ID. + * @param string $folderId The GTM Folder ID. + * @param array $optParams Optional parameters. + */ + public function delete($accountId, $containerId, $folderId, $optParams = array()) + { + $params = array('accountId' => $accountId, 'containerId' => $containerId, 'folderId' => $folderId); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params)); + } + /** + * Gets a GTM Folder. (folders.get) + * + * @param string $accountId The GTM Account ID. + * @param string $containerId The GTM Container ID. + * @param string $folderId The GTM Folder ID. + * @param array $optParams Optional parameters. + * @return Google_Service_TagManager_Folder + */ + public function get($accountId, $containerId, $folderId, $optParams = array()) + { + $params = array('accountId' => $accountId, 'containerId' => $containerId, 'folderId' => $folderId); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_TagManager_Folder"); + } + /** + * Lists all GTM Folders of a Container. (folders.listAccountsContainersFolders) + * + * @param string $accountId The GTM Account ID. + * @param string $containerId The GTM Container ID. + * @param array $optParams Optional parameters. + * @return Google_Service_TagManager_ListFoldersResponse + */ + public function listAccountsContainersFolders($accountId, $containerId, $optParams = array()) + { + $params = array('accountId' => $accountId, 'containerId' => $containerId); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_TagManager_ListFoldersResponse"); + } + /** + * Updates a GTM Folder. (folders.update) + * + * @param string $accountId The GTM Account ID. + * @param string $containerId The GTM Container ID. + * @param string $folderId The GTM Folder ID. + * @param Google_Service_TagManager_Folder $postBody + * @param array $optParams Optional parameters. + * + * @opt_param string fingerprint When provided, this fingerprint must match the + * fingerprint of the folder in storage. + * @return Google_Service_TagManager_Folder + */ + public function update($accountId, $containerId, $folderId, Google_Service_TagManager_Folder $postBody, $optParams = array()) + { + $params = array('accountId' => $accountId, 'containerId' => $containerId, 'folderId' => $folderId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('update', array($params), "Google_Service_TagManager_Folder"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/TagManager/Resource/AccountsContainersFoldersEntities.php b/vendor/google/apiclient-services/src/Google/Service/TagManager/Resource/AccountsContainersFoldersEntities.php new file mode 100644 index 00000000..cc587718 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/TagManager/Resource/AccountsContainersFoldersEntities.php @@ -0,0 +1,44 @@ + + * $tagmanagerService = new Google_Service_TagManager(...); + * $entities = $tagmanagerService->entities; + * + */ +class Google_Service_TagManager_Resource_AccountsContainersFoldersEntities extends Google_Service_Resource +{ + /** + * List all entities in a GTM Folder. + * (entities.listAccountsContainersFoldersEntities) + * + * @param string $accountId The GTM Account ID. + * @param string $containerId The GTM Container ID. + * @param string $folderId The GTM Folder ID. + * @param array $optParams Optional parameters. + * @return Google_Service_TagManager_FolderEntities + */ + public function listAccountsContainersFoldersEntities($accountId, $containerId, $folderId, $optParams = array()) + { + $params = array('accountId' => $accountId, 'containerId' => $containerId, 'folderId' => $folderId); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_TagManager_FolderEntities"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/TagManager/Resource/AccountsContainersMoveFolders.php b/vendor/google/apiclient-services/src/Google/Service/TagManager/Resource/AccountsContainersMoveFolders.php new file mode 100644 index 00000000..7e18b61c --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/TagManager/Resource/AccountsContainersMoveFolders.php @@ -0,0 +1,47 @@ + + * $tagmanagerService = new Google_Service_TagManager(...); + * $move_folders = $tagmanagerService->move_folders; + * + */ +class Google_Service_TagManager_Resource_AccountsContainersMoveFolders extends Google_Service_Resource +{ + /** + * Moves entities to a GTM Folder. (move_folders.update) + * + * @param string $accountId The GTM Account ID. + * @param string $containerId The GTM Container ID. + * @param string $folderId The GTM Folder ID. + * @param Google_Service_TagManager_Folder $postBody + * @param array $optParams Optional parameters. + * + * @opt_param string tagId The tags to be moved to the folder. + * @opt_param string triggerId The triggers to be moved to the folder. + * @opt_param string variableId The variables to be moved to the folder. + */ + public function update($accountId, $containerId, $folderId, Google_Service_TagManager_Folder $postBody, $optParams = array()) + { + $params = array('accountId' => $accountId, 'containerId' => $containerId, 'folderId' => $folderId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('update', array($params)); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/TagManager/Resource/AccountsContainersReauthorizeEnvironments.php b/vendor/google/apiclient-services/src/Google/Service/TagManager/Resource/AccountsContainersReauthorizeEnvironments.php new file mode 100644 index 00000000..7d7be2a1 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/TagManager/Resource/AccountsContainersReauthorizeEnvironments.php @@ -0,0 +1,45 @@ + + * $tagmanagerService = new Google_Service_TagManager(...); + * $reauthorize_environments = $tagmanagerService->reauthorize_environments; + * + */ +class Google_Service_TagManager_Resource_AccountsContainersReauthorizeEnvironments extends Google_Service_Resource +{ + /** + * Re-generates the authorization code for a GTM Environment. + * (reauthorize_environments.update) + * + * @param string $accountId The GTM Account ID. + * @param string $containerId The GTM Container ID. + * @param string $environmentId The GTM Environment ID. + * @param Google_Service_TagManager_Environment $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_TagManager_Environment + */ + public function update($accountId, $containerId, $environmentId, Google_Service_TagManager_Environment $postBody, $optParams = array()) + { + $params = array('accountId' => $accountId, 'containerId' => $containerId, 'environmentId' => $environmentId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('update', array($params), "Google_Service_TagManager_Environment"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/TagManager/Resource/AccountsContainersTags.php b/vendor/google/apiclient-services/src/Google/Service/TagManager/Resource/AccountsContainersTags.php new file mode 100644 index 00000000..f1ca469e --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/TagManager/Resource/AccountsContainersTags.php @@ -0,0 +1,105 @@ + + * $tagmanagerService = new Google_Service_TagManager(...); + * $tags = $tagmanagerService->tags; + * + */ +class Google_Service_TagManager_Resource_AccountsContainersTags extends Google_Service_Resource +{ + /** + * Creates a GTM Tag. (tags.create) + * + * @param string $accountId The GTM Account ID. + * @param string $containerId The GTM Container ID. + * @param Google_Service_TagManager_Tag $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_TagManager_Tag + */ + public function create($accountId, $containerId, Google_Service_TagManager_Tag $postBody, $optParams = array()) + { + $params = array('accountId' => $accountId, 'containerId' => $containerId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('create', array($params), "Google_Service_TagManager_Tag"); + } + /** + * Deletes a GTM Tag. (tags.delete) + * + * @param string $accountId The GTM Account ID. + * @param string $containerId The GTM Container ID. + * @param string $tagId The GTM Tag ID. + * @param array $optParams Optional parameters. + */ + public function delete($accountId, $containerId, $tagId, $optParams = array()) + { + $params = array('accountId' => $accountId, 'containerId' => $containerId, 'tagId' => $tagId); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params)); + } + /** + * Gets a GTM Tag. (tags.get) + * + * @param string $accountId The GTM Account ID. + * @param string $containerId The GTM Container ID. + * @param string $tagId The GTM Tag ID. + * @param array $optParams Optional parameters. + * @return Google_Service_TagManager_Tag + */ + public function get($accountId, $containerId, $tagId, $optParams = array()) + { + $params = array('accountId' => $accountId, 'containerId' => $containerId, 'tagId' => $tagId); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_TagManager_Tag"); + } + /** + * Lists all GTM Tags of a Container. (tags.listAccountsContainersTags) + * + * @param string $accountId The GTM Account ID. + * @param string $containerId The GTM Container ID. + * @param array $optParams Optional parameters. + * @return Google_Service_TagManager_ListTagsResponse + */ + public function listAccountsContainersTags($accountId, $containerId, $optParams = array()) + { + $params = array('accountId' => $accountId, 'containerId' => $containerId); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_TagManager_ListTagsResponse"); + } + /** + * Updates a GTM Tag. (tags.update) + * + * @param string $accountId The GTM Account ID. + * @param string $containerId The GTM Container ID. + * @param string $tagId The GTM Tag ID. + * @param Google_Service_TagManager_Tag $postBody + * @param array $optParams Optional parameters. + * + * @opt_param string fingerprint When provided, this fingerprint must match the + * fingerprint of the tag in storage. + * @return Google_Service_TagManager_Tag + */ + public function update($accountId, $containerId, $tagId, Google_Service_TagManager_Tag $postBody, $optParams = array()) + { + $params = array('accountId' => $accountId, 'containerId' => $containerId, 'tagId' => $tagId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('update', array($params), "Google_Service_TagManager_Tag"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/TagManager/Resource/AccountsContainersTriggers.php b/vendor/google/apiclient-services/src/Google/Service/TagManager/Resource/AccountsContainersTriggers.php new file mode 100644 index 00000000..bcd55b2d --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/TagManager/Resource/AccountsContainersTriggers.php @@ -0,0 +1,106 @@ + + * $tagmanagerService = new Google_Service_TagManager(...); + * $triggers = $tagmanagerService->triggers; + * + */ +class Google_Service_TagManager_Resource_AccountsContainersTriggers extends Google_Service_Resource +{ + /** + * Creates a GTM Trigger. (triggers.create) + * + * @param string $accountId The GTM Account ID. + * @param string $containerId The GTM Container ID. + * @param Google_Service_TagManager_Trigger $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_TagManager_Trigger + */ + public function create($accountId, $containerId, Google_Service_TagManager_Trigger $postBody, $optParams = array()) + { + $params = array('accountId' => $accountId, 'containerId' => $containerId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('create', array($params), "Google_Service_TagManager_Trigger"); + } + /** + * Deletes a GTM Trigger. (triggers.delete) + * + * @param string $accountId The GTM Account ID. + * @param string $containerId The GTM Container ID. + * @param string $triggerId The GTM Trigger ID. + * @param array $optParams Optional parameters. + */ + public function delete($accountId, $containerId, $triggerId, $optParams = array()) + { + $params = array('accountId' => $accountId, 'containerId' => $containerId, 'triggerId' => $triggerId); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params)); + } + /** + * Gets a GTM Trigger. (triggers.get) + * + * @param string $accountId The GTM Account ID. + * @param string $containerId The GTM Container ID. + * @param string $triggerId The GTM Trigger ID. + * @param array $optParams Optional parameters. + * @return Google_Service_TagManager_Trigger + */ + public function get($accountId, $containerId, $triggerId, $optParams = array()) + { + $params = array('accountId' => $accountId, 'containerId' => $containerId, 'triggerId' => $triggerId); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_TagManager_Trigger"); + } + /** + * Lists all GTM Triggers of a Container. + * (triggers.listAccountsContainersTriggers) + * + * @param string $accountId The GTM Account ID. + * @param string $containerId The GTM Container ID. + * @param array $optParams Optional parameters. + * @return Google_Service_TagManager_ListTriggersResponse + */ + public function listAccountsContainersTriggers($accountId, $containerId, $optParams = array()) + { + $params = array('accountId' => $accountId, 'containerId' => $containerId); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_TagManager_ListTriggersResponse"); + } + /** + * Updates a GTM Trigger. (triggers.update) + * + * @param string $accountId The GTM Account ID. + * @param string $containerId The GTM Container ID. + * @param string $triggerId The GTM Trigger ID. + * @param Google_Service_TagManager_Trigger $postBody + * @param array $optParams Optional parameters. + * + * @opt_param string fingerprint When provided, this fingerprint must match the + * fingerprint of the trigger in storage. + * @return Google_Service_TagManager_Trigger + */ + public function update($accountId, $containerId, $triggerId, Google_Service_TagManager_Trigger $postBody, $optParams = array()) + { + $params = array('accountId' => $accountId, 'containerId' => $containerId, 'triggerId' => $triggerId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('update', array($params), "Google_Service_TagManager_Trigger"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/TagManager/Resource/AccountsContainersVariables.php b/vendor/google/apiclient-services/src/Google/Service/TagManager/Resource/AccountsContainersVariables.php new file mode 100644 index 00000000..52a8da84 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/TagManager/Resource/AccountsContainersVariables.php @@ -0,0 +1,106 @@ + + * $tagmanagerService = new Google_Service_TagManager(...); + * $variables = $tagmanagerService->variables; + * + */ +class Google_Service_TagManager_Resource_AccountsContainersVariables extends Google_Service_Resource +{ + /** + * Creates a GTM Variable. (variables.create) + * + * @param string $accountId The GTM Account ID. + * @param string $containerId The GTM Container ID. + * @param Google_Service_TagManager_Variable $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_TagManager_Variable + */ + public function create($accountId, $containerId, Google_Service_TagManager_Variable $postBody, $optParams = array()) + { + $params = array('accountId' => $accountId, 'containerId' => $containerId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('create', array($params), "Google_Service_TagManager_Variable"); + } + /** + * Deletes a GTM Variable. (variables.delete) + * + * @param string $accountId The GTM Account ID. + * @param string $containerId The GTM Container ID. + * @param string $variableId The GTM Variable ID. + * @param array $optParams Optional parameters. + */ + public function delete($accountId, $containerId, $variableId, $optParams = array()) + { + $params = array('accountId' => $accountId, 'containerId' => $containerId, 'variableId' => $variableId); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params)); + } + /** + * Gets a GTM Variable. (variables.get) + * + * @param string $accountId The GTM Account ID. + * @param string $containerId The GTM Container ID. + * @param string $variableId The GTM Variable ID. + * @param array $optParams Optional parameters. + * @return Google_Service_TagManager_Variable + */ + public function get($accountId, $containerId, $variableId, $optParams = array()) + { + $params = array('accountId' => $accountId, 'containerId' => $containerId, 'variableId' => $variableId); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_TagManager_Variable"); + } + /** + * Lists all GTM Variables of a Container. + * (variables.listAccountsContainersVariables) + * + * @param string $accountId The GTM Account ID. + * @param string $containerId The GTM Container ID. + * @param array $optParams Optional parameters. + * @return Google_Service_TagManager_ListVariablesResponse + */ + public function listAccountsContainersVariables($accountId, $containerId, $optParams = array()) + { + $params = array('accountId' => $accountId, 'containerId' => $containerId); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_TagManager_ListVariablesResponse"); + } + /** + * Updates a GTM Variable. (variables.update) + * + * @param string $accountId The GTM Account ID. + * @param string $containerId The GTM Container ID. + * @param string $variableId The GTM Variable ID. + * @param Google_Service_TagManager_Variable $postBody + * @param array $optParams Optional parameters. + * + * @opt_param string fingerprint When provided, this fingerprint must match the + * fingerprint of the variable in storage. + * @return Google_Service_TagManager_Variable + */ + public function update($accountId, $containerId, $variableId, Google_Service_TagManager_Variable $postBody, $optParams = array()) + { + $params = array('accountId' => $accountId, 'containerId' => $containerId, 'variableId' => $variableId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('update', array($params), "Google_Service_TagManager_Variable"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/TagManager/Resource/AccountsContainersVersions.php b/vendor/google/apiclient-services/src/Google/Service/TagManager/Resource/AccountsContainersVersions.php new file mode 100644 index 00000000..3ed0e924 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/TagManager/Resource/AccountsContainersVersions.php @@ -0,0 +1,162 @@ + + * $tagmanagerService = new Google_Service_TagManager(...); + * $versions = $tagmanagerService->versions; + * + */ +class Google_Service_TagManager_Resource_AccountsContainersVersions extends Google_Service_Resource +{ + /** + * Creates a Container Version. (versions.create) + * + * @param string $accountId The GTM Account ID. + * @param string $containerId The GTM Container ID. + * @param Google_Service_TagManager_CreateContainerVersionRequestVersionOptions $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_TagManager_CreateContainerVersionResponse + */ + public function create($accountId, $containerId, Google_Service_TagManager_CreateContainerVersionRequestVersionOptions $postBody, $optParams = array()) + { + $params = array('accountId' => $accountId, 'containerId' => $containerId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('create', array($params), "Google_Service_TagManager_CreateContainerVersionResponse"); + } + /** + * Deletes a Container Version. (versions.delete) + * + * @param string $accountId The GTM Account ID. + * @param string $containerId The GTM Container ID. + * @param string $containerVersionId The GTM Container Version ID. + * @param array $optParams Optional parameters. + */ + public function delete($accountId, $containerId, $containerVersionId, $optParams = array()) + { + $params = array('accountId' => $accountId, 'containerId' => $containerId, 'containerVersionId' => $containerVersionId); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params)); + } + /** + * Gets a Container Version. (versions.get) + * + * @param string $accountId The GTM Account ID. + * @param string $containerId The GTM Container ID. + * @param string $containerVersionId The GTM Container Version ID. Specify + * published to retrieve the currently published version. + * @param array $optParams Optional parameters. + * @return Google_Service_TagManager_ContainerVersion + */ + public function get($accountId, $containerId, $containerVersionId, $optParams = array()) + { + $params = array('accountId' => $accountId, 'containerId' => $containerId, 'containerVersionId' => $containerVersionId); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_TagManager_ContainerVersion"); + } + /** + * Lists all Container Versions of a GTM Container. + * (versions.listAccountsContainersVersions) + * + * @param string $accountId The GTM Account ID. + * @param string $containerId The GTM Container ID. + * @param array $optParams Optional parameters. + * + * @opt_param bool headers Retrieve headers only when true. + * @opt_param bool includeDeleted Also retrieve deleted (archived) versions when + * true. + * @return Google_Service_TagManager_ListContainerVersionsResponse + */ + public function listAccountsContainersVersions($accountId, $containerId, $optParams = array()) + { + $params = array('accountId' => $accountId, 'containerId' => $containerId); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_TagManager_ListContainerVersionsResponse"); + } + /** + * Publishes a Container Version. (versions.publish) + * + * @param string $accountId The GTM Account ID. + * @param string $containerId The GTM Container ID. + * @param string $containerVersionId The GTM Container Version ID. + * @param array $optParams Optional parameters. + * + * @opt_param string fingerprint When provided, this fingerprint must match the + * fingerprint of the container version in storage. + * @return Google_Service_TagManager_PublishContainerVersionResponse + */ + public function publish($accountId, $containerId, $containerVersionId, $optParams = array()) + { + $params = array('accountId' => $accountId, 'containerId' => $containerId, 'containerVersionId' => $containerVersionId); + $params = array_merge($params, $optParams); + return $this->call('publish', array($params), "Google_Service_TagManager_PublishContainerVersionResponse"); + } + /** + * Restores a Container Version. This will overwrite the container's current + * configuration (including its variables, triggers and tags). The operation + * will not have any effect on the version that is being served (i.e. the + * published version). (versions.restore) + * + * @param string $accountId The GTM Account ID. + * @param string $containerId The GTM Container ID. + * @param string $containerVersionId The GTM Container Version ID. + * @param array $optParams Optional parameters. + * @return Google_Service_TagManager_ContainerVersion + */ + public function restore($accountId, $containerId, $containerVersionId, $optParams = array()) + { + $params = array('accountId' => $accountId, 'containerId' => $containerId, 'containerVersionId' => $containerVersionId); + $params = array_merge($params, $optParams); + return $this->call('restore', array($params), "Google_Service_TagManager_ContainerVersion"); + } + /** + * Undeletes a Container Version. (versions.undelete) + * + * @param string $accountId The GTM Account ID. + * @param string $containerId The GTM Container ID. + * @param string $containerVersionId The GTM Container Version ID. + * @param array $optParams Optional parameters. + * @return Google_Service_TagManager_ContainerVersion + */ + public function undelete($accountId, $containerId, $containerVersionId, $optParams = array()) + { + $params = array('accountId' => $accountId, 'containerId' => $containerId, 'containerVersionId' => $containerVersionId); + $params = array_merge($params, $optParams); + return $this->call('undelete', array($params), "Google_Service_TagManager_ContainerVersion"); + } + /** + * Updates a Container Version. (versions.update) + * + * @param string $accountId The GTM Account ID. + * @param string $containerId The GTM Container ID. + * @param string $containerVersionId The GTM Container Version ID. + * @param Google_Service_TagManager_ContainerVersion $postBody + * @param array $optParams Optional parameters. + * + * @opt_param string fingerprint When provided, this fingerprint must match the + * fingerprint of the container version in storage. + * @return Google_Service_TagManager_ContainerVersion + */ + public function update($accountId, $containerId, $containerVersionId, Google_Service_TagManager_ContainerVersion $postBody, $optParams = array()) + { + $params = array('accountId' => $accountId, 'containerId' => $containerId, 'containerVersionId' => $containerVersionId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('update', array($params), "Google_Service_TagManager_ContainerVersion"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/TagManager/Resource/AccountsPermissions.php b/vendor/google/apiclient-services/src/Google/Service/TagManager/Resource/AccountsPermissions.php new file mode 100644 index 00000000..009a2d65 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/TagManager/Resource/AccountsPermissions.php @@ -0,0 +1,101 @@ + + * $tagmanagerService = new Google_Service_TagManager(...); + * $permissions = $tagmanagerService->permissions; + * + */ +class Google_Service_TagManager_Resource_AccountsPermissions extends Google_Service_Resource +{ + /** + * Creates a user's Account & Container Permissions. (permissions.create) + * + * @param string $accountId The GTM Account ID. + * @param Google_Service_TagManager_UserAccess $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_TagManager_UserAccess + */ + public function create($accountId, Google_Service_TagManager_UserAccess $postBody, $optParams = array()) + { + $params = array('accountId' => $accountId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('create', array($params), "Google_Service_TagManager_UserAccess"); + } + /** + * Removes a user from the account, revoking access to it and all of its + * containers. (permissions.delete) + * + * @param string $accountId The GTM Account ID. + * @param string $permissionId The GTM User ID. + * @param array $optParams Optional parameters. + */ + public function delete($accountId, $permissionId, $optParams = array()) + { + $params = array('accountId' => $accountId, 'permissionId' => $permissionId); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params)); + } + /** + * Gets a user's Account & Container Permissions. (permissions.get) + * + * @param string $accountId The GTM Account ID. + * @param string $permissionId The GTM User ID. + * @param array $optParams Optional parameters. + * @return Google_Service_TagManager_UserAccess + */ + public function get($accountId, $permissionId, $optParams = array()) + { + $params = array('accountId' => $accountId, 'permissionId' => $permissionId); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_TagManager_UserAccess"); + } + /** + * List all users that have access to the account along with Account and + * Container Permissions granted to each of them. + * (permissions.listAccountsPermissions) + * + * @param string $accountId The GTM Account ID. @required + * tagmanager.accounts.permissions.list + * @param array $optParams Optional parameters. + * @return Google_Service_TagManager_ListAccountUsersResponse + */ + public function listAccountsPermissions($accountId, $optParams = array()) + { + $params = array('accountId' => $accountId); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_TagManager_ListAccountUsersResponse"); + } + /** + * Updates a user's Account & Container Permissions. (permissions.update) + * + * @param string $accountId The GTM Account ID. + * @param string $permissionId The GTM User ID. + * @param Google_Service_TagManager_UserAccess $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_TagManager_UserAccess + */ + public function update($accountId, $permissionId, Google_Service_TagManager_UserAccess $postBody, $optParams = array()) + { + $params = array('accountId' => $accountId, 'permissionId' => $permissionId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('update', array($params), "Google_Service_TagManager_UserAccess"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/TagManager/Rule.php b/vendor/google/apiclient-services/src/Google/Service/TagManager/Rule.php new file mode 100644 index 00000000..ef38ca26 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/TagManager/Rule.php @@ -0,0 +1,86 @@ +accountId = $accountId; + } + public function getAccountId() + { + return $this->accountId; + } + public function setCondition($condition) + { + $this->condition = $condition; + } + public function getCondition() + { + return $this->condition; + } + public function setContainerId($containerId) + { + $this->containerId = $containerId; + } + public function getContainerId() + { + return $this->containerId; + } + public function setFingerprint($fingerprint) + { + $this->fingerprint = $fingerprint; + } + public function getFingerprint() + { + return $this->fingerprint; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setNotes($notes) + { + $this->notes = $notes; + } + public function getNotes() + { + return $this->notes; + } + public function setRuleId($ruleId) + { + $this->ruleId = $ruleId; + } + public function getRuleId() + { + return $this->ruleId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/TagManager/SetupTag.php b/vendor/google/apiclient-services/src/Google/Service/TagManager/SetupTag.php new file mode 100644 index 00000000..98c24d66 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/TagManager/SetupTag.php @@ -0,0 +1,39 @@ +stopOnSetupFailure = $stopOnSetupFailure; + } + public function getStopOnSetupFailure() + { + return $this->stopOnSetupFailure; + } + public function setTagName($tagName) + { + $this->tagName = $tagName; + } + public function getTagName() + { + return $this->tagName; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/TagManager/Tag.php b/vendor/google/apiclient-services/src/Google/Service/TagManager/Tag.php new file mode 100644 index 00000000..92a18b72 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/TagManager/Tag.php @@ -0,0 +1,206 @@ +accountId = $accountId; + } + public function getAccountId() + { + return $this->accountId; + } + public function setBlockingRuleId($blockingRuleId) + { + $this->blockingRuleId = $blockingRuleId; + } + public function getBlockingRuleId() + { + return $this->blockingRuleId; + } + public function setBlockingTriggerId($blockingTriggerId) + { + $this->blockingTriggerId = $blockingTriggerId; + } + public function getBlockingTriggerId() + { + return $this->blockingTriggerId; + } + public function setContainerId($containerId) + { + $this->containerId = $containerId; + } + public function getContainerId() + { + return $this->containerId; + } + public function setFingerprint($fingerprint) + { + $this->fingerprint = $fingerprint; + } + public function getFingerprint() + { + return $this->fingerprint; + } + public function setFiringRuleId($firingRuleId) + { + $this->firingRuleId = $firingRuleId; + } + public function getFiringRuleId() + { + return $this->firingRuleId; + } + public function setFiringTriggerId($firingTriggerId) + { + $this->firingTriggerId = $firingTriggerId; + } + public function getFiringTriggerId() + { + return $this->firingTriggerId; + } + public function setLiveOnly($liveOnly) + { + $this->liveOnly = $liveOnly; + } + public function getLiveOnly() + { + return $this->liveOnly; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setNotes($notes) + { + $this->notes = $notes; + } + public function getNotes() + { + return $this->notes; + } + public function setParameter($parameter) + { + $this->parameter = $parameter; + } + public function getParameter() + { + return $this->parameter; + } + public function setParentFolderId($parentFolderId) + { + $this->parentFolderId = $parentFolderId; + } + public function getParentFolderId() + { + return $this->parentFolderId; + } + public function setPriority(Google_Service_TagManager_Parameter $priority) + { + $this->priority = $priority; + } + public function getPriority() + { + return $this->priority; + } + public function setScheduleEndMs($scheduleEndMs) + { + $this->scheduleEndMs = $scheduleEndMs; + } + public function getScheduleEndMs() + { + return $this->scheduleEndMs; + } + public function setScheduleStartMs($scheduleStartMs) + { + $this->scheduleStartMs = $scheduleStartMs; + } + public function getScheduleStartMs() + { + return $this->scheduleStartMs; + } + public function setSetupTag($setupTag) + { + $this->setupTag = $setupTag; + } + public function getSetupTag() + { + return $this->setupTag; + } + public function setTagFiringOption($tagFiringOption) + { + $this->tagFiringOption = $tagFiringOption; + } + public function getTagFiringOption() + { + return $this->tagFiringOption; + } + public function setTagId($tagId) + { + $this->tagId = $tagId; + } + public function getTagId() + { + return $this->tagId; + } + public function setTeardownTag($teardownTag) + { + $this->teardownTag = $teardownTag; + } + public function getTeardownTag() + { + return $this->teardownTag; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/TagManager/TeardownTag.php b/vendor/google/apiclient-services/src/Google/Service/TagManager/TeardownTag.php new file mode 100644 index 00000000..f0a8e3c2 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/TagManager/TeardownTag.php @@ -0,0 +1,39 @@ +stopTeardownOnFailure = $stopTeardownOnFailure; + } + public function getStopTeardownOnFailure() + { + return $this->stopTeardownOnFailure; + } + public function setTagName($tagName) + { + $this->tagName = $tagName; + } + public function getTagName() + { + return $this->tagName; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/TagManager/Trigger.php b/vendor/google/apiclient-services/src/Google/Service/TagManager/Trigger.php new file mode 100644 index 00000000..5f8391a8 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/TagManager/Trigger.php @@ -0,0 +1,205 @@ +accountId = $accountId; + } + public function getAccountId() + { + return $this->accountId; + } + public function setAutoEventFilter($autoEventFilter) + { + $this->autoEventFilter = $autoEventFilter; + } + public function getAutoEventFilter() + { + return $this->autoEventFilter; + } + public function setCheckValidation(Google_Service_TagManager_Parameter $checkValidation) + { + $this->checkValidation = $checkValidation; + } + public function getCheckValidation() + { + return $this->checkValidation; + } + public function setContainerId($containerId) + { + $this->containerId = $containerId; + } + public function getContainerId() + { + return $this->containerId; + } + public function setCustomEventFilter($customEventFilter) + { + $this->customEventFilter = $customEventFilter; + } + public function getCustomEventFilter() + { + return $this->customEventFilter; + } + public function setEnableAllVideos(Google_Service_TagManager_Parameter $enableAllVideos) + { + $this->enableAllVideos = $enableAllVideos; + } + public function getEnableAllVideos() + { + return $this->enableAllVideos; + } + public function setEventName(Google_Service_TagManager_Parameter $eventName) + { + $this->eventName = $eventName; + } + public function getEventName() + { + return $this->eventName; + } + public function setFilter($filter) + { + $this->filter = $filter; + } + public function getFilter() + { + return $this->filter; + } + public function setFingerprint($fingerprint) + { + $this->fingerprint = $fingerprint; + } + public function getFingerprint() + { + return $this->fingerprint; + } + public function setInterval(Google_Service_TagManager_Parameter $interval) + { + $this->interval = $interval; + } + public function getInterval() + { + return $this->interval; + } + public function setLimit(Google_Service_TagManager_Parameter $limit) + { + $this->limit = $limit; + } + public function getLimit() + { + return $this->limit; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setParentFolderId($parentFolderId) + { + $this->parentFolderId = $parentFolderId; + } + public function getParentFolderId() + { + return $this->parentFolderId; + } + public function setTriggerId($triggerId) + { + $this->triggerId = $triggerId; + } + public function getTriggerId() + { + return $this->triggerId; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } + public function setUniqueTriggerId(Google_Service_TagManager_Parameter $uniqueTriggerId) + { + $this->uniqueTriggerId = $uniqueTriggerId; + } + public function getUniqueTriggerId() + { + return $this->uniqueTriggerId; + } + public function setVideoPercentageList(Google_Service_TagManager_Parameter $videoPercentageList) + { + $this->videoPercentageList = $videoPercentageList; + } + public function getVideoPercentageList() + { + return $this->videoPercentageList; + } + public function setWaitForTags(Google_Service_TagManager_Parameter $waitForTags) + { + $this->waitForTags = $waitForTags; + } + public function getWaitForTags() + { + return $this->waitForTags; + } + public function setWaitForTagsTimeout(Google_Service_TagManager_Parameter $waitForTagsTimeout) + { + $this->waitForTagsTimeout = $waitForTagsTimeout; + } + public function getWaitForTagsTimeout() + { + return $this->waitForTagsTimeout; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/TagManager/UserAccess.php b/vendor/google/apiclient-services/src/Google/Service/TagManager/UserAccess.php new file mode 100644 index 00000000..267eefeb --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/TagManager/UserAccess.php @@ -0,0 +1,69 @@ +accountAccess = $accountAccess; + } + public function getAccountAccess() + { + return $this->accountAccess; + } + public function setAccountId($accountId) + { + $this->accountId = $accountId; + } + public function getAccountId() + { + return $this->accountId; + } + public function setContainerAccess($containerAccess) + { + $this->containerAccess = $containerAccess; + } + public function getContainerAccess() + { + return $this->containerAccess; + } + public function setEmailAddress($emailAddress) + { + $this->emailAddress = $emailAddress; + } + public function getEmailAddress() + { + return $this->emailAddress; + } + public function setPermissionId($permissionId) + { + $this->permissionId = $permissionId; + } + public function getPermissionId() + { + return $this->permissionId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/TagManager/Variable.php b/vendor/google/apiclient-services/src/Google/Service/TagManager/Variable.php new file mode 100644 index 00000000..31558978 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/TagManager/Variable.php @@ -0,0 +1,140 @@ +accountId = $accountId; + } + public function getAccountId() + { + return $this->accountId; + } + public function setContainerId($containerId) + { + $this->containerId = $containerId; + } + public function getContainerId() + { + return $this->containerId; + } + public function setDisablingTriggerId($disablingTriggerId) + { + $this->disablingTriggerId = $disablingTriggerId; + } + public function getDisablingTriggerId() + { + return $this->disablingTriggerId; + } + public function setEnablingTriggerId($enablingTriggerId) + { + $this->enablingTriggerId = $enablingTriggerId; + } + public function getEnablingTriggerId() + { + return $this->enablingTriggerId; + } + public function setFingerprint($fingerprint) + { + $this->fingerprint = $fingerprint; + } + public function getFingerprint() + { + return $this->fingerprint; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setNotes($notes) + { + $this->notes = $notes; + } + public function getNotes() + { + return $this->notes; + } + public function setParameter($parameter) + { + $this->parameter = $parameter; + } + public function getParameter() + { + return $this->parameter; + } + public function setParentFolderId($parentFolderId) + { + $this->parentFolderId = $parentFolderId; + } + public function getParentFolderId() + { + return $this->parentFolderId; + } + public function setScheduleEndMs($scheduleEndMs) + { + $this->scheduleEndMs = $scheduleEndMs; + } + public function getScheduleEndMs() + { + return $this->scheduleEndMs; + } + public function setScheduleStartMs($scheduleStartMs) + { + $this->scheduleStartMs = $scheduleStartMs; + } + public function getScheduleStartMs() + { + return $this->scheduleStartMs; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } + public function setVariableId($variableId) + { + $this->variableId = $variableId; + } + public function getVariableId() + { + return $this->variableId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Taskqueue.php b/vendor/google/apiclient-services/src/Google/Service/Taskqueue.php new file mode 100644 index 00000000..7f3221d1 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Taskqueue.php @@ -0,0 +1,249 @@ + + * Accesses a Google App Engine Pull Task Queue over REST.

+ * + *

+ * For more information about this service, see the API + * Documentation + *

+ * + * @author Google, Inc. + */ +class Google_Service_Taskqueue extends Google_Service +{ + /** Manage your Tasks and Taskqueues. */ + const TASKQUEUE = + "https://www.googleapis.com/auth/taskqueue"; + /** Consume Tasks from your Taskqueues. */ + const TASKQUEUE_CONSUMER = + "https://www.googleapis.com/auth/taskqueue.consumer"; + + public $taskqueues; + public $tasks; + + /** + * Constructs the internal representation of the Taskqueue service. + * + * @param Google_Client $client + */ + public function __construct(Google_Client $client) + { + parent::__construct($client); + $this->rootUrl = 'https://www.googleapis.com/'; + $this->servicePath = 'taskqueue/v1beta2/projects/'; + $this->version = 'v1beta2'; + $this->serviceName = 'taskqueue'; + + $this->taskqueues = new Google_Service_Taskqueue_Resource_Taskqueues( + $this, + $this->serviceName, + 'taskqueues', + array( + 'methods' => array( + 'get' => array( + 'path' => '{project}/taskqueues/{taskqueue}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'taskqueue' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'getStats' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + ), + ), + ) + ) + ); + $this->tasks = new Google_Service_Taskqueue_Resource_Tasks( + $this, + $this->serviceName, + 'tasks', + array( + 'methods' => array( + 'delete' => array( + 'path' => '{project}/taskqueues/{taskqueue}/tasks/{task}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'taskqueue' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'task' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'get' => array( + 'path' => '{project}/taskqueues/{taskqueue}/tasks/{task}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'taskqueue' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'task' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'insert' => array( + 'path' => '{project}/taskqueues/{taskqueue}/tasks', + 'httpMethod' => 'POST', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'taskqueue' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'lease' => array( + 'path' => '{project}/taskqueues/{taskqueue}/tasks/lease', + 'httpMethod' => 'POST', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'taskqueue' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'numTasks' => array( + 'location' => 'query', + 'type' => 'integer', + 'required' => true, + ), + 'leaseSecs' => array( + 'location' => 'query', + 'type' => 'integer', + 'required' => true, + ), + 'groupByTag' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + 'tag' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'list' => array( + 'path' => '{project}/taskqueues/{taskqueue}/tasks', + 'httpMethod' => 'GET', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'taskqueue' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'patch' => array( + 'path' => '{project}/taskqueues/{taskqueue}/tasks/{task}', + 'httpMethod' => 'PATCH', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'taskqueue' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'task' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'newLeaseSeconds' => array( + 'location' => 'query', + 'type' => 'integer', + 'required' => true, + ), + ), + ),'update' => array( + 'path' => '{project}/taskqueues/{taskqueue}/tasks/{task}', + 'httpMethod' => 'POST', + 'parameters' => array( + 'project' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'taskqueue' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'task' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'newLeaseSeconds' => array( + 'location' => 'query', + 'type' => 'integer', + 'required' => true, + ), + ), + ), + ) + ) + ); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Taskqueue/Resource/Taskqueues.php b/vendor/google/apiclient-services/src/Google/Service/Taskqueue/Resource/Taskqueues.php new file mode 100644 index 00000000..75e6c36f --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Taskqueue/Resource/Taskqueues.php @@ -0,0 +1,44 @@ + + * $taskqueueService = new Google_Service_Taskqueue(...); + * $taskqueues = $taskqueueService->taskqueues; + * + */ +class Google_Service_Taskqueue_Resource_Taskqueues extends Google_Service_Resource +{ + /** + * Get detailed information about a TaskQueue. (taskqueues.get) + * + * @param string $project The project under which the queue lies. + * @param string $taskqueue The id of the taskqueue to get the properties of. + * @param array $optParams Optional parameters. + * + * @opt_param bool getStats Whether to get stats. Optional. + * @return Google_Service_Taskqueue_TaskQueue + */ + public function get($project, $taskqueue, $optParams = array()) + { + $params = array('project' => $project, 'taskqueue' => $taskqueue); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Taskqueue_TaskQueue"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Taskqueue/Resource/Tasks.php b/vendor/google/apiclient-services/src/Google/Service/Taskqueue/Resource/Tasks.php new file mode 100644 index 00000000..79afd4ce --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Taskqueue/Resource/Tasks.php @@ -0,0 +1,144 @@ + + * $taskqueueService = new Google_Service_Taskqueue(...); + * $tasks = $taskqueueService->tasks; + * + */ +class Google_Service_Taskqueue_Resource_Tasks extends Google_Service_Resource +{ + /** + * Delete a task from a TaskQueue. (tasks.delete) + * + * @param string $project The project under which the queue lies. + * @param string $taskqueue The taskqueue to delete a task from. + * @param string $task The id of the task to delete. + * @param array $optParams Optional parameters. + */ + public function delete($project, $taskqueue, $task, $optParams = array()) + { + $params = array('project' => $project, 'taskqueue' => $taskqueue, 'task' => $task); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params)); + } + /** + * Get a particular task from a TaskQueue. (tasks.get) + * + * @param string $project The project under which the queue lies. + * @param string $taskqueue The taskqueue in which the task belongs. + * @param string $task The task to get properties of. + * @param array $optParams Optional parameters. + * @return Google_Service_Taskqueue_Task + */ + public function get($project, $taskqueue, $task, $optParams = array()) + { + $params = array('project' => $project, 'taskqueue' => $taskqueue, 'task' => $task); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Taskqueue_Task"); + } + /** + * Insert a new task in a TaskQueue (tasks.insert) + * + * @param string $project The project under which the queue lies + * @param string $taskqueue The taskqueue to insert the task into + * @param Google_Service_Taskqueue_Task $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Taskqueue_Task + */ + public function insert($project, $taskqueue, Google_Service_Taskqueue_Task $postBody, $optParams = array()) + { + $params = array('project' => $project, 'taskqueue' => $taskqueue, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('insert', array($params), "Google_Service_Taskqueue_Task"); + } + /** + * Lease 1 or more tasks from a TaskQueue. (tasks.lease) + * + * @param string $project The project under which the queue lies. + * @param string $taskqueue The taskqueue to lease a task from. + * @param int $numTasks The number of tasks to lease. + * @param int $leaseSecs The lease in seconds. + * @param array $optParams Optional parameters. + * + * @opt_param bool groupByTag When true, all returned tasks will have the same + * tag + * @opt_param string tag The tag allowed for tasks in the response. Must only be + * specified if group_by_tag is true. If group_by_tag is true and tag is not + * specified the tag will be that of the oldest task by eta, i.e. the first + * available tag + * @return Google_Service_Taskqueue_Tasks + */ + public function lease($project, $taskqueue, $numTasks, $leaseSecs, $optParams = array()) + { + $params = array('project' => $project, 'taskqueue' => $taskqueue, 'numTasks' => $numTasks, 'leaseSecs' => $leaseSecs); + $params = array_merge($params, $optParams); + return $this->call('lease', array($params), "Google_Service_Taskqueue_Tasks"); + } + /** + * List Tasks in a TaskQueue (tasks.listTasks) + * + * @param string $project The project under which the queue lies. + * @param string $taskqueue The id of the taskqueue to list tasks from. + * @param array $optParams Optional parameters. + * @return Google_Service_Taskqueue_Tasks2 + */ + public function listTasks($project, $taskqueue, $optParams = array()) + { + $params = array('project' => $project, 'taskqueue' => $taskqueue); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Taskqueue_Tasks2"); + } + /** + * Update tasks that are leased out of a TaskQueue. This method supports patch + * semantics. (tasks.patch) + * + * @param string $project The project under which the queue lies. + * @param string $taskqueue + * @param string $task + * @param int $newLeaseSeconds The new lease in seconds. + * @param Google_Service_Taskqueue_Task $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Taskqueue_Task + */ + public function patch($project, $taskqueue, $task, $newLeaseSeconds, Google_Service_Taskqueue_Task $postBody, $optParams = array()) + { + $params = array('project' => $project, 'taskqueue' => $taskqueue, 'task' => $task, 'newLeaseSeconds' => $newLeaseSeconds, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('patch', array($params), "Google_Service_Taskqueue_Task"); + } + /** + * Update tasks that are leased out of a TaskQueue. (tasks.update) + * + * @param string $project The project under which the queue lies. + * @param string $taskqueue + * @param string $task + * @param int $newLeaseSeconds The new lease in seconds. + * @param Google_Service_Taskqueue_Task $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Taskqueue_Task + */ + public function update($project, $taskqueue, $task, $newLeaseSeconds, Google_Service_Taskqueue_Task $postBody, $optParams = array()) + { + $params = array('project' => $project, 'taskqueue' => $taskqueue, 'task' => $task, 'newLeaseSeconds' => $newLeaseSeconds, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('update', array($params), "Google_Service_Taskqueue_Task"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Taskqueue/Task.php b/vendor/google/apiclient-services/src/Google/Service/Taskqueue/Task.php new file mode 100644 index 00000000..3807b721 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Taskqueue/Task.php @@ -0,0 +1,96 @@ + "retry_count", + ); + public $enqueueTimestamp; + public $id; + public $kind; + public $leaseTimestamp; + public $payloadBase64; + public $queueName; + public $retryCount; + public $tag; + + public function setEnqueueTimestamp($enqueueTimestamp) + { + $this->enqueueTimestamp = $enqueueTimestamp; + } + public function getEnqueueTimestamp() + { + return $this->enqueueTimestamp; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setLeaseTimestamp($leaseTimestamp) + { + $this->leaseTimestamp = $leaseTimestamp; + } + public function getLeaseTimestamp() + { + return $this->leaseTimestamp; + } + public function setPayloadBase64($payloadBase64) + { + $this->payloadBase64 = $payloadBase64; + } + public function getPayloadBase64() + { + return $this->payloadBase64; + } + public function setQueueName($queueName) + { + $this->queueName = $queueName; + } + public function getQueueName() + { + return $this->queueName; + } + public function setRetryCount($retryCount) + { + $this->retryCount = $retryCount; + } + public function getRetryCount() + { + return $this->retryCount; + } + public function setTag($tag) + { + $this->tag = $tag; + } + public function getTag() + { + return $this->tag; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Taskqueue/TaskQueue.php b/vendor/google/apiclient-services/src/Google/Service/Taskqueue/TaskQueue.php new file mode 100644 index 00000000..dc3ea493 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Taskqueue/TaskQueue.php @@ -0,0 +1,68 @@ +acl = $acl; + } + public function getAcl() + { + return $this->acl; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setMaxLeases($maxLeases) + { + $this->maxLeases = $maxLeases; + } + public function getMaxLeases() + { + return $this->maxLeases; + } + public function setStats(Google_Service_Taskqueue_TaskQueueStats $stats) + { + $this->stats = $stats; + } + public function getStats() + { + return $this->stats; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Taskqueue/TaskQueueAcl.php b/vendor/google/apiclient-services/src/Google/Service/Taskqueue/TaskQueueAcl.php new file mode 100644 index 00000000..afbfd590 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Taskqueue/TaskQueueAcl.php @@ -0,0 +1,49 @@ +adminEmails = $adminEmails; + } + public function getAdminEmails() + { + return $this->adminEmails; + } + public function setConsumerEmails($consumerEmails) + { + $this->consumerEmails = $consumerEmails; + } + public function getConsumerEmails() + { + return $this->consumerEmails; + } + public function setProducerEmails($producerEmails) + { + $this->producerEmails = $producerEmails; + } + public function getProducerEmails() + { + return $this->producerEmails; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Taskqueue/TaskQueueStats.php b/vendor/google/apiclient-services/src/Google/Service/Taskqueue/TaskQueueStats.php new file mode 100644 index 00000000..dfba1306 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Taskqueue/TaskQueueStats.php @@ -0,0 +1,57 @@ +leasedLastHour = $leasedLastHour; + } + public function getLeasedLastHour() + { + return $this->leasedLastHour; + } + public function setLeasedLastMinute($leasedLastMinute) + { + $this->leasedLastMinute = $leasedLastMinute; + } + public function getLeasedLastMinute() + { + return $this->leasedLastMinute; + } + public function setOldestTask($oldestTask) + { + $this->oldestTask = $oldestTask; + } + public function getOldestTask() + { + return $this->oldestTask; + } + public function setTotalTasks($totalTasks) + { + $this->totalTasks = $totalTasks; + } + public function getTotalTasks() + { + return $this->totalTasks; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Taskqueue/Tasks.php b/vendor/google/apiclient-services/src/Google/Service/Taskqueue/Tasks.php new file mode 100644 index 00000000..837377e3 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Taskqueue/Tasks.php @@ -0,0 +1,41 @@ +items = $items; + } + public function getItems() + { + return $this->items; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Taskqueue/Tasks2.php b/vendor/google/apiclient-services/src/Google/Service/Taskqueue/Tasks2.php new file mode 100644 index 00000000..52843027 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Taskqueue/Tasks2.php @@ -0,0 +1,41 @@ +items = $items; + } + public function getItems() + { + return $this->items; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Tasks.php b/vendor/google/apiclient-services/src/Google/Service/Tasks.php new file mode 100644 index 00000000..23380b73 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Tasks.php @@ -0,0 +1,295 @@ + + * Lets you manage your tasks and task lists.

+ * + *

+ * For more information about this service, see the API + * Documentation + *

+ * + * @author Google, Inc. + */ +class Google_Service_Tasks extends Google_Service +{ + /** Manage your tasks. */ + const TASKS = + "https://www.googleapis.com/auth/tasks"; + /** View your tasks. */ + const TASKS_READONLY = + "https://www.googleapis.com/auth/tasks.readonly"; + + public $tasklists; + public $tasks; + + /** + * Constructs the internal representation of the Tasks service. + * + * @param Google_Client $client + */ + public function __construct(Google_Client $client) + { + parent::__construct($client); + $this->rootUrl = 'https://www.googleapis.com/'; + $this->servicePath = 'tasks/v1/'; + $this->version = 'v1'; + $this->serviceName = 'tasks'; + + $this->tasklists = new Google_Service_Tasks_Resource_Tasklists( + $this, + $this->serviceName, + 'tasklists', + array( + 'methods' => array( + 'delete' => array( + 'path' => 'users/@me/lists/{tasklist}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'tasklist' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'get' => array( + 'path' => 'users/@me/lists/{tasklist}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'tasklist' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'insert' => array( + 'path' => 'users/@me/lists', + 'httpMethod' => 'POST', + 'parameters' => array(), + ),'list' => array( + 'path' => 'users/@me/lists', + 'httpMethod' => 'GET', + 'parameters' => array( + 'maxResults' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'patch' => array( + 'path' => 'users/@me/lists/{tasklist}', + 'httpMethod' => 'PATCH', + 'parameters' => array( + 'tasklist' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'update' => array( + 'path' => 'users/@me/lists/{tasklist}', + 'httpMethod' => 'PUT', + 'parameters' => array( + 'tasklist' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->tasks = new Google_Service_Tasks_Resource_Tasks( + $this, + $this->serviceName, + 'tasks', + array( + 'methods' => array( + 'clear' => array( + 'path' => 'lists/{tasklist}/clear', + 'httpMethod' => 'POST', + 'parameters' => array( + 'tasklist' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'delete' => array( + 'path' => 'lists/{tasklist}/tasks/{task}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'tasklist' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'task' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'get' => array( + 'path' => 'lists/{tasklist}/tasks/{task}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'tasklist' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'task' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'insert' => array( + 'path' => 'lists/{tasklist}/tasks', + 'httpMethod' => 'POST', + 'parameters' => array( + 'tasklist' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'parent' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'previous' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'list' => array( + 'path' => 'lists/{tasklist}/tasks', + 'httpMethod' => 'GET', + 'parameters' => array( + 'tasklist' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'completedMax' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'completedMin' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'dueMax' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'dueMin' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'showCompleted' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + 'showDeleted' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + 'showHidden' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + 'updatedMin' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'move' => array( + 'path' => 'lists/{tasklist}/tasks/{task}/move', + 'httpMethod' => 'POST', + 'parameters' => array( + 'tasklist' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'task' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'parent' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'previous' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'patch' => array( + 'path' => 'lists/{tasklist}/tasks/{task}', + 'httpMethod' => 'PATCH', + 'parameters' => array( + 'tasklist' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'task' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'update' => array( + 'path' => 'lists/{tasklist}/tasks/{task}', + 'httpMethod' => 'PUT', + 'parameters' => array( + 'tasklist' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'task' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Tasks/Resource/Tasklists.php b/vendor/google/apiclient-services/src/Google/Service/Tasks/Resource/Tasklists.php new file mode 100644 index 00000000..20d4696a --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Tasks/Resource/Tasklists.php @@ -0,0 +1,113 @@ + + * $tasksService = new Google_Service_Tasks(...); + * $tasklists = $tasksService->tasklists; + * + */ +class Google_Service_Tasks_Resource_Tasklists extends Google_Service_Resource +{ + /** + * Deletes the authenticated user's specified task list. (tasklists.delete) + * + * @param string $tasklist Task list identifier. + * @param array $optParams Optional parameters. + */ + public function delete($tasklist, $optParams = array()) + { + $params = array('tasklist' => $tasklist); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params)); + } + /** + * Returns the authenticated user's specified task list. (tasklists.get) + * + * @param string $tasklist Task list identifier. + * @param array $optParams Optional parameters. + * @return Google_Service_Tasks_TaskList + */ + public function get($tasklist, $optParams = array()) + { + $params = array('tasklist' => $tasklist); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Tasks_TaskList"); + } + /** + * Creates a new task list and adds it to the authenticated user's task lists. + * (tasklists.insert) + * + * @param Google_Service_Tasks_TaskList $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Tasks_TaskList + */ + public function insert(Google_Service_Tasks_TaskList $postBody, $optParams = array()) + { + $params = array('postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('insert', array($params), "Google_Service_Tasks_TaskList"); + } + /** + * Returns all the authenticated user's task lists. (tasklists.listTasklists) + * + * @param array $optParams Optional parameters. + * + * @opt_param string maxResults Maximum number of task lists returned on one + * page. Optional. The default is 100. + * @opt_param string pageToken Token specifying the result page to return. + * Optional. + * @return Google_Service_Tasks_TaskLists + */ + public function listTasklists($optParams = array()) + { + $params = array(); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Tasks_TaskLists"); + } + /** + * Updates the authenticated user's specified task list. This method supports + * patch semantics. (tasklists.patch) + * + * @param string $tasklist Task list identifier. + * @param Google_Service_Tasks_TaskList $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Tasks_TaskList + */ + public function patch($tasklist, Google_Service_Tasks_TaskList $postBody, $optParams = array()) + { + $params = array('tasklist' => $tasklist, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('patch', array($params), "Google_Service_Tasks_TaskList"); + } + /** + * Updates the authenticated user's specified task list. (tasklists.update) + * + * @param string $tasklist Task list identifier. + * @param Google_Service_Tasks_TaskList $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Tasks_TaskList + */ + public function update($tasklist, Google_Service_Tasks_TaskList $postBody, $optParams = array()) + { + $params = array('tasklist' => $tasklist, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('update', array($params), "Google_Service_Tasks_TaskList"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Tasks/Resource/Tasks.php b/vendor/google/apiclient-services/src/Google/Service/Tasks/Resource/Tasks.php new file mode 100644 index 00000000..d6217020 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Tasks/Resource/Tasks.php @@ -0,0 +1,179 @@ + + * $tasksService = new Google_Service_Tasks(...); + * $tasks = $tasksService->tasks; + * + */ +class Google_Service_Tasks_Resource_Tasks extends Google_Service_Resource +{ + /** + * Clears all completed tasks from the specified task list. The affected tasks + * will be marked as 'hidden' and no longer be returned by default when + * retrieving all tasks for a task list. (tasks.clear) + * + * @param string $tasklist Task list identifier. + * @param array $optParams Optional parameters. + */ + public function clear($tasklist, $optParams = array()) + { + $params = array('tasklist' => $tasklist); + $params = array_merge($params, $optParams); + return $this->call('clear', array($params)); + } + /** + * Deletes the specified task from the task list. (tasks.delete) + * + * @param string $tasklist Task list identifier. + * @param string $task Task identifier. + * @param array $optParams Optional parameters. + */ + public function delete($tasklist, $task, $optParams = array()) + { + $params = array('tasklist' => $tasklist, 'task' => $task); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params)); + } + /** + * Returns the specified task. (tasks.get) + * + * @param string $tasklist Task list identifier. + * @param string $task Task identifier. + * @param array $optParams Optional parameters. + * @return Google_Service_Tasks_Task + */ + public function get($tasklist, $task, $optParams = array()) + { + $params = array('tasklist' => $tasklist, 'task' => $task); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Tasks_Task"); + } + /** + * Creates a new task on the specified task list. (tasks.insert) + * + * @param string $tasklist Task list identifier. + * @param Google_Service_Tasks_Task $postBody + * @param array $optParams Optional parameters. + * + * @opt_param string parent Parent task identifier. If the task is created at + * the top level, this parameter is omitted. Optional. + * @opt_param string previous Previous sibling task identifier. If the task is + * created at the first position among its siblings, this parameter is omitted. + * Optional. + * @return Google_Service_Tasks_Task + */ + public function insert($tasklist, Google_Service_Tasks_Task $postBody, $optParams = array()) + { + $params = array('tasklist' => $tasklist, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('insert', array($params), "Google_Service_Tasks_Task"); + } + /** + * Returns all tasks in the specified task list. (tasks.listTasks) + * + * @param string $tasklist Task list identifier. + * @param array $optParams Optional parameters. + * + * @opt_param string completedMax Upper bound for a task's completion date (as a + * RFC 3339 timestamp) to filter by. Optional. The default is not to filter by + * completion date. + * @opt_param string completedMin Lower bound for a task's completion date (as a + * RFC 3339 timestamp) to filter by. Optional. The default is not to filter by + * completion date. + * @opt_param string dueMax Upper bound for a task's due date (as a RFC 3339 + * timestamp) to filter by. Optional. The default is not to filter by due date. + * @opt_param string dueMin Lower bound for a task's due date (as a RFC 3339 + * timestamp) to filter by. Optional. The default is not to filter by due date. + * @opt_param string maxResults Maximum number of task lists returned on one + * page. Optional. The default is 100. + * @opt_param string pageToken Token specifying the result page to return. + * Optional. + * @opt_param bool showCompleted Flag indicating whether completed tasks are + * returned in the result. Optional. The default is True. + * @opt_param bool showDeleted Flag indicating whether deleted tasks are + * returned in the result. Optional. The default is False. + * @opt_param bool showHidden Flag indicating whether hidden tasks are returned + * in the result. Optional. The default is False. + * @opt_param string updatedMin Lower bound for a task's last modification time + * (as a RFC 3339 timestamp) to filter by. Optional. The default is not to + * filter by last modification time. + * @return Google_Service_Tasks_Tasks + */ + public function listTasks($tasklist, $optParams = array()) + { + $params = array('tasklist' => $tasklist); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Tasks_Tasks"); + } + /** + * Moves the specified task to another position in the task list. This can + * include putting it as a child task under a new parent and/or move it to a + * different position among its sibling tasks. (tasks.move) + * + * @param string $tasklist Task list identifier. + * @param string $task Task identifier. + * @param array $optParams Optional parameters. + * + * @opt_param string parent New parent task identifier. If the task is moved to + * the top level, this parameter is omitted. Optional. + * @opt_param string previous New previous sibling task identifier. If the task + * is moved to the first position among its siblings, this parameter is omitted. + * Optional. + * @return Google_Service_Tasks_Task + */ + public function move($tasklist, $task, $optParams = array()) + { + $params = array('tasklist' => $tasklist, 'task' => $task); + $params = array_merge($params, $optParams); + return $this->call('move', array($params), "Google_Service_Tasks_Task"); + } + /** + * Updates the specified task. This method supports patch semantics. + * (tasks.patch) + * + * @param string $tasklist Task list identifier. + * @param string $task Task identifier. + * @param Google_Service_Tasks_Task $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Tasks_Task + */ + public function patch($tasklist, $task, Google_Service_Tasks_Task $postBody, $optParams = array()) + { + $params = array('tasklist' => $tasklist, 'task' => $task, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('patch', array($params), "Google_Service_Tasks_Task"); + } + /** + * Updates the specified task. (tasks.update) + * + * @param string $tasklist Task list identifier. + * @param string $task Task identifier. + * @param Google_Service_Tasks_Task $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Tasks_Task + */ + public function update($tasklist, $task, Google_Service_Tasks_Task $postBody, $optParams = array()) + { + $params = array('tasklist' => $tasklist, 'task' => $task, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('update', array($params), "Google_Service_Tasks_Task"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Tasks/Task.php b/vendor/google/apiclient-services/src/Google/Service/Tasks/Task.php new file mode 100644 index 00000000..9f4742ab --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Tasks/Task.php @@ -0,0 +1,158 @@ +completed = $completed; + } + public function getCompleted() + { + return $this->completed; + } + public function setDeleted($deleted) + { + $this->deleted = $deleted; + } + public function getDeleted() + { + return $this->deleted; + } + public function setDue($due) + { + $this->due = $due; + } + public function getDue() + { + return $this->due; + } + public function setEtag($etag) + { + $this->etag = $etag; + } + public function getEtag() + { + return $this->etag; + } + public function setHidden($hidden) + { + $this->hidden = $hidden; + } + public function getHidden() + { + return $this->hidden; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setLinks($links) + { + $this->links = $links; + } + public function getLinks() + { + return $this->links; + } + public function setNotes($notes) + { + $this->notes = $notes; + } + public function getNotes() + { + return $this->notes; + } + public function setParent($parent) + { + $this->parent = $parent; + } + public function getParent() + { + return $this->parent; + } + public function setPosition($position) + { + $this->position = $position; + } + public function getPosition() + { + return $this->position; + } + public function setSelfLink($selfLink) + { + $this->selfLink = $selfLink; + } + public function getSelfLink() + { + return $this->selfLink; + } + public function setStatus($status) + { + $this->status = $status; + } + public function getStatus() + { + return $this->status; + } + public function setTitle($title) + { + $this->title = $title; + } + public function getTitle() + { + return $this->title; + } + public function setUpdated($updated) + { + $this->updated = $updated; + } + public function getUpdated() + { + return $this->updated; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Tasks/TaskLinks.php b/vendor/google/apiclient-services/src/Google/Service/Tasks/TaskLinks.php new file mode 100644 index 00000000..78cffe6a --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Tasks/TaskLinks.php @@ -0,0 +1,48 @@ +description = $description; + } + public function getDescription() + { + return $this->description; + } + public function setLink($link) + { + $this->link = $link; + } + public function getLink() + { + return $this->link; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Tasks/TaskList.php b/vendor/google/apiclient-services/src/Google/Service/Tasks/TaskList.php new file mode 100644 index 00000000..6eef024b --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Tasks/TaskList.php @@ -0,0 +1,75 @@ +etag = $etag; + } + public function getEtag() + { + return $this->etag; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setSelfLink($selfLink) + { + $this->selfLink = $selfLink; + } + public function getSelfLink() + { + return $this->selfLink; + } + public function setTitle($title) + { + $this->title = $title; + } + public function getTitle() + { + return $this->title; + } + public function setUpdated($updated) + { + $this->updated = $updated; + } + public function getUpdated() + { + return $this->updated; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Tasks/TaskLists.php b/vendor/google/apiclient-services/src/Google/Service/Tasks/TaskLists.php new file mode 100644 index 00000000..64e24a36 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Tasks/TaskLists.php @@ -0,0 +1,59 @@ +etag = $etag; + } + public function getEtag() + { + return $this->etag; + } + public function setItems($items) + { + $this->items = $items; + } + public function getItems() + { + return $this->items; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Tasks/Tasks.php b/vendor/google/apiclient-services/src/Google/Service/Tasks/Tasks.php new file mode 100644 index 00000000..01b5bb79 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Tasks/Tasks.php @@ -0,0 +1,59 @@ +etag = $etag; + } + public function getEtag() + { + return $this->etag; + } + public function setItems($items) + { + $this->items = $items; + } + public function getItems() + { + return $this->items; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ToolResults.php b/vendor/google/apiclient-services/src/Google/Service/ToolResults.php new file mode 100644 index 00000000..3f51b3ca --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ToolResults.php @@ -0,0 +1,664 @@ + + * Reads and publishes results from Firebase Test Lab.

+ * + *

+ * For more information about this service, see the API + * Documentation + *

+ * + * @author Google, Inc. + */ +class Google_Service_ToolResults extends Google_Service +{ + /** View and manage your data across Google Cloud Platform services. */ + const CLOUD_PLATFORM = + "https://www.googleapis.com/auth/cloud-platform"; + + public $projects; + public $projects_histories; + public $projects_histories_executions; + public $projects_histories_executions_steps; + public $projects_histories_executions_steps_perfMetricsSummary; + public $projects_histories_executions_steps_perfSampleSeries; + public $projects_histories_executions_steps_perfSampleSeries_samples; + public $projects_histories_executions_steps_thumbnails; + + /** + * Constructs the internal representation of the ToolResults service. + * + * @param Google_Client $client + */ + public function __construct(Google_Client $client) + { + parent::__construct($client); + $this->rootUrl = 'https://www.googleapis.com/'; + $this->servicePath = 'toolresults/v1beta3/projects/'; + $this->version = 'v1beta3'; + $this->serviceName = 'toolresults'; + + $this->projects = new Google_Service_ToolResults_Resource_Projects( + $this, + $this->serviceName, + 'projects', + array( + 'methods' => array( + 'getSettings' => array( + 'path' => '{projectId}/settings', + 'httpMethod' => 'GET', + 'parameters' => array( + 'projectId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'initializeSettings' => array( + 'path' => '{projectId}:initializeSettings', + 'httpMethod' => 'POST', + 'parameters' => array( + 'projectId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->projects_histories = new Google_Service_ToolResults_Resource_ProjectsHistories( + $this, + $this->serviceName, + 'histories', + array( + 'methods' => array( + 'create' => array( + 'path' => '{projectId}/histories', + 'httpMethod' => 'POST', + 'parameters' => array( + 'projectId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'requestId' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'get' => array( + 'path' => '{projectId}/histories/{historyId}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'projectId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'historyId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => '{projectId}/histories', + 'httpMethod' => 'GET', + 'parameters' => array( + 'projectId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'filterByName' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pageSize' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + $this->projects_histories_executions = new Google_Service_ToolResults_Resource_ProjectsHistoriesExecutions( + $this, + $this->serviceName, + 'executions', + array( + 'methods' => array( + 'create' => array( + 'path' => '{projectId}/histories/{historyId}/executions', + 'httpMethod' => 'POST', + 'parameters' => array( + 'projectId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'historyId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'requestId' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'get' => array( + 'path' => '{projectId}/histories/{historyId}/executions/{executionId}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'projectId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'historyId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'executionId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => '{projectId}/histories/{historyId}/executions', + 'httpMethod' => 'GET', + 'parameters' => array( + 'projectId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'historyId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'pageSize' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'patch' => array( + 'path' => '{projectId}/histories/{historyId}/executions/{executionId}', + 'httpMethod' => 'PATCH', + 'parameters' => array( + 'projectId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'historyId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'executionId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'requestId' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + $this->projects_histories_executions_steps = new Google_Service_ToolResults_Resource_ProjectsHistoriesExecutionsSteps( + $this, + $this->serviceName, + 'steps', + array( + 'methods' => array( + 'create' => array( + 'path' => '{projectId}/histories/{historyId}/executions/{executionId}/steps', + 'httpMethod' => 'POST', + 'parameters' => array( + 'projectId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'historyId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'executionId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'requestId' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'get' => array( + 'path' => '{projectId}/histories/{historyId}/executions/{executionId}/steps/{stepId}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'projectId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'historyId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'executionId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'stepId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'getPerfMetricsSummary' => array( + 'path' => '{projectId}/histories/{historyId}/executions/{executionId}/steps/{stepId}/perfMetricsSummary', + 'httpMethod' => 'GET', + 'parameters' => array( + 'projectId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'historyId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'executionId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'stepId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => '{projectId}/histories/{historyId}/executions/{executionId}/steps', + 'httpMethod' => 'GET', + 'parameters' => array( + 'projectId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'historyId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'executionId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'pageSize' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'patch' => array( + 'path' => '{projectId}/histories/{historyId}/executions/{executionId}/steps/{stepId}', + 'httpMethod' => 'PATCH', + 'parameters' => array( + 'projectId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'historyId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'executionId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'stepId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'requestId' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'publishXunitXmlFiles' => array( + 'path' => '{projectId}/histories/{historyId}/executions/{executionId}/steps/{stepId}:publishXunitXmlFiles', + 'httpMethod' => 'POST', + 'parameters' => array( + 'projectId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'historyId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'executionId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'stepId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->projects_histories_executions_steps_perfMetricsSummary = new Google_Service_ToolResults_Resource_ProjectsHistoriesExecutionsStepsPerfMetricsSummary( + $this, + $this->serviceName, + 'perfMetricsSummary', + array( + 'methods' => array( + 'create' => array( + 'path' => '{projectId}/histories/{historyId}/executions/{executionId}/steps/{stepId}/perfMetricsSummary', + 'httpMethod' => 'POST', + 'parameters' => array( + 'projectId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'historyId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'executionId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'stepId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->projects_histories_executions_steps_perfSampleSeries = new Google_Service_ToolResults_Resource_ProjectsHistoriesExecutionsStepsPerfSampleSeries( + $this, + $this->serviceName, + 'perfSampleSeries', + array( + 'methods' => array( + 'create' => array( + 'path' => '{projectId}/histories/{historyId}/executions/{executionId}/steps/{stepId}/perfSampleSeries', + 'httpMethod' => 'POST', + 'parameters' => array( + 'projectId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'historyId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'executionId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'stepId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'get' => array( + 'path' => '{projectId}/histories/{historyId}/executions/{executionId}/steps/{stepId}/perfSampleSeries/{sampleSeriesId}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'projectId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'historyId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'executionId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'stepId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'sampleSeriesId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => '{projectId}/histories/{historyId}/executions/{executionId}/steps/{stepId}/perfSampleSeries', + 'httpMethod' => 'GET', + 'parameters' => array( + 'projectId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'historyId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'executionId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'stepId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'filter' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + ), + ), + ), + ) + ) + ); + $this->projects_histories_executions_steps_perfSampleSeries_samples = new Google_Service_ToolResults_Resource_ProjectsHistoriesExecutionsStepsPerfSampleSeriesSamples( + $this, + $this->serviceName, + 'samples', + array( + 'methods' => array( + 'batchCreate' => array( + 'path' => '{projectId}/histories/{historyId}/executions/{executionId}/steps/{stepId}/perfSampleSeries/{sampleSeriesId}/samples:batchCreate', + 'httpMethod' => 'POST', + 'parameters' => array( + 'projectId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'historyId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'executionId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'stepId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'sampleSeriesId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => '{projectId}/histories/{historyId}/executions/{executionId}/steps/{stepId}/perfSampleSeries/{sampleSeriesId}/samples', + 'httpMethod' => 'GET', + 'parameters' => array( + 'projectId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'historyId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'executionId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'stepId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'sampleSeriesId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'pageSize' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + $this->projects_histories_executions_steps_thumbnails = new Google_Service_ToolResults_Resource_ProjectsHistoriesExecutionsStepsThumbnails( + $this, + $this->serviceName, + 'thumbnails', + array( + 'methods' => array( + 'list' => array( + 'path' => '{projectId}/histories/{historyId}/executions/{executionId}/steps/{stepId}/thumbnails', + 'httpMethod' => 'GET', + 'parameters' => array( + 'projectId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'historyId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'executionId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'stepId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'pageSize' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ToolResults/Any.php b/vendor/google/apiclient-services/src/Google/Service/ToolResults/Any.php new file mode 100644 index 00000000..1e9ea9d7 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ToolResults/Any.php @@ -0,0 +1,39 @@ +typeUrl = $typeUrl; + } + public function getTypeUrl() + { + return $this->typeUrl; + } + public function setValue($value) + { + $this->value = $value; + } + public function getValue() + { + return $this->value; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ToolResults/BasicPerfSampleSeries.php b/vendor/google/apiclient-services/src/Google/Service/ToolResults/BasicPerfSampleSeries.php new file mode 100644 index 00000000..74053423 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ToolResults/BasicPerfSampleSeries.php @@ -0,0 +1,48 @@ +perfMetricType = $perfMetricType; + } + public function getPerfMetricType() + { + return $this->perfMetricType; + } + public function setPerfUnit($perfUnit) + { + $this->perfUnit = $perfUnit; + } + public function getPerfUnit() + { + return $this->perfUnit; + } + public function setSampleSeriesLabel($sampleSeriesLabel) + { + $this->sampleSeriesLabel = $sampleSeriesLabel; + } + public function getSampleSeriesLabel() + { + return $this->sampleSeriesLabel; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ToolResults/BatchCreatePerfSamplesRequest.php b/vendor/google/apiclient-services/src/Google/Service/ToolResults/BatchCreatePerfSamplesRequest.php new file mode 100644 index 00000000..ecb60fc1 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ToolResults/BatchCreatePerfSamplesRequest.php @@ -0,0 +1,32 @@ +perfSamples = $perfSamples; + } + public function getPerfSamples() + { + return $this->perfSamples; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ToolResults/BatchCreatePerfSamplesResponse.php b/vendor/google/apiclient-services/src/Google/Service/ToolResults/BatchCreatePerfSamplesResponse.php new file mode 100644 index 00000000..cc61e10d --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ToolResults/BatchCreatePerfSamplesResponse.php @@ -0,0 +1,32 @@ +perfSamples = $perfSamples; + } + public function getPerfSamples() + { + return $this->perfSamples; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ToolResults/CPUInfo.php b/vendor/google/apiclient-services/src/Google/Service/ToolResults/CPUInfo.php new file mode 100644 index 00000000..430d7907 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ToolResults/CPUInfo.php @@ -0,0 +1,48 @@ +cpuProcessor = $cpuProcessor; + } + public function getCpuProcessor() + { + return $this->cpuProcessor; + } + public function setCpuSpeedInGhz($cpuSpeedInGhz) + { + $this->cpuSpeedInGhz = $cpuSpeedInGhz; + } + public function getCpuSpeedInGhz() + { + return $this->cpuSpeedInGhz; + } + public function setNumberOfCores($numberOfCores) + { + $this->numberOfCores = $numberOfCores; + } + public function getNumberOfCores() + { + return $this->numberOfCores; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ToolResults/Duration.php b/vendor/google/apiclient-services/src/Google/Service/ToolResults/Duration.php new file mode 100644 index 00000000..d6baa1f8 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ToolResults/Duration.php @@ -0,0 +1,39 @@ +nanos = $nanos; + } + public function getNanos() + { + return $this->nanos; + } + public function setSeconds($seconds) + { + $this->seconds = $seconds; + } + public function getSeconds() + { + return $this->seconds; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ToolResults/Execution.php b/vendor/google/apiclient-services/src/Google/Service/ToolResults/Execution.php new file mode 100644 index 00000000..69ebbdd0 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ToolResults/Execution.php @@ -0,0 +1,78 @@ +completionTime = $completionTime; + } + public function getCompletionTime() + { + return $this->completionTime; + } + public function setCreationTime(Google_Service_ToolResults_Timestamp $creationTime) + { + $this->creationTime = $creationTime; + } + public function getCreationTime() + { + return $this->creationTime; + } + public function setExecutionId($executionId) + { + $this->executionId = $executionId; + } + public function getExecutionId() + { + return $this->executionId; + } + public function setOutcome(Google_Service_ToolResults_Outcome $outcome) + { + $this->outcome = $outcome; + } + public function getOutcome() + { + return $this->outcome; + } + public function setState($state) + { + $this->state = $state; + } + public function getState() + { + return $this->state; + } + public function setTestExecutionMatrixId($testExecutionMatrixId) + { + $this->testExecutionMatrixId = $testExecutionMatrixId; + } + public function getTestExecutionMatrixId() + { + return $this->testExecutionMatrixId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ToolResults/FailureDetail.php b/vendor/google/apiclient-services/src/Google/Service/ToolResults/FailureDetail.php new file mode 100644 index 00000000..959f860d --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ToolResults/FailureDetail.php @@ -0,0 +1,66 @@ +crashed = $crashed; + } + public function getCrashed() + { + return $this->crashed; + } + public function setNotInstalled($notInstalled) + { + $this->notInstalled = $notInstalled; + } + public function getNotInstalled() + { + return $this->notInstalled; + } + public function setOtherNativeCrash($otherNativeCrash) + { + $this->otherNativeCrash = $otherNativeCrash; + } + public function getOtherNativeCrash() + { + return $this->otherNativeCrash; + } + public function setTimedOut($timedOut) + { + $this->timedOut = $timedOut; + } + public function getTimedOut() + { + return $this->timedOut; + } + public function setUnableToCrawl($unableToCrawl) + { + $this->unableToCrawl = $unableToCrawl; + } + public function getUnableToCrawl() + { + return $this->unableToCrawl; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ToolResults/FileReference.php b/vendor/google/apiclient-services/src/Google/Service/ToolResults/FileReference.php new file mode 100644 index 00000000..f54ea1e9 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ToolResults/FileReference.php @@ -0,0 +1,30 @@ +fileUri = $fileUri; + } + public function getFileUri() + { + return $this->fileUri; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ToolResults/History.php b/vendor/google/apiclient-services/src/Google/Service/ToolResults/History.php new file mode 100644 index 00000000..54df1ed0 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ToolResults/History.php @@ -0,0 +1,48 @@ +displayName = $displayName; + } + public function getDisplayName() + { + return $this->displayName; + } + public function setHistoryId($historyId) + { + $this->historyId = $historyId; + } + public function getHistoryId() + { + return $this->historyId; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ToolResults/Image.php b/vendor/google/apiclient-services/src/Google/Service/ToolResults/Image.php new file mode 100644 index 00000000..4d35ed25 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ToolResults/Image.php @@ -0,0 +1,60 @@ +error = $error; + } + public function getError() + { + return $this->error; + } + public function setSourceImage(Google_Service_ToolResults_ToolOutputReference $sourceImage) + { + $this->sourceImage = $sourceImage; + } + public function getSourceImage() + { + return $this->sourceImage; + } + public function setStepId($stepId) + { + $this->stepId = $stepId; + } + public function getStepId() + { + return $this->stepId; + } + public function setThumbnail(Google_Service_ToolResults_Thumbnail $thumbnail) + { + $this->thumbnail = $thumbnail; + } + public function getThumbnail() + { + return $this->thumbnail; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ToolResults/InconclusiveDetail.php b/vendor/google/apiclient-services/src/Google/Service/ToolResults/InconclusiveDetail.php new file mode 100644 index 00000000..b5e888a0 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ToolResults/InconclusiveDetail.php @@ -0,0 +1,39 @@ +abortedByUser = $abortedByUser; + } + public function getAbortedByUser() + { + return $this->abortedByUser; + } + public function setInfrastructureFailure($infrastructureFailure) + { + $this->infrastructureFailure = $infrastructureFailure; + } + public function getInfrastructureFailure() + { + return $this->infrastructureFailure; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ToolResults/ListExecutionsResponse.php b/vendor/google/apiclient-services/src/Google/Service/ToolResults/ListExecutionsResponse.php new file mode 100644 index 00000000..479b644f --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ToolResults/ListExecutionsResponse.php @@ -0,0 +1,41 @@ +executions = $executions; + } + public function getExecutions() + { + return $this->executions; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ToolResults/ListHistoriesResponse.php b/vendor/google/apiclient-services/src/Google/Service/ToolResults/ListHistoriesResponse.php new file mode 100644 index 00000000..b4c5b5a7 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ToolResults/ListHistoriesResponse.php @@ -0,0 +1,41 @@ +histories = $histories; + } + public function getHistories() + { + return $this->histories; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ToolResults/ListPerfSampleSeriesResponse.php b/vendor/google/apiclient-services/src/Google/Service/ToolResults/ListPerfSampleSeriesResponse.php new file mode 100644 index 00000000..360b07a7 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ToolResults/ListPerfSampleSeriesResponse.php @@ -0,0 +1,32 @@ +perfSampleSeries = $perfSampleSeries; + } + public function getPerfSampleSeries() + { + return $this->perfSampleSeries; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ToolResults/ListPerfSamplesResponse.php b/vendor/google/apiclient-services/src/Google/Service/ToolResults/ListPerfSamplesResponse.php new file mode 100644 index 00000000..e6670e1b --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ToolResults/ListPerfSamplesResponse.php @@ -0,0 +1,41 @@ +nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setPerfSamples($perfSamples) + { + $this->perfSamples = $perfSamples; + } + public function getPerfSamples() + { + return $this->perfSamples; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ToolResults/ListStepThumbnailsResponse.php b/vendor/google/apiclient-services/src/Google/Service/ToolResults/ListStepThumbnailsResponse.php new file mode 100644 index 00000000..9ed07d75 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ToolResults/ListStepThumbnailsResponse.php @@ -0,0 +1,41 @@ +nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setThumbnails($thumbnails) + { + $this->thumbnails = $thumbnails; + } + public function getThumbnails() + { + return $this->thumbnails; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ToolResults/ListStepsResponse.php b/vendor/google/apiclient-services/src/Google/Service/ToolResults/ListStepsResponse.php new file mode 100644 index 00000000..96fe5e76 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ToolResults/ListStepsResponse.php @@ -0,0 +1,41 @@ +nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setSteps($steps) + { + $this->steps = $steps; + } + public function getSteps() + { + return $this->steps; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ToolResults/MemoryInfo.php b/vendor/google/apiclient-services/src/Google/Service/ToolResults/MemoryInfo.php new file mode 100644 index 00000000..e445bdb4 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ToolResults/MemoryInfo.php @@ -0,0 +1,39 @@ +memoryCapInKibibyte = $memoryCapInKibibyte; + } + public function getMemoryCapInKibibyte() + { + return $this->memoryCapInKibibyte; + } + public function setMemoryTotalInKibibyte($memoryTotalInKibibyte) + { + $this->memoryTotalInKibibyte = $memoryTotalInKibibyte; + } + public function getMemoryTotalInKibibyte() + { + return $this->memoryTotalInKibibyte; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ToolResults/Outcome.php b/vendor/google/apiclient-services/src/Google/Service/ToolResults/Outcome.php new file mode 100644 index 00000000..f7bada97 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ToolResults/Outcome.php @@ -0,0 +1,70 @@ +failureDetail = $failureDetail; + } + public function getFailureDetail() + { + return $this->failureDetail; + } + public function setInconclusiveDetail(Google_Service_ToolResults_InconclusiveDetail $inconclusiveDetail) + { + $this->inconclusiveDetail = $inconclusiveDetail; + } + public function getInconclusiveDetail() + { + return $this->inconclusiveDetail; + } + public function setSkippedDetail(Google_Service_ToolResults_SkippedDetail $skippedDetail) + { + $this->skippedDetail = $skippedDetail; + } + public function getSkippedDetail() + { + return $this->skippedDetail; + } + public function setSuccessDetail(Google_Service_ToolResults_SuccessDetail $successDetail) + { + $this->successDetail = $successDetail; + } + public function getSuccessDetail() + { + return $this->successDetail; + } + public function setSummary($summary) + { + $this->summary = $summary; + } + public function getSummary() + { + return $this->summary; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ToolResults/PerfEnvironment.php b/vendor/google/apiclient-services/src/Google/Service/ToolResults/PerfEnvironment.php new file mode 100644 index 00000000..2b5672aa --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ToolResults/PerfEnvironment.php @@ -0,0 +1,41 @@ +cpuInfo = $cpuInfo; + } + public function getCpuInfo() + { + return $this->cpuInfo; + } + public function setMemoryInfo(Google_Service_ToolResults_MemoryInfo $memoryInfo) + { + $this->memoryInfo = $memoryInfo; + } + public function getMemoryInfo() + { + return $this->memoryInfo; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ToolResults/PerfMetricsSummary.php b/vendor/google/apiclient-services/src/Google/Service/ToolResults/PerfMetricsSummary.php new file mode 100644 index 00000000..03bc72a5 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ToolResults/PerfMetricsSummary.php @@ -0,0 +1,77 @@ +executionId = $executionId; + } + public function getExecutionId() + { + return $this->executionId; + } + public function setHistoryId($historyId) + { + $this->historyId = $historyId; + } + public function getHistoryId() + { + return $this->historyId; + } + public function setPerfEnvironment(Google_Service_ToolResults_PerfEnvironment $perfEnvironment) + { + $this->perfEnvironment = $perfEnvironment; + } + public function getPerfEnvironment() + { + return $this->perfEnvironment; + } + public function setPerfMetrics($perfMetrics) + { + $this->perfMetrics = $perfMetrics; + } + public function getPerfMetrics() + { + return $this->perfMetrics; + } + public function setProjectId($projectId) + { + $this->projectId = $projectId; + } + public function getProjectId() + { + return $this->projectId; + } + public function setStepId($stepId) + { + $this->stepId = $stepId; + } + public function getStepId() + { + return $this->stepId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ToolResults/PerfSample.php b/vendor/google/apiclient-services/src/Google/Service/ToolResults/PerfSample.php new file mode 100644 index 00000000..c1ddf723 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ToolResults/PerfSample.php @@ -0,0 +1,40 @@ +sampleTime = $sampleTime; + } + public function getSampleTime() + { + return $this->sampleTime; + } + public function setValue($value) + { + $this->value = $value; + } + public function getValue() + { + return $this->value; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ToolResults/PerfSampleSeries.php b/vendor/google/apiclient-services/src/Google/Service/ToolResults/PerfSampleSeries.php new file mode 100644 index 00000000..79e0364f --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ToolResults/PerfSampleSeries.php @@ -0,0 +1,76 @@ +basicPerfSampleSeries = $basicPerfSampleSeries; + } + public function getBasicPerfSampleSeries() + { + return $this->basicPerfSampleSeries; + } + public function setExecutionId($executionId) + { + $this->executionId = $executionId; + } + public function getExecutionId() + { + return $this->executionId; + } + public function setHistoryId($historyId) + { + $this->historyId = $historyId; + } + public function getHistoryId() + { + return $this->historyId; + } + public function setProjectId($projectId) + { + $this->projectId = $projectId; + } + public function getProjectId() + { + return $this->projectId; + } + public function setSampleSeriesId($sampleSeriesId) + { + $this->sampleSeriesId = $sampleSeriesId; + } + public function getSampleSeriesId() + { + return $this->sampleSeriesId; + } + public function setStepId($stepId) + { + $this->stepId = $stepId; + } + public function getStepId() + { + return $this->stepId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ToolResults/ProjectSettings.php b/vendor/google/apiclient-services/src/Google/Service/ToolResults/ProjectSettings.php new file mode 100644 index 00000000..c1edd51a --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ToolResults/ProjectSettings.php @@ -0,0 +1,39 @@ +defaultBucket = $defaultBucket; + } + public function getDefaultBucket() + { + return $this->defaultBucket; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ToolResults/PublishXunitXmlFilesRequest.php b/vendor/google/apiclient-services/src/Google/Service/ToolResults/PublishXunitXmlFilesRequest.php new file mode 100644 index 00000000..c9480516 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ToolResults/PublishXunitXmlFilesRequest.php @@ -0,0 +1,32 @@ +xunitXmlFiles = $xunitXmlFiles; + } + public function getXunitXmlFiles() + { + return $this->xunitXmlFiles; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ToolResults/Resource/Projects.php b/vendor/google/apiclient-services/src/Google/Service/ToolResults/Resource/Projects.php new file mode 100644 index 00000000..506811c5 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ToolResults/Resource/Projects.php @@ -0,0 +1,86 @@ + + * $toolresultsService = new Google_Service_ToolResults(...); + * $projects = $toolresultsService->projects; + * + */ +class Google_Service_ToolResults_Resource_Projects extends Google_Service_Resource +{ + /** + * Gets the Tool Results settings for a project. + * + * May return any of the following canonical error codes: + * + * - PERMISSION_DENIED - if the user is not authorized to read from project + * (projects.getSettings) + * + * @param string $projectId A Project id. + * + * Required. + * @param array $optParams Optional parameters. + * @return Google_Service_ToolResults_ProjectSettings + */ + public function getSettings($projectId, $optParams = array()) + { + $params = array('projectId' => $projectId); + $params = array_merge($params, $optParams); + return $this->call('getSettings', array($params), "Google_Service_ToolResults_ProjectSettings"); + } + /** + * Creates resources for settings which have not yet been set. + * + * Currently, this creates a single resource: a Google Cloud Storage bucket, to + * be used as the default bucket for this project. The bucket is created in the + * name of the user calling. Except in rare cases, calling this method in + * parallel from multiple clients will only create a single bucket. In order to + * avoid unnecessary storage charges, the bucket is configured to automatically + * delete objects older than 90 days. + * + * The bucket is created with the project-private ACL: All project team members + * are given permissions to the bucket and objects created within it according + * to their roles. Project owners have owners rights, and so on. The default ACL + * on objects created in the bucket is project-private as well. See Google Cloud + * Storage documentation for more details. + * + * If there is already a default bucket set and the project can access the + * bucket, this call does nothing. However, if the project doesn't have the + * permission to access the bucket or the bucket is deteleted, a new bucket will + * be created. + * + * May return any canonical error codes, including the following: + * + * - PERMISSION_DENIED - if the user is not authorized to write to project - Any + * error code raised by Google Cloud Storage (projects.initializeSettings) + * + * @param string $projectId A Project id. + * + * Required. + * @param array $optParams Optional parameters. + * @return Google_Service_ToolResults_ProjectSettings + */ + public function initializeSettings($projectId, $optParams = array()) + { + $params = array('projectId' => $projectId); + $params = array_merge($params, $optParams); + return $this->call('initializeSettings', array($params), "Google_Service_ToolResults_ProjectSettings"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ToolResults/Resource/ProjectsHistories.php b/vendor/google/apiclient-services/src/Google/Service/ToolResults/Resource/ProjectsHistories.php new file mode 100644 index 00000000..801a938a --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ToolResults/Resource/ProjectsHistories.php @@ -0,0 +1,121 @@ + + * $toolresultsService = new Google_Service_ToolResults(...); + * $histories = $toolresultsService->histories; + * + */ +class Google_Service_ToolResults_Resource_ProjectsHistories extends Google_Service_Resource +{ + /** + * Creates a History. + * + * The returned History will have the id set. + * + * May return any of the following canonical error codes: + * + * - PERMISSION_DENIED - if the user is not authorized to write to project - + * INVALID_ARGUMENT - if the request is malformed - NOT_FOUND - if the + * containing project does not exist (histories.create) + * + * @param string $projectId A Project id. + * + * Required. + * @param Google_Service_ToolResults_History $postBody + * @param array $optParams Optional parameters. + * + * @opt_param string requestId A unique request ID for server to detect + * duplicated requests. For example, a UUID. + * + * Optional, but strongly recommended. + * @return Google_Service_ToolResults_History + */ + public function create($projectId, Google_Service_ToolResults_History $postBody, $optParams = array()) + { + $params = array('projectId' => $projectId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('create', array($params), "Google_Service_ToolResults_History"); + } + /** + * Gets a History. + * + * May return any of the following canonical error codes: + * + * - PERMISSION_DENIED - if the user is not authorized to read project - + * INVALID_ARGUMENT - if the request is malformed - NOT_FOUND - if the History + * does not exist (histories.get) + * + * @param string $projectId A Project id. + * + * Required. + * @param string $historyId A History id. + * + * Required. + * @param array $optParams Optional parameters. + * @return Google_Service_ToolResults_History + */ + public function get($projectId, $historyId, $optParams = array()) + { + $params = array('projectId' => $projectId, 'historyId' => $historyId); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_ToolResults_History"); + } + /** + * Lists Histories for a given Project. + * + * The histories are sorted by modification time in descending order. The + * history_id key will be used to order the history with the same modification + * time. + * + * May return any of the following canonical error codes: + * + * - PERMISSION_DENIED - if the user is not authorized to read project - + * INVALID_ARGUMENT - if the request is malformed - NOT_FOUND - if the History + * does not exist (histories.listProjectsHistories) + * + * @param string $projectId A Project id. + * + * Required. + * @param array $optParams Optional parameters. + * + * @opt_param string filterByName If set, only return histories with the given + * name. + * + * Optional. + * @opt_param int pageSize The maximum number of Histories to fetch. + * + * Default value: 20. The server will use this default if the field is not set + * or has a value of 0. Any value greater than 100 will be treated as 100. + * + * Optional. + * @opt_param string pageToken A continuation token to resume the query at the + * next item. + * + * Optional. + * @return Google_Service_ToolResults_ListHistoriesResponse + */ + public function listProjectsHistories($projectId, $optParams = array()) + { + $params = array('projectId' => $projectId); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_ToolResults_ListHistoriesResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ToolResults/Resource/ProjectsHistoriesExecutions.php b/vendor/google/apiclient-services/src/Google/Service/ToolResults/Resource/ProjectsHistoriesExecutions.php new file mode 100644 index 00000000..b1641597 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ToolResults/Resource/ProjectsHistoriesExecutions.php @@ -0,0 +1,155 @@ + + * $toolresultsService = new Google_Service_ToolResults(...); + * $executions = $toolresultsService->executions; + * + */ +class Google_Service_ToolResults_Resource_ProjectsHistoriesExecutions extends Google_Service_Resource +{ + /** + * Creates an Execution. + * + * The returned Execution will have the id set. + * + * May return any of the following canonical error codes: + * + * - PERMISSION_DENIED - if the user is not authorized to write to project - + * INVALID_ARGUMENT - if the request is malformed - NOT_FOUND - if the + * containing History does not exist (executions.create) + * + * @param string $projectId A Project id. + * + * Required. + * @param string $historyId A History id. + * + * Required. + * @param Google_Service_ToolResults_Execution $postBody + * @param array $optParams Optional parameters. + * + * @opt_param string requestId A unique request ID for server to detect + * duplicated requests. For example, a UUID. + * + * Optional, but strongly recommended. + * @return Google_Service_ToolResults_Execution + */ + public function create($projectId, $historyId, Google_Service_ToolResults_Execution $postBody, $optParams = array()) + { + $params = array('projectId' => $projectId, 'historyId' => $historyId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('create', array($params), "Google_Service_ToolResults_Execution"); + } + /** + * Gets an Execution. + * + * May return any of the following canonical error codes: + * + * - PERMISSION_DENIED - if the user is not authorized to write to project - + * INVALID_ARGUMENT - if the request is malformed - NOT_FOUND - if the Execution + * does not exist (executions.get) + * + * @param string $projectId A Project id. + * + * Required. + * @param string $historyId A History id. + * + * Required. + * @param string $executionId An Execution id. + * + * Required. + * @param array $optParams Optional parameters. + * @return Google_Service_ToolResults_Execution + */ + public function get($projectId, $historyId, $executionId, $optParams = array()) + { + $params = array('projectId' => $projectId, 'historyId' => $historyId, 'executionId' => $executionId); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_ToolResults_Execution"); + } + /** + * Lists Histories for a given Project. + * + * The executions are sorted by creation_time in descending order. The + * execution_id key will be used to order the executions with the same + * creation_time. + * + * May return any of the following canonical error codes: + * + * - PERMISSION_DENIED - if the user is not authorized to read project - + * INVALID_ARGUMENT - if the request is malformed - NOT_FOUND - if the + * containing History does not exist + * (executions.listProjectsHistoriesExecutions) + * + * @param string $projectId A Project id. + * + * Required. + * @param string $historyId A History id. + * + * Required. + * @param array $optParams Optional parameters. + * + * @opt_param int pageSize The maximum number of Executions to fetch. + * + * Default value: 25. The server will use this default if the field is not set + * or has a value of 0. + * + * Optional. + * @opt_param string pageToken A continuation token to resume the query at the + * next item. + * + * Optional. + * @return Google_Service_ToolResults_ListExecutionsResponse + */ + public function listProjectsHistoriesExecutions($projectId, $historyId, $optParams = array()) + { + $params = array('projectId' => $projectId, 'historyId' => $historyId); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_ToolResults_ListExecutionsResponse"); + } + /** + * Updates an existing Execution with the supplied partial entity. + * + * May return any of the following canonical error codes: + * + * - PERMISSION_DENIED - if the user is not authorized to write to project - + * INVALID_ARGUMENT - if the request is malformed - FAILED_PRECONDITION - if the + * requested state transition is illegal - NOT_FOUND - if the containing History + * does not exist (executions.patch) + * + * @param string $projectId A Project id. Required. + * @param string $historyId Required. + * @param string $executionId Required. + * @param Google_Service_ToolResults_Execution $postBody + * @param array $optParams Optional parameters. + * + * @opt_param string requestId A unique request ID for server to detect + * duplicated requests. For example, a UUID. + * + * Optional, but strongly recommended. + * @return Google_Service_ToolResults_Execution + */ + public function patch($projectId, $historyId, $executionId, Google_Service_ToolResults_Execution $postBody, $optParams = array()) + { + $params = array('projectId' => $projectId, 'historyId' => $historyId, 'executionId' => $executionId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('patch', array($params), "Google_Service_ToolResults_Execution"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ToolResults/Resource/ProjectsHistoriesExecutionsSteps.php b/vendor/google/apiclient-services/src/Google/Service/ToolResults/Resource/ProjectsHistoriesExecutionsSteps.php new file mode 100644 index 00000000..b7e11095 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ToolResults/Resource/ProjectsHistoriesExecutionsSteps.php @@ -0,0 +1,228 @@ + + * $toolresultsService = new Google_Service_ToolResults(...); + * $steps = $toolresultsService->steps; + * + */ +class Google_Service_ToolResults_Resource_ProjectsHistoriesExecutionsSteps extends Google_Service_Resource +{ + /** + * Creates a Step. + * + * The returned Step will have the id set. + * + * May return any of the following canonical error codes: + * + * - PERMISSION_DENIED - if the user is not authorized to write to project - + * INVALID_ARGUMENT - if the request is malformed - FAILED_PRECONDITION - if the + * step is too large (more than 10Mib) - NOT_FOUND - if the containing Execution + * does not exist (steps.create) + * + * @param string $projectId A Project id. + * + * Required. + * @param string $historyId A History id. + * + * Required. + * @param string $executionId A Execution id. + * + * Required. + * @param Google_Service_ToolResults_Step $postBody + * @param array $optParams Optional parameters. + * + * @opt_param string requestId A unique request ID for server to detect + * duplicated requests. For example, a UUID. + * + * Optional, but strongly recommended. + * @return Google_Service_ToolResults_Step + */ + public function create($projectId, $historyId, $executionId, Google_Service_ToolResults_Step $postBody, $optParams = array()) + { + $params = array('projectId' => $projectId, 'historyId' => $historyId, 'executionId' => $executionId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('create', array($params), "Google_Service_ToolResults_Step"); + } + /** + * Gets a Step. + * + * May return any of the following canonical error codes: + * + * - PERMISSION_DENIED - if the user is not authorized to read project - + * INVALID_ARGUMENT - if the request is malformed - NOT_FOUND - if the Step does + * not exist (steps.get) + * + * @param string $projectId A Project id. + * + * Required. + * @param string $historyId A History id. + * + * Required. + * @param string $executionId A Execution id. + * + * Required. + * @param string $stepId A Step id. + * + * Required. + * @param array $optParams Optional parameters. + * @return Google_Service_ToolResults_Step + */ + public function get($projectId, $historyId, $executionId, $stepId, $optParams = array()) + { + $params = array('projectId' => $projectId, 'historyId' => $historyId, 'executionId' => $executionId, 'stepId' => $stepId); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_ToolResults_Step"); + } + /** + * Retrieves a PerfMetricsSummary. + * + * May return any of the following error code(s): - NOT_FOUND - The specified + * PerfMetricsSummary does not exist (steps.getPerfMetricsSummary) + * + * @param string $projectId The cloud project + * @param string $historyId A tool results history ID. + * @param string $executionId A tool results execution ID. + * @param string $stepId A tool results step ID. + * @param array $optParams Optional parameters. + * @return Google_Service_ToolResults_PerfMetricsSummary + */ + public function getPerfMetricsSummary($projectId, $historyId, $executionId, $stepId, $optParams = array()) + { + $params = array('projectId' => $projectId, 'historyId' => $historyId, 'executionId' => $executionId, 'stepId' => $stepId); + $params = array_merge($params, $optParams); + return $this->call('getPerfMetricsSummary', array($params), "Google_Service_ToolResults_PerfMetricsSummary"); + } + /** + * Lists Steps for a given Execution. + * + * The steps are sorted by creation_time in descending order. The step_id key + * will be used to order the steps with the same creation_time. + * + * May return any of the following canonical error codes: + * + * - PERMISSION_DENIED - if the user is not authorized to read project - + * INVALID_ARGUMENT - if the request is malformed - FAILED_PRECONDITION - if an + * argument in the request happens to be invalid; e.g. if an attempt is made to + * list the children of a nonexistent Step - NOT_FOUND - if the containing + * Execution does not exist (steps.listProjectsHistoriesExecutionsSteps) + * + * @param string $projectId A Project id. + * + * Required. + * @param string $historyId A History id. + * + * Required. + * @param string $executionId A Execution id. + * + * Required. + * @param array $optParams Optional parameters. + * + * @opt_param int pageSize The maximum number of Steps to fetch. + * + * Default value: 25. The server will use this default if the field is not set + * or has a value of 0. + * + * Optional. + * @opt_param string pageToken A continuation token to resume the query at the + * next item. + * + * Optional. + * @return Google_Service_ToolResults_ListStepsResponse + */ + public function listProjectsHistoriesExecutionsSteps($projectId, $historyId, $executionId, $optParams = array()) + { + $params = array('projectId' => $projectId, 'historyId' => $historyId, 'executionId' => $executionId); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_ToolResults_ListStepsResponse"); + } + /** + * Updates an existing Step with the supplied partial entity. + * + * May return any of the following canonical error codes: + * + * - PERMISSION_DENIED - if the user is not authorized to write project - + * INVALID_ARGUMENT - if the request is malformed - FAILED_PRECONDITION - if the + * requested state transition is illegal (e.g try to upload a duplicate xml + * file), if the updated step is too large (more than 10Mib) - NOT_FOUND - if + * the containing Execution does not exist (steps.patch) + * + * @param string $projectId A Project id. + * + * Required. + * @param string $historyId A History id. + * + * Required. + * @param string $executionId A Execution id. + * + * Required. + * @param string $stepId A Step id. + * + * Required. + * @param Google_Service_ToolResults_Step $postBody + * @param array $optParams Optional parameters. + * + * @opt_param string requestId A unique request ID for server to detect + * duplicated requests. For example, a UUID. + * + * Optional, but strongly recommended. + * @return Google_Service_ToolResults_Step + */ + public function patch($projectId, $historyId, $executionId, $stepId, Google_Service_ToolResults_Step $postBody, $optParams = array()) + { + $params = array('projectId' => $projectId, 'historyId' => $historyId, 'executionId' => $executionId, 'stepId' => $stepId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('patch', array($params), "Google_Service_ToolResults_Step"); + } + /** + * Publish xml files to an existing Step. + * + * May return any of the following canonical error codes: + * + * - PERMISSION_DENIED - if the user is not authorized to write project - + * INVALID_ARGUMENT - if the request is malformed - FAILED_PRECONDITION - if the + * requested state transition is illegal, e.g try to upload a duplicate xml file + * or a file too large. - NOT_FOUND - if the containing Execution does not exist + * (steps.publishXunitXmlFiles) + * + * @param string $projectId A Project id. + * + * Required. + * @param string $historyId A History id. + * + * Required. + * @param string $executionId A Execution id. + * + * Required. + * @param string $stepId A Step id. Note: This step must include a + * TestExecutionStep. + * + * Required. + * @param Google_Service_ToolResults_PublishXunitXmlFilesRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_ToolResults_Step + */ + public function publishXunitXmlFiles($projectId, $historyId, $executionId, $stepId, Google_Service_ToolResults_PublishXunitXmlFilesRequest $postBody, $optParams = array()) + { + $params = array('projectId' => $projectId, 'historyId' => $historyId, 'executionId' => $executionId, 'stepId' => $stepId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('publishXunitXmlFiles', array($params), "Google_Service_ToolResults_Step"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ToolResults/Resource/ProjectsHistoriesExecutionsStepsPerfMetricsSummary.php b/vendor/google/apiclient-services/src/Google/Service/ToolResults/Resource/ProjectsHistoriesExecutionsStepsPerfMetricsSummary.php new file mode 100644 index 00000000..dbde0b5e --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ToolResults/Resource/ProjectsHistoriesExecutionsStepsPerfMetricsSummary.php @@ -0,0 +1,49 @@ + + * $toolresultsService = new Google_Service_ToolResults(...); + * $perfMetricsSummary = $toolresultsService->perfMetricsSummary; + * + */ +class Google_Service_ToolResults_Resource_ProjectsHistoriesExecutionsStepsPerfMetricsSummary extends Google_Service_Resource +{ + /** + * Creates a PerfMetricsSummary resource. + * + * May return any of the following error code(s): - ALREADY_EXISTS - A + * PerfMetricSummary already exists for the given Step - NOT_FOUND - The + * containing Step does not exist (perfMetricsSummary.create) + * + * @param string $projectId The cloud project + * @param string $historyId A tool results history ID. + * @param string $executionId A tool results execution ID. + * @param string $stepId A tool results step ID. + * @param Google_Service_ToolResults_PerfMetricsSummary $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_ToolResults_PerfMetricsSummary + */ + public function create($projectId, $historyId, $executionId, $stepId, Google_Service_ToolResults_PerfMetricsSummary $postBody, $optParams = array()) + { + $params = array('projectId' => $projectId, 'historyId' => $historyId, 'executionId' => $executionId, 'stepId' => $stepId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('create', array($params), "Google_Service_ToolResults_PerfMetricsSummary"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ToolResults/Resource/ProjectsHistoriesExecutionsStepsPerfSampleSeries.php b/vendor/google/apiclient-services/src/Google/Service/ToolResults/Resource/ProjectsHistoriesExecutionsStepsPerfSampleSeries.php new file mode 100644 index 00000000..84779a15 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ToolResults/Resource/ProjectsHistoriesExecutionsStepsPerfSampleSeries.php @@ -0,0 +1,96 @@ + + * $toolresultsService = new Google_Service_ToolResults(...); + * $perfSampleSeries = $toolresultsService->perfSampleSeries; + * + */ +class Google_Service_ToolResults_Resource_ProjectsHistoriesExecutionsStepsPerfSampleSeries extends Google_Service_Resource +{ + /** + * Creates a PerfSampleSeries. + * + * May return any of the following error code(s): - ALREADY_EXISTS - + * PerfMetricSummary already exists for the given Step - NOT_FOUND - The + * containing Step does not exist (perfSampleSeries.create) + * + * @param string $projectId The cloud project + * @param string $historyId A tool results history ID. + * @param string $executionId A tool results execution ID. + * @param string $stepId A tool results step ID. + * @param Google_Service_ToolResults_PerfSampleSeries $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_ToolResults_PerfSampleSeries + */ + public function create($projectId, $historyId, $executionId, $stepId, Google_Service_ToolResults_PerfSampleSeries $postBody, $optParams = array()) + { + $params = array('projectId' => $projectId, 'historyId' => $historyId, 'executionId' => $executionId, 'stepId' => $stepId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('create', array($params), "Google_Service_ToolResults_PerfSampleSeries"); + } + /** + * Gets a PerfSampleSeries. + * + * May return any of the following error code(s): - NOT_FOUND - The specified + * PerfSampleSeries does not exist (perfSampleSeries.get) + * + * @param string $projectId The cloud project + * @param string $historyId A tool results history ID. + * @param string $executionId A tool results execution ID. + * @param string $stepId A tool results step ID. + * @param string $sampleSeriesId A sample series id + * @param array $optParams Optional parameters. + * @return Google_Service_ToolResults_PerfSampleSeries + */ + public function get($projectId, $historyId, $executionId, $stepId, $sampleSeriesId, $optParams = array()) + { + $params = array('projectId' => $projectId, 'historyId' => $historyId, 'executionId' => $executionId, 'stepId' => $stepId, 'sampleSeriesId' => $sampleSeriesId); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_ToolResults_PerfSampleSeries"); + } + /** + * Lists PerfSampleSeries for a given Step. + * + * The request provides an optional filter which specifies one or more + * PerfMetricsType to include in the result; if none returns all. The resulting + * PerfSampleSeries are sorted by ids. + * + * May return any of the following canonical error codes: - NOT_FOUND - The + * containing Step does not exist + * (perfSampleSeries.listProjectsHistoriesExecutionsStepsPerfSampleSeries) + * + * @param string $projectId The cloud project + * @param string $historyId A tool results history ID. + * @param string $executionId A tool results execution ID. + * @param string $stepId A tool results step ID. + * @param array $optParams Optional parameters. + * + * @opt_param string filter Specify one or more PerfMetricType values such as + * CPU to filter the result + * @return Google_Service_ToolResults_ListPerfSampleSeriesResponse + */ + public function listProjectsHistoriesExecutionsStepsPerfSampleSeries($projectId, $historyId, $executionId, $stepId, $optParams = array()) + { + $params = array('projectId' => $projectId, 'historyId' => $historyId, 'executionId' => $executionId, 'stepId' => $stepId); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_ToolResults_ListPerfSampleSeriesResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ToolResults/Resource/ProjectsHistoriesExecutionsStepsPerfSampleSeriesSamples.php b/vendor/google/apiclient-services/src/Google/Service/ToolResults/Resource/ProjectsHistoriesExecutionsStepsPerfSampleSeriesSamples.php new file mode 100644 index 00000000..1c4a55b7 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ToolResults/Resource/ProjectsHistoriesExecutionsStepsPerfSampleSeriesSamples.php @@ -0,0 +1,87 @@ + + * $toolresultsService = new Google_Service_ToolResults(...); + * $samples = $toolresultsService->samples; + * + */ +class Google_Service_ToolResults_Resource_ProjectsHistoriesExecutionsStepsPerfSampleSeriesSamples extends Google_Service_Resource +{ + /** + * Creates a batch of PerfSamples - a client can submit multiple batches of Perf + * Samples through repeated calls to this method in order to split up a large + * request payload - duplicates and existing timestamp entries will be ignored. + * - the batch operation may partially succeed - the set of elements + * successfully inserted is returned in the response (omits items which already + * existed in the database). + * + * May return any of the following canonical error codes: - NOT_FOUND - The + * containing PerfSampleSeries does not exist (samples.batchCreate) + * + * @param string $projectId The cloud project + * @param string $historyId A tool results history ID. + * @param string $executionId A tool results execution ID. + * @param string $stepId A tool results step ID. + * @param string $sampleSeriesId A sample series id + * @param Google_Service_ToolResults_BatchCreatePerfSamplesRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_ToolResults_BatchCreatePerfSamplesResponse + */ + public function batchCreate($projectId, $historyId, $executionId, $stepId, $sampleSeriesId, Google_Service_ToolResults_BatchCreatePerfSamplesRequest $postBody, $optParams = array()) + { + $params = array('projectId' => $projectId, 'historyId' => $historyId, 'executionId' => $executionId, 'stepId' => $stepId, 'sampleSeriesId' => $sampleSeriesId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('batchCreate', array($params), "Google_Service_ToolResults_BatchCreatePerfSamplesResponse"); + } + /** + * Lists the Performance Samples of a given Sample Series - The list results are + * sorted by timestamps ascending - The default page size is 500 samples; and + * maximum size allowed 5000 - The response token indicates the last returned + * PerfSample timestamp - When the results size exceeds the page size, submit a + * subsequent request including the page token to return the rest of the samples + * up to the page limit + * + * May return any of the following canonical error codes: - OUT_OF_RANGE - The + * specified request page_token is out of valid range - NOT_FOUND - The + * containing PerfSampleSeries does not exist + * (samples.listProjectsHistoriesExecutionsStepsPerfSampleSeriesSamples) + * + * @param string $projectId The cloud project + * @param string $historyId A tool results history ID. + * @param string $executionId A tool results execution ID. + * @param string $stepId A tool results step ID. + * @param string $sampleSeriesId A sample series id + * @param array $optParams Optional parameters. + * + * @opt_param int pageSize The default page size is 500 samples, and the maximum + * size is 5000. If the page_size is greater than 5000, the effective page size + * will be 5000 + * @opt_param string pageToken Optional, the next_page_token returned in the + * previous response + * @return Google_Service_ToolResults_ListPerfSamplesResponse + */ + public function listProjectsHistoriesExecutionsStepsPerfSampleSeriesSamples($projectId, $historyId, $executionId, $stepId, $sampleSeriesId, $optParams = array()) + { + $params = array('projectId' => $projectId, 'historyId' => $historyId, 'executionId' => $executionId, 'stepId' => $stepId, 'sampleSeriesId' => $sampleSeriesId); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_ToolResults_ListPerfSamplesResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ToolResults/Resource/ProjectsHistoriesExecutionsStepsThumbnails.php b/vendor/google/apiclient-services/src/Google/Service/ToolResults/Resource/ProjectsHistoriesExecutionsStepsThumbnails.php new file mode 100644 index 00000000..c4fdfd74 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ToolResults/Resource/ProjectsHistoriesExecutionsStepsThumbnails.php @@ -0,0 +1,69 @@ + + * $toolresultsService = new Google_Service_ToolResults(...); + * $thumbnails = $toolresultsService->thumbnails; + * + */ +class Google_Service_ToolResults_Resource_ProjectsHistoriesExecutionsStepsThumbnails extends Google_Service_Resource +{ + /** + * Lists thumbnails of images attached to a step. + * + * May return any of the following canonical error codes: - PERMISSION_DENIED - + * if the user is not authorized to read from the project, or from any of the + * images - INVALID_ARGUMENT - if the request is malformed - NOT_FOUND - if the + * step does not exist, or if any of the images do not exist + * (thumbnails.listProjectsHistoriesExecutionsStepsThumbnails) + * + * @param string $projectId A Project id. + * + * Required. + * @param string $historyId A History id. + * + * Required. + * @param string $executionId An Execution id. + * + * Required. + * @param string $stepId A Step id. + * + * Required. + * @param array $optParams Optional parameters. + * + * @opt_param int pageSize The maximum number of thumbnails to fetch. + * + * Default value: 50. The server will use this default if the field is not set + * or has a value of 0. + * + * Optional. + * @opt_param string pageToken A continuation token to resume the query at the + * next item. + * + * Optional. + * @return Google_Service_ToolResults_ListStepThumbnailsResponse + */ + public function listProjectsHistoriesExecutionsStepsThumbnails($projectId, $historyId, $executionId, $stepId, $optParams = array()) + { + $params = array('projectId' => $projectId, 'historyId' => $historyId, 'executionId' => $executionId, 'stepId' => $stepId); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_ToolResults_ListStepThumbnailsResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ToolResults/SkippedDetail.php b/vendor/google/apiclient-services/src/Google/Service/ToolResults/SkippedDetail.php new file mode 100644 index 00000000..eceaab36 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ToolResults/SkippedDetail.php @@ -0,0 +1,48 @@ +incompatibleAppVersion = $incompatibleAppVersion; + } + public function getIncompatibleAppVersion() + { + return $this->incompatibleAppVersion; + } + public function setIncompatibleArchitecture($incompatibleArchitecture) + { + $this->incompatibleArchitecture = $incompatibleArchitecture; + } + public function getIncompatibleArchitecture() + { + return $this->incompatibleArchitecture; + } + public function setIncompatibleDevice($incompatibleDevice) + { + $this->incompatibleDevice = $incompatibleDevice; + } + public function getIncompatibleDevice() + { + return $this->incompatibleDevice; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ToolResults/StackTrace.php b/vendor/google/apiclient-services/src/Google/Service/ToolResults/StackTrace.php new file mode 100644 index 00000000..7a86b325 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ToolResults/StackTrace.php @@ -0,0 +1,30 @@ +exception = $exception; + } + public function getException() + { + return $this->exception; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ToolResults/Status.php b/vendor/google/apiclient-services/src/Google/Service/ToolResults/Status.php new file mode 100644 index 00000000..679c1001 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ToolResults/Status.php @@ -0,0 +1,50 @@ +code = $code; + } + public function getCode() + { + return $this->code; + } + public function setDetails($details) + { + $this->details = $details; + } + public function getDetails() + { + return $this->details; + } + public function setMessage($message) + { + $this->message = $message; + } + public function getMessage() + { + return $this->message; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ToolResults/Step.php b/vendor/google/apiclient-services/src/Google/Service/ToolResults/Step.php new file mode 100644 index 00000000..34cf165b --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ToolResults/Step.php @@ -0,0 +1,157 @@ +completionTime = $completionTime; + } + public function getCompletionTime() + { + return $this->completionTime; + } + public function setCreationTime(Google_Service_ToolResults_Timestamp $creationTime) + { + $this->creationTime = $creationTime; + } + public function getCreationTime() + { + return $this->creationTime; + } + public function setDescription($description) + { + $this->description = $description; + } + public function getDescription() + { + return $this->description; + } + public function setDeviceUsageDuration(Google_Service_ToolResults_Duration $deviceUsageDuration) + { + $this->deviceUsageDuration = $deviceUsageDuration; + } + public function getDeviceUsageDuration() + { + return $this->deviceUsageDuration; + } + public function setDimensionValue($dimensionValue) + { + $this->dimensionValue = $dimensionValue; + } + public function getDimensionValue() + { + return $this->dimensionValue; + } + public function setHasImages($hasImages) + { + $this->hasImages = $hasImages; + } + public function getHasImages() + { + return $this->hasImages; + } + public function setLabels($labels) + { + $this->labels = $labels; + } + public function getLabels() + { + return $this->labels; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setOutcome(Google_Service_ToolResults_Outcome $outcome) + { + $this->outcome = $outcome; + } + public function getOutcome() + { + return $this->outcome; + } + public function setRunDuration(Google_Service_ToolResults_Duration $runDuration) + { + $this->runDuration = $runDuration; + } + public function getRunDuration() + { + return $this->runDuration; + } + public function setState($state) + { + $this->state = $state; + } + public function getState() + { + return $this->state; + } + public function setStepId($stepId) + { + $this->stepId = $stepId; + } + public function getStepId() + { + return $this->stepId; + } + public function setTestExecutionStep(Google_Service_ToolResults_TestExecutionStep $testExecutionStep) + { + $this->testExecutionStep = $testExecutionStep; + } + public function getTestExecutionStep() + { + return $this->testExecutionStep; + } + public function setToolExecutionStep(Google_Service_ToolResults_ToolExecutionStep $toolExecutionStep) + { + $this->toolExecutionStep = $toolExecutionStep; + } + public function getToolExecutionStep() + { + return $this->toolExecutionStep; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ToolResults/StepDimensionValueEntry.php b/vendor/google/apiclient-services/src/Google/Service/ToolResults/StepDimensionValueEntry.php new file mode 100644 index 00000000..ea9eaafa --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ToolResults/StepDimensionValueEntry.php @@ -0,0 +1,39 @@ +key = $key; + } + public function getKey() + { + return $this->key; + } + public function setValue($value) + { + $this->value = $value; + } + public function getValue() + { + return $this->value; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ToolResults/StepLabelsEntry.php b/vendor/google/apiclient-services/src/Google/Service/ToolResults/StepLabelsEntry.php new file mode 100644 index 00000000..465e82de --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ToolResults/StepLabelsEntry.php @@ -0,0 +1,39 @@ +key = $key; + } + public function getKey() + { + return $this->key; + } + public function setValue($value) + { + $this->value = $value; + } + public function getValue() + { + return $this->value; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ToolResults/SuccessDetail.php b/vendor/google/apiclient-services/src/Google/Service/ToolResults/SuccessDetail.php new file mode 100644 index 00000000..40ecfdec --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ToolResults/SuccessDetail.php @@ -0,0 +1,30 @@ +otherNativeCrash = $otherNativeCrash; + } + public function getOtherNativeCrash() + { + return $this->otherNativeCrash; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ToolResults/TestCaseReference.php b/vendor/google/apiclient-services/src/Google/Service/ToolResults/TestCaseReference.php new file mode 100644 index 00000000..09a02a5a --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ToolResults/TestCaseReference.php @@ -0,0 +1,48 @@ +className = $className; + } + public function getClassName() + { + return $this->className; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setTestSuiteName($testSuiteName) + { + $this->testSuiteName = $testSuiteName; + } + public function getTestSuiteName() + { + return $this->testSuiteName; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ToolResults/TestExecutionStep.php b/vendor/google/apiclient-services/src/Google/Service/ToolResults/TestExecutionStep.php new file mode 100644 index 00000000..905c89ee --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ToolResults/TestExecutionStep.php @@ -0,0 +1,62 @@ +testIssues = $testIssues; + } + public function getTestIssues() + { + return $this->testIssues; + } + public function setTestSuiteOverviews($testSuiteOverviews) + { + $this->testSuiteOverviews = $testSuiteOverviews; + } + public function getTestSuiteOverviews() + { + return $this->testSuiteOverviews; + } + public function setTestTiming(Google_Service_ToolResults_TestTiming $testTiming) + { + $this->testTiming = $testTiming; + } + public function getTestTiming() + { + return $this->testTiming; + } + public function setToolExecution(Google_Service_ToolResults_ToolExecution $toolExecution) + { + $this->toolExecution = $toolExecution; + } + public function getToolExecution() + { + return $this->toolExecution; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ToolResults/TestIssue.php b/vendor/google/apiclient-services/src/Google/Service/ToolResults/TestIssue.php new file mode 100644 index 00000000..249b1401 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ToolResults/TestIssue.php @@ -0,0 +1,40 @@ +errorMessage = $errorMessage; + } + public function getErrorMessage() + { + return $this->errorMessage; + } + public function setStackTrace(Google_Service_ToolResults_StackTrace $stackTrace) + { + $this->stackTrace = $stackTrace; + } + public function getStackTrace() + { + return $this->stackTrace; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ToolResults/TestSuiteOverview.php b/vendor/google/apiclient-services/src/Google/Service/ToolResults/TestSuiteOverview.php new file mode 100644 index 00000000..1d414d48 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ToolResults/TestSuiteOverview.php @@ -0,0 +1,76 @@ +errorCount = $errorCount; + } + public function getErrorCount() + { + return $this->errorCount; + } + public function setFailureCount($failureCount) + { + $this->failureCount = $failureCount; + } + public function getFailureCount() + { + return $this->failureCount; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setSkippedCount($skippedCount) + { + $this->skippedCount = $skippedCount; + } + public function getSkippedCount() + { + return $this->skippedCount; + } + public function setTotalCount($totalCount) + { + $this->totalCount = $totalCount; + } + public function getTotalCount() + { + return $this->totalCount; + } + public function setXmlSource(Google_Service_ToolResults_FileReference $xmlSource) + { + $this->xmlSource = $xmlSource; + } + public function getXmlSource() + { + return $this->xmlSource; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ToolResults/TestTiming.php b/vendor/google/apiclient-services/src/Google/Service/ToolResults/TestTiming.php new file mode 100644 index 00000000..c423ad0b --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ToolResults/TestTiming.php @@ -0,0 +1,31 @@ +testProcessDuration = $testProcessDuration; + } + public function getTestProcessDuration() + { + return $this->testProcessDuration; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ToolResults/Thumbnail.php b/vendor/google/apiclient-services/src/Google/Service/ToolResults/Thumbnail.php new file mode 100644 index 00000000..d25ce8a4 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ToolResults/Thumbnail.php @@ -0,0 +1,57 @@ +contentType = $contentType; + } + public function getContentType() + { + return $this->contentType; + } + public function setData($data) + { + $this->data = $data; + } + public function getData() + { + return $this->data; + } + public function setHeightPx($heightPx) + { + $this->heightPx = $heightPx; + } + public function getHeightPx() + { + return $this->heightPx; + } + public function setWidthPx($widthPx) + { + $this->widthPx = $widthPx; + } + public function getWidthPx() + { + return $this->widthPx; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ToolResults/Timestamp.php b/vendor/google/apiclient-services/src/Google/Service/ToolResults/Timestamp.php new file mode 100644 index 00000000..4e329bfe --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ToolResults/Timestamp.php @@ -0,0 +1,39 @@ +nanos = $nanos; + } + public function getNanos() + { + return $this->nanos; + } + public function setSeconds($seconds) + { + $this->seconds = $seconds; + } + public function getSeconds() + { + return $this->seconds; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ToolResults/ToolExecution.php b/vendor/google/apiclient-services/src/Google/Service/ToolResults/ToolExecution.php new file mode 100644 index 00000000..f462f129 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ToolResults/ToolExecution.php @@ -0,0 +1,61 @@ +commandLineArguments = $commandLineArguments; + } + public function getCommandLineArguments() + { + return $this->commandLineArguments; + } + public function setExitCode(Google_Service_ToolResults_ToolExitCode $exitCode) + { + $this->exitCode = $exitCode; + } + public function getExitCode() + { + return $this->exitCode; + } + public function setToolLogs($toolLogs) + { + $this->toolLogs = $toolLogs; + } + public function getToolLogs() + { + return $this->toolLogs; + } + public function setToolOutputs($toolOutputs) + { + $this->toolOutputs = $toolOutputs; + } + public function getToolOutputs() + { + return $this->toolOutputs; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ToolResults/ToolExecutionStep.php b/vendor/google/apiclient-services/src/Google/Service/ToolResults/ToolExecutionStep.php new file mode 100644 index 00000000..32a0e013 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ToolResults/ToolExecutionStep.php @@ -0,0 +1,31 @@ +toolExecution = $toolExecution; + } + public function getToolExecution() + { + return $this->toolExecution; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ToolResults/ToolExitCode.php b/vendor/google/apiclient-services/src/Google/Service/ToolResults/ToolExitCode.php new file mode 100644 index 00000000..8d25d55e --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ToolResults/ToolExitCode.php @@ -0,0 +1,30 @@ +number = $number; + } + public function getNumber() + { + return $this->number; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/ToolResults/ToolOutputReference.php b/vendor/google/apiclient-services/src/Google/Service/ToolResults/ToolOutputReference.php new file mode 100644 index 00000000..4d2f255d --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/ToolResults/ToolOutputReference.php @@ -0,0 +1,51 @@ +creationTime = $creationTime; + } + public function getCreationTime() + { + return $this->creationTime; + } + public function setOutput(Google_Service_ToolResults_FileReference $output) + { + $this->output = $output; + } + public function getOutput() + { + return $this->output; + } + public function setTestCase(Google_Service_ToolResults_TestCaseReference $testCase) + { + $this->testCase = $testCase; + } + public function getTestCase() + { + return $this->testCase; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Tracing.php b/vendor/google/apiclient-services/src/Google/Service/Tracing.php new file mode 100644 index 00000000..75dc0e22 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Tracing.php @@ -0,0 +1,137 @@ + + * Send and retrieve trace data from Google Stackdriver Trace.

+ * + *

+ * For more information about this service, see the API + * Documentation + *

+ * + * @author Google, Inc. + */ +class Google_Service_Tracing extends Google_Service +{ + /** View and manage your data across Google Cloud Platform services. */ + const CLOUD_PLATFORM = + "https://www.googleapis.com/auth/cloud-platform"; + /** Write Trace data for a project or application. */ + const TRACE_APPEND = + "https://www.googleapis.com/auth/trace.append"; + /** Read Trace data for a project or application. */ + const TRACE_READONLY = + "https://www.googleapis.com/auth/trace.readonly"; + + public $projects_traces; + + /** + * Constructs the internal representation of the Tracing service. + * + * @param Google_Client $client + */ + public function __construct(Google_Client $client) + { + parent::__construct($client); + $this->rootUrl = 'https://tracing.googleapis.com/'; + $this->servicePath = ''; + $this->version = 'v1'; + $this->serviceName = 'tracing'; + + $this->projects_traces = new Google_Service_Tracing_Resource_ProjectsTraces( + $this, + $this->serviceName, + 'traces', + array( + 'methods' => array( + 'batchUpdate' => array( + 'path' => 'v1/{+parent}/traces:batchUpdate', + 'httpMethod' => 'POST', + 'parameters' => array( + 'parent' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'get' => array( + 'path' => 'v1/{+name}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'name' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'v1/{+parent}/traces', + 'httpMethod' => 'GET', + 'parameters' => array( + 'parent' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'filter' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'endTime' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'startTime' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pageSize' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'orderBy' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'listSpans' => array( + 'path' => 'v1/{+name}:listSpans', + 'httpMethod' => 'GET', + 'parameters' => array( + 'name' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Tracing/Annotation.php b/vendor/google/apiclient-services/src/Google/Service/Tracing/Annotation.php new file mode 100644 index 00000000..7f13a0fc --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Tracing/Annotation.php @@ -0,0 +1,40 @@ +attributes = $attributes; + } + public function getAttributes() + { + return $this->attributes; + } + public function setDescription($description) + { + $this->description = $description; + } + public function getDescription() + { + return $this->description; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Tracing/AttributeValue.php b/vendor/google/apiclient-services/src/Google/Service/Tracing/AttributeValue.php new file mode 100644 index 00000000..4f106b2a --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Tracing/AttributeValue.php @@ -0,0 +1,48 @@ +boolValue = $boolValue; + } + public function getBoolValue() + { + return $this->boolValue; + } + public function setIntValue($intValue) + { + $this->intValue = $intValue; + } + public function getIntValue() + { + return $this->intValue; + } + public function setStringValue($stringValue) + { + $this->stringValue = $stringValue; + } + public function getStringValue() + { + return $this->stringValue; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Tracing/BatchUpdateSpansRequest.php b/vendor/google/apiclient-services/src/Google/Service/Tracing/BatchUpdateSpansRequest.php new file mode 100644 index 00000000..35b349f4 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Tracing/BatchUpdateSpansRequest.php @@ -0,0 +1,31 @@ +spanUpdates = $spanUpdates; + } + public function getSpanUpdates() + { + return $this->spanUpdates; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Tracing/Link.php b/vendor/google/apiclient-services/src/Google/Service/Tracing/Link.php new file mode 100644 index 00000000..0eaad74a --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Tracing/Link.php @@ -0,0 +1,48 @@ +spanId = $spanId; + } + public function getSpanId() + { + return $this->spanId; + } + public function setTraceId($traceId) + { + $this->traceId = $traceId; + } + public function getTraceId() + { + return $this->traceId; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Tracing/ListSpansResponse.php b/vendor/google/apiclient-services/src/Google/Service/Tracing/ListSpansResponse.php new file mode 100644 index 00000000..70903e55 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Tracing/ListSpansResponse.php @@ -0,0 +1,41 @@ +nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setSpans($spans) + { + $this->spans = $spans; + } + public function getSpans() + { + return $this->spans; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Tracing/ListTracesResponse.php b/vendor/google/apiclient-services/src/Google/Service/Tracing/ListTracesResponse.php new file mode 100644 index 00000000..82b58491 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Tracing/ListTracesResponse.php @@ -0,0 +1,41 @@ +nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setTraces($traces) + { + $this->traces = $traces; + } + public function getTraces() + { + return $this->traces; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Tracing/Module.php b/vendor/google/apiclient-services/src/Google/Service/Tracing/Module.php new file mode 100644 index 00000000..88d87b88 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Tracing/Module.php @@ -0,0 +1,39 @@ +buildId = $buildId; + } + public function getBuildId() + { + return $this->buildId; + } + public function setModule($module) + { + $this->module = $module; + } + public function getModule() + { + return $this->module; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Tracing/NetworkEvent.php b/vendor/google/apiclient-services/src/Google/Service/Tracing/NetworkEvent.php new file mode 100644 index 00000000..4c71f090 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Tracing/NetworkEvent.php @@ -0,0 +1,57 @@ +kernelTime = $kernelTime; + } + public function getKernelTime() + { + return $this->kernelTime; + } + public function setMessageId($messageId) + { + $this->messageId = $messageId; + } + public function getMessageId() + { + return $this->messageId; + } + public function setMessageSize($messageSize) + { + $this->messageSize = $messageSize; + } + public function getMessageSize() + { + return $this->messageSize; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Tracing/Resource/Projects.php b/vendor/google/apiclient-services/src/Google/Service/Tracing/Resource/Projects.php new file mode 100644 index 00000000..40f60eaa --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Tracing/Resource/Projects.php @@ -0,0 +1,28 @@ + + * $tracingService = new Google_Service_Tracing(...); + * $projects = $tracingService->projects; + * + */ +class Google_Service_Tracing_Resource_Projects extends Google_Service_Resource +{ +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Tracing/Resource/ProjectsTraces.php b/vendor/google/apiclient-services/src/Google/Service/Tracing/Resource/ProjectsTraces.php new file mode 100644 index 00000000..b92f2420 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Tracing/Resource/ProjectsTraces.php @@ -0,0 +1,116 @@ + + * $tracingService = new Google_Service_Tracing(...); + * $traces = $tracingService->traces; + * + */ +class Google_Service_Tracing_Resource_ProjectsTraces extends Google_Service_Resource +{ + /** + * Sends new spans to Stackdriver Trace or updates existing spans. If the name + * of a trace that you send matches that of an existing trace, any fields in the + * existing trace and its spans are overwritten by the provided values, and any + * new fields provided are merged with the existing trace data. If the name does + * not match, a new trace is created with given set of spans. + * (traces.batchUpdate) + * + * @param string $parent ID of the Cloud project where the trace data is stored. + * @param Google_Service_Tracing_BatchUpdateSpansRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Tracing_TracingEmpty + */ + public function batchUpdate($parent, Google_Service_Tracing_BatchUpdateSpansRequest $postBody, $optParams = array()) + { + $params = array('parent' => $parent, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('batchUpdate', array($params), "Google_Service_Tracing_TracingEmpty"); + } + /** + * Returns a specific trace. (traces.get) + * + * @param string $name ID of the trace which is "projects//traces/". + * @param array $optParams Optional parameters. + * @return Google_Service_Tracing_Trace + */ + public function get($name, $optParams = array()) + { + $params = array('name' => $name); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Tracing_Trace"); + } + /** + * Returns of a list of traces that match the specified filter conditions. + * (traces.listProjectsTraces) + * + * @param string $parent ID of the Cloud project where the trace data is stored. + * @param array $optParams Optional parameters. + * + * @opt_param string filter An optional filter for the request. Example: + * "version_label_key:a some_label:some_label_key" returns traces from version a + * and has some_label with some_label_key. + * @opt_param string endTime End of the time interval (inclusive) during which + * the trace data was collected from the application. + * @opt_param string pageToken Token identifying the page of results to return. + * If provided, use the value of the `next_page_token` field from a previous + * request. Optional. + * @opt_param string startTime Start of the time interval (inclusive) during + * which the trace data was collected from the application. + * @opt_param int pageSize Maximum number of traces to return. If not specified + * or <= 0, the implementation selects a reasonable value. The implementation + * may return fewer traces than the requested page size. Optional. + * @opt_param string orderBy Field used to sort the returned traces. Optional. + * Can be one of the following: + * + * * `trace_id` * `name` (`name` field of root span in the trace) * + * `duration` (difference between `end_time` and `start_time` fields of the + * root span) * `start` (`start_time` field of the root span) + * + * Descending order can be specified by appending `desc` to the sort field (for + * example, `name desc`). + * + * Only one sort field is permitted. + * @return Google_Service_Tracing_ListTracesResponse + */ + public function listProjectsTraces($parent, $optParams = array()) + { + $params = array('parent' => $parent); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Tracing_ListTracesResponse"); + } + /** + * Returns a list of spans within a trace. (traces.listSpans) + * + * @param string $name ID of the span set where is "projects//traces/". + * @param array $optParams Optional parameters. + * + * @opt_param string pageToken Token identifying the page of results to return. + * If provided, use the value of the `page_token` field from a previous request. + * Optional. + * @return Google_Service_Tracing_ListSpansResponse + */ + public function listSpans($name, $optParams = array()) + { + $params = array('name' => $name); + $params = array_merge($params, $optParams); + return $this->call('listSpans', array($params), "Google_Service_Tracing_ListSpansResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Tracing/Span.php b/vendor/google/apiclient-services/src/Google/Service/Tracing/Span.php new file mode 100644 index 00000000..f10fb7ce --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Tracing/Span.php @@ -0,0 +1,126 @@ +attributes = $attributes; + } + public function getAttributes() + { + return $this->attributes; + } + public function setHasRemoteParent($hasRemoteParent) + { + $this->hasRemoteParent = $hasRemoteParent; + } + public function getHasRemoteParent() + { + return $this->hasRemoteParent; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setLinks($links) + { + $this->links = $links; + } + public function getLinks() + { + return $this->links; + } + public function setLocalEndTime($localEndTime) + { + $this->localEndTime = $localEndTime; + } + public function getLocalEndTime() + { + return $this->localEndTime; + } + public function setLocalStartTime($localStartTime) + { + $this->localStartTime = $localStartTime; + } + public function getLocalStartTime() + { + return $this->localStartTime; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setParentId($parentId) + { + $this->parentId = $parentId; + } + public function getParentId() + { + return $this->parentId; + } + public function setStackTrace(Google_Service_Tracing_StackTrace $stackTrace) + { + $this->stackTrace = $stackTrace; + } + public function getStackTrace() + { + return $this->stackTrace; + } + public function setStatus(Google_Service_Tracing_Status $status) + { + $this->status = $status; + } + public function getStatus() + { + return $this->status; + } + public function setTimeEvents($timeEvents) + { + $this->timeEvents = $timeEvents; + } + public function getTimeEvents() + { + return $this->timeEvents; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Tracing/SpanUpdates.php b/vendor/google/apiclient-services/src/Google/Service/Tracing/SpanUpdates.php new file mode 100644 index 00000000..189adbca --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Tracing/SpanUpdates.php @@ -0,0 +1,32 @@ +spans = $spans; + } + public function getSpans() + { + return $this->spans; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Tracing/StackFrame.php b/vendor/google/apiclient-services/src/Google/Service/Tracing/StackFrame.php new file mode 100644 index 00000000..c415bd26 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Tracing/StackFrame.php @@ -0,0 +1,85 @@ +columnNumber = $columnNumber; + } + public function getColumnNumber() + { + return $this->columnNumber; + } + public function setFileName($fileName) + { + $this->fileName = $fileName; + } + public function getFileName() + { + return $this->fileName; + } + public function setFunctionName($functionName) + { + $this->functionName = $functionName; + } + public function getFunctionName() + { + return $this->functionName; + } + public function setLineNumber($lineNumber) + { + $this->lineNumber = $lineNumber; + } + public function getLineNumber() + { + return $this->lineNumber; + } + public function setLoadModule(Google_Service_Tracing_Module $loadModule) + { + $this->loadModule = $loadModule; + } + public function getLoadModule() + { + return $this->loadModule; + } + public function setOriginalFunctionName($originalFunctionName) + { + $this->originalFunctionName = $originalFunctionName; + } + public function getOriginalFunctionName() + { + return $this->originalFunctionName; + } + public function setSourceVersion($sourceVersion) + { + $this->sourceVersion = $sourceVersion; + } + public function getSourceVersion() + { + return $this->sourceVersion; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Tracing/StackTrace.php b/vendor/google/apiclient-services/src/Google/Service/Tracing/StackTrace.php new file mode 100644 index 00000000..83e70068 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Tracing/StackTrace.php @@ -0,0 +1,41 @@ +stackFrame = $stackFrame; + } + public function getStackFrame() + { + return $this->stackFrame; + } + public function setStackTraceHashId($stackTraceHashId) + { + $this->stackTraceHashId = $stackTraceHashId; + } + public function getStackTraceHashId() + { + return $this->stackTraceHashId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Tracing/Status.php b/vendor/google/apiclient-services/src/Google/Service/Tracing/Status.php new file mode 100644 index 00000000..37d913d1 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Tracing/Status.php @@ -0,0 +1,49 @@ +code = $code; + } + public function getCode() + { + return $this->code; + } + public function setDetails($details) + { + $this->details = $details; + } + public function getDetails() + { + return $this->details; + } + public function setMessage($message) + { + $this->message = $message; + } + public function getMessage() + { + return $this->message; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Tracing/TimeEvent.php b/vendor/google/apiclient-services/src/Google/Service/Tracing/TimeEvent.php new file mode 100644 index 00000000..21c9b2c3 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Tracing/TimeEvent.php @@ -0,0 +1,50 @@ +annotation = $annotation; + } + public function getAnnotation() + { + return $this->annotation; + } + public function setLocalTime($localTime) + { + $this->localTime = $localTime; + } + public function getLocalTime() + { + return $this->localTime; + } + public function setNetworkEvent(Google_Service_Tracing_NetworkEvent $networkEvent) + { + $this->networkEvent = $networkEvent; + } + public function getNetworkEvent() + { + return $this->networkEvent; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Tracing/Trace.php b/vendor/google/apiclient-services/src/Google/Service/Tracing/Trace.php new file mode 100644 index 00000000..732912c5 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Tracing/Trace.php @@ -0,0 +1,30 @@ +name = $name; + } + public function getName() + { + return $this->name; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Tracing/TracingEmpty.php b/vendor/google/apiclient-services/src/Google/Service/Tracing/TracingEmpty.php new file mode 100644 index 00000000..21a5e473 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Tracing/TracingEmpty.php @@ -0,0 +1,20 @@ + + * Translates text from one language to another.

+ * + *

+ * For more information about this service, see the API + * Documentation + *

+ * + * @author Google, Inc. + */ +class Google_Service_Translate extends Google_Service +{ + + + public $detections; + public $languages; + public $translations; + + /** + * Constructs the internal representation of the Translate service. + * + * @param Google_Client $client + */ + public function __construct(Google_Client $client) + { + parent::__construct($client); + $this->rootUrl = 'https://www.googleapis.com/'; + $this->servicePath = 'language/translate/'; + $this->version = 'v2'; + $this->serviceName = 'translate'; + + $this->detections = new Google_Service_Translate_Resource_Detections( + $this, + $this->serviceName, + 'detections', + array( + 'methods' => array( + 'list' => array( + 'path' => 'v2/detect', + 'httpMethod' => 'GET', + 'parameters' => array( + 'q' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->languages = new Google_Service_Translate_Resource_Languages( + $this, + $this->serviceName, + 'languages', + array( + 'methods' => array( + 'list' => array( + 'path' => 'v2/languages', + 'httpMethod' => 'GET', + 'parameters' => array( + 'target' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + $this->translations = new Google_Service_Translate_Resource_Translations( + $this, + $this->serviceName, + 'translations', + array( + 'methods' => array( + 'list' => array( + 'path' => 'v2', + 'httpMethod' => 'GET', + 'parameters' => array( + 'q' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + 'required' => true, + ), + 'target' => array( + 'location' => 'query', + 'type' => 'string', + 'required' => true, + ), + 'cid' => array( + 'location' => 'query', + 'type' => 'string', + 'repeated' => true, + ), + 'format' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'source' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Translate/DetectionsListResponse.php b/vendor/google/apiclient-services/src/Google/Service/Translate/DetectionsListResponse.php new file mode 100644 index 00000000..c336dd68 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Translate/DetectionsListResponse.php @@ -0,0 +1,32 @@ +detections = $detections; + } + public function getDetections() + { + return $this->detections; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Translate/DetectionsResourceItems.php b/vendor/google/apiclient-services/src/Google/Service/Translate/DetectionsResourceItems.php new file mode 100644 index 00000000..c36f65d6 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Translate/DetectionsResourceItems.php @@ -0,0 +1,48 @@ +confidence = $confidence; + } + public function getConfidence() + { + return $this->confidence; + } + public function setIsReliable($isReliable) + { + $this->isReliable = $isReliable; + } + public function getIsReliable() + { + return $this->isReliable; + } + public function setLanguage($language) + { + $this->language = $language; + } + public function getLanguage() + { + return $this->language; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Translate/LanguagesListResponse.php b/vendor/google/apiclient-services/src/Google/Service/Translate/LanguagesListResponse.php new file mode 100644 index 00000000..d884671a --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Translate/LanguagesListResponse.php @@ -0,0 +1,32 @@ +languages = $languages; + } + public function getLanguages() + { + return $this->languages; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Translate/LanguagesResource.php b/vendor/google/apiclient-services/src/Google/Service/Translate/LanguagesResource.php new file mode 100644 index 00000000..1b711286 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Translate/LanguagesResource.php @@ -0,0 +1,39 @@ +language = $language; + } + public function getLanguage() + { + return $this->language; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Translate/Resource/Detections.php b/vendor/google/apiclient-services/src/Google/Service/Translate/Resource/Detections.php new file mode 100644 index 00000000..9c534293 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Translate/Resource/Detections.php @@ -0,0 +1,41 @@ + + * $translateService = new Google_Service_Translate(...); + * $detections = $translateService->detections; + * + */ +class Google_Service_Translate_Resource_Detections extends Google_Service_Resource +{ + /** + * Detect the language of text. (detections.listDetections) + * + * @param string|array $q The text to detect + * @param array $optParams Optional parameters. + * @return Google_Service_Translate_DetectionsListResponse + */ + public function listDetections($q, $optParams = array()) + { + $params = array('q' => $q); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Translate_DetectionsListResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Translate/Resource/Languages.php b/vendor/google/apiclient-services/src/Google/Service/Translate/Resource/Languages.php new file mode 100644 index 00000000..f1ee702a --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Translate/Resource/Languages.php @@ -0,0 +1,44 @@ + + * $translateService = new Google_Service_Translate(...); + * $languages = $translateService->languages; + * + */ +class Google_Service_Translate_Resource_Languages extends Google_Service_Resource +{ + /** + * List the source/target languages supported by the API + * (languages.listLanguages) + * + * @param array $optParams Optional parameters. + * + * @opt_param string target the language and collation in which the localized + * results should be returned + * @return Google_Service_Translate_LanguagesListResponse + */ + public function listLanguages($optParams = array()) + { + $params = array(); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Translate_LanguagesListResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Translate/Resource/Translations.php b/vendor/google/apiclient-services/src/Google/Service/Translate/Resource/Translations.php new file mode 100644 index 00000000..771d576e --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Translate/Resource/Translations.php @@ -0,0 +1,48 @@ + + * $translateService = new Google_Service_Translate(...); + * $translations = $translateService->translations; + * + */ +class Google_Service_Translate_Resource_Translations extends Google_Service_Resource +{ + /** + * Returns text translations from one language to another. + * (translations.listTranslations) + * + * @param string|array $q The text to translate + * @param string $target The target language into which the text should be + * translated + * @param array $optParams Optional parameters. + * + * @opt_param string cid The customization id for translate + * @opt_param string format The format of the text + * @opt_param string source The source language of the text + * @return Google_Service_Translate_TranslationsListResponse + */ + public function listTranslations($q, $target, $optParams = array()) + { + $params = array('q' => $q, 'target' => $target); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Translate_TranslationsListResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Translate/TranslationsListResponse.php b/vendor/google/apiclient-services/src/Google/Service/Translate/TranslationsListResponse.php new file mode 100644 index 00000000..0a402cc3 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Translate/TranslationsListResponse.php @@ -0,0 +1,32 @@ +translations = $translations; + } + public function getTranslations() + { + return $this->translations; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Translate/TranslationsResource.php b/vendor/google/apiclient-services/src/Google/Service/Translate/TranslationsResource.php new file mode 100644 index 00000000..f68731f9 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Translate/TranslationsResource.php @@ -0,0 +1,39 @@ +detectedSourceLanguage = $detectedSourceLanguage; + } + public function getDetectedSourceLanguage() + { + return $this->detectedSourceLanguage; + } + public function setTranslatedText($translatedText) + { + $this->translatedText = $translatedText; + } + public function getTranslatedText() + { + return $this->translatedText; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Urlshortener.php b/vendor/google/apiclient-services/src/Google/Service/Urlshortener.php new file mode 100644 index 00000000..9780c28d --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Urlshortener.php @@ -0,0 +1,94 @@ + + * Lets you create, inspect, and manage goo.gl short URLs

+ * + *

+ * For more information about this service, see the API + * Documentation + *

+ * + * @author Google, Inc. + */ +class Google_Service_Urlshortener extends Google_Service +{ + /** Manage your goo.gl short URLs. */ + const URLSHORTENER = + "https://www.googleapis.com/auth/urlshortener"; + + public $url; + + /** + * Constructs the internal representation of the Urlshortener service. + * + * @param Google_Client $client + */ + public function __construct(Google_Client $client) + { + parent::__construct($client); + $this->rootUrl = 'https://www.googleapis.com/'; + $this->servicePath = 'urlshortener/v1/'; + $this->version = 'v1'; + $this->serviceName = 'urlshortener'; + + $this->url = new Google_Service_Urlshortener_Resource_Url( + $this, + $this->serviceName, + 'url', + array( + 'methods' => array( + 'get' => array( + 'path' => 'url', + 'httpMethod' => 'GET', + 'parameters' => array( + 'shortUrl' => array( + 'location' => 'query', + 'type' => 'string', + 'required' => true, + ), + 'projection' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'insert' => array( + 'path' => 'url', + 'httpMethod' => 'POST', + 'parameters' => array(), + ),'list' => array( + 'path' => 'url/history', + 'httpMethod' => 'GET', + 'parameters' => array( + 'projection' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'start-token' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Urlshortener/AnalyticsSnapshot.php b/vendor/google/apiclient-services/src/Google/Service/Urlshortener/AnalyticsSnapshot.php new file mode 100644 index 00000000..fcfa736c --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Urlshortener/AnalyticsSnapshot.php @@ -0,0 +1,80 @@ +browsers = $browsers; + } + public function getBrowsers() + { + return $this->browsers; + } + public function setCountries($countries) + { + $this->countries = $countries; + } + public function getCountries() + { + return $this->countries; + } + public function setLongUrlClicks($longUrlClicks) + { + $this->longUrlClicks = $longUrlClicks; + } + public function getLongUrlClicks() + { + return $this->longUrlClicks; + } + public function setPlatforms($platforms) + { + $this->platforms = $platforms; + } + public function getPlatforms() + { + return $this->platforms; + } + public function setReferrers($referrers) + { + $this->referrers = $referrers; + } + public function getReferrers() + { + return $this->referrers; + } + public function setShortUrlClicks($shortUrlClicks) + { + $this->shortUrlClicks = $shortUrlClicks; + } + public function getShortUrlClicks() + { + return $this->shortUrlClicks; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Urlshortener/AnalyticsSummary.php b/vendor/google/apiclient-services/src/Google/Service/Urlshortener/AnalyticsSummary.php new file mode 100644 index 00000000..308ba121 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Urlshortener/AnalyticsSummary.php @@ -0,0 +1,71 @@ +allTime = $allTime; + } + public function getAllTime() + { + return $this->allTime; + } + public function setDay(Google_Service_Urlshortener_AnalyticsSnapshot $day) + { + $this->day = $day; + } + public function getDay() + { + return $this->day; + } + public function setMonth(Google_Service_Urlshortener_AnalyticsSnapshot $month) + { + $this->month = $month; + } + public function getMonth() + { + return $this->month; + } + public function setTwoHours(Google_Service_Urlshortener_AnalyticsSnapshot $twoHours) + { + $this->twoHours = $twoHours; + } + public function getTwoHours() + { + return $this->twoHours; + } + public function setWeek(Google_Service_Urlshortener_AnalyticsSnapshot $week) + { + $this->week = $week; + } + public function getWeek() + { + return $this->week; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Urlshortener/Resource/Url.php b/vendor/google/apiclient-services/src/Google/Service/Urlshortener/Resource/Url.php new file mode 100644 index 00000000..f016a7c9 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Urlshortener/Resource/Url.php @@ -0,0 +1,72 @@ + + * $urlshortenerService = new Google_Service_Urlshortener(...); + * $url = $urlshortenerService->url; + * + */ +class Google_Service_Urlshortener_Resource_Url extends Google_Service_Resource +{ + /** + * Expands a short URL or gets creation time and analytics. (url.get) + * + * @param string $shortUrl The short URL, including the protocol. + * @param array $optParams Optional parameters. + * + * @opt_param string projection Additional information to return. + * @return Google_Service_Urlshortener_Url + */ + public function get($shortUrl, $optParams = array()) + { + $params = array('shortUrl' => $shortUrl); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Urlshortener_Url"); + } + /** + * Creates a new short URL. (url.insert) + * + * @param Google_Service_Urlshortener_Url $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Urlshortener_Url + */ + public function insert(Google_Service_Urlshortener_Url $postBody, $optParams = array()) + { + $params = array('postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('insert', array($params), "Google_Service_Urlshortener_Url"); + } + /** + * Retrieves a list of URLs shortened by a user. (url.listUrl) + * + * @param array $optParams Optional parameters. + * + * @opt_param string projection Additional information to return. + * @opt_param string start-token Token for requesting successive pages of + * results. + * @return Google_Service_Urlshortener_UrlHistory + */ + public function listUrl($optParams = array()) + { + $params = array(); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Urlshortener_UrlHistory"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Urlshortener/StringCount.php b/vendor/google/apiclient-services/src/Google/Service/Urlshortener/StringCount.php new file mode 100644 index 00000000..c6284d1b --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Urlshortener/StringCount.php @@ -0,0 +1,39 @@ +count = $count; + } + public function getCount() + { + return $this->count; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Urlshortener/Url.php b/vendor/google/apiclient-services/src/Google/Service/Urlshortener/Url.php new file mode 100644 index 00000000..c70d4972 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Urlshortener/Url.php @@ -0,0 +1,76 @@ +analytics = $analytics; + } + public function getAnalytics() + { + return $this->analytics; + } + public function setCreated($created) + { + $this->created = $created; + } + public function getCreated() + { + return $this->created; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setLongUrl($longUrl) + { + $this->longUrl = $longUrl; + } + public function getLongUrl() + { + return $this->longUrl; + } + public function setStatus($status) + { + $this->status = $status; + } + public function getStatus() + { + return $this->status; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Urlshortener/UrlHistory.php b/vendor/google/apiclient-services/src/Google/Service/Urlshortener/UrlHistory.php new file mode 100644 index 00000000..e406d4a6 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Urlshortener/UrlHistory.php @@ -0,0 +1,68 @@ +items = $items; + } + public function getItems() + { + return $this->items; + } + public function setItemsPerPage($itemsPerPage) + { + $this->itemsPerPage = $itemsPerPage; + } + public function getItemsPerPage() + { + return $this->itemsPerPage; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setTotalItems($totalItems) + { + $this->totalItems = $totalItems; + } + public function getTotalItems() + { + return $this->totalItems; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Vision.php b/vendor/google/apiclient-services/src/Google/Service/Vision.php new file mode 100644 index 00000000..23613136 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Vision.php @@ -0,0 +1,69 @@ + + * Integrates Google Vision features, including image labeling, face, logo, and + * landmark detection, optical character recognition (OCR), and detection of + * explicit content, into applications.

+ * + *

+ * For more information about this service, see the API + * Documentation + *

+ * + * @author Google, Inc. + */ +class Google_Service_Vision extends Google_Service +{ + /** View and manage your data across Google Cloud Platform services. */ + const CLOUD_PLATFORM = + "https://www.googleapis.com/auth/cloud-platform"; + + public $images; + + /** + * Constructs the internal representation of the Vision service. + * + * @param Google_Client $client + */ + public function __construct(Google_Client $client) + { + parent::__construct($client); + $this->rootUrl = 'https://vision.googleapis.com/'; + $this->servicePath = ''; + $this->version = 'v1'; + $this->serviceName = 'vision'; + + $this->images = new Google_Service_Vision_Resource_Images( + $this, + $this->serviceName, + 'images', + array( + 'methods' => array( + 'annotate' => array( + 'path' => 'v1/images:annotate', + 'httpMethod' => 'POST', + 'parameters' => array(), + ), + ) + ) + ); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Vision/AnnotateImageRequest.php b/vendor/google/apiclient-services/src/Google/Service/Vision/AnnotateImageRequest.php new file mode 100644 index 00000000..06d8673a --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Vision/AnnotateImageRequest.php @@ -0,0 +1,52 @@ +features = $features; + } + public function getFeatures() + { + return $this->features; + } + public function setImage(Google_Service_Vision_Image $image) + { + $this->image = $image; + } + public function getImage() + { + return $this->image; + } + public function setImageContext(Google_Service_Vision_ImageContext $imageContext) + { + $this->imageContext = $imageContext; + } + public function getImageContext() + { + return $this->imageContext; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Vision/AnnotateImageResponse.php b/vendor/google/apiclient-services/src/Google/Service/Vision/AnnotateImageResponse.php new file mode 100644 index 00000000..6c9aa54c --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Vision/AnnotateImageResponse.php @@ -0,0 +1,132 @@ +cropHintsAnnotation = $cropHintsAnnotation; + } + public function getCropHintsAnnotation() + { + return $this->cropHintsAnnotation; + } + public function setError(Google_Service_Vision_Status $error) + { + $this->error = $error; + } + public function getError() + { + return $this->error; + } + public function setFaceAnnotations($faceAnnotations) + { + $this->faceAnnotations = $faceAnnotations; + } + public function getFaceAnnotations() + { + return $this->faceAnnotations; + } + public function setFullTextAnnotation(Google_Service_Vision_TextAnnotation $fullTextAnnotation) + { + $this->fullTextAnnotation = $fullTextAnnotation; + } + public function getFullTextAnnotation() + { + return $this->fullTextAnnotation; + } + public function setImagePropertiesAnnotation(Google_Service_Vision_ImageProperties $imagePropertiesAnnotation) + { + $this->imagePropertiesAnnotation = $imagePropertiesAnnotation; + } + public function getImagePropertiesAnnotation() + { + return $this->imagePropertiesAnnotation; + } + public function setLabelAnnotations($labelAnnotations) + { + $this->labelAnnotations = $labelAnnotations; + } + public function getLabelAnnotations() + { + return $this->labelAnnotations; + } + public function setLandmarkAnnotations($landmarkAnnotations) + { + $this->landmarkAnnotations = $landmarkAnnotations; + } + public function getLandmarkAnnotations() + { + return $this->landmarkAnnotations; + } + public function setLogoAnnotations($logoAnnotations) + { + $this->logoAnnotations = $logoAnnotations; + } + public function getLogoAnnotations() + { + return $this->logoAnnotations; + } + public function setSafeSearchAnnotation(Google_Service_Vision_SafeSearchAnnotation $safeSearchAnnotation) + { + $this->safeSearchAnnotation = $safeSearchAnnotation; + } + public function getSafeSearchAnnotation() + { + return $this->safeSearchAnnotation; + } + public function setTextAnnotations($textAnnotations) + { + $this->textAnnotations = $textAnnotations; + } + public function getTextAnnotations() + { + return $this->textAnnotations; + } + public function setWebDetection(Google_Service_Vision_WebDetection $webDetection) + { + $this->webDetection = $webDetection; + } + public function getWebDetection() + { + return $this->webDetection; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Vision/BatchAnnotateImagesRequest.php b/vendor/google/apiclient-services/src/Google/Service/Vision/BatchAnnotateImagesRequest.php new file mode 100644 index 00000000..2ad78a61 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Vision/BatchAnnotateImagesRequest.php @@ -0,0 +1,32 @@ +requests = $requests; + } + public function getRequests() + { + return $this->requests; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Vision/BatchAnnotateImagesResponse.php b/vendor/google/apiclient-services/src/Google/Service/Vision/BatchAnnotateImagesResponse.php new file mode 100644 index 00000000..4a7f0222 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Vision/BatchAnnotateImagesResponse.php @@ -0,0 +1,32 @@ +responses = $responses; + } + public function getResponses() + { + return $this->responses; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Vision/Block.php b/vendor/google/apiclient-services/src/Google/Service/Vision/Block.php new file mode 100644 index 00000000..1935aac9 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Vision/Block.php @@ -0,0 +1,61 @@ +blockType = $blockType; + } + public function getBlockType() + { + return $this->blockType; + } + public function setBoundingBox(Google_Service_Vision_BoundingPoly $boundingBox) + { + $this->boundingBox = $boundingBox; + } + public function getBoundingBox() + { + return $this->boundingBox; + } + public function setParagraphs($paragraphs) + { + $this->paragraphs = $paragraphs; + } + public function getParagraphs() + { + return $this->paragraphs; + } + public function setProperty(Google_Service_Vision_TextProperty $property) + { + $this->property = $property; + } + public function getProperty() + { + return $this->property; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Vision/BoundingPoly.php b/vendor/google/apiclient-services/src/Google/Service/Vision/BoundingPoly.php new file mode 100644 index 00000000..d987d617 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Vision/BoundingPoly.php @@ -0,0 +1,32 @@ +vertices = $vertices; + } + public function getVertices() + { + return $this->vertices; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Vision/Color.php b/vendor/google/apiclient-services/src/Google/Service/Vision/Color.php new file mode 100644 index 00000000..b65813bf --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Vision/Color.php @@ -0,0 +1,57 @@ +alpha = $alpha; + } + public function getAlpha() + { + return $this->alpha; + } + public function setBlue($blue) + { + $this->blue = $blue; + } + public function getBlue() + { + return $this->blue; + } + public function setGreen($green) + { + $this->green = $green; + } + public function getGreen() + { + return $this->green; + } + public function setRed($red) + { + $this->red = $red; + } + public function getRed() + { + return $this->red; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Vision/ColorInfo.php b/vendor/google/apiclient-services/src/Google/Service/Vision/ColorInfo.php new file mode 100644 index 00000000..7add72d8 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Vision/ColorInfo.php @@ -0,0 +1,49 @@ +color = $color; + } + public function getColor() + { + return $this->color; + } + public function setPixelFraction($pixelFraction) + { + $this->pixelFraction = $pixelFraction; + } + public function getPixelFraction() + { + return $this->pixelFraction; + } + public function setScore($score) + { + $this->score = $score; + } + public function getScore() + { + return $this->score; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Vision/CropHint.php b/vendor/google/apiclient-services/src/Google/Service/Vision/CropHint.php new file mode 100644 index 00000000..39bf9f09 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Vision/CropHint.php @@ -0,0 +1,49 @@ +boundingPoly = $boundingPoly; + } + public function getBoundingPoly() + { + return $this->boundingPoly; + } + public function setConfidence($confidence) + { + $this->confidence = $confidence; + } + public function getConfidence() + { + return $this->confidence; + } + public function setImportanceFraction($importanceFraction) + { + $this->importanceFraction = $importanceFraction; + } + public function getImportanceFraction() + { + return $this->importanceFraction; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Vision/CropHintsAnnotation.php b/vendor/google/apiclient-services/src/Google/Service/Vision/CropHintsAnnotation.php new file mode 100644 index 00000000..2d3167b9 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Vision/CropHintsAnnotation.php @@ -0,0 +1,32 @@ +cropHints = $cropHints; + } + public function getCropHints() + { + return $this->cropHints; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Vision/CropHintsParams.php b/vendor/google/apiclient-services/src/Google/Service/Vision/CropHintsParams.php new file mode 100644 index 00000000..92844265 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Vision/CropHintsParams.php @@ -0,0 +1,31 @@ +aspectRatios = $aspectRatios; + } + public function getAspectRatios() + { + return $this->aspectRatios; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Vision/DetectedBreak.php b/vendor/google/apiclient-services/src/Google/Service/Vision/DetectedBreak.php new file mode 100644 index 00000000..8dae7df7 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Vision/DetectedBreak.php @@ -0,0 +1,39 @@ +isPrefix = $isPrefix; + } + public function getIsPrefix() + { + return $this->isPrefix; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Vision/DetectedLanguage.php b/vendor/google/apiclient-services/src/Google/Service/Vision/DetectedLanguage.php new file mode 100644 index 00000000..024ed967 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Vision/DetectedLanguage.php @@ -0,0 +1,39 @@ +confidence = $confidence; + } + public function getConfidence() + { + return $this->confidence; + } + public function setLanguageCode($languageCode) + { + $this->languageCode = $languageCode; + } + public function getLanguageCode() + { + return $this->languageCode; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Vision/DominantColorsAnnotation.php b/vendor/google/apiclient-services/src/Google/Service/Vision/DominantColorsAnnotation.php new file mode 100644 index 00000000..6e7d803b --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Vision/DominantColorsAnnotation.php @@ -0,0 +1,32 @@ +colors = $colors; + } + public function getColors() + { + return $this->colors; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Vision/EntityAnnotation.php b/vendor/google/apiclient-services/src/Google/Service/Vision/EntityAnnotation.php new file mode 100644 index 00000000..19512918 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Vision/EntityAnnotation.php @@ -0,0 +1,106 @@ +boundingPoly = $boundingPoly; + } + public function getBoundingPoly() + { + return $this->boundingPoly; + } + public function setConfidence($confidence) + { + $this->confidence = $confidence; + } + public function getConfidence() + { + return $this->confidence; + } + public function setDescription($description) + { + $this->description = $description; + } + public function getDescription() + { + return $this->description; + } + public function setLocale($locale) + { + $this->locale = $locale; + } + public function getLocale() + { + return $this->locale; + } + public function setLocations($locations) + { + $this->locations = $locations; + } + public function getLocations() + { + return $this->locations; + } + public function setMid($mid) + { + $this->mid = $mid; + } + public function getMid() + { + return $this->mid; + } + public function setProperties($properties) + { + $this->properties = $properties; + } + public function getProperties() + { + return $this->properties; + } + public function setScore($score) + { + $this->score = $score; + } + public function getScore() + { + return $this->score; + } + public function setTopicality($topicality) + { + $this->topicality = $topicality; + } + public function getTopicality() + { + return $this->topicality; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Vision/FaceAnnotation.php b/vendor/google/apiclient-services/src/Google/Service/Vision/FaceAnnotation.php new file mode 100644 index 00000000..7a28066b --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Vision/FaceAnnotation.php @@ -0,0 +1,160 @@ +angerLikelihood = $angerLikelihood; + } + public function getAngerLikelihood() + { + return $this->angerLikelihood; + } + public function setBlurredLikelihood($blurredLikelihood) + { + $this->blurredLikelihood = $blurredLikelihood; + } + public function getBlurredLikelihood() + { + return $this->blurredLikelihood; + } + public function setBoundingPoly(Google_Service_Vision_BoundingPoly $boundingPoly) + { + $this->boundingPoly = $boundingPoly; + } + public function getBoundingPoly() + { + return $this->boundingPoly; + } + public function setDetectionConfidence($detectionConfidence) + { + $this->detectionConfidence = $detectionConfidence; + } + public function getDetectionConfidence() + { + return $this->detectionConfidence; + } + public function setFdBoundingPoly(Google_Service_Vision_BoundingPoly $fdBoundingPoly) + { + $this->fdBoundingPoly = $fdBoundingPoly; + } + public function getFdBoundingPoly() + { + return $this->fdBoundingPoly; + } + public function setHeadwearLikelihood($headwearLikelihood) + { + $this->headwearLikelihood = $headwearLikelihood; + } + public function getHeadwearLikelihood() + { + return $this->headwearLikelihood; + } + public function setJoyLikelihood($joyLikelihood) + { + $this->joyLikelihood = $joyLikelihood; + } + public function getJoyLikelihood() + { + return $this->joyLikelihood; + } + public function setLandmarkingConfidence($landmarkingConfidence) + { + $this->landmarkingConfidence = $landmarkingConfidence; + } + public function getLandmarkingConfidence() + { + return $this->landmarkingConfidence; + } + public function setLandmarks($landmarks) + { + $this->landmarks = $landmarks; + } + public function getLandmarks() + { + return $this->landmarks; + } + public function setPanAngle($panAngle) + { + $this->panAngle = $panAngle; + } + public function getPanAngle() + { + return $this->panAngle; + } + public function setRollAngle($rollAngle) + { + $this->rollAngle = $rollAngle; + } + public function getRollAngle() + { + return $this->rollAngle; + } + public function setSorrowLikelihood($sorrowLikelihood) + { + $this->sorrowLikelihood = $sorrowLikelihood; + } + public function getSorrowLikelihood() + { + return $this->sorrowLikelihood; + } + public function setSurpriseLikelihood($surpriseLikelihood) + { + $this->surpriseLikelihood = $surpriseLikelihood; + } + public function getSurpriseLikelihood() + { + return $this->surpriseLikelihood; + } + public function setTiltAngle($tiltAngle) + { + $this->tiltAngle = $tiltAngle; + } + public function getTiltAngle() + { + return $this->tiltAngle; + } + public function setUnderExposedLikelihood($underExposedLikelihood) + { + $this->underExposedLikelihood = $underExposedLikelihood; + } + public function getUnderExposedLikelihood() + { + return $this->underExposedLikelihood; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Vision/Feature.php b/vendor/google/apiclient-services/src/Google/Service/Vision/Feature.php new file mode 100644 index 00000000..5e65b0fb --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Vision/Feature.php @@ -0,0 +1,39 @@ +maxResults = $maxResults; + } + public function getMaxResults() + { + return $this->maxResults; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Vision/Image.php b/vendor/google/apiclient-services/src/Google/Service/Vision/Image.php new file mode 100644 index 00000000..60ed158a --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Vision/Image.php @@ -0,0 +1,40 @@ +content = $content; + } + public function getContent() + { + return $this->content; + } + public function setSource(Google_Service_Vision_ImageSource $source) + { + $this->source = $source; + } + public function getSource() + { + return $this->source; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Vision/ImageContext.php b/vendor/google/apiclient-services/src/Google/Service/Vision/ImageContext.php new file mode 100644 index 00000000..1949b904 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Vision/ImageContext.php @@ -0,0 +1,51 @@ +cropHintsParams = $cropHintsParams; + } + public function getCropHintsParams() + { + return $this->cropHintsParams; + } + public function setLanguageHints($languageHints) + { + $this->languageHints = $languageHints; + } + public function getLanguageHints() + { + return $this->languageHints; + } + public function setLatLongRect(Google_Service_Vision_LatLongRect $latLongRect) + { + $this->latLongRect = $latLongRect; + } + public function getLatLongRect() + { + return $this->latLongRect; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Vision/ImageProperties.php b/vendor/google/apiclient-services/src/Google/Service/Vision/ImageProperties.php new file mode 100644 index 00000000..9b6f1ba2 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Vision/ImageProperties.php @@ -0,0 +1,31 @@ +dominantColors = $dominantColors; + } + public function getDominantColors() + { + return $this->dominantColors; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Vision/ImageSource.php b/vendor/google/apiclient-services/src/Google/Service/Vision/ImageSource.php new file mode 100644 index 00000000..5d9de3c3 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Vision/ImageSource.php @@ -0,0 +1,39 @@ +gcsImageUri = $gcsImageUri; + } + public function getGcsImageUri() + { + return $this->gcsImageUri; + } + public function setImageUri($imageUri) + { + $this->imageUri = $imageUri; + } + public function getImageUri() + { + return $this->imageUri; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Vision/Landmark.php b/vendor/google/apiclient-services/src/Google/Service/Vision/Landmark.php new file mode 100644 index 00000000..b16eb51b --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Vision/Landmark.php @@ -0,0 +1,40 @@ +position = $position; + } + public function getPosition() + { + return $this->position; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Vision/LatLng.php b/vendor/google/apiclient-services/src/Google/Service/Vision/LatLng.php new file mode 100644 index 00000000..06911233 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Vision/LatLng.php @@ -0,0 +1,39 @@ +latitude = $latitude; + } + public function getLatitude() + { + return $this->latitude; + } + public function setLongitude($longitude) + { + $this->longitude = $longitude; + } + public function getLongitude() + { + return $this->longitude; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Vision/LatLongRect.php b/vendor/google/apiclient-services/src/Google/Service/Vision/LatLongRect.php new file mode 100644 index 00000000..f9544a85 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Vision/LatLongRect.php @@ -0,0 +1,41 @@ +maxLatLng = $maxLatLng; + } + public function getMaxLatLng() + { + return $this->maxLatLng; + } + public function setMinLatLng(Google_Service_Vision_LatLng $minLatLng) + { + $this->minLatLng = $minLatLng; + } + public function getMinLatLng() + { + return $this->minLatLng; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Vision/LocationInfo.php b/vendor/google/apiclient-services/src/Google/Service/Vision/LocationInfo.php new file mode 100644 index 00000000..1fb3fca9 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Vision/LocationInfo.php @@ -0,0 +1,31 @@ +latLng = $latLng; + } + public function getLatLng() + { + return $this->latLng; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Vision/Page.php b/vendor/google/apiclient-services/src/Google/Service/Vision/Page.php new file mode 100644 index 00000000..ccb0c2f4 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Vision/Page.php @@ -0,0 +1,60 @@ +blocks = $blocks; + } + public function getBlocks() + { + return $this->blocks; + } + public function setHeight($height) + { + $this->height = $height; + } + public function getHeight() + { + return $this->height; + } + public function setProperty(Google_Service_Vision_TextProperty $property) + { + $this->property = $property; + } + public function getProperty() + { + return $this->property; + } + public function setWidth($width) + { + $this->width = $width; + } + public function getWidth() + { + return $this->width; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Vision/Paragraph.php b/vendor/google/apiclient-services/src/Google/Service/Vision/Paragraph.php new file mode 100644 index 00000000..e045ebf6 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Vision/Paragraph.php @@ -0,0 +1,52 @@ +boundingBox = $boundingBox; + } + public function getBoundingBox() + { + return $this->boundingBox; + } + public function setProperty(Google_Service_Vision_TextProperty $property) + { + $this->property = $property; + } + public function getProperty() + { + return $this->property; + } + public function setWords($words) + { + $this->words = $words; + } + public function getWords() + { + return $this->words; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Vision/Position.php b/vendor/google/apiclient-services/src/Google/Service/Vision/Position.php new file mode 100644 index 00000000..c362b1e7 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Vision/Position.php @@ -0,0 +1,48 @@ +x = $x; + } + public function getX() + { + return $this->x; + } + public function setY($y) + { + $this->y = $y; + } + public function getY() + { + return $this->y; + } + public function setZ($z) + { + $this->z = $z; + } + public function getZ() + { + return $this->z; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Vision/Property.php b/vendor/google/apiclient-services/src/Google/Service/Vision/Property.php new file mode 100644 index 00000000..074a7051 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Vision/Property.php @@ -0,0 +1,48 @@ +name = $name; + } + public function getName() + { + return $this->name; + } + public function setUint64Value($uint64Value) + { + $this->uint64Value = $uint64Value; + } + public function getUint64Value() + { + return $this->uint64Value; + } + public function setValue($value) + { + $this->value = $value; + } + public function getValue() + { + return $this->value; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Vision/Resource/Images.php b/vendor/google/apiclient-services/src/Google/Service/Vision/Resource/Images.php new file mode 100644 index 00000000..0da6915e --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Vision/Resource/Images.php @@ -0,0 +1,41 @@ + + * $visionService = new Google_Service_Vision(...); + * $images = $visionService->images; + * + */ +class Google_Service_Vision_Resource_Images extends Google_Service_Resource +{ + /** + * Run image detection and annotation for a batch of images. (images.annotate) + * + * @param Google_Service_Vision_BatchAnnotateImagesRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Vision_BatchAnnotateImagesResponse + */ + public function annotate(Google_Service_Vision_BatchAnnotateImagesRequest $postBody, $optParams = array()) + { + $params = array('postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('annotate', array($params), "Google_Service_Vision_BatchAnnotateImagesResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Vision/SafeSearchAnnotation.php b/vendor/google/apiclient-services/src/Google/Service/Vision/SafeSearchAnnotation.php new file mode 100644 index 00000000..f945252a --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Vision/SafeSearchAnnotation.php @@ -0,0 +1,57 @@ +adult = $adult; + } + public function getAdult() + { + return $this->adult; + } + public function setMedical($medical) + { + $this->medical = $medical; + } + public function getMedical() + { + return $this->medical; + } + public function setSpoof($spoof) + { + $this->spoof = $spoof; + } + public function getSpoof() + { + return $this->spoof; + } + public function setViolence($violence) + { + $this->violence = $violence; + } + public function getViolence() + { + return $this->violence; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Vision/Status.php b/vendor/google/apiclient-services/src/Google/Service/Vision/Status.php new file mode 100644 index 00000000..d82689fd --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Vision/Status.php @@ -0,0 +1,49 @@ +code = $code; + } + public function getCode() + { + return $this->code; + } + public function setDetails($details) + { + $this->details = $details; + } + public function getDetails() + { + return $this->details; + } + public function setMessage($message) + { + $this->message = $message; + } + public function getMessage() + { + return $this->message; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Vision/Symbol.php b/vendor/google/apiclient-services/src/Google/Service/Vision/Symbol.php new file mode 100644 index 00000000..0f455035 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Vision/Symbol.php @@ -0,0 +1,50 @@ +boundingBox = $boundingBox; + } + public function getBoundingBox() + { + return $this->boundingBox; + } + public function setProperty(Google_Service_Vision_TextProperty $property) + { + $this->property = $property; + } + public function getProperty() + { + return $this->property; + } + public function setText($text) + { + $this->text = $text; + } + public function getText() + { + return $this->text; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Vision/TextAnnotation.php b/vendor/google/apiclient-services/src/Google/Service/Vision/TextAnnotation.php new file mode 100644 index 00000000..4e8fc461 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Vision/TextAnnotation.php @@ -0,0 +1,41 @@ +pages = $pages; + } + public function getPages() + { + return $this->pages; + } + public function setText($text) + { + $this->text = $text; + } + public function getText() + { + return $this->text; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Vision/TextProperty.php b/vendor/google/apiclient-services/src/Google/Service/Vision/TextProperty.php new file mode 100644 index 00000000..0e259339 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Vision/TextProperty.php @@ -0,0 +1,42 @@ +detectedBreak = $detectedBreak; + } + public function getDetectedBreak() + { + return $this->detectedBreak; + } + public function setDetectedLanguages($detectedLanguages) + { + $this->detectedLanguages = $detectedLanguages; + } + public function getDetectedLanguages() + { + return $this->detectedLanguages; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Vision/Vertex.php b/vendor/google/apiclient-services/src/Google/Service/Vision/Vertex.php new file mode 100644 index 00000000..3c03e088 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Vision/Vertex.php @@ -0,0 +1,39 @@ +x = $x; + } + public function getX() + { + return $this->x; + } + public function setY($y) + { + $this->y = $y; + } + public function getY() + { + return $this->y; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Vision/WebDetection.php b/vendor/google/apiclient-services/src/Google/Service/Vision/WebDetection.php new file mode 100644 index 00000000..326c040f --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Vision/WebDetection.php @@ -0,0 +1,62 @@ +fullMatchingImages = $fullMatchingImages; + } + public function getFullMatchingImages() + { + return $this->fullMatchingImages; + } + public function setPagesWithMatchingImages($pagesWithMatchingImages) + { + $this->pagesWithMatchingImages = $pagesWithMatchingImages; + } + public function getPagesWithMatchingImages() + { + return $this->pagesWithMatchingImages; + } + public function setPartialMatchingImages($partialMatchingImages) + { + $this->partialMatchingImages = $partialMatchingImages; + } + public function getPartialMatchingImages() + { + return $this->partialMatchingImages; + } + public function setWebEntities($webEntities) + { + $this->webEntities = $webEntities; + } + public function getWebEntities() + { + return $this->webEntities; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Vision/WebEntity.php b/vendor/google/apiclient-services/src/Google/Service/Vision/WebEntity.php new file mode 100644 index 00000000..fa425fdb --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Vision/WebEntity.php @@ -0,0 +1,48 @@ +description = $description; + } + public function getDescription() + { + return $this->description; + } + public function setEntityId($entityId) + { + $this->entityId = $entityId; + } + public function getEntityId() + { + return $this->entityId; + } + public function setScore($score) + { + $this->score = $score; + } + public function getScore() + { + return $this->score; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Vision/WebImage.php b/vendor/google/apiclient-services/src/Google/Service/Vision/WebImage.php new file mode 100644 index 00000000..a5d06e2c --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Vision/WebImage.php @@ -0,0 +1,39 @@ +score = $score; + } + public function getScore() + { + return $this->score; + } + public function setUrl($url) + { + $this->url = $url; + } + public function getUrl() + { + return $this->url; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Vision/WebPage.php b/vendor/google/apiclient-services/src/Google/Service/Vision/WebPage.php new file mode 100644 index 00000000..7187e0d0 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Vision/WebPage.php @@ -0,0 +1,39 @@ +score = $score; + } + public function getScore() + { + return $this->score; + } + public function setUrl($url) + { + $this->url = $url; + } + public function getUrl() + { + return $this->url; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Vision/Word.php b/vendor/google/apiclient-services/src/Google/Service/Vision/Word.php new file mode 100644 index 00000000..e688655f --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Vision/Word.php @@ -0,0 +1,52 @@ +boundingBox = $boundingBox; + } + public function getBoundingBox() + { + return $this->boundingBox; + } + public function setProperty(Google_Service_Vision_TextProperty $property) + { + $this->property = $property; + } + public function getProperty() + { + return $this->property; + } + public function setSymbols($symbols) + { + $this->symbols = $symbols; + } + public function getSymbols() + { + return $this->symbols; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Webfonts.php b/vendor/google/apiclient-services/src/Google/Service/Webfonts.php new file mode 100644 index 00000000..282c9ace --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Webfonts.php @@ -0,0 +1,72 @@ + + * Accesses the metadata for all families served by Google Fonts, providing a + * list of families currently available (including available styles and a list + * of supported script subsets).

+ * + *

+ * For more information about this service, see the API + * Documentation + *

+ * + * @author Google, Inc. + */ +class Google_Service_Webfonts extends Google_Service +{ + + + public $webfonts; + + /** + * Constructs the internal representation of the Webfonts service. + * + * @param Google_Client $client + */ + public function __construct(Google_Client $client) + { + parent::__construct($client); + $this->rootUrl = 'https://www.googleapis.com/'; + $this->servicePath = 'webfonts/v1/'; + $this->version = 'v1'; + $this->serviceName = 'webfonts'; + + $this->webfonts = new Google_Service_Webfonts_Resource_Webfonts( + $this, + $this->serviceName, + 'webfonts', + array( + 'methods' => array( + 'list' => array( + 'path' => 'webfonts', + 'httpMethod' => 'GET', + 'parameters' => array( + 'sort' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Webfonts/Resource/Webfonts.php b/vendor/google/apiclient-services/src/Google/Service/Webfonts/Resource/Webfonts.php new file mode 100644 index 00000000..e13afa3f --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Webfonts/Resource/Webfonts.php @@ -0,0 +1,43 @@ + + * $webfontsService = new Google_Service_Webfonts(...); + * $webfonts = $webfontsService->webfonts; + * + */ +class Google_Service_Webfonts_Resource_Webfonts extends Google_Service_Resource +{ + /** + * Retrieves the list of fonts currently served by the Google Fonts Developer + * API (webfonts.listWebfonts) + * + * @param array $optParams Optional parameters. + * + * @opt_param string sort Enables sorting of the list + * @return Google_Service_Webfonts_WebfontList + */ + public function listWebfonts($optParams = array()) + { + $params = array(); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Webfonts_WebfontList"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Webfonts/Webfont.php b/vendor/google/apiclient-services/src/Google/Service/Webfonts/Webfont.php new file mode 100644 index 00000000..3168302b --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Webfonts/Webfont.php @@ -0,0 +1,94 @@ +category = $category; + } + public function getCategory() + { + return $this->category; + } + public function setFamily($family) + { + $this->family = $family; + } + public function getFamily() + { + return $this->family; + } + public function setFiles($files) + { + $this->files = $files; + } + public function getFiles() + { + return $this->files; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setLastModified($lastModified) + { + $this->lastModified = $lastModified; + } + public function getLastModified() + { + return $this->lastModified; + } + public function setSubsets($subsets) + { + $this->subsets = $subsets; + } + public function getSubsets() + { + return $this->subsets; + } + public function setVariants($variants) + { + $this->variants = $variants; + } + public function getVariants() + { + return $this->variants; + } + public function setVersion($version) + { + $this->version = $version; + } + public function getVersion() + { + return $this->version; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Webfonts/WebfontList.php b/vendor/google/apiclient-services/src/Google/Service/Webfonts/WebfontList.php new file mode 100644 index 00000000..59e5b684 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Webfonts/WebfontList.php @@ -0,0 +1,41 @@ +items = $items; + } + public function getItems() + { + return $this->items; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Webmasters.php b/vendor/google/apiclient-services/src/Google/Service/Webmasters.php new file mode 100644 index 00000000..936b48a0 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Webmasters.php @@ -0,0 +1,305 @@ + + * View Google Search Console data for your verified sites.

+ * + *

+ * For more information about this service, see the API + * Documentation + *

+ * + * @author Google, Inc. + */ +class Google_Service_Webmasters extends Google_Service +{ + /** View and manage Search Console data for your verified sites. */ + const WEBMASTERS = + "https://www.googleapis.com/auth/webmasters"; + /** View Search Console data for your verified sites. */ + const WEBMASTERS_READONLY = + "https://www.googleapis.com/auth/webmasters.readonly"; + + public $searchanalytics; + public $sitemaps; + public $sites; + public $urlcrawlerrorscounts; + public $urlcrawlerrorssamples; + + /** + * Constructs the internal representation of the Webmasters service. + * + * @param Google_Client $client + */ + public function __construct(Google_Client $client) + { + parent::__construct($client); + $this->rootUrl = 'https://www.googleapis.com/'; + $this->servicePath = 'webmasters/v3/'; + $this->version = 'v3'; + $this->serviceName = 'webmasters'; + + $this->searchanalytics = new Google_Service_Webmasters_Resource_Searchanalytics( + $this, + $this->serviceName, + 'searchanalytics', + array( + 'methods' => array( + 'query' => array( + 'path' => 'sites/{siteUrl}/searchAnalytics/query', + 'httpMethod' => 'POST', + 'parameters' => array( + 'siteUrl' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->sitemaps = new Google_Service_Webmasters_Resource_Sitemaps( + $this, + $this->serviceName, + 'sitemaps', + array( + 'methods' => array( + 'delete' => array( + 'path' => 'sites/{siteUrl}/sitemaps/{feedpath}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'siteUrl' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'feedpath' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'get' => array( + 'path' => 'sites/{siteUrl}/sitemaps/{feedpath}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'siteUrl' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'feedpath' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'sites/{siteUrl}/sitemaps', + 'httpMethod' => 'GET', + 'parameters' => array( + 'siteUrl' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'sitemapIndex' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'submit' => array( + 'path' => 'sites/{siteUrl}/sitemaps/{feedpath}', + 'httpMethod' => 'PUT', + 'parameters' => array( + 'siteUrl' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'feedpath' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->sites = new Google_Service_Webmasters_Resource_Sites( + $this, + $this->serviceName, + 'sites', + array( + 'methods' => array( + 'add' => array( + 'path' => 'sites/{siteUrl}', + 'httpMethod' => 'PUT', + 'parameters' => array( + 'siteUrl' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'delete' => array( + 'path' => 'sites/{siteUrl}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'siteUrl' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'get' => array( + 'path' => 'sites/{siteUrl}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'siteUrl' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'sites', + 'httpMethod' => 'GET', + 'parameters' => array(), + ), + ) + ) + ); + $this->urlcrawlerrorscounts = new Google_Service_Webmasters_Resource_Urlcrawlerrorscounts( + $this, + $this->serviceName, + 'urlcrawlerrorscounts', + array( + 'methods' => array( + 'query' => array( + 'path' => 'sites/{siteUrl}/urlCrawlErrorsCounts/query', + 'httpMethod' => 'GET', + 'parameters' => array( + 'siteUrl' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'category' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'latestCountsOnly' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + 'platform' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + $this->urlcrawlerrorssamples = new Google_Service_Webmasters_Resource_Urlcrawlerrorssamples( + $this, + $this->serviceName, + 'urlcrawlerrorssamples', + array( + 'methods' => array( + 'get' => array( + 'path' => 'sites/{siteUrl}/urlCrawlErrorsSamples/{url}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'siteUrl' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'url' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'category' => array( + 'location' => 'query', + 'type' => 'string', + 'required' => true, + ), + 'platform' => array( + 'location' => 'query', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'sites/{siteUrl}/urlCrawlErrorsSamples', + 'httpMethod' => 'GET', + 'parameters' => array( + 'siteUrl' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'category' => array( + 'location' => 'query', + 'type' => 'string', + 'required' => true, + ), + 'platform' => array( + 'location' => 'query', + 'type' => 'string', + 'required' => true, + ), + ), + ),'markAsFixed' => array( + 'path' => 'sites/{siteUrl}/urlCrawlErrorsSamples/{url}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'siteUrl' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'url' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'category' => array( + 'location' => 'query', + 'type' => 'string', + 'required' => true, + ), + 'platform' => array( + 'location' => 'query', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Webmasters/ApiDataRow.php b/vendor/google/apiclient-services/src/Google/Service/Webmasters/ApiDataRow.php new file mode 100644 index 00000000..869b76c7 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Webmasters/ApiDataRow.php @@ -0,0 +1,67 @@ +clicks = $clicks; + } + public function getClicks() + { + return $this->clicks; + } + public function setCtr($ctr) + { + $this->ctr = $ctr; + } + public function getCtr() + { + return $this->ctr; + } + public function setImpressions($impressions) + { + $this->impressions = $impressions; + } + public function getImpressions() + { + return $this->impressions; + } + public function setKeys($keys) + { + $this->keys = $keys; + } + public function getKeys() + { + return $this->keys; + } + public function setPosition($position) + { + $this->position = $position; + } + public function getPosition() + { + return $this->position; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Webmasters/ApiDimensionFilter.php b/vendor/google/apiclient-services/src/Google/Service/Webmasters/ApiDimensionFilter.php new file mode 100644 index 00000000..49e83645 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Webmasters/ApiDimensionFilter.php @@ -0,0 +1,48 @@ +dimension = $dimension; + } + public function getDimension() + { + return $this->dimension; + } + public function setExpression($expression) + { + $this->expression = $expression; + } + public function getExpression() + { + return $this->expression; + } + public function setOperator($operator) + { + $this->operator = $operator; + } + public function getOperator() + { + return $this->operator; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Webmasters/ApiDimensionFilterGroup.php b/vendor/google/apiclient-services/src/Google/Service/Webmasters/ApiDimensionFilterGroup.php new file mode 100644 index 00000000..1b18a888 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Webmasters/ApiDimensionFilterGroup.php @@ -0,0 +1,41 @@ +filters = $filters; + } + public function getFilters() + { + return $this->filters; + } + public function setGroupType($groupType) + { + $this->groupType = $groupType; + } + public function getGroupType() + { + return $this->groupType; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Webmasters/Resource/Searchanalytics.php b/vendor/google/apiclient-services/src/Google/Service/Webmasters/Resource/Searchanalytics.php new file mode 100644 index 00000000..865a404a --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Webmasters/Resource/Searchanalytics.php @@ -0,0 +1,50 @@ + + * $webmastersService = new Google_Service_Webmasters(...); + * $searchanalytics = $webmastersService->searchanalytics; + * + */ +class Google_Service_Webmasters_Resource_Searchanalytics extends Google_Service_Resource +{ + /** + * Query your data with filters and parameters that you define. Returns zero or + * more rows grouped by the row keys that you define. You must define a date + * range of one or more days. + * + * When date is one of the group by values, any days without data are omitted + * from the result list. If you need to know which days have data, issue a broad + * date range query grouped by date for any metric, and see which day rows are + * returned. (searchanalytics.query) + * + * @param string $siteUrl The site's URL, including protocol. For example: + * http://www.example.com/ + * @param Google_Service_Webmasters_SearchAnalyticsQueryRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_Webmasters_SearchAnalyticsQueryResponse + */ + public function query($siteUrl, Google_Service_Webmasters_SearchAnalyticsQueryRequest $postBody, $optParams = array()) + { + $params = array('siteUrl' => $siteUrl, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('query', array($params), "Google_Service_Webmasters_SearchAnalyticsQueryResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Webmasters/Resource/Sitemaps.php b/vendor/google/apiclient-services/src/Google/Service/Webmasters/Resource/Sitemaps.php new file mode 100644 index 00000000..b0e69fdf --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Webmasters/Resource/Sitemaps.php @@ -0,0 +1,93 @@ + + * $webmastersService = new Google_Service_Webmasters(...); + * $sitemaps = $webmastersService->sitemaps; + * + */ +class Google_Service_Webmasters_Resource_Sitemaps extends Google_Service_Resource +{ + /** + * Deletes a sitemap from this site. (sitemaps.delete) + * + * @param string $siteUrl The site's URL, including protocol. For example: + * http://www.example.com/ + * @param string $feedpath The URL of the actual sitemap. For example: + * http://www.example.com/sitemap.xml + * @param array $optParams Optional parameters. + */ + public function delete($siteUrl, $feedpath, $optParams = array()) + { + $params = array('siteUrl' => $siteUrl, 'feedpath' => $feedpath); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params)); + } + /** + * Retrieves information about a specific sitemap. (sitemaps.get) + * + * @param string $siteUrl The site's URL, including protocol. For example: + * http://www.example.com/ + * @param string $feedpath The URL of the actual sitemap. For example: + * http://www.example.com/sitemap.xml + * @param array $optParams Optional parameters. + * @return Google_Service_Webmasters_WmxSitemap + */ + public function get($siteUrl, $feedpath, $optParams = array()) + { + $params = array('siteUrl' => $siteUrl, 'feedpath' => $feedpath); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Webmasters_WmxSitemap"); + } + /** + * Lists the sitemaps-entries submitted for this site, or included in the + * sitemap index file (if sitemapIndex is specified in the request). + * (sitemaps.listSitemaps) + * + * @param string $siteUrl The site's URL, including protocol. For example: + * http://www.example.com/ + * @param array $optParams Optional parameters. + * + * @opt_param string sitemapIndex A URL of a site's sitemap index. For example: + * http://www.example.com/sitemapindex.xml + * @return Google_Service_Webmasters_SitemapsListResponse + */ + public function listSitemaps($siteUrl, $optParams = array()) + { + $params = array('siteUrl' => $siteUrl); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Webmasters_SitemapsListResponse"); + } + /** + * Submits a sitemap for a site. (sitemaps.submit) + * + * @param string $siteUrl The site's URL, including protocol. For example: + * http://www.example.com/ + * @param string $feedpath The URL of the sitemap to add. For example: + * http://www.example.com/sitemap.xml + * @param array $optParams Optional parameters. + */ + public function submit($siteUrl, $feedpath, $optParams = array()) + { + $params = array('siteUrl' => $siteUrl, 'feedpath' => $feedpath); + $params = array_merge($params, $optParams); + return $this->call('submit', array($params)); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Webmasters/Resource/Sites.php b/vendor/google/apiclient-services/src/Google/Service/Webmasters/Resource/Sites.php new file mode 100644 index 00000000..7af6cc72 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Webmasters/Resource/Sites.php @@ -0,0 +1,80 @@ + + * $webmastersService = new Google_Service_Webmasters(...); + * $sites = $webmastersService->sites; + * + */ +class Google_Service_Webmasters_Resource_Sites extends Google_Service_Resource +{ + /** + * Adds a site to the set of the user's sites in Search Console. (sites.add) + * + * @param string $siteUrl The URL of the site to add. + * @param array $optParams Optional parameters. + */ + public function add($siteUrl, $optParams = array()) + { + $params = array('siteUrl' => $siteUrl); + $params = array_merge($params, $optParams); + return $this->call('add', array($params)); + } + /** + * Removes a site from the set of the user's Search Console sites. + * (sites.delete) + * + * @param string $siteUrl The URI of the property as defined in Search Console. + * Examples: http://www.example.com/ or android-app://com.example/ + * @param array $optParams Optional parameters. + */ + public function delete($siteUrl, $optParams = array()) + { + $params = array('siteUrl' => $siteUrl); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params)); + } + /** + * Retrieves information about specific site. (sites.get) + * + * @param string $siteUrl The URI of the property as defined in Search Console. + * Examples: http://www.example.com/ or android-app://com.example/ + * @param array $optParams Optional parameters. + * @return Google_Service_Webmasters_WmxSite + */ + public function get($siteUrl, $optParams = array()) + { + $params = array('siteUrl' => $siteUrl); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Webmasters_WmxSite"); + } + /** + * Lists the user's Search Console sites. (sites.listSites) + * + * @param array $optParams Optional parameters. + * @return Google_Service_Webmasters_SitesListResponse + */ + public function listSites($optParams = array()) + { + $params = array(); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Webmasters_SitesListResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Webmasters/Resource/Urlcrawlerrorscounts.php b/vendor/google/apiclient-services/src/Google/Service/Webmasters/Resource/Urlcrawlerrorscounts.php new file mode 100644 index 00000000..c86bd72d --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Webmasters/Resource/Urlcrawlerrorscounts.php @@ -0,0 +1,51 @@ + + * $webmastersService = new Google_Service_Webmasters(...); + * $urlcrawlerrorscounts = $webmastersService->urlcrawlerrorscounts; + * + */ +class Google_Service_Webmasters_Resource_Urlcrawlerrorscounts extends Google_Service_Resource +{ + /** + * Retrieves a time series of the number of URL crawl errors per error category + * and platform. (urlcrawlerrorscounts.query) + * + * @param string $siteUrl The site's URL, including protocol. For example: + * http://www.example.com/ + * @param array $optParams Optional parameters. + * + * @opt_param string category The crawl error category. For example: + * serverError. If not specified, returns results for all categories. + * @opt_param bool latestCountsOnly If true, returns only the latest crawl error + * counts. + * @opt_param string platform The user agent type (platform) that made the + * request. For example: web. If not specified, returns results for all + * platforms. + * @return Google_Service_Webmasters_UrlCrawlErrorsCountsQueryResponse + */ + public function query($siteUrl, $optParams = array()) + { + $params = array('siteUrl' => $siteUrl); + $params = array_merge($params, $optParams); + return $this->call('query', array($params), "Google_Service_Webmasters_UrlCrawlErrorsCountsQueryResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Webmasters/Resource/Urlcrawlerrorssamples.php b/vendor/google/apiclient-services/src/Google/Service/Webmasters/Resource/Urlcrawlerrorssamples.php new file mode 100644 index 00000000..647656d7 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Webmasters/Resource/Urlcrawlerrorssamples.php @@ -0,0 +1,92 @@ + + * $webmastersService = new Google_Service_Webmasters(...); + * $urlcrawlerrorssamples = $webmastersService->urlcrawlerrorssamples; + * + */ +class Google_Service_Webmasters_Resource_Urlcrawlerrorssamples extends Google_Service_Resource +{ + /** + * Retrieves details about crawl errors for a site's sample URL. + * (urlcrawlerrorssamples.get) + * + * @param string $siteUrl The site's URL, including protocol. For example: + * http://www.example.com/ + * @param string $url The relative path (without the site) of the sample URL. It + * must be one of the URLs returned by list(). For example, for the URL + * https://www.example.com/pagename on the site https://www.example.com/, the + * url value is pagename + * @param string $category The crawl error category. For example: + * authPermissions + * @param string $platform The user agent type (platform) that made the request. + * For example: web + * @param array $optParams Optional parameters. + * @return Google_Service_Webmasters_UrlCrawlErrorsSample + */ + public function get($siteUrl, $url, $category, $platform, $optParams = array()) + { + $params = array('siteUrl' => $siteUrl, 'url' => $url, 'category' => $category, 'platform' => $platform); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_Webmasters_UrlCrawlErrorsSample"); + } + /** + * Lists a site's sample URLs for the specified crawl error category and + * platform. (urlcrawlerrorssamples.listUrlcrawlerrorssamples) + * + * @param string $siteUrl The site's URL, including protocol. For example: + * http://www.example.com/ + * @param string $category The crawl error category. For example: + * authPermissions + * @param string $platform The user agent type (platform) that made the request. + * For example: web + * @param array $optParams Optional parameters. + * @return Google_Service_Webmasters_UrlCrawlErrorsSamplesListResponse + */ + public function listUrlcrawlerrorssamples($siteUrl, $category, $platform, $optParams = array()) + { + $params = array('siteUrl' => $siteUrl, 'category' => $category, 'platform' => $platform); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_Webmasters_UrlCrawlErrorsSamplesListResponse"); + } + /** + * Marks the provided site's sample URL as fixed, and removes it from the + * samples list. (urlcrawlerrorssamples.markAsFixed) + * + * @param string $siteUrl The site's URL, including protocol. For example: + * http://www.example.com/ + * @param string $url The relative path (without the site) of the sample URL. It + * must be one of the URLs returned by list(). For example, for the URL + * https://www.example.com/pagename on the site https://www.example.com/, the + * url value is pagename + * @param string $category The crawl error category. For example: + * authPermissions + * @param string $platform The user agent type (platform) that made the request. + * For example: web + * @param array $optParams Optional parameters. + */ + public function markAsFixed($siteUrl, $url, $category, $platform, $optParams = array()) + { + $params = array('siteUrl' => $siteUrl, 'url' => $url, 'category' => $category, 'platform' => $platform); + $params = array_merge($params, $optParams); + return $this->call('markAsFixed', array($params)); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Webmasters/SearchAnalyticsQueryRequest.php b/vendor/google/apiclient-services/src/Google/Service/Webmasters/SearchAnalyticsQueryRequest.php new file mode 100644 index 00000000..2f12765a --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Webmasters/SearchAnalyticsQueryRequest.php @@ -0,0 +1,95 @@ +aggregationType = $aggregationType; + } + public function getAggregationType() + { + return $this->aggregationType; + } + public function setDimensionFilterGroups($dimensionFilterGroups) + { + $this->dimensionFilterGroups = $dimensionFilterGroups; + } + public function getDimensionFilterGroups() + { + return $this->dimensionFilterGroups; + } + public function setDimensions($dimensions) + { + $this->dimensions = $dimensions; + } + public function getDimensions() + { + return $this->dimensions; + } + public function setEndDate($endDate) + { + $this->endDate = $endDate; + } + public function getEndDate() + { + return $this->endDate; + } + public function setRowLimit($rowLimit) + { + $this->rowLimit = $rowLimit; + } + public function getRowLimit() + { + return $this->rowLimit; + } + public function setSearchType($searchType) + { + $this->searchType = $searchType; + } + public function getSearchType() + { + return $this->searchType; + } + public function setStartDate($startDate) + { + $this->startDate = $startDate; + } + public function getStartDate() + { + return $this->startDate; + } + public function setStartRow($startRow) + { + $this->startRow = $startRow; + } + public function getStartRow() + { + return $this->startRow; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Webmasters/SearchAnalyticsQueryResponse.php b/vendor/google/apiclient-services/src/Google/Service/Webmasters/SearchAnalyticsQueryResponse.php new file mode 100644 index 00000000..1674d175 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Webmasters/SearchAnalyticsQueryResponse.php @@ -0,0 +1,41 @@ +responseAggregationType = $responseAggregationType; + } + public function getResponseAggregationType() + { + return $this->responseAggregationType; + } + public function setRows($rows) + { + $this->rows = $rows; + } + public function getRows() + { + return $this->rows; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Webmasters/SitemapsListResponse.php b/vendor/google/apiclient-services/src/Google/Service/Webmasters/SitemapsListResponse.php new file mode 100644 index 00000000..c458f576 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Webmasters/SitemapsListResponse.php @@ -0,0 +1,32 @@ +sitemap = $sitemap; + } + public function getSitemap() + { + return $this->sitemap; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Webmasters/SitesListResponse.php b/vendor/google/apiclient-services/src/Google/Service/Webmasters/SitesListResponse.php new file mode 100644 index 00000000..52fdc667 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Webmasters/SitesListResponse.php @@ -0,0 +1,32 @@ +siteEntry = $siteEntry; + } + public function getSiteEntry() + { + return $this->siteEntry; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Webmasters/UrlCrawlErrorCount.php b/vendor/google/apiclient-services/src/Google/Service/Webmasters/UrlCrawlErrorCount.php new file mode 100644 index 00000000..fd128f94 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Webmasters/UrlCrawlErrorCount.php @@ -0,0 +1,39 @@ +count = $count; + } + public function getCount() + { + return $this->count; + } + public function setTimestamp($timestamp) + { + $this->timestamp = $timestamp; + } + public function getTimestamp() + { + return $this->timestamp; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Webmasters/UrlCrawlErrorCountsPerType.php b/vendor/google/apiclient-services/src/Google/Service/Webmasters/UrlCrawlErrorCountsPerType.php new file mode 100644 index 00000000..57e3e2ed --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Webmasters/UrlCrawlErrorCountsPerType.php @@ -0,0 +1,50 @@ +category = $category; + } + public function getCategory() + { + return $this->category; + } + public function setEntries($entries) + { + $this->entries = $entries; + } + public function getEntries() + { + return $this->entries; + } + public function setPlatform($platform) + { + $this->platform = $platform; + } + public function getPlatform() + { + return $this->platform; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Webmasters/UrlCrawlErrorsCountsQueryResponse.php b/vendor/google/apiclient-services/src/Google/Service/Webmasters/UrlCrawlErrorsCountsQueryResponse.php new file mode 100644 index 00000000..40590d75 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Webmasters/UrlCrawlErrorsCountsQueryResponse.php @@ -0,0 +1,32 @@ +countPerTypes = $countPerTypes; + } + public function getCountPerTypes() + { + return $this->countPerTypes; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Webmasters/UrlCrawlErrorsSample.php b/vendor/google/apiclient-services/src/Google/Service/Webmasters/UrlCrawlErrorsSample.php new file mode 100644 index 00000000..5291a57d --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Webmasters/UrlCrawlErrorsSample.php @@ -0,0 +1,71 @@ + "first_detected", + "lastCrawled" => "last_crawled", + ); + public $firstDetected; + public $lastCrawled; + public $pageUrl; + public $responseCode; + protected $urlDetailsType = 'Google_Service_Webmasters_UrlSampleDetails'; + protected $urlDetailsDataType = ''; + + public function setFirstDetected($firstDetected) + { + $this->firstDetected = $firstDetected; + } + public function getFirstDetected() + { + return $this->firstDetected; + } + public function setLastCrawled($lastCrawled) + { + $this->lastCrawled = $lastCrawled; + } + public function getLastCrawled() + { + return $this->lastCrawled; + } + public function setPageUrl($pageUrl) + { + $this->pageUrl = $pageUrl; + } + public function getPageUrl() + { + return $this->pageUrl; + } + public function setResponseCode($responseCode) + { + $this->responseCode = $responseCode; + } + public function getResponseCode() + { + return $this->responseCode; + } + public function setUrlDetails(Google_Service_Webmasters_UrlSampleDetails $urlDetails) + { + $this->urlDetails = $urlDetails; + } + public function getUrlDetails() + { + return $this->urlDetails; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Webmasters/UrlCrawlErrorsSamplesListResponse.php b/vendor/google/apiclient-services/src/Google/Service/Webmasters/UrlCrawlErrorsSamplesListResponse.php new file mode 100644 index 00000000..5835d3f1 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Webmasters/UrlCrawlErrorsSamplesListResponse.php @@ -0,0 +1,32 @@ +urlCrawlErrorSample = $urlCrawlErrorSample; + } + public function getUrlCrawlErrorSample() + { + return $this->urlCrawlErrorSample; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Webmasters/UrlSampleDetails.php b/vendor/google/apiclient-services/src/Google/Service/Webmasters/UrlSampleDetails.php new file mode 100644 index 00000000..3d50187b --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Webmasters/UrlSampleDetails.php @@ -0,0 +1,40 @@ +containingSitemaps = $containingSitemaps; + } + public function getContainingSitemaps() + { + return $this->containingSitemaps; + } + public function setLinkedFromUrls($linkedFromUrls) + { + $this->linkedFromUrls = $linkedFromUrls; + } + public function getLinkedFromUrls() + { + return $this->linkedFromUrls; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Webmasters/WmxSite.php b/vendor/google/apiclient-services/src/Google/Service/Webmasters/WmxSite.php new file mode 100644 index 00000000..6d0dc5f5 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Webmasters/WmxSite.php @@ -0,0 +1,39 @@ +permissionLevel = $permissionLevel; + } + public function getPermissionLevel() + { + return $this->permissionLevel; + } + public function setSiteUrl($siteUrl) + { + $this->siteUrl = $siteUrl; + } + public function getSiteUrl() + { + return $this->siteUrl; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Webmasters/WmxSitemap.php b/vendor/google/apiclient-services/src/Google/Service/Webmasters/WmxSitemap.php new file mode 100644 index 00000000..493bd27c --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Webmasters/WmxSitemap.php @@ -0,0 +1,104 @@ +contents = $contents; + } + public function getContents() + { + return $this->contents; + } + public function setErrors($errors) + { + $this->errors = $errors; + } + public function getErrors() + { + return $this->errors; + } + public function setIsPending($isPending) + { + $this->isPending = $isPending; + } + public function getIsPending() + { + return $this->isPending; + } + public function setIsSitemapsIndex($isSitemapsIndex) + { + $this->isSitemapsIndex = $isSitemapsIndex; + } + public function getIsSitemapsIndex() + { + return $this->isSitemapsIndex; + } + public function setLastDownloaded($lastDownloaded) + { + $this->lastDownloaded = $lastDownloaded; + } + public function getLastDownloaded() + { + return $this->lastDownloaded; + } + public function setLastSubmitted($lastSubmitted) + { + $this->lastSubmitted = $lastSubmitted; + } + public function getLastSubmitted() + { + return $this->lastSubmitted; + } + public function setPath($path) + { + $this->path = $path; + } + public function getPath() + { + return $this->path; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } + public function setWarnings($warnings) + { + $this->warnings = $warnings; + } + public function getWarnings() + { + return $this->warnings; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/Webmasters/WmxSitemapContent.php b/vendor/google/apiclient-services/src/Google/Service/Webmasters/WmxSitemapContent.php new file mode 100644 index 00000000..904a377c --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/Webmasters/WmxSitemapContent.php @@ -0,0 +1,48 @@ +indexed = $indexed; + } + public function getIndexed() + { + return $this->indexed; + } + public function setSubmitted($submitted) + { + $this->submitted = $submitted; + } + public function getSubmitted() + { + return $this->submitted; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/YouTube.php b/vendor/google/apiclient-services/src/Google/Service/YouTube.php new file mode 100644 index 00000000..17a45cfd --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/YouTube.php @@ -0,0 +1,1944 @@ + + * Supports core YouTube features, such as uploading videos, creating and + * managing playlists, searching for content, and much more.

+ * + *

+ * For more information about this service, see the API + * Documentation + *

+ * + * @author Google, Inc. + */ +class Google_Service_YouTube extends Google_Service +{ + /** Manage your YouTube account. */ + const YOUTUBE = + "https://www.googleapis.com/auth/youtube"; + /** Manage your YouTube account. */ + const YOUTUBE_FORCE_SSL = + "https://www.googleapis.com/auth/youtube.force-ssl"; + /** View your YouTube account. */ + const YOUTUBE_READONLY = + "https://www.googleapis.com/auth/youtube.readonly"; + /** Manage your YouTube videos. */ + const YOUTUBE_UPLOAD = + "https://www.googleapis.com/auth/youtube.upload"; + /** View and manage your assets and associated content on YouTube. */ + const YOUTUBEPARTNER = + "https://www.googleapis.com/auth/youtubepartner"; + /** View private information of your YouTube channel relevant during the audit process with a YouTube partner. */ + const YOUTUBEPARTNER_CHANNEL_AUDIT = + "https://www.googleapis.com/auth/youtubepartner-channel-audit"; + + public $activities; + public $captions; + public $channelBanners; + public $channelSections; + public $channels; + public $commentThreads; + public $comments; + public $fanFundingEvents; + public $guideCategories; + public $i18nLanguages; + public $i18nRegions; + public $liveBroadcasts; + public $liveChatBans; + public $liveChatMessages; + public $liveChatModerators; + public $liveStreams; + public $playlistItems; + public $playlists; + public $search; + public $sponsors; + public $subscriptions; + public $superChatEvents; + public $thumbnails; + public $videoAbuseReportReasons; + public $videoCategories; + public $videos; + public $watermarks; + + /** + * Constructs the internal representation of the YouTube service. + * + * @param Google_Client $client + */ + public function __construct(Google_Client $client) + { + parent::__construct($client); + $this->rootUrl = 'https://www.googleapis.com/'; + $this->servicePath = 'youtube/v3/'; + $this->version = 'v3'; + $this->serviceName = 'youtube'; + + $this->activities = new Google_Service_YouTube_Resource_Activities( + $this, + $this->serviceName, + 'activities', + array( + 'methods' => array( + 'insert' => array( + 'path' => 'activities', + 'httpMethod' => 'POST', + 'parameters' => array( + 'part' => array( + 'location' => 'query', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'activities', + 'httpMethod' => 'GET', + 'parameters' => array( + 'part' => array( + 'location' => 'query', + 'type' => 'string', + 'required' => true, + ), + 'channelId' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'home' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'mine' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'publishedAfter' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'publishedBefore' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'regionCode' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + $this->captions = new Google_Service_YouTube_Resource_Captions( + $this, + $this->serviceName, + 'captions', + array( + 'methods' => array( + 'delete' => array( + 'path' => 'captions', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'id' => array( + 'location' => 'query', + 'type' => 'string', + 'required' => true, + ), + 'onBehalfOf' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'onBehalfOfContentOwner' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'download' => array( + 'path' => 'captions/{id}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'id' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'onBehalfOf' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'onBehalfOfContentOwner' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'tfmt' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'tlang' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'insert' => array( + 'path' => 'captions', + 'httpMethod' => 'POST', + 'parameters' => array( + 'part' => array( + 'location' => 'query', + 'type' => 'string', + 'required' => true, + ), + 'onBehalfOf' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'onBehalfOfContentOwner' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'sync' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + ), + ),'list' => array( + 'path' => 'captions', + 'httpMethod' => 'GET', + 'parameters' => array( + 'part' => array( + 'location' => 'query', + 'type' => 'string', + 'required' => true, + ), + 'videoId' => array( + 'location' => 'query', + 'type' => 'string', + 'required' => true, + ), + 'id' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'onBehalfOf' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'onBehalfOfContentOwner' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'update' => array( + 'path' => 'captions', + 'httpMethod' => 'PUT', + 'parameters' => array( + 'part' => array( + 'location' => 'query', + 'type' => 'string', + 'required' => true, + ), + 'onBehalfOf' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'onBehalfOfContentOwner' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'sync' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + ), + ), + ) + ) + ); + $this->channelBanners = new Google_Service_YouTube_Resource_ChannelBanners( + $this, + $this->serviceName, + 'channelBanners', + array( + 'methods' => array( + 'insert' => array( + 'path' => 'channelBanners/insert', + 'httpMethod' => 'POST', + 'parameters' => array( + 'onBehalfOfContentOwner' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + $this->channelSections = new Google_Service_YouTube_Resource_ChannelSections( + $this, + $this->serviceName, + 'channelSections', + array( + 'methods' => array( + 'delete' => array( + 'path' => 'channelSections', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'id' => array( + 'location' => 'query', + 'type' => 'string', + 'required' => true, + ), + 'onBehalfOfContentOwner' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'insert' => array( + 'path' => 'channelSections', + 'httpMethod' => 'POST', + 'parameters' => array( + 'part' => array( + 'location' => 'query', + 'type' => 'string', + 'required' => true, + ), + 'onBehalfOfContentOwner' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'onBehalfOfContentOwnerChannel' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'list' => array( + 'path' => 'channelSections', + 'httpMethod' => 'GET', + 'parameters' => array( + 'part' => array( + 'location' => 'query', + 'type' => 'string', + 'required' => true, + ), + 'channelId' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'hl' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'id' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'mine' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + 'onBehalfOfContentOwner' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'update' => array( + 'path' => 'channelSections', + 'httpMethod' => 'PUT', + 'parameters' => array( + 'part' => array( + 'location' => 'query', + 'type' => 'string', + 'required' => true, + ), + 'onBehalfOfContentOwner' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + $this->channels = new Google_Service_YouTube_Resource_Channels( + $this, + $this->serviceName, + 'channels', + array( + 'methods' => array( + 'list' => array( + 'path' => 'channels', + 'httpMethod' => 'GET', + 'parameters' => array( + 'part' => array( + 'location' => 'query', + 'type' => 'string', + 'required' => true, + ), + 'categoryId' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'forUsername' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'hl' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'id' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'managedByMe' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'mine' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + 'mySubscribers' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + 'onBehalfOfContentOwner' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'update' => array( + 'path' => 'channels', + 'httpMethod' => 'PUT', + 'parameters' => array( + 'part' => array( + 'location' => 'query', + 'type' => 'string', + 'required' => true, + ), + 'onBehalfOfContentOwner' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + $this->commentThreads = new Google_Service_YouTube_Resource_CommentThreads( + $this, + $this->serviceName, + 'commentThreads', + array( + 'methods' => array( + 'insert' => array( + 'path' => 'commentThreads', + 'httpMethod' => 'POST', + 'parameters' => array( + 'part' => array( + 'location' => 'query', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'commentThreads', + 'httpMethod' => 'GET', + 'parameters' => array( + 'part' => array( + 'location' => 'query', + 'type' => 'string', + 'required' => true, + ), + 'allThreadsRelatedToChannelId' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'channelId' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'id' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'moderationStatus' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'order' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'searchTerms' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'textFormat' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'videoId' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'update' => array( + 'path' => 'commentThreads', + 'httpMethod' => 'PUT', + 'parameters' => array( + 'part' => array( + 'location' => 'query', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->comments = new Google_Service_YouTube_Resource_Comments( + $this, + $this->serviceName, + 'comments', + array( + 'methods' => array( + 'delete' => array( + 'path' => 'comments', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'id' => array( + 'location' => 'query', + 'type' => 'string', + 'required' => true, + ), + ), + ),'insert' => array( + 'path' => 'comments', + 'httpMethod' => 'POST', + 'parameters' => array( + 'part' => array( + 'location' => 'query', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'comments', + 'httpMethod' => 'GET', + 'parameters' => array( + 'part' => array( + 'location' => 'query', + 'type' => 'string', + 'required' => true, + ), + 'id' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'parentId' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'textFormat' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'markAsSpam' => array( + 'path' => 'comments/markAsSpam', + 'httpMethod' => 'POST', + 'parameters' => array( + 'id' => array( + 'location' => 'query', + 'type' => 'string', + 'required' => true, + ), + ), + ),'setModerationStatus' => array( + 'path' => 'comments/setModerationStatus', + 'httpMethod' => 'POST', + 'parameters' => array( + 'id' => array( + 'location' => 'query', + 'type' => 'string', + 'required' => true, + ), + 'moderationStatus' => array( + 'location' => 'query', + 'type' => 'string', + 'required' => true, + ), + 'banAuthor' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + ), + ),'update' => array( + 'path' => 'comments', + 'httpMethod' => 'PUT', + 'parameters' => array( + 'part' => array( + 'location' => 'query', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->fanFundingEvents = new Google_Service_YouTube_Resource_FanFundingEvents( + $this, + $this->serviceName, + 'fanFundingEvents', + array( + 'methods' => array( + 'list' => array( + 'path' => 'fanFundingEvents', + 'httpMethod' => 'GET', + 'parameters' => array( + 'part' => array( + 'location' => 'query', + 'type' => 'string', + 'required' => true, + ), + 'hl' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + $this->guideCategories = new Google_Service_YouTube_Resource_GuideCategories( + $this, + $this->serviceName, + 'guideCategories', + array( + 'methods' => array( + 'list' => array( + 'path' => 'guideCategories', + 'httpMethod' => 'GET', + 'parameters' => array( + 'part' => array( + 'location' => 'query', + 'type' => 'string', + 'required' => true, + ), + 'hl' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'id' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'regionCode' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + $this->i18nLanguages = new Google_Service_YouTube_Resource_I18nLanguages( + $this, + $this->serviceName, + 'i18nLanguages', + array( + 'methods' => array( + 'list' => array( + 'path' => 'i18nLanguages', + 'httpMethod' => 'GET', + 'parameters' => array( + 'part' => array( + 'location' => 'query', + 'type' => 'string', + 'required' => true, + ), + 'hl' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + $this->i18nRegions = new Google_Service_YouTube_Resource_I18nRegions( + $this, + $this->serviceName, + 'i18nRegions', + array( + 'methods' => array( + 'list' => array( + 'path' => 'i18nRegions', + 'httpMethod' => 'GET', + 'parameters' => array( + 'part' => array( + 'location' => 'query', + 'type' => 'string', + 'required' => true, + ), + 'hl' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + $this->liveBroadcasts = new Google_Service_YouTube_Resource_LiveBroadcasts( + $this, + $this->serviceName, + 'liveBroadcasts', + array( + 'methods' => array( + 'bind' => array( + 'path' => 'liveBroadcasts/bind', + 'httpMethod' => 'POST', + 'parameters' => array( + 'id' => array( + 'location' => 'query', + 'type' => 'string', + 'required' => true, + ), + 'part' => array( + 'location' => 'query', + 'type' => 'string', + 'required' => true, + ), + 'onBehalfOfContentOwner' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'onBehalfOfContentOwnerChannel' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'streamId' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'control' => array( + 'path' => 'liveBroadcasts/control', + 'httpMethod' => 'POST', + 'parameters' => array( + 'id' => array( + 'location' => 'query', + 'type' => 'string', + 'required' => true, + ), + 'part' => array( + 'location' => 'query', + 'type' => 'string', + 'required' => true, + ), + 'displaySlate' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + 'offsetTimeMs' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'onBehalfOfContentOwner' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'onBehalfOfContentOwnerChannel' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'walltime' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'delete' => array( + 'path' => 'liveBroadcasts', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'id' => array( + 'location' => 'query', + 'type' => 'string', + 'required' => true, + ), + 'onBehalfOfContentOwner' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'onBehalfOfContentOwnerChannel' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'insert' => array( + 'path' => 'liveBroadcasts', + 'httpMethod' => 'POST', + 'parameters' => array( + 'part' => array( + 'location' => 'query', + 'type' => 'string', + 'required' => true, + ), + 'onBehalfOfContentOwner' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'onBehalfOfContentOwnerChannel' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'list' => array( + 'path' => 'liveBroadcasts', + 'httpMethod' => 'GET', + 'parameters' => array( + 'part' => array( + 'location' => 'query', + 'type' => 'string', + 'required' => true, + ), + 'broadcastStatus' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'broadcastType' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'id' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'mine' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + 'onBehalfOfContentOwner' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'onBehalfOfContentOwnerChannel' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'transition' => array( + 'path' => 'liveBroadcasts/transition', + 'httpMethod' => 'POST', + 'parameters' => array( + 'broadcastStatus' => array( + 'location' => 'query', + 'type' => 'string', + 'required' => true, + ), + 'id' => array( + 'location' => 'query', + 'type' => 'string', + 'required' => true, + ), + 'part' => array( + 'location' => 'query', + 'type' => 'string', + 'required' => true, + ), + 'onBehalfOfContentOwner' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'onBehalfOfContentOwnerChannel' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'update' => array( + 'path' => 'liveBroadcasts', + 'httpMethod' => 'PUT', + 'parameters' => array( + 'part' => array( + 'location' => 'query', + 'type' => 'string', + 'required' => true, + ), + 'onBehalfOfContentOwner' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'onBehalfOfContentOwnerChannel' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + $this->liveChatBans = new Google_Service_YouTube_Resource_LiveChatBans( + $this, + $this->serviceName, + 'liveChatBans', + array( + 'methods' => array( + 'delete' => array( + 'path' => 'liveChat/bans', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'id' => array( + 'location' => 'query', + 'type' => 'string', + 'required' => true, + ), + ), + ),'insert' => array( + 'path' => 'liveChat/bans', + 'httpMethod' => 'POST', + 'parameters' => array( + 'part' => array( + 'location' => 'query', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->liveChatMessages = new Google_Service_YouTube_Resource_LiveChatMessages( + $this, + $this->serviceName, + 'liveChatMessages', + array( + 'methods' => array( + 'delete' => array( + 'path' => 'liveChat/messages', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'id' => array( + 'location' => 'query', + 'type' => 'string', + 'required' => true, + ), + ), + ),'insert' => array( + 'path' => 'liveChat/messages', + 'httpMethod' => 'POST', + 'parameters' => array( + 'part' => array( + 'location' => 'query', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'liveChat/messages', + 'httpMethod' => 'GET', + 'parameters' => array( + 'liveChatId' => array( + 'location' => 'query', + 'type' => 'string', + 'required' => true, + ), + 'part' => array( + 'location' => 'query', + 'type' => 'string', + 'required' => true, + ), + 'hl' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'profileImageSize' => array( + 'location' => 'query', + 'type' => 'integer', + ), + ), + ), + ) + ) + ); + $this->liveChatModerators = new Google_Service_YouTube_Resource_LiveChatModerators( + $this, + $this->serviceName, + 'liveChatModerators', + array( + 'methods' => array( + 'delete' => array( + 'path' => 'liveChat/moderators', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'id' => array( + 'location' => 'query', + 'type' => 'string', + 'required' => true, + ), + ), + ),'insert' => array( + 'path' => 'liveChat/moderators', + 'httpMethod' => 'POST', + 'parameters' => array( + 'part' => array( + 'location' => 'query', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'liveChat/moderators', + 'httpMethod' => 'GET', + 'parameters' => array( + 'liveChatId' => array( + 'location' => 'query', + 'type' => 'string', + 'required' => true, + ), + 'part' => array( + 'location' => 'query', + 'type' => 'string', + 'required' => true, + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + $this->liveStreams = new Google_Service_YouTube_Resource_LiveStreams( + $this, + $this->serviceName, + 'liveStreams', + array( + 'methods' => array( + 'delete' => array( + 'path' => 'liveStreams', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'id' => array( + 'location' => 'query', + 'type' => 'string', + 'required' => true, + ), + 'onBehalfOfContentOwner' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'onBehalfOfContentOwnerChannel' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'insert' => array( + 'path' => 'liveStreams', + 'httpMethod' => 'POST', + 'parameters' => array( + 'part' => array( + 'location' => 'query', + 'type' => 'string', + 'required' => true, + ), + 'onBehalfOfContentOwner' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'onBehalfOfContentOwnerChannel' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'list' => array( + 'path' => 'liveStreams', + 'httpMethod' => 'GET', + 'parameters' => array( + 'part' => array( + 'location' => 'query', + 'type' => 'string', + 'required' => true, + ), + 'id' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'mine' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + 'onBehalfOfContentOwner' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'onBehalfOfContentOwnerChannel' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'update' => array( + 'path' => 'liveStreams', + 'httpMethod' => 'PUT', + 'parameters' => array( + 'part' => array( + 'location' => 'query', + 'type' => 'string', + 'required' => true, + ), + 'onBehalfOfContentOwner' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'onBehalfOfContentOwnerChannel' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + $this->playlistItems = new Google_Service_YouTube_Resource_PlaylistItems( + $this, + $this->serviceName, + 'playlistItems', + array( + 'methods' => array( + 'delete' => array( + 'path' => 'playlistItems', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'id' => array( + 'location' => 'query', + 'type' => 'string', + 'required' => true, + ), + 'onBehalfOfContentOwner' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'insert' => array( + 'path' => 'playlistItems', + 'httpMethod' => 'POST', + 'parameters' => array( + 'part' => array( + 'location' => 'query', + 'type' => 'string', + 'required' => true, + ), + 'onBehalfOfContentOwner' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'list' => array( + 'path' => 'playlistItems', + 'httpMethod' => 'GET', + 'parameters' => array( + 'part' => array( + 'location' => 'query', + 'type' => 'string', + 'required' => true, + ), + 'id' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'onBehalfOfContentOwner' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'playlistId' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'videoId' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'update' => array( + 'path' => 'playlistItems', + 'httpMethod' => 'PUT', + 'parameters' => array( + 'part' => array( + 'location' => 'query', + 'type' => 'string', + 'required' => true, + ), + 'onBehalfOfContentOwner' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + $this->playlists = new Google_Service_YouTube_Resource_Playlists( + $this, + $this->serviceName, + 'playlists', + array( + 'methods' => array( + 'delete' => array( + 'path' => 'playlists', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'id' => array( + 'location' => 'query', + 'type' => 'string', + 'required' => true, + ), + 'onBehalfOfContentOwner' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'insert' => array( + 'path' => 'playlists', + 'httpMethod' => 'POST', + 'parameters' => array( + 'part' => array( + 'location' => 'query', + 'type' => 'string', + 'required' => true, + ), + 'onBehalfOfContentOwner' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'onBehalfOfContentOwnerChannel' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'list' => array( + 'path' => 'playlists', + 'httpMethod' => 'GET', + 'parameters' => array( + 'part' => array( + 'location' => 'query', + 'type' => 'string', + 'required' => true, + ), + 'channelId' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'hl' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'id' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'mine' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + 'onBehalfOfContentOwner' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'onBehalfOfContentOwnerChannel' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'update' => array( + 'path' => 'playlists', + 'httpMethod' => 'PUT', + 'parameters' => array( + 'part' => array( + 'location' => 'query', + 'type' => 'string', + 'required' => true, + ), + 'onBehalfOfContentOwner' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + $this->search = new Google_Service_YouTube_Resource_Search( + $this, + $this->serviceName, + 'search', + array( + 'methods' => array( + 'list' => array( + 'path' => 'search', + 'httpMethod' => 'GET', + 'parameters' => array( + 'part' => array( + 'location' => 'query', + 'type' => 'string', + 'required' => true, + ), + 'channelId' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'channelType' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'eventType' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'forContentOwner' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + 'forDeveloper' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + 'forMine' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + 'location' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'locationRadius' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'onBehalfOfContentOwner' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'order' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'publishedAfter' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'publishedBefore' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'q' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'regionCode' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'relatedToVideoId' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'relevanceLanguage' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'safeSearch' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'topicId' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'type' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'videoCaption' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'videoCategoryId' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'videoDefinition' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'videoDimension' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'videoDuration' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'videoEmbeddable' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'videoLicense' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'videoSyndicated' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'videoType' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + $this->sponsors = new Google_Service_YouTube_Resource_Sponsors( + $this, + $this->serviceName, + 'sponsors', + array( + 'methods' => array( + 'list' => array( + 'path' => 'sponsors', + 'httpMethod' => 'GET', + 'parameters' => array( + 'part' => array( + 'location' => 'query', + 'type' => 'string', + 'required' => true, + ), + 'filter' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + $this->subscriptions = new Google_Service_YouTube_Resource_Subscriptions( + $this, + $this->serviceName, + 'subscriptions', + array( + 'methods' => array( + 'delete' => array( + 'path' => 'subscriptions', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'id' => array( + 'location' => 'query', + 'type' => 'string', + 'required' => true, + ), + ), + ),'insert' => array( + 'path' => 'subscriptions', + 'httpMethod' => 'POST', + 'parameters' => array( + 'part' => array( + 'location' => 'query', + 'type' => 'string', + 'required' => true, + ), + ), + ),'list' => array( + 'path' => 'subscriptions', + 'httpMethod' => 'GET', + 'parameters' => array( + 'part' => array( + 'location' => 'query', + 'type' => 'string', + 'required' => true, + ), + 'channelId' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'forChannelId' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'id' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'mine' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + 'myRecentSubscribers' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + 'mySubscribers' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + 'onBehalfOfContentOwner' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'onBehalfOfContentOwnerChannel' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'order' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + $this->superChatEvents = new Google_Service_YouTube_Resource_SuperChatEvents( + $this, + $this->serviceName, + 'superChatEvents', + array( + 'methods' => array( + 'list' => array( + 'path' => 'superChatEvents', + 'httpMethod' => 'GET', + 'parameters' => array( + 'part' => array( + 'location' => 'query', + 'type' => 'string', + 'required' => true, + ), + 'hl' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + $this->thumbnails = new Google_Service_YouTube_Resource_Thumbnails( + $this, + $this->serviceName, + 'thumbnails', + array( + 'methods' => array( + 'set' => array( + 'path' => 'thumbnails/set', + 'httpMethod' => 'POST', + 'parameters' => array( + 'videoId' => array( + 'location' => 'query', + 'type' => 'string', + 'required' => true, + ), + 'onBehalfOfContentOwner' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + $this->videoAbuseReportReasons = new Google_Service_YouTube_Resource_VideoAbuseReportReasons( + $this, + $this->serviceName, + 'videoAbuseReportReasons', + array( + 'methods' => array( + 'list' => array( + 'path' => 'videoAbuseReportReasons', + 'httpMethod' => 'GET', + 'parameters' => array( + 'part' => array( + 'location' => 'query', + 'type' => 'string', + 'required' => true, + ), + 'hl' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + $this->videoCategories = new Google_Service_YouTube_Resource_VideoCategories( + $this, + $this->serviceName, + 'videoCategories', + array( + 'methods' => array( + 'list' => array( + 'path' => 'videoCategories', + 'httpMethod' => 'GET', + 'parameters' => array( + 'part' => array( + 'location' => 'query', + 'type' => 'string', + 'required' => true, + ), + 'hl' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'id' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'regionCode' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + $this->videos = new Google_Service_YouTube_Resource_Videos( + $this, + $this->serviceName, + 'videos', + array( + 'methods' => array( + 'delete' => array( + 'path' => 'videos', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'id' => array( + 'location' => 'query', + 'type' => 'string', + 'required' => true, + ), + 'onBehalfOfContentOwner' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'getRating' => array( + 'path' => 'videos/getRating', + 'httpMethod' => 'GET', + 'parameters' => array( + 'id' => array( + 'location' => 'query', + 'type' => 'string', + 'required' => true, + ), + 'onBehalfOfContentOwner' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'insert' => array( + 'path' => 'videos', + 'httpMethod' => 'POST', + 'parameters' => array( + 'part' => array( + 'location' => 'query', + 'type' => 'string', + 'required' => true, + ), + 'autoLevels' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + 'notifySubscribers' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + 'onBehalfOfContentOwner' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'onBehalfOfContentOwnerChannel' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'stabilize' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + ), + ),'list' => array( + 'path' => 'videos', + 'httpMethod' => 'GET', + 'parameters' => array( + 'part' => array( + 'location' => 'query', + 'type' => 'string', + 'required' => true, + ), + 'chart' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'hl' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'id' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'locale' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'maxHeight' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'maxResults' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'maxWidth' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'myRating' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'onBehalfOfContentOwner' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'regionCode' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'videoCategoryId' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'rate' => array( + 'path' => 'videos/rate', + 'httpMethod' => 'POST', + 'parameters' => array( + 'id' => array( + 'location' => 'query', + 'type' => 'string', + 'required' => true, + ), + 'rating' => array( + 'location' => 'query', + 'type' => 'string', + 'required' => true, + ), + ), + ),'reportAbuse' => array( + 'path' => 'videos/reportAbuse', + 'httpMethod' => 'POST', + 'parameters' => array( + 'onBehalfOfContentOwner' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'update' => array( + 'path' => 'videos', + 'httpMethod' => 'PUT', + 'parameters' => array( + 'part' => array( + 'location' => 'query', + 'type' => 'string', + 'required' => true, + ), + 'onBehalfOfContentOwner' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + $this->watermarks = new Google_Service_YouTube_Resource_Watermarks( + $this, + $this->serviceName, + 'watermarks', + array( + 'methods' => array( + 'set' => array( + 'path' => 'watermarks/set', + 'httpMethod' => 'POST', + 'parameters' => array( + 'channelId' => array( + 'location' => 'query', + 'type' => 'string', + 'required' => true, + ), + 'onBehalfOfContentOwner' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'unset' => array( + 'path' => 'watermarks/unset', + 'httpMethod' => 'POST', + 'parameters' => array( + 'channelId' => array( + 'location' => 'query', + 'type' => 'string', + 'required' => true, + ), + 'onBehalfOfContentOwner' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/YouTube/AccessPolicy.php b/vendor/google/apiclient-services/src/Google/Service/YouTube/AccessPolicy.php new file mode 100644 index 00000000..0d0dd350 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/YouTube/AccessPolicy.php @@ -0,0 +1,40 @@ +allowed = $allowed; + } + public function getAllowed() + { + return $this->allowed; + } + public function setException($exception) + { + $this->exception = $exception; + } + public function getException() + { + return $this->exception; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/YouTube/Activity.php b/vendor/google/apiclient-services/src/Google/Service/YouTube/Activity.php new file mode 100644 index 00000000..6fe1f6dc --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/YouTube/Activity.php @@ -0,0 +1,68 @@ +contentDetails = $contentDetails; + } + public function getContentDetails() + { + return $this->contentDetails; + } + public function setEtag($etag) + { + $this->etag = $etag; + } + public function getEtag() + { + return $this->etag; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setSnippet(Google_Service_YouTube_ActivitySnippet $snippet) + { + $this->snippet = $snippet; + } + public function getSnippet() + { + return $this->snippet; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/YouTube/ActivityContentDetails.php b/vendor/google/apiclient-services/src/Google/Service/YouTube/ActivityContentDetails.php new file mode 100644 index 00000000..58fe8e34 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/YouTube/ActivityContentDetails.php @@ -0,0 +1,131 @@ +bulletin = $bulletin; + } + public function getBulletin() + { + return $this->bulletin; + } + public function setChannelItem(Google_Service_YouTube_ActivityContentDetailsChannelItem $channelItem) + { + $this->channelItem = $channelItem; + } + public function getChannelItem() + { + return $this->channelItem; + } + public function setComment(Google_Service_YouTube_ActivityContentDetailsComment $comment) + { + $this->comment = $comment; + } + public function getComment() + { + return $this->comment; + } + public function setFavorite(Google_Service_YouTube_ActivityContentDetailsFavorite $favorite) + { + $this->favorite = $favorite; + } + public function getFavorite() + { + return $this->favorite; + } + public function setLike(Google_Service_YouTube_ActivityContentDetailsLike $like) + { + $this->like = $like; + } + public function getLike() + { + return $this->like; + } + public function setPlaylistItem(Google_Service_YouTube_ActivityContentDetailsPlaylistItem $playlistItem) + { + $this->playlistItem = $playlistItem; + } + public function getPlaylistItem() + { + return $this->playlistItem; + } + public function setPromotedItem(Google_Service_YouTube_ActivityContentDetailsPromotedItem $promotedItem) + { + $this->promotedItem = $promotedItem; + } + public function getPromotedItem() + { + return $this->promotedItem; + } + public function setRecommendation(Google_Service_YouTube_ActivityContentDetailsRecommendation $recommendation) + { + $this->recommendation = $recommendation; + } + public function getRecommendation() + { + return $this->recommendation; + } + public function setSocial(Google_Service_YouTube_ActivityContentDetailsSocial $social) + { + $this->social = $social; + } + public function getSocial() + { + return $this->social; + } + public function setSubscription(Google_Service_YouTube_ActivityContentDetailsSubscription $subscription) + { + $this->subscription = $subscription; + } + public function getSubscription() + { + return $this->subscription; + } + public function setUpload(Google_Service_YouTube_ActivityContentDetailsUpload $upload) + { + $this->upload = $upload; + } + public function getUpload() + { + return $this->upload; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/YouTube/ActivityContentDetailsBulletin.php b/vendor/google/apiclient-services/src/Google/Service/YouTube/ActivityContentDetailsBulletin.php new file mode 100644 index 00000000..781ac027 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/YouTube/ActivityContentDetailsBulletin.php @@ -0,0 +1,31 @@ +resourceId = $resourceId; + } + public function getResourceId() + { + return $this->resourceId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/YouTube/ActivityContentDetailsChannelItem.php b/vendor/google/apiclient-services/src/Google/Service/YouTube/ActivityContentDetailsChannelItem.php new file mode 100644 index 00000000..4880bd12 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/YouTube/ActivityContentDetailsChannelItem.php @@ -0,0 +1,31 @@ +resourceId = $resourceId; + } + public function getResourceId() + { + return $this->resourceId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/YouTube/ActivityContentDetailsComment.php b/vendor/google/apiclient-services/src/Google/Service/YouTube/ActivityContentDetailsComment.php new file mode 100644 index 00000000..5d3c0f76 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/YouTube/ActivityContentDetailsComment.php @@ -0,0 +1,31 @@ +resourceId = $resourceId; + } + public function getResourceId() + { + return $this->resourceId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/YouTube/ActivityContentDetailsFavorite.php b/vendor/google/apiclient-services/src/Google/Service/YouTube/ActivityContentDetailsFavorite.php new file mode 100644 index 00000000..3a20df97 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/YouTube/ActivityContentDetailsFavorite.php @@ -0,0 +1,31 @@ +resourceId = $resourceId; + } + public function getResourceId() + { + return $this->resourceId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/YouTube/ActivityContentDetailsLike.php b/vendor/google/apiclient-services/src/Google/Service/YouTube/ActivityContentDetailsLike.php new file mode 100644 index 00000000..565f74a3 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/YouTube/ActivityContentDetailsLike.php @@ -0,0 +1,31 @@ +resourceId = $resourceId; + } + public function getResourceId() + { + return $this->resourceId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/YouTube/ActivityContentDetailsPlaylistItem.php b/vendor/google/apiclient-services/src/Google/Service/YouTube/ActivityContentDetailsPlaylistItem.php new file mode 100644 index 00000000..ab73188e --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/YouTube/ActivityContentDetailsPlaylistItem.php @@ -0,0 +1,49 @@ +playlistId = $playlistId; + } + public function getPlaylistId() + { + return $this->playlistId; + } + public function setPlaylistItemId($playlistItemId) + { + $this->playlistItemId = $playlistItemId; + } + public function getPlaylistItemId() + { + return $this->playlistItemId; + } + public function setResourceId(Google_Service_YouTube_ResourceId $resourceId) + { + $this->resourceId = $resourceId; + } + public function getResourceId() + { + return $this->resourceId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/YouTube/ActivityContentDetailsPromotedItem.php b/vendor/google/apiclient-services/src/Google/Service/YouTube/ActivityContentDetailsPromotedItem.php new file mode 100644 index 00000000..4c385b8b --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/YouTube/ActivityContentDetailsPromotedItem.php @@ -0,0 +1,112 @@ +adTag = $adTag; + } + public function getAdTag() + { + return $this->adTag; + } + public function setClickTrackingUrl($clickTrackingUrl) + { + $this->clickTrackingUrl = $clickTrackingUrl; + } + public function getClickTrackingUrl() + { + return $this->clickTrackingUrl; + } + public function setCreativeViewUrl($creativeViewUrl) + { + $this->creativeViewUrl = $creativeViewUrl; + } + public function getCreativeViewUrl() + { + return $this->creativeViewUrl; + } + public function setCtaType($ctaType) + { + $this->ctaType = $ctaType; + } + public function getCtaType() + { + return $this->ctaType; + } + public function setCustomCtaButtonText($customCtaButtonText) + { + $this->customCtaButtonText = $customCtaButtonText; + } + public function getCustomCtaButtonText() + { + return $this->customCtaButtonText; + } + public function setDescriptionText($descriptionText) + { + $this->descriptionText = $descriptionText; + } + public function getDescriptionText() + { + return $this->descriptionText; + } + public function setDestinationUrl($destinationUrl) + { + $this->destinationUrl = $destinationUrl; + } + public function getDestinationUrl() + { + return $this->destinationUrl; + } + public function setForecastingUrl($forecastingUrl) + { + $this->forecastingUrl = $forecastingUrl; + } + public function getForecastingUrl() + { + return $this->forecastingUrl; + } + public function setImpressionUrl($impressionUrl) + { + $this->impressionUrl = $impressionUrl; + } + public function getImpressionUrl() + { + return $this->impressionUrl; + } + public function setVideoId($videoId) + { + $this->videoId = $videoId; + } + public function getVideoId() + { + return $this->videoId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/YouTube/ActivityContentDetailsRecommendation.php b/vendor/google/apiclient-services/src/Google/Service/YouTube/ActivityContentDetailsRecommendation.php new file mode 100644 index 00000000..db75327c --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/YouTube/ActivityContentDetailsRecommendation.php @@ -0,0 +1,50 @@ +reason = $reason; + } + public function getReason() + { + return $this->reason; + } + public function setResourceId(Google_Service_YouTube_ResourceId $resourceId) + { + $this->resourceId = $resourceId; + } + public function getResourceId() + { + return $this->resourceId; + } + public function setSeedResourceId(Google_Service_YouTube_ResourceId $seedResourceId) + { + $this->seedResourceId = $seedResourceId; + } + public function getSeedResourceId() + { + return $this->seedResourceId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/YouTube/ActivityContentDetailsSocial.php b/vendor/google/apiclient-services/src/Google/Service/YouTube/ActivityContentDetailsSocial.php new file mode 100644 index 00000000..c2aeb6dd --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/YouTube/ActivityContentDetailsSocial.php @@ -0,0 +1,67 @@ +author = $author; + } + public function getAuthor() + { + return $this->author; + } + public function setImageUrl($imageUrl) + { + $this->imageUrl = $imageUrl; + } + public function getImageUrl() + { + return $this->imageUrl; + } + public function setReferenceUrl($referenceUrl) + { + $this->referenceUrl = $referenceUrl; + } + public function getReferenceUrl() + { + return $this->referenceUrl; + } + public function setResourceId(Google_Service_YouTube_ResourceId $resourceId) + { + $this->resourceId = $resourceId; + } + public function getResourceId() + { + return $this->resourceId; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/YouTube/ActivityContentDetailsSubscription.php b/vendor/google/apiclient-services/src/Google/Service/YouTube/ActivityContentDetailsSubscription.php new file mode 100644 index 00000000..d394ef33 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/YouTube/ActivityContentDetailsSubscription.php @@ -0,0 +1,31 @@ +resourceId = $resourceId; + } + public function getResourceId() + { + return $this->resourceId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/YouTube/ActivityContentDetailsUpload.php b/vendor/google/apiclient-services/src/Google/Service/YouTube/ActivityContentDetailsUpload.php new file mode 100644 index 00000000..c642753d --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/YouTube/ActivityContentDetailsUpload.php @@ -0,0 +1,30 @@ +videoId = $videoId; + } + public function getVideoId() + { + return $this->videoId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/YouTube/ActivityListResponse.php b/vendor/google/apiclient-services/src/Google/Service/YouTube/ActivityListResponse.php new file mode 100644 index 00000000..4c8f1db2 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/YouTube/ActivityListResponse.php @@ -0,0 +1,106 @@ +etag = $etag; + } + public function getEtag() + { + return $this->etag; + } + public function setEventId($eventId) + { + $this->eventId = $eventId; + } + public function getEventId() + { + return $this->eventId; + } + public function setItems($items) + { + $this->items = $items; + } + public function getItems() + { + return $this->items; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setPageInfo(Google_Service_YouTube_PageInfo $pageInfo) + { + $this->pageInfo = $pageInfo; + } + public function getPageInfo() + { + return $this->pageInfo; + } + public function setPrevPageToken($prevPageToken) + { + $this->prevPageToken = $prevPageToken; + } + public function getPrevPageToken() + { + return $this->prevPageToken; + } + public function setTokenPagination(Google_Service_YouTube_TokenPagination $tokenPagination) + { + $this->tokenPagination = $tokenPagination; + } + public function getTokenPagination() + { + return $this->tokenPagination; + } + public function setVisitorId($visitorId) + { + $this->visitorId = $visitorId; + } + public function getVisitorId() + { + return $this->visitorId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/YouTube/ActivitySnippet.php b/vendor/google/apiclient-services/src/Google/Service/YouTube/ActivitySnippet.php new file mode 100644 index 00000000..5e67c25e --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/YouTube/ActivitySnippet.php @@ -0,0 +1,94 @@ +channelId = $channelId; + } + public function getChannelId() + { + return $this->channelId; + } + public function setChannelTitle($channelTitle) + { + $this->channelTitle = $channelTitle; + } + public function getChannelTitle() + { + return $this->channelTitle; + } + public function setDescription($description) + { + $this->description = $description; + } + public function getDescription() + { + return $this->description; + } + public function setGroupId($groupId) + { + $this->groupId = $groupId; + } + public function getGroupId() + { + return $this->groupId; + } + public function setPublishedAt($publishedAt) + { + $this->publishedAt = $publishedAt; + } + public function getPublishedAt() + { + return $this->publishedAt; + } + public function setThumbnails(Google_Service_YouTube_ThumbnailDetails $thumbnails) + { + $this->thumbnails = $thumbnails; + } + public function getThumbnails() + { + return $this->thumbnails; + } + public function setTitle($title) + { + $this->title = $title; + } + public function getTitle() + { + return $this->title; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/YouTube/Caption.php b/vendor/google/apiclient-services/src/Google/Service/YouTube/Caption.php new file mode 100644 index 00000000..9fe9edaa --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/YouTube/Caption.php @@ -0,0 +1,58 @@ +etag = $etag; + } + public function getEtag() + { + return $this->etag; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setSnippet(Google_Service_YouTube_CaptionSnippet $snippet) + { + $this->snippet = $snippet; + } + public function getSnippet() + { + return $this->snippet; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/YouTube/CaptionListResponse.php b/vendor/google/apiclient-services/src/Google/Service/YouTube/CaptionListResponse.php new file mode 100644 index 00000000..6d1eba6a --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/YouTube/CaptionListResponse.php @@ -0,0 +1,68 @@ +etag = $etag; + } + public function getEtag() + { + return $this->etag; + } + public function setEventId($eventId) + { + $this->eventId = $eventId; + } + public function getEventId() + { + return $this->eventId; + } + public function setItems($items) + { + $this->items = $items; + } + public function getItems() + { + return $this->items; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setVisitorId($visitorId) + { + $this->visitorId = $visitorId; + } + public function getVisitorId() + { + return $this->visitorId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/YouTube/CaptionSnippet.php b/vendor/google/apiclient-services/src/Google/Service/YouTube/CaptionSnippet.php new file mode 100644 index 00000000..c37ce942 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/YouTube/CaptionSnippet.php @@ -0,0 +1,138 @@ +audioTrackType = $audioTrackType; + } + public function getAudioTrackType() + { + return $this->audioTrackType; + } + public function setFailureReason($failureReason) + { + $this->failureReason = $failureReason; + } + public function getFailureReason() + { + return $this->failureReason; + } + public function setIsAutoSynced($isAutoSynced) + { + $this->isAutoSynced = $isAutoSynced; + } + public function getIsAutoSynced() + { + return $this->isAutoSynced; + } + public function setIsCC($isCC) + { + $this->isCC = $isCC; + } + public function getIsCC() + { + return $this->isCC; + } + public function setIsDraft($isDraft) + { + $this->isDraft = $isDraft; + } + public function getIsDraft() + { + return $this->isDraft; + } + public function setIsEasyReader($isEasyReader) + { + $this->isEasyReader = $isEasyReader; + } + public function getIsEasyReader() + { + return $this->isEasyReader; + } + public function setIsLarge($isLarge) + { + $this->isLarge = $isLarge; + } + public function getIsLarge() + { + return $this->isLarge; + } + public function setLanguage($language) + { + $this->language = $language; + } + public function getLanguage() + { + return $this->language; + } + public function setLastUpdated($lastUpdated) + { + $this->lastUpdated = $lastUpdated; + } + public function getLastUpdated() + { + return $this->lastUpdated; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setStatus($status) + { + $this->status = $status; + } + public function getStatus() + { + return $this->status; + } + public function setTrackKind($trackKind) + { + $this->trackKind = $trackKind; + } + public function getTrackKind() + { + return $this->trackKind; + } + public function setVideoId($videoId) + { + $this->videoId = $videoId; + } + public function getVideoId() + { + return $this->videoId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/YouTube/CdnSettings.php b/vendor/google/apiclient-services/src/Google/Service/YouTube/CdnSettings.php new file mode 100644 index 00000000..4c334b35 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/YouTube/CdnSettings.php @@ -0,0 +1,67 @@ +format = $format; + } + public function getFormat() + { + return $this->format; + } + public function setFrameRate($frameRate) + { + $this->frameRate = $frameRate; + } + public function getFrameRate() + { + return $this->frameRate; + } + public function setIngestionInfo(Google_Service_YouTube_IngestionInfo $ingestionInfo) + { + $this->ingestionInfo = $ingestionInfo; + } + public function getIngestionInfo() + { + return $this->ingestionInfo; + } + public function setIngestionType($ingestionType) + { + $this->ingestionType = $ingestionType; + } + public function getIngestionType() + { + return $this->ingestionType; + } + public function setResolution($resolution) + { + $this->resolution = $resolution; + } + public function getResolution() + { + return $this->resolution; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/YouTube/Channel.php b/vendor/google/apiclient-services/src/Google/Service/YouTube/Channel.php new file mode 100644 index 00000000..9800cd59 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/YouTube/Channel.php @@ -0,0 +1,158 @@ +auditDetails = $auditDetails; + } + public function getAuditDetails() + { + return $this->auditDetails; + } + public function setBrandingSettings(Google_Service_YouTube_ChannelBrandingSettings $brandingSettings) + { + $this->brandingSettings = $brandingSettings; + } + public function getBrandingSettings() + { + return $this->brandingSettings; + } + public function setContentDetails(Google_Service_YouTube_ChannelContentDetails $contentDetails) + { + $this->contentDetails = $contentDetails; + } + public function getContentDetails() + { + return $this->contentDetails; + } + public function setContentOwnerDetails(Google_Service_YouTube_ChannelContentOwnerDetails $contentOwnerDetails) + { + $this->contentOwnerDetails = $contentOwnerDetails; + } + public function getContentOwnerDetails() + { + return $this->contentOwnerDetails; + } + public function setConversionPings(Google_Service_YouTube_ChannelConversionPings $conversionPings) + { + $this->conversionPings = $conversionPings; + } + public function getConversionPings() + { + return $this->conversionPings; + } + public function setEtag($etag) + { + $this->etag = $etag; + } + public function getEtag() + { + return $this->etag; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setInvideoPromotion(Google_Service_YouTube_InvideoPromotion $invideoPromotion) + { + $this->invideoPromotion = $invideoPromotion; + } + public function getInvideoPromotion() + { + return $this->invideoPromotion; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setLocalizations($localizations) + { + $this->localizations = $localizations; + } + public function getLocalizations() + { + return $this->localizations; + } + public function setSnippet(Google_Service_YouTube_ChannelSnippet $snippet) + { + $this->snippet = $snippet; + } + public function getSnippet() + { + return $this->snippet; + } + public function setStatistics(Google_Service_YouTube_ChannelStatistics $statistics) + { + $this->statistics = $statistics; + } + public function getStatistics() + { + return $this->statistics; + } + public function setStatus(Google_Service_YouTube_ChannelStatus $status) + { + $this->status = $status; + } + public function getStatus() + { + return $this->status; + } + public function setTopicDetails(Google_Service_YouTube_ChannelTopicDetails $topicDetails) + { + $this->topicDetails = $topicDetails; + } + public function getTopicDetails() + { + return $this->topicDetails; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/YouTube/ChannelAuditDetails.php b/vendor/google/apiclient-services/src/Google/Service/YouTube/ChannelAuditDetails.php new file mode 100644 index 00000000..2a6907cd --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/YouTube/ChannelAuditDetails.php @@ -0,0 +1,57 @@ +communityGuidelinesGoodStanding = $communityGuidelinesGoodStanding; + } + public function getCommunityGuidelinesGoodStanding() + { + return $this->communityGuidelinesGoodStanding; + } + public function setContentIdClaimsGoodStanding($contentIdClaimsGoodStanding) + { + $this->contentIdClaimsGoodStanding = $contentIdClaimsGoodStanding; + } + public function getContentIdClaimsGoodStanding() + { + return $this->contentIdClaimsGoodStanding; + } + public function setCopyrightStrikesGoodStanding($copyrightStrikesGoodStanding) + { + $this->copyrightStrikesGoodStanding = $copyrightStrikesGoodStanding; + } + public function getCopyrightStrikesGoodStanding() + { + return $this->copyrightStrikesGoodStanding; + } + public function setOverallGoodStanding($overallGoodStanding) + { + $this->overallGoodStanding = $overallGoodStanding; + } + public function getOverallGoodStanding() + { + return $this->overallGoodStanding; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/YouTube/ChannelBannerResource.php b/vendor/google/apiclient-services/src/Google/Service/YouTube/ChannelBannerResource.php new file mode 100644 index 00000000..58f48d58 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/YouTube/ChannelBannerResource.php @@ -0,0 +1,48 @@ +etag = $etag; + } + public function getEtag() + { + return $this->etag; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setUrl($url) + { + $this->url = $url; + } + public function getUrl() + { + return $this->url; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/YouTube/ChannelBrandingSettings.php b/vendor/google/apiclient-services/src/Google/Service/YouTube/ChannelBrandingSettings.php new file mode 100644 index 00000000..e2d4a935 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/YouTube/ChannelBrandingSettings.php @@ -0,0 +1,62 @@ +channel = $channel; + } + public function getChannel() + { + return $this->channel; + } + public function setHints($hints) + { + $this->hints = $hints; + } + public function getHints() + { + return $this->hints; + } + public function setImage(Google_Service_YouTube_ImageSettings $image) + { + $this->image = $image; + } + public function getImage() + { + return $this->image; + } + public function setWatch(Google_Service_YouTube_WatchSettings $watch) + { + $this->watch = $watch; + } + public function getWatch() + { + return $this->watch; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/YouTube/ChannelContentDetails.php b/vendor/google/apiclient-services/src/Google/Service/YouTube/ChannelContentDetails.php new file mode 100644 index 00000000..d397e718 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/YouTube/ChannelContentDetails.php @@ -0,0 +1,31 @@ +relatedPlaylists = $relatedPlaylists; + } + public function getRelatedPlaylists() + { + return $this->relatedPlaylists; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/YouTube/ChannelContentDetailsRelatedPlaylists.php b/vendor/google/apiclient-services/src/Google/Service/YouTube/ChannelContentDetailsRelatedPlaylists.php new file mode 100644 index 00000000..efb14984 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/YouTube/ChannelContentDetailsRelatedPlaylists.php @@ -0,0 +1,66 @@ +favorites = $favorites; + } + public function getFavorites() + { + return $this->favorites; + } + public function setLikes($likes) + { + $this->likes = $likes; + } + public function getLikes() + { + return $this->likes; + } + public function setUploads($uploads) + { + $this->uploads = $uploads; + } + public function getUploads() + { + return $this->uploads; + } + public function setWatchHistory($watchHistory) + { + $this->watchHistory = $watchHistory; + } + public function getWatchHistory() + { + return $this->watchHistory; + } + public function setWatchLater($watchLater) + { + $this->watchLater = $watchLater; + } + public function getWatchLater() + { + return $this->watchLater; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/YouTube/ChannelContentOwnerDetails.php b/vendor/google/apiclient-services/src/Google/Service/YouTube/ChannelContentOwnerDetails.php new file mode 100644 index 00000000..0a0bfaf4 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/YouTube/ChannelContentOwnerDetails.php @@ -0,0 +1,39 @@ +contentOwner = $contentOwner; + } + public function getContentOwner() + { + return $this->contentOwner; + } + public function setTimeLinked($timeLinked) + { + $this->timeLinked = $timeLinked; + } + public function getTimeLinked() + { + return $this->timeLinked; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/YouTube/ChannelConversionPing.php b/vendor/google/apiclient-services/src/Google/Service/YouTube/ChannelConversionPing.php new file mode 100644 index 00000000..16cd26a8 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/YouTube/ChannelConversionPing.php @@ -0,0 +1,39 @@ +context = $context; + } + public function getContext() + { + return $this->context; + } + public function setConversionUrl($conversionUrl) + { + $this->conversionUrl = $conversionUrl; + } + public function getConversionUrl() + { + return $this->conversionUrl; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/YouTube/ChannelConversionPings.php b/vendor/google/apiclient-services/src/Google/Service/YouTube/ChannelConversionPings.php new file mode 100644 index 00000000..801e11bf --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/YouTube/ChannelConversionPings.php @@ -0,0 +1,32 @@ +pings = $pings; + } + public function getPings() + { + return $this->pings; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/YouTube/ChannelListResponse.php b/vendor/google/apiclient-services/src/Google/Service/YouTube/ChannelListResponse.php new file mode 100644 index 00000000..89f9d08d --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/YouTube/ChannelListResponse.php @@ -0,0 +1,106 @@ +etag = $etag; + } + public function getEtag() + { + return $this->etag; + } + public function setEventId($eventId) + { + $this->eventId = $eventId; + } + public function getEventId() + { + return $this->eventId; + } + public function setItems($items) + { + $this->items = $items; + } + public function getItems() + { + return $this->items; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setPageInfo(Google_Service_YouTube_PageInfo $pageInfo) + { + $this->pageInfo = $pageInfo; + } + public function getPageInfo() + { + return $this->pageInfo; + } + public function setPrevPageToken($prevPageToken) + { + $this->prevPageToken = $prevPageToken; + } + public function getPrevPageToken() + { + return $this->prevPageToken; + } + public function setTokenPagination(Google_Service_YouTube_TokenPagination $tokenPagination) + { + $this->tokenPagination = $tokenPagination; + } + public function getTokenPagination() + { + return $this->tokenPagination; + } + public function setVisitorId($visitorId) + { + $this->visitorId = $visitorId; + } + public function getVisitorId() + { + return $this->visitorId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/YouTube/ChannelLocalization.php b/vendor/google/apiclient-services/src/Google/Service/YouTube/ChannelLocalization.php new file mode 100644 index 00000000..388ed7d6 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/YouTube/ChannelLocalization.php @@ -0,0 +1,39 @@ +description = $description; + } + public function getDescription() + { + return $this->description; + } + public function setTitle($title) + { + $this->title = $title; + } + public function getTitle() + { + return $this->title; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/YouTube/ChannelProfileDetails.php b/vendor/google/apiclient-services/src/Google/Service/YouTube/ChannelProfileDetails.php new file mode 100644 index 00000000..ec10ae72 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/YouTube/ChannelProfileDetails.php @@ -0,0 +1,57 @@ +channelId = $channelId; + } + public function getChannelId() + { + return $this->channelId; + } + public function setChannelUrl($channelUrl) + { + $this->channelUrl = $channelUrl; + } + public function getChannelUrl() + { + return $this->channelUrl; + } + public function setDisplayName($displayName) + { + $this->displayName = $displayName; + } + public function getDisplayName() + { + return $this->displayName; + } + public function setProfileImageUrl($profileImageUrl) + { + $this->profileImageUrl = $profileImageUrl; + } + public function getProfileImageUrl() + { + return $this->profileImageUrl; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/YouTube/ChannelSection.php b/vendor/google/apiclient-services/src/Google/Service/YouTube/ChannelSection.php new file mode 100644 index 00000000..83218e96 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/YouTube/ChannelSection.php @@ -0,0 +1,88 @@ +contentDetails = $contentDetails; + } + public function getContentDetails() + { + return $this->contentDetails; + } + public function setEtag($etag) + { + $this->etag = $etag; + } + public function getEtag() + { + return $this->etag; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setLocalizations($localizations) + { + $this->localizations = $localizations; + } + public function getLocalizations() + { + return $this->localizations; + } + public function setSnippet(Google_Service_YouTube_ChannelSectionSnippet $snippet) + { + $this->snippet = $snippet; + } + public function getSnippet() + { + return $this->snippet; + } + public function setTargeting(Google_Service_YouTube_ChannelSectionTargeting $targeting) + { + $this->targeting = $targeting; + } + public function getTargeting() + { + return $this->targeting; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/YouTube/ChannelSectionContentDetails.php b/vendor/google/apiclient-services/src/Google/Service/YouTube/ChannelSectionContentDetails.php new file mode 100644 index 00000000..8bcb8e98 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/YouTube/ChannelSectionContentDetails.php @@ -0,0 +1,40 @@ +channels = $channels; + } + public function getChannels() + { + return $this->channels; + } + public function setPlaylists($playlists) + { + $this->playlists = $playlists; + } + public function getPlaylists() + { + return $this->playlists; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/YouTube/ChannelSectionListResponse.php b/vendor/google/apiclient-services/src/Google/Service/YouTube/ChannelSectionListResponse.php new file mode 100644 index 00000000..eccac741 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/YouTube/ChannelSectionListResponse.php @@ -0,0 +1,68 @@ +etag = $etag; + } + public function getEtag() + { + return $this->etag; + } + public function setEventId($eventId) + { + $this->eventId = $eventId; + } + public function getEventId() + { + return $this->eventId; + } + public function setItems($items) + { + $this->items = $items; + } + public function getItems() + { + return $this->items; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setVisitorId($visitorId) + { + $this->visitorId = $visitorId; + } + public function getVisitorId() + { + return $this->visitorId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/YouTube/ChannelSectionLocalization.php b/vendor/google/apiclient-services/src/Google/Service/YouTube/ChannelSectionLocalization.php new file mode 100644 index 00000000..6fb5e23a --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/YouTube/ChannelSectionLocalization.php @@ -0,0 +1,30 @@ +title = $title; + } + public function getTitle() + { + return $this->title; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/YouTube/ChannelSectionSnippet.php b/vendor/google/apiclient-services/src/Google/Service/YouTube/ChannelSectionSnippet.php new file mode 100644 index 00000000..3209a4c6 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/YouTube/ChannelSectionSnippet.php @@ -0,0 +1,85 @@ +channelId = $channelId; + } + public function getChannelId() + { + return $this->channelId; + } + public function setDefaultLanguage($defaultLanguage) + { + $this->defaultLanguage = $defaultLanguage; + } + public function getDefaultLanguage() + { + return $this->defaultLanguage; + } + public function setLocalized(Google_Service_YouTube_ChannelSectionLocalization $localized) + { + $this->localized = $localized; + } + public function getLocalized() + { + return $this->localized; + } + public function setPosition($position) + { + $this->position = $position; + } + public function getPosition() + { + return $this->position; + } + public function setStyle($style) + { + $this->style = $style; + } + public function getStyle() + { + return $this->style; + } + public function setTitle($title) + { + $this->title = $title; + } + public function getTitle() + { + return $this->title; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/YouTube/ChannelSectionTargeting.php b/vendor/google/apiclient-services/src/Google/Service/YouTube/ChannelSectionTargeting.php new file mode 100644 index 00000000..f72036bf --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/YouTube/ChannelSectionTargeting.php @@ -0,0 +1,49 @@ +countries = $countries; + } + public function getCountries() + { + return $this->countries; + } + public function setLanguages($languages) + { + $this->languages = $languages; + } + public function getLanguages() + { + return $this->languages; + } + public function setRegions($regions) + { + $this->regions = $regions; + } + public function getRegions() + { + return $this->regions; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/YouTube/ChannelSettings.php b/vendor/google/apiclient-services/src/Google/Service/YouTube/ChannelSettings.php new file mode 100644 index 00000000..24669344 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/YouTube/ChannelSettings.php @@ -0,0 +1,148 @@ +country = $country; + } + public function getCountry() + { + return $this->country; + } + public function setDefaultLanguage($defaultLanguage) + { + $this->defaultLanguage = $defaultLanguage; + } + public function getDefaultLanguage() + { + return $this->defaultLanguage; + } + public function setDefaultTab($defaultTab) + { + $this->defaultTab = $defaultTab; + } + public function getDefaultTab() + { + return $this->defaultTab; + } + public function setDescription($description) + { + $this->description = $description; + } + public function getDescription() + { + return $this->description; + } + public function setFeaturedChannelsTitle($featuredChannelsTitle) + { + $this->featuredChannelsTitle = $featuredChannelsTitle; + } + public function getFeaturedChannelsTitle() + { + return $this->featuredChannelsTitle; + } + public function setFeaturedChannelsUrls($featuredChannelsUrls) + { + $this->featuredChannelsUrls = $featuredChannelsUrls; + } + public function getFeaturedChannelsUrls() + { + return $this->featuredChannelsUrls; + } + public function setKeywords($keywords) + { + $this->keywords = $keywords; + } + public function getKeywords() + { + return $this->keywords; + } + public function setModerateComments($moderateComments) + { + $this->moderateComments = $moderateComments; + } + public function getModerateComments() + { + return $this->moderateComments; + } + public function setProfileColor($profileColor) + { + $this->profileColor = $profileColor; + } + public function getProfileColor() + { + return $this->profileColor; + } + public function setShowBrowseView($showBrowseView) + { + $this->showBrowseView = $showBrowseView; + } + public function getShowBrowseView() + { + return $this->showBrowseView; + } + public function setShowRelatedChannels($showRelatedChannels) + { + $this->showRelatedChannels = $showRelatedChannels; + } + public function getShowRelatedChannels() + { + return $this->showRelatedChannels; + } + public function setTitle($title) + { + $this->title = $title; + } + public function getTitle() + { + return $this->title; + } + public function setTrackingAnalyticsAccountId($trackingAnalyticsAccountId) + { + $this->trackingAnalyticsAccountId = $trackingAnalyticsAccountId; + } + public function getTrackingAnalyticsAccountId() + { + return $this->trackingAnalyticsAccountId; + } + public function setUnsubscribedTrailer($unsubscribedTrailer) + { + $this->unsubscribedTrailer = $unsubscribedTrailer; + } + public function getUnsubscribedTrailer() + { + return $this->unsubscribedTrailer; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/YouTube/ChannelSnippet.php b/vendor/google/apiclient-services/src/Google/Service/YouTube/ChannelSnippet.php new file mode 100644 index 00000000..318d3b45 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/YouTube/ChannelSnippet.php @@ -0,0 +1,95 @@ +country = $country; + } + public function getCountry() + { + return $this->country; + } + public function setCustomUrl($customUrl) + { + $this->customUrl = $customUrl; + } + public function getCustomUrl() + { + return $this->customUrl; + } + public function setDefaultLanguage($defaultLanguage) + { + $this->defaultLanguage = $defaultLanguage; + } + public function getDefaultLanguage() + { + return $this->defaultLanguage; + } + public function setDescription($description) + { + $this->description = $description; + } + public function getDescription() + { + return $this->description; + } + public function setLocalized(Google_Service_YouTube_ChannelLocalization $localized) + { + $this->localized = $localized; + } + public function getLocalized() + { + return $this->localized; + } + public function setPublishedAt($publishedAt) + { + $this->publishedAt = $publishedAt; + } + public function getPublishedAt() + { + return $this->publishedAt; + } + public function setThumbnails(Google_Service_YouTube_ThumbnailDetails $thumbnails) + { + $this->thumbnails = $thumbnails; + } + public function getThumbnails() + { + return $this->thumbnails; + } + public function setTitle($title) + { + $this->title = $title; + } + public function getTitle() + { + return $this->title; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/YouTube/ChannelStatistics.php b/vendor/google/apiclient-services/src/Google/Service/YouTube/ChannelStatistics.php new file mode 100644 index 00000000..f5c07786 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/YouTube/ChannelStatistics.php @@ -0,0 +1,66 @@ +commentCount = $commentCount; + } + public function getCommentCount() + { + return $this->commentCount; + } + public function setHiddenSubscriberCount($hiddenSubscriberCount) + { + $this->hiddenSubscriberCount = $hiddenSubscriberCount; + } + public function getHiddenSubscriberCount() + { + return $this->hiddenSubscriberCount; + } + public function setSubscriberCount($subscriberCount) + { + $this->subscriberCount = $subscriberCount; + } + public function getSubscriberCount() + { + return $this->subscriberCount; + } + public function setVideoCount($videoCount) + { + $this->videoCount = $videoCount; + } + public function getVideoCount() + { + return $this->videoCount; + } + public function setViewCount($viewCount) + { + $this->viewCount = $viewCount; + } + public function getViewCount() + { + return $this->viewCount; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/YouTube/ChannelStatus.php b/vendor/google/apiclient-services/src/Google/Service/YouTube/ChannelStatus.php new file mode 100644 index 00000000..ff4bcaaf --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/YouTube/ChannelStatus.php @@ -0,0 +1,48 @@ +isLinked = $isLinked; + } + public function getIsLinked() + { + return $this->isLinked; + } + public function setLongUploadsStatus($longUploadsStatus) + { + $this->longUploadsStatus = $longUploadsStatus; + } + public function getLongUploadsStatus() + { + return $this->longUploadsStatus; + } + public function setPrivacyStatus($privacyStatus) + { + $this->privacyStatus = $privacyStatus; + } + public function getPrivacyStatus() + { + return $this->privacyStatus; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/YouTube/ChannelTopicDetails.php b/vendor/google/apiclient-services/src/Google/Service/YouTube/ChannelTopicDetails.php new file mode 100644 index 00000000..8c2b336c --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/YouTube/ChannelTopicDetails.php @@ -0,0 +1,40 @@ +topicCategories = $topicCategories; + } + public function getTopicCategories() + { + return $this->topicCategories; + } + public function setTopicIds($topicIds) + { + $this->topicIds = $topicIds; + } + public function getTopicIds() + { + return $this->topicIds; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/YouTube/Comment.php b/vendor/google/apiclient-services/src/Google/Service/YouTube/Comment.php new file mode 100644 index 00000000..f0bc3332 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/YouTube/Comment.php @@ -0,0 +1,58 @@ +etag = $etag; + } + public function getEtag() + { + return $this->etag; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setSnippet(Google_Service_YouTube_CommentSnippet $snippet) + { + $this->snippet = $snippet; + } + public function getSnippet() + { + return $this->snippet; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/YouTube/CommentListResponse.php b/vendor/google/apiclient-services/src/Google/Service/YouTube/CommentListResponse.php new file mode 100644 index 00000000..710a32e5 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/YouTube/CommentListResponse.php @@ -0,0 +1,97 @@ +etag = $etag; + } + public function getEtag() + { + return $this->etag; + } + public function setEventId($eventId) + { + $this->eventId = $eventId; + } + public function getEventId() + { + return $this->eventId; + } + public function setItems($items) + { + $this->items = $items; + } + public function getItems() + { + return $this->items; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setPageInfo(Google_Service_YouTube_PageInfo $pageInfo) + { + $this->pageInfo = $pageInfo; + } + public function getPageInfo() + { + return $this->pageInfo; + } + public function setTokenPagination(Google_Service_YouTube_TokenPagination $tokenPagination) + { + $this->tokenPagination = $tokenPagination; + } + public function getTokenPagination() + { + return $this->tokenPagination; + } + public function setVisitorId($visitorId) + { + $this->visitorId = $visitorId; + } + public function getVisitorId() + { + return $this->visitorId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/YouTube/CommentSnippet.php b/vendor/google/apiclient-services/src/Google/Service/YouTube/CommentSnippet.php new file mode 100644 index 00000000..8f44790a --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/YouTube/CommentSnippet.php @@ -0,0 +1,156 @@ +authorChannelId = $authorChannelId; + } + public function getAuthorChannelId() + { + return $this->authorChannelId; + } + public function setAuthorChannelUrl($authorChannelUrl) + { + $this->authorChannelUrl = $authorChannelUrl; + } + public function getAuthorChannelUrl() + { + return $this->authorChannelUrl; + } + public function setAuthorDisplayName($authorDisplayName) + { + $this->authorDisplayName = $authorDisplayName; + } + public function getAuthorDisplayName() + { + return $this->authorDisplayName; + } + public function setAuthorProfileImageUrl($authorProfileImageUrl) + { + $this->authorProfileImageUrl = $authorProfileImageUrl; + } + public function getAuthorProfileImageUrl() + { + return $this->authorProfileImageUrl; + } + public function setCanRate($canRate) + { + $this->canRate = $canRate; + } + public function getCanRate() + { + return $this->canRate; + } + public function setChannelId($channelId) + { + $this->channelId = $channelId; + } + public function getChannelId() + { + return $this->channelId; + } + public function setLikeCount($likeCount) + { + $this->likeCount = $likeCount; + } + public function getLikeCount() + { + return $this->likeCount; + } + public function setModerationStatus($moderationStatus) + { + $this->moderationStatus = $moderationStatus; + } + public function getModerationStatus() + { + return $this->moderationStatus; + } + public function setParentId($parentId) + { + $this->parentId = $parentId; + } + public function getParentId() + { + return $this->parentId; + } + public function setPublishedAt($publishedAt) + { + $this->publishedAt = $publishedAt; + } + public function getPublishedAt() + { + return $this->publishedAt; + } + public function setTextDisplay($textDisplay) + { + $this->textDisplay = $textDisplay; + } + public function getTextDisplay() + { + return $this->textDisplay; + } + public function setTextOriginal($textOriginal) + { + $this->textOriginal = $textOriginal; + } + public function getTextOriginal() + { + return $this->textOriginal; + } + public function setUpdatedAt($updatedAt) + { + $this->updatedAt = $updatedAt; + } + public function getUpdatedAt() + { + return $this->updatedAt; + } + public function setVideoId($videoId) + { + $this->videoId = $videoId; + } + public function getVideoId() + { + return $this->videoId; + } + public function setViewerRating($viewerRating) + { + $this->viewerRating = $viewerRating; + } + public function getViewerRating() + { + return $this->viewerRating; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/YouTube/CommentThread.php b/vendor/google/apiclient-services/src/Google/Service/YouTube/CommentThread.php new file mode 100644 index 00000000..f5e85fae --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/YouTube/CommentThread.php @@ -0,0 +1,68 @@ +etag = $etag; + } + public function getEtag() + { + return $this->etag; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setReplies(Google_Service_YouTube_CommentThreadReplies $replies) + { + $this->replies = $replies; + } + public function getReplies() + { + return $this->replies; + } + public function setSnippet(Google_Service_YouTube_CommentThreadSnippet $snippet) + { + $this->snippet = $snippet; + } + public function getSnippet() + { + return $this->snippet; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/YouTube/CommentThreadListResponse.php b/vendor/google/apiclient-services/src/Google/Service/YouTube/CommentThreadListResponse.php new file mode 100644 index 00000000..eeab0f03 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/YouTube/CommentThreadListResponse.php @@ -0,0 +1,97 @@ +etag = $etag; + } + public function getEtag() + { + return $this->etag; + } + public function setEventId($eventId) + { + $this->eventId = $eventId; + } + public function getEventId() + { + return $this->eventId; + } + public function setItems($items) + { + $this->items = $items; + } + public function getItems() + { + return $this->items; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setPageInfo(Google_Service_YouTube_PageInfo $pageInfo) + { + $this->pageInfo = $pageInfo; + } + public function getPageInfo() + { + return $this->pageInfo; + } + public function setTokenPagination(Google_Service_YouTube_TokenPagination $tokenPagination) + { + $this->tokenPagination = $tokenPagination; + } + public function getTokenPagination() + { + return $this->tokenPagination; + } + public function setVisitorId($visitorId) + { + $this->visitorId = $visitorId; + } + public function getVisitorId() + { + return $this->visitorId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/YouTube/CommentThreadReplies.php b/vendor/google/apiclient-services/src/Google/Service/YouTube/CommentThreadReplies.php new file mode 100644 index 00000000..1077c6b3 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/YouTube/CommentThreadReplies.php @@ -0,0 +1,32 @@ +comments = $comments; + } + public function getComments() + { + return $this->comments; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/YouTube/CommentThreadSnippet.php b/vendor/google/apiclient-services/src/Google/Service/YouTube/CommentThreadSnippet.php new file mode 100644 index 00000000..21f22ade --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/YouTube/CommentThreadSnippet.php @@ -0,0 +1,76 @@ +canReply = $canReply; + } + public function getCanReply() + { + return $this->canReply; + } + public function setChannelId($channelId) + { + $this->channelId = $channelId; + } + public function getChannelId() + { + return $this->channelId; + } + public function setIsPublic($isPublic) + { + $this->isPublic = $isPublic; + } + public function getIsPublic() + { + return $this->isPublic; + } + public function setTopLevelComment(Google_Service_YouTube_Comment $topLevelComment) + { + $this->topLevelComment = $topLevelComment; + } + public function getTopLevelComment() + { + return $this->topLevelComment; + } + public function setTotalReplyCount($totalReplyCount) + { + $this->totalReplyCount = $totalReplyCount; + } + public function getTotalReplyCount() + { + return $this->totalReplyCount; + } + public function setVideoId($videoId) + { + $this->videoId = $videoId; + } + public function getVideoId() + { + return $this->videoId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/YouTube/ContentRating.php b/vendor/google/apiclient-services/src/Google/Service/YouTube/ContentRating.php new file mode 100644 index 00000000..77652392 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/YouTube/ContentRating.php @@ -0,0 +1,634 @@ +acbRating = $acbRating; + } + public function getAcbRating() + { + return $this->acbRating; + } + public function setAgcomRating($agcomRating) + { + $this->agcomRating = $agcomRating; + } + public function getAgcomRating() + { + return $this->agcomRating; + } + public function setAnatelRating($anatelRating) + { + $this->anatelRating = $anatelRating; + } + public function getAnatelRating() + { + return $this->anatelRating; + } + public function setBbfcRating($bbfcRating) + { + $this->bbfcRating = $bbfcRating; + } + public function getBbfcRating() + { + return $this->bbfcRating; + } + public function setBfvcRating($bfvcRating) + { + $this->bfvcRating = $bfvcRating; + } + public function getBfvcRating() + { + return $this->bfvcRating; + } + public function setBmukkRating($bmukkRating) + { + $this->bmukkRating = $bmukkRating; + } + public function getBmukkRating() + { + return $this->bmukkRating; + } + public function setCatvRating($catvRating) + { + $this->catvRating = $catvRating; + } + public function getCatvRating() + { + return $this->catvRating; + } + public function setCatvfrRating($catvfrRating) + { + $this->catvfrRating = $catvfrRating; + } + public function getCatvfrRating() + { + return $this->catvfrRating; + } + public function setCbfcRating($cbfcRating) + { + $this->cbfcRating = $cbfcRating; + } + public function getCbfcRating() + { + return $this->cbfcRating; + } + public function setCccRating($cccRating) + { + $this->cccRating = $cccRating; + } + public function getCccRating() + { + return $this->cccRating; + } + public function setCceRating($cceRating) + { + $this->cceRating = $cceRating; + } + public function getCceRating() + { + return $this->cceRating; + } + public function setChfilmRating($chfilmRating) + { + $this->chfilmRating = $chfilmRating; + } + public function getChfilmRating() + { + return $this->chfilmRating; + } + public function setChvrsRating($chvrsRating) + { + $this->chvrsRating = $chvrsRating; + } + public function getChvrsRating() + { + return $this->chvrsRating; + } + public function setCicfRating($cicfRating) + { + $this->cicfRating = $cicfRating; + } + public function getCicfRating() + { + return $this->cicfRating; + } + public function setCnaRating($cnaRating) + { + $this->cnaRating = $cnaRating; + } + public function getCnaRating() + { + return $this->cnaRating; + } + public function setCncRating($cncRating) + { + $this->cncRating = $cncRating; + } + public function getCncRating() + { + return $this->cncRating; + } + public function setCsaRating($csaRating) + { + $this->csaRating = $csaRating; + } + public function getCsaRating() + { + return $this->csaRating; + } + public function setCscfRating($cscfRating) + { + $this->cscfRating = $cscfRating; + } + public function getCscfRating() + { + return $this->cscfRating; + } + public function setCzfilmRating($czfilmRating) + { + $this->czfilmRating = $czfilmRating; + } + public function getCzfilmRating() + { + return $this->czfilmRating; + } + public function setDjctqRating($djctqRating) + { + $this->djctqRating = $djctqRating; + } + public function getDjctqRating() + { + return $this->djctqRating; + } + public function setDjctqRatingReasons($djctqRatingReasons) + { + $this->djctqRatingReasons = $djctqRatingReasons; + } + public function getDjctqRatingReasons() + { + return $this->djctqRatingReasons; + } + public function setEcbmctRating($ecbmctRating) + { + $this->ecbmctRating = $ecbmctRating; + } + public function getEcbmctRating() + { + return $this->ecbmctRating; + } + public function setEefilmRating($eefilmRating) + { + $this->eefilmRating = $eefilmRating; + } + public function getEefilmRating() + { + return $this->eefilmRating; + } + public function setEgfilmRating($egfilmRating) + { + $this->egfilmRating = $egfilmRating; + } + public function getEgfilmRating() + { + return $this->egfilmRating; + } + public function setEirinRating($eirinRating) + { + $this->eirinRating = $eirinRating; + } + public function getEirinRating() + { + return $this->eirinRating; + } + public function setFcbmRating($fcbmRating) + { + $this->fcbmRating = $fcbmRating; + } + public function getFcbmRating() + { + return $this->fcbmRating; + } + public function setFcoRating($fcoRating) + { + $this->fcoRating = $fcoRating; + } + public function getFcoRating() + { + return $this->fcoRating; + } + public function setFmocRating($fmocRating) + { + $this->fmocRating = $fmocRating; + } + public function getFmocRating() + { + return $this->fmocRating; + } + public function setFpbRating($fpbRating) + { + $this->fpbRating = $fpbRating; + } + public function getFpbRating() + { + return $this->fpbRating; + } + public function setFpbRatingReasons($fpbRatingReasons) + { + $this->fpbRatingReasons = $fpbRatingReasons; + } + public function getFpbRatingReasons() + { + return $this->fpbRatingReasons; + } + public function setFskRating($fskRating) + { + $this->fskRating = $fskRating; + } + public function getFskRating() + { + return $this->fskRating; + } + public function setGrfilmRating($grfilmRating) + { + $this->grfilmRating = $grfilmRating; + } + public function getGrfilmRating() + { + return $this->grfilmRating; + } + public function setIcaaRating($icaaRating) + { + $this->icaaRating = $icaaRating; + } + public function getIcaaRating() + { + return $this->icaaRating; + } + public function setIfcoRating($ifcoRating) + { + $this->ifcoRating = $ifcoRating; + } + public function getIfcoRating() + { + return $this->ifcoRating; + } + public function setIlfilmRating($ilfilmRating) + { + $this->ilfilmRating = $ilfilmRating; + } + public function getIlfilmRating() + { + return $this->ilfilmRating; + } + public function setIncaaRating($incaaRating) + { + $this->incaaRating = $incaaRating; + } + public function getIncaaRating() + { + return $this->incaaRating; + } + public function setKfcbRating($kfcbRating) + { + $this->kfcbRating = $kfcbRating; + } + public function getKfcbRating() + { + return $this->kfcbRating; + } + public function setKijkwijzerRating($kijkwijzerRating) + { + $this->kijkwijzerRating = $kijkwijzerRating; + } + public function getKijkwijzerRating() + { + return $this->kijkwijzerRating; + } + public function setKmrbRating($kmrbRating) + { + $this->kmrbRating = $kmrbRating; + } + public function getKmrbRating() + { + return $this->kmrbRating; + } + public function setLsfRating($lsfRating) + { + $this->lsfRating = $lsfRating; + } + public function getLsfRating() + { + return $this->lsfRating; + } + public function setMccaaRating($mccaaRating) + { + $this->mccaaRating = $mccaaRating; + } + public function getMccaaRating() + { + return $this->mccaaRating; + } + public function setMccypRating($mccypRating) + { + $this->mccypRating = $mccypRating; + } + public function getMccypRating() + { + return $this->mccypRating; + } + public function setMcstRating($mcstRating) + { + $this->mcstRating = $mcstRating; + } + public function getMcstRating() + { + return $this->mcstRating; + } + public function setMdaRating($mdaRating) + { + $this->mdaRating = $mdaRating; + } + public function getMdaRating() + { + return $this->mdaRating; + } + public function setMedietilsynetRating($medietilsynetRating) + { + $this->medietilsynetRating = $medietilsynetRating; + } + public function getMedietilsynetRating() + { + return $this->medietilsynetRating; + } + public function setMekuRating($mekuRating) + { + $this->mekuRating = $mekuRating; + } + public function getMekuRating() + { + return $this->mekuRating; + } + public function setMibacRating($mibacRating) + { + $this->mibacRating = $mibacRating; + } + public function getMibacRating() + { + return $this->mibacRating; + } + public function setMocRating($mocRating) + { + $this->mocRating = $mocRating; + } + public function getMocRating() + { + return $this->mocRating; + } + public function setMoctwRating($moctwRating) + { + $this->moctwRating = $moctwRating; + } + public function getMoctwRating() + { + return $this->moctwRating; + } + public function setMpaaRating($mpaaRating) + { + $this->mpaaRating = $mpaaRating; + } + public function getMpaaRating() + { + return $this->mpaaRating; + } + public function setMtrcbRating($mtrcbRating) + { + $this->mtrcbRating = $mtrcbRating; + } + public function getMtrcbRating() + { + return $this->mtrcbRating; + } + public function setNbcRating($nbcRating) + { + $this->nbcRating = $nbcRating; + } + public function getNbcRating() + { + return $this->nbcRating; + } + public function setNbcplRating($nbcplRating) + { + $this->nbcplRating = $nbcplRating; + } + public function getNbcplRating() + { + return $this->nbcplRating; + } + public function setNfrcRating($nfrcRating) + { + $this->nfrcRating = $nfrcRating; + } + public function getNfrcRating() + { + return $this->nfrcRating; + } + public function setNfvcbRating($nfvcbRating) + { + $this->nfvcbRating = $nfvcbRating; + } + public function getNfvcbRating() + { + return $this->nfvcbRating; + } + public function setNkclvRating($nkclvRating) + { + $this->nkclvRating = $nkclvRating; + } + public function getNkclvRating() + { + return $this->nkclvRating; + } + public function setOflcRating($oflcRating) + { + $this->oflcRating = $oflcRating; + } + public function getOflcRating() + { + return $this->oflcRating; + } + public function setPefilmRating($pefilmRating) + { + $this->pefilmRating = $pefilmRating; + } + public function getPefilmRating() + { + return $this->pefilmRating; + } + public function setRcnofRating($rcnofRating) + { + $this->rcnofRating = $rcnofRating; + } + public function getRcnofRating() + { + return $this->rcnofRating; + } + public function setResorteviolenciaRating($resorteviolenciaRating) + { + $this->resorteviolenciaRating = $resorteviolenciaRating; + } + public function getResorteviolenciaRating() + { + return $this->resorteviolenciaRating; + } + public function setRtcRating($rtcRating) + { + $this->rtcRating = $rtcRating; + } + public function getRtcRating() + { + return $this->rtcRating; + } + public function setRteRating($rteRating) + { + $this->rteRating = $rteRating; + } + public function getRteRating() + { + return $this->rteRating; + } + public function setRussiaRating($russiaRating) + { + $this->russiaRating = $russiaRating; + } + public function getRussiaRating() + { + return $this->russiaRating; + } + public function setSkfilmRating($skfilmRating) + { + $this->skfilmRating = $skfilmRating; + } + public function getSkfilmRating() + { + return $this->skfilmRating; + } + public function setSmaisRating($smaisRating) + { + $this->smaisRating = $smaisRating; + } + public function getSmaisRating() + { + return $this->smaisRating; + } + public function setSmsaRating($smsaRating) + { + $this->smsaRating = $smsaRating; + } + public function getSmsaRating() + { + return $this->smsaRating; + } + public function setTvpgRating($tvpgRating) + { + $this->tvpgRating = $tvpgRating; + } + public function getTvpgRating() + { + return $this->tvpgRating; + } + public function setYtRating($ytRating) + { + $this->ytRating = $ytRating; + } + public function getYtRating() + { + return $this->ytRating; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/YouTube/FanFundingEvent.php b/vendor/google/apiclient-services/src/Google/Service/YouTube/FanFundingEvent.php new file mode 100644 index 00000000..77d04b03 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/YouTube/FanFundingEvent.php @@ -0,0 +1,58 @@ +etag = $etag; + } + public function getEtag() + { + return $this->etag; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setSnippet(Google_Service_YouTube_FanFundingEventSnippet $snippet) + { + $this->snippet = $snippet; + } + public function getSnippet() + { + return $this->snippet; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/YouTube/FanFundingEventListResponse.php b/vendor/google/apiclient-services/src/Google/Service/YouTube/FanFundingEventListResponse.php new file mode 100644 index 00000000..46ddef64 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/YouTube/FanFundingEventListResponse.php @@ -0,0 +1,97 @@ +etag = $etag; + } + public function getEtag() + { + return $this->etag; + } + public function setEventId($eventId) + { + $this->eventId = $eventId; + } + public function getEventId() + { + return $this->eventId; + } + public function setItems($items) + { + $this->items = $items; + } + public function getItems() + { + return $this->items; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setPageInfo(Google_Service_YouTube_PageInfo $pageInfo) + { + $this->pageInfo = $pageInfo; + } + public function getPageInfo() + { + return $this->pageInfo; + } + public function setTokenPagination(Google_Service_YouTube_TokenPagination $tokenPagination) + { + $this->tokenPagination = $tokenPagination; + } + public function getTokenPagination() + { + return $this->tokenPagination; + } + public function setVisitorId($visitorId) + { + $this->visitorId = $visitorId; + } + public function getVisitorId() + { + return $this->visitorId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/YouTube/FanFundingEventSnippet.php b/vendor/google/apiclient-services/src/Google/Service/YouTube/FanFundingEventSnippet.php new file mode 100644 index 00000000..4006cd74 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/YouTube/FanFundingEventSnippet.php @@ -0,0 +1,85 @@ +amountMicros = $amountMicros; + } + public function getAmountMicros() + { + return $this->amountMicros; + } + public function setChannelId($channelId) + { + $this->channelId = $channelId; + } + public function getChannelId() + { + return $this->channelId; + } + public function setCommentText($commentText) + { + $this->commentText = $commentText; + } + public function getCommentText() + { + return $this->commentText; + } + public function setCreatedAt($createdAt) + { + $this->createdAt = $createdAt; + } + public function getCreatedAt() + { + return $this->createdAt; + } + public function setCurrency($currency) + { + $this->currency = $currency; + } + public function getCurrency() + { + return $this->currency; + } + public function setDisplayString($displayString) + { + $this->displayString = $displayString; + } + public function getDisplayString() + { + return $this->displayString; + } + public function setSupporterDetails(Google_Service_YouTube_ChannelProfileDetails $supporterDetails) + { + $this->supporterDetails = $supporterDetails; + } + public function getSupporterDetails() + { + return $this->supporterDetails; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/YouTube/GeoPoint.php b/vendor/google/apiclient-services/src/Google/Service/YouTube/GeoPoint.php new file mode 100644 index 00000000..b80b0367 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/YouTube/GeoPoint.php @@ -0,0 +1,48 @@ +altitude = $altitude; + } + public function getAltitude() + { + return $this->altitude; + } + public function setLatitude($latitude) + { + $this->latitude = $latitude; + } + public function getLatitude() + { + return $this->latitude; + } + public function setLongitude($longitude) + { + $this->longitude = $longitude; + } + public function getLongitude() + { + return $this->longitude; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/YouTube/GuideCategory.php b/vendor/google/apiclient-services/src/Google/Service/YouTube/GuideCategory.php new file mode 100644 index 00000000..e5ab0fa0 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/YouTube/GuideCategory.php @@ -0,0 +1,58 @@ +etag = $etag; + } + public function getEtag() + { + return $this->etag; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setSnippet(Google_Service_YouTube_GuideCategorySnippet $snippet) + { + $this->snippet = $snippet; + } + public function getSnippet() + { + return $this->snippet; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/YouTube/GuideCategoryListResponse.php b/vendor/google/apiclient-services/src/Google/Service/YouTube/GuideCategoryListResponse.php new file mode 100644 index 00000000..74b7c53a --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/YouTube/GuideCategoryListResponse.php @@ -0,0 +1,106 @@ +etag = $etag; + } + public function getEtag() + { + return $this->etag; + } + public function setEventId($eventId) + { + $this->eventId = $eventId; + } + public function getEventId() + { + return $this->eventId; + } + public function setItems($items) + { + $this->items = $items; + } + public function getItems() + { + return $this->items; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setPageInfo(Google_Service_YouTube_PageInfo $pageInfo) + { + $this->pageInfo = $pageInfo; + } + public function getPageInfo() + { + return $this->pageInfo; + } + public function setPrevPageToken($prevPageToken) + { + $this->prevPageToken = $prevPageToken; + } + public function getPrevPageToken() + { + return $this->prevPageToken; + } + public function setTokenPagination(Google_Service_YouTube_TokenPagination $tokenPagination) + { + $this->tokenPagination = $tokenPagination; + } + public function getTokenPagination() + { + return $this->tokenPagination; + } + public function setVisitorId($visitorId) + { + $this->visitorId = $visitorId; + } + public function getVisitorId() + { + return $this->visitorId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/YouTube/GuideCategorySnippet.php b/vendor/google/apiclient-services/src/Google/Service/YouTube/GuideCategorySnippet.php new file mode 100644 index 00000000..10faecaf --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/YouTube/GuideCategorySnippet.php @@ -0,0 +1,39 @@ +channelId = $channelId; + } + public function getChannelId() + { + return $this->channelId; + } + public function setTitle($title) + { + $this->title = $title; + } + public function getTitle() + { + return $this->title; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/YouTube/I18nLanguage.php b/vendor/google/apiclient-services/src/Google/Service/YouTube/I18nLanguage.php new file mode 100644 index 00000000..35d1f4e7 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/YouTube/I18nLanguage.php @@ -0,0 +1,58 @@ +etag = $etag; + } + public function getEtag() + { + return $this->etag; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setSnippet(Google_Service_YouTube_I18nLanguageSnippet $snippet) + { + $this->snippet = $snippet; + } + public function getSnippet() + { + return $this->snippet; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/YouTube/I18nLanguageListResponse.php b/vendor/google/apiclient-services/src/Google/Service/YouTube/I18nLanguageListResponse.php new file mode 100644 index 00000000..e6dbeee4 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/YouTube/I18nLanguageListResponse.php @@ -0,0 +1,68 @@ +etag = $etag; + } + public function getEtag() + { + return $this->etag; + } + public function setEventId($eventId) + { + $this->eventId = $eventId; + } + public function getEventId() + { + return $this->eventId; + } + public function setItems($items) + { + $this->items = $items; + } + public function getItems() + { + return $this->items; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setVisitorId($visitorId) + { + $this->visitorId = $visitorId; + } + public function getVisitorId() + { + return $this->visitorId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/YouTube/I18nLanguageSnippet.php b/vendor/google/apiclient-services/src/Google/Service/YouTube/I18nLanguageSnippet.php new file mode 100644 index 00000000..c3800383 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/YouTube/I18nLanguageSnippet.php @@ -0,0 +1,39 @@ +hl = $hl; + } + public function getHl() + { + return $this->hl; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/YouTube/I18nRegion.php b/vendor/google/apiclient-services/src/Google/Service/YouTube/I18nRegion.php new file mode 100644 index 00000000..752e4654 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/YouTube/I18nRegion.php @@ -0,0 +1,58 @@ +etag = $etag; + } + public function getEtag() + { + return $this->etag; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setSnippet(Google_Service_YouTube_I18nRegionSnippet $snippet) + { + $this->snippet = $snippet; + } + public function getSnippet() + { + return $this->snippet; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/YouTube/I18nRegionListResponse.php b/vendor/google/apiclient-services/src/Google/Service/YouTube/I18nRegionListResponse.php new file mode 100644 index 00000000..6803eed9 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/YouTube/I18nRegionListResponse.php @@ -0,0 +1,68 @@ +etag = $etag; + } + public function getEtag() + { + return $this->etag; + } + public function setEventId($eventId) + { + $this->eventId = $eventId; + } + public function getEventId() + { + return $this->eventId; + } + public function setItems($items) + { + $this->items = $items; + } + public function getItems() + { + return $this->items; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setVisitorId($visitorId) + { + $this->visitorId = $visitorId; + } + public function getVisitorId() + { + return $this->visitorId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/YouTube/I18nRegionSnippet.php b/vendor/google/apiclient-services/src/Google/Service/YouTube/I18nRegionSnippet.php new file mode 100644 index 00000000..8170918e --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/YouTube/I18nRegionSnippet.php @@ -0,0 +1,39 @@ +gl = $gl; + } + public function getGl() + { + return $this->gl; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/YouTube/ImageSettings.php b/vendor/google/apiclient-services/src/Google/Service/YouTube/ImageSettings.php new file mode 100644 index 00000000..c2bfc9c0 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/YouTube/ImageSettings.php @@ -0,0 +1,224 @@ +backgroundImageUrl = $backgroundImageUrl; + } + public function getBackgroundImageUrl() + { + return $this->backgroundImageUrl; + } + public function setBannerExternalUrl($bannerExternalUrl) + { + $this->bannerExternalUrl = $bannerExternalUrl; + } + public function getBannerExternalUrl() + { + return $this->bannerExternalUrl; + } + public function setBannerImageUrl($bannerImageUrl) + { + $this->bannerImageUrl = $bannerImageUrl; + } + public function getBannerImageUrl() + { + return $this->bannerImageUrl; + } + public function setBannerMobileExtraHdImageUrl($bannerMobileExtraHdImageUrl) + { + $this->bannerMobileExtraHdImageUrl = $bannerMobileExtraHdImageUrl; + } + public function getBannerMobileExtraHdImageUrl() + { + return $this->bannerMobileExtraHdImageUrl; + } + public function setBannerMobileHdImageUrl($bannerMobileHdImageUrl) + { + $this->bannerMobileHdImageUrl = $bannerMobileHdImageUrl; + } + public function getBannerMobileHdImageUrl() + { + return $this->bannerMobileHdImageUrl; + } + public function setBannerMobileImageUrl($bannerMobileImageUrl) + { + $this->bannerMobileImageUrl = $bannerMobileImageUrl; + } + public function getBannerMobileImageUrl() + { + return $this->bannerMobileImageUrl; + } + public function setBannerMobileLowImageUrl($bannerMobileLowImageUrl) + { + $this->bannerMobileLowImageUrl = $bannerMobileLowImageUrl; + } + public function getBannerMobileLowImageUrl() + { + return $this->bannerMobileLowImageUrl; + } + public function setBannerMobileMediumHdImageUrl($bannerMobileMediumHdImageUrl) + { + $this->bannerMobileMediumHdImageUrl = $bannerMobileMediumHdImageUrl; + } + public function getBannerMobileMediumHdImageUrl() + { + return $this->bannerMobileMediumHdImageUrl; + } + public function setBannerTabletExtraHdImageUrl($bannerTabletExtraHdImageUrl) + { + $this->bannerTabletExtraHdImageUrl = $bannerTabletExtraHdImageUrl; + } + public function getBannerTabletExtraHdImageUrl() + { + return $this->bannerTabletExtraHdImageUrl; + } + public function setBannerTabletHdImageUrl($bannerTabletHdImageUrl) + { + $this->bannerTabletHdImageUrl = $bannerTabletHdImageUrl; + } + public function getBannerTabletHdImageUrl() + { + return $this->bannerTabletHdImageUrl; + } + public function setBannerTabletImageUrl($bannerTabletImageUrl) + { + $this->bannerTabletImageUrl = $bannerTabletImageUrl; + } + public function getBannerTabletImageUrl() + { + return $this->bannerTabletImageUrl; + } + public function setBannerTabletLowImageUrl($bannerTabletLowImageUrl) + { + $this->bannerTabletLowImageUrl = $bannerTabletLowImageUrl; + } + public function getBannerTabletLowImageUrl() + { + return $this->bannerTabletLowImageUrl; + } + public function setBannerTvHighImageUrl($bannerTvHighImageUrl) + { + $this->bannerTvHighImageUrl = $bannerTvHighImageUrl; + } + public function getBannerTvHighImageUrl() + { + return $this->bannerTvHighImageUrl; + } + public function setBannerTvImageUrl($bannerTvImageUrl) + { + $this->bannerTvImageUrl = $bannerTvImageUrl; + } + public function getBannerTvImageUrl() + { + return $this->bannerTvImageUrl; + } + public function setBannerTvLowImageUrl($bannerTvLowImageUrl) + { + $this->bannerTvLowImageUrl = $bannerTvLowImageUrl; + } + public function getBannerTvLowImageUrl() + { + return $this->bannerTvLowImageUrl; + } + public function setBannerTvMediumImageUrl($bannerTvMediumImageUrl) + { + $this->bannerTvMediumImageUrl = $bannerTvMediumImageUrl; + } + public function getBannerTvMediumImageUrl() + { + return $this->bannerTvMediumImageUrl; + } + public function setLargeBrandedBannerImageImapScript(Google_Service_YouTube_LocalizedProperty $largeBrandedBannerImageImapScript) + { + $this->largeBrandedBannerImageImapScript = $largeBrandedBannerImageImapScript; + } + public function getLargeBrandedBannerImageImapScript() + { + return $this->largeBrandedBannerImageImapScript; + } + public function setLargeBrandedBannerImageUrl(Google_Service_YouTube_LocalizedProperty $largeBrandedBannerImageUrl) + { + $this->largeBrandedBannerImageUrl = $largeBrandedBannerImageUrl; + } + public function getLargeBrandedBannerImageUrl() + { + return $this->largeBrandedBannerImageUrl; + } + public function setSmallBrandedBannerImageImapScript(Google_Service_YouTube_LocalizedProperty $smallBrandedBannerImageImapScript) + { + $this->smallBrandedBannerImageImapScript = $smallBrandedBannerImageImapScript; + } + public function getSmallBrandedBannerImageImapScript() + { + return $this->smallBrandedBannerImageImapScript; + } + public function setSmallBrandedBannerImageUrl(Google_Service_YouTube_LocalizedProperty $smallBrandedBannerImageUrl) + { + $this->smallBrandedBannerImageUrl = $smallBrandedBannerImageUrl; + } + public function getSmallBrandedBannerImageUrl() + { + return $this->smallBrandedBannerImageUrl; + } + public function setTrackingImageUrl($trackingImageUrl) + { + $this->trackingImageUrl = $trackingImageUrl; + } + public function getTrackingImageUrl() + { + return $this->trackingImageUrl; + } + public function setWatchIconImageUrl($watchIconImageUrl) + { + $this->watchIconImageUrl = $watchIconImageUrl; + } + public function getWatchIconImageUrl() + { + return $this->watchIconImageUrl; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/YouTube/IngestionInfo.php b/vendor/google/apiclient-services/src/Google/Service/YouTube/IngestionInfo.php new file mode 100644 index 00000000..aaac80c9 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/YouTube/IngestionInfo.php @@ -0,0 +1,48 @@ +backupIngestionAddress = $backupIngestionAddress; + } + public function getBackupIngestionAddress() + { + return $this->backupIngestionAddress; + } + public function setIngestionAddress($ingestionAddress) + { + $this->ingestionAddress = $ingestionAddress; + } + public function getIngestionAddress() + { + return $this->ingestionAddress; + } + public function setStreamName($streamName) + { + $this->streamName = $streamName; + } + public function getStreamName() + { + return $this->streamName; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/YouTube/InvideoBranding.php b/vendor/google/apiclient-services/src/Google/Service/YouTube/InvideoBranding.php new file mode 100644 index 00000000..1fc32ae8 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/YouTube/InvideoBranding.php @@ -0,0 +1,68 @@ +imageBytes = $imageBytes; + } + public function getImageBytes() + { + return $this->imageBytes; + } + public function setImageUrl($imageUrl) + { + $this->imageUrl = $imageUrl; + } + public function getImageUrl() + { + return $this->imageUrl; + } + public function setPosition(Google_Service_YouTube_InvideoPosition $position) + { + $this->position = $position; + } + public function getPosition() + { + return $this->position; + } + public function setTargetChannelId($targetChannelId) + { + $this->targetChannelId = $targetChannelId; + } + public function getTargetChannelId() + { + return $this->targetChannelId; + } + public function setTiming(Google_Service_YouTube_InvideoTiming $timing) + { + $this->timing = $timing; + } + public function getTiming() + { + return $this->timing; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/YouTube/InvideoPosition.php b/vendor/google/apiclient-services/src/Google/Service/YouTube/InvideoPosition.php new file mode 100644 index 00000000..8ebf440c --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/YouTube/InvideoPosition.php @@ -0,0 +1,39 @@ +cornerPosition = $cornerPosition; + } + public function getCornerPosition() + { + return $this->cornerPosition; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/YouTube/InvideoPromotion.php b/vendor/google/apiclient-services/src/Google/Service/YouTube/InvideoPromotion.php new file mode 100644 index 00000000..451634d0 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/YouTube/InvideoPromotion.php @@ -0,0 +1,61 @@ +defaultTiming = $defaultTiming; + } + public function getDefaultTiming() + { + return $this->defaultTiming; + } + public function setItems($items) + { + $this->items = $items; + } + public function getItems() + { + return $this->items; + } + public function setPosition(Google_Service_YouTube_InvideoPosition $position) + { + $this->position = $position; + } + public function getPosition() + { + return $this->position; + } + public function setUseSmartTiming($useSmartTiming) + { + $this->useSmartTiming = $useSmartTiming; + } + public function getUseSmartTiming() + { + return $this->useSmartTiming; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/YouTube/InvideoTiming.php b/vendor/google/apiclient-services/src/Google/Service/YouTube/InvideoTiming.php new file mode 100644 index 00000000..d6d99ea9 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/YouTube/InvideoTiming.php @@ -0,0 +1,48 @@ +durationMs = $durationMs; + } + public function getDurationMs() + { + return $this->durationMs; + } + public function setOffsetMs($offsetMs) + { + $this->offsetMs = $offsetMs; + } + public function getOffsetMs() + { + return $this->offsetMs; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/YouTube/LanguageTag.php b/vendor/google/apiclient-services/src/Google/Service/YouTube/LanguageTag.php new file mode 100644 index 00000000..8f033e3b --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/YouTube/LanguageTag.php @@ -0,0 +1,30 @@ +value = $value; + } + public function getValue() + { + return $this->value; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/YouTube/LiveBroadcast.php b/vendor/google/apiclient-services/src/Google/Service/YouTube/LiveBroadcast.php new file mode 100644 index 00000000..c87763d9 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/YouTube/LiveBroadcast.php @@ -0,0 +1,98 @@ +contentDetails = $contentDetails; + } + public function getContentDetails() + { + return $this->contentDetails; + } + public function setEtag($etag) + { + $this->etag = $etag; + } + public function getEtag() + { + return $this->etag; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setSnippet(Google_Service_YouTube_LiveBroadcastSnippet $snippet) + { + $this->snippet = $snippet; + } + public function getSnippet() + { + return $this->snippet; + } + public function setStatistics(Google_Service_YouTube_LiveBroadcastStatistics $statistics) + { + $this->statistics = $statistics; + } + public function getStatistics() + { + return $this->statistics; + } + public function setStatus(Google_Service_YouTube_LiveBroadcastStatus $status) + { + $this->status = $status; + } + public function getStatus() + { + return $this->status; + } + public function setTopicDetails(Google_Service_YouTube_LiveBroadcastTopicDetails $topicDetails) + { + $this->topicDetails = $topicDetails; + } + public function getTopicDetails() + { + return $this->topicDetails; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/YouTube/LiveBroadcastContentDetails.php b/vendor/google/apiclient-services/src/Google/Service/YouTube/LiveBroadcastContentDetails.php new file mode 100644 index 00000000..ea790e0d --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/YouTube/LiveBroadcastContentDetails.php @@ -0,0 +1,130 @@ +boundStreamId = $boundStreamId; + } + public function getBoundStreamId() + { + return $this->boundStreamId; + } + public function setBoundStreamLastUpdateTimeMs($boundStreamLastUpdateTimeMs) + { + $this->boundStreamLastUpdateTimeMs = $boundStreamLastUpdateTimeMs; + } + public function getBoundStreamLastUpdateTimeMs() + { + return $this->boundStreamLastUpdateTimeMs; + } + public function setClosedCaptionsType($closedCaptionsType) + { + $this->closedCaptionsType = $closedCaptionsType; + } + public function getClosedCaptionsType() + { + return $this->closedCaptionsType; + } + public function setEnableClosedCaptions($enableClosedCaptions) + { + $this->enableClosedCaptions = $enableClosedCaptions; + } + public function getEnableClosedCaptions() + { + return $this->enableClosedCaptions; + } + public function setEnableContentEncryption($enableContentEncryption) + { + $this->enableContentEncryption = $enableContentEncryption; + } + public function getEnableContentEncryption() + { + return $this->enableContentEncryption; + } + public function setEnableDvr($enableDvr) + { + $this->enableDvr = $enableDvr; + } + public function getEnableDvr() + { + return $this->enableDvr; + } + public function setEnableEmbed($enableEmbed) + { + $this->enableEmbed = $enableEmbed; + } + public function getEnableEmbed() + { + return $this->enableEmbed; + } + public function setEnableLowLatency($enableLowLatency) + { + $this->enableLowLatency = $enableLowLatency; + } + public function getEnableLowLatency() + { + return $this->enableLowLatency; + } + public function setMonitorStream(Google_Service_YouTube_MonitorStreamInfo $monitorStream) + { + $this->monitorStream = $monitorStream; + } + public function getMonitorStream() + { + return $this->monitorStream; + } + public function setProjection($projection) + { + $this->projection = $projection; + } + public function getProjection() + { + return $this->projection; + } + public function setRecordFromStart($recordFromStart) + { + $this->recordFromStart = $recordFromStart; + } + public function getRecordFromStart() + { + return $this->recordFromStart; + } + public function setStartWithSlate($startWithSlate) + { + $this->startWithSlate = $startWithSlate; + } + public function getStartWithSlate() + { + return $this->startWithSlate; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/YouTube/LiveBroadcastListResponse.php b/vendor/google/apiclient-services/src/Google/Service/YouTube/LiveBroadcastListResponse.php new file mode 100644 index 00000000..f3a9725e --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/YouTube/LiveBroadcastListResponse.php @@ -0,0 +1,106 @@ +etag = $etag; + } + public function getEtag() + { + return $this->etag; + } + public function setEventId($eventId) + { + $this->eventId = $eventId; + } + public function getEventId() + { + return $this->eventId; + } + public function setItems($items) + { + $this->items = $items; + } + public function getItems() + { + return $this->items; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setPageInfo(Google_Service_YouTube_PageInfo $pageInfo) + { + $this->pageInfo = $pageInfo; + } + public function getPageInfo() + { + return $this->pageInfo; + } + public function setPrevPageToken($prevPageToken) + { + $this->prevPageToken = $prevPageToken; + } + public function getPrevPageToken() + { + return $this->prevPageToken; + } + public function setTokenPagination(Google_Service_YouTube_TokenPagination $tokenPagination) + { + $this->tokenPagination = $tokenPagination; + } + public function getTokenPagination() + { + return $this->tokenPagination; + } + public function setVisitorId($visitorId) + { + $this->visitorId = $visitorId; + } + public function getVisitorId() + { + return $this->visitorId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/YouTube/LiveBroadcastSnippet.php b/vendor/google/apiclient-services/src/Google/Service/YouTube/LiveBroadcastSnippet.php new file mode 100644 index 00000000..950e7776 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/YouTube/LiveBroadcastSnippet.php @@ -0,0 +1,121 @@ +actualEndTime = $actualEndTime; + } + public function getActualEndTime() + { + return $this->actualEndTime; + } + public function setActualStartTime($actualStartTime) + { + $this->actualStartTime = $actualStartTime; + } + public function getActualStartTime() + { + return $this->actualStartTime; + } + public function setChannelId($channelId) + { + $this->channelId = $channelId; + } + public function getChannelId() + { + return $this->channelId; + } + public function setDescription($description) + { + $this->description = $description; + } + public function getDescription() + { + return $this->description; + } + public function setIsDefaultBroadcast($isDefaultBroadcast) + { + $this->isDefaultBroadcast = $isDefaultBroadcast; + } + public function getIsDefaultBroadcast() + { + return $this->isDefaultBroadcast; + } + public function setLiveChatId($liveChatId) + { + $this->liveChatId = $liveChatId; + } + public function getLiveChatId() + { + return $this->liveChatId; + } + public function setPublishedAt($publishedAt) + { + $this->publishedAt = $publishedAt; + } + public function getPublishedAt() + { + return $this->publishedAt; + } + public function setScheduledEndTime($scheduledEndTime) + { + $this->scheduledEndTime = $scheduledEndTime; + } + public function getScheduledEndTime() + { + return $this->scheduledEndTime; + } + public function setScheduledStartTime($scheduledStartTime) + { + $this->scheduledStartTime = $scheduledStartTime; + } + public function getScheduledStartTime() + { + return $this->scheduledStartTime; + } + public function setThumbnails(Google_Service_YouTube_ThumbnailDetails $thumbnails) + { + $this->thumbnails = $thumbnails; + } + public function getThumbnails() + { + return $this->thumbnails; + } + public function setTitle($title) + { + $this->title = $title; + } + public function getTitle() + { + return $this->title; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/YouTube/LiveBroadcastStatistics.php b/vendor/google/apiclient-services/src/Google/Service/YouTube/LiveBroadcastStatistics.php new file mode 100644 index 00000000..6a4f8f3d --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/YouTube/LiveBroadcastStatistics.php @@ -0,0 +1,39 @@ +concurrentViewers = $concurrentViewers; + } + public function getConcurrentViewers() + { + return $this->concurrentViewers; + } + public function setTotalChatCount($totalChatCount) + { + $this->totalChatCount = $totalChatCount; + } + public function getTotalChatCount() + { + return $this->totalChatCount; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/YouTube/LiveBroadcastStatus.php b/vendor/google/apiclient-services/src/Google/Service/YouTube/LiveBroadcastStatus.php new file mode 100644 index 00000000..74e17468 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/YouTube/LiveBroadcastStatus.php @@ -0,0 +1,57 @@ +lifeCycleStatus = $lifeCycleStatus; + } + public function getLifeCycleStatus() + { + return $this->lifeCycleStatus; + } + public function setLiveBroadcastPriority($liveBroadcastPriority) + { + $this->liveBroadcastPriority = $liveBroadcastPriority; + } + public function getLiveBroadcastPriority() + { + return $this->liveBroadcastPriority; + } + public function setPrivacyStatus($privacyStatus) + { + $this->privacyStatus = $privacyStatus; + } + public function getPrivacyStatus() + { + return $this->privacyStatus; + } + public function setRecordingStatus($recordingStatus) + { + $this->recordingStatus = $recordingStatus; + } + public function getRecordingStatus() + { + return $this->recordingStatus; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/YouTube/LiveBroadcastTopic.php b/vendor/google/apiclient-services/src/Google/Service/YouTube/LiveBroadcastTopic.php new file mode 100644 index 00000000..247b433f --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/YouTube/LiveBroadcastTopic.php @@ -0,0 +1,49 @@ +snippet = $snippet; + } + public function getSnippet() + { + return $this->snippet; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } + public function setUnmatched($unmatched) + { + $this->unmatched = $unmatched; + } + public function getUnmatched() + { + return $this->unmatched; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/YouTube/LiveBroadcastTopicDetails.php b/vendor/google/apiclient-services/src/Google/Service/YouTube/LiveBroadcastTopicDetails.php new file mode 100644 index 00000000..8cc4578e --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/YouTube/LiveBroadcastTopicDetails.php @@ -0,0 +1,32 @@ +topics = $topics; + } + public function getTopics() + { + return $this->topics; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/YouTube/LiveBroadcastTopicSnippet.php b/vendor/google/apiclient-services/src/Google/Service/YouTube/LiveBroadcastTopicSnippet.php new file mode 100644 index 00000000..ad6724ee --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/YouTube/LiveBroadcastTopicSnippet.php @@ -0,0 +1,39 @@ +name = $name; + } + public function getName() + { + return $this->name; + } + public function setReleaseDate($releaseDate) + { + $this->releaseDate = $releaseDate; + } + public function getReleaseDate() + { + return $this->releaseDate; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/YouTube/LiveChatBan.php b/vendor/google/apiclient-services/src/Google/Service/YouTube/LiveChatBan.php new file mode 100644 index 00000000..d835437d --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/YouTube/LiveChatBan.php @@ -0,0 +1,58 @@ +etag = $etag; + } + public function getEtag() + { + return $this->etag; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setSnippet(Google_Service_YouTube_LiveChatBanSnippet $snippet) + { + $this->snippet = $snippet; + } + public function getSnippet() + { + return $this->snippet; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/YouTube/LiveChatBanSnippet.php b/vendor/google/apiclient-services/src/Google/Service/YouTube/LiveChatBanSnippet.php new file mode 100644 index 00000000..cc595994 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/YouTube/LiveChatBanSnippet.php @@ -0,0 +1,58 @@ +banDurationSeconds = $banDurationSeconds; + } + public function getBanDurationSeconds() + { + return $this->banDurationSeconds; + } + public function setBannedUserDetails(Google_Service_YouTube_ChannelProfileDetails $bannedUserDetails) + { + $this->bannedUserDetails = $bannedUserDetails; + } + public function getBannedUserDetails() + { + return $this->bannedUserDetails; + } + public function setLiveChatId($liveChatId) + { + $this->liveChatId = $liveChatId; + } + public function getLiveChatId() + { + return $this->liveChatId; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/YouTube/LiveChatFanFundingEventDetails.php b/vendor/google/apiclient-services/src/Google/Service/YouTube/LiveChatFanFundingEventDetails.php new file mode 100644 index 00000000..b7f316d1 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/YouTube/LiveChatFanFundingEventDetails.php @@ -0,0 +1,57 @@ +amountDisplayString = $amountDisplayString; + } + public function getAmountDisplayString() + { + return $this->amountDisplayString; + } + public function setAmountMicros($amountMicros) + { + $this->amountMicros = $amountMicros; + } + public function getAmountMicros() + { + return $this->amountMicros; + } + public function setCurrency($currency) + { + $this->currency = $currency; + } + public function getCurrency() + { + return $this->currency; + } + public function setUserComment($userComment) + { + $this->userComment = $userComment; + } + public function getUserComment() + { + return $this->userComment; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/YouTube/LiveChatMessage.php b/vendor/google/apiclient-services/src/Google/Service/YouTube/LiveChatMessage.php new file mode 100644 index 00000000..01bf15c7 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/YouTube/LiveChatMessage.php @@ -0,0 +1,68 @@ +authorDetails = $authorDetails; + } + public function getAuthorDetails() + { + return $this->authorDetails; + } + public function setEtag($etag) + { + $this->etag = $etag; + } + public function getEtag() + { + return $this->etag; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setSnippet(Google_Service_YouTube_LiveChatMessageSnippet $snippet) + { + $this->snippet = $snippet; + } + public function getSnippet() + { + return $this->snippet; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/YouTube/LiveChatMessageAuthorDetails.php b/vendor/google/apiclient-services/src/Google/Service/YouTube/LiveChatMessageAuthorDetails.php new file mode 100644 index 00000000..0f77bf66 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/YouTube/LiveChatMessageAuthorDetails.php @@ -0,0 +1,93 @@ +channelId = $channelId; + } + public function getChannelId() + { + return $this->channelId; + } + public function setChannelUrl($channelUrl) + { + $this->channelUrl = $channelUrl; + } + public function getChannelUrl() + { + return $this->channelUrl; + } + public function setDisplayName($displayName) + { + $this->displayName = $displayName; + } + public function getDisplayName() + { + return $this->displayName; + } + public function setIsChatModerator($isChatModerator) + { + $this->isChatModerator = $isChatModerator; + } + public function getIsChatModerator() + { + return $this->isChatModerator; + } + public function setIsChatOwner($isChatOwner) + { + $this->isChatOwner = $isChatOwner; + } + public function getIsChatOwner() + { + return $this->isChatOwner; + } + public function setIsChatSponsor($isChatSponsor) + { + $this->isChatSponsor = $isChatSponsor; + } + public function getIsChatSponsor() + { + return $this->isChatSponsor; + } + public function setIsVerified($isVerified) + { + $this->isVerified = $isVerified; + } + public function getIsVerified() + { + return $this->isVerified; + } + public function setProfileImageUrl($profileImageUrl) + { + $this->profileImageUrl = $profileImageUrl; + } + public function getProfileImageUrl() + { + return $this->profileImageUrl; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/YouTube/LiveChatMessageDeletedDetails.php b/vendor/google/apiclient-services/src/Google/Service/YouTube/LiveChatMessageDeletedDetails.php new file mode 100644 index 00000000..8d5b7ecb --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/YouTube/LiveChatMessageDeletedDetails.php @@ -0,0 +1,30 @@ +deletedMessageId = $deletedMessageId; + } + public function getDeletedMessageId() + { + return $this->deletedMessageId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/YouTube/LiveChatMessageListResponse.php b/vendor/google/apiclient-services/src/Google/Service/YouTube/LiveChatMessageListResponse.php new file mode 100644 index 00000000..c3e5b326 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/YouTube/LiveChatMessageListResponse.php @@ -0,0 +1,115 @@ +etag = $etag; + } + public function getEtag() + { + return $this->etag; + } + public function setEventId($eventId) + { + $this->eventId = $eventId; + } + public function getEventId() + { + return $this->eventId; + } + public function setItems($items) + { + $this->items = $items; + } + public function getItems() + { + return $this->items; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setOfflineAt($offlineAt) + { + $this->offlineAt = $offlineAt; + } + public function getOfflineAt() + { + return $this->offlineAt; + } + public function setPageInfo(Google_Service_YouTube_PageInfo $pageInfo) + { + $this->pageInfo = $pageInfo; + } + public function getPageInfo() + { + return $this->pageInfo; + } + public function setPollingIntervalMillis($pollingIntervalMillis) + { + $this->pollingIntervalMillis = $pollingIntervalMillis; + } + public function getPollingIntervalMillis() + { + return $this->pollingIntervalMillis; + } + public function setTokenPagination(Google_Service_YouTube_TokenPagination $tokenPagination) + { + $this->tokenPagination = $tokenPagination; + } + public function getTokenPagination() + { + return $this->tokenPagination; + } + public function setVisitorId($visitorId) + { + $this->visitorId = $visitorId; + } + public function getVisitorId() + { + return $this->visitorId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/YouTube/LiveChatMessageRetractedDetails.php b/vendor/google/apiclient-services/src/Google/Service/YouTube/LiveChatMessageRetractedDetails.php new file mode 100644 index 00000000..9a84f4f2 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/YouTube/LiveChatMessageRetractedDetails.php @@ -0,0 +1,30 @@ +retractedMessageId = $retractedMessageId; + } + public function getRetractedMessageId() + { + return $this->retractedMessageId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/YouTube/LiveChatMessageSnippet.php b/vendor/google/apiclient-services/src/Google/Service/YouTube/LiveChatMessageSnippet.php new file mode 100644 index 00000000..b7f6250b --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/YouTube/LiveChatMessageSnippet.php @@ -0,0 +1,175 @@ +authorChannelId = $authorChannelId; + } + public function getAuthorChannelId() + { + return $this->authorChannelId; + } + public function setDisplayMessage($displayMessage) + { + $this->displayMessage = $displayMessage; + } + public function getDisplayMessage() + { + return $this->displayMessage; + } + public function setFanFundingEventDetails(Google_Service_YouTube_LiveChatFanFundingEventDetails $fanFundingEventDetails) + { + $this->fanFundingEventDetails = $fanFundingEventDetails; + } + public function getFanFundingEventDetails() + { + return $this->fanFundingEventDetails; + } + public function setHasDisplayContent($hasDisplayContent) + { + $this->hasDisplayContent = $hasDisplayContent; + } + public function getHasDisplayContent() + { + return $this->hasDisplayContent; + } + public function setLiveChatId($liveChatId) + { + $this->liveChatId = $liveChatId; + } + public function getLiveChatId() + { + return $this->liveChatId; + } + public function setMessageDeletedDetails(Google_Service_YouTube_LiveChatMessageDeletedDetails $messageDeletedDetails) + { + $this->messageDeletedDetails = $messageDeletedDetails; + } + public function getMessageDeletedDetails() + { + return $this->messageDeletedDetails; + } + public function setMessageRetractedDetails(Google_Service_YouTube_LiveChatMessageRetractedDetails $messageRetractedDetails) + { + $this->messageRetractedDetails = $messageRetractedDetails; + } + public function getMessageRetractedDetails() + { + return $this->messageRetractedDetails; + } + public function setPollClosedDetails(Google_Service_YouTube_LiveChatPollClosedDetails $pollClosedDetails) + { + $this->pollClosedDetails = $pollClosedDetails; + } + public function getPollClosedDetails() + { + return $this->pollClosedDetails; + } + public function setPollEditedDetails(Google_Service_YouTube_LiveChatPollEditedDetails $pollEditedDetails) + { + $this->pollEditedDetails = $pollEditedDetails; + } + public function getPollEditedDetails() + { + return $this->pollEditedDetails; + } + public function setPollOpenedDetails(Google_Service_YouTube_LiveChatPollOpenedDetails $pollOpenedDetails) + { + $this->pollOpenedDetails = $pollOpenedDetails; + } + public function getPollOpenedDetails() + { + return $this->pollOpenedDetails; + } + public function setPollVotedDetails(Google_Service_YouTube_LiveChatPollVotedDetails $pollVotedDetails) + { + $this->pollVotedDetails = $pollVotedDetails; + } + public function getPollVotedDetails() + { + return $this->pollVotedDetails; + } + public function setPublishedAt($publishedAt) + { + $this->publishedAt = $publishedAt; + } + public function getPublishedAt() + { + return $this->publishedAt; + } + public function setSuperChatDetails(Google_Service_YouTube_LiveChatSuperChatDetails $superChatDetails) + { + $this->superChatDetails = $superChatDetails; + } + public function getSuperChatDetails() + { + return $this->superChatDetails; + } + public function setTextMessageDetails(Google_Service_YouTube_LiveChatTextMessageDetails $textMessageDetails) + { + $this->textMessageDetails = $textMessageDetails; + } + public function getTextMessageDetails() + { + return $this->textMessageDetails; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } + public function setUserBannedDetails(Google_Service_YouTube_LiveChatUserBannedMessageDetails $userBannedDetails) + { + $this->userBannedDetails = $userBannedDetails; + } + public function getUserBannedDetails() + { + return $this->userBannedDetails; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/YouTube/LiveChatModerator.php b/vendor/google/apiclient-services/src/Google/Service/YouTube/LiveChatModerator.php new file mode 100644 index 00000000..29b77e03 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/YouTube/LiveChatModerator.php @@ -0,0 +1,58 @@ +etag = $etag; + } + public function getEtag() + { + return $this->etag; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setSnippet(Google_Service_YouTube_LiveChatModeratorSnippet $snippet) + { + $this->snippet = $snippet; + } + public function getSnippet() + { + return $this->snippet; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/YouTube/LiveChatModeratorListResponse.php b/vendor/google/apiclient-services/src/Google/Service/YouTube/LiveChatModeratorListResponse.php new file mode 100644 index 00000000..7655eb94 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/YouTube/LiveChatModeratorListResponse.php @@ -0,0 +1,106 @@ +etag = $etag; + } + public function getEtag() + { + return $this->etag; + } + public function setEventId($eventId) + { + $this->eventId = $eventId; + } + public function getEventId() + { + return $this->eventId; + } + public function setItems($items) + { + $this->items = $items; + } + public function getItems() + { + return $this->items; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setPageInfo(Google_Service_YouTube_PageInfo $pageInfo) + { + $this->pageInfo = $pageInfo; + } + public function getPageInfo() + { + return $this->pageInfo; + } + public function setPrevPageToken($prevPageToken) + { + $this->prevPageToken = $prevPageToken; + } + public function getPrevPageToken() + { + return $this->prevPageToken; + } + public function setTokenPagination(Google_Service_YouTube_TokenPagination $tokenPagination) + { + $this->tokenPagination = $tokenPagination; + } + public function getTokenPagination() + { + return $this->tokenPagination; + } + public function setVisitorId($visitorId) + { + $this->visitorId = $visitorId; + } + public function getVisitorId() + { + return $this->visitorId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/YouTube/LiveChatModeratorSnippet.php b/vendor/google/apiclient-services/src/Google/Service/YouTube/LiveChatModeratorSnippet.php new file mode 100644 index 00000000..b3581c77 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/YouTube/LiveChatModeratorSnippet.php @@ -0,0 +1,40 @@ +liveChatId = $liveChatId; + } + public function getLiveChatId() + { + return $this->liveChatId; + } + public function setModeratorDetails(Google_Service_YouTube_ChannelProfileDetails $moderatorDetails) + { + $this->moderatorDetails = $moderatorDetails; + } + public function getModeratorDetails() + { + return $this->moderatorDetails; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/YouTube/LiveChatPollClosedDetails.php b/vendor/google/apiclient-services/src/Google/Service/YouTube/LiveChatPollClosedDetails.php new file mode 100644 index 00000000..a720614b --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/YouTube/LiveChatPollClosedDetails.php @@ -0,0 +1,30 @@ +pollId = $pollId; + } + public function getPollId() + { + return $this->pollId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/YouTube/LiveChatPollEditedDetails.php b/vendor/google/apiclient-services/src/Google/Service/YouTube/LiveChatPollEditedDetails.php new file mode 100644 index 00000000..d34084fa --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/YouTube/LiveChatPollEditedDetails.php @@ -0,0 +1,50 @@ +id = $id; + } + public function getId() + { + return $this->id; + } + public function setItems($items) + { + $this->items = $items; + } + public function getItems() + { + return $this->items; + } + public function setPrompt($prompt) + { + $this->prompt = $prompt; + } + public function getPrompt() + { + return $this->prompt; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/YouTube/LiveChatPollItem.php b/vendor/google/apiclient-services/src/Google/Service/YouTube/LiveChatPollItem.php new file mode 100644 index 00000000..cfc23838 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/YouTube/LiveChatPollItem.php @@ -0,0 +1,39 @@ +description = $description; + } + public function getDescription() + { + return $this->description; + } + public function setItemId($itemId) + { + $this->itemId = $itemId; + } + public function getItemId() + { + return $this->itemId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/YouTube/LiveChatPollOpenedDetails.php b/vendor/google/apiclient-services/src/Google/Service/YouTube/LiveChatPollOpenedDetails.php new file mode 100644 index 00000000..b63881d9 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/YouTube/LiveChatPollOpenedDetails.php @@ -0,0 +1,50 @@ +id = $id; + } + public function getId() + { + return $this->id; + } + public function setItems($items) + { + $this->items = $items; + } + public function getItems() + { + return $this->items; + } + public function setPrompt($prompt) + { + $this->prompt = $prompt; + } + public function getPrompt() + { + return $this->prompt; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/YouTube/LiveChatPollVotedDetails.php b/vendor/google/apiclient-services/src/Google/Service/YouTube/LiveChatPollVotedDetails.php new file mode 100644 index 00000000..5ffc4229 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/YouTube/LiveChatPollVotedDetails.php @@ -0,0 +1,39 @@ +itemId = $itemId; + } + public function getItemId() + { + return $this->itemId; + } + public function setPollId($pollId) + { + $this->pollId = $pollId; + } + public function getPollId() + { + return $this->pollId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/YouTube/LiveChatSuperChatDetails.php b/vendor/google/apiclient-services/src/Google/Service/YouTube/LiveChatSuperChatDetails.php new file mode 100644 index 00000000..0d66d058 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/YouTube/LiveChatSuperChatDetails.php @@ -0,0 +1,66 @@ +amountDisplayString = $amountDisplayString; + } + public function getAmountDisplayString() + { + return $this->amountDisplayString; + } + public function setAmountMicros($amountMicros) + { + $this->amountMicros = $amountMicros; + } + public function getAmountMicros() + { + return $this->amountMicros; + } + public function setCurrency($currency) + { + $this->currency = $currency; + } + public function getCurrency() + { + return $this->currency; + } + public function setTier($tier) + { + $this->tier = $tier; + } + public function getTier() + { + return $this->tier; + } + public function setUserComment($userComment) + { + $this->userComment = $userComment; + } + public function getUserComment() + { + return $this->userComment; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/YouTube/LiveChatTextMessageDetails.php b/vendor/google/apiclient-services/src/Google/Service/YouTube/LiveChatTextMessageDetails.php new file mode 100644 index 00000000..c3708022 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/YouTube/LiveChatTextMessageDetails.php @@ -0,0 +1,30 @@ +messageText = $messageText; + } + public function getMessageText() + { + return $this->messageText; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/YouTube/LiveChatUserBannedMessageDetails.php b/vendor/google/apiclient-services/src/Google/Service/YouTube/LiveChatUserBannedMessageDetails.php new file mode 100644 index 00000000..317bcea2 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/YouTube/LiveChatUserBannedMessageDetails.php @@ -0,0 +1,49 @@ +banDurationSeconds = $banDurationSeconds; + } + public function getBanDurationSeconds() + { + return $this->banDurationSeconds; + } + public function setBanType($banType) + { + $this->banType = $banType; + } + public function getBanType() + { + return $this->banType; + } + public function setBannedUserDetails(Google_Service_YouTube_ChannelProfileDetails $bannedUserDetails) + { + $this->bannedUserDetails = $bannedUserDetails; + } + public function getBannedUserDetails() + { + return $this->bannedUserDetails; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/YouTube/LiveStream.php b/vendor/google/apiclient-services/src/Google/Service/YouTube/LiveStream.php new file mode 100644 index 00000000..a768fa85 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/YouTube/LiveStream.php @@ -0,0 +1,88 @@ +cdn = $cdn; + } + public function getCdn() + { + return $this->cdn; + } + public function setContentDetails(Google_Service_YouTube_LiveStreamContentDetails $contentDetails) + { + $this->contentDetails = $contentDetails; + } + public function getContentDetails() + { + return $this->contentDetails; + } + public function setEtag($etag) + { + $this->etag = $etag; + } + public function getEtag() + { + return $this->etag; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setSnippet(Google_Service_YouTube_LiveStreamSnippet $snippet) + { + $this->snippet = $snippet; + } + public function getSnippet() + { + return $this->snippet; + } + public function setStatus(Google_Service_YouTube_LiveStreamStatus $status) + { + $this->status = $status; + } + public function getStatus() + { + return $this->status; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/YouTube/LiveStreamConfigurationIssue.php b/vendor/google/apiclient-services/src/Google/Service/YouTube/LiveStreamConfigurationIssue.php new file mode 100644 index 00000000..dc8e55aa --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/YouTube/LiveStreamConfigurationIssue.php @@ -0,0 +1,57 @@ +description = $description; + } + public function getDescription() + { + return $this->description; + } + public function setReason($reason) + { + $this->reason = $reason; + } + public function getReason() + { + return $this->reason; + } + public function setSeverity($severity) + { + $this->severity = $severity; + } + public function getSeverity() + { + return $this->severity; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/YouTube/LiveStreamContentDetails.php b/vendor/google/apiclient-services/src/Google/Service/YouTube/LiveStreamContentDetails.php new file mode 100644 index 00000000..d6ad34e1 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/YouTube/LiveStreamContentDetails.php @@ -0,0 +1,39 @@ +closedCaptionsIngestionUrl = $closedCaptionsIngestionUrl; + } + public function getClosedCaptionsIngestionUrl() + { + return $this->closedCaptionsIngestionUrl; + } + public function setIsReusable($isReusable) + { + $this->isReusable = $isReusable; + } + public function getIsReusable() + { + return $this->isReusable; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/YouTube/LiveStreamHealthStatus.php b/vendor/google/apiclient-services/src/Google/Service/YouTube/LiveStreamHealthStatus.php new file mode 100644 index 00000000..5d1f3ae4 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/YouTube/LiveStreamHealthStatus.php @@ -0,0 +1,50 @@ +configurationIssues = $configurationIssues; + } + public function getConfigurationIssues() + { + return $this->configurationIssues; + } + public function setLastUpdateTimeSeconds($lastUpdateTimeSeconds) + { + $this->lastUpdateTimeSeconds = $lastUpdateTimeSeconds; + } + public function getLastUpdateTimeSeconds() + { + return $this->lastUpdateTimeSeconds; + } + public function setStatus($status) + { + $this->status = $status; + } + public function getStatus() + { + return $this->status; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/YouTube/LiveStreamListResponse.php b/vendor/google/apiclient-services/src/Google/Service/YouTube/LiveStreamListResponse.php new file mode 100644 index 00000000..d6b312b5 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/YouTube/LiveStreamListResponse.php @@ -0,0 +1,106 @@ +etag = $etag; + } + public function getEtag() + { + return $this->etag; + } + public function setEventId($eventId) + { + $this->eventId = $eventId; + } + public function getEventId() + { + return $this->eventId; + } + public function setItems($items) + { + $this->items = $items; + } + public function getItems() + { + return $this->items; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setPageInfo(Google_Service_YouTube_PageInfo $pageInfo) + { + $this->pageInfo = $pageInfo; + } + public function getPageInfo() + { + return $this->pageInfo; + } + public function setPrevPageToken($prevPageToken) + { + $this->prevPageToken = $prevPageToken; + } + public function getPrevPageToken() + { + return $this->prevPageToken; + } + public function setTokenPagination(Google_Service_YouTube_TokenPagination $tokenPagination) + { + $this->tokenPagination = $tokenPagination; + } + public function getTokenPagination() + { + return $this->tokenPagination; + } + public function setVisitorId($visitorId) + { + $this->visitorId = $visitorId; + } + public function getVisitorId() + { + return $this->visitorId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/YouTube/LiveStreamSnippet.php b/vendor/google/apiclient-services/src/Google/Service/YouTube/LiveStreamSnippet.php new file mode 100644 index 00000000..8b2a2ba0 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/YouTube/LiveStreamSnippet.php @@ -0,0 +1,66 @@ +channelId = $channelId; + } + public function getChannelId() + { + return $this->channelId; + } + public function setDescription($description) + { + $this->description = $description; + } + public function getDescription() + { + return $this->description; + } + public function setIsDefaultStream($isDefaultStream) + { + $this->isDefaultStream = $isDefaultStream; + } + public function getIsDefaultStream() + { + return $this->isDefaultStream; + } + public function setPublishedAt($publishedAt) + { + $this->publishedAt = $publishedAt; + } + public function getPublishedAt() + { + return $this->publishedAt; + } + public function setTitle($title) + { + $this->title = $title; + } + public function getTitle() + { + return $this->title; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/YouTube/LiveStreamStatus.php b/vendor/google/apiclient-services/src/Google/Service/YouTube/LiveStreamStatus.php new file mode 100644 index 00000000..fe1084a1 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/YouTube/LiveStreamStatus.php @@ -0,0 +1,40 @@ +healthStatus = $healthStatus; + } + public function getHealthStatus() + { + return $this->healthStatus; + } + public function setStreamStatus($streamStatus) + { + $this->streamStatus = $streamStatus; + } + public function getStreamStatus() + { + return $this->streamStatus; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/YouTube/LocalizedProperty.php b/vendor/google/apiclient-services/src/Google/Service/YouTube/LocalizedProperty.php new file mode 100644 index 00000000..fd69cd81 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/YouTube/LocalizedProperty.php @@ -0,0 +1,51 @@ +default = $default; + } + public function getDefault() + { + return $this->default; + } + public function setDefaultLanguage(Google_Service_YouTube_LanguageTag $defaultLanguage) + { + $this->defaultLanguage = $defaultLanguage; + } + public function getDefaultLanguage() + { + return $this->defaultLanguage; + } + public function setLocalized($localized) + { + $this->localized = $localized; + } + public function getLocalized() + { + return $this->localized; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/YouTube/LocalizedString.php b/vendor/google/apiclient-services/src/Google/Service/YouTube/LocalizedString.php new file mode 100644 index 00000000..49c26622 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/YouTube/LocalizedString.php @@ -0,0 +1,39 @@ +language = $language; + } + public function getLanguage() + { + return $this->language; + } + public function setValue($value) + { + $this->value = $value; + } + public function getValue() + { + return $this->value; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/YouTube/MonitorStreamInfo.php b/vendor/google/apiclient-services/src/Google/Service/YouTube/MonitorStreamInfo.php new file mode 100644 index 00000000..abaf875f --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/YouTube/MonitorStreamInfo.php @@ -0,0 +1,48 @@ +broadcastStreamDelayMs = $broadcastStreamDelayMs; + } + public function getBroadcastStreamDelayMs() + { + return $this->broadcastStreamDelayMs; + } + public function setEmbedHtml($embedHtml) + { + $this->embedHtml = $embedHtml; + } + public function getEmbedHtml() + { + return $this->embedHtml; + } + public function setEnableMonitorStream($enableMonitorStream) + { + $this->enableMonitorStream = $enableMonitorStream; + } + public function getEnableMonitorStream() + { + return $this->enableMonitorStream; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/YouTube/PageInfo.php b/vendor/google/apiclient-services/src/Google/Service/YouTube/PageInfo.php new file mode 100644 index 00000000..186195dd --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/YouTube/PageInfo.php @@ -0,0 +1,39 @@ +resultsPerPage = $resultsPerPage; + } + public function getResultsPerPage() + { + return $this->resultsPerPage; + } + public function setTotalResults($totalResults) + { + $this->totalResults = $totalResults; + } + public function getTotalResults() + { + return $this->totalResults; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/YouTube/Playlist.php b/vendor/google/apiclient-services/src/Google/Service/YouTube/Playlist.php new file mode 100644 index 00000000..ae07be22 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/YouTube/Playlist.php @@ -0,0 +1,98 @@ +contentDetails = $contentDetails; + } + public function getContentDetails() + { + return $this->contentDetails; + } + public function setEtag($etag) + { + $this->etag = $etag; + } + public function getEtag() + { + return $this->etag; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setLocalizations($localizations) + { + $this->localizations = $localizations; + } + public function getLocalizations() + { + return $this->localizations; + } + public function setPlayer(Google_Service_YouTube_PlaylistPlayer $player) + { + $this->player = $player; + } + public function getPlayer() + { + return $this->player; + } + public function setSnippet(Google_Service_YouTube_PlaylistSnippet $snippet) + { + $this->snippet = $snippet; + } + public function getSnippet() + { + return $this->snippet; + } + public function setStatus(Google_Service_YouTube_PlaylistStatus $status) + { + $this->status = $status; + } + public function getStatus() + { + return $this->status; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/YouTube/PlaylistContentDetails.php b/vendor/google/apiclient-services/src/Google/Service/YouTube/PlaylistContentDetails.php new file mode 100644 index 00000000..bd6ba396 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/YouTube/PlaylistContentDetails.php @@ -0,0 +1,30 @@ +itemCount = $itemCount; + } + public function getItemCount() + { + return $this->itemCount; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/YouTube/PlaylistItem.php b/vendor/google/apiclient-services/src/Google/Service/YouTube/PlaylistItem.php new file mode 100644 index 00000000..04682ef9 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/YouTube/PlaylistItem.php @@ -0,0 +1,78 @@ +contentDetails = $contentDetails; + } + public function getContentDetails() + { + return $this->contentDetails; + } + public function setEtag($etag) + { + $this->etag = $etag; + } + public function getEtag() + { + return $this->etag; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setSnippet(Google_Service_YouTube_PlaylistItemSnippet $snippet) + { + $this->snippet = $snippet; + } + public function getSnippet() + { + return $this->snippet; + } + public function setStatus(Google_Service_YouTube_PlaylistItemStatus $status) + { + $this->status = $status; + } + public function getStatus() + { + return $this->status; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/YouTube/PlaylistItemContentDetails.php b/vendor/google/apiclient-services/src/Google/Service/YouTube/PlaylistItemContentDetails.php new file mode 100644 index 00000000..2799050d --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/YouTube/PlaylistItemContentDetails.php @@ -0,0 +1,66 @@ +endAt = $endAt; + } + public function getEndAt() + { + return $this->endAt; + } + public function setNote($note) + { + $this->note = $note; + } + public function getNote() + { + return $this->note; + } + public function setStartAt($startAt) + { + $this->startAt = $startAt; + } + public function getStartAt() + { + return $this->startAt; + } + public function setVideoId($videoId) + { + $this->videoId = $videoId; + } + public function getVideoId() + { + return $this->videoId; + } + public function setVideoPublishedAt($videoPublishedAt) + { + $this->videoPublishedAt = $videoPublishedAt; + } + public function getVideoPublishedAt() + { + return $this->videoPublishedAt; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/YouTube/PlaylistItemListResponse.php b/vendor/google/apiclient-services/src/Google/Service/YouTube/PlaylistItemListResponse.php new file mode 100644 index 00000000..ae601848 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/YouTube/PlaylistItemListResponse.php @@ -0,0 +1,106 @@ +etag = $etag; + } + public function getEtag() + { + return $this->etag; + } + public function setEventId($eventId) + { + $this->eventId = $eventId; + } + public function getEventId() + { + return $this->eventId; + } + public function setItems($items) + { + $this->items = $items; + } + public function getItems() + { + return $this->items; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setPageInfo(Google_Service_YouTube_PageInfo $pageInfo) + { + $this->pageInfo = $pageInfo; + } + public function getPageInfo() + { + return $this->pageInfo; + } + public function setPrevPageToken($prevPageToken) + { + $this->prevPageToken = $prevPageToken; + } + public function getPrevPageToken() + { + return $this->prevPageToken; + } + public function setTokenPagination(Google_Service_YouTube_TokenPagination $tokenPagination) + { + $this->tokenPagination = $tokenPagination; + } + public function getTokenPagination() + { + return $this->tokenPagination; + } + public function setVisitorId($visitorId) + { + $this->visitorId = $visitorId; + } + public function getVisitorId() + { + return $this->visitorId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/YouTube/PlaylistItemSnippet.php b/vendor/google/apiclient-services/src/Google/Service/YouTube/PlaylistItemSnippet.php new file mode 100644 index 00000000..c837145f --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/YouTube/PlaylistItemSnippet.php @@ -0,0 +1,104 @@ +channelId = $channelId; + } + public function getChannelId() + { + return $this->channelId; + } + public function setChannelTitle($channelTitle) + { + $this->channelTitle = $channelTitle; + } + public function getChannelTitle() + { + return $this->channelTitle; + } + public function setDescription($description) + { + $this->description = $description; + } + public function getDescription() + { + return $this->description; + } + public function setPlaylistId($playlistId) + { + $this->playlistId = $playlistId; + } + public function getPlaylistId() + { + return $this->playlistId; + } + public function setPosition($position) + { + $this->position = $position; + } + public function getPosition() + { + return $this->position; + } + public function setPublishedAt($publishedAt) + { + $this->publishedAt = $publishedAt; + } + public function getPublishedAt() + { + return $this->publishedAt; + } + public function setResourceId(Google_Service_YouTube_ResourceId $resourceId) + { + $this->resourceId = $resourceId; + } + public function getResourceId() + { + return $this->resourceId; + } + public function setThumbnails(Google_Service_YouTube_ThumbnailDetails $thumbnails) + { + $this->thumbnails = $thumbnails; + } + public function getThumbnails() + { + return $this->thumbnails; + } + public function setTitle($title) + { + $this->title = $title; + } + public function getTitle() + { + return $this->title; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/YouTube/PlaylistItemStatus.php b/vendor/google/apiclient-services/src/Google/Service/YouTube/PlaylistItemStatus.php new file mode 100644 index 00000000..369bea1c --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/YouTube/PlaylistItemStatus.php @@ -0,0 +1,30 @@ +privacyStatus = $privacyStatus; + } + public function getPrivacyStatus() + { + return $this->privacyStatus; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/YouTube/PlaylistListResponse.php b/vendor/google/apiclient-services/src/Google/Service/YouTube/PlaylistListResponse.php new file mode 100644 index 00000000..1728d214 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/YouTube/PlaylistListResponse.php @@ -0,0 +1,106 @@ +etag = $etag; + } + public function getEtag() + { + return $this->etag; + } + public function setEventId($eventId) + { + $this->eventId = $eventId; + } + public function getEventId() + { + return $this->eventId; + } + public function setItems($items) + { + $this->items = $items; + } + public function getItems() + { + return $this->items; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setPageInfo(Google_Service_YouTube_PageInfo $pageInfo) + { + $this->pageInfo = $pageInfo; + } + public function getPageInfo() + { + return $this->pageInfo; + } + public function setPrevPageToken($prevPageToken) + { + $this->prevPageToken = $prevPageToken; + } + public function getPrevPageToken() + { + return $this->prevPageToken; + } + public function setTokenPagination(Google_Service_YouTube_TokenPagination $tokenPagination) + { + $this->tokenPagination = $tokenPagination; + } + public function getTokenPagination() + { + return $this->tokenPagination; + } + public function setVisitorId($visitorId) + { + $this->visitorId = $visitorId; + } + public function getVisitorId() + { + return $this->visitorId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/YouTube/PlaylistLocalization.php b/vendor/google/apiclient-services/src/Google/Service/YouTube/PlaylistLocalization.php new file mode 100644 index 00000000..15dc4243 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/YouTube/PlaylistLocalization.php @@ -0,0 +1,39 @@ +description = $description; + } + public function getDescription() + { + return $this->description; + } + public function setTitle($title) + { + $this->title = $title; + } + public function getTitle() + { + return $this->title; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/YouTube/PlaylistPlayer.php b/vendor/google/apiclient-services/src/Google/Service/YouTube/PlaylistPlayer.php new file mode 100644 index 00000000..2689dc13 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/YouTube/PlaylistPlayer.php @@ -0,0 +1,30 @@ +embedHtml = $embedHtml; + } + public function getEmbedHtml() + { + return $this->embedHtml; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/YouTube/PlaylistSnippet.php b/vendor/google/apiclient-services/src/Google/Service/YouTube/PlaylistSnippet.php new file mode 100644 index 00000000..89e191cf --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/YouTube/PlaylistSnippet.php @@ -0,0 +1,105 @@ +channelId = $channelId; + } + public function getChannelId() + { + return $this->channelId; + } + public function setChannelTitle($channelTitle) + { + $this->channelTitle = $channelTitle; + } + public function getChannelTitle() + { + return $this->channelTitle; + } + public function setDefaultLanguage($defaultLanguage) + { + $this->defaultLanguage = $defaultLanguage; + } + public function getDefaultLanguage() + { + return $this->defaultLanguage; + } + public function setDescription($description) + { + $this->description = $description; + } + public function getDescription() + { + return $this->description; + } + public function setLocalized(Google_Service_YouTube_PlaylistLocalization $localized) + { + $this->localized = $localized; + } + public function getLocalized() + { + return $this->localized; + } + public function setPublishedAt($publishedAt) + { + $this->publishedAt = $publishedAt; + } + public function getPublishedAt() + { + return $this->publishedAt; + } + public function setTags($tags) + { + $this->tags = $tags; + } + public function getTags() + { + return $this->tags; + } + public function setThumbnails(Google_Service_YouTube_ThumbnailDetails $thumbnails) + { + $this->thumbnails = $thumbnails; + } + public function getThumbnails() + { + return $this->thumbnails; + } + public function setTitle($title) + { + $this->title = $title; + } + public function getTitle() + { + return $this->title; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/YouTube/PlaylistStatus.php b/vendor/google/apiclient-services/src/Google/Service/YouTube/PlaylistStatus.php new file mode 100644 index 00000000..3d9ddb5f --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/YouTube/PlaylistStatus.php @@ -0,0 +1,30 @@ +privacyStatus = $privacyStatus; + } + public function getPrivacyStatus() + { + return $this->privacyStatus; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/YouTube/PromotedItem.php b/vendor/google/apiclient-services/src/Google/Service/YouTube/PromotedItem.php new file mode 100644 index 00000000..7d39b65d --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/YouTube/PromotedItem.php @@ -0,0 +1,59 @@ +customMessage = $customMessage; + } + public function getCustomMessage() + { + return $this->customMessage; + } + public function setId(Google_Service_YouTube_PromotedItemId $id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setPromotedByContentOwner($promotedByContentOwner) + { + $this->promotedByContentOwner = $promotedByContentOwner; + } + public function getPromotedByContentOwner() + { + return $this->promotedByContentOwner; + } + public function setTiming(Google_Service_YouTube_InvideoTiming $timing) + { + $this->timing = $timing; + } + public function getTiming() + { + return $this->timing; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/YouTube/PromotedItemId.php b/vendor/google/apiclient-services/src/Google/Service/YouTube/PromotedItemId.php new file mode 100644 index 00000000..64f3b33c --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/YouTube/PromotedItemId.php @@ -0,0 +1,57 @@ +recentlyUploadedBy = $recentlyUploadedBy; + } + public function getRecentlyUploadedBy() + { + return $this->recentlyUploadedBy; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } + public function setVideoId($videoId) + { + $this->videoId = $videoId; + } + public function getVideoId() + { + return $this->videoId; + } + public function setWebsiteUrl($websiteUrl) + { + $this->websiteUrl = $websiteUrl; + } + public function getWebsiteUrl() + { + return $this->websiteUrl; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/YouTube/PropertyValue.php b/vendor/google/apiclient-services/src/Google/Service/YouTube/PropertyValue.php new file mode 100644 index 00000000..23e2a2bd --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/YouTube/PropertyValue.php @@ -0,0 +1,39 @@ +property = $property; + } + public function getProperty() + { + return $this->property; + } + public function setValue($value) + { + $this->value = $value; + } + public function getValue() + { + return $this->value; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/YouTube/Resource/Activities.php b/vendor/google/apiclient-services/src/Google/Service/YouTube/Resource/Activities.php new file mode 100644 index 00000000..eb30ba16 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/YouTube/Resource/Activities.php @@ -0,0 +1,109 @@ + + * $youtubeService = new Google_Service_YouTube(...); + * $activities = $youtubeService->activities; + * + */ +class Google_Service_YouTube_Resource_Activities extends Google_Service_Resource +{ + /** + * Posts a bulletin for a specific channel. (The user submitting the request + * must be authorized to act on the channel's behalf.) + * + * Note: Even though an activity resource can contain information about actions + * like a user rating a video or marking a video as a favorite, you need to use + * other API methods to generate those activity resources. For example, you + * would use the API's videos.rate() method to rate a video and the + * playlistItems.insert() method to mark a video as a favorite. + * (activities.insert) + * + * @param string $part The part parameter serves two purposes in this operation. + * It identifies the properties that the write operation will set as well as the + * properties that the API response will include. + * @param Google_Service_YouTube_Activity $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_YouTube_Activity + */ + public function insert($part, Google_Service_YouTube_Activity $postBody, $optParams = array()) + { + $params = array('part' => $part, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('insert', array($params), "Google_Service_YouTube_Activity"); + } + /** + * Returns a list of channel activity events that match the request criteria. + * For example, you can retrieve events associated with a particular channel, + * events associated with the user's subscriptions and Google+ friends, or the + * YouTube home page feed, which is customized for each user. + * (activities.listActivities) + * + * @param string $part The part parameter specifies a comma-separated list of + * one or more activity resource properties that the API response will include. + * + * If the parameter identifies a property that contains child properties, the + * child properties will be included in the response. For example, in an + * activity resource, the snippet property contains other properties that + * identify the type of activity, a display title for the activity, and so + * forth. If you set part=snippet, the API response will also contain all of + * those nested properties. + * @param array $optParams Optional parameters. + * + * @opt_param string channelId The channelId parameter specifies a unique + * YouTube channel ID. The API will then return a list of that channel's + * activities. + * @opt_param bool home Set this parameter's value to true to retrieve the + * activity feed that displays on the YouTube home page for the currently + * authenticated user. + * @opt_param string maxResults The maxResults parameter specifies the maximum + * number of items that should be returned in the result set. + * @opt_param bool mine Set this parameter's value to true to retrieve a feed of + * the authenticated user's activities. + * @opt_param string pageToken The pageToken parameter identifies a specific + * page in the result set that should be returned. In an API response, the + * nextPageToken and prevPageToken properties identify other pages that could be + * retrieved. + * @opt_param string publishedAfter The publishedAfter parameter specifies the + * earliest date and time that an activity could have occurred for that activity + * to be included in the API response. If the parameter value specifies a day, + * but not a time, then any activities that occurred that day will be included + * in the result set. The value is specified in ISO 8601 (YYYY-MM- + * DDThh:mm:ss.sZ) format. + * @opt_param string publishedBefore The publishedBefore parameter specifies the + * date and time before which an activity must have occurred for that activity + * to be included in the API response. If the parameter value specifies a day, + * but not a time, then any activities that occurred that day will be excluded + * from the result set. The value is specified in ISO 8601 (YYYY-MM- + * DDThh:mm:ss.sZ) format. + * @opt_param string regionCode The regionCode parameter instructs the API to + * return results for the specified country. The parameter value is an ISO + * 3166-1 alpha-2 country code. YouTube uses this value when the authorized + * user's previous activity on YouTube does not provide enough information to + * generate the activity feed. + * @return Google_Service_YouTube_ActivityListResponse + */ + public function listActivities($part, $optParams = array()) + { + $params = array('part' => $part); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_YouTube_ActivityListResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/YouTube/Resource/Captions.php b/vendor/google/apiclient-services/src/Google/Service/YouTube/Resource/Captions.php new file mode 100644 index 00000000..3335b6ac --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/YouTube/Resource/Captions.php @@ -0,0 +1,215 @@ + + * $youtubeService = new Google_Service_YouTube(...); + * $captions = $youtubeService->captions; + * + */ +class Google_Service_YouTube_Resource_Captions extends Google_Service_Resource +{ + /** + * Deletes a specified caption track. (captions.delete) + * + * @param string $id The id parameter identifies the caption track that is being + * deleted. The value is a caption track ID as identified by the id property in + * a caption resource. + * @param array $optParams Optional parameters. + * + * @opt_param string onBehalfOf ID of the Google+ Page for the channel that the + * request is be on behalf of + * @opt_param string onBehalfOfContentOwner Note: This parameter is intended + * exclusively for YouTube content partners. + * + * The onBehalfOfContentOwner parameter indicates that the request's + * authorization credentials identify a YouTube CMS user who is acting on behalf + * of the content owner specified in the parameter value. This parameter is + * intended for YouTube content partners that own and manage many different + * YouTube channels. It allows content owners to authenticate once and get + * access to all their video and channel data, without having to provide + * authentication credentials for each individual channel. The actual CMS + * account that the user authenticates with must be linked to the specified + * YouTube content owner. + */ + public function delete($id, $optParams = array()) + { + $params = array('id' => $id); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params)); + } + /** + * Downloads a caption track. The caption track is returned in its original + * format unless the request specifies a value for the tfmt parameter and in its + * original language unless the request specifies a value for the tlang + * parameter. (captions.download) + * + * @param string $id The id parameter identifies the caption track that is being + * retrieved. The value is a caption track ID as identified by the id property + * in a caption resource. + * @param array $optParams Optional parameters. + * + * @opt_param string onBehalfOf ID of the Google+ Page for the channel that the + * request is be on behalf of + * @opt_param string onBehalfOfContentOwner Note: This parameter is intended + * exclusively for YouTube content partners. + * + * The onBehalfOfContentOwner parameter indicates that the request's + * authorization credentials identify a YouTube CMS user who is acting on behalf + * of the content owner specified in the parameter value. This parameter is + * intended for YouTube content partners that own and manage many different + * YouTube channels. It allows content owners to authenticate once and get + * access to all their video and channel data, without having to provide + * authentication credentials for each individual channel. The actual CMS + * account that the user authenticates with must be linked to the specified + * YouTube content owner. + * @opt_param string tfmt The tfmt parameter specifies that the caption track + * should be returned in a specific format. If the parameter is not included in + * the request, the track is returned in its original format. + * @opt_param string tlang The tlang parameter specifies that the API response + * should return a translation of the specified caption track. The parameter + * value is an ISO 639-1 two-letter language code that identifies the desired + * caption language. The translation is generated by using machine translation, + * such as Google Translate. + */ + public function download($id, $optParams = array()) + { + $params = array('id' => $id); + $params = array_merge($params, $optParams); + return $this->call('download', array($params)); + } + /** + * Uploads a caption track. (captions.insert) + * + * @param string $part The part parameter specifies the caption resource parts + * that the API response will include. Set the parameter value to snippet. + * @param Google_Service_YouTube_Caption $postBody + * @param array $optParams Optional parameters. + * + * @opt_param string onBehalfOf ID of the Google+ Page for the channel that the + * request is be on behalf of + * @opt_param string onBehalfOfContentOwner Note: This parameter is intended + * exclusively for YouTube content partners. + * + * The onBehalfOfContentOwner parameter indicates that the request's + * authorization credentials identify a YouTube CMS user who is acting on behalf + * of the content owner specified in the parameter value. This parameter is + * intended for YouTube content partners that own and manage many different + * YouTube channels. It allows content owners to authenticate once and get + * access to all their video and channel data, without having to provide + * authentication credentials for each individual channel. The actual CMS + * account that the user authenticates with must be linked to the specified + * YouTube content owner. + * @opt_param bool sync The sync parameter indicates whether YouTube should + * automatically synchronize the caption file with the audio track of the video. + * If you set the value to true, YouTube will disregard any time codes that are + * in the uploaded caption file and generate new time codes for the captions. + * + * You should set the sync parameter to true if you are uploading a transcript, + * which has no time codes, or if you suspect the time codes in your file are + * incorrect and want YouTube to try to fix them. + * @return Google_Service_YouTube_Caption + */ + public function insert($part, Google_Service_YouTube_Caption $postBody, $optParams = array()) + { + $params = array('part' => $part, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('insert', array($params), "Google_Service_YouTube_Caption"); + } + /** + * Returns a list of caption tracks that are associated with a specified video. + * Note that the API response does not contain the actual captions and that the + * captions.download method provides the ability to retrieve a caption track. + * (captions.listCaptions) + * + * @param string $part The part parameter specifies a comma-separated list of + * one or more caption resource parts that the API response will include. The + * part names that you can include in the parameter value are id and snippet. + * @param string $videoId The videoId parameter specifies the YouTube video ID + * of the video for which the API should return caption tracks. + * @param array $optParams Optional parameters. + * + * @opt_param string id The id parameter specifies a comma-separated list of IDs + * that identify the caption resources that should be retrieved. Each ID must + * identify a caption track associated with the specified video. + * @opt_param string onBehalfOf ID of the Google+ Page for the channel that the + * request is on behalf of. + * @opt_param string onBehalfOfContentOwner Note: This parameter is intended + * exclusively for YouTube content partners. + * + * The onBehalfOfContentOwner parameter indicates that the request's + * authorization credentials identify a YouTube CMS user who is acting on behalf + * of the content owner specified in the parameter value. This parameter is + * intended for YouTube content partners that own and manage many different + * YouTube channels. It allows content owners to authenticate once and get + * access to all their video and channel data, without having to provide + * authentication credentials for each individual channel. The actual CMS + * account that the user authenticates with must be linked to the specified + * YouTube content owner. + * @return Google_Service_YouTube_CaptionListResponse + */ + public function listCaptions($part, $videoId, $optParams = array()) + { + $params = array('part' => $part, 'videoId' => $videoId); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_YouTube_CaptionListResponse"); + } + /** + * Updates a caption track. When updating a caption track, you can change the + * track's draft status, upload a new caption file for the track, or both. + * (captions.update) + * + * @param string $part The part parameter serves two purposes in this operation. + * It identifies the properties that the write operation will set as well as the + * properties that the API response will include. Set the property value to + * snippet if you are updating the track's draft status. Otherwise, set the + * property value to id. + * @param Google_Service_YouTube_Caption $postBody + * @param array $optParams Optional parameters. + * + * @opt_param string onBehalfOf ID of the Google+ Page for the channel that the + * request is be on behalf of + * @opt_param string onBehalfOfContentOwner Note: This parameter is intended + * exclusively for YouTube content partners. + * + * The onBehalfOfContentOwner parameter indicates that the request's + * authorization credentials identify a YouTube CMS user who is acting on behalf + * of the content owner specified in the parameter value. This parameter is + * intended for YouTube content partners that own and manage many different + * YouTube channels. It allows content owners to authenticate once and get + * access to all their video and channel data, without having to provide + * authentication credentials for each individual channel. The actual CMS + * account that the user authenticates with must be linked to the specified + * YouTube content owner. + * @opt_param bool sync Note: The API server only processes the parameter value + * if the request contains an updated caption file. + * + * The sync parameter indicates whether YouTube should automatically synchronize + * the caption file with the audio track of the video. If you set the value to + * true, YouTube will automatically synchronize the caption track with the audio + * track. + * @return Google_Service_YouTube_Caption + */ + public function update($part, Google_Service_YouTube_Caption $postBody, $optParams = array()) + { + $params = array('part' => $part, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('update', array($params), "Google_Service_YouTube_Caption"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/YouTube/Resource/ChannelBanners.php b/vendor/google/apiclient-services/src/Google/Service/YouTube/Resource/ChannelBanners.php new file mode 100644 index 00000000..c03b33d0 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/YouTube/Resource/ChannelBanners.php @@ -0,0 +1,62 @@ + + * $youtubeService = new Google_Service_YouTube(...); + * $channelBanners = $youtubeService->channelBanners; + * + */ +class Google_Service_YouTube_Resource_ChannelBanners extends Google_Service_Resource +{ + /** + * Uploads a channel banner image to YouTube. This method represents the first + * two steps in a three-step process to update the banner image for a channel: + * + * - Call the channelBanners.insert method to upload the binary image data to + * YouTube. The image must have a 16:9 aspect ratio and be at least 2120x1192 + * pixels. - Extract the url property's value from the response that the API + * returns for step 1. - Call the channels.update method to update the channel's + * branding settings. Set the brandingSettings.image.bannerExternalUrl + * property's value to the URL obtained in step 2. (channelBanners.insert) + * + * @param Google_Service_YouTube_ChannelBannerResource $postBody + * @param array $optParams Optional parameters. + * + * @opt_param string onBehalfOfContentOwner Note: This parameter is intended + * exclusively for YouTube content partners. + * + * The onBehalfOfContentOwner parameter indicates that the request's + * authorization credentials identify a YouTube CMS user who is acting on behalf + * of the content owner specified in the parameter value. This parameter is + * intended for YouTube content partners that own and manage many different + * YouTube channels. It allows content owners to authenticate once and get + * access to all their video and channel data, without having to provide + * authentication credentials for each individual channel. The CMS account that + * the user authenticates with must be linked to the specified YouTube content + * owner. + * @return Google_Service_YouTube_ChannelBannerResource + */ + public function insert(Google_Service_YouTube_ChannelBannerResource $postBody, $optParams = array()) + { + $params = array('postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('insert', array($params), "Google_Service_YouTube_ChannelBannerResource"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/YouTube/Resource/ChannelSections.php b/vendor/google/apiclient-services/src/Google/Service/YouTube/Resource/ChannelSections.php new file mode 100644 index 00000000..2ad138f8 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/YouTube/Resource/ChannelSections.php @@ -0,0 +1,190 @@ + + * $youtubeService = new Google_Service_YouTube(...); + * $channelSections = $youtubeService->channelSections; + * + */ +class Google_Service_YouTube_Resource_ChannelSections extends Google_Service_Resource +{ + /** + * Deletes a channelSection. (channelSections.delete) + * + * @param string $id The id parameter specifies the YouTube channelSection ID + * for the resource that is being deleted. In a channelSection resource, the id + * property specifies the YouTube channelSection ID. + * @param array $optParams Optional parameters. + * + * @opt_param string onBehalfOfContentOwner Note: This parameter is intended + * exclusively for YouTube content partners. + * + * The onBehalfOfContentOwner parameter indicates that the request's + * authorization credentials identify a YouTube CMS user who is acting on behalf + * of the content owner specified in the parameter value. This parameter is + * intended for YouTube content partners that own and manage many different + * YouTube channels. It allows content owners to authenticate once and get + * access to all their video and channel data, without having to provide + * authentication credentials for each individual channel. The CMS account that + * the user authenticates with must be linked to the specified YouTube content + * owner. + */ + public function delete($id, $optParams = array()) + { + $params = array('id' => $id); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params)); + } + /** + * Adds a channelSection for the authenticated user's channel. + * (channelSections.insert) + * + * @param string $part The part parameter serves two purposes in this operation. + * It identifies the properties that the write operation will set as well as the + * properties that the API response will include. + * + * The part names that you can include in the parameter value are snippet and + * contentDetails. + * @param Google_Service_YouTube_ChannelSection $postBody + * @param array $optParams Optional parameters. + * + * @opt_param string onBehalfOfContentOwner Note: This parameter is intended + * exclusively for YouTube content partners. + * + * The onBehalfOfContentOwner parameter indicates that the request's + * authorization credentials identify a YouTube CMS user who is acting on behalf + * of the content owner specified in the parameter value. This parameter is + * intended for YouTube content partners that own and manage many different + * YouTube channels. It allows content owners to authenticate once and get + * access to all their video and channel data, without having to provide + * authentication credentials for each individual channel. The CMS account that + * the user authenticates with must be linked to the specified YouTube content + * owner. + * @opt_param string onBehalfOfContentOwnerChannel This parameter can only be + * used in a properly authorized request. Note: This parameter is intended + * exclusively for YouTube content partners. + * + * The onBehalfOfContentOwnerChannel parameter specifies the YouTube channel ID + * of the channel to which a video is being added. This parameter is required + * when a request specifies a value for the onBehalfOfContentOwner parameter, + * and it can only be used in conjunction with that parameter. In addition, the + * request must be authorized using a CMS account that is linked to the content + * owner that the onBehalfOfContentOwner parameter specifies. Finally, the + * channel that the onBehalfOfContentOwnerChannel parameter value specifies must + * be linked to the content owner that the onBehalfOfContentOwner parameter + * specifies. + * + * This parameter is intended for YouTube content partners that own and manage + * many different YouTube channels. It allows content owners to authenticate + * once and perform actions on behalf of the channel specified in the parameter + * value, without having to provide authentication credentials for each separate + * channel. + * @return Google_Service_YouTube_ChannelSection + */ + public function insert($part, Google_Service_YouTube_ChannelSection $postBody, $optParams = array()) + { + $params = array('part' => $part, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('insert', array($params), "Google_Service_YouTube_ChannelSection"); + } + /** + * Returns channelSection resources that match the API request criteria. + * (channelSections.listChannelSections) + * + * @param string $part The part parameter specifies a comma-separated list of + * one or more channelSection resource properties that the API response will + * include. The part names that you can include in the parameter value are id, + * snippet, and contentDetails. + * + * If the parameter identifies a property that contains child properties, the + * child properties will be included in the response. For example, in a + * channelSection resource, the snippet property contains other properties, such + * as a display title for the channelSection. If you set part=snippet, the API + * response will also contain all of those nested properties. + * @param array $optParams Optional parameters. + * + * @opt_param string channelId The channelId parameter specifies a YouTube + * channel ID. The API will only return that channel's channelSections. + * @opt_param string hl The hl parameter indicates that the snippet.localized + * property values in the returned channelSection resources should be in the + * specified language if localized values for that language are available. For + * example, if the API request specifies hl=de, the snippet.localized properties + * in the API response will contain German titles if German titles are + * available. Channel owners can provide localized channel section titles using + * either the channelSections.insert or channelSections.update method. + * @opt_param string id The id parameter specifies a comma-separated list of the + * YouTube channelSection ID(s) for the resource(s) that are being retrieved. In + * a channelSection resource, the id property specifies the YouTube + * channelSection ID. + * @opt_param bool mine Set this parameter's value to true to retrieve a feed of + * the authenticated user's channelSections. + * @opt_param string onBehalfOfContentOwner Note: This parameter is intended + * exclusively for YouTube content partners. + * + * The onBehalfOfContentOwner parameter indicates that the request's + * authorization credentials identify a YouTube CMS user who is acting on behalf + * of the content owner specified in the parameter value. This parameter is + * intended for YouTube content partners that own and manage many different + * YouTube channels. It allows content owners to authenticate once and get + * access to all their video and channel data, without having to provide + * authentication credentials for each individual channel. The CMS account that + * the user authenticates with must be linked to the specified YouTube content + * owner. + * @return Google_Service_YouTube_ChannelSectionListResponse + */ + public function listChannelSections($part, $optParams = array()) + { + $params = array('part' => $part); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_YouTube_ChannelSectionListResponse"); + } + /** + * Update a channelSection. (channelSections.update) + * + * @param string $part The part parameter serves two purposes in this operation. + * It identifies the properties that the write operation will set as well as the + * properties that the API response will include. + * + * The part names that you can include in the parameter value are snippet and + * contentDetails. + * @param Google_Service_YouTube_ChannelSection $postBody + * @param array $optParams Optional parameters. + * + * @opt_param string onBehalfOfContentOwner Note: This parameter is intended + * exclusively for YouTube content partners. + * + * The onBehalfOfContentOwner parameter indicates that the request's + * authorization credentials identify a YouTube CMS user who is acting on behalf + * of the content owner specified in the parameter value. This parameter is + * intended for YouTube content partners that own and manage many different + * YouTube channels. It allows content owners to authenticate once and get + * access to all their video and channel data, without having to provide + * authentication credentials for each individual channel. The CMS account that + * the user authenticates with must be linked to the specified YouTube content + * owner. + * @return Google_Service_YouTube_ChannelSection + */ + public function update($part, Google_Service_YouTube_ChannelSection $postBody, $optParams = array()) + { + $params = array('part' => $part, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('update', array($params), "Google_Service_YouTube_ChannelSection"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/YouTube/Resource/Channels.php b/vendor/google/apiclient-services/src/Google/Service/YouTube/Resource/Channels.php new file mode 100644 index 00000000..cc79713c --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/YouTube/Resource/Channels.php @@ -0,0 +1,126 @@ + + * $youtubeService = new Google_Service_YouTube(...); + * $channels = $youtubeService->channels; + * + */ +class Google_Service_YouTube_Resource_Channels extends Google_Service_Resource +{ + /** + * Returns a collection of zero or more channel resources that match the request + * criteria. (channels.listChannels) + * + * @param string $part The part parameter specifies a comma-separated list of + * one or more channel resource properties that the API response will include. + * + * If the parameter identifies a property that contains child properties, the + * child properties will be included in the response. For example, in a channel + * resource, the contentDetails property contains other properties, such as the + * uploads properties. As such, if you set part=contentDetails, the API response + * will also contain all of those nested properties. + * @param array $optParams Optional parameters. + * + * @opt_param string categoryId The categoryId parameter specifies a YouTube + * guide category, thereby requesting YouTube channels associated with that + * category. + * @opt_param string forUsername The forUsername parameter specifies a YouTube + * username, thereby requesting the channel associated with that username. + * @opt_param string hl The hl parameter should be used for filter out the + * properties that are not in the given language. Used for the brandingSettings + * part. + * @opt_param string id The id parameter specifies a comma-separated list of the + * YouTube channel ID(s) for the resource(s) that are being retrieved. In a + * channel resource, the id property specifies the channel's YouTube channel ID. + * @opt_param bool managedByMe Note: This parameter is intended exclusively for + * YouTube content partners. + * + * Set this parameter's value to true to instruct the API to only return + * channels managed by the content owner that the onBehalfOfContentOwner + * parameter specifies. The user must be authenticated as a CMS account linked + * to the specified content owner and onBehalfOfContentOwner must be provided. + * @opt_param string maxResults The maxResults parameter specifies the maximum + * number of items that should be returned in the result set. + * @opt_param bool mine Set this parameter's value to true to instruct the API + * to only return channels owned by the authenticated user. + * @opt_param bool mySubscribers Use the subscriptions.list method and its + * mySubscribers parameter to retrieve a list of subscribers to the + * authenticated user's channel. + * @opt_param string onBehalfOfContentOwner Note: This parameter is intended + * exclusively for YouTube content partners. + * + * The onBehalfOfContentOwner parameter indicates that the request's + * authorization credentials identify a YouTube CMS user who is acting on behalf + * of the content owner specified in the parameter value. This parameter is + * intended for YouTube content partners that own and manage many different + * YouTube channels. It allows content owners to authenticate once and get + * access to all their video and channel data, without having to provide + * authentication credentials for each individual channel. The CMS account that + * the user authenticates with must be linked to the specified YouTube content + * owner. + * @opt_param string pageToken The pageToken parameter identifies a specific + * page in the result set that should be returned. In an API response, the + * nextPageToken and prevPageToken properties identify other pages that could be + * retrieved. + * @return Google_Service_YouTube_ChannelListResponse + */ + public function listChannels($part, $optParams = array()) + { + $params = array('part' => $part); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_YouTube_ChannelListResponse"); + } + /** + * Updates a channel's metadata. Note that this method currently only supports + * updates to the channel resource's brandingSettings and invideoPromotion + * objects and their child properties. (channels.update) + * + * @param string $part The part parameter serves two purposes in this operation. + * It identifies the properties that the write operation will set as well as the + * properties that the API response will include. + * + * The API currently only allows the parameter value to be set to either + * brandingSettings or invideoPromotion. (You cannot update both of those parts + * with a single request.) + * + * Note that this method overrides the existing values for all of the mutable + * properties that are contained in any parts that the parameter value + * specifies. + * @param Google_Service_YouTube_Channel $postBody + * @param array $optParams Optional parameters. + * + * @opt_param string onBehalfOfContentOwner The onBehalfOfContentOwner parameter + * indicates that the authenticated user is acting on behalf of the content + * owner specified in the parameter value. This parameter is intended for + * YouTube content partners that own and manage many different YouTube channels. + * It allows content owners to authenticate once and get access to all their + * video and channel data, without having to provide authentication credentials + * for each individual channel. The actual CMS account that the user + * authenticates with needs to be linked to the specified YouTube content owner. + * @return Google_Service_YouTube_Channel + */ + public function update($part, Google_Service_YouTube_Channel $postBody, $optParams = array()) + { + $params = array('part' => $part, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('update', array($params), "Google_Service_YouTube_Channel"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/YouTube/Resource/CommentThreads.php b/vendor/google/apiclient-services/src/Google/Service/YouTube/Resource/CommentThreads.php new file mode 100644 index 00000000..4e09a3ad --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/YouTube/Resource/CommentThreads.php @@ -0,0 +1,121 @@ + + * $youtubeService = new Google_Service_YouTube(...); + * $commentThreads = $youtubeService->commentThreads; + * + */ +class Google_Service_YouTube_Resource_CommentThreads extends Google_Service_Resource +{ + /** + * Creates a new top-level comment. To add a reply to an existing comment, use + * the comments.insert method instead. (commentThreads.insert) + * + * @param string $part The part parameter identifies the properties that the API + * response will include. Set the parameter value to snippet. The snippet part + * has a quota cost of 2 units. + * @param Google_Service_YouTube_CommentThread $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_YouTube_CommentThread + */ + public function insert($part, Google_Service_YouTube_CommentThread $postBody, $optParams = array()) + { + $params = array('part' => $part, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('insert', array($params), "Google_Service_YouTube_CommentThread"); + } + /** + * Returns a list of comment threads that match the API request parameters. + * (commentThreads.listCommentThreads) + * + * @param string $part The part parameter specifies a comma-separated list of + * one or more commentThread resource properties that the API response will + * include. + * @param array $optParams Optional parameters. + * + * @opt_param string allThreadsRelatedToChannelId The + * allThreadsRelatedToChannelId parameter instructs the API to return all + * comment threads associated with the specified channel. The response can + * include comments about the channel or about the channel's videos. + * @opt_param string channelId The channelId parameter instructs the API to + * return comment threads containing comments about the specified channel. (The + * response will not include comments left on videos that the channel uploaded.) + * @opt_param string id The id parameter specifies a comma-separated list of + * comment thread IDs for the resources that should be retrieved. + * @opt_param string maxResults The maxResults parameter specifies the maximum + * number of items that should be returned in the result set. + * + * Note: This parameter is not supported for use in conjunction with the id + * parameter. + * @opt_param string moderationStatus Set this parameter to limit the returned + * comment threads to a particular moderation state. + * + * Note: This parameter is not supported for use in conjunction with the id + * parameter. + * @opt_param string order The order parameter specifies the order in which the + * API response should list comment threads. Valid values are: - time - Comment + * threads are ordered by time. This is the default behavior. - relevance - + * Comment threads are ordered by relevance.Note: This parameter is not + * supported for use in conjunction with the id parameter. + * @opt_param string pageToken The pageToken parameter identifies a specific + * page in the result set that should be returned. In an API response, the + * nextPageToken property identifies the next page of the result that can be + * retrieved. + * + * Note: This parameter is not supported for use in conjunction with the id + * parameter. + * @opt_param string searchTerms The searchTerms parameter instructs the API to + * limit the API response to only contain comments that contain the specified + * search terms. + * + * Note: This parameter is not supported for use in conjunction with the id + * parameter. + * @opt_param string textFormat Set this parameter's value to html or plainText + * to instruct the API to return the comments left by users in html formatted or + * in plain text. + * @opt_param string videoId The videoId parameter instructs the API to return + * comment threads associated with the specified video ID. + * @return Google_Service_YouTube_CommentThreadListResponse + */ + public function listCommentThreads($part, $optParams = array()) + { + $params = array('part' => $part); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_YouTube_CommentThreadListResponse"); + } + /** + * Modifies the top-level comment in a comment thread. (commentThreads.update) + * + * @param string $part The part parameter specifies a comma-separated list of + * commentThread resource properties that the API response will include. You + * must at least include the snippet part in the parameter value since that part + * contains all of the properties that the API request can update. + * @param Google_Service_YouTube_CommentThread $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_YouTube_CommentThread + */ + public function update($part, Google_Service_YouTube_CommentThread $postBody, $optParams = array()) + { + $params = array('part' => $part, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('update', array($params), "Google_Service_YouTube_CommentThread"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/YouTube/Resource/Comments.php b/vendor/google/apiclient-services/src/Google/Service/YouTube/Resource/Comments.php new file mode 100644 index 00000000..44bb7f61 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/YouTube/Resource/Comments.php @@ -0,0 +1,151 @@ + + * $youtubeService = new Google_Service_YouTube(...); + * $comments = $youtubeService->comments; + * + */ +class Google_Service_YouTube_Resource_Comments extends Google_Service_Resource +{ + /** + * Deletes a comment. (comments.delete) + * + * @param string $id The id parameter specifies the comment ID for the resource + * that is being deleted. + * @param array $optParams Optional parameters. + */ + public function delete($id, $optParams = array()) + { + $params = array('id' => $id); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params)); + } + /** + * Creates a reply to an existing comment. Note: To create a top-level comment, + * use the commentThreads.insert method. (comments.insert) + * + * @param string $part The part parameter identifies the properties that the API + * response will include. Set the parameter value to snippet. The snippet part + * has a quota cost of 2 units. + * @param Google_Service_YouTube_Comment $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_YouTube_Comment + */ + public function insert($part, Google_Service_YouTube_Comment $postBody, $optParams = array()) + { + $params = array('part' => $part, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('insert', array($params), "Google_Service_YouTube_Comment"); + } + /** + * Returns a list of comments that match the API request parameters. + * (comments.listComments) + * + * @param string $part The part parameter specifies a comma-separated list of + * one or more comment resource properties that the API response will include. + * @param array $optParams Optional parameters. + * + * @opt_param string id The id parameter specifies a comma-separated list of + * comment IDs for the resources that are being retrieved. In a comment + * resource, the id property specifies the comment's ID. + * @opt_param string maxResults The maxResults parameter specifies the maximum + * number of items that should be returned in the result set. + * + * Note: This parameter is not supported for use in conjunction with the id + * parameter. + * @opt_param string pageToken The pageToken parameter identifies a specific + * page in the result set that should be returned. In an API response, the + * nextPageToken property identifies the next page of the result that can be + * retrieved. + * + * Note: This parameter is not supported for use in conjunction with the id + * parameter. + * @opt_param string parentId The parentId parameter specifies the ID of the + * comment for which replies should be retrieved. + * + * Note: YouTube currently supports replies only for top-level comments. + * However, replies to replies may be supported in the future. + * @opt_param string textFormat This parameter indicates whether the API should + * return comments formatted as HTML or as plain text. + * @return Google_Service_YouTube_CommentListResponse + */ + public function listComments($part, $optParams = array()) + { + $params = array('part' => $part); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_YouTube_CommentListResponse"); + } + /** + * Expresses the caller's opinion that one or more comments should be flagged as + * spam. (comments.markAsSpam) + * + * @param string $id The id parameter specifies a comma-separated list of IDs of + * comments that the caller believes should be classified as spam. + * @param array $optParams Optional parameters. + */ + public function markAsSpam($id, $optParams = array()) + { + $params = array('id' => $id); + $params = array_merge($params, $optParams); + return $this->call('markAsSpam', array($params)); + } + /** + * Sets the moderation status of one or more comments. The API request must be + * authorized by the owner of the channel or video associated with the comments. + * (comments.setModerationStatus) + * + * @param string $id The id parameter specifies a comma-separated list of IDs + * that identify the comments for which you are updating the moderation status. + * @param string $moderationStatus Identifies the new moderation status of the + * specified comments. + * @param array $optParams Optional parameters. + * + * @opt_param bool banAuthor The banAuthor parameter lets you indicate that you + * want to automatically reject any additional comments written by the comment's + * author. Set the parameter value to true to ban the author. + * + * Note: This parameter is only valid if the moderationStatus parameter is also + * set to rejected. + */ + public function setModerationStatus($id, $moderationStatus, $optParams = array()) + { + $params = array('id' => $id, 'moderationStatus' => $moderationStatus); + $params = array_merge($params, $optParams); + return $this->call('setModerationStatus', array($params)); + } + /** + * Modifies a comment. (comments.update) + * + * @param string $part The part parameter identifies the properties that the API + * response will include. You must at least include the snippet part in the + * parameter value since that part contains all of the properties that the API + * request can update. + * @param Google_Service_YouTube_Comment $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_YouTube_Comment + */ + public function update($part, Google_Service_YouTube_Comment $postBody, $optParams = array()) + { + $params = array('part' => $part, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('update', array($params), "Google_Service_YouTube_Comment"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/YouTube/Resource/FanFundingEvents.php b/vendor/google/apiclient-services/src/Google/Service/YouTube/Resource/FanFundingEvents.php new file mode 100644 index 00000000..1a52421b --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/YouTube/Resource/FanFundingEvents.php @@ -0,0 +1,60 @@ + + * $youtubeService = new Google_Service_YouTube(...); + * $fanFundingEvents = $youtubeService->fanFundingEvents; + * + */ +class Google_Service_YouTube_Resource_FanFundingEvents extends Google_Service_Resource +{ + /** + * Lists fan funding events for a channel. + * (fanFundingEvents.listFanFundingEvents) + * + * @param string $part The part parameter specifies the fanFundingEvent resource + * parts that the API response will include. Supported values are id and + * snippet. + * @param array $optParams Optional parameters. + * + * @opt_param string hl The hl parameter instructs the API to retrieve localized + * resource metadata for a specific application language that the YouTube + * website supports. The parameter value must be a language code included in the + * list returned by the i18nLanguages.list method. + * + * If localized resource details are available in that language, the resource's + * snippet.localized object will contain the localized values. However, if + * localized details are not available, the snippet.localized object will + * contain resource details in the resource's default language. + * @opt_param string maxResults The maxResults parameter specifies the maximum + * number of items that should be returned in the result set. + * @opt_param string pageToken The pageToken parameter identifies a specific + * page in the result set that should be returned. In an API response, the + * nextPageToken and prevPageToken properties identify other pages that could be + * retrieved. + * @return Google_Service_YouTube_FanFundingEventListResponse + */ + public function listFanFundingEvents($part, $optParams = array()) + { + $params = array('part' => $part); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_YouTube_FanFundingEventListResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/YouTube/Resource/GuideCategories.php b/vendor/google/apiclient-services/src/Google/Service/YouTube/Resource/GuideCategories.php new file mode 100644 index 00000000..6ca0020c --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/YouTube/Resource/GuideCategories.php @@ -0,0 +1,54 @@ + + * $youtubeService = new Google_Service_YouTube(...); + * $guideCategories = $youtubeService->guideCategories; + * + */ +class Google_Service_YouTube_Resource_GuideCategories extends Google_Service_Resource +{ + /** + * Returns a list of categories that can be associated with YouTube channels. + * (guideCategories.listGuideCategories) + * + * @param string $part The part parameter specifies the guideCategory resource + * properties that the API response will include. Set the parameter value to + * snippet. + * @param array $optParams Optional parameters. + * + * @opt_param string hl The hl parameter specifies the language that will be + * used for text values in the API response. + * @opt_param string id The id parameter specifies a comma-separated list of the + * YouTube channel category ID(s) for the resource(s) that are being retrieved. + * In a guideCategory resource, the id property specifies the YouTube channel + * category ID. + * @opt_param string regionCode The regionCode parameter instructs the API to + * return the list of guide categories available in the specified country. The + * parameter value is an ISO 3166-1 alpha-2 country code. + * @return Google_Service_YouTube_GuideCategoryListResponse + */ + public function listGuideCategories($part, $optParams = array()) + { + $params = array('part' => $part); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_YouTube_GuideCategoryListResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/YouTube/Resource/I18nLanguages.php b/vendor/google/apiclient-services/src/Google/Service/YouTube/Resource/I18nLanguages.php new file mode 100644 index 00000000..d6b11761 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/YouTube/Resource/I18nLanguages.php @@ -0,0 +1,47 @@ + + * $youtubeService = new Google_Service_YouTube(...); + * $i18nLanguages = $youtubeService->i18nLanguages; + * + */ +class Google_Service_YouTube_Resource_I18nLanguages extends Google_Service_Resource +{ + /** + * Returns a list of application languages that the YouTube website supports. + * (i18nLanguages.listI18nLanguages) + * + * @param string $part The part parameter specifies the i18nLanguage resource + * properties that the API response will include. Set the parameter value to + * snippet. + * @param array $optParams Optional parameters. + * + * @opt_param string hl The hl parameter specifies the language that should be + * used for text values in the API response. + * @return Google_Service_YouTube_I18nLanguageListResponse + */ + public function listI18nLanguages($part, $optParams = array()) + { + $params = array('part' => $part); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_YouTube_I18nLanguageListResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/YouTube/Resource/I18nRegions.php b/vendor/google/apiclient-services/src/Google/Service/YouTube/Resource/I18nRegions.php new file mode 100644 index 00000000..107f39fd --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/YouTube/Resource/I18nRegions.php @@ -0,0 +1,47 @@ + + * $youtubeService = new Google_Service_YouTube(...); + * $i18nRegions = $youtubeService->i18nRegions; + * + */ +class Google_Service_YouTube_Resource_I18nRegions extends Google_Service_Resource +{ + /** + * Returns a list of content regions that the YouTube website supports. + * (i18nRegions.listI18nRegions) + * + * @param string $part The part parameter specifies the i18nRegion resource + * properties that the API response will include. Set the parameter value to + * snippet. + * @param array $optParams Optional parameters. + * + * @opt_param string hl The hl parameter specifies the language that should be + * used for text values in the API response. + * @return Google_Service_YouTube_I18nRegionListResponse + */ + public function listI18nRegions($part, $optParams = array()) + { + $params = array('part' => $part); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_YouTube_I18nRegionListResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/YouTube/Resource/LiveBroadcasts.php b/vendor/google/apiclient-services/src/Google/Service/YouTube/Resource/LiveBroadcasts.php new file mode 100644 index 00000000..ae19831b --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/YouTube/Resource/LiveBroadcasts.php @@ -0,0 +1,438 @@ + + * $youtubeService = new Google_Service_YouTube(...); + * $liveBroadcasts = $youtubeService->liveBroadcasts; + * + */ +class Google_Service_YouTube_Resource_LiveBroadcasts extends Google_Service_Resource +{ + /** + * Binds a YouTube broadcast to a stream or removes an existing binding between + * a broadcast and a stream. A broadcast can only be bound to one video stream, + * though a video stream may be bound to more than one broadcast. + * (liveBroadcasts.bind) + * + * @param string $id The id parameter specifies the unique ID of the broadcast + * that is being bound to a video stream. + * @param string $part The part parameter specifies a comma-separated list of + * one or more liveBroadcast resource properties that the API response will + * include. The part names that you can include in the parameter value are id, + * snippet, contentDetails, and status. + * @param array $optParams Optional parameters. + * + * @opt_param string onBehalfOfContentOwner Note: This parameter is intended + * exclusively for YouTube content partners. + * + * The onBehalfOfContentOwner parameter indicates that the request's + * authorization credentials identify a YouTube CMS user who is acting on behalf + * of the content owner specified in the parameter value. This parameter is + * intended for YouTube content partners that own and manage many different + * YouTube channels. It allows content owners to authenticate once and get + * access to all their video and channel data, without having to provide + * authentication credentials for each individual channel. The CMS account that + * the user authenticates with must be linked to the specified YouTube content + * owner. + * @opt_param string onBehalfOfContentOwnerChannel This parameter can only be + * used in a properly authorized request. Note: This parameter is intended + * exclusively for YouTube content partners. + * + * The onBehalfOfContentOwnerChannel parameter specifies the YouTube channel ID + * of the channel to which a video is being added. This parameter is required + * when a request specifies a value for the onBehalfOfContentOwner parameter, + * and it can only be used in conjunction with that parameter. In addition, the + * request must be authorized using a CMS account that is linked to the content + * owner that the onBehalfOfContentOwner parameter specifies. Finally, the + * channel that the onBehalfOfContentOwnerChannel parameter value specifies must + * be linked to the content owner that the onBehalfOfContentOwner parameter + * specifies. + * + * This parameter is intended for YouTube content partners that own and manage + * many different YouTube channels. It allows content owners to authenticate + * once and perform actions on behalf of the channel specified in the parameter + * value, without having to provide authentication credentials for each separate + * channel. + * @opt_param string streamId The streamId parameter specifies the unique ID of + * the video stream that is being bound to a broadcast. If this parameter is + * omitted, the API will remove any existing binding between the broadcast and a + * video stream. + * @return Google_Service_YouTube_LiveBroadcast + */ + public function bind($id, $part, $optParams = array()) + { + $params = array('id' => $id, 'part' => $part); + $params = array_merge($params, $optParams); + return $this->call('bind', array($params), "Google_Service_YouTube_LiveBroadcast"); + } + /** + * Controls the settings for a slate that can be displayed in the broadcast + * stream. (liveBroadcasts.control) + * + * @param string $id The id parameter specifies the YouTube live broadcast ID + * that uniquely identifies the broadcast in which the slate is being updated. + * @param string $part The part parameter specifies a comma-separated list of + * one or more liveBroadcast resource properties that the API response will + * include. The part names that you can include in the parameter value are id, + * snippet, contentDetails, and status. + * @param array $optParams Optional parameters. + * + * @opt_param bool displaySlate The displaySlate parameter specifies whether the + * slate is being enabled or disabled. + * @opt_param string offsetTimeMs The offsetTimeMs parameter specifies a + * positive time offset when the specified slate change will occur. The value is + * measured in milliseconds from the beginning of the broadcast's monitor + * stream, which is the time that the testing phase for the broadcast began. + * Even though it is specified in milliseconds, the value is actually an + * approximation, and YouTube completes the requested action as closely as + * possible to that time. + * + * If you do not specify a value for this parameter, then YouTube performs the + * action as soon as possible. See the Getting started guide for more details. + * + * Important: You should only specify a value for this parameter if your + * broadcast stream is delayed. + * @opt_param string onBehalfOfContentOwner Note: This parameter is intended + * exclusively for YouTube content partners. + * + * The onBehalfOfContentOwner parameter indicates that the request's + * authorization credentials identify a YouTube CMS user who is acting on behalf + * of the content owner specified in the parameter value. This parameter is + * intended for YouTube content partners that own and manage many different + * YouTube channels. It allows content owners to authenticate once and get + * access to all their video and channel data, without having to provide + * authentication credentials for each individual channel. The CMS account that + * the user authenticates with must be linked to the specified YouTube content + * owner. + * @opt_param string onBehalfOfContentOwnerChannel This parameter can only be + * used in a properly authorized request. Note: This parameter is intended + * exclusively for YouTube content partners. + * + * The onBehalfOfContentOwnerChannel parameter specifies the YouTube channel ID + * of the channel to which a video is being added. This parameter is required + * when a request specifies a value for the onBehalfOfContentOwner parameter, + * and it can only be used in conjunction with that parameter. In addition, the + * request must be authorized using a CMS account that is linked to the content + * owner that the onBehalfOfContentOwner parameter specifies. Finally, the + * channel that the onBehalfOfContentOwnerChannel parameter value specifies must + * be linked to the content owner that the onBehalfOfContentOwner parameter + * specifies. + * + * This parameter is intended for YouTube content partners that own and manage + * many different YouTube channels. It allows content owners to authenticate + * once and perform actions on behalf of the channel specified in the parameter + * value, without having to provide authentication credentials for each separate + * channel. + * @opt_param string walltime The walltime parameter specifies the wall clock + * time at which the specified slate change will occur. The value is specified + * in ISO 8601 (YYYY-MM-DDThh:mm:ss.sssZ) format. + * @return Google_Service_YouTube_LiveBroadcast + */ + public function control($id, $part, $optParams = array()) + { + $params = array('id' => $id, 'part' => $part); + $params = array_merge($params, $optParams); + return $this->call('control', array($params), "Google_Service_YouTube_LiveBroadcast"); + } + /** + * Deletes a broadcast. (liveBroadcasts.delete) + * + * @param string $id The id parameter specifies the YouTube live broadcast ID + * for the resource that is being deleted. + * @param array $optParams Optional parameters. + * + * @opt_param string onBehalfOfContentOwner Note: This parameter is intended + * exclusively for YouTube content partners. + * + * The onBehalfOfContentOwner parameter indicates that the request's + * authorization credentials identify a YouTube CMS user who is acting on behalf + * of the content owner specified in the parameter value. This parameter is + * intended for YouTube content partners that own and manage many different + * YouTube channels. It allows content owners to authenticate once and get + * access to all their video and channel data, without having to provide + * authentication credentials for each individual channel. The CMS account that + * the user authenticates with must be linked to the specified YouTube content + * owner. + * @opt_param string onBehalfOfContentOwnerChannel This parameter can only be + * used in a properly authorized request. Note: This parameter is intended + * exclusively for YouTube content partners. + * + * The onBehalfOfContentOwnerChannel parameter specifies the YouTube channel ID + * of the channel to which a video is being added. This parameter is required + * when a request specifies a value for the onBehalfOfContentOwner parameter, + * and it can only be used in conjunction with that parameter. In addition, the + * request must be authorized using a CMS account that is linked to the content + * owner that the onBehalfOfContentOwner parameter specifies. Finally, the + * channel that the onBehalfOfContentOwnerChannel parameter value specifies must + * be linked to the content owner that the onBehalfOfContentOwner parameter + * specifies. + * + * This parameter is intended for YouTube content partners that own and manage + * many different YouTube channels. It allows content owners to authenticate + * once and perform actions on behalf of the channel specified in the parameter + * value, without having to provide authentication credentials for each separate + * channel. + */ + public function delete($id, $optParams = array()) + { + $params = array('id' => $id); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params)); + } + /** + * Creates a broadcast. (liveBroadcasts.insert) + * + * @param string $part The part parameter serves two purposes in this operation. + * It identifies the properties that the write operation will set as well as the + * properties that the API response will include. + * + * The part properties that you can include in the parameter value are id, + * snippet, contentDetails, and status. + * @param Google_Service_YouTube_LiveBroadcast $postBody + * @param array $optParams Optional parameters. + * + * @opt_param string onBehalfOfContentOwner Note: This parameter is intended + * exclusively for YouTube content partners. + * + * The onBehalfOfContentOwner parameter indicates that the request's + * authorization credentials identify a YouTube CMS user who is acting on behalf + * of the content owner specified in the parameter value. This parameter is + * intended for YouTube content partners that own and manage many different + * YouTube channels. It allows content owners to authenticate once and get + * access to all their video and channel data, without having to provide + * authentication credentials for each individual channel. The CMS account that + * the user authenticates with must be linked to the specified YouTube content + * owner. + * @opt_param string onBehalfOfContentOwnerChannel This parameter can only be + * used in a properly authorized request. Note: This parameter is intended + * exclusively for YouTube content partners. + * + * The onBehalfOfContentOwnerChannel parameter specifies the YouTube channel ID + * of the channel to which a video is being added. This parameter is required + * when a request specifies a value for the onBehalfOfContentOwner parameter, + * and it can only be used in conjunction with that parameter. In addition, the + * request must be authorized using a CMS account that is linked to the content + * owner that the onBehalfOfContentOwner parameter specifies. Finally, the + * channel that the onBehalfOfContentOwnerChannel parameter value specifies must + * be linked to the content owner that the onBehalfOfContentOwner parameter + * specifies. + * + * This parameter is intended for YouTube content partners that own and manage + * many different YouTube channels. It allows content owners to authenticate + * once and perform actions on behalf of the channel specified in the parameter + * value, without having to provide authentication credentials for each separate + * channel. + * @return Google_Service_YouTube_LiveBroadcast + */ + public function insert($part, Google_Service_YouTube_LiveBroadcast $postBody, $optParams = array()) + { + $params = array('part' => $part, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('insert', array($params), "Google_Service_YouTube_LiveBroadcast"); + } + /** + * Returns a list of YouTube broadcasts that match the API request parameters. + * (liveBroadcasts.listLiveBroadcasts) + * + * @param string $part The part parameter specifies a comma-separated list of + * one or more liveBroadcast resource properties that the API response will + * include. The part names that you can include in the parameter value are id, + * snippet, contentDetails, and status. + * @param array $optParams Optional parameters. + * + * @opt_param string broadcastStatus The broadcastStatus parameter filters the + * API response to only include broadcasts with the specified status. + * @opt_param string broadcastType The broadcastType parameter filters the API + * response to only include broadcasts with the specified type. This is only + * compatible with the mine filter for now. + * @opt_param string id The id parameter specifies a comma-separated list of + * YouTube broadcast IDs that identify the broadcasts being retrieved. In a + * liveBroadcast resource, the id property specifies the broadcast's ID. + * @opt_param string maxResults The maxResults parameter specifies the maximum + * number of items that should be returned in the result set. + * @opt_param bool mine The mine parameter can be used to instruct the API to + * only return broadcasts owned by the authenticated user. Set the parameter + * value to true to only retrieve your own broadcasts. + * @opt_param string onBehalfOfContentOwner Note: This parameter is intended + * exclusively for YouTube content partners. + * + * The onBehalfOfContentOwner parameter indicates that the request's + * authorization credentials identify a YouTube CMS user who is acting on behalf + * of the content owner specified in the parameter value. This parameter is + * intended for YouTube content partners that own and manage many different + * YouTube channels. It allows content owners to authenticate once and get + * access to all their video and channel data, without having to provide + * authentication credentials for each individual channel. The CMS account that + * the user authenticates with must be linked to the specified YouTube content + * owner. + * @opt_param string onBehalfOfContentOwnerChannel This parameter can only be + * used in a properly authorized request. Note: This parameter is intended + * exclusively for YouTube content partners. + * + * The onBehalfOfContentOwnerChannel parameter specifies the YouTube channel ID + * of the channel to which a video is being added. This parameter is required + * when a request specifies a value for the onBehalfOfContentOwner parameter, + * and it can only be used in conjunction with that parameter. In addition, the + * request must be authorized using a CMS account that is linked to the content + * owner that the onBehalfOfContentOwner parameter specifies. Finally, the + * channel that the onBehalfOfContentOwnerChannel parameter value specifies must + * be linked to the content owner that the onBehalfOfContentOwner parameter + * specifies. + * + * This parameter is intended for YouTube content partners that own and manage + * many different YouTube channels. It allows content owners to authenticate + * once and perform actions on behalf of the channel specified in the parameter + * value, without having to provide authentication credentials for each separate + * channel. + * @opt_param string pageToken The pageToken parameter identifies a specific + * page in the result set that should be returned. In an API response, the + * nextPageToken and prevPageToken properties identify other pages that could be + * retrieved. + * @return Google_Service_YouTube_LiveBroadcastListResponse + */ + public function listLiveBroadcasts($part, $optParams = array()) + { + $params = array('part' => $part); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_YouTube_LiveBroadcastListResponse"); + } + /** + * Changes the status of a YouTube live broadcast and initiates any processes + * associated with the new status. For example, when you transition a + * broadcast's status to testing, YouTube starts to transmit video to that + * broadcast's monitor stream. Before calling this method, you should confirm + * that the value of the status.streamStatus property for the stream bound to + * your broadcast is active. (liveBroadcasts.transition) + * + * @param string $broadcastStatus The broadcastStatus parameter identifies the + * state to which the broadcast is changing. Note that to transition a broadcast + * to either the testing or live state, the status.streamStatus must be active + * for the stream that the broadcast is bound to. + * @param string $id The id parameter specifies the unique ID of the broadcast + * that is transitioning to another status. + * @param string $part The part parameter specifies a comma-separated list of + * one or more liveBroadcast resource properties that the API response will + * include. The part names that you can include in the parameter value are id, + * snippet, contentDetails, and status. + * @param array $optParams Optional parameters. + * + * @opt_param string onBehalfOfContentOwner Note: This parameter is intended + * exclusively for YouTube content partners. + * + * The onBehalfOfContentOwner parameter indicates that the request's + * authorization credentials identify a YouTube CMS user who is acting on behalf + * of the content owner specified in the parameter value. This parameter is + * intended for YouTube content partners that own and manage many different + * YouTube channels. It allows content owners to authenticate once and get + * access to all their video and channel data, without having to provide + * authentication credentials for each individual channel. The CMS account that + * the user authenticates with must be linked to the specified YouTube content + * owner. + * @opt_param string onBehalfOfContentOwnerChannel This parameter can only be + * used in a properly authorized request. Note: This parameter is intended + * exclusively for YouTube content partners. + * + * The onBehalfOfContentOwnerChannel parameter specifies the YouTube channel ID + * of the channel to which a video is being added. This parameter is required + * when a request specifies a value for the onBehalfOfContentOwner parameter, + * and it can only be used in conjunction with that parameter. In addition, the + * request must be authorized using a CMS account that is linked to the content + * owner that the onBehalfOfContentOwner parameter specifies. Finally, the + * channel that the onBehalfOfContentOwnerChannel parameter value specifies must + * be linked to the content owner that the onBehalfOfContentOwner parameter + * specifies. + * + * This parameter is intended for YouTube content partners that own and manage + * many different YouTube channels. It allows content owners to authenticate + * once and perform actions on behalf of the channel specified in the parameter + * value, without having to provide authentication credentials for each separate + * channel. + * @return Google_Service_YouTube_LiveBroadcast + */ + public function transition($broadcastStatus, $id, $part, $optParams = array()) + { + $params = array('broadcastStatus' => $broadcastStatus, 'id' => $id, 'part' => $part); + $params = array_merge($params, $optParams); + return $this->call('transition', array($params), "Google_Service_YouTube_LiveBroadcast"); + } + /** + * Updates a broadcast. For example, you could modify the broadcast settings + * defined in the liveBroadcast resource's contentDetails object. + * (liveBroadcasts.update) + * + * @param string $part The part parameter serves two purposes in this operation. + * It identifies the properties that the write operation will set as well as the + * properties that the API response will include. + * + * The part properties that you can include in the parameter value are id, + * snippet, contentDetails, and status. + * + * Note that this method will override the existing values for all of the + * mutable properties that are contained in any parts that the parameter value + * specifies. For example, a broadcast's privacy status is defined in the status + * part. As such, if your request is updating a private or unlisted broadcast, + * and the request's part parameter value includes the status part, the + * broadcast's privacy setting will be updated to whatever value the request + * body specifies. If the request body does not specify a value, the existing + * privacy setting will be removed and the broadcast will revert to the default + * privacy setting. + * @param Google_Service_YouTube_LiveBroadcast $postBody + * @param array $optParams Optional parameters. + * + * @opt_param string onBehalfOfContentOwner Note: This parameter is intended + * exclusively for YouTube content partners. + * + * The onBehalfOfContentOwner parameter indicates that the request's + * authorization credentials identify a YouTube CMS user who is acting on behalf + * of the content owner specified in the parameter value. This parameter is + * intended for YouTube content partners that own and manage many different + * YouTube channels. It allows content owners to authenticate once and get + * access to all their video and channel data, without having to provide + * authentication credentials for each individual channel. The CMS account that + * the user authenticates with must be linked to the specified YouTube content + * owner. + * @opt_param string onBehalfOfContentOwnerChannel This parameter can only be + * used in a properly authorized request. Note: This parameter is intended + * exclusively for YouTube content partners. + * + * The onBehalfOfContentOwnerChannel parameter specifies the YouTube channel ID + * of the channel to which a video is being added. This parameter is required + * when a request specifies a value for the onBehalfOfContentOwner parameter, + * and it can only be used in conjunction with that parameter. In addition, the + * request must be authorized using a CMS account that is linked to the content + * owner that the onBehalfOfContentOwner parameter specifies. Finally, the + * channel that the onBehalfOfContentOwnerChannel parameter value specifies must + * be linked to the content owner that the onBehalfOfContentOwner parameter + * specifies. + * + * This parameter is intended for YouTube content partners that own and manage + * many different YouTube channels. It allows content owners to authenticate + * once and perform actions on behalf of the channel specified in the parameter + * value, without having to provide authentication credentials for each separate + * channel. + * @return Google_Service_YouTube_LiveBroadcast + */ + public function update($part, Google_Service_YouTube_LiveBroadcast $postBody, $optParams = array()) + { + $params = array('part' => $part, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('update', array($params), "Google_Service_YouTube_LiveBroadcast"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/YouTube/Resource/LiveChatBans.php b/vendor/google/apiclient-services/src/Google/Service/YouTube/Resource/LiveChatBans.php new file mode 100644 index 00000000..629393a0 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/YouTube/Resource/LiveChatBans.php @@ -0,0 +1,57 @@ + + * $youtubeService = new Google_Service_YouTube(...); + * $liveChatBans = $youtubeService->liveChatBans; + * + */ +class Google_Service_YouTube_Resource_LiveChatBans extends Google_Service_Resource +{ + /** + * Removes a chat ban. (liveChatBans.delete) + * + * @param string $id The id parameter identifies the chat ban to remove. The + * value uniquely identifies both the ban and the chat. + * @param array $optParams Optional parameters. + */ + public function delete($id, $optParams = array()) + { + $params = array('id' => $id); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params)); + } + /** + * Adds a new ban to the chat. (liveChatBans.insert) + * + * @param string $part The part parameter serves two purposes in this operation. + * It identifies the properties that the write operation will set as well as the + * properties that the API response returns. Set the parameter value to snippet. + * @param Google_Service_YouTube_LiveChatBan $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_YouTube_LiveChatBan + */ + public function insert($part, Google_Service_YouTube_LiveChatBan $postBody, $optParams = array()) + { + $params = array('part' => $part, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('insert', array($params), "Google_Service_YouTube_LiveChatBan"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/YouTube/Resource/LiveChatMessages.php b/vendor/google/apiclient-services/src/Google/Service/YouTube/Resource/LiveChatMessages.php new file mode 100644 index 00000000..46033d51 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/YouTube/Resource/LiveChatMessages.php @@ -0,0 +1,93 @@ + + * $youtubeService = new Google_Service_YouTube(...); + * $liveChatMessages = $youtubeService->liveChatMessages; + * + */ +class Google_Service_YouTube_Resource_LiveChatMessages extends Google_Service_Resource +{ + /** + * Deletes a chat message. (liveChatMessages.delete) + * + * @param string $id The id parameter specifies the YouTube chat message ID of + * the resource that is being deleted. + * @param array $optParams Optional parameters. + */ + public function delete($id, $optParams = array()) + { + $params = array('id' => $id); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params)); + } + /** + * Adds a message to a live chat. (liveChatMessages.insert) + * + * @param string $part The part parameter serves two purposes. It identifies the + * properties that the write operation will set as well as the properties that + * the API response will include. Set the parameter value to snippet. + * @param Google_Service_YouTube_LiveChatMessage $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_YouTube_LiveChatMessage + */ + public function insert($part, Google_Service_YouTube_LiveChatMessage $postBody, $optParams = array()) + { + $params = array('part' => $part, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('insert', array($params), "Google_Service_YouTube_LiveChatMessage"); + } + /** + * Lists live chat messages for a specific chat. + * (liveChatMessages.listLiveChatMessages) + * + * @param string $liveChatId The liveChatId parameter specifies the ID of the + * chat whose messages will be returned. + * @param string $part The part parameter specifies the liveChatComment resource + * parts that the API response will include. Supported values are id and + * snippet. + * @param array $optParams Optional parameters. + * + * @opt_param string hl The hl parameter instructs the API to retrieve localized + * resource metadata for a specific application language that the YouTube + * website supports. The parameter value must be a language code included in the + * list returned by the i18nLanguages.list method. + * + * If localized resource details are available in that language, the resource's + * snippet.localized object will contain the localized values. However, if + * localized details are not available, the snippet.localized object will + * contain resource details in the resource's default language. + * @opt_param string maxResults The maxResults parameter specifies the maximum + * number of messages that should be returned in the result set. + * @opt_param string pageToken The pageToken parameter identifies a specific + * page in the result set that should be returned. In an API response, the + * nextPageToken property identify other pages that could be retrieved. + * @opt_param string profileImageSize The profileImageSize parameter specifies + * the size of the user profile pictures that should be returned in the result + * set. Default: 88. + * @return Google_Service_YouTube_LiveChatMessageListResponse + */ + public function listLiveChatMessages($liveChatId, $part, $optParams = array()) + { + $params = array('liveChatId' => $liveChatId, 'part' => $part); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_YouTube_LiveChatMessageListResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/YouTube/Resource/LiveChatModerators.php b/vendor/google/apiclient-services/src/Google/Service/YouTube/Resource/LiveChatModerators.php new file mode 100644 index 00000000..e9bd09f3 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/YouTube/Resource/LiveChatModerators.php @@ -0,0 +1,81 @@ + + * $youtubeService = new Google_Service_YouTube(...); + * $liveChatModerators = $youtubeService->liveChatModerators; + * + */ +class Google_Service_YouTube_Resource_LiveChatModerators extends Google_Service_Resource +{ + /** + * Removes a chat moderator. (liveChatModerators.delete) + * + * @param string $id The id parameter identifies the chat moderator to remove. + * The value uniquely identifies both the moderator and the chat. + * @param array $optParams Optional parameters. + */ + public function delete($id, $optParams = array()) + { + $params = array('id' => $id); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params)); + } + /** + * Adds a new moderator for the chat. (liveChatModerators.insert) + * + * @param string $part The part parameter serves two purposes in this operation. + * It identifies the properties that the write operation will set as well as the + * properties that the API response returns. Set the parameter value to snippet. + * @param Google_Service_YouTube_LiveChatModerator $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_YouTube_LiveChatModerator + */ + public function insert($part, Google_Service_YouTube_LiveChatModerator $postBody, $optParams = array()) + { + $params = array('part' => $part, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('insert', array($params), "Google_Service_YouTube_LiveChatModerator"); + } + /** + * Lists moderators for a live chat. (liveChatModerators.listLiveChatModerators) + * + * @param string $liveChatId The liveChatId parameter specifies the YouTube live + * chat for which the API should return moderators. + * @param string $part The part parameter specifies the liveChatModerator + * resource parts that the API response will include. Supported values are id + * and snippet. + * @param array $optParams Optional parameters. + * + * @opt_param string maxResults The maxResults parameter specifies the maximum + * number of items that should be returned in the result set. + * @opt_param string pageToken The pageToken parameter identifies a specific + * page in the result set that should be returned. In an API response, the + * nextPageToken and prevPageToken properties identify other pages that could be + * retrieved. + * @return Google_Service_YouTube_LiveChatModeratorListResponse + */ + public function listLiveChatModerators($liveChatId, $part, $optParams = array()) + { + $params = array('liveChatId' => $liveChatId, 'part' => $part); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_YouTube_LiveChatModeratorListResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/YouTube/Resource/LiveStreams.php b/vendor/google/apiclient-services/src/Google/Service/YouTube/Resource/LiveStreams.php new file mode 100644 index 00000000..002da409 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/YouTube/Resource/LiveStreams.php @@ -0,0 +1,244 @@ + + * $youtubeService = new Google_Service_YouTube(...); + * $liveStreams = $youtubeService->liveStreams; + * + */ +class Google_Service_YouTube_Resource_LiveStreams extends Google_Service_Resource +{ + /** + * Deletes a video stream. (liveStreams.delete) + * + * @param string $id The id parameter specifies the YouTube live stream ID for + * the resource that is being deleted. + * @param array $optParams Optional parameters. + * + * @opt_param string onBehalfOfContentOwner Note: This parameter is intended + * exclusively for YouTube content partners. + * + * The onBehalfOfContentOwner parameter indicates that the request's + * authorization credentials identify a YouTube CMS user who is acting on behalf + * of the content owner specified in the parameter value. This parameter is + * intended for YouTube content partners that own and manage many different + * YouTube channels. It allows content owners to authenticate once and get + * access to all their video and channel data, without having to provide + * authentication credentials for each individual channel. The CMS account that + * the user authenticates with must be linked to the specified YouTube content + * owner. + * @opt_param string onBehalfOfContentOwnerChannel This parameter can only be + * used in a properly authorized request. Note: This parameter is intended + * exclusively for YouTube content partners. + * + * The onBehalfOfContentOwnerChannel parameter specifies the YouTube channel ID + * of the channel to which a video is being added. This parameter is required + * when a request specifies a value for the onBehalfOfContentOwner parameter, + * and it can only be used in conjunction with that parameter. In addition, the + * request must be authorized using a CMS account that is linked to the content + * owner that the onBehalfOfContentOwner parameter specifies. Finally, the + * channel that the onBehalfOfContentOwnerChannel parameter value specifies must + * be linked to the content owner that the onBehalfOfContentOwner parameter + * specifies. + * + * This parameter is intended for YouTube content partners that own and manage + * many different YouTube channels. It allows content owners to authenticate + * once and perform actions on behalf of the channel specified in the parameter + * value, without having to provide authentication credentials for each separate + * channel. + */ + public function delete($id, $optParams = array()) + { + $params = array('id' => $id); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params)); + } + /** + * Creates a video stream. The stream enables you to send your video to YouTube, + * which can then broadcast the video to your audience. (liveStreams.insert) + * + * @param string $part The part parameter serves two purposes in this operation. + * It identifies the properties that the write operation will set as well as the + * properties that the API response will include. + * + * The part properties that you can include in the parameter value are id, + * snippet, cdn, and status. + * @param Google_Service_YouTube_LiveStream $postBody + * @param array $optParams Optional parameters. + * + * @opt_param string onBehalfOfContentOwner Note: This parameter is intended + * exclusively for YouTube content partners. + * + * The onBehalfOfContentOwner parameter indicates that the request's + * authorization credentials identify a YouTube CMS user who is acting on behalf + * of the content owner specified in the parameter value. This parameter is + * intended for YouTube content partners that own and manage many different + * YouTube channels. It allows content owners to authenticate once and get + * access to all their video and channel data, without having to provide + * authentication credentials for each individual channel. The CMS account that + * the user authenticates with must be linked to the specified YouTube content + * owner. + * @opt_param string onBehalfOfContentOwnerChannel This parameter can only be + * used in a properly authorized request. Note: This parameter is intended + * exclusively for YouTube content partners. + * + * The onBehalfOfContentOwnerChannel parameter specifies the YouTube channel ID + * of the channel to which a video is being added. This parameter is required + * when a request specifies a value for the onBehalfOfContentOwner parameter, + * and it can only be used in conjunction with that parameter. In addition, the + * request must be authorized using a CMS account that is linked to the content + * owner that the onBehalfOfContentOwner parameter specifies. Finally, the + * channel that the onBehalfOfContentOwnerChannel parameter value specifies must + * be linked to the content owner that the onBehalfOfContentOwner parameter + * specifies. + * + * This parameter is intended for YouTube content partners that own and manage + * many different YouTube channels. It allows content owners to authenticate + * once and perform actions on behalf of the channel specified in the parameter + * value, without having to provide authentication credentials for each separate + * channel. + * @return Google_Service_YouTube_LiveStream + */ + public function insert($part, Google_Service_YouTube_LiveStream $postBody, $optParams = array()) + { + $params = array('part' => $part, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('insert', array($params), "Google_Service_YouTube_LiveStream"); + } + /** + * Returns a list of video streams that match the API request parameters. + * (liveStreams.listLiveStreams) + * + * @param string $part The part parameter specifies a comma-separated list of + * one or more liveStream resource properties that the API response will + * include. The part names that you can include in the parameter value are id, + * snippet, cdn, and status. + * @param array $optParams Optional parameters. + * + * @opt_param string id The id parameter specifies a comma-separated list of + * YouTube stream IDs that identify the streams being retrieved. In a liveStream + * resource, the id property specifies the stream's ID. + * @opt_param string maxResults The maxResults parameter specifies the maximum + * number of items that should be returned in the result set. + * @opt_param bool mine The mine parameter can be used to instruct the API to + * only return streams owned by the authenticated user. Set the parameter value + * to true to only retrieve your own streams. + * @opt_param string onBehalfOfContentOwner Note: This parameter is intended + * exclusively for YouTube content partners. + * + * The onBehalfOfContentOwner parameter indicates that the request's + * authorization credentials identify a YouTube CMS user who is acting on behalf + * of the content owner specified in the parameter value. This parameter is + * intended for YouTube content partners that own and manage many different + * YouTube channels. It allows content owners to authenticate once and get + * access to all their video and channel data, without having to provide + * authentication credentials for each individual channel. The CMS account that + * the user authenticates with must be linked to the specified YouTube content + * owner. + * @opt_param string onBehalfOfContentOwnerChannel This parameter can only be + * used in a properly authorized request. Note: This parameter is intended + * exclusively for YouTube content partners. + * + * The onBehalfOfContentOwnerChannel parameter specifies the YouTube channel ID + * of the channel to which a video is being added. This parameter is required + * when a request specifies a value for the onBehalfOfContentOwner parameter, + * and it can only be used in conjunction with that parameter. In addition, the + * request must be authorized using a CMS account that is linked to the content + * owner that the onBehalfOfContentOwner parameter specifies. Finally, the + * channel that the onBehalfOfContentOwnerChannel parameter value specifies must + * be linked to the content owner that the onBehalfOfContentOwner parameter + * specifies. + * + * This parameter is intended for YouTube content partners that own and manage + * many different YouTube channels. It allows content owners to authenticate + * once and perform actions on behalf of the channel specified in the parameter + * value, without having to provide authentication credentials for each separate + * channel. + * @opt_param string pageToken The pageToken parameter identifies a specific + * page in the result set that should be returned. In an API response, the + * nextPageToken and prevPageToken properties identify other pages that could be + * retrieved. + * @return Google_Service_YouTube_LiveStreamListResponse + */ + public function listLiveStreams($part, $optParams = array()) + { + $params = array('part' => $part); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_YouTube_LiveStreamListResponse"); + } + /** + * Updates a video stream. If the properties that you want to change cannot be + * updated, then you need to create a new stream with the proper settings. + * (liveStreams.update) + * + * @param string $part The part parameter serves two purposes in this operation. + * It identifies the properties that the write operation will set as well as the + * properties that the API response will include. + * + * The part properties that you can include in the parameter value are id, + * snippet, cdn, and status. + * + * Note that this method will override the existing values for all of the + * mutable properties that are contained in any parts that the parameter value + * specifies. If the request body does not specify a value for a mutable + * property, the existing value for that property will be removed. + * @param Google_Service_YouTube_LiveStream $postBody + * @param array $optParams Optional parameters. + * + * @opt_param string onBehalfOfContentOwner Note: This parameter is intended + * exclusively for YouTube content partners. + * + * The onBehalfOfContentOwner parameter indicates that the request's + * authorization credentials identify a YouTube CMS user who is acting on behalf + * of the content owner specified in the parameter value. This parameter is + * intended for YouTube content partners that own and manage many different + * YouTube channels. It allows content owners to authenticate once and get + * access to all their video and channel data, without having to provide + * authentication credentials for each individual channel. The CMS account that + * the user authenticates with must be linked to the specified YouTube content + * owner. + * @opt_param string onBehalfOfContentOwnerChannel This parameter can only be + * used in a properly authorized request. Note: This parameter is intended + * exclusively for YouTube content partners. + * + * The onBehalfOfContentOwnerChannel parameter specifies the YouTube channel ID + * of the channel to which a video is being added. This parameter is required + * when a request specifies a value for the onBehalfOfContentOwner parameter, + * and it can only be used in conjunction with that parameter. In addition, the + * request must be authorized using a CMS account that is linked to the content + * owner that the onBehalfOfContentOwner parameter specifies. Finally, the + * channel that the onBehalfOfContentOwnerChannel parameter value specifies must + * be linked to the content owner that the onBehalfOfContentOwner parameter + * specifies. + * + * This parameter is intended for YouTube content partners that own and manage + * many different YouTube channels. It allows content owners to authenticate + * once and perform actions on behalf of the channel specified in the parameter + * value, without having to provide authentication credentials for each separate + * channel. + * @return Google_Service_YouTube_LiveStream + */ + public function update($part, Google_Service_YouTube_LiveStream $postBody, $optParams = array()) + { + $params = array('part' => $part, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('update', array($params), "Google_Service_YouTube_LiveStream"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/YouTube/Resource/PlaylistItems.php b/vendor/google/apiclient-services/src/Google/Service/YouTube/Resource/PlaylistItems.php new file mode 100644 index 00000000..1b2cc29d --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/YouTube/Resource/PlaylistItems.php @@ -0,0 +1,178 @@ + + * $youtubeService = new Google_Service_YouTube(...); + * $playlistItems = $youtubeService->playlistItems; + * + */ +class Google_Service_YouTube_Resource_PlaylistItems extends Google_Service_Resource +{ + /** + * Deletes a playlist item. (playlistItems.delete) + * + * @param string $id The id parameter specifies the YouTube playlist item ID for + * the playlist item that is being deleted. In a playlistItem resource, the id + * property specifies the playlist item's ID. + * @param array $optParams Optional parameters. + * + * @opt_param string onBehalfOfContentOwner Note: This parameter is intended + * exclusively for YouTube content partners. + * + * The onBehalfOfContentOwner parameter indicates that the request's + * authorization credentials identify a YouTube CMS user who is acting on behalf + * of the content owner specified in the parameter value. This parameter is + * intended for YouTube content partners that own and manage many different + * YouTube channels. It allows content owners to authenticate once and get + * access to all their video and channel data, without having to provide + * authentication credentials for each individual channel. The CMS account that + * the user authenticates with must be linked to the specified YouTube content + * owner. + */ + public function delete($id, $optParams = array()) + { + $params = array('id' => $id); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params)); + } + /** + * Adds a resource to a playlist. (playlistItems.insert) + * + * @param string $part The part parameter serves two purposes in this operation. + * It identifies the properties that the write operation will set as well as the + * properties that the API response will include. + * @param Google_Service_YouTube_PlaylistItem $postBody + * @param array $optParams Optional parameters. + * + * @opt_param string onBehalfOfContentOwner Note: This parameter is intended + * exclusively for YouTube content partners. + * + * The onBehalfOfContentOwner parameter indicates that the request's + * authorization credentials identify a YouTube CMS user who is acting on behalf + * of the content owner specified in the parameter value. This parameter is + * intended for YouTube content partners that own and manage many different + * YouTube channels. It allows content owners to authenticate once and get + * access to all their video and channel data, without having to provide + * authentication credentials for each individual channel. The CMS account that + * the user authenticates with must be linked to the specified YouTube content + * owner. + * @return Google_Service_YouTube_PlaylistItem + */ + public function insert($part, Google_Service_YouTube_PlaylistItem $postBody, $optParams = array()) + { + $params = array('part' => $part, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('insert', array($params), "Google_Service_YouTube_PlaylistItem"); + } + /** + * Returns a collection of playlist items that match the API request parameters. + * You can retrieve all of the playlist items in a specified playlist or + * retrieve one or more playlist items by their unique IDs. + * (playlistItems.listPlaylistItems) + * + * @param string $part The part parameter specifies a comma-separated list of + * one or more playlistItem resource properties that the API response will + * include. + * + * If the parameter identifies a property that contains child properties, the + * child properties will be included in the response. For example, in a + * playlistItem resource, the snippet property contains numerous fields, + * including the title, description, position, and resourceId properties. As + * such, if you set part=snippet, the API response will contain all of those + * properties. + * @param array $optParams Optional parameters. + * + * @opt_param string id The id parameter specifies a comma-separated list of one + * or more unique playlist item IDs. + * @opt_param string maxResults The maxResults parameter specifies the maximum + * number of items that should be returned in the result set. + * @opt_param string onBehalfOfContentOwner Note: This parameter is intended + * exclusively for YouTube content partners. + * + * The onBehalfOfContentOwner parameter indicates that the request's + * authorization credentials identify a YouTube CMS user who is acting on behalf + * of the content owner specified in the parameter value. This parameter is + * intended for YouTube content partners that own and manage many different + * YouTube channels. It allows content owners to authenticate once and get + * access to all their video and channel data, without having to provide + * authentication credentials for each individual channel. The CMS account that + * the user authenticates with must be linked to the specified YouTube content + * owner. + * @opt_param string pageToken The pageToken parameter identifies a specific + * page in the result set that should be returned. In an API response, the + * nextPageToken and prevPageToken properties identify other pages that could be + * retrieved. + * @opt_param string playlistId The playlistId parameter specifies the unique ID + * of the playlist for which you want to retrieve playlist items. Note that even + * though this is an optional parameter, every request to retrieve playlist + * items must specify a value for either the id parameter or the playlistId + * parameter. + * @opt_param string videoId The videoId parameter specifies that the request + * should return only the playlist items that contain the specified video. + * @return Google_Service_YouTube_PlaylistItemListResponse + */ + public function listPlaylistItems($part, $optParams = array()) + { + $params = array('part' => $part); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_YouTube_PlaylistItemListResponse"); + } + /** + * Modifies a playlist item. For example, you could update the item's position + * in the playlist. (playlistItems.update) + * + * @param string $part The part parameter serves two purposes in this operation. + * It identifies the properties that the write operation will set as well as the + * properties that the API response will include. + * + * Note that this method will override the existing values for all of the + * mutable properties that are contained in any parts that the parameter value + * specifies. For example, a playlist item can specify a start time and end + * time, which identify the times portion of the video that should play when + * users watch the video in the playlist. If your request is updating a playlist + * item that sets these values, and the request's part parameter value includes + * the contentDetails part, the playlist item's start and end times will be + * updated to whatever value the request body specifies. If the request body + * does not specify values, the existing start and end times will be removed and + * replaced with the default settings. + * @param Google_Service_YouTube_PlaylistItem $postBody + * @param array $optParams Optional parameters. + * + * @opt_param string onBehalfOfContentOwner Note: This parameter is intended + * exclusively for YouTube content partners. + * + * The onBehalfOfContentOwner parameter indicates that the request's + * authorization credentials identify a YouTube CMS user who is acting on behalf + * of the content owner specified in the parameter value. This parameter is + * intended for YouTube content partners that own and manage many different + * YouTube channels. It allows content owners to authenticate once and get + * access to all their video and channel data, without having to provide + * authentication credentials for each individual channel. The CMS account that + * the user authenticates with must be linked to the specified YouTube content + * owner. + * @return Google_Service_YouTube_PlaylistItem + */ + public function update($part, Google_Service_YouTube_PlaylistItem $postBody, $optParams = array()) + { + $params = array('part' => $part, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('update', array($params), "Google_Service_YouTube_PlaylistItem"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/YouTube/Resource/Playlists.php b/vendor/google/apiclient-services/src/Google/Service/YouTube/Resource/Playlists.php new file mode 100644 index 00000000..cba9b15a --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/YouTube/Resource/Playlists.php @@ -0,0 +1,211 @@ + + * $youtubeService = new Google_Service_YouTube(...); + * $playlists = $youtubeService->playlists; + * + */ +class Google_Service_YouTube_Resource_Playlists extends Google_Service_Resource +{ + /** + * Deletes a playlist. (playlists.delete) + * + * @param string $id The id parameter specifies the YouTube playlist ID for the + * playlist that is being deleted. In a playlist resource, the id property + * specifies the playlist's ID. + * @param array $optParams Optional parameters. + * + * @opt_param string onBehalfOfContentOwner Note: This parameter is intended + * exclusively for YouTube content partners. + * + * The onBehalfOfContentOwner parameter indicates that the request's + * authorization credentials identify a YouTube CMS user who is acting on behalf + * of the content owner specified in the parameter value. This parameter is + * intended for YouTube content partners that own and manage many different + * YouTube channels. It allows content owners to authenticate once and get + * access to all their video and channel data, without having to provide + * authentication credentials for each individual channel. The CMS account that + * the user authenticates with must be linked to the specified YouTube content + * owner. + */ + public function delete($id, $optParams = array()) + { + $params = array('id' => $id); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params)); + } + /** + * Creates a playlist. (playlists.insert) + * + * @param string $part The part parameter serves two purposes in this operation. + * It identifies the properties that the write operation will set as well as the + * properties that the API response will include. + * @param Google_Service_YouTube_Playlist $postBody + * @param array $optParams Optional parameters. + * + * @opt_param string onBehalfOfContentOwner Note: This parameter is intended + * exclusively for YouTube content partners. + * + * The onBehalfOfContentOwner parameter indicates that the request's + * authorization credentials identify a YouTube CMS user who is acting on behalf + * of the content owner specified in the parameter value. This parameter is + * intended for YouTube content partners that own and manage many different + * YouTube channels. It allows content owners to authenticate once and get + * access to all their video and channel data, without having to provide + * authentication credentials for each individual channel. The CMS account that + * the user authenticates with must be linked to the specified YouTube content + * owner. + * @opt_param string onBehalfOfContentOwnerChannel This parameter can only be + * used in a properly authorized request. Note: This parameter is intended + * exclusively for YouTube content partners. + * + * The onBehalfOfContentOwnerChannel parameter specifies the YouTube channel ID + * of the channel to which a video is being added. This parameter is required + * when a request specifies a value for the onBehalfOfContentOwner parameter, + * and it can only be used in conjunction with that parameter. In addition, the + * request must be authorized using a CMS account that is linked to the content + * owner that the onBehalfOfContentOwner parameter specifies. Finally, the + * channel that the onBehalfOfContentOwnerChannel parameter value specifies must + * be linked to the content owner that the onBehalfOfContentOwner parameter + * specifies. + * + * This parameter is intended for YouTube content partners that own and manage + * many different YouTube channels. It allows content owners to authenticate + * once and perform actions on behalf of the channel specified in the parameter + * value, without having to provide authentication credentials for each separate + * channel. + * @return Google_Service_YouTube_Playlist + */ + public function insert($part, Google_Service_YouTube_Playlist $postBody, $optParams = array()) + { + $params = array('part' => $part, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('insert', array($params), "Google_Service_YouTube_Playlist"); + } + /** + * Returns a collection of playlists that match the API request parameters. For + * example, you can retrieve all playlists that the authenticated user owns, or + * you can retrieve one or more playlists by their unique IDs. + * (playlists.listPlaylists) + * + * @param string $part The part parameter specifies a comma-separated list of + * one or more playlist resource properties that the API response will include. + * + * If the parameter identifies a property that contains child properties, the + * child properties will be included in the response. For example, in a playlist + * resource, the snippet property contains properties like author, title, + * description, tags, and timeCreated. As such, if you set part=snippet, the API + * response will contain all of those properties. + * @param array $optParams Optional parameters. + * + * @opt_param string channelId This value indicates that the API should only + * return the specified channel's playlists. + * @opt_param string hl The hl parameter should be used for filter out the + * properties that are not in the given language. Used for the snippet part. + * @opt_param string id The id parameter specifies a comma-separated list of the + * YouTube playlist ID(s) for the resource(s) that are being retrieved. In a + * playlist resource, the id property specifies the playlist's YouTube playlist + * ID. + * @opt_param string maxResults The maxResults parameter specifies the maximum + * number of items that should be returned in the result set. + * @opt_param bool mine Set this parameter's value to true to instruct the API + * to only return playlists owned by the authenticated user. + * @opt_param string onBehalfOfContentOwner Note: This parameter is intended + * exclusively for YouTube content partners. + * + * The onBehalfOfContentOwner parameter indicates that the request's + * authorization credentials identify a YouTube CMS user who is acting on behalf + * of the content owner specified in the parameter value. This parameter is + * intended for YouTube content partners that own and manage many different + * YouTube channels. It allows content owners to authenticate once and get + * access to all their video and channel data, without having to provide + * authentication credentials for each individual channel. The CMS account that + * the user authenticates with must be linked to the specified YouTube content + * owner. + * @opt_param string onBehalfOfContentOwnerChannel This parameter can only be + * used in a properly authorized request. Note: This parameter is intended + * exclusively for YouTube content partners. + * + * The onBehalfOfContentOwnerChannel parameter specifies the YouTube channel ID + * of the channel to which a video is being added. This parameter is required + * when a request specifies a value for the onBehalfOfContentOwner parameter, + * and it can only be used in conjunction with that parameter. In addition, the + * request must be authorized using a CMS account that is linked to the content + * owner that the onBehalfOfContentOwner parameter specifies. Finally, the + * channel that the onBehalfOfContentOwnerChannel parameter value specifies must + * be linked to the content owner that the onBehalfOfContentOwner parameter + * specifies. + * + * This parameter is intended for YouTube content partners that own and manage + * many different YouTube channels. It allows content owners to authenticate + * once and perform actions on behalf of the channel specified in the parameter + * value, without having to provide authentication credentials for each separate + * channel. + * @opt_param string pageToken The pageToken parameter identifies a specific + * page in the result set that should be returned. In an API response, the + * nextPageToken and prevPageToken properties identify other pages that could be + * retrieved. + * @return Google_Service_YouTube_PlaylistListResponse + */ + public function listPlaylists($part, $optParams = array()) + { + $params = array('part' => $part); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_YouTube_PlaylistListResponse"); + } + /** + * Modifies a playlist. For example, you could change a playlist's title, + * description, or privacy status. (playlists.update) + * + * @param string $part The part parameter serves two purposes in this operation. + * It identifies the properties that the write operation will set as well as the + * properties that the API response will include. + * + * Note that this method will override the existing values for mutable + * properties that are contained in any parts that the request body specifies. + * For example, a playlist's description is contained in the snippet part, which + * must be included in the request body. If the request does not specify a value + * for the snippet.description property, the playlist's existing description + * will be deleted. + * @param Google_Service_YouTube_Playlist $postBody + * @param array $optParams Optional parameters. + * + * @opt_param string onBehalfOfContentOwner Note: This parameter is intended + * exclusively for YouTube content partners. + * + * The onBehalfOfContentOwner parameter indicates that the request's + * authorization credentials identify a YouTube CMS user who is acting on behalf + * of the content owner specified in the parameter value. This parameter is + * intended for YouTube content partners that own and manage many different + * YouTube channels. It allows content owners to authenticate once and get + * access to all their video and channel data, without having to provide + * authentication credentials for each individual channel. The CMS account that + * the user authenticates with must be linked to the specified YouTube content + * owner. + * @return Google_Service_YouTube_Playlist + */ + public function update($part, Google_Service_YouTube_Playlist $postBody, $optParams = array()) + { + $params = array('part' => $part, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('update', array($params), "Google_Service_YouTube_Playlist"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/YouTube/Resource/Search.php b/vendor/google/apiclient-services/src/Google/Service/YouTube/Resource/Search.php new file mode 100644 index 00000000..aa7dd4de --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/YouTube/Resource/Search.php @@ -0,0 +1,185 @@ + + * $youtubeService = new Google_Service_YouTube(...); + * $search = $youtubeService->search; + * + */ +class Google_Service_YouTube_Resource_Search extends Google_Service_Resource +{ + /** + * Returns a collection of search results that match the query parameters + * specified in the API request. By default, a search result set identifies + * matching video, channel, and playlist resources, but you can also configure + * queries to only retrieve a specific type of resource. (search.listSearch) + * + * @param string $part The part parameter specifies a comma-separated list of + * one or more search resource properties that the API response will include. + * Set the parameter value to snippet. + * @param array $optParams Optional parameters. + * + * @opt_param string channelId The channelId parameter indicates that the API + * response should only contain resources created by the channel + * @opt_param string channelType The channelType parameter lets you restrict a + * search to a particular type of channel. + * @opt_param string eventType The eventType parameter restricts a search to + * broadcast events. If you specify a value for this parameter, you must also + * set the type parameter's value to video. + * @opt_param bool forContentOwner Note: This parameter is intended exclusively + * for YouTube content partners. + * + * The forContentOwner parameter restricts the search to only retrieve resources + * owned by the content owner specified by the onBehalfOfContentOwner parameter. + * The user must be authenticated using a CMS account linked to the specified + * content owner and onBehalfOfContentOwner must be provided. + * @opt_param bool forDeveloper The forDeveloper parameter restricts the search + * to only retrieve videos uploaded via the developer's application or website. + * The API server uses the request's authorization credentials to identify the + * developer. Therefore, a developer can restrict results to videos uploaded + * through the developer's own app or website but not to videos uploaded through + * other apps or sites. + * @opt_param bool forMine The forMine parameter restricts the search to only + * retrieve videos owned by the authenticated user. If you set this parameter to + * true, then the type parameter's value must also be set to video. + * @opt_param string location The location parameter, in conjunction with the + * locationRadius parameter, defines a circular geographic area and also + * restricts a search to videos that specify, in their metadata, a geographic + * location that falls within that area. The parameter value is a string that + * specifies latitude/longitude coordinates e.g. (37.42307,-122.08427). + * + * - The location parameter value identifies the point at the center of the + * area. - The locationRadius parameter specifies the maximum distance that the + * location associated with a video can be from that point for the video to + * still be included in the search results.The API returns an error if your + * request specifies a value for the location parameter but does not also + * specify a value for the locationRadius parameter. + * @opt_param string locationRadius The locationRadius parameter, in conjunction + * with the location parameter, defines a circular geographic area. + * + * The parameter value must be a floating point number followed by a measurement + * unit. Valid measurement units are m, km, ft, and mi. For example, valid + * parameter values include 1500m, 5km, 10000ft, and 0.75mi. The API does not + * support locationRadius parameter values larger than 1000 kilometers. + * + * Note: See the definition of the location parameter for more information. + * @opt_param string maxResults The maxResults parameter specifies the maximum + * number of items that should be returned in the result set. + * @opt_param string onBehalfOfContentOwner Note: This parameter is intended + * exclusively for YouTube content partners. + * + * The onBehalfOfContentOwner parameter indicates that the request's + * authorization credentials identify a YouTube CMS user who is acting on behalf + * of the content owner specified in the parameter value. This parameter is + * intended for YouTube content partners that own and manage many different + * YouTube channels. It allows content owners to authenticate once and get + * access to all their video and channel data, without having to provide + * authentication credentials for each individual channel. The CMS account that + * the user authenticates with must be linked to the specified YouTube content + * owner. + * @opt_param string order The order parameter specifies the method that will be + * used to order resources in the API response. + * @opt_param string pageToken The pageToken parameter identifies a specific + * page in the result set that should be returned. In an API response, the + * nextPageToken and prevPageToken properties identify other pages that could be + * retrieved. + * @opt_param string publishedAfter The publishedAfter parameter indicates that + * the API response should only contain resources created after the specified + * time. The value is an RFC 3339 formatted date-time value + * (1970-01-01T00:00:00Z). + * @opt_param string publishedBefore The publishedBefore parameter indicates + * that the API response should only contain resources created before the + * specified time. The value is an RFC 3339 formatted date-time value + * (1970-01-01T00:00:00Z). + * @opt_param string q The q parameter specifies the query term to search for. + * + * Your request can also use the Boolean NOT (-) and OR (|) operators to exclude + * videos or to find videos that are associated with one of several search + * terms. For example, to search for videos matching either "boating" or + * "sailing", set the q parameter value to boating|sailing. Similarly, to search + * for videos matching either "boating" or "sailing" but not "fishing", set the + * q parameter value to boating|sailing -fishing. Note that the pipe character + * must be URL-escaped when it is sent in your API request. The URL-escaped + * value for the pipe character is %7C. + * @opt_param string regionCode The regionCode parameter instructs the API to + * return search results for the specified country. The parameter value is an + * ISO 3166-1 alpha-2 country code. + * @opt_param string relatedToVideoId The relatedToVideoId parameter retrieves a + * list of videos that are related to the video that the parameter value + * identifies. The parameter value must be set to a YouTube video ID and, if you + * are using this parameter, the type parameter must be set to video. + * @opt_param string relevanceLanguage The relevanceLanguage parameter instructs + * the API to return search results that are most relevant to the specified + * language. The parameter value is typically an ISO 639-1 two-letter language + * code. However, you should use the values zh-Hans for simplified Chinese and + * zh-Hant for traditional Chinese. Please note that results in other languages + * will still be returned if they are highly relevant to the search query term. + * @opt_param string safeSearch The safeSearch parameter indicates whether the + * search results should include restricted content as well as standard content. + * @opt_param string topicId The topicId parameter indicates that the API + * response should only contain resources associated with the specified topic. + * The value identifies a Freebase topic ID. + * @opt_param string type The type parameter restricts a search query to only + * retrieve a particular type of resource. The value is a comma-separated list + * of resource types. + * @opt_param string videoCaption The videoCaption parameter indicates whether + * the API should filter video search results based on whether they have + * captions. If you specify a value for this parameter, you must also set the + * type parameter's value to video. + * @opt_param string videoCategoryId The videoCategoryId parameter filters video + * search results based on their category. If you specify a value for this + * parameter, you must also set the type parameter's value to video. + * @opt_param string videoDefinition The videoDefinition parameter lets you + * restrict a search to only include either high definition (HD) or standard + * definition (SD) videos. HD videos are available for playback in at least + * 720p, though higher resolutions, like 1080p, might also be available. If you + * specify a value for this parameter, you must also set the type parameter's + * value to video. + * @opt_param string videoDimension The videoDimension parameter lets you + * restrict a search to only retrieve 2D or 3D videos. If you specify a value + * for this parameter, you must also set the type parameter's value to video. + * @opt_param string videoDuration The videoDuration parameter filters video + * search results based on their duration. If you specify a value for this + * parameter, you must also set the type parameter's value to video. + * @opt_param string videoEmbeddable The videoEmbeddable parameter lets you to + * restrict a search to only videos that can be embedded into a webpage. If you + * specify a value for this parameter, you must also set the type parameter's + * value to video. + * @opt_param string videoLicense The videoLicense parameter filters search + * results to only include videos with a particular license. YouTube lets video + * uploaders choose to attach either the Creative Commons license or the + * standard YouTube license to each of their videos. If you specify a value for + * this parameter, you must also set the type parameter's value to video. + * @opt_param string videoSyndicated The videoSyndicated parameter lets you to + * restrict a search to only videos that can be played outside youtube.com. If + * you specify a value for this parameter, you must also set the type + * parameter's value to video. + * @opt_param string videoType The videoType parameter lets you restrict a + * search to a particular type of videos. If you specify a value for this + * parameter, you must also set the type parameter's value to video. + * @return Google_Service_YouTube_SearchListResponse + */ + public function listSearch($part, $optParams = array()) + { + $params = array('part' => $part); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_YouTube_SearchListResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/YouTube/Resource/Sponsors.php b/vendor/google/apiclient-services/src/Google/Service/YouTube/Resource/Sponsors.php new file mode 100644 index 00000000..50590de3 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/YouTube/Resource/Sponsors.php @@ -0,0 +1,51 @@ + + * $youtubeService = new Google_Service_YouTube(...); + * $sponsors = $youtubeService->sponsors; + * + */ +class Google_Service_YouTube_Resource_Sponsors extends Google_Service_Resource +{ + /** + * Lists sponsors for a channel. (sponsors.listSponsors) + * + * @param string $part The part parameter specifies the sponsor resource parts + * that the API response will include. Supported values are id and snippet. + * @param array $optParams Optional parameters. + * + * @opt_param string filter The filter parameter specifies which channel + * sponsors to return. + * @opt_param string maxResults The maxResults parameter specifies the maximum + * number of items that should be returned in the result set. + * @opt_param string pageToken The pageToken parameter identifies a specific + * page in the result set that should be returned. In an API response, the + * nextPageToken and prevPageToken properties identify other pages that could be + * retrieved. + * @return Google_Service_YouTube_SponsorListResponse + */ + public function listSponsors($part, $optParams = array()) + { + $params = array('part' => $part); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_YouTube_SponsorListResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/YouTube/Resource/Subscriptions.php b/vendor/google/apiclient-services/src/Google/Service/YouTube/Resource/Subscriptions.php new file mode 100644 index 00000000..712ad99b --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/YouTube/Resource/Subscriptions.php @@ -0,0 +1,136 @@ + + * $youtubeService = new Google_Service_YouTube(...); + * $subscriptions = $youtubeService->subscriptions; + * + */ +class Google_Service_YouTube_Resource_Subscriptions extends Google_Service_Resource +{ + /** + * Deletes a subscription. (subscriptions.delete) + * + * @param string $id The id parameter specifies the YouTube subscription ID for + * the resource that is being deleted. In a subscription resource, the id + * property specifies the YouTube subscription ID. + * @param array $optParams Optional parameters. + */ + public function delete($id, $optParams = array()) + { + $params = array('id' => $id); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params)); + } + /** + * Adds a subscription for the authenticated user's channel. + * (subscriptions.insert) + * + * @param string $part The part parameter serves two purposes in this operation. + * It identifies the properties that the write operation will set as well as the + * properties that the API response will include. + * @param Google_Service_YouTube_Subscription $postBody + * @param array $optParams Optional parameters. + * @return Google_Service_YouTube_Subscription + */ + public function insert($part, Google_Service_YouTube_Subscription $postBody, $optParams = array()) + { + $params = array('part' => $part, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('insert', array($params), "Google_Service_YouTube_Subscription"); + } + /** + * Returns subscription resources that match the API request criteria. + * (subscriptions.listSubscriptions) + * + * @param string $part The part parameter specifies a comma-separated list of + * one or more subscription resource properties that the API response will + * include. + * + * If the parameter identifies a property that contains child properties, the + * child properties will be included in the response. For example, in a + * subscription resource, the snippet property contains other properties, such + * as a display title for the subscription. If you set part=snippet, the API + * response will also contain all of those nested properties. + * @param array $optParams Optional parameters. + * + * @opt_param string channelId The channelId parameter specifies a YouTube + * channel ID. The API will only return that channel's subscriptions. + * @opt_param string forChannelId The forChannelId parameter specifies a comma- + * separated list of channel IDs. The API response will then only contain + * subscriptions matching those channels. + * @opt_param string id The id parameter specifies a comma-separated list of the + * YouTube subscription ID(s) for the resource(s) that are being retrieved. In a + * subscription resource, the id property specifies the YouTube subscription ID. + * @opt_param string maxResults The maxResults parameter specifies the maximum + * number of items that should be returned in the result set. + * @opt_param bool mine Set this parameter's value to true to retrieve a feed of + * the authenticated user's subscriptions. + * @opt_param bool myRecentSubscribers Set this parameter's value to true to + * retrieve a feed of the subscribers of the authenticated user in reverse + * chronological order (newest first). + * @opt_param bool mySubscribers Set this parameter's value to true to retrieve + * a feed of the subscribers of the authenticated user in no particular order. + * @opt_param string onBehalfOfContentOwner Note: This parameter is intended + * exclusively for YouTube content partners. + * + * The onBehalfOfContentOwner parameter indicates that the request's + * authorization credentials identify a YouTube CMS user who is acting on behalf + * of the content owner specified in the parameter value. This parameter is + * intended for YouTube content partners that own and manage many different + * YouTube channels. It allows content owners to authenticate once and get + * access to all their video and channel data, without having to provide + * authentication credentials for each individual channel. The CMS account that + * the user authenticates with must be linked to the specified YouTube content + * owner. + * @opt_param string onBehalfOfContentOwnerChannel This parameter can only be + * used in a properly authorized request. Note: This parameter is intended + * exclusively for YouTube content partners. + * + * The onBehalfOfContentOwnerChannel parameter specifies the YouTube channel ID + * of the channel to which a video is being added. This parameter is required + * when a request specifies a value for the onBehalfOfContentOwner parameter, + * and it can only be used in conjunction with that parameter. In addition, the + * request must be authorized using a CMS account that is linked to the content + * owner that the onBehalfOfContentOwner parameter specifies. Finally, the + * channel that the onBehalfOfContentOwnerChannel parameter value specifies must + * be linked to the content owner that the onBehalfOfContentOwner parameter + * specifies. + * + * This parameter is intended for YouTube content partners that own and manage + * many different YouTube channels. It allows content owners to authenticate + * once and perform actions on behalf of the channel specified in the parameter + * value, without having to provide authentication credentials for each separate + * channel. + * @opt_param string order The order parameter specifies the method that will be + * used to sort resources in the API response. + * @opt_param string pageToken The pageToken parameter identifies a specific + * page in the result set that should be returned. In an API response, the + * nextPageToken and prevPageToken properties identify other pages that could be + * retrieved. + * @return Google_Service_YouTube_SubscriptionListResponse + */ + public function listSubscriptions($part, $optParams = array()) + { + $params = array('part' => $part); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_YouTube_SubscriptionListResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/YouTube/Resource/SuperChatEvents.php b/vendor/google/apiclient-services/src/Google/Service/YouTube/Resource/SuperChatEvents.php new file mode 100644 index 00000000..1e796c30 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/YouTube/Resource/SuperChatEvents.php @@ -0,0 +1,59 @@ + + * $youtubeService = new Google_Service_YouTube(...); + * $superChatEvents = $youtubeService->superChatEvents; + * + */ +class Google_Service_YouTube_Resource_SuperChatEvents extends Google_Service_Resource +{ + /** + * Lists Super Chat events for a channel. (superChatEvents.listSuperChatEvents) + * + * @param string $part The part parameter specifies the superChatEvent resource + * parts that the API response will include. Supported values are id and + * snippet. + * @param array $optParams Optional parameters. + * + * @opt_param string hl The hl parameter instructs the API to retrieve localized + * resource metadata for a specific application language that the YouTube + * website supports. The parameter value must be a language code included in the + * list returned by the i18nLanguages.list method. + * + * If localized resource details are available in that language, the resource's + * snippet.localized object will contain the localized values. However, if + * localized details are not available, the snippet.localized object will + * contain resource details in the resource's default language. + * @opt_param string maxResults The maxResults parameter specifies the maximum + * number of items that should be returned in the result set. + * @opt_param string pageToken The pageToken parameter identifies a specific + * page in the result set that should be returned. In an API response, the + * nextPageToken and prevPageToken properties identify other pages that could be + * retrieved. + * @return Google_Service_YouTube_SuperChatEventListResponse + */ + public function listSuperChatEvents($part, $optParams = array()) + { + $params = array('part' => $part); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_YouTube_SuperChatEventListResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/YouTube/Resource/Thumbnails.php b/vendor/google/apiclient-services/src/Google/Service/YouTube/Resource/Thumbnails.php new file mode 100644 index 00000000..774ca9da --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/YouTube/Resource/Thumbnails.php @@ -0,0 +1,56 @@ + + * $youtubeService = new Google_Service_YouTube(...); + * $thumbnails = $youtubeService->thumbnails; + * + */ +class Google_Service_YouTube_Resource_Thumbnails extends Google_Service_Resource +{ + /** + * Uploads a custom video thumbnail to YouTube and sets it for a video. + * (thumbnails.set) + * + * @param string $videoId The videoId parameter specifies a YouTube video ID for + * which the custom video thumbnail is being provided. + * @param array $optParams Optional parameters. + * + * @opt_param string onBehalfOfContentOwner Note: This parameter is intended + * exclusively for YouTube content partners. + * + * The onBehalfOfContentOwner parameter indicates that the request's + * authorization credentials identify a YouTube CMS user who is acting on behalf + * of the content owner specified in the parameter value. This parameter is + * intended for YouTube content partners that own and manage many different + * YouTube channels. It allows content owners to authenticate once and get + * access to all their video and channel data, without having to provide + * authentication credentials for each individual channel. The actual CMS + * account that the user authenticates with must be linked to the specified + * YouTube content owner. + * @return Google_Service_YouTube_ThumbnailSetResponse + */ + public function set($videoId, $optParams = array()) + { + $params = array('videoId' => $videoId); + $params = array_merge($params, $optParams); + return $this->call('set', array($params), "Google_Service_YouTube_ThumbnailSetResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/YouTube/Resource/VideoAbuseReportReasons.php b/vendor/google/apiclient-services/src/Google/Service/YouTube/Resource/VideoAbuseReportReasons.php new file mode 100644 index 00000000..234c1122 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/YouTube/Resource/VideoAbuseReportReasons.php @@ -0,0 +1,47 @@ + + * $youtubeService = new Google_Service_YouTube(...); + * $videoAbuseReportReasons = $youtubeService->videoAbuseReportReasons; + * + */ +class Google_Service_YouTube_Resource_VideoAbuseReportReasons extends Google_Service_Resource +{ + /** + * Returns a list of abuse reasons that can be used for reporting abusive + * videos. (videoAbuseReportReasons.listVideoAbuseReportReasons) + * + * @param string $part The part parameter specifies the videoCategory resource + * parts that the API response will include. Supported values are id and + * snippet. + * @param array $optParams Optional parameters. + * + * @opt_param string hl The hl parameter specifies the language that should be + * used for text values in the API response. + * @return Google_Service_YouTube_VideoAbuseReportReasonListResponse + */ + public function listVideoAbuseReportReasons($part, $optParams = array()) + { + $params = array('part' => $part); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_YouTube_VideoAbuseReportReasonListResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/YouTube/Resource/VideoCategories.php b/vendor/google/apiclient-services/src/Google/Service/YouTube/Resource/VideoCategories.php new file mode 100644 index 00000000..fe46542a --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/YouTube/Resource/VideoCategories.php @@ -0,0 +1,52 @@ + + * $youtubeService = new Google_Service_YouTube(...); + * $videoCategories = $youtubeService->videoCategories; + * + */ +class Google_Service_YouTube_Resource_VideoCategories extends Google_Service_Resource +{ + /** + * Returns a list of categories that can be associated with YouTube videos. + * (videoCategories.listVideoCategories) + * + * @param string $part The part parameter specifies the videoCategory resource + * properties that the API response will include. Set the parameter value to + * snippet. + * @param array $optParams Optional parameters. + * + * @opt_param string hl The hl parameter specifies the language that should be + * used for text values in the API response. + * @opt_param string id The id parameter specifies a comma-separated list of + * video category IDs for the resources that you are retrieving. + * @opt_param string regionCode The regionCode parameter instructs the API to + * return the list of video categories available in the specified country. The + * parameter value is an ISO 3166-1 alpha-2 country code. + * @return Google_Service_YouTube_VideoCategoryListResponse + */ + public function listVideoCategories($part, $optParams = array()) + { + $params = array('part' => $part); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_YouTube_VideoCategoryListResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/YouTube/Resource/Videos.php b/vendor/google/apiclient-services/src/Google/Service/YouTube/Resource/Videos.php new file mode 100644 index 00000000..69b02890 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/YouTube/Resource/Videos.php @@ -0,0 +1,315 @@ + + * $youtubeService = new Google_Service_YouTube(...); + * $videos = $youtubeService->videos; + * + */ +class Google_Service_YouTube_Resource_Videos extends Google_Service_Resource +{ + /** + * Deletes a YouTube video. (videos.delete) + * + * @param string $id The id parameter specifies the YouTube video ID for the + * resource that is being deleted. In a video resource, the id property + * specifies the video's ID. + * @param array $optParams Optional parameters. + * + * @opt_param string onBehalfOfContentOwner Note: This parameter is intended + * exclusively for YouTube content partners. + * + * The onBehalfOfContentOwner parameter indicates that the request's + * authorization credentials identify a YouTube CMS user who is acting on behalf + * of the content owner specified in the parameter value. This parameter is + * intended for YouTube content partners that own and manage many different + * YouTube channels. It allows content owners to authenticate once and get + * access to all their video and channel data, without having to provide + * authentication credentials for each individual channel. The actual CMS + * account that the user authenticates with must be linked to the specified + * YouTube content owner. + */ + public function delete($id, $optParams = array()) + { + $params = array('id' => $id); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params)); + } + /** + * Retrieves the ratings that the authorized user gave to a list of specified + * videos. (videos.getRating) + * + * @param string $id The id parameter specifies a comma-separated list of the + * YouTube video ID(s) for the resource(s) for which you are retrieving rating + * data. In a video resource, the id property specifies the video's ID. + * @param array $optParams Optional parameters. + * + * @opt_param string onBehalfOfContentOwner Note: This parameter is intended + * exclusively for YouTube content partners. + * + * The onBehalfOfContentOwner parameter indicates that the request's + * authorization credentials identify a YouTube CMS user who is acting on behalf + * of the content owner specified in the parameter value. This parameter is + * intended for YouTube content partners that own and manage many different + * YouTube channels. It allows content owners to authenticate once and get + * access to all their video and channel data, without having to provide + * authentication credentials for each individual channel. The CMS account that + * the user authenticates with must be linked to the specified YouTube content + * owner. + * @return Google_Service_YouTube_VideoGetRatingResponse + */ + public function getRating($id, $optParams = array()) + { + $params = array('id' => $id); + $params = array_merge($params, $optParams); + return $this->call('getRating', array($params), "Google_Service_YouTube_VideoGetRatingResponse"); + } + /** + * Uploads a video to YouTube and optionally sets the video's metadata. + * (videos.insert) + * + * @param string $part The part parameter serves two purposes in this operation. + * It identifies the properties that the write operation will set as well as the + * properties that the API response will include. + * + * Note that not all parts contain properties that can be set when inserting or + * updating a video. For example, the statistics object encapsulates statistics + * that YouTube calculates for a video and does not contain values that you can + * set or modify. If the parameter value specifies a part that does not contain + * mutable values, that part will still be included in the API response. + * @param Google_Service_YouTube_Video $postBody + * @param array $optParams Optional parameters. + * + * @opt_param bool autoLevels The autoLevels parameter indicates whether YouTube + * should automatically enhance the video's lighting and color. + * @opt_param bool notifySubscribers The notifySubscribers parameter indicates + * whether YouTube should send a notification about the new video to users who + * subscribe to the video's channel. A parameter value of True indicates that + * subscribers will be notified of newly uploaded videos. However, a channel + * owner who is uploading many videos might prefer to set the value to False to + * avoid sending a notification about each new video to the channel's + * subscribers. + * @opt_param string onBehalfOfContentOwner Note: This parameter is intended + * exclusively for YouTube content partners. + * + * The onBehalfOfContentOwner parameter indicates that the request's + * authorization credentials identify a YouTube CMS user who is acting on behalf + * of the content owner specified in the parameter value. This parameter is + * intended for YouTube content partners that own and manage many different + * YouTube channels. It allows content owners to authenticate once and get + * access to all their video and channel data, without having to provide + * authentication credentials for each individual channel. The CMS account that + * the user authenticates with must be linked to the specified YouTube content + * owner. + * @opt_param string onBehalfOfContentOwnerChannel This parameter can only be + * used in a properly authorized request. Note: This parameter is intended + * exclusively for YouTube content partners. + * + * The onBehalfOfContentOwnerChannel parameter specifies the YouTube channel ID + * of the channel to which a video is being added. This parameter is required + * when a request specifies a value for the onBehalfOfContentOwner parameter, + * and it can only be used in conjunction with that parameter. In addition, the + * request must be authorized using a CMS account that is linked to the content + * owner that the onBehalfOfContentOwner parameter specifies. Finally, the + * channel that the onBehalfOfContentOwnerChannel parameter value specifies must + * be linked to the content owner that the onBehalfOfContentOwner parameter + * specifies. + * + * This parameter is intended for YouTube content partners that own and manage + * many different YouTube channels. It allows content owners to authenticate + * once and perform actions on behalf of the channel specified in the parameter + * value, without having to provide authentication credentials for each separate + * channel. + * @opt_param bool stabilize The stabilize parameter indicates whether YouTube + * should adjust the video to remove shaky camera motions. + * @return Google_Service_YouTube_Video + */ + public function insert($part, Google_Service_YouTube_Video $postBody, $optParams = array()) + { + $params = array('part' => $part, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('insert', array($params), "Google_Service_YouTube_Video"); + } + /** + * Returns a list of videos that match the API request parameters. + * (videos.listVideos) + * + * @param string $part The part parameter specifies a comma-separated list of + * one or more video resource properties that the API response will include. + * + * If the parameter identifies a property that contains child properties, the + * child properties will be included in the response. For example, in a video + * resource, the snippet property contains the channelId, title, description, + * tags, and categoryId properties. As such, if you set part=snippet, the API + * response will contain all of those properties. + * @param array $optParams Optional parameters. + * + * @opt_param string chart The chart parameter identifies the chart that you + * want to retrieve. + * @opt_param string hl The hl parameter instructs the API to retrieve localized + * resource metadata for a specific application language that the YouTube + * website supports. The parameter value must be a language code included in the + * list returned by the i18nLanguages.list method. + * + * If localized resource details are available in that language, the resource's + * snippet.localized object will contain the localized values. However, if + * localized details are not available, the snippet.localized object will + * contain resource details in the resource's default language. + * @opt_param string id The id parameter specifies a comma-separated list of the + * YouTube video ID(s) for the resource(s) that are being retrieved. In a video + * resource, the id property specifies the video's ID. + * @opt_param string locale DEPRECATED + * @opt_param string maxHeight The maxHeight parameter specifies a maximum + * height of the embedded player. If maxWidth is provided, maxHeight may not be + * reached in order to not violate the width request. + * @opt_param string maxResults The maxResults parameter specifies the maximum + * number of items that should be returned in the result set. + * + * Note: This parameter is supported for use in conjunction with the myRating + * and chart parameters, but it is not supported for use in conjunction with the + * id parameter. + * @opt_param string maxWidth The maxWidth parameter specifies a maximum width + * of the embedded player. If maxHeight is provided, maxWidth may not be reached + * in order to not violate the height request. + * @opt_param string myRating Set this parameter's value to like or dislike to + * instruct the API to only return videos liked or disliked by the authenticated + * user. + * @opt_param string onBehalfOfContentOwner Note: This parameter is intended + * exclusively for YouTube content partners. + * + * The onBehalfOfContentOwner parameter indicates that the request's + * authorization credentials identify a YouTube CMS user who is acting on behalf + * of the content owner specified in the parameter value. This parameter is + * intended for YouTube content partners that own and manage many different + * YouTube channels. It allows content owners to authenticate once and get + * access to all their video and channel data, without having to provide + * authentication credentials for each individual channel. The CMS account that + * the user authenticates with must be linked to the specified YouTube content + * owner. + * @opt_param string pageToken The pageToken parameter identifies a specific + * page in the result set that should be returned. In an API response, the + * nextPageToken and prevPageToken properties identify other pages that could be + * retrieved. + * + * Note: This parameter is supported for use in conjunction with the myRating + * and chart parameters, but it is not supported for use in conjunction with the + * id parameter. + * @opt_param string regionCode The regionCode parameter instructs the API to + * select a video chart available in the specified region. This parameter can + * only be used in conjunction with the chart parameter. The parameter value is + * an ISO 3166-1 alpha-2 country code. + * @opt_param string videoCategoryId The videoCategoryId parameter identifies + * the video category for which the chart should be retrieved. This parameter + * can only be used in conjunction with the chart parameter. By default, charts + * are not restricted to a particular category. + * @return Google_Service_YouTube_VideoListResponse + */ + public function listVideos($part, $optParams = array()) + { + $params = array('part' => $part); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_YouTube_VideoListResponse"); + } + /** + * Add a like or dislike rating to a video or remove a rating from a video. + * (videos.rate) + * + * @param string $id The id parameter specifies the YouTube video ID of the + * video that is being rated or having its rating removed. + * @param string $rating Specifies the rating to record. + * @param array $optParams Optional parameters. + */ + public function rate($id, $rating, $optParams = array()) + { + $params = array('id' => $id, 'rating' => $rating); + $params = array_merge($params, $optParams); + return $this->call('rate', array($params)); + } + /** + * Report abuse for a video. (videos.reportAbuse) + * + * @param Google_Service_YouTube_VideoAbuseReport $postBody + * @param array $optParams Optional parameters. + * + * @opt_param string onBehalfOfContentOwner Note: This parameter is intended + * exclusively for YouTube content partners. + * + * The onBehalfOfContentOwner parameter indicates that the request's + * authorization credentials identify a YouTube CMS user who is acting on behalf + * of the content owner specified in the parameter value. This parameter is + * intended for YouTube content partners that own and manage many different + * YouTube channels. It allows content owners to authenticate once and get + * access to all their video and channel data, without having to provide + * authentication credentials for each individual channel. The CMS account that + * the user authenticates with must be linked to the specified YouTube content + * owner. + */ + public function reportAbuse(Google_Service_YouTube_VideoAbuseReport $postBody, $optParams = array()) + { + $params = array('postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('reportAbuse', array($params)); + } + /** + * Updates a video's metadata. (videos.update) + * + * @param string $part The part parameter serves two purposes in this operation. + * It identifies the properties that the write operation will set as well as the + * properties that the API response will include. + * + * Note that this method will override the existing values for all of the + * mutable properties that are contained in any parts that the parameter value + * specifies. For example, a video's privacy setting is contained in the status + * part. As such, if your request is updating a private video, and the request's + * part parameter value includes the status part, the video's privacy setting + * will be updated to whatever value the request body specifies. If the request + * body does not specify a value, the existing privacy setting will be removed + * and the video will revert to the default privacy setting. + * + * In addition, not all parts contain properties that can be set when inserting + * or updating a video. For example, the statistics object encapsulates + * statistics that YouTube calculates for a video and does not contain values + * that you can set or modify. If the parameter value specifies a part that does + * not contain mutable values, that part will still be included in the API + * response. + * @param Google_Service_YouTube_Video $postBody + * @param array $optParams Optional parameters. + * + * @opt_param string onBehalfOfContentOwner Note: This parameter is intended + * exclusively for YouTube content partners. + * + * The onBehalfOfContentOwner parameter indicates that the request's + * authorization credentials identify a YouTube CMS user who is acting on behalf + * of the content owner specified in the parameter value. This parameter is + * intended for YouTube content partners that own and manage many different + * YouTube channels. It allows content owners to authenticate once and get + * access to all their video and channel data, without having to provide + * authentication credentials for each individual channel. The actual CMS + * account that the user authenticates with must be linked to the specified + * YouTube content owner. + * @return Google_Service_YouTube_Video + */ + public function update($part, Google_Service_YouTube_Video $postBody, $optParams = array()) + { + $params = array('part' => $part, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('update', array($params), "Google_Service_YouTube_Video"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/YouTube/Resource/Watermarks.php b/vendor/google/apiclient-services/src/Google/Service/YouTube/Resource/Watermarks.php new file mode 100644 index 00000000..2f7735ed --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/YouTube/Resource/Watermarks.php @@ -0,0 +1,82 @@ + + * $youtubeService = new Google_Service_YouTube(...); + * $watermarks = $youtubeService->watermarks; + * + */ +class Google_Service_YouTube_Resource_Watermarks extends Google_Service_Resource +{ + /** + * Uploads a watermark image to YouTube and sets it for a channel. + * (watermarks.set) + * + * @param string $channelId The channelId parameter specifies the YouTube + * channel ID for which the watermark is being provided. + * @param Google_Service_YouTube_InvideoBranding $postBody + * @param array $optParams Optional parameters. + * + * @opt_param string onBehalfOfContentOwner Note: This parameter is intended + * exclusively for YouTube content partners. + * + * The onBehalfOfContentOwner parameter indicates that the request's + * authorization credentials identify a YouTube CMS user who is acting on behalf + * of the content owner specified in the parameter value. This parameter is + * intended for YouTube content partners that own and manage many different + * YouTube channels. It allows content owners to authenticate once and get + * access to all their video and channel data, without having to provide + * authentication credentials for each individual channel. The CMS account that + * the user authenticates with must be linked to the specified YouTube content + * owner. + */ + public function set($channelId, Google_Service_YouTube_InvideoBranding $postBody, $optParams = array()) + { + $params = array('channelId' => $channelId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('set', array($params)); + } + /** + * Deletes a channel's watermark image. (watermarks.unsetWatermarks) + * + * @param string $channelId The channelId parameter specifies the YouTube + * channel ID for which the watermark is being unset. + * @param array $optParams Optional parameters. + * + * @opt_param string onBehalfOfContentOwner Note: This parameter is intended + * exclusively for YouTube content partners. + * + * The onBehalfOfContentOwner parameter indicates that the request's + * authorization credentials identify a YouTube CMS user who is acting on behalf + * of the content owner specified in the parameter value. This parameter is + * intended for YouTube content partners that own and manage many different + * YouTube channels. It allows content owners to authenticate once and get + * access to all their video and channel data, without having to provide + * authentication credentials for each individual channel. The CMS account that + * the user authenticates with must be linked to the specified YouTube content + * owner. + */ + public function unsetWatermarks($channelId, $optParams = array()) + { + $params = array('channelId' => $channelId); + $params = array_merge($params, $optParams); + return $this->call('unset', array($params)); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/YouTube/ResourceId.php b/vendor/google/apiclient-services/src/Google/Service/YouTube/ResourceId.php new file mode 100644 index 00000000..0e924c88 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/YouTube/ResourceId.php @@ -0,0 +1,57 @@ +channelId = $channelId; + } + public function getChannelId() + { + return $this->channelId; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setPlaylistId($playlistId) + { + $this->playlistId = $playlistId; + } + public function getPlaylistId() + { + return $this->playlistId; + } + public function setVideoId($videoId) + { + $this->videoId = $videoId; + } + public function getVideoId() + { + return $this->videoId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/YouTube/SearchListResponse.php b/vendor/google/apiclient-services/src/Google/Service/YouTube/SearchListResponse.php new file mode 100644 index 00000000..61a69ed2 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/YouTube/SearchListResponse.php @@ -0,0 +1,115 @@ +etag = $etag; + } + public function getEtag() + { + return $this->etag; + } + public function setEventId($eventId) + { + $this->eventId = $eventId; + } + public function getEventId() + { + return $this->eventId; + } + public function setItems($items) + { + $this->items = $items; + } + public function getItems() + { + return $this->items; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setPageInfo(Google_Service_YouTube_PageInfo $pageInfo) + { + $this->pageInfo = $pageInfo; + } + public function getPageInfo() + { + return $this->pageInfo; + } + public function setPrevPageToken($prevPageToken) + { + $this->prevPageToken = $prevPageToken; + } + public function getPrevPageToken() + { + return $this->prevPageToken; + } + public function setRegionCode($regionCode) + { + $this->regionCode = $regionCode; + } + public function getRegionCode() + { + return $this->regionCode; + } + public function setTokenPagination(Google_Service_YouTube_TokenPagination $tokenPagination) + { + $this->tokenPagination = $tokenPagination; + } + public function getTokenPagination() + { + return $this->tokenPagination; + } + public function setVisitorId($visitorId) + { + $this->visitorId = $visitorId; + } + public function getVisitorId() + { + return $this->visitorId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/YouTube/SearchResult.php b/vendor/google/apiclient-services/src/Google/Service/YouTube/SearchResult.php new file mode 100644 index 00000000..35e8a2b3 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/YouTube/SearchResult.php @@ -0,0 +1,59 @@ +etag = $etag; + } + public function getEtag() + { + return $this->etag; + } + public function setId(Google_Service_YouTube_ResourceId $id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setSnippet(Google_Service_YouTube_SearchResultSnippet $snippet) + { + $this->snippet = $snippet; + } + public function getSnippet() + { + return $this->snippet; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/YouTube/SearchResultSnippet.php b/vendor/google/apiclient-services/src/Google/Service/YouTube/SearchResultSnippet.php new file mode 100644 index 00000000..f40562e4 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/YouTube/SearchResultSnippet.php @@ -0,0 +1,85 @@ +channelId = $channelId; + } + public function getChannelId() + { + return $this->channelId; + } + public function setChannelTitle($channelTitle) + { + $this->channelTitle = $channelTitle; + } + public function getChannelTitle() + { + return $this->channelTitle; + } + public function setDescription($description) + { + $this->description = $description; + } + public function getDescription() + { + return $this->description; + } + public function setLiveBroadcastContent($liveBroadcastContent) + { + $this->liveBroadcastContent = $liveBroadcastContent; + } + public function getLiveBroadcastContent() + { + return $this->liveBroadcastContent; + } + public function setPublishedAt($publishedAt) + { + $this->publishedAt = $publishedAt; + } + public function getPublishedAt() + { + return $this->publishedAt; + } + public function setThumbnails(Google_Service_YouTube_ThumbnailDetails $thumbnails) + { + $this->thumbnails = $thumbnails; + } + public function getThumbnails() + { + return $this->thumbnails; + } + public function setTitle($title) + { + $this->title = $title; + } + public function getTitle() + { + return $this->title; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/YouTube/Sponsor.php b/vendor/google/apiclient-services/src/Google/Service/YouTube/Sponsor.php new file mode 100644 index 00000000..7c91fd2d --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/YouTube/Sponsor.php @@ -0,0 +1,58 @@ +etag = $etag; + } + public function getEtag() + { + return $this->etag; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setSnippet(Google_Service_YouTube_SponsorSnippet $snippet) + { + $this->snippet = $snippet; + } + public function getSnippet() + { + return $this->snippet; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/YouTube/SponsorListResponse.php b/vendor/google/apiclient-services/src/Google/Service/YouTube/SponsorListResponse.php new file mode 100644 index 00000000..f85333f6 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/YouTube/SponsorListResponse.php @@ -0,0 +1,97 @@ +etag = $etag; + } + public function getEtag() + { + return $this->etag; + } + public function setEventId($eventId) + { + $this->eventId = $eventId; + } + public function getEventId() + { + return $this->eventId; + } + public function setItems($items) + { + $this->items = $items; + } + public function getItems() + { + return $this->items; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setPageInfo(Google_Service_YouTube_PageInfo $pageInfo) + { + $this->pageInfo = $pageInfo; + } + public function getPageInfo() + { + return $this->pageInfo; + } + public function setTokenPagination(Google_Service_YouTube_TokenPagination $tokenPagination) + { + $this->tokenPagination = $tokenPagination; + } + public function getTokenPagination() + { + return $this->tokenPagination; + } + public function setVisitorId($visitorId) + { + $this->visitorId = $visitorId; + } + public function getVisitorId() + { + return $this->visitorId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/YouTube/SponsorSnippet.php b/vendor/google/apiclient-services/src/Google/Service/YouTube/SponsorSnippet.php new file mode 100644 index 00000000..3cbdfd56 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/YouTube/SponsorSnippet.php @@ -0,0 +1,49 @@ +channelId = $channelId; + } + public function getChannelId() + { + return $this->channelId; + } + public function setSponsorDetails(Google_Service_YouTube_ChannelProfileDetails $sponsorDetails) + { + $this->sponsorDetails = $sponsorDetails; + } + public function getSponsorDetails() + { + return $this->sponsorDetails; + } + public function setSponsorSince($sponsorSince) + { + $this->sponsorSince = $sponsorSince; + } + public function getSponsorSince() + { + return $this->sponsorSince; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/YouTube/Subscription.php b/vendor/google/apiclient-services/src/Google/Service/YouTube/Subscription.php new file mode 100644 index 00000000..6a299f57 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/YouTube/Subscription.php @@ -0,0 +1,78 @@ +contentDetails = $contentDetails; + } + public function getContentDetails() + { + return $this->contentDetails; + } + public function setEtag($etag) + { + $this->etag = $etag; + } + public function getEtag() + { + return $this->etag; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setSnippet(Google_Service_YouTube_SubscriptionSnippet $snippet) + { + $this->snippet = $snippet; + } + public function getSnippet() + { + return $this->snippet; + } + public function setSubscriberSnippet(Google_Service_YouTube_SubscriptionSubscriberSnippet $subscriberSnippet) + { + $this->subscriberSnippet = $subscriberSnippet; + } + public function getSubscriberSnippet() + { + return $this->subscriberSnippet; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/YouTube/SubscriptionContentDetails.php b/vendor/google/apiclient-services/src/Google/Service/YouTube/SubscriptionContentDetails.php new file mode 100644 index 00000000..09d5d830 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/YouTube/SubscriptionContentDetails.php @@ -0,0 +1,48 @@ +activityType = $activityType; + } + public function getActivityType() + { + return $this->activityType; + } + public function setNewItemCount($newItemCount) + { + $this->newItemCount = $newItemCount; + } + public function getNewItemCount() + { + return $this->newItemCount; + } + public function setTotalItemCount($totalItemCount) + { + $this->totalItemCount = $totalItemCount; + } + public function getTotalItemCount() + { + return $this->totalItemCount; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/YouTube/SubscriptionListResponse.php b/vendor/google/apiclient-services/src/Google/Service/YouTube/SubscriptionListResponse.php new file mode 100644 index 00000000..83af0cae --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/YouTube/SubscriptionListResponse.php @@ -0,0 +1,106 @@ +etag = $etag; + } + public function getEtag() + { + return $this->etag; + } + public function setEventId($eventId) + { + $this->eventId = $eventId; + } + public function getEventId() + { + return $this->eventId; + } + public function setItems($items) + { + $this->items = $items; + } + public function getItems() + { + return $this->items; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setPageInfo(Google_Service_YouTube_PageInfo $pageInfo) + { + $this->pageInfo = $pageInfo; + } + public function getPageInfo() + { + return $this->pageInfo; + } + public function setPrevPageToken($prevPageToken) + { + $this->prevPageToken = $prevPageToken; + } + public function getPrevPageToken() + { + return $this->prevPageToken; + } + public function setTokenPagination(Google_Service_YouTube_TokenPagination $tokenPagination) + { + $this->tokenPagination = $tokenPagination; + } + public function getTokenPagination() + { + return $this->tokenPagination; + } + public function setVisitorId($visitorId) + { + $this->visitorId = $visitorId; + } + public function getVisitorId() + { + return $this->visitorId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/YouTube/SubscriptionSnippet.php b/vendor/google/apiclient-services/src/Google/Service/YouTube/SubscriptionSnippet.php new file mode 100644 index 00000000..87981a18 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/YouTube/SubscriptionSnippet.php @@ -0,0 +1,86 @@ +channelId = $channelId; + } + public function getChannelId() + { + return $this->channelId; + } + public function setChannelTitle($channelTitle) + { + $this->channelTitle = $channelTitle; + } + public function getChannelTitle() + { + return $this->channelTitle; + } + public function setDescription($description) + { + $this->description = $description; + } + public function getDescription() + { + return $this->description; + } + public function setPublishedAt($publishedAt) + { + $this->publishedAt = $publishedAt; + } + public function getPublishedAt() + { + return $this->publishedAt; + } + public function setResourceId(Google_Service_YouTube_ResourceId $resourceId) + { + $this->resourceId = $resourceId; + } + public function getResourceId() + { + return $this->resourceId; + } + public function setThumbnails(Google_Service_YouTube_ThumbnailDetails $thumbnails) + { + $this->thumbnails = $thumbnails; + } + public function getThumbnails() + { + return $this->thumbnails; + } + public function setTitle($title) + { + $this->title = $title; + } + public function getTitle() + { + return $this->title; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/YouTube/SubscriptionSubscriberSnippet.php b/vendor/google/apiclient-services/src/Google/Service/YouTube/SubscriptionSubscriberSnippet.php new file mode 100644 index 00000000..131f6901 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/YouTube/SubscriptionSubscriberSnippet.php @@ -0,0 +1,58 @@ +channelId = $channelId; + } + public function getChannelId() + { + return $this->channelId; + } + public function setDescription($description) + { + $this->description = $description; + } + public function getDescription() + { + return $this->description; + } + public function setThumbnails(Google_Service_YouTube_ThumbnailDetails $thumbnails) + { + $this->thumbnails = $thumbnails; + } + public function getThumbnails() + { + return $this->thumbnails; + } + public function setTitle($title) + { + $this->title = $title; + } + public function getTitle() + { + return $this->title; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/YouTube/SuperChatEvent.php b/vendor/google/apiclient-services/src/Google/Service/YouTube/SuperChatEvent.php new file mode 100644 index 00000000..efba5c14 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/YouTube/SuperChatEvent.php @@ -0,0 +1,58 @@ +etag = $etag; + } + public function getEtag() + { + return $this->etag; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setSnippet(Google_Service_YouTube_SuperChatEventSnippet $snippet) + { + $this->snippet = $snippet; + } + public function getSnippet() + { + return $this->snippet; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/YouTube/SuperChatEventListResponse.php b/vendor/google/apiclient-services/src/Google/Service/YouTube/SuperChatEventListResponse.php new file mode 100644 index 00000000..b5119dab --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/YouTube/SuperChatEventListResponse.php @@ -0,0 +1,97 @@ +etag = $etag; + } + public function getEtag() + { + return $this->etag; + } + public function setEventId($eventId) + { + $this->eventId = $eventId; + } + public function getEventId() + { + return $this->eventId; + } + public function setItems($items) + { + $this->items = $items; + } + public function getItems() + { + return $this->items; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setPageInfo(Google_Service_YouTube_PageInfo $pageInfo) + { + $this->pageInfo = $pageInfo; + } + public function getPageInfo() + { + return $this->pageInfo; + } + public function setTokenPagination(Google_Service_YouTube_TokenPagination $tokenPagination) + { + $this->tokenPagination = $tokenPagination; + } + public function getTokenPagination() + { + return $this->tokenPagination; + } + public function setVisitorId($visitorId) + { + $this->visitorId = $visitorId; + } + public function getVisitorId() + { + return $this->visitorId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/YouTube/SuperChatEventSnippet.php b/vendor/google/apiclient-services/src/Google/Service/YouTube/SuperChatEventSnippet.php new file mode 100644 index 00000000..466aec3e --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/YouTube/SuperChatEventSnippet.php @@ -0,0 +1,94 @@ +amountMicros = $amountMicros; + } + public function getAmountMicros() + { + return $this->amountMicros; + } + public function setChannelId($channelId) + { + $this->channelId = $channelId; + } + public function getChannelId() + { + return $this->channelId; + } + public function setCommentText($commentText) + { + $this->commentText = $commentText; + } + public function getCommentText() + { + return $this->commentText; + } + public function setCreatedAt($createdAt) + { + $this->createdAt = $createdAt; + } + public function getCreatedAt() + { + return $this->createdAt; + } + public function setCurrency($currency) + { + $this->currency = $currency; + } + public function getCurrency() + { + return $this->currency; + } + public function setDisplayString($displayString) + { + $this->displayString = $displayString; + } + public function getDisplayString() + { + return $this->displayString; + } + public function setMessageType($messageType) + { + $this->messageType = $messageType; + } + public function getMessageType() + { + return $this->messageType; + } + public function setSupporterDetails(Google_Service_YouTube_ChannelProfileDetails $supporterDetails) + { + $this->supporterDetails = $supporterDetails; + } + public function getSupporterDetails() + { + return $this->supporterDetails; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/YouTube/Thumbnail.php b/vendor/google/apiclient-services/src/Google/Service/YouTube/Thumbnail.php new file mode 100644 index 00000000..ce02b03e --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/YouTube/Thumbnail.php @@ -0,0 +1,48 @@ +height = $height; + } + public function getHeight() + { + return $this->height; + } + public function setUrl($url) + { + $this->url = $url; + } + public function getUrl() + { + return $this->url; + } + public function setWidth($width) + { + $this->width = $width; + } + public function getWidth() + { + return $this->width; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/YouTube/ThumbnailDetails.php b/vendor/google/apiclient-services/src/Google/Service/YouTube/ThumbnailDetails.php new file mode 100644 index 00000000..2c391af5 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/YouTube/ThumbnailDetails.php @@ -0,0 +1,71 @@ +default = $default; + } + public function getDefault() + { + return $this->default; + } + public function setHigh(Google_Service_YouTube_Thumbnail $high) + { + $this->high = $high; + } + public function getHigh() + { + return $this->high; + } + public function setMaxres(Google_Service_YouTube_Thumbnail $maxres) + { + $this->maxres = $maxres; + } + public function getMaxres() + { + return $this->maxres; + } + public function setMedium(Google_Service_YouTube_Thumbnail $medium) + { + $this->medium = $medium; + } + public function getMedium() + { + return $this->medium; + } + public function setStandard(Google_Service_YouTube_Thumbnail $standard) + { + $this->standard = $standard; + } + public function getStandard() + { + return $this->standard; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/YouTube/ThumbnailSetResponse.php b/vendor/google/apiclient-services/src/Google/Service/YouTube/ThumbnailSetResponse.php new file mode 100644 index 00000000..0c7893a5 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/YouTube/ThumbnailSetResponse.php @@ -0,0 +1,68 @@ +etag = $etag; + } + public function getEtag() + { + return $this->etag; + } + public function setEventId($eventId) + { + $this->eventId = $eventId; + } + public function getEventId() + { + return $this->eventId; + } + public function setItems($items) + { + $this->items = $items; + } + public function getItems() + { + return $this->items; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setVisitorId($visitorId) + { + $this->visitorId = $visitorId; + } + public function getVisitorId() + { + return $this->visitorId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/YouTube/TokenPagination.php b/vendor/google/apiclient-services/src/Google/Service/YouTube/TokenPagination.php new file mode 100644 index 00000000..ead77041 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/YouTube/TokenPagination.php @@ -0,0 +1,20 @@ +ageGating = $ageGating; + } + public function getAgeGating() + { + return $this->ageGating; + } + public function setContentDetails(Google_Service_YouTube_VideoContentDetails $contentDetails) + { + $this->contentDetails = $contentDetails; + } + public function getContentDetails() + { + return $this->contentDetails; + } + public function setEtag($etag) + { + $this->etag = $etag; + } + public function getEtag() + { + return $this->etag; + } + public function setFileDetails(Google_Service_YouTube_VideoFileDetails $fileDetails) + { + $this->fileDetails = $fileDetails; + } + public function getFileDetails() + { + return $this->fileDetails; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setLiveStreamingDetails(Google_Service_YouTube_VideoLiveStreamingDetails $liveStreamingDetails) + { + $this->liveStreamingDetails = $liveStreamingDetails; + } + public function getLiveStreamingDetails() + { + return $this->liveStreamingDetails; + } + public function setLocalizations($localizations) + { + $this->localizations = $localizations; + } + public function getLocalizations() + { + return $this->localizations; + } + public function setMonetizationDetails(Google_Service_YouTube_VideoMonetizationDetails $monetizationDetails) + { + $this->monetizationDetails = $monetizationDetails; + } + public function getMonetizationDetails() + { + return $this->monetizationDetails; + } + public function setPlayer(Google_Service_YouTube_VideoPlayer $player) + { + $this->player = $player; + } + public function getPlayer() + { + return $this->player; + } + public function setProcessingDetails(Google_Service_YouTube_VideoProcessingDetails $processingDetails) + { + $this->processingDetails = $processingDetails; + } + public function getProcessingDetails() + { + return $this->processingDetails; + } + public function setProjectDetails(Google_Service_YouTube_VideoProjectDetails $projectDetails) + { + $this->projectDetails = $projectDetails; + } + public function getProjectDetails() + { + return $this->projectDetails; + } + public function setRecordingDetails(Google_Service_YouTube_VideoRecordingDetails $recordingDetails) + { + $this->recordingDetails = $recordingDetails; + } + public function getRecordingDetails() + { + return $this->recordingDetails; + } + public function setSnippet(Google_Service_YouTube_VideoSnippet $snippet) + { + $this->snippet = $snippet; + } + public function getSnippet() + { + return $this->snippet; + } + public function setStatistics(Google_Service_YouTube_VideoStatistics $statistics) + { + $this->statistics = $statistics; + } + public function getStatistics() + { + return $this->statistics; + } + public function setStatus(Google_Service_YouTube_VideoStatus $status) + { + $this->status = $status; + } + public function getStatus() + { + return $this->status; + } + public function setSuggestions(Google_Service_YouTube_VideoSuggestions $suggestions) + { + $this->suggestions = $suggestions; + } + public function getSuggestions() + { + return $this->suggestions; + } + public function setTopicDetails(Google_Service_YouTube_VideoTopicDetails $topicDetails) + { + $this->topicDetails = $topicDetails; + } + public function getTopicDetails() + { + return $this->topicDetails; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/YouTube/VideoAbuseReport.php b/vendor/google/apiclient-services/src/Google/Service/YouTube/VideoAbuseReport.php new file mode 100644 index 00000000..d8c36670 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/YouTube/VideoAbuseReport.php @@ -0,0 +1,66 @@ +comments = $comments; + } + public function getComments() + { + return $this->comments; + } + public function setLanguage($language) + { + $this->language = $language; + } + public function getLanguage() + { + return $this->language; + } + public function setReasonId($reasonId) + { + $this->reasonId = $reasonId; + } + public function getReasonId() + { + return $this->reasonId; + } + public function setSecondaryReasonId($secondaryReasonId) + { + $this->secondaryReasonId = $secondaryReasonId; + } + public function getSecondaryReasonId() + { + return $this->secondaryReasonId; + } + public function setVideoId($videoId) + { + $this->videoId = $videoId; + } + public function getVideoId() + { + return $this->videoId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/YouTube/VideoAbuseReportReason.php b/vendor/google/apiclient-services/src/Google/Service/YouTube/VideoAbuseReportReason.php new file mode 100644 index 00000000..50007d7c --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/YouTube/VideoAbuseReportReason.php @@ -0,0 +1,58 @@ +etag = $etag; + } + public function getEtag() + { + return $this->etag; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setSnippet(Google_Service_YouTube_VideoAbuseReportReasonSnippet $snippet) + { + $this->snippet = $snippet; + } + public function getSnippet() + { + return $this->snippet; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/YouTube/VideoAbuseReportReasonListResponse.php b/vendor/google/apiclient-services/src/Google/Service/YouTube/VideoAbuseReportReasonListResponse.php new file mode 100644 index 00000000..cb3b8acd --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/YouTube/VideoAbuseReportReasonListResponse.php @@ -0,0 +1,68 @@ +etag = $etag; + } + public function getEtag() + { + return $this->etag; + } + public function setEventId($eventId) + { + $this->eventId = $eventId; + } + public function getEventId() + { + return $this->eventId; + } + public function setItems($items) + { + $this->items = $items; + } + public function getItems() + { + return $this->items; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setVisitorId($visitorId) + { + $this->visitorId = $visitorId; + } + public function getVisitorId() + { + return $this->visitorId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/YouTube/VideoAbuseReportReasonSnippet.php b/vendor/google/apiclient-services/src/Google/Service/YouTube/VideoAbuseReportReasonSnippet.php new file mode 100644 index 00000000..ae0e2c0c --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/YouTube/VideoAbuseReportReasonSnippet.php @@ -0,0 +1,41 @@ +label = $label; + } + public function getLabel() + { + return $this->label; + } + public function setSecondaryReasons($secondaryReasons) + { + $this->secondaryReasons = $secondaryReasons; + } + public function getSecondaryReasons() + { + return $this->secondaryReasons; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/YouTube/VideoAbuseReportSecondaryReason.php b/vendor/google/apiclient-services/src/Google/Service/YouTube/VideoAbuseReportSecondaryReason.php new file mode 100644 index 00000000..03cff4ef --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/YouTube/VideoAbuseReportSecondaryReason.php @@ -0,0 +1,39 @@ +id = $id; + } + public function getId() + { + return $this->id; + } + public function setLabel($label) + { + $this->label = $label; + } + public function getLabel() + { + return $this->label; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/YouTube/VideoAgeGating.php b/vendor/google/apiclient-services/src/Google/Service/YouTube/VideoAgeGating.php new file mode 100644 index 00000000..51994787 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/YouTube/VideoAgeGating.php @@ -0,0 +1,48 @@ +alcoholContent = $alcoholContent; + } + public function getAlcoholContent() + { + return $this->alcoholContent; + } + public function setRestricted($restricted) + { + $this->restricted = $restricted; + } + public function getRestricted() + { + return $this->restricted; + } + public function setVideoGameRating($videoGameRating) + { + $this->videoGameRating = $videoGameRating; + } + public function getVideoGameRating() + { + return $this->videoGameRating; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/YouTube/VideoCategory.php b/vendor/google/apiclient-services/src/Google/Service/YouTube/VideoCategory.php new file mode 100644 index 00000000..e909d75e --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/YouTube/VideoCategory.php @@ -0,0 +1,58 @@ +etag = $etag; + } + public function getEtag() + { + return $this->etag; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setSnippet(Google_Service_YouTube_VideoCategorySnippet $snippet) + { + $this->snippet = $snippet; + } + public function getSnippet() + { + return $this->snippet; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/YouTube/VideoCategoryListResponse.php b/vendor/google/apiclient-services/src/Google/Service/YouTube/VideoCategoryListResponse.php new file mode 100644 index 00000000..6759c9a9 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/YouTube/VideoCategoryListResponse.php @@ -0,0 +1,106 @@ +etag = $etag; + } + public function getEtag() + { + return $this->etag; + } + public function setEventId($eventId) + { + $this->eventId = $eventId; + } + public function getEventId() + { + return $this->eventId; + } + public function setItems($items) + { + $this->items = $items; + } + public function getItems() + { + return $this->items; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setPageInfo(Google_Service_YouTube_PageInfo $pageInfo) + { + $this->pageInfo = $pageInfo; + } + public function getPageInfo() + { + return $this->pageInfo; + } + public function setPrevPageToken($prevPageToken) + { + $this->prevPageToken = $prevPageToken; + } + public function getPrevPageToken() + { + return $this->prevPageToken; + } + public function setTokenPagination(Google_Service_YouTube_TokenPagination $tokenPagination) + { + $this->tokenPagination = $tokenPagination; + } + public function getTokenPagination() + { + return $this->tokenPagination; + } + public function setVisitorId($visitorId) + { + $this->visitorId = $visitorId; + } + public function getVisitorId() + { + return $this->visitorId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/YouTube/VideoCategorySnippet.php b/vendor/google/apiclient-services/src/Google/Service/YouTube/VideoCategorySnippet.php new file mode 100644 index 00000000..09452e13 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/YouTube/VideoCategorySnippet.php @@ -0,0 +1,48 @@ +assignable = $assignable; + } + public function getAssignable() + { + return $this->assignable; + } + public function setChannelId($channelId) + { + $this->channelId = $channelId; + } + public function getChannelId() + { + return $this->channelId; + } + public function setTitle($title) + { + $this->title = $title; + } + public function getTitle() + { + return $this->title; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/YouTube/VideoContentDetails.php b/vendor/google/apiclient-services/src/Google/Service/YouTube/VideoContentDetails.php new file mode 100644 index 00000000..52c0a1a3 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/YouTube/VideoContentDetails.php @@ -0,0 +1,114 @@ +caption = $caption; + } + public function getCaption() + { + return $this->caption; + } + public function setContentRating(Google_Service_YouTube_ContentRating $contentRating) + { + $this->contentRating = $contentRating; + } + public function getContentRating() + { + return $this->contentRating; + } + public function setCountryRestriction(Google_Service_YouTube_AccessPolicy $countryRestriction) + { + $this->countryRestriction = $countryRestriction; + } + public function getCountryRestriction() + { + return $this->countryRestriction; + } + public function setDefinition($definition) + { + $this->definition = $definition; + } + public function getDefinition() + { + return $this->definition; + } + public function setDimension($dimension) + { + $this->dimension = $dimension; + } + public function getDimension() + { + return $this->dimension; + } + public function setDuration($duration) + { + $this->duration = $duration; + } + public function getDuration() + { + return $this->duration; + } + public function setHasCustomThumbnail($hasCustomThumbnail) + { + $this->hasCustomThumbnail = $hasCustomThumbnail; + } + public function getHasCustomThumbnail() + { + return $this->hasCustomThumbnail; + } + public function setLicensedContent($licensedContent) + { + $this->licensedContent = $licensedContent; + } + public function getLicensedContent() + { + return $this->licensedContent; + } + public function setProjection($projection) + { + $this->projection = $projection; + } + public function getProjection() + { + return $this->projection; + } + public function setRegionRestriction(Google_Service_YouTube_VideoContentDetailsRegionRestriction $regionRestriction) + { + $this->regionRestriction = $regionRestriction; + } + public function getRegionRestriction() + { + return $this->regionRestriction; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/YouTube/VideoContentDetailsRegionRestriction.php b/vendor/google/apiclient-services/src/Google/Service/YouTube/VideoContentDetailsRegionRestriction.php new file mode 100644 index 00000000..8a276d01 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/YouTube/VideoContentDetailsRegionRestriction.php @@ -0,0 +1,40 @@ +allowed = $allowed; + } + public function getAllowed() + { + return $this->allowed; + } + public function setBlocked($blocked) + { + $this->blocked = $blocked; + } + public function getBlocked() + { + return $this->blocked; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/YouTube/VideoFileDetails.php b/vendor/google/apiclient-services/src/Google/Service/YouTube/VideoFileDetails.php new file mode 100644 index 00000000..eb04edf2 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/YouTube/VideoFileDetails.php @@ -0,0 +1,105 @@ +audioStreams = $audioStreams; + } + public function getAudioStreams() + { + return $this->audioStreams; + } + public function setBitrateBps($bitrateBps) + { + $this->bitrateBps = $bitrateBps; + } + public function getBitrateBps() + { + return $this->bitrateBps; + } + public function setContainer($container) + { + $this->container = $container; + } + public function getContainer() + { + return $this->container; + } + public function setCreationTime($creationTime) + { + $this->creationTime = $creationTime; + } + public function getCreationTime() + { + return $this->creationTime; + } + public function setDurationMs($durationMs) + { + $this->durationMs = $durationMs; + } + public function getDurationMs() + { + return $this->durationMs; + } + public function setFileName($fileName) + { + $this->fileName = $fileName; + } + public function getFileName() + { + return $this->fileName; + } + public function setFileSize($fileSize) + { + $this->fileSize = $fileSize; + } + public function getFileSize() + { + return $this->fileSize; + } + public function setFileType($fileType) + { + $this->fileType = $fileType; + } + public function getFileType() + { + return $this->fileType; + } + public function setVideoStreams($videoStreams) + { + $this->videoStreams = $videoStreams; + } + public function getVideoStreams() + { + return $this->videoStreams; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/YouTube/VideoFileDetailsAudioStream.php b/vendor/google/apiclient-services/src/Google/Service/YouTube/VideoFileDetailsAudioStream.php new file mode 100644 index 00000000..3220b52e --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/YouTube/VideoFileDetailsAudioStream.php @@ -0,0 +1,57 @@ +bitrateBps = $bitrateBps; + } + public function getBitrateBps() + { + return $this->bitrateBps; + } + public function setChannelCount($channelCount) + { + $this->channelCount = $channelCount; + } + public function getChannelCount() + { + return $this->channelCount; + } + public function setCodec($codec) + { + $this->codec = $codec; + } + public function getCodec() + { + return $this->codec; + } + public function setVendor($vendor) + { + $this->vendor = $vendor; + } + public function getVendor() + { + return $this->vendor; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/YouTube/VideoFileDetailsVideoStream.php b/vendor/google/apiclient-services/src/Google/Service/YouTube/VideoFileDetailsVideoStream.php new file mode 100644 index 00000000..89a88237 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/YouTube/VideoFileDetailsVideoStream.php @@ -0,0 +1,93 @@ +aspectRatio = $aspectRatio; + } + public function getAspectRatio() + { + return $this->aspectRatio; + } + public function setBitrateBps($bitrateBps) + { + $this->bitrateBps = $bitrateBps; + } + public function getBitrateBps() + { + return $this->bitrateBps; + } + public function setCodec($codec) + { + $this->codec = $codec; + } + public function getCodec() + { + return $this->codec; + } + public function setFrameRateFps($frameRateFps) + { + $this->frameRateFps = $frameRateFps; + } + public function getFrameRateFps() + { + return $this->frameRateFps; + } + public function setHeightPixels($heightPixels) + { + $this->heightPixels = $heightPixels; + } + public function getHeightPixels() + { + return $this->heightPixels; + } + public function setRotation($rotation) + { + $this->rotation = $rotation; + } + public function getRotation() + { + return $this->rotation; + } + public function setVendor($vendor) + { + $this->vendor = $vendor; + } + public function getVendor() + { + return $this->vendor; + } + public function setWidthPixels($widthPixels) + { + $this->widthPixels = $widthPixels; + } + public function getWidthPixels() + { + return $this->widthPixels; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/YouTube/VideoGetRatingResponse.php b/vendor/google/apiclient-services/src/Google/Service/YouTube/VideoGetRatingResponse.php new file mode 100644 index 00000000..d8d9f033 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/YouTube/VideoGetRatingResponse.php @@ -0,0 +1,68 @@ +etag = $etag; + } + public function getEtag() + { + return $this->etag; + } + public function setEventId($eventId) + { + $this->eventId = $eventId; + } + public function getEventId() + { + return $this->eventId; + } + public function setItems($items) + { + $this->items = $items; + } + public function getItems() + { + return $this->items; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setVisitorId($visitorId) + { + $this->visitorId = $visitorId; + } + public function getVisitorId() + { + return $this->visitorId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/YouTube/VideoListResponse.php b/vendor/google/apiclient-services/src/Google/Service/YouTube/VideoListResponse.php new file mode 100644 index 00000000..2f1f4df0 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/YouTube/VideoListResponse.php @@ -0,0 +1,106 @@ +etag = $etag; + } + public function getEtag() + { + return $this->etag; + } + public function setEventId($eventId) + { + $this->eventId = $eventId; + } + public function getEventId() + { + return $this->eventId; + } + public function setItems($items) + { + $this->items = $items; + } + public function getItems() + { + return $this->items; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setPageInfo(Google_Service_YouTube_PageInfo $pageInfo) + { + $this->pageInfo = $pageInfo; + } + public function getPageInfo() + { + return $this->pageInfo; + } + public function setPrevPageToken($prevPageToken) + { + $this->prevPageToken = $prevPageToken; + } + public function getPrevPageToken() + { + return $this->prevPageToken; + } + public function setTokenPagination(Google_Service_YouTube_TokenPagination $tokenPagination) + { + $this->tokenPagination = $tokenPagination; + } + public function getTokenPagination() + { + return $this->tokenPagination; + } + public function setVisitorId($visitorId) + { + $this->visitorId = $visitorId; + } + public function getVisitorId() + { + return $this->visitorId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/YouTube/VideoLiveStreamingDetails.php b/vendor/google/apiclient-services/src/Google/Service/YouTube/VideoLiveStreamingDetails.php new file mode 100644 index 00000000..14de20da --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/YouTube/VideoLiveStreamingDetails.php @@ -0,0 +1,75 @@ +activeLiveChatId = $activeLiveChatId; + } + public function getActiveLiveChatId() + { + return $this->activeLiveChatId; + } + public function setActualEndTime($actualEndTime) + { + $this->actualEndTime = $actualEndTime; + } + public function getActualEndTime() + { + return $this->actualEndTime; + } + public function setActualStartTime($actualStartTime) + { + $this->actualStartTime = $actualStartTime; + } + public function getActualStartTime() + { + return $this->actualStartTime; + } + public function setConcurrentViewers($concurrentViewers) + { + $this->concurrentViewers = $concurrentViewers; + } + public function getConcurrentViewers() + { + return $this->concurrentViewers; + } + public function setScheduledEndTime($scheduledEndTime) + { + $this->scheduledEndTime = $scheduledEndTime; + } + public function getScheduledEndTime() + { + return $this->scheduledEndTime; + } + public function setScheduledStartTime($scheduledStartTime) + { + $this->scheduledStartTime = $scheduledStartTime; + } + public function getScheduledStartTime() + { + return $this->scheduledStartTime; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/YouTube/VideoLocalization.php b/vendor/google/apiclient-services/src/Google/Service/YouTube/VideoLocalization.php new file mode 100644 index 00000000..6947da5c --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/YouTube/VideoLocalization.php @@ -0,0 +1,39 @@ +description = $description; + } + public function getDescription() + { + return $this->description; + } + public function setTitle($title) + { + $this->title = $title; + } + public function getTitle() + { + return $this->title; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/YouTube/VideoMonetizationDetails.php b/vendor/google/apiclient-services/src/Google/Service/YouTube/VideoMonetizationDetails.php new file mode 100644 index 00000000..8352fcb6 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/YouTube/VideoMonetizationDetails.php @@ -0,0 +1,31 @@ +access = $access; + } + public function getAccess() + { + return $this->access; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/YouTube/VideoPlayer.php b/vendor/google/apiclient-services/src/Google/Service/YouTube/VideoPlayer.php new file mode 100644 index 00000000..025dbadf --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/YouTube/VideoPlayer.php @@ -0,0 +1,48 @@ +embedHeight = $embedHeight; + } + public function getEmbedHeight() + { + return $this->embedHeight; + } + public function setEmbedHtml($embedHtml) + { + $this->embedHtml = $embedHtml; + } + public function getEmbedHtml() + { + return $this->embedHtml; + } + public function setEmbedWidth($embedWidth) + { + $this->embedWidth = $embedWidth; + } + public function getEmbedWidth() + { + return $this->embedWidth; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/YouTube/VideoProcessingDetails.php b/vendor/google/apiclient-services/src/Google/Service/YouTube/VideoProcessingDetails.php new file mode 100644 index 00000000..1db7f2a5 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/YouTube/VideoProcessingDetails.php @@ -0,0 +1,94 @@ +editorSuggestionsAvailability = $editorSuggestionsAvailability; + } + public function getEditorSuggestionsAvailability() + { + return $this->editorSuggestionsAvailability; + } + public function setFileDetailsAvailability($fileDetailsAvailability) + { + $this->fileDetailsAvailability = $fileDetailsAvailability; + } + public function getFileDetailsAvailability() + { + return $this->fileDetailsAvailability; + } + public function setProcessingFailureReason($processingFailureReason) + { + $this->processingFailureReason = $processingFailureReason; + } + public function getProcessingFailureReason() + { + return $this->processingFailureReason; + } + public function setProcessingIssuesAvailability($processingIssuesAvailability) + { + $this->processingIssuesAvailability = $processingIssuesAvailability; + } + public function getProcessingIssuesAvailability() + { + return $this->processingIssuesAvailability; + } + public function setProcessingProgress(Google_Service_YouTube_VideoProcessingDetailsProcessingProgress $processingProgress) + { + $this->processingProgress = $processingProgress; + } + public function getProcessingProgress() + { + return $this->processingProgress; + } + public function setProcessingStatus($processingStatus) + { + $this->processingStatus = $processingStatus; + } + public function getProcessingStatus() + { + return $this->processingStatus; + } + public function setTagSuggestionsAvailability($tagSuggestionsAvailability) + { + $this->tagSuggestionsAvailability = $tagSuggestionsAvailability; + } + public function getTagSuggestionsAvailability() + { + return $this->tagSuggestionsAvailability; + } + public function setThumbnailsAvailability($thumbnailsAvailability) + { + $this->thumbnailsAvailability = $thumbnailsAvailability; + } + public function getThumbnailsAvailability() + { + return $this->thumbnailsAvailability; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/YouTube/VideoProcessingDetailsProcessingProgress.php b/vendor/google/apiclient-services/src/Google/Service/YouTube/VideoProcessingDetailsProcessingProgress.php new file mode 100644 index 00000000..0a93151d --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/YouTube/VideoProcessingDetailsProcessingProgress.php @@ -0,0 +1,48 @@ +partsProcessed = $partsProcessed; + } + public function getPartsProcessed() + { + return $this->partsProcessed; + } + public function setPartsTotal($partsTotal) + { + $this->partsTotal = $partsTotal; + } + public function getPartsTotal() + { + return $this->partsTotal; + } + public function setTimeLeftMs($timeLeftMs) + { + $this->timeLeftMs = $timeLeftMs; + } + public function getTimeLeftMs() + { + return $this->timeLeftMs; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/YouTube/VideoProjectDetails.php b/vendor/google/apiclient-services/src/Google/Service/YouTube/VideoProjectDetails.php new file mode 100644 index 00000000..22e5f1ef --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/YouTube/VideoProjectDetails.php @@ -0,0 +1,31 @@ +tags = $tags; + } + public function getTags() + { + return $this->tags; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/YouTube/VideoRating.php b/vendor/google/apiclient-services/src/Google/Service/YouTube/VideoRating.php new file mode 100644 index 00000000..b396f6b3 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/YouTube/VideoRating.php @@ -0,0 +1,39 @@ +rating = $rating; + } + public function getRating() + { + return $this->rating; + } + public function setVideoId($videoId) + { + $this->videoId = $videoId; + } + public function getVideoId() + { + return $this->videoId; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/YouTube/VideoRecordingDetails.php b/vendor/google/apiclient-services/src/Google/Service/YouTube/VideoRecordingDetails.php new file mode 100644 index 00000000..eda99ea0 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/YouTube/VideoRecordingDetails.php @@ -0,0 +1,49 @@ +location = $location; + } + public function getLocation() + { + return $this->location; + } + public function setLocationDescription($locationDescription) + { + $this->locationDescription = $locationDescription; + } + public function getLocationDescription() + { + return $this->locationDescription; + } + public function setRecordingDate($recordingDate) + { + $this->recordingDate = $recordingDate; + } + public function getRecordingDate() + { + return $this->recordingDate; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/YouTube/VideoSnippet.php b/vendor/google/apiclient-services/src/Google/Service/YouTube/VideoSnippet.php new file mode 100644 index 00000000..67e33d45 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/YouTube/VideoSnippet.php @@ -0,0 +1,132 @@ +categoryId = $categoryId; + } + public function getCategoryId() + { + return $this->categoryId; + } + public function setChannelId($channelId) + { + $this->channelId = $channelId; + } + public function getChannelId() + { + return $this->channelId; + } + public function setChannelTitle($channelTitle) + { + $this->channelTitle = $channelTitle; + } + public function getChannelTitle() + { + return $this->channelTitle; + } + public function setDefaultAudioLanguage($defaultAudioLanguage) + { + $this->defaultAudioLanguage = $defaultAudioLanguage; + } + public function getDefaultAudioLanguage() + { + return $this->defaultAudioLanguage; + } + public function setDefaultLanguage($defaultLanguage) + { + $this->defaultLanguage = $defaultLanguage; + } + public function getDefaultLanguage() + { + return $this->defaultLanguage; + } + public function setDescription($description) + { + $this->description = $description; + } + public function getDescription() + { + return $this->description; + } + public function setLiveBroadcastContent($liveBroadcastContent) + { + $this->liveBroadcastContent = $liveBroadcastContent; + } + public function getLiveBroadcastContent() + { + return $this->liveBroadcastContent; + } + public function setLocalized(Google_Service_YouTube_VideoLocalization $localized) + { + $this->localized = $localized; + } + public function getLocalized() + { + return $this->localized; + } + public function setPublishedAt($publishedAt) + { + $this->publishedAt = $publishedAt; + } + public function getPublishedAt() + { + return $this->publishedAt; + } + public function setTags($tags) + { + $this->tags = $tags; + } + public function getTags() + { + return $this->tags; + } + public function setThumbnails(Google_Service_YouTube_ThumbnailDetails $thumbnails) + { + $this->thumbnails = $thumbnails; + } + public function getThumbnails() + { + return $this->thumbnails; + } + public function setTitle($title) + { + $this->title = $title; + } + public function getTitle() + { + return $this->title; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/YouTube/VideoStatistics.php b/vendor/google/apiclient-services/src/Google/Service/YouTube/VideoStatistics.php new file mode 100644 index 00000000..18c20900 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/YouTube/VideoStatistics.php @@ -0,0 +1,66 @@ +commentCount = $commentCount; + } + public function getCommentCount() + { + return $this->commentCount; + } + public function setDislikeCount($dislikeCount) + { + $this->dislikeCount = $dislikeCount; + } + public function getDislikeCount() + { + return $this->dislikeCount; + } + public function setFavoriteCount($favoriteCount) + { + $this->favoriteCount = $favoriteCount; + } + public function getFavoriteCount() + { + return $this->favoriteCount; + } + public function setLikeCount($likeCount) + { + $this->likeCount = $likeCount; + } + public function getLikeCount() + { + return $this->likeCount; + } + public function setViewCount($viewCount) + { + $this->viewCount = $viewCount; + } + public function getViewCount() + { + return $this->viewCount; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/YouTube/VideoStatus.php b/vendor/google/apiclient-services/src/Google/Service/YouTube/VideoStatus.php new file mode 100644 index 00000000..d367f3c6 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/YouTube/VideoStatus.php @@ -0,0 +1,93 @@ +embeddable = $embeddable; + } + public function getEmbeddable() + { + return $this->embeddable; + } + public function setFailureReason($failureReason) + { + $this->failureReason = $failureReason; + } + public function getFailureReason() + { + return $this->failureReason; + } + public function setLicense($license) + { + $this->license = $license; + } + public function getLicense() + { + return $this->license; + } + public function setPrivacyStatus($privacyStatus) + { + $this->privacyStatus = $privacyStatus; + } + public function getPrivacyStatus() + { + return $this->privacyStatus; + } + public function setPublicStatsViewable($publicStatsViewable) + { + $this->publicStatsViewable = $publicStatsViewable; + } + public function getPublicStatsViewable() + { + return $this->publicStatsViewable; + } + public function setPublishAt($publishAt) + { + $this->publishAt = $publishAt; + } + public function getPublishAt() + { + return $this->publishAt; + } + public function setRejectionReason($rejectionReason) + { + $this->rejectionReason = $rejectionReason; + } + public function getRejectionReason() + { + return $this->rejectionReason; + } + public function setUploadStatus($uploadStatus) + { + $this->uploadStatus = $uploadStatus; + } + public function getUploadStatus() + { + return $this->uploadStatus; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/YouTube/VideoSuggestions.php b/vendor/google/apiclient-services/src/Google/Service/YouTube/VideoSuggestions.php new file mode 100644 index 00000000..e2b96d8b --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/YouTube/VideoSuggestions.php @@ -0,0 +1,68 @@ +editorSuggestions = $editorSuggestions; + } + public function getEditorSuggestions() + { + return $this->editorSuggestions; + } + public function setProcessingErrors($processingErrors) + { + $this->processingErrors = $processingErrors; + } + public function getProcessingErrors() + { + return $this->processingErrors; + } + public function setProcessingHints($processingHints) + { + $this->processingHints = $processingHints; + } + public function getProcessingHints() + { + return $this->processingHints; + } + public function setProcessingWarnings($processingWarnings) + { + $this->processingWarnings = $processingWarnings; + } + public function getProcessingWarnings() + { + return $this->processingWarnings; + } + public function setTagSuggestions($tagSuggestions) + { + $this->tagSuggestions = $tagSuggestions; + } + public function getTagSuggestions() + { + return $this->tagSuggestions; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/YouTube/VideoSuggestionsTagSuggestion.php b/vendor/google/apiclient-services/src/Google/Service/YouTube/VideoSuggestionsTagSuggestion.php new file mode 100644 index 00000000..fef8bfbd --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/YouTube/VideoSuggestionsTagSuggestion.php @@ -0,0 +1,40 @@ +categoryRestricts = $categoryRestricts; + } + public function getCategoryRestricts() + { + return $this->categoryRestricts; + } + public function setTag($tag) + { + $this->tag = $tag; + } + public function getTag() + { + return $this->tag; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/YouTube/VideoTopicDetails.php b/vendor/google/apiclient-services/src/Google/Service/YouTube/VideoTopicDetails.php new file mode 100644 index 00000000..f2f2fec0 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/YouTube/VideoTopicDetails.php @@ -0,0 +1,49 @@ +relevantTopicIds = $relevantTopicIds; + } + public function getRelevantTopicIds() + { + return $this->relevantTopicIds; + } + public function setTopicCategories($topicCategories) + { + $this->topicCategories = $topicCategories; + } + public function getTopicCategories() + { + return $this->topicCategories; + } + public function setTopicIds($topicIds) + { + $this->topicIds = $topicIds; + } + public function getTopicIds() + { + return $this->topicIds; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/YouTube/WatchSettings.php b/vendor/google/apiclient-services/src/Google/Service/YouTube/WatchSettings.php new file mode 100644 index 00000000..bfc29521 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/YouTube/WatchSettings.php @@ -0,0 +1,48 @@ +backgroundColor = $backgroundColor; + } + public function getBackgroundColor() + { + return $this->backgroundColor; + } + public function setFeaturedPlaylistId($featuredPlaylistId) + { + $this->featuredPlaylistId = $featuredPlaylistId; + } + public function getFeaturedPlaylistId() + { + return $this->featuredPlaylistId; + } + public function setTextColor($textColor) + { + $this->textColor = $textColor; + } + public function getTextColor() + { + return $this->textColor; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/YouTubeAnalytics.php b/vendor/google/apiclient-services/src/Google/Service/YouTubeAnalytics.php new file mode 100644 index 00000000..9d30f156 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/YouTubeAnalytics.php @@ -0,0 +1,240 @@ + + * Retrieves your YouTube Analytics data.

+ * + *

+ * For more information about this service, see the API + * Documentation + *

+ * + * @author Google, Inc. + */ +class Google_Service_YouTubeAnalytics extends Google_Service +{ + /** Manage your YouTube account. */ + const YOUTUBE = + "https://www.googleapis.com/auth/youtube"; + /** View your YouTube account. */ + const YOUTUBE_READONLY = + "https://www.googleapis.com/auth/youtube.readonly"; + /** View and manage your assets and associated content on YouTube. */ + const YOUTUBEPARTNER = + "https://www.googleapis.com/auth/youtubepartner"; + /** View monetary and non-monetary YouTube Analytics reports for your YouTube content. */ + const YT_ANALYTICS_MONETARY_READONLY = + "https://www.googleapis.com/auth/yt-analytics-monetary.readonly"; + /** View YouTube Analytics reports for your YouTube content. */ + const YT_ANALYTICS_READONLY = + "https://www.googleapis.com/auth/yt-analytics.readonly"; + + public $groupItems; + public $groups; + public $reports; + + /** + * Constructs the internal representation of the YouTubeAnalytics service. + * + * @param Google_Client $client + */ + public function __construct(Google_Client $client) + { + parent::__construct($client); + $this->rootUrl = 'https://www.googleapis.com/'; + $this->servicePath = 'youtube/analytics/v1/'; + $this->version = 'v1'; + $this->serviceName = 'youtubeAnalytics'; + + $this->groupItems = new Google_Service_YouTubeAnalytics_Resource_GroupItems( + $this, + $this->serviceName, + 'groupItems', + array( + 'methods' => array( + 'delete' => array( + 'path' => 'groupItems', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'id' => array( + 'location' => 'query', + 'type' => 'string', + 'required' => true, + ), + 'onBehalfOfContentOwner' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'insert' => array( + 'path' => 'groupItems', + 'httpMethod' => 'POST', + 'parameters' => array( + 'onBehalfOfContentOwner' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'list' => array( + 'path' => 'groupItems', + 'httpMethod' => 'GET', + 'parameters' => array( + 'groupId' => array( + 'location' => 'query', + 'type' => 'string', + 'required' => true, + ), + 'onBehalfOfContentOwner' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + $this->groups = new Google_Service_YouTubeAnalytics_Resource_Groups( + $this, + $this->serviceName, + 'groups', + array( + 'methods' => array( + 'delete' => array( + 'path' => 'groups', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'id' => array( + 'location' => 'query', + 'type' => 'string', + 'required' => true, + ), + 'onBehalfOfContentOwner' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'insert' => array( + 'path' => 'groups', + 'httpMethod' => 'POST', + 'parameters' => array( + 'onBehalfOfContentOwner' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'list' => array( + 'path' => 'groups', + 'httpMethod' => 'GET', + 'parameters' => array( + 'id' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'mine' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + 'onBehalfOfContentOwner' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'update' => array( + 'path' => 'groups', + 'httpMethod' => 'PUT', + 'parameters' => array( + 'onBehalfOfContentOwner' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ), + ) + ) + ); + $this->reports = new Google_Service_YouTubeAnalytics_Resource_Reports( + $this, + $this->serviceName, + 'reports', + array( + 'methods' => array( + 'query' => array( + 'path' => 'reports', + 'httpMethod' => 'GET', + 'parameters' => array( + 'ids' => array( + 'location' => 'query', + 'type' => 'string', + 'required' => true, + ), + 'start-date' => array( + 'location' => 'query', + 'type' => 'string', + 'required' => true, + ), + 'end-date' => array( + 'location' => 'query', + 'type' => 'string', + 'required' => true, + ), + 'metrics' => array( + 'location' => 'query', + 'type' => 'string', + 'required' => true, + ), + 'currency' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'dimensions' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'filters' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'include-historical-channel-data' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + 'max-results' => array( + 'location' => 'query', + 'type' => 'integer', + ), + 'sort' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'start-index' => array( + 'location' => 'query', + 'type' => 'integer', + ), + ), + ), + ) + ) + ); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/YouTubeAnalytics/BatchReport.php b/vendor/google/apiclient-services/src/Google/Service/YouTubeAnalytics/BatchReport.php new file mode 100644 index 00000000..d0193100 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/YouTubeAnalytics/BatchReport.php @@ -0,0 +1,78 @@ +id = $id; + } + public function getId() + { + return $this->id; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setOutputs($outputs) + { + $this->outputs = $outputs; + } + public function getOutputs() + { + return $this->outputs; + } + public function setReportId($reportId) + { + $this->reportId = $reportId; + } + public function getReportId() + { + return $this->reportId; + } + public function setTimeSpan(Google_Service_YouTubeAnalytics_BatchReportTimeSpan $timeSpan) + { + $this->timeSpan = $timeSpan; + } + public function getTimeSpan() + { + return $this->timeSpan; + } + public function setTimeUpdated($timeUpdated) + { + $this->timeUpdated = $timeUpdated; + } + public function getTimeUpdated() + { + return $this->timeUpdated; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/YouTubeAnalytics/BatchReportDefinition.php b/vendor/google/apiclient-services/src/Google/Service/YouTubeAnalytics/BatchReportDefinition.php new file mode 100644 index 00000000..233b2560 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/YouTubeAnalytics/BatchReportDefinition.php @@ -0,0 +1,66 @@ +id = $id; + } + public function getId() + { + return $this->id; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setStatus($status) + { + $this->status = $status; + } + public function getStatus() + { + return $this->status; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/YouTubeAnalytics/BatchReportDefinitionList.php b/vendor/google/apiclient-services/src/Google/Service/YouTubeAnalytics/BatchReportDefinitionList.php new file mode 100644 index 00000000..116f141b --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/YouTubeAnalytics/BatchReportDefinitionList.php @@ -0,0 +1,41 @@ +items = $items; + } + public function getItems() + { + return $this->items; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/YouTubeAnalytics/BatchReportList.php b/vendor/google/apiclient-services/src/Google/Service/YouTubeAnalytics/BatchReportList.php new file mode 100644 index 00000000..5119337b --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/YouTubeAnalytics/BatchReportList.php @@ -0,0 +1,41 @@ +items = $items; + } + public function getItems() + { + return $this->items; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/YouTubeAnalytics/BatchReportOutputs.php b/vendor/google/apiclient-services/src/Google/Service/YouTubeAnalytics/BatchReportOutputs.php new file mode 100644 index 00000000..9d95f26e --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/YouTubeAnalytics/BatchReportOutputs.php @@ -0,0 +1,48 @@ +downloadUrl = $downloadUrl; + } + public function getDownloadUrl() + { + return $this->downloadUrl; + } + public function setFormat($format) + { + $this->format = $format; + } + public function getFormat() + { + return $this->format; + } + public function setType($type) + { + $this->type = $type; + } + public function getType() + { + return $this->type; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/YouTubeAnalytics/BatchReportTimeSpan.php b/vendor/google/apiclient-services/src/Google/Service/YouTubeAnalytics/BatchReportTimeSpan.php new file mode 100644 index 00000000..33a952a0 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/YouTubeAnalytics/BatchReportTimeSpan.php @@ -0,0 +1,39 @@ +endTime = $endTime; + } + public function getEndTime() + { + return $this->endTime; + } + public function setStartTime($startTime) + { + $this->startTime = $startTime; + } + public function getStartTime() + { + return $this->startTime; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/YouTubeAnalytics/Group.php b/vendor/google/apiclient-services/src/Google/Service/YouTubeAnalytics/Group.php new file mode 100644 index 00000000..4f767bd3 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/YouTubeAnalytics/Group.php @@ -0,0 +1,68 @@ +contentDetails = $contentDetails; + } + public function getContentDetails() + { + return $this->contentDetails; + } + public function setEtag($etag) + { + $this->etag = $etag; + } + public function getEtag() + { + return $this->etag; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setSnippet(Google_Service_YouTubeAnalytics_GroupSnippet $snippet) + { + $this->snippet = $snippet; + } + public function getSnippet() + { + return $this->snippet; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/YouTubeAnalytics/GroupContentDetails.php b/vendor/google/apiclient-services/src/Google/Service/YouTubeAnalytics/GroupContentDetails.php new file mode 100644 index 00000000..acb50c3f --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/YouTubeAnalytics/GroupContentDetails.php @@ -0,0 +1,39 @@ +itemCount = $itemCount; + } + public function getItemCount() + { + return $this->itemCount; + } + public function setItemType($itemType) + { + $this->itemType = $itemType; + } + public function getItemType() + { + return $this->itemType; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/YouTubeAnalytics/GroupItem.php b/vendor/google/apiclient-services/src/Google/Service/YouTubeAnalytics/GroupItem.php new file mode 100644 index 00000000..988c6206 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/YouTubeAnalytics/GroupItem.php @@ -0,0 +1,67 @@ +etag = $etag; + } + public function getEtag() + { + return $this->etag; + } + public function setGroupId($groupId) + { + $this->groupId = $groupId; + } + public function getGroupId() + { + return $this->groupId; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setResource(Google_Service_YouTubeAnalytics_GroupItemResource $resource) + { + $this->resource = $resource; + } + public function getResource() + { + return $this->resource; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/YouTubeAnalytics/GroupItemListResponse.php b/vendor/google/apiclient-services/src/Google/Service/YouTubeAnalytics/GroupItemListResponse.php new file mode 100644 index 00000000..5fd9f6e2 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/YouTubeAnalytics/GroupItemListResponse.php @@ -0,0 +1,50 @@ +etag = $etag; + } + public function getEtag() + { + return $this->etag; + } + public function setItems($items) + { + $this->items = $items; + } + public function getItems() + { + return $this->items; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/YouTubeAnalytics/GroupItemResource.php b/vendor/google/apiclient-services/src/Google/Service/YouTubeAnalytics/GroupItemResource.php new file mode 100644 index 00000000..2e5c220b --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/YouTubeAnalytics/GroupItemResource.php @@ -0,0 +1,39 @@ +id = $id; + } + public function getId() + { + return $this->id; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/YouTubeAnalytics/GroupListResponse.php b/vendor/google/apiclient-services/src/Google/Service/YouTubeAnalytics/GroupListResponse.php new file mode 100644 index 00000000..dfdf12fc --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/YouTubeAnalytics/GroupListResponse.php @@ -0,0 +1,59 @@ +etag = $etag; + } + public function getEtag() + { + return $this->etag; + } + public function setItems($items) + { + $this->items = $items; + } + public function getItems() + { + return $this->items; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/YouTubeAnalytics/GroupSnippet.php b/vendor/google/apiclient-services/src/Google/Service/YouTubeAnalytics/GroupSnippet.php new file mode 100644 index 00000000..46e9b765 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/YouTubeAnalytics/GroupSnippet.php @@ -0,0 +1,39 @@ +publishedAt = $publishedAt; + } + public function getPublishedAt() + { + return $this->publishedAt; + } + public function setTitle($title) + { + $this->title = $title; + } + public function getTitle() + { + return $this->title; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/YouTubeAnalytics/Resource/BatchReportDefinitions.php b/vendor/google/apiclient-services/src/Google/Service/YouTubeAnalytics/Resource/BatchReportDefinitions.php new file mode 100644 index 00000000..08a95a72 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/YouTubeAnalytics/Resource/BatchReportDefinitions.php @@ -0,0 +1,43 @@ + + * $youtubeAnalyticsService = new Google_Service_YouTubeAnalytics(...); + * $batchReportDefinitions = $youtubeAnalyticsService->batchReportDefinitions; + * + */ +class Google_Service_YouTubeAnalytics_Resource_BatchReportDefinitions extends Google_Service_Resource +{ + /** + * Retrieves a list of available batch report definitions. + * (batchReportDefinitions.listBatchReportDefinitions) + * + * @param string $onBehalfOfContentOwner The onBehalfOfContentOwner parameter + * identifies the content owner that the user is acting on behalf of. + * @param array $optParams Optional parameters. + * @return Google_Service_YouTubeAnalytics_BatchReportDefinitionList + */ + public function listBatchReportDefinitions($onBehalfOfContentOwner, $optParams = array()) + { + $params = array('onBehalfOfContentOwner' => $onBehalfOfContentOwner); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_YouTubeAnalytics_BatchReportDefinitionList"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/YouTubeAnalytics/Resource/BatchReports.php b/vendor/google/apiclient-services/src/Google/Service/YouTubeAnalytics/Resource/BatchReports.php new file mode 100644 index 00000000..852ae2c3 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/YouTubeAnalytics/Resource/BatchReports.php @@ -0,0 +1,45 @@ + + * $youtubeAnalyticsService = new Google_Service_YouTubeAnalytics(...); + * $batchReports = $youtubeAnalyticsService->batchReports; + * + */ +class Google_Service_YouTubeAnalytics_Resource_BatchReports extends Google_Service_Resource +{ + /** + * Retrieves a list of processed batch reports. (batchReports.listBatchReports) + * + * @param string $batchReportDefinitionId The batchReportDefinitionId parameter + * specifies the ID of the batch reportort definition for which you are + * retrieving reports. + * @param string $onBehalfOfContentOwner The onBehalfOfContentOwner parameter + * identifies the content owner that the user is acting on behalf of. + * @param array $optParams Optional parameters. + * @return Google_Service_YouTubeAnalytics_BatchReportList + */ + public function listBatchReports($batchReportDefinitionId, $onBehalfOfContentOwner, $optParams = array()) + { + $params = array('batchReportDefinitionId' => $batchReportDefinitionId, 'onBehalfOfContentOwner' => $onBehalfOfContentOwner); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_YouTubeAnalytics_BatchReportList"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/YouTubeAnalytics/Resource/GroupItems.php b/vendor/google/apiclient-services/src/Google/Service/YouTubeAnalytics/Resource/GroupItems.php new file mode 100644 index 00000000..a0302c62 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/YouTubeAnalytics/Resource/GroupItems.php @@ -0,0 +1,108 @@ + + * $youtubeAnalyticsService = new Google_Service_YouTubeAnalytics(...); + * $groupItems = $youtubeAnalyticsService->groupItems; + * + */ +class Google_Service_YouTubeAnalytics_Resource_GroupItems extends Google_Service_Resource +{ + /** + * Removes an item from a group. (groupItems.delete) + * + * @param string $id The id parameter specifies the YouTube group item ID for + * the group that is being deleted. + * @param array $optParams Optional parameters. + * + * @opt_param string onBehalfOfContentOwner Note: This parameter is intended + * exclusively for YouTube content partners. + * + * The onBehalfOfContentOwner parameter indicates that the request's + * authorization credentials identify a YouTube CMS user who is acting on behalf + * of the content owner specified in the parameter value. This parameter is + * intended for YouTube content partners that own and manage many different + * YouTube channels. It allows content owners to authenticate once and get + * access to all their video and channel data, without having to provide + * authentication credentials for each individual channel. The CMS account that + * the user authenticates with must be linked to the specified YouTube content + * owner. + */ + public function delete($id, $optParams = array()) + { + $params = array('id' => $id); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params)); + } + /** + * Creates a group item. (groupItems.insert) + * + * @param Google_Service_YouTubeAnalytics_GroupItem $postBody + * @param array $optParams Optional parameters. + * + * @opt_param string onBehalfOfContentOwner Note: This parameter is intended + * exclusively for YouTube content partners. + * + * The onBehalfOfContentOwner parameter indicates that the request's + * authorization credentials identify a YouTube CMS user who is acting on behalf + * of the content owner specified in the parameter value. This parameter is + * intended for YouTube content partners that own and manage many different + * YouTube channels. It allows content owners to authenticate once and get + * access to all their video and channel data, without having to provide + * authentication credentials for each individual channel. The CMS account that + * the user authenticates with must be linked to the specified YouTube content + * owner. + * @return Google_Service_YouTubeAnalytics_GroupItem + */ + public function insert(Google_Service_YouTubeAnalytics_GroupItem $postBody, $optParams = array()) + { + $params = array('postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('insert', array($params), "Google_Service_YouTubeAnalytics_GroupItem"); + } + /** + * Returns a collection of group items that match the API request parameters. + * (groupItems.listGroupItems) + * + * @param string $groupId The id parameter specifies the unique ID of the group + * for which you want to retrieve group items. + * @param array $optParams Optional parameters. + * + * @opt_param string onBehalfOfContentOwner Note: This parameter is intended + * exclusively for YouTube content partners. + * + * The onBehalfOfContentOwner parameter indicates that the request's + * authorization credentials identify a YouTube CMS user who is acting on behalf + * of the content owner specified in the parameter value. This parameter is + * intended for YouTube content partners that own and manage many different + * YouTube channels. It allows content owners to authenticate once and get + * access to all their video and channel data, without having to provide + * authentication credentials for each individual channel. The CMS account that + * the user authenticates with must be linked to the specified YouTube content + * owner. + * @return Google_Service_YouTubeAnalytics_GroupItemListResponse + */ + public function listGroupItems($groupId, $optParams = array()) + { + $params = array('groupId' => $groupId); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_YouTubeAnalytics_GroupItemListResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/YouTubeAnalytics/Resource/Groups.php b/vendor/google/apiclient-services/src/Google/Service/YouTubeAnalytics/Resource/Groups.php new file mode 100644 index 00000000..9c983ba5 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/YouTubeAnalytics/Resource/Groups.php @@ -0,0 +1,142 @@ + + * $youtubeAnalyticsService = new Google_Service_YouTubeAnalytics(...); + * $groups = $youtubeAnalyticsService->groups; + * + */ +class Google_Service_YouTubeAnalytics_Resource_Groups extends Google_Service_Resource +{ + /** + * Deletes a group. (groups.delete) + * + * @param string $id The id parameter specifies the YouTube group ID for the + * group that is being deleted. + * @param array $optParams Optional parameters. + * + * @opt_param string onBehalfOfContentOwner Note: This parameter is intended + * exclusively for YouTube content partners. + * + * The onBehalfOfContentOwner parameter indicates that the request's + * authorization credentials identify a YouTube CMS user who is acting on behalf + * of the content owner specified in the parameter value. This parameter is + * intended for YouTube content partners that own and manage many different + * YouTube channels. It allows content owners to authenticate once and get + * access to all their video and channel data, without having to provide + * authentication credentials for each individual channel. The CMS account that + * the user authenticates with must be linked to the specified YouTube content + * owner. + */ + public function delete($id, $optParams = array()) + { + $params = array('id' => $id); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params)); + } + /** + * Creates a group. (groups.insert) + * + * @param Google_Service_YouTubeAnalytics_Group $postBody + * @param array $optParams Optional parameters. + * + * @opt_param string onBehalfOfContentOwner Note: This parameter is intended + * exclusively for YouTube content partners. + * + * The onBehalfOfContentOwner parameter indicates that the request's + * authorization credentials identify a YouTube CMS user who is acting on behalf + * of the content owner specified in the parameter value. This parameter is + * intended for YouTube content partners that own and manage many different + * YouTube channels. It allows content owners to authenticate once and get + * access to all their video and channel data, without having to provide + * authentication credentials for each individual channel. The CMS account that + * the user authenticates with must be linked to the specified YouTube content + * owner. + * @return Google_Service_YouTubeAnalytics_Group + */ + public function insert(Google_Service_YouTubeAnalytics_Group $postBody, $optParams = array()) + { + $params = array('postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('insert', array($params), "Google_Service_YouTubeAnalytics_Group"); + } + /** + * Returns a collection of groups that match the API request parameters. For + * example, you can retrieve all groups that the authenticated user owns, or you + * can retrieve one or more groups by their unique IDs. (groups.listGroups) + * + * @param array $optParams Optional parameters. + * + * @opt_param string id The id parameter specifies a comma-separated list of the + * YouTube group ID(s) for the resource(s) that are being retrieved. In a group + * resource, the id property specifies the group's YouTube group ID. + * @opt_param bool mine Set this parameter's value to true to instruct the API + * to only return groups owned by the authenticated user. + * @opt_param string onBehalfOfContentOwner Note: This parameter is intended + * exclusively for YouTube content partners. + * + * The onBehalfOfContentOwner parameter indicates that the request's + * authorization credentials identify a YouTube CMS user who is acting on behalf + * of the content owner specified in the parameter value. This parameter is + * intended for YouTube content partners that own and manage many different + * YouTube channels. It allows content owners to authenticate once and get + * access to all their video and channel data, without having to provide + * authentication credentials for each individual channel. The CMS account that + * the user authenticates with must be linked to the specified YouTube content + * owner. + * @opt_param string pageToken The pageToken parameter identifies a specific + * page in the result set that should be returned. In an API response, the + * nextPageToken property identifies the next page that can be retrieved. + * @return Google_Service_YouTubeAnalytics_GroupListResponse + */ + public function listGroups($optParams = array()) + { + $params = array(); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_YouTubeAnalytics_GroupListResponse"); + } + /** + * Modifies a group. For example, you could change a group's title. + * (groups.update) + * + * @param Google_Service_YouTubeAnalytics_Group $postBody + * @param array $optParams Optional parameters. + * + * @opt_param string onBehalfOfContentOwner Note: This parameter is intended + * exclusively for YouTube content partners. + * + * The onBehalfOfContentOwner parameter indicates that the request's + * authorization credentials identify a YouTube CMS user who is acting on behalf + * of the content owner specified in the parameter value. This parameter is + * intended for YouTube content partners that own and manage many different + * YouTube channels. It allows content owners to authenticate once and get + * access to all their video and channel data, without having to provide + * authentication credentials for each individual channel. The CMS account that + * the user authenticates with must be linked to the specified YouTube content + * owner. + * @return Google_Service_YouTubeAnalytics_Group + */ + public function update(Google_Service_YouTubeAnalytics_Group $postBody, $optParams = array()) + { + $params = array('postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('update', array($params), "Google_Service_YouTubeAnalytics_Group"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/YouTubeAnalytics/Resource/Reports.php b/vendor/google/apiclient-services/src/Google/Service/YouTubeAnalytics/Resource/Reports.php new file mode 100644 index 00000000..6f6f116f --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/YouTubeAnalytics/Resource/Reports.php @@ -0,0 +1,83 @@ + + * $youtubeAnalyticsService = new Google_Service_YouTubeAnalytics(...); + * $reports = $youtubeAnalyticsService->reports; + * + */ +class Google_Service_YouTubeAnalytics_Resource_Reports extends Google_Service_Resource +{ + /** + * Retrieve your YouTube Analytics reports. (reports.query) + * + * @param string $ids Identifies the YouTube channel or content owner for which + * you are retrieving YouTube Analytics data. - To request data for a YouTube + * user, set the ids parameter value to channel==CHANNEL_ID, where CHANNEL_ID + * specifies the unique YouTube channel ID. - To request data for a YouTube CMS + * content owner, set the ids parameter value to contentOwner==OWNER_NAME, where + * OWNER_NAME is the CMS name of the content owner. + * @param string $startDate The start date for fetching YouTube Analytics data. + * The value should be in YYYY-MM-DD format. + * @param string $endDate The end date for fetching YouTube Analytics data. The + * value should be in YYYY-MM-DD format. + * @param string $metrics A comma-separated list of YouTube Analytics metrics, + * such as views or likes,dislikes. See the Available Reports document for a + * list of the reports that you can retrieve and the metrics available in each + * report, and see the Metrics document for definitions of those metrics. + * @param array $optParams Optional parameters. + * + * @opt_param string currency The currency to which financial metrics should be + * converted. The default is US Dollar (USD). If the result contains no + * financial metrics, this flag will be ignored. Responds with an error if the + * specified currency is not recognized. + * @opt_param string dimensions A comma-separated list of YouTube Analytics + * dimensions, such as views or ageGroup,gender. See the Available Reports + * document for a list of the reports that you can retrieve and the dimensions + * used for those reports. Also see the Dimensions document for definitions of + * those dimensions. + * @opt_param string filters A list of filters that should be applied when + * retrieving YouTube Analytics data. The Available Reports document identifies + * the dimensions that can be used to filter each report, and the Dimensions + * document defines those dimensions. If a request uses multiple filters, join + * them together with a semicolon (;), and the returned result table will + * satisfy both filters. For example, a filters parameter value of + * video==dMH0bHeiRNg;country==IT restricts the result set to include data for + * the given video in Italy. + * @opt_param bool include-historical-channel-data If set to true historical + * data (i.e. channel data from before the linking of the channel to the content + * owner) will be retrieved. + * @opt_param int max-results The maximum number of rows to include in the + * response. + * @opt_param string sort A comma-separated list of dimensions or metrics that + * determine the sort order for YouTube Analytics data. By default the sort + * order is ascending. The '-' prefix causes descending sort order. + * @opt_param int start-index An index of the first entity to retrieve. Use this + * parameter as a pagination mechanism along with the max-results parameter + * (one-based, inclusive). + * @return Google_Service_YouTubeAnalytics_ResultTable + */ + public function query($ids, $startDate, $endDate, $metrics, $optParams = array()) + { + $params = array('ids' => $ids, 'start-date' => $startDate, 'end-date' => $endDate, 'metrics' => $metrics); + $params = array_merge($params, $optParams); + return $this->call('query', array($params), "Google_Service_YouTubeAnalytics_ResultTable"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/YouTubeAnalytics/ResultTable.php b/vendor/google/apiclient-services/src/Google/Service/YouTubeAnalytics/ResultTable.php new file mode 100644 index 00000000..0accde01 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/YouTubeAnalytics/ResultTable.php @@ -0,0 +1,50 @@ +columnHeaders = $columnHeaders; + } + public function getColumnHeaders() + { + return $this->columnHeaders; + } + public function setKind($kind) + { + $this->kind = $kind; + } + public function getKind() + { + return $this->kind; + } + public function setRows($rows) + { + $this->rows = $rows; + } + public function getRows() + { + return $this->rows; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/YouTubeAnalytics/ResultTableColumnHeaders.php b/vendor/google/apiclient-services/src/Google/Service/YouTubeAnalytics/ResultTableColumnHeaders.php new file mode 100644 index 00000000..1798672a --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/YouTubeAnalytics/ResultTableColumnHeaders.php @@ -0,0 +1,48 @@ +columnType = $columnType; + } + public function getColumnType() + { + return $this->columnType; + } + public function setDataType($dataType) + { + $this->dataType = $dataType; + } + public function getDataType() + { + return $this->dataType; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/YouTubeReporting.php b/vendor/google/apiclient-services/src/Google/Service/YouTubeReporting.php new file mode 100644 index 00000000..f7932338 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/YouTubeReporting.php @@ -0,0 +1,242 @@ + + * Schedules reporting jobs containing your YouTube Analytics data and downloads + * the resulting bulk data reports in the form of CSV files.

+ * + *

+ * For more information about this service, see the API + * Documentation + *

+ * + * @author Google, Inc. + */ +class Google_Service_YouTubeReporting extends Google_Service +{ + /** View monetary and non-monetary YouTube Analytics reports for your YouTube content. */ + const YT_ANALYTICS_MONETARY_READONLY = + "https://www.googleapis.com/auth/yt-analytics-monetary.readonly"; + /** View YouTube Analytics reports for your YouTube content. */ + const YT_ANALYTICS_READONLY = + "https://www.googleapis.com/auth/yt-analytics.readonly"; + + public $jobs; + public $jobs_reports; + public $media; + public $reportTypes; + + /** + * Constructs the internal representation of the YouTubeReporting service. + * + * @param Google_Client $client + */ + public function __construct(Google_Client $client) + { + parent::__construct($client); + $this->rootUrl = 'https://youtubereporting.googleapis.com/'; + $this->servicePath = ''; + $this->version = 'v1'; + $this->serviceName = 'youtubereporting'; + + $this->jobs = new Google_Service_YouTubeReporting_Resource_Jobs( + $this, + $this->serviceName, + 'jobs', + array( + 'methods' => array( + 'create' => array( + 'path' => 'v1/jobs', + 'httpMethod' => 'POST', + 'parameters' => array( + 'onBehalfOfContentOwner' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'delete' => array( + 'path' => 'v1/jobs/{jobId}', + 'httpMethod' => 'DELETE', + 'parameters' => array( + 'jobId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'onBehalfOfContentOwner' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'get' => array( + 'path' => 'v1/jobs/{jobId}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'jobId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'onBehalfOfContentOwner' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'list' => array( + 'path' => 'v1/jobs', + 'httpMethod' => 'GET', + 'parameters' => array( + 'onBehalfOfContentOwner' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'includeSystemManaged' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + 'pageSize' => array( + 'location' => 'query', + 'type' => 'integer', + ), + ), + ), + ) + ) + ); + $this->jobs_reports = new Google_Service_YouTubeReporting_Resource_JobsReports( + $this, + $this->serviceName, + 'reports', + array( + 'methods' => array( + 'get' => array( + 'path' => 'v1/jobs/{jobId}/reports/{reportId}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'jobId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'reportId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'onBehalfOfContentOwner' => array( + 'location' => 'query', + 'type' => 'string', + ), + ), + ),'list' => array( + 'path' => 'v1/jobs/{jobId}/reports', + 'httpMethod' => 'GET', + 'parameters' => array( + 'jobId' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + 'onBehalfOfContentOwner' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'startTimeBefore' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'createdAfter' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'startTimeAtOrAfter' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pageSize' => array( + 'location' => 'query', + 'type' => 'integer', + ), + ), + ), + ) + ) + ); + $this->media = new Google_Service_YouTubeReporting_Resource_Media( + $this, + $this->serviceName, + 'media', + array( + 'methods' => array( + 'download' => array( + 'path' => 'v1/media/{+resourceName}', + 'httpMethod' => 'GET', + 'parameters' => array( + 'resourceName' => array( + 'location' => 'path', + 'type' => 'string', + 'required' => true, + ), + ), + ), + ) + ) + ); + $this->reportTypes = new Google_Service_YouTubeReporting_Resource_ReportTypes( + $this, + $this->serviceName, + 'reportTypes', + array( + 'methods' => array( + 'list' => array( + 'path' => 'v1/reportTypes', + 'httpMethod' => 'GET', + 'parameters' => array( + 'onBehalfOfContentOwner' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'pageToken' => array( + 'location' => 'query', + 'type' => 'string', + ), + 'includeSystemManaged' => array( + 'location' => 'query', + 'type' => 'boolean', + ), + 'pageSize' => array( + 'location' => 'query', + 'type' => 'integer', + ), + ), + ), + ) + ) + ); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/YouTubeReporting/Job.php b/vendor/google/apiclient-services/src/Google/Service/YouTubeReporting/Job.php new file mode 100644 index 00000000..290613fb --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/YouTubeReporting/Job.php @@ -0,0 +1,75 @@ +createTime = $createTime; + } + public function getCreateTime() + { + return $this->createTime; + } + public function setExpireTime($expireTime) + { + $this->expireTime = $expireTime; + } + public function getExpireTime() + { + return $this->expireTime; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setReportTypeId($reportTypeId) + { + $this->reportTypeId = $reportTypeId; + } + public function getReportTypeId() + { + return $this->reportTypeId; + } + public function setSystemManaged($systemManaged) + { + $this->systemManaged = $systemManaged; + } + public function getSystemManaged() + { + return $this->systemManaged; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/YouTubeReporting/ListJobsResponse.php b/vendor/google/apiclient-services/src/Google/Service/YouTubeReporting/ListJobsResponse.php new file mode 100644 index 00000000..e5052171 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/YouTubeReporting/ListJobsResponse.php @@ -0,0 +1,41 @@ +jobs = $jobs; + } + public function getJobs() + { + return $this->jobs; + } + public function setNextPageToken($nextPageToken) + { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/YouTubeReporting/ListReportTypesResponse.php b/vendor/google/apiclient-services/src/Google/Service/YouTubeReporting/ListReportTypesResponse.php new file mode 100644 index 00000000..08d87d71 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/YouTubeReporting/ListReportTypesResponse.php @@ -0,0 +1,41 @@ +nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setReportTypes($reportTypes) + { + $this->reportTypes = $reportTypes; + } + public function getReportTypes() + { + return $this->reportTypes; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/YouTubeReporting/ListReportsResponse.php b/vendor/google/apiclient-services/src/Google/Service/YouTubeReporting/ListReportsResponse.php new file mode 100644 index 00000000..d5c66055 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/YouTubeReporting/ListReportsResponse.php @@ -0,0 +1,41 @@ +nextPageToken = $nextPageToken; + } + public function getNextPageToken() + { + return $this->nextPageToken; + } + public function setReports($reports) + { + $this->reports = $reports; + } + public function getReports() + { + return $this->reports; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/YouTubeReporting/Media.php b/vendor/google/apiclient-services/src/Google/Service/YouTubeReporting/Media.php new file mode 100644 index 00000000..2035d8bd --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/YouTubeReporting/Media.php @@ -0,0 +1,30 @@ +resourceName = $resourceName; + } + public function getResourceName() + { + return $this->resourceName; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/YouTubeReporting/Report.php b/vendor/google/apiclient-services/src/Google/Service/YouTubeReporting/Report.php new file mode 100644 index 00000000..60f26843 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/YouTubeReporting/Report.php @@ -0,0 +1,84 @@ +createTime = $createTime; + } + public function getCreateTime() + { + return $this->createTime; + } + public function setDownloadUrl($downloadUrl) + { + $this->downloadUrl = $downloadUrl; + } + public function getDownloadUrl() + { + return $this->downloadUrl; + } + public function setEndTime($endTime) + { + $this->endTime = $endTime; + } + public function getEndTime() + { + return $this->endTime; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setJobExpireTime($jobExpireTime) + { + $this->jobExpireTime = $jobExpireTime; + } + public function getJobExpireTime() + { + return $this->jobExpireTime; + } + public function setJobId($jobId) + { + $this->jobId = $jobId; + } + public function getJobId() + { + return $this->jobId; + } + public function setStartTime($startTime) + { + $this->startTime = $startTime; + } + public function getStartTime() + { + return $this->startTime; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/YouTubeReporting/ReportType.php b/vendor/google/apiclient-services/src/Google/Service/YouTubeReporting/ReportType.php new file mode 100644 index 00000000..6c027afe --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/YouTubeReporting/ReportType.php @@ -0,0 +1,57 @@ +deprecateTime = $deprecateTime; + } + public function getDeprecateTime() + { + return $this->deprecateTime; + } + public function setId($id) + { + $this->id = $id; + } + public function getId() + { + return $this->id; + } + public function setName($name) + { + $this->name = $name; + } + public function getName() + { + return $this->name; + } + public function setSystemManaged($systemManaged) + { + $this->systemManaged = $systemManaged; + } + public function getSystemManaged() + { + return $this->systemManaged; + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/YouTubeReporting/Resource/Jobs.php b/vendor/google/apiclient-services/src/Google/Service/YouTubeReporting/Resource/Jobs.php new file mode 100644 index 00000000..f8707f9b --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/YouTubeReporting/Resource/Jobs.php @@ -0,0 +1,104 @@ + + * $youtubereportingService = new Google_Service_YouTubeReporting(...); + * $jobs = $youtubereportingService->jobs; + * + */ +class Google_Service_YouTubeReporting_Resource_Jobs extends Google_Service_Resource +{ + /** + * Creates a job and returns it. (jobs.create) + * + * @param Google_Service_YouTubeReporting_Job $postBody + * @param array $optParams Optional parameters. + * + * @opt_param string onBehalfOfContentOwner The content owner's external ID on + * which behalf the user is acting on. If not set, the user is acting for + * himself (his own channel). + * @return Google_Service_YouTubeReporting_Job + */ + public function create(Google_Service_YouTubeReporting_Job $postBody, $optParams = array()) + { + $params = array('postBody' => $postBody); + $params = array_merge($params, $optParams); + return $this->call('create', array($params), "Google_Service_YouTubeReporting_Job"); + } + /** + * Deletes a job. (jobs.delete) + * + * @param string $jobId The ID of the job to delete. + * @param array $optParams Optional parameters. + * + * @opt_param string onBehalfOfContentOwner The content owner's external ID on + * which behalf the user is acting on. If not set, the user is acting for + * himself (his own channel). + * @return Google_Service_YouTubeReporting_YoutubereportingEmpty + */ + public function delete($jobId, $optParams = array()) + { + $params = array('jobId' => $jobId); + $params = array_merge($params, $optParams); + return $this->call('delete', array($params), "Google_Service_YouTubeReporting_YoutubereportingEmpty"); + } + /** + * Gets a job. (jobs.get) + * + * @param string $jobId The ID of the job to retrieve. + * @param array $optParams Optional parameters. + * + * @opt_param string onBehalfOfContentOwner The content owner's external ID on + * which behalf the user is acting on. If not set, the user is acting for + * himself (his own channel). + * @return Google_Service_YouTubeReporting_Job + */ + public function get($jobId, $optParams = array()) + { + $params = array('jobId' => $jobId); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_YouTubeReporting_Job"); + } + /** + * Lists jobs. (jobs.listJobs) + * + * @param array $optParams Optional parameters. + * + * @opt_param string onBehalfOfContentOwner The content owner's external ID on + * which behalf the user is acting on. If not set, the user is acting for + * himself (his own channel). + * @opt_param string pageToken A token identifying a page of results the server + * should return. Typically, this is the value of + * ListReportTypesResponse.next_page_token returned in response to the previous + * call to the `ListJobs` method. + * @opt_param bool includeSystemManaged If set to true, also system-managed jobs + * will be returned; otherwise only user-created jobs will be returned. System- + * managed jobs can neither be modified nor deleted. + * @opt_param int pageSize Requested page size. Server may return fewer jobs + * than requested. If unspecified, server will pick an appropriate default. + * @return Google_Service_YouTubeReporting_ListJobsResponse + */ + public function listJobs($optParams = array()) + { + $params = array(); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_YouTubeReporting_ListJobsResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/YouTubeReporting/Resource/JobsReports.php b/vendor/google/apiclient-services/src/Google/Service/YouTubeReporting/Resource/JobsReports.php new file mode 100644 index 00000000..27b92a2c --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/YouTubeReporting/Resource/JobsReports.php @@ -0,0 +1,77 @@ + + * $youtubereportingService = new Google_Service_YouTubeReporting(...); + * $reports = $youtubereportingService->reports; + * + */ +class Google_Service_YouTubeReporting_Resource_JobsReports extends Google_Service_Resource +{ + /** + * Gets the metadata of a specific report. (reports.get) + * + * @param string $jobId The ID of the job. + * @param string $reportId The ID of the report to retrieve. + * @param array $optParams Optional parameters. + * + * @opt_param string onBehalfOfContentOwner The content owner's external ID on + * which behalf the user is acting on. If not set, the user is acting for + * himself (his own channel). + * @return Google_Service_YouTubeReporting_Report + */ + public function get($jobId, $reportId, $optParams = array()) + { + $params = array('jobId' => $jobId, 'reportId' => $reportId); + $params = array_merge($params, $optParams); + return $this->call('get', array($params), "Google_Service_YouTubeReporting_Report"); + } + /** + * Lists reports created by a specific job. Returns NOT_FOUND if the job does + * not exist. (reports.listJobsReports) + * + * @param string $jobId The ID of the job. + * @param array $optParams Optional parameters. + * + * @opt_param string onBehalfOfContentOwner The content owner's external ID on + * which behalf the user is acting on. If not set, the user is acting for + * himself (his own channel). + * @opt_param string startTimeBefore If set, only reports whose start time is + * smaller than the specified date/time are returned. + * @opt_param string createdAfter If set, only reports created after the + * specified date/time are returned. + * @opt_param string pageToken A token identifying a page of results the server + * should return. Typically, this is the value of + * ListReportsResponse.next_page_token returned in response to the previous call + * to the `ListReports` method. + * @opt_param string startTimeAtOrAfter If set, only reports whose start time is + * greater than or equal the specified date/time are returned. + * @opt_param int pageSize Requested page size. Server may return fewer report + * types than requested. If unspecified, server will pick an appropriate + * default. + * @return Google_Service_YouTubeReporting_ListReportsResponse + */ + public function listJobsReports($jobId, $optParams = array()) + { + $params = array('jobId' => $jobId); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_YouTubeReporting_ListReportsResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/YouTubeReporting/Resource/Media.php b/vendor/google/apiclient-services/src/Google/Service/YouTubeReporting/Resource/Media.php new file mode 100644 index 00000000..9c9a947e --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/YouTubeReporting/Resource/Media.php @@ -0,0 +1,43 @@ + + * $youtubereportingService = new Google_Service_YouTubeReporting(...); + * $media = $youtubereportingService->media; + * + */ +class Google_Service_YouTubeReporting_Resource_Media extends Google_Service_Resource +{ + /** + * Method for media download. Download is supported on the URI + * `/v1/media/{+name}?alt=media`. (media.download) + * + * @param string $resourceName Name of the media that is being downloaded. See + * ReadRequest.resource_name. + * @param array $optParams Optional parameters. + * @return Google_Service_YouTubeReporting_Media + */ + public function download($resourceName, $optParams = array()) + { + $params = array('resourceName' => $resourceName); + $params = array_merge($params, $optParams); + return $this->call('download', array($params), "Google_Service_YouTubeReporting_Media"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/YouTubeReporting/Resource/ReportTypes.php b/vendor/google/apiclient-services/src/Google/Service/YouTubeReporting/Resource/ReportTypes.php new file mode 100644 index 00000000..724db661 --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/YouTubeReporting/Resource/ReportTypes.php @@ -0,0 +1,54 @@ + + * $youtubereportingService = new Google_Service_YouTubeReporting(...); + * $reportTypes = $youtubereportingService->reportTypes; + * + */ +class Google_Service_YouTubeReporting_Resource_ReportTypes extends Google_Service_Resource +{ + /** + * Lists report types. (reportTypes.listReportTypes) + * + * @param array $optParams Optional parameters. + * + * @opt_param string onBehalfOfContentOwner The content owner's external ID on + * which behalf the user is acting on. If not set, the user is acting for + * himself (his own channel). + * @opt_param string pageToken A token identifying a page of results the server + * should return. Typically, this is the value of + * ListReportTypesResponse.next_page_token returned in response to the previous + * call to the `ListReportTypes` method. + * @opt_param bool includeSystemManaged If set to true, also system-managed + * report types will be returned; otherwise only the report types that can be + * used to create new reporting jobs will be returned. + * @opt_param int pageSize Requested page size. Server may return fewer report + * types than requested. If unspecified, server will pick an appropriate + * default. + * @return Google_Service_YouTubeReporting_ListReportTypesResponse + */ + public function listReportTypes($optParams = array()) + { + $params = array(); + $params = array_merge($params, $optParams); + return $this->call('list', array($params), "Google_Service_YouTubeReporting_ListReportTypesResponse"); + } +} diff --git a/vendor/google/apiclient-services/src/Google/Service/YouTubeReporting/YoutubereportingEmpty.php b/vendor/google/apiclient-services/src/Google/Service/YouTubeReporting/YoutubereportingEmpty.php new file mode 100644 index 00000000..9ca9fbbe --- /dev/null +++ b/vendor/google/apiclient-services/src/Google/Service/YouTubeReporting/YoutubereportingEmpty.php @@ -0,0 +1,20 @@ +getMock('Google_Service'); + $this->getMock('Google_Model'); + $this->getMock('Google_Collection'); + $this->getMock('Google_Service_Resource'); + } + /** + * @dataProvider serviceProvider + */ + public function testIncludes($class) + { + $this->assertTrue( + class_exists($class), + sprintf('Failed asserting class %s exists.', $class) + ); + } + + public function serviceProvider() + { + $classes = array(); + $path = __DIR__ . '/../src/Google/Service/'; + foreach (glob($path . "*.php") as $file) { + $service = basename($file, '.php'); + $classes[] = array('Google_Service_' . $service); + foreach (glob($path . "{$service}/*.php") as $file) { + $classes[] = array("Google_Service_{$service}_" . basename($file, '.php')); + } + foreach (glob($path . "{$service}/Resource/*.php") as $file) { + $classes[] = array("Google_Service_{$service}_Resource_" . basename($file, '.php')); + } + } + + return $classes; + } +} diff --git a/vendor/google/apiclient-services/tests/bootstrap.php b/vendor/google/apiclient-services/tests/bootstrap.php new file mode 100644 index 00000000..e15933af --- /dev/null +++ b/vendor/google/apiclient-services/tests/bootstrap.php @@ -0,0 +1,3 @@ +setApplicationName("Client_Library_Examples"); +$client->setDeveloperKey("YOUR_APP_KEY"); + +$service = new Google_Service_Books($client); +$optParams = array('filter' => 'free-ebooks'); +$results = $service->volumes->listVolumes('Henry David Thoreau', $optParams); + +foreach ($results as $item) { + echo $item['volumeInfo']['title'], "
\n"; +} +``` + +### Authentication with OAuth ### + +> An example of this can be seen in [`examples/simple-file-upload.php`](examples/simple-file-upload.php). + +1. Follow the instructions to [Create Web Application Credentials](https://developers.google.com/api-client-library/php/auth/web-app#creatingcred) +1. Download the JSON credentials +1. Set the path to these credentials using `Google_Client::setAuthConfig`: + + ```php + $client = new Google_Client(); + $client->setAuthConfig('/path/to/client_credentials.json'); + ``` + +1. Set the scopes required for the API you are going to call + + ```php + $client->addScope(Google_Service_Drive::DRIVE); + ``` + +1. Set your application's redirect URI + + ```php + // Your redirect URI can be any registered URI, but in this example + // we redirect back to this same page + $redirect_uri = 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['PHP_SELF']; + $client->setRedirectUri($redirect_uri); + ``` + +1. In the script handling the redirect URI, exchange the authorization code for an access token: + + ```php + if (isset($_GET['code'])) { + $token = $client->fetchAccessTokenWithAuthCode($_GET['code']); + $client->setAccessToken($token); + } + ``` + +### Authentication with Service Accounts ### + +> An example of this can be seen in [`examples/service-account.php`](examples/service-account.php). + +1. Follow the instructions to [Create a Service Account](https://developers.google.com/api-client-library/php/auth/service-accounts#creatinganaccount) +1. Download the JSON credentials +1. Set the path to these credentials using the `GOOGLE_APPLICATION_CREDENTIALS` environment variable: + + ```php + putenv('GOOGLE_APPLICATION_CREDENTIALS=/path/to/service-account.json'); + ``` + +1. Tell the Google client to use your service account credentials to authenticate: + + ```php + $client = new Google_Client(); + $client->useApplicationDefaultCredentials(); + ``` + +1. Set the scopes required for the API you are going to call + + ```php + $client->addScope(Google_Service_Drive::DRIVE); + ``` + +1. If you have delegated domain-wide access to the service account and you want to impersonate a user account, specify the email address of the user account using the method setSubject: + + ```php + $client->setSubject($user_to_impersonate); + ``` + +### Making Requests ### + +The classes used to call the API in [google-api-php-client-services](https://github.com/Google/google-api-php-client-services) are autogenerated. They map directly to the JSON requests and responses found in the [APIs Explorer](https://developers.google.com/apis-explorer/#p/). + +A JSON request to the [Datastore API](https://developers.google.com/apis-explorer/#p/datastore/v1beta3/datastore.projects.runQuery) would look like this: + +```json +POST https://datastore.googleapis.com/v1beta3/projects/YOUR_PROJECT_ID:runQuery?key=YOUR_API_KEY + +{ + "query": { + "kind": [{ + "name": "Book" + }], + "order": [{ + "property": { + "name": "title" + }, + "direction": "descending" + }], + "limit": 10 + } +} +``` + +Using this library, the same call would look something like this: + +```php +// create the datastore service class +$datastore = new Google_Service_Datastore($client); + +// build the query - this maps directly to the JSON +$query = new Google_Service_Datastore_Query([ + 'kind' => [ + [ + 'name' => 'Book', + ], + ], + 'order' => [ + 'property' => [ + 'name' => 'title', + ], + 'direction' => 'descending', + ], + 'limit' => 10, +]); + +// build the request and response +$request = new Google_Service_Datastore_RunQueryRequest(['query' => $query]); +$response = $datastore->projects->runQuery('YOUR_DATASET_ID', $request); +``` + +However, as each property of the JSON API has a corresponding generated class, the above code could also be written like this: + +```php +// create the datastore service class +$datastore = new Google_Service_Datastore($client); + +// build the query +$request = new Google_Service_Datastore_RunQueryRequest(); +$query = new Google_Service_Datastore_Query(); +// - set the order +$order = new Google_Service_Datastore_PropertyOrder(); +$order->setDirection('descending'); +$property = new Google_Service_Datastore_PropertyReference(); +$property->setName('title'); +$order->setProperty($property); +$query->setOrder([$order]); +// - set the kinds +$kind = new Google_Service_Datastore_KindExpression(); +$kind->setName('Book'); +$query->setKinds([$kind]); +// - set the limit +$query->setLimit(10); + +// add the query to the request and make the request +$request->setQuery($query); +$response = $datastore->projects->runQuery('YOUR_DATASET_ID', $request); +``` + +The method used is a matter of preference, but *it will be very difficult to use this library without first understanding the JSON syntax for the API*, so it is recommended to look at the [APIs Explorer](https://developers.google.com/apis-explorer/#p/) before using any of the services here. + +### Making HTTP Requests Directly ### + +If Google Authentication is desired for external applications, or a Google API is not available yet in this library, HTTP requests can be made directly. + +The `authorize` method returns an authorized [Guzzle Client](http://docs.guzzlephp.org/), so any request made using the client will contain the corresponding authorization. + +```php +// create the Google client +$client = new Google_Client(); + +/** + * Set your method for authentication. Depending on the API, This could be + * directly with an access token, API key, or (recommended) using + * Application Default Credentials. + */ +$client->useApplicationDefaultCredentials(); +$client->addScope(Google_Service_Plus::PLUS_ME); + +// returns a Guzzle HTTP Client +$httpClient = $client->authorize(); + +// make an HTTP request +$response = $httpClient->get('https://www.googleapis.com/plus/v1/people/me'); +``` + +### Caching ### + +It is recommended to use another caching library to improve performance. This can be done by passing a [PSR-6](http://www.php-fig.org/psr/psr-6/) compatible library to the client: + +```php +$cache = new Stash\Pool(new Stash\Driver\FileSystem); +$client->setCache($cache); +``` + +In this example we use [StashPHP](http://www.stashphp.com/). Add this to your project with composer: + +``` +composer require tedivm/stash +``` + +### Updating Tokens ### + +When using [Refresh Tokens](https://developers.google.com/identity/protocols/OAuth2InstalledApp#refresh) or [Service Account Credentials](https://developers.google.com/identity/protocols/OAuth2ServiceAccount#overview), it may be useful to perform some action when a new access token is granted. To do this, pass a callable to the `setTokenCallback` method on the client: + +```php +$logger = new Monolog\Logger; +$tokenCallback = function ($cacheKey, $accessToken) use ($logger) { + $logger->debug(sprintf('new access token received at cache key %s', $cacheKey)); +}; +$client->setTokenCallback($tokenCallback); +``` + +### Debugging Your HTTP Request using Charles ### + +It is often very useful to debug your API calls by viewing the raw HTTP request. This library supports the use of [Charles Web Proxy](https://www.charlesproxy.com/documentation/getting-started/). Download and run Charles, and then capture all HTTP traffic through Charles with the following code: + +```php +// FOR DEBUGGING ONLY +$httpClient = new GuzzleHttp\Client([ + 'proxy' => 'localhost:8888', // by default, Charles runs on localhost port 8888 + 'verify' => false, // otherwise HTTPS requests will fail. +]); + +$client = new Google_Client(); +$client->setHttpClient($httpClient); +``` + +Now all calls made by this library will appear in the Charles UI. + +One additional step is required in Charles to view SSL requests. Go to **Charles > Proxy > SSL Proxying Settings** and add the domain you'd like captured. In the case of the Google APIs, this is usually `*.googleapis.com`. + +### Service Specific Examples ### + +YouTube: https://github.com/youtube/api-samples/tree/master/php + +## How Do I Contribute? ## + +Please see the [contributing](CONTRIBUTING.md) page for more information. In particular, we love pull requests - but please make sure to sign the [contributor license agreement](https://developers.google.com/api-client-library/php/contribute). + +## Frequently Asked Questions ## + +### What do I do if something isn't working? ### + +For support with the library the best place to ask is via the google-api-php-client tag on StackOverflow: http://stackoverflow.com/questions/tagged/google-api-php-client + +If there is a specific bug with the library, please [file a issue](https://github.com/google/google-api-php-client/issues) in the Github issues tracker, including an example of the failing code and any specific errors retrieved. Feature requests can also be filed, as long as they are core library requests, and not-API specific: for those, refer to the documentation for the individual APIs for the best place to file requests. Please try to provide a clear statement of the problem that the feature would address. + +### I want an example of X! ### + +If X is a feature of the library, file away! If X is an example of using a specific service, the best place to go is to the teams for those specific APIs - our preference is to link to their examples rather than add them to the library, as they can then pin to specific versions of the library. If you have any examples for other APIs, let us know and we will happily add a link to the README above! + +### Why do you still support 5.2? ### + +When we started working on the 1.0.0 branch we knew there were several fundamental issues to fix with the 0.6 releases of the library. At that time we looked at the usage of the library, and other related projects, and determined that there was still a large and active base of PHP 5.2 installs. You can see this in statistics such as the PHP versions chart in the WordPress stats: http://wordpress.org/about/stats/. We will keep looking at the types of usage we see, and try to take advantage of newer PHP features where possible. + +### Why does Google_..._Service have weird names? ### + +The _Service classes are generally automatically generated from the API discovery documents: https://developers.google.com/discovery/. Sometimes new features are added to APIs with unusual names, which can cause some unexpected or non-standard style naming in the PHP classes. + +### How do I deal with non-JSON response types? ### + +Some services return XML or similar by default, rather than JSON, which is what the library supports. You can request a JSON response by adding an 'alt' argument to optional params that is normally the last argument to a method call: + +``` +$opt_params = array( + 'alt' => "json" +); +``` + +### How do I set a field to null? ### + +The library strips out nulls from the objects sent to the Google APIs as its the default value of all of the uninitialized properties. To work around this, set the field you want to null to `Google_Model::NULL_VALUE`. This is a placeholder that will be replaced with a true null when sent over the wire. + +## Code Quality ## + +Run the PHPUnit tests with PHPUnit. You can configure an API key and token in BaseTest.php to run all calls, but this will require some setup on the Google Developer Console. + + phpunit tests/ + +### Coding Style + +To check for coding style violations, run + +``` +vendor/bin/phpcs src --standard=style/ruleset.xml -np +``` + +To automatically fix (fixable) coding style violations, run + +``` +vendor/bin/phpcbf src --standard=style/ruleset.xml +``` diff --git a/vendor/google/apiclient/composer.json b/vendor/google/apiclient/composer.json new file mode 100644 index 00000000..3f0619c1 --- /dev/null +++ b/vendor/google/apiclient/composer.json @@ -0,0 +1,41 @@ +{ + "name": "google/apiclient", + "type": "library", + "description": "Client library for Google APIs", + "keywords": ["google"], + "homepage": "http://developers.google.com/api-client-library/php", + "license": "Apache-2.0", + "require": { + "php": ">=5.4", + "google/auth": "^0.11", + "google/apiclient-services": "^0.11", + "firebase/php-jwt": "~2.0|~3.0|~4.0", + "monolog/monolog": "^1.17", + "phpseclib/phpseclib": "~0.3.10|~2.0", + "guzzlehttp/guzzle": "~5.2|~6.0", + "guzzlehttp/psr7": "^1.2" + }, + "require-dev": { + "phpunit/phpunit": "~4", + "squizlabs/php_codesniffer": "~2.3", + "symfony/dom-crawler": "~2.1", + "symfony/css-selector": "~2.1", + "cache/filesystem-adapter": "^0.3.2" + }, + "suggest": { + "cache/filesystem-adapter": "For caching certs and tokens (using Google_Client::setCache)" + }, + "autoload": { + "psr-0": { + "Google_": "src/" + }, + "classmap": [ + "src/Google/Service/" + ] + }, + "extra": { + "branch-alias": { + "dev-master": "2.x-dev" + } + } +} diff --git a/vendor/google/apiclient/src/Google/AccessToken/Revoke.php b/vendor/google/apiclient/src/Google/AccessToken/Revoke.php new file mode 100644 index 00000000..29eb3fb3 --- /dev/null +++ b/vendor/google/apiclient/src/Google/AccessToken/Revoke.php @@ -0,0 +1,78 @@ +http = $http; + } + + /** + * Revoke an OAuth2 access token or refresh token. This method will revoke the current access + * token, if a token isn't provided. + * + * @param string|array $token The token (access token or a refresh token) that should be revoked. + * @return boolean Returns True if the revocation was successful, otherwise False. + */ + public function revokeToken($token) + { + if (is_array($token)) { + if (isset($token['refresh_token'])) { + $token = $token['refresh_token']; + } else { + $token = $token['access_token']; + } + } + + $body = Psr7\stream_for(http_build_query(array('token' => $token))); + $request = new Request( + 'POST', + Google_Client::OAUTH2_REVOKE_URI, + [ + 'Cache-Control' => 'no-store', + 'Content-Type' => 'application/x-www-form-urlencoded', + ], + $body + ); + + $httpHandler = HttpHandlerFactory::build($this->http); + + $response = $httpHandler($request); + + return $response->getStatusCode() == 200; + } +} diff --git a/vendor/google/apiclient/src/Google/AccessToken/Verify.php b/vendor/google/apiclient/src/Google/AccessToken/Verify.php new file mode 100644 index 00000000..748aa3df --- /dev/null +++ b/vendor/google/apiclient/src/Google/AccessToken/Verify.php @@ -0,0 +1,269 @@ +http = $http; + $this->cache = $cache; + $this->jwt = $jwt ?: $this->getJwtService(); + } + + /** + * Verifies an id token and returns the authenticated apiLoginTicket. + * Throws an exception if the id token is not valid. + * The audience parameter can be used to control which id tokens are + * accepted. By default, the id token must have been issued to this OAuth2 client. + * + * @param $audience + * @return array the token payload, if successful + */ + public function verifyIdToken($idToken, $audience = null) + { + if (empty($idToken)) { + throw new LogicException('id_token cannot be null'); + } + + // set phpseclib constants if applicable + $this->setPhpsecConstants(); + + // Check signature + $certs = $this->getFederatedSignOnCerts(); + foreach ($certs as $cert) { + $bigIntClass = $this->getBigIntClass(); + $rsaClass = $this->getRsaClass(); + $modulus = new $bigIntClass($this->jwt->urlsafeB64Decode($cert['n']), 256); + $exponent = new $bigIntClass($this->jwt->urlsafeB64Decode($cert['e']), 256); + + $rsa = new $rsaClass(); + $rsa->loadKey(array('n' => $modulus, 'e' => $exponent)); + + try { + $payload = $this->jwt->decode( + $idToken, + $rsa->getPublicKey(), + array('RS256') + ); + + if (property_exists($payload, 'aud')) { + if ($audience && $payload->aud != $audience) { + return false; + } + } + + // support HTTP and HTTPS issuers + // @see https://developers.google.com/identity/sign-in/web/backend-auth + $issuers = array(self::OAUTH2_ISSUER, self::OAUTH2_ISSUER_HTTPS); + if (!isset($payload->iss) || !in_array($payload->iss, $issuers)) { + return false; + } + + return (array) $payload; + } catch (ExpiredException $e) { + return false; + } catch (ExpiredExceptionV3 $e) { + return false; + } catch (DomainException $e) { + // continue + } + } + + return false; + } + + private function getCache() + { + return $this->cache; + } + + /** + * Retrieve and cache a certificates file. + * + * @param $url string location + * @throws Google_Exception + * @return array certificates + */ + private function retrieveCertsFromLocation($url) + { + // If we're retrieving a local file, just grab it. + if (0 !== strpos($url, 'http')) { + if (!$file = file_get_contents($url)) { + throw new Google_Exception( + "Failed to retrieve verification certificates: '" . + $url . "'." + ); + } + + return json_decode($file, true); + } + + $response = $this->http->get($url); + + if ($response->getStatusCode() == 200) { + return json_decode((string) $response->getBody(), true); + } + throw new Google_Exception( + sprintf( + 'Failed to retrieve verification certificates: "%s".', + $response->getBody()->getContents() + ), + $response->getStatusCode() + ); + } + + // Gets federated sign-on certificates to use for verifying identity tokens. + // Returns certs as array structure, where keys are key ids, and values + // are PEM encoded certificates. + private function getFederatedSignOnCerts() + { + $certs = null; + if ($cache = $this->getCache()) { + $cacheItem = $cache->getItem('federated_signon_certs_v3', 3600); + $certs = $cacheItem->get(); + } + + + if (!$certs) { + $certs = $this->retrieveCertsFromLocation( + self::FEDERATED_SIGNON_CERT_URL + ); + + if ($cache) { + $cacheItem->set($certs); + $cache->save($cacheItem); + } + } + + if (!isset($certs['keys'])) { + throw new InvalidArgumentException( + 'federated sign-on certs expects "keys" to be set' + ); + } + + return $certs['keys']; + } + + private function getJwtService() + { + $jwtClass = 'JWT'; + if (class_exists('\Firebase\JWT\JWT')) { + $jwtClass = 'Firebase\JWT\JWT'; + } + + if (property_exists($jwtClass, 'leeway')) { + // adds 1 second to JWT leeway + // @see https://github.com/google/google-api-php-client/issues/827 + $jwtClass::$leeway = 1; + } + + return new $jwtClass; + } + + private function getRsaClass() + { + if (class_exists('phpseclib\Crypt\RSA')) { + return 'phpseclib\Crypt\RSA'; + } + + return 'Crypt_RSA'; + } + + private function getBigIntClass() + { + if (class_exists('phpseclib\Math\BigInteger')) { + return 'phpseclib\Math\BigInteger'; + } + + return 'Math_BigInteger'; + } + + private function getOpenSslConstant() + { + if (class_exists('phpseclib\Crypt\RSA')) { + return 'phpseclib\Crypt\RSA::MODE_OPENSSL'; + } + + if (class_exists('Crypt_RSA')) { + return 'CRYPT_RSA_MODE_OPENSSL'; + } + + throw new \Exception('Cannot find RSA class'); + } + + /** + * phpseclib calls "phpinfo" by default, which requires special + * whitelisting in the AppEngine VM environment. This function + * sets constants to bypass the need for phpseclib to check phpinfo + * + * @see phpseclib/Math/BigInteger + * @see https://github.com/GoogleCloudPlatform/getting-started-php/issues/85 + */ + private function setPhpsecConstants() + { + if (filter_var(getenv('GAE_VM'), FILTER_VALIDATE_BOOLEAN)) { + if (!defined('MATH_BIGINTEGER_OPENSSL_ENABLED')) { + define('MATH_BIGINTEGER_OPENSSL_ENABLED', true); + } + if (!defined('CRYPT_RSA_MODE')) { + define('CRYPT_RSA_MODE', constant($this->getOpenSslConstant())); + } + } + } +} diff --git a/vendor/google/apiclient/src/Google/AuthHandler/AuthHandlerFactory.php b/vendor/google/apiclient/src/Google/AuthHandler/AuthHandlerFactory.php new file mode 100644 index 00000000..f1a3229a --- /dev/null +++ b/vendor/google/apiclient/src/Google/AuthHandler/AuthHandlerFactory.php @@ -0,0 +1,42 @@ +cache = $cache; + $this->cacheConfig = $cacheConfig; + } + + public function attachCredentials( + ClientInterface $http, + CredentialsLoader $credentials, + callable $tokenCallback = null + ) { + // use the provided cache + if ($this->cache) { + $credentials = new FetchAuthTokenCache( + $credentials, + $this->cacheConfig, + $this->cache + ); + } + // if we end up needing to make an HTTP request to retrieve credentials, we + // can use our existing one, but we need to throw exceptions so the error + // bubbles up. + $authHttp = $this->createAuthHttp($http); + $authHttpHandler = HttpHandlerFactory::build($authHttp); + $subscriber = new AuthTokenSubscriber( + $credentials, + $authHttpHandler, + $tokenCallback + ); + + $http->setDefaultOption('auth', 'google_auth'); + $http->getEmitter()->attach($subscriber); + + return $http; + } + + public function attachToken(ClientInterface $http, array $token, array $scopes) + { + $tokenFunc = function ($scopes) use ($token) { + return $token['access_token']; + }; + + $subscriber = new ScopedAccessTokenSubscriber( + $tokenFunc, + $scopes, + $this->cacheConfig, + $this->cache + ); + + $http->setDefaultOption('auth', 'scoped'); + $http->getEmitter()->attach($subscriber); + + return $http; + } + + public function attachKey(ClientInterface $http, $key) + { + $subscriber = new SimpleSubscriber(['key' => $key]); + + $http->setDefaultOption('auth', 'simple'); + $http->getEmitter()->attach($subscriber); + + return $http; + } + + private function createAuthHttp(ClientInterface $http) + { + return new Client( + [ + 'base_url' => $http->getBaseUrl(), + 'defaults' => [ + 'exceptions' => true, + 'verify' => $http->getDefaultOption('verify'), + 'proxy' => $http->getDefaultOption('proxy'), + ] + ] + ); + } +} diff --git a/vendor/google/apiclient/src/Google/AuthHandler/Guzzle6AuthHandler.php b/vendor/google/apiclient/src/Google/AuthHandler/Guzzle6AuthHandler.php new file mode 100644 index 00000000..fcdfb3b0 --- /dev/null +++ b/vendor/google/apiclient/src/Google/AuthHandler/Guzzle6AuthHandler.php @@ -0,0 +1,106 @@ +cache = $cache; + $this->cacheConfig = $cacheConfig; + } + + public function attachCredentials( + ClientInterface $http, + CredentialsLoader $credentials, + callable $tokenCallback = null + ) { + // use the provided cache + if ($this->cache) { + $credentials = new FetchAuthTokenCache( + $credentials, + $this->cacheConfig, + $this->cache + ); + } + // if we end up needing to make an HTTP request to retrieve credentials, we + // can use our existing one, but we need to throw exceptions so the error + // bubbles up. + $authHttp = $this->createAuthHttp($http); + $authHttpHandler = HttpHandlerFactory::build($authHttp); + $middleware = new AuthTokenMiddleware( + $credentials, + $authHttpHandler, + $tokenCallback + ); + + $config = $http->getConfig(); + $config['handler']->remove('google_auth'); + $config['handler']->push($middleware, 'google_auth'); + $config['auth'] = 'google_auth'; + $http = new Client($config); + + return $http; + } + + public function attachToken(ClientInterface $http, array $token, array $scopes) + { + $tokenFunc = function ($scopes) use ($token) { + return $token['access_token']; + }; + + $middleware = new ScopedAccessTokenMiddleware( + $tokenFunc, + $scopes, + $this->cacheConfig, + $this->cache + ); + + $config = $http->getConfig(); + $config['handler']->remove('google_auth'); + $config['handler']->push($middleware, 'google_auth'); + $config['auth'] = 'scoped'; + $http = new Client($config); + + return $http; + } + + public function attachKey(ClientInterface $http, $key) + { + $middleware = new SimpleMiddleware(['key' => $key]); + + $config = $http->getConfig(); + $config['handler']->remove('google_auth'); + $config['handler']->push($middleware, 'google_auth'); + $config['auth'] = 'simple'; + $http = new Client($config); + + return $http; + } + + private function createAuthHttp(ClientInterface $http) + { + return new Client( + [ + 'base_uri' => $http->getConfig('base_uri'), + 'exceptions' => true, + 'verify' => $http->getConfig('verify'), + 'proxy' => $http->getConfig('proxy'), + ] + ); + } +} diff --git a/vendor/google/apiclient/src/Google/Client.php b/vendor/google/apiclient/src/Google/Client.php new file mode 100644 index 00000000..2fb29578 --- /dev/null +++ b/vendor/google/apiclient/src/Google/Client.php @@ -0,0 +1,1118 @@ +config = array_merge( + [ + 'application_name' => '', + + // Don't change these unless you're working against a special development + // or testing environment. + 'base_path' => self::API_BASE_PATH, + + // https://developers.google.com/console + 'client_id' => '', + 'client_secret' => '', + 'redirect_uri' => null, + 'state' => null, + + // Simple API access key, also from the API console. Ensure you get + // a Server key, and not a Browser key. + 'developer_key' => '', + + // For use with Google Cloud Platform + // fetch the ApplicationDefaultCredentials, if applicable + // @see https://developers.google.com/identity/protocols/application-default-credentials + 'use_application_default_credentials' => false, + 'signing_key' => null, + 'signing_algorithm' => null, + 'subject' => null, + + // Other OAuth2 parameters. + 'hd' => '', + 'prompt' => '', + 'openid.realm' => '', + 'include_granted_scopes' => null, + 'login_hint' => '', + 'request_visible_actions' => '', + 'access_type' => 'online', + 'approval_prompt' => 'auto', + + // Task Runner retry configuration + // @see Google_Task_Runner + 'retry' => array(), + + // cache config for downstream auth caching + 'cache_config' => [], + + // function to be called when an access token is fetched + // follows the signature function ($cacheKey, $accessToken) + 'token_callback' => null, + + // Service class used in Google_Client::verifyIdToken. + // Explicitly pass this in to avoid setting JWT::$leeway + 'jwt' => null, + ], + $config + ); + } + + /** + * Get a string containing the version of the library. + * + * @return string + */ + public function getLibraryVersion() + { + return self::LIBVER; + } + + /** + * For backwards compatibility + * alias for fetchAccessTokenWithAuthCode + * + * @param $code string code from accounts.google.com + * @return array access token + * @deprecated + */ + public function authenticate($code) + { + return $this->fetchAccessTokenWithAuthCode($code); + } + + /** + * Attempt to exchange a code for an valid authentication token. + * Helper wrapped around the OAuth 2.0 implementation. + * + * @param $code string code from accounts.google.com + * @return array access token + */ + public function fetchAccessTokenWithAuthCode($code) + { + if (strlen($code) == 0) { + throw new InvalidArgumentException("Invalid code"); + } + + $auth = $this->getOAuth2Service(); + $auth->setCode($code); + $auth->setRedirectUri($this->getRedirectUri()); + + $httpHandler = HttpHandlerFactory::build($this->getHttpClient()); + $creds = $auth->fetchAuthToken($httpHandler); + if ($creds && isset($creds['access_token'])) { + $creds['created'] = time(); + $this->setAccessToken($creds); + } + + return $creds; + } + + /** + * For backwards compatibility + * alias for fetchAccessTokenWithAssertion + * + * @return array access token + * @deprecated + */ + public function refreshTokenWithAssertion() + { + return $this->fetchAccessTokenWithAssertion(); + } + + /** + * Fetches a fresh access token with a given assertion token. + * @param $assertionCredentials optional. + * @return array access token + */ + public function fetchAccessTokenWithAssertion(ClientInterface $authHttp = null) + { + if (!$this->isUsingApplicationDefaultCredentials()) { + throw new DomainException( + 'set the JSON service account credentials using' + . ' Google_Client::setAuthConfig or set the path to your JSON file' + . ' with the "GOOGLE_APPLICATION_CREDENTIALS" environment variable' + . ' and call Google_Client::useApplicationDefaultCredentials to' + . ' refresh a token with assertion.' + ); + } + + $this->getLogger()->log( + 'info', + 'OAuth2 access token refresh with Signed JWT assertion grants.' + ); + + $credentials = $this->createApplicationDefaultCredentials(); + + $httpHandler = HttpHandlerFactory::build($authHttp); + $creds = $credentials->fetchAuthToken($httpHandler); + if ($creds && isset($creds['access_token'])) { + $creds['created'] = time(); + $this->setAccessToken($creds); + } + + return $creds; + } + + /** + * For backwards compatibility + * alias for fetchAccessTokenWithRefreshToken + * + * @param string $refreshToken + * @return array access token + */ + public function refreshToken($refreshToken) + { + return $this->fetchAccessTokenWithRefreshToken($refreshToken); + } + + /** + * Fetches a fresh OAuth 2.0 access token with the given refresh token. + * @param string $refreshToken + * @return array access token + */ + public function fetchAccessTokenWithRefreshToken($refreshToken = null) + { + if (null === $refreshToken) { + if (!isset($this->token['refresh_token'])) { + throw new LogicException( + 'refresh token must be passed in or set as part of setAccessToken' + ); + } + $refreshToken = $this->token['refresh_token']; + } + $this->getLogger()->info('OAuth2 access token refresh'); + $auth = $this->getOAuth2Service(); + $auth->setRefreshToken($refreshToken); + + $httpHandler = HttpHandlerFactory::build($this->getHttpClient()); + $creds = $auth->fetchAuthToken($httpHandler); + if ($creds && isset($creds['access_token'])) { + $creds['created'] = time(); + if (!isset($creds['refresh_token'])) { + $creds['refresh_token'] = $refreshToken; + } + $this->setAccessToken($creds); + } + + return $creds; + } + + /** + * Create a URL to obtain user authorization. + * The authorization endpoint allows the user to first + * authenticate, and then grant/deny the access request. + * @param string|array $scope The scope is expressed as an array or list of space-delimited strings. + * @return string + */ + public function createAuthUrl($scope = null) + { + if (empty($scope)) { + $scope = $this->prepareScopes(); + } + if (is_array($scope)) { + $scope = implode(' ', $scope); + } + + // only accept one of prompt or approval_prompt + $approvalPrompt = $this->config['prompt'] + ? null + : $this->config['approval_prompt']; + + // include_granted_scopes should be string "true", string "false", or null + $includeGrantedScopes = $this->config['include_granted_scopes'] === null + ? null + : var_export($this->config['include_granted_scopes'], true); + + $params = array_filter( + [ + 'access_type' => $this->config['access_type'], + 'approval_prompt' => $approvalPrompt, + 'hd' => $this->config['hd'], + 'include_granted_scopes' => $includeGrantedScopes, + 'login_hint' => $this->config['login_hint'], + 'openid.realm' => $this->config['openid.realm'], + 'prompt' => $this->config['prompt'], + 'response_type' => 'code', + 'scope' => $scope, + 'state' => $this->config['state'], + ] + ); + + // If the list of scopes contains plus.login, add request_visible_actions + // to auth URL. + $rva = $this->config['request_visible_actions']; + if (strlen($rva) > 0 && false !== strpos($scope, 'plus.login')) { + $params['request_visible_actions'] = $rva; + } + + $auth = $this->getOAuth2Service(); + + return (string) $auth->buildFullAuthorizationUri($params); + } + + /** + * Adds auth listeners to the HTTP client based on the credentials + * set in the Google API Client object + * + * @param GuzzleHttp\ClientInterface $http the http client object. + * @return GuzzleHttp\ClientInterface the http client object + */ + public function authorize(ClientInterface $http = null) + { + $credentials = null; + $token = null; + $scopes = null; + if (null === $http) { + $http = $this->getHttpClient(); + } + + // These conditionals represent the decision tree for authentication + // 1. Check for Application Default Credentials + // 2. Check for API Key + // 3a. Check for an Access Token + // 3b. If access token exists but is expired, try to refresh it + if ($this->isUsingApplicationDefaultCredentials()) { + $credentials = $this->createApplicationDefaultCredentials(); + } elseif ($token = $this->getAccessToken()) { + $scopes = $this->prepareScopes(); + // add refresh subscriber to request a new token + if (isset($token['refresh_token']) && $this->isAccessTokenExpired()) { + $credentials = $this->createUserRefreshCredentials( + $scopes, + $token['refresh_token'] + ); + } + } + + $authHandler = $this->getAuthHandler(); + + if ($credentials) { + $callback = $this->config['token_callback']; + $http = $authHandler->attachCredentials($http, $credentials, $callback); + } elseif ($token) { + $http = $authHandler->attachToken($http, $token, (array) $scopes); + } elseif ($key = $this->config['developer_key']) { + $http = $authHandler->attachKey($http, $key); + } + + return $http; + } + + /** + * Set the configuration to use application default credentials for + * authentication + * + * @see https://developers.google.com/identity/protocols/application-default-credentials + * @param boolean $useAppCreds + */ + public function useApplicationDefaultCredentials($useAppCreds = true) + { + $this->config['use_application_default_credentials'] = $useAppCreds; + } + + /** + * To prevent useApplicationDefaultCredentials from inappropriately being + * called in a conditional + * + * @see https://developers.google.com/identity/protocols/application-default-credentials + */ + public function isUsingApplicationDefaultCredentials() + { + return $this->config['use_application_default_credentials']; + } + + /** + * @param string|array $token + * @throws InvalidArgumentException + */ + public function setAccessToken($token) + { + if (is_string($token)) { + if ($json = json_decode($token, true)) { + $token = $json; + } else { + // assume $token is just the token string + $token = array( + 'access_token' => $token, + ); + } + } + if ($token == null) { + throw new InvalidArgumentException('invalid json token'); + } + if (!isset($token['access_token'])) { + throw new InvalidArgumentException("Invalid token format"); + } + $this->token = $token; + } + + public function getAccessToken() + { + return $this->token; + } + + public function getRefreshToken() + { + if (isset($this->token['refresh_token'])) { + return $this->token['refresh_token']; + } + } + + /** + * Returns if the access_token is expired. + * @return bool Returns True if the access_token is expired. + */ + public function isAccessTokenExpired() + { + if (!$this->token) { + return true; + } + + $created = 0; + if (isset($this->token['created'])) { + $created = $this->token['created']; + } elseif (isset($this->token['id_token'])) { + // check the ID token for "iat" + // signature verification is not required here, as we are just + // using this for convenience to save a round trip request + // to the Google API server + $idToken = $this->token['id_token']; + if (substr_count($idToken, '.') == 2) { + $parts = explode('.', $idToken); + $payload = json_decode(base64_decode($parts[1]), true); + if ($payload && isset($payload['iat'])) { + $created = $payload['iat']; + } + } + } + + // If the token is set to expire in the next 30 seconds. + return ($created + ($this->token['expires_in'] - 30)) < time(); + } + + public function getAuth() + { + throw new BadMethodCallException( + 'This function no longer exists. See UPGRADING.md for more information' + ); + } + + public function setAuth($auth) + { + throw new BadMethodCallException( + 'This function no longer exists. See UPGRADING.md for more information' + ); + } + + /** + * Set the OAuth 2.0 Client ID. + * @param string $clientId + */ + public function setClientId($clientId) + { + $this->config['client_id'] = $clientId; + } + + public function getClientId() + { + return $this->config['client_id']; + } + + /** + * Set the OAuth 2.0 Client Secret. + * @param string $clientSecret + */ + public function setClientSecret($clientSecret) + { + $this->config['client_secret'] = $clientSecret; + } + + public function getClientSecret() + { + return $this->config['client_secret']; + } + + /** + * Set the OAuth 2.0 Redirect URI. + * @param string $redirectUri + */ + public function setRedirectUri($redirectUri) + { + $this->config['redirect_uri'] = $redirectUri; + } + + public function getRedirectUri() + { + return $this->config['redirect_uri']; + } + + /** + * Set OAuth 2.0 "state" parameter to achieve per-request customization. + * @see http://tools.ietf.org/html/draft-ietf-oauth-v2-22#section-3.1.2.2 + * @param string $state + */ + public function setState($state) + { + $this->config['state'] = $state; + } + + /** + * @param string $accessType Possible values for access_type include: + * {@code "offline"} to request offline access from the user. + * {@code "online"} to request online access from the user. + */ + public function setAccessType($accessType) + { + $this->config['access_type'] = $accessType; + } + + /** + * @param string $approvalPrompt Possible values for approval_prompt include: + * {@code "force"} to force the approval UI to appear. + * {@code "auto"} to request auto-approval when possible. (This is the default value) + */ + public function setApprovalPrompt($approvalPrompt) + { + $this->config['approval_prompt'] = $approvalPrompt; + } + + /** + * Set the login hint, email address or sub id. + * @param string $loginHint + */ + public function setLoginHint($loginHint) + { + $this->config['login_hint'] = $loginHint; + } + + /** + * Set the application name, this is included in the User-Agent HTTP header. + * @param string $applicationName + */ + public function setApplicationName($applicationName) + { + $this->config['application_name'] = $applicationName; + } + + /** + * If 'plus.login' is included in the list of requested scopes, you can use + * this method to define types of app activities that your app will write. + * You can find a list of available types here: + * @link https://developers.google.com/+/api/moment-types + * + * @param array $requestVisibleActions Array of app activity types + */ + public function setRequestVisibleActions($requestVisibleActions) + { + if (is_array($requestVisibleActions)) { + $requestVisibleActions = implode(" ", $requestVisibleActions); + } + $this->config['request_visible_actions'] = $requestVisibleActions; + } + + /** + * Set the developer key to use, these are obtained through the API Console. + * @see http://code.google.com/apis/console-help/#generatingdevkeys + * @param string $developerKey + */ + public function setDeveloperKey($developerKey) + { + $this->config['developer_key'] = $developerKey; + } + + /** + * Set the hd (hosted domain) parameter streamlines the login process for + * Google Apps hosted accounts. By including the domain of the user, you + * restrict sign-in to accounts at that domain. + * @param $hd string - the domain to use. + */ + public function setHostedDomain($hd) + { + $this->config['hd'] = $hd; + } + + /** + * Set the prompt hint. Valid values are none, consent and select_account. + * If no value is specified and the user has not previously authorized + * access, then the user is shown a consent screen. + * @param $prompt string + */ + public function setPrompt($prompt) + { + $this->config['prompt'] = $prompt; + } + + /** + * openid.realm is a parameter from the OpenID 2.0 protocol, not from OAuth + * 2.0. It is used in OpenID 2.0 requests to signify the URL-space for which + * an authentication request is valid. + * @param $realm string - the URL-space to use. + */ + public function setOpenidRealm($realm) + { + $this->config['openid.realm'] = $realm; + } + + /** + * If this is provided with the value true, and the authorization request is + * granted, the authorization will include any previous authorizations + * granted to this user/application combination for other scopes. + * @param $include boolean - the URL-space to use. + */ + public function setIncludeGrantedScopes($include) + { + $this->config['include_granted_scopes'] = $include; + } + + /** + * sets function to be called when an access token is fetched + * @param callable $tokenCallback - function ($cacheKey, $accessToken) + */ + public function setTokenCallback(callable $tokenCallback) + { + $this->config['token_callback'] = $tokenCallback; + } + + /** + * Revoke an OAuth2 access token or refresh token. This method will revoke the current access + * token, if a token isn't provided. + * + * @param string|null $token The token (access token or a refresh token) that should be revoked. + * @return boolean Returns True if the revocation was successful, otherwise False. + */ + public function revokeToken($token = null) + { + $tokenRevoker = new Google_AccessToken_Revoke( + $this->getHttpClient() + ); + + return $tokenRevoker->revokeToken($token ?: $this->getAccessToken()); + } + + /** + * Verify an id_token. This method will verify the current id_token, if one + * isn't provided. + * + * @throws LogicException + * @param string|null $idToken The token (id_token) that should be verified. + * @return array|false Returns the token payload as an array if the verification was + * successful, false otherwise. + */ + public function verifyIdToken($idToken = null) + { + $tokenVerifier = new Google_AccessToken_Verify( + $this->getHttpClient(), + $this->getCache(), + $this->config['jwt'] + ); + + if (null === $idToken) { + $token = $this->getAccessToken(); + if (!isset($token['id_token'])) { + throw new LogicException( + 'id_token must be passed in or set as part of setAccessToken' + ); + } + $idToken = $token['id_token']; + } + + return $tokenVerifier->verifyIdToken( + $idToken, + $this->getClientId() + ); + } + + /** + * Set the scopes to be requested. Must be called before createAuthUrl(). + * Will remove any previously configured scopes. + * @param array $scopes, ie: array('https://www.googleapis.com/auth/plus.login', + * 'https://www.googleapis.com/auth/moderator') + */ + public function setScopes($scopes) + { + $this->requestedScopes = array(); + $this->addScope($scopes); + } + + /** + * This functions adds a scope to be requested as part of the OAuth2.0 flow. + * Will append any scopes not previously requested to the scope parameter. + * A single string will be treated as a scope to request. An array of strings + * will each be appended. + * @param $scope_or_scopes string|array e.g. "profile" + */ + public function addScope($scope_or_scopes) + { + if (is_string($scope_or_scopes) && !in_array($scope_or_scopes, $this->requestedScopes)) { + $this->requestedScopes[] = $scope_or_scopes; + } else if (is_array($scope_or_scopes)) { + foreach ($scope_or_scopes as $scope) { + $this->addScope($scope); + } + } + } + + /** + * Returns the list of scopes requested by the client + * @return array the list of scopes + * + */ + public function getScopes() + { + return $this->requestedScopes; + } + + /** + * @return array + * @visible For Testing + */ + public function prepareScopes() + { + if (empty($this->requestedScopes)) { + return null; + } + + return implode(' ', $this->requestedScopes); + } + + /** + * Helper method to execute deferred HTTP requests. + * + * @param $request Psr\Http\Message\RequestInterface|Google_Http_Batch + * @throws Google_Exception + * @return object of the type of the expected class or Psr\Http\Message\ResponseInterface. + */ + public function execute(RequestInterface $request, $expectedClass = null) + { + $request = $request->withHeader( + 'User-Agent', + $this->config['application_name'] + . " " . self::USER_AGENT_SUFFIX + . $this->getLibraryVersion() + ); + + // call the authorize method + // this is where most of the grunt work is done + $http = $this->authorize(); + + return Google_Http_REST::execute($http, $request, $expectedClass, $this->config['retry']); + } + + /** + * Declare whether batch calls should be used. This may increase throughput + * by making multiple requests in one connection. + * + * @param boolean $useBatch True if the batch support should + * be enabled. Defaults to False. + */ + public function setUseBatch($useBatch) + { + // This is actually an alias for setDefer. + $this->setDefer($useBatch); + } + + /** + * Are we running in Google AppEngine? + * return bool + */ + public function isAppEngine() + { + return (isset($_SERVER['SERVER_SOFTWARE']) && + strpos($_SERVER['SERVER_SOFTWARE'], 'Google App Engine') !== false); + } + + public function setConfig($name, $value) + { + $this->config[$name] = $value; + } + + public function getConfig($name, $default = null) + { + return isset($this->config[$name]) ? $this->config[$name] : $default; + } + + /** + * For backwards compatibility + * alias for setAuthConfig + * + * @param string $file the configuration file + * @throws Google_Exception + * @deprecated + */ + public function setAuthConfigFile($file) + { + $this->setAuthConfig($file); + } + + /** + * Set the auth config from new or deprecated JSON config. + * This structure should match the file downloaded from + * the "Download JSON" button on in the Google Developer + * Console. + * @param string|array $config the configuration json + * @throws Google_Exception + */ + public function setAuthConfig($config) + { + if (is_string($config)) { + if (!file_exists($config)) { + throw new InvalidArgumentException('file does not exist'); + } + + $json = file_get_contents($config); + + if (!$config = json_decode($json, true)) { + throw new LogicException('invalid json for auth config'); + } + } + + $key = isset($config['installed']) ? 'installed' : 'web'; + if (isset($config['type']) && $config['type'] == 'service_account') { + // application default credentials + $this->useApplicationDefaultCredentials(); + + // set the information from the config + $this->setClientId($config['client_id']); + $this->config['client_email'] = $config['client_email']; + $this->config['signing_key'] = $config['private_key']; + $this->config['signing_algorithm'] = 'HS256'; + } elseif (isset($config[$key])) { + // old-style + $this->setClientId($config[$key]['client_id']); + $this->setClientSecret($config[$key]['client_secret']); + if (isset($config[$key]['redirect_uris'])) { + $this->setRedirectUri($config[$key]['redirect_uris'][0]); + } + } else { + // new-style + $this->setClientId($config['client_id']); + $this->setClientSecret($config['client_secret']); + if (isset($config['redirect_uris'])) { + $this->setRedirectUri($config['redirect_uris'][0]); + } + } + } + + /** + * Use when the service account has been delegated domain wide access. + * + * @param string subject an email address account to impersonate + */ + public function setSubject($subject) + { + $this->config['subject'] = $subject; + } + + /** + * Declare whether making API calls should make the call immediately, or + * return a request which can be called with ->execute(); + * + * @param boolean $defer True if calls should not be executed right away. + */ + public function setDefer($defer) + { + $this->deferExecution = $defer; + } + + /** + * Whether or not to return raw requests + * @return boolean + */ + public function shouldDefer() + { + return $this->deferExecution; + } + + /** + * @return Google\Auth\OAuth2 implementation + */ + public function getOAuth2Service() + { + if (!isset($this->auth)) { + $this->auth = $this->createOAuth2Service(); + } + + return $this->auth; + } + + /** + * create a default google auth object + */ + protected function createOAuth2Service() + { + $auth = new OAuth2( + [ + 'clientId' => $this->getClientId(), + 'clientSecret' => $this->getClientSecret(), + 'authorizationUri' => self::OAUTH2_AUTH_URL, + 'tokenCredentialUri' => self::OAUTH2_TOKEN_URI, + 'redirectUri' => $this->getRedirectUri(), + 'issuer' => $this->config['client_id'], + 'signingKey' => $this->config['signing_key'], + 'signingAlgorithm' => $this->config['signing_algorithm'], + ] + ); + + return $auth; + } + + /** + * Set the Cache object + * @param Psr\Cache\CacheItemPoolInterface $cache + */ + public function setCache(CacheItemPoolInterface $cache) + { + $this->cache = $cache; + } + + /** + * @return Psr\Cache\CacheItemPoolInterface Cache implementation + */ + public function getCache() + { + if (!$this->cache) { + $this->cache = $this->createDefaultCache(); + } + + return $this->cache; + } + + /** + * @return Google\Auth\CacheInterface Cache implementation + */ + public function setCacheConfig(array $cacheConfig) + { + $this->config['cache_config'] = $cacheConfig; + } + + /** + * Set the Logger object + * @param Psr\Log\LoggerInterface $logger + */ + public function setLogger(LoggerInterface $logger) + { + $this->logger = $logger; + } + + /** + * @return Psr\Log\LoggerInterface implementation + */ + public function getLogger() + { + if (!isset($this->logger)) { + $this->logger = $this->createDefaultLogger(); + } + + return $this->logger; + } + + protected function createDefaultLogger() + { + $logger = new Logger('google-api-php-client'); + if ($this->isAppEngine()) { + $handler = new MonologSyslogHandler('app', LOG_USER, Logger::NOTICE); + } else { + $handler = new MonologStreamHandler('php://stderr', Logger::NOTICE); + } + $logger->pushHandler($handler); + + return $logger; + } + + protected function createDefaultCache() + { + return new MemoryCacheItemPool; + } + + /** + * Set the Http Client object + * @param GuzzleHttp\ClientInterface $http + */ + public function setHttpClient(ClientInterface $http) + { + $this->http = $http; + } + + /** + * @return GuzzleHttp\ClientInterface implementation + */ + public function getHttpClient() + { + if (null === $this->http) { + $this->http = $this->createDefaultHttpClient(); + } + + return $this->http; + } + + protected function createDefaultHttpClient() + { + $options = ['exceptions' => false]; + + $version = ClientInterface::VERSION; + if ('5' === $version[0]) { + $options = [ + 'base_url' => $this->config['base_path'], + 'defaults' => $options, + ]; + if ($this->isAppEngine()) { + // set StreamHandler on AppEngine by default + $options['handler'] = new StreamHandler(); + $options['defaults']['verify'] = '/etc/ca-certificates.crt'; + } + } else { + // guzzle 6 + $options['base_uri'] = $this->config['base_path']; + } + + return new Client($options); + } + + private function createApplicationDefaultCredentials() + { + $scopes = $this->prepareScopes(); + $sub = $this->config['subject']; + $signingKey = $this->config['signing_key']; + + // create credentials using values supplied in setAuthConfig + if ($signingKey) { + $serviceAccountCredentials = array( + 'client_id' => $this->config['client_id'], + 'client_email' => $this->config['client_email'], + 'private_key' => $signingKey, + 'type' => 'service_account', + ); + $credentials = CredentialsLoader::makeCredentials($scopes, $serviceAccountCredentials); + } else { + $credentials = ApplicationDefaultCredentials::getCredentials($scopes); + } + + // for service account domain-wide authority (impersonating a user) + // @see https://developers.google.com/identity/protocols/OAuth2ServiceAccount + if ($sub) { + if (!$credentials instanceof ServiceAccountCredentials) { + throw new DomainException('domain-wide authority requires service account credentials'); + } + + $credentials->setSub($sub); + } + + return $credentials; + } + + protected function getAuthHandler() + { + // Be very careful using the cache, as the underlying auth library's cache + // implementation is naive, and the cache keys do not account for user + // sessions. + // + // @see https://github.com/google/google-api-php-client/issues/821 + return Google_AuthHandler_AuthHandlerFactory::build( + $this->getCache(), + $this->config['cache_config'] + ); + } + + private function createUserRefreshCredentials($scope, $refreshToken) + { + $creds = array_filter( + array( + 'client_id' => $this->getClientId(), + 'client_secret' => $this->getClientSecret(), + 'refresh_token' => $refreshToken, + ) + ); + + return new UserRefreshCredentials($scope, $creds); + } +} diff --git a/vendor/google/apiclient/src/Google/Collection.php b/vendor/google/apiclient/src/Google/Collection.php new file mode 100644 index 00000000..7c478bc0 --- /dev/null +++ b/vendor/google/apiclient/src/Google/Collection.php @@ -0,0 +1,101 @@ +modelData[$this->collection_key]) + && is_array($this->modelData[$this->collection_key])) { + reset($this->modelData[$this->collection_key]); + } + } + + public function current() + { + $this->coerceType($this->key()); + if (is_array($this->modelData[$this->collection_key])) { + return current($this->modelData[$this->collection_key]); + } + } + + public function key() + { + if (isset($this->modelData[$this->collection_key]) + && is_array($this->modelData[$this->collection_key])) { + return key($this->modelData[$this->collection_key]); + } + } + + public function next() + { + return next($this->modelData[$this->collection_key]); + } + + public function valid() + { + $key = $this->key(); + return $key !== null && $key !== false; + } + + public function count() + { + if (!isset($this->modelData[$this->collection_key])) { + return 0; + } + return count($this->modelData[$this->collection_key]); + } + + public function offsetExists($offset) + { + if (!is_numeric($offset)) { + return parent::offsetExists($offset); + } + return isset($this->modelData[$this->collection_key][$offset]); + } + + public function offsetGet($offset) + { + if (!is_numeric($offset)) { + return parent::offsetGet($offset); + } + $this->coerceType($offset); + return $this->modelData[$this->collection_key][$offset]; + } + + public function offsetSet($offset, $value) + { + if (!is_numeric($offset)) { + return parent::offsetSet($offset, $value); + } + $this->modelData[$this->collection_key][$offset] = $value; + } + + public function offsetUnset($offset) + { + if (!is_numeric($offset)) { + return parent::offsetUnset($offset); + } + unset($this->modelData[$this->collection_key][$offset]); + } + + private function coerceType($offset) + { + $typeKey = $this->keyType($this->collection_key); + if (isset($this->$typeKey) && !is_object($this->modelData[$this->collection_key][$offset])) { + $type = $this->$typeKey; + $this->modelData[$this->collection_key][$offset] = + new $type($this->modelData[$this->collection_key][$offset]); + } + } +} diff --git a/vendor/google/apiclient/src/Google/Exception.php b/vendor/google/apiclient/src/Google/Exception.php new file mode 100644 index 00000000..af802697 --- /dev/null +++ b/vendor/google/apiclient/src/Google/Exception.php @@ -0,0 +1,20 @@ +client = $client; + $this->boundary = $boundary ?: mt_rand(); + $this->rootUrl = rtrim($rootUrl ?: $this->client->getConfig('base_path'), '/'); + $this->batchPath = $batchPath ?: self::BATCH_PATH; + } + + public function add(RequestInterface $request, $key = false) + { + if (false == $key) { + $key = mt_rand(); + } + + $this->requests[$key] = $request; + } + + public function execute() + { + $body = ''; + $classes = array(); + $batchHttpTemplate = <<requests as $key => $request) { + $firstLine = sprintf( + '%s %s HTTP/%s', + $request->getMethod(), + $request->getRequestTarget(), + $request->getProtocolVersion() + ); + + $content = (string) $request->getBody(); + + $headers = ''; + foreach ($request->getHeaders() as $name => $values) { + $headers .= sprintf("%s:%s\r\n", $name, implode(', ', $values)); + } + + $body .= sprintf( + $batchHttpTemplate, + $this->boundary, + $key, + $firstLine, + $headers, + $content ? "\n".$content : '' + ); + + $classes['response-' . $key] = $request->getHeaderLine('X-Php-Expected-Class'); + } + + $body .= "--{$this->boundary}--"; + $body = trim($body); + $url = $this->rootUrl . '/' . $this->batchPath; + $headers = array( + 'Content-Type' => sprintf('multipart/mixed; boundary=%s', $this->boundary), + 'Content-Length' => strlen($body), + ); + + $request = new Request( + 'POST', + $url, + $headers, + $body + ); + + $response = $this->client->execute($request); + + return $this->parseResponse($response, $classes); + } + + public function parseResponse(ResponseInterface $response, $classes = array()) + { + $contentType = $response->getHeaderLine('content-type'); + $contentType = explode(';', $contentType); + $boundary = false; + foreach ($contentType as $part) { + $part = explode('=', $part, 2); + if (isset($part[0]) && 'boundary' == trim($part[0])) { + $boundary = $part[1]; + } + } + + $body = (string) $response->getBody(); + if (!empty($body)) { + $body = str_replace("--$boundary--", "--$boundary", $body); + $parts = explode("--$boundary", $body); + $responses = array(); + $requests = array_values($this->requests); + + foreach ($parts as $i => $part) { + $part = trim($part); + if (!empty($part)) { + list($rawHeaders, $part) = explode("\r\n\r\n", $part, 2); + $headers = $this->parseRawHeaders($rawHeaders); + + $status = substr($part, 0, strpos($part, "\n")); + $status = explode(" ", $status); + $status = $status[1]; + + list($partHeaders, $partBody) = $this->parseHttpResponse($part, false); + $response = new Response( + $status, + $partHeaders, + Psr7\stream_for($partBody) + ); + + // Need content id. + $key = $headers['content-id']; + + try { + $response = Google_Http_REST::decodeHttpResponse($response, $requests[$i-1]); + } catch (Google_Service_Exception $e) { + // Store the exception as the response, so successful responses + // can be processed. + $response = $e; + } + + $responses[$key] = $response; + } + } + + return $responses; + } + + return null; + } + + private function parseRawHeaders($rawHeaders) + { + $headers = array(); + $responseHeaderLines = explode("\r\n", $rawHeaders); + foreach ($responseHeaderLines as $headerLine) { + if ($headerLine && strpos($headerLine, ':') !== false) { + list($header, $value) = explode(': ', $headerLine, 2); + $header = strtolower($header); + if (isset($headers[$header])) { + $headers[$header] .= "\n" . $value; + } else { + $headers[$header] = $value; + } + } + } + return $headers; + } + + /** + * Used by the IO lib and also the batch processing. + * + * @param $respData + * @param $headerSize + * @return array + */ + private function parseHttpResponse($respData, $headerSize) + { + // check proxy header + foreach (self::$CONNECTION_ESTABLISHED_HEADERS as $established_header) { + if (stripos($respData, $established_header) !== false) { + // existed, remove it + $respData = str_ireplace($established_header, '', $respData); + // Subtract the proxy header size unless the cURL bug prior to 7.30.0 + // is present which prevented the proxy header size from being taken into + // account. + // @TODO look into this + // if (!$this->needsQuirk()) { + // $headerSize -= strlen($established_header); + // } + break; + } + } + + if ($headerSize) { + $responseBody = substr($respData, $headerSize); + $responseHeaders = substr($respData, 0, $headerSize); + } else { + $responseSegments = explode("\r\n\r\n", $respData, 2); + $responseHeaders = $responseSegments[0]; + $responseBody = isset($responseSegments[1]) ? $responseSegments[1] : + null; + } + + $responseHeaders = $this->parseRawHeaders($responseHeaders); + + return array($responseHeaders, $responseBody); + } +} diff --git a/vendor/google/apiclient/src/Google/Http/MediaFileUpload.php b/vendor/google/apiclient/src/Google/Http/MediaFileUpload.php new file mode 100644 index 00000000..bd38a71b --- /dev/null +++ b/vendor/google/apiclient/src/Google/Http/MediaFileUpload.php @@ -0,0 +1,348 @@ +client = $client; + $this->request = $request; + $this->mimeType = $mimeType; + $this->data = $data; + $this->resumable = $resumable; + $this->chunkSize = $chunkSize; + $this->progress = 0; + + $this->process(); + } + + /** + * Set the size of the file that is being uploaded. + * @param $size - int file size in bytes + */ + public function setFileSize($size) + { + $this->size = $size; + } + + /** + * Return the progress on the upload + * @return int progress in bytes uploaded. + */ + public function getProgress() + { + return $this->progress; + } + + /** + * Send the next part of the file to upload. + * @param [$chunk] the next set of bytes to send. If false will used $data passed + * at construct time. + */ + public function nextChunk($chunk = false) + { + $resumeUri = $this->getResumeUri(); + + if (false == $chunk) { + $chunk = substr($this->data, $this->progress, $this->chunkSize); + } + + $lastBytePos = $this->progress + strlen($chunk) - 1; + $headers = array( + 'content-range' => "bytes $this->progress-$lastBytePos/$this->size", + 'content-length' => strlen($chunk), + 'expect' => '', + ); + + $request = new Request( + 'PUT', + $resumeUri, + $headers, + Psr7\stream_for($chunk) + ); + + return $this->makePutRequest($request); + } + + /** + * Return the HTTP result code from the last call made. + * @return int code + */ + public function getHttpResultCode() + { + return $this->httpResultCode; + } + + /** + * Sends a PUT-Request to google drive and parses the response, + * setting the appropiate variables from the response() + * + * @param Google_Http_Request $httpRequest the Reuqest which will be send + * + * @return false|mixed false when the upload is unfinished or the decoded http response + * + */ + private function makePutRequest(RequestInterface $request) + { + $response = $this->client->execute($request); + $this->httpResultCode = $response->getStatusCode(); + + if (308 == $this->httpResultCode) { + // Track the amount uploaded. + $range = explode('-', $response->getHeaderLine('range')); + $this->progress = $range[1] + 1; + + // Allow for changing upload URLs. + $location = $response->getHeaderLine('location'); + if ($location) { + $this->resumeUri = $location; + } + + // No problems, but upload not complete. + return false; + } + + return Google_Http_REST::decodeHttpResponse($response, $this->request); + } + + /** + * Resume a previously unfinished upload + * @param $resumeUri the resume-URI of the unfinished, resumable upload. + */ + public function resume($resumeUri) + { + $this->resumeUri = $resumeUri; + $headers = array( + 'content-range' => "bytes */$this->size", + 'content-length' => 0, + ); + $httpRequest = new Request( + 'PUT', + $this->resumeUri, + $headers + ); + + return $this->makePutRequest($httpRequest); + } + + /** + * @return Psr\Http\Message\RequestInterface $request + * @visible for testing + */ + private function process() + { + $this->transformToUploadUrl(); + $request = $this->request; + + $postBody = ''; + $contentType = false; + + $meta = (string) $request->getBody(); + $meta = is_string($meta) ? json_decode($meta, true) : $meta; + + $uploadType = $this->getUploadType($meta); + $request = $request->withUri( + Uri::withQueryValue($request->getUri(), 'uploadType', $uploadType) + ); + + $mimeType = $this->mimeType ?: $request->getHeaderLine('content-type'); + + if (self::UPLOAD_RESUMABLE_TYPE == $uploadType) { + $contentType = $mimeType; + $postBody = is_string($meta) ? $meta : json_encode($meta); + } else if (self::UPLOAD_MEDIA_TYPE == $uploadType) { + $contentType = $mimeType; + $postBody = $this->data; + } else if (self::UPLOAD_MULTIPART_TYPE == $uploadType) { + // This is a multipart/related upload. + $boundary = $this->boundary ?: mt_rand(); + $boundary = str_replace('"', '', $boundary); + $contentType = 'multipart/related; boundary=' . $boundary; + $related = "--$boundary\r\n"; + $related .= "Content-Type: application/json; charset=UTF-8\r\n"; + $related .= "\r\n" . json_encode($meta) . "\r\n"; + $related .= "--$boundary\r\n"; + $related .= "Content-Type: $mimeType\r\n"; + $related .= "Content-Transfer-Encoding: base64\r\n"; + $related .= "\r\n" . base64_encode($this->data) . "\r\n"; + $related .= "--$boundary--"; + $postBody = $related; + } + + $request = $request->withBody(Psr7\stream_for($postBody)); + + if (isset($contentType) && $contentType) { + $request = $request->withHeader('content-type', $contentType); + } + + return $this->request = $request; + } + + /** + * Valid upload types: + * - resumable (UPLOAD_RESUMABLE_TYPE) + * - media (UPLOAD_MEDIA_TYPE) + * - multipart (UPLOAD_MULTIPART_TYPE) + * @param $meta + * @return string + * @visible for testing + */ + public function getUploadType($meta) + { + if ($this->resumable) { + return self::UPLOAD_RESUMABLE_TYPE; + } + + if (false == $meta && $this->data) { + return self::UPLOAD_MEDIA_TYPE; + } + + return self::UPLOAD_MULTIPART_TYPE; + } + + public function getResumeUri() + { + if (null === $this->resumeUri) { + $this->resumeUri = $this->fetchResumeUri(); + } + + return $this->resumeUri; + } + + private function fetchResumeUri() + { + $body = $this->request->getBody(); + if ($body) { + $headers = array( + 'content-type' => 'application/json; charset=UTF-8', + 'content-length' => $body->getSize(), + 'x-upload-content-type' => $this->mimeType, + 'x-upload-content-length' => $this->size, + 'expect' => '', + ); + foreach ($headers as $key => $value) { + $this->request = $this->request->withHeader($key, $value); + } + } + + $response = $this->client->execute($this->request, false); + $location = $response->getHeaderLine('location'); + $code = $response->getStatusCode(); + + if (200 == $code && true == $location) { + return $location; + } + + $message = $code; + $body = json_decode((string) $this->request->getBody(), true); + if (isset($body['error']['errors'])) { + $message .= ': '; + foreach ($body['error']['errors'] as $error) { + $message .= "{$error[domain]}, {$error[message]};"; + } + $message = rtrim($message, ';'); + } + + $error = "Failed to start the resumable upload (HTTP {$message})"; + $this->client->getLogger()->error($error); + + throw new Google_Exception($error); + } + + private function transformToUploadUrl() + { + $parts = parse_url((string) $this->request->getUri()); + if (!isset($parts['path'])) { + $parts['path'] = ''; + } + $parts['path'] = '/upload' . $parts['path']; + $uri = Uri::fromParts($parts); + $this->request = $this->request->withUri($uri); + } + + public function setChunkSize($chunkSize) + { + $this->chunkSize = $chunkSize; + } + + public function getRequest() + { + return $this->request; + } +} diff --git a/vendor/google/apiclient/src/Google/Http/REST.php b/vendor/google/apiclient/src/Google/Http/REST.php new file mode 100644 index 00000000..c2156a2e --- /dev/null +++ b/vendor/google/apiclient/src/Google/Http/REST.php @@ -0,0 +1,182 @@ +getMethod(), (string) $request->getUri()), + array(get_class(), 'doExecute'), + array($client, $request, $expectedClass) + ); + + if (null !== $retryMap) { + $runner->setRetryMap($retryMap); + } + + return $runner->run(); + } + + /** + * Executes a Psr\Http\Message\RequestInterface + * + * @param Google_Client $client + * @param Psr\Http\Message\RequestInterface $request + * @return array decoded result + * @throws Google_Service_Exception on server side error (ie: not authenticated, + * invalid or malformed post body, invalid url) + */ + public static function doExecute(ClientInterface $client, RequestInterface $request, $expectedClass = null) + { + try { + $httpHandler = HttpHandlerFactory::build($client); + $response = $httpHandler($request); + } catch (RequestException $e) { + // if Guzzle throws an exception, catch it and handle the response + if (!$e->hasResponse()) { + throw $e; + } + + $response = $e->getResponse(); + // specific checking for Guzzle 5: convert to PSR7 response + if ($response instanceof \GuzzleHttp\Message\ResponseInterface) { + $response = new Response( + $response->getStatusCode(), + $response->getHeaders() ?: [], + $response->getBody(), + $response->getProtocolVersion(), + $response->getReasonPhrase() + ); + } + } + + return self::decodeHttpResponse($response, $request, $expectedClass); + } + + /** + * Decode an HTTP Response. + * @static + * @throws Google_Service_Exception + * @param Psr\Http\Message\RequestInterface $response The http response to be decoded. + * @param Psr\Http\Message\ResponseInterface $response + * @return mixed|null + */ + public static function decodeHttpResponse( + ResponseInterface $response, + RequestInterface $request = null, + $expectedClass = null + ) { + $code = $response->getStatusCode(); + + // retry strategy + if (intVal($code) >= 400) { + // if we errored out, it should be safe to grab the response body + $body = (string) $response->getBody(); + + // Check if we received errors, and add those to the Exception for convenience + throw new Google_Service_Exception($body, $code, null, self::getResponseErrors($body)); + } + + // Ensure we only pull the entire body into memory if the request is not + // of media type + $body = self::decodeBody($response, $request); + + if ($expectedClass = self::determineExpectedClass($expectedClass, $request)) { + $json = json_decode($body, true); + + return new $expectedClass($json); + } + + return $response; + } + + private static function decodeBody(ResponseInterface $response, RequestInterface $request = null) + { + if (self::isAltMedia($request)) { + // don't decode the body, it's probably a really long string + return ''; + } + + return (string) $response->getBody(); + } + + private static function determineExpectedClass($expectedClass, RequestInterface $request = null) + { + // "false" is used to explicitly prevent an expected class from being returned + if (false === $expectedClass) { + return null; + } + + // if we don't have a request, we just use what's passed in + if (null === $request) { + return $expectedClass; + } + + // return what we have in the request header if one was not supplied + return $expectedClass ?: $request->getHeaderLine('X-Php-Expected-Class'); + } + + private static function getResponseErrors($body) + { + $json = json_decode($body, true); + + if (isset($json['error']['errors'])) { + return $json['error']['errors']; + } + + return null; + } + + private static function isAltMedia(RequestInterface $request = null) + { + if ($request && $qs = $request->getUri()->getQuery()) { + parse_str($qs, $query); + if (isset($query['alt']) && $query['alt'] == 'media') { + return true; + } + } + + return false; + } +} diff --git a/vendor/google/apiclient/src/Google/Model.php b/vendor/google/apiclient/src/Google/Model.php new file mode 100644 index 00000000..cd50c9a5 --- /dev/null +++ b/vendor/google/apiclient/src/Google/Model.php @@ -0,0 +1,307 @@ +mapTypes($array); + } + $this->gapiInit(); + } + + /** + * Getter that handles passthrough access to the data array, and lazy object creation. + * @param string $key Property name. + * @return mixed The value if any, or null. + */ + public function __get($key) + { + $keyTypeName = $this->keyType($key); + $keyDataType = $this->dataType($key); + if (isset($this->$keyTypeName) && !isset($this->processed[$key])) { + if (isset($this->modelData[$key])) { + $val = $this->modelData[$key]; + } else if (isset($this->$keyDataType) && + ($this->$keyDataType == 'array' || $this->$keyDataType == 'map')) { + $val = array(); + } else { + $val = null; + } + + if ($this->isAssociativeArray($val)) { + if (isset($this->$keyDataType) && 'map' == $this->$keyDataType) { + foreach ($val as $arrayKey => $arrayItem) { + $this->modelData[$key][$arrayKey] = + $this->createObjectFromName($keyTypeName, $arrayItem); + } + } else { + $this->modelData[$key] = $this->createObjectFromName($keyTypeName, $val); + } + } else if (is_array($val)) { + $arrayObject = array(); + foreach ($val as $arrayIndex => $arrayItem) { + $arrayObject[$arrayIndex] = + $this->createObjectFromName($keyTypeName, $arrayItem); + } + $this->modelData[$key] = $arrayObject; + } + $this->processed[$key] = true; + } + + return isset($this->modelData[$key]) ? $this->modelData[$key] : null; + } + + /** + * Initialize this object's properties from an array. + * + * @param array $array Used to seed this object's properties. + * @return void + */ + protected function mapTypes($array) + { + // Hard initialise simple types, lazy load more complex ones. + foreach ($array as $key => $val) { + if ( !property_exists($this, $this->keyType($key)) && + property_exists($this, $key)) { + $this->$key = $val; + unset($array[$key]); + } elseif (property_exists($this, $camelKey = $this->camelCase($key))) { + // This checks if property exists as camelCase, leaving it in array as snake_case + // in case of backwards compatibility issues. + $this->$camelKey = $val; + } + } + $this->modelData = $array; + } + + /** + * Blank initialiser to be used in subclasses to do post-construction initialisation - this + * avoids the need for subclasses to have to implement the variadics handling in their + * constructors. + */ + protected function gapiInit() + { + return; + } + + /** + * Create a simplified object suitable for straightforward + * conversion to JSON. This is relatively expensive + * due to the usage of reflection, but shouldn't be called + * a whole lot, and is the most straightforward way to filter. + */ + public function toSimpleObject() + { + $object = new stdClass(); + + // Process all other data. + foreach ($this->modelData as $key => $val) { + $result = $this->getSimpleValue($val); + if ($result !== null) { + $object->$key = $this->nullPlaceholderCheck($result); + } + } + + // Process all public properties. + $reflect = new ReflectionObject($this); + $props = $reflect->getProperties(ReflectionProperty::IS_PUBLIC); + foreach ($props as $member) { + $name = $member->getName(); + $result = $this->getSimpleValue($this->$name); + if ($result !== null) { + $name = $this->getMappedName($name); + $object->$name = $this->nullPlaceholderCheck($result); + } + } + + return $object; + } + + /** + * Handle different types of values, primarily + * other objects and map and array data types. + */ + private function getSimpleValue($value) + { + if ($value instanceof Google_Model) { + return $value->toSimpleObject(); + } else if (is_array($value)) { + $return = array(); + foreach ($value as $key => $a_value) { + $a_value = $this->getSimpleValue($a_value); + if ($a_value !== null) { + $key = $this->getMappedName($key); + $return[$key] = $this->nullPlaceholderCheck($a_value); + } + } + return $return; + } + return $value; + } + + /** + * Check whether the value is the null placeholder and return true null. + */ + private function nullPlaceholderCheck($value) + { + if ($value === self::NULL_VALUE) { + return null; + } + return $value; + } + + /** + * If there is an internal name mapping, use that. + */ + private function getMappedName($key) + { + if (isset($this->internal_gapi_mappings, $this->internal_gapi_mappings[$key])) { + $key = $this->internal_gapi_mappings[$key]; + } + return $key; + } + + /** + * Returns true only if the array is associative. + * @param array $array + * @return bool True if the array is associative. + */ + protected function isAssociativeArray($array) + { + if (!is_array($array)) { + return false; + } + $keys = array_keys($array); + foreach ($keys as $key) { + if (is_string($key)) { + return true; + } + } + return false; + } + + /** + * Given a variable name, discover its type. + * + * @param $name + * @param $item + * @return object The object from the item. + */ + private function createObjectFromName($name, $item) + { + $type = $this->$name; + return new $type($item); + } + + /** + * Verify if $obj is an array. + * @throws Google_Exception Thrown if $obj isn't an array. + * @param array $obj Items that should be validated. + * @param string $method Method expecting an array as an argument. + */ + public function assertIsArray($obj, $method) + { + if ($obj && !is_array($obj)) { + throw new Google_Exception( + "Incorrect parameter type passed to $method(). Expected an array." + ); + } + } + + public function offsetExists($offset) + { + return isset($this->$offset) || isset($this->modelData[$offset]); + } + + public function offsetGet($offset) + { + return isset($this->$offset) ? + $this->$offset : + $this->__get($offset); + } + + public function offsetSet($offset, $value) + { + if (property_exists($this, $offset)) { + $this->$offset = $value; + } else { + $this->modelData[$offset] = $value; + $this->processed[$offset] = true; + } + } + + public function offsetUnset($offset) + { + unset($this->modelData[$offset]); + } + + protected function keyType($key) + { + return $key . "Type"; + } + + protected function dataType($key) + { + return $key . "DataType"; + } + + public function __isset($key) + { + return isset($this->modelData[$key]); + } + + public function __unset($key) + { + unset($this->modelData[$key]); + } + + /** + * Convert a string to camelCase + * @param string $value + * @return string + */ + private function camelCase($value) + { + $value = ucwords(str_replace(array('-', '_'), ' ', $value)); + $value = str_replace(' ', '', $value); + $value[0] = strtolower($value[0]); + return $value; + } +} diff --git a/vendor/google/apiclient/src/Google/Service.php b/vendor/google/apiclient/src/Google/Service.php new file mode 100644 index 00000000..d3fd3b49 --- /dev/null +++ b/vendor/google/apiclient/src/Google/Service.php @@ -0,0 +1,56 @@ +client = $client; + } + + /** + * Return the associated Google_Client class. + * @return Google_Client + */ + public function getClient() + { + return $this->client; + } + + /** + * Create a new HTTP Batch handler for this service + * + * @return Google_Http_Batch + */ + public function createBatch() + { + return new Google_Http_Batch( + $this->client, + false, + $this->rootUrl, + $this->batchPath + ); + } +} diff --git a/vendor/google/apiclient/src/Google/Service/Exception.php b/vendor/google/apiclient/src/Google/Service/Exception.php new file mode 100644 index 00000000..abfd3f7f --- /dev/null +++ b/vendor/google/apiclient/src/Google/Service/Exception.php @@ -0,0 +1,68 @@ += 0) { + parent::__construct($message, $code, $previous); + } else { + parent::__construct($message, $code); + } + + $this->errors = $errors; + } + + /** + * An example of the possible errors returned. + * + * { + * "domain": "global", + * "reason": "authError", + * "message": "Invalid Credentials", + * "locationType": "header", + * "location": "Authorization", + * } + * + * @return [{string, string}] List of errors return in an HTTP response or []. + */ + public function getErrors() + { + return $this->errors; + } +} diff --git a/vendor/google/apiclient/src/Google/Service/README.md b/vendor/google/apiclient/src/Google/Service/README.md new file mode 100644 index 00000000..0de48620 --- /dev/null +++ b/vendor/google/apiclient/src/Google/Service/README.md @@ -0,0 +1,5 @@ +# Google API Client Services + +Google API Client Service classes have been moved to the +[google-api-php-client-services](https://github.com/google/google-api-php-client-services) +repository. diff --git a/vendor/google/apiclient/src/Google/Service/Resource.php b/vendor/google/apiclient/src/Google/Service/Resource.php new file mode 100644 index 00000000..a3c57ee2 --- /dev/null +++ b/vendor/google/apiclient/src/Google/Service/Resource.php @@ -0,0 +1,296 @@ + array('type' => 'string', 'location' => 'query'), + 'fields' => array('type' => 'string', 'location' => 'query'), + 'trace' => array('type' => 'string', 'location' => 'query'), + 'userIp' => array('type' => 'string', 'location' => 'query'), + 'quotaUser' => array('type' => 'string', 'location' => 'query'), + 'data' => array('type' => 'string', 'location' => 'body'), + 'mimeType' => array('type' => 'string', 'location' => 'header'), + 'uploadType' => array('type' => 'string', 'location' => 'query'), + 'mediaUpload' => array('type' => 'complex', 'location' => 'query'), + 'prettyPrint' => array('type' => 'string', 'location' => 'query'), + ); + + /** @var string $rootUrl */ + private $rootUrl; + + /** @var Google_Client $client */ + private $client; + + /** @var string $serviceName */ + private $serviceName; + + /** @var string $servicePath */ + private $servicePath; + + /** @var string $resourceName */ + private $resourceName; + + /** @var array $methods */ + private $methods; + + public function __construct($service, $serviceName, $resourceName, $resource) + { + $this->rootUrl = $service->rootUrl; + $this->client = $service->getClient(); + $this->servicePath = $service->servicePath; + $this->serviceName = $serviceName; + $this->resourceName = $resourceName; + $this->methods = is_array($resource) && isset($resource['methods']) ? + $resource['methods'] : + array($resourceName => $resource); + } + + /** + * TODO: This function needs simplifying. + * @param $name + * @param $arguments + * @param $expectedClass - optional, the expected class name + * @return Google_Http_Request|expectedClass + * @throws Google_Exception + */ + public function call($name, $arguments, $expectedClass = null) + { + if (! isset($this->methods[$name])) { + $this->client->getLogger()->error( + 'Service method unknown', + array( + 'service' => $this->serviceName, + 'resource' => $this->resourceName, + 'method' => $name + ) + ); + + throw new Google_Exception( + "Unknown function: " . + "{$this->serviceName}->{$this->resourceName}->{$name}()" + ); + } + $method = $this->methods[$name]; + $parameters = $arguments[0]; + + // postBody is a special case since it's not defined in the discovery + // document as parameter, but we abuse the param entry for storing it. + $postBody = null; + if (isset($parameters['postBody'])) { + if ($parameters['postBody'] instanceof Google_Model) { + // In the cases the post body is an existing object, we want + // to use the smart method to create a simple object for + // for JSONification. + $parameters['postBody'] = $parameters['postBody']->toSimpleObject(); + } else if (is_object($parameters['postBody'])) { + // If the post body is another kind of object, we will try and + // wrangle it into a sensible format. + $parameters['postBody'] = + $this->convertToArrayAndStripNulls($parameters['postBody']); + } + $postBody = (array) $parameters['postBody']; + unset($parameters['postBody']); + } + + // TODO: optParams here probably should have been + // handled already - this may well be redundant code. + if (isset($parameters['optParams'])) { + $optParams = $parameters['optParams']; + unset($parameters['optParams']); + $parameters = array_merge($parameters, $optParams); + } + + if (!isset($method['parameters'])) { + $method['parameters'] = array(); + } + + $method['parameters'] = array_merge( + $this->stackParameters, + $method['parameters'] + ); + + foreach ($parameters as $key => $val) { + if ($key != 'postBody' && ! isset($method['parameters'][$key])) { + $this->client->getLogger()->error( + 'Service parameter unknown', + array( + 'service' => $this->serviceName, + 'resource' => $this->resourceName, + 'method' => $name, + 'parameter' => $key + ) + ); + throw new Google_Exception("($name) unknown parameter: '$key'"); + } + } + + foreach ($method['parameters'] as $paramName => $paramSpec) { + if (isset($paramSpec['required']) && + $paramSpec['required'] && + ! isset($parameters[$paramName]) + ) { + $this->client->getLogger()->error( + 'Service parameter missing', + array( + 'service' => $this->serviceName, + 'resource' => $this->resourceName, + 'method' => $name, + 'parameter' => $paramName + ) + ); + throw new Google_Exception("($name) missing required param: '$paramName'"); + } + if (isset($parameters[$paramName])) { + $value = $parameters[$paramName]; + $parameters[$paramName] = $paramSpec; + $parameters[$paramName]['value'] = $value; + unset($parameters[$paramName]['required']); + } else { + // Ensure we don't pass nulls. + unset($parameters[$paramName]); + } + } + + $this->client->getLogger()->info( + 'Service Call', + array( + 'service' => $this->serviceName, + 'resource' => $this->resourceName, + 'method' => $name, + 'arguments' => $parameters, + ) + ); + + // build the service uri + $url = $this->createRequestUri( + $method['path'], + $parameters + ); + + // NOTE: because we're creating the request by hand, + // and because the service has a rootUrl property + // the "base_uri" of the Http Client is not accounted for + $request = new Request( + $method['httpMethod'], + $url, + ['content-type' => 'application/json'], + $postBody ? json_encode($postBody) : '' + ); + + // support uploads + if (isset($parameters['data'])) { + $mimeType = isset($parameters['mimeType']) + ? $parameters['mimeType']['value'] + : 'application/octet-stream'; + $data = $parameters['data']['value']; + $upload = new Google_Http_MediaFileUpload($this->client, $request, $mimeType, $data); + + // pull down the modified request + $request = $upload->getRequest(); + } + + // if this is a media type, we will return the raw response + // rather than using an expected class + if (isset($parameters['alt']) && $parameters['alt']['value'] == 'media') { + $expectedClass = null; + } + + // if the client is marked for deferring, rather than + // execute the request, return the response + if ($this->client->shouldDefer()) { + // @TODO find a better way to do this + $request = $request + ->withHeader('X-Php-Expected-Class', $expectedClass); + + return $request; + } + + return $this->client->execute($request, $expectedClass); + } + + protected function convertToArrayAndStripNulls($o) + { + $o = (array) $o; + foreach ($o as $k => $v) { + if ($v === null) { + unset($o[$k]); + } elseif (is_object($v) || is_array($v)) { + $o[$k] = $this->convertToArrayAndStripNulls($o[$k]); + } + } + return $o; + } + + /** + * Parse/expand request parameters and create a fully qualified + * request uri. + * @static + * @param string $restPath + * @param array $params + * @return string $requestUrl + */ + public function createRequestUri($restPath, $params) + { + // code for leading slash + $requestUrl = $this->servicePath . $restPath; + if ($this->rootUrl) { + if ('/' !== substr($this->rootUrl, -1) && '/' !== substr($requestUrl, 0, 1)) { + $requestUrl = '/' . $requestUrl; + } + $requestUrl = $this->rootUrl . $requestUrl; + } + $uriTemplateVars = array(); + $queryVars = array(); + foreach ($params as $paramName => $paramSpec) { + if ($paramSpec['type'] == 'boolean') { + $paramSpec['value'] = $paramSpec['value'] ? 'true' : 'false'; + } + if ($paramSpec['location'] == 'path') { + $uriTemplateVars[$paramName] = $paramSpec['value']; + } else if ($paramSpec['location'] == 'query') { + if (isset($paramSpec['repeated']) && is_array($paramSpec['value'])) { + foreach ($paramSpec['value'] as $value) { + $queryVars[] = $paramName . '=' . rawurlencode(rawurldecode($value)); + } + } else { + $queryVars[] = $paramName . '=' . rawurlencode(rawurldecode($paramSpec['value'])); + } + } + } + + if (count($uriTemplateVars)) { + $uriTemplateParser = new Google_Utils_UriTemplate(); + $requestUrl = $uriTemplateParser->parse($requestUrl, $uriTemplateVars); + } + + if (count($queryVars)) { + $requestUrl .= '?' . implode($queryVars, '&'); + } + + return $requestUrl; + } +} diff --git a/vendor/google/apiclient/src/Google/Task/Exception.php b/vendor/google/apiclient/src/Google/Task/Exception.php new file mode 100644 index 00000000..5422e6fc --- /dev/null +++ b/vendor/google/apiclient/src/Google/Task/Exception.php @@ -0,0 +1,20 @@ + self::TASK_RETRY_ALWAYS, + '503' => self::TASK_RETRY_ALWAYS, + 'rateLimitExceeded' => self::TASK_RETRY_ALWAYS, + 'userRateLimitExceeded' => self::TASK_RETRY_ALWAYS, + 6 => self::TASK_RETRY_ALWAYS, // CURLE_COULDNT_RESOLVE_HOST + 7 => self::TASK_RETRY_ALWAYS, // CURLE_COULDNT_CONNECT + 28 => self::TASK_RETRY_ALWAYS, // CURLE_OPERATION_TIMEOUTED + 35 => self::TASK_RETRY_ALWAYS, // CURLE_SSL_CONNECT_ERROR + 52 => self::TASK_RETRY_ALWAYS // CURLE_GOT_NOTHING + ]; + + /** + * Creates a new task runner with exponential backoff support. + * + * @param array $config The task runner config + * @param string $name The name of the current task (used for logging) + * @param callable $action The task to run and possibly retry + * @param array $arguments The task arguments + * @throws Google_Task_Exception when misconfigured + */ + public function __construct( + $config, + $name, + $action, + array $arguments = array() + ) { + if (isset($config['initial_delay'])) { + if ($config['initial_delay'] < 0) { + throw new Google_Task_Exception( + 'Task configuration `initial_delay` must not be negative.' + ); + } + + $this->delay = $config['initial_delay']; + } + + if (isset($config['max_delay'])) { + if ($config['max_delay'] <= 0) { + throw new Google_Task_Exception( + 'Task configuration `max_delay` must be greater than 0.' + ); + } + + $this->maxDelay = $config['max_delay']; + } + + if (isset($config['factor'])) { + if ($config['factor'] <= 0) { + throw new Google_Task_Exception( + 'Task configuration `factor` must be greater than 0.' + ); + } + + $this->factor = $config['factor']; + } + + if (isset($config['jitter'])) { + if ($config['jitter'] <= 0) { + throw new Google_Task_Exception( + 'Task configuration `jitter` must be greater than 0.' + ); + } + + $this->jitter = $config['jitter']; + } + + if (isset($config['retries'])) { + if ($config['retries'] < 0) { + throw new Google_Task_Exception( + 'Task configuration `retries` must not be negative.' + ); + } + $this->maxAttempts += $config['retries']; + } + + if (!is_callable($action)) { + throw new Google_Task_Exception( + 'Task argument `$action` must be a valid callable.' + ); + } + + $this->action = $action; + $this->arguments = $arguments; + } + + /** + * Checks if a retry can be attempted. + * + * @return boolean + */ + public function canAttempt() + { + return $this->attempts < $this->maxAttempts; + } + + /** + * Runs the task and (if applicable) automatically retries when errors occur. + * + * @return mixed + * @throws Google_Task_Retryable on failure when no retries are available. + */ + public function run() + { + while ($this->attempt()) { + try { + return call_user_func_array($this->action, $this->arguments); + } catch (Google_Service_Exception $exception) { + $allowedRetries = $this->allowedRetries( + $exception->getCode(), + $exception->getErrors() + ); + + if (!$this->canAttempt() || !$allowedRetries) { + throw $exception; + } + + if ($allowedRetries > 0) { + $this->maxAttempts = min( + $this->maxAttempts, + $this->attempts + $allowedRetries + ); + } + } + } + } + + /** + * Runs a task once, if possible. This is useful for bypassing the `run()` + * loop. + * + * NOTE: If this is not the first attempt, this function will sleep in + * accordance to the backoff configurations before running the task. + * + * @return boolean + */ + public function attempt() + { + if (!$this->canAttempt()) { + return false; + } + + if ($this->attempts > 0) { + $this->backOff(); + } + + $this->attempts++; + return true; + } + + /** + * Sleeps in accordance to the backoff configurations. + */ + private function backOff() + { + $delay = $this->getDelay(); + + usleep($delay * 1000000); + } + + /** + * Gets the delay (in seconds) for the current backoff period. + * + * @return float + */ + private function getDelay() + { + $jitter = $this->getJitter(); + $factor = $this->attempts > 1 ? $this->factor + $jitter : 1 + abs($jitter); + + return $this->delay = min($this->maxDelay, $this->delay * $factor); + } + + /** + * Gets the current jitter (random number between -$this->jitter and + * $this->jitter). + * + * @return float + */ + private function getJitter() + { + return $this->jitter * 2 * mt_rand() / mt_getrandmax() - $this->jitter; + } + + /** + * Gets the number of times the associated task can be retried. + * + * NOTE: -1 is returned if the task can be retried indefinitely + * + * @return integer + */ + public function allowedRetries($code, $errors = array()) + { + if (isset($this->retryMap[$code])) { + return $this->retryMap[$code]; + } + + if ( + !empty($errors) && + isset($errors[0]['reason'], $this->retryMap[$errors[0]['reason']]) + ) { + return $this->retryMap[$errors[0]['reason']]; + } + + return 0; + } + + public function setRetryMap($retryMap) + { + $this->retryMap = $retryMap; + } +} diff --git a/vendor/google/apiclient/src/Google/Utils/UriTemplate.php b/vendor/google/apiclient/src/Google/Utils/UriTemplate.php new file mode 100644 index 00000000..e59fe9f2 --- /dev/null +++ b/vendor/google/apiclient/src/Google/Utils/UriTemplate.php @@ -0,0 +1,333 @@ + "reserved", + "/" => "segments", + "." => "dotprefix", + "#" => "fragment", + ";" => "semicolon", + "?" => "form", + "&" => "continuation" + ); + + /** + * @var reserved array + * These are the characters which should not be URL encoded in reserved + * strings. + */ + private $reserved = array( + "=", ",", "!", "@", "|", ":", "/", "?", "#", + "[", "]",'$', "&", "'", "(", ")", "*", "+", ";" + ); + private $reservedEncoded = array( + "%3D", "%2C", "%21", "%40", "%7C", "%3A", "%2F", "%3F", + "%23", "%5B", "%5D", "%24", "%26", "%27", "%28", "%29", + "%2A", "%2B", "%3B" + ); + + public function parse($string, array $parameters) + { + return $this->resolveNextSection($string, $parameters); + } + + /** + * This function finds the first matching {...} block and + * executes the replacement. It then calls itself to find + * subsequent blocks, if any. + */ + private function resolveNextSection($string, $parameters) + { + $start = strpos($string, "{"); + if ($start === false) { + return $string; + } + $end = strpos($string, "}"); + if ($end === false) { + return $string; + } + $string = $this->replace($string, $start, $end, $parameters); + return $this->resolveNextSection($string, $parameters); + } + + private function replace($string, $start, $end, $parameters) + { + // We know a data block will have {} round it, so we can strip that. + $data = substr($string, $start + 1, $end - $start - 1); + + // If the first character is one of the reserved operators, it effects + // the processing of the stream. + if (isset($this->operators[$data[0]])) { + $op = $this->operators[$data[0]]; + $data = substr($data, 1); + $prefix = ""; + $prefix_on_missing = false; + + switch ($op) { + case "reserved": + // Reserved means certain characters should not be URL encoded + $data = $this->replaceVars($data, $parameters, ",", null, true); + break; + case "fragment": + // Comma separated with fragment prefix. Bare values only. + $prefix = "#"; + $prefix_on_missing = true; + $data = $this->replaceVars($data, $parameters, ",", null, true); + break; + case "segments": + // Slash separated data. Bare values only. + $prefix = "/"; + $data =$this->replaceVars($data, $parameters, "/"); + break; + case "dotprefix": + // Dot separated data. Bare values only. + $prefix = "."; + $prefix_on_missing = true; + $data = $this->replaceVars($data, $parameters, "."); + break; + case "semicolon": + // Semicolon prefixed and separated. Uses the key name + $prefix = ";"; + $data = $this->replaceVars($data, $parameters, ";", "=", false, true, false); + break; + case "form": + // Standard URL format. Uses the key name + $prefix = "?"; + $data = $this->replaceVars($data, $parameters, "&", "="); + break; + case "continuation": + // Standard URL, but with leading ampersand. Uses key name. + $prefix = "&"; + $data = $this->replaceVars($data, $parameters, "&", "="); + break; + } + + // Add the initial prefix character if data is valid. + if ($data || ($data !== false && $prefix_on_missing)) { + $data = $prefix . $data; + } + + } else { + // If no operator we replace with the defaults. + $data = $this->replaceVars($data, $parameters); + } + // This is chops out the {...} and replaces with the new section. + return substr($string, 0, $start) . $data . substr($string, $end + 1); + } + + private function replaceVars( + $section, + $parameters, + $sep = ",", + $combine = null, + $reserved = false, + $tag_empty = false, + $combine_on_empty = true + ) { + if (strpos($section, ",") === false) { + // If we only have a single value, we can immediately process. + return $this->combine( + $section, + $parameters, + $sep, + $combine, + $reserved, + $tag_empty, + $combine_on_empty + ); + } else { + // If we have multiple values, we need to split and loop over them. + // Each is treated individually, then glued together with the + // separator character. + $vars = explode(",", $section); + return $this->combineList( + $vars, + $sep, + $parameters, + $combine, + $reserved, + false, // Never emit empty strings in multi-param replacements + $combine_on_empty + ); + } + } + + public function combine( + $key, + $parameters, + $sep, + $combine, + $reserved, + $tag_empty, + $combine_on_empty + ) { + $length = false; + $explode = false; + $skip_final_combine = false; + $value = false; + + // Check for length restriction. + if (strpos($key, ":") !== false) { + list($key, $length) = explode(":", $key); + } + + // Check for explode parameter. + if ($key[strlen($key) - 1] == "*") { + $explode = true; + $key = substr($key, 0, -1); + $skip_final_combine = true; + } + + // Define the list separator. + $list_sep = $explode ? $sep : ","; + + if (isset($parameters[$key])) { + $data_type = $this->getDataType($parameters[$key]); + switch ($data_type) { + case self::TYPE_SCALAR: + $value = $this->getValue($parameters[$key], $length); + break; + case self::TYPE_LIST: + $values = array(); + foreach ($parameters[$key] as $pkey => $pvalue) { + $pvalue = $this->getValue($pvalue, $length); + if ($combine && $explode) { + $values[$pkey] = $key . $combine . $pvalue; + } else { + $values[$pkey] = $pvalue; + } + } + $value = implode($list_sep, $values); + if ($value == '') { + return ''; + } + break; + case self::TYPE_MAP: + $values = array(); + foreach ($parameters[$key] as $pkey => $pvalue) { + $pvalue = $this->getValue($pvalue, $length); + if ($explode) { + $pkey = $this->getValue($pkey, $length); + $values[] = $pkey . "=" . $pvalue; // Explode triggers = combine. + } else { + $values[] = $pkey; + $values[] = $pvalue; + } + } + $value = implode($list_sep, $values); + if ($value == '') { + return false; + } + break; + } + } else if ($tag_empty) { + // If we are just indicating empty values with their key name, return that. + return $key; + } else { + // Otherwise we can skip this variable due to not being defined. + return false; + } + + if ($reserved) { + $value = str_replace($this->reservedEncoded, $this->reserved, $value); + } + + // If we do not need to include the key name, we just return the raw + // value. + if (!$combine || $skip_final_combine) { + return $value; + } + + // Else we combine the key name: foo=bar, if value is not the empty string. + return $key . ($value != '' || $combine_on_empty ? $combine . $value : ''); + } + + /** + * Return the type of a passed in value + */ + private function getDataType($data) + { + if (is_array($data)) { + reset($data); + if (key($data) !== 0) { + return self::TYPE_MAP; + } + return self::TYPE_LIST; + } + return self::TYPE_SCALAR; + } + + /** + * Utility function that merges multiple combine calls + * for multi-key templates. + */ + private function combineList( + $vars, + $sep, + $parameters, + $combine, + $reserved, + $tag_empty, + $combine_on_empty + ) { + $ret = array(); + foreach ($vars as $var) { + $response = $this->combine( + $var, + $parameters, + $sep, + $combine, + $reserved, + $tag_empty, + $combine_on_empty + ); + if ($response === false) { + continue; + } + $ret[] = $response; + } + return implode($sep, $ret); + } + + /** + * Utility function to encode and trim values + */ + private function getValue($value, $length) + { + if ($length) { + $value = substr($value, 0, $length); + } + $value = rawurlencode($value); + return $value; + } +} diff --git a/vendor/google/apiclient/src/Google/autoload.php b/vendor/google/apiclient/src/Google/autoload.php new file mode 100644 index 00000000..8b493010 --- /dev/null +++ b/vendor/google/apiclient/src/Google/autoload.php @@ -0,0 +1,21 @@ +exclude('vendor') + ->in(__DIR__); + +// Return a Code Sniffing configuration using +// all sniffers needed for PSR-2 +// and additionally: +// - Remove leading slashes in use clauses. +// - PHP single-line arrays should not have trailing comma. +// - Single-line whitespace before closing semicolon are prohibited. +// - Remove unused use statements in the PHP source code +// - Ensure Concatenation to have at least one whitespace around +// - Remove trailing whitespace at the end of blank lines. +return Symfony\CS\Config\Config::create() + ->level(Symfony\CS\FixerInterface::PSR2_LEVEL) + ->fixers([ + 'remove_leading_slash_use', + 'single_array_no_trailing_comma', + 'spaces_before_semicolon', + 'unused_use', + 'concat_with_spaces', + 'whitespacy_lines', + 'ordered_use', + 'single_quote', + 'duplicate_semicolon', + 'extra_empty_lines', + 'phpdoc_no_package', + 'phpdoc_scalar', + 'no_empty_lines_after_phpdocs' + ]) + ->finder($finder); diff --git a/vendor/google/auth/.travis.yml b/vendor/google/auth/.travis.yml new file mode 100644 index 00000000..c51e2c33 --- /dev/null +++ b/vendor/google/auth/.travis.yml @@ -0,0 +1,31 @@ +language: php + +branches: + only: [master] + +sudo: false + +php: + - 5.4 + - 5.5 + - 5.6 + - 7.0 + - hhvm + +env: + - COMPOSER_CMD="composer install" + - COMPOSER_CMD="composer update --prefer-lowest" +matrix: + include: + - php: "7.0" + env: RUN_CS_FIXER=true COMPOSER_CMD="composer install" + +before_script: + - $(echo $COMPOSER_CMD) + +script: + - if [ "${RUN_CS_FIXER}" = "true" ]; then + vendor/bin/php-cs-fixer fix --dry-run --diff --config-file=.php_cs .; + else + vendor/bin/phpunit; + fi diff --git a/vendor/google/auth/CHANGELOG.md b/vendor/google/auth/CHANGELOG.md new file mode 100644 index 00000000..1628dc51 --- /dev/null +++ b/vendor/google/auth/CHANGELOG.md @@ -0,0 +1,8 @@ +## 0.4.0 (23/04/2015) + +### Changes + +* Export callback function to update auth metadata ([@stanley-cheung][]) +* Adds an implementation of User Refresh Token auth ([@stanley-cheung][]) + +[@stanley-cheung]: https://github.com/stanley-cheung diff --git a/vendor/google/auth/CONTRIBUTING.md b/vendor/google/auth/CONTRIBUTING.md new file mode 100644 index 00000000..0cfb74b6 --- /dev/null +++ b/vendor/google/auth/CONTRIBUTING.md @@ -0,0 +1,73 @@ +# How to become a contributor and submit your own code + +## Contributor License Agreements + +We'd love to accept your sample apps and patches! Before we can take them, we +have to jump a couple of legal hurdles. + +Please fill out either the individual or corporate Contributor License Agreement +(CLA). + + * If you are an individual writing original source code and you're sure you + own the intellectual property, then you'll need to sign an [individual CLA] + (http://code.google.com/legal/individual-cla-v1.0.html). + * If you work for a company that wants to allow you to contribute your work, + then you'll need to sign a [corporate CLA] + (http://code.google.com/legal/corporate-cla-v1.0.html). + +Follow either of the two links above to access the appropriate CLA and +instructions for how to sign and return it. Once we receive it, we'll be able to +accept your pull requests. + +## Issue reporting + +* Check that the issue has not already been reported. +* Check that the issue has not already been fixed in the latest code + (a.k.a. `master`). +* Be clear, concise and precise in your description of the problem. +* Open an issue with a descriptive title and a summary in grammatically correct, + complete sentences. +* Include any relevant code to the issue summary. + +## Pull requests + +* Read [how to properly contribute to open source projects on Github][2]. +* Fork the project. +* Use a topic/feature branch to easily amend a pull request later, if necessary. +* Write [good commit messages][3]. +* Use the same coding conventions as the rest of the project. +* Commit and push until you are happy with your contribution. +* Make sure to add tests for it. This is important so I don't break it + in a future version unintentionally. +* Add an entry to the [Changelog](CHANGELOG.md) accordingly. See [changelog entry format](#changelog-entry-format). +* Please try not to mess with the Rakefile, version, or history. If you want to + have your own version, or is otherwise necessary, that is fine, but please + isolate to its own commit so I can cherry-pick around it. +* Make sure the test suite is passing and the code you wrote doesn't produce + phpunit or phplint offenses. +* [Squash related commits together][5]. +* Open a [pull request][4] that relates to *only* one subject with a clear title + and description in grammatically correct, complete sentences. + +### Changelog entry format + +Here are a few examples: + +``` +* ADC Support for User Refresh Tokens (@tbetbetbe[]) +* [#16](https://github.com/google/google-auth-library-php/issues/16): ADC Support for User Refresh Tokens ([@tbetbetbe][]) +``` + +* Mark it up in [Markdown syntax][6]. +* The entry line should start with `* ` (an asterisk and a space). +* If the change has a related GitHub issue (e.g. a bug fix for a reported issue), put a link to the issue as `[#16](https://github.com/google/google-auth-library-php/issues/16): `. +* Describe the brief of the change. The sentence should end with a punctuation. +* At the end of the entry, add an implicit link to your GitHub user page as `([@username][])`. +* If this is your first contribution to google-auth-library-php project, add a link definition for the implicit link to the bottom of the changelog as `[@username]: https://github.com/username`. + +[1]: https://github.com/google/google-auth-php-library/issues +[2]: http://gun.io/blog/how-to-github-fork-branch-and-pull-request +[3]: http://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html +[4]: https://help.github.com/articles/using-pull-requests +[5]: http://gitready.com/advanced/2009/02/10/squashing-commits-with-rebase.html +[6]: http://daringfireball.net/projects/markdown/syntax diff --git a/vendor/google/auth/COPYING b/vendor/google/auth/COPYING new file mode 100644 index 00000000..b5d5055a --- /dev/null +++ b/vendor/google/auth/COPYING @@ -0,0 +1,202 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright 2015 Google Inc. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/vendor/google/auth/LICENSE b/vendor/google/auth/LICENSE new file mode 100644 index 00000000..a148ba56 --- /dev/null +++ b/vendor/google/auth/LICENSE @@ -0,0 +1,203 @@ +Apache License +Version 2.0, January 2004 +http://www.apache.org/licenses/ + +TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + +1. Definitions. + +"License" shall mean the terms and conditions for use, reproduction, +and distribution as defined by Sections 1 through 9 of this document. + +"Licensor" shall mean the copyright owner or entity authorized by +the copyright owner that is granting the License. + +"Legal Entity" shall mean the union of the acting entity and all +other entities that control, are controlled by, or are under common +control with that entity. For the purposes of this definition, +"control" means (i) the power, direct or indirect, to cause the +direction or management of such entity, whether by contract or +otherwise, or (ii) ownership of fifty percent (50%) or more of the +outstanding shares, or (iii) beneficial ownership of such entity. + +"You" (or "Your") shall mean an individual or Legal Entity +exercising permissions granted by this License. + +"Source" form shall mean the preferred form for making modifications, +including but not limited to software source code, documentation +source, and configuration files. + +"Object" form shall mean any form resulting from mechanical +transformation or translation of a Source form, including but +not limited to compiled object code, generated documentation, +and conversions to other media types. + +"Work" shall mean the work of authorship, whether in Source or +Object form, made available under the License, as indicated by a +copyright notice that is included in or attached to the work +(an example is provided in the Appendix below). + +"Derivative Works" shall mean any work, whether in Source or Object +form, that is based on (or derived from) the Work and for which the +editorial revisions, annotations, elaborations, or other modifications +represent, as a whole, an original work of authorship. For the purposes +of this License, Derivative Works shall not include works that remain +separable from, or merely link (or bind by name) to the interfaces of, +the Work and Derivative Works thereof. + +"Contribution" shall mean any work of authorship, including +the original version of the Work and any modifications or additions +to that Work or Derivative Works thereof, that is intentionally +submitted to Licensor for inclusion in the Work by the copyright owner +or by an individual or Legal Entity authorized to submit on behalf of +the copyright owner. For the purposes of this definition, "submitted" +means any form of electronic, verbal, or written communication sent +to the Licensor or its representatives, including but not limited to +communication on electronic mailing lists, source code control systems, +and issue tracking systems that are managed by, or on behalf of, the +Licensor for the purpose of discussing and improving the Work, but +excluding communication that is conspicuously marked or otherwise +designated in writing by the copyright owner as "Not a Contribution." + +"Contributor" shall mean Licensor and any individual or Legal Entity +on behalf of whom a Contribution has been received by Licensor and +subsequently incorporated within the Work. + +2. Grant of Copyright License. Subject to the terms and conditions of +this License, each Contributor hereby grants to You a perpetual, +worldwide, non-exclusive, no-charge, royalty-free, irrevocable +copyright license to reproduce, prepare Derivative Works of, +publicly display, publicly perform, sublicense, and distribute the +Work and such Derivative Works in Source or Object form. + +3. Grant of Patent License. Subject to the terms and conditions of +this License, each Contributor hereby grants to You a perpetual, +worldwide, non-exclusive, no-charge, royalty-free, irrevocable +(except as stated in this section) patent license to make, have made, +use, offer to sell, sell, import, and otherwise transfer the Work, +where such license applies only to those patent claims licensable +by such Contributor that are necessarily infringed by their +Contribution(s) alone or by combination of their Contribution(s) +with the Work to which such Contribution(s) was submitted. If You +institute patent litigation against any entity (including a +cross-claim or counterclaim in a lawsuit) alleging that the Work +or a Contribution incorporated within the Work constitutes direct +or contributory patent infringement, then any patent licenses +granted to You under this License for that Work shall terminate +as of the date such litigation is filed. + +4. Redistribution. You may reproduce and distribute copies of the +Work or Derivative Works thereof in any medium, with or without +modifications, and in Source or Object form, provided that You +meet the following conditions: + +(a) You must give any other recipients of the Work or +Derivative Works a copy of this License; and + +(b) You must cause any modified files to carry prominent notices +stating that You changed the files; and + +(c) You must retain, in the Source form of any Derivative Works +that You distribute, all copyright, patent, trademark, and +attribution notices from the Source form of the Work, +excluding those notices that do not pertain to any part of +the Derivative Works; and + +(d) If the Work includes a "NOTICE" text file as part of its +distribution, then any Derivative Works that You distribute must +include a readable copy of the attribution notices contained +within such NOTICE file, excluding those notices that do not +pertain to any part of the Derivative Works, in at least one +of the following places: within a NOTICE text file distributed +as part of the Derivative Works; within the Source form or +documentation, if provided along with the Derivative Works; or, +within a display generated by the Derivative Works, if and +wherever such third-party notices normally appear. The contents +of the NOTICE file are for informational purposes only and +do not modify the License. You may add Your own attribution +notices within Derivative Works that You distribute, alongside +or as an addendum to the NOTICE text from the Work, provided +that such additional attribution notices cannot be construed +as modifying the License. + +You may add Your own copyright statement to Your modifications and +may provide additional or different license terms and conditions +for use, reproduction, or distribution of Your modifications, or +for any such Derivative Works as a whole, provided Your use, +reproduction, and distribution of the Work otherwise complies with +the conditions stated in this License. + +5. Submission of Contributions. Unless You explicitly state otherwise, +any Contribution intentionally submitted for inclusion in the Work +by You to the Licensor shall be under the terms and conditions of +this License, without any additional terms or conditions. +Notwithstanding the above, nothing herein shall supersede or modify +the terms of any separate license agreement you may have executed +with Licensor regarding such Contributions. + +6. Trademarks. This License does not grant permission to use the trade +names, trademarks, service marks, or product names of the Licensor, +except as required for reasonable and customary use in describing the +origin of the Work and reproducing the content of the NOTICE file. + +7. Disclaimer of Warranty. Unless required by applicable law or +agreed to in writing, Licensor provides the Work (and each +Contributor provides its Contributions) on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or +implied, including, without limitation, any warranties or conditions +of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A +PARTICULAR PURPOSE. You are solely responsible for determining the +appropriateness of using or redistributing the Work and assume any +risks associated with Your exercise of permissions under this License. + +8. Limitation of Liability. In no event and under no legal theory, +whether in tort (including negligence), contract, or otherwise, +unless required by applicable law (such as deliberate and grossly +negligent acts) or agreed to in writing, shall any Contributor be +liable to You for damages, including any direct, indirect, special, +incidental, or consequential damages of any character arising as a +result of this License or out of the use or inability to use the +Work (including but not limited to damages for loss of goodwill, +work stoppage, computer failure or malfunction, or any and all +other commercial damages or losses), even if such Contributor +has been advised of the possibility of such damages. + +9. Accepting Warranty or Additional Liability. While redistributing +the Work or Derivative Works thereof, You may choose to offer, +and charge a fee for, acceptance of support, warranty, indemnity, +or other liability obligations and/or rights consistent with this +License. However, in accepting such obligations, You may act only +on Your own behalf and on Your sole responsibility, not on behalf +of any other Contributor, and only if You agree to indemnify, +defend, and hold each Contributor harmless for any liability +incurred by, or claims asserted against, such Contributor by reason +of your accepting any such warranty or additional liability. + +END OF TERMS AND CONDITIONS + +APPENDIX: How to apply the Apache License to your work. + +To apply the Apache License to your work, attach the following +boilerplate notice, with the fields enclosed by brackets "[]" +replaced with your own identifying information. (Don't include +the brackets!) The text should be enclosed in the appropriate +comment syntax for the file format. We also recommend that a +file or class name and description of purpose be included on the +same "printed page" as the copyright notice for easier +identification within third-party archives. + +Copyright [yyyy] [name of copyright owner] + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + +http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. + + diff --git a/vendor/google/auth/README.md b/vendor/google/auth/README.md new file mode 100644 index 00000000..05265f71 --- /dev/null +++ b/vendor/google/auth/README.md @@ -0,0 +1,150 @@ +# Google Auth Library for PHP + +
+
Homepage
http://www.github.com/google/google-auth-library-php
+
Authors
+
Tim Emiola
+
Stanley Cheung
+
Brent Shaffer
+
Copyright
Copyright © 2015 Google, Inc.
+
License
Apache 2.0
+
+ +## Description + +This is Google's officially supported PHP client library for using OAuth 2.0 +authorization and authentication with Google APIs. + +### Installing via Composer + +The recommended way to install the google auth library is through +[Composer](http://getcomposer.org). + +```bash +# Install Composer +curl -sS https://getcomposer.org/installer | php +``` + +Next, run the Composer command to install the latest stable version: + +```bash +composer.phar require google/auth +``` + +## Application Default Credentials + +This library provides an implementation of +[application default credentials][application default credentials] for PHP. + +The Application Default Credentials provide a simple way to get authorization +credentials for use in calling Google APIs. + +They are best suited for cases when the call needs to have the same identity +and authorization level for the application independent of the user. This is +the recommended approach to authorize calls to Cloud APIs, particularly when +you're building an application that uses Google Compute Engine. + +#### Download your Service Account Credentials JSON file + +To use `Application Default Credentials`, You first need to download a set of +JSON credentials for your project. Go to **APIs & Auth** > **Credentials** in +the [Google Developers Console][developer console] and select +**Service account** from the **Add credentials** dropdown. + +> This file is your *only copy* of these credentials. It should never be +> committed with your source code, and should be stored securely. + +Once downloaded, store the path to this file in the +`GOOGLE_APPLICATION_CREDENTIALS` environment variable. + +```php +putenv('GOOGLE_APPLICATION_CREDENTIALS=/path/to/my/credentials.json'); +``` + +> PHP's `putenv` function is just one way to set an environment variable. +> Consider using `.htaccess` or apache configuration files as well. + +#### Enable the API you want to use + +Before making your API call, you must be sure the API you're calling has been +enabled. Go to **APIs & Auth** > **APIs** in the +[Google Developers Console][developer console] and enable the APIs you'd like to +call. For the example below, you must enable the `Drive API`. + +#### Call the APIs + +As long as you update the environment variable below to point to *your* JSON +credentials file, the following code should output a list of your Drive files. + +```php +use Google\Auth\ApplicationDefaultCredentials; +use GuzzleHttp\Client; +use GuzzleHttp\HandlerStack; + +// specify the path to your application credentials +putenv('GOOGLE_APPLICATION_CREDENTIALS=/path/to/my/credentials.json'); + +// define the scopes for your API call +$scopes = ['https://www.googleapis.com/auth/drive.readonly']; + +// create middleware +$middleware = ApplicationDefaultCredentials::getMiddleware($scopes); +$stack = HandlerStack::create(); +$stack->push($middleware); + +// create the HTTP client +$client = new Client([ + 'handler' => $stack, + 'base_url' => 'https://www.googleapis.com', + 'auth' => 'google_auth' // authorize all requests +]); + +// make the request +$response = $client->get('drive/v2/files'); + +// show the result! +print_r((string) $response->getBody()); +``` + +##### Guzzle 5 Compatibility + +If you are using [Guzzle 5][Guzzle 5], replace the `create middleware` and +`create the HTTP Client` steps with the following: + +```php +// create the HTTP client +$client = new Client([ + 'base_url' => 'https://www.googleapis.com', + 'auth' => 'google_auth' // authorize all requests +]); + +// create subscriber +$subscriber = ApplicationDefaultCredentials::getSubscriber($scopes); +$client->getEmitter()->attach($subscriber); + +``` + +## License + +This library is licensed under Apache 2.0. Full license text is +available in [COPYING][copying]. + +## Contributing + +See [CONTRIBUTING][contributing]. + +## Support + +Please +[report bugs at the project on Github](https://github.com/google/google-auth-library-php/issues). Don't +hesitate to +[ask questions](http://stackoverflow.com/questions/tagged/google-auth-library-php) +about the client or APIs on [StackOverflow](http://stackoverflow.com). + +[google-apis-php-client]: https://github.com/google/google-api-php-client +[application default credentials]: https://developers.google.com/accounts/docs/application-default-credentials +[contributing]: https://github.com/google/google-auth-library-php/tree/master/CONTRIBUTING.md +[copying]: https://github.com/google/google-auth-library-php/tree/master/COPYING +[Guzzle]: https://github.com/guzzle/guzzle +[Guzzle 5]: http://docs.guzzlephp.org/en/5.3 +[developer console]: https://console.developers.google.com diff --git a/vendor/google/auth/autoload.php b/vendor/google/auth/autoload.php new file mode 100644 index 00000000..f5473378 --- /dev/null +++ b/vendor/google/auth/autoload.php @@ -0,0 +1,34 @@ + 3) { + // Maximum class file path depth in this project is 3. + $classPath = array_slice($classPath, 0, 3); + } + $filePath = dirname(__FILE__) . '/src/' . implode('/', $classPath) . '.php'; + if (file_exists($filePath)) { + require_once $filePath; + } +} + +spl_autoload_register('oauth2client_php_autoload'); diff --git a/vendor/google/auth/composer.json b/vendor/google/auth/composer.json new file mode 100644 index 00000000..c528ada1 --- /dev/null +++ b/vendor/google/auth/composer.json @@ -0,0 +1,28 @@ +{ + "name": "google/auth", + "type": "library", + "description": "Google Auth Library for PHP", + "keywords": ["google", "oauth2", "authentication"], + "homepage": "http://github.com/google/google-auth-library-php", + "license": "Apache-2.0", + "require": { + "php": ">=5.4", + "firebase/php-jwt": "~2.0|~3.0|~4.0", + "guzzlehttp/guzzle": "~5.3|~6.0", + "guzzlehttp/psr7": "~1.2", + "psr/http-message": "^1.0", + "psr/cache": "^1.0" + }, + "require-dev": { + "phpunit/phpunit": "3.7.*", + "friendsofphp/php-cs-fixer": "^1.11" + }, + "autoload": { + "classmap": [ + "src/" + ], + "psr-4": { + "Google\\Auth\\": "src" + } + } +} diff --git a/vendor/google/auth/phpunit.xml.dist b/vendor/google/auth/phpunit.xml.dist new file mode 100644 index 00000000..bace58bb --- /dev/null +++ b/vendor/google/auth/phpunit.xml.dist @@ -0,0 +1,16 @@ + + + + + tests + + + + + src + + src/ + + + + diff --git a/vendor/google/auth/src/ApplicationDefaultCredentials.php b/vendor/google/auth/src/ApplicationDefaultCredentials.php new file mode 100644 index 00000000..5d944db9 --- /dev/null +++ b/vendor/google/auth/src/ApplicationDefaultCredentials.php @@ -0,0 +1,173 @@ +push($middleware); + * + * $client = new Client([ + * 'handler' => $stack, + * 'base_uri' => 'https://www.googleapis.com/taskqueue/v1beta2/projects/', + * 'auth' => 'google_auth' // authorize all requests + * ]); + * + * $res = $client->get('myproject/taskqueues/myqueue'); + */ +class ApplicationDefaultCredentials +{ + /** + * Obtains an AuthTokenSubscriber that uses the default FetchAuthTokenInterface + * implementation to use in this environment. + * + * If supplied, $scope is used to in creating the credentials instance if + * this does not fallback to the compute engine defaults. + * + * @param string|array scope the scope of the access request, expressed + * either as an Array or as a space-delimited String. + * @param callable $httpHandler callback which delivers psr7 request + * @param array $cacheConfig configuration for the cache when it's present + * @param CacheItemPoolInterface $cache an implementation of CacheItemPoolInterface + * + * @return AuthTokenSubscriber + * + * @throws DomainException if no implementation can be obtained. + */ + public static function getSubscriber( + $scope = null, + callable $httpHandler = null, + array $cacheConfig = null, + CacheItemPoolInterface $cache = null + ) { + $creds = self::getCredentials($scope, $httpHandler, $cacheConfig, $cache); + + return new AuthTokenSubscriber($creds, $cacheConfig); + } + + /** + * Obtains an AuthTokenMiddleware that uses the default FetchAuthTokenInterface + * implementation to use in this environment. + * + * If supplied, $scope is used to in creating the credentials instance if + * this does not fallback to the compute engine defaults. + * + * @param string|array scope the scope of the access request, expressed + * either as an Array or as a space-delimited String. + * @param callable $httpHandler callback which delivers psr7 request + * @param array $cacheConfig configuration for the cache when it's present + * @param CacheItemPoolInterface $cache + * + * @return AuthTokenMiddleware + * + * @throws DomainException if no implementation can be obtained. + */ + public static function getMiddleware( + $scope = null, + callable $httpHandler = null, + array $cacheConfig = null, + CacheItemPoolInterface $cache = null + ) { + $creds = self::getCredentials($scope, $httpHandler, $cacheConfig, $cache); + + return new AuthTokenMiddleware($creds, $cacheConfig); + } + + /** + * Obtains the default FetchAuthTokenInterface implementation to use + * in this environment. + * + * If supplied, $scope is used to in creating the credentials instance if + * this does not fallback to the Compute Engine defaults. + * + * @param string|array scope the scope of the access request, expressed + * either as an Array or as a space-delimited String. + * @param callable $httpHandler callback which delivers psr7 request + * @param array $cacheConfig configuration for the cache when it's present + * @param CacheItemPoolInterface $cache + * + * @return CredentialsLoader + * + * @throws DomainException if no implementation can be obtained. + */ + public static function getCredentials( + $scope = null, + callable $httpHandler = null, + array $cacheConfig = null, + CacheItemPoolInterface $cache = null + ) { + $creds = null; + $jsonKey = CredentialsLoader::fromEnv() + ?: CredentialsLoader::fromWellKnownFile(); + + if (!is_null($jsonKey)) { + $creds = CredentialsLoader::makeCredentials($scope, $jsonKey); + } elseif (AppIdentityCredentials::onAppEngine() && !GCECredentials::onAppEngineFlexible()) { + $creds = new AppIdentityCredentials($scope); + } elseif (GCECredentials::onGce($httpHandler)) { + $creds = new GCECredentials(); + } + + if (is_null($creds)) { + throw new \DomainException(self::notFound()); + } + if (!is_null($cache)) { + $creds = new FetchAuthTokenCache($creds, $cacheConfig, $cache); + } + return $creds; + } + + private static function notFound() + { + $msg = 'Could not load the default credentials. Browse to '; + $msg .= 'https://developers.google.com'; + $msg .= '/accounts/docs/application-default-credentials'; + $msg .= ' for more information'; + + return $msg; + } +} diff --git a/vendor/google/auth/src/Cache/InvalidArgumentException.php b/vendor/google/auth/src/Cache/InvalidArgumentException.php new file mode 100644 index 00000000..331e5611 --- /dev/null +++ b/vendor/google/auth/src/Cache/InvalidArgumentException.php @@ -0,0 +1,24 @@ +key = $key; + } + + /** + * {@inheritdoc} + */ + public function getKey() + { + return $this->key; + } + + /** + * {@inheritdoc} + */ + public function get() + { + return $this->isHit() ? $this->value : null; + } + + /** + * {@inheritdoc} + */ + public function isHit() + { + if (!$this->isHit) { + return false; + } + + if ($this->expiration === null) { + return true; + } + + return new \DateTime() < $this->expiration; + } + + /** + * {@inheritdoc} + */ + public function set($value) + { + $this->isHit = true; + $this->value = $value; + + return $this; + } + + /** + * {@inheritdoc} + */ + public function expiresAt($expiration) + { + if ($this->isValidExpiration($expiration)) { + $this->expiration = $expiration; + + return $this; + } + + $implementationMessage = interface_exists('DateTimeInterface') + ? 'implement interface DateTimeInterface' + : 'be an instance of DateTime'; + + $error = sprintf( + 'Argument 1 passed to %s::expiresAt() must %s, %s given', + get_class($this), + $implementationMessage, + gettype($expiration) + ); + + $this->handleError($error); + } + + /** + * {@inheritdoc} + */ + public function expiresAfter($time) + { + if (is_int($time)) { + $this->expiration = new \DateTime("now + $time seconds"); + } elseif ($time instanceof \DateInterval) { + $this->expiration = (new \DateTime())->add($time); + } elseif ($time === null) { + $this->expiration = $time; + } else { + $message = 'Argument 1 passed to %s::expiresAfter() must be an ' . + 'instance of DateInterval or of the type integer, %s given'; + $error = sprintf($message, get_class($this), gettype($expiration)); + + $this->handleError($error); + } + + return $this; + } + + /** + * Handles an error. + * + * @param string $error + * @throws \TypeError + */ + private function handleError($error) + { + if (class_exists('TypeError')) { + throw new \TypeError($error); + } + + trigger_error($error, E_USER_ERROR); + } + + /** + * Determines if an expiration is valid based on the rules defined by PSR6. + * + * @param mixed $expiration + * @return bool + */ + private function isValidExpiration($expiration) + { + if ($expiration === null) { + return true; + } + + // We test for two types here due to the fact the DateTimeInterface + // was not introduced until PHP 5.5. Checking for the DateTime type as + // well allows us to support 5.4. + if ($expiration instanceof \DateTimeInterface) { + return true; + } + + if ($expiration instanceof \DateTime) { + return true; + } + + return false; + } +} diff --git a/vendor/google/auth/src/Cache/MemoryCacheItemPool.php b/vendor/google/auth/src/Cache/MemoryCacheItemPool.php new file mode 100644 index 00000000..9533c2cd --- /dev/null +++ b/vendor/google/auth/src/Cache/MemoryCacheItemPool.php @@ -0,0 +1,155 @@ +getItems([$key])); + } + + /** + * {@inheritdoc} + */ + public function getItems(array $keys = []) + { + $items = []; + + foreach ($keys as $key) { + $this->isValidKey($key); + $items[$key] = $this->hasItem($key) ? clone $this->items[$key] : new Item($key); + } + + return $items; + } + + /** + * {@inheritdoc} + */ + public function hasItem($key) + { + $this->isValidKey($key); + + return isset($this->items[$key]) && $this->items[$key]->isHit(); + } + + /** + * {@inheritdoc} + */ + public function clear() + { + $this->items = []; + $this->deferred = []; + + return true; + } + + /** + * {@inheritdoc} + */ + public function deleteItem($key) + { + return $this->deleteItems([$key]); + } + + /** + * {@inheritdoc} + */ + public function deleteItems(array $keys) + { + array_walk($keys, [$this, 'isValidKey']); + + foreach ($keys as $key) { + unset($this->items[$key]); + } + + return true; + } + + /** + * {@inheritdoc} + */ + public function save(CacheItemInterface $item) + { + $this->items[$item->getKey()] = $item; + + return true; + } + + /** + * {@inheritdoc} + */ + public function saveDeferred(CacheItemInterface $item) + { + $this->deferredItems[$item->getKey()] = $item; + + return true; + } + + /** + * {@inheritdoc} + */ + public function commit() + { + foreach ($this->deferredItems as $item) { + $this->save($item); + } + + $this->deferredItems = []; + + return true; + } + + /** + * Determines if the provided key is valid. + * + * @param string $key + * @return bool + * @throws InvalidArgumentException + */ + private function isValidKey($key) + { + $invalidCharacters = '{}()/\\\\@:'; + + if (!is_string($key) || preg_match("#[$invalidCharacters]#", $key)) { + throw new InvalidArgumentException('The provided key is not valid: ' . var_export($key, true)); + } + + return true; + } +} diff --git a/vendor/google/auth/src/CacheTrait.php b/vendor/google/auth/src/CacheTrait.php new file mode 100644 index 00000000..02b4b923 --- /dev/null +++ b/vendor/google/auth/src/CacheTrait.php @@ -0,0 +1,72 @@ +cache)) { + return; + } + + $key = $this->getFullCacheKey($k); + if (is_null($key)) { + return; + } + + $cacheItem = $this->cache->getItem($key); + return $cacheItem->get(); + } + + /** + * Saves the value in the cache when that is available. + */ + private function setCachedValue($k, $v) + { + if (is_null($this->cache)) { + return; + } + + $key = $this->getFullCacheKey($k); + if (is_null($key)) { + return; + } + + $cacheItem = $this->cache->getItem($key); + $cacheItem->set($v); + $cacheItem->expiresAfter($this->cacheConfig['lifetime']); + return $this->cache->save($cacheItem); + } + + private function getFullCacheKey($key) + { + if (is_null($key)) { + return; + } + + $key = $this->cacheConfig['prefix'] . $key; + + // ensure we do not have illegal characters + return preg_replace('|[^a-zA-Z0-9_\.!]|', '', $key); + } +} diff --git a/vendor/google/auth/src/Credentials/AppIdentityCredentials.php b/vendor/google/auth/src/Credentials/AppIdentityCredentials.php new file mode 100644 index 00000000..661c64c9 --- /dev/null +++ b/vendor/google/auth/src/Credentials/AppIdentityCredentials.php @@ -0,0 +1,149 @@ +push($middleware); + * + * $client = new Client([ + * 'handler' => $stack, + * 'base_uri' => 'https://www.googleapis.com/books/v1', + * 'auth' => 'google_auth' + * ]); + * + * $res = $client->get('volumes?q=Henry+David+Thoreau&country=US'); + */ +class AppIdentityCredentials extends CredentialsLoader +{ + /** + * Result of fetchAuthToken. + * + * @array + */ + protected $lastReceivedToken; + + /** + * Array of OAuth2 scopes to be requested. + */ + private $scope; + + public function __construct($scope = array()) + { + $this->scope = $scope; + } + + /** + * Determines if this an App Engine instance, by accessing the SERVER_SOFTWARE + * environment variable. + * + * @return true if this an App Engine Instance, false otherwise + */ + public static function onAppEngine() + { + return isset($_SERVER['SERVER_SOFTWARE']) && + strpos($_SERVER['SERVER_SOFTWARE'], 'Google App Engine') !== false; + } + + /** + * Implements FetchAuthTokenInterface#fetchAuthToken. + * + * Fetches the auth tokens using the AppIdentityService if available. + * As the AppIdentityService uses protobufs to fetch the access token, + * the GuzzleHttp\ClientInterface instance passed in will not be used. + * + * @param callable $httpHandler callback which delivers psr7 request + * + * @return array the auth metadata: + * array(2) { + * ["access_token"]=> + * string(3) "xyz" + * ["expiration_time"]=> + * string(10) "1444339905" + * } + * + * @throws \Exception + */ + public function fetchAuthToken(callable $httpHandler = null) + { + if (!self::onAppEngine()) { + return array(); + } + + if (!class_exists('google\appengine\api\app_identity\AppIdentityService')) { + throw new \Exception( + 'This class must be run in App Engine, or you must include the AppIdentityService ' + . 'mock class defined in tests/mocks/AppIdentityService.php' + ); + } + + // AppIdentityService expects an array when multiple scopes are supplied + $scope = is_array($this->scope) ? $this->scope : explode(' ', $this->scope); + + $token = AppIdentityService::getAccessToken($scope); + $this->lastReceivedToken = $token; + + return $token; + } + + /** + * @return array|null + */ + public function getLastReceivedToken() + { + if ($this->lastReceivedToken) { + return [ + 'access_token' => $this->lastReceivedToken['access_token'], + 'expires_at' => $this->lastReceivedToken['expiration_time'], + ]; + } + + return null; + } + + /** + * Caching is handled by the underlying AppIdentityService, return empty string + * to prevent caching. + * + * @return string + */ + public function getCacheKey() + { + return ''; + } +} diff --git a/vendor/google/auth/src/Credentials/GCECredentials.php b/vendor/google/auth/src/Credentials/GCECredentials.php new file mode 100644 index 00000000..43115290 --- /dev/null +++ b/vendor/google/auth/src/Credentials/GCECredentials.php @@ -0,0 +1,219 @@ +push($middleware); + * + * $client = new Client([ + * 'handler' => $stack, + * 'base_uri' => 'https://www.googleapis.com/taskqueue/v1beta2/projects/', + * 'auth' => 'google_auth' + * ]); + * + * $res = $client->get('myproject/taskqueues/myqueue'); + */ +class GCECredentials extends CredentialsLoader +{ + const cacheKey = 'GOOGLE_AUTH_PHP_GCE'; + /** + * The metadata IP address on appengine instances. + * + * The IP is used instead of the domain 'metadata' to avoid slow responses + * when not on Compute Engine. + */ + const METADATA_IP = '169.254.169.254'; + + /** + * The metadata path of the default token. + */ + const TOKEN_URI_PATH = 'v1/instance/service-accounts/default/token'; + + /** + * The header whose presence indicates GCE presence. + */ + const FLAVOR_HEADER = 'Metadata-Flavor'; + + /** + * Flag used to ensure that the onGCE test is only done once;. + * + * @var bool + */ + private $hasCheckedOnGce = false; + + /** + * Flag that stores the value of the onGCE check. + * + * @var bool + */ + private $isOnGce = false; + + /** + * Result of fetchAuthToken. + */ + protected $lastReceivedToken; + + /** + * The full uri for accessing the default token. + * + * @return string + */ + public static function getTokenUri() + { + $base = 'http://' . self::METADATA_IP . '/computeMetadata/'; + + return $base . self::TOKEN_URI_PATH; + } + + /** + * Determines if this an App Engine Flexible instance, by accessing the + * GAE_VM environment variable. + * + * @return true if this an App Engine Flexible Instance, false otherwise + */ + public static function onAppEngineFlexible() + { + return isset($_SERVER['GAE_VM']) && 'true' === $_SERVER['GAE_VM']; + } + + /** + * Determines if this a GCE instance, by accessing the expected metadata + * host. + * If $httpHandler is not specified a the default HttpHandler is used. + * + * @param callable $httpHandler callback which delivers psr7 request + * + * @return true if this a GCEInstance false otherwise + */ + public static function onGce(callable $httpHandler = null) + { + if (is_null($httpHandler)) { + $httpHandler = HttpHandlerFactory::build(); + } + $checkUri = 'http://' . self::METADATA_IP; + try { + // Comment from: oauth2client/client.py + // + // Note: the explicit `timeout` below is a workaround. The underlying + // issue is that resolving an unknown host on some networks will take + // 20-30 seconds; making this timeout short fixes the issue, but + // could lead to false negatives in the event that we are on GCE, but + // the metadata resolution was particularly slow. The latter case is + // "unlikely". + $resp = $httpHandler( + new Request('GET', $checkUri), + ['timeout' => 0.3] + ); + + return $resp->getHeaderLine(self::FLAVOR_HEADER) == 'Google'; + } catch (ClientException $e) { + return false; + } catch (ServerException $e) { + return false; + } catch (RequestException $e) { + return false; + } + } + + /** + * Implements FetchAuthTokenInterface#fetchAuthToken. + * + * Fetches the auth tokens from the GCE metadata host if it is available. + * If $httpHandler is not specified a the default HttpHandler is used. + * + * @param callable $httpHandler callback which delivers psr7 request + * + * @return array the response + * + * @throws \Exception + */ + public function fetchAuthToken(callable $httpHandler = null) + { + if (is_null($httpHandler)) { + $httpHandler = HttpHandlerFactory::build(); + } + if (!$this->hasCheckedOnGce) { + $this->isOnGce = self::onGce($httpHandler); + } + if (!$this->isOnGce) { + return array(); // return an empty array with no access token + } + $resp = $httpHandler( + new Request( + 'GET', + self::getTokenUri(), + [self::FLAVOR_HEADER => 'Google'] + ) + ); + $body = (string)$resp->getBody(); + + // Assume it's JSON; if it's not throw an exception + if (null === $json = json_decode($body, true)) { + throw new \Exception('Invalid JSON response'); + } + + // store this so we can retrieve it later + $this->lastReceivedToken = $json; + $this->lastReceivedToken['expires_at'] = time() + $json['expires_in']; + + return $json; + } + + /** + * @return string + */ + public function getCacheKey() + { + return self::cacheKey; + } + + /** + * @return array|null + */ + public function getLastReceivedToken() + { + if ($this->lastReceivedToken) { + return [ + 'access_token' => $this->lastReceivedToken['access_token'], + 'expires_at' => $this->lastReceivedToken['expires_at'], + ]; + } + + return null; + } +} diff --git a/vendor/google/auth/src/Credentials/IAMCredentials.php b/vendor/google/auth/src/Credentials/IAMCredentials.php new file mode 100644 index 00000000..0d2a37d1 --- /dev/null +++ b/vendor/google/auth/src/Credentials/IAMCredentials.php @@ -0,0 +1,89 @@ +selector = $selector; + $this->token = $token; + } + + /** + * export a callback function which updates runtime metadata. + * + * @return array updateMetadata function + */ + public function getUpdateMetadataFunc() + { + return array($this, 'updateMetadata'); + } + + /** + * Updates metadata with the appropriate header metadata. + * + * @param array $metadata metadata hashmap + * @param string $unusedAuthUri optional auth uri + * @param callable $httpHandler callback which delivers psr7 request + * Note: this param is unused here, only included here for + * consistency with other credentials class + * + * @return array updated metadata hashmap + */ + public function updateMetadata( + $metadata, + $unusedAuthUri = null, + callable $httpHandler = null + ) { + $metadata_copy = $metadata; + $metadata_copy[self::SELECTOR_KEY] = $this->selector; + $metadata_copy[self::TOKEN_KEY] = $this->token; + + return $metadata_copy; + } +} diff --git a/vendor/google/auth/src/Credentials/ServiceAccountCredentials.php b/vendor/google/auth/src/Credentials/ServiceAccountCredentials.php new file mode 100644 index 00000000..db391ecf --- /dev/null +++ b/vendor/google/auth/src/Credentials/ServiceAccountCredentials.php @@ -0,0 +1,177 @@ +push($middleware); + * + * $client = new Client([ + * 'handler' => $stack, + * 'base_uri' => 'https://www.googleapis.com/taskqueue/v1beta2/projects/', + * 'auth' => 'google_auth' // authorize all requests + * ]); + * + * $res = $client->get('myproject/taskqueues/myqueue'); + */ +class ServiceAccountCredentials extends CredentialsLoader +{ + /** + * The OAuth2 instance used to conduct authorization. + * + * @var OAuth2 + */ + protected $auth; + + /** + * Create a new ServiceAccountCredentials. + * + * @param string|array $scope the scope of the access request, expressed + * either as an Array or as a space-delimited String. + * @param string|array $jsonKey JSON credential file path or JSON credentials + * as an associative array + * @param string $sub an email address account to impersonate, in situations when + * the service account has been delegated domain wide access. + */ + public function __construct( + $scope, + $jsonKey, + $sub = null + ) { + if (is_string($jsonKey)) { + if (!file_exists($jsonKey)) { + throw new \InvalidArgumentException('file does not exist'); + } + $jsonKeyStream = file_get_contents($jsonKey); + if (!$jsonKey = json_decode($jsonKeyStream, true)) { + throw new \LogicException('invalid json for auth config'); + } + } + if (!array_key_exists('client_email', $jsonKey)) { + throw new \InvalidArgumentException( + 'json key is missing the client_email field'); + } + if (!array_key_exists('private_key', $jsonKey)) { + throw new \InvalidArgumentException( + 'json key is missing the private_key field'); + } + $this->auth = new OAuth2([ + 'audience' => self::TOKEN_CREDENTIAL_URI, + 'issuer' => $jsonKey['client_email'], + 'scope' => $scope, + 'signingAlgorithm' => 'RS256', + 'signingKey' => $jsonKey['private_key'], + 'sub' => $sub, + 'tokenCredentialUri' => self::TOKEN_CREDENTIAL_URI, + ]); + } + + /** + * @param callable $httpHandler + * + * @return array + */ + public function fetchAuthToken(callable $httpHandler = null) + { + return $this->auth->fetchAuthToken($httpHandler); + } + + /** + * @return string + */ + public function getCacheKey() + { + $key = $this->auth->getIssuer() . ':' . $this->auth->getCacheKey(); + if ($sub = $this->auth->getSub()) { + $key .= ':' . $sub; + } + + return $key; + } + + /** + * @return array + */ + public function getLastReceivedToken() + { + return $this->auth->getLastReceivedToken(); + } + + /** + * Updates metadata with the authorization token. + * + * @param array $metadata metadata hashmap + * @param string $authUri optional auth uri + * @param callable $httpHandler callback which delivers psr7 request + * + * @return array updated metadata hashmap + */ + public function updateMetadata( + $metadata, + $authUri = null, + callable $httpHandler = null + ) { + // scope exists. use oauth implementation + $scope = $this->auth->getScope(); + if (!is_null($scope)) { + return parent::updateMetadata($metadata, $authUri, $httpHandler); + } + + // no scope found. create jwt with the auth uri + $credJson = array( + 'private_key' => $this->auth->getSigningKey(), + 'client_email' => $this->auth->getIssuer(), + ); + $jwtCreds = new ServiceAccountJwtAccessCredentials($credJson); + + return $jwtCreds->updateMetadata($metadata, $authUri, $httpHandler); + } + + /** + * @param string $sub an email address account to impersonate, in situations when + * the service account has been delegated domain wide access. + */ + public function setSub($sub) + { + $this->auth->setSub($sub); + } +} diff --git a/vendor/google/auth/src/Credentials/ServiceAccountJwtAccessCredentials.php b/vendor/google/auth/src/Credentials/ServiceAccountJwtAccessCredentials.php new file mode 100644 index 00000000..28cc7096 --- /dev/null +++ b/vendor/google/auth/src/Credentials/ServiceAccountJwtAccessCredentials.php @@ -0,0 +1,131 @@ +auth = new OAuth2([ + 'issuer' => $jsonKey['client_email'], + 'sub' => $jsonKey['client_email'], + 'signingAlgorithm' => 'RS256', + 'signingKey' => $jsonKey['private_key'], + ]); + } + + /** + * Updates metadata with the authorization token. + * + * @param array $metadata metadata hashmap + * @param string $authUri optional auth uri + * @param callable $httpHandler callback which delivers psr7 request + * + * @return array updated metadata hashmap + */ + public function updateMetadata( + $metadata, + $authUri = null, + callable $httpHandler = null + ) { + if (empty($authUri)) { + return $metadata; + } + + $this->auth->setAudience($authUri); + + return parent::updateMetadata($metadata, $authUri, $httpHandler); + } + + /** + * Implements FetchAuthTokenInterface#fetchAuthToken. + * + * @param callable $httpHandler + * + * @return array|void + */ + public function fetchAuthToken(callable $httpHandler = null) + { + $audience = $this->auth->getAudience(); + if (empty($audience)) { + return null; + } + + $access_token = $this->auth->toJwt(); + + return array('access_token' => $access_token); + } + + /** + * @return string + */ + public function getCacheKey() + { + return $this->auth->getCacheKey(); + } + + /** + * @return array + */ + public function getLastReceivedToken() + { + return $this->auth->getLastReceivedToken(); + } +} diff --git a/vendor/google/auth/src/Credentials/UserRefreshCredentials.php b/vendor/google/auth/src/Credentials/UserRefreshCredentials.php new file mode 100644 index 00000000..6c7e5cfa --- /dev/null +++ b/vendor/google/auth/src/Credentials/UserRefreshCredentials.php @@ -0,0 +1,110 @@ +auth = new OAuth2([ + 'clientId' => $jsonKey['client_id'], + 'clientSecret' => $jsonKey['client_secret'], + 'refresh_token' => $jsonKey['refresh_token'], + 'scope' => $scope, + 'tokenCredentialUri' => self::TOKEN_CREDENTIAL_URI, + ]); + } + + /** + * @param callable $httpHandler + * + * @return array + */ + public function fetchAuthToken(callable $httpHandler = null) + { + return $this->auth->fetchAuthToken($httpHandler); + } + + /** + * @return string + */ + public function getCacheKey() + { + return $this->auth->getClientId() . ':' . $this->auth->getCacheKey(); + } + + /** + * @return array + */ + public function getLastReceivedToken() + { + return $this->auth->getLastReceivedToken(); + } +} diff --git a/vendor/google/auth/src/CredentialsLoader.php b/vendor/google/auth/src/CredentialsLoader.php new file mode 100644 index 00000000..5ddeda5e --- /dev/null +++ b/vendor/google/auth/src/CredentialsLoader.php @@ -0,0 +1,163 @@ +fetchAuthToken($httpHandler); + if (!isset($result['access_token'])) { + return $metadata; + } + $metadata_copy = $metadata; + $metadata_copy[self::AUTH_METADATA_KEY] = array('Bearer ' . $result['access_token']); + + return $metadata_copy; + } +} diff --git a/vendor/google/auth/src/FetchAuthTokenCache.php b/vendor/google/auth/src/FetchAuthTokenCache.php new file mode 100644 index 00000000..5b8e01b0 --- /dev/null +++ b/vendor/google/auth/src/FetchAuthTokenCache.php @@ -0,0 +1,108 @@ +fetcher = $fetcher; + $this->cache = $cache; + $this->cacheConfig = array_merge([ + 'lifetime' => 1500, + 'prefix' => '', + ], (array) $cacheConfig); + } + + /** + * Implements FetchAuthTokenInterface#fetchAuthToken. + * + * Checks the cache for a valid auth token and fetches the auth tokens + * from the supplied fetcher. + * + * @param callable $httpHandler callback which delivers psr7 request + * + * @return array the response + * + * @throws \Exception + */ + public function fetchAuthToken(callable $httpHandler = null) + { + // Use the cached value if its available. + // + // TODO: correct caching; update the call to setCachedValue to set the expiry + // to the value returned with the auth token. + // + // TODO: correct caching; enable the cache to be cleared. + $cacheKey = $this->fetcher->getCacheKey(); + $cached = $this->getCachedValue($cacheKey); + if (!empty($cached)) { + return ['access_token' => $cached]; + } + + $auth_token = $this->fetcher->fetchAuthToken($httpHandler); + + if (isset($auth_token['access_token'])) { + $this->setCachedValue($cacheKey, $auth_token['access_token']); + } + + return $auth_token; + } + + /** + * @return string + */ + public function getCacheKey() + { + return $this->getFullCacheKey($this->fetcher->getCacheKey()); + } + + /** + * @return array|null + */ + public function getLastReceivedToken() + { + return $this->fetcher->getLastReceivedToken(); + } +} diff --git a/vendor/google/auth/src/FetchAuthTokenInterface.php b/vendor/google/auth/src/FetchAuthTokenInterface.php new file mode 100644 index 00000000..e3d8d28b --- /dev/null +++ b/vendor/google/auth/src/FetchAuthTokenInterface.php @@ -0,0 +1,55 @@ +client = $client; + } + + /** + * Accepts a PSR-7 Request and an array of options and returns a PSR-7 response. + * + * @param RequestInterface $request + * @param array $options + * + * @return ResponseInterface + */ + public function __invoke(RequestInterface $request, array $options = []) + { + $request = $this->client->createRequest( + $request->getMethod(), + $request->getUri(), + array_merge([ + 'headers' => $request->getHeaders(), + 'body' => $request->getBody(), + ], $options) + ); + + $response = $this->client->send($request); + + return new Response( + $response->getStatusCode(), + $response->getHeaders() ?: [], + $response->getBody(), + $response->getProtocolVersion(), + $response->getReasonPhrase() + ); + } +} diff --git a/vendor/google/auth/src/HttpHandler/Guzzle6HttpHandler.php b/vendor/google/auth/src/HttpHandler/Guzzle6HttpHandler.php new file mode 100644 index 00000000..79cc7954 --- /dev/null +++ b/vendor/google/auth/src/HttpHandler/Guzzle6HttpHandler.php @@ -0,0 +1,36 @@ +client = $client; + } + + /** + * Accepts a PSR-7 request and an array of options and returns a PSR-7 response. + * + * @param RequestInterface $request + * @param array $options + * + * @return ResponseInterface + */ + public function __invoke(RequestInterface $request, array $options = []) + { + return $this->client->send($request, $options); + } +} diff --git a/vendor/google/auth/src/HttpHandler/HttpHandlerFactory.php b/vendor/google/auth/src/HttpHandler/HttpHandlerFactory.php new file mode 100644 index 00000000..1ede7982 --- /dev/null +++ b/vendor/google/auth/src/HttpHandler/HttpHandlerFactory.php @@ -0,0 +1,47 @@ +' + */ +class AuthTokenMiddleware +{ + /** + * @var callback + */ + private $httpHandler; + + /** + * @var FetchAuthTokenInterface + */ + private $fetcher; + + /** + * @var callable + */ + private $tokenCallback; + + /** + * Creates a new AuthTokenMiddleware. + * + * @param FetchAuthTokenInterface $fetcher is used to fetch the auth token + * @param callable $httpHandler (optional) callback which delivers psr7 request + * @param callable $tokenCallback (optional) function to be called when a new token is fetched. + */ + public function __construct( + FetchAuthTokenInterface $fetcher, + callable $httpHandler = null, + callable $tokenCallback = null + ) { + $this->fetcher = $fetcher; + $this->httpHandler = $httpHandler; + $this->tokenCallback = $tokenCallback; + } + + /** + * Updates the request with an Authorization header when auth is 'google_auth'. + * + * use Google\Auth\Middleware\AuthTokenMiddleware; + * use Google\Auth\OAuth2; + * use GuzzleHttp\Client; + * use GuzzleHttp\HandlerStack; + * + * $config = [...]; + * $oauth2 = new OAuth2($config) + * $middleware = new AuthTokenMiddleware($oauth2); + * $stack = HandlerStack::create(); + * $stack->push($middleware); + * + * $client = new Client([ + * 'handler' => $stack, + * 'base_uri' => 'https://www.googleapis.com/taskqueue/v1beta2/projects/', + * 'auth' => 'google_auth' // authorize all requests + * ]); + * + * $res = $client->get('myproject/taskqueues/myqueue'); + * + * @param callable $handler + * + * @return \Closure + */ + public function __invoke(callable $handler) + { + return function (RequestInterface $request, array $options) use ($handler) { + // Requests using "auth"="google_auth" will be authorized. + if (!isset($options['auth']) || $options['auth'] !== 'google_auth') { + return $handler($request, $options); + } + + $request = $request->withHeader('Authorization', 'Bearer ' . $this->fetchToken()); + + return $handler($request, $options); + }; + } + + /** + * Call fetcher to fetch the token. + * + * @return string + */ + private function fetchToken() + { + $auth_tokens = $this->fetcher->fetchAuthToken($this->httpHandler); + + if (array_key_exists('access_token', $auth_tokens)) { + // notify the callback if applicable + if ($this->tokenCallback) { + call_user_func($this->tokenCallback, $this->fetcher->getCacheKey(), $auth_tokens['access_token']); + } + + return $auth_tokens['access_token']; + } + } +} diff --git a/vendor/google/auth/src/Middleware/ScopedAccessTokenMiddleware.php b/vendor/google/auth/src/Middleware/ScopedAccessTokenMiddleware.php new file mode 100644 index 00000000..f0d533cf --- /dev/null +++ b/vendor/google/auth/src/Middleware/ScopedAccessTokenMiddleware.php @@ -0,0 +1,175 @@ +' + */ +class ScopedAccessTokenMiddleware +{ + use CacheTrait; + + const DEFAULT_CACHE_LIFETIME = 1500; + + /** + * @var CacheItemPoolInterface + */ + private $cache; + + /** + * @var array configuration + */ + private $cacheConfig; + + /** + * @var callable + */ + private $tokenFunc; + + /** + * @var array|string + */ + private $scopes; + + /** + * Creates a new ScopedAccessTokenMiddleware. + * + * @param callable $tokenFunc a token generator function + * @param array|string $scopes the token authentication scopes + * @param array $cacheConfig configuration for the cache when it's present + * @param CacheItemPoolInterface $cache an implementation of CacheItemPoolInterface + */ + public function __construct( + callable $tokenFunc, + $scopes, + array $cacheConfig = null, + CacheItemPoolInterface $cache = null + ) { + $this->tokenFunc = $tokenFunc; + if (!(is_string($scopes) || is_array($scopes))) { + throw new \InvalidArgumentException( + 'wants scope should be string or array'); + } + $this->scopes = $scopes; + + if (!is_null($cache)) { + $this->cache = $cache; + $this->cacheConfig = array_merge([ + 'lifetime' => self::DEFAULT_CACHE_LIFETIME, + 'prefix' => '', + ], $cacheConfig); + } + } + + /** + * Updates the request with an Authorization header when auth is 'scoped'. + * + * E.g this could be used to authenticate using the AppEngine + * AppIdentityService. + * + * use google\appengine\api\app_identity\AppIdentityService; + * use Google\Auth\Middleware\ScopedAccessTokenMiddleware; + * use GuzzleHttp\Client; + * use GuzzleHttp\HandlerStack; + * + * $scope = 'https://www.googleapis.com/auth/taskqueue' + * $middleware = new ScopedAccessTokenMiddleware( + * 'AppIdentityService::getAccessToken', + * $scope, + * [ 'prefix' => 'Google\Auth\ScopedAccessToken::' ], + * $cache = new Memcache() + * ); + * $stack = HandlerStack::create(); + * $stack->push($middleware); + * + * $client = new Client([ + * 'handler' => $stack, + * 'base_url' => 'https://www.googleapis.com/taskqueue/v1beta2/projects/', + * 'auth' => 'google_auth' // authorize all requests + * ]); + * + * $res = $client->get('myproject/taskqueues/myqueue'); + * + * @param callable $handler + * + * @return \Closure + */ + public function __invoke(callable $handler) + { + return function (RequestInterface $request, array $options) use ($handler) { + // Requests using "auth"="scoped" will be authorized. + if (!isset($options['auth']) || $options['auth'] !== 'scoped') { + return $handler($request, $options); + } + + $request = $request->withHeader('Authorization', 'Bearer ' . $this->fetchToken()); + + return $handler($request, $options); + }; + } + + /** + * @return string + */ + private function getCacheKey() + { + $key = null; + + if (is_string($this->scopes)) { + $key .= $this->scopes; + } elseif (is_array($this->scopes)) { + $key .= implode(':', $this->scopes); + } + + return $key; + } + + /** + * Determine if token is available in the cache, if not call tokenFunc to + * fetch it. + * + * @return string + */ + private function fetchToken() + { + $cacheKey = $this->getCacheKey(); + $cached = $this->getCachedValue($cacheKey); + + if (!empty($cached)) { + return $cached; + } + + $token = call_user_func($this->tokenFunc, $this->scopes); + $this->setCachedValue($cacheKey, $token); + + return $token; + } +} diff --git a/vendor/google/auth/src/Middleware/SimpleMiddleware.php b/vendor/google/auth/src/Middleware/SimpleMiddleware.php new file mode 100644 index 00000000..c31fc657 --- /dev/null +++ b/vendor/google/auth/src/Middleware/SimpleMiddleware.php @@ -0,0 +1,93 @@ +config = array_merge(['key' => null], $config); + } + + /** + * Updates the request query with the developer key if auth is set to simple. + * + * use Google\Auth\Middleware\SimpleMiddleware; + * use GuzzleHttp\Client; + * use GuzzleHttp\HandlerStack; + * + * $my_key = 'is not the same as yours'; + * $middleware = new SimpleMiddleware(['key' => $my_key]); + * $stack = HandlerStack::create(); + * $stack->push($middleware); + * + * $client = new Client([ + * 'handler' => $stack, + * 'base_uri' => 'https://www.googleapis.com/discovery/v1/', + * 'auth' => 'simple' + * ]); + * + * $res = $client->get('drive/v2/rest'); + * + * @param callable $handler + * + * @return \Closure + */ + public function __invoke(callable $handler) + { + return function (RequestInterface $request, array $options) use ($handler) { + // Requests using "auth"="scoped" will be authorized. + if (!isset($options['auth']) || $options['auth'] !== 'simple') { + return $handler($request, $options); + } + + $query = Psr7\parse_query($request->getUri()->getQuery()); + $params = array_merge($query, $this->config); + $uri = $request->getUri()->withQuery(Psr7\build_query($params)); + $request = $request->withUri($uri); + + return $handler($request, $options); + }; + } +} diff --git a/vendor/google/auth/src/OAuth2.php b/vendor/google/auth/src/OAuth2.php new file mode 100644 index 00000000..d5378239 --- /dev/null +++ b/vendor/google/auth/src/OAuth2.php @@ -0,0 +1,1306 @@ + self::DEFAULT_EXPIRY_SECONDS, + 'extensionParams' => [], + 'authorizationUri' => null, + 'redirectUri' => null, + 'tokenCredentialUri' => null, + 'state' => null, + 'username' => null, + 'password' => null, + 'clientId' => null, + 'clientSecret' => null, + 'issuer' => null, + 'sub' => null, + 'audience' => null, + 'signingKey' => null, + 'signingAlgorithm' => null, + 'scope' => null, + ], $config); + + $this->setAuthorizationUri($opts['authorizationUri']); + $this->setRedirectUri($opts['redirectUri']); + $this->setTokenCredentialUri($opts['tokenCredentialUri']); + $this->setState($opts['state']); + $this->setUsername($opts['username']); + $this->setPassword($opts['password']); + $this->setClientId($opts['clientId']); + $this->setClientSecret($opts['clientSecret']); + $this->setIssuer($opts['issuer']); + $this->setSub($opts['sub']); + $this->setExpiry($opts['expiry']); + $this->setAudience($opts['audience']); + $this->setSigningKey($opts['signingKey']); + $this->setSigningAlgorithm($opts['signingAlgorithm']); + $this->setScope($opts['scope']); + $this->setExtensionParams($opts['extensionParams']); + $this->updateToken($opts); + } + + /** + * Verifies the idToken if present. + * + * - if none is present, return null + * - if present, but invalid, raises DomainException. + * - otherwise returns the payload in the idtoken as a PHP object. + * + * if $publicKey is null, the key is decoded without being verified. + * + * @param string $publicKey The public key to use to authenticate the token + * @param array $allowed_algs List of supported verification algorithms + * + * @return null|object + */ + public function verifyIdToken($publicKey = null, $allowed_algs = array()) + { + $idToken = $this->getIdToken(); + if (is_null($idToken)) { + return null; + } + + $resp = $this->jwtDecode($idToken, $publicKey, $allowed_algs); + if (!property_exists($resp, 'aud')) { + throw new \DomainException('No audience found the id token'); + } + if ($resp->aud != $this->getAudience()) { + throw new \DomainException('Wrong audience present in the id token'); + } + + return $resp; + } + + /** + * Obtains the encoded jwt from the instance data. + * + * @param array $config array optional configuration parameters + * + * @return string + */ + public function toJwt(array $config = []) + { + if (is_null($this->getSigningKey())) { + throw new \DomainException('No signing key available'); + } + if (is_null($this->getSigningAlgorithm())) { + throw new \DomainException('No signing algorithm specified'); + } + $now = time(); + + $opts = array_merge([ + 'skew' => self::DEFAULT_SKEW_SECONDS, + ], $config); + + $assertion = [ + 'iss' => $this->getIssuer(), + 'aud' => $this->getAudience(), + 'exp' => ($now + $this->getExpiry()), + 'iat' => ($now - $opts['skew']), + ]; + foreach ($assertion as $k => $v) { + if (is_null($v)) { + throw new \DomainException($k . ' should not be null'); + } + } + if (!(is_null($this->getScope()))) { + $assertion['scope'] = $this->getScope(); + } + if (!(is_null($this->getSub()))) { + $assertion['sub'] = $this->getSub(); + } + + return $this->jwtEncode($assertion, $this->getSigningKey(), + $this->getSigningAlgorithm()); + } + + /** + * Generates a request for token credentials. + * + * @return RequestInterface the authorization Url. + */ + public function generateCredentialsRequest() + { + $uri = $this->getTokenCredentialUri(); + if (is_null($uri)) { + throw new \DomainException('No token credential URI was set.'); + } + + $grantType = $this->getGrantType(); + $params = array('grant_type' => $grantType); + switch ($grantType) { + case 'authorization_code': + $params['code'] = $this->getCode(); + $params['redirect_uri'] = $this->getRedirectUri(); + $this->addClientCredentials($params); + break; + case 'password': + $params['username'] = $this->getUsername(); + $params['password'] = $this->getPassword(); + $this->addClientCredentials($params); + break; + case 'refresh_token': + $params['refresh_token'] = $this->getRefreshToken(); + $this->addClientCredentials($params); + break; + case self::JWT_URN: + $params['assertion'] = $this->toJwt(); + break; + default: + if (!is_null($this->getRedirectUri())) { + # Grant type was supposed to be 'authorization_code', as there + # is a redirect URI. + throw new \DomainException('Missing authorization code'); + } + unset($params['grant_type']); + if (!is_null($grantType)) { + $params['grant_type'] = $grantType; + } + $params = array_merge($params, $this->getExtensionParams()); + } + + $headers = [ + 'Cache-Control' => 'no-store', + 'Content-Type' => 'application/x-www-form-urlencoded', + ]; + + return new Request( + 'POST', + $uri, + $headers, + Psr7\build_query($params) + ); + } + + /** + * Fetches the auth tokens based on the current state. + * + * @param callable $httpHandler callback which delivers psr7 request + * + * @return array the response + */ + public function fetchAuthToken(callable $httpHandler = null) + { + if (is_null($httpHandler)) { + $httpHandler = HttpHandlerFactory::build(); + } + + $response = $httpHandler($this->generateCredentialsRequest()); + $credentials = $this->parseTokenResponse($response); + $this->updateToken($credentials); + + return $credentials; + } + + /** + * Obtains a key that can used to cache the results of #fetchAuthToken. + * + * The key is derived from the scopes. + * + * @return string a key that may be used to cache the auth token. + */ + public function getCacheKey() + { + if (is_string($this->scope)) { + return $this->scope; + } elseif (is_array($this->scope)) { + return implode(':', $this->scope); + } + + // If scope has not set, return null to indicate no caching. + return null; + } + + /** + * Parses the fetched tokens. + * + * @param ResponseInterface $resp the response. + * + * @return array the tokens parsed from the response body. + * + * @throws \Exception + */ + public function parseTokenResponse(ResponseInterface $resp) + { + $body = (string)$resp->getBody(); + if ($resp->hasHeader('Content-Type') && + $resp->getHeaderLine('Content-Type') == 'application/x-www-form-urlencoded' + ) { + $res = array(); + parse_str($body, $res); + + return $res; + } else { + // Assume it's JSON; if it's not throw an exception + if (null === $res = json_decode($body, true)) { + throw new \Exception('Invalid JSON response'); + } + + return $res; + } + } + + /** + * Updates an OAuth 2.0 client. + * + * @example + * client.updateToken([ + * 'refresh_token' => 'n4E9O119d', + * 'access_token' => 'FJQbwq9', + * 'expires_in' => 3600 + * ]) + * + * @param array $config + * The configuration parameters related to the token. + * + * - refresh_token + * The refresh token associated with the access token + * to be refreshed. + * + * - access_token + * The current access token for this client. + * + * - id_token + * The current ID token for this client. + * + * - expires_in + * The time in seconds until access token expiration. + * + * - expires_at + * The time as an integer number of seconds since the Epoch + * + * - issued_at + * The timestamp that the token was issued at. + */ + public function updateToken(array $config) + { + $opts = array_merge([ + 'extensionParams' => [], + 'access_token' => null, + 'id_token' => null, + 'expires_in' => null, + 'expires_at' => null, + 'issued_at' => null, + ], $config); + + $this->setExpiresAt($opts['expires_at']); + $this->setExpiresIn($opts['expires_in']); + // By default, the token is issued at `Time.now` when `expiresIn` is set, + // but this can be used to supply a more precise time. + if (!is_null($opts['issued_at'])) { + $this->setIssuedAt($opts['issued_at']); + } + + $this->setAccessToken($opts['access_token']); + $this->setIdToken($opts['id_token']); + // The refresh token should only be updated if a value is explicitly + // passed in, as some access token responses do not include a refresh + // token. + if (array_key_exists('refresh_token', $opts)) { + $this->setRefreshToken($opts['refresh_token']); + } + } + + /** + * Builds the authorization Uri that the user should be redirected to. + * + * @param array $config configuration options that customize the return url + * + * @return UriInterface the authorization Url. + * + * @throws InvalidArgumentException + */ + public function buildFullAuthorizationUri(array $config = []) + { + if (is_null($this->getAuthorizationUri())) { + throw new InvalidArgumentException( + 'requires an authorizationUri to have been set'); + } + + $params = array_merge([ + 'response_type' => 'code', + 'access_type' => 'offline', + 'client_id' => $this->clientId, + 'redirect_uri' => $this->redirectUri, + 'state' => $this->state, + 'scope' => $this->getScope(), + ], $config); + + // Validate the auth_params + if (is_null($params['client_id'])) { + throw new InvalidArgumentException( + 'missing the required client identifier'); + } + if (is_null($params['redirect_uri'])) { + throw new InvalidArgumentException('missing the required redirect URI'); + } + if (!empty($params['prompt']) && !empty($params['approval_prompt'])) { + throw new InvalidArgumentException( + 'prompt and approval_prompt are mutually exclusive'); + } + + // Construct the uri object; return it if it is valid. + $result = clone $this->authorizationUri; + $existingParams = Psr7\parse_query($result->getQuery()); + + $result = $result->withQuery( + Psr7\build_query(array_merge($existingParams, $params)) + ); + + if ($result->getScheme() != 'https') { + throw new InvalidArgumentException( + 'Authorization endpoint must be protected by TLS'); + } + + return $result; + } + + /** + * Sets the authorization server's HTTP endpoint capable of authenticating + * the end-user and obtaining authorization. + * + * @param string $uri + */ + public function setAuthorizationUri($uri) + { + $this->authorizationUri = $this->coerceUri($uri); + } + + /** + * Gets the authorization server's HTTP endpoint capable of authenticating + * the end-user and obtaining authorization. + * + * @return UriInterface + */ + public function getAuthorizationUri() + { + return $this->authorizationUri; + } + + /** + * Gets the authorization server's HTTP endpoint capable of issuing tokens + * and refreshing expired tokens. + * + * @return string + */ + public function getTokenCredentialUri() + { + return $this->tokenCredentialUri; + } + + /** + * Sets the authorization server's HTTP endpoint capable of issuing tokens + * and refreshing expired tokens. + * + * @param string $uri + */ + public function setTokenCredentialUri($uri) + { + $this->tokenCredentialUri = $this->coerceUri($uri); + } + + /** + * Gets the redirection URI used in the initial request. + * + * @return string + */ + public function getRedirectUri() + { + return $this->redirectUri; + } + + /** + * Sets the redirection URI used in the initial request. + * + * @param string $uri + */ + public function setRedirectUri($uri) + { + if (is_null($uri)) { + $this->redirectUri = null; + + return; + } + // redirect URI must be absolute + if (!$this->isAbsoluteUri($uri)) { + // "postmessage" is a reserved URI string in Google-land + // @see https://developers.google.com/identity/sign-in/web/server-side-flow + if ('postmessage' !== (string)$uri) { + throw new InvalidArgumentException( + 'Redirect URI must be absolute'); + } + } + $this->redirectUri = (string)$uri; + } + + /** + * Gets the scope of the access requests as a space-delimited String. + * + * @return string + */ + public function getScope() + { + if (is_null($this->scope)) { + return $this->scope; + } + + return implode(' ', $this->scope); + } + + /** + * Sets the scope of the access request, expressed either as an Array or as + * a space-delimited String. + * + * @param string|array $scope + * + * @throws InvalidArgumentException + */ + public function setScope($scope) + { + if (is_null($scope)) { + $this->scope = null; + } elseif (is_string($scope)) { + $this->scope = explode(' ', $scope); + } elseif (is_array($scope)) { + foreach ($scope as $s) { + $pos = strpos($s, ' '); + if ($pos !== false) { + throw new InvalidArgumentException( + 'array scope values should not contain spaces'); + } + } + $this->scope = $scope; + } else { + throw new InvalidArgumentException( + 'scopes should be a string or array of strings'); + } + } + + /** + * Gets the current grant type. + * + * @return string + */ + public function getGrantType() + { + if (!is_null($this->grantType)) { + return $this->grantType; + } + + // Returns the inferred grant type, based on the current object instance + // state. + if (!is_null($this->code)) { + return 'authorization_code'; + } elseif (!is_null($this->refreshToken)) { + return 'refresh_token'; + } elseif (!is_null($this->username) && !is_null($this->password)) { + return 'password'; + } elseif (!is_null($this->issuer) && !is_null($this->signingKey)) { + return self::JWT_URN; + } else { + return null; + } + } + + /** + * Sets the current grant type. + * + * @param $grantType + * + * @throws InvalidArgumentException + */ + public function setGrantType($grantType) + { + if (in_array($grantType, self::$knownGrantTypes)) { + $this->grantType = $grantType; + } else { + // validate URI + if (!$this->isAbsoluteUri($grantType)) { + throw new InvalidArgumentException( + 'invalid grant type'); + } + $this->grantType = (string)$grantType; + } + } + + /** + * Gets an arbitrary string designed to allow the client to maintain state. + * + * @return string + */ + public function getState() + { + return $this->state; + } + + /** + * Sets an arbitrary string designed to allow the client to maintain state. + * + * @param string $state + */ + public function setState($state) + { + $this->state = $state; + } + + /** + * Gets the authorization code issued to this client. + */ + public function getCode() + { + return $this->code; + } + + /** + * Sets the authorization code issued to this client. + * + * @param string $code + */ + public function setCode($code) + { + $this->code = $code; + } + + /** + * Gets the resource owner's username. + */ + public function getUsername() + { + return $this->username; + } + + /** + * Sets the resource owner's username. + * + * @param string $username + */ + public function setUsername($username) + { + $this->username = $username; + } + + /** + * Gets the resource owner's password. + */ + public function getPassword() + { + return $this->password; + } + + /** + * Sets the resource owner's password. + * + * @param $password + */ + public function setPassword($password) + { + $this->password = $password; + } + + /** + * Sets a unique identifier issued to the client to identify itself to the + * authorization server. + */ + public function getClientId() + { + return $this->clientId; + } + + /** + * Sets a unique identifier issued to the client to identify itself to the + * authorization server. + * + * @param $clientId + */ + public function setClientId($clientId) + { + $this->clientId = $clientId; + } + + /** + * Gets a shared symmetric secret issued by the authorization server, which + * is used to authenticate the client. + */ + public function getClientSecret() + { + return $this->clientSecret; + } + + /** + * Sets a shared symmetric secret issued by the authorization server, which + * is used to authenticate the client. + * + * @param $clientSecret + */ + public function setClientSecret($clientSecret) + { + $this->clientSecret = $clientSecret; + } + + /** + * Gets the Issuer ID when using assertion profile. + */ + public function getIssuer() + { + return $this->issuer; + } + + /** + * Sets the Issuer ID when using assertion profile. + * + * @param string $issuer + */ + public function setIssuer($issuer) + { + $this->issuer = $issuer; + } + + /** + * Gets the target sub when issuing assertions. + */ + public function getSub() + { + return $this->sub; + } + + /** + * Sets the target sub when issuing assertions. + * + * @param string $sub + */ + public function setSub($sub) + { + $this->sub = $sub; + } + + /** + * Gets the target audience when issuing assertions. + */ + public function getAudience() + { + return $this->audience; + } + + /** + * Sets the target audience when issuing assertions. + * + * @param string $audience + */ + public function setAudience($audience) + { + $this->audience = $audience; + } + + /** + * Gets the signing key when using an assertion profile. + */ + public function getSigningKey() + { + return $this->signingKey; + } + + /** + * Sets the signing key when using an assertion profile. + * + * @param string $signingKey + */ + public function setSigningKey($signingKey) + { + $this->signingKey = $signingKey; + } + + /** + * Gets the signing algorithm when using an assertion profile. + * + * @return string + */ + public function getSigningAlgorithm() + { + return $this->signingAlgorithm; + } + + /** + * Sets the signing algorithm when using an assertion profile. + * + * @param string $signingAlgorithm + */ + public function setSigningAlgorithm($signingAlgorithm) + { + if (is_null($signingAlgorithm)) { + $this->signingAlgorithm = null; + } elseif (!in_array($signingAlgorithm, self::$knownSigningAlgorithms)) { + throw new InvalidArgumentException('unknown signing algorithm'); + } else { + $this->signingAlgorithm = $signingAlgorithm; + } + } + + /** + * Gets the set of parameters used by extension when using an extension + * grant type. + */ + public function getExtensionParams() + { + return $this->extensionParams; + } + + /** + * Sets the set of parameters used by extension when using an extension + * grant type. + * + * @param $extensionParams + */ + public function setExtensionParams($extensionParams) + { + $this->extensionParams = $extensionParams; + } + + /** + * Gets the number of seconds assertions are valid for. + */ + public function getExpiry() + { + return $this->expiry; + } + + /** + * Sets the number of seconds assertions are valid for. + * + * @param int $expiry + */ + public function setExpiry($expiry) + { + $this->expiry = $expiry; + } + + /** + * Gets the lifetime of the access token in seconds. + */ + public function getExpiresIn() + { + return $this->expiresIn; + } + + /** + * Sets the lifetime of the access token in seconds. + * + * @param int $expiresIn + */ + public function setExpiresIn($expiresIn) + { + if (is_null($expiresIn)) { + $this->expiresIn = null; + $this->issuedAt = null; + } else { + $this->issuedAt = time(); + $this->expiresIn = (int)$expiresIn; + } + } + + /** + * Gets the time the current access token expires at. + * + * @return int + */ + public function getExpiresAt() + { + if (!is_null($this->expiresAt)) { + return $this->expiresAt; + } elseif (!is_null($this->issuedAt) && !is_null($this->expiresIn)) { + return $this->issuedAt + $this->expiresIn; + } + + return null; + } + + /** + * Returns true if the acccess token has expired. + * + * @return bool + */ + public function isExpired() + { + $expiration = $this->getExpiresAt(); + $now = time(); + + return !is_null($expiration) && $now >= $expiration; + } + + /** + * Sets the time the current access token expires at. + * + * @param int $expiresAt + */ + public function setExpiresAt($expiresAt) + { + $this->expiresAt = $expiresAt; + } + + /** + * Gets the time the current access token was issued at. + */ + public function getIssuedAt() + { + return $this->issuedAt; + } + + /** + * Sets the time the current access token was issued at. + * + * @param int $issuedAt + */ + public function setIssuedAt($issuedAt) + { + $this->issuedAt = $issuedAt; + } + + /** + * Gets the current access token. + */ + public function getAccessToken() + { + return $this->accessToken; + } + + /** + * Sets the current access token. + * + * @param string $accessToken + */ + public function setAccessToken($accessToken) + { + $this->accessToken = $accessToken; + } + + /** + * Gets the current ID token. + */ + public function getIdToken() + { + return $this->idToken; + } + + /** + * Sets the current ID token. + * + * @param $idToken + */ + public function setIdToken($idToken) + { + $this->idToken = $idToken; + } + + /** + * Gets the refresh token associated with the current access token. + */ + public function getRefreshToken() + { + return $this->refreshToken; + } + + /** + * Sets the refresh token associated with the current access token. + * + * @param $refreshToken + */ + public function setRefreshToken($refreshToken) + { + $this->refreshToken = $refreshToken; + } + + /** + * The expiration of the last received token. + * + * @return array + */ + public function getLastReceivedToken() + { + if ($token = $this->getAccessToken()) { + return [ + 'access_token' => $token, + 'expires_at' => $this->getExpiresAt(), + ]; + } + + return null; + } + + /** + * @todo handle uri as array + * + * @param string $uri + * + * @return null|UriInterface + */ + private function coerceUri($uri) + { + if (is_null($uri)) { + return; + } + + return Psr7\uri_for($uri); + } + + /** + * @param string $idToken + * @param string|array|null $publicKey + * @param array $allowedAlgs + * + * @return object + */ + private function jwtDecode($idToken, $publicKey, $allowedAlgs) + { + if (class_exists('Firebase\JWT\JWT')) { + return \Firebase\JWT\JWT::decode($idToken, $publicKey, $allowedAlgs); + } + + return \JWT::decode($idToken, $publicKey, $allowedAlgs); + } + + private function jwtEncode($assertion, $signingKey, $signingAlgorithm) + { + if (class_exists('Firebase\JWT\JWT')) { + return \Firebase\JWT\JWT::encode($assertion, $signingKey, + $signingAlgorithm); + } + + return \JWT::encode($assertion, $signingKey, $signingAlgorithm); + } + + /** + * Determines if the URI is absolute based on its scheme and host or path + * (RFC 3986). + * + * @param string $uri + * + * @return bool + */ + private function isAbsoluteUri($uri) + { + $uri = $this->coerceUri($uri); + + return $uri->getScheme() && ($uri->getHost() || $uri->getPath()); + } + + /** + * @param array $params + * + * @return array + */ + private function addClientCredentials(&$params) + { + $clientId = $this->getClientId(); + $clientSecret = $this->getClientSecret(); + + if ($clientId && $clientSecret) { + $params['client_id'] = $clientId; + $params['client_secret'] = $clientSecret; + } + + return $params; + } +} diff --git a/vendor/google/auth/src/Subscriber/AuthTokenSubscriber.php b/vendor/google/auth/src/Subscriber/AuthTokenSubscriber.php new file mode 100644 index 00000000..0df8027f --- /dev/null +++ b/vendor/google/auth/src/Subscriber/AuthTokenSubscriber.php @@ -0,0 +1,118 @@ +' + */ +class AuthTokenSubscriber implements SubscriberInterface +{ + /** + * @var callable + */ + private $httpHandler; + + /** + * @var FetchAuthTokenInterface + */ + private $fetcher; + + /** + * @var callable + */ + private $tokenCallback; + + /** + * Creates a new AuthTokenSubscriber. + * + * @param FetchAuthTokenInterface $fetcher is used to fetch the auth token + * @param callable $httpHandler (optional) http client to fetch the token. + * @param callable $tokenCallback (optional) function to be called when a new token is fetched. + */ + public function __construct( + FetchAuthTokenInterface $fetcher, + callable $httpHandler = null, + callable $tokenCallback = null + ) { + $this->fetcher = $fetcher; + $this->httpHandler = $httpHandler; + $this->tokenCallback = $tokenCallback; + } + + /** + * @return array + */ + public function getEvents() + { + return ['before' => ['onBefore', RequestEvents::SIGN_REQUEST]]; + } + + /** + * Updates the request with an Authorization header when auth is 'fetched_auth_token'. + * + * use GuzzleHttp\Client; + * use Google\Auth\OAuth2; + * use Google\Auth\Subscriber\AuthTokenSubscriber; + * + * $config = [...]; + * $oauth2 = new OAuth2($config) + * $subscriber = new AuthTokenSubscriber($oauth2); + * + * $client = new Client([ + * 'base_url' => 'https://www.googleapis.com/taskqueue/v1beta2/projects/', + * 'defaults' => ['auth' => 'google_auth'] + * ]); + * $client->getEmitter()->attach($subscriber); + * + * $res = $client->get('myproject/taskqueues/myqueue'); + * + * @param BeforeEvent $event + */ + public function onBefore(BeforeEvent $event) + { + // Requests using "auth"="google_auth" will be authorized. + $request = $event->getRequest(); + if ($request->getConfig()['auth'] != 'google_auth') { + return; + } + + // Fetch the auth token. + $auth_tokens = $this->fetcher->fetchAuthToken($this->httpHandler); + if (array_key_exists('access_token', $auth_tokens)) { + $request->setHeader('Authorization', 'Bearer ' . $auth_tokens['access_token']); + + // notify the callback if applicable + if ($this->tokenCallback) { + call_user_func($this->tokenCallback, $this->fetcher->getCacheKey(), $auth_tokens['access_token']); + } + } + } +} diff --git a/vendor/google/auth/src/Subscriber/ScopedAccessTokenSubscriber.php b/vendor/google/auth/src/Subscriber/ScopedAccessTokenSubscriber.php new file mode 100644 index 00000000..ad744ead --- /dev/null +++ b/vendor/google/auth/src/Subscriber/ScopedAccessTokenSubscriber.php @@ -0,0 +1,177 @@ +' + */ +class ScopedAccessTokenSubscriber implements SubscriberInterface +{ + use CacheTrait; + + const DEFAULT_CACHE_LIFETIME = 1500; + + /** + * @var CacheItemPoolInterface + */ + private $cache; + + /** + * @var callable The access token generator function + */ + private $tokenFunc; + + /** + * @var array|string The scopes used to generate the token + */ + private $scopes; + + /** + * @var array + */ + private $cacheConfig; + + /** + * Creates a new ScopedAccessTokenSubscriber. + * + * @param callable $tokenFunc a token generator function + * @param array|string $scopes the token authentication scopes + * @param array $cacheConfig configuration for the cache when it's present + * @param CacheItemPoolInterface $cache an implementation of CacheItemPoolInterface + */ + public function __construct( + callable $tokenFunc, + $scopes, + array $cacheConfig = null, + CacheItemPoolInterface $cache = null + ) { + $this->tokenFunc = $tokenFunc; + if (!(is_string($scopes) || is_array($scopes))) { + throw new \InvalidArgumentException( + 'wants scope should be string or array'); + } + $this->scopes = $scopes; + + if (!is_null($cache)) { + $this->cache = $cache; + $this->cacheConfig = array_merge([ + 'lifetime' => self::DEFAULT_CACHE_LIFETIME, + 'prefix' => '', + ], $cacheConfig); + } + } + + /** + * @return array + */ + public function getEvents() + { + return ['before' => ['onBefore', RequestEvents::SIGN_REQUEST]]; + } + + /** + * Updates the request with an Authorization header when auth is 'scoped'. + * + * E.g this could be used to authenticate using the AppEngine + * AppIdentityService. + * + * use google\appengine\api\app_identity\AppIdentityService; + * use Google\Auth\Subscriber\ScopedAccessTokenSubscriber; + * use GuzzleHttp\Client; + * + * $scope = 'https://www.googleapis.com/auth/taskqueue' + * $subscriber = new ScopedAccessToken( + * 'AppIdentityService::getAccessToken', + * $scope, + * ['prefix' => 'Google\Auth\ScopedAccessToken::'], + * $cache = new Memcache() + * ); + * + * $client = new Client([ + * 'base_url' => 'https://www.googleapis.com/taskqueue/v1beta2/projects/', + * 'defaults' => ['auth' => 'scoped'] + * ]); + * $client->getEmitter()->attach($subscriber); + * + * $res = $client->get('myproject/taskqueues/myqueue'); + * + * @param BeforeEvent $event + */ + public function onBefore(BeforeEvent $event) + { + // Requests using "auth"="scoped" will be authorized. + $request = $event->getRequest(); + if ($request->getConfig()['auth'] != 'scoped') { + return; + } + $auth_header = 'Bearer ' . $this->fetchToken(); + $request->setHeader('Authorization', $auth_header); + } + + /** + * @return string + */ + private function getCacheKey() + { + $key = null; + + if (is_string($this->scopes)) { + $key .= $this->scopes; + } elseif (is_array($this->scopes)) { + $key .= implode(':', $this->scopes); + } + + return $key; + } + + /** + * Determine if token is available in the cache, if not call tokenFunc to + * fetch it. + * + * @return string + */ + private function fetchToken() + { + $cacheKey = $this->getCacheKey(); + $cached = $this->getCachedValue($cacheKey); + + if (!empty($cached)) { + return $cached; + } + + $token = call_user_func($this->tokenFunc, $this->scopes); + $this->setCachedValue($cacheKey, $token); + + return $token; + } +} diff --git a/vendor/google/auth/src/Subscriber/SimpleSubscriber.php b/vendor/google/auth/src/Subscriber/SimpleSubscriber.php new file mode 100644 index 00000000..0c567313 --- /dev/null +++ b/vendor/google/auth/src/Subscriber/SimpleSubscriber.php @@ -0,0 +1,90 @@ +config = array_merge([], $config); + } + + /** + * @return array + */ + public function getEvents() + { + return ['before' => ['onBefore', RequestEvents::SIGN_REQUEST]]; + } + + /** + * Updates the request query with the developer key if auth is set to simple. + * + * use Google\Auth\Subscriber\SimpleSubscriber; + * use GuzzleHttp\Client; + * + * $my_key = 'is not the same as yours'; + * $subscriber = new SimpleSubscriber(['key' => $my_key]); + * + * $client = new Client([ + * 'base_url' => 'https://www.googleapis.com/discovery/v1/', + * 'defaults' => ['auth' => 'simple'] + * ]); + * $client->getEmitter()->attach($subscriber); + * + * $res = $client->get('drive/v2/rest'); + * + * @param BeforeEvent $event + */ + public function onBefore(BeforeEvent $event) + { + // Requests using "auth"="simple" with the developer key. + $request = $event->getRequest(); + if ($request->getConfig()['auth'] != 'simple') { + return; + } + $request->getQuery()->overwriteWith($this->config); + } +} diff --git a/vendor/google/auth/tests/ApplicationDefaultCredentialsTest.php b/vendor/google/auth/tests/ApplicationDefaultCredentialsTest.php new file mode 100644 index 00000000..b7cda07e --- /dev/null +++ b/vendor/google/auth/tests/ApplicationDefaultCredentialsTest.php @@ -0,0 +1,299 @@ +originalHome = getenv('HOME'); + } + + protected function tearDown() + { + if ($this->originalHome != getenv('HOME')) { + putenv('HOME=' . $this->originalHome); + } + putenv(ServiceAccountCredentials::ENV_VAR); // removes it from + } + + /** + * @expectedException DomainException + */ + public function testIsFailsEnvSpecifiesNonExistentFile() + { + $keyFile = __DIR__ . '/fixtures' . '/does-not-exist-private.json'; + putenv(ServiceAccountCredentials::ENV_VAR . '=' . $keyFile); + ApplicationDefaultCredentials::getCredentials('a scope'); + } + + public function testLoadsOKIfEnvSpecifiedIsValid() + { + $keyFile = __DIR__ . '/fixtures' . '/private.json'; + putenv(ServiceAccountCredentials::ENV_VAR . '=' . $keyFile); + $this->assertNotNull( + ApplicationDefaultCredentials::getCredentials('a scope') + ); + } + + public function testLoadsDefaultFileIfPresentAndEnvVarIsNotSet() + { + putenv('HOME=' . __DIR__ . '/fixtures'); + $this->assertNotNull( + ApplicationDefaultCredentials::getCredentials('a scope') + ); + } + + /** + * @expectedException DomainException + */ + public function testFailsIfNotOnGceAndNoDefaultFileFound() + { + putenv('HOME=' . __DIR__ . '/not_exist_fixtures'); + // simulate not being GCE by return 500 + $httpHandler = getHandler([ + buildResponse(500), + ]); + + ApplicationDefaultCredentials::getCredentials('a scope', $httpHandler); + } + + public function testSuccedsIfNoDefaultFilesButIsOnGCE() + { + $wantedTokens = [ + 'access_token' => '1/abdef1234567890', + 'expires_in' => '57', + 'token_type' => 'Bearer', + ]; + $jsonTokens = json_encode($wantedTokens); + + // simulate the response from GCE. + $httpHandler = getHandler([ + buildResponse(200, [GCECredentials::FLAVOR_HEADER => 'Google']), + buildResponse(200, [], Psr7\stream_for($jsonTokens)), + ]); + + $this->assertNotNull( + ApplicationDefaultCredentials::getCredentials('a scope', $httpHandler) + ); + } +} + +class ADCGetMiddlewareTest extends \PHPUnit_Framework_TestCase +{ + private $originalHome; + + protected function setUp() + { + $this->originalHome = getenv('HOME'); + } + + protected function tearDown() + { + if ($this->originalHome != getenv('HOME')) { + putenv('HOME=' . $this->originalHome); + } + putenv(ServiceAccountCredentials::ENV_VAR); // removes it if assigned + } + + /** + * @expectedException DomainException + */ + public function testIsFailsEnvSpecifiesNonExistentFile() + { + $keyFile = __DIR__ . '/fixtures' . '/does-not-exist-private.json'; + putenv(ServiceAccountCredentials::ENV_VAR . '=' . $keyFile); + ApplicationDefaultCredentials::getMiddleware('a scope'); + } + + public function testLoadsOKIfEnvSpecifiedIsValid() + { + $keyFile = __DIR__ . '/fixtures' . '/private.json'; + putenv(ServiceAccountCredentials::ENV_VAR . '=' . $keyFile); + $this->assertNotNull(ApplicationDefaultCredentials::getMiddleware('a scope')); + } + + public function testLoadsDefaultFileIfPresentAndEnvVarIsNotSet() + { + putenv('HOME=' . __DIR__ . '/fixtures'); + $this->assertNotNull(ApplicationDefaultCredentials::getMiddleware('a scope')); + } + + /** + * @expectedException DomainException + */ + public function testFailsIfNotOnGceAndNoDefaultFileFound() + { + putenv('HOME=' . __DIR__ . '/not_exist_fixtures'); + + // simulate not being GCE by return 500 + $httpHandler = getHandler([ + buildResponse(500), + ]); + + ApplicationDefaultCredentials::getMiddleware('a scope', $httpHandler); + } + + public function testSuccedsIfNoDefaultFilesButIsOnGCE() + { + $wantedTokens = [ + 'access_token' => '1/abdef1234567890', + 'expires_in' => '57', + 'token_type' => 'Bearer', + ]; + $jsonTokens = json_encode($wantedTokens); + + // simulate the response from GCE. + $httpHandler = getHandler([ + buildResponse(200, [GCECredentials::FLAVOR_HEADER => 'Google']), + buildResponse(200, [], Psr7\stream_for($jsonTokens)), + ]); + + $this->assertNotNull(ApplicationDefaultCredentials::getMiddleware('a scope', $httpHandler)); + } +} + +class ADCGetCredentialsAppEngineTest extends BaseTest +{ + private $originalHome; + private $originalServiceAccount; + + protected function setUp() + { + // set home to be somewhere else + $this->originalHome = getenv('HOME'); + putenv('HOME=' . __DIR__ . '/not_exist_fixtures'); + + // remove service account path + $this->originalServiceAccount = getenv(ServiceAccountCredentials::ENV_VAR); + putenv(ServiceAccountCredentials::ENV_VAR); + } + + protected function tearDown() + { + // removes it if assigned + putenv('HOME=' . $this->originalHome); + putenv(ServiceAccountCredentials::ENV_VAR . '=' . $this->originalServiceAccount); + } + + public function testAppEngineStandard() + { + $_SERVER['SERVER_SOFTWARE'] = 'Google App Engine'; + $this->assertInstanceOf( + 'Google\Auth\Credentials\AppIdentityCredentials', + ApplicationDefaultCredentials::getCredentials() + ); + } + + public function testAppEngineFlexible() + { + $_SERVER['SERVER_SOFTWARE'] = 'Google App Engine'; + $_SERVER['GAE_VM'] = 'true'; + $httpHandler = getHandler([ + buildResponse(200, [GCECredentials::FLAVOR_HEADER => 'Google']), + ]); + $this->assertInstanceOf( + 'Google\Auth\Credentials\GCECredentials', + ApplicationDefaultCredentials::getCredentials(null, $httpHandler) + ); + } +} + +// @todo consider a way to DRY this and above class up +class ADCGetSubscriberTest extends BaseTest +{ + private $originalHome; + + protected function setUp() + { + $this->onlyGuzzle5(); + + $this->originalHome = getenv('HOME'); + } + + protected function tearDown() + { + if ($this->originalHome != getenv('HOME')) { + putenv('HOME=' . $this->originalHome); + } + putenv(ServiceAccountCredentials::ENV_VAR); // removes it if assigned + } + + /** + * @expectedException DomainException + */ + public function testIsFailsEnvSpecifiesNonExistentFile() + { + $keyFile = __DIR__ . '/fixtures' . '/does-not-exist-private.json'; + putenv(ServiceAccountCredentials::ENV_VAR . '=' . $keyFile); + ApplicationDefaultCredentials::getSubscriber('a scope'); + } + + public function testLoadsOKIfEnvSpecifiedIsValid() + { + $keyFile = __DIR__ . '/fixtures' . '/private.json'; + putenv(ServiceAccountCredentials::ENV_VAR . '=' . $keyFile); + $this->assertNotNull(ApplicationDefaultCredentials::getSubscriber('a scope')); + } + + public function testLoadsDefaultFileIfPresentAndEnvVarIsNotSet() + { + putenv('HOME=' . __DIR__ . '/fixtures'); + $this->assertNotNull(ApplicationDefaultCredentials::getSubscriber('a scope')); + } + + /** + * @expectedException DomainException + */ + public function testFailsIfNotOnGceAndNoDefaultFileFound() + { + putenv('HOME=' . __DIR__ . '/not_exist_fixtures'); + + // simulate not being GCE by return 500 + $httpHandler = getHandler([ + buildResponse(500), + ]); + + ApplicationDefaultCredentials::getSubscriber('a scope', $httpHandler); + } + + public function testSuccedsIfNoDefaultFilesButIsOnGCE() + { + $wantedTokens = [ + 'access_token' => '1/abdef1234567890', + 'expires_in' => '57', + 'token_type' => 'Bearer', + ]; + $jsonTokens = json_encode($wantedTokens); + + // simulate the response from GCE. + $httpHandler = getHandler([ + buildResponse(200, [GCECredentials::FLAVOR_HEADER => 'Google']), + buildResponse(200, [], Psr7\stream_for($jsonTokens)), + ]); + + $this->assertNotNull(ApplicationDefaultCredentials::getSubscriber('a scope', $httpHandler)); + } +} diff --git a/vendor/google/auth/tests/BaseTest.php b/vendor/google/auth/tests/BaseTest.php new file mode 100644 index 00000000..b005e341 --- /dev/null +++ b/vendor/google/auth/tests/BaseTest.php @@ -0,0 +1,32 @@ +markTestSkipped('Guzzle 6 only'); + } + } + + public function onlyGuzzle5() + { + $version = ClientInterface::VERSION; + if ('5' !== $version[0]) { + $this->markTestSkipped('Guzzle 5 only'); + } + } + + /** + * @see Google\Auth\$this->getValidKeyName + */ + public function getValidKeyName($key) + { + return preg_replace('|[^a-zA-Z0-9_\.! ]|', '', $key); + } +} diff --git a/vendor/google/auth/tests/Cache/ItemTest.php b/vendor/google/auth/tests/Cache/ItemTest.php new file mode 100644 index 00000000..2d00f36c --- /dev/null +++ b/vendor/google/auth/tests/Cache/ItemTest.php @@ -0,0 +1,125 @@ +assertEquals($key, $this->getItem($key)->getKey()); + } + + public function testGetsNull() + { + $item = $this->getItem('item'); + + $this->assertNull($item->get()); + $this->assertFalse($item->isHit()); + } + + public function testGetsValue() + { + $value = 'value'; + $item = $this->getItem('item'); + $item->set($value); + + $this->assertEquals('value', $item->get()); + } + + /** + * @dataProvider values + */ + public function testSetsValue($value) + { + $item = $this->getItem('item'); + $item->set($value); + + $this->assertEquals($value, $item->get()); + } + + public function values() + { + return [ + [1], + [1.5], + [true], + [null], + [new \DateTime()], + [['test']], + ['value'] + ]; + } + + public function testIsHit() + { + $item = $this->getItem('item'); + + $this->assertFalse($item->isHit()); + + $item->set('value'); + + $this->assertTrue($item->isHit()); + } + + public function testExpiresAt() + { + $item = $this->getItem('item'); + $item->set('value'); + $item->expiresAt(new \DateTime('now + 1 hour')); + + $this->assertTrue($item->isHit()); + + $item->expiresAt(null); + + $this->assertTrue($item->isHit()); + + $item->expiresAt(new \DateTime('yesterday')); + + $this->assertFalse($item->isHit()); + } + + public function testExpiresAfter() + { + $item = $this->getItem('item'); + $item->set('value'); + $item->expiresAfter(30); + + $this->assertTrue($item->isHit()); + + $item->expiresAfter(0); + + $this->assertFalse($item->isHit()); + + $item->expiresAfter(new \DateInterval('PT30S')); + + $this->assertTrue($item->isHit()); + + $item->expiresAfter(null); + + $this->assertTrue($item->isHit()); + } +} diff --git a/vendor/google/auth/tests/Cache/MemoryCacheItemPoolTest.php b/vendor/google/auth/tests/Cache/MemoryCacheItemPoolTest.php new file mode 100644 index 00000000..950d614a --- /dev/null +++ b/vendor/google/auth/tests/Cache/MemoryCacheItemPoolTest.php @@ -0,0 +1,189 @@ +pool = new MemoryCacheItemPool(); + } + + public function saveItem($key, $value) + { + $item = $this->pool->getItem($key); + $item->set($value); + $this->assertTrue($this->pool->save($item)); + + return $item; + } + + public function testGetsFreshItem() + { + $item = $this->pool->getItem('item'); + + $this->assertInstanceOf('Google\Auth\Cache\Item', $item); + $this->assertNull($item->get()); + $this->assertFalse($item->isHit()); + } + + public function testGetsExistingItem() + { + $key = 'item'; + $value = 'value'; + $this->saveItem($key, $value); + $item = $this->pool->getItem($key); + + $this->assertInstanceOf('Google\Auth\Cache\Item', $item); + $this->assertEquals($value, $item->get()); + $this->assertTrue($item->isHit()); + } + + public function testGetsMultipleItems() + { + $keys = ['item1', 'item2']; + $items = $this->pool->getItems($keys); + + $this->assertEquals($keys, array_keys($items)); + $this->assertContainsOnlyInstancesOf('Google\Auth\Cache\Item', $items); + } + + public function testHasItem() + { + $existsKey = 'does-exist'; + $this->saveItem($existsKey, 'value'); + + $this->assertTrue($this->pool->hasItem($existsKey)); + $this->assertFalse($this->pool->hasItem('does-not-exist')); + } + + public function testClear() + { + $key = 'item'; + $this->saveItem($key, 'value'); + + $this->assertTrue($this->pool->hasItem($key)); + $this->assertTrue($this->pool->clear()); + $this->assertFalse($this->pool->hasItem($key)); + } + + public function testDeletesItem() + { + $key = 'item'; + $this->saveItem($key, 'value'); + + $this->assertTrue($this->pool->deleteItem($key)); + $this->assertFalse($this->pool->hasItem($key)); + } + + public function testDeletesItems() + { + $keys = ['item1', 'item2']; + + foreach ($keys as $key) { + $this->saveItem($key, 'value'); + } + + $this->assertTrue($this->pool->deleteItems($keys)); + $this->assertFalse($this->pool->hasItem($keys[0])); + $this->assertFalse($this->pool->hasItem($keys[1])); + } + + public function testDoesNotDeleteItemsWithInvalidKey() + { + $keys = ['item1', '{item2}', 'item3']; + $value = 'value'; + $this->saveItem($keys[0], $value); + $this->saveItem($keys[2], $value); + + try { + $this->pool->deleteItems($keys); + } catch (InvalidArgumentException $ex) { + // continue execution + } + + $this->assertTrue($this->pool->hasItem($keys[0])); + $this->assertTrue($this->pool->hasItem($keys[2])); + } + + public function testSavesItem() + { + $key = 'item'; + $this->saveItem($key, 'value'); + + $this->assertTrue($this->pool->hasItem($key)); + } + + public function testSavesDeferredItem() + { + $item = $this->pool->getItem('item'); + $this->assertTrue($this->pool->saveDeferred($item)); + } + + public function testCommitsDeferredItems() + { + $keys = ['item1', 'item2']; + + foreach ($keys as $key) { + $item = $this->pool->getItem($key); + $item->set('value'); + $this->pool->saveDeferred($item); + } + + $this->assertTrue($this->pool->commit()); + $this->assertTrue($this->pool->hasItem($keys[0])); + $this->assertTrue($this->pool->hasItem($keys[1])); + } + + /** + * @expectedException \Psr\Cache\InvalidArgumentException + * @dataProvider invalidKeys + */ + public function testCheckInvalidKeys($key) + { + $this->pool->getItem($key); + $this->pool->getItems([$key]); + $this->pool->hasItem($key); + $this->pool->deleteItem($key); + $this->pool->deleteItems([$key]); + } + + public function invalidKeys() + { + return [ + [1], + [true], + [null], + [new \DateTime()], + ['{'], + ['}'], + ['('], + [')'], + ['/'], + ['\\'], + ['@'], + [':'], + [[]] + ]; + } +} diff --git a/vendor/google/auth/tests/CacheTraitTest.php b/vendor/google/auth/tests/CacheTraitTest.php new file mode 100644 index 00000000..6946cdbe --- /dev/null +++ b/vendor/google/auth/tests/CacheTraitTest.php @@ -0,0 +1,151 @@ +mockFetcher = + $this + ->getMockBuilder('Google\Auth\FetchAuthTokenInterface') + ->getMock(); + $this->mockCacheItem = + $this + ->getMockBuilder('Psr\Cache\CacheItemInterface') + ->getMock(); + $this->mockCache = + $this + ->getMockBuilder('Psr\Cache\CacheItemPoolInterface') + ->getMock(); + } + + public function testSuccessfullyPullsFromCache() + { + $expectedValue = '1234'; + $this->mockCacheItem + ->expects($this->once()) + ->method('get') + ->will($this->returnValue($expectedValue)); + $this->mockCache + ->expects($this->once()) + ->method('getItem') + ->will($this->returnValue($this->mockCacheItem)); + + $implementation = new CacheTraitImplementation([ + 'cache' => $this->mockCache, + ]); + + $cachedValue = $implementation->gCachedValue(); + $this->assertEquals($expectedValue, $cachedValue); + } + + public function testFailsPullFromCacheWithNoCache() + { + $implementation = new CacheTraitImplementation(); + + $cachedValue = $implementation->gCachedValue(); + $this->assertEquals(null, $cachedValue); + } + + public function testFailsPullFromCacheWithoutKey() + { + $implementation = new CacheTraitImplementation([ + 'cache' => $this->mockCache, + 'key' => null, + ]); + + $cachedValue = $implementation->gCachedValue(); + } + + public function testSuccessfullySetsToCache() + { + $value = '1234'; + $this->mockCacheItem + ->expects($this->once()) + ->method('set') + ->with($value); + $this->mockCache + ->expects($this->once()) + ->method('getItem') + ->with($this->equalTo('key')) + ->will($this->returnValue($this->mockCacheItem)); + + $implementation = new CacheTraitImplementation([ + 'cache' => $this->mockCache, + ]); + + $implementation->sCachedValue($value); + } + + public function testFailsSetToCacheWithNoCache() + { + $implementation = new CacheTraitImplementation(); + + $implementation->sCachedValue('1234'); + + $cachedValue = $implementation->sCachedValue('1234'); + $this->assertNull($cachedValue); + } + + public function testFailsSetToCacheWithoutKey() + { + $implementation = new CacheTraitImplementation([ + 'cache' => $this->mockCache, + 'key' => null, + ]); + + $cachedValue = $implementation->sCachedValue('1234'); + $this->assertNull($cachedValue); + } +} + +class CacheTraitImplementation +{ + use CacheTrait; + + private $cache; + private $cacheConfig; + + public function __construct(array $config = []) + { + $this->key = array_key_exists('key', $config) ? $config['key'] : 'key'; + $this->cache = isset($config['cache']) ? $config['cache'] : null; + $this->cacheConfig = [ + 'prefix' => '', + 'lifetime' => 1000, + ]; + } + + // allows us to keep trait methods private + public function gCachedValue() + { + return $this->getCachedValue($this->key); + } + + public function sCachedValue($v) + { + $this->setCachedValue($this->key, $v); + } +} diff --git a/vendor/google/auth/tests/Credentials/AppIndentityCredentialsTest.php b/vendor/google/auth/tests/Credentials/AppIndentityCredentialsTest.php new file mode 100644 index 00000000..a47db8d3 --- /dev/null +++ b/vendor/google/auth/tests/Credentials/AppIndentityCredentialsTest.php @@ -0,0 +1,104 @@ +assertFalse(AppIdentityCredentials::onAppEngine()); + } + + public function testIsTrueWhenServerSoftwareIsGoogleAppEngine() + { + $_SERVER['SERVER_SOFTWARE'] = 'Google App Engine'; + $this->assertTrue(AppIdentityCredentials::onAppEngine()); + } +} + +class AppIdentityCredentialsGetCacheKeyTest extends \PHPUnit_Framework_TestCase +{ + public function testShouldBeEmpty() + { + $g = new AppIdentityCredentials(); + $this->assertEmpty($g->getCacheKey()); + } +} + +class AppIdentityCredentialsFetchAuthTokenTest extends \PHPUnit_Framework_TestCase +{ + public function testShouldBeEmptyIfNotOnAppEngine() + { + $g = new AppIdentityCredentials(); + $this->assertEquals(array(), $g->fetchAuthToken()); + } + + /* @expectedException */ + public function testThrowsExceptionIfClassDoesntExist() + { + $_SERVER['SERVER_SOFTWARE'] = 'Google App Engine'; + $g = new AppIdentityCredentials(); + } + + public function testReturnsExpectedToken() + { + // include the mock AppIdentityService class + require_once __DIR__ . '/../mocks/AppIdentityService.php'; + + $wantedToken = [ + 'access_token' => '1/abdef1234567890', + 'expires_in' => '57', + 'token_type' => 'Bearer', + ]; + + AppIdentityService::$accessToken = $wantedToken; + + $_SERVER['SERVER_SOFTWARE'] = 'Google App Engine'; + + $g = new AppIdentityCredentials(); + $this->assertEquals($wantedToken, $g->fetchAuthToken()); + } + + public function testScopeIsAlwaysArray() + { + // include the mock AppIdentityService class + require_once __DIR__ . '/../mocks/AppIdentityService.php'; + + $scope1 = ['scopeA', 'scopeB']; + $scope2 = 'scopeA scopeB'; + $scope3 = 'scopeA'; + + $_SERVER['SERVER_SOFTWARE'] = 'Google App Engine'; + + $g = new AppIdentityCredentials($scope1); + $g->fetchAuthToken(); + $this->assertEquals($scope1, AppIdentityService::$scope); + + $g = new AppIdentityCredentials($scope2); + $g->fetchAuthToken(); + $this->assertEquals(explode(' ', $scope2), AppIdentityService::$scope); + + $g = new AppIdentityCredentials($scope3); + $g->fetchAuthToken(); + $this->assertEquals([$scope3], AppIdentityService::$scope); + } +} diff --git a/vendor/google/auth/tests/Credentials/GCECredentialsTest.php b/vendor/google/auth/tests/Credentials/GCECredentialsTest.php new file mode 100644 index 00000000..fe2bb25a --- /dev/null +++ b/vendor/google/auth/tests/Credentials/GCECredentialsTest.php @@ -0,0 +1,124 @@ +assertFalse(GCECredentials::onGCE($httpHandler)); + } + + public function testIsFalseOnServerErrorStatus() + { + $httpHandler = getHandler([ + buildResponse(500), + ]); + $this->assertFalse(GCECredentials::onGCE($httpHandler)); + } + + public function testIsFalseOnOkStatusWithoutExpectedHeader() + { + $httpHandler = getHandler([ + buildResponse(200), + ]); + $this->assertFalse(GCECredentials::onGCE($httpHandler)); + } + + public function testIsOkIfGoogleIsTheFlavor() + { + $httpHandler = getHandler([ + buildResponse(200, [GCECredentials::FLAVOR_HEADER => 'Google']), + ]); + $this->assertTrue(GCECredentials::onGCE($httpHandler)); + } +} + +class GCECredentialsOnAppEngineFlexibleTest extends \PHPUnit_Framework_TestCase +{ + public function testIsFalseByDefault() + { + $this->assertFalse(GCECredentials::onAppEngineFlexible()); + } + + public function testIsTrueWhenGaeVmIsTrue() + { + $_SERVER['GAE_VM'] = 'true'; + $this->assertTrue(GCECredentials::onAppEngineFlexible()); + } +} + +class GCECredentialsGetCacheKeyTest extends \PHPUnit_Framework_TestCase +{ + public function testShouldNotBeEmpty() + { + $g = new GCECredentials(); + $this->assertNotEmpty($g->getCacheKey()); + } +} + +class GCECredentialsFetchAuthTokenTest extends \PHPUnit_Framework_TestCase +{ + public function testShouldBeEmptyIfNotOnGCE() + { + $httpHandler = getHandler([ + buildResponse(500), + ]); + $g = new GCECredentials(); + $this->assertEquals(array(), $g->fetchAuthToken($httpHandler)); + } + + /** + * @expectedException Exception + * @expectedExceptionMessage Invalid JSON response + */ + public function testShouldFailIfResponseIsNotJson() + { + $notJson = '{"foo": , this is cannot be passed as json" "bar"}'; + $httpHandler = getHandler([ + buildResponse(200, [GCECredentials::FLAVOR_HEADER => 'Google']), + buildResponse(200, [], $notJson), + ]); + $g = new GCECredentials(); + $g->fetchAuthToken($httpHandler); + } + + public function testShouldReturnTokenInfo() + { + $wantedTokens = [ + 'access_token' => '1/abdef1234567890', + 'expires_in' => '57', + 'token_type' => 'Bearer', + ]; + $jsonTokens = json_encode($wantedTokens); + $httpHandler = getHandler([ + buildResponse(200, [GCECredentials::FLAVOR_HEADER => 'Google']), + buildResponse(200, [], Psr7\stream_for($jsonTokens)), + ]); + $g = new GCECredentials(); + $this->assertEquals($wantedTokens, $g->fetchAuthToken($httpHandler)); + $this->assertEquals(time() + 57, $g->getLastReceivedToken()['expires_at']); + } +} diff --git a/vendor/google/auth/tests/Credentials/IAMCredentialsTest.php b/vendor/google/auth/tests/Credentials/IAMCredentialsTest.php new file mode 100644 index 00000000..fc9c8650 --- /dev/null +++ b/vendor/google/auth/tests/Credentials/IAMCredentialsTest.php @@ -0,0 +1,83 @@ +assertNotNull( + new IAMCredentials('iam-selector', 'iam-token') + ); + } +} + +class IAMUpdateMetadataCallbackTest extends \PHPUnit_Framework_TestCase +{ + public function testUpdateMetadataFunc() + { + $selector = 'iam-selector'; + $token = 'iam-token'; + $iam = new IAMCredentials( + $selector, + $token + ); + + $update_metadata = $iam->getUpdateMetadataFunc(); + $this->assertTrue(is_callable($update_metadata)); + + $actual_metadata = call_user_func($update_metadata, + $metadata = array('foo' => 'bar')); + $this->assertTrue( + isset($actual_metadata[IAMCredentials::SELECTOR_KEY])); + $this->assertEquals( + $actual_metadata[IAMCredentials::SELECTOR_KEY], + $selector); + $this->assertTrue( + isset($actual_metadata[IAMCredentials::TOKEN_KEY])); + $this->assertEquals( + $actual_metadata[IAMCredentials::TOKEN_KEY], + $token); + } +} diff --git a/vendor/google/auth/tests/Credentials/ServiceAccountCredentialsTest.php b/vendor/google/auth/tests/Credentials/ServiceAccountCredentialsTest.php new file mode 100644 index 00000000..d7066dac --- /dev/null +++ b/vendor/google/auth/tests/Credentials/ServiceAccountCredentialsTest.php @@ -0,0 +1,508 @@ + 'key123', + 'private_key' => 'privatekey', + 'client_email' => 'test@example.com', + 'client_id' => 'client123', + 'type' => 'service_account', + ]; +} + +class SACGetCacheKeyTest extends \PHPUnit_Framework_TestCase +{ + public function testShouldBeTheSameAsOAuth2WithTheSameScope() + { + $testJson = createTestJson(); + $scope = ['scope/1', 'scope/2']; + $sa = new ServiceAccountCredentials( + $scope, + $testJson); + $o = new OAuth2(['scope' => $scope]); + $this->assertSame( + $testJson['client_email'] . ':' . $o->getCacheKey(), + $sa->getCacheKey() + ); + } + + public function testShouldBeTheSameAsOAuth2WithTheSameScopeWithSub() + { + $testJson = createTestJson(); + $scope = ['scope/1', 'scope/2']; + $sub = 'sub123'; + $sa = new ServiceAccountCredentials( + $scope, + $testJson, + $sub); + $o = new OAuth2(['scope' => $scope]); + $this->assertSame( + $testJson['client_email'] . ':' . $o->getCacheKey() . ':' . $sub, + $sa->getCacheKey() + ); + } + + public function testShouldBeTheSameAsOAuth2WithTheSameScopeWithSubAddedLater() + { + $testJson = createTestJson(); + $scope = ['scope/1', 'scope/2']; + $sub = 'sub123'; + $sa = new ServiceAccountCredentials( + $scope, + $testJson, + null); + $sa->setSub($sub); + + $o = new OAuth2(['scope' => $scope]); + $this->assertSame( + $testJson['client_email'] . ':' . $o->getCacheKey() . ':' . $sub, + $sa->getCacheKey() + ); + } +} + +class SACConstructorTest extends \PHPUnit_Framework_TestCase +{ + /** + * @expectedException InvalidArgumentException + */ + public function testShouldFailIfScopeIsNotAValidType() + { + $testJson = createTestJson(); + $notAnArrayOrString = new \stdClass(); + $sa = new ServiceAccountCredentials( + $notAnArrayOrString, + $testJson + ); + } + + /** + * @expectedException InvalidArgumentException + */ + public function testShouldFailIfJsonDoesNotHaveClientEmail() + { + $testJson = createTestJson(); + unset($testJson['client_email']); + $scope = ['scope/1', 'scope/2']; + $sa = new ServiceAccountCredentials( + $scope, + $testJson + ); + } + + /** + * @expectedException InvalidArgumentException + */ + public function testShouldFailIfJsonDoesNotHavePrivateKey() + { + $testJson = createTestJson(); + unset($testJson['private_key']); + $scope = ['scope/1', 'scope/2']; + $sa = new ServiceAccountCredentials( + $scope, + $testJson + ); + } + + /** + * @expectedException InvalidArgumentException + */ + public function testFailsToInitalizeFromANonExistentFile() + { + $keyFile = __DIR__ . '/../fixtures' . '/does-not-exist-private.json'; + new ServiceAccountCredentials('scope/1', $keyFile); + } + + public function testInitalizeFromAFile() + { + $keyFile = __DIR__ . '/../fixtures' . '/private.json'; + $this->assertNotNull( + new ServiceAccountCredentials('scope/1', $keyFile) + ); + } +} + +class SACFromEnvTest extends \PHPUnit_Framework_TestCase +{ + protected function tearDown() + { + putenv(ServiceAccountCredentials::ENV_VAR); // removes it from + } + + public function testIsNullIfEnvVarIsNotSet() + { + $this->assertNull(ServiceAccountCredentials::fromEnv()); + } + + /** + * @expectedException DomainException + */ + public function testFailsIfEnvSpecifiesNonExistentFile() + { + $keyFile = __DIR__ . '/../fixtures' . '/does-not-exist-private.json'; + putenv(ServiceAccountCredentials::ENV_VAR . '=' . $keyFile); + ApplicationDefaultCredentials::getCredentials('a scope'); + } + + public function testSucceedIfFileExists() + { + $keyFile = __DIR__ . '/../fixtures' . '/private.json'; + putenv(ServiceAccountCredentials::ENV_VAR . '=' . $keyFile); + $this->assertNotNull(ApplicationDefaultCredentials::getCredentials('a scope')); + } +} + +class SACFromWellKnownFileTest extends \PHPUnit_Framework_TestCase +{ + private $originalHome; + + protected function setUp() + { + $this->originalHome = getenv('HOME'); + } + + protected function tearDown() + { + if ($this->originalHome != getenv('HOME')) { + putenv('HOME=' . $this->originalHome); + } + } + + public function testIsNullIfFileDoesNotExist() + { + putenv('HOME=' . __DIR__ . '/../not_exists_fixtures'); + $this->assertNull( + ServiceAccountCredentials::fromWellKnownFile() + ); + } + + public function testSucceedIfFileIsPresent() + { + putenv('HOME=' . __DIR__ . '/../fixtures'); + $this->assertNotNull( + ApplicationDefaultCredentials::getCredentials('a scope') + ); + } +} + +class SACFetchAuthTokenTest extends \PHPUnit_Framework_TestCase +{ + private $privateKey; + + public function setUp() + { + $this->privateKey = + file_get_contents(__DIR__ . '/../fixtures' . '/private.pem'); + } + + private function createTestJson() + { + $testJson = createTestJson(); + $testJson['private_key'] = $this->privateKey; + + return $testJson; + } + + /** + * @expectedException GuzzleHttp\Exception\ClientException + */ + public function testFailsOnClientErrors() + { + $testJson = $this->createTestJson(); + $scope = ['scope/1', 'scope/2']; + $httpHandler = getHandler([ + buildResponse(400), + ]); + $sa = new ServiceAccountCredentials( + $scope, + $testJson + ); + $sa->fetchAuthToken($httpHandler); + } + + /** + * @expectedException GuzzleHttp\Exception\ServerException + */ + public function testFailsOnServerErrors() + { + $testJson = $this->createTestJson(); + $scope = ['scope/1', 'scope/2']; + $httpHandler = getHandler([ + buildResponse(500), + ]); + $sa = new ServiceAccountCredentials( + $scope, + $testJson + ); + $sa->fetchAuthToken($httpHandler); + } + + public function testCanFetchCredsOK() + { + $testJson = $this->createTestJson(); + $testJsonText = json_encode($testJson); + $scope = ['scope/1', 'scope/2']; + $httpHandler = getHandler([ + buildResponse(200, [], Psr7\stream_for($testJsonText)), + ]); + $sa = new ServiceAccountCredentials( + $scope, + $testJson + ); + $tokens = $sa->fetchAuthToken($httpHandler); + $this->assertEquals($testJson, $tokens); + } + + public function testUpdateMetadataFunc() + { + $testJson = $this->createTestJson(); + $scope = ['scope/1', 'scope/2']; + $access_token = 'accessToken123'; + $responseText = json_encode(array('access_token' => $access_token)); + $httpHandler = getHandler([ + buildResponse(200, [], Psr7\stream_for($responseText)), + ]); + $sa = new ServiceAccountCredentials( + $scope, + $testJson + ); + $update_metadata = $sa->getUpdateMetadataFunc(); + $this->assertTrue(is_callable($update_metadata)); + + $actual_metadata = call_user_func($update_metadata, + $metadata = array('foo' => 'bar'), + $authUri = null, + $httpHandler); + $this->assertTrue( + isset($actual_metadata[CredentialsLoader::AUTH_METADATA_KEY])); + $this->assertEquals( + $actual_metadata[CredentialsLoader::AUTH_METADATA_KEY], + array('Bearer ' . $access_token)); + } +} + +class SACJwtAccessTest extends \PHPUnit_Framework_TestCase +{ + private $privateKey; + + public function setUp() + { + $this->privateKey = + file_get_contents(__DIR__ . '/../fixtures' . '/private.pem'); + } + + private function createTestJson() + { + $testJson = createTestJson(); + $testJson['private_key'] = $this->privateKey; + + return $testJson; + } + + /** + * @expectedException InvalidArgumentException + */ + public function testFailsOnMissingClientEmail() + { + $testJson = $this->createTestJson(); + unset($testJson['client_email']); + $sa = new ServiceAccountJwtAccessCredentials( + $testJson + ); + } + + /** + * @expectedException InvalidArgumentException + */ + public function testFailsOnMissingPrivateKey() + { + $testJson = $this->createTestJson(); + unset($testJson['private_key']); + $sa = new ServiceAccountJwtAccessCredentials( + $testJson + ); + } + + public function testCanInitializeFromJson() + { + $testJson = $this->createTestJson(); + $sa = new ServiceAccountJwtAccessCredentials( + $testJson + ); + $this->assertNotNull($sa); + } + + public function testNoOpOnFetchAuthToken() + { + $testJson = $this->createTestJson(); + $sa = new ServiceAccountJwtAccessCredentials( + $testJson + ); + $this->assertNotNull($sa); + + $httpHandler = getHandler([ + buildResponse(200), + ]); + $result = $sa->fetchAuthToken($httpHandler); // authUri has not been set + $this->assertNull($result); + } + + public function testAuthUriIsNotSet() + { + $testJson = $this->createTestJson(); + $sa = new ServiceAccountJwtAccessCredentials( + $testJson + ); + $this->assertNotNull($sa); + + $update_metadata = $sa->getUpdateMetadataFunc(); + $this->assertTrue(is_callable($update_metadata)); + + $actual_metadata = call_user_func($update_metadata, + $metadata = array('foo' => 'bar'), + $authUri = null); + $this->assertTrue( + !isset($actual_metadata[CredentialsLoader::AUTH_METADATA_KEY])); + } + + public function testUpdateMetadataFunc() + { + $testJson = $this->createTestJson(); + $sa = new ServiceAccountJwtAccessCredentials( + $testJson + ); + $this->assertNotNull($sa); + + $update_metadata = $sa->getUpdateMetadataFunc(); + $this->assertTrue(is_callable($update_metadata)); + + $actual_metadata = call_user_func($update_metadata, + $metadata = array('foo' => 'bar'), + $authUri = 'https://example.com/service'); + $this->assertTrue( + isset($actual_metadata[CredentialsLoader::AUTH_METADATA_KEY])); + + $authorization = $actual_metadata[CredentialsLoader::AUTH_METADATA_KEY]; + $this->assertTrue(is_array($authorization)); + + $bearer_token = current($authorization); + $this->assertTrue(is_string($bearer_token)); + $this->assertTrue(strpos($bearer_token, 'Bearer ') == 0); + $this->assertTrue(strlen($bearer_token) > 30); + + $actual_metadata2 = call_user_func($update_metadata, + $metadata = array('foo' => 'bar'), + $authUri = 'https://example.com/anotherService'); + $this->assertTrue( + isset($actual_metadata2[CredentialsLoader::AUTH_METADATA_KEY])); + + $authorization2 = $actual_metadata2[CredentialsLoader::AUTH_METADATA_KEY]; + $this->assertTrue(is_array($authorization2)); + + $bearer_token2 = current($authorization2); + $this->assertTrue(is_string($bearer_token2)); + $this->assertTrue(strpos($bearer_token2, 'Bearer ') == 0); + $this->assertTrue(strlen($bearer_token2) > 30); + $this->assertTrue($bearer_token != $bearer_token2); + } +} + +class SACJwtAccessComboTest extends \PHPUnit_Framework_TestCase +{ + private $privateKey; + + public function setUp() + { + $this->privateKey = + file_get_contents(__DIR__ . '/../fixtures' . '/private.pem'); + } + + private function createTestJson() + { + $testJson = createTestJson(); + $testJson['private_key'] = $this->privateKey; + + return $testJson; + } + + public function testNoScopeUseJwtAccess() + { + $testJson = $this->createTestJson(); + // no scope, jwt access should be used, no outbound + // call should be made + $scope = null; + $sa = new ServiceAccountCredentials( + $scope, + $testJson + ); + $this->assertNotNull($sa); + + $update_metadata = $sa->getUpdateMetadataFunc(); + $this->assertTrue(is_callable($update_metadata)); + + $actual_metadata = call_user_func($update_metadata, + $metadata = array('foo' => 'bar'), + $authUri = 'https://example.com/service'); + $this->assertTrue( + isset($actual_metadata[CredentialsLoader::AUTH_METADATA_KEY])); + + $authorization = $actual_metadata[CredentialsLoader::AUTH_METADATA_KEY]; + $this->assertTrue(is_array($authorization)); + + $bearer_token = current($authorization); + $this->assertTrue(is_string($bearer_token)); + $this->assertTrue(strpos($bearer_token, 'Bearer ') == 0); + $this->assertTrue(strlen($bearer_token) > 30); + } + + public function testNoScopeAndNoAuthUri() + { + $testJson = $this->createTestJson(); + // no scope, jwt access should be used, no outbound + // call should be made + $scope = null; + $sa = new ServiceAccountCredentials( + $scope, + $testJson + ); + $this->assertNotNull($sa); + + $update_metadata = $sa->getUpdateMetadataFunc(); + $this->assertTrue(is_callable($update_metadata)); + + $actual_metadata = call_user_func($update_metadata, + $metadata = array('foo' => 'bar'), + $authUri = null); + // no access_token is added to the metadata hash + // but also, no error should be thrown + $this->assertTrue(is_array($actual_metadata)); + $this->assertTrue( + !isset($actual_metadata[CredentialsLoader::AUTH_METADATA_KEY])); + } +} diff --git a/vendor/google/auth/tests/Credentials/UserRefreshCredentialsTest.php b/vendor/google/auth/tests/Credentials/UserRefreshCredentialsTest.php new file mode 100644 index 00000000..accf448d --- /dev/null +++ b/vendor/google/auth/tests/Credentials/UserRefreshCredentialsTest.php @@ -0,0 +1,228 @@ + 'client123', + 'client_secret' => 'clientSecret123', + 'refresh_token' => 'refreshToken123', + 'type' => 'authorized_user', + ]; +} + +class URCGetCacheKeyTest extends \PHPUnit_Framework_TestCase +{ + public function testShouldBeTheSameAsOAuth2WithTheSameScope() + { + $testJson = createURCTestJson(); + $scope = ['scope/1', 'scope/2']; + $sa = new UserRefreshCredentials( + $scope, + $testJson); + $o = new OAuth2(['scope' => $scope]); + $this->assertSame( + $testJson['client_id'] . ':' . $o->getCacheKey(), + $sa->getCacheKey() + ); + } +} + +class URCConstructorTest extends \PHPUnit_Framework_TestCase +{ + /** + * @expectedException InvalidArgumentException + */ + public function testShouldFailIfScopeIsNotAValidType() + { + $testJson = createURCTestJson(); + $notAnArrayOrString = new \stdClass(); + $sa = new UserRefreshCredentials( + $notAnArrayOrString, + $testJson + ); + } + + /** + * @expectedException InvalidArgumentException + */ + public function testShouldFailIfJsonDoesNotHaveClientSecret() + { + $testJson = createURCTestJson(); + unset($testJson['client_secret']); + $scope = ['scope/1', 'scope/2']; + $sa = new UserRefreshCredentials( + $scope, + $testJson + ); + } + + /** + * @expectedException InvalidArgumentException + */ + public function testShouldFailIfJsonDoesNotHaveRefreshToken() + { + $testJson = createURCTestJson(); + unset($testJson['refresh_token']); + $scope = ['scope/1', 'scope/2']; + $sa = new UserRefreshCredentials( + $scope, + $testJson + ); + } + + /** + * @expectedException InvalidArgumentException + */ + public function testFailsToInitalizeFromANonExistentFile() + { + $keyFile = __DIR__ . '/../fixtures' . '/does-not-exist-private.json'; + new UserRefreshCredentials('scope/1', $keyFile); + } + + public function testInitalizeFromAFile() + { + $keyFile = __DIR__ . '/../fixtures2' . '/private.json'; + $this->assertNotNull( + new UserRefreshCredentials('scope/1', $keyFile) + ); + } +} + +class URCFromEnvTest extends \PHPUnit_Framework_TestCase +{ + protected function tearDown() + { + putenv(UserRefreshCredentials::ENV_VAR); // removes it from + } + + public function testIsNullIfEnvVarIsNotSet() + { + $this->assertNull(UserRefreshCredentials::fromEnv('a scope')); + } + + /** + * @expectedException DomainException + */ + public function testFailsIfEnvSpecifiesNonExistentFile() + { + $keyFile = __DIR__ . '/../fixtures' . '/does-not-exist-private.json'; + putenv(UserRefreshCredentials::ENV_VAR . '=' . $keyFile); + UserRefreshCredentials::fromEnv('a scope'); + } + + public function testSucceedIfFileExists() + { + $keyFile = __DIR__ . '/../fixtures2' . '/private.json'; + putenv(UserRefreshCredentials::ENV_VAR . '=' . $keyFile); + $this->assertNotNull(ApplicationDefaultCredentials::getCredentials('a scope')); + } +} + +class URCFromWellKnownFileTest extends \PHPUnit_Framework_TestCase +{ + private $originalHome; + + protected function setUp() + { + $this->originalHome = getenv('HOME'); + } + + protected function tearDown() + { + if ($this->originalHome != getenv('HOME')) { + putenv('HOME=' . $this->originalHome); + } + } + + public function testIsNullIfFileDoesNotExist() + { + putenv('HOME=' . __DIR__ . '/../not_exist_fixtures'); + $this->assertNull( + UserRefreshCredentials::fromWellKnownFile('a scope') + ); + } + + public function testSucceedIfFileIsPresent() + { + putenv('HOME=' . __DIR__ . '/../fixtures2'); + $this->assertNotNull( + ApplicationDefaultCredentials::getCredentials('a scope') + ); + } +} + +class URCFetchAuthTokenTest extends \PHPUnit_Framework_TestCase +{ + /** + * @expectedException GuzzleHttp\Exception\ClientException + */ + public function testFailsOnClientErrors() + { + $testJson = createURCTestJson(); + $scope = ['scope/1', 'scope/2']; + $httpHandler = getHandler([ + buildResponse(400), + ]); + $sa = new UserRefreshCredentials( + $scope, + $testJson + ); + $sa->fetchAuthToken($httpHandler); + } + + /** + * @expectedException GuzzleHttp\Exception\ServerException + */ + public function testFailsOnServerErrors() + { + $testJson = createURCTestJson(); + $scope = ['scope/1', 'scope/2']; + $httpHandler = getHandler([ + buildResponse(500), + ]); + $sa = new UserRefreshCredentials( + $scope, + $testJson + ); + $sa->fetchAuthToken($httpHandler); + } + + public function testCanFetchCredsOK() + { + $testJson = createURCTestJson(); + $testJsonText = json_encode($testJson); + $scope = ['scope/1', 'scope/2']; + $httpHandler = getHandler([ + buildResponse(200, [], Psr7\stream_for($testJsonText)), + ]); + $sa = new UserRefreshCredentials( + $scope, + $testJson + ); + $tokens = $sa->fetchAuthToken($httpHandler); + $this->assertEquals($testJson, $tokens); + } +} diff --git a/vendor/google/auth/tests/FetchAuthTokenCacheTest.php b/vendor/google/auth/tests/FetchAuthTokenCacheTest.php new file mode 100644 index 00000000..359094a8 --- /dev/null +++ b/vendor/google/auth/tests/FetchAuthTokenCacheTest.php @@ -0,0 +1,146 @@ +mockFetcher = + $this + ->getMockBuilder('Google\Auth\FetchAuthTokenInterface') + ->getMock(); + $this->mockCacheItem = + $this + ->getMockBuilder('Psr\Cache\CacheItemInterface') + ->getMock(); + $this->mockCache = + $this + ->getMockBuilder('Psr\Cache\CacheItemPoolInterface') + ->getMock(); + } + + public function testUsesCachedAuthToken() + { + $cacheKey = 'myKey'; + $cachedValue = '2/abcdef1234567890'; + $this->mockCacheItem + ->expects($this->once()) + ->method('get') + ->will($this->returnValue($cachedValue)); + $this->mockCache + ->expects($this->once()) + ->method('getItem') + ->with($this->equalTo($cacheKey)) + ->will($this->returnValue($this->mockCacheItem)); + $this->mockFetcher + ->expects($this->never()) + ->method('fetchAuthToken'); + $this->mockFetcher + ->expects($this->any()) + ->method('getCacheKey') + ->will($this->returnValue($cacheKey)); + + // Run the test. + $cachedFetcher = new FetchAuthTokenCache( + $this->mockFetcher, + null, + $this->mockCache + ); + $accessToken = $cachedFetcher->fetchAuthToken(); + $this->assertEquals($accessToken, ['access_token' => $cachedValue]); + } + + public function testGetsCachedAuthTokenUsingCachePrefix() + { + $prefix = 'test_prefix_'; + $cacheKey = 'myKey'; + $cachedValue = '2/abcdef1234567890'; + $this->mockCacheItem + ->expects($this->once()) + ->method('get') + ->will($this->returnValue($cachedValue)); + $this->mockCache + ->expects($this->once()) + ->method('getItem') + ->with($this->equalTo($prefix . $cacheKey)) + ->will($this->returnValue($this->mockCacheItem)); + $this->mockFetcher + ->expects($this->never()) + ->method('fetchAuthToken'); + $this->mockFetcher + ->expects($this->any()) + ->method('getCacheKey') + ->will($this->returnValue($cacheKey)); + + // Run the test + $cachedFetcher = new FetchAuthTokenCache( + $this->mockFetcher, + ['prefix' => $prefix], + $this->mockCache + ); + $accessToken = $cachedFetcher->fetchAuthToken(); + $this->assertEquals($accessToken, ['access_token' => $cachedValue]); + } + + public function testShouldSaveValueInCacheWithCacheOptions() + { + $prefix = 'test_prefix_'; + $lifetime = '70707'; + $cacheKey = 'myKey'; + $token = '1/abcdef1234567890'; + $authResult = ['access_token' => $token]; + $this->mockCacheItem + ->expects($this->any()) + ->method('get') + ->will($this->returnValue(null)); + $this->mockCacheItem + ->expects($this->once()) + ->method('set') + ->with($this->equalTo($token)) + ->will($this->returnValue(false)); + $this->mockCacheItem + ->expects($this->once()) + ->method('expiresAfter') + ->with($this->equalTo($lifetime)); + $this->mockCache + ->expects($this->exactly(2)) + ->method('getItem') + ->with($this->equalTo($prefix . $cacheKey)) + ->will($this->returnValue($this->mockCacheItem)); + $this->mockFetcher + ->expects($this->any()) + ->method('getCacheKey') + ->will($this->returnValue($cacheKey)); + $this->mockFetcher + ->expects($this->once()) + ->method('fetchAuthToken') + ->will($this->returnValue($authResult)); + + // Run the test + $cachedFetcher = new FetchAuthTokenCache( + $this->mockFetcher, + ['prefix' => $prefix, 'lifetime' => $lifetime], + $this->mockCache + ); + $accessToken = $cachedFetcher->fetchAuthToken(); + $this->assertEquals($accessToken, ['access_token' => $token]); + } +} diff --git a/vendor/google/auth/tests/FetchAuthTokenTest.php b/vendor/google/auth/tests/FetchAuthTokenTest.php new file mode 100644 index 00000000..8616993b --- /dev/null +++ b/vendor/google/auth/tests/FetchAuthTokenTest.php @@ -0,0 +1,170 @@ +getLastReceivedToken(); + + $this->assertNotNull($accessToken); + $this->assertArrayHasKey('access_token', $accessToken); + $this->assertArrayHasKey('expires_at', $accessToken); + + $this->assertEquals('xyz', $accessToken['access_token']); + $this->assertEquals(strtotime('2001'), $accessToken['expires_at']); + } + + public function provideAuthTokenFetcher() + { + $scopes = ['https://www.googleapis.com/auth/drive.readonly']; + $jsonPath = sprintf( + '%s/fixtures/.config/%s', + __DIR__, + CredentialsLoader::WELL_KNOWN_PATH + ); + $jsonPath2 = sprintf( + '%s/fixtures2/.config/%s', + __DIR__, + CredentialsLoader::WELL_KNOWN_PATH + ); + + return [ + [$this->getAppIdentityCredentials()], + [$this->getGCECredentials()], + [$this->getServiceAccountCredentials($scopes, $jsonPath)], + [$this->getServiceAccountJwtAccessCredentials($jsonPath)], + [$this->getUserRefreshCredentials($scopes, $jsonPath2)], + [$this->getOAuth2()], + ]; + } + + private function getAppIdentityCredentials() + { + $class = new \ReflectionClass( + 'Google\Auth\Credentials\AppIdentityCredentials' + ); + $property = $class->getProperty('lastReceivedToken'); + $property->setAccessible(true); + + $credentials = new AppIdentityCredentials(); + $property->setValue($credentials, [ + 'access_token' => 'xyz', + 'expiration_time' => strtotime('2001'), + ]); + + return $credentials; + } + + private function getGCECredentials() + { + $class = new \ReflectionClass( + 'Google\Auth\Credentials\GCECredentials' + ); + $property = $class->getProperty('lastReceivedToken'); + $property->setAccessible(true); + + $credentials = new GCECredentials(); + $property->setValue($credentials, [ + 'access_token' => 'xyz', + 'expires_at' => strtotime('2001'), + ]); + + return $credentials; + } + + private function getServiceAccountCredentials($scopes, $jsonPath) + { + $class = new \ReflectionClass( + 'Google\Auth\Credentials\ServiceAccountCredentials' + ); + $property = $class->getProperty('auth'); + $property->setAccessible(true); + + $credentials = new ServiceAccountCredentials($scopes, $jsonPath); + $property->setValue($credentials, $this->getOAuth2Mock()); + + return $credentials; + } + + private function getServiceAccountJwtAccessCredentials($jsonPath) + { + $class = new \ReflectionClass( + 'Google\Auth\Credentials\ServiceAccountJwtAccessCredentials' + ); + $property = $class->getProperty('auth'); + $property->setAccessible(true); + + $credentials = new ServiceAccountJwtAccessCredentials($jsonPath); + $property->setValue($credentials, $this->getOAuth2Mock()); + + return $credentials; + } + + private function getUserRefreshCredentials($scopes, $jsonPath) + { + $class = new \ReflectionClass( + 'Google\Auth\Credentials\UserRefreshCredentials' + ); + $property = $class->getProperty('auth'); + $property->setAccessible(true); + + $credentials = new UserRefreshCredentials($scopes, $jsonPath); + $property->setValue($credentials, $this->getOAuth2Mock()); + + return $credentials; + } + + private function getOAuth2() + { + $oauth = new OAuth2([ + 'access_token' => 'xyz', + 'expires_at' => strtotime('2001'), + ]); + + return $oauth; + } + + private function getOAuth2Mock() + { + $mock = $this->getMockBuilder('Google\Auth\OAuth2') + ->disableOriginalConstructor() + ->getMock(); + + $mock + ->expects($this->once()) + ->method('getLastReceivedToken') + ->will($this->returnValue([ + 'access_token' => 'xyz', + 'expires_at' => strtotime('2001'), + ])); + + return $mock; + } +} diff --git a/vendor/google/auth/tests/HttpHandler/Guzzle5HttpHandlerTest.php b/vendor/google/auth/tests/HttpHandler/Guzzle5HttpHandlerTest.php new file mode 100644 index 00000000..f8560b17 --- /dev/null +++ b/vendor/google/auth/tests/HttpHandler/Guzzle5HttpHandlerTest.php @@ -0,0 +1,59 @@ +onlyGuzzle5(); + + $this->mockPsr7Request = + $this + ->getMockBuilder('Psr\Http\Message\RequestInterface') + ->getMock(); + $this->mockRequest = + $this + ->getMockBuilder('GuzzleHttp\Message\RequestInterface') + ->getMock(); + $this->mockClient = + $this + ->getMockBuilder('GuzzleHttp\Client') + ->disableOriginalConstructor() + ->getMock(); + } + + public function testSuccessfullySendsRequest() + { + $this->mockClient + ->expects($this->any()) + ->method('send') + ->will($this->returnValue(new Response(200))); + $this->mockClient + ->expects($this->any()) + ->method('createRequest') + ->will($this->returnValue($this->mockRequest)); + + $handler = new Guzzle5HttpHandler($this->mockClient); + $response = $handler($this->mockPsr7Request); + $this->assertInstanceOf('Psr\Http\Message\ResponseInterface', $response); + } +} diff --git a/vendor/google/auth/tests/HttpHandler/Guzzle6HttpHandlerTest.php b/vendor/google/auth/tests/HttpHandler/Guzzle6HttpHandlerTest.php new file mode 100644 index 00000000..dfd90db9 --- /dev/null +++ b/vendor/google/auth/tests/HttpHandler/Guzzle6HttpHandlerTest.php @@ -0,0 +1,50 @@ +onlyGuzzle6(); + + $this->mockRequest = + $this + ->getMockBuilder('Psr\Http\Message\RequestInterface') + ->getMock(); + $this->mockClient = + $this + ->getMockBuilder('GuzzleHttp\Client') + ->getMock(); + } + + public function testSuccessfullySendsRequest() + { + $this->mockClient + ->expects($this->any()) + ->method('send') + ->will($this->returnValue(new Response(200))); + + $handler = new Guzzle6HttpHandler($this->mockClient); + $response = $handler($this->mockRequest); + $this->assertInstanceOf('Psr\Http\Message\ResponseInterface', $response); + } +} diff --git a/vendor/google/auth/tests/HttpHandler/HttpHandlerFactoryTest.php b/vendor/google/auth/tests/HttpHandler/HttpHandlerFactoryTest.php new file mode 100644 index 00000000..73126e60 --- /dev/null +++ b/vendor/google/auth/tests/HttpHandler/HttpHandlerFactoryTest.php @@ -0,0 +1,39 @@ +onlyGuzzle5(); + + $handler = HttpHandlerFactory::build(); + $this->assertInstanceOf('Google\Auth\HttpHandler\Guzzle5HttpHandler', $handler); + } + + public function testBuildsGuzzle6Handler() + { + $this->onlyGuzzle6(); + + $handler = HttpHandlerFactory::build(); + $this->assertInstanceOf('Google\Auth\HttpHandler\Guzzle6HttpHandler', $handler); + } +} diff --git a/vendor/google/auth/tests/Middleware/AuthTokenMiddlewareTest.php b/vendor/google/auth/tests/Middleware/AuthTokenMiddlewareTest.php new file mode 100644 index 00000000..43f03705 --- /dev/null +++ b/vendor/google/auth/tests/Middleware/AuthTokenMiddlewareTest.php @@ -0,0 +1,336 @@ +onlyGuzzle6(); + + $this->mockFetcher = + $this + ->getMockBuilder('Google\Auth\FetchAuthTokenInterface') + ->getMock(); + $this->mockCacheItem = + $this + ->getMockBuilder('Psr\Cache\CacheItemInterface') + ->getMock(); + $this->mockCache = + $this + ->getMockBuilder('Psr\Cache\CacheItemPoolInterface') + ->getMock(); + $this->mockRequest = + $this + ->getMockBuilder('GuzzleHttp\Psr7\Request') + ->disableOriginalConstructor() + ->getMock(); + } + + public function testOnlyTouchesWhenAuthConfigScoped() + { + $this->mockFetcher + ->expects($this->any()) + ->method('fetchAuthToken') + ->will($this->returnValue([])); + $this->mockRequest + ->expects($this->never()) + ->method('withHeader'); + + $middleware = new AuthTokenMiddleware($this->mockFetcher); + $mock = new MockHandler([new Response(200)]); + $callable = $middleware($mock); + $callable($this->mockRequest, ['auth' => 'not_google_auth']); + } + + public function testAddsTheTokenAsAnAuthorizationHeader() + { + $authResult = ['access_token' => '1/abcdef1234567890']; + $this->mockFetcher + ->expects($this->once()) + ->method('fetchAuthToken') + ->will($this->returnValue($authResult)); + $this->mockRequest + ->expects($this->once()) + ->method('withHeader') + ->with('Authorization', 'Bearer ' . $authResult['access_token']) + ->will($this->returnValue($this->mockRequest)); + + // Run the test. + $middleware = new AuthTokenMiddleware($this->mockFetcher); + $mock = new MockHandler([new Response(200)]); + $callable = $middleware($mock); + $callable($this->mockRequest, ['auth' => 'google_auth']); + } + + public function testDoesNotAddAnAuthorizationHeaderOnNoAccessToken() + { + $authResult = ['not_access_token' => '1/abcdef1234567890']; + $this->mockFetcher + ->expects($this->once()) + ->method('fetchAuthToken') + ->will($this->returnValue($authResult)); + $this->mockRequest + ->expects($this->once()) + ->method('withHeader') + ->with('Authorization', 'Bearer ') + ->will($this->returnValue($this->mockRequest)); + + // Run the test. + $middleware = new AuthTokenMiddleware($this->mockFetcher); + $mock = new MockHandler([new Response(200)]); + $callable = $middleware($mock); + $callable($this->mockRequest, ['auth' => 'google_auth']); + } + + public function testUsesCachedAuthToken() + { + $cacheKey = 'myKey'; + $cachedValue = '2/abcdef1234567890'; + $this->mockCacheItem + ->expects($this->once()) + ->method('get') + ->will($this->returnValue($cachedValue)); + $this->mockCache + ->expects($this->once()) + ->method('getItem') + ->with($this->equalTo($cacheKey)) + ->will($this->returnValue($this->mockCacheItem)); + $this->mockFetcher + ->expects($this->never()) + ->method('fetchAuthToken'); + $this->mockFetcher + ->expects($this->any()) + ->method('getCacheKey') + ->will($this->returnValue($cacheKey)); + $this->mockRequest + ->expects($this->once()) + ->method('withHeader') + ->with('Authorization', 'Bearer ' . $cachedValue) + ->will($this->returnValue($this->mockRequest)); + + // Run the test. + $cachedFetcher = new FetchAuthTokenCache( + $this->mockFetcher, + null, + $this->mockCache + ); + $middleware = new AuthTokenMiddleware($cachedFetcher); + $mock = new MockHandler([new Response(200)]); + $callable = $middleware($mock); + $callable($this->mockRequest, ['auth' => 'google_auth']); + } + + public function testGetsCachedAuthTokenUsingCacheOptions() + { + $prefix = 'test_prefix_'; + $cacheKey = 'myKey'; + $cachedValue = '2/abcdef1234567890'; + $this->mockCacheItem + ->expects($this->once()) + ->method('get') + ->will($this->returnValue($cachedValue)); + $this->mockCache + ->expects($this->once()) + ->method('getItem') + ->with($this->equalTo($prefix . $cacheKey)) + ->will($this->returnValue($this->mockCacheItem)); + $this->mockFetcher + ->expects($this->never()) + ->method('fetchAuthToken'); + $this->mockFetcher + ->expects($this->any()) + ->method('getCacheKey') + ->will($this->returnValue($cacheKey)); + $this->mockRequest + ->expects($this->once()) + ->method('withHeader') + ->with('Authorization', 'Bearer ' . $cachedValue) + ->will($this->returnValue($this->mockRequest)); + + // Run the test. + $cachedFetcher = new FetchAuthTokenCache( + $this->mockFetcher, + ['prefix' => $prefix], + $this->mockCache + ); + $middleware = new AuthTokenMiddleware($cachedFetcher); + $mock = new MockHandler([new Response(200)]); + $callable = $middleware($mock); + $callable($this->mockRequest, ['auth' => 'google_auth']); + } + + public function testShouldSaveValueInCacheWithSpecifiedPrefix() + { + $prefix = 'test_prefix_'; + $lifetime = '70707'; + $cacheKey = 'myKey'; + $token = '1/abcdef1234567890'; + $authResult = ['access_token' => $token]; + $this->mockCacheItem + ->expects($this->any()) + ->method('get') + ->will($this->returnValue(null)); + $this->mockCacheItem + ->expects($this->once()) + ->method('set') + ->with($this->equalTo($token)) + ->will($this->returnValue(false)); + $this->mockCacheItem + ->expects($this->once()) + ->method('expiresAfter') + ->with($this->equalTo($lifetime)); + $this->mockCache + ->expects($this->any()) + ->method('getItem') + ->with($this->equalTo($prefix . $cacheKey)) + ->will($this->returnValue($this->mockCacheItem)); + $this->mockFetcher + ->expects($this->any()) + ->method('getCacheKey') + ->will($this->returnValue($cacheKey)); + $this->mockFetcher + ->expects($this->once()) + ->method('fetchAuthToken') + ->will($this->returnValue($authResult)); + $this->mockRequest + ->expects($this->once()) + ->method('withHeader') + ->with('Authorization', 'Bearer ' . $token) + ->will($this->returnValue($this->mockRequest)); + + // Run the test. + $cachedFetcher = new FetchAuthTokenCache( + $this->mockFetcher, + ['prefix' => $prefix, 'lifetime' => $lifetime], + $this->mockCache + ); + $middleware = new AuthTokenMiddleware($cachedFetcher); + $mock = new MockHandler([new Response(200)]); + $callable = $middleware($mock); + $callable($this->mockRequest, ['auth' => 'google_auth']); + } + + /** @dataProvider provideShouldNotifyTokenCallback */ + public function testShouldNotifyTokenCallback(callable $tokenCallback) + { + $prefix = 'test_prefix_'; + $cacheKey = 'myKey'; + $token = '1/abcdef1234567890'; + $authResult = ['access_token' => $token]; + $this->mockCacheItem + ->expects($this->any()) + ->method('get') + ->will($this->returnValue(null)); + $this->mockCache + ->expects($this->any()) + ->method('getItem') + ->with($this->equalTo($prefix . $cacheKey)) + ->will($this->returnValue($this->mockCacheItem)); + $this->mockFetcher + ->expects($this->any()) + ->method('getCacheKey') + ->will($this->returnValue($cacheKey)); + $this->mockFetcher + ->expects($this->once()) + ->method('fetchAuthToken') + ->will($this->returnValue($authResult)); + $this->mockRequest + ->expects($this->once()) + ->method('withHeader') + ->will($this->returnValue($this->mockRequest)); + + MiddlewareCallback::$expectedKey = $this->getValidKeyName($prefix . $cacheKey); + MiddlewareCallback::$expectedValue = $token; + MiddlewareCallback::$called = false; + + // Run the test. + $cachedFetcher = new FetchAuthTokenCache( + $this->mockFetcher, + ['prefix' => $prefix], + $this->mockCache + ); + $middleware = new AuthTokenMiddleware( + $cachedFetcher, + null, + $tokenCallback + ); + $mock = new MockHandler([new Response(200)]); + $callable = $middleware($mock); + $callable($this->mockRequest, ['auth' => 'google_auth']); + $this->assertTrue(MiddlewareCallback::$called); + } + + public function provideShouldNotifyTokenCallback() + { + MiddlewareCallback::$phpunit = $this; + $anonymousFunc = function ($key, $value) { + MiddlewareCallback::staticInvoke($key, $value); + }; + return [ + ['Google\Auth\Tests\MiddlewareCallbackFunction'], + ['Google\Auth\Tests\MiddlewareCallback::staticInvoke'], + [['Google\Auth\Tests\MiddlewareCallback', 'staticInvoke']], + [$anonymousFunc], + [[new MiddlewareCallback, 'staticInvoke']], + [[new MiddlewareCallback, 'methodInvoke']], + [new MiddlewareCallback], + ]; + } +} + +class MiddlewareCallback +{ + public static $phpunit; + public static $expectedKey; + public static $expectedValue; + public static $called = false; + + public function __invoke($key, $value) + { + self::$phpunit->assertEquals(self::$expectedKey, $key); + self::$phpunit->assertEquals(self::$expectedValue, $value); + self::$called = true; + } + + public function methodInvoke($key, $value) + { + return $this($key, $value); + } + + public static function staticInvoke($key, $value) + { + $instance = new self(); + return $instance($key, $value); + } +} + +function MiddlewareCallbackFunction($key, $value) +{ + return MiddlewareCallback::staticInvoke($key, $value); +} diff --git a/vendor/google/auth/tests/Middleware/ScopedAccessTokenMiddlewareTest.php b/vendor/google/auth/tests/Middleware/ScopedAccessTokenMiddlewareTest.php new file mode 100644 index 00000000..27182e0c --- /dev/null +++ b/vendor/google/auth/tests/Middleware/ScopedAccessTokenMiddlewareTest.php @@ -0,0 +1,245 @@ +onlyGuzzle6(); + + $this->mockCacheItem = + $this + ->getMockBuilder('Psr\Cache\CacheItemInterface') + ->getMock(); + $this->mockCache = + $this + ->getMockBuilder('Psr\Cache\CacheItemPoolInterface') + ->getMock(); + $this->mockRequest = + $this + ->getMockBuilder('GuzzleHttp\Psr7\Request') + ->disableOriginalConstructor() + ->getMock(); + } + + /** + * @expectedException InvalidArgumentException + */ + public function testRequiresScopeAsAStringOrArray() + { + $fakeAuthFunc = function ($unused_scopes) { + return '1/abcdef1234567890'; + }; + new ScopedAccessTokenMiddleware($fakeAuthFunc, new \stdClass()); + } + + public function testAddsTheTokenAsAnAuthorizationHeader() + { + $token = '1/abcdef1234567890'; + $fakeAuthFunc = function ($unused_scopes) use ($token) { + return $token; + }; + $this->mockRequest + ->expects($this->once()) + ->method('withHeader') + ->with('Authorization', 'Bearer ' . $token) + ->will($this->returnValue($this->mockRequest)); + + // Run the test + $middleware = new ScopedAccessTokenMiddleware($fakeAuthFunc, self::TEST_SCOPE); + $mock = new MockHandler([new Response(200)]); + $callable = $middleware($mock); + $callable($this->mockRequest, ['auth' => 'scoped']); + } + + public function testUsesCachedAuthToken() + { + $cachedValue = '2/abcdef1234567890'; + $fakeAuthFunc = function ($unused_scopes) { + return ''; + }; + $this->mockCacheItem + ->expects($this->once()) + ->method('get') + ->will($this->returnValue($cachedValue)); + $this->mockCache + ->expects($this->once()) + ->method('getItem') + ->with($this->equalTo($this->getValidKeyName(self::TEST_SCOPE))) + ->will($this->returnValue($this->mockCacheItem)); + $this->mockRequest + ->expects($this->once()) + ->method('withHeader') + ->with('Authorization', 'Bearer ' . $cachedValue) + ->will($this->returnValue($this->mockRequest)); + + // Run the test + $middleware = new ScopedAccessTokenMiddleware( + $fakeAuthFunc, + self::TEST_SCOPE, + [], + $this->mockCache + ); + $mock = new MockHandler([new Response(200)]); + $callable = $middleware($mock); + $callable($this->mockRequest, ['auth' => 'scoped']); + } + + public function testGetsCachedAuthTokenUsingCachePrefix() + { + $prefix = 'test_prefix_'; + $cachedValue = '2/abcdef1234567890'; + $fakeAuthFunc = function ($unused_scopes) { + return ''; + }; + $this->mockCacheItem + ->expects($this->once()) + ->method('get') + ->will($this->returnValue($cachedValue)); + $this->mockCache + ->expects($this->once()) + ->method('getItem') + ->with($this->equalTo($prefix . $this->getValidKeyName(self::TEST_SCOPE))) + ->will($this->returnValue($this->mockCacheItem)); + $this->mockRequest + ->expects($this->once()) + ->method('withHeader') + ->with('Authorization', 'Bearer ' . $cachedValue) + ->will($this->returnValue($this->mockRequest)); + + // Run the test + $middleware = new ScopedAccessTokenMiddleware( + $fakeAuthFunc, + self::TEST_SCOPE, + ['prefix' => $prefix], + $this->mockCache + ); + $mock = new MockHandler([new Response(200)]); + $callable = $middleware($mock); + $callable($this->mockRequest, ['auth' => 'scoped']); + } + + public function testShouldSaveValueInCache() + { + $token = '2/abcdef1234567890'; + $fakeAuthFunc = function ($unused_scopes) use ($token) { + return $token; + }; + $this->mockCacheItem + ->expects($this->once()) + ->method('get') + ->will($this->returnValue(false)); + $this->mockCacheItem + ->expects($this->once()) + ->method('set') + ->with($this->equalTo($token)) + ->will($this->returnValue(false)); + $this->mockCache + ->expects($this->exactly(2)) + ->method('getItem') + ->with($this->equalTo($this->getValidKeyName(self::TEST_SCOPE))) + ->will($this->returnValue($this->mockCacheItem)); + $this->mockRequest + ->expects($this->once()) + ->method('withHeader') + ->with('Authorization', 'Bearer ' . $token) + ->will($this->returnValue($this->mockRequest)); + + // Run the test + $middleware = new ScopedAccessTokenMiddleware( + $fakeAuthFunc, + self::TEST_SCOPE, + [], + $this->mockCache + ); + $mock = new MockHandler([new Response(200)]); + $callable = $middleware($mock); + $callable($this->mockRequest, ['auth' => 'scoped']); + } + + public function testShouldSaveValueInCacheWithCacheOptions() + { + $token = '2/abcdef1234567890'; + $prefix = 'test_prefix_'; + $lifetime = '70707'; + $fakeAuthFunc = function ($unused_scopes) use ($token) { + return $token; + }; + $this->mockCacheItem + ->expects($this->once()) + ->method('get') + ->will($this->returnValue(false)); + $this->mockCacheItem + ->expects($this->once()) + ->method('set') + ->with($this->equalTo($token)) + ->will($this->returnValue(false)); + $this->mockCacheItem + ->expects($this->once()) + ->method('expiresAfter') + ->with($this->equalTo($lifetime)); + $this->mockCache + ->expects($this->exactly(2)) + ->method('getItem') + ->with($this->equalTo($prefix . $this->getValidKeyName(self::TEST_SCOPE))) + ->will($this->returnValue($this->mockCacheItem)); + $this->mockRequest + ->expects($this->once()) + ->method('withHeader') + ->with('Authorization', 'Bearer ' . $token) + ->will($this->returnValue($this->mockRequest)); + + // Run the test + $middleware = new ScopedAccessTokenMiddleware( + $fakeAuthFunc, + self::TEST_SCOPE, + ['prefix' => $prefix, 'lifetime' => $lifetime], + $this->mockCache + ); + $mock = new MockHandler([new Response(200)]); + $callable = $middleware($mock); + $callable($this->mockRequest, ['auth' => 'scoped']); + } + + public function testOnlyTouchesWhenAuthConfigScoped() + { + $fakeAuthFunc = function ($unused_scopes) { + return '1/abcdef1234567890'; + }; + $this->mockRequest + ->expects($this->never()) + ->method('withHeader'); + + // Run the test + $middleware = new ScopedAccessTokenMiddleware($fakeAuthFunc, self::TEST_SCOPE); + $mock = new MockHandler([new Response(200)]); + $callable = $middleware($mock); + $callable($this->mockRequest, ['auth' => 'not_scoped']); + } +} diff --git a/vendor/google/auth/tests/Middleware/SimpleMiddlewareTest.php b/vendor/google/auth/tests/Middleware/SimpleMiddlewareTest.php new file mode 100644 index 00000000..61807aa5 --- /dev/null +++ b/vendor/google/auth/tests/Middleware/SimpleMiddlewareTest.php @@ -0,0 +1,41 @@ +onlyGuzzle6(); + + $this->mockRequest = + $this + ->getMockBuilder('GuzzleHttp\Psr7\Request') + ->disableOriginalConstructor() + ->getMock(); + } + + public function testTest() + { + } +} diff --git a/vendor/google/auth/tests/OAuth2Test.php b/vendor/google/auth/tests/OAuth2Test.php new file mode 100644 index 00000000..59492986 --- /dev/null +++ b/vendor/google/auth/tests/OAuth2Test.php @@ -0,0 +1,858 @@ + 'https://accounts.test.org/insecure/url', + 'redirectUri' => 'https://accounts.test.org/redirect/url', + 'clientId' => 'aClientID', + ]; + + /** + * @expectedException InvalidArgumentException + */ + public function testIsNullIfAuthorizationUriIsNull() + { + $o = new OAuth2([]); + $this->assertNull($o->buildFullAuthorizationUri()); + } + + /** + * @expectedException InvalidArgumentException + */ + public function testRequiresTheClientId() + { + $o = new OAuth2([ + 'authorizationUri' => 'https://accounts.test.org/auth/url', + 'redirectUri' => 'https://accounts.test.org/redirect/url', + ]); + $o->buildFullAuthorizationUri(); + } + + /** + * @expectedException InvalidArgumentException + */ + public function testRequiresTheRedirectUri() + { + $o = new OAuth2([ + 'authorizationUri' => 'https://accounts.test.org/auth/url', + 'clientId' => 'aClientID', + ]); + $o->buildFullAuthorizationUri(); + } + + /** + * @expectedException InvalidArgumentException + */ + public function testCannotHavePromptAndApprovalPrompt() + { + $o = new OAuth2([ + 'authorizationUri' => 'https://accounts.test.org/auth/url', + 'clientId' => 'aClientID', + ]); + $o->buildFullAuthorizationUri([ + 'approval_prompt' => 'an approval prompt', + 'prompt' => 'a prompt', + ]); + } + + /** + * @expectedException InvalidArgumentException + */ + public function testCannotHaveInsecureAuthorizationUri() + { + $o = new OAuth2([ + 'authorizationUri' => 'http://accounts.test.org/insecure/url', + 'redirectUri' => 'https://accounts.test.org/redirect/url', + 'clientId' => 'aClientID', + ]); + $o->buildFullAuthorizationUri(); + } + + /** + * @expectedException InvalidArgumentException + */ + public function testCannotHaveRelativeRedirectUri() + { + $o = new OAuth2([ + 'authorizationUri' => 'http://accounts.test.org/insecure/url', + 'redirectUri' => '/redirect/url', + 'clientId' => 'aClientID', + ]); + $o->buildFullAuthorizationUri(); + } + + public function testHasDefaultXXXTypeParams() + { + $o = new OAuth2($this->minimal); + $q = Psr7\parse_query($o->buildFullAuthorizationUri()->getQuery()); + $this->assertEquals('code', $q['response_type']); + $this->assertEquals('offline', $q['access_type']); + } + + public function testCanBeUrlObject() + { + $config = array_merge($this->minimal, [ + 'authorizationUri' => Psr7\uri_for('https://another/uri'), + ]); + $o = new OAuth2($config); + $this->assertEquals('/uri', $o->buildFullAuthorizationUri()->getPath()); + } + + public function testCanOverrideParams() + { + $overrides = [ + 'access_type' => 'o_access_type', + 'client_id' => 'o_client_id', + 'redirect_uri' => 'o_redirect_uri', + 'response_type' => 'o_response_type', + 'state' => 'o_state', + ]; + $config = array_merge($this->minimal, ['state' => 'the_state']); + $o = new OAuth2($config); + $q = Psr7\parse_query($o->buildFullAuthorizationUri($overrides)->getQuery()); + $this->assertEquals('o_access_type', $q['access_type']); + $this->assertEquals('o_client_id', $q['client_id']); + $this->assertEquals('o_redirect_uri', $q['redirect_uri']); + $this->assertEquals('o_response_type', $q['response_type']); + $this->assertEquals('o_state', $q['state']); + } + + public function testIncludesTheScope() + { + $with_strings = array_merge($this->minimal, ['scope' => 'scope1 scope2']); + $o = new OAuth2($with_strings); + $q = Psr7\parse_query($o->buildFullAuthorizationUri()->getQuery()); + $this->assertEquals('scope1 scope2', $q['scope']); + + $with_array = array_merge($this->minimal, [ + 'scope' => ['scope1', 'scope2'], + ]); + $o = new OAuth2($with_array); + $q = Psr7\parse_query($o->buildFullAuthorizationUri()->getQuery()); + $this->assertEquals('scope1 scope2', $q['scope']); + } + + public function testRedirectUriPostmessageIsAllowed() + { + $o = new OAuth2([ + 'authorizationUri' => 'https://accounts.test.org/insecure/url', + 'redirectUri' => 'postmessage', + 'clientId' => 'aClientID', + ]); + $this->assertEquals('postmessage', $o->getRedirectUri()); + $url = $o->buildFullAuthorizationUri(); + $parts = parse_url((string)$url); + parse_str($parts['query'], $query); + $this->assertArrayHasKey('redirect_uri', $query); + $this->assertEquals('postmessage', $query['redirect_uri']); + } +} + +class OAuth2GrantTypeTest extends \PHPUnit_Framework_TestCase +{ + private $minimal = [ + 'authorizationUri' => 'https://accounts.test.org/insecure/url', + 'redirectUri' => 'https://accounts.test.org/redirect/url', + 'clientId' => 'aClientID', + ]; + + public function testReturnsNullIfCannotBeInferred() + { + $o = new OAuth2($this->minimal); + $this->assertNull($o->getGrantType()); + } + + public function testInfersAuthorizationCode() + { + $o = new OAuth2($this->minimal); + $o->setCode('an auth code'); + $this->assertEquals('authorization_code', $o->getGrantType()); + } + + public function testInfersRefreshToken() + { + $o = new OAuth2($this->minimal); + $o->setRefreshToken('a refresh token'); + $this->assertEquals('refresh_token', $o->getGrantType()); + } + + public function testInfersPassword() + { + $o = new OAuth2($this->minimal); + $o->setPassword('a password'); + $o->setUsername('a username'); + $this->assertEquals('password', $o->getGrantType()); + } + + public function testInfersJwtBearer() + { + $o = new OAuth2($this->minimal); + $o->setIssuer('an issuer'); + $o->setSigningKey('a key'); + $this->assertEquals('urn:ietf:params:oauth:grant-type:jwt-bearer', + $o->getGrantType()); + } + + public function testSetsKnownTypes() + { + $o = new OAuth2($this->minimal); + foreach (OAuth2::$knownGrantTypes as $t) { + $o->setGrantType($t); + $this->assertEquals($t, $o->getGrantType()); + } + } + + public function testSetsUrlAsGrantType() + { + $o = new OAuth2($this->minimal); + $o->setGrantType('http://a/grant/url'); + $this->assertEquals('http://a/grant/url', $o->getGrantType()); + } +} + +class OAuth2GetCacheKeyTest extends \PHPUnit_Framework_TestCase +{ + private $minimal = [ + 'clientID' => 'aClientID', + ]; + + public function testIsNullWithNoScopes() + { + $o = new OAuth2($this->minimal); + $this->assertNull($o->getCacheKey()); + } + + public function testIsScopeIfSingleScope() + { + $o = new OAuth2($this->minimal); + $o->setScope('test/scope/1'); + $this->assertEquals('test/scope/1', $o->getCacheKey()); + } + + public function testIsAllScopesWhenScopeIsArray() + { + $o = new OAuth2($this->minimal); + $o->setScope(['test/scope/1', 'test/scope/2']); + $this->assertEquals('test/scope/1:test/scope/2', $o->getCacheKey()); + } +} + +class OAuth2TimingTest extends \PHPUnit_Framework_TestCase +{ + private $minimal = [ + 'authorizationUri' => 'https://accounts.test.org/insecure/url', + 'redirectUri' => 'https://accounts.test.org/redirect/url', + 'clientId' => 'aClientID', + ]; + + public function testIssuedAtDefaultsToNull() + { + $o = new OAuth2($this->minimal); + $this->assertNull($o->getIssuedAt()); + } + + public function testExpiresAtDefaultsToNull() + { + $o = new OAuth2($this->minimal); + $this->assertNull($o->getExpiresAt()); + } + + public function testExpiresInDefaultsToNull() + { + $o = new OAuth2($this->minimal); + $this->assertNull($o->getExpiresIn()); + } + + public function testSettingExpiresInSetsIssuedAt() + { + $o = new OAuth2($this->minimal); + $this->assertNull($o->getIssuedAt()); + $aShortWhile = 5; + $o->setExpiresIn($aShortWhile); + $this->assertEquals($aShortWhile, $o->getExpiresIn()); + $this->assertNotNull($o->getIssuedAt()); + } + + public function testSettingExpiresInSetsExpireAt() + { + $o = new OAuth2($this->minimal); + $this->assertNull($o->getExpiresAt()); + $aShortWhile = 5; + $o->setExpiresIn($aShortWhile); + $this->assertNotNull($o->getExpiresAt()); + $this->assertEquals($aShortWhile, $o->getExpiresAt() - $o->getIssuedAt()); + } + + public function testIsNotExpiredByDefault() + { + $o = new OAuth2($this->minimal); + $this->assertFalse($o->isExpired()); + } + + public function testIsNotExpiredIfExpiresAtIsOld() + { + $o = new OAuth2($this->minimal); + $o->setExpiresAt(time() - 2); + $this->assertTrue($o->isExpired()); + } +} + +class OAuth2GeneralTest extends \PHPUnit_Framework_TestCase +{ + private $minimal = [ + 'authorizationUri' => 'https://accounts.test.org/insecure/url', + 'redirectUri' => 'https://accounts.test.org/redirect/url', + 'clientId' => 'aClientID', + ]; + + /** + * @expectedException InvalidArgumentException + */ + public function testFailsOnUnknownSigningAlgorithm() + { + $o = new OAuth2($this->minimal); + $o->setSigningAlgorithm('this is definitely not an algorithm name'); + } + + public function testAllowsKnownSigningAlgorithms() + { + $o = new OAuth2($this->minimal); + foreach (OAuth2::$knownSigningAlgorithms as $a) { + $o->setSigningAlgorithm($a); + $this->assertEquals($a, $o->getSigningAlgorithm()); + } + } + + /** + * @expectedException InvalidArgumentException + */ + public function testFailsOnRelativeRedirectUri() + { + $o = new OAuth2($this->minimal); + $o->setRedirectUri('/relative/url'); + } + + public function testAllowsUrnRedirectUri() + { + $urn = 'urn:ietf:wg:oauth:2.0:oob'; + $o = new OAuth2($this->minimal); + $o->setRedirectUri($urn); + $this->assertEquals($urn, $o->getRedirectUri()); + } +} + +class OAuth2JwtTest extends \PHPUnit_Framework_TestCase +{ + private $signingMinimal = [ + 'signingKey' => 'example_key', + 'signingAlgorithm' => 'HS256', + 'scope' => 'https://www.googleapis.com/auth/userinfo.profile', + 'issuer' => 'app@example.com', + 'audience' => 'accounts.google.com', + 'clientId' => 'aClientID', + ]; + + /** + * @expectedException DomainException + */ + public function testFailsWithMissingAudience() + { + $testConfig = $this->signingMinimal; + unset($testConfig['audience']); + $o = new OAuth2($testConfig); + $o->toJwt(); + } + + /** + * @expectedException DomainException + */ + public function testFailsWithMissingIssuer() + { + $testConfig = $this->signingMinimal; + unset($testConfig['issuer']); + $o = new OAuth2($testConfig); + $o->toJwt(); + } + + /** + */ + public function testCanHaveNoScope() + { + $testConfig = $this->signingMinimal; + unset($testConfig['scope']); + $o = new OAuth2($testConfig); + $o->toJwt(); + } + + /** + * @expectedException DomainException + */ + public function testFailsWithMissingSigningKey() + { + $testConfig = $this->signingMinimal; + unset($testConfig['signingKey']); + $o = new OAuth2($testConfig); + $o->toJwt(); + } + + /** + * @expectedException DomainException + */ + public function testFailsWithMissingSigningAlgorithm() + { + $testConfig = $this->signingMinimal; + unset($testConfig['signingAlgorithm']); + $o = new OAuth2($testConfig); + $o->toJwt(); + } + + public function testCanHS256EncodeAValidPayload() + { + $testConfig = $this->signingMinimal; + $o = new OAuth2($testConfig); + $payload = $o->toJwt(); + $roundTrip = $this->jwtDecode($payload, $testConfig['signingKey'], array('HS256')); + $this->assertEquals($roundTrip->iss, $testConfig['issuer']); + $this->assertEquals($roundTrip->aud, $testConfig['audience']); + $this->assertEquals($roundTrip->scope, $testConfig['scope']); + } + + public function testCanRS256EncodeAValidPayload() + { + $publicKey = file_get_contents(__DIR__ . '/fixtures' . '/public.pem'); + $privateKey = file_get_contents(__DIR__ . '/fixtures' . '/private.pem'); + $testConfig = $this->signingMinimal; + $o = new OAuth2($testConfig); + $o->setSigningAlgorithm('RS256'); + $o->setSigningKey($privateKey); + $payload = $o->toJwt(); + $roundTrip = $this->jwtDecode($payload, $publicKey, array('RS256')); + $this->assertEquals($roundTrip->iss, $testConfig['issuer']); + $this->assertEquals($roundTrip->aud, $testConfig['audience']); + $this->assertEquals($roundTrip->scope, $testConfig['scope']); + } + + private function jwtDecode() + { + $args = func_get_args(); + $class = 'JWT'; + if (class_exists('Firebase\JWT\JWT')) { + $class = 'Firebase\JWT\JWT'; + } + + return call_user_func_array("$class::decode", $args); + } +} + +class OAuth2GenerateAccessTokenRequestTest extends \PHPUnit_Framework_TestCase +{ + private $tokenRequestMinimal = [ + 'tokenCredentialUri' => 'https://tokens_r_us/test', + 'scope' => 'https://www.googleapis.com/auth/userinfo.profile', + 'issuer' => 'app@example.com', + 'audience' => 'accounts.google.com', + 'clientId' => 'aClientID', + ]; + + /** + * @expectedException DomainException + */ + public function testFailsIfNoTokenCredentialUri() + { + $testConfig = $this->tokenRequestMinimal; + unset($testConfig['tokenCredentialUri']); + $o = new OAuth2($testConfig); + $o->generateCredentialsRequest(); + } + + /** + * @expectedException DomainException + */ + public function testFailsIfAuthorizationCodeIsMissing() + { + $testConfig = $this->tokenRequestMinimal; + $testConfig['redirectUri'] = 'https://has/redirect/uri'; + $o = new OAuth2($testConfig); + $o->generateCredentialsRequest(); + } + + public function testGeneratesAuthorizationCodeRequests() + { + $testConfig = $this->tokenRequestMinimal; + $testConfig['redirectUri'] = 'https://has/redirect/uri'; + $o = new OAuth2($testConfig); + $o->setCode('an_auth_code'); + + // Generate the request and confirm that it's correct. + $req = $o->generateCredentialsRequest(); + $this->assertInstanceOf('Psr\Http\Message\RequestInterface', $req); + $this->assertEquals('POST', $req->getMethod()); + $fields = Psr7\parse_query((string)$req->getBody()); + $this->assertEquals('authorization_code', $fields['grant_type']); + $this->assertEquals('an_auth_code', $fields['code']); + } + + public function testGeneratesPasswordRequests() + { + $testConfig = $this->tokenRequestMinimal; + $o = new OAuth2($testConfig); + $o->setUsername('a_username'); + $o->setPassword('a_password'); + + // Generate the request and confirm that it's correct. + $req = $o->generateCredentialsRequest(); + $this->assertInstanceOf('Psr\Http\Message\RequestInterface', $req); + $this->assertEquals('POST', $req->getMethod()); + $fields = Psr7\parse_query((string)$req->getBody()); + $this->assertEquals('password', $fields['grant_type']); + $this->assertEquals('a_password', $fields['password']); + $this->assertEquals('a_username', $fields['username']); + } + + public function testGeneratesRefreshTokenRequests() + { + $testConfig = $this->tokenRequestMinimal; + $o = new OAuth2($testConfig); + $o->setRefreshToken('a_refresh_token'); + + // Generate the request and confirm that it's correct. + $req = $o->generateCredentialsRequest(); + $this->assertInstanceOf('Psr\Http\Message\RequestInterface', $req); + $this->assertEquals('POST', $req->getMethod()); + $fields = Psr7\parse_query((string)$req->getBody()); + $this->assertEquals('refresh_token', $fields['grant_type']); + $this->assertEquals('a_refresh_token', $fields['refresh_token']); + } + + public function testClientSecretAddedIfSetForAuthorizationCodeRequests() + { + $testConfig = $this->tokenRequestMinimal; + $testConfig['clientSecret'] = 'a_client_secret'; + $testConfig['redirectUri'] = 'https://has/redirect/uri'; + $o = new OAuth2($testConfig); + $o->setCode('an_auth_code'); + $request = $o->generateCredentialsRequest(); + $fields = Psr7\parse_query((string)$request->getBody()); + $this->assertEquals('a_client_secret', $fields['client_secret']); + } + + public function testClientSecretAddedIfSetForRefreshTokenRequests() + { + $testConfig = $this->tokenRequestMinimal; + $testConfig['clientSecret'] = 'a_client_secret'; + $o = new OAuth2($testConfig); + $o->setRefreshToken('a_refresh_token'); + $request = $o->generateCredentialsRequest(); + $fields = Psr7\parse_query((string)$request->getBody()); + $this->assertEquals('a_client_secret', $fields['client_secret']); + } + + public function testClientSecretAddedIfSetForPasswordRequests() + { + $testConfig = $this->tokenRequestMinimal; + $testConfig['clientSecret'] = 'a_client_secret'; + $o = new OAuth2($testConfig); + $o->setUsername('a_username'); + $o->setPassword('a_password'); + $request = $o->generateCredentialsRequest(); + $fields = Psr7\parse_query((string)$request->getBody()); + $this->assertEquals('a_client_secret', $fields['client_secret']); + } + + public function testGeneratesAssertionRequests() + { + $testConfig = $this->tokenRequestMinimal; + $o = new OAuth2($testConfig); + $o->setSigningKey('a_key'); + $o->setSigningAlgorithm('HS256'); + + // Generate the request and confirm that it's correct. + $req = $o->generateCredentialsRequest(); + $this->assertInstanceOf('Psr\Http\Message\RequestInterface', $req); + $this->assertEquals('POST', $req->getMethod()); + $fields = Psr7\parse_query((string)$req->getBody()); + $this->assertEquals(OAuth2::JWT_URN, $fields['grant_type']); + $this->assertTrue(array_key_exists('assertion', $fields)); + } + + public function testGeneratesExtendedRequests() + { + $testConfig = $this->tokenRequestMinimal; + $o = new OAuth2($testConfig); + $o->setGrantType('urn:my_test_grant_type'); + $o->setExtensionParams(['my_param' => 'my_value']); + + // Generate the request and confirm that it's correct. + $req = $o->generateCredentialsRequest(); + $this->assertInstanceOf('Psr\Http\Message\RequestInterface', $req); + $this->assertEquals('POST', $req->getMethod()); + $fields = Psr7\parse_query((string)$req->getBody()); + $this->assertEquals('my_value', $fields['my_param']); + $this->assertEquals('urn:my_test_grant_type', $fields['grant_type']); + } +} + +class OAuth2FetchAuthTokenTest extends \PHPUnit_Framework_TestCase +{ + private $fetchAuthTokenMinimal = [ + 'tokenCredentialUri' => 'https://tokens_r_us/test', + 'scope' => 'https://www.googleapis.com/auth/userinfo.profile', + 'signingKey' => 'example_key', + 'signingAlgorithm' => 'HS256', + 'issuer' => 'app@example.com', + 'audience' => 'accounts.google.com', + 'clientId' => 'aClientID', + ]; + + /** + * @expectedException GuzzleHttp\Exception\ClientException + */ + public function testFailsOn400() + { + $testConfig = $this->fetchAuthTokenMinimal; + $httpHandler = getHandler([ + buildResponse(400), + ]); + $o = new OAuth2($testConfig); + $o->fetchAuthToken($httpHandler); + } + + /** + * @expectedException GuzzleHttp\Exception\ServerException + */ + public function testFailsOn500() + { + $testConfig = $this->fetchAuthTokenMinimal; + $httpHandler = getHandler([ + buildResponse(500), + ]); + $o = new OAuth2($testConfig); + $o->fetchAuthToken($httpHandler); + } + + /** + * @expectedException Exception + * @expectedExceptionMessage Invalid JSON response + */ + public function testFailsOnNoContentTypeIfResponseIsNotJSON() + { + $testConfig = $this->fetchAuthTokenMinimal; + $notJson = '{"foo": , this is cannot be passed as json" "bar"}'; + $httpHandler = getHandler([ + buildResponse(200, [], Psr7\stream_for($notJson)), + ]); + $o = new OAuth2($testConfig); + $o->fetchAuthToken($httpHandler); + } + + public function testFetchesJsonResponseOnNoContentTypeOK() + { + $testConfig = $this->fetchAuthTokenMinimal; + $json = '{"foo": "bar"}'; + $httpHandler = getHandler([ + buildResponse(200, [], Psr7\stream_for($json)), + ]); + $o = new OAuth2($testConfig); + $tokens = $o->fetchAuthToken($httpHandler); + $this->assertEquals($tokens['foo'], 'bar'); + } + + public function testFetchesFromFormEncodedResponseOK() + { + $testConfig = $this->fetchAuthTokenMinimal; + $json = 'foo=bar&spice=nice'; + $httpHandler = getHandler([ + buildResponse( + 200, + ['Content-Type' => 'application/x-www-form-urlencoded'], + Psr7\stream_for($json) + ), + ]); + $o = new OAuth2($testConfig); + $tokens = $o->fetchAuthToken($httpHandler); + $this->assertEquals($tokens['foo'], 'bar'); + $this->assertEquals($tokens['spice'], 'nice'); + } + + public function testUpdatesTokenFieldsOnFetch() + { + $testConfig = $this->fetchAuthTokenMinimal; + $wanted_updates = [ + 'expires_at' => '1', + 'expires_in' => '57', + 'issued_at' => '2', + 'access_token' => 'an_access_token', + 'id_token' => 'an_id_token', + 'refresh_token' => 'a_refresh_token', + ]; + $json = json_encode($wanted_updates); + $httpHandler = getHandler([ + buildResponse(200, [], Psr7\stream_for($json)), + ]); + $o = new OAuth2($testConfig); + $this->assertNull($o->getExpiresAt()); + $this->assertNull($o->getExpiresIn()); + $this->assertNull($o->getIssuedAt()); + $this->assertNull($o->getAccessToken()); + $this->assertNull($o->getIdToken()); + $this->assertNull($o->getRefreshToken()); + $tokens = $o->fetchAuthToken($httpHandler); + $this->assertEquals(1, $o->getExpiresAt()); + $this->assertEquals(57, $o->getExpiresIn()); + $this->assertEquals(2, $o->getIssuedAt()); + $this->assertEquals('an_access_token', $o->getAccessToken()); + $this->assertEquals('an_id_token', $o->getIdToken()); + $this->assertEquals('a_refresh_token', $o->getRefreshToken()); + } + + public function testUpdatesTokenFieldsOnFetchMissingRefreshToken() + { + $testConfig = $this->fetchAuthTokenMinimal; + $testConfig['refresh_token'] = 'a_refresh_token'; + $wanted_updates = [ + 'expires_at' => '1', + 'expires_in' => '57', + 'issued_at' => '2', + 'access_token' => 'an_access_token', + 'id_token' => 'an_id_token', + ]; + $json = json_encode($wanted_updates); + $httpHandler = getHandler([ + buildResponse(200, [], Psr7\stream_for($json)), + ]); + $o = new OAuth2($testConfig); + $this->assertNull($o->getExpiresAt()); + $this->assertNull($o->getExpiresIn()); + $this->assertNull($o->getIssuedAt()); + $this->assertNull($o->getAccessToken()); + $this->assertNull($o->getIdToken()); + $this->assertEquals('a_refresh_token', $o->getRefreshToken()); + $tokens = $o->fetchAuthToken($httpHandler); + $this->assertEquals(1, $o->getExpiresAt()); + $this->assertEquals(57, $o->getExpiresIn()); + $this->assertEquals(2, $o->getIssuedAt()); + $this->assertEquals('an_access_token', $o->getAccessToken()); + $this->assertEquals('an_id_token', $o->getIdToken()); + $this->assertEquals('a_refresh_token', $o->getRefreshToken()); + } +} + +class OAuth2VerifyIdTokenTest extends \PHPUnit_Framework_TestCase +{ + private $publicKey; + private $privateKey; + private $verifyIdTokenMinimal = [ + 'scope' => 'https://www.googleapis.com/auth/userinfo.profile', + 'audience' => 'myaccount.on.host.issuer.com', + 'issuer' => 'an.issuer.com', + 'clientId' => 'myaccount.on.host.issuer.com', + ]; + + public function setUp() + { + $this->publicKey = + file_get_contents(__DIR__ . '/fixtures' . '/public.pem'); + $this->privateKey = + file_get_contents(__DIR__ . '/fixtures' . '/private.pem'); + } + + /** + * @expectedException UnexpectedValueException + */ + public function testFailsIfIdTokenIsInvalid() + { + $testConfig = $this->verifyIdTokenMinimal; + $not_a_jwt = 'not a jot'; + $o = new OAuth2($testConfig); + $o->setIdToken($not_a_jwt); + $o->verifyIdToken($this->publicKey); + } + + /** + * @expectedException DomainException + */ + public function testFailsIfAudienceIsMissing() + { + $testConfig = $this->verifyIdTokenMinimal; + $now = time(); + $origIdToken = [ + 'issuer' => $testConfig['issuer'], + 'exp' => $now + 65, // arbitrary + 'iat' => $now, + ]; + $o = new OAuth2($testConfig); + $jwtIdToken = $this->jwtEncode($origIdToken, $this->privateKey, 'RS256'); + $o->setIdToken($jwtIdToken); + $o->verifyIdToken($this->publicKey, ['RS256']); + } + + /** + * @expectedException DomainException + */ + public function testFailsIfAudienceIsWrong() + { + $now = time(); + $testConfig = $this->verifyIdTokenMinimal; + $origIdToken = [ + 'aud' => 'a different audience', + 'iss' => $testConfig['issuer'], + 'exp' => $now + 65, // arbitrary + 'iat' => $now, + ]; + $o = new OAuth2($testConfig); + $jwtIdToken = $this->jwtEncode($origIdToken, $this->privateKey, 'RS256'); + $o->setIdToken($jwtIdToken); + $o->verifyIdToken($this->publicKey, ['RS256']); + } + + public function testShouldReturnAValidIdToken() + { + $testConfig = $this->verifyIdTokenMinimal; + $now = time(); + $origIdToken = [ + 'aud' => $testConfig['audience'], + 'iss' => $testConfig['issuer'], + 'exp' => $now + 65, // arbitrary + 'iat' => $now, + ]; + $o = new OAuth2($testConfig); + $alg = 'RS256'; + $jwtIdToken = $this->jwtEncode($origIdToken, $this->privateKey, $alg); + $o->setIdToken($jwtIdToken); + $roundTrip = $o->verifyIdToken($this->publicKey, array($alg)); + $this->assertEquals($origIdToken['aud'], $roundTrip->aud); + } + + private function jwtEncode() + { + $args = func_get_args(); + $class = 'JWT'; + if (class_exists('Firebase\JWT\JWT')) { + $class = 'Firebase\JWT\JWT'; + } + + return call_user_func_array("$class::encode", $args); + } +} diff --git a/vendor/google/auth/tests/Subscriber/AuthTokenSubscriberTest.php b/vendor/google/auth/tests/Subscriber/AuthTokenSubscriberTest.php new file mode 100644 index 00000000..287692b0 --- /dev/null +++ b/vendor/google/auth/tests/Subscriber/AuthTokenSubscriberTest.php @@ -0,0 +1,325 @@ +onlyGuzzle5(); + + $this->mockFetcher = + $this + ->getMockBuilder('Google\Auth\FetchAuthTokenInterface') + ->getMock(); + $this->mockCacheItem = + $this + ->getMockBuilder('Psr\Cache\CacheItemInterface') + ->getMock(); + $this->mockCache = + $this + ->getMockBuilder('Psr\Cache\CacheItemPoolInterface') + ->getMock(); + } + + public function testSubscribesToEvents() + { + $a = new AuthTokenSubscriber($this->mockFetcher); + $this->assertArrayHasKey('before', $a->getEvents()); + } + + public function testOnlyTouchesWhenAuthConfigScoped() + { + $s = new AuthTokenSubscriber($this->mockFetcher); + $client = new Client(); + $request = $client->createRequest('GET', 'http://testing.org', + ['auth' => 'not_google_auth']); + $before = new BeforeEvent(new Transaction($client, $request)); + $s->onBefore($before); + $this->assertSame($request->getHeader('Authorization'), ''); + } + + public function testAddsTheTokenAsAnAuthorizationHeader() + { + $authResult = ['access_token' => '1/abcdef1234567890']; + $this->mockFetcher + ->expects($this->once()) + ->method('fetchAuthToken') + ->will($this->returnValue($authResult)); + + // Run the test. + $a = new AuthTokenSubscriber($this->mockFetcher); + $client = new Client(); + $request = $client->createRequest('GET', 'http://testing.org', + ['auth' => 'google_auth']); + $before = new BeforeEvent(new Transaction($client, $request)); + $a->onBefore($before); + $this->assertSame($request->getHeader('Authorization'), + 'Bearer 1/abcdef1234567890'); + } + + public function testDoesNotAddAnAuthorizationHeaderOnNoAccessToken() + { + $authResult = ['not_access_token' => '1/abcdef1234567890']; + $this->mockFetcher + ->expects($this->once()) + ->method('fetchAuthToken') + ->will($this->returnValue($authResult)); + + // Run the test. + $a = new AuthTokenSubscriber($this->mockFetcher); + $client = new Client(); + $request = $client->createRequest('GET', 'http://testing.org', + ['auth' => 'google_auth']); + $before = new BeforeEvent(new Transaction($client, $request)); + $a->onBefore($before); + $this->assertSame($request->getHeader('Authorization'), ''); + } + + public function testUsesCachedAuthToken() + { + $cacheKey = 'myKey'; + $cachedValue = '2/abcdef1234567890'; + $this->mockCacheItem + ->expects($this->once()) + ->method('get') + ->will($this->returnValue($cachedValue)); + $this->mockCache + ->expects($this->once()) + ->method('getItem') + ->with($this->equalTo($cacheKey)) + ->will($this->returnValue($this->mockCacheItem)); + $this->mockFetcher + ->expects($this->never()) + ->method('fetchAuthToken'); + $this->mockFetcher + ->expects($this->any()) + ->method('getCacheKey') + ->will($this->returnValue($cacheKey)); + + // Run the test. + $cachedFetcher = new FetchAuthTokenCache( + $this->mockFetcher, + null, + $this->mockCache + ); + $a = new AuthTokenSubscriber($cachedFetcher); + $client = new Client(); + $request = $client->createRequest('GET', 'http://testing.org', + ['auth' => 'google_auth']); + $before = new BeforeEvent(new Transaction($client, $request)); + $a->onBefore($before); + $this->assertSame($request->getHeader('Authorization'), + 'Bearer 2/abcdef1234567890'); + } + + public function testGetsCachedAuthTokenUsingCachePrefix() + { + $prefix = 'test_prefix_'; + $cacheKey = 'myKey'; + $cachedValue = '2/abcdef1234567890'; + $this->mockCacheItem + ->expects($this->once()) + ->method('get') + ->will($this->returnValue($cachedValue)); + $this->mockCache + ->expects($this->once()) + ->method('getItem') + ->with($this->equalTo($prefix . $cacheKey)) + ->will($this->returnValue($this->mockCacheItem)); + $this->mockFetcher + ->expects($this->never()) + ->method('fetchAuthToken'); + $this->mockFetcher + ->expects($this->any()) + ->method('getCacheKey') + ->will($this->returnValue($cacheKey)); + + // Run the test + $cachedFetcher = new FetchAuthTokenCache( + $this->mockFetcher, + ['prefix' => $prefix], + $this->mockCache + ); + $a = new AuthTokenSubscriber($cachedFetcher); + $client = new Client(); + $request = $client->createRequest('GET', 'http://testing.org', + ['auth' => 'google_auth']); + $before = new BeforeEvent(new Transaction($client, $request)); + $a->onBefore($before); + $this->assertSame($request->getHeader('Authorization'), + 'Bearer 2/abcdef1234567890'); + } + + public function testShouldSaveValueInCacheWithCacheOptions() + { + $prefix = 'test_prefix_'; + $lifetime = '70707'; + $cacheKey = 'myKey'; + $token = '1/abcdef1234567890'; + $authResult = ['access_token' => $token]; + $this->mockCacheItem + ->expects($this->any()) + ->method('get') + ->will($this->returnValue(null)); + $this->mockCacheItem + ->expects($this->once()) + ->method('set') + ->with($this->equalTo($token)) + ->will($this->returnValue(false)); + $this->mockCacheItem + ->expects($this->once()) + ->method('expiresAfter') + ->with($this->equalTo($lifetime)); + $this->mockCache + ->expects($this->exactly(2)) + ->method('getItem') + ->with($this->equalTo($prefix . $cacheKey)) + ->will($this->returnValue($this->mockCacheItem)); + $this->mockFetcher + ->expects($this->any()) + ->method('getCacheKey') + ->will($this->returnValue($cacheKey)); + $this->mockFetcher + ->expects($this->once()) + ->method('fetchAuthToken') + ->will($this->returnValue($authResult)); + + // Run the test + $cachedFetcher = new FetchAuthTokenCache( + $this->mockFetcher, + ['prefix' => $prefix, 'lifetime' => $lifetime], + $this->mockCache + ); + $a = new AuthTokenSubscriber($cachedFetcher); + $client = new Client(); + $request = $client->createRequest('GET', 'http://testing.org', + ['auth' => 'google_auth']); + $before = new BeforeEvent(new Transaction($client, $request)); + $a->onBefore($before); + $this->assertSame($request->getHeader('Authorization'), + 'Bearer 1/abcdef1234567890'); + } + + /** @dataProvider provideShouldNotifyTokenCallback */ + public function testShouldNotifyTokenCallback(callable $tokenCallback) + { + $prefix = 'test_prefix_'; + $cacheKey = 'myKey'; + $token = '1/abcdef1234567890'; + $authResult = ['access_token' => $token]; + $this->mockCacheItem + ->expects($this->any()) + ->method('get') + ->will($this->returnValue(null)); + $this->mockCache + ->expects($this->any()) + ->method('getItem') + ->with($this->equalTo($prefix . $cacheKey)) + ->will($this->returnValue($this->mockCacheItem)); + $this->mockFetcher + ->expects($this->any()) + ->method('getCacheKey') + ->will($this->returnValue($cacheKey)); + $this->mockFetcher + ->expects($this->once()) + ->method('fetchAuthToken') + ->will($this->returnValue($authResult)); + + SubscriberCallback::$expectedKey = $this->getValidKeyName($prefix . $cacheKey); + SubscriberCallback::$expectedValue = $token; + SubscriberCallback::$called = false; + + // Run the test + $cachedFetcher = new FetchAuthTokenCache( + $this->mockFetcher, + ['prefix' => $prefix], + $this->mockCache + ); + $a = new AuthTokenSubscriber( + $cachedFetcher, + null, + $tokenCallback + ); + + $client = new Client(); + $request = $client->createRequest('GET', 'http://testing.org', + ['auth' => 'google_auth']); + $before = new BeforeEvent(new Transaction($client, $request)); + $a->onBefore($before); + $this->assertTrue(SubscriberCallback::$called); + } + + public function provideShouldNotifyTokenCallback() + { + SubscriberCallback::$phpunit = $this; + $anonymousFunc = function ($key, $value) { + SubscriberCallback::staticInvoke($key, $value); + }; + return [ + ['Google\Auth\Tests\SubscriberCallbackFunction'], + ['Google\Auth\Tests\SubscriberCallback::staticInvoke'], + [['Google\Auth\Tests\SubscriberCallback', 'staticInvoke']], + [$anonymousFunc], + [[new SubscriberCallback, 'staticInvoke']], + [[new SubscriberCallback, 'methodInvoke']], + [new SubscriberCallback], + ]; + } +} + +class SubscriberCallback +{ + public static $phpunit; + public static $expectedKey; + public static $expectedValue; + public static $called = false; + + public function __invoke($key, $value) + { + self::$phpunit->assertEquals(self::$expectedKey, $key); + self::$phpunit->assertEquals(self::$expectedValue, $value); + self::$called = true; + } + + public function methodInvoke($key, $value) + { + return $this($key, $value); + } + + public static function staticInvoke($key, $value) + { + $instance = new self(); + return $instance($key, $value); + } +} + +function SubscriberCallbackFunction($key, $value) +{ + return SubscriberCallback::staticInvoke($key, $value); +} diff --git a/vendor/google/auth/tests/Subscriber/ScopedAccessTokenSubscriberTest.php b/vendor/google/auth/tests/Subscriber/ScopedAccessTokenSubscriberTest.php new file mode 100644 index 00000000..b85dda56 --- /dev/null +++ b/vendor/google/auth/tests/Subscriber/ScopedAccessTokenSubscriberTest.php @@ -0,0 +1,238 @@ +onlyGuzzle5(); + + $this->mockCacheItem = + $this + ->getMockBuilder('Psr\Cache\CacheItemInterface') + ->getMock(); + $this->mockCache = + $this + ->getMockBuilder('Psr\Cache\CacheItemPoolInterface') + ->getMock(); + $this->mockRequest = + $this + ->getMockBuilder('GuzzleHttp\Psr7\Request') + ->disableOriginalConstructor() + ->getMock(); + } + + /** + * @expectedException InvalidArgumentException + */ + public function testRequiresScopeAsAStringOrArray() + { + $fakeAuthFunc = function ($unused_scopes) { + return '1/abcdef1234567890'; + }; + new ScopedAccessTokenSubscriber($fakeAuthFunc, new \stdClass(), array()); + } + + public function testSubscribesToEvents() + { + $fakeAuthFunc = function ($unused_scopes) { + return '1/abcdef1234567890'; + }; + $s = new ScopedAccessTokenSubscriber($fakeAuthFunc, self::TEST_SCOPE, array()); + $this->assertArrayHasKey('before', $s->getEvents()); + } + + public function testAddsTheTokenAsAnAuthorizationHeader() + { + $fakeAuthFunc = function ($unused_scopes) { + return '1/abcdef1234567890'; + }; + $s = new ScopedAccessTokenSubscriber($fakeAuthFunc, self::TEST_SCOPE, array()); + $client = new Client(); + $request = $client->createRequest('GET', 'http://testing.org', + ['auth' => 'scoped']); + $before = new BeforeEvent(new Transaction($client, $request)); + $s->onBefore($before); + $this->assertSame( + 'Bearer 1/abcdef1234567890', + $request->getHeader('Authorization') + ); + } + + public function testUsesCachedAuthToken() + { + $cachedValue = '2/abcdef1234567890'; + $fakeAuthFunc = function ($unused_scopes) { + return ''; + }; + $this->mockCacheItem + ->expects($this->once()) + ->method('get') + ->will($this->returnValue($cachedValue)); + $this->mockCache + ->expects($this->once()) + ->method('getItem') + ->with($this->getValidKeyName(self::TEST_SCOPE)) + ->will($this->returnValue($this->mockCacheItem)); + + // Run the test + $s = new ScopedAccessTokenSubscriber($fakeAuthFunc, self::TEST_SCOPE, array(), + $this->mockCache); + $client = new Client(); + $request = $client->createRequest('GET', 'http://testing.org', + ['auth' => 'scoped']); + $before = new BeforeEvent(new Transaction($client, $request)); + $s->onBefore($before); + $this->assertSame( + 'Bearer 2/abcdef1234567890', + $request->getHeader('Authorization') + ); + } + + public function testGetsCachedAuthTokenUsingCachePrefix() + { + $prefix = 'test_prefix_'; + $cachedValue = '2/abcdef1234567890'; + $fakeAuthFunc = function ($unused_scopes) { + return ''; + }; + $this->mockCacheItem + ->expects($this->once()) + ->method('get') + ->will($this->returnValue($cachedValue)); + $this->mockCache + ->expects($this->once()) + ->method('getItem') + ->with($prefix . $this->getValidKeyName(self::TEST_SCOPE)) + ->will($this->returnValue($this->mockCacheItem)); + + // Run the test + $s = new ScopedAccessTokenSubscriber($fakeAuthFunc, self::TEST_SCOPE, + ['prefix' => $prefix], + $this->mockCache); + $client = new Client(); + $request = $client->createRequest('GET', 'http://testing.org', + ['auth' => 'scoped']); + $before = new BeforeEvent(new Transaction($client, $request)); + $s->onBefore($before); + $this->assertSame( + 'Bearer 2/abcdef1234567890', + $request->getHeader('Authorization') + ); + } + + public function testShouldSaveValueInCache() + { + $token = '2/abcdef1234567890'; + $fakeAuthFunc = function ($unused_scopes) { + return '2/abcdef1234567890'; + }; + $this->mockCacheItem + ->expects($this->once()) + ->method('get') + ->will($this->returnValue(false)); + $this->mockCacheItem + ->expects($this->once()) + ->method('set') + ->with($this->equalTo($token)) + ->will($this->returnValue(false)); + $this->mockCache + ->expects($this->exactly(2)) + ->method('getItem') + ->with($this->getValidKeyName(self::TEST_SCOPE)) + ->will($this->returnValue($this->mockCacheItem)); + $s = new ScopedAccessTokenSubscriber($fakeAuthFunc, self::TEST_SCOPE, array(), + $this->mockCache); + $client = new Client(); + $request = $client->createRequest('GET', 'http://testing.org', + ['auth' => 'scoped']); + $before = new BeforeEvent(new Transaction($client, $request)); + $s->onBefore($before); + $this->assertSame( + 'Bearer 2/abcdef1234567890', + $request->getHeader('Authorization') + ); + } + + public function testShouldSaveValueInCacheWithCacheOptions() + { + $token = '2/abcdef1234567890'; + $prefix = 'test_prefix_'; + $lifetime = '70707'; + $fakeAuthFunc = function ($unused_scopes) { + return '2/abcdef1234567890'; + }; + $this->mockCacheItem + ->expects($this->once()) + ->method('get') + ->will($this->returnValue(false)); + $this->mockCacheItem + ->expects($this->once()) + ->method('set') + ->with($this->equalTo($token)); + $this->mockCacheItem + ->expects($this->once()) + ->method('expiresAfter') + ->with($this->equalTo($lifetime)); + $this->mockCache + ->expects($this->exactly(2)) + ->method('getItem') + ->with($prefix . $this->getValidKeyName(self::TEST_SCOPE)) + ->will($this->returnValue($this->mockCacheItem)); + + // Run the test + $s = new ScopedAccessTokenSubscriber($fakeAuthFunc, self::TEST_SCOPE, + ['prefix' => $prefix, 'lifetime' => $lifetime], + $this->mockCache); + $client = new Client(); + $request = $client->createRequest('GET', 'http://testing.org', + ['auth' => 'scoped']); + $before = new BeforeEvent(new Transaction($client, $request)); + $s->onBefore($before); + $this->assertSame( + 'Bearer 2/abcdef1234567890', + $request->getHeader('Authorization') + ); + } + + public function testOnlyTouchesWhenAuthConfigScoped() + { + $fakeAuthFunc = function ($unused_scopes) { + return '1/abcdef1234567890'; + }; + $s = new ScopedAccessTokenSubscriber($fakeAuthFunc, self::TEST_SCOPE, array()); + $client = new Client(); + $request = $client->createRequest('GET', 'http://testing.org', + ['auth' => 'notscoped']); + $before = new BeforeEvent(new Transaction($client, $request)); + $s->onBefore($before); + $this->assertSame('', $request->getHeader('Authorization')); + } +} diff --git a/vendor/google/auth/tests/Subscriber/SimpleSubscriberTest.php b/vendor/google/auth/tests/Subscriber/SimpleSubscriberTest.php new file mode 100644 index 00000000..6c392e66 --- /dev/null +++ b/vendor/google/auth/tests/Subscriber/SimpleSubscriberTest.php @@ -0,0 +1,69 @@ +onlyGuzzle5(); + } + + /** + * @expectedException InvalidArgumentException + */ + public function testRequiresADeveloperKey() + { + new SimpleSubscriber(['not_key' => 'a test key']); + } + + public function testSubscribesToEvents() + { + $events = (new SimpleSubscriber(['key' => 'a test key']))->getEvents(); + $this->assertArrayHasKey('before', $events); + } + + public function testAddsTheKeyToTheQuery() + { + $s = new SimpleSubscriber(['key' => 'test_key']); + $client = new Client(); + $request = $client->createRequest('GET', 'http://testing.org', + ['auth' => 'simple']); + $before = new BeforeEvent(new Transaction($client, $request)); + $s->onBefore($before); + $this->assertCount(1, $request->getQuery()); + $this->assertTrue($request->getQuery()->hasKey('key')); + $this->assertSame($request->getQuery()->get('key'), 'test_key'); + } + + public function testOnlyTouchesWhenAuthConfigIsSimple() + { + $s = new SimpleSubscriber(['key' => 'test_key']); + $client = new Client(); + $request = $client->createRequest('GET', 'http://testing.org', + ['auth' => 'notsimple']); + $before = new BeforeEvent(new Transaction($client, $request)); + $s->onBefore($before); + $this->assertCount(0, $request->getQuery()); + } +} diff --git a/vendor/google/auth/tests/bootstrap.php b/vendor/google/auth/tests/bootstrap.php new file mode 100644 index 00000000..6e7b7d5f --- /dev/null +++ b/vendor/google/auth/tests/bootstrap.php @@ -0,0 +1,55 @@ + $handler]); + + return new \Google\Auth\HttpHandler\Guzzle6HttpHandler($client); + } + + $client = new \GuzzleHttp\Client(); + $client->getEmitter()->attach( + new \GuzzleHttp\Subscriber\Mock($mockResponses) + ); + + return new \Google\Auth\HttpHandler\Guzzle5HttpHandler($client); +} diff --git a/vendor/google/auth/tests/fixtures/.config/gcloud/application_default_credentials.json b/vendor/google/auth/tests/fixtures/.config/gcloud/application_default_credentials.json new file mode 100644 index 00000000..608d325c --- /dev/null +++ b/vendor/google/auth/tests/fixtures/.config/gcloud/application_default_credentials.json @@ -0,0 +1,7 @@ +{ + "private_key_id": "key123", + "private_key": "privatekey", + "client_email": "hello@youarecool.com", + "client_id": "client123", + "type": "service_account" +} \ No newline at end of file diff --git a/vendor/google/auth/tests/fixtures/private.json b/vendor/google/auth/tests/fixtures/private.json new file mode 100644 index 00000000..608d325c --- /dev/null +++ b/vendor/google/auth/tests/fixtures/private.json @@ -0,0 +1,7 @@ +{ + "private_key_id": "key123", + "private_key": "privatekey", + "client_email": "hello@youarecool.com", + "client_id": "client123", + "type": "service_account" +} \ No newline at end of file diff --git a/vendor/google/auth/tests/fixtures/private.pem b/vendor/google/auth/tests/fixtures/private.pem new file mode 100644 index 00000000..00a658fe --- /dev/null +++ b/vendor/google/auth/tests/fixtures/private.pem @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXQIBAAKBgQDzU+jLTzW6154Joezxrd2+5pCNYP0HcaMoYqEyXfNRpkNE7wrQ +UEG830o4Qcaae2BhqZoujwSW7RkR6h0Fkd0WTR8h5J8rSGNHv/1jJoUUjP9iZ/5S +FAyIIyEYfDPqtnA4iF1QWO2lXWlEFSuZjwM/8jBmeGzoiw17akNThIw8NwIDAQAB +AoGATpboVloEAY/IdFX/QGOmfhTb1T3hG3lheBa695iOkO2BRo9qT7PMN6NqxlbA +PX7ht0lfCfCZS+HSOg4CR50/6WXHMSmwlvcjGuDIDKWjviQTTYE77MlVBQHw9WzY +PfiRBbtouyPGQtO4rk42zkIILC6exBZ1vKpRPOmTAnxrjCECQQD+56r6hYcS6GNp +NOWyv0eVFMBX4iNWAsRf9JVVvGDz2rVuhnkNiN73vfffDWvSXkCydL1jFmalgdQD +gm77UZQHAkEA9F+CauU0aZsJ1SthQ6H0sDQ+eNRUgnz4itnkSC2C20fZ3DaSpCMC +0go81CcZOhftNO730ILqiS67C3d3rqLqUQJBAP10ROHMmz4Fq7MUUcClyPtHIuk/ +hXskTTZL76DMKmrN8NDxDLSUf38+eJRkt+z4osPOp/E6eN3gdXr32nox50kCQCl8 +hXGMU+eR0IuF/88xkY7Qb8KnmWlFuhQohZ7TSyHbAttl0GNZJkNuRYFm2duI8FZK +M3wMnbCIZGy/7WuScOECQQCV+0yrf5dL1M2GHjJfwuTb00wRKalKQEH1v/kvE5vS +FmdN7BPK5Ra50MaecMNoYqu9rmtyWRBn93dcvKrL57nY +-----END RSA PRIVATE KEY----- diff --git a/vendor/google/auth/tests/fixtures/public.pem b/vendor/google/auth/tests/fixtures/public.pem new file mode 100644 index 00000000..00a8f7af --- /dev/null +++ b/vendor/google/auth/tests/fixtures/public.pem @@ -0,0 +1,6 @@ +-----BEGIN PUBLIC KEY----- +MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDzU+jLTzW6154Joezxrd2+5pCN +YP0HcaMoYqEyXfNRpkNE7wrQUEG830o4Qcaae2BhqZoujwSW7RkR6h0Fkd0WTR8h +5J8rSGNHv/1jJoUUjP9iZ/5SFAyIIyEYfDPqtnA4iF1QWO2lXWlEFSuZjwM/8jBm +eGzoiw17akNThIw8NwIDAQAB +-----END PUBLIC KEY----- diff --git a/vendor/google/auth/tests/fixtures2/.config/gcloud/application_default_credentials.json b/vendor/google/auth/tests/fixtures2/.config/gcloud/application_default_credentials.json new file mode 100644 index 00000000..5b5063d8 --- /dev/null +++ b/vendor/google/auth/tests/fixtures2/.config/gcloud/application_default_credentials.json @@ -0,0 +1,6 @@ +{ + "client_id": "client123", + "client_secret": "clientSecret123", + "refresh_token": "refreshToken123", + "type": "authorized_user" +} diff --git a/vendor/google/auth/tests/fixtures2/private.json b/vendor/google/auth/tests/fixtures2/private.json new file mode 100644 index 00000000..5b5063d8 --- /dev/null +++ b/vendor/google/auth/tests/fixtures2/private.json @@ -0,0 +1,6 @@ +{ + "client_id": "client123", + "client_secret": "clientSecret123", + "refresh_token": "refreshToken123", + "type": "authorized_user" +} diff --git a/vendor/google/auth/tests/mocks/AppIdentityService.php b/vendor/google/auth/tests/mocks/AppIdentityService.php new file mode 100644 index 00000000..324292a9 --- /dev/null +++ b/vendor/google/auth/tests/mocks/AppIdentityService.php @@ -0,0 +1,19 @@ + 'xyz', + 'expiration_time' => '2147483646', + ); + + public static function getAccessToken($scope) + { + self::$scope = $scope; + + return self::$accessToken; + } +} diff --git a/vendor/guzzlehttp/guzzle/.travis.yml b/vendor/guzzlehttp/guzzle/.travis.yml new file mode 100644 index 00000000..e2f4f702 --- /dev/null +++ b/vendor/guzzlehttp/guzzle/.travis.yml @@ -0,0 +1,41 @@ +language: php + +sudo: false + +php: + - 5.5 + - 5.6 + - 7.0 + - 7.1 + - hhvm + +before_script: + - curl --version + - composer install --no-interaction --prefer-source --dev + - ~/.nvm/nvm.sh install v0.6.14 + - ~/.nvm/nvm.sh run v0.6.14 + - '[ "$TRAVIS_PHP_VERSION" != "7.0" ] || echo "xdebug.overload_var_dump = 1" >> ~/.phpenv/versions/$(phpenv version-name)/etc/php.ini' + +script: make test + +matrix: + allow_failures: + - php: hhvm + fast_finish: true + +before_deploy: + - rvm 1.9.3 do gem install mime-types -v 2.6.2 + - make package + +deploy: + provider: releases + api_key: + secure: UpypqlYgsU68QT/x40YzhHXvzWjFwCNo9d+G8KAdm7U9+blFfcWhV1aMdzugvPMl6woXgvJj7qHq5tAL4v6oswCORhpSBfLgOQVFaica5LiHsvWlAedOhxGmnJqMTwuepjBCxXhs3+I8Kof1n4oUL9gKytXjOVCX/f7XU1HiinU= + file: + - build/artifacts/guzzle.phar + - build/artifacts/guzzle.zip + on: + repo: guzzle/guzzle + tags: true + all_branches: true + php: 5.5 diff --git a/vendor/guzzlehttp/guzzle/CHANGELOG.md b/vendor/guzzlehttp/guzzle/CHANGELOG.md new file mode 100644 index 00000000..dbce4ac8 --- /dev/null +++ b/vendor/guzzlehttp/guzzle/CHANGELOG.md @@ -0,0 +1,1243 @@ +# CHANGELOG + +## 6.2.3 - 2017-02-28 + +* Fix deprecations with guzzle/psr7 version 1.4 + +## 6.2.2 - 2016-10-08 + +* Allow to pass nullable Response to delay callable +* Only add scheme when host is present +* Fix drain case where content-length is the literal string zero +* Obfuscate in-URL credentials in exceptions + +## 6.2.1 - 2016-07-18 + +* Address HTTP_PROXY security vulnerability, CVE-2016-5385: + https://httpoxy.org/ +* Fixing timeout bug with StreamHandler: + https://github.com/guzzle/guzzle/pull/1488 +* Only read up to `Content-Length` in PHP StreamHandler to avoid timeouts when + a server does not honor `Connection: close`. +* Ignore URI fragment when sending requests. + +## 6.2.0 - 2016-03-21 + +* Feature: added `GuzzleHttp\json_encode` and `GuzzleHttp\json_decode`. + https://github.com/guzzle/guzzle/pull/1389 +* Bug fix: Fix sleep calculation when waiting for delayed requests. + https://github.com/guzzle/guzzle/pull/1324 +* Feature: More flexible history containers. + https://github.com/guzzle/guzzle/pull/1373 +* Bug fix: defer sink stream opening in StreamHandler. + https://github.com/guzzle/guzzle/pull/1377 +* Bug fix: do not attempt to escape cookie values. + https://github.com/guzzle/guzzle/pull/1406 +* Feature: report original content encoding and length on decoded responses. + https://github.com/guzzle/guzzle/pull/1409 +* Bug fix: rewind seekable request bodies before dispatching to cURL. + https://github.com/guzzle/guzzle/pull/1422 +* Bug fix: provide an empty string to `http_build_query` for HHVM workaround. + https://github.com/guzzle/guzzle/pull/1367 + +## 6.1.1 - 2015-11-22 + +* Bug fix: Proxy::wrapSync() now correctly proxies to the appropriate handler + https://github.com/guzzle/guzzle/commit/911bcbc8b434adce64e223a6d1d14e9a8f63e4e4 +* Feature: HandlerStack is now more generic. + https://github.com/guzzle/guzzle/commit/f2102941331cda544745eedd97fc8fd46e1ee33e +* Bug fix: setting verify to false in the StreamHandler now disables peer + verification. https://github.com/guzzle/guzzle/issues/1256 +* Feature: Middleware now uses an exception factory, including more error + context. https://github.com/guzzle/guzzle/pull/1282 +* Feature: better support for disabled functions. + https://github.com/guzzle/guzzle/pull/1287 +* Bug fix: fixed regression where MockHandler was not using `sink`. + https://github.com/guzzle/guzzle/pull/1292 + +## 6.1.0 - 2015-09-08 + +* Feature: Added the `on_stats` request option to provide access to transfer + statistics for requests. https://github.com/guzzle/guzzle/pull/1202 +* Feature: Added the ability to persist session cookies in CookieJars. + https://github.com/guzzle/guzzle/pull/1195 +* Feature: Some compatibility updates for Google APP Engine + https://github.com/guzzle/guzzle/pull/1216 +* Feature: Added support for NO_PROXY to prevent the use of a proxy based on + a simple set of rules. https://github.com/guzzle/guzzle/pull/1197 +* Feature: Cookies can now contain square brackets. + https://github.com/guzzle/guzzle/pull/1237 +* Bug fix: Now correctly parsing `=` inside of quotes in Cookies. + https://github.com/guzzle/guzzle/pull/1232 +* Bug fix: Cusotm cURL options now correctly override curl options of the + same name. https://github.com/guzzle/guzzle/pull/1221 +* Bug fix: Content-Type header is now added when using an explicitly provided + multipart body. https://github.com/guzzle/guzzle/pull/1218 +* Bug fix: Now ignoring Set-Cookie headers that have no name. +* Bug fix: Reason phrase is no longer cast to an int in some cases in the + cURL handler. https://github.com/guzzle/guzzle/pull/1187 +* Bug fix: Remove the Authorization header when redirecting if the Host + header changes. https://github.com/guzzle/guzzle/pull/1207 +* Bug fix: Cookie path matching fixes + https://github.com/guzzle/guzzle/issues/1129 +* Bug fix: Fixing the cURL `body_as_string` setting + https://github.com/guzzle/guzzle/pull/1201 +* Bug fix: quotes are no longer stripped when parsing cookies. + https://github.com/guzzle/guzzle/issues/1172 +* Bug fix: `form_params` and `query` now always uses the `&` separator. + https://github.com/guzzle/guzzle/pull/1163 +* Bug fix: Adding a Content-Length to PHP stream wrapper requests if not set. + https://github.com/guzzle/guzzle/pull/1189 + +## 6.0.2 - 2015-07-04 + +* Fixed a memory leak in the curl handlers in which references to callbacks + were not being removed by `curl_reset`. +* Cookies are now extracted properly before redirects. +* Cookies now allow more character ranges. +* Decoded Content-Encoding responses are now modified to correctly reflect + their state if the encoding was automatically removed by a handler. This + means that the `Content-Encoding` header may be removed an the + `Content-Length` modified to reflect the message size after removing the + encoding. +* Added a more explicit error message when trying to use `form_params` and + `multipart` in the same request. +* Several fixes for HHVM support. +* Functions are now conditionally required using an additional level of + indirection to help with global Composer installations. + +## 6.0.1 - 2015-05-27 + +* Fixed a bug with serializing the `query` request option where the `&` + separator was missing. +* Added a better error message for when `body` is provided as an array. Please + use `form_params` or `multipart` instead. +* Various doc fixes. + +## 6.0.0 - 2015-05-26 + +* See the UPGRADING.md document for more information. +* Added `multipart` and `form_params` request options. +* Added `synchronous` request option. +* Added the `on_headers` request option. +* Fixed `expect` handling. +* No longer adding default middlewares in the client ctor. These need to be + present on the provided handler in order to work. +* Requests are no longer initiated when sending async requests with the + CurlMultiHandler. This prevents unexpected recursion from requests completing + while ticking the cURL loop. +* Removed the semantics of setting `default` to `true`. This is no longer + required now that the cURL loop is not ticked for async requests. +* Added request and response logging middleware. +* No longer allowing self signed certificates when using the StreamHandler. +* Ensuring that `sink` is valid if saving to a file. +* Request exceptions now include a "handler context" which provides handler + specific contextual information. +* Added `GuzzleHttp\RequestOptions` to allow request options to be applied + using constants. +* `$maxHandles` has been removed from CurlMultiHandler. +* `MultipartPostBody` is now part of the `guzzlehttp/psr7` package. + +## 5.3.0 - 2015-05-19 + +* Mock now supports `save_to` +* Marked `AbstractRequestEvent::getTransaction()` as public. +* Fixed a bug in which multiple headers using different casing would overwrite + previous headers in the associative array. +* Added `Utils::getDefaultHandler()` +* Marked `GuzzleHttp\Client::getDefaultUserAgent` as deprecated. +* URL scheme is now always lowercased. + +## 6.0.0-beta.1 + +* Requires PHP >= 5.5 +* Updated to use PSR-7 + * Requires immutable messages, which basically means an event based system + owned by a request instance is no longer possible. + * Utilizing the [Guzzle PSR-7 package](https://github.com/guzzle/psr7). + * Removed the dependency on `guzzlehttp/streams`. These stream abstractions + are available in the `guzzlehttp/psr7` package under the `GuzzleHttp\Psr7` + namespace. +* Added middleware and handler system + * Replaced the Guzzle event and subscriber system with a middleware system. + * No longer depends on RingPHP, but rather places the HTTP handlers directly + in Guzzle, operating on PSR-7 messages. + * Retry logic is now encapsulated in `GuzzleHttp\Middleware::retry`, which + means the `guzzlehttp/retry-subscriber` is now obsolete. + * Mocking responses is now handled using `GuzzleHttp\Handler\MockHandler`. +* Asynchronous responses + * No longer supports the `future` request option to send an async request. + Instead, use one of the `*Async` methods of a client (e.g., `requestAsync`, + `getAsync`, etc.). + * Utilizing `GuzzleHttp\Promise` instead of React's promise library to avoid + recursion required by chaining and forwarding react promises. See + https://github.com/guzzle/promises + * Added `requestAsync` and `sendAsync` to send request asynchronously. + * Added magic methods for `getAsync()`, `postAsync()`, etc. to send requests + asynchronously. +* Request options + * POST and form updates + * Added the `form_fields` and `form_files` request options. + * Removed the `GuzzleHttp\Post` namespace. + * The `body` request option no longer accepts an array for POST requests. + * The `exceptions` request option has been deprecated in favor of the + `http_errors` request options. + * The `save_to` request option has been deprecated in favor of `sink` request + option. +* Clients no longer accept an array of URI template string and variables for + URI variables. You will need to expand URI templates before passing them + into a client constructor or request method. +* Client methods `get()`, `post()`, `put()`, `patch()`, `options()`, etc. are + now magic methods that will send synchronous requests. +* Replaced `Utils.php` with plain functions in `functions.php`. +* Removed `GuzzleHttp\Collection`. +* Removed `GuzzleHttp\BatchResults`. Batched pool results are now returned as + an array. +* Removed `GuzzleHttp\Query`. Query string handling is now handled using an + associative array passed into the `query` request option. The query string + is serialized using PHP's `http_build_query`. If you need more control, you + can pass the query string in as a string. +* `GuzzleHttp\QueryParser` has been replaced with the + `GuzzleHttp\Psr7\parse_query`. + +## 5.2.0 - 2015-01-27 + +* Added `AppliesHeadersInterface` to make applying headers to a request based + on the body more generic and not specific to `PostBodyInterface`. +* Reduced the number of stack frames needed to send requests. +* Nested futures are now resolved in the client rather than the RequestFsm +* Finishing state transitions is now handled in the RequestFsm rather than the + RingBridge. +* Added a guard in the Pool class to not use recursion for request retries. + +## 5.1.0 - 2014-12-19 + +* Pool class no longer uses recursion when a request is intercepted. +* The size of a Pool can now be dynamically adjusted using a callback. + See https://github.com/guzzle/guzzle/pull/943. +* Setting a request option to `null` when creating a request with a client will + ensure that the option is not set. This allows you to overwrite default + request options on a per-request basis. + See https://github.com/guzzle/guzzle/pull/937. +* Added the ability to limit which protocols are allowed for redirects by + specifying a `protocols` array in the `allow_redirects` request option. +* Nested futures due to retries are now resolved when waiting for synchronous + responses. See https://github.com/guzzle/guzzle/pull/947. +* `"0"` is now an allowed URI path. See + https://github.com/guzzle/guzzle/pull/935. +* `Query` no longer typehints on the `$query` argument in the constructor, + allowing for strings and arrays. +* Exceptions thrown in the `end` event are now correctly wrapped with Guzzle + specific exceptions if necessary. + +## 5.0.3 - 2014-11-03 + +This change updates query strings so that they are treated as un-encoded values +by default where the value represents an un-encoded value to send over the +wire. A Query object then encodes the value before sending over the wire. This +means that even value query string values (e.g., ":") are url encoded. This +makes the Query class match PHP's http_build_query function. However, if you +want to send requests over the wire using valid query string characters that do +not need to be encoded, then you can provide a string to Url::setQuery() and +pass true as the second argument to specify that the query string is a raw +string that should not be parsed or encoded (unless a call to getQuery() is +subsequently made, forcing the query-string to be converted into a Query +object). + +## 5.0.2 - 2014-10-30 + +* Added a trailing `\r\n` to multipart/form-data payloads. See + https://github.com/guzzle/guzzle/pull/871 +* Added a `GuzzleHttp\Pool::send()` convenience method to match the docs. +* Status codes are now returned as integers. See + https://github.com/guzzle/guzzle/issues/881 +* No longer overwriting an existing `application/x-www-form-urlencoded` header + when sending POST requests, allowing for customized headers. See + https://github.com/guzzle/guzzle/issues/877 +* Improved path URL serialization. + + * No longer double percent-encoding characters in the path or query string if + they are already encoded. + * Now properly encoding the supplied path to a URL object, instead of only + encoding ' ' and '?'. + * Note: This has been changed in 5.0.3 to now encode query string values by + default unless the `rawString` argument is provided when setting the query + string on a URL: Now allowing many more characters to be present in the + query string without being percent encoded. See http://tools.ietf.org/html/rfc3986#appendix-A + +## 5.0.1 - 2014-10-16 + +Bugfix release. + +* Fixed an issue where connection errors still returned response object in + error and end events event though the response is unusable. This has been + corrected so that a response is not returned in the `getResponse` method of + these events if the response did not complete. https://github.com/guzzle/guzzle/issues/867 +* Fixed an issue where transfer statistics were not being populated in the + RingBridge. https://github.com/guzzle/guzzle/issues/866 + +## 5.0.0 - 2014-10-12 + +Adding support for non-blocking responses and some minor API cleanup. + +### New Features + +* Added support for non-blocking responses based on `guzzlehttp/guzzle-ring`. +* Added a public API for creating a default HTTP adapter. +* Updated the redirect plugin to be non-blocking so that redirects are sent + concurrently. Other plugins like this can now be updated to be non-blocking. +* Added a "progress" event so that you can get upload and download progress + events. +* Added `GuzzleHttp\Pool` which implements FutureInterface and transfers + requests concurrently using a capped pool size as efficiently as possible. +* Added `hasListeners()` to EmitterInterface. +* Removed `GuzzleHttp\ClientInterface::sendAll` and marked + `GuzzleHttp\Client::sendAll` as deprecated (it's still there, just not the + recommended way). + +### Breaking changes + +The breaking changes in this release are relatively minor. The biggest thing to +look out for is that request and response objects no longer implement fluent +interfaces. + +* Removed the fluent interfaces (i.e., `return $this`) from requests, + responses, `GuzzleHttp\Collection`, `GuzzleHttp\Url`, + `GuzzleHttp\Query`, `GuzzleHttp\Post\PostBody`, and + `GuzzleHttp\Cookie\SetCookie`. This blog post provides a good outline of + why I did this: http://ocramius.github.io/blog/fluent-interfaces-are-evil/. + This also makes the Guzzle message interfaces compatible with the current + PSR-7 message proposal. +* Removed "functions.php", so that Guzzle is truly PSR-4 compliant. Except + for the HTTP request functions from function.php, these functions are now + implemented in `GuzzleHttp\Utils` using camelCase. `GuzzleHttp\json_decode` + moved to `GuzzleHttp\Utils::jsonDecode`. `GuzzleHttp\get_path` moved to + `GuzzleHttp\Utils::getPath`. `GuzzleHttp\set_path` moved to + `GuzzleHttp\Utils::setPath`. `GuzzleHttp\batch` should now be + `GuzzleHttp\Pool::batch`, which returns an `objectStorage`. Using functions.php + caused problems for many users: they aren't PSR-4 compliant, require an + explicit include, and needed an if-guard to ensure that the functions are not + declared multiple times. +* Rewrote adapter layer. + * Removing all classes from `GuzzleHttp\Adapter`, these are now + implemented as callables that are stored in `GuzzleHttp\Ring\Client`. + * Removed the concept of "parallel adapters". Sending requests serially or + concurrently is now handled using a single adapter. + * Moved `GuzzleHttp\Adapter\Transaction` to `GuzzleHttp\Transaction`. The + Transaction object now exposes the request, response, and client as public + properties. The getters and setters have been removed. +* Removed the "headers" event. This event was only useful for changing the + body a response once the headers of the response were known. You can implement + a similar behavior in a number of ways. One example might be to use a + FnStream that has access to the transaction being sent. For example, when the + first byte is written, you could check if the response headers match your + expectations, and if so, change the actual stream body that is being + written to. +* Removed the `asArray` parameter from + `GuzzleHttp\Message\MessageInterface::getHeader`. If you want to get a header + value as an array, then use the newly added `getHeaderAsArray()` method of + `MessageInterface`. This change makes the Guzzle interfaces compatible with + the PSR-7 interfaces. +* `GuzzleHttp\Message\MessageFactory` no longer allows subclasses to add + custom request options using double-dispatch (this was an implementation + detail). Instead, you should now provide an associative array to the + constructor which is a mapping of the request option name mapping to a + function that applies the option value to a request. +* Removed the concept of "throwImmediately" from exceptions and error events. + This control mechanism was used to stop a transfer of concurrent requests + from completing. This can now be handled by throwing the exception or by + cancelling a pool of requests or each outstanding future request individually. +* Updated to "GuzzleHttp\Streams" 3.0. + * `GuzzleHttp\Stream\StreamInterface::getContents()` no longer accepts a + `maxLen` parameter. This update makes the Guzzle streams project + compatible with the current PSR-7 proposal. + * `GuzzleHttp\Stream\Stream::__construct`, + `GuzzleHttp\Stream\Stream::factory`, and + `GuzzleHttp\Stream\Utils::create` no longer accept a size in the second + argument. They now accept an associative array of options, including the + "size" key and "metadata" key which can be used to provide custom metadata. + +## 4.2.2 - 2014-09-08 + +* Fixed a memory leak in the CurlAdapter when reusing cURL handles. +* No longer using `request_fulluri` in stream adapter proxies. +* Relative redirects are now based on the last response, not the first response. + +## 4.2.1 - 2014-08-19 + +* Ensuring that the StreamAdapter does not always add a Content-Type header +* Adding automated github releases with a phar and zip + +## 4.2.0 - 2014-08-17 + +* Now merging in default options using a case-insensitive comparison. + Closes https://github.com/guzzle/guzzle/issues/767 +* Added the ability to automatically decode `Content-Encoding` response bodies + using the `decode_content` request option. This is set to `true` by default + to decode the response body if it comes over the wire with a + `Content-Encoding`. Set this value to `false` to disable decoding the + response content, and pass a string to provide a request `Accept-Encoding` + header and turn on automatic response decoding. This feature now allows you + to pass an `Accept-Encoding` header in the headers of a request but still + disable automatic response decoding. + Closes https://github.com/guzzle/guzzle/issues/764 +* Added the ability to throw an exception immediately when transferring + requests in parallel. Closes https://github.com/guzzle/guzzle/issues/760 +* Updating guzzlehttp/streams dependency to ~2.1 +* No longer utilizing the now deprecated namespaced methods from the stream + package. + +## 4.1.8 - 2014-08-14 + +* Fixed an issue in the CurlFactory that caused setting the `stream=false` + request option to throw an exception. + See: https://github.com/guzzle/guzzle/issues/769 +* TransactionIterator now calls rewind on the inner iterator. + See: https://github.com/guzzle/guzzle/pull/765 +* You can now set the `Content-Type` header to `multipart/form-data` + when creating POST requests to force multipart bodies. + See https://github.com/guzzle/guzzle/issues/768 + +## 4.1.7 - 2014-08-07 + +* Fixed an error in the HistoryPlugin that caused the same request and response + to be logged multiple times when an HTTP protocol error occurs. +* Ensuring that cURL does not add a default Content-Type when no Content-Type + has been supplied by the user. This prevents the adapter layer from modifying + the request that is sent over the wire after any listeners may have already + put the request in a desired state (e.g., signed the request). +* Throwing an exception when you attempt to send requests that have the + "stream" set to true in parallel using the MultiAdapter. +* Only calling curl_multi_select when there are active cURL handles. This was + previously changed and caused performance problems on some systems due to PHP + always selecting until the maximum select timeout. +* Fixed a bug where multipart/form-data POST fields were not correctly + aggregated (e.g., values with "&"). + +## 4.1.6 - 2014-08-03 + +* Added helper methods to make it easier to represent messages as strings, + including getting the start line and getting headers as a string. + +## 4.1.5 - 2014-08-02 + +* Automatically retrying cURL "Connection died, retrying a fresh connect" + errors when possible. +* cURL implementation cleanup +* Allowing multiple event subscriber listeners to be registered per event by + passing an array of arrays of listener configuration. + +## 4.1.4 - 2014-07-22 + +* Fixed a bug that caused multi-part POST requests with more than one field to + serialize incorrectly. +* Paths can now be set to "0" +* `ResponseInterface::xml` now accepts a `libxml_options` option and added a + missing default argument that was required when parsing XML response bodies. +* A `save_to` stream is now created lazily, which means that files are not + created on disk unless a request succeeds. + +## 4.1.3 - 2014-07-15 + +* Various fixes to multipart/form-data POST uploads +* Wrapping function.php in an if-statement to ensure Guzzle can be used + globally and in a Composer install +* Fixed an issue with generating and merging in events to an event array +* POST headers are only applied before sending a request to allow you to change + the query aggregator used before uploading +* Added much more robust query string parsing +* Fixed various parsing and normalization issues with URLs +* Fixing an issue where multi-valued headers were not being utilized correctly + in the StreamAdapter + +## 4.1.2 - 2014-06-18 + +* Added support for sending payloads with GET requests + +## 4.1.1 - 2014-06-08 + +* Fixed an issue related to using custom message factory options in subclasses +* Fixed an issue with nested form fields in a multi-part POST +* Fixed an issue with using the `json` request option for POST requests +* Added `ToArrayInterface` to `GuzzleHttp\Cookie\CookieJar` + +## 4.1.0 - 2014-05-27 + +* Added a `json` request option to easily serialize JSON payloads. +* Added a `GuzzleHttp\json_decode()` wrapper to safely parse JSON. +* Added `setPort()` and `getPort()` to `GuzzleHttp\Message\RequestInterface`. +* Added the ability to provide an emitter to a client in the client constructor. +* Added the ability to persist a cookie session using $_SESSION. +* Added a trait that can be used to add event listeners to an iterator. +* Removed request method constants from RequestInterface. +* Fixed warning when invalid request start-lines are received. +* Updated MessageFactory to work with custom request option methods. +* Updated cacert bundle to latest build. + +4.0.2 (2014-04-16) +------------------ + +* Proxy requests using the StreamAdapter now properly use request_fulluri (#632) +* Added the ability to set scalars as POST fields (#628) + +## 4.0.1 - 2014-04-04 + +* The HTTP status code of a response is now set as the exception code of + RequestException objects. +* 303 redirects will now correctly switch from POST to GET requests. +* The default parallel adapter of a client now correctly uses the MultiAdapter. +* HasDataTrait now initializes the internal data array as an empty array so + that the toArray() method always returns an array. + +## 4.0.0 - 2014-03-29 + +* For more information on the 4.0 transition, see: + http://mtdowling.com/blog/2014/03/15/guzzle-4-rc/ +* For information on changes and upgrading, see: + https://github.com/guzzle/guzzle/blob/master/UPGRADING.md#3x-to-40 +* Added `GuzzleHttp\batch()` as a convenience function for sending requests in + parallel without needing to write asynchronous code. +* Restructured how events are added to `GuzzleHttp\ClientInterface::sendAll()`. + You can now pass a callable or an array of associative arrays where each + associative array contains the "fn", "priority", and "once" keys. + +## 4.0.0.rc-2 - 2014-03-25 + +* Removed `getConfig()` and `setConfig()` from clients to avoid confusion + around whether things like base_url, message_factory, etc. should be able to + be retrieved or modified. +* Added `getDefaultOption()` and `setDefaultOption()` to ClientInterface +* functions.php functions were renamed using snake_case to match PHP idioms +* Added support for `HTTP_PROXY`, `HTTPS_PROXY`, and + `GUZZLE_CURL_SELECT_TIMEOUT` environment variables +* Added the ability to specify custom `sendAll()` event priorities +* Added the ability to specify custom stream context options to the stream + adapter. +* Added a functions.php function for `get_path()` and `set_path()` +* CurlAdapter and MultiAdapter now use a callable to generate curl resources +* MockAdapter now properly reads a body and emits a `headers` event +* Updated Url class to check if a scheme and host are set before adding ":" + and "//". This allows empty Url (e.g., "") to be serialized as "". +* Parsing invalid XML no longer emits warnings +* Curl classes now properly throw AdapterExceptions +* Various performance optimizations +* Streams are created with the faster `Stream\create()` function +* Marked deprecation_proxy() as internal +* Test server is now a collection of static methods on a class + +## 4.0.0-rc.1 - 2014-03-15 + +* See https://github.com/guzzle/guzzle/blob/master/UPGRADING.md#3x-to-40 + +## 3.8.1 - 2014-01-28 + +* Bug: Always using GET requests when redirecting from a 303 response +* Bug: CURLOPT_SSL_VERIFYHOST is now correctly set to false when setting `$certificateAuthority` to false in + `Guzzle\Http\ClientInterface::setSslVerification()` +* Bug: RedirectPlugin now uses strict RFC 3986 compliance when combining a base URL with a relative URL +* Bug: The body of a request can now be set to `"0"` +* Sending PHP stream requests no longer forces `HTTP/1.0` +* Adding more information to ExceptionCollection exceptions so that users have more context, including a stack trace of + each sub-exception +* Updated the `$ref` attribute in service descriptions to merge over any existing parameters of a schema (rather than + clobbering everything). +* Merging URLs will now use the query string object from the relative URL (thus allowing custom query aggregators) +* Query strings are now parsed in a way that they do no convert empty keys with no value to have a dangling `=`. + For example `foo&bar=baz` is now correctly parsed and recognized as `foo&bar=baz` rather than `foo=&bar=baz`. +* Now properly escaping the regular expression delimiter when matching Cookie domains. +* Network access is now disabled when loading XML documents + +## 3.8.0 - 2013-12-05 + +* Added the ability to define a POST name for a file +* JSON response parsing now properly walks additionalProperties +* cURL error code 18 is now retried automatically in the BackoffPlugin +* Fixed a cURL error when URLs contain fragments +* Fixed an issue in the BackoffPlugin retry event where it was trying to access all exceptions as if they were + CurlExceptions +* CURLOPT_PROGRESS function fix for PHP 5.5 (69fcc1e) +* Added the ability for Guzzle to work with older versions of cURL that do not support `CURLOPT_TIMEOUT_MS` +* Fixed a bug that was encountered when parsing empty header parameters +* UriTemplate now has a `setRegex()` method to match the docs +* The `debug` request parameter now checks if it is truthy rather than if it exists +* Setting the `debug` request parameter to true shows verbose cURL output instead of using the LogPlugin +* Added the ability to combine URLs using strict RFC 3986 compliance +* Command objects can now return the validation errors encountered by the command +* Various fixes to cache revalidation (#437 and 29797e5) +* Various fixes to the AsyncPlugin +* Cleaned up build scripts + +## 3.7.4 - 2013-10-02 + +* Bug fix: 0 is now an allowed value in a description parameter that has a default value (#430) +* Bug fix: SchemaFormatter now returns an integer when formatting to a Unix timestamp + (see https://github.com/aws/aws-sdk-php/issues/147) +* Bug fix: Cleaned up and fixed URL dot segment removal to properly resolve internal dots +* Minimum PHP version is now properly specified as 5.3.3 (up from 5.3.2) (#420) +* Updated the bundled cacert.pem (#419) +* OauthPlugin now supports adding authentication to headers or query string (#425) + +## 3.7.3 - 2013-09-08 + +* Added the ability to get the exception associated with a request/command when using `MultiTransferException` and + `CommandTransferException`. +* Setting `additionalParameters` of a response to false is now honored when parsing responses with a service description +* Schemas are only injected into response models when explicitly configured. +* No longer guessing Content-Type based on the path of a request. Content-Type is now only guessed based on the path of + an EntityBody. +* Bug fix: ChunkedIterator can now properly chunk a \Traversable as well as an \Iterator. +* Bug fix: FilterIterator now relies on `\Iterator` instead of `\Traversable`. +* Bug fix: Gracefully handling malformed responses in RequestMediator::writeResponseBody() +* Bug fix: Replaced call to canCache with canCacheRequest in the CallbackCanCacheStrategy of the CachePlugin +* Bug fix: Visiting XML attributes first before visiting XML children when serializing requests +* Bug fix: Properly parsing headers that contain commas contained in quotes +* Bug fix: mimetype guessing based on a filename is now case-insensitive + +## 3.7.2 - 2013-08-02 + +* Bug fix: Properly URL encoding paths when using the PHP-only version of the UriTemplate expander + See https://github.com/guzzle/guzzle/issues/371 +* Bug fix: Cookie domains are now matched correctly according to RFC 6265 + See https://github.com/guzzle/guzzle/issues/377 +* Bug fix: GET parameters are now used when calculating an OAuth signature +* Bug fix: Fixed an issue with cache revalidation where the If-None-Match header was being double quoted +* `Guzzle\Common\AbstractHasDispatcher::dispatch()` now returns the event that was dispatched +* `Guzzle\Http\QueryString::factory()` now guesses the most appropriate query aggregator to used based on the input. + See https://github.com/guzzle/guzzle/issues/379 +* Added a way to add custom domain objects to service description parsing using the `operation.parse_class` event. See + https://github.com/guzzle/guzzle/pull/380 +* cURL multi cleanup and optimizations + +## 3.7.1 - 2013-07-05 + +* Bug fix: Setting default options on a client now works +* Bug fix: Setting options on HEAD requests now works. See #352 +* Bug fix: Moving stream factory before send event to before building the stream. See #353 +* Bug fix: Cookies no longer match on IP addresses per RFC 6265 +* Bug fix: Correctly parsing header parameters that are in `<>` and quotes +* Added `cert` and `ssl_key` as request options +* `Host` header can now diverge from the host part of a URL if the header is set manually +* `Guzzle\Service\Command\LocationVisitor\Request\XmlVisitor` was rewritten to change from using SimpleXML to XMLWriter +* OAuth parameters are only added via the plugin if they aren't already set +* Exceptions are now thrown when a URL cannot be parsed +* Returning `false` if `Guzzle\Http\EntityBody::getContentMd5()` fails +* Not setting a `Content-MD5` on a command if calculating the Content-MD5 fails via the CommandContentMd5Plugin + +## 3.7.0 - 2013-06-10 + +* See UPGRADING.md for more information on how to upgrade. +* Requests now support the ability to specify an array of $options when creating a request to more easily modify a + request. You can pass a 'request.options' configuration setting to a client to apply default request options to + every request created by a client (e.g. default query string variables, headers, curl options, etc.). +* Added a static facade class that allows you to use Guzzle with static methods and mount the class to `\Guzzle`. + See `Guzzle\Http\StaticClient::mount`. +* Added `command.request_options` to `Guzzle\Service\Command\AbstractCommand` to pass request options to requests + created by a command (e.g. custom headers, query string variables, timeout settings, etc.). +* Stream size in `Guzzle\Stream\PhpStreamRequestFactory` will now be set if Content-Length is returned in the + headers of a response +* Added `Guzzle\Common\Collection::setPath($path, $value)` to set a value into an array using a nested key + (e.g. `$collection->setPath('foo/baz/bar', 'test'); echo $collection['foo']['bar']['bar'];`) +* ServiceBuilders now support storing and retrieving arbitrary data +* CachePlugin can now purge all resources for a given URI +* CachePlugin can automatically purge matching cached items when a non-idempotent request is sent to a resource +* CachePlugin now uses the Vary header to determine if a resource is a cache hit +* `Guzzle\Http\Message\Response` now implements `\Serializable` +* Added `Guzzle\Cache\CacheAdapterFactory::fromCache()` to more easily create cache adapters +* `Guzzle\Service\ClientInterface::execute()` now accepts an array, single command, or Traversable +* Fixed a bug in `Guzzle\Http\Message\Header\Link::addLink()` +* Better handling of calculating the size of a stream in `Guzzle\Stream\Stream` using fstat() and caching the size +* `Guzzle\Common\Exception\ExceptionCollection` now creates a more readable exception message +* Fixing BC break: Added back the MonologLogAdapter implementation rather than extending from PsrLog so that older + Symfony users can still use the old version of Monolog. +* Fixing BC break: Added the implementation back in for `Guzzle\Http\Message\AbstractMessage::getTokenizedHeader()`. + Now triggering an E_USER_DEPRECATED warning when used. Use `$message->getHeader()->parseParams()`. +* Several performance improvements to `Guzzle\Common\Collection` +* Added an `$options` argument to the end of the following methods of `Guzzle\Http\ClientInterface`: + createRequest, head, delete, put, patch, post, options, prepareRequest +* Added an `$options` argument to the end of `Guzzle\Http\Message\Request\RequestFactoryInterface::createRequest()` +* Added an `applyOptions()` method to `Guzzle\Http\Message\Request\RequestFactoryInterface` +* Changed `Guzzle\Http\ClientInterface::get($uri = null, $headers = null, $body = null)` to + `Guzzle\Http\ClientInterface::get($uri = null, $headers = null, $options = array())`. You can still pass in a + resource, string, or EntityBody into the $options parameter to specify the download location of the response. +* Changed `Guzzle\Common\Collection::__construct($data)` to no longer accepts a null value for `$data` but a + default `array()` +* Added `Guzzle\Stream\StreamInterface::isRepeatable` +* Removed `Guzzle\Http\ClientInterface::setDefaultHeaders(). Use + $client->getConfig()->setPath('request.options/headers/{header_name}', 'value')`. or + $client->getConfig()->setPath('request.options/headers', array('header_name' => 'value'))`. +* Removed `Guzzle\Http\ClientInterface::getDefaultHeaders(). Use $client->getConfig()->getPath('request.options/headers')`. +* Removed `Guzzle\Http\ClientInterface::expandTemplate()` +* Removed `Guzzle\Http\ClientInterface::setRequestFactory()` +* Removed `Guzzle\Http\ClientInterface::getCurlMulti()` +* Removed `Guzzle\Http\Message\RequestInterface::canCache` +* Removed `Guzzle\Http\Message\RequestInterface::setIsRedirect` +* Removed `Guzzle\Http\Message\RequestInterface::isRedirect` +* Made `Guzzle\Http\Client::expandTemplate` and `getUriTemplate` protected methods. +* You can now enable E_USER_DEPRECATED warnings to see if you are using a deprecated method by setting + `Guzzle\Common\Version::$emitWarnings` to true. +* Marked `Guzzle\Http\Message\Request::isResponseBodyRepeatable()` as deprecated. Use + `$request->getResponseBody()->isRepeatable()` instead. +* Marked `Guzzle\Http\Message\Request::canCache()` as deprecated. Use + `Guzzle\Plugin\Cache\DefaultCanCacheStrategy->canCacheRequest()` instead. +* Marked `Guzzle\Http\Message\Request::canCache()` as deprecated. Use + `Guzzle\Plugin\Cache\DefaultCanCacheStrategy->canCacheRequest()` instead. +* Marked `Guzzle\Http\Message\Request::setIsRedirect()` as deprecated. Use the HistoryPlugin instead. +* Marked `Guzzle\Http\Message\Request::isRedirect()` as deprecated. Use the HistoryPlugin instead. +* Marked `Guzzle\Cache\CacheAdapterFactory::factory()` as deprecated +* Marked 'command.headers', 'command.response_body' and 'command.on_complete' as deprecated for AbstractCommand. + These will work through Guzzle 4.0 +* Marked 'request.params' for `Guzzle\Http\Client` as deprecated. Use [request.options][params]. +* Marked `Guzzle\Service\Client::enableMagicMethods()` as deprecated. Magic methods can no longer be disabled on a Guzzle\Service\Client. +* Marked `Guzzle\Service\Client::getDefaultHeaders()` as deprecated. Use $client->getConfig()->getPath('request.options/headers')`. +* Marked `Guzzle\Service\Client::setDefaultHeaders()` as deprecated. Use $client->getConfig()->setPath('request.options/headers/{header_name}', 'value')`. +* Marked `Guzzle\Parser\Url\UrlParser` as deprecated. Just use PHP's `parse_url()` and percent encode your UTF-8. +* Marked `Guzzle\Common\Collection::inject()` as deprecated. +* Marked `Guzzle\Plugin\CurlAuth\CurlAuthPlugin` as deprecated. Use `$client->getConfig()->setPath('request.options/auth', array('user', 'pass', 'Basic|Digest');` +* CacheKeyProviderInterface and DefaultCacheKeyProvider are no longer used. All of this logic is handled in a + CacheStorageInterface. These two objects and interface will be removed in a future version. +* Always setting X-cache headers on cached responses +* Default cache TTLs are now handled by the CacheStorageInterface of a CachePlugin +* `CacheStorageInterface::cache($key, Response $response, $ttl = null)` has changed to `cache(RequestInterface + $request, Response $response);` +* `CacheStorageInterface::fetch($key)` has changed to `fetch(RequestInterface $request);` +* `CacheStorageInterface::delete($key)` has changed to `delete(RequestInterface $request);` +* Added `CacheStorageInterface::purge($url)` +* `DefaultRevalidation::__construct(CacheKeyProviderInterface $cacheKey, CacheStorageInterface $cache, CachePlugin + $plugin)` has changed to `DefaultRevalidation::__construct(CacheStorageInterface $cache, + CanCacheStrategyInterface $canCache = null)` +* Added `RevalidationInterface::shouldRevalidate(RequestInterface $request, Response $response)` + +## 3.6.0 - 2013-05-29 + +* ServiceDescription now implements ToArrayInterface +* Added command.hidden_params to blacklist certain headers from being treated as additionalParameters +* Guzzle can now correctly parse incomplete URLs +* Mixed casing of headers are now forced to be a single consistent casing across all values for that header. +* Messages internally use a HeaderCollection object to delegate handling case-insensitive header resolution +* Removed the whole changedHeader() function system of messages because all header changes now go through addHeader(). +* Specific header implementations can be created for complex headers. When a message creates a header, it uses a + HeaderFactory which can map specific headers to specific header classes. There is now a Link header and + CacheControl header implementation. +* Removed from interface: Guzzle\Http\ClientInterface::setUriTemplate +* Removed from interface: Guzzle\Http\ClientInterface::setCurlMulti() +* Removed Guzzle\Http\Message\Request::receivedRequestHeader() and implemented this functionality in + Guzzle\Http\Curl\RequestMediator +* Removed the optional $asString parameter from MessageInterface::getHeader(). Just cast the header to a string. +* Removed the optional $tryChunkedTransfer option from Guzzle\Http\Message\EntityEnclosingRequestInterface +* Removed the $asObjects argument from Guzzle\Http\Message\MessageInterface::getHeaders() +* Removed Guzzle\Parser\ParserRegister::get(). Use getParser() +* Removed Guzzle\Parser\ParserRegister::set(). Use registerParser(). +* All response header helper functions return a string rather than mixing Header objects and strings inconsistently +* Removed cURL blacklist support. This is no longer necessary now that Expect, Accept, etc. are managed by Guzzle + directly via interfaces +* Removed the injecting of a request object onto a response object. The methods to get and set a request still exist + but are a no-op until removed. +* Most classes that used to require a `Guzzle\Service\Command\CommandInterface` typehint now request a + `Guzzle\Service\Command\ArrayCommandInterface`. +* Added `Guzzle\Http\Message\RequestInterface::startResponse()` to the RequestInterface to handle injecting a response + on a request while the request is still being transferred +* The ability to case-insensitively search for header values +* Guzzle\Http\Message\Header::hasExactHeader +* Guzzle\Http\Message\Header::raw. Use getAll() +* Deprecated cache control specific methods on Guzzle\Http\Message\AbstractMessage. Use the CacheControl header object + instead. +* `Guzzle\Service\Command\CommandInterface` now extends from ToArrayInterface and ArrayAccess +* Added the ability to cast Model objects to a string to view debug information. + +## 3.5.0 - 2013-05-13 + +* Bug: Fixed a regression so that request responses are parsed only once per oncomplete event rather than multiple times +* Bug: Better cleanup of one-time events across the board (when an event is meant to fire once, it will now remove + itself from the EventDispatcher) +* Bug: `Guzzle\Log\MessageFormatter` now properly writes "total_time" and "connect_time" values +* Bug: Cloning an EntityEnclosingRequest now clones the EntityBody too +* Bug: Fixed an undefined index error when parsing nested JSON responses with a sentAs parameter that reference a + non-existent key +* Bug: All __call() method arguments are now required (helps with mocking frameworks) +* Deprecating Response::getRequest() and now using a shallow clone of a request object to remove a circular reference + to help with refcount based garbage collection of resources created by sending a request +* Deprecating ZF1 cache and log adapters. These will be removed in the next major version. +* Deprecating `Response::getPreviousResponse()` (method signature still exists, but it's deprecated). Use the + HistoryPlugin for a history. +* Added a `responseBody` alias for the `response_body` location +* Refactored internals to no longer rely on Response::getRequest() +* HistoryPlugin can now be cast to a string +* HistoryPlugin now logs transactions rather than requests and responses to more accurately keep track of the requests + and responses that are sent over the wire +* Added `getEffectiveUrl()` and `getRedirectCount()` to Response objects + +## 3.4.3 - 2013-04-30 + +* Bug fix: Fixing bug introduced in 3.4.2 where redirect responses are duplicated on the final redirected response +* Added a check to re-extract the temp cacert bundle from the phar before sending each request + +## 3.4.2 - 2013-04-29 + +* Bug fix: Stream objects now work correctly with "a" and "a+" modes +* Bug fix: Removing `Transfer-Encoding: chunked` header when a Content-Length is present +* Bug fix: AsyncPlugin no longer forces HEAD requests +* Bug fix: DateTime timezones are now properly handled when using the service description schema formatter +* Bug fix: CachePlugin now properly handles stale-if-error directives when a request to the origin server fails +* Setting a response on a request will write to the custom request body from the response body if one is specified +* LogPlugin now writes to php://output when STDERR is undefined +* Added the ability to set multiple POST files for the same key in a single call +* application/x-www-form-urlencoded POSTs now use the utf-8 charset by default +* Added the ability to queue CurlExceptions to the MockPlugin +* Cleaned up how manual responses are queued on requests (removed "queued_response" and now using request.before_send) +* Configuration loading now allows remote files + +## 3.4.1 - 2013-04-16 + +* Large refactoring to how CurlMulti handles work. There is now a proxy that sits in front of a pool of CurlMulti + handles. This greatly simplifies the implementation, fixes a couple bugs, and provides a small performance boost. +* Exceptions are now properly grouped when sending requests in parallel +* Redirects are now properly aggregated when a multi transaction fails +* Redirects now set the response on the original object even in the event of a failure +* Bug fix: Model names are now properly set even when using $refs +* Added support for PHP 5.5's CurlFile to prevent warnings with the deprecated @ syntax +* Added support for oauth_callback in OAuth signatures +* Added support for oauth_verifier in OAuth signatures +* Added support to attempt to retrieve a command first literally, then ucfirst, the with inflection + +## 3.4.0 - 2013-04-11 + +* Bug fix: URLs are now resolved correctly based on http://tools.ietf.org/html/rfc3986#section-5.2. #289 +* Bug fix: Absolute URLs with a path in a service description will now properly override the base URL. #289 +* Bug fix: Parsing a query string with a single PHP array value will now result in an array. #263 +* Bug fix: Better normalization of the User-Agent header to prevent duplicate headers. #264. +* Bug fix: Added `number` type to service descriptions. +* Bug fix: empty parameters are removed from an OAuth signature +* Bug fix: Revalidating a cache entry prefers the Last-Modified over the Date header +* Bug fix: Fixed "array to string" error when validating a union of types in a service description +* Bug fix: Removed code that attempted to determine the size of a stream when data is written to the stream +* Bug fix: Not including an `oauth_token` if the value is null in the OauthPlugin. +* Bug fix: Now correctly aggregating successful requests and failed requests in CurlMulti when a redirect occurs. +* The new default CURLOPT_TIMEOUT setting has been increased to 150 seconds so that Guzzle works on poor connections. +* Added a feature to EntityEnclosingRequest::setBody() that will automatically set the Content-Type of the request if + the Content-Type can be determined based on the entity body or the path of the request. +* Added the ability to overwrite configuration settings in a client when grabbing a throwaway client from a builder. +* Added support for a PSR-3 LogAdapter. +* Added a `command.after_prepare` event +* Added `oauth_callback` parameter to the OauthPlugin +* Added the ability to create a custom stream class when using a stream factory +* Added a CachingEntityBody decorator +* Added support for `additionalParameters` in service descriptions to define how custom parameters are serialized. +* The bundled SSL certificate is now provided in the phar file and extracted when running Guzzle from a phar. +* You can now send any EntityEnclosingRequest with POST fields or POST files and cURL will handle creating bodies +* POST requests using a custom entity body are now treated exactly like PUT requests but with a custom cURL method. This + means that the redirect behavior of POST requests with custom bodies will not be the same as POST requests that use + POST fields or files (the latter is only used when emulating a form POST in the browser). +* Lots of cleanup to CurlHandle::factory and RequestFactory::createRequest + +## 3.3.1 - 2013-03-10 + +* Added the ability to create PHP streaming responses from HTTP requests +* Bug fix: Running any filters when parsing response headers with service descriptions +* Bug fix: OauthPlugin fixes to allow for multi-dimensional array signing, and sorting parameters before signing +* Bug fix: Removed the adding of default empty arrays and false Booleans to responses in order to be consistent across + response location visitors. +* Bug fix: Removed the possibility of creating configuration files with circular dependencies +* RequestFactory::create() now uses the key of a POST file when setting the POST file name +* Added xmlAllowEmpty to serialize an XML body even if no XML specific parameters are set + +## 3.3.0 - 2013-03-03 + +* A large number of performance optimizations have been made +* Bug fix: Added 'wb' as a valid write mode for streams +* Bug fix: `Guzzle\Http\Message\Response::json()` now allows scalar values to be returned +* Bug fix: Fixed bug in `Guzzle\Http\Message\Response` where wrapping quotes were stripped from `getEtag()` +* BC: Removed `Guzzle\Http\Utils` class +* BC: Setting a service description on a client will no longer modify the client's command factories. +* BC: Emitting IO events from a RequestMediator is now a parameter that must be set in a request's curl options using + the 'emit_io' key. This was previously set under a request's parameters using 'curl.emit_io' +* BC: `Guzzle\Stream\Stream::getWrapper()` and `Guzzle\Stream\Stream::getSteamType()` are no longer converted to + lowercase +* Operation parameter objects are now lazy loaded internally +* Added ErrorResponsePlugin that can throw errors for responses defined in service description operations' errorResponses +* Added support for instantiating responseType=class responseClass classes. Classes must implement + `Guzzle\Service\Command\ResponseClassInterface` +* Added support for additionalProperties for top-level parameters in responseType=model responseClasses. These + additional properties also support locations and can be used to parse JSON responses where the outermost part of the + JSON is an array +* Added support for nested renaming of JSON models (rename sentAs to name) +* CachePlugin + * Added support for stale-if-error so that the CachePlugin can now serve stale content from the cache on error + * Debug headers can now added to cached response in the CachePlugin + +## 3.2.0 - 2013-02-14 + +* CurlMulti is no longer reused globally. A new multi object is created per-client. This helps to isolate clients. +* URLs with no path no longer contain a "/" by default +* Guzzle\Http\QueryString does no longer manages the leading "?". This is now handled in Guzzle\Http\Url. +* BadResponseException no longer includes the full request and response message +* Adding setData() to Guzzle\Service\Description\ServiceDescriptionInterface +* Adding getResponseBody() to Guzzle\Http\Message\RequestInterface +* Various updates to classes to use ServiceDescriptionInterface type hints rather than ServiceDescription +* Header values can now be normalized into distinct values when multiple headers are combined with a comma separated list +* xmlEncoding can now be customized for the XML declaration of a XML service description operation +* Guzzle\Http\QueryString now uses Guzzle\Http\QueryAggregator\QueryAggregatorInterface objects to add custom value + aggregation and no longer uses callbacks +* The URL encoding implementation of Guzzle\Http\QueryString can now be customized +* Bug fix: Filters were not always invoked for array service description parameters +* Bug fix: Redirects now use a target response body rather than a temporary response body +* Bug fix: The default exponential backoff BackoffPlugin was not giving when the request threshold was exceeded +* Bug fix: Guzzle now takes the first found value when grabbing Cache-Control directives + +## 3.1.2 - 2013-01-27 + +* Refactored how operation responses are parsed. Visitors now include a before() method responsible for parsing the + response body. For example, the XmlVisitor now parses the XML response into an array in the before() method. +* Fixed an issue where cURL would not automatically decompress responses when the Accept-Encoding header was sent +* CURLOPT_SSL_VERIFYHOST is never set to 1 because it is deprecated (see 5e0ff2ef20f839e19d1eeb298f90ba3598784444) +* Fixed a bug where redirect responses were not chained correctly using getPreviousResponse() +* Setting default headers on a client after setting the user-agent will not erase the user-agent setting + +## 3.1.1 - 2013-01-20 + +* Adding wildcard support to Guzzle\Common\Collection::getPath() +* Adding alias support to ServiceBuilder configs +* Adding Guzzle\Service\Resource\CompositeResourceIteratorFactory and cleaning up factory interface + +## 3.1.0 - 2013-01-12 + +* BC: CurlException now extends from RequestException rather than BadResponseException +* BC: Renamed Guzzle\Plugin\Cache\CanCacheStrategyInterface::canCache() to canCacheRequest() and added CanCacheResponse() +* Added getData to ServiceDescriptionInterface +* Added context array to RequestInterface::setState() +* Bug: Removing hard dependency on the BackoffPlugin from Guzzle\Http +* Bug: Adding required content-type when JSON request visitor adds JSON to a command +* Bug: Fixing the serialization of a service description with custom data +* Made it easier to deal with exceptions thrown when transferring commands or requests in parallel by providing + an array of successful and failed responses +* Moved getPath from Guzzle\Service\Resource\Model to Guzzle\Common\Collection +* Added Guzzle\Http\IoEmittingEntityBody +* Moved command filtration from validators to location visitors +* Added `extends` attributes to service description parameters +* Added getModels to ServiceDescriptionInterface + +## 3.0.7 - 2012-12-19 + +* Fixing phar detection when forcing a cacert to system if null or true +* Allowing filename to be passed to `Guzzle\Http\Message\Request::setResponseBody()` +* Cleaning up `Guzzle\Common\Collection::inject` method +* Adding a response_body location to service descriptions + +## 3.0.6 - 2012-12-09 + +* CurlMulti performance improvements +* Adding setErrorResponses() to Operation +* composer.json tweaks + +## 3.0.5 - 2012-11-18 + +* Bug: Fixing an infinite recursion bug caused from revalidating with the CachePlugin +* Bug: Response body can now be a string containing "0" +* Bug: Using Guzzle inside of a phar uses system by default but now allows for a custom cacert +* Bug: QueryString::fromString now properly parses query string parameters that contain equal signs +* Added support for XML attributes in service description responses +* DefaultRequestSerializer now supports array URI parameter values for URI template expansion +* Added better mimetype guessing to requests and post files + +## 3.0.4 - 2012-11-11 + +* Bug: Fixed a bug when adding multiple cookies to a request to use the correct glue value +* Bug: Cookies can now be added that have a name, domain, or value set to "0" +* Bug: Using the system cacert bundle when using the Phar +* Added json and xml methods to Response to make it easier to parse JSON and XML response data into data structures +* Enhanced cookie jar de-duplication +* Added the ability to enable strict cookie jars that throw exceptions when invalid cookies are added +* Added setStream to StreamInterface to actually make it possible to implement custom rewind behavior for entity bodies +* Added the ability to create any sort of hash for a stream rather than just an MD5 hash + +## 3.0.3 - 2012-11-04 + +* Implementing redirects in PHP rather than cURL +* Added PECL URI template extension and using as default parser if available +* Bug: Fixed Content-Length parsing of Response factory +* Adding rewind() method to entity bodies and streams. Allows for custom rewinding of non-repeatable streams. +* Adding ToArrayInterface throughout library +* Fixing OauthPlugin to create unique nonce values per request + +## 3.0.2 - 2012-10-25 + +* Magic methods are enabled by default on clients +* Magic methods return the result of a command +* Service clients no longer require a base_url option in the factory +* Bug: Fixed an issue with URI templates where null template variables were being expanded + +## 3.0.1 - 2012-10-22 + +* Models can now be used like regular collection objects by calling filter, map, etc. +* Models no longer require a Parameter structure or initial data in the constructor +* Added a custom AppendIterator to get around a PHP bug with the `\AppendIterator` + +## 3.0.0 - 2012-10-15 + +* Rewrote service description format to be based on Swagger + * Now based on JSON schema + * Added nested input structures and nested response models + * Support for JSON and XML input and output models + * Renamed `commands` to `operations` + * Removed dot class notation + * Removed custom types +* Broke the project into smaller top-level namespaces to be more component friendly +* Removed support for XML configs and descriptions. Use arrays or JSON files. +* Removed the Validation component and Inspector +* Moved all cookie code to Guzzle\Plugin\Cookie +* Magic methods on a Guzzle\Service\Client now return the command un-executed. +* Calling getResult() or getResponse() on a command will lazily execute the command if needed. +* Now shipping with cURL's CA certs and using it by default +* Added previousResponse() method to response objects +* No longer sending Accept and Accept-Encoding headers on every request +* Only sending an Expect header by default when a payload is greater than 1MB +* Added/moved client options: + * curl.blacklist to curl.option.blacklist + * Added ssl.certificate_authority +* Added a Guzzle\Iterator component +* Moved plugins from Guzzle\Http\Plugin to Guzzle\Plugin +* Added a more robust backoff retry strategy (replaced the ExponentialBackoffPlugin) +* Added a more robust caching plugin +* Added setBody to response objects +* Updating LogPlugin to use a more flexible MessageFormatter +* Added a completely revamped build process +* Cleaning up Collection class and removing default values from the get method +* Fixed ZF2 cache adapters + +## 2.8.8 - 2012-10-15 + +* Bug: Fixed a cookie issue that caused dot prefixed domains to not match where popular browsers did + +## 2.8.7 - 2012-09-30 + +* Bug: Fixed config file aliases for JSON includes +* Bug: Fixed cookie bug on a request object by using CookieParser to parse cookies on requests +* Bug: Removing the path to a file when sending a Content-Disposition header on a POST upload +* Bug: Hardening request and response parsing to account for missing parts +* Bug: Fixed PEAR packaging +* Bug: Fixed Request::getInfo +* Bug: Fixed cases where CURLM_CALL_MULTI_PERFORM return codes were causing curl transactions to fail +* Adding the ability for the namespace Iterator factory to look in multiple directories +* Added more getters/setters/removers from service descriptions +* Added the ability to remove POST fields from OAuth signatures +* OAuth plugin now supports 2-legged OAuth + +## 2.8.6 - 2012-09-05 + +* Added the ability to modify and build service descriptions +* Added the use of visitors to apply parameters to locations in service descriptions using the dynamic command +* Added a `json` parameter location +* Now allowing dot notation for classes in the CacheAdapterFactory +* Using the union of two arrays rather than an array_merge when extending service builder services and service params +* Ensuring that a service is a string before doing strpos() checks on it when substituting services for references + in service builder config files. +* Services defined in two different config files that include one another will by default replace the previously + defined service, but you can now create services that extend themselves and merge their settings over the previous +* The JsonLoader now supports aliasing filenames with different filenames. This allows you to alias something like + '_default' with a default JSON configuration file. + +## 2.8.5 - 2012-08-29 + +* Bug: Suppressed empty arrays from URI templates +* Bug: Added the missing $options argument from ServiceDescription::factory to enable caching +* Added support for HTTP responses that do not contain a reason phrase in the start-line +* AbstractCommand commands are now invokable +* Added a way to get the data used when signing an Oauth request before a request is sent + +## 2.8.4 - 2012-08-15 + +* Bug: Custom delay time calculations are no longer ignored in the ExponentialBackoffPlugin +* Added the ability to transfer entity bodies as a string rather than streamed. This gets around curl error 65. Set `body_as_string` in a request's curl options to enable. +* Added a StreamInterface, EntityBodyInterface, and added ftell() to Guzzle\Common\Stream +* Added an AbstractEntityBodyDecorator and a ReadLimitEntityBody decorator to transfer only a subset of a decorated stream +* Stream and EntityBody objects will now return the file position to the previous position after a read required operation (e.g. getContentMd5()) +* Added additional response status codes +* Removed SSL information from the default User-Agent header +* DELETE requests can now send an entity body +* Added an EventDispatcher to the ExponentialBackoffPlugin and added an ExponentialBackoffLogger to log backoff retries +* Added the ability of the MockPlugin to consume mocked request bodies +* LogPlugin now exposes request and response objects in the extras array + +## 2.8.3 - 2012-07-30 + +* Bug: Fixed a case where empty POST requests were sent as GET requests +* Bug: Fixed a bug in ExponentialBackoffPlugin that caused fatal errors when retrying an EntityEnclosingRequest that does not have a body +* Bug: Setting the response body of a request to null after completing a request, not when setting the state of a request to new +* Added multiple inheritance to service description commands +* Added an ApiCommandInterface and added `getParamNames()` and `hasParam()` +* Removed the default 2mb size cutoff from the Md5ValidatorPlugin so that it now defaults to validating everything +* Changed CurlMulti::perform to pass a smaller timeout to CurlMulti::executeHandles + +## 2.8.2 - 2012-07-24 + +* Bug: Query string values set to 0 are no longer dropped from the query string +* Bug: A Collection object is no longer created each time a call is made to `Guzzle\Service\Command\AbstractCommand::getRequestHeaders()` +* Bug: `+` is now treated as an encoded space when parsing query strings +* QueryString and Collection performance improvements +* Allowing dot notation for class paths in filters attribute of a service descriptions + +## 2.8.1 - 2012-07-16 + +* Loosening Event Dispatcher dependency +* POST redirects can now be customized using CURLOPT_POSTREDIR + +## 2.8.0 - 2012-07-15 + +* BC: Guzzle\Http\Query + * Query strings with empty variables will always show an equal sign unless the variable is set to QueryString::BLANK (e.g. ?acl= vs ?acl) + * Changed isEncodingValues() and isEncodingFields() to isUrlEncoding() + * Changed setEncodeValues(bool) and setEncodeFields(bool) to useUrlEncoding(bool) + * Changed the aggregation functions of QueryString to be static methods + * Can now use fromString() with querystrings that have a leading ? +* cURL configuration values can be specified in service descriptions using `curl.` prefixed parameters +* Content-Length is set to 0 before emitting the request.before_send event when sending an empty request body +* Cookies are no longer URL decoded by default +* Bug: URI template variables set to null are no longer expanded + +## 2.7.2 - 2012-07-02 + +* BC: Moving things to get ready for subtree splits. Moving Inflection into Common. Moving Guzzle\Http\Parser to Guzzle\Parser. +* BC: Removing Guzzle\Common\Batch\Batch::count() and replacing it with isEmpty() +* CachePlugin now allows for a custom request parameter function to check if a request can be cached +* Bug fix: CachePlugin now only caches GET and HEAD requests by default +* Bug fix: Using header glue when transferring headers over the wire +* Allowing deeply nested arrays for composite variables in URI templates +* Batch divisors can now return iterators or arrays + +## 2.7.1 - 2012-06-26 + +* Minor patch to update version number in UA string +* Updating build process + +## 2.7.0 - 2012-06-25 + +* BC: Inflection classes moved to Guzzle\Inflection. No longer static methods. Can now inject custom inflectors into classes. +* BC: Removed magic setX methods from commands +* BC: Magic methods mapped to service description commands are now inflected in the command factory rather than the client __call() method +* Verbose cURL options are no longer enabled by default. Set curl.debug to true on a client to enable. +* Bug: Now allowing colons in a response start-line (e.g. HTTP/1.1 503 Service Unavailable: Back-end server is at capacity) +* Guzzle\Service\Resource\ResourceIteratorApplyBatched now internally uses the Guzzle\Common\Batch namespace +* Added Guzzle\Service\Plugin namespace and a PluginCollectionPlugin +* Added the ability to set POST fields and files in a service description +* Guzzle\Http\EntityBody::factory() now accepts objects with a __toString() method +* Adding a command.before_prepare event to clients +* Added BatchClosureTransfer and BatchClosureDivisor +* BatchTransferException now includes references to the batch divisor and transfer strategies +* Fixed some tests so that they pass more reliably +* Added Guzzle\Common\Log\ArrayLogAdapter + +## 2.6.6 - 2012-06-10 + +* BC: Removing Guzzle\Http\Plugin\BatchQueuePlugin +* BC: Removing Guzzle\Service\Command\CommandSet +* Adding generic batching system (replaces the batch queue plugin and command set) +* Updating ZF cache and log adapters and now using ZF's composer repository +* Bug: Setting the name of each ApiParam when creating through an ApiCommand +* Adding result_type, result_doc, deprecated, and doc_url to service descriptions +* Bug: Changed the default cookie header casing back to 'Cookie' + +## 2.6.5 - 2012-06-03 + +* BC: Renaming Guzzle\Http\Message\RequestInterface::getResourceUri() to getResource() +* BC: Removing unused AUTH_BASIC and AUTH_DIGEST constants from +* BC: Guzzle\Http\Cookie is now used to manage Set-Cookie data, not Cookie data +* BC: Renaming methods in the CookieJarInterface +* Moving almost all cookie logic out of the CookiePlugin and into the Cookie or CookieJar implementations +* Making the default glue for HTTP headers ';' instead of ',' +* Adding a removeValue to Guzzle\Http\Message\Header +* Adding getCookies() to request interface. +* Making it easier to add event subscribers to HasDispatcherInterface classes. Can now directly call addSubscriber() + +## 2.6.4 - 2012-05-30 + +* BC: Cleaning up how POST files are stored in EntityEnclosingRequest objects. Adding PostFile class. +* BC: Moving ApiCommand specific functionality from the Inspector and on to the ApiCommand +* Bug: Fixing magic method command calls on clients +* Bug: Email constraint only validates strings +* Bug: Aggregate POST fields when POST files are present in curl handle +* Bug: Fixing default User-Agent header +* Bug: Only appending or prepending parameters in commands if they are specified +* Bug: Not requiring response reason phrases or status codes to match a predefined list of codes +* Allowing the use of dot notation for class namespaces when using instance_of constraint +* Added any_match validation constraint +* Added an AsyncPlugin +* Passing request object to the calculateWait method of the ExponentialBackoffPlugin +* Allowing the result of a command object to be changed +* Parsing location and type sub values when instantiating a service description rather than over and over at runtime + +## 2.6.3 - 2012-05-23 + +* [BC] Guzzle\Common\FromConfigInterface no longer requires any config options. +* [BC] Refactoring how POST files are stored on an EntityEnclosingRequest. They are now separate from POST fields. +* You can now use an array of data when creating PUT request bodies in the request factory. +* Removing the requirement that HTTPS requests needed a Cache-Control: public directive to be cacheable. +* [Http] Adding support for Content-Type in multipart POST uploads per upload +* [Http] Added support for uploading multiple files using the same name (foo[0], foo[1]) +* Adding more POST data operations for easier manipulation of POST data. +* You can now set empty POST fields. +* The body of a request is only shown on EntityEnclosingRequest objects that do not use POST files. +* Split the Guzzle\Service\Inspector::validateConfig method into two methods. One to initialize when a command is created, and one to validate. +* CS updates + +## 2.6.2 - 2012-05-19 + +* [Http] Better handling of nested scope requests in CurlMulti. Requests are now always prepares in the send() method rather than the addRequest() method. + +## 2.6.1 - 2012-05-19 + +* [BC] Removing 'path' support in service descriptions. Use 'uri'. +* [BC] Guzzle\Service\Inspector::parseDocBlock is now protected. Adding getApiParamsForClass() with cache. +* [BC] Removing Guzzle\Common\NullObject. Use https://github.com/mtdowling/NullObject if you need it. +* [BC] Removing Guzzle\Common\XmlElement. +* All commands, both dynamic and concrete, have ApiCommand objects. +* Adding a fix for CurlMulti so that if all of the connections encounter some sort of curl error, then the loop exits. +* Adding checks to EntityEnclosingRequest so that empty POST files and fields are ignored. +* Making the method signature of Guzzle\Service\Builder\ServiceBuilder::factory more flexible. + +## 2.6.0 - 2012-05-15 + +* [BC] Moving Guzzle\Service\Builder to Guzzle\Service\Builder\ServiceBuilder +* [BC] Executing a Command returns the result of the command rather than the command +* [BC] Moving all HTTP parsing logic to Guzzle\Http\Parsers. Allows for faster C implementations if needed. +* [BC] Changing the Guzzle\Http\Message\Response::setProtocol() method to accept a protocol and version in separate args. +* [BC] Moving ResourceIterator* to Guzzle\Service\Resource +* [BC] Completely refactored ResourceIterators to iterate over a cloned command object +* [BC] Moved Guzzle\Http\UriTemplate to Guzzle\Http\Parser\UriTemplate\UriTemplate +* [BC] Guzzle\Guzzle is now deprecated +* Moving Guzzle\Common\Guzzle::inject to Guzzle\Common\Collection::inject +* Adding Guzzle\Version class to give version information about Guzzle +* Adding Guzzle\Http\Utils class to provide getDefaultUserAgent() and getHttpDate() +* Adding Guzzle\Curl\CurlVersion to manage caching curl_version() data +* ServiceDescription and ServiceBuilder are now cacheable using similar configs +* Changing the format of XML and JSON service builder configs. Backwards compatible. +* Cleaned up Cookie parsing +* Trimming the default Guzzle User-Agent header +* Adding a setOnComplete() method to Commands that is called when a command completes +* Keeping track of requests that were mocked in the MockPlugin +* Fixed a caching bug in the CacheAdapterFactory +* Inspector objects can be injected into a Command object +* Refactoring a lot of code and tests to be case insensitive when dealing with headers +* Adding Guzzle\Http\Message\HeaderComparison for easy comparison of HTTP headers using a DSL +* Adding the ability to set global option overrides to service builder configs +* Adding the ability to include other service builder config files from within XML and JSON files +* Moving the parseQuery method out of Url and on to QueryString::fromString() as a static factory method. + +## 2.5.0 - 2012-05-08 + +* Major performance improvements +* [BC] Simplifying Guzzle\Common\Collection. Please check to see if you are using features that are now deprecated. +* [BC] Using a custom validation system that allows a flyweight implementation for much faster validation. No longer using Symfony2 Validation component. +* [BC] No longer supporting "{{ }}" for injecting into command or UriTemplates. Use "{}" +* Added the ability to passed parameters to all requests created by a client +* Added callback functionality to the ExponentialBackoffPlugin +* Using microtime in ExponentialBackoffPlugin to allow more granular backoff strategies. +* Rewinding request stream bodies when retrying requests +* Exception is thrown when JSON response body cannot be decoded +* Added configurable magic method calls to clients and commands. This is off by default. +* Fixed a defect that added a hash to every parsed URL part +* Fixed duplicate none generation for OauthPlugin. +* Emitting an event each time a client is generated by a ServiceBuilder +* Using an ApiParams object instead of a Collection for parameters of an ApiCommand +* cache.* request parameters should be renamed to params.cache.* +* Added the ability to set arbitrary curl options on requests (disable_wire, progress, etc.). See CurlHandle. +* Added the ability to disable type validation of service descriptions +* ServiceDescriptions and ServiceBuilders are now Serializable diff --git a/vendor/guzzlehttp/guzzle/LICENSE b/vendor/guzzlehttp/guzzle/LICENSE new file mode 100644 index 00000000..ea7f07c5 --- /dev/null +++ b/vendor/guzzlehttp/guzzle/LICENSE @@ -0,0 +1,19 @@ +Copyright (c) 2011-2016 Michael Dowling, https://github.com/mtdowling + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/vendor/guzzlehttp/guzzle/README.md b/vendor/guzzlehttp/guzzle/README.md new file mode 100644 index 00000000..772b18d0 --- /dev/null +++ b/vendor/guzzlehttp/guzzle/README.md @@ -0,0 +1,90 @@ +Guzzle, PHP HTTP client +======================= + +[![Build Status](https://travis-ci.org/guzzle/guzzle.svg?branch=master)](https://travis-ci.org/guzzle/guzzle) + +Guzzle is a PHP HTTP client that makes it easy to send HTTP requests and +trivial to integrate with web services. + +- Simple interface for building query strings, POST requests, streaming large + uploads, streaming large downloads, using HTTP cookies, uploading JSON data, + etc... +- Can send both synchronous and asynchronous requests using the same interface. +- Uses PSR-7 interfaces for requests, responses, and streams. This allows you + to utilize other PSR-7 compatible libraries with Guzzle. +- Abstracts away the underlying HTTP transport, allowing you to write + environment and transport agnostic code; i.e., no hard dependency on cURL, + PHP streams, sockets, or non-blocking event loops. +- Middleware system allows you to augment and compose client behavior. + +```php +$client = new \GuzzleHttp\Client(); +$res = $client->request('GET', 'https://api.github.com/user', [ + 'auth' => ['user', 'pass'] +]); +echo $res->getStatusCode(); +// 200 +echo $res->getHeaderLine('content-type'); +// 'application/json; charset=utf8' +echo $res->getBody(); +// {"type":"User"...' + +// Send an asynchronous request. +$request = new \GuzzleHttp\Psr7\Request('GET', 'http://httpbin.org'); +$promise = $client->sendAsync($request)->then(function ($response) { + echo 'I completed! ' . $response->getBody(); +}); +$promise->wait(); +``` + +## Help and docs + +- [Documentation](http://guzzlephp.org/) +- [stackoverflow](http://stackoverflow.com/questions/tagged/guzzle) +- [Gitter](https://gitter.im/guzzle/guzzle) + + +## Installing Guzzle + +The recommended way to install Guzzle is through +[Composer](http://getcomposer.org). + +```bash +# Install Composer +curl -sS https://getcomposer.org/installer | php +``` + +Next, run the Composer command to install the latest stable version of Guzzle: + +```bash +php composer.phar require guzzlehttp/guzzle +``` + +After installing, you need to require Composer's autoloader: + +```php +require 'vendor/autoload.php'; +``` + +You can then later update Guzzle using composer: + + ```bash +composer.phar update + ``` + + +## Version Guidance + +| Version | Status | Packagist | Namespace | Repo | Docs | PSR-7 | +|---------|-------------|---------------------|--------------|---------------------|---------------------|-------| +| 3.x | EOL | `guzzle/guzzle` | `Guzzle` | [v3][guzzle-3-repo] | [v3][guzzle-3-docs] | No | +| 4.x | EOL | `guzzlehttp/guzzle` | `GuzzleHttp` | N/A | N/A | No | +| 5.x | Maintained | `guzzlehttp/guzzle` | `GuzzleHttp` | [v5][guzzle-5-repo] | [v5][guzzle-5-docs] | No | +| 6.x | Latest | `guzzlehttp/guzzle` | `GuzzleHttp` | [v6][guzzle-6-repo] | [v6][guzzle-6-docs] | Yes | + +[guzzle-3-repo]: https://github.com/guzzle/guzzle3 +[guzzle-5-repo]: https://github.com/guzzle/guzzle/tree/5.3 +[guzzle-6-repo]: https://github.com/guzzle/guzzle +[guzzle-3-docs]: http://guzzle3.readthedocs.org/en/latest/ +[guzzle-5-docs]: http://guzzle.readthedocs.org/en/5.3/ +[guzzle-6-docs]: http://guzzle.readthedocs.org/en/latest/ diff --git a/vendor/guzzlehttp/guzzle/UPGRADING.md b/vendor/guzzlehttp/guzzle/UPGRADING.md new file mode 100644 index 00000000..91d1dcc9 --- /dev/null +++ b/vendor/guzzlehttp/guzzle/UPGRADING.md @@ -0,0 +1,1203 @@ +Guzzle Upgrade Guide +==================== + +5.0 to 6.0 +---------- + +Guzzle now uses [PSR-7](http://www.php-fig.org/psr/psr-7/) for HTTP messages. +Due to the fact that these messages are immutable, this prompted a refactoring +of Guzzle to use a middleware based system rather than an event system. Any +HTTP message interaction (e.g., `GuzzleHttp\Message\Request`) need to be +updated to work with the new immutable PSR-7 request and response objects. Any +event listeners or subscribers need to be updated to become middleware +functions that wrap handlers (or are injected into a +`GuzzleHttp\HandlerStack`). + +- Removed `GuzzleHttp\BatchResults` +- Removed `GuzzleHttp\Collection` +- Removed `GuzzleHttp\HasDataTrait` +- Removed `GuzzleHttp\ToArrayInterface` +- The `guzzlehttp/streams` dependency has been removed. Stream functionality + is now present in the `GuzzleHttp\Psr7` namespace provided by the + `guzzlehttp/psr7` package. +- Guzzle no longer uses ReactPHP promises and now uses the + `guzzlehttp/promises` library. We use a custom promise library for three + significant reasons: + 1. React promises (at the time of writing this) are recursive. Promise + chaining and promise resolution will eventually blow the stack. Guzzle + promises are not recursive as they use a sort of trampolining technique. + Note: there has been movement in the React project to modify promises to + no longer utilize recursion. + 2. Guzzle needs to have the ability to synchronously block on a promise to + wait for a result. Guzzle promises allows this functionality (and does + not require the use of recursion). + 3. Because we need to be able to wait on a result, doing so using React + promises requires wrapping react promises with RingPHP futures. This + overhead is no longer needed, reducing stack sizes, reducing complexity, + and improving performance. +- `GuzzleHttp\Mimetypes` has been moved to a function in + `GuzzleHttp\Psr7\mimetype_from_extension` and + `GuzzleHttp\Psr7\mimetype_from_filename`. +- `GuzzleHttp\Query` and `GuzzleHttp\QueryParser` have been removed. Query + strings must now be passed into request objects as strings, or provided to + the `query` request option when creating requests with clients. The `query` + option uses PHP's `http_build_query` to convert an array to a string. If you + need a different serialization technique, you will need to pass the query + string in as a string. There are a couple helper functions that will make + working with query strings easier: `GuzzleHttp\Psr7\parse_query` and + `GuzzleHttp\Psr7\build_query`. +- Guzzle no longer has a dependency on RingPHP. Due to the use of a middleware + system based on PSR-7, using RingPHP and it's middleware system as well adds + more complexity than the benefits it provides. All HTTP handlers that were + present in RingPHP have been modified to work directly with PSR-7 messages + and placed in the `GuzzleHttp\Handler` namespace. This significantly reduces + complexity in Guzzle, removes a dependency, and improves performance. RingPHP + will be maintained for Guzzle 5 support, but will no longer be a part of + Guzzle 6. +- As Guzzle now uses a middleware based systems the event system and RingPHP + integration has been removed. Note: while the event system has been removed, + it is possible to add your own type of event system that is powered by the + middleware system. + - Removed the `Event` namespace. + - Removed the `Subscriber` namespace. + - Removed `Transaction` class + - Removed `RequestFsm` + - Removed `RingBridge` + - `GuzzleHttp\Subscriber\Cookie` is now provided by + `GuzzleHttp\Middleware::cookies` + - `GuzzleHttp\Subscriber\HttpError` is now provided by + `GuzzleHttp\Middleware::httpError` + - `GuzzleHttp\Subscriber\History` is now provided by + `GuzzleHttp\Middleware::history` + - `GuzzleHttp\Subscriber\Mock` is now provided by + `GuzzleHttp\Handler\MockHandler` + - `GuzzleHttp\Subscriber\Prepare` is now provided by + `GuzzleHttp\PrepareBodyMiddleware` + - `GuzzleHttp\Subscriber\Redirect` is now provided by + `GuzzleHttp\RedirectMiddleware` +- Guzzle now uses `Psr\Http\Message\UriInterface` (implements in + `GuzzleHttp\Psr7\Uri`) for URI support. `GuzzleHttp\Url` is now gone. +- Static functions in `GuzzleHttp\Utils` have been moved to namespaced + functions under the `GuzzleHttp` namespace. This requires either a Composer + based autoloader or you to include functions.php. +- `GuzzleHttp\ClientInterface::getDefaultOption` has been renamed to + `GuzzleHttp\ClientInterface::getConfig`. +- `GuzzleHttp\ClientInterface::setDefaultOption` has been removed. +- The `json` and `xml` methods of response objects has been removed. With the + migration to strictly adhering to PSR-7 as the interface for Guzzle messages, + adding methods to message interfaces would actually require Guzzle messages + to extend from PSR-7 messages rather then work with them directly. + +## Migrating to middleware + +The change to PSR-7 unfortunately required significant refactoring to Guzzle +due to the fact that PSR-7 messages are immutable. Guzzle 5 relied on an event +system from plugins. The event system relied on mutability of HTTP messages and +side effects in order to work. With immutable messages, you have to change your +workflow to become more about either returning a value (e.g., functional +middlewares) or setting a value on an object. Guzzle v6 has chosen the +functional middleware approach. + +Instead of using the event system to listen for things like the `before` event, +you now create a stack based middleware function that intercepts a request on +the way in and the promise of the response on the way out. This is a much +simpler and more predictable approach than the event system and works nicely +with PSR-7 middleware. Due to the use of promises, the middleware system is +also asynchronous. + +v5: + +```php +use GuzzleHttp\Event\BeforeEvent; +$client = new GuzzleHttp\Client(); +// Get the emitter and listen to the before event. +$client->getEmitter()->on('before', function (BeforeEvent $e) { + // Guzzle v5 events relied on mutation + $e->getRequest()->setHeader('X-Foo', 'Bar'); +}); +``` + +v6: + +In v6, you can modify the request before it is sent using the `mapRequest` +middleware. The idiomatic way in v6 to modify the request/response lifecycle is +to setup a handler middleware stack up front and inject the handler into a +client. + +```php +use GuzzleHttp\Middleware; +// Create a handler stack that has all of the default middlewares attached +$handler = GuzzleHttp\HandlerStack::create(); +// Push the handler onto the handler stack +$handler->push(Middleware::mapRequest(function (RequestInterface $request) { + // Notice that we have to return a request object + return $request->withHeader('X-Foo', 'Bar'); +})); +// Inject the handler into the client +$client = new GuzzleHttp\Client(['handler' => $handler]); +``` + +## POST Requests + +This version added the [`form_params`](http://guzzle.readthedocs.org/en/latest/request-options.html#form_params) +and `multipart` request options. `form_params` is an associative array of +strings or array of strings and is used to serialize an +`application/x-www-form-urlencoded` POST request. The +[`multipart`](http://guzzle.readthedocs.org/en/latest/request-options.html#multipart) +option is now used to send a multipart/form-data POST request. + +`GuzzleHttp\Post\PostFile` has been removed. Use the `multipart` option to add +POST files to a multipart/form-data request. + +The `body` option no longer accepts an array to send POST requests. Please use +`multipart` or `form_params` instead. + +The `base_url` option has been renamed to `base_uri`. + +4.x to 5.0 +---------- + +## Rewritten Adapter Layer + +Guzzle now uses [RingPHP](http://ringphp.readthedocs.org/en/latest) to send +HTTP requests. The `adapter` option in a `GuzzleHttp\Client` constructor +is still supported, but it has now been renamed to `handler`. Instead of +passing a `GuzzleHttp\Adapter\AdapterInterface`, you must now pass a PHP +`callable` that follows the RingPHP specification. + +## Removed Fluent Interfaces + +[Fluent interfaces were removed](http://ocramius.github.io/blog/fluent-interfaces-are-evil) +from the following classes: + +- `GuzzleHttp\Collection` +- `GuzzleHttp\Url` +- `GuzzleHttp\Query` +- `GuzzleHttp\Post\PostBody` +- `GuzzleHttp\Cookie\SetCookie` + +## Removed functions.php + +Removed "functions.php", so that Guzzle is truly PSR-4 compliant. The following +functions can be used as replacements. + +- `GuzzleHttp\json_decode` -> `GuzzleHttp\Utils::jsonDecode` +- `GuzzleHttp\get_path` -> `GuzzleHttp\Utils::getPath` +- `GuzzleHttp\Utils::setPath` -> `GuzzleHttp\set_path` +- `GuzzleHttp\Pool::batch` -> `GuzzleHttp\batch`. This function is, however, + deprecated in favor of using `GuzzleHttp\Pool::batch()`. + +The "procedural" global client has been removed with no replacement (e.g., +`GuzzleHttp\get()`, `GuzzleHttp\post()`, etc.). Use a `GuzzleHttp\Client` +object as a replacement. + +## `throwImmediately` has been removed + +The concept of "throwImmediately" has been removed from exceptions and error +events. This control mechanism was used to stop a transfer of concurrent +requests from completing. This can now be handled by throwing the exception or +by cancelling a pool of requests or each outstanding future request +individually. + +## headers event has been removed + +Removed the "headers" event. This event was only useful for changing the +body a response once the headers of the response were known. You can implement +a similar behavior in a number of ways. One example might be to use a +FnStream that has access to the transaction being sent. For example, when the +first byte is written, you could check if the response headers match your +expectations, and if so, change the actual stream body that is being +written to. + +## Updates to HTTP Messages + +Removed the `asArray` parameter from +`GuzzleHttp\Message\MessageInterface::getHeader`. If you want to get a header +value as an array, then use the newly added `getHeaderAsArray()` method of +`MessageInterface`. This change makes the Guzzle interfaces compatible with +the PSR-7 interfaces. + +3.x to 4.0 +---------- + +## Overarching changes: + +- Now requires PHP 5.4 or greater. +- No longer requires cURL to send requests. +- Guzzle no longer wraps every exception it throws. Only exceptions that are + recoverable are now wrapped by Guzzle. +- Various namespaces have been removed or renamed. +- No longer requiring the Symfony EventDispatcher. A custom event dispatcher + based on the Symfony EventDispatcher is + now utilized in `GuzzleHttp\Event\EmitterInterface` (resulting in significant + speed and functionality improvements). + +Changes per Guzzle 3.x namespace are described below. + +## Batch + +The `Guzzle\Batch` namespace has been removed. This is best left to +third-parties to implement on top of Guzzle's core HTTP library. + +## Cache + +The `Guzzle\Cache` namespace has been removed. (Todo: No suitable replacement +has been implemented yet, but hoping to utilize a PSR cache interface). + +## Common + +- Removed all of the wrapped exceptions. It's better to use the standard PHP + library for unrecoverable exceptions. +- `FromConfigInterface` has been removed. +- `Guzzle\Common\Version` has been removed. The VERSION constant can be found + at `GuzzleHttp\ClientInterface::VERSION`. + +### Collection + +- `getAll` has been removed. Use `toArray` to convert a collection to an array. +- `inject` has been removed. +- `keySearch` has been removed. +- `getPath` no longer supports wildcard expressions. Use something better like + JMESPath for this. +- `setPath` now supports appending to an existing array via the `[]` notation. + +### Events + +Guzzle no longer requires Symfony's EventDispatcher component. Guzzle now uses +`GuzzleHttp\Event\Emitter`. + +- `Symfony\Component\EventDispatcher\EventDispatcherInterface` is replaced by + `GuzzleHttp\Event\EmitterInterface`. +- `Symfony\Component\EventDispatcher\EventDispatcher` is replaced by + `GuzzleHttp\Event\Emitter`. +- `Symfony\Component\EventDispatcher\Event` is replaced by + `GuzzleHttp\Event\Event`, and Guzzle now has an EventInterface in + `GuzzleHttp\Event\EventInterface`. +- `AbstractHasDispatcher` has moved to a trait, `HasEmitterTrait`, and + `HasDispatcherInterface` has moved to `HasEmitterInterface`. Retrieving the + event emitter of a request, client, etc. now uses the `getEmitter` method + rather than the `getDispatcher` method. + +#### Emitter + +- Use the `once()` method to add a listener that automatically removes itself + the first time it is invoked. +- Use the `listeners()` method to retrieve a list of event listeners rather than + the `getListeners()` method. +- Use `emit()` instead of `dispatch()` to emit an event from an emitter. +- Use `attach()` instead of `addSubscriber()` and `detach()` instead of + `removeSubscriber()`. + +```php +$mock = new Mock(); +// 3.x +$request->getEventDispatcher()->addSubscriber($mock); +$request->getEventDispatcher()->removeSubscriber($mock); +// 4.x +$request->getEmitter()->attach($mock); +$request->getEmitter()->detach($mock); +``` + +Use the `on()` method to add a listener rather than the `addListener()` method. + +```php +// 3.x +$request->getEventDispatcher()->addListener('foo', function (Event $event) { /* ... */ } ); +// 4.x +$request->getEmitter()->on('foo', function (Event $event, $name) { /* ... */ } ); +``` + +## Http + +### General changes + +- The cacert.pem certificate has been moved to `src/cacert.pem`. +- Added the concept of adapters that are used to transfer requests over the + wire. +- Simplified the event system. +- Sending requests in parallel is still possible, but batching is no longer a + concept of the HTTP layer. Instead, you must use the `complete` and `error` + events to asynchronously manage parallel request transfers. +- `Guzzle\Http\Url` has moved to `GuzzleHttp\Url`. +- `Guzzle\Http\QueryString` has moved to `GuzzleHttp\Query`. +- QueryAggregators have been rewritten so that they are simply callable + functions. +- `GuzzleHttp\StaticClient` has been removed. Use the functions provided in + `functions.php` for an easy to use static client instance. +- Exceptions in `GuzzleHttp\Exception` have been updated to all extend from + `GuzzleHttp\Exception\TransferException`. + +### Client + +Calling methods like `get()`, `post()`, `head()`, etc. no longer create and +return a request, but rather creates a request, sends the request, and returns +the response. + +```php +// 3.0 +$request = $client->get('/'); +$response = $request->send(); + +// 4.0 +$response = $client->get('/'); + +// or, to mirror the previous behavior +$request = $client->createRequest('GET', '/'); +$response = $client->send($request); +``` + +`GuzzleHttp\ClientInterface` has changed. + +- The `send` method no longer accepts more than one request. Use `sendAll` to + send multiple requests in parallel. +- `setUserAgent()` has been removed. Use a default request option instead. You + could, for example, do something like: + `$client->setConfig('defaults/headers/User-Agent', 'Foo/Bar ' . $client::getDefaultUserAgent())`. +- `setSslVerification()` has been removed. Use default request options instead, + like `$client->setConfig('defaults/verify', true)`. + +`GuzzleHttp\Client` has changed. + +- The constructor now accepts only an associative array. You can include a + `base_url` string or array to use a URI template as the base URL of a client. + You can also specify a `defaults` key that is an associative array of default + request options. You can pass an `adapter` to use a custom adapter, + `batch_adapter` to use a custom adapter for sending requests in parallel, or + a `message_factory` to change the factory used to create HTTP requests and + responses. +- The client no longer emits a `client.create_request` event. +- Creating requests with a client no longer automatically utilize a URI + template. You must pass an array into a creational method (e.g., + `createRequest`, `get`, `put`, etc.) in order to expand a URI template. + +### Messages + +Messages no longer have references to their counterparts (i.e., a request no +longer has a reference to it's response, and a response no loger has a +reference to its request). This association is now managed through a +`GuzzleHttp\Adapter\TransactionInterface` object. You can get references to +these transaction objects using request events that are emitted over the +lifecycle of a request. + +#### Requests with a body + +- `GuzzleHttp\Message\EntityEnclosingRequest` and + `GuzzleHttp\Message\EntityEnclosingRequestInterface` have been removed. The + separation between requests that contain a body and requests that do not + contain a body has been removed, and now `GuzzleHttp\Message\RequestInterface` + handles both use cases. +- Any method that previously accepts a `GuzzleHttp\Response` object now accept a + `GuzzleHttp\Message\ResponseInterface`. +- `GuzzleHttp\Message\RequestFactoryInterface` has been renamed to + `GuzzleHttp\Message\MessageFactoryInterface`. This interface is used to create + both requests and responses and is implemented in + `GuzzleHttp\Message\MessageFactory`. +- POST field and file methods have been removed from the request object. You + must now use the methods made available to `GuzzleHttp\Post\PostBodyInterface` + to control the format of a POST body. Requests that are created using a + standard `GuzzleHttp\Message\MessageFactoryInterface` will automatically use + a `GuzzleHttp\Post\PostBody` body if the body was passed as an array or if + the method is POST and no body is provided. + +```php +$request = $client->createRequest('POST', '/'); +$request->getBody()->setField('foo', 'bar'); +$request->getBody()->addFile(new PostFile('file_key', fopen('/path/to/content', 'r'))); +``` + +#### Headers + +- `GuzzleHttp\Message\Header` has been removed. Header values are now simply + represented by an array of values or as a string. Header values are returned + as a string by default when retrieving a header value from a message. You can + pass an optional argument of `true` to retrieve a header value as an array + of strings instead of a single concatenated string. +- `GuzzleHttp\PostFile` and `GuzzleHttp\PostFileInterface` have been moved to + `GuzzleHttp\Post`. This interface has been simplified and now allows the + addition of arbitrary headers. +- Custom headers like `GuzzleHttp\Message\Header\Link` have been removed. Most + of the custom headers are now handled separately in specific + subscribers/plugins, and `GuzzleHttp\Message\HeaderValues::parseParams()` has + been updated to properly handle headers that contain parameters (like the + `Link` header). + +#### Responses + +- `GuzzleHttp\Message\Response::getInfo()` and + `GuzzleHttp\Message\Response::setInfo()` have been removed. Use the event + system to retrieve this type of information. +- `GuzzleHttp\Message\Response::getRawHeaders()` has been removed. +- `GuzzleHttp\Message\Response::getMessage()` has been removed. +- `GuzzleHttp\Message\Response::calculateAge()` and other cache specific + methods have moved to the CacheSubscriber. +- Header specific helper functions like `getContentMd5()` have been removed. + Just use `getHeader('Content-MD5')` instead. +- `GuzzleHttp\Message\Response::setRequest()` and + `GuzzleHttp\Message\Response::getRequest()` have been removed. Use the event + system to work with request and response objects as a transaction. +- `GuzzleHttp\Message\Response::getRedirectCount()` has been removed. Use the + Redirect subscriber instead. +- `GuzzleHttp\Message\Response::isSuccessful()` and other related methods have + been removed. Use `getStatusCode()` instead. + +#### Streaming responses + +Streaming requests can now be created by a client directly, returning a +`GuzzleHttp\Message\ResponseInterface` object that contains a body stream +referencing an open PHP HTTP stream. + +```php +// 3.0 +use Guzzle\Stream\PhpStreamRequestFactory; +$request = $client->get('/'); +$factory = new PhpStreamRequestFactory(); +$stream = $factory->fromRequest($request); +$data = $stream->read(1024); + +// 4.0 +$response = $client->get('/', ['stream' => true]); +// Read some data off of the stream in the response body +$data = $response->getBody()->read(1024); +``` + +#### Redirects + +The `configureRedirects()` method has been removed in favor of a +`allow_redirects` request option. + +```php +// Standard redirects with a default of a max of 5 redirects +$request = $client->createRequest('GET', '/', ['allow_redirects' => true]); + +// Strict redirects with a custom number of redirects +$request = $client->createRequest('GET', '/', [ + 'allow_redirects' => ['max' => 5, 'strict' => true] +]); +``` + +#### EntityBody + +EntityBody interfaces and classes have been removed or moved to +`GuzzleHttp\Stream`. All classes and interfaces that once required +`GuzzleHttp\EntityBodyInterface` now require +`GuzzleHttp\Stream\StreamInterface`. Creating a new body for a request no +longer uses `GuzzleHttp\EntityBody::factory` but now uses +`GuzzleHttp\Stream\Stream::factory` or even better: +`GuzzleHttp\Stream\create()`. + +- `Guzzle\Http\EntityBodyInterface` is now `GuzzleHttp\Stream\StreamInterface` +- `Guzzle\Http\EntityBody` is now `GuzzleHttp\Stream\Stream` +- `Guzzle\Http\CachingEntityBody` is now `GuzzleHttp\Stream\CachingStream` +- `Guzzle\Http\ReadLimitEntityBody` is now `GuzzleHttp\Stream\LimitStream` +- `Guzzle\Http\IoEmittyinEntityBody` has been removed. + +#### Request lifecycle events + +Requests previously submitted a large number of requests. The number of events +emitted over the lifecycle of a request has been significantly reduced to make +it easier to understand how to extend the behavior of a request. All events +emitted during the lifecycle of a request now emit a custom +`GuzzleHttp\Event\EventInterface` object that contains context providing +methods and a way in which to modify the transaction at that specific point in +time (e.g., intercept the request and set a response on the transaction). + +- `request.before_send` has been renamed to `before` and now emits a + `GuzzleHttp\Event\BeforeEvent` +- `request.complete` has been renamed to `complete` and now emits a + `GuzzleHttp\Event\CompleteEvent`. +- `request.sent` has been removed. Use `complete`. +- `request.success` has been removed. Use `complete`. +- `error` is now an event that emits a `GuzzleHttp\Event\ErrorEvent`. +- `request.exception` has been removed. Use `error`. +- `request.receive.status_line` has been removed. +- `curl.callback.progress` has been removed. Use a custom `StreamInterface` to + maintain a status update. +- `curl.callback.write` has been removed. Use a custom `StreamInterface` to + intercept writes. +- `curl.callback.read` has been removed. Use a custom `StreamInterface` to + intercept reads. + +`headers` is a new event that is emitted after the response headers of a +request have been received before the body of the response is downloaded. This +event emits a `GuzzleHttp\Event\HeadersEvent`. + +You can intercept a request and inject a response using the `intercept()` event +of a `GuzzleHttp\Event\BeforeEvent`, `GuzzleHttp\Event\CompleteEvent`, and +`GuzzleHttp\Event\ErrorEvent` event. + +See: http://docs.guzzlephp.org/en/latest/events.html + +## Inflection + +The `Guzzle\Inflection` namespace has been removed. This is not a core concern +of Guzzle. + +## Iterator + +The `Guzzle\Iterator` namespace has been removed. + +- `Guzzle\Iterator\AppendIterator`, `Guzzle\Iterator\ChunkedIterator`, and + `Guzzle\Iterator\MethodProxyIterator` are nice, but not a core requirement of + Guzzle itself. +- `Guzzle\Iterator\FilterIterator` is no longer needed because an equivalent + class is shipped with PHP 5.4. +- `Guzzle\Iterator\MapIterator` is not really needed when using PHP 5.5 because + it's easier to just wrap an iterator in a generator that maps values. + +For a replacement of these iterators, see https://github.com/nikic/iter + +## Log + +The LogPlugin has moved to https://github.com/guzzle/log-subscriber. The +`Guzzle\Log` namespace has been removed. Guzzle now relies on +`Psr\Log\LoggerInterface` for all logging. The MessageFormatter class has been +moved to `GuzzleHttp\Subscriber\Log\Formatter`. + +## Parser + +The `Guzzle\Parser` namespace has been removed. This was previously used to +make it possible to plug in custom parsers for cookies, messages, URI +templates, and URLs; however, this level of complexity is not needed in Guzzle +so it has been removed. + +- Cookie: Cookie parsing logic has been moved to + `GuzzleHttp\Cookie\SetCookie::fromString`. +- Message: Message parsing logic for both requests and responses has been moved + to `GuzzleHttp\Message\MessageFactory::fromMessage`. Message parsing is only + used in debugging or deserializing messages, so it doesn't make sense for + Guzzle as a library to add this level of complexity to parsing messages. +- UriTemplate: URI template parsing has been moved to + `GuzzleHttp\UriTemplate`. The Guzzle library will automatically use the PECL + URI template library if it is installed. +- Url: URL parsing is now performed in `GuzzleHttp\Url::fromString` (previously + it was `Guzzle\Http\Url::factory()`). If custom URL parsing is necessary, + then developers are free to subclass `GuzzleHttp\Url`. + +## Plugin + +The `Guzzle\Plugin` namespace has been renamed to `GuzzleHttp\Subscriber`. +Several plugins are shipping with the core Guzzle library under this namespace. + +- `GuzzleHttp\Subscriber\Cookie`: Replaces the old CookiePlugin. Cookie jar + code has moved to `GuzzleHttp\Cookie`. +- `GuzzleHttp\Subscriber\History`: Replaces the old HistoryPlugin. +- `GuzzleHttp\Subscriber\HttpError`: Throws errors when a bad HTTP response is + received. +- `GuzzleHttp\Subscriber\Mock`: Replaces the old MockPlugin. +- `GuzzleHttp\Subscriber\Prepare`: Prepares the body of a request just before + sending. This subscriber is attached to all requests by default. +- `GuzzleHttp\Subscriber\Redirect`: Replaces the RedirectPlugin. + +The following plugins have been removed (third-parties are free to re-implement +these if needed): + +- `GuzzleHttp\Plugin\Async` has been removed. +- `GuzzleHttp\Plugin\CurlAuth` has been removed. +- `GuzzleHttp\Plugin\ErrorResponse\ErrorResponsePlugin` has been removed. This + functionality should instead be implemented with event listeners that occur + after normal response parsing occurs in the guzzle/command package. + +The following plugins are not part of the core Guzzle package, but are provided +in separate repositories: + +- `Guzzle\Http\Plugin\BackoffPlugin` has been rewritten to be much simpler + to build custom retry policies using simple functions rather than various + chained classes. See: https://github.com/guzzle/retry-subscriber +- `Guzzle\Http\Plugin\Cache\CachePlugin` has moved to + https://github.com/guzzle/cache-subscriber +- `Guzzle\Http\Plugin\Log\LogPlugin` has moved to + https://github.com/guzzle/log-subscriber +- `Guzzle\Http\Plugin\Md5\Md5Plugin` has moved to + https://github.com/guzzle/message-integrity-subscriber +- `Guzzle\Http\Plugin\Mock\MockPlugin` has moved to + `GuzzleHttp\Subscriber\MockSubscriber`. +- `Guzzle\Http\Plugin\Oauth\OauthPlugin` has moved to + https://github.com/guzzle/oauth-subscriber + +## Service + +The service description layer of Guzzle has moved into two separate packages: + +- http://github.com/guzzle/command Provides a high level abstraction over web + services by representing web service operations using commands. +- http://github.com/guzzle/guzzle-services Provides an implementation of + guzzle/command that provides request serialization and response parsing using + Guzzle service descriptions. + +## Stream + +Stream have moved to a separate package available at +https://github.com/guzzle/streams. + +`Guzzle\Stream\StreamInterface` has been given a large update to cleanly take +on the responsibilities of `Guzzle\Http\EntityBody` and +`Guzzle\Http\EntityBodyInterface` now that they have been removed. The number +of methods implemented by the `StreamInterface` has been drastically reduced to +allow developers to more easily extend and decorate stream behavior. + +## Removed methods from StreamInterface + +- `getStream` and `setStream` have been removed to better encapsulate streams. +- `getMetadata` and `setMetadata` have been removed in favor of + `GuzzleHttp\Stream\MetadataStreamInterface`. +- `getWrapper`, `getWrapperData`, `getStreamType`, and `getUri` have all been + removed. This data is accessible when + using streams that implement `GuzzleHttp\Stream\MetadataStreamInterface`. +- `rewind` has been removed. Use `seek(0)` for a similar behavior. + +## Renamed methods + +- `detachStream` has been renamed to `detach`. +- `feof` has been renamed to `eof`. +- `ftell` has been renamed to `tell`. +- `readLine` has moved from an instance method to a static class method of + `GuzzleHttp\Stream\Stream`. + +## Metadata streams + +`GuzzleHttp\Stream\MetadataStreamInterface` has been added to denote streams +that contain additional metadata accessible via `getMetadata()`. +`GuzzleHttp\Stream\StreamInterface::getMetadata` and +`GuzzleHttp\Stream\StreamInterface::setMetadata` have been removed. + +## StreamRequestFactory + +The entire concept of the StreamRequestFactory has been removed. The way this +was used in Guzzle 3 broke the actual interface of sending streaming requests +(instead of getting back a Response, you got a StreamInterface). Streaming +PHP requests are now implemented through the `GuzzleHttp\Adapter\StreamAdapter`. + +3.6 to 3.7 +---------- + +### Deprecations + +- You can now enable E_USER_DEPRECATED warnings to see if you are using any deprecated methods.: + +```php +\Guzzle\Common\Version::$emitWarnings = true; +``` + +The following APIs and options have been marked as deprecated: + +- Marked `Guzzle\Http\Message\Request::isResponseBodyRepeatable()` as deprecated. Use `$request->getResponseBody()->isRepeatable()` instead. +- Marked `Guzzle\Http\Message\Request::canCache()` as deprecated. Use `Guzzle\Plugin\Cache\DefaultCanCacheStrategy->canCacheRequest()` instead. +- Marked `Guzzle\Http\Message\Request::canCache()` as deprecated. Use `Guzzle\Plugin\Cache\DefaultCanCacheStrategy->canCacheRequest()` instead. +- Marked `Guzzle\Http\Message\Request::setIsRedirect()` as deprecated. Use the HistoryPlugin instead. +- Marked `Guzzle\Http\Message\Request::isRedirect()` as deprecated. Use the HistoryPlugin instead. +- Marked `Guzzle\Cache\CacheAdapterFactory::factory()` as deprecated +- Marked `Guzzle\Service\Client::enableMagicMethods()` as deprecated. Magic methods can no longer be disabled on a Guzzle\Service\Client. +- Marked `Guzzle\Parser\Url\UrlParser` as deprecated. Just use PHP's `parse_url()` and percent encode your UTF-8. +- Marked `Guzzle\Common\Collection::inject()` as deprecated. +- Marked `Guzzle\Plugin\CurlAuth\CurlAuthPlugin` as deprecated. Use + `$client->getConfig()->setPath('request.options/auth', array('user', 'pass', 'Basic|Digest|NTLM|Any'));` or + `$client->setDefaultOption('auth', array('user', 'pass', 'Basic|Digest|NTLM|Any'));` + +3.7 introduces `request.options` as a parameter for a client configuration and as an optional argument to all creational +request methods. When paired with a client's configuration settings, these options allow you to specify default settings +for various aspects of a request. Because these options make other previous configuration options redundant, several +configuration options and methods of a client and AbstractCommand have been deprecated. + +- Marked `Guzzle\Service\Client::getDefaultHeaders()` as deprecated. Use `$client->getDefaultOption('headers')`. +- Marked `Guzzle\Service\Client::setDefaultHeaders()` as deprecated. Use `$client->setDefaultOption('headers/{header_name}', 'value')`. +- Marked 'request.params' for `Guzzle\Http\Client` as deprecated. Use `$client->setDefaultOption('params/{param_name}', 'value')` +- Marked 'command.headers', 'command.response_body' and 'command.on_complete' as deprecated for AbstractCommand. These will work through Guzzle 4.0 + + $command = $client->getCommand('foo', array( + 'command.headers' => array('Test' => '123'), + 'command.response_body' => '/path/to/file' + )); + + // Should be changed to: + + $command = $client->getCommand('foo', array( + 'command.request_options' => array( + 'headers' => array('Test' => '123'), + 'save_as' => '/path/to/file' + ) + )); + +### Interface changes + +Additions and changes (you will need to update any implementations or subclasses you may have created): + +- Added an `$options` argument to the end of the following methods of `Guzzle\Http\ClientInterface`: + createRequest, head, delete, put, patch, post, options, prepareRequest +- Added an `$options` argument to the end of `Guzzle\Http\Message\Request\RequestFactoryInterface::createRequest()` +- Added an `applyOptions()` method to `Guzzle\Http\Message\Request\RequestFactoryInterface` +- Changed `Guzzle\Http\ClientInterface::get($uri = null, $headers = null, $body = null)` to + `Guzzle\Http\ClientInterface::get($uri = null, $headers = null, $options = array())`. You can still pass in a + resource, string, or EntityBody into the $options parameter to specify the download location of the response. +- Changed `Guzzle\Common\Collection::__construct($data)` to no longer accepts a null value for `$data` but a + default `array()` +- Added `Guzzle\Stream\StreamInterface::isRepeatable` +- Made `Guzzle\Http\Client::expandTemplate` and `getUriTemplate` protected methods. + +The following methods were removed from interfaces. All of these methods are still available in the concrete classes +that implement them, but you should update your code to use alternative methods: + +- Removed `Guzzle\Http\ClientInterface::setDefaultHeaders(). Use + `$client->getConfig()->setPath('request.options/headers/{header_name}', 'value')`. or + `$client->getConfig()->setPath('request.options/headers', array('header_name' => 'value'))` or + `$client->setDefaultOption('headers/{header_name}', 'value')`. or + `$client->setDefaultOption('headers', array('header_name' => 'value'))`. +- Removed `Guzzle\Http\ClientInterface::getDefaultHeaders(). Use `$client->getConfig()->getPath('request.options/headers')`. +- Removed `Guzzle\Http\ClientInterface::expandTemplate()`. This is an implementation detail. +- Removed `Guzzle\Http\ClientInterface::setRequestFactory()`. This is an implementation detail. +- Removed `Guzzle\Http\ClientInterface::getCurlMulti()`. This is a very specific implementation detail. +- Removed `Guzzle\Http\Message\RequestInterface::canCache`. Use the CachePlugin. +- Removed `Guzzle\Http\Message\RequestInterface::setIsRedirect`. Use the HistoryPlugin. +- Removed `Guzzle\Http\Message\RequestInterface::isRedirect`. Use the HistoryPlugin. + +### Cache plugin breaking changes + +- CacheKeyProviderInterface and DefaultCacheKeyProvider are no longer used. All of this logic is handled in a + CacheStorageInterface. These two objects and interface will be removed in a future version. +- Always setting X-cache headers on cached responses +- Default cache TTLs are now handled by the CacheStorageInterface of a CachePlugin +- `CacheStorageInterface::cache($key, Response $response, $ttl = null)` has changed to `cache(RequestInterface + $request, Response $response);` +- `CacheStorageInterface::fetch($key)` has changed to `fetch(RequestInterface $request);` +- `CacheStorageInterface::delete($key)` has changed to `delete(RequestInterface $request);` +- Added `CacheStorageInterface::purge($url)` +- `DefaultRevalidation::__construct(CacheKeyProviderInterface $cacheKey, CacheStorageInterface $cache, CachePlugin + $plugin)` has changed to `DefaultRevalidation::__construct(CacheStorageInterface $cache, + CanCacheStrategyInterface $canCache = null)` +- Added `RevalidationInterface::shouldRevalidate(RequestInterface $request, Response $response)` + +3.5 to 3.6 +---------- + +* Mixed casing of headers are now forced to be a single consistent casing across all values for that header. +* Messages internally use a HeaderCollection object to delegate handling case-insensitive header resolution +* Removed the whole changedHeader() function system of messages because all header changes now go through addHeader(). + For example, setHeader() first removes the header using unset on a HeaderCollection and then calls addHeader(). + Keeping the Host header and URL host in sync is now handled by overriding the addHeader method in Request. +* Specific header implementations can be created for complex headers. When a message creates a header, it uses a + HeaderFactory which can map specific headers to specific header classes. There is now a Link header and + CacheControl header implementation. +* Moved getLinks() from Response to just be used on a Link header object. + +If you previously relied on Guzzle\Http\Message\Header::raw(), then you will need to update your code to use the +HeaderInterface (e.g. toArray(), getAll(), etc.). + +### Interface changes + +* Removed from interface: Guzzle\Http\ClientInterface::setUriTemplate +* Removed from interface: Guzzle\Http\ClientInterface::setCurlMulti() +* Removed Guzzle\Http\Message\Request::receivedRequestHeader() and implemented this functionality in + Guzzle\Http\Curl\RequestMediator +* Removed the optional $asString parameter from MessageInterface::getHeader(). Just cast the header to a string. +* Removed the optional $tryChunkedTransfer option from Guzzle\Http\Message\EntityEnclosingRequestInterface +* Removed the $asObjects argument from Guzzle\Http\Message\MessageInterface::getHeaders() + +### Removed deprecated functions + +* Removed Guzzle\Parser\ParserRegister::get(). Use getParser() +* Removed Guzzle\Parser\ParserRegister::set(). Use registerParser(). + +### Deprecations + +* The ability to case-insensitively search for header values +* Guzzle\Http\Message\Header::hasExactHeader +* Guzzle\Http\Message\Header::raw. Use getAll() +* Deprecated cache control specific methods on Guzzle\Http\Message\AbstractMessage. Use the CacheControl header object + instead. + +### Other changes + +* All response header helper functions return a string rather than mixing Header objects and strings inconsistently +* Removed cURL blacklist support. This is no longer necessary now that Expect, Accept, etc. are managed by Guzzle + directly via interfaces +* Removed the injecting of a request object onto a response object. The methods to get and set a request still exist + but are a no-op until removed. +* Most classes that used to require a `Guzzle\Service\Command\CommandInterface` typehint now request a + `Guzzle\Service\Command\ArrayCommandInterface`. +* Added `Guzzle\Http\Message\RequestInterface::startResponse()` to the RequestInterface to handle injecting a response + on a request while the request is still being transferred +* `Guzzle\Service\Command\CommandInterface` now extends from ToArrayInterface and ArrayAccess + +3.3 to 3.4 +---------- + +Base URLs of a client now follow the rules of http://tools.ietf.org/html/rfc3986#section-5.2.2 when merging URLs. + +3.2 to 3.3 +---------- + +### Response::getEtag() quote stripping removed + +`Guzzle\Http\Message\Response::getEtag()` no longer strips quotes around the ETag response header + +### Removed `Guzzle\Http\Utils` + +The `Guzzle\Http\Utils` class was removed. This class was only used for testing. + +### Stream wrapper and type + +`Guzzle\Stream\Stream::getWrapper()` and `Guzzle\Stream\Stream::getStreamType()` are no longer converted to lowercase. + +### curl.emit_io became emit_io + +Emitting IO events from a RequestMediator is now a parameter that must be set in a request's curl options using the +'emit_io' key. This was previously set under a request's parameters using 'curl.emit_io' + +3.1 to 3.2 +---------- + +### CurlMulti is no longer reused globally + +Before 3.2, the same CurlMulti object was reused globally for each client. This can cause issue where plugins added +to a single client can pollute requests dispatched from other clients. + +If you still wish to reuse the same CurlMulti object with each client, then you can add a listener to the +ServiceBuilder's `service_builder.create_client` event to inject a custom CurlMulti object into each client as it is +created. + +```php +$multi = new Guzzle\Http\Curl\CurlMulti(); +$builder = Guzzle\Service\Builder\ServiceBuilder::factory('/path/to/config.json'); +$builder->addListener('service_builder.create_client', function ($event) use ($multi) { + $event['client']->setCurlMulti($multi); +} +}); +``` + +### No default path + +URLs no longer have a default path value of '/' if no path was specified. + +Before: + +```php +$request = $client->get('http://www.foo.com'); +echo $request->getUrl(); +// >> http://www.foo.com/ +``` + +After: + +```php +$request = $client->get('http://www.foo.com'); +echo $request->getUrl(); +// >> http://www.foo.com +``` + +### Less verbose BadResponseException + +The exception message for `Guzzle\Http\Exception\BadResponseException` no longer contains the full HTTP request and +response information. You can, however, get access to the request and response object by calling `getRequest()` or +`getResponse()` on the exception object. + +### Query parameter aggregation + +Multi-valued query parameters are no longer aggregated using a callback function. `Guzzle\Http\Query` now has a +setAggregator() method that accepts a `Guzzle\Http\QueryAggregator\QueryAggregatorInterface` object. This object is +responsible for handling the aggregation of multi-valued query string variables into a flattened hash. + +2.8 to 3.x +---------- + +### Guzzle\Service\Inspector + +Change `\Guzzle\Service\Inspector::fromConfig` to `\Guzzle\Common\Collection::fromConfig` + +**Before** + +```php +use Guzzle\Service\Inspector; + +class YourClient extends \Guzzle\Service\Client +{ + public static function factory($config = array()) + { + $default = array(); + $required = array('base_url', 'username', 'api_key'); + $config = Inspector::fromConfig($config, $default, $required); + + $client = new self( + $config->get('base_url'), + $config->get('username'), + $config->get('api_key') + ); + $client->setConfig($config); + + $client->setDescription(ServiceDescription::factory(__DIR__ . DIRECTORY_SEPARATOR . 'client.json')); + + return $client; + } +``` + +**After** + +```php +use Guzzle\Common\Collection; + +class YourClient extends \Guzzle\Service\Client +{ + public static function factory($config = array()) + { + $default = array(); + $required = array('base_url', 'username', 'api_key'); + $config = Collection::fromConfig($config, $default, $required); + + $client = new self( + $config->get('base_url'), + $config->get('username'), + $config->get('api_key') + ); + $client->setConfig($config); + + $client->setDescription(ServiceDescription::factory(__DIR__ . DIRECTORY_SEPARATOR . 'client.json')); + + return $client; + } +``` + +### Convert XML Service Descriptions to JSON + +**Before** + +```xml + + + + + + Get a list of groups + + + Uses a search query to get a list of groups + + + + Create a group + + + + + Delete a group by ID + + + + + + + Update a group + + + + + + +``` + +**After** + +```json +{ + "name": "Zendesk REST API v2", + "apiVersion": "2012-12-31", + "description":"Provides access to Zendesk views, groups, tickets, ticket fields, and users", + "operations": { + "list_groups": { + "httpMethod":"GET", + "uri": "groups.json", + "summary": "Get a list of groups" + }, + "search_groups":{ + "httpMethod":"GET", + "uri": "search.json?query=\"{query} type:group\"", + "summary": "Uses a search query to get a list of groups", + "parameters":{ + "query":{ + "location": "uri", + "description":"Zendesk Search Query", + "type": "string", + "required": true + } + } + }, + "create_group": { + "httpMethod":"POST", + "uri": "groups.json", + "summary": "Create a group", + "parameters":{ + "data": { + "type": "array", + "location": "body", + "description":"Group JSON", + "filters": "json_encode", + "required": true + }, + "Content-Type":{ + "type": "string", + "location":"header", + "static": "application/json" + } + } + }, + "delete_group": { + "httpMethod":"DELETE", + "uri": "groups/{id}.json", + "summary": "Delete a group", + "parameters":{ + "id":{ + "location": "uri", + "description":"Group to delete by ID", + "type": "integer", + "required": true + } + } + }, + "get_group": { + "httpMethod":"GET", + "uri": "groups/{id}.json", + "summary": "Get a ticket", + "parameters":{ + "id":{ + "location": "uri", + "description":"Group to get by ID", + "type": "integer", + "required": true + } + } + }, + "update_group": { + "httpMethod":"PUT", + "uri": "groups/{id}.json", + "summary": "Update a group", + "parameters":{ + "id": { + "location": "uri", + "description":"Group to update by ID", + "type": "integer", + "required": true + }, + "data": { + "type": "array", + "location": "body", + "description":"Group JSON", + "filters": "json_encode", + "required": true + }, + "Content-Type":{ + "type": "string", + "location":"header", + "static": "application/json" + } + } + } +} +``` + +### Guzzle\Service\Description\ServiceDescription + +Commands are now called Operations + +**Before** + +```php +use Guzzle\Service\Description\ServiceDescription; + +$sd = new ServiceDescription(); +$sd->getCommands(); // @returns ApiCommandInterface[] +$sd->hasCommand($name); +$sd->getCommand($name); // @returns ApiCommandInterface|null +$sd->addCommand($command); // @param ApiCommandInterface $command +``` + +**After** + +```php +use Guzzle\Service\Description\ServiceDescription; + +$sd = new ServiceDescription(); +$sd->getOperations(); // @returns OperationInterface[] +$sd->hasOperation($name); +$sd->getOperation($name); // @returns OperationInterface|null +$sd->addOperation($operation); // @param OperationInterface $operation +``` + +### Guzzle\Common\Inflection\Inflector + +Namespace is now `Guzzle\Inflection\Inflector` + +### Guzzle\Http\Plugin + +Namespace is now `Guzzle\Plugin`. Many other changes occur within this namespace and are detailed in their own sections below. + +### Guzzle\Http\Plugin\LogPlugin and Guzzle\Common\Log + +Now `Guzzle\Plugin\Log\LogPlugin` and `Guzzle\Log` respectively. + +**Before** + +```php +use Guzzle\Common\Log\ClosureLogAdapter; +use Guzzle\Http\Plugin\LogPlugin; + +/** @var \Guzzle\Http\Client */ +$client; + +// $verbosity is an integer indicating desired message verbosity level +$client->addSubscriber(new LogPlugin(new ClosureLogAdapter(function($m) { echo $m; }, $verbosity = LogPlugin::LOG_VERBOSE); +``` + +**After** + +```php +use Guzzle\Log\ClosureLogAdapter; +use Guzzle\Log\MessageFormatter; +use Guzzle\Plugin\Log\LogPlugin; + +/** @var \Guzzle\Http\Client */ +$client; + +// $format is a string indicating desired message format -- @see MessageFormatter +$client->addSubscriber(new LogPlugin(new ClosureLogAdapter(function($m) { echo $m; }, $format = MessageFormatter::DEBUG_FORMAT); +``` + +### Guzzle\Http\Plugin\CurlAuthPlugin + +Now `Guzzle\Plugin\CurlAuth\CurlAuthPlugin`. + +### Guzzle\Http\Plugin\ExponentialBackoffPlugin + +Now `Guzzle\Plugin\Backoff\BackoffPlugin`, and other changes. + +**Before** + +```php +use Guzzle\Http\Plugin\ExponentialBackoffPlugin; + +$backoffPlugin = new ExponentialBackoffPlugin($maxRetries, array_merge( + ExponentialBackoffPlugin::getDefaultFailureCodes(), array(429) + )); + +$client->addSubscriber($backoffPlugin); +``` + +**After** + +```php +use Guzzle\Plugin\Backoff\BackoffPlugin; +use Guzzle\Plugin\Backoff\HttpBackoffStrategy; + +// Use convenient factory method instead -- see implementation for ideas of what +// you can do with chaining backoff strategies +$backoffPlugin = BackoffPlugin::getExponentialBackoff($maxRetries, array_merge( + HttpBackoffStrategy::getDefaultFailureCodes(), array(429) + )); +$client->addSubscriber($backoffPlugin); +``` + +### Known Issues + +#### [BUG] Accept-Encoding header behavior changed unintentionally. + +(See #217) (Fixed in 09daeb8c666fb44499a0646d655a8ae36456575e) + +In version 2.8 setting the `Accept-Encoding` header would set the CURLOPT_ENCODING option, which permitted cURL to +properly handle gzip/deflate compressed responses from the server. In versions affected by this bug this does not happen. +See issue #217 for a workaround, or use a version containing the fix. diff --git a/vendor/guzzlehttp/guzzle/composer.json b/vendor/guzzlehttp/guzzle/composer.json new file mode 100644 index 00000000..0f4f94a5 --- /dev/null +++ b/vendor/guzzlehttp/guzzle/composer.json @@ -0,0 +1,41 @@ +{ + "name": "guzzlehttp/guzzle", + "type": "library", + "description": "Guzzle is a PHP HTTP client library", + "keywords": ["framework", "http", "rest", "web service", "curl", "client", "HTTP client"], + "homepage": "http://guzzlephp.org/", + "license": "MIT", + "authors": [ + { + "name": "Michael Dowling", + "email": "mtdowling@gmail.com", + "homepage": "https://github.com/mtdowling" + } + ], + "require": { + "php": ">=5.5", + "guzzlehttp/psr7": "^1.4", + "guzzlehttp/promises": "^1.0" + }, + "require-dev": { + "ext-curl": "*", + "phpunit/phpunit": "^4.0", + "psr/log": "^1.0" + }, + "autoload": { + "files": ["src/functions_include.php"], + "psr-4": { + "GuzzleHttp\\": "src/" + } + }, + "autoload-dev": { + "psr-4": { + "GuzzleHttp\\Tests\\": "tests/" + } + }, + "extra": { + "branch-alias": { + "dev-master": "6.2-dev" + } + } +} diff --git a/vendor/guzzlehttp/guzzle/src/Client.php b/vendor/guzzlehttp/guzzle/src/Client.php new file mode 100644 index 00000000..2e4ceade --- /dev/null +++ b/vendor/guzzlehttp/guzzle/src/Client.php @@ -0,0 +1,408 @@ + 'http://www.foo.com/1.0/', + * 'timeout' => 0, + * 'allow_redirects' => false, + * 'proxy' => '192.168.16.1:10' + * ]); + * + * Client configuration settings include the following options: + * + * - handler: (callable) Function that transfers HTTP requests over the + * wire. The function is called with a Psr7\Http\Message\RequestInterface + * and array of transfer options, and must return a + * GuzzleHttp\Promise\PromiseInterface that is fulfilled with a + * Psr7\Http\Message\ResponseInterface on success. "handler" is a + * constructor only option that cannot be overridden in per/request + * options. If no handler is provided, a default handler will be created + * that enables all of the request options below by attaching all of the + * default middleware to the handler. + * - base_uri: (string|UriInterface) Base URI of the client that is merged + * into relative URIs. Can be a string or instance of UriInterface. + * - **: any request option + * + * @param array $config Client configuration settings. + * + * @see \GuzzleHttp\RequestOptions for a list of available request options. + */ + public function __construct(array $config = []) + { + if (!isset($config['handler'])) { + $config['handler'] = HandlerStack::create(); + } + + // Convert the base_uri to a UriInterface + if (isset($config['base_uri'])) { + $config['base_uri'] = Psr7\uri_for($config['base_uri']); + } + + $this->configureDefaults($config); + } + + public function __call($method, $args) + { + if (count($args) < 1) { + throw new \InvalidArgumentException('Magic request methods require a URI and optional options array'); + } + + $uri = $args[0]; + $opts = isset($args[1]) ? $args[1] : []; + + return substr($method, -5) === 'Async' + ? $this->requestAsync(substr($method, 0, -5), $uri, $opts) + : $this->request($method, $uri, $opts); + } + + public function sendAsync(RequestInterface $request, array $options = []) + { + // Merge the base URI into the request URI if needed. + $options = $this->prepareDefaults($options); + + return $this->transfer( + $request->withUri($this->buildUri($request->getUri(), $options), $request->hasHeader('Host')), + $options + ); + } + + public function send(RequestInterface $request, array $options = []) + { + $options[RequestOptions::SYNCHRONOUS] = true; + return $this->sendAsync($request, $options)->wait(); + } + + public function requestAsync($method, $uri = '', array $options = []) + { + $options = $this->prepareDefaults($options); + // Remove request modifying parameter because it can be done up-front. + $headers = isset($options['headers']) ? $options['headers'] : []; + $body = isset($options['body']) ? $options['body'] : null; + $version = isset($options['version']) ? $options['version'] : '1.1'; + // Merge the URI into the base URI. + $uri = $this->buildUri($uri, $options); + if (is_array($body)) { + $this->invalidBody(); + } + $request = new Psr7\Request($method, $uri, $headers, $body, $version); + // Remove the option so that they are not doubly-applied. + unset($options['headers'], $options['body'], $options['version']); + + return $this->transfer($request, $options); + } + + public function request($method, $uri = '', array $options = []) + { + $options[RequestOptions::SYNCHRONOUS] = true; + return $this->requestAsync($method, $uri, $options)->wait(); + } + + public function getConfig($option = null) + { + return $option === null + ? $this->config + : (isset($this->config[$option]) ? $this->config[$option] : null); + } + + private function buildUri($uri, array $config) + { + // for BC we accept null which would otherwise fail in uri_for + $uri = Psr7\uri_for($uri === null ? '' : $uri); + + if (isset($config['base_uri'])) { + $uri = Psr7\UriResolver::resolve(Psr7\uri_for($config['base_uri']), $uri); + } + + return $uri->getScheme() === '' && $uri->getHost() !== '' ? $uri->withScheme('http') : $uri; + } + + /** + * Configures the default options for a client. + * + * @param array $config + */ + private function configureDefaults(array $config) + { + $defaults = [ + 'allow_redirects' => RedirectMiddleware::$defaultSettings, + 'http_errors' => true, + 'decode_content' => true, + 'verify' => true, + 'cookies' => false + ]; + + // Use the standard Linux HTTP_PROXY and HTTPS_PROXY if set. + + // We can only trust the HTTP_PROXY environment variable in a CLI + // process due to the fact that PHP has no reliable mechanism to + // get environment variables that start with "HTTP_". + if (php_sapi_name() == 'cli' && getenv('HTTP_PROXY')) { + $defaults['proxy']['http'] = getenv('HTTP_PROXY'); + } + + if ($proxy = getenv('HTTPS_PROXY')) { + $defaults['proxy']['https'] = $proxy; + } + + if ($noProxy = getenv('NO_PROXY')) { + $cleanedNoProxy = str_replace(' ', '', $noProxy); + $defaults['proxy']['no'] = explode(',', $cleanedNoProxy); + } + + $this->config = $config + $defaults; + + if (!empty($config['cookies']) && $config['cookies'] === true) { + $this->config['cookies'] = new CookieJar(); + } + + // Add the default user-agent header. + if (!isset($this->config['headers'])) { + $this->config['headers'] = ['User-Agent' => default_user_agent()]; + } else { + // Add the User-Agent header if one was not already set. + foreach (array_keys($this->config['headers']) as $name) { + if (strtolower($name) === 'user-agent') { + return; + } + } + $this->config['headers']['User-Agent'] = default_user_agent(); + } + } + + /** + * Merges default options into the array. + * + * @param array $options Options to modify by reference + * + * @return array + */ + private function prepareDefaults($options) + { + $defaults = $this->config; + + if (!empty($defaults['headers'])) { + // Default headers are only added if they are not present. + $defaults['_conditional'] = $defaults['headers']; + unset($defaults['headers']); + } + + // Special handling for headers is required as they are added as + // conditional headers and as headers passed to a request ctor. + if (array_key_exists('headers', $options)) { + // Allows default headers to be unset. + if ($options['headers'] === null) { + $defaults['_conditional'] = null; + unset($options['headers']); + } elseif (!is_array($options['headers'])) { + throw new \InvalidArgumentException('headers must be an array'); + } + } + + // Shallow merge defaults underneath options. + $result = $options + $defaults; + + // Remove null values. + foreach ($result as $k => $v) { + if ($v === null) { + unset($result[$k]); + } + } + + return $result; + } + + /** + * Transfers the given request and applies request options. + * + * The URI of the request is not modified and the request options are used + * as-is without merging in default options. + * + * @param RequestInterface $request + * @param array $options + * + * @return Promise\PromiseInterface + */ + private function transfer(RequestInterface $request, array $options) + { + // save_to -> sink + if (isset($options['save_to'])) { + $options['sink'] = $options['save_to']; + unset($options['save_to']); + } + + // exceptions -> http_errors + if (isset($options['exceptions'])) { + $options['http_errors'] = $options['exceptions']; + unset($options['exceptions']); + } + + $request = $this->applyOptions($request, $options); + $handler = $options['handler']; + + try { + return Promise\promise_for($handler($request, $options)); + } catch (\Exception $e) { + return Promise\rejection_for($e); + } + } + + /** + * Applies the array of request options to a request. + * + * @param RequestInterface $request + * @param array $options + * + * @return RequestInterface + */ + private function applyOptions(RequestInterface $request, array &$options) + { + $modify = []; + + if (isset($options['form_params'])) { + if (isset($options['multipart'])) { + throw new \InvalidArgumentException('You cannot use ' + . 'form_params and multipart at the same time. Use the ' + . 'form_params option if you want to send application/' + . 'x-www-form-urlencoded requests, and the multipart ' + . 'option to send multipart/form-data requests.'); + } + $options['body'] = http_build_query($options['form_params'], '', '&'); + unset($options['form_params']); + $options['_conditional']['Content-Type'] = 'application/x-www-form-urlencoded'; + } + + if (isset($options['multipart'])) { + $options['body'] = new Psr7\MultipartStream($options['multipart']); + unset($options['multipart']); + } + + if (isset($options['json'])) { + $options['body'] = \GuzzleHttp\json_encode($options['json']); + unset($options['json']); + $options['_conditional']['Content-Type'] = 'application/json'; + } + + if (!empty($options['decode_content']) + && $options['decode_content'] !== true + ) { + $modify['set_headers']['Accept-Encoding'] = $options['decode_content']; + } + + if (isset($options['headers'])) { + if (isset($modify['set_headers'])) { + $modify['set_headers'] = $options['headers'] + $modify['set_headers']; + } else { + $modify['set_headers'] = $options['headers']; + } + unset($options['headers']); + } + + if (isset($options['body'])) { + if (is_array($options['body'])) { + $this->invalidBody(); + } + $modify['body'] = Psr7\stream_for($options['body']); + unset($options['body']); + } + + if (!empty($options['auth']) && is_array($options['auth'])) { + $value = $options['auth']; + $type = isset($value[2]) ? strtolower($value[2]) : 'basic'; + switch ($type) { + case 'basic': + $modify['set_headers']['Authorization'] = 'Basic ' + . base64_encode("$value[0]:$value[1]"); + break; + case 'digest': + // @todo: Do not rely on curl + $options['curl'][CURLOPT_HTTPAUTH] = CURLAUTH_DIGEST; + $options['curl'][CURLOPT_USERPWD] = "$value[0]:$value[1]"; + break; + } + } + + if (isset($options['query'])) { + $value = $options['query']; + if (is_array($value)) { + $value = http_build_query($value, null, '&', PHP_QUERY_RFC3986); + } + if (!is_string($value)) { + throw new \InvalidArgumentException('query must be a string or array'); + } + $modify['query'] = $value; + unset($options['query']); + } + + // Ensure that sink is not an invalid value. + if (isset($options['sink'])) { + // TODO: Add more sink validation? + if (is_bool($options['sink'])) { + throw new \InvalidArgumentException('sink must not be a boolean'); + } + } + + $request = Psr7\modify_request($request, $modify); + if ($request->getBody() instanceof Psr7\MultipartStream) { + // Use a multipart/form-data POST if a Content-Type is not set. + $options['_conditional']['Content-Type'] = 'multipart/form-data; boundary=' + . $request->getBody()->getBoundary(); + } + + // Merge in conditional headers if they are not present. + if (isset($options['_conditional'])) { + // Build up the changes so it's in a single clone of the message. + $modify = []; + foreach ($options['_conditional'] as $k => $v) { + if (!$request->hasHeader($k)) { + $modify['set_headers'][$k] = $v; + } + } + $request = Psr7\modify_request($request, $modify); + // Don't pass this internal value along to middleware/handlers. + unset($options['_conditional']); + } + + return $request; + } + + private function invalidBody() + { + throw new \InvalidArgumentException('Passing in the "body" request ' + . 'option as an array to send a POST request has been deprecated. ' + . 'Please use the "form_params" request option to send a ' + . 'application/x-www-form-urlencoded request, or a the "multipart" ' + . 'request option to send a multipart/form-data request.'); + } +} diff --git a/vendor/guzzlehttp/guzzle/src/ClientInterface.php b/vendor/guzzlehttp/guzzle/src/ClientInterface.php new file mode 100644 index 00000000..5a67b66b --- /dev/null +++ b/vendor/guzzlehttp/guzzle/src/ClientInterface.php @@ -0,0 +1,84 @@ +strictMode = $strictMode; + + foreach ($cookieArray as $cookie) { + if (!($cookie instanceof SetCookie)) { + $cookie = new SetCookie($cookie); + } + $this->setCookie($cookie); + } + } + + /** + * Create a new Cookie jar from an associative array and domain. + * + * @param array $cookies Cookies to create the jar from + * @param string $domain Domain to set the cookies to + * + * @return self + */ + public static function fromArray(array $cookies, $domain) + { + $cookieJar = new self(); + foreach ($cookies as $name => $value) { + $cookieJar->setCookie(new SetCookie([ + 'Domain' => $domain, + 'Name' => $name, + 'Value' => $value, + 'Discard' => true + ])); + } + + return $cookieJar; + } + + /** + * @deprecated + */ + public static function getCookieValue($value) + { + return $value; + } + + /** + * Evaluate if this cookie should be persisted to storage + * that survives between requests. + * + * @param SetCookie $cookie Being evaluated. + * @param bool $allowSessionCookies If we should persist session cookies + * @return bool + */ + public static function shouldPersist( + SetCookie $cookie, + $allowSessionCookies = false + ) { + if ($cookie->getExpires() || $allowSessionCookies) { + if (!$cookie->getDiscard()) { + return true; + } + } + + return false; + } + + public function toArray() + { + return array_map(function (SetCookie $cookie) { + return $cookie->toArray(); + }, $this->getIterator()->getArrayCopy()); + } + + public function clear($domain = null, $path = null, $name = null) + { + if (!$domain) { + $this->cookies = []; + return; + } elseif (!$path) { + $this->cookies = array_filter( + $this->cookies, + function (SetCookie $cookie) use ($path, $domain) { + return !$cookie->matchesDomain($domain); + } + ); + } elseif (!$name) { + $this->cookies = array_filter( + $this->cookies, + function (SetCookie $cookie) use ($path, $domain) { + return !($cookie->matchesPath($path) && + $cookie->matchesDomain($domain)); + } + ); + } else { + $this->cookies = array_filter( + $this->cookies, + function (SetCookie $cookie) use ($path, $domain, $name) { + return !($cookie->getName() == $name && + $cookie->matchesPath($path) && + $cookie->matchesDomain($domain)); + } + ); + } + } + + public function clearSessionCookies() + { + $this->cookies = array_filter( + $this->cookies, + function (SetCookie $cookie) { + return !$cookie->getDiscard() && $cookie->getExpires(); + } + ); + } + + public function setCookie(SetCookie $cookie) + { + // If the name string is empty (but not 0), ignore the set-cookie + // string entirely. + $name = $cookie->getName(); + if (!$name && $name !== '0') { + return false; + } + + // Only allow cookies with set and valid domain, name, value + $result = $cookie->validate(); + if ($result !== true) { + if ($this->strictMode) { + throw new \RuntimeException('Invalid cookie: ' . $result); + } else { + $this->removeCookieIfEmpty($cookie); + return false; + } + } + + // Resolve conflicts with previously set cookies + foreach ($this->cookies as $i => $c) { + + // Two cookies are identical, when their path, and domain are + // identical. + if ($c->getPath() != $cookie->getPath() || + $c->getDomain() != $cookie->getDomain() || + $c->getName() != $cookie->getName() + ) { + continue; + } + + // The previously set cookie is a discard cookie and this one is + // not so allow the new cookie to be set + if (!$cookie->getDiscard() && $c->getDiscard()) { + unset($this->cookies[$i]); + continue; + } + + // If the new cookie's expiration is further into the future, then + // replace the old cookie + if ($cookie->getExpires() > $c->getExpires()) { + unset($this->cookies[$i]); + continue; + } + + // If the value has changed, we better change it + if ($cookie->getValue() !== $c->getValue()) { + unset($this->cookies[$i]); + continue; + } + + // The cookie exists, so no need to continue + return false; + } + + $this->cookies[] = $cookie; + + return true; + } + + public function count() + { + return count($this->cookies); + } + + public function getIterator() + { + return new \ArrayIterator(array_values($this->cookies)); + } + + public function extractCookies( + RequestInterface $request, + ResponseInterface $response + ) { + if ($cookieHeader = $response->getHeader('Set-Cookie')) { + foreach ($cookieHeader as $cookie) { + $sc = SetCookie::fromString($cookie); + if (!$sc->getDomain()) { + $sc->setDomain($request->getUri()->getHost()); + } + $this->setCookie($sc); + } + } + } + + public function withCookieHeader(RequestInterface $request) + { + $values = []; + $uri = $request->getUri(); + $scheme = $uri->getScheme(); + $host = $uri->getHost(); + $path = $uri->getPath() ?: '/'; + + foreach ($this->cookies as $cookie) { + if ($cookie->matchesPath($path) && + $cookie->matchesDomain($host) && + !$cookie->isExpired() && + (!$cookie->getSecure() || $scheme === 'https') + ) { + $values[] = $cookie->getName() . '=' + . $cookie->getValue(); + } + } + + return $values + ? $request->withHeader('Cookie', implode('; ', $values)) + : $request; + } + + /** + * If a cookie already exists and the server asks to set it again with a + * null value, the cookie must be deleted. + * + * @param SetCookie $cookie + */ + private function removeCookieIfEmpty(SetCookie $cookie) + { + $cookieValue = $cookie->getValue(); + if ($cookieValue === null || $cookieValue === '') { + $this->clear( + $cookie->getDomain(), + $cookie->getPath(), + $cookie->getName() + ); + } + } +} diff --git a/vendor/guzzlehttp/guzzle/src/Cookie/CookieJarInterface.php b/vendor/guzzlehttp/guzzle/src/Cookie/CookieJarInterface.php new file mode 100644 index 00000000..2cf298a8 --- /dev/null +++ b/vendor/guzzlehttp/guzzle/src/Cookie/CookieJarInterface.php @@ -0,0 +1,84 @@ +filename = $cookieFile; + $this->storeSessionCookies = $storeSessionCookies; + + if (file_exists($cookieFile)) { + $this->load($cookieFile); + } + } + + /** + * Saves the file when shutting down + */ + public function __destruct() + { + $this->save($this->filename); + } + + /** + * Saves the cookies to a file. + * + * @param string $filename File to save + * @throws \RuntimeException if the file cannot be found or created + */ + public function save($filename) + { + $json = []; + foreach ($this as $cookie) { + /** @var SetCookie $cookie */ + if (CookieJar::shouldPersist($cookie, $this->storeSessionCookies)) { + $json[] = $cookie->toArray(); + } + } + + $jsonStr = \GuzzleHttp\json_encode($json); + if (false === file_put_contents($filename, $jsonStr)) { + throw new \RuntimeException("Unable to save file {$filename}"); + } + } + + /** + * Load cookies from a JSON formatted file. + * + * Old cookies are kept unless overwritten by newly loaded ones. + * + * @param string $filename Cookie file to load. + * @throws \RuntimeException if the file cannot be loaded. + */ + public function load($filename) + { + $json = file_get_contents($filename); + if (false === $json) { + throw new \RuntimeException("Unable to load file {$filename}"); + } elseif ($json === '') { + return; + } + + $data = \GuzzleHttp\json_decode($json, true); + if (is_array($data)) { + foreach (json_decode($json, true) as $cookie) { + $this->setCookie(new SetCookie($cookie)); + } + } elseif (strlen($data)) { + throw new \RuntimeException("Invalid cookie file: {$filename}"); + } + } +} diff --git a/vendor/guzzlehttp/guzzle/src/Cookie/SessionCookieJar.php b/vendor/guzzlehttp/guzzle/src/Cookie/SessionCookieJar.php new file mode 100644 index 00000000..e4bfafd4 --- /dev/null +++ b/vendor/guzzlehttp/guzzle/src/Cookie/SessionCookieJar.php @@ -0,0 +1,71 @@ +sessionKey = $sessionKey; + $this->storeSessionCookies = $storeSessionCookies; + $this->load(); + } + + /** + * Saves cookies to session when shutting down + */ + public function __destruct() + { + $this->save(); + } + + /** + * Save cookies to the client session + */ + public function save() + { + $json = []; + foreach ($this as $cookie) { + /** @var SetCookie $cookie */ + if (CookieJar::shouldPersist($cookie, $this->storeSessionCookies)) { + $json[] = $cookie->toArray(); + } + } + + $_SESSION[$this->sessionKey] = json_encode($json); + } + + /** + * Load the contents of the client session into the data array + */ + protected function load() + { + if (!isset($_SESSION[$this->sessionKey])) { + return; + } + $data = json_decode($_SESSION[$this->sessionKey], true); + if (is_array($data)) { + foreach ($data as $cookie) { + $this->setCookie(new SetCookie($cookie)); + } + } elseif (strlen($data)) { + throw new \RuntimeException("Invalid cookie data"); + } + } +} diff --git a/vendor/guzzlehttp/guzzle/src/Cookie/SetCookie.php b/vendor/guzzlehttp/guzzle/src/Cookie/SetCookie.php new file mode 100644 index 00000000..c911e2a3 --- /dev/null +++ b/vendor/guzzlehttp/guzzle/src/Cookie/SetCookie.php @@ -0,0 +1,404 @@ + null, + 'Value' => null, + 'Domain' => null, + 'Path' => '/', + 'Max-Age' => null, + 'Expires' => null, + 'Secure' => false, + 'Discard' => false, + 'HttpOnly' => false + ]; + + /** @var array Cookie data */ + private $data; + + /** + * Create a new SetCookie object from a string + * + * @param string $cookie Set-Cookie header string + * + * @return self + */ + public static function fromString($cookie) + { + // Create the default return array + $data = self::$defaults; + // Explode the cookie string using a series of semicolons + $pieces = array_filter(array_map('trim', explode(';', $cookie))); + // The name of the cookie (first kvp) must include an equal sign. + if (empty($pieces) || !strpos($pieces[0], '=')) { + return new self($data); + } + + // Add the cookie pieces into the parsed data array + foreach ($pieces as $part) { + + $cookieParts = explode('=', $part, 2); + $key = trim($cookieParts[0]); + $value = isset($cookieParts[1]) + ? trim($cookieParts[1], " \n\r\t\0\x0B") + : true; + + // Only check for non-cookies when cookies have been found + if (empty($data['Name'])) { + $data['Name'] = $key; + $data['Value'] = $value; + } else { + foreach (array_keys(self::$defaults) as $search) { + if (!strcasecmp($search, $key)) { + $data[$search] = $value; + continue 2; + } + } + $data[$key] = $value; + } + } + + return new self($data); + } + + /** + * @param array $data Array of cookie data provided by a Cookie parser + */ + public function __construct(array $data = []) + { + $this->data = array_replace(self::$defaults, $data); + // Extract the Expires value and turn it into a UNIX timestamp if needed + if (!$this->getExpires() && $this->getMaxAge()) { + // Calculate the Expires date + $this->setExpires(time() + $this->getMaxAge()); + } elseif ($this->getExpires() && !is_numeric($this->getExpires())) { + $this->setExpires($this->getExpires()); + } + } + + public function __toString() + { + $str = $this->data['Name'] . '=' . $this->data['Value'] . '; '; + foreach ($this->data as $k => $v) { + if ($k !== 'Name' && $k !== 'Value' && $v !== null && $v !== false) { + if ($k === 'Expires') { + $str .= 'Expires=' . gmdate('D, d M Y H:i:s \G\M\T', $v) . '; '; + } else { + $str .= ($v === true ? $k : "{$k}={$v}") . '; '; + } + } + } + + return rtrim($str, '; '); + } + + public function toArray() + { + return $this->data; + } + + /** + * Get the cookie name + * + * @return string + */ + public function getName() + { + return $this->data['Name']; + } + + /** + * Set the cookie name + * + * @param string $name Cookie name + */ + public function setName($name) + { + $this->data['Name'] = $name; + } + + /** + * Get the cookie value + * + * @return string + */ + public function getValue() + { + return $this->data['Value']; + } + + /** + * Set the cookie value + * + * @param string $value Cookie value + */ + public function setValue($value) + { + $this->data['Value'] = $value; + } + + /** + * Get the domain + * + * @return string|null + */ + public function getDomain() + { + return $this->data['Domain']; + } + + /** + * Set the domain of the cookie + * + * @param string $domain + */ + public function setDomain($domain) + { + $this->data['Domain'] = $domain; + } + + /** + * Get the path + * + * @return string + */ + public function getPath() + { + return $this->data['Path']; + } + + /** + * Set the path of the cookie + * + * @param string $path Path of the cookie + */ + public function setPath($path) + { + $this->data['Path'] = $path; + } + + /** + * Maximum lifetime of the cookie in seconds + * + * @return int|null + */ + public function getMaxAge() + { + return $this->data['Max-Age']; + } + + /** + * Set the max-age of the cookie + * + * @param int $maxAge Max age of the cookie in seconds + */ + public function setMaxAge($maxAge) + { + $this->data['Max-Age'] = $maxAge; + } + + /** + * The UNIX timestamp when the cookie Expires + * + * @return mixed + */ + public function getExpires() + { + return $this->data['Expires']; + } + + /** + * Set the unix timestamp for which the cookie will expire + * + * @param int $timestamp Unix timestamp + */ + public function setExpires($timestamp) + { + $this->data['Expires'] = is_numeric($timestamp) + ? (int) $timestamp + : strtotime($timestamp); + } + + /** + * Get whether or not this is a secure cookie + * + * @return null|bool + */ + public function getSecure() + { + return $this->data['Secure']; + } + + /** + * Set whether or not the cookie is secure + * + * @param bool $secure Set to true or false if secure + */ + public function setSecure($secure) + { + $this->data['Secure'] = $secure; + } + + /** + * Get whether or not this is a session cookie + * + * @return null|bool + */ + public function getDiscard() + { + return $this->data['Discard']; + } + + /** + * Set whether or not this is a session cookie + * + * @param bool $discard Set to true or false if this is a session cookie + */ + public function setDiscard($discard) + { + $this->data['Discard'] = $discard; + } + + /** + * Get whether or not this is an HTTP only cookie + * + * @return bool + */ + public function getHttpOnly() + { + return $this->data['HttpOnly']; + } + + /** + * Set whether or not this is an HTTP only cookie + * + * @param bool $httpOnly Set to true or false if this is HTTP only + */ + public function setHttpOnly($httpOnly) + { + $this->data['HttpOnly'] = $httpOnly; + } + + /** + * Check if the cookie matches a path value. + * + * A request-path path-matches a given cookie-path if at least one of + * the following conditions holds: + * + * - The cookie-path and the request-path are identical. + * - The cookie-path is a prefix of the request-path, and the last + * character of the cookie-path is %x2F ("/"). + * - The cookie-path is a prefix of the request-path, and the first + * character of the request-path that is not included in the cookie- + * path is a %x2F ("/") character. + * + * @param string $requestPath Path to check against + * + * @return bool + */ + public function matchesPath($requestPath) + { + $cookiePath = $this->getPath(); + + // Match on exact matches or when path is the default empty "/" + if ($cookiePath === '/' || $cookiePath == $requestPath) { + return true; + } + + // Ensure that the cookie-path is a prefix of the request path. + if (0 !== strpos($requestPath, $cookiePath)) { + return false; + } + + // Match if the last character of the cookie-path is "/" + if (substr($cookiePath, -1, 1) === '/') { + return true; + } + + // Match if the first character not included in cookie path is "/" + return substr($requestPath, strlen($cookiePath), 1) === '/'; + } + + /** + * Check if the cookie matches a domain value + * + * @param string $domain Domain to check against + * + * @return bool + */ + public function matchesDomain($domain) + { + // Remove the leading '.' as per spec in RFC 6265. + // http://tools.ietf.org/html/rfc6265#section-5.2.3 + $cookieDomain = ltrim($this->getDomain(), '.'); + + // Domain not set or exact match. + if (!$cookieDomain || !strcasecmp($domain, $cookieDomain)) { + return true; + } + + // Matching the subdomain according to RFC 6265. + // http://tools.ietf.org/html/rfc6265#section-5.1.3 + if (filter_var($domain, FILTER_VALIDATE_IP)) { + return false; + } + + return (bool) preg_match('/\.' . preg_quote($cookieDomain) . '$/', $domain); + } + + /** + * Check if the cookie is expired + * + * @return bool + */ + public function isExpired() + { + return $this->getExpires() && time() > $this->getExpires(); + } + + /** + * Check if the cookie is valid according to RFC 6265 + * + * @return bool|string Returns true if valid or an error message if invalid + */ + public function validate() + { + // Names must not be empty, but can be 0 + $name = $this->getName(); + if (empty($name) && !is_numeric($name)) { + return 'The cookie name must not be empty'; + } + + // Check if any of the invalid characters are present in the cookie name + if (preg_match( + '/[\x00-\x20\x22\x28-\x29\x2c\x2f\x3a-\x40\x5c\x7b\x7d\x7f]/', + $name) + ) { + return 'Cookie name must not contain invalid characters: ASCII ' + . 'Control characters (0-31;127), space, tab and the ' + . 'following characters: ()<>@,;:\"/?={}'; + } + + // Value must not be empty, but can be 0 + $value = $this->getValue(); + if (empty($value) && !is_numeric($value)) { + return 'The cookie value must not be empty'; + } + + // Domains must not be empty, but can be 0 + // A "0" is not a valid internet domain, but may be used as server name + // in a private network. + $domain = $this->getDomain(); + if (empty($domain) && !is_numeric($domain)) { + return 'The cookie domain must not be empty'; + } + + return true; + } +} diff --git a/vendor/guzzlehttp/guzzle/src/Exception/BadResponseException.php b/vendor/guzzlehttp/guzzle/src/Exception/BadResponseException.php new file mode 100644 index 00000000..fd78431e --- /dev/null +++ b/vendor/guzzlehttp/guzzle/src/Exception/BadResponseException.php @@ -0,0 +1,7 @@ +getStatusCode() + : 0; + parent::__construct($message, $code, $previous); + $this->request = $request; + $this->response = $response; + $this->handlerContext = $handlerContext; + } + + /** + * Wrap non-RequestExceptions with a RequestException + * + * @param RequestInterface $request + * @param \Exception $e + * + * @return RequestException + */ + public static function wrapException(RequestInterface $request, \Exception $e) + { + return $e instanceof RequestException + ? $e + : new RequestException($e->getMessage(), $request, null, $e); + } + + /** + * Factory method to create a new exception with a normalized error message + * + * @param RequestInterface $request Request + * @param ResponseInterface $response Response received + * @param \Exception $previous Previous exception + * @param array $ctx Optional handler context. + * + * @return self + */ + public static function create( + RequestInterface $request, + ResponseInterface $response = null, + \Exception $previous = null, + array $ctx = [] + ) { + if (!$response) { + return new self( + 'Error completing request', + $request, + null, + $previous, + $ctx + ); + } + + $level = (int) floor($response->getStatusCode() / 100); + if ($level === 4) { + $label = 'Client error'; + $className = __NAMESPACE__ . '\\ClientException'; + } elseif ($level === 5) { + $label = 'Server error'; + $className = __NAMESPACE__ . '\\ServerException'; + } else { + $label = 'Unsuccessful request'; + $className = __CLASS__; + } + + $uri = $request->getUri(); + $uri = static::obfuscateUri($uri); + + // Server Error: `GET /` resulted in a `404 Not Found` response: + // ... (truncated) + $message = sprintf( + '%s: `%s` resulted in a `%s` response', + $label, + $request->getMethod() . ' ' . $uri, + $response->getStatusCode() . ' ' . $response->getReasonPhrase() + ); + + $summary = static::getResponseBodySummary($response); + + if ($summary !== null) { + $message .= ":\n{$summary}\n"; + } + + return new $className($message, $request, $response, $previous, $ctx); + } + + /** + * Get a short summary of the response + * + * Will return `null` if the response is not printable. + * + * @param ResponseInterface $response + * + * @return string|null + */ + public static function getResponseBodySummary(ResponseInterface $response) + { + $body = $response->getBody(); + + if (!$body->isSeekable()) { + return null; + } + + $size = $body->getSize(); + $summary = $body->read(120); + $body->rewind(); + + if ($size > 120) { + $summary .= ' (truncated...)'; + } + + // Matches any printable character, including unicode characters: + // letters, marks, numbers, punctuation, spacing, and separators. + if (preg_match('/[^\pL\pM\pN\pP\pS\pZ\n\r\t]/', $summary)) { + return null; + } + + return $summary; + } + + /** + * Obfuscates URI if there is an username and a password present + * + * @param UriInterface $uri + * + * @return UriInterface + */ + private static function obfuscateUri($uri) + { + $userInfo = $uri->getUserInfo(); + + if (false !== ($pos = strpos($userInfo, ':'))) { + return $uri->withUserInfo(substr($userInfo, 0, $pos), '***'); + } + + return $uri; + } + + /** + * Get the request that caused the exception + * + * @return RequestInterface + */ + public function getRequest() + { + return $this->request; + } + + /** + * Get the associated response + * + * @return ResponseInterface|null + */ + public function getResponse() + { + return $this->response; + } + + /** + * Check if a response was received + * + * @return bool + */ + public function hasResponse() + { + return $this->response !== null; + } + + /** + * Get contextual information about the error from the underlying handler. + * + * The contents of this array will vary depending on which handler you are + * using. It may also be just an empty array. Relying on this data will + * couple you to a specific handler, but can give more debug information + * when needed. + * + * @return array + */ + public function getHandlerContext() + { + return $this->handlerContext; + } +} diff --git a/vendor/guzzlehttp/guzzle/src/Exception/SeekException.php b/vendor/guzzlehttp/guzzle/src/Exception/SeekException.php new file mode 100644 index 00000000..a77c2892 --- /dev/null +++ b/vendor/guzzlehttp/guzzle/src/Exception/SeekException.php @@ -0,0 +1,27 @@ +stream = $stream; + $msg = $msg ?: 'Could not seek the stream to position ' . $pos; + parent::__construct($msg); + } + + /** + * @return StreamInterface + */ + public function getStream() + { + return $this->stream; + } +} diff --git a/vendor/guzzlehttp/guzzle/src/Exception/ServerException.php b/vendor/guzzlehttp/guzzle/src/Exception/ServerException.php new file mode 100644 index 00000000..7cdd3408 --- /dev/null +++ b/vendor/guzzlehttp/guzzle/src/Exception/ServerException.php @@ -0,0 +1,7 @@ +maxHandles = $maxHandles; + } + + public function create(RequestInterface $request, array $options) + { + if (isset($options['curl']['body_as_string'])) { + $options['_body_as_string'] = $options['curl']['body_as_string']; + unset($options['curl']['body_as_string']); + } + + $easy = new EasyHandle; + $easy->request = $request; + $easy->options = $options; + $conf = $this->getDefaultConf($easy); + $this->applyMethod($easy, $conf); + $this->applyHandlerOptions($easy, $conf); + $this->applyHeaders($easy, $conf); + unset($conf['_headers']); + + // Add handler options from the request configuration options + if (isset($options['curl'])) { + $conf = array_replace($conf, $options['curl']); + } + + $conf[CURLOPT_HEADERFUNCTION] = $this->createHeaderFn($easy); + $easy->handle = $this->handles + ? array_pop($this->handles) + : curl_init(); + curl_setopt_array($easy->handle, $conf); + + return $easy; + } + + public function release(EasyHandle $easy) + { + $resource = $easy->handle; + unset($easy->handle); + + if (count($this->handles) >= $this->maxHandles) { + curl_close($resource); + } else { + // Remove all callback functions as they can hold onto references + // and are not cleaned up by curl_reset. Using curl_setopt_array + // does not work for some reason, so removing each one + // individually. + curl_setopt($resource, CURLOPT_HEADERFUNCTION, null); + curl_setopt($resource, CURLOPT_READFUNCTION, null); + curl_setopt($resource, CURLOPT_WRITEFUNCTION, null); + curl_setopt($resource, CURLOPT_PROGRESSFUNCTION, null); + curl_reset($resource); + $this->handles[] = $resource; + } + } + + /** + * Completes a cURL transaction, either returning a response promise or a + * rejected promise. + * + * @param callable $handler + * @param EasyHandle $easy + * @param CurlFactoryInterface $factory Dictates how the handle is released + * + * @return \GuzzleHttp\Promise\PromiseInterface + */ + public static function finish( + callable $handler, + EasyHandle $easy, + CurlFactoryInterface $factory + ) { + if (isset($easy->options['on_stats'])) { + self::invokeStats($easy); + } + + if (!$easy->response || $easy->errno) { + return self::finishError($handler, $easy, $factory); + } + + // Return the response if it is present and there is no error. + $factory->release($easy); + + // Rewind the body of the response if possible. + $body = $easy->response->getBody(); + if ($body->isSeekable()) { + $body->rewind(); + } + + return new FulfilledPromise($easy->response); + } + + private static function invokeStats(EasyHandle $easy) + { + $curlStats = curl_getinfo($easy->handle); + $stats = new TransferStats( + $easy->request, + $easy->response, + $curlStats['total_time'], + $easy->errno, + $curlStats + ); + call_user_func($easy->options['on_stats'], $stats); + } + + private static function finishError( + callable $handler, + EasyHandle $easy, + CurlFactoryInterface $factory + ) { + // Get error information and release the handle to the factory. + $ctx = [ + 'errno' => $easy->errno, + 'error' => curl_error($easy->handle), + ] + curl_getinfo($easy->handle); + $factory->release($easy); + + // Retry when nothing is present or when curl failed to rewind. + if (empty($easy->options['_err_message']) + && (!$easy->errno || $easy->errno == 65) + ) { + return self::retryFailedRewind($handler, $easy, $ctx); + } + + return self::createRejection($easy, $ctx); + } + + private static function createRejection(EasyHandle $easy, array $ctx) + { + static $connectionErrors = [ + CURLE_OPERATION_TIMEOUTED => true, + CURLE_COULDNT_RESOLVE_HOST => true, + CURLE_COULDNT_CONNECT => true, + CURLE_SSL_CONNECT_ERROR => true, + CURLE_GOT_NOTHING => true, + ]; + + // If an exception was encountered during the onHeaders event, then + // return a rejected promise that wraps that exception. + if ($easy->onHeadersException) { + return new RejectedPromise( + new RequestException( + 'An error was encountered during the on_headers event', + $easy->request, + $easy->response, + $easy->onHeadersException, + $ctx + ) + ); + } + + $message = sprintf( + 'cURL error %s: %s (%s)', + $ctx['errno'], + $ctx['error'], + 'see http://curl.haxx.se/libcurl/c/libcurl-errors.html' + ); + + // Create a connection exception if it was a specific error code. + $error = isset($connectionErrors[$easy->errno]) + ? new ConnectException($message, $easy->request, null, $ctx) + : new RequestException($message, $easy->request, $easy->response, null, $ctx); + + return new RejectedPromise($error); + } + + private function getDefaultConf(EasyHandle $easy) + { + $conf = [ + '_headers' => $easy->request->getHeaders(), + CURLOPT_CUSTOMREQUEST => $easy->request->getMethod(), + CURLOPT_URL => (string) $easy->request->getUri()->withFragment(''), + CURLOPT_RETURNTRANSFER => false, + CURLOPT_HEADER => false, + CURLOPT_CONNECTTIMEOUT => 150, + ]; + + if (defined('CURLOPT_PROTOCOLS')) { + $conf[CURLOPT_PROTOCOLS] = CURLPROTO_HTTP | CURLPROTO_HTTPS; + } + + $version = $easy->request->getProtocolVersion(); + if ($version == 1.1) { + $conf[CURLOPT_HTTP_VERSION] = CURL_HTTP_VERSION_1_1; + } elseif ($version == 2.0) { + $conf[CURLOPT_HTTP_VERSION] = CURL_HTTP_VERSION_2_0; + } else { + $conf[CURLOPT_HTTP_VERSION] = CURL_HTTP_VERSION_1_0; + } + + return $conf; + } + + private function applyMethod(EasyHandle $easy, array &$conf) + { + $body = $easy->request->getBody(); + $size = $body->getSize(); + + if ($size === null || $size > 0) { + $this->applyBody($easy->request, $easy->options, $conf); + return; + } + + $method = $easy->request->getMethod(); + if ($method === 'PUT' || $method === 'POST') { + // See http://tools.ietf.org/html/rfc7230#section-3.3.2 + if (!$easy->request->hasHeader('Content-Length')) { + $conf[CURLOPT_HTTPHEADER][] = 'Content-Length: 0'; + } + } elseif ($method === 'HEAD') { + $conf[CURLOPT_NOBODY] = true; + unset( + $conf[CURLOPT_WRITEFUNCTION], + $conf[CURLOPT_READFUNCTION], + $conf[CURLOPT_FILE], + $conf[CURLOPT_INFILE] + ); + } + } + + private function applyBody(RequestInterface $request, array $options, array &$conf) + { + $size = $request->hasHeader('Content-Length') + ? (int) $request->getHeaderLine('Content-Length') + : null; + + // Send the body as a string if the size is less than 1MB OR if the + // [curl][body_as_string] request value is set. + if (($size !== null && $size < 1000000) || + !empty($options['_body_as_string']) + ) { + $conf[CURLOPT_POSTFIELDS] = (string) $request->getBody(); + // Don't duplicate the Content-Length header + $this->removeHeader('Content-Length', $conf); + $this->removeHeader('Transfer-Encoding', $conf); + } else { + $conf[CURLOPT_UPLOAD] = true; + if ($size !== null) { + $conf[CURLOPT_INFILESIZE] = $size; + $this->removeHeader('Content-Length', $conf); + } + $body = $request->getBody(); + if ($body->isSeekable()) { + $body->rewind(); + } + $conf[CURLOPT_READFUNCTION] = function ($ch, $fd, $length) use ($body) { + return $body->read($length); + }; + } + + // If the Expect header is not present, prevent curl from adding it + if (!$request->hasHeader('Expect')) { + $conf[CURLOPT_HTTPHEADER][] = 'Expect:'; + } + + // cURL sometimes adds a content-type by default. Prevent this. + if (!$request->hasHeader('Content-Type')) { + $conf[CURLOPT_HTTPHEADER][] = 'Content-Type:'; + } + } + + private function applyHeaders(EasyHandle $easy, array &$conf) + { + foreach ($conf['_headers'] as $name => $values) { + foreach ($values as $value) { + $conf[CURLOPT_HTTPHEADER][] = "$name: $value"; + } + } + + // Remove the Accept header if one was not set + if (!$easy->request->hasHeader('Accept')) { + $conf[CURLOPT_HTTPHEADER][] = 'Accept:'; + } + } + + /** + * Remove a header from the options array. + * + * @param string $name Case-insensitive header to remove + * @param array $options Array of options to modify + */ + private function removeHeader($name, array &$options) + { + foreach (array_keys($options['_headers']) as $key) { + if (!strcasecmp($key, $name)) { + unset($options['_headers'][$key]); + return; + } + } + } + + private function applyHandlerOptions(EasyHandle $easy, array &$conf) + { + $options = $easy->options; + if (isset($options['verify'])) { + if ($options['verify'] === false) { + unset($conf[CURLOPT_CAINFO]); + $conf[CURLOPT_SSL_VERIFYHOST] = 0; + $conf[CURLOPT_SSL_VERIFYPEER] = false; + } else { + $conf[CURLOPT_SSL_VERIFYHOST] = 2; + $conf[CURLOPT_SSL_VERIFYPEER] = true; + if (is_string($options['verify'])) { + $conf[CURLOPT_CAINFO] = $options['verify']; + if (!file_exists($options['verify'])) { + throw new \InvalidArgumentException( + "SSL CA bundle not found: {$options['verify']}" + ); + } + } + } + } + + if (!empty($options['decode_content'])) { + $accept = $easy->request->getHeaderLine('Accept-Encoding'); + if ($accept) { + $conf[CURLOPT_ENCODING] = $accept; + } else { + $conf[CURLOPT_ENCODING] = ''; + // Don't let curl send the header over the wire + $conf[CURLOPT_HTTPHEADER][] = 'Accept-Encoding:'; + } + } + + if (isset($options['sink'])) { + $sink = $options['sink']; + if (!is_string($sink)) { + $sink = \GuzzleHttp\Psr7\stream_for($sink); + } elseif (!is_dir(dirname($sink))) { + // Ensure that the directory exists before failing in curl. + throw new \RuntimeException(sprintf( + 'Directory %s does not exist for sink value of %s', + dirname($sink), + $sink + )); + } else { + $sink = new LazyOpenStream($sink, 'w+'); + } + $easy->sink = $sink; + $conf[CURLOPT_WRITEFUNCTION] = function ($ch, $write) use ($sink) { + return $sink->write($write); + }; + } else { + // Use a default temp stream if no sink was set. + $conf[CURLOPT_FILE] = fopen('php://temp', 'w+'); + $easy->sink = Psr7\stream_for($conf[CURLOPT_FILE]); + } + + if (isset($options['timeout'])) { + $conf[CURLOPT_TIMEOUT_MS] = $options['timeout'] * 1000; + } + + if (isset($options['connect_timeout'])) { + $conf[CURLOPT_CONNECTTIMEOUT_MS] = $options['connect_timeout'] * 1000; + } + + if (isset($options['proxy'])) { + if (!is_array($options['proxy'])) { + $conf[CURLOPT_PROXY] = $options['proxy']; + } else { + $scheme = $easy->request->getUri()->getScheme(); + if (isset($options['proxy'][$scheme])) { + $host = $easy->request->getUri()->getHost(); + if (!isset($options['proxy']['no']) || + !\GuzzleHttp\is_host_in_noproxy($host, $options['proxy']['no']) + ) { + $conf[CURLOPT_PROXY] = $options['proxy'][$scheme]; + } + } + } + } + + if (isset($options['cert'])) { + $cert = $options['cert']; + if (is_array($cert)) { + $conf[CURLOPT_SSLCERTPASSWD] = $cert[1]; + $cert = $cert[0]; + } + if (!file_exists($cert)) { + throw new \InvalidArgumentException( + "SSL certificate not found: {$cert}" + ); + } + $conf[CURLOPT_SSLCERT] = $cert; + } + + if (isset($options['ssl_key'])) { + $sslKey = $options['ssl_key']; + if (is_array($sslKey)) { + $conf[CURLOPT_SSLKEYPASSWD] = $sslKey[1]; + $sslKey = $sslKey[0]; + } + if (!file_exists($sslKey)) { + throw new \InvalidArgumentException( + "SSL private key not found: {$sslKey}" + ); + } + $conf[CURLOPT_SSLKEY] = $sslKey; + } + + if (isset($options['progress'])) { + $progress = $options['progress']; + if (!is_callable($progress)) { + throw new \InvalidArgumentException( + 'progress client option must be callable' + ); + } + $conf[CURLOPT_NOPROGRESS] = false; + $conf[CURLOPT_PROGRESSFUNCTION] = function () use ($progress) { + $args = func_get_args(); + // PHP 5.5 pushed the handle onto the start of the args + if (is_resource($args[0])) { + array_shift($args); + } + call_user_func_array($progress, $args); + }; + } + + if (!empty($options['debug'])) { + $conf[CURLOPT_STDERR] = \GuzzleHttp\debug_resource($options['debug']); + $conf[CURLOPT_VERBOSE] = true; + } + } + + /** + * This function ensures that a response was set on a transaction. If one + * was not set, then the request is retried if possible. This error + * typically means you are sending a payload, curl encountered a + * "Connection died, retrying a fresh connect" error, tried to rewind the + * stream, and then encountered a "necessary data rewind wasn't possible" + * error, causing the request to be sent through curl_multi_info_read() + * without an error status. + */ + private static function retryFailedRewind( + callable $handler, + EasyHandle $easy, + array $ctx + ) { + try { + // Only rewind if the body has been read from. + $body = $easy->request->getBody(); + if ($body->tell() > 0) { + $body->rewind(); + } + } catch (\RuntimeException $e) { + $ctx['error'] = 'The connection unexpectedly failed without ' + . 'providing an error. The request would have been retried, ' + . 'but attempting to rewind the request body failed. ' + . 'Exception: ' . $e; + return self::createRejection($easy, $ctx); + } + + // Retry no more than 3 times before giving up. + if (!isset($easy->options['_curl_retries'])) { + $easy->options['_curl_retries'] = 1; + } elseif ($easy->options['_curl_retries'] == 2) { + $ctx['error'] = 'The cURL request was retried 3 times ' + . 'and did not succeed. The most likely reason for the failure ' + . 'is that cURL was unable to rewind the body of the request ' + . 'and subsequent retries resulted in the same error. Turn on ' + . 'the debug option to see what went wrong. See ' + . 'https://bugs.php.net/bug.php?id=47204 for more information.'; + return self::createRejection($easy, $ctx); + } else { + $easy->options['_curl_retries']++; + } + + return $handler($easy->request, $easy->options); + } + + private function createHeaderFn(EasyHandle $easy) + { + if (isset($easy->options['on_headers'])) { + $onHeaders = $easy->options['on_headers']; + + if (!is_callable($onHeaders)) { + throw new \InvalidArgumentException('on_headers must be callable'); + } + } else { + $onHeaders = null; + } + + return function ($ch, $h) use ( + $onHeaders, + $easy, + &$startingResponse + ) { + $value = trim($h); + if ($value === '') { + $startingResponse = true; + $easy->createResponse(); + if ($onHeaders !== null) { + try { + $onHeaders($easy->response); + } catch (\Exception $e) { + // Associate the exception with the handle and trigger + // a curl header write error by returning 0. + $easy->onHeadersException = $e; + return -1; + } + } + } elseif ($startingResponse) { + $startingResponse = false; + $easy->headers = [$value]; + } else { + $easy->headers[] = $value; + } + return strlen($h); + }; + } +} diff --git a/vendor/guzzlehttp/guzzle/src/Handler/CurlFactoryInterface.php b/vendor/guzzlehttp/guzzle/src/Handler/CurlFactoryInterface.php new file mode 100644 index 00000000..b0fc2368 --- /dev/null +++ b/vendor/guzzlehttp/guzzle/src/Handler/CurlFactoryInterface.php @@ -0,0 +1,27 @@ +factory = isset($options['handle_factory']) + ? $options['handle_factory'] + : new CurlFactory(3); + } + + public function __invoke(RequestInterface $request, array $options) + { + if (isset($options['delay'])) { + usleep($options['delay'] * 1000); + } + + $easy = $this->factory->create($request, $options); + curl_exec($easy->handle); + $easy->errno = curl_errno($easy->handle); + + return CurlFactory::finish($this, $easy, $this->factory); + } +} diff --git a/vendor/guzzlehttp/guzzle/src/Handler/CurlMultiHandler.php b/vendor/guzzlehttp/guzzle/src/Handler/CurlMultiHandler.php new file mode 100644 index 00000000..945d06ee --- /dev/null +++ b/vendor/guzzlehttp/guzzle/src/Handler/CurlMultiHandler.php @@ -0,0 +1,197 @@ +factory = isset($options['handle_factory']) + ? $options['handle_factory'] : new CurlFactory(50); + $this->selectTimeout = isset($options['select_timeout']) + ? $options['select_timeout'] : 1; + } + + public function __get($name) + { + if ($name === '_mh') { + return $this->_mh = curl_multi_init(); + } + + throw new \BadMethodCallException(); + } + + public function __destruct() + { + if (isset($this->_mh)) { + curl_multi_close($this->_mh); + unset($this->_mh); + } + } + + public function __invoke(RequestInterface $request, array $options) + { + $easy = $this->factory->create($request, $options); + $id = (int) $easy->handle; + + $promise = new Promise( + [$this, 'execute'], + function () use ($id) { return $this->cancel($id); } + ); + + $this->addRequest(['easy' => $easy, 'deferred' => $promise]); + + return $promise; + } + + /** + * Ticks the curl event loop. + */ + public function tick() + { + // Add any delayed handles if needed. + if ($this->delays) { + $currentTime = microtime(true); + foreach ($this->delays as $id => $delay) { + if ($currentTime >= $delay) { + unset($this->delays[$id]); + curl_multi_add_handle( + $this->_mh, + $this->handles[$id]['easy']->handle + ); + } + } + } + + // Step through the task queue which may add additional requests. + P\queue()->run(); + + if ($this->active && + curl_multi_select($this->_mh, $this->selectTimeout) === -1 + ) { + // Perform a usleep if a select returns -1. + // See: https://bugs.php.net/bug.php?id=61141 + usleep(250); + } + + while (curl_multi_exec($this->_mh, $this->active) === CURLM_CALL_MULTI_PERFORM); + + $this->processMessages(); + } + + /** + * Runs until all outstanding connections have completed. + */ + public function execute() + { + $queue = P\queue(); + + while ($this->handles || !$queue->isEmpty()) { + // If there are no transfers, then sleep for the next delay + if (!$this->active && $this->delays) { + usleep($this->timeToNext()); + } + $this->tick(); + } + } + + private function addRequest(array $entry) + { + $easy = $entry['easy']; + $id = (int) $easy->handle; + $this->handles[$id] = $entry; + if (empty($easy->options['delay'])) { + curl_multi_add_handle($this->_mh, $easy->handle); + } else { + $this->delays[$id] = microtime(true) + ($easy->options['delay'] / 1000); + } + } + + /** + * Cancels a handle from sending and removes references to it. + * + * @param int $id Handle ID to cancel and remove. + * + * @return bool True on success, false on failure. + */ + private function cancel($id) + { + // Cannot cancel if it has been processed. + if (!isset($this->handles[$id])) { + return false; + } + + $handle = $this->handles[$id]['easy']->handle; + unset($this->delays[$id], $this->handles[$id]); + curl_multi_remove_handle($this->_mh, $handle); + curl_close($handle); + + return true; + } + + private function processMessages() + { + while ($done = curl_multi_info_read($this->_mh)) { + $id = (int) $done['handle']; + curl_multi_remove_handle($this->_mh, $done['handle']); + + if (!isset($this->handles[$id])) { + // Probably was cancelled. + continue; + } + + $entry = $this->handles[$id]; + unset($this->handles[$id], $this->delays[$id]); + $entry['easy']->errno = $done['result']; + $entry['deferred']->resolve( + CurlFactory::finish( + $this, + $entry['easy'], + $this->factory + ) + ); + } + } + + private function timeToNext() + { + $currentTime = microtime(true); + $nextTime = PHP_INT_MAX; + foreach ($this->delays as $time) { + if ($time < $nextTime) { + $nextTime = $time; + } + } + + return max(0, $nextTime - $currentTime) * 1000000; + } +} diff --git a/vendor/guzzlehttp/guzzle/src/Handler/EasyHandle.php b/vendor/guzzlehttp/guzzle/src/Handler/EasyHandle.php new file mode 100644 index 00000000..7754e911 --- /dev/null +++ b/vendor/guzzlehttp/guzzle/src/Handler/EasyHandle.php @@ -0,0 +1,92 @@ +headers)) { + throw new \RuntimeException('No headers have been received'); + } + + // HTTP-version SP status-code SP reason-phrase + $startLine = explode(' ', array_shift($this->headers), 3); + $headers = \GuzzleHttp\headers_from_lines($this->headers); + $normalizedKeys = \GuzzleHttp\normalize_header_keys($headers); + + if (!empty($this->options['decode_content']) + && isset($normalizedKeys['content-encoding']) + ) { + $headers['x-encoded-content-encoding'] + = $headers[$normalizedKeys['content-encoding']]; + unset($headers[$normalizedKeys['content-encoding']]); + if (isset($normalizedKeys['content-length'])) { + $headers['x-encoded-content-length'] + = $headers[$normalizedKeys['content-length']]; + + $bodyLength = (int) $this->sink->getSize(); + if ($bodyLength) { + $headers[$normalizedKeys['content-length']] = $bodyLength; + } else { + unset($headers[$normalizedKeys['content-length']]); + } + } + } + + // Attach a response to the easy handle with the parsed headers. + $this->response = new Response( + $startLine[1], + $headers, + $this->sink, + substr($startLine[0], 5), + isset($startLine[2]) ? (string) $startLine[2] : null + ); + } + + public function __get($name) + { + $msg = $name === 'handle' + ? 'The EasyHandle has been released' + : 'Invalid property: ' . $name; + throw new \BadMethodCallException($msg); + } +} diff --git a/vendor/guzzlehttp/guzzle/src/Handler/MockHandler.php b/vendor/guzzlehttp/guzzle/src/Handler/MockHandler.php new file mode 100644 index 00000000..7bbe7354 --- /dev/null +++ b/vendor/guzzlehttp/guzzle/src/Handler/MockHandler.php @@ -0,0 +1,176 @@ +onFulfilled = $onFulfilled; + $this->onRejected = $onRejected; + + if ($queue) { + call_user_func_array([$this, 'append'], $queue); + } + } + + public function __invoke(RequestInterface $request, array $options) + { + if (!$this->queue) { + throw new \OutOfBoundsException('Mock queue is empty'); + } + + if (isset($options['delay'])) { + usleep($options['delay'] * 1000); + } + + $this->lastRequest = $request; + $this->lastOptions = $options; + $response = array_shift($this->queue); + + if (is_callable($response)) { + $response = call_user_func($response, $request, $options); + } + + $response = $response instanceof \Exception + ? new RejectedPromise($response) + : \GuzzleHttp\Promise\promise_for($response); + + return $response->then( + function ($value) use ($request, $options) { + $this->invokeStats($request, $options, $value); + if ($this->onFulfilled) { + call_user_func($this->onFulfilled, $value); + } + if (isset($options['sink'])) { + $contents = (string) $value->getBody(); + $sink = $options['sink']; + + if (is_resource($sink)) { + fwrite($sink, $contents); + } elseif (is_string($sink)) { + file_put_contents($sink, $contents); + } elseif ($sink instanceof \Psr\Http\Message\StreamInterface) { + $sink->write($contents); + } + } + + return $value; + }, + function ($reason) use ($request, $options) { + $this->invokeStats($request, $options, null, $reason); + if ($this->onRejected) { + call_user_func($this->onRejected, $reason); + } + return new RejectedPromise($reason); + } + ); + } + + /** + * Adds one or more variadic requests, exceptions, callables, or promises + * to the queue. + */ + public function append() + { + foreach (func_get_args() as $value) { + if ($value instanceof ResponseInterface + || $value instanceof \Exception + || $value instanceof PromiseInterface + || is_callable($value) + ) { + $this->queue[] = $value; + } else { + throw new \InvalidArgumentException('Expected a response or ' + . 'exception. Found ' . \GuzzleHttp\describe_type($value)); + } + } + } + + /** + * Get the last received request. + * + * @return RequestInterface + */ + public function getLastRequest() + { + return $this->lastRequest; + } + + /** + * Get the last received request options. + * + * @return RequestInterface + */ + public function getLastOptions() + { + return $this->lastOptions; + } + + /** + * Returns the number of remaining items in the queue. + * + * @return int + */ + public function count() + { + return count($this->queue); + } + + private function invokeStats( + RequestInterface $request, + array $options, + ResponseInterface $response = null, + $reason = null + ) { + if (isset($options['on_stats'])) { + $stats = new TransferStats($request, $response, 0, $reason); + call_user_func($options['on_stats'], $stats); + } + } +} diff --git a/vendor/guzzlehttp/guzzle/src/Handler/Proxy.php b/vendor/guzzlehttp/guzzle/src/Handler/Proxy.php new file mode 100644 index 00000000..f8b00be0 --- /dev/null +++ b/vendor/guzzlehttp/guzzle/src/Handler/Proxy.php @@ -0,0 +1,55 @@ +withoutHeader('Expect'); + + // Append a content-length header if body size is zero to match + // cURL's behavior. + if (0 === $request->getBody()->getSize()) { + $request = $request->withHeader('Content-Length', 0); + } + + return $this->createResponse( + $request, + $options, + $this->createStream($request, $options), + $startTime + ); + } catch (\InvalidArgumentException $e) { + throw $e; + } catch (\Exception $e) { + // Determine if the error was a networking error. + $message = $e->getMessage(); + // This list can probably get more comprehensive. + if (strpos($message, 'getaddrinfo') // DNS lookup failed + || strpos($message, 'Connection refused') + || strpos($message, "couldn't connect to host") // error on HHVM + ) { + $e = new ConnectException($e->getMessage(), $request, $e); + } + $e = RequestException::wrapException($request, $e); + $this->invokeStats($options, $request, $startTime, null, $e); + + return new RejectedPromise($e); + } + } + + private function invokeStats( + array $options, + RequestInterface $request, + $startTime, + ResponseInterface $response = null, + $error = null + ) { + if (isset($options['on_stats'])) { + $stats = new TransferStats( + $request, + $response, + microtime(true) - $startTime, + $error, + [] + ); + call_user_func($options['on_stats'], $stats); + } + } + + private function createResponse( + RequestInterface $request, + array $options, + $stream, + $startTime + ) { + $hdrs = $this->lastHeaders; + $this->lastHeaders = []; + $parts = explode(' ', array_shift($hdrs), 3); + $ver = explode('/', $parts[0])[1]; + $status = $parts[1]; + $reason = isset($parts[2]) ? $parts[2] : null; + $headers = \GuzzleHttp\headers_from_lines($hdrs); + list ($stream, $headers) = $this->checkDecode($options, $headers, $stream); + $stream = Psr7\stream_for($stream); + $sink = $stream; + + if (strcasecmp('HEAD', $request->getMethod())) { + $sink = $this->createSink($stream, $options); + } + + $response = new Psr7\Response($status, $headers, $sink, $ver, $reason); + + if (isset($options['on_headers'])) { + try { + $options['on_headers']($response); + } catch (\Exception $e) { + $msg = 'An error was encountered during the on_headers event'; + $ex = new RequestException($msg, $request, $response, $e); + return new RejectedPromise($ex); + } + } + + // Do not drain when the request is a HEAD request because they have + // no body. + if ($sink !== $stream) { + $this->drain( + $stream, + $sink, + $response->getHeaderLine('Content-Length') + ); + } + + $this->invokeStats($options, $request, $startTime, $response, null); + + return new FulfilledPromise($response); + } + + private function createSink(StreamInterface $stream, array $options) + { + if (!empty($options['stream'])) { + return $stream; + } + + $sink = isset($options['sink']) + ? $options['sink'] + : fopen('php://temp', 'r+'); + + return is_string($sink) + ? new Psr7\LazyOpenStream($sink, 'w+') + : Psr7\stream_for($sink); + } + + private function checkDecode(array $options, array $headers, $stream) + { + // Automatically decode responses when instructed. + if (!empty($options['decode_content'])) { + $normalizedKeys = \GuzzleHttp\normalize_header_keys($headers); + if (isset($normalizedKeys['content-encoding'])) { + $encoding = $headers[$normalizedKeys['content-encoding']]; + if ($encoding[0] === 'gzip' || $encoding[0] === 'deflate') { + $stream = new Psr7\InflateStream( + Psr7\stream_for($stream) + ); + $headers['x-encoded-content-encoding'] + = $headers[$normalizedKeys['content-encoding']]; + // Remove content-encoding header + unset($headers[$normalizedKeys['content-encoding']]); + // Fix content-length header + if (isset($normalizedKeys['content-length'])) { + $headers['x-encoded-content-length'] + = $headers[$normalizedKeys['content-length']]; + + $length = (int) $stream->getSize(); + if ($length === 0) { + unset($headers[$normalizedKeys['content-length']]); + } else { + $headers[$normalizedKeys['content-length']] = [$length]; + } + } + } + } + } + + return [$stream, $headers]; + } + + /** + * Drains the source stream into the "sink" client option. + * + * @param StreamInterface $source + * @param StreamInterface $sink + * @param string $contentLength Header specifying the amount of + * data to read. + * + * @return StreamInterface + * @throws \RuntimeException when the sink option is invalid. + */ + private function drain( + StreamInterface $source, + StreamInterface $sink, + $contentLength + ) { + // If a content-length header is provided, then stop reading once + // that number of bytes has been read. This can prevent infinitely + // reading from a stream when dealing with servers that do not honor + // Connection: Close headers. + Psr7\copy_to_stream( + $source, + $sink, + (strlen($contentLength) > 0 && (int) $contentLength > 0) ? (int) $contentLength : -1 + ); + + $sink->seek(0); + $source->close(); + + return $sink; + } + + /** + * Create a resource and check to ensure it was created successfully + * + * @param callable $callback Callable that returns stream resource + * + * @return resource + * @throws \RuntimeException on error + */ + private function createResource(callable $callback) + { + $errors = null; + set_error_handler(function ($_, $msg, $file, $line) use (&$errors) { + $errors[] = [ + 'message' => $msg, + 'file' => $file, + 'line' => $line + ]; + return true; + }); + + $resource = $callback(); + restore_error_handler(); + + if (!$resource) { + $message = 'Error creating resource: '; + foreach ($errors as $err) { + foreach ($err as $key => $value) { + $message .= "[$key] $value" . PHP_EOL; + } + } + throw new \RuntimeException(trim($message)); + } + + return $resource; + } + + private function createStream(RequestInterface $request, array $options) + { + static $methods; + if (!$methods) { + $methods = array_flip(get_class_methods(__CLASS__)); + } + + // HTTP/1.1 streams using the PHP stream wrapper require a + // Connection: close header + if ($request->getProtocolVersion() == '1.1' + && !$request->hasHeader('Connection') + ) { + $request = $request->withHeader('Connection', 'close'); + } + + // Ensure SSL is verified by default + if (!isset($options['verify'])) { + $options['verify'] = true; + } + + $params = []; + $context = $this->getDefaultContext($request, $options); + + if (isset($options['on_headers']) && !is_callable($options['on_headers'])) { + throw new \InvalidArgumentException('on_headers must be callable'); + } + + if (!empty($options)) { + foreach ($options as $key => $value) { + $method = "add_{$key}"; + if (isset($methods[$method])) { + $this->{$method}($request, $context, $value, $params); + } + } + } + + if (isset($options['stream_context'])) { + if (!is_array($options['stream_context'])) { + throw new \InvalidArgumentException('stream_context must be an array'); + } + $context = array_replace_recursive( + $context, + $options['stream_context'] + ); + } + + $context = $this->createResource( + function () use ($context, $params) { + return stream_context_create($context, $params); + } + ); + + return $this->createResource( + function () use ($request, &$http_response_header, $context) { + $resource = fopen((string) $request->getUri()->withFragment(''), 'r', null, $context); + $this->lastHeaders = $http_response_header; + return $resource; + } + ); + } + + private function getDefaultContext(RequestInterface $request) + { + $headers = ''; + foreach ($request->getHeaders() as $name => $value) { + foreach ($value as $val) { + $headers .= "$name: $val\r\n"; + } + } + + $context = [ + 'http' => [ + 'method' => $request->getMethod(), + 'header' => $headers, + 'protocol_version' => $request->getProtocolVersion(), + 'ignore_errors' => true, + 'follow_location' => 0, + ], + ]; + + $body = (string) $request->getBody(); + + if (!empty($body)) { + $context['http']['content'] = $body; + // Prevent the HTTP handler from adding a Content-Type header. + if (!$request->hasHeader('Content-Type')) { + $context['http']['header'] .= "Content-Type:\r\n"; + } + } + + $context['http']['header'] = rtrim($context['http']['header']); + + return $context; + } + + private function add_proxy(RequestInterface $request, &$options, $value, &$params) + { + if (!is_array($value)) { + $options['http']['proxy'] = $value; + } else { + $scheme = $request->getUri()->getScheme(); + if (isset($value[$scheme])) { + if (!isset($value['no']) + || !\GuzzleHttp\is_host_in_noproxy( + $request->getUri()->getHost(), + $value['no'] + ) + ) { + $options['http']['proxy'] = $value[$scheme]; + } + } + } + } + + private function add_timeout(RequestInterface $request, &$options, $value, &$params) + { + if ($value > 0) { + $options['http']['timeout'] = $value; + } + } + + private function add_verify(RequestInterface $request, &$options, $value, &$params) + { + if ($value === true) { + // PHP 5.6 or greater will find the system cert by default. When + // < 5.6, use the Guzzle bundled cacert. + if (PHP_VERSION_ID < 50600) { + $options['ssl']['cafile'] = \GuzzleHttp\default_ca_bundle(); + } + } elseif (is_string($value)) { + $options['ssl']['cafile'] = $value; + if (!file_exists($value)) { + throw new \RuntimeException("SSL CA bundle not found: $value"); + } + } elseif ($value === false) { + $options['ssl']['verify_peer'] = false; + $options['ssl']['verify_peer_name'] = false; + return; + } else { + throw new \InvalidArgumentException('Invalid verify request option'); + } + + $options['ssl']['verify_peer'] = true; + $options['ssl']['verify_peer_name'] = true; + $options['ssl']['allow_self_signed'] = false; + } + + private function add_cert(RequestInterface $request, &$options, $value, &$params) + { + if (is_array($value)) { + $options['ssl']['passphrase'] = $value[1]; + $value = $value[0]; + } + + if (!file_exists($value)) { + throw new \RuntimeException("SSL certificate not found: {$value}"); + } + + $options['ssl']['local_cert'] = $value; + } + + private function add_progress(RequestInterface $request, &$options, $value, &$params) + { + $this->addNotification( + $params, + function ($code, $a, $b, $c, $transferred, $total) use ($value) { + if ($code == STREAM_NOTIFY_PROGRESS) { + $value($total, $transferred, null, null); + } + } + ); + } + + private function add_debug(RequestInterface $request, &$options, $value, &$params) + { + if ($value === false) { + return; + } + + static $map = [ + STREAM_NOTIFY_CONNECT => 'CONNECT', + STREAM_NOTIFY_AUTH_REQUIRED => 'AUTH_REQUIRED', + STREAM_NOTIFY_AUTH_RESULT => 'AUTH_RESULT', + STREAM_NOTIFY_MIME_TYPE_IS => 'MIME_TYPE_IS', + STREAM_NOTIFY_FILE_SIZE_IS => 'FILE_SIZE_IS', + STREAM_NOTIFY_REDIRECTED => 'REDIRECTED', + STREAM_NOTIFY_PROGRESS => 'PROGRESS', + STREAM_NOTIFY_FAILURE => 'FAILURE', + STREAM_NOTIFY_COMPLETED => 'COMPLETED', + STREAM_NOTIFY_RESOLVE => 'RESOLVE', + ]; + static $args = ['severity', 'message', 'message_code', + 'bytes_transferred', 'bytes_max']; + + $value = \GuzzleHttp\debug_resource($value); + $ident = $request->getMethod() . ' ' . $request->getUri()->withFragment(''); + $this->addNotification( + $params, + function () use ($ident, $value, $map, $args) { + $passed = func_get_args(); + $code = array_shift($passed); + fprintf($value, '<%s> [%s] ', $ident, $map[$code]); + foreach (array_filter($passed) as $i => $v) { + fwrite($value, $args[$i] . ': "' . $v . '" '); + } + fwrite($value, "\n"); + } + ); + } + + private function addNotification(array &$params, callable $notify) + { + // Wrap the existing function if needed. + if (!isset($params['notification'])) { + $params['notification'] = $notify; + } else { + $params['notification'] = $this->callArray([ + $params['notification'], + $notify + ]); + } + } + + private function callArray(array $functions) + { + return function () use ($functions) { + $args = func_get_args(); + foreach ($functions as $fn) { + call_user_func_array($fn, $args); + } + }; + } +} diff --git a/vendor/guzzlehttp/guzzle/src/HandlerStack.php b/vendor/guzzlehttp/guzzle/src/HandlerStack.php new file mode 100644 index 00000000..a72e38a5 --- /dev/null +++ b/vendor/guzzlehttp/guzzle/src/HandlerStack.php @@ -0,0 +1,273 @@ +push(Middleware::httpErrors(), 'http_errors'); + $stack->push(Middleware::redirect(), 'allow_redirects'); + $stack->push(Middleware::cookies(), 'cookies'); + $stack->push(Middleware::prepareBody(), 'prepare_body'); + + return $stack; + } + + /** + * @param callable $handler Underlying HTTP handler. + */ + public function __construct(callable $handler = null) + { + $this->handler = $handler; + } + + /** + * Invokes the handler stack as a composed handler + * + * @param RequestInterface $request + * @param array $options + */ + public function __invoke(RequestInterface $request, array $options) + { + $handler = $this->resolve(); + + return $handler($request, $options); + } + + /** + * Dumps a string representation of the stack. + * + * @return string + */ + public function __toString() + { + $depth = 0; + $stack = []; + if ($this->handler) { + $stack[] = "0) Handler: " . $this->debugCallable($this->handler); + } + + $result = ''; + foreach (array_reverse($this->stack) as $tuple) { + $depth++; + $str = "{$depth}) Name: '{$tuple[1]}', "; + $str .= "Function: " . $this->debugCallable($tuple[0]); + $result = "> {$str}\n{$result}"; + $stack[] = $str; + } + + foreach (array_keys($stack) as $k) { + $result .= "< {$stack[$k]}\n"; + } + + return $result; + } + + /** + * Set the HTTP handler that actually returns a promise. + * + * @param callable $handler Accepts a request and array of options and + * returns a Promise. + */ + public function setHandler(callable $handler) + { + $this->handler = $handler; + $this->cached = null; + } + + /** + * Returns true if the builder has a handler. + * + * @return bool + */ + public function hasHandler() + { + return (bool) $this->handler; + } + + /** + * Unshift a middleware to the bottom of the stack. + * + * @param callable $middleware Middleware function + * @param string $name Name to register for this middleware. + */ + public function unshift(callable $middleware, $name = null) + { + array_unshift($this->stack, [$middleware, $name]); + $this->cached = null; + } + + /** + * Push a middleware to the top of the stack. + * + * @param callable $middleware Middleware function + * @param string $name Name to register for this middleware. + */ + public function push(callable $middleware, $name = '') + { + $this->stack[] = [$middleware, $name]; + $this->cached = null; + } + + /** + * Add a middleware before another middleware by name. + * + * @param string $findName Middleware to find + * @param callable $middleware Middleware function + * @param string $withName Name to register for this middleware. + */ + public function before($findName, callable $middleware, $withName = '') + { + $this->splice($findName, $withName, $middleware, true); + } + + /** + * Add a middleware after another middleware by name. + * + * @param string $findName Middleware to find + * @param callable $middleware Middleware function + * @param string $withName Name to register for this middleware. + */ + public function after($findName, callable $middleware, $withName = '') + { + $this->splice($findName, $withName, $middleware, false); + } + + /** + * Remove a middleware by instance or name from the stack. + * + * @param callable|string $remove Middleware to remove by instance or name. + */ + public function remove($remove) + { + $this->cached = null; + $idx = is_callable($remove) ? 0 : 1; + $this->stack = array_values(array_filter( + $this->stack, + function ($tuple) use ($idx, $remove) { + return $tuple[$idx] !== $remove; + } + )); + } + + /** + * Compose the middleware and handler into a single callable function. + * + * @return callable + */ + public function resolve() + { + if (!$this->cached) { + if (!($prev = $this->handler)) { + throw new \LogicException('No handler has been specified'); + } + + foreach (array_reverse($this->stack) as $fn) { + $prev = $fn[0]($prev); + } + + $this->cached = $prev; + } + + return $this->cached; + } + + /** + * @param $name + * @return int + */ + private function findByName($name) + { + foreach ($this->stack as $k => $v) { + if ($v[1] === $name) { + return $k; + } + } + + throw new \InvalidArgumentException("Middleware not found: $name"); + } + + /** + * Splices a function into the middleware list at a specific position. + * + * @param $findName + * @param $withName + * @param callable $middleware + * @param $before + */ + private function splice($findName, $withName, callable $middleware, $before) + { + $this->cached = null; + $idx = $this->findByName($findName); + $tuple = [$middleware, $withName]; + + if ($before) { + if ($idx === 0) { + array_unshift($this->stack, $tuple); + } else { + $replacement = [$tuple, $this->stack[$idx]]; + array_splice($this->stack, $idx, 1, $replacement); + } + } elseif ($idx === count($this->stack) - 1) { + $this->stack[] = $tuple; + } else { + $replacement = [$this->stack[$idx], $tuple]; + array_splice($this->stack, $idx, 1, $replacement); + } + } + + /** + * Provides a debug string for a given callable. + * + * @param array|callable $fn Function to write as a string. + * + * @return string + */ + private function debugCallable($fn) + { + if (is_string($fn)) { + return "callable({$fn})"; + } + + if (is_array($fn)) { + return is_string($fn[0]) + ? "callable({$fn[0]}::{$fn[1]})" + : "callable(['" . get_class($fn[0]) . "', '{$fn[1]}'])"; + } + + return 'callable(' . spl_object_hash($fn) . ')'; + } +} diff --git a/vendor/guzzlehttp/guzzle/src/MessageFormatter.php b/vendor/guzzlehttp/guzzle/src/MessageFormatter.php new file mode 100644 index 00000000..6b090a97 --- /dev/null +++ b/vendor/guzzlehttp/guzzle/src/MessageFormatter.php @@ -0,0 +1,182 @@ +>>>>>>>\n{request}\n<<<<<<<<\n{response}\n--------\n{error}"; + const SHORT = '[{ts}] "{method} {target} HTTP/{version}" {code}'; + + /** @var string Template used to format log messages */ + private $template; + + /** + * @param string $template Log message template + */ + public function __construct($template = self::CLF) + { + $this->template = $template ?: self::CLF; + } + + /** + * Returns a formatted message string. + * + * @param RequestInterface $request Request that was sent + * @param ResponseInterface $response Response that was received + * @param \Exception $error Exception that was received + * + * @return string + */ + public function format( + RequestInterface $request, + ResponseInterface $response = null, + \Exception $error = null + ) { + $cache = []; + + return preg_replace_callback( + '/{\s*([A-Za-z_\-\.0-9]+)\s*}/', + function (array $matches) use ($request, $response, $error, &$cache) { + + if (isset($cache[$matches[1]])) { + return $cache[$matches[1]]; + } + + $result = ''; + switch ($matches[1]) { + case 'request': + $result = Psr7\str($request); + break; + case 'response': + $result = $response ? Psr7\str($response) : ''; + break; + case 'req_headers': + $result = trim($request->getMethod() + . ' ' . $request->getRequestTarget()) + . ' HTTP/' . $request->getProtocolVersion() . "\r\n" + . $this->headers($request); + break; + case 'res_headers': + $result = $response ? + sprintf( + 'HTTP/%s %d %s', + $response->getProtocolVersion(), + $response->getStatusCode(), + $response->getReasonPhrase() + ) . "\r\n" . $this->headers($response) + : 'NULL'; + break; + case 'req_body': + $result = $request->getBody(); + break; + case 'res_body': + $result = $response ? $response->getBody() : 'NULL'; + break; + case 'ts': + case 'date_iso_8601': + $result = gmdate('c'); + break; + case 'date_common_log': + $result = date('d/M/Y:H:i:s O'); + break; + case 'method': + $result = $request->getMethod(); + break; + case 'version': + $result = $request->getProtocolVersion(); + break; + case 'uri': + case 'url': + $result = $request->getUri(); + break; + case 'target': + $result = $request->getRequestTarget(); + break; + case 'req_version': + $result = $request->getProtocolVersion(); + break; + case 'res_version': + $result = $response + ? $response->getProtocolVersion() + : 'NULL'; + break; + case 'host': + $result = $request->getHeaderLine('Host'); + break; + case 'hostname': + $result = gethostname(); + break; + case 'code': + $result = $response ? $response->getStatusCode() : 'NULL'; + break; + case 'phrase': + $result = $response ? $response->getReasonPhrase() : 'NULL'; + break; + case 'error': + $result = $error ? $error->getMessage() : 'NULL'; + break; + default: + // handle prefixed dynamic headers + if (strpos($matches[1], 'req_header_') === 0) { + $result = $request->getHeaderLine(substr($matches[1], 11)); + } elseif (strpos($matches[1], 'res_header_') === 0) { + $result = $response + ? $response->getHeaderLine(substr($matches[1], 11)) + : 'NULL'; + } + } + + $cache[$matches[1]] = $result; + return $result; + }, + $this->template + ); + } + + private function headers(MessageInterface $message) + { + $result = ''; + foreach ($message->getHeaders() as $name => $values) { + $result .= $name . ': ' . implode(', ', $values) . "\r\n"; + } + + return trim($result); + } +} diff --git a/vendor/guzzlehttp/guzzle/src/Middleware.php b/vendor/guzzlehttp/guzzle/src/Middleware.php new file mode 100644 index 00000000..449ab4bf --- /dev/null +++ b/vendor/guzzlehttp/guzzle/src/Middleware.php @@ -0,0 +1,254 @@ +withCookieHeader($request); + return $handler($request, $options) + ->then(function ($response) use ($cookieJar, $request) { + $cookieJar->extractCookies($request, $response); + return $response; + } + ); + }; + }; + } + + /** + * Middleware that throws exceptions for 4xx or 5xx responses when the + * "http_error" request option is set to true. + * + * @return callable Returns a function that accepts the next handler. + */ + public static function httpErrors() + { + return function (callable $handler) { + return function ($request, array $options) use ($handler) { + if (empty($options['http_errors'])) { + return $handler($request, $options); + } + return $handler($request, $options)->then( + function (ResponseInterface $response) use ($request, $handler) { + $code = $response->getStatusCode(); + if ($code < 400) { + return $response; + } + throw RequestException::create($request, $response); + } + ); + }; + }; + } + + /** + * Middleware that pushes history data to an ArrayAccess container. + * + * @param array $container Container to hold the history (by reference). + * + * @return callable Returns a function that accepts the next handler. + * @throws \InvalidArgumentException if container is not an array or ArrayAccess. + */ + public static function history(&$container) + { + if (!is_array($container) && !$container instanceof \ArrayAccess) { + throw new \InvalidArgumentException('history container must be an array or object implementing ArrayAccess'); + } + + return function (callable $handler) use (&$container) { + return function ($request, array $options) use ($handler, &$container) { + return $handler($request, $options)->then( + function ($value) use ($request, &$container, $options) { + $container[] = [ + 'request' => $request, + 'response' => $value, + 'error' => null, + 'options' => $options + ]; + return $value; + }, + function ($reason) use ($request, &$container, $options) { + $container[] = [ + 'request' => $request, + 'response' => null, + 'error' => $reason, + 'options' => $options + ]; + return new RejectedPromise($reason); + } + ); + }; + }; + } + + /** + * Middleware that invokes a callback before and after sending a request. + * + * The provided listener cannot modify or alter the response. It simply + * "taps" into the chain to be notified before returning the promise. The + * before listener accepts a request and options array, and the after + * listener accepts a request, options array, and response promise. + * + * @param callable $before Function to invoke before forwarding the request. + * @param callable $after Function invoked after forwarding. + * + * @return callable Returns a function that accepts the next handler. + */ + public static function tap(callable $before = null, callable $after = null) + { + return function (callable $handler) use ($before, $after) { + return function ($request, array $options) use ($handler, $before, $after) { + if ($before) { + $before($request, $options); + } + $response = $handler($request, $options); + if ($after) { + $after($request, $options, $response); + } + return $response; + }; + }; + } + + /** + * Middleware that handles request redirects. + * + * @return callable Returns a function that accepts the next handler. + */ + public static function redirect() + { + return function (callable $handler) { + return new RedirectMiddleware($handler); + }; + } + + /** + * Middleware that retries requests based on the boolean result of + * invoking the provided "decider" function. + * + * If no delay function is provided, a simple implementation of exponential + * backoff will be utilized. + * + * @param callable $decider Function that accepts the number of retries, + * a request, [response], and [exception] and + * returns true if the request is to be retried. + * @param callable $delay Function that accepts the number of retries and + * returns the number of milliseconds to delay. + * + * @return callable Returns a function that accepts the next handler. + */ + public static function retry(callable $decider, callable $delay = null) + { + return function (callable $handler) use ($decider, $delay) { + return new RetryMiddleware($decider, $handler, $delay); + }; + } + + /** + * Middleware that logs requests, responses, and errors using a message + * formatter. + * + * @param LoggerInterface $logger Logs messages. + * @param MessageFormatter $formatter Formatter used to create message strings. + * @param string $logLevel Level at which to log requests. + * + * @return callable Returns a function that accepts the next handler. + */ + public static function log(LoggerInterface $logger, MessageFormatter $formatter, $logLevel = LogLevel::INFO) + { + return function (callable $handler) use ($logger, $formatter, $logLevel) { + return function ($request, array $options) use ($handler, $logger, $formatter, $logLevel) { + return $handler($request, $options)->then( + function ($response) use ($logger, $request, $formatter, $logLevel) { + $message = $formatter->format($request, $response); + $logger->log($logLevel, $message); + return $response; + }, + function ($reason) use ($logger, $request, $formatter) { + $response = $reason instanceof RequestException + ? $reason->getResponse() + : null; + $message = $formatter->format($request, $response, $reason); + $logger->notice($message); + return \GuzzleHttp\Promise\rejection_for($reason); + } + ); + }; + }; + } + + /** + * This middleware adds a default content-type if possible, a default + * content-length or transfer-encoding header, and the expect header. + * + * @return callable + */ + public static function prepareBody() + { + return function (callable $handler) { + return new PrepareBodyMiddleware($handler); + }; + } + + /** + * Middleware that applies a map function to the request before passing to + * the next handler. + * + * @param callable $fn Function that accepts a RequestInterface and returns + * a RequestInterface. + * @return callable + */ + public static function mapRequest(callable $fn) + { + return function (callable $handler) use ($fn) { + return function ($request, array $options) use ($handler, $fn) { + return $handler($fn($request), $options); + }; + }; + } + + /** + * Middleware that applies a map function to the resolved promise's + * response. + * + * @param callable $fn Function that accepts a ResponseInterface and + * returns a ResponseInterface. + * @return callable + */ + public static function mapResponse(callable $fn) + { + return function (callable $handler) use ($fn) { + return function ($request, array $options) use ($handler, $fn) { + return $handler($request, $options)->then($fn); + }; + }; + } +} diff --git a/vendor/guzzlehttp/guzzle/src/Pool.php b/vendor/guzzlehttp/guzzle/src/Pool.php new file mode 100644 index 00000000..8f1be33c --- /dev/null +++ b/vendor/guzzlehttp/guzzle/src/Pool.php @@ -0,0 +1,123 @@ + $rfn) { + if ($rfn instanceof RequestInterface) { + yield $key => $client->sendAsync($rfn, $opts); + } elseif (is_callable($rfn)) { + yield $key => $rfn($opts); + } else { + throw new \InvalidArgumentException('Each value yielded by ' + . 'the iterator must be a Psr7\Http\Message\RequestInterface ' + . 'or a callable that returns a promise that fulfills ' + . 'with a Psr7\Message\Http\ResponseInterface object.'); + } + } + }; + + $this->each = new EachPromise($requests(), $config); + } + + public function promise() + { + return $this->each->promise(); + } + + /** + * Sends multiple requests concurrently and returns an array of responses + * and exceptions that uses the same ordering as the provided requests. + * + * IMPORTANT: This method keeps every request and response in memory, and + * as such, is NOT recommended when sending a large number or an + * indeterminate number of requests concurrently. + * + * @param ClientInterface $client Client used to send the requests + * @param array|\Iterator $requests Requests to send concurrently. + * @param array $options Passes through the options available in + * {@see GuzzleHttp\Pool::__construct} + * + * @return array Returns an array containing the response or an exception + * in the same order that the requests were sent. + * @throws \InvalidArgumentException if the event format is incorrect. + */ + public static function batch( + ClientInterface $client, + $requests, + array $options = [] + ) { + $res = []; + self::cmpCallback($options, 'fulfilled', $res); + self::cmpCallback($options, 'rejected', $res); + $pool = new static($client, $requests, $options); + $pool->promise()->wait(); + ksort($res); + + return $res; + } + + private static function cmpCallback(array &$options, $name, array &$results) + { + if (!isset($options[$name])) { + $options[$name] = function ($v, $k) use (&$results) { + $results[$k] = $v; + }; + } else { + $currentFn = $options[$name]; + $options[$name] = function ($v, $k) use (&$results, $currentFn) { + $currentFn($v, $k); + $results[$k] = $v; + }; + } + } +} diff --git a/vendor/guzzlehttp/guzzle/src/PrepareBodyMiddleware.php b/vendor/guzzlehttp/guzzle/src/PrepareBodyMiddleware.php new file mode 100644 index 00000000..e6d176b6 --- /dev/null +++ b/vendor/guzzlehttp/guzzle/src/PrepareBodyMiddleware.php @@ -0,0 +1,112 @@ + true, 'HEAD' => true]; + + /** + * @param callable $nextHandler Next handler to invoke. + */ + public function __construct(callable $nextHandler) + { + $this->nextHandler = $nextHandler; + } + + /** + * @param RequestInterface $request + * @param array $options + * + * @return PromiseInterface + */ + public function __invoke(RequestInterface $request, array $options) + { + $fn = $this->nextHandler; + + // Don't do anything if the request has no body. + if (isset(self::$skipMethods[$request->getMethod()]) + || $request->getBody()->getSize() === 0 + ) { + return $fn($request, $options); + } + + $modify = []; + + // Add a default content-type if possible. + if (!$request->hasHeader('Content-Type')) { + if ($uri = $request->getBody()->getMetadata('uri')) { + if ($type = Psr7\mimetype_from_filename($uri)) { + $modify['set_headers']['Content-Type'] = $type; + } + } + } + + // Add a default content-length or transfer-encoding header. + if (!isset(self::$skipMethods[$request->getMethod()]) + && !$request->hasHeader('Content-Length') + && !$request->hasHeader('Transfer-Encoding') + ) { + $size = $request->getBody()->getSize(); + if ($size !== null) { + $modify['set_headers']['Content-Length'] = $size; + } else { + $modify['set_headers']['Transfer-Encoding'] = 'chunked'; + } + } + + // Add the expect header if needed. + $this->addExpectHeader($request, $options, $modify); + + return $fn(Psr7\modify_request($request, $modify), $options); + } + + private function addExpectHeader( + RequestInterface $request, + array $options, + array &$modify + ) { + // Determine if the Expect header should be used + if ($request->hasHeader('Expect')) { + return; + } + + $expect = isset($options['expect']) ? $options['expect'] : null; + + // Return if disabled or if you're not using HTTP/1.1 or HTTP/2.0 + if ($expect === false || $request->getProtocolVersion() < 1.1) { + return; + } + + // The expect header is unconditionally enabled + if ($expect === true) { + $modify['set_headers']['Expect'] = '100-Continue'; + return; + } + + // By default, send the expect header when the payload is > 1mb + if ($expect === null) { + $expect = 1048576; + } + + // Always add if the body cannot be rewound, the size cannot be + // determined, or the size is greater than the cutoff threshold + $body = $request->getBody(); + $size = $body->getSize(); + + if ($size === null || $size >= (int) $expect || !$body->isSeekable()) { + $modify['set_headers']['Expect'] = '100-Continue'; + } + } +} diff --git a/vendor/guzzlehttp/guzzle/src/RedirectMiddleware.php b/vendor/guzzlehttp/guzzle/src/RedirectMiddleware.php new file mode 100644 index 00000000..5613f6ec --- /dev/null +++ b/vendor/guzzlehttp/guzzle/src/RedirectMiddleware.php @@ -0,0 +1,231 @@ + 5, + 'protocols' => ['http', 'https'], + 'strict' => false, + 'referer' => false, + 'track_redirects' => false, + ]; + + /** @var callable */ + private $nextHandler; + + /** + * @param callable $nextHandler Next handler to invoke. + */ + public function __construct(callable $nextHandler) + { + $this->nextHandler = $nextHandler; + } + + /** + * @param RequestInterface $request + * @param array $options + * + * @return PromiseInterface + */ + public function __invoke(RequestInterface $request, array $options) + { + $fn = $this->nextHandler; + + if (empty($options['allow_redirects'])) { + return $fn($request, $options); + } + + if ($options['allow_redirects'] === true) { + $options['allow_redirects'] = self::$defaultSettings; + } elseif (!is_array($options['allow_redirects'])) { + throw new \InvalidArgumentException('allow_redirects must be true, false, or array'); + } else { + // Merge the default settings with the provided settings + $options['allow_redirects'] += self::$defaultSettings; + } + + if (empty($options['allow_redirects']['max'])) { + return $fn($request, $options); + } + + return $fn($request, $options) + ->then(function (ResponseInterface $response) use ($request, $options) { + return $this->checkRedirect($request, $options, $response); + }); + } + + /** + * @param RequestInterface $request + * @param array $options + * @param ResponseInterface|PromiseInterface $response + * + * @return ResponseInterface|PromiseInterface + */ + public function checkRedirect( + RequestInterface $request, + array $options, + ResponseInterface $response + ) { + if (substr($response->getStatusCode(), 0, 1) != '3' + || !$response->hasHeader('Location') + ) { + return $response; + } + + $this->guardMax($request, $options); + $nextRequest = $this->modifyRequest($request, $options, $response); + + if (isset($options['allow_redirects']['on_redirect'])) { + call_user_func( + $options['allow_redirects']['on_redirect'], + $request, + $response, + $nextRequest->getUri() + ); + } + + /** @var PromiseInterface|ResponseInterface $promise */ + $promise = $this($nextRequest, $options); + + // Add headers to be able to track history of redirects. + if (!empty($options['allow_redirects']['track_redirects'])) { + return $this->withTracking( + $promise, + (string) $nextRequest->getUri() + ); + } + + return $promise; + } + + private function withTracking(PromiseInterface $promise, $uri) + { + return $promise->then( + function (ResponseInterface $response) use ($uri) { + // Note that we are pushing to the front of the list as this + // would be an earlier response than what is currently present + // in the history header. + $header = $response->getHeader(self::HISTORY_HEADER); + array_unshift($header, $uri); + return $response->withHeader(self::HISTORY_HEADER, $header); + } + ); + } + + private function guardMax(RequestInterface $request, array &$options) + { + $current = isset($options['__redirect_count']) + ? $options['__redirect_count'] + : 0; + $options['__redirect_count'] = $current + 1; + $max = $options['allow_redirects']['max']; + + if ($options['__redirect_count'] > $max) { + throw new TooManyRedirectsException( + "Will not follow more than {$max} redirects", + $request + ); + } + } + + /** + * @param RequestInterface $request + * @param array $options + * @param ResponseInterface $response + * + * @return RequestInterface + */ + public function modifyRequest( + RequestInterface $request, + array $options, + ResponseInterface $response + ) { + // Request modifications to apply. + $modify = []; + $protocols = $options['allow_redirects']['protocols']; + + // Use a GET request if this is an entity enclosing request and we are + // not forcing RFC compliance, but rather emulating what all browsers + // would do. + $statusCode = $response->getStatusCode(); + if ($statusCode == 303 || + ($statusCode <= 302 && $request->getBody() && !$options['allow_redirects']['strict']) + ) { + $modify['method'] = 'GET'; + $modify['body'] = ''; + } + + $modify['uri'] = $this->redirectUri($request, $response, $protocols); + Psr7\rewind_body($request); + + // Add the Referer header if it is told to do so and only + // add the header if we are not redirecting from https to http. + if ($options['allow_redirects']['referer'] + && $modify['uri']->getScheme() === $request->getUri()->getScheme() + ) { + $uri = $request->getUri()->withUserInfo('', ''); + $modify['set_headers']['Referer'] = (string) $uri; + } else { + $modify['remove_headers'][] = 'Referer'; + } + + // Remove Authorization header if host is different. + if ($request->getUri()->getHost() !== $modify['uri']->getHost()) { + $modify['remove_headers'][] = 'Authorization'; + } + + return Psr7\modify_request($request, $modify); + } + + /** + * Set the appropriate URL on the request based on the location header + * + * @param RequestInterface $request + * @param ResponseInterface $response + * @param array $protocols + * + * @return UriInterface + */ + private function redirectUri( + RequestInterface $request, + ResponseInterface $response, + array $protocols + ) { + $location = Psr7\UriResolver::resolve( + $request->getUri(), + new Psr7\Uri($response->getHeaderLine('Location')) + ); + + // Ensure that the redirect URI is allowed based on the protocols. + if (!in_array($location->getScheme(), $protocols)) { + throw new BadResponseException( + sprintf( + 'Redirect URI, %s, does not use one of the allowed redirect protocols: %s', + $location, + implode(', ', $protocols) + ), + $request, + $response + ); + } + + return $location; + } +} diff --git a/vendor/guzzlehttp/guzzle/src/RequestOptions.php b/vendor/guzzlehttp/guzzle/src/RequestOptions.php new file mode 100644 index 00000000..60e53f53 --- /dev/null +++ b/vendor/guzzlehttp/guzzle/src/RequestOptions.php @@ -0,0 +1,244 @@ +decider = $decider; + $this->nextHandler = $nextHandler; + $this->delay = $delay ?: __CLASS__ . '::exponentialDelay'; + } + + /** + * Default exponential backoff delay function. + * + * @param $retries + * + * @return int + */ + public static function exponentialDelay($retries) + { + return (int) pow(2, $retries - 1); + } + + /** + * @param RequestInterface $request + * @param array $options + * + * @return PromiseInterface + */ + public function __invoke(RequestInterface $request, array $options) + { + if (!isset($options['retries'])) { + $options['retries'] = 0; + } + + $fn = $this->nextHandler; + return $fn($request, $options) + ->then( + $this->onFulfilled($request, $options), + $this->onRejected($request, $options) + ); + } + + private function onFulfilled(RequestInterface $req, array $options) + { + return function ($value) use ($req, $options) { + if (!call_user_func( + $this->decider, + $options['retries'], + $req, + $value, + null + )) { + return $value; + } + return $this->doRetry($req, $options, $value); + }; + } + + private function onRejected(RequestInterface $req, array $options) + { + return function ($reason) use ($req, $options) { + if (!call_user_func( + $this->decider, + $options['retries'], + $req, + null, + $reason + )) { + return new RejectedPromise($reason); + } + return $this->doRetry($req, $options); + }; + } + + private function doRetry(RequestInterface $request, array $options, ResponseInterface $response = null) + { + $options['delay'] = call_user_func($this->delay, ++$options['retries'], $response); + + return $this($request, $options); + } +} diff --git a/vendor/guzzlehttp/guzzle/src/TransferStats.php b/vendor/guzzlehttp/guzzle/src/TransferStats.php new file mode 100644 index 00000000..15f717e1 --- /dev/null +++ b/vendor/guzzlehttp/guzzle/src/TransferStats.php @@ -0,0 +1,126 @@ +request = $request; + $this->response = $response; + $this->transferTime = $transferTime; + $this->handlerErrorData = $handlerErrorData; + $this->handlerStats = $handlerStats; + } + + /** + * @return RequestInterface + */ + public function getRequest() + { + return $this->request; + } + + /** + * Returns the response that was received (if any). + * + * @return ResponseInterface|null + */ + public function getResponse() + { + return $this->response; + } + + /** + * Returns true if a response was received. + * + * @return bool + */ + public function hasResponse() + { + return $this->response !== null; + } + + /** + * Gets handler specific error data. + * + * This might be an exception, a integer representing an error code, or + * anything else. Relying on this value assumes that you know what handler + * you are using. + * + * @return mixed + */ + public function getHandlerErrorData() + { + return $this->handlerErrorData; + } + + /** + * Get the effective URI the request was sent to. + * + * @return UriInterface + */ + public function getEffectiveUri() + { + return $this->request->getUri(); + } + + /** + * Get the estimated time the request was being transferred by the handler. + * + * @return float Time in seconds. + */ + public function getTransferTime() + { + return $this->transferTime; + } + + /** + * Gets an array of all of the handler specific transfer data. + * + * @return array + */ + public function getHandlerStats() + { + return $this->handlerStats; + } + + /** + * Get a specific handler statistic from the handler by name. + * + * @param string $stat Handler specific transfer stat to retrieve. + * + * @return mixed|null + */ + public function getHandlerStat($stat) + { + return isset($this->handlerStats[$stat]) + ? $this->handlerStats[$stat] + : null; + } +} diff --git a/vendor/guzzlehttp/guzzle/src/UriTemplate.php b/vendor/guzzlehttp/guzzle/src/UriTemplate.php new file mode 100644 index 00000000..0b1623ec --- /dev/null +++ b/vendor/guzzlehttp/guzzle/src/UriTemplate.php @@ -0,0 +1,241 @@ + ['prefix' => '', 'joiner' => ',', 'query' => false], + '+' => ['prefix' => '', 'joiner' => ',', 'query' => false], + '#' => ['prefix' => '#', 'joiner' => ',', 'query' => false], + '.' => ['prefix' => '.', 'joiner' => '.', 'query' => false], + '/' => ['prefix' => '/', 'joiner' => '/', 'query' => false], + ';' => ['prefix' => ';', 'joiner' => ';', 'query' => true], + '?' => ['prefix' => '?', 'joiner' => '&', 'query' => true], + '&' => ['prefix' => '&', 'joiner' => '&', 'query' => true] + ]; + + /** @var array Delimiters */ + private static $delims = [':', '/', '?', '#', '[', ']', '@', '!', '$', + '&', '\'', '(', ')', '*', '+', ',', ';', '=']; + + /** @var array Percent encoded delimiters */ + private static $delimsPct = ['%3A', '%2F', '%3F', '%23', '%5B', '%5D', + '%40', '%21', '%24', '%26', '%27', '%28', '%29', '%2A', '%2B', '%2C', + '%3B', '%3D']; + + public function expand($template, array $variables) + { + if (false === strpos($template, '{')) { + return $template; + } + + $this->template = $template; + $this->variables = $variables; + + return preg_replace_callback( + '/\{([^\}]+)\}/', + [$this, 'expandMatch'], + $this->template + ); + } + + /** + * Parse an expression into parts + * + * @param string $expression Expression to parse + * + * @return array Returns an associative array of parts + */ + private function parseExpression($expression) + { + $result = []; + + if (isset(self::$operatorHash[$expression[0]])) { + $result['operator'] = $expression[0]; + $expression = substr($expression, 1); + } else { + $result['operator'] = ''; + } + + foreach (explode(',', $expression) as $value) { + $value = trim($value); + $varspec = []; + if ($colonPos = strpos($value, ':')) { + $varspec['value'] = substr($value, 0, $colonPos); + $varspec['modifier'] = ':'; + $varspec['position'] = (int) substr($value, $colonPos + 1); + } elseif (substr($value, -1) === '*') { + $varspec['modifier'] = '*'; + $varspec['value'] = substr($value, 0, -1); + } else { + $varspec['value'] = (string) $value; + $varspec['modifier'] = ''; + } + $result['values'][] = $varspec; + } + + return $result; + } + + /** + * Process an expansion + * + * @param array $matches Matches met in the preg_replace_callback + * + * @return string Returns the replacement string + */ + private function expandMatch(array $matches) + { + static $rfc1738to3986 = ['+' => '%20', '%7e' => '~']; + + $replacements = []; + $parsed = self::parseExpression($matches[1]); + $prefix = self::$operatorHash[$parsed['operator']]['prefix']; + $joiner = self::$operatorHash[$parsed['operator']]['joiner']; + $useQuery = self::$operatorHash[$parsed['operator']]['query']; + + foreach ($parsed['values'] as $value) { + + if (!isset($this->variables[$value['value']])) { + continue; + } + + $variable = $this->variables[$value['value']]; + $actuallyUseQuery = $useQuery; + $expanded = ''; + + if (is_array($variable)) { + + $isAssoc = $this->isAssoc($variable); + $kvp = []; + foreach ($variable as $key => $var) { + + if ($isAssoc) { + $key = rawurlencode($key); + $isNestedArray = is_array($var); + } else { + $isNestedArray = false; + } + + if (!$isNestedArray) { + $var = rawurlencode($var); + if ($parsed['operator'] === '+' || + $parsed['operator'] === '#' + ) { + $var = $this->decodeReserved($var); + } + } + + if ($value['modifier'] === '*') { + if ($isAssoc) { + if ($isNestedArray) { + // Nested arrays must allow for deeply nested + // structures. + $var = strtr( + http_build_query([$key => $var]), + $rfc1738to3986 + ); + } else { + $var = $key . '=' . $var; + } + } elseif ($key > 0 && $actuallyUseQuery) { + $var = $value['value'] . '=' . $var; + } + } + + $kvp[$key] = $var; + } + + if (empty($variable)) { + $actuallyUseQuery = false; + } elseif ($value['modifier'] === '*') { + $expanded = implode($joiner, $kvp); + if ($isAssoc) { + // Don't prepend the value name when using the explode + // modifier with an associative array. + $actuallyUseQuery = false; + } + } else { + if ($isAssoc) { + // When an associative array is encountered and the + // explode modifier is not set, then the result must be + // a comma separated list of keys followed by their + // respective values. + foreach ($kvp as $k => &$v) { + $v = $k . ',' . $v; + } + } + $expanded = implode(',', $kvp); + } + + } else { + if ($value['modifier'] === ':') { + $variable = substr($variable, 0, $value['position']); + } + $expanded = rawurlencode($variable); + if ($parsed['operator'] === '+' || $parsed['operator'] === '#') { + $expanded = $this->decodeReserved($expanded); + } + } + + if ($actuallyUseQuery) { + if (!$expanded && $joiner !== '&') { + $expanded = $value['value']; + } else { + $expanded = $value['value'] . '=' . $expanded; + } + } + + $replacements[] = $expanded; + } + + $ret = implode($joiner, $replacements); + if ($ret && $prefix) { + return $prefix . $ret; + } + + return $ret; + } + + /** + * Determines if an array is associative. + * + * This makes the assumption that input arrays are sequences or hashes. + * This assumption is a tradeoff for accuracy in favor of speed, but it + * should work in almost every case where input is supplied for a URI + * template. + * + * @param array $array Array to check + * + * @return bool + */ + private function isAssoc(array $array) + { + return $array && array_keys($array)[0] !== 0; + } + + /** + * Removes percent encoding on reserved characters (used with + and # + * modifiers). + * + * @param string $string String to fix + * + * @return string + */ + private function decodeReserved($string) + { + return str_replace(self::$delimsPct, self::$delims, $string); + } +} diff --git a/vendor/guzzlehttp/guzzle/src/functions.php b/vendor/guzzlehttp/guzzle/src/functions.php new file mode 100644 index 00000000..85cf9c64 --- /dev/null +++ b/vendor/guzzlehttp/guzzle/src/functions.php @@ -0,0 +1,329 @@ +expand($template, $variables); +} + +/** + * Debug function used to describe the provided value type and class. + * + * @param mixed $input + * + * @return string Returns a string containing the type of the variable and + * if a class is provided, the class name. + */ +function describe_type($input) +{ + switch (gettype($input)) { + case 'object': + return 'object(' . get_class($input) . ')'; + case 'array': + return 'array(' . count($input) . ')'; + default: + ob_start(); + var_dump($input); + // normalize float vs double + return str_replace('double(', 'float(', rtrim(ob_get_clean())); + } +} + +/** + * Parses an array of header lines into an associative array of headers. + * + * @param array $lines Header lines array of strings in the following + * format: "Name: Value" + * @return array + */ +function headers_from_lines($lines) +{ + $headers = []; + + foreach ($lines as $line) { + $parts = explode(':', $line, 2); + $headers[trim($parts[0])][] = isset($parts[1]) + ? trim($parts[1]) + : null; + } + + return $headers; +} + +/** + * Returns a debug stream based on the provided variable. + * + * @param mixed $value Optional value + * + * @return resource + */ +function debug_resource($value = null) +{ + if (is_resource($value)) { + return $value; + } elseif (defined('STDOUT')) { + return STDOUT; + } + + return fopen('php://output', 'w'); +} + +/** + * Chooses and creates a default handler to use based on the environment. + * + * The returned handler is not wrapped by any default middlewares. + * + * @throws \RuntimeException if no viable Handler is available. + * @return callable Returns the best handler for the given system. + */ +function choose_handler() +{ + $handler = null; + if (function_exists('curl_multi_exec') && function_exists('curl_exec')) { + $handler = Proxy::wrapSync(new CurlMultiHandler(), new CurlHandler()); + } elseif (function_exists('curl_exec')) { + $handler = new CurlHandler(); + } elseif (function_exists('curl_multi_exec')) { + $handler = new CurlMultiHandler(); + } + + if (ini_get('allow_url_fopen')) { + $handler = $handler + ? Proxy::wrapStreaming($handler, new StreamHandler()) + : new StreamHandler(); + } elseif (!$handler) { + throw new \RuntimeException('GuzzleHttp requires cURL, the ' + . 'allow_url_fopen ini setting, or a custom HTTP handler.'); + } + + return $handler; +} + +/** + * Get the default User-Agent string to use with Guzzle + * + * @return string + */ +function default_user_agent() +{ + static $defaultAgent = ''; + + if (!$defaultAgent) { + $defaultAgent = 'GuzzleHttp/' . Client::VERSION; + if (extension_loaded('curl') && function_exists('curl_version')) { + $defaultAgent .= ' curl/' . \curl_version()['version']; + } + $defaultAgent .= ' PHP/' . PHP_VERSION; + } + + return $defaultAgent; +} + +/** + * Returns the default cacert bundle for the current system. + * + * First, the openssl.cafile and curl.cainfo php.ini settings are checked. + * If those settings are not configured, then the common locations for + * bundles found on Red Hat, CentOS, Fedora, Ubuntu, Debian, FreeBSD, OS X + * and Windows are checked. If any of these file locations are found on + * disk, they will be utilized. + * + * Note: the result of this function is cached for subsequent calls. + * + * @return string + * @throws \RuntimeException if no bundle can be found. + */ +function default_ca_bundle() +{ + static $cached = null; + static $cafiles = [ + // Red Hat, CentOS, Fedora (provided by the ca-certificates package) + '/etc/pki/tls/certs/ca-bundle.crt', + // Ubuntu, Debian (provided by the ca-certificates package) + '/etc/ssl/certs/ca-certificates.crt', + // FreeBSD (provided by the ca_root_nss package) + '/usr/local/share/certs/ca-root-nss.crt', + // OS X provided by homebrew (using the default path) + '/usr/local/etc/openssl/cert.pem', + // Google app engine + '/etc/ca-certificates.crt', + // Windows? + 'C:\\windows\\system32\\curl-ca-bundle.crt', + 'C:\\windows\\curl-ca-bundle.crt', + ]; + + if ($cached) { + return $cached; + } + + if ($ca = ini_get('openssl.cafile')) { + return $cached = $ca; + } + + if ($ca = ini_get('curl.cainfo')) { + return $cached = $ca; + } + + foreach ($cafiles as $filename) { + if (file_exists($filename)) { + return $cached = $filename; + } + } + + throw new \RuntimeException(<<< EOT +No system CA bundle could be found in any of the the common system locations. +PHP versions earlier than 5.6 are not properly configured to use the system's +CA bundle by default. In order to verify peer certificates, you will need to +supply the path on disk to a certificate bundle to the 'verify' request +option: http://docs.guzzlephp.org/en/latest/clients.html#verify. If you do not +need a specific certificate bundle, then Mozilla provides a commonly used CA +bundle which can be downloaded here (provided by the maintainer of cURL): +https://raw.githubusercontent.com/bagder/ca-bundle/master/ca-bundle.crt. Once +you have a CA bundle available on disk, you can set the 'openssl.cafile' PHP +ini setting to point to the path to the file, allowing you to omit the 'verify' +request option. See http://curl.haxx.se/docs/sslcerts.html for more +information. +EOT + ); +} + +/** + * Creates an associative array of lowercase header names to the actual + * header casing. + * + * @param array $headers + * + * @return array + */ +function normalize_header_keys(array $headers) +{ + $result = []; + foreach (array_keys($headers) as $key) { + $result[strtolower($key)] = $key; + } + + return $result; +} + +/** + * Returns true if the provided host matches any of the no proxy areas. + * + * This method will strip a port from the host if it is present. Each pattern + * can be matched with an exact match (e.g., "foo.com" == "foo.com") or a + * partial match: (e.g., "foo.com" == "baz.foo.com" and ".foo.com" == + * "baz.foo.com", but ".foo.com" != "foo.com"). + * + * Areas are matched in the following cases: + * 1. "*" (without quotes) always matches any hosts. + * 2. An exact match. + * 3. The area starts with "." and the area is the last part of the host. e.g. + * '.mit.edu' will match any host that ends with '.mit.edu'. + * + * @param string $host Host to check against the patterns. + * @param array $noProxyArray An array of host patterns. + * + * @return bool + */ +function is_host_in_noproxy($host, array $noProxyArray) +{ + if (strlen($host) === 0) { + throw new \InvalidArgumentException('Empty host provided'); + } + + // Strip port if present. + if (strpos($host, ':')) { + $host = explode($host, ':', 2)[0]; + } + + foreach ($noProxyArray as $area) { + // Always match on wildcards. + if ($area === '*') { + return true; + } elseif (empty($area)) { + // Don't match on empty values. + continue; + } elseif ($area === $host) { + // Exact matches. + return true; + } else { + // Special match if the area when prefixed with ".". Remove any + // existing leading "." and add a new leading ".". + $area = '.' . ltrim($area, '.'); + if (substr($host, -(strlen($area))) === $area) { + return true; + } + } + } + + return false; +} + +/** + * Wrapper for json_decode that throws when an error occurs. + * + * @param string $json JSON data to parse + * @param bool $assoc When true, returned objects will be converted + * into associative arrays. + * @param int $depth User specified recursion depth. + * @param int $options Bitmask of JSON decode options. + * + * @return mixed + * @throws \InvalidArgumentException if the JSON cannot be decoded. + * @link http://www.php.net/manual/en/function.json-decode.php + */ +function json_decode($json, $assoc = false, $depth = 512, $options = 0) +{ + $data = \json_decode($json, $assoc, $depth, $options); + if (JSON_ERROR_NONE !== json_last_error()) { + throw new \InvalidArgumentException( + 'json_decode error: ' . json_last_error_msg()); + } + + return $data; +} + +/** + * Wrapper for JSON encoding that throws when an error occurs. + * + * @param mixed $value The value being encoded + * @param int $options JSON encode option bitmask + * @param int $depth Set the maximum depth. Must be greater than zero. + * + * @return string + * @throws \InvalidArgumentException if the JSON cannot be encoded. + * @link http://www.php.net/manual/en/function.json-encode.php + */ +function json_encode($value, $options = 0, $depth = 512) +{ + $json = \json_encode($value, $options, $depth); + if (JSON_ERROR_NONE !== json_last_error()) { + throw new \InvalidArgumentException( + 'json_encode error: ' . json_last_error_msg()); + } + + return $json; +} diff --git a/vendor/guzzlehttp/guzzle/src/functions_include.php b/vendor/guzzlehttp/guzzle/src/functions_include.php new file mode 100644 index 00000000..a93393ac --- /dev/null +++ b/vendor/guzzlehttp/guzzle/src/functions_include.php @@ -0,0 +1,6 @@ + + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/vendor/guzzlehttp/promises/Makefile b/vendor/guzzlehttp/promises/Makefile new file mode 100644 index 00000000..8d5b3ef9 --- /dev/null +++ b/vendor/guzzlehttp/promises/Makefile @@ -0,0 +1,13 @@ +all: clean test + +test: + vendor/bin/phpunit + +coverage: + vendor/bin/phpunit --coverage-html=artifacts/coverage + +view-coverage: + open artifacts/coverage/index.html + +clean: + rm -rf artifacts/* diff --git a/vendor/guzzlehttp/promises/README.md b/vendor/guzzlehttp/promises/README.md new file mode 100644 index 00000000..7b607e28 --- /dev/null +++ b/vendor/guzzlehttp/promises/README.md @@ -0,0 +1,504 @@ +# Guzzle Promises + +[Promises/A+](https://promisesaplus.com/) implementation that handles promise +chaining and resolution iteratively, allowing for "infinite" promise chaining +while keeping the stack size constant. Read [this blog post](https://blog.domenic.me/youre-missing-the-point-of-promises/) +for a general introduction to promises. + +- [Features](#features) +- [Quick start](#quick-start) +- [Synchronous wait](#synchronous-wait) +- [Cancellation](#cancellation) +- [API](#api) + - [Promise](#promise) + - [FulfilledPromise](#fulfilledpromise) + - [RejectedPromise](#rejectedpromise) +- [Promise interop](#promise-interop) +- [Implementation notes](#implementation-notes) + + +# Features + +- [Promises/A+](https://promisesaplus.com/) implementation. +- Promise resolution and chaining is handled iteratively, allowing for + "infinite" promise chaining. +- Promises have a synchronous `wait` method. +- Promises can be cancelled. +- Works with any object that has a `then` function. +- C# style async/await coroutine promises using + `GuzzleHttp\Promise\coroutine()`. + + +# Quick start + +A *promise* represents the eventual result of an asynchronous operation. The +primary way of interacting with a promise is through its `then` method, which +registers callbacks to receive either a promise's eventual value or the reason +why the promise cannot be fulfilled. + + +## Callbacks + +Callbacks are registered with the `then` method by providing an optional +`$onFulfilled` followed by an optional `$onRejected` function. + + +```php +use GuzzleHttp\Promise\Promise; + +$promise = new Promise(); +$promise->then( + // $onFulfilled + function ($value) { + echo 'The promise was fulfilled.'; + }, + // $onRejected + function ($reason) { + echo 'The promise was rejected.'; + } +); +``` + +*Resolving* a promise means that you either fulfill a promise with a *value* or +reject a promise with a *reason*. Resolving a promises triggers callbacks +registered with the promises's `then` method. These callbacks are triggered +only once and in the order in which they were added. + + +## Resolving a promise + +Promises are fulfilled using the `resolve($value)` method. Resolving a promise +with any value other than a `GuzzleHttp\Promise\RejectedPromise` will trigger +all of the onFulfilled callbacks (resolving a promise with a rejected promise +will reject the promise and trigger the `$onRejected` callbacks). + +```php +use GuzzleHttp\Promise\Promise; + +$promise = new Promise(); +$promise + ->then(function ($value) { + // Return a value and don't break the chain + return "Hello, " . $value; + }) + // This then is executed after the first then and receives the value + // returned from the first then. + ->then(function ($value) { + echo $value; + }); + +// Resolving the promise triggers the $onFulfilled callbacks and outputs +// "Hello, reader". +$promise->resolve('reader.'); +``` + + +## Promise forwarding + +Promises can be chained one after the other. Each then in the chain is a new +promise. The return value of a promise is what's forwarded to the next +promise in the chain. Returning a promise in a `then` callback will cause the +subsequent promises in the chain to only be fulfilled when the returned promise +has been fulfilled. The next promise in the chain will be invoked with the +resolved value of the promise. + +```php +use GuzzleHttp\Promise\Promise; + +$promise = new Promise(); +$nextPromise = new Promise(); + +$promise + ->then(function ($value) use ($nextPromise) { + echo $value; + return $nextPromise; + }) + ->then(function ($value) { + echo $value; + }); + +// Triggers the first callback and outputs "A" +$promise->resolve('A'); +// Triggers the second callback and outputs "B" +$nextPromise->resolve('B'); +``` + +## Promise rejection + +When a promise is rejected, the `$onRejected` callbacks are invoked with the +rejection reason. + +```php +use GuzzleHttp\Promise\Promise; + +$promise = new Promise(); +$promise->then(null, function ($reason) { + echo $reason; +}); + +$promise->reject('Error!'); +// Outputs "Error!" +``` + +## Rejection forwarding + +If an exception is thrown in an `$onRejected` callback, subsequent +`$onRejected` callbacks are invoked with the thrown exception as the reason. + +```php +use GuzzleHttp\Promise\Promise; + +$promise = new Promise(); +$promise->then(null, function ($reason) { + throw new \Exception($reason); +})->then(null, function ($reason) { + assert($reason->getMessage() === 'Error!'); +}); + +$promise->reject('Error!'); +``` + +You can also forward a rejection down the promise chain by returning a +`GuzzleHttp\Promise\RejectedPromise` in either an `$onFulfilled` or +`$onRejected` callback. + +```php +use GuzzleHttp\Promise\Promise; +use GuzzleHttp\Promise\RejectedPromise; + +$promise = new Promise(); +$promise->then(null, function ($reason) { + return new RejectedPromise($reason); +})->then(null, function ($reason) { + assert($reason === 'Error!'); +}); + +$promise->reject('Error!'); +``` + +If an exception is not thrown in a `$onRejected` callback and the callback +does not return a rejected promise, downstream `$onFulfilled` callbacks are +invoked using the value returned from the `$onRejected` callback. + +```php +use GuzzleHttp\Promise\Promise; +use GuzzleHttp\Promise\RejectedPromise; + +$promise = new Promise(); +$promise + ->then(null, function ($reason) { + return "It's ok"; + }) + ->then(function ($value) { + assert($value === "It's ok"); + }); + +$promise->reject('Error!'); +``` + +# Synchronous wait + +You can synchronously force promises to complete using a promise's `wait` +method. When creating a promise, you can provide a wait function that is used +to synchronously force a promise to complete. When a wait function is invoked +it is expected to deliver a value to the promise or reject the promise. If the +wait function does not deliver a value, then an exception is thrown. The wait +function provided to a promise constructor is invoked when the `wait` function +of the promise is called. + +```php +$promise = new Promise(function () use (&$promise) { + $promise->resolve('foo'); +}); + +// Calling wait will return the value of the promise. +echo $promise->wait(); // outputs "foo" +``` + +If an exception is encountered while invoking the wait function of a promise, +the promise is rejected with the exception and the exception is thrown. + +```php +$promise = new Promise(function () use (&$promise) { + throw new \Exception('foo'); +}); + +$promise->wait(); // throws the exception. +``` + +Calling `wait` on a promise that has been fulfilled will not trigger the wait +function. It will simply return the previously resolved value. + +```php +$promise = new Promise(function () { die('this is not called!'); }); +$promise->resolve('foo'); +echo $promise->wait(); // outputs "foo" +``` + +Calling `wait` on a promise that has been rejected will throw an exception. If +the rejection reason is an instance of `\Exception` the reason is thrown. +Otherwise, a `GuzzleHttp\Promise\RejectionException` is thrown and the reason +can be obtained by calling the `getReason` method of the exception. + +```php +$promise = new Promise(); +$promise->reject('foo'); +$promise->wait(); +``` + +> PHP Fatal error: Uncaught exception 'GuzzleHttp\Promise\RejectionException' with message 'The promise was rejected with value: foo' + + +## Unwrapping a promise + +When synchronously waiting on a promise, you are joining the state of the +promise into the current state of execution (i.e., return the value of the +promise if it was fulfilled or throw an exception if it was rejected). This is +called "unwrapping" the promise. Waiting on a promise will by default unwrap +the promise state. + +You can force a promise to resolve and *not* unwrap the state of the promise +by passing `false` to the first argument of the `wait` function: + +```php +$promise = new Promise(); +$promise->reject('foo'); +// This will not throw an exception. It simply ensures the promise has +// been resolved. +$promise->wait(false); +``` + +When unwrapping a promise, the resolved value of the promise will be waited +upon until the unwrapped value is not a promise. This means that if you resolve +promise A with a promise B and unwrap promise A, the value returned by the +wait function will be the value delivered to promise B. + +**Note**: when you do not unwrap the promise, no value is returned. + + +# Cancellation + +You can cancel a promise that has not yet been fulfilled using the `cancel()` +method of a promise. When creating a promise you can provide an optional +cancel function that when invoked cancels the action of computing a resolution +of the promise. + + +# API + + +## Promise + +When creating a promise object, you can provide an optional `$waitFn` and +`$cancelFn`. `$waitFn` is a function that is invoked with no arguments and is +expected to resolve the promise. `$cancelFn` is a function with no arguments +that is expected to cancel the computation of a promise. It is invoked when the +`cancel()` method of a promise is called. + +```php +use GuzzleHttp\Promise\Promise; + +$promise = new Promise( + function () use (&$promise) { + $promise->resolve('waited'); + }, + function () { + // do something that will cancel the promise computation (e.g., close + // a socket, cancel a database query, etc...) + } +); + +assert('waited' === $promise->wait()); +``` + +A promise has the following methods: + +- `then(callable $onFulfilled, callable $onRejected) : PromiseInterface` + + Appends fulfillment and rejection handlers to the promise, and returns a new promise resolving to the return value of the called handler. + +- `otherwise(callable $onRejected) : PromiseInterface` + + Appends a rejection handler callback to the promise, and returns a new promise resolving to the return value of the callback if it is called, or to its original fulfillment value if the promise is instead fulfilled. + +- `wait($unwrap = true) : mixed` + + Synchronously waits on the promise to complete. + + `$unwrap` controls whether or not the value of the promise is returned for a + fulfilled promise or if an exception is thrown if the promise is rejected. + This is set to `true` by default. + +- `cancel()` + + Attempts to cancel the promise if possible. The promise being cancelled and + the parent most ancestor that has not yet been resolved will also be + cancelled. Any promises waiting on the cancelled promise to resolve will also + be cancelled. + +- `getState() : string` + + Returns the state of the promise. One of `pending`, `fulfilled`, or + `rejected`. + +- `resolve($value)` + + Fulfills the promise with the given `$value`. + +- `reject($reason)` + + Rejects the promise with the given `$reason`. + + +## FulfilledPromise + +A fulfilled promise can be created to represent a promise that has been +fulfilled. + +```php +use GuzzleHttp\Promise\FulfilledPromise; + +$promise = new FulfilledPromise('value'); + +// Fulfilled callbacks are immediately invoked. +$promise->then(function ($value) { + echo $value; +}); +``` + + +## RejectedPromise + +A rejected promise can be created to represent a promise that has been +rejected. + +```php +use GuzzleHttp\Promise\RejectedPromise; + +$promise = new RejectedPromise('Error'); + +// Rejected callbacks are immediately invoked. +$promise->then(null, function ($reason) { + echo $reason; +}); +``` + + +# Promise interop + +This library works with foreign promises that have a `then` method. This means +you can use Guzzle promises with [React promises](https://github.com/reactphp/promise) +for example. When a foreign promise is returned inside of a then method +callback, promise resolution will occur recursively. + +```php +// Create a React promise +$deferred = new React\Promise\Deferred(); +$reactPromise = $deferred->promise(); + +// Create a Guzzle promise that is fulfilled with a React promise. +$guzzlePromise = new \GuzzleHttp\Promise\Promise(); +$guzzlePromise->then(function ($value) use ($reactPromise) { + // Do something something with the value... + // Return the React promise + return $reactPromise; +}); +``` + +Please note that wait and cancel chaining is no longer possible when forwarding +a foreign promise. You will need to wrap a third-party promise with a Guzzle +promise in order to utilize wait and cancel functions with foreign promises. + + +## Event Loop Integration + +In order to keep the stack size constant, Guzzle promises are resolved +asynchronously using a task queue. When waiting on promises synchronously, the +task queue will be automatically run to ensure that the blocking promise and +any forwarded promises are resolved. When using promises asynchronously in an +event loop, you will need to run the task queue on each tick of the loop. If +you do not run the task queue, then promises will not be resolved. + +You can run the task queue using the `run()` method of the global task queue +instance. + +```php +// Get the global task queue +$queue = \GuzzleHttp\Promise\queue(); +$queue->run(); +``` + +For example, you could use Guzzle promises with React using a periodic timer: + +```php +$loop = React\EventLoop\Factory::create(); +$loop->addPeriodicTimer(0, [$queue, 'run']); +``` + +*TODO*: Perhaps adding a `futureTick()` on each tick would be faster? + + +# Implementation notes + + +## Promise resolution and chaining is handled iteratively + +By shuffling pending handlers from one owner to another, promises are +resolved iteratively, allowing for "infinite" then chaining. + +```php +then(function ($v) { + // The stack size remains constant (a good thing) + echo xdebug_get_stack_depth() . ', '; + return $v + 1; + }); +} + +$parent->resolve(0); +var_dump($p->wait()); // int(1000) + +``` + +When a promise is fulfilled or rejected with a non-promise value, the promise +then takes ownership of the handlers of each child promise and delivers values +down the chain without using recursion. + +When a promise is resolved with another promise, the original promise transfers +all of its pending handlers to the new promise. When the new promise is +eventually resolved, all of the pending handlers are delivered the forwarded +value. + + +## A promise is the deferred. + +Some promise libraries implement promises using a deferred object to represent +a computation and a promise object to represent the delivery of the result of +the computation. This is a nice separation of computation and delivery because +consumers of the promise cannot modify the value that will be eventually +delivered. + +One side effect of being able to implement promise resolution and chaining +iteratively is that you need to be able for one promise to reach into the state +of another promise to shuffle around ownership of handlers. In order to achieve +this without making the handlers of a promise publicly mutable, a promise is +also the deferred value, allowing promises of the same parent class to reach +into and modify the private properties of promises of the same type. While this +does allow consumers of the value to modify the resolution or rejection of the +deferred, it is a small price to pay for keeping the stack size constant. + +```php +$promise = new Promise(); +$promise->then(function ($value) { echo $value; }); +// The promise is the deferred value, so you can deliver a value to it. +$promise->resolve('foo'); +// prints "foo" +``` diff --git a/vendor/guzzlehttp/promises/composer.json b/vendor/guzzlehttp/promises/composer.json new file mode 100644 index 00000000..ec41a61e --- /dev/null +++ b/vendor/guzzlehttp/promises/composer.json @@ -0,0 +1,34 @@ +{ + "name": "guzzlehttp/promises", + "description": "Guzzle promises library", + "keywords": ["promise"], + "license": "MIT", + "authors": [ + { + "name": "Michael Dowling", + "email": "mtdowling@gmail.com", + "homepage": "https://github.com/mtdowling" + } + ], + "require": { + "php": ">=5.5.0" + }, + "require-dev": { + "phpunit/phpunit": "^4.0" + }, + "autoload": { + "psr-4": { + "GuzzleHttp\\Promise\\": "src/" + }, + "files": ["src/functions_include.php"] + }, + "scripts": { + "test": "vendor/bin/phpunit", + "test-ci": "vendor/bin/phpunit --coverage-text" + }, + "extra": { + "branch-alias": { + "dev-master": "1.4-dev" + } + } +} diff --git a/vendor/guzzlehttp/promises/src/AggregateException.php b/vendor/guzzlehttp/promises/src/AggregateException.php new file mode 100644 index 00000000..6a5690c3 --- /dev/null +++ b/vendor/guzzlehttp/promises/src/AggregateException.php @@ -0,0 +1,16 @@ +then(function ($v) { echo $v; }); + * + * @param callable $generatorFn Generator function to wrap into a promise. + * + * @return Promise + * @link https://github.com/petkaantonov/bluebird/blob/master/API.md#generators inspiration + */ +final class Coroutine implements PromiseInterface +{ + /** + * @var PromiseInterface|null + */ + private $currentPromise; + + /** + * @var Generator + */ + private $generator; + + /** + * @var Promise + */ + private $result; + + public function __construct(callable $generatorFn) + { + $this->generator = $generatorFn(); + $this->result = new Promise(function () { + while (isset($this->currentPromise)) { + $this->currentPromise->wait(); + } + }); + $this->nextCoroutine($this->generator->current()); + } + + public function then( + callable $onFulfilled = null, + callable $onRejected = null + ) { + return $this->result->then($onFulfilled, $onRejected); + } + + public function otherwise(callable $onRejected) + { + return $this->result->otherwise($onRejected); + } + + public function wait($unwrap = true) + { + return $this->result->wait($unwrap); + } + + public function getState() + { + return $this->result->getState(); + } + + public function resolve($value) + { + $this->result->resolve($value); + } + + public function reject($reason) + { + $this->result->reject($reason); + } + + public function cancel() + { + $this->currentPromise->cancel(); + $this->result->cancel(); + } + + private function nextCoroutine($yielded) + { + $this->currentPromise = promise_for($yielded) + ->then([$this, '_handleSuccess'], [$this, '_handleFailure']); + } + + /** + * @internal + */ + public function _handleSuccess($value) + { + unset($this->currentPromise); + try { + $next = $this->generator->send($value); + if ($this->generator->valid()) { + $this->nextCoroutine($next); + } else { + $this->result->resolve($value); + } + } catch (Exception $exception) { + $this->result->reject($exception); + } catch (Throwable $throwable) { + $this->result->reject($throwable); + } + } + + /** + * @internal + */ + public function _handleFailure($reason) + { + unset($this->currentPromise); + try { + $nextYield = $this->generator->throw(exception_for($reason)); + // The throw was caught, so keep iterating on the coroutine + $this->nextCoroutine($nextYield); + } catch (Exception $exception) { + $this->result->reject($exception); + } catch (Throwable $throwable) { + $this->result->reject($throwable); + } + } +} diff --git a/vendor/guzzlehttp/promises/src/EachPromise.php b/vendor/guzzlehttp/promises/src/EachPromise.php new file mode 100644 index 00000000..d0ddf603 --- /dev/null +++ b/vendor/guzzlehttp/promises/src/EachPromise.php @@ -0,0 +1,229 @@ +iterable = iter_for($iterable); + + if (isset($config['concurrency'])) { + $this->concurrency = $config['concurrency']; + } + + if (isset($config['fulfilled'])) { + $this->onFulfilled = $config['fulfilled']; + } + + if (isset($config['rejected'])) { + $this->onRejected = $config['rejected']; + } + } + + public function promise() + { + if ($this->aggregate) { + return $this->aggregate; + } + + try { + $this->createPromise(); + $this->iterable->rewind(); + $this->refillPending(); + } catch (\Throwable $e) { + $this->aggregate->reject($e); + } catch (\Exception $e) { + $this->aggregate->reject($e); + } + + return $this->aggregate; + } + + private function createPromise() + { + $this->mutex = false; + $this->aggregate = new Promise(function () { + reset($this->pending); + if (empty($this->pending) && !$this->iterable->valid()) { + $this->aggregate->resolve(null); + return; + } + + // Consume a potentially fluctuating list of promises while + // ensuring that indexes are maintained (precluding array_shift). + while ($promise = current($this->pending)) { + next($this->pending); + $promise->wait(); + if ($this->aggregate->getState() !== PromiseInterface::PENDING) { + return; + } + } + }); + + // Clear the references when the promise is resolved. + $clearFn = function () { + $this->iterable = $this->concurrency = $this->pending = null; + $this->onFulfilled = $this->onRejected = null; + }; + + $this->aggregate->then($clearFn, $clearFn); + } + + private function refillPending() + { + if (!$this->concurrency) { + // Add all pending promises. + while ($this->addPending() && $this->advanceIterator()); + return; + } + + // Add only up to N pending promises. + $concurrency = is_callable($this->concurrency) + ? call_user_func($this->concurrency, count($this->pending)) + : $this->concurrency; + $concurrency = max($concurrency - count($this->pending), 0); + // Concurrency may be set to 0 to disallow new promises. + if (!$concurrency) { + return; + } + // Add the first pending promise. + $this->addPending(); + // Note this is special handling for concurrency=1 so that we do + // not advance the iterator after adding the first promise. This + // helps work around issues with generators that might not have the + // next value to yield until promise callbacks are called. + while (--$concurrency + && $this->advanceIterator() + && $this->addPending()); + } + + private function addPending() + { + if (!$this->iterable || !$this->iterable->valid()) { + return false; + } + + $promise = promise_for($this->iterable->current()); + $idx = $this->iterable->key(); + + $this->pending[$idx] = $promise->then( + function ($value) use ($idx) { + if ($this->onFulfilled) { + call_user_func( + $this->onFulfilled, $value, $idx, $this->aggregate + ); + } + $this->step($idx); + }, + function ($reason) use ($idx) { + if ($this->onRejected) { + call_user_func( + $this->onRejected, $reason, $idx, $this->aggregate + ); + } + $this->step($idx); + } + ); + + return true; + } + + private function advanceIterator() + { + // Place a lock on the iterator so that we ensure to not recurse, + // preventing fatal generator errors. + if ($this->mutex) { + return false; + } + + $this->mutex = true; + + try { + $this->iterable->next(); + $this->mutex = false; + return true; + } catch (\Throwable $e) { + $this->aggregate->reject($e); + $this->mutex = false; + return false; + } catch (\Exception $e) { + $this->aggregate->reject($e); + $this->mutex = false; + return false; + } + } + + private function step($idx) + { + // If the promise was already resolved, then ignore this step. + if ($this->aggregate->getState() !== PromiseInterface::PENDING) { + return; + } + + unset($this->pending[$idx]); + + // Only refill pending promises if we are not locked, preventing the + // EachPromise to recursively invoke the provided iterator, which + // cause a fatal error: "Cannot resume an already running generator" + if ($this->advanceIterator() && !$this->checkIfFinished()) { + // Add more pending promises if possible. + $this->refillPending(); + } + } + + private function checkIfFinished() + { + if (!$this->pending && !$this->iterable->valid()) { + // Resolve the promise if there's nothing left to do. + $this->aggregate->resolve(null); + return true; + } + + return false; + } +} diff --git a/vendor/guzzlehttp/promises/src/FulfilledPromise.php b/vendor/guzzlehttp/promises/src/FulfilledPromise.php new file mode 100644 index 00000000..dbbeeb9f --- /dev/null +++ b/vendor/guzzlehttp/promises/src/FulfilledPromise.php @@ -0,0 +1,82 @@ +value = $value; + } + + public function then( + callable $onFulfilled = null, + callable $onRejected = null + ) { + // Return itself if there is no onFulfilled function. + if (!$onFulfilled) { + return $this; + } + + $queue = queue(); + $p = new Promise([$queue, 'run']); + $value = $this->value; + $queue->add(static function () use ($p, $value, $onFulfilled) { + if ($p->getState() === self::PENDING) { + try { + $p->resolve($onFulfilled($value)); + } catch (\Throwable $e) { + $p->reject($e); + } catch (\Exception $e) { + $p->reject($e); + } + } + }); + + return $p; + } + + public function otherwise(callable $onRejected) + { + return $this->then(null, $onRejected); + } + + public function wait($unwrap = true, $defaultDelivery = null) + { + return $unwrap ? $this->value : null; + } + + public function getState() + { + return self::FULFILLED; + } + + public function resolve($value) + { + if ($value !== $this->value) { + throw new \LogicException("Cannot resolve a fulfilled promise"); + } + } + + public function reject($reason) + { + throw new \LogicException("Cannot reject a fulfilled promise"); + } + + public function cancel() + { + // pass + } +} diff --git a/vendor/guzzlehttp/promises/src/Promise.php b/vendor/guzzlehttp/promises/src/Promise.php new file mode 100644 index 00000000..844ada07 --- /dev/null +++ b/vendor/guzzlehttp/promises/src/Promise.php @@ -0,0 +1,280 @@ +waitFn = $waitFn; + $this->cancelFn = $cancelFn; + } + + public function then( + callable $onFulfilled = null, + callable $onRejected = null + ) { + if ($this->state === self::PENDING) { + $p = new Promise(null, [$this, 'cancel']); + $this->handlers[] = [$p, $onFulfilled, $onRejected]; + $p->waitList = $this->waitList; + $p->waitList[] = $this; + return $p; + } + + // Return a fulfilled promise and immediately invoke any callbacks. + if ($this->state === self::FULFILLED) { + return $onFulfilled + ? promise_for($this->result)->then($onFulfilled) + : promise_for($this->result); + } + + // It's either cancelled or rejected, so return a rejected promise + // and immediately invoke any callbacks. + $rejection = rejection_for($this->result); + return $onRejected ? $rejection->then(null, $onRejected) : $rejection; + } + + public function otherwise(callable $onRejected) + { + return $this->then(null, $onRejected); + } + + public function wait($unwrap = true) + { + $this->waitIfPending(); + + $inner = $this->result instanceof PromiseInterface + ? $this->result->wait($unwrap) + : $this->result; + + if ($unwrap) { + if ($this->result instanceof PromiseInterface + || $this->state === self::FULFILLED + ) { + return $inner; + } else { + // It's rejected so "unwrap" and throw an exception. + throw exception_for($inner); + } + } + } + + public function getState() + { + return $this->state; + } + + public function cancel() + { + if ($this->state !== self::PENDING) { + return; + } + + $this->waitFn = $this->waitList = null; + + if ($this->cancelFn) { + $fn = $this->cancelFn; + $this->cancelFn = null; + try { + $fn(); + } catch (\Throwable $e) { + $this->reject($e); + } catch (\Exception $e) { + $this->reject($e); + } + } + + // Reject the promise only if it wasn't rejected in a then callback. + if ($this->state === self::PENDING) { + $this->reject(new CancellationException('Promise has been cancelled')); + } + } + + public function resolve($value) + { + $this->settle(self::FULFILLED, $value); + } + + public function reject($reason) + { + $this->settle(self::REJECTED, $reason); + } + + private function settle($state, $value) + { + if ($this->state !== self::PENDING) { + // Ignore calls with the same resolution. + if ($state === $this->state && $value === $this->result) { + return; + } + throw $this->state === $state + ? new \LogicException("The promise is already {$state}.") + : new \LogicException("Cannot change a {$this->state} promise to {$state}"); + } + + if ($value === $this) { + throw new \LogicException('Cannot fulfill or reject a promise with itself'); + } + + // Clear out the state of the promise but stash the handlers. + $this->state = $state; + $this->result = $value; + $handlers = $this->handlers; + $this->handlers = null; + $this->waitList = $this->waitFn = null; + $this->cancelFn = null; + + if (!$handlers) { + return; + } + + // If the value was not a settled promise or a thenable, then resolve + // it in the task queue using the correct ID. + if (!method_exists($value, 'then')) { + $id = $state === self::FULFILLED ? 1 : 2; + // It's a success, so resolve the handlers in the queue. + queue()->add(static function () use ($id, $value, $handlers) { + foreach ($handlers as $handler) { + self::callHandler($id, $value, $handler); + } + }); + } elseif ($value instanceof Promise + && $value->getState() === self::PENDING + ) { + // We can just merge our handlers onto the next promise. + $value->handlers = array_merge($value->handlers, $handlers); + } else { + // Resolve the handlers when the forwarded promise is resolved. + $value->then( + static function ($value) use ($handlers) { + foreach ($handlers as $handler) { + self::callHandler(1, $value, $handler); + } + }, + static function ($reason) use ($handlers) { + foreach ($handlers as $handler) { + self::callHandler(2, $reason, $handler); + } + } + ); + } + } + + /** + * Call a stack of handlers using a specific callback index and value. + * + * @param int $index 1 (resolve) or 2 (reject). + * @param mixed $value Value to pass to the callback. + * @param array $handler Array of handler data (promise and callbacks). + * + * @return array Returns the next group to resolve. + */ + private static function callHandler($index, $value, array $handler) + { + /** @var PromiseInterface $promise */ + $promise = $handler[0]; + + // The promise may have been cancelled or resolved before placing + // this thunk in the queue. + if ($promise->getState() !== self::PENDING) { + return; + } + + try { + if (isset($handler[$index])) { + $promise->resolve($handler[$index]($value)); + } elseif ($index === 1) { + // Forward resolution values as-is. + $promise->resolve($value); + } else { + // Forward rejections down the chain. + $promise->reject($value); + } + } catch (\Throwable $reason) { + $promise->reject($reason); + } catch (\Exception $reason) { + $promise->reject($reason); + } + } + + private function waitIfPending() + { + if ($this->state !== self::PENDING) { + return; + } elseif ($this->waitFn) { + $this->invokeWaitFn(); + } elseif ($this->waitList) { + $this->invokeWaitList(); + } else { + // If there's not wait function, then reject the promise. + $this->reject('Cannot wait on a promise that has ' + . 'no internal wait function. You must provide a wait ' + . 'function when constructing the promise to be able to ' + . 'wait on a promise.'); + } + + queue()->run(); + + if ($this->state === self::PENDING) { + $this->reject('Invoking the wait callback did not resolve the promise'); + } + } + + private function invokeWaitFn() + { + try { + $wfn = $this->waitFn; + $this->waitFn = null; + $wfn(true); + } catch (\Exception $reason) { + if ($this->state === self::PENDING) { + // The promise has not been resolved yet, so reject the promise + // with the exception. + $this->reject($reason); + } else { + // The promise was already resolved, so there's a problem in + // the application. + throw $reason; + } + } + } + + private function invokeWaitList() + { + $waitList = $this->waitList; + $this->waitList = null; + + foreach ($waitList as $result) { + while (true) { + $result->waitIfPending(); + + if ($result->result instanceof Promise) { + $result = $result->result; + } else { + if ($result->result instanceof PromiseInterface) { + $result->result->wait(false); + } + break; + } + } + } + } +} diff --git a/vendor/guzzlehttp/promises/src/PromiseInterface.php b/vendor/guzzlehttp/promises/src/PromiseInterface.php new file mode 100644 index 00000000..8f5f4b99 --- /dev/null +++ b/vendor/guzzlehttp/promises/src/PromiseInterface.php @@ -0,0 +1,93 @@ +reason = $reason; + } + + public function then( + callable $onFulfilled = null, + callable $onRejected = null + ) { + // If there's no onRejected callback then just return self. + if (!$onRejected) { + return $this; + } + + $queue = queue(); + $reason = $this->reason; + $p = new Promise([$queue, 'run']); + $queue->add(static function () use ($p, $reason, $onRejected) { + if ($p->getState() === self::PENDING) { + try { + // Return a resolved promise if onRejected does not throw. + $p->resolve($onRejected($reason)); + } catch (\Throwable $e) { + // onRejected threw, so return a rejected promise. + $p->reject($e); + } catch (\Exception $e) { + // onRejected threw, so return a rejected promise. + $p->reject($e); + } + } + }); + + return $p; + } + + public function otherwise(callable $onRejected) + { + return $this->then(null, $onRejected); + } + + public function wait($unwrap = true, $defaultDelivery = null) + { + if ($unwrap) { + throw exception_for($this->reason); + } + } + + public function getState() + { + return self::REJECTED; + } + + public function resolve($value) + { + throw new \LogicException("Cannot resolve a rejected promise"); + } + + public function reject($reason) + { + if ($reason !== $this->reason) { + throw new \LogicException("Cannot reject a rejected promise"); + } + } + + public function cancel() + { + // pass + } +} diff --git a/vendor/guzzlehttp/promises/src/RejectionException.php b/vendor/guzzlehttp/promises/src/RejectionException.php new file mode 100644 index 00000000..07c1136d --- /dev/null +++ b/vendor/guzzlehttp/promises/src/RejectionException.php @@ -0,0 +1,47 @@ +reason = $reason; + + $message = 'The promise was rejected'; + + if ($description) { + $message .= ' with reason: ' . $description; + } elseif (is_string($reason) + || (is_object($reason) && method_exists($reason, '__toString')) + ) { + $message .= ' with reason: ' . $this->reason; + } elseif ($reason instanceof \JsonSerializable) { + $message .= ' with reason: ' + . json_encode($this->reason, JSON_PRETTY_PRINT); + } + + parent::__construct($message); + } + + /** + * Returns the rejection reason. + * + * @return mixed + */ + public function getReason() + { + return $this->reason; + } +} diff --git a/vendor/guzzlehttp/promises/src/TaskQueue.php b/vendor/guzzlehttp/promises/src/TaskQueue.php new file mode 100644 index 00000000..6e8a2a08 --- /dev/null +++ b/vendor/guzzlehttp/promises/src/TaskQueue.php @@ -0,0 +1,66 @@ +run(); + */ +class TaskQueue implements TaskQueueInterface +{ + private $enableShutdown = true; + private $queue = []; + + public function __construct($withShutdown = true) + { + if ($withShutdown) { + register_shutdown_function(function () { + if ($this->enableShutdown) { + // Only run the tasks if an E_ERROR didn't occur. + $err = error_get_last(); + if (!$err || ($err['type'] ^ E_ERROR)) { + $this->run(); + } + } + }); + } + } + + public function isEmpty() + { + return !$this->queue; + } + + public function add(callable $task) + { + $this->queue[] = $task; + } + + public function run() + { + /** @var callable $task */ + while ($task = array_shift($this->queue)) { + $task(); + } + } + + /** + * The task queue will be run and exhausted by default when the process + * exits IFF the exit is not the result of a PHP E_ERROR error. + * + * You can disable running the automatic shutdown of the queue by calling + * this function. If you disable the task queue shutdown process, then you + * MUST either run the task queue (as a result of running your event loop + * or manually using the run() method) or wait on each outstanding promise. + * + * Note: This shutdown will occur before any destructors are triggered. + */ + public function disableShutdown() + { + $this->enableShutdown = false; + } +} diff --git a/vendor/guzzlehttp/promises/src/TaskQueueInterface.php b/vendor/guzzlehttp/promises/src/TaskQueueInterface.php new file mode 100644 index 00000000..ac8306e1 --- /dev/null +++ b/vendor/guzzlehttp/promises/src/TaskQueueInterface.php @@ -0,0 +1,25 @@ + + * while ($eventLoop->isRunning()) { + * GuzzleHttp\Promise\queue()->run(); + * } + * + * + * @param TaskQueueInterface $assign Optionally specify a new queue instance. + * + * @return TaskQueueInterface + */ +function queue(TaskQueueInterface $assign = null) +{ + static $queue; + + if ($assign) { + $queue = $assign; + } elseif (!$queue) { + $queue = new TaskQueue(); + } + + return $queue; +} + +/** + * Adds a function to run in the task queue when it is next `run()` and returns + * a promise that is fulfilled or rejected with the result. + * + * @param callable $task Task function to run. + * + * @return PromiseInterface + */ +function task(callable $task) +{ + $queue = queue(); + $promise = new Promise([$queue, 'run']); + $queue->add(function () use ($task, $promise) { + try { + $promise->resolve($task()); + } catch (\Throwable $e) { + $promise->reject($e); + } catch (\Exception $e) { + $promise->reject($e); + } + }); + + return $promise; +} + +/** + * Creates a promise for a value if the value is not a promise. + * + * @param mixed $value Promise or value. + * + * @return PromiseInterface + */ +function promise_for($value) +{ + if ($value instanceof PromiseInterface) { + return $value; + } + + // Return a Guzzle promise that shadows the given promise. + if (method_exists($value, 'then')) { + $wfn = method_exists($value, 'wait') ? [$value, 'wait'] : null; + $cfn = method_exists($value, 'cancel') ? [$value, 'cancel'] : null; + $promise = new Promise($wfn, $cfn); + $value->then([$promise, 'resolve'], [$promise, 'reject']); + return $promise; + } + + return new FulfilledPromise($value); +} + +/** + * Creates a rejected promise for a reason if the reason is not a promise. If + * the provided reason is a promise, then it is returned as-is. + * + * @param mixed $reason Promise or reason. + * + * @return PromiseInterface + */ +function rejection_for($reason) +{ + if ($reason instanceof PromiseInterface) { + return $reason; + } + + return new RejectedPromise($reason); +} + +/** + * Create an exception for a rejected promise value. + * + * @param mixed $reason + * + * @return \Exception|\Throwable + */ +function exception_for($reason) +{ + return $reason instanceof \Exception || $reason instanceof \Throwable + ? $reason + : new RejectionException($reason); +} + +/** + * Returns an iterator for the given value. + * + * @param mixed $value + * + * @return \Iterator + */ +function iter_for($value) +{ + if ($value instanceof \Iterator) { + return $value; + } elseif (is_array($value)) { + return new \ArrayIterator($value); + } else { + return new \ArrayIterator([$value]); + } +} + +/** + * Synchronously waits on a promise to resolve and returns an inspection state + * array. + * + * Returns a state associative array containing a "state" key mapping to a + * valid promise state. If the state of the promise is "fulfilled", the array + * will contain a "value" key mapping to the fulfilled value of the promise. If + * the promise is rejected, the array will contain a "reason" key mapping to + * the rejection reason of the promise. + * + * @param PromiseInterface $promise Promise or value. + * + * @return array + */ +function inspect(PromiseInterface $promise) +{ + try { + return [ + 'state' => PromiseInterface::FULFILLED, + 'value' => $promise->wait() + ]; + } catch (RejectionException $e) { + return ['state' => PromiseInterface::REJECTED, 'reason' => $e->getReason()]; + } catch (\Throwable $e) { + return ['state' => PromiseInterface::REJECTED, 'reason' => $e]; + } catch (\Exception $e) { + return ['state' => PromiseInterface::REJECTED, 'reason' => $e]; + } +} + +/** + * Waits on all of the provided promises, but does not unwrap rejected promises + * as thrown exception. + * + * Returns an array of inspection state arrays. + * + * @param PromiseInterface[] $promises Traversable of promises to wait upon. + * + * @return array + * @see GuzzleHttp\Promise\inspect for the inspection state array format. + */ +function inspect_all($promises) +{ + $results = []; + foreach ($promises as $key => $promise) { + $results[$key] = inspect($promise); + } + + return $results; +} + +/** + * Waits on all of the provided promises and returns the fulfilled values. + * + * Returns an array that contains the value of each promise (in the same order + * the promises were provided). An exception is thrown if any of the promises + * are rejected. + * + * @param mixed $promises Iterable of PromiseInterface objects to wait on. + * + * @return array + * @throws \Exception on error + * @throws \Throwable on error in PHP >=7 + */ +function unwrap($promises) +{ + $results = []; + foreach ($promises as $key => $promise) { + $results[$key] = $promise->wait(); + } + + return $results; +} + +/** + * Given an array of promises, return a promise that is fulfilled when all the + * items in the array are fulfilled. + * + * The promise's fulfillment value is an array with fulfillment values at + * respective positions to the original array. If any promise in the array + * rejects, the returned promise is rejected with the rejection reason. + * + * @param mixed $promises Promises or values. + * + * @return PromiseInterface + */ +function all($promises) +{ + $results = []; + return each( + $promises, + function ($value, $idx) use (&$results) { + $results[$idx] = $value; + }, + function ($reason, $idx, Promise $aggregate) { + $aggregate->reject($reason); + } + )->then(function () use (&$results) { + ksort($results); + return $results; + }); +} + +/** + * Initiate a competitive race between multiple promises or values (values will + * become immediately fulfilled promises). + * + * When count amount of promises have been fulfilled, the returned promise is + * fulfilled with an array that contains the fulfillment values of the winners + * in order of resolution. + * + * This prommise is rejected with a {@see GuzzleHttp\Promise\AggregateException} + * if the number of fulfilled promises is less than the desired $count. + * + * @param int $count Total number of promises. + * @param mixed $promises Promises or values. + * + * @return PromiseInterface + */ +function some($count, $promises) +{ + $results = []; + $rejections = []; + + return each( + $promises, + function ($value, $idx, PromiseInterface $p) use (&$results, $count) { + if ($p->getState() !== PromiseInterface::PENDING) { + return; + } + $results[$idx] = $value; + if (count($results) >= $count) { + $p->resolve(null); + } + }, + function ($reason) use (&$rejections) { + $rejections[] = $reason; + } + )->then( + function () use (&$results, &$rejections, $count) { + if (count($results) !== $count) { + throw new AggregateException( + 'Not enough promises to fulfill count', + $rejections + ); + } + ksort($results); + return array_values($results); + } + ); +} + +/** + * Like some(), with 1 as count. However, if the promise fulfills, the + * fulfillment value is not an array of 1 but the value directly. + * + * @param mixed $promises Promises or values. + * + * @return PromiseInterface + */ +function any($promises) +{ + return some(1, $promises)->then(function ($values) { return $values[0]; }); +} + +/** + * Returns a promise that is fulfilled when all of the provided promises have + * been fulfilled or rejected. + * + * The returned promise is fulfilled with an array of inspection state arrays. + * + * @param mixed $promises Promises or values. + * + * @return PromiseInterface + * @see GuzzleHttp\Promise\inspect for the inspection state array format. + */ +function settle($promises) +{ + $results = []; + + return each( + $promises, + function ($value, $idx) use (&$results) { + $results[$idx] = ['state' => PromiseInterface::FULFILLED, 'value' => $value]; + }, + function ($reason, $idx) use (&$results) { + $results[$idx] = ['state' => PromiseInterface::REJECTED, 'reason' => $reason]; + } + )->then(function () use (&$results) { + ksort($results); + return $results; + }); +} + +/** + * Given an iterator that yields promises or values, returns a promise that is + * fulfilled with a null value when the iterator has been consumed or the + * aggregate promise has been fulfilled or rejected. + * + * $onFulfilled is a function that accepts the fulfilled value, iterator + * index, and the aggregate promise. The callback can invoke any necessary side + * effects and choose to resolve or reject the aggregate promise if needed. + * + * $onRejected is a function that accepts the rejection reason, iterator + * index, and the aggregate promise. The callback can invoke any necessary side + * effects and choose to resolve or reject the aggregate promise if needed. + * + * @param mixed $iterable Iterator or array to iterate over. + * @param callable $onFulfilled + * @param callable $onRejected + * + * @return PromiseInterface + */ +function each( + $iterable, + callable $onFulfilled = null, + callable $onRejected = null +) { + return (new EachPromise($iterable, [ + 'fulfilled' => $onFulfilled, + 'rejected' => $onRejected + ]))->promise(); +} + +/** + * Like each, but only allows a certain number of outstanding promises at any + * given time. + * + * $concurrency may be an integer or a function that accepts the number of + * pending promises and returns a numeric concurrency limit value to allow for + * dynamic a concurrency size. + * + * @param mixed $iterable + * @param int|callable $concurrency + * @param callable $onFulfilled + * @param callable $onRejected + * + * @return PromiseInterface + */ +function each_limit( + $iterable, + $concurrency, + callable $onFulfilled = null, + callable $onRejected = null +) { + return (new EachPromise($iterable, [ + 'fulfilled' => $onFulfilled, + 'rejected' => $onRejected, + 'concurrency' => $concurrency + ]))->promise(); +} + +/** + * Like each_limit, but ensures that no promise in the given $iterable argument + * is rejected. If any promise is rejected, then the aggregate promise is + * rejected with the encountered rejection. + * + * @param mixed $iterable + * @param int|callable $concurrency + * @param callable $onFulfilled + * + * @return PromiseInterface + */ +function each_limit_all( + $iterable, + $concurrency, + callable $onFulfilled = null +) { + return each_limit( + $iterable, + $concurrency, + $onFulfilled, + function ($reason, $idx, PromiseInterface $aggregate) { + $aggregate->reject($reason); + } + ); +} + +/** + * Returns true if a promise is fulfilled. + * + * @param PromiseInterface $promise + * + * @return bool + */ +function is_fulfilled(PromiseInterface $promise) +{ + return $promise->getState() === PromiseInterface::FULFILLED; +} + +/** + * Returns true if a promise is rejected. + * + * @param PromiseInterface $promise + * + * @return bool + */ +function is_rejected(PromiseInterface $promise) +{ + return $promise->getState() === PromiseInterface::REJECTED; +} + +/** + * Returns true if a promise is fulfilled or rejected. + * + * @param PromiseInterface $promise + * + * @return bool + */ +function is_settled(PromiseInterface $promise) +{ + return $promise->getState() !== PromiseInterface::PENDING; +} + +/** + * @see Coroutine + * + * @param callable $generatorFn + * + * @return PromiseInterface + */ +function coroutine(callable $generatorFn) +{ + return new Coroutine($generatorFn); +} diff --git a/vendor/guzzlehttp/promises/src/functions_include.php b/vendor/guzzlehttp/promises/src/functions_include.php new file mode 100644 index 00000000..34cd1710 --- /dev/null +++ b/vendor/guzzlehttp/promises/src/functions_include.php @@ -0,0 +1,6 @@ +withPath('foo')->withHost('example.com')` will throw an exception + because the path of a URI with an authority must start with a slash "/" or be empty + - `(new Uri())->withScheme('http')` will return `'http://localhost'` +* Fix compatibility of URIs with `file` scheme and empty host. +* Added common URI utility methods based on RFC 3986 (see documentation in the readme): + - `Uri::isDefaultPort` + - `Uri::isAbsolute` + - `Uri::isNetworkPathReference` + - `Uri::isAbsolutePathReference` + - `Uri::isRelativePathReference` + - `Uri::isSameDocumentReference` + - `Uri::composeComponents` + - `UriNormalizer::normalize` + - `UriNormalizer::isEquivalent` + - `UriResolver::relativize` +* Deprecated `Uri::resolve` in favor of `UriResolver::resolve` +* Deprecated `Uri::removeDotSegments` in favor of `UriResolver::removeDotSegments` + +## 1.3.1 - 2016-06-25 + +* Fix `Uri::__toString` for network path references, e.g. `//example.org`. +* Fix missing lowercase normalization for host. +* Fix handling of URI components in case they are `'0'` in a lot of places, + e.g. as a user info password. +* Fix `Uri::withAddedHeader` to correctly merge headers with different case. +* Fix trimming of header values in `Uri::withAddedHeader`. Header values may + be surrounded by whitespace which should be ignored according to RFC 7230 + Section 3.2.4. This does not apply to header names. +* Fix `Uri::withAddedHeader` with an array of header values. +* Fix `Uri::resolve` when base path has no slash and handling of fragment. +* Fix handling of encoding in `Uri::with(out)QueryValue` so one can pass the + key/value both in encoded as well as decoded form to those methods. This is + consistent with withPath, withQuery etc. +* Fix `ServerRequest::withoutAttribute` when attribute value is null. + +## 1.3.0 - 2016-04-13 + +* Added remaining interfaces needed for full PSR7 compatibility + (ServerRequestInterface, UploadedFileInterface, etc.). +* Added support for stream_for from scalars. +* Can now extend Uri. +* Fixed a bug in validating request methods by making it more permissive. + +## 1.2.3 - 2016-02-18 + +* Fixed support in `GuzzleHttp\Psr7\CachingStream` for seeking forward on remote + streams, which can sometimes return fewer bytes than requested with `fread`. +* Fixed handling of gzipped responses with FNAME headers. + +## 1.2.2 - 2016-01-22 + +* Added support for URIs without any authority. +* Added support for HTTP 451 'Unavailable For Legal Reasons.' +* Added support for using '0' as a filename. +* Added support for including non-standard ports in Host headers. + +## 1.2.1 - 2015-11-02 + +* Now supporting negative offsets when seeking to SEEK_END. + +## 1.2.0 - 2015-08-15 + +* Body as `"0"` is now properly added to a response. +* Now allowing forward seeking in CachingStream. +* Now properly parsing HTTP requests that contain proxy targets in + `parse_request`. +* functions.php is now conditionally required. +* user-info is no longer dropped when resolving URIs. + +## 1.1.0 - 2015-06-24 + +* URIs can now be relative. +* `multipart/form-data` headers are now overridden case-insensitively. +* URI paths no longer encode the following characters because they are allowed + in URIs: "(", ")", "*", "!", "'" +* A port is no longer added to a URI when the scheme is missing and no port is + present. + +## 1.0.0 - 2015-05-19 + +Initial release. + +Currently unsupported: + +- `Psr\Http\Message\ServerRequestInterface` +- `Psr\Http\Message\UploadedFileInterface` diff --git a/vendor/guzzlehttp/psr7/LICENSE b/vendor/guzzlehttp/psr7/LICENSE new file mode 100644 index 00000000..581d95f9 --- /dev/null +++ b/vendor/guzzlehttp/psr7/LICENSE @@ -0,0 +1,19 @@ +Copyright (c) 2015 Michael Dowling, https://github.com/mtdowling + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/vendor/guzzlehttp/psr7/README.md b/vendor/guzzlehttp/psr7/README.md new file mode 100644 index 00000000..16499358 --- /dev/null +++ b/vendor/guzzlehttp/psr7/README.md @@ -0,0 +1,739 @@ +# PSR-7 Message Implementation + +This repository contains a full [PSR-7](http://www.php-fig.org/psr/psr-7/) +message implementation, several stream decorators, and some helpful +functionality like query string parsing. + + +[![Build Status](https://travis-ci.org/guzzle/psr7.svg?branch=master)](https://travis-ci.org/guzzle/psr7) + + +# Stream implementation + +This package comes with a number of stream implementations and stream +decorators. + + +## AppendStream + +`GuzzleHttp\Psr7\AppendStream` + +Reads from multiple streams, one after the other. + +```php +use GuzzleHttp\Psr7; + +$a = Psr7\stream_for('abc, '); +$b = Psr7\stream_for('123.'); +$composed = new Psr7\AppendStream([$a, $b]); + +$composed->addStream(Psr7\stream_for(' Above all listen to me')); + +echo $composed; // abc, 123. Above all listen to me. +``` + + +## BufferStream + +`GuzzleHttp\Psr7\BufferStream` + +Provides a buffer stream that can be written to fill a buffer, and read +from to remove bytes from the buffer. + +This stream returns a "hwm" metadata value that tells upstream consumers +what the configured high water mark of the stream is, or the maximum +preferred size of the buffer. + +```php +use GuzzleHttp\Psr7; + +// When more than 1024 bytes are in the buffer, it will begin returning +// false to writes. This is an indication that writers should slow down. +$buffer = new Psr7\BufferStream(1024); +``` + + +## CachingStream + +The CachingStream is used to allow seeking over previously read bytes on +non-seekable streams. This can be useful when transferring a non-seekable +entity body fails due to needing to rewind the stream (for example, resulting +from a redirect). Data that is read from the remote stream will be buffered in +a PHP temp stream so that previously read bytes are cached first in memory, +then on disk. + +```php +use GuzzleHttp\Psr7; + +$original = Psr7\stream_for(fopen('http://www.google.com', 'r')); +$stream = new Psr7\CachingStream($original); + +$stream->read(1024); +echo $stream->tell(); +// 1024 + +$stream->seek(0); +echo $stream->tell(); +// 0 +``` + + +## DroppingStream + +`GuzzleHttp\Psr7\DroppingStream` + +Stream decorator that begins dropping data once the size of the underlying +stream becomes too full. + +```php +use GuzzleHttp\Psr7; + +// Create an empty stream +$stream = Psr7\stream_for(); + +// Start dropping data when the stream has more than 10 bytes +$dropping = new Psr7\DroppingStream($stream, 10); + +$dropping->write('01234567890123456789'); +echo $stream; // 0123456789 +``` + + +## FnStream + +`GuzzleHttp\Psr7\FnStream` + +Compose stream implementations based on a hash of functions. + +Allows for easy testing and extension of a provided stream without needing +to create a concrete class for a simple extension point. + +```php + +use GuzzleHttp\Psr7; + +$stream = Psr7\stream_for('hi'); +$fnStream = Psr7\FnStream::decorate($stream, [ + 'rewind' => function () use ($stream) { + echo 'About to rewind - '; + $stream->rewind(); + echo 'rewound!'; + } +]); + +$fnStream->rewind(); +// Outputs: About to rewind - rewound! +``` + + +## InflateStream + +`GuzzleHttp\Psr7\InflateStream` + +Uses PHP's zlib.inflate filter to inflate deflate or gzipped content. + +This stream decorator skips the first 10 bytes of the given stream to remove +the gzip header, converts the provided stream to a PHP stream resource, +then appends the zlib.inflate filter. The stream is then converted back +to a Guzzle stream resource to be used as a Guzzle stream. + + +## LazyOpenStream + +`GuzzleHttp\Psr7\LazyOpenStream` + +Lazily reads or writes to a file that is opened only after an IO operation +take place on the stream. + +```php +use GuzzleHttp\Psr7; + +$stream = new Psr7\LazyOpenStream('/path/to/file', 'r'); +// The file has not yet been opened... + +echo $stream->read(10); +// The file is opened and read from only when needed. +``` + + +## LimitStream + +`GuzzleHttp\Psr7\LimitStream` + +LimitStream can be used to read a subset or slice of an existing stream object. +This can be useful for breaking a large file into smaller pieces to be sent in +chunks (e.g. Amazon S3's multipart upload API). + +```php +use GuzzleHttp\Psr7; + +$original = Psr7\stream_for(fopen('/tmp/test.txt', 'r+')); +echo $original->getSize(); +// >>> 1048576 + +// Limit the size of the body to 1024 bytes and start reading from byte 2048 +$stream = new Psr7\LimitStream($original, 1024, 2048); +echo $stream->getSize(); +// >>> 1024 +echo $stream->tell(); +// >>> 0 +``` + + +## MultipartStream + +`GuzzleHttp\Psr7\MultipartStream` + +Stream that when read returns bytes for a streaming multipart or +multipart/form-data stream. + + +## NoSeekStream + +`GuzzleHttp\Psr7\NoSeekStream` + +NoSeekStream wraps a stream and does not allow seeking. + +```php +use GuzzleHttp\Psr7; + +$original = Psr7\stream_for('foo'); +$noSeek = new Psr7\NoSeekStream($original); + +echo $noSeek->read(3); +// foo +var_export($noSeek->isSeekable()); +// false +$noSeek->seek(0); +var_export($noSeek->read(3)); +// NULL +``` + + +## PumpStream + +`GuzzleHttp\Psr7\PumpStream` + +Provides a read only stream that pumps data from a PHP callable. + +When invoking the provided callable, the PumpStream will pass the amount of +data requested to read to the callable. The callable can choose to ignore +this value and return fewer or more bytes than requested. Any extra data +returned by the provided callable is buffered internally until drained using +the read() function of the PumpStream. The provided callable MUST return +false when there is no more data to read. + + +## Implementing stream decorators + +Creating a stream decorator is very easy thanks to the +`GuzzleHttp\Psr7\StreamDecoratorTrait`. This trait provides methods that +implement `Psr\Http\Message\StreamInterface` by proxying to an underlying +stream. Just `use` the `StreamDecoratorTrait` and implement your custom +methods. + +For example, let's say we wanted to call a specific function each time the last +byte is read from a stream. This could be implemented by overriding the +`read()` method. + +```php +use Psr\Http\Message\StreamInterface; +use GuzzleHttp\Psr7\StreamDecoratorTrait; + +class EofCallbackStream implements StreamInterface +{ + use StreamDecoratorTrait; + + private $callback; + + public function __construct(StreamInterface $stream, callable $cb) + { + $this->stream = $stream; + $this->callback = $cb; + } + + public function read($length) + { + $result = $this->stream->read($length); + + // Invoke the callback when EOF is hit. + if ($this->eof()) { + call_user_func($this->callback); + } + + return $result; + } +} +``` + +This decorator could be added to any existing stream and used like so: + +```php +use GuzzleHttp\Psr7; + +$original = Psr7\stream_for('foo'); + +$eofStream = new EofCallbackStream($original, function () { + echo 'EOF!'; +}); + +$eofStream->read(2); +$eofStream->read(1); +// echoes "EOF!" +$eofStream->seek(0); +$eofStream->read(3); +// echoes "EOF!" +``` + + +## PHP StreamWrapper + +You can use the `GuzzleHttp\Psr7\StreamWrapper` class if you need to use a +PSR-7 stream as a PHP stream resource. + +Use the `GuzzleHttp\Psr7\StreamWrapper::getResource()` method to create a PHP +stream from a PSR-7 stream. + +```php +use GuzzleHttp\Psr7\StreamWrapper; + +$stream = GuzzleHttp\Psr7\stream_for('hello!'); +$resource = StreamWrapper::getResource($stream); +echo fread($resource, 6); // outputs hello! +``` + + +# Function API + +There are various functions available under the `GuzzleHttp\Psr7` namespace. + + +## `function str` + +`function str(MessageInterface $message)` + +Returns the string representation of an HTTP message. + +```php +$request = new GuzzleHttp\Psr7\Request('GET', 'http://example.com'); +echo GuzzleHttp\Psr7\str($request); +``` + + +## `function uri_for` + +`function uri_for($uri)` + +This function accepts a string or `Psr\Http\Message\UriInterface` and returns a +UriInterface for the given value. If the value is already a `UriInterface`, it +is returned as-is. + +```php +$uri = GuzzleHttp\Psr7\uri_for('http://example.com'); +assert($uri === GuzzleHttp\Psr7\uri_for($uri)); +``` + + +## `function stream_for` + +`function stream_for($resource = '', array $options = [])` + +Create a new stream based on the input type. + +Options is an associative array that can contain the following keys: + +* - metadata: Array of custom metadata. +* - size: Size of the stream. + +This method accepts the following `$resource` types: + +- `Psr\Http\Message\StreamInterface`: Returns the value as-is. +- `string`: Creates a stream object that uses the given string as the contents. +- `resource`: Creates a stream object that wraps the given PHP stream resource. +- `Iterator`: If the provided value implements `Iterator`, then a read-only + stream object will be created that wraps the given iterable. Each time the + stream is read from, data from the iterator will fill a buffer and will be + continuously called until the buffer is equal to the requested read size. + Subsequent read calls will first read from the buffer and then call `next` + on the underlying iterator until it is exhausted. +- `object` with `__toString()`: If the object has the `__toString()` method, + the object will be cast to a string and then a stream will be returned that + uses the string value. +- `NULL`: When `null` is passed, an empty stream object is returned. +- `callable` When a callable is passed, a read-only stream object will be + created that invokes the given callable. The callable is invoked with the + number of suggested bytes to read. The callable can return any number of + bytes, but MUST return `false` when there is no more data to return. The + stream object that wraps the callable will invoke the callable until the + number of requested bytes are available. Any additional bytes will be + buffered and used in subsequent reads. + +```php +$stream = GuzzleHttp\Psr7\stream_for('foo'); +$stream = GuzzleHttp\Psr7\stream_for(fopen('/path/to/file', 'r')); + +$generator function ($bytes) { + for ($i = 0; $i < $bytes; $i++) { + yield ' '; + } +} + +$stream = GuzzleHttp\Psr7\stream_for($generator(100)); +``` + + +## `function parse_header` + +`function parse_header($header)` + +Parse an array of header values containing ";" separated data into an array of +associative arrays representing the header key value pair data of the header. +When a parameter does not contain a value, but just contains a key, this +function will inject a key with a '' string value. + + +## `function normalize_header` + +`function normalize_header($header)` + +Converts an array of header values that may contain comma separated headers +into an array of headers with no comma separated values. + + +## `function modify_request` + +`function modify_request(RequestInterface $request, array $changes)` + +Clone and modify a request with the given changes. This method is useful for +reducing the number of clones needed to mutate a message. + +The changes can be one of: + +- method: (string) Changes the HTTP method. +- set_headers: (array) Sets the given headers. +- remove_headers: (array) Remove the given headers. +- body: (mixed) Sets the given body. +- uri: (UriInterface) Set the URI. +- query: (string) Set the query string value of the URI. +- version: (string) Set the protocol version. + + +## `function rewind_body` + +`function rewind_body(MessageInterface $message)` + +Attempts to rewind a message body and throws an exception on failure. The body +of the message will only be rewound if a call to `tell()` returns a value other +than `0`. + + +## `function try_fopen` + +`function try_fopen($filename, $mode)` + +Safely opens a PHP stream resource using a filename. + +When fopen fails, PHP normally raises a warning. This function adds an error +handler that checks for errors and throws an exception instead. + + +## `function copy_to_string` + +`function copy_to_string(StreamInterface $stream, $maxLen = -1)` + +Copy the contents of a stream into a string until the given number of bytes +have been read. + + +## `function copy_to_stream` + +`function copy_to_stream(StreamInterface $source, StreamInterface $dest, $maxLen = -1)` + +Copy the contents of a stream into another stream until the given number of +bytes have been read. + + +## `function hash` + +`function hash(StreamInterface $stream, $algo, $rawOutput = false)` + +Calculate a hash of a Stream. This method reads the entire stream to calculate +a rolling hash (based on PHP's hash_init functions). + + +## `function readline` + +`function readline(StreamInterface $stream, $maxLength = null)` + +Read a line from the stream up to the maximum allowed buffer length. + + +## `function parse_request` + +`function parse_request($message)` + +Parses a request message string into a request object. + + +## `function parse_response` + +`function parse_response($message)` + +Parses a response message string into a response object. + + +## `function parse_query` + +`function parse_query($str, $urlEncoding = true)` + +Parse a query string into an associative array. + +If multiple values are found for the same key, the value of that key value pair +will become an array. This function does not parse nested PHP style arrays into +an associative array (e.g., `foo[a]=1&foo[b]=2` will be parsed into +`['foo[a]' => '1', 'foo[b]' => '2']`). + + +## `function build_query` + +`function build_query(array $params, $encoding = PHP_QUERY_RFC3986)` + +Build a query string from an array of key value pairs. + +This function can use the return value of parse_query() to build a query string. +This function does not modify the provided keys when an array is encountered +(like http_build_query would). + + +## `function mimetype_from_filename` + +`function mimetype_from_filename($filename)` + +Determines the mimetype of a file by looking at its extension. + + +## `function mimetype_from_extension` + +`function mimetype_from_extension($extension)` + +Maps a file extensions to a mimetype. + + +# Additional URI Methods + +Aside from the standard `Psr\Http\Message\UriInterface` implementation in form of the `GuzzleHttp\Psr7\Uri` class, +this library also provides additional functionality when working with URIs as static methods. + +## URI Types + +An instance of `Psr\Http\Message\UriInterface` can either be an absolute URI or a relative reference. +An absolute URI has a scheme. A relative reference is used to express a URI relative to another URI, +the base URI. Relative references can be divided into several forms according to +[RFC 3986 Section 4.2](https://tools.ietf.org/html/rfc3986#section-4.2): + +- network-path references, e.g. `//example.com/path` +- absolute-path references, e.g. `/path` +- relative-path references, e.g. `subpath` + +The following methods can be used to identify the type of the URI. + +### `GuzzleHttp\Psr7\Uri::isAbsolute` + +`public static function isAbsolute(UriInterface $uri): bool` + +Whether the URI is absolute, i.e. it has a scheme. + +### `GuzzleHttp\Psr7\Uri::isNetworkPathReference` + +`public static function isNetworkPathReference(UriInterface $uri): bool` + +Whether the URI is a network-path reference. A relative reference that begins with two slash characters is +termed an network-path reference. + +### `GuzzleHttp\Psr7\Uri::isAbsolutePathReference` + +`public static function isAbsolutePathReference(UriInterface $uri): bool` + +Whether the URI is a absolute-path reference. A relative reference that begins with a single slash character is +termed an absolute-path reference. + +### `GuzzleHttp\Psr7\Uri::isRelativePathReference` + +`public static function isRelativePathReference(UriInterface $uri): bool` + +Whether the URI is a relative-path reference. A relative reference that does not begin with a slash character is +termed a relative-path reference. + +### `GuzzleHttp\Psr7\Uri::isSameDocumentReference` + +`public static function isSameDocumentReference(UriInterface $uri, UriInterface $base = null): bool` + +Whether the URI is a same-document reference. A same-document reference refers to a URI that is, aside from its +fragment component, identical to the base URI. When no base URI is given, only an empty URI reference +(apart from its fragment) is considered a same-document reference. + +## URI Components + +Additional methods to work with URI components. + +### `GuzzleHttp\Psr7\Uri::isDefaultPort` + +`public static function isDefaultPort(UriInterface $uri): bool` + +Whether the URI has the default port of the current scheme. `Psr\Http\Message\UriInterface::getPort` may return null +or the standard port. This method can be used independently of the implementation. + +### `GuzzleHttp\Psr7\Uri::composeComponents` + +`public static function composeComponents($scheme, $authority, $path, $query, $fragment): string` + +Composes a URI reference string from its various components according to +[RFC 3986 Section 5.3](https://tools.ietf.org/html/rfc3986#section-5.3). Usually this method does not need to be called +manually but instead is used indirectly via `Psr\Http\Message\UriInterface::__toString`. + +### `GuzzleHttp\Psr7\Uri::fromParts` + +`public static function fromParts(array $parts): UriInterface` + +Creates a URI from a hash of [`parse_url`](http://php.net/manual/en/function.parse-url.php) components. + + +### `GuzzleHttp\Psr7\Uri::withQueryValue` + +`public static function withQueryValue(UriInterface $uri, $key, $value): UriInterface` + +Creates a new URI with a specific query string value. Any existing query string values that exactly match the +provided key are removed and replaced with the given key value pair. A value of null will set the query string +key without a value, e.g. "key" instead of "key=value". + + +### `GuzzleHttp\Psr7\Uri::withoutQueryValue` + +`public static function withoutQueryValue(UriInterface $uri, $key): UriInterface` + +Creates a new URI with a specific query string value removed. Any existing query string values that exactly match the +provided key are removed. + +## Reference Resolution + +`GuzzleHttp\Psr7\UriResolver` provides methods to resolve a URI reference in the context of a base URI according +to [RFC 3986 Section 5](https://tools.ietf.org/html/rfc3986#section-5). This is for example also what web browsers +do when resolving a link in a website based on the current request URI. + +### `GuzzleHttp\Psr7\UriResolver::resolve` + +`public static function resolve(UriInterface $base, UriInterface $rel): UriInterface` + +Converts the relative URI into a new URI that is resolved against the base URI. + +### `GuzzleHttp\Psr7\UriResolver::removeDotSegments` + +`public static function removeDotSegments(string $path): string` + +Removes dot segments from a path and returns the new path according to +[RFC 3986 Section 5.2.4](https://tools.ietf.org/html/rfc3986#section-5.2.4). + +### `GuzzleHttp\Psr7\UriResolver::relativize` + +`public static function relativize(UriInterface $base, UriInterface $target): UriInterface` + +Returns the target URI as a relative reference from the base URI. This method is the counterpart to resolve(): + +```php +(string) $target === (string) UriResolver::resolve($base, UriResolver::relativize($base, $target)) +``` + +One use-case is to use the current request URI as base URI and then generate relative links in your documents +to reduce the document size or offer self-contained downloadable document archives. + +```php +$base = new Uri('http://example.com/a/b/'); +echo UriResolver::relativize($base, new Uri('http://example.com/a/b/c')); // prints 'c'. +echo UriResolver::relativize($base, new Uri('http://example.com/a/x/y')); // prints '../x/y'. +echo UriResolver::relativize($base, new Uri('http://example.com/a/b/?q')); // prints '?q'. +echo UriResolver::relativize($base, new Uri('http://example.org/a/b/')); // prints '//example.org/a/b/'. +``` + +## Normalization and Comparison + +`GuzzleHttp\Psr7\UriNormalizer` provides methods to normalize and compare URIs according to +[RFC 3986 Section 6](https://tools.ietf.org/html/rfc3986#section-6). + +### `GuzzleHttp\Psr7\UriNormalizer::normalize` + +`public static function normalize(UriInterface $uri, $flags = self::PRESERVING_NORMALIZATIONS): UriInterface` + +Returns a normalized URI. The scheme and host component are already normalized to lowercase per PSR-7 UriInterface. +This methods adds additional normalizations that can be configured with the `$flags` parameter which is a bitmask +of normalizations to apply. The following normalizations are available: + +- `UriNormalizer::PRESERVING_NORMALIZATIONS` + + Default normalizations which only include the ones that preserve semantics. + +- `UriNormalizer::CAPITALIZE_PERCENT_ENCODING` + + All letters within a percent-encoding triplet (e.g., "%3A") are case-insensitive, and should be capitalized. + + Example: `http://example.org/a%c2%b1b` → `http://example.org/a%C2%B1b` + +- `UriNormalizer::DECODE_UNRESERVED_CHARACTERS` + + Decodes percent-encoded octets of unreserved characters. For consistency, percent-encoded octets in the ranges of + ALPHA (%41–%5A and %61–%7A), DIGIT (%30–%39), hyphen (%2D), period (%2E), underscore (%5F), or tilde (%7E) should + not be created by URI producers and, when found in a URI, should be decoded to their corresponding unreserved + characters by URI normalizers. + + Example: `http://example.org/%7Eusern%61me/` → `http://example.org/~username/` + +- `UriNormalizer::CONVERT_EMPTY_PATH` + + Converts the empty path to "/" for http and https URIs. + + Example: `http://example.org` → `http://example.org/` + +- `UriNormalizer::REMOVE_DEFAULT_HOST` + + Removes the default host of the given URI scheme from the URI. Only the "file" scheme defines the default host + "localhost". All of `file:/myfile`, `file:///myfile`, and `file://localhost/myfile` are equivalent according to + RFC 3986. + + Example: `file://localhost/myfile` → `file:///myfile` + +- `UriNormalizer::REMOVE_DEFAULT_PORT` + + Removes the default port of the given URI scheme from the URI. + + Example: `http://example.org:80/` → `http://example.org/` + +- `UriNormalizer::REMOVE_DOT_SEGMENTS` + + Removes unnecessary dot-segments. Dot-segments in relative-path references are not removed as it would + change the semantics of the URI reference. + + Example: `http://example.org/../a/b/../c/./d.html` → `http://example.org/a/c/d.html` + +- `UriNormalizer::REMOVE_DUPLICATE_SLASHES` + + Paths which include two or more adjacent slashes are converted to one. Webservers usually ignore duplicate slashes + and treat those URIs equivalent. But in theory those URIs do not need to be equivalent. So this normalization + may change the semantics. Encoded slashes (%2F) are not removed. + + Example: `http://example.org//foo///bar.html` → `http://example.org/foo/bar.html` + +- `UriNormalizer::SORT_QUERY_PARAMETERS` + + Sort query parameters with their values in alphabetical order. However, the order of parameters in a URI may be + significant (this is not defined by the standard). So this normalization is not safe and may change the semantics + of the URI. + + Example: `?lang=en&article=fred` → `?article=fred&lang=en` + +### `GuzzleHttp\Psr7\UriNormalizer::isEquivalent` + +`public static function isEquivalent(UriInterface $uri1, UriInterface $uri2, $normalizations = self::PRESERVING_NORMALIZATIONS): bool` + +Whether two URIs can be considered equivalent. Both URIs are normalized automatically before comparison with the given +`$normalizations` bitmask. The method also accepts relative URI references and returns true when they are equivalent. +This of course assumes they will be resolved against the same base URI. If this is not the case, determination of +equivalence or difference of relative references does not mean anything. diff --git a/vendor/guzzlehttp/psr7/composer.json b/vendor/guzzlehttp/psr7/composer.json new file mode 100644 index 00000000..b1c5a90b --- /dev/null +++ b/vendor/guzzlehttp/psr7/composer.json @@ -0,0 +1,39 @@ +{ + "name": "guzzlehttp/psr7", + "type": "library", + "description": "PSR-7 message implementation that also provides common utility methods", + "keywords": ["request", "response", "message", "stream", "http", "uri", "url"], + "license": "MIT", + "authors": [ + { + "name": "Michael Dowling", + "email": "mtdowling@gmail.com", + "homepage": "https://github.com/mtdowling" + }, + { + "name": "Tobias Schultze", + "homepage": "https://github.com/Tobion" + } + ], + "require": { + "php": ">=5.4.0", + "psr/http-message": "~1.0" + }, + "require-dev": { + "phpunit/phpunit": "~4.0" + }, + "provide": { + "psr/http-message-implementation": "1.0" + }, + "autoload": { + "psr-4": { + "GuzzleHttp\\Psr7\\": "src/" + }, + "files": ["src/functions_include.php"] + }, + "extra": { + "branch-alias": { + "dev-master": "1.4-dev" + } + } +} diff --git a/vendor/guzzlehttp/psr7/src/AppendStream.php b/vendor/guzzlehttp/psr7/src/AppendStream.php new file mode 100644 index 00000000..23039fd7 --- /dev/null +++ b/vendor/guzzlehttp/psr7/src/AppendStream.php @@ -0,0 +1,233 @@ +addStream($stream); + } + } + + public function __toString() + { + try { + $this->rewind(); + return $this->getContents(); + } catch (\Exception $e) { + return ''; + } + } + + /** + * Add a stream to the AppendStream + * + * @param StreamInterface $stream Stream to append. Must be readable. + * + * @throws \InvalidArgumentException if the stream is not readable + */ + public function addStream(StreamInterface $stream) + { + if (!$stream->isReadable()) { + throw new \InvalidArgumentException('Each stream must be readable'); + } + + // The stream is only seekable if all streams are seekable + if (!$stream->isSeekable()) { + $this->seekable = false; + } + + $this->streams[] = $stream; + } + + public function getContents() + { + return copy_to_string($this); + } + + /** + * Closes each attached stream. + * + * {@inheritdoc} + */ + public function close() + { + $this->pos = $this->current = 0; + + foreach ($this->streams as $stream) { + $stream->close(); + } + + $this->streams = []; + } + + /** + * Detaches each attached stream + * + * {@inheritdoc} + */ + public function detach() + { + $this->close(); + $this->detached = true; + } + + public function tell() + { + return $this->pos; + } + + /** + * Tries to calculate the size by adding the size of each stream. + * + * If any of the streams do not return a valid number, then the size of the + * append stream cannot be determined and null is returned. + * + * {@inheritdoc} + */ + public function getSize() + { + $size = 0; + + foreach ($this->streams as $stream) { + $s = $stream->getSize(); + if ($s === null) { + return null; + } + $size += $s; + } + + return $size; + } + + public function eof() + { + return !$this->streams || + ($this->current >= count($this->streams) - 1 && + $this->streams[$this->current]->eof()); + } + + public function rewind() + { + $this->seek(0); + } + + /** + * Attempts to seek to the given position. Only supports SEEK_SET. + * + * {@inheritdoc} + */ + public function seek($offset, $whence = SEEK_SET) + { + if (!$this->seekable) { + throw new \RuntimeException('This AppendStream is not seekable'); + } elseif ($whence !== SEEK_SET) { + throw new \RuntimeException('The AppendStream can only seek with SEEK_SET'); + } + + $this->pos = $this->current = 0; + + // Rewind each stream + foreach ($this->streams as $i => $stream) { + try { + $stream->rewind(); + } catch (\Exception $e) { + throw new \RuntimeException('Unable to seek stream ' + . $i . ' of the AppendStream', 0, $e); + } + } + + // Seek to the actual position by reading from each stream + while ($this->pos < $offset && !$this->eof()) { + $result = $this->read(min(8096, $offset - $this->pos)); + if ($result === '') { + break; + } + } + } + + /** + * Reads from all of the appended streams until the length is met or EOF. + * + * {@inheritdoc} + */ + public function read($length) + { + $buffer = ''; + $total = count($this->streams) - 1; + $remaining = $length; + $progressToNext = false; + + while ($remaining > 0) { + + // Progress to the next stream if needed. + if ($progressToNext || $this->streams[$this->current]->eof()) { + $progressToNext = false; + if ($this->current === $total) { + break; + } + $this->current++; + } + + $result = $this->streams[$this->current]->read($remaining); + + // Using a loose comparison here to match on '', false, and null + if ($result == null) { + $progressToNext = true; + continue; + } + + $buffer .= $result; + $remaining = $length - strlen($buffer); + } + + $this->pos += strlen($buffer); + + return $buffer; + } + + public function isReadable() + { + return true; + } + + public function isWritable() + { + return false; + } + + public function isSeekable() + { + return $this->seekable; + } + + public function write($string) + { + throw new \RuntimeException('Cannot write to an AppendStream'); + } + + public function getMetadata($key = null) + { + return $key ? null : []; + } +} diff --git a/vendor/guzzlehttp/psr7/src/BufferStream.php b/vendor/guzzlehttp/psr7/src/BufferStream.php new file mode 100644 index 00000000..af4d4c22 --- /dev/null +++ b/vendor/guzzlehttp/psr7/src/BufferStream.php @@ -0,0 +1,137 @@ +hwm = $hwm; + } + + public function __toString() + { + return $this->getContents(); + } + + public function getContents() + { + $buffer = $this->buffer; + $this->buffer = ''; + + return $buffer; + } + + public function close() + { + $this->buffer = ''; + } + + public function detach() + { + $this->close(); + } + + public function getSize() + { + return strlen($this->buffer); + } + + public function isReadable() + { + return true; + } + + public function isWritable() + { + return true; + } + + public function isSeekable() + { + return false; + } + + public function rewind() + { + $this->seek(0); + } + + public function seek($offset, $whence = SEEK_SET) + { + throw new \RuntimeException('Cannot seek a BufferStream'); + } + + public function eof() + { + return strlen($this->buffer) === 0; + } + + public function tell() + { + throw new \RuntimeException('Cannot determine the position of a BufferStream'); + } + + /** + * Reads data from the buffer. + */ + public function read($length) + { + $currentLength = strlen($this->buffer); + + if ($length >= $currentLength) { + // No need to slice the buffer because we don't have enough data. + $result = $this->buffer; + $this->buffer = ''; + } else { + // Slice up the result to provide a subset of the buffer. + $result = substr($this->buffer, 0, $length); + $this->buffer = substr($this->buffer, $length); + } + + return $result; + } + + /** + * Writes data to the buffer. + */ + public function write($string) + { + $this->buffer .= $string; + + // TODO: What should happen here? + if (strlen($this->buffer) >= $this->hwm) { + return false; + } + + return strlen($string); + } + + public function getMetadata($key = null) + { + if ($key == 'hwm') { + return $this->hwm; + } + + return $key ? null : []; + } +} diff --git a/vendor/guzzlehttp/psr7/src/CachingStream.php b/vendor/guzzlehttp/psr7/src/CachingStream.php new file mode 100644 index 00000000..ed68f086 --- /dev/null +++ b/vendor/guzzlehttp/psr7/src/CachingStream.php @@ -0,0 +1,138 @@ +remoteStream = $stream; + $this->stream = $target ?: new Stream(fopen('php://temp', 'r+')); + } + + public function getSize() + { + return max($this->stream->getSize(), $this->remoteStream->getSize()); + } + + public function rewind() + { + $this->seek(0); + } + + public function seek($offset, $whence = SEEK_SET) + { + if ($whence == SEEK_SET) { + $byte = $offset; + } elseif ($whence == SEEK_CUR) { + $byte = $offset + $this->tell(); + } elseif ($whence == SEEK_END) { + $size = $this->remoteStream->getSize(); + if ($size === null) { + $size = $this->cacheEntireStream(); + } + $byte = $size + $offset; + } else { + throw new \InvalidArgumentException('Invalid whence'); + } + + $diff = $byte - $this->stream->getSize(); + + if ($diff > 0) { + // Read the remoteStream until we have read in at least the amount + // of bytes requested, or we reach the end of the file. + while ($diff > 0 && !$this->remoteStream->eof()) { + $this->read($diff); + $diff = $byte - $this->stream->getSize(); + } + } else { + // We can just do a normal seek since we've already seen this byte. + $this->stream->seek($byte); + } + } + + public function read($length) + { + // Perform a regular read on any previously read data from the buffer + $data = $this->stream->read($length); + $remaining = $length - strlen($data); + + // More data was requested so read from the remote stream + if ($remaining) { + // If data was written to the buffer in a position that would have + // been filled from the remote stream, then we must skip bytes on + // the remote stream to emulate overwriting bytes from that + // position. This mimics the behavior of other PHP stream wrappers. + $remoteData = $this->remoteStream->read( + $remaining + $this->skipReadBytes + ); + + if ($this->skipReadBytes) { + $len = strlen($remoteData); + $remoteData = substr($remoteData, $this->skipReadBytes); + $this->skipReadBytes = max(0, $this->skipReadBytes - $len); + } + + $data .= $remoteData; + $this->stream->write($remoteData); + } + + return $data; + } + + public function write($string) + { + // When appending to the end of the currently read stream, you'll want + // to skip bytes from being read from the remote stream to emulate + // other stream wrappers. Basically replacing bytes of data of a fixed + // length. + $overflow = (strlen($string) + $this->tell()) - $this->remoteStream->tell(); + if ($overflow > 0) { + $this->skipReadBytes += $overflow; + } + + return $this->stream->write($string); + } + + public function eof() + { + return $this->stream->eof() && $this->remoteStream->eof(); + } + + /** + * Close both the remote stream and buffer stream + */ + public function close() + { + $this->remoteStream->close() && $this->stream->close(); + } + + private function cacheEntireStream() + { + $target = new FnStream(['write' => 'strlen']); + copy_to_stream($this, $target); + + return $this->tell(); + } +} diff --git a/vendor/guzzlehttp/psr7/src/DroppingStream.php b/vendor/guzzlehttp/psr7/src/DroppingStream.php new file mode 100644 index 00000000..8935c80d --- /dev/null +++ b/vendor/guzzlehttp/psr7/src/DroppingStream.php @@ -0,0 +1,42 @@ +stream = $stream; + $this->maxLength = $maxLength; + } + + public function write($string) + { + $diff = $this->maxLength - $this->stream->getSize(); + + // Begin returning 0 when the underlying stream is too large. + if ($diff <= 0) { + return 0; + } + + // Write the stream or a subset of the stream if needed. + if (strlen($string) < $diff) { + return $this->stream->write($string); + } + + return $this->stream->write(substr($string, 0, $diff)); + } +} diff --git a/vendor/guzzlehttp/psr7/src/FnStream.php b/vendor/guzzlehttp/psr7/src/FnStream.php new file mode 100644 index 00000000..cc9b4453 --- /dev/null +++ b/vendor/guzzlehttp/psr7/src/FnStream.php @@ -0,0 +1,149 @@ +methods = $methods; + + // Create the functions on the class + foreach ($methods as $name => $fn) { + $this->{'_fn_' . $name} = $fn; + } + } + + /** + * Lazily determine which methods are not implemented. + * @throws \BadMethodCallException + */ + public function __get($name) + { + throw new \BadMethodCallException(str_replace('_fn_', '', $name) + . '() is not implemented in the FnStream'); + } + + /** + * The close method is called on the underlying stream only if possible. + */ + public function __destruct() + { + if (isset($this->_fn_close)) { + call_user_func($this->_fn_close); + } + } + + /** + * Adds custom functionality to an underlying stream by intercepting + * specific method calls. + * + * @param StreamInterface $stream Stream to decorate + * @param array $methods Hash of method name to a closure + * + * @return FnStream + */ + public static function decorate(StreamInterface $stream, array $methods) + { + // If any of the required methods were not provided, then simply + // proxy to the decorated stream. + foreach (array_diff(self::$slots, array_keys($methods)) as $diff) { + $methods[$diff] = [$stream, $diff]; + } + + return new self($methods); + } + + public function __toString() + { + return call_user_func($this->_fn___toString); + } + + public function close() + { + return call_user_func($this->_fn_close); + } + + public function detach() + { + return call_user_func($this->_fn_detach); + } + + public function getSize() + { + return call_user_func($this->_fn_getSize); + } + + public function tell() + { + return call_user_func($this->_fn_tell); + } + + public function eof() + { + return call_user_func($this->_fn_eof); + } + + public function isSeekable() + { + return call_user_func($this->_fn_isSeekable); + } + + public function rewind() + { + call_user_func($this->_fn_rewind); + } + + public function seek($offset, $whence = SEEK_SET) + { + call_user_func($this->_fn_seek, $offset, $whence); + } + + public function isWritable() + { + return call_user_func($this->_fn_isWritable); + } + + public function write($string) + { + return call_user_func($this->_fn_write, $string); + } + + public function isReadable() + { + return call_user_func($this->_fn_isReadable); + } + + public function read($length) + { + return call_user_func($this->_fn_read, $length); + } + + public function getContents() + { + return call_user_func($this->_fn_getContents); + } + + public function getMetadata($key = null) + { + return call_user_func($this->_fn_getMetadata, $key); + } +} diff --git a/vendor/guzzlehttp/psr7/src/InflateStream.php b/vendor/guzzlehttp/psr7/src/InflateStream.php new file mode 100644 index 00000000..0051d3fe --- /dev/null +++ b/vendor/guzzlehttp/psr7/src/InflateStream.php @@ -0,0 +1,52 @@ +read(10); + $filenameHeaderLength = $this->getLengthOfPossibleFilenameHeader($stream, $header); + // Skip the header, that is 10 + length of filename + 1 (nil) bytes + $stream = new LimitStream($stream, -1, 10 + $filenameHeaderLength); + $resource = StreamWrapper::getResource($stream); + stream_filter_append($resource, 'zlib.inflate', STREAM_FILTER_READ); + $this->stream = new Stream($resource); + } + + /** + * @param StreamInterface $stream + * @param $header + * @return int + */ + private function getLengthOfPossibleFilenameHeader(StreamInterface $stream, $header) + { + $filename_header_length = 0; + + if (substr(bin2hex($header), 6, 2) === '08') { + // we have a filename, read until nil + $filename_header_length = 1; + while ($stream->read(1) !== chr(0)) { + $filename_header_length++; + } + } + + return $filename_header_length; + } +} diff --git a/vendor/guzzlehttp/psr7/src/LazyOpenStream.php b/vendor/guzzlehttp/psr7/src/LazyOpenStream.php new file mode 100644 index 00000000..02cec3af --- /dev/null +++ b/vendor/guzzlehttp/psr7/src/LazyOpenStream.php @@ -0,0 +1,39 @@ +filename = $filename; + $this->mode = $mode; + } + + /** + * Creates the underlying stream lazily when required. + * + * @return StreamInterface + */ + protected function createStream() + { + return stream_for(try_fopen($this->filename, $this->mode)); + } +} diff --git a/vendor/guzzlehttp/psr7/src/LimitStream.php b/vendor/guzzlehttp/psr7/src/LimitStream.php new file mode 100644 index 00000000..3c13d4f4 --- /dev/null +++ b/vendor/guzzlehttp/psr7/src/LimitStream.php @@ -0,0 +1,155 @@ +stream = $stream; + $this->setLimit($limit); + $this->setOffset($offset); + } + + public function eof() + { + // Always return true if the underlying stream is EOF + if ($this->stream->eof()) { + return true; + } + + // No limit and the underlying stream is not at EOF + if ($this->limit == -1) { + return false; + } + + return $this->stream->tell() >= $this->offset + $this->limit; + } + + /** + * Returns the size of the limited subset of data + * {@inheritdoc} + */ + public function getSize() + { + if (null === ($length = $this->stream->getSize())) { + return null; + } elseif ($this->limit == -1) { + return $length - $this->offset; + } else { + return min($this->limit, $length - $this->offset); + } + } + + /** + * Allow for a bounded seek on the read limited stream + * {@inheritdoc} + */ + public function seek($offset, $whence = SEEK_SET) + { + if ($whence !== SEEK_SET || $offset < 0) { + throw new \RuntimeException(sprintf( + 'Cannot seek to offset % with whence %s', + $offset, + $whence + )); + } + + $offset += $this->offset; + + if ($this->limit !== -1) { + if ($offset > $this->offset + $this->limit) { + $offset = $this->offset + $this->limit; + } + } + + $this->stream->seek($offset); + } + + /** + * Give a relative tell() + * {@inheritdoc} + */ + public function tell() + { + return $this->stream->tell() - $this->offset; + } + + /** + * Set the offset to start limiting from + * + * @param int $offset Offset to seek to and begin byte limiting from + * + * @throws \RuntimeException if the stream cannot be seeked. + */ + public function setOffset($offset) + { + $current = $this->stream->tell(); + + if ($current !== $offset) { + // If the stream cannot seek to the offset position, then read to it + if ($this->stream->isSeekable()) { + $this->stream->seek($offset); + } elseif ($current > $offset) { + throw new \RuntimeException("Could not seek to stream offset $offset"); + } else { + $this->stream->read($offset - $current); + } + } + + $this->offset = $offset; + } + + /** + * Set the limit of bytes that the decorator allows to be read from the + * stream. + * + * @param int $limit Number of bytes to allow to be read from the stream. + * Use -1 for no limit. + */ + public function setLimit($limit) + { + $this->limit = $limit; + } + + public function read($length) + { + if ($this->limit == -1) { + return $this->stream->read($length); + } + + // Check if the current position is less than the total allowed + // bytes + original offset + $remaining = ($this->offset + $this->limit) - $this->stream->tell(); + if ($remaining > 0) { + // Only return the amount of requested data, ensuring that the byte + // limit is not exceeded + return $this->stream->read(min($remaining, $length)); + } + + return ''; + } +} diff --git a/vendor/guzzlehttp/psr7/src/MessageTrait.php b/vendor/guzzlehttp/psr7/src/MessageTrait.php new file mode 100644 index 00000000..1e4da649 --- /dev/null +++ b/vendor/guzzlehttp/psr7/src/MessageTrait.php @@ -0,0 +1,183 @@ + array of values */ + private $headers = []; + + /** @var array Map of lowercase header name => original name at registration */ + private $headerNames = []; + + /** @var string */ + private $protocol = '1.1'; + + /** @var StreamInterface */ + private $stream; + + public function getProtocolVersion() + { + return $this->protocol; + } + + public function withProtocolVersion($version) + { + if ($this->protocol === $version) { + return $this; + } + + $new = clone $this; + $new->protocol = $version; + return $new; + } + + public function getHeaders() + { + return $this->headers; + } + + public function hasHeader($header) + { + return isset($this->headerNames[strtolower($header)]); + } + + public function getHeader($header) + { + $header = strtolower($header); + + if (!isset($this->headerNames[$header])) { + return []; + } + + $header = $this->headerNames[$header]; + + return $this->headers[$header]; + } + + public function getHeaderLine($header) + { + return implode(', ', $this->getHeader($header)); + } + + public function withHeader($header, $value) + { + if (!is_array($value)) { + $value = [$value]; + } + + $value = $this->trimHeaderValues($value); + $normalized = strtolower($header); + + $new = clone $this; + if (isset($new->headerNames[$normalized])) { + unset($new->headers[$new->headerNames[$normalized]]); + } + $new->headerNames[$normalized] = $header; + $new->headers[$header] = $value; + + return $new; + } + + public function withAddedHeader($header, $value) + { + if (!is_array($value)) { + $value = [$value]; + } + + $value = $this->trimHeaderValues($value); + $normalized = strtolower($header); + + $new = clone $this; + if (isset($new->headerNames[$normalized])) { + $header = $this->headerNames[$normalized]; + $new->headers[$header] = array_merge($this->headers[$header], $value); + } else { + $new->headerNames[$normalized] = $header; + $new->headers[$header] = $value; + } + + return $new; + } + + public function withoutHeader($header) + { + $normalized = strtolower($header); + + if (!isset($this->headerNames[$normalized])) { + return $this; + } + + $header = $this->headerNames[$normalized]; + + $new = clone $this; + unset($new->headers[$header], $new->headerNames[$normalized]); + + return $new; + } + + public function getBody() + { + if (!$this->stream) { + $this->stream = stream_for(''); + } + + return $this->stream; + } + + public function withBody(StreamInterface $body) + { + if ($body === $this->stream) { + return $this; + } + + $new = clone $this; + $new->stream = $body; + return $new; + } + + private function setHeaders(array $headers) + { + $this->headerNames = $this->headers = []; + foreach ($headers as $header => $value) { + if (!is_array($value)) { + $value = [$value]; + } + + $value = $this->trimHeaderValues($value); + $normalized = strtolower($header); + if (isset($this->headerNames[$normalized])) { + $header = $this->headerNames[$normalized]; + $this->headers[$header] = array_merge($this->headers[$header], $value); + } else { + $this->headerNames[$normalized] = $header; + $this->headers[$header] = $value; + } + } + } + + /** + * Trims whitespace from the header values. + * + * Spaces and tabs ought to be excluded by parsers when extracting the field value from a header field. + * + * header-field = field-name ":" OWS field-value OWS + * OWS = *( SP / HTAB ) + * + * @param string[] $values Header values + * + * @return string[] Trimmed header values + * + * @see https://tools.ietf.org/html/rfc7230#section-3.2.4 + */ + private function trimHeaderValues(array $values) + { + return array_map(function ($value) { + return trim($value, " \t"); + }, $values); + } +} diff --git a/vendor/guzzlehttp/psr7/src/MultipartStream.php b/vendor/guzzlehttp/psr7/src/MultipartStream.php new file mode 100644 index 00000000..c0fd584f --- /dev/null +++ b/vendor/guzzlehttp/psr7/src/MultipartStream.php @@ -0,0 +1,153 @@ +boundary = $boundary ?: sha1(uniqid('', true)); + $this->stream = $this->createStream($elements); + } + + /** + * Get the boundary + * + * @return string + */ + public function getBoundary() + { + return $this->boundary; + } + + public function isWritable() + { + return false; + } + + /** + * Get the headers needed before transferring the content of a POST file + */ + private function getHeaders(array $headers) + { + $str = ''; + foreach ($headers as $key => $value) { + $str .= "{$key}: {$value}\r\n"; + } + + return "--{$this->boundary}\r\n" . trim($str) . "\r\n\r\n"; + } + + /** + * Create the aggregate stream that will be used to upload the POST data + */ + protected function createStream(array $elements) + { + $stream = new AppendStream(); + + foreach ($elements as $element) { + $this->addElement($stream, $element); + } + + // Add the trailing boundary with CRLF + $stream->addStream(stream_for("--{$this->boundary}--\r\n")); + + return $stream; + } + + private function addElement(AppendStream $stream, array $element) + { + foreach (['contents', 'name'] as $key) { + if (!array_key_exists($key, $element)) { + throw new \InvalidArgumentException("A '{$key}' key is required"); + } + } + + $element['contents'] = stream_for($element['contents']); + + if (empty($element['filename'])) { + $uri = $element['contents']->getMetadata('uri'); + if (substr($uri, 0, 6) !== 'php://') { + $element['filename'] = $uri; + } + } + + list($body, $headers) = $this->createElement( + $element['name'], + $element['contents'], + isset($element['filename']) ? $element['filename'] : null, + isset($element['headers']) ? $element['headers'] : [] + ); + + $stream->addStream(stream_for($this->getHeaders($headers))); + $stream->addStream($body); + $stream->addStream(stream_for("\r\n")); + } + + /** + * @return array + */ + private function createElement($name, StreamInterface $stream, $filename, array $headers) + { + // Set a default content-disposition header if one was no provided + $disposition = $this->getHeader($headers, 'content-disposition'); + if (!$disposition) { + $headers['Content-Disposition'] = ($filename === '0' || $filename) + ? sprintf('form-data; name="%s"; filename="%s"', + $name, + basename($filename)) + : "form-data; name=\"{$name}\""; + } + + // Set a default content-length header if one was no provided + $length = $this->getHeader($headers, 'content-length'); + if (!$length) { + if ($length = $stream->getSize()) { + $headers['Content-Length'] = (string) $length; + } + } + + // Set a default Content-Type if one was not supplied + $type = $this->getHeader($headers, 'content-type'); + if (!$type && ($filename === '0' || $filename)) { + if ($type = mimetype_from_filename($filename)) { + $headers['Content-Type'] = $type; + } + } + + return [$stream, $headers]; + } + + private function getHeader(array $headers, $key) + { + $lowercaseHeader = strtolower($key); + foreach ($headers as $k => $v) { + if (strtolower($k) === $lowercaseHeader) { + return $v; + } + } + + return null; + } +} diff --git a/vendor/guzzlehttp/psr7/src/NoSeekStream.php b/vendor/guzzlehttp/psr7/src/NoSeekStream.php new file mode 100644 index 00000000..23322180 --- /dev/null +++ b/vendor/guzzlehttp/psr7/src/NoSeekStream.php @@ -0,0 +1,22 @@ +source = $source; + $this->size = isset($options['size']) ? $options['size'] : null; + $this->metadata = isset($options['metadata']) ? $options['metadata'] : []; + $this->buffer = new BufferStream(); + } + + public function __toString() + { + try { + return copy_to_string($this); + } catch (\Exception $e) { + return ''; + } + } + + public function close() + { + $this->detach(); + } + + public function detach() + { + $this->tellPos = false; + $this->source = null; + } + + public function getSize() + { + return $this->size; + } + + public function tell() + { + return $this->tellPos; + } + + public function eof() + { + return !$this->source; + } + + public function isSeekable() + { + return false; + } + + public function rewind() + { + $this->seek(0); + } + + public function seek($offset, $whence = SEEK_SET) + { + throw new \RuntimeException('Cannot seek a PumpStream'); + } + + public function isWritable() + { + return false; + } + + public function write($string) + { + throw new \RuntimeException('Cannot write to a PumpStream'); + } + + public function isReadable() + { + return true; + } + + public function read($length) + { + $data = $this->buffer->read($length); + $readLen = strlen($data); + $this->tellPos += $readLen; + $remaining = $length - $readLen; + + if ($remaining) { + $this->pump($remaining); + $data .= $this->buffer->read($remaining); + $this->tellPos += strlen($data) - $readLen; + } + + return $data; + } + + public function getContents() + { + $result = ''; + while (!$this->eof()) { + $result .= $this->read(1000000); + } + + return $result; + } + + public function getMetadata($key = null) + { + if (!$key) { + return $this->metadata; + } + + return isset($this->metadata[$key]) ? $this->metadata[$key] : null; + } + + private function pump($length) + { + if ($this->source) { + do { + $data = call_user_func($this->source, $length); + if ($data === false || $data === null) { + $this->source = null; + return; + } + $this->buffer->write($data); + $length -= strlen($data); + } while ($length > 0); + } + } +} diff --git a/vendor/guzzlehttp/psr7/src/Request.php b/vendor/guzzlehttp/psr7/src/Request.php new file mode 100644 index 00000000..08285484 --- /dev/null +++ b/vendor/guzzlehttp/psr7/src/Request.php @@ -0,0 +1,142 @@ +method = strtoupper($method); + $this->uri = $uri; + $this->setHeaders($headers); + $this->protocol = $version; + + if (!$this->hasHeader('Host')) { + $this->updateHostFromUri(); + } + + if ($body !== '' && $body !== null) { + $this->stream = stream_for($body); + } + } + + public function getRequestTarget() + { + if ($this->requestTarget !== null) { + return $this->requestTarget; + } + + $target = $this->uri->getPath(); + if ($target == '') { + $target = '/'; + } + if ($this->uri->getQuery() != '') { + $target .= '?' . $this->uri->getQuery(); + } + + return $target; + } + + public function withRequestTarget($requestTarget) + { + if (preg_match('#\s#', $requestTarget)) { + throw new InvalidArgumentException( + 'Invalid request target provided; cannot contain whitespace' + ); + } + + $new = clone $this; + $new->requestTarget = $requestTarget; + return $new; + } + + public function getMethod() + { + return $this->method; + } + + public function withMethod($method) + { + $new = clone $this; + $new->method = strtoupper($method); + return $new; + } + + public function getUri() + { + return $this->uri; + } + + public function withUri(UriInterface $uri, $preserveHost = false) + { + if ($uri === $this->uri) { + return $this; + } + + $new = clone $this; + $new->uri = $uri; + + if (!$preserveHost) { + $new->updateHostFromUri(); + } + + return $new; + } + + private function updateHostFromUri() + { + $host = $this->uri->getHost(); + + if ($host == '') { + return; + } + + if (($port = $this->uri->getPort()) !== null) { + $host .= ':' . $port; + } + + if (isset($this->headerNames['host'])) { + $header = $this->headerNames['host']; + } else { + $header = 'Host'; + $this->headerNames['host'] = 'Host'; + } + // Ensure Host is the first header. + // See: http://tools.ietf.org/html/rfc7230#section-5.4 + $this->headers = [$header => [$host]] + $this->headers; + } +} diff --git a/vendor/guzzlehttp/psr7/src/Response.php b/vendor/guzzlehttp/psr7/src/Response.php new file mode 100644 index 00000000..2830c6c9 --- /dev/null +++ b/vendor/guzzlehttp/psr7/src/Response.php @@ -0,0 +1,132 @@ + 'Continue', + 101 => 'Switching Protocols', + 102 => 'Processing', + 200 => 'OK', + 201 => 'Created', + 202 => 'Accepted', + 203 => 'Non-Authoritative Information', + 204 => 'No Content', + 205 => 'Reset Content', + 206 => 'Partial Content', + 207 => 'Multi-status', + 208 => 'Already Reported', + 300 => 'Multiple Choices', + 301 => 'Moved Permanently', + 302 => 'Found', + 303 => 'See Other', + 304 => 'Not Modified', + 305 => 'Use Proxy', + 306 => 'Switch Proxy', + 307 => 'Temporary Redirect', + 400 => 'Bad Request', + 401 => 'Unauthorized', + 402 => 'Payment Required', + 403 => 'Forbidden', + 404 => 'Not Found', + 405 => 'Method Not Allowed', + 406 => 'Not Acceptable', + 407 => 'Proxy Authentication Required', + 408 => 'Request Time-out', + 409 => 'Conflict', + 410 => 'Gone', + 411 => 'Length Required', + 412 => 'Precondition Failed', + 413 => 'Request Entity Too Large', + 414 => 'Request-URI Too Large', + 415 => 'Unsupported Media Type', + 416 => 'Requested range not satisfiable', + 417 => 'Expectation Failed', + 418 => 'I\'m a teapot', + 422 => 'Unprocessable Entity', + 423 => 'Locked', + 424 => 'Failed Dependency', + 425 => 'Unordered Collection', + 426 => 'Upgrade Required', + 428 => 'Precondition Required', + 429 => 'Too Many Requests', + 431 => 'Request Header Fields Too Large', + 451 => 'Unavailable For Legal Reasons', + 500 => 'Internal Server Error', + 501 => 'Not Implemented', + 502 => 'Bad Gateway', + 503 => 'Service Unavailable', + 504 => 'Gateway Time-out', + 505 => 'HTTP Version not supported', + 506 => 'Variant Also Negotiates', + 507 => 'Insufficient Storage', + 508 => 'Loop Detected', + 511 => 'Network Authentication Required', + ]; + + /** @var string */ + private $reasonPhrase = ''; + + /** @var int */ + private $statusCode = 200; + + /** + * @param int $status Status code + * @param array $headers Response headers + * @param string|null|resource|StreamInterface $body Response body + * @param string $version Protocol version + * @param string|null $reason Reason phrase (when empty a default will be used based on the status code) + */ + public function __construct( + $status = 200, + array $headers = [], + $body = null, + $version = '1.1', + $reason = null + ) { + $this->statusCode = (int) $status; + + if ($body !== '' && $body !== null) { + $this->stream = stream_for($body); + } + + $this->setHeaders($headers); + if ($reason == '' && isset(self::$phrases[$this->statusCode])) { + $this->reasonPhrase = self::$phrases[$this->statusCode]; + } else { + $this->reasonPhrase = (string) $reason; + } + + $this->protocol = $version; + } + + public function getStatusCode() + { + return $this->statusCode; + } + + public function getReasonPhrase() + { + return $this->reasonPhrase; + } + + public function withStatus($code, $reasonPhrase = '') + { + $new = clone $this; + $new->statusCode = (int) $code; + if ($reasonPhrase == '' && isset(self::$phrases[$new->statusCode])) { + $reasonPhrase = self::$phrases[$new->statusCode]; + } + $new->reasonPhrase = $reasonPhrase; + return $new; + } +} diff --git a/vendor/guzzlehttp/psr7/src/ServerRequest.php b/vendor/guzzlehttp/psr7/src/ServerRequest.php new file mode 100644 index 00000000..575aab84 --- /dev/null +++ b/vendor/guzzlehttp/psr7/src/ServerRequest.php @@ -0,0 +1,358 @@ +serverParams = $serverParams; + + parent::__construct($method, $uri, $headers, $body, $version); + } + + /** + * Return an UploadedFile instance array. + * + * @param array $files A array which respect $_FILES structure + * @throws InvalidArgumentException for unrecognized values + * @return array + */ + public static function normalizeFiles(array $files) + { + $normalized = []; + + foreach ($files as $key => $value) { + if ($value instanceof UploadedFileInterface) { + $normalized[$key] = $value; + } elseif (is_array($value) && isset($value['tmp_name'])) { + $normalized[$key] = self::createUploadedFileFromSpec($value); + } elseif (is_array($value)) { + $normalized[$key] = self::normalizeFiles($value); + continue; + } else { + throw new InvalidArgumentException('Invalid value in files specification'); + } + } + + return $normalized; + } + + /** + * Create and return an UploadedFile instance from a $_FILES specification. + * + * If the specification represents an array of values, this method will + * delegate to normalizeNestedFileSpec() and return that return value. + * + * @param array $value $_FILES struct + * @return array|UploadedFileInterface + */ + private static function createUploadedFileFromSpec(array $value) + { + if (is_array($value['tmp_name'])) { + return self::normalizeNestedFileSpec($value); + } + + return new UploadedFile( + $value['tmp_name'], + (int) $value['size'], + (int) $value['error'], + $value['name'], + $value['type'] + ); + } + + /** + * Normalize an array of file specifications. + * + * Loops through all nested files and returns a normalized array of + * UploadedFileInterface instances. + * + * @param array $files + * @return UploadedFileInterface[] + */ + private static function normalizeNestedFileSpec(array $files = []) + { + $normalizedFiles = []; + + foreach (array_keys($files['tmp_name']) as $key) { + $spec = [ + 'tmp_name' => $files['tmp_name'][$key], + 'size' => $files['size'][$key], + 'error' => $files['error'][$key], + 'name' => $files['name'][$key], + 'type' => $files['type'][$key], + ]; + $normalizedFiles[$key] = self::createUploadedFileFromSpec($spec); + } + + return $normalizedFiles; + } + + /** + * Return a ServerRequest populated with superglobals: + * $_GET + * $_POST + * $_COOKIE + * $_FILES + * $_SERVER + * + * @return ServerRequestInterface + */ + public static function fromGlobals() + { + $method = isset($_SERVER['REQUEST_METHOD']) ? $_SERVER['REQUEST_METHOD'] : 'GET'; + $headers = function_exists('getallheaders') ? getallheaders() : []; + $uri = self::getUriFromGlobals(); + $body = new LazyOpenStream('php://input', 'r+'); + $protocol = isset($_SERVER['SERVER_PROTOCOL']) ? str_replace('HTTP/', '', $_SERVER['SERVER_PROTOCOL']) : '1.1'; + + $serverRequest = new ServerRequest($method, $uri, $headers, $body, $protocol, $_SERVER); + + return $serverRequest + ->withCookieParams($_COOKIE) + ->withQueryParams($_GET) + ->withParsedBody($_POST) + ->withUploadedFiles(self::normalizeFiles($_FILES)); + } + + /** + * Get a Uri populated with values from $_SERVER. + * + * @return UriInterface + */ + public static function getUriFromGlobals() { + $uri = new Uri(''); + + $uri = $uri->withScheme(!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] !== 'off' ? 'https' : 'http'); + + $hasPort = false; + if (isset($_SERVER['HTTP_HOST'])) { + $hostHeaderParts = explode(':', $_SERVER['HTTP_HOST']); + $uri = $uri->withHost($hostHeaderParts[0]); + if (isset($hostHeaderParts[1])) { + $hasPort = true; + $uri = $uri->withPort($hostHeaderParts[1]); + } + } elseif (isset($_SERVER['SERVER_NAME'])) { + $uri = $uri->withHost($_SERVER['SERVER_NAME']); + } elseif (isset($_SERVER['SERVER_ADDR'])) { + $uri = $uri->withHost($_SERVER['SERVER_ADDR']); + } + + if (!$hasPort && isset($_SERVER['SERVER_PORT'])) { + $uri = $uri->withPort($_SERVER['SERVER_PORT']); + } + + $hasQuery = false; + if (isset($_SERVER['REQUEST_URI'])) { + $requestUriParts = explode('?', $_SERVER['REQUEST_URI']); + $uri = $uri->withPath($requestUriParts[0]); + if (isset($requestUriParts[1])) { + $hasQuery = true; + $uri = $uri->withQuery($requestUriParts[1]); + } + } + + if (!$hasQuery && isset($_SERVER['QUERY_STRING'])) { + $uri = $uri->withQuery($_SERVER['QUERY_STRING']); + } + + return $uri; + } + + + /** + * {@inheritdoc} + */ + public function getServerParams() + { + return $this->serverParams; + } + + /** + * {@inheritdoc} + */ + public function getUploadedFiles() + { + return $this->uploadedFiles; + } + + /** + * {@inheritdoc} + */ + public function withUploadedFiles(array $uploadedFiles) + { + $new = clone $this; + $new->uploadedFiles = $uploadedFiles; + + return $new; + } + + /** + * {@inheritdoc} + */ + public function getCookieParams() + { + return $this->cookieParams; + } + + /** + * {@inheritdoc} + */ + public function withCookieParams(array $cookies) + { + $new = clone $this; + $new->cookieParams = $cookies; + + return $new; + } + + /** + * {@inheritdoc} + */ + public function getQueryParams() + { + return $this->queryParams; + } + + /** + * {@inheritdoc} + */ + public function withQueryParams(array $query) + { + $new = clone $this; + $new->queryParams = $query; + + return $new; + } + + /** + * {@inheritdoc} + */ + public function getParsedBody() + { + return $this->parsedBody; + } + + /** + * {@inheritdoc} + */ + public function withParsedBody($data) + { + $new = clone $this; + $new->parsedBody = $data; + + return $new; + } + + /** + * {@inheritdoc} + */ + public function getAttributes() + { + return $this->attributes; + } + + /** + * {@inheritdoc} + */ + public function getAttribute($attribute, $default = null) + { + if (false === array_key_exists($attribute, $this->attributes)) { + return $default; + } + + return $this->attributes[$attribute]; + } + + /** + * {@inheritdoc} + */ + public function withAttribute($attribute, $value) + { + $new = clone $this; + $new->attributes[$attribute] = $value; + + return $new; + } + + /** + * {@inheritdoc} + */ + public function withoutAttribute($attribute) + { + if (false === array_key_exists($attribute, $this->attributes)) { + return $this; + } + + $new = clone $this; + unset($new->attributes[$attribute]); + + return $new; + } +} diff --git a/vendor/guzzlehttp/psr7/src/Stream.php b/vendor/guzzlehttp/psr7/src/Stream.php new file mode 100644 index 00000000..e3366287 --- /dev/null +++ b/vendor/guzzlehttp/psr7/src/Stream.php @@ -0,0 +1,257 @@ + [ + 'r' => true, 'w+' => true, 'r+' => true, 'x+' => true, 'c+' => true, + 'rb' => true, 'w+b' => true, 'r+b' => true, 'x+b' => true, + 'c+b' => true, 'rt' => true, 'w+t' => true, 'r+t' => true, + 'x+t' => true, 'c+t' => true, 'a+' => true + ], + 'write' => [ + 'w' => true, 'w+' => true, 'rw' => true, 'r+' => true, 'x+' => true, + 'c+' => true, 'wb' => true, 'w+b' => true, 'r+b' => true, + 'x+b' => true, 'c+b' => true, 'w+t' => true, 'r+t' => true, + 'x+t' => true, 'c+t' => true, 'a' => true, 'a+' => true + ] + ]; + + /** + * This constructor accepts an associative array of options. + * + * - size: (int) If a read stream would otherwise have an indeterminate + * size, but the size is known due to foreknowledge, then you can + * provide that size, in bytes. + * - metadata: (array) Any additional metadata to return when the metadata + * of the stream is accessed. + * + * @param resource $stream Stream resource to wrap. + * @param array $options Associative array of options. + * + * @throws \InvalidArgumentException if the stream is not a stream resource + */ + public function __construct($stream, $options = []) + { + if (!is_resource($stream)) { + throw new \InvalidArgumentException('Stream must be a resource'); + } + + if (isset($options['size'])) { + $this->size = $options['size']; + } + + $this->customMetadata = isset($options['metadata']) + ? $options['metadata'] + : []; + + $this->stream = $stream; + $meta = stream_get_meta_data($this->stream); + $this->seekable = $meta['seekable']; + $this->readable = isset(self::$readWriteHash['read'][$meta['mode']]); + $this->writable = isset(self::$readWriteHash['write'][$meta['mode']]); + $this->uri = $this->getMetadata('uri'); + } + + public function __get($name) + { + if ($name == 'stream') { + throw new \RuntimeException('The stream is detached'); + } + + throw new \BadMethodCallException('No value for ' . $name); + } + + /** + * Closes the stream when the destructed + */ + public function __destruct() + { + $this->close(); + } + + public function __toString() + { + try { + $this->seek(0); + return (string) stream_get_contents($this->stream); + } catch (\Exception $e) { + return ''; + } + } + + public function getContents() + { + $contents = stream_get_contents($this->stream); + + if ($contents === false) { + throw new \RuntimeException('Unable to read stream contents'); + } + + return $contents; + } + + public function close() + { + if (isset($this->stream)) { + if (is_resource($this->stream)) { + fclose($this->stream); + } + $this->detach(); + } + } + + public function detach() + { + if (!isset($this->stream)) { + return null; + } + + $result = $this->stream; + unset($this->stream); + $this->size = $this->uri = null; + $this->readable = $this->writable = $this->seekable = false; + + return $result; + } + + public function getSize() + { + if ($this->size !== null) { + return $this->size; + } + + if (!isset($this->stream)) { + return null; + } + + // Clear the stat cache if the stream has a URI + if ($this->uri) { + clearstatcache(true, $this->uri); + } + + $stats = fstat($this->stream); + if (isset($stats['size'])) { + $this->size = $stats['size']; + return $this->size; + } + + return null; + } + + public function isReadable() + { + return $this->readable; + } + + public function isWritable() + { + return $this->writable; + } + + public function isSeekable() + { + return $this->seekable; + } + + public function eof() + { + return !$this->stream || feof($this->stream); + } + + public function tell() + { + $result = ftell($this->stream); + + if ($result === false) { + throw new \RuntimeException('Unable to determine stream position'); + } + + return $result; + } + + public function rewind() + { + $this->seek(0); + } + + public function seek($offset, $whence = SEEK_SET) + { + if (!$this->seekable) { + throw new \RuntimeException('Stream is not seekable'); + } elseif (fseek($this->stream, $offset, $whence) === -1) { + throw new \RuntimeException('Unable to seek to stream position ' + . $offset . ' with whence ' . var_export($whence, true)); + } + } + + public function read($length) + { + if (!$this->readable) { + throw new \RuntimeException('Cannot read from non-readable stream'); + } + if ($length < 0) { + throw new \RuntimeException('Length parameter cannot be negative'); + } + + if (0 === $length) { + return ''; + } + + $string = fread($this->stream, $length); + if (false === $string) { + throw new \RuntimeException('Unable to read from stream'); + } + + return $string; + } + + public function write($string) + { + if (!$this->writable) { + throw new \RuntimeException('Cannot write to a non-writable stream'); + } + + // We can't know the size after writing anything + $this->size = null; + $result = fwrite($this->stream, $string); + + if ($result === false) { + throw new \RuntimeException('Unable to write to stream'); + } + + return $result; + } + + public function getMetadata($key = null) + { + if (!isset($this->stream)) { + return $key ? null : []; + } elseif (!$key) { + return $this->customMetadata + stream_get_meta_data($this->stream); + } elseif (isset($this->customMetadata[$key])) { + return $this->customMetadata[$key]; + } + + $meta = stream_get_meta_data($this->stream); + + return isset($meta[$key]) ? $meta[$key] : null; + } +} diff --git a/vendor/guzzlehttp/psr7/src/StreamDecoratorTrait.php b/vendor/guzzlehttp/psr7/src/StreamDecoratorTrait.php new file mode 100644 index 00000000..daec6f52 --- /dev/null +++ b/vendor/guzzlehttp/psr7/src/StreamDecoratorTrait.php @@ -0,0 +1,149 @@ +stream = $stream; + } + + /** + * Magic method used to create a new stream if streams are not added in + * the constructor of a decorator (e.g., LazyOpenStream). + * + * @param string $name Name of the property (allows "stream" only). + * + * @return StreamInterface + */ + public function __get($name) + { + if ($name == 'stream') { + $this->stream = $this->createStream(); + return $this->stream; + } + + throw new \UnexpectedValueException("$name not found on class"); + } + + public function __toString() + { + try { + if ($this->isSeekable()) { + $this->seek(0); + } + return $this->getContents(); + } catch (\Exception $e) { + // Really, PHP? https://bugs.php.net/bug.php?id=53648 + trigger_error('StreamDecorator::__toString exception: ' + . (string) $e, E_USER_ERROR); + return ''; + } + } + + public function getContents() + { + return copy_to_string($this); + } + + /** + * Allow decorators to implement custom methods + * + * @param string $method Missing method name + * @param array $args Method arguments + * + * @return mixed + */ + public function __call($method, array $args) + { + $result = call_user_func_array([$this->stream, $method], $args); + + // Always return the wrapped object if the result is a return $this + return $result === $this->stream ? $this : $result; + } + + public function close() + { + $this->stream->close(); + } + + public function getMetadata($key = null) + { + return $this->stream->getMetadata($key); + } + + public function detach() + { + return $this->stream->detach(); + } + + public function getSize() + { + return $this->stream->getSize(); + } + + public function eof() + { + return $this->stream->eof(); + } + + public function tell() + { + return $this->stream->tell(); + } + + public function isReadable() + { + return $this->stream->isReadable(); + } + + public function isWritable() + { + return $this->stream->isWritable(); + } + + public function isSeekable() + { + return $this->stream->isSeekable(); + } + + public function rewind() + { + $this->seek(0); + } + + public function seek($offset, $whence = SEEK_SET) + { + $this->stream->seek($offset, $whence); + } + + public function read($length) + { + return $this->stream->read($length); + } + + public function write($string) + { + return $this->stream->write($string); + } + + /** + * Implement in subclasses to dynamically create streams when requested. + * + * @return StreamInterface + * @throws \BadMethodCallException + */ + protected function createStream() + { + throw new \BadMethodCallException('Not implemented'); + } +} diff --git a/vendor/guzzlehttp/psr7/src/StreamWrapper.php b/vendor/guzzlehttp/psr7/src/StreamWrapper.php new file mode 100644 index 00000000..cf7b2232 --- /dev/null +++ b/vendor/guzzlehttp/psr7/src/StreamWrapper.php @@ -0,0 +1,121 @@ +isReadable()) { + $mode = $stream->isWritable() ? 'r+' : 'r'; + } elseif ($stream->isWritable()) { + $mode = 'w'; + } else { + throw new \InvalidArgumentException('The stream must be readable, ' + . 'writable, or both.'); + } + + return fopen('guzzle://stream', $mode, null, stream_context_create([ + 'guzzle' => ['stream' => $stream] + ])); + } + + /** + * Registers the stream wrapper if needed + */ + public static function register() + { + if (!in_array('guzzle', stream_get_wrappers())) { + stream_wrapper_register('guzzle', __CLASS__); + } + } + + public function stream_open($path, $mode, $options, &$opened_path) + { + $options = stream_context_get_options($this->context); + + if (!isset($options['guzzle']['stream'])) { + return false; + } + + $this->mode = $mode; + $this->stream = $options['guzzle']['stream']; + + return true; + } + + public function stream_read($count) + { + return $this->stream->read($count); + } + + public function stream_write($data) + { + return (int) $this->stream->write($data); + } + + public function stream_tell() + { + return $this->stream->tell(); + } + + public function stream_eof() + { + return $this->stream->eof(); + } + + public function stream_seek($offset, $whence) + { + $this->stream->seek($offset, $whence); + + return true; + } + + public function stream_stat() + { + static $modeMap = [ + 'r' => 33060, + 'r+' => 33206, + 'w' => 33188 + ]; + + return [ + 'dev' => 0, + 'ino' => 0, + 'mode' => $modeMap[$this->mode], + 'nlink' => 0, + 'uid' => 0, + 'gid' => 0, + 'rdev' => 0, + 'size' => $this->stream->getSize() ?: 0, + 'atime' => 0, + 'mtime' => 0, + 'ctime' => 0, + 'blksize' => 0, + 'blocks' => 0 + ]; + } +} diff --git a/vendor/guzzlehttp/psr7/src/UploadedFile.php b/vendor/guzzlehttp/psr7/src/UploadedFile.php new file mode 100644 index 00000000..e62bd5c8 --- /dev/null +++ b/vendor/guzzlehttp/psr7/src/UploadedFile.php @@ -0,0 +1,316 @@ +setError($errorStatus); + $this->setSize($size); + $this->setClientFilename($clientFilename); + $this->setClientMediaType($clientMediaType); + + if ($this->isOk()) { + $this->setStreamOrFile($streamOrFile); + } + } + + /** + * Depending on the value set file or stream variable + * + * @param mixed $streamOrFile + * @throws InvalidArgumentException + */ + private function setStreamOrFile($streamOrFile) + { + if (is_string($streamOrFile)) { + $this->file = $streamOrFile; + } elseif (is_resource($streamOrFile)) { + $this->stream = new Stream($streamOrFile); + } elseif ($streamOrFile instanceof StreamInterface) { + $this->stream = $streamOrFile; + } else { + throw new InvalidArgumentException( + 'Invalid stream or file provided for UploadedFile' + ); + } + } + + /** + * @param int $error + * @throws InvalidArgumentException + */ + private function setError($error) + { + if (false === is_int($error)) { + throw new InvalidArgumentException( + 'Upload file error status must be an integer' + ); + } + + if (false === in_array($error, UploadedFile::$errors)) { + throw new InvalidArgumentException( + 'Invalid error status for UploadedFile' + ); + } + + $this->error = $error; + } + + /** + * @param int $size + * @throws InvalidArgumentException + */ + private function setSize($size) + { + if (false === is_int($size)) { + throw new InvalidArgumentException( + 'Upload file size must be an integer' + ); + } + + $this->size = $size; + } + + /** + * @param mixed $param + * @return boolean + */ + private function isStringOrNull($param) + { + return in_array(gettype($param), ['string', 'NULL']); + } + + /** + * @param mixed $param + * @return boolean + */ + private function isStringNotEmpty($param) + { + return is_string($param) && false === empty($param); + } + + /** + * @param string|null $clientFilename + * @throws InvalidArgumentException + */ + private function setClientFilename($clientFilename) + { + if (false === $this->isStringOrNull($clientFilename)) { + throw new InvalidArgumentException( + 'Upload file client filename must be a string or null' + ); + } + + $this->clientFilename = $clientFilename; + } + + /** + * @param string|null $clientMediaType + * @throws InvalidArgumentException + */ + private function setClientMediaType($clientMediaType) + { + if (false === $this->isStringOrNull($clientMediaType)) { + throw new InvalidArgumentException( + 'Upload file client media type must be a string or null' + ); + } + + $this->clientMediaType = $clientMediaType; + } + + /** + * Return true if there is no upload error + * + * @return boolean + */ + private function isOk() + { + return $this->error === UPLOAD_ERR_OK; + } + + /** + * @return boolean + */ + public function isMoved() + { + return $this->moved; + } + + /** + * @throws RuntimeException if is moved or not ok + */ + private function validateActive() + { + if (false === $this->isOk()) { + throw new RuntimeException('Cannot retrieve stream due to upload error'); + } + + if ($this->isMoved()) { + throw new RuntimeException('Cannot retrieve stream after it has already been moved'); + } + } + + /** + * {@inheritdoc} + * @throws RuntimeException if the upload was not successful. + */ + public function getStream() + { + $this->validateActive(); + + if ($this->stream instanceof StreamInterface) { + return $this->stream; + } + + return new LazyOpenStream($this->file, 'r+'); + } + + /** + * {@inheritdoc} + * + * @see http://php.net/is_uploaded_file + * @see http://php.net/move_uploaded_file + * @param string $targetPath Path to which to move the uploaded file. + * @throws RuntimeException if the upload was not successful. + * @throws InvalidArgumentException if the $path specified is invalid. + * @throws RuntimeException on any error during the move operation, or on + * the second or subsequent call to the method. + */ + public function moveTo($targetPath) + { + $this->validateActive(); + + if (false === $this->isStringNotEmpty($targetPath)) { + throw new InvalidArgumentException( + 'Invalid path provided for move operation; must be a non-empty string' + ); + } + + if ($this->file) { + $this->moved = php_sapi_name() == 'cli' + ? rename($this->file, $targetPath) + : move_uploaded_file($this->file, $targetPath); + } else { + copy_to_stream( + $this->getStream(), + new LazyOpenStream($targetPath, 'w') + ); + + $this->moved = true; + } + + if (false === $this->moved) { + throw new RuntimeException( + sprintf('Uploaded file could not be moved to %s', $targetPath) + ); + } + } + + /** + * {@inheritdoc} + * + * @return int|null The file size in bytes or null if unknown. + */ + public function getSize() + { + return $this->size; + } + + /** + * {@inheritdoc} + * + * @see http://php.net/manual/en/features.file-upload.errors.php + * @return int One of PHP's UPLOAD_ERR_XXX constants. + */ + public function getError() + { + return $this->error; + } + + /** + * {@inheritdoc} + * + * @return string|null The filename sent by the client or null if none + * was provided. + */ + public function getClientFilename() + { + return $this->clientFilename; + } + + /** + * {@inheritdoc} + */ + public function getClientMediaType() + { + return $this->clientMediaType; + } +} diff --git a/vendor/guzzlehttp/psr7/src/Uri.php b/vendor/guzzlehttp/psr7/src/Uri.php new file mode 100644 index 00000000..f46c1db9 --- /dev/null +++ b/vendor/guzzlehttp/psr7/src/Uri.php @@ -0,0 +1,702 @@ + 80, + 'https' => 443, + 'ftp' => 21, + 'gopher' => 70, + 'nntp' => 119, + 'news' => 119, + 'telnet' => 23, + 'tn3270' => 23, + 'imap' => 143, + 'pop' => 110, + 'ldap' => 389, + ]; + + private static $charUnreserved = 'a-zA-Z0-9_\-\.~'; + private static $charSubDelims = '!\$&\'\(\)\*\+,;='; + private static $replaceQuery = ['=' => '%3D', '&' => '%26']; + + /** @var string Uri scheme. */ + private $scheme = ''; + + /** @var string Uri user info. */ + private $userInfo = ''; + + /** @var string Uri host. */ + private $host = ''; + + /** @var int|null Uri port. */ + private $port; + + /** @var string Uri path. */ + private $path = ''; + + /** @var string Uri query string. */ + private $query = ''; + + /** @var string Uri fragment. */ + private $fragment = ''; + + /** + * @param string $uri URI to parse + */ + public function __construct($uri = '') + { + // weak type check to also accept null until we can add scalar type hints + if ($uri != '') { + $parts = parse_url($uri); + if ($parts === false) { + throw new \InvalidArgumentException("Unable to parse URI: $uri"); + } + $this->applyParts($parts); + } + } + + public function __toString() + { + return self::composeComponents( + $this->scheme, + $this->getAuthority(), + $this->path, + $this->query, + $this->fragment + ); + } + + /** + * Composes a URI reference string from its various components. + * + * Usually this method does not need to be called manually but instead is used indirectly via + * `Psr\Http\Message\UriInterface::__toString`. + * + * PSR-7 UriInterface treats an empty component the same as a missing component as + * getQuery(), getFragment() etc. always return a string. This explains the slight + * difference to RFC 3986 Section 5.3. + * + * Another adjustment is that the authority separator is added even when the authority is missing/empty + * for the "file" scheme. This is because PHP stream functions like `file_get_contents` only work with + * `file:///myfile` but not with `file:/myfile` although they are equivalent according to RFC 3986. But + * `file:///` is the more common syntax for the file scheme anyway (Chrome for example redirects to + * that format). + * + * @param string $scheme + * @param string $authority + * @param string $path + * @param string $query + * @param string $fragment + * + * @return string + * + * @link https://tools.ietf.org/html/rfc3986#section-5.3 + */ + public static function composeComponents($scheme, $authority, $path, $query, $fragment) + { + $uri = ''; + + // weak type checks to also accept null until we can add scalar type hints + if ($scheme != '') { + $uri .= $scheme . ':'; + } + + if ($authority != ''|| $scheme === 'file') { + $uri .= '//' . $authority; + } + + $uri .= $path; + + if ($query != '') { + $uri .= '?' . $query; + } + + if ($fragment != '') { + $uri .= '#' . $fragment; + } + + return $uri; + } + + /** + * Whether the URI has the default port of the current scheme. + * + * `Psr\Http\Message\UriInterface::getPort` may return null or the standard port. This method can be used + * independently of the implementation. + * + * @param UriInterface $uri + * + * @return bool + */ + public static function isDefaultPort(UriInterface $uri) + { + return $uri->getPort() === null + || (isset(self::$defaultPorts[$uri->getScheme()]) && $uri->getPort() === self::$defaultPorts[$uri->getScheme()]); + } + + /** + * Whether the URI is absolute, i.e. it has a scheme. + * + * An instance of UriInterface can either be an absolute URI or a relative reference. This method returns true + * if it is the former. An absolute URI has a scheme. A relative reference is used to express a URI relative + * to another URI, the base URI. Relative references can be divided into several forms: + * - network-path references, e.g. '//example.com/path' + * - absolute-path references, e.g. '/path' + * - relative-path references, e.g. 'subpath' + * + * @param UriInterface $uri + * + * @return bool + * @see Uri::isNetworkPathReference + * @see Uri::isAbsolutePathReference + * @see Uri::isRelativePathReference + * @link https://tools.ietf.org/html/rfc3986#section-4 + */ + public static function isAbsolute(UriInterface $uri) + { + return $uri->getScheme() !== ''; + } + + /** + * Whether the URI is a network-path reference. + * + * A relative reference that begins with two slash characters is termed an network-path reference. + * + * @param UriInterface $uri + * + * @return bool + * @link https://tools.ietf.org/html/rfc3986#section-4.2 + */ + public static function isNetworkPathReference(UriInterface $uri) + { + return $uri->getScheme() === '' && $uri->getAuthority() !== ''; + } + + /** + * Whether the URI is a absolute-path reference. + * + * A relative reference that begins with a single slash character is termed an absolute-path reference. + * + * @param UriInterface $uri + * + * @return bool + * @link https://tools.ietf.org/html/rfc3986#section-4.2 + */ + public static function isAbsolutePathReference(UriInterface $uri) + { + return $uri->getScheme() === '' + && $uri->getAuthority() === '' + && isset($uri->getPath()[0]) + && $uri->getPath()[0] === '/'; + } + + /** + * Whether the URI is a relative-path reference. + * + * A relative reference that does not begin with a slash character is termed a relative-path reference. + * + * @param UriInterface $uri + * + * @return bool + * @link https://tools.ietf.org/html/rfc3986#section-4.2 + */ + public static function isRelativePathReference(UriInterface $uri) + { + return $uri->getScheme() === '' + && $uri->getAuthority() === '' + && (!isset($uri->getPath()[0]) || $uri->getPath()[0] !== '/'); + } + + /** + * Whether the URI is a same-document reference. + * + * A same-document reference refers to a URI that is, aside from its fragment + * component, identical to the base URI. When no base URI is given, only an empty + * URI reference (apart from its fragment) is considered a same-document reference. + * + * @param UriInterface $uri The URI to check + * @param UriInterface|null $base An optional base URI to compare against + * + * @return bool + * @link https://tools.ietf.org/html/rfc3986#section-4.4 + */ + public static function isSameDocumentReference(UriInterface $uri, UriInterface $base = null) + { + if ($base !== null) { + $uri = UriResolver::resolve($base, $uri); + + return ($uri->getScheme() === $base->getScheme()) + && ($uri->getAuthority() === $base->getAuthority()) + && ($uri->getPath() === $base->getPath()) + && ($uri->getQuery() === $base->getQuery()); + } + + return $uri->getScheme() === '' && $uri->getAuthority() === '' && $uri->getPath() === '' && $uri->getQuery() === ''; + } + + /** + * Removes dot segments from a path and returns the new path. + * + * @param string $path + * + * @return string + * + * @deprecated since version 1.4. Use UriResolver::removeDotSegments instead. + * @see UriResolver::removeDotSegments + */ + public static function removeDotSegments($path) + { + return UriResolver::removeDotSegments($path); + } + + /** + * Converts the relative URI into a new URI that is resolved against the base URI. + * + * @param UriInterface $base Base URI + * @param string|UriInterface $rel Relative URI + * + * @return UriInterface + * + * @deprecated since version 1.4. Use UriResolver::resolve instead. + * @see UriResolver::resolve + */ + public static function resolve(UriInterface $base, $rel) + { + if (!($rel instanceof UriInterface)) { + $rel = new self($rel); + } + + return UriResolver::resolve($base, $rel); + } + + /** + * Creates a new URI with a specific query string value removed. + * + * Any existing query string values that exactly match the provided key are + * removed. + * + * @param UriInterface $uri URI to use as a base. + * @param string $key Query string key to remove. + * + * @return UriInterface + */ + public static function withoutQueryValue(UriInterface $uri, $key) + { + $current = $uri->getQuery(); + if ($current === '') { + return $uri; + } + + $decodedKey = rawurldecode($key); + $result = array_filter(explode('&', $current), function ($part) use ($decodedKey) { + return rawurldecode(explode('=', $part)[0]) !== $decodedKey; + }); + + return $uri->withQuery(implode('&', $result)); + } + + /** + * Creates a new URI with a specific query string value. + * + * Any existing query string values that exactly match the provided key are + * removed and replaced with the given key value pair. + * + * A value of null will set the query string key without a value, e.g. "key" + * instead of "key=value". + * + * @param UriInterface $uri URI to use as a base. + * @param string $key Key to set. + * @param string|null $value Value to set + * + * @return UriInterface + */ + public static function withQueryValue(UriInterface $uri, $key, $value) + { + $current = $uri->getQuery(); + + if ($current === '') { + $result = []; + } else { + $decodedKey = rawurldecode($key); + $result = array_filter(explode('&', $current), function ($part) use ($decodedKey) { + return rawurldecode(explode('=', $part)[0]) !== $decodedKey; + }); + } + + // Query string separators ("=", "&") within the key or value need to be encoded + // (while preventing double-encoding) before setting the query string. All other + // chars that need percent-encoding will be encoded by withQuery(). + $key = strtr($key, self::$replaceQuery); + + if ($value !== null) { + $result[] = $key . '=' . strtr($value, self::$replaceQuery); + } else { + $result[] = $key; + } + + return $uri->withQuery(implode('&', $result)); + } + + /** + * Creates a URI from a hash of `parse_url` components. + * + * @param array $parts + * + * @return UriInterface + * @link http://php.net/manual/en/function.parse-url.php + * + * @throws \InvalidArgumentException If the components do not form a valid URI. + */ + public static function fromParts(array $parts) + { + $uri = new self(); + $uri->applyParts($parts); + $uri->validateState(); + + return $uri; + } + + public function getScheme() + { + return $this->scheme; + } + + public function getAuthority() + { + $authority = $this->host; + if ($this->userInfo !== '') { + $authority = $this->userInfo . '@' . $authority; + } + + if ($this->port !== null) { + $authority .= ':' . $this->port; + } + + return $authority; + } + + public function getUserInfo() + { + return $this->userInfo; + } + + public function getHost() + { + return $this->host; + } + + public function getPort() + { + return $this->port; + } + + public function getPath() + { + return $this->path; + } + + public function getQuery() + { + return $this->query; + } + + public function getFragment() + { + return $this->fragment; + } + + public function withScheme($scheme) + { + $scheme = $this->filterScheme($scheme); + + if ($this->scheme === $scheme) { + return $this; + } + + $new = clone $this; + $new->scheme = $scheme; + $new->removeDefaultPort(); + $new->validateState(); + + return $new; + } + + public function withUserInfo($user, $password = null) + { + $info = $user; + if ($password != '') { + $info .= ':' . $password; + } + + if ($this->userInfo === $info) { + return $this; + } + + $new = clone $this; + $new->userInfo = $info; + $new->validateState(); + + return $new; + } + + public function withHost($host) + { + $host = $this->filterHost($host); + + if ($this->host === $host) { + return $this; + } + + $new = clone $this; + $new->host = $host; + $new->validateState(); + + return $new; + } + + public function withPort($port) + { + $port = $this->filterPort($port); + + if ($this->port === $port) { + return $this; + } + + $new = clone $this; + $new->port = $port; + $new->removeDefaultPort(); + $new->validateState(); + + return $new; + } + + public function withPath($path) + { + $path = $this->filterPath($path); + + if ($this->path === $path) { + return $this; + } + + $new = clone $this; + $new->path = $path; + $new->validateState(); + + return $new; + } + + public function withQuery($query) + { + $query = $this->filterQueryAndFragment($query); + + if ($this->query === $query) { + return $this; + } + + $new = clone $this; + $new->query = $query; + + return $new; + } + + public function withFragment($fragment) + { + $fragment = $this->filterQueryAndFragment($fragment); + + if ($this->fragment === $fragment) { + return $this; + } + + $new = clone $this; + $new->fragment = $fragment; + + return $new; + } + + /** + * Apply parse_url parts to a URI. + * + * @param array $parts Array of parse_url parts to apply. + */ + private function applyParts(array $parts) + { + $this->scheme = isset($parts['scheme']) + ? $this->filterScheme($parts['scheme']) + : ''; + $this->userInfo = isset($parts['user']) ? $parts['user'] : ''; + $this->host = isset($parts['host']) + ? $this->filterHost($parts['host']) + : ''; + $this->port = isset($parts['port']) + ? $this->filterPort($parts['port']) + : null; + $this->path = isset($parts['path']) + ? $this->filterPath($parts['path']) + : ''; + $this->query = isset($parts['query']) + ? $this->filterQueryAndFragment($parts['query']) + : ''; + $this->fragment = isset($parts['fragment']) + ? $this->filterQueryAndFragment($parts['fragment']) + : ''; + if (isset($parts['pass'])) { + $this->userInfo .= ':' . $parts['pass']; + } + + $this->removeDefaultPort(); + } + + /** + * @param string $scheme + * + * @return string + * + * @throws \InvalidArgumentException If the scheme is invalid. + */ + private function filterScheme($scheme) + { + if (!is_string($scheme)) { + throw new \InvalidArgumentException('Scheme must be a string'); + } + + return strtolower($scheme); + } + + /** + * @param string $host + * + * @return string + * + * @throws \InvalidArgumentException If the host is invalid. + */ + private function filterHost($host) + { + if (!is_string($host)) { + throw new \InvalidArgumentException('Host must be a string'); + } + + return strtolower($host); + } + + /** + * @param int|null $port + * + * @return int|null + * + * @throws \InvalidArgumentException If the port is invalid. + */ + private function filterPort($port) + { + if ($port === null) { + return null; + } + + $port = (int) $port; + if (1 > $port || 0xffff < $port) { + throw new \InvalidArgumentException( + sprintf('Invalid port: %d. Must be between 1 and 65535', $port) + ); + } + + return $port; + } + + private function removeDefaultPort() + { + if ($this->port !== null && self::isDefaultPort($this)) { + $this->port = null; + } + } + + /** + * Filters the path of a URI + * + * @param string $path + * + * @return string + * + * @throws \InvalidArgumentException If the path is invalid. + */ + private function filterPath($path) + { + if (!is_string($path)) { + throw new \InvalidArgumentException('Path must be a string'); + } + + return preg_replace_callback( + '/(?:[^' . self::$charUnreserved . self::$charSubDelims . '%:@\/]++|%(?![A-Fa-f0-9]{2}))/', + [$this, 'rawurlencodeMatchZero'], + $path + ); + } + + /** + * Filters the query string or fragment of a URI. + * + * @param string $str + * + * @return string + * + * @throws \InvalidArgumentException If the query or fragment is invalid. + */ + private function filterQueryAndFragment($str) + { + if (!is_string($str)) { + throw new \InvalidArgumentException('Query and fragment must be a string'); + } + + return preg_replace_callback( + '/(?:[^' . self::$charUnreserved . self::$charSubDelims . '%:@\/\?]++|%(?![A-Fa-f0-9]{2}))/', + [$this, 'rawurlencodeMatchZero'], + $str + ); + } + + private function rawurlencodeMatchZero(array $match) + { + return rawurlencode($match[0]); + } + + private function validateState() + { + if ($this->host === '' && ($this->scheme === 'http' || $this->scheme === 'https')) { + $this->host = self::HTTP_DEFAULT_HOST; + } + + if ($this->getAuthority() === '') { + if (0 === strpos($this->path, '//')) { + throw new \InvalidArgumentException('The path of a URI without an authority must not start with two slashes "//"'); + } + if ($this->scheme === '' && false !== strpos(explode('/', $this->path, 2)[0], ':')) { + throw new \InvalidArgumentException('A relative URI must not have a path beginning with a segment containing a colon'); + } + } elseif (isset($this->path[0]) && $this->path[0] !== '/') { + @trigger_error( + 'The path of a URI with an authority must start with a slash "/" or be empty. Automagically fixing the URI ' . + 'by adding a leading slash to the path is deprecated since version 1.4 and will throw an exception instead.', + E_USER_DEPRECATED + ); + $this->path = '/'. $this->path; + //throw new \InvalidArgumentException('The path of a URI with an authority must start with a slash "/" or be empty'); + } + } +} diff --git a/vendor/guzzlehttp/psr7/src/UriNormalizer.php b/vendor/guzzlehttp/psr7/src/UriNormalizer.php new file mode 100644 index 00000000..384c29e5 --- /dev/null +++ b/vendor/guzzlehttp/psr7/src/UriNormalizer.php @@ -0,0 +1,216 @@ +getPath() === '' && + ($uri->getScheme() === 'http' || $uri->getScheme() === 'https') + ) { + $uri = $uri->withPath('/'); + } + + if ($flags & self::REMOVE_DEFAULT_HOST && $uri->getScheme() === 'file' && $uri->getHost() === 'localhost') { + $uri = $uri->withHost(''); + } + + if ($flags & self::REMOVE_DEFAULT_PORT && $uri->getPort() !== null && Uri::isDefaultPort($uri)) { + $uri = $uri->withPort(null); + } + + if ($flags & self::REMOVE_DOT_SEGMENTS && !Uri::isRelativePathReference($uri)) { + $uri = $uri->withPath(UriResolver::removeDotSegments($uri->getPath())); + } + + if ($flags & self::REMOVE_DUPLICATE_SLASHES) { + $uri = $uri->withPath(preg_replace('#//++#', '/', $uri->getPath())); + } + + if ($flags & self::SORT_QUERY_PARAMETERS && $uri->getQuery() !== '') { + $queryKeyValues = explode('&', $uri->getQuery()); + sort($queryKeyValues); + $uri = $uri->withQuery(implode('&', $queryKeyValues)); + } + + return $uri; + } + + /** + * Whether two URIs can be considered equivalent. + * + * Both URIs are normalized automatically before comparison with the given $normalizations bitmask. The method also + * accepts relative URI references and returns true when they are equivalent. This of course assumes they will be + * resolved against the same base URI. If this is not the case, determination of equivalence or difference of + * relative references does not mean anything. + * + * @param UriInterface $uri1 An URI to compare + * @param UriInterface $uri2 An URI to compare + * @param int $normalizations A bitmask of normalizations to apply, see constants + * + * @return bool + * @link https://tools.ietf.org/html/rfc3986#section-6.1 + */ + public static function isEquivalent(UriInterface $uri1, UriInterface $uri2, $normalizations = self::PRESERVING_NORMALIZATIONS) + { + return (string) self::normalize($uri1, $normalizations) === (string) self::normalize($uri2, $normalizations); + } + + private static function capitalizePercentEncoding(UriInterface $uri) + { + $regex = '/(?:%[A-Fa-f0-9]{2})++/'; + + $callback = function (array $match) { + return strtoupper($match[0]); + }; + + return + $uri->withPath( + preg_replace_callback($regex, $callback, $uri->getPath()) + )->withQuery( + preg_replace_callback($regex, $callback, $uri->getQuery()) + ); + } + + private static function decodeUnreservedCharacters(UriInterface $uri) + { + $regex = '/%(?:2D|2E|5F|7E|3[0-9]|[46][1-9A-F]|[57][0-9A])/i'; + + $callback = function (array $match) { + return rawurldecode($match[0]); + }; + + return + $uri->withPath( + preg_replace_callback($regex, $callback, $uri->getPath()) + )->withQuery( + preg_replace_callback($regex, $callback, $uri->getQuery()) + ); + } + + private function __construct() + { + // cannot be instantiated + } +} diff --git a/vendor/guzzlehttp/psr7/src/UriResolver.php b/vendor/guzzlehttp/psr7/src/UriResolver.php new file mode 100644 index 00000000..c1cb8a27 --- /dev/null +++ b/vendor/guzzlehttp/psr7/src/UriResolver.php @@ -0,0 +1,219 @@ +getScheme() != '') { + return $rel->withPath(self::removeDotSegments($rel->getPath())); + } + + if ($rel->getAuthority() != '') { + $targetAuthority = $rel->getAuthority(); + $targetPath = self::removeDotSegments($rel->getPath()); + $targetQuery = $rel->getQuery(); + } else { + $targetAuthority = $base->getAuthority(); + if ($rel->getPath() === '') { + $targetPath = $base->getPath(); + $targetQuery = $rel->getQuery() != '' ? $rel->getQuery() : $base->getQuery(); + } else { + if ($rel->getPath()[0] === '/') { + $targetPath = $rel->getPath(); + } else { + if ($targetAuthority != '' && $base->getPath() === '') { + $targetPath = '/' . $rel->getPath(); + } else { + $lastSlashPos = strrpos($base->getPath(), '/'); + if ($lastSlashPos === false) { + $targetPath = $rel->getPath(); + } else { + $targetPath = substr($base->getPath(), 0, $lastSlashPos + 1) . $rel->getPath(); + } + } + } + $targetPath = self::removeDotSegments($targetPath); + $targetQuery = $rel->getQuery(); + } + } + + return new Uri(Uri::composeComponents( + $base->getScheme(), + $targetAuthority, + $targetPath, + $targetQuery, + $rel->getFragment() + )); + } + + /** + * Returns the target URI as a relative reference from the base URI. + * + * This method is the counterpart to resolve(): + * + * (string) $target === (string) UriResolver::resolve($base, UriResolver::relativize($base, $target)) + * + * One use-case is to use the current request URI as base URI and then generate relative links in your documents + * to reduce the document size or offer self-contained downloadable document archives. + * + * $base = new Uri('http://example.com/a/b/'); + * echo UriResolver::relativize($base, new Uri('http://example.com/a/b/c')); // prints 'c'. + * echo UriResolver::relativize($base, new Uri('http://example.com/a/x/y')); // prints '../x/y'. + * echo UriResolver::relativize($base, new Uri('http://example.com/a/b/?q')); // prints '?q'. + * echo UriResolver::relativize($base, new Uri('http://example.org/a/b/')); // prints '//example.org/a/b/'. + * + * This method also accepts a target that is already relative and will try to relativize it further. Only a + * relative-path reference will be returned as-is. + * + * echo UriResolver::relativize($base, new Uri('/a/b/c')); // prints 'c' as well + * + * @param UriInterface $base Base URI + * @param UriInterface $target Target URI + * + * @return UriInterface The relative URI reference + */ + public static function relativize(UriInterface $base, UriInterface $target) + { + if ($target->getScheme() !== '' && + ($base->getScheme() !== $target->getScheme() || $target->getAuthority() === '' && $base->getAuthority() !== '') + ) { + return $target; + } + + if (Uri::isRelativePathReference($target)) { + // As the target is already highly relative we return it as-is. It would be possible to resolve + // the target with `$target = self::resolve($base, $target);` and then try make it more relative + // by removing a duplicate query. But let's not do that automatically. + return $target; + } + + if ($target->getAuthority() !== '' && $base->getAuthority() !== $target->getAuthority()) { + return $target->withScheme(''); + } + + // We must remove the path before removing the authority because if the path starts with two slashes, the URI + // would turn invalid. And we also cannot set a relative path before removing the authority, as that is also + // invalid. + $emptyPathUri = $target->withScheme('')->withPath('')->withUserInfo('')->withPort(null)->withHost(''); + + if ($base->getPath() !== $target->getPath()) { + return $emptyPathUri->withPath(self::getRelativePath($base, $target)); + } + + if ($base->getQuery() === $target->getQuery()) { + // Only the target fragment is left. And it must be returned even if base and target fragment are the same. + return $emptyPathUri->withQuery(''); + } + + // If the base URI has a query but the target has none, we cannot return an empty path reference as it would + // inherit the base query component when resolving. + if ($target->getQuery() === '') { + $segments = explode('/', $target->getPath()); + $lastSegment = end($segments); + + return $emptyPathUri->withPath($lastSegment === '' ? './' : $lastSegment); + } + + return $emptyPathUri; + } + + private static function getRelativePath(UriInterface $base, UriInterface $target) + { + $sourceSegments = explode('/', $base->getPath()); + $targetSegments = explode('/', $target->getPath()); + array_pop($sourceSegments); + $targetLastSegment = array_pop($targetSegments); + foreach ($sourceSegments as $i => $segment) { + if (isset($targetSegments[$i]) && $segment === $targetSegments[$i]) { + unset($sourceSegments[$i], $targetSegments[$i]); + } else { + break; + } + } + $targetSegments[] = $targetLastSegment; + $relativePath = str_repeat('../', count($sourceSegments)) . implode('/', $targetSegments); + + // A reference to am empty last segment or an empty first sub-segment must be prefixed with "./". + // This also applies to a segment with a colon character (e.g., "file:colon") that cannot be used + // as the first segment of a relative-path reference, as it would be mistaken for a scheme name. + if ('' === $relativePath || false !== strpos(explode('/', $relativePath, 2)[0], ':')) { + $relativePath = "./$relativePath"; + } elseif ('/' === $relativePath[0]) { + if ($base->getAuthority() != '' && $base->getPath() === '') { + // In this case an extra slash is added by resolve() automatically. So we must not add one here. + $relativePath = ".$relativePath"; + } else { + $relativePath = "./$relativePath"; + } + } + + return $relativePath; + } + + private function __construct() + { + // cannot be instantiated + } +} diff --git a/vendor/guzzlehttp/psr7/src/functions.php b/vendor/guzzlehttp/psr7/src/functions.php new file mode 100644 index 00000000..e40348d6 --- /dev/null +++ b/vendor/guzzlehttp/psr7/src/functions.php @@ -0,0 +1,828 @@ +getMethod() . ' ' + . $message->getRequestTarget()) + . ' HTTP/' . $message->getProtocolVersion(); + if (!$message->hasHeader('host')) { + $msg .= "\r\nHost: " . $message->getUri()->getHost(); + } + } elseif ($message instanceof ResponseInterface) { + $msg = 'HTTP/' . $message->getProtocolVersion() . ' ' + . $message->getStatusCode() . ' ' + . $message->getReasonPhrase(); + } else { + throw new \InvalidArgumentException('Unknown message type'); + } + + foreach ($message->getHeaders() as $name => $values) { + $msg .= "\r\n{$name}: " . implode(', ', $values); + } + + return "{$msg}\r\n\r\n" . $message->getBody(); +} + +/** + * Returns a UriInterface for the given value. + * + * This function accepts a string or {@see Psr\Http\Message\UriInterface} and + * returns a UriInterface for the given value. If the value is already a + * `UriInterface`, it is returned as-is. + * + * @param string|UriInterface $uri + * + * @return UriInterface + * @throws \InvalidArgumentException + */ +function uri_for($uri) +{ + if ($uri instanceof UriInterface) { + return $uri; + } elseif (is_string($uri)) { + return new Uri($uri); + } + + throw new \InvalidArgumentException('URI must be a string or UriInterface'); +} + +/** + * Create a new stream based on the input type. + * + * Options is an associative array that can contain the following keys: + * - metadata: Array of custom metadata. + * - size: Size of the stream. + * + * @param resource|string|null|int|float|bool|StreamInterface|callable $resource Entity body data + * @param array $options Additional options + * + * @return Stream + * @throws \InvalidArgumentException if the $resource arg is not valid. + */ +function stream_for($resource = '', array $options = []) +{ + if (is_scalar($resource)) { + $stream = fopen('php://temp', 'r+'); + if ($resource !== '') { + fwrite($stream, $resource); + fseek($stream, 0); + } + return new Stream($stream, $options); + } + + switch (gettype($resource)) { + case 'resource': + return new Stream($resource, $options); + case 'object': + if ($resource instanceof StreamInterface) { + return $resource; + } elseif ($resource instanceof \Iterator) { + return new PumpStream(function () use ($resource) { + if (!$resource->valid()) { + return false; + } + $result = $resource->current(); + $resource->next(); + return $result; + }, $options); + } elseif (method_exists($resource, '__toString')) { + return stream_for((string) $resource, $options); + } + break; + case 'NULL': + return new Stream(fopen('php://temp', 'r+'), $options); + } + + if (is_callable($resource)) { + return new PumpStream($resource, $options); + } + + throw new \InvalidArgumentException('Invalid resource type: ' . gettype($resource)); +} + +/** + * Parse an array of header values containing ";" separated data into an + * array of associative arrays representing the header key value pair + * data of the header. When a parameter does not contain a value, but just + * contains a key, this function will inject a key with a '' string value. + * + * @param string|array $header Header to parse into components. + * + * @return array Returns the parsed header values. + */ +function parse_header($header) +{ + static $trimmed = "\"' \n\t\r"; + $params = $matches = []; + + foreach (normalize_header($header) as $val) { + $part = []; + foreach (preg_split('/;(?=([^"]*"[^"]*")*[^"]*$)/', $val) as $kvp) { + if (preg_match_all('/<[^>]+>|[^=]+/', $kvp, $matches)) { + $m = $matches[0]; + if (isset($m[1])) { + $part[trim($m[0], $trimmed)] = trim($m[1], $trimmed); + } else { + $part[] = trim($m[0], $trimmed); + } + } + } + if ($part) { + $params[] = $part; + } + } + + return $params; +} + +/** + * Converts an array of header values that may contain comma separated + * headers into an array of headers with no comma separated values. + * + * @param string|array $header Header to normalize. + * + * @return array Returns the normalized header field values. + */ +function normalize_header($header) +{ + if (!is_array($header)) { + return array_map('trim', explode(',', $header)); + } + + $result = []; + foreach ($header as $value) { + foreach ((array) $value as $v) { + if (strpos($v, ',') === false) { + $result[] = $v; + continue; + } + foreach (preg_split('/,(?=([^"]*"[^"]*")*[^"]*$)/', $v) as $vv) { + $result[] = trim($vv); + } + } + } + + return $result; +} + +/** + * Clone and modify a request with the given changes. + * + * The changes can be one of: + * - method: (string) Changes the HTTP method. + * - set_headers: (array) Sets the given headers. + * - remove_headers: (array) Remove the given headers. + * - body: (mixed) Sets the given body. + * - uri: (UriInterface) Set the URI. + * - query: (string) Set the query string value of the URI. + * - version: (string) Set the protocol version. + * + * @param RequestInterface $request Request to clone and modify. + * @param array $changes Changes to apply. + * + * @return RequestInterface + */ +function modify_request(RequestInterface $request, array $changes) +{ + if (!$changes) { + return $request; + } + + $headers = $request->getHeaders(); + + if (!isset($changes['uri'])) { + $uri = $request->getUri(); + } else { + // Remove the host header if one is on the URI + if ($host = $changes['uri']->getHost()) { + $changes['set_headers']['Host'] = $host; + + if ($port = $changes['uri']->getPort()) { + $standardPorts = ['http' => 80, 'https' => 443]; + $scheme = $changes['uri']->getScheme(); + if (isset($standardPorts[$scheme]) && $port != $standardPorts[$scheme]) { + $changes['set_headers']['Host'] .= ':'.$port; + } + } + } + $uri = $changes['uri']; + } + + if (!empty($changes['remove_headers'])) { + $headers = _caseless_remove($changes['remove_headers'], $headers); + } + + if (!empty($changes['set_headers'])) { + $headers = _caseless_remove(array_keys($changes['set_headers']), $headers); + $headers = $changes['set_headers'] + $headers; + } + + if (isset($changes['query'])) { + $uri = $uri->withQuery($changes['query']); + } + + if ($request instanceof ServerRequestInterface) { + return new ServerRequest( + isset($changes['method']) ? $changes['method'] : $request->getMethod(), + $uri, + $headers, + isset($changes['body']) ? $changes['body'] : $request->getBody(), + isset($changes['version']) + ? $changes['version'] + : $request->getProtocolVersion(), + $request->getServerParams() + ); + } + + return new Request( + isset($changes['method']) ? $changes['method'] : $request->getMethod(), + $uri, + $headers, + isset($changes['body']) ? $changes['body'] : $request->getBody(), + isset($changes['version']) + ? $changes['version'] + : $request->getProtocolVersion() + ); +} + +/** + * Attempts to rewind a message body and throws an exception on failure. + * + * The body of the message will only be rewound if a call to `tell()` returns a + * value other than `0`. + * + * @param MessageInterface $message Message to rewind + * + * @throws \RuntimeException + */ +function rewind_body(MessageInterface $message) +{ + $body = $message->getBody(); + + if ($body->tell()) { + $body->rewind(); + } +} + +/** + * Safely opens a PHP stream resource using a filename. + * + * When fopen fails, PHP normally raises a warning. This function adds an + * error handler that checks for errors and throws an exception instead. + * + * @param string $filename File to open + * @param string $mode Mode used to open the file + * + * @return resource + * @throws \RuntimeException if the file cannot be opened + */ +function try_fopen($filename, $mode) +{ + $ex = null; + set_error_handler(function () use ($filename, $mode, &$ex) { + $ex = new \RuntimeException(sprintf( + 'Unable to open %s using mode %s: %s', + $filename, + $mode, + func_get_args()[1] + )); + }); + + $handle = fopen($filename, $mode); + restore_error_handler(); + + if ($ex) { + /** @var $ex \RuntimeException */ + throw $ex; + } + + return $handle; +} + +/** + * Copy the contents of a stream into a string until the given number of + * bytes have been read. + * + * @param StreamInterface $stream Stream to read + * @param int $maxLen Maximum number of bytes to read. Pass -1 + * to read the entire stream. + * @return string + * @throws \RuntimeException on error. + */ +function copy_to_string(StreamInterface $stream, $maxLen = -1) +{ + $buffer = ''; + + if ($maxLen === -1) { + while (!$stream->eof()) { + $buf = $stream->read(1048576); + // Using a loose equality here to match on '' and false. + if ($buf == null) { + break; + } + $buffer .= $buf; + } + return $buffer; + } + + $len = 0; + while (!$stream->eof() && $len < $maxLen) { + $buf = $stream->read($maxLen - $len); + // Using a loose equality here to match on '' and false. + if ($buf == null) { + break; + } + $buffer .= $buf; + $len = strlen($buffer); + } + + return $buffer; +} + +/** + * Copy the contents of a stream into another stream until the given number + * of bytes have been read. + * + * @param StreamInterface $source Stream to read from + * @param StreamInterface $dest Stream to write to + * @param int $maxLen Maximum number of bytes to read. Pass -1 + * to read the entire stream. + * + * @throws \RuntimeException on error. + */ +function copy_to_stream( + StreamInterface $source, + StreamInterface $dest, + $maxLen = -1 +) { + $bufferSize = 8192; + + if ($maxLen === -1) { + while (!$source->eof()) { + if (!$dest->write($source->read($bufferSize))) { + break; + } + } + } else { + $remaining = $maxLen; + while ($remaining > 0 && !$source->eof()) { + $buf = $source->read(min($bufferSize, $remaining)); + $len = strlen($buf); + if (!$len) { + break; + } + $remaining -= $len; + $dest->write($buf); + } + } +} + +/** + * Calculate a hash of a Stream + * + * @param StreamInterface $stream Stream to calculate the hash for + * @param string $algo Hash algorithm (e.g. md5, crc32, etc) + * @param bool $rawOutput Whether or not to use raw output + * + * @return string Returns the hash of the stream + * @throws \RuntimeException on error. + */ +function hash( + StreamInterface $stream, + $algo, + $rawOutput = false +) { + $pos = $stream->tell(); + + if ($pos > 0) { + $stream->rewind(); + } + + $ctx = hash_init($algo); + while (!$stream->eof()) { + hash_update($ctx, $stream->read(1048576)); + } + + $out = hash_final($ctx, (bool) $rawOutput); + $stream->seek($pos); + + return $out; +} + +/** + * Read a line from the stream up to the maximum allowed buffer length + * + * @param StreamInterface $stream Stream to read from + * @param int $maxLength Maximum buffer length + * + * @return string|bool + */ +function readline(StreamInterface $stream, $maxLength = null) +{ + $buffer = ''; + $size = 0; + + while (!$stream->eof()) { + // Using a loose equality here to match on '' and false. + if (null == ($byte = $stream->read(1))) { + return $buffer; + } + $buffer .= $byte; + // Break when a new line is found or the max length - 1 is reached + if ($byte === "\n" || ++$size === $maxLength - 1) { + break; + } + } + + return $buffer; +} + +/** + * Parses a request message string into a request object. + * + * @param string $message Request message string. + * + * @return Request + */ +function parse_request($message) +{ + $data = _parse_message($message); + $matches = []; + if (!preg_match('/^[\S]+\s+([a-zA-Z]+:\/\/|\/).*/', $data['start-line'], $matches)) { + throw new \InvalidArgumentException('Invalid request string'); + } + $parts = explode(' ', $data['start-line'], 3); + $version = isset($parts[2]) ? explode('/', $parts[2])[1] : '1.1'; + + $request = new Request( + $parts[0], + $matches[1] === '/' ? _parse_request_uri($parts[1], $data['headers']) : $parts[1], + $data['headers'], + $data['body'], + $version + ); + + return $matches[1] === '/' ? $request : $request->withRequestTarget($parts[1]); +} + +/** + * Parses a response message string into a response object. + * + * @param string $message Response message string. + * + * @return Response + */ +function parse_response($message) +{ + $data = _parse_message($message); + // According to https://tools.ietf.org/html/rfc7230#section-3.1.2 the space + // between status-code and reason-phrase is required. But browsers accept + // responses without space and reason as well. + if (!preg_match('/^HTTP\/.* [0-9]{3}( .*|$)/', $data['start-line'])) { + throw new \InvalidArgumentException('Invalid response string'); + } + $parts = explode(' ', $data['start-line'], 3); + + return new Response( + $parts[1], + $data['headers'], + $data['body'], + explode('/', $parts[0])[1], + isset($parts[2]) ? $parts[2] : null + ); +} + +/** + * Parse a query string into an associative array. + * + * If multiple values are found for the same key, the value of that key + * value pair will become an array. This function does not parse nested + * PHP style arrays into an associative array (e.g., foo[a]=1&foo[b]=2 will + * be parsed into ['foo[a]' => '1', 'foo[b]' => '2']). + * + * @param string $str Query string to parse + * @param bool|string $urlEncoding How the query string is encoded + * + * @return array + */ +function parse_query($str, $urlEncoding = true) +{ + $result = []; + + if ($str === '') { + return $result; + } + + if ($urlEncoding === true) { + $decoder = function ($value) { + return rawurldecode(str_replace('+', ' ', $value)); + }; + } elseif ($urlEncoding == PHP_QUERY_RFC3986) { + $decoder = 'rawurldecode'; + } elseif ($urlEncoding == PHP_QUERY_RFC1738) { + $decoder = 'urldecode'; + } else { + $decoder = function ($str) { return $str; }; + } + + foreach (explode('&', $str) as $kvp) { + $parts = explode('=', $kvp, 2); + $key = $decoder($parts[0]); + $value = isset($parts[1]) ? $decoder($parts[1]) : null; + if (!isset($result[$key])) { + $result[$key] = $value; + } else { + if (!is_array($result[$key])) { + $result[$key] = [$result[$key]]; + } + $result[$key][] = $value; + } + } + + return $result; +} + +/** + * Build a query string from an array of key value pairs. + * + * This function can use the return value of parse_query() to build a query + * string. This function does not modify the provided keys when an array is + * encountered (like http_build_query would). + * + * @param array $params Query string parameters. + * @param int|false $encoding Set to false to not encode, PHP_QUERY_RFC3986 + * to encode using RFC3986, or PHP_QUERY_RFC1738 + * to encode using RFC1738. + * @return string + */ +function build_query(array $params, $encoding = PHP_QUERY_RFC3986) +{ + if (!$params) { + return ''; + } + + if ($encoding === false) { + $encoder = function ($str) { return $str; }; + } elseif ($encoding === PHP_QUERY_RFC3986) { + $encoder = 'rawurlencode'; + } elseif ($encoding === PHP_QUERY_RFC1738) { + $encoder = 'urlencode'; + } else { + throw new \InvalidArgumentException('Invalid type'); + } + + $qs = ''; + foreach ($params as $k => $v) { + $k = $encoder($k); + if (!is_array($v)) { + $qs .= $k; + if ($v !== null) { + $qs .= '=' . $encoder($v); + } + $qs .= '&'; + } else { + foreach ($v as $vv) { + $qs .= $k; + if ($vv !== null) { + $qs .= '=' . $encoder($vv); + } + $qs .= '&'; + } + } + } + + return $qs ? (string) substr($qs, 0, -1) : ''; +} + +/** + * Determines the mimetype of a file by looking at its extension. + * + * @param $filename + * + * @return null|string + */ +function mimetype_from_filename($filename) +{ + return mimetype_from_extension(pathinfo($filename, PATHINFO_EXTENSION)); +} + +/** + * Maps a file extensions to a mimetype. + * + * @param $extension string The file extension. + * + * @return string|null + * @link http://svn.apache.org/repos/asf/httpd/httpd/branches/1.3.x/conf/mime.types + */ +function mimetype_from_extension($extension) +{ + static $mimetypes = [ + '7z' => 'application/x-7z-compressed', + 'aac' => 'audio/x-aac', + 'ai' => 'application/postscript', + 'aif' => 'audio/x-aiff', + 'asc' => 'text/plain', + 'asf' => 'video/x-ms-asf', + 'atom' => 'application/atom+xml', + 'avi' => 'video/x-msvideo', + 'bmp' => 'image/bmp', + 'bz2' => 'application/x-bzip2', + 'cer' => 'application/pkix-cert', + 'crl' => 'application/pkix-crl', + 'crt' => 'application/x-x509-ca-cert', + 'css' => 'text/css', + 'csv' => 'text/csv', + 'cu' => 'application/cu-seeme', + 'deb' => 'application/x-debian-package', + 'doc' => 'application/msword', + 'docx' => 'application/vnd.openxmlformats-officedocument.wordprocessingml.document', + 'dvi' => 'application/x-dvi', + 'eot' => 'application/vnd.ms-fontobject', + 'eps' => 'application/postscript', + 'epub' => 'application/epub+zip', + 'etx' => 'text/x-setext', + 'flac' => 'audio/flac', + 'flv' => 'video/x-flv', + 'gif' => 'image/gif', + 'gz' => 'application/gzip', + 'htm' => 'text/html', + 'html' => 'text/html', + 'ico' => 'image/x-icon', + 'ics' => 'text/calendar', + 'ini' => 'text/plain', + 'iso' => 'application/x-iso9660-image', + 'jar' => 'application/java-archive', + 'jpe' => 'image/jpeg', + 'jpeg' => 'image/jpeg', + 'jpg' => 'image/jpeg', + 'js' => 'text/javascript', + 'json' => 'application/json', + 'latex' => 'application/x-latex', + 'log' => 'text/plain', + 'm4a' => 'audio/mp4', + 'm4v' => 'video/mp4', + 'mid' => 'audio/midi', + 'midi' => 'audio/midi', + 'mov' => 'video/quicktime', + 'mp3' => 'audio/mpeg', + 'mp4' => 'video/mp4', + 'mp4a' => 'audio/mp4', + 'mp4v' => 'video/mp4', + 'mpe' => 'video/mpeg', + 'mpeg' => 'video/mpeg', + 'mpg' => 'video/mpeg', + 'mpg4' => 'video/mp4', + 'oga' => 'audio/ogg', + 'ogg' => 'audio/ogg', + 'ogv' => 'video/ogg', + 'ogx' => 'application/ogg', + 'pbm' => 'image/x-portable-bitmap', + 'pdf' => 'application/pdf', + 'pgm' => 'image/x-portable-graymap', + 'png' => 'image/png', + 'pnm' => 'image/x-portable-anymap', + 'ppm' => 'image/x-portable-pixmap', + 'ppt' => 'application/vnd.ms-powerpoint', + 'pptx' => 'application/vnd.openxmlformats-officedocument.presentationml.presentation', + 'ps' => 'application/postscript', + 'qt' => 'video/quicktime', + 'rar' => 'application/x-rar-compressed', + 'ras' => 'image/x-cmu-raster', + 'rss' => 'application/rss+xml', + 'rtf' => 'application/rtf', + 'sgm' => 'text/sgml', + 'sgml' => 'text/sgml', + 'svg' => 'image/svg+xml', + 'swf' => 'application/x-shockwave-flash', + 'tar' => 'application/x-tar', + 'tif' => 'image/tiff', + 'tiff' => 'image/tiff', + 'torrent' => 'application/x-bittorrent', + 'ttf' => 'application/x-font-ttf', + 'txt' => 'text/plain', + 'wav' => 'audio/x-wav', + 'webm' => 'video/webm', + 'wma' => 'audio/x-ms-wma', + 'wmv' => 'video/x-ms-wmv', + 'woff' => 'application/x-font-woff', + 'wsdl' => 'application/wsdl+xml', + 'xbm' => 'image/x-xbitmap', + 'xls' => 'application/vnd.ms-excel', + 'xlsx' => 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet', + 'xml' => 'application/xml', + 'xpm' => 'image/x-xpixmap', + 'xwd' => 'image/x-xwindowdump', + 'yaml' => 'text/yaml', + 'yml' => 'text/yaml', + 'zip' => 'application/zip', + ]; + + $extension = strtolower($extension); + + return isset($mimetypes[$extension]) + ? $mimetypes[$extension] + : null; +} + +/** + * Parses an HTTP message into an associative array. + * + * The array contains the "start-line" key containing the start line of + * the message, "headers" key containing an associative array of header + * array values, and a "body" key containing the body of the message. + * + * @param string $message HTTP request or response to parse. + * + * @return array + * @internal + */ +function _parse_message($message) +{ + if (!$message) { + throw new \InvalidArgumentException('Invalid message'); + } + + // Iterate over each line in the message, accounting for line endings + $lines = preg_split('/(\\r?\\n)/', $message, -1, PREG_SPLIT_DELIM_CAPTURE); + $result = ['start-line' => array_shift($lines), 'headers' => [], 'body' => '']; + array_shift($lines); + + for ($i = 0, $totalLines = count($lines); $i < $totalLines; $i += 2) { + $line = $lines[$i]; + // If two line breaks were encountered, then this is the end of body + if (empty($line)) { + if ($i < $totalLines - 1) { + $result['body'] = implode('', array_slice($lines, $i + 2)); + } + break; + } + if (strpos($line, ':')) { + $parts = explode(':', $line, 2); + $key = trim($parts[0]); + $value = isset($parts[1]) ? trim($parts[1]) : ''; + $result['headers'][$key][] = $value; + } + } + + return $result; +} + +/** + * Constructs a URI for an HTTP request message. + * + * @param string $path Path from the start-line + * @param array $headers Array of headers (each value an array). + * + * @return string + * @internal + */ +function _parse_request_uri($path, array $headers) +{ + $hostKey = array_filter(array_keys($headers), function ($k) { + return strtolower($k) === 'host'; + }); + + // If no host is found, then a full URI cannot be constructed. + if (!$hostKey) { + return $path; + } + + $host = $headers[reset($hostKey)][0]; + $scheme = substr($host, -4) === ':443' ? 'https' : 'http'; + + return $scheme . '://' . $host . '/' . ltrim($path, '/'); +} + +/** @internal */ +function _caseless_remove($keys, array $data) +{ + $result = []; + + foreach ($keys as &$key) { + $key = strtolower($key); + } + + foreach ($data as $k => $v) { + if (!in_array(strtolower($k), $keys)) { + $result[$k] = $v; + } + } + + return $result; +} diff --git a/vendor/guzzlehttp/psr7/src/functions_include.php b/vendor/guzzlehttp/psr7/src/functions_include.php new file mode 100644 index 00000000..96a4a83a --- /dev/null +++ b/vendor/guzzlehttp/psr7/src/functions_include.php @@ -0,0 +1,6 @@ + + +For the full copyright and license information, please view the LICENSE +file that was distributed with this source code. +EOF; + +$finder = Symfony\CS\Finder::create() + ->files() + ->name('*.php') + ->exclude('Fixtures') + ->in(__DIR__.'/src') + ->in(__DIR__.'/tests') +; + +return Symfony\CS\Config::create() + ->setUsingCache(true) + //->setUsingLinter(false) + ->setRiskyAllowed(true) + ->setRules(array( + '@PSR2' => true, + 'binary_operator_spaces' => true, + 'blank_line_before_return' => true, + 'header_comment' => array('header' => $header), + 'include' => true, + 'long_array_syntax' => true, + 'method_separation' => true, + 'no_blank_lines_after_class_opening' => true, + 'no_blank_lines_after_phpdoc' => true, + 'no_blank_lines_between_uses' => true, + 'no_duplicate_semicolons' => true, + 'no_extra_consecutive_blank_lines' => true, + 'no_leading_import_slash' => true, + 'no_leading_namespace_whitespace' => true, + 'no_trailing_comma_in_singleline_array' => true, + 'no_unused_imports' => true, + 'object_operator_without_whitespace' => true, + 'phpdoc_align' => true, + 'phpdoc_indent' => true, + 'phpdoc_no_access' => true, + 'phpdoc_no_package' => true, + 'phpdoc_order' => true, + 'phpdoc_scalar' => true, + 'phpdoc_trim' => true, + 'phpdoc_type_to_var' => true, + 'psr0' => true, + 'single_blank_line_before_namespace' => true, + 'spaces_cast' => true, + 'standardize_not_equals' => true, + 'ternary_operator_spaces' => true, + 'trailing_comma_in_multiline_array' => true, + 'whitespacy_lines' => true, + )) + ->finder($finder) +; diff --git a/vendor/monolog/monolog/CHANGELOG.md b/vendor/monolog/monolog/CHANGELOG.md new file mode 100644 index 00000000..1153c62c --- /dev/null +++ b/vendor/monolog/monolog/CHANGELOG.md @@ -0,0 +1,333 @@ +### 1.22.1 (2017-03-13) + + * Fixed lots of minor issues in the new Slack integrations + * Fixed support for allowInlineLineBreaks in LineFormatter when formatting exception backtraces + +### 1.22.0 (2016-11-26) + + * Added SlackbotHandler and SlackWebhookHandler to set up Slack integration more easily + * Added MercurialProcessor to add mercurial revision and branch names to log records + * Added support for AWS SDK v3 in DynamoDbHandler + * Fixed fatal errors occuring when normalizing generators that have been fully consumed + * Fixed RollbarHandler to include a level (rollbar level), monolog_level (original name), channel and datetime (unix) + * Fixed RollbarHandler not flushing records automatically, calling close() explicitly is not necessary anymore + * Fixed SyslogUdpHandler to avoid sending empty frames + * Fixed a few PHP 7.0 and 7.1 compatibility issues + +### 1.21.0 (2016-07-29) + + * Break: Reverted the addition of $context when the ErrorHandler handles regular php errors from 1.20.0 as it was causing issues + * Added support for more formats in RotatingFileHandler::setFilenameFormat as long as they have Y, m and d in order + * Added ability to format the main line of text the SlackHandler sends by explictly setting a formatter on the handler + * Added information about SoapFault instances in NormalizerFormatter + * Added $handleOnlyReportedErrors option on ErrorHandler::registerErrorHandler (default true) to allow logging of all errors no matter the error_reporting level + +### 1.20.0 (2016-07-02) + + * Added FingersCrossedHandler::activate() to manually trigger the handler regardless of the activation policy + * Added StreamHandler::getUrl to retrieve the stream's URL + * Added ability to override addRow/addTitle in HtmlFormatter + * Added the $context to context information when the ErrorHandler handles a regular php error + * Deprecated RotatingFileHandler::setFilenameFormat to only support 3 formats: Y, Y-m and Y-m-d + * Fixed WhatFailureGroupHandler to work with PHP7 throwables + * Fixed a few minor bugs + +### 1.19.0 (2016-04-12) + + * Break: StreamHandler will not close streams automatically that it does not own. If you pass in a stream (not a path/url), then it will not close it for you. You can retrieve those using getStream() if needed + * Added DeduplicationHandler to remove duplicate records from notifications across multiple requests, useful for email or other notifications on errors + * Added ability to use `%message%` and other LineFormatter replacements in the subject line of emails sent with NativeMailHandler and SwiftMailerHandler + * Fixed HipChatHandler handling of long messages + +### 1.18.2 (2016-04-02) + + * Fixed ElasticaFormatter to use more precise dates + * Fixed GelfMessageFormatter sending too long messages + +### 1.18.1 (2016-03-13) + + * Fixed SlackHandler bug where slack dropped messages randomly + * Fixed RedisHandler issue when using with the PHPRedis extension + * Fixed AmqpHandler content-type being incorrectly set when using with the AMQP extension + * Fixed BrowserConsoleHandler regression + +### 1.18.0 (2016-03-01) + + * Added optional reduction of timestamp precision via `Logger->useMicrosecondTimestamps(false)`, disabling it gets you a bit of performance boost but reduces the precision to the second instead of microsecond + * Added possibility to skip some extra stack frames in IntrospectionProcessor if you have some library wrapping Monolog that is always adding frames + * Added `Logger->withName` to clone a logger (keeping all handlers) with a new name + * Added FluentdFormatter for the Fluentd unix socket protocol + * Added HandlerWrapper base class to ease the creation of handler wrappers, just extend it and override as needed + * Added support for replacing context sub-keys using `%context.*%` in LineFormatter + * Added support for `payload` context value in RollbarHandler + * Added setRelease to RavenHandler to describe the application version, sent with every log + * Added support for `fingerprint` context value in RavenHandler + * Fixed JSON encoding errors that would gobble up the whole log record, we now handle those more gracefully by dropping chars as needed + * Fixed write timeouts in SocketHandler and derivatives, set to 10sec by default, lower it with `setWritingTimeout()` + * Fixed PHP7 compatibility with regard to Exception/Throwable handling in a few places + +### 1.17.2 (2015-10-14) + + * Fixed ErrorHandler compatibility with non-Monolog PSR-3 loggers + * Fixed SlackHandler handling to use slack functionalities better + * Fixed SwiftMailerHandler bug when sending multiple emails they all had the same id + * Fixed 5.3 compatibility regression + +### 1.17.1 (2015-08-31) + + * Fixed RollbarHandler triggering PHP notices + +### 1.17.0 (2015-08-30) + + * Added support for `checksum` and `release` context/extra values in RavenHandler + * Added better support for exceptions in RollbarHandler + * Added UidProcessor::getUid + * Added support for showing the resource type in NormalizedFormatter + * Fixed IntrospectionProcessor triggering PHP notices + +### 1.16.0 (2015-08-09) + + * Added IFTTTHandler to notify ifttt.com triggers + * Added Logger::setHandlers() to allow setting/replacing all handlers + * Added $capSize in RedisHandler to cap the log size + * Fixed StreamHandler creation of directory to only trigger when the first log write happens + * Fixed bug in the handling of curl failures + * Fixed duplicate logging of fatal errors when both error and fatal error handlers are registered in monolog's ErrorHandler + * Fixed missing fatal errors records with handlers that need to be closed to flush log records + * Fixed TagProcessor::addTags support for associative arrays + +### 1.15.0 (2015-07-12) + + * Added addTags and setTags methods to change a TagProcessor + * Added automatic creation of directories if they are missing for a StreamHandler to open a log file + * Added retry functionality to Loggly, Cube and Mandrill handlers so they retry up to 5 times in case of network failure + * Fixed process exit code being incorrectly reset to 0 if ErrorHandler::registerExceptionHandler was used + * Fixed HTML/JS escaping in BrowserConsoleHandler + * Fixed JSON encoding errors being silently suppressed (PHP 5.5+ only) + +### 1.14.0 (2015-06-19) + + * Added PHPConsoleHandler to send record to Chrome's PHP Console extension and library + * Added support for objects implementing __toString in the NormalizerFormatter + * Added support for HipChat's v2 API in HipChatHandler + * Added Logger::setTimezone() to initialize the timezone monolog should use in case date.timezone isn't correct for your app + * Added an option to send formatted message instead of the raw record on PushoverHandler via ->useFormattedMessage(true) + * Fixed curl errors being silently suppressed + +### 1.13.1 (2015-03-09) + + * Fixed regression in HipChat requiring a new token to be created + +### 1.13.0 (2015-03-05) + + * Added Registry::hasLogger to check for the presence of a logger instance + * Added context.user support to RavenHandler + * Added HipChat API v2 support in the HipChatHandler + * Added NativeMailerHandler::addParameter to pass params to the mail() process + * Added context data to SlackHandler when $includeContextAndExtra is true + * Added ability to customize the Swift_Message per-email in SwiftMailerHandler + * Fixed SwiftMailerHandler to lazily create message instances if a callback is provided + * Fixed serialization of INF and NaN values in Normalizer and LineFormatter + +### 1.12.0 (2014-12-29) + + * Break: HandlerInterface::isHandling now receives a partial record containing only a level key. This was always the intent and does not break any Monolog handler but is strictly speaking a BC break and you should check if you relied on any other field in your own handlers. + * Added PsrHandler to forward records to another PSR-3 logger + * Added SamplingHandler to wrap around a handler and include only every Nth record + * Added MongoDBFormatter to support better storage with MongoDBHandler (it must be enabled manually for now) + * Added exception codes in the output of most formatters + * Added LineFormatter::includeStacktraces to enable exception stack traces in logs (uses more than one line) + * Added $useShortAttachment to SlackHandler to minify attachment size and $includeExtra to append extra data + * Added $host to HipChatHandler for users of private instances + * Added $transactionName to NewRelicHandler and support for a transaction_name context value + * Fixed MandrillHandler to avoid outputing API call responses + * Fixed some non-standard behaviors in SyslogUdpHandler + +### 1.11.0 (2014-09-30) + + * Break: The NewRelicHandler extra and context data are now prefixed with extra_ and context_ to avoid clashes. Watch out if you have scripts reading those from the API and rely on names + * Added WhatFailureGroupHandler to suppress any exception coming from the wrapped handlers and avoid chain failures if a logging service fails + * Added MandrillHandler to send emails via the Mandrillapp.com API + * Added SlackHandler to log records to a Slack.com account + * Added FleepHookHandler to log records to a Fleep.io account + * Added LogglyHandler::addTag to allow adding tags to an existing handler + * Added $ignoreEmptyContextAndExtra to LineFormatter to avoid empty [] at the end + * Added $useLocking to StreamHandler and RotatingFileHandler to enable flock() while writing + * Added support for PhpAmqpLib in the AmqpHandler + * Added FingersCrossedHandler::clear and BufferHandler::clear to reset them between batches in long running jobs + * Added support for adding extra fields from $_SERVER in the WebProcessor + * Fixed support for non-string values in PrsLogMessageProcessor + * Fixed SwiftMailer messages being sent with the wrong date in long running scripts + * Fixed minor PHP 5.6 compatibility issues + * Fixed BufferHandler::close being called twice + +### 1.10.0 (2014-06-04) + + * Added Logger::getHandlers() and Logger::getProcessors() methods + * Added $passthruLevel argument to FingersCrossedHandler to let it always pass some records through even if the trigger level is not reached + * Added support for extra data in NewRelicHandler + * Added $expandNewlines flag to the ErrorLogHandler to create multiple log entries when a message has multiple lines + +### 1.9.1 (2014-04-24) + + * Fixed regression in RotatingFileHandler file permissions + * Fixed initialization of the BufferHandler to make sure it gets flushed after receiving records + * Fixed ChromePHPHandler and FirePHPHandler's activation strategies to be more conservative + +### 1.9.0 (2014-04-20) + + * Added LogEntriesHandler to send logs to a LogEntries account + * Added $filePermissions to tweak file mode on StreamHandler and RotatingFileHandler + * Added $useFormatting flag to MemoryProcessor to make it send raw data in bytes + * Added support for table formatting in FirePHPHandler via the table context key + * Added a TagProcessor to add tags to records, and support for tags in RavenHandler + * Added $appendNewline flag to the JsonFormatter to enable using it when logging to files + * Added sound support to the PushoverHandler + * Fixed multi-threading support in StreamHandler + * Fixed empty headers issue when ChromePHPHandler received no records + * Fixed default format of the ErrorLogHandler + +### 1.8.0 (2014-03-23) + + * Break: the LineFormatter now strips newlines by default because this was a bug, set $allowInlineLineBreaks to true if you need them + * Added BrowserConsoleHandler to send logs to any browser's console via console.log() injection in the output + * Added FilterHandler to filter records and only allow those of a given list of levels through to the wrapped handler + * Added FlowdockHandler to send logs to a Flowdock account + * Added RollbarHandler to send logs to a Rollbar account + * Added HtmlFormatter to send prettier log emails with colors for each log level + * Added GitProcessor to add the current branch/commit to extra record data + * Added a Monolog\Registry class to allow easier global access to pre-configured loggers + * Added support for the new official graylog2/gelf-php lib for GelfHandler, upgrade if you can by replacing the mlehner/gelf-php requirement + * Added support for HHVM + * Added support for Loggly batch uploads + * Added support for tweaking the content type and encoding in NativeMailerHandler + * Added $skipClassesPartials to tweak the ignored classes in the IntrospectionProcessor + * Fixed batch request support in GelfHandler + +### 1.7.0 (2013-11-14) + + * Added ElasticSearchHandler to send logs to an Elastic Search server + * Added DynamoDbHandler and ScalarFormatter to send logs to Amazon's Dynamo DB + * Added SyslogUdpHandler to send logs to a remote syslogd server + * Added LogglyHandler to send logs to a Loggly account + * Added $level to IntrospectionProcessor so it only adds backtraces when needed + * Added $version to LogstashFormatter to allow using the new v1 Logstash format + * Added $appName to NewRelicHandler + * Added configuration of Pushover notification retries/expiry + * Added $maxColumnWidth to NativeMailerHandler to change the 70 chars default + * Added chainability to most setters for all handlers + * Fixed RavenHandler batch processing so it takes the message from the record with highest priority + * Fixed HipChatHandler batch processing so it sends all messages at once + * Fixed issues with eAccelerator + * Fixed and improved many small things + +### 1.6.0 (2013-07-29) + + * Added HipChatHandler to send logs to a HipChat chat room + * Added ErrorLogHandler to send logs to PHP's error_log function + * Added NewRelicHandler to send logs to NewRelic's service + * Added Monolog\ErrorHandler helper class to register a Logger as exception/error/fatal handler + * Added ChannelLevelActivationStrategy for the FingersCrossedHandler to customize levels by channel + * Added stack traces output when normalizing exceptions (json output & co) + * Added Monolog\Logger::API constant (currently 1) + * Added support for ChromePHP's v4.0 extension + * Added support for message priorities in PushoverHandler, see $highPriorityLevel and $emergencyLevel + * Added support for sending messages to multiple users at once with the PushoverHandler + * Fixed RavenHandler's support for batch sending of messages (when behind a Buffer or FingersCrossedHandler) + * Fixed normalization of Traversables with very large data sets, only the first 1000 items are shown now + * Fixed issue in RotatingFileHandler when an open_basedir restriction is active + * Fixed minor issues in RavenHandler and bumped the API to Raven 0.5.0 + * Fixed SyslogHandler issue when many were used concurrently with different facilities + +### 1.5.0 (2013-04-23) + + * Added ProcessIdProcessor to inject the PID in log records + * Added UidProcessor to inject a unique identifier to all log records of one request/run + * Added support for previous exceptions in the LineFormatter exception serialization + * Added Monolog\Logger::getLevels() to get all available levels + * Fixed ChromePHPHandler so it avoids sending headers larger than Chrome can handle + +### 1.4.1 (2013-04-01) + + * Fixed exception formatting in the LineFormatter to be more minimalistic + * Fixed RavenHandler's handling of context/extra data, requires Raven client >0.1.0 + * Fixed log rotation in RotatingFileHandler to work with long running scripts spanning multiple days + * Fixed WebProcessor array access so it checks for data presence + * Fixed Buffer, Group and FingersCrossed handlers to make use of their processors + +### 1.4.0 (2013-02-13) + + * Added RedisHandler to log to Redis via the Predis library or the phpredis extension + * Added ZendMonitorHandler to log to the Zend Server monitor + * Added the possibility to pass arrays of handlers and processors directly in the Logger constructor + * Added `$useSSL` option to the PushoverHandler which is enabled by default + * Fixed ChromePHPHandler and FirePHPHandler issue when multiple instances are used simultaneously + * Fixed header injection capability in the NativeMailHandler + +### 1.3.1 (2013-01-11) + + * Fixed LogstashFormatter to be usable with stream handlers + * Fixed GelfMessageFormatter levels on Windows + +### 1.3.0 (2013-01-08) + + * Added PSR-3 compliance, the `Monolog\Logger` class is now an instance of `Psr\Log\LoggerInterface` + * Added PsrLogMessageProcessor that you can selectively enable for full PSR-3 compliance + * Added LogstashFormatter (combine with SocketHandler or StreamHandler to send logs to Logstash) + * Added PushoverHandler to send mobile notifications + * Added CouchDBHandler and DoctrineCouchDBHandler + * Added RavenHandler to send data to Sentry servers + * Added support for the new MongoClient class in MongoDBHandler + * Added microsecond precision to log records' timestamps + * Added `$flushOnOverflow` param to BufferHandler to flush by batches instead of losing + the oldest entries + * Fixed normalization of objects with cyclic references + +### 1.2.1 (2012-08-29) + + * Added new $logopts arg to SyslogHandler to provide custom openlog options + * Fixed fatal error in SyslogHandler + +### 1.2.0 (2012-08-18) + + * Added AmqpHandler (for use with AMQP servers) + * Added CubeHandler + * Added NativeMailerHandler::addHeader() to send custom headers in mails + * Added the possibility to specify more than one recipient in NativeMailerHandler + * Added the possibility to specify float timeouts in SocketHandler + * Added NOTICE and EMERGENCY levels to conform with RFC 5424 + * Fixed the log records to use the php default timezone instead of UTC + * Fixed BufferHandler not being flushed properly on PHP fatal errors + * Fixed normalization of exotic resource types + * Fixed the default format of the SyslogHandler to avoid duplicating datetimes in syslog + +### 1.1.0 (2012-04-23) + + * Added Monolog\Logger::isHandling() to check if a handler will + handle the given log level + * Added ChromePHPHandler + * Added MongoDBHandler + * Added GelfHandler (for use with Graylog2 servers) + * Added SocketHandler (for use with syslog-ng for example) + * Added NormalizerFormatter + * Added the possibility to change the activation strategy of the FingersCrossedHandler + * Added possibility to show microseconds in logs + * Added `server` and `referer` to WebProcessor output + +### 1.0.2 (2011-10-24) + + * Fixed bug in IE with large response headers and FirePHPHandler + +### 1.0.1 (2011-08-25) + + * Added MemoryPeakUsageProcessor and MemoryUsageProcessor + * Added Monolog\Logger::getName() to get a logger's channel name + +### 1.0.0 (2011-07-06) + + * Added IntrospectionProcessor to get info from where the logger was called + * Fixed WebProcessor in CLI + +### 1.0.0-RC1 (2011-07-01) + + * Initial release diff --git a/vendor/monolog/monolog/LICENSE b/vendor/monolog/monolog/LICENSE new file mode 100644 index 00000000..16473219 --- /dev/null +++ b/vendor/monolog/monolog/LICENSE @@ -0,0 +1,19 @@ +Copyright (c) 2011-2016 Jordi Boggiano + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is furnished +to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/vendor/monolog/monolog/README.md b/vendor/monolog/monolog/README.md new file mode 100644 index 00000000..7d8ade52 --- /dev/null +++ b/vendor/monolog/monolog/README.md @@ -0,0 +1,95 @@ +# Monolog - Logging for PHP [![Build Status](https://img.shields.io/travis/Seldaek/monolog.svg)](https://travis-ci.org/Seldaek/monolog) + +[![Total Downloads](https://img.shields.io/packagist/dt/monolog/monolog.svg)](https://packagist.org/packages/monolog/monolog) +[![Latest Stable Version](https://img.shields.io/packagist/v/monolog/monolog.svg)](https://packagist.org/packages/monolog/monolog) +[![Reference Status](https://www.versioneye.com/php/monolog:monolog/reference_badge.svg)](https://www.versioneye.com/php/monolog:monolog/references) + + +Monolog sends your logs to files, sockets, inboxes, databases and various +web services. See the complete list of handlers below. Special handlers +allow you to build advanced logging strategies. + +This library implements the [PSR-3](https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-3-logger-interface.md) +interface that you can type-hint against in your own libraries to keep +a maximum of interoperability. You can also use it in your applications to +make sure you can always use another compatible logger at a later time. +As of 1.11.0 Monolog public APIs will also accept PSR-3 log levels. +Internally Monolog still uses its own level scheme since it predates PSR-3. + +## Installation + +Install the latest version with + +```bash +$ composer require monolog/monolog +``` + +## Basic Usage + +```php +pushHandler(new StreamHandler('path/to/your.log', Logger::WARNING)); + +// add records to the log +$log->addWarning('Foo'); +$log->addError('Bar'); +``` + +## Documentation + +- [Usage Instructions](doc/01-usage.md) +- [Handlers, Formatters and Processors](doc/02-handlers-formatters-processors.md) +- [Utility classes](doc/03-utilities.md) +- [Extending Monolog](doc/04-extending.md) + +## Third Party Packages + +Third party handlers, formatters and processors are +[listed in the wiki](https://github.com/Seldaek/monolog/wiki/Third-Party-Packages). You +can also add your own there if you publish one. + +## About + +### Requirements + +- Monolog works with PHP 5.3 or above, and is also tested to work with HHVM. + +### Submitting bugs and feature requests + +Bugs and feature request are tracked on [GitHub](https://github.com/Seldaek/monolog/issues) + +### Framework Integrations + +- Frameworks and libraries using [PSR-3](https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-3-logger-interface.md) + can be used very easily with Monolog since it implements the interface. +- [Symfony2](http://symfony.com) comes out of the box with Monolog. +- [Silex](http://silex.sensiolabs.org/) comes out of the box with Monolog. +- [Laravel 4 & 5](http://laravel.com/) come out of the box with Monolog. +- [Lumen](http://lumen.laravel.com/) comes out of the box with Monolog. +- [PPI](http://www.ppi.io/) comes out of the box with Monolog. +- [CakePHP](http://cakephp.org/) is usable with Monolog via the [cakephp-monolog](https://github.com/jadb/cakephp-monolog) plugin. +- [Slim](http://www.slimframework.com/) is usable with Monolog via the [Slim-Monolog](https://github.com/Flynsarmy/Slim-Monolog) log writer. +- [XOOPS 2.6](http://xoops.org/) comes out of the box with Monolog. +- [Aura.Web_Project](https://github.com/auraphp/Aura.Web_Project) comes out of the box with Monolog. +- [Nette Framework](http://nette.org/en/) can be used with Monolog via [Kdyby/Monolog](https://github.com/Kdyby/Monolog) extension. +- [Proton Micro Framework](https://github.com/alexbilbie/Proton) comes out of the box with Monolog. + +### Author + +Jordi Boggiano - -
+See also the list of [contributors](https://github.com/Seldaek/monolog/contributors) which participated in this project. + +### License + +Monolog is licensed under the MIT License - see the `LICENSE` file for details + +### Acknowledgements + +This library is heavily inspired by Python's [Logbook](http://packages.python.org/Logbook/) +library, although most concepts have been adjusted to fit to the PHP world. diff --git a/vendor/monolog/monolog/composer.json b/vendor/monolog/monolog/composer.json new file mode 100644 index 00000000..f74b7b97 --- /dev/null +++ b/vendor/monolog/monolog/composer.json @@ -0,0 +1,66 @@ +{ + "name": "monolog/monolog", + "description": "Sends your logs to files, sockets, inboxes, databases and various web services", + "keywords": ["log", "logging", "psr-3"], + "homepage": "http://github.com/Seldaek/monolog", + "type": "library", + "license": "MIT", + "authors": [ + { + "name": "Jordi Boggiano", + "email": "j.boggiano@seld.be", + "homepage": "http://seld.be" + } + ], + "require": { + "php": ">=5.3.0", + "psr/log": "~1.0" + }, + "require-dev": { + "phpunit/phpunit": "~4.5", + "graylog2/gelf-php": "~1.0", + "sentry/sentry": "^0.13", + "ruflin/elastica": ">=0.90 <3.0", + "doctrine/couchdb": "~1.0@dev", + "aws/aws-sdk-php": "^2.4.9 || ^3.0", + "php-amqplib/php-amqplib": "~2.4", + "swiftmailer/swiftmailer": "~5.3", + "php-console/php-console": "^3.1.3", + "phpunit/phpunit-mock-objects": "2.3.0", + "jakub-onderka/php-parallel-lint": "0.9" + }, + "_": "phpunit/phpunit-mock-objects required in 2.3.0 due to https://github.com/sebastianbergmann/phpunit-mock-objects/issues/223 - needs hhvm 3.8+ on travis", + "suggest": { + "graylog2/gelf-php": "Allow sending log messages to a GrayLog2 server", + "sentry/sentry": "Allow sending log messages to a Sentry server", + "doctrine/couchdb": "Allow sending log messages to a CouchDB server", + "ruflin/elastica": "Allow sending log messages to an Elastic Search server", + "php-amqplib/php-amqplib": "Allow sending log messages to an AMQP server using php-amqplib", + "ext-amqp": "Allow sending log messages to an AMQP server (1.0+ required)", + "ext-mongo": "Allow sending log messages to a MongoDB server", + "mongodb/mongodb": "Allow sending log messages to a MongoDB server via PHP Driver", + "aws/aws-sdk-php": "Allow sending log messages to AWS services like DynamoDB", + "rollbar/rollbar": "Allow sending log messages to Rollbar", + "php-console/php-console": "Allow sending log messages to Google Chrome" + }, + "autoload": { + "psr-4": {"Monolog\\": "src/Monolog"} + }, + "autoload-dev": { + "psr-4": {"Monolog\\": "tests/Monolog"} + }, + "provide": { + "psr/log-implementation": "1.0.0" + }, + "extra": { + "branch-alias": { + "dev-master": "2.0.x-dev" + } + }, + "scripts": { + "test": [ + "parallel-lint . --exclude vendor", + "phpunit" + ] + } +} diff --git a/vendor/monolog/monolog/doc/01-usage.md b/vendor/monolog/monolog/doc/01-usage.md new file mode 100644 index 00000000..8e2551f3 --- /dev/null +++ b/vendor/monolog/monolog/doc/01-usage.md @@ -0,0 +1,231 @@ +# Using Monolog + +- [Installation](#installation) +- [Core Concepts](#core-concepts) +- [Log Levels](#log-levels) +- [Configuring a logger](#configuring-a-logger) +- [Adding extra data in the records](#adding-extra-data-in-the-records) +- [Leveraging channels](#leveraging-channels) +- [Customizing the log format](#customizing-the-log-format) + +## Installation + +Monolog is available on Packagist ([monolog/monolog](http://packagist.org/packages/monolog/monolog)) +and as such installable via [Composer](http://getcomposer.org/). + +```bash +composer require monolog/monolog +``` + +If you do not use Composer, you can grab the code from GitHub, and use any +PSR-0 compatible autoloader (e.g. the [Symfony2 ClassLoader component](https://github.com/symfony/ClassLoader)) +to load Monolog classes. + +## Core Concepts + +Every `Logger` instance has a channel (name) and a stack of handlers. Whenever +you add a record to the logger, it traverses the handler stack. Each handler +decides whether it fully handled the record, and if so, the propagation of the +record ends there. + +This allows for flexible logging setups, for example having a `StreamHandler` at +the bottom of the stack that will log anything to disk, and on top of that add +a `MailHandler` that will send emails only when an error message is logged. +Handlers also have a `$bubble` property which defines whether they block the +record or not if they handled it. In this example, setting the `MailHandler`'s +`$bubble` argument to false means that records handled by the `MailHandler` will +not propagate to the `StreamHandler` anymore. + +You can create many `Logger`s, each defining a channel (e.g.: db, request, +router, ..) and each of them combining various handlers, which can be shared +or not. The channel is reflected in the logs and allows you to easily see or +filter records. + +Each Handler also has a Formatter, a default one with settings that make sense +will be created if you don't set one. The formatters normalize and format +incoming records so that they can be used by the handlers to output useful +information. + +Custom severity levels are not available. Only the eight +[RFC 5424](http://tools.ietf.org/html/rfc5424) levels (debug, info, notice, +warning, error, critical, alert, emergency) are present for basic filtering +purposes, but for sorting and other use cases that would require +flexibility, you should add Processors to the Logger that can add extra +information (tags, user ip, ..) to the records before they are handled. + +## Log Levels + +Monolog supports the logging levels described by [RFC 5424](http://tools.ietf.org/html/rfc5424). + +- **DEBUG** (100): Detailed debug information. + +- **INFO** (200): Interesting events. Examples: User logs in, SQL logs. + +- **NOTICE** (250): Normal but significant events. + +- **WARNING** (300): Exceptional occurrences that are not errors. Examples: + Use of deprecated APIs, poor use of an API, undesirable things that are not + necessarily wrong. + +- **ERROR** (400): Runtime errors that do not require immediate action but + should typically be logged and monitored. + +- **CRITICAL** (500): Critical conditions. Example: Application component + unavailable, unexpected exception. + +- **ALERT** (550): Action must be taken immediately. Example: Entire website + down, database unavailable, etc. This should trigger the SMS alerts and wake + you up. + +- **EMERGENCY** (600): Emergency: system is unusable. + +## Configuring a logger + +Here is a basic setup to log to a file and to firephp on the DEBUG level: + +```php +pushHandler(new StreamHandler(__DIR__.'/my_app.log', Logger::DEBUG)); +$logger->pushHandler(new FirePHPHandler()); + +// You can now use your logger +$logger->addInfo('My logger is now ready'); +``` + +Let's explain it. The first step is to create the logger instance which will +be used in your code. The argument is a channel name, which is useful when +you use several loggers (see below for more details about it). + +The logger itself does not know how to handle a record. It delegates it to +some handlers. The code above registers two handlers in the stack to allow +handling records in two different ways. + +Note that the FirePHPHandler is called first as it is added on top of the +stack. This allows you to temporarily add a logger with bubbling disabled if +you want to override other configured loggers. + +> If you use Monolog standalone and are looking for an easy way to +> configure many handlers, the [theorchard/monolog-cascade](https://github.com/theorchard/monolog-cascade) +> can help you build complex logging configs via PHP arrays, yaml or json configs. + +## Adding extra data in the records + +Monolog provides two different ways to add extra informations along the simple +textual message. + +### Using the logging context + +The first way is the context, allowing to pass an array of data along the +record: + +```php +addInfo('Adding a new user', array('username' => 'Seldaek')); +``` + +Simple handlers (like the StreamHandler for instance) will simply format +the array to a string but richer handlers can take advantage of the context +(FirePHP is able to display arrays in pretty way for instance). + +### Using processors + +The second way is to add extra data for all records by using a processor. +Processors can be any callable. They will get the record as parameter and +must return it after having eventually changed the `extra` part of it. Let's +write a processor adding some dummy data in the record: + +```php +pushProcessor(function ($record) { + $record['extra']['dummy'] = 'Hello world!'; + + return $record; +}); +``` + +Monolog provides some built-in processors that can be used in your project. +Look at the [dedicated chapter](https://github.com/Seldaek/monolog/blob/master/doc/02-handlers-formatters-processors.md#processors) for the list. + +> Tip: processors can also be registered on a specific handler instead of + the logger to apply only for this handler. + +## Leveraging channels + +Channels are a great way to identify to which part of the application a record +is related. This is useful in big applications (and is leveraged by +MonologBundle in Symfony2). + +Picture two loggers sharing a handler that writes to a single log file. +Channels would allow you to identify the logger that issued every record. +You can easily grep through the log files filtering this or that channel. + +```php +pushHandler($stream); +$logger->pushHandler($firephp); + +// Create a logger for the security-related stuff with a different channel +$securityLogger = new Logger('security'); +$securityLogger->pushHandler($stream); +$securityLogger->pushHandler($firephp); + +// Or clone the first one to only change the channel +$securityLogger = $logger->withName('security'); +``` + +## Customizing the log format + +In Monolog it's easy to customize the format of the logs written into files, +sockets, mails, databases and other handlers. Most of the handlers use the + +```php +$record['formatted'] +``` + +value to be automatically put into the log device. This value depends on the +formatter settings. You can choose between predefined formatter classes or +write your own (e.g. a multiline text file for human-readable output). + +To configure a predefined formatter class, just set it as the handler's field: + +```php +// the default date format is "Y-m-d H:i:s" +$dateFormat = "Y n j, g:i a"; +// the default output format is "[%datetime%] %channel%.%level_name%: %message% %context% %extra%\n" +$output = "%datetime% > %level_name% > %message% %context% %extra%\n"; +// finally, create a formatter +$formatter = new LineFormatter($output, $dateFormat); + +// Create a handler +$stream = new StreamHandler(__DIR__.'/my_app.log', Logger::DEBUG); +$stream->setFormatter($formatter); +// bind it to a logger object +$securityLogger = new Logger('security'); +$securityLogger->pushHandler($stream); +``` + +You may also reuse the same formatter between multiple handlers and share those +handlers between multiple loggers. + +[Handlers, Formatters and Processors](02-handlers-formatters-processors.md) → diff --git a/vendor/monolog/monolog/doc/02-handlers-formatters-processors.md b/vendor/monolog/monolog/doc/02-handlers-formatters-processors.md new file mode 100644 index 00000000..bea968ac --- /dev/null +++ b/vendor/monolog/monolog/doc/02-handlers-formatters-processors.md @@ -0,0 +1,157 @@ +# Handlers, Formatters and Processors + +- [Handlers](#handlers) + - [Log to files and syslog](#log-to-files-and-syslog) + - [Send alerts and emails](#send-alerts-and-emails) + - [Log specific servers and networked logging](#log-specific-servers-and-networked-logging) + - [Logging in development](#logging-in-development) + - [Log to databases](#log-to-databases) + - [Wrappers / Special Handlers](#wrappers--special-handlers) +- [Formatters](#formatters) +- [Processors](#processors) +- [Third Party Packages](#third-party-packages) + +## Handlers + +### Log to files and syslog + +- _StreamHandler_: Logs records into any PHP stream, use this for log files. +- _RotatingFileHandler_: Logs records to a file and creates one logfile per day. + It will also delete files older than `$maxFiles`. You should use + [logrotate](http://linuxcommand.org/man_pages/logrotate8.html) for high profile + setups though, this is just meant as a quick and dirty solution. +- _SyslogHandler_: Logs records to the syslog. +- _ErrorLogHandler_: Logs records to PHP's + [`error_log()`](http://docs.php.net/manual/en/function.error-log.php) function. + +### Send alerts and emails + +- _NativeMailerHandler_: Sends emails using PHP's + [`mail()`](http://php.net/manual/en/function.mail.php) function. +- _SwiftMailerHandler_: Sends emails using a [`Swift_Mailer`](http://swiftmailer.org/) instance. +- _PushoverHandler_: Sends mobile notifications via the [Pushover](https://www.pushover.net/) API. +- _HipChatHandler_: Logs records to a [HipChat](http://hipchat.com) chat room using its API. +- _FlowdockHandler_: Logs records to a [Flowdock](https://www.flowdock.com/) account. +- _SlackHandler_: Logs records to a [Slack](https://www.slack.com/) account using the Slack API. +- _SlackbotHandler_: Logs records to a [Slack](https://www.slack.com/) account using the Slackbot incoming hook. +- _SlackWebhookHandler_: Logs records to a [Slack](https://www.slack.com/) account using Slack Webhooks. +- _MandrillHandler_: Sends emails via the Mandrill API using a [`Swift_Message`](http://swiftmailer.org/) instance. +- _FleepHookHandler_: Logs records to a [Fleep](https://fleep.io/) conversation using Webhooks. +- _IFTTTHandler_: Notifies an [IFTTT](https://ifttt.com/maker) trigger with the log channel, level name and message. + +### Log specific servers and networked logging + +- _SocketHandler_: Logs records to [sockets](http://php.net/fsockopen), use this + for UNIX and TCP sockets. See an [example](sockets.md). +- _AmqpHandler_: Logs records to an [amqp](http://www.amqp.org/) compatible + server. Requires the [php-amqp](http://pecl.php.net/package/amqp) extension (1.0+). +- _GelfHandler_: Logs records to a [Graylog2](http://www.graylog2.org) server. +- _CubeHandler_: Logs records to a [Cube](http://square.github.com/cube/) server. +- _RavenHandler_: Logs records to a [Sentry](http://getsentry.com/) server using + [raven](https://packagist.org/packages/raven/raven). +- _ZendMonitorHandler_: Logs records to the Zend Monitor present in Zend Server. +- _NewRelicHandler_: Logs records to a [NewRelic](http://newrelic.com/) application. +- _LogglyHandler_: Logs records to a [Loggly](http://www.loggly.com/) account. +- _RollbarHandler_: Logs records to a [Rollbar](https://rollbar.com/) account. +- _SyslogUdpHandler_: Logs records to a remote [Syslogd](http://www.rsyslog.com/) server. +- _LogEntriesHandler_: Logs records to a [LogEntries](http://logentries.com/) account. + +### Logging in development + +- _FirePHPHandler_: Handler for [FirePHP](http://www.firephp.org/), providing + inline `console` messages within [FireBug](http://getfirebug.com/). +- _ChromePHPHandler_: Handler for [ChromePHP](http://www.chromephp.com/), providing + inline `console` messages within Chrome. +- _BrowserConsoleHandler_: Handler to send logs to browser's Javascript `console` with + no browser extension required. Most browsers supporting `console` API are supported. +- _PHPConsoleHandler_: Handler for [PHP Console](https://chrome.google.com/webstore/detail/php-console/nfhmhhlpfleoednkpnnnkolmclajemef), providing + inline `console` and notification popup messages within Chrome. + +### Log to databases + +- _RedisHandler_: Logs records to a [redis](http://redis.io) server. +- _MongoDBHandler_: Handler to write records in MongoDB via a + [Mongo](http://pecl.php.net/package/mongo) extension connection. +- _CouchDBHandler_: Logs records to a CouchDB server. +- _DoctrineCouchDBHandler_: Logs records to a CouchDB server via the Doctrine CouchDB ODM. +- _ElasticSearchHandler_: Logs records to an Elastic Search server. +- _DynamoDbHandler_: Logs records to a DynamoDB table with the [AWS SDK](https://github.com/aws/aws-sdk-php). + +### Wrappers / Special Handlers + +- _FingersCrossedHandler_: A very interesting wrapper. It takes a logger as + parameter and will accumulate log records of all levels until a record + exceeds the defined severity level. At which point it delivers all records, + including those of lower severity, to the handler it wraps. This means that + until an error actually happens you will not see anything in your logs, but + when it happens you will have the full information, including debug and info + records. This provides you with all the information you need, but only when + you need it. +- _DeduplicationHandler_: Useful if you are sending notifications or emails + when critical errors occur. It takes a logger as parameter and will + accumulate log records of all levels until the end of the request (or + `flush()` is called). At that point it delivers all records to the handler + it wraps, but only if the records are unique over a given time period + (60seconds by default). If the records are duplicates they are simply + discarded. The main use of this is in case of critical failure like if your + database is unreachable for example all your requests will fail and that + can result in a lot of notifications being sent. Adding this handler reduces + the amount of notifications to a manageable level. +- _WhatFailureGroupHandler_: This handler extends the _GroupHandler_ ignoring + exceptions raised by each child handler. This allows you to ignore issues + where a remote tcp connection may have died but you do not want your entire + application to crash and may wish to continue to log to other handlers. +- _BufferHandler_: This handler will buffer all the log records it receives + until `close()` is called at which point it will call `handleBatch()` on the + handler it wraps with all the log messages at once. This is very useful to + send an email with all records at once for example instead of having one mail + for every log record. +- _GroupHandler_: This handler groups other handlers. Every record received is + sent to all the handlers it is configured with. +- _FilterHandler_: This handler only lets records of the given levels through + to the wrapped handler. +- _SamplingHandler_: Wraps around another handler and lets you sample records + if you only want to store some of them. +- _NullHandler_: Any record it can handle will be thrown away. This can be used + to put on top of an existing handler stack to disable it temporarily. +- _PsrHandler_: Can be used to forward log records to an existing PSR-3 logger +- _TestHandler_: Used for testing, it records everything that is sent to it and + has accessors to read out the information. +- _HandlerWrapper_: A simple handler wrapper you can inherit from to create + your own wrappers easily. + +## Formatters + +- _LineFormatter_: Formats a log record into a one-line string. +- _HtmlFormatter_: Used to format log records into a human readable html table, mainly suitable for emails. +- _NormalizerFormatter_: Normalizes objects/resources down to strings so a record can easily be serialized/encoded. +- _ScalarFormatter_: Used to format log records into an associative array of scalar values. +- _JsonFormatter_: Encodes a log record into json. +- _WildfireFormatter_: Used to format log records into the Wildfire/FirePHP protocol, only useful for the FirePHPHandler. +- _ChromePHPFormatter_: Used to format log records into the ChromePHP format, only useful for the ChromePHPHandler. +- _GelfMessageFormatter_: Used to format log records into Gelf message instances, only useful for the GelfHandler. +- _LogstashFormatter_: Used to format log records into [logstash](http://logstash.net/) event json, useful for any handler listed under inputs [here](http://logstash.net/docs/latest). +- _ElasticaFormatter_: Used to format log records into an Elastica\Document object, only useful for the ElasticSearchHandler. +- _LogglyFormatter_: Used to format log records into Loggly messages, only useful for the LogglyHandler. +- _FlowdockFormatter_: Used to format log records into Flowdock messages, only useful for the FlowdockHandler. +- _MongoDBFormatter_: Converts \DateTime instances to \MongoDate and objects recursively to arrays, only useful with the MongoDBHandler. + +## Processors + +- _PsrLogMessageProcessor_: Processes a log record's message according to PSR-3 rules, replacing `{foo}` with the value from `$context['foo']`. +- _IntrospectionProcessor_: Adds the line/file/class/method from which the log call originated. +- _WebProcessor_: Adds the current request URI, request method and client IP to a log record. +- _MemoryUsageProcessor_: Adds the current memory usage to a log record. +- _MemoryPeakUsageProcessor_: Adds the peak memory usage to a log record. +- _ProcessIdProcessor_: Adds the process id to a log record. +- _UidProcessor_: Adds a unique identifier to a log record. +- _GitProcessor_: Adds the current git branch and commit to a log record. +- _TagProcessor_: Adds an array of predefined tags to a log record. + +## Third Party Packages + +Third party handlers, formatters and processors are +[listed in the wiki](https://github.com/Seldaek/monolog/wiki/Third-Party-Packages). You +can also add your own there if you publish one. + +← [Usage](01-usage.md) | [Utility classes](03-utilities.md) → diff --git a/vendor/monolog/monolog/doc/03-utilities.md b/vendor/monolog/monolog/doc/03-utilities.md new file mode 100644 index 00000000..c62aa416 --- /dev/null +++ b/vendor/monolog/monolog/doc/03-utilities.md @@ -0,0 +1,13 @@ +# Utilities + +- _Registry_: The `Monolog\Registry` class lets you configure global loggers that you + can then statically access from anywhere. It is not really a best practice but can + help in some older codebases or for ease of use. +- _ErrorHandler_: The `Monolog\ErrorHandler` class allows you to easily register + a Logger instance as an exception handler, error handler or fatal error handler. +- _ErrorLevelActivationStrategy_: Activates a FingersCrossedHandler when a certain log + level is reached. +- _ChannelLevelActivationStrategy_: Activates a FingersCrossedHandler when a certain + log level is reached, depending on which channel received the log record. + +← [Handlers, Formatters and Processors](02-handlers-formatters-processors.md) | [Extending Monolog](04-extending.md) → diff --git a/vendor/monolog/monolog/doc/04-extending.md b/vendor/monolog/monolog/doc/04-extending.md new file mode 100644 index 00000000..ebd9104d --- /dev/null +++ b/vendor/monolog/monolog/doc/04-extending.md @@ -0,0 +1,76 @@ +# Extending Monolog + +Monolog is fully extensible, allowing you to adapt your logger to your needs. + +## Writing your own handler + +Monolog provides many built-in handlers. But if the one you need does not +exist, you can write it and use it in your logger. The only requirement is +to implement `Monolog\Handler\HandlerInterface`. + +Let's write a PDOHandler to log records to a database. We will extend the +abstract class provided by Monolog to keep things DRY. + +```php +pdo = $pdo; + parent::__construct($level, $bubble); + } + + protected function write(array $record) + { + if (!$this->initialized) { + $this->initialize(); + } + + $this->statement->execute(array( + 'channel' => $record['channel'], + 'level' => $record['level'], + 'message' => $record['formatted'], + 'time' => $record['datetime']->format('U'), + )); + } + + private function initialize() + { + $this->pdo->exec( + 'CREATE TABLE IF NOT EXISTS monolog ' + .'(channel VARCHAR(255), level INTEGER, message LONGTEXT, time INTEGER UNSIGNED)' + ); + $this->statement = $this->pdo->prepare( + 'INSERT INTO monolog (channel, level, message, time) VALUES (:channel, :level, :message, :time)' + ); + + $this->initialized = true; + } +} +``` + +You can now use this handler in your logger: + +```php +pushHandler(new PDOHandler(new PDO('sqlite:logs.sqlite'))); + +// You can now use your logger +$logger->addInfo('My logger is now ready'); +``` + +The `Monolog\Handler\AbstractProcessingHandler` class provides most of the +logic needed for the handler, including the use of processors and the formatting +of the record (which is why we use ``$record['formatted']`` instead of ``$record['message']``). + +← [Utility classes](03-utilities.md) diff --git a/vendor/monolog/monolog/doc/sockets.md b/vendor/monolog/monolog/doc/sockets.md new file mode 100644 index 00000000..ea9cf0ea --- /dev/null +++ b/vendor/monolog/monolog/doc/sockets.md @@ -0,0 +1,39 @@ +Sockets Handler +=============== + +This handler allows you to write your logs to sockets using [fsockopen](http://php.net/fsockopen) +or [pfsockopen](http://php.net/pfsockopen). + +Persistent sockets are mainly useful in web environments where you gain some performance not closing/opening +the connections between requests. + +You can use a `unix://` prefix to access unix sockets and `udp://` to open UDP sockets instead of the default TCP. + +Basic Example +------------- + +```php +setPersistent(true); + +// Now add the handler +$logger->pushHandler($handler, Logger::DEBUG); + +// You can now use your logger +$logger->addInfo('My logger is now ready'); + +``` + +In this example, using syslog-ng, you should see the log on the log server: + + cweb1 [2012-02-26 00:12:03] my_logger.INFO: My logger is now ready [] [] + diff --git a/vendor/monolog/monolog/phpunit.xml.dist b/vendor/monolog/monolog/phpunit.xml.dist new file mode 100644 index 00000000..20d82b63 --- /dev/null +++ b/vendor/monolog/monolog/phpunit.xml.dist @@ -0,0 +1,19 @@ + + + + + + tests/Monolog/ + + + + + + src/Monolog/ + + + + + + + diff --git a/vendor/monolog/monolog/src/Monolog/ErrorHandler.php b/vendor/monolog/monolog/src/Monolog/ErrorHandler.php new file mode 100644 index 00000000..7bfcd833 --- /dev/null +++ b/vendor/monolog/monolog/src/Monolog/ErrorHandler.php @@ -0,0 +1,230 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Monolog; + +use Psr\Log\LoggerInterface; +use Psr\Log\LogLevel; +use Monolog\Handler\AbstractHandler; + +/** + * Monolog error handler + * + * A facility to enable logging of runtime errors, exceptions and fatal errors. + * + * Quick setup: ErrorHandler::register($logger); + * + * @author Jordi Boggiano + */ +class ErrorHandler +{ + private $logger; + + private $previousExceptionHandler; + private $uncaughtExceptionLevel; + + private $previousErrorHandler; + private $errorLevelMap; + private $handleOnlyReportedErrors; + + private $hasFatalErrorHandler; + private $fatalLevel; + private $reservedMemory; + private static $fatalErrors = array(E_ERROR, E_PARSE, E_CORE_ERROR, E_COMPILE_ERROR, E_USER_ERROR); + + public function __construct(LoggerInterface $logger) + { + $this->logger = $logger; + } + + /** + * Registers a new ErrorHandler for a given Logger + * + * By default it will handle errors, exceptions and fatal errors + * + * @param LoggerInterface $logger + * @param array|false $errorLevelMap an array of E_* constant to LogLevel::* constant mapping, or false to disable error handling + * @param int|false $exceptionLevel a LogLevel::* constant, or false to disable exception handling + * @param int|false $fatalLevel a LogLevel::* constant, or false to disable fatal error handling + * @return ErrorHandler + */ + public static function register(LoggerInterface $logger, $errorLevelMap = array(), $exceptionLevel = null, $fatalLevel = null) + { + //Forces the autoloader to run for LogLevel. Fixes an autoload issue at compile-time on PHP5.3. See https://github.com/Seldaek/monolog/pull/929 + class_exists('\\Psr\\Log\\LogLevel', true); + + $handler = new static($logger); + if ($errorLevelMap !== false) { + $handler->registerErrorHandler($errorLevelMap); + } + if ($exceptionLevel !== false) { + $handler->registerExceptionHandler($exceptionLevel); + } + if ($fatalLevel !== false) { + $handler->registerFatalHandler($fatalLevel); + } + + return $handler; + } + + public function registerExceptionHandler($level = null, $callPrevious = true) + { + $prev = set_exception_handler(array($this, 'handleException')); + $this->uncaughtExceptionLevel = $level; + if ($callPrevious && $prev) { + $this->previousExceptionHandler = $prev; + } + } + + public function registerErrorHandler(array $levelMap = array(), $callPrevious = true, $errorTypes = -1, $handleOnlyReportedErrors = true) + { + $prev = set_error_handler(array($this, 'handleError'), $errorTypes); + $this->errorLevelMap = array_replace($this->defaultErrorLevelMap(), $levelMap); + if ($callPrevious) { + $this->previousErrorHandler = $prev ?: true; + } + + $this->handleOnlyReportedErrors = $handleOnlyReportedErrors; + } + + public function registerFatalHandler($level = null, $reservedMemorySize = 20) + { + register_shutdown_function(array($this, 'handleFatalError')); + + $this->reservedMemory = str_repeat(' ', 1024 * $reservedMemorySize); + $this->fatalLevel = $level; + $this->hasFatalErrorHandler = true; + } + + protected function defaultErrorLevelMap() + { + return array( + E_ERROR => LogLevel::CRITICAL, + E_WARNING => LogLevel::WARNING, + E_PARSE => LogLevel::ALERT, + E_NOTICE => LogLevel::NOTICE, + E_CORE_ERROR => LogLevel::CRITICAL, + E_CORE_WARNING => LogLevel::WARNING, + E_COMPILE_ERROR => LogLevel::ALERT, + E_COMPILE_WARNING => LogLevel::WARNING, + E_USER_ERROR => LogLevel::ERROR, + E_USER_WARNING => LogLevel::WARNING, + E_USER_NOTICE => LogLevel::NOTICE, + E_STRICT => LogLevel::NOTICE, + E_RECOVERABLE_ERROR => LogLevel::ERROR, + E_DEPRECATED => LogLevel::NOTICE, + E_USER_DEPRECATED => LogLevel::NOTICE, + ); + } + + /** + * @private + */ + public function handleException($e) + { + $this->logger->log( + $this->uncaughtExceptionLevel === null ? LogLevel::ERROR : $this->uncaughtExceptionLevel, + sprintf('Uncaught Exception %s: "%s" at %s line %s', get_class($e), $e->getMessage(), $e->getFile(), $e->getLine()), + array('exception' => $e) + ); + + if ($this->previousExceptionHandler) { + call_user_func($this->previousExceptionHandler, $e); + } + + exit(255); + } + + /** + * @private + */ + public function handleError($code, $message, $file = '', $line = 0, $context = array()) + { + if ($this->handleOnlyReportedErrors && !(error_reporting() & $code)) { + return; + } + + // fatal error codes are ignored if a fatal error handler is present as well to avoid duplicate log entries + if (!$this->hasFatalErrorHandler || !in_array($code, self::$fatalErrors, true)) { + $level = isset($this->errorLevelMap[$code]) ? $this->errorLevelMap[$code] : LogLevel::CRITICAL; + $this->logger->log($level, self::codeToString($code).': '.$message, array('code' => $code, 'message' => $message, 'file' => $file, 'line' => $line)); + } + + if ($this->previousErrorHandler === true) { + return false; + } elseif ($this->previousErrorHandler) { + return call_user_func($this->previousErrorHandler, $code, $message, $file, $line, $context); + } + } + + /** + * @private + */ + public function handleFatalError() + { + $this->reservedMemory = null; + + $lastError = error_get_last(); + if ($lastError && in_array($lastError['type'], self::$fatalErrors, true)) { + $this->logger->log( + $this->fatalLevel === null ? LogLevel::ALERT : $this->fatalLevel, + 'Fatal Error ('.self::codeToString($lastError['type']).'): '.$lastError['message'], + array('code' => $lastError['type'], 'message' => $lastError['message'], 'file' => $lastError['file'], 'line' => $lastError['line']) + ); + + if ($this->logger instanceof Logger) { + foreach ($this->logger->getHandlers() as $handler) { + if ($handler instanceof AbstractHandler) { + $handler->close(); + } + } + } + } + } + + private static function codeToString($code) + { + switch ($code) { + case E_ERROR: + return 'E_ERROR'; + case E_WARNING: + return 'E_WARNING'; + case E_PARSE: + return 'E_PARSE'; + case E_NOTICE: + return 'E_NOTICE'; + case E_CORE_ERROR: + return 'E_CORE_ERROR'; + case E_CORE_WARNING: + return 'E_CORE_WARNING'; + case E_COMPILE_ERROR: + return 'E_COMPILE_ERROR'; + case E_COMPILE_WARNING: + return 'E_COMPILE_WARNING'; + case E_USER_ERROR: + return 'E_USER_ERROR'; + case E_USER_WARNING: + return 'E_USER_WARNING'; + case E_USER_NOTICE: + return 'E_USER_NOTICE'; + case E_STRICT: + return 'E_STRICT'; + case E_RECOVERABLE_ERROR: + return 'E_RECOVERABLE_ERROR'; + case E_DEPRECATED: + return 'E_DEPRECATED'; + case E_USER_DEPRECATED: + return 'E_USER_DEPRECATED'; + } + + return 'Unknown PHP error'; + } +} diff --git a/vendor/monolog/monolog/src/Monolog/Formatter/ChromePHPFormatter.php b/vendor/monolog/monolog/src/Monolog/Formatter/ChromePHPFormatter.php new file mode 100644 index 00000000..9beda1e7 --- /dev/null +++ b/vendor/monolog/monolog/src/Monolog/Formatter/ChromePHPFormatter.php @@ -0,0 +1,78 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Monolog\Formatter; + +use Monolog\Logger; + +/** + * Formats a log message according to the ChromePHP array format + * + * @author Christophe Coevoet + */ +class ChromePHPFormatter implements FormatterInterface +{ + /** + * Translates Monolog log levels to Wildfire levels. + */ + private $logLevels = array( + Logger::DEBUG => 'log', + Logger::INFO => 'info', + Logger::NOTICE => 'info', + Logger::WARNING => 'warn', + Logger::ERROR => 'error', + Logger::CRITICAL => 'error', + Logger::ALERT => 'error', + Logger::EMERGENCY => 'error', + ); + + /** + * {@inheritdoc} + */ + public function format(array $record) + { + // Retrieve the line and file if set and remove them from the formatted extra + $backtrace = 'unknown'; + if (isset($record['extra']['file'], $record['extra']['line'])) { + $backtrace = $record['extra']['file'].' : '.$record['extra']['line']; + unset($record['extra']['file'], $record['extra']['line']); + } + + $message = array('message' => $record['message']); + if ($record['context']) { + $message['context'] = $record['context']; + } + if ($record['extra']) { + $message['extra'] = $record['extra']; + } + if (count($message) === 1) { + $message = reset($message); + } + + return array( + $record['channel'], + $message, + $backtrace, + $this->logLevels[$record['level']], + ); + } + + public function formatBatch(array $records) + { + $formatted = array(); + + foreach ($records as $record) { + $formatted[] = $this->format($record); + } + + return $formatted; + } +} diff --git a/vendor/monolog/monolog/src/Monolog/Formatter/ElasticaFormatter.php b/vendor/monolog/monolog/src/Monolog/Formatter/ElasticaFormatter.php new file mode 100644 index 00000000..4c556cf1 --- /dev/null +++ b/vendor/monolog/monolog/src/Monolog/Formatter/ElasticaFormatter.php @@ -0,0 +1,89 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Monolog\Formatter; + +use Elastica\Document; + +/** + * Format a log message into an Elastica Document + * + * @author Jelle Vink + */ +class ElasticaFormatter extends NormalizerFormatter +{ + /** + * @var string Elastic search index name + */ + protected $index; + + /** + * @var string Elastic search document type + */ + protected $type; + + /** + * @param string $index Elastic Search index name + * @param string $type Elastic Search document type + */ + public function __construct($index, $type) + { + // elasticsearch requires a ISO 8601 format date with optional millisecond precision. + parent::__construct('Y-m-d\TH:i:s.uP'); + + $this->index = $index; + $this->type = $type; + } + + /** + * {@inheritdoc} + */ + public function format(array $record) + { + $record = parent::format($record); + + return $this->getDocument($record); + } + + /** + * Getter index + * @return string + */ + public function getIndex() + { + return $this->index; + } + + /** + * Getter type + * @return string + */ + public function getType() + { + return $this->type; + } + + /** + * Convert a log message into an Elastica Document + * + * @param array $record Log message + * @return Document + */ + protected function getDocument($record) + { + $document = new Document(); + $document->setData($record); + $document->setType($this->type); + $document->setIndex($this->index); + + return $document; + } +} diff --git a/vendor/monolog/monolog/src/Monolog/Formatter/FlowdockFormatter.php b/vendor/monolog/monolog/src/Monolog/Formatter/FlowdockFormatter.php new file mode 100644 index 00000000..5094af3c --- /dev/null +++ b/vendor/monolog/monolog/src/Monolog/Formatter/FlowdockFormatter.php @@ -0,0 +1,116 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Monolog\Formatter; + +/** + * formats the record to be used in the FlowdockHandler + * + * @author Dominik Liebler + */ +class FlowdockFormatter implements FormatterInterface +{ + /** + * @var string + */ + private $source; + + /** + * @var string + */ + private $sourceEmail; + + /** + * @param string $source + * @param string $sourceEmail + */ + public function __construct($source, $sourceEmail) + { + $this->source = $source; + $this->sourceEmail = $sourceEmail; + } + + /** + * {@inheritdoc} + */ + public function format(array $record) + { + $tags = array( + '#logs', + '#' . strtolower($record['level_name']), + '#' . $record['channel'], + ); + + foreach ($record['extra'] as $value) { + $tags[] = '#' . $value; + } + + $subject = sprintf( + 'in %s: %s - %s', + $this->source, + $record['level_name'], + $this->getShortMessage($record['message']) + ); + + $record['flowdock'] = array( + 'source' => $this->source, + 'from_address' => $this->sourceEmail, + 'subject' => $subject, + 'content' => $record['message'], + 'tags' => $tags, + 'project' => $this->source, + ); + + return $record; + } + + /** + * {@inheritdoc} + */ + public function formatBatch(array $records) + { + $formatted = array(); + + foreach ($records as $record) { + $formatted[] = $this->format($record); + } + + return $formatted; + } + + /** + * @param string $message + * + * @return string + */ + public function getShortMessage($message) + { + static $hasMbString; + + if (null === $hasMbString) { + $hasMbString = function_exists('mb_strlen'); + } + + $maxLength = 45; + + if ($hasMbString) { + if (mb_strlen($message, 'UTF-8') > $maxLength) { + $message = mb_substr($message, 0, $maxLength - 4, 'UTF-8') . ' ...'; + } + } else { + if (strlen($message) > $maxLength) { + $message = substr($message, 0, $maxLength - 4) . ' ...'; + } + } + + return $message; + } +} diff --git a/vendor/monolog/monolog/src/Monolog/Formatter/FluentdFormatter.php b/vendor/monolog/monolog/src/Monolog/Formatter/FluentdFormatter.php new file mode 100644 index 00000000..02632bb5 --- /dev/null +++ b/vendor/monolog/monolog/src/Monolog/Formatter/FluentdFormatter.php @@ -0,0 +1,85 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Monolog\Formatter; + +/** + * Class FluentdFormatter + * + * Serializes a log message to Fluentd unix socket protocol + * + * Fluentd config: + * + * + * type unix + * path /var/run/td-agent/td-agent.sock + * + * + * Monolog setup: + * + * $logger = new Monolog\Logger('fluent.tag'); + * $fluentHandler = new Monolog\Handler\SocketHandler('unix:///var/run/td-agent/td-agent.sock'); + * $fluentHandler->setFormatter(new Monolog\Formatter\FluentdFormatter()); + * $logger->pushHandler($fluentHandler); + * + * @author Andrius Putna + */ +class FluentdFormatter implements FormatterInterface +{ + /** + * @var bool $levelTag should message level be a part of the fluentd tag + */ + protected $levelTag = false; + + public function __construct($levelTag = false) + { + if (!function_exists('json_encode')) { + throw new \RuntimeException('PHP\'s json extension is required to use Monolog\'s FluentdUnixFormatter'); + } + + $this->levelTag = (bool) $levelTag; + } + + public function isUsingLevelsInTag() + { + return $this->levelTag; + } + + public function format(array $record) + { + $tag = $record['channel']; + if ($this->levelTag) { + $tag .= '.' . strtolower($record['level_name']); + } + + $message = array( + 'message' => $record['message'], + 'extra' => $record['extra'], + ); + + if (!$this->levelTag) { + $message['level'] = $record['level']; + $message['level_name'] = $record['level_name']; + } + + return json_encode(array($tag, $record['datetime']->getTimestamp(), $message)); + } + + public function formatBatch(array $records) + { + $message = ''; + foreach ($records as $record) { + $message .= $this->format($record); + } + + return $message; + } +} diff --git a/vendor/monolog/monolog/src/Monolog/Formatter/FormatterInterface.php b/vendor/monolog/monolog/src/Monolog/Formatter/FormatterInterface.php new file mode 100644 index 00000000..b5de7511 --- /dev/null +++ b/vendor/monolog/monolog/src/Monolog/Formatter/FormatterInterface.php @@ -0,0 +1,36 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Monolog\Formatter; + +/** + * Interface for formatters + * + * @author Jordi Boggiano + */ +interface FormatterInterface +{ + /** + * Formats a log record. + * + * @param array $record A record to format + * @return mixed The formatted record + */ + public function format(array $record); + + /** + * Formats a set of log records. + * + * @param array $records A set of records to format + * @return mixed The formatted set of records + */ + public function formatBatch(array $records); +} diff --git a/vendor/monolog/monolog/src/Monolog/Formatter/GelfMessageFormatter.php b/vendor/monolog/monolog/src/Monolog/Formatter/GelfMessageFormatter.php new file mode 100644 index 00000000..64e76652 --- /dev/null +++ b/vendor/monolog/monolog/src/Monolog/Formatter/GelfMessageFormatter.php @@ -0,0 +1,137 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Monolog\Formatter; + +use Monolog\Logger; +use Gelf\Message; + +/** + * Serializes a log message to GELF + * @see http://www.graylog2.org/about/gelf + * + * @author Matt Lehner + */ +class GelfMessageFormatter extends NormalizerFormatter +{ + const MAX_LENGTH = 32766; + + /** + * @var string the name of the system for the Gelf log message + */ + protected $systemName; + + /** + * @var string a prefix for 'extra' fields from the Monolog record (optional) + */ + protected $extraPrefix; + + /** + * @var string a prefix for 'context' fields from the Monolog record (optional) + */ + protected $contextPrefix; + + /** + * Translates Monolog log levels to Graylog2 log priorities. + */ + private $logLevels = array( + Logger::DEBUG => 7, + Logger::INFO => 6, + Logger::NOTICE => 5, + Logger::WARNING => 4, + Logger::ERROR => 3, + Logger::CRITICAL => 2, + Logger::ALERT => 1, + Logger::EMERGENCY => 0, + ); + + public function __construct($systemName = null, $extraPrefix = null, $contextPrefix = 'ctxt_') + { + parent::__construct('U.u'); + + $this->systemName = $systemName ?: gethostname(); + + $this->extraPrefix = $extraPrefix; + $this->contextPrefix = $contextPrefix; + } + + /** + * {@inheritdoc} + */ + public function format(array $record) + { + $record = parent::format($record); + + if (!isset($record['datetime'], $record['message'], $record['level'])) { + throw new \InvalidArgumentException('The record should at least contain datetime, message and level keys, '.var_export($record, true).' given'); + } + + $message = new Message(); + $message + ->setTimestamp($record['datetime']) + ->setShortMessage((string) $record['message']) + ->setHost($this->systemName) + ->setLevel($this->logLevels[$record['level']]); + + // start count with message length + system name length + 200 for padding / metadata + $len = 200 + strlen((string) $record['message']) + strlen($this->systemName); + + if ($len > self::MAX_LENGTH) { + $message->setShortMessage(substr($record['message'], 0, self::MAX_LENGTH - 200)); + + return $message; + } + + if (isset($record['channel'])) { + $message->setFacility($record['channel']); + $len += strlen($record['channel']); + } + if (isset($record['extra']['line'])) { + $message->setLine($record['extra']['line']); + $len += 10; + unset($record['extra']['line']); + } + if (isset($record['extra']['file'])) { + $message->setFile($record['extra']['file']); + $len += strlen($record['extra']['file']); + unset($record['extra']['file']); + } + + foreach ($record['extra'] as $key => $val) { + $val = is_scalar($val) || null === $val ? $val : $this->toJson($val); + $len += strlen($this->extraPrefix . $key . $val); + if ($len > self::MAX_LENGTH) { + $message->setAdditional($this->extraPrefix . $key, substr($val, 0, self::MAX_LENGTH - $len)); + break; + } + $message->setAdditional($this->extraPrefix . $key, $val); + } + + foreach ($record['context'] as $key => $val) { + $val = is_scalar($val) || null === $val ? $val : $this->toJson($val); + $len += strlen($this->contextPrefix . $key . $val); + if ($len > self::MAX_LENGTH) { + $message->setAdditional($this->contextPrefix . $key, substr($val, 0, self::MAX_LENGTH - $len)); + break; + } + $message->setAdditional($this->contextPrefix . $key, $val); + } + + if (null === $message->getFile() && isset($record['context']['exception']['file'])) { + if (preg_match("/^(.+):([0-9]+)$/", $record['context']['exception']['file'], $matches)) { + $message->setFile($matches[1]); + $message->setLine($matches[2]); + } + } + + return $message; + } +} diff --git a/vendor/monolog/monolog/src/Monolog/Formatter/HtmlFormatter.php b/vendor/monolog/monolog/src/Monolog/Formatter/HtmlFormatter.php new file mode 100644 index 00000000..3eec95f6 --- /dev/null +++ b/vendor/monolog/monolog/src/Monolog/Formatter/HtmlFormatter.php @@ -0,0 +1,141 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Monolog\Formatter; + +use Monolog\Logger; + +/** + * Formats incoming records into an HTML table + * + * This is especially useful for html email logging + * + * @author Tiago Brito + */ +class HtmlFormatter extends NormalizerFormatter +{ + /** + * Translates Monolog log levels to html color priorities. + */ + protected $logLevels = array( + Logger::DEBUG => '#cccccc', + Logger::INFO => '#468847', + Logger::NOTICE => '#3a87ad', + Logger::WARNING => '#c09853', + Logger::ERROR => '#f0ad4e', + Logger::CRITICAL => '#FF7708', + Logger::ALERT => '#C12A19', + Logger::EMERGENCY => '#000000', + ); + + /** + * @param string $dateFormat The format of the timestamp: one supported by DateTime::format + */ + public function __construct($dateFormat = null) + { + parent::__construct($dateFormat); + } + + /** + * Creates an HTML table row + * + * @param string $th Row header content + * @param string $td Row standard cell content + * @param bool $escapeTd false if td content must not be html escaped + * @return string + */ + protected function addRow($th, $td = ' ', $escapeTd = true) + { + $th = htmlspecialchars($th, ENT_NOQUOTES, 'UTF-8'); + if ($escapeTd) { + $td = '
'.htmlspecialchars($td, ENT_NOQUOTES, 'UTF-8').'
'; + } + + return "\n$th:\n".$td."\n"; + } + + /** + * Create a HTML h1 tag + * + * @param string $title Text to be in the h1 + * @param int $level Error level + * @return string + */ + protected function addTitle($title, $level) + { + $title = htmlspecialchars($title, ENT_NOQUOTES, 'UTF-8'); + + return '

'.$title.'

'; + } + + /** + * Formats a log record. + * + * @param array $record A record to format + * @return mixed The formatted record + */ + public function format(array $record) + { + $output = $this->addTitle($record['level_name'], $record['level']); + $output .= ''; + + $output .= $this->addRow('Message', (string) $record['message']); + $output .= $this->addRow('Time', $record['datetime']->format($this->dateFormat)); + $output .= $this->addRow('Channel', $record['channel']); + if ($record['context']) { + $embeddedTable = '
'; + foreach ($record['context'] as $key => $value) { + $embeddedTable .= $this->addRow($key, $this->convertToString($value)); + } + $embeddedTable .= '
'; + $output .= $this->addRow('Context', $embeddedTable, false); + } + if ($record['extra']) { + $embeddedTable = ''; + foreach ($record['extra'] as $key => $value) { + $embeddedTable .= $this->addRow($key, $this->convertToString($value)); + } + $embeddedTable .= '
'; + $output .= $this->addRow('Extra', $embeddedTable, false); + } + + return $output.''; + } + + /** + * Formats a set of log records. + * + * @param array $records A set of records to format + * @return mixed The formatted set of records + */ + public function formatBatch(array $records) + { + $message = ''; + foreach ($records as $record) { + $message .= $this->format($record); + } + + return $message; + } + + protected function convertToString($data) + { + if (null === $data || is_scalar($data)) { + return (string) $data; + } + + $data = $this->normalize($data); + if (version_compare(PHP_VERSION, '5.4.0', '>=')) { + return json_encode($data, JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE); + } + + return str_replace('\\/', '/', json_encode($data)); + } +} diff --git a/vendor/monolog/monolog/src/Monolog/Formatter/JsonFormatter.php b/vendor/monolog/monolog/src/Monolog/Formatter/JsonFormatter.php new file mode 100644 index 00000000..4b2be77d --- /dev/null +++ b/vendor/monolog/monolog/src/Monolog/Formatter/JsonFormatter.php @@ -0,0 +1,206 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Monolog\Formatter; + +use Exception; +use Throwable; + +/** + * Encodes whatever record data is passed to it as json + * + * This can be useful to log to databases or remote APIs + * + * @author Jordi Boggiano + */ +class JsonFormatter extends NormalizerFormatter +{ + const BATCH_MODE_JSON = 1; + const BATCH_MODE_NEWLINES = 2; + + protected $batchMode; + protected $appendNewline; + /** + * @var bool + */ + protected $includeStacktraces = false; + + /** + * @param int $batchMode + */ + public function __construct($batchMode = self::BATCH_MODE_JSON, $appendNewline = true) + { + $this->batchMode = $batchMode; + $this->appendNewline = $appendNewline; + } + + /** + * The batch mode option configures the formatting style for + * multiple records. By default, multiple records will be + * formatted as a JSON-encoded array. However, for + * compatibility with some API endpoints, alternative styles + * are available. + * + * @return int + */ + public function getBatchMode() + { + return $this->batchMode; + } + + /** + * True if newlines are appended to every formatted record + * + * @return bool + */ + public function isAppendingNewlines() + { + return $this->appendNewline; + } + + /** + * {@inheritdoc} + */ + public function format(array $record) + { + return $this->toJson($this->normalize($record), true) . ($this->appendNewline ? "\n" : ''); + } + + /** + * {@inheritdoc} + */ + public function formatBatch(array $records) + { + switch ($this->batchMode) { + case static::BATCH_MODE_NEWLINES: + return $this->formatBatchNewlines($records); + + case static::BATCH_MODE_JSON: + default: + return $this->formatBatchJson($records); + } + } + + /** + * @param bool $include + */ + public function includeStacktraces($include = true) + { + $this->includeStacktraces = $include; + } + + /** + * Return a JSON-encoded array of records. + * + * @param array $records + * @return string + */ + protected function formatBatchJson(array $records) + { + return $this->toJson($this->normalize($records), true); + } + + /** + * Use new lines to separate records instead of a + * JSON-encoded array. + * + * @param array $records + * @return string + */ + protected function formatBatchNewlines(array $records) + { + $instance = $this; + + $oldNewline = $this->appendNewline; + $this->appendNewline = false; + array_walk($records, function (&$value, $key) use ($instance) { + $value = $instance->format($value); + }); + $this->appendNewline = $oldNewline; + + return implode("\n", $records); + } + + /** + * Normalizes given $data. + * + * @param mixed $data + * + * @return mixed + */ + protected function normalize($data) + { + if (is_array($data) || $data instanceof \Traversable) { + $normalized = array(); + + $count = 1; + foreach ($data as $key => $value) { + if ($count++ >= 1000) { + $normalized['...'] = 'Over 1000 items, aborting normalization'; + break; + } + $normalized[$key] = $this->normalize($value); + } + + return $normalized; + } + + if ($data instanceof Exception || $data instanceof Throwable) { + return $this->normalizeException($data); + } + + return $data; + } + + /** + * Normalizes given exception with or without its own stack trace based on + * `includeStacktraces` property. + * + * @param Exception|Throwable $e + * + * @return array + */ + protected function normalizeException($e) + { + // TODO 2.0 only check for Throwable + if (!$e instanceof Exception && !$e instanceof Throwable) { + throw new \InvalidArgumentException('Exception/Throwable expected, got '.gettype($e).' / '.get_class($e)); + } + + $data = array( + 'class' => get_class($e), + 'message' => $e->getMessage(), + 'code' => $e->getCode(), + 'file' => $e->getFile().':'.$e->getLine(), + ); + + if ($this->includeStacktraces) { + $trace = $e->getTrace(); + foreach ($trace as $frame) { + if (isset($frame['file'])) { + $data['trace'][] = $frame['file'].':'.$frame['line']; + } elseif (isset($frame['function']) && $frame['function'] === '{closure}') { + // We should again normalize the frames, because it might contain invalid items + $data['trace'][] = $frame['function']; + } else { + // We should again normalize the frames, because it might contain invalid items + $data['trace'][] = $this->normalize($frame); + } + } + } + + if ($previous = $e->getPrevious()) { + $data['previous'] = $this->normalizeException($previous); + } + + return $data; + } +} diff --git a/vendor/monolog/monolog/src/Monolog/Formatter/LineFormatter.php b/vendor/monolog/monolog/src/Monolog/Formatter/LineFormatter.php new file mode 100644 index 00000000..d3e209e6 --- /dev/null +++ b/vendor/monolog/monolog/src/Monolog/Formatter/LineFormatter.php @@ -0,0 +1,179 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Monolog\Formatter; + +/** + * Formats incoming records into a one-line string + * + * This is especially useful for logging to files + * + * @author Jordi Boggiano + * @author Christophe Coevoet + */ +class LineFormatter extends NormalizerFormatter +{ + const SIMPLE_FORMAT = "[%datetime%] %channel%.%level_name%: %message% %context% %extra%\n"; + + protected $format; + protected $allowInlineLineBreaks; + protected $ignoreEmptyContextAndExtra; + protected $includeStacktraces; + + /** + * @param string $format The format of the message + * @param string $dateFormat The format of the timestamp: one supported by DateTime::format + * @param bool $allowInlineLineBreaks Whether to allow inline line breaks in log entries + * @param bool $ignoreEmptyContextAndExtra + */ + public function __construct($format = null, $dateFormat = null, $allowInlineLineBreaks = false, $ignoreEmptyContextAndExtra = false) + { + $this->format = $format ?: static::SIMPLE_FORMAT; + $this->allowInlineLineBreaks = $allowInlineLineBreaks; + $this->ignoreEmptyContextAndExtra = $ignoreEmptyContextAndExtra; + parent::__construct($dateFormat); + } + + public function includeStacktraces($include = true) + { + $this->includeStacktraces = $include; + if ($this->includeStacktraces) { + $this->allowInlineLineBreaks = true; + } + } + + public function allowInlineLineBreaks($allow = true) + { + $this->allowInlineLineBreaks = $allow; + } + + public function ignoreEmptyContextAndExtra($ignore = true) + { + $this->ignoreEmptyContextAndExtra = $ignore; + } + + /** + * {@inheritdoc} + */ + public function format(array $record) + { + $vars = parent::format($record); + + $output = $this->format; + + foreach ($vars['extra'] as $var => $val) { + if (false !== strpos($output, '%extra.'.$var.'%')) { + $output = str_replace('%extra.'.$var.'%', $this->stringify($val), $output); + unset($vars['extra'][$var]); + } + } + + + foreach ($vars['context'] as $var => $val) { + if (false !== strpos($output, '%context.'.$var.'%')) { + $output = str_replace('%context.'.$var.'%', $this->stringify($val), $output); + unset($vars['context'][$var]); + } + } + + if ($this->ignoreEmptyContextAndExtra) { + if (empty($vars['context'])) { + unset($vars['context']); + $output = str_replace('%context%', '', $output); + } + + if (empty($vars['extra'])) { + unset($vars['extra']); + $output = str_replace('%extra%', '', $output); + } + } + + foreach ($vars as $var => $val) { + if (false !== strpos($output, '%'.$var.'%')) { + $output = str_replace('%'.$var.'%', $this->stringify($val), $output); + } + } + + // remove leftover %extra.xxx% and %context.xxx% if any + if (false !== strpos($output, '%')) { + $output = preg_replace('/%(?:extra|context)\..+?%/', '', $output); + } + + return $output; + } + + public function formatBatch(array $records) + { + $message = ''; + foreach ($records as $record) { + $message .= $this->format($record); + } + + return $message; + } + + public function stringify($value) + { + return $this->replaceNewlines($this->convertToString($value)); + } + + protected function normalizeException($e) + { + // TODO 2.0 only check for Throwable + if (!$e instanceof \Exception && !$e instanceof \Throwable) { + throw new \InvalidArgumentException('Exception/Throwable expected, got '.gettype($e).' / '.get_class($e)); + } + + $previousText = ''; + if ($previous = $e->getPrevious()) { + do { + $previousText .= ', '.get_class($previous).'(code: '.$previous->getCode().'): '.$previous->getMessage().' at '.$previous->getFile().':'.$previous->getLine(); + } while ($previous = $previous->getPrevious()); + } + + $str = '[object] ('.get_class($e).'(code: '.$e->getCode().'): '.$e->getMessage().' at '.$e->getFile().':'.$e->getLine().$previousText.')'; + if ($this->includeStacktraces) { + $str .= "\n[stacktrace]\n".$e->getTraceAsString()."\n"; + } + + return $str; + } + + protected function convertToString($data) + { + if (null === $data || is_bool($data)) { + return var_export($data, true); + } + + if (is_scalar($data)) { + return (string) $data; + } + + if (version_compare(PHP_VERSION, '5.4.0', '>=')) { + return $this->toJson($data, true); + } + + return str_replace('\\/', '/', @json_encode($data)); + } + + protected function replaceNewlines($str) + { + if ($this->allowInlineLineBreaks) { + if (0 === strpos($str, '{')) { + return str_replace(array('\r', '\n'), array("\r", "\n"), $str); + } + + return $str; + } + + return str_replace(array("\r\n", "\r", "\n"), ' ', $str); + } +} diff --git a/vendor/monolog/monolog/src/Monolog/Formatter/LogglyFormatter.php b/vendor/monolog/monolog/src/Monolog/Formatter/LogglyFormatter.php new file mode 100644 index 00000000..401859bb --- /dev/null +++ b/vendor/monolog/monolog/src/Monolog/Formatter/LogglyFormatter.php @@ -0,0 +1,47 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Monolog\Formatter; + +/** + * Encodes message information into JSON in a format compatible with Loggly. + * + * @author Adam Pancutt + */ +class LogglyFormatter extends JsonFormatter +{ + /** + * Overrides the default batch mode to new lines for compatibility with the + * Loggly bulk API. + * + * @param int $batchMode + */ + public function __construct($batchMode = self::BATCH_MODE_NEWLINES, $appendNewline = false) + { + parent::__construct($batchMode, $appendNewline); + } + + /** + * Appends the 'timestamp' parameter for indexing by Loggly. + * + * @see https://www.loggly.com/docs/automated-parsing/#json + * @see \Monolog\Formatter\JsonFormatter::format() + */ + public function format(array $record) + { + if (isset($record["datetime"]) && ($record["datetime"] instanceof \DateTime)) { + $record["timestamp"] = $record["datetime"]->format("Y-m-d\TH:i:s.uO"); + // TODO 2.0 unset the 'datetime' parameter, retained for BC + } + + return parent::format($record); + } +} diff --git a/vendor/monolog/monolog/src/Monolog/Formatter/LogstashFormatter.php b/vendor/monolog/monolog/src/Monolog/Formatter/LogstashFormatter.php new file mode 100644 index 00000000..8f83bec0 --- /dev/null +++ b/vendor/monolog/monolog/src/Monolog/Formatter/LogstashFormatter.php @@ -0,0 +1,166 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Monolog\Formatter; + +/** + * Serializes a log message to Logstash Event Format + * + * @see http://logstash.net/ + * @see https://github.com/logstash/logstash/blob/master/lib/logstash/event.rb + * + * @author Tim Mower + */ +class LogstashFormatter extends NormalizerFormatter +{ + const V0 = 0; + const V1 = 1; + + /** + * @var string the name of the system for the Logstash log message, used to fill the @source field + */ + protected $systemName; + + /** + * @var string an application name for the Logstash log message, used to fill the @type field + */ + protected $applicationName; + + /** + * @var string a prefix for 'extra' fields from the Monolog record (optional) + */ + protected $extraPrefix; + + /** + * @var string a prefix for 'context' fields from the Monolog record (optional) + */ + protected $contextPrefix; + + /** + * @var int logstash format version to use + */ + protected $version; + + /** + * @param string $applicationName the application that sends the data, used as the "type" field of logstash + * @param string $systemName the system/machine name, used as the "source" field of logstash, defaults to the hostname of the machine + * @param string $extraPrefix prefix for extra keys inside logstash "fields" + * @param string $contextPrefix prefix for context keys inside logstash "fields", defaults to ctxt_ + * @param int $version the logstash format version to use, defaults to 0 + */ + public function __construct($applicationName, $systemName = null, $extraPrefix = null, $contextPrefix = 'ctxt_', $version = self::V0) + { + // logstash requires a ISO 8601 format date with optional millisecond precision. + parent::__construct('Y-m-d\TH:i:s.uP'); + + $this->systemName = $systemName ?: gethostname(); + $this->applicationName = $applicationName; + $this->extraPrefix = $extraPrefix; + $this->contextPrefix = $contextPrefix; + $this->version = $version; + } + + /** + * {@inheritdoc} + */ + public function format(array $record) + { + $record = parent::format($record); + + if ($this->version === self::V1) { + $message = $this->formatV1($record); + } else { + $message = $this->formatV0($record); + } + + return $this->toJson($message) . "\n"; + } + + protected function formatV0(array $record) + { + if (empty($record['datetime'])) { + $record['datetime'] = gmdate('c'); + } + $message = array( + '@timestamp' => $record['datetime'], + '@source' => $this->systemName, + '@fields' => array(), + ); + if (isset($record['message'])) { + $message['@message'] = $record['message']; + } + if (isset($record['channel'])) { + $message['@tags'] = array($record['channel']); + $message['@fields']['channel'] = $record['channel']; + } + if (isset($record['level'])) { + $message['@fields']['level'] = $record['level']; + } + if ($this->applicationName) { + $message['@type'] = $this->applicationName; + } + if (isset($record['extra']['server'])) { + $message['@source_host'] = $record['extra']['server']; + } + if (isset($record['extra']['url'])) { + $message['@source_path'] = $record['extra']['url']; + } + if (!empty($record['extra'])) { + foreach ($record['extra'] as $key => $val) { + $message['@fields'][$this->extraPrefix . $key] = $val; + } + } + if (!empty($record['context'])) { + foreach ($record['context'] as $key => $val) { + $message['@fields'][$this->contextPrefix . $key] = $val; + } + } + + return $message; + } + + protected function formatV1(array $record) + { + if (empty($record['datetime'])) { + $record['datetime'] = gmdate('c'); + } + $message = array( + '@timestamp' => $record['datetime'], + '@version' => 1, + 'host' => $this->systemName, + ); + if (isset($record['message'])) { + $message['message'] = $record['message']; + } + if (isset($record['channel'])) { + $message['type'] = $record['channel']; + $message['channel'] = $record['channel']; + } + if (isset($record['level_name'])) { + $message['level'] = $record['level_name']; + } + if ($this->applicationName) { + $message['type'] = $this->applicationName; + } + if (!empty($record['extra'])) { + foreach ($record['extra'] as $key => $val) { + $message[$this->extraPrefix . $key] = $val; + } + } + if (!empty($record['context'])) { + foreach ($record['context'] as $key => $val) { + $message[$this->contextPrefix . $key] = $val; + } + } + + return $message; + } +} diff --git a/vendor/monolog/monolog/src/Monolog/Formatter/MongoDBFormatter.php b/vendor/monolog/monolog/src/Monolog/Formatter/MongoDBFormatter.php new file mode 100644 index 00000000..eb067bb7 --- /dev/null +++ b/vendor/monolog/monolog/src/Monolog/Formatter/MongoDBFormatter.php @@ -0,0 +1,105 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Monolog\Formatter; + +/** + * Formats a record for use with the MongoDBHandler. + * + * @author Florian Plattner + */ +class MongoDBFormatter implements FormatterInterface +{ + private $exceptionTraceAsString; + private $maxNestingLevel; + + /** + * @param int $maxNestingLevel 0 means infinite nesting, the $record itself is level 1, $record['context'] is 2 + * @param bool $exceptionTraceAsString set to false to log exception traces as a sub documents instead of strings + */ + public function __construct($maxNestingLevel = 3, $exceptionTraceAsString = true) + { + $this->maxNestingLevel = max($maxNestingLevel, 0); + $this->exceptionTraceAsString = (bool) $exceptionTraceAsString; + } + + /** + * {@inheritDoc} + */ + public function format(array $record) + { + return $this->formatArray($record); + } + + /** + * {@inheritDoc} + */ + public function formatBatch(array $records) + { + foreach ($records as $key => $record) { + $records[$key] = $this->format($record); + } + + return $records; + } + + protected function formatArray(array $record, $nestingLevel = 0) + { + if ($this->maxNestingLevel == 0 || $nestingLevel <= $this->maxNestingLevel) { + foreach ($record as $name => $value) { + if ($value instanceof \DateTime) { + $record[$name] = $this->formatDate($value, $nestingLevel + 1); + } elseif ($value instanceof \Exception) { + $record[$name] = $this->formatException($value, $nestingLevel + 1); + } elseif (is_array($value)) { + $record[$name] = $this->formatArray($value, $nestingLevel + 1); + } elseif (is_object($value)) { + $record[$name] = $this->formatObject($value, $nestingLevel + 1); + } + } + } else { + $record = '[...]'; + } + + return $record; + } + + protected function formatObject($value, $nestingLevel) + { + $objectVars = get_object_vars($value); + $objectVars['class'] = get_class($value); + + return $this->formatArray($objectVars, $nestingLevel); + } + + protected function formatException(\Exception $exception, $nestingLevel) + { + $formattedException = array( + 'class' => get_class($exception), + 'message' => $exception->getMessage(), + 'code' => $exception->getCode(), + 'file' => $exception->getFile() . ':' . $exception->getLine(), + ); + + if ($this->exceptionTraceAsString === true) { + $formattedException['trace'] = $exception->getTraceAsString(); + } else { + $formattedException['trace'] = $exception->getTrace(); + } + + return $this->formatArray($formattedException, $nestingLevel); + } + + protected function formatDate(\DateTime $value, $nestingLevel) + { + return new \MongoDate($value->getTimestamp()); + } +} diff --git a/vendor/monolog/monolog/src/Monolog/Formatter/NormalizerFormatter.php b/vendor/monolog/monolog/src/Monolog/Formatter/NormalizerFormatter.php new file mode 100644 index 00000000..d4414882 --- /dev/null +++ b/vendor/monolog/monolog/src/Monolog/Formatter/NormalizerFormatter.php @@ -0,0 +1,297 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Monolog\Formatter; + +use Exception; + +/** + * Normalizes incoming records to remove objects/resources so it's easier to dump to various targets + * + * @author Jordi Boggiano + */ +class NormalizerFormatter implements FormatterInterface +{ + const SIMPLE_DATE = "Y-m-d H:i:s"; + + protected $dateFormat; + + /** + * @param string $dateFormat The format of the timestamp: one supported by DateTime::format + */ + public function __construct($dateFormat = null) + { + $this->dateFormat = $dateFormat ?: static::SIMPLE_DATE; + if (!function_exists('json_encode')) { + throw new \RuntimeException('PHP\'s json extension is required to use Monolog\'s NormalizerFormatter'); + } + } + + /** + * {@inheritdoc} + */ + public function format(array $record) + { + return $this->normalize($record); + } + + /** + * {@inheritdoc} + */ + public function formatBatch(array $records) + { + foreach ($records as $key => $record) { + $records[$key] = $this->format($record); + } + + return $records; + } + + protected function normalize($data) + { + if (null === $data || is_scalar($data)) { + if (is_float($data)) { + if (is_infinite($data)) { + return ($data > 0 ? '' : '-') . 'INF'; + } + if (is_nan($data)) { + return 'NaN'; + } + } + + return $data; + } + + if (is_array($data)) { + $normalized = array(); + + $count = 1; + foreach ($data as $key => $value) { + if ($count++ >= 1000) { + $normalized['...'] = 'Over 1000 items ('.count($data).' total), aborting normalization'; + break; + } + $normalized[$key] = $this->normalize($value); + } + + return $normalized; + } + + if ($data instanceof \DateTime) { + return $data->format($this->dateFormat); + } + + if (is_object($data)) { + // TODO 2.0 only check for Throwable + if ($data instanceof Exception || (PHP_VERSION_ID > 70000 && $data instanceof \Throwable)) { + return $this->normalizeException($data); + } + + // non-serializable objects that implement __toString stringified + if (method_exists($data, '__toString') && !$data instanceof \JsonSerializable) { + $value = $data->__toString(); + } else { + // the rest is json-serialized in some way + $value = $this->toJson($data, true); + } + + return sprintf("[object] (%s: %s)", get_class($data), $value); + } + + if (is_resource($data)) { + return sprintf('[resource] (%s)', get_resource_type($data)); + } + + return '[unknown('.gettype($data).')]'; + } + + protected function normalizeException($e) + { + // TODO 2.0 only check for Throwable + if (!$e instanceof Exception && !$e instanceof \Throwable) { + throw new \InvalidArgumentException('Exception/Throwable expected, got '.gettype($e).' / '.get_class($e)); + } + + $data = array( + 'class' => get_class($e), + 'message' => $e->getMessage(), + 'code' => $e->getCode(), + 'file' => $e->getFile().':'.$e->getLine(), + ); + + if ($e instanceof \SoapFault) { + if (isset($e->faultcode)) { + $data['faultcode'] = $e->faultcode; + } + + if (isset($e->faultactor)) { + $data['faultactor'] = $e->faultactor; + } + + if (isset($e->detail)) { + $data['detail'] = $e->detail; + } + } + + $trace = $e->getTrace(); + foreach ($trace as $frame) { + if (isset($frame['file'])) { + $data['trace'][] = $frame['file'].':'.$frame['line']; + } elseif (isset($frame['function']) && $frame['function'] === '{closure}') { + // We should again normalize the frames, because it might contain invalid items + $data['trace'][] = $frame['function']; + } else { + // We should again normalize the frames, because it might contain invalid items + $data['trace'][] = $this->toJson($this->normalize($frame), true); + } + } + + if ($previous = $e->getPrevious()) { + $data['previous'] = $this->normalizeException($previous); + } + + return $data; + } + + /** + * Return the JSON representation of a value + * + * @param mixed $data + * @param bool $ignoreErrors + * @throws \RuntimeException if encoding fails and errors are not ignored + * @return string + */ + protected function toJson($data, $ignoreErrors = false) + { + // suppress json_encode errors since it's twitchy with some inputs + if ($ignoreErrors) { + return @$this->jsonEncode($data); + } + + $json = $this->jsonEncode($data); + + if ($json === false) { + $json = $this->handleJsonError(json_last_error(), $data); + } + + return $json; + } + + /** + * @param mixed $data + * @return string JSON encoded data or null on failure + */ + private function jsonEncode($data) + { + if (version_compare(PHP_VERSION, '5.4.0', '>=')) { + return json_encode($data, JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE); + } + + return json_encode($data); + } + + /** + * Handle a json_encode failure. + * + * If the failure is due to invalid string encoding, try to clean the + * input and encode again. If the second encoding attempt fails, the + * inital error is not encoding related or the input can't be cleaned then + * raise a descriptive exception. + * + * @param int $code return code of json_last_error function + * @param mixed $data data that was meant to be encoded + * @throws \RuntimeException if failure can't be corrected + * @return string JSON encoded data after error correction + */ + private function handleJsonError($code, $data) + { + if ($code !== JSON_ERROR_UTF8) { + $this->throwEncodeError($code, $data); + } + + if (is_string($data)) { + $this->detectAndCleanUtf8($data); + } elseif (is_array($data)) { + array_walk_recursive($data, array($this, 'detectAndCleanUtf8')); + } else { + $this->throwEncodeError($code, $data); + } + + $json = $this->jsonEncode($data); + + if ($json === false) { + $this->throwEncodeError(json_last_error(), $data); + } + + return $json; + } + + /** + * Throws an exception according to a given code with a customized message + * + * @param int $code return code of json_last_error function + * @param mixed $data data that was meant to be encoded + * @throws \RuntimeException + */ + private function throwEncodeError($code, $data) + { + switch ($code) { + case JSON_ERROR_DEPTH: + $msg = 'Maximum stack depth exceeded'; + break; + case JSON_ERROR_STATE_MISMATCH: + $msg = 'Underflow or the modes mismatch'; + break; + case JSON_ERROR_CTRL_CHAR: + $msg = 'Unexpected control character found'; + break; + case JSON_ERROR_UTF8: + $msg = 'Malformed UTF-8 characters, possibly incorrectly encoded'; + break; + default: + $msg = 'Unknown error'; + } + + throw new \RuntimeException('JSON encoding failed: '.$msg.'. Encoding: '.var_export($data, true)); + } + + /** + * Detect invalid UTF-8 string characters and convert to valid UTF-8. + * + * Valid UTF-8 input will be left unmodified, but strings containing + * invalid UTF-8 codepoints will be reencoded as UTF-8 with an assumed + * original encoding of ISO-8859-15. This conversion may result in + * incorrect output if the actual encoding was not ISO-8859-15, but it + * will be clean UTF-8 output and will not rely on expensive and fragile + * detection algorithms. + * + * Function converts the input in place in the passed variable so that it + * can be used as a callback for array_walk_recursive. + * + * @param mixed &$data Input to check and convert if needed + * @private + */ + public function detectAndCleanUtf8(&$data) + { + if (is_string($data) && !preg_match('//u', $data)) { + $data = preg_replace_callback( + '/[\x80-\xFF]+/', + function ($m) { return utf8_encode($m[0]); }, + $data + ); + $data = str_replace( + array('¤', '¦', '¨', '´', '¸', '¼', '½', '¾'), + array('€', 'Š', 'š', 'Ž', 'ž', 'Œ', 'œ', 'Ÿ'), + $data + ); + } + } +} diff --git a/vendor/monolog/monolog/src/Monolog/Formatter/ScalarFormatter.php b/vendor/monolog/monolog/src/Monolog/Formatter/ScalarFormatter.php new file mode 100644 index 00000000..5d345d53 --- /dev/null +++ b/vendor/monolog/monolog/src/Monolog/Formatter/ScalarFormatter.php @@ -0,0 +1,48 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Monolog\Formatter; + +/** + * Formats data into an associative array of scalar values. + * Objects and arrays will be JSON encoded. + * + * @author Andrew Lawson + */ +class ScalarFormatter extends NormalizerFormatter +{ + /** + * {@inheritdoc} + */ + public function format(array $record) + { + foreach ($record as $key => $value) { + $record[$key] = $this->normalizeValue($value); + } + + return $record; + } + + /** + * @param mixed $value + * @return mixed + */ + protected function normalizeValue($value) + { + $normalized = $this->normalize($value); + + if (is_array($normalized) || is_object($normalized)) { + return $this->toJson($normalized, true); + } + + return $normalized; + } +} diff --git a/vendor/monolog/monolog/src/Monolog/Formatter/WildfireFormatter.php b/vendor/monolog/monolog/src/Monolog/Formatter/WildfireFormatter.php new file mode 100644 index 00000000..654710a8 --- /dev/null +++ b/vendor/monolog/monolog/src/Monolog/Formatter/WildfireFormatter.php @@ -0,0 +1,113 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Monolog\Formatter; + +use Monolog\Logger; + +/** + * Serializes a log message according to Wildfire's header requirements + * + * @author Eric Clemmons (@ericclemmons) + * @author Christophe Coevoet + * @author Kirill chEbba Chebunin + */ +class WildfireFormatter extends NormalizerFormatter +{ + const TABLE = 'table'; + + /** + * Translates Monolog log levels to Wildfire levels. + */ + private $logLevels = array( + Logger::DEBUG => 'LOG', + Logger::INFO => 'INFO', + Logger::NOTICE => 'INFO', + Logger::WARNING => 'WARN', + Logger::ERROR => 'ERROR', + Logger::CRITICAL => 'ERROR', + Logger::ALERT => 'ERROR', + Logger::EMERGENCY => 'ERROR', + ); + + /** + * {@inheritdoc} + */ + public function format(array $record) + { + // Retrieve the line and file if set and remove them from the formatted extra + $file = $line = ''; + if (isset($record['extra']['file'])) { + $file = $record['extra']['file']; + unset($record['extra']['file']); + } + if (isset($record['extra']['line'])) { + $line = $record['extra']['line']; + unset($record['extra']['line']); + } + + $record = $this->normalize($record); + $message = array('message' => $record['message']); + $handleError = false; + if ($record['context']) { + $message['context'] = $record['context']; + $handleError = true; + } + if ($record['extra']) { + $message['extra'] = $record['extra']; + $handleError = true; + } + if (count($message) === 1) { + $message = reset($message); + } + + if (isset($record['context'][self::TABLE])) { + $type = 'TABLE'; + $label = $record['channel'] .': '. $record['message']; + $message = $record['context'][self::TABLE]; + } else { + $type = $this->logLevels[$record['level']]; + $label = $record['channel']; + } + + // Create JSON object describing the appearance of the message in the console + $json = $this->toJson(array( + array( + 'Type' => $type, + 'File' => $file, + 'Line' => $line, + 'Label' => $label, + ), + $message, + ), $handleError); + + // The message itself is a serialization of the above JSON object + it's length + return sprintf( + '%s|%s|', + strlen($json), + $json + ); + } + + public function formatBatch(array $records) + { + throw new \BadMethodCallException('Batch formatting does not make sense for the WildfireFormatter'); + } + + protected function normalize($data) + { + if (is_object($data) && !$data instanceof \DateTime) { + return $data; + } + + return parent::normalize($data); + } +} diff --git a/vendor/monolog/monolog/src/Monolog/Handler/AbstractHandler.php b/vendor/monolog/monolog/src/Monolog/Handler/AbstractHandler.php new file mode 100644 index 00000000..758a425c --- /dev/null +++ b/vendor/monolog/monolog/src/Monolog/Handler/AbstractHandler.php @@ -0,0 +1,186 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Monolog\Handler; + +use Monolog\Logger; +use Monolog\Formatter\FormatterInterface; +use Monolog\Formatter\LineFormatter; + +/** + * Base Handler class providing the Handler structure + * + * @author Jordi Boggiano + */ +abstract class AbstractHandler implements HandlerInterface +{ + protected $level = Logger::DEBUG; + protected $bubble = true; + + /** + * @var FormatterInterface + */ + protected $formatter; + protected $processors = array(); + + /** + * @param int $level The minimum logging level at which this handler will be triggered + * @param Boolean $bubble Whether the messages that are handled can bubble up the stack or not + */ + public function __construct($level = Logger::DEBUG, $bubble = true) + { + $this->setLevel($level); + $this->bubble = $bubble; + } + + /** + * {@inheritdoc} + */ + public function isHandling(array $record) + { + return $record['level'] >= $this->level; + } + + /** + * {@inheritdoc} + */ + public function handleBatch(array $records) + { + foreach ($records as $record) { + $this->handle($record); + } + } + + /** + * Closes the handler. + * + * This will be called automatically when the object is destroyed + */ + public function close() + { + } + + /** + * {@inheritdoc} + */ + public function pushProcessor($callback) + { + if (!is_callable($callback)) { + throw new \InvalidArgumentException('Processors must be valid callables (callback or object with an __invoke method), '.var_export($callback, true).' given'); + } + array_unshift($this->processors, $callback); + + return $this; + } + + /** + * {@inheritdoc} + */ + public function popProcessor() + { + if (!$this->processors) { + throw new \LogicException('You tried to pop from an empty processor stack.'); + } + + return array_shift($this->processors); + } + + /** + * {@inheritdoc} + */ + public function setFormatter(FormatterInterface $formatter) + { + $this->formatter = $formatter; + + return $this; + } + + /** + * {@inheritdoc} + */ + public function getFormatter() + { + if (!$this->formatter) { + $this->formatter = $this->getDefaultFormatter(); + } + + return $this->formatter; + } + + /** + * Sets minimum logging level at which this handler will be triggered. + * + * @param int|string $level Level or level name + * @return self + */ + public function setLevel($level) + { + $this->level = Logger::toMonologLevel($level); + + return $this; + } + + /** + * Gets minimum logging level at which this handler will be triggered. + * + * @return int + */ + public function getLevel() + { + return $this->level; + } + + /** + * Sets the bubbling behavior. + * + * @param Boolean $bubble true means that this handler allows bubbling. + * false means that bubbling is not permitted. + * @return self + */ + public function setBubble($bubble) + { + $this->bubble = $bubble; + + return $this; + } + + /** + * Gets the bubbling behavior. + * + * @return Boolean true means that this handler allows bubbling. + * false means that bubbling is not permitted. + */ + public function getBubble() + { + return $this->bubble; + } + + public function __destruct() + { + try { + $this->close(); + } catch (\Exception $e) { + // do nothing + } catch (\Throwable $e) { + // do nothing + } + } + + /** + * Gets the default formatter. + * + * @return FormatterInterface + */ + protected function getDefaultFormatter() + { + return new LineFormatter(); + } +} diff --git a/vendor/monolog/monolog/src/Monolog/Handler/AbstractProcessingHandler.php b/vendor/monolog/monolog/src/Monolog/Handler/AbstractProcessingHandler.php new file mode 100644 index 00000000..6f18f72e --- /dev/null +++ b/vendor/monolog/monolog/src/Monolog/Handler/AbstractProcessingHandler.php @@ -0,0 +1,66 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Monolog\Handler; + +/** + * Base Handler class providing the Handler structure + * + * Classes extending it should (in most cases) only implement write($record) + * + * @author Jordi Boggiano + * @author Christophe Coevoet + */ +abstract class AbstractProcessingHandler extends AbstractHandler +{ + /** + * {@inheritdoc} + */ + public function handle(array $record) + { + if (!$this->isHandling($record)) { + return false; + } + + $record = $this->processRecord($record); + + $record['formatted'] = $this->getFormatter()->format($record); + + $this->write($record); + + return false === $this->bubble; + } + + /** + * Writes the record down to the log of the implementing handler + * + * @param array $record + * @return void + */ + abstract protected function write(array $record); + + /** + * Processes a record. + * + * @param array $record + * @return array + */ + protected function processRecord(array $record) + { + if ($this->processors) { + foreach ($this->processors as $processor) { + $record = call_user_func($processor, $record); + } + } + + return $record; + } +} diff --git a/vendor/monolog/monolog/src/Monolog/Handler/AbstractSyslogHandler.php b/vendor/monolog/monolog/src/Monolog/Handler/AbstractSyslogHandler.php new file mode 100644 index 00000000..e2b2832d --- /dev/null +++ b/vendor/monolog/monolog/src/Monolog/Handler/AbstractSyslogHandler.php @@ -0,0 +1,101 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Monolog\Handler; + +use Monolog\Logger; +use Monolog\Formatter\LineFormatter; + +/** + * Common syslog functionality + */ +abstract class AbstractSyslogHandler extends AbstractProcessingHandler +{ + protected $facility; + + /** + * Translates Monolog log levels to syslog log priorities. + */ + protected $logLevels = array( + Logger::DEBUG => LOG_DEBUG, + Logger::INFO => LOG_INFO, + Logger::NOTICE => LOG_NOTICE, + Logger::WARNING => LOG_WARNING, + Logger::ERROR => LOG_ERR, + Logger::CRITICAL => LOG_CRIT, + Logger::ALERT => LOG_ALERT, + Logger::EMERGENCY => LOG_EMERG, + ); + + /** + * List of valid log facility names. + */ + protected $facilities = array( + 'auth' => LOG_AUTH, + 'authpriv' => LOG_AUTHPRIV, + 'cron' => LOG_CRON, + 'daemon' => LOG_DAEMON, + 'kern' => LOG_KERN, + 'lpr' => LOG_LPR, + 'mail' => LOG_MAIL, + 'news' => LOG_NEWS, + 'syslog' => LOG_SYSLOG, + 'user' => LOG_USER, + 'uucp' => LOG_UUCP, + ); + + /** + * @param mixed $facility + * @param int $level The minimum logging level at which this handler will be triggered + * @param Boolean $bubble Whether the messages that are handled can bubble up the stack or not + */ + public function __construct($facility = LOG_USER, $level = Logger::DEBUG, $bubble = true) + { + parent::__construct($level, $bubble); + + if (!defined('PHP_WINDOWS_VERSION_BUILD')) { + $this->facilities['local0'] = LOG_LOCAL0; + $this->facilities['local1'] = LOG_LOCAL1; + $this->facilities['local2'] = LOG_LOCAL2; + $this->facilities['local3'] = LOG_LOCAL3; + $this->facilities['local4'] = LOG_LOCAL4; + $this->facilities['local5'] = LOG_LOCAL5; + $this->facilities['local6'] = LOG_LOCAL6; + $this->facilities['local7'] = LOG_LOCAL7; + } else { + $this->facilities['local0'] = 128; // LOG_LOCAL0 + $this->facilities['local1'] = 136; // LOG_LOCAL1 + $this->facilities['local2'] = 144; // LOG_LOCAL2 + $this->facilities['local3'] = 152; // LOG_LOCAL3 + $this->facilities['local4'] = 160; // LOG_LOCAL4 + $this->facilities['local5'] = 168; // LOG_LOCAL5 + $this->facilities['local6'] = 176; // LOG_LOCAL6 + $this->facilities['local7'] = 184; // LOG_LOCAL7 + } + + // convert textual description of facility to syslog constant + if (array_key_exists(strtolower($facility), $this->facilities)) { + $facility = $this->facilities[strtolower($facility)]; + } elseif (!in_array($facility, array_values($this->facilities), true)) { + throw new \UnexpectedValueException('Unknown facility value "'.$facility.'" given'); + } + + $this->facility = $facility; + } + + /** + * {@inheritdoc} + */ + protected function getDefaultFormatter() + { + return new LineFormatter('%channel%.%level_name%: %message% %context% %extra%'); + } +} diff --git a/vendor/monolog/monolog/src/Monolog/Handler/AmqpHandler.php b/vendor/monolog/monolog/src/Monolog/Handler/AmqpHandler.php new file mode 100644 index 00000000..e5a46bc0 --- /dev/null +++ b/vendor/monolog/monolog/src/Monolog/Handler/AmqpHandler.php @@ -0,0 +1,148 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Monolog\Handler; + +use Monolog\Logger; +use Monolog\Formatter\JsonFormatter; +use PhpAmqpLib\Message\AMQPMessage; +use PhpAmqpLib\Channel\AMQPChannel; +use AMQPExchange; + +class AmqpHandler extends AbstractProcessingHandler +{ + /** + * @var AMQPExchange|AMQPChannel $exchange + */ + protected $exchange; + + /** + * @var string + */ + protected $exchangeName; + + /** + * @param AMQPExchange|AMQPChannel $exchange AMQPExchange (php AMQP ext) or PHP AMQP lib channel, ready for use + * @param string $exchangeName + * @param int $level + * @param bool $bubble Whether the messages that are handled can bubble up the stack or not + */ + public function __construct($exchange, $exchangeName = 'log', $level = Logger::DEBUG, $bubble = true) + { + if ($exchange instanceof AMQPExchange) { + $exchange->setName($exchangeName); + } elseif ($exchange instanceof AMQPChannel) { + $this->exchangeName = $exchangeName; + } else { + throw new \InvalidArgumentException('PhpAmqpLib\Channel\AMQPChannel or AMQPExchange instance required'); + } + $this->exchange = $exchange; + + parent::__construct($level, $bubble); + } + + /** + * {@inheritDoc} + */ + protected function write(array $record) + { + $data = $record["formatted"]; + $routingKey = $this->getRoutingKey($record); + + if ($this->exchange instanceof AMQPExchange) { + $this->exchange->publish( + $data, + $routingKey, + 0, + array( + 'delivery_mode' => 2, + 'content_type' => 'application/json', + ) + ); + } else { + $this->exchange->basic_publish( + $this->createAmqpMessage($data), + $this->exchangeName, + $routingKey + ); + } + } + + /** + * {@inheritDoc} + */ + public function handleBatch(array $records) + { + if ($this->exchange instanceof AMQPExchange) { + parent::handleBatch($records); + + return; + } + + foreach ($records as $record) { + if (!$this->isHandling($record)) { + continue; + } + + $record = $this->processRecord($record); + $data = $this->getFormatter()->format($record); + + $this->exchange->batch_basic_publish( + $this->createAmqpMessage($data), + $this->exchangeName, + $this->getRoutingKey($record) + ); + } + + $this->exchange->publish_batch(); + } + + /** + * Gets the routing key for the AMQP exchange + * + * @param array $record + * @return string + */ + protected function getRoutingKey(array $record) + { + $routingKey = sprintf( + '%s.%s', + // TODO 2.0 remove substr call + substr($record['level_name'], 0, 4), + $record['channel'] + ); + + return strtolower($routingKey); + } + + /** + * @param string $data + * @return AMQPMessage + */ + private function createAmqpMessage($data) + { + return new AMQPMessage( + (string) $data, + array( + 'delivery_mode' => 2, + 'content_type' => 'application/json', + ) + ); + } + + /** + * {@inheritDoc} + */ + protected function getDefaultFormatter() + { + return new JsonFormatter(JsonFormatter::BATCH_MODE_JSON, false); + } +} diff --git a/vendor/monolog/monolog/src/Monolog/Handler/BrowserConsoleHandler.php b/vendor/monolog/monolog/src/Monolog/Handler/BrowserConsoleHandler.php new file mode 100644 index 00000000..b3a21bd4 --- /dev/null +++ b/vendor/monolog/monolog/src/Monolog/Handler/BrowserConsoleHandler.php @@ -0,0 +1,230 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Monolog\Handler; + +use Monolog\Formatter\LineFormatter; + +/** + * Handler sending logs to browser's javascript console with no browser extension required + * + * @author Olivier Poitrey + */ +class BrowserConsoleHandler extends AbstractProcessingHandler +{ + protected static $initialized = false; + protected static $records = array(); + + /** + * {@inheritDoc} + * + * Formatted output may contain some formatting markers to be transferred to `console.log` using the %c format. + * + * Example of formatted string: + * + * You can do [[blue text]]{color: blue} or [[green background]]{background-color: green; color: white} + */ + protected function getDefaultFormatter() + { + return new LineFormatter('[[%channel%]]{macro: autolabel} [[%level_name%]]{font-weight: bold} %message%'); + } + + /** + * {@inheritDoc} + */ + protected function write(array $record) + { + // Accumulate records + self::$records[] = $record; + + // Register shutdown handler if not already done + if (!self::$initialized) { + self::$initialized = true; + $this->registerShutdownFunction(); + } + } + + /** + * Convert records to javascript console commands and send it to the browser. + * This method is automatically called on PHP shutdown if output is HTML or Javascript. + */ + public static function send() + { + $format = self::getResponseFormat(); + if ($format === 'unknown') { + return; + } + + if (count(self::$records)) { + if ($format === 'html') { + self::writeOutput(''); + } elseif ($format === 'js') { + self::writeOutput(self::generateScript()); + } + self::reset(); + } + } + + /** + * Forget all logged records + */ + public static function reset() + { + self::$records = array(); + } + + /** + * Wrapper for register_shutdown_function to allow overriding + */ + protected function registerShutdownFunction() + { + if (PHP_SAPI !== 'cli') { + register_shutdown_function(array('Monolog\Handler\BrowserConsoleHandler', 'send')); + } + } + + /** + * Wrapper for echo to allow overriding + * + * @param string $str + */ + protected static function writeOutput($str) + { + echo $str; + } + + /** + * Checks the format of the response + * + * If Content-Type is set to application/javascript or text/javascript -> js + * If Content-Type is set to text/html, or is unset -> html + * If Content-Type is anything else -> unknown + * + * @return string One of 'js', 'html' or 'unknown' + */ + protected static function getResponseFormat() + { + // Check content type + foreach (headers_list() as $header) { + if (stripos($header, 'content-type:') === 0) { + // This handler only works with HTML and javascript outputs + // text/javascript is obsolete in favour of application/javascript, but still used + if (stripos($header, 'application/javascript') !== false || stripos($header, 'text/javascript') !== false) { + return 'js'; + } + if (stripos($header, 'text/html') === false) { + return 'unknown'; + } + break; + } + } + + return 'html'; + } + + private static function generateScript() + { + $script = array(); + foreach (self::$records as $record) { + $context = self::dump('Context', $record['context']); + $extra = self::dump('Extra', $record['extra']); + + if (empty($context) && empty($extra)) { + $script[] = self::call_array('log', self::handleStyles($record['formatted'])); + } else { + $script = array_merge($script, + array(self::call_array('groupCollapsed', self::handleStyles($record['formatted']))), + $context, + $extra, + array(self::call('groupEnd')) + ); + } + } + + return "(function (c) {if (c && c.groupCollapsed) {\n" . implode("\n", $script) . "\n}})(console);"; + } + + private static function handleStyles($formatted) + { + $args = array(self::quote('font-weight: normal')); + $format = '%c' . $formatted; + preg_match_all('/\[\[(.*?)\]\]\{([^}]*)\}/s', $format, $matches, PREG_OFFSET_CAPTURE | PREG_SET_ORDER); + + foreach (array_reverse($matches) as $match) { + $args[] = self::quote(self::handleCustomStyles($match[2][0], $match[1][0])); + $args[] = '"font-weight: normal"'; + + $pos = $match[0][1]; + $format = substr($format, 0, $pos) . '%c' . $match[1][0] . '%c' . substr($format, $pos + strlen($match[0][0])); + } + + array_unshift($args, self::quote($format)); + + return $args; + } + + private static function handleCustomStyles($style, $string) + { + static $colors = array('blue', 'green', 'red', 'magenta', 'orange', 'black', 'grey'); + static $labels = array(); + + return preg_replace_callback('/macro\s*:(.*?)(?:;|$)/', function ($m) use ($string, &$colors, &$labels) { + if (trim($m[1]) === 'autolabel') { + // Format the string as a label with consistent auto assigned background color + if (!isset($labels[$string])) { + $labels[$string] = $colors[count($labels) % count($colors)]; + } + $color = $labels[$string]; + + return "background-color: $color; color: white; border-radius: 3px; padding: 0 2px 0 2px"; + } + + return $m[1]; + }, $style); + } + + private static function dump($title, array $dict) + { + $script = array(); + $dict = array_filter($dict); + if (empty($dict)) { + return $script; + } + $script[] = self::call('log', self::quote('%c%s'), self::quote('font-weight: bold'), self::quote($title)); + foreach ($dict as $key => $value) { + $value = json_encode($value); + if (empty($value)) { + $value = self::quote(''); + } + $script[] = self::call('log', self::quote('%s: %o'), self::quote($key), $value); + } + + return $script; + } + + private static function quote($arg) + { + return '"' . addcslashes($arg, "\"\n\\") . '"'; + } + + private static function call() + { + $args = func_get_args(); + $method = array_shift($args); + + return self::call_array($method, $args); + } + + private static function call_array($method, array $args) + { + return 'c.' . $method . '(' . implode(', ', $args) . ');'; + } +} diff --git a/vendor/monolog/monolog/src/Monolog/Handler/BufferHandler.php b/vendor/monolog/monolog/src/Monolog/Handler/BufferHandler.php new file mode 100644 index 00000000..72f89535 --- /dev/null +++ b/vendor/monolog/monolog/src/Monolog/Handler/BufferHandler.php @@ -0,0 +1,117 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Monolog\Handler; + +use Monolog\Logger; + +/** + * Buffers all records until closing the handler and then pass them as batch. + * + * This is useful for a MailHandler to send only one mail per request instead of + * sending one per log message. + * + * @author Christophe Coevoet + */ +class BufferHandler extends AbstractHandler +{ + protected $handler; + protected $bufferSize = 0; + protected $bufferLimit; + protected $flushOnOverflow; + protected $buffer = array(); + protected $initialized = false; + + /** + * @param HandlerInterface $handler Handler. + * @param int $bufferLimit How many entries should be buffered at most, beyond that the oldest items are removed from the buffer. + * @param int $level The minimum logging level at which this handler will be triggered + * @param Boolean $bubble Whether the messages that are handled can bubble up the stack or not + * @param Boolean $flushOnOverflow If true, the buffer is flushed when the max size has been reached, by default oldest entries are discarded + */ + public function __construct(HandlerInterface $handler, $bufferLimit = 0, $level = Logger::DEBUG, $bubble = true, $flushOnOverflow = false) + { + parent::__construct($level, $bubble); + $this->handler = $handler; + $this->bufferLimit = (int) $bufferLimit; + $this->flushOnOverflow = $flushOnOverflow; + } + + /** + * {@inheritdoc} + */ + public function handle(array $record) + { + if ($record['level'] < $this->level) { + return false; + } + + if (!$this->initialized) { + // __destructor() doesn't get called on Fatal errors + register_shutdown_function(array($this, 'close')); + $this->initialized = true; + } + + if ($this->bufferLimit > 0 && $this->bufferSize === $this->bufferLimit) { + if ($this->flushOnOverflow) { + $this->flush(); + } else { + array_shift($this->buffer); + $this->bufferSize--; + } + } + + if ($this->processors) { + foreach ($this->processors as $processor) { + $record = call_user_func($processor, $record); + } + } + + $this->buffer[] = $record; + $this->bufferSize++; + + return false === $this->bubble; + } + + public function flush() + { + if ($this->bufferSize === 0) { + return; + } + + $this->handler->handleBatch($this->buffer); + $this->clear(); + } + + public function __destruct() + { + // suppress the parent behavior since we already have register_shutdown_function() + // to call close(), and the reference contained there will prevent this from being + // GC'd until the end of the request + } + + /** + * {@inheritdoc} + */ + public function close() + { + $this->flush(); + } + + /** + * Clears the buffer without flushing any messages down to the wrapped handler. + */ + public function clear() + { + $this->bufferSize = 0; + $this->buffer = array(); + } +} diff --git a/vendor/monolog/monolog/src/Monolog/Handler/ChromePHPHandler.php b/vendor/monolog/monolog/src/Monolog/Handler/ChromePHPHandler.php new file mode 100644 index 00000000..b00fa844 --- /dev/null +++ b/vendor/monolog/monolog/src/Monolog/Handler/ChromePHPHandler.php @@ -0,0 +1,211 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Monolog\Handler; + +use Monolog\Formatter\ChromePHPFormatter; +use Monolog\Logger; + +/** + * Handler sending logs to the ChromePHP extension (http://www.chromephp.com/) + * + * This also works out of the box with Firefox 43+ + * + * @author Christophe Coevoet + */ +class ChromePHPHandler extends AbstractProcessingHandler +{ + /** + * Version of the extension + */ + const VERSION = '4.0'; + + /** + * Header name + */ + const HEADER_NAME = 'X-ChromeLogger-Data'; + + /** + * Regular expression to detect supported browsers (matches any Chrome, or Firefox 43+) + */ + const USER_AGENT_REGEX = '{\b(?:Chrome/\d+(?:\.\d+)*|Firefox/(?:4[3-9]|[5-9]\d|\d{3,})(?:\.\d)*)\b}'; + + protected static $initialized = false; + + /** + * Tracks whether we sent too much data + * + * Chrome limits the headers to 256KB, so when we sent 240KB we stop sending + * + * @var Boolean + */ + protected static $overflowed = false; + + protected static $json = array( + 'version' => self::VERSION, + 'columns' => array('label', 'log', 'backtrace', 'type'), + 'rows' => array(), + ); + + protected static $sendHeaders = true; + + /** + * @param int $level The minimum logging level at which this handler will be triggered + * @param Boolean $bubble Whether the messages that are handled can bubble up the stack or not + */ + public function __construct($level = Logger::DEBUG, $bubble = true) + { + parent::__construct($level, $bubble); + if (!function_exists('json_encode')) { + throw new \RuntimeException('PHP\'s json extension is required to use Monolog\'s ChromePHPHandler'); + } + } + + /** + * {@inheritdoc} + */ + public function handleBatch(array $records) + { + $messages = array(); + + foreach ($records as $record) { + if ($record['level'] < $this->level) { + continue; + } + $messages[] = $this->processRecord($record); + } + + if (!empty($messages)) { + $messages = $this->getFormatter()->formatBatch($messages); + self::$json['rows'] = array_merge(self::$json['rows'], $messages); + $this->send(); + } + } + + /** + * {@inheritDoc} + */ + protected function getDefaultFormatter() + { + return new ChromePHPFormatter(); + } + + /** + * Creates & sends header for a record + * + * @see sendHeader() + * @see send() + * @param array $record + */ + protected function write(array $record) + { + self::$json['rows'][] = $record['formatted']; + + $this->send(); + } + + /** + * Sends the log header + * + * @see sendHeader() + */ + protected function send() + { + if (self::$overflowed || !self::$sendHeaders) { + return; + } + + if (!self::$initialized) { + self::$initialized = true; + + self::$sendHeaders = $this->headersAccepted(); + if (!self::$sendHeaders) { + return; + } + + self::$json['request_uri'] = isset($_SERVER['REQUEST_URI']) ? $_SERVER['REQUEST_URI'] : ''; + } + + $json = @json_encode(self::$json); + $data = base64_encode(utf8_encode($json)); + if (strlen($data) > 240 * 1024) { + self::$overflowed = true; + + $record = array( + 'message' => 'Incomplete logs, chrome header size limit reached', + 'context' => array(), + 'level' => Logger::WARNING, + 'level_name' => Logger::getLevelName(Logger::WARNING), + 'channel' => 'monolog', + 'datetime' => new \DateTime(), + 'extra' => array(), + ); + self::$json['rows'][count(self::$json['rows']) - 1] = $this->getFormatter()->format($record); + $json = @json_encode(self::$json); + $data = base64_encode(utf8_encode($json)); + } + + if (trim($data) !== '') { + $this->sendHeader(self::HEADER_NAME, $data); + } + } + + /** + * Send header string to the client + * + * @param string $header + * @param string $content + */ + protected function sendHeader($header, $content) + { + if (!headers_sent() && self::$sendHeaders) { + header(sprintf('%s: %s', $header, $content)); + } + } + + /** + * Verifies if the headers are accepted by the current user agent + * + * @return Boolean + */ + protected function headersAccepted() + { + if (empty($_SERVER['HTTP_USER_AGENT'])) { + return false; + } + + return preg_match(self::USER_AGENT_REGEX, $_SERVER['HTTP_USER_AGENT']); + } + + /** + * BC getter for the sendHeaders property that has been made static + */ + public function __get($property) + { + if ('sendHeaders' !== $property) { + throw new \InvalidArgumentException('Undefined property '.$property); + } + + return static::$sendHeaders; + } + + /** + * BC setter for the sendHeaders property that has been made static + */ + public function __set($property, $value) + { + if ('sendHeaders' !== $property) { + throw new \InvalidArgumentException('Undefined property '.$property); + } + + static::$sendHeaders = $value; + } +} diff --git a/vendor/monolog/monolog/src/Monolog/Handler/CouchDBHandler.php b/vendor/monolog/monolog/src/Monolog/Handler/CouchDBHandler.php new file mode 100644 index 00000000..cc986971 --- /dev/null +++ b/vendor/monolog/monolog/src/Monolog/Handler/CouchDBHandler.php @@ -0,0 +1,72 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Monolog\Handler; + +use Monolog\Formatter\JsonFormatter; +use Monolog\Logger; + +/** + * CouchDB handler + * + * @author Markus Bachmann + */ +class CouchDBHandler extends AbstractProcessingHandler +{ + private $options; + + public function __construct(array $options = array(), $level = Logger::DEBUG, $bubble = true) + { + $this->options = array_merge(array( + 'host' => 'localhost', + 'port' => 5984, + 'dbname' => 'logger', + 'username' => null, + 'password' => null, + ), $options); + + parent::__construct($level, $bubble); + } + + /** + * {@inheritDoc} + */ + protected function write(array $record) + { + $basicAuth = null; + if ($this->options['username']) { + $basicAuth = sprintf('%s:%s@', $this->options['username'], $this->options['password']); + } + + $url = 'http://'.$basicAuth.$this->options['host'].':'.$this->options['port'].'/'.$this->options['dbname']; + $context = stream_context_create(array( + 'http' => array( + 'method' => 'POST', + 'content' => $record['formatted'], + 'ignore_errors' => true, + 'max_redirects' => 0, + 'header' => 'Content-type: application/json', + ), + )); + + if (false === @file_get_contents($url, null, $context)) { + throw new \RuntimeException(sprintf('Could not connect to %s', $url)); + } + } + + /** + * {@inheritDoc} + */ + protected function getDefaultFormatter() + { + return new JsonFormatter(JsonFormatter::BATCH_MODE_JSON, false); + } +} diff --git a/vendor/monolog/monolog/src/Monolog/Handler/CubeHandler.php b/vendor/monolog/monolog/src/Monolog/Handler/CubeHandler.php new file mode 100644 index 00000000..96b3ca0c --- /dev/null +++ b/vendor/monolog/monolog/src/Monolog/Handler/CubeHandler.php @@ -0,0 +1,151 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Monolog\Handler; + +use Monolog\Logger; + +/** + * Logs to Cube. + * + * @link http://square.github.com/cube/ + * @author Wan Chen + */ +class CubeHandler extends AbstractProcessingHandler +{ + private $udpConnection; + private $httpConnection; + private $scheme; + private $host; + private $port; + private $acceptedSchemes = array('http', 'udp'); + + /** + * Create a Cube handler + * + * @throws \UnexpectedValueException when given url is not a valid url. + * A valid url must consist of three parts : protocol://host:port + * Only valid protocols used by Cube are http and udp + */ + public function __construct($url, $level = Logger::DEBUG, $bubble = true) + { + $urlInfo = parse_url($url); + + if (!isset($urlInfo['scheme'], $urlInfo['host'], $urlInfo['port'])) { + throw new \UnexpectedValueException('URL "'.$url.'" is not valid'); + } + + if (!in_array($urlInfo['scheme'], $this->acceptedSchemes)) { + throw new \UnexpectedValueException( + 'Invalid protocol (' . $urlInfo['scheme'] . ').' + . ' Valid options are ' . implode(', ', $this->acceptedSchemes)); + } + + $this->scheme = $urlInfo['scheme']; + $this->host = $urlInfo['host']; + $this->port = $urlInfo['port']; + + parent::__construct($level, $bubble); + } + + /** + * Establish a connection to an UDP socket + * + * @throws \LogicException when unable to connect to the socket + * @throws MissingExtensionException when there is no socket extension + */ + protected function connectUdp() + { + if (!extension_loaded('sockets')) { + throw new MissingExtensionException('The sockets extension is required to use udp URLs with the CubeHandler'); + } + + $this->udpConnection = socket_create(AF_INET, SOCK_DGRAM, 0); + if (!$this->udpConnection) { + throw new \LogicException('Unable to create a socket'); + } + + if (!socket_connect($this->udpConnection, $this->host, $this->port)) { + throw new \LogicException('Unable to connect to the socket at ' . $this->host . ':' . $this->port); + } + } + + /** + * Establish a connection to a http server + * @throws \LogicException when no curl extension + */ + protected function connectHttp() + { + if (!extension_loaded('curl')) { + throw new \LogicException('The curl extension is needed to use http URLs with the CubeHandler'); + } + + $this->httpConnection = curl_init('http://'.$this->host.':'.$this->port.'/1.0/event/put'); + + if (!$this->httpConnection) { + throw new \LogicException('Unable to connect to ' . $this->host . ':' . $this->port); + } + + curl_setopt($this->httpConnection, CURLOPT_CUSTOMREQUEST, "POST"); + curl_setopt($this->httpConnection, CURLOPT_RETURNTRANSFER, true); + } + + /** + * {@inheritdoc} + */ + protected function write(array $record) + { + $date = $record['datetime']; + + $data = array('time' => $date->format('Y-m-d\TH:i:s.uO')); + unset($record['datetime']); + + if (isset($record['context']['type'])) { + $data['type'] = $record['context']['type']; + unset($record['context']['type']); + } else { + $data['type'] = $record['channel']; + } + + $data['data'] = $record['context']; + $data['data']['level'] = $record['level']; + + if ($this->scheme === 'http') { + $this->writeHttp(json_encode($data)); + } else { + $this->writeUdp(json_encode($data)); + } + } + + private function writeUdp($data) + { + if (!$this->udpConnection) { + $this->connectUdp(); + } + + socket_send($this->udpConnection, $data, strlen($data), 0); + } + + private function writeHttp($data) + { + if (!$this->httpConnection) { + $this->connectHttp(); + } + + curl_setopt($this->httpConnection, CURLOPT_POSTFIELDS, '['.$data.']'); + curl_setopt($this->httpConnection, CURLOPT_HTTPHEADER, array( + 'Content-Type: application/json', + 'Content-Length: ' . strlen('['.$data.']'), + )); + + Curl\Util::execute($this->httpConnection, 5, false); + } +} diff --git a/vendor/monolog/monolog/src/Monolog/Handler/Curl/Util.php b/vendor/monolog/monolog/src/Monolog/Handler/Curl/Util.php new file mode 100644 index 00000000..48d30b35 --- /dev/null +++ b/vendor/monolog/monolog/src/Monolog/Handler/Curl/Util.php @@ -0,0 +1,57 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Monolog\Handler\Curl; + +class Util +{ + private static $retriableErrorCodes = array( + CURLE_COULDNT_RESOLVE_HOST, + CURLE_COULDNT_CONNECT, + CURLE_HTTP_NOT_FOUND, + CURLE_READ_ERROR, + CURLE_OPERATION_TIMEOUTED, + CURLE_HTTP_POST_ERROR, + CURLE_SSL_CONNECT_ERROR, + ); + + /** + * Executes a CURL request with optional retries and exception on failure + * + * @param resource $ch curl handler + * @throws \RuntimeException + */ + public static function execute($ch, $retries = 5, $closeAfterDone = true) + { + while ($retries--) { + if (curl_exec($ch) === false) { + $curlErrno = curl_errno($ch); + + if (false === in_array($curlErrno, self::$retriableErrorCodes, true) || !$retries) { + $curlError = curl_error($ch); + + if ($closeAfterDone) { + curl_close($ch); + } + + throw new \RuntimeException(sprintf('Curl error (code %s): %s', $curlErrno, $curlError)); + } + + continue; + } + + if ($closeAfterDone) { + curl_close($ch); + } + break; + } + } +} diff --git a/vendor/monolog/monolog/src/Monolog/Handler/DeduplicationHandler.php b/vendor/monolog/monolog/src/Monolog/Handler/DeduplicationHandler.php new file mode 100644 index 00000000..7778c22a --- /dev/null +++ b/vendor/monolog/monolog/src/Monolog/Handler/DeduplicationHandler.php @@ -0,0 +1,169 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Monolog\Handler; + +use Monolog\Logger; + +/** + * Simple handler wrapper that deduplicates log records across multiple requests + * + * It also includes the BufferHandler functionality and will buffer + * all messages until the end of the request or flush() is called. + * + * This works by storing all log records' messages above $deduplicationLevel + * to the file specified by $deduplicationStore. When further logs come in at the end of the + * request (or when flush() is called), all those above $deduplicationLevel are checked + * against the existing stored logs. If they match and the timestamps in the stored log is + * not older than $time seconds, the new log record is discarded. If no log record is new, the + * whole data set is discarded. + * + * This is mainly useful in combination with Mail handlers or things like Slack or HipChat handlers + * that send messages to people, to avoid spamming with the same message over and over in case of + * a major component failure like a database server being down which makes all requests fail in the + * same way. + * + * @author Jordi Boggiano + */ +class DeduplicationHandler extends BufferHandler +{ + /** + * @var string + */ + protected $deduplicationStore; + + /** + * @var int + */ + protected $deduplicationLevel; + + /** + * @var int + */ + protected $time; + + /** + * @var bool + */ + private $gc = false; + + /** + * @param HandlerInterface $handler Handler. + * @param string $deduplicationStore The file/path where the deduplication log should be kept + * @param int $deduplicationLevel The minimum logging level for log records to be looked at for deduplication purposes + * @param int $time The period (in seconds) during which duplicate entries should be suppressed after a given log is sent through + * @param Boolean $bubble Whether the messages that are handled can bubble up the stack or not + */ + public function __construct(HandlerInterface $handler, $deduplicationStore = null, $deduplicationLevel = Logger::ERROR, $time = 60, $bubble = true) + { + parent::__construct($handler, 0, Logger::DEBUG, $bubble, false); + + $this->deduplicationStore = $deduplicationStore === null ? sys_get_temp_dir() . '/monolog-dedup-' . substr(md5(__FILE__), 0, 20) .'.log' : $deduplicationStore; + $this->deduplicationLevel = Logger::toMonologLevel($deduplicationLevel); + $this->time = $time; + } + + public function flush() + { + if ($this->bufferSize === 0) { + return; + } + + $passthru = null; + + foreach ($this->buffer as $record) { + if ($record['level'] >= $this->deduplicationLevel) { + + $passthru = $passthru || !$this->isDuplicate($record); + if ($passthru) { + $this->appendRecord($record); + } + } + } + + // default of null is valid as well as if no record matches duplicationLevel we just pass through + if ($passthru === true || $passthru === null) { + $this->handler->handleBatch($this->buffer); + } + + $this->clear(); + + if ($this->gc) { + $this->collectLogs(); + } + } + + private function isDuplicate(array $record) + { + if (!file_exists($this->deduplicationStore)) { + return false; + } + + $store = file($this->deduplicationStore, FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES); + if (!is_array($store)) { + return false; + } + + $yesterday = time() - 86400; + $timestampValidity = $record['datetime']->getTimestamp() - $this->time; + $expectedMessage = preg_replace('{[\r\n].*}', '', $record['message']); + + for ($i = count($store) - 1; $i >= 0; $i--) { + list($timestamp, $level, $message) = explode(':', $store[$i], 3); + + if ($level === $record['level_name'] && $message === $expectedMessage && $timestamp > $timestampValidity) { + return true; + } + + if ($timestamp < $yesterday) { + $this->gc = true; + } + } + + return false; + } + + private function collectLogs() + { + if (!file_exists($this->deduplicationStore)) { + return false; + } + + $handle = fopen($this->deduplicationStore, 'rw+'); + flock($handle, LOCK_EX); + $validLogs = array(); + + $timestampValidity = time() - $this->time; + + while (!feof($handle)) { + $log = fgets($handle); + if (substr($log, 0, 10) >= $timestampValidity) { + $validLogs[] = $log; + } + } + + ftruncate($handle, 0); + rewind($handle); + foreach ($validLogs as $log) { + fwrite($handle, $log); + } + + flock($handle, LOCK_UN); + fclose($handle); + + $this->gc = false; + } + + private function appendRecord(array $record) + { + file_put_contents($this->deduplicationStore, $record['datetime']->getTimestamp() . ':' . $record['level_name'] . ':' . preg_replace('{[\r\n].*}', '', $record['message']) . "\n", FILE_APPEND); + } +} diff --git a/vendor/monolog/monolog/src/Monolog/Handler/DoctrineCouchDBHandler.php b/vendor/monolog/monolog/src/Monolog/Handler/DoctrineCouchDBHandler.php new file mode 100644 index 00000000..b91ffec9 --- /dev/null +++ b/vendor/monolog/monolog/src/Monolog/Handler/DoctrineCouchDBHandler.php @@ -0,0 +1,45 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Monolog\Handler; + +use Monolog\Logger; +use Monolog\Formatter\NormalizerFormatter; +use Doctrine\CouchDB\CouchDBClient; + +/** + * CouchDB handler for Doctrine CouchDB ODM + * + * @author Markus Bachmann + */ +class DoctrineCouchDBHandler extends AbstractProcessingHandler +{ + private $client; + + public function __construct(CouchDBClient $client, $level = Logger::DEBUG, $bubble = true) + { + $this->client = $client; + parent::__construct($level, $bubble); + } + + /** + * {@inheritDoc} + */ + protected function write(array $record) + { + $this->client->postDocument($record['formatted']); + } + + protected function getDefaultFormatter() + { + return new NormalizerFormatter; + } +} diff --git a/vendor/monolog/monolog/src/Monolog/Handler/DynamoDbHandler.php b/vendor/monolog/monolog/src/Monolog/Handler/DynamoDbHandler.php new file mode 100644 index 00000000..ad1011d3 --- /dev/null +++ b/vendor/monolog/monolog/src/Monolog/Handler/DynamoDbHandler.php @@ -0,0 +1,107 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Monolog\Handler; + +use Aws\Common\Aws; +use Aws\DynamoDb\DynamoDbClient; +use Aws\DynamoDb\Marshaler; +use Monolog\Formatter\ScalarFormatter; +use Monolog\Logger; + +/** + * Amazon DynamoDB handler (http://aws.amazon.com/dynamodb/) + * + * @link https://github.com/aws/aws-sdk-php/ + * @author Andrew Lawson + */ +class DynamoDbHandler extends AbstractProcessingHandler +{ + const DATE_FORMAT = 'Y-m-d\TH:i:s.uO'; + + /** + * @var DynamoDbClient + */ + protected $client; + + /** + * @var string + */ + protected $table; + + /** + * @var int + */ + protected $version; + + /** + * @var Marshaler + */ + protected $marshaler; + + /** + * @param DynamoDbClient $client + * @param string $table + * @param int $level + * @param bool $bubble + */ + public function __construct(DynamoDbClient $client, $table, $level = Logger::DEBUG, $bubble = true) + { + if (defined('Aws\Common\Aws::VERSION') && version_compare(Aws::VERSION, '3.0', '>=')) { + $this->version = 3; + $this->marshaler = new Marshaler; + } else { + $this->version = 2; + } + + $this->client = $client; + $this->table = $table; + + parent::__construct($level, $bubble); + } + + /** + * {@inheritdoc} + */ + protected function write(array $record) + { + $filtered = $this->filterEmptyFields($record['formatted']); + if ($this->version === 3) { + $formatted = $this->marshaler->marshalItem($filtered); + } else { + $formatted = $this->client->formatAttributes($filtered); + } + + $this->client->putItem(array( + 'TableName' => $this->table, + 'Item' => $formatted, + )); + } + + /** + * @param array $record + * @return array + */ + protected function filterEmptyFields(array $record) + { + return array_filter($record, function ($value) { + return !empty($value) || false === $value || 0 === $value; + }); + } + + /** + * {@inheritdoc} + */ + protected function getDefaultFormatter() + { + return new ScalarFormatter(self::DATE_FORMAT); + } +} diff --git a/vendor/monolog/monolog/src/Monolog/Handler/ElasticSearchHandler.php b/vendor/monolog/monolog/src/Monolog/Handler/ElasticSearchHandler.php new file mode 100644 index 00000000..81967406 --- /dev/null +++ b/vendor/monolog/monolog/src/Monolog/Handler/ElasticSearchHandler.php @@ -0,0 +1,128 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Monolog\Handler; + +use Monolog\Formatter\FormatterInterface; +use Monolog\Formatter\ElasticaFormatter; +use Monolog\Logger; +use Elastica\Client; +use Elastica\Exception\ExceptionInterface; + +/** + * Elastic Search handler + * + * Usage example: + * + * $client = new \Elastica\Client(); + * $options = array( + * 'index' => 'elastic_index_name', + * 'type' => 'elastic_doc_type', + * ); + * $handler = new ElasticSearchHandler($client, $options); + * $log = new Logger('application'); + * $log->pushHandler($handler); + * + * @author Jelle Vink + */ +class ElasticSearchHandler extends AbstractProcessingHandler +{ + /** + * @var Client + */ + protected $client; + + /** + * @var array Handler config options + */ + protected $options = array(); + + /** + * @param Client $client Elastica Client object + * @param array $options Handler configuration + * @param int $level The minimum logging level at which this handler will be triggered + * @param Boolean $bubble Whether the messages that are handled can bubble up the stack or not + */ + public function __construct(Client $client, array $options = array(), $level = Logger::DEBUG, $bubble = true) + { + parent::__construct($level, $bubble); + $this->client = $client; + $this->options = array_merge( + array( + 'index' => 'monolog', // Elastic index name + 'type' => 'record', // Elastic document type + 'ignore_error' => false, // Suppress Elastica exceptions + ), + $options + ); + } + + /** + * {@inheritDoc} + */ + protected function write(array $record) + { + $this->bulkSend(array($record['formatted'])); + } + + /** + * {@inheritdoc} + */ + public function setFormatter(FormatterInterface $formatter) + { + if ($formatter instanceof ElasticaFormatter) { + return parent::setFormatter($formatter); + } + throw new \InvalidArgumentException('ElasticSearchHandler is only compatible with ElasticaFormatter'); + } + + /** + * Getter options + * @return array + */ + public function getOptions() + { + return $this->options; + } + + /** + * {@inheritDoc} + */ + protected function getDefaultFormatter() + { + return new ElasticaFormatter($this->options['index'], $this->options['type']); + } + + /** + * {@inheritdoc} + */ + public function handleBatch(array $records) + { + $documents = $this->getFormatter()->formatBatch($records); + $this->bulkSend($documents); + } + + /** + * Use Elasticsearch bulk API to send list of documents + * @param array $documents + * @throws \RuntimeException + */ + protected function bulkSend(array $documents) + { + try { + $this->client->addDocuments($documents); + } catch (ExceptionInterface $e) { + if (!$this->options['ignore_error']) { + throw new \RuntimeException("Error sending messages to Elasticsearch", 0, $e); + } + } + } +} diff --git a/vendor/monolog/monolog/src/Monolog/Handler/ErrorLogHandler.php b/vendor/monolog/monolog/src/Monolog/Handler/ErrorLogHandler.php new file mode 100644 index 00000000..1447a584 --- /dev/null +++ b/vendor/monolog/monolog/src/Monolog/Handler/ErrorLogHandler.php @@ -0,0 +1,82 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Monolog\Handler; + +use Monolog\Formatter\LineFormatter; +use Monolog\Logger; + +/** + * Stores to PHP error_log() handler. + * + * @author Elan Ruusamäe + */ +class ErrorLogHandler extends AbstractProcessingHandler +{ + const OPERATING_SYSTEM = 0; + const SAPI = 4; + + protected $messageType; + protected $expandNewlines; + + /** + * @param int $messageType Says where the error should go. + * @param int $level The minimum logging level at which this handler will be triggered + * @param Boolean $bubble Whether the messages that are handled can bubble up the stack or not + * @param Boolean $expandNewlines If set to true, newlines in the message will be expanded to be take multiple log entries + */ + public function __construct($messageType = self::OPERATING_SYSTEM, $level = Logger::DEBUG, $bubble = true, $expandNewlines = false) + { + parent::__construct($level, $bubble); + + if (false === in_array($messageType, self::getAvailableTypes())) { + $message = sprintf('The given message type "%s" is not supported', print_r($messageType, true)); + throw new \InvalidArgumentException($message); + } + + $this->messageType = $messageType; + $this->expandNewlines = $expandNewlines; + } + + /** + * @return array With all available types + */ + public static function getAvailableTypes() + { + return array( + self::OPERATING_SYSTEM, + self::SAPI, + ); + } + + /** + * {@inheritDoc} + */ + protected function getDefaultFormatter() + { + return new LineFormatter('[%datetime%] %channel%.%level_name%: %message% %context% %extra%'); + } + + /** + * {@inheritdoc} + */ + protected function write(array $record) + { + if ($this->expandNewlines) { + $lines = preg_split('{[\r\n]+}', (string) $record['formatted']); + foreach ($lines as $line) { + error_log($line, $this->messageType); + } + } else { + error_log((string) $record['formatted'], $this->messageType); + } + } +} diff --git a/vendor/monolog/monolog/src/Monolog/Handler/FilterHandler.php b/vendor/monolog/monolog/src/Monolog/Handler/FilterHandler.php new file mode 100644 index 00000000..2a0f7fd1 --- /dev/null +++ b/vendor/monolog/monolog/src/Monolog/Handler/FilterHandler.php @@ -0,0 +1,140 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Monolog\Handler; + +use Monolog\Logger; + +/** + * Simple handler wrapper that filters records based on a list of levels + * + * It can be configured with an exact list of levels to allow, or a min/max level. + * + * @author Hennadiy Verkh + * @author Jordi Boggiano + */ +class FilterHandler extends AbstractHandler +{ + /** + * Handler or factory callable($record, $this) + * + * @var callable|\Monolog\Handler\HandlerInterface + */ + protected $handler; + + /** + * Minimum level for logs that are passed to handler + * + * @var int[] + */ + protected $acceptedLevels; + + /** + * Whether the messages that are handled can bubble up the stack or not + * + * @var Boolean + */ + protected $bubble; + + /** + * @param callable|HandlerInterface $handler Handler or factory callable($record, $this). + * @param int|array $minLevelOrList A list of levels to accept or a minimum level if maxLevel is provided + * @param int $maxLevel Maximum level to accept, only used if $minLevelOrList is not an array + * @param Boolean $bubble Whether the messages that are handled can bubble up the stack or not + */ + public function __construct($handler, $minLevelOrList = Logger::DEBUG, $maxLevel = Logger::EMERGENCY, $bubble = true) + { + $this->handler = $handler; + $this->bubble = $bubble; + $this->setAcceptedLevels($minLevelOrList, $maxLevel); + + if (!$this->handler instanceof HandlerInterface && !is_callable($this->handler)) { + throw new \RuntimeException("The given handler (".json_encode($this->handler).") is not a callable nor a Monolog\Handler\HandlerInterface object"); + } + } + + /** + * @return array + */ + public function getAcceptedLevels() + { + return array_flip($this->acceptedLevels); + } + + /** + * @param int|string|array $minLevelOrList A list of levels to accept or a minimum level or level name if maxLevel is provided + * @param int|string $maxLevel Maximum level or level name to accept, only used if $minLevelOrList is not an array + */ + public function setAcceptedLevels($minLevelOrList = Logger::DEBUG, $maxLevel = Logger::EMERGENCY) + { + if (is_array($minLevelOrList)) { + $acceptedLevels = array_map('Monolog\Logger::toMonologLevel', $minLevelOrList); + } else { + $minLevelOrList = Logger::toMonologLevel($minLevelOrList); + $maxLevel = Logger::toMonologLevel($maxLevel); + $acceptedLevels = array_values(array_filter(Logger::getLevels(), function ($level) use ($minLevelOrList, $maxLevel) { + return $level >= $minLevelOrList && $level <= $maxLevel; + })); + } + $this->acceptedLevels = array_flip($acceptedLevels); + } + + /** + * {@inheritdoc} + */ + public function isHandling(array $record) + { + return isset($this->acceptedLevels[$record['level']]); + } + + /** + * {@inheritdoc} + */ + public function handle(array $record) + { + if (!$this->isHandling($record)) { + return false; + } + + // The same logic as in FingersCrossedHandler + if (!$this->handler instanceof HandlerInterface) { + $this->handler = call_user_func($this->handler, $record, $this); + if (!$this->handler instanceof HandlerInterface) { + throw new \RuntimeException("The factory callable should return a HandlerInterface"); + } + } + + if ($this->processors) { + foreach ($this->processors as $processor) { + $record = call_user_func($processor, $record); + } + } + + $this->handler->handle($record); + + return false === $this->bubble; + } + + /** + * {@inheritdoc} + */ + public function handleBatch(array $records) + { + $filtered = array(); + foreach ($records as $record) { + if ($this->isHandling($record)) { + $filtered[] = $record; + } + } + + $this->handler->handleBatch($filtered); + } +} diff --git a/vendor/monolog/monolog/src/Monolog/Handler/FingersCrossed/ActivationStrategyInterface.php b/vendor/monolog/monolog/src/Monolog/Handler/FingersCrossed/ActivationStrategyInterface.php new file mode 100644 index 00000000..c3e42efe --- /dev/null +++ b/vendor/monolog/monolog/src/Monolog/Handler/FingersCrossed/ActivationStrategyInterface.php @@ -0,0 +1,28 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Monolog\Handler\FingersCrossed; + +/** + * Interface for activation strategies for the FingersCrossedHandler. + * + * @author Johannes M. Schmitt + */ +interface ActivationStrategyInterface +{ + /** + * Returns whether the given record activates the handler. + * + * @param array $record + * @return Boolean + */ + public function isHandlerActivated(array $record); +} diff --git a/vendor/monolog/monolog/src/Monolog/Handler/FingersCrossed/ChannelLevelActivationStrategy.php b/vendor/monolog/monolog/src/Monolog/Handler/FingersCrossed/ChannelLevelActivationStrategy.php new file mode 100644 index 00000000..2a2a64d9 --- /dev/null +++ b/vendor/monolog/monolog/src/Monolog/Handler/FingersCrossed/ChannelLevelActivationStrategy.php @@ -0,0 +1,59 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Monolog\Handler\FingersCrossed; + +use Monolog\Logger; + +/** + * Channel and Error level based monolog activation strategy. Allows to trigger activation + * based on level per channel. e.g. trigger activation on level 'ERROR' by default, except + * for records of the 'sql' channel; those should trigger activation on level 'WARN'. + * + * Example: + * + * + * $activationStrategy = new ChannelLevelActivationStrategy( + * Logger::CRITICAL, + * array( + * 'request' => Logger::ALERT, + * 'sensitive' => Logger::ERROR, + * ) + * ); + * $handler = new FingersCrossedHandler(new StreamHandler('php://stderr'), $activationStrategy); + * + * + * @author Mike Meessen + */ +class ChannelLevelActivationStrategy implements ActivationStrategyInterface +{ + private $defaultActionLevel; + private $channelToActionLevel; + + /** + * @param int $defaultActionLevel The default action level to be used if the record's category doesn't match any + * @param array $channelToActionLevel An array that maps channel names to action levels. + */ + public function __construct($defaultActionLevel, $channelToActionLevel = array()) + { + $this->defaultActionLevel = Logger::toMonologLevel($defaultActionLevel); + $this->channelToActionLevel = array_map('Monolog\Logger::toMonologLevel', $channelToActionLevel); + } + + public function isHandlerActivated(array $record) + { + if (isset($this->channelToActionLevel[$record['channel']])) { + return $record['level'] >= $this->channelToActionLevel[$record['channel']]; + } + + return $record['level'] >= $this->defaultActionLevel; + } +} diff --git a/vendor/monolog/monolog/src/Monolog/Handler/FingersCrossed/ErrorLevelActivationStrategy.php b/vendor/monolog/monolog/src/Monolog/Handler/FingersCrossed/ErrorLevelActivationStrategy.php new file mode 100644 index 00000000..6e630852 --- /dev/null +++ b/vendor/monolog/monolog/src/Monolog/Handler/FingersCrossed/ErrorLevelActivationStrategy.php @@ -0,0 +1,34 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Monolog\Handler\FingersCrossed; + +use Monolog\Logger; + +/** + * Error level based activation strategy. + * + * @author Johannes M. Schmitt + */ +class ErrorLevelActivationStrategy implements ActivationStrategyInterface +{ + private $actionLevel; + + public function __construct($actionLevel) + { + $this->actionLevel = Logger::toMonologLevel($actionLevel); + } + + public function isHandlerActivated(array $record) + { + return $record['level'] >= $this->actionLevel; + } +} diff --git a/vendor/monolog/monolog/src/Monolog/Handler/FingersCrossedHandler.php b/vendor/monolog/monolog/src/Monolog/Handler/FingersCrossedHandler.php new file mode 100644 index 00000000..d1dcaacf --- /dev/null +++ b/vendor/monolog/monolog/src/Monolog/Handler/FingersCrossedHandler.php @@ -0,0 +1,163 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Monolog\Handler; + +use Monolog\Handler\FingersCrossed\ErrorLevelActivationStrategy; +use Monolog\Handler\FingersCrossed\ActivationStrategyInterface; +use Monolog\Logger; + +/** + * Buffers all records until a certain level is reached + * + * The advantage of this approach is that you don't get any clutter in your log files. + * Only requests which actually trigger an error (or whatever your actionLevel is) will be + * in the logs, but they will contain all records, not only those above the level threshold. + * + * You can find the various activation strategies in the + * Monolog\Handler\FingersCrossed\ namespace. + * + * @author Jordi Boggiano + */ +class FingersCrossedHandler extends AbstractHandler +{ + protected $handler; + protected $activationStrategy; + protected $buffering = true; + protected $bufferSize; + protected $buffer = array(); + protected $stopBuffering; + protected $passthruLevel; + + /** + * @param callable|HandlerInterface $handler Handler or factory callable($record, $fingersCrossedHandler). + * @param int|ActivationStrategyInterface $activationStrategy Strategy which determines when this handler takes action + * @param int $bufferSize How many entries should be buffered at most, beyond that the oldest items are removed from the buffer. + * @param Boolean $bubble Whether the messages that are handled can bubble up the stack or not + * @param Boolean $stopBuffering Whether the handler should stop buffering after being triggered (default true) + * @param int $passthruLevel Minimum level to always flush to handler on close, even if strategy not triggered + */ + public function __construct($handler, $activationStrategy = null, $bufferSize = 0, $bubble = true, $stopBuffering = true, $passthruLevel = null) + { + if (null === $activationStrategy) { + $activationStrategy = new ErrorLevelActivationStrategy(Logger::WARNING); + } + + // convert simple int activationStrategy to an object + if (!$activationStrategy instanceof ActivationStrategyInterface) { + $activationStrategy = new ErrorLevelActivationStrategy($activationStrategy); + } + + $this->handler = $handler; + $this->activationStrategy = $activationStrategy; + $this->bufferSize = $bufferSize; + $this->bubble = $bubble; + $this->stopBuffering = $stopBuffering; + + if ($passthruLevel !== null) { + $this->passthruLevel = Logger::toMonologLevel($passthruLevel); + } + + if (!$this->handler instanceof HandlerInterface && !is_callable($this->handler)) { + throw new \RuntimeException("The given handler (".json_encode($this->handler).") is not a callable nor a Monolog\Handler\HandlerInterface object"); + } + } + + /** + * {@inheritdoc} + */ + public function isHandling(array $record) + { + return true; + } + + /** + * Manually activate this logger regardless of the activation strategy + */ + public function activate() + { + if ($this->stopBuffering) { + $this->buffering = false; + } + if (!$this->handler instanceof HandlerInterface) { + $record = end($this->buffer) ?: null; + + $this->handler = call_user_func($this->handler, $record, $this); + if (!$this->handler instanceof HandlerInterface) { + throw new \RuntimeException("The factory callable should return a HandlerInterface"); + } + } + $this->handler->handleBatch($this->buffer); + $this->buffer = array(); + } + + /** + * {@inheritdoc} + */ + public function handle(array $record) + { + if ($this->processors) { + foreach ($this->processors as $processor) { + $record = call_user_func($processor, $record); + } + } + + if ($this->buffering) { + $this->buffer[] = $record; + if ($this->bufferSize > 0 && count($this->buffer) > $this->bufferSize) { + array_shift($this->buffer); + } + if ($this->activationStrategy->isHandlerActivated($record)) { + $this->activate(); + } + } else { + $this->handler->handle($record); + } + + return false === $this->bubble; + } + + /** + * {@inheritdoc} + */ + public function close() + { + if (null !== $this->passthruLevel) { + $level = $this->passthruLevel; + $this->buffer = array_filter($this->buffer, function ($record) use ($level) { + return $record['level'] >= $level; + }); + if (count($this->buffer) > 0) { + $this->handler->handleBatch($this->buffer); + $this->buffer = array(); + } + } + } + + /** + * Resets the state of the handler. Stops forwarding records to the wrapped handler. + */ + public function reset() + { + $this->buffering = true; + } + + /** + * Clears the buffer without flushing any messages down to the wrapped handler. + * + * It also resets the handler to its initial buffering state. + */ + public function clear() + { + $this->buffer = array(); + $this->reset(); + } +} diff --git a/vendor/monolog/monolog/src/Monolog/Handler/FirePHPHandler.php b/vendor/monolog/monolog/src/Monolog/Handler/FirePHPHandler.php new file mode 100644 index 00000000..fee47950 --- /dev/null +++ b/vendor/monolog/monolog/src/Monolog/Handler/FirePHPHandler.php @@ -0,0 +1,195 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Monolog\Handler; + +use Monolog\Formatter\WildfireFormatter; + +/** + * Simple FirePHP Handler (http://www.firephp.org/), which uses the Wildfire protocol. + * + * @author Eric Clemmons (@ericclemmons) + */ +class FirePHPHandler extends AbstractProcessingHandler +{ + /** + * WildFire JSON header message format + */ + const PROTOCOL_URI = 'http://meta.wildfirehq.org/Protocol/JsonStream/0.2'; + + /** + * FirePHP structure for parsing messages & their presentation + */ + const STRUCTURE_URI = 'http://meta.firephp.org/Wildfire/Structure/FirePHP/FirebugConsole/0.1'; + + /** + * Must reference a "known" plugin, otherwise headers won't display in FirePHP + */ + const PLUGIN_URI = 'http://meta.firephp.org/Wildfire/Plugin/FirePHP/Library-FirePHPCore/0.3'; + + /** + * Header prefix for Wildfire to recognize & parse headers + */ + const HEADER_PREFIX = 'X-Wf'; + + /** + * Whether or not Wildfire vendor-specific headers have been generated & sent yet + */ + protected static $initialized = false; + + /** + * Shared static message index between potentially multiple handlers + * @var int + */ + protected static $messageIndex = 1; + + protected static $sendHeaders = true; + + /** + * Base header creation function used by init headers & record headers + * + * @param array $meta Wildfire Plugin, Protocol & Structure Indexes + * @param string $message Log message + * @return array Complete header string ready for the client as key and message as value + */ + protected function createHeader(array $meta, $message) + { + $header = sprintf('%s-%s', self::HEADER_PREFIX, join('-', $meta)); + + return array($header => $message); + } + + /** + * Creates message header from record + * + * @see createHeader() + * @param array $record + * @return string + */ + protected function createRecordHeader(array $record) + { + // Wildfire is extensible to support multiple protocols & plugins in a single request, + // but we're not taking advantage of that (yet), so we're using "1" for simplicity's sake. + return $this->createHeader( + array(1, 1, 1, self::$messageIndex++), + $record['formatted'] + ); + } + + /** + * {@inheritDoc} + */ + protected function getDefaultFormatter() + { + return new WildfireFormatter(); + } + + /** + * Wildfire initialization headers to enable message parsing + * + * @see createHeader() + * @see sendHeader() + * @return array + */ + protected function getInitHeaders() + { + // Initial payload consists of required headers for Wildfire + return array_merge( + $this->createHeader(array('Protocol', 1), self::PROTOCOL_URI), + $this->createHeader(array(1, 'Structure', 1), self::STRUCTURE_URI), + $this->createHeader(array(1, 'Plugin', 1), self::PLUGIN_URI) + ); + } + + /** + * Send header string to the client + * + * @param string $header + * @param string $content + */ + protected function sendHeader($header, $content) + { + if (!headers_sent() && self::$sendHeaders) { + header(sprintf('%s: %s', $header, $content)); + } + } + + /** + * Creates & sends header for a record, ensuring init headers have been sent prior + * + * @see sendHeader() + * @see sendInitHeaders() + * @param array $record + */ + protected function write(array $record) + { + if (!self::$sendHeaders) { + return; + } + + // WildFire-specific headers must be sent prior to any messages + if (!self::$initialized) { + self::$initialized = true; + + self::$sendHeaders = $this->headersAccepted(); + if (!self::$sendHeaders) { + return; + } + + foreach ($this->getInitHeaders() as $header => $content) { + $this->sendHeader($header, $content); + } + } + + $header = $this->createRecordHeader($record); + if (trim(current($header)) !== '') { + $this->sendHeader(key($header), current($header)); + } + } + + /** + * Verifies if the headers are accepted by the current user agent + * + * @return Boolean + */ + protected function headersAccepted() + { + if (!empty($_SERVER['HTTP_USER_AGENT']) && preg_match('{\bFirePHP/\d+\.\d+\b}', $_SERVER['HTTP_USER_AGENT'])) { + return true; + } + + return isset($_SERVER['HTTP_X_FIREPHP_VERSION']); + } + + /** + * BC getter for the sendHeaders property that has been made static + */ + public function __get($property) + { + if ('sendHeaders' !== $property) { + throw new \InvalidArgumentException('Undefined property '.$property); + } + + return static::$sendHeaders; + } + + /** + * BC setter for the sendHeaders property that has been made static + */ + public function __set($property, $value) + { + if ('sendHeaders' !== $property) { + throw new \InvalidArgumentException('Undefined property '.$property); + } + + static::$sendHeaders = $value; + } +} diff --git a/vendor/monolog/monolog/src/Monolog/Handler/FleepHookHandler.php b/vendor/monolog/monolog/src/Monolog/Handler/FleepHookHandler.php new file mode 100644 index 00000000..c43c0134 --- /dev/null +++ b/vendor/monolog/monolog/src/Monolog/Handler/FleepHookHandler.php @@ -0,0 +1,126 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Monolog\Handler; + +use Monolog\Formatter\LineFormatter; +use Monolog\Logger; + +/** + * Sends logs to Fleep.io using Webhook integrations + * + * You'll need a Fleep.io account to use this handler. + * + * @see https://fleep.io/integrations/webhooks/ Fleep Webhooks Documentation + * @author Ando Roots + */ +class FleepHookHandler extends SocketHandler +{ + const FLEEP_HOST = 'fleep.io'; + + const FLEEP_HOOK_URI = '/hook/'; + + /** + * @var string Webhook token (specifies the conversation where logs are sent) + */ + protected $token; + + /** + * Construct a new Fleep.io Handler. + * + * For instructions on how to create a new web hook in your conversations + * see https://fleep.io/integrations/webhooks/ + * + * @param string $token Webhook token + * @param bool|int $level The minimum logging level at which this handler will be triggered + * @param bool $bubble Whether the messages that are handled can bubble up the stack or not + * @throws MissingExtensionException + */ + public function __construct($token, $level = Logger::DEBUG, $bubble = true) + { + if (!extension_loaded('openssl')) { + throw new MissingExtensionException('The OpenSSL PHP extension is required to use the FleepHookHandler'); + } + + $this->token = $token; + + $connectionString = 'ssl://' . self::FLEEP_HOST . ':443'; + parent::__construct($connectionString, $level, $bubble); + } + + /** + * Returns the default formatter to use with this handler + * + * Overloaded to remove empty context and extra arrays from the end of the log message. + * + * @return LineFormatter + */ + protected function getDefaultFormatter() + { + return new LineFormatter(null, null, true, true); + } + + /** + * Handles a log record + * + * @param array $record + */ + public function write(array $record) + { + parent::write($record); + $this->closeSocket(); + } + + /** + * {@inheritdoc} + * + * @param array $record + * @return string + */ + protected function generateDataStream($record) + { + $content = $this->buildContent($record); + + return $this->buildHeader($content) . $content; + } + + /** + * Builds the header of the API Call + * + * @param string $content + * @return string + */ + private function buildHeader($content) + { + $header = "POST " . self::FLEEP_HOOK_URI . $this->token . " HTTP/1.1\r\n"; + $header .= "Host: " . self::FLEEP_HOST . "\r\n"; + $header .= "Content-Type: application/x-www-form-urlencoded\r\n"; + $header .= "Content-Length: " . strlen($content) . "\r\n"; + $header .= "\r\n"; + + return $header; + } + + /** + * Builds the body of API call + * + * @param array $record + * @return string + */ + private function buildContent($record) + { + $dataArray = array( + 'message' => $record['formatted'], + ); + + return http_build_query($dataArray); + } +} diff --git a/vendor/monolog/monolog/src/Monolog/Handler/FlowdockHandler.php b/vendor/monolog/monolog/src/Monolog/Handler/FlowdockHandler.php new file mode 100644 index 00000000..dd9a361c --- /dev/null +++ b/vendor/monolog/monolog/src/Monolog/Handler/FlowdockHandler.php @@ -0,0 +1,127 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Monolog\Handler; + +use Monolog\Logger; +use Monolog\Formatter\FlowdockFormatter; +use Monolog\Formatter\FormatterInterface; + +/** + * Sends notifications through the Flowdock push API + * + * This must be configured with a FlowdockFormatter instance via setFormatter() + * + * Notes: + * API token - Flowdock API token + * + * @author Dominik Liebler + * @see https://www.flowdock.com/api/push + */ +class FlowdockHandler extends SocketHandler +{ + /** + * @var string + */ + protected $apiToken; + + /** + * @param string $apiToken + * @param bool|int $level The minimum logging level at which this handler will be triggered + * @param bool $bubble Whether the messages that are handled can bubble up the stack or not + * + * @throws MissingExtensionException if OpenSSL is missing + */ + public function __construct($apiToken, $level = Logger::DEBUG, $bubble = true) + { + if (!extension_loaded('openssl')) { + throw new MissingExtensionException('The OpenSSL PHP extension is required to use the FlowdockHandler'); + } + + parent::__construct('ssl://api.flowdock.com:443', $level, $bubble); + $this->apiToken = $apiToken; + } + + /** + * {@inheritdoc} + */ + public function setFormatter(FormatterInterface $formatter) + { + if (!$formatter instanceof FlowdockFormatter) { + throw new \InvalidArgumentException('The FlowdockHandler requires an instance of Monolog\Formatter\FlowdockFormatter to function correctly'); + } + + return parent::setFormatter($formatter); + } + + /** + * Gets the default formatter. + * + * @return FormatterInterface + */ + protected function getDefaultFormatter() + { + throw new \InvalidArgumentException('The FlowdockHandler must be configured (via setFormatter) with an instance of Monolog\Formatter\FlowdockFormatter to function correctly'); + } + + /** + * {@inheritdoc} + * + * @param array $record + */ + protected function write(array $record) + { + parent::write($record); + + $this->closeSocket(); + } + + /** + * {@inheritdoc} + * + * @param array $record + * @return string + */ + protected function generateDataStream($record) + { + $content = $this->buildContent($record); + + return $this->buildHeader($content) . $content; + } + + /** + * Builds the body of API call + * + * @param array $record + * @return string + */ + private function buildContent($record) + { + return json_encode($record['formatted']['flowdock']); + } + + /** + * Builds the header of the API Call + * + * @param string $content + * @return string + */ + private function buildHeader($content) + { + $header = "POST /v1/messages/team_inbox/" . $this->apiToken . " HTTP/1.1\r\n"; + $header .= "Host: api.flowdock.com\r\n"; + $header .= "Content-Type: application/json\r\n"; + $header .= "Content-Length: " . strlen($content) . "\r\n"; + $header .= "\r\n"; + + return $header; + } +} diff --git a/vendor/monolog/monolog/src/Monolog/Handler/GelfHandler.php b/vendor/monolog/monolog/src/Monolog/Handler/GelfHandler.php new file mode 100644 index 00000000..d3847d82 --- /dev/null +++ b/vendor/monolog/monolog/src/Monolog/Handler/GelfHandler.php @@ -0,0 +1,73 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Monolog\Handler; + +use Gelf\IMessagePublisher; +use Gelf\PublisherInterface; +use Gelf\Publisher; +use InvalidArgumentException; +use Monolog\Logger; +use Monolog\Formatter\GelfMessageFormatter; + +/** + * Handler to send messages to a Graylog2 (http://www.graylog2.org) server + * + * @author Matt Lehner + * @author Benjamin Zikarsky + */ +class GelfHandler extends AbstractProcessingHandler +{ + /** + * @var Publisher the publisher object that sends the message to the server + */ + protected $publisher; + + /** + * @param PublisherInterface|IMessagePublisher|Publisher $publisher a publisher object + * @param int $level The minimum logging level at which this handler will be triggered + * @param bool $bubble Whether the messages that are handled can bubble up the stack or not + */ + public function __construct($publisher, $level = Logger::DEBUG, $bubble = true) + { + parent::__construct($level, $bubble); + + if (!$publisher instanceof Publisher && !$publisher instanceof IMessagePublisher && !$publisher instanceof PublisherInterface) { + throw new InvalidArgumentException('Invalid publisher, expected a Gelf\Publisher, Gelf\IMessagePublisher or Gelf\PublisherInterface instance'); + } + + $this->publisher = $publisher; + } + + /** + * {@inheritdoc} + */ + public function close() + { + $this->publisher = null; + } + + /** + * {@inheritdoc} + */ + protected function write(array $record) + { + $this->publisher->publish($record['formatted']); + } + + /** + * {@inheritDoc} + */ + protected function getDefaultFormatter() + { + return new GelfMessageFormatter(); + } +} diff --git a/vendor/monolog/monolog/src/Monolog/Handler/GroupHandler.php b/vendor/monolog/monolog/src/Monolog/Handler/GroupHandler.php new file mode 100644 index 00000000..663f5a92 --- /dev/null +++ b/vendor/monolog/monolog/src/Monolog/Handler/GroupHandler.php @@ -0,0 +1,104 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Monolog\Handler; + +use Monolog\Formatter\FormatterInterface; + +/** + * Forwards records to multiple handlers + * + * @author Lenar Lõhmus + */ +class GroupHandler extends AbstractHandler +{ + protected $handlers; + + /** + * @param array $handlers Array of Handlers. + * @param Boolean $bubble Whether the messages that are handled can bubble up the stack or not + */ + public function __construct(array $handlers, $bubble = true) + { + foreach ($handlers as $handler) { + if (!$handler instanceof HandlerInterface) { + throw new \InvalidArgumentException('The first argument of the GroupHandler must be an array of HandlerInterface instances.'); + } + } + + $this->handlers = $handlers; + $this->bubble = $bubble; + } + + /** + * {@inheritdoc} + */ + public function isHandling(array $record) + { + foreach ($this->handlers as $handler) { + if ($handler->isHandling($record)) { + return true; + } + } + + return false; + } + + /** + * {@inheritdoc} + */ + public function handle(array $record) + { + if ($this->processors) { + foreach ($this->processors as $processor) { + $record = call_user_func($processor, $record); + } + } + + foreach ($this->handlers as $handler) { + $handler->handle($record); + } + + return false === $this->bubble; + } + + /** + * {@inheritdoc} + */ + public function handleBatch(array $records) + { + if ($this->processors) { + $processed = array(); + foreach ($records as $record) { + foreach ($this->processors as $processor) { + $processed[] = call_user_func($processor, $record); + } + } + $records = $processed; + } + + foreach ($this->handlers as $handler) { + $handler->handleBatch($records); + } + } + + /** + * {@inheritdoc} + */ + public function setFormatter(FormatterInterface $formatter) + { + foreach ($this->handlers as $handler) { + $handler->setFormatter($formatter); + } + + return $this; + } +} diff --git a/vendor/monolog/monolog/src/Monolog/Handler/HandlerInterface.php b/vendor/monolog/monolog/src/Monolog/Handler/HandlerInterface.php new file mode 100644 index 00000000..d920c4ba --- /dev/null +++ b/vendor/monolog/monolog/src/Monolog/Handler/HandlerInterface.php @@ -0,0 +1,90 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Monolog\Handler; + +use Monolog\Formatter\FormatterInterface; + +/** + * Interface that all Monolog Handlers must implement + * + * @author Jordi Boggiano + */ +interface HandlerInterface +{ + /** + * Checks whether the given record will be handled by this handler. + * + * This is mostly done for performance reasons, to avoid calling processors for nothing. + * + * Handlers should still check the record levels within handle(), returning false in isHandling() + * is no guarantee that handle() will not be called, and isHandling() might not be called + * for a given record. + * + * @param array $record Partial log record containing only a level key + * + * @return Boolean + */ + public function isHandling(array $record); + + /** + * Handles a record. + * + * All records may be passed to this method, and the handler should discard + * those that it does not want to handle. + * + * The return value of this function controls the bubbling process of the handler stack. + * Unless the bubbling is interrupted (by returning true), the Logger class will keep on + * calling further handlers in the stack with a given log record. + * + * @param array $record The record to handle + * @return Boolean true means that this handler handled the record, and that bubbling is not permitted. + * false means the record was either not processed or that this handler allows bubbling. + */ + public function handle(array $record); + + /** + * Handles a set of records at once. + * + * @param array $records The records to handle (an array of record arrays) + */ + public function handleBatch(array $records); + + /** + * Adds a processor in the stack. + * + * @param callable $callback + * @return self + */ + public function pushProcessor($callback); + + /** + * Removes the processor on top of the stack and returns it. + * + * @return callable + */ + public function popProcessor(); + + /** + * Sets the formatter. + * + * @param FormatterInterface $formatter + * @return self + */ + public function setFormatter(FormatterInterface $formatter); + + /** + * Gets the formatter. + * + * @return FormatterInterface + */ + public function getFormatter(); +} diff --git a/vendor/monolog/monolog/src/Monolog/Handler/HandlerWrapper.php b/vendor/monolog/monolog/src/Monolog/Handler/HandlerWrapper.php new file mode 100644 index 00000000..56bc2704 --- /dev/null +++ b/vendor/monolog/monolog/src/Monolog/Handler/HandlerWrapper.php @@ -0,0 +1,106 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Monolog\Handler; + +use Monolog\Formatter\FormatterInterface; + +/** + * This simple wrapper class can be used to extend handlers functionality. + * + * Example: A filtering handle. Inherit from this class, override isHandling() like this + * + * public function isHandling(array $record) + * { + * if ($record meets certain conditions) { + * return false; + * } + * return $this->handler->isHandling($record); + * } + * + * @author Alexey Karapetov + */ +class HandlerWrapper implements HandlerInterface +{ + /** + * @var HandlerInterface + */ + protected $handler; + + /** + * HandlerWrapper constructor. + * @param HandlerInterface $handler + */ + public function __construct(HandlerInterface $handler) + { + $this->handler = $handler; + } + + /** + * {@inheritdoc} + */ + public function isHandling(array $record) + { + return $this->handler->isHandling($record); + } + + /** + * {@inheritdoc} + */ + public function handle(array $record) + { + return $this->handler->handle($record); + } + + /** + * {@inheritdoc} + */ + public function handleBatch(array $records) + { + return $this->handler->handleBatch($records); + } + + /** + * {@inheritdoc} + */ + public function pushProcessor($callback) + { + $this->handler->pushProcessor($callback); + + return $this; + } + + /** + * {@inheritdoc} + */ + public function popProcessor() + { + return $this->handler->popProcessor(); + } + + /** + * {@inheritdoc} + */ + public function setFormatter(FormatterInterface $formatter) + { + $this->handler->setFormatter($formatter); + + return $this; + } + + /** + * {@inheritdoc} + */ + public function getFormatter() + { + return $this->handler->getFormatter(); + } +} diff --git a/vendor/monolog/monolog/src/Monolog/Handler/HipChatHandler.php b/vendor/monolog/monolog/src/Monolog/Handler/HipChatHandler.php new file mode 100644 index 00000000..73049f36 --- /dev/null +++ b/vendor/monolog/monolog/src/Monolog/Handler/HipChatHandler.php @@ -0,0 +1,350 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Monolog\Handler; + +use Monolog\Logger; + +/** + * Sends notifications through the hipchat api to a hipchat room + * + * Notes: + * API token - HipChat API token + * Room - HipChat Room Id or name, where messages are sent + * Name - Name used to send the message (from) + * notify - Should the message trigger a notification in the clients + * version - The API version to use (HipChatHandler::API_V1 | HipChatHandler::API_V2) + * + * @author Rafael Dohms + * @see https://www.hipchat.com/docs/api + */ +class HipChatHandler extends SocketHandler +{ + /** + * Use API version 1 + */ + const API_V1 = 'v1'; + + /** + * Use API version v2 + */ + const API_V2 = 'v2'; + + /** + * The maximum allowed length for the name used in the "from" field. + */ + const MAXIMUM_NAME_LENGTH = 15; + + /** + * The maximum allowed length for the message. + */ + const MAXIMUM_MESSAGE_LENGTH = 9500; + + /** + * @var string + */ + private $token; + + /** + * @var string + */ + private $room; + + /** + * @var string + */ + private $name; + + /** + * @var bool + */ + private $notify; + + /** + * @var string + */ + private $format; + + /** + * @var string + */ + private $host; + + /** + * @var string + */ + private $version; + + /** + * @param string $token HipChat API Token + * @param string $room The room that should be alerted of the message (Id or Name) + * @param string $name Name used in the "from" field. + * @param bool $notify Trigger a notification in clients or not + * @param int $level The minimum logging level at which this handler will be triggered + * @param bool $bubble Whether the messages that are handled can bubble up the stack or not + * @param bool $useSSL Whether to connect via SSL. + * @param string $format The format of the messages (default to text, can be set to html if you have html in the messages) + * @param string $host The HipChat server hostname. + * @param string $version The HipChat API version (default HipChatHandler::API_V1) + */ + public function __construct($token, $room, $name = 'Monolog', $notify = false, $level = Logger::CRITICAL, $bubble = true, $useSSL = true, $format = 'text', $host = 'api.hipchat.com', $version = self::API_V1) + { + if ($version == self::API_V1 && !$this->validateStringLength($name, static::MAXIMUM_NAME_LENGTH)) { + throw new \InvalidArgumentException('The supplied name is too long. HipChat\'s v1 API supports names up to 15 UTF-8 characters.'); + } + + $connectionString = $useSSL ? 'ssl://'.$host.':443' : $host.':80'; + parent::__construct($connectionString, $level, $bubble); + + $this->token = $token; + $this->name = $name; + $this->notify = $notify; + $this->room = $room; + $this->format = $format; + $this->host = $host; + $this->version = $version; + } + + /** + * {@inheritdoc} + * + * @param array $record + * @return string + */ + protected function generateDataStream($record) + { + $content = $this->buildContent($record); + + return $this->buildHeader($content) . $content; + } + + /** + * Builds the body of API call + * + * @param array $record + * @return string + */ + private function buildContent($record) + { + $dataArray = array( + 'notify' => $this->version == self::API_V1 ? + ($this->notify ? 1 : 0) : + ($this->notify ? 'true' : 'false'), + 'message' => $record['formatted'], + 'message_format' => $this->format, + 'color' => $this->getAlertColor($record['level']), + ); + + if (!$this->validateStringLength($dataArray['message'], static::MAXIMUM_MESSAGE_LENGTH)) { + if (function_exists('mb_substr')) { + $dataArray['message'] = mb_substr($dataArray['message'], 0, static::MAXIMUM_MESSAGE_LENGTH).' [truncated]'; + } else { + $dataArray['message'] = substr($dataArray['message'], 0, static::MAXIMUM_MESSAGE_LENGTH).' [truncated]'; + } + } + + // if we are using the legacy API then we need to send some additional information + if ($this->version == self::API_V1) { + $dataArray['room_id'] = $this->room; + } + + // append the sender name if it is set + // always append it if we use the v1 api (it is required in v1) + if ($this->version == self::API_V1 || $this->name !== null) { + $dataArray['from'] = (string) $this->name; + } + + return http_build_query($dataArray); + } + + /** + * Builds the header of the API Call + * + * @param string $content + * @return string + */ + private function buildHeader($content) + { + if ($this->version == self::API_V1) { + $header = "POST /v1/rooms/message?format=json&auth_token={$this->token} HTTP/1.1\r\n"; + } else { + // needed for rooms with special (spaces, etc) characters in the name + $room = rawurlencode($this->room); + $header = "POST /v2/room/{$room}/notification?auth_token={$this->token} HTTP/1.1\r\n"; + } + + $header .= "Host: {$this->host}\r\n"; + $header .= "Content-Type: application/x-www-form-urlencoded\r\n"; + $header .= "Content-Length: " . strlen($content) . "\r\n"; + $header .= "\r\n"; + + return $header; + } + + /** + * Assigns a color to each level of log records. + * + * @param int $level + * @return string + */ + protected function getAlertColor($level) + { + switch (true) { + case $level >= Logger::ERROR: + return 'red'; + case $level >= Logger::WARNING: + return 'yellow'; + case $level >= Logger::INFO: + return 'green'; + case $level == Logger::DEBUG: + return 'gray'; + default: + return 'yellow'; + } + } + + /** + * {@inheritdoc} + * + * @param array $record + */ + protected function write(array $record) + { + parent::write($record); + $this->closeSocket(); + } + + /** + * {@inheritdoc} + */ + public function handleBatch(array $records) + { + if (count($records) == 0) { + return true; + } + + $batchRecords = $this->combineRecords($records); + + $handled = false; + foreach ($batchRecords as $batchRecord) { + if ($this->isHandling($batchRecord)) { + $this->write($batchRecord); + $handled = true; + } + } + + if (!$handled) { + return false; + } + + return false === $this->bubble; + } + + /** + * Combines multiple records into one. Error level of the combined record + * will be the highest level from the given records. Datetime will be taken + * from the first record. + * + * @param $records + * @return array + */ + private function combineRecords($records) + { + $batchRecord = null; + $batchRecords = array(); + $messages = array(); + $formattedMessages = array(); + $level = 0; + $levelName = null; + $datetime = null; + + foreach ($records as $record) { + $record = $this->processRecord($record); + + if ($record['level'] > $level) { + $level = $record['level']; + $levelName = $record['level_name']; + } + + if (null === $datetime) { + $datetime = $record['datetime']; + } + + $messages[] = $record['message']; + $messageStr = implode(PHP_EOL, $messages); + $formattedMessages[] = $this->getFormatter()->format($record); + $formattedMessageStr = implode('', $formattedMessages); + + $batchRecord = array( + 'message' => $messageStr, + 'formatted' => $formattedMessageStr, + 'context' => array(), + 'extra' => array(), + ); + + if (!$this->validateStringLength($batchRecord['formatted'], static::MAXIMUM_MESSAGE_LENGTH)) { + // Pop the last message and implode the remaining messages + $lastMessage = array_pop($messages); + $lastFormattedMessage = array_pop($formattedMessages); + $batchRecord['message'] = implode(PHP_EOL, $messages); + $batchRecord['formatted'] = implode('', $formattedMessages); + + $batchRecords[] = $batchRecord; + $messages = array($lastMessage); + $formattedMessages = array($lastFormattedMessage); + + $batchRecord = null; + } + } + + if (null !== $batchRecord) { + $batchRecords[] = $batchRecord; + } + + // Set the max level and datetime for all records + foreach ($batchRecords as &$batchRecord) { + $batchRecord = array_merge( + $batchRecord, + array( + 'level' => $level, + 'level_name' => $levelName, + 'datetime' => $datetime, + ) + ); + } + + return $batchRecords; + } + + /** + * Validates the length of a string. + * + * If the `mb_strlen()` function is available, it will use that, as HipChat + * allows UTF-8 characters. Otherwise, it will fall back to `strlen()`. + * + * Note that this might cause false failures in the specific case of using + * a valid name with less than 16 characters, but 16 or more bytes, on a + * system where `mb_strlen()` is unavailable. + * + * @param string $str + * @param int $length + * + * @return bool + */ + private function validateStringLength($str, $length) + { + if (function_exists('mb_strlen')) { + return (mb_strlen($str) <= $length); + } + + return (strlen($str) <= $length); + } +} diff --git a/vendor/monolog/monolog/src/Monolog/Handler/IFTTTHandler.php b/vendor/monolog/monolog/src/Monolog/Handler/IFTTTHandler.php new file mode 100644 index 00000000..d60a3c82 --- /dev/null +++ b/vendor/monolog/monolog/src/Monolog/Handler/IFTTTHandler.php @@ -0,0 +1,69 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Monolog\Handler; + +use Monolog\Logger; + +/** + * IFTTTHandler uses cURL to trigger IFTTT Maker actions + * + * Register a secret key and trigger/event name at https://ifttt.com/maker + * + * value1 will be the channel from monolog's Logger constructor, + * value2 will be the level name (ERROR, WARNING, ..) + * value3 will be the log record's message + * + * @author Nehal Patel + */ +class IFTTTHandler extends AbstractProcessingHandler +{ + private $eventName; + private $secretKey; + + /** + * @param string $eventName The name of the IFTTT Maker event that should be triggered + * @param string $secretKey A valid IFTTT secret key + * @param int $level The minimum logging level at which this handler will be triggered + * @param Boolean $bubble Whether the messages that are handled can bubble up the stack or not + */ + public function __construct($eventName, $secretKey, $level = Logger::ERROR, $bubble = true) + { + $this->eventName = $eventName; + $this->secretKey = $secretKey; + + parent::__construct($level, $bubble); + } + + /** + * {@inheritdoc} + */ + public function write(array $record) + { + $postData = array( + "value1" => $record["channel"], + "value2" => $record["level_name"], + "value3" => $record["message"], + ); + $postString = json_encode($postData); + + $ch = curl_init(); + curl_setopt($ch, CURLOPT_URL, "https://maker.ifttt.com/trigger/" . $this->eventName . "/with/key/" . $this->secretKey); + curl_setopt($ch, CURLOPT_POST, true); + curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); + curl_setopt($ch, CURLOPT_POSTFIELDS, $postString); + curl_setopt($ch, CURLOPT_HTTPHEADER, array( + "Content-Type: application/json", + )); + + Curl\Util::execute($ch); + } +} diff --git a/vendor/monolog/monolog/src/Monolog/Handler/LogEntriesHandler.php b/vendor/monolog/monolog/src/Monolog/Handler/LogEntriesHandler.php new file mode 100644 index 00000000..494c605b --- /dev/null +++ b/vendor/monolog/monolog/src/Monolog/Handler/LogEntriesHandler.php @@ -0,0 +1,55 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Monolog\Handler; + +use Monolog\Logger; + +/** + * @author Robert Kaufmann III + */ +class LogEntriesHandler extends SocketHandler +{ + /** + * @var string + */ + protected $logToken; + + /** + * @param string $token Log token supplied by LogEntries + * @param bool $useSSL Whether or not SSL encryption should be used. + * @param int $level The minimum logging level to trigger this handler + * @param bool $bubble Whether or not messages that are handled should bubble up the stack. + * + * @throws MissingExtensionException If SSL encryption is set to true and OpenSSL is missing + */ + public function __construct($token, $useSSL = true, $level = Logger::DEBUG, $bubble = true) + { + if ($useSSL && !extension_loaded('openssl')) { + throw new MissingExtensionException('The OpenSSL PHP plugin is required to use SSL encrypted connection for LogEntriesHandler'); + } + + $endpoint = $useSSL ? 'ssl://data.logentries.com:443' : 'data.logentries.com:80'; + parent::__construct($endpoint, $level, $bubble); + $this->logToken = $token; + } + + /** + * {@inheritdoc} + * + * @param array $record + * @return string + */ + protected function generateDataStream($record) + { + return $this->logToken . ' ' . $record['formatted']; + } +} diff --git a/vendor/monolog/monolog/src/Monolog/Handler/LogglyHandler.php b/vendor/monolog/monolog/src/Monolog/Handler/LogglyHandler.php new file mode 100644 index 00000000..bcd62e1c --- /dev/null +++ b/vendor/monolog/monolog/src/Monolog/Handler/LogglyHandler.php @@ -0,0 +1,102 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Monolog\Handler; + +use Monolog\Logger; +use Monolog\Formatter\LogglyFormatter; + +/** + * Sends errors to Loggly. + * + * @author Przemek Sobstel + * @author Adam Pancutt + * @author Gregory Barchard + */ +class LogglyHandler extends AbstractProcessingHandler +{ + const HOST = 'logs-01.loggly.com'; + const ENDPOINT_SINGLE = 'inputs'; + const ENDPOINT_BATCH = 'bulk'; + + protected $token; + + protected $tag = array(); + + public function __construct($token, $level = Logger::DEBUG, $bubble = true) + { + if (!extension_loaded('curl')) { + throw new \LogicException('The curl extension is needed to use the LogglyHandler'); + } + + $this->token = $token; + + parent::__construct($level, $bubble); + } + + public function setTag($tag) + { + $tag = !empty($tag) ? $tag : array(); + $this->tag = is_array($tag) ? $tag : array($tag); + } + + public function addTag($tag) + { + if (!empty($tag)) { + $tag = is_array($tag) ? $tag : array($tag); + $this->tag = array_unique(array_merge($this->tag, $tag)); + } + } + + protected function write(array $record) + { + $this->send($record["formatted"], self::ENDPOINT_SINGLE); + } + + public function handleBatch(array $records) + { + $level = $this->level; + + $records = array_filter($records, function ($record) use ($level) { + return ($record['level'] >= $level); + }); + + if ($records) { + $this->send($this->getFormatter()->formatBatch($records), self::ENDPOINT_BATCH); + } + } + + protected function send($data, $endpoint) + { + $url = sprintf("https://%s/%s/%s/", self::HOST, $endpoint, $this->token); + + $headers = array('Content-Type: application/json'); + + if (!empty($this->tag)) { + $headers[] = 'X-LOGGLY-TAG: '.implode(',', $this->tag); + } + + $ch = curl_init(); + + curl_setopt($ch, CURLOPT_URL, $url); + curl_setopt($ch, CURLOPT_POST, true); + curl_setopt($ch, CURLOPT_POSTFIELDS, $data); + curl_setopt($ch, CURLOPT_HTTPHEADER, $headers); + curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); + + Curl\Util::execute($ch); + } + + protected function getDefaultFormatter() + { + return new LogglyFormatter(); + } +} diff --git a/vendor/monolog/monolog/src/Monolog/Handler/MailHandler.php b/vendor/monolog/monolog/src/Monolog/Handler/MailHandler.php new file mode 100644 index 00000000..9e232838 --- /dev/null +++ b/vendor/monolog/monolog/src/Monolog/Handler/MailHandler.php @@ -0,0 +1,67 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Monolog\Handler; + +/** + * Base class for all mail handlers + * + * @author Gyula Sallai + */ +abstract class MailHandler extends AbstractProcessingHandler +{ + /** + * {@inheritdoc} + */ + public function handleBatch(array $records) + { + $messages = array(); + + foreach ($records as $record) { + if ($record['level'] < $this->level) { + continue; + } + $messages[] = $this->processRecord($record); + } + + if (!empty($messages)) { + $this->send((string) $this->getFormatter()->formatBatch($messages), $messages); + } + } + + /** + * Send a mail with the given content + * + * @param string $content formatted email body to be sent + * @param array $records the array of log records that formed this content + */ + abstract protected function send($content, array $records); + + /** + * {@inheritdoc} + */ + protected function write(array $record) + { + $this->send((string) $record['formatted'], array($record)); + } + + protected function getHighestRecord(array $records) + { + $highestRecord = null; + foreach ($records as $record) { + if ($highestRecord === null || $highestRecord['level'] < $record['level']) { + $highestRecord = $record; + } + } + + return $highestRecord; + } +} diff --git a/vendor/monolog/monolog/src/Monolog/Handler/MandrillHandler.php b/vendor/monolog/monolog/src/Monolog/Handler/MandrillHandler.php new file mode 100644 index 00000000..ab95924f --- /dev/null +++ b/vendor/monolog/monolog/src/Monolog/Handler/MandrillHandler.php @@ -0,0 +1,68 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Monolog\Handler; + +use Monolog\Logger; + +/** + * MandrillHandler uses cURL to send the emails to the Mandrill API + * + * @author Adam Nicholson + */ +class MandrillHandler extends MailHandler +{ + protected $message; + protected $apiKey; + + /** + * @param string $apiKey A valid Mandrill API key + * @param callable|\Swift_Message $message An example message for real messages, only the body will be replaced + * @param int $level The minimum logging level at which this handler will be triggered + * @param Boolean $bubble Whether the messages that are handled can bubble up the stack or not + */ + public function __construct($apiKey, $message, $level = Logger::ERROR, $bubble = true) + { + parent::__construct($level, $bubble); + + if (!$message instanceof \Swift_Message && is_callable($message)) { + $message = call_user_func($message); + } + if (!$message instanceof \Swift_Message) { + throw new \InvalidArgumentException('You must provide either a Swift_Message instance or a callable returning it'); + } + $this->message = $message; + $this->apiKey = $apiKey; + } + + /** + * {@inheritdoc} + */ + protected function send($content, array $records) + { + $message = clone $this->message; + $message->setBody($content); + $message->setDate(time()); + + $ch = curl_init(); + + curl_setopt($ch, CURLOPT_URL, 'https://mandrillapp.com/api/1.0/messages/send-raw.json'); + curl_setopt($ch, CURLOPT_POST, 1); + curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); + curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query(array( + 'key' => $this->apiKey, + 'raw_message' => (string) $message, + 'async' => false, + ))); + + Curl\Util::execute($ch); + } +} diff --git a/vendor/monolog/monolog/src/Monolog/Handler/MissingExtensionException.php b/vendor/monolog/monolog/src/Monolog/Handler/MissingExtensionException.php new file mode 100644 index 00000000..4724a7e2 --- /dev/null +++ b/vendor/monolog/monolog/src/Monolog/Handler/MissingExtensionException.php @@ -0,0 +1,21 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Monolog\Handler; + +/** + * Exception can be thrown if an extension for an handler is missing + * + * @author Christian Bergau + */ +class MissingExtensionException extends \Exception +{ +} diff --git a/vendor/monolog/monolog/src/Monolog/Handler/MongoDBHandler.php b/vendor/monolog/monolog/src/Monolog/Handler/MongoDBHandler.php new file mode 100644 index 00000000..56fe755b --- /dev/null +++ b/vendor/monolog/monolog/src/Monolog/Handler/MongoDBHandler.php @@ -0,0 +1,59 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Monolog\Handler; + +use Monolog\Logger; +use Monolog\Formatter\NormalizerFormatter; + +/** + * Logs to a MongoDB database. + * + * usage example: + * + * $log = new Logger('application'); + * $mongodb = new MongoDBHandler(new \Mongo("mongodb://localhost:27017"), "logs", "prod"); + * $log->pushHandler($mongodb); + * + * @author Thomas Tourlourat + */ +class MongoDBHandler extends AbstractProcessingHandler +{ + protected $mongoCollection; + + public function __construct($mongo, $database, $collection, $level = Logger::DEBUG, $bubble = true) + { + if (!($mongo instanceof \MongoClient || $mongo instanceof \Mongo || $mongo instanceof \MongoDB\Client)) { + throw new \InvalidArgumentException('MongoClient, Mongo or MongoDB\Client instance required'); + } + + $this->mongoCollection = $mongo->selectCollection($database, $collection); + + parent::__construct($level, $bubble); + } + + protected function write(array $record) + { + if ($this->mongoCollection instanceof \MongoDB\Collection) { + $this->mongoCollection->insertOne($record["formatted"]); + } else { + $this->mongoCollection->save($record["formatted"]); + } + } + + /** + * {@inheritDoc} + */ + protected function getDefaultFormatter() + { + return new NormalizerFormatter(); + } +} diff --git a/vendor/monolog/monolog/src/Monolog/Handler/NativeMailerHandler.php b/vendor/monolog/monolog/src/Monolog/Handler/NativeMailerHandler.php new file mode 100644 index 00000000..d7807fd1 --- /dev/null +++ b/vendor/monolog/monolog/src/Monolog/Handler/NativeMailerHandler.php @@ -0,0 +1,185 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Monolog\Handler; + +use Monolog\Logger; +use Monolog\Formatter\LineFormatter; + +/** + * NativeMailerHandler uses the mail() function to send the emails + * + * @author Christophe Coevoet + * @author Mark Garrett + */ +class NativeMailerHandler extends MailHandler +{ + /** + * The email addresses to which the message will be sent + * @var array + */ + protected $to; + + /** + * The subject of the email + * @var string + */ + protected $subject; + + /** + * Optional headers for the message + * @var array + */ + protected $headers = array(); + + /** + * Optional parameters for the message + * @var array + */ + protected $parameters = array(); + + /** + * The wordwrap length for the message + * @var int + */ + protected $maxColumnWidth; + + /** + * The Content-type for the message + * @var string + */ + protected $contentType = 'text/plain'; + + /** + * The encoding for the message + * @var string + */ + protected $encoding = 'utf-8'; + + /** + * @param string|array $to The receiver of the mail + * @param string $subject The subject of the mail + * @param string $from The sender of the mail + * @param int $level The minimum logging level at which this handler will be triggered + * @param bool $bubble Whether the messages that are handled can bubble up the stack or not + * @param int $maxColumnWidth The maximum column width that the message lines will have + */ + public function __construct($to, $subject, $from, $level = Logger::ERROR, $bubble = true, $maxColumnWidth = 70) + { + parent::__construct($level, $bubble); + $this->to = is_array($to) ? $to : array($to); + $this->subject = $subject; + $this->addHeader(sprintf('From: %s', $from)); + $this->maxColumnWidth = $maxColumnWidth; + } + + /** + * Add headers to the message + * + * @param string|array $headers Custom added headers + * @return self + */ + public function addHeader($headers) + { + foreach ((array) $headers as $header) { + if (strpos($header, "\n") !== false || strpos($header, "\r") !== false) { + throw new \InvalidArgumentException('Headers can not contain newline characters for security reasons'); + } + $this->headers[] = $header; + } + + return $this; + } + + /** + * Add parameters to the message + * + * @param string|array $parameters Custom added parameters + * @return self + */ + public function addParameter($parameters) + { + $this->parameters = array_merge($this->parameters, (array) $parameters); + + return $this; + } + + /** + * {@inheritdoc} + */ + protected function send($content, array $records) + { + $content = wordwrap($content, $this->maxColumnWidth); + $headers = ltrim(implode("\r\n", $this->headers) . "\r\n", "\r\n"); + $headers .= 'Content-type: ' . $this->getContentType() . '; charset=' . $this->getEncoding() . "\r\n"; + if ($this->getContentType() == 'text/html' && false === strpos($headers, 'MIME-Version:')) { + $headers .= 'MIME-Version: 1.0' . "\r\n"; + } + + $subject = $this->subject; + if ($records) { + $subjectFormatter = new LineFormatter($this->subject); + $subject = $subjectFormatter->format($this->getHighestRecord($records)); + } + + $parameters = implode(' ', $this->parameters); + foreach ($this->to as $to) { + mail($to, $subject, $content, $headers, $parameters); + } + } + + /** + * @return string $contentType + */ + public function getContentType() + { + return $this->contentType; + } + + /** + * @return string $encoding + */ + public function getEncoding() + { + return $this->encoding; + } + + /** + * @param string $contentType The content type of the email - Defaults to text/plain. Use text/html for HTML + * messages. + * @return self + */ + public function setContentType($contentType) + { + if (strpos($contentType, "\n") !== false || strpos($contentType, "\r") !== false) { + throw new \InvalidArgumentException('The content type can not contain newline characters to prevent email header injection'); + } + + $this->contentType = $contentType; + + return $this; + } + + /** + * @param string $encoding + * @return self + */ + public function setEncoding($encoding) + { + if (strpos($encoding, "\n") !== false || strpos($encoding, "\r") !== false) { + throw new \InvalidArgumentException('The encoding can not contain newline characters to prevent email header injection'); + } + + $this->encoding = $encoding; + + return $this; + } +} diff --git a/vendor/monolog/monolog/src/Monolog/Handler/NewRelicHandler.php b/vendor/monolog/monolog/src/Monolog/Handler/NewRelicHandler.php new file mode 100644 index 00000000..6718e9e0 --- /dev/null +++ b/vendor/monolog/monolog/src/Monolog/Handler/NewRelicHandler.php @@ -0,0 +1,202 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Monolog\Handler; + +use Monolog\Logger; +use Monolog\Formatter\NormalizerFormatter; + +/** + * Class to record a log on a NewRelic application. + * Enabling New Relic High Security mode may prevent capture of useful information. + * + * @see https://docs.newrelic.com/docs/agents/php-agent + * @see https://docs.newrelic.com/docs/accounts-partnerships/accounts/security/high-security + */ +class NewRelicHandler extends AbstractProcessingHandler +{ + /** + * Name of the New Relic application that will receive logs from this handler. + * + * @var string + */ + protected $appName; + + /** + * Name of the current transaction + * + * @var string + */ + protected $transactionName; + + /** + * Some context and extra data is passed into the handler as arrays of values. Do we send them as is + * (useful if we are using the API), or explode them for display on the NewRelic RPM website? + * + * @var bool + */ + protected $explodeArrays; + + /** + * {@inheritDoc} + * + * @param string $appName + * @param bool $explodeArrays + * @param string $transactionName + */ + public function __construct( + $level = Logger::ERROR, + $bubble = true, + $appName = null, + $explodeArrays = false, + $transactionName = null + ) { + parent::__construct($level, $bubble); + + $this->appName = $appName; + $this->explodeArrays = $explodeArrays; + $this->transactionName = $transactionName; + } + + /** + * {@inheritDoc} + */ + protected function write(array $record) + { + if (!$this->isNewRelicEnabled()) { + throw new MissingExtensionException('The newrelic PHP extension is required to use the NewRelicHandler'); + } + + if ($appName = $this->getAppName($record['context'])) { + $this->setNewRelicAppName($appName); + } + + if ($transactionName = $this->getTransactionName($record['context'])) { + $this->setNewRelicTransactionName($transactionName); + unset($record['formatted']['context']['transaction_name']); + } + + if (isset($record['context']['exception']) && $record['context']['exception'] instanceof \Exception) { + newrelic_notice_error($record['message'], $record['context']['exception']); + unset($record['formatted']['context']['exception']); + } else { + newrelic_notice_error($record['message']); + } + + if (isset($record['formatted']['context']) && is_array($record['formatted']['context'])) { + foreach ($record['formatted']['context'] as $key => $parameter) { + if (is_array($parameter) && $this->explodeArrays) { + foreach ($parameter as $paramKey => $paramValue) { + $this->setNewRelicParameter('context_' . $key . '_' . $paramKey, $paramValue); + } + } else { + $this->setNewRelicParameter('context_' . $key, $parameter); + } + } + } + + if (isset($record['formatted']['extra']) && is_array($record['formatted']['extra'])) { + foreach ($record['formatted']['extra'] as $key => $parameter) { + if (is_array($parameter) && $this->explodeArrays) { + foreach ($parameter as $paramKey => $paramValue) { + $this->setNewRelicParameter('extra_' . $key . '_' . $paramKey, $paramValue); + } + } else { + $this->setNewRelicParameter('extra_' . $key, $parameter); + } + } + } + } + + /** + * Checks whether the NewRelic extension is enabled in the system. + * + * @return bool + */ + protected function isNewRelicEnabled() + { + return extension_loaded('newrelic'); + } + + /** + * Returns the appname where this log should be sent. Each log can override the default appname, set in this + * handler's constructor, by providing the appname in it's context. + * + * @param array $context + * @return null|string + */ + protected function getAppName(array $context) + { + if (isset($context['appname'])) { + return $context['appname']; + } + + return $this->appName; + } + + /** + * Returns the name of the current transaction. Each log can override the default transaction name, set in this + * handler's constructor, by providing the transaction_name in it's context + * + * @param array $context + * + * @return null|string + */ + protected function getTransactionName(array $context) + { + if (isset($context['transaction_name'])) { + return $context['transaction_name']; + } + + return $this->transactionName; + } + + /** + * Sets the NewRelic application that should receive this log. + * + * @param string $appName + */ + protected function setNewRelicAppName($appName) + { + newrelic_set_appname($appName); + } + + /** + * Overwrites the name of the current transaction + * + * @param string $transactionName + */ + protected function setNewRelicTransactionName($transactionName) + { + newrelic_name_transaction($transactionName); + } + + /** + * @param string $key + * @param mixed $value + */ + protected function setNewRelicParameter($key, $value) + { + if (null === $value || is_scalar($value)) { + newrelic_add_custom_parameter($key, $value); + } else { + newrelic_add_custom_parameter($key, @json_encode($value)); + } + } + + /** + * {@inheritDoc} + */ + protected function getDefaultFormatter() + { + return new NormalizerFormatter(); + } +} diff --git a/vendor/monolog/monolog/src/Monolog/Handler/NullHandler.php b/vendor/monolog/monolog/src/Monolog/Handler/NullHandler.php new file mode 100644 index 00000000..4b845883 --- /dev/null +++ b/vendor/monolog/monolog/src/Monolog/Handler/NullHandler.php @@ -0,0 +1,45 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Monolog\Handler; + +use Monolog\Logger; + +/** + * Blackhole + * + * Any record it can handle will be thrown away. This can be used + * to put on top of an existing stack to override it temporarily. + * + * @author Jordi Boggiano + */ +class NullHandler extends AbstractHandler +{ + /** + * @param int $level The minimum logging level at which this handler will be triggered + */ + public function __construct($level = Logger::DEBUG) + { + parent::__construct($level, false); + } + + /** + * {@inheritdoc} + */ + public function handle(array $record) + { + if ($record['level'] < $this->level) { + return false; + } + + return true; + } +} diff --git a/vendor/monolog/monolog/src/Monolog/Handler/PHPConsoleHandler.php b/vendor/monolog/monolog/src/Monolog/Handler/PHPConsoleHandler.php new file mode 100644 index 00000000..1f2076a4 --- /dev/null +++ b/vendor/monolog/monolog/src/Monolog/Handler/PHPConsoleHandler.php @@ -0,0 +1,242 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Monolog\Handler; + +use Exception; +use Monolog\Formatter\LineFormatter; +use Monolog\Logger; +use PhpConsole\Connector; +use PhpConsole\Handler; +use PhpConsole\Helper; + +/** + * Monolog handler for Google Chrome extension "PHP Console" + * + * Display PHP error/debug log messages in Google Chrome console and notification popups, executes PHP code remotely + * + * Usage: + * 1. Install Google Chrome extension https://chrome.google.com/webstore/detail/php-console/nfhmhhlpfleoednkpnnnkolmclajemef + * 2. See overview https://github.com/barbushin/php-console#overview + * 3. Install PHP Console library https://github.com/barbushin/php-console#installation + * 4. Example (result will looks like http://i.hizliresim.com/vg3Pz4.png) + * + * $logger = new \Monolog\Logger('all', array(new \Monolog\Handler\PHPConsoleHandler())); + * \Monolog\ErrorHandler::register($logger); + * echo $undefinedVar; + * $logger->addDebug('SELECT * FROM users', array('db', 'time' => 0.012)); + * PC::debug($_SERVER); // PHP Console debugger for any type of vars + * + * @author Sergey Barbushin https://www.linkedin.com/in/barbushin + */ +class PHPConsoleHandler extends AbstractProcessingHandler +{ + private $options = array( + 'enabled' => true, // bool Is PHP Console server enabled + 'classesPartialsTraceIgnore' => array('Monolog\\'), // array Hide calls of classes started with... + 'debugTagsKeysInContext' => array(0, 'tag'), // bool Is PHP Console server enabled + 'useOwnErrorsHandler' => false, // bool Enable errors handling + 'useOwnExceptionsHandler' => false, // bool Enable exceptions handling + 'sourcesBasePath' => null, // string Base path of all project sources to strip in errors source paths + 'registerHelper' => true, // bool Register PhpConsole\Helper that allows short debug calls like PC::debug($var, 'ta.g.s') + 'serverEncoding' => null, // string|null Server internal encoding + 'headersLimit' => null, // int|null Set headers size limit for your web-server + 'password' => null, // string|null Protect PHP Console connection by password + 'enableSslOnlyMode' => false, // bool Force connection by SSL for clients with PHP Console installed + 'ipMasks' => array(), // array Set IP masks of clients that will be allowed to connect to PHP Console: array('192.168.*.*', '127.0.0.1') + 'enableEvalListener' => false, // bool Enable eval request to be handled by eval dispatcher(if enabled, 'password' option is also required) + 'dumperDetectCallbacks' => false, // bool Convert callback items in dumper vars to (callback SomeClass::someMethod) strings + 'dumperLevelLimit' => 5, // int Maximum dumped vars array or object nested dump level + 'dumperItemsCountLimit' => 100, // int Maximum dumped var same level array items or object properties number + 'dumperItemSizeLimit' => 5000, // int Maximum length of any string or dumped array item + 'dumperDumpSizeLimit' => 500000, // int Maximum approximate size of dumped vars result formatted in JSON + 'detectDumpTraceAndSource' => false, // bool Autodetect and append trace data to debug + 'dataStorage' => null, // PhpConsole\Storage|null Fixes problem with custom $_SESSION handler(see http://goo.gl/Ne8juJ) + ); + + /** @var Connector */ + private $connector; + + /** + * @param array $options See \Monolog\Handler\PHPConsoleHandler::$options for more details + * @param Connector|null $connector Instance of \PhpConsole\Connector class (optional) + * @param int $level + * @param bool $bubble + * @throws Exception + */ + public function __construct(array $options = array(), Connector $connector = null, $level = Logger::DEBUG, $bubble = true) + { + if (!class_exists('PhpConsole\Connector')) { + throw new Exception('PHP Console library not found. See https://github.com/barbushin/php-console#installation'); + } + parent::__construct($level, $bubble); + $this->options = $this->initOptions($options); + $this->connector = $this->initConnector($connector); + } + + private function initOptions(array $options) + { + $wrongOptions = array_diff(array_keys($options), array_keys($this->options)); + if ($wrongOptions) { + throw new Exception('Unknown options: ' . implode(', ', $wrongOptions)); + } + + return array_replace($this->options, $options); + } + + private function initConnector(Connector $connector = null) + { + if (!$connector) { + if ($this->options['dataStorage']) { + Connector::setPostponeStorage($this->options['dataStorage']); + } + $connector = Connector::getInstance(); + } + + if ($this->options['registerHelper'] && !Helper::isRegistered()) { + Helper::register(); + } + + if ($this->options['enabled'] && $connector->isActiveClient()) { + if ($this->options['useOwnErrorsHandler'] || $this->options['useOwnExceptionsHandler']) { + $handler = Handler::getInstance(); + $handler->setHandleErrors($this->options['useOwnErrorsHandler']); + $handler->setHandleExceptions($this->options['useOwnExceptionsHandler']); + $handler->start(); + } + if ($this->options['sourcesBasePath']) { + $connector->setSourcesBasePath($this->options['sourcesBasePath']); + } + if ($this->options['serverEncoding']) { + $connector->setServerEncoding($this->options['serverEncoding']); + } + if ($this->options['password']) { + $connector->setPassword($this->options['password']); + } + if ($this->options['enableSslOnlyMode']) { + $connector->enableSslOnlyMode(); + } + if ($this->options['ipMasks']) { + $connector->setAllowedIpMasks($this->options['ipMasks']); + } + if ($this->options['headersLimit']) { + $connector->setHeadersLimit($this->options['headersLimit']); + } + if ($this->options['detectDumpTraceAndSource']) { + $connector->getDebugDispatcher()->detectTraceAndSource = true; + } + $dumper = $connector->getDumper(); + $dumper->levelLimit = $this->options['dumperLevelLimit']; + $dumper->itemsCountLimit = $this->options['dumperItemsCountLimit']; + $dumper->itemSizeLimit = $this->options['dumperItemSizeLimit']; + $dumper->dumpSizeLimit = $this->options['dumperDumpSizeLimit']; + $dumper->detectCallbacks = $this->options['dumperDetectCallbacks']; + if ($this->options['enableEvalListener']) { + $connector->startEvalRequestsListener(); + } + } + + return $connector; + } + + public function getConnector() + { + return $this->connector; + } + + public function getOptions() + { + return $this->options; + } + + public function handle(array $record) + { + if ($this->options['enabled'] && $this->connector->isActiveClient()) { + return parent::handle($record); + } + + return !$this->bubble; + } + + /** + * Writes the record down to the log of the implementing handler + * + * @param array $record + * @return void + */ + protected function write(array $record) + { + if ($record['level'] < Logger::NOTICE) { + $this->handleDebugRecord($record); + } elseif (isset($record['context']['exception']) && $record['context']['exception'] instanceof Exception) { + $this->handleExceptionRecord($record); + } else { + $this->handleErrorRecord($record); + } + } + + private function handleDebugRecord(array $record) + { + $tags = $this->getRecordTags($record); + $message = $record['message']; + if ($record['context']) { + $message .= ' ' . json_encode($this->connector->getDumper()->dump(array_filter($record['context']))); + } + $this->connector->getDebugDispatcher()->dispatchDebug($message, $tags, $this->options['classesPartialsTraceIgnore']); + } + + private function handleExceptionRecord(array $record) + { + $this->connector->getErrorsDispatcher()->dispatchException($record['context']['exception']); + } + + private function handleErrorRecord(array $record) + { + $context = $record['context']; + + $this->connector->getErrorsDispatcher()->dispatchError( + isset($context['code']) ? $context['code'] : null, + isset($context['message']) ? $context['message'] : $record['message'], + isset($context['file']) ? $context['file'] : null, + isset($context['line']) ? $context['line'] : null, + $this->options['classesPartialsTraceIgnore'] + ); + } + + private function getRecordTags(array &$record) + { + $tags = null; + if (!empty($record['context'])) { + $context = & $record['context']; + foreach ($this->options['debugTagsKeysInContext'] as $key) { + if (!empty($context[$key])) { + $tags = $context[$key]; + if ($key === 0) { + array_shift($context); + } else { + unset($context[$key]); + } + break; + } + } + } + + return $tags ?: strtolower($record['level_name']); + } + + /** + * {@inheritDoc} + */ + protected function getDefaultFormatter() + { + return new LineFormatter('%message%'); + } +} diff --git a/vendor/monolog/monolog/src/Monolog/Handler/PsrHandler.php b/vendor/monolog/monolog/src/Monolog/Handler/PsrHandler.php new file mode 100644 index 00000000..1ae85845 --- /dev/null +++ b/vendor/monolog/monolog/src/Monolog/Handler/PsrHandler.php @@ -0,0 +1,56 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Monolog\Handler; + +use Monolog\Logger; +use Psr\Log\LoggerInterface; + +/** + * Proxies log messages to an existing PSR-3 compliant logger. + * + * @author Michael Moussa + */ +class PsrHandler extends AbstractHandler +{ + /** + * PSR-3 compliant logger + * + * @var LoggerInterface + */ + protected $logger; + + /** + * @param LoggerInterface $logger The underlying PSR-3 compliant logger to which messages will be proxied + * @param int $level The minimum logging level at which this handler will be triggered + * @param Boolean $bubble Whether the messages that are handled can bubble up the stack or not + */ + public function __construct(LoggerInterface $logger, $level = Logger::DEBUG, $bubble = true) + { + parent::__construct($level, $bubble); + + $this->logger = $logger; + } + + /** + * {@inheritDoc} + */ + public function handle(array $record) + { + if (!$this->isHandling($record)) { + return false; + } + + $this->logger->log(strtolower($record['level_name']), $record['message'], $record['context']); + + return false === $this->bubble; + } +} diff --git a/vendor/monolog/monolog/src/Monolog/Handler/PushoverHandler.php b/vendor/monolog/monolog/src/Monolog/Handler/PushoverHandler.php new file mode 100644 index 00000000..bba72005 --- /dev/null +++ b/vendor/monolog/monolog/src/Monolog/Handler/PushoverHandler.php @@ -0,0 +1,185 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Monolog\Handler; + +use Monolog\Logger; + +/** + * Sends notifications through the pushover api to mobile phones + * + * @author Sebastian Göttschkes + * @see https://www.pushover.net/api + */ +class PushoverHandler extends SocketHandler +{ + private $token; + private $users; + private $title; + private $user; + private $retry; + private $expire; + + private $highPriorityLevel; + private $emergencyLevel; + private $useFormattedMessage = false; + + /** + * All parameters that can be sent to Pushover + * @see https://pushover.net/api + * @var array + */ + private $parameterNames = array( + 'token' => true, + 'user' => true, + 'message' => true, + 'device' => true, + 'title' => true, + 'url' => true, + 'url_title' => true, + 'priority' => true, + 'timestamp' => true, + 'sound' => true, + 'retry' => true, + 'expire' => true, + 'callback' => true, + ); + + /** + * Sounds the api supports by default + * @see https://pushover.net/api#sounds + * @var array + */ + private $sounds = array( + 'pushover', 'bike', 'bugle', 'cashregister', 'classical', 'cosmic', 'falling', 'gamelan', 'incoming', + 'intermission', 'magic', 'mechanical', 'pianobar', 'siren', 'spacealarm', 'tugboat', 'alien', 'climb', + 'persistent', 'echo', 'updown', 'none', + ); + + /** + * @param string $token Pushover api token + * @param string|array $users Pushover user id or array of ids the message will be sent to + * @param string $title Title sent to the Pushover API + * @param int $level The minimum logging level at which this handler will be triggered + * @param Boolean $bubble Whether the messages that are handled can bubble up the stack or not + * @param Boolean $useSSL Whether to connect via SSL. Required when pushing messages to users that are not + * the pushover.net app owner. OpenSSL is required for this option. + * @param int $highPriorityLevel The minimum logging level at which this handler will start + * sending "high priority" requests to the Pushover API + * @param int $emergencyLevel The minimum logging level at which this handler will start + * sending "emergency" requests to the Pushover API + * @param int $retry The retry parameter specifies how often (in seconds) the Pushover servers will send the same notification to the user. + * @param int $expire The expire parameter specifies how many seconds your notification will continue to be retried for (every retry seconds). + */ + public function __construct($token, $users, $title = null, $level = Logger::CRITICAL, $bubble = true, $useSSL = true, $highPriorityLevel = Logger::CRITICAL, $emergencyLevel = Logger::EMERGENCY, $retry = 30, $expire = 25200) + { + $connectionString = $useSSL ? 'ssl://api.pushover.net:443' : 'api.pushover.net:80'; + parent::__construct($connectionString, $level, $bubble); + + $this->token = $token; + $this->users = (array) $users; + $this->title = $title ?: gethostname(); + $this->highPriorityLevel = Logger::toMonologLevel($highPriorityLevel); + $this->emergencyLevel = Logger::toMonologLevel($emergencyLevel); + $this->retry = $retry; + $this->expire = $expire; + } + + protected function generateDataStream($record) + { + $content = $this->buildContent($record); + + return $this->buildHeader($content) . $content; + } + + private function buildContent($record) + { + // Pushover has a limit of 512 characters on title and message combined. + $maxMessageLength = 512 - strlen($this->title); + + $message = ($this->useFormattedMessage) ? $record['formatted'] : $record['message']; + $message = substr($message, 0, $maxMessageLength); + + $timestamp = $record['datetime']->getTimestamp(); + + $dataArray = array( + 'token' => $this->token, + 'user' => $this->user, + 'message' => $message, + 'title' => $this->title, + 'timestamp' => $timestamp, + ); + + if (isset($record['level']) && $record['level'] >= $this->emergencyLevel) { + $dataArray['priority'] = 2; + $dataArray['retry'] = $this->retry; + $dataArray['expire'] = $this->expire; + } elseif (isset($record['level']) && $record['level'] >= $this->highPriorityLevel) { + $dataArray['priority'] = 1; + } + + // First determine the available parameters + $context = array_intersect_key($record['context'], $this->parameterNames); + $extra = array_intersect_key($record['extra'], $this->parameterNames); + + // Least important info should be merged with subsequent info + $dataArray = array_merge($extra, $context, $dataArray); + + // Only pass sounds that are supported by the API + if (isset($dataArray['sound']) && !in_array($dataArray['sound'], $this->sounds)) { + unset($dataArray['sound']); + } + + return http_build_query($dataArray); + } + + private function buildHeader($content) + { + $header = "POST /1/messages.json HTTP/1.1\r\n"; + $header .= "Host: api.pushover.net\r\n"; + $header .= "Content-Type: application/x-www-form-urlencoded\r\n"; + $header .= "Content-Length: " . strlen($content) . "\r\n"; + $header .= "\r\n"; + + return $header; + } + + protected function write(array $record) + { + foreach ($this->users as $user) { + $this->user = $user; + + parent::write($record); + $this->closeSocket(); + } + + $this->user = null; + } + + public function setHighPriorityLevel($value) + { + $this->highPriorityLevel = $value; + } + + public function setEmergencyLevel($value) + { + $this->emergencyLevel = $value; + } + + /** + * Use the formatted message? + * @param bool $value + */ + public function useFormattedMessage($value) + { + $this->useFormattedMessage = (boolean) $value; + } +} diff --git a/vendor/monolog/monolog/src/Monolog/Handler/RavenHandler.php b/vendor/monolog/monolog/src/Monolog/Handler/RavenHandler.php new file mode 100644 index 00000000..53a8b391 --- /dev/null +++ b/vendor/monolog/monolog/src/Monolog/Handler/RavenHandler.php @@ -0,0 +1,232 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Monolog\Handler; + +use Monolog\Formatter\LineFormatter; +use Monolog\Formatter\FormatterInterface; +use Monolog\Logger; +use Raven_Client; + +/** + * Handler to send messages to a Sentry (https://github.com/getsentry/sentry) server + * using raven-php (https://github.com/getsentry/raven-php) + * + * @author Marc Abramowitz + */ +class RavenHandler extends AbstractProcessingHandler +{ + /** + * Translates Monolog log levels to Raven log levels. + */ + private $logLevels = array( + Logger::DEBUG => Raven_Client::DEBUG, + Logger::INFO => Raven_Client::INFO, + Logger::NOTICE => Raven_Client::INFO, + Logger::WARNING => Raven_Client::WARNING, + Logger::ERROR => Raven_Client::ERROR, + Logger::CRITICAL => Raven_Client::FATAL, + Logger::ALERT => Raven_Client::FATAL, + Logger::EMERGENCY => Raven_Client::FATAL, + ); + + /** + * @var string should represent the current version of the calling + * software. Can be any string (git commit, version number) + */ + private $release; + + /** + * @var Raven_Client the client object that sends the message to the server + */ + protected $ravenClient; + + /** + * @var LineFormatter The formatter to use for the logs generated via handleBatch() + */ + protected $batchFormatter; + + /** + * @param Raven_Client $ravenClient + * @param int $level The minimum logging level at which this handler will be triggered + * @param Boolean $bubble Whether the messages that are handled can bubble up the stack or not + */ + public function __construct(Raven_Client $ravenClient, $level = Logger::DEBUG, $bubble = true) + { + parent::__construct($level, $bubble); + + $this->ravenClient = $ravenClient; + } + + /** + * {@inheritdoc} + */ + public function handleBatch(array $records) + { + $level = $this->level; + + // filter records based on their level + $records = array_filter($records, function ($record) use ($level) { + return $record['level'] >= $level; + }); + + if (!$records) { + return; + } + + // the record with the highest severity is the "main" one + $record = array_reduce($records, function ($highest, $record) { + if ($record['level'] > $highest['level']) { + return $record; + } + + return $highest; + }); + + // the other ones are added as a context item + $logs = array(); + foreach ($records as $r) { + $logs[] = $this->processRecord($r); + } + + if ($logs) { + $record['context']['logs'] = (string) $this->getBatchFormatter()->formatBatch($logs); + } + + $this->handle($record); + } + + /** + * Sets the formatter for the logs generated by handleBatch(). + * + * @param FormatterInterface $formatter + */ + public function setBatchFormatter(FormatterInterface $formatter) + { + $this->batchFormatter = $formatter; + } + + /** + * Gets the formatter for the logs generated by handleBatch(). + * + * @return FormatterInterface + */ + public function getBatchFormatter() + { + if (!$this->batchFormatter) { + $this->batchFormatter = $this->getDefaultBatchFormatter(); + } + + return $this->batchFormatter; + } + + /** + * {@inheritdoc} + */ + protected function write(array $record) + { + $previousUserContext = false; + $options = array(); + $options['level'] = $this->logLevels[$record['level']]; + $options['tags'] = array(); + if (!empty($record['extra']['tags'])) { + $options['tags'] = array_merge($options['tags'], $record['extra']['tags']); + unset($record['extra']['tags']); + } + if (!empty($record['context']['tags'])) { + $options['tags'] = array_merge($options['tags'], $record['context']['tags']); + unset($record['context']['tags']); + } + if (!empty($record['context']['fingerprint'])) { + $options['fingerprint'] = $record['context']['fingerprint']; + unset($record['context']['fingerprint']); + } + if (!empty($record['context']['logger'])) { + $options['logger'] = $record['context']['logger']; + unset($record['context']['logger']); + } else { + $options['logger'] = $record['channel']; + } + foreach ($this->getExtraParameters() as $key) { + foreach (array('extra', 'context') as $source) { + if (!empty($record[$source][$key])) { + $options[$key] = $record[$source][$key]; + unset($record[$source][$key]); + } + } + } + if (!empty($record['context'])) { + $options['extra']['context'] = $record['context']; + if (!empty($record['context']['user'])) { + $previousUserContext = $this->ravenClient->context->user; + $this->ravenClient->user_context($record['context']['user']); + unset($options['extra']['context']['user']); + } + } + if (!empty($record['extra'])) { + $options['extra']['extra'] = $record['extra']; + } + + if (!empty($this->release) && !isset($options['release'])) { + $options['release'] = $this->release; + } + + if (isset($record['context']['exception']) && ($record['context']['exception'] instanceof \Exception || (PHP_VERSION_ID >= 70000 && $record['context']['exception'] instanceof \Throwable))) { + $options['extra']['message'] = $record['formatted']; + $this->ravenClient->captureException($record['context']['exception'], $options); + } else { + $this->ravenClient->captureMessage($record['formatted'], array(), $options); + } + + if ($previousUserContext !== false) { + $this->ravenClient->user_context($previousUserContext); + } + } + + /** + * {@inheritDoc} + */ + protected function getDefaultFormatter() + { + return new LineFormatter('[%channel%] %message%'); + } + + /** + * Gets the default formatter for the logs generated by handleBatch(). + * + * @return FormatterInterface + */ + protected function getDefaultBatchFormatter() + { + return new LineFormatter(); + } + + /** + * Gets extra parameters supported by Raven that can be found in "extra" and "context" + * + * @return array + */ + protected function getExtraParameters() + { + return array('checksum', 'release', 'event_id'); + } + + /** + * @param string $value + * @return self + */ + public function setRelease($value) + { + $this->release = $value; + + return $this; + } +} diff --git a/vendor/monolog/monolog/src/Monolog/Handler/RedisHandler.php b/vendor/monolog/monolog/src/Monolog/Handler/RedisHandler.php new file mode 100644 index 00000000..590f9965 --- /dev/null +++ b/vendor/monolog/monolog/src/Monolog/Handler/RedisHandler.php @@ -0,0 +1,97 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Monolog\Handler; + +use Monolog\Formatter\LineFormatter; +use Monolog\Logger; + +/** + * Logs to a Redis key using rpush + * + * usage example: + * + * $log = new Logger('application'); + * $redis = new RedisHandler(new Predis\Client("tcp://localhost:6379"), "logs", "prod"); + * $log->pushHandler($redis); + * + * @author Thomas Tourlourat + */ +class RedisHandler extends AbstractProcessingHandler +{ + private $redisClient; + private $redisKey; + protected $capSize; + + /** + * @param \Predis\Client|\Redis $redis The redis instance + * @param string $key The key name to push records to + * @param int $level The minimum logging level at which this handler will be triggered + * @param bool $bubble Whether the messages that are handled can bubble up the stack or not + * @param int $capSize Number of entries to limit list size to + */ + public function __construct($redis, $key, $level = Logger::DEBUG, $bubble = true, $capSize = false) + { + if (!(($redis instanceof \Predis\Client) || ($redis instanceof \Redis))) { + throw new \InvalidArgumentException('Predis\Client or Redis instance required'); + } + + $this->redisClient = $redis; + $this->redisKey = $key; + $this->capSize = $capSize; + + parent::__construct($level, $bubble); + } + + /** + * {@inheritDoc} + */ + protected function write(array $record) + { + if ($this->capSize) { + $this->writeCapped($record); + } else { + $this->redisClient->rpush($this->redisKey, $record["formatted"]); + } + } + + /** + * Write and cap the collection + * Writes the record to the redis list and caps its + * + * @param array $record associative record array + * @return void + */ + protected function writeCapped(array $record) + { + if ($this->redisClient instanceof \Redis) { + $this->redisClient->multi() + ->rpush($this->redisKey, $record["formatted"]) + ->ltrim($this->redisKey, -$this->capSize, -1) + ->exec(); + } else { + $redisKey = $this->redisKey; + $capSize = $this->capSize; + $this->redisClient->transaction(function ($tx) use ($record, $redisKey, $capSize) { + $tx->rpush($redisKey, $record["formatted"]); + $tx->ltrim($redisKey, -$capSize, -1); + }); + } + } + + /** + * {@inheritDoc} + */ + protected function getDefaultFormatter() + { + return new LineFormatter(); + } +} diff --git a/vendor/monolog/monolog/src/Monolog/Handler/RollbarHandler.php b/vendor/monolog/monolog/src/Monolog/Handler/RollbarHandler.php new file mode 100644 index 00000000..0d9de1a2 --- /dev/null +++ b/vendor/monolog/monolog/src/Monolog/Handler/RollbarHandler.php @@ -0,0 +1,131 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Monolog\Handler; + +use RollbarNotifier; +use Exception; +use Monolog\Logger; + +/** + * Sends errors to Rollbar + * + * If the context data contains a `payload` key, that is used as an array + * of payload options to RollbarNotifier's report_message/report_exception methods. + * + * Rollbar's context info will contain the context + extra keys from the log record + * merged, and then on top of that a few keys: + * + * - level (rollbar level name) + * - monolog_level (monolog level name, raw level, as rollbar only has 5 but monolog 8) + * - channel + * - datetime (unix timestamp) + * + * @author Paul Statezny + */ +class RollbarHandler extends AbstractProcessingHandler +{ + /** + * Rollbar notifier + * + * @var RollbarNotifier + */ + protected $rollbarNotifier; + + protected $levelMap = array( + Logger::DEBUG => 'debug', + Logger::INFO => 'info', + Logger::NOTICE => 'info', + Logger::WARNING => 'warning', + Logger::ERROR => 'error', + Logger::CRITICAL => 'critical', + Logger::ALERT => 'critical', + Logger::EMERGENCY => 'critical', + ); + + /** + * Records whether any log records have been added since the last flush of the rollbar notifier + * + * @var bool + */ + private $hasRecords = false; + + protected $initialized = false; + + /** + * @param RollbarNotifier $rollbarNotifier RollbarNotifier object constructed with valid token + * @param int $level The minimum logging level at which this handler will be triggered + * @param bool $bubble Whether the messages that are handled can bubble up the stack or not + */ + public function __construct(RollbarNotifier $rollbarNotifier, $level = Logger::ERROR, $bubble = true) + { + $this->rollbarNotifier = $rollbarNotifier; + + parent::__construct($level, $bubble); + } + + /** + * {@inheritdoc} + */ + protected function write(array $record) + { + if (!$this->initialized) { + // __destructor() doesn't get called on Fatal errors + register_shutdown_function(array($this, 'close')); + $this->initialized = true; + } + + $context = $record['context']; + $payload = array(); + if (isset($context['payload'])) { + $payload = $context['payload']; + unset($context['payload']); + } + $context = array_merge($context, $record['extra'], array( + 'level' => $this->levelMap[$record['level']], + 'monolog_level' => $record['level_name'], + 'channel' => $record['channel'], + 'datetime' => $record['datetime']->format('U'), + )); + + if (isset($context['exception']) && $context['exception'] instanceof Exception) { + $exception = $context['exception']; + unset($context['exception']); + + $this->rollbarNotifier->report_exception($exception, $context, $payload); + } else { + $this->rollbarNotifier->report_message( + $record['message'], + $context['level'], + $context, + $payload + ); + } + + $this->hasRecords = true; + } + + public function flush() + { + if ($this->hasRecords) { + $this->rollbarNotifier->flush(); + $this->hasRecords = false; + } + } + + /** + * {@inheritdoc} + */ + public function close() + { + $this->flush(); + } +} diff --git a/vendor/monolog/monolog/src/Monolog/Handler/RotatingFileHandler.php b/vendor/monolog/monolog/src/Monolog/Handler/RotatingFileHandler.php new file mode 100644 index 00000000..3b60b3d1 --- /dev/null +++ b/vendor/monolog/monolog/src/Monolog/Handler/RotatingFileHandler.php @@ -0,0 +1,178 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Monolog\Handler; + +use Monolog\Logger; + +/** + * Stores logs to files that are rotated every day and a limited number of files are kept. + * + * This rotation is only intended to be used as a workaround. Using logrotate to + * handle the rotation is strongly encouraged when you can use it. + * + * @author Christophe Coevoet + * @author Jordi Boggiano + */ +class RotatingFileHandler extends StreamHandler +{ + const FILE_PER_DAY = 'Y-m-d'; + const FILE_PER_MONTH = 'Y-m'; + const FILE_PER_YEAR = 'Y'; + + protected $filename; + protected $maxFiles; + protected $mustRotate; + protected $nextRotation; + protected $filenameFormat; + protected $dateFormat; + + /** + * @param string $filename + * @param int $maxFiles The maximal amount of files to keep (0 means unlimited) + * @param int $level The minimum logging level at which this handler will be triggered + * @param Boolean $bubble Whether the messages that are handled can bubble up the stack or not + * @param int|null $filePermission Optional file permissions (default (0644) are only for owner read/write) + * @param Boolean $useLocking Try to lock log file before doing any writes + */ + public function __construct($filename, $maxFiles = 0, $level = Logger::DEBUG, $bubble = true, $filePermission = null, $useLocking = false) + { + $this->filename = $filename; + $this->maxFiles = (int) $maxFiles; + $this->nextRotation = new \DateTime('tomorrow'); + $this->filenameFormat = '{filename}-{date}'; + $this->dateFormat = 'Y-m-d'; + + parent::__construct($this->getTimedFilename(), $level, $bubble, $filePermission, $useLocking); + } + + /** + * {@inheritdoc} + */ + public function close() + { + parent::close(); + + if (true === $this->mustRotate) { + $this->rotate(); + } + } + + public function setFilenameFormat($filenameFormat, $dateFormat) + { + if (!preg_match('{^Y(([/_.-]?m)([/_.-]?d)?)?$}', $dateFormat)) { + trigger_error( + 'Invalid date format - format must be one of '. + 'RotatingFileHandler::FILE_PER_DAY ("Y-m-d"), RotatingFileHandler::FILE_PER_MONTH ("Y-m") '. + 'or RotatingFileHandler::FILE_PER_YEAR ("Y"), or you can set one of the '. + 'date formats using slashes, underscores and/or dots instead of dashes.', + E_USER_DEPRECATED + ); + } + if (substr_count($filenameFormat, '{date}') === 0) { + trigger_error( + 'Invalid filename format - format should contain at least `{date}`, because otherwise rotating is impossible.', + E_USER_DEPRECATED + ); + } + $this->filenameFormat = $filenameFormat; + $this->dateFormat = $dateFormat; + $this->url = $this->getTimedFilename(); + $this->close(); + } + + /** + * {@inheritdoc} + */ + protected function write(array $record) + { + // on the first record written, if the log is new, we should rotate (once per day) + if (null === $this->mustRotate) { + $this->mustRotate = !file_exists($this->url); + } + + if ($this->nextRotation < $record['datetime']) { + $this->mustRotate = true; + $this->close(); + } + + parent::write($record); + } + + /** + * Rotates the files. + */ + protected function rotate() + { + // update filename + $this->url = $this->getTimedFilename(); + $this->nextRotation = new \DateTime('tomorrow'); + + // skip GC of old logs if files are unlimited + if (0 === $this->maxFiles) { + return; + } + + $logFiles = glob($this->getGlobPattern()); + if ($this->maxFiles >= count($logFiles)) { + // no files to remove + return; + } + + // Sorting the files by name to remove the older ones + usort($logFiles, function ($a, $b) { + return strcmp($b, $a); + }); + + foreach (array_slice($logFiles, $this->maxFiles) as $file) { + if (is_writable($file)) { + // suppress errors here as unlink() might fail if two processes + // are cleaning up/rotating at the same time + set_error_handler(function ($errno, $errstr, $errfile, $errline) {}); + unlink($file); + restore_error_handler(); + } + } + + $this->mustRotate = false; + } + + protected function getTimedFilename() + { + $fileInfo = pathinfo($this->filename); + $timedFilename = str_replace( + array('{filename}', '{date}'), + array($fileInfo['filename'], date($this->dateFormat)), + $fileInfo['dirname'] . '/' . $this->filenameFormat + ); + + if (!empty($fileInfo['extension'])) { + $timedFilename .= '.'.$fileInfo['extension']; + } + + return $timedFilename; + } + + protected function getGlobPattern() + { + $fileInfo = pathinfo($this->filename); + $glob = str_replace( + array('{filename}', '{date}'), + array($fileInfo['filename'], '*'), + $fileInfo['dirname'] . '/' . $this->filenameFormat + ); + if (!empty($fileInfo['extension'])) { + $glob .= '.'.$fileInfo['extension']; + } + + return $glob; + } +} diff --git a/vendor/monolog/monolog/src/Monolog/Handler/SamplingHandler.php b/vendor/monolog/monolog/src/Monolog/Handler/SamplingHandler.php new file mode 100644 index 00000000..9509ae37 --- /dev/null +++ b/vendor/monolog/monolog/src/Monolog/Handler/SamplingHandler.php @@ -0,0 +1,82 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Monolog\Handler; + +/** + * Sampling handler + * + * A sampled event stream can be useful for logging high frequency events in + * a production environment where you only need an idea of what is happening + * and are not concerned with capturing every occurrence. Since the decision to + * handle or not handle a particular event is determined randomly, the + * resulting sampled log is not guaranteed to contain 1/N of the events that + * occurred in the application, but based on the Law of large numbers, it will + * tend to be close to this ratio with a large number of attempts. + * + * @author Bryan Davis + * @author Kunal Mehta + */ +class SamplingHandler extends AbstractHandler +{ + /** + * @var callable|HandlerInterface $handler + */ + protected $handler; + + /** + * @var int $factor + */ + protected $factor; + + /** + * @param callable|HandlerInterface $handler Handler or factory callable($record, $fingersCrossedHandler). + * @param int $factor Sample factor + */ + public function __construct($handler, $factor) + { + parent::__construct(); + $this->handler = $handler; + $this->factor = $factor; + + if (!$this->handler instanceof HandlerInterface && !is_callable($this->handler)) { + throw new \RuntimeException("The given handler (".json_encode($this->handler).") is not a callable nor a Monolog\Handler\HandlerInterface object"); + } + } + + public function isHandling(array $record) + { + return $this->handler->isHandling($record); + } + + public function handle(array $record) + { + if ($this->isHandling($record) && mt_rand(1, $this->factor) === 1) { + // The same logic as in FingersCrossedHandler + if (!$this->handler instanceof HandlerInterface) { + $this->handler = call_user_func($this->handler, $record, $this); + if (!$this->handler instanceof HandlerInterface) { + throw new \RuntimeException("The factory callable should return a HandlerInterface"); + } + } + + if ($this->processors) { + foreach ($this->processors as $processor) { + $record = call_user_func($processor, $record); + } + } + + $this->handler->handle($record); + } + + return false === $this->bubble; + } +} diff --git a/vendor/monolog/monolog/src/Monolog/Handler/Slack/SlackRecord.php b/vendor/monolog/monolog/src/Monolog/Handler/Slack/SlackRecord.php new file mode 100644 index 00000000..38bc838a --- /dev/null +++ b/vendor/monolog/monolog/src/Monolog/Handler/Slack/SlackRecord.php @@ -0,0 +1,294 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Monolog\Handler\Slack; + +use Monolog\Logger; +use Monolog\Formatter\NormalizerFormatter; +use Monolog\Formatter\FormatterInterface; + +/** + * Slack record utility helping to log to Slack webhooks or API. + * + * @author Greg Kedzierski + * @author Haralan Dobrev + * @see https://api.slack.com/incoming-webhooks + * @see https://api.slack.com/docs/message-attachments + */ +class SlackRecord +{ + const COLOR_DANGER = 'danger'; + + const COLOR_WARNING = 'warning'; + + const COLOR_GOOD = 'good'; + + const COLOR_DEFAULT = '#e3e4e6'; + + /** + * Slack channel (encoded ID or name) + * @var string|null + */ + private $channel; + + /** + * Name of a bot + * @var string|null + */ + private $username; + + /** + * User icon e.g. 'ghost', 'http://example.com/user.png' + * @var string + */ + private $userIcon; + + /** + * Whether the message should be added to Slack as attachment (plain text otherwise) + * @var bool + */ + private $useAttachment; + + /** + * Whether the the context/extra messages added to Slack as attachments are in a short style + * @var bool + */ + private $useShortAttachment; + + /** + * Whether the attachment should include context and extra data + * @var bool + */ + private $includeContextAndExtra; + + /** + * Dot separated list of fields to exclude from slack message. E.g. ['context.field1', 'extra.field2'] + * @var array + */ + private $excludeFields; + + /** + * @var FormatterInterface + */ + private $formatter; + + /** + * @var NormalizerFormatter + */ + private $normalizerFormatter; + + public function __construct($channel = null, $username = null, $useAttachment = true, $userIcon = null, $useShortAttachment = false, $includeContextAndExtra = false, array $excludeFields = array(), FormatterInterface $formatter = null) + { + $this->channel = $channel; + $this->username = $username; + $this->userIcon = trim($userIcon, ':'); + $this->useAttachment = $useAttachment; + $this->useShortAttachment = $useShortAttachment; + $this->includeContextAndExtra = $includeContextAndExtra; + $this->excludeFields = $excludeFields; + $this->formatter = $formatter; + + if ($this->includeContextAndExtra) { + $this->normalizerFormatter = new NormalizerFormatter(); + } + } + + public function getSlackData(array $record) + { + $dataArray = array(); + $record = $this->excludeFields($record); + + if ($this->username) { + $dataArray['username'] = $this->username; + } + + if ($this->channel) { + $dataArray['channel'] = $this->channel; + } + + if ($this->formatter && !$this->useAttachment) { + $message = $this->formatter->format($record); + } else { + $message = $record['message']; + } + + if ($this->useAttachment) { + $attachment = array( + 'fallback' => $message, + 'text' => $message, + 'color' => $this->getAttachmentColor($record['level']), + 'fields' => array(), + 'mrkdwn_in' => array('fields'), + 'ts' => $record['datetime']->getTimestamp() + ); + + if ($this->useShortAttachment) { + $attachment['title'] = $record['level_name']; + } else { + $attachment['title'] = 'Message'; + $attachment['fields'][] = $this->generateAttachmentField('Level', $record['level_name']); + } + + + if ($this->includeContextAndExtra) { + foreach (array('extra', 'context') as $key) { + if (empty($record[$key])) { + continue; + } + + if ($this->useShortAttachment) { + $attachment['fields'][] = $this->generateAttachmentField( + ucfirst($key), + $record[$key] + ); + } else { + // Add all extra fields as individual fields in attachment + $attachment['fields'] = array_merge( + $attachment['fields'], + $this->generateAttachmentFields($record[$key]) + ); + } + } + } + + $dataArray['attachments'] = array($attachment); + } else { + $dataArray['text'] = $message; + } + + if ($this->userIcon) { + if (filter_var($this->userIcon, FILTER_VALIDATE_URL)) { + $dataArray['icon_url'] = $this->userIcon; + } else { + $dataArray['icon_emoji'] = ":{$this->userIcon}:"; + } + } + + return $dataArray; + } + + /** + * Returned a Slack message attachment color associated with + * provided level. + * + * @param int $level + * @return string + */ + public function getAttachmentColor($level) + { + switch (true) { + case $level >= Logger::ERROR: + return self::COLOR_DANGER; + case $level >= Logger::WARNING: + return self::COLOR_WARNING; + case $level >= Logger::INFO: + return self::COLOR_GOOD; + default: + return self::COLOR_DEFAULT; + } + } + + /** + * Stringifies an array of key/value pairs to be used in attachment fields + * + * @param array $fields + * + * @return string + */ + public function stringify($fields) + { + $normalized = $this->normalizerFormatter->format($fields); + $prettyPrintFlag = defined('JSON_PRETTY_PRINT') ? JSON_PRETTY_PRINT : 128; + + $hasSecondDimension = count(array_filter($normalized, 'is_array')); + $hasNonNumericKeys = !count(array_filter(array_keys($normalized), 'is_numeric')); + + return $hasSecondDimension || $hasNonNumericKeys + ? json_encode($normalized, $prettyPrintFlag) + : json_encode($normalized); + } + + /** + * Sets the formatter + * + * @param FormatterInterface $formatter + */ + public function setFormatter(FormatterInterface $formatter) + { + $this->formatter = $formatter; + } + + /** + * Generates attachment field + * + * @param string $title + * @param string|array $value\ + * + * @return array + */ + private function generateAttachmentField($title, $value) + { + $value = is_array($value) + ? sprintf('```%s```', $this->stringify($value)) + : $value; + + return array( + 'title' => $title, + 'value' => $value, + 'short' => false + ); + } + + /** + * Generates a collection of attachment fields from array + * + * @param array $data + * + * @return array + */ + private function generateAttachmentFields(array $data) + { + $fields = array(); + foreach ($data as $key => $value) { + $fields[] = $this->generateAttachmentField($key, $value); + } + + return $fields; + } + + /** + * Get a copy of record with fields excluded according to $this->excludeFields + * + * @param array $record + * + * @return array + */ + private function excludeFields(array $record) + { + foreach ($this->excludeFields as $field) { + $keys = explode('.', $field); + $node = &$record; + $lastKey = end($keys); + foreach ($keys as $key) { + if (!isset($node[$key])) { + break; + } + if ($lastKey === $key) { + unset($node[$key]); + break; + } + $node = &$node[$key]; + } + } + + return $record; + } +} diff --git a/vendor/monolog/monolog/src/Monolog/Handler/SlackHandler.php b/vendor/monolog/monolog/src/Monolog/Handler/SlackHandler.php new file mode 100644 index 00000000..9324fc9a --- /dev/null +++ b/vendor/monolog/monolog/src/Monolog/Handler/SlackHandler.php @@ -0,0 +1,204 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Monolog\Handler; + +use Monolog\Formatter\FormatterInterface; +use Monolog\Logger; +use Monolog\Handler\Slack\SlackRecord; + +/** + * Sends notifications through Slack API + * + * @author Greg Kedzierski + * @see https://api.slack.com/ + */ +class SlackHandler extends SocketHandler +{ + /** + * Slack API token + * @var string + */ + private $token; + + /** + * Instance of the SlackRecord util class preparing data for Slack API. + * @var SlackRecord + */ + private $slackRecord; + + /** + * @param string $token Slack API token + * @param string $channel Slack channel (encoded ID or name) + * @param string|null $username Name of a bot + * @param bool $useAttachment Whether the message should be added to Slack as attachment (plain text otherwise) + * @param string|null $iconEmoji The emoji name to use (or null) + * @param int $level The minimum logging level at which this handler will be triggered + * @param bool $bubble Whether the messages that are handled can bubble up the stack or not + * @param bool $useShortAttachment Whether the the context/extra messages added to Slack as attachments are in a short style + * @param bool $includeContextAndExtra Whether the attachment should include context and extra data + * @param array $excludeFields Dot separated list of fields to exclude from slack message. E.g. ['context.field1', 'extra.field2'] + * @throws MissingExtensionException If no OpenSSL PHP extension configured + */ + public function __construct($token, $channel, $username = null, $useAttachment = true, $iconEmoji = null, $level = Logger::CRITICAL, $bubble = true, $useShortAttachment = false, $includeContextAndExtra = false, array $excludeFields = array()) + { + if (!extension_loaded('openssl')) { + throw new MissingExtensionException('The OpenSSL PHP extension is required to use the SlackHandler'); + } + + parent::__construct('ssl://slack.com:443', $level, $bubble); + + $this->slackRecord = new SlackRecord( + $channel, + $username, + $useAttachment, + $iconEmoji, + $useShortAttachment, + $includeContextAndExtra, + $excludeFields, + $this->formatter + ); + + $this->token = $token; + } + + public function getSlackRecord() + { + return $this->slackRecord; + } + + /** + * {@inheritdoc} + * + * @param array $record + * @return string + */ + protected function generateDataStream($record) + { + $content = $this->buildContent($record); + + return $this->buildHeader($content) . $content; + } + + /** + * Builds the body of API call + * + * @param array $record + * @return string + */ + private function buildContent($record) + { + $dataArray = $this->prepareContentData($record); + + return http_build_query($dataArray); + } + + /** + * Prepares content data + * + * @param array $record + * @return array + */ + protected function prepareContentData($record) + { + $dataArray = $this->slackRecord->getSlackData($record); + $dataArray['token'] = $this->token; + + if (!empty($dataArray['attachments'])) { + $dataArray['attachments'] = json_encode($dataArray['attachments']); + } + + return $dataArray; + } + + /** + * Builds the header of the API Call + * + * @param string $content + * @return string + */ + private function buildHeader($content) + { + $header = "POST /api/chat.postMessage HTTP/1.1\r\n"; + $header .= "Host: slack.com\r\n"; + $header .= "Content-Type: application/x-www-form-urlencoded\r\n"; + $header .= "Content-Length: " . strlen($content) . "\r\n"; + $header .= "\r\n"; + + return $header; + } + + /** + * {@inheritdoc} + * + * @param array $record + */ + protected function write(array $record) + { + parent::write($record); + $res = $this->getResource(); + if (is_resource($res)) { + @fread($res, 2048); + } + $this->closeSocket(); + } + + /** + * Returned a Slack message attachment color associated with + * provided level. + * + * @param int $level + * @return string + * @deprecated Use underlying SlackRecord instead + */ + protected function getAttachmentColor($level) + { + trigger_error( + 'SlackHandler::getAttachmentColor() is deprecated. Use underlying SlackRecord instead.', + E_USER_DEPRECATED + ); + + return $this->slackRecord->getAttachmentColor($level); + } + + /** + * Stringifies an array of key/value pairs to be used in attachment fields + * + * @param array $fields + * @return string + * @deprecated Use underlying SlackRecord instead + */ + protected function stringify($fields) + { + trigger_error( + 'SlackHandler::stringify() is deprecated. Use underlying SlackRecord instead.', + E_USER_DEPRECATED + ); + + return $this->slackRecord->stringify($fields); + } + + public function setFormatter(FormatterInterface $formatter) + { + parent::setFormatter($formatter); + $this->slackRecord->setFormatter($formatter); + + return $this; + } + + public function getFormatter() + { + $formatter = parent::getFormatter(); + $this->slackRecord->setFormatter($formatter); + + return $formatter; + } +} diff --git a/vendor/monolog/monolog/src/Monolog/Handler/SlackWebhookHandler.php b/vendor/monolog/monolog/src/Monolog/Handler/SlackWebhookHandler.php new file mode 100644 index 00000000..0d3e3ea1 --- /dev/null +++ b/vendor/monolog/monolog/src/Monolog/Handler/SlackWebhookHandler.php @@ -0,0 +1,110 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Monolog\Handler; + +use Monolog\Formatter\FormatterInterface; +use Monolog\Logger; +use Monolog\Handler\Slack\SlackRecord; + +/** + * Sends notifications through Slack Webhooks + * + * @author Haralan Dobrev + * @see https://api.slack.com/incoming-webhooks + */ +class SlackWebhookHandler extends AbstractProcessingHandler +{ + /** + * Slack Webhook token + * @var string + */ + private $webhookUrl; + + /** + * Instance of the SlackRecord util class preparing data for Slack API. + * @var SlackRecord + */ + private $slackRecord; + + /** + * @param string $webhookUrl Slack Webhook URL + * @param string|null $channel Slack channel (encoded ID or name) + * @param string|null $username Name of a bot + * @param bool $useAttachment Whether the message should be added to Slack as attachment (plain text otherwise) + * @param string|null $iconEmoji The emoji name to use (or null) + * @param bool $useShortAttachment Whether the the context/extra messages added to Slack as attachments are in a short style + * @param bool $includeContextAndExtra Whether the attachment should include context and extra data + * @param int $level The minimum logging level at which this handler will be triggered + * @param bool $bubble Whether the messages that are handled can bubble up the stack or not + * @param array $excludeFields Dot separated list of fields to exclude from slack message. E.g. ['context.field1', 'extra.field2'] + */ + public function __construct($webhookUrl, $channel = null, $username = null, $useAttachment = true, $iconEmoji = null, $useShortAttachment = false, $includeContextAndExtra = false, $level = Logger::CRITICAL, $bubble = true, array $excludeFields = array()) + { + parent::__construct($level, $bubble); + + $this->webhookUrl = $webhookUrl; + + $this->slackRecord = new SlackRecord( + $channel, + $username, + $useAttachment, + $iconEmoji, + $useShortAttachment, + $includeContextAndExtra, + $excludeFields, + $this->formatter + ); + } + + public function getSlackRecord() + { + return $this->slackRecord; + } + + /** + * {@inheritdoc} + * + * @param array $record + */ + protected function write(array $record) + { + $postData = $this->slackRecord->getSlackData($record); + $postString = json_encode($postData); + + $ch = curl_init(); + curl_setopt($ch, CURLOPT_URL, $this->webhookUrl); + curl_setopt($ch, CURLOPT_POST, true); + curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); + if (defined('CURLOPT_SAFE_UPLOAD')) { + curl_setopt($ch, CURLOPT_SAFE_UPLOAD, true); + } + curl_setopt($ch, CURLOPT_POSTFIELDS, array('payload' => $postString)); + + Curl\Util::execute($ch); + } + + public function setFormatter(FormatterInterface $formatter) + { + parent::setFormatter($formatter); + $this->slackRecord->setFormatter($formatter); + + return $this; + } + + public function getFormatter() + { + $formatter = parent::getFormatter(); + $this->slackRecord->setFormatter($formatter); + + return $formatter; + } +} diff --git a/vendor/monolog/monolog/src/Monolog/Handler/SlackbotHandler.php b/vendor/monolog/monolog/src/Monolog/Handler/SlackbotHandler.php new file mode 100644 index 00000000..baead525 --- /dev/null +++ b/vendor/monolog/monolog/src/Monolog/Handler/SlackbotHandler.php @@ -0,0 +1,80 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Monolog\Handler; + +use Monolog\Logger; + +/** + * Sends notifications through Slack's Slackbot + * + * @author Haralan Dobrev + * @see https://slack.com/apps/A0F81R8ET-slackbot + */ +class SlackbotHandler extends AbstractProcessingHandler +{ + /** + * The slug of the Slack team + * @var string + */ + private $slackTeam; + + /** + * Slackbot token + * @var string + */ + private $token; + + /** + * Slack channel name + * @var string + */ + private $channel; + + /** + * @param string $slackTeam Slack team slug + * @param string $token Slackbot token + * @param string $channel Slack channel (encoded ID or name) + * @param int $level The minimum logging level at which this handler will be triggered + * @param bool $bubble Whether the messages that are handled can bubble up the stack or not + */ + public function __construct($slackTeam, $token, $channel, $level = Logger::CRITICAL, $bubble = true) + { + parent::__construct($level, $bubble); + + $this->slackTeam = $slackTeam; + $this->token = $token; + $this->channel = $channel; + } + + /** + * {@inheritdoc} + * + * @param array $record + */ + protected function write(array $record) + { + $slackbotUrl = sprintf( + 'https://%s.slack.com/services/hooks/slackbot?token=%s&channel=%s', + $this->slackTeam, + $this->token, + $this->channel + ); + + $ch = curl_init(); + curl_setopt($ch, CURLOPT_URL, $slackbotUrl); + curl_setopt($ch, CURLOPT_POST, true); + curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); + curl_setopt($ch, CURLOPT_POSTFIELDS, $record['message']); + + Curl\Util::execute($ch); + } +} diff --git a/vendor/monolog/monolog/src/Monolog/Handler/SocketHandler.php b/vendor/monolog/monolog/src/Monolog/Handler/SocketHandler.php new file mode 100644 index 00000000..7a61bf4e --- /dev/null +++ b/vendor/monolog/monolog/src/Monolog/Handler/SocketHandler.php @@ -0,0 +1,346 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Monolog\Handler; + +use Monolog\Logger; + +/** + * Stores to any socket - uses fsockopen() or pfsockopen(). + * + * @author Pablo de Leon Belloc + * @see http://php.net/manual/en/function.fsockopen.php + */ +class SocketHandler extends AbstractProcessingHandler +{ + private $connectionString; + private $connectionTimeout; + private $resource; + private $timeout = 0; + private $writingTimeout = 10; + private $lastSentBytes = null; + private $persistent = false; + private $errno; + private $errstr; + private $lastWritingAt; + + /** + * @param string $connectionString Socket connection string + * @param int $level The minimum logging level at which this handler will be triggered + * @param Boolean $bubble Whether the messages that are handled can bubble up the stack or not + */ + public function __construct($connectionString, $level = Logger::DEBUG, $bubble = true) + { + parent::__construct($level, $bubble); + $this->connectionString = $connectionString; + $this->connectionTimeout = (float) ini_get('default_socket_timeout'); + } + + /** + * Connect (if necessary) and write to the socket + * + * @param array $record + * + * @throws \UnexpectedValueException + * @throws \RuntimeException + */ + protected function write(array $record) + { + $this->connectIfNotConnected(); + $data = $this->generateDataStream($record); + $this->writeToSocket($data); + } + + /** + * We will not close a PersistentSocket instance so it can be reused in other requests. + */ + public function close() + { + if (!$this->isPersistent()) { + $this->closeSocket(); + } + } + + /** + * Close socket, if open + */ + public function closeSocket() + { + if (is_resource($this->resource)) { + fclose($this->resource); + $this->resource = null; + } + } + + /** + * Set socket connection to nbe persistent. It only has effect before the connection is initiated. + * + * @param bool $persistent + */ + public function setPersistent($persistent) + { + $this->persistent = (boolean) $persistent; + } + + /** + * Set connection timeout. Only has effect before we connect. + * + * @param float $seconds + * + * @see http://php.net/manual/en/function.fsockopen.php + */ + public function setConnectionTimeout($seconds) + { + $this->validateTimeout($seconds); + $this->connectionTimeout = (float) $seconds; + } + + /** + * Set write timeout. Only has effect before we connect. + * + * @param float $seconds + * + * @see http://php.net/manual/en/function.stream-set-timeout.php + */ + public function setTimeout($seconds) + { + $this->validateTimeout($seconds); + $this->timeout = (float) $seconds; + } + + /** + * Set writing timeout. Only has effect during connection in the writing cycle. + * + * @param float $seconds 0 for no timeout + */ + public function setWritingTimeout($seconds) + { + $this->validateTimeout($seconds); + $this->writingTimeout = (float) $seconds; + } + + /** + * Get current connection string + * + * @return string + */ + public function getConnectionString() + { + return $this->connectionString; + } + + /** + * Get persistent setting + * + * @return bool + */ + public function isPersistent() + { + return $this->persistent; + } + + /** + * Get current connection timeout setting + * + * @return float + */ + public function getConnectionTimeout() + { + return $this->connectionTimeout; + } + + /** + * Get current in-transfer timeout + * + * @return float + */ + public function getTimeout() + { + return $this->timeout; + } + + /** + * Get current local writing timeout + * + * @return float + */ + public function getWritingTimeout() + { + return $this->writingTimeout; + } + + /** + * Check to see if the socket is currently available. + * + * UDP might appear to be connected but might fail when writing. See http://php.net/fsockopen for details. + * + * @return bool + */ + public function isConnected() + { + return is_resource($this->resource) + && !feof($this->resource); // on TCP - other party can close connection. + } + + /** + * Wrapper to allow mocking + */ + protected function pfsockopen() + { + return @pfsockopen($this->connectionString, -1, $this->errno, $this->errstr, $this->connectionTimeout); + } + + /** + * Wrapper to allow mocking + */ + protected function fsockopen() + { + return @fsockopen($this->connectionString, -1, $this->errno, $this->errstr, $this->connectionTimeout); + } + + /** + * Wrapper to allow mocking + * + * @see http://php.net/manual/en/function.stream-set-timeout.php + */ + protected function streamSetTimeout() + { + $seconds = floor($this->timeout); + $microseconds = round(($this->timeout - $seconds) * 1e6); + + return stream_set_timeout($this->resource, $seconds, $microseconds); + } + + /** + * Wrapper to allow mocking + */ + protected function fwrite($data) + { + return @fwrite($this->resource, $data); + } + + /** + * Wrapper to allow mocking + */ + protected function streamGetMetadata() + { + return stream_get_meta_data($this->resource); + } + + private function validateTimeout($value) + { + $ok = filter_var($value, FILTER_VALIDATE_FLOAT); + if ($ok === false || $value < 0) { + throw new \InvalidArgumentException("Timeout must be 0 or a positive float (got $value)"); + } + } + + private function connectIfNotConnected() + { + if ($this->isConnected()) { + return; + } + $this->connect(); + } + + protected function generateDataStream($record) + { + return (string) $record['formatted']; + } + + /** + * @return resource|null + */ + protected function getResource() + { + return $this->resource; + } + + private function connect() + { + $this->createSocketResource(); + $this->setSocketTimeout(); + } + + private function createSocketResource() + { + if ($this->isPersistent()) { + $resource = $this->pfsockopen(); + } else { + $resource = $this->fsockopen(); + } + if (!$resource) { + throw new \UnexpectedValueException("Failed connecting to $this->connectionString ($this->errno: $this->errstr)"); + } + $this->resource = $resource; + } + + private function setSocketTimeout() + { + if (!$this->streamSetTimeout()) { + throw new \UnexpectedValueException("Failed setting timeout with stream_set_timeout()"); + } + } + + private function writeToSocket($data) + { + $length = strlen($data); + $sent = 0; + $this->lastSentBytes = $sent; + while ($this->isConnected() && $sent < $length) { + if (0 == $sent) { + $chunk = $this->fwrite($data); + } else { + $chunk = $this->fwrite(substr($data, $sent)); + } + if ($chunk === false) { + throw new \RuntimeException("Could not write to socket"); + } + $sent += $chunk; + $socketInfo = $this->streamGetMetadata(); + if ($socketInfo['timed_out']) { + throw new \RuntimeException("Write timed-out"); + } + + if ($this->writingIsTimedOut($sent)) { + throw new \RuntimeException("Write timed-out, no data sent for `{$this->writingTimeout}` seconds, probably we got disconnected (sent $sent of $length)"); + } + } + if (!$this->isConnected() && $sent < $length) { + throw new \RuntimeException("End-of-file reached, probably we got disconnected (sent $sent of $length)"); + } + } + + private function writingIsTimedOut($sent) + { + $writingTimeout = (int) floor($this->writingTimeout); + if (0 === $writingTimeout) { + return false; + } + + if ($sent !== $this->lastSentBytes) { + $this->lastWritingAt = time(); + $this->lastSentBytes = $sent; + + return false; + } else { + usleep(100); + } + + if ((time() - $this->lastWritingAt) >= $writingTimeout) { + $this->closeSocket(); + + return true; + } + + return false; + } +} diff --git a/vendor/monolog/monolog/src/Monolog/Handler/StreamHandler.php b/vendor/monolog/monolog/src/Monolog/Handler/StreamHandler.php new file mode 100644 index 00000000..09a15738 --- /dev/null +++ b/vendor/monolog/monolog/src/Monolog/Handler/StreamHandler.php @@ -0,0 +1,176 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Monolog\Handler; + +use Monolog\Logger; + +/** + * Stores to any stream resource + * + * Can be used to store into php://stderr, remote and local files, etc. + * + * @author Jordi Boggiano + */ +class StreamHandler extends AbstractProcessingHandler +{ + protected $stream; + protected $url; + private $errorMessage; + protected $filePermission; + protected $useLocking; + private $dirCreated; + + /** + * @param resource|string $stream + * @param int $level The minimum logging level at which this handler will be triggered + * @param Boolean $bubble Whether the messages that are handled can bubble up the stack or not + * @param int|null $filePermission Optional file permissions (default (0644) are only for owner read/write) + * @param Boolean $useLocking Try to lock log file before doing any writes + * + * @throws \Exception If a missing directory is not buildable + * @throws \InvalidArgumentException If stream is not a resource or string + */ + public function __construct($stream, $level = Logger::DEBUG, $bubble = true, $filePermission = null, $useLocking = false) + { + parent::__construct($level, $bubble); + if (is_resource($stream)) { + $this->stream = $stream; + } elseif (is_string($stream)) { + $this->url = $stream; + } else { + throw new \InvalidArgumentException('A stream must either be a resource or a string.'); + } + + $this->filePermission = $filePermission; + $this->useLocking = $useLocking; + } + + /** + * {@inheritdoc} + */ + public function close() + { + if ($this->url && is_resource($this->stream)) { + fclose($this->stream); + } + $this->stream = null; + } + + /** + * Return the currently active stream if it is open + * + * @return resource|null + */ + public function getStream() + { + return $this->stream; + } + + /** + * Return the stream URL if it was configured with a URL and not an active resource + * + * @return string|null + */ + public function getUrl() + { + return $this->url; + } + + /** + * {@inheritdoc} + */ + protected function write(array $record) + { + if (!is_resource($this->stream)) { + if (null === $this->url || '' === $this->url) { + throw new \LogicException('Missing stream url, the stream can not be opened. This may be caused by a premature call to close().'); + } + $this->createDir(); + $this->errorMessage = null; + set_error_handler(array($this, 'customErrorHandler')); + $this->stream = fopen($this->url, 'a'); + if ($this->filePermission !== null) { + @chmod($this->url, $this->filePermission); + } + restore_error_handler(); + if (!is_resource($this->stream)) { + $this->stream = null; + throw new \UnexpectedValueException(sprintf('The stream or file "%s" could not be opened: '.$this->errorMessage, $this->url)); + } + } + + if ($this->useLocking) { + // ignoring errors here, there's not much we can do about them + flock($this->stream, LOCK_EX); + } + + $this->streamWrite($this->stream, $record); + + if ($this->useLocking) { + flock($this->stream, LOCK_UN); + } + } + + /** + * Write to stream + * @param resource $stream + * @param array $record + */ + protected function streamWrite($stream, array $record) + { + fwrite($stream, (string) $record['formatted']); + } + + private function customErrorHandler($code, $msg) + { + $this->errorMessage = preg_replace('{^(fopen|mkdir)\(.*?\): }', '', $msg); + } + + /** + * @param string $stream + * + * @return null|string + */ + private function getDirFromStream($stream) + { + $pos = strpos($stream, '://'); + if ($pos === false) { + return dirname($stream); + } + + if ('file://' === substr($stream, 0, 7)) { + return dirname(substr($stream, 7)); + } + + return; + } + + private function createDir() + { + // Do not try to create dir if it has already been tried. + if ($this->dirCreated) { + return; + } + + $dir = $this->getDirFromStream($this->url); + if (null !== $dir && !is_dir($dir)) { + $this->errorMessage = null; + set_error_handler(array($this, 'customErrorHandler')); + $status = mkdir($dir, 0777, true); + restore_error_handler(); + if (false === $status) { + throw new \UnexpectedValueException(sprintf('There is no existing directory at "%s" and its not buildable: '.$this->errorMessage, $dir)); + } + } + $this->dirCreated = true; + } +} diff --git a/vendor/monolog/monolog/src/Monolog/Handler/SwiftMailerHandler.php b/vendor/monolog/monolog/src/Monolog/Handler/SwiftMailerHandler.php new file mode 100644 index 00000000..aba13967 --- /dev/null +++ b/vendor/monolog/monolog/src/Monolog/Handler/SwiftMailerHandler.php @@ -0,0 +1,94 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Monolog\Handler; + +use Monolog\Logger; +use Monolog\Formatter\LineFormatter; + +/** + * SwiftMailerHandler uses Swift_Mailer to send the emails + * + * @author Gyula Sallai + */ +class SwiftMailerHandler extends MailHandler +{ + protected $mailer; + private $messageTemplate; + + /** + * @param \Swift_Mailer $mailer The mailer to use + * @param callable|\Swift_Message $message An example message for real messages, only the body will be replaced + * @param int $level The minimum logging level at which this handler will be triggered + * @param Boolean $bubble Whether the messages that are handled can bubble up the stack or not + */ + public function __construct(\Swift_Mailer $mailer, $message, $level = Logger::ERROR, $bubble = true) + { + parent::__construct($level, $bubble); + + $this->mailer = $mailer; + $this->messageTemplate = $message; + } + + /** + * {@inheritdoc} + */ + protected function send($content, array $records) + { + $this->mailer->send($this->buildMessage($content, $records)); + } + + /** + * Creates instance of Swift_Message to be sent + * + * @param string $content formatted email body to be sent + * @param array $records Log records that formed the content + * @return \Swift_Message + */ + protected function buildMessage($content, array $records) + { + $message = null; + if ($this->messageTemplate instanceof \Swift_Message) { + $message = clone $this->messageTemplate; + $message->generateId(); + } elseif (is_callable($this->messageTemplate)) { + $message = call_user_func($this->messageTemplate, $content, $records); + } + + if (!$message instanceof \Swift_Message) { + throw new \InvalidArgumentException('Could not resolve message as instance of Swift_Message or a callable returning it'); + } + + if ($records) { + $subjectFormatter = new LineFormatter($message->getSubject()); + $message->setSubject($subjectFormatter->format($this->getHighestRecord($records))); + } + + $message->setBody($content); + $message->setDate(time()); + + return $message; + } + + /** + * BC getter, to be removed in 2.0 + */ + public function __get($name) + { + if ($name === 'message') { + trigger_error('SwiftMailerHandler->message is deprecated, use ->buildMessage() instead to retrieve the message', E_USER_DEPRECATED); + + return $this->buildMessage(null, array()); + } + + throw new \InvalidArgumentException('Invalid property '.$name); + } +} diff --git a/vendor/monolog/monolog/src/Monolog/Handler/SyslogHandler.php b/vendor/monolog/monolog/src/Monolog/Handler/SyslogHandler.php new file mode 100644 index 00000000..376bc3b2 --- /dev/null +++ b/vendor/monolog/monolog/src/Monolog/Handler/SyslogHandler.php @@ -0,0 +1,67 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Monolog\Handler; + +use Monolog\Logger; + +/** + * Logs to syslog service. + * + * usage example: + * + * $log = new Logger('application'); + * $syslog = new SyslogHandler('myfacility', 'local6'); + * $formatter = new LineFormatter("%channel%.%level_name%: %message% %extra%"); + * $syslog->setFormatter($formatter); + * $log->pushHandler($syslog); + * + * @author Sven Paulus + */ +class SyslogHandler extends AbstractSyslogHandler +{ + protected $ident; + protected $logopts; + + /** + * @param string $ident + * @param mixed $facility + * @param int $level The minimum logging level at which this handler will be triggered + * @param Boolean $bubble Whether the messages that are handled can bubble up the stack or not + * @param int $logopts Option flags for the openlog() call, defaults to LOG_PID + */ + public function __construct($ident, $facility = LOG_USER, $level = Logger::DEBUG, $bubble = true, $logopts = LOG_PID) + { + parent::__construct($facility, $level, $bubble); + + $this->ident = $ident; + $this->logopts = $logopts; + } + + /** + * {@inheritdoc} + */ + public function close() + { + closelog(); + } + + /** + * {@inheritdoc} + */ + protected function write(array $record) + { + if (!openlog($this->ident, $this->logopts, $this->facility)) { + throw new \LogicException('Can\'t open syslog for ident "'.$this->ident.'" and facility "'.$this->facility.'"'); + } + syslog($this->logLevels[$record['level']], (string) $record['formatted']); + } +} diff --git a/vendor/monolog/monolog/src/Monolog/Handler/SyslogUdp/UdpSocket.php b/vendor/monolog/monolog/src/Monolog/Handler/SyslogUdp/UdpSocket.php new file mode 100644 index 00000000..3bff085b --- /dev/null +++ b/vendor/monolog/monolog/src/Monolog/Handler/SyslogUdp/UdpSocket.php @@ -0,0 +1,56 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Monolog\Handler\SyslogUdp; + +class UdpSocket +{ + const DATAGRAM_MAX_LENGTH = 65023; + + protected $ip; + protected $port; + protected $socket; + + public function __construct($ip, $port = 514) + { + $this->ip = $ip; + $this->port = $port; + $this->socket = socket_create(AF_INET, SOCK_DGRAM, SOL_UDP); + } + + public function write($line, $header = "") + { + $this->send($this->assembleMessage($line, $header)); + } + + public function close() + { + if (is_resource($this->socket)) { + socket_close($this->socket); + $this->socket = null; + } + } + + protected function send($chunk) + { + if (!is_resource($this->socket)) { + throw new \LogicException('The UdpSocket to '.$this->ip.':'.$this->port.' has been closed and can not be written to anymore'); + } + socket_sendto($this->socket, $chunk, strlen($chunk), $flags = 0, $this->ip, $this->port); + } + + protected function assembleMessage($line, $header) + { + $chunkSize = self::DATAGRAM_MAX_LENGTH - strlen($header); + + return $header . substr($line, 0, $chunkSize); + } +} diff --git a/vendor/monolog/monolog/src/Monolog/Handler/SyslogUdpHandler.php b/vendor/monolog/monolog/src/Monolog/Handler/SyslogUdpHandler.php new file mode 100644 index 00000000..74d946a5 --- /dev/null +++ b/vendor/monolog/monolog/src/Monolog/Handler/SyslogUdpHandler.php @@ -0,0 +1,82 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Monolog\Handler; + +use Monolog\Logger; +use Monolog\Handler\SyslogUdp\UdpSocket; + +/** + * A Handler for logging to a remote syslogd server. + * + * @author Jesper Skovgaard Nielsen + */ +class SyslogUdpHandler extends AbstractSyslogHandler +{ + protected $socket; + + /** + * @param string $host + * @param int $port + * @param mixed $facility + * @param int $level The minimum logging level at which this handler will be triggered + * @param Boolean $bubble Whether the messages that are handled can bubble up the stack or not + */ + public function __construct($host, $port = 514, $facility = LOG_USER, $level = Logger::DEBUG, $bubble = true) + { + parent::__construct($facility, $level, $bubble); + + $this->socket = new UdpSocket($host, $port ?: 514); + } + + protected function write(array $record) + { + $lines = $this->splitMessageIntoLines($record['formatted']); + + $header = $this->makeCommonSyslogHeader($this->logLevels[$record['level']]); + + foreach ($lines as $line) { + $this->socket->write($line, $header); + } + } + + public function close() + { + $this->socket->close(); + } + + private function splitMessageIntoLines($message) + { + if (is_array($message)) { + $message = implode("\n", $message); + } + + return preg_split('/$\R?^/m', $message, -1, PREG_SPLIT_NO_EMPTY); + } + + /** + * Make common syslog header (see rfc5424) + */ + protected function makeCommonSyslogHeader($severity) + { + $priority = $severity + $this->facility; + + return "<$priority>1 "; + } + + /** + * Inject your own socket, mainly used for testing + */ + public function setSocket($socket) + { + $this->socket = $socket; + } +} diff --git a/vendor/monolog/monolog/src/Monolog/Handler/TestHandler.php b/vendor/monolog/monolog/src/Monolog/Handler/TestHandler.php new file mode 100644 index 00000000..e39cfc66 --- /dev/null +++ b/vendor/monolog/monolog/src/Monolog/Handler/TestHandler.php @@ -0,0 +1,154 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Monolog\Handler; + +/** + * Used for testing purposes. + * + * It records all records and gives you access to them for verification. + * + * @author Jordi Boggiano + * + * @method bool hasEmergency($record) + * @method bool hasAlert($record) + * @method bool hasCritical($record) + * @method bool hasError($record) + * @method bool hasWarning($record) + * @method bool hasNotice($record) + * @method bool hasInfo($record) + * @method bool hasDebug($record) + * + * @method bool hasEmergencyRecords() + * @method bool hasAlertRecords() + * @method bool hasCriticalRecords() + * @method bool hasErrorRecords() + * @method bool hasWarningRecords() + * @method bool hasNoticeRecords() + * @method bool hasInfoRecords() + * @method bool hasDebugRecords() + * + * @method bool hasEmergencyThatContains($message) + * @method bool hasAlertThatContains($message) + * @method bool hasCriticalThatContains($message) + * @method bool hasErrorThatContains($message) + * @method bool hasWarningThatContains($message) + * @method bool hasNoticeThatContains($message) + * @method bool hasInfoThatContains($message) + * @method bool hasDebugThatContains($message) + * + * @method bool hasEmergencyThatMatches($message) + * @method bool hasAlertThatMatches($message) + * @method bool hasCriticalThatMatches($message) + * @method bool hasErrorThatMatches($message) + * @method bool hasWarningThatMatches($message) + * @method bool hasNoticeThatMatches($message) + * @method bool hasInfoThatMatches($message) + * @method bool hasDebugThatMatches($message) + * + * @method bool hasEmergencyThatPasses($message) + * @method bool hasAlertThatPasses($message) + * @method bool hasCriticalThatPasses($message) + * @method bool hasErrorThatPasses($message) + * @method bool hasWarningThatPasses($message) + * @method bool hasNoticeThatPasses($message) + * @method bool hasInfoThatPasses($message) + * @method bool hasDebugThatPasses($message) + */ +class TestHandler extends AbstractProcessingHandler +{ + protected $records = array(); + protected $recordsByLevel = array(); + + public function getRecords() + { + return $this->records; + } + + public function clear() + { + $this->records = array(); + $this->recordsByLevel = array(); + } + + public function hasRecords($level) + { + return isset($this->recordsByLevel[$level]); + } + + public function hasRecord($record, $level) + { + if (is_array($record)) { + $record = $record['message']; + } + + return $this->hasRecordThatPasses(function ($rec) use ($record) { + return $rec['message'] === $record; + }, $level); + } + + public function hasRecordThatContains($message, $level) + { + return $this->hasRecordThatPasses(function ($rec) use ($message) { + return strpos($rec['message'], $message) !== false; + }, $level); + } + + public function hasRecordThatMatches($regex, $level) + { + return $this->hasRecordThatPasses(function ($rec) use ($regex) { + return preg_match($regex, $rec['message']) > 0; + }, $level); + } + + public function hasRecordThatPasses($predicate, $level) + { + if (!is_callable($predicate)) { + throw new \InvalidArgumentException("Expected a callable for hasRecordThatSucceeds"); + } + + if (!isset($this->recordsByLevel[$level])) { + return false; + } + + foreach ($this->recordsByLevel[$level] as $i => $rec) { + if (call_user_func($predicate, $rec, $i)) { + return true; + } + } + + return false; + } + + /** + * {@inheritdoc} + */ + protected function write(array $record) + { + $this->recordsByLevel[$record['level']][] = $record; + $this->records[] = $record; + } + + public function __call($method, $args) + { + if (preg_match('/(.*)(Debug|Info|Notice|Warning|Error|Critical|Alert|Emergency)(.*)/', $method, $matches) > 0) { + $genericMethod = $matches[1] . ('Records' !== $matches[3] ? 'Record' : '') . $matches[3]; + $level = constant('Monolog\Logger::' . strtoupper($matches[2])); + if (method_exists($this, $genericMethod)) { + $args[] = $level; + + return call_user_func_array(array($this, $genericMethod), $args); + } + } + + throw new \BadMethodCallException('Call to undefined method ' . get_class($this) . '::' . $method . '()'); + } +} diff --git a/vendor/monolog/monolog/src/Monolog/Handler/WhatFailureGroupHandler.php b/vendor/monolog/monolog/src/Monolog/Handler/WhatFailureGroupHandler.php new file mode 100644 index 00000000..2732ba3d --- /dev/null +++ b/vendor/monolog/monolog/src/Monolog/Handler/WhatFailureGroupHandler.php @@ -0,0 +1,61 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Monolog\Handler; + +/** + * Forwards records to multiple handlers suppressing failures of each handler + * and continuing through to give every handler a chance to succeed. + * + * @author Craig D'Amelio + */ +class WhatFailureGroupHandler extends GroupHandler +{ + /** + * {@inheritdoc} + */ + public function handle(array $record) + { + if ($this->processors) { + foreach ($this->processors as $processor) { + $record = call_user_func($processor, $record); + } + } + + foreach ($this->handlers as $handler) { + try { + $handler->handle($record); + } catch (\Exception $e) { + // What failure? + } catch (\Throwable $e) { + // What failure? + } + } + + return false === $this->bubble; + } + + /** + * {@inheritdoc} + */ + public function handleBatch(array $records) + { + foreach ($this->handlers as $handler) { + try { + $handler->handleBatch($records); + } catch (\Exception $e) { + // What failure? + } catch (\Throwable $e) { + // What failure? + } + } + } +} diff --git a/vendor/monolog/monolog/src/Monolog/Handler/ZendMonitorHandler.php b/vendor/monolog/monolog/src/Monolog/Handler/ZendMonitorHandler.php new file mode 100644 index 00000000..f22cf218 --- /dev/null +++ b/vendor/monolog/monolog/src/Monolog/Handler/ZendMonitorHandler.php @@ -0,0 +1,95 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Monolog\Handler; + +use Monolog\Formatter\NormalizerFormatter; +use Monolog\Logger; + +/** + * Handler sending logs to Zend Monitor + * + * @author Christian Bergau + */ +class ZendMonitorHandler extends AbstractProcessingHandler +{ + /** + * Monolog level / ZendMonitor Custom Event priority map + * + * @var array + */ + protected $levelMap = array( + Logger::DEBUG => 1, + Logger::INFO => 2, + Logger::NOTICE => 3, + Logger::WARNING => 4, + Logger::ERROR => 5, + Logger::CRITICAL => 6, + Logger::ALERT => 7, + Logger::EMERGENCY => 0, + ); + + /** + * Construct + * + * @param int $level + * @param bool $bubble + * @throws MissingExtensionException + */ + public function __construct($level = Logger::DEBUG, $bubble = true) + { + if (!function_exists('zend_monitor_custom_event')) { + throw new MissingExtensionException('You must have Zend Server installed in order to use this handler'); + } + parent::__construct($level, $bubble); + } + + /** + * {@inheritdoc} + */ + protected function write(array $record) + { + $this->writeZendMonitorCustomEvent( + $this->levelMap[$record['level']], + $record['message'], + $record['formatted'] + ); + } + + /** + * Write a record to Zend Monitor + * + * @param int $level + * @param string $message + * @param array $formatted + */ + protected function writeZendMonitorCustomEvent($level, $message, $formatted) + { + zend_monitor_custom_event($level, $message, $formatted); + } + + /** + * {@inheritdoc} + */ + public function getDefaultFormatter() + { + return new NormalizerFormatter(); + } + + /** + * Get the level map + * + * @return array + */ + public function getLevelMap() + { + return $this->levelMap; + } +} diff --git a/vendor/monolog/monolog/src/Monolog/Logger.php b/vendor/monolog/monolog/src/Monolog/Logger.php new file mode 100644 index 00000000..49d00af1 --- /dev/null +++ b/vendor/monolog/monolog/src/Monolog/Logger.php @@ -0,0 +1,700 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Monolog; + +use Monolog\Handler\HandlerInterface; +use Monolog\Handler\StreamHandler; +use Psr\Log\LoggerInterface; +use Psr\Log\InvalidArgumentException; + +/** + * Monolog log channel + * + * It contains a stack of Handlers and a stack of Processors, + * and uses them to store records that are added to it. + * + * @author Jordi Boggiano + */ +class Logger implements LoggerInterface +{ + /** + * Detailed debug information + */ + const DEBUG = 100; + + /** + * Interesting events + * + * Examples: User logs in, SQL logs. + */ + const INFO = 200; + + /** + * Uncommon events + */ + const NOTICE = 250; + + /** + * Exceptional occurrences that are not errors + * + * Examples: Use of deprecated APIs, poor use of an API, + * undesirable things that are not necessarily wrong. + */ + const WARNING = 300; + + /** + * Runtime errors + */ + const ERROR = 400; + + /** + * Critical conditions + * + * Example: Application component unavailable, unexpected exception. + */ + const CRITICAL = 500; + + /** + * Action must be taken immediately + * + * Example: Entire website down, database unavailable, etc. + * This should trigger the SMS alerts and wake you up. + */ + const ALERT = 550; + + /** + * Urgent alert. + */ + const EMERGENCY = 600; + + /** + * Monolog API version + * + * This is only bumped when API breaks are done and should + * follow the major version of the library + * + * @var int + */ + const API = 1; + + /** + * Logging levels from syslog protocol defined in RFC 5424 + * + * @var array $levels Logging levels + */ + protected static $levels = array( + self::DEBUG => 'DEBUG', + self::INFO => 'INFO', + self::NOTICE => 'NOTICE', + self::WARNING => 'WARNING', + self::ERROR => 'ERROR', + self::CRITICAL => 'CRITICAL', + self::ALERT => 'ALERT', + self::EMERGENCY => 'EMERGENCY', + ); + + /** + * @var \DateTimeZone + */ + protected static $timezone; + + /** + * @var string + */ + protected $name; + + /** + * The handler stack + * + * @var HandlerInterface[] + */ + protected $handlers; + + /** + * Processors that will process all log records + * + * To process records of a single handler instead, add the processor on that specific handler + * + * @var callable[] + */ + protected $processors; + + /** + * @var bool + */ + protected $microsecondTimestamps = true; + + /** + * @param string $name The logging channel + * @param HandlerInterface[] $handlers Optional stack of handlers, the first one in the array is called first, etc. + * @param callable[] $processors Optional array of processors + */ + public function __construct($name, array $handlers = array(), array $processors = array()) + { + $this->name = $name; + $this->handlers = $handlers; + $this->processors = $processors; + } + + /** + * @return string + */ + public function getName() + { + return $this->name; + } + + /** + * Return a new cloned instance with the name changed + * + * @return static + */ + public function withName($name) + { + $new = clone $this; + $new->name = $name; + + return $new; + } + + /** + * Pushes a handler on to the stack. + * + * @param HandlerInterface $handler + * @return $this + */ + public function pushHandler(HandlerInterface $handler) + { + array_unshift($this->handlers, $handler); + + return $this; + } + + /** + * Pops a handler from the stack + * + * @return HandlerInterface + */ + public function popHandler() + { + if (!$this->handlers) { + throw new \LogicException('You tried to pop from an empty handler stack.'); + } + + return array_shift($this->handlers); + } + + /** + * Set handlers, replacing all existing ones. + * + * If a map is passed, keys will be ignored. + * + * @param HandlerInterface[] $handlers + * @return $this + */ + public function setHandlers(array $handlers) + { + $this->handlers = array(); + foreach (array_reverse($handlers) as $handler) { + $this->pushHandler($handler); + } + + return $this; + } + + /** + * @return HandlerInterface[] + */ + public function getHandlers() + { + return $this->handlers; + } + + /** + * Adds a processor on to the stack. + * + * @param callable $callback + * @return $this + */ + public function pushProcessor($callback) + { + if (!is_callable($callback)) { + throw new \InvalidArgumentException('Processors must be valid callables (callback or object with an __invoke method), '.var_export($callback, true).' given'); + } + array_unshift($this->processors, $callback); + + return $this; + } + + /** + * Removes the processor on top of the stack and returns it. + * + * @return callable + */ + public function popProcessor() + { + if (!$this->processors) { + throw new \LogicException('You tried to pop from an empty processor stack.'); + } + + return array_shift($this->processors); + } + + /** + * @return callable[] + */ + public function getProcessors() + { + return $this->processors; + } + + /** + * Control the use of microsecond resolution timestamps in the 'datetime' + * member of new records. + * + * Generating microsecond resolution timestamps by calling + * microtime(true), formatting the result via sprintf() and then parsing + * the resulting string via \DateTime::createFromFormat() can incur + * a measurable runtime overhead vs simple usage of DateTime to capture + * a second resolution timestamp in systems which generate a large number + * of log events. + * + * @param bool $micro True to use microtime() to create timestamps + */ + public function useMicrosecondTimestamps($micro) + { + $this->microsecondTimestamps = (bool) $micro; + } + + /** + * Adds a log record. + * + * @param int $level The logging level + * @param string $message The log message + * @param array $context The log context + * @return Boolean Whether the record has been processed + */ + public function addRecord($level, $message, array $context = array()) + { + if (!$this->handlers) { + $this->pushHandler(new StreamHandler('php://stderr', static::DEBUG)); + } + + $levelName = static::getLevelName($level); + + // check if any handler will handle this message so we can return early and save cycles + $handlerKey = null; + reset($this->handlers); + while ($handler = current($this->handlers)) { + if ($handler->isHandling(array('level' => $level))) { + $handlerKey = key($this->handlers); + break; + } + + next($this->handlers); + } + + if (null === $handlerKey) { + return false; + } + + if (!static::$timezone) { + static::$timezone = new \DateTimeZone(date_default_timezone_get() ?: 'UTC'); + } + + // php7.1+ always has microseconds enabled, so we do not need this hack + if ($this->microsecondTimestamps && PHP_VERSION_ID < 70100) { + $ts = \DateTime::createFromFormat('U.u', sprintf('%.6F', microtime(true)), static::$timezone); + } else { + $ts = new \DateTime(null, static::$timezone); + } + $ts->setTimezone(static::$timezone); + + $record = array( + 'message' => (string) $message, + 'context' => $context, + 'level' => $level, + 'level_name' => $levelName, + 'channel' => $this->name, + 'datetime' => $ts, + 'extra' => array(), + ); + + foreach ($this->processors as $processor) { + $record = call_user_func($processor, $record); + } + + while ($handler = current($this->handlers)) { + if (true === $handler->handle($record)) { + break; + } + + next($this->handlers); + } + + return true; + } + + /** + * Adds a log record at the DEBUG level. + * + * @param string $message The log message + * @param array $context The log context + * @return Boolean Whether the record has been processed + */ + public function addDebug($message, array $context = array()) + { + return $this->addRecord(static::DEBUG, $message, $context); + } + + /** + * Adds a log record at the INFO level. + * + * @param string $message The log message + * @param array $context The log context + * @return Boolean Whether the record has been processed + */ + public function addInfo($message, array $context = array()) + { + return $this->addRecord(static::INFO, $message, $context); + } + + /** + * Adds a log record at the NOTICE level. + * + * @param string $message The log message + * @param array $context The log context + * @return Boolean Whether the record has been processed + */ + public function addNotice($message, array $context = array()) + { + return $this->addRecord(static::NOTICE, $message, $context); + } + + /** + * Adds a log record at the WARNING level. + * + * @param string $message The log message + * @param array $context The log context + * @return Boolean Whether the record has been processed + */ + public function addWarning($message, array $context = array()) + { + return $this->addRecord(static::WARNING, $message, $context); + } + + /** + * Adds a log record at the ERROR level. + * + * @param string $message The log message + * @param array $context The log context + * @return Boolean Whether the record has been processed + */ + public function addError($message, array $context = array()) + { + return $this->addRecord(static::ERROR, $message, $context); + } + + /** + * Adds a log record at the CRITICAL level. + * + * @param string $message The log message + * @param array $context The log context + * @return Boolean Whether the record has been processed + */ + public function addCritical($message, array $context = array()) + { + return $this->addRecord(static::CRITICAL, $message, $context); + } + + /** + * Adds a log record at the ALERT level. + * + * @param string $message The log message + * @param array $context The log context + * @return Boolean Whether the record has been processed + */ + public function addAlert($message, array $context = array()) + { + return $this->addRecord(static::ALERT, $message, $context); + } + + /** + * Adds a log record at the EMERGENCY level. + * + * @param string $message The log message + * @param array $context The log context + * @return Boolean Whether the record has been processed + */ + public function addEmergency($message, array $context = array()) + { + return $this->addRecord(static::EMERGENCY, $message, $context); + } + + /** + * Gets all supported logging levels. + * + * @return array Assoc array with human-readable level names => level codes. + */ + public static function getLevels() + { + return array_flip(static::$levels); + } + + /** + * Gets the name of the logging level. + * + * @param int $level + * @return string + */ + public static function getLevelName($level) + { + if (!isset(static::$levels[$level])) { + throw new InvalidArgumentException('Level "'.$level.'" is not defined, use one of: '.implode(', ', array_keys(static::$levels))); + } + + return static::$levels[$level]; + } + + /** + * Converts PSR-3 levels to Monolog ones if necessary + * + * @param string|int Level number (monolog) or name (PSR-3) + * @return int + */ + public static function toMonologLevel($level) + { + if (is_string($level) && defined(__CLASS__.'::'.strtoupper($level))) { + return constant(__CLASS__.'::'.strtoupper($level)); + } + + return $level; + } + + /** + * Checks whether the Logger has a handler that listens on the given level + * + * @param int $level + * @return Boolean + */ + public function isHandling($level) + { + $record = array( + 'level' => $level, + ); + + foreach ($this->handlers as $handler) { + if ($handler->isHandling($record)) { + return true; + } + } + + return false; + } + + /** + * Adds a log record at an arbitrary level. + * + * This method allows for compatibility with common interfaces. + * + * @param mixed $level The log level + * @param string $message The log message + * @param array $context The log context + * @return Boolean Whether the record has been processed + */ + public function log($level, $message, array $context = array()) + { + $level = static::toMonologLevel($level); + + return $this->addRecord($level, $message, $context); + } + + /** + * Adds a log record at the DEBUG level. + * + * This method allows for compatibility with common interfaces. + * + * @param string $message The log message + * @param array $context The log context + * @return Boolean Whether the record has been processed + */ + public function debug($message, array $context = array()) + { + return $this->addRecord(static::DEBUG, $message, $context); + } + + /** + * Adds a log record at the INFO level. + * + * This method allows for compatibility with common interfaces. + * + * @param string $message The log message + * @param array $context The log context + * @return Boolean Whether the record has been processed + */ + public function info($message, array $context = array()) + { + return $this->addRecord(static::INFO, $message, $context); + } + + /** + * Adds a log record at the NOTICE level. + * + * This method allows for compatibility with common interfaces. + * + * @param string $message The log message + * @param array $context The log context + * @return Boolean Whether the record has been processed + */ + public function notice($message, array $context = array()) + { + return $this->addRecord(static::NOTICE, $message, $context); + } + + /** + * Adds a log record at the WARNING level. + * + * This method allows for compatibility with common interfaces. + * + * @param string $message The log message + * @param array $context The log context + * @return Boolean Whether the record has been processed + */ + public function warn($message, array $context = array()) + { + return $this->addRecord(static::WARNING, $message, $context); + } + + /** + * Adds a log record at the WARNING level. + * + * This method allows for compatibility with common interfaces. + * + * @param string $message The log message + * @param array $context The log context + * @return Boolean Whether the record has been processed + */ + public function warning($message, array $context = array()) + { + return $this->addRecord(static::WARNING, $message, $context); + } + + /** + * Adds a log record at the ERROR level. + * + * This method allows for compatibility with common interfaces. + * + * @param string $message The log message + * @param array $context The log context + * @return Boolean Whether the record has been processed + */ + public function err($message, array $context = array()) + { + return $this->addRecord(static::ERROR, $message, $context); + } + + /** + * Adds a log record at the ERROR level. + * + * This method allows for compatibility with common interfaces. + * + * @param string $message The log message + * @param array $context The log context + * @return Boolean Whether the record has been processed + */ + public function error($message, array $context = array()) + { + return $this->addRecord(static::ERROR, $message, $context); + } + + /** + * Adds a log record at the CRITICAL level. + * + * This method allows for compatibility with common interfaces. + * + * @param string $message The log message + * @param array $context The log context + * @return Boolean Whether the record has been processed + */ + public function crit($message, array $context = array()) + { + return $this->addRecord(static::CRITICAL, $message, $context); + } + + /** + * Adds a log record at the CRITICAL level. + * + * This method allows for compatibility with common interfaces. + * + * @param string $message The log message + * @param array $context The log context + * @return Boolean Whether the record has been processed + */ + public function critical($message, array $context = array()) + { + return $this->addRecord(static::CRITICAL, $message, $context); + } + + /** + * Adds a log record at the ALERT level. + * + * This method allows for compatibility with common interfaces. + * + * @param string $message The log message + * @param array $context The log context + * @return Boolean Whether the record has been processed + */ + public function alert($message, array $context = array()) + { + return $this->addRecord(static::ALERT, $message, $context); + } + + /** + * Adds a log record at the EMERGENCY level. + * + * This method allows for compatibility with common interfaces. + * + * @param string $message The log message + * @param array $context The log context + * @return Boolean Whether the record has been processed + */ + public function emerg($message, array $context = array()) + { + return $this->addRecord(static::EMERGENCY, $message, $context); + } + + /** + * Adds a log record at the EMERGENCY level. + * + * This method allows for compatibility with common interfaces. + * + * @param string $message The log message + * @param array $context The log context + * @return Boolean Whether the record has been processed + */ + public function emergency($message, array $context = array()) + { + return $this->addRecord(static::EMERGENCY, $message, $context); + } + + /** + * Set the timezone to be used for the timestamp of log records. + * + * This is stored globally for all Logger instances + * + * @param \DateTimeZone $tz Timezone object + */ + public static function setTimezone(\DateTimeZone $tz) + { + self::$timezone = $tz; + } +} diff --git a/vendor/monolog/monolog/src/Monolog/Processor/GitProcessor.php b/vendor/monolog/monolog/src/Monolog/Processor/GitProcessor.php new file mode 100644 index 00000000..1899400d --- /dev/null +++ b/vendor/monolog/monolog/src/Monolog/Processor/GitProcessor.php @@ -0,0 +1,64 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Monolog\Processor; + +use Monolog\Logger; + +/** + * Injects Git branch and Git commit SHA in all records + * + * @author Nick Otter + * @author Jordi Boggiano + */ +class GitProcessor +{ + private $level; + private static $cache; + + public function __construct($level = Logger::DEBUG) + { + $this->level = Logger::toMonologLevel($level); + } + + /** + * @param array $record + * @return array + */ + public function __invoke(array $record) + { + // return if the level is not high enough + if ($record['level'] < $this->level) { + return $record; + } + + $record['extra']['git'] = self::getGitInfo(); + + return $record; + } + + private static function getGitInfo() + { + if (self::$cache) { + return self::$cache; + } + + $branches = `git branch -v --no-abbrev`; + if (preg_match('{^\* (.+?)\s+([a-f0-9]{40})(?:\s|$)}m', $branches, $matches)) { + return self::$cache = array( + 'branch' => $matches[1], + 'commit' => $matches[2], + ); + } + + return self::$cache = array(); + } +} diff --git a/vendor/monolog/monolog/src/Monolog/Processor/IntrospectionProcessor.php b/vendor/monolog/monolog/src/Monolog/Processor/IntrospectionProcessor.php new file mode 100644 index 00000000..2691630a --- /dev/null +++ b/vendor/monolog/monolog/src/Monolog/Processor/IntrospectionProcessor.php @@ -0,0 +1,107 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Monolog\Processor; + +use Monolog\Logger; + +/** + * Injects line/file:class/function where the log message came from + * + * Warning: This only works if the handler processes the logs directly. + * If you put the processor on a handler that is behind a FingersCrossedHandler + * for example, the processor will only be called once the trigger level is reached, + * and all the log records will have the same file/line/.. data from the call that + * triggered the FingersCrossedHandler. + * + * @author Jordi Boggiano + */ +class IntrospectionProcessor +{ + private $level; + + private $skipClassesPartials; + + private $skipStackFramesCount; + + private $skipFunctions = array( + 'call_user_func', + 'call_user_func_array', + ); + + public function __construct($level = Logger::DEBUG, array $skipClassesPartials = array(), $skipStackFramesCount = 0) + { + $this->level = Logger::toMonologLevel($level); + $this->skipClassesPartials = array_merge(array('Monolog\\'), $skipClassesPartials); + $this->skipStackFramesCount = $skipStackFramesCount; + } + + /** + * @param array $record + * @return array + */ + public function __invoke(array $record) + { + // return if the level is not high enough + if ($record['level'] < $this->level) { + return $record; + } + + $trace = debug_backtrace(DEBUG_BACKTRACE_IGNORE_ARGS); + + // skip first since it's always the current method + array_shift($trace); + // the call_user_func call is also skipped + array_shift($trace); + + $i = 0; + + while ($this->isTraceClassOrSkippedFunction($trace, $i)) { + if (isset($trace[$i]['class'])) { + foreach ($this->skipClassesPartials as $part) { + if (strpos($trace[$i]['class'], $part) !== false) { + $i++; + continue 2; + } + } + } elseif (in_array($trace[$i]['function'], $this->skipFunctions)) { + $i++; + continue; + } + + break; + } + + $i += $this->skipStackFramesCount; + + // we should have the call source now + $record['extra'] = array_merge( + $record['extra'], + array( + 'file' => isset($trace[$i - 1]['file']) ? $trace[$i - 1]['file'] : null, + 'line' => isset($trace[$i - 1]['line']) ? $trace[$i - 1]['line'] : null, + 'class' => isset($trace[$i]['class']) ? $trace[$i]['class'] : null, + 'function' => isset($trace[$i]['function']) ? $trace[$i]['function'] : null, + ) + ); + + return $record; + } + + private function isTraceClassOrSkippedFunction(array $trace, $index) + { + if (!isset($trace[$index])) { + return false; + } + + return isset($trace[$index]['class']) || in_array($trace[$index]['function'], $this->skipFunctions); + } +} diff --git a/vendor/monolog/monolog/src/Monolog/Processor/MemoryPeakUsageProcessor.php b/vendor/monolog/monolog/src/Monolog/Processor/MemoryPeakUsageProcessor.php new file mode 100644 index 00000000..0543e929 --- /dev/null +++ b/vendor/monolog/monolog/src/Monolog/Processor/MemoryPeakUsageProcessor.php @@ -0,0 +1,35 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Monolog\Processor; + +/** + * Injects memory_get_peak_usage in all records + * + * @see Monolog\Processor\MemoryProcessor::__construct() for options + * @author Rob Jensen + */ +class MemoryPeakUsageProcessor extends MemoryProcessor +{ + /** + * @param array $record + * @return array + */ + public function __invoke(array $record) + { + $bytes = memory_get_peak_usage($this->realUsage); + $formatted = $this->formatBytes($bytes); + + $record['extra']['memory_peak_usage'] = $formatted; + + return $record; + } +} diff --git a/vendor/monolog/monolog/src/Monolog/Processor/MemoryProcessor.php b/vendor/monolog/monolog/src/Monolog/Processor/MemoryProcessor.php new file mode 100644 index 00000000..85f9dc5e --- /dev/null +++ b/vendor/monolog/monolog/src/Monolog/Processor/MemoryProcessor.php @@ -0,0 +1,63 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Monolog\Processor; + +/** + * Some methods that are common for all memory processors + * + * @author Rob Jensen + */ +abstract class MemoryProcessor +{ + /** + * @var bool If true, get the real size of memory allocated from system. Else, only the memory used by emalloc() is reported. + */ + protected $realUsage; + + /** + * @var bool If true, then format memory size to human readable string (MB, KB, B depending on size) + */ + protected $useFormatting; + + /** + * @param bool $realUsage Set this to true to get the real size of memory allocated from system. + * @param bool $useFormatting If true, then format memory size to human readable string (MB, KB, B depending on size) + */ + public function __construct($realUsage = true, $useFormatting = true) + { + $this->realUsage = (boolean) $realUsage; + $this->useFormatting = (boolean) $useFormatting; + } + + /** + * Formats bytes into a human readable string if $this->useFormatting is true, otherwise return $bytes as is + * + * @param int $bytes + * @return string|int Formatted string if $this->useFormatting is true, otherwise return $bytes as is + */ + protected function formatBytes($bytes) + { + $bytes = (int) $bytes; + + if (!$this->useFormatting) { + return $bytes; + } + + if ($bytes > 1024 * 1024) { + return round($bytes / 1024 / 1024, 2).' MB'; + } elseif ($bytes > 1024) { + return round($bytes / 1024, 2).' KB'; + } + + return $bytes . ' B'; + } +} diff --git a/vendor/monolog/monolog/src/Monolog/Processor/MemoryUsageProcessor.php b/vendor/monolog/monolog/src/Monolog/Processor/MemoryUsageProcessor.php new file mode 100644 index 00000000..2783d656 --- /dev/null +++ b/vendor/monolog/monolog/src/Monolog/Processor/MemoryUsageProcessor.php @@ -0,0 +1,35 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Monolog\Processor; + +/** + * Injects memory_get_usage in all records + * + * @see Monolog\Processor\MemoryProcessor::__construct() for options + * @author Rob Jensen + */ +class MemoryUsageProcessor extends MemoryProcessor +{ + /** + * @param array $record + * @return array + */ + public function __invoke(array $record) + { + $bytes = memory_get_usage($this->realUsage); + $formatted = $this->formatBytes($bytes); + + $record['extra']['memory_usage'] = $formatted; + + return $record; + } +} diff --git a/vendor/monolog/monolog/src/Monolog/Processor/MercurialProcessor.php b/vendor/monolog/monolog/src/Monolog/Processor/MercurialProcessor.php new file mode 100644 index 00000000..7c07a7e9 --- /dev/null +++ b/vendor/monolog/monolog/src/Monolog/Processor/MercurialProcessor.php @@ -0,0 +1,63 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Monolog\Processor; + +use Monolog\Logger; + +/** + * Injects Hg branch and Hg revision number in all records + * + * @author Jonathan A. Schweder + */ +class MercurialProcessor +{ + private $level; + private static $cache; + + public function __construct($level = Logger::DEBUG) + { + $this->level = Logger::toMonologLevel($level); + } + + /** + * @param array $record + * @return array + */ + public function __invoke(array $record) + { + // return if the level is not high enough + if ($record['level'] < $this->level) { + return $record; + } + + $record['extra']['hg'] = self::getMercurialInfo(); + + return $record; + } + + private static function getMercurialInfo() + { + if (self::$cache) { + return self::$cache; + } + + $result = explode(' ', trim(`hg id -nb`)); + if (count($result) >= 3) { + return self::$cache = array( + 'branch' => $result[1], + 'revision' => $result[2], + ); + } + + return self::$cache = array(); + } +} diff --git a/vendor/monolog/monolog/src/Monolog/Processor/ProcessIdProcessor.php b/vendor/monolog/monolog/src/Monolog/Processor/ProcessIdProcessor.php new file mode 100644 index 00000000..9d3f5590 --- /dev/null +++ b/vendor/monolog/monolog/src/Monolog/Processor/ProcessIdProcessor.php @@ -0,0 +1,31 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Monolog\Processor; + +/** + * Adds value of getmypid into records + * + * @author Andreas Hörnicke + */ +class ProcessIdProcessor +{ + /** + * @param array $record + * @return array + */ + public function __invoke(array $record) + { + $record['extra']['process_id'] = getmypid(); + + return $record; + } +} diff --git a/vendor/monolog/monolog/src/Monolog/Processor/PsrLogMessageProcessor.php b/vendor/monolog/monolog/src/Monolog/Processor/PsrLogMessageProcessor.php new file mode 100644 index 00000000..c2686ce5 --- /dev/null +++ b/vendor/monolog/monolog/src/Monolog/Processor/PsrLogMessageProcessor.php @@ -0,0 +1,48 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Monolog\Processor; + +/** + * Processes a record's message according to PSR-3 rules + * + * It replaces {foo} with the value from $context['foo'] + * + * @author Jordi Boggiano + */ +class PsrLogMessageProcessor +{ + /** + * @param array $record + * @return array + */ + public function __invoke(array $record) + { + if (false === strpos($record['message'], '{')) { + return $record; + } + + $replacements = array(); + foreach ($record['context'] as $key => $val) { + if (is_null($val) || is_scalar($val) || (is_object($val) && method_exists($val, "__toString"))) { + $replacements['{'.$key.'}'] = $val; + } elseif (is_object($val)) { + $replacements['{'.$key.'}'] = '[object '.get_class($val).']'; + } else { + $replacements['{'.$key.'}'] = '['.gettype($val).']'; + } + } + + $record['message'] = strtr($record['message'], $replacements); + + return $record; + } +} diff --git a/vendor/monolog/monolog/src/Monolog/Processor/TagProcessor.php b/vendor/monolog/monolog/src/Monolog/Processor/TagProcessor.php new file mode 100644 index 00000000..7e2df2ac --- /dev/null +++ b/vendor/monolog/monolog/src/Monolog/Processor/TagProcessor.php @@ -0,0 +1,44 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Monolog\Processor; + +/** + * Adds a tags array into record + * + * @author Martijn Riemers + */ +class TagProcessor +{ + private $tags; + + public function __construct(array $tags = array()) + { + $this->setTags($tags); + } + + public function addTags(array $tags = array()) + { + $this->tags = array_merge($this->tags, $tags); + } + + public function setTags(array $tags = array()) + { + $this->tags = $tags; + } + + public function __invoke(array $record) + { + $record['extra']['tags'] = $this->tags; + + return $record; + } +} diff --git a/vendor/monolog/monolog/src/Monolog/Processor/UidProcessor.php b/vendor/monolog/monolog/src/Monolog/Processor/UidProcessor.php new file mode 100644 index 00000000..812707cd --- /dev/null +++ b/vendor/monolog/monolog/src/Monolog/Processor/UidProcessor.php @@ -0,0 +1,46 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Monolog\Processor; + +/** + * Adds a unique identifier into records + * + * @author Simon Mönch + */ +class UidProcessor +{ + private $uid; + + public function __construct($length = 7) + { + if (!is_int($length) || $length > 32 || $length < 1) { + throw new \InvalidArgumentException('The uid length must be an integer between 1 and 32'); + } + + $this->uid = substr(hash('md5', uniqid('', true)), 0, $length); + } + + public function __invoke(array $record) + { + $record['extra']['uid'] = $this->uid; + + return $record; + } + + /** + * @return string + */ + public function getUid() + { + return $this->uid; + } +} diff --git a/vendor/monolog/monolog/src/Monolog/Processor/WebProcessor.php b/vendor/monolog/monolog/src/Monolog/Processor/WebProcessor.php new file mode 100644 index 00000000..ea1d8978 --- /dev/null +++ b/vendor/monolog/monolog/src/Monolog/Processor/WebProcessor.php @@ -0,0 +1,113 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Monolog\Processor; + +/** + * Injects url/method and remote IP of the current web request in all records + * + * @author Jordi Boggiano + */ +class WebProcessor +{ + /** + * @var array|\ArrayAccess + */ + protected $serverData; + + /** + * Default fields + * + * Array is structured as [key in record.extra => key in $serverData] + * + * @var array + */ + protected $extraFields = array( + 'url' => 'REQUEST_URI', + 'ip' => 'REMOTE_ADDR', + 'http_method' => 'REQUEST_METHOD', + 'server' => 'SERVER_NAME', + 'referrer' => 'HTTP_REFERER', + ); + + /** + * @param array|\ArrayAccess $serverData Array or object w/ ArrayAccess that provides access to the $_SERVER data + * @param array|null $extraFields Field names and the related key inside $serverData to be added. If not provided it defaults to: url, ip, http_method, server, referrer + */ + public function __construct($serverData = null, array $extraFields = null) + { + if (null === $serverData) { + $this->serverData = &$_SERVER; + } elseif (is_array($serverData) || $serverData instanceof \ArrayAccess) { + $this->serverData = $serverData; + } else { + throw new \UnexpectedValueException('$serverData must be an array or object implementing ArrayAccess.'); + } + + if (null !== $extraFields) { + if (isset($extraFields[0])) { + foreach (array_keys($this->extraFields) as $fieldName) { + if (!in_array($fieldName, $extraFields)) { + unset($this->extraFields[$fieldName]); + } + } + } else { + $this->extraFields = $extraFields; + } + } + } + + /** + * @param array $record + * @return array + */ + public function __invoke(array $record) + { + // skip processing if for some reason request data + // is not present (CLI or wonky SAPIs) + if (!isset($this->serverData['REQUEST_URI'])) { + return $record; + } + + $record['extra'] = $this->appendExtraFields($record['extra']); + + return $record; + } + + /** + * @param string $extraName + * @param string $serverName + * @return $this + */ + public function addExtraField($extraName, $serverName) + { + $this->extraFields[$extraName] = $serverName; + + return $this; + } + + /** + * @param array $extra + * @return array + */ + private function appendExtraFields(array $extra) + { + foreach ($this->extraFields as $extraName => $serverName) { + $extra[$extraName] = isset($this->serverData[$serverName]) ? $this->serverData[$serverName] : null; + } + + if (isset($this->serverData['UNIQUE_ID'])) { + $extra['unique_id'] = $this->serverData['UNIQUE_ID']; + } + + return $extra; + } +} diff --git a/vendor/monolog/monolog/src/Monolog/Registry.php b/vendor/monolog/monolog/src/Monolog/Registry.php new file mode 100644 index 00000000..159b751c --- /dev/null +++ b/vendor/monolog/monolog/src/Monolog/Registry.php @@ -0,0 +1,134 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Monolog; + +use InvalidArgumentException; + +/** + * Monolog log registry + * + * Allows to get `Logger` instances in the global scope + * via static method calls on this class. + * + * + * $application = new Monolog\Logger('application'); + * $api = new Monolog\Logger('api'); + * + * Monolog\Registry::addLogger($application); + * Monolog\Registry::addLogger($api); + * + * function testLogger() + * { + * Monolog\Registry::api()->addError('Sent to $api Logger instance'); + * Monolog\Registry::application()->addError('Sent to $application Logger instance'); + * } + * + * + * @author Tomas Tatarko + */ +class Registry +{ + /** + * List of all loggers in the registry (by named indexes) + * + * @var Logger[] + */ + private static $loggers = array(); + + /** + * Adds new logging channel to the registry + * + * @param Logger $logger Instance of the logging channel + * @param string|null $name Name of the logging channel ($logger->getName() by default) + * @param bool $overwrite Overwrite instance in the registry if the given name already exists? + * @throws \InvalidArgumentException If $overwrite set to false and named Logger instance already exists + */ + public static function addLogger(Logger $logger, $name = null, $overwrite = false) + { + $name = $name ?: $logger->getName(); + + if (isset(self::$loggers[$name]) && !$overwrite) { + throw new InvalidArgumentException('Logger with the given name already exists'); + } + + self::$loggers[$name] = $logger; + } + + /** + * Checks if such logging channel exists by name or instance + * + * @param string|Logger $logger Name or logger instance + */ + public static function hasLogger($logger) + { + if ($logger instanceof Logger) { + $index = array_search($logger, self::$loggers, true); + + return false !== $index; + } else { + return isset(self::$loggers[$logger]); + } + } + + /** + * Removes instance from registry by name or instance + * + * @param string|Logger $logger Name or logger instance + */ + public static function removeLogger($logger) + { + if ($logger instanceof Logger) { + if (false !== ($idx = array_search($logger, self::$loggers, true))) { + unset(self::$loggers[$idx]); + } + } else { + unset(self::$loggers[$logger]); + } + } + + /** + * Clears the registry + */ + public static function clear() + { + self::$loggers = array(); + } + + /** + * Gets Logger instance from the registry + * + * @param string $name Name of the requested Logger instance + * @throws \InvalidArgumentException If named Logger instance is not in the registry + * @return Logger Requested instance of Logger + */ + public static function getInstance($name) + { + if (!isset(self::$loggers[$name])) { + throw new InvalidArgumentException(sprintf('Requested "%s" logger instance is not in the registry', $name)); + } + + return self::$loggers[$name]; + } + + /** + * Gets Logger instance from the registry via static method call + * + * @param string $name Name of the requested Logger instance + * @param array $arguments Arguments passed to static method call + * @throws \InvalidArgumentException If named Logger instance is not in the registry + * @return Logger Requested instance of Logger + */ + public static function __callStatic($name, $arguments) + { + return self::getInstance($name); + } +} diff --git a/vendor/monolog/monolog/tests/Monolog/ErrorHandlerTest.php b/vendor/monolog/monolog/tests/Monolog/ErrorHandlerTest.php new file mode 100644 index 00000000..a9a3f301 --- /dev/null +++ b/vendor/monolog/monolog/tests/Monolog/ErrorHandlerTest.php @@ -0,0 +1,31 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Monolog; + +use Monolog\Handler\TestHandler; + +class ErrorHandlerTest extends \PHPUnit_Framework_TestCase +{ + public function testHandleError() + { + $logger = new Logger('test', array($handler = new TestHandler)); + $errHandler = new ErrorHandler($logger); + + $errHandler->registerErrorHandler(array(E_USER_NOTICE => Logger::EMERGENCY), false); + trigger_error('Foo', E_USER_ERROR); + $this->assertCount(1, $handler->getRecords()); + $this->assertTrue($handler->hasErrorRecords()); + trigger_error('Foo', E_USER_NOTICE); + $this->assertCount(2, $handler->getRecords()); + $this->assertTrue($handler->hasEmergencyRecords()); + } +} diff --git a/vendor/monolog/monolog/tests/Monolog/Formatter/ChromePHPFormatterTest.php b/vendor/monolog/monolog/tests/Monolog/Formatter/ChromePHPFormatterTest.php new file mode 100644 index 00000000..71c42046 --- /dev/null +++ b/vendor/monolog/monolog/tests/Monolog/Formatter/ChromePHPFormatterTest.php @@ -0,0 +1,158 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Monolog\Formatter; + +use Monolog\Logger; + +class ChromePHPFormatterTest extends \PHPUnit_Framework_TestCase +{ + /** + * @covers Monolog\Formatter\ChromePHPFormatter::format + */ + public function testDefaultFormat() + { + $formatter = new ChromePHPFormatter(); + $record = array( + 'level' => Logger::ERROR, + 'level_name' => 'ERROR', + 'channel' => 'meh', + 'context' => array('from' => 'logger'), + 'datetime' => new \DateTime("@0"), + 'extra' => array('ip' => '127.0.0.1'), + 'message' => 'log', + ); + + $message = $formatter->format($record); + + $this->assertEquals( + array( + 'meh', + array( + 'message' => 'log', + 'context' => array('from' => 'logger'), + 'extra' => array('ip' => '127.0.0.1'), + ), + 'unknown', + 'error', + ), + $message + ); + } + + /** + * @covers Monolog\Formatter\ChromePHPFormatter::format + */ + public function testFormatWithFileAndLine() + { + $formatter = new ChromePHPFormatter(); + $record = array( + 'level' => Logger::CRITICAL, + 'level_name' => 'CRITICAL', + 'channel' => 'meh', + 'context' => array('from' => 'logger'), + 'datetime' => new \DateTime("@0"), + 'extra' => array('ip' => '127.0.0.1', 'file' => 'test', 'line' => 14), + 'message' => 'log', + ); + + $message = $formatter->format($record); + + $this->assertEquals( + array( + 'meh', + array( + 'message' => 'log', + 'context' => array('from' => 'logger'), + 'extra' => array('ip' => '127.0.0.1'), + ), + 'test : 14', + 'error', + ), + $message + ); + } + + /** + * @covers Monolog\Formatter\ChromePHPFormatter::format + */ + public function testFormatWithoutContext() + { + $formatter = new ChromePHPFormatter(); + $record = array( + 'level' => Logger::DEBUG, + 'level_name' => 'DEBUG', + 'channel' => 'meh', + 'context' => array(), + 'datetime' => new \DateTime("@0"), + 'extra' => array(), + 'message' => 'log', + ); + + $message = $formatter->format($record); + + $this->assertEquals( + array( + 'meh', + 'log', + 'unknown', + 'log', + ), + $message + ); + } + + /** + * @covers Monolog\Formatter\ChromePHPFormatter::formatBatch + */ + public function testBatchFormatThrowException() + { + $formatter = new ChromePHPFormatter(); + $records = array( + array( + 'level' => Logger::INFO, + 'level_name' => 'INFO', + 'channel' => 'meh', + 'context' => array(), + 'datetime' => new \DateTime("@0"), + 'extra' => array(), + 'message' => 'log', + ), + array( + 'level' => Logger::WARNING, + 'level_name' => 'WARNING', + 'channel' => 'foo', + 'context' => array(), + 'datetime' => new \DateTime("@0"), + 'extra' => array(), + 'message' => 'log2', + ), + ); + + $this->assertEquals( + array( + array( + 'meh', + 'log', + 'unknown', + 'info', + ), + array( + 'foo', + 'log2', + 'unknown', + 'warn', + ), + ), + $formatter->formatBatch($records) + ); + } +} diff --git a/vendor/monolog/monolog/tests/Monolog/Formatter/ElasticaFormatterTest.php b/vendor/monolog/monolog/tests/Monolog/Formatter/ElasticaFormatterTest.php new file mode 100644 index 00000000..90cc48dd --- /dev/null +++ b/vendor/monolog/monolog/tests/Monolog/Formatter/ElasticaFormatterTest.php @@ -0,0 +1,79 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Monolog\Formatter; + +use Monolog\Logger; + +class ElasticaFormatterTest extends \PHPUnit_Framework_TestCase +{ + public function setUp() + { + if (!class_exists("Elastica\Document")) { + $this->markTestSkipped("ruflin/elastica not installed"); + } + } + + /** + * @covers Monolog\Formatter\ElasticaFormatter::__construct + * @covers Monolog\Formatter\ElasticaFormatter::format + * @covers Monolog\Formatter\ElasticaFormatter::getDocument + */ + public function testFormat() + { + // test log message + $msg = array( + 'level' => Logger::ERROR, + 'level_name' => 'ERROR', + 'channel' => 'meh', + 'context' => array('foo' => 7, 'bar', 'class' => new \stdClass), + 'datetime' => new \DateTime("@0"), + 'extra' => array(), + 'message' => 'log', + ); + + // expected values + $expected = $msg; + $expected['datetime'] = '1970-01-01T00:00:00.000000+00:00'; + $expected['context'] = array( + 'class' => '[object] (stdClass: {})', + 'foo' => 7, + 0 => 'bar', + ); + + // format log message + $formatter = new ElasticaFormatter('my_index', 'doc_type'); + $doc = $formatter->format($msg); + $this->assertInstanceOf('Elastica\Document', $doc); + + // Document parameters + $params = $doc->getParams(); + $this->assertEquals('my_index', $params['_index']); + $this->assertEquals('doc_type', $params['_type']); + + // Document data values + $data = $doc->getData(); + foreach (array_keys($expected) as $key) { + $this->assertEquals($expected[$key], $data[$key]); + } + } + + /** + * @covers Monolog\Formatter\ElasticaFormatter::getIndex + * @covers Monolog\Formatter\ElasticaFormatter::getType + */ + public function testGetters() + { + $formatter = new ElasticaFormatter('my_index', 'doc_type'); + $this->assertEquals('my_index', $formatter->getIndex()); + $this->assertEquals('doc_type', $formatter->getType()); + } +} diff --git a/vendor/monolog/monolog/tests/Monolog/Formatter/FlowdockFormatterTest.php b/vendor/monolog/monolog/tests/Monolog/Formatter/FlowdockFormatterTest.php new file mode 100644 index 00000000..1b2fd97a --- /dev/null +++ b/vendor/monolog/monolog/tests/Monolog/Formatter/FlowdockFormatterTest.php @@ -0,0 +1,55 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Monolog\Formatter; + +use Monolog\Logger; +use Monolog\TestCase; + +class FlowdockFormatterTest extends TestCase +{ + /** + * @covers Monolog\Formatter\FlowdockFormatter::format + */ + public function testFormat() + { + $formatter = new FlowdockFormatter('test_source', 'source@test.com'); + $record = $this->getRecord(); + + $expected = array( + 'source' => 'test_source', + 'from_address' => 'source@test.com', + 'subject' => 'in test_source: WARNING - test', + 'content' => 'test', + 'tags' => array('#logs', '#warning', '#test'), + 'project' => 'test_source', + ); + $formatted = $formatter->format($record); + + $this->assertEquals($expected, $formatted['flowdock']); + } + + /** + * @ covers Monolog\Formatter\FlowdockFormatter::formatBatch + */ + public function testFormatBatch() + { + $formatter = new FlowdockFormatter('test_source', 'source@test.com'); + $records = array( + $this->getRecord(Logger::WARNING), + $this->getRecord(Logger::DEBUG), + ); + $formatted = $formatter->formatBatch($records); + + $this->assertArrayHasKey('flowdock', $formatted[0]); + $this->assertArrayHasKey('flowdock', $formatted[1]); + } +} diff --git a/vendor/monolog/monolog/tests/Monolog/Formatter/FluentdFormatterTest.php b/vendor/monolog/monolog/tests/Monolog/Formatter/FluentdFormatterTest.php new file mode 100644 index 00000000..622b2bae --- /dev/null +++ b/vendor/monolog/monolog/tests/Monolog/Formatter/FluentdFormatterTest.php @@ -0,0 +1,62 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Monolog\Formatter; + +use Monolog\Logger; +use Monolog\TestCase; + +class FluentdFormatterTest extends TestCase +{ + /** + * @covers Monolog\Formatter\FluentdFormatter::__construct + * @covers Monolog\Formatter\FluentdFormatter::isUsingLevelsInTag + */ + public function testConstruct() + { + $formatter = new FluentdFormatter(); + $this->assertEquals(false, $formatter->isUsingLevelsInTag()); + $formatter = new FluentdFormatter(false); + $this->assertEquals(false, $formatter->isUsingLevelsInTag()); + $formatter = new FluentdFormatter(true); + $this->assertEquals(true, $formatter->isUsingLevelsInTag()); + } + + /** + * @covers Monolog\Formatter\FluentdFormatter::format + */ + public function testFormat() + { + $record = $this->getRecord(Logger::WARNING); + $record['datetime'] = new \DateTime("@0"); + + $formatter = new FluentdFormatter(); + $this->assertEquals( + '["test",0,{"message":"test","extra":[],"level":300,"level_name":"WARNING"}]', + $formatter->format($record) + ); + } + + /** + * @covers Monolog\Formatter\FluentdFormatter::format + */ + public function testFormatWithTag() + { + $record = $this->getRecord(Logger::ERROR); + $record['datetime'] = new \DateTime("@0"); + + $formatter = new FluentdFormatter(true); + $this->assertEquals( + '["test.error",0,{"message":"test","extra":[]}]', + $formatter->format($record) + ); + } +} diff --git a/vendor/monolog/monolog/tests/Monolog/Formatter/GelfMessageFormatterTest.php b/vendor/monolog/monolog/tests/Monolog/Formatter/GelfMessageFormatterTest.php new file mode 100644 index 00000000..e6bd3098 --- /dev/null +++ b/vendor/monolog/monolog/tests/Monolog/Formatter/GelfMessageFormatterTest.php @@ -0,0 +1,234 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Monolog\Formatter; + +use Monolog\Logger; + +class GelfMessageFormatterTest extends \PHPUnit_Framework_TestCase +{ + public function setUp() + { + if (!class_exists('\Gelf\Message')) { + $this->markTestSkipped("graylog2/gelf-php or mlehner/gelf-php is not installed"); + } + } + + /** + * @covers Monolog\Formatter\GelfMessageFormatter::format + */ + public function testDefaultFormatter() + { + $formatter = new GelfMessageFormatter(); + $record = array( + 'level' => Logger::ERROR, + 'level_name' => 'ERROR', + 'channel' => 'meh', + 'context' => array(), + 'datetime' => new \DateTime("@0"), + 'extra' => array(), + 'message' => 'log', + ); + + $message = $formatter->format($record); + + $this->assertInstanceOf('Gelf\Message', $message); + $this->assertEquals(0, $message->getTimestamp()); + $this->assertEquals('log', $message->getShortMessage()); + $this->assertEquals('meh', $message->getFacility()); + $this->assertEquals(null, $message->getLine()); + $this->assertEquals(null, $message->getFile()); + $this->assertEquals($this->isLegacy() ? 3 : 'error', $message->getLevel()); + $this->assertNotEmpty($message->getHost()); + + $formatter = new GelfMessageFormatter('mysystem'); + + $message = $formatter->format($record); + + $this->assertInstanceOf('Gelf\Message', $message); + $this->assertEquals('mysystem', $message->getHost()); + } + + /** + * @covers Monolog\Formatter\GelfMessageFormatter::format + */ + public function testFormatWithFileAndLine() + { + $formatter = new GelfMessageFormatter(); + $record = array( + 'level' => Logger::ERROR, + 'level_name' => 'ERROR', + 'channel' => 'meh', + 'context' => array('from' => 'logger'), + 'datetime' => new \DateTime("@0"), + 'extra' => array('file' => 'test', 'line' => 14), + 'message' => 'log', + ); + + $message = $formatter->format($record); + + $this->assertInstanceOf('Gelf\Message', $message); + $this->assertEquals('test', $message->getFile()); + $this->assertEquals(14, $message->getLine()); + } + + /** + * @covers Monolog\Formatter\GelfMessageFormatter::format + * @expectedException InvalidArgumentException + */ + public function testFormatInvalidFails() + { + $formatter = new GelfMessageFormatter(); + $record = array( + 'level' => Logger::ERROR, + 'level_name' => 'ERROR', + ); + + $formatter->format($record); + } + + /** + * @covers Monolog\Formatter\GelfMessageFormatter::format + */ + public function testFormatWithContext() + { + $formatter = new GelfMessageFormatter(); + $record = array( + 'level' => Logger::ERROR, + 'level_name' => 'ERROR', + 'channel' => 'meh', + 'context' => array('from' => 'logger'), + 'datetime' => new \DateTime("@0"), + 'extra' => array('key' => 'pair'), + 'message' => 'log', + ); + + $message = $formatter->format($record); + + $this->assertInstanceOf('Gelf\Message', $message); + + $message_array = $message->toArray(); + + $this->assertArrayHasKey('_ctxt_from', $message_array); + $this->assertEquals('logger', $message_array['_ctxt_from']); + + // Test with extraPrefix + $formatter = new GelfMessageFormatter(null, null, 'CTX'); + $message = $formatter->format($record); + + $this->assertInstanceOf('Gelf\Message', $message); + + $message_array = $message->toArray(); + + $this->assertArrayHasKey('_CTXfrom', $message_array); + $this->assertEquals('logger', $message_array['_CTXfrom']); + } + + /** + * @covers Monolog\Formatter\GelfMessageFormatter::format + */ + public function testFormatWithContextContainingException() + { + $formatter = new GelfMessageFormatter(); + $record = array( + 'level' => Logger::ERROR, + 'level_name' => 'ERROR', + 'channel' => 'meh', + 'context' => array('from' => 'logger', 'exception' => array( + 'class' => '\Exception', + 'file' => '/some/file/in/dir.php:56', + 'trace' => array('/some/file/1.php:23', '/some/file/2.php:3'), + )), + 'datetime' => new \DateTime("@0"), + 'extra' => array(), + 'message' => 'log', + ); + + $message = $formatter->format($record); + + $this->assertInstanceOf('Gelf\Message', $message); + + $this->assertEquals("/some/file/in/dir.php", $message->getFile()); + $this->assertEquals("56", $message->getLine()); + } + + /** + * @covers Monolog\Formatter\GelfMessageFormatter::format + */ + public function testFormatWithExtra() + { + $formatter = new GelfMessageFormatter(); + $record = array( + 'level' => Logger::ERROR, + 'level_name' => 'ERROR', + 'channel' => 'meh', + 'context' => array('from' => 'logger'), + 'datetime' => new \DateTime("@0"), + 'extra' => array('key' => 'pair'), + 'message' => 'log', + ); + + $message = $formatter->format($record); + + $this->assertInstanceOf('Gelf\Message', $message); + + $message_array = $message->toArray(); + + $this->assertArrayHasKey('_key', $message_array); + $this->assertEquals('pair', $message_array['_key']); + + // Test with extraPrefix + $formatter = new GelfMessageFormatter(null, 'EXT'); + $message = $formatter->format($record); + + $this->assertInstanceOf('Gelf\Message', $message); + + $message_array = $message->toArray(); + + $this->assertArrayHasKey('_EXTkey', $message_array); + $this->assertEquals('pair', $message_array['_EXTkey']); + } + + public function testFormatWithLargeData() + { + $formatter = new GelfMessageFormatter(); + $record = array( + 'level' => Logger::ERROR, + 'level_name' => 'ERROR', + 'channel' => 'meh', + 'context' => array('exception' => str_repeat(' ', 32767)), + 'datetime' => new \DateTime("@0"), + 'extra' => array('key' => str_repeat(' ', 32767)), + 'message' => 'log' + ); + $message = $formatter->format($record); + $messageArray = $message->toArray(); + + // 200 for padding + metadata + $length = 200; + + foreach ($messageArray as $key => $value) { + if (!in_array($key, array('level', 'timestamp'))) { + $length += strlen($value); + } + } + + // in graylog2/gelf-php before 1.4.1 empty strings are filtered and won't be included in the message + // though it should be sufficient to ensure that the entire message length does not exceed the maximum + // length being allowed + $this->assertLessThanOrEqual(32766, $length, 'The message length is no longer than the maximum allowed length'); + } + + private function isLegacy() + { + return interface_exists('\Gelf\IMessagePublisher'); + } +} diff --git a/vendor/monolog/monolog/tests/Monolog/Formatter/JsonFormatterTest.php b/vendor/monolog/monolog/tests/Monolog/Formatter/JsonFormatterTest.php new file mode 100644 index 00000000..c9445f36 --- /dev/null +++ b/vendor/monolog/monolog/tests/Monolog/Formatter/JsonFormatterTest.php @@ -0,0 +1,183 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Monolog\Formatter; + +use Monolog\Logger; +use Monolog\TestCase; + +class JsonFormatterTest extends TestCase +{ + /** + * @covers Monolog\Formatter\JsonFormatter::__construct + * @covers Monolog\Formatter\JsonFormatter::getBatchMode + * @covers Monolog\Formatter\JsonFormatter::isAppendingNewlines + */ + public function testConstruct() + { + $formatter = new JsonFormatter(); + $this->assertEquals(JsonFormatter::BATCH_MODE_JSON, $formatter->getBatchMode()); + $this->assertEquals(true, $formatter->isAppendingNewlines()); + $formatter = new JsonFormatter(JsonFormatter::BATCH_MODE_NEWLINES, false); + $this->assertEquals(JsonFormatter::BATCH_MODE_NEWLINES, $formatter->getBatchMode()); + $this->assertEquals(false, $formatter->isAppendingNewlines()); + } + + /** + * @covers Monolog\Formatter\JsonFormatter::format + */ + public function testFormat() + { + $formatter = new JsonFormatter(); + $record = $this->getRecord(); + $this->assertEquals(json_encode($record)."\n", $formatter->format($record)); + + $formatter = new JsonFormatter(JsonFormatter::BATCH_MODE_JSON, false); + $record = $this->getRecord(); + $this->assertEquals(json_encode($record), $formatter->format($record)); + } + + /** + * @covers Monolog\Formatter\JsonFormatter::formatBatch + * @covers Monolog\Formatter\JsonFormatter::formatBatchJson + */ + public function testFormatBatch() + { + $formatter = new JsonFormatter(); + $records = array( + $this->getRecord(Logger::WARNING), + $this->getRecord(Logger::DEBUG), + ); + $this->assertEquals(json_encode($records), $formatter->formatBatch($records)); + } + + /** + * @covers Monolog\Formatter\JsonFormatter::formatBatch + * @covers Monolog\Formatter\JsonFormatter::formatBatchNewlines + */ + public function testFormatBatchNewlines() + { + $formatter = new JsonFormatter(JsonFormatter::BATCH_MODE_NEWLINES); + $records = $expected = array( + $this->getRecord(Logger::WARNING), + $this->getRecord(Logger::DEBUG), + ); + array_walk($expected, function (&$value, $key) { + $value = json_encode($value); + }); + $this->assertEquals(implode("\n", $expected), $formatter->formatBatch($records)); + } + + public function testDefFormatWithException() + { + $formatter = new JsonFormatter(); + $exception = new \RuntimeException('Foo'); + $formattedException = $this->formatException($exception); + + $message = $this->formatRecordWithExceptionInContext($formatter, $exception); + + $this->assertContextContainsFormattedException($formattedException, $message); + } + + public function testDefFormatWithPreviousException() + { + $formatter = new JsonFormatter(); + $exception = new \RuntimeException('Foo', 0, new \LogicException('Wut?')); + $formattedPrevException = $this->formatException($exception->getPrevious()); + $formattedException = $this->formatException($exception, $formattedPrevException); + + $message = $this->formatRecordWithExceptionInContext($formatter, $exception); + + $this->assertContextContainsFormattedException($formattedException, $message); + } + + public function testDefFormatWithThrowable() + { + if (!class_exists('Error') || !is_subclass_of('Error', 'Throwable')) { + $this->markTestSkipped('Requires PHP >=7'); + } + + $formatter = new JsonFormatter(); + $throwable = new \Error('Foo'); + $formattedThrowable = $this->formatException($throwable); + + $message = $this->formatRecordWithExceptionInContext($formatter, $throwable); + + $this->assertContextContainsFormattedException($formattedThrowable, $message); + } + + /** + * @param string $expected + * @param string $actual + * + * @internal param string $exception + */ + private function assertContextContainsFormattedException($expected, $actual) + { + $this->assertEquals( + '{"level_name":"CRITICAL","channel":"core","context":{"exception":'.$expected.'},"datetime":null,"extra":[],"message":"foobar"}'."\n", + $actual + ); + } + + /** + * @param JsonFormatter $formatter + * @param \Exception|\Throwable $exception + * + * @return string + */ + private function formatRecordWithExceptionInContext(JsonFormatter $formatter, $exception) + { + $message = $formatter->format(array( + 'level_name' => 'CRITICAL', + 'channel' => 'core', + 'context' => array('exception' => $exception), + 'datetime' => null, + 'extra' => array(), + 'message' => 'foobar', + )); + return $message; + } + + /** + * @param \Exception|\Throwable $exception + * + * @return string + */ + private function formatExceptionFilePathWithLine($exception) + { + $options = 0; + if (version_compare(PHP_VERSION, '5.4.0', '>=')) { + $options = JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE; + } + $path = substr(json_encode($exception->getFile(), $options), 1, -1); + return $path . ':' . $exception->getLine(); + } + + /** + * @param \Exception|\Throwable $exception + * + * @param null|string $previous + * + * @return string + */ + private function formatException($exception, $previous = null) + { + $formattedException = + '{"class":"' . get_class($exception) . + '","message":"' . $exception->getMessage() . + '","code":' . $exception->getCode() . + ',"file":"' . $this->formatExceptionFilePathWithLine($exception) . + ($previous ? '","previous":' . $previous : '"') . + '}'; + return $formattedException; + } +} diff --git a/vendor/monolog/monolog/tests/Monolog/Formatter/LineFormatterTest.php b/vendor/monolog/monolog/tests/Monolog/Formatter/LineFormatterTest.php new file mode 100644 index 00000000..310d93ca --- /dev/null +++ b/vendor/monolog/monolog/tests/Monolog/Formatter/LineFormatterTest.php @@ -0,0 +1,222 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Monolog\Formatter; + +/** + * @covers Monolog\Formatter\LineFormatter + */ +class LineFormatterTest extends \PHPUnit_Framework_TestCase +{ + public function testDefFormatWithString() + { + $formatter = new LineFormatter(null, 'Y-m-d'); + $message = $formatter->format(array( + 'level_name' => 'WARNING', + 'channel' => 'log', + 'context' => array(), + 'message' => 'foo', + 'datetime' => new \DateTime, + 'extra' => array(), + )); + $this->assertEquals('['.date('Y-m-d').'] log.WARNING: foo [] []'."\n", $message); + } + + public function testDefFormatWithArrayContext() + { + $formatter = new LineFormatter(null, 'Y-m-d'); + $message = $formatter->format(array( + 'level_name' => 'ERROR', + 'channel' => 'meh', + 'message' => 'foo', + 'datetime' => new \DateTime, + 'extra' => array(), + 'context' => array( + 'foo' => 'bar', + 'baz' => 'qux', + 'bool' => false, + 'null' => null, + ), + )); + $this->assertEquals('['.date('Y-m-d').'] meh.ERROR: foo {"foo":"bar","baz":"qux","bool":false,"null":null} []'."\n", $message); + } + + public function testDefFormatExtras() + { + $formatter = new LineFormatter(null, 'Y-m-d'); + $message = $formatter->format(array( + 'level_name' => 'ERROR', + 'channel' => 'meh', + 'context' => array(), + 'datetime' => new \DateTime, + 'extra' => array('ip' => '127.0.0.1'), + 'message' => 'log', + )); + $this->assertEquals('['.date('Y-m-d').'] meh.ERROR: log [] {"ip":"127.0.0.1"}'."\n", $message); + } + + public function testFormatExtras() + { + $formatter = new LineFormatter("[%datetime%] %channel%.%level_name%: %message% %context% %extra.file% %extra%\n", 'Y-m-d'); + $message = $formatter->format(array( + 'level_name' => 'ERROR', + 'channel' => 'meh', + 'context' => array(), + 'datetime' => new \DateTime, + 'extra' => array('ip' => '127.0.0.1', 'file' => 'test'), + 'message' => 'log', + )); + $this->assertEquals('['.date('Y-m-d').'] meh.ERROR: log [] test {"ip":"127.0.0.1"}'."\n", $message); + } + + public function testContextAndExtraOptionallyNotShownIfEmpty() + { + $formatter = new LineFormatter(null, 'Y-m-d', false, true); + $message = $formatter->format(array( + 'level_name' => 'ERROR', + 'channel' => 'meh', + 'context' => array(), + 'datetime' => new \DateTime, + 'extra' => array(), + 'message' => 'log', + )); + $this->assertEquals('['.date('Y-m-d').'] meh.ERROR: log '."\n", $message); + } + + public function testContextAndExtraReplacement() + { + $formatter = new LineFormatter('%context.foo% => %extra.foo%'); + $message = $formatter->format(array( + 'level_name' => 'ERROR', + 'channel' => 'meh', + 'context' => array('foo' => 'bar'), + 'datetime' => new \DateTime, + 'extra' => array('foo' => 'xbar'), + 'message' => 'log', + )); + $this->assertEquals('bar => xbar', $message); + } + + public function testDefFormatWithObject() + { + $formatter = new LineFormatter(null, 'Y-m-d'); + $message = $formatter->format(array( + 'level_name' => 'ERROR', + 'channel' => 'meh', + 'context' => array(), + 'datetime' => new \DateTime, + 'extra' => array('foo' => new TestFoo, 'bar' => new TestBar, 'baz' => array(), 'res' => fopen('php://memory', 'rb')), + 'message' => 'foobar', + )); + + $this->assertEquals('['.date('Y-m-d').'] meh.ERROR: foobar [] {"foo":"[object] (Monolog\\\\Formatter\\\\TestFoo: {\\"foo\\":\\"foo\\"})","bar":"[object] (Monolog\\\\Formatter\\\\TestBar: bar)","baz":[],"res":"[resource] (stream)"}'."\n", $message); + } + + public function testDefFormatWithException() + { + $formatter = new LineFormatter(null, 'Y-m-d'); + $message = $formatter->format(array( + 'level_name' => 'CRITICAL', + 'channel' => 'core', + 'context' => array('exception' => new \RuntimeException('Foo')), + 'datetime' => new \DateTime, + 'extra' => array(), + 'message' => 'foobar', + )); + + $path = str_replace('\\/', '/', json_encode(__FILE__)); + + $this->assertEquals('['.date('Y-m-d').'] core.CRITICAL: foobar {"exception":"[object] (RuntimeException(code: 0): Foo at '.substr($path, 1, -1).':'.(__LINE__ - 8).')"} []'."\n", $message); + } + + public function testDefFormatWithPreviousException() + { + $formatter = new LineFormatter(null, 'Y-m-d'); + $previous = new \LogicException('Wut?'); + $message = $formatter->format(array( + 'level_name' => 'CRITICAL', + 'channel' => 'core', + 'context' => array('exception' => new \RuntimeException('Foo', 0, $previous)), + 'datetime' => new \DateTime, + 'extra' => array(), + 'message' => 'foobar', + )); + + $path = str_replace('\\/', '/', json_encode(__FILE__)); + + $this->assertEquals('['.date('Y-m-d').'] core.CRITICAL: foobar {"exception":"[object] (RuntimeException(code: 0): Foo at '.substr($path, 1, -1).':'.(__LINE__ - 8).', LogicException(code: 0): Wut? at '.substr($path, 1, -1).':'.(__LINE__ - 12).')"} []'."\n", $message); + } + + public function testBatchFormat() + { + $formatter = new LineFormatter(null, 'Y-m-d'); + $message = $formatter->formatBatch(array( + array( + 'level_name' => 'CRITICAL', + 'channel' => 'test', + 'message' => 'bar', + 'context' => array(), + 'datetime' => new \DateTime, + 'extra' => array(), + ), + array( + 'level_name' => 'WARNING', + 'channel' => 'log', + 'message' => 'foo', + 'context' => array(), + 'datetime' => new \DateTime, + 'extra' => array(), + ), + )); + $this->assertEquals('['.date('Y-m-d').'] test.CRITICAL: bar [] []'."\n".'['.date('Y-m-d').'] log.WARNING: foo [] []'."\n", $message); + } + + public function testFormatShouldStripInlineLineBreaks() + { + $formatter = new LineFormatter(null, 'Y-m-d'); + $message = $formatter->format( + array( + 'message' => "foo\nbar", + 'context' => array(), + 'extra' => array(), + ) + ); + + $this->assertRegExp('/foo bar/', $message); + } + + public function testFormatShouldNotStripInlineLineBreaksWhenFlagIsSet() + { + $formatter = new LineFormatter(null, 'Y-m-d', true); + $message = $formatter->format( + array( + 'message' => "foo\nbar", + 'context' => array(), + 'extra' => array(), + ) + ); + + $this->assertRegExp('/foo\nbar/', $message); + } +} + +class TestFoo +{ + public $foo = 'foo'; +} + +class TestBar +{ + public function __toString() + { + return 'bar'; + } +} diff --git a/vendor/monolog/monolog/tests/Monolog/Formatter/LogglyFormatterTest.php b/vendor/monolog/monolog/tests/Monolog/Formatter/LogglyFormatterTest.php new file mode 100644 index 00000000..6d59b3f3 --- /dev/null +++ b/vendor/monolog/monolog/tests/Monolog/Formatter/LogglyFormatterTest.php @@ -0,0 +1,40 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Monolog\Formatter; + +use Monolog\TestCase; + +class LogglyFormatterTest extends TestCase +{ + /** + * @covers Monolog\Formatter\LogglyFormatter::__construct + */ + public function testConstruct() + { + $formatter = new LogglyFormatter(); + $this->assertEquals(LogglyFormatter::BATCH_MODE_NEWLINES, $formatter->getBatchMode()); + $formatter = new LogglyFormatter(LogglyFormatter::BATCH_MODE_JSON); + $this->assertEquals(LogglyFormatter::BATCH_MODE_JSON, $formatter->getBatchMode()); + } + + /** + * @covers Monolog\Formatter\LogglyFormatter::format + */ + public function testFormat() + { + $formatter = new LogglyFormatter(); + $record = $this->getRecord(); + $formatted_decoded = json_decode($formatter->format($record), true); + $this->assertArrayHasKey("timestamp", $formatted_decoded); + $this->assertEquals(new \DateTime($formatted_decoded["timestamp"]), $record["datetime"]); + } +} diff --git a/vendor/monolog/monolog/tests/Monolog/Formatter/LogstashFormatterTest.php b/vendor/monolog/monolog/tests/Monolog/Formatter/LogstashFormatterTest.php new file mode 100644 index 00000000..9f6b1cc4 --- /dev/null +++ b/vendor/monolog/monolog/tests/Monolog/Formatter/LogstashFormatterTest.php @@ -0,0 +1,333 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Monolog\Formatter; + +use Monolog\Logger; + +class LogstashFormatterTest extends \PHPUnit_Framework_TestCase +{ + public function tearDown() + { + \PHPUnit_Framework_Error_Warning::$enabled = true; + + return parent::tearDown(); + } + + /** + * @covers Monolog\Formatter\LogstashFormatter::format + */ + public function testDefaultFormatter() + { + $formatter = new LogstashFormatter('test', 'hostname'); + $record = array( + 'level' => Logger::ERROR, + 'level_name' => 'ERROR', + 'channel' => 'meh', + 'context' => array(), + 'datetime' => new \DateTime("@0"), + 'extra' => array(), + 'message' => 'log', + ); + + $message = json_decode($formatter->format($record), true); + + $this->assertEquals("1970-01-01T00:00:00.000000+00:00", $message['@timestamp']); + $this->assertEquals('log', $message['@message']); + $this->assertEquals('meh', $message['@fields']['channel']); + $this->assertContains('meh', $message['@tags']); + $this->assertEquals(Logger::ERROR, $message['@fields']['level']); + $this->assertEquals('test', $message['@type']); + $this->assertEquals('hostname', $message['@source']); + + $formatter = new LogstashFormatter('mysystem'); + + $message = json_decode($formatter->format($record), true); + + $this->assertEquals('mysystem', $message['@type']); + } + + /** + * @covers Monolog\Formatter\LogstashFormatter::format + */ + public function testFormatWithFileAndLine() + { + $formatter = new LogstashFormatter('test'); + $record = array( + 'level' => Logger::ERROR, + 'level_name' => 'ERROR', + 'channel' => 'meh', + 'context' => array('from' => 'logger'), + 'datetime' => new \DateTime("@0"), + 'extra' => array('file' => 'test', 'line' => 14), + 'message' => 'log', + ); + + $message = json_decode($formatter->format($record), true); + + $this->assertEquals('test', $message['@fields']['file']); + $this->assertEquals(14, $message['@fields']['line']); + } + + /** + * @covers Monolog\Formatter\LogstashFormatter::format + */ + public function testFormatWithContext() + { + $formatter = new LogstashFormatter('test'); + $record = array( + 'level' => Logger::ERROR, + 'level_name' => 'ERROR', + 'channel' => 'meh', + 'context' => array('from' => 'logger'), + 'datetime' => new \DateTime("@0"), + 'extra' => array('key' => 'pair'), + 'message' => 'log', + ); + + $message = json_decode($formatter->format($record), true); + + $message_array = $message['@fields']; + + $this->assertArrayHasKey('ctxt_from', $message_array); + $this->assertEquals('logger', $message_array['ctxt_from']); + + // Test with extraPrefix + $formatter = new LogstashFormatter('test', null, null, 'CTX'); + $message = json_decode($formatter->format($record), true); + + $message_array = $message['@fields']; + + $this->assertArrayHasKey('CTXfrom', $message_array); + $this->assertEquals('logger', $message_array['CTXfrom']); + } + + /** + * @covers Monolog\Formatter\LogstashFormatter::format + */ + public function testFormatWithExtra() + { + $formatter = new LogstashFormatter('test'); + $record = array( + 'level' => Logger::ERROR, + 'level_name' => 'ERROR', + 'channel' => 'meh', + 'context' => array('from' => 'logger'), + 'datetime' => new \DateTime("@0"), + 'extra' => array('key' => 'pair'), + 'message' => 'log', + ); + + $message = json_decode($formatter->format($record), true); + + $message_array = $message['@fields']; + + $this->assertArrayHasKey('key', $message_array); + $this->assertEquals('pair', $message_array['key']); + + // Test with extraPrefix + $formatter = new LogstashFormatter('test', null, 'EXT'); + $message = json_decode($formatter->format($record), true); + + $message_array = $message['@fields']; + + $this->assertArrayHasKey('EXTkey', $message_array); + $this->assertEquals('pair', $message_array['EXTkey']); + } + + public function testFormatWithApplicationName() + { + $formatter = new LogstashFormatter('app', 'test'); + $record = array( + 'level' => Logger::ERROR, + 'level_name' => 'ERROR', + 'channel' => 'meh', + 'context' => array('from' => 'logger'), + 'datetime' => new \DateTime("@0"), + 'extra' => array('key' => 'pair'), + 'message' => 'log', + ); + + $message = json_decode($formatter->format($record), true); + + $this->assertArrayHasKey('@type', $message); + $this->assertEquals('app', $message['@type']); + } + + /** + * @covers Monolog\Formatter\LogstashFormatter::format + */ + public function testDefaultFormatterV1() + { + $formatter = new LogstashFormatter('test', 'hostname', null, 'ctxt_', LogstashFormatter::V1); + $record = array( + 'level' => Logger::ERROR, + 'level_name' => 'ERROR', + 'channel' => 'meh', + 'context' => array(), + 'datetime' => new \DateTime("@0"), + 'extra' => array(), + 'message' => 'log', + ); + + $message = json_decode($formatter->format($record), true); + + $this->assertEquals("1970-01-01T00:00:00.000000+00:00", $message['@timestamp']); + $this->assertEquals("1", $message['@version']); + $this->assertEquals('log', $message['message']); + $this->assertEquals('meh', $message['channel']); + $this->assertEquals('ERROR', $message['level']); + $this->assertEquals('test', $message['type']); + $this->assertEquals('hostname', $message['host']); + + $formatter = new LogstashFormatter('mysystem', null, null, 'ctxt_', LogstashFormatter::V1); + + $message = json_decode($formatter->format($record), true); + + $this->assertEquals('mysystem', $message['type']); + } + + /** + * @covers Monolog\Formatter\LogstashFormatter::format + */ + public function testFormatWithFileAndLineV1() + { + $formatter = new LogstashFormatter('test', null, null, 'ctxt_', LogstashFormatter::V1); + $record = array( + 'level' => Logger::ERROR, + 'level_name' => 'ERROR', + 'channel' => 'meh', + 'context' => array('from' => 'logger'), + 'datetime' => new \DateTime("@0"), + 'extra' => array('file' => 'test', 'line' => 14), + 'message' => 'log', + ); + + $message = json_decode($formatter->format($record), true); + + $this->assertEquals('test', $message['file']); + $this->assertEquals(14, $message['line']); + } + + /** + * @covers Monolog\Formatter\LogstashFormatter::format + */ + public function testFormatWithContextV1() + { + $formatter = new LogstashFormatter('test', null, null, 'ctxt_', LogstashFormatter::V1); + $record = array( + 'level' => Logger::ERROR, + 'level_name' => 'ERROR', + 'channel' => 'meh', + 'context' => array('from' => 'logger'), + 'datetime' => new \DateTime("@0"), + 'extra' => array('key' => 'pair'), + 'message' => 'log', + ); + + $message = json_decode($formatter->format($record), true); + + $this->assertArrayHasKey('ctxt_from', $message); + $this->assertEquals('logger', $message['ctxt_from']); + + // Test with extraPrefix + $formatter = new LogstashFormatter('test', null, null, 'CTX', LogstashFormatter::V1); + $message = json_decode($formatter->format($record), true); + + $this->assertArrayHasKey('CTXfrom', $message); + $this->assertEquals('logger', $message['CTXfrom']); + } + + /** + * @covers Monolog\Formatter\LogstashFormatter::format + */ + public function testFormatWithExtraV1() + { + $formatter = new LogstashFormatter('test', null, null, 'ctxt_', LogstashFormatter::V1); + $record = array( + 'level' => Logger::ERROR, + 'level_name' => 'ERROR', + 'channel' => 'meh', + 'context' => array('from' => 'logger'), + 'datetime' => new \DateTime("@0"), + 'extra' => array('key' => 'pair'), + 'message' => 'log', + ); + + $message = json_decode($formatter->format($record), true); + + $this->assertArrayHasKey('key', $message); + $this->assertEquals('pair', $message['key']); + + // Test with extraPrefix + $formatter = new LogstashFormatter('test', null, 'EXT', 'ctxt_', LogstashFormatter::V1); + $message = json_decode($formatter->format($record), true); + + $this->assertArrayHasKey('EXTkey', $message); + $this->assertEquals('pair', $message['EXTkey']); + } + + public function testFormatWithApplicationNameV1() + { + $formatter = new LogstashFormatter('app', 'test', null, 'ctxt_', LogstashFormatter::V1); + $record = array( + 'level' => Logger::ERROR, + 'level_name' => 'ERROR', + 'channel' => 'meh', + 'context' => array('from' => 'logger'), + 'datetime' => new \DateTime("@0"), + 'extra' => array('key' => 'pair'), + 'message' => 'log', + ); + + $message = json_decode($formatter->format($record), true); + + $this->assertArrayHasKey('type', $message); + $this->assertEquals('app', $message['type']); + } + + public function testFormatWithLatin9Data() + { + if (version_compare(PHP_VERSION, '5.5.0', '<')) { + // Ignore the warning that will be emitted by PHP <5.5.0 + \PHPUnit_Framework_Error_Warning::$enabled = false; + } + $formatter = new LogstashFormatter('test', 'hostname'); + $record = array( + 'level' => Logger::ERROR, + 'level_name' => 'ERROR', + 'channel' => '¯\_(ツ)_/¯', + 'context' => array(), + 'datetime' => new \DateTime("@0"), + 'extra' => array( + 'user_agent' => "\xD6WN; FBCR/OrangeEspa\xF1a; Vers\xE3o/4.0; F\xE4rist", + ), + 'message' => 'log', + ); + + $message = json_decode($formatter->format($record), true); + + $this->assertEquals("1970-01-01T00:00:00.000000+00:00", $message['@timestamp']); + $this->assertEquals('log', $message['@message']); + $this->assertEquals('¯\_(ツ)_/¯', $message['@fields']['channel']); + $this->assertContains('¯\_(ツ)_/¯', $message['@tags']); + $this->assertEquals(Logger::ERROR, $message['@fields']['level']); + $this->assertEquals('test', $message['@type']); + $this->assertEquals('hostname', $message['@source']); + if (version_compare(PHP_VERSION, '5.5.0', '>=')) { + $this->assertEquals('ÖWN; FBCR/OrangeEspaña; Versão/4.0; Färist', $message['@fields']['user_agent']); + } else { + // PHP <5.5 does not return false for an element encoding failure, + // instead it emits a warning (possibly) and nulls the value. + $this->assertEquals(null, $message['@fields']['user_agent']); + } + } +} diff --git a/vendor/monolog/monolog/tests/Monolog/Formatter/MongoDBFormatterTest.php b/vendor/monolog/monolog/tests/Monolog/Formatter/MongoDBFormatterTest.php new file mode 100644 index 00000000..52e699e0 --- /dev/null +++ b/vendor/monolog/monolog/tests/Monolog/Formatter/MongoDBFormatterTest.php @@ -0,0 +1,262 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Monolog\Formatter; + +use Monolog\Logger; + +/** + * @author Florian Plattner + */ +class MongoDBFormatterTest extends \PHPUnit_Framework_TestCase +{ + public function setUp() + { + if (!class_exists('MongoDate')) { + $this->markTestSkipped('mongo extension not installed'); + } + } + + public function constructArgumentProvider() + { + return array( + array(1, true, 1, true), + array(0, false, 0, false), + ); + } + + /** + * @param $traceDepth + * @param $traceAsString + * @param $expectedTraceDepth + * @param $expectedTraceAsString + * + * @dataProvider constructArgumentProvider + */ + public function testConstruct($traceDepth, $traceAsString, $expectedTraceDepth, $expectedTraceAsString) + { + $formatter = new MongoDBFormatter($traceDepth, $traceAsString); + + $reflTrace = new \ReflectionProperty($formatter, 'exceptionTraceAsString'); + $reflTrace->setAccessible(true); + $this->assertEquals($expectedTraceAsString, $reflTrace->getValue($formatter)); + + $reflDepth = new\ReflectionProperty($formatter, 'maxNestingLevel'); + $reflDepth->setAccessible(true); + $this->assertEquals($expectedTraceDepth, $reflDepth->getValue($formatter)); + } + + public function testSimpleFormat() + { + $record = array( + 'message' => 'some log message', + 'context' => array(), + 'level' => Logger::WARNING, + 'level_name' => Logger::getLevelName(Logger::WARNING), + 'channel' => 'test', + 'datetime' => new \DateTime('2014-02-01 00:00:00'), + 'extra' => array(), + ); + + $formatter = new MongoDBFormatter(); + $formattedRecord = $formatter->format($record); + + $this->assertCount(7, $formattedRecord); + $this->assertEquals('some log message', $formattedRecord['message']); + $this->assertEquals(array(), $formattedRecord['context']); + $this->assertEquals(Logger::WARNING, $formattedRecord['level']); + $this->assertEquals(Logger::getLevelName(Logger::WARNING), $formattedRecord['level_name']); + $this->assertEquals('test', $formattedRecord['channel']); + $this->assertInstanceOf('\MongoDate', $formattedRecord['datetime']); + $this->assertEquals('0.00000000 1391212800', $formattedRecord['datetime']->__toString()); + $this->assertEquals(array(), $formattedRecord['extra']); + } + + public function testRecursiveFormat() + { + $someObject = new \stdClass(); + $someObject->foo = 'something'; + $someObject->bar = 'stuff'; + + $record = array( + 'message' => 'some log message', + 'context' => array( + 'stuff' => new \DateTime('2014-02-01 02:31:33'), + 'some_object' => $someObject, + 'context_string' => 'some string', + 'context_int' => 123456, + 'except' => new \Exception('exception message', 987), + ), + 'level' => Logger::WARNING, + 'level_name' => Logger::getLevelName(Logger::WARNING), + 'channel' => 'test', + 'datetime' => new \DateTime('2014-02-01 00:00:00'), + 'extra' => array(), + ); + + $formatter = new MongoDBFormatter(); + $formattedRecord = $formatter->format($record); + + $this->assertCount(5, $formattedRecord['context']); + $this->assertInstanceOf('\MongoDate', $formattedRecord['context']['stuff']); + $this->assertEquals('0.00000000 1391221893', $formattedRecord['context']['stuff']->__toString()); + $this->assertEquals( + array( + 'foo' => 'something', + 'bar' => 'stuff', + 'class' => 'stdClass', + ), + $formattedRecord['context']['some_object'] + ); + $this->assertEquals('some string', $formattedRecord['context']['context_string']); + $this->assertEquals(123456, $formattedRecord['context']['context_int']); + + $this->assertCount(5, $formattedRecord['context']['except']); + $this->assertEquals('exception message', $formattedRecord['context']['except']['message']); + $this->assertEquals(987, $formattedRecord['context']['except']['code']); + $this->assertInternalType('string', $formattedRecord['context']['except']['file']); + $this->assertInternalType('integer', $formattedRecord['context']['except']['code']); + $this->assertInternalType('string', $formattedRecord['context']['except']['trace']); + $this->assertEquals('Exception', $formattedRecord['context']['except']['class']); + } + + public function testFormatDepthArray() + { + $record = array( + 'message' => 'some log message', + 'context' => array( + 'nest2' => array( + 'property' => 'anything', + 'nest3' => array( + 'nest4' => 'value', + 'property' => 'nothing', + ), + ), + ), + 'level' => Logger::WARNING, + 'level_name' => Logger::getLevelName(Logger::WARNING), + 'channel' => 'test', + 'datetime' => new \DateTime('2014-02-01 00:00:00'), + 'extra' => array(), + ); + + $formatter = new MongoDBFormatter(2); + $formattedResult = $formatter->format($record); + + $this->assertEquals( + array( + 'nest2' => array( + 'property' => 'anything', + 'nest3' => '[...]', + ), + ), + $formattedResult['context'] + ); + } + + public function testFormatDepthArrayInfiniteNesting() + { + $record = array( + 'message' => 'some log message', + 'context' => array( + 'nest2' => array( + 'property' => 'something', + 'nest3' => array( + 'property' => 'anything', + 'nest4' => array( + 'property' => 'nothing', + ), + ), + ), + ), + 'level' => Logger::WARNING, + 'level_name' => Logger::getLevelName(Logger::WARNING), + 'channel' => 'test', + 'datetime' => new \DateTime('2014-02-01 00:00:00'), + 'extra' => array(), + ); + + $formatter = new MongoDBFormatter(0); + $formattedResult = $formatter->format($record); + + $this->assertEquals( + array( + 'nest2' => array( + 'property' => 'something', + 'nest3' => array( + 'property' => 'anything', + 'nest4' => array( + 'property' => 'nothing', + ), + ), + ), + ), + $formattedResult['context'] + ); + } + + public function testFormatDepthObjects() + { + $someObject = new \stdClass(); + $someObject->property = 'anything'; + $someObject->nest3 = new \stdClass(); + $someObject->nest3->property = 'nothing'; + $someObject->nest3->nest4 = 'invisible'; + + $record = array( + 'message' => 'some log message', + 'context' => array( + 'nest2' => $someObject, + ), + 'level' => Logger::WARNING, + 'level_name' => Logger::getLevelName(Logger::WARNING), + 'channel' => 'test', + 'datetime' => new \DateTime('2014-02-01 00:00:00'), + 'extra' => array(), + ); + + $formatter = new MongoDBFormatter(2, true); + $formattedResult = $formatter->format($record); + + $this->assertEquals( + array( + 'nest2' => array( + 'property' => 'anything', + 'nest3' => '[...]', + 'class' => 'stdClass', + ), + ), + $formattedResult['context'] + ); + } + + public function testFormatDepthException() + { + $record = array( + 'message' => 'some log message', + 'context' => array( + 'nest2' => new \Exception('exception message', 987), + ), + 'level' => Logger::WARNING, + 'level_name' => Logger::getLevelName(Logger::WARNING), + 'channel' => 'test', + 'datetime' => new \DateTime('2014-02-01 00:00:00'), + 'extra' => array(), + ); + + $formatter = new MongoDBFormatter(2, false); + $formattedRecord = $formatter->format($record); + + $this->assertEquals('exception message', $formattedRecord['context']['nest2']['message']); + $this->assertEquals(987, $formattedRecord['context']['nest2']['code']); + $this->assertEquals('[...]', $formattedRecord['context']['nest2']['trace']); + } +} diff --git a/vendor/monolog/monolog/tests/Monolog/Formatter/NormalizerFormatterTest.php b/vendor/monolog/monolog/tests/Monolog/Formatter/NormalizerFormatterTest.php new file mode 100644 index 00000000..57bcdf98 --- /dev/null +++ b/vendor/monolog/monolog/tests/Monolog/Formatter/NormalizerFormatterTest.php @@ -0,0 +1,423 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Monolog\Formatter; + +/** + * @covers Monolog\Formatter\NormalizerFormatter + */ +class NormalizerFormatterTest extends \PHPUnit_Framework_TestCase +{ + public function tearDown() + { + \PHPUnit_Framework_Error_Warning::$enabled = true; + + return parent::tearDown(); + } + + public function testFormat() + { + $formatter = new NormalizerFormatter('Y-m-d'); + $formatted = $formatter->format(array( + 'level_name' => 'ERROR', + 'channel' => 'meh', + 'message' => 'foo', + 'datetime' => new \DateTime, + 'extra' => array('foo' => new TestFooNorm, 'bar' => new TestBarNorm, 'baz' => array(), 'res' => fopen('php://memory', 'rb')), + 'context' => array( + 'foo' => 'bar', + 'baz' => 'qux', + 'inf' => INF, + '-inf' => -INF, + 'nan' => acos(4), + ), + )); + + $this->assertEquals(array( + 'level_name' => 'ERROR', + 'channel' => 'meh', + 'message' => 'foo', + 'datetime' => date('Y-m-d'), + 'extra' => array( + 'foo' => '[object] (Monolog\\Formatter\\TestFooNorm: {"foo":"foo"})', + 'bar' => '[object] (Monolog\\Formatter\\TestBarNorm: bar)', + 'baz' => array(), + 'res' => '[resource] (stream)', + ), + 'context' => array( + 'foo' => 'bar', + 'baz' => 'qux', + 'inf' => 'INF', + '-inf' => '-INF', + 'nan' => 'NaN', + ), + ), $formatted); + } + + public function testFormatExceptions() + { + $formatter = new NormalizerFormatter('Y-m-d'); + $e = new \LogicException('bar'); + $e2 = new \RuntimeException('foo', 0, $e); + $formatted = $formatter->format(array( + 'exception' => $e2, + )); + + $this->assertGreaterThan(5, count($formatted['exception']['trace'])); + $this->assertTrue(isset($formatted['exception']['previous'])); + unset($formatted['exception']['trace'], $formatted['exception']['previous']); + + $this->assertEquals(array( + 'exception' => array( + 'class' => get_class($e2), + 'message' => $e2->getMessage(), + 'code' => $e2->getCode(), + 'file' => $e2->getFile().':'.$e2->getLine(), + ), + ), $formatted); + } + + public function testFormatSoapFaultException() + { + if (!class_exists('SoapFault')) { + $this->markTestSkipped('Requires the soap extension'); + } + + $formatter = new NormalizerFormatter('Y-m-d'); + $e = new \SoapFault('foo', 'bar', 'hello', 'world'); + $formatted = $formatter->format(array( + 'exception' => $e, + )); + + unset($formatted['exception']['trace']); + + $this->assertEquals(array( + 'exception' => array( + 'class' => 'SoapFault', + 'message' => 'bar', + 'code' => 0, + 'file' => $e->getFile().':'.$e->getLine(), + 'faultcode' => 'foo', + 'faultactor' => 'hello', + 'detail' => 'world', + ), + ), $formatted); + } + + public function testFormatToStringExceptionHandle() + { + $formatter = new NormalizerFormatter('Y-m-d'); + $this->setExpectedException('RuntimeException', 'Could not convert to string'); + $formatter->format(array( + 'myObject' => new TestToStringError(), + )); + } + + public function testBatchFormat() + { + $formatter = new NormalizerFormatter('Y-m-d'); + $formatted = $formatter->formatBatch(array( + array( + 'level_name' => 'CRITICAL', + 'channel' => 'test', + 'message' => 'bar', + 'context' => array(), + 'datetime' => new \DateTime, + 'extra' => array(), + ), + array( + 'level_name' => 'WARNING', + 'channel' => 'log', + 'message' => 'foo', + 'context' => array(), + 'datetime' => new \DateTime, + 'extra' => array(), + ), + )); + $this->assertEquals(array( + array( + 'level_name' => 'CRITICAL', + 'channel' => 'test', + 'message' => 'bar', + 'context' => array(), + 'datetime' => date('Y-m-d'), + 'extra' => array(), + ), + array( + 'level_name' => 'WARNING', + 'channel' => 'log', + 'message' => 'foo', + 'context' => array(), + 'datetime' => date('Y-m-d'), + 'extra' => array(), + ), + ), $formatted); + } + + /** + * Test issue #137 + */ + public function testIgnoresRecursiveObjectReferences() + { + // set up the recursion + $foo = new \stdClass(); + $bar = new \stdClass(); + + $foo->bar = $bar; + $bar->foo = $foo; + + // set an error handler to assert that the error is not raised anymore + $that = $this; + set_error_handler(function ($level, $message, $file, $line, $context) use ($that) { + if (error_reporting() & $level) { + restore_error_handler(); + $that->fail("$message should not be raised"); + } + }); + + $formatter = new NormalizerFormatter(); + $reflMethod = new \ReflectionMethod($formatter, 'toJson'); + $reflMethod->setAccessible(true); + $res = $reflMethod->invoke($formatter, array($foo, $bar), true); + + restore_error_handler(); + + $this->assertEquals(@json_encode(array($foo, $bar)), $res); + } + + public function testIgnoresInvalidTypes() + { + // set up the recursion + $resource = fopen(__FILE__, 'r'); + + // set an error handler to assert that the error is not raised anymore + $that = $this; + set_error_handler(function ($level, $message, $file, $line, $context) use ($that) { + if (error_reporting() & $level) { + restore_error_handler(); + $that->fail("$message should not be raised"); + } + }); + + $formatter = new NormalizerFormatter(); + $reflMethod = new \ReflectionMethod($formatter, 'toJson'); + $reflMethod->setAccessible(true); + $res = $reflMethod->invoke($formatter, array($resource), true); + + restore_error_handler(); + + $this->assertEquals(@json_encode(array($resource)), $res); + } + + public function testNormalizeHandleLargeArrays() + { + $formatter = new NormalizerFormatter(); + $largeArray = range(1, 2000); + + $res = $formatter->format(array( + 'level_name' => 'CRITICAL', + 'channel' => 'test', + 'message' => 'bar', + 'context' => array($largeArray), + 'datetime' => new \DateTime, + 'extra' => array(), + )); + + $this->assertCount(1000, $res['context'][0]); + $this->assertEquals('Over 1000 items (2000 total), aborting normalization', $res['context'][0]['...']); + } + + /** + * @expectedException RuntimeException + */ + public function testThrowsOnInvalidEncoding() + { + if (version_compare(PHP_VERSION, '5.5.0', '<')) { + // Ignore the warning that will be emitted by PHP <5.5.0 + \PHPUnit_Framework_Error_Warning::$enabled = false; + } + $formatter = new NormalizerFormatter(); + $reflMethod = new \ReflectionMethod($formatter, 'toJson'); + $reflMethod->setAccessible(true); + + // send an invalid unicode sequence as a object that can't be cleaned + $record = new \stdClass; + $record->message = "\xB1\x31"; + $res = $reflMethod->invoke($formatter, $record); + if (PHP_VERSION_ID < 50500 && $res === '{"message":null}') { + throw new \RuntimeException('PHP 5.3/5.4 throw a warning and null the value instead of returning false entirely'); + } + } + + public function testConvertsInvalidEncodingAsLatin9() + { + if (version_compare(PHP_VERSION, '5.5.0', '<')) { + // Ignore the warning that will be emitted by PHP <5.5.0 + \PHPUnit_Framework_Error_Warning::$enabled = false; + } + $formatter = new NormalizerFormatter(); + $reflMethod = new \ReflectionMethod($formatter, 'toJson'); + $reflMethod->setAccessible(true); + + $res = $reflMethod->invoke($formatter, array('message' => "\xA4\xA6\xA8\xB4\xB8\xBC\xBD\xBE")); + + if (version_compare(PHP_VERSION, '5.5.0', '>=')) { + $this->assertSame('{"message":"€ŠšŽžŒœŸ"}', $res); + } else { + // PHP <5.5 does not return false for an element encoding failure, + // instead it emits a warning (possibly) and nulls the value. + $this->assertSame('{"message":null}', $res); + } + } + + /** + * @param mixed $in Input + * @param mixed $expect Expected output + * @covers Monolog\Formatter\NormalizerFormatter::detectAndCleanUtf8 + * @dataProvider providesDetectAndCleanUtf8 + */ + public function testDetectAndCleanUtf8($in, $expect) + { + $formatter = new NormalizerFormatter(); + $formatter->detectAndCleanUtf8($in); + $this->assertSame($expect, $in); + } + + public function providesDetectAndCleanUtf8() + { + $obj = new \stdClass; + + return array( + 'null' => array(null, null), + 'int' => array(123, 123), + 'float' => array(123.45, 123.45), + 'bool false' => array(false, false), + 'bool true' => array(true, true), + 'ascii string' => array('abcdef', 'abcdef'), + 'latin9 string' => array("\xB1\x31\xA4\xA6\xA8\xB4\xB8\xBC\xBD\xBE\xFF", '±1€ŠšŽžŒœŸÿ'), + 'unicode string' => array('¤¦¨´¸¼½¾€ŠšŽžŒœŸ', '¤¦¨´¸¼½¾€ŠšŽžŒœŸ'), + 'empty array' => array(array(), array()), + 'array' => array(array('abcdef'), array('abcdef')), + 'object' => array($obj, $obj), + ); + } + + /** + * @param int $code + * @param string $msg + * @dataProvider providesHandleJsonErrorFailure + */ + public function testHandleJsonErrorFailure($code, $msg) + { + $formatter = new NormalizerFormatter(); + $reflMethod = new \ReflectionMethod($formatter, 'handleJsonError'); + $reflMethod->setAccessible(true); + + $this->setExpectedException('RuntimeException', $msg); + $reflMethod->invoke($formatter, $code, 'faked'); + } + + public function providesHandleJsonErrorFailure() + { + return array( + 'depth' => array(JSON_ERROR_DEPTH, 'Maximum stack depth exceeded'), + 'state' => array(JSON_ERROR_STATE_MISMATCH, 'Underflow or the modes mismatch'), + 'ctrl' => array(JSON_ERROR_CTRL_CHAR, 'Unexpected control character found'), + 'default' => array(-1, 'Unknown error'), + ); + } + + public function testExceptionTraceWithArgs() + { + if (defined('HHVM_VERSION')) { + $this->markTestSkipped('Not supported in HHVM since it detects errors differently'); + } + + // This happens i.e. in React promises or Guzzle streams where stream wrappers are registered + // and no file or line are included in the trace because it's treated as internal function + set_error_handler(function ($errno, $errstr, $errfile, $errline) { + throw new \ErrorException($errstr, 0, $errno, $errfile, $errline); + }); + + try { + // This will contain $resource and $wrappedResource as arguments in the trace item + $resource = fopen('php://memory', 'rw+'); + fwrite($resource, 'test_resource'); + $wrappedResource = new TestFooNorm; + $wrappedResource->foo = $resource; + // Just do something stupid with a resource/wrapped resource as argument + array_keys($wrappedResource); + } catch (\Exception $e) { + restore_error_handler(); + } + + $formatter = new NormalizerFormatter(); + $record = array('context' => array('exception' => $e)); + $result = $formatter->format($record); + + $this->assertRegExp( + '%"resource":"\[resource\] \(stream\)"%', + $result['context']['exception']['trace'][0] + ); + + if (version_compare(PHP_VERSION, '5.5.0', '>=')) { + $pattern = '%"wrappedResource":"\[object\] \(Monolog\\\\\\\\Formatter\\\\\\\\TestFooNorm: \)"%'; + } else { + $pattern = '%\\\\"foo\\\\":null%'; + } + + // Tests that the wrapped resource is ignored while encoding, only works for PHP <= 5.4 + $this->assertRegExp( + $pattern, + $result['context']['exception']['trace'][0] + ); + } +} + +class TestFooNorm +{ + public $foo = 'foo'; +} + +class TestBarNorm +{ + public function __toString() + { + return 'bar'; + } +} + +class TestStreamFoo +{ + public $foo; + public $resource; + + public function __construct($resource) + { + $this->resource = $resource; + $this->foo = 'BAR'; + } + + public function __toString() + { + fseek($this->resource, 0); + + return $this->foo . ' - ' . (string) stream_get_contents($this->resource); + } +} + +class TestToStringError +{ + public function __toString() + { + throw new \RuntimeException('Could not convert to string'); + } +} diff --git a/vendor/monolog/monolog/tests/Monolog/Formatter/ScalarFormatterTest.php b/vendor/monolog/monolog/tests/Monolog/Formatter/ScalarFormatterTest.php new file mode 100644 index 00000000..b1c8fd49 --- /dev/null +++ b/vendor/monolog/monolog/tests/Monolog/Formatter/ScalarFormatterTest.php @@ -0,0 +1,110 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Monolog\Formatter; + +class ScalarFormatterTest extends \PHPUnit_Framework_TestCase +{ + private $formatter; + + public function setUp() + { + $this->formatter = new ScalarFormatter(); + } + + public function buildTrace(\Exception $e) + { + $data = array(); + $trace = $e->getTrace(); + foreach ($trace as $frame) { + if (isset($frame['file'])) { + $data[] = $frame['file'].':'.$frame['line']; + } else { + $data[] = json_encode($frame); + } + } + + return $data; + } + + public function encodeJson($data) + { + if (version_compare(PHP_VERSION, '5.4.0', '>=')) { + return json_encode($data, JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE); + } + + return json_encode($data); + } + + public function testFormat() + { + $exception = new \Exception('foo'); + $formatted = $this->formatter->format(array( + 'foo' => 'string', + 'bar' => 1, + 'baz' => false, + 'bam' => array(1, 2, 3), + 'bat' => array('foo' => 'bar'), + 'bap' => \DateTime::createFromFormat(\DateTime::ISO8601, '1970-01-01T00:00:00+0000'), + 'ban' => $exception, + )); + + $this->assertSame(array( + 'foo' => 'string', + 'bar' => 1, + 'baz' => false, + 'bam' => $this->encodeJson(array(1, 2, 3)), + 'bat' => $this->encodeJson(array('foo' => 'bar')), + 'bap' => '1970-01-01 00:00:00', + 'ban' => $this->encodeJson(array( + 'class' => get_class($exception), + 'message' => $exception->getMessage(), + 'code' => $exception->getCode(), + 'file' => $exception->getFile() . ':' . $exception->getLine(), + 'trace' => $this->buildTrace($exception), + )), + ), $formatted); + } + + public function testFormatWithErrorContext() + { + $context = array('file' => 'foo', 'line' => 1); + $formatted = $this->formatter->format(array( + 'context' => $context, + )); + + $this->assertSame(array( + 'context' => $this->encodeJson($context), + ), $formatted); + } + + public function testFormatWithExceptionContext() + { + $exception = new \Exception('foo'); + $formatted = $this->formatter->format(array( + 'context' => array( + 'exception' => $exception, + ), + )); + + $this->assertSame(array( + 'context' => $this->encodeJson(array( + 'exception' => array( + 'class' => get_class($exception), + 'message' => $exception->getMessage(), + 'code' => $exception->getCode(), + 'file' => $exception->getFile() . ':' . $exception->getLine(), + 'trace' => $this->buildTrace($exception), + ), + )), + ), $formatted); + } +} diff --git a/vendor/monolog/monolog/tests/Monolog/Formatter/WildfireFormatterTest.php b/vendor/monolog/monolog/tests/Monolog/Formatter/WildfireFormatterTest.php new file mode 100644 index 00000000..52f15a36 --- /dev/null +++ b/vendor/monolog/monolog/tests/Monolog/Formatter/WildfireFormatterTest.php @@ -0,0 +1,142 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Monolog\Formatter; + +use Monolog\Logger; + +class WildfireFormatterTest extends \PHPUnit_Framework_TestCase +{ + /** + * @covers Monolog\Formatter\WildfireFormatter::format + */ + public function testDefaultFormat() + { + $wildfire = new WildfireFormatter(); + $record = array( + 'level' => Logger::ERROR, + 'level_name' => 'ERROR', + 'channel' => 'meh', + 'context' => array('from' => 'logger'), + 'datetime' => new \DateTime("@0"), + 'extra' => array('ip' => '127.0.0.1'), + 'message' => 'log', + ); + + $message = $wildfire->format($record); + + $this->assertEquals( + '125|[{"Type":"ERROR","File":"","Line":"","Label":"meh"},' + .'{"message":"log","context":{"from":"logger"},"extra":{"ip":"127.0.0.1"}}]|', + $message + ); + } + + /** + * @covers Monolog\Formatter\WildfireFormatter::format + */ + public function testFormatWithFileAndLine() + { + $wildfire = new WildfireFormatter(); + $record = array( + 'level' => Logger::ERROR, + 'level_name' => 'ERROR', + 'channel' => 'meh', + 'context' => array('from' => 'logger'), + 'datetime' => new \DateTime("@0"), + 'extra' => array('ip' => '127.0.0.1', 'file' => 'test', 'line' => 14), + 'message' => 'log', + ); + + $message = $wildfire->format($record); + + $this->assertEquals( + '129|[{"Type":"ERROR","File":"test","Line":14,"Label":"meh"},' + .'{"message":"log","context":{"from":"logger"},"extra":{"ip":"127.0.0.1"}}]|', + $message + ); + } + + /** + * @covers Monolog\Formatter\WildfireFormatter::format + */ + public function testFormatWithoutContext() + { + $wildfire = new WildfireFormatter(); + $record = array( + 'level' => Logger::ERROR, + 'level_name' => 'ERROR', + 'channel' => 'meh', + 'context' => array(), + 'datetime' => new \DateTime("@0"), + 'extra' => array(), + 'message' => 'log', + ); + + $message = $wildfire->format($record); + + $this->assertEquals( + '58|[{"Type":"ERROR","File":"","Line":"","Label":"meh"},"log"]|', + $message + ); + } + + /** + * @covers Monolog\Formatter\WildfireFormatter::formatBatch + * @expectedException BadMethodCallException + */ + public function testBatchFormatThrowException() + { + $wildfire = new WildfireFormatter(); + $record = array( + 'level' => Logger::ERROR, + 'level_name' => 'ERROR', + 'channel' => 'meh', + 'context' => array(), + 'datetime' => new \DateTime("@0"), + 'extra' => array(), + 'message' => 'log', + ); + + $wildfire->formatBatch(array($record)); + } + + /** + * @covers Monolog\Formatter\WildfireFormatter::format + */ + public function testTableFormat() + { + $wildfire = new WildfireFormatter(); + $record = array( + 'level' => Logger::ERROR, + 'level_name' => 'ERROR', + 'channel' => 'table-channel', + 'context' => array( + WildfireFormatter::TABLE => array( + array('col1', 'col2', 'col3'), + array('val1', 'val2', 'val3'), + array('foo1', 'foo2', 'foo3'), + array('bar1', 'bar2', 'bar3'), + ), + ), + 'datetime' => new \DateTime("@0"), + 'extra' => array(), + 'message' => 'table-message', + ); + + $message = $wildfire->format($record); + + $this->assertEquals( + '171|[{"Type":"TABLE","File":"","Line":"","Label":"table-channel: table-message"},[["col1","col2","col3"],["val1","val2","val3"],["foo1","foo2","foo3"],["bar1","bar2","bar3"]]]|', + $message + ); + } +} diff --git a/vendor/monolog/monolog/tests/Monolog/Handler/AbstractHandlerTest.php b/vendor/monolog/monolog/tests/Monolog/Handler/AbstractHandlerTest.php new file mode 100644 index 00000000..568eb9da --- /dev/null +++ b/vendor/monolog/monolog/tests/Monolog/Handler/AbstractHandlerTest.php @@ -0,0 +1,115 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Monolog\Handler; + +use Monolog\TestCase; +use Monolog\Logger; +use Monolog\Formatter\LineFormatter; +use Monolog\Processor\WebProcessor; + +class AbstractHandlerTest extends TestCase +{ + /** + * @covers Monolog\Handler\AbstractHandler::__construct + * @covers Monolog\Handler\AbstractHandler::getLevel + * @covers Monolog\Handler\AbstractHandler::setLevel + * @covers Monolog\Handler\AbstractHandler::getBubble + * @covers Monolog\Handler\AbstractHandler::setBubble + * @covers Monolog\Handler\AbstractHandler::getFormatter + * @covers Monolog\Handler\AbstractHandler::setFormatter + */ + public function testConstructAndGetSet() + { + $handler = $this->getMockForAbstractClass('Monolog\Handler\AbstractHandler', array(Logger::WARNING, false)); + $this->assertEquals(Logger::WARNING, $handler->getLevel()); + $this->assertEquals(false, $handler->getBubble()); + + $handler->setLevel(Logger::ERROR); + $handler->setBubble(true); + $handler->setFormatter($formatter = new LineFormatter); + $this->assertEquals(Logger::ERROR, $handler->getLevel()); + $this->assertEquals(true, $handler->getBubble()); + $this->assertSame($formatter, $handler->getFormatter()); + } + + /** + * @covers Monolog\Handler\AbstractHandler::handleBatch + */ + public function testHandleBatch() + { + $handler = $this->getMockForAbstractClass('Monolog\Handler\AbstractHandler'); + $handler->expects($this->exactly(2)) + ->method('handle'); + $handler->handleBatch(array($this->getRecord(), $this->getRecord())); + } + + /** + * @covers Monolog\Handler\AbstractHandler::isHandling + */ + public function testIsHandling() + { + $handler = $this->getMockForAbstractClass('Monolog\Handler\AbstractHandler', array(Logger::WARNING, false)); + $this->assertTrue($handler->isHandling($this->getRecord())); + $this->assertFalse($handler->isHandling($this->getRecord(Logger::DEBUG))); + } + + /** + * @covers Monolog\Handler\AbstractHandler::__construct + */ + public function testHandlesPsrStyleLevels() + { + $handler = $this->getMockForAbstractClass('Monolog\Handler\AbstractHandler', array('warning', false)); + $this->assertFalse($handler->isHandling($this->getRecord(Logger::DEBUG))); + $handler->setLevel('debug'); + $this->assertTrue($handler->isHandling($this->getRecord(Logger::DEBUG))); + } + + /** + * @covers Monolog\Handler\AbstractHandler::getFormatter + * @covers Monolog\Handler\AbstractHandler::getDefaultFormatter + */ + public function testGetFormatterInitializesDefault() + { + $handler = $this->getMockForAbstractClass('Monolog\Handler\AbstractHandler'); + $this->assertInstanceOf('Monolog\Formatter\LineFormatter', $handler->getFormatter()); + } + + /** + * @covers Monolog\Handler\AbstractHandler::pushProcessor + * @covers Monolog\Handler\AbstractHandler::popProcessor + * @expectedException LogicException + */ + public function testPushPopProcessor() + { + $logger = $this->getMockForAbstractClass('Monolog\Handler\AbstractHandler'); + $processor1 = new WebProcessor; + $processor2 = new WebProcessor; + + $logger->pushProcessor($processor1); + $logger->pushProcessor($processor2); + + $this->assertEquals($processor2, $logger->popProcessor()); + $this->assertEquals($processor1, $logger->popProcessor()); + $logger->popProcessor(); + } + + /** + * @covers Monolog\Handler\AbstractHandler::pushProcessor + * @expectedException InvalidArgumentException + */ + public function testPushProcessorWithNonCallable() + { + $handler = $this->getMockForAbstractClass('Monolog\Handler\AbstractHandler'); + + $handler->pushProcessor(new \stdClass()); + } +} diff --git a/vendor/monolog/monolog/tests/Monolog/Handler/AbstractProcessingHandlerTest.php b/vendor/monolog/monolog/tests/Monolog/Handler/AbstractProcessingHandlerTest.php new file mode 100644 index 00000000..24d4f63c --- /dev/null +++ b/vendor/monolog/monolog/tests/Monolog/Handler/AbstractProcessingHandlerTest.php @@ -0,0 +1,80 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Monolog\Handler; + +use Monolog\TestCase; +use Monolog\Logger; +use Monolog\Processor\WebProcessor; + +class AbstractProcessingHandlerTest extends TestCase +{ + /** + * @covers Monolog\Handler\AbstractProcessingHandler::handle + */ + public function testHandleLowerLevelMessage() + { + $handler = $this->getMockForAbstractClass('Monolog\Handler\AbstractProcessingHandler', array(Logger::WARNING, true)); + $this->assertFalse($handler->handle($this->getRecord(Logger::DEBUG))); + } + + /** + * @covers Monolog\Handler\AbstractProcessingHandler::handle + */ + public function testHandleBubbling() + { + $handler = $this->getMockForAbstractClass('Monolog\Handler\AbstractProcessingHandler', array(Logger::DEBUG, true)); + $this->assertFalse($handler->handle($this->getRecord())); + } + + /** + * @covers Monolog\Handler\AbstractProcessingHandler::handle + */ + public function testHandleNotBubbling() + { + $handler = $this->getMockForAbstractClass('Monolog\Handler\AbstractProcessingHandler', array(Logger::DEBUG, false)); + $this->assertTrue($handler->handle($this->getRecord())); + } + + /** + * @covers Monolog\Handler\AbstractProcessingHandler::handle + */ + public function testHandleIsFalseWhenNotHandled() + { + $handler = $this->getMockForAbstractClass('Monolog\Handler\AbstractProcessingHandler', array(Logger::WARNING, false)); + $this->assertTrue($handler->handle($this->getRecord())); + $this->assertFalse($handler->handle($this->getRecord(Logger::DEBUG))); + } + + /** + * @covers Monolog\Handler\AbstractProcessingHandler::processRecord + */ + public function testProcessRecord() + { + $handler = $this->getMockForAbstractClass('Monolog\Handler\AbstractProcessingHandler'); + $handler->pushProcessor(new WebProcessor(array( + 'REQUEST_URI' => '', + 'REQUEST_METHOD' => '', + 'REMOTE_ADDR' => '', + 'SERVER_NAME' => '', + 'UNIQUE_ID' => '', + ))); + $handledRecord = null; + $handler->expects($this->once()) + ->method('write') + ->will($this->returnCallback(function ($record) use (&$handledRecord) { + $handledRecord = $record; + })) + ; + $handler->handle($this->getRecord()); + $this->assertEquals(6, count($handledRecord['extra'])); + } +} diff --git a/vendor/monolog/monolog/tests/Monolog/Handler/AmqpHandlerTest.php b/vendor/monolog/monolog/tests/Monolog/Handler/AmqpHandlerTest.php new file mode 100644 index 00000000..8e0e7237 --- /dev/null +++ b/vendor/monolog/monolog/tests/Monolog/Handler/AmqpHandlerTest.php @@ -0,0 +1,136 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Monolog\Handler; + +use Monolog\TestCase; +use Monolog\Logger; +use PhpAmqpLib\Message\AMQPMessage; +use PhpAmqpLib\Connection\AMQPConnection; + +/** + * @covers Monolog\Handler\RotatingFileHandler + */ +class AmqpHandlerTest extends TestCase +{ + public function testHandleAmqpExt() + { + if (!class_exists('AMQPConnection') || !class_exists('AMQPExchange')) { + $this->markTestSkipped("amqp-php not installed"); + } + + if (!class_exists('AMQPChannel')) { + $this->markTestSkipped("Please update AMQP to version >= 1.0"); + } + + $messages = array(); + + $exchange = $this->getMock('AMQPExchange', array('publish', 'setName'), array(), '', false); + $exchange->expects($this->once()) + ->method('setName') + ->with('log') + ; + $exchange->expects($this->any()) + ->method('publish') + ->will($this->returnCallback(function ($message, $routing_key, $flags = 0, $attributes = array()) use (&$messages) { + $messages[] = array($message, $routing_key, $flags, $attributes); + })) + ; + + $handler = new AmqpHandler($exchange, 'log'); + + $record = $this->getRecord(Logger::WARNING, 'test', array('data' => new \stdClass, 'foo' => 34)); + + $expected = array( + array( + 'message' => 'test', + 'context' => array( + 'data' => array(), + 'foo' => 34, + ), + 'level' => 300, + 'level_name' => 'WARNING', + 'channel' => 'test', + 'extra' => array(), + ), + 'warn.test', + 0, + array( + 'delivery_mode' => 2, + 'content_type' => 'application/json', + ), + ); + + $handler->handle($record); + + $this->assertCount(1, $messages); + $messages[0][0] = json_decode($messages[0][0], true); + unset($messages[0][0]['datetime']); + $this->assertEquals($expected, $messages[0]); + } + + public function testHandlePhpAmqpLib() + { + if (!class_exists('PhpAmqpLib\Connection\AMQPConnection')) { + $this->markTestSkipped("php-amqplib not installed"); + } + + $messages = array(); + + $exchange = $this->getMock('PhpAmqpLib\Channel\AMQPChannel', array('basic_publish', '__destruct'), array(), '', false); + + $exchange->expects($this->any()) + ->method('basic_publish') + ->will($this->returnCallback(function (AMQPMessage $msg, $exchange = "", $routing_key = "", $mandatory = false, $immediate = false, $ticket = null) use (&$messages) { + $messages[] = array($msg, $exchange, $routing_key, $mandatory, $immediate, $ticket); + })) + ; + + $handler = new AmqpHandler($exchange, 'log'); + + $record = $this->getRecord(Logger::WARNING, 'test', array('data' => new \stdClass, 'foo' => 34)); + + $expected = array( + array( + 'message' => 'test', + 'context' => array( + 'data' => array(), + 'foo' => 34, + ), + 'level' => 300, + 'level_name' => 'WARNING', + 'channel' => 'test', + 'extra' => array(), + ), + 'log', + 'warn.test', + false, + false, + null, + array( + 'delivery_mode' => 2, + 'content_type' => 'application/json', + ), + ); + + $handler->handle($record); + + $this->assertCount(1, $messages); + + /* @var $msg AMQPMessage */ + $msg = $messages[0][0]; + $messages[0][0] = json_decode($msg->body, true); + $messages[0][] = $msg->get_properties(); + unset($messages[0][0]['datetime']); + + $this->assertEquals($expected, $messages[0]); + } +} diff --git a/vendor/monolog/monolog/tests/Monolog/Handler/BrowserConsoleHandlerTest.php b/vendor/monolog/monolog/tests/Monolog/Handler/BrowserConsoleHandlerTest.php new file mode 100644 index 00000000..ffb1d746 --- /dev/null +++ b/vendor/monolog/monolog/tests/Monolog/Handler/BrowserConsoleHandlerTest.php @@ -0,0 +1,130 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Monolog\Handler; + +use Monolog\TestCase; +use Monolog\Logger; + +/** + * @covers Monolog\Handler\BrowserConsoleHandlerTest + */ +class BrowserConsoleHandlerTest extends TestCase +{ + protected function setUp() + { + BrowserConsoleHandler::reset(); + } + + protected function generateScript() + { + $reflMethod = new \ReflectionMethod('Monolog\Handler\BrowserConsoleHandler', 'generateScript'); + $reflMethod->setAccessible(true); + + return $reflMethod->invoke(null); + } + + public function testStyling() + { + $handler = new BrowserConsoleHandler(); + $handler->setFormatter($this->getIdentityFormatter()); + + $handler->handle($this->getRecord(Logger::DEBUG, 'foo[[bar]]{color: red}')); + + $expected = <<assertEquals($expected, $this->generateScript()); + } + + public function testEscaping() + { + $handler = new BrowserConsoleHandler(); + $handler->setFormatter($this->getIdentityFormatter()); + + $handler->handle($this->getRecord(Logger::DEBUG, "[foo] [[\"bar\n[baz]\"]]{color: red}")); + + $expected = <<assertEquals($expected, $this->generateScript()); + } + + public function testAutolabel() + { + $handler = new BrowserConsoleHandler(); + $handler->setFormatter($this->getIdentityFormatter()); + + $handler->handle($this->getRecord(Logger::DEBUG, '[[foo]]{macro: autolabel}')); + $handler->handle($this->getRecord(Logger::DEBUG, '[[bar]]{macro: autolabel}')); + $handler->handle($this->getRecord(Logger::DEBUG, '[[foo]]{macro: autolabel}')); + + $expected = <<assertEquals($expected, $this->generateScript()); + } + + public function testContext() + { + $handler = new BrowserConsoleHandler(); + $handler->setFormatter($this->getIdentityFormatter()); + + $handler->handle($this->getRecord(Logger::DEBUG, 'test', array('foo' => 'bar'))); + + $expected = <<assertEquals($expected, $this->generateScript()); + } + + public function testConcurrentHandlers() + { + $handler1 = new BrowserConsoleHandler(); + $handler1->setFormatter($this->getIdentityFormatter()); + + $handler2 = new BrowserConsoleHandler(); + $handler2->setFormatter($this->getIdentityFormatter()); + + $handler1->handle($this->getRecord(Logger::DEBUG, 'test1')); + $handler2->handle($this->getRecord(Logger::DEBUG, 'test2')); + $handler1->handle($this->getRecord(Logger::DEBUG, 'test3')); + $handler2->handle($this->getRecord(Logger::DEBUG, 'test4')); + + $expected = <<assertEquals($expected, $this->generateScript()); + } +} diff --git a/vendor/monolog/monolog/tests/Monolog/Handler/BufferHandlerTest.php b/vendor/monolog/monolog/tests/Monolog/Handler/BufferHandlerTest.php new file mode 100644 index 00000000..da8b3c39 --- /dev/null +++ b/vendor/monolog/monolog/tests/Monolog/Handler/BufferHandlerTest.php @@ -0,0 +1,158 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Monolog\Handler; + +use Monolog\TestCase; +use Monolog\Logger; + +class BufferHandlerTest extends TestCase +{ + private $shutdownCheckHandler; + + /** + * @covers Monolog\Handler\BufferHandler::__construct + * @covers Monolog\Handler\BufferHandler::handle + * @covers Monolog\Handler\BufferHandler::close + */ + public function testHandleBuffers() + { + $test = new TestHandler(); + $handler = new BufferHandler($test); + $handler->handle($this->getRecord(Logger::DEBUG)); + $handler->handle($this->getRecord(Logger::INFO)); + $this->assertFalse($test->hasDebugRecords()); + $this->assertFalse($test->hasInfoRecords()); + $handler->close(); + $this->assertTrue($test->hasInfoRecords()); + $this->assertTrue(count($test->getRecords()) === 2); + } + + /** + * @covers Monolog\Handler\BufferHandler::close + * @covers Monolog\Handler\BufferHandler::flush + */ + public function testPropagatesRecordsAtEndOfRequest() + { + $test = new TestHandler(); + $handler = new BufferHandler($test); + $handler->handle($this->getRecord(Logger::WARNING)); + $handler->handle($this->getRecord(Logger::DEBUG)); + $this->shutdownCheckHandler = $test; + register_shutdown_function(array($this, 'checkPropagation')); + } + + public function checkPropagation() + { + if (!$this->shutdownCheckHandler->hasWarningRecords() || !$this->shutdownCheckHandler->hasDebugRecords()) { + echo '!!! BufferHandlerTest::testPropagatesRecordsAtEndOfRequest failed to verify that the messages have been propagated' . PHP_EOL; + exit(1); + } + } + + /** + * @covers Monolog\Handler\BufferHandler::handle + */ + public function testHandleBufferLimit() + { + $test = new TestHandler(); + $handler = new BufferHandler($test, 2); + $handler->handle($this->getRecord(Logger::DEBUG)); + $handler->handle($this->getRecord(Logger::DEBUG)); + $handler->handle($this->getRecord(Logger::INFO)); + $handler->handle($this->getRecord(Logger::WARNING)); + $handler->close(); + $this->assertTrue($test->hasWarningRecords()); + $this->assertTrue($test->hasInfoRecords()); + $this->assertFalse($test->hasDebugRecords()); + } + + /** + * @covers Monolog\Handler\BufferHandler::handle + */ + public function testHandleBufferLimitWithFlushOnOverflow() + { + $test = new TestHandler(); + $handler = new BufferHandler($test, 3, Logger::DEBUG, true, true); + + // send two records + $handler->handle($this->getRecord(Logger::DEBUG)); + $handler->handle($this->getRecord(Logger::DEBUG)); + $handler->handle($this->getRecord(Logger::DEBUG)); + $this->assertFalse($test->hasDebugRecords()); + $this->assertCount(0, $test->getRecords()); + + // overflow + $handler->handle($this->getRecord(Logger::INFO)); + $this->assertTrue($test->hasDebugRecords()); + $this->assertCount(3, $test->getRecords()); + + // should buffer again + $handler->handle($this->getRecord(Logger::WARNING)); + $this->assertCount(3, $test->getRecords()); + + $handler->close(); + $this->assertCount(5, $test->getRecords()); + $this->assertTrue($test->hasWarningRecords()); + $this->assertTrue($test->hasInfoRecords()); + } + + /** + * @covers Monolog\Handler\BufferHandler::handle + */ + public function testHandleLevel() + { + $test = new TestHandler(); + $handler = new BufferHandler($test, 0, Logger::INFO); + $handler->handle($this->getRecord(Logger::DEBUG)); + $handler->handle($this->getRecord(Logger::INFO)); + $handler->handle($this->getRecord(Logger::WARNING)); + $handler->handle($this->getRecord(Logger::DEBUG)); + $handler->close(); + $this->assertTrue($test->hasWarningRecords()); + $this->assertTrue($test->hasInfoRecords()); + $this->assertFalse($test->hasDebugRecords()); + } + + /** + * @covers Monolog\Handler\BufferHandler::flush + */ + public function testFlush() + { + $test = new TestHandler(); + $handler = new BufferHandler($test, 0); + $handler->handle($this->getRecord(Logger::DEBUG)); + $handler->handle($this->getRecord(Logger::INFO)); + $handler->flush(); + $this->assertTrue($test->hasInfoRecords()); + $this->assertTrue($test->hasDebugRecords()); + $this->assertFalse($test->hasWarningRecords()); + } + + /** + * @covers Monolog\Handler\BufferHandler::handle + */ + public function testHandleUsesProcessors() + { + $test = new TestHandler(); + $handler = new BufferHandler($test); + $handler->pushProcessor(function ($record) { + $record['extra']['foo'] = true; + + return $record; + }); + $handler->handle($this->getRecord(Logger::WARNING)); + $handler->flush(); + $this->assertTrue($test->hasWarningRecords()); + $records = $test->getRecords(); + $this->assertTrue($records[0]['extra']['foo']); + } +} diff --git a/vendor/monolog/monolog/tests/Monolog/Handler/ChromePHPHandlerTest.php b/vendor/monolog/monolog/tests/Monolog/Handler/ChromePHPHandlerTest.php new file mode 100644 index 00000000..ef3cd1cb --- /dev/null +++ b/vendor/monolog/monolog/tests/Monolog/Handler/ChromePHPHandlerTest.php @@ -0,0 +1,141 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Monolog\Handler; + +use Monolog\TestCase; +use Monolog\Logger; + +/** + * @covers Monolog\Handler\ChromePHPHandler + */ +class ChromePHPHandlerTest extends TestCase +{ + protected function setUp() + { + TestChromePHPHandler::reset(); + $_SERVER['HTTP_USER_AGENT'] = 'Monolog Test; Chrome/1.0'; + } + + public function testHeaders() + { + $handler = new TestChromePHPHandler(); + $handler->setFormatter($this->getIdentityFormatter()); + $handler->handle($this->getRecord(Logger::DEBUG)); + $handler->handle($this->getRecord(Logger::WARNING)); + + $expected = array( + 'X-ChromeLogger-Data' => base64_encode(utf8_encode(json_encode(array( + 'version' => ChromePHPHandler::VERSION, + 'columns' => array('label', 'log', 'backtrace', 'type'), + 'rows' => array( + 'test', + 'test', + ), + 'request_uri' => '', + )))), + ); + + $this->assertEquals($expected, $handler->getHeaders()); + } + + public function testHeadersOverflow() + { + $handler = new TestChromePHPHandler(); + $handler->handle($this->getRecord(Logger::DEBUG)); + $handler->handle($this->getRecord(Logger::WARNING, str_repeat('a', 150 * 1024))); + + // overflow chrome headers limit + $handler->handle($this->getRecord(Logger::WARNING, str_repeat('a', 100 * 1024))); + + $expected = array( + 'X-ChromeLogger-Data' => base64_encode(utf8_encode(json_encode(array( + 'version' => ChromePHPHandler::VERSION, + 'columns' => array('label', 'log', 'backtrace', 'type'), + 'rows' => array( + array( + 'test', + 'test', + 'unknown', + 'log', + ), + array( + 'test', + str_repeat('a', 150 * 1024), + 'unknown', + 'warn', + ), + array( + 'monolog', + 'Incomplete logs, chrome header size limit reached', + 'unknown', + 'warn', + ), + ), + 'request_uri' => '', + )))), + ); + + $this->assertEquals($expected, $handler->getHeaders()); + } + + public function testConcurrentHandlers() + { + $handler = new TestChromePHPHandler(); + $handler->setFormatter($this->getIdentityFormatter()); + $handler->handle($this->getRecord(Logger::DEBUG)); + $handler->handle($this->getRecord(Logger::WARNING)); + + $handler2 = new TestChromePHPHandler(); + $handler2->setFormatter($this->getIdentityFormatter()); + $handler2->handle($this->getRecord(Logger::DEBUG)); + $handler2->handle($this->getRecord(Logger::WARNING)); + + $expected = array( + 'X-ChromeLogger-Data' => base64_encode(utf8_encode(json_encode(array( + 'version' => ChromePHPHandler::VERSION, + 'columns' => array('label', 'log', 'backtrace', 'type'), + 'rows' => array( + 'test', + 'test', + 'test', + 'test', + ), + 'request_uri' => '', + )))), + ); + + $this->assertEquals($expected, $handler2->getHeaders()); + } +} + +class TestChromePHPHandler extends ChromePHPHandler +{ + protected $headers = array(); + + public static function reset() + { + self::$initialized = false; + self::$overflowed = false; + self::$sendHeaders = true; + self::$json['rows'] = array(); + } + + protected function sendHeader($header, $content) + { + $this->headers[$header] = $content; + } + + public function getHeaders() + { + return $this->headers; + } +} diff --git a/vendor/monolog/monolog/tests/Monolog/Handler/CouchDBHandlerTest.php b/vendor/monolog/monolog/tests/Monolog/Handler/CouchDBHandlerTest.php new file mode 100644 index 00000000..9fc4b388 --- /dev/null +++ b/vendor/monolog/monolog/tests/Monolog/Handler/CouchDBHandlerTest.php @@ -0,0 +1,31 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Monolog\Handler; + +use Monolog\TestCase; +use Monolog\Logger; + +class CouchDBHandlerTest extends TestCase +{ + public function testHandle() + { + $record = $this->getRecord(Logger::WARNING, 'test', array('data' => new \stdClass, 'foo' => 34)); + + $handler = new CouchDBHandler(); + + try { + $handler->handle($record); + } catch (\RuntimeException $e) { + $this->markTestSkipped('Could not connect to couchdb server on http://localhost:5984'); + } + } +} diff --git a/vendor/monolog/monolog/tests/Monolog/Handler/DeduplicationHandlerTest.php b/vendor/monolog/monolog/tests/Monolog/Handler/DeduplicationHandlerTest.php new file mode 100644 index 00000000..e2aff868 --- /dev/null +++ b/vendor/monolog/monolog/tests/Monolog/Handler/DeduplicationHandlerTest.php @@ -0,0 +1,165 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Monolog\Handler; + +use Monolog\TestCase; +use Monolog\Logger; + +class DeduplicationHandlerTest extends TestCase +{ + /** + * @covers Monolog\Handler\DeduplicationHandler::flush + */ + public function testFlushPassthruIfAllRecordsUnderTrigger() + { + $test = new TestHandler(); + @unlink(sys_get_temp_dir().'/monolog_dedup.log'); + $handler = new DeduplicationHandler($test, sys_get_temp_dir().'/monolog_dedup.log', 0); + + $handler->handle($this->getRecord(Logger::DEBUG)); + $handler->handle($this->getRecord(Logger::INFO)); + + $handler->flush(); + + $this->assertTrue($test->hasInfoRecords()); + $this->assertTrue($test->hasDebugRecords()); + $this->assertFalse($test->hasWarningRecords()); + } + + /** + * @covers Monolog\Handler\DeduplicationHandler::flush + * @covers Monolog\Handler\DeduplicationHandler::appendRecord + */ + public function testFlushPassthruIfEmptyLog() + { + $test = new TestHandler(); + @unlink(sys_get_temp_dir().'/monolog_dedup.log'); + $handler = new DeduplicationHandler($test, sys_get_temp_dir().'/monolog_dedup.log', 0); + + $handler->handle($this->getRecord(Logger::ERROR, 'Foo:bar')); + $handler->handle($this->getRecord(Logger::CRITICAL, "Foo\nbar")); + + $handler->flush(); + + $this->assertTrue($test->hasErrorRecords()); + $this->assertTrue($test->hasCriticalRecords()); + $this->assertFalse($test->hasWarningRecords()); + } + + /** + * @covers Monolog\Handler\DeduplicationHandler::flush + * @covers Monolog\Handler\DeduplicationHandler::appendRecord + * @covers Monolog\Handler\DeduplicationHandler::isDuplicate + * @depends testFlushPassthruIfEmptyLog + */ + public function testFlushSkipsIfLogExists() + { + $test = new TestHandler(); + $handler = new DeduplicationHandler($test, sys_get_temp_dir().'/monolog_dedup.log', 0); + + $handler->handle($this->getRecord(Logger::ERROR, 'Foo:bar')); + $handler->handle($this->getRecord(Logger::CRITICAL, "Foo\nbar")); + + $handler->flush(); + + $this->assertFalse($test->hasErrorRecords()); + $this->assertFalse($test->hasCriticalRecords()); + $this->assertFalse($test->hasWarningRecords()); + } + + /** + * @covers Monolog\Handler\DeduplicationHandler::flush + * @covers Monolog\Handler\DeduplicationHandler::appendRecord + * @covers Monolog\Handler\DeduplicationHandler::isDuplicate + * @depends testFlushPassthruIfEmptyLog + */ + public function testFlushPassthruIfLogTooOld() + { + $test = new TestHandler(); + $handler = new DeduplicationHandler($test, sys_get_temp_dir().'/monolog_dedup.log', 0); + + $record = $this->getRecord(Logger::ERROR); + $record['datetime']->modify('+62seconds'); + $handler->handle($record); + $record = $this->getRecord(Logger::CRITICAL); + $record['datetime']->modify('+62seconds'); + $handler->handle($record); + + $handler->flush(); + + $this->assertTrue($test->hasErrorRecords()); + $this->assertTrue($test->hasCriticalRecords()); + $this->assertFalse($test->hasWarningRecords()); + } + + /** + * @covers Monolog\Handler\DeduplicationHandler::flush + * @covers Monolog\Handler\DeduplicationHandler::appendRecord + * @covers Monolog\Handler\DeduplicationHandler::isDuplicate + * @covers Monolog\Handler\DeduplicationHandler::collectLogs + */ + public function testGcOldLogs() + { + $test = new TestHandler(); + @unlink(sys_get_temp_dir().'/monolog_dedup.log'); + $handler = new DeduplicationHandler($test, sys_get_temp_dir().'/monolog_dedup.log', 0); + + // handle two records from yesterday, and one recent + $record = $this->getRecord(Logger::ERROR); + $record['datetime']->modify('-1day -10seconds'); + $handler->handle($record); + $record2 = $this->getRecord(Logger::CRITICAL); + $record2['datetime']->modify('-1day -10seconds'); + $handler->handle($record2); + $record3 = $this->getRecord(Logger::CRITICAL); + $record3['datetime']->modify('-30seconds'); + $handler->handle($record3); + + // log is written as none of them are duplicate + $handler->flush(); + $this->assertSame( + $record['datetime']->getTimestamp() . ":ERROR:test\n" . + $record2['datetime']->getTimestamp() . ":CRITICAL:test\n" . + $record3['datetime']->getTimestamp() . ":CRITICAL:test\n", + file_get_contents(sys_get_temp_dir() . '/monolog_dedup.log') + ); + $this->assertTrue($test->hasErrorRecords()); + $this->assertTrue($test->hasCriticalRecords()); + $this->assertFalse($test->hasWarningRecords()); + + // clear test handler + $test->clear(); + $this->assertFalse($test->hasErrorRecords()); + $this->assertFalse($test->hasCriticalRecords()); + + // log new records, duplicate log gets GC'd at the end of this flush call + $handler->handle($record = $this->getRecord(Logger::ERROR)); + $handler->handle($record2 = $this->getRecord(Logger::CRITICAL)); + $handler->flush(); + + // log should now contain the new errors and the previous one that was recent enough + $this->assertSame( + $record3['datetime']->getTimestamp() . ":CRITICAL:test\n" . + $record['datetime']->getTimestamp() . ":ERROR:test\n" . + $record2['datetime']->getTimestamp() . ":CRITICAL:test\n", + file_get_contents(sys_get_temp_dir() . '/monolog_dedup.log') + ); + $this->assertTrue($test->hasErrorRecords()); + $this->assertTrue($test->hasCriticalRecords()); + $this->assertFalse($test->hasWarningRecords()); + } + + public static function tearDownAfterClass() + { + @unlink(sys_get_temp_dir().'/monolog_dedup.log'); + } +} diff --git a/vendor/monolog/monolog/tests/Monolog/Handler/DoctrineCouchDBHandlerTest.php b/vendor/monolog/monolog/tests/Monolog/Handler/DoctrineCouchDBHandlerTest.php new file mode 100644 index 00000000..d67da90a --- /dev/null +++ b/vendor/monolog/monolog/tests/Monolog/Handler/DoctrineCouchDBHandlerTest.php @@ -0,0 +1,52 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Monolog\Handler; + +use Monolog\TestCase; +use Monolog\Logger; + +class DoctrineCouchDBHandlerTest extends TestCase +{ + protected function setup() + { + if (!class_exists('Doctrine\CouchDB\CouchDBClient')) { + $this->markTestSkipped('The "doctrine/couchdb" package is not installed'); + } + } + + public function testHandle() + { + $client = $this->getMockBuilder('Doctrine\\CouchDB\\CouchDBClient') + ->setMethods(array('postDocument')) + ->disableOriginalConstructor() + ->getMock(); + + $record = $this->getRecord(Logger::WARNING, 'test', array('data' => new \stdClass, 'foo' => 34)); + + $expected = array( + 'message' => 'test', + 'context' => array('data' => '[object] (stdClass: {})', 'foo' => 34), + 'level' => Logger::WARNING, + 'level_name' => 'WARNING', + 'channel' => 'test', + 'datetime' => $record['datetime']->format('Y-m-d H:i:s'), + 'extra' => array(), + ); + + $client->expects($this->once()) + ->method('postDocument') + ->with($expected); + + $handler = new DoctrineCouchDBHandler($client); + $handler->handle($record); + } +} diff --git a/vendor/monolog/monolog/tests/Monolog/Handler/DynamoDbHandlerTest.php b/vendor/monolog/monolog/tests/Monolog/Handler/DynamoDbHandlerTest.php new file mode 100644 index 00000000..f3a69680 --- /dev/null +++ b/vendor/monolog/monolog/tests/Monolog/Handler/DynamoDbHandlerTest.php @@ -0,0 +1,75 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Monolog\Handler; + +use Monolog\TestCase; + +class DynamoDbHandlerTest extends TestCase +{ + private $client; + + public function setUp() + { + if (!class_exists('Aws\DynamoDb\DynamoDbClient')) { + $this->markTestSkipped('aws/aws-sdk-php not installed'); + } + + $this->client = $this->getMockBuilder('Aws\DynamoDb\DynamoDbClient') + ->setMethods(array('formatAttributes', '__call')) + ->disableOriginalConstructor()->getMock(); + } + + public function testConstruct() + { + $this->assertInstanceOf('Monolog\Handler\DynamoDbHandler', new DynamoDbHandler($this->client, 'foo')); + } + + public function testInterface() + { + $this->assertInstanceOf('Monolog\Handler\HandlerInterface', new DynamoDbHandler($this->client, 'foo')); + } + + public function testGetFormatter() + { + $handler = new DynamoDbHandler($this->client, 'foo'); + $this->assertInstanceOf('Monolog\Formatter\ScalarFormatter', $handler->getFormatter()); + } + + public function testHandle() + { + $record = $this->getRecord(); + $formatter = $this->getMock('Monolog\Formatter\FormatterInterface'); + $formatted = array('foo' => 1, 'bar' => 2); + $handler = new DynamoDbHandler($this->client, 'foo'); + $handler->setFormatter($formatter); + + $formatter + ->expects($this->once()) + ->method('format') + ->with($record) + ->will($this->returnValue($formatted)); + $this->client + ->expects($this->once()) + ->method('formatAttributes') + ->with($this->isType('array')) + ->will($this->returnValue($formatted)); + $this->client + ->expects($this->once()) + ->method('__call') + ->with('putItem', array(array( + 'TableName' => 'foo', + 'Item' => $formatted, + ))); + + $handler->handle($record); + } +} diff --git a/vendor/monolog/monolog/tests/Monolog/Handler/ElasticSearchHandlerTest.php b/vendor/monolog/monolog/tests/Monolog/Handler/ElasticSearchHandlerTest.php new file mode 100644 index 00000000..1687074b --- /dev/null +++ b/vendor/monolog/monolog/tests/Monolog/Handler/ElasticSearchHandlerTest.php @@ -0,0 +1,239 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Monolog\Handler; + +use Monolog\Formatter\ElasticaFormatter; +use Monolog\Formatter\NormalizerFormatter; +use Monolog\TestCase; +use Monolog\Logger; +use Elastica\Client; +use Elastica\Request; +use Elastica\Response; + +class ElasticSearchHandlerTest extends TestCase +{ + /** + * @var Client mock + */ + protected $client; + + /** + * @var array Default handler options + */ + protected $options = array( + 'index' => 'my_index', + 'type' => 'doc_type', + ); + + public function setUp() + { + // Elastica lib required + if (!class_exists("Elastica\Client")) { + $this->markTestSkipped("ruflin/elastica not installed"); + } + + // base mock Elastica Client object + $this->client = $this->getMockBuilder('Elastica\Client') + ->setMethods(array('addDocuments')) + ->disableOriginalConstructor() + ->getMock(); + } + + /** + * @covers Monolog\Handler\ElasticSearchHandler::write + * @covers Monolog\Handler\ElasticSearchHandler::handleBatch + * @covers Monolog\Handler\ElasticSearchHandler::bulkSend + * @covers Monolog\Handler\ElasticSearchHandler::getDefaultFormatter + */ + public function testHandle() + { + // log message + $msg = array( + 'level' => Logger::ERROR, + 'level_name' => 'ERROR', + 'channel' => 'meh', + 'context' => array('foo' => 7, 'bar', 'class' => new \stdClass), + 'datetime' => new \DateTime("@0"), + 'extra' => array(), + 'message' => 'log', + ); + + // format expected result + $formatter = new ElasticaFormatter($this->options['index'], $this->options['type']); + $expected = array($formatter->format($msg)); + + // setup ES client mock + $this->client->expects($this->any()) + ->method('addDocuments') + ->with($expected); + + // perform tests + $handler = new ElasticSearchHandler($this->client, $this->options); + $handler->handle($msg); + $handler->handleBatch(array($msg)); + } + + /** + * @covers Monolog\Handler\ElasticSearchHandler::setFormatter + */ + public function testSetFormatter() + { + $handler = new ElasticSearchHandler($this->client); + $formatter = new ElasticaFormatter('index_new', 'type_new'); + $handler->setFormatter($formatter); + $this->assertInstanceOf('Monolog\Formatter\ElasticaFormatter', $handler->getFormatter()); + $this->assertEquals('index_new', $handler->getFormatter()->getIndex()); + $this->assertEquals('type_new', $handler->getFormatter()->getType()); + } + + /** + * @covers Monolog\Handler\ElasticSearchHandler::setFormatter + * @expectedException InvalidArgumentException + * @expectedExceptionMessage ElasticSearchHandler is only compatible with ElasticaFormatter + */ + public function testSetFormatterInvalid() + { + $handler = new ElasticSearchHandler($this->client); + $formatter = new NormalizerFormatter(); + $handler->setFormatter($formatter); + } + + /** + * @covers Monolog\Handler\ElasticSearchHandler::__construct + * @covers Monolog\Handler\ElasticSearchHandler::getOptions + */ + public function testOptions() + { + $expected = array( + 'index' => $this->options['index'], + 'type' => $this->options['type'], + 'ignore_error' => false, + ); + $handler = new ElasticSearchHandler($this->client, $this->options); + $this->assertEquals($expected, $handler->getOptions()); + } + + /** + * @covers Monolog\Handler\ElasticSearchHandler::bulkSend + * @dataProvider providerTestConnectionErrors + */ + public function testConnectionErrors($ignore, $expectedError) + { + $clientOpts = array('host' => '127.0.0.1', 'port' => 1); + $client = new Client($clientOpts); + $handlerOpts = array('ignore_error' => $ignore); + $handler = new ElasticSearchHandler($client, $handlerOpts); + + if ($expectedError) { + $this->setExpectedException($expectedError[0], $expectedError[1]); + $handler->handle($this->getRecord()); + } else { + $this->assertFalse($handler->handle($this->getRecord())); + } + } + + /** + * @return array + */ + public function providerTestConnectionErrors() + { + return array( + array(false, array('RuntimeException', 'Error sending messages to Elasticsearch')), + array(true, false), + ); + } + + /** + * Integration test using localhost Elastic Search server + * + * @covers Monolog\Handler\ElasticSearchHandler::__construct + * @covers Monolog\Handler\ElasticSearchHandler::handleBatch + * @covers Monolog\Handler\ElasticSearchHandler::bulkSend + * @covers Monolog\Handler\ElasticSearchHandler::getDefaultFormatter + */ + public function testHandleIntegration() + { + $msg = array( + 'level' => Logger::ERROR, + 'level_name' => 'ERROR', + 'channel' => 'meh', + 'context' => array('foo' => 7, 'bar', 'class' => new \stdClass), + 'datetime' => new \DateTime("@0"), + 'extra' => array(), + 'message' => 'log', + ); + + $expected = $msg; + $expected['datetime'] = $msg['datetime']->format(\DateTime::ISO8601); + $expected['context'] = array( + 'class' => '[object] (stdClass: {})', + 'foo' => 7, + 0 => 'bar', + ); + + $client = new Client(); + $handler = new ElasticSearchHandler($client, $this->options); + try { + $handler->handleBatch(array($msg)); + } catch (\RuntimeException $e) { + $this->markTestSkipped("Cannot connect to Elastic Search server on localhost"); + } + + // check document id from ES server response + $documentId = $this->getCreatedDocId($client->getLastResponse()); + $this->assertNotEmpty($documentId, 'No elastic document id received'); + + // retrieve document source from ES and validate + $document = $this->getDocSourceFromElastic( + $client, + $this->options['index'], + $this->options['type'], + $documentId + ); + $this->assertEquals($expected, $document); + + // remove test index from ES + $client->request("/{$this->options['index']}", Request::DELETE); + } + + /** + * Return last created document id from ES response + * @param Response $response Elastica Response object + * @return string|null + */ + protected function getCreatedDocId(Response $response) + { + $data = $response->getData(); + if (!empty($data['items'][0]['create']['_id'])) { + return $data['items'][0]['create']['_id']; + } + } + + /** + * Retrieve document by id from Elasticsearch + * @param Client $client Elastica client + * @param string $index + * @param string $type + * @param string $documentId + * @return array + */ + protected function getDocSourceFromElastic(Client $client, $index, $type, $documentId) + { + $resp = $client->request("/{$index}/{$type}/{$documentId}", Request::GET); + $data = $resp->getData(); + if (!empty($data['_source'])) { + return $data['_source']; + } + + return array(); + } +} diff --git a/vendor/monolog/monolog/tests/Monolog/Handler/ErrorLogHandlerTest.php b/vendor/monolog/monolog/tests/Monolog/Handler/ErrorLogHandlerTest.php new file mode 100644 index 00000000..99785cbb --- /dev/null +++ b/vendor/monolog/monolog/tests/Monolog/Handler/ErrorLogHandlerTest.php @@ -0,0 +1,66 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Monolog\Handler; + +use Monolog\TestCase; +use Monolog\Logger; +use Monolog\Formatter\LineFormatter; + +function error_log() +{ + $GLOBALS['error_log'][] = func_get_args(); +} + +class ErrorLogHandlerTest extends TestCase +{ + protected function setUp() + { + $GLOBALS['error_log'] = array(); + } + + /** + * @covers Monolog\Handler\ErrorLogHandler::__construct + * @expectedException InvalidArgumentException + * @expectedExceptionMessage The given message type "42" is not supported + */ + public function testShouldNotAcceptAnInvalidTypeOnContructor() + { + new ErrorLogHandler(42); + } + + /** + * @covers Monolog\Handler\ErrorLogHandler::write + */ + public function testShouldLogMessagesUsingErrorLogFuncion() + { + $type = ErrorLogHandler::OPERATING_SYSTEM; + $handler = new ErrorLogHandler($type); + $handler->setFormatter(new LineFormatter('%channel%.%level_name%: %message% %context% %extra%', null, true)); + $handler->handle($this->getRecord(Logger::ERROR, "Foo\nBar\r\n\r\nBaz")); + + $this->assertSame("test.ERROR: Foo\nBar\r\n\r\nBaz [] []", $GLOBALS['error_log'][0][0]); + $this->assertSame($GLOBALS['error_log'][0][1], $type); + + $handler = new ErrorLogHandler($type, Logger::DEBUG, true, true); + $handler->setFormatter(new LineFormatter(null, null, true)); + $handler->handle($this->getRecord(Logger::ERROR, "Foo\nBar\r\n\r\nBaz")); + + $this->assertStringMatchesFormat('[%s] test.ERROR: Foo', $GLOBALS['error_log'][1][0]); + $this->assertSame($GLOBALS['error_log'][1][1], $type); + + $this->assertStringMatchesFormat('Bar', $GLOBALS['error_log'][2][0]); + $this->assertSame($GLOBALS['error_log'][2][1], $type); + + $this->assertStringMatchesFormat('Baz [] []', $GLOBALS['error_log'][3][0]); + $this->assertSame($GLOBALS['error_log'][3][1], $type); + } +} diff --git a/vendor/monolog/monolog/tests/Monolog/Handler/FilterHandlerTest.php b/vendor/monolog/monolog/tests/Monolog/Handler/FilterHandlerTest.php new file mode 100644 index 00000000..31b7686a --- /dev/null +++ b/vendor/monolog/monolog/tests/Monolog/Handler/FilterHandlerTest.php @@ -0,0 +1,170 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Monolog\Handler; + +use Monolog\Logger; +use Monolog\TestCase; + +class FilterHandlerTest extends TestCase +{ + /** + * @covers Monolog\Handler\FilterHandler::isHandling + */ + public function testIsHandling() + { + $test = new TestHandler(); + $handler = new FilterHandler($test, Logger::INFO, Logger::NOTICE); + $this->assertFalse($handler->isHandling($this->getRecord(Logger::DEBUG))); + $this->assertTrue($handler->isHandling($this->getRecord(Logger::INFO))); + $this->assertTrue($handler->isHandling($this->getRecord(Logger::NOTICE))); + $this->assertFalse($handler->isHandling($this->getRecord(Logger::WARNING))); + $this->assertFalse($handler->isHandling($this->getRecord(Logger::ERROR))); + $this->assertFalse($handler->isHandling($this->getRecord(Logger::CRITICAL))); + $this->assertFalse($handler->isHandling($this->getRecord(Logger::ALERT))); + $this->assertFalse($handler->isHandling($this->getRecord(Logger::EMERGENCY))); + } + + /** + * @covers Monolog\Handler\FilterHandler::handle + * @covers Monolog\Handler\FilterHandler::setAcceptedLevels + * @covers Monolog\Handler\FilterHandler::isHandling + */ + public function testHandleProcessOnlyNeededLevels() + { + $test = new TestHandler(); + $handler = new FilterHandler($test, Logger::INFO, Logger::NOTICE); + + $handler->handle($this->getRecord(Logger::DEBUG)); + $this->assertFalse($test->hasDebugRecords()); + + $handler->handle($this->getRecord(Logger::INFO)); + $this->assertTrue($test->hasInfoRecords()); + $handler->handle($this->getRecord(Logger::NOTICE)); + $this->assertTrue($test->hasNoticeRecords()); + + $handler->handle($this->getRecord(Logger::WARNING)); + $this->assertFalse($test->hasWarningRecords()); + $handler->handle($this->getRecord(Logger::ERROR)); + $this->assertFalse($test->hasErrorRecords()); + $handler->handle($this->getRecord(Logger::CRITICAL)); + $this->assertFalse($test->hasCriticalRecords()); + $handler->handle($this->getRecord(Logger::ALERT)); + $this->assertFalse($test->hasAlertRecords()); + $handler->handle($this->getRecord(Logger::EMERGENCY)); + $this->assertFalse($test->hasEmergencyRecords()); + + $test = new TestHandler(); + $handler = new FilterHandler($test, array(Logger::INFO, Logger::ERROR)); + + $handler->handle($this->getRecord(Logger::DEBUG)); + $this->assertFalse($test->hasDebugRecords()); + $handler->handle($this->getRecord(Logger::INFO)); + $this->assertTrue($test->hasInfoRecords()); + $handler->handle($this->getRecord(Logger::NOTICE)); + $this->assertFalse($test->hasNoticeRecords()); + $handler->handle($this->getRecord(Logger::ERROR)); + $this->assertTrue($test->hasErrorRecords()); + $handler->handle($this->getRecord(Logger::CRITICAL)); + $this->assertFalse($test->hasCriticalRecords()); + } + + /** + * @covers Monolog\Handler\FilterHandler::setAcceptedLevels + * @covers Monolog\Handler\FilterHandler::getAcceptedLevels + */ + public function testAcceptedLevelApi() + { + $test = new TestHandler(); + $handler = new FilterHandler($test); + + $levels = array(Logger::INFO, Logger::ERROR); + $handler->setAcceptedLevels($levels); + $this->assertSame($levels, $handler->getAcceptedLevels()); + + $handler->setAcceptedLevels(array('info', 'error')); + $this->assertSame($levels, $handler->getAcceptedLevels()); + + $levels = array(Logger::CRITICAL, Logger::ALERT, Logger::EMERGENCY); + $handler->setAcceptedLevels(Logger::CRITICAL, Logger::EMERGENCY); + $this->assertSame($levels, $handler->getAcceptedLevels()); + + $handler->setAcceptedLevels('critical', 'emergency'); + $this->assertSame($levels, $handler->getAcceptedLevels()); + } + + /** + * @covers Monolog\Handler\FilterHandler::handle + */ + public function testHandleUsesProcessors() + { + $test = new TestHandler(); + $handler = new FilterHandler($test, Logger::DEBUG, Logger::EMERGENCY); + $handler->pushProcessor( + function ($record) { + $record['extra']['foo'] = true; + + return $record; + } + ); + $handler->handle($this->getRecord(Logger::WARNING)); + $this->assertTrue($test->hasWarningRecords()); + $records = $test->getRecords(); + $this->assertTrue($records[0]['extra']['foo']); + } + + /** + * @covers Monolog\Handler\FilterHandler::handle + */ + public function testHandleRespectsBubble() + { + $test = new TestHandler(); + + $handler = new FilterHandler($test, Logger::INFO, Logger::NOTICE, false); + $this->assertTrue($handler->handle($this->getRecord(Logger::INFO))); + $this->assertFalse($handler->handle($this->getRecord(Logger::WARNING))); + + $handler = new FilterHandler($test, Logger::INFO, Logger::NOTICE, true); + $this->assertFalse($handler->handle($this->getRecord(Logger::INFO))); + $this->assertFalse($handler->handle($this->getRecord(Logger::WARNING))); + } + + /** + * @covers Monolog\Handler\FilterHandler::handle + */ + public function testHandleWithCallback() + { + $test = new TestHandler(); + $handler = new FilterHandler( + function ($record, $handler) use ($test) { + return $test; + }, Logger::INFO, Logger::NOTICE, false + ); + $handler->handle($this->getRecord(Logger::DEBUG)); + $handler->handle($this->getRecord(Logger::INFO)); + $this->assertFalse($test->hasDebugRecords()); + $this->assertTrue($test->hasInfoRecords()); + } + + /** + * @covers Monolog\Handler\FilterHandler::handle + * @expectedException \RuntimeException + */ + public function testHandleWithBadCallbackThrowsException() + { + $handler = new FilterHandler( + function ($record, $handler) { + return 'foo'; + } + ); + $handler->handle($this->getRecord(Logger::WARNING)); + } +} diff --git a/vendor/monolog/monolog/tests/Monolog/Handler/FingersCrossedHandlerTest.php b/vendor/monolog/monolog/tests/Monolog/Handler/FingersCrossedHandlerTest.php new file mode 100644 index 00000000..b92bf437 --- /dev/null +++ b/vendor/monolog/monolog/tests/Monolog/Handler/FingersCrossedHandlerTest.php @@ -0,0 +1,279 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Monolog\Handler; + +use Monolog\TestCase; +use Monolog\Logger; +use Monolog\Handler\FingersCrossed\ErrorLevelActivationStrategy; +use Monolog\Handler\FingersCrossed\ChannelLevelActivationStrategy; +use Psr\Log\LogLevel; + +class FingersCrossedHandlerTest extends TestCase +{ + /** + * @covers Monolog\Handler\FingersCrossedHandler::__construct + * @covers Monolog\Handler\FingersCrossedHandler::handle + * @covers Monolog\Handler\FingersCrossedHandler::activate + */ + public function testHandleBuffers() + { + $test = new TestHandler(); + $handler = new FingersCrossedHandler($test); + $handler->handle($this->getRecord(Logger::DEBUG)); + $handler->handle($this->getRecord(Logger::INFO)); + $this->assertFalse($test->hasDebugRecords()); + $this->assertFalse($test->hasInfoRecords()); + $handler->handle($this->getRecord(Logger::WARNING)); + $handler->close(); + $this->assertTrue($test->hasInfoRecords()); + $this->assertTrue(count($test->getRecords()) === 3); + } + + /** + * @covers Monolog\Handler\FingersCrossedHandler::handle + * @covers Monolog\Handler\FingersCrossedHandler::activate + */ + public function testHandleStopsBufferingAfterTrigger() + { + $test = new TestHandler(); + $handler = new FingersCrossedHandler($test); + $handler->handle($this->getRecord(Logger::WARNING)); + $handler->handle($this->getRecord(Logger::DEBUG)); + $handler->close(); + $this->assertTrue($test->hasWarningRecords()); + $this->assertTrue($test->hasDebugRecords()); + } + + /** + * @covers Monolog\Handler\FingersCrossedHandler::handle + * @covers Monolog\Handler\FingersCrossedHandler::activate + * @covers Monolog\Handler\FingersCrossedHandler::reset + */ + public function testHandleRestartBufferingAfterReset() + { + $test = new TestHandler(); + $handler = new FingersCrossedHandler($test); + $handler->handle($this->getRecord(Logger::WARNING)); + $handler->handle($this->getRecord(Logger::DEBUG)); + $handler->reset(); + $handler->handle($this->getRecord(Logger::INFO)); + $handler->close(); + $this->assertTrue($test->hasWarningRecords()); + $this->assertTrue($test->hasDebugRecords()); + $this->assertFalse($test->hasInfoRecords()); + } + + /** + * @covers Monolog\Handler\FingersCrossedHandler::handle + * @covers Monolog\Handler\FingersCrossedHandler::activate + */ + public function testHandleRestartBufferingAfterBeingTriggeredWhenStopBufferingIsDisabled() + { + $test = new TestHandler(); + $handler = new FingersCrossedHandler($test, Logger::WARNING, 0, false, false); + $handler->handle($this->getRecord(Logger::DEBUG)); + $handler->handle($this->getRecord(Logger::WARNING)); + $handler->handle($this->getRecord(Logger::INFO)); + $handler->close(); + $this->assertTrue($test->hasWarningRecords()); + $this->assertTrue($test->hasDebugRecords()); + $this->assertFalse($test->hasInfoRecords()); + } + + /** + * @covers Monolog\Handler\FingersCrossedHandler::handle + * @covers Monolog\Handler\FingersCrossedHandler::activate + */ + public function testHandleBufferLimit() + { + $test = new TestHandler(); + $handler = new FingersCrossedHandler($test, Logger::WARNING, 2); + $handler->handle($this->getRecord(Logger::DEBUG)); + $handler->handle($this->getRecord(Logger::DEBUG)); + $handler->handle($this->getRecord(Logger::INFO)); + $handler->handle($this->getRecord(Logger::WARNING)); + $this->assertTrue($test->hasWarningRecords()); + $this->assertTrue($test->hasInfoRecords()); + $this->assertFalse($test->hasDebugRecords()); + } + + /** + * @covers Monolog\Handler\FingersCrossedHandler::handle + * @covers Monolog\Handler\FingersCrossedHandler::activate + */ + public function testHandleWithCallback() + { + $test = new TestHandler(); + $handler = new FingersCrossedHandler(function ($record, $handler) use ($test) { + return $test; + }); + $handler->handle($this->getRecord(Logger::DEBUG)); + $handler->handle($this->getRecord(Logger::INFO)); + $this->assertFalse($test->hasDebugRecords()); + $this->assertFalse($test->hasInfoRecords()); + $handler->handle($this->getRecord(Logger::WARNING)); + $this->assertTrue($test->hasInfoRecords()); + $this->assertTrue(count($test->getRecords()) === 3); + } + + /** + * @covers Monolog\Handler\FingersCrossedHandler::handle + * @covers Monolog\Handler\FingersCrossedHandler::activate + * @expectedException RuntimeException + */ + public function testHandleWithBadCallbackThrowsException() + { + $handler = new FingersCrossedHandler(function ($record, $handler) { + return 'foo'; + }); + $handler->handle($this->getRecord(Logger::WARNING)); + } + + /** + * @covers Monolog\Handler\FingersCrossedHandler::isHandling + */ + public function testIsHandlingAlways() + { + $test = new TestHandler(); + $handler = new FingersCrossedHandler($test, Logger::ERROR); + $this->assertTrue($handler->isHandling($this->getRecord(Logger::DEBUG))); + } + + /** + * @covers Monolog\Handler\FingersCrossedHandler::__construct + * @covers Monolog\Handler\FingersCrossed\ErrorLevelActivationStrategy::__construct + * @covers Monolog\Handler\FingersCrossed\ErrorLevelActivationStrategy::isHandlerActivated + */ + public function testErrorLevelActivationStrategy() + { + $test = new TestHandler(); + $handler = new FingersCrossedHandler($test, new ErrorLevelActivationStrategy(Logger::WARNING)); + $handler->handle($this->getRecord(Logger::DEBUG)); + $this->assertFalse($test->hasDebugRecords()); + $handler->handle($this->getRecord(Logger::WARNING)); + $this->assertTrue($test->hasDebugRecords()); + $this->assertTrue($test->hasWarningRecords()); + } + + /** + * @covers Monolog\Handler\FingersCrossedHandler::__construct + * @covers Monolog\Handler\FingersCrossed\ErrorLevelActivationStrategy::__construct + * @covers Monolog\Handler\FingersCrossed\ErrorLevelActivationStrategy::isHandlerActivated + */ + public function testErrorLevelActivationStrategyWithPsrLevel() + { + $test = new TestHandler(); + $handler = new FingersCrossedHandler($test, new ErrorLevelActivationStrategy('warning')); + $handler->handle($this->getRecord(Logger::DEBUG)); + $this->assertFalse($test->hasDebugRecords()); + $handler->handle($this->getRecord(Logger::WARNING)); + $this->assertTrue($test->hasDebugRecords()); + $this->assertTrue($test->hasWarningRecords()); + } + + /** + * @covers Monolog\Handler\FingersCrossedHandler::__construct + * @covers Monolog\Handler\FingersCrossedHandler::activate + */ + public function testOverrideActivationStrategy() + { + $test = new TestHandler(); + $handler = new FingersCrossedHandler($test, new ErrorLevelActivationStrategy('warning')); + $handler->handle($this->getRecord(Logger::DEBUG)); + $this->assertFalse($test->hasDebugRecords()); + $handler->activate(); + $this->assertTrue($test->hasDebugRecords()); + $handler->handle($this->getRecord(Logger::INFO)); + $this->assertTrue($test->hasInfoRecords()); + } + + /** + * @covers Monolog\Handler\FingersCrossed\ChannelLevelActivationStrategy::__construct + * @covers Monolog\Handler\FingersCrossed\ChannelLevelActivationStrategy::isHandlerActivated + */ + public function testChannelLevelActivationStrategy() + { + $test = new TestHandler(); + $handler = new FingersCrossedHandler($test, new ChannelLevelActivationStrategy(Logger::ERROR, array('othertest' => Logger::DEBUG))); + $handler->handle($this->getRecord(Logger::WARNING)); + $this->assertFalse($test->hasWarningRecords()); + $record = $this->getRecord(Logger::DEBUG); + $record['channel'] = 'othertest'; + $handler->handle($record); + $this->assertTrue($test->hasDebugRecords()); + $this->assertTrue($test->hasWarningRecords()); + } + + /** + * @covers Monolog\Handler\FingersCrossed\ChannelLevelActivationStrategy::__construct + * @covers Monolog\Handler\FingersCrossed\ChannelLevelActivationStrategy::isHandlerActivated + */ + public function testChannelLevelActivationStrategyWithPsrLevels() + { + $test = new TestHandler(); + $handler = new FingersCrossedHandler($test, new ChannelLevelActivationStrategy('error', array('othertest' => 'debug'))); + $handler->handle($this->getRecord(Logger::WARNING)); + $this->assertFalse($test->hasWarningRecords()); + $record = $this->getRecord(Logger::DEBUG); + $record['channel'] = 'othertest'; + $handler->handle($record); + $this->assertTrue($test->hasDebugRecords()); + $this->assertTrue($test->hasWarningRecords()); + } + + /** + * @covers Monolog\Handler\FingersCrossedHandler::handle + * @covers Monolog\Handler\FingersCrossedHandler::activate + */ + public function testHandleUsesProcessors() + { + $test = new TestHandler(); + $handler = new FingersCrossedHandler($test, Logger::INFO); + $handler->pushProcessor(function ($record) { + $record['extra']['foo'] = true; + + return $record; + }); + $handler->handle($this->getRecord(Logger::WARNING)); + $this->assertTrue($test->hasWarningRecords()); + $records = $test->getRecords(); + $this->assertTrue($records[0]['extra']['foo']); + } + + /** + * @covers Monolog\Handler\FingersCrossedHandler::close + */ + public function testPassthruOnClose() + { + $test = new TestHandler(); + $handler = new FingersCrossedHandler($test, new ErrorLevelActivationStrategy(Logger::WARNING), 0, true, true, Logger::INFO); + $handler->handle($this->getRecord(Logger::DEBUG)); + $handler->handle($this->getRecord(Logger::INFO)); + $handler->close(); + $this->assertFalse($test->hasDebugRecords()); + $this->assertTrue($test->hasInfoRecords()); + } + + /** + * @covers Monolog\Handler\FingersCrossedHandler::close + */ + public function testPsrLevelPassthruOnClose() + { + $test = new TestHandler(); + $handler = new FingersCrossedHandler($test, new ErrorLevelActivationStrategy(Logger::WARNING), 0, true, true, LogLevel::INFO); + $handler->handle($this->getRecord(Logger::DEBUG)); + $handler->handle($this->getRecord(Logger::INFO)); + $handler->close(); + $this->assertFalse($test->hasDebugRecords()); + $this->assertTrue($test->hasInfoRecords()); + } +} diff --git a/vendor/monolog/monolog/tests/Monolog/Handler/FirePHPHandlerTest.php b/vendor/monolog/monolog/tests/Monolog/Handler/FirePHPHandlerTest.php new file mode 100644 index 00000000..0eb10a63 --- /dev/null +++ b/vendor/monolog/monolog/tests/Monolog/Handler/FirePHPHandlerTest.php @@ -0,0 +1,96 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Monolog\Handler; + +use Monolog\TestCase; +use Monolog\Logger; + +/** + * @covers Monolog\Handler\FirePHPHandler + */ +class FirePHPHandlerTest extends TestCase +{ + public function setUp() + { + TestFirePHPHandler::reset(); + $_SERVER['HTTP_USER_AGENT'] = 'Monolog Test; FirePHP/1.0'; + } + + public function testHeaders() + { + $handler = new TestFirePHPHandler; + $handler->setFormatter($this->getIdentityFormatter()); + $handler->handle($this->getRecord(Logger::DEBUG)); + $handler->handle($this->getRecord(Logger::WARNING)); + + $expected = array( + 'X-Wf-Protocol-1' => 'http://meta.wildfirehq.org/Protocol/JsonStream/0.2', + 'X-Wf-1-Structure-1' => 'http://meta.firephp.org/Wildfire/Structure/FirePHP/FirebugConsole/0.1', + 'X-Wf-1-Plugin-1' => 'http://meta.firephp.org/Wildfire/Plugin/FirePHP/Library-FirePHPCore/0.3', + 'X-Wf-1-1-1-1' => 'test', + 'X-Wf-1-1-1-2' => 'test', + ); + + $this->assertEquals($expected, $handler->getHeaders()); + } + + public function testConcurrentHandlers() + { + $handler = new TestFirePHPHandler; + $handler->setFormatter($this->getIdentityFormatter()); + $handler->handle($this->getRecord(Logger::DEBUG)); + $handler->handle($this->getRecord(Logger::WARNING)); + + $handler2 = new TestFirePHPHandler; + $handler2->setFormatter($this->getIdentityFormatter()); + $handler2->handle($this->getRecord(Logger::DEBUG)); + $handler2->handle($this->getRecord(Logger::WARNING)); + + $expected = array( + 'X-Wf-Protocol-1' => 'http://meta.wildfirehq.org/Protocol/JsonStream/0.2', + 'X-Wf-1-Structure-1' => 'http://meta.firephp.org/Wildfire/Structure/FirePHP/FirebugConsole/0.1', + 'X-Wf-1-Plugin-1' => 'http://meta.firephp.org/Wildfire/Plugin/FirePHP/Library-FirePHPCore/0.3', + 'X-Wf-1-1-1-1' => 'test', + 'X-Wf-1-1-1-2' => 'test', + ); + + $expected2 = array( + 'X-Wf-1-1-1-3' => 'test', + 'X-Wf-1-1-1-4' => 'test', + ); + + $this->assertEquals($expected, $handler->getHeaders()); + $this->assertEquals($expected2, $handler2->getHeaders()); + } +} + +class TestFirePHPHandler extends FirePHPHandler +{ + protected $headers = array(); + + public static function reset() + { + self::$initialized = false; + self::$sendHeaders = true; + self::$messageIndex = 1; + } + + protected function sendHeader($header, $content) + { + $this->headers[$header] = $content; + } + + public function getHeaders() + { + return $this->headers; + } +} diff --git a/vendor/monolog/monolog/tests/Monolog/Handler/Fixtures/.gitkeep b/vendor/monolog/monolog/tests/Monolog/Handler/Fixtures/.gitkeep new file mode 100644 index 00000000..e69de29b diff --git a/vendor/monolog/monolog/tests/Monolog/Handler/FleepHookHandlerTest.php b/vendor/monolog/monolog/tests/Monolog/Handler/FleepHookHandlerTest.php new file mode 100644 index 00000000..91cdd312 --- /dev/null +++ b/vendor/monolog/monolog/tests/Monolog/Handler/FleepHookHandlerTest.php @@ -0,0 +1,85 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Monolog\Handler; + +use Monolog\Formatter\LineFormatter; +use Monolog\Logger; +use Monolog\TestCase; + +/** + * @coversDefaultClass \Monolog\Handler\FleepHookHandler + */ +class FleepHookHandlerTest extends TestCase +{ + /** + * Default token to use in tests + */ + const TOKEN = '123abc'; + + /** + * @var FleepHookHandler + */ + private $handler; + + public function setUp() + { + parent::setUp(); + + if (!extension_loaded('openssl')) { + $this->markTestSkipped('This test requires openssl extension to run'); + } + + // Create instances of the handler and logger for convenience + $this->handler = new FleepHookHandler(self::TOKEN); + } + + /** + * @covers ::__construct + */ + public function testConstructorSetsExpectedDefaults() + { + $this->assertEquals(Logger::DEBUG, $this->handler->getLevel()); + $this->assertEquals(true, $this->handler->getBubble()); + } + + /** + * @covers ::getDefaultFormatter + */ + public function testHandlerUsesLineFormatterWhichIgnoresEmptyArrays() + { + $record = array( + 'message' => 'msg', + 'context' => array(), + 'level' => Logger::DEBUG, + 'level_name' => Logger::getLevelName(Logger::DEBUG), + 'channel' => 'channel', + 'datetime' => new \DateTime(), + 'extra' => array(), + ); + + $expectedFormatter = new LineFormatter(null, null, true, true); + $expected = $expectedFormatter->format($record); + + $handlerFormatter = $this->handler->getFormatter(); + $actual = $handlerFormatter->format($record); + + $this->assertEquals($expected, $actual, 'Empty context and extra arrays should not be rendered'); + } + + /** + * @covers ::__construct + */ + public function testConnectionStringisConstructedCorrectly() + { + $this->assertEquals('ssl://' . FleepHookHandler::FLEEP_HOST . ':443', $this->handler->getConnectionString()); + } +} diff --git a/vendor/monolog/monolog/tests/Monolog/Handler/FlowdockHandlerTest.php b/vendor/monolog/monolog/tests/Monolog/Handler/FlowdockHandlerTest.php new file mode 100644 index 00000000..4b120d51 --- /dev/null +++ b/vendor/monolog/monolog/tests/Monolog/Handler/FlowdockHandlerTest.php @@ -0,0 +1,88 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Monolog\Handler; + +use Monolog\Formatter\FlowdockFormatter; +use Monolog\TestCase; +use Monolog\Logger; + +/** + * @author Dominik Liebler + * @see https://www.hipchat.com/docs/api + */ +class FlowdockHandlerTest extends TestCase +{ + /** + * @var resource + */ + private $res; + + /** + * @var FlowdockHandler + */ + private $handler; + + public function setUp() + { + if (!extension_loaded('openssl')) { + $this->markTestSkipped('This test requires openssl to run'); + } + } + + public function testWriteHeader() + { + $this->createHandler(); + $this->handler->handle($this->getRecord(Logger::CRITICAL, 'test1')); + fseek($this->res, 0); + $content = fread($this->res, 1024); + + $this->assertRegexp('/POST \/v1\/messages\/team_inbox\/.* HTTP\/1.1\\r\\nHost: api.flowdock.com\\r\\nContent-Type: application\/json\\r\\nContent-Length: \d{2,4}\\r\\n\\r\\n/', $content); + + return $content; + } + + /** + * @depends testWriteHeader + */ + public function testWriteContent($content) + { + $this->assertRegexp('/"source":"test_source"/', $content); + $this->assertRegexp('/"from_address":"source@test\.com"/', $content); + } + + private function createHandler($token = 'myToken') + { + $constructorArgs = array($token, Logger::DEBUG); + $this->res = fopen('php://memory', 'a'); + $this->handler = $this->getMock( + '\Monolog\Handler\FlowdockHandler', + array('fsockopen', 'streamSetTimeout', 'closeSocket'), + $constructorArgs + ); + + $reflectionProperty = new \ReflectionProperty('\Monolog\Handler\SocketHandler', 'connectionString'); + $reflectionProperty->setAccessible(true); + $reflectionProperty->setValue($this->handler, 'localhost:1234'); + + $this->handler->expects($this->any()) + ->method('fsockopen') + ->will($this->returnValue($this->res)); + $this->handler->expects($this->any()) + ->method('streamSetTimeout') + ->will($this->returnValue(true)); + $this->handler->expects($this->any()) + ->method('closeSocket') + ->will($this->returnValue(true)); + + $this->handler->setFormatter(new FlowdockFormatter('test_source', 'source@test.com')); + } +} diff --git a/vendor/monolog/monolog/tests/Monolog/Handler/GelfHandlerLegacyTest.php b/vendor/monolog/monolog/tests/Monolog/Handler/GelfHandlerLegacyTest.php new file mode 100644 index 00000000..9d007b13 --- /dev/null +++ b/vendor/monolog/monolog/tests/Monolog/Handler/GelfHandlerLegacyTest.php @@ -0,0 +1,95 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Monolog\Handler; + +use Gelf\Message; +use Monolog\TestCase; +use Monolog\Logger; +use Monolog\Formatter\GelfMessageFormatter; + +class GelfHandlerLegacyTest extends TestCase +{ + public function setUp() + { + if (!class_exists('Gelf\MessagePublisher') || !class_exists('Gelf\Message')) { + $this->markTestSkipped("mlehner/gelf-php not installed"); + } + + require_once __DIR__ . '/GelfMockMessagePublisher.php'; + } + + /** + * @covers Monolog\Handler\GelfHandler::__construct + */ + public function testConstruct() + { + $handler = new GelfHandler($this->getMessagePublisher()); + $this->assertInstanceOf('Monolog\Handler\GelfHandler', $handler); + } + + protected function getHandler($messagePublisher) + { + $handler = new GelfHandler($messagePublisher); + + return $handler; + } + + protected function getMessagePublisher() + { + return new GelfMockMessagePublisher('localhost'); + } + + public function testDebug() + { + $messagePublisher = $this->getMessagePublisher(); + $handler = $this->getHandler($messagePublisher); + + $record = $this->getRecord(Logger::DEBUG, "A test debug message"); + $handler->handle($record); + + $this->assertEquals(7, $messagePublisher->lastMessage->getLevel()); + $this->assertEquals('test', $messagePublisher->lastMessage->getFacility()); + $this->assertEquals($record['message'], $messagePublisher->lastMessage->getShortMessage()); + $this->assertEquals(null, $messagePublisher->lastMessage->getFullMessage()); + } + + public function testWarning() + { + $messagePublisher = $this->getMessagePublisher(); + $handler = $this->getHandler($messagePublisher); + + $record = $this->getRecord(Logger::WARNING, "A test warning message"); + $handler->handle($record); + + $this->assertEquals(4, $messagePublisher->lastMessage->getLevel()); + $this->assertEquals('test', $messagePublisher->lastMessage->getFacility()); + $this->assertEquals($record['message'], $messagePublisher->lastMessage->getShortMessage()); + $this->assertEquals(null, $messagePublisher->lastMessage->getFullMessage()); + } + + public function testInjectedGelfMessageFormatter() + { + $messagePublisher = $this->getMessagePublisher(); + $handler = $this->getHandler($messagePublisher); + + $handler->setFormatter(new GelfMessageFormatter('mysystem', 'EXT', 'CTX')); + + $record = $this->getRecord(Logger::WARNING, "A test warning message"); + $record['extra']['blarg'] = 'yep'; + $record['context']['from'] = 'logger'; + $handler->handle($record); + + $this->assertEquals('mysystem', $messagePublisher->lastMessage->getHost()); + $this->assertArrayHasKey('_EXTblarg', $messagePublisher->lastMessage->toArray()); + $this->assertArrayHasKey('_CTXfrom', $messagePublisher->lastMessage->toArray()); + } +} diff --git a/vendor/monolog/monolog/tests/Monolog/Handler/GelfHandlerTest.php b/vendor/monolog/monolog/tests/Monolog/Handler/GelfHandlerTest.php new file mode 100644 index 00000000..8cdd64f4 --- /dev/null +++ b/vendor/monolog/monolog/tests/Monolog/Handler/GelfHandlerTest.php @@ -0,0 +1,117 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Monolog\Handler; + +use Gelf\Message; +use Monolog\TestCase; +use Monolog\Logger; +use Monolog\Formatter\GelfMessageFormatter; + +class GelfHandlerTest extends TestCase +{ + public function setUp() + { + if (!class_exists('Gelf\Publisher') || !class_exists('Gelf\Message')) { + $this->markTestSkipped("graylog2/gelf-php not installed"); + } + } + + /** + * @covers Monolog\Handler\GelfHandler::__construct + */ + public function testConstruct() + { + $handler = new GelfHandler($this->getMessagePublisher()); + $this->assertInstanceOf('Monolog\Handler\GelfHandler', $handler); + } + + protected function getHandler($messagePublisher) + { + $handler = new GelfHandler($messagePublisher); + + return $handler; + } + + protected function getMessagePublisher() + { + return $this->getMock('Gelf\Publisher', array('publish'), array(), '', false); + } + + public function testDebug() + { + $record = $this->getRecord(Logger::DEBUG, "A test debug message"); + $expectedMessage = new Message(); + $expectedMessage + ->setLevel(7) + ->setFacility("test") + ->setShortMessage($record['message']) + ->setTimestamp($record['datetime']) + ; + + $messagePublisher = $this->getMessagePublisher(); + $messagePublisher->expects($this->once()) + ->method('publish') + ->with($expectedMessage); + + $handler = $this->getHandler($messagePublisher); + + $handler->handle($record); + } + + public function testWarning() + { + $record = $this->getRecord(Logger::WARNING, "A test warning message"); + $expectedMessage = new Message(); + $expectedMessage + ->setLevel(4) + ->setFacility("test") + ->setShortMessage($record['message']) + ->setTimestamp($record['datetime']) + ; + + $messagePublisher = $this->getMessagePublisher(); + $messagePublisher->expects($this->once()) + ->method('publish') + ->with($expectedMessage); + + $handler = $this->getHandler($messagePublisher); + + $handler->handle($record); + } + + public function testInjectedGelfMessageFormatter() + { + $record = $this->getRecord(Logger::WARNING, "A test warning message"); + $record['extra']['blarg'] = 'yep'; + $record['context']['from'] = 'logger'; + + $expectedMessage = new Message(); + $expectedMessage + ->setLevel(4) + ->setFacility("test") + ->setHost("mysystem") + ->setShortMessage($record['message']) + ->setTimestamp($record['datetime']) + ->setAdditional("EXTblarg", 'yep') + ->setAdditional("CTXfrom", 'logger') + ; + + $messagePublisher = $this->getMessagePublisher(); + $messagePublisher->expects($this->once()) + ->method('publish') + ->with($expectedMessage); + + $handler = $this->getHandler($messagePublisher); + $handler->setFormatter(new GelfMessageFormatter('mysystem', 'EXT', 'CTX')); + $handler->handle($record); + } +} diff --git a/vendor/monolog/monolog/tests/Monolog/Handler/GelfMockMessagePublisher.php b/vendor/monolog/monolog/tests/Monolog/Handler/GelfMockMessagePublisher.php new file mode 100644 index 00000000..873d92fb --- /dev/null +++ b/vendor/monolog/monolog/tests/Monolog/Handler/GelfMockMessagePublisher.php @@ -0,0 +1,25 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Monolog\Handler; + +use Gelf\MessagePublisher; +use Gelf\Message; + +class GelfMockMessagePublisher extends MessagePublisher +{ + public function publish(Message $message) + { + $this->lastMessage = $message; + } + + public $lastMessage = null; +} diff --git a/vendor/monolog/monolog/tests/Monolog/Handler/GroupHandlerTest.php b/vendor/monolog/monolog/tests/Monolog/Handler/GroupHandlerTest.php new file mode 100644 index 00000000..a1b86176 --- /dev/null +++ b/vendor/monolog/monolog/tests/Monolog/Handler/GroupHandlerTest.php @@ -0,0 +1,112 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Monolog\Handler; + +use Monolog\TestCase; +use Monolog\Logger; + +class GroupHandlerTest extends TestCase +{ + /** + * @covers Monolog\Handler\GroupHandler::__construct + * @expectedException InvalidArgumentException + */ + public function testConstructorOnlyTakesHandler() + { + new GroupHandler(array(new TestHandler(), "foo")); + } + + /** + * @covers Monolog\Handler\GroupHandler::__construct + * @covers Monolog\Handler\GroupHandler::handle + */ + public function testHandle() + { + $testHandlers = array(new TestHandler(), new TestHandler()); + $handler = new GroupHandler($testHandlers); + $handler->handle($this->getRecord(Logger::DEBUG)); + $handler->handle($this->getRecord(Logger::INFO)); + foreach ($testHandlers as $test) { + $this->assertTrue($test->hasDebugRecords()); + $this->assertTrue($test->hasInfoRecords()); + $this->assertTrue(count($test->getRecords()) === 2); + } + } + + /** + * @covers Monolog\Handler\GroupHandler::handleBatch + */ + public function testHandleBatch() + { + $testHandlers = array(new TestHandler(), new TestHandler()); + $handler = new GroupHandler($testHandlers); + $handler->handleBatch(array($this->getRecord(Logger::DEBUG), $this->getRecord(Logger::INFO))); + foreach ($testHandlers as $test) { + $this->assertTrue($test->hasDebugRecords()); + $this->assertTrue($test->hasInfoRecords()); + $this->assertTrue(count($test->getRecords()) === 2); + } + } + + /** + * @covers Monolog\Handler\GroupHandler::isHandling + */ + public function testIsHandling() + { + $testHandlers = array(new TestHandler(Logger::ERROR), new TestHandler(Logger::WARNING)); + $handler = new GroupHandler($testHandlers); + $this->assertTrue($handler->isHandling($this->getRecord(Logger::ERROR))); + $this->assertTrue($handler->isHandling($this->getRecord(Logger::WARNING))); + $this->assertFalse($handler->isHandling($this->getRecord(Logger::DEBUG))); + } + + /** + * @covers Monolog\Handler\GroupHandler::handle + */ + public function testHandleUsesProcessors() + { + $test = new TestHandler(); + $handler = new GroupHandler(array($test)); + $handler->pushProcessor(function ($record) { + $record['extra']['foo'] = true; + + return $record; + }); + $handler->handle($this->getRecord(Logger::WARNING)); + $this->assertTrue($test->hasWarningRecords()); + $records = $test->getRecords(); + $this->assertTrue($records[0]['extra']['foo']); + } + + /** + * @covers Monolog\Handler\GroupHandler::handle + */ + public function testHandleBatchUsesProcessors() + { + $testHandlers = array(new TestHandler(), new TestHandler()); + $handler = new GroupHandler($testHandlers); + $handler->pushProcessor(function ($record) { + $record['extra']['foo'] = true; + + return $record; + }); + $handler->handleBatch(array($this->getRecord(Logger::DEBUG), $this->getRecord(Logger::INFO))); + foreach ($testHandlers as $test) { + $this->assertTrue($test->hasDebugRecords()); + $this->assertTrue($test->hasInfoRecords()); + $this->assertTrue(count($test->getRecords()) === 2); + $records = $test->getRecords(); + $this->assertTrue($records[0]['extra']['foo']); + $this->assertTrue($records[1]['extra']['foo']); + } + } +} diff --git a/vendor/monolog/monolog/tests/Monolog/Handler/HandlerWrapperTest.php b/vendor/monolog/monolog/tests/Monolog/Handler/HandlerWrapperTest.php new file mode 100644 index 00000000..d8d0452c --- /dev/null +++ b/vendor/monolog/monolog/tests/Monolog/Handler/HandlerWrapperTest.php @@ -0,0 +1,130 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Monolog\Handler; + +use Monolog\TestCase; + +/** + * @author Alexey Karapetov + */ +class HandlerWrapperTest extends TestCase +{ + /** + * @var HandlerWrapper + */ + private $wrapper; + + private $handler; + + public function setUp() + { + parent::setUp(); + $this->handler = $this->getMock('Monolog\\Handler\\HandlerInterface'); + $this->wrapper = new HandlerWrapper($this->handler); + } + + /** + * @return array + */ + public function trueFalseDataProvider() + { + return array( + array(true), + array(false), + ); + } + + /** + * @param $result + * @dataProvider trueFalseDataProvider + */ + public function testIsHandling($result) + { + $record = $this->getRecord(); + $this->handler->expects($this->once()) + ->method('isHandling') + ->with($record) + ->willReturn($result); + + $this->assertEquals($result, $this->wrapper->isHandling($record)); + } + + /** + * @param $result + * @dataProvider trueFalseDataProvider + */ + public function testHandle($result) + { + $record = $this->getRecord(); + $this->handler->expects($this->once()) + ->method('handle') + ->with($record) + ->willReturn($result); + + $this->assertEquals($result, $this->wrapper->handle($record)); + } + + /** + * @param $result + * @dataProvider trueFalseDataProvider + */ + public function testHandleBatch($result) + { + $records = $this->getMultipleRecords(); + $this->handler->expects($this->once()) + ->method('handleBatch') + ->with($records) + ->willReturn($result); + + $this->assertEquals($result, $this->wrapper->handleBatch($records)); + } + + public function testPushProcessor() + { + $processor = function () {}; + $this->handler->expects($this->once()) + ->method('pushProcessor') + ->with($processor); + + $this->assertEquals($this->wrapper, $this->wrapper->pushProcessor($processor)); + } + + public function testPopProcessor() + { + $processor = function () {}; + $this->handler->expects($this->once()) + ->method('popProcessor') + ->willReturn($processor); + + $this->assertEquals($processor, $this->wrapper->popProcessor()); + } + + public function testSetFormatter() + { + $formatter = $this->getMock('Monolog\\Formatter\\FormatterInterface'); + $this->handler->expects($this->once()) + ->method('setFormatter') + ->with($formatter); + + $this->assertEquals($this->wrapper, $this->wrapper->setFormatter($formatter)); + } + + public function testGetFormatter() + { + $formatter = $this->getMock('Monolog\\Formatter\\FormatterInterface'); + $this->handler->expects($this->once()) + ->method('getFormatter') + ->willReturn($formatter); + + $this->assertEquals($formatter, $this->wrapper->getFormatter()); + } +} diff --git a/vendor/monolog/monolog/tests/Monolog/Handler/HipChatHandlerTest.php b/vendor/monolog/monolog/tests/Monolog/Handler/HipChatHandlerTest.php new file mode 100644 index 00000000..52dc9dac --- /dev/null +++ b/vendor/monolog/monolog/tests/Monolog/Handler/HipChatHandlerTest.php @@ -0,0 +1,279 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Monolog\Handler; + +use Monolog\TestCase; +use Monolog\Logger; + +/** + * @author Rafael Dohms + * @see https://www.hipchat.com/docs/api + */ +class HipChatHandlerTest extends TestCase +{ + private $res; + /** @var HipChatHandler */ + private $handler; + + public function testWriteHeader() + { + $this->createHandler(); + $this->handler->handle($this->getRecord(Logger::CRITICAL, 'test1')); + fseek($this->res, 0); + $content = fread($this->res, 1024); + + $this->assertRegexp('/POST \/v1\/rooms\/message\?format=json&auth_token=.* HTTP\/1.1\\r\\nHost: api.hipchat.com\\r\\nContent-Type: application\/x-www-form-urlencoded\\r\\nContent-Length: \d{2,4}\\r\\n\\r\\n/', $content); + + return $content; + } + + public function testWriteCustomHostHeader() + { + $this->createHandler('myToken', 'room1', 'Monolog', true, 'hipchat.foo.bar'); + $this->handler->handle($this->getRecord(Logger::CRITICAL, 'test1')); + fseek($this->res, 0); + $content = fread($this->res, 1024); + + $this->assertRegexp('/POST \/v1\/rooms\/message\?format=json&auth_token=.* HTTP\/1.1\\r\\nHost: hipchat.foo.bar\\r\\nContent-Type: application\/x-www-form-urlencoded\\r\\nContent-Length: \d{2,4}\\r\\n\\r\\n/', $content); + + return $content; + } + + public function testWriteV2() + { + $this->createHandler('myToken', 'room1', 'Monolog', false, 'hipchat.foo.bar', 'v2'); + $this->handler->handle($this->getRecord(Logger::CRITICAL, 'test1')); + fseek($this->res, 0); + $content = fread($this->res, 1024); + + $this->assertRegexp('/POST \/v2\/room\/room1\/notification\?auth_token=.* HTTP\/1.1\\r\\nHost: hipchat.foo.bar\\r\\nContent-Type: application\/x-www-form-urlencoded\\r\\nContent-Length: \d{2,4}\\r\\n\\r\\n/', $content); + + return $content; + } + + public function testWriteV2Notify() + { + $this->createHandler('myToken', 'room1', 'Monolog', true, 'hipchat.foo.bar', 'v2'); + $this->handler->handle($this->getRecord(Logger::CRITICAL, 'test1')); + fseek($this->res, 0); + $content = fread($this->res, 1024); + + $this->assertRegexp('/POST \/v2\/room\/room1\/notification\?auth_token=.* HTTP\/1.1\\r\\nHost: hipchat.foo.bar\\r\\nContent-Type: application\/x-www-form-urlencoded\\r\\nContent-Length: \d{2,4}\\r\\n\\r\\n/', $content); + + return $content; + } + + public function testRoomSpaces() + { + $this->createHandler('myToken', 'room name', 'Monolog', false, 'hipchat.foo.bar', 'v2'); + $this->handler->handle($this->getRecord(Logger::CRITICAL, 'test1')); + fseek($this->res, 0); + $content = fread($this->res, 1024); + + $this->assertRegexp('/POST \/v2\/room\/room%20name\/notification\?auth_token=.* HTTP\/1.1\\r\\nHost: hipchat.foo.bar\\r\\nContent-Type: application\/x-www-form-urlencoded\\r\\nContent-Length: \d{2,4}\\r\\n\\r\\n/', $content); + + return $content; + } + + /** + * @depends testWriteHeader + */ + public function testWriteContent($content) + { + $this->assertRegexp('/notify=0&message=test1&message_format=text&color=red&room_id=room1&from=Monolog$/', $content); + } + + public function testWriteContentV1WithoutName() + { + $this->createHandler('myToken', 'room1', null, false, 'hipchat.foo.bar', 'v1'); + $this->handler->handle($this->getRecord(Logger::CRITICAL, 'test1')); + fseek($this->res, 0); + $content = fread($this->res, 1024); + + $this->assertRegexp('/notify=0&message=test1&message_format=text&color=red&room_id=room1&from=$/', $content); + + return $content; + } + + /** + * @depends testWriteCustomHostHeader + */ + public function testWriteContentNotify($content) + { + $this->assertRegexp('/notify=1&message=test1&message_format=text&color=red&room_id=room1&from=Monolog$/', $content); + } + + /** + * @depends testWriteV2 + */ + public function testWriteContentV2($content) + { + $this->assertRegexp('/notify=false&message=test1&message_format=text&color=red&from=Monolog$/', $content); + } + + /** + * @depends testWriteV2Notify + */ + public function testWriteContentV2Notify($content) + { + $this->assertRegexp('/notify=true&message=test1&message_format=text&color=red&from=Monolog$/', $content); + } + + public function testWriteContentV2WithoutName() + { + $this->createHandler('myToken', 'room1', null, false, 'hipchat.foo.bar', 'v2'); + $this->handler->handle($this->getRecord(Logger::CRITICAL, 'test1')); + fseek($this->res, 0); + $content = fread($this->res, 1024); + + $this->assertRegexp('/notify=false&message=test1&message_format=text&color=red$/', $content); + + return $content; + } + + public function testWriteWithComplexMessage() + { + $this->createHandler(); + $this->handler->handle($this->getRecord(Logger::CRITICAL, 'Backup of database "example" finished in 16 minutes.')); + fseek($this->res, 0); + $content = fread($this->res, 1024); + + $this->assertRegexp('/message=Backup\+of\+database\+%22example%22\+finished\+in\+16\+minutes\./', $content); + } + + public function testWriteTruncatesLongMessage() + { + $this->createHandler(); + $this->handler->handle($this->getRecord(Logger::CRITICAL, str_repeat('abcde', 2000))); + fseek($this->res, 0); + $content = fread($this->res, 12000); + + $this->assertRegexp('/message='.str_repeat('abcde', 1900).'\+%5Btruncated%5D/', $content); + } + + /** + * @dataProvider provideLevelColors + */ + public function testWriteWithErrorLevelsAndColors($level, $expectedColor) + { + $this->createHandler(); + $this->handler->handle($this->getRecord($level, 'Backup of database "example" finished in 16 minutes.')); + fseek($this->res, 0); + $content = fread($this->res, 1024); + + $this->assertRegexp('/color='.$expectedColor.'/', $content); + } + + public function provideLevelColors() + { + return array( + array(Logger::DEBUG, 'gray'), + array(Logger::INFO, 'green'), + array(Logger::WARNING, 'yellow'), + array(Logger::ERROR, 'red'), + array(Logger::CRITICAL, 'red'), + array(Logger::ALERT, 'red'), + array(Logger::EMERGENCY,'red'), + array(Logger::NOTICE, 'green'), + ); + } + + /** + * @dataProvider provideBatchRecords + */ + public function testHandleBatch($records, $expectedColor) + { + $this->createHandler(); + + $this->handler->handleBatch($records); + + fseek($this->res, 0); + $content = fread($this->res, 1024); + + $this->assertRegexp('/color='.$expectedColor.'/', $content); + } + + public function provideBatchRecords() + { + return array( + array( + array( + array('level' => Logger::WARNING, 'message' => 'Oh bugger!', 'level_name' => 'warning', 'datetime' => new \DateTime()), + array('level' => Logger::NOTICE, 'message' => 'Something noticeable happened.', 'level_name' => 'notice', 'datetime' => new \DateTime()), + array('level' => Logger::CRITICAL, 'message' => 'Everything is broken!', 'level_name' => 'critical', 'datetime' => new \DateTime()), + ), + 'red', + ), + array( + array( + array('level' => Logger::WARNING, 'message' => 'Oh bugger!', 'level_name' => 'warning', 'datetime' => new \DateTime()), + array('level' => Logger::NOTICE, 'message' => 'Something noticeable happened.', 'level_name' => 'notice', 'datetime' => new \DateTime()), + ), + 'yellow', + ), + array( + array( + array('level' => Logger::DEBUG, 'message' => 'Just debugging.', 'level_name' => 'debug', 'datetime' => new \DateTime()), + array('level' => Logger::NOTICE, 'message' => 'Something noticeable happened.', 'level_name' => 'notice', 'datetime' => new \DateTime()), + ), + 'green', + ), + array( + array( + array('level' => Logger::DEBUG, 'message' => 'Just debugging.', 'level_name' => 'debug', 'datetime' => new \DateTime()), + ), + 'gray', + ), + ); + } + + private function createHandler($token = 'myToken', $room = 'room1', $name = 'Monolog', $notify = false, $host = 'api.hipchat.com', $version = 'v1') + { + $constructorArgs = array($token, $room, $name, $notify, Logger::DEBUG, true, true, 'text', $host, $version); + $this->res = fopen('php://memory', 'a'); + $this->handler = $this->getMock( + '\Monolog\Handler\HipChatHandler', + array('fsockopen', 'streamSetTimeout', 'closeSocket'), + $constructorArgs + ); + + $reflectionProperty = new \ReflectionProperty('\Monolog\Handler\SocketHandler', 'connectionString'); + $reflectionProperty->setAccessible(true); + $reflectionProperty->setValue($this->handler, 'localhost:1234'); + + $this->handler->expects($this->any()) + ->method('fsockopen') + ->will($this->returnValue($this->res)); + $this->handler->expects($this->any()) + ->method('streamSetTimeout') + ->will($this->returnValue(true)); + $this->handler->expects($this->any()) + ->method('closeSocket') + ->will($this->returnValue(true)); + + $this->handler->setFormatter($this->getIdentityFormatter()); + } + + /** + * @expectedException InvalidArgumentException + */ + public function testCreateWithTooLongName() + { + $hipChatHandler = new HipChatHandler('token', 'room', 'SixteenCharsHere'); + } + + public function testCreateWithTooLongNameV2() + { + // creating a handler with too long of a name but using the v2 api doesn't matter. + $hipChatHandler = new HipChatHandler('token', 'room', 'SixteenCharsHere', false, Logger::CRITICAL, true, true, 'test', 'api.hipchat.com', 'v2'); + } +} diff --git a/vendor/monolog/monolog/tests/Monolog/Handler/LogEntriesHandlerTest.php b/vendor/monolog/monolog/tests/Monolog/Handler/LogEntriesHandlerTest.php new file mode 100644 index 00000000..b2deb40a --- /dev/null +++ b/vendor/monolog/monolog/tests/Monolog/Handler/LogEntriesHandlerTest.php @@ -0,0 +1,84 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Monolog\Handler; + +use Monolog\TestCase; +use Monolog\Logger; + +/** + * @author Robert Kaufmann III + */ +class LogEntriesHandlerTest extends TestCase +{ + /** + * @var resource + */ + private $res; + + /** + * @var LogEntriesHandler + */ + private $handler; + + public function testWriteContent() + { + $this->createHandler(); + $this->handler->handle($this->getRecord(Logger::CRITICAL, 'Critical write test')); + + fseek($this->res, 0); + $content = fread($this->res, 1024); + + $this->assertRegexp('/testToken \[\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}\] test.CRITICAL: Critical write test/', $content); + } + + public function testWriteBatchContent() + { + $records = array( + $this->getRecord(), + $this->getRecord(), + $this->getRecord(), + ); + $this->createHandler(); + $this->handler->handleBatch($records); + + fseek($this->res, 0); + $content = fread($this->res, 1024); + + $this->assertRegexp('/(testToken \[\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}\] .* \[\] \[\]\n){3}/', $content); + } + + private function createHandler() + { + $useSSL = extension_loaded('openssl'); + $args = array('testToken', $useSSL, Logger::DEBUG, true); + $this->res = fopen('php://memory', 'a'); + $this->handler = $this->getMock( + '\Monolog\Handler\LogEntriesHandler', + array('fsockopen', 'streamSetTimeout', 'closeSocket'), + $args + ); + + $reflectionProperty = new \ReflectionProperty('\Monolog\Handler\SocketHandler', 'connectionString'); + $reflectionProperty->setAccessible(true); + $reflectionProperty->setValue($this->handler, 'localhost:1234'); + + $this->handler->expects($this->any()) + ->method('fsockopen') + ->will($this->returnValue($this->res)); + $this->handler->expects($this->any()) + ->method('streamSetTimeout') + ->will($this->returnValue(true)); + $this->handler->expects($this->any()) + ->method('closeSocket') + ->will($this->returnValue(true)); + } +} diff --git a/vendor/monolog/monolog/tests/Monolog/Handler/MailHandlerTest.php b/vendor/monolog/monolog/tests/Monolog/Handler/MailHandlerTest.php new file mode 100644 index 00000000..6754f3d6 --- /dev/null +++ b/vendor/monolog/monolog/tests/Monolog/Handler/MailHandlerTest.php @@ -0,0 +1,75 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Monolog\Handler; + +use Monolog\Logger; +use Monolog\TestCase; + +class MailHandlerTest extends TestCase +{ + /** + * @covers Monolog\Handler\MailHandler::handleBatch + */ + public function testHandleBatch() + { + $formatter = $this->getMock('Monolog\\Formatter\\FormatterInterface'); + $formatter->expects($this->once()) + ->method('formatBatch'); // Each record is formatted + + $handler = $this->getMockForAbstractClass('Monolog\\Handler\\MailHandler'); + $handler->expects($this->once()) + ->method('send'); + $handler->expects($this->never()) + ->method('write'); // write is for individual records + + $handler->setFormatter($formatter); + + $handler->handleBatch($this->getMultipleRecords()); + } + + /** + * @covers Monolog\Handler\MailHandler::handleBatch + */ + public function testHandleBatchNotSendsMailIfMessagesAreBelowLevel() + { + $records = array( + $this->getRecord(Logger::DEBUG, 'debug message 1'), + $this->getRecord(Logger::DEBUG, 'debug message 2'), + $this->getRecord(Logger::INFO, 'information'), + ); + + $handler = $this->getMockForAbstractClass('Monolog\\Handler\\MailHandler'); + $handler->expects($this->never()) + ->method('send'); + $handler->setLevel(Logger::ERROR); + + $handler->handleBatch($records); + } + + /** + * @covers Monolog\Handler\MailHandler::write + */ + public function testHandle() + { + $handler = $this->getMockForAbstractClass('Monolog\\Handler\\MailHandler'); + + $record = $this->getRecord(); + $records = array($record); + $records[0]['formatted'] = '['.$record['datetime']->format('Y-m-d H:i:s').'] test.WARNING: test [] []'."\n"; + + $handler->expects($this->once()) + ->method('send') + ->with($records[0]['formatted'], $records); + + $handler->handle($record); + } +} diff --git a/vendor/monolog/monolog/tests/Monolog/Handler/MockRavenClient.php b/vendor/monolog/monolog/tests/Monolog/Handler/MockRavenClient.php new file mode 100644 index 00000000..a0833225 --- /dev/null +++ b/vendor/monolog/monolog/tests/Monolog/Handler/MockRavenClient.php @@ -0,0 +1,27 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Monolog\Handler; + +use Raven_Client; + +class MockRavenClient extends Raven_Client +{ + public function capture($data, $stack, $vars = null) + { + $data = array_merge($this->get_user_data(), $data); + $this->lastData = $data; + $this->lastStack = $stack; + } + + public $lastData; + public $lastStack; +} diff --git a/vendor/monolog/monolog/tests/Monolog/Handler/MongoDBHandlerTest.php b/vendor/monolog/monolog/tests/Monolog/Handler/MongoDBHandlerTest.php new file mode 100644 index 00000000..0fdef63a --- /dev/null +++ b/vendor/monolog/monolog/tests/Monolog/Handler/MongoDBHandlerTest.php @@ -0,0 +1,65 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Monolog\Handler; + +use Monolog\TestCase; +use Monolog\Logger; + +class MongoDBHandlerTest extends TestCase +{ + /** + * @expectedException InvalidArgumentException + */ + public function testConstructorShouldThrowExceptionForInvalidMongo() + { + new MongoDBHandler(new \stdClass(), 'DB', 'Collection'); + } + + public function testHandle() + { + $mongo = $this->getMock('Mongo', array('selectCollection'), array(), '', false); + $collection = $this->getMock('stdClass', array('save')); + + $mongo->expects($this->once()) + ->method('selectCollection') + ->with('DB', 'Collection') + ->will($this->returnValue($collection)); + + $record = $this->getRecord(Logger::WARNING, 'test', array('data' => new \stdClass, 'foo' => 34)); + + $expected = array( + 'message' => 'test', + 'context' => array('data' => '[object] (stdClass: {})', 'foo' => 34), + 'level' => Logger::WARNING, + 'level_name' => 'WARNING', + 'channel' => 'test', + 'datetime' => $record['datetime']->format('Y-m-d H:i:s'), + 'extra' => array(), + ); + + $collection->expects($this->once()) + ->method('save') + ->with($expected); + + $handler = new MongoDBHandler($mongo, 'DB', 'Collection'); + $handler->handle($record); + } +} + +if (!class_exists('Mongo')) { + class Mongo + { + public function selectCollection() + { + } + } +} diff --git a/vendor/monolog/monolog/tests/Monolog/Handler/NativeMailerHandlerTest.php b/vendor/monolog/monolog/tests/Monolog/Handler/NativeMailerHandlerTest.php new file mode 100644 index 00000000..ddf545db --- /dev/null +++ b/vendor/monolog/monolog/tests/Monolog/Handler/NativeMailerHandlerTest.php @@ -0,0 +1,111 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Monolog\Handler; + +use Monolog\TestCase; +use Monolog\Logger; +use InvalidArgumentException; + +function mail($to, $subject, $message, $additional_headers = null, $additional_parameters = null) +{ + $GLOBALS['mail'][] = func_get_args(); +} + +class NativeMailerHandlerTest extends TestCase +{ + protected function setUp() + { + $GLOBALS['mail'] = array(); + } + + /** + * @expectedException InvalidArgumentException + */ + public function testConstructorHeaderInjection() + { + $mailer = new NativeMailerHandler('spammer@example.org', 'dear victim', "receiver@example.org\r\nFrom: faked@attacker.org"); + } + + /** + * @expectedException InvalidArgumentException + */ + public function testSetterHeaderInjection() + { + $mailer = new NativeMailerHandler('spammer@example.org', 'dear victim', 'receiver@example.org'); + $mailer->addHeader("Content-Type: text/html\r\nFrom: faked@attacker.org"); + } + + /** + * @expectedException InvalidArgumentException + */ + public function testSetterArrayHeaderInjection() + { + $mailer = new NativeMailerHandler('spammer@example.org', 'dear victim', 'receiver@example.org'); + $mailer->addHeader(array("Content-Type: text/html\r\nFrom: faked@attacker.org")); + } + + /** + * @expectedException InvalidArgumentException + */ + public function testSetterContentTypeInjection() + { + $mailer = new NativeMailerHandler('spammer@example.org', 'dear victim', 'receiver@example.org'); + $mailer->setContentType("text/html\r\nFrom: faked@attacker.org"); + } + + /** + * @expectedException InvalidArgumentException + */ + public function testSetterEncodingInjection() + { + $mailer = new NativeMailerHandler('spammer@example.org', 'dear victim', 'receiver@example.org'); + $mailer->setEncoding("utf-8\r\nFrom: faked@attacker.org"); + } + + public function testSend() + { + $to = 'spammer@example.org'; + $subject = 'dear victim'; + $from = 'receiver@example.org'; + + $mailer = new NativeMailerHandler($to, $subject, $from); + $mailer->handleBatch(array()); + + // batch is empty, nothing sent + $this->assertEmpty($GLOBALS['mail']); + + // non-empty batch + $mailer->handle($this->getRecord(Logger::ERROR, "Foo\nBar\r\n\r\nBaz")); + $this->assertNotEmpty($GLOBALS['mail']); + $this->assertInternalType('array', $GLOBALS['mail']); + $this->assertArrayHasKey('0', $GLOBALS['mail']); + $params = $GLOBALS['mail'][0]; + $this->assertCount(5, $params); + $this->assertSame($to, $params[0]); + $this->assertSame($subject, $params[1]); + $this->assertStringEndsWith(" test.ERROR: Foo Bar Baz [] []\n", $params[2]); + $this->assertSame("From: $from\r\nContent-type: text/plain; charset=utf-8\r\n", $params[3]); + $this->assertSame('', $params[4]); + } + + public function testMessageSubjectFormatting() + { + $mailer = new NativeMailerHandler('to@example.org', 'Alert: %level_name% %message%', 'from@example.org'); + $mailer->handle($this->getRecord(Logger::ERROR, "Foo\nBar\r\n\r\nBaz")); + $this->assertNotEmpty($GLOBALS['mail']); + $this->assertInternalType('array', $GLOBALS['mail']); + $this->assertArrayHasKey('0', $GLOBALS['mail']); + $params = $GLOBALS['mail'][0]; + $this->assertCount(5, $params); + $this->assertSame('Alert: ERROR Foo Bar Baz', $params[1]); + } +} diff --git a/vendor/monolog/monolog/tests/Monolog/Handler/NewRelicHandlerTest.php b/vendor/monolog/monolog/tests/Monolog/Handler/NewRelicHandlerTest.php new file mode 100644 index 00000000..4d3a615f --- /dev/null +++ b/vendor/monolog/monolog/tests/Monolog/Handler/NewRelicHandlerTest.php @@ -0,0 +1,200 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Monolog\Handler; + +use Monolog\Formatter\LineFormatter; +use Monolog\TestCase; +use Monolog\Logger; + +class NewRelicHandlerTest extends TestCase +{ + public static $appname; + public static $customParameters; + public static $transactionName; + + public function setUp() + { + self::$appname = null; + self::$customParameters = array(); + self::$transactionName = null; + } + + /** + * @expectedException Monolog\Handler\MissingExtensionException + */ + public function testThehandlerThrowsAnExceptionIfTheNRExtensionIsNotLoaded() + { + $handler = new StubNewRelicHandlerWithoutExtension(); + $handler->handle($this->getRecord(Logger::ERROR)); + } + + public function testThehandlerCanHandleTheRecord() + { + $handler = new StubNewRelicHandler(); + $handler->handle($this->getRecord(Logger::ERROR)); + } + + public function testThehandlerCanAddContextParamsToTheNewRelicTrace() + { + $handler = new StubNewRelicHandler(); + $handler->handle($this->getRecord(Logger::ERROR, 'log message', array('a' => 'b'))); + $this->assertEquals(array('context_a' => 'b'), self::$customParameters); + } + + public function testThehandlerCanAddExplodedContextParamsToTheNewRelicTrace() + { + $handler = new StubNewRelicHandler(Logger::ERROR, true, self::$appname, true); + $handler->handle($this->getRecord( + Logger::ERROR, + 'log message', + array('a' => array('key1' => 'value1', 'key2' => 'value2')) + )); + $this->assertEquals( + array('context_a_key1' => 'value1', 'context_a_key2' => 'value2'), + self::$customParameters + ); + } + + public function testThehandlerCanAddExtraParamsToTheNewRelicTrace() + { + $record = $this->getRecord(Logger::ERROR, 'log message'); + $record['extra'] = array('c' => 'd'); + + $handler = new StubNewRelicHandler(); + $handler->handle($record); + + $this->assertEquals(array('extra_c' => 'd'), self::$customParameters); + } + + public function testThehandlerCanAddExplodedExtraParamsToTheNewRelicTrace() + { + $record = $this->getRecord(Logger::ERROR, 'log message'); + $record['extra'] = array('c' => array('key1' => 'value1', 'key2' => 'value2')); + + $handler = new StubNewRelicHandler(Logger::ERROR, true, self::$appname, true); + $handler->handle($record); + + $this->assertEquals( + array('extra_c_key1' => 'value1', 'extra_c_key2' => 'value2'), + self::$customParameters + ); + } + + public function testThehandlerCanAddExtraContextAndParamsToTheNewRelicTrace() + { + $record = $this->getRecord(Logger::ERROR, 'log message', array('a' => 'b')); + $record['extra'] = array('c' => 'd'); + + $handler = new StubNewRelicHandler(); + $handler->handle($record); + + $expected = array( + 'context_a' => 'b', + 'extra_c' => 'd', + ); + + $this->assertEquals($expected, self::$customParameters); + } + + public function testThehandlerCanHandleTheRecordsFormattedUsingTheLineFormatter() + { + $handler = new StubNewRelicHandler(); + $handler->setFormatter(new LineFormatter()); + $handler->handle($this->getRecord(Logger::ERROR)); + } + + public function testTheAppNameIsNullByDefault() + { + $handler = new StubNewRelicHandler(); + $handler->handle($this->getRecord(Logger::ERROR, 'log message')); + + $this->assertEquals(null, self::$appname); + } + + public function testTheAppNameCanBeInjectedFromtheConstructor() + { + $handler = new StubNewRelicHandler(Logger::DEBUG, false, 'myAppName'); + $handler->handle($this->getRecord(Logger::ERROR, 'log message')); + + $this->assertEquals('myAppName', self::$appname); + } + + public function testTheAppNameCanBeOverriddenFromEachLog() + { + $handler = new StubNewRelicHandler(Logger::DEBUG, false, 'myAppName'); + $handler->handle($this->getRecord(Logger::ERROR, 'log message', array('appname' => 'logAppName'))); + + $this->assertEquals('logAppName', self::$appname); + } + + public function testTheTransactionNameIsNullByDefault() + { + $handler = new StubNewRelicHandler(); + $handler->handle($this->getRecord(Logger::ERROR, 'log message')); + + $this->assertEquals(null, self::$transactionName); + } + + public function testTheTransactionNameCanBeInjectedFromTheConstructor() + { + $handler = new StubNewRelicHandler(Logger::DEBUG, false, null, false, 'myTransaction'); + $handler->handle($this->getRecord(Logger::ERROR, 'log message')); + + $this->assertEquals('myTransaction', self::$transactionName); + } + + public function testTheTransactionNameCanBeOverriddenFromEachLog() + { + $handler = new StubNewRelicHandler(Logger::DEBUG, false, null, false, 'myTransaction'); + $handler->handle($this->getRecord(Logger::ERROR, 'log message', array('transaction_name' => 'logTransactName'))); + + $this->assertEquals('logTransactName', self::$transactionName); + } +} + +class StubNewRelicHandlerWithoutExtension extends NewRelicHandler +{ + protected function isNewRelicEnabled() + { + return false; + } +} + +class StubNewRelicHandler extends NewRelicHandler +{ + protected function isNewRelicEnabled() + { + return true; + } +} + +function newrelic_notice_error() +{ + return true; +} + +function newrelic_set_appname($appname) +{ + return NewRelicHandlerTest::$appname = $appname; +} + +function newrelic_name_transaction($transactionName) +{ + return NewRelicHandlerTest::$transactionName = $transactionName; +} + +function newrelic_add_custom_parameter($key, $value) +{ + NewRelicHandlerTest::$customParameters[$key] = $value; + + return true; +} diff --git a/vendor/monolog/monolog/tests/Monolog/Handler/NullHandlerTest.php b/vendor/monolog/monolog/tests/Monolog/Handler/NullHandlerTest.php new file mode 100644 index 00000000..292df78c --- /dev/null +++ b/vendor/monolog/monolog/tests/Monolog/Handler/NullHandlerTest.php @@ -0,0 +1,33 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Monolog\Handler; + +use Monolog\TestCase; +use Monolog\Logger; + +/** + * @covers Monolog\Handler\NullHandler::handle + */ +class NullHandlerTest extends TestCase +{ + public function testHandle() + { + $handler = new NullHandler(); + $this->assertTrue($handler->handle($this->getRecord())); + } + + public function testHandleLowerLevelRecord() + { + $handler = new NullHandler(Logger::WARNING); + $this->assertFalse($handler->handle($this->getRecord(Logger::DEBUG))); + } +} diff --git a/vendor/monolog/monolog/tests/Monolog/Handler/PHPConsoleHandlerTest.php b/vendor/monolog/monolog/tests/Monolog/Handler/PHPConsoleHandlerTest.php new file mode 100644 index 00000000..152573ef --- /dev/null +++ b/vendor/monolog/monolog/tests/Monolog/Handler/PHPConsoleHandlerTest.php @@ -0,0 +1,273 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Monolog\Handler; + +use Exception; +use Monolog\ErrorHandler; +use Monolog\Logger; +use Monolog\TestCase; +use PhpConsole\Connector; +use PhpConsole\Dispatcher\Debug as DebugDispatcher; +use PhpConsole\Dispatcher\Errors as ErrorDispatcher; +use PhpConsole\Handler; +use PHPUnit_Framework_MockObject_MockObject; + +/** + * @covers Monolog\Handler\PHPConsoleHandler + * @author Sergey Barbushin https://www.linkedin.com/in/barbushin + */ +class PHPConsoleHandlerTest extends TestCase +{ + /** @var Connector|PHPUnit_Framework_MockObject_MockObject */ + protected $connector; + /** @var DebugDispatcher|PHPUnit_Framework_MockObject_MockObject */ + protected $debugDispatcher; + /** @var ErrorDispatcher|PHPUnit_Framework_MockObject_MockObject */ + protected $errorDispatcher; + + protected function setUp() + { + if (!class_exists('PhpConsole\Connector')) { + $this->markTestSkipped('PHP Console library not found. See https://github.com/barbushin/php-console#installation'); + } + $this->connector = $this->initConnectorMock(); + + $this->debugDispatcher = $this->initDebugDispatcherMock($this->connector); + $this->connector->setDebugDispatcher($this->debugDispatcher); + + $this->errorDispatcher = $this->initErrorDispatcherMock($this->connector); + $this->connector->setErrorsDispatcher($this->errorDispatcher); + } + + protected function initDebugDispatcherMock(Connector $connector) + { + return $this->getMockBuilder('PhpConsole\Dispatcher\Debug') + ->disableOriginalConstructor() + ->setMethods(array('dispatchDebug')) + ->setConstructorArgs(array($connector, $connector->getDumper())) + ->getMock(); + } + + protected function initErrorDispatcherMock(Connector $connector) + { + return $this->getMockBuilder('PhpConsole\Dispatcher\Errors') + ->disableOriginalConstructor() + ->setMethods(array('dispatchError', 'dispatchException')) + ->setConstructorArgs(array($connector, $connector->getDumper())) + ->getMock(); + } + + protected function initConnectorMock() + { + $connector = $this->getMockBuilder('PhpConsole\Connector') + ->disableOriginalConstructor() + ->setMethods(array( + 'sendMessage', + 'onShutDown', + 'isActiveClient', + 'setSourcesBasePath', + 'setServerEncoding', + 'setPassword', + 'enableSslOnlyMode', + 'setAllowedIpMasks', + 'setHeadersLimit', + 'startEvalRequestsListener', + )) + ->getMock(); + + $connector->expects($this->any()) + ->method('isActiveClient') + ->will($this->returnValue(true)); + + return $connector; + } + + protected function getHandlerDefaultOption($name) + { + $handler = new PHPConsoleHandler(array(), $this->connector); + $options = $handler->getOptions(); + + return $options[$name]; + } + + protected function initLogger($handlerOptions = array(), $level = Logger::DEBUG) + { + return new Logger('test', array( + new PHPConsoleHandler($handlerOptions, $this->connector, $level), + )); + } + + public function testInitWithDefaultConnector() + { + $handler = new PHPConsoleHandler(); + $this->assertEquals(spl_object_hash(Connector::getInstance()), spl_object_hash($handler->getConnector())); + } + + public function testInitWithCustomConnector() + { + $handler = new PHPConsoleHandler(array(), $this->connector); + $this->assertEquals(spl_object_hash($this->connector), spl_object_hash($handler->getConnector())); + } + + public function testDebug() + { + $this->debugDispatcher->expects($this->once())->method('dispatchDebug')->with($this->equalTo('test')); + $this->initLogger()->addDebug('test'); + } + + public function testDebugContextInMessage() + { + $message = 'test'; + $tag = 'tag'; + $context = array($tag, 'custom' => mt_rand()); + $expectedMessage = $message . ' ' . json_encode(array_slice($context, 1)); + $this->debugDispatcher->expects($this->once())->method('dispatchDebug')->with( + $this->equalTo($expectedMessage), + $this->equalTo($tag) + ); + $this->initLogger()->addDebug($message, $context); + } + + public function testDebugTags($tagsContextKeys = null) + { + $expectedTags = mt_rand(); + $logger = $this->initLogger($tagsContextKeys ? array('debugTagsKeysInContext' => $tagsContextKeys) : array()); + if (!$tagsContextKeys) { + $tagsContextKeys = $this->getHandlerDefaultOption('debugTagsKeysInContext'); + } + foreach ($tagsContextKeys as $key) { + $debugDispatcher = $this->initDebugDispatcherMock($this->connector); + $debugDispatcher->expects($this->once())->method('dispatchDebug')->with( + $this->anything(), + $this->equalTo($expectedTags) + ); + $this->connector->setDebugDispatcher($debugDispatcher); + $logger->addDebug('test', array($key => $expectedTags)); + } + } + + public function testError($classesPartialsTraceIgnore = null) + { + $code = E_USER_NOTICE; + $message = 'message'; + $file = __FILE__; + $line = __LINE__; + $this->errorDispatcher->expects($this->once())->method('dispatchError')->with( + $this->equalTo($code), + $this->equalTo($message), + $this->equalTo($file), + $this->equalTo($line), + $classesPartialsTraceIgnore ?: $this->equalTo($this->getHandlerDefaultOption('classesPartialsTraceIgnore')) + ); + $errorHandler = ErrorHandler::register($this->initLogger($classesPartialsTraceIgnore ? array('classesPartialsTraceIgnore' => $classesPartialsTraceIgnore) : array()), false); + $errorHandler->registerErrorHandler(array(), false, E_USER_WARNING); + $errorHandler->handleError($code, $message, $file, $line); + } + + public function testException() + { + $e = new Exception(); + $this->errorDispatcher->expects($this->once())->method('dispatchException')->with( + $this->equalTo($e) + ); + $handler = $this->initLogger(); + $handler->log( + \Psr\Log\LogLevel::ERROR, + sprintf('Uncaught Exception %s: "%s" at %s line %s', get_class($e), $e->getMessage(), $e->getFile(), $e->getLine()), + array('exception' => $e) + ); + } + + /** + * @expectedException Exception + */ + public function testWrongOptionsThrowsException() + { + new PHPConsoleHandler(array('xxx' => 1)); + } + + public function testOptionEnabled() + { + $this->debugDispatcher->expects($this->never())->method('dispatchDebug'); + $this->initLogger(array('enabled' => false))->addDebug('test'); + } + + public function testOptionClassesPartialsTraceIgnore() + { + $this->testError(array('Class', 'Namespace\\')); + } + + public function testOptionDebugTagsKeysInContext() + { + $this->testDebugTags(array('key1', 'key2')); + } + + public function testOptionUseOwnErrorsAndExceptionsHandler() + { + $this->initLogger(array('useOwnErrorsHandler' => true, 'useOwnExceptionsHandler' => true)); + $this->assertEquals(array(Handler::getInstance(), 'handleError'), set_error_handler(function () { + })); + $this->assertEquals(array(Handler::getInstance(), 'handleException'), set_exception_handler(function () { + })); + } + + public static function provideConnectorMethodsOptionsSets() + { + return array( + array('sourcesBasePath', 'setSourcesBasePath', __DIR__), + array('serverEncoding', 'setServerEncoding', 'cp1251'), + array('password', 'setPassword', '******'), + array('enableSslOnlyMode', 'enableSslOnlyMode', true, false), + array('ipMasks', 'setAllowedIpMasks', array('127.0.0.*')), + array('headersLimit', 'setHeadersLimit', 2500), + array('enableEvalListener', 'startEvalRequestsListener', true, false), + ); + } + + /** + * @dataProvider provideConnectorMethodsOptionsSets + */ + public function testOptionCallsConnectorMethod($option, $method, $value, $isArgument = true) + { + $expectCall = $this->connector->expects($this->once())->method($method); + if ($isArgument) { + $expectCall->with($value); + } + new PHPConsoleHandler(array($option => $value), $this->connector); + } + + public function testOptionDetectDumpTraceAndSource() + { + new PHPConsoleHandler(array('detectDumpTraceAndSource' => true), $this->connector); + $this->assertTrue($this->connector->getDebugDispatcher()->detectTraceAndSource); + } + + public static function provideDumperOptionsValues() + { + return array( + array('dumperLevelLimit', 'levelLimit', 1001), + array('dumperItemsCountLimit', 'itemsCountLimit', 1002), + array('dumperItemSizeLimit', 'itemSizeLimit', 1003), + array('dumperDumpSizeLimit', 'dumpSizeLimit', 1004), + array('dumperDetectCallbacks', 'detectCallbacks', true), + ); + } + + /** + * @dataProvider provideDumperOptionsValues + */ + public function testDumperOptions($option, $dumperProperty, $value) + { + new PHPConsoleHandler(array($option => $value), $this->connector); + $this->assertEquals($value, $this->connector->getDumper()->$dumperProperty); + } +} diff --git a/vendor/monolog/monolog/tests/Monolog/Handler/PsrHandlerTest.php b/vendor/monolog/monolog/tests/Monolog/Handler/PsrHandlerTest.php new file mode 100644 index 00000000..64eaab16 --- /dev/null +++ b/vendor/monolog/monolog/tests/Monolog/Handler/PsrHandlerTest.php @@ -0,0 +1,50 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Monolog\Handler; + +use Monolog\TestCase; +use Monolog\Logger; + +/** + * @covers Monolog\Handler\PsrHandler::handle + */ +class PsrHandlerTest extends TestCase +{ + public function logLevelProvider() + { + $levels = array(); + $monologLogger = new Logger(''); + + foreach ($monologLogger->getLevels() as $levelName => $level) { + $levels[] = array($levelName, $level); + } + + return $levels; + } + + /** + * @dataProvider logLevelProvider + */ + public function testHandlesAllLevels($levelName, $level) + { + $message = 'Hello, world! ' . $level; + $context = array('foo' => 'bar', 'level' => $level); + + $psrLogger = $this->getMock('Psr\Log\NullLogger'); + $psrLogger->expects($this->once()) + ->method('log') + ->with(strtolower($levelName), $message, $context); + + $handler = new PsrHandler($psrLogger); + $handler->handle(array('level' => $level, 'level_name' => $levelName, 'message' => $message, 'context' => $context)); + } +} diff --git a/vendor/monolog/monolog/tests/Monolog/Handler/PushoverHandlerTest.php b/vendor/monolog/monolog/tests/Monolog/Handler/PushoverHandlerTest.php new file mode 100644 index 00000000..56df474a --- /dev/null +++ b/vendor/monolog/monolog/tests/Monolog/Handler/PushoverHandlerTest.php @@ -0,0 +1,141 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Monolog\Handler; + +use Monolog\TestCase; +use Monolog\Logger; + +/** + * Almost all examples (expected header, titles, messages) taken from + * https://www.pushover.net/api + * @author Sebastian Göttschkes + * @see https://www.pushover.net/api + */ +class PushoverHandlerTest extends TestCase +{ + private $res; + private $handler; + + public function testWriteHeader() + { + $this->createHandler(); + $this->handler->setHighPriorityLevel(Logger::EMERGENCY); // skip priority notifications + $this->handler->handle($this->getRecord(Logger::CRITICAL, 'test1')); + fseek($this->res, 0); + $content = fread($this->res, 1024); + + $this->assertRegexp('/POST \/1\/messages.json HTTP\/1.1\\r\\nHost: api.pushover.net\\r\\nContent-Type: application\/x-www-form-urlencoded\\r\\nContent-Length: \d{2,4}\\r\\n\\r\\n/', $content); + + return $content; + } + + /** + * @depends testWriteHeader + */ + public function testWriteContent($content) + { + $this->assertRegexp('/token=myToken&user=myUser&message=test1&title=Monolog×tamp=\d{10}$/', $content); + } + + public function testWriteWithComplexTitle() + { + $this->createHandler('myToken', 'myUser', 'Backup finished - SQL1'); + $this->handler->handle($this->getRecord(Logger::CRITICAL, 'test1')); + fseek($this->res, 0); + $content = fread($this->res, 1024); + + $this->assertRegexp('/title=Backup\+finished\+-\+SQL1/', $content); + } + + public function testWriteWithComplexMessage() + { + $this->createHandler(); + $this->handler->setHighPriorityLevel(Logger::EMERGENCY); // skip priority notifications + $this->handler->handle($this->getRecord(Logger::CRITICAL, 'Backup of database "example" finished in 16 minutes.')); + fseek($this->res, 0); + $content = fread($this->res, 1024); + + $this->assertRegexp('/message=Backup\+of\+database\+%22example%22\+finished\+in\+16\+minutes\./', $content); + } + + public function testWriteWithTooLongMessage() + { + $message = str_pad('test', 520, 'a'); + $this->createHandler(); + $this->handler->setHighPriorityLevel(Logger::EMERGENCY); // skip priority notifications + $this->handler->handle($this->getRecord(Logger::CRITICAL, $message)); + fseek($this->res, 0); + $content = fread($this->res, 1024); + + $expectedMessage = substr($message, 0, 505); + + $this->assertRegexp('/message=' . $expectedMessage . '&title/', $content); + } + + public function testWriteWithHighPriority() + { + $this->createHandler(); + $this->handler->handle($this->getRecord(Logger::CRITICAL, 'test1')); + fseek($this->res, 0); + $content = fread($this->res, 1024); + + $this->assertRegexp('/token=myToken&user=myUser&message=test1&title=Monolog×tamp=\d{10}&priority=1$/', $content); + } + + public function testWriteWithEmergencyPriority() + { + $this->createHandler(); + $this->handler->handle($this->getRecord(Logger::EMERGENCY, 'test1')); + fseek($this->res, 0); + $content = fread($this->res, 1024); + + $this->assertRegexp('/token=myToken&user=myUser&message=test1&title=Monolog×tamp=\d{10}&priority=2&retry=30&expire=25200$/', $content); + } + + public function testWriteToMultipleUsers() + { + $this->createHandler('myToken', array('userA', 'userB')); + $this->handler->handle($this->getRecord(Logger::EMERGENCY, 'test1')); + fseek($this->res, 0); + $content = fread($this->res, 1024); + + $this->assertRegexp('/token=myToken&user=userA&message=test1&title=Monolog×tamp=\d{10}&priority=2&retry=30&expire=25200POST/', $content); + $this->assertRegexp('/token=myToken&user=userB&message=test1&title=Monolog×tamp=\d{10}&priority=2&retry=30&expire=25200$/', $content); + } + + private function createHandler($token = 'myToken', $user = 'myUser', $title = 'Monolog') + { + $constructorArgs = array($token, $user, $title); + $this->res = fopen('php://memory', 'a'); + $this->handler = $this->getMock( + '\Monolog\Handler\PushoverHandler', + array('fsockopen', 'streamSetTimeout', 'closeSocket'), + $constructorArgs + ); + + $reflectionProperty = new \ReflectionProperty('\Monolog\Handler\SocketHandler', 'connectionString'); + $reflectionProperty->setAccessible(true); + $reflectionProperty->setValue($this->handler, 'localhost:1234'); + + $this->handler->expects($this->any()) + ->method('fsockopen') + ->will($this->returnValue($this->res)); + $this->handler->expects($this->any()) + ->method('streamSetTimeout') + ->will($this->returnValue(true)); + $this->handler->expects($this->any()) + ->method('closeSocket') + ->will($this->returnValue(true)); + + $this->handler->setFormatter($this->getIdentityFormatter()); + } +} diff --git a/vendor/monolog/monolog/tests/Monolog/Handler/RavenHandlerTest.php b/vendor/monolog/monolog/tests/Monolog/Handler/RavenHandlerTest.php new file mode 100644 index 00000000..26d212b9 --- /dev/null +++ b/vendor/monolog/monolog/tests/Monolog/Handler/RavenHandlerTest.php @@ -0,0 +1,255 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Monolog\Handler; + +use Monolog\TestCase; +use Monolog\Logger; +use Monolog\Formatter\LineFormatter; + +class RavenHandlerTest extends TestCase +{ + public function setUp() + { + if (!class_exists('Raven_Client')) { + $this->markTestSkipped('raven/raven not installed'); + } + + require_once __DIR__ . '/MockRavenClient.php'; + } + + /** + * @covers Monolog\Handler\RavenHandler::__construct + */ + public function testConstruct() + { + $handler = new RavenHandler($this->getRavenClient()); + $this->assertInstanceOf('Monolog\Handler\RavenHandler', $handler); + } + + protected function getHandler($ravenClient) + { + $handler = new RavenHandler($ravenClient); + + return $handler; + } + + protected function getRavenClient() + { + $dsn = 'http://43f6017361224d098402974103bfc53d:a6a0538fc2934ba2bed32e08741b2cd3@marca.python.live.cheggnet.com:9000/1'; + + return new MockRavenClient($dsn); + } + + public function testDebug() + { + $ravenClient = $this->getRavenClient(); + $handler = $this->getHandler($ravenClient); + + $record = $this->getRecord(Logger::DEBUG, 'A test debug message'); + $handler->handle($record); + + $this->assertEquals($ravenClient::DEBUG, $ravenClient->lastData['level']); + $this->assertContains($record['message'], $ravenClient->lastData['message']); + } + + public function testWarning() + { + $ravenClient = $this->getRavenClient(); + $handler = $this->getHandler($ravenClient); + + $record = $this->getRecord(Logger::WARNING, 'A test warning message'); + $handler->handle($record); + + $this->assertEquals($ravenClient::WARNING, $ravenClient->lastData['level']); + $this->assertContains($record['message'], $ravenClient->lastData['message']); + } + + public function testTag() + { + $ravenClient = $this->getRavenClient(); + $handler = $this->getHandler($ravenClient); + + $tags = array(1, 2, 'foo'); + $record = $this->getRecord(Logger::INFO, 'test', array('tags' => $tags)); + $handler->handle($record); + + $this->assertEquals($tags, $ravenClient->lastData['tags']); + } + + public function testExtraParameters() + { + $ravenClient = $this->getRavenClient(); + $handler = $this->getHandler($ravenClient); + + $checksum = '098f6bcd4621d373cade4e832627b4f6'; + $release = '05a671c66aefea124cc08b76ea6d30bb'; + $eventId = '31423'; + $record = $this->getRecord(Logger::INFO, 'test', array('checksum' => $checksum, 'release' => $release, 'event_id' => $eventId)); + $handler->handle($record); + + $this->assertEquals($checksum, $ravenClient->lastData['checksum']); + $this->assertEquals($release, $ravenClient->lastData['release']); + $this->assertEquals($eventId, $ravenClient->lastData['event_id']); + } + + public function testFingerprint() + { + $ravenClient = $this->getRavenClient(); + $handler = $this->getHandler($ravenClient); + + $fingerprint = array('{{ default }}', 'other value'); + $record = $this->getRecord(Logger::INFO, 'test', array('fingerprint' => $fingerprint)); + $handler->handle($record); + + $this->assertEquals($fingerprint, $ravenClient->lastData['fingerprint']); + } + + public function testUserContext() + { + $ravenClient = $this->getRavenClient(); + $handler = $this->getHandler($ravenClient); + + $recordWithNoContext = $this->getRecord(Logger::INFO, 'test with default user context'); + // set user context 'externally' + + $user = array( + 'id' => '123', + 'email' => 'test@test.com', + ); + + $recordWithContext = $this->getRecord(Logger::INFO, 'test', array('user' => $user)); + + $ravenClient->user_context(array('id' => 'test_user_id')); + // handle context + $handler->handle($recordWithContext); + $this->assertEquals($user, $ravenClient->lastData['user']); + + // check to see if its reset + $handler->handle($recordWithNoContext); + $this->assertInternalType('array', $ravenClient->context->user); + $this->assertSame('test_user_id', $ravenClient->context->user['id']); + + // handle with null context + $ravenClient->user_context(null); + $handler->handle($recordWithContext); + $this->assertEquals($user, $ravenClient->lastData['user']); + + // check to see if its reset + $handler->handle($recordWithNoContext); + $this->assertNull($ravenClient->context->user); + } + + public function testException() + { + $ravenClient = $this->getRavenClient(); + $handler = $this->getHandler($ravenClient); + + try { + $this->methodThatThrowsAnException(); + } catch (\Exception $e) { + $record = $this->getRecord(Logger::ERROR, $e->getMessage(), array('exception' => $e)); + $handler->handle($record); + } + + $this->assertEquals($record['message'], $ravenClient->lastData['message']); + } + + public function testHandleBatch() + { + $records = $this->getMultipleRecords(); + $records[] = $this->getRecord(Logger::WARNING, 'warning'); + $records[] = $this->getRecord(Logger::WARNING, 'warning'); + + $logFormatter = $this->getMock('Monolog\\Formatter\\FormatterInterface'); + $logFormatter->expects($this->once())->method('formatBatch'); + + $formatter = $this->getMock('Monolog\\Formatter\\FormatterInterface'); + $formatter->expects($this->once())->method('format')->with($this->callback(function ($record) { + return $record['level'] == 400; + })); + + $handler = $this->getHandler($this->getRavenClient()); + $handler->setBatchFormatter($logFormatter); + $handler->setFormatter($formatter); + $handler->handleBatch($records); + } + + public function testHandleBatchDoNothingIfRecordsAreBelowLevel() + { + $records = array( + $this->getRecord(Logger::DEBUG, 'debug message 1'), + $this->getRecord(Logger::DEBUG, 'debug message 2'), + $this->getRecord(Logger::INFO, 'information'), + ); + + $handler = $this->getMock('Monolog\Handler\RavenHandler', null, array($this->getRavenClient())); + $handler->expects($this->never())->method('handle'); + $handler->setLevel(Logger::ERROR); + $handler->handleBatch($records); + } + + public function testHandleBatchPicksProperMessage() + { + $records = array( + $this->getRecord(Logger::DEBUG, 'debug message 1'), + $this->getRecord(Logger::DEBUG, 'debug message 2'), + $this->getRecord(Logger::INFO, 'information 1'), + $this->getRecord(Logger::ERROR, 'error 1'), + $this->getRecord(Logger::WARNING, 'warning'), + $this->getRecord(Logger::ERROR, 'error 2'), + $this->getRecord(Logger::INFO, 'information 2'), + ); + + $logFormatter = $this->getMock('Monolog\\Formatter\\FormatterInterface'); + $logFormatter->expects($this->once())->method('formatBatch'); + + $formatter = $this->getMock('Monolog\\Formatter\\FormatterInterface'); + $formatter->expects($this->once())->method('format')->with($this->callback(function ($record) use ($records) { + return $record['message'] == 'error 1'; + })); + + $handler = $this->getHandler($this->getRavenClient()); + $handler->setBatchFormatter($logFormatter); + $handler->setFormatter($formatter); + $handler->handleBatch($records); + } + + public function testGetSetBatchFormatter() + { + $ravenClient = $this->getRavenClient(); + $handler = $this->getHandler($ravenClient); + + $handler->setBatchFormatter($formatter = new LineFormatter()); + $this->assertSame($formatter, $handler->getBatchFormatter()); + } + + public function testRelease() + { + $ravenClient = $this->getRavenClient(); + $handler = $this->getHandler($ravenClient); + $release = 'v42.42.42'; + $handler->setRelease($release); + $record = $this->getRecord(Logger::INFO, 'test'); + $handler->handle($record); + $this->assertEquals($release, $ravenClient->lastData['release']); + + $localRelease = 'v41.41.41'; + $record = $this->getRecord(Logger::INFO, 'test', array('release' => $localRelease)); + $handler->handle($record); + $this->assertEquals($localRelease, $ravenClient->lastData['release']); + } + + private function methodThatThrowsAnException() + { + throw new \Exception('This is an exception'); + } +} diff --git a/vendor/monolog/monolog/tests/Monolog/Handler/RedisHandlerTest.php b/vendor/monolog/monolog/tests/Monolog/Handler/RedisHandlerTest.php new file mode 100644 index 00000000..689d5278 --- /dev/null +++ b/vendor/monolog/monolog/tests/Monolog/Handler/RedisHandlerTest.php @@ -0,0 +1,127 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Monolog\Handler; + +use Monolog\TestCase; +use Monolog\Logger; +use Monolog\Formatter\LineFormatter; + +class RedisHandlerTest extends TestCase +{ + /** + * @expectedException InvalidArgumentException + */ + public function testConstructorShouldThrowExceptionForInvalidRedis() + { + new RedisHandler(new \stdClass(), 'key'); + } + + public function testConstructorShouldWorkWithPredis() + { + $redis = $this->getMock('Predis\Client'); + $this->assertInstanceof('Monolog\Handler\RedisHandler', new RedisHandler($redis, 'key')); + } + + public function testConstructorShouldWorkWithRedis() + { + $redis = $this->getMock('Redis'); + $this->assertInstanceof('Monolog\Handler\RedisHandler', new RedisHandler($redis, 'key')); + } + + public function testPredisHandle() + { + $redis = $this->getMock('Predis\Client', array('rpush')); + + // Predis\Client uses rpush + $redis->expects($this->once()) + ->method('rpush') + ->with('key', 'test'); + + $record = $this->getRecord(Logger::WARNING, 'test', array('data' => new \stdClass, 'foo' => 34)); + + $handler = new RedisHandler($redis, 'key'); + $handler->setFormatter(new LineFormatter("%message%")); + $handler->handle($record); + } + + public function testRedisHandle() + { + $redis = $this->getMock('Redis', array('rpush')); + + // Redis uses rPush + $redis->expects($this->once()) + ->method('rPush') + ->with('key', 'test'); + + $record = $this->getRecord(Logger::WARNING, 'test', array('data' => new \stdClass, 'foo' => 34)); + + $handler = new RedisHandler($redis, 'key'); + $handler->setFormatter(new LineFormatter("%message%")); + $handler->handle($record); + } + + public function testRedisHandleCapped() + { + $redis = $this->getMock('Redis', array('multi', 'rpush', 'ltrim', 'exec')); + + // Redis uses multi + $redis->expects($this->once()) + ->method('multi') + ->will($this->returnSelf()); + + $redis->expects($this->once()) + ->method('rpush') + ->will($this->returnSelf()); + + $redis->expects($this->once()) + ->method('ltrim') + ->will($this->returnSelf()); + + $redis->expects($this->once()) + ->method('exec') + ->will($this->returnSelf()); + + $record = $this->getRecord(Logger::WARNING, 'test', array('data' => new \stdClass, 'foo' => 34)); + + $handler = new RedisHandler($redis, 'key', Logger::DEBUG, true, 10); + $handler->setFormatter(new LineFormatter("%message%")); + $handler->handle($record); + } + + public function testPredisHandleCapped() + { + $redis = $this->getMock('Predis\Client', array('transaction')); + + $redisTransaction = $this->getMock('Predis\Client', array('rpush', 'ltrim')); + + $redisTransaction->expects($this->once()) + ->method('rpush') + ->will($this->returnSelf()); + + $redisTransaction->expects($this->once()) + ->method('ltrim') + ->will($this->returnSelf()); + + // Redis uses multi + $redis->expects($this->once()) + ->method('transaction') + ->will($this->returnCallback(function ($cb) use ($redisTransaction) { + $cb($redisTransaction); + })); + + $record = $this->getRecord(Logger::WARNING, 'test', array('data' => new \stdClass, 'foo' => 34)); + + $handler = new RedisHandler($redis, 'key', Logger::DEBUG, true, 10); + $handler->setFormatter(new LineFormatter("%message%")); + $handler->handle($record); + } +} diff --git a/vendor/monolog/monolog/tests/Monolog/Handler/RotatingFileHandlerTest.php b/vendor/monolog/monolog/tests/Monolog/Handler/RotatingFileHandlerTest.php new file mode 100644 index 00000000..c5106175 --- /dev/null +++ b/vendor/monolog/monolog/tests/Monolog/Handler/RotatingFileHandlerTest.php @@ -0,0 +1,211 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Monolog\Handler; + +use Monolog\TestCase; +use PHPUnit_Framework_Error_Deprecated; + +/** + * @covers Monolog\Handler\RotatingFileHandler + */ +class RotatingFileHandlerTest extends TestCase +{ + /** + * This var should be private but then the anonymous function + * in the `setUp` method won't be able to set it. `$this` cant't + * be used in the anonymous function in `setUp` because PHP 5.3 + * does not support it. + */ + public $lastError; + + public function setUp() + { + $dir = __DIR__.'/Fixtures'; + chmod($dir, 0777); + if (!is_writable($dir)) { + $this->markTestSkipped($dir.' must be writable to test the RotatingFileHandler.'); + } + $this->lastError = null; + $self = $this; + // workaround with &$self used for PHP 5.3 + set_error_handler(function($code, $message) use (&$self) { + $self->lastError = array( + 'code' => $code, + 'message' => $message, + ); + }); + } + + private function assertErrorWasTriggered($code, $message) + { + if (empty($this->lastError)) { + $this->fail( + sprintf( + 'Failed asserting that error with code `%d` and message `%s` was triggered', + $code, + $message + ) + ); + } + $this->assertEquals($code, $this->lastError['code'], sprintf('Expected an error with code %d to be triggered, got `%s` instead', $code, $this->lastError['code'])); + $this->assertEquals($message, $this->lastError['message'], sprintf('Expected an error with message `%d` to be triggered, got `%s` instead', $message, $this->lastError['message'])); + } + + public function testRotationCreatesNewFile() + { + touch(__DIR__.'/Fixtures/foo-'.date('Y-m-d', time() - 86400).'.rot'); + + $handler = new RotatingFileHandler(__DIR__.'/Fixtures/foo.rot'); + $handler->setFormatter($this->getIdentityFormatter()); + $handler->handle($this->getRecord()); + + $log = __DIR__.'/Fixtures/foo-'.date('Y-m-d').'.rot'; + $this->assertTrue(file_exists($log)); + $this->assertEquals('test', file_get_contents($log)); + } + + /** + * @dataProvider rotationTests + */ + public function testRotation($createFile, $dateFormat, $timeCallback) + { + touch($old1 = __DIR__.'/Fixtures/foo-'.date($dateFormat, $timeCallback(-1)).'.rot'); + touch($old2 = __DIR__.'/Fixtures/foo-'.date($dateFormat, $timeCallback(-2)).'.rot'); + touch($old3 = __DIR__.'/Fixtures/foo-'.date($dateFormat, $timeCallback(-3)).'.rot'); + touch($old4 = __DIR__.'/Fixtures/foo-'.date($dateFormat, $timeCallback(-4)).'.rot'); + + $log = __DIR__.'/Fixtures/foo-'.date($dateFormat).'.rot'; + + if ($createFile) { + touch($log); + } + + $handler = new RotatingFileHandler(__DIR__.'/Fixtures/foo.rot', 2); + $handler->setFormatter($this->getIdentityFormatter()); + $handler->setFilenameFormat('{filename}-{date}', $dateFormat); + $handler->handle($this->getRecord()); + + $handler->close(); + + $this->assertTrue(file_exists($log)); + $this->assertTrue(file_exists($old1)); + $this->assertEquals($createFile, file_exists($old2)); + $this->assertEquals($createFile, file_exists($old3)); + $this->assertEquals($createFile, file_exists($old4)); + $this->assertEquals('test', file_get_contents($log)); + } + + public function rotationTests() + { + $now = time(); + $dayCallback = function($ago) use ($now) { + return $now + 86400 * $ago; + }; + $monthCallback = function($ago) { + return gmmktime(0, 0, 0, date('n') + $ago, date('d'), date('Y')); + }; + $yearCallback = function($ago) { + return gmmktime(0, 0, 0, date('n'), date('d'), date('Y') + $ago); + }; + + return array( + 'Rotation is triggered when the file of the current day is not present' + => array(true, RotatingFileHandler::FILE_PER_DAY, $dayCallback), + 'Rotation is not triggered when the file of the current day is already present' + => array(false, RotatingFileHandler::FILE_PER_DAY, $dayCallback), + + 'Rotation is triggered when the file of the current month is not present' + => array(true, RotatingFileHandler::FILE_PER_MONTH, $monthCallback), + 'Rotation is not triggered when the file of the current month is already present' + => array(false, RotatingFileHandler::FILE_PER_MONTH, $monthCallback), + + 'Rotation is triggered when the file of the current year is not present' + => array(true, RotatingFileHandler::FILE_PER_YEAR, $yearCallback), + 'Rotation is not triggered when the file of the current year is already present' + => array(false, RotatingFileHandler::FILE_PER_YEAR, $yearCallback), + ); + } + + /** + * @dataProvider dateFormatProvider + */ + public function testAllowOnlyFixedDefinedDateFormats($dateFormat, $valid) + { + $handler = new RotatingFileHandler(__DIR__.'/Fixtures/foo.rot', 2); + $handler->setFilenameFormat('{filename}-{date}', $dateFormat); + if (!$valid) { + $this->assertErrorWasTriggered( + E_USER_DEPRECATED, + 'Invalid date format - format must be one of RotatingFileHandler::FILE_PER_DAY ("Y-m-d"), '. + 'RotatingFileHandler::FILE_PER_MONTH ("Y-m") or RotatingFileHandler::FILE_PER_YEAR ("Y"), '. + 'or you can set one of the date formats using slashes, underscores and/or dots instead of dashes.' + ); + } + } + + public function dateFormatProvider() + { + return array( + array(RotatingFileHandler::FILE_PER_DAY, true), + array(RotatingFileHandler::FILE_PER_MONTH, true), + array(RotatingFileHandler::FILE_PER_YEAR, true), + array('m-d-Y', false), + array('Y-m-d-h-i', false) + ); + } + + /** + * @dataProvider filenameFormatProvider + */ + public function testDisallowFilenameFormatsWithoutDate($filenameFormat, $valid) + { + $handler = new RotatingFileHandler(__DIR__.'/Fixtures/foo.rot', 2); + $handler->setFilenameFormat($filenameFormat, RotatingFileHandler::FILE_PER_DAY); + if (!$valid) { + $this->assertErrorWasTriggered( + E_USER_DEPRECATED, + 'Invalid filename format - format should contain at least `{date}`, because otherwise rotating is impossible.' + ); + } + } + + public function filenameFormatProvider() + { + return array( + array('{filename}', false), + array('{filename}-{date}', true), + array('{date}', true), + array('foobar-{date}', true), + array('foo-{date}-bar', true), + array('{date}-foobar', true), + array('foobar', false), + ); + } + + public function testReuseCurrentFile() + { + $log = __DIR__.'/Fixtures/foo-'.date('Y-m-d').'.rot'; + file_put_contents($log, "foo"); + $handler = new RotatingFileHandler(__DIR__.'/Fixtures/foo.rot'); + $handler->setFormatter($this->getIdentityFormatter()); + $handler->handle($this->getRecord()); + $this->assertEquals('footest', file_get_contents($log)); + } + + public function tearDown() + { + foreach (glob(__DIR__.'/Fixtures/*.rot') as $file) { + unlink($file); + } + restore_error_handler(); + } +} diff --git a/vendor/monolog/monolog/tests/Monolog/Handler/SamplingHandlerTest.php b/vendor/monolog/monolog/tests/Monolog/Handler/SamplingHandlerTest.php new file mode 100644 index 00000000..b354cee1 --- /dev/null +++ b/vendor/monolog/monolog/tests/Monolog/Handler/SamplingHandlerTest.php @@ -0,0 +1,33 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Monolog\Handler; + +use Monolog\TestCase; + +/** + * @covers Monolog\Handler\SamplingHandler::handle + */ +class SamplingHandlerTest extends TestCase +{ + public function testHandle() + { + $testHandler = new TestHandler(); + $handler = new SamplingHandler($testHandler, 2); + for ($i = 0; $i < 10000; $i++) { + $handler->handle($this->getRecord()); + } + $count = count($testHandler->getRecords()); + // $count should be half of 10k, so between 4k and 6k + $this->assertLessThan(6000, $count); + $this->assertGreaterThan(4000, $count); + } +} diff --git a/vendor/monolog/monolog/tests/Monolog/Handler/Slack/SlackRecordTest.php b/vendor/monolog/monolog/tests/Monolog/Handler/Slack/SlackRecordTest.php new file mode 100644 index 00000000..e1aa96d7 --- /dev/null +++ b/vendor/monolog/monolog/tests/Monolog/Handler/Slack/SlackRecordTest.php @@ -0,0 +1,387 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Monolog\Handler\Slack; + +use Monolog\Logger; +use Monolog\TestCase; + +/** + * @coversDefaultClass Monolog\Handler\Slack\SlackRecord + */ +class SlackRecordTest extends TestCase +{ + private $jsonPrettyPrintFlag; + + protected function setUp() + { + $this->jsonPrettyPrintFlag = defined('JSON_PRETTY_PRINT') ? JSON_PRETTY_PRINT : 128; + } + + public function dataGetAttachmentColor() + { + return array( + array(Logger::DEBUG, SlackRecord::COLOR_DEFAULT), + array(Logger::INFO, SlackRecord::COLOR_GOOD), + array(Logger::NOTICE, SlackRecord::COLOR_GOOD), + array(Logger::WARNING, SlackRecord::COLOR_WARNING), + array(Logger::ERROR, SlackRecord::COLOR_DANGER), + array(Logger::CRITICAL, SlackRecord::COLOR_DANGER), + array(Logger::ALERT, SlackRecord::COLOR_DANGER), + array(Logger::EMERGENCY, SlackRecord::COLOR_DANGER), + ); + } + + /** + * @dataProvider dataGetAttachmentColor + * @param int $logLevel + * @param string $expectedColour RGB hex color or name of Slack color + * @covers ::getAttachmentColor + */ + public function testGetAttachmentColor($logLevel, $expectedColour) + { + $slackRecord = new SlackRecord(); + $this->assertSame( + $expectedColour, + $slackRecord->getAttachmentColor($logLevel) + ); + } + + public function testAddsChannel() + { + $channel = '#test'; + $record = new SlackRecord($channel); + $data = $record->getSlackData($this->getRecord()); + + $this->assertArrayHasKey('channel', $data); + $this->assertSame($channel, $data['channel']); + } + + public function testNoUsernameByDefault() + { + $record = new SlackRecord(); + $data = $record->getSlackData($this->getRecord()); + + $this->assertArrayNotHasKey('username', $data); + } + + /** + * @return array + */ + public function dataStringify() + { + $jsonPrettyPrintFlag = defined('JSON_PRETTY_PRINT') ? JSON_PRETTY_PRINT : 128; + + $multipleDimensions = array(array(1, 2)); + $numericKeys = array('library' => 'monolog'); + $singleDimension = array(1, 'Hello', 'Jordi'); + + return array( + array(array(), '[]'), + array($multipleDimensions, json_encode($multipleDimensions, $jsonPrettyPrintFlag)), + array($numericKeys, json_encode($numericKeys, $jsonPrettyPrintFlag)), + array($singleDimension, json_encode($singleDimension)) + ); + } + + /** + * @dataProvider dataStringify + */ + public function testStringify($fields, $expectedResult) + { + $slackRecord = new SlackRecord( + '#test', + 'test', + true, + null, + true, + true + ); + + $this->assertSame($expectedResult, $slackRecord->stringify($fields)); + } + + public function testAddsCustomUsername() + { + $username = 'Monolog bot'; + $record = new SlackRecord(null, $username); + $data = $record->getSlackData($this->getRecord()); + + $this->assertArrayHasKey('username', $data); + $this->assertSame($username, $data['username']); + } + + public function testNoIcon() + { + $record = new SlackRecord(); + $data = $record->getSlackData($this->getRecord()); + + $this->assertArrayNotHasKey('icon_emoji', $data); + } + + public function testAddsIcon() + { + $record = $this->getRecord(); + $slackRecord = new SlackRecord(null, null, false, 'ghost'); + $data = $slackRecord->getSlackData($record); + + $slackRecord2 = new SlackRecord(null, null, false, 'http://github.com/Seldaek/monolog'); + $data2 = $slackRecord2->getSlackData($record); + + $this->assertArrayHasKey('icon_emoji', $data); + $this->assertSame(':ghost:', $data['icon_emoji']); + $this->assertArrayHasKey('icon_url', $data2); + $this->assertSame('http://github.com/Seldaek/monolog', $data2['icon_url']); + } + + public function testAttachmentsNotPresentIfNoAttachment() + { + $record = new SlackRecord(null, null, false); + $data = $record->getSlackData($this->getRecord()); + + $this->assertArrayNotHasKey('attachments', $data); + } + + public function testAddsOneAttachment() + { + $record = new SlackRecord(); + $data = $record->getSlackData($this->getRecord()); + + $this->assertArrayHasKey('attachments', $data); + $this->assertArrayHasKey(0, $data['attachments']); + $this->assertInternalType('array', $data['attachments'][0]); + } + + public function testTextEqualsMessageIfNoAttachment() + { + $message = 'Test message'; + $record = new SlackRecord(null, null, false); + $data = $record->getSlackData($this->getRecord(Logger::WARNING, $message)); + + $this->assertArrayHasKey('text', $data); + $this->assertSame($message, $data['text']); + } + + public function testTextEqualsFormatterOutput() + { + $formatter = $this->getMock('Monolog\\Formatter\\FormatterInterface'); + $formatter + ->expects($this->any()) + ->method('format') + ->will($this->returnCallback(function ($record) { return $record['message'] . 'test'; })); + + $formatter2 = $this->getMock('Monolog\\Formatter\\FormatterInterface'); + $formatter2 + ->expects($this->any()) + ->method('format') + ->will($this->returnCallback(function ($record) { return $record['message'] . 'test1'; })); + + $message = 'Test message'; + $record = new SlackRecord(null, null, false, null, false, false, array(), $formatter); + $data = $record->getSlackData($this->getRecord(Logger::WARNING, $message)); + + $this->assertArrayHasKey('text', $data); + $this->assertSame($message . 'test', $data['text']); + + $record->setFormatter($formatter2); + $data = $record->getSlackData($this->getRecord(Logger::WARNING, $message)); + + $this->assertArrayHasKey('text', $data); + $this->assertSame($message . 'test1', $data['text']); + } + + public function testAddsFallbackAndTextToAttachment() + { + $message = 'Test message'; + $record = new SlackRecord(null); + $data = $record->getSlackData($this->getRecord(Logger::WARNING, $message)); + + $this->assertSame($message, $data['attachments'][0]['text']); + $this->assertSame($message, $data['attachments'][0]['fallback']); + } + + public function testMapsLevelToColorAttachmentColor() + { + $record = new SlackRecord(null); + $errorLoggerRecord = $this->getRecord(Logger::ERROR); + $emergencyLoggerRecord = $this->getRecord(Logger::EMERGENCY); + $warningLoggerRecord = $this->getRecord(Logger::WARNING); + $infoLoggerRecord = $this->getRecord(Logger::INFO); + $debugLoggerRecord = $this->getRecord(Logger::DEBUG); + + $data = $record->getSlackData($errorLoggerRecord); + $this->assertSame(SlackRecord::COLOR_DANGER, $data['attachments'][0]['color']); + + $data = $record->getSlackData($emergencyLoggerRecord); + $this->assertSame(SlackRecord::COLOR_DANGER, $data['attachments'][0]['color']); + + $data = $record->getSlackData($warningLoggerRecord); + $this->assertSame(SlackRecord::COLOR_WARNING, $data['attachments'][0]['color']); + + $data = $record->getSlackData($infoLoggerRecord); + $this->assertSame(SlackRecord::COLOR_GOOD, $data['attachments'][0]['color']); + + $data = $record->getSlackData($debugLoggerRecord); + $this->assertSame(SlackRecord::COLOR_DEFAULT, $data['attachments'][0]['color']); + } + + public function testAddsShortAttachmentWithoutContextAndExtra() + { + $level = Logger::ERROR; + $levelName = Logger::getLevelName($level); + $record = new SlackRecord(null, null, true, null, true); + $data = $record->getSlackData($this->getRecord($level, 'test', array('test' => 1))); + + $attachment = $data['attachments'][0]; + $this->assertArrayHasKey('title', $attachment); + $this->assertArrayHasKey('fields', $attachment); + $this->assertSame($levelName, $attachment['title']); + $this->assertSame(array(), $attachment['fields']); + } + + public function testAddsShortAttachmentWithContextAndExtra() + { + $level = Logger::ERROR; + $levelName = Logger::getLevelName($level); + $context = array('test' => 1); + $extra = array('tags' => array('web')); + $record = new SlackRecord(null, null, true, null, true, true); + $loggerRecord = $this->getRecord($level, 'test', $context); + $loggerRecord['extra'] = $extra; + $data = $record->getSlackData($loggerRecord); + + $attachment = $data['attachments'][0]; + $this->assertArrayHasKey('title', $attachment); + $this->assertArrayHasKey('fields', $attachment); + $this->assertCount(2, $attachment['fields']); + $this->assertSame($levelName, $attachment['title']); + $this->assertSame( + array( + array( + 'title' => 'Extra', + 'value' => sprintf('```%s```', json_encode($extra, $this->jsonPrettyPrintFlag)), + 'short' => false + ), + array( + 'title' => 'Context', + 'value' => sprintf('```%s```', json_encode($context, $this->jsonPrettyPrintFlag)), + 'short' => false + ) + ), + $attachment['fields'] + ); + } + + public function testAddsLongAttachmentWithoutContextAndExtra() + { + $level = Logger::ERROR; + $levelName = Logger::getLevelName($level); + $record = new SlackRecord(null, null, true, null); + $data = $record->getSlackData($this->getRecord($level, 'test', array('test' => 1))); + + $attachment = $data['attachments'][0]; + $this->assertArrayHasKey('title', $attachment); + $this->assertArrayHasKey('fields', $attachment); + $this->assertCount(1, $attachment['fields']); + $this->assertSame('Message', $attachment['title']); + $this->assertSame( + array(array( + 'title' => 'Level', + 'value' => $levelName, + 'short' => false + )), + $attachment['fields'] + ); + } + + public function testAddsLongAttachmentWithContextAndExtra() + { + $level = Logger::ERROR; + $levelName = Logger::getLevelName($level); + $context = array('test' => 1); + $extra = array('tags' => array('web')); + $record = new SlackRecord(null, null, true, null, false, true); + $loggerRecord = $this->getRecord($level, 'test', $context); + $loggerRecord['extra'] = $extra; + $data = $record->getSlackData($loggerRecord); + + $expectedFields = array( + array( + 'title' => 'Level', + 'value' => $levelName, + 'short' => false, + ), + array( + 'title' => 'tags', + 'value' => sprintf('```%s```', json_encode($extra['tags'])), + 'short' => false + ), + array( + 'title' => 'test', + 'value' => $context['test'], + 'short' => false + ) + ); + + $attachment = $data['attachments'][0]; + $this->assertArrayHasKey('title', $attachment); + $this->assertArrayHasKey('fields', $attachment); + $this->assertCount(3, $attachment['fields']); + $this->assertSame('Message', $attachment['title']); + $this->assertSame( + $expectedFields, + $attachment['fields'] + ); + } + + public function testAddsTimestampToAttachment() + { + $record = $this->getRecord(); + $slackRecord = new SlackRecord(); + $data = $slackRecord->getSlackData($this->getRecord()); + + $attachment = $data['attachments'][0]; + $this->assertArrayHasKey('ts', $attachment); + $this->assertSame($record['datetime']->getTimestamp(), $attachment['ts']); + } + + public function testExcludeExtraAndContextFields() + { + $record = $this->getRecord( + Logger::WARNING, + 'test', + array('info' => array('library' => 'monolog', 'author' => 'Jordi')) + ); + $record['extra'] = array('tags' => array('web', 'cli')); + + $slackRecord = new SlackRecord(null, null, true, null, false, true, array('context.info.library', 'extra.tags.1')); + $data = $slackRecord->getSlackData($record); + $attachment = $data['attachments'][0]; + + $expected = array( + array( + 'title' => 'info', + 'value' => sprintf('```%s```', json_encode(array('author' => 'Jordi'), $this->jsonPrettyPrintFlag)), + 'short' => false + ), + array( + 'title' => 'tags', + 'value' => sprintf('```%s```', json_encode(array('web'))), + 'short' => false + ), + ); + + foreach ($expected as $field) { + $this->assertNotFalse(array_search($field, $attachment['fields'])); + break; + } + } +} diff --git a/vendor/monolog/monolog/tests/Monolog/Handler/SlackHandlerTest.php b/vendor/monolog/monolog/tests/Monolog/Handler/SlackHandlerTest.php new file mode 100644 index 00000000..b12b01f4 --- /dev/null +++ b/vendor/monolog/monolog/tests/Monolog/Handler/SlackHandlerTest.php @@ -0,0 +1,155 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Monolog\Handler; + +use Monolog\TestCase; +use Monolog\Logger; +use Monolog\Formatter\LineFormatter; +use Monolog\Handler\Slack\SlackRecord; + +/** + * @author Greg Kedzierski + * @see https://api.slack.com/ + */ +class SlackHandlerTest extends TestCase +{ + /** + * @var resource + */ + private $res; + + /** + * @var SlackHandler + */ + private $handler; + + public function setUp() + { + if (!extension_loaded('openssl')) { + $this->markTestSkipped('This test requires openssl to run'); + } + } + + public function testWriteHeader() + { + $this->createHandler(); + $this->handler->handle($this->getRecord(Logger::CRITICAL, 'test1')); + fseek($this->res, 0); + $content = fread($this->res, 1024); + + $this->assertRegexp('/POST \/api\/chat.postMessage HTTP\/1.1\\r\\nHost: slack.com\\r\\nContent-Type: application\/x-www-form-urlencoded\\r\\nContent-Length: \d{2,4}\\r\\n\\r\\n/', $content); + } + + public function testWriteContent() + { + $this->createHandler(); + $this->handler->handle($this->getRecord(Logger::CRITICAL, 'test1')); + fseek($this->res, 0); + $content = fread($this->res, 1024); + + $this->assertRegExp('/username=Monolog/', $content); + $this->assertRegExp('/channel=channel1/', $content); + $this->assertRegExp('/token=myToken/', $content); + $this->assertRegExp('/attachments/', $content); + } + + public function testWriteContentUsesFormatterIfProvided() + { + $this->createHandler('myToken', 'channel1', 'Monolog', false); + $this->handler->handle($this->getRecord(Logger::CRITICAL, 'test1')); + fseek($this->res, 0); + $content = fread($this->res, 1024); + + $this->createHandler('myToken', 'channel1', 'Monolog', false); + $this->handler->setFormatter(new LineFormatter('foo--%message%')); + $this->handler->handle($this->getRecord(Logger::CRITICAL, 'test2')); + fseek($this->res, 0); + $content2 = fread($this->res, 1024); + + $this->assertRegexp('/text=test1/', $content); + $this->assertRegexp('/text=foo--test2/', $content2); + } + + public function testWriteContentWithEmoji() + { + $this->createHandler('myToken', 'channel1', 'Monolog', true, 'alien'); + $this->handler->handle($this->getRecord(Logger::CRITICAL, 'test1')); + fseek($this->res, 0); + $content = fread($this->res, 1024); + + $this->assertRegexp('/icon_emoji=%3Aalien%3A/', $content); + } + + /** + * @dataProvider provideLevelColors + */ + public function testWriteContentWithColors($level, $expectedColor) + { + $this->createHandler(); + $this->handler->handle($this->getRecord($level, 'test1')); + fseek($this->res, 0); + $content = fread($this->res, 1024); + + $this->assertRegexp('/%22color%22%3A%22'.$expectedColor.'/', $content); + } + + public function testWriteContentWithPlainTextMessage() + { + $this->createHandler('myToken', 'channel1', 'Monolog', false); + $this->handler->handle($this->getRecord(Logger::CRITICAL, 'test1')); + fseek($this->res, 0); + $content = fread($this->res, 1024); + + $this->assertRegexp('/text=test1/', $content); + } + + public function provideLevelColors() + { + return array( + array(Logger::DEBUG, urlencode(SlackRecord::COLOR_DEFAULT)), + array(Logger::INFO, SlackRecord::COLOR_GOOD), + array(Logger::NOTICE, SlackRecord::COLOR_GOOD), + array(Logger::WARNING, SlackRecord::COLOR_WARNING), + array(Logger::ERROR, SlackRecord::COLOR_DANGER), + array(Logger::CRITICAL, SlackRecord::COLOR_DANGER), + array(Logger::ALERT, SlackRecord::COLOR_DANGER), + array(Logger::EMERGENCY,SlackRecord::COLOR_DANGER), + ); + } + + private function createHandler($token = 'myToken', $channel = 'channel1', $username = 'Monolog', $useAttachment = true, $iconEmoji = null, $useShortAttachment = false, $includeExtra = false) + { + $constructorArgs = array($token, $channel, $username, $useAttachment, $iconEmoji, Logger::DEBUG, true, $useShortAttachment, $includeExtra); + $this->res = fopen('php://memory', 'a'); + $this->handler = $this->getMock( + '\Monolog\Handler\SlackHandler', + array('fsockopen', 'streamSetTimeout', 'closeSocket'), + $constructorArgs + ); + + $reflectionProperty = new \ReflectionProperty('\Monolog\Handler\SocketHandler', 'connectionString'); + $reflectionProperty->setAccessible(true); + $reflectionProperty->setValue($this->handler, 'localhost:1234'); + + $this->handler->expects($this->any()) + ->method('fsockopen') + ->will($this->returnValue($this->res)); + $this->handler->expects($this->any()) + ->method('streamSetTimeout') + ->will($this->returnValue(true)); + $this->handler->expects($this->any()) + ->method('closeSocket') + ->will($this->returnValue(true)); + + $this->handler->setFormatter($this->getIdentityFormatter()); + } +} diff --git a/vendor/monolog/monolog/tests/Monolog/Handler/SlackWebhookHandlerTest.php b/vendor/monolog/monolog/tests/Monolog/Handler/SlackWebhookHandlerTest.php new file mode 100644 index 00000000..c9229e26 --- /dev/null +++ b/vendor/monolog/monolog/tests/Monolog/Handler/SlackWebhookHandlerTest.php @@ -0,0 +1,107 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Monolog\Handler; + +use Monolog\TestCase; +use Monolog\Logger; +use Monolog\Formatter\LineFormatter; +use Monolog\Handler\Slack\SlackRecord; + +/** + * @author Haralan Dobrev + * @see https://api.slack.com/incoming-webhooks + * @coversDefaultClass Monolog\Handler\SlackWebhookHandler + */ +class SlackWebhookHandlerTest extends TestCase +{ + const WEBHOOK_URL = 'https://hooks.slack.com/services/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E'; + + /** + * @covers ::__construct + * @covers ::getSlackRecord + */ + public function testConstructorMinimal() + { + $handler = new SlackWebhookHandler(self::WEBHOOK_URL); + $record = $this->getRecord(); + $slackRecord = $handler->getSlackRecord(); + $this->assertInstanceOf('Monolog\Handler\Slack\SlackRecord', $slackRecord); + $this->assertEquals(array( + 'attachments' => array( + array( + 'fallback' => 'test', + 'text' => 'test', + 'color' => SlackRecord::COLOR_WARNING, + 'fields' => array( + array( + 'title' => 'Level', + 'value' => 'WARNING', + 'short' => false, + ), + ), + 'title' => 'Message', + 'mrkdwn_in' => array('fields'), + 'ts' => $record['datetime']->getTimestamp(), + ), + ), + ), $slackRecord->getSlackData($record)); + } + + /** + * @covers ::__construct + * @covers ::getSlackRecord + */ + public function testConstructorFull() + { + $handler = new SlackWebhookHandler( + self::WEBHOOK_URL, + 'test-channel', + 'test-username', + false, + ':ghost:', + false, + false, + Logger::DEBUG, + false + ); + + $slackRecord = $handler->getSlackRecord(); + $this->assertInstanceOf('Monolog\Handler\Slack\SlackRecord', $slackRecord); + $this->assertEquals(array( + 'username' => 'test-username', + 'text' => 'test', + 'channel' => 'test-channel', + 'icon_emoji' => ':ghost:', + ), $slackRecord->getSlackData($this->getRecord())); + } + + /** + * @covers ::getFormatter + */ + public function testGetFormatter() + { + $handler = new SlackWebhookHandler(self::WEBHOOK_URL); + $formatter = $handler->getFormatter(); + $this->assertInstanceOf('Monolog\Formatter\FormatterInterface', $formatter); + } + + /** + * @covers ::setFormatter + */ + public function testSetFormatter() + { + $handler = new SlackWebhookHandler(self::WEBHOOK_URL); + $formatter = new LineFormatter(); + $handler->setFormatter($formatter); + $this->assertSame($formatter, $handler->getFormatter()); + } +} diff --git a/vendor/monolog/monolog/tests/Monolog/Handler/SlackbotHandlerTest.php b/vendor/monolog/monolog/tests/Monolog/Handler/SlackbotHandlerTest.php new file mode 100644 index 00000000..b1b02bde --- /dev/null +++ b/vendor/monolog/monolog/tests/Monolog/Handler/SlackbotHandlerTest.php @@ -0,0 +1,47 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Monolog\Handler; + +use Monolog\TestCase; +use Monolog\Logger; + +/** + * @author Haralan Dobrev + * @see https://slack.com/apps/A0F81R8ET-slackbot + * @coversDefaultClass Monolog\Handler\SlackbotHandler + */ +class SlackbotHandlerTest extends TestCase +{ + /** + * @covers ::__construct + */ + public function testConstructorMinimal() + { + $handler = new SlackbotHandler('test-team', 'test-token', 'test-channel'); + $this->assertInstanceOf('Monolog\Handler\AbstractProcessingHandler', $handler); + } + + /** + * @covers ::__construct + */ + public function testConstructorFull() + { + $handler = new SlackbotHandler( + 'test-team', + 'test-token', + 'test-channel', + Logger::DEBUG, + false + ); + $this->assertInstanceOf('Monolog\Handler\AbstractProcessingHandler', $handler); + } +} diff --git a/vendor/monolog/monolog/tests/Monolog/Handler/SocketHandlerTest.php b/vendor/monolog/monolog/tests/Monolog/Handler/SocketHandlerTest.php new file mode 100644 index 00000000..1f9c1f28 --- /dev/null +++ b/vendor/monolog/monolog/tests/Monolog/Handler/SocketHandlerTest.php @@ -0,0 +1,309 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Monolog\Handler; + +use Monolog\TestCase; +use Monolog\Logger; + +/** + * @author Pablo de Leon Belloc + */ +class SocketHandlerTest extends TestCase +{ + /** + * @var Monolog\Handler\SocketHandler + */ + private $handler; + + /** + * @var resource + */ + private $res; + + /** + * @expectedException UnexpectedValueException + */ + public function testInvalidHostname() + { + $this->createHandler('garbage://here'); + $this->writeRecord('data'); + } + + /** + * @expectedException \InvalidArgumentException + */ + public function testBadConnectionTimeout() + { + $this->createHandler('localhost:1234'); + $this->handler->setConnectionTimeout(-1); + } + + public function testSetConnectionTimeout() + { + $this->createHandler('localhost:1234'); + $this->handler->setConnectionTimeout(10.1); + $this->assertEquals(10.1, $this->handler->getConnectionTimeout()); + } + + /** + * @expectedException \InvalidArgumentException + */ + public function testBadTimeout() + { + $this->createHandler('localhost:1234'); + $this->handler->setTimeout(-1); + } + + public function testSetTimeout() + { + $this->createHandler('localhost:1234'); + $this->handler->setTimeout(10.25); + $this->assertEquals(10.25, $this->handler->getTimeout()); + } + + public function testSetWritingTimeout() + { + $this->createHandler('localhost:1234'); + $this->handler->setWritingTimeout(10.25); + $this->assertEquals(10.25, $this->handler->getWritingTimeout()); + } + + public function testSetConnectionString() + { + $this->createHandler('tcp://localhost:9090'); + $this->assertEquals('tcp://localhost:9090', $this->handler->getConnectionString()); + } + + /** + * @expectedException UnexpectedValueException + */ + public function testExceptionIsThrownOnFsockopenError() + { + $this->setMockHandler(array('fsockopen')); + $this->handler->expects($this->once()) + ->method('fsockopen') + ->will($this->returnValue(false)); + $this->writeRecord('Hello world'); + } + + /** + * @expectedException UnexpectedValueException + */ + public function testExceptionIsThrownOnPfsockopenError() + { + $this->setMockHandler(array('pfsockopen')); + $this->handler->expects($this->once()) + ->method('pfsockopen') + ->will($this->returnValue(false)); + $this->handler->setPersistent(true); + $this->writeRecord('Hello world'); + } + + /** + * @expectedException UnexpectedValueException + */ + public function testExceptionIsThrownIfCannotSetTimeout() + { + $this->setMockHandler(array('streamSetTimeout')); + $this->handler->expects($this->once()) + ->method('streamSetTimeout') + ->will($this->returnValue(false)); + $this->writeRecord('Hello world'); + } + + /** + * @expectedException RuntimeException + */ + public function testWriteFailsOnIfFwriteReturnsFalse() + { + $this->setMockHandler(array('fwrite')); + + $callback = function ($arg) { + $map = array( + 'Hello world' => 6, + 'world' => false, + ); + + return $map[$arg]; + }; + + $this->handler->expects($this->exactly(2)) + ->method('fwrite') + ->will($this->returnCallback($callback)); + + $this->writeRecord('Hello world'); + } + + /** + * @expectedException RuntimeException + */ + public function testWriteFailsIfStreamTimesOut() + { + $this->setMockHandler(array('fwrite', 'streamGetMetadata')); + + $callback = function ($arg) { + $map = array( + 'Hello world' => 6, + 'world' => 5, + ); + + return $map[$arg]; + }; + + $this->handler->expects($this->exactly(1)) + ->method('fwrite') + ->will($this->returnCallback($callback)); + $this->handler->expects($this->exactly(1)) + ->method('streamGetMetadata') + ->will($this->returnValue(array('timed_out' => true))); + + $this->writeRecord('Hello world'); + } + + /** + * @expectedException RuntimeException + */ + public function testWriteFailsOnIncompleteWrite() + { + $this->setMockHandler(array('fwrite', 'streamGetMetadata')); + + $res = $this->res; + $callback = function ($string) use ($res) { + fclose($res); + + return strlen('Hello'); + }; + + $this->handler->expects($this->exactly(1)) + ->method('fwrite') + ->will($this->returnCallback($callback)); + $this->handler->expects($this->exactly(1)) + ->method('streamGetMetadata') + ->will($this->returnValue(array('timed_out' => false))); + + $this->writeRecord('Hello world'); + } + + public function testWriteWithMemoryFile() + { + $this->setMockHandler(); + $this->writeRecord('test1'); + $this->writeRecord('test2'); + $this->writeRecord('test3'); + fseek($this->res, 0); + $this->assertEquals('test1test2test3', fread($this->res, 1024)); + } + + public function testWriteWithMock() + { + $this->setMockHandler(array('fwrite')); + + $callback = function ($arg) { + $map = array( + 'Hello world' => 6, + 'world' => 5, + ); + + return $map[$arg]; + }; + + $this->handler->expects($this->exactly(2)) + ->method('fwrite') + ->will($this->returnCallback($callback)); + + $this->writeRecord('Hello world'); + } + + public function testClose() + { + $this->setMockHandler(); + $this->writeRecord('Hello world'); + $this->assertInternalType('resource', $this->res); + $this->handler->close(); + $this->assertFalse(is_resource($this->res), "Expected resource to be closed after closing handler"); + } + + public function testCloseDoesNotClosePersistentSocket() + { + $this->setMockHandler(); + $this->handler->setPersistent(true); + $this->writeRecord('Hello world'); + $this->assertTrue(is_resource($this->res)); + $this->handler->close(); + $this->assertTrue(is_resource($this->res)); + } + + /** + * @expectedException \RuntimeException + */ + public function testAvoidInfiniteLoopWhenNoDataIsWrittenForAWritingTimeoutSeconds() + { + $this->setMockHandler(array('fwrite', 'streamGetMetadata')); + + $this->handler->expects($this->any()) + ->method('fwrite') + ->will($this->returnValue(0)); + + $this->handler->expects($this->any()) + ->method('streamGetMetadata') + ->will($this->returnValue(array('timed_out' => false))); + + $this->handler->setWritingTimeout(1); + + $this->writeRecord('Hello world'); + } + + private function createHandler($connectionString) + { + $this->handler = new SocketHandler($connectionString); + $this->handler->setFormatter($this->getIdentityFormatter()); + } + + private function writeRecord($string) + { + $this->handler->handle($this->getRecord(Logger::WARNING, $string)); + } + + private function setMockHandler(array $methods = array()) + { + $this->res = fopen('php://memory', 'a'); + + $defaultMethods = array('fsockopen', 'pfsockopen', 'streamSetTimeout'); + $newMethods = array_diff($methods, $defaultMethods); + + $finalMethods = array_merge($defaultMethods, $newMethods); + + $this->handler = $this->getMock( + '\Monolog\Handler\SocketHandler', $finalMethods, array('localhost:1234') + ); + + if (!in_array('fsockopen', $methods)) { + $this->handler->expects($this->any()) + ->method('fsockopen') + ->will($this->returnValue($this->res)); + } + + if (!in_array('pfsockopen', $methods)) { + $this->handler->expects($this->any()) + ->method('pfsockopen') + ->will($this->returnValue($this->res)); + } + + if (!in_array('streamSetTimeout', $methods)) { + $this->handler->expects($this->any()) + ->method('streamSetTimeout') + ->will($this->returnValue(true)); + } + + $this->handler->setFormatter($this->getIdentityFormatter()); + } +} diff --git a/vendor/monolog/monolog/tests/Monolog/Handler/StreamHandlerTest.php b/vendor/monolog/monolog/tests/Monolog/Handler/StreamHandlerTest.php new file mode 100644 index 00000000..487030fe --- /dev/null +++ b/vendor/monolog/monolog/tests/Monolog/Handler/StreamHandlerTest.php @@ -0,0 +1,184 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Monolog\Handler; + +use Monolog\TestCase; +use Monolog\Logger; + +class StreamHandlerTest extends TestCase +{ + /** + * @covers Monolog\Handler\StreamHandler::__construct + * @covers Monolog\Handler\StreamHandler::write + */ + public function testWrite() + { + $handle = fopen('php://memory', 'a+'); + $handler = new StreamHandler($handle); + $handler->setFormatter($this->getIdentityFormatter()); + $handler->handle($this->getRecord(Logger::WARNING, 'test')); + $handler->handle($this->getRecord(Logger::WARNING, 'test2')); + $handler->handle($this->getRecord(Logger::WARNING, 'test3')); + fseek($handle, 0); + $this->assertEquals('testtest2test3', fread($handle, 100)); + } + + /** + * @covers Monolog\Handler\StreamHandler::close + */ + public function testCloseKeepsExternalHandlersOpen() + { + $handle = fopen('php://memory', 'a+'); + $handler = new StreamHandler($handle); + $this->assertTrue(is_resource($handle)); + $handler->close(); + $this->assertTrue(is_resource($handle)); + } + + /** + * @covers Monolog\Handler\StreamHandler::close + */ + public function testClose() + { + $handler = new StreamHandler('php://memory'); + $handler->handle($this->getRecord(Logger::WARNING, 'test')); + $streamProp = new \ReflectionProperty('Monolog\Handler\StreamHandler', 'stream'); + $streamProp->setAccessible(true); + $handle = $streamProp->getValue($handler); + + $this->assertTrue(is_resource($handle)); + $handler->close(); + $this->assertFalse(is_resource($handle)); + } + + /** + * @covers Monolog\Handler\StreamHandler::write + */ + public function testWriteCreatesTheStreamResource() + { + $handler = new StreamHandler('php://memory'); + $handler->handle($this->getRecord()); + } + + /** + * @covers Monolog\Handler\StreamHandler::__construct + * @covers Monolog\Handler\StreamHandler::write + */ + public function testWriteLocking() + { + $temp = sys_get_temp_dir() . DIRECTORY_SEPARATOR . 'monolog_locked_log'; + $handler = new StreamHandler($temp, Logger::DEBUG, true, null, true); + $handler->handle($this->getRecord()); + } + + /** + * @expectedException LogicException + * @covers Monolog\Handler\StreamHandler::__construct + * @covers Monolog\Handler\StreamHandler::write + */ + public function testWriteMissingResource() + { + $handler = new StreamHandler(null); + $handler->handle($this->getRecord()); + } + + public function invalidArgumentProvider() + { + return array( + array(1), + array(array()), + array(array('bogus://url')), + ); + } + + /** + * @dataProvider invalidArgumentProvider + * @expectedException InvalidArgumentException + * @covers Monolog\Handler\StreamHandler::__construct + */ + public function testWriteInvalidArgument($invalidArgument) + { + $handler = new StreamHandler($invalidArgument); + } + + /** + * @expectedException UnexpectedValueException + * @covers Monolog\Handler\StreamHandler::__construct + * @covers Monolog\Handler\StreamHandler::write + */ + public function testWriteInvalidResource() + { + $handler = new StreamHandler('bogus://url'); + $handler->handle($this->getRecord()); + } + + /** + * @expectedException UnexpectedValueException + * @covers Monolog\Handler\StreamHandler::__construct + * @covers Monolog\Handler\StreamHandler::write + */ + public function testWriteNonExistingResource() + { + $handler = new StreamHandler('ftp://foo/bar/baz/'.rand(0, 10000)); + $handler->handle($this->getRecord()); + } + + /** + * @covers Monolog\Handler\StreamHandler::__construct + * @covers Monolog\Handler\StreamHandler::write + */ + public function testWriteNonExistingPath() + { + $handler = new StreamHandler(sys_get_temp_dir().'/bar/'.rand(0, 10000).DIRECTORY_SEPARATOR.rand(0, 10000)); + $handler->handle($this->getRecord()); + } + + /** + * @covers Monolog\Handler\StreamHandler::__construct + * @covers Monolog\Handler\StreamHandler::write + */ + public function testWriteNonExistingFileResource() + { + $handler = new StreamHandler('file://'.sys_get_temp_dir().'/bar/'.rand(0, 10000).DIRECTORY_SEPARATOR.rand(0, 10000)); + $handler->handle($this->getRecord()); + } + + /** + * @expectedException Exception + * @expectedExceptionMessageRegExp /There is no existing directory at/ + * @covers Monolog\Handler\StreamHandler::__construct + * @covers Monolog\Handler\StreamHandler::write + */ + public function testWriteNonExistingAndNotCreatablePath() + { + if (defined('PHP_WINDOWS_VERSION_BUILD')) { + $this->markTestSkipped('Permissions checks can not run on windows'); + } + $handler = new StreamHandler('/foo/bar/'.rand(0, 10000).DIRECTORY_SEPARATOR.rand(0, 10000)); + $handler->handle($this->getRecord()); + } + + /** + * @expectedException Exception + * @expectedExceptionMessageRegExp /There is no existing directory at/ + * @covers Monolog\Handler\StreamHandler::__construct + * @covers Monolog\Handler\StreamHandler::write + */ + public function testWriteNonExistingAndNotCreatableFileResource() + { + if (defined('PHP_WINDOWS_VERSION_BUILD')) { + $this->markTestSkipped('Permissions checks can not run on windows'); + } + $handler = new StreamHandler('file:///foo/bar/'.rand(0, 10000).DIRECTORY_SEPARATOR.rand(0, 10000)); + $handler->handle($this->getRecord()); + } +} diff --git a/vendor/monolog/monolog/tests/Monolog/Handler/SwiftMailerHandlerTest.php b/vendor/monolog/monolog/tests/Monolog/Handler/SwiftMailerHandlerTest.php new file mode 100644 index 00000000..85886910 --- /dev/null +++ b/vendor/monolog/monolog/tests/Monolog/Handler/SwiftMailerHandlerTest.php @@ -0,0 +1,113 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Monolog\Handler; + +use Monolog\Logger; +use Monolog\TestCase; + +class SwiftMailerHandlerTest extends TestCase +{ + /** @var \Swift_Mailer|\PHPUnit_Framework_MockObject_MockObject */ + private $mailer; + + public function setUp() + { + $this->mailer = $this + ->getMockBuilder('Swift_Mailer') + ->disableOriginalConstructor() + ->getMock(); + } + + public function testMessageCreationIsLazyWhenUsingCallback() + { + $this->mailer->expects($this->never()) + ->method('send'); + + $callback = function () { + throw new \RuntimeException('Swift_Message creation callback should not have been called in this test'); + }; + $handler = new SwiftMailerHandler($this->mailer, $callback); + + $records = array( + $this->getRecord(Logger::DEBUG), + $this->getRecord(Logger::INFO), + ); + $handler->handleBatch($records); + } + + public function testMessageCanBeCustomizedGivenLoggedData() + { + // Wire Mailer to expect a specific Swift_Message with a customized Subject + $expectedMessage = new \Swift_Message(); + $this->mailer->expects($this->once()) + ->method('send') + ->with($this->callback(function ($value) use ($expectedMessage) { + return $value instanceof \Swift_Message + && $value->getSubject() === 'Emergency' + && $value === $expectedMessage; + })); + + // Callback dynamically changes subject based on number of logged records + $callback = function ($content, array $records) use ($expectedMessage) { + $subject = count($records) > 0 ? 'Emergency' : 'Normal'; + $expectedMessage->setSubject($subject); + + return $expectedMessage; + }; + $handler = new SwiftMailerHandler($this->mailer, $callback); + + // Logging 1 record makes this an Emergency + $records = array( + $this->getRecord(Logger::EMERGENCY), + ); + $handler->handleBatch($records); + } + + public function testMessageSubjectFormatting() + { + // Wire Mailer to expect a specific Swift_Message with a customized Subject + $messageTemplate = new \Swift_Message(); + $messageTemplate->setSubject('Alert: %level_name% %message%'); + $receivedMessage = null; + + $this->mailer->expects($this->once()) + ->method('send') + ->with($this->callback(function ($value) use (&$receivedMessage) { + $receivedMessage = $value; + return true; + })); + + $handler = new SwiftMailerHandler($this->mailer, $messageTemplate); + + $records = array( + $this->getRecord(Logger::EMERGENCY), + ); + $handler->handleBatch($records); + + $this->assertEquals('Alert: EMERGENCY test', $receivedMessage->getSubject()); + } + + public function testMessageHaveUniqueId() + { + $messageTemplate = \Swift_Message::newInstance(); + $handler = new SwiftMailerHandler($this->mailer, $messageTemplate); + + $method = new \ReflectionMethod('Monolog\Handler\SwiftMailerHandler', 'buildMessage'); + $method->setAccessible(true); + $method->invokeArgs($handler, array($messageTemplate, array())); + + $builtMessage1 = $method->invoke($handler, $messageTemplate, array()); + $builtMessage2 = $method->invoke($handler, $messageTemplate, array()); + + $this->assertFalse($builtMessage1->getId() === $builtMessage2->getId(), 'Two different messages have the same id'); + } +} diff --git a/vendor/monolog/monolog/tests/Monolog/Handler/SyslogHandlerTest.php b/vendor/monolog/monolog/tests/Monolog/Handler/SyslogHandlerTest.php new file mode 100644 index 00000000..8f9e46bf --- /dev/null +++ b/vendor/monolog/monolog/tests/Monolog/Handler/SyslogHandlerTest.php @@ -0,0 +1,44 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Monolog\Handler; + +use Monolog\Logger; + +class SyslogHandlerTest extends \PHPUnit_Framework_TestCase +{ + /** + * @covers Monolog\Handler\SyslogHandler::__construct + */ + public function testConstruct() + { + $handler = new SyslogHandler('test'); + $this->assertInstanceOf('Monolog\Handler\SyslogHandler', $handler); + + $handler = new SyslogHandler('test', LOG_USER); + $this->assertInstanceOf('Monolog\Handler\SyslogHandler', $handler); + + $handler = new SyslogHandler('test', 'user'); + $this->assertInstanceOf('Monolog\Handler\SyslogHandler', $handler); + + $handler = new SyslogHandler('test', LOG_USER, Logger::DEBUG, true, LOG_PERROR); + $this->assertInstanceOf('Monolog\Handler\SyslogHandler', $handler); + } + + /** + * @covers Monolog\Handler\SyslogHandler::__construct + */ + public function testConstructInvalidFacility() + { + $this->setExpectedException('UnexpectedValueException'); + $handler = new SyslogHandler('test', 'unknown'); + } +} diff --git a/vendor/monolog/monolog/tests/Monolog/Handler/SyslogUdpHandlerTest.php b/vendor/monolog/monolog/tests/Monolog/Handler/SyslogUdpHandlerTest.php new file mode 100644 index 00000000..aa4a3341 --- /dev/null +++ b/vendor/monolog/monolog/tests/Monolog/Handler/SyslogUdpHandlerTest.php @@ -0,0 +1,65 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Monolog\Handler; + +use Monolog\TestCase; + +/** + * @requires extension sockets + */ +class SyslogUdpHandlerTest extends TestCase +{ + /** + * @expectedException UnexpectedValueException + */ + public function testWeValidateFacilities() + { + $handler = new SyslogUdpHandler("ip", null, "invalidFacility"); + } + + public function testWeSplitIntoLines() + { + $handler = new SyslogUdpHandler("127.0.0.1", 514, "authpriv"); + $handler->setFormatter(new \Monolog\Formatter\ChromePHPFormatter()); + + $socket = $this->getMock('\Monolog\Handler\SyslogUdp\UdpSocket', array('write'), array('lol', 'lol')); + $socket->expects($this->at(0)) + ->method('write') + ->with("lol", "<".(LOG_AUTHPRIV + LOG_WARNING).">1 "); + $socket->expects($this->at(1)) + ->method('write') + ->with("hej", "<".(LOG_AUTHPRIV + LOG_WARNING).">1 "); + + $handler->setSocket($socket); + + $handler->handle($this->getRecordWithMessage("hej\nlol")); + } + + public function testSplitWorksOnEmptyMsg() + { + $handler = new SyslogUdpHandler("127.0.0.1", 514, "authpriv"); + $handler->setFormatter($this->getIdentityFormatter()); + + $socket = $this->getMock('\Monolog\Handler\SyslogUdp\UdpSocket', array('write'), array('lol', 'lol')); + $socket->expects($this->never()) + ->method('write'); + + $handler->setSocket($socket); + + $handler->handle($this->getRecordWithMessage(null)); + } + + protected function getRecordWithMessage($msg) + { + return array('message' => $msg, 'level' => \Monolog\Logger::WARNING, 'context' => null, 'extra' => array(), 'channel' => 'lol'); + } +} diff --git a/vendor/monolog/monolog/tests/Monolog/Handler/TestHandlerTest.php b/vendor/monolog/monolog/tests/Monolog/Handler/TestHandlerTest.php new file mode 100644 index 00000000..bfb8d3df --- /dev/null +++ b/vendor/monolog/monolog/tests/Monolog/Handler/TestHandlerTest.php @@ -0,0 +1,70 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Monolog\Handler; + +use Monolog\TestCase; +use Monolog\Logger; + +/** + * @covers Monolog\Handler\TestHandler + */ +class TestHandlerTest extends TestCase +{ + /** + * @dataProvider methodProvider + */ + public function testHandler($method, $level) + { + $handler = new TestHandler; + $record = $this->getRecord($level, 'test'.$method); + $this->assertFalse($handler->hasRecords($level)); + $this->assertFalse($handler->hasRecord($record, $level)); + $this->assertFalse($handler->{'has'.$method}($record), 'has'.$method); + $this->assertFalse($handler->{'has'.$method.'ThatContains'}('test'), 'has'.$method.'ThatContains'); + $this->assertFalse($handler->{'has'.$method.'ThatPasses'}(function ($rec) { + return true; + }), 'has'.$method.'ThatPasses'); + $this->assertFalse($handler->{'has'.$method.'ThatMatches'}('/test\w+/')); + $this->assertFalse($handler->{'has'.$method.'Records'}(), 'has'.$method.'Records'); + $handler->handle($record); + + $this->assertFalse($handler->{'has'.$method}('bar'), 'has'.$method); + $this->assertTrue($handler->hasRecords($level)); + $this->assertTrue($handler->hasRecord($record, $level)); + $this->assertTrue($handler->{'has'.$method}($record), 'has'.$method); + $this->assertTrue($handler->{'has'.$method}('test'.$method), 'has'.$method); + $this->assertTrue($handler->{'has'.$method.'ThatContains'}('test'), 'has'.$method.'ThatContains'); + $this->assertTrue($handler->{'has'.$method.'ThatPasses'}(function ($rec) { + return true; + }), 'has'.$method.'ThatPasses'); + $this->assertTrue($handler->{'has'.$method.'ThatMatches'}('/test\w+/')); + $this->assertTrue($handler->{'has'.$method.'Records'}(), 'has'.$method.'Records'); + + $records = $handler->getRecords(); + unset($records[0]['formatted']); + $this->assertEquals(array($record), $records); + } + + public function methodProvider() + { + return array( + array('Emergency', Logger::EMERGENCY), + array('Alert' , Logger::ALERT), + array('Critical' , Logger::CRITICAL), + array('Error' , Logger::ERROR), + array('Warning' , Logger::WARNING), + array('Info' , Logger::INFO), + array('Notice' , Logger::NOTICE), + array('Debug' , Logger::DEBUG), + ); + } +} diff --git a/vendor/monolog/monolog/tests/Monolog/Handler/UdpSocketTest.php b/vendor/monolog/monolog/tests/Monolog/Handler/UdpSocketTest.php new file mode 100644 index 00000000..fa524d00 --- /dev/null +++ b/vendor/monolog/monolog/tests/Monolog/Handler/UdpSocketTest.php @@ -0,0 +1,64 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Monolog\Handler; + +use Monolog\TestCase; +use Monolog\Handler\SyslogUdp\UdpSocket; + +/** + * @requires extension sockets + */ +class UdpSocketTest extends TestCase +{ + public function testWeDoNotTruncateShortMessages() + { + $socket = $this->getMock('\Monolog\Handler\SyslogUdp\UdpSocket', array('send'), array('lol', 'lol')); + + $socket->expects($this->at(0)) + ->method('send') + ->with("HEADER: The quick brown fox jumps over the lazy dog"); + + $socket->write("The quick brown fox jumps over the lazy dog", "HEADER: "); + } + + public function testLongMessagesAreTruncated() + { + $socket = $this->getMock('\Monolog\Handler\SyslogUdp\UdpSocket', array('send'), array('lol', 'lol')); + + $truncatedString = str_repeat("derp", 16254).'d'; + + $socket->expects($this->exactly(1)) + ->method('send') + ->with("HEADER" . $truncatedString); + + $longString = str_repeat("derp", 20000); + + $socket->write($longString, "HEADER"); + } + + public function testDoubleCloseDoesNotError() + { + $socket = new UdpSocket('127.0.0.1', 514); + $socket->close(); + $socket->close(); + } + + /** + * @expectedException LogicException + */ + public function testWriteAfterCloseErrors() + { + $socket = new UdpSocket('127.0.0.1', 514); + $socket->close(); + $socket->write('foo', "HEADER"); + } +} diff --git a/vendor/monolog/monolog/tests/Monolog/Handler/WhatFailureGroupHandlerTest.php b/vendor/monolog/monolog/tests/Monolog/Handler/WhatFailureGroupHandlerTest.php new file mode 100644 index 00000000..8d37a1fc --- /dev/null +++ b/vendor/monolog/monolog/tests/Monolog/Handler/WhatFailureGroupHandlerTest.php @@ -0,0 +1,121 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Monolog\Handler; + +use Monolog\TestCase; +use Monolog\Logger; + +class WhatFailureGroupHandlerTest extends TestCase +{ + /** + * @covers Monolog\Handler\WhatFailureGroupHandler::__construct + * @expectedException InvalidArgumentException + */ + public function testConstructorOnlyTakesHandler() + { + new WhatFailureGroupHandler(array(new TestHandler(), "foo")); + } + + /** + * @covers Monolog\Handler\WhatFailureGroupHandler::__construct + * @covers Monolog\Handler\WhatFailureGroupHandler::handle + */ + public function testHandle() + { + $testHandlers = array(new TestHandler(), new TestHandler()); + $handler = new WhatFailureGroupHandler($testHandlers); + $handler->handle($this->getRecord(Logger::DEBUG)); + $handler->handle($this->getRecord(Logger::INFO)); + foreach ($testHandlers as $test) { + $this->assertTrue($test->hasDebugRecords()); + $this->assertTrue($test->hasInfoRecords()); + $this->assertTrue(count($test->getRecords()) === 2); + } + } + + /** + * @covers Monolog\Handler\WhatFailureGroupHandler::handleBatch + */ + public function testHandleBatch() + { + $testHandlers = array(new TestHandler(), new TestHandler()); + $handler = new WhatFailureGroupHandler($testHandlers); + $handler->handleBatch(array($this->getRecord(Logger::DEBUG), $this->getRecord(Logger::INFO))); + foreach ($testHandlers as $test) { + $this->assertTrue($test->hasDebugRecords()); + $this->assertTrue($test->hasInfoRecords()); + $this->assertTrue(count($test->getRecords()) === 2); + } + } + + /** + * @covers Monolog\Handler\WhatFailureGroupHandler::isHandling + */ + public function testIsHandling() + { + $testHandlers = array(new TestHandler(Logger::ERROR), new TestHandler(Logger::WARNING)); + $handler = new WhatFailureGroupHandler($testHandlers); + $this->assertTrue($handler->isHandling($this->getRecord(Logger::ERROR))); + $this->assertTrue($handler->isHandling($this->getRecord(Logger::WARNING))); + $this->assertFalse($handler->isHandling($this->getRecord(Logger::DEBUG))); + } + + /** + * @covers Monolog\Handler\WhatFailureGroupHandler::handle + */ + public function testHandleUsesProcessors() + { + $test = new TestHandler(); + $handler = new WhatFailureGroupHandler(array($test)); + $handler->pushProcessor(function ($record) { + $record['extra']['foo'] = true; + + return $record; + }); + $handler->handle($this->getRecord(Logger::WARNING)); + $this->assertTrue($test->hasWarningRecords()); + $records = $test->getRecords(); + $this->assertTrue($records[0]['extra']['foo']); + } + + /** + * @covers Monolog\Handler\WhatFailureGroupHandler::handle + */ + public function testHandleException() + { + $test = new TestHandler(); + $exception = new ExceptionTestHandler(); + $handler = new WhatFailureGroupHandler(array($exception, $test, $exception)); + $handler->pushProcessor(function ($record) { + $record['extra']['foo'] = true; + + return $record; + }); + $handler->handle($this->getRecord(Logger::WARNING)); + $this->assertTrue($test->hasWarningRecords()); + $records = $test->getRecords(); + $this->assertTrue($records[0]['extra']['foo']); + } +} + +class ExceptionTestHandler extends TestHandler +{ + /** + * {@inheritdoc} + */ + public function handle(array $record) + { + parent::handle($record); + + throw new \Exception("ExceptionTestHandler::handle"); + } +} diff --git a/vendor/monolog/monolog/tests/Monolog/Handler/ZendMonitorHandlerTest.php b/vendor/monolog/monolog/tests/Monolog/Handler/ZendMonitorHandlerTest.php new file mode 100644 index 00000000..69b001ea --- /dev/null +++ b/vendor/monolog/monolog/tests/Monolog/Handler/ZendMonitorHandlerTest.php @@ -0,0 +1,69 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Monolog\Handler; + +use Monolog\TestCase; + +class ZendMonitorHandlerTest extends TestCase +{ + protected $zendMonitorHandler; + + public function setUp() + { + if (!function_exists('zend_monitor_custom_event')) { + $this->markTestSkipped('ZendServer is not installed'); + } + } + + /** + * @covers Monolog\Handler\ZendMonitorHandler::write + */ + public function testWrite() + { + $record = $this->getRecord(); + $formatterResult = array( + 'message' => $record['message'], + ); + + $zendMonitor = $this->getMockBuilder('Monolog\Handler\ZendMonitorHandler') + ->setMethods(array('writeZendMonitorCustomEvent', 'getDefaultFormatter')) + ->getMock(); + + $formatterMock = $this->getMockBuilder('Monolog\Formatter\NormalizerFormatter') + ->disableOriginalConstructor() + ->getMock(); + + $formatterMock->expects($this->once()) + ->method('format') + ->will($this->returnValue($formatterResult)); + + $zendMonitor->expects($this->once()) + ->method('getDefaultFormatter') + ->will($this->returnValue($formatterMock)); + + $levelMap = $zendMonitor->getLevelMap(); + + $zendMonitor->expects($this->once()) + ->method('writeZendMonitorCustomEvent') + ->with($levelMap[$record['level']], $record['message'], $formatterResult); + + $zendMonitor->handle($record); + } + + /** + * @covers Monolog\Handler\ZendMonitorHandler::getDefaultFormatter + */ + public function testGetDefaultFormatterReturnsNormalizerFormatter() + { + $zendMonitor = new ZendMonitorHandler(); + $this->assertInstanceOf('Monolog\Formatter\NormalizerFormatter', $zendMonitor->getDefaultFormatter()); + } +} diff --git a/vendor/monolog/monolog/tests/Monolog/LoggerTest.php b/vendor/monolog/monolog/tests/Monolog/LoggerTest.php new file mode 100644 index 00000000..1ecc34a0 --- /dev/null +++ b/vendor/monolog/monolog/tests/Monolog/LoggerTest.php @@ -0,0 +1,548 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Monolog; + +use Monolog\Processor\WebProcessor; +use Monolog\Handler\TestHandler; + +class LoggerTest extends \PHPUnit_Framework_TestCase +{ + /** + * @covers Monolog\Logger::getName + */ + public function testGetName() + { + $logger = new Logger('foo'); + $this->assertEquals('foo', $logger->getName()); + } + + /** + * @covers Monolog\Logger::getLevelName + */ + public function testGetLevelName() + { + $this->assertEquals('ERROR', Logger::getLevelName(Logger::ERROR)); + } + + /** + * @covers Monolog\Logger::withName + */ + public function testWithName() + { + $first = new Logger('first', array($handler = new TestHandler())); + $second = $first->withName('second'); + + $this->assertSame('first', $first->getName()); + $this->assertSame('second', $second->getName()); + $this->assertSame($handler, $second->popHandler()); + } + + /** + * @covers Monolog\Logger::toMonologLevel + */ + public function testConvertPSR3ToMonologLevel() + { + $this->assertEquals(Logger::toMonologLevel('debug'), 100); + $this->assertEquals(Logger::toMonologLevel('info'), 200); + $this->assertEquals(Logger::toMonologLevel('notice'), 250); + $this->assertEquals(Logger::toMonologLevel('warning'), 300); + $this->assertEquals(Logger::toMonologLevel('error'), 400); + $this->assertEquals(Logger::toMonologLevel('critical'), 500); + $this->assertEquals(Logger::toMonologLevel('alert'), 550); + $this->assertEquals(Logger::toMonologLevel('emergency'), 600); + } + + /** + * @covers Monolog\Logger::getLevelName + * @expectedException InvalidArgumentException + */ + public function testGetLevelNameThrows() + { + Logger::getLevelName(5); + } + + /** + * @covers Monolog\Logger::__construct + */ + public function testChannel() + { + $logger = new Logger('foo'); + $handler = new TestHandler; + $logger->pushHandler($handler); + $logger->addWarning('test'); + list($record) = $handler->getRecords(); + $this->assertEquals('foo', $record['channel']); + } + + /** + * @covers Monolog\Logger::addRecord + */ + public function testLog() + { + $logger = new Logger(__METHOD__); + + $handler = $this->getMock('Monolog\Handler\NullHandler', array('handle')); + $handler->expects($this->once()) + ->method('handle'); + $logger->pushHandler($handler); + + $this->assertTrue($logger->addWarning('test')); + } + + /** + * @covers Monolog\Logger::addRecord + */ + public function testLogNotHandled() + { + $logger = new Logger(__METHOD__); + + $handler = $this->getMock('Monolog\Handler\NullHandler', array('handle'), array(Logger::ERROR)); + $handler->expects($this->never()) + ->method('handle'); + $logger->pushHandler($handler); + + $this->assertFalse($logger->addWarning('test')); + } + + public function testHandlersInCtor() + { + $handler1 = new TestHandler; + $handler2 = new TestHandler; + $logger = new Logger(__METHOD__, array($handler1, $handler2)); + + $this->assertEquals($handler1, $logger->popHandler()); + $this->assertEquals($handler2, $logger->popHandler()); + } + + public function testProcessorsInCtor() + { + $processor1 = new WebProcessor; + $processor2 = new WebProcessor; + $logger = new Logger(__METHOD__, array(), array($processor1, $processor2)); + + $this->assertEquals($processor1, $logger->popProcessor()); + $this->assertEquals($processor2, $logger->popProcessor()); + } + + /** + * @covers Monolog\Logger::pushHandler + * @covers Monolog\Logger::popHandler + * @expectedException LogicException + */ + public function testPushPopHandler() + { + $logger = new Logger(__METHOD__); + $handler1 = new TestHandler; + $handler2 = new TestHandler; + + $logger->pushHandler($handler1); + $logger->pushHandler($handler2); + + $this->assertEquals($handler2, $logger->popHandler()); + $this->assertEquals($handler1, $logger->popHandler()); + $logger->popHandler(); + } + + /** + * @covers Monolog\Logger::setHandlers + */ + public function testSetHandlers() + { + $logger = new Logger(__METHOD__); + $handler1 = new TestHandler; + $handler2 = new TestHandler; + + $logger->pushHandler($handler1); + $logger->setHandlers(array($handler2)); + + // handler1 has been removed + $this->assertEquals(array($handler2), $logger->getHandlers()); + + $logger->setHandlers(array( + "AMapKey" => $handler1, + "Woop" => $handler2, + )); + + // Keys have been scrubbed + $this->assertEquals(array($handler1, $handler2), $logger->getHandlers()); + } + + /** + * @covers Monolog\Logger::pushProcessor + * @covers Monolog\Logger::popProcessor + * @expectedException LogicException + */ + public function testPushPopProcessor() + { + $logger = new Logger(__METHOD__); + $processor1 = new WebProcessor; + $processor2 = new WebProcessor; + + $logger->pushProcessor($processor1); + $logger->pushProcessor($processor2); + + $this->assertEquals($processor2, $logger->popProcessor()); + $this->assertEquals($processor1, $logger->popProcessor()); + $logger->popProcessor(); + } + + /** + * @covers Monolog\Logger::pushProcessor + * @expectedException InvalidArgumentException + */ + public function testPushProcessorWithNonCallable() + { + $logger = new Logger(__METHOD__); + + $logger->pushProcessor(new \stdClass()); + } + + /** + * @covers Monolog\Logger::addRecord + */ + public function testProcessorsAreExecuted() + { + $logger = new Logger(__METHOD__); + $handler = new TestHandler; + $logger->pushHandler($handler); + $logger->pushProcessor(function ($record) { + $record['extra']['win'] = true; + + return $record; + }); + $logger->addError('test'); + list($record) = $handler->getRecords(); + $this->assertTrue($record['extra']['win']); + } + + /** + * @covers Monolog\Logger::addRecord + */ + public function testProcessorsAreCalledOnlyOnce() + { + $logger = new Logger(__METHOD__); + $handler = $this->getMock('Monolog\Handler\HandlerInterface'); + $handler->expects($this->any()) + ->method('isHandling') + ->will($this->returnValue(true)) + ; + $handler->expects($this->any()) + ->method('handle') + ->will($this->returnValue(true)) + ; + $logger->pushHandler($handler); + + $processor = $this->getMockBuilder('Monolog\Processor\WebProcessor') + ->disableOriginalConstructor() + ->setMethods(array('__invoke')) + ->getMock() + ; + $processor->expects($this->once()) + ->method('__invoke') + ->will($this->returnArgument(0)) + ; + $logger->pushProcessor($processor); + + $logger->addError('test'); + } + + /** + * @covers Monolog\Logger::addRecord + */ + public function testProcessorsNotCalledWhenNotHandled() + { + $logger = new Logger(__METHOD__); + $handler = $this->getMock('Monolog\Handler\HandlerInterface'); + $handler->expects($this->once()) + ->method('isHandling') + ->will($this->returnValue(false)) + ; + $logger->pushHandler($handler); + $that = $this; + $logger->pushProcessor(function ($record) use ($that) { + $that->fail('The processor should not be called'); + }); + $logger->addAlert('test'); + } + + /** + * @covers Monolog\Logger::addRecord + */ + public function testHandlersNotCalledBeforeFirstHandling() + { + $logger = new Logger(__METHOD__); + + $handler1 = $this->getMock('Monolog\Handler\HandlerInterface'); + $handler1->expects($this->never()) + ->method('isHandling') + ->will($this->returnValue(false)) + ; + $handler1->expects($this->once()) + ->method('handle') + ->will($this->returnValue(false)) + ; + $logger->pushHandler($handler1); + + $handler2 = $this->getMock('Monolog\Handler\HandlerInterface'); + $handler2->expects($this->once()) + ->method('isHandling') + ->will($this->returnValue(true)) + ; + $handler2->expects($this->once()) + ->method('handle') + ->will($this->returnValue(false)) + ; + $logger->pushHandler($handler2); + + $handler3 = $this->getMock('Monolog\Handler\HandlerInterface'); + $handler3->expects($this->once()) + ->method('isHandling') + ->will($this->returnValue(false)) + ; + $handler3->expects($this->never()) + ->method('handle') + ; + $logger->pushHandler($handler3); + + $logger->debug('test'); + } + + /** + * @covers Monolog\Logger::addRecord + */ + public function testHandlersNotCalledBeforeFirstHandlingWithAssocArray() + { + $handler1 = $this->getMock('Monolog\Handler\HandlerInterface'); + $handler1->expects($this->never()) + ->method('isHandling') + ->will($this->returnValue(false)) + ; + $handler1->expects($this->once()) + ->method('handle') + ->will($this->returnValue(false)) + ; + + $handler2 = $this->getMock('Monolog\Handler\HandlerInterface'); + $handler2->expects($this->once()) + ->method('isHandling') + ->will($this->returnValue(true)) + ; + $handler2->expects($this->once()) + ->method('handle') + ->will($this->returnValue(false)) + ; + + $handler3 = $this->getMock('Monolog\Handler\HandlerInterface'); + $handler3->expects($this->once()) + ->method('isHandling') + ->will($this->returnValue(false)) + ; + $handler3->expects($this->never()) + ->method('handle') + ; + + $logger = new Logger(__METHOD__, array('last' => $handler3, 'second' => $handler2, 'first' => $handler1)); + + $logger->debug('test'); + } + + /** + * @covers Monolog\Logger::addRecord + */ + public function testBubblingWhenTheHandlerReturnsFalse() + { + $logger = new Logger(__METHOD__); + + $handler1 = $this->getMock('Monolog\Handler\HandlerInterface'); + $handler1->expects($this->any()) + ->method('isHandling') + ->will($this->returnValue(true)) + ; + $handler1->expects($this->once()) + ->method('handle') + ->will($this->returnValue(false)) + ; + $logger->pushHandler($handler1); + + $handler2 = $this->getMock('Monolog\Handler\HandlerInterface'); + $handler2->expects($this->any()) + ->method('isHandling') + ->will($this->returnValue(true)) + ; + $handler2->expects($this->once()) + ->method('handle') + ->will($this->returnValue(false)) + ; + $logger->pushHandler($handler2); + + $logger->debug('test'); + } + + /** + * @covers Monolog\Logger::addRecord + */ + public function testNotBubblingWhenTheHandlerReturnsTrue() + { + $logger = new Logger(__METHOD__); + + $handler1 = $this->getMock('Monolog\Handler\HandlerInterface'); + $handler1->expects($this->any()) + ->method('isHandling') + ->will($this->returnValue(true)) + ; + $handler1->expects($this->never()) + ->method('handle') + ; + $logger->pushHandler($handler1); + + $handler2 = $this->getMock('Monolog\Handler\HandlerInterface'); + $handler2->expects($this->any()) + ->method('isHandling') + ->will($this->returnValue(true)) + ; + $handler2->expects($this->once()) + ->method('handle') + ->will($this->returnValue(true)) + ; + $logger->pushHandler($handler2); + + $logger->debug('test'); + } + + /** + * @covers Monolog\Logger::isHandling + */ + public function testIsHandling() + { + $logger = new Logger(__METHOD__); + + $handler1 = $this->getMock('Monolog\Handler\HandlerInterface'); + $handler1->expects($this->any()) + ->method('isHandling') + ->will($this->returnValue(false)) + ; + + $logger->pushHandler($handler1); + $this->assertFalse($logger->isHandling(Logger::DEBUG)); + + $handler2 = $this->getMock('Monolog\Handler\HandlerInterface'); + $handler2->expects($this->any()) + ->method('isHandling') + ->will($this->returnValue(true)) + ; + + $logger->pushHandler($handler2); + $this->assertTrue($logger->isHandling(Logger::DEBUG)); + } + + /** + * @dataProvider logMethodProvider + * @covers Monolog\Logger::addDebug + * @covers Monolog\Logger::addInfo + * @covers Monolog\Logger::addNotice + * @covers Monolog\Logger::addWarning + * @covers Monolog\Logger::addError + * @covers Monolog\Logger::addCritical + * @covers Monolog\Logger::addAlert + * @covers Monolog\Logger::addEmergency + * @covers Monolog\Logger::debug + * @covers Monolog\Logger::info + * @covers Monolog\Logger::notice + * @covers Monolog\Logger::warn + * @covers Monolog\Logger::err + * @covers Monolog\Logger::crit + * @covers Monolog\Logger::alert + * @covers Monolog\Logger::emerg + */ + public function testLogMethods($method, $expectedLevel) + { + $logger = new Logger('foo'); + $handler = new TestHandler; + $logger->pushHandler($handler); + $logger->{$method}('test'); + list($record) = $handler->getRecords(); + $this->assertEquals($expectedLevel, $record['level']); + } + + public function logMethodProvider() + { + return array( + // monolog methods + array('addDebug', Logger::DEBUG), + array('addInfo', Logger::INFO), + array('addNotice', Logger::NOTICE), + array('addWarning', Logger::WARNING), + array('addError', Logger::ERROR), + array('addCritical', Logger::CRITICAL), + array('addAlert', Logger::ALERT), + array('addEmergency', Logger::EMERGENCY), + + // ZF/Sf2 compat methods + array('debug', Logger::DEBUG), + array('info', Logger::INFO), + array('notice', Logger::NOTICE), + array('warn', Logger::WARNING), + array('err', Logger::ERROR), + array('crit', Logger::CRITICAL), + array('alert', Logger::ALERT), + array('emerg', Logger::EMERGENCY), + ); + } + + /** + * @dataProvider setTimezoneProvider + * @covers Monolog\Logger::setTimezone + */ + public function testSetTimezone($tz) + { + Logger::setTimezone($tz); + $logger = new Logger('foo'); + $handler = new TestHandler; + $logger->pushHandler($handler); + $logger->info('test'); + list($record) = $handler->getRecords(); + $this->assertEquals($tz, $record['datetime']->getTimezone()); + } + + public function setTimezoneProvider() + { + return array_map( + function ($tz) { return array(new \DateTimeZone($tz)); }, + \DateTimeZone::listIdentifiers() + ); + } + + /** + * @dataProvider useMicrosecondTimestampsProvider + * @covers Monolog\Logger::useMicrosecondTimestamps + * @covers Monolog\Logger::addRecord + */ + public function testUseMicrosecondTimestamps($micro, $assert) + { + $logger = new Logger('foo'); + $logger->useMicrosecondTimestamps($micro); + $handler = new TestHandler; + $logger->pushHandler($handler); + $logger->info('test'); + list($record) = $handler->getRecords(); + $this->{$assert}('000000', $record['datetime']->format('u')); + } + + public function useMicrosecondTimestampsProvider() + { + return array( + // this has a very small chance of a false negative (1/10^6) + 'with microseconds' => array(true, 'assertNotSame'), + 'without microseconds' => array(false, PHP_VERSION_ID >= 70100 ? 'assertNotSame' : 'assertSame'), + ); + } +} diff --git a/vendor/monolog/monolog/tests/Monolog/Processor/GitProcessorTest.php b/vendor/monolog/monolog/tests/Monolog/Processor/GitProcessorTest.php new file mode 100644 index 00000000..5adb505d --- /dev/null +++ b/vendor/monolog/monolog/tests/Monolog/Processor/GitProcessorTest.php @@ -0,0 +1,29 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Monolog\Processor; + +use Monolog\TestCase; + +class GitProcessorTest extends TestCase +{ + /** + * @covers Monolog\Processor\GitProcessor::__invoke + */ + public function testProcessor() + { + $processor = new GitProcessor(); + $record = $processor($this->getRecord()); + + $this->assertArrayHasKey('git', $record['extra']); + $this->assertTrue(!is_array($record['extra']['git']['branch'])); + } +} diff --git a/vendor/monolog/monolog/tests/Monolog/Processor/IntrospectionProcessorTest.php b/vendor/monolog/monolog/tests/Monolog/Processor/IntrospectionProcessorTest.php new file mode 100644 index 00000000..0dd411d7 --- /dev/null +++ b/vendor/monolog/monolog/tests/Monolog/Processor/IntrospectionProcessorTest.php @@ -0,0 +1,123 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Acme; + +class Tester +{ + public function test($handler, $record) + { + $handler->handle($record); + } +} + +function tester($handler, $record) +{ + $handler->handle($record); +} + +namespace Monolog\Processor; + +use Monolog\Logger; +use Monolog\TestCase; +use Monolog\Handler\TestHandler; + +class IntrospectionProcessorTest extends TestCase +{ + public function getHandler() + { + $processor = new IntrospectionProcessor(); + $handler = new TestHandler(); + $handler->pushProcessor($processor); + + return $handler; + } + + public function testProcessorFromClass() + { + $handler = $this->getHandler(); + $tester = new \Acme\Tester; + $tester->test($handler, $this->getRecord()); + list($record) = $handler->getRecords(); + $this->assertEquals(__FILE__, $record['extra']['file']); + $this->assertEquals(18, $record['extra']['line']); + $this->assertEquals('Acme\Tester', $record['extra']['class']); + $this->assertEquals('test', $record['extra']['function']); + } + + public function testProcessorFromFunc() + { + $handler = $this->getHandler(); + \Acme\tester($handler, $this->getRecord()); + list($record) = $handler->getRecords(); + $this->assertEquals(__FILE__, $record['extra']['file']); + $this->assertEquals(24, $record['extra']['line']); + $this->assertEquals(null, $record['extra']['class']); + $this->assertEquals('Acme\tester', $record['extra']['function']); + } + + public function testLevelTooLow() + { + $input = array( + 'level' => Logger::DEBUG, + 'extra' => array(), + ); + + $expected = $input; + + $processor = new IntrospectionProcessor(Logger::CRITICAL); + $actual = $processor($input); + + $this->assertEquals($expected, $actual); + } + + public function testLevelEqual() + { + $input = array( + 'level' => Logger::CRITICAL, + 'extra' => array(), + ); + + $expected = $input; + $expected['extra'] = array( + 'file' => null, + 'line' => null, + 'class' => 'ReflectionMethod', + 'function' => 'invokeArgs', + ); + + $processor = new IntrospectionProcessor(Logger::CRITICAL); + $actual = $processor($input); + + $this->assertEquals($expected, $actual); + } + + public function testLevelHigher() + { + $input = array( + 'level' => Logger::EMERGENCY, + 'extra' => array(), + ); + + $expected = $input; + $expected['extra'] = array( + 'file' => null, + 'line' => null, + 'class' => 'ReflectionMethod', + 'function' => 'invokeArgs', + ); + + $processor = new IntrospectionProcessor(Logger::CRITICAL); + $actual = $processor($input); + + $this->assertEquals($expected, $actual); + } +} diff --git a/vendor/monolog/monolog/tests/Monolog/Processor/MemoryPeakUsageProcessorTest.php b/vendor/monolog/monolog/tests/Monolog/Processor/MemoryPeakUsageProcessorTest.php new file mode 100644 index 00000000..eb666144 --- /dev/null +++ b/vendor/monolog/monolog/tests/Monolog/Processor/MemoryPeakUsageProcessorTest.php @@ -0,0 +1,42 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Monolog\Processor; + +use Monolog\TestCase; + +class MemoryPeakUsageProcessorTest extends TestCase +{ + /** + * @covers Monolog\Processor\MemoryPeakUsageProcessor::__invoke + * @covers Monolog\Processor\MemoryProcessor::formatBytes + */ + public function testProcessor() + { + $processor = new MemoryPeakUsageProcessor(); + $record = $processor($this->getRecord()); + $this->assertArrayHasKey('memory_peak_usage', $record['extra']); + $this->assertRegExp('#[0-9.]+ (M|K)?B$#', $record['extra']['memory_peak_usage']); + } + + /** + * @covers Monolog\Processor\MemoryPeakUsageProcessor::__invoke + * @covers Monolog\Processor\MemoryProcessor::formatBytes + */ + public function testProcessorWithoutFormatting() + { + $processor = new MemoryPeakUsageProcessor(true, false); + $record = $processor($this->getRecord()); + $this->assertArrayHasKey('memory_peak_usage', $record['extra']); + $this->assertInternalType('int', $record['extra']['memory_peak_usage']); + $this->assertGreaterThan(0, $record['extra']['memory_peak_usage']); + } +} diff --git a/vendor/monolog/monolog/tests/Monolog/Processor/MemoryUsageProcessorTest.php b/vendor/monolog/monolog/tests/Monolog/Processor/MemoryUsageProcessorTest.php new file mode 100644 index 00000000..4692dbfc --- /dev/null +++ b/vendor/monolog/monolog/tests/Monolog/Processor/MemoryUsageProcessorTest.php @@ -0,0 +1,42 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Monolog\Processor; + +use Monolog\TestCase; + +class MemoryUsageProcessorTest extends TestCase +{ + /** + * @covers Monolog\Processor\MemoryUsageProcessor::__invoke + * @covers Monolog\Processor\MemoryProcessor::formatBytes + */ + public function testProcessor() + { + $processor = new MemoryUsageProcessor(); + $record = $processor($this->getRecord()); + $this->assertArrayHasKey('memory_usage', $record['extra']); + $this->assertRegExp('#[0-9.]+ (M|K)?B$#', $record['extra']['memory_usage']); + } + + /** + * @covers Monolog\Processor\MemoryUsageProcessor::__invoke + * @covers Monolog\Processor\MemoryProcessor::formatBytes + */ + public function testProcessorWithoutFormatting() + { + $processor = new MemoryUsageProcessor(true, false); + $record = $processor($this->getRecord()); + $this->assertArrayHasKey('memory_usage', $record['extra']); + $this->assertInternalType('int', $record['extra']['memory_usage']); + $this->assertGreaterThan(0, $record['extra']['memory_usage']); + } +} diff --git a/vendor/monolog/monolog/tests/Monolog/Processor/MercurialProcessorTest.php b/vendor/monolog/monolog/tests/Monolog/Processor/MercurialProcessorTest.php new file mode 100644 index 00000000..11f2b35a --- /dev/null +++ b/vendor/monolog/monolog/tests/Monolog/Processor/MercurialProcessorTest.php @@ -0,0 +1,41 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Monolog\Processor; + +use Monolog\TestCase; + +class MercurialProcessorTest extends TestCase +{ + /** + * @covers Monolog\Processor\MercurialProcessor::__invoke + */ + public function testProcessor() + { + if (defined('PHP_WINDOWS_VERSION_BUILD')) { + exec("where hg 2>NUL", $output, $result); + } else { + exec("which hg 2>/dev/null >/dev/null", $output, $result); + } + if ($result != 0) { + $this->markTestSkipped('hg is missing'); + return; + } + + `hg init`; + $processor = new MercurialProcessor(); + $record = $processor($this->getRecord()); + + $this->assertArrayHasKey('hg', $record['extra']); + $this->assertTrue(!is_array($record['extra']['hg']['branch'])); + $this->assertTrue(!is_array($record['extra']['hg']['revision'])); + } +} diff --git a/vendor/monolog/monolog/tests/Monolog/Processor/ProcessIdProcessorTest.php b/vendor/monolog/monolog/tests/Monolog/Processor/ProcessIdProcessorTest.php new file mode 100644 index 00000000..458d2a33 --- /dev/null +++ b/vendor/monolog/monolog/tests/Monolog/Processor/ProcessIdProcessorTest.php @@ -0,0 +1,30 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Monolog\Processor; + +use Monolog\TestCase; + +class ProcessIdProcessorTest extends TestCase +{ + /** + * @covers Monolog\Processor\ProcessIdProcessor::__invoke + */ + public function testProcessor() + { + $processor = new ProcessIdProcessor(); + $record = $processor($this->getRecord()); + $this->assertArrayHasKey('process_id', $record['extra']); + $this->assertInternalType('int', $record['extra']['process_id']); + $this->assertGreaterThan(0, $record['extra']['process_id']); + $this->assertEquals(getmypid(), $record['extra']['process_id']); + } +} diff --git a/vendor/monolog/monolog/tests/Monolog/Processor/PsrLogMessageProcessorTest.php b/vendor/monolog/monolog/tests/Monolog/Processor/PsrLogMessageProcessorTest.php new file mode 100644 index 00000000..029a0c02 --- /dev/null +++ b/vendor/monolog/monolog/tests/Monolog/Processor/PsrLogMessageProcessorTest.php @@ -0,0 +1,43 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Monolog\Processor; + +class PsrLogMessageProcessorTest extends \PHPUnit_Framework_TestCase +{ + /** + * @dataProvider getPairs + */ + public function testReplacement($val, $expected) + { + $proc = new PsrLogMessageProcessor; + + $message = $proc(array( + 'message' => '{foo}', + 'context' => array('foo' => $val), + )); + $this->assertEquals($expected, $message['message']); + } + + public function getPairs() + { + return array( + array('foo', 'foo'), + array('3', '3'), + array(3, '3'), + array(null, ''), + array(true, '1'), + array(false, ''), + array(new \stdClass, '[object stdClass]'), + array(array(), '[array]'), + ); + } +} diff --git a/vendor/monolog/monolog/tests/Monolog/Processor/TagProcessorTest.php b/vendor/monolog/monolog/tests/Monolog/Processor/TagProcessorTest.php new file mode 100644 index 00000000..0d860c61 --- /dev/null +++ b/vendor/monolog/monolog/tests/Monolog/Processor/TagProcessorTest.php @@ -0,0 +1,49 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Monolog\Processor; + +use Monolog\TestCase; + +class TagProcessorTest extends TestCase +{ + /** + * @covers Monolog\Processor\TagProcessor::__invoke + */ + public function testProcessor() + { + $tags = array(1, 2, 3); + $processor = new TagProcessor($tags); + $record = $processor($this->getRecord()); + + $this->assertEquals($tags, $record['extra']['tags']); + } + + /** + * @covers Monolog\Processor\TagProcessor::__invoke + */ + public function testProcessorTagModification() + { + $tags = array(1, 2, 3); + $processor = new TagProcessor($tags); + + $record = $processor($this->getRecord()); + $this->assertEquals($tags, $record['extra']['tags']); + + $processor->setTags(array('a', 'b')); + $record = $processor($this->getRecord()); + $this->assertEquals(array('a', 'b'), $record['extra']['tags']); + + $processor->addTags(array('a', 'c', 'foo' => 'bar')); + $record = $processor($this->getRecord()); + $this->assertEquals(array('a', 'b', 'a', 'c', 'foo' => 'bar'), $record['extra']['tags']); + } +} diff --git a/vendor/monolog/monolog/tests/Monolog/Processor/UidProcessorTest.php b/vendor/monolog/monolog/tests/Monolog/Processor/UidProcessorTest.php new file mode 100644 index 00000000..5d13058f --- /dev/null +++ b/vendor/monolog/monolog/tests/Monolog/Processor/UidProcessorTest.php @@ -0,0 +1,33 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Monolog\Processor; + +use Monolog\TestCase; + +class UidProcessorTest extends TestCase +{ + /** + * @covers Monolog\Processor\UidProcessor::__invoke + */ + public function testProcessor() + { + $processor = new UidProcessor(); + $record = $processor($this->getRecord()); + $this->assertArrayHasKey('uid', $record['extra']); + } + + public function testGetUid() + { + $processor = new UidProcessor(10); + $this->assertEquals(10, strlen($processor->getUid())); + } +} diff --git a/vendor/monolog/monolog/tests/Monolog/Processor/WebProcessorTest.php b/vendor/monolog/monolog/tests/Monolog/Processor/WebProcessorTest.php new file mode 100644 index 00000000..4105baf7 --- /dev/null +++ b/vendor/monolog/monolog/tests/Monolog/Processor/WebProcessorTest.php @@ -0,0 +1,113 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Monolog\Processor; + +use Monolog\TestCase; + +class WebProcessorTest extends TestCase +{ + public function testProcessor() + { + $server = array( + 'REQUEST_URI' => 'A', + 'REMOTE_ADDR' => 'B', + 'REQUEST_METHOD' => 'C', + 'HTTP_REFERER' => 'D', + 'SERVER_NAME' => 'F', + 'UNIQUE_ID' => 'G', + ); + + $processor = new WebProcessor($server); + $record = $processor($this->getRecord()); + $this->assertEquals($server['REQUEST_URI'], $record['extra']['url']); + $this->assertEquals($server['REMOTE_ADDR'], $record['extra']['ip']); + $this->assertEquals($server['REQUEST_METHOD'], $record['extra']['http_method']); + $this->assertEquals($server['HTTP_REFERER'], $record['extra']['referrer']); + $this->assertEquals($server['SERVER_NAME'], $record['extra']['server']); + $this->assertEquals($server['UNIQUE_ID'], $record['extra']['unique_id']); + } + + public function testProcessorDoNothingIfNoRequestUri() + { + $server = array( + 'REMOTE_ADDR' => 'B', + 'REQUEST_METHOD' => 'C', + ); + $processor = new WebProcessor($server); + $record = $processor($this->getRecord()); + $this->assertEmpty($record['extra']); + } + + public function testProcessorReturnNullIfNoHttpReferer() + { + $server = array( + 'REQUEST_URI' => 'A', + 'REMOTE_ADDR' => 'B', + 'REQUEST_METHOD' => 'C', + 'SERVER_NAME' => 'F', + ); + $processor = new WebProcessor($server); + $record = $processor($this->getRecord()); + $this->assertNull($record['extra']['referrer']); + } + + public function testProcessorDoesNotAddUniqueIdIfNotPresent() + { + $server = array( + 'REQUEST_URI' => 'A', + 'REMOTE_ADDR' => 'B', + 'REQUEST_METHOD' => 'C', + 'SERVER_NAME' => 'F', + ); + $processor = new WebProcessor($server); + $record = $processor($this->getRecord()); + $this->assertFalse(isset($record['extra']['unique_id'])); + } + + public function testProcessorAddsOnlyRequestedExtraFields() + { + $server = array( + 'REQUEST_URI' => 'A', + 'REMOTE_ADDR' => 'B', + 'REQUEST_METHOD' => 'C', + 'SERVER_NAME' => 'F', + ); + + $processor = new WebProcessor($server, array('url', 'http_method')); + $record = $processor($this->getRecord()); + + $this->assertSame(array('url' => 'A', 'http_method' => 'C'), $record['extra']); + } + + public function testProcessorConfiguringOfExtraFields() + { + $server = array( + 'REQUEST_URI' => 'A', + 'REMOTE_ADDR' => 'B', + 'REQUEST_METHOD' => 'C', + 'SERVER_NAME' => 'F', + ); + + $processor = new WebProcessor($server, array('url' => 'REMOTE_ADDR')); + $record = $processor($this->getRecord()); + + $this->assertSame(array('url' => 'B'), $record['extra']); + } + + /** + * @expectedException UnexpectedValueException + */ + public function testInvalidData() + { + new WebProcessor(new \stdClass); + } +} diff --git a/vendor/monolog/monolog/tests/Monolog/PsrLogCompatTest.php b/vendor/monolog/monolog/tests/Monolog/PsrLogCompatTest.php new file mode 100644 index 00000000..ab899449 --- /dev/null +++ b/vendor/monolog/monolog/tests/Monolog/PsrLogCompatTest.php @@ -0,0 +1,47 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Monolog; + +use Monolog\Handler\TestHandler; +use Monolog\Formatter\LineFormatter; +use Monolog\Processor\PsrLogMessageProcessor; +use Psr\Log\Test\LoggerInterfaceTest; + +class PsrLogCompatTest extends LoggerInterfaceTest +{ + private $handler; + + public function getLogger() + { + $logger = new Logger('foo'); + $logger->pushHandler($handler = new TestHandler); + $logger->pushProcessor(new PsrLogMessageProcessor); + $handler->setFormatter(new LineFormatter('%level_name% %message%')); + + $this->handler = $handler; + + return $logger; + } + + public function getLogs() + { + $convert = function ($record) { + $lower = function ($match) { + return strtolower($match[0]); + }; + + return preg_replace_callback('{^[A-Z]+}', $lower, $record['formatted']); + }; + + return array_map($convert, $this->handler->getRecords()); + } +} diff --git a/vendor/monolog/monolog/tests/Monolog/RegistryTest.php b/vendor/monolog/monolog/tests/Monolog/RegistryTest.php new file mode 100644 index 00000000..15fdfbd2 --- /dev/null +++ b/vendor/monolog/monolog/tests/Monolog/RegistryTest.php @@ -0,0 +1,153 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Monolog; + +class RegistryTest extends \PHPUnit_Framework_TestCase +{ + protected function setUp() + { + Registry::clear(); + } + + /** + * @dataProvider hasLoggerProvider + * @covers Monolog\Registry::hasLogger + */ + public function testHasLogger(array $loggersToAdd, array $loggersToCheck, array $expectedResult) + { + foreach ($loggersToAdd as $loggerToAdd) { + Registry::addLogger($loggerToAdd); + } + foreach ($loggersToCheck as $index => $loggerToCheck) { + $this->assertSame($expectedResult[$index], Registry::hasLogger($loggerToCheck)); + } + } + + public function hasLoggerProvider() + { + $logger1 = new Logger('test1'); + $logger2 = new Logger('test2'); + $logger3 = new Logger('test3'); + + return array( + // only instances + array( + array($logger1), + array($logger1, $logger2), + array(true, false), + ), + // only names + array( + array($logger1), + array('test1', 'test2'), + array(true, false), + ), + // mixed case + array( + array($logger1, $logger2), + array('test1', $logger2, 'test3', $logger3), + array(true, true, false, false), + ), + ); + } + + /** + * @covers Monolog\Registry::clear + */ + public function testClearClears() + { + Registry::addLogger(new Logger('test1'), 'log'); + Registry::clear(); + + $this->setExpectedException('\InvalidArgumentException'); + Registry::getInstance('log'); + } + + /** + * @dataProvider removedLoggerProvider + * @covers Monolog\Registry::addLogger + * @covers Monolog\Registry::removeLogger + */ + public function testRemovesLogger($loggerToAdd, $remove) + { + Registry::addLogger($loggerToAdd); + Registry::removeLogger($remove); + + $this->setExpectedException('\InvalidArgumentException'); + Registry::getInstance($loggerToAdd->getName()); + } + + public function removedLoggerProvider() + { + $logger1 = new Logger('test1'); + + return array( + array($logger1, $logger1), + array($logger1, 'test1'), + ); + } + + /** + * @covers Monolog\Registry::addLogger + * @covers Monolog\Registry::getInstance + * @covers Monolog\Registry::__callStatic + */ + public function testGetsSameLogger() + { + $logger1 = new Logger('test1'); + $logger2 = new Logger('test2'); + + Registry::addLogger($logger1, 'test1'); + Registry::addLogger($logger2); + + $this->assertSame($logger1, Registry::getInstance('test1')); + $this->assertSame($logger2, Registry::test2()); + } + + /** + * @expectedException \InvalidArgumentException + * @covers Monolog\Registry::getInstance + */ + public function testFailsOnNonExistantLogger() + { + Registry::getInstance('test1'); + } + + /** + * @covers Monolog\Registry::addLogger + */ + public function testReplacesLogger() + { + $log1 = new Logger('test1'); + $log2 = new Logger('test2'); + + Registry::addLogger($log1, 'log'); + + Registry::addLogger($log2, 'log', true); + + $this->assertSame($log2, Registry::getInstance('log')); + } + + /** + * @expectedException \InvalidArgumentException + * @covers Monolog\Registry::addLogger + */ + public function testFailsOnUnspecifiedReplacement() + { + $log1 = new Logger('test1'); + $log2 = new Logger('test2'); + + Registry::addLogger($log1, 'log'); + + Registry::addLogger($log2, 'log'); + } +} diff --git a/vendor/monolog/monolog/tests/Monolog/TestCase.php b/vendor/monolog/monolog/tests/Monolog/TestCase.php new file mode 100644 index 00000000..4eb7b4c9 --- /dev/null +++ b/vendor/monolog/monolog/tests/Monolog/TestCase.php @@ -0,0 +1,58 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Monolog; + +class TestCase extends \PHPUnit_Framework_TestCase +{ + /** + * @return array Record + */ + protected function getRecord($level = Logger::WARNING, $message = 'test', $context = array()) + { + return array( + 'message' => $message, + 'context' => $context, + 'level' => $level, + 'level_name' => Logger::getLevelName($level), + 'channel' => 'test', + 'datetime' => \DateTime::createFromFormat('U.u', sprintf('%.6F', microtime(true))), + 'extra' => array(), + ); + } + + /** + * @return array + */ + protected function getMultipleRecords() + { + return array( + $this->getRecord(Logger::DEBUG, 'debug message 1'), + $this->getRecord(Logger::DEBUG, 'debug message 2'), + $this->getRecord(Logger::INFO, 'information'), + $this->getRecord(Logger::WARNING, 'warning'), + $this->getRecord(Logger::ERROR, 'error'), + ); + } + + /** + * @return Monolog\Formatter\FormatterInterface + */ + protected function getIdentityFormatter() + { + $formatter = $this->getMock('Monolog\\Formatter\\FormatterInterface'); + $formatter->expects($this->any()) + ->method('format') + ->will($this->returnCallback(function ($record) { return $record['message']; })); + + return $formatter; + } +} diff --git a/vendor/phpoffice/phpexcel/.gitattributes b/vendor/phpoffice/phpexcel/.gitattributes new file mode 100644 index 00000000..1bc28be4 --- /dev/null +++ b/vendor/phpoffice/phpexcel/.gitattributes @@ -0,0 +1,4 @@ +/Build export-ignore +/Documentation export-ignore +/Tests export-ignore +README.md export-ignore diff --git a/vendor/phpoffice/phpexcel/.gitignore b/vendor/phpoffice/phpexcel/.gitignore new file mode 100644 index 00000000..dea03b5e --- /dev/null +++ b/vendor/phpoffice/phpexcel/.gitignore @@ -0,0 +1,9 @@ +build/PHPExcel.phar +unitTests/codeCoverage +analysis + +## IDE support +*.buildpath +*.project +/.settings +/.idea diff --git a/vendor/phpoffice/phpexcel/.travis.yml b/vendor/phpoffice/phpexcel/.travis.yml new file mode 100644 index 00000000..c35625b1 --- /dev/null +++ b/vendor/phpoffice/phpexcel/.travis.yml @@ -0,0 +1,20 @@ +language: php + +php: + - 5.2 + - 5.3.3 + - 5.3 + - 5.4 + - 5.5 + - 5.6 + - hhvm + +matrix: + allow_failures: + - php: hhvm + +script: + - phpunit -c ./unitTests/ + +notifications: + email: false diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel.php new file mode 100644 index 00000000..d27de51a --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel.php @@ -0,0 +1,1139 @@ +_hasMacros; + } + + /** + * Define if a workbook has macros + * + * @param true|false + */ + public function setHasMacros($hasMacros=false){ + $this->_hasMacros=(bool)$hasMacros; + } + + /** + * Set the macros code + * + * @param binary string|null + */ + public function setMacrosCode($MacrosCode){ + $this->_macrosCode=$MacrosCode; + $this->setHasMacros(!is_null($MacrosCode)); + } + + /** + * Return the macros code + * + * @return binary|null + */ + public function getMacrosCode(){ + return $this->_macrosCode; + } + + /** + * Set the macros certificate + * + * @param binary|null + */ + public function setMacrosCertificate($Certificate=NULL){ + $this->_macrosCertificate=$Certificate; + } + + /** + * Is the project signed ? + * + * @return true|false + */ + public function hasMacrosCertificate(){ + return !is_null($this->_macrosCertificate); + } + + /** + * Return the macros certificate + * + * @return binary|null + */ + public function getMacrosCertificate(){ + return $this->_macrosCertificate; + } + + /** + * Remove all macros, certificate from spreadsheet + * + * @param none + * @return void + */ + public function discardMacros(){ + $this->_hasMacros=false; + $this->_macrosCode=NULL; + $this->_macrosCertificate=NULL; + } + + /** + * set ribbon XML data + * + */ + public function setRibbonXMLData($Target=NULL, $XMLData=NULL){ + if(!is_null($Target) && !is_null($XMLData)){ + $this->_ribbonXMLData=array('target'=>$Target, 'data'=>$XMLData); + }else{ + $this->_ribbonXMLData=NULL; + } + } + + /** + * retrieve ribbon XML Data + * + * return string|null|array + */ + public function getRibbonXMLData($What='all'){//we need some constants here... + $ReturnData=NULL; + $What=strtolower($What); + switch($What){ + case 'all': + $ReturnData=$this->_ribbonXMLData; + break; + case 'target': + case 'data': + if(is_array($this->_ribbonXMLData) && array_key_exists($What,$this->_ribbonXMLData)){ + $ReturnData=$this->_ribbonXMLData[$What]; + }//else $ReturnData stay at null + break; + }//default: $ReturnData at null + return $ReturnData; + } + + /** + * store binaries ribbon objects (pictures) + * + */ + public function setRibbonBinObjects($BinObjectsNames=NULL, $BinObjectsData=NULL){ + if(!is_null($BinObjectsNames) && !is_null($BinObjectsData)){ + $this->_ribbonBinObjects=array('names'=>$BinObjectsNames, 'data'=>$BinObjectsData); + }else{ + $this->_ribbonBinObjects=NULL; + } + } + /** + * return the extension of a filename. Internal use for a array_map callback (php<5.3 don't like lambda function) + * + */ + private function _getExtensionOnly($ThePath){ + return pathinfo($ThePath, PATHINFO_EXTENSION); + } + + /** + * retrieve Binaries Ribbon Objects + * + */ + public function getRibbonBinObjects($What='all'){ + $ReturnData=NULL; + $What=strtolower($What); + switch($What){ + case 'all': + return $this->_ribbonBinObjects; + break; + case 'names': + case 'data': + if(is_array($this->_ribbonBinObjects) && array_key_exists($What, $this->_ribbonBinObjects)){ + $ReturnData=$this->_ribbonBinObjects[$What]; + } + break; + case 'types': + if(is_array($this->_ribbonBinObjects) && array_key_exists('data', $this->_ribbonBinObjects) && is_array($this->_ribbonBinObjects['data'])){ + $tmpTypes=array_keys($this->_ribbonBinObjects['data']); + $ReturnData=array_unique(array_map(array($this,'_getExtensionOnly'), $tmpTypes)); + }else + $ReturnData=array();//the caller want an array... not null if empty + break; + } + return $ReturnData; + } + + /** + * This workbook have a custom UI ? + * + * @return true|false + */ + public function hasRibbon(){ + return !is_null($this->_ribbonXMLData); + } + + /** + * This workbook have additionnal object for the ribbon ? + * + * @return true|false + */ + public function hasRibbonBinObjects(){ + return !is_null($this->_ribbonBinObjects); + } + + /** + * Check if a sheet with a specified code name already exists + * + * @param string $pSheetCodeName Name of the worksheet to check + * @return boolean + */ + public function sheetCodeNameExists($pSheetCodeName) + { + return ($this->getSheetByCodeName($pSheetCodeName) !== NULL); + } + + /** + * Get sheet by code name. Warning : sheet don't have always a code name ! + * + * @param string $pName Sheet name + * @return PHPExcel_Worksheet + */ + public function getSheetByCodeName($pName = '') + { + $worksheetCount = count($this->_workSheetCollection); + for ($i = 0; $i < $worksheetCount; ++$i) { + if ($this->_workSheetCollection[$i]->getCodeName() == $pName) { + return $this->_workSheetCollection[$i]; + } + } + + return null; + } + + /** + * Create a new PHPExcel with one Worksheet + */ + public function __construct() + { + $this->_uniqueID = uniqid(); + $this->_calculationEngine = PHPExcel_Calculation::getInstance($this); + + // Initialise worksheet collection and add one worksheet + $this->_workSheetCollection = array(); + $this->_workSheetCollection[] = new PHPExcel_Worksheet($this); + $this->_activeSheetIndex = 0; + + // Create document properties + $this->_properties = new PHPExcel_DocumentProperties(); + + // Create document security + $this->_security = new PHPExcel_DocumentSecurity(); + + // Set named ranges + $this->_namedRanges = array(); + + // Create the cellXf supervisor + $this->_cellXfSupervisor = new PHPExcel_Style(true); + $this->_cellXfSupervisor->bindParent($this); + + // Create the default style + $this->addCellXf(new PHPExcel_Style); + $this->addCellStyleXf(new PHPExcel_Style); + } + + /** + * Code to execute when this worksheet is unset() + * + */ + public function __destruct() { + PHPExcel_Calculation::unsetInstance($this); + $this->disconnectWorksheets(); + } // function __destruct() + + /** + * Disconnect all worksheets from this PHPExcel workbook object, + * typically so that the PHPExcel object can be unset + * + */ + public function disconnectWorksheets() + { + $worksheet = NULL; + foreach($this->_workSheetCollection as $k => &$worksheet) { + $worksheet->disconnectCells(); + $this->_workSheetCollection[$k] = null; + } + unset($worksheet); + $this->_workSheetCollection = array(); + } + + /** + * Return the calculation engine for this worksheet + * + * @return PHPExcel_Calculation + */ + public function getCalculationEngine() + { + return $this->_calculationEngine; + } // function getCellCacheController() + + /** + * Get properties + * + * @return PHPExcel_DocumentProperties + */ + public function getProperties() + { + return $this->_properties; + } + + /** + * Set properties + * + * @param PHPExcel_DocumentProperties $pValue + */ + public function setProperties(PHPExcel_DocumentProperties $pValue) + { + $this->_properties = $pValue; + } + + /** + * Get security + * + * @return PHPExcel_DocumentSecurity + */ + public function getSecurity() + { + return $this->_security; + } + + /** + * Set security + * + * @param PHPExcel_DocumentSecurity $pValue + */ + public function setSecurity(PHPExcel_DocumentSecurity $pValue) + { + $this->_security = $pValue; + } + + /** + * Get active sheet + * + * @return PHPExcel_Worksheet + * + * @throws PHPExcel_Exception + */ + public function getActiveSheet() + { + return $this->getSheet($this->_activeSheetIndex); + } + + /** + * Create sheet and add it to this workbook + * + * @param int|null $iSheetIndex Index where sheet should go (0,1,..., or null for last) + * @return PHPExcel_Worksheet + * @throws PHPExcel_Exception + */ + public function createSheet($iSheetIndex = NULL) + { + $newSheet = new PHPExcel_Worksheet($this); + $this->addSheet($newSheet, $iSheetIndex); + return $newSheet; + } + + /** + * Check if a sheet with a specified name already exists + * + * @param string $pSheetName Name of the worksheet to check + * @return boolean + */ + public function sheetNameExists($pSheetName) + { + return ($this->getSheetByName($pSheetName) !== NULL); + } + + /** + * Add sheet + * + * @param PHPExcel_Worksheet $pSheet + * @param int|null $iSheetIndex Index where sheet should go (0,1,..., or null for last) + * @return PHPExcel_Worksheet + * @throws PHPExcel_Exception + */ + public function addSheet(PHPExcel_Worksheet $pSheet, $iSheetIndex = NULL) + { + if ($this->sheetNameExists($pSheet->getTitle())) { + throw new PHPExcel_Exception( + "Workbook already contains a worksheet named '{$pSheet->getTitle()}'. Rename this worksheet first." + ); + } + + if($iSheetIndex === NULL) { + if ($this->_activeSheetIndex < 0) { + $this->_activeSheetIndex = 0; + } + $this->_workSheetCollection[] = $pSheet; + } else { + // Insert the sheet at the requested index + array_splice( + $this->_workSheetCollection, + $iSheetIndex, + 0, + array($pSheet) + ); + + // Adjust active sheet index if necessary + if ($this->_activeSheetIndex >= $iSheetIndex) { + ++$this->_activeSheetIndex; + } + } + + if ($pSheet->getParent() === null) { + $pSheet->rebindParent($this); + } + + return $pSheet; + } + + /** + * Remove sheet by index + * + * @param int $pIndex Active sheet index + * @throws PHPExcel_Exception + */ + public function removeSheetByIndex($pIndex = 0) + { + + $numSheets = count($this->_workSheetCollection); + + if ($pIndex > $numSheets - 1) { + throw new PHPExcel_Exception( + "You tried to remove a sheet by the out of bounds index: {$pIndex}. The actual number of sheets is {$numSheets}." + ); + } else { + array_splice($this->_workSheetCollection, $pIndex, 1); + } + // Adjust active sheet index if necessary + if (($this->_activeSheetIndex >= $pIndex) && + ($pIndex > count($this->_workSheetCollection) - 1)) { + --$this->_activeSheetIndex; + } + + } + + /** + * Get sheet by index + * + * @param int $pIndex Sheet index + * @return PHPExcel_Worksheet + * @throws PHPExcel_Exception + */ + public function getSheet($pIndex = 0) + { + if (!isset($this->_workSheetCollection[$pIndex])) { + $numSheets = $this->getSheetCount(); + throw new PHPExcel_Exception( + "Your requested sheet index: {$pIndex} is out of bounds. The actual number of sheets is {$numSheets}." + ); + } + + return $this->_workSheetCollection[$pIndex]; + } + + /** + * Get all sheets + * + * @return PHPExcel_Worksheet[] + */ + public function getAllSheets() + { + return $this->_workSheetCollection; + } + + /** + * Get sheet by name + * + * @param string $pName Sheet name + * @return PHPExcel_Worksheet + */ + public function getSheetByName($pName = '') + { + $worksheetCount = count($this->_workSheetCollection); + for ($i = 0; $i < $worksheetCount; ++$i) { + if ($this->_workSheetCollection[$i]->getTitle() === $pName) { + return $this->_workSheetCollection[$i]; + } + } + + return NULL; + } + + /** + * Get index for sheet + * + * @param PHPExcel_Worksheet $pSheet + * @return Sheet index + * @throws PHPExcel_Exception + */ + public function getIndex(PHPExcel_Worksheet $pSheet) + { + foreach ($this->_workSheetCollection as $key => $value) { + if ($value->getHashCode() == $pSheet->getHashCode()) { + return $key; + } + } + + throw new PHPExcel_Exception("Sheet does not exist."); + } + + /** + * Set index for sheet by sheet name. + * + * @param string $sheetName Sheet name to modify index for + * @param int $newIndex New index for the sheet + * @return New sheet index + * @throws PHPExcel_Exception + */ + public function setIndexByName($sheetName, $newIndex) + { + $oldIndex = $this->getIndex($this->getSheetByName($sheetName)); + $pSheet = array_splice( + $this->_workSheetCollection, + $oldIndex, + 1 + ); + array_splice( + $this->_workSheetCollection, + $newIndex, + 0, + $pSheet + ); + return $newIndex; + } + + /** + * Get sheet count + * + * @return int + */ + public function getSheetCount() + { + return count($this->_workSheetCollection); + } + + /** + * Get active sheet index + * + * @return int Active sheet index + */ + public function getActiveSheetIndex() + { + return $this->_activeSheetIndex; + } + + /** + * Set active sheet index + * + * @param int $pIndex Active sheet index + * @throws PHPExcel_Exception + * @return PHPExcel_Worksheet + */ + public function setActiveSheetIndex($pIndex = 0) + { + $numSheets = count($this->_workSheetCollection); + + if ($pIndex > $numSheets - 1) { + throw new PHPExcel_Exception( + "You tried to set a sheet active by the out of bounds index: {$pIndex}. The actual number of sheets is {$numSheets}." + ); + } else { + $this->_activeSheetIndex = $pIndex; + } + return $this->getActiveSheet(); + } + + /** + * Set active sheet index by name + * + * @param string $pValue Sheet title + * @return PHPExcel_Worksheet + * @throws PHPExcel_Exception + */ + public function setActiveSheetIndexByName($pValue = '') + { + if (($worksheet = $this->getSheetByName($pValue)) instanceof PHPExcel_Worksheet) { + $this->setActiveSheetIndex($this->getIndex($worksheet)); + return $worksheet; + } + + throw new PHPExcel_Exception('Workbook does not contain sheet:' . $pValue); + } + + /** + * Get sheet names + * + * @return string[] + */ + public function getSheetNames() + { + $returnValue = array(); + $worksheetCount = $this->getSheetCount(); + for ($i = 0; $i < $worksheetCount; ++$i) { + $returnValue[] = $this->getSheet($i)->getTitle(); + } + + return $returnValue; + } + + /** + * Add external sheet + * + * @param PHPExcel_Worksheet $pSheet External sheet to add + * @param int|null $iSheetIndex Index where sheet should go (0,1,..., or null for last) + * @throws PHPExcel_Exception + * @return PHPExcel_Worksheet + */ + public function addExternalSheet(PHPExcel_Worksheet $pSheet, $iSheetIndex = null) { + if ($this->sheetNameExists($pSheet->getTitle())) { + throw new PHPExcel_Exception("Workbook already contains a worksheet named '{$pSheet->getTitle()}'. Rename the external sheet first."); + } + + // count how many cellXfs there are in this workbook currently, we will need this below + $countCellXfs = count($this->_cellXfCollection); + + // copy all the shared cellXfs from the external workbook and append them to the current + foreach ($pSheet->getParent()->getCellXfCollection() as $cellXf) { + $this->addCellXf(clone $cellXf); + } + + // move sheet to this workbook + $pSheet->rebindParent($this); + + // update the cellXfs + foreach ($pSheet->getCellCollection(false) as $cellID) { + $cell = $pSheet->getCell($cellID); + $cell->setXfIndex( $cell->getXfIndex() + $countCellXfs ); + } + + return $this->addSheet($pSheet, $iSheetIndex); + } + + /** + * Get named ranges + * + * @return PHPExcel_NamedRange[] + */ + public function getNamedRanges() { + return $this->_namedRanges; + } + + /** + * Add named range + * + * @param PHPExcel_NamedRange $namedRange + * @return PHPExcel + */ + public function addNamedRange(PHPExcel_NamedRange $namedRange) { + if ($namedRange->getScope() == null) { + // global scope + $this->_namedRanges[$namedRange->getName()] = $namedRange; + } else { + // local scope + $this->_namedRanges[$namedRange->getScope()->getTitle().'!'.$namedRange->getName()] = $namedRange; + } + return true; + } + + /** + * Get named range + * + * @param string $namedRange + * @param PHPExcel_Worksheet|null $pSheet Scope. Use null for global scope + * @return PHPExcel_NamedRange|null + */ + public function getNamedRange($namedRange, PHPExcel_Worksheet $pSheet = null) { + $returnValue = null; + + if ($namedRange != '' && ($namedRange !== NULL)) { + // first look for global defined name + if (isset($this->_namedRanges[$namedRange])) { + $returnValue = $this->_namedRanges[$namedRange]; + } + + // then look for local defined name (has priority over global defined name if both names exist) + if (($pSheet !== NULL) && isset($this->_namedRanges[$pSheet->getTitle() . '!' . $namedRange])) { + $returnValue = $this->_namedRanges[$pSheet->getTitle() . '!' . $namedRange]; + } + } + + return $returnValue; + } + + /** + * Remove named range + * + * @param string $namedRange + * @param PHPExcel_Worksheet|null $pSheet Scope: use null for global scope. + * @return PHPExcel + */ + public function removeNamedRange($namedRange, PHPExcel_Worksheet $pSheet = null) { + if ($pSheet === NULL) { + if (isset($this->_namedRanges[$namedRange])) { + unset($this->_namedRanges[$namedRange]); + } + } else { + if (isset($this->_namedRanges[$pSheet->getTitle() . '!' . $namedRange])) { + unset($this->_namedRanges[$pSheet->getTitle() . '!' . $namedRange]); + } + } + return $this; + } + + /** + * Get worksheet iterator + * + * @return PHPExcel_WorksheetIterator + */ + public function getWorksheetIterator() { + return new PHPExcel_WorksheetIterator($this); + } + + /** + * Copy workbook (!= clone!) + * + * @return PHPExcel + */ + public function copy() { + $copied = clone $this; + + $worksheetCount = count($this->_workSheetCollection); + for ($i = 0; $i < $worksheetCount; ++$i) { + $this->_workSheetCollection[$i] = $this->_workSheetCollection[$i]->copy(); + $this->_workSheetCollection[$i]->rebindParent($this); + } + + return $copied; + } + + /** + * Implement PHP __clone to create a deep clone, not just a shallow copy. + */ + public function __clone() { + foreach($this as $key => $val) { + if (is_object($val) || (is_array($val))) { + $this->{$key} = unserialize(serialize($val)); + } + } + } + + /** + * Get the workbook collection of cellXfs + * + * @return PHPExcel_Style[] + */ + public function getCellXfCollection() + { + return $this->_cellXfCollection; + } + + /** + * Get cellXf by index + * + * @param int $pIndex + * @return PHPExcel_Style + */ + public function getCellXfByIndex($pIndex = 0) + { + return $this->_cellXfCollection[$pIndex]; + } + + /** + * Get cellXf by hash code + * + * @param string $pValue + * @return PHPExcel_Style|false + */ + public function getCellXfByHashCode($pValue = '') + { + foreach ($this->_cellXfCollection as $cellXf) { + if ($cellXf->getHashCode() == $pValue) { + return $cellXf; + } + } + return false; + } + + /** + * Check if style exists in style collection + * + * @param PHPExcel_Style $pCellStyle + * @return boolean + */ + public function cellXfExists($pCellStyle = null) + { + return in_array($pCellStyle, $this->_cellXfCollection, true); + } + + /** + * Get default style + * + * @return PHPExcel_Style + * @throws PHPExcel_Exception + */ + public function getDefaultStyle() + { + if (isset($this->_cellXfCollection[0])) { + return $this->_cellXfCollection[0]; + } + throw new PHPExcel_Exception('No default style found for this workbook'); + } + + /** + * Add a cellXf to the workbook + * + * @param PHPExcel_Style $style + */ + public function addCellXf(PHPExcel_Style $style) + { + $this->_cellXfCollection[] = $style; + $style->setIndex(count($this->_cellXfCollection) - 1); + } + + /** + * Remove cellXf by index. It is ensured that all cells get their xf index updated. + * + * @param int $pIndex Index to cellXf + * @throws PHPExcel_Exception + */ + public function removeCellXfByIndex($pIndex = 0) + { + if ($pIndex > count($this->_cellXfCollection) - 1) { + throw new PHPExcel_Exception("CellXf index is out of bounds."); + } else { + // first remove the cellXf + array_splice($this->_cellXfCollection, $pIndex, 1); + + // then update cellXf indexes for cells + foreach ($this->_workSheetCollection as $worksheet) { + foreach ($worksheet->getCellCollection(false) as $cellID) { + $cell = $worksheet->getCell($cellID); + $xfIndex = $cell->getXfIndex(); + if ($xfIndex > $pIndex ) { + // decrease xf index by 1 + $cell->setXfIndex($xfIndex - 1); + } else if ($xfIndex == $pIndex) { + // set to default xf index 0 + $cell->setXfIndex(0); + } + } + } + } + } + + /** + * Get the cellXf supervisor + * + * @return PHPExcel_Style + */ + public function getCellXfSupervisor() + { + return $this->_cellXfSupervisor; + } + + /** + * Get the workbook collection of cellStyleXfs + * + * @return PHPExcel_Style[] + */ + public function getCellStyleXfCollection() + { + return $this->_cellStyleXfCollection; + } + + /** + * Get cellStyleXf by index + * + * @param int $pIndex + * @return PHPExcel_Style + */ + public function getCellStyleXfByIndex($pIndex = 0) + { + return $this->_cellStyleXfCollection[$pIndex]; + } + + /** + * Get cellStyleXf by hash code + * + * @param string $pValue + * @return PHPExcel_Style|false + */ + public function getCellStyleXfByHashCode($pValue = '') + { + foreach ($this->_cellStyleXfCollection as $cellStyleXf) { + if ($cellStyleXf->getHashCode() == $pValue) { + return $cellStyleXf; + } + } + return false; + } + + /** + * Add a cellStyleXf to the workbook + * + * @param PHPExcel_Style $pStyle + */ + public function addCellStyleXf(PHPExcel_Style $pStyle) + { + $this->_cellStyleXfCollection[] = $pStyle; + $pStyle->setIndex(count($this->_cellStyleXfCollection) - 1); + } + + /** + * Remove cellStyleXf by index + * + * @param int $pIndex + * @throws PHPExcel_Exception + */ + public function removeCellStyleXfByIndex($pIndex = 0) + { + if ($pIndex > count($this->_cellStyleXfCollection) - 1) { + throw new PHPExcel_Exception("CellStyleXf index is out of bounds."); + } else { + array_splice($this->_cellStyleXfCollection, $pIndex, 1); + } + } + + /** + * Eliminate all unneeded cellXf and afterwards update the xfIndex for all cells + * and columns in the workbook + */ + public function garbageCollect() + { + // how many references are there to each cellXf ? + $countReferencesCellXf = array(); + foreach ($this->_cellXfCollection as $index => $cellXf) { + $countReferencesCellXf[$index] = 0; + } + + foreach ($this->getWorksheetIterator() as $sheet) { + + // from cells + foreach ($sheet->getCellCollection(false) as $cellID) { + $cell = $sheet->getCell($cellID); + ++$countReferencesCellXf[$cell->getXfIndex()]; + } + + // from row dimensions + foreach ($sheet->getRowDimensions() as $rowDimension) { + if ($rowDimension->getXfIndex() !== null) { + ++$countReferencesCellXf[$rowDimension->getXfIndex()]; + } + } + + // from column dimensions + foreach ($sheet->getColumnDimensions() as $columnDimension) { + ++$countReferencesCellXf[$columnDimension->getXfIndex()]; + } + } + + // remove cellXfs without references and create mapping so we can update xfIndex + // for all cells and columns + $countNeededCellXfs = 0; + foreach ($this->_cellXfCollection as $index => $cellXf) { + if ($countReferencesCellXf[$index] > 0 || $index == 0) { // we must never remove the first cellXf + ++$countNeededCellXfs; + } else { + unset($this->_cellXfCollection[$index]); + } + $map[$index] = $countNeededCellXfs - 1; + } + $this->_cellXfCollection = array_values($this->_cellXfCollection); + + // update the index for all cellXfs + foreach ($this->_cellXfCollection as $i => $cellXf) { + $cellXf->setIndex($i); + } + + // make sure there is always at least one cellXf (there should be) + if (empty($this->_cellXfCollection)) { + $this->_cellXfCollection[] = new PHPExcel_Style(); + } + + // update the xfIndex for all cells, row dimensions, column dimensions + foreach ($this->getWorksheetIterator() as $sheet) { + + // for all cells + foreach ($sheet->getCellCollection(false) as $cellID) { + $cell = $sheet->getCell($cellID); + $cell->setXfIndex( $map[$cell->getXfIndex()] ); + } + + // for all row dimensions + foreach ($sheet->getRowDimensions() as $rowDimension) { + if ($rowDimension->getXfIndex() !== null) { + $rowDimension->setXfIndex( $map[$rowDimension->getXfIndex()] ); + } + } + + // for all column dimensions + foreach ($sheet->getColumnDimensions() as $columnDimension) { + $columnDimension->setXfIndex( $map[$columnDimension->getXfIndex()] ); + } + + // also do garbage collection for all the sheets + $sheet->garbageCollect(); + } + } + + /** + * Return the unique ID value assigned to this spreadsheet workbook + * + * @return string + */ + public function getID() { + return $this->_uniqueID; + } + +} diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Autoloader.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Autoloader.php new file mode 100644 index 00000000..f0b22516 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Autoloader.php @@ -0,0 +1,89 @@ += 0) { + return spl_autoload_register(array('PHPExcel_Autoloader', 'Load'), true, true); + } else { + return spl_autoload_register(array('PHPExcel_Autoloader', 'Load')); + } + } // function Register() + + + /** + * Autoload a class identified by name + * + * @param string $pClassName Name of the object to load + */ + public static function Load($pClassName){ + if ((class_exists($pClassName,FALSE)) || (strpos($pClassName, 'PHPExcel') !== 0)) { + // Either already loaded, or not a PHPExcel class request + return FALSE; + } + + $pClassFilePath = PHPEXCEL_ROOT . + str_replace('_',DIRECTORY_SEPARATOR,$pClassName) . + '.php'; + + if ((file_exists($pClassFilePath) === FALSE) || (is_readable($pClassFilePath) === FALSE)) { + // Can't load + return FALSE; + } + + require($pClassFilePath); + } // function Load() + +} diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/CachedObjectStorage/APC.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/CachedObjectStorage/APC.php new file mode 100644 index 00000000..8bde7fe3 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/CachedObjectStorage/APC.php @@ -0,0 +1,295 @@ +_currentCellIsDirty && !empty($this->_currentObjectID)) { + $this->_currentObject->detach(); + + if (!apc_store($this->_cachePrefix.$this->_currentObjectID.'.cache',serialize($this->_currentObject),$this->_cacheTime)) { + $this->__destruct(); + throw new PHPExcel_Exception('Failed to store cell '.$this->_currentObjectID.' in APC'); + } + $this->_currentCellIsDirty = false; + } + $this->_currentObjectID = $this->_currentObject = null; + } // function _storeData() + + + /** + * Add or Update a cell in cache identified by coordinate address + * + * @access public + * @param string $pCoord Coordinate address of the cell to update + * @param PHPExcel_Cell $cell Cell to update + * @return PHPExcel_Cell + * @throws PHPExcel_Exception + */ + public function addCacheData($pCoord, PHPExcel_Cell $cell) { + if (($pCoord !== $this->_currentObjectID) && ($this->_currentObjectID !== null)) { + $this->_storeData(); + } + $this->_cellCache[$pCoord] = true; + + $this->_currentObjectID = $pCoord; + $this->_currentObject = $cell; + $this->_currentCellIsDirty = true; + + return $cell; + } // function addCacheData() + + + /** + * Is a value set in the current PHPExcel_CachedObjectStorage_ICache for an indexed cell? + * + * @access public + * @param string $pCoord Coordinate address of the cell to check + * @throws PHPExcel_Exception + * @return boolean + */ + public function isDataSet($pCoord) { + // Check if the requested entry is the current object, or exists in the cache + if (parent::isDataSet($pCoord)) { + if ($this->_currentObjectID == $pCoord) { + return true; + } + // Check if the requested entry still exists in apc + $success = apc_fetch($this->_cachePrefix.$pCoord.'.cache'); + if ($success === FALSE) { + // Entry no longer exists in APC, so clear it from the cache array + parent::deleteCacheData($pCoord); + throw new PHPExcel_Exception('Cell entry '.$pCoord.' no longer exists in APC cache'); + } + return true; + } + return false; + } // function isDataSet() + + + /** + * Get cell at a specific coordinate + * + * @access public + * @param string $pCoord Coordinate of the cell + * @throws PHPExcel_Exception + * @return PHPExcel_Cell Cell that was found, or null if not found + */ + public function getCacheData($pCoord) { + if ($pCoord === $this->_currentObjectID) { + return $this->_currentObject; + } + $this->_storeData(); + + // Check if the entry that has been requested actually exists + if (parent::isDataSet($pCoord)) { + $obj = apc_fetch($this->_cachePrefix.$pCoord.'.cache'); + if ($obj === FALSE) { + // Entry no longer exists in APC, so clear it from the cache array + parent::deleteCacheData($pCoord); + throw new PHPExcel_Exception('Cell entry '.$pCoord.' no longer exists in APC cache'); + } + } else { + // Return null if requested entry doesn't exist in cache + return null; + } + + // Set current entry to the requested entry + $this->_currentObjectID = $pCoord; + $this->_currentObject = unserialize($obj); + // Re-attach this as the cell's parent + $this->_currentObject->attach($this); + + // Return requested entry + return $this->_currentObject; + } // function getCacheData() + + + /** + * Get a list of all cell addresses currently held in cache + * + * @return string[] + */ + public function getCellList() { + if ($this->_currentObjectID !== null) { + $this->_storeData(); + } + + return parent::getCellList(); + } + + + /** + * Delete a cell in cache identified by coordinate address + * + * @access public + * @param string $pCoord Coordinate address of the cell to delete + * @throws PHPExcel_Exception + */ + public function deleteCacheData($pCoord) { + // Delete the entry from APC + apc_delete($this->_cachePrefix.$pCoord.'.cache'); + + // Delete the entry from our cell address array + parent::deleteCacheData($pCoord); + } // function deleteCacheData() + + + /** + * Clone the cell collection + * + * @access public + * @param PHPExcel_Worksheet $parent The new worksheet + * @throws PHPExcel_Exception + * @return void + */ + public function copyCellCollection(PHPExcel_Worksheet $parent) { + parent::copyCellCollection($parent); + // Get a new id for the new file name + $baseUnique = $this->_getUniqueID(); + $newCachePrefix = substr(md5($baseUnique),0,8).'.'; + $cacheList = $this->getCellList(); + foreach($cacheList as $cellID) { + if ($cellID != $this->_currentObjectID) { + $obj = apc_fetch($this->_cachePrefix.$cellID.'.cache'); + if ($obj === FALSE) { + // Entry no longer exists in APC, so clear it from the cache array + parent::deleteCacheData($cellID); + throw new PHPExcel_Exception('Cell entry '.$cellID.' no longer exists in APC'); + } + if (!apc_store($newCachePrefix.$cellID.'.cache',$obj,$this->_cacheTime)) { + $this->__destruct(); + throw new PHPExcel_Exception('Failed to store cell '.$cellID.' in APC'); + } + } + } + $this->_cachePrefix = $newCachePrefix; + } // function copyCellCollection() + + + /** + * Clear the cell collection and disconnect from our parent + * + * @return void + */ + public function unsetWorksheetCells() { + if ($this->_currentObject !== NULL) { + $this->_currentObject->detach(); + $this->_currentObject = $this->_currentObjectID = null; + } + + // Flush the APC cache + $this->__destruct(); + + $this->_cellCache = array(); + + // detach ourself from the worksheet, so that it can then delete this object successfully + $this->_parent = null; + } // function unsetWorksheetCells() + + + /** + * Initialise this new cell collection + * + * @param PHPExcel_Worksheet $parent The worksheet for this cell collection + * @param array of mixed $arguments Additional initialisation arguments + */ + public function __construct(PHPExcel_Worksheet $parent, $arguments) { + $cacheTime = (isset($arguments['cacheTime'])) ? $arguments['cacheTime'] : 600; + + if ($this->_cachePrefix === NULL) { + $baseUnique = $this->_getUniqueID(); + $this->_cachePrefix = substr(md5($baseUnique),0,8).'.'; + $this->_cacheTime = $cacheTime; + + parent::__construct($parent); + } + } // function __construct() + + + /** + * Destroy this cell collection + */ + public function __destruct() { + $cacheList = $this->getCellList(); + foreach($cacheList as $cellID) { + apc_delete($this->_cachePrefix.$cellID.'.cache'); + } + } // function __destruct() + + + /** + * Identify whether the caching method is currently available + * Some methods are dependent on the availability of certain extensions being enabled in the PHP build + * + * @return boolean + */ + public static function cacheMethodIsAvailable() { + if (!function_exists('apc_store')) { + return FALSE; + } + if (apc_sma_info() === FALSE) { + return FALSE; + } + + return TRUE; + } + +} diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/CachedObjectStorage/CacheBase.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/CachedObjectStorage/CacheBase.php new file mode 100644 index 00000000..7d68e944 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/CachedObjectStorage/CacheBase.php @@ -0,0 +1,376 @@ +_parent = $parent; + } // function __construct() + + + /** + * Return the parent worksheet for this cell collection + * + * @return PHPExcel_Worksheet + */ + public function getParent() + { + return $this->_parent; + } + + /** + * Is a value set in the current PHPExcel_CachedObjectStorage_ICache for an indexed cell? + * + * @param string $pCoord Coordinate address of the cell to check + * @return boolean + */ + public function isDataSet($pCoord) { + if ($pCoord === $this->_currentObjectID) { + return true; + } + // Check if the requested entry exists in the cache + return isset($this->_cellCache[$pCoord]); + } // function isDataSet() + + + /** + * Move a cell object from one address to another + * + * @param string $fromAddress Current address of the cell to move + * @param string $toAddress Destination address of the cell to move + * @return boolean + */ + public function moveCell($fromAddress, $toAddress) { + if ($fromAddress === $this->_currentObjectID) { + $this->_currentObjectID = $toAddress; + } + $this->_currentCellIsDirty = true; + if (isset($this->_cellCache[$fromAddress])) { + $this->_cellCache[$toAddress] = &$this->_cellCache[$fromAddress]; + unset($this->_cellCache[$fromAddress]); + } + + return TRUE; + } // function moveCell() + + + /** + * Add or Update a cell in cache + * + * @param PHPExcel_Cell $cell Cell to update + * @return PHPExcel_Cell + * @throws PHPExcel_Exception + */ + public function updateCacheData(PHPExcel_Cell $cell) { + return $this->addCacheData($cell->getCoordinate(),$cell); + } // function updateCacheData() + + + /** + * Delete a cell in cache identified by coordinate address + * + * @param string $pCoord Coordinate address of the cell to delete + * @throws PHPExcel_Exception + */ + public function deleteCacheData($pCoord) { + if ($pCoord === $this->_currentObjectID && !is_null($this->_currentObject)) { + $this->_currentObject->detach(); + $this->_currentObjectID = $this->_currentObject = null; + } + + if (is_object($this->_cellCache[$pCoord])) { + $this->_cellCache[$pCoord]->detach(); + unset($this->_cellCache[$pCoord]); + } + $this->_currentCellIsDirty = false; + } // function deleteCacheData() + + + /** + * Get a list of all cell addresses currently held in cache + * + * @return string[] + */ + public function getCellList() { + return array_keys($this->_cellCache); + } // function getCellList() + + + /** + * Sort the list of all cell addresses currently held in cache by row and column + * + * @return string[] + */ + public function getSortedCellList() { + $sortKeys = array(); + foreach ($this->getCellList() as $coord) { + sscanf($coord,'%[A-Z]%d', $column, $row); + $sortKeys[sprintf('%09d%3s',$row,$column)] = $coord; + } + ksort($sortKeys); + + return array_values($sortKeys); + } // function sortCellList() + + + + /** + * Get highest worksheet column and highest row that have cell records + * + * @return array Highest column name and highest row number + */ + public function getHighestRowAndColumn() + { + // Lookup highest column and highest row + $col = array('A' => '1A'); + $row = array(1); + foreach ($this->getCellList() as $coord) { + sscanf($coord,'%[A-Z]%d', $c, $r); + $row[$r] = $r; + $col[$c] = strlen($c).$c; + } + if (!empty($row)) { + // Determine highest column and row + $highestRow = max($row); + $highestColumn = substr(max($col),1); + } + + return array( 'row' => $highestRow, + 'column' => $highestColumn + ); + } + + + /** + * Return the cell address of the currently active cell object + * + * @return string + */ + public function getCurrentAddress() + { + return $this->_currentObjectID; + } + + /** + * Return the column address of the currently active cell object + * + * @return string + */ + public function getCurrentColumn() + { + sscanf($this->_currentObjectID, '%[A-Z]%d', $column, $row); + return $column; + } + + /** + * Return the row address of the currently active cell object + * + * @return integer + */ + public function getCurrentRow() + { + sscanf($this->_currentObjectID, '%[A-Z]%d', $column, $row); + return (integer) $row; + } + + /** + * Get highest worksheet column + * + * @param string $row Return the highest column for the specified row, + * or the highest column of any row if no row number is passed + * @return string Highest column name + */ + public function getHighestColumn($row = null) + { + if ($row == null) { + $colRow = $this->getHighestRowAndColumn(); + return $colRow['column']; + } + + $columnList = array(1); + foreach ($this->getCellList() as $coord) { + sscanf($coord,'%[A-Z]%d', $c, $r); + if ($r != $row) { + continue; + } + $columnList[] = PHPExcel_Cell::columnIndexFromString($c); + } + return PHPExcel_Cell::stringFromColumnIndex(max($columnList) - 1); + } + + /** + * Get highest worksheet row + * + * @param string $column Return the highest row for the specified column, + * or the highest row of any column if no column letter is passed + * @return int Highest row number + */ + public function getHighestRow($column = null) + { + if ($column == null) { + $colRow = $this->getHighestRowAndColumn(); + return $colRow['row']; + } + + $rowList = array(0); + foreach ($this->getCellList() as $coord) { + sscanf($coord,'%[A-Z]%d', $c, $r); + if ($c != $column) { + continue; + } + $rowList[] = $r; + } + + return max($rowList); + } + + + /** + * Generate a unique ID for cache referencing + * + * @return string Unique Reference + */ + protected function _getUniqueID() { + if (function_exists('posix_getpid')) { + $baseUnique = posix_getpid(); + } else { + $baseUnique = mt_rand(); + } + return uniqid($baseUnique,true); + } + + /** + * Clone the cell collection + * + * @param PHPExcel_Worksheet $parent The new worksheet + * @return void + */ + public function copyCellCollection(PHPExcel_Worksheet $parent) { + $this->_currentCellIsDirty; + $this->_storeData(); + + $this->_parent = $parent; + if (($this->_currentObject !== NULL) && (is_object($this->_currentObject))) { + $this->_currentObject->attach($this); + } + } // function copyCellCollection() + + /** + * Remove a row, deleting all cells in that row + * + * @param string $row Row number to remove + * @return void + */ + public function removeRow($row) { + foreach ($this->getCellList() as $coord) { + sscanf($coord,'%[A-Z]%d', $c, $r); + if ($r == $row) { + $this->deleteCacheData($coord); + } + } + } + + /** + * Remove a column, deleting all cells in that column + * + * @param string $column Column ID to remove + * @return void + */ + public function removeColumn($column) { + foreach ($this->getCellList() as $coord) { + sscanf($coord,'%[A-Z]%d', $c, $r); + if ($c == $column) { + $this->deleteCacheData($coord); + } + } + } + + /** + * Identify whether the caching method is currently available + * Some methods are dependent on the availability of certain extensions being enabled in the PHP build + * + * @return boolean + */ + public static function cacheMethodIsAvailable() { + return true; + } + +} diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/CachedObjectStorage/DiscISAM.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/CachedObjectStorage/DiscISAM.php new file mode 100644 index 00000000..cb38d0de --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/CachedObjectStorage/DiscISAM.php @@ -0,0 +1,219 @@ +_currentCellIsDirty && !empty($this->_currentObjectID)) { + $this->_currentObject->detach(); + + fseek($this->_fileHandle,0,SEEK_END); + + $this->_cellCache[$this->_currentObjectID] = array( + 'ptr' => ftell($this->_fileHandle), + 'sz' => fwrite($this->_fileHandle, serialize($this->_currentObject)) + ); + $this->_currentCellIsDirty = false; + } + $this->_currentObjectID = $this->_currentObject = null; + } // function _storeData() + + + /** + * Add or Update a cell in cache identified by coordinate address + * + * @param string $pCoord Coordinate address of the cell to update + * @param PHPExcel_Cell $cell Cell to update + * @return PHPExcel_Cell + * @throws PHPExcel_Exception + */ + public function addCacheData($pCoord, PHPExcel_Cell $cell) { + if (($pCoord !== $this->_currentObjectID) && ($this->_currentObjectID !== null)) { + $this->_storeData(); + } + + $this->_currentObjectID = $pCoord; + $this->_currentObject = $cell; + $this->_currentCellIsDirty = true; + + return $cell; + } // function addCacheData() + + + /** + * Get cell at a specific coordinate + * + * @param string $pCoord Coordinate of the cell + * @throws PHPExcel_Exception + * @return PHPExcel_Cell Cell that was found, or null if not found + */ + public function getCacheData($pCoord) { + if ($pCoord === $this->_currentObjectID) { + return $this->_currentObject; + } + $this->_storeData(); + + // Check if the entry that has been requested actually exists + if (!isset($this->_cellCache[$pCoord])) { + // Return null if requested entry doesn't exist in cache + return null; + } + + // Set current entry to the requested entry + $this->_currentObjectID = $pCoord; + fseek($this->_fileHandle, $this->_cellCache[$pCoord]['ptr']); + $this->_currentObject = unserialize(fread($this->_fileHandle, $this->_cellCache[$pCoord]['sz'])); + // Re-attach this as the cell's parent + $this->_currentObject->attach($this); + + // Return requested entry + return $this->_currentObject; + } // function getCacheData() + + + /** + * Get a list of all cell addresses currently held in cache + * + * @return string[] + */ + public function getCellList() { + if ($this->_currentObjectID !== null) { + $this->_storeData(); + } + + return parent::getCellList(); + } + + + /** + * Clone the cell collection + * + * @param PHPExcel_Worksheet $parent The new worksheet + * @return void + */ + public function copyCellCollection(PHPExcel_Worksheet $parent) { + parent::copyCellCollection($parent); + // Get a new id for the new file name + $baseUnique = $this->_getUniqueID(); + $newFileName = $this->_cacheDirectory.'/PHPExcel.'.$baseUnique.'.cache'; + // Copy the existing cell cache file + copy ($this->_fileName,$newFileName); + $this->_fileName = $newFileName; + // Open the copied cell cache file + $this->_fileHandle = fopen($this->_fileName,'a+'); + } // function copyCellCollection() + + + /** + * Clear the cell collection and disconnect from our parent + * + * @return void + */ + public function unsetWorksheetCells() { + if(!is_null($this->_currentObject)) { + $this->_currentObject->detach(); + $this->_currentObject = $this->_currentObjectID = null; + } + $this->_cellCache = array(); + + // detach ourself from the worksheet, so that it can then delete this object successfully + $this->_parent = null; + + // Close down the temporary cache file + $this->__destruct(); + } // function unsetWorksheetCells() + + + /** + * Initialise this new cell collection + * + * @param PHPExcel_Worksheet $parent The worksheet for this cell collection + * @param array of mixed $arguments Additional initialisation arguments + */ + public function __construct(PHPExcel_Worksheet $parent, $arguments) { + $this->_cacheDirectory = ((isset($arguments['dir'])) && ($arguments['dir'] !== NULL)) + ? $arguments['dir'] + : PHPExcel_Shared_File::sys_get_temp_dir(); + + parent::__construct($parent); + if (is_null($this->_fileHandle)) { + $baseUnique = $this->_getUniqueID(); + $this->_fileName = $this->_cacheDirectory.'/PHPExcel.'.$baseUnique.'.cache'; + $this->_fileHandle = fopen($this->_fileName,'a+'); + } + } // function __construct() + + + /** + * Destroy this cell collection + */ + public function __destruct() { + if (!is_null($this->_fileHandle)) { + fclose($this->_fileHandle); + unlink($this->_fileName); + } + $this->_fileHandle = null; + } // function __destruct() + +} diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/CachedObjectStorage/ICache.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/CachedObjectStorage/ICache.php new file mode 100644 index 00000000..220905cd --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/CachedObjectStorage/ICache.php @@ -0,0 +1,112 @@ +_currentCellIsDirty && !empty($this->_currentObjectID)) { + $this->_currentObject->detach(); + + $this->_cellCache[$this->_currentObjectID] = igbinary_serialize($this->_currentObject); + $this->_currentCellIsDirty = false; + } + $this->_currentObjectID = $this->_currentObject = null; + } // function _storeData() + + + /** + * Add or Update a cell in cache identified by coordinate address + * + * @param string $pCoord Coordinate address of the cell to update + * @param PHPExcel_Cell $cell Cell to update + * @return PHPExcel_Cell + * @throws PHPExcel_Exception + */ + public function addCacheData($pCoord, PHPExcel_Cell $cell) { + if (($pCoord !== $this->_currentObjectID) && ($this->_currentObjectID !== null)) { + $this->_storeData(); + } + + $this->_currentObjectID = $pCoord; + $this->_currentObject = $cell; + $this->_currentCellIsDirty = true; + + return $cell; + } // function addCacheData() + + + /** + * Get cell at a specific coordinate + * + * @param string $pCoord Coordinate of the cell + * @throws PHPExcel_Exception + * @return PHPExcel_Cell Cell that was found, or null if not found + */ + public function getCacheData($pCoord) { + if ($pCoord === $this->_currentObjectID) { + return $this->_currentObject; + } + $this->_storeData(); + + // Check if the entry that has been requested actually exists + if (!isset($this->_cellCache[$pCoord])) { + // Return null if requested entry doesn't exist in cache + return null; + } + + // Set current entry to the requested entry + $this->_currentObjectID = $pCoord; + $this->_currentObject = igbinary_unserialize($this->_cellCache[$pCoord]); + // Re-attach this as the cell's parent + $this->_currentObject->attach($this); + + // Return requested entry + return $this->_currentObject; + } // function getCacheData() + + + /** + * Get a list of all cell addresses currently held in cache + * + * @return string[] + */ + public function getCellList() { + if ($this->_currentObjectID !== null) { + $this->_storeData(); + } + + return parent::getCellList(); + } + + + /** + * Clear the cell collection and disconnect from our parent + * + * @return void + */ + public function unsetWorksheetCells() { + if(!is_null($this->_currentObject)) { + $this->_currentObject->detach(); + $this->_currentObject = $this->_currentObjectID = null; + } + $this->_cellCache = array(); + + // detach ourself from the worksheet, so that it can then delete this object successfully + $this->_parent = null; + } // function unsetWorksheetCells() + + + /** + * Identify whether the caching method is currently available + * Some methods are dependent on the availability of certain extensions being enabled in the PHP build + * + * @return boolean + */ + public static function cacheMethodIsAvailable() { + if (!function_exists('igbinary_serialize')) { + return false; + } + + return true; + } + +} diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/CachedObjectStorage/Memcache.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/CachedObjectStorage/Memcache.php new file mode 100644 index 00000000..6a096769 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/CachedObjectStorage/Memcache.php @@ -0,0 +1,312 @@ +_currentCellIsDirty && !empty($this->_currentObjectID)) { + $this->_currentObject->detach(); + + $obj = serialize($this->_currentObject); + if (!$this->_memcache->replace($this->_cachePrefix.$this->_currentObjectID.'.cache',$obj,NULL,$this->_cacheTime)) { + if (!$this->_memcache->add($this->_cachePrefix.$this->_currentObjectID.'.cache',$obj,NULL,$this->_cacheTime)) { + $this->__destruct(); + throw new PHPExcel_Exception('Failed to store cell '.$this->_currentObjectID.' in MemCache'); + } + } + $this->_currentCellIsDirty = false; + } + $this->_currentObjectID = $this->_currentObject = null; + } // function _storeData() + + + /** + * Add or Update a cell in cache identified by coordinate address + * + * @param string $pCoord Coordinate address of the cell to update + * @param PHPExcel_Cell $cell Cell to update + * @return PHPExcel_Cell + * @throws PHPExcel_Exception + */ + public function addCacheData($pCoord, PHPExcel_Cell $cell) { + if (($pCoord !== $this->_currentObjectID) && ($this->_currentObjectID !== null)) { + $this->_storeData(); + } + $this->_cellCache[$pCoord] = true; + + $this->_currentObjectID = $pCoord; + $this->_currentObject = $cell; + $this->_currentCellIsDirty = true; + + return $cell; + } // function addCacheData() + + + /** + * Is a value set in the current PHPExcel_CachedObjectStorage_ICache for an indexed cell? + * + * @param string $pCoord Coordinate address of the cell to check + * @return boolean + * @return boolean + */ + public function isDataSet($pCoord) { + // Check if the requested entry is the current object, or exists in the cache + if (parent::isDataSet($pCoord)) { + if ($this->_currentObjectID == $pCoord) { + return true; + } + // Check if the requested entry still exists in Memcache + $success = $this->_memcache->get($this->_cachePrefix.$pCoord.'.cache'); + if ($success === false) { + // Entry no longer exists in Memcache, so clear it from the cache array + parent::deleteCacheData($pCoord); + throw new PHPExcel_Exception('Cell entry '.$pCoord.' no longer exists in MemCache'); + } + return true; + } + return false; + } // function isDataSet() + + + /** + * Get cell at a specific coordinate + * + * @param string $pCoord Coordinate of the cell + * @throws PHPExcel_Exception + * @return PHPExcel_Cell Cell that was found, or null if not found + */ + public function getCacheData($pCoord) { + if ($pCoord === $this->_currentObjectID) { + return $this->_currentObject; + } + $this->_storeData(); + + // Check if the entry that has been requested actually exists + if (parent::isDataSet($pCoord)) { + $obj = $this->_memcache->get($this->_cachePrefix.$pCoord.'.cache'); + if ($obj === false) { + // Entry no longer exists in Memcache, so clear it from the cache array + parent::deleteCacheData($pCoord); + throw new PHPExcel_Exception('Cell entry '.$pCoord.' no longer exists in MemCache'); + } + } else { + // Return null if requested entry doesn't exist in cache + return null; + } + + // Set current entry to the requested entry + $this->_currentObjectID = $pCoord; + $this->_currentObject = unserialize($obj); + // Re-attach this as the cell's parent + $this->_currentObject->attach($this); + + // Return requested entry + return $this->_currentObject; + } // function getCacheData() + + + /** + * Get a list of all cell addresses currently held in cache + * + * @return string[] + */ + public function getCellList() { + if ($this->_currentObjectID !== null) { + $this->_storeData(); + } + + return parent::getCellList(); + } + + + /** + * Delete a cell in cache identified by coordinate address + * + * @param string $pCoord Coordinate address of the cell to delete + * @throws PHPExcel_Exception + */ + public function deleteCacheData($pCoord) { + // Delete the entry from Memcache + $this->_memcache->delete($this->_cachePrefix.$pCoord.'.cache'); + + // Delete the entry from our cell address array + parent::deleteCacheData($pCoord); + } // function deleteCacheData() + + + /** + * Clone the cell collection + * + * @param PHPExcel_Worksheet $parent The new worksheet + * @return void + */ + public function copyCellCollection(PHPExcel_Worksheet $parent) { + parent::copyCellCollection($parent); + // Get a new id for the new file name + $baseUnique = $this->_getUniqueID(); + $newCachePrefix = substr(md5($baseUnique),0,8).'.'; + $cacheList = $this->getCellList(); + foreach($cacheList as $cellID) { + if ($cellID != $this->_currentObjectID) { + $obj = $this->_memcache->get($this->_cachePrefix.$cellID.'.cache'); + if ($obj === false) { + // Entry no longer exists in Memcache, so clear it from the cache array + parent::deleteCacheData($cellID); + throw new PHPExcel_Exception('Cell entry '.$cellID.' no longer exists in MemCache'); + } + if (!$this->_memcache->add($newCachePrefix.$cellID.'.cache',$obj,NULL,$this->_cacheTime)) { + $this->__destruct(); + throw new PHPExcel_Exception('Failed to store cell '.$cellID.' in MemCache'); + } + } + } + $this->_cachePrefix = $newCachePrefix; + } // function copyCellCollection() + + + /** + * Clear the cell collection and disconnect from our parent + * + * @return void + */ + public function unsetWorksheetCells() { + if(!is_null($this->_currentObject)) { + $this->_currentObject->detach(); + $this->_currentObject = $this->_currentObjectID = null; + } + + // Flush the Memcache cache + $this->__destruct(); + + $this->_cellCache = array(); + + // detach ourself from the worksheet, so that it can then delete this object successfully + $this->_parent = null; + } // function unsetWorksheetCells() + + + /** + * Initialise this new cell collection + * + * @param PHPExcel_Worksheet $parent The worksheet for this cell collection + * @param array of mixed $arguments Additional initialisation arguments + */ + public function __construct(PHPExcel_Worksheet $parent, $arguments) { + $memcacheServer = (isset($arguments['memcacheServer'])) ? $arguments['memcacheServer'] : 'localhost'; + $memcachePort = (isset($arguments['memcachePort'])) ? $arguments['memcachePort'] : 11211; + $cacheTime = (isset($arguments['cacheTime'])) ? $arguments['cacheTime'] : 600; + + if (is_null($this->_cachePrefix)) { + $baseUnique = $this->_getUniqueID(); + $this->_cachePrefix = substr(md5($baseUnique),0,8).'.'; + + // Set a new Memcache object and connect to the Memcache server + $this->_memcache = new Memcache(); + if (!$this->_memcache->addServer($memcacheServer, $memcachePort, false, 50, 5, 5, true, array($this, 'failureCallback'))) { + throw new PHPExcel_Exception('Could not connect to MemCache server at '.$memcacheServer.':'.$memcachePort); + } + $this->_cacheTime = $cacheTime; + + parent::__construct($parent); + } + } // function __construct() + + + /** + * Memcache error handler + * + * @param string $host Memcache server + * @param integer $port Memcache port + * @throws PHPExcel_Exception + */ + public function failureCallback($host, $port) { + throw new PHPExcel_Exception('memcache '.$host.':'.$port.' failed'); + } + + + /** + * Destroy this cell collection + */ + public function __destruct() { + $cacheList = $this->getCellList(); + foreach($cacheList as $cellID) { + $this->_memcache->delete($this->_cachePrefix.$cellID.'.cache'); + } + } // function __destruct() + + /** + * Identify whether the caching method is currently available + * Some methods are dependent on the availability of certain extensions being enabled in the PHP build + * + * @return boolean + */ + public static function cacheMethodIsAvailable() { + if (!function_exists('memcache_add')) { + return false; + } + + return true; + } + +} diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/CachedObjectStorage/Memory.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/CachedObjectStorage/Memory.php new file mode 100644 index 00000000..1319a18d --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/CachedObjectStorage/Memory.php @@ -0,0 +1,125 @@ +_cellCache[$pCoord] = $cell; + + // Set current entry to the new/updated entry + $this->_currentObjectID = $pCoord; + + return $cell; + } // function addCacheData() + + + /** + * Get cell at a specific coordinate + * + * @param string $pCoord Coordinate of the cell + * @throws PHPExcel_Exception + * @return PHPExcel_Cell Cell that was found, or null if not found + */ + public function getCacheData($pCoord) { + // Check if the entry that has been requested actually exists + if (!isset($this->_cellCache[$pCoord])) { + $this->_currentObjectID = NULL; + // Return null if requested entry doesn't exist in cache + return null; + } + + // Set current entry to the requested entry + $this->_currentObjectID = $pCoord; + + // Return requested entry + return $this->_cellCache[$pCoord]; + } // function getCacheData() + + + /** + * Clone the cell collection + * + * @param PHPExcel_Worksheet $parent The new worksheet + * @return void + */ + public function copyCellCollection(PHPExcel_Worksheet $parent) { + parent::copyCellCollection($parent); + + $newCollection = array(); + foreach($this->_cellCache as $k => &$cell) { + $newCollection[$k] = clone $cell; + $newCollection[$k]->attach($this); + } + + $this->_cellCache = $newCollection; + } + + + /** + * Clear the cell collection and disconnect from our parent + * + * @return void + */ + public function unsetWorksheetCells() { + // Because cells are all stored as intact objects in memory, we need to detach each one from the parent + foreach($this->_cellCache as $k => &$cell) { + $cell->detach(); + $this->_cellCache[$k] = null; + } + unset($cell); + + $this->_cellCache = array(); + + // detach ourself from the worksheet, so that it can then delete this object successfully + $this->_parent = null; + } // function unsetWorksheetCells() + +} diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/CachedObjectStorage/MemoryGZip.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/CachedObjectStorage/MemoryGZip.php new file mode 100644 index 00000000..e35563c4 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/CachedObjectStorage/MemoryGZip.php @@ -0,0 +1,137 @@ +_currentCellIsDirty && !empty($this->_currentObjectID)) { + $this->_currentObject->detach(); + + $this->_cellCache[$this->_currentObjectID] = gzdeflate(serialize($this->_currentObject)); + $this->_currentCellIsDirty = false; + } + $this->_currentObjectID = $this->_currentObject = null; + } // function _storeData() + + + /** + * Add or Update a cell in cache identified by coordinate address + * + * @param string $pCoord Coordinate address of the cell to update + * @param PHPExcel_Cell $cell Cell to update + * @return PHPExcel_Cell + * @throws PHPExcel_Exception + */ + public function addCacheData($pCoord, PHPExcel_Cell $cell) { + if (($pCoord !== $this->_currentObjectID) && ($this->_currentObjectID !== null)) { + $this->_storeData(); + } + + $this->_currentObjectID = $pCoord; + $this->_currentObject = $cell; + $this->_currentCellIsDirty = true; + + return $cell; + } // function addCacheData() + + + /** + * Get cell at a specific coordinate + * + * @param string $pCoord Coordinate of the cell + * @throws PHPExcel_Exception + * @return PHPExcel_Cell Cell that was found, or null if not found + */ + public function getCacheData($pCoord) { + if ($pCoord === $this->_currentObjectID) { + return $this->_currentObject; + } + $this->_storeData(); + + // Check if the entry that has been requested actually exists + if (!isset($this->_cellCache[$pCoord])) { + // Return null if requested entry doesn't exist in cache + return null; + } + + // Set current entry to the requested entry + $this->_currentObjectID = $pCoord; + $this->_currentObject = unserialize(gzinflate($this->_cellCache[$pCoord])); + // Re-attach this as the cell's parent + $this->_currentObject->attach($this); + + // Return requested entry + return $this->_currentObject; + } // function getCacheData() + + + /** + * Get a list of all cell addresses currently held in cache + * + * @return string[] + */ + public function getCellList() { + if ($this->_currentObjectID !== null) { + $this->_storeData(); + } + + return parent::getCellList(); + } + + + /** + * Clear the cell collection and disconnect from our parent + * + * @return void + */ + public function unsetWorksheetCells() { + if(!is_null($this->_currentObject)) { + $this->_currentObject->detach(); + $this->_currentObject = $this->_currentObjectID = null; + } + $this->_cellCache = array(); + + // detach ourself from the worksheet, so that it can then delete this object successfully + $this->_parent = null; + } // function unsetWorksheetCells() + +} diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/CachedObjectStorage/MemorySerialized.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/CachedObjectStorage/MemorySerialized.php new file mode 100644 index 00000000..1082deae --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/CachedObjectStorage/MemorySerialized.php @@ -0,0 +1,137 @@ +_currentCellIsDirty && !empty($this->_currentObjectID)) { + $this->_currentObject->detach(); + + $this->_cellCache[$this->_currentObjectID] = serialize($this->_currentObject); + $this->_currentCellIsDirty = false; + } + $this->_currentObjectID = $this->_currentObject = null; + } // function _storeData() + + + /** + * Add or Update a cell in cache identified by coordinate address + * + * @param string $pCoord Coordinate address of the cell to update + * @param PHPExcel_Cell $cell Cell to update + * @return PHPExcel_Cell + * @throws PHPExcel_Exception + */ + public function addCacheData($pCoord, PHPExcel_Cell $cell) { + if (($pCoord !== $this->_currentObjectID) && ($this->_currentObjectID !== null)) { + $this->_storeData(); + } + + $this->_currentObjectID = $pCoord; + $this->_currentObject = $cell; + $this->_currentCellIsDirty = true; + + return $cell; + } // function addCacheData() + + + /** + * Get cell at a specific coordinate + * + * @param string $pCoord Coordinate of the cell + * @throws PHPExcel_Exception + * @return PHPExcel_Cell Cell that was found, or null if not found + */ + public function getCacheData($pCoord) { + if ($pCoord === $this->_currentObjectID) { + return $this->_currentObject; + } + $this->_storeData(); + + // Check if the entry that has been requested actually exists + if (!isset($this->_cellCache[$pCoord])) { + // Return null if requested entry doesn't exist in cache + return null; + } + + // Set current entry to the requested entry + $this->_currentObjectID = $pCoord; + $this->_currentObject = unserialize($this->_cellCache[$pCoord]); + // Re-attach this as the cell's parent + $this->_currentObject->attach($this); + + // Return requested entry + return $this->_currentObject; + } // function getCacheData() + + + /** + * Get a list of all cell addresses currently held in cache + * + * @return string[] + */ + public function getCellList() { + if ($this->_currentObjectID !== null) { + $this->_storeData(); + } + + return parent::getCellList(); + } + + + /** + * Clear the cell collection and disconnect from our parent + * + * @return void + */ + public function unsetWorksheetCells() { + if(!is_null($this->_currentObject)) { + $this->_currentObject->detach(); + $this->_currentObject = $this->_currentObjectID = null; + } + $this->_cellCache = array(); + + // detach ourself from the worksheet, so that it can then delete this object successfully + $this->_parent = null; + } // function unsetWorksheetCells() + +} diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/CachedObjectStorage/PHPTemp.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/CachedObjectStorage/PHPTemp.php new file mode 100644 index 00000000..e28429de --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/CachedObjectStorage/PHPTemp.php @@ -0,0 +1,206 @@ +_currentCellIsDirty && !empty($this->_currentObjectID)) { + $this->_currentObject->detach(); + + fseek($this->_fileHandle,0,SEEK_END); + + $this->_cellCache[$this->_currentObjectID] = array( + 'ptr' => ftell($this->_fileHandle), + 'sz' => fwrite($this->_fileHandle, serialize($this->_currentObject)) + ); + $this->_currentCellIsDirty = false; + } + $this->_currentObjectID = $this->_currentObject = null; + } // function _storeData() + + + /** + * Add or Update a cell in cache identified by coordinate address + * + * @param string $pCoord Coordinate address of the cell to update + * @param PHPExcel_Cell $cell Cell to update + * @return PHPExcel_Cell + * @throws PHPExcel_Exception + */ + public function addCacheData($pCoord, PHPExcel_Cell $cell) { + if (($pCoord !== $this->_currentObjectID) && ($this->_currentObjectID !== null)) { + $this->_storeData(); + } + + $this->_currentObjectID = $pCoord; + $this->_currentObject = $cell; + $this->_currentCellIsDirty = true; + + return $cell; + } // function addCacheData() + + + /** + * Get cell at a specific coordinate + * + * @param string $pCoord Coordinate of the cell + * @throws PHPExcel_Exception + * @return PHPExcel_Cell Cell that was found, or null if not found + */ + public function getCacheData($pCoord) { + if ($pCoord === $this->_currentObjectID) { + return $this->_currentObject; + } + $this->_storeData(); + + // Check if the entry that has been requested actually exists + if (!isset($this->_cellCache[$pCoord])) { + // Return null if requested entry doesn't exist in cache + return null; + } + + // Set current entry to the requested entry + $this->_currentObjectID = $pCoord; + fseek($this->_fileHandle,$this->_cellCache[$pCoord]['ptr']); + $this->_currentObject = unserialize(fread($this->_fileHandle,$this->_cellCache[$pCoord]['sz'])); + // Re-attach this as the cell's parent + $this->_currentObject->attach($this); + + // Return requested entry + return $this->_currentObject; + } // function getCacheData() + + + /** + * Get a list of all cell addresses currently held in cache + * + * @return string[] + */ + public function getCellList() { + if ($this->_currentObjectID !== null) { + $this->_storeData(); + } + + return parent::getCellList(); + } + + + /** + * Clone the cell collection + * + * @param PHPExcel_Worksheet $parent The new worksheet + * @return void + */ + public function copyCellCollection(PHPExcel_Worksheet $parent) { + parent::copyCellCollection($parent); + // Open a new stream for the cell cache data + $newFileHandle = fopen('php://temp/maxmemory:'.$this->_memoryCacheSize,'a+'); + // Copy the existing cell cache data to the new stream + fseek($this->_fileHandle,0); + while (!feof($this->_fileHandle)) { + fwrite($newFileHandle,fread($this->_fileHandle, 1024)); + } + $this->_fileHandle = $newFileHandle; + } // function copyCellCollection() + + + /** + * Clear the cell collection and disconnect from our parent + * + * @return void + */ + public function unsetWorksheetCells() { + if(!is_null($this->_currentObject)) { + $this->_currentObject->detach(); + $this->_currentObject = $this->_currentObjectID = null; + } + $this->_cellCache = array(); + + // detach ourself from the worksheet, so that it can then delete this object successfully + $this->_parent = null; + + // Close down the php://temp file + $this->__destruct(); + } // function unsetWorksheetCells() + + + /** + * Initialise this new cell collection + * + * @param PHPExcel_Worksheet $parent The worksheet for this cell collection + * @param array of mixed $arguments Additional initialisation arguments + */ + public function __construct(PHPExcel_Worksheet $parent, $arguments) { + $this->_memoryCacheSize = (isset($arguments['memoryCacheSize'])) ? $arguments['memoryCacheSize'] : '1MB'; + + parent::__construct($parent); + if (is_null($this->_fileHandle)) { + $this->_fileHandle = fopen('php://temp/maxmemory:'.$this->_memoryCacheSize,'a+'); + } + } // function __construct() + + + /** + * Destroy this cell collection + */ + public function __destruct() { + if (!is_null($this->_fileHandle)) { + fclose($this->_fileHandle); + } + $this->_fileHandle = null; + } // function __destruct() + +} diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/CachedObjectStorage/SQLite.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/CachedObjectStorage/SQLite.php new file mode 100644 index 00000000..dd4f0e99 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/CachedObjectStorage/SQLite.php @@ -0,0 +1,306 @@ +_currentCellIsDirty && !empty($this->_currentObjectID)) { + $this->_currentObject->detach(); + + if (!$this->_DBHandle->queryExec("INSERT OR REPLACE INTO kvp_".$this->_TableName." VALUES('".$this->_currentObjectID."','".sqlite_escape_string(serialize($this->_currentObject))."')")) + throw new PHPExcel_Exception(sqlite_error_string($this->_DBHandle->lastError())); + $this->_currentCellIsDirty = false; + } + $this->_currentObjectID = $this->_currentObject = null; + } // function _storeData() + + + /** + * Add or Update a cell in cache identified by coordinate address + * + * @param string $pCoord Coordinate address of the cell to update + * @param PHPExcel_Cell $cell Cell to update + * @return PHPExcel_Cell + * @throws PHPExcel_Exception + */ + public function addCacheData($pCoord, PHPExcel_Cell $cell) { + if (($pCoord !== $this->_currentObjectID) && ($this->_currentObjectID !== null)) { + $this->_storeData(); + } + + $this->_currentObjectID = $pCoord; + $this->_currentObject = $cell; + $this->_currentCellIsDirty = true; + + return $cell; + } // function addCacheData() + + + /** + * Get cell at a specific coordinate + * + * @param string $pCoord Coordinate of the cell + * @throws PHPExcel_Exception + * @return PHPExcel_Cell Cell that was found, or null if not found + */ + public function getCacheData($pCoord) { + if ($pCoord === $this->_currentObjectID) { + return $this->_currentObject; + } + $this->_storeData(); + + $query = "SELECT value FROM kvp_".$this->_TableName." WHERE id='".$pCoord."'"; + $cellResultSet = $this->_DBHandle->query($query,SQLITE_ASSOC); + if ($cellResultSet === false) { + throw new PHPExcel_Exception(sqlite_error_string($this->_DBHandle->lastError())); + } elseif ($cellResultSet->numRows() == 0) { + // Return null if requested entry doesn't exist in cache + return null; + } + + // Set current entry to the requested entry + $this->_currentObjectID = $pCoord; + + $cellResult = $cellResultSet->fetchSingle(); + $this->_currentObject = unserialize($cellResult); + // Re-attach this as the cell's parent + $this->_currentObject->attach($this); + + // Return requested entry + return $this->_currentObject; + } // function getCacheData() + + + /** + * Is a value set for an indexed cell? + * + * @param string $pCoord Coordinate address of the cell to check + * @return boolean + */ + public function isDataSet($pCoord) { + if ($pCoord === $this->_currentObjectID) { + return true; + } + + // Check if the requested entry exists in the cache + $query = "SELECT id FROM kvp_".$this->_TableName." WHERE id='".$pCoord."'"; + $cellResultSet = $this->_DBHandle->query($query,SQLITE_ASSOC); + if ($cellResultSet === false) { + throw new PHPExcel_Exception(sqlite_error_string($this->_DBHandle->lastError())); + } elseif ($cellResultSet->numRows() == 0) { + // Return null if requested entry doesn't exist in cache + return false; + } + return true; + } // function isDataSet() + + + /** + * Delete a cell in cache identified by coordinate address + * + * @param string $pCoord Coordinate address of the cell to delete + * @throws PHPExcel_Exception + */ + public function deleteCacheData($pCoord) { + if ($pCoord === $this->_currentObjectID) { + $this->_currentObject->detach(); + $this->_currentObjectID = $this->_currentObject = null; + } + + // Check if the requested entry exists in the cache + $query = "DELETE FROM kvp_".$this->_TableName." WHERE id='".$pCoord."'"; + if (!$this->_DBHandle->queryExec($query)) + throw new PHPExcel_Exception(sqlite_error_string($this->_DBHandle->lastError())); + + $this->_currentCellIsDirty = false; + } // function deleteCacheData() + + + /** + * Move a cell object from one address to another + * + * @param string $fromAddress Current address of the cell to move + * @param string $toAddress Destination address of the cell to move + * @return boolean + */ + public function moveCell($fromAddress, $toAddress) { + if ($fromAddress === $this->_currentObjectID) { + $this->_currentObjectID = $toAddress; + } + + $query = "DELETE FROM kvp_".$this->_TableName." WHERE id='".$toAddress."'"; + $result = $this->_DBHandle->exec($query); + if ($result === false) + throw new PHPExcel_Exception($this->_DBHandle->lastErrorMsg()); + + $query = "UPDATE kvp_".$this->_TableName." SET id='".$toAddress."' WHERE id='".$fromAddress."'"; + $result = $this->_DBHandle->exec($query); + if ($result === false) + throw new PHPExcel_Exception($this->_DBHandle->lastErrorMsg()); + + return TRUE; + } // function moveCell() + + + /** + * Get a list of all cell addresses currently held in cache + * + * @return string[] + */ + public function getCellList() { + if ($this->_currentObjectID !== null) { + $this->_storeData(); + } + + $query = "SELECT id FROM kvp_".$this->_TableName; + $cellIdsResult = $this->_DBHandle->unbufferedQuery($query,SQLITE_ASSOC); + if ($cellIdsResult === false) + throw new PHPExcel_Exception(sqlite_error_string($this->_DBHandle->lastError())); + + $cellKeys = array(); + foreach($cellIdsResult as $row) { + $cellKeys[] = $row['id']; + } + + return $cellKeys; + } // function getCellList() + + + /** + * Clone the cell collection + * + * @param PHPExcel_Worksheet $parent The new worksheet + * @return void + */ + public function copyCellCollection(PHPExcel_Worksheet $parent) { + $this->_currentCellIsDirty; + $this->_storeData(); + + // Get a new id for the new table name + $tableName = str_replace('.','_',$this->_getUniqueID()); + if (!$this->_DBHandle->queryExec('CREATE TABLE kvp_'.$tableName.' (id VARCHAR(12) PRIMARY KEY, value BLOB) + AS SELECT * FROM kvp_'.$this->_TableName)) + throw new PHPExcel_Exception(sqlite_error_string($this->_DBHandle->lastError())); + + // Copy the existing cell cache file + $this->_TableName = $tableName; + } // function copyCellCollection() + + + /** + * Clear the cell collection and disconnect from our parent + * + * @return void + */ + public function unsetWorksheetCells() { + if(!is_null($this->_currentObject)) { + $this->_currentObject->detach(); + $this->_currentObject = $this->_currentObjectID = null; + } + // detach ourself from the worksheet, so that it can then delete this object successfully + $this->_parent = null; + + // Close down the temporary cache file + $this->__destruct(); + } // function unsetWorksheetCells() + + + /** + * Initialise this new cell collection + * + * @param PHPExcel_Worksheet $parent The worksheet for this cell collection + */ + public function __construct(PHPExcel_Worksheet $parent) { + parent::__construct($parent); + if (is_null($this->_DBHandle)) { + $this->_TableName = str_replace('.','_',$this->_getUniqueID()); + $_DBName = ':memory:'; + + $this->_DBHandle = new SQLiteDatabase($_DBName); + if ($this->_DBHandle === false) + throw new PHPExcel_Exception(sqlite_error_string($this->_DBHandle->lastError())); + if (!$this->_DBHandle->queryExec('CREATE TABLE kvp_'.$this->_TableName.' (id VARCHAR(12) PRIMARY KEY, value BLOB)')) + throw new PHPExcel_Exception(sqlite_error_string($this->_DBHandle->lastError())); + } + } // function __construct() + + + /** + * Destroy this cell collection + */ + public function __destruct() { + if (!is_null($this->_DBHandle)) { + $this->_DBHandle->queryExec('DROP TABLE kvp_'.$this->_TableName); + } + $this->_DBHandle = null; + } // function __destruct() + + + /** + * Identify whether the caching method is currently available + * Some methods are dependent on the availability of certain extensions being enabled in the PHP build + * + * @return boolean + */ + public static function cacheMethodIsAvailable() { + if (!function_exists('sqlite_open')) { + return false; + } + + return true; + } + +} diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/CachedObjectStorage/SQLite3.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/CachedObjectStorage/SQLite3.php new file mode 100644 index 00000000..bdc1d979 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/CachedObjectStorage/SQLite3.php @@ -0,0 +1,345 @@ +_currentCellIsDirty && !empty($this->_currentObjectID)) { + $this->_currentObject->detach(); + + $this->_insertQuery->bindValue('id',$this->_currentObjectID,SQLITE3_TEXT); + $this->_insertQuery->bindValue('data',serialize($this->_currentObject),SQLITE3_BLOB); + $result = $this->_insertQuery->execute(); + if ($result === false) + throw new PHPExcel_Exception($this->_DBHandle->lastErrorMsg()); + $this->_currentCellIsDirty = false; + } + $this->_currentObjectID = $this->_currentObject = null; + } // function _storeData() + + + /** + * Add or Update a cell in cache identified by coordinate address + * + * @param string $pCoord Coordinate address of the cell to update + * @param PHPExcel_Cell $cell Cell to update + * @return PHPExcel_Cell + * @throws PHPExcel_Exception + */ + public function addCacheData($pCoord, PHPExcel_Cell $cell) { + if (($pCoord !== $this->_currentObjectID) && ($this->_currentObjectID !== null)) { + $this->_storeData(); + } + + $this->_currentObjectID = $pCoord; + $this->_currentObject = $cell; + $this->_currentCellIsDirty = true; + + return $cell; + } // function addCacheData() + + + /** + * Get cell at a specific coordinate + * + * @param string $pCoord Coordinate of the cell + * @throws PHPExcel_Exception + * @return PHPExcel_Cell Cell that was found, or null if not found + */ + public function getCacheData($pCoord) { + if ($pCoord === $this->_currentObjectID) { + return $this->_currentObject; + } + $this->_storeData(); + + $this->_selectQuery->bindValue('id',$pCoord,SQLITE3_TEXT); + $cellResult = $this->_selectQuery->execute(); + if ($cellResult === FALSE) { + throw new PHPExcel_Exception($this->_DBHandle->lastErrorMsg()); + } + $cellData = $cellResult->fetchArray(SQLITE3_ASSOC); + if ($cellData === FALSE) { + // Return null if requested entry doesn't exist in cache + return NULL; + } + + // Set current entry to the requested entry + $this->_currentObjectID = $pCoord; + + $this->_currentObject = unserialize($cellData['value']); + // Re-attach this as the cell's parent + $this->_currentObject->attach($this); + + // Return requested entry + return $this->_currentObject; + } // function getCacheData() + + + /** + * Is a value set for an indexed cell? + * + * @param string $pCoord Coordinate address of the cell to check + * @return boolean + */ + public function isDataSet($pCoord) { + if ($pCoord === $this->_currentObjectID) { + return TRUE; + } + + // Check if the requested entry exists in the cache + $this->_selectQuery->bindValue('id',$pCoord,SQLITE3_TEXT); + $cellResult = $this->_selectQuery->execute(); + if ($cellResult === FALSE) { + throw new PHPExcel_Exception($this->_DBHandle->lastErrorMsg()); + } + $cellData = $cellResult->fetchArray(SQLITE3_ASSOC); + + return ($cellData === FALSE) ? FALSE : TRUE; + } // function isDataSet() + + + /** + * Delete a cell in cache identified by coordinate address + * + * @param string $pCoord Coordinate address of the cell to delete + * @throws PHPExcel_Exception + */ + public function deleteCacheData($pCoord) { + if ($pCoord === $this->_currentObjectID) { + $this->_currentObject->detach(); + $this->_currentObjectID = $this->_currentObject = NULL; + } + + // Check if the requested entry exists in the cache + $this->_deleteQuery->bindValue('id',$pCoord,SQLITE3_TEXT); + $result = $this->_deleteQuery->execute(); + if ($result === FALSE) + throw new PHPExcel_Exception($this->_DBHandle->lastErrorMsg()); + + $this->_currentCellIsDirty = FALSE; + } // function deleteCacheData() + + + /** + * Move a cell object from one address to another + * + * @param string $fromAddress Current address of the cell to move + * @param string $toAddress Destination address of the cell to move + * @return boolean + */ + public function moveCell($fromAddress, $toAddress) { + if ($fromAddress === $this->_currentObjectID) { + $this->_currentObjectID = $toAddress; + } + + $this->_deleteQuery->bindValue('id',$toAddress,SQLITE3_TEXT); + $result = $this->_deleteQuery->execute(); + if ($result === false) + throw new PHPExcel_Exception($this->_DBHandle->lastErrorMsg()); + + $this->_updateQuery->bindValue('toid',$toAddress,SQLITE3_TEXT); + $this->_updateQuery->bindValue('fromid',$fromAddress,SQLITE3_TEXT); + $result = $this->_updateQuery->execute(); + if ($result === false) + throw new PHPExcel_Exception($this->_DBHandle->lastErrorMsg()); + + return TRUE; + } // function moveCell() + + + /** + * Get a list of all cell addresses currently held in cache + * + * @return string[] + */ + public function getCellList() { + if ($this->_currentObjectID !== null) { + $this->_storeData(); + } + + $query = "SELECT id FROM kvp_".$this->_TableName; + $cellIdsResult = $this->_DBHandle->query($query); + if ($cellIdsResult === false) + throw new PHPExcel_Exception($this->_DBHandle->lastErrorMsg()); + + $cellKeys = array(); + while ($row = $cellIdsResult->fetchArray(SQLITE3_ASSOC)) { + $cellKeys[] = $row['id']; + } + + return $cellKeys; + } // function getCellList() + + + /** + * Clone the cell collection + * + * @param PHPExcel_Worksheet $parent The new worksheet + * @return void + */ + public function copyCellCollection(PHPExcel_Worksheet $parent) { + $this->_currentCellIsDirty; + $this->_storeData(); + + // Get a new id for the new table name + $tableName = str_replace('.','_',$this->_getUniqueID()); + if (!$this->_DBHandle->exec('CREATE TABLE kvp_'.$tableName.' (id VARCHAR(12) PRIMARY KEY, value BLOB) + AS SELECT * FROM kvp_'.$this->_TableName)) + throw new PHPExcel_Exception($this->_DBHandle->lastErrorMsg()); + + // Copy the existing cell cache file + $this->_TableName = $tableName; + } // function copyCellCollection() + + + /** + * Clear the cell collection and disconnect from our parent + * + * @return void + */ + public function unsetWorksheetCells() { + if(!is_null($this->_currentObject)) { + $this->_currentObject->detach(); + $this->_currentObject = $this->_currentObjectID = null; + } + // detach ourself from the worksheet, so that it can then delete this object successfully + $this->_parent = null; + + // Close down the temporary cache file + $this->__destruct(); + } // function unsetWorksheetCells() + + + /** + * Initialise this new cell collection + * + * @param PHPExcel_Worksheet $parent The worksheet for this cell collection + */ + public function __construct(PHPExcel_Worksheet $parent) { + parent::__construct($parent); + if (is_null($this->_DBHandle)) { + $this->_TableName = str_replace('.','_',$this->_getUniqueID()); + $_DBName = ':memory:'; + + $this->_DBHandle = new SQLite3($_DBName); + if ($this->_DBHandle === false) + throw new PHPExcel_Exception($this->_DBHandle->lastErrorMsg()); + if (!$this->_DBHandle->exec('CREATE TABLE kvp_'.$this->_TableName.' (id VARCHAR(12) PRIMARY KEY, value BLOB)')) + throw new PHPExcel_Exception($this->_DBHandle->lastErrorMsg()); + } + + $this->_selectQuery = $this->_DBHandle->prepare("SELECT value FROM kvp_".$this->_TableName." WHERE id = :id"); + $this->_insertQuery = $this->_DBHandle->prepare("INSERT OR REPLACE INTO kvp_".$this->_TableName." VALUES(:id,:data)"); + $this->_updateQuery = $this->_DBHandle->prepare("UPDATE kvp_".$this->_TableName." SET id=:toId WHERE id=:fromId"); + $this->_deleteQuery = $this->_DBHandle->prepare("DELETE FROM kvp_".$this->_TableName." WHERE id = :id"); + } // function __construct() + + + /** + * Destroy this cell collection + */ + public function __destruct() { + if (!is_null($this->_DBHandle)) { + $this->_DBHandle->exec('DROP TABLE kvp_'.$this->_TableName); + $this->_DBHandle->close(); + } + $this->_DBHandle = null; + } // function __destruct() + + + /** + * Identify whether the caching method is currently available + * Some methods are dependent on the availability of certain extensions being enabled in the PHP build + * + * @return boolean + */ + public static function cacheMethodIsAvailable() { + if (!class_exists('SQLite3',FALSE)) { + return false; + } + + return true; + } + +} diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/CachedObjectStorage/Wincache.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/CachedObjectStorage/Wincache.php new file mode 100644 index 00000000..cdbef641 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/CachedObjectStorage/Wincache.php @@ -0,0 +1,294 @@ +_currentCellIsDirty && !empty($this->_currentObjectID)) { + $this->_currentObject->detach(); + + $obj = serialize($this->_currentObject); + if (wincache_ucache_exists($this->_cachePrefix.$this->_currentObjectID.'.cache')) { + if (!wincache_ucache_set($this->_cachePrefix.$this->_currentObjectID.'.cache', $obj, $this->_cacheTime)) { + $this->__destruct(); + throw new PHPExcel_Exception('Failed to store cell '.$this->_currentObjectID.' in WinCache'); + } + } else { + if (!wincache_ucache_add($this->_cachePrefix.$this->_currentObjectID.'.cache', $obj, $this->_cacheTime)) { + $this->__destruct(); + throw new PHPExcel_Exception('Failed to store cell '.$this->_currentObjectID.' in WinCache'); + } + } + $this->_currentCellIsDirty = false; + } + + $this->_currentObjectID = $this->_currentObject = null; + } // function _storeData() + + + /** + * Add or Update a cell in cache identified by coordinate address + * + * @param string $pCoord Coordinate address of the cell to update + * @param PHPExcel_Cell $cell Cell to update + * @return PHPExcel_Cell + * @throws PHPExcel_Exception + */ + public function addCacheData($pCoord, PHPExcel_Cell $cell) { + if (($pCoord !== $this->_currentObjectID) && ($this->_currentObjectID !== null)) { + $this->_storeData(); + } + $this->_cellCache[$pCoord] = true; + + $this->_currentObjectID = $pCoord; + $this->_currentObject = $cell; + $this->_currentCellIsDirty = true; + + return $cell; + } // function addCacheData() + + + /** + * Is a value set in the current PHPExcel_CachedObjectStorage_ICache for an indexed cell? + * + * @param string $pCoord Coordinate address of the cell to check + * @return boolean + */ + public function isDataSet($pCoord) { + // Check if the requested entry is the current object, or exists in the cache + if (parent::isDataSet($pCoord)) { + if ($this->_currentObjectID == $pCoord) { + return true; + } + // Check if the requested entry still exists in cache + $success = wincache_ucache_exists($this->_cachePrefix.$pCoord.'.cache'); + if ($success === false) { + // Entry no longer exists in Wincache, so clear it from the cache array + parent::deleteCacheData($pCoord); + throw new PHPExcel_Exception('Cell entry '.$pCoord.' no longer exists in WinCache'); + } + return true; + } + return false; + } // function isDataSet() + + + /** + * Get cell at a specific coordinate + * + * @param string $pCoord Coordinate of the cell + * @throws PHPExcel_Exception + * @return PHPExcel_Cell Cell that was found, or null if not found + */ + public function getCacheData($pCoord) { + if ($pCoord === $this->_currentObjectID) { + return $this->_currentObject; + } + $this->_storeData(); + + // Check if the entry that has been requested actually exists + $obj = null; + if (parent::isDataSet($pCoord)) { + $success = false; + $obj = wincache_ucache_get($this->_cachePrefix.$pCoord.'.cache', $success); + if ($success === false) { + // Entry no longer exists in WinCache, so clear it from the cache array + parent::deleteCacheData($pCoord); + throw new PHPExcel_Exception('Cell entry '.$pCoord.' no longer exists in WinCache'); + } + } else { + // Return null if requested entry doesn't exist in cache + return null; + } + + // Set current entry to the requested entry + $this->_currentObjectID = $pCoord; + $this->_currentObject = unserialize($obj); + // Re-attach this as the cell's parent + $this->_currentObject->attach($this); + + // Return requested entry + return $this->_currentObject; + } // function getCacheData() + + + /** + * Get a list of all cell addresses currently held in cache + * + * @return string[] + */ + public function getCellList() { + if ($this->_currentObjectID !== null) { + $this->_storeData(); + } + + return parent::getCellList(); + } + + + /** + * Delete a cell in cache identified by coordinate address + * + * @param string $pCoord Coordinate address of the cell to delete + * @throws PHPExcel_Exception + */ + public function deleteCacheData($pCoord) { + // Delete the entry from Wincache + wincache_ucache_delete($this->_cachePrefix.$pCoord.'.cache'); + + // Delete the entry from our cell address array + parent::deleteCacheData($pCoord); + } // function deleteCacheData() + + + /** + * Clone the cell collection + * + * @param PHPExcel_Worksheet $parent The new worksheet + * @return void + */ + public function copyCellCollection(PHPExcel_Worksheet $parent) { + parent::copyCellCollection($parent); + // Get a new id for the new file name + $baseUnique = $this->_getUniqueID(); + $newCachePrefix = substr(md5($baseUnique),0,8).'.'; + $cacheList = $this->getCellList(); + foreach($cacheList as $cellID) { + if ($cellID != $this->_currentObjectID) { + $success = false; + $obj = wincache_ucache_get($this->_cachePrefix.$cellID.'.cache', $success); + if ($success === false) { + // Entry no longer exists in WinCache, so clear it from the cache array + parent::deleteCacheData($cellID); + throw new PHPExcel_Exception('Cell entry '.$cellID.' no longer exists in Wincache'); + } + if (!wincache_ucache_add($newCachePrefix.$cellID.'.cache', $obj, $this->_cacheTime)) { + $this->__destruct(); + throw new PHPExcel_Exception('Failed to store cell '.$cellID.' in Wincache'); + } + } + } + $this->_cachePrefix = $newCachePrefix; + } // function copyCellCollection() + + + /** + * Clear the cell collection and disconnect from our parent + * + * @return void + */ + public function unsetWorksheetCells() { + if(!is_null($this->_currentObject)) { + $this->_currentObject->detach(); + $this->_currentObject = $this->_currentObjectID = null; + } + + // Flush the WinCache cache + $this->__destruct(); + + $this->_cellCache = array(); + + // detach ourself from the worksheet, so that it can then delete this object successfully + $this->_parent = null; + } // function unsetWorksheetCells() + + + /** + * Initialise this new cell collection + * + * @param PHPExcel_Worksheet $parent The worksheet for this cell collection + * @param array of mixed $arguments Additional initialisation arguments + */ + public function __construct(PHPExcel_Worksheet $parent, $arguments) { + $cacheTime = (isset($arguments['cacheTime'])) ? $arguments['cacheTime'] : 600; + + if (is_null($this->_cachePrefix)) { + $baseUnique = $this->_getUniqueID(); + $this->_cachePrefix = substr(md5($baseUnique),0,8).'.'; + $this->_cacheTime = $cacheTime; + + parent::__construct($parent); + } + } // function __construct() + + + /** + * Destroy this cell collection + */ + public function __destruct() { + $cacheList = $this->getCellList(); + foreach($cacheList as $cellID) { + wincache_ucache_delete($this->_cachePrefix.$cellID.'.cache'); + } + } // function __destruct() + + + /** + * Identify whether the caching method is currently available + * Some methods are dependent on the availability of certain extensions being enabled in the PHP build + * + * @return boolean + */ + public static function cacheMethodIsAvailable() { + if (!function_exists('wincache_ucache_add')) { + return false; + } + + return true; + } + +} diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/CachedObjectStorageFactory.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/CachedObjectStorageFactory.php new file mode 100644 index 00000000..2da92346 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/CachedObjectStorageFactory.php @@ -0,0 +1,251 @@ + array( + ), + self::cache_in_memory_gzip => array( + ), + self::cache_in_memory_serialized => array( + ), + self::cache_igbinary => array( + ), + self::cache_to_phpTemp => array( 'memoryCacheSize' => '1MB' + ), + self::cache_to_discISAM => array( 'dir' => NULL + ), + self::cache_to_apc => array( 'cacheTime' => 600 + ), + self::cache_to_memcache => array( 'memcacheServer' => 'localhost', + 'memcachePort' => 11211, + 'cacheTime' => 600 + ), + self::cache_to_wincache => array( 'cacheTime' => 600 + ), + self::cache_to_sqlite => array( + ), + self::cache_to_sqlite3 => array( + ), + ); + + + /** + * Arguments for the active cache storage method + * + * @var array of mixed array + */ + private static $_storageMethodParameters = array(); + + + /** + * Return the current cache storage method + * + * @return string|NULL + **/ + public static function getCacheStorageMethod() + { + return self::$_cacheStorageMethod; + } // function getCacheStorageMethod() + + + /** + * Return the current cache storage class + * + * @return PHPExcel_CachedObjectStorage_ICache|NULL + **/ + public static function getCacheStorageClass() + { + return self::$_cacheStorageClass; + } // function getCacheStorageClass() + + + /** + * Return the list of all possible cache storage methods + * + * @return string[] + **/ + public static function getAllCacheStorageMethods() + { + return self::$_storageMethods; + } // function getCacheStorageMethods() + + + /** + * Return the list of all available cache storage methods + * + * @return string[] + **/ + public static function getCacheStorageMethods() + { + $activeMethods = array(); + foreach(self::$_storageMethods as $storageMethod) { + $cacheStorageClass = 'PHPExcel_CachedObjectStorage_' . $storageMethod; + if (call_user_func(array($cacheStorageClass, 'cacheMethodIsAvailable'))) { + $activeMethods[] = $storageMethod; + } + } + return $activeMethods; + } // function getCacheStorageMethods() + + + /** + * Identify the cache storage method to use + * + * @param string $method Name of the method to use for cell cacheing + * @param array of mixed $arguments Additional arguments to pass to the cell caching class + * when instantiating + * @return boolean + **/ + public static function initialize($method = self::cache_in_memory, $arguments = array()) + { + if (!in_array($method,self::$_storageMethods)) { + return FALSE; + } + + $cacheStorageClass = 'PHPExcel_CachedObjectStorage_'.$method; + if (!call_user_func(array( $cacheStorageClass, + 'cacheMethodIsAvailable'))) { + return FALSE; + } + + self::$_storageMethodParameters[$method] = self::$_storageMethodDefaultParameters[$method]; + foreach($arguments as $k => $v) { + if (array_key_exists($k, self::$_storageMethodParameters[$method])) { + self::$_storageMethodParameters[$method][$k] = $v; + } + } + + if (self::$_cacheStorageMethod === NULL) { + self::$_cacheStorageClass = 'PHPExcel_CachedObjectStorage_' . $method; + self::$_cacheStorageMethod = $method; + } + return TRUE; + } // function initialize() + + + /** + * Initialise the cache storage + * + * @param PHPExcel_Worksheet $parent Enable cell caching for this worksheet + * @return PHPExcel_CachedObjectStorage_ICache + **/ + public static function getInstance(PHPExcel_Worksheet $parent) + { + $cacheMethodIsAvailable = TRUE; + if (self::$_cacheStorageMethod === NULL) { + $cacheMethodIsAvailable = self::initialize(); + } + + if ($cacheMethodIsAvailable) { + $instance = new self::$_cacheStorageClass( $parent, + self::$_storageMethodParameters[self::$_cacheStorageMethod] + ); + if ($instance !== NULL) { + return $instance; + } + } + + return FALSE; + } // function getInstance() + + + /** + * Clear the cache storage + * + **/ + public static function finalize() + { + self::$_cacheStorageMethod = NULL; + self::$_cacheStorageClass = NULL; + self::$_storageMethodParameters = array(); + } + +} diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/CalcEngine/CyclicReferenceStack.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/CalcEngine/CyclicReferenceStack.php new file mode 100644 index 00000000..5cd0b909 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/CalcEngine/CyclicReferenceStack.php @@ -0,0 +1,98 @@ +_stack); + } + + /** + * Push a new entry onto the stack + * + * @param mixed $value + */ + public function push($value) { + $this->_stack[$value] = $value; + } + + /** + * Pop the last entry from the stack + * + * @return mixed + */ + public function pop() { + return array_pop($this->_stack); + } + + /** + * Test to see if a specified entry exists on the stack + * + * @param mixed $value The value to test + */ + public function onStack($value) { + return isset($this->_stack[$value]); + } + + /** + * Clear the stack + */ + public function clear() { + $this->_stack = array(); + } + + /** + * Return an array of all entries on the stack + * + * @return mixed[] + */ + public function showStack() { + return $this->_stack; + } + +} diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/CalcEngine/Logger.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/CalcEngine/Logger.php new file mode 100644 index 00000000..fe43ae4f --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/CalcEngine/Logger.php @@ -0,0 +1,153 @@ +_cellStack = $stack; + } + + /** + * Enable/Disable Calculation engine logging + * + * @param boolean $pValue + */ + public function setWriteDebugLog($pValue = FALSE) { + $this->_writeDebugLog = $pValue; + } + + /** + * Return whether calculation engine logging is enabled or disabled + * + * @return boolean + */ + public function getWriteDebugLog() { + return $this->_writeDebugLog; + } + + /** + * Enable/Disable echoing of debug log information + * + * @param boolean $pValue + */ + public function setEchoDebugLog($pValue = FALSE) { + $this->_echoDebugLog = $pValue; + } + + /** + * Return whether echoing of debug log information is enabled or disabled + * + * @return boolean + */ + public function getEchoDebugLog() { + return $this->_echoDebugLog; + } + + /** + * Write an entry to the calculation engine debug log + */ + public function writeDebugLog() { + // Only write the debug log if logging is enabled + if ($this->_writeDebugLog) { + $message = implode(func_get_args()); + $cellReference = implode(' -> ', $this->_cellStack->showStack()); + if ($this->_echoDebugLog) { + echo $cellReference, + ($this->_cellStack->count() > 0 ? ' => ' : ''), + $message, + PHP_EOL; + } + $this->_debugLog[] = $cellReference . + ($this->_cellStack->count() > 0 ? ' => ' : '') . + $message; + } + } // function _writeDebug() + + /** + * Clear the calculation engine debug log + */ + public function clearLog() { + $this->_debugLog = array(); + } // function flushLogger() + + /** + * Return the calculation engine debug log + * + * @return string[] + */ + public function getLog() { + return $this->_debugLog; + } // function flushLogger() + +} // class PHPExcel_CalcEngine_Logger + diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Calculation.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Calculation.php new file mode 100644 index 00000000..48fb4a42 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Calculation.php @@ -0,0 +1,3952 @@ +=-]*)|(\'[^\']*\')|(\"[^\"]*\"))!)?\$?([a-z]{1,3})\$?(\d{1,7})'); + // Named Range of cells + define('CALCULATION_REGEXP_NAMEDRANGE','((([^\s,!&%^\/\*\+<>=-]*)|(\'[^\']*\')|(\"[^\"]*\"))!)?([_A-Z][_A-Z0-9\.]*)'); + } else { + // Cell reference (cell or range of cells, with or without a sheet reference) + define('CALCULATION_REGEXP_CELLREF','(((\w*)|(\'[^\']*\')|(\"[^\"]*\"))!)?\$?([a-z]{1,3})\$?(\d+)'); + // Named Range of cells + define('CALCULATION_REGEXP_NAMEDRANGE','(((\w*)|(\'.*\')|(\".*\"))!)?([_A-Z][_A-Z0-9\.]*)'); + } +} + + +/** + * PHPExcel_Calculation (Multiton) + * + * @category PHPExcel + * @package PHPExcel_Calculation + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + */ +class PHPExcel_Calculation { + + /** Constants */ + /** Regular Expressions */ + // Numeric operand + const CALCULATION_REGEXP_NUMBER = '[-+]?\d*\.?\d+(e[-+]?\d+)?'; + // String operand + const CALCULATION_REGEXP_STRING = '"(?:[^"]|"")*"'; + // Opening bracket + const CALCULATION_REGEXP_OPENBRACE = '\('; + // Function (allow for the old @ symbol that could be used to prefix a function, but we'll ignore it) + const CALCULATION_REGEXP_FUNCTION = '@?([A-Z][A-Z0-9\.]*)[\s]*\('; + // Cell reference (cell or range of cells, with or without a sheet reference) + const CALCULATION_REGEXP_CELLREF = CALCULATION_REGEXP_CELLREF; + // Named Range of cells + const CALCULATION_REGEXP_NAMEDRANGE = CALCULATION_REGEXP_NAMEDRANGE; + // Error + const CALCULATION_REGEXP_ERROR = '\#[A-Z][A-Z0_\/]*[!\?]?'; + + + /** constants */ + const RETURN_ARRAY_AS_ERROR = 'error'; + const RETURN_ARRAY_AS_VALUE = 'value'; + const RETURN_ARRAY_AS_ARRAY = 'array'; + + private static $returnArrayAsType = self::RETURN_ARRAY_AS_VALUE; + + + /** + * Instance of this class + * + * @access private + * @var PHPExcel_Calculation + */ + private static $_instance; + + + /** + * Instance of the workbook this Calculation Engine is using + * + * @access private + * @var PHPExcel + */ + private $_workbook; + + /** + * List of instances of the calculation engine that we've instantiated for individual workbooks + * + * @access private + * @var PHPExcel_Calculation[] + */ + private static $_workbookSets; + + /** + * Calculation cache + * + * @access private + * @var array + */ + private $_calculationCache = array (); + + + /** + * Calculation cache enabled + * + * @access private + * @var boolean + */ + private $_calculationCacheEnabled = TRUE; + + + /** + * List of operators that can be used within formulae + * The true/false value indicates whether it is a binary operator or a unary operator + * + * @access private + * @var array + */ + private static $_operators = array('+' => TRUE, '-' => TRUE, '*' => TRUE, '/' => TRUE, + '^' => TRUE, '&' => TRUE, '%' => FALSE, '~' => FALSE, + '>' => TRUE, '<' => TRUE, '=' => TRUE, '>=' => TRUE, + '<=' => TRUE, '<>' => TRUE, '|' => TRUE, ':' => TRUE + ); + + + /** + * List of binary operators (those that expect two operands) + * + * @access private + * @var array + */ + private static $_binaryOperators = array('+' => TRUE, '-' => TRUE, '*' => TRUE, '/' => TRUE, + '^' => TRUE, '&' => TRUE, '>' => TRUE, '<' => TRUE, + '=' => TRUE, '>=' => TRUE, '<=' => TRUE, '<>' => TRUE, + '|' => TRUE, ':' => TRUE + ); + + /** + * The debug log generated by the calculation engine + * + * @access private + * @var PHPExcel_CalcEngine_Logger + * + */ + private $debugLog; + + /** + * Flag to determine how formula errors should be handled + * If true, then a user error will be triggered + * If false, then an exception will be thrown + * + * @access public + * @var boolean + * + */ + public $suppressFormulaErrors = FALSE; + + /** + * Error message for any error that was raised/thrown by the calculation engine + * + * @access public + * @var string + * + */ + public $formulaError = NULL; + + /** + * An array of the nested cell references accessed by the calculation engine, used for the debug log + * + * @access private + * @var array of string + * + */ + private $_cyclicReferenceStack; + + private $_cellStack = array(); + + /** + * Current iteration counter for cyclic formulae + * If the value is 0 (or less) then cyclic formulae will throw an exception, + * otherwise they will iterate to the limit defined here before returning a result + * + * @var integer + * + */ + private $_cyclicFormulaCount = 1; + + private $_cyclicFormulaCell = ''; + + /** + * Number of iterations for cyclic formulae + * + * @var integer + * + */ + public $cyclicFormulaCount = 1; + + /** + * Precision used for calculations + * + * @var integer + * + */ + private $_savedPrecision = 14; + + + /** + * The current locale setting + * + * @var string + * + */ + private static $_localeLanguage = 'en_us'; // US English (default locale) + + /** + * List of available locale settings + * Note that this is read for the locale subdirectory only when requested + * + * @var string[] + * + */ + private static $_validLocaleLanguages = array( 'en' // English (default language) + ); + /** + * Locale-specific argument separator for function arguments + * + * @var string + * + */ + private static $_localeArgumentSeparator = ','; + private static $_localeFunctions = array(); + + /** + * Locale-specific translations for Excel constants (True, False and Null) + * + * @var string[] + * + */ + public static $_localeBoolean = array( 'TRUE' => 'TRUE', + 'FALSE' => 'FALSE', + 'NULL' => 'NULL' + ); + + + /** + * Excel constant string translations to their PHP equivalents + * Constant conversion from text name/value to actual (datatyped) value + * + * @var string[] + * + */ + private static $_ExcelConstants = array('TRUE' => TRUE, + 'FALSE' => FALSE, + 'NULL' => NULL + ); + + // PHPExcel functions + private static $_PHPExcelFunctions = array( // PHPExcel functions + 'ABS' => array('category' => PHPExcel_Calculation_Function::CATEGORY_MATH_AND_TRIG, + 'functionCall' => 'abs', + 'argumentCount' => '1' + ), + 'ACCRINT' => array('category' => PHPExcel_Calculation_Function::CATEGORY_FINANCIAL, + 'functionCall' => 'PHPExcel_Calculation_Financial::ACCRINT', + 'argumentCount' => '4-7' + ), + 'ACCRINTM' => array('category' => PHPExcel_Calculation_Function::CATEGORY_FINANCIAL, + 'functionCall' => 'PHPExcel_Calculation_Financial::ACCRINTM', + 'argumentCount' => '3-5' + ), + 'ACOS' => array('category' => PHPExcel_Calculation_Function::CATEGORY_MATH_AND_TRIG, + 'functionCall' => 'acos', + 'argumentCount' => '1' + ), + 'ACOSH' => array('category' => PHPExcel_Calculation_Function::CATEGORY_MATH_AND_TRIG, + 'functionCall' => 'acosh', + 'argumentCount' => '1' + ), + 'ADDRESS' => array('category' => PHPExcel_Calculation_Function::CATEGORY_LOOKUP_AND_REFERENCE, + 'functionCall' => 'PHPExcel_Calculation_LookupRef::CELL_ADDRESS', + 'argumentCount' => '2-5' + ), + 'AMORDEGRC' => array('category' => PHPExcel_Calculation_Function::CATEGORY_FINANCIAL, + 'functionCall' => 'PHPExcel_Calculation_Financial::AMORDEGRC', + 'argumentCount' => '6,7' + ), + 'AMORLINC' => array('category' => PHPExcel_Calculation_Function::CATEGORY_FINANCIAL, + 'functionCall' => 'PHPExcel_Calculation_Financial::AMORLINC', + 'argumentCount' => '6,7' + ), + 'AND' => array('category' => PHPExcel_Calculation_Function::CATEGORY_LOGICAL, + 'functionCall' => 'PHPExcel_Calculation_Logical::LOGICAL_AND', + 'argumentCount' => '1+' + ), + 'AREAS' => array('category' => PHPExcel_Calculation_Function::CATEGORY_LOOKUP_AND_REFERENCE, + 'functionCall' => 'PHPExcel_Calculation_Functions::DUMMY', + 'argumentCount' => '1' + ), + 'ASC' => array('category' => PHPExcel_Calculation_Function::CATEGORY_TEXT_AND_DATA, + 'functionCall' => 'PHPExcel_Calculation_Functions::DUMMY', + 'argumentCount' => '1' + ), + 'ASIN' => array('category' => PHPExcel_Calculation_Function::CATEGORY_MATH_AND_TRIG, + 'functionCall' => 'asin', + 'argumentCount' => '1' + ), + 'ASINH' => array('category' => PHPExcel_Calculation_Function::CATEGORY_MATH_AND_TRIG, + 'functionCall' => 'asinh', + 'argumentCount' => '1' + ), + 'ATAN' => array('category' => PHPExcel_Calculation_Function::CATEGORY_MATH_AND_TRIG, + 'functionCall' => 'atan', + 'argumentCount' => '1' + ), + 'ATAN2' => array('category' => PHPExcel_Calculation_Function::CATEGORY_MATH_AND_TRIG, + 'functionCall' => 'PHPExcel_Calculation_MathTrig::ATAN2', + 'argumentCount' => '2' + ), + 'ATANH' => array('category' => PHPExcel_Calculation_Function::CATEGORY_MATH_AND_TRIG, + 'functionCall' => 'atanh', + 'argumentCount' => '1' + ), + 'AVEDEV' => array('category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, + 'functionCall' => 'PHPExcel_Calculation_Statistical::AVEDEV', + 'argumentCount' => '1+' + ), + 'AVERAGE' => array('category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, + 'functionCall' => 'PHPExcel_Calculation_Statistical::AVERAGE', + 'argumentCount' => '1+' + ), + 'AVERAGEA' => array('category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, + 'functionCall' => 'PHPExcel_Calculation_Statistical::AVERAGEA', + 'argumentCount' => '1+' + ), + 'AVERAGEIF' => array('category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, + 'functionCall' => 'PHPExcel_Calculation_Statistical::AVERAGEIF', + 'argumentCount' => '2,3' + ), + 'AVERAGEIFS' => array('category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, + 'functionCall' => 'PHPExcel_Calculation_Functions::DUMMY', + 'argumentCount' => '3+' + ), + 'BAHTTEXT' => array('category' => PHPExcel_Calculation_Function::CATEGORY_TEXT_AND_DATA, + 'functionCall' => 'PHPExcel_Calculation_Functions::DUMMY', + 'argumentCount' => '1' + ), + 'BESSELI' => array('category' => PHPExcel_Calculation_Function::CATEGORY_ENGINEERING, + 'functionCall' => 'PHPExcel_Calculation_Engineering::BESSELI', + 'argumentCount' => '2' + ), + 'BESSELJ' => array('category' => PHPExcel_Calculation_Function::CATEGORY_ENGINEERING, + 'functionCall' => 'PHPExcel_Calculation_Engineering::BESSELJ', + 'argumentCount' => '2' + ), + 'BESSELK' => array('category' => PHPExcel_Calculation_Function::CATEGORY_ENGINEERING, + 'functionCall' => 'PHPExcel_Calculation_Engineering::BESSELK', + 'argumentCount' => '2' + ), + 'BESSELY' => array('category' => PHPExcel_Calculation_Function::CATEGORY_ENGINEERING, + 'functionCall' => 'PHPExcel_Calculation_Engineering::BESSELY', + 'argumentCount' => '2' + ), + 'BETADIST' => array('category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, + 'functionCall' => 'PHPExcel_Calculation_Statistical::BETADIST', + 'argumentCount' => '3-5' + ), + 'BETAINV' => array('category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, + 'functionCall' => 'PHPExcel_Calculation_Statistical::BETAINV', + 'argumentCount' => '3-5' + ), + 'BIN2DEC' => array('category' => PHPExcel_Calculation_Function::CATEGORY_ENGINEERING, + 'functionCall' => 'PHPExcel_Calculation_Engineering::BINTODEC', + 'argumentCount' => '1' + ), + 'BIN2HEX' => array('category' => PHPExcel_Calculation_Function::CATEGORY_ENGINEERING, + 'functionCall' => 'PHPExcel_Calculation_Engineering::BINTOHEX', + 'argumentCount' => '1,2' + ), + 'BIN2OCT' => array('category' => PHPExcel_Calculation_Function::CATEGORY_ENGINEERING, + 'functionCall' => 'PHPExcel_Calculation_Engineering::BINTOOCT', + 'argumentCount' => '1,2' + ), + 'BINOMDIST' => array('category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, + 'functionCall' => 'PHPExcel_Calculation_Statistical::BINOMDIST', + 'argumentCount' => '4' + ), + 'CEILING' => array('category' => PHPExcel_Calculation_Function::CATEGORY_MATH_AND_TRIG, + 'functionCall' => 'PHPExcel_Calculation_MathTrig::CEILING', + 'argumentCount' => '2' + ), + 'CELL' => array('category' => PHPExcel_Calculation_Function::CATEGORY_INFORMATION, + 'functionCall' => 'PHPExcel_Calculation_Functions::DUMMY', + 'argumentCount' => '1,2' + ), + 'CHAR' => array('category' => PHPExcel_Calculation_Function::CATEGORY_TEXT_AND_DATA, + 'functionCall' => 'PHPExcel_Calculation_TextData::CHARACTER', + 'argumentCount' => '1' + ), + 'CHIDIST' => array('category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, + 'functionCall' => 'PHPExcel_Calculation_Statistical::CHIDIST', + 'argumentCount' => '2' + ), + 'CHIINV' => array('category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, + 'functionCall' => 'PHPExcel_Calculation_Statistical::CHIINV', + 'argumentCount' => '2' + ), + 'CHITEST' => array('category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, + 'functionCall' => 'PHPExcel_Calculation_Functions::DUMMY', + 'argumentCount' => '2' + ), + 'CHOOSE' => array('category' => PHPExcel_Calculation_Function::CATEGORY_LOOKUP_AND_REFERENCE, + 'functionCall' => 'PHPExcel_Calculation_LookupRef::CHOOSE', + 'argumentCount' => '2+' + ), + 'CLEAN' => array('category' => PHPExcel_Calculation_Function::CATEGORY_TEXT_AND_DATA, + 'functionCall' => 'PHPExcel_Calculation_TextData::TRIMNONPRINTABLE', + 'argumentCount' => '1' + ), + 'CODE' => array('category' => PHPExcel_Calculation_Function::CATEGORY_TEXT_AND_DATA, + 'functionCall' => 'PHPExcel_Calculation_TextData::ASCIICODE', + 'argumentCount' => '1' + ), + 'COLUMN' => array('category' => PHPExcel_Calculation_Function::CATEGORY_LOOKUP_AND_REFERENCE, + 'functionCall' => 'PHPExcel_Calculation_LookupRef::COLUMN', + 'argumentCount' => '-1', + 'passByReference' => array(TRUE) + ), + 'COLUMNS' => array('category' => PHPExcel_Calculation_Function::CATEGORY_LOOKUP_AND_REFERENCE, + 'functionCall' => 'PHPExcel_Calculation_LookupRef::COLUMNS', + 'argumentCount' => '1' + ), + 'COMBIN' => array('category' => PHPExcel_Calculation_Function::CATEGORY_MATH_AND_TRIG, + 'functionCall' => 'PHPExcel_Calculation_MathTrig::COMBIN', + 'argumentCount' => '2' + ), + 'COMPLEX' => array('category' => PHPExcel_Calculation_Function::CATEGORY_ENGINEERING, + 'functionCall' => 'PHPExcel_Calculation_Engineering::COMPLEX', + 'argumentCount' => '2,3' + ), + 'CONCATENATE' => array('category' => PHPExcel_Calculation_Function::CATEGORY_TEXT_AND_DATA, + 'functionCall' => 'PHPExcel_Calculation_TextData::CONCATENATE', + 'argumentCount' => '1+' + ), + 'CONFIDENCE' => array('category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, + 'functionCall' => 'PHPExcel_Calculation_Statistical::CONFIDENCE', + 'argumentCount' => '3' + ), + 'CONVERT' => array('category' => PHPExcel_Calculation_Function::CATEGORY_ENGINEERING, + 'functionCall' => 'PHPExcel_Calculation_Engineering::CONVERTUOM', + 'argumentCount' => '3' + ), + 'CORREL' => array('category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, + 'functionCall' => 'PHPExcel_Calculation_Statistical::CORREL', + 'argumentCount' => '2' + ), + 'COS' => array('category' => PHPExcel_Calculation_Function::CATEGORY_MATH_AND_TRIG, + 'functionCall' => 'cos', + 'argumentCount' => '1' + ), + 'COSH' => array('category' => PHPExcel_Calculation_Function::CATEGORY_MATH_AND_TRIG, + 'functionCall' => 'cosh', + 'argumentCount' => '1' + ), + 'COUNT' => array('category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, + 'functionCall' => 'PHPExcel_Calculation_Statistical::COUNT', + 'argumentCount' => '1+' + ), + 'COUNTA' => array('category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, + 'functionCall' => 'PHPExcel_Calculation_Statistical::COUNTA', + 'argumentCount' => '1+' + ), + 'COUNTBLANK' => array('category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, + 'functionCall' => 'PHPExcel_Calculation_Statistical::COUNTBLANK', + 'argumentCount' => '1' + ), + 'COUNTIF' => array('category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, + 'functionCall' => 'PHPExcel_Calculation_Statistical::COUNTIF', + 'argumentCount' => '2' + ), + 'COUNTIFS' => array('category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, + 'functionCall' => 'PHPExcel_Calculation_Functions::DUMMY', + 'argumentCount' => '2' + ), + 'COUPDAYBS' => array('category' => PHPExcel_Calculation_Function::CATEGORY_FINANCIAL, + 'functionCall' => 'PHPExcel_Calculation_Financial::COUPDAYBS', + 'argumentCount' => '3,4' + ), + 'COUPDAYS' => array('category' => PHPExcel_Calculation_Function::CATEGORY_FINANCIAL, + 'functionCall' => 'PHPExcel_Calculation_Financial::COUPDAYS', + 'argumentCount' => '3,4' + ), + 'COUPDAYSNC' => array('category' => PHPExcel_Calculation_Function::CATEGORY_FINANCIAL, + 'functionCall' => 'PHPExcel_Calculation_Financial::COUPDAYSNC', + 'argumentCount' => '3,4' + ), + 'COUPNCD' => array('category' => PHPExcel_Calculation_Function::CATEGORY_FINANCIAL, + 'functionCall' => 'PHPExcel_Calculation_Financial::COUPNCD', + 'argumentCount' => '3,4' + ), + 'COUPNUM' => array('category' => PHPExcel_Calculation_Function::CATEGORY_FINANCIAL, + 'functionCall' => 'PHPExcel_Calculation_Financial::COUPNUM', + 'argumentCount' => '3,4' + ), + 'COUPPCD' => array('category' => PHPExcel_Calculation_Function::CATEGORY_FINANCIAL, + 'functionCall' => 'PHPExcel_Calculation_Financial::COUPPCD', + 'argumentCount' => '3,4' + ), + 'COVAR' => array('category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, + 'functionCall' => 'PHPExcel_Calculation_Statistical::COVAR', + 'argumentCount' => '2' + ), + 'CRITBINOM' => array('category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, + 'functionCall' => 'PHPExcel_Calculation_Statistical::CRITBINOM', + 'argumentCount' => '3' + ), + 'CUBEKPIMEMBER' => array('category' => PHPExcel_Calculation_Function::CATEGORY_CUBE, + 'functionCall' => 'PHPExcel_Calculation_Functions::DUMMY', + 'argumentCount' => '?' + ), + 'CUBEMEMBER' => array('category' => PHPExcel_Calculation_Function::CATEGORY_CUBE, + 'functionCall' => 'PHPExcel_Calculation_Functions::DUMMY', + 'argumentCount' => '?' + ), + 'CUBEMEMBERPROPERTY' => array('category' => PHPExcel_Calculation_Function::CATEGORY_CUBE, + 'functionCall' => 'PHPExcel_Calculation_Functions::DUMMY', + 'argumentCount' => '?' + ), + 'CUBERANKEDMEMBER' => array('category' => PHPExcel_Calculation_Function::CATEGORY_CUBE, + 'functionCall' => 'PHPExcel_Calculation_Functions::DUMMY', + 'argumentCount' => '?' + ), + 'CUBESET' => array('category' => PHPExcel_Calculation_Function::CATEGORY_CUBE, + 'functionCall' => 'PHPExcel_Calculation_Functions::DUMMY', + 'argumentCount' => '?' + ), + 'CUBESETCOUNT' => array('category' => PHPExcel_Calculation_Function::CATEGORY_CUBE, + 'functionCall' => 'PHPExcel_Calculation_Functions::DUMMY', + 'argumentCount' => '?' + ), + 'CUBEVALUE' => array('category' => PHPExcel_Calculation_Function::CATEGORY_CUBE, + 'functionCall' => 'PHPExcel_Calculation_Functions::DUMMY', + 'argumentCount' => '?' + ), + 'CUMIPMT' => array('category' => PHPExcel_Calculation_Function::CATEGORY_FINANCIAL, + 'functionCall' => 'PHPExcel_Calculation_Financial::CUMIPMT', + 'argumentCount' => '6' + ), + 'CUMPRINC' => array('category' => PHPExcel_Calculation_Function::CATEGORY_FINANCIAL, + 'functionCall' => 'PHPExcel_Calculation_Financial::CUMPRINC', + 'argumentCount' => '6' + ), + 'DATE' => array('category' => PHPExcel_Calculation_Function::CATEGORY_DATE_AND_TIME, + 'functionCall' => 'PHPExcel_Calculation_DateTime::DATE', + 'argumentCount' => '3' + ), + 'DATEDIF' => array('category' => PHPExcel_Calculation_Function::CATEGORY_DATE_AND_TIME, + 'functionCall' => 'PHPExcel_Calculation_DateTime::DATEDIF', + 'argumentCount' => '2,3' + ), + 'DATEVALUE' => array('category' => PHPExcel_Calculation_Function::CATEGORY_DATE_AND_TIME, + 'functionCall' => 'PHPExcel_Calculation_DateTime::DATEVALUE', + 'argumentCount' => '1' + ), + 'DAVERAGE' => array('category' => PHPExcel_Calculation_Function::CATEGORY_DATABASE, + 'functionCall' => 'PHPExcel_Calculation_Database::DAVERAGE', + 'argumentCount' => '3' + ), + 'DAY' => array('category' => PHPExcel_Calculation_Function::CATEGORY_DATE_AND_TIME, + 'functionCall' => 'PHPExcel_Calculation_DateTime::DAYOFMONTH', + 'argumentCount' => '1' + ), + 'DAYS360' => array('category' => PHPExcel_Calculation_Function::CATEGORY_DATE_AND_TIME, + 'functionCall' => 'PHPExcel_Calculation_DateTime::DAYS360', + 'argumentCount' => '2,3' + ), + 'DB' => array('category' => PHPExcel_Calculation_Function::CATEGORY_FINANCIAL, + 'functionCall' => 'PHPExcel_Calculation_Financial::DB', + 'argumentCount' => '4,5' + ), + 'DCOUNT' => array('category' => PHPExcel_Calculation_Function::CATEGORY_DATABASE, + 'functionCall' => 'PHPExcel_Calculation_Database::DCOUNT', + 'argumentCount' => '3' + ), + 'DCOUNTA' => array('category' => PHPExcel_Calculation_Function::CATEGORY_DATABASE, + 'functionCall' => 'PHPExcel_Calculation_Database::DCOUNTA', + 'argumentCount' => '3' + ), + 'DDB' => array('category' => PHPExcel_Calculation_Function::CATEGORY_FINANCIAL, + 'functionCall' => 'PHPExcel_Calculation_Financial::DDB', + 'argumentCount' => '4,5' + ), + 'DEC2BIN' => array('category' => PHPExcel_Calculation_Function::CATEGORY_ENGINEERING, + 'functionCall' => 'PHPExcel_Calculation_Engineering::DECTOBIN', + 'argumentCount' => '1,2' + ), + 'DEC2HEX' => array('category' => PHPExcel_Calculation_Function::CATEGORY_ENGINEERING, + 'functionCall' => 'PHPExcel_Calculation_Engineering::DECTOHEX', + 'argumentCount' => '1,2' + ), + 'DEC2OCT' => array('category' => PHPExcel_Calculation_Function::CATEGORY_ENGINEERING, + 'functionCall' => 'PHPExcel_Calculation_Engineering::DECTOOCT', + 'argumentCount' => '1,2' + ), + 'DEGREES' => array('category' => PHPExcel_Calculation_Function::CATEGORY_MATH_AND_TRIG, + 'functionCall' => 'rad2deg', + 'argumentCount' => '1' + ), + 'DELTA' => array('category' => PHPExcel_Calculation_Function::CATEGORY_ENGINEERING, + 'functionCall' => 'PHPExcel_Calculation_Engineering::DELTA', + 'argumentCount' => '1,2' + ), + 'DEVSQ' => array('category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, + 'functionCall' => 'PHPExcel_Calculation_Statistical::DEVSQ', + 'argumentCount' => '1+' + ), + 'DGET' => array('category' => PHPExcel_Calculation_Function::CATEGORY_DATABASE, + 'functionCall' => 'PHPExcel_Calculation_Database::DGET', + 'argumentCount' => '3' + ), + 'DISC' => array('category' => PHPExcel_Calculation_Function::CATEGORY_FINANCIAL, + 'functionCall' => 'PHPExcel_Calculation_Financial::DISC', + 'argumentCount' => '4,5' + ), + 'DMAX' => array('category' => PHPExcel_Calculation_Function::CATEGORY_DATABASE, + 'functionCall' => 'PHPExcel_Calculation_Database::DMAX', + 'argumentCount' => '3' + ), + 'DMIN' => array('category' => PHPExcel_Calculation_Function::CATEGORY_DATABASE, + 'functionCall' => 'PHPExcel_Calculation_Database::DMIN', + 'argumentCount' => '3' + ), + 'DOLLAR' => array('category' => PHPExcel_Calculation_Function::CATEGORY_TEXT_AND_DATA, + 'functionCall' => 'PHPExcel_Calculation_TextData::DOLLAR', + 'argumentCount' => '1,2' + ), + 'DOLLARDE' => array('category' => PHPExcel_Calculation_Function::CATEGORY_FINANCIAL, + 'functionCall' => 'PHPExcel_Calculation_Financial::DOLLARDE', + 'argumentCount' => '2' + ), + 'DOLLARFR' => array('category' => PHPExcel_Calculation_Function::CATEGORY_FINANCIAL, + 'functionCall' => 'PHPExcel_Calculation_Financial::DOLLARFR', + 'argumentCount' => '2' + ), + 'DPRODUCT' => array('category' => PHPExcel_Calculation_Function::CATEGORY_DATABASE, + 'functionCall' => 'PHPExcel_Calculation_Database::DPRODUCT', + 'argumentCount' => '3' + ), + 'DSTDEV' => array('category' => PHPExcel_Calculation_Function::CATEGORY_DATABASE, + 'functionCall' => 'PHPExcel_Calculation_Database::DSTDEV', + 'argumentCount' => '3' + ), + 'DSTDEVP' => array('category' => PHPExcel_Calculation_Function::CATEGORY_DATABASE, + 'functionCall' => 'PHPExcel_Calculation_Database::DSTDEVP', + 'argumentCount' => '3' + ), + 'DSUM' => array('category' => PHPExcel_Calculation_Function::CATEGORY_DATABASE, + 'functionCall' => 'PHPExcel_Calculation_Database::DSUM', + 'argumentCount' => '3' + ), + 'DURATION' => array('category' => PHPExcel_Calculation_Function::CATEGORY_FINANCIAL, + 'functionCall' => 'PHPExcel_Calculation_Functions::DUMMY', + 'argumentCount' => '5,6' + ), + 'DVAR' => array('category' => PHPExcel_Calculation_Function::CATEGORY_DATABASE, + 'functionCall' => 'PHPExcel_Calculation_Database::DVAR', + 'argumentCount' => '3' + ), + 'DVARP' => array('category' => PHPExcel_Calculation_Function::CATEGORY_DATABASE, + 'functionCall' => 'PHPExcel_Calculation_Database::DVARP', + 'argumentCount' => '3' + ), + 'EDATE' => array('category' => PHPExcel_Calculation_Function::CATEGORY_DATE_AND_TIME, + 'functionCall' => 'PHPExcel_Calculation_DateTime::EDATE', + 'argumentCount' => '2' + ), + 'EFFECT' => array('category' => PHPExcel_Calculation_Function::CATEGORY_FINANCIAL, + 'functionCall' => 'PHPExcel_Calculation_Financial::EFFECT', + 'argumentCount' => '2' + ), + 'EOMONTH' => array('category' => PHPExcel_Calculation_Function::CATEGORY_DATE_AND_TIME, + 'functionCall' => 'PHPExcel_Calculation_DateTime::EOMONTH', + 'argumentCount' => '2' + ), + 'ERF' => array('category' => PHPExcel_Calculation_Function::CATEGORY_ENGINEERING, + 'functionCall' => 'PHPExcel_Calculation_Engineering::ERF', + 'argumentCount' => '1,2' + ), + 'ERFC' => array('category' => PHPExcel_Calculation_Function::CATEGORY_ENGINEERING, + 'functionCall' => 'PHPExcel_Calculation_Engineering::ERFC', + 'argumentCount' => '1' + ), + 'ERROR.TYPE' => array('category' => PHPExcel_Calculation_Function::CATEGORY_INFORMATION, + 'functionCall' => 'PHPExcel_Calculation_Functions::ERROR_TYPE', + 'argumentCount' => '1' + ), + 'EVEN' => array('category' => PHPExcel_Calculation_Function::CATEGORY_MATH_AND_TRIG, + 'functionCall' => 'PHPExcel_Calculation_MathTrig::EVEN', + 'argumentCount' => '1' + ), + 'EXACT' => array('category' => PHPExcel_Calculation_Function::CATEGORY_TEXT_AND_DATA, + 'functionCall' => 'PHPExcel_Calculation_Functions::DUMMY', + 'argumentCount' => '2' + ), + 'EXP' => array('category' => PHPExcel_Calculation_Function::CATEGORY_MATH_AND_TRIG, + 'functionCall' => 'exp', + 'argumentCount' => '1' + ), + 'EXPONDIST' => array('category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, + 'functionCall' => 'PHPExcel_Calculation_Statistical::EXPONDIST', + 'argumentCount' => '3' + ), + 'FACT' => array('category' => PHPExcel_Calculation_Function::CATEGORY_MATH_AND_TRIG, + 'functionCall' => 'PHPExcel_Calculation_MathTrig::FACT', + 'argumentCount' => '1' + ), + 'FACTDOUBLE' => array('category' => PHPExcel_Calculation_Function::CATEGORY_MATH_AND_TRIG, + 'functionCall' => 'PHPExcel_Calculation_MathTrig::FACTDOUBLE', + 'argumentCount' => '1' + ), + 'FALSE' => array('category' => PHPExcel_Calculation_Function::CATEGORY_LOGICAL, + 'functionCall' => 'PHPExcel_Calculation_Logical::FALSE', + 'argumentCount' => '0' + ), + 'FDIST' => array('category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, + 'functionCall' => 'PHPExcel_Calculation_Functions::DUMMY', + 'argumentCount' => '3' + ), + 'FIND' => array('category' => PHPExcel_Calculation_Function::CATEGORY_TEXT_AND_DATA, + 'functionCall' => 'PHPExcel_Calculation_TextData::SEARCHSENSITIVE', + 'argumentCount' => '2,3' + ), + 'FINDB' => array('category' => PHPExcel_Calculation_Function::CATEGORY_TEXT_AND_DATA, + 'functionCall' => 'PHPExcel_Calculation_TextData::SEARCHSENSITIVE', + 'argumentCount' => '2,3' + ), + 'FINV' => array('category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, + 'functionCall' => 'PHPExcel_Calculation_Functions::DUMMY', + 'argumentCount' => '3' + ), + 'FISHER' => array('category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, + 'functionCall' => 'PHPExcel_Calculation_Statistical::FISHER', + 'argumentCount' => '1' + ), + 'FISHERINV' => array('category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, + 'functionCall' => 'PHPExcel_Calculation_Statistical::FISHERINV', + 'argumentCount' => '1' + ), + 'FIXED' => array('category' => PHPExcel_Calculation_Function::CATEGORY_TEXT_AND_DATA, + 'functionCall' => 'PHPExcel_Calculation_TextData::FIXEDFORMAT', + 'argumentCount' => '1-3' + ), + 'FLOOR' => array('category' => PHPExcel_Calculation_Function::CATEGORY_MATH_AND_TRIG, + 'functionCall' => 'PHPExcel_Calculation_MathTrig::FLOOR', + 'argumentCount' => '2' + ), + 'FORECAST' => array('category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, + 'functionCall' => 'PHPExcel_Calculation_Statistical::FORECAST', + 'argumentCount' => '3' + ), + 'FREQUENCY' => array('category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, + 'functionCall' => 'PHPExcel_Calculation_Functions::DUMMY', + 'argumentCount' => '2' + ), + 'FTEST' => array('category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, + 'functionCall' => 'PHPExcel_Calculation_Functions::DUMMY', + 'argumentCount' => '2' + ), + 'FV' => array('category' => PHPExcel_Calculation_Function::CATEGORY_FINANCIAL, + 'functionCall' => 'PHPExcel_Calculation_Financial::FV', + 'argumentCount' => '3-5' + ), + 'FVSCHEDULE' => array('category' => PHPExcel_Calculation_Function::CATEGORY_FINANCIAL, + 'functionCall' => 'PHPExcel_Calculation_Financial::FVSCHEDULE', + 'argumentCount' => '2' + ), + 'GAMMADIST' => array('category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, + 'functionCall' => 'PHPExcel_Calculation_Statistical::GAMMADIST', + 'argumentCount' => '4' + ), + 'GAMMAINV' => array('category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, + 'functionCall' => 'PHPExcel_Calculation_Statistical::GAMMAINV', + 'argumentCount' => '3' + ), + 'GAMMALN' => array('category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, + 'functionCall' => 'PHPExcel_Calculation_Statistical::GAMMALN', + 'argumentCount' => '1' + ), + 'GCD' => array('category' => PHPExcel_Calculation_Function::CATEGORY_MATH_AND_TRIG, + 'functionCall' => 'PHPExcel_Calculation_MathTrig::GCD', + 'argumentCount' => '1+' + ), + 'GEOMEAN' => array('category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, + 'functionCall' => 'PHPExcel_Calculation_Statistical::GEOMEAN', + 'argumentCount' => '1+' + ), + 'GESTEP' => array('category' => PHPExcel_Calculation_Function::CATEGORY_ENGINEERING, + 'functionCall' => 'PHPExcel_Calculation_Engineering::GESTEP', + 'argumentCount' => '1,2' + ), + 'GETPIVOTDATA' => array('category' => PHPExcel_Calculation_Function::CATEGORY_LOOKUP_AND_REFERENCE, + 'functionCall' => 'PHPExcel_Calculation_Functions::DUMMY', + 'argumentCount' => '2+' + ), + 'GROWTH' => array('category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, + 'functionCall' => 'PHPExcel_Calculation_Statistical::GROWTH', + 'argumentCount' => '1-4' + ), + 'HARMEAN' => array('category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, + 'functionCall' => 'PHPExcel_Calculation_Statistical::HARMEAN', + 'argumentCount' => '1+' + ), + 'HEX2BIN' => array('category' => PHPExcel_Calculation_Function::CATEGORY_ENGINEERING, + 'functionCall' => 'PHPExcel_Calculation_Engineering::HEXTOBIN', + 'argumentCount' => '1,2' + ), + 'HEX2DEC' => array('category' => PHPExcel_Calculation_Function::CATEGORY_ENGINEERING, + 'functionCall' => 'PHPExcel_Calculation_Engineering::HEXTODEC', + 'argumentCount' => '1' + ), + 'HEX2OCT' => array('category' => PHPExcel_Calculation_Function::CATEGORY_ENGINEERING, + 'functionCall' => 'PHPExcel_Calculation_Engineering::HEXTOOCT', + 'argumentCount' => '1,2' + ), + 'HLOOKUP' => array('category' => PHPExcel_Calculation_Function::CATEGORY_LOOKUP_AND_REFERENCE, + 'functionCall' => 'PHPExcel_Calculation_LookupRef::HLOOKUP', + 'argumentCount' => '3,4' + ), + 'HOUR' => array('category' => PHPExcel_Calculation_Function::CATEGORY_DATE_AND_TIME, + 'functionCall' => 'PHPExcel_Calculation_DateTime::HOUROFDAY', + 'argumentCount' => '1' + ), + 'HYPERLINK' => array('category' => PHPExcel_Calculation_Function::CATEGORY_LOOKUP_AND_REFERENCE, + 'functionCall' => 'PHPExcel_Calculation_LookupRef::HYPERLINK', + 'argumentCount' => '1,2', + 'passCellReference'=> TRUE + ), + 'HYPGEOMDIST' => array('category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, + 'functionCall' => 'PHPExcel_Calculation_Statistical::HYPGEOMDIST', + 'argumentCount' => '4' + ), + 'IF' => array('category' => PHPExcel_Calculation_Function::CATEGORY_LOGICAL, + 'functionCall' => 'PHPExcel_Calculation_Logical::STATEMENT_IF', + 'argumentCount' => '1-3' + ), + 'IFERROR' => array('category' => PHPExcel_Calculation_Function::CATEGORY_LOGICAL, + 'functionCall' => 'PHPExcel_Calculation_Logical::IFERROR', + 'argumentCount' => '2' + ), + 'IMABS' => array('category' => PHPExcel_Calculation_Function::CATEGORY_ENGINEERING, + 'functionCall' => 'PHPExcel_Calculation_Engineering::IMABS', + 'argumentCount' => '1' + ), + 'IMAGINARY' => array('category' => PHPExcel_Calculation_Function::CATEGORY_ENGINEERING, + 'functionCall' => 'PHPExcel_Calculation_Engineering::IMAGINARY', + 'argumentCount' => '1' + ), + 'IMARGUMENT' => array('category' => PHPExcel_Calculation_Function::CATEGORY_ENGINEERING, + 'functionCall' => 'PHPExcel_Calculation_Engineering::IMARGUMENT', + 'argumentCount' => '1' + ), + 'IMCONJUGATE' => array('category' => PHPExcel_Calculation_Function::CATEGORY_ENGINEERING, + 'functionCall' => 'PHPExcel_Calculation_Engineering::IMCONJUGATE', + 'argumentCount' => '1' + ), + 'IMCOS' => array('category' => PHPExcel_Calculation_Function::CATEGORY_ENGINEERING, + 'functionCall' => 'PHPExcel_Calculation_Engineering::IMCOS', + 'argumentCount' => '1' + ), + 'IMDIV' => array('category' => PHPExcel_Calculation_Function::CATEGORY_ENGINEERING, + 'functionCall' => 'PHPExcel_Calculation_Engineering::IMDIV', + 'argumentCount' => '2' + ), + 'IMEXP' => array('category' => PHPExcel_Calculation_Function::CATEGORY_ENGINEERING, + 'functionCall' => 'PHPExcel_Calculation_Engineering::IMEXP', + 'argumentCount' => '1' + ), + 'IMLN' => array('category' => PHPExcel_Calculation_Function::CATEGORY_ENGINEERING, + 'functionCall' => 'PHPExcel_Calculation_Engineering::IMLN', + 'argumentCount' => '1' + ), + 'IMLOG10' => array('category' => PHPExcel_Calculation_Function::CATEGORY_ENGINEERING, + 'functionCall' => 'PHPExcel_Calculation_Engineering::IMLOG10', + 'argumentCount' => '1' + ), + 'IMLOG2' => array('category' => PHPExcel_Calculation_Function::CATEGORY_ENGINEERING, + 'functionCall' => 'PHPExcel_Calculation_Engineering::IMLOG2', + 'argumentCount' => '1' + ), + 'IMPOWER' => array('category' => PHPExcel_Calculation_Function::CATEGORY_ENGINEERING, + 'functionCall' => 'PHPExcel_Calculation_Engineering::IMPOWER', + 'argumentCount' => '2' + ), + 'IMPRODUCT' => array('category' => PHPExcel_Calculation_Function::CATEGORY_ENGINEERING, + 'functionCall' => 'PHPExcel_Calculation_Engineering::IMPRODUCT', + 'argumentCount' => '1+' + ), + 'IMREAL' => array('category' => PHPExcel_Calculation_Function::CATEGORY_ENGINEERING, + 'functionCall' => 'PHPExcel_Calculation_Engineering::IMREAL', + 'argumentCount' => '1' + ), + 'IMSIN' => array('category' => PHPExcel_Calculation_Function::CATEGORY_ENGINEERING, + 'functionCall' => 'PHPExcel_Calculation_Engineering::IMSIN', + 'argumentCount' => '1' + ), + 'IMSQRT' => array('category' => PHPExcel_Calculation_Function::CATEGORY_ENGINEERING, + 'functionCall' => 'PHPExcel_Calculation_Engineering::IMSQRT', + 'argumentCount' => '1' + ), + 'IMSUB' => array('category' => PHPExcel_Calculation_Function::CATEGORY_ENGINEERING, + 'functionCall' => 'PHPExcel_Calculation_Engineering::IMSUB', + 'argumentCount' => '2' + ), + 'IMSUM' => array('category' => PHPExcel_Calculation_Function::CATEGORY_ENGINEERING, + 'functionCall' => 'PHPExcel_Calculation_Engineering::IMSUM', + 'argumentCount' => '1+' + ), + 'INDEX' => array('category' => PHPExcel_Calculation_Function::CATEGORY_LOOKUP_AND_REFERENCE, + 'functionCall' => 'PHPExcel_Calculation_LookupRef::INDEX', + 'argumentCount' => '1-4' + ), + 'INDIRECT' => array('category' => PHPExcel_Calculation_Function::CATEGORY_LOOKUP_AND_REFERENCE, + 'functionCall' => 'PHPExcel_Calculation_LookupRef::INDIRECT', + 'argumentCount' => '1,2', + 'passCellReference'=> TRUE + ), + 'INFO' => array('category' => PHPExcel_Calculation_Function::CATEGORY_INFORMATION, + 'functionCall' => 'PHPExcel_Calculation_Functions::DUMMY', + 'argumentCount' => '1' + ), + 'INT' => array('category' => PHPExcel_Calculation_Function::CATEGORY_MATH_AND_TRIG, + 'functionCall' => 'PHPExcel_Calculation_MathTrig::INT', + 'argumentCount' => '1' + ), + 'INTERCEPT' => array('category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, + 'functionCall' => 'PHPExcel_Calculation_Statistical::INTERCEPT', + 'argumentCount' => '2' + ), + 'INTRATE' => array('category' => PHPExcel_Calculation_Function::CATEGORY_FINANCIAL, + 'functionCall' => 'PHPExcel_Calculation_Financial::INTRATE', + 'argumentCount' => '4,5' + ), + 'IPMT' => array('category' => PHPExcel_Calculation_Function::CATEGORY_FINANCIAL, + 'functionCall' => 'PHPExcel_Calculation_Financial::IPMT', + 'argumentCount' => '4-6' + ), + 'IRR' => array('category' => PHPExcel_Calculation_Function::CATEGORY_FINANCIAL, + 'functionCall' => 'PHPExcel_Calculation_Financial::IRR', + 'argumentCount' => '1,2' + ), + 'ISBLANK' => array('category' => PHPExcel_Calculation_Function::CATEGORY_INFORMATION, + 'functionCall' => 'PHPExcel_Calculation_Functions::IS_BLANK', + 'argumentCount' => '1' + ), + 'ISERR' => array('category' => PHPExcel_Calculation_Function::CATEGORY_INFORMATION, + 'functionCall' => 'PHPExcel_Calculation_Functions::IS_ERR', + 'argumentCount' => '1' + ), + 'ISERROR' => array('category' => PHPExcel_Calculation_Function::CATEGORY_INFORMATION, + 'functionCall' => 'PHPExcel_Calculation_Functions::IS_ERROR', + 'argumentCount' => '1' + ), + 'ISEVEN' => array('category' => PHPExcel_Calculation_Function::CATEGORY_INFORMATION, + 'functionCall' => 'PHPExcel_Calculation_Functions::IS_EVEN', + 'argumentCount' => '1' + ), + 'ISLOGICAL' => array('category' => PHPExcel_Calculation_Function::CATEGORY_INFORMATION, + 'functionCall' => 'PHPExcel_Calculation_Functions::IS_LOGICAL', + 'argumentCount' => '1' + ), + 'ISNA' => array('category' => PHPExcel_Calculation_Function::CATEGORY_INFORMATION, + 'functionCall' => 'PHPExcel_Calculation_Functions::IS_NA', + 'argumentCount' => '1' + ), + 'ISNONTEXT' => array('category' => PHPExcel_Calculation_Function::CATEGORY_INFORMATION, + 'functionCall' => 'PHPExcel_Calculation_Functions::IS_NONTEXT', + 'argumentCount' => '1' + ), + 'ISNUMBER' => array('category' => PHPExcel_Calculation_Function::CATEGORY_INFORMATION, + 'functionCall' => 'PHPExcel_Calculation_Functions::IS_NUMBER', + 'argumentCount' => '1' + ), + 'ISODD' => array('category' => PHPExcel_Calculation_Function::CATEGORY_INFORMATION, + 'functionCall' => 'PHPExcel_Calculation_Functions::IS_ODD', + 'argumentCount' => '1' + ), + 'ISPMT' => array('category' => PHPExcel_Calculation_Function::CATEGORY_FINANCIAL, + 'functionCall' => 'PHPExcel_Calculation_Financial::ISPMT', + 'argumentCount' => '4' + ), + 'ISREF' => array('category' => PHPExcel_Calculation_Function::CATEGORY_INFORMATION, + 'functionCall' => 'PHPExcel_Calculation_Functions::DUMMY', + 'argumentCount' => '1' + ), + 'ISTEXT' => array('category' => PHPExcel_Calculation_Function::CATEGORY_INFORMATION, + 'functionCall' => 'PHPExcel_Calculation_Functions::IS_TEXT', + 'argumentCount' => '1' + ), + 'JIS' => array('category' => PHPExcel_Calculation_Function::CATEGORY_TEXT_AND_DATA, + 'functionCall' => 'PHPExcel_Calculation_Functions::DUMMY', + 'argumentCount' => '1' + ), + 'KURT' => array('category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, + 'functionCall' => 'PHPExcel_Calculation_Statistical::KURT', + 'argumentCount' => '1+' + ), + 'LARGE' => array('category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, + 'functionCall' => 'PHPExcel_Calculation_Statistical::LARGE', + 'argumentCount' => '2' + ), + 'LCM' => array('category' => PHPExcel_Calculation_Function::CATEGORY_MATH_AND_TRIG, + 'functionCall' => 'PHPExcel_Calculation_MathTrig::LCM', + 'argumentCount' => '1+' + ), + 'LEFT' => array('category' => PHPExcel_Calculation_Function::CATEGORY_TEXT_AND_DATA, + 'functionCall' => 'PHPExcel_Calculation_TextData::LEFT', + 'argumentCount' => '1,2' + ), + 'LEFTB' => array('category' => PHPExcel_Calculation_Function::CATEGORY_TEXT_AND_DATA, + 'functionCall' => 'PHPExcel_Calculation_TextData::LEFT', + 'argumentCount' => '1,2' + ), + 'LEN' => array('category' => PHPExcel_Calculation_Function::CATEGORY_TEXT_AND_DATA, + 'functionCall' => 'PHPExcel_Calculation_TextData::STRINGLENGTH', + 'argumentCount' => '1' + ), + 'LENB' => array('category' => PHPExcel_Calculation_Function::CATEGORY_TEXT_AND_DATA, + 'functionCall' => 'PHPExcel_Calculation_TextData::STRINGLENGTH', + 'argumentCount' => '1' + ), + 'LINEST' => array('category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, + 'functionCall' => 'PHPExcel_Calculation_Statistical::LINEST', + 'argumentCount' => '1-4' + ), + 'LN' => array('category' => PHPExcel_Calculation_Function::CATEGORY_MATH_AND_TRIG, + 'functionCall' => 'log', + 'argumentCount' => '1' + ), + 'LOG' => array('category' => PHPExcel_Calculation_Function::CATEGORY_MATH_AND_TRIG, + 'functionCall' => 'PHPExcel_Calculation_MathTrig::LOG_BASE', + 'argumentCount' => '1,2' + ), + 'LOG10' => array('category' => PHPExcel_Calculation_Function::CATEGORY_MATH_AND_TRIG, + 'functionCall' => 'log10', + 'argumentCount' => '1' + ), + 'LOGEST' => array('category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, + 'functionCall' => 'PHPExcel_Calculation_Statistical::LOGEST', + 'argumentCount' => '1-4' + ), + 'LOGINV' => array('category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, + 'functionCall' => 'PHPExcel_Calculation_Statistical::LOGINV', + 'argumentCount' => '3' + ), + 'LOGNORMDIST' => array('category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, + 'functionCall' => 'PHPExcel_Calculation_Statistical::LOGNORMDIST', + 'argumentCount' => '3' + ), + 'LOOKUP' => array('category' => PHPExcel_Calculation_Function::CATEGORY_LOOKUP_AND_REFERENCE, + 'functionCall' => 'PHPExcel_Calculation_LookupRef::LOOKUP', + 'argumentCount' => '2,3' + ), + 'LOWER' => array('category' => PHPExcel_Calculation_Function::CATEGORY_TEXT_AND_DATA, + 'functionCall' => 'PHPExcel_Calculation_TextData::LOWERCASE', + 'argumentCount' => '1' + ), + 'MATCH' => array('category' => PHPExcel_Calculation_Function::CATEGORY_LOOKUP_AND_REFERENCE, + 'functionCall' => 'PHPExcel_Calculation_LookupRef::MATCH', + 'argumentCount' => '2,3' + ), + 'MAX' => array('category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, + 'functionCall' => 'PHPExcel_Calculation_Statistical::MAX', + 'argumentCount' => '1+' + ), + 'MAXA' => array('category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, + 'functionCall' => 'PHPExcel_Calculation_Statistical::MAXA', + 'argumentCount' => '1+' + ), + 'MAXIF' => array('category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, + 'functionCall' => 'PHPExcel_Calculation_Statistical::MAXIF', + 'argumentCount' => '2+' + ), + 'MDETERM' => array('category' => PHPExcel_Calculation_Function::CATEGORY_MATH_AND_TRIG, + 'functionCall' => 'PHPExcel_Calculation_MathTrig::MDETERM', + 'argumentCount' => '1' + ), + 'MDURATION' => array('category' => PHPExcel_Calculation_Function::CATEGORY_FINANCIAL, + 'functionCall' => 'PHPExcel_Calculation_Functions::DUMMY', + 'argumentCount' => '5,6' + ), + 'MEDIAN' => array('category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, + 'functionCall' => 'PHPExcel_Calculation_Statistical::MEDIAN', + 'argumentCount' => '1+' + ), + 'MEDIANIF' => array('category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, + 'functionCall' => 'PHPExcel_Calculation_Functions::DUMMY', + 'argumentCount' => '2+' + ), + 'MID' => array('category' => PHPExcel_Calculation_Function::CATEGORY_TEXT_AND_DATA, + 'functionCall' => 'PHPExcel_Calculation_TextData::MID', + 'argumentCount' => '3' + ), + 'MIDB' => array('category' => PHPExcel_Calculation_Function::CATEGORY_TEXT_AND_DATA, + 'functionCall' => 'PHPExcel_Calculation_TextData::MID', + 'argumentCount' => '3' + ), + 'MIN' => array('category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, + 'functionCall' => 'PHPExcel_Calculation_Statistical::MIN', + 'argumentCount' => '1+' + ), + 'MINA' => array('category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, + 'functionCall' => 'PHPExcel_Calculation_Statistical::MINA', + 'argumentCount' => '1+' + ), + 'MINIF' => array('category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, + 'functionCall' => 'PHPExcel_Calculation_Statistical::MINIF', + 'argumentCount' => '2+' + ), + 'MINUTE' => array('category' => PHPExcel_Calculation_Function::CATEGORY_DATE_AND_TIME, + 'functionCall' => 'PHPExcel_Calculation_DateTime::MINUTEOFHOUR', + 'argumentCount' => '1' + ), + 'MINVERSE' => array('category' => PHPExcel_Calculation_Function::CATEGORY_MATH_AND_TRIG, + 'functionCall' => 'PHPExcel_Calculation_MathTrig::MINVERSE', + 'argumentCount' => '1' + ), + 'MIRR' => array('category' => PHPExcel_Calculation_Function::CATEGORY_FINANCIAL, + 'functionCall' => 'PHPExcel_Calculation_Financial::MIRR', + 'argumentCount' => '3' + ), + 'MMULT' => array('category' => PHPExcel_Calculation_Function::CATEGORY_MATH_AND_TRIG, + 'functionCall' => 'PHPExcel_Calculation_MathTrig::MMULT', + 'argumentCount' => '2' + ), + 'MOD' => array('category' => PHPExcel_Calculation_Function::CATEGORY_MATH_AND_TRIG, + 'functionCall' => 'PHPExcel_Calculation_MathTrig::MOD', + 'argumentCount' => '2' + ), + 'MODE' => array('category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, + 'functionCall' => 'PHPExcel_Calculation_Statistical::MODE', + 'argumentCount' => '1+' + ), + 'MONTH' => array('category' => PHPExcel_Calculation_Function::CATEGORY_DATE_AND_TIME, + 'functionCall' => 'PHPExcel_Calculation_DateTime::MONTHOFYEAR', + 'argumentCount' => '1' + ), + 'MROUND' => array('category' => PHPExcel_Calculation_Function::CATEGORY_MATH_AND_TRIG, + 'functionCall' => 'PHPExcel_Calculation_MathTrig::MROUND', + 'argumentCount' => '2' + ), + 'MULTINOMIAL' => array('category' => PHPExcel_Calculation_Function::CATEGORY_MATH_AND_TRIG, + 'functionCall' => 'PHPExcel_Calculation_MathTrig::MULTINOMIAL', + 'argumentCount' => '1+' + ), + 'N' => array('category' => PHPExcel_Calculation_Function::CATEGORY_INFORMATION, + 'functionCall' => 'PHPExcel_Calculation_Functions::N', + 'argumentCount' => '1' + ), + 'NA' => array('category' => PHPExcel_Calculation_Function::CATEGORY_INFORMATION, + 'functionCall' => 'PHPExcel_Calculation_Functions::NA', + 'argumentCount' => '0' + ), + 'NEGBINOMDIST' => array('category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, + 'functionCall' => 'PHPExcel_Calculation_Statistical::NEGBINOMDIST', + 'argumentCount' => '3' + ), + 'NETWORKDAYS' => array('category' => PHPExcel_Calculation_Function::CATEGORY_DATE_AND_TIME, + 'functionCall' => 'PHPExcel_Calculation_DateTime::NETWORKDAYS', + 'argumentCount' => '2+' + ), + 'NOMINAL' => array('category' => PHPExcel_Calculation_Function::CATEGORY_FINANCIAL, + 'functionCall' => 'PHPExcel_Calculation_Financial::NOMINAL', + 'argumentCount' => '2' + ), + 'NORMDIST' => array('category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, + 'functionCall' => 'PHPExcel_Calculation_Statistical::NORMDIST', + 'argumentCount' => '4' + ), + 'NORMINV' => array('category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, + 'functionCall' => 'PHPExcel_Calculation_Statistical::NORMINV', + 'argumentCount' => '3' + ), + 'NORMSDIST' => array('category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, + 'functionCall' => 'PHPExcel_Calculation_Statistical::NORMSDIST', + 'argumentCount' => '1' + ), + 'NORMSINV' => array('category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, + 'functionCall' => 'PHPExcel_Calculation_Statistical::NORMSINV', + 'argumentCount' => '1' + ), + 'NOT' => array('category' => PHPExcel_Calculation_Function::CATEGORY_LOGICAL, + 'functionCall' => 'PHPExcel_Calculation_Logical::NOT', + 'argumentCount' => '1' + ), + 'NOW' => array('category' => PHPExcel_Calculation_Function::CATEGORY_DATE_AND_TIME, + 'functionCall' => 'PHPExcel_Calculation_DateTime::DATETIMENOW', + 'argumentCount' => '0' + ), + 'NPER' => array('category' => PHPExcel_Calculation_Function::CATEGORY_FINANCIAL, + 'functionCall' => 'PHPExcel_Calculation_Financial::NPER', + 'argumentCount' => '3-5' + ), + 'NPV' => array('category' => PHPExcel_Calculation_Function::CATEGORY_FINANCIAL, + 'functionCall' => 'PHPExcel_Calculation_Financial::NPV', + 'argumentCount' => '2+' + ), + 'OCT2BIN' => array('category' => PHPExcel_Calculation_Function::CATEGORY_ENGINEERING, + 'functionCall' => 'PHPExcel_Calculation_Engineering::OCTTOBIN', + 'argumentCount' => '1,2' + ), + 'OCT2DEC' => array('category' => PHPExcel_Calculation_Function::CATEGORY_ENGINEERING, + 'functionCall' => 'PHPExcel_Calculation_Engineering::OCTTODEC', + 'argumentCount' => '1' + ), + 'OCT2HEX' => array('category' => PHPExcel_Calculation_Function::CATEGORY_ENGINEERING, + 'functionCall' => 'PHPExcel_Calculation_Engineering::OCTTOHEX', + 'argumentCount' => '1,2' + ), + 'ODD' => array('category' => PHPExcel_Calculation_Function::CATEGORY_MATH_AND_TRIG, + 'functionCall' => 'PHPExcel_Calculation_MathTrig::ODD', + 'argumentCount' => '1' + ), + 'ODDFPRICE' => array('category' => PHPExcel_Calculation_Function::CATEGORY_FINANCIAL, + 'functionCall' => 'PHPExcel_Calculation_Functions::DUMMY', + 'argumentCount' => '8,9' + ), + 'ODDFYIELD' => array('category' => PHPExcel_Calculation_Function::CATEGORY_FINANCIAL, + 'functionCall' => 'PHPExcel_Calculation_Functions::DUMMY', + 'argumentCount' => '8,9' + ), + 'ODDLPRICE' => array('category' => PHPExcel_Calculation_Function::CATEGORY_FINANCIAL, + 'functionCall' => 'PHPExcel_Calculation_Functions::DUMMY', + 'argumentCount' => '7,8' + ), + 'ODDLYIELD' => array('category' => PHPExcel_Calculation_Function::CATEGORY_FINANCIAL, + 'functionCall' => 'PHPExcel_Calculation_Functions::DUMMY', + 'argumentCount' => '7,8' + ), + 'OFFSET' => array('category' => PHPExcel_Calculation_Function::CATEGORY_LOOKUP_AND_REFERENCE, + 'functionCall' => 'PHPExcel_Calculation_LookupRef::OFFSET', + 'argumentCount' => '3,5', + 'passCellReference'=> TRUE, + 'passByReference' => array(TRUE) + ), + 'OR' => array('category' => PHPExcel_Calculation_Function::CATEGORY_LOGICAL, + 'functionCall' => 'PHPExcel_Calculation_Logical::LOGICAL_OR', + 'argumentCount' => '1+' + ), + 'PEARSON' => array('category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, + 'functionCall' => 'PHPExcel_Calculation_Statistical::CORREL', + 'argumentCount' => '2' + ), + 'PERCENTILE' => array('category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, + 'functionCall' => 'PHPExcel_Calculation_Statistical::PERCENTILE', + 'argumentCount' => '2' + ), + 'PERCENTRANK' => array('category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, + 'functionCall' => 'PHPExcel_Calculation_Statistical::PERCENTRANK', + 'argumentCount' => '2,3' + ), + 'PERMUT' => array('category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, + 'functionCall' => 'PHPExcel_Calculation_Statistical::PERMUT', + 'argumentCount' => '2' + ), + 'PHONETIC' => array('category' => PHPExcel_Calculation_Function::CATEGORY_TEXT_AND_DATA, + 'functionCall' => 'PHPExcel_Calculation_Functions::DUMMY', + 'argumentCount' => '1' + ), + 'PI' => array('category' => PHPExcel_Calculation_Function::CATEGORY_MATH_AND_TRIG, + 'functionCall' => 'pi', + 'argumentCount' => '0' + ), + 'PMT' => array('category' => PHPExcel_Calculation_Function::CATEGORY_FINANCIAL, + 'functionCall' => 'PHPExcel_Calculation_Financial::PMT', + 'argumentCount' => '3-5' + ), + 'POISSON' => array('category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, + 'functionCall' => 'PHPExcel_Calculation_Statistical::POISSON', + 'argumentCount' => '3' + ), + 'POWER' => array('category' => PHPExcel_Calculation_Function::CATEGORY_MATH_AND_TRIG, + 'functionCall' => 'PHPExcel_Calculation_MathTrig::POWER', + 'argumentCount' => '2' + ), + 'PPMT' => array('category' => PHPExcel_Calculation_Function::CATEGORY_FINANCIAL, + 'functionCall' => 'PHPExcel_Calculation_Financial::PPMT', + 'argumentCount' => '4-6' + ), + 'PRICE' => array('category' => PHPExcel_Calculation_Function::CATEGORY_FINANCIAL, + 'functionCall' => 'PHPExcel_Calculation_Financial::PRICE', + 'argumentCount' => '6,7' + ), + 'PRICEDISC' => array('category' => PHPExcel_Calculation_Function::CATEGORY_FINANCIAL, + 'functionCall' => 'PHPExcel_Calculation_Financial::PRICEDISC', + 'argumentCount' => '4,5' + ), + 'PRICEMAT' => array('category' => PHPExcel_Calculation_Function::CATEGORY_FINANCIAL, + 'functionCall' => 'PHPExcel_Calculation_Financial::PRICEMAT', + 'argumentCount' => '5,6' + ), + 'PROB' => array('category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, + 'functionCall' => 'PHPExcel_Calculation_Functions::DUMMY', + 'argumentCount' => '3,4' + ), + 'PRODUCT' => array('category' => PHPExcel_Calculation_Function::CATEGORY_MATH_AND_TRIG, + 'functionCall' => 'PHPExcel_Calculation_MathTrig::PRODUCT', + 'argumentCount' => '1+' + ), + 'PROPER' => array('category' => PHPExcel_Calculation_Function::CATEGORY_TEXT_AND_DATA, + 'functionCall' => 'PHPExcel_Calculation_TextData::PROPERCASE', + 'argumentCount' => '1' + ), + 'PV' => array('category' => PHPExcel_Calculation_Function::CATEGORY_FINANCIAL, + 'functionCall' => 'PHPExcel_Calculation_Financial::PV', + 'argumentCount' => '3-5' + ), + 'QUARTILE' => array('category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, + 'functionCall' => 'PHPExcel_Calculation_Statistical::QUARTILE', + 'argumentCount' => '2' + ), + 'QUOTIENT' => array('category' => PHPExcel_Calculation_Function::CATEGORY_MATH_AND_TRIG, + 'functionCall' => 'PHPExcel_Calculation_MathTrig::QUOTIENT', + 'argumentCount' => '2' + ), + 'RADIANS' => array('category' => PHPExcel_Calculation_Function::CATEGORY_MATH_AND_TRIG, + 'functionCall' => 'deg2rad', + 'argumentCount' => '1' + ), + 'RAND' => array('category' => PHPExcel_Calculation_Function::CATEGORY_MATH_AND_TRIG, + 'functionCall' => 'PHPExcel_Calculation_MathTrig::RAND', + 'argumentCount' => '0' + ), + 'RANDBETWEEN' => array('category' => PHPExcel_Calculation_Function::CATEGORY_MATH_AND_TRIG, + 'functionCall' => 'PHPExcel_Calculation_MathTrig::RAND', + 'argumentCount' => '2' + ), + 'RANK' => array('category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, + 'functionCall' => 'PHPExcel_Calculation_Statistical::RANK', + 'argumentCount' => '2,3' + ), + 'RATE' => array('category' => PHPExcel_Calculation_Function::CATEGORY_FINANCIAL, + 'functionCall' => 'PHPExcel_Calculation_Financial::RATE', + 'argumentCount' => '3-6' + ), + 'RECEIVED' => array('category' => PHPExcel_Calculation_Function::CATEGORY_FINANCIAL, + 'functionCall' => 'PHPExcel_Calculation_Financial::RECEIVED', + 'argumentCount' => '4-5' + ), + 'REPLACE' => array('category' => PHPExcel_Calculation_Function::CATEGORY_TEXT_AND_DATA, + 'functionCall' => 'PHPExcel_Calculation_TextData::REPLACE', + 'argumentCount' => '4' + ), + 'REPLACEB' => array('category' => PHPExcel_Calculation_Function::CATEGORY_TEXT_AND_DATA, + 'functionCall' => 'PHPExcel_Calculation_TextData::REPLACE', + 'argumentCount' => '4' + ), + 'REPT' => array('category' => PHPExcel_Calculation_Function::CATEGORY_TEXT_AND_DATA, + 'functionCall' => 'str_repeat', + 'argumentCount' => '2' + ), + 'RIGHT' => array('category' => PHPExcel_Calculation_Function::CATEGORY_TEXT_AND_DATA, + 'functionCall' => 'PHPExcel_Calculation_TextData::RIGHT', + 'argumentCount' => '1,2' + ), + 'RIGHTB' => array('category' => PHPExcel_Calculation_Function::CATEGORY_TEXT_AND_DATA, + 'functionCall' => 'PHPExcel_Calculation_TextData::RIGHT', + 'argumentCount' => '1,2' + ), + 'ROMAN' => array('category' => PHPExcel_Calculation_Function::CATEGORY_MATH_AND_TRIG, + 'functionCall' => 'PHPExcel_Calculation_MathTrig::ROMAN', + 'argumentCount' => '1,2' + ), + 'ROUND' => array('category' => PHPExcel_Calculation_Function::CATEGORY_MATH_AND_TRIG, + 'functionCall' => 'round', + 'argumentCount' => '2' + ), + 'ROUNDDOWN' => array('category' => PHPExcel_Calculation_Function::CATEGORY_MATH_AND_TRIG, + 'functionCall' => 'PHPExcel_Calculation_MathTrig::ROUNDDOWN', + 'argumentCount' => '2' + ), + 'ROUNDUP' => array('category' => PHPExcel_Calculation_Function::CATEGORY_MATH_AND_TRIG, + 'functionCall' => 'PHPExcel_Calculation_MathTrig::ROUNDUP', + 'argumentCount' => '2' + ), + 'ROW' => array('category' => PHPExcel_Calculation_Function::CATEGORY_LOOKUP_AND_REFERENCE, + 'functionCall' => 'PHPExcel_Calculation_LookupRef::ROW', + 'argumentCount' => '-1', + 'passByReference' => array(TRUE) + ), + 'ROWS' => array('category' => PHPExcel_Calculation_Function::CATEGORY_LOOKUP_AND_REFERENCE, + 'functionCall' => 'PHPExcel_Calculation_LookupRef::ROWS', + 'argumentCount' => '1' + ), + 'RSQ' => array('category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, + 'functionCall' => 'PHPExcel_Calculation_Statistical::RSQ', + 'argumentCount' => '2' + ), + 'RTD' => array('category' => PHPExcel_Calculation_Function::CATEGORY_LOOKUP_AND_REFERENCE, + 'functionCall' => 'PHPExcel_Calculation_Functions::DUMMY', + 'argumentCount' => '1+' + ), + 'SEARCH' => array('category' => PHPExcel_Calculation_Function::CATEGORY_TEXT_AND_DATA, + 'functionCall' => 'PHPExcel_Calculation_TextData::SEARCHINSENSITIVE', + 'argumentCount' => '2,3' + ), + 'SEARCHB' => array('category' => PHPExcel_Calculation_Function::CATEGORY_TEXT_AND_DATA, + 'functionCall' => 'PHPExcel_Calculation_TextData::SEARCHINSENSITIVE', + 'argumentCount' => '2,3' + ), + 'SECOND' => array('category' => PHPExcel_Calculation_Function::CATEGORY_DATE_AND_TIME, + 'functionCall' => 'PHPExcel_Calculation_DateTime::SECONDOFMINUTE', + 'argumentCount' => '1' + ), + 'SERIESSUM' => array('category' => PHPExcel_Calculation_Function::CATEGORY_MATH_AND_TRIG, + 'functionCall' => 'PHPExcel_Calculation_MathTrig::SERIESSUM', + 'argumentCount' => '4' + ), + 'SIGN' => array('category' => PHPExcel_Calculation_Function::CATEGORY_MATH_AND_TRIG, + 'functionCall' => 'PHPExcel_Calculation_MathTrig::SIGN', + 'argumentCount' => '1' + ), + 'SIN' => array('category' => PHPExcel_Calculation_Function::CATEGORY_MATH_AND_TRIG, + 'functionCall' => 'sin', + 'argumentCount' => '1' + ), + 'SINH' => array('category' => PHPExcel_Calculation_Function::CATEGORY_MATH_AND_TRIG, + 'functionCall' => 'sinh', + 'argumentCount' => '1' + ), + 'SKEW' => array('category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, + 'functionCall' => 'PHPExcel_Calculation_Statistical::SKEW', + 'argumentCount' => '1+' + ), + 'SLN' => array('category' => PHPExcel_Calculation_Function::CATEGORY_FINANCIAL, + 'functionCall' => 'PHPExcel_Calculation_Financial::SLN', + 'argumentCount' => '3' + ), + 'SLOPE' => array('category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, + 'functionCall' => 'PHPExcel_Calculation_Statistical::SLOPE', + 'argumentCount' => '2' + ), + 'SMALL' => array('category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, + 'functionCall' => 'PHPExcel_Calculation_Statistical::SMALL', + 'argumentCount' => '2' + ), + 'SQRT' => array('category' => PHPExcel_Calculation_Function::CATEGORY_MATH_AND_TRIG, + 'functionCall' => 'sqrt', + 'argumentCount' => '1' + ), + 'SQRTPI' => array('category' => PHPExcel_Calculation_Function::CATEGORY_MATH_AND_TRIG, + 'functionCall' => 'PHPExcel_Calculation_MathTrig::SQRTPI', + 'argumentCount' => '1' + ), + 'STANDARDIZE' => array('category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, + 'functionCall' => 'PHPExcel_Calculation_Statistical::STANDARDIZE', + 'argumentCount' => '3' + ), + 'STDEV' => array('category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, + 'functionCall' => 'PHPExcel_Calculation_Statistical::STDEV', + 'argumentCount' => '1+' + ), + 'STDEVA' => array('category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, + 'functionCall' => 'PHPExcel_Calculation_Statistical::STDEVA', + 'argumentCount' => '1+' + ), + 'STDEVP' => array('category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, + 'functionCall' => 'PHPExcel_Calculation_Statistical::STDEVP', + 'argumentCount' => '1+' + ), + 'STDEVPA' => array('category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, + 'functionCall' => 'PHPExcel_Calculation_Statistical::STDEVPA', + 'argumentCount' => '1+' + ), + 'STEYX' => array('category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, + 'functionCall' => 'PHPExcel_Calculation_Statistical::STEYX', + 'argumentCount' => '2' + ), + 'SUBSTITUTE' => array('category' => PHPExcel_Calculation_Function::CATEGORY_TEXT_AND_DATA, + 'functionCall' => 'PHPExcel_Calculation_TextData::SUBSTITUTE', + 'argumentCount' => '3,4' + ), + 'SUBTOTAL' => array('category' => PHPExcel_Calculation_Function::CATEGORY_MATH_AND_TRIG, + 'functionCall' => 'PHPExcel_Calculation_MathTrig::SUBTOTAL', + 'argumentCount' => '2+' + ), + 'SUM' => array('category' => PHPExcel_Calculation_Function::CATEGORY_MATH_AND_TRIG, + 'functionCall' => 'PHPExcel_Calculation_MathTrig::SUM', + 'argumentCount' => '1+' + ), + 'SUMIF' => array('category' => PHPExcel_Calculation_Function::CATEGORY_MATH_AND_TRIG, + 'functionCall' => 'PHPExcel_Calculation_MathTrig::SUMIF', + 'argumentCount' => '2,3' + ), + 'SUMIFS' => array('category' => PHPExcel_Calculation_Function::CATEGORY_MATH_AND_TRIG, + 'functionCall' => 'PHPExcel_Calculation_Functions::DUMMY', + 'argumentCount' => '?' + ), + 'SUMPRODUCT' => array('category' => PHPExcel_Calculation_Function::CATEGORY_MATH_AND_TRIG, + 'functionCall' => 'PHPExcel_Calculation_MathTrig::SUMPRODUCT', + 'argumentCount' => '1+' + ), + 'SUMSQ' => array('category' => PHPExcel_Calculation_Function::CATEGORY_MATH_AND_TRIG, + 'functionCall' => 'PHPExcel_Calculation_MathTrig::SUMSQ', + 'argumentCount' => '1+' + ), + 'SUMX2MY2' => array('category' => PHPExcel_Calculation_Function::CATEGORY_MATH_AND_TRIG, + 'functionCall' => 'PHPExcel_Calculation_MathTrig::SUMX2MY2', + 'argumentCount' => '2' + ), + 'SUMX2PY2' => array('category' => PHPExcel_Calculation_Function::CATEGORY_MATH_AND_TRIG, + 'functionCall' => 'PHPExcel_Calculation_MathTrig::SUMX2PY2', + 'argumentCount' => '2' + ), + 'SUMXMY2' => array('category' => PHPExcel_Calculation_Function::CATEGORY_MATH_AND_TRIG, + 'functionCall' => 'PHPExcel_Calculation_MathTrig::SUMXMY2', + 'argumentCount' => '2' + ), + 'SYD' => array('category' => PHPExcel_Calculation_Function::CATEGORY_FINANCIAL, + 'functionCall' => 'PHPExcel_Calculation_Financial::SYD', + 'argumentCount' => '4' + ), + 'T' => array('category' => PHPExcel_Calculation_Function::CATEGORY_TEXT_AND_DATA, + 'functionCall' => 'PHPExcel_Calculation_TextData::RETURNSTRING', + 'argumentCount' => '1' + ), + 'TAN' => array('category' => PHPExcel_Calculation_Function::CATEGORY_MATH_AND_TRIG, + 'functionCall' => 'tan', + 'argumentCount' => '1' + ), + 'TANH' => array('category' => PHPExcel_Calculation_Function::CATEGORY_MATH_AND_TRIG, + 'functionCall' => 'tanh', + 'argumentCount' => '1' + ), + 'TBILLEQ' => array('category' => PHPExcel_Calculation_Function::CATEGORY_FINANCIAL, + 'functionCall' => 'PHPExcel_Calculation_Financial::TBILLEQ', + 'argumentCount' => '3' + ), + 'TBILLPRICE' => array('category' => PHPExcel_Calculation_Function::CATEGORY_FINANCIAL, + 'functionCall' => 'PHPExcel_Calculation_Financial::TBILLPRICE', + 'argumentCount' => '3' + ), + 'TBILLYIELD' => array('category' => PHPExcel_Calculation_Function::CATEGORY_FINANCIAL, + 'functionCall' => 'PHPExcel_Calculation_Financial::TBILLYIELD', + 'argumentCount' => '3' + ), + 'TDIST' => array('category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, + 'functionCall' => 'PHPExcel_Calculation_Statistical::TDIST', + 'argumentCount' => '3' + ), + 'TEXT' => array('category' => PHPExcel_Calculation_Function::CATEGORY_TEXT_AND_DATA, + 'functionCall' => 'PHPExcel_Calculation_TextData::TEXTFORMAT', + 'argumentCount' => '2' + ), + 'TIME' => array('category' => PHPExcel_Calculation_Function::CATEGORY_DATE_AND_TIME, + 'functionCall' => 'PHPExcel_Calculation_DateTime::TIME', + 'argumentCount' => '3' + ), + 'TIMEVALUE' => array('category' => PHPExcel_Calculation_Function::CATEGORY_DATE_AND_TIME, + 'functionCall' => 'PHPExcel_Calculation_DateTime::TIMEVALUE', + 'argumentCount' => '1' + ), + 'TINV' => array('category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, + 'functionCall' => 'PHPExcel_Calculation_Statistical::TINV', + 'argumentCount' => '2' + ), + 'TODAY' => array('category' => PHPExcel_Calculation_Function::CATEGORY_DATE_AND_TIME, + 'functionCall' => 'PHPExcel_Calculation_DateTime::DATENOW', + 'argumentCount' => '0' + ), + 'TRANSPOSE' => array('category' => PHPExcel_Calculation_Function::CATEGORY_LOOKUP_AND_REFERENCE, + 'functionCall' => 'PHPExcel_Calculation_LookupRef::TRANSPOSE', + 'argumentCount' => '1' + ), + 'TREND' => array('category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, + 'functionCall' => 'PHPExcel_Calculation_Statistical::TREND', + 'argumentCount' => '1-4' + ), + 'TRIM' => array('category' => PHPExcel_Calculation_Function::CATEGORY_TEXT_AND_DATA, + 'functionCall' => 'PHPExcel_Calculation_TextData::TRIMSPACES', + 'argumentCount' => '1' + ), + 'TRIMMEAN' => array('category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, + 'functionCall' => 'PHPExcel_Calculation_Statistical::TRIMMEAN', + 'argumentCount' => '2' + ), + 'TRUE' => array('category' => PHPExcel_Calculation_Function::CATEGORY_LOGICAL, + 'functionCall' => 'PHPExcel_Calculation_Logical::TRUE', + 'argumentCount' => '0' + ), + 'TRUNC' => array('category' => PHPExcel_Calculation_Function::CATEGORY_MATH_AND_TRIG, + 'functionCall' => 'PHPExcel_Calculation_MathTrig::TRUNC', + 'argumentCount' => '1,2' + ), + 'TTEST' => array('category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, + 'functionCall' => 'PHPExcel_Calculation_Functions::DUMMY', + 'argumentCount' => '4' + ), + 'TYPE' => array('category' => PHPExcel_Calculation_Function::CATEGORY_INFORMATION, + 'functionCall' => 'PHPExcel_Calculation_Functions::TYPE', + 'argumentCount' => '1' + ), + 'UPPER' => array('category' => PHPExcel_Calculation_Function::CATEGORY_TEXT_AND_DATA, + 'functionCall' => 'PHPExcel_Calculation_TextData::UPPERCASE', + 'argumentCount' => '1' + ), + 'USDOLLAR' => array('category' => PHPExcel_Calculation_Function::CATEGORY_FINANCIAL, + 'functionCall' => 'PHPExcel_Calculation_Functions::DUMMY', + 'argumentCount' => '2' + ), + 'VALUE' => array('category' => PHPExcel_Calculation_Function::CATEGORY_TEXT_AND_DATA, + 'functionCall' => 'PHPExcel_Calculation_TextData::VALUE', + 'argumentCount' => '1' + ), + 'VAR' => array('category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, + 'functionCall' => 'PHPExcel_Calculation_Statistical::VARFunc', + 'argumentCount' => '1+' + ), + 'VARA' => array('category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, + 'functionCall' => 'PHPExcel_Calculation_Statistical::VARA', + 'argumentCount' => '1+' + ), + 'VARP' => array('category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, + 'functionCall' => 'PHPExcel_Calculation_Statistical::VARP', + 'argumentCount' => '1+' + ), + 'VARPA' => array('category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, + 'functionCall' => 'PHPExcel_Calculation_Statistical::VARPA', + 'argumentCount' => '1+' + ), + 'VDB' => array('category' => PHPExcel_Calculation_Function::CATEGORY_FINANCIAL, + 'functionCall' => 'PHPExcel_Calculation_Functions::DUMMY', + 'argumentCount' => '5-7' + ), + 'VERSION' => array('category' => PHPExcel_Calculation_Function::CATEGORY_INFORMATION, + 'functionCall' => 'PHPExcel_Calculation_Functions::VERSION', + 'argumentCount' => '0' + ), + 'VLOOKUP' => array('category' => PHPExcel_Calculation_Function::CATEGORY_LOOKUP_AND_REFERENCE, + 'functionCall' => 'PHPExcel_Calculation_LookupRef::VLOOKUP', + 'argumentCount' => '3,4' + ), + 'WEEKDAY' => array('category' => PHPExcel_Calculation_Function::CATEGORY_DATE_AND_TIME, + 'functionCall' => 'PHPExcel_Calculation_DateTime::DAYOFWEEK', + 'argumentCount' => '1,2' + ), + 'WEEKNUM' => array('category' => PHPExcel_Calculation_Function::CATEGORY_DATE_AND_TIME, + 'functionCall' => 'PHPExcel_Calculation_DateTime::WEEKOFYEAR', + 'argumentCount' => '1,2' + ), + 'WEIBULL' => array('category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, + 'functionCall' => 'PHPExcel_Calculation_Statistical::WEIBULL', + 'argumentCount' => '4' + ), + 'WORKDAY' => array('category' => PHPExcel_Calculation_Function::CATEGORY_DATE_AND_TIME, + 'functionCall' => 'PHPExcel_Calculation_DateTime::WORKDAY', + 'argumentCount' => '2+' + ), + 'XIRR' => array('category' => PHPExcel_Calculation_Function::CATEGORY_FINANCIAL, + 'functionCall' => 'PHPExcel_Calculation_Financial::XIRR', + 'argumentCount' => '2,3' + ), + 'XNPV' => array('category' => PHPExcel_Calculation_Function::CATEGORY_FINANCIAL, + 'functionCall' => 'PHPExcel_Calculation_Financial::XNPV', + 'argumentCount' => '3' + ), + 'YEAR' => array('category' => PHPExcel_Calculation_Function::CATEGORY_DATE_AND_TIME, + 'functionCall' => 'PHPExcel_Calculation_DateTime::YEAR', + 'argumentCount' => '1' + ), + 'YEARFRAC' => array('category' => PHPExcel_Calculation_Function::CATEGORY_DATE_AND_TIME, + 'functionCall' => 'PHPExcel_Calculation_DateTime::YEARFRAC', + 'argumentCount' => '2,3' + ), + 'YIELD' => array('category' => PHPExcel_Calculation_Function::CATEGORY_FINANCIAL, + 'functionCall' => 'PHPExcel_Calculation_Functions::DUMMY', + 'argumentCount' => '6,7' + ), + 'YIELDDISC' => array('category' => PHPExcel_Calculation_Function::CATEGORY_FINANCIAL, + 'functionCall' => 'PHPExcel_Calculation_Financial::YIELDDISC', + 'argumentCount' => '4,5' + ), + 'YIELDMAT' => array('category' => PHPExcel_Calculation_Function::CATEGORY_FINANCIAL, + 'functionCall' => 'PHPExcel_Calculation_Financial::YIELDMAT', + 'argumentCount' => '5,6' + ), + 'ZTEST' => array('category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, + 'functionCall' => 'PHPExcel_Calculation_Statistical::ZTEST', + 'argumentCount' => '2-3' + ) + ); + + + // Internal functions used for special control purposes + private static $_controlFunctions = array( + 'MKMATRIX' => array('argumentCount' => '*', + 'functionCall' => 'self::_mkMatrix' + ) + ); + + + + + private function __construct(PHPExcel $workbook = NULL) { + $setPrecision = (PHP_INT_SIZE == 4) ? 14 : 16; + $this->_savedPrecision = ini_get('precision'); + if ($this->_savedPrecision < $setPrecision) { + ini_set('precision',$setPrecision); + } + $this->delta = 1 * pow(10, -$setPrecision); + + if ($workbook !== NULL) { + self::$_workbookSets[$workbook->getID()] = $this; + } + + $this->_workbook = $workbook; + $this->_cyclicReferenceStack = new PHPExcel_CalcEngine_CyclicReferenceStack(); + $this->_debugLog = new PHPExcel_CalcEngine_Logger($this->_cyclicReferenceStack); + } // function __construct() + + + public function __destruct() { + if ($this->_savedPrecision != ini_get('precision')) { + ini_set('precision',$this->_savedPrecision); + } + } + + private static function _loadLocales() { + $localeFileDirectory = PHPEXCEL_ROOT.'PHPExcel/locale/'; + foreach (glob($localeFileDirectory.'/*',GLOB_ONLYDIR) as $filename) { + $filename = substr($filename,strlen($localeFileDirectory)+1); + if ($filename != 'en') { + self::$_validLocaleLanguages[] = $filename; + } + } + } + + /** + * Get an instance of this class + * + * @access public + * @param PHPExcel $workbook Injected workbook for working with a PHPExcel object, + * or NULL to create a standalone claculation engine + * @return PHPExcel_Calculation + */ + public static function getInstance(PHPExcel $workbook = NULL) { + if ($workbook !== NULL) { + if (isset(self::$_workbookSets[$workbook->getID()])) { + return self::$_workbookSets[$workbook->getID()]; + } + return new PHPExcel_Calculation($workbook); + } + + if (!isset(self::$_instance) || (self::$_instance === NULL)) { + self::$_instance = new PHPExcel_Calculation(); + } + + return self::$_instance; + } // function getInstance() + + /** + * Unset an instance of this class + * + * @access public + * @param PHPExcel $workbook Injected workbook identifying the instance to unset + */ + public static function unsetInstance(PHPExcel $workbook = NULL) { + if ($workbook !== NULL) { + if (isset(self::$_workbookSets[$workbook->getID()])) { + unset(self::$_workbookSets[$workbook->getID()]); + } + } + } + + /** + * Flush the calculation cache for any existing instance of this class + * but only if a PHPExcel_Calculation instance exists + * + * @access public + * @return null + */ + public function flushInstance() { + $this->clearCalculationCache(); + } // function flushInstance() + + + /** + * Get the debuglog for this claculation engine instance + * + * @access public + * @return PHPExcel_CalcEngine_Logger + */ + public function getDebugLog() { + return $this->_debugLog; + } + + /** + * __clone implementation. Cloning should not be allowed in a Singleton! + * + * @access public + * @throws PHPExcel_Calculation_Exception + */ + public final function __clone() { + throw new PHPExcel_Calculation_Exception ('Cloning the calculation engine is not allowed!'); + } // function __clone() + + + /** + * Return the locale-specific translation of TRUE + * + * @access public + * @return string locale-specific translation of TRUE + */ + public static function getTRUE() { + return self::$_localeBoolean['TRUE']; + } + + /** + * Return the locale-specific translation of FALSE + * + * @access public + * @return string locale-specific translation of FALSE + */ + public static function getFALSE() { + return self::$_localeBoolean['FALSE']; + } + + /** + * Set the Array Return Type (Array or Value of first element in the array) + * + * @access public + * @param string $returnType Array return type + * @return boolean Success or failure + */ + public static function setArrayReturnType($returnType) { + if (($returnType == self::RETURN_ARRAY_AS_VALUE) || + ($returnType == self::RETURN_ARRAY_AS_ERROR) || + ($returnType == self::RETURN_ARRAY_AS_ARRAY)) { + self::$returnArrayAsType = $returnType; + return TRUE; + } + return FALSE; + } // function setArrayReturnType() + + + /** + * Return the Array Return Type (Array or Value of first element in the array) + * + * @access public + * @return string $returnType Array return type + */ + public static function getArrayReturnType() { + return self::$returnArrayAsType; + } // function getArrayReturnType() + + + /** + * Is calculation caching enabled? + * + * @access public + * @return boolean + */ + public function getCalculationCacheEnabled() { + return $this->_calculationCacheEnabled; + } // function getCalculationCacheEnabled() + + /** + * Enable/disable calculation cache + * + * @access public + * @param boolean $pValue + */ + public function setCalculationCacheEnabled($pValue = TRUE) { + $this->_calculationCacheEnabled = $pValue; + $this->clearCalculationCache(); + } // function setCalculationCacheEnabled() + + + /** + * Enable calculation cache + */ + public function enableCalculationCache() { + $this->setCalculationCacheEnabled(TRUE); + } // function enableCalculationCache() + + + /** + * Disable calculation cache + */ + public function disableCalculationCache() { + $this->setCalculationCacheEnabled(FALSE); + } // function disableCalculationCache() + + + /** + * Clear calculation cache + */ + public function clearCalculationCache() { + $this->_calculationCache = array(); + } // function clearCalculationCache() + + /** + * Clear calculation cache for a specified worksheet + * + * @param string $worksheetName + */ + public function clearCalculationCacheForWorksheet($worksheetName) { + if (isset($this->_calculationCache[$worksheetName])) { + unset($this->_calculationCache[$worksheetName]); + } + } // function clearCalculationCacheForWorksheet() + + /** + * Rename calculation cache for a specified worksheet + * + * @param string $fromWorksheetName + * @param string $toWorksheetName + */ + public function renameCalculationCacheForWorksheet($fromWorksheetName, $toWorksheetName) { + if (isset($this->_calculationCache[$fromWorksheetName])) { + $this->_calculationCache[$toWorksheetName] = &$this->_calculationCache[$fromWorksheetName]; + unset($this->_calculationCache[$fromWorksheetName]); + } + } // function renameCalculationCacheForWorksheet() + + + /** + * Get the currently defined locale code + * + * @return string + */ + public function getLocale() { + return self::$_localeLanguage; + } // function getLocale() + + + /** + * Set the locale code + * + * @param string $locale The locale to use for formula translation + * @return boolean + */ + public function setLocale($locale = 'en_us') { + // Identify our locale and language + $language = $locale = strtolower($locale); + if (strpos($locale,'_') !== FALSE) { + list($language) = explode('_',$locale); + } + + if (count(self::$_validLocaleLanguages) == 1) + self::_loadLocales(); + + // Test whether we have any language data for this language (any locale) + if (in_array($language,self::$_validLocaleLanguages)) { + // initialise language/locale settings + self::$_localeFunctions = array(); + self::$_localeArgumentSeparator = ','; + self::$_localeBoolean = array('TRUE' => 'TRUE', 'FALSE' => 'FALSE', 'NULL' => 'NULL'); + // Default is English, if user isn't requesting english, then read the necessary data from the locale files + if ($locale != 'en_us') { + // Search for a file with a list of function names for locale + $functionNamesFile = PHPEXCEL_ROOT . 'PHPExcel'.DIRECTORY_SEPARATOR.'locale'.DIRECTORY_SEPARATOR.str_replace('_',DIRECTORY_SEPARATOR,$locale).DIRECTORY_SEPARATOR.'functions'; + if (!file_exists($functionNamesFile)) { + // If there isn't a locale specific function file, look for a language specific function file + $functionNamesFile = PHPEXCEL_ROOT . 'PHPExcel'.DIRECTORY_SEPARATOR.'locale'.DIRECTORY_SEPARATOR.$language.DIRECTORY_SEPARATOR.'functions'; + if (!file_exists($functionNamesFile)) { + return FALSE; + } + } + // Retrieve the list of locale or language specific function names + $localeFunctions = file($functionNamesFile,FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES); + foreach ($localeFunctions as $localeFunction) { + list($localeFunction) = explode('##',$localeFunction); // Strip out comments + if (strpos($localeFunction,'=') !== FALSE) { + list($fName,$lfName) = explode('=',$localeFunction); + $fName = trim($fName); + $lfName = trim($lfName); + if ((isset(self::$_PHPExcelFunctions[$fName])) && ($lfName != '') && ($fName != $lfName)) { + self::$_localeFunctions[$fName] = $lfName; + } + } + } + // Default the TRUE and FALSE constants to the locale names of the TRUE() and FALSE() functions + if (isset(self::$_localeFunctions['TRUE'])) { self::$_localeBoolean['TRUE'] = self::$_localeFunctions['TRUE']; } + if (isset(self::$_localeFunctions['FALSE'])) { self::$_localeBoolean['FALSE'] = self::$_localeFunctions['FALSE']; } + + $configFile = PHPEXCEL_ROOT . 'PHPExcel'.DIRECTORY_SEPARATOR.'locale'.DIRECTORY_SEPARATOR.str_replace('_',DIRECTORY_SEPARATOR,$locale).DIRECTORY_SEPARATOR.'config'; + if (!file_exists($configFile)) { + $configFile = PHPEXCEL_ROOT . 'PHPExcel'.DIRECTORY_SEPARATOR.'locale'.DIRECTORY_SEPARATOR.$language.DIRECTORY_SEPARATOR.'config'; + } + if (file_exists($configFile)) { + $localeSettings = file($configFile,FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES); + foreach ($localeSettings as $localeSetting) { + list($localeSetting) = explode('##',$localeSetting); // Strip out comments + if (strpos($localeSetting,'=') !== FALSE) { + list($settingName,$settingValue) = explode('=',$localeSetting); + $settingName = strtoupper(trim($settingName)); + switch ($settingName) { + case 'ARGUMENTSEPARATOR' : + self::$_localeArgumentSeparator = trim($settingValue); + break; + } + } + } + } + } + + self::$functionReplaceFromExcel = self::$functionReplaceToExcel = + self::$functionReplaceFromLocale = self::$functionReplaceToLocale = NULL; + self::$_localeLanguage = $locale; + return TRUE; + } + return FALSE; + } // function setLocale() + + + + public static function _translateSeparator($fromSeparator,$toSeparator,$formula,&$inBraces) { + $strlen = mb_strlen($formula); + for ($i = 0; $i < $strlen; ++$i) { + $chr = mb_substr($formula,$i,1); + switch ($chr) { + case '{' : $inBraces = TRUE; + break; + case '}' : $inBraces = FALSE; + break; + case $fromSeparator : + if (!$inBraces) { + $formula = mb_substr($formula,0,$i).$toSeparator.mb_substr($formula,$i+1); + } + } + } + return $formula; + } + + private static function _translateFormula($from,$to,$formula,$fromSeparator,$toSeparator) { + // Convert any Excel function names to the required language + if (self::$_localeLanguage !== 'en_us') { + $inBraces = FALSE; + // If there is the possibility of braces within a quoted string, then we don't treat those as matrix indicators + if (strpos($formula,'"') !== FALSE) { + // So instead we skip replacing in any quoted strings by only replacing in every other array element after we've exploded + // the formula + $temp = explode('"',$formula); + $i = FALSE; + foreach($temp as &$value) { + // Only count/replace in alternating array entries + if ($i = !$i) { + $value = preg_replace($from,$to,$value); + $value = self::_translateSeparator($fromSeparator,$toSeparator,$value,$inBraces); + } + } + unset($value); + // Then rebuild the formula string + $formula = implode('"',$temp); + } else { + // If there's no quoted strings, then we do a simple count/replace + $formula = preg_replace($from,$to,$formula); + $formula = self::_translateSeparator($fromSeparator,$toSeparator,$formula,$inBraces); + } + } + + return $formula; + } + + private static $functionReplaceFromExcel = NULL; + private static $functionReplaceToLocale = NULL; + + public function _translateFormulaToLocale($formula) { + if (self::$functionReplaceFromExcel === NULL) { + self::$functionReplaceFromExcel = array(); + foreach(array_keys(self::$_localeFunctions) as $excelFunctionName) { + self::$functionReplaceFromExcel[] = '/(@?[^\w\.])'.preg_quote($excelFunctionName).'([\s]*\()/Ui'; + } + foreach(array_keys(self::$_localeBoolean) as $excelBoolean) { + self::$functionReplaceFromExcel[] = '/(@?[^\w\.])'.preg_quote($excelBoolean).'([^\w\.])/Ui'; + } + + } + + if (self::$functionReplaceToLocale === NULL) { + self::$functionReplaceToLocale = array(); + foreach(array_values(self::$_localeFunctions) as $localeFunctionName) { + self::$functionReplaceToLocale[] = '$1'.trim($localeFunctionName).'$2'; + } + foreach(array_values(self::$_localeBoolean) as $localeBoolean) { + self::$functionReplaceToLocale[] = '$1'.trim($localeBoolean).'$2'; + } + } + + return self::_translateFormula(self::$functionReplaceFromExcel,self::$functionReplaceToLocale,$formula,',',self::$_localeArgumentSeparator); + } // function _translateFormulaToLocale() + + + private static $functionReplaceFromLocale = NULL; + private static $functionReplaceToExcel = NULL; + + public function _translateFormulaToEnglish($formula) { + if (self::$functionReplaceFromLocale === NULL) { + self::$functionReplaceFromLocale = array(); + foreach(array_values(self::$_localeFunctions) as $localeFunctionName) { + self::$functionReplaceFromLocale[] = '/(@?[^\w\.])'.preg_quote($localeFunctionName).'([\s]*\()/Ui'; + } + foreach(array_values(self::$_localeBoolean) as $excelBoolean) { + self::$functionReplaceFromLocale[] = '/(@?[^\w\.])'.preg_quote($excelBoolean).'([^\w\.])/Ui'; + } + } + + if (self::$functionReplaceToExcel === NULL) { + self::$functionReplaceToExcel = array(); + foreach(array_keys(self::$_localeFunctions) as $excelFunctionName) { + self::$functionReplaceToExcel[] = '$1'.trim($excelFunctionName).'$2'; + } + foreach(array_keys(self::$_localeBoolean) as $excelBoolean) { + self::$functionReplaceToExcel[] = '$1'.trim($excelBoolean).'$2'; + } + } + + return self::_translateFormula(self::$functionReplaceFromLocale,self::$functionReplaceToExcel,$formula,self::$_localeArgumentSeparator,','); + } // function _translateFormulaToEnglish() + + + public static function _localeFunc($function) { + if (self::$_localeLanguage !== 'en_us') { + $functionName = trim($function,'('); + if (isset(self::$_localeFunctions[$functionName])) { + $brace = ($functionName != $function); + $function = self::$_localeFunctions[$functionName]; + if ($brace) { $function .= '('; } + } + } + return $function; + } + + + + + /** + * Wrap string values in quotes + * + * @param mixed $value + * @return mixed + */ + public static function _wrapResult($value) { + if (is_string($value)) { + // Error values cannot be "wrapped" + if (preg_match('/^'.self::CALCULATION_REGEXP_ERROR.'$/i', $value, $match)) { + // Return Excel errors "as is" + return $value; + } + // Return strings wrapped in quotes + return '"'.$value.'"'; + // Convert numeric errors to NaN error + } else if((is_float($value)) && ((is_nan($value)) || (is_infinite($value)))) { + return PHPExcel_Calculation_Functions::NaN(); + } + + return $value; + } // function _wrapResult() + + + /** + * Remove quotes used as a wrapper to identify string values + * + * @param mixed $value + * @return mixed + */ + public static function _unwrapResult($value) { + if (is_string($value)) { + if ((isset($value{0})) && ($value{0} == '"') && (substr($value,-1) == '"')) { + return substr($value,1,-1); + } + // Convert numeric errors to NaN error + } else if((is_float($value)) && ((is_nan($value)) || (is_infinite($value)))) { + return PHPExcel_Calculation_Functions::NaN(); + } + return $value; + } // function _unwrapResult() + + + + + /** + * Calculate cell value (using formula from a cell ID) + * Retained for backward compatibility + * + * @access public + * @param PHPExcel_Cell $pCell Cell to calculate + * @return mixed + * @throws PHPExcel_Calculation_Exception + */ + public function calculate(PHPExcel_Cell $pCell = NULL) { + try { + return $this->calculateCellValue($pCell); + } catch (PHPExcel_Exception $e) { + throw new PHPExcel_Calculation_Exception($e->getMessage()); + } + } // function calculate() + + + /** + * Calculate the value of a cell formula + * + * @access public + * @param PHPExcel_Cell $pCell Cell to calculate + * @param Boolean $resetLog Flag indicating whether the debug log should be reset or not + * @return mixed + * @throws PHPExcel_Calculation_Exception + */ + public function calculateCellValue(PHPExcel_Cell $pCell = NULL, $resetLog = TRUE) { + if ($pCell === NULL) { + return NULL; + } + + $returnArrayAsType = self::$returnArrayAsType; + if ($resetLog) { + // Initialise the logging settings if requested + $this->formulaError = null; + $this->_debugLog->clearLog(); + $this->_cyclicReferenceStack->clear(); + $this->_cyclicFormulaCount = 1; + + self::$returnArrayAsType = self::RETURN_ARRAY_AS_ARRAY; + } + + // Execute the calculation for the cell formula + $this->_cellStack[] = array( + 'sheet' => $pCell->getWorksheet()->getTitle(), + 'cell' => $pCell->getCoordinate(), + ); + try { + $result = self::_unwrapResult($this->_calculateFormulaValue($pCell->getValue(), $pCell->getCoordinate(), $pCell)); + $cellAddress = array_pop($this->_cellStack); + $this->_workbook->getSheetByName($cellAddress['sheet'])->getCell($cellAddress['cell']); + } catch (PHPExcel_Exception $e) { + $cellAddress = array_pop($this->_cellStack); + $this->_workbook->getSheetByName($cellAddress['sheet'])->getCell($cellAddress['cell']); + throw new PHPExcel_Calculation_Exception($e->getMessage()); + } + + if ((is_array($result)) && (self::$returnArrayAsType != self::RETURN_ARRAY_AS_ARRAY)) { + self::$returnArrayAsType = $returnArrayAsType; + $testResult = PHPExcel_Calculation_Functions::flattenArray($result); + if (self::$returnArrayAsType == self::RETURN_ARRAY_AS_ERROR) { + return PHPExcel_Calculation_Functions::VALUE(); + } + // If there's only a single cell in the array, then we allow it + if (count($testResult) != 1) { + // If keys are numeric, then it's a matrix result rather than a cell range result, so we permit it + $r = array_keys($result); + $r = array_shift($r); + if (!is_numeric($r)) { return PHPExcel_Calculation_Functions::VALUE(); } + if (is_array($result[$r])) { + $c = array_keys($result[$r]); + $c = array_shift($c); + if (!is_numeric($c)) { + return PHPExcel_Calculation_Functions::VALUE(); + } + } + } + $result = array_shift($testResult); + } + self::$returnArrayAsType = $returnArrayAsType; + + + if ($result === NULL) { + return 0; + } elseif((is_float($result)) && ((is_nan($result)) || (is_infinite($result)))) { + return PHPExcel_Calculation_Functions::NaN(); + } + return $result; + } // function calculateCellValue( + + + /** + * Validate and parse a formula string + * + * @param string $formula Formula to parse + * @return array + * @throws PHPExcel_Calculation_Exception + */ + public function parseFormula($formula) { + // Basic validation that this is indeed a formula + // We return an empty array if not + $formula = trim($formula); + if ((!isset($formula{0})) || ($formula{0} != '=')) return array(); + $formula = ltrim(substr($formula,1)); + if (!isset($formula{0})) return array(); + + // Parse the formula and return the token stack + return $this->_parseFormula($formula); + } // function parseFormula() + + + /** + * Calculate the value of a formula + * + * @param string $formula Formula to parse + * @param string $cellID Address of the cell to calculate + * @param PHPExcel_Cell $pCell Cell to calculate + * @return mixed + * @throws PHPExcel_Calculation_Exception + */ + public function calculateFormula($formula, $cellID=NULL, PHPExcel_Cell $pCell = NULL) { + // Initialise the logging settings + $this->formulaError = null; + $this->_debugLog->clearLog(); + $this->_cyclicReferenceStack->clear(); + + // Disable calculation cacheing because it only applies to cell calculations, not straight formulae + // But don't actually flush any cache + $resetCache = $this->getCalculationCacheEnabled(); + $this->_calculationCacheEnabled = FALSE; + // Execute the calculation + try { + $result = self::_unwrapResult($this->_calculateFormulaValue($formula, $cellID, $pCell)); + } catch (PHPExcel_Exception $e) { + throw new PHPExcel_Calculation_Exception($e->getMessage()); + } + + // Reset calculation cacheing to its previous state + $this->_calculationCacheEnabled = $resetCache; + + return $result; + } // function calculateFormula() + + + public function getValueFromCache($cellReference, &$cellValue) { + // Is calculation cacheing enabled? + // Is the value present in calculation cache? + $this->_debugLog->writeDebugLog('Testing cache value for cell ', $cellReference); + if (($this->_calculationCacheEnabled) && (isset($this->_calculationCache[$cellReference]))) { + $this->_debugLog->writeDebugLog('Retrieving value for cell ', $cellReference, ' from cache'); + // Return the cached result + $cellValue = $this->_calculationCache[$cellReference]; + return TRUE; + } + return FALSE; + } + + public function saveValueToCache($cellReference, $cellValue) { + if ($this->_calculationCacheEnabled) { + $this->_calculationCache[$cellReference] = $cellValue; + } + } + + /** + * Parse a cell formula and calculate its value + * + * @param string $formula The formula to parse and calculate + * @param string $cellID The ID (e.g. A3) of the cell that we are calculating + * @param PHPExcel_Cell $pCell Cell to calculate + * @return mixed + * @throws PHPExcel_Calculation_Exception + */ + public function _calculateFormulaValue($formula, $cellID=null, PHPExcel_Cell $pCell = null) { + $cellValue = null; + + // Basic validation that this is indeed a formula + // We simply return the cell value if not + $formula = trim($formula); + if ($formula{0} != '=') return self::_wrapResult($formula); + $formula = ltrim(substr($formula, 1)); + if (!isset($formula{0})) return self::_wrapResult($formula); + + $pCellParent = ($pCell !== NULL) ? $pCell->getWorksheet() : NULL; + $wsTitle = ($pCellParent !== NULL) ? $pCellParent->getTitle() : "\x00Wrk"; + $wsCellReference = $wsTitle . '!' . $cellID; + + if (($cellID !== NULL) && ($this->getValueFromCache($wsCellReference, $cellValue))) { + return $cellValue; + } + + if (($wsTitle{0} !== "\x00") && ($this->_cyclicReferenceStack->onStack($wsCellReference))) { + if ($this->cyclicFormulaCount <= 0) { + $this->_cyclicFormulaCell = ''; + return $this->_raiseFormulaError('Cyclic Reference in Formula'); + } elseif ($this->_cyclicFormulaCell === $wsCellReference) { + ++$this->_cyclicFormulaCount; + if ($this->_cyclicFormulaCount >= $this->cyclicFormulaCount) { + $this->_cyclicFormulaCell = ''; + return $cellValue; + } + } elseif ($this->_cyclicFormulaCell == '') { + if ($this->_cyclicFormulaCount >= $this->cyclicFormulaCount) { + return $cellValue; + } + $this->_cyclicFormulaCell = $wsCellReference; + } + } + + // Parse the formula onto the token stack and calculate the value + $this->_cyclicReferenceStack->push($wsCellReference); + $cellValue = $this->_processTokenStack($this->_parseFormula($formula, $pCell), $cellID, $pCell); + $this->_cyclicReferenceStack->pop(); + + // Save to calculation cache + if ($cellID !== NULL) { + $this->saveValueToCache($wsCellReference, $cellValue); + } + + // Return the calculated value + return $cellValue; + } // function _calculateFormulaValue() + + + /** + * Ensure that paired matrix operands are both matrices and of the same size + * + * @param mixed &$operand1 First matrix operand + * @param mixed &$operand2 Second matrix operand + * @param integer $resize Flag indicating whether the matrices should be resized to match + * and (if so), whether the smaller dimension should grow or the + * larger should shrink. + * 0 = no resize + * 1 = shrink to fit + * 2 = extend to fit + */ + private static function _checkMatrixOperands(&$operand1,&$operand2,$resize = 1) { + // Examine each of the two operands, and turn them into an array if they aren't one already + // Note that this function should only be called if one or both of the operand is already an array + if (!is_array($operand1)) { + list($matrixRows,$matrixColumns) = self::_getMatrixDimensions($operand2); + $operand1 = array_fill(0,$matrixRows,array_fill(0,$matrixColumns,$operand1)); + $resize = 0; + } elseif (!is_array($operand2)) { + list($matrixRows,$matrixColumns) = self::_getMatrixDimensions($operand1); + $operand2 = array_fill(0,$matrixRows,array_fill(0,$matrixColumns,$operand2)); + $resize = 0; + } + + list($matrix1Rows,$matrix1Columns) = self::_getMatrixDimensions($operand1); + list($matrix2Rows,$matrix2Columns) = self::_getMatrixDimensions($operand2); + if (($matrix1Rows == $matrix2Columns) && ($matrix2Rows == $matrix1Columns)) { + $resize = 1; + } + + if ($resize == 2) { + // Given two matrices of (potentially) unequal size, convert the smaller in each dimension to match the larger + self::_resizeMatricesExtend($operand1,$operand2,$matrix1Rows,$matrix1Columns,$matrix2Rows,$matrix2Columns); + } elseif ($resize == 1) { + // Given two matrices of (potentially) unequal size, convert the larger in each dimension to match the smaller + self::_resizeMatricesShrink($operand1,$operand2,$matrix1Rows,$matrix1Columns,$matrix2Rows,$matrix2Columns); + } + return array( $matrix1Rows,$matrix1Columns,$matrix2Rows,$matrix2Columns); + } // function _checkMatrixOperands() + + + /** + * Read the dimensions of a matrix, and re-index it with straight numeric keys starting from row 0, column 0 + * + * @param mixed &$matrix matrix operand + * @return array An array comprising the number of rows, and number of columns + */ + public static function _getMatrixDimensions(&$matrix) { + $matrixRows = count($matrix); + $matrixColumns = 0; + foreach($matrix as $rowKey => $rowValue) { + $matrixColumns = max(count($rowValue),$matrixColumns); + if (!is_array($rowValue)) { + $matrix[$rowKey] = array($rowValue); + } else { + $matrix[$rowKey] = array_values($rowValue); + } + } + $matrix = array_values($matrix); + return array($matrixRows,$matrixColumns); + } // function _getMatrixDimensions() + + + /** + * Ensure that paired matrix operands are both matrices of the same size + * + * @param mixed &$matrix1 First matrix operand + * @param mixed &$matrix2 Second matrix operand + * @param integer $matrix1Rows Row size of first matrix operand + * @param integer $matrix1Columns Column size of first matrix operand + * @param integer $matrix2Rows Row size of second matrix operand + * @param integer $matrix2Columns Column size of second matrix operand + */ + private static function _resizeMatricesShrink(&$matrix1,&$matrix2,$matrix1Rows,$matrix1Columns,$matrix2Rows,$matrix2Columns) { + if (($matrix2Columns < $matrix1Columns) || ($matrix2Rows < $matrix1Rows)) { + if ($matrix2Rows < $matrix1Rows) { + for ($i = $matrix2Rows; $i < $matrix1Rows; ++$i) { + unset($matrix1[$i]); + } + } + if ($matrix2Columns < $matrix1Columns) { + for ($i = 0; $i < $matrix1Rows; ++$i) { + for ($j = $matrix2Columns; $j < $matrix1Columns; ++$j) { + unset($matrix1[$i][$j]); + } + } + } + } + + if (($matrix1Columns < $matrix2Columns) || ($matrix1Rows < $matrix2Rows)) { + if ($matrix1Rows < $matrix2Rows) { + for ($i = $matrix1Rows; $i < $matrix2Rows; ++$i) { + unset($matrix2[$i]); + } + } + if ($matrix1Columns < $matrix2Columns) { + for ($i = 0; $i < $matrix2Rows; ++$i) { + for ($j = $matrix1Columns; $j < $matrix2Columns; ++$j) { + unset($matrix2[$i][$j]); + } + } + } + } + } // function _resizeMatricesShrink() + + + /** + * Ensure that paired matrix operands are both matrices of the same size + * + * @param mixed &$matrix1 First matrix operand + * @param mixed &$matrix2 Second matrix operand + * @param integer $matrix1Rows Row size of first matrix operand + * @param integer $matrix1Columns Column size of first matrix operand + * @param integer $matrix2Rows Row size of second matrix operand + * @param integer $matrix2Columns Column size of second matrix operand + */ + private static function _resizeMatricesExtend(&$matrix1,&$matrix2,$matrix1Rows,$matrix1Columns,$matrix2Rows,$matrix2Columns) { + if (($matrix2Columns < $matrix1Columns) || ($matrix2Rows < $matrix1Rows)) { + if ($matrix2Columns < $matrix1Columns) { + for ($i = 0; $i < $matrix2Rows; ++$i) { + $x = $matrix2[$i][$matrix2Columns-1]; + for ($j = $matrix2Columns; $j < $matrix1Columns; ++$j) { + $matrix2[$i][$j] = $x; + } + } + } + if ($matrix2Rows < $matrix1Rows) { + $x = $matrix2[$matrix2Rows-1]; + for ($i = 0; $i < $matrix1Rows; ++$i) { + $matrix2[$i] = $x; + } + } + } + + if (($matrix1Columns < $matrix2Columns) || ($matrix1Rows < $matrix2Rows)) { + if ($matrix1Columns < $matrix2Columns) { + for ($i = 0; $i < $matrix1Rows; ++$i) { + $x = $matrix1[$i][$matrix1Columns-1]; + for ($j = $matrix1Columns; $j < $matrix2Columns; ++$j) { + $matrix1[$i][$j] = $x; + } + } + } + if ($matrix1Rows < $matrix2Rows) { + $x = $matrix1[$matrix1Rows-1]; + for ($i = 0; $i < $matrix2Rows; ++$i) { + $matrix1[$i] = $x; + } + } + } + } // function _resizeMatricesExtend() + + + /** + * Format details of an operand for display in the log (based on operand type) + * + * @param mixed $value First matrix operand + * @return mixed + */ + private function _showValue($value) { + if ($this->_debugLog->getWriteDebugLog()) { + $testArray = PHPExcel_Calculation_Functions::flattenArray($value); + if (count($testArray) == 1) { + $value = array_pop($testArray); + } + + if (is_array($value)) { + $returnMatrix = array(); + $pad = $rpad = ', '; + foreach($value as $row) { + if (is_array($row)) { + $returnMatrix[] = implode($pad,array_map(array($this,'_showValue'),$row)); + $rpad = '; '; + } else { + $returnMatrix[] = $this->_showValue($row); + } + } + return '{ '.implode($rpad,$returnMatrix).' }'; + } elseif(is_string($value) && (trim($value,'"') == $value)) { + return '"'.$value.'"'; + } elseif(is_bool($value)) { + return ($value) ? self::$_localeBoolean['TRUE'] : self::$_localeBoolean['FALSE']; + } + } + return PHPExcel_Calculation_Functions::flattenSingleValue($value); + } // function _showValue() + + + /** + * Format type and details of an operand for display in the log (based on operand type) + * + * @param mixed $value First matrix operand + * @return mixed + */ + private function _showTypeDetails($value) { + if ($this->_debugLog->getWriteDebugLog()) { + $testArray = PHPExcel_Calculation_Functions::flattenArray($value); + if (count($testArray) == 1) { + $value = array_pop($testArray); + } + + if ($value === NULL) { + return 'a NULL value'; + } elseif (is_float($value)) { + $typeString = 'a floating point number'; + } elseif(is_int($value)) { + $typeString = 'an integer number'; + } elseif(is_bool($value)) { + $typeString = 'a boolean'; + } elseif(is_array($value)) { + $typeString = 'a matrix'; + } else { + if ($value == '') { + return 'an empty string'; + } elseif ($value{0} == '#') { + return 'a '.$value.' error'; + } else { + $typeString = 'a string'; + } + } + return $typeString.' with a value of '.$this->_showValue($value); + } + } // function _showTypeDetails() + + + private function _convertMatrixReferences($formula) { + static $matrixReplaceFrom = array('{',';','}'); + static $matrixReplaceTo = array('MKMATRIX(MKMATRIX(','),MKMATRIX(','))'); + + // Convert any Excel matrix references to the MKMATRIX() function + if (strpos($formula,'{') !== FALSE) { + // If there is the possibility of braces within a quoted string, then we don't treat those as matrix indicators + if (strpos($formula,'"') !== FALSE) { + // So instead we skip replacing in any quoted strings by only replacing in every other array element after we've exploded + // the formula + $temp = explode('"',$formula); + // Open and Closed counts used for trapping mismatched braces in the formula + $openCount = $closeCount = 0; + $i = FALSE; + foreach($temp as &$value) { + // Only count/replace in alternating array entries + if ($i = !$i) { + $openCount += substr_count($value,'{'); + $closeCount += substr_count($value,'}'); + $value = str_replace($matrixReplaceFrom,$matrixReplaceTo,$value); + } + } + unset($value); + // Then rebuild the formula string + $formula = implode('"',$temp); + } else { + // If there's no quoted strings, then we do a simple count/replace + $openCount = substr_count($formula,'{'); + $closeCount = substr_count($formula,'}'); + $formula = str_replace($matrixReplaceFrom,$matrixReplaceTo,$formula); + } + // Trap for mismatched braces and trigger an appropriate error + if ($openCount < $closeCount) { + if ($openCount > 0) { + return $this->_raiseFormulaError("Formula Error: Mismatched matrix braces '}'"); + } else { + return $this->_raiseFormulaError("Formula Error: Unexpected '}' encountered"); + } + } elseif ($openCount > $closeCount) { + if ($closeCount > 0) { + return $this->_raiseFormulaError("Formula Error: Mismatched matrix braces '{'"); + } else { + return $this->_raiseFormulaError("Formula Error: Unexpected '{' encountered"); + } + } + } + + return $formula; + } // function _convertMatrixReferences() + + + private static function _mkMatrix() { + return func_get_args(); + } // function _mkMatrix() + + + // Binary Operators + // These operators always work on two values + // Array key is the operator, the value indicates whether this is a left or right associative operator + private static $_operatorAssociativity = array( + '^' => 0, // Exponentiation + '*' => 0, '/' => 0, // Multiplication and Division + '+' => 0, '-' => 0, // Addition and Subtraction + '&' => 0, // Concatenation + '|' => 0, ':' => 0, // Intersect and Range + '>' => 0, '<' => 0, '=' => 0, '>=' => 0, '<=' => 0, '<>' => 0 // Comparison + ); + + // Comparison (Boolean) Operators + // These operators work on two values, but always return a boolean result + private static $_comparisonOperators = array('>' => TRUE, '<' => TRUE, '=' => TRUE, '>=' => TRUE, '<=' => TRUE, '<>' => TRUE); + + // Operator Precedence + // This list includes all valid operators, whether binary (including boolean) or unary (such as %) + // Array key is the operator, the value is its precedence + private static $_operatorPrecedence = array( + ':' => 8, // Range + '|' => 7, // Intersect + '~' => 6, // Negation + '%' => 5, // Percentage + '^' => 4, // Exponentiation + '*' => 3, '/' => 3, // Multiplication and Division + '+' => 2, '-' => 2, // Addition and Subtraction + '&' => 1, // Concatenation + '>' => 0, '<' => 0, '=' => 0, '>=' => 0, '<=' => 0, '<>' => 0 // Comparison + ); + + // Convert infix to postfix notation + private function _parseFormula($formula, PHPExcel_Cell $pCell = NULL) { + if (($formula = $this->_convertMatrixReferences(trim($formula))) === FALSE) { + return FALSE; + } + + // If we're using cell caching, then $pCell may well be flushed back to the cache (which detaches the parent worksheet), + // so we store the parent worksheet so that we can re-attach it when necessary + $pCellParent = ($pCell !== NULL) ? $pCell->getWorksheet() : NULL; + + $regexpMatchString = '/^('.self::CALCULATION_REGEXP_FUNCTION. + '|'.self::CALCULATION_REGEXP_CELLREF. + '|'.self::CALCULATION_REGEXP_NUMBER. + '|'.self::CALCULATION_REGEXP_STRING. + '|'.self::CALCULATION_REGEXP_OPENBRACE. + '|'.self::CALCULATION_REGEXP_NAMEDRANGE. + '|'.self::CALCULATION_REGEXP_ERROR. + ')/si'; + + // Start with initialisation + $index = 0; + $stack = new PHPExcel_Calculation_Token_Stack; + $output = array(); + $expectingOperator = FALSE; // We use this test in syntax-checking the expression to determine when a + // - is a negation or + is a positive operator rather than an operation + $expectingOperand = FALSE; // We use this test in syntax-checking the expression to determine whether an operand + // should be null in a function call + // The guts of the lexical parser + // Loop through the formula extracting each operator and operand in turn + while(TRUE) { +//echo 'Assessing Expression '.substr($formula, $index),PHP_EOL; + $opCharacter = $formula{$index}; // Get the first character of the value at the current index position +//echo 'Initial character of expression block is '.$opCharacter,PHP_EOL; + if ((isset(self::$_comparisonOperators[$opCharacter])) && (strlen($formula) > $index) && (isset(self::$_comparisonOperators[$formula{$index+1}]))) { + $opCharacter .= $formula{++$index}; +//echo 'Initial character of expression block is comparison operator '.$opCharacter.PHP_EOL; + } + + // Find out if we're currently at the beginning of a number, variable, cell reference, function, parenthesis or operand + $isOperandOrFunction = preg_match($regexpMatchString, substr($formula, $index), $match); +//echo '$isOperandOrFunction is '.(($isOperandOrFunction) ? 'True' : 'False').PHP_EOL; +//var_dump($match); + + if ($opCharacter == '-' && !$expectingOperator) { // Is it a negation instead of a minus? +//echo 'Element is a Negation operator',PHP_EOL; + $stack->push('Unary Operator','~'); // Put a negation on the stack + ++$index; // and drop the negation symbol + } elseif ($opCharacter == '%' && $expectingOperator) { +//echo 'Element is a Percentage operator',PHP_EOL; + $stack->push('Unary Operator','%'); // Put a percentage on the stack + ++$index; + } elseif ($opCharacter == '+' && !$expectingOperator) { // Positive (unary plus rather than binary operator plus) can be discarded? +//echo 'Element is a Positive number, not Plus operator',PHP_EOL; + ++$index; // Drop the redundant plus symbol + } elseif ((($opCharacter == '~') || ($opCharacter == '|')) && (!$isOperandOrFunction)) { // We have to explicitly deny a tilde or pipe, because they are legal + return $this->_raiseFormulaError("Formula Error: Illegal character '~'"); // on the stack but not in the input expression + + } elseif ((isset(self::$_operators[$opCharacter]) or $isOperandOrFunction) && $expectingOperator) { // Are we putting an operator on the stack? +//echo 'Element with value '.$opCharacter.' is an Operator',PHP_EOL; + while($stack->count() > 0 && + ($o2 = $stack->last()) && + isset(self::$_operators[$o2['value']]) && + @(self::$_operatorAssociativity[$opCharacter] ? self::$_operatorPrecedence[$opCharacter] < self::$_operatorPrecedence[$o2['value']] : self::$_operatorPrecedence[$opCharacter] <= self::$_operatorPrecedence[$o2['value']])) { + $output[] = $stack->pop(); // Swap operands and higher precedence operators from the stack to the output + } + $stack->push('Binary Operator',$opCharacter); // Finally put our current operator onto the stack + ++$index; + $expectingOperator = FALSE; + + } elseif ($opCharacter == ')' && $expectingOperator) { // Are we expecting to close a parenthesis? +//echo 'Element is a Closing bracket',PHP_EOL; + $expectingOperand = FALSE; + while (($o2 = $stack->pop()) && $o2['value'] != '(') { // Pop off the stack back to the last ( + if ($o2 === NULL) return $this->_raiseFormulaError('Formula Error: Unexpected closing brace ")"'); + else $output[] = $o2; + } + $d = $stack->last(2); + if (preg_match('/^'.self::CALCULATION_REGEXP_FUNCTION.'$/i', $d['value'], $matches)) { // Did this parenthesis just close a function? + $functionName = $matches[1]; // Get the function name +//echo 'Closed Function is '.$functionName,PHP_EOL; + $d = $stack->pop(); + $argumentCount = $d['value']; // See how many arguments there were (argument count is the next value stored on the stack) +//if ($argumentCount == 0) { +// echo 'With no arguments',PHP_EOL; +//} elseif ($argumentCount == 1) { +// echo 'With 1 argument',PHP_EOL; +//} else { +// echo 'With '.$argumentCount.' arguments',PHP_EOL; +//} + $output[] = $d; // Dump the argument count on the output + $output[] = $stack->pop(); // Pop the function and push onto the output + if (isset(self::$_controlFunctions[$functionName])) { +//echo 'Built-in function '.$functionName,PHP_EOL; + $expectedArgumentCount = self::$_controlFunctions[$functionName]['argumentCount']; + $functionCall = self::$_controlFunctions[$functionName]['functionCall']; + } elseif (isset(self::$_PHPExcelFunctions[$functionName])) { +//echo 'PHPExcel function '.$functionName,PHP_EOL; + $expectedArgumentCount = self::$_PHPExcelFunctions[$functionName]['argumentCount']; + $functionCall = self::$_PHPExcelFunctions[$functionName]['functionCall']; + } else { // did we somehow push a non-function on the stack? this should never happen + return $this->_raiseFormulaError("Formula Error: Internal error, non-function on stack"); + } + // Check the argument count + $argumentCountError = FALSE; + if (is_numeric($expectedArgumentCount)) { + if ($expectedArgumentCount < 0) { +//echo '$expectedArgumentCount is between 0 and '.abs($expectedArgumentCount),PHP_EOL; + if ($argumentCount > abs($expectedArgumentCount)) { + $argumentCountError = TRUE; + $expectedArgumentCountString = 'no more than '.abs($expectedArgumentCount); + } + } else { +//echo '$expectedArgumentCount is numeric '.$expectedArgumentCount,PHP_EOL; + if ($argumentCount != $expectedArgumentCount) { + $argumentCountError = TRUE; + $expectedArgumentCountString = $expectedArgumentCount; + } + } + } elseif ($expectedArgumentCount != '*') { + $isOperandOrFunction = preg_match('/(\d*)([-+,])(\d*)/',$expectedArgumentCount,$argMatch); +//print_r($argMatch); +//echo PHP_EOL; + switch ($argMatch[2]) { + case '+' : + if ($argumentCount < $argMatch[1]) { + $argumentCountError = TRUE; + $expectedArgumentCountString = $argMatch[1].' or more '; + } + break; + case '-' : + if (($argumentCount < $argMatch[1]) || ($argumentCount > $argMatch[3])) { + $argumentCountError = TRUE; + $expectedArgumentCountString = 'between '.$argMatch[1].' and '.$argMatch[3]; + } + break; + case ',' : + if (($argumentCount != $argMatch[1]) && ($argumentCount != $argMatch[3])) { + $argumentCountError = TRUE; + $expectedArgumentCountString = 'either '.$argMatch[1].' or '.$argMatch[3]; + } + break; + } + } + if ($argumentCountError) { + return $this->_raiseFormulaError("Formula Error: Wrong number of arguments for $functionName() function: $argumentCount given, ".$expectedArgumentCountString." expected"); + } + } + ++$index; + + } elseif ($opCharacter == ',') { // Is this the separator for function arguments? +//echo 'Element is a Function argument separator',PHP_EOL; + while (($o2 = $stack->pop()) && $o2['value'] != '(') { // Pop off the stack back to the last ( + if ($o2 === NULL) return $this->_raiseFormulaError("Formula Error: Unexpected ,"); + else $output[] = $o2; // pop the argument expression stuff and push onto the output + } + // If we've a comma when we're expecting an operand, then what we actually have is a null operand; + // so push a null onto the stack + if (($expectingOperand) || (!$expectingOperator)) { + $output[] = array('type' => 'NULL Value', 'value' => self::$_ExcelConstants['NULL'], 'reference' => NULL); + } + // make sure there was a function + $d = $stack->last(2); + if (!preg_match('/^'.self::CALCULATION_REGEXP_FUNCTION.'$/i', $d['value'], $matches)) + return $this->_raiseFormulaError("Formula Error: Unexpected ,"); + $d = $stack->pop(); + $stack->push($d['type'],++$d['value'],$d['reference']); // increment the argument count + $stack->push('Brace', '('); // put the ( back on, we'll need to pop back to it again + $expectingOperator = FALSE; + $expectingOperand = TRUE; + ++$index; + + } elseif ($opCharacter == '(' && !$expectingOperator) { +// echo 'Element is an Opening Bracket
'; + $stack->push('Brace', '('); + ++$index; + + } elseif ($isOperandOrFunction && !$expectingOperator) { // do we now have a function/variable/number? + $expectingOperator = TRUE; + $expectingOperand = FALSE; + $val = $match[1]; + $length = strlen($val); +// echo 'Element with value '.$val.' is an Operand, Variable, Constant, String, Number, Cell Reference or Function
'; + + if (preg_match('/^'.self::CALCULATION_REGEXP_FUNCTION.'$/i', $val, $matches)) { + $val = preg_replace('/\s/u','',$val); +// echo 'Element '.$val.' is a Function
'; + if (isset(self::$_PHPExcelFunctions[strtoupper($matches[1])]) || isset(self::$_controlFunctions[strtoupper($matches[1])])) { // it's a function + $stack->push('Function', strtoupper($val)); + $ax = preg_match('/^\s*(\s*\))/ui', substr($formula, $index+$length), $amatch); + if ($ax) { + $stack->push('Operand Count for Function '.strtoupper($val).')', 0); + $expectingOperator = TRUE; + } else { + $stack->push('Operand Count for Function '.strtoupper($val).')', 1); + $expectingOperator = FALSE; + } + $stack->push('Brace', '('); + } else { // it's a var w/ implicit multiplication + $output[] = array('type' => 'Value', 'value' => $matches[1], 'reference' => NULL); + } + } elseif (preg_match('/^'.self::CALCULATION_REGEXP_CELLREF.'$/i', $val, $matches)) { +// echo 'Element '.$val.' is a Cell reference
'; + // Watch for this case-change when modifying to allow cell references in different worksheets... + // Should only be applied to the actual cell column, not the worksheet name + + // If the last entry on the stack was a : operator, then we have a cell range reference + $testPrevOp = $stack->last(1); + if ($testPrevOp['value'] == ':') { + // If we have a worksheet reference, then we're playing with a 3D reference + if ($matches[2] == '') { + // Otherwise, we 'inherit' the worksheet reference from the start cell reference + // The start of the cell range reference should be the last entry in $output + $startCellRef = $output[count($output)-1]['value']; + preg_match('/^'.self::CALCULATION_REGEXP_CELLREF.'$/i', $startCellRef, $startMatches); + if ($startMatches[2] > '') { + $val = $startMatches[2].'!'.$val; + } + } else { + return $this->_raiseFormulaError("3D Range references are not yet supported"); + } + } + + $output[] = array('type' => 'Cell Reference', 'value' => $val, 'reference' => $val); +// $expectingOperator = FALSE; + } else { // it's a variable, constant, string, number or boolean +// echo 'Element is a Variable, Constant, String, Number or Boolean
'; + // If the last entry on the stack was a : operator, then we may have a row or column range reference + $testPrevOp = $stack->last(1); + if ($testPrevOp['value'] == ':') { + $startRowColRef = $output[count($output)-1]['value']; + $rangeWS1 = ''; + if (strpos('!',$startRowColRef) !== FALSE) { + list($rangeWS1,$startRowColRef) = explode('!',$startRowColRef); + } + if ($rangeWS1 != '') $rangeWS1 .= '!'; + $rangeWS2 = $rangeWS1; + if (strpos('!',$val) !== FALSE) { + list($rangeWS2,$val) = explode('!',$val); + } + if ($rangeWS2 != '') $rangeWS2 .= '!'; + if ((is_integer($startRowColRef)) && (ctype_digit($val)) && + ($startRowColRef <= 1048576) && ($val <= 1048576)) { + // Row range + $endRowColRef = ($pCellParent !== NULL) ? $pCellParent->getHighestColumn() : 'XFD'; // Max 16,384 columns for Excel2007 + $output[count($output)-1]['value'] = $rangeWS1.'A'.$startRowColRef; + $val = $rangeWS2.$endRowColRef.$val; + } elseif ((ctype_alpha($startRowColRef)) && (ctype_alpha($val)) && + (strlen($startRowColRef) <= 3) && (strlen($val) <= 3)) { + // Column range + $endRowColRef = ($pCellParent !== NULL) ? $pCellParent->getHighestRow() : 1048576; // Max 1,048,576 rows for Excel2007 + $output[count($output)-1]['value'] = $rangeWS1.strtoupper($startRowColRef).'1'; + $val = $rangeWS2.$val.$endRowColRef; + } + } + + $localeConstant = FALSE; + if ($opCharacter == '"') { +// echo 'Element is a String
'; + // UnEscape any quotes within the string + $val = self::_wrapResult(str_replace('""','"',self::_unwrapResult($val))); + } elseif (is_numeric($val)) { +// echo 'Element is a Number
'; + if ((strpos($val,'.') !== FALSE) || (stripos($val,'e') !== FALSE) || ($val > PHP_INT_MAX) || ($val < -PHP_INT_MAX)) { +// echo 'Casting '.$val.' to float
'; + $val = (float) $val; + } else { +// echo 'Casting '.$val.' to integer
'; + $val = (integer) $val; + } + } elseif (isset(self::$_ExcelConstants[trim(strtoupper($val))])) { + $excelConstant = trim(strtoupper($val)); +// echo 'Element '.$excelConstant.' is an Excel Constant
'; + $val = self::$_ExcelConstants[$excelConstant]; + } elseif (($localeConstant = array_search(trim(strtoupper($val)), self::$_localeBoolean)) !== FALSE) { +// echo 'Element '.$localeConstant.' is an Excel Constant
'; + $val = self::$_ExcelConstants[$localeConstant]; + } + $details = array('type' => 'Value', 'value' => $val, 'reference' => NULL); + if ($localeConstant) { $details['localeValue'] = $localeConstant; } + $output[] = $details; + } + $index += $length; + + } elseif ($opCharacter == '$') { // absolute row or column range + ++$index; + } elseif ($opCharacter == ')') { // miscellaneous error checking + if ($expectingOperand) { + $output[] = array('type' => 'NULL Value', 'value' => self::$_ExcelConstants['NULL'], 'reference' => NULL); + $expectingOperand = FALSE; + $expectingOperator = TRUE; + } else { + return $this->_raiseFormulaError("Formula Error: Unexpected ')'"); + } + } elseif (isset(self::$_operators[$opCharacter]) && !$expectingOperator) { + return $this->_raiseFormulaError("Formula Error: Unexpected operator '$opCharacter'"); + } else { // I don't even want to know what you did to get here + return $this->_raiseFormulaError("Formula Error: An unexpected error occured"); + } + // Test for end of formula string + if ($index == strlen($formula)) { + // Did we end with an operator?. + // Only valid for the % unary operator + if ((isset(self::$_operators[$opCharacter])) && ($opCharacter != '%')) { + return $this->_raiseFormulaError("Formula Error: Operator '$opCharacter' has no operands"); + } else { + break; + } + } + // Ignore white space + while (($formula{$index} == "\n") || ($formula{$index} == "\r")) { + ++$index; + } + if ($formula{$index} == ' ') { + while ($formula{$index} == ' ') { + ++$index; + } + // If we're expecting an operator, but only have a space between the previous and next operands (and both are + // Cell References) then we have an INTERSECTION operator +// echo 'Possible Intersect Operator
'; + if (($expectingOperator) && (preg_match('/^'.self::CALCULATION_REGEXP_CELLREF.'.*/Ui', substr($formula, $index), $match)) && + ($output[count($output)-1]['type'] == 'Cell Reference')) { +// echo 'Element is an Intersect Operator
'; + while($stack->count() > 0 && + ($o2 = $stack->last()) && + isset(self::$_operators[$o2['value']]) && + @(self::$_operatorAssociativity[$opCharacter] ? self::$_operatorPrecedence[$opCharacter] < self::$_operatorPrecedence[$o2['value']] : self::$_operatorPrecedence[$opCharacter] <= self::$_operatorPrecedence[$o2['value']])) { + $output[] = $stack->pop(); // Swap operands and higher precedence operators from the stack to the output + } + $stack->push('Binary Operator','|'); // Put an Intersect Operator on the stack + $expectingOperator = FALSE; + } + } + } + + while (($op = $stack->pop()) !== NULL) { // pop everything off the stack and push onto output + if ((is_array($op) && $op['value'] == '(') || ($op === '(')) + return $this->_raiseFormulaError("Formula Error: Expecting ')'"); // if there are any opening braces on the stack, then braces were unbalanced + $output[] = $op; + } + return $output; + } // function _parseFormula() + + + private static function _dataTestReference(&$operandData) + { + $operand = $operandData['value']; + if (($operandData['reference'] === NULL) && (is_array($operand))) { + $rKeys = array_keys($operand); + $rowKey = array_shift($rKeys); + $cKeys = array_keys(array_keys($operand[$rowKey])); + $colKey = array_shift($cKeys); + if (ctype_upper($colKey)) { + $operandData['reference'] = $colKey.$rowKey; + } + } + return $operand; + } + + // evaluate postfix notation + private function _processTokenStack($tokens, $cellID = NULL, PHPExcel_Cell $pCell = NULL) { + if ($tokens == FALSE) return FALSE; + + // If we're using cell caching, then $pCell may well be flushed back to the cache (which detaches the parent cell collection), + // so we store the parent cell collection so that we can re-attach it when necessary + $pCellWorksheet = ($pCell !== NULL) ? $pCell->getWorksheet() : NULL; + $pCellParent = ($pCell !== NULL) ? $pCell->getParent() : null; + $stack = new PHPExcel_Calculation_Token_Stack; + + // Loop through each token in turn + foreach ($tokens as $tokenData) { +// print_r($tokenData); +// echo '
'; + $token = $tokenData['value']; +// echo 'Token is '.$token.'
'; + // if the token is a binary operator, pop the top two values off the stack, do the operation, and push the result back on the stack + if (isset(self::$_binaryOperators[$token])) { +// echo 'Token is a binary operator
'; + // We must have two operands, error if we don't + if (($operand2Data = $stack->pop()) === NULL) return $this->_raiseFormulaError('Internal error - Operand value missing from stack'); + if (($operand1Data = $stack->pop()) === NULL) return $this->_raiseFormulaError('Internal error - Operand value missing from stack'); + + $operand1 = self::_dataTestReference($operand1Data); + $operand2 = self::_dataTestReference($operand2Data); + + // Log what we're doing + if ($token == ':') { + $this->_debugLog->writeDebugLog('Evaluating Range ', $this->_showValue($operand1Data['reference']), ' ', $token, ' ', $this->_showValue($operand2Data['reference'])); + } else { + $this->_debugLog->writeDebugLog('Evaluating ', $this->_showValue($operand1), ' ', $token, ' ', $this->_showValue($operand2)); + } + + // Process the operation in the appropriate manner + switch ($token) { + // Comparison (Boolean) Operators + case '>' : // Greater than + case '<' : // Less than + case '>=' : // Greater than or Equal to + case '<=' : // Less than or Equal to + case '=' : // Equality + case '<>' : // Inequality + $this->_executeBinaryComparisonOperation($cellID,$operand1,$operand2,$token,$stack); + break; + // Binary Operators + case ':' : // Range + $sheet1 = $sheet2 = ''; + if (strpos($operand1Data['reference'],'!') !== FALSE) { + list($sheet1,$operand1Data['reference']) = explode('!',$operand1Data['reference']); + } else { + $sheet1 = ($pCellParent !== NULL) ? $pCellWorksheet->getTitle() : ''; + } + if (strpos($operand2Data['reference'],'!') !== FALSE) { + list($sheet2,$operand2Data['reference']) = explode('!',$operand2Data['reference']); + } else { + $sheet2 = $sheet1; + } + if ($sheet1 == $sheet2) { + if ($operand1Data['reference'] === NULL) { + if ((trim($operand1Data['value']) != '') && (is_numeric($operand1Data['value']))) { + $operand1Data['reference'] = $pCell->getColumn().$operand1Data['value']; + } elseif (trim($operand1Data['reference']) == '') { + $operand1Data['reference'] = $pCell->getCoordinate(); + } else { + $operand1Data['reference'] = $operand1Data['value'].$pCell->getRow(); + } + } + if ($operand2Data['reference'] === NULL) { + if ((trim($operand2Data['value']) != '') && (is_numeric($operand2Data['value']))) { + $operand2Data['reference'] = $pCell->getColumn().$operand2Data['value']; + } elseif (trim($operand2Data['reference']) == '') { + $operand2Data['reference'] = $pCell->getCoordinate(); + } else { + $operand2Data['reference'] = $operand2Data['value'].$pCell->getRow(); + } + } + + $oData = array_merge(explode(':',$operand1Data['reference']),explode(':',$operand2Data['reference'])); + $oCol = $oRow = array(); + foreach($oData as $oDatum) { + $oCR = PHPExcel_Cell::coordinateFromString($oDatum); + $oCol[] = PHPExcel_Cell::columnIndexFromString($oCR[0]) - 1; + $oRow[] = $oCR[1]; + } + $cellRef = PHPExcel_Cell::stringFromColumnIndex(min($oCol)).min($oRow).':'.PHPExcel_Cell::stringFromColumnIndex(max($oCol)).max($oRow); + if ($pCellParent !== NULL) { + $cellValue = $this->extractCellRange($cellRef, $this->_workbook->getSheetByName($sheet1), FALSE); + } else { + return $this->_raiseFormulaError('Unable to access Cell Reference'); + } + $stack->push('Cell Reference',$cellValue,$cellRef); + } else { + $stack->push('Error',PHPExcel_Calculation_Functions::REF(),NULL); + } + + break; + case '+' : // Addition + $this->_executeNumericBinaryOperation($cellID,$operand1,$operand2,$token,'plusEquals',$stack); + break; + case '-' : // Subtraction + $this->_executeNumericBinaryOperation($cellID,$operand1,$operand2,$token,'minusEquals',$stack); + break; + case '*' : // Multiplication + $this->_executeNumericBinaryOperation($cellID,$operand1,$operand2,$token,'arrayTimesEquals',$stack); + break; + case '/' : // Division + $this->_executeNumericBinaryOperation($cellID,$operand1,$operand2,$token,'arrayRightDivide',$stack); + break; + case '^' : // Exponential + $this->_executeNumericBinaryOperation($cellID,$operand1,$operand2,$token,'power',$stack); + break; + case '&' : // Concatenation + // If either of the operands is a matrix, we need to treat them both as matrices + // (converting the other operand to a matrix if need be); then perform the required + // matrix operation + if (is_bool($operand1)) { + $operand1 = ($operand1) ? self::$_localeBoolean['TRUE'] : self::$_localeBoolean['FALSE']; + } + if (is_bool($operand2)) { + $operand2 = ($operand2) ? self::$_localeBoolean['TRUE'] : self::$_localeBoolean['FALSE']; + } + if ((is_array($operand1)) || (is_array($operand2))) { + // Ensure that both operands are arrays/matrices + self::_checkMatrixOperands($operand1,$operand2,2); + try { + // Convert operand 1 from a PHP array to a matrix + $matrix = new PHPExcel_Shared_JAMA_Matrix($operand1); + // Perform the required operation against the operand 1 matrix, passing in operand 2 + $matrixResult = $matrix->concat($operand2); + $result = $matrixResult->getArray(); + } catch (PHPExcel_Exception $ex) { + $this->_debugLog->writeDebugLog('JAMA Matrix Exception: ', $ex->getMessage()); + $result = '#VALUE!'; + } + } else { + $result = '"'.str_replace('""','"',self::_unwrapResult($operand1,'"').self::_unwrapResult($operand2,'"')).'"'; + } + $this->_debugLog->writeDebugLog('Evaluation Result is ', $this->_showTypeDetails($result)); + $stack->push('Value',$result); + break; + case '|' : // Intersect + $rowIntersect = array_intersect_key($operand1,$operand2); + $cellIntersect = $oCol = $oRow = array(); + foreach(array_keys($rowIntersect) as $row) { + $oRow[] = $row; + foreach($rowIntersect[$row] as $col => $data) { + $oCol[] = PHPExcel_Cell::columnIndexFromString($col) - 1; + $cellIntersect[$row] = array_intersect_key($operand1[$row],$operand2[$row]); + } + } + $cellRef = PHPExcel_Cell::stringFromColumnIndex(min($oCol)).min($oRow).':'.PHPExcel_Cell::stringFromColumnIndex(max($oCol)).max($oRow); + $this->_debugLog->writeDebugLog('Evaluation Result is ', $this->_showTypeDetails($cellIntersect)); + $stack->push('Value',$cellIntersect,$cellRef); + break; + } + + // if the token is a unary operator, pop one value off the stack, do the operation, and push it back on + } elseif (($token === '~') || ($token === '%')) { +// echo 'Token is a unary operator
'; + if (($arg = $stack->pop()) === NULL) return $this->_raiseFormulaError('Internal error - Operand value missing from stack'); + $arg = $arg['value']; + if ($token === '~') { +// echo 'Token is a negation operator
'; + $this->_debugLog->writeDebugLog('Evaluating Negation of ', $this->_showValue($arg)); + $multiplier = -1; + } else { +// echo 'Token is a percentile operator
'; + $this->_debugLog->writeDebugLog('Evaluating Percentile of ', $this->_showValue($arg)); + $multiplier = 0.01; + } + if (is_array($arg)) { + self::_checkMatrixOperands($arg,$multiplier,2); + try { + $matrix1 = new PHPExcel_Shared_JAMA_Matrix($arg); + $matrixResult = $matrix1->arrayTimesEquals($multiplier); + $result = $matrixResult->getArray(); + } catch (PHPExcel_Exception $ex) { + $this->_debugLog->writeDebugLog('JAMA Matrix Exception: ', $ex->getMessage()); + $result = '#VALUE!'; + } + $this->_debugLog->writeDebugLog('Evaluation Result is ', $this->_showTypeDetails($result)); + $stack->push('Value',$result); + } else { + $this->_executeNumericBinaryOperation($cellID,$multiplier,$arg,'*','arrayTimesEquals',$stack); + } + + } elseif (preg_match('/^'.self::CALCULATION_REGEXP_CELLREF.'$/i', $token, $matches)) { + $cellRef = NULL; +// echo 'Element '.$token.' is a Cell reference
'; + if (isset($matches[8])) { +// echo 'Reference is a Range of cells
'; + if ($pCell === NULL) { +// We can't access the range, so return a REF error + $cellValue = PHPExcel_Calculation_Functions::REF(); + } else { + $cellRef = $matches[6].$matches[7].':'.$matches[9].$matches[10]; + if ($matches[2] > '') { + $matches[2] = trim($matches[2],"\"'"); + if ((strpos($matches[2],'[') !== FALSE) || (strpos($matches[2],']') !== FALSE)) { + // It's a Reference to an external workbook (not currently supported) + return $this->_raiseFormulaError('Unable to access External Workbook'); + } + $matches[2] = trim($matches[2],"\"'"); +// echo '$cellRef='.$cellRef.' in worksheet '.$matches[2].'
'; + $this->_debugLog->writeDebugLog('Evaluating Cell Range ', $cellRef, ' in worksheet ', $matches[2]); + if ($pCellParent !== NULL) { + $cellValue = $this->extractCellRange($cellRef, $this->_workbook->getSheetByName($matches[2]), FALSE); + } else { + return $this->_raiseFormulaError('Unable to access Cell Reference'); + } + $this->_debugLog->writeDebugLog('Evaluation Result for cells ', $cellRef, ' in worksheet ', $matches[2], ' is ', $this->_showTypeDetails($cellValue)); +// $cellRef = $matches[2].'!'.$cellRef; + } else { +// echo '$cellRef='.$cellRef.' in current worksheet
'; + $this->_debugLog->writeDebugLog('Evaluating Cell Range ', $cellRef, ' in current worksheet'); + if ($pCellParent !== NULL) { + $cellValue = $this->extractCellRange($cellRef, $pCellWorksheet, FALSE); + } else { + return $this->_raiseFormulaError('Unable to access Cell Reference'); + } + $this->_debugLog->writeDebugLog('Evaluation Result for cells ', $cellRef, ' is ', $this->_showTypeDetails($cellValue)); + } + } + } else { +// echo 'Reference is a single Cell
'; + if ($pCell === NULL) { +// We can't access the cell, so return a REF error + $cellValue = PHPExcel_Calculation_Functions::REF(); + } else { + $cellRef = $matches[6].$matches[7]; + if ($matches[2] > '') { + $matches[2] = trim($matches[2],"\"'"); + if ((strpos($matches[2],'[') !== FALSE) || (strpos($matches[2],']') !== FALSE)) { + // It's a Reference to an external workbook (not currently supported) + return $this->_raiseFormulaError('Unable to access External Workbook'); + } +// echo '$cellRef='.$cellRef.' in worksheet '.$matches[2].'
'; + $this->_debugLog->writeDebugLog('Evaluating Cell ', $cellRef, ' in worksheet ', $matches[2]); + if ($pCellParent !== NULL) { + $cellSheet = $this->_workbook->getSheetByName($matches[2]); + if ($cellSheet && $cellSheet->cellExists($cellRef)) { + $cellValue = $this->extractCellRange($cellRef, $this->_workbook->getSheetByName($matches[2]), FALSE); + $pCell->attach($pCellParent); + } else { + $cellValue = NULL; + } + } else { + return $this->_raiseFormulaError('Unable to access Cell Reference'); + } + $this->_debugLog->writeDebugLog('Evaluation Result for cell ', $cellRef, ' in worksheet ', $matches[2], ' is ', $this->_showTypeDetails($cellValue)); +// $cellRef = $matches[2].'!'.$cellRef; + } else { +// echo '$cellRef='.$cellRef.' in current worksheet
'; + $this->_debugLog->writeDebugLog('Evaluating Cell ', $cellRef, ' in current worksheet'); + if ($pCellParent->isDataSet($cellRef)) { + $cellValue = $this->extractCellRange($cellRef, $pCellWorksheet, FALSE); + $pCell->attach($pCellParent); + } else { + $cellValue = NULL; + } + $this->_debugLog->writeDebugLog('Evaluation Result for cell ', $cellRef, ' is ', $this->_showTypeDetails($cellValue)); + } + } + } + $stack->push('Value',$cellValue,$cellRef); + + // if the token is a function, pop arguments off the stack, hand them to the function, and push the result back on + } elseif (preg_match('/^'.self::CALCULATION_REGEXP_FUNCTION.'$/i', $token, $matches)) { +// echo 'Token is a function
'; + $functionName = $matches[1]; + $argCount = $stack->pop(); + $argCount = $argCount['value']; + if ($functionName != 'MKMATRIX') { + $this->_debugLog->writeDebugLog('Evaluating Function ', self::_localeFunc($functionName), '() with ', (($argCount == 0) ? 'no' : $argCount), ' argument', (($argCount == 1) ? '' : 's')); + } + if ((isset(self::$_PHPExcelFunctions[$functionName])) || (isset(self::$_controlFunctions[$functionName]))) { // function + if (isset(self::$_PHPExcelFunctions[$functionName])) { + $functionCall = self::$_PHPExcelFunctions[$functionName]['functionCall']; + $passByReference = isset(self::$_PHPExcelFunctions[$functionName]['passByReference']); + $passCellReference = isset(self::$_PHPExcelFunctions[$functionName]['passCellReference']); + } elseif (isset(self::$_controlFunctions[$functionName])) { + $functionCall = self::$_controlFunctions[$functionName]['functionCall']; + $passByReference = isset(self::$_controlFunctions[$functionName]['passByReference']); + $passCellReference = isset(self::$_controlFunctions[$functionName]['passCellReference']); + } + // get the arguments for this function +// echo 'Function '.$functionName.' expects '.$argCount.' arguments
'; + $args = $argArrayVals = array(); + for ($i = 0; $i < $argCount; ++$i) { + $arg = $stack->pop(); + $a = $argCount - $i - 1; + if (($passByReference) && + (isset(self::$_PHPExcelFunctions[$functionName]['passByReference'][$a])) && + (self::$_PHPExcelFunctions[$functionName]['passByReference'][$a])) { + if ($arg['reference'] === NULL) { + $args[] = $cellID; + if ($functionName != 'MKMATRIX') { $argArrayVals[] = $this->_showValue($cellID); } + } else { + $args[] = $arg['reference']; + if ($functionName != 'MKMATRIX') { $argArrayVals[] = $this->_showValue($arg['reference']); } + } + } else { + $args[] = self::_unwrapResult($arg['value']); + if ($functionName != 'MKMATRIX') { $argArrayVals[] = $this->_showValue($arg['value']); } + } + } + // Reverse the order of the arguments + krsort($args); + if (($passByReference) && ($argCount == 0)) { + $args[] = $cellID; + $argArrayVals[] = $this->_showValue($cellID); + } +// echo 'Arguments are: '; +// print_r($args); +// echo '
'; + if ($functionName != 'MKMATRIX') { + if ($this->_debugLog->getWriteDebugLog()) { + krsort($argArrayVals); + $this->_debugLog->writeDebugLog('Evaluating ', self::_localeFunc($functionName), '( ', implode(self::$_localeArgumentSeparator.' ',PHPExcel_Calculation_Functions::flattenArray($argArrayVals)), ' )'); + } + } + // Process each argument in turn, building the return value as an array +// if (($argCount == 1) && (is_array($args[1])) && ($functionName != 'MKMATRIX')) { +// $operand1 = $args[1]; +// $this->_debugLog->writeDebugLog('Argument is a matrix: ', $this->_showValue($operand1)); +// $result = array(); +// $row = 0; +// foreach($operand1 as $args) { +// if (is_array($args)) { +// foreach($args as $arg) { +// $this->_debugLog->writeDebugLog('Evaluating ', self::_localeFunc($functionName), '( ', $this->_showValue($arg), ' )'); +// $r = call_user_func_array($functionCall,$arg); +// $this->_debugLog->writeDebugLog('Evaluation Result for ', self::_localeFunc($functionName), '() function call is ', $this->_showTypeDetails($r)); +// $result[$row][] = $r; +// } +// ++$row; +// } else { +// $this->_debugLog->writeDebugLog('Evaluating ', self::_localeFunc($functionName), '( ', $this->_showValue($args), ' )'); +// $r = call_user_func_array($functionCall,$args); +// $this->_debugLog->writeDebugLog('Evaluation Result for ', self::_localeFunc($functionName), '() function call is ', $this->_showTypeDetails($r)); +// $result[] = $r; +// } +// } +// } else { + // Process the argument with the appropriate function call + if ($passCellReference) { + $args[] = $pCell; + } + if (strpos($functionCall,'::') !== FALSE) { + $result = call_user_func_array(explode('::',$functionCall),$args); + } else { + foreach($args as &$arg) { + $arg = PHPExcel_Calculation_Functions::flattenSingleValue($arg); + } + unset($arg); + $result = call_user_func_array($functionCall,$args); + } +// } + if ($functionName != 'MKMATRIX') { + $this->_debugLog->writeDebugLog('Evaluation Result for ', self::_localeFunc($functionName), '() function call is ', $this->_showTypeDetails($result)); + } + $stack->push('Value',self::_wrapResult($result)); + } + + } else { + // if the token is a number, boolean, string or an Excel error, push it onto the stack + if (isset(self::$_ExcelConstants[strtoupper($token)])) { + $excelConstant = strtoupper($token); +// echo 'Token is a PHPExcel constant: '.$excelConstant.'
'; + $stack->push('Constant Value',self::$_ExcelConstants[$excelConstant]); + $this->_debugLog->writeDebugLog('Evaluating Constant ', $excelConstant, ' as ', $this->_showTypeDetails(self::$_ExcelConstants[$excelConstant])); + } elseif ((is_numeric($token)) || ($token === NULL) || (is_bool($token)) || ($token == '') || ($token{0} == '"') || ($token{0} == '#')) { +// echo 'Token is a number, boolean, string, null or an Excel error
'; + $stack->push('Value',$token); + // if the token is a named range, push the named range name onto the stack + } elseif (preg_match('/^'.self::CALCULATION_REGEXP_NAMEDRANGE.'$/i', $token, $matches)) { +// echo 'Token is a named range
'; + $namedRange = $matches[6]; +// echo 'Named Range is '.$namedRange.'
'; + $this->_debugLog->writeDebugLog('Evaluating Named Range ', $namedRange); + $cellValue = $this->extractNamedRange($namedRange, ((NULL !== $pCell) ? $pCellWorksheet : NULL), FALSE); + $pCell->attach($pCellParent); + $this->_debugLog->writeDebugLog('Evaluation Result for named range ', $namedRange, ' is ', $this->_showTypeDetails($cellValue)); + $stack->push('Named Range',$cellValue,$namedRange); + } else { + return $this->_raiseFormulaError("undefined variable '$token'"); + } + } + } + // when we're out of tokens, the stack should have a single element, the final result + if ($stack->count() != 1) return $this->_raiseFormulaError("internal error"); + $output = $stack->pop(); + $output = $output['value']; + +// if ((is_array($output)) && (self::$returnArrayAsType != self::RETURN_ARRAY_AS_ARRAY)) { +// return array_shift(PHPExcel_Calculation_Functions::flattenArray($output)); +// } + return $output; + } // function _processTokenStack() + + + private function _validateBinaryOperand($cellID, &$operand, &$stack) { + if (is_array($operand)) { + if ((count($operand, COUNT_RECURSIVE) - count($operand)) == 1) { + do { + $operand = array_pop($operand); + } while (is_array($operand)); + } + } + // Numbers, matrices and booleans can pass straight through, as they're already valid + if (is_string($operand)) { + // We only need special validations for the operand if it is a string + // Start by stripping off the quotation marks we use to identify true excel string values internally + if ($operand > '' && $operand{0} == '"') { $operand = self::_unwrapResult($operand); } + // If the string is a numeric value, we treat it as a numeric, so no further testing + if (!is_numeric($operand)) { + // If not a numeric, test to see if the value is an Excel error, and so can't be used in normal binary operations + if ($operand > '' && $operand{0} == '#') { + $stack->push('Value', $operand); + $this->_debugLog->writeDebugLog('Evaluation Result is ', $this->_showTypeDetails($operand)); + return FALSE; + } elseif (!PHPExcel_Shared_String::convertToNumberIfFraction($operand)) { + // If not a numeric or a fraction, then it's a text string, and so can't be used in mathematical binary operations + $stack->push('Value', '#VALUE!'); + $this->_debugLog->writeDebugLog('Evaluation Result is a ', $this->_showTypeDetails('#VALUE!')); + return FALSE; + } + } + } + + // return a true if the value of the operand is one that we can use in normal binary operations + return TRUE; + } // function _validateBinaryOperand() + + + private function _executeBinaryComparisonOperation($cellID, $operand1, $operand2, $operation, &$stack, $recursingArrays=FALSE) { + // If we're dealing with matrix operations, we want a matrix result + if ((is_array($operand1)) || (is_array($operand2))) { + $result = array(); + if ((is_array($operand1)) && (!is_array($operand2))) { + foreach($operand1 as $x => $operandData) { + $this->_debugLog->writeDebugLog('Evaluating Comparison ', $this->_showValue($operandData), ' ', $operation, ' ', $this->_showValue($operand2)); + $this->_executeBinaryComparisonOperation($cellID,$operandData,$operand2,$operation,$stack); + $r = $stack->pop(); + $result[$x] = $r['value']; + } + } elseif ((!is_array($operand1)) && (is_array($operand2))) { + foreach($operand2 as $x => $operandData) { + $this->_debugLog->writeDebugLog('Evaluating Comparison ', $this->_showValue($operand1), ' ', $operation, ' ', $this->_showValue($operandData)); + $this->_executeBinaryComparisonOperation($cellID,$operand1,$operandData,$operation,$stack); + $r = $stack->pop(); + $result[$x] = $r['value']; + } + } else { + if (!$recursingArrays) { self::_checkMatrixOperands($operand1,$operand2,2); } + foreach($operand1 as $x => $operandData) { + $this->_debugLog->writeDebugLog('Evaluating Comparison ', $this->_showValue($operandData), ' ', $operation, ' ', $this->_showValue($operand2[$x])); + $this->_executeBinaryComparisonOperation($cellID,$operandData,$operand2[$x],$operation,$stack,TRUE); + $r = $stack->pop(); + $result[$x] = $r['value']; + } + } + // Log the result details + $this->_debugLog->writeDebugLog('Comparison Evaluation Result is ', $this->_showTypeDetails($result)); + // And push the result onto the stack + $stack->push('Array',$result); + return TRUE; + } + + // Simple validate the two operands if they are string values + if (is_string($operand1) && $operand1 > '' && $operand1{0} == '"') { $operand1 = self::_unwrapResult($operand1); } + if (is_string($operand2) && $operand2 > '' && $operand2{0} == '"') { $operand2 = self::_unwrapResult($operand2); } + + // Use case insensitive comparaison if not OpenOffice mode + if (PHPExcel_Calculation_Functions::getCompatibilityMode() != PHPExcel_Calculation_Functions::COMPATIBILITY_OPENOFFICE) + { + if (is_string($operand1)) { + $operand1 = strtoupper($operand1); + } + + if (is_string($operand2)) { + $operand2 = strtoupper($operand2); + } + } + + $useLowercaseFirstComparison = is_string($operand1) && is_string($operand2) && PHPExcel_Calculation_Functions::getCompatibilityMode() == PHPExcel_Calculation_Functions::COMPATIBILITY_OPENOFFICE; + + // execute the necessary operation + switch ($operation) { + // Greater than + case '>': + if ($useLowercaseFirstComparison) { + $result = $this->strcmpLowercaseFirst($operand1, $operand2) > 0; + } else { + $result = ($operand1 > $operand2); + } + break; + // Less than + case '<': + if ($useLowercaseFirstComparison) { + $result = $this->strcmpLowercaseFirst($operand1, $operand2) < 0; + } else { + $result = ($operand1 < $operand2); + } + break; + // Equality + case '=': + if (is_numeric($operand1) && is_numeric($operand2)) { + $result = (abs($operand1 - $operand2) < $this->delta); + } else { + $result = strcmp($operand1, $operand2) == 0; + } + break; + // Greater than or equal + case '>=': + if (is_numeric($operand1) && is_numeric($operand2)) { + $result = ((abs($operand1 - $operand2) < $this->delta) || ($operand1 > $operand2)); + } elseif ($useLowercaseFirstComparison) { + $result = $this->strcmpLowercaseFirst($operand1, $operand2) >= 0; + } else { + $result = strcmp($operand1, $operand2) >= 0; + } + break; + // Less than or equal + case '<=': + if (is_numeric($operand1) && is_numeric($operand2)) { + $result = ((abs($operand1 - $operand2) < $this->delta) || ($operand1 < $operand2)); + } elseif ($useLowercaseFirstComparison) { + $result = $this->strcmpLowercaseFirst($operand1, $operand2) <= 0; + } else { + $result = strcmp($operand1, $operand2) <= 0; + } + break; + // Inequality + case '<>': + if (is_numeric($operand1) && is_numeric($operand2)) { + $result = (abs($operand1 - $operand2) > 1E-14); + } else { + $result = strcmp($operand1, $operand2) != 0; + } + break; + } + + // Log the result details + $this->_debugLog->writeDebugLog('Evaluation Result is ', $this->_showTypeDetails($result)); + // And push the result onto the stack + $stack->push('Value',$result); + return true; + } + + /** + * Compare two strings in the same way as strcmp() except that lowercase come before uppercase letters + * @param string $str1 First string value for the comparison + * @param string $str2 Second string value for the comparison + * @return integer + */ + private function strcmpLowercaseFirst($str1, $str2) + { + $inversedStr1 = PHPExcel_Shared_String::StrCaseReverse($str1); + $inversedStr2 = PHPExcel_Shared_String::StrCaseReverse($str2); + + return strcmp($inversedStr1, $inversedStr2); + } + + private function _executeNumericBinaryOperation($cellID,$operand1,$operand2,$operation,$matrixFunction,&$stack) { + // Validate the two operands + if (!$this->_validateBinaryOperand($cellID,$operand1,$stack)) return FALSE; + if (!$this->_validateBinaryOperand($cellID,$operand2,$stack)) return FALSE; + + // If either of the operands is a matrix, we need to treat them both as matrices + // (converting the other operand to a matrix if need be); then perform the required + // matrix operation + if ((is_array($operand1)) || (is_array($operand2))) { + // Ensure that both operands are arrays/matrices of the same size + self::_checkMatrixOperands($operand1, $operand2, 2); + + try { + // Convert operand 1 from a PHP array to a matrix + $matrix = new PHPExcel_Shared_JAMA_Matrix($operand1); + // Perform the required operation against the operand 1 matrix, passing in operand 2 + $matrixResult = $matrix->$matrixFunction($operand2); + $result = $matrixResult->getArray(); + } catch (PHPExcel_Exception $ex) { + $this->_debugLog->writeDebugLog('JAMA Matrix Exception: ', $ex->getMessage()); + $result = '#VALUE!'; + } + } else { + if ((PHPExcel_Calculation_Functions::getCompatibilityMode() != PHPExcel_Calculation_Functions::COMPATIBILITY_OPENOFFICE) && + ((is_string($operand1) && !is_numeric($operand1) && strlen($operand1)>0) || + (is_string($operand2) && !is_numeric($operand2) && strlen($operand2)>0))) { + $result = PHPExcel_Calculation_Functions::VALUE(); + } else { + // If we're dealing with non-matrix operations, execute the necessary operation + switch ($operation) { + // Addition + case '+': + $result = $operand1 + $operand2; + break; + // Subtraction + case '-': + $result = $operand1 - $operand2; + break; + // Multiplication + case '*': + $result = $operand1 * $operand2; + break; + // Division + case '/': + if ($operand2 == 0) { + // Trap for Divide by Zero error + $stack->push('Value','#DIV/0!'); + $this->_debugLog->writeDebugLog('Evaluation Result is ', $this->_showTypeDetails('#DIV/0!')); + return FALSE; + } else { + $result = $operand1 / $operand2; + } + break; + // Power + case '^': + $result = pow($operand1, $operand2); + break; + } + } + } + + // Log the result details + $this->_debugLog->writeDebugLog('Evaluation Result is ', $this->_showTypeDetails($result)); + // And push the result onto the stack + $stack->push('Value',$result); + return TRUE; + } // function _executeNumericBinaryOperation() + + + // trigger an error, but nicely, if need be + protected function _raiseFormulaError($errorMessage) { + $this->formulaError = $errorMessage; + $this->_cyclicReferenceStack->clear(); + if (!$this->suppressFormulaErrors) throw new PHPExcel_Calculation_Exception($errorMessage); + trigger_error($errorMessage, E_USER_ERROR); + } // function _raiseFormulaError() + + + /** + * Extract range values + * + * @param string &$pRange String based range representation + * @param PHPExcel_Worksheet $pSheet Worksheet + * @param boolean $resetLog Flag indicating whether calculation log should be reset or not + * @return mixed Array of values in range if range contains more than one element. Otherwise, a single value is returned. + * @throws PHPExcel_Calculation_Exception + */ + public function extractCellRange(&$pRange = 'A1', PHPExcel_Worksheet $pSheet = NULL, $resetLog = TRUE) { + // Return value + $returnValue = array (); + +// echo 'extractCellRange('.$pRange.')',PHP_EOL; + if ($pSheet !== NULL) { + $pSheetName = $pSheet->getTitle(); +// echo 'Passed sheet name is '.$pSheetName.PHP_EOL; +// echo 'Range reference is '.$pRange.PHP_EOL; + if (strpos ($pRange, '!') !== false) { +// echo '$pRange reference includes sheet reference',PHP_EOL; + list($pSheetName,$pRange) = PHPExcel_Worksheet::extractSheetTitle($pRange, true); +// echo 'New sheet name is '.$pSheetName,PHP_EOL; +// echo 'Adjusted Range reference is '.$pRange,PHP_EOL; + $pSheet = $this->_workbook->getSheetByName($pSheetName); + } + + // Extract range + $aReferences = PHPExcel_Cell::extractAllCellReferencesInRange($pRange); + $pRange = $pSheetName.'!'.$pRange; + if (!isset($aReferences[1])) { + // Single cell in range + sscanf($aReferences[0],'%[A-Z]%d', $currentCol, $currentRow); + $cellValue = NULL; + if ($pSheet->cellExists($aReferences[0])) { + $returnValue[$currentRow][$currentCol] = $pSheet->getCell($aReferences[0])->getCalculatedValue($resetLog); + } else { + $returnValue[$currentRow][$currentCol] = NULL; + } + } else { + // Extract cell data for all cells in the range + foreach ($aReferences as $reference) { + // Extract range + sscanf($reference,'%[A-Z]%d', $currentCol, $currentRow); + $cellValue = NULL; + if ($pSheet->cellExists($reference)) { + $returnValue[$currentRow][$currentCol] = $pSheet->getCell($reference)->getCalculatedValue($resetLog); + } else { + $returnValue[$currentRow][$currentCol] = NULL; + } + } + } + } + + // Return + return $returnValue; + } // function extractCellRange() + + + /** + * Extract range values + * + * @param string &$pRange String based range representation + * @param PHPExcel_Worksheet $pSheet Worksheet + * @return mixed Array of values in range if range contains more than one element. Otherwise, a single value is returned. + * @param boolean $resetLog Flag indicating whether calculation log should be reset or not + * @throws PHPExcel_Calculation_Exception + */ + public function extractNamedRange(&$pRange = 'A1', PHPExcel_Worksheet $pSheet = NULL, $resetLog = TRUE) { + // Return value + $returnValue = array (); + +// echo 'extractNamedRange('.$pRange.')
'; + if ($pSheet !== NULL) { + $pSheetName = $pSheet->getTitle(); +// echo 'Current sheet name is '.$pSheetName.'
'; +// echo 'Range reference is '.$pRange.'
'; + if (strpos ($pRange, '!') !== false) { +// echo '$pRange reference includes sheet reference',PHP_EOL; + list($pSheetName,$pRange) = PHPExcel_Worksheet::extractSheetTitle($pRange, true); +// echo 'New sheet name is '.$pSheetName,PHP_EOL; +// echo 'Adjusted Range reference is '.$pRange,PHP_EOL; + $pSheet = $this->_workbook->getSheetByName($pSheetName); + } + + // Named range? + $namedRange = PHPExcel_NamedRange::resolveRange($pRange, $pSheet); + if ($namedRange !== NULL) { + $pSheet = $namedRange->getWorksheet(); +// echo 'Named Range '.$pRange.' ('; + $pRange = $namedRange->getRange(); + $splitRange = PHPExcel_Cell::splitRange($pRange); + // Convert row and column references + if (ctype_alpha($splitRange[0][0])) { + $pRange = $splitRange[0][0] . '1:' . $splitRange[0][1] . $namedRange->getWorksheet()->getHighestRow(); + } elseif(ctype_digit($splitRange[0][0])) { + $pRange = 'A' . $splitRange[0][0] . ':' . $namedRange->getWorksheet()->getHighestColumn() . $splitRange[0][1]; + } +// echo $pRange.') is in sheet '.$namedRange->getWorksheet()->getTitle().'
'; + +// if ($pSheet->getTitle() != $namedRange->getWorksheet()->getTitle()) { +// if (!$namedRange->getLocalOnly()) { +// $pSheet = $namedRange->getWorksheet(); +// } else { +// return $returnValue; +// } +// } + } else { + return PHPExcel_Calculation_Functions::REF(); + } + + // Extract range + $aReferences = PHPExcel_Cell::extractAllCellReferencesInRange($pRange); +// var_dump($aReferences); + if (!isset($aReferences[1])) { + // Single cell (or single column or row) in range + list($currentCol,$currentRow) = PHPExcel_Cell::coordinateFromString($aReferences[0]); + $cellValue = NULL; + if ($pSheet->cellExists($aReferences[0])) { + $returnValue[$currentRow][$currentCol] = $pSheet->getCell($aReferences[0])->getCalculatedValue($resetLog); + } else { + $returnValue[$currentRow][$currentCol] = NULL; + } + } else { + // Extract cell data for all cells in the range + foreach ($aReferences as $reference) { + // Extract range + list($currentCol,$currentRow) = PHPExcel_Cell::coordinateFromString($reference); +// echo 'NAMED RANGE: $currentCol='.$currentCol.' $currentRow='.$currentRow.'
'; + $cellValue = NULL; + if ($pSheet->cellExists($reference)) { + $returnValue[$currentRow][$currentCol] = $pSheet->getCell($reference)->getCalculatedValue($resetLog); + } else { + $returnValue[$currentRow][$currentCol] = NULL; + } + } + } +// print_r($returnValue); +// echo '
'; + } + + // Return + return $returnValue; + } // function extractNamedRange() + + + /** + * Is a specific function implemented? + * + * @param string $pFunction Function Name + * @return boolean + */ + public function isImplemented($pFunction = '') { + $pFunction = strtoupper ($pFunction); + if (isset(self::$_PHPExcelFunctions[$pFunction])) { + return (self::$_PHPExcelFunctions[$pFunction]['functionCall'] != 'PHPExcel_Calculation_Functions::DUMMY'); + } else { + return FALSE; + } + } // function isImplemented() + + + /** + * Get a list of all implemented functions as an array of function objects + * + * @return array of PHPExcel_Calculation_Function + */ + public function listFunctions() { + // Return value + $returnValue = array(); + // Loop functions + foreach(self::$_PHPExcelFunctions as $functionName => $function) { + if ($function['functionCall'] != 'PHPExcel_Calculation_Functions::DUMMY') { + $returnValue[$functionName] = new PHPExcel_Calculation_Function($function['category'], + $functionName, + $function['functionCall'] + ); + } + } + + // Return + return $returnValue; + } // function listFunctions() + + + /** + * Get a list of all Excel function names + * + * @return array + */ + public function listAllFunctionNames() { + return array_keys(self::$_PHPExcelFunctions); + } // function listAllFunctionNames() + + /** + * Get a list of implemented Excel function names + * + * @return array + */ + public function listFunctionNames() { + // Return value + $returnValue = array(); + // Loop functions + foreach(self::$_PHPExcelFunctions as $functionName => $function) { + if ($function['functionCall'] != 'PHPExcel_Calculation_Functions::DUMMY') { + $returnValue[] = $functionName; + } + } + + // Return + return $returnValue; + } // function listFunctionNames() + +} // class PHPExcel_Calculation + diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Calculation/Database.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Calculation/Database.php new file mode 100644 index 00000000..908decfc --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Calculation/Database.php @@ -0,0 +1,725 @@ + $criteriaName) { + $testCondition = array(); + $testConditionCount = 0; + foreach($criteria as $row => $criterion) { + if ($criterion[$key] > '') { + $testCondition[] = '[:'.$criteriaName.']'.PHPExcel_Calculation_Functions::_ifCondition($criterion[$key]); + $testConditionCount++; + } + } + if ($testConditionCount > 1) { + $testConditions[] = 'OR('.implode(',',$testCondition).')'; + $testConditionsCount++; + } elseif($testConditionCount == 1) { + $testConditions[] = $testCondition[0]; + $testConditionsCount++; + } + } + + if ($testConditionsCount > 1) { + $testConditionSet = 'AND('.implode(',',$testConditions).')'; + } elseif($testConditionsCount == 1) { + $testConditionSet = $testConditions[0]; + } + + // Loop through each row of the database + foreach($database as $dataRow => $dataValues) { + // Substitute actual values from the database row for our [:placeholders] + $testConditionList = $testConditionSet; + foreach($criteriaNames as $key => $criteriaName) { + $k = array_search($criteriaName,$fieldNames); + if (isset($dataValues[$k])) { + $dataValue = $dataValues[$k]; + $dataValue = (is_string($dataValue)) ? PHPExcel_Calculation::_wrapResult(strtoupper($dataValue)) : $dataValue; + $testConditionList = str_replace('[:'.$criteriaName.']',$dataValue,$testConditionList); + } + } + // evaluate the criteria against the row data + $result = PHPExcel_Calculation::getInstance()->_calculateFormulaValue('='.$testConditionList); + // If the row failed to meet the criteria, remove it from the database + if (!$result) { + unset($database[$dataRow]); + } + } + + return $database; + } + + + /** + * DAVERAGE + * + * Averages the values in a column of a list or database that match conditions you specify. + * + * Excel Function: + * DAVERAGE(database,field,criteria) + * + * @access public + * @category Database Functions + * @param mixed[] $database The range of cells that makes up the list or database. + * A database is a list of related data in which rows of related + * information are records, and columns of data are fields. The + * first row of the list contains labels for each column. + * @param string|integer $field Indicates which column is used in the function. Enter the + * column label enclosed between double quotation marks, such as + * "Age" or "Yield," or a number (without quotation marks) that + * represents the position of the column within the list: 1 for + * the first column, 2 for the second column, and so on. + * @param mixed[] $criteria The range of cells that contains the conditions you specify. + * You can use any range for the criteria argument, as long as it + * includes at least one column label and at least one cell below + * the column label in which you specify a condition for the + * column. + * @return float + * + */ + public static function DAVERAGE($database,$field,$criteria) { + $field = self::__fieldExtract($database,$field); + if (is_null($field)) { + return NULL; + } + // reduce the database to a set of rows that match all the criteria + $database = self::__filter($database,$criteria); + // extract an array of values for the requested column + $colData = array(); + foreach($database as $row) { + $colData[] = $row[$field]; + } + + // Return + return PHPExcel_Calculation_Statistical::AVERAGE($colData); + } // function DAVERAGE() + + + /** + * DCOUNT + * + * Counts the cells that contain numbers in a column of a list or database that match conditions + * that you specify. + * + * Excel Function: + * DCOUNT(database,[field],criteria) + * + * Excel Function: + * DAVERAGE(database,field,criteria) + * + * @access public + * @category Database Functions + * @param mixed[] $database The range of cells that makes up the list or database. + * A database is a list of related data in which rows of related + * information are records, and columns of data are fields. The + * first row of the list contains labels for each column. + * @param string|integer $field Indicates which column is used in the function. Enter the + * column label enclosed between double quotation marks, such as + * "Age" or "Yield," or a number (without quotation marks) that + * represents the position of the column within the list: 1 for + * the first column, 2 for the second column, and so on. + * @param mixed[] $criteria The range of cells that contains the conditions you specify. + * You can use any range for the criteria argument, as long as it + * includes at least one column label and at least one cell below + * the column label in which you specify a condition for the + * column. + * @return integer + * + * @TODO The field argument is optional. If field is omitted, DCOUNT counts all records in the + * database that match the criteria. + * + */ + public static function DCOUNT($database,$field,$criteria) { + $field = self::__fieldExtract($database,$field); + if (is_null($field)) { + return NULL; + } + + // reduce the database to a set of rows that match all the criteria + $database = self::__filter($database,$criteria); + // extract an array of values for the requested column + $colData = array(); + foreach($database as $row) { + $colData[] = $row[$field]; + } + + // Return + return PHPExcel_Calculation_Statistical::COUNT($colData); + } // function DCOUNT() + + + /** + * DCOUNTA + * + * Counts the nonblank cells in a column of a list or database that match conditions that you specify. + * + * Excel Function: + * DCOUNTA(database,[field],criteria) + * + * @access public + * @category Database Functions + * @param mixed[] $database The range of cells that makes up the list or database. + * A database is a list of related data in which rows of related + * information are records, and columns of data are fields. The + * first row of the list contains labels for each column. + * @param string|integer $field Indicates which column is used in the function. Enter the + * column label enclosed between double quotation marks, such as + * "Age" or "Yield," or a number (without quotation marks) that + * represents the position of the column within the list: 1 for + * the first column, 2 for the second column, and so on. + * @param mixed[] $criteria The range of cells that contains the conditions you specify. + * You can use any range for the criteria argument, as long as it + * includes at least one column label and at least one cell below + * the column label in which you specify a condition for the + * column. + * @return integer + * + * @TODO The field argument is optional. If field is omitted, DCOUNTA counts all records in the + * database that match the criteria. + * + */ + public static function DCOUNTA($database,$field,$criteria) { + $field = self::__fieldExtract($database,$field); + if (is_null($field)) { + return NULL; + } + + // reduce the database to a set of rows that match all the criteria + $database = self::__filter($database,$criteria); + // extract an array of values for the requested column + $colData = array(); + foreach($database as $row) { + $colData[] = $row[$field]; + } + + // Return + return PHPExcel_Calculation_Statistical::COUNTA($colData); + } // function DCOUNTA() + + + /** + * DGET + * + * Extracts a single value from a column of a list or database that matches conditions that you + * specify. + * + * Excel Function: + * DGET(database,field,criteria) + * + * @access public + * @category Database Functions + * @param mixed[] $database The range of cells that makes up the list or database. + * A database is a list of related data in which rows of related + * information are records, and columns of data are fields. The + * first row of the list contains labels for each column. + * @param string|integer $field Indicates which column is used in the function. Enter the + * column label enclosed between double quotation marks, such as + * "Age" or "Yield," or a number (without quotation marks) that + * represents the position of the column within the list: 1 for + * the first column, 2 for the second column, and so on. + * @param mixed[] $criteria The range of cells that contains the conditions you specify. + * You can use any range for the criteria argument, as long as it + * includes at least one column label and at least one cell below + * the column label in which you specify a condition for the + * column. + * @return mixed + * + */ + public static function DGET($database,$field,$criteria) { + $field = self::__fieldExtract($database,$field); + if (is_null($field)) { + return NULL; + } + + // reduce the database to a set of rows that match all the criteria + $database = self::__filter($database,$criteria); + // extract an array of values for the requested column + $colData = array(); + foreach($database as $row) { + $colData[] = $row[$field]; + } + + // Return + if (count($colData) > 1) { + return PHPExcel_Calculation_Functions::NaN(); + } + + return $colData[0]; + } // function DGET() + + + /** + * DMAX + * + * Returns the largest number in a column of a list or database that matches conditions you that + * specify. + * + * Excel Function: + * DMAX(database,field,criteria) + * + * @access public + * @category Database Functions + * @param mixed[] $database The range of cells that makes up the list or database. + * A database is a list of related data in which rows of related + * information are records, and columns of data are fields. The + * first row of the list contains labels for each column. + * @param string|integer $field Indicates which column is used in the function. Enter the + * column label enclosed between double quotation marks, such as + * "Age" or "Yield," or a number (without quotation marks) that + * represents the position of the column within the list: 1 for + * the first column, 2 for the second column, and so on. + * @param mixed[] $criteria The range of cells that contains the conditions you specify. + * You can use any range for the criteria argument, as long as it + * includes at least one column label and at least one cell below + * the column label in which you specify a condition for the + * column. + * @return float + * + */ + public static function DMAX($database,$field,$criteria) { + $field = self::__fieldExtract($database,$field); + if (is_null($field)) { + return NULL; + } + + // reduce the database to a set of rows that match all the criteria + $database = self::__filter($database,$criteria); + // extract an array of values for the requested column + $colData = array(); + foreach($database as $row) { + $colData[] = $row[$field]; + } + + // Return + return PHPExcel_Calculation_Statistical::MAX($colData); + } // function DMAX() + + + /** + * DMIN + * + * Returns the smallest number in a column of a list or database that matches conditions you that + * specify. + * + * Excel Function: + * DMIN(database,field,criteria) + * + * @access public + * @category Database Functions + * @param mixed[] $database The range of cells that makes up the list or database. + * A database is a list of related data in which rows of related + * information are records, and columns of data are fields. The + * first row of the list contains labels for each column. + * @param string|integer $field Indicates which column is used in the function. Enter the + * column label enclosed between double quotation marks, such as + * "Age" or "Yield," or a number (without quotation marks) that + * represents the position of the column within the list: 1 for + * the first column, 2 for the second column, and so on. + * @param mixed[] $criteria The range of cells that contains the conditions you specify. + * You can use any range for the criteria argument, as long as it + * includes at least one column label and at least one cell below + * the column label in which you specify a condition for the + * column. + * @return float + * + */ + public static function DMIN($database,$field,$criteria) { + $field = self::__fieldExtract($database,$field); + if (is_null($field)) { + return NULL; + } + + // reduce the database to a set of rows that match all the criteria + $database = self::__filter($database,$criteria); + // extract an array of values for the requested column + $colData = array(); + foreach($database as $row) { + $colData[] = $row[$field]; + } + + // Return + return PHPExcel_Calculation_Statistical::MIN($colData); + } // function DMIN() + + + /** + * DPRODUCT + * + * Multiplies the values in a column of a list or database that match conditions that you specify. + * + * Excel Function: + * DPRODUCT(database,field,criteria) + * + * @access public + * @category Database Functions + * @param mixed[] $database The range of cells that makes up the list or database. + * A database is a list of related data in which rows of related + * information are records, and columns of data are fields. The + * first row of the list contains labels for each column. + * @param string|integer $field Indicates which column is used in the function. Enter the + * column label enclosed between double quotation marks, such as + * "Age" or "Yield," or a number (without quotation marks) that + * represents the position of the column within the list: 1 for + * the first column, 2 for the second column, and so on. + * @param mixed[] $criteria The range of cells that contains the conditions you specify. + * You can use any range for the criteria argument, as long as it + * includes at least one column label and at least one cell below + * the column label in which you specify a condition for the + * column. + * @return float + * + */ + public static function DPRODUCT($database,$field,$criteria) { + $field = self::__fieldExtract($database,$field); + if (is_null($field)) { + return NULL; + } + + // reduce the database to a set of rows that match all the criteria + $database = self::__filter($database,$criteria); + // extract an array of values for the requested column + $colData = array(); + foreach($database as $row) { + $colData[] = $row[$field]; + } + + // Return + return PHPExcel_Calculation_MathTrig::PRODUCT($colData); + } // function DPRODUCT() + + + /** + * DSTDEV + * + * Estimates the standard deviation of a population based on a sample by using the numbers in a + * column of a list or database that match conditions that you specify. + * + * Excel Function: + * DSTDEV(database,field,criteria) + * + * @access public + * @category Database Functions + * @param mixed[] $database The range of cells that makes up the list or database. + * A database is a list of related data in which rows of related + * information are records, and columns of data are fields. The + * first row of the list contains labels for each column. + * @param string|integer $field Indicates which column is used in the function. Enter the + * column label enclosed between double quotation marks, such as + * "Age" or "Yield," or a number (without quotation marks) that + * represents the position of the column within the list: 1 for + * the first column, 2 for the second column, and so on. + * @param mixed[] $criteria The range of cells that contains the conditions you specify. + * You can use any range for the criteria argument, as long as it + * includes at least one column label and at least one cell below + * the column label in which you specify a condition for the + * column. + * @return float + * + */ + public static function DSTDEV($database,$field,$criteria) { + $field = self::__fieldExtract($database,$field); + if (is_null($field)) { + return NULL; + } + + // reduce the database to a set of rows that match all the criteria + $database = self::__filter($database,$criteria); + // extract an array of values for the requested column + $colData = array(); + foreach($database as $row) { + $colData[] = $row[$field]; + } + + // Return + return PHPExcel_Calculation_Statistical::STDEV($colData); + } // function DSTDEV() + + + /** + * DSTDEVP + * + * Calculates the standard deviation of a population based on the entire population by using the + * numbers in a column of a list or database that match conditions that you specify. + * + * Excel Function: + * DSTDEVP(database,field,criteria) + * + * @access public + * @category Database Functions + * @param mixed[] $database The range of cells that makes up the list or database. + * A database is a list of related data in which rows of related + * information are records, and columns of data are fields. The + * first row of the list contains labels for each column. + * @param string|integer $field Indicates which column is used in the function. Enter the + * column label enclosed between double quotation marks, such as + * "Age" or "Yield," or a number (without quotation marks) that + * represents the position of the column within the list: 1 for + * the first column, 2 for the second column, and so on. + * @param mixed[] $criteria The range of cells that contains the conditions you specify. + * You can use any range for the criteria argument, as long as it + * includes at least one column label and at least one cell below + * the column label in which you specify a condition for the + * column. + * @return float + * + */ + public static function DSTDEVP($database,$field,$criteria) { + $field = self::__fieldExtract($database,$field); + if (is_null($field)) { + return NULL; + } + + // reduce the database to a set of rows that match all the criteria + $database = self::__filter($database,$criteria); + // extract an array of values for the requested column + $colData = array(); + foreach($database as $row) { + $colData[] = $row[$field]; + } + + // Return + return PHPExcel_Calculation_Statistical::STDEVP($colData); + } // function DSTDEVP() + + + /** + * DSUM + * + * Adds the numbers in a column of a list or database that match conditions that you specify. + * + * Excel Function: + * DSUM(database,field,criteria) + * + * @access public + * @category Database Functions + * @param mixed[] $database The range of cells that makes up the list or database. + * A database is a list of related data in which rows of related + * information are records, and columns of data are fields. The + * first row of the list contains labels for each column. + * @param string|integer $field Indicates which column is used in the function. Enter the + * column label enclosed between double quotation marks, such as + * "Age" or "Yield," or a number (without quotation marks) that + * represents the position of the column within the list: 1 for + * the first column, 2 for the second column, and so on. + * @param mixed[] $criteria The range of cells that contains the conditions you specify. + * You can use any range for the criteria argument, as long as it + * includes at least one column label and at least one cell below + * the column label in which you specify a condition for the + * column. + * @return float + * + */ + public static function DSUM($database,$field,$criteria) { + $field = self::__fieldExtract($database,$field); + if (is_null($field)) { + return NULL; + } + + // reduce the database to a set of rows that match all the criteria + $database = self::__filter($database,$criteria); + // extract an array of values for the requested column + $colData = array(); + foreach($database as $row) { + $colData[] = $row[$field]; + } + + // Return + return PHPExcel_Calculation_MathTrig::SUM($colData); + } // function DSUM() + + + /** + * DVAR + * + * Estimates the variance of a population based on a sample by using the numbers in a column + * of a list or database that match conditions that you specify. + * + * Excel Function: + * DVAR(database,field,criteria) + * + * @access public + * @category Database Functions + * @param mixed[] $database The range of cells that makes up the list or database. + * A database is a list of related data in which rows of related + * information are records, and columns of data are fields. The + * first row of the list contains labels for each column. + * @param string|integer $field Indicates which column is used in the function. Enter the + * column label enclosed between double quotation marks, such as + * "Age" or "Yield," or a number (without quotation marks) that + * represents the position of the column within the list: 1 for + * the first column, 2 for the second column, and so on. + * @param mixed[] $criteria The range of cells that contains the conditions you specify. + * You can use any range for the criteria argument, as long as it + * includes at least one column label and at least one cell below + * the column label in which you specify a condition for the + * column. + * @return float + * + */ + public static function DVAR($database,$field,$criteria) { + $field = self::__fieldExtract($database,$field); + if (is_null($field)) { + return NULL; + } + + // reduce the database to a set of rows that match all the criteria + $database = self::__filter($database,$criteria); + // extract an array of values for the requested column + $colData = array(); + foreach($database as $row) { + $colData[] = $row[$field]; + } + + // Return + return PHPExcel_Calculation_Statistical::VARFunc($colData); + } // function DVAR() + + + /** + * DVARP + * + * Calculates the variance of a population based on the entire population by using the numbers + * in a column of a list or database that match conditions that you specify. + * + * Excel Function: + * DVARP(database,field,criteria) + * + * @access public + * @category Database Functions + * @param mixed[] $database The range of cells that makes up the list or database. + * A database is a list of related data in which rows of related + * information are records, and columns of data are fields. The + * first row of the list contains labels for each column. + * @param string|integer $field Indicates which column is used in the function. Enter the + * column label enclosed between double quotation marks, such as + * "Age" or "Yield," or a number (without quotation marks) that + * represents the position of the column within the list: 1 for + * the first column, 2 for the second column, and so on. + * @param mixed[] $criteria The range of cells that contains the conditions you specify. + * You can use any range for the criteria argument, as long as it + * includes at least one column label and at least one cell below + * the column label in which you specify a condition for the + * column. + * @return float + * + */ + public static function DVARP($database,$field,$criteria) { + $field = self::__fieldExtract($database,$field); + if (is_null($field)) { + return NULL; + } + + // reduce the database to a set of rows that match all the criteria + $database = self::__filter($database,$criteria); + // extract an array of values for the requested column + $colData = array(); + foreach($database as $row) { + $colData[] = $row[$field]; + } + + // Return + return PHPExcel_Calculation_Statistical::VARP($colData); + } // function DVARP() + + +} // class PHPExcel_Calculation_Database diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Calculation/DateTime.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Calculation/DateTime.php new file mode 100644 index 00000000..56c14079 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Calculation/DateTime.php @@ -0,0 +1,1485 @@ +format('m'); + $oYear = (int) $PHPDateObject->format('Y'); + + $adjustmentMonthsString = (string) $adjustmentMonths; + if ($adjustmentMonths > 0) { + $adjustmentMonthsString = '+'.$adjustmentMonths; + } + if ($adjustmentMonths != 0) { + $PHPDateObject->modify($adjustmentMonthsString.' months'); + } + $nMonth = (int) $PHPDateObject->format('m'); + $nYear = (int) $PHPDateObject->format('Y'); + + $monthDiff = ($nMonth - $oMonth) + (($nYear - $oYear) * 12); + if ($monthDiff != $adjustmentMonths) { + $adjustDays = (int) $PHPDateObject->format('d'); + $adjustDaysString = '-'.$adjustDays.' days'; + $PHPDateObject->modify($adjustDaysString); + } + return $PHPDateObject; + } // function _adjustDateByMonths() + + + /** + * DATETIMENOW + * + * Returns the current date and time. + * The NOW function is useful when you need to display the current date and time on a worksheet or + * calculate a value based on the current date and time, and have that value updated each time you + * open the worksheet. + * + * NOTE: When used in a Cell Formula, MS Excel changes the cell format so that it matches the date + * and time format of your regional settings. PHPExcel does not change cell formatting in this way. + * + * Excel Function: + * NOW() + * + * @access public + * @category Date/Time Functions + * @return mixed Excel date/time serial value, PHP date/time serial value or PHP date/time object, + * depending on the value of the ReturnDateType flag + */ + public static function DATETIMENOW() { + $saveTimeZone = date_default_timezone_get(); + date_default_timezone_set('UTC'); + $retValue = False; + switch (PHPExcel_Calculation_Functions::getReturnDateType()) { + case PHPExcel_Calculation_Functions::RETURNDATE_EXCEL : + $retValue = (float) PHPExcel_Shared_Date::PHPToExcel(time()); + break; + case PHPExcel_Calculation_Functions::RETURNDATE_PHP_NUMERIC : + $retValue = (integer) time(); + break; + case PHPExcel_Calculation_Functions::RETURNDATE_PHP_OBJECT : + $retValue = new DateTime(); + break; + } + date_default_timezone_set($saveTimeZone); + + return $retValue; + } // function DATETIMENOW() + + + /** + * DATENOW + * + * Returns the current date. + * The NOW function is useful when you need to display the current date and time on a worksheet or + * calculate a value based on the current date and time, and have that value updated each time you + * open the worksheet. + * + * NOTE: When used in a Cell Formula, MS Excel changes the cell format so that it matches the date + * and time format of your regional settings. PHPExcel does not change cell formatting in this way. + * + * Excel Function: + * TODAY() + * + * @access public + * @category Date/Time Functions + * @return mixed Excel date/time serial value, PHP date/time serial value or PHP date/time object, + * depending on the value of the ReturnDateType flag + */ + public static function DATENOW() { + $saveTimeZone = date_default_timezone_get(); + date_default_timezone_set('UTC'); + $retValue = False; + $excelDateTime = floor(PHPExcel_Shared_Date::PHPToExcel(time())); + switch (PHPExcel_Calculation_Functions::getReturnDateType()) { + case PHPExcel_Calculation_Functions::RETURNDATE_EXCEL : + $retValue = (float) $excelDateTime; + break; + case PHPExcel_Calculation_Functions::RETURNDATE_PHP_NUMERIC : + $retValue = (integer) PHPExcel_Shared_Date::ExcelToPHP($excelDateTime); + break; + case PHPExcel_Calculation_Functions::RETURNDATE_PHP_OBJECT : + $retValue = PHPExcel_Shared_Date::ExcelToPHPObject($excelDateTime); + break; + } + date_default_timezone_set($saveTimeZone); + + return $retValue; + } // function DATENOW() + + + /** + * DATE + * + * The DATE function returns a value that represents a particular date. + * + * NOTE: When used in a Cell Formula, MS Excel changes the cell format so that it matches the date + * format of your regional settings. PHPExcel does not change cell formatting in this way. + * + * Excel Function: + * DATE(year,month,day) + * + * PHPExcel is a lot more forgiving than MS Excel when passing non numeric values to this function. + * A Month name or abbreviation (English only at this point) such as 'January' or 'Jan' will still be accepted, + * as will a day value with a suffix (e.g. '21st' rather than simply 21); again only English language. + * + * @access public + * @category Date/Time Functions + * @param integer $year The value of the year argument can include one to four digits. + * Excel interprets the year argument according to the configured + * date system: 1900 or 1904. + * If year is between 0 (zero) and 1899 (inclusive), Excel adds that + * value to 1900 to calculate the year. For example, DATE(108,1,2) + * returns January 2, 2008 (1900+108). + * If year is between 1900 and 9999 (inclusive), Excel uses that + * value as the year. For example, DATE(2008,1,2) returns January 2, + * 2008. + * If year is less than 0 or is 10000 or greater, Excel returns the + * #NUM! error value. + * @param integer $month A positive or negative integer representing the month of the year + * from 1 to 12 (January to December). + * If month is greater than 12, month adds that number of months to + * the first month in the year specified. For example, DATE(2008,14,2) + * returns the serial number representing February 2, 2009. + * If month is less than 1, month subtracts the magnitude of that + * number of months, plus 1, from the first month in the year + * specified. For example, DATE(2008,-3,2) returns the serial number + * representing September 2, 2007. + * @param integer $day A positive or negative integer representing the day of the month + * from 1 to 31. + * If day is greater than the number of days in the month specified, + * day adds that number of days to the first day in the month. For + * example, DATE(2008,1,35) returns the serial number representing + * February 4, 2008. + * If day is less than 1, day subtracts the magnitude that number of + * days, plus one, from the first day of the month specified. For + * example, DATE(2008,1,-15) returns the serial number representing + * December 16, 2007. + * @return mixed Excel date/time serial value, PHP date/time serial value or PHP date/time object, + * depending on the value of the ReturnDateType flag + */ + public static function DATE($year = 0, $month = 1, $day = 1) { + $year = PHPExcel_Calculation_Functions::flattenSingleValue($year); + $month = PHPExcel_Calculation_Functions::flattenSingleValue($month); + $day = PHPExcel_Calculation_Functions::flattenSingleValue($day); + + if (($month !== NULL) && (!is_numeric($month))) { + $month = PHPExcel_Shared_Date::monthStringToNumber($month); + } + + if (($day !== NULL) && (!is_numeric($day))) { + $day = PHPExcel_Shared_Date::dayStringToNumber($day); + } + + $year = ($year !== NULL) ? PHPExcel_Shared_String::testStringAsNumeric($year) : 0; + $month = ($month !== NULL) ? PHPExcel_Shared_String::testStringAsNumeric($month) : 0; + $day = ($day !== NULL) ? PHPExcel_Shared_String::testStringAsNumeric($day) : 0; + if ((!is_numeric($year)) || + (!is_numeric($month)) || + (!is_numeric($day))) { + return PHPExcel_Calculation_Functions::VALUE(); + } + $year = (integer) $year; + $month = (integer) $month; + $day = (integer) $day; + + $baseYear = PHPExcel_Shared_Date::getExcelCalendar(); + // Validate parameters + if ($year < ($baseYear-1900)) { + return PHPExcel_Calculation_Functions::NaN(); + } + if ((($baseYear-1900) != 0) && ($year < $baseYear) && ($year >= 1900)) { + return PHPExcel_Calculation_Functions::NaN(); + } + + if (($year < $baseYear) && ($year >= ($baseYear-1900))) { + $year += 1900; + } + + if ($month < 1) { + // Handle year/month adjustment if month < 1 + --$month; + $year += ceil($month / 12) - 1; + $month = 13 - abs($month % 12); + } elseif ($month > 12) { + // Handle year/month adjustment if month > 12 + $year += floor($month / 12); + $month = ($month % 12); + } + + // Re-validate the year parameter after adjustments + if (($year < $baseYear) || ($year >= 10000)) { + return PHPExcel_Calculation_Functions::NaN(); + } + + // Execute function + $excelDateValue = PHPExcel_Shared_Date::FormattedPHPToExcel($year, $month, $day); + switch (PHPExcel_Calculation_Functions::getReturnDateType()) { + case PHPExcel_Calculation_Functions::RETURNDATE_EXCEL : + return (float) $excelDateValue; + case PHPExcel_Calculation_Functions::RETURNDATE_PHP_NUMERIC : + return (integer) PHPExcel_Shared_Date::ExcelToPHP($excelDateValue); + case PHPExcel_Calculation_Functions::RETURNDATE_PHP_OBJECT : + return PHPExcel_Shared_Date::ExcelToPHPObject($excelDateValue); + } + } // function DATE() + + + /** + * TIME + * + * The TIME function returns a value that represents a particular time. + * + * NOTE: When used in a Cell Formula, MS Excel changes the cell format so that it matches the time + * format of your regional settings. PHPExcel does not change cell formatting in this way. + * + * Excel Function: + * TIME(hour,minute,second) + * + * @access public + * @category Date/Time Functions + * @param integer $hour A number from 0 (zero) to 32767 representing the hour. + * Any value greater than 23 will be divided by 24 and the remainder + * will be treated as the hour value. For example, TIME(27,0,0) = + * TIME(3,0,0) = .125 or 3:00 AM. + * @param integer $minute A number from 0 to 32767 representing the minute. + * Any value greater than 59 will be converted to hours and minutes. + * For example, TIME(0,750,0) = TIME(12,30,0) = .520833 or 12:30 PM. + * @param integer $second A number from 0 to 32767 representing the second. + * Any value greater than 59 will be converted to hours, minutes, + * and seconds. For example, TIME(0,0,2000) = TIME(0,33,22) = .023148 + * or 12:33:20 AM + * @return mixed Excel date/time serial value, PHP date/time serial value or PHP date/time object, + * depending on the value of the ReturnDateType flag + */ + public static function TIME($hour = 0, $minute = 0, $second = 0) { + $hour = PHPExcel_Calculation_Functions::flattenSingleValue($hour); + $minute = PHPExcel_Calculation_Functions::flattenSingleValue($minute); + $second = PHPExcel_Calculation_Functions::flattenSingleValue($second); + + if ($hour == '') { $hour = 0; } + if ($minute == '') { $minute = 0; } + if ($second == '') { $second = 0; } + + if ((!is_numeric($hour)) || (!is_numeric($minute)) || (!is_numeric($second))) { + return PHPExcel_Calculation_Functions::VALUE(); + } + $hour = (integer) $hour; + $minute = (integer) $minute; + $second = (integer) $second; + + if ($second < 0) { + $minute += floor($second / 60); + $second = 60 - abs($second % 60); + if ($second == 60) { $second = 0; } + } elseif ($second >= 60) { + $minute += floor($second / 60); + $second = $second % 60; + } + if ($minute < 0) { + $hour += floor($minute / 60); + $minute = 60 - abs($minute % 60); + if ($minute == 60) { $minute = 0; } + } elseif ($minute >= 60) { + $hour += floor($minute / 60); + $minute = $minute % 60; + } + + if ($hour > 23) { + $hour = $hour % 24; + } elseif ($hour < 0) { + return PHPExcel_Calculation_Functions::NaN(); + } + + // Execute function + switch (PHPExcel_Calculation_Functions::getReturnDateType()) { + case PHPExcel_Calculation_Functions::RETURNDATE_EXCEL : + $date = 0; + $calendar = PHPExcel_Shared_Date::getExcelCalendar(); + if ($calendar != PHPExcel_Shared_Date::CALENDAR_WINDOWS_1900) { + $date = 1; + } + return (float) PHPExcel_Shared_Date::FormattedPHPToExcel($calendar, 1, $date, $hour, $minute, $second); + case PHPExcel_Calculation_Functions::RETURNDATE_PHP_NUMERIC : + return (integer) PHPExcel_Shared_Date::ExcelToPHP(PHPExcel_Shared_Date::FormattedPHPToExcel(1970, 1, 1, $hour, $minute, $second)); // -2147468400; // -2147472000 + 3600 + case PHPExcel_Calculation_Functions::RETURNDATE_PHP_OBJECT : + $dayAdjust = 0; + if ($hour < 0) { + $dayAdjust = floor($hour / 24); + $hour = 24 - abs($hour % 24); + if ($hour == 24) { $hour = 0; } + } elseif ($hour >= 24) { + $dayAdjust = floor($hour / 24); + $hour = $hour % 24; + } + $phpDateObject = new DateTime('1900-01-01 '.$hour.':'.$minute.':'.$second); + if ($dayAdjust != 0) { + $phpDateObject->modify($dayAdjust.' days'); + } + return $phpDateObject; + } + } // function TIME() + + + /** + * DATEVALUE + * + * Returns a value that represents a particular date. + * Use DATEVALUE to convert a date represented by a text string to an Excel or PHP date/time stamp + * value. + * + * NOTE: When used in a Cell Formula, MS Excel changes the cell format so that it matches the date + * format of your regional settings. PHPExcel does not change cell formatting in this way. + * + * Excel Function: + * DATEVALUE(dateValue) + * + * @access public + * @category Date/Time Functions + * @param string $dateValue Text that represents a date in a Microsoft Excel date format. + * For example, "1/30/2008" or "30-Jan-2008" are text strings within + * quotation marks that represent dates. Using the default date + * system in Excel for Windows, date_text must represent a date from + * January 1, 1900, to December 31, 9999. Using the default date + * system in Excel for the Macintosh, date_text must represent a date + * from January 1, 1904, to December 31, 9999. DATEVALUE returns the + * #VALUE! error value if date_text is out of this range. + * @return mixed Excel date/time serial value, PHP date/time serial value or PHP date/time object, + * depending on the value of the ReturnDateType flag + */ + public static function DATEVALUE($dateValue = 1) { + $dateValue = trim(PHPExcel_Calculation_Functions::flattenSingleValue($dateValue),'"'); + // Strip any ordinals because they're allowed in Excel (English only) + $dateValue = preg_replace('/(\d)(st|nd|rd|th)([ -\/])/Ui','$1$3',$dateValue); + // Convert separators (/ . or space) to hyphens (should also handle dot used for ordinals in some countries, e.g. Denmark, Germany) + $dateValue = str_replace(array('/','.','-',' '),array(' ',' ',' ',' '),$dateValue); + + $yearFound = false; + $t1 = explode(' ',$dateValue); + foreach($t1 as &$t) { + if ((is_numeric($t)) && ($t > 31)) { + if ($yearFound) { + return PHPExcel_Calculation_Functions::VALUE(); + } else { + if ($t < 100) { $t += 1900; } + $yearFound = true; + } + } + } + if ((count($t1) == 1) && (strpos($t,':') != false)) { + // We've been fed a time value without any date + return 0.0; + } elseif (count($t1) == 2) { + // We only have two parts of the date: either day/month or month/year + if ($yearFound) { + array_unshift($t1,1); + } else { + array_push($t1,date('Y')); + } + } + unset($t); + $dateValue = implode(' ',$t1); + + $PHPDateArray = date_parse($dateValue); + if (($PHPDateArray === False) || ($PHPDateArray['error_count'] > 0)) { + $testVal1 = strtok($dateValue,'- '); + if ($testVal1 !== False) { + $testVal2 = strtok('- '); + if ($testVal2 !== False) { + $testVal3 = strtok('- '); + if ($testVal3 === False) { + $testVal3 = strftime('%Y'); + } + } else { + return PHPExcel_Calculation_Functions::VALUE(); + } + } else { + return PHPExcel_Calculation_Functions::VALUE(); + } + $PHPDateArray = date_parse($testVal1.'-'.$testVal2.'-'.$testVal3); + if (($PHPDateArray === False) || ($PHPDateArray['error_count'] > 0)) { + $PHPDateArray = date_parse($testVal2.'-'.$testVal1.'-'.$testVal3); + if (($PHPDateArray === False) || ($PHPDateArray['error_count'] > 0)) { + return PHPExcel_Calculation_Functions::VALUE(); + } + } + } + + if (($PHPDateArray !== False) && ($PHPDateArray['error_count'] == 0)) { + // Execute function + if ($PHPDateArray['year'] == '') { $PHPDateArray['year'] = strftime('%Y'); } + if ($PHPDateArray['year'] < 1900) + return PHPExcel_Calculation_Functions::VALUE(); + if ($PHPDateArray['month'] == '') { $PHPDateArray['month'] = strftime('%m'); } + if ($PHPDateArray['day'] == '') { $PHPDateArray['day'] = strftime('%d'); } + $excelDateValue = floor(PHPExcel_Shared_Date::FormattedPHPToExcel($PHPDateArray['year'],$PHPDateArray['month'],$PHPDateArray['day'],$PHPDateArray['hour'],$PHPDateArray['minute'],$PHPDateArray['second'])); + + switch (PHPExcel_Calculation_Functions::getReturnDateType()) { + case PHPExcel_Calculation_Functions::RETURNDATE_EXCEL : + return (float) $excelDateValue; + case PHPExcel_Calculation_Functions::RETURNDATE_PHP_NUMERIC : + return (integer) PHPExcel_Shared_Date::ExcelToPHP($excelDateValue); + case PHPExcel_Calculation_Functions::RETURNDATE_PHP_OBJECT : + return new DateTime($PHPDateArray['year'].'-'.$PHPDateArray['month'].'-'.$PHPDateArray['day'].' 00:00:00'); + } + } + return PHPExcel_Calculation_Functions::VALUE(); + } // function DATEVALUE() + + + /** + * TIMEVALUE + * + * Returns a value that represents a particular time. + * Use TIMEVALUE to convert a time represented by a text string to an Excel or PHP date/time stamp + * value. + * + * NOTE: When used in a Cell Formula, MS Excel changes the cell format so that it matches the time + * format of your regional settings. PHPExcel does not change cell formatting in this way. + * + * Excel Function: + * TIMEVALUE(timeValue) + * + * @access public + * @category Date/Time Functions + * @param string $timeValue A text string that represents a time in any one of the Microsoft + * Excel time formats; for example, "6:45 PM" and "18:45" text strings + * within quotation marks that represent time. + * Date information in time_text is ignored. + * @return mixed Excel date/time serial value, PHP date/time serial value or PHP date/time object, + * depending on the value of the ReturnDateType flag + */ + public static function TIMEVALUE($timeValue) { + $timeValue = trim(PHPExcel_Calculation_Functions::flattenSingleValue($timeValue),'"'); + $timeValue = str_replace(array('/','.'),array('-','-'),$timeValue); + + $PHPDateArray = date_parse($timeValue); + if (($PHPDateArray !== False) && ($PHPDateArray['error_count'] == 0)) { + if (PHPExcel_Calculation_Functions::getCompatibilityMode() == PHPExcel_Calculation_Functions::COMPATIBILITY_OPENOFFICE) { + $excelDateValue = PHPExcel_Shared_Date::FormattedPHPToExcel($PHPDateArray['year'],$PHPDateArray['month'],$PHPDateArray['day'],$PHPDateArray['hour'],$PHPDateArray['minute'],$PHPDateArray['second']); + } else { + $excelDateValue = PHPExcel_Shared_Date::FormattedPHPToExcel(1900,1,1,$PHPDateArray['hour'],$PHPDateArray['minute'],$PHPDateArray['second']) - 1; + } + + switch (PHPExcel_Calculation_Functions::getReturnDateType()) { + case PHPExcel_Calculation_Functions::RETURNDATE_EXCEL : + return (float) $excelDateValue; + case PHPExcel_Calculation_Functions::RETURNDATE_PHP_NUMERIC : + return (integer) $phpDateValue = PHPExcel_Shared_Date::ExcelToPHP($excelDateValue+25569) - 3600;; + case PHPExcel_Calculation_Functions::RETURNDATE_PHP_OBJECT : + return new DateTime('1900-01-01 '.$PHPDateArray['hour'].':'.$PHPDateArray['minute'].':'.$PHPDateArray['second']); + } + } + return PHPExcel_Calculation_Functions::VALUE(); + } // function TIMEVALUE() + + + /** + * DATEDIF + * + * @param mixed $startDate Excel date serial value, PHP date/time stamp, PHP DateTime object + * or a standard date string + * @param mixed $endDate Excel date serial value, PHP date/time stamp, PHP DateTime object + * or a standard date string + * @param string $unit + * @return integer Interval between the dates + */ + public static function DATEDIF($startDate = 0, $endDate = 0, $unit = 'D') { + $startDate = PHPExcel_Calculation_Functions::flattenSingleValue($startDate); + $endDate = PHPExcel_Calculation_Functions::flattenSingleValue($endDate); + $unit = strtoupper(PHPExcel_Calculation_Functions::flattenSingleValue($unit)); + + if (is_string($startDate = self::_getDateValue($startDate))) { + return PHPExcel_Calculation_Functions::VALUE(); + } + if (is_string($endDate = self::_getDateValue($endDate))) { + return PHPExcel_Calculation_Functions::VALUE(); + } + + // Validate parameters + if ($startDate >= $endDate) { + return PHPExcel_Calculation_Functions::NaN(); + } + + // Execute function + $difference = $endDate - $startDate; + + $PHPStartDateObject = PHPExcel_Shared_Date::ExcelToPHPObject($startDate); + $startDays = $PHPStartDateObject->format('j'); + $startMonths = $PHPStartDateObject->format('n'); + $startYears = $PHPStartDateObject->format('Y'); + + $PHPEndDateObject = PHPExcel_Shared_Date::ExcelToPHPObject($endDate); + $endDays = $PHPEndDateObject->format('j'); + $endMonths = $PHPEndDateObject->format('n'); + $endYears = $PHPEndDateObject->format('Y'); + + $retVal = PHPExcel_Calculation_Functions::NaN(); + switch ($unit) { + case 'D': + $retVal = intval($difference); + break; + case 'M': + $retVal = intval($endMonths - $startMonths) + (intval($endYears - $startYears) * 12); + // We're only interested in full months + if ($endDays < $startDays) { + --$retVal; + } + break; + case 'Y': + $retVal = intval($endYears - $startYears); + // We're only interested in full months + if ($endMonths < $startMonths) { + --$retVal; + } elseif (($endMonths == $startMonths) && ($endDays < $startDays)) { + --$retVal; + } + break; + case 'MD': + if ($endDays < $startDays) { + $retVal = $endDays; + $PHPEndDateObject->modify('-'.$endDays.' days'); + $adjustDays = $PHPEndDateObject->format('j'); + if ($adjustDays > $startDays) { + $retVal += ($adjustDays - $startDays); + } + } else { + $retVal = $endDays - $startDays; + } + break; + case 'YM': + $retVal = intval($endMonths - $startMonths); + if ($retVal < 0) $retVal = 12 + $retVal; + // We're only interested in full months + if ($endDays < $startDays) { + --$retVal; + } + break; + case 'YD': + $retVal = intval($difference); + if ($endYears > $startYears) { + while ($endYears > $startYears) { + $PHPEndDateObject->modify('-1 year'); + $endYears = $PHPEndDateObject->format('Y'); + } + $retVal = $PHPEndDateObject->format('z') - $PHPStartDateObject->format('z'); + if ($retVal < 0) { $retVal += 365; } + } + break; + default: + $retVal = PHPExcel_Calculation_Functions::NaN(); + } + return $retVal; + } // function DATEDIF() + + + /** + * DAYS360 + * + * Returns the number of days between two dates based on a 360-day year (twelve 30-day months), + * which is used in some accounting calculations. Use this function to help compute payments if + * your accounting system is based on twelve 30-day months. + * + * Excel Function: + * DAYS360(startDate,endDate[,method]) + * + * @access public + * @category Date/Time Functions + * @param mixed $startDate Excel date serial value (float), PHP date timestamp (integer), + * PHP DateTime object, or a standard date string + * @param mixed $endDate Excel date serial value (float), PHP date timestamp (integer), + * PHP DateTime object, or a standard date string + * @param boolean $method US or European Method + * FALSE or omitted: U.S. (NASD) method. If the starting date is + * the last day of a month, it becomes equal to the 30th of the + * same month. If the ending date is the last day of a month and + * the starting date is earlier than the 30th of a month, the + * ending date becomes equal to the 1st of the next month; + * otherwise the ending date becomes equal to the 30th of the + * same month. + * TRUE: European method. Starting dates and ending dates that + * occur on the 31st of a month become equal to the 30th of the + * same month. + * @return integer Number of days between start date and end date + */ + public static function DAYS360($startDate = 0, $endDate = 0, $method = false) { + $startDate = PHPExcel_Calculation_Functions::flattenSingleValue($startDate); + $endDate = PHPExcel_Calculation_Functions::flattenSingleValue($endDate); + + if (is_string($startDate = self::_getDateValue($startDate))) { + return PHPExcel_Calculation_Functions::VALUE(); + } + if (is_string($endDate = self::_getDateValue($endDate))) { + return PHPExcel_Calculation_Functions::VALUE(); + } + + if (!is_bool($method)) { + return PHPExcel_Calculation_Functions::VALUE(); + } + + // Execute function + $PHPStartDateObject = PHPExcel_Shared_Date::ExcelToPHPObject($startDate); + $startDay = $PHPStartDateObject->format('j'); + $startMonth = $PHPStartDateObject->format('n'); + $startYear = $PHPStartDateObject->format('Y'); + + $PHPEndDateObject = PHPExcel_Shared_Date::ExcelToPHPObject($endDate); + $endDay = $PHPEndDateObject->format('j'); + $endMonth = $PHPEndDateObject->format('n'); + $endYear = $PHPEndDateObject->format('Y'); + + return self::_dateDiff360($startDay, $startMonth, $startYear, $endDay, $endMonth, $endYear, !$method); + } // function DAYS360() + + + /** + * YEARFRAC + * + * Calculates the fraction of the year represented by the number of whole days between two dates + * (the start_date and the end_date). + * Use the YEARFRAC worksheet function to identify the proportion of a whole year's benefits or + * obligations to assign to a specific term. + * + * Excel Function: + * YEARFRAC(startDate,endDate[,method]) + * + * @access public + * @category Date/Time Functions + * @param mixed $startDate Excel date serial value (float), PHP date timestamp (integer), + * PHP DateTime object, or a standard date string + * @param mixed $endDate Excel date serial value (float), PHP date timestamp (integer), + * PHP DateTime object, or a standard date string + * @param integer $method Method used for the calculation + * 0 or omitted US (NASD) 30/360 + * 1 Actual/actual + * 2 Actual/360 + * 3 Actual/365 + * 4 European 30/360 + * @return float fraction of the year + */ + public static function YEARFRAC($startDate = 0, $endDate = 0, $method = 0) { + $startDate = PHPExcel_Calculation_Functions::flattenSingleValue($startDate); + $endDate = PHPExcel_Calculation_Functions::flattenSingleValue($endDate); + $method = PHPExcel_Calculation_Functions::flattenSingleValue($method); + + if (is_string($startDate = self::_getDateValue($startDate))) { + return PHPExcel_Calculation_Functions::VALUE(); + } + if (is_string($endDate = self::_getDateValue($endDate))) { + return PHPExcel_Calculation_Functions::VALUE(); + } + + if (((is_numeric($method)) && (!is_string($method))) || ($method == '')) { + switch($method) { + case 0 : + return self::DAYS360($startDate,$endDate) / 360; + case 1 : + $days = self::DATEDIF($startDate,$endDate); + $startYear = self::YEAR($startDate); + $endYear = self::YEAR($endDate); + $years = $endYear - $startYear + 1; + $leapDays = 0; + if ($years == 1) { + if (self::_isLeapYear($endYear)) { + $startMonth = self::MONTHOFYEAR($startDate); + $endMonth = self::MONTHOFYEAR($endDate); + $endDay = self::DAYOFMONTH($endDate); + if (($startMonth < 3) || + (($endMonth * 100 + $endDay) >= (2 * 100 + 29))) { + $leapDays += 1; + } + } + } else { + for($year = $startYear; $year <= $endYear; ++$year) { + if ($year == $startYear) { + $startMonth = self::MONTHOFYEAR($startDate); + $startDay = self::DAYOFMONTH($startDate); + if ($startMonth < 3) { + $leapDays += (self::_isLeapYear($year)) ? 1 : 0; + } + } elseif($year == $endYear) { + $endMonth = self::MONTHOFYEAR($endDate); + $endDay = self::DAYOFMONTH($endDate); + if (($endMonth * 100 + $endDay) >= (2 * 100 + 29)) { + $leapDays += (self::_isLeapYear($year)) ? 1 : 0; + } + } else { + $leapDays += (self::_isLeapYear($year)) ? 1 : 0; + } + } + if ($years == 2) { + if (($leapDays == 0) && (self::_isLeapYear($startYear)) && ($days > 365)) { + $leapDays = 1; + } elseif ($days < 366) { + $years = 1; + } + } + $leapDays /= $years; + } + return $days / (365 + $leapDays); + case 2 : + return self::DATEDIF($startDate,$endDate) / 360; + case 3 : + return self::DATEDIF($startDate,$endDate) / 365; + case 4 : + return self::DAYS360($startDate,$endDate,True) / 360; + } + } + return PHPExcel_Calculation_Functions::VALUE(); + } // function YEARFRAC() + + + /** + * NETWORKDAYS + * + * Returns the number of whole working days between start_date and end_date. Working days + * exclude weekends and any dates identified in holidays. + * Use NETWORKDAYS to calculate employee benefits that accrue based on the number of days + * worked during a specific term. + * + * Excel Function: + * NETWORKDAYS(startDate,endDate[,holidays[,holiday[,...]]]) + * + * @access public + * @category Date/Time Functions + * @param mixed $startDate Excel date serial value (float), PHP date timestamp (integer), + * PHP DateTime object, or a standard date string + * @param mixed $endDate Excel date serial value (float), PHP date timestamp (integer), + * PHP DateTime object, or a standard date string + * @param mixed $holidays,... Optional series of Excel date serial value (float), PHP date + * timestamp (integer), PHP DateTime object, or a standard date + * strings that will be excluded from the working calendar, such + * as state and federal holidays and floating holidays. + * @return integer Interval between the dates + */ + public static function NETWORKDAYS($startDate,$endDate) { + // Retrieve the mandatory start and end date that are referenced in the function definition + $startDate = PHPExcel_Calculation_Functions::flattenSingleValue($startDate); + $endDate = PHPExcel_Calculation_Functions::flattenSingleValue($endDate); + // Flush the mandatory start and end date that are referenced in the function definition, and get the optional days + $dateArgs = PHPExcel_Calculation_Functions::flattenArray(func_get_args()); + array_shift($dateArgs); + array_shift($dateArgs); + + // Validate the start and end dates + if (is_string($startDate = $sDate = self::_getDateValue($startDate))) { + return PHPExcel_Calculation_Functions::VALUE(); + } + $startDate = (float) floor($startDate); + if (is_string($endDate = $eDate = self::_getDateValue($endDate))) { + return PHPExcel_Calculation_Functions::VALUE(); + } + $endDate = (float) floor($endDate); + + if ($sDate > $eDate) { + $startDate = $eDate; + $endDate = $sDate; + } + + // Execute function + $startDoW = 6 - self::DAYOFWEEK($startDate,2); + if ($startDoW < 0) { $startDoW = 0; } + $endDoW = self::DAYOFWEEK($endDate,2); + if ($endDoW >= 6) { $endDoW = 0; } + + $wholeWeekDays = floor(($endDate - $startDate) / 7) * 5; + $partWeekDays = $endDoW + $startDoW; + if ($partWeekDays > 5) { + $partWeekDays -= 5; + } + + // Test any extra holiday parameters + $holidayCountedArray = array(); + foreach ($dateArgs as $holidayDate) { + if (is_string($holidayDate = self::_getDateValue($holidayDate))) { + return PHPExcel_Calculation_Functions::VALUE(); + } + if (($holidayDate >= $startDate) && ($holidayDate <= $endDate)) { + if ((self::DAYOFWEEK($holidayDate,2) < 6) && (!in_array($holidayDate,$holidayCountedArray))) { + --$partWeekDays; + $holidayCountedArray[] = $holidayDate; + } + } + } + + if ($sDate > $eDate) { + return 0 - ($wholeWeekDays + $partWeekDays); + } + return $wholeWeekDays + $partWeekDays; + } // function NETWORKDAYS() + + + /** + * WORKDAY + * + * Returns the date that is the indicated number of working days before or after a date (the + * starting date). Working days exclude weekends and any dates identified as holidays. + * Use WORKDAY to exclude weekends or holidays when you calculate invoice due dates, expected + * delivery times, or the number of days of work performed. + * + * Excel Function: + * WORKDAY(startDate,endDays[,holidays[,holiday[,...]]]) + * + * @access public + * @category Date/Time Functions + * @param mixed $startDate Excel date serial value (float), PHP date timestamp (integer), + * PHP DateTime object, or a standard date string + * @param integer $endDays The number of nonweekend and nonholiday days before or after + * startDate. A positive value for days yields a future date; a + * negative value yields a past date. + * @param mixed $holidays,... Optional series of Excel date serial value (float), PHP date + * timestamp (integer), PHP DateTime object, or a standard date + * strings that will be excluded from the working calendar, such + * as state and federal holidays and floating holidays. + * @return mixed Excel date/time serial value, PHP date/time serial value or PHP date/time object, + * depending on the value of the ReturnDateType flag + */ + public static function WORKDAY($startDate,$endDays) { + // Retrieve the mandatory start date and days that are referenced in the function definition + $startDate = PHPExcel_Calculation_Functions::flattenSingleValue($startDate); + $endDays = PHPExcel_Calculation_Functions::flattenSingleValue($endDays); + // Flush the mandatory start date and days that are referenced in the function definition, and get the optional days + $dateArgs = PHPExcel_Calculation_Functions::flattenArray(func_get_args()); + array_shift($dateArgs); + array_shift($dateArgs); + + if ((is_string($startDate = self::_getDateValue($startDate))) || (!is_numeric($endDays))) { + return PHPExcel_Calculation_Functions::VALUE(); + } + $startDate = (float) floor($startDate); + $endDays = (int) floor($endDays); + // If endDays is 0, we always return startDate + if ($endDays == 0) { return $startDate; } + + $decrementing = ($endDays < 0) ? True : False; + + // Adjust the start date if it falls over a weekend + + $startDoW = self::DAYOFWEEK($startDate,3); + if (self::DAYOFWEEK($startDate,3) >= 5) { + $startDate += ($decrementing) ? -$startDoW + 4: 7 - $startDoW; + ($decrementing) ? $endDays++ : $endDays--; + } + + // Add endDays + $endDate = (float) $startDate + (intval($endDays / 5) * 7) + ($endDays % 5); + + // Adjust the calculated end date if it falls over a weekend + $endDoW = self::DAYOFWEEK($endDate,3); + if ($endDoW >= 5) { + $endDate += ($decrementing) ? -$endDoW + 4: 7 - $endDoW; + } + + // Test any extra holiday parameters + if (!empty($dateArgs)) { + $holidayCountedArray = $holidayDates = array(); + foreach ($dateArgs as $holidayDate) { + if (($holidayDate !== NULL) && (trim($holidayDate) > '')) { + if (is_string($holidayDate = self::_getDateValue($holidayDate))) { + return PHPExcel_Calculation_Functions::VALUE(); + } + if (self::DAYOFWEEK($holidayDate,3) < 5) { + $holidayDates[] = $holidayDate; + } + } + } + if ($decrementing) { + rsort($holidayDates, SORT_NUMERIC); + } else { + sort($holidayDates, SORT_NUMERIC); + } + foreach ($holidayDates as $holidayDate) { + if ($decrementing) { + if (($holidayDate <= $startDate) && ($holidayDate >= $endDate)) { + if (!in_array($holidayDate,$holidayCountedArray)) { + --$endDate; + $holidayCountedArray[] = $holidayDate; + } + } + } else { + if (($holidayDate >= $startDate) && ($holidayDate <= $endDate)) { + if (!in_array($holidayDate,$holidayCountedArray)) { + ++$endDate; + $holidayCountedArray[] = $holidayDate; + } + } + } + // Adjust the calculated end date if it falls over a weekend + $endDoW = self::DAYOFWEEK($endDate,3); + if ($endDoW >= 5) { + $endDate += ($decrementing) ? -$endDoW + 4: 7 - $endDoW; + } + + } + } + + switch (PHPExcel_Calculation_Functions::getReturnDateType()) { + case PHPExcel_Calculation_Functions::RETURNDATE_EXCEL : + return (float) $endDate; + case PHPExcel_Calculation_Functions::RETURNDATE_PHP_NUMERIC : + return (integer) PHPExcel_Shared_Date::ExcelToPHP($endDate); + case PHPExcel_Calculation_Functions::RETURNDATE_PHP_OBJECT : + return PHPExcel_Shared_Date::ExcelToPHPObject($endDate); + } + } // function WORKDAY() + + + /** + * DAYOFMONTH + * + * Returns the day of the month, for a specified date. The day is given as an integer + * ranging from 1 to 31. + * + * Excel Function: + * DAY(dateValue) + * + * @param mixed $dateValue Excel date serial value (float), PHP date timestamp (integer), + * PHP DateTime object, or a standard date string + * @return int Day of the month + */ + public static function DAYOFMONTH($dateValue = 1) { + $dateValue = PHPExcel_Calculation_Functions::flattenSingleValue($dateValue); + + if ($dateValue === null) { + $dateValue = 1; + } elseif (is_string($dateValue = self::_getDateValue($dateValue))) { + return PHPExcel_Calculation_Functions::VALUE(); + } elseif ($dateValue == 0.0) { + return 0; + } elseif ($dateValue < 0.0) { + return PHPExcel_Calculation_Functions::NaN(); + } + + // Execute function + $PHPDateObject = PHPExcel_Shared_Date::ExcelToPHPObject($dateValue); + + return (int) $PHPDateObject->format('j'); + } // function DAYOFMONTH() + + + /** + * DAYOFWEEK + * + * Returns the day of the week for a specified date. The day is given as an integer + * ranging from 0 to 7 (dependent on the requested style). + * + * Excel Function: + * WEEKDAY(dateValue[,style]) + * + * @param mixed $dateValue Excel date serial value (float), PHP date timestamp (integer), + * PHP DateTime object, or a standard date string + * @param int $style A number that determines the type of return value + * 1 or omitted Numbers 1 (Sunday) through 7 (Saturday). + * 2 Numbers 1 (Monday) through 7 (Sunday). + * 3 Numbers 0 (Monday) through 6 (Sunday). + * @return int Day of the week value + */ + public static function DAYOFWEEK($dateValue = 1, $style = 1) { + $dateValue = PHPExcel_Calculation_Functions::flattenSingleValue($dateValue); + $style = PHPExcel_Calculation_Functions::flattenSingleValue($style); + + if (!is_numeric($style)) { + return PHPExcel_Calculation_Functions::VALUE(); + } elseif (($style < 1) || ($style > 3)) { + return PHPExcel_Calculation_Functions::NaN(); + } + $style = floor($style); + + if ($dateValue === null) { + $dateValue = 1; + } elseif (is_string($dateValue = self::_getDateValue($dateValue))) { + return PHPExcel_Calculation_Functions::VALUE(); + } elseif ($dateValue < 0.0) { + return PHPExcel_Calculation_Functions::NaN(); + } + + // Execute function + $PHPDateObject = PHPExcel_Shared_Date::ExcelToPHPObject($dateValue); + $DoW = $PHPDateObject->format('w'); + + $firstDay = 1; + switch ($style) { + case 1: ++$DoW; + break; + case 2: if ($DoW == 0) { $DoW = 7; } + break; + case 3: if ($DoW == 0) { $DoW = 7; } + $firstDay = 0; + --$DoW; + break; + } + if (PHPExcel_Calculation_Functions::getCompatibilityMode() == PHPExcel_Calculation_Functions::COMPATIBILITY_EXCEL) { + // Test for Excel's 1900 leap year, and introduce the error as required + if (($PHPDateObject->format('Y') == 1900) && ($PHPDateObject->format('n') <= 2)) { + --$DoW; + if ($DoW < $firstDay) { + $DoW += 7; + } + } + } + + return (int) $DoW; + } // function DAYOFWEEK() + + + /** + * WEEKOFYEAR + * + * Returns the week of the year for a specified date. + * The WEEKNUM function considers the week containing January 1 to be the first week of the year. + * However, there is a European standard that defines the first week as the one with the majority + * of days (four or more) falling in the new year. This means that for years in which there are + * three days or less in the first week of January, the WEEKNUM function returns week numbers + * that are incorrect according to the European standard. + * + * Excel Function: + * WEEKNUM(dateValue[,style]) + * + * @param mixed $dateValue Excel date serial value (float), PHP date timestamp (integer), + * PHP DateTime object, or a standard date string + * @param boolean $method Week begins on Sunday or Monday + * 1 or omitted Week begins on Sunday. + * 2 Week begins on Monday. + * @return int Week Number + */ + public static function WEEKOFYEAR($dateValue = 1, $method = 1) { + $dateValue = PHPExcel_Calculation_Functions::flattenSingleValue($dateValue); + $method = PHPExcel_Calculation_Functions::flattenSingleValue($method); + + if (!is_numeric($method)) { + return PHPExcel_Calculation_Functions::VALUE(); + } elseif (($method < 1) || ($method > 2)) { + return PHPExcel_Calculation_Functions::NaN(); + } + $method = floor($method); + + if ($dateValue === null) { + $dateValue = 1; + } elseif (is_string($dateValue = self::_getDateValue($dateValue))) { + return PHPExcel_Calculation_Functions::VALUE(); + } elseif ($dateValue < 0.0) { + return PHPExcel_Calculation_Functions::NaN(); + } + + // Execute function + $PHPDateObject = PHPExcel_Shared_Date::ExcelToPHPObject($dateValue); + $dayOfYear = $PHPDateObject->format('z'); + $dow = $PHPDateObject->format('w'); + $PHPDateObject->modify('-'.$dayOfYear.' days'); + $dow = $PHPDateObject->format('w'); + $daysInFirstWeek = 7 - (($dow + (2 - $method)) % 7); + $dayOfYear -= $daysInFirstWeek; + $weekOfYear = ceil($dayOfYear / 7) + 1; + + return (int) $weekOfYear; + } // function WEEKOFYEAR() + + + /** + * MONTHOFYEAR + * + * Returns the month of a date represented by a serial number. + * The month is given as an integer, ranging from 1 (January) to 12 (December). + * + * Excel Function: + * MONTH(dateValue) + * + * @param mixed $dateValue Excel date serial value (float), PHP date timestamp (integer), + * PHP DateTime object, or a standard date string + * @return int Month of the year + */ + public static function MONTHOFYEAR($dateValue = 1) { + $dateValue = PHPExcel_Calculation_Functions::flattenSingleValue($dateValue); + + if ($dateValue === null) { + $dateValue = 1; + } elseif (is_string($dateValue = self::_getDateValue($dateValue))) { + return PHPExcel_Calculation_Functions::VALUE(); + } elseif ($dateValue < 0.0) { + return PHPExcel_Calculation_Functions::NaN(); + } + + // Execute function + $PHPDateObject = PHPExcel_Shared_Date::ExcelToPHPObject($dateValue); + + return (int) $PHPDateObject->format('n'); + } // function MONTHOFYEAR() + + + /** + * YEAR + * + * Returns the year corresponding to a date. + * The year is returned as an integer in the range 1900-9999. + * + * Excel Function: + * YEAR(dateValue) + * + * @param mixed $dateValue Excel date serial value (float), PHP date timestamp (integer), + * PHP DateTime object, or a standard date string + * @return int Year + */ + public static function YEAR($dateValue = 1) { + $dateValue = PHPExcel_Calculation_Functions::flattenSingleValue($dateValue); + + if ($dateValue === null) { + $dateValue = 1; + } elseif (is_string($dateValue = self::_getDateValue($dateValue))) { + return PHPExcel_Calculation_Functions::VALUE(); + } elseif ($dateValue < 0.0) { + return PHPExcel_Calculation_Functions::NaN(); + } + + // Execute function + $PHPDateObject = PHPExcel_Shared_Date::ExcelToPHPObject($dateValue); + + return (int) $PHPDateObject->format('Y'); + } // function YEAR() + + + /** + * HOUROFDAY + * + * Returns the hour of a time value. + * The hour is given as an integer, ranging from 0 (12:00 A.M.) to 23 (11:00 P.M.). + * + * Excel Function: + * HOUR(timeValue) + * + * @param mixed $timeValue Excel date serial value (float), PHP date timestamp (integer), + * PHP DateTime object, or a standard time string + * @return int Hour + */ + public static function HOUROFDAY($timeValue = 0) { + $timeValue = PHPExcel_Calculation_Functions::flattenSingleValue($timeValue); + + if (!is_numeric($timeValue)) { + if (PHPExcel_Calculation_Functions::getCompatibilityMode() == PHPExcel_Calculation_Functions::COMPATIBILITY_GNUMERIC) { + $testVal = strtok($timeValue,'/-: '); + if (strlen($testVal) < strlen($timeValue)) { + return PHPExcel_Calculation_Functions::VALUE(); + } + } + $timeValue = self::_getTimeValue($timeValue); + if (is_string($timeValue)) { + return PHPExcel_Calculation_Functions::VALUE(); + } + } + // Execute function + if ($timeValue >= 1) { + $timeValue = fmod($timeValue,1); + } elseif ($timeValue < 0.0) { + return PHPExcel_Calculation_Functions::NaN(); + } + $timeValue = PHPExcel_Shared_Date::ExcelToPHP($timeValue); + + return (int) gmdate('G',$timeValue); + } // function HOUROFDAY() + + + /** + * MINUTEOFHOUR + * + * Returns the minutes of a time value. + * The minute is given as an integer, ranging from 0 to 59. + * + * Excel Function: + * MINUTE(timeValue) + * + * @param mixed $timeValue Excel date serial value (float), PHP date timestamp (integer), + * PHP DateTime object, or a standard time string + * @return int Minute + */ + public static function MINUTEOFHOUR($timeValue = 0) { + $timeValue = $timeTester = PHPExcel_Calculation_Functions::flattenSingleValue($timeValue); + + if (!is_numeric($timeValue)) { + if (PHPExcel_Calculation_Functions::getCompatibilityMode() == PHPExcel_Calculation_Functions::COMPATIBILITY_GNUMERIC) { + $testVal = strtok($timeValue,'/-: '); + if (strlen($testVal) < strlen($timeValue)) { + return PHPExcel_Calculation_Functions::VALUE(); + } + } + $timeValue = self::_getTimeValue($timeValue); + if (is_string($timeValue)) { + return PHPExcel_Calculation_Functions::VALUE(); + } + } + // Execute function + if ($timeValue >= 1) { + $timeValue = fmod($timeValue,1); + } elseif ($timeValue < 0.0) { + return PHPExcel_Calculation_Functions::NaN(); + } + $timeValue = PHPExcel_Shared_Date::ExcelToPHP($timeValue); + + return (int) gmdate('i',$timeValue); + } // function MINUTEOFHOUR() + + + /** + * SECONDOFMINUTE + * + * Returns the seconds of a time value. + * The second is given as an integer in the range 0 (zero) to 59. + * + * Excel Function: + * SECOND(timeValue) + * + * @param mixed $timeValue Excel date serial value (float), PHP date timestamp (integer), + * PHP DateTime object, or a standard time string + * @return int Second + */ + public static function SECONDOFMINUTE($timeValue = 0) { + $timeValue = PHPExcel_Calculation_Functions::flattenSingleValue($timeValue); + + if (!is_numeric($timeValue)) { + if (PHPExcel_Calculation_Functions::getCompatibilityMode() == PHPExcel_Calculation_Functions::COMPATIBILITY_GNUMERIC) { + $testVal = strtok($timeValue,'/-: '); + if (strlen($testVal) < strlen($timeValue)) { + return PHPExcel_Calculation_Functions::VALUE(); + } + } + $timeValue = self::_getTimeValue($timeValue); + if (is_string($timeValue)) { + return PHPExcel_Calculation_Functions::VALUE(); + } + } + // Execute function + if ($timeValue >= 1) { + $timeValue = fmod($timeValue,1); + } elseif ($timeValue < 0.0) { + return PHPExcel_Calculation_Functions::NaN(); + } + $timeValue = PHPExcel_Shared_Date::ExcelToPHP($timeValue); + + return (int) gmdate('s',$timeValue); + } // function SECONDOFMINUTE() + + + /** + * EDATE + * + * Returns the serial number that represents the date that is the indicated number of months + * before or after a specified date (the start_date). + * Use EDATE to calculate maturity dates or due dates that fall on the same day of the month + * as the date of issue. + * + * Excel Function: + * EDATE(dateValue,adjustmentMonths) + * + * @param mixed $dateValue Excel date serial value (float), PHP date timestamp (integer), + * PHP DateTime object, or a standard date string + * @param int $adjustmentMonths The number of months before or after start_date. + * A positive value for months yields a future date; + * a negative value yields a past date. + * @return mixed Excel date/time serial value, PHP date/time serial value or PHP date/time object, + * depending on the value of the ReturnDateType flag + */ + public static function EDATE($dateValue = 1, $adjustmentMonths = 0) { + $dateValue = PHPExcel_Calculation_Functions::flattenSingleValue($dateValue); + $adjustmentMonths = PHPExcel_Calculation_Functions::flattenSingleValue($adjustmentMonths); + + if (!is_numeric($adjustmentMonths)) { + return PHPExcel_Calculation_Functions::VALUE(); + } + $adjustmentMonths = floor($adjustmentMonths); + + if (is_string($dateValue = self::_getDateValue($dateValue))) { + return PHPExcel_Calculation_Functions::VALUE(); + } + + // Execute function + $PHPDateObject = self::_adjustDateByMonths($dateValue,$adjustmentMonths); + + switch (PHPExcel_Calculation_Functions::getReturnDateType()) { + case PHPExcel_Calculation_Functions::RETURNDATE_EXCEL : + return (float) PHPExcel_Shared_Date::PHPToExcel($PHPDateObject); + case PHPExcel_Calculation_Functions::RETURNDATE_PHP_NUMERIC : + return (integer) PHPExcel_Shared_Date::ExcelToPHP(PHPExcel_Shared_Date::PHPToExcel($PHPDateObject)); + case PHPExcel_Calculation_Functions::RETURNDATE_PHP_OBJECT : + return $PHPDateObject; + } + } // function EDATE() + + + /** + * EOMONTH + * + * Returns the date value for the last day of the month that is the indicated number of months + * before or after start_date. + * Use EOMONTH to calculate maturity dates or due dates that fall on the last day of the month. + * + * Excel Function: + * EOMONTH(dateValue,adjustmentMonths) + * + * @param mixed $dateValue Excel date serial value (float), PHP date timestamp (integer), + * PHP DateTime object, or a standard date string + * @param int $adjustmentMonths The number of months before or after start_date. + * A positive value for months yields a future date; + * a negative value yields a past date. + * @return mixed Excel date/time serial value, PHP date/time serial value or PHP date/time object, + * depending on the value of the ReturnDateType flag + */ + public static function EOMONTH($dateValue = 1, $adjustmentMonths = 0) { + $dateValue = PHPExcel_Calculation_Functions::flattenSingleValue($dateValue); + $adjustmentMonths = PHPExcel_Calculation_Functions::flattenSingleValue($adjustmentMonths); + + if (!is_numeric($adjustmentMonths)) { + return PHPExcel_Calculation_Functions::VALUE(); + } + $adjustmentMonths = floor($adjustmentMonths); + + if (is_string($dateValue = self::_getDateValue($dateValue))) { + return PHPExcel_Calculation_Functions::VALUE(); + } + + // Execute function + $PHPDateObject = self::_adjustDateByMonths($dateValue,$adjustmentMonths+1); + $adjustDays = (int) $PHPDateObject->format('d'); + $adjustDaysString = '-'.$adjustDays.' days'; + $PHPDateObject->modify($adjustDaysString); + + switch (PHPExcel_Calculation_Functions::getReturnDateType()) { + case PHPExcel_Calculation_Functions::RETURNDATE_EXCEL : + return (float) PHPExcel_Shared_Date::PHPToExcel($PHPDateObject); + case PHPExcel_Calculation_Functions::RETURNDATE_PHP_NUMERIC : + return (integer) PHPExcel_Shared_Date::ExcelToPHP(PHPExcel_Shared_Date::PHPToExcel($PHPDateObject)); + case PHPExcel_Calculation_Functions::RETURNDATE_PHP_OBJECT : + return $PHPDateObject; + } + } // function EOMONTH() + +} // class PHPExcel_Calculation_DateTime + diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Calculation/Engineering.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Calculation/Engineering.php new file mode 100644 index 00000000..b60163e5 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Calculation/Engineering.php @@ -0,0 +1,2505 @@ + array( 'Group' => 'Mass', 'Unit Name' => 'Gram', 'AllowPrefix' => True ), + 'sg' => array( 'Group' => 'Mass', 'Unit Name' => 'Slug', 'AllowPrefix' => False ), + 'lbm' => array( 'Group' => 'Mass', 'Unit Name' => 'Pound mass (avoirdupois)', 'AllowPrefix' => False ), + 'u' => array( 'Group' => 'Mass', 'Unit Name' => 'U (atomic mass unit)', 'AllowPrefix' => True ), + 'ozm' => array( 'Group' => 'Mass', 'Unit Name' => 'Ounce mass (avoirdupois)', 'AllowPrefix' => False ), + 'm' => array( 'Group' => 'Distance', 'Unit Name' => 'Meter', 'AllowPrefix' => True ), + 'mi' => array( 'Group' => 'Distance', 'Unit Name' => 'Statute mile', 'AllowPrefix' => False ), + 'Nmi' => array( 'Group' => 'Distance', 'Unit Name' => 'Nautical mile', 'AllowPrefix' => False ), + 'in' => array( 'Group' => 'Distance', 'Unit Name' => 'Inch', 'AllowPrefix' => False ), + 'ft' => array( 'Group' => 'Distance', 'Unit Name' => 'Foot', 'AllowPrefix' => False ), + 'yd' => array( 'Group' => 'Distance', 'Unit Name' => 'Yard', 'AllowPrefix' => False ), + 'ang' => array( 'Group' => 'Distance', 'Unit Name' => 'Angstrom', 'AllowPrefix' => True ), + 'Pica' => array( 'Group' => 'Distance', 'Unit Name' => 'Pica (1/72 in)', 'AllowPrefix' => False ), + 'yr' => array( 'Group' => 'Time', 'Unit Name' => 'Year', 'AllowPrefix' => False ), + 'day' => array( 'Group' => 'Time', 'Unit Name' => 'Day', 'AllowPrefix' => False ), + 'hr' => array( 'Group' => 'Time', 'Unit Name' => 'Hour', 'AllowPrefix' => False ), + 'mn' => array( 'Group' => 'Time', 'Unit Name' => 'Minute', 'AllowPrefix' => False ), + 'sec' => array( 'Group' => 'Time', 'Unit Name' => 'Second', 'AllowPrefix' => True ), + 'Pa' => array( 'Group' => 'Pressure', 'Unit Name' => 'Pascal', 'AllowPrefix' => True ), + 'p' => array( 'Group' => 'Pressure', 'Unit Name' => 'Pascal', 'AllowPrefix' => True ), + 'atm' => array( 'Group' => 'Pressure', 'Unit Name' => 'Atmosphere', 'AllowPrefix' => True ), + 'at' => array( 'Group' => 'Pressure', 'Unit Name' => 'Atmosphere', 'AllowPrefix' => True ), + 'mmHg' => array( 'Group' => 'Pressure', 'Unit Name' => 'mm of Mercury', 'AllowPrefix' => True ), + 'N' => array( 'Group' => 'Force', 'Unit Name' => 'Newton', 'AllowPrefix' => True ), + 'dyn' => array( 'Group' => 'Force', 'Unit Name' => 'Dyne', 'AllowPrefix' => True ), + 'dy' => array( 'Group' => 'Force', 'Unit Name' => 'Dyne', 'AllowPrefix' => True ), + 'lbf' => array( 'Group' => 'Force', 'Unit Name' => 'Pound force', 'AllowPrefix' => False ), + 'J' => array( 'Group' => 'Energy', 'Unit Name' => 'Joule', 'AllowPrefix' => True ), + 'e' => array( 'Group' => 'Energy', 'Unit Name' => 'Erg', 'AllowPrefix' => True ), + 'c' => array( 'Group' => 'Energy', 'Unit Name' => 'Thermodynamic calorie', 'AllowPrefix' => True ), + 'cal' => array( 'Group' => 'Energy', 'Unit Name' => 'IT calorie', 'AllowPrefix' => True ), + 'eV' => array( 'Group' => 'Energy', 'Unit Name' => 'Electron volt', 'AllowPrefix' => True ), + 'ev' => array( 'Group' => 'Energy', 'Unit Name' => 'Electron volt', 'AllowPrefix' => True ), + 'HPh' => array( 'Group' => 'Energy', 'Unit Name' => 'Horsepower-hour', 'AllowPrefix' => False ), + 'hh' => array( 'Group' => 'Energy', 'Unit Name' => 'Horsepower-hour', 'AllowPrefix' => False ), + 'Wh' => array( 'Group' => 'Energy', 'Unit Name' => 'Watt-hour', 'AllowPrefix' => True ), + 'wh' => array( 'Group' => 'Energy', 'Unit Name' => 'Watt-hour', 'AllowPrefix' => True ), + 'flb' => array( 'Group' => 'Energy', 'Unit Name' => 'Foot-pound', 'AllowPrefix' => False ), + 'BTU' => array( 'Group' => 'Energy', 'Unit Name' => 'BTU', 'AllowPrefix' => False ), + 'btu' => array( 'Group' => 'Energy', 'Unit Name' => 'BTU', 'AllowPrefix' => False ), + 'HP' => array( 'Group' => 'Power', 'Unit Name' => 'Horsepower', 'AllowPrefix' => False ), + 'h' => array( 'Group' => 'Power', 'Unit Name' => 'Horsepower', 'AllowPrefix' => False ), + 'W' => array( 'Group' => 'Power', 'Unit Name' => 'Watt', 'AllowPrefix' => True ), + 'w' => array( 'Group' => 'Power', 'Unit Name' => 'Watt', 'AllowPrefix' => True ), + 'T' => array( 'Group' => 'Magnetism', 'Unit Name' => 'Tesla', 'AllowPrefix' => True ), + 'ga' => array( 'Group' => 'Magnetism', 'Unit Name' => 'Gauss', 'AllowPrefix' => True ), + 'C' => array( 'Group' => 'Temperature', 'Unit Name' => 'Celsius', 'AllowPrefix' => False ), + 'cel' => array( 'Group' => 'Temperature', 'Unit Name' => 'Celsius', 'AllowPrefix' => False ), + 'F' => array( 'Group' => 'Temperature', 'Unit Name' => 'Fahrenheit', 'AllowPrefix' => False ), + 'fah' => array( 'Group' => 'Temperature', 'Unit Name' => 'Fahrenheit', 'AllowPrefix' => False ), + 'K' => array( 'Group' => 'Temperature', 'Unit Name' => 'Kelvin', 'AllowPrefix' => False ), + 'kel' => array( 'Group' => 'Temperature', 'Unit Name' => 'Kelvin', 'AllowPrefix' => False ), + 'tsp' => array( 'Group' => 'Liquid', 'Unit Name' => 'Teaspoon', 'AllowPrefix' => False ), + 'tbs' => array( 'Group' => 'Liquid', 'Unit Name' => 'Tablespoon', 'AllowPrefix' => False ), + 'oz' => array( 'Group' => 'Liquid', 'Unit Name' => 'Fluid Ounce', 'AllowPrefix' => False ), + 'cup' => array( 'Group' => 'Liquid', 'Unit Name' => 'Cup', 'AllowPrefix' => False ), + 'pt' => array( 'Group' => 'Liquid', 'Unit Name' => 'U.S. Pint', 'AllowPrefix' => False ), + 'us_pt' => array( 'Group' => 'Liquid', 'Unit Name' => 'U.S. Pint', 'AllowPrefix' => False ), + 'uk_pt' => array( 'Group' => 'Liquid', 'Unit Name' => 'U.K. Pint', 'AllowPrefix' => False ), + 'qt' => array( 'Group' => 'Liquid', 'Unit Name' => 'Quart', 'AllowPrefix' => False ), + 'gal' => array( 'Group' => 'Liquid', 'Unit Name' => 'Gallon', 'AllowPrefix' => False ), + 'l' => array( 'Group' => 'Liquid', 'Unit Name' => 'Litre', 'AllowPrefix' => True ), + 'lt' => array( 'Group' => 'Liquid', 'Unit Name' => 'Litre', 'AllowPrefix' => True ) + ); + + /** + * Details of the Multiplier prefixes that can be used with Units of Measure in CONVERTUOM() + * + * @var mixed[] + */ + private static $_conversionMultipliers = array( 'Y' => array( 'multiplier' => 1E24, 'name' => 'yotta' ), + 'Z' => array( 'multiplier' => 1E21, 'name' => 'zetta' ), + 'E' => array( 'multiplier' => 1E18, 'name' => 'exa' ), + 'P' => array( 'multiplier' => 1E15, 'name' => 'peta' ), + 'T' => array( 'multiplier' => 1E12, 'name' => 'tera' ), + 'G' => array( 'multiplier' => 1E9, 'name' => 'giga' ), + 'M' => array( 'multiplier' => 1E6, 'name' => 'mega' ), + 'k' => array( 'multiplier' => 1E3, 'name' => 'kilo' ), + 'h' => array( 'multiplier' => 1E2, 'name' => 'hecto' ), + 'e' => array( 'multiplier' => 1E1, 'name' => 'deka' ), + 'd' => array( 'multiplier' => 1E-1, 'name' => 'deci' ), + 'c' => array( 'multiplier' => 1E-2, 'name' => 'centi' ), + 'm' => array( 'multiplier' => 1E-3, 'name' => 'milli' ), + 'u' => array( 'multiplier' => 1E-6, 'name' => 'micro' ), + 'n' => array( 'multiplier' => 1E-9, 'name' => 'nano' ), + 'p' => array( 'multiplier' => 1E-12, 'name' => 'pico' ), + 'f' => array( 'multiplier' => 1E-15, 'name' => 'femto' ), + 'a' => array( 'multiplier' => 1E-18, 'name' => 'atto' ), + 'z' => array( 'multiplier' => 1E-21, 'name' => 'zepto' ), + 'y' => array( 'multiplier' => 1E-24, 'name' => 'yocto' ) + ); + + /** + * Details of the Units of measure conversion factors, organised by group + * + * @var mixed[] + */ + private static $_unitConversions = array( 'Mass' => array( 'g' => array( 'g' => 1.0, + 'sg' => 6.85220500053478E-05, + 'lbm' => 2.20462291469134E-03, + 'u' => 6.02217000000000E+23, + 'ozm' => 3.52739718003627E-02 + ), + 'sg' => array( 'g' => 1.45938424189287E+04, + 'sg' => 1.0, + 'lbm' => 3.21739194101647E+01, + 'u' => 8.78866000000000E+27, + 'ozm' => 5.14782785944229E+02 + ), + 'lbm' => array( 'g' => 4.5359230974881148E+02, + 'sg' => 3.10810749306493E-02, + 'lbm' => 1.0, + 'u' => 2.73161000000000E+26, + 'ozm' => 1.60000023429410E+01 + ), + 'u' => array( 'g' => 1.66053100460465E-24, + 'sg' => 1.13782988532950E-28, + 'lbm' => 3.66084470330684E-27, + 'u' => 1.0, + 'ozm' => 5.85735238300524E-26 + ), + 'ozm' => array( 'g' => 2.83495152079732E+01, + 'sg' => 1.94256689870811E-03, + 'lbm' => 6.24999908478882E-02, + 'u' => 1.70725600000000E+25, + 'ozm' => 1.0 + ) + ), + 'Distance' => array( 'm' => array( 'm' => 1.0, + 'mi' => 6.21371192237334E-04, + 'Nmi' => 5.39956803455724E-04, + 'in' => 3.93700787401575E+01, + 'ft' => 3.28083989501312E+00, + 'yd' => 1.09361329797891E+00, + 'ang' => 1.00000000000000E+10, + 'Pica' => 2.83464566929116E+03 + ), + 'mi' => array( 'm' => 1.60934400000000E+03, + 'mi' => 1.0, + 'Nmi' => 8.68976241900648E-01, + 'in' => 6.33600000000000E+04, + 'ft' => 5.28000000000000E+03, + 'yd' => 1.76000000000000E+03, + 'ang' => 1.60934400000000E+13, + 'Pica' => 4.56191999999971E+06 + ), + 'Nmi' => array( 'm' => 1.85200000000000E+03, + 'mi' => 1.15077944802354E+00, + 'Nmi' => 1.0, + 'in' => 7.29133858267717E+04, + 'ft' => 6.07611548556430E+03, + 'yd' => 2.02537182785694E+03, + 'ang' => 1.85200000000000E+13, + 'Pica' => 5.24976377952723E+06 + ), + 'in' => array( 'm' => 2.54000000000000E-02, + 'mi' => 1.57828282828283E-05, + 'Nmi' => 1.37149028077754E-05, + 'in' => 1.0, + 'ft' => 8.33333333333333E-02, + 'yd' => 2.77777777686643E-02, + 'ang' => 2.54000000000000E+08, + 'Pica' => 7.19999999999955E+01 + ), + 'ft' => array( 'm' => 3.04800000000000E-01, + 'mi' => 1.89393939393939E-04, + 'Nmi' => 1.64578833693305E-04, + 'in' => 1.20000000000000E+01, + 'ft' => 1.0, + 'yd' => 3.33333333223972E-01, + 'ang' => 3.04800000000000E+09, + 'Pica' => 8.63999999999946E+02 + ), + 'yd' => array( 'm' => 9.14400000300000E-01, + 'mi' => 5.68181818368230E-04, + 'Nmi' => 4.93736501241901E-04, + 'in' => 3.60000000118110E+01, + 'ft' => 3.00000000000000E+00, + 'yd' => 1.0, + 'ang' => 9.14400000300000E+09, + 'Pica' => 2.59200000085023E+03 + ), + 'ang' => array( 'm' => 1.00000000000000E-10, + 'mi' => 6.21371192237334E-14, + 'Nmi' => 5.39956803455724E-14, + 'in' => 3.93700787401575E-09, + 'ft' => 3.28083989501312E-10, + 'yd' => 1.09361329797891E-10, + 'ang' => 1.0, + 'Pica' => 2.83464566929116E-07 + ), + 'Pica' => array( 'm' => 3.52777777777800E-04, + 'mi' => 2.19205948372629E-07, + 'Nmi' => 1.90484761219114E-07, + 'in' => 1.38888888888898E-02, + 'ft' => 1.15740740740748E-03, + 'yd' => 3.85802469009251E-04, + 'ang' => 3.52777777777800E+06, + 'Pica' => 1.0 + ) + ), + 'Time' => array( 'yr' => array( 'yr' => 1.0, + 'day' => 365.25, + 'hr' => 8766.0, + 'mn' => 525960.0, + 'sec' => 31557600.0 + ), + 'day' => array( 'yr' => 2.73785078713210E-03, + 'day' => 1.0, + 'hr' => 24.0, + 'mn' => 1440.0, + 'sec' => 86400.0 + ), + 'hr' => array( 'yr' => 1.14077116130504E-04, + 'day' => 4.16666666666667E-02, + 'hr' => 1.0, + 'mn' => 60.0, + 'sec' => 3600.0 + ), + 'mn' => array( 'yr' => 1.90128526884174E-06, + 'day' => 6.94444444444444E-04, + 'hr' => 1.66666666666667E-02, + 'mn' => 1.0, + 'sec' => 60.0 + ), + 'sec' => array( 'yr' => 3.16880878140289E-08, + 'day' => 1.15740740740741E-05, + 'hr' => 2.77777777777778E-04, + 'mn' => 1.66666666666667E-02, + 'sec' => 1.0 + ) + ), + 'Pressure' => array( 'Pa' => array( 'Pa' => 1.0, + 'p' => 1.0, + 'atm' => 9.86923299998193E-06, + 'at' => 9.86923299998193E-06, + 'mmHg' => 7.50061707998627E-03 + ), + 'p' => array( 'Pa' => 1.0, + 'p' => 1.0, + 'atm' => 9.86923299998193E-06, + 'at' => 9.86923299998193E-06, + 'mmHg' => 7.50061707998627E-03 + ), + 'atm' => array( 'Pa' => 1.01324996583000E+05, + 'p' => 1.01324996583000E+05, + 'atm' => 1.0, + 'at' => 1.0, + 'mmHg' => 760.0 + ), + 'at' => array( 'Pa' => 1.01324996583000E+05, + 'p' => 1.01324996583000E+05, + 'atm' => 1.0, + 'at' => 1.0, + 'mmHg' => 760.0 + ), + 'mmHg' => array( 'Pa' => 1.33322363925000E+02, + 'p' => 1.33322363925000E+02, + 'atm' => 1.31578947368421E-03, + 'at' => 1.31578947368421E-03, + 'mmHg' => 1.0 + ) + ), + 'Force' => array( 'N' => array( 'N' => 1.0, + 'dyn' => 1.0E+5, + 'dy' => 1.0E+5, + 'lbf' => 2.24808923655339E-01 + ), + 'dyn' => array( 'N' => 1.0E-5, + 'dyn' => 1.0, + 'dy' => 1.0, + 'lbf' => 2.24808923655339E-06 + ), + 'dy' => array( 'N' => 1.0E-5, + 'dyn' => 1.0, + 'dy' => 1.0, + 'lbf' => 2.24808923655339E-06 + ), + 'lbf' => array( 'N' => 4.448222, + 'dyn' => 4.448222E+5, + 'dy' => 4.448222E+5, + 'lbf' => 1.0 + ) + ), + 'Energy' => array( 'J' => array( 'J' => 1.0, + 'e' => 9.99999519343231E+06, + 'c' => 2.39006249473467E-01, + 'cal' => 2.38846190642017E-01, + 'eV' => 6.24145700000000E+18, + 'ev' => 6.24145700000000E+18, + 'HPh' => 3.72506430801000E-07, + 'hh' => 3.72506430801000E-07, + 'Wh' => 2.77777916238711E-04, + 'wh' => 2.77777916238711E-04, + 'flb' => 2.37304222192651E+01, + 'BTU' => 9.47815067349015E-04, + 'btu' => 9.47815067349015E-04 + ), + 'e' => array( 'J' => 1.00000048065700E-07, + 'e' => 1.0, + 'c' => 2.39006364353494E-08, + 'cal' => 2.38846305445111E-08, + 'eV' => 6.24146000000000E+11, + 'ev' => 6.24146000000000E+11, + 'HPh' => 3.72506609848824E-14, + 'hh' => 3.72506609848824E-14, + 'Wh' => 2.77778049754611E-11, + 'wh' => 2.77778049754611E-11, + 'flb' => 2.37304336254586E-06, + 'BTU' => 9.47815522922962E-11, + 'btu' => 9.47815522922962E-11 + ), + 'c' => array( 'J' => 4.18399101363672E+00, + 'e' => 4.18398900257312E+07, + 'c' => 1.0, + 'cal' => 9.99330315287563E-01, + 'eV' => 2.61142000000000E+19, + 'ev' => 2.61142000000000E+19, + 'HPh' => 1.55856355899327E-06, + 'hh' => 1.55856355899327E-06, + 'Wh' => 1.16222030532950E-03, + 'wh' => 1.16222030532950E-03, + 'flb' => 9.92878733152102E+01, + 'BTU' => 3.96564972437776E-03, + 'btu' => 3.96564972437776E-03 + ), + 'cal' => array( 'J' => 4.18679484613929E+00, + 'e' => 4.18679283372801E+07, + 'c' => 1.00067013349059E+00, + 'cal' => 1.0, + 'eV' => 2.61317000000000E+19, + 'ev' => 2.61317000000000E+19, + 'HPh' => 1.55960800463137E-06, + 'hh' => 1.55960800463137E-06, + 'Wh' => 1.16299914807955E-03, + 'wh' => 1.16299914807955E-03, + 'flb' => 9.93544094443283E+01, + 'BTU' => 3.96830723907002E-03, + 'btu' => 3.96830723907002E-03 + ), + 'eV' => array( 'J' => 1.60219000146921E-19, + 'e' => 1.60218923136574E-12, + 'c' => 3.82933423195043E-20, + 'cal' => 3.82676978535648E-20, + 'eV' => 1.0, + 'ev' => 1.0, + 'HPh' => 5.96826078912344E-26, + 'hh' => 5.96826078912344E-26, + 'Wh' => 4.45053000026614E-23, + 'wh' => 4.45053000026614E-23, + 'flb' => 3.80206452103492E-18, + 'BTU' => 1.51857982414846E-22, + 'btu' => 1.51857982414846E-22 + ), + 'ev' => array( 'J' => 1.60219000146921E-19, + 'e' => 1.60218923136574E-12, + 'c' => 3.82933423195043E-20, + 'cal' => 3.82676978535648E-20, + 'eV' => 1.0, + 'ev' => 1.0, + 'HPh' => 5.96826078912344E-26, + 'hh' => 5.96826078912344E-26, + 'Wh' => 4.45053000026614E-23, + 'wh' => 4.45053000026614E-23, + 'flb' => 3.80206452103492E-18, + 'BTU' => 1.51857982414846E-22, + 'btu' => 1.51857982414846E-22 + ), + 'HPh' => array( 'J' => 2.68451741316170E+06, + 'e' => 2.68451612283024E+13, + 'c' => 6.41616438565991E+05, + 'cal' => 6.41186757845835E+05, + 'eV' => 1.67553000000000E+25, + 'ev' => 1.67553000000000E+25, + 'HPh' => 1.0, + 'hh' => 1.0, + 'Wh' => 7.45699653134593E+02, + 'wh' => 7.45699653134593E+02, + 'flb' => 6.37047316692964E+07, + 'BTU' => 2.54442605275546E+03, + 'btu' => 2.54442605275546E+03 + ), + 'hh' => array( 'J' => 2.68451741316170E+06, + 'e' => 2.68451612283024E+13, + 'c' => 6.41616438565991E+05, + 'cal' => 6.41186757845835E+05, + 'eV' => 1.67553000000000E+25, + 'ev' => 1.67553000000000E+25, + 'HPh' => 1.0, + 'hh' => 1.0, + 'Wh' => 7.45699653134593E+02, + 'wh' => 7.45699653134593E+02, + 'flb' => 6.37047316692964E+07, + 'BTU' => 2.54442605275546E+03, + 'btu' => 2.54442605275546E+03 + ), + 'Wh' => array( 'J' => 3.59999820554720E+03, + 'e' => 3.59999647518369E+10, + 'c' => 8.60422069219046E+02, + 'cal' => 8.59845857713046E+02, + 'eV' => 2.24692340000000E+22, + 'ev' => 2.24692340000000E+22, + 'HPh' => 1.34102248243839E-03, + 'hh' => 1.34102248243839E-03, + 'Wh' => 1.0, + 'wh' => 1.0, + 'flb' => 8.54294774062316E+04, + 'BTU' => 3.41213254164705E+00, + 'btu' => 3.41213254164705E+00 + ), + 'wh' => array( 'J' => 3.59999820554720E+03, + 'e' => 3.59999647518369E+10, + 'c' => 8.60422069219046E+02, + 'cal' => 8.59845857713046E+02, + 'eV' => 2.24692340000000E+22, + 'ev' => 2.24692340000000E+22, + 'HPh' => 1.34102248243839E-03, + 'hh' => 1.34102248243839E-03, + 'Wh' => 1.0, + 'wh' => 1.0, + 'flb' => 8.54294774062316E+04, + 'BTU' => 3.41213254164705E+00, + 'btu' => 3.41213254164705E+00 + ), + 'flb' => array( 'J' => 4.21400003236424E-02, + 'e' => 4.21399800687660E+05, + 'c' => 1.00717234301644E-02, + 'cal' => 1.00649785509554E-02, + 'eV' => 2.63015000000000E+17, + 'ev' => 2.63015000000000E+17, + 'HPh' => 1.56974211145130E-08, + 'hh' => 1.56974211145130E-08, + 'Wh' => 1.17055614802000E-05, + 'wh' => 1.17055614802000E-05, + 'flb' => 1.0, + 'BTU' => 3.99409272448406E-05, + 'btu' => 3.99409272448406E-05 + ), + 'BTU' => array( 'J' => 1.05505813786749E+03, + 'e' => 1.05505763074665E+10, + 'c' => 2.52165488508168E+02, + 'cal' => 2.51996617135510E+02, + 'eV' => 6.58510000000000E+21, + 'ev' => 6.58510000000000E+21, + 'HPh' => 3.93015941224568E-04, + 'hh' => 3.93015941224568E-04, + 'Wh' => 2.93071851047526E-01, + 'wh' => 2.93071851047526E-01, + 'flb' => 2.50369750774671E+04, + 'BTU' => 1.0, + 'btu' => 1.0, + ), + 'btu' => array( 'J' => 1.05505813786749E+03, + 'e' => 1.05505763074665E+10, + 'c' => 2.52165488508168E+02, + 'cal' => 2.51996617135510E+02, + 'eV' => 6.58510000000000E+21, + 'ev' => 6.58510000000000E+21, + 'HPh' => 3.93015941224568E-04, + 'hh' => 3.93015941224568E-04, + 'Wh' => 2.93071851047526E-01, + 'wh' => 2.93071851047526E-01, + 'flb' => 2.50369750774671E+04, + 'BTU' => 1.0, + 'btu' => 1.0, + ) + ), + 'Power' => array( 'HP' => array( 'HP' => 1.0, + 'h' => 1.0, + 'W' => 7.45701000000000E+02, + 'w' => 7.45701000000000E+02 + ), + 'h' => array( 'HP' => 1.0, + 'h' => 1.0, + 'W' => 7.45701000000000E+02, + 'w' => 7.45701000000000E+02 + ), + 'W' => array( 'HP' => 1.34102006031908E-03, + 'h' => 1.34102006031908E-03, + 'W' => 1.0, + 'w' => 1.0 + ), + 'w' => array( 'HP' => 1.34102006031908E-03, + 'h' => 1.34102006031908E-03, + 'W' => 1.0, + 'w' => 1.0 + ) + ), + 'Magnetism' => array( 'T' => array( 'T' => 1.0, + 'ga' => 10000.0 + ), + 'ga' => array( 'T' => 0.0001, + 'ga' => 1.0 + ) + ), + 'Liquid' => array( 'tsp' => array( 'tsp' => 1.0, + 'tbs' => 3.33333333333333E-01, + 'oz' => 1.66666666666667E-01, + 'cup' => 2.08333333333333E-02, + 'pt' => 1.04166666666667E-02, + 'us_pt' => 1.04166666666667E-02, + 'uk_pt' => 8.67558516821960E-03, + 'qt' => 5.20833333333333E-03, + 'gal' => 1.30208333333333E-03, + 'l' => 4.92999408400710E-03, + 'lt' => 4.92999408400710E-03 + ), + 'tbs' => array( 'tsp' => 3.00000000000000E+00, + 'tbs' => 1.0, + 'oz' => 5.00000000000000E-01, + 'cup' => 6.25000000000000E-02, + 'pt' => 3.12500000000000E-02, + 'us_pt' => 3.12500000000000E-02, + 'uk_pt' => 2.60267555046588E-02, + 'qt' => 1.56250000000000E-02, + 'gal' => 3.90625000000000E-03, + 'l' => 1.47899822520213E-02, + 'lt' => 1.47899822520213E-02 + ), + 'oz' => array( 'tsp' => 6.00000000000000E+00, + 'tbs' => 2.00000000000000E+00, + 'oz' => 1.0, + 'cup' => 1.25000000000000E-01, + 'pt' => 6.25000000000000E-02, + 'us_pt' => 6.25000000000000E-02, + 'uk_pt' => 5.20535110093176E-02, + 'qt' => 3.12500000000000E-02, + 'gal' => 7.81250000000000E-03, + 'l' => 2.95799645040426E-02, + 'lt' => 2.95799645040426E-02 + ), + 'cup' => array( 'tsp' => 4.80000000000000E+01, + 'tbs' => 1.60000000000000E+01, + 'oz' => 8.00000000000000E+00, + 'cup' => 1.0, + 'pt' => 5.00000000000000E-01, + 'us_pt' => 5.00000000000000E-01, + 'uk_pt' => 4.16428088074541E-01, + 'qt' => 2.50000000000000E-01, + 'gal' => 6.25000000000000E-02, + 'l' => 2.36639716032341E-01, + 'lt' => 2.36639716032341E-01 + ), + 'pt' => array( 'tsp' => 9.60000000000000E+01, + 'tbs' => 3.20000000000000E+01, + 'oz' => 1.60000000000000E+01, + 'cup' => 2.00000000000000E+00, + 'pt' => 1.0, + 'us_pt' => 1.0, + 'uk_pt' => 8.32856176149081E-01, + 'qt' => 5.00000000000000E-01, + 'gal' => 1.25000000000000E-01, + 'l' => 4.73279432064682E-01, + 'lt' => 4.73279432064682E-01 + ), + 'us_pt' => array( 'tsp' => 9.60000000000000E+01, + 'tbs' => 3.20000000000000E+01, + 'oz' => 1.60000000000000E+01, + 'cup' => 2.00000000000000E+00, + 'pt' => 1.0, + 'us_pt' => 1.0, + 'uk_pt' => 8.32856176149081E-01, + 'qt' => 5.00000000000000E-01, + 'gal' => 1.25000000000000E-01, + 'l' => 4.73279432064682E-01, + 'lt' => 4.73279432064682E-01 + ), + 'uk_pt' => array( 'tsp' => 1.15266000000000E+02, + 'tbs' => 3.84220000000000E+01, + 'oz' => 1.92110000000000E+01, + 'cup' => 2.40137500000000E+00, + 'pt' => 1.20068750000000E+00, + 'us_pt' => 1.20068750000000E+00, + 'uk_pt' => 1.0, + 'qt' => 6.00343750000000E-01, + 'gal' => 1.50085937500000E-01, + 'l' => 5.68260698087162E-01, + 'lt' => 5.68260698087162E-01 + ), + 'qt' => array( 'tsp' => 1.92000000000000E+02, + 'tbs' => 6.40000000000000E+01, + 'oz' => 3.20000000000000E+01, + 'cup' => 4.00000000000000E+00, + 'pt' => 2.00000000000000E+00, + 'us_pt' => 2.00000000000000E+00, + 'uk_pt' => 1.66571235229816E+00, + 'qt' => 1.0, + 'gal' => 2.50000000000000E-01, + 'l' => 9.46558864129363E-01, + 'lt' => 9.46558864129363E-01 + ), + 'gal' => array( 'tsp' => 7.68000000000000E+02, + 'tbs' => 2.56000000000000E+02, + 'oz' => 1.28000000000000E+02, + 'cup' => 1.60000000000000E+01, + 'pt' => 8.00000000000000E+00, + 'us_pt' => 8.00000000000000E+00, + 'uk_pt' => 6.66284940919265E+00, + 'qt' => 4.00000000000000E+00, + 'gal' => 1.0, + 'l' => 3.78623545651745E+00, + 'lt' => 3.78623545651745E+00 + ), + 'l' => array( 'tsp' => 2.02840000000000E+02, + 'tbs' => 6.76133333333333E+01, + 'oz' => 3.38066666666667E+01, + 'cup' => 4.22583333333333E+00, + 'pt' => 2.11291666666667E+00, + 'us_pt' => 2.11291666666667E+00, + 'uk_pt' => 1.75975569552166E+00, + 'qt' => 1.05645833333333E+00, + 'gal' => 2.64114583333333E-01, + 'l' => 1.0, + 'lt' => 1.0 + ), + 'lt' => array( 'tsp' => 2.02840000000000E+02, + 'tbs' => 6.76133333333333E+01, + 'oz' => 3.38066666666667E+01, + 'cup' => 4.22583333333333E+00, + 'pt' => 2.11291666666667E+00, + 'us_pt' => 2.11291666666667E+00, + 'uk_pt' => 1.75975569552166E+00, + 'qt' => 1.05645833333333E+00, + 'gal' => 2.64114583333333E-01, + 'l' => 1.0, + 'lt' => 1.0 + ) + ) + ); + + + /** + * _parseComplex + * + * Parses a complex number into its real and imaginary parts, and an I or J suffix + * + * @param string $complexNumber The complex number + * @return string[] Indexed on "real", "imaginary" and "suffix" + */ + public static function _parseComplex($complexNumber) { + $workString = (string) $complexNumber; + + $realNumber = $imaginary = 0; + // Extract the suffix, if there is one + $suffix = substr($workString,-1); + if (!is_numeric($suffix)) { + $workString = substr($workString,0,-1); + } else { + $suffix = ''; + } + + // Split the input into its Real and Imaginary components + $leadingSign = 0; + if (strlen($workString) > 0) { + $leadingSign = (($workString{0} == '+') || ($workString{0} == '-')) ? 1 : 0; + } + $power = ''; + $realNumber = strtok($workString, '+-'); + if (strtoupper(substr($realNumber,-1)) == 'E') { + $power = strtok('+-'); + ++$leadingSign; + } + + $realNumber = substr($workString,0,strlen($realNumber)+strlen($power)+$leadingSign); + + if ($suffix != '') { + $imaginary = substr($workString,strlen($realNumber)); + + if (($imaginary == '') && (($realNumber == '') || ($realNumber == '+') || ($realNumber == '-'))) { + $imaginary = $realNumber.'1'; + $realNumber = '0'; + } else if ($imaginary == '') { + $imaginary = $realNumber; + $realNumber = '0'; + } elseif (($imaginary == '+') || ($imaginary == '-')) { + $imaginary .= '1'; + } + } + + return array( 'real' => $realNumber, + 'imaginary' => $imaginary, + 'suffix' => $suffix + ); + } // function _parseComplex() + + + /** + * Cleans the leading characters in a complex number string + * + * @param string $complexNumber The complex number to clean + * @return string The "cleaned" complex number + */ + private static function _cleanComplex($complexNumber) { + if ($complexNumber{0} == '+') $complexNumber = substr($complexNumber,1); + if ($complexNumber{0} == '0') $complexNumber = substr($complexNumber,1); + if ($complexNumber{0} == '.') $complexNumber = '0'.$complexNumber; + if ($complexNumber{0} == '+') $complexNumber = substr($complexNumber,1); + return $complexNumber; + } + + /** + * Formats a number base string value with leading zeroes + * + * @param string $xVal The "number" to pad + * @param integer $places The length that we want to pad this value + * @return string The padded "number" + */ + private static function _nbrConversionFormat($xVal, $places) { + if (!is_null($places)) { + if (strlen($xVal) <= $places) { + return substr(str_pad($xVal, $places, '0', STR_PAD_LEFT), -10); + } else { + return PHPExcel_Calculation_Functions::NaN(); + } + } + + return substr($xVal, -10); + } // function _nbrConversionFormat() + + /** + * BESSELI + * + * Returns the modified Bessel function In(x), which is equivalent to the Bessel function evaluated + * for purely imaginary arguments + * + * Excel Function: + * BESSELI(x,ord) + * + * @access public + * @category Engineering Functions + * @param float $x The value at which to evaluate the function. + * If x is nonnumeric, BESSELI returns the #VALUE! error value. + * @param integer $ord The order of the Bessel function. + * If ord is not an integer, it is truncated. + * If $ord is nonnumeric, BESSELI returns the #VALUE! error value. + * If $ord < 0, BESSELI returns the #NUM! error value. + * @return float + * + */ + public static function BESSELI($x, $ord) { + $x = (is_null($x)) ? 0.0 : PHPExcel_Calculation_Functions::flattenSingleValue($x); + $ord = (is_null($ord)) ? 0.0 : PHPExcel_Calculation_Functions::flattenSingleValue($ord); + + if ((is_numeric($x)) && (is_numeric($ord))) { + $ord = floor($ord); + if ($ord < 0) { + return PHPExcel_Calculation_Functions::NaN(); + } + + if (abs($x) <= 30) { + $fResult = $fTerm = pow($x / 2, $ord) / PHPExcel_Calculation_MathTrig::FACT($ord); + $ordK = 1; + $fSqrX = ($x * $x) / 4; + do { + $fTerm *= $fSqrX; + $fTerm /= ($ordK * ($ordK + $ord)); + $fResult += $fTerm; + } while ((abs($fTerm) > 1e-12) && (++$ordK < 100)); + } else { + $f_2_PI = 2 * M_PI; + + $fXAbs = abs($x); + $fResult = exp($fXAbs) / sqrt($f_2_PI * $fXAbs); + if (($ord & 1) && ($x < 0)) { + $fResult = -$fResult; + } + } + return (is_nan($fResult)) ? PHPExcel_Calculation_Functions::NaN() : $fResult; + } + return PHPExcel_Calculation_Functions::VALUE(); + } // function BESSELI() + + + /** + * BESSELJ + * + * Returns the Bessel function + * + * Excel Function: + * BESSELJ(x,ord) + * + * @access public + * @category Engineering Functions + * @param float $x The value at which to evaluate the function. + * If x is nonnumeric, BESSELJ returns the #VALUE! error value. + * @param integer $ord The order of the Bessel function. If n is not an integer, it is truncated. + * If $ord is nonnumeric, BESSELJ returns the #VALUE! error value. + * If $ord < 0, BESSELJ returns the #NUM! error value. + * @return float + * + */ + public static function BESSELJ($x, $ord) { + $x = (is_null($x)) ? 0.0 : PHPExcel_Calculation_Functions::flattenSingleValue($x); + $ord = (is_null($ord)) ? 0.0 : PHPExcel_Calculation_Functions::flattenSingleValue($ord); + + if ((is_numeric($x)) && (is_numeric($ord))) { + $ord = floor($ord); + if ($ord < 0) { + return PHPExcel_Calculation_Functions::NaN(); + } + + $fResult = 0; + if (abs($x) <= 30) { + $fResult = $fTerm = pow($x / 2, $ord) / PHPExcel_Calculation_MathTrig::FACT($ord); + $ordK = 1; + $fSqrX = ($x * $x) / -4; + do { + $fTerm *= $fSqrX; + $fTerm /= ($ordK * ($ordK + $ord)); + $fResult += $fTerm; + } while ((abs($fTerm) > 1e-12) && (++$ordK < 100)); + } else { + $f_PI_DIV_2 = M_PI / 2; + $f_PI_DIV_4 = M_PI / 4; + + $fXAbs = abs($x); + $fResult = sqrt(M_2DIVPI / $fXAbs) * cos($fXAbs - $ord * $f_PI_DIV_2 - $f_PI_DIV_4); + if (($ord & 1) && ($x < 0)) { + $fResult = -$fResult; + } + } + return (is_nan($fResult)) ? PHPExcel_Calculation_Functions::NaN() : $fResult; + } + return PHPExcel_Calculation_Functions::VALUE(); + } // function BESSELJ() + + + private static function _Besselk0($fNum) { + if ($fNum <= 2) { + $fNum2 = $fNum * 0.5; + $y = ($fNum2 * $fNum2); + $fRet = -log($fNum2) * self::BESSELI($fNum, 0) + + (-0.57721566 + $y * (0.42278420 + $y * (0.23069756 + $y * (0.3488590e-1 + $y * (0.262698e-2 + $y * + (0.10750e-3 + $y * 0.74e-5)))))); + } else { + $y = 2 / $fNum; + $fRet = exp(-$fNum) / sqrt($fNum) * + (1.25331414 + $y * (-0.7832358e-1 + $y * (0.2189568e-1 + $y * (-0.1062446e-1 + $y * + (0.587872e-2 + $y * (-0.251540e-2 + $y * 0.53208e-3)))))); + } + return $fRet; + } // function _Besselk0() + + + private static function _Besselk1($fNum) { + if ($fNum <= 2) { + $fNum2 = $fNum * 0.5; + $y = ($fNum2 * $fNum2); + $fRet = log($fNum2) * self::BESSELI($fNum, 1) + + (1 + $y * (0.15443144 + $y * (-0.67278579 + $y * (-0.18156897 + $y * (-0.1919402e-1 + $y * + (-0.110404e-2 + $y * (-0.4686e-4))))))) / $fNum; + } else { + $y = 2 / $fNum; + $fRet = exp(-$fNum) / sqrt($fNum) * + (1.25331414 + $y * (0.23498619 + $y * (-0.3655620e-1 + $y * (0.1504268e-1 + $y * (-0.780353e-2 + $y * + (0.325614e-2 + $y * (-0.68245e-3))))))); + } + return $fRet; + } // function _Besselk1() + + + /** + * BESSELK + * + * Returns the modified Bessel function Kn(x), which is equivalent to the Bessel functions evaluated + * for purely imaginary arguments. + * + * Excel Function: + * BESSELK(x,ord) + * + * @access public + * @category Engineering Functions + * @param float $x The value at which to evaluate the function. + * If x is nonnumeric, BESSELK returns the #VALUE! error value. + * @param integer $ord The order of the Bessel function. If n is not an integer, it is truncated. + * If $ord is nonnumeric, BESSELK returns the #VALUE! error value. + * If $ord < 0, BESSELK returns the #NUM! error value. + * @return float + * + */ + public static function BESSELK($x, $ord) { + $x = (is_null($x)) ? 0.0 : PHPExcel_Calculation_Functions::flattenSingleValue($x); + $ord = (is_null($ord)) ? 0.0 : PHPExcel_Calculation_Functions::flattenSingleValue($ord); + + if ((is_numeric($x)) && (is_numeric($ord))) { + if (($ord < 0) || ($x == 0.0)) { + return PHPExcel_Calculation_Functions::NaN(); + } + + switch(floor($ord)) { + case 0 : return self::_Besselk0($x); + break; + case 1 : return self::_Besselk1($x); + break; + default : $fTox = 2 / $x; + $fBkm = self::_Besselk0($x); + $fBk = self::_Besselk1($x); + for ($n = 1; $n < $ord; ++$n) { + $fBkp = $fBkm + $n * $fTox * $fBk; + $fBkm = $fBk; + $fBk = $fBkp; + } + } + return (is_nan($fBk)) ? PHPExcel_Calculation_Functions::NaN() : $fBk; + } + return PHPExcel_Calculation_Functions::VALUE(); + } // function BESSELK() + + + private static function _Bessely0($fNum) { + if ($fNum < 8.0) { + $y = ($fNum * $fNum); + $f1 = -2957821389.0 + $y * (7062834065.0 + $y * (-512359803.6 + $y * (10879881.29 + $y * (-86327.92757 + $y * 228.4622733)))); + $f2 = 40076544269.0 + $y * (745249964.8 + $y * (7189466.438 + $y * (47447.26470 + $y * (226.1030244 + $y)))); + $fRet = $f1 / $f2 + 0.636619772 * self::BESSELJ($fNum, 0) * log($fNum); + } else { + $z = 8.0 / $fNum; + $y = ($z * $z); + $xx = $fNum - 0.785398164; + $f1 = 1 + $y * (-0.1098628627e-2 + $y * (0.2734510407e-4 + $y * (-0.2073370639e-5 + $y * 0.2093887211e-6))); + $f2 = -0.1562499995e-1 + $y * (0.1430488765e-3 + $y * (-0.6911147651e-5 + $y * (0.7621095161e-6 + $y * (-0.934945152e-7)))); + $fRet = sqrt(0.636619772 / $fNum) * (sin($xx) * $f1 + $z * cos($xx) * $f2); + } + return $fRet; + } // function _Bessely0() + + + private static function _Bessely1($fNum) { + if ($fNum < 8.0) { + $y = ($fNum * $fNum); + $f1 = $fNum * (-0.4900604943e13 + $y * (0.1275274390e13 + $y * (-0.5153438139e11 + $y * (0.7349264551e9 + $y * + (-0.4237922726e7 + $y * 0.8511937935e4))))); + $f2 = 0.2499580570e14 + $y * (0.4244419664e12 + $y * (0.3733650367e10 + $y * (0.2245904002e8 + $y * + (0.1020426050e6 + $y * (0.3549632885e3 + $y))))); + $fRet = $f1 / $f2 + 0.636619772 * ( self::BESSELJ($fNum, 1) * log($fNum) - 1 / $fNum); + } else { + $fRet = sqrt(0.636619772 / $fNum) * sin($fNum - 2.356194491); + } + return $fRet; + } // function _Bessely1() + + + /** + * BESSELY + * + * Returns the Bessel function, which is also called the Weber function or the Neumann function. + * + * Excel Function: + * BESSELY(x,ord) + * + * @access public + * @category Engineering Functions + * @param float $x The value at which to evaluate the function. + * If x is nonnumeric, BESSELK returns the #VALUE! error value. + * @param integer $ord The order of the Bessel function. If n is not an integer, it is truncated. + * If $ord is nonnumeric, BESSELK returns the #VALUE! error value. + * If $ord < 0, BESSELK returns the #NUM! error value. + * + * @return float + */ + public static function BESSELY($x, $ord) { + $x = (is_null($x)) ? 0.0 : PHPExcel_Calculation_Functions::flattenSingleValue($x); + $ord = (is_null($ord)) ? 0.0 : PHPExcel_Calculation_Functions::flattenSingleValue($ord); + + if ((is_numeric($x)) && (is_numeric($ord))) { + if (($ord < 0) || ($x == 0.0)) { + return PHPExcel_Calculation_Functions::NaN(); + } + + switch(floor($ord)) { + case 0 : return self::_Bessely0($x); + break; + case 1 : return self::_Bessely1($x); + break; + default: $fTox = 2 / $x; + $fBym = self::_Bessely0($x); + $fBy = self::_Bessely1($x); + for ($n = 1; $n < $ord; ++$n) { + $fByp = $n * $fTox * $fBy - $fBym; + $fBym = $fBy; + $fBy = $fByp; + } + } + return (is_nan($fBy)) ? PHPExcel_Calculation_Functions::NaN() : $fBy; + } + return PHPExcel_Calculation_Functions::VALUE(); + } // function BESSELY() + + + /** + * BINTODEC + * + * Return a binary value as decimal. + * + * Excel Function: + * BIN2DEC(x) + * + * @access public + * @category Engineering Functions + * @param string $x The binary number (as a string) that you want to convert. The number + * cannot contain more than 10 characters (10 bits). The most significant + * bit of number is the sign bit. The remaining 9 bits are magnitude bits. + * Negative numbers are represented using two's-complement notation. + * If number is not a valid binary number, or if number contains more than + * 10 characters (10 bits), BIN2DEC returns the #NUM! error value. + * @return string + */ + public static function BINTODEC($x) { + $x = PHPExcel_Calculation_Functions::flattenSingleValue($x); + + if (is_bool($x)) { + if (PHPExcel_Calculation_Functions::getCompatibilityMode() == PHPExcel_Calculation_Functions::COMPATIBILITY_OPENOFFICE) { + $x = (int) $x; + } else { + return PHPExcel_Calculation_Functions::VALUE(); + } + } + if (PHPExcel_Calculation_Functions::getCompatibilityMode() == PHPExcel_Calculation_Functions::COMPATIBILITY_GNUMERIC) { + $x = floor($x); + } + $x = (string) $x; + if (strlen($x) > preg_match_all('/[01]/',$x,$out)) { + return PHPExcel_Calculation_Functions::NaN(); + } + if (strlen($x) > 10) { + return PHPExcel_Calculation_Functions::NaN(); + } elseif (strlen($x) == 10) { + // Two's Complement + $x = substr($x,-9); + return '-'.(512-bindec($x)); + } + return bindec($x); + } // function BINTODEC() + + + /** + * BINTOHEX + * + * Return a binary value as hex. + * + * Excel Function: + * BIN2HEX(x[,places]) + * + * @access public + * @category Engineering Functions + * @param string $x The binary number (as a string) that you want to convert. The number + * cannot contain more than 10 characters (10 bits). The most significant + * bit of number is the sign bit. The remaining 9 bits are magnitude bits. + * Negative numbers are represented using two's-complement notation. + * If number is not a valid binary number, or if number contains more than + * 10 characters (10 bits), BIN2HEX returns the #NUM! error value. + * @param integer $places The number of characters to use. If places is omitted, BIN2HEX uses the + * minimum number of characters necessary. Places is useful for padding the + * return value with leading 0s (zeros). + * If places is not an integer, it is truncated. + * If places is nonnumeric, BIN2HEX returns the #VALUE! error value. + * If places is negative, BIN2HEX returns the #NUM! error value. + * @return string + */ + public static function BINTOHEX($x, $places=NULL) { + $x = PHPExcel_Calculation_Functions::flattenSingleValue($x); + $places = PHPExcel_Calculation_Functions::flattenSingleValue($places); + + if (is_bool($x)) { + if (PHPExcel_Calculation_Functions::getCompatibilityMode() == PHPExcel_Calculation_Functions::COMPATIBILITY_OPENOFFICE) { + $x = (int) $x; + } else { + return PHPExcel_Calculation_Functions::VALUE(); + } + } + if (PHPExcel_Calculation_Functions::getCompatibilityMode() == PHPExcel_Calculation_Functions::COMPATIBILITY_GNUMERIC) { + $x = floor($x); + } + $x = (string) $x; + if (strlen($x) > preg_match_all('/[01]/',$x,$out)) { + return PHPExcel_Calculation_Functions::NaN(); + } + if (strlen($x) > 10) { + return PHPExcel_Calculation_Functions::NaN(); + } elseif (strlen($x) == 10) { + // Two's Complement + return str_repeat('F',8).substr(strtoupper(dechex(bindec(substr($x,-9)))),-2); + } + $hexVal = (string) strtoupper(dechex(bindec($x))); + + return self::_nbrConversionFormat($hexVal,$places); + } // function BINTOHEX() + + + /** + * BINTOOCT + * + * Return a binary value as octal. + * + * Excel Function: + * BIN2OCT(x[,places]) + * + * @access public + * @category Engineering Functions + * @param string $x The binary number (as a string) that you want to convert. The number + * cannot contain more than 10 characters (10 bits). The most significant + * bit of number is the sign bit. The remaining 9 bits are magnitude bits. + * Negative numbers are represented using two's-complement notation. + * If number is not a valid binary number, or if number contains more than + * 10 characters (10 bits), BIN2OCT returns the #NUM! error value. + * @param integer $places The number of characters to use. If places is omitted, BIN2OCT uses the + * minimum number of characters necessary. Places is useful for padding the + * return value with leading 0s (zeros). + * If places is not an integer, it is truncated. + * If places is nonnumeric, BIN2OCT returns the #VALUE! error value. + * If places is negative, BIN2OCT returns the #NUM! error value. + * @return string + */ + public static function BINTOOCT($x, $places=NULL) { + $x = PHPExcel_Calculation_Functions::flattenSingleValue($x); + $places = PHPExcel_Calculation_Functions::flattenSingleValue($places); + + if (is_bool($x)) { + if (PHPExcel_Calculation_Functions::getCompatibilityMode() == PHPExcel_Calculation_Functions::COMPATIBILITY_OPENOFFICE) { + $x = (int) $x; + } else { + return PHPExcel_Calculation_Functions::VALUE(); + } + } + if (PHPExcel_Calculation_Functions::getCompatibilityMode() == PHPExcel_Calculation_Functions::COMPATIBILITY_GNUMERIC) { + $x = floor($x); + } + $x = (string) $x; + if (strlen($x) > preg_match_all('/[01]/',$x,$out)) { + return PHPExcel_Calculation_Functions::NaN(); + } + if (strlen($x) > 10) { + return PHPExcel_Calculation_Functions::NaN(); + } elseif (strlen($x) == 10) { + // Two's Complement + return str_repeat('7',7).substr(strtoupper(decoct(bindec(substr($x,-9)))),-3); + } + $octVal = (string) decoct(bindec($x)); + + return self::_nbrConversionFormat($octVal,$places); + } // function BINTOOCT() + + + /** + * DECTOBIN + * + * Return a decimal value as binary. + * + * Excel Function: + * DEC2BIN(x[,places]) + * + * @access public + * @category Engineering Functions + * @param string $x The decimal integer you want to convert. If number is negative, + * valid place values are ignored and DEC2BIN returns a 10-character + * (10-bit) binary number in which the most significant bit is the sign + * bit. The remaining 9 bits are magnitude bits. Negative numbers are + * represented using two's-complement notation. + * If number < -512 or if number > 511, DEC2BIN returns the #NUM! error + * value. + * If number is nonnumeric, DEC2BIN returns the #VALUE! error value. + * If DEC2BIN requires more than places characters, it returns the #NUM! + * error value. + * @param integer $places The number of characters to use. If places is omitted, DEC2BIN uses + * the minimum number of characters necessary. Places is useful for + * padding the return value with leading 0s (zeros). + * If places is not an integer, it is truncated. + * If places is nonnumeric, DEC2BIN returns the #VALUE! error value. + * If places is zero or negative, DEC2BIN returns the #NUM! error value. + * @return string + */ + public static function DECTOBIN($x, $places=NULL) { + $x = PHPExcel_Calculation_Functions::flattenSingleValue($x); + $places = PHPExcel_Calculation_Functions::flattenSingleValue($places); + + if (is_bool($x)) { + if (PHPExcel_Calculation_Functions::getCompatibilityMode() == PHPExcel_Calculation_Functions::COMPATIBILITY_OPENOFFICE) { + $x = (int) $x; + } else { + return PHPExcel_Calculation_Functions::VALUE(); + } + } + $x = (string) $x; + if (strlen($x) > preg_match_all('/[-0123456789.]/',$x,$out)) { + return PHPExcel_Calculation_Functions::VALUE(); + } + $x = (string) floor($x); + $r = decbin($x); + if (strlen($r) == 32) { + // Two's Complement + $r = substr($r,-10); + } elseif (strlen($r) > 11) { + return PHPExcel_Calculation_Functions::NaN(); + } + + return self::_nbrConversionFormat($r,$places); + } // function DECTOBIN() + + + /** + * DECTOHEX + * + * Return a decimal value as hex. + * + * Excel Function: + * DEC2HEX(x[,places]) + * + * @access public + * @category Engineering Functions + * @param string $x The decimal integer you want to convert. If number is negative, + * places is ignored and DEC2HEX returns a 10-character (40-bit) + * hexadecimal number in which the most significant bit is the sign + * bit. The remaining 39 bits are magnitude bits. Negative numbers + * are represented using two's-complement notation. + * If number < -549,755,813,888 or if number > 549,755,813,887, + * DEC2HEX returns the #NUM! error value. + * If number is nonnumeric, DEC2HEX returns the #VALUE! error value. + * If DEC2HEX requires more than places characters, it returns the + * #NUM! error value. + * @param integer $places The number of characters to use. If places is omitted, DEC2HEX uses + * the minimum number of characters necessary. Places is useful for + * padding the return value with leading 0s (zeros). + * If places is not an integer, it is truncated. + * If places is nonnumeric, DEC2HEX returns the #VALUE! error value. + * If places is zero or negative, DEC2HEX returns the #NUM! error value. + * @return string + */ + public static function DECTOHEX($x, $places=null) { + $x = PHPExcel_Calculation_Functions::flattenSingleValue($x); + $places = PHPExcel_Calculation_Functions::flattenSingleValue($places); + + if (is_bool($x)) { + if (PHPExcel_Calculation_Functions::getCompatibilityMode() == PHPExcel_Calculation_Functions::COMPATIBILITY_OPENOFFICE) { + $x = (int) $x; + } else { + return PHPExcel_Calculation_Functions::VALUE(); + } + } + $x = (string) $x; + if (strlen($x) > preg_match_all('/[-0123456789.]/',$x,$out)) { + return PHPExcel_Calculation_Functions::VALUE(); + } + $x = (string) floor($x); + $r = strtoupper(dechex($x)); + if (strlen($r) == 8) { + // Two's Complement + $r = 'FF'.$r; + } + + return self::_nbrConversionFormat($r,$places); + } // function DECTOHEX() + + + /** + * DECTOOCT + * + * Return an decimal value as octal. + * + * Excel Function: + * DEC2OCT(x[,places]) + * + * @access public + * @category Engineering Functions + * @param string $x The decimal integer you want to convert. If number is negative, + * places is ignored and DEC2OCT returns a 10-character (30-bit) + * octal number in which the most significant bit is the sign bit. + * The remaining 29 bits are magnitude bits. Negative numbers are + * represented using two's-complement notation. + * If number < -536,870,912 or if number > 536,870,911, DEC2OCT + * returns the #NUM! error value. + * If number is nonnumeric, DEC2OCT returns the #VALUE! error value. + * If DEC2OCT requires more than places characters, it returns the + * #NUM! error value. + * @param integer $places The number of characters to use. If places is omitted, DEC2OCT uses + * the minimum number of characters necessary. Places is useful for + * padding the return value with leading 0s (zeros). + * If places is not an integer, it is truncated. + * If places is nonnumeric, DEC2OCT returns the #VALUE! error value. + * If places is zero or negative, DEC2OCT returns the #NUM! error value. + * @return string + */ + public static function DECTOOCT($x, $places=null) { + $x = PHPExcel_Calculation_Functions::flattenSingleValue($x); + $places = PHPExcel_Calculation_Functions::flattenSingleValue($places); + + if (is_bool($x)) { + if (PHPExcel_Calculation_Functions::getCompatibilityMode() == PHPExcel_Calculation_Functions::COMPATIBILITY_OPENOFFICE) { + $x = (int) $x; + } else { + return PHPExcel_Calculation_Functions::VALUE(); + } + } + $x = (string) $x; + if (strlen($x) > preg_match_all('/[-0123456789.]/',$x,$out)) { + return PHPExcel_Calculation_Functions::VALUE(); + } + $x = (string) floor($x); + $r = decoct($x); + if (strlen($r) == 11) { + // Two's Complement + $r = substr($r,-10); + } + + return self::_nbrConversionFormat($r,$places); + } // function DECTOOCT() + + + /** + * HEXTOBIN + * + * Return a hex value as binary. + * + * Excel Function: + * HEX2BIN(x[,places]) + * + * @access public + * @category Engineering Functions + * @param string $x the hexadecimal number you want to convert. Number cannot + * contain more than 10 characters. The most significant bit of + * number is the sign bit (40th bit from the right). The remaining + * 9 bits are magnitude bits. Negative numbers are represented + * using two's-complement notation. + * If number is negative, HEX2BIN ignores places and returns a + * 10-character binary number. + * If number is negative, it cannot be less than FFFFFFFE00, and + * if number is positive, it cannot be greater than 1FF. + * If number is not a valid hexadecimal number, HEX2BIN returns + * the #NUM! error value. + * If HEX2BIN requires more than places characters, it returns + * the #NUM! error value. + * @param integer $places The number of characters to use. If places is omitted, + * HEX2BIN uses the minimum number of characters necessary. Places + * is useful for padding the return value with leading 0s (zeros). + * If places is not an integer, it is truncated. + * If places is nonnumeric, HEX2BIN returns the #VALUE! error value. + * If places is negative, HEX2BIN returns the #NUM! error value. + * @return string + */ + public static function HEXTOBIN($x, $places=null) { + $x = PHPExcel_Calculation_Functions::flattenSingleValue($x); + $places = PHPExcel_Calculation_Functions::flattenSingleValue($places); + + if (is_bool($x)) { + return PHPExcel_Calculation_Functions::VALUE(); + } + $x = (string) $x; + if (strlen($x) > preg_match_all('/[0123456789ABCDEF]/',strtoupper($x),$out)) { + return PHPExcel_Calculation_Functions::NaN(); + } + $binVal = decbin(hexdec($x)); + + return substr(self::_nbrConversionFormat($binVal,$places),-10); + } // function HEXTOBIN() + + + /** + * HEXTODEC + * + * Return a hex value as decimal. + * + * Excel Function: + * HEX2DEC(x) + * + * @access public + * @category Engineering Functions + * @param string $x The hexadecimal number you want to convert. This number cannot + * contain more than 10 characters (40 bits). The most significant + * bit of number is the sign bit. The remaining 39 bits are magnitude + * bits. Negative numbers are represented using two's-complement + * notation. + * If number is not a valid hexadecimal number, HEX2DEC returns the + * #NUM! error value. + * @return string + */ + public static function HEXTODEC($x) { + $x = PHPExcel_Calculation_Functions::flattenSingleValue($x); + + if (is_bool($x)) { + return PHPExcel_Calculation_Functions::VALUE(); + } + $x = (string) $x; + if (strlen($x) > preg_match_all('/[0123456789ABCDEF]/',strtoupper($x),$out)) { + return PHPExcel_Calculation_Functions::NaN(); + } + return hexdec($x); + } // function HEXTODEC() + + + /** + * HEXTOOCT + * + * Return a hex value as octal. + * + * Excel Function: + * HEX2OCT(x[,places]) + * + * @access public + * @category Engineering Functions + * @param string $x The hexadecimal number you want to convert. Number cannot + * contain more than 10 characters. The most significant bit of + * number is the sign bit. The remaining 39 bits are magnitude + * bits. Negative numbers are represented using two's-complement + * notation. + * If number is negative, HEX2OCT ignores places and returns a + * 10-character octal number. + * If number is negative, it cannot be less than FFE0000000, and + * if number is positive, it cannot be greater than 1FFFFFFF. + * If number is not a valid hexadecimal number, HEX2OCT returns + * the #NUM! error value. + * If HEX2OCT requires more than places characters, it returns + * the #NUM! error value. + * @param integer $places The number of characters to use. If places is omitted, HEX2OCT + * uses the minimum number of characters necessary. Places is + * useful for padding the return value with leading 0s (zeros). + * If places is not an integer, it is truncated. + * If places is nonnumeric, HEX2OCT returns the #VALUE! error + * value. + * If places is negative, HEX2OCT returns the #NUM! error value. + * @return string + */ + public static function HEXTOOCT($x, $places=null) { + $x = PHPExcel_Calculation_Functions::flattenSingleValue($x); + $places = PHPExcel_Calculation_Functions::flattenSingleValue($places); + + if (is_bool($x)) { + return PHPExcel_Calculation_Functions::VALUE(); + } + $x = (string) $x; + if (strlen($x) > preg_match_all('/[0123456789ABCDEF]/',strtoupper($x),$out)) { + return PHPExcel_Calculation_Functions::NaN(); + } + $octVal = decoct(hexdec($x)); + + return self::_nbrConversionFormat($octVal,$places); + } // function HEXTOOCT() + + + /** + * OCTTOBIN + * + * Return an octal value as binary. + * + * Excel Function: + * OCT2BIN(x[,places]) + * + * @access public + * @category Engineering Functions + * @param string $x The octal number you want to convert. Number may not + * contain more than 10 characters. The most significant + * bit of number is the sign bit. The remaining 29 bits + * are magnitude bits. Negative numbers are represented + * using two's-complement notation. + * If number is negative, OCT2BIN ignores places and returns + * a 10-character binary number. + * If number is negative, it cannot be less than 7777777000, + * and if number is positive, it cannot be greater than 777. + * If number is not a valid octal number, OCT2BIN returns + * the #NUM! error value. + * If OCT2BIN requires more than places characters, it + * returns the #NUM! error value. + * @param integer $places The number of characters to use. If places is omitted, + * OCT2BIN uses the minimum number of characters necessary. + * Places is useful for padding the return value with + * leading 0s (zeros). + * If places is not an integer, it is truncated. + * If places is nonnumeric, OCT2BIN returns the #VALUE! + * error value. + * If places is negative, OCT2BIN returns the #NUM! error + * value. + * @return string + */ + public static function OCTTOBIN($x, $places=null) { + $x = PHPExcel_Calculation_Functions::flattenSingleValue($x); + $places = PHPExcel_Calculation_Functions::flattenSingleValue($places); + + if (is_bool($x)) { + return PHPExcel_Calculation_Functions::VALUE(); + } + $x = (string) $x; + if (preg_match_all('/[01234567]/',$x,$out) != strlen($x)) { + return PHPExcel_Calculation_Functions::NaN(); + } + $r = decbin(octdec($x)); + + return self::_nbrConversionFormat($r,$places); + } // function OCTTOBIN() + + + /** + * OCTTODEC + * + * Return an octal value as decimal. + * + * Excel Function: + * OCT2DEC(x) + * + * @access public + * @category Engineering Functions + * @param string $x The octal number you want to convert. Number may not contain + * more than 10 octal characters (30 bits). The most significant + * bit of number is the sign bit. The remaining 29 bits are + * magnitude bits. Negative numbers are represented using + * two's-complement notation. + * If number is not a valid octal number, OCT2DEC returns the + * #NUM! error value. + * @return string + */ + public static function OCTTODEC($x) { + $x = PHPExcel_Calculation_Functions::flattenSingleValue($x); + + if (is_bool($x)) { + return PHPExcel_Calculation_Functions::VALUE(); + } + $x = (string) $x; + if (preg_match_all('/[01234567]/',$x,$out) != strlen($x)) { + return PHPExcel_Calculation_Functions::NaN(); + } + return octdec($x); + } // function OCTTODEC() + + + /** + * OCTTOHEX + * + * Return an octal value as hex. + * + * Excel Function: + * OCT2HEX(x[,places]) + * + * @access public + * @category Engineering Functions + * @param string $x The octal number you want to convert. Number may not contain + * more than 10 octal characters (30 bits). The most significant + * bit of number is the sign bit. The remaining 29 bits are + * magnitude bits. Negative numbers are represented using + * two's-complement notation. + * If number is negative, OCT2HEX ignores places and returns a + * 10-character hexadecimal number. + * If number is not a valid octal number, OCT2HEX returns the + * #NUM! error value. + * If OCT2HEX requires more than places characters, it returns + * the #NUM! error value. + * @param integer $places The number of characters to use. If places is omitted, OCT2HEX + * uses the minimum number of characters necessary. Places is useful + * for padding the return value with leading 0s (zeros). + * If places is not an integer, it is truncated. + * If places is nonnumeric, OCT2HEX returns the #VALUE! error value. + * If places is negative, OCT2HEX returns the #NUM! error value. + * @return string + */ + public static function OCTTOHEX($x, $places=null) { + $x = PHPExcel_Calculation_Functions::flattenSingleValue($x); + $places = PHPExcel_Calculation_Functions::flattenSingleValue($places); + + if (is_bool($x)) { + return PHPExcel_Calculation_Functions::VALUE(); + } + $x = (string) $x; + if (preg_match_all('/[01234567]/',$x,$out) != strlen($x)) { + return PHPExcel_Calculation_Functions::NaN(); + } + $hexVal = strtoupper(dechex(octdec($x))); + + return self::_nbrConversionFormat($hexVal,$places); + } // function OCTTOHEX() + + + /** + * COMPLEX + * + * Converts real and imaginary coefficients into a complex number of the form x + yi or x + yj. + * + * Excel Function: + * COMPLEX(realNumber,imaginary[,places]) + * + * @access public + * @category Engineering Functions + * @param float $realNumber The real coefficient of the complex number. + * @param float $imaginary The imaginary coefficient of the complex number. + * @param string $suffix The suffix for the imaginary component of the complex number. + * If omitted, the suffix is assumed to be "i". + * @return string + */ + public static function COMPLEX($realNumber=0.0, $imaginary=0.0, $suffix='i') { + $realNumber = (is_null($realNumber)) ? 0.0 : PHPExcel_Calculation_Functions::flattenSingleValue($realNumber); + $imaginary = (is_null($imaginary)) ? 0.0 : PHPExcel_Calculation_Functions::flattenSingleValue($imaginary); + $suffix = (is_null($suffix)) ? 'i' : PHPExcel_Calculation_Functions::flattenSingleValue($suffix); + + if (((is_numeric($realNumber)) && (is_numeric($imaginary))) && + (($suffix == 'i') || ($suffix == 'j') || ($suffix == ''))) { + $realNumber = (float) $realNumber; + $imaginary = (float) $imaginary; + + if ($suffix == '') $suffix = 'i'; + if ($realNumber == 0.0) { + if ($imaginary == 0.0) { + return (string) '0'; + } elseif ($imaginary == 1.0) { + return (string) $suffix; + } elseif ($imaginary == -1.0) { + return (string) '-'.$suffix; + } + return (string) $imaginary.$suffix; + } elseif ($imaginary == 0.0) { + return (string) $realNumber; + } elseif ($imaginary == 1.0) { + return (string) $realNumber.'+'.$suffix; + } elseif ($imaginary == -1.0) { + return (string) $realNumber.'-'.$suffix; + } + if ($imaginary > 0) { $imaginary = (string) '+'.$imaginary; } + return (string) $realNumber.$imaginary.$suffix; + } + + return PHPExcel_Calculation_Functions::VALUE(); + } // function COMPLEX() + + + /** + * IMAGINARY + * + * Returns the imaginary coefficient of a complex number in x + yi or x + yj text format. + * + * Excel Function: + * IMAGINARY(complexNumber) + * + * @access public + * @category Engineering Functions + * @param string $complexNumber The complex number for which you want the imaginary + * coefficient. + * @return float + */ + public static function IMAGINARY($complexNumber) { + $complexNumber = PHPExcel_Calculation_Functions::flattenSingleValue($complexNumber); + + $parsedComplex = self::_parseComplex($complexNumber); + return $parsedComplex['imaginary']; + } // function IMAGINARY() + + + /** + * IMREAL + * + * Returns the real coefficient of a complex number in x + yi or x + yj text format. + * + * Excel Function: + * IMREAL(complexNumber) + * + * @access public + * @category Engineering Functions + * @param string $complexNumber The complex number for which you want the real coefficient. + * @return float + */ + public static function IMREAL($complexNumber) { + $complexNumber = PHPExcel_Calculation_Functions::flattenSingleValue($complexNumber); + + $parsedComplex = self::_parseComplex($complexNumber); + return $parsedComplex['real']; + } // function IMREAL() + + + /** + * IMABS + * + * Returns the absolute value (modulus) of a complex number in x + yi or x + yj text format. + * + * Excel Function: + * IMABS(complexNumber) + * + * @param string $complexNumber The complex number for which you want the absolute value. + * @return float + */ + public static function IMABS($complexNumber) { + $complexNumber = PHPExcel_Calculation_Functions::flattenSingleValue($complexNumber); + + $parsedComplex = self::_parseComplex($complexNumber); + + return sqrt(($parsedComplex['real'] * $parsedComplex['real']) + ($parsedComplex['imaginary'] * $parsedComplex['imaginary'])); + } // function IMABS() + + + /** + * IMARGUMENT + * + * Returns the argument theta of a complex number, i.e. the angle in radians from the real + * axis to the representation of the number in polar coordinates. + * + * Excel Function: + * IMARGUMENT(complexNumber) + * + * @param string $complexNumber The complex number for which you want the argument theta. + * @return float + */ + public static function IMARGUMENT($complexNumber) { + $complexNumber = PHPExcel_Calculation_Functions::flattenSingleValue($complexNumber); + + $parsedComplex = self::_parseComplex($complexNumber); + + if ($parsedComplex['real'] == 0.0) { + if ($parsedComplex['imaginary'] == 0.0) { + return 0.0; + } elseif($parsedComplex['imaginary'] < 0.0) { + return M_PI / -2; + } else { + return M_PI / 2; + } + } elseif ($parsedComplex['real'] > 0.0) { + return atan($parsedComplex['imaginary'] / $parsedComplex['real']); + } elseif ($parsedComplex['imaginary'] < 0.0) { + return 0 - (M_PI - atan(abs($parsedComplex['imaginary']) / abs($parsedComplex['real']))); + } else { + return M_PI - atan($parsedComplex['imaginary'] / abs($parsedComplex['real'])); + } + } // function IMARGUMENT() + + + /** + * IMCONJUGATE + * + * Returns the complex conjugate of a complex number in x + yi or x + yj text format. + * + * Excel Function: + * IMCONJUGATE(complexNumber) + * + * @param string $complexNumber The complex number for which you want the conjugate. + * @return string + */ + public static function IMCONJUGATE($complexNumber) { + $complexNumber = PHPExcel_Calculation_Functions::flattenSingleValue($complexNumber); + + $parsedComplex = self::_parseComplex($complexNumber); + + if ($parsedComplex['imaginary'] == 0.0) { + return $parsedComplex['real']; + } else { + return self::_cleanComplex( self::COMPLEX( $parsedComplex['real'], + 0 - $parsedComplex['imaginary'], + $parsedComplex['suffix'] + ) + ); + } + } // function IMCONJUGATE() + + + /** + * IMCOS + * + * Returns the cosine of a complex number in x + yi or x + yj text format. + * + * Excel Function: + * IMCOS(complexNumber) + * + * @param string $complexNumber The complex number for which you want the cosine. + * @return string|float + */ + public static function IMCOS($complexNumber) { + $complexNumber = PHPExcel_Calculation_Functions::flattenSingleValue($complexNumber); + + $parsedComplex = self::_parseComplex($complexNumber); + + if ($parsedComplex['imaginary'] == 0.0) { + return cos($parsedComplex['real']); + } else { + return self::IMCONJUGATE(self::COMPLEX(cos($parsedComplex['real']) * cosh($parsedComplex['imaginary']),sin($parsedComplex['real']) * sinh($parsedComplex['imaginary']),$parsedComplex['suffix'])); + } + } // function IMCOS() + + + /** + * IMSIN + * + * Returns the sine of a complex number in x + yi or x + yj text format. + * + * Excel Function: + * IMSIN(complexNumber) + * + * @param string $complexNumber The complex number for which you want the sine. + * @return string|float + */ + public static function IMSIN($complexNumber) { + $complexNumber = PHPExcel_Calculation_Functions::flattenSingleValue($complexNumber); + + $parsedComplex = self::_parseComplex($complexNumber); + + if ($parsedComplex['imaginary'] == 0.0) { + return sin($parsedComplex['real']); + } else { + return self::COMPLEX(sin($parsedComplex['real']) * cosh($parsedComplex['imaginary']),cos($parsedComplex['real']) * sinh($parsedComplex['imaginary']),$parsedComplex['suffix']); + } + } // function IMSIN() + + + /** + * IMSQRT + * + * Returns the square root of a complex number in x + yi or x + yj text format. + * + * Excel Function: + * IMSQRT(complexNumber) + * + * @param string $complexNumber The complex number for which you want the square root. + * @return string + */ + public static function IMSQRT($complexNumber) { + $complexNumber = PHPExcel_Calculation_Functions::flattenSingleValue($complexNumber); + + $parsedComplex = self::_parseComplex($complexNumber); + + $theta = self::IMARGUMENT($complexNumber); + $d1 = cos($theta / 2); + $d2 = sin($theta / 2); + $r = sqrt(sqrt(($parsedComplex['real'] * $parsedComplex['real']) + ($parsedComplex['imaginary'] * $parsedComplex['imaginary']))); + + if ($parsedComplex['suffix'] == '') { + return self::COMPLEX($d1 * $r,$d2 * $r); + } else { + return self::COMPLEX($d1 * $r,$d2 * $r,$parsedComplex['suffix']); + } + } // function IMSQRT() + + + /** + * IMLN + * + * Returns the natural logarithm of a complex number in x + yi or x + yj text format. + * + * Excel Function: + * IMLN(complexNumber) + * + * @param string $complexNumber The complex number for which you want the natural logarithm. + * @return string + */ + public static function IMLN($complexNumber) { + $complexNumber = PHPExcel_Calculation_Functions::flattenSingleValue($complexNumber); + + $parsedComplex = self::_parseComplex($complexNumber); + + if (($parsedComplex['real'] == 0.0) && ($parsedComplex['imaginary'] == 0.0)) { + return PHPExcel_Calculation_Functions::NaN(); + } + + $logR = log(sqrt(($parsedComplex['real'] * $parsedComplex['real']) + ($parsedComplex['imaginary'] * $parsedComplex['imaginary']))); + $t = self::IMARGUMENT($complexNumber); + + if ($parsedComplex['suffix'] == '') { + return self::COMPLEX($logR,$t); + } else { + return self::COMPLEX($logR,$t,$parsedComplex['suffix']); + } + } // function IMLN() + + + /** + * IMLOG10 + * + * Returns the common logarithm (base 10) of a complex number in x + yi or x + yj text format. + * + * Excel Function: + * IMLOG10(complexNumber) + * + * @param string $complexNumber The complex number for which you want the common logarithm. + * @return string + */ + public static function IMLOG10($complexNumber) { + $complexNumber = PHPExcel_Calculation_Functions::flattenSingleValue($complexNumber); + + $parsedComplex = self::_parseComplex($complexNumber); + + if (($parsedComplex['real'] == 0.0) && ($parsedComplex['imaginary'] == 0.0)) { + return PHPExcel_Calculation_Functions::NaN(); + } elseif (($parsedComplex['real'] > 0.0) && ($parsedComplex['imaginary'] == 0.0)) { + return log10($parsedComplex['real']); + } + + return self::IMPRODUCT(log10(EULER),self::IMLN($complexNumber)); + } // function IMLOG10() + + + /** + * IMLOG2 + * + * Returns the base-2 logarithm of a complex number in x + yi or x + yj text format. + * + * Excel Function: + * IMLOG2(complexNumber) + * + * @param string $complexNumber The complex number for which you want the base-2 logarithm. + * @return string + */ + public static function IMLOG2($complexNumber) { + $complexNumber = PHPExcel_Calculation_Functions::flattenSingleValue($complexNumber); + + $parsedComplex = self::_parseComplex($complexNumber); + + if (($parsedComplex['real'] == 0.0) && ($parsedComplex['imaginary'] == 0.0)) { + return PHPExcel_Calculation_Functions::NaN(); + } elseif (($parsedComplex['real'] > 0.0) && ($parsedComplex['imaginary'] == 0.0)) { + return log($parsedComplex['real'],2); + } + + return self::IMPRODUCT(log(EULER,2),self::IMLN($complexNumber)); + } // function IMLOG2() + + + /** + * IMEXP + * + * Returns the exponential of a complex number in x + yi or x + yj text format. + * + * Excel Function: + * IMEXP(complexNumber) + * + * @param string $complexNumber The complex number for which you want the exponential. + * @return string + */ + public static function IMEXP($complexNumber) { + $complexNumber = PHPExcel_Calculation_Functions::flattenSingleValue($complexNumber); + + $parsedComplex = self::_parseComplex($complexNumber); + + if (($parsedComplex['real'] == 0.0) && ($parsedComplex['imaginary'] == 0.0)) { + return '1'; + } + + $e = exp($parsedComplex['real']); + $eX = $e * cos($parsedComplex['imaginary']); + $eY = $e * sin($parsedComplex['imaginary']); + + if ($parsedComplex['suffix'] == '') { + return self::COMPLEX($eX,$eY); + } else { + return self::COMPLEX($eX,$eY,$parsedComplex['suffix']); + } + } // function IMEXP() + + + /** + * IMPOWER + * + * Returns a complex number in x + yi or x + yj text format raised to a power. + * + * Excel Function: + * IMPOWER(complexNumber,realNumber) + * + * @param string $complexNumber The complex number you want to raise to a power. + * @param float $realNumber The power to which you want to raise the complex number. + * @return string + */ + public static function IMPOWER($complexNumber,$realNumber) { + $complexNumber = PHPExcel_Calculation_Functions::flattenSingleValue($complexNumber); + $realNumber = PHPExcel_Calculation_Functions::flattenSingleValue($realNumber); + + if (!is_numeric($realNumber)) { + return PHPExcel_Calculation_Functions::VALUE(); + } + + $parsedComplex = self::_parseComplex($complexNumber); + + $r = sqrt(($parsedComplex['real'] * $parsedComplex['real']) + ($parsedComplex['imaginary'] * $parsedComplex['imaginary'])); + $rPower = pow($r,$realNumber); + $theta = self::IMARGUMENT($complexNumber) * $realNumber; + if ($theta == 0) { + return 1; + } elseif ($parsedComplex['imaginary'] == 0.0) { + return self::COMPLEX($rPower * cos($theta),$rPower * sin($theta),$parsedComplex['suffix']); + } else { + return self::COMPLEX($rPower * cos($theta),$rPower * sin($theta),$parsedComplex['suffix']); + } + } // function IMPOWER() + + + /** + * IMDIV + * + * Returns the quotient of two complex numbers in x + yi or x + yj text format. + * + * Excel Function: + * IMDIV(complexDividend,complexDivisor) + * + * @param string $complexDividend The complex numerator or dividend. + * @param string $complexDivisor The complex denominator or divisor. + * @return string + */ + public static function IMDIV($complexDividend,$complexDivisor) { + $complexDividend = PHPExcel_Calculation_Functions::flattenSingleValue($complexDividend); + $complexDivisor = PHPExcel_Calculation_Functions::flattenSingleValue($complexDivisor); + + $parsedComplexDividend = self::_parseComplex($complexDividend); + $parsedComplexDivisor = self::_parseComplex($complexDivisor); + + if (($parsedComplexDividend['suffix'] != '') && ($parsedComplexDivisor['suffix'] != '') && + ($parsedComplexDividend['suffix'] != $parsedComplexDivisor['suffix'])) { + return PHPExcel_Calculation_Functions::NaN(); + } + if (($parsedComplexDividend['suffix'] != '') && ($parsedComplexDivisor['suffix'] == '')) { + $parsedComplexDivisor['suffix'] = $parsedComplexDividend['suffix']; + } + + $d1 = ($parsedComplexDividend['real'] * $parsedComplexDivisor['real']) + ($parsedComplexDividend['imaginary'] * $parsedComplexDivisor['imaginary']); + $d2 = ($parsedComplexDividend['imaginary'] * $parsedComplexDivisor['real']) - ($parsedComplexDividend['real'] * $parsedComplexDivisor['imaginary']); + $d3 = ($parsedComplexDivisor['real'] * $parsedComplexDivisor['real']) + ($parsedComplexDivisor['imaginary'] * $parsedComplexDivisor['imaginary']); + + $r = $d1/$d3; + $i = $d2/$d3; + + if ($i > 0.0) { + return self::_cleanComplex($r.'+'.$i.$parsedComplexDivisor['suffix']); + } elseif ($i < 0.0) { + return self::_cleanComplex($r.$i.$parsedComplexDivisor['suffix']); + } else { + return $r; + } + } // function IMDIV() + + + /** + * IMSUB + * + * Returns the difference of two complex numbers in x + yi or x + yj text format. + * + * Excel Function: + * IMSUB(complexNumber1,complexNumber2) + * + * @param string $complexNumber1 The complex number from which to subtract complexNumber2. + * @param string $complexNumber2 The complex number to subtract from complexNumber1. + * @return string + */ + public static function IMSUB($complexNumber1,$complexNumber2) { + $complexNumber1 = PHPExcel_Calculation_Functions::flattenSingleValue($complexNumber1); + $complexNumber2 = PHPExcel_Calculation_Functions::flattenSingleValue($complexNumber2); + + $parsedComplex1 = self::_parseComplex($complexNumber1); + $parsedComplex2 = self::_parseComplex($complexNumber2); + + if ((($parsedComplex1['suffix'] != '') && ($parsedComplex2['suffix'] != '')) && + ($parsedComplex1['suffix'] != $parsedComplex2['suffix'])) { + return PHPExcel_Calculation_Functions::NaN(); + } elseif (($parsedComplex1['suffix'] == '') && ($parsedComplex2['suffix'] != '')) { + $parsedComplex1['suffix'] = $parsedComplex2['suffix']; + } + + $d1 = $parsedComplex1['real'] - $parsedComplex2['real']; + $d2 = $parsedComplex1['imaginary'] - $parsedComplex2['imaginary']; + + return self::COMPLEX($d1,$d2,$parsedComplex1['suffix']); + } // function IMSUB() + + + /** + * IMSUM + * + * Returns the sum of two or more complex numbers in x + yi or x + yj text format. + * + * Excel Function: + * IMSUM(complexNumber[,complexNumber[,...]]) + * + * @param string $complexNumber,... Series of complex numbers to add + * @return string + */ + public static function IMSUM() { + // Return value + $returnValue = self::_parseComplex('0'); + $activeSuffix = ''; + + // Loop through the arguments + $aArgs = PHPExcel_Calculation_Functions::flattenArray(func_get_args()); + foreach ($aArgs as $arg) { + $parsedComplex = self::_parseComplex($arg); + + if ($activeSuffix == '') { + $activeSuffix = $parsedComplex['suffix']; + } elseif (($parsedComplex['suffix'] != '') && ($activeSuffix != $parsedComplex['suffix'])) { + return PHPExcel_Calculation_Functions::VALUE(); + } + + $returnValue['real'] += $parsedComplex['real']; + $returnValue['imaginary'] += $parsedComplex['imaginary']; + } + + if ($returnValue['imaginary'] == 0.0) { $activeSuffix = ''; } + return self::COMPLEX($returnValue['real'],$returnValue['imaginary'],$activeSuffix); + } // function IMSUM() + + + /** + * IMPRODUCT + * + * Returns the product of two or more complex numbers in x + yi or x + yj text format. + * + * Excel Function: + * IMPRODUCT(complexNumber[,complexNumber[,...]]) + * + * @param string $complexNumber,... Series of complex numbers to multiply + * @return string + */ + public static function IMPRODUCT() { + // Return value + $returnValue = self::_parseComplex('1'); + $activeSuffix = ''; + + // Loop through the arguments + $aArgs = PHPExcel_Calculation_Functions::flattenArray(func_get_args()); + foreach ($aArgs as $arg) { + $parsedComplex = self::_parseComplex($arg); + + $workValue = $returnValue; + if (($parsedComplex['suffix'] != '') && ($activeSuffix == '')) { + $activeSuffix = $parsedComplex['suffix']; + } elseif (($parsedComplex['suffix'] != '') && ($activeSuffix != $parsedComplex['suffix'])) { + return PHPExcel_Calculation_Functions::NaN(); + } + $returnValue['real'] = ($workValue['real'] * $parsedComplex['real']) - ($workValue['imaginary'] * $parsedComplex['imaginary']); + $returnValue['imaginary'] = ($workValue['real'] * $parsedComplex['imaginary']) + ($workValue['imaginary'] * $parsedComplex['real']); + } + + if ($returnValue['imaginary'] == 0.0) { $activeSuffix = ''; } + return self::COMPLEX($returnValue['real'],$returnValue['imaginary'],$activeSuffix); + } // function IMPRODUCT() + + + /** + * DELTA + * + * Tests whether two values are equal. Returns 1 if number1 = number2; returns 0 otherwise. + * Use this function to filter a set of values. For example, by summing several DELTA + * functions you calculate the count of equal pairs. This function is also known as the + * Kronecker Delta function. + * + * Excel Function: + * DELTA(a[,b]) + * + * @param float $a The first number. + * @param float $b The second number. If omitted, b is assumed to be zero. + * @return int + */ + public static function DELTA($a, $b=0) { + $a = PHPExcel_Calculation_Functions::flattenSingleValue($a); + $b = PHPExcel_Calculation_Functions::flattenSingleValue($b); + + return (int) ($a == $b); + } // function DELTA() + + + /** + * GESTEP + * + * Excel Function: + * GESTEP(number[,step]) + * + * Returns 1 if number >= step; returns 0 (zero) otherwise + * Use this function to filter a set of values. For example, by summing several GESTEP + * functions you calculate the count of values that exceed a threshold. + * + * @param float $number The value to test against step. + * @param float $step The threshold value. + * If you omit a value for step, GESTEP uses zero. + * @return int + */ + public static function GESTEP($number, $step=0) { + $number = PHPExcel_Calculation_Functions::flattenSingleValue($number); + $step = PHPExcel_Calculation_Functions::flattenSingleValue($step); + + return (int) ($number >= $step); + } // function GESTEP() + + + // + // Private method to calculate the erf value + // + private static $_two_sqrtpi = 1.128379167095512574; + + public static function _erfVal($x) { + if (abs($x) > 2.2) { + return 1 - self::_erfcVal($x); + } + $sum = $term = $x; + $xsqr = ($x * $x); + $j = 1; + do { + $term *= $xsqr / $j; + $sum -= $term / (2 * $j + 1); + ++$j; + $term *= $xsqr / $j; + $sum += $term / (2 * $j + 1); + ++$j; + if ($sum == 0.0) { + break; + } + } while (abs($term / $sum) > PRECISION); + return self::$_two_sqrtpi * $sum; + } // function _erfVal() + + + /** + * ERF + * + * Returns the error function integrated between the lower and upper bound arguments. + * + * Note: In Excel 2007 or earlier, if you input a negative value for the upper or lower bound arguments, + * the function would return a #NUM! error. However, in Excel 2010, the function algorithm was + * improved, so that it can now calculate the function for both positive and negative ranges. + * PHPExcel follows Excel 2010 behaviour, and accepts nagative arguments. + * + * Excel Function: + * ERF(lower[,upper]) + * + * @param float $lower lower bound for integrating ERF + * @param float $upper upper bound for integrating ERF. + * If omitted, ERF integrates between zero and lower_limit + * @return float + */ + public static function ERF($lower, $upper = NULL) { + $lower = PHPExcel_Calculation_Functions::flattenSingleValue($lower); + $upper = PHPExcel_Calculation_Functions::flattenSingleValue($upper); + + if (is_numeric($lower)) { + if (is_null($upper)) { + return self::_erfVal($lower); + } + if (is_numeric($upper)) { + return self::_erfVal($upper) - self::_erfVal($lower); + } + } + return PHPExcel_Calculation_Functions::VALUE(); + } // function ERF() + + + // + // Private method to calculate the erfc value + // + private static $_one_sqrtpi = 0.564189583547756287; + + private static function _erfcVal($x) { + if (abs($x) < 2.2) { + return 1 - self::_erfVal($x); + } + if ($x < 0) { + return 2 - self::ERFC(-$x); + } + $a = $n = 1; + $b = $c = $x; + $d = ($x * $x) + 0.5; + $q1 = $q2 = $b / $d; + $t = 0; + do { + $t = $a * $n + $b * $x; + $a = $b; + $b = $t; + $t = $c * $n + $d * $x; + $c = $d; + $d = $t; + $n += 0.5; + $q1 = $q2; + $q2 = $b / $d; + } while ((abs($q1 - $q2) / $q2) > PRECISION); + return self::$_one_sqrtpi * exp(-$x * $x) * $q2; + } // function _erfcVal() + + + /** + * ERFC + * + * Returns the complementary ERF function integrated between x and infinity + * + * Note: In Excel 2007 or earlier, if you input a negative value for the lower bound argument, + * the function would return a #NUM! error. However, in Excel 2010, the function algorithm was + * improved, so that it can now calculate the function for both positive and negative x values. + * PHPExcel follows Excel 2010 behaviour, and accepts nagative arguments. + * + * Excel Function: + * ERFC(x) + * + * @param float $x The lower bound for integrating ERFC + * @return float + */ + public static function ERFC($x) { + $x = PHPExcel_Calculation_Functions::flattenSingleValue($x); + + if (is_numeric($x)) { + return self::_erfcVal($x); + } + return PHPExcel_Calculation_Functions::VALUE(); + } // function ERFC() + + + /** + * getConversionGroups + * Returns a list of the different conversion groups for UOM conversions + * + * @return array + */ + public static function getConversionGroups() { + $conversionGroups = array(); + foreach(self::$_conversionUnits as $conversionUnit) { + $conversionGroups[] = $conversionUnit['Group']; + } + return array_merge(array_unique($conversionGroups)); + } // function getConversionGroups() + + + /** + * getConversionGroupUnits + * Returns an array of units of measure, for a specified conversion group, or for all groups + * + * @param string $group The group whose units of measure you want to retrieve + * @return array + */ + public static function getConversionGroupUnits($group = NULL) { + $conversionGroups = array(); + foreach(self::$_conversionUnits as $conversionUnit => $conversionGroup) { + if ((is_null($group)) || ($conversionGroup['Group'] == $group)) { + $conversionGroups[$conversionGroup['Group']][] = $conversionUnit; + } + } + return $conversionGroups; + } // function getConversionGroupUnits() + + + /** + * getConversionGroupUnitDetails + * + * @param string $group The group whose units of measure you want to retrieve + * @return array + */ + public static function getConversionGroupUnitDetails($group = NULL) { + $conversionGroups = array(); + foreach(self::$_conversionUnits as $conversionUnit => $conversionGroup) { + if ((is_null($group)) || ($conversionGroup['Group'] == $group)) { + $conversionGroups[$conversionGroup['Group']][] = array( 'unit' => $conversionUnit, + 'description' => $conversionGroup['Unit Name'] + ); + } + } + return $conversionGroups; + } // function getConversionGroupUnitDetails() + + + /** + * getConversionMultipliers + * Returns an array of the Multiplier prefixes that can be used with Units of Measure in CONVERTUOM() + * + * @return array of mixed + */ + public static function getConversionMultipliers() { + return self::$_conversionMultipliers; + } // function getConversionGroups() + + + /** + * CONVERTUOM + * + * Converts a number from one measurement system to another. + * For example, CONVERT can translate a table of distances in miles to a table of distances + * in kilometers. + * + * Excel Function: + * CONVERT(value,fromUOM,toUOM) + * + * @param float $value The value in fromUOM to convert. + * @param string $fromUOM The units for value. + * @param string $toUOM The units for the result. + * + * @return float + */ + public static function CONVERTUOM($value, $fromUOM, $toUOM) { + $value = PHPExcel_Calculation_Functions::flattenSingleValue($value); + $fromUOM = PHPExcel_Calculation_Functions::flattenSingleValue($fromUOM); + $toUOM = PHPExcel_Calculation_Functions::flattenSingleValue($toUOM); + + if (!is_numeric($value)) { + return PHPExcel_Calculation_Functions::VALUE(); + } + $fromMultiplier = 1.0; + if (isset(self::$_conversionUnits[$fromUOM])) { + $unitGroup1 = self::$_conversionUnits[$fromUOM]['Group']; + } else { + $fromMultiplier = substr($fromUOM,0,1); + $fromUOM = substr($fromUOM,1); + if (isset(self::$_conversionMultipliers[$fromMultiplier])) { + $fromMultiplier = self::$_conversionMultipliers[$fromMultiplier]['multiplier']; + } else { + return PHPExcel_Calculation_Functions::NA(); + } + if ((isset(self::$_conversionUnits[$fromUOM])) && (self::$_conversionUnits[$fromUOM]['AllowPrefix'])) { + $unitGroup1 = self::$_conversionUnits[$fromUOM]['Group']; + } else { + return PHPExcel_Calculation_Functions::NA(); + } + } + $value *= $fromMultiplier; + + $toMultiplier = 1.0; + if (isset(self::$_conversionUnits[$toUOM])) { + $unitGroup2 = self::$_conversionUnits[$toUOM]['Group']; + } else { + $toMultiplier = substr($toUOM,0,1); + $toUOM = substr($toUOM,1); + if (isset(self::$_conversionMultipliers[$toMultiplier])) { + $toMultiplier = self::$_conversionMultipliers[$toMultiplier]['multiplier']; + } else { + return PHPExcel_Calculation_Functions::NA(); + } + if ((isset(self::$_conversionUnits[$toUOM])) && (self::$_conversionUnits[$toUOM]['AllowPrefix'])) { + $unitGroup2 = self::$_conversionUnits[$toUOM]['Group']; + } else { + return PHPExcel_Calculation_Functions::NA(); + } + } + if ($unitGroup1 != $unitGroup2) { + return PHPExcel_Calculation_Functions::NA(); + } + + if (($fromUOM == $toUOM) && ($fromMultiplier == $toMultiplier)) { + // We've already factored $fromMultiplier into the value, so we need + // to reverse it again + return $value / $fromMultiplier; + } elseif ($unitGroup1 == 'Temperature') { + if (($fromUOM == 'F') || ($fromUOM == 'fah')) { + if (($toUOM == 'F') || ($toUOM == 'fah')) { + return $value; + } else { + $value = (($value - 32) / 1.8); + if (($toUOM == 'K') || ($toUOM == 'kel')) { + $value += 273.15; + } + return $value; + } + } elseif ((($fromUOM == 'K') || ($fromUOM == 'kel')) && + (($toUOM == 'K') || ($toUOM == 'kel'))) { + return $value; + } elseif ((($fromUOM == 'C') || ($fromUOM == 'cel')) && + (($toUOM == 'C') || ($toUOM == 'cel'))) { + return $value; + } + if (($toUOM == 'F') || ($toUOM == 'fah')) { + if (($fromUOM == 'K') || ($fromUOM == 'kel')) { + $value -= 273.15; + } + return ($value * 1.8) + 32; + } + if (($toUOM == 'C') || ($toUOM == 'cel')) { + return $value - 273.15; + } + return $value + 273.15; + } + return ($value * self::$_unitConversions[$unitGroup1][$fromUOM][$toUOM]) / $toMultiplier; + } // function CONVERTUOM() + +} // class PHPExcel_Calculation_Engineering diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Calculation/Exception.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Calculation/Exception.php new file mode 100644 index 00000000..2ddf666d --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Calculation/Exception.php @@ -0,0 +1,52 @@ +line = $line; + $e->file = $file; + throw $e; + } +} diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Calculation/ExceptionHandler.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Calculation/ExceptionHandler.php new file mode 100644 index 00000000..41c42d7a --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Calculation/ExceptionHandler.php @@ -0,0 +1,49 @@ +format('d') == $testDate->format('t')); + } // function _lastDayOfMonth() + + + /** + * _firstDayOfMonth + * + * Returns a boolean TRUE/FALSE indicating if this date is the first date of the month + * + * @param DateTime $testDate The date for testing + * @return boolean + */ + private static function _firstDayOfMonth($testDate) + { + return ($testDate->format('d') == 1); + } // function _firstDayOfMonth() + + + private static function _coupFirstPeriodDate($settlement, $maturity, $frequency, $next) + { + $months = 12 / $frequency; + + $result = PHPExcel_Shared_Date::ExcelToPHPObject($maturity); + $eom = self::_lastDayOfMonth($result); + + while ($settlement < PHPExcel_Shared_Date::PHPToExcel($result)) { + $result->modify('-'.$months.' months'); + } + if ($next) { + $result->modify('+'.$months.' months'); + } + + if ($eom) { + $result->modify('-1 day'); + } + + return PHPExcel_Shared_Date::PHPToExcel($result); + } // function _coupFirstPeriodDate() + + + private static function _validFrequency($frequency) + { + if (($frequency == 1) || ($frequency == 2) || ($frequency == 4)) { + return true; + } + if ((PHPExcel_Calculation_Functions::getCompatibilityMode() == PHPExcel_Calculation_Functions::COMPATIBILITY_GNUMERIC) && + (($frequency == 6) || ($frequency == 12))) { + return true; + } + return false; + } // function _validFrequency() + + + /** + * _daysPerYear + * + * Returns the number of days in a specified year, as defined by the "basis" value + * + * @param integer $year The year against which we're testing + * @param integer $basis The type of day count: + * 0 or omitted US (NASD) 360 + * 1 Actual (365 or 366 in a leap year) + * 2 360 + * 3 365 + * 4 European 360 + * @return integer + */ + private static function _daysPerYear($year, $basis=0) + { + switch ($basis) { + case 0 : + case 2 : + case 4 : + $daysPerYear = 360; + break; + case 3 : + $daysPerYear = 365; + break; + case 1 : + $daysPerYear = (PHPExcel_Calculation_DateTime::_isLeapYear($year)) ? 366 : 365; + break; + default : + return PHPExcel_Calculation_Functions::NaN(); + } + return $daysPerYear; + } // function _daysPerYear() + + + private static function _interestAndPrincipal($rate=0, $per=0, $nper=0, $pv=0, $fv=0, $type=0) + { + $pmt = self::PMT($rate, $nper, $pv, $fv, $type); + $capital = $pv; + for ($i = 1; $i<= $per; ++$i) { + $interest = ($type && $i == 1) ? 0 : -$capital * $rate; + $principal = $pmt - $interest; + $capital += $principal; + } + return array($interest, $principal); + } // function _interestAndPrincipal() + + + /** + * ACCRINT + * + * Returns the accrued interest for a security that pays periodic interest. + * + * Excel Function: + * ACCRINT(issue,firstinterest,settlement,rate,par,frequency[,basis]) + * + * @access public + * @category Financial Functions + * @param mixed $issue The security's issue date. + * @param mixed $firstinterest The security's first interest date. + * @param mixed $settlement The security's settlement date. + * The security settlement date is the date after the issue date + * when the security is traded to the buyer. + * @param float $rate The security's annual coupon rate. + * @param float $par The security's par value. + * If you omit par, ACCRINT uses $1,000. + * @param integer $frequency the number of coupon payments per year. + * Valid frequency values are: + * 1 Annual + * 2 Semi-Annual + * 4 Quarterly + * If working in Gnumeric Mode, the following frequency options are + * also available + * 6 Bimonthly + * 12 Monthly + * @param integer $basis The type of day count to use. + * 0 or omitted US (NASD) 30/360 + * 1 Actual/actual + * 2 Actual/360 + * 3 Actual/365 + * 4 European 30/360 + * @return float + */ + public static function ACCRINT($issue, $firstinterest, $settlement, $rate, $par=1000, $frequency=1, $basis=0) + { + $issue = PHPExcel_Calculation_Functions::flattenSingleValue($issue); + $firstinterest = PHPExcel_Calculation_Functions::flattenSingleValue($firstinterest); + $settlement = PHPExcel_Calculation_Functions::flattenSingleValue($settlement); + $rate = PHPExcel_Calculation_Functions::flattenSingleValue($rate); + $par = (is_null($par)) ? 1000 : PHPExcel_Calculation_Functions::flattenSingleValue($par); + $frequency = (is_null($frequency)) ? 1 : PHPExcel_Calculation_Functions::flattenSingleValue($frequency); + $basis = (is_null($basis)) ? 0 : PHPExcel_Calculation_Functions::flattenSingleValue($basis); + + // Validate + if ((is_numeric($rate)) && (is_numeric($par))) { + $rate = (float) $rate; + $par = (float) $par; + if (($rate <= 0) || ($par <= 0)) { + return PHPExcel_Calculation_Functions::NaN(); + } + $daysBetweenIssueAndSettlement = PHPExcel_Calculation_DateTime::YEARFRAC($issue, $settlement, $basis); + if (!is_numeric($daysBetweenIssueAndSettlement)) { + // return date error + return $daysBetweenIssueAndSettlement; + } + + return $par * $rate * $daysBetweenIssueAndSettlement; + } + return PHPExcel_Calculation_Functions::VALUE(); + } // function ACCRINT() + + + /** + * ACCRINTM + * + * Returns the accrued interest for a security that pays interest at maturity. + * + * Excel Function: + * ACCRINTM(issue,settlement,rate[,par[,basis]]) + * + * @access public + * @category Financial Functions + * @param mixed issue The security's issue date. + * @param mixed settlement The security's settlement (or maturity) date. + * @param float rate The security's annual coupon rate. + * @param float par The security's par value. + * If you omit par, ACCRINT uses $1,000. + * @param integer basis The type of day count to use. + * 0 or omitted US (NASD) 30/360 + * 1 Actual/actual + * 2 Actual/360 + * 3 Actual/365 + * 4 European 30/360 + * @return float + */ + public static function ACCRINTM($issue, $settlement, $rate, $par=1000, $basis=0) { + $issue = PHPExcel_Calculation_Functions::flattenSingleValue($issue); + $settlement = PHPExcel_Calculation_Functions::flattenSingleValue($settlement); + $rate = PHPExcel_Calculation_Functions::flattenSingleValue($rate); + $par = (is_null($par)) ? 1000 : PHPExcel_Calculation_Functions::flattenSingleValue($par); + $basis = (is_null($basis)) ? 0 : PHPExcel_Calculation_Functions::flattenSingleValue($basis); + + // Validate + if ((is_numeric($rate)) && (is_numeric($par))) { + $rate = (float) $rate; + $par = (float) $par; + if (($rate <= 0) || ($par <= 0)) { + return PHPExcel_Calculation_Functions::NaN(); + } + $daysBetweenIssueAndSettlement = PHPExcel_Calculation_DateTime::YEARFRAC($issue, $settlement, $basis); + if (!is_numeric($daysBetweenIssueAndSettlement)) { + // return date error + return $daysBetweenIssueAndSettlement; + } + return $par * $rate * $daysBetweenIssueAndSettlement; + } + return PHPExcel_Calculation_Functions::VALUE(); + } // function ACCRINTM() + + + /** + * AMORDEGRC + * + * Returns the depreciation for each accounting period. + * This function is provided for the French accounting system. If an asset is purchased in + * the middle of the accounting period, the prorated depreciation is taken into account. + * The function is similar to AMORLINC, except that a depreciation coefficient is applied in + * the calculation depending on the life of the assets. + * This function will return the depreciation until the last period of the life of the assets + * or until the cumulated value of depreciation is greater than the cost of the assets minus + * the salvage value. + * + * Excel Function: + * AMORDEGRC(cost,purchased,firstPeriod,salvage,period,rate[,basis]) + * + * @access public + * @category Financial Functions + * @param float cost The cost of the asset. + * @param mixed purchased Date of the purchase of the asset. + * @param mixed firstPeriod Date of the end of the first period. + * @param mixed salvage The salvage value at the end of the life of the asset. + * @param float period The period. + * @param float rate Rate of depreciation. + * @param integer basis The type of day count to use. + * 0 or omitted US (NASD) 30/360 + * 1 Actual/actual + * 2 Actual/360 + * 3 Actual/365 + * 4 European 30/360 + * @return float + */ + public static function AMORDEGRC($cost, $purchased, $firstPeriod, $salvage, $period, $rate, $basis=0) { + $cost = PHPExcel_Calculation_Functions::flattenSingleValue($cost); + $purchased = PHPExcel_Calculation_Functions::flattenSingleValue($purchased); + $firstPeriod = PHPExcel_Calculation_Functions::flattenSingleValue($firstPeriod); + $salvage = PHPExcel_Calculation_Functions::flattenSingleValue($salvage); + $period = floor(PHPExcel_Calculation_Functions::flattenSingleValue($period)); + $rate = PHPExcel_Calculation_Functions::flattenSingleValue($rate); + $basis = (is_null($basis)) ? 0 : (int) PHPExcel_Calculation_Functions::flattenSingleValue($basis); + + // The depreciation coefficients are: + // Life of assets (1/rate) Depreciation coefficient + // Less than 3 years 1 + // Between 3 and 4 years 1.5 + // Between 5 and 6 years 2 + // More than 6 years 2.5 + $fUsePer = 1.0 / $rate; + if ($fUsePer < 3.0) { + $amortiseCoeff = 1.0; + } elseif ($fUsePer < 5.0) { + $amortiseCoeff = 1.5; + } elseif ($fUsePer <= 6.0) { + $amortiseCoeff = 2.0; + } else { + $amortiseCoeff = 2.5; + } + + $rate *= $amortiseCoeff; + $fNRate = round(PHPExcel_Calculation_DateTime::YEARFRAC($purchased, $firstPeriod, $basis) * $rate * $cost,0); + $cost -= $fNRate; + $fRest = $cost - $salvage; + + for ($n = 0; $n < $period; ++$n) { + $fNRate = round($rate * $cost,0); + $fRest -= $fNRate; + + if ($fRest < 0.0) { + switch ($period - $n) { + case 0 : + case 1 : return round($cost * 0.5, 0); + break; + default : return 0.0; + break; + } + } + $cost -= $fNRate; + } + return $fNRate; + } // function AMORDEGRC() + + + /** + * AMORLINC + * + * Returns the depreciation for each accounting period. + * This function is provided for the French accounting system. If an asset is purchased in + * the middle of the accounting period, the prorated depreciation is taken into account. + * + * Excel Function: + * AMORLINC(cost,purchased,firstPeriod,salvage,period,rate[,basis]) + * + * @access public + * @category Financial Functions + * @param float cost The cost of the asset. + * @param mixed purchased Date of the purchase of the asset. + * @param mixed firstPeriod Date of the end of the first period. + * @param mixed salvage The salvage value at the end of the life of the asset. + * @param float period The period. + * @param float rate Rate of depreciation. + * @param integer basis The type of day count to use. + * 0 or omitted US (NASD) 30/360 + * 1 Actual/actual + * 2 Actual/360 + * 3 Actual/365 + * 4 European 30/360 + * @return float + */ + public static function AMORLINC($cost, $purchased, $firstPeriod, $salvage, $period, $rate, $basis=0) { + $cost = PHPExcel_Calculation_Functions::flattenSingleValue($cost); + $purchased = PHPExcel_Calculation_Functions::flattenSingleValue($purchased); + $firstPeriod = PHPExcel_Calculation_Functions::flattenSingleValue($firstPeriod); + $salvage = PHPExcel_Calculation_Functions::flattenSingleValue($salvage); + $period = PHPExcel_Calculation_Functions::flattenSingleValue($period); + $rate = PHPExcel_Calculation_Functions::flattenSingleValue($rate); + $basis = (is_null($basis)) ? 0 : (int) PHPExcel_Calculation_Functions::flattenSingleValue($basis); + + $fOneRate = $cost * $rate; + $fCostDelta = $cost - $salvage; + // Note, quirky variation for leap years on the YEARFRAC for this function + $purchasedYear = PHPExcel_Calculation_DateTime::YEAR($purchased); + $yearFrac = PHPExcel_Calculation_DateTime::YEARFRAC($purchased, $firstPeriod, $basis); + + if (($basis == 1) && ($yearFrac < 1) && (PHPExcel_Calculation_DateTime::_isLeapYear($purchasedYear))) { + $yearFrac *= 365 / 366; + } + + $f0Rate = $yearFrac * $rate * $cost; + $nNumOfFullPeriods = intval(($cost - $salvage - $f0Rate) / $fOneRate); + + if ($period == 0) { + return $f0Rate; + } elseif ($period <= $nNumOfFullPeriods) { + return $fOneRate; + } elseif ($period == ($nNumOfFullPeriods + 1)) { + return ($fCostDelta - $fOneRate * $nNumOfFullPeriods - $f0Rate); + } else { + return 0.0; + } + } // function AMORLINC() + + + /** + * COUPDAYBS + * + * Returns the number of days from the beginning of the coupon period to the settlement date. + * + * Excel Function: + * COUPDAYBS(settlement,maturity,frequency[,basis]) + * + * @access public + * @category Financial Functions + * @param mixed settlement The security's settlement date. + * The security settlement date is the date after the issue + * date when the security is traded to the buyer. + * @param mixed maturity The security's maturity date. + * The maturity date is the date when the security expires. + * @param mixed frequency the number of coupon payments per year. + * Valid frequency values are: + * 1 Annual + * 2 Semi-Annual + * 4 Quarterly + * If working in Gnumeric Mode, the following frequency options are + * also available + * 6 Bimonthly + * 12 Monthly + * @param integer basis The type of day count to use. + * 0 or omitted US (NASD) 30/360 + * 1 Actual/actual + * 2 Actual/360 + * 3 Actual/365 + * 4 European 30/360 + * @return float + */ + public static function COUPDAYBS($settlement, $maturity, $frequency, $basis=0) { + $settlement = PHPExcel_Calculation_Functions::flattenSingleValue($settlement); + $maturity = PHPExcel_Calculation_Functions::flattenSingleValue($maturity); + $frequency = (int) PHPExcel_Calculation_Functions::flattenSingleValue($frequency); + $basis = (is_null($basis)) ? 0 : (int) PHPExcel_Calculation_Functions::flattenSingleValue($basis); + + if (is_string($settlement = PHPExcel_Calculation_DateTime::_getDateValue($settlement))) { + return PHPExcel_Calculation_Functions::VALUE(); + } + if (is_string($maturity = PHPExcel_Calculation_DateTime::_getDateValue($maturity))) { + return PHPExcel_Calculation_Functions::VALUE(); + } + + if (($settlement > $maturity) || + (!self::_validFrequency($frequency)) || + (($basis < 0) || ($basis > 4))) { + return PHPExcel_Calculation_Functions::NaN(); + } + + $daysPerYear = self::_daysPerYear(PHPExcel_Calculation_DateTime::YEAR($settlement),$basis); + $prev = self::_coupFirstPeriodDate($settlement, $maturity, $frequency, False); + + return PHPExcel_Calculation_DateTime::YEARFRAC($prev, $settlement, $basis) * $daysPerYear; + } // function COUPDAYBS() + + + /** + * COUPDAYS + * + * Returns the number of days in the coupon period that contains the settlement date. + * + * Excel Function: + * COUPDAYS(settlement,maturity,frequency[,basis]) + * + * @access public + * @category Financial Functions + * @param mixed settlement The security's settlement date. + * The security settlement date is the date after the issue + * date when the security is traded to the buyer. + * @param mixed maturity The security's maturity date. + * The maturity date is the date when the security expires. + * @param mixed frequency the number of coupon payments per year. + * Valid frequency values are: + * 1 Annual + * 2 Semi-Annual + * 4 Quarterly + * If working in Gnumeric Mode, the following frequency options are + * also available + * 6 Bimonthly + * 12 Monthly + * @param integer basis The type of day count to use. + * 0 or omitted US (NASD) 30/360 + * 1 Actual/actual + * 2 Actual/360 + * 3 Actual/365 + * 4 European 30/360 + * @return float + */ + public static function COUPDAYS($settlement, $maturity, $frequency, $basis=0) { + $settlement = PHPExcel_Calculation_Functions::flattenSingleValue($settlement); + $maturity = PHPExcel_Calculation_Functions::flattenSingleValue($maturity); + $frequency = (int) PHPExcel_Calculation_Functions::flattenSingleValue($frequency); + $basis = (is_null($basis)) ? 0 : (int) PHPExcel_Calculation_Functions::flattenSingleValue($basis); + + if (is_string($settlement = PHPExcel_Calculation_DateTime::_getDateValue($settlement))) { + return PHPExcel_Calculation_Functions::VALUE(); + } + if (is_string($maturity = PHPExcel_Calculation_DateTime::_getDateValue($maturity))) { + return PHPExcel_Calculation_Functions::VALUE(); + } + + if (($settlement > $maturity) || + (!self::_validFrequency($frequency)) || + (($basis < 0) || ($basis > 4))) { + return PHPExcel_Calculation_Functions::NaN(); + } + + switch ($basis) { + case 3: // Actual/365 + return 365 / $frequency; + case 1: // Actual/actual + if ($frequency == 1) { + $daysPerYear = self::_daysPerYear(PHPExcel_Calculation_DateTime::YEAR($maturity),$basis); + return ($daysPerYear / $frequency); + } else { + $prev = self::_coupFirstPeriodDate($settlement, $maturity, $frequency, False); + $next = self::_coupFirstPeriodDate($settlement, $maturity, $frequency, True); + return ($next - $prev); + } + default: // US (NASD) 30/360, Actual/360 or European 30/360 + return 360 / $frequency; + } + return PHPExcel_Calculation_Functions::VALUE(); + } // function COUPDAYS() + + + /** + * COUPDAYSNC + * + * Returns the number of days from the settlement date to the next coupon date. + * + * Excel Function: + * COUPDAYSNC(settlement,maturity,frequency[,basis]) + * + * @access public + * @category Financial Functions + * @param mixed settlement The security's settlement date. + * The security settlement date is the date after the issue + * date when the security is traded to the buyer. + * @param mixed maturity The security's maturity date. + * The maturity date is the date when the security expires. + * @param mixed frequency the number of coupon payments per year. + * Valid frequency values are: + * 1 Annual + * 2 Semi-Annual + * 4 Quarterly + * If working in Gnumeric Mode, the following frequency options are + * also available + * 6 Bimonthly + * 12 Monthly + * @param integer basis The type of day count to use. + * 0 or omitted US (NASD) 30/360 + * 1 Actual/actual + * 2 Actual/360 + * 3 Actual/365 + * 4 European 30/360 + * @return float + */ + public static function COUPDAYSNC($settlement, $maturity, $frequency, $basis=0) { + $settlement = PHPExcel_Calculation_Functions::flattenSingleValue($settlement); + $maturity = PHPExcel_Calculation_Functions::flattenSingleValue($maturity); + $frequency = (int) PHPExcel_Calculation_Functions::flattenSingleValue($frequency); + $basis = (is_null($basis)) ? 0 : (int) PHPExcel_Calculation_Functions::flattenSingleValue($basis); + + if (is_string($settlement = PHPExcel_Calculation_DateTime::_getDateValue($settlement))) { + return PHPExcel_Calculation_Functions::VALUE(); + } + if (is_string($maturity = PHPExcel_Calculation_DateTime::_getDateValue($maturity))) { + return PHPExcel_Calculation_Functions::VALUE(); + } + + if (($settlement > $maturity) || + (!self::_validFrequency($frequency)) || + (($basis < 0) || ($basis > 4))) { + return PHPExcel_Calculation_Functions::NaN(); + } + + $daysPerYear = self::_daysPerYear(PHPExcel_Calculation_DateTime::YEAR($settlement),$basis); + $next = self::_coupFirstPeriodDate($settlement, $maturity, $frequency, True); + + return PHPExcel_Calculation_DateTime::YEARFRAC($settlement, $next, $basis) * $daysPerYear; + } // function COUPDAYSNC() + + + /** + * COUPNCD + * + * Returns the next coupon date after the settlement date. + * + * Excel Function: + * COUPNCD(settlement,maturity,frequency[,basis]) + * + * @access public + * @category Financial Functions + * @param mixed settlement The security's settlement date. + * The security settlement date is the date after the issue + * date when the security is traded to the buyer. + * @param mixed maturity The security's maturity date. + * The maturity date is the date when the security expires. + * @param mixed frequency the number of coupon payments per year. + * Valid frequency values are: + * 1 Annual + * 2 Semi-Annual + * 4 Quarterly + * If working in Gnumeric Mode, the following frequency options are + * also available + * 6 Bimonthly + * 12 Monthly + * @param integer basis The type of day count to use. + * 0 or omitted US (NASD) 30/360 + * 1 Actual/actual + * 2 Actual/360 + * 3 Actual/365 + * 4 European 30/360 + * @return mixed Excel date/time serial value, PHP date/time serial value or PHP date/time object, + * depending on the value of the ReturnDateType flag + */ + public static function COUPNCD($settlement, $maturity, $frequency, $basis=0) { + $settlement = PHPExcel_Calculation_Functions::flattenSingleValue($settlement); + $maturity = PHPExcel_Calculation_Functions::flattenSingleValue($maturity); + $frequency = (int) PHPExcel_Calculation_Functions::flattenSingleValue($frequency); + $basis = (is_null($basis)) ? 0 : (int) PHPExcel_Calculation_Functions::flattenSingleValue($basis); + + if (is_string($settlement = PHPExcel_Calculation_DateTime::_getDateValue($settlement))) { + return PHPExcel_Calculation_Functions::VALUE(); + } + if (is_string($maturity = PHPExcel_Calculation_DateTime::_getDateValue($maturity))) { + return PHPExcel_Calculation_Functions::VALUE(); + } + + if (($settlement > $maturity) || + (!self::_validFrequency($frequency)) || + (($basis < 0) || ($basis > 4))) { + return PHPExcel_Calculation_Functions::NaN(); + } + + return self::_coupFirstPeriodDate($settlement, $maturity, $frequency, True); + } // function COUPNCD() + + + /** + * COUPNUM + * + * Returns the number of coupons payable between the settlement date and maturity date, + * rounded up to the nearest whole coupon. + * + * Excel Function: + * COUPNUM(settlement,maturity,frequency[,basis]) + * + * @access public + * @category Financial Functions + * @param mixed settlement The security's settlement date. + * The security settlement date is the date after the issue + * date when the security is traded to the buyer. + * @param mixed maturity The security's maturity date. + * The maturity date is the date when the security expires. + * @param mixed frequency the number of coupon payments per year. + * Valid frequency values are: + * 1 Annual + * 2 Semi-Annual + * 4 Quarterly + * If working in Gnumeric Mode, the following frequency options are + * also available + * 6 Bimonthly + * 12 Monthly + * @param integer basis The type of day count to use. + * 0 or omitted US (NASD) 30/360 + * 1 Actual/actual + * 2 Actual/360 + * 3 Actual/365 + * 4 European 30/360 + * @return integer + */ + public static function COUPNUM($settlement, $maturity, $frequency, $basis=0) { + $settlement = PHPExcel_Calculation_Functions::flattenSingleValue($settlement); + $maturity = PHPExcel_Calculation_Functions::flattenSingleValue($maturity); + $frequency = (int) PHPExcel_Calculation_Functions::flattenSingleValue($frequency); + $basis = (is_null($basis)) ? 0 : (int) PHPExcel_Calculation_Functions::flattenSingleValue($basis); + + if (is_string($settlement = PHPExcel_Calculation_DateTime::_getDateValue($settlement))) { + return PHPExcel_Calculation_Functions::VALUE(); + } + if (is_string($maturity = PHPExcel_Calculation_DateTime::_getDateValue($maturity))) { + return PHPExcel_Calculation_Functions::VALUE(); + } + + if (($settlement > $maturity) || + (!self::_validFrequency($frequency)) || + (($basis < 0) || ($basis > 4))) { + return PHPExcel_Calculation_Functions::NaN(); + } + + $settlement = self::_coupFirstPeriodDate($settlement, $maturity, $frequency, True); + $daysBetweenSettlementAndMaturity = PHPExcel_Calculation_DateTime::YEARFRAC($settlement, $maturity, $basis) * 365; + + switch ($frequency) { + case 1: // annual payments + return ceil($daysBetweenSettlementAndMaturity / 360); + case 2: // half-yearly + return ceil($daysBetweenSettlementAndMaturity / 180); + case 4: // quarterly + return ceil($daysBetweenSettlementAndMaturity / 90); + case 6: // bimonthly + return ceil($daysBetweenSettlementAndMaturity / 60); + case 12: // monthly + return ceil($daysBetweenSettlementAndMaturity / 30); + } + return PHPExcel_Calculation_Functions::VALUE(); + } // function COUPNUM() + + + /** + * COUPPCD + * + * Returns the previous coupon date before the settlement date. + * + * Excel Function: + * COUPPCD(settlement,maturity,frequency[,basis]) + * + * @access public + * @category Financial Functions + * @param mixed settlement The security's settlement date. + * The security settlement date is the date after the issue + * date when the security is traded to the buyer. + * @param mixed maturity The security's maturity date. + * The maturity date is the date when the security expires. + * @param mixed frequency the number of coupon payments per year. + * Valid frequency values are: + * 1 Annual + * 2 Semi-Annual + * 4 Quarterly + * If working in Gnumeric Mode, the following frequency options are + * also available + * 6 Bimonthly + * 12 Monthly + * @param integer basis The type of day count to use. + * 0 or omitted US (NASD) 30/360 + * 1 Actual/actual + * 2 Actual/360 + * 3 Actual/365 + * 4 European 30/360 + * @return mixed Excel date/time serial value, PHP date/time serial value or PHP date/time object, + * depending on the value of the ReturnDateType flag + */ + public static function COUPPCD($settlement, $maturity, $frequency, $basis=0) { + $settlement = PHPExcel_Calculation_Functions::flattenSingleValue($settlement); + $maturity = PHPExcel_Calculation_Functions::flattenSingleValue($maturity); + $frequency = (int) PHPExcel_Calculation_Functions::flattenSingleValue($frequency); + $basis = (is_null($basis)) ? 0 : (int) PHPExcel_Calculation_Functions::flattenSingleValue($basis); + + if (is_string($settlement = PHPExcel_Calculation_DateTime::_getDateValue($settlement))) { + return PHPExcel_Calculation_Functions::VALUE(); + } + if (is_string($maturity = PHPExcel_Calculation_DateTime::_getDateValue($maturity))) { + return PHPExcel_Calculation_Functions::VALUE(); + } + + if (($settlement > $maturity) || + (!self::_validFrequency($frequency)) || + (($basis < 0) || ($basis > 4))) { + return PHPExcel_Calculation_Functions::NaN(); + } + + return self::_coupFirstPeriodDate($settlement, $maturity, $frequency, False); + } // function COUPPCD() + + + /** + * CUMIPMT + * + * Returns the cumulative interest paid on a loan between the start and end periods. + * + * Excel Function: + * CUMIPMT(rate,nper,pv,start,end[,type]) + * + * @access public + * @category Financial Functions + * @param float $rate The Interest rate + * @param integer $nper The total number of payment periods + * @param float $pv Present Value + * @param integer $start The first period in the calculation. + * Payment periods are numbered beginning with 1. + * @param integer $end The last period in the calculation. + * @param integer $type A number 0 or 1 and indicates when payments are due: + * 0 or omitted At the end of the period. + * 1 At the beginning of the period. + * @return float + */ + public static function CUMIPMT($rate, $nper, $pv, $start, $end, $type = 0) { + $rate = PHPExcel_Calculation_Functions::flattenSingleValue($rate); + $nper = (int) PHPExcel_Calculation_Functions::flattenSingleValue($nper); + $pv = PHPExcel_Calculation_Functions::flattenSingleValue($pv); + $start = (int) PHPExcel_Calculation_Functions::flattenSingleValue($start); + $end = (int) PHPExcel_Calculation_Functions::flattenSingleValue($end); + $type = (int) PHPExcel_Calculation_Functions::flattenSingleValue($type); + + // Validate parameters + if ($type != 0 && $type != 1) { + return PHPExcel_Calculation_Functions::NaN(); + } + if ($start < 1 || $start > $end) { + return PHPExcel_Calculation_Functions::VALUE(); + } + + // Calculate + $interest = 0; + for ($per = $start; $per <= $end; ++$per) { + $interest += self::IPMT($rate, $per, $nper, $pv, 0, $type); + } + + return $interest; + } // function CUMIPMT() + + + /** + * CUMPRINC + * + * Returns the cumulative principal paid on a loan between the start and end periods. + * + * Excel Function: + * CUMPRINC(rate,nper,pv,start,end[,type]) + * + * @access public + * @category Financial Functions + * @param float $rate The Interest rate + * @param integer $nper The total number of payment periods + * @param float $pv Present Value + * @param integer $start The first period in the calculation. + * Payment periods are numbered beginning with 1. + * @param integer $end The last period in the calculation. + * @param integer $type A number 0 or 1 and indicates when payments are due: + * 0 or omitted At the end of the period. + * 1 At the beginning of the period. + * @return float + */ + public static function CUMPRINC($rate, $nper, $pv, $start, $end, $type = 0) { + $rate = PHPExcel_Calculation_Functions::flattenSingleValue($rate); + $nper = (int) PHPExcel_Calculation_Functions::flattenSingleValue($nper); + $pv = PHPExcel_Calculation_Functions::flattenSingleValue($pv); + $start = (int) PHPExcel_Calculation_Functions::flattenSingleValue($start); + $end = (int) PHPExcel_Calculation_Functions::flattenSingleValue($end); + $type = (int) PHPExcel_Calculation_Functions::flattenSingleValue($type); + + // Validate parameters + if ($type != 0 && $type != 1) { + return PHPExcel_Calculation_Functions::NaN(); + } + if ($start < 1 || $start > $end) { + return PHPExcel_Calculation_Functions::VALUE(); + } + + // Calculate + $principal = 0; + for ($per = $start; $per <= $end; ++$per) { + $principal += self::PPMT($rate, $per, $nper, $pv, 0, $type); + } + + return $principal; + } // function CUMPRINC() + + + /** + * DB + * + * Returns the depreciation of an asset for a specified period using the + * fixed-declining balance method. + * This form of depreciation is used if you want to get a higher depreciation value + * at the beginning of the depreciation (as opposed to linear depreciation). The + * depreciation value is reduced with every depreciation period by the depreciation + * already deducted from the initial cost. + * + * Excel Function: + * DB(cost,salvage,life,period[,month]) + * + * @access public + * @category Financial Functions + * @param float cost Initial cost of the asset. + * @param float salvage Value at the end of the depreciation. + * (Sometimes called the salvage value of the asset) + * @param integer life Number of periods over which the asset is depreciated. + * (Sometimes called the useful life of the asset) + * @param integer period The period for which you want to calculate the + * depreciation. Period must use the same units as life. + * @param integer month Number of months in the first year. If month is omitted, + * it defaults to 12. + * @return float + */ + public static function DB($cost, $salvage, $life, $period, $month=12) { + $cost = PHPExcel_Calculation_Functions::flattenSingleValue($cost); + $salvage = PHPExcel_Calculation_Functions::flattenSingleValue($salvage); + $life = PHPExcel_Calculation_Functions::flattenSingleValue($life); + $period = PHPExcel_Calculation_Functions::flattenSingleValue($period); + $month = PHPExcel_Calculation_Functions::flattenSingleValue($month); + + // Validate + if ((is_numeric($cost)) && (is_numeric($salvage)) && (is_numeric($life)) && (is_numeric($period)) && (is_numeric($month))) { + $cost = (float) $cost; + $salvage = (float) $salvage; + $life = (int) $life; + $period = (int) $period; + $month = (int) $month; + if ($cost == 0) { + return 0.0; + } elseif (($cost < 0) || (($salvage / $cost) < 0) || ($life <= 0) || ($period < 1) || ($month < 1)) { + return PHPExcel_Calculation_Functions::NaN(); + } + // Set Fixed Depreciation Rate + $fixedDepreciationRate = 1 - pow(($salvage / $cost), (1 / $life)); + $fixedDepreciationRate = round($fixedDepreciationRate, 3); + + // Loop through each period calculating the depreciation + $previousDepreciation = 0; + for ($per = 1; $per <= $period; ++$per) { + if ($per == 1) { + $depreciation = $cost * $fixedDepreciationRate * $month / 12; + } elseif ($per == ($life + 1)) { + $depreciation = ($cost - $previousDepreciation) * $fixedDepreciationRate * (12 - $month) / 12; + } else { + $depreciation = ($cost - $previousDepreciation) * $fixedDepreciationRate; + } + $previousDepreciation += $depreciation; + } + if (PHPExcel_Calculation_Functions::getCompatibilityMode() == PHPExcel_Calculation_Functions::COMPATIBILITY_GNUMERIC) { + $depreciation = round($depreciation,2); + } + return $depreciation; + } + return PHPExcel_Calculation_Functions::VALUE(); + } // function DB() + + + /** + * DDB + * + * Returns the depreciation of an asset for a specified period using the + * double-declining balance method or some other method you specify. + * + * Excel Function: + * DDB(cost,salvage,life,period[,factor]) + * + * @access public + * @category Financial Functions + * @param float cost Initial cost of the asset. + * @param float salvage Value at the end of the depreciation. + * (Sometimes called the salvage value of the asset) + * @param integer life Number of periods over which the asset is depreciated. + * (Sometimes called the useful life of the asset) + * @param integer period The period for which you want to calculate the + * depreciation. Period must use the same units as life. + * @param float factor The rate at which the balance declines. + * If factor is omitted, it is assumed to be 2 (the + * double-declining balance method). + * @return float + */ + public static function DDB($cost, $salvage, $life, $period, $factor=2.0) { + $cost = PHPExcel_Calculation_Functions::flattenSingleValue($cost); + $salvage = PHPExcel_Calculation_Functions::flattenSingleValue($salvage); + $life = PHPExcel_Calculation_Functions::flattenSingleValue($life); + $period = PHPExcel_Calculation_Functions::flattenSingleValue($period); + $factor = PHPExcel_Calculation_Functions::flattenSingleValue($factor); + + // Validate + if ((is_numeric($cost)) && (is_numeric($salvage)) && (is_numeric($life)) && (is_numeric($period)) && (is_numeric($factor))) { + $cost = (float) $cost; + $salvage = (float) $salvage; + $life = (int) $life; + $period = (int) $period; + $factor = (float) $factor; + if (($cost <= 0) || (($salvage / $cost) < 0) || ($life <= 0) || ($period < 1) || ($factor <= 0.0) || ($period > $life)) { + return PHPExcel_Calculation_Functions::NaN(); + } + // Set Fixed Depreciation Rate + $fixedDepreciationRate = 1 - pow(($salvage / $cost), (1 / $life)); + $fixedDepreciationRate = round($fixedDepreciationRate, 3); + + // Loop through each period calculating the depreciation + $previousDepreciation = 0; + for ($per = 1; $per <= $period; ++$per) { + $depreciation = min( ($cost - $previousDepreciation) * ($factor / $life), ($cost - $salvage - $previousDepreciation) ); + $previousDepreciation += $depreciation; + } + if (PHPExcel_Calculation_Functions::getCompatibilityMode() == PHPExcel_Calculation_Functions::COMPATIBILITY_GNUMERIC) { + $depreciation = round($depreciation,2); + } + return $depreciation; + } + return PHPExcel_Calculation_Functions::VALUE(); + } // function DDB() + + + /** + * DISC + * + * Returns the discount rate for a security. + * + * Excel Function: + * DISC(settlement,maturity,price,redemption[,basis]) + * + * @access public + * @category Financial Functions + * @param mixed settlement The security's settlement date. + * The security settlement date is the date after the issue + * date when the security is traded to the buyer. + * @param mixed maturity The security's maturity date. + * The maturity date is the date when the security expires. + * @param integer price The security's price per $100 face value. + * @param integer redemption The security's redemption value per $100 face value. + * @param integer basis The type of day count to use. + * 0 or omitted US (NASD) 30/360 + * 1 Actual/actual + * 2 Actual/360 + * 3 Actual/365 + * 4 European 30/360 + * @return float + */ + public static function DISC($settlement, $maturity, $price, $redemption, $basis=0) { + $settlement = PHPExcel_Calculation_Functions::flattenSingleValue($settlement); + $maturity = PHPExcel_Calculation_Functions::flattenSingleValue($maturity); + $price = PHPExcel_Calculation_Functions::flattenSingleValue($price); + $redemption = PHPExcel_Calculation_Functions::flattenSingleValue($redemption); + $basis = PHPExcel_Calculation_Functions::flattenSingleValue($basis); + + // Validate + if ((is_numeric($price)) && (is_numeric($redemption)) && (is_numeric($basis))) { + $price = (float) $price; + $redemption = (float) $redemption; + $basis = (int) $basis; + if (($price <= 0) || ($redemption <= 0)) { + return PHPExcel_Calculation_Functions::NaN(); + } + $daysBetweenSettlementAndMaturity = PHPExcel_Calculation_DateTime::YEARFRAC($settlement, $maturity, $basis); + if (!is_numeric($daysBetweenSettlementAndMaturity)) { + // return date error + return $daysBetweenSettlementAndMaturity; + } + + return ((1 - $price / $redemption) / $daysBetweenSettlementAndMaturity); + } + return PHPExcel_Calculation_Functions::VALUE(); + } // function DISC() + + + /** + * DOLLARDE + * + * Converts a dollar price expressed as an integer part and a fraction + * part into a dollar price expressed as a decimal number. + * Fractional dollar numbers are sometimes used for security prices. + * + * Excel Function: + * DOLLARDE(fractional_dollar,fraction) + * + * @access public + * @category Financial Functions + * @param float $fractional_dollar Fractional Dollar + * @param integer $fraction Fraction + * @return float + */ + public static function DOLLARDE($fractional_dollar = Null, $fraction = 0) { + $fractional_dollar = PHPExcel_Calculation_Functions::flattenSingleValue($fractional_dollar); + $fraction = (int)PHPExcel_Calculation_Functions::flattenSingleValue($fraction); + + // Validate parameters + if (is_null($fractional_dollar) || $fraction < 0) { + return PHPExcel_Calculation_Functions::NaN(); + } + if ($fraction == 0) { + return PHPExcel_Calculation_Functions::DIV0(); + } + + $dollars = floor($fractional_dollar); + $cents = fmod($fractional_dollar,1); + $cents /= $fraction; + $cents *= pow(10,ceil(log10($fraction))); + return $dollars + $cents; + } // function DOLLARDE() + + + /** + * DOLLARFR + * + * Converts a dollar price expressed as a decimal number into a dollar price + * expressed as a fraction. + * Fractional dollar numbers are sometimes used for security prices. + * + * Excel Function: + * DOLLARFR(decimal_dollar,fraction) + * + * @access public + * @category Financial Functions + * @param float $decimal_dollar Decimal Dollar + * @param integer $fraction Fraction + * @return float + */ + public static function DOLLARFR($decimal_dollar = Null, $fraction = 0) { + $decimal_dollar = PHPExcel_Calculation_Functions::flattenSingleValue($decimal_dollar); + $fraction = (int)PHPExcel_Calculation_Functions::flattenSingleValue($fraction); + + // Validate parameters + if (is_null($decimal_dollar) || $fraction < 0) { + return PHPExcel_Calculation_Functions::NaN(); + } + if ($fraction == 0) { + return PHPExcel_Calculation_Functions::DIV0(); + } + + $dollars = floor($decimal_dollar); + $cents = fmod($decimal_dollar,1); + $cents *= $fraction; + $cents *= pow(10,-ceil(log10($fraction))); + return $dollars + $cents; + } // function DOLLARFR() + + + /** + * EFFECT + * + * Returns the effective interest rate given the nominal rate and the number of + * compounding payments per year. + * + * Excel Function: + * EFFECT(nominal_rate,npery) + * + * @access public + * @category Financial Functions + * @param float $nominal_rate Nominal interest rate + * @param integer $npery Number of compounding payments per year + * @return float + */ + public static function EFFECT($nominal_rate = 0, $npery = 0) { + $nominal_rate = PHPExcel_Calculation_Functions::flattenSingleValue($nominal_rate); + $npery = (int)PHPExcel_Calculation_Functions::flattenSingleValue($npery); + + // Validate parameters + if ($nominal_rate <= 0 || $npery < 1) { + return PHPExcel_Calculation_Functions::NaN(); + } + + return pow((1 + $nominal_rate / $npery), $npery) - 1; + } // function EFFECT() + + + /** + * FV + * + * Returns the Future Value of a cash flow with constant payments and interest rate (annuities). + * + * Excel Function: + * FV(rate,nper,pmt[,pv[,type]]) + * + * @access public + * @category Financial Functions + * @param float $rate The interest rate per period + * @param int $nper Total number of payment periods in an annuity + * @param float $pmt The payment made each period: it cannot change over the + * life of the annuity. Typically, pmt contains principal + * and interest but no other fees or taxes. + * @param float $pv Present Value, or the lump-sum amount that a series of + * future payments is worth right now. + * @param integer $type A number 0 or 1 and indicates when payments are due: + * 0 or omitted At the end of the period. + * 1 At the beginning of the period. + * @return float + */ + public static function FV($rate = 0, $nper = 0, $pmt = 0, $pv = 0, $type = 0) { + $rate = PHPExcel_Calculation_Functions::flattenSingleValue($rate); + $nper = PHPExcel_Calculation_Functions::flattenSingleValue($nper); + $pmt = PHPExcel_Calculation_Functions::flattenSingleValue($pmt); + $pv = PHPExcel_Calculation_Functions::flattenSingleValue($pv); + $type = PHPExcel_Calculation_Functions::flattenSingleValue($type); + + // Validate parameters + if ($type != 0 && $type != 1) { + return PHPExcel_Calculation_Functions::NaN(); + } + + // Calculate + if (!is_null($rate) && $rate != 0) { + return -$pv * pow(1 + $rate, $nper) - $pmt * (1 + $rate * $type) * (pow(1 + $rate, $nper) - 1) / $rate; + } else { + return -$pv - $pmt * $nper; + } + } // function FV() + + + /** + * FVSCHEDULE + * + * Returns the future value of an initial principal after applying a series of compound interest rates. + * Use FVSCHEDULE to calculate the future value of an investment with a variable or adjustable rate. + * + * Excel Function: + * FVSCHEDULE(principal,schedule) + * + * @param float $principal The present value. + * @param float[] $schedule An array of interest rates to apply. + * @return float + */ + public static function FVSCHEDULE($principal, $schedule) { + $principal = PHPExcel_Calculation_Functions::flattenSingleValue($principal); + $schedule = PHPExcel_Calculation_Functions::flattenArray($schedule); + + foreach($schedule as $rate) { + $principal *= 1 + $rate; + } + + return $principal; + } // function FVSCHEDULE() + + + /** + * INTRATE + * + * Returns the interest rate for a fully invested security. + * + * Excel Function: + * INTRATE(settlement,maturity,investment,redemption[,basis]) + * + * @param mixed $settlement The security's settlement date. + * The security settlement date is the date after the issue date when the security is traded to the buyer. + * @param mixed $maturity The security's maturity date. + * The maturity date is the date when the security expires. + * @param integer $investment The amount invested in the security. + * @param integer $redemption The amount to be received at maturity. + * @param integer $basis The type of day count to use. + * 0 or omitted US (NASD) 30/360 + * 1 Actual/actual + * 2 Actual/360 + * 3 Actual/365 + * 4 European 30/360 + * @return float + */ + public static function INTRATE($settlement, $maturity, $investment, $redemption, $basis=0) { + $settlement = PHPExcel_Calculation_Functions::flattenSingleValue($settlement); + $maturity = PHPExcel_Calculation_Functions::flattenSingleValue($maturity); + $investment = PHPExcel_Calculation_Functions::flattenSingleValue($investment); + $redemption = PHPExcel_Calculation_Functions::flattenSingleValue($redemption); + $basis = PHPExcel_Calculation_Functions::flattenSingleValue($basis); + + // Validate + if ((is_numeric($investment)) && (is_numeric($redemption)) && (is_numeric($basis))) { + $investment = (float) $investment; + $redemption = (float) $redemption; + $basis = (int) $basis; + if (($investment <= 0) || ($redemption <= 0)) { + return PHPExcel_Calculation_Functions::NaN(); + } + $daysBetweenSettlementAndMaturity = PHPExcel_Calculation_DateTime::YEARFRAC($settlement, $maturity, $basis); + if (!is_numeric($daysBetweenSettlementAndMaturity)) { + // return date error + return $daysBetweenSettlementAndMaturity; + } + + return (($redemption / $investment) - 1) / ($daysBetweenSettlementAndMaturity); + } + return PHPExcel_Calculation_Functions::VALUE(); + } // function INTRATE() + + + /** + * IPMT + * + * Returns the interest payment for a given period for an investment based on periodic, constant payments and a constant interest rate. + * + * Excel Function: + * IPMT(rate,per,nper,pv[,fv][,type]) + * + * @param float $rate Interest rate per period + * @param int $per Period for which we want to find the interest + * @param int $nper Number of periods + * @param float $pv Present Value + * @param float $fv Future Value + * @param int $type Payment type: 0 = at the end of each period, 1 = at the beginning of each period + * @return float + */ + public static function IPMT($rate, $per, $nper, $pv, $fv = 0, $type = 0) { + $rate = PHPExcel_Calculation_Functions::flattenSingleValue($rate); + $per = (int) PHPExcel_Calculation_Functions::flattenSingleValue($per); + $nper = (int) PHPExcel_Calculation_Functions::flattenSingleValue($nper); + $pv = PHPExcel_Calculation_Functions::flattenSingleValue($pv); + $fv = PHPExcel_Calculation_Functions::flattenSingleValue($fv); + $type = (int) PHPExcel_Calculation_Functions::flattenSingleValue($type); + + // Validate parameters + if ($type != 0 && $type != 1) { + return PHPExcel_Calculation_Functions::NaN(); + } + if ($per <= 0 || $per > $nper) { + return PHPExcel_Calculation_Functions::VALUE(); + } + + // Calculate + $interestAndPrincipal = self::_interestAndPrincipal($rate, $per, $nper, $pv, $fv, $type); + return $interestAndPrincipal[0]; + } // function IPMT() + + /** + * IRR + * + * Returns the internal rate of return for a series of cash flows represented by the numbers in values. + * These cash flows do not have to be even, as they would be for an annuity. However, the cash flows must occur + * at regular intervals, such as monthly or annually. The internal rate of return is the interest rate received + * for an investment consisting of payments (negative values) and income (positive values) that occur at regular + * periods. + * + * Excel Function: + * IRR(values[,guess]) + * + * @param float[] $values An array or a reference to cells that contain numbers for which you want + * to calculate the internal rate of return. + * Values must contain at least one positive value and one negative value to + * calculate the internal rate of return. + * @param float $guess A number that you guess is close to the result of IRR + * @return float + */ + public static function IRR($values, $guess = 0.1) { + if (!is_array($values)) return PHPExcel_Calculation_Functions::VALUE(); + $values = PHPExcel_Calculation_Functions::flattenArray($values); + $guess = PHPExcel_Calculation_Functions::flattenSingleValue($guess); + + // create an initial range, with a root somewhere between 0 and guess + $x1 = 0.0; + $x2 = $guess; + $f1 = self::NPV($x1, $values); + $f2 = self::NPV($x2, $values); + for ($i = 0; $i < FINANCIAL_MAX_ITERATIONS; ++$i) { + if (($f1 * $f2) < 0.0) break; + if (abs($f1) < abs($f2)) { + $f1 = self::NPV($x1 += 1.6 * ($x1 - $x2), $values); + } else { + $f2 = self::NPV($x2 += 1.6 * ($x2 - $x1), $values); + } + } + if (($f1 * $f2) > 0.0) return PHPExcel_Calculation_Functions::VALUE(); + + $f = self::NPV($x1, $values); + if ($f < 0.0) { + $rtb = $x1; + $dx = $x2 - $x1; + } else { + $rtb = $x2; + $dx = $x1 - $x2; + } + + for ($i = 0; $i < FINANCIAL_MAX_ITERATIONS; ++$i) { + $dx *= 0.5; + $x_mid = $rtb + $dx; + $f_mid = self::NPV($x_mid, $values); + if ($f_mid <= 0.0) + $rtb = $x_mid; + if ((abs($f_mid) < FINANCIAL_PRECISION) || (abs($dx) < FINANCIAL_PRECISION)) + return $x_mid; + } + return PHPExcel_Calculation_Functions::VALUE(); + } // function IRR() + + + /** + * ISPMT + * + * Returns the interest payment for an investment based on an interest rate and a constant payment schedule. + * + * Excel Function: + * =ISPMT(interest_rate, period, number_payments, PV) + * + * interest_rate is the interest rate for the investment + * + * period is the period to calculate the interest rate. It must be betweeen 1 and number_payments. + * + * number_payments is the number of payments for the annuity + * + * PV is the loan amount or present value of the payments + */ + public static function ISPMT() { + // Return value + $returnValue = 0; + + // Get the parameters + $aArgs = PHPExcel_Calculation_Functions::flattenArray(func_get_args()); + $interestRate = array_shift($aArgs); + $period = array_shift($aArgs); + $numberPeriods = array_shift($aArgs); + $principleRemaining = array_shift($aArgs); + + // Calculate + $principlePayment = ($principleRemaining * 1.0) / ($numberPeriods * 1.0); + for($i=0; $i <= $period; ++$i) { + $returnValue = $interestRate * $principleRemaining * -1; + $principleRemaining -= $principlePayment; + // principle needs to be 0 after the last payment, don't let floating point screw it up + if($i == $numberPeriods) { + $returnValue = 0; + } + } + return($returnValue); + } // function ISPMT() + + + /** + * MIRR + * + * Returns the modified internal rate of return for a series of periodic cash flows. MIRR considers both + * the cost of the investment and the interest received on reinvestment of cash. + * + * Excel Function: + * MIRR(values,finance_rate, reinvestment_rate) + * + * @param float[] $values An array or a reference to cells that contain a series of payments and + * income occurring at regular intervals. + * Payments are negative value, income is positive values. + * @param float $finance_rate The interest rate you pay on the money used in the cash flows + * @param float $reinvestment_rate The interest rate you receive on the cash flows as you reinvest them + * @return float + */ + public static function MIRR($values, $finance_rate, $reinvestment_rate) { + if (!is_array($values)) return PHPExcel_Calculation_Functions::VALUE(); + $values = PHPExcel_Calculation_Functions::flattenArray($values); + $finance_rate = PHPExcel_Calculation_Functions::flattenSingleValue($finance_rate); + $reinvestment_rate = PHPExcel_Calculation_Functions::flattenSingleValue($reinvestment_rate); + $n = count($values); + + $rr = 1.0 + $reinvestment_rate; + $fr = 1.0 + $finance_rate; + + $npv_pos = $npv_neg = 0.0; + foreach($values as $i => $v) { + if ($v >= 0) { + $npv_pos += $v / pow($rr, $i); + } else { + $npv_neg += $v / pow($fr, $i); + } + } + + if (($npv_neg == 0) || ($npv_pos == 0) || ($reinvestment_rate <= -1)) { + return PHPExcel_Calculation_Functions::VALUE(); + } + + $mirr = pow((-$npv_pos * pow($rr, $n)) + / ($npv_neg * ($rr)), (1.0 / ($n - 1))) - 1.0; + + return (is_finite($mirr) ? $mirr : PHPExcel_Calculation_Functions::VALUE()); + } // function MIRR() + + + /** + * NOMINAL + * + * Returns the nominal interest rate given the effective rate and the number of compounding payments per year. + * + * @param float $effect_rate Effective interest rate + * @param int $npery Number of compounding payments per year + * @return float + */ + public static function NOMINAL($effect_rate = 0, $npery = 0) { + $effect_rate = PHPExcel_Calculation_Functions::flattenSingleValue($effect_rate); + $npery = (int)PHPExcel_Calculation_Functions::flattenSingleValue($npery); + + // Validate parameters + if ($effect_rate <= 0 || $npery < 1) { + return PHPExcel_Calculation_Functions::NaN(); + } + + // Calculate + return $npery * (pow($effect_rate + 1, 1 / $npery) - 1); + } // function NOMINAL() + + + /** + * NPER + * + * Returns the number of periods for a cash flow with constant periodic payments (annuities), and interest rate. + * + * @param float $rate Interest rate per period + * @param int $pmt Periodic payment (annuity) + * @param float $pv Present Value + * @param float $fv Future Value + * @param int $type Payment type: 0 = at the end of each period, 1 = at the beginning of each period + * @return float + */ + public static function NPER($rate = 0, $pmt = 0, $pv = 0, $fv = 0, $type = 0) { + $rate = PHPExcel_Calculation_Functions::flattenSingleValue($rate); + $pmt = PHPExcel_Calculation_Functions::flattenSingleValue($pmt); + $pv = PHPExcel_Calculation_Functions::flattenSingleValue($pv); + $fv = PHPExcel_Calculation_Functions::flattenSingleValue($fv); + $type = PHPExcel_Calculation_Functions::flattenSingleValue($type); + + // Validate parameters + if ($type != 0 && $type != 1) { + return PHPExcel_Calculation_Functions::NaN(); + } + + // Calculate + if (!is_null($rate) && $rate != 0) { + if ($pmt == 0 && $pv == 0) { + return PHPExcel_Calculation_Functions::NaN(); + } + return log(($pmt * (1 + $rate * $type) / $rate - $fv) / ($pv + $pmt * (1 + $rate * $type) / $rate)) / log(1 + $rate); + } else { + if ($pmt == 0) { + return PHPExcel_Calculation_Functions::NaN(); + } + return (-$pv -$fv) / $pmt; + } + } // function NPER() + + /** + * NPV + * + * Returns the Net Present Value of a cash flow series given a discount rate. + * + * @return float + */ + public static function NPV() { + // Return value + $returnValue = 0; + + // Loop through arguments + $aArgs = PHPExcel_Calculation_Functions::flattenArray(func_get_args()); + + // Calculate + $rate = array_shift($aArgs); + for ($i = 1; $i <= count($aArgs); ++$i) { + // Is it a numeric value? + if (is_numeric($aArgs[$i - 1])) { + $returnValue += $aArgs[$i - 1] / pow(1 + $rate, $i); + } + } + + // Return + return $returnValue; + } // function NPV() + + /** + * PMT + * + * Returns the constant payment (annuity) for a cash flow with a constant interest rate. + * + * @param float $rate Interest rate per period + * @param int $nper Number of periods + * @param float $pv Present Value + * @param float $fv Future Value + * @param int $type Payment type: 0 = at the end of each period, 1 = at the beginning of each period + * @return float + */ + public static function PMT($rate = 0, $nper = 0, $pv = 0, $fv = 0, $type = 0) { + $rate = PHPExcel_Calculation_Functions::flattenSingleValue($rate); + $nper = PHPExcel_Calculation_Functions::flattenSingleValue($nper); + $pv = PHPExcel_Calculation_Functions::flattenSingleValue($pv); + $fv = PHPExcel_Calculation_Functions::flattenSingleValue($fv); + $type = PHPExcel_Calculation_Functions::flattenSingleValue($type); + + // Validate parameters + if ($type != 0 && $type != 1) { + return PHPExcel_Calculation_Functions::NaN(); + } + + // Calculate + if (!is_null($rate) && $rate != 0) { + return (-$fv - $pv * pow(1 + $rate, $nper)) / (1 + $rate * $type) / ((pow(1 + $rate, $nper) - 1) / $rate); + } else { + return (-$pv - $fv) / $nper; + } + } // function PMT() + + + /** + * PPMT + * + * Returns the interest payment for a given period for an investment based on periodic, constant payments and a constant interest rate. + * + * @param float $rate Interest rate per period + * @param int $per Period for which we want to find the interest + * @param int $nper Number of periods + * @param float $pv Present Value + * @param float $fv Future Value + * @param int $type Payment type: 0 = at the end of each period, 1 = at the beginning of each period + * @return float + */ + public static function PPMT($rate, $per, $nper, $pv, $fv = 0, $type = 0) { + $rate = PHPExcel_Calculation_Functions::flattenSingleValue($rate); + $per = (int) PHPExcel_Calculation_Functions::flattenSingleValue($per); + $nper = (int) PHPExcel_Calculation_Functions::flattenSingleValue($nper); + $pv = PHPExcel_Calculation_Functions::flattenSingleValue($pv); + $fv = PHPExcel_Calculation_Functions::flattenSingleValue($fv); + $type = (int) PHPExcel_Calculation_Functions::flattenSingleValue($type); + + // Validate parameters + if ($type != 0 && $type != 1) { + return PHPExcel_Calculation_Functions::NaN(); + } + if ($per <= 0 || $per > $nper) { + return PHPExcel_Calculation_Functions::VALUE(); + } + + // Calculate + $interestAndPrincipal = self::_interestAndPrincipal($rate, $per, $nper, $pv, $fv, $type); + return $interestAndPrincipal[1]; + } // function PPMT() + + + public static function PRICE($settlement, $maturity, $rate, $yield, $redemption, $frequency, $basis=0) { + $settlement = PHPExcel_Calculation_Functions::flattenSingleValue($settlement); + $maturity = PHPExcel_Calculation_Functions::flattenSingleValue($maturity); + $rate = (float) PHPExcel_Calculation_Functions::flattenSingleValue($rate); + $yield = (float) PHPExcel_Calculation_Functions::flattenSingleValue($yield); + $redemption = (float) PHPExcel_Calculation_Functions::flattenSingleValue($redemption); + $frequency = (int) PHPExcel_Calculation_Functions::flattenSingleValue($frequency); + $basis = (is_null($basis)) ? 0 : (int) PHPExcel_Calculation_Functions::flattenSingleValue($basis); + + if (is_string($settlement = PHPExcel_Calculation_DateTime::_getDateValue($settlement))) { + return PHPExcel_Calculation_Functions::VALUE(); + } + if (is_string($maturity = PHPExcel_Calculation_DateTime::_getDateValue($maturity))) { + return PHPExcel_Calculation_Functions::VALUE(); + } + + if (($settlement > $maturity) || + (!self::_validFrequency($frequency)) || + (($basis < 0) || ($basis > 4))) { + return PHPExcel_Calculation_Functions::NaN(); + } + + $dsc = self::COUPDAYSNC($settlement, $maturity, $frequency, $basis); + $e = self::COUPDAYS($settlement, $maturity, $frequency, $basis); + $n = self::COUPNUM($settlement, $maturity, $frequency, $basis); + $a = self::COUPDAYBS($settlement, $maturity, $frequency, $basis); + + $baseYF = 1.0 + ($yield / $frequency); + $rfp = 100 * ($rate / $frequency); + $de = $dsc / $e; + + $result = $redemption / pow($baseYF, (--$n + $de)); + for($k = 0; $k <= $n; ++$k) { + $result += $rfp / (pow($baseYF, ($k + $de))); + } + $result -= $rfp * ($a / $e); + + return $result; + } // function PRICE() + + + /** + * PRICEDISC + * + * Returns the price per $100 face value of a discounted security. + * + * @param mixed settlement The security's settlement date. + * The security settlement date is the date after the issue date when the security is traded to the buyer. + * @param mixed maturity The security's maturity date. + * The maturity date is the date when the security expires. + * @param int discount The security's discount rate. + * @param int redemption The security's redemption value per $100 face value. + * @param int basis The type of day count to use. + * 0 or omitted US (NASD) 30/360 + * 1 Actual/actual + * 2 Actual/360 + * 3 Actual/365 + * 4 European 30/360 + * @return float + */ + public static function PRICEDISC($settlement, $maturity, $discount, $redemption, $basis=0) { + $settlement = PHPExcel_Calculation_Functions::flattenSingleValue($settlement); + $maturity = PHPExcel_Calculation_Functions::flattenSingleValue($maturity); + $discount = (float) PHPExcel_Calculation_Functions::flattenSingleValue($discount); + $redemption = (float) PHPExcel_Calculation_Functions::flattenSingleValue($redemption); + $basis = (int) PHPExcel_Calculation_Functions::flattenSingleValue($basis); + + // Validate + if ((is_numeric($discount)) && (is_numeric($redemption)) && (is_numeric($basis))) { + if (($discount <= 0) || ($redemption <= 0)) { + return PHPExcel_Calculation_Functions::NaN(); + } + $daysBetweenSettlementAndMaturity = PHPExcel_Calculation_DateTime::YEARFRAC($settlement, $maturity, $basis); + if (!is_numeric($daysBetweenSettlementAndMaturity)) { + // return date error + return $daysBetweenSettlementAndMaturity; + } + + return $redemption * (1 - $discount * $daysBetweenSettlementAndMaturity); + } + return PHPExcel_Calculation_Functions::VALUE(); + } // function PRICEDISC() + + + /** + * PRICEMAT + * + * Returns the price per $100 face value of a security that pays interest at maturity. + * + * @param mixed settlement The security's settlement date. + * The security's settlement date is the date after the issue date when the security is traded to the buyer. + * @param mixed maturity The security's maturity date. + * The maturity date is the date when the security expires. + * @param mixed issue The security's issue date. + * @param int rate The security's interest rate at date of issue. + * @param int yield The security's annual yield. + * @param int basis The type of day count to use. + * 0 or omitted US (NASD) 30/360 + * 1 Actual/actual + * 2 Actual/360 + * 3 Actual/365 + * 4 European 30/360 + * @return float + */ + public static function PRICEMAT($settlement, $maturity, $issue, $rate, $yield, $basis=0) { + $settlement = PHPExcel_Calculation_Functions::flattenSingleValue($settlement); + $maturity = PHPExcel_Calculation_Functions::flattenSingleValue($maturity); + $issue = PHPExcel_Calculation_Functions::flattenSingleValue($issue); + $rate = PHPExcel_Calculation_Functions::flattenSingleValue($rate); + $yield = PHPExcel_Calculation_Functions::flattenSingleValue($yield); + $basis = (int) PHPExcel_Calculation_Functions::flattenSingleValue($basis); + + // Validate + if (is_numeric($rate) && is_numeric($yield)) { + if (($rate <= 0) || ($yield <= 0)) { + return PHPExcel_Calculation_Functions::NaN(); + } + $daysPerYear = self::_daysPerYear(PHPExcel_Calculation_DateTime::YEAR($settlement),$basis); + if (!is_numeric($daysPerYear)) { + return $daysPerYear; + } + $daysBetweenIssueAndSettlement = PHPExcel_Calculation_DateTime::YEARFRAC($issue, $settlement, $basis); + if (!is_numeric($daysBetweenIssueAndSettlement)) { + // return date error + return $daysBetweenIssueAndSettlement; + } + $daysBetweenIssueAndSettlement *= $daysPerYear; + $daysBetweenIssueAndMaturity = PHPExcel_Calculation_DateTime::YEARFRAC($issue, $maturity, $basis); + if (!is_numeric($daysBetweenIssueAndMaturity)) { + // return date error + return $daysBetweenIssueAndMaturity; + } + $daysBetweenIssueAndMaturity *= $daysPerYear; + $daysBetweenSettlementAndMaturity = PHPExcel_Calculation_DateTime::YEARFRAC($settlement, $maturity, $basis); + if (!is_numeric($daysBetweenSettlementAndMaturity)) { + // return date error + return $daysBetweenSettlementAndMaturity; + } + $daysBetweenSettlementAndMaturity *= $daysPerYear; + + return ((100 + (($daysBetweenIssueAndMaturity / $daysPerYear) * $rate * 100)) / + (1 + (($daysBetweenSettlementAndMaturity / $daysPerYear) * $yield)) - + (($daysBetweenIssueAndSettlement / $daysPerYear) * $rate * 100)); + } + return PHPExcel_Calculation_Functions::VALUE(); + } // function PRICEMAT() + + + /** + * PV + * + * Returns the Present Value of a cash flow with constant payments and interest rate (annuities). + * + * @param float $rate Interest rate per period + * @param int $nper Number of periods + * @param float $pmt Periodic payment (annuity) + * @param float $fv Future Value + * @param int $type Payment type: 0 = at the end of each period, 1 = at the beginning of each period + * @return float + */ + public static function PV($rate = 0, $nper = 0, $pmt = 0, $fv = 0, $type = 0) { + $rate = PHPExcel_Calculation_Functions::flattenSingleValue($rate); + $nper = PHPExcel_Calculation_Functions::flattenSingleValue($nper); + $pmt = PHPExcel_Calculation_Functions::flattenSingleValue($pmt); + $fv = PHPExcel_Calculation_Functions::flattenSingleValue($fv); + $type = PHPExcel_Calculation_Functions::flattenSingleValue($type); + + // Validate parameters + if ($type != 0 && $type != 1) { + return PHPExcel_Calculation_Functions::NaN(); + } + + // Calculate + if (!is_null($rate) && $rate != 0) { + return (-$pmt * (1 + $rate * $type) * ((pow(1 + $rate, $nper) - 1) / $rate) - $fv) / pow(1 + $rate, $nper); + } else { + return -$fv - $pmt * $nper; + } + } // function PV() + + + /** + * RATE + * + * Returns the interest rate per period of an annuity. + * RATE is calculated by iteration and can have zero or more solutions. + * If the successive results of RATE do not converge to within 0.0000001 after 20 iterations, + * RATE returns the #NUM! error value. + * + * Excel Function: + * RATE(nper,pmt,pv[,fv[,type[,guess]]]) + * + * @access public + * @category Financial Functions + * @param float nper The total number of payment periods in an annuity. + * @param float pmt The payment made each period and cannot change over the life + * of the annuity. + * Typically, pmt includes principal and interest but no other + * fees or taxes. + * @param float pv The present value - the total amount that a series of future + * payments is worth now. + * @param float fv The future value, or a cash balance you want to attain after + * the last payment is made. If fv is omitted, it is assumed + * to be 0 (the future value of a loan, for example, is 0). + * @param integer type A number 0 or 1 and indicates when payments are due: + * 0 or omitted At the end of the period. + * 1 At the beginning of the period. + * @param float guess Your guess for what the rate will be. + * If you omit guess, it is assumed to be 10 percent. + * @return float + **/ + public static function RATE($nper, $pmt, $pv, $fv = 0.0, $type = 0, $guess = 0.1) { + $nper = (int) PHPExcel_Calculation_Functions::flattenSingleValue($nper); + $pmt = PHPExcel_Calculation_Functions::flattenSingleValue($pmt); + $pv = PHPExcel_Calculation_Functions::flattenSingleValue($pv); + $fv = (is_null($fv)) ? 0.0 : PHPExcel_Calculation_Functions::flattenSingleValue($fv); + $type = (is_null($type)) ? 0 : (int) PHPExcel_Calculation_Functions::flattenSingleValue($type); + $guess = (is_null($guess)) ? 0.1 : PHPExcel_Calculation_Functions::flattenSingleValue($guess); + + $rate = $guess; + if (abs($rate) < FINANCIAL_PRECISION) { + $y = $pv * (1 + $nper * $rate) + $pmt * (1 + $rate * $type) * $nper + $fv; + } else { + $f = exp($nper * log(1 + $rate)); + $y = $pv * $f + $pmt * (1 / $rate + $type) * ($f - 1) + $fv; + } + $y0 = $pv + $pmt * $nper + $fv; + $y1 = $pv * $f + $pmt * (1 / $rate + $type) * ($f - 1) + $fv; + + // find root by secant method + $i = $x0 = 0.0; + $x1 = $rate; + while ((abs($y0 - $y1) > FINANCIAL_PRECISION) && ($i < FINANCIAL_MAX_ITERATIONS)) { + $rate = ($y1 * $x0 - $y0 * $x1) / ($y1 - $y0); + $x0 = $x1; + $x1 = $rate; + if (($nper * abs($pmt)) > ($pv - $fv)) + $x1 = abs($x1); + + if (abs($rate) < FINANCIAL_PRECISION) { + $y = $pv * (1 + $nper * $rate) + $pmt * (1 + $rate * $type) * $nper + $fv; + } else { + $f = exp($nper * log(1 + $rate)); + $y = $pv * $f + $pmt * (1 / $rate + $type) * ($f - 1) + $fv; + } + + $y0 = $y1; + $y1 = $y; + ++$i; + } + return $rate; + } // function RATE() + + + /** + * RECEIVED + * + * Returns the price per $100 face value of a discounted security. + * + * @param mixed settlement The security's settlement date. + * The security settlement date is the date after the issue date when the security is traded to the buyer. + * @param mixed maturity The security's maturity date. + * The maturity date is the date when the security expires. + * @param int investment The amount invested in the security. + * @param int discount The security's discount rate. + * @param int basis The type of day count to use. + * 0 or omitted US (NASD) 30/360 + * 1 Actual/actual + * 2 Actual/360 + * 3 Actual/365 + * 4 European 30/360 + * @return float + */ + public static function RECEIVED($settlement, $maturity, $investment, $discount, $basis=0) { + $settlement = PHPExcel_Calculation_Functions::flattenSingleValue($settlement); + $maturity = PHPExcel_Calculation_Functions::flattenSingleValue($maturity); + $investment = (float) PHPExcel_Calculation_Functions::flattenSingleValue($investment); + $discount = (float) PHPExcel_Calculation_Functions::flattenSingleValue($discount); + $basis = (int) PHPExcel_Calculation_Functions::flattenSingleValue($basis); + + // Validate + if ((is_numeric($investment)) && (is_numeric($discount)) && (is_numeric($basis))) { + if (($investment <= 0) || ($discount <= 0)) { + return PHPExcel_Calculation_Functions::NaN(); + } + $daysBetweenSettlementAndMaturity = PHPExcel_Calculation_DateTime::YEARFRAC($settlement, $maturity, $basis); + if (!is_numeric($daysBetweenSettlementAndMaturity)) { + // return date error + return $daysBetweenSettlementAndMaturity; + } + + return $investment / ( 1 - ($discount * $daysBetweenSettlementAndMaturity)); + } + return PHPExcel_Calculation_Functions::VALUE(); + } // function RECEIVED() + + + /** + * SLN + * + * Returns the straight-line depreciation of an asset for one period + * + * @param cost Initial cost of the asset + * @param salvage Value at the end of the depreciation + * @param life Number of periods over which the asset is depreciated + * @return float + */ + public static function SLN($cost, $salvage, $life) { + $cost = PHPExcel_Calculation_Functions::flattenSingleValue($cost); + $salvage = PHPExcel_Calculation_Functions::flattenSingleValue($salvage); + $life = PHPExcel_Calculation_Functions::flattenSingleValue($life); + + // Calculate + if ((is_numeric($cost)) && (is_numeric($salvage)) && (is_numeric($life))) { + if ($life < 0) { + return PHPExcel_Calculation_Functions::NaN(); + } + return ($cost - $salvage) / $life; + } + return PHPExcel_Calculation_Functions::VALUE(); + } // function SLN() + + + /** + * SYD + * + * Returns the sum-of-years' digits depreciation of an asset for a specified period. + * + * @param cost Initial cost of the asset + * @param salvage Value at the end of the depreciation + * @param life Number of periods over which the asset is depreciated + * @param period Period + * @return float + */ + public static function SYD($cost, $salvage, $life, $period) { + $cost = PHPExcel_Calculation_Functions::flattenSingleValue($cost); + $salvage = PHPExcel_Calculation_Functions::flattenSingleValue($salvage); + $life = PHPExcel_Calculation_Functions::flattenSingleValue($life); + $period = PHPExcel_Calculation_Functions::flattenSingleValue($period); + + // Calculate + if ((is_numeric($cost)) && (is_numeric($salvage)) && (is_numeric($life)) && (is_numeric($period))) { + if (($life < 1) || ($period > $life)) { + return PHPExcel_Calculation_Functions::NaN(); + } + return (($cost - $salvage) * ($life - $period + 1) * 2) / ($life * ($life + 1)); + } + return PHPExcel_Calculation_Functions::VALUE(); + } // function SYD() + + + /** + * TBILLEQ + * + * Returns the bond-equivalent yield for a Treasury bill. + * + * @param mixed settlement The Treasury bill's settlement date. + * The Treasury bill's settlement date is the date after the issue date when the Treasury bill is traded to the buyer. + * @param mixed maturity The Treasury bill's maturity date. + * The maturity date is the date when the Treasury bill expires. + * @param int discount The Treasury bill's discount rate. + * @return float + */ + public static function TBILLEQ($settlement, $maturity, $discount) { + $settlement = PHPExcel_Calculation_Functions::flattenSingleValue($settlement); + $maturity = PHPExcel_Calculation_Functions::flattenSingleValue($maturity); + $discount = PHPExcel_Calculation_Functions::flattenSingleValue($discount); + + // Use TBILLPRICE for validation + $testValue = self::TBILLPRICE($settlement, $maturity, $discount); + if (is_string($testValue)) { + return $testValue; + } + + if (is_string($maturity = PHPExcel_Calculation_DateTime::_getDateValue($maturity))) { + return PHPExcel_Calculation_Functions::VALUE(); + } + + if (PHPExcel_Calculation_Functions::getCompatibilityMode() == PHPExcel_Calculation_Functions::COMPATIBILITY_OPENOFFICE) { + ++$maturity; + $daysBetweenSettlementAndMaturity = PHPExcel_Calculation_DateTime::YEARFRAC($settlement, $maturity) * 360; + } else { + $daysBetweenSettlementAndMaturity = (PHPExcel_Calculation_DateTime::_getDateValue($maturity) - PHPExcel_Calculation_DateTime::_getDateValue($settlement)); + } + + return (365 * $discount) / (360 - $discount * $daysBetweenSettlementAndMaturity); + } // function TBILLEQ() + + + /** + * TBILLPRICE + * + * Returns the yield for a Treasury bill. + * + * @param mixed settlement The Treasury bill's settlement date. + * The Treasury bill's settlement date is the date after the issue date when the Treasury bill is traded to the buyer. + * @param mixed maturity The Treasury bill's maturity date. + * The maturity date is the date when the Treasury bill expires. + * @param int discount The Treasury bill's discount rate. + * @return float + */ + public static function TBILLPRICE($settlement, $maturity, $discount) { + $settlement = PHPExcel_Calculation_Functions::flattenSingleValue($settlement); + $maturity = PHPExcel_Calculation_Functions::flattenSingleValue($maturity); + $discount = PHPExcel_Calculation_Functions::flattenSingleValue($discount); + + if (is_string($maturity = PHPExcel_Calculation_DateTime::_getDateValue($maturity))) { + return PHPExcel_Calculation_Functions::VALUE(); + } + + // Validate + if (is_numeric($discount)) { + if ($discount <= 0) { + return PHPExcel_Calculation_Functions::NaN(); + } + + if (PHPExcel_Calculation_Functions::getCompatibilityMode() == PHPExcel_Calculation_Functions::COMPATIBILITY_OPENOFFICE) { + ++$maturity; + $daysBetweenSettlementAndMaturity = PHPExcel_Calculation_DateTime::YEARFRAC($settlement, $maturity) * 360; + if (!is_numeric($daysBetweenSettlementAndMaturity)) { + // return date error + return $daysBetweenSettlementAndMaturity; + } + } else { + $daysBetweenSettlementAndMaturity = (PHPExcel_Calculation_DateTime::_getDateValue($maturity) - PHPExcel_Calculation_DateTime::_getDateValue($settlement)); + } + + if ($daysBetweenSettlementAndMaturity > 360) { + return PHPExcel_Calculation_Functions::NaN(); + } + + $price = 100 * (1 - (($discount * $daysBetweenSettlementAndMaturity) / 360)); + if ($price <= 0) { + return PHPExcel_Calculation_Functions::NaN(); + } + return $price; + } + return PHPExcel_Calculation_Functions::VALUE(); + } // function TBILLPRICE() + + + /** + * TBILLYIELD + * + * Returns the yield for a Treasury bill. + * + * @param mixed settlement The Treasury bill's settlement date. + * The Treasury bill's settlement date is the date after the issue date when the Treasury bill is traded to the buyer. + * @param mixed maturity The Treasury bill's maturity date. + * The maturity date is the date when the Treasury bill expires. + * @param int price The Treasury bill's price per $100 face value. + * @return float + */ + public static function TBILLYIELD($settlement, $maturity, $price) { + $settlement = PHPExcel_Calculation_Functions::flattenSingleValue($settlement); + $maturity = PHPExcel_Calculation_Functions::flattenSingleValue($maturity); + $price = PHPExcel_Calculation_Functions::flattenSingleValue($price); + + // Validate + if (is_numeric($price)) { + if ($price <= 0) { + return PHPExcel_Calculation_Functions::NaN(); + } + + if (PHPExcel_Calculation_Functions::getCompatibilityMode() == PHPExcel_Calculation_Functions::COMPATIBILITY_OPENOFFICE) { + ++$maturity; + $daysBetweenSettlementAndMaturity = PHPExcel_Calculation_DateTime::YEARFRAC($settlement, $maturity) * 360; + if (!is_numeric($daysBetweenSettlementAndMaturity)) { + // return date error + return $daysBetweenSettlementAndMaturity; + } + } else { + $daysBetweenSettlementAndMaturity = (PHPExcel_Calculation_DateTime::_getDateValue($maturity) - PHPExcel_Calculation_DateTime::_getDateValue($settlement)); + } + + if ($daysBetweenSettlementAndMaturity > 360) { + return PHPExcel_Calculation_Functions::NaN(); + } + + return ((100 - $price) / $price) * (360 / $daysBetweenSettlementAndMaturity); + } + return PHPExcel_Calculation_Functions::VALUE(); + } // function TBILLYIELD() + + + public static function XIRR($values, $dates, $guess = 0.1) { + if ((!is_array($values)) && (!is_array($dates))) return PHPExcel_Calculation_Functions::VALUE(); + $values = PHPExcel_Calculation_Functions::flattenArray($values); + $dates = PHPExcel_Calculation_Functions::flattenArray($dates); + $guess = PHPExcel_Calculation_Functions::flattenSingleValue($guess); + if (count($values) != count($dates)) return PHPExcel_Calculation_Functions::NaN(); + + // create an initial range, with a root somewhere between 0 and guess + $x1 = 0.0; + $x2 = $guess; + $f1 = self::XNPV($x1, $values, $dates); + $f2 = self::XNPV($x2, $values, $dates); + for ($i = 0; $i < FINANCIAL_MAX_ITERATIONS; ++$i) { + if (($f1 * $f2) < 0.0) break; + if (abs($f1) < abs($f2)) { + $f1 = self::XNPV($x1 += 1.6 * ($x1 - $x2), $values, $dates); + } else { + $f2 = self::XNPV($x2 += 1.6 * ($x2 - $x1), $values, $dates); + } + } + if (($f1 * $f2) > 0.0) return PHPExcel_Calculation_Functions::VALUE(); + + $f = self::XNPV($x1, $values, $dates); + if ($f < 0.0) { + $rtb = $x1; + $dx = $x2 - $x1; + } else { + $rtb = $x2; + $dx = $x1 - $x2; + } + + for ($i = 0; $i < FINANCIAL_MAX_ITERATIONS; ++$i) { + $dx *= 0.5; + $x_mid = $rtb + $dx; + $f_mid = self::XNPV($x_mid, $values, $dates); + if ($f_mid <= 0.0) $rtb = $x_mid; + if ((abs($f_mid) < FINANCIAL_PRECISION) || (abs($dx) < FINANCIAL_PRECISION)) return $x_mid; + } + return PHPExcel_Calculation_Functions::VALUE(); + } + + + /** + * XNPV + * + * Returns the net present value for a schedule of cash flows that is not necessarily periodic. + * To calculate the net present value for a series of cash flows that is periodic, use the NPV function. + * + * Excel Function: + * =XNPV(rate,values,dates) + * + * @param float $rate The discount rate to apply to the cash flows. + * @param array of float $values A series of cash flows that corresponds to a schedule of payments in dates. The first payment is optional and corresponds to a cost or payment that occurs at the beginning of the investment. If the first value is a cost or payment, it must be a negative value. All succeeding payments are discounted based on a 365-day year. The series of values must contain at least one positive value and one negative value. + * @param array of mixed $dates A schedule of payment dates that corresponds to the cash flow payments. The first payment date indicates the beginning of the schedule of payments. All other dates must be later than this date, but they may occur in any order. + * @return float + */ + public static function XNPV($rate, $values, $dates) { + $rate = PHPExcel_Calculation_Functions::flattenSingleValue($rate); + if (!is_numeric($rate)) return PHPExcel_Calculation_Functions::VALUE(); + if ((!is_array($values)) || (!is_array($dates))) return PHPExcel_Calculation_Functions::VALUE(); + $values = PHPExcel_Calculation_Functions::flattenArray($values); + $dates = PHPExcel_Calculation_Functions::flattenArray($dates); + $valCount = count($values); + if ($valCount != count($dates)) return PHPExcel_Calculation_Functions::NaN(); + if ((min($values) > 0) || (max($values) < 0)) return PHPExcel_Calculation_Functions::VALUE(); + + $xnpv = 0.0; + for ($i = 0; $i < $valCount; ++$i) { + if (!is_numeric($values[$i])) return PHPExcel_Calculation_Functions::VALUE(); + $xnpv += $values[$i] / pow(1 + $rate, PHPExcel_Calculation_DateTime::DATEDIF($dates[0],$dates[$i],'d') / 365); + } + return (is_finite($xnpv)) ? $xnpv : PHPExcel_Calculation_Functions::VALUE(); + } // function XNPV() + + + /** + * YIELDDISC + * + * Returns the annual yield of a security that pays interest at maturity. + * + * @param mixed settlement The security's settlement date. + * The security's settlement date is the date after the issue date when the security is traded to the buyer. + * @param mixed maturity The security's maturity date. + * The maturity date is the date when the security expires. + * @param int price The security's price per $100 face value. + * @param int redemption The security's redemption value per $100 face value. + * @param int basis The type of day count to use. + * 0 or omitted US (NASD) 30/360 + * 1 Actual/actual + * 2 Actual/360 + * 3 Actual/365 + * 4 European 30/360 + * @return float + */ + public static function YIELDDISC($settlement, $maturity, $price, $redemption, $basis=0) { + $settlement = PHPExcel_Calculation_Functions::flattenSingleValue($settlement); + $maturity = PHPExcel_Calculation_Functions::flattenSingleValue($maturity); + $price = PHPExcel_Calculation_Functions::flattenSingleValue($price); + $redemption = PHPExcel_Calculation_Functions::flattenSingleValue($redemption); + $basis = (int) PHPExcel_Calculation_Functions::flattenSingleValue($basis); + + // Validate + if (is_numeric($price) && is_numeric($redemption)) { + if (($price <= 0) || ($redemption <= 0)) { + return PHPExcel_Calculation_Functions::NaN(); + } + $daysPerYear = self::_daysPerYear(PHPExcel_Calculation_DateTime::YEAR($settlement),$basis); + if (!is_numeric($daysPerYear)) { + return $daysPerYear; + } + $daysBetweenSettlementAndMaturity = PHPExcel_Calculation_DateTime::YEARFRAC($settlement, $maturity,$basis); + if (!is_numeric($daysBetweenSettlementAndMaturity)) { + // return date error + return $daysBetweenSettlementAndMaturity; + } + $daysBetweenSettlementAndMaturity *= $daysPerYear; + + return (($redemption - $price) / $price) * ($daysPerYear / $daysBetweenSettlementAndMaturity); + } + return PHPExcel_Calculation_Functions::VALUE(); + } // function YIELDDISC() + + + /** + * YIELDMAT + * + * Returns the annual yield of a security that pays interest at maturity. + * + * @param mixed settlement The security's settlement date. + * The security's settlement date is the date after the issue date when the security is traded to the buyer. + * @param mixed maturity The security's maturity date. + * The maturity date is the date when the security expires. + * @param mixed issue The security's issue date. + * @param int rate The security's interest rate at date of issue. + * @param int price The security's price per $100 face value. + * @param int basis The type of day count to use. + * 0 or omitted US (NASD) 30/360 + * 1 Actual/actual + * 2 Actual/360 + * 3 Actual/365 + * 4 European 30/360 + * @return float + */ + public static function YIELDMAT($settlement, $maturity, $issue, $rate, $price, $basis=0) { + $settlement = PHPExcel_Calculation_Functions::flattenSingleValue($settlement); + $maturity = PHPExcel_Calculation_Functions::flattenSingleValue($maturity); + $issue = PHPExcel_Calculation_Functions::flattenSingleValue($issue); + $rate = PHPExcel_Calculation_Functions::flattenSingleValue($rate); + $price = PHPExcel_Calculation_Functions::flattenSingleValue($price); + $basis = (int) PHPExcel_Calculation_Functions::flattenSingleValue($basis); + + // Validate + if (is_numeric($rate) && is_numeric($price)) { + if (($rate <= 0) || ($price <= 0)) { + return PHPExcel_Calculation_Functions::NaN(); + } + $daysPerYear = self::_daysPerYear(PHPExcel_Calculation_DateTime::YEAR($settlement),$basis); + if (!is_numeric($daysPerYear)) { + return $daysPerYear; + } + $daysBetweenIssueAndSettlement = PHPExcel_Calculation_DateTime::YEARFRAC($issue, $settlement, $basis); + if (!is_numeric($daysBetweenIssueAndSettlement)) { + // return date error + return $daysBetweenIssueAndSettlement; + } + $daysBetweenIssueAndSettlement *= $daysPerYear; + $daysBetweenIssueAndMaturity = PHPExcel_Calculation_DateTime::YEARFRAC($issue, $maturity, $basis); + if (!is_numeric($daysBetweenIssueAndMaturity)) { + // return date error + return $daysBetweenIssueAndMaturity; + } + $daysBetweenIssueAndMaturity *= $daysPerYear; + $daysBetweenSettlementAndMaturity = PHPExcel_Calculation_DateTime::YEARFRAC($settlement, $maturity, $basis); + if (!is_numeric($daysBetweenSettlementAndMaturity)) { + // return date error + return $daysBetweenSettlementAndMaturity; + } + $daysBetweenSettlementAndMaturity *= $daysPerYear; + + return ((1 + (($daysBetweenIssueAndMaturity / $daysPerYear) * $rate) - (($price / 100) + (($daysBetweenIssueAndSettlement / $daysPerYear) * $rate))) / + (($price / 100) + (($daysBetweenIssueAndSettlement / $daysPerYear) * $rate))) * + ($daysPerYear / $daysBetweenSettlementAndMaturity); + } + return PHPExcel_Calculation_Functions::VALUE(); + } // function YIELDMAT() + +} // class PHPExcel_Calculation_Financial diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Calculation/FormulaParser.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Calculation/FormulaParser.php new file mode 100644 index 00000000..3884fd20 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Calculation/FormulaParser.php @@ -0,0 +1,614 @@ +<"; + const OPERATORS_POSTFIX = "%"; + + /** + * Formula + * + * @var string + */ + private $_formula; + + /** + * Tokens + * + * @var PHPExcel_Calculation_FormulaToken[] + */ + private $_tokens = array(); + + /** + * Create a new PHPExcel_Calculation_FormulaParser + * + * @param string $pFormula Formula to parse + * @throws PHPExcel_Calculation_Exception + */ + public function __construct($pFormula = '') + { + // Check parameters + if (is_null($pFormula)) { + throw new PHPExcel_Calculation_Exception("Invalid parameter passed: formula"); + } + + // Initialise values + $this->_formula = trim($pFormula); + // Parse! + $this->_parseToTokens(); + } + + /** + * Get Formula + * + * @return string + */ + public function getFormula() { + return $this->_formula; + } + + /** + * Get Token + * + * @param int $pId Token id + * @return string + * @throws PHPExcel_Calculation_Exception + */ + public function getToken($pId = 0) { + if (isset($this->_tokens[$pId])) { + return $this->_tokens[$pId]; + } else { + throw new PHPExcel_Calculation_Exception("Token with id $pId does not exist."); + } + } + + /** + * Get Token count + * + * @return string + */ + public function getTokenCount() { + return count($this->_tokens); + } + + /** + * Get Tokens + * + * @return PHPExcel_Calculation_FormulaToken[] + */ + public function getTokens() { + return $this->_tokens; + } + + /** + * Parse to tokens + */ + private function _parseToTokens() { + // No attempt is made to verify formulas; assumes formulas are derived from Excel, where + // they can only exist if valid; stack overflows/underflows sunk as nulls without exceptions. + + // Check if the formula has a valid starting = + $formulaLength = strlen($this->_formula); + if ($formulaLength < 2 || $this->_formula{0} != '=') return; + + // Helper variables + $tokens1 = $tokens2 = $stack = array(); + $inString = $inPath = $inRange = $inError = false; + $token = $previousToken = $nextToken = null; + + $index = 1; + $value = ''; + + $ERRORS = array("#NULL!", "#DIV/0!", "#VALUE!", "#REF!", "#NAME?", "#NUM!", "#N/A"); + $COMPARATORS_MULTI = array(">=", "<=", "<>"); + + while ($index < $formulaLength) { + // state-dependent character evaluation (order is important) + + // double-quoted strings + // embeds are doubled + // end marks token + if ($inString) { + if ($this->_formula{$index} == PHPExcel_Calculation_FormulaParser::QUOTE_DOUBLE) { + if ((($index + 2) <= $formulaLength) && ($this->_formula{$index + 1} == PHPExcel_Calculation_FormulaParser::QUOTE_DOUBLE)) { + $value .= PHPExcel_Calculation_FormulaParser::QUOTE_DOUBLE; + ++$index; + } else { + $inString = false; + $tokens1[] = new PHPExcel_Calculation_FormulaToken($value, PHPExcel_Calculation_FormulaToken::TOKEN_TYPE_OPERAND, PHPExcel_Calculation_FormulaToken::TOKEN_SUBTYPE_TEXT); + $value = ""; + } + } else { + $value .= $this->_formula{$index}; + } + ++$index; + continue; + } + + // single-quoted strings (links) + // embeds are double + // end does not mark a token + if ($inPath) { + if ($this->_formula{$index} == PHPExcel_Calculation_FormulaParser::QUOTE_SINGLE) { + if ((($index + 2) <= $formulaLength) && ($this->_formula{$index + 1} == PHPExcel_Calculation_FormulaParser::QUOTE_SINGLE)) { + $value .= PHPExcel_Calculation_FormulaParser::QUOTE_SINGLE; + ++$index; + } else { + $inPath = false; + } + } else { + $value .= $this->_formula{$index}; + } + ++$index; + continue; + } + + // bracked strings (R1C1 range index or linked workbook name) + // no embeds (changed to "()" by Excel) + // end does not mark a token + if ($inRange) { + if ($this->_formula{$index} == PHPExcel_Calculation_FormulaParser::BRACKET_CLOSE) { + $inRange = false; + } + $value .= $this->_formula{$index}; + ++$index; + continue; + } + + // error values + // end marks a token, determined from absolute list of values + if ($inError) { + $value .= $this->_formula{$index}; + ++$index; + if (in_array($value, $ERRORS)) { + $inError = false; + $tokens1[] = new PHPExcel_Calculation_FormulaToken($value, PHPExcel_Calculation_FormulaToken::TOKEN_TYPE_OPERAND, PHPExcel_Calculation_FormulaToken::TOKEN_SUBTYPE_ERROR); + $value = ""; + } + continue; + } + + // scientific notation check + if (strpos(PHPExcel_Calculation_FormulaParser::OPERATORS_SN, $this->_formula{$index}) !== false) { + if (strlen($value) > 1) { + if (preg_match("/^[1-9]{1}(\.[0-9]+)?E{1}$/", $this->_formula{$index}) != 0) { + $value .= $this->_formula{$index}; + ++$index; + continue; + } + } + } + + // independent character evaluation (order not important) + + // establish state-dependent character evaluations + if ($this->_formula{$index} == PHPExcel_Calculation_FormulaParser::QUOTE_DOUBLE) { + if (strlen($value > 0)) { // unexpected + $tokens1[] = new PHPExcel_Calculation_FormulaToken($value, PHPExcel_Calculation_FormulaToken::TOKEN_TYPE_UNKNOWN); + $value = ""; + } + $inString = true; + ++$index; + continue; + } + + if ($this->_formula{$index} == PHPExcel_Calculation_FormulaParser::QUOTE_SINGLE) { + if (strlen($value) > 0) { // unexpected + $tokens1[] = new PHPExcel_Calculation_FormulaToken($value, PHPExcel_Calculation_FormulaToken::TOKEN_TYPE_UNKNOWN); + $value = ""; + } + $inPath = true; + ++$index; + continue; + } + + if ($this->_formula{$index} == PHPExcel_Calculation_FormulaParser::BRACKET_OPEN) { + $inRange = true; + $value .= PHPExcel_Calculation_FormulaParser::BRACKET_OPEN; + ++$index; + continue; + } + + if ($this->_formula{$index} == PHPExcel_Calculation_FormulaParser::ERROR_START) { + if (strlen($value) > 0) { // unexpected + $tokens1[] = new PHPExcel_Calculation_FormulaToken($value, PHPExcel_Calculation_FormulaToken::TOKEN_TYPE_UNKNOWN); + $value = ""; + } + $inError = true; + $value .= PHPExcel_Calculation_FormulaParser::ERROR_START; + ++$index; + continue; + } + + // mark start and end of arrays and array rows + if ($this->_formula{$index} == PHPExcel_Calculation_FormulaParser::BRACE_OPEN) { + if (strlen($value) > 0) { // unexpected + $tokens1[] = new PHPExcel_Calculation_FormulaToken($value, PHPExcel_Calculation_FormulaToken::TOKEN_TYPE_UNKNOWN); + $value = ""; + } + + $tmp = new PHPExcel_Calculation_FormulaToken("ARRAY", PHPExcel_Calculation_FormulaToken::TOKEN_TYPE_FUNCTION, PHPExcel_Calculation_FormulaToken::TOKEN_SUBTYPE_START); + $tokens1[] = $tmp; + $stack[] = clone $tmp; + + $tmp = new PHPExcel_Calculation_FormulaToken("ARRAYROW", PHPExcel_Calculation_FormulaToken::TOKEN_TYPE_FUNCTION, PHPExcel_Calculation_FormulaToken::TOKEN_SUBTYPE_START); + $tokens1[] = $tmp; + $stack[] = clone $tmp; + + ++$index; + continue; + } + + if ($this->_formula{$index} == PHPExcel_Calculation_FormulaParser::SEMICOLON) { + if (strlen($value) > 0) { + $tokens1[] = new PHPExcel_Calculation_FormulaToken($value, PHPExcel_Calculation_FormulaToken::TOKEN_TYPE_OPERAND); + $value = ""; + } + + $tmp = array_pop($stack); + $tmp->setValue(""); + $tmp->setTokenSubType(PHPExcel_Calculation_FormulaToken::TOKEN_SUBTYPE_STOP); + $tokens1[] = $tmp; + + $tmp = new PHPExcel_Calculation_FormulaToken(",", PHPExcel_Calculation_FormulaToken::TOKEN_TYPE_ARGUMENT); + $tokens1[] = $tmp; + + $tmp = new PHPExcel_Calculation_FormulaToken("ARRAYROW", PHPExcel_Calculation_FormulaToken::TOKEN_TYPE_FUNCTION, PHPExcel_Calculation_FormulaToken::TOKEN_SUBTYPE_START); + $tokens1[] = $tmp; + $stack[] = clone $tmp; + + ++$index; + continue; + } + + if ($this->_formula{$index} == PHPExcel_Calculation_FormulaParser::BRACE_CLOSE) { + if (strlen($value) > 0) { + $tokens1[] = new PHPExcel_Calculation_FormulaToken($value, PHPExcel_Calculation_FormulaToken::TOKEN_TYPE_OPERAND); + $value = ""; + } + + $tmp = array_pop($stack); + $tmp->setValue(""); + $tmp->setTokenSubType(PHPExcel_Calculation_FormulaToken::TOKEN_SUBTYPE_STOP); + $tokens1[] = $tmp; + + $tmp = array_pop($stack); + $tmp->setValue(""); + $tmp->setTokenSubType(PHPExcel_Calculation_FormulaToken::TOKEN_SUBTYPE_STOP); + $tokens1[] = $tmp; + + ++$index; + continue; + } + + // trim white-space + if ($this->_formula{$index} == PHPExcel_Calculation_FormulaParser::WHITESPACE) { + if (strlen($value) > 0) { + $tokens1[] = new PHPExcel_Calculation_FormulaToken($value, PHPExcel_Calculation_FormulaToken::TOKEN_TYPE_OPERAND); + $value = ""; + } + $tokens1[] = new PHPExcel_Calculation_FormulaToken("", PHPExcel_Calculation_FormulaToken::TOKEN_TYPE_WHITESPACE); + ++$index; + while (($this->_formula{$index} == PHPExcel_Calculation_FormulaParser::WHITESPACE) && ($index < $formulaLength)) { + ++$index; + } + continue; + } + + // multi-character comparators + if (($index + 2) <= $formulaLength) { + if (in_array(substr($this->_formula, $index, 2), $COMPARATORS_MULTI)) { + if (strlen($value) > 0) { + $tokens1[] = new PHPExcel_Calculation_FormulaToken($value, PHPExcel_Calculation_FormulaToken::TOKEN_TYPE_OPERAND); + $value = ""; + } + $tokens1[] = new PHPExcel_Calculation_FormulaToken(substr($this->_formula, $index, 2), PHPExcel_Calculation_FormulaToken::TOKEN_TYPE_OPERATORINFIX, PHPExcel_Calculation_FormulaToken::TOKEN_SUBTYPE_LOGICAL); + $index += 2; + continue; + } + } + + // standard infix operators + if (strpos(PHPExcel_Calculation_FormulaParser::OPERATORS_INFIX, $this->_formula{$index}) !== false) { + if (strlen($value) > 0) { + $tokens1[] =new PHPExcel_Calculation_FormulaToken($value, PHPExcel_Calculation_FormulaToken::TOKEN_TYPE_OPERAND); + $value = ""; + } + $tokens1[] = new PHPExcel_Calculation_FormulaToken($this->_formula{$index}, PHPExcel_Calculation_FormulaToken::TOKEN_TYPE_OPERATORINFIX); + ++$index; + continue; + } + + // standard postfix operators (only one) + if (strpos(PHPExcel_Calculation_FormulaParser::OPERATORS_POSTFIX, $this->_formula{$index}) !== false) { + if (strlen($value) > 0) { + $tokens1[] = new PHPExcel_Calculation_FormulaToken($value, PHPExcel_Calculation_FormulaToken::TOKEN_TYPE_OPERAND); + $value = ""; + } + $tokens1[] = new PHPExcel_Calculation_FormulaToken($this->_formula{$index}, PHPExcel_Calculation_FormulaToken::TOKEN_TYPE_OPERATORPOSTFIX); + ++$index; + continue; + } + + // start subexpression or function + if ($this->_formula{$index} == PHPExcel_Calculation_FormulaParser::PAREN_OPEN) { + if (strlen($value) > 0) { + $tmp = new PHPExcel_Calculation_FormulaToken($value, PHPExcel_Calculation_FormulaToken::TOKEN_TYPE_FUNCTION, PHPExcel_Calculation_FormulaToken::TOKEN_SUBTYPE_START); + $tokens1[] = $tmp; + $stack[] = clone $tmp; + $value = ""; + } else { + $tmp = new PHPExcel_Calculation_FormulaToken("", PHPExcel_Calculation_FormulaToken::TOKEN_TYPE_SUBEXPRESSION, PHPExcel_Calculation_FormulaToken::TOKEN_SUBTYPE_START); + $tokens1[] = $tmp; + $stack[] = clone $tmp; + } + ++$index; + continue; + } + + // function, subexpression, or array parameters, or operand unions + if ($this->_formula{$index} == PHPExcel_Calculation_FormulaParser::COMMA) { + if (strlen($value) > 0) { + $tokens1[] = new PHPExcel_Calculation_FormulaToken($value, PHPExcel_Calculation_FormulaToken::TOKEN_TYPE_OPERAND); + $value = ""; + } + + $tmp = array_pop($stack); + $tmp->setValue(""); + $tmp->setTokenSubType(PHPExcel_Calculation_FormulaToken::TOKEN_SUBTYPE_STOP); + $stack[] = $tmp; + + if ($tmp->getTokenType() == PHPExcel_Calculation_FormulaToken::TOKEN_TYPE_FUNCTION) { + $tokens1[] = new PHPExcel_Calculation_FormulaToken(",", PHPExcel_Calculation_FormulaToken::TOKEN_TYPE_OPERATORINFIX, PHPExcel_Calculation_FormulaToken::TOKEN_SUBTYPE_UNION); + } else { + $tokens1[] = new PHPExcel_Calculation_FormulaToken(",", PHPExcel_Calculation_FormulaToken::TOKEN_TYPE_ARGUMENT); + } + ++$index; + continue; + } + + // stop subexpression + if ($this->_formula{$index} == PHPExcel_Calculation_FormulaParser::PAREN_CLOSE) { + if (strlen($value) > 0) { + $tokens1[] = new PHPExcel_Calculation_FormulaToken($value, PHPExcel_Calculation_FormulaToken::TOKEN_TYPE_OPERAND); + $value = ""; + } + + $tmp = array_pop($stack); + $tmp->setValue(""); + $tmp->setTokenSubType(PHPExcel_Calculation_FormulaToken::TOKEN_SUBTYPE_STOP); + $tokens1[] = $tmp; + + ++$index; + continue; + } + + // token accumulation + $value .= $this->_formula{$index}; + ++$index; + } + + // dump remaining accumulation + if (strlen($value) > 0) { + $tokens1[] = new PHPExcel_Calculation_FormulaToken($value, PHPExcel_Calculation_FormulaToken::TOKEN_TYPE_OPERAND); + } + + // move tokenList to new set, excluding unnecessary white-space tokens and converting necessary ones to intersections + $tokenCount = count($tokens1); + for ($i = 0; $i < $tokenCount; ++$i) { + $token = $tokens1[$i]; + if (isset($tokens1[$i - 1])) { + $previousToken = $tokens1[$i - 1]; + } else { + $previousToken = null; + } + if (isset($tokens1[$i + 1])) { + $nextToken = $tokens1[$i + 1]; + } else { + $nextToken = null; + } + + if (is_null($token)) { + continue; + } + + if ($token->getTokenType() != PHPExcel_Calculation_FormulaToken::TOKEN_TYPE_WHITESPACE) { + $tokens2[] = $token; + continue; + } + + if (is_null($previousToken)) { + continue; + } + + if (! ( + (($previousToken->getTokenType() == PHPExcel_Calculation_FormulaToken::TOKEN_TYPE_FUNCTION) && ($previousToken->getTokenSubType() == PHPExcel_Calculation_FormulaToken::TOKEN_SUBTYPE_STOP)) || + (($previousToken->getTokenType() == PHPExcel_Calculation_FormulaToken::TOKEN_TYPE_SUBEXPRESSION) && ($previousToken->getTokenSubType() == PHPExcel_Calculation_FormulaToken::TOKEN_SUBTYPE_STOP)) || + ($previousToken->getTokenType() == PHPExcel_Calculation_FormulaToken::TOKEN_TYPE_OPERAND) + ) ) { + continue; + } + + if (is_null($nextToken)) { + continue; + } + + if (! ( + (($nextToken->getTokenType() == PHPExcel_Calculation_FormulaToken::TOKEN_TYPE_FUNCTION) && ($nextToken->getTokenSubType() == PHPExcel_Calculation_FormulaToken::TOKEN_SUBTYPE_START)) || + (($nextToken->getTokenType() == PHPExcel_Calculation_FormulaToken::TOKEN_TYPE_SUBEXPRESSION) && ($nextToken->getTokenSubType() == PHPExcel_Calculation_FormulaToken::TOKEN_SUBTYPE_START)) || + ($nextToken->getTokenType() == PHPExcel_Calculation_FormulaToken::TOKEN_TYPE_OPERAND) + ) ) { + continue; + } + + $tokens2[] = new PHPExcel_Calculation_FormulaToken($value, PHPExcel_Calculation_FormulaToken::TOKEN_TYPE_OPERATORINFIX, PHPExcel_Calculation_FormulaToken::TOKEN_SUBTYPE_INTERSECTION); + } + + // move tokens to final list, switching infix "-" operators to prefix when appropriate, switching infix "+" operators + // to noop when appropriate, identifying operand and infix-operator subtypes, and pulling "@" from function names + $this->_tokens = array(); + + $tokenCount = count($tokens2); + for ($i = 0; $i < $tokenCount; ++$i) { + $token = $tokens2[$i]; + if (isset($tokens2[$i - 1])) { + $previousToken = $tokens2[$i - 1]; + } else { + $previousToken = null; + } + if (isset($tokens2[$i + 1])) { + $nextToken = $tokens2[$i + 1]; + } else { + $nextToken = null; + } + + if (is_null($token)) { + continue; + } + + if ($token->getTokenType() == PHPExcel_Calculation_FormulaToken::TOKEN_TYPE_OPERATORINFIX && $token->getValue() == "-") { + if ($i == 0) { + $token->setTokenType(PHPExcel_Calculation_FormulaToken::TOKEN_TYPE_OPERATORPREFIX); + } else if ( + (($previousToken->getTokenType() == PHPExcel_Calculation_FormulaToken::TOKEN_TYPE_FUNCTION) && ($previousToken->getTokenSubType() == PHPExcel_Calculation_FormulaToken::TOKEN_SUBTYPE_STOP)) || + (($previousToken->getTokenType() == PHPExcel_Calculation_FormulaToken::TOKEN_TYPE_SUBEXPRESSION) && ($previousToken->getTokenSubType() == PHPExcel_Calculation_FormulaToken::TOKEN_SUBTYPE_STOP)) || + ($previousToken->getTokenType() == PHPExcel_Calculation_FormulaToken::TOKEN_TYPE_OPERATORPOSTFIX) || + ($previousToken->getTokenType() == PHPExcel_Calculation_FormulaToken::TOKEN_TYPE_OPERAND) + ) { + $token->setTokenSubType(PHPExcel_Calculation_FormulaToken::TOKEN_SUBTYPE_MATH); + } else { + $token->setTokenType(PHPExcel_Calculation_FormulaToken::TOKEN_TYPE_OPERATORPREFIX); + } + + $this->_tokens[] = $token; + continue; + } + + if ($token->getTokenType() == PHPExcel_Calculation_FormulaToken::TOKEN_TYPE_OPERATORINFIX && $token->getValue() == "+") { + if ($i == 0) { + continue; + } else if ( + (($previousToken->getTokenType() == PHPExcel_Calculation_FormulaToken::TOKEN_TYPE_FUNCTION) && ($previousToken->getTokenSubType() == PHPExcel_Calculation_FormulaToken::TOKEN_SUBTYPE_STOP)) || + (($previousToken->getTokenType() == PHPExcel_Calculation_FormulaToken::TOKEN_TYPE_SUBEXPRESSION) && ($previousToken->getTokenSubType() == PHPExcel_Calculation_FormulaToken::TOKEN_SUBTYPE_STOP)) || + ($previousToken->getTokenType() == PHPExcel_Calculation_FormulaToken::TOKEN_TYPE_OPERATORPOSTFIX) || + ($previousToken->getTokenType() == PHPExcel_Calculation_FormulaToken::TOKEN_TYPE_OPERAND) + ) { + $token->setTokenSubType(PHPExcel_Calculation_FormulaToken::TOKEN_SUBTYPE_MATH); + } else { + continue; + } + + $this->_tokens[] = $token; + continue; + } + + if ($token->getTokenType() == PHPExcel_Calculation_FormulaToken::TOKEN_TYPE_OPERATORINFIX && $token->getTokenSubType() == PHPExcel_Calculation_FormulaToken::TOKEN_SUBTYPE_NOTHING) { + if (strpos("<>=", substr($token->getValue(), 0, 1)) !== false) { + $token->setTokenSubType(PHPExcel_Calculation_FormulaToken::TOKEN_SUBTYPE_LOGICAL); + } else if ($token->getValue() == "&") { + $token->setTokenSubType(PHPExcel_Calculation_FormulaToken::TOKEN_SUBTYPE_CONCATENATION); + } else { + $token->setTokenSubType(PHPExcel_Calculation_FormulaToken::TOKEN_SUBTYPE_MATH); + } + + $this->_tokens[] = $token; + continue; + } + + if ($token->getTokenType() == PHPExcel_Calculation_FormulaToken::TOKEN_TYPE_OPERAND && $token->getTokenSubType() == PHPExcel_Calculation_FormulaToken::TOKEN_SUBTYPE_NOTHING) { + if (!is_numeric($token->getValue())) { + if (strtoupper($token->getValue()) == "TRUE" || strtoupper($token->getValue() == "FALSE")) { + $token->setTokenSubType(PHPExcel_Calculation_FormulaToken::TOKEN_SUBTYPE_LOGICAL); + } else { + $token->setTokenSubType(PHPExcel_Calculation_FormulaToken::TOKEN_SUBTYPE_RANGE); + } + } else { + $token->setTokenSubType(PHPExcel_Calculation_FormulaToken::TOKEN_SUBTYPE_NUMBER); + } + + $this->_tokens[] = $token; + continue; + } + + if ($token->getTokenType() == PHPExcel_Calculation_FormulaToken::TOKEN_TYPE_FUNCTION) { + if (strlen($token->getValue() > 0)) { + if (substr($token->getValue(), 0, 1) == "@") { + $token->setValue(substr($token->getValue(), 1)); + } + } + } + + $this->_tokens[] = $token; + } + } +} diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Calculation/FormulaToken.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Calculation/FormulaToken.php new file mode 100644 index 00000000..ad10c00a --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Calculation/FormulaToken.php @@ -0,0 +1,176 @@ +_value = $pValue; + $this->_tokenType = $pTokenType; + $this->_tokenSubType = $pTokenSubType; + } + + /** + * Get Value + * + * @return string + */ + public function getValue() { + return $this->_value; + } + + /** + * Set Value + * + * @param string $value + */ + public function setValue($value) { + $this->_value = $value; + } + + /** + * Get Token Type (represented by TOKEN_TYPE_*) + * + * @return string + */ + public function getTokenType() { + return $this->_tokenType; + } + + /** + * Set Token Type + * + * @param string $value + */ + public function setTokenType($value = PHPExcel_Calculation_FormulaToken::TOKEN_TYPE_UNKNOWN) { + $this->_tokenType = $value; + } + + /** + * Get Token SubType (represented by TOKEN_SUBTYPE_*) + * + * @return string + */ + public function getTokenSubType() { + return $this->_tokenSubType; + } + + /** + * Set Token SubType + * + * @param string $value + */ + public function setTokenSubType($value = PHPExcel_Calculation_FormulaToken::TOKEN_SUBTYPE_NOTHING) { + $this->_tokenSubType = $value; + } +} diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Calculation/Function.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Calculation/Function.php new file mode 100644 index 00000000..1301cd09 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Calculation/Function.php @@ -0,0 +1,149 @@ +_category = $pCategory; + $this->_excelName = $pExcelName; + $this->_phpExcelName = $pPHPExcelName; + } else { + throw new PHPExcel_Calculation_Exception("Invalid parameters passed."); + } + } + + /** + * Get Category (represented by CATEGORY_*) + * + * @return string + */ + public function getCategory() { + return $this->_category; + } + + /** + * Set Category (represented by CATEGORY_*) + * + * @param string $value + * @throws PHPExcel_Calculation_Exception + */ + public function setCategory($value = null) { + if (!is_null($value)) { + $this->_category = $value; + } else { + throw new PHPExcel_Calculation_Exception("Invalid parameter passed."); + } + } + + /** + * Get Excel name + * + * @return string + */ + public function getExcelName() { + return $this->_excelName; + } + + /** + * Set Excel name + * + * @param string $value + */ + public function setExcelName($value) { + $this->_excelName = $value; + } + + /** + * Get PHPExcel name + * + * @return string + */ + public function getPHPExcelName() { + return $this->_phpExcelName; + } + + /** + * Set PHPExcel name + * + * @param string $value + */ + public function setPHPExcelName($value) { + $this->_phpExcelName = $value; + } +} diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Calculation/Functions.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Calculation/Functions.php new file mode 100644 index 00000000..dea1503b --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Calculation/Functions.php @@ -0,0 +1,725 @@ + '#NULL!', + 'divisionbyzero' => '#DIV/0!', + 'value' => '#VALUE!', + 'reference' => '#REF!', + 'name' => '#NAME?', + 'num' => '#NUM!', + 'na' => '#N/A', + 'gettingdata' => '#GETTING_DATA' + ); + + + /** + * Set the Compatibility Mode + * + * @access public + * @category Function Configuration + * @param string $compatibilityMode Compatibility Mode + * Permitted values are: + * PHPExcel_Calculation_Functions::COMPATIBILITY_EXCEL 'Excel' + * PHPExcel_Calculation_Functions::COMPATIBILITY_GNUMERIC 'Gnumeric' + * PHPExcel_Calculation_Functions::COMPATIBILITY_OPENOFFICE 'OpenOfficeCalc' + * @return boolean (Success or Failure) + */ + public static function setCompatibilityMode($compatibilityMode) { + if (($compatibilityMode == self::COMPATIBILITY_EXCEL) || + ($compatibilityMode == self::COMPATIBILITY_GNUMERIC) || + ($compatibilityMode == self::COMPATIBILITY_OPENOFFICE)) { + self::$compatibilityMode = $compatibilityMode; + return True; + } + return False; + } // function setCompatibilityMode() + + + /** + * Return the current Compatibility Mode + * + * @access public + * @category Function Configuration + * @return string Compatibility Mode + * Possible Return values are: + * PHPExcel_Calculation_Functions::COMPATIBILITY_EXCEL 'Excel' + * PHPExcel_Calculation_Functions::COMPATIBILITY_GNUMERIC 'Gnumeric' + * PHPExcel_Calculation_Functions::COMPATIBILITY_OPENOFFICE 'OpenOfficeCalc' + */ + public static function getCompatibilityMode() { + return self::$compatibilityMode; + } // function getCompatibilityMode() + + + /** + * Set the Return Date Format used by functions that return a date/time (Excel, PHP Serialized Numeric or PHP Object) + * + * @access public + * @category Function Configuration + * @param string $returnDateType Return Date Format + * Permitted values are: + * PHPExcel_Calculation_Functions::RETURNDATE_PHP_NUMERIC 'P' + * PHPExcel_Calculation_Functions::RETURNDATE_PHP_OBJECT 'O' + * PHPExcel_Calculation_Functions::RETURNDATE_EXCEL 'E' + * @return boolean Success or failure + */ + public static function setReturnDateType($returnDateType) { + if (($returnDateType == self::RETURNDATE_PHP_NUMERIC) || + ($returnDateType == self::RETURNDATE_PHP_OBJECT) || + ($returnDateType == self::RETURNDATE_EXCEL)) { + self::$ReturnDateType = $returnDateType; + return True; + } + return False; + } // function setReturnDateType() + + + /** + * Return the current Return Date Format for functions that return a date/time (Excel, PHP Serialized Numeric or PHP Object) + * + * @access public + * @category Function Configuration + * @return string Return Date Format + * Possible Return values are: + * PHPExcel_Calculation_Functions::RETURNDATE_PHP_NUMERIC 'P' + * PHPExcel_Calculation_Functions::RETURNDATE_PHP_OBJECT 'O' + * PHPExcel_Calculation_Functions::RETURNDATE_EXCEL 'E' + */ + public static function getReturnDateType() { + return self::$ReturnDateType; + } // function getReturnDateType() + + + /** + * DUMMY + * + * @access public + * @category Error Returns + * @return string #Not Yet Implemented + */ + public static function DUMMY() { + return '#Not Yet Implemented'; + } // function DUMMY() + + + /** + * DIV0 + * + * @access public + * @category Error Returns + * @return string #Not Yet Implemented + */ + public static function DIV0() { + return self::$_errorCodes['divisionbyzero']; + } // function DIV0() + + + /** + * NA + * + * Excel Function: + * =NA() + * + * Returns the error value #N/A + * #N/A is the error value that means "no value is available." + * + * @access public + * @category Logical Functions + * @return string #N/A! + */ + public static function NA() { + return self::$_errorCodes['na']; + } // function NA() + + + /** + * NaN + * + * Returns the error value #NUM! + * + * @access public + * @category Error Returns + * @return string #NUM! + */ + public static function NaN() { + return self::$_errorCodes['num']; + } // function NaN() + + + /** + * NAME + * + * Returns the error value #NAME? + * + * @access public + * @category Error Returns + * @return string #NAME? + */ + public static function NAME() { + return self::$_errorCodes['name']; + } // function NAME() + + + /** + * REF + * + * Returns the error value #REF! + * + * @access public + * @category Error Returns + * @return string #REF! + */ + public static function REF() { + return self::$_errorCodes['reference']; + } // function REF() + + + /** + * NULL + * + * Returns the error value #NULL! + * + * @access public + * @category Error Returns + * @return string #NULL! + */ + public static function NULL() { + return self::$_errorCodes['null']; + } // function NULL() + + + /** + * VALUE + * + * Returns the error value #VALUE! + * + * @access public + * @category Error Returns + * @return string #VALUE! + */ + public static function VALUE() { + return self::$_errorCodes['value']; + } // function VALUE() + + + public static function isMatrixValue($idx) { + return ((substr_count($idx,'.') <= 1) || (preg_match('/\.[A-Z]/',$idx) > 0)); + } + + + public static function isValue($idx) { + return (substr_count($idx,'.') == 0); + } + + + public static function isCellValue($idx) { + return (substr_count($idx,'.') > 1); + } + + + public static function _ifCondition($condition) { + $condition = PHPExcel_Calculation_Functions::flattenSingleValue($condition); + if (!isset($condition{0})) + $condition = '=""'; + if (!in_array($condition{0},array('>', '<', '='))) { + if (!is_numeric($condition)) { $condition = PHPExcel_Calculation::_wrapResult(strtoupper($condition)); } + return '='.$condition; + } else { + preg_match('/([<>=]+)(.*)/',$condition,$matches); + list(,$operator,$operand) = $matches; + + if (!is_numeric($operand)) { + $operand = str_replace('"', '""', $operand); + $operand = PHPExcel_Calculation::_wrapResult(strtoupper($operand)); + } + + return $operator.$operand; + } + } // function _ifCondition() + + + /** + * ERROR_TYPE + * + * @param mixed $value Value to check + * @return boolean + */ + public static function ERROR_TYPE($value = '') { + $value = self::flattenSingleValue($value); + + $i = 1; + foreach(self::$_errorCodes as $errorCode) { + if ($value === $errorCode) { + return $i; + } + ++$i; + } + return self::NA(); + } // function ERROR_TYPE() + + + /** + * IS_BLANK + * + * @param mixed $value Value to check + * @return boolean + */ + public static function IS_BLANK($value = NULL) { + if (!is_null($value)) { + $value = self::flattenSingleValue($value); + } + + return is_null($value); + } // function IS_BLANK() + + + /** + * IS_ERR + * + * @param mixed $value Value to check + * @return boolean + */ + public static function IS_ERR($value = '') { + $value = self::flattenSingleValue($value); + + return self::IS_ERROR($value) && (!self::IS_NA($value)); + } // function IS_ERR() + + + /** + * IS_ERROR + * + * @param mixed $value Value to check + * @return boolean + */ + public static function IS_ERROR($value = '') { + $value = self::flattenSingleValue($value); + + if (!is_string($value)) + return false; + return in_array($value, array_values(self::$_errorCodes)); + } // function IS_ERROR() + + + /** + * IS_NA + * + * @param mixed $value Value to check + * @return boolean + */ + public static function IS_NA($value = '') { + $value = self::flattenSingleValue($value); + + return ($value === self::NA()); + } // function IS_NA() + + + /** + * IS_EVEN + * + * @param mixed $value Value to check + * @return boolean + */ + public static function IS_EVEN($value = NULL) { + $value = self::flattenSingleValue($value); + + if ($value === NULL) + return self::NAME(); + if ((is_bool($value)) || ((is_string($value)) && (!is_numeric($value)))) + return self::VALUE(); + return ($value % 2 == 0); + } // function IS_EVEN() + + + /** + * IS_ODD + * + * @param mixed $value Value to check + * @return boolean + */ + public static function IS_ODD($value = NULL) { + $value = self::flattenSingleValue($value); + + if ($value === NULL) + return self::NAME(); + if ((is_bool($value)) || ((is_string($value)) && (!is_numeric($value)))) + return self::VALUE(); + return (abs($value) % 2 == 1); + } // function IS_ODD() + + + /** + * IS_NUMBER + * + * @param mixed $value Value to check + * @return boolean + */ + public static function IS_NUMBER($value = NULL) { + $value = self::flattenSingleValue($value); + + if (is_string($value)) { + return False; + } + return is_numeric($value); + } // function IS_NUMBER() + + + /** + * IS_LOGICAL + * + * @param mixed $value Value to check + * @return boolean + */ + public static function IS_LOGICAL($value = NULL) { + $value = self::flattenSingleValue($value); + + return is_bool($value); + } // function IS_LOGICAL() + + + /** + * IS_TEXT + * + * @param mixed $value Value to check + * @return boolean + */ + public static function IS_TEXT($value = NULL) { + $value = self::flattenSingleValue($value); + + return (is_string($value) && !self::IS_ERROR($value)); + } // function IS_TEXT() + + + /** + * IS_NONTEXT + * + * @param mixed $value Value to check + * @return boolean + */ + public static function IS_NONTEXT($value = NULL) { + return !self::IS_TEXT($value); + } // function IS_NONTEXT() + + + /** + * VERSION + * + * @return string Version information + */ + public static function VERSION() { + return 'PHPExcel 1.8.1, 2015-04-30'; + } // function VERSION() + + + /** + * N + * + * Returns a value converted to a number + * + * @param value The value you want converted + * @return number N converts values listed in the following table + * If value is or refers to N returns + * A number That number + * A date The serial number of that date + * TRUE 1 + * FALSE 0 + * An error value The error value + * Anything else 0 + */ + public static function N($value = NULL) { + while (is_array($value)) { + $value = array_shift($value); + } + + switch (gettype($value)) { + case 'double' : + case 'float' : + case 'integer' : + return $value; + break; + case 'boolean' : + return (integer) $value; + break; + case 'string' : + // Errors + if ((strlen($value) > 0) && ($value{0} == '#')) { + return $value; + } + break; + } + return 0; + } // function N() + + + /** + * TYPE + * + * Returns a number that identifies the type of a value + * + * @param value The value you want tested + * @return number N converts values listed in the following table + * If value is or refers to N returns + * A number 1 + * Text 2 + * Logical Value 4 + * An error value 16 + * Array or Matrix 64 + */ + public static function TYPE($value = NULL) { + $value = self::flattenArrayIndexed($value); + if (is_array($value) && (count($value) > 1)) { + $a = array_keys($value); + $a = array_pop($a); + // Range of cells is an error + if (self::isCellValue($a)) { + return 16; + // Test for Matrix + } elseif (self::isMatrixValue($a)) { + return 64; + } + } elseif(empty($value)) { + // Empty Cell + return 1; + } + $value = self::flattenSingleValue($value); + + if (($value === NULL) || (is_float($value)) || (is_int($value))) { + return 1; + } elseif(is_bool($value)) { + return 4; + } elseif(is_array($value)) { + return 64; + } elseif(is_string($value)) { + // Errors + if ((strlen($value) > 0) && ($value{0} == '#')) { + return 16; + } + return 2; + } + return 0; + } // function TYPE() + + + /** + * Convert a multi-dimensional array to a simple 1-dimensional array + * + * @param array $array Array to be flattened + * @return array Flattened array + */ + public static function flattenArray($array) { + if (!is_array($array)) { + return (array) $array; + } + + $arrayValues = array(); + foreach ($array as $value) { + if (is_array($value)) { + foreach ($value as $val) { + if (is_array($val)) { + foreach ($val as $v) { + $arrayValues[] = $v; + } + } else { + $arrayValues[] = $val; + } + } + } else { + $arrayValues[] = $value; + } + } + + return $arrayValues; + } // function flattenArray() + + + /** + * Convert a multi-dimensional array to a simple 1-dimensional array, but retain an element of indexing + * + * @param array $array Array to be flattened + * @return array Flattened array + */ + public static function flattenArrayIndexed($array) { + if (!is_array($array)) { + return (array) $array; + } + + $arrayValues = array(); + foreach ($array as $k1 => $value) { + if (is_array($value)) { + foreach ($value as $k2 => $val) { + if (is_array($val)) { + foreach ($val as $k3 => $v) { + $arrayValues[$k1.'.'.$k2.'.'.$k3] = $v; + } + } else { + $arrayValues[$k1.'.'.$k2] = $val; + } + } + } else { + $arrayValues[$k1] = $value; + } + } + + return $arrayValues; + } // function flattenArrayIndexed() + + + /** + * Convert an array to a single scalar value by extracting the first element + * + * @param mixed $value Array or scalar value + * @return mixed + */ + public static function flattenSingleValue($value = '') { + while (is_array($value)) { + $value = array_pop($value); + } + + return $value; + } // function flattenSingleValue() + +} // class PHPExcel_Calculation_Functions + + +// +// There are a few mathematical functions that aren't available on all versions of PHP for all platforms +// These functions aren't available in Windows implementations of PHP prior to version 5.3.0 +// So we test if they do exist for this version of PHP/operating platform; and if not we create them +// +if (!function_exists('acosh')) { + function acosh($x) { + return 2 * log(sqrt(($x + 1) / 2) + sqrt(($x - 1) / 2)); + } // function acosh() +} + +if (!function_exists('asinh')) { + function asinh($x) { + return log($x + sqrt(1 + $x * $x)); + } // function asinh() +} + +if (!function_exists('atanh')) { + function atanh($x) { + return (log(1 + $x) - log(1 - $x)) / 2; + } // function atanh() +} + + +// +// Strangely, PHP doesn't have a mb_str_replace multibyte function +// As we'll only ever use this function with UTF-8 characters, we can simply "hard-code" the character set +// +if ((!function_exists('mb_str_replace')) && + (function_exists('mb_substr')) && (function_exists('mb_strlen')) && (function_exists('mb_strpos'))) { + function mb_str_replace($search, $replace, $subject) { + if(is_array($subject)) { + $ret = array(); + foreach($subject as $key => $val) { + $ret[$key] = mb_str_replace($search, $replace, $val); + } + return $ret; + } + + foreach((array) $search as $key => $s) { + if($s == '' && $s !== 0) { + continue; + } + $r = !is_array($replace) ? $replace : (array_key_exists($key, $replace) ? $replace[$key] : ''); + $pos = mb_strpos($subject, $s, 0, 'UTF-8'); + while($pos !== false) { + $subject = mb_substr($subject, 0, $pos, 'UTF-8') . $r . mb_substr($subject, $pos + mb_strlen($s, 'UTF-8'), 65535, 'UTF-8'); + $pos = mb_strpos($subject, $s, $pos + mb_strlen($r, 'UTF-8'), 'UTF-8'); + } + } + return $subject; + } +} diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Calculation/Logical.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Calculation/Logical.php new file mode 100644 index 00000000..48fdb17f --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Calculation/Logical.php @@ -0,0 +1,288 @@ + $arg) { + // Is it a boolean value? + if (is_bool($arg)) { + $returnValue = $returnValue && $arg; + } elseif ((is_numeric($arg)) && (!is_string($arg))) { + $returnValue = $returnValue && ($arg != 0); + } elseif (is_string($arg)) { + $arg = strtoupper($arg); + if (($arg == 'TRUE') || ($arg == PHPExcel_Calculation::getTRUE())) { + $arg = TRUE; + } elseif (($arg == 'FALSE') || ($arg == PHPExcel_Calculation::getFALSE())) { + $arg = FALSE; + } else { + return PHPExcel_Calculation_Functions::VALUE(); + } + $returnValue = $returnValue && ($arg != 0); + } + } + + // Return + if ($argCount < 0) { + return PHPExcel_Calculation_Functions::VALUE(); + } + return $returnValue; + } // function LOGICAL_AND() + + + /** + * LOGICAL_OR + * + * Returns boolean TRUE if any argument is TRUE; returns FALSE if all arguments are FALSE. + * + * Excel Function: + * =OR(logical1[,logical2[, ...]]) + * + * The arguments must evaluate to logical values such as TRUE or FALSE, or the arguments must be arrays + * or references that contain logical values. + * + * Boolean arguments are treated as True or False as appropriate + * Integer or floating point arguments are treated as True, except for 0 or 0.0 which are False + * If any argument value is a string, or a Null, the function returns a #VALUE! error, unless the string holds + * the value TRUE or FALSE, in which case it is evaluated as the corresponding boolean value + * + * @access public + * @category Logical Functions + * @param mixed $arg,... Data values + * @return boolean The logical OR of the arguments. + */ + public static function LOGICAL_OR() { + // Return value + $returnValue = FALSE; + + // Loop through the arguments + $aArgs = PHPExcel_Calculation_Functions::flattenArray(func_get_args()); + $argCount = -1; + foreach ($aArgs as $argCount => $arg) { + // Is it a boolean value? + if (is_bool($arg)) { + $returnValue = $returnValue || $arg; + } elseif ((is_numeric($arg)) && (!is_string($arg))) { + $returnValue = $returnValue || ($arg != 0); + } elseif (is_string($arg)) { + $arg = strtoupper($arg); + if (($arg == 'TRUE') || ($arg == PHPExcel_Calculation::getTRUE())) { + $arg = TRUE; + } elseif (($arg == 'FALSE') || ($arg == PHPExcel_Calculation::getFALSE())) { + $arg = FALSE; + } else { + return PHPExcel_Calculation_Functions::VALUE(); + } + $returnValue = $returnValue || ($arg != 0); + } + } + + // Return + if ($argCount < 0) { + return PHPExcel_Calculation_Functions::VALUE(); + } + return $returnValue; + } // function LOGICAL_OR() + + + /** + * NOT + * + * Returns the boolean inverse of the argument. + * + * Excel Function: + * =NOT(logical) + * + * The argument must evaluate to a logical value such as TRUE or FALSE + * + * Boolean arguments are treated as True or False as appropriate + * Integer or floating point arguments are treated as True, except for 0 or 0.0 which are False + * If any argument value is a string, or a Null, the function returns a #VALUE! error, unless the string holds + * the value TRUE or FALSE, in which case it is evaluated as the corresponding boolean value + * + * @access public + * @category Logical Functions + * @param mixed $logical A value or expression that can be evaluated to TRUE or FALSE + * @return boolean The boolean inverse of the argument. + */ + public static function NOT($logical=FALSE) { + $logical = PHPExcel_Calculation_Functions::flattenSingleValue($logical); + if (is_string($logical)) { + $logical = strtoupper($logical); + if (($logical == 'TRUE') || ($logical == PHPExcel_Calculation::getTRUE())) { + return FALSE; + } elseif (($logical == 'FALSE') || ($logical == PHPExcel_Calculation::getFALSE())) { + return TRUE; + } else { + return PHPExcel_Calculation_Functions::VALUE(); + } + } + + return !$logical; + } // function NOT() + + /** + * STATEMENT_IF + * + * Returns one value if a condition you specify evaluates to TRUE and another value if it evaluates to FALSE. + * + * Excel Function: + * =IF(condition[,returnIfTrue[,returnIfFalse]]) + * + * Condition is any value or expression that can be evaluated to TRUE or FALSE. + * For example, A10=100 is a logical expression; if the value in cell A10 is equal to 100, + * the expression evaluates to TRUE. Otherwise, the expression evaluates to FALSE. + * This argument can use any comparison calculation operator. + * ReturnIfTrue is the value that is returned if condition evaluates to TRUE. + * For example, if this argument is the text string "Within budget" and the condition argument evaluates to TRUE, + * then the IF function returns the text "Within budget" + * If condition is TRUE and ReturnIfTrue is blank, this argument returns 0 (zero). To display the word TRUE, use + * the logical value TRUE for this argument. + * ReturnIfTrue can be another formula. + * ReturnIfFalse is the value that is returned if condition evaluates to FALSE. + * For example, if this argument is the text string "Over budget" and the condition argument evaluates to FALSE, + * then the IF function returns the text "Over budget". + * If condition is FALSE and ReturnIfFalse is omitted, then the logical value FALSE is returned. + * If condition is FALSE and ReturnIfFalse is blank, then the value 0 (zero) is returned. + * ReturnIfFalse can be another formula. + * + * @access public + * @category Logical Functions + * @param mixed $condition Condition to evaluate + * @param mixed $returnIfTrue Value to return when condition is true + * @param mixed $returnIfFalse Optional value to return when condition is false + * @return mixed The value of returnIfTrue or returnIfFalse determined by condition + */ + public static function STATEMENT_IF($condition = TRUE, $returnIfTrue = 0, $returnIfFalse = FALSE) { + $condition = (is_null($condition)) ? TRUE : (boolean) PHPExcel_Calculation_Functions::flattenSingleValue($condition); + $returnIfTrue = (is_null($returnIfTrue)) ? 0 : PHPExcel_Calculation_Functions::flattenSingleValue($returnIfTrue); + $returnIfFalse = (is_null($returnIfFalse)) ? FALSE : PHPExcel_Calculation_Functions::flattenSingleValue($returnIfFalse); + + return ($condition) ? $returnIfTrue : $returnIfFalse; + } // function STATEMENT_IF() + + + /** + * IFERROR + * + * Excel Function: + * =IFERROR(testValue,errorpart) + * + * @access public + * @category Logical Functions + * @param mixed $testValue Value to check, is also the value returned when no error + * @param mixed $errorpart Value to return when testValue is an error condition + * @return mixed The value of errorpart or testValue determined by error condition + */ + public static function IFERROR($testValue = '', $errorpart = '') { + $testValue = (is_null($testValue)) ? '' : PHPExcel_Calculation_Functions::flattenSingleValue($testValue); + $errorpart = (is_null($errorpart)) ? '' : PHPExcel_Calculation_Functions::flattenSingleValue($errorpart); + + return self::STATEMENT_IF(PHPExcel_Calculation_Functions::IS_ERROR($testValue), $errorpart, $testValue); + } // function IFERROR() + +} // class PHPExcel_Calculation_Logical diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Calculation/LookupRef.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Calculation/LookupRef.php new file mode 100644 index 00000000..75e7f69c --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Calculation/LookupRef.php @@ -0,0 +1,876 @@ + '') { + if (strpos($sheetText,' ') !== False) { $sheetText = "'".$sheetText."'"; } + $sheetText .='!'; + } + if ((!is_bool($referenceStyle)) || $referenceStyle) { + $rowRelative = $columnRelative = '$'; + $column = PHPExcel_Cell::stringFromColumnIndex($column-1); + if (($relativity == 2) || ($relativity == 4)) { $columnRelative = ''; } + if (($relativity == 3) || ($relativity == 4)) { $rowRelative = ''; } + return $sheetText.$columnRelative.$column.$rowRelative.$row; + } else { + if (($relativity == 2) || ($relativity == 4)) { $column = '['.$column.']'; } + if (($relativity == 3) || ($relativity == 4)) { $row = '['.$row.']'; } + return $sheetText.'R'.$row.'C'.$column; + } + } // function CELL_ADDRESS() + + + /** + * COLUMN + * + * Returns the column number of the given cell reference + * If the cell reference is a range of cells, COLUMN returns the column numbers of each column in the reference as a horizontal array. + * If cell reference is omitted, and the function is being called through the calculation engine, then it is assumed to be the + * reference of the cell in which the COLUMN function appears; otherwise this function returns 0. + * + * Excel Function: + * =COLUMN([cellAddress]) + * + * @param cellAddress A reference to a range of cells for which you want the column numbers + * @return integer or array of integer + */ + public static function COLUMN($cellAddress=Null) { + if (is_null($cellAddress) || trim($cellAddress) === '') { return 0; } + + if (is_array($cellAddress)) { + foreach($cellAddress as $columnKey => $value) { + $columnKey = preg_replace('/[^a-z]/i','',$columnKey); + return (integer) PHPExcel_Cell::columnIndexFromString($columnKey); + } + } else { + if (strpos($cellAddress,'!') !== false) { + list($sheet,$cellAddress) = explode('!',$cellAddress); + } + if (strpos($cellAddress,':') !== false) { + list($startAddress,$endAddress) = explode(':',$cellAddress); + $startAddress = preg_replace('/[^a-z]/i','',$startAddress); + $endAddress = preg_replace('/[^a-z]/i','',$endAddress); + $returnValue = array(); + do { + $returnValue[] = (integer) PHPExcel_Cell::columnIndexFromString($startAddress); + } while ($startAddress++ != $endAddress); + return $returnValue; + } else { + $cellAddress = preg_replace('/[^a-z]/i','',$cellAddress); + return (integer) PHPExcel_Cell::columnIndexFromString($cellAddress); + } + } + } // function COLUMN() + + + /** + * COLUMNS + * + * Returns the number of columns in an array or reference. + * + * Excel Function: + * =COLUMNS(cellAddress) + * + * @param cellAddress An array or array formula, or a reference to a range of cells for which you want the number of columns + * @return integer The number of columns in cellAddress + */ + public static function COLUMNS($cellAddress=Null) { + if (is_null($cellAddress) || $cellAddress === '') { + return 1; + } elseif (!is_array($cellAddress)) { + return PHPExcel_Calculation_Functions::VALUE(); + } + + $x = array_keys($cellAddress); + $x = array_shift($x); + $isMatrix = (is_numeric($x)); + list($columns,$rows) = PHPExcel_Calculation::_getMatrixDimensions($cellAddress); + + if ($isMatrix) { + return $rows; + } else { + return $columns; + } + } // function COLUMNS() + + + /** + * ROW + * + * Returns the row number of the given cell reference + * If the cell reference is a range of cells, ROW returns the row numbers of each row in the reference as a vertical array. + * If cell reference is omitted, and the function is being called through the calculation engine, then it is assumed to be the + * reference of the cell in which the ROW function appears; otherwise this function returns 0. + * + * Excel Function: + * =ROW([cellAddress]) + * + * @param cellAddress A reference to a range of cells for which you want the row numbers + * @return integer or array of integer + */ + public static function ROW($cellAddress=Null) { + if (is_null($cellAddress) || trim($cellAddress) === '') { return 0; } + + if (is_array($cellAddress)) { + foreach($cellAddress as $columnKey => $rowValue) { + foreach($rowValue as $rowKey => $cellValue) { + return (integer) preg_replace('/[^0-9]/i','',$rowKey); + } + } + } else { + if (strpos($cellAddress,'!') !== false) { + list($sheet,$cellAddress) = explode('!',$cellAddress); + } + if (strpos($cellAddress,':') !== false) { + list($startAddress,$endAddress) = explode(':',$cellAddress); + $startAddress = preg_replace('/[^0-9]/','',$startAddress); + $endAddress = preg_replace('/[^0-9]/','',$endAddress); + $returnValue = array(); + do { + $returnValue[][] = (integer) $startAddress; + } while ($startAddress++ != $endAddress); + return $returnValue; + } else { + list($cellAddress) = explode(':',$cellAddress); + return (integer) preg_replace('/[^0-9]/','',$cellAddress); + } + } + } // function ROW() + + + /** + * ROWS + * + * Returns the number of rows in an array or reference. + * + * Excel Function: + * =ROWS(cellAddress) + * + * @param cellAddress An array or array formula, or a reference to a range of cells for which you want the number of rows + * @return integer The number of rows in cellAddress + */ + public static function ROWS($cellAddress=Null) { + if (is_null($cellAddress) || $cellAddress === '') { + return 1; + } elseif (!is_array($cellAddress)) { + return PHPExcel_Calculation_Functions::VALUE(); + } + + $i = array_keys($cellAddress); + $isMatrix = (is_numeric(array_shift($i))); + list($columns,$rows) = PHPExcel_Calculation::_getMatrixDimensions($cellAddress); + + if ($isMatrix) { + return $columns; + } else { + return $rows; + } + } // function ROWS() + + + /** + * HYPERLINK + * + * Excel Function: + * =HYPERLINK(linkURL,displayName) + * + * @access public + * @category Logical Functions + * @param string $linkURL Value to check, is also the value returned when no error + * @param string $displayName Value to return when testValue is an error condition + * @param PHPExcel_Cell $pCell The cell to set the hyperlink in + * @return mixed The value of $displayName (or $linkURL if $displayName was blank) + */ + public static function HYPERLINK($linkURL = '', $displayName = null, PHPExcel_Cell $pCell = null) { + $args = func_get_args(); + $pCell = array_pop($args); + + $linkURL = (is_null($linkURL)) ? '' : PHPExcel_Calculation_Functions::flattenSingleValue($linkURL); + $displayName = (is_null($displayName)) ? '' : PHPExcel_Calculation_Functions::flattenSingleValue($displayName); + + if ((!is_object($pCell)) || (trim($linkURL) == '')) { + return PHPExcel_Calculation_Functions::REF(); + } + + if ((is_object($displayName)) || trim($displayName) == '') { + $displayName = $linkURL; + } + + $pCell->getHyperlink()->setUrl($linkURL); + + return $displayName; + } // function HYPERLINK() + + + /** + * INDIRECT + * + * Returns the reference specified by a text string. + * References are immediately evaluated to display their contents. + * + * Excel Function: + * =INDIRECT(cellAddress) + * + * NOTE - INDIRECT() does not yet support the optional a1 parameter introduced in Excel 2010 + * + * @param cellAddress $cellAddress The cell address of the current cell (containing this formula) + * @param PHPExcel_Cell $pCell The current cell (containing this formula) + * @return mixed The cells referenced by cellAddress + * + * @todo Support for the optional a1 parameter introduced in Excel 2010 + * + */ + public static function INDIRECT($cellAddress = NULL, PHPExcel_Cell $pCell = NULL) { + $cellAddress = PHPExcel_Calculation_Functions::flattenSingleValue($cellAddress); + if (is_null($cellAddress) || $cellAddress === '') { + return PHPExcel_Calculation_Functions::REF(); + } + + $cellAddress1 = $cellAddress; + $cellAddress2 = NULL; + if (strpos($cellAddress,':') !== false) { + list($cellAddress1,$cellAddress2) = explode(':',$cellAddress); + } + + if ((!preg_match('/^'.PHPExcel_Calculation::CALCULATION_REGEXP_CELLREF.'$/i', $cellAddress1, $matches)) || + ((!is_null($cellAddress2)) && (!preg_match('/^'.PHPExcel_Calculation::CALCULATION_REGEXP_CELLREF.'$/i', $cellAddress2, $matches)))) { + if (!preg_match('/^'.PHPExcel_Calculation::CALCULATION_REGEXP_NAMEDRANGE.'$/i', $cellAddress1, $matches)) { + return PHPExcel_Calculation_Functions::REF(); + } + + if (strpos($cellAddress,'!') !== FALSE) { + list($sheetName, $cellAddress) = explode('!',$cellAddress); + $sheetName = trim($sheetName, "'"); + $pSheet = $pCell->getWorksheet()->getParent()->getSheetByName($sheetName); + } else { + $pSheet = $pCell->getWorksheet(); + } + + return PHPExcel_Calculation::getInstance()->extractNamedRange($cellAddress, $pSheet, FALSE); + } + + if (strpos($cellAddress,'!') !== FALSE) { + list($sheetName,$cellAddress) = explode('!',$cellAddress); + $sheetName = trim($sheetName, "'"); + $pSheet = $pCell->getWorksheet()->getParent()->getSheetByName($sheetName); + } else { + $pSheet = $pCell->getWorksheet(); + } + + return PHPExcel_Calculation::getInstance()->extractCellRange($cellAddress, $pSheet, FALSE); + } // function INDIRECT() + + + /** + * OFFSET + * + * Returns a reference to a range that is a specified number of rows and columns from a cell or range of cells. + * The reference that is returned can be a single cell or a range of cells. You can specify the number of rows and + * the number of columns to be returned. + * + * Excel Function: + * =OFFSET(cellAddress, rows, cols, [height], [width]) + * + * @param cellAddress The reference from which you want to base the offset. Reference must refer to a cell or + * range of adjacent cells; otherwise, OFFSET returns the #VALUE! error value. + * @param rows The number of rows, up or down, that you want the upper-left cell to refer to. + * Using 5 as the rows argument specifies that the upper-left cell in the reference is + * five rows below reference. Rows can be positive (which means below the starting reference) + * or negative (which means above the starting reference). + * @param cols The number of columns, to the left or right, that you want the upper-left cell of the result + * to refer to. Using 5 as the cols argument specifies that the upper-left cell in the + * reference is five columns to the right of reference. Cols can be positive (which means + * to the right of the starting reference) or negative (which means to the left of the + * starting reference). + * @param height The height, in number of rows, that you want the returned reference to be. Height must be a positive number. + * @param width The width, in number of columns, that you want the returned reference to be. Width must be a positive number. + * @return string A reference to a cell or range of cells + */ + public static function OFFSET($cellAddress=Null,$rows=0,$columns=0,$height=null,$width=null) { + $rows = PHPExcel_Calculation_Functions::flattenSingleValue($rows); + $columns = PHPExcel_Calculation_Functions::flattenSingleValue($columns); + $height = PHPExcel_Calculation_Functions::flattenSingleValue($height); + $width = PHPExcel_Calculation_Functions::flattenSingleValue($width); + if ($cellAddress == Null) { + return 0; + } + + $args = func_get_args(); + $pCell = array_pop($args); + if (!is_object($pCell)) { + return PHPExcel_Calculation_Functions::REF(); + } + + $sheetName = NULL; + if (strpos($cellAddress,"!")) { + list($sheetName,$cellAddress) = explode("!",$cellAddress); + $sheetName = trim($sheetName, "'"); + } + if (strpos($cellAddress,":")) { + list($startCell,$endCell) = explode(":",$cellAddress); + } else { + $startCell = $endCell = $cellAddress; + } + list($startCellColumn,$startCellRow) = PHPExcel_Cell::coordinateFromString($startCell); + list($endCellColumn,$endCellRow) = PHPExcel_Cell::coordinateFromString($endCell); + + $startCellRow += $rows; + $startCellColumn = PHPExcel_Cell::columnIndexFromString($startCellColumn) - 1; + $startCellColumn += $columns; + + if (($startCellRow <= 0) || ($startCellColumn < 0)) { + return PHPExcel_Calculation_Functions::REF(); + } + $endCellColumn = PHPExcel_Cell::columnIndexFromString($endCellColumn) - 1; + if (($width != null) && (!is_object($width))) { + $endCellColumn = $startCellColumn + $width - 1; + } else { + $endCellColumn += $columns; + } + $startCellColumn = PHPExcel_Cell::stringFromColumnIndex($startCellColumn); + + if (($height != null) && (!is_object($height))) { + $endCellRow = $startCellRow + $height - 1; + } else { + $endCellRow += $rows; + } + + if (($endCellRow <= 0) || ($endCellColumn < 0)) { + return PHPExcel_Calculation_Functions::REF(); + } + $endCellColumn = PHPExcel_Cell::stringFromColumnIndex($endCellColumn); + + $cellAddress = $startCellColumn.$startCellRow; + if (($startCellColumn != $endCellColumn) || ($startCellRow != $endCellRow)) { + $cellAddress .= ':'.$endCellColumn.$endCellRow; + } + + if ($sheetName !== NULL) { + $pSheet = $pCell->getWorksheet()->getParent()->getSheetByName($sheetName); + } else { + $pSheet = $pCell->getWorksheet(); + } + + return PHPExcel_Calculation::getInstance()->extractCellRange($cellAddress, $pSheet, False); + } // function OFFSET() + + + /** + * CHOOSE + * + * Uses lookup_value to return a value from the list of value arguments. + * Use CHOOSE to select one of up to 254 values based on the lookup_value. + * + * Excel Function: + * =CHOOSE(index_num, value1, [value2], ...) + * + * @param index_num Specifies which value argument is selected. + * Index_num must be a number between 1 and 254, or a formula or reference to a cell containing a number + * between 1 and 254. + * @param value1... Value1 is required, subsequent values are optional. + * Between 1 to 254 value arguments from which CHOOSE selects a value or an action to perform based on + * index_num. The arguments can be numbers, cell references, defined names, formulas, functions, or + * text. + * @return mixed The selected value + */ + public static function CHOOSE() { + $chooseArgs = func_get_args(); + $chosenEntry = PHPExcel_Calculation_Functions::flattenArray(array_shift($chooseArgs)); + $entryCount = count($chooseArgs) - 1; + + if(is_array($chosenEntry)) { + $chosenEntry = array_shift($chosenEntry); + } + if ((is_numeric($chosenEntry)) && (!is_bool($chosenEntry))) { + --$chosenEntry; + } else { + return PHPExcel_Calculation_Functions::VALUE(); + } + $chosenEntry = floor($chosenEntry); + if (($chosenEntry < 0) || ($chosenEntry > $entryCount)) { + return PHPExcel_Calculation_Functions::VALUE(); + } + + if (is_array($chooseArgs[$chosenEntry])) { + return PHPExcel_Calculation_Functions::flattenArray($chooseArgs[$chosenEntry]); + } else { + return $chooseArgs[$chosenEntry]; + } + } // function CHOOSE() + + + /** + * MATCH + * + * The MATCH function searches for a specified item in a range of cells + * + * Excel Function: + * =MATCH(lookup_value, lookup_array, [match_type]) + * + * @param lookup_value The value that you want to match in lookup_array + * @param lookup_array The range of cells being searched + * @param match_type The number -1, 0, or 1. -1 means above, 0 means exact match, 1 means below. If match_type is 1 or -1, the list has to be ordered. + * @return integer The relative position of the found item + */ + public static function MATCH($lookup_value, $lookup_array, $match_type=1) { + $lookup_array = PHPExcel_Calculation_Functions::flattenArray($lookup_array); + $lookup_value = PHPExcel_Calculation_Functions::flattenSingleValue($lookup_value); + $match_type = (is_null($match_type)) ? 1 : (int) PHPExcel_Calculation_Functions::flattenSingleValue($match_type); + // MATCH is not case sensitive + $lookup_value = strtolower($lookup_value); + + // lookup_value type has to be number, text, or logical values + if ((!is_numeric($lookup_value)) && (!is_string($lookup_value)) && (!is_bool($lookup_value))) { + return PHPExcel_Calculation_Functions::NA(); + } + + // match_type is 0, 1 or -1 + if (($match_type !== 0) && ($match_type !== -1) && ($match_type !== 1)) { + return PHPExcel_Calculation_Functions::NA(); + } + + // lookup_array should not be empty + $lookupArraySize = count($lookup_array); + if ($lookupArraySize <= 0) { + return PHPExcel_Calculation_Functions::NA(); + } + + // lookup_array should contain only number, text, or logical values, or empty (null) cells + foreach($lookup_array as $i => $lookupArrayValue) { + // check the type of the value + if ((!is_numeric($lookupArrayValue)) && (!is_string($lookupArrayValue)) && + (!is_bool($lookupArrayValue)) && (!is_null($lookupArrayValue))) { + return PHPExcel_Calculation_Functions::NA(); + } + // convert strings to lowercase for case-insensitive testing + if (is_string($lookupArrayValue)) { + $lookup_array[$i] = strtolower($lookupArrayValue); + } + if ((is_null($lookupArrayValue)) && (($match_type == 1) || ($match_type == -1))) { + $lookup_array = array_slice($lookup_array,0,$i-1); + } + } + + // if match_type is 1 or -1, the list has to be ordered + if ($match_type == 1) { + asort($lookup_array); + $keySet = array_keys($lookup_array); + } elseif($match_type == -1) { + arsort($lookup_array); + $keySet = array_keys($lookup_array); + } + + // ** + // find the match + // ** + // loop on the cells +// var_dump($lookup_array); +// echo '
'; + foreach($lookup_array as $i => $lookupArrayValue) { + if (($match_type == 0) && ($lookupArrayValue == $lookup_value)) { + // exact match + return ++$i; + } elseif (($match_type == -1) && ($lookupArrayValue <= $lookup_value)) { +// echo '$i = '.$i.' => '; +// var_dump($lookupArrayValue); +// echo '
'; +// echo 'Keyset = '; +// var_dump($keySet); +// echo '
'; + $i = array_search($i,$keySet); +// echo '$i='.$i.'
'; + // if match_type is -1 <=> find the smallest value that is greater than or equal to lookup_value + if ($i < 1){ + // 1st cell was allready smaller than the lookup_value + break; + } else { + // the previous cell was the match + return $keySet[$i-1]+1; + } + } elseif (($match_type == 1) && ($lookupArrayValue >= $lookup_value)) { +// echo '$i = '.$i.' => '; +// var_dump($lookupArrayValue); +// echo '
'; +// echo 'Keyset = '; +// var_dump($keySet); +// echo '
'; + $i = array_search($i,$keySet); +// echo '$i='.$i.'
'; + // if match_type is 1 <=> find the largest value that is less than or equal to lookup_value + if ($i < 1){ + // 1st cell was allready bigger than the lookup_value + break; + } else { + // the previous cell was the match + return $keySet[$i-1]+1; + } + } + } + + // unsuccessful in finding a match, return #N/A error value + return PHPExcel_Calculation_Functions::NA(); + } // function MATCH() + + + /** + * INDEX + * + * Uses an index to choose a value from a reference or array + * + * Excel Function: + * =INDEX(range_array, row_num, [column_num]) + * + * @param range_array A range of cells or an array constant + * @param row_num The row in array from which to return a value. If row_num is omitted, column_num is required. + * @param column_num The column in array from which to return a value. If column_num is omitted, row_num is required. + * @return mixed the value of a specified cell or array of cells + */ + public static function INDEX($arrayValues,$rowNum = 0,$columnNum = 0) { + + if (($rowNum < 0) || ($columnNum < 0)) { + return PHPExcel_Calculation_Functions::VALUE(); + } + + if (!is_array($arrayValues)) { + return PHPExcel_Calculation_Functions::REF(); + } + + $rowKeys = array_keys($arrayValues); + $columnKeys = @array_keys($arrayValues[$rowKeys[0]]); + + if ($columnNum > count($columnKeys)) { + return PHPExcel_Calculation_Functions::VALUE(); + } elseif ($columnNum == 0) { + if ($rowNum == 0) { + return $arrayValues; + } + $rowNum = $rowKeys[--$rowNum]; + $returnArray = array(); + foreach($arrayValues as $arrayColumn) { + if (is_array($arrayColumn)) { + if (isset($arrayColumn[$rowNum])) { + $returnArray[] = $arrayColumn[$rowNum]; + } else { + return $arrayValues[$rowNum]; + } + } else { + return $arrayValues[$rowNum]; + } + } + return $returnArray; + } + $columnNum = $columnKeys[--$columnNum]; + if ($rowNum > count($rowKeys)) { + return PHPExcel_Calculation_Functions::VALUE(); + } elseif ($rowNum == 0) { + return $arrayValues[$columnNum]; + } + $rowNum = $rowKeys[--$rowNum]; + + return $arrayValues[$rowNum][$columnNum]; + } // function INDEX() + + + /** + * TRANSPOSE + * + * @param array $matrixData A matrix of values + * @return array + * + * Unlike the Excel TRANSPOSE function, which will only work on a single row or column, this function will transpose a full matrix. + */ + public static function TRANSPOSE($matrixData) { + $returnMatrix = array(); + if (!is_array($matrixData)) { $matrixData = array(array($matrixData)); } + + $column = 0; + foreach($matrixData as $matrixRow) { + $row = 0; + foreach($matrixRow as $matrixCell) { + $returnMatrix[$row][$column] = $matrixCell; + ++$row; + } + ++$column; + } + return $returnMatrix; + } // function TRANSPOSE() + + + private static function _vlookupSort($a,$b) { + $f = array_keys($a); + $firstColumn = array_shift($f); + if (strtolower($a[$firstColumn]) == strtolower($b[$firstColumn])) { + return 0; + } + return (strtolower($a[$firstColumn]) < strtolower($b[$firstColumn])) ? -1 : 1; + } // function _vlookupSort() + + + /** + * VLOOKUP + * The VLOOKUP function searches for value in the left-most column of lookup_array and returns the value in the same row based on the index_number. + * @param lookup_value The value that you want to match in lookup_array + * @param lookup_array The range of cells being searched + * @param index_number The column number in table_array from which the matching value must be returned. The first column is 1. + * @param not_exact_match Determines if you are looking for an exact match based on lookup_value. + * @return mixed The value of the found cell + */ + public static function VLOOKUP($lookup_value, $lookup_array, $index_number, $not_exact_match=true) { + $lookup_value = PHPExcel_Calculation_Functions::flattenSingleValue($lookup_value); + $index_number = PHPExcel_Calculation_Functions::flattenSingleValue($index_number); + $not_exact_match = PHPExcel_Calculation_Functions::flattenSingleValue($not_exact_match); + + // index_number must be greater than or equal to 1 + if ($index_number < 1) { + return PHPExcel_Calculation_Functions::VALUE(); + } + + // index_number must be less than or equal to the number of columns in lookup_array + if ((!is_array($lookup_array)) || (empty($lookup_array))) { + return PHPExcel_Calculation_Functions::REF(); + } else { + $f = array_keys($lookup_array); + $firstRow = array_pop($f); + if ((!is_array($lookup_array[$firstRow])) || ($index_number > count($lookup_array[$firstRow]))) { + return PHPExcel_Calculation_Functions::REF(); + } else { + $columnKeys = array_keys($lookup_array[$firstRow]); + $returnColumn = $columnKeys[--$index_number]; + $firstColumn = array_shift($columnKeys); + } + } + + if (!$not_exact_match) { + uasort($lookup_array,array('self','_vlookupSort')); + } + + $rowNumber = $rowValue = False; + foreach($lookup_array as $rowKey => $rowData) { + if ((is_numeric($lookup_value) && is_numeric($rowData[$firstColumn]) && ($rowData[$firstColumn] > $lookup_value)) || + (!is_numeric($lookup_value) && !is_numeric($rowData[$firstColumn]) && (strtolower($rowData[$firstColumn]) > strtolower($lookup_value)))) { + break; + } + $rowNumber = $rowKey; + $rowValue = $rowData[$firstColumn]; + } + + if ($rowNumber !== false) { + if ((!$not_exact_match) && ($rowValue != $lookup_value)) { + // if an exact match is required, we have what we need to return an appropriate response + return PHPExcel_Calculation_Functions::NA(); + } else { + // otherwise return the appropriate value + return $lookup_array[$rowNumber][$returnColumn]; + } + } + + return PHPExcel_Calculation_Functions::NA(); + } // function VLOOKUP() + + +/** + * HLOOKUP + * The HLOOKUP function searches for value in the top-most row of lookup_array and returns the value in the same column based on the index_number. + * @param lookup_value The value that you want to match in lookup_array + * @param lookup_array The range of cells being searched + * @param index_number The row number in table_array from which the matching value must be returned. The first row is 1. + * @param not_exact_match Determines if you are looking for an exact match based on lookup_value. + * @return mixed The value of the found cell + */ + public static function HLOOKUP($lookup_value, $lookup_array, $index_number, $not_exact_match=true) { + $lookup_value = PHPExcel_Calculation_Functions::flattenSingleValue($lookup_value); + $index_number = PHPExcel_Calculation_Functions::flattenSingleValue($index_number); + $not_exact_match = PHPExcel_Calculation_Functions::flattenSingleValue($not_exact_match); + + // index_number must be greater than or equal to 1 + if ($index_number < 1) { + return PHPExcel_Calculation_Functions::VALUE(); + } + + // index_number must be less than or equal to the number of columns in lookup_array + if ((!is_array($lookup_array)) || (empty($lookup_array))) { + return PHPExcel_Calculation_Functions::REF(); + } else { + $f = array_keys($lookup_array); + $firstRow = array_pop($f); + if ((!is_array($lookup_array[$firstRow])) || ($index_number > count($lookup_array[$firstRow]))) { + return PHPExcel_Calculation_Functions::REF(); + } else { + $columnKeys = array_keys($lookup_array[$firstRow]); + $firstkey = $f[0] - 1; + $returnColumn = $firstkey + $index_number; + $firstColumn = array_shift($f); + } + } + + if (!$not_exact_match) { + $firstRowH = asort($lookup_array[$firstColumn]); + } + + $rowNumber = $rowValue = False; + foreach($lookup_array[$firstColumn] as $rowKey => $rowData) { + if ((is_numeric($lookup_value) && is_numeric($rowData) && ($rowData > $lookup_value)) || + (!is_numeric($lookup_value) && !is_numeric($rowData) && (strtolower($rowData) > strtolower($lookup_value)))) { + break; + } + $rowNumber = $rowKey; + $rowValue = $rowData; + } + + if ($rowNumber !== false) { + if ((!$not_exact_match) && ($rowValue != $lookup_value)) { + // if an exact match is required, we have what we need to return an appropriate response + return PHPExcel_Calculation_Functions::NA(); + } else { + // otherwise return the appropriate value + return $lookup_array[$returnColumn][$rowNumber]; + } + } + + return PHPExcel_Calculation_Functions::NA(); + } // function HLOOKUP() + + + /** + * LOOKUP + * The LOOKUP function searches for value either from a one-row or one-column range or from an array. + * @param lookup_value The value that you want to match in lookup_array + * @param lookup_vector The range of cells being searched + * @param result_vector The column from which the matching value must be returned + * @return mixed The value of the found cell + */ + public static function LOOKUP($lookup_value, $lookup_vector, $result_vector=null) { + $lookup_value = PHPExcel_Calculation_Functions::flattenSingleValue($lookup_value); + + if (!is_array($lookup_vector)) { + return PHPExcel_Calculation_Functions::NA(); + } + $lookupRows = count($lookup_vector); + $l = array_keys($lookup_vector); + $l = array_shift($l); + $lookupColumns = count($lookup_vector[$l]); + if ((($lookupRows == 1) && ($lookupColumns > 1)) || (($lookupRows == 2) && ($lookupColumns != 2))) { + $lookup_vector = self::TRANSPOSE($lookup_vector); + $lookupRows = count($lookup_vector); + $l = array_keys($lookup_vector); + $lookupColumns = count($lookup_vector[array_shift($l)]); + } + + if (is_null($result_vector)) { + $result_vector = $lookup_vector; + } + $resultRows = count($result_vector); + $l = array_keys($result_vector); + $l = array_shift($l); + $resultColumns = count($result_vector[$l]); + if ((($resultRows == 1) && ($resultColumns > 1)) || (($resultRows == 2) && ($resultColumns != 2))) { + $result_vector = self::TRANSPOSE($result_vector); + $resultRows = count($result_vector); + $r = array_keys($result_vector); + $resultColumns = count($result_vector[array_shift($r)]); + } + + if ($lookupRows == 2) { + $result_vector = array_pop($lookup_vector); + $lookup_vector = array_shift($lookup_vector); + } + if ($lookupColumns != 2) { + foreach($lookup_vector as &$value) { + if (is_array($value)) { + $k = array_keys($value); + $key1 = $key2 = array_shift($k); + $key2++; + $dataValue1 = $value[$key1]; + } else { + $key1 = 0; + $key2 = 1; + $dataValue1 = $value; + } + $dataValue2 = array_shift($result_vector); + if (is_array($dataValue2)) { + $dataValue2 = array_shift($dataValue2); + } + $value = array($key1 => $dataValue1, $key2 => $dataValue2); + } + unset($value); + } + + return self::VLOOKUP($lookup_value,$lookup_vector,2); + } // function LOOKUP() + +} // class PHPExcel_Calculation_LookupRef diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Calculation/MathTrig.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Calculation/MathTrig.php new file mode 100644 index 00000000..689d59ff --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Calculation/MathTrig.php @@ -0,0 +1,1376 @@ + 1; --$i) { + if (($value % $i) == 0) { + $factorArray = array_merge($factorArray,self::_factors($value / $i)); + $factorArray = array_merge($factorArray,self::_factors($i)); + if ($i <= sqrt($value)) { + break; + } + } + } + if (!empty($factorArray)) { + rsort($factorArray); + return $factorArray; + } else { + return array((integer) $value); + } + } // function _factors() + + + private static function _romanCut($num, $n) { + return ($num - ($num % $n ) ) / $n; + } // function _romanCut() + + + /** + * ATAN2 + * + * This function calculates the arc tangent of the two variables x and y. It is similar to + * calculating the arc tangent of y ÷ x, except that the signs of both arguments are used + * to determine the quadrant of the result. + * The arctangent is the angle from the x-axis to a line containing the origin (0, 0) and a + * point with coordinates (xCoordinate, yCoordinate). The angle is given in radians between + * -pi and pi, excluding -pi. + * + * Note that the Excel ATAN2() function accepts its arguments in the reverse order to the standard + * PHP atan2() function, so we need to reverse them here before calling the PHP atan() function. + * + * Excel Function: + * ATAN2(xCoordinate,yCoordinate) + * + * @access public + * @category Mathematical and Trigonometric Functions + * @param float $xCoordinate The x-coordinate of the point. + * @param float $yCoordinate The y-coordinate of the point. + * @return float The inverse tangent of the specified x- and y-coordinates. + */ + public static function ATAN2($xCoordinate = NULL, $yCoordinate = NULL) { + $xCoordinate = PHPExcel_Calculation_Functions::flattenSingleValue($xCoordinate); + $yCoordinate = PHPExcel_Calculation_Functions::flattenSingleValue($yCoordinate); + + $xCoordinate = ($xCoordinate !== NULL) ? $xCoordinate : 0.0; + $yCoordinate = ($yCoordinate !== NULL) ? $yCoordinate : 0.0; + + if (((is_numeric($xCoordinate)) || (is_bool($xCoordinate))) && + ((is_numeric($yCoordinate))) || (is_bool($yCoordinate))) { + $xCoordinate = (float) $xCoordinate; + $yCoordinate = (float) $yCoordinate; + + if (($xCoordinate == 0) && ($yCoordinate == 0)) { + return PHPExcel_Calculation_Functions::DIV0(); + } + + return atan2($yCoordinate, $xCoordinate); + } + return PHPExcel_Calculation_Functions::VALUE(); + } // function ATAN2() + + + /** + * CEILING + * + * Returns number rounded up, away from zero, to the nearest multiple of significance. + * For example, if you want to avoid using pennies in your prices and your product is + * priced at $4.42, use the formula =CEILING(4.42,0.05) to round prices up to the + * nearest nickel. + * + * Excel Function: + * CEILING(number[,significance]) + * + * @access public + * @category Mathematical and Trigonometric Functions + * @param float $number The number you want to round. + * @param float $significance The multiple to which you want to round. + * @return float Rounded Number + */ + public static function CEILING($number, $significance = NULL) { + $number = PHPExcel_Calculation_Functions::flattenSingleValue($number); + $significance = PHPExcel_Calculation_Functions::flattenSingleValue($significance); + + if ((is_null($significance)) && + (PHPExcel_Calculation_Functions::getCompatibilityMode() == PHPExcel_Calculation_Functions::COMPATIBILITY_GNUMERIC)) { + $significance = $number/abs($number); + } + + if ((is_numeric($number)) && (is_numeric($significance))) { + if (($number == 0.0 ) || ($significance == 0.0)) { + return 0.0; + } elseif (self::SIGN($number) == self::SIGN($significance)) { + return ceil($number / $significance) * $significance; + } else { + return PHPExcel_Calculation_Functions::NaN(); + } + } + return PHPExcel_Calculation_Functions::VALUE(); + } // function CEILING() + + + /** + * COMBIN + * + * Returns the number of combinations for a given number of items. Use COMBIN to + * determine the total possible number of groups for a given number of items. + * + * Excel Function: + * COMBIN(numObjs,numInSet) + * + * @access public + * @category Mathematical and Trigonometric Functions + * @param int $numObjs Number of different objects + * @param int $numInSet Number of objects in each combination + * @return int Number of combinations + */ + public static function COMBIN($numObjs, $numInSet) { + $numObjs = PHPExcel_Calculation_Functions::flattenSingleValue($numObjs); + $numInSet = PHPExcel_Calculation_Functions::flattenSingleValue($numInSet); + + if ((is_numeric($numObjs)) && (is_numeric($numInSet))) { + if ($numObjs < $numInSet) { + return PHPExcel_Calculation_Functions::NaN(); + } elseif ($numInSet < 0) { + return PHPExcel_Calculation_Functions::NaN(); + } + return round(self::FACT($numObjs) / self::FACT($numObjs - $numInSet)) / self::FACT($numInSet); + } + return PHPExcel_Calculation_Functions::VALUE(); + } // function COMBIN() + + + /** + * EVEN + * + * Returns number rounded up to the nearest even integer. + * You can use this function for processing items that come in twos. For example, + * a packing crate accepts rows of one or two items. The crate is full when + * the number of items, rounded up to the nearest two, matches the crate's + * capacity. + * + * Excel Function: + * EVEN(number) + * + * @access public + * @category Mathematical and Trigonometric Functions + * @param float $number Number to round + * @return int Rounded Number + */ + public static function EVEN($number) { + $number = PHPExcel_Calculation_Functions::flattenSingleValue($number); + + if (is_null($number)) { + return 0; + } elseif (is_bool($number)) { + $number = (int) $number; + } + + if (is_numeric($number)) { + $significance = 2 * self::SIGN($number); + return (int) self::CEILING($number,$significance); + } + return PHPExcel_Calculation_Functions::VALUE(); + } // function EVEN() + + + /** + * FACT + * + * Returns the factorial of a number. + * The factorial of a number is equal to 1*2*3*...* number. + * + * Excel Function: + * FACT(factVal) + * + * @access public + * @category Mathematical and Trigonometric Functions + * @param float $factVal Factorial Value + * @return int Factorial + */ + public static function FACT($factVal) { + $factVal = PHPExcel_Calculation_Functions::flattenSingleValue($factVal); + + if (is_numeric($factVal)) { + if ($factVal < 0) { + return PHPExcel_Calculation_Functions::NaN(); + } + $factLoop = floor($factVal); + if (PHPExcel_Calculation_Functions::getCompatibilityMode() == PHPExcel_Calculation_Functions::COMPATIBILITY_GNUMERIC) { + if ($factVal > $factLoop) { + return PHPExcel_Calculation_Functions::NaN(); + } + } + + $factorial = 1; + while ($factLoop > 1) { + $factorial *= $factLoop--; + } + return $factorial ; + } + return PHPExcel_Calculation_Functions::VALUE(); + } // function FACT() + + + /** + * FACTDOUBLE + * + * Returns the double factorial of a number. + * + * Excel Function: + * FACTDOUBLE(factVal) + * + * @access public + * @category Mathematical and Trigonometric Functions + * @param float $factVal Factorial Value + * @return int Double Factorial + */ + public static function FACTDOUBLE($factVal) { + $factLoop = PHPExcel_Calculation_Functions::flattenSingleValue($factVal); + + if (is_numeric($factLoop)) { + $factLoop = floor($factLoop); + if ($factVal < 0) { + return PHPExcel_Calculation_Functions::NaN(); + } + $factorial = 1; + while ($factLoop > 1) { + $factorial *= $factLoop--; + --$factLoop; + } + return $factorial ; + } + return PHPExcel_Calculation_Functions::VALUE(); + } // function FACTDOUBLE() + + + /** + * FLOOR + * + * Rounds number down, toward zero, to the nearest multiple of significance. + * + * Excel Function: + * FLOOR(number[,significance]) + * + * @access public + * @category Mathematical and Trigonometric Functions + * @param float $number Number to round + * @param float $significance Significance + * @return float Rounded Number + */ + public static function FLOOR($number, $significance = NULL) { + $number = PHPExcel_Calculation_Functions::flattenSingleValue($number); + $significance = PHPExcel_Calculation_Functions::flattenSingleValue($significance); + + if ((is_null($significance)) && (PHPExcel_Calculation_Functions::getCompatibilityMode() == PHPExcel_Calculation_Functions::COMPATIBILITY_GNUMERIC)) { + $significance = $number/abs($number); + } + + if ((is_numeric($number)) && (is_numeric($significance))) { + if ($significance == 0.0) { + return PHPExcel_Calculation_Functions::DIV0(); + } elseif ($number == 0.0) { + return 0.0; + } elseif (self::SIGN($number) == self::SIGN($significance)) { + return floor($number / $significance) * $significance; + } else { + return PHPExcel_Calculation_Functions::NaN(); + } + } else + + return PHPExcel_Calculation_Functions::VALUE(); + } // function FLOOR() + + + /** + * GCD + * + * Returns the greatest common divisor of a series of numbers. + * The greatest common divisor is the largest integer that divides both + * number1 and number2 without a remainder. + * + * Excel Function: + * GCD(number1[,number2[, ...]]) + * + * @access public + * @category Mathematical and Trigonometric Functions + * @param mixed $arg,... Data values + * @return integer Greatest Common Divisor + */ + public static function GCD() { + $returnValue = 1; + $allValuesFactors = array(); + // Loop through arguments + foreach(PHPExcel_Calculation_Functions::flattenArray(func_get_args()) as $value) { + if (!is_numeric($value)) { + return PHPExcel_Calculation_Functions::VALUE(); + } elseif ($value == 0) { + continue; + } elseif($value < 0) { + return PHPExcel_Calculation_Functions::NaN(); + } + $myFactors = self::_factors($value); + $myCountedFactors = array_count_values($myFactors); + $allValuesFactors[] = $myCountedFactors; + } + $allValuesCount = count($allValuesFactors); + if ($allValuesCount == 0) { + return 0; + } + + $mergedArray = $allValuesFactors[0]; + for ($i=1;$i < $allValuesCount; ++$i) { + $mergedArray = array_intersect_key($mergedArray,$allValuesFactors[$i]); + } + $mergedArrayValues = count($mergedArray); + if ($mergedArrayValues == 0) { + return $returnValue; + } elseif ($mergedArrayValues > 1) { + foreach($mergedArray as $mergedKey => $mergedValue) { + foreach($allValuesFactors as $highestPowerTest) { + foreach($highestPowerTest as $testKey => $testValue) { + if (($testKey == $mergedKey) && ($testValue < $mergedValue)) { + $mergedArray[$mergedKey] = $testValue; + $mergedValue = $testValue; + } + } + } + } + + $returnValue = 1; + foreach($mergedArray as $key => $value) { + $returnValue *= pow($key,$value); + } + return $returnValue; + } else { + $keys = array_keys($mergedArray); + $key = $keys[0]; + $value = $mergedArray[$key]; + foreach($allValuesFactors as $testValue) { + foreach($testValue as $mergedKey => $mergedValue) { + if (($mergedKey == $key) && ($mergedValue < $value)) { + $value = $mergedValue; + } + } + } + return pow($key,$value); + } + } // function GCD() + + + /** + * INT + * + * Casts a floating point value to an integer + * + * Excel Function: + * INT(number) + * + * @access public + * @category Mathematical and Trigonometric Functions + * @param float $number Number to cast to an integer + * @return integer Integer value + */ + public static function INT($number) { + $number = PHPExcel_Calculation_Functions::flattenSingleValue($number); + + if (is_null($number)) { + return 0; + } elseif (is_bool($number)) { + return (int) $number; + } + if (is_numeric($number)) { + return (int) floor($number); + } + return PHPExcel_Calculation_Functions::VALUE(); + } // function INT() + + + /** + * LCM + * + * Returns the lowest common multiplier of a series of numbers + * The least common multiple is the smallest positive integer that is a multiple + * of all integer arguments number1, number2, and so on. Use LCM to add fractions + * with different denominators. + * + * Excel Function: + * LCM(number1[,number2[, ...]]) + * + * @access public + * @category Mathematical and Trigonometric Functions + * @param mixed $arg,... Data values + * @return int Lowest Common Multiplier + */ + public static function LCM() { + $returnValue = 1; + $allPoweredFactors = array(); + // Loop through arguments + foreach(PHPExcel_Calculation_Functions::flattenArray(func_get_args()) as $value) { + if (!is_numeric($value)) { + return PHPExcel_Calculation_Functions::VALUE(); + } + if ($value == 0) { + return 0; + } elseif ($value < 0) { + return PHPExcel_Calculation_Functions::NaN(); + } + $myFactors = self::_factors(floor($value)); + $myCountedFactors = array_count_values($myFactors); + $myPoweredFactors = array(); + foreach($myCountedFactors as $myCountedFactor => $myCountedPower) { + $myPoweredFactors[$myCountedFactor] = pow($myCountedFactor,$myCountedPower); + } + foreach($myPoweredFactors as $myPoweredValue => $myPoweredFactor) { + if (array_key_exists($myPoweredValue,$allPoweredFactors)) { + if ($allPoweredFactors[$myPoweredValue] < $myPoweredFactor) { + $allPoweredFactors[$myPoweredValue] = $myPoweredFactor; + } + } else { + $allPoweredFactors[$myPoweredValue] = $myPoweredFactor; + } + } + } + foreach($allPoweredFactors as $allPoweredFactor) { + $returnValue *= (integer) $allPoweredFactor; + } + return $returnValue; + } // function LCM() + + + /** + * LOG_BASE + * + * Returns the logarithm of a number to a specified base. The default base is 10. + * + * Excel Function: + * LOG(number[,base]) + * + * @access public + * @category Mathematical and Trigonometric Functions + * @param float $number The positive real number for which you want the logarithm + * @param float $base The base of the logarithm. If base is omitted, it is assumed to be 10. + * @return float + */ + public static function LOG_BASE($number = NULL, $base = 10) { + $number = PHPExcel_Calculation_Functions::flattenSingleValue($number); + $base = (is_null($base)) ? 10 : (float) PHPExcel_Calculation_Functions::flattenSingleValue($base); + + if ((!is_numeric($base)) || (!is_numeric($number))) + return PHPExcel_Calculation_Functions::VALUE(); + if (($base <= 0) || ($number <= 0)) + return PHPExcel_Calculation_Functions::NaN(); + return log($number, $base); + } // function LOG_BASE() + + + /** + * MDETERM + * + * Returns the matrix determinant of an array. + * + * Excel Function: + * MDETERM(array) + * + * @access public + * @category Mathematical and Trigonometric Functions + * @param array $matrixValues A matrix of values + * @return float + */ + public static function MDETERM($matrixValues) { + $matrixData = array(); + if (!is_array($matrixValues)) { $matrixValues = array(array($matrixValues)); } + + $row = $maxColumn = 0; + foreach($matrixValues as $matrixRow) { + if (!is_array($matrixRow)) { $matrixRow = array($matrixRow); } + $column = 0; + foreach($matrixRow as $matrixCell) { + if ((is_string($matrixCell)) || ($matrixCell === null)) { + return PHPExcel_Calculation_Functions::VALUE(); + } + $matrixData[$column][$row] = $matrixCell; + ++$column; + } + if ($column > $maxColumn) { $maxColumn = $column; } + ++$row; + } + if ($row != $maxColumn) { return PHPExcel_Calculation_Functions::VALUE(); } + + try { + $matrix = new PHPExcel_Shared_JAMA_Matrix($matrixData); + return $matrix->det(); + } catch (PHPExcel_Exception $ex) { + return PHPExcel_Calculation_Functions::VALUE(); + } + } // function MDETERM() + + + /** + * MINVERSE + * + * Returns the inverse matrix for the matrix stored in an array. + * + * Excel Function: + * MINVERSE(array) + * + * @access public + * @category Mathematical and Trigonometric Functions + * @param array $matrixValues A matrix of values + * @return array + */ + public static function MINVERSE($matrixValues) { + $matrixData = array(); + if (!is_array($matrixValues)) { $matrixValues = array(array($matrixValues)); } + + $row = $maxColumn = 0; + foreach($matrixValues as $matrixRow) { + if (!is_array($matrixRow)) { $matrixRow = array($matrixRow); } + $column = 0; + foreach($matrixRow as $matrixCell) { + if ((is_string($matrixCell)) || ($matrixCell === null)) { + return PHPExcel_Calculation_Functions::VALUE(); + } + $matrixData[$column][$row] = $matrixCell; + ++$column; + } + if ($column > $maxColumn) { $maxColumn = $column; } + ++$row; + } + if ($row != $maxColumn) { return PHPExcel_Calculation_Functions::VALUE(); } + + try { + $matrix = new PHPExcel_Shared_JAMA_Matrix($matrixData); + return $matrix->inverse()->getArray(); + } catch (PHPExcel_Exception $ex) { + return PHPExcel_Calculation_Functions::VALUE(); + } + } // function MINVERSE() + + + /** + * MMULT + * + * @param array $matrixData1 A matrix of values + * @param array $matrixData2 A matrix of values + * @return array + */ + public static function MMULT($matrixData1,$matrixData2) { + $matrixAData = $matrixBData = array(); + if (!is_array($matrixData1)) { $matrixData1 = array(array($matrixData1)); } + if (!is_array($matrixData2)) { $matrixData2 = array(array($matrixData2)); } + + try { + $rowA = 0; + foreach($matrixData1 as $matrixRow) { + if (!is_array($matrixRow)) { $matrixRow = array($matrixRow); } + $columnA = 0; + foreach($matrixRow as $matrixCell) { + if ((!is_numeric($matrixCell)) || ($matrixCell === null)) { + return PHPExcel_Calculation_Functions::VALUE(); + } + $matrixAData[$rowA][$columnA] = $matrixCell; + ++$columnA; + } + ++$rowA; + } + $matrixA = new PHPExcel_Shared_JAMA_Matrix($matrixAData); + $rowB = 0; + foreach($matrixData2 as $matrixRow) { + if (!is_array($matrixRow)) { $matrixRow = array($matrixRow); } + $columnB = 0; + foreach($matrixRow as $matrixCell) { + if ((!is_numeric($matrixCell)) || ($matrixCell === null)) { + return PHPExcel_Calculation_Functions::VALUE(); + } + $matrixBData[$rowB][$columnB] = $matrixCell; + ++$columnB; + } + ++$rowB; + } + $matrixB = new PHPExcel_Shared_JAMA_Matrix($matrixBData); + + if ($columnA != $rowB) { + return PHPExcel_Calculation_Functions::VALUE(); + } + + return $matrixA->times($matrixB)->getArray(); + } catch (PHPExcel_Exception $ex) { + var_dump($ex->getMessage()); + return PHPExcel_Calculation_Functions::VALUE(); + } + } // function MMULT() + + + /** + * MOD + * + * @param int $a Dividend + * @param int $b Divisor + * @return int Remainder + */ + public static function MOD($a = 1, $b = 1) { + $a = PHPExcel_Calculation_Functions::flattenSingleValue($a); + $b = PHPExcel_Calculation_Functions::flattenSingleValue($b); + + if ($b == 0.0) { + return PHPExcel_Calculation_Functions::DIV0(); + } elseif (($a < 0.0) && ($b > 0.0)) { + return $b - fmod(abs($a),$b); + } elseif (($a > 0.0) && ($b < 0.0)) { + return $b + fmod($a,abs($b)); + } + + return fmod($a,$b); + } // function MOD() + + + /** + * MROUND + * + * Rounds a number to the nearest multiple of a specified value + * + * @param float $number Number to round + * @param int $multiple Multiple to which you want to round $number + * @return float Rounded Number + */ + public static function MROUND($number,$multiple) { + $number = PHPExcel_Calculation_Functions::flattenSingleValue($number); + $multiple = PHPExcel_Calculation_Functions::flattenSingleValue($multiple); + + if ((is_numeric($number)) && (is_numeric($multiple))) { + if ($multiple == 0) { + return 0; + } + if ((self::SIGN($number)) == (self::SIGN($multiple))) { + $multiplier = 1 / $multiple; + return round($number * $multiplier) / $multiplier; + } + return PHPExcel_Calculation_Functions::NaN(); + } + return PHPExcel_Calculation_Functions::VALUE(); + } // function MROUND() + + + /** + * MULTINOMIAL + * + * Returns the ratio of the factorial of a sum of values to the product of factorials. + * + * @param array of mixed Data Series + * @return float + */ + public static function MULTINOMIAL() { + $summer = 0; + $divisor = 1; + // Loop through arguments + foreach (PHPExcel_Calculation_Functions::flattenArray(func_get_args()) as $arg) { + // Is it a numeric value? + if (is_numeric($arg)) { + if ($arg < 1) { + return PHPExcel_Calculation_Functions::NaN(); + } + $summer += floor($arg); + $divisor *= self::FACT($arg); + } else { + return PHPExcel_Calculation_Functions::VALUE(); + } + } + + // Return + if ($summer > 0) { + $summer = self::FACT($summer); + return $summer / $divisor; + } + return 0; + } // function MULTINOMIAL() + + + /** + * ODD + * + * Returns number rounded up to the nearest odd integer. + * + * @param float $number Number to round + * @return int Rounded Number + */ + public static function ODD($number) { + $number = PHPExcel_Calculation_Functions::flattenSingleValue($number); + + if (is_null($number)) { + return 1; + } elseif (is_bool($number)) { + $number = (int) $number; + } + + if (is_numeric($number)) { + $significance = self::SIGN($number); + if ($significance == 0) { + return 1; + } + + $result = self::CEILING($number,$significance); + if ($result == self::EVEN($result)) { + $result += $significance; + } + + return (int) $result; + } + return PHPExcel_Calculation_Functions::VALUE(); + } // function ODD() + + + /** + * POWER + * + * Computes x raised to the power y. + * + * @param float $x + * @param float $y + * @return float + */ + public static function POWER($x = 0, $y = 2) { + $x = PHPExcel_Calculation_Functions::flattenSingleValue($x); + $y = PHPExcel_Calculation_Functions::flattenSingleValue($y); + + // Validate parameters + if ($x == 0.0 && $y == 0.0) { + return PHPExcel_Calculation_Functions::NaN(); + } elseif ($x == 0.0 && $y < 0.0) { + return PHPExcel_Calculation_Functions::DIV0(); + } + + // Return + $result = pow($x, $y); + return (!is_nan($result) && !is_infinite($result)) ? $result : PHPExcel_Calculation_Functions::NaN(); + } // function POWER() + + + /** + * PRODUCT + * + * PRODUCT returns the product of all the values and cells referenced in the argument list. + * + * Excel Function: + * PRODUCT(value1[,value2[, ...]]) + * + * @access public + * @category Mathematical and Trigonometric Functions + * @param mixed $arg,... Data values + * @return float + */ + public static function PRODUCT() { + // Return value + $returnValue = null; + + // Loop through arguments + foreach (PHPExcel_Calculation_Functions::flattenArray(func_get_args()) as $arg) { + // Is it a numeric value? + if ((is_numeric($arg)) && (!is_string($arg))) { + if (is_null($returnValue)) { + $returnValue = $arg; + } else { + $returnValue *= $arg; + } + } + } + + // Return + if (is_null($returnValue)) { + return 0; + } + return $returnValue; + } // function PRODUCT() + + + /** + * QUOTIENT + * + * QUOTIENT function returns the integer portion of a division. Numerator is the divided number + * and denominator is the divisor. + * + * Excel Function: + * QUOTIENT(value1[,value2[, ...]]) + * + * @access public + * @category Mathematical and Trigonometric Functions + * @param mixed $arg,... Data values + * @return float + */ + public static function QUOTIENT() { + // Return value + $returnValue = null; + + // Loop through arguments + foreach (PHPExcel_Calculation_Functions::flattenArray(func_get_args()) as $arg) { + // Is it a numeric value? + if ((is_numeric($arg)) && (!is_string($arg))) { + if (is_null($returnValue)) { + $returnValue = ($arg == 0) ? 0 : $arg; + } else { + if (($returnValue == 0) || ($arg == 0)) { + $returnValue = 0; + } else { + $returnValue /= $arg; + } + } + } + } + + // Return + return intval($returnValue); + } // function QUOTIENT() + + + /** + * RAND + * + * @param int $min Minimal value + * @param int $max Maximal value + * @return int Random number + */ + public static function RAND($min = 0, $max = 0) { + $min = PHPExcel_Calculation_Functions::flattenSingleValue($min); + $max = PHPExcel_Calculation_Functions::flattenSingleValue($max); + + if ($min == 0 && $max == 0) { + return (mt_rand(0,10000000)) / 10000000; + } else { + return mt_rand($min, $max); + } + } // function RAND() + + + public static function ROMAN($aValue, $style=0) { + $aValue = PHPExcel_Calculation_Functions::flattenSingleValue($aValue); + $style = (is_null($style)) ? 0 : (integer) PHPExcel_Calculation_Functions::flattenSingleValue($style); + if ((!is_numeric($aValue)) || ($aValue < 0) || ($aValue >= 4000)) { + return PHPExcel_Calculation_Functions::VALUE(); + } + $aValue = (integer) $aValue; + if ($aValue == 0) { + return ''; + } + + $mill = Array('', 'M', 'MM', 'MMM', 'MMMM', 'MMMMM'); + $cent = Array('', 'C', 'CC', 'CCC', 'CD', 'D', 'DC', 'DCC', 'DCCC', 'CM'); + $tens = Array('', 'X', 'XX', 'XXX', 'XL', 'L', 'LX', 'LXX', 'LXXX', 'XC'); + $ones = Array('', 'I', 'II', 'III', 'IV', 'V', 'VI', 'VII', 'VIII', 'IX'); + + $roman = ''; + while ($aValue > 5999) { + $roman .= 'M'; + $aValue -= 1000; + } + $m = self::_romanCut($aValue, 1000); $aValue %= 1000; + $c = self::_romanCut($aValue, 100); $aValue %= 100; + $t = self::_romanCut($aValue, 10); $aValue %= 10; + + return $roman.$mill[$m].$cent[$c].$tens[$t].$ones[$aValue]; + } // function ROMAN() + + + /** + * ROUNDUP + * + * Rounds a number up to a specified number of decimal places + * + * @param float $number Number to round + * @param int $digits Number of digits to which you want to round $number + * @return float Rounded Number + */ + public static function ROUNDUP($number,$digits) { + $number = PHPExcel_Calculation_Functions::flattenSingleValue($number); + $digits = PHPExcel_Calculation_Functions::flattenSingleValue($digits); + + if ((is_numeric($number)) && (is_numeric($digits))) { + $significance = pow(10,(int) $digits); + if ($number < 0.0) { + return floor($number * $significance) / $significance; + } else { + return ceil($number * $significance) / $significance; + } + } + return PHPExcel_Calculation_Functions::VALUE(); + } // function ROUNDUP() + + + /** + * ROUNDDOWN + * + * Rounds a number down to a specified number of decimal places + * + * @param float $number Number to round + * @param int $digits Number of digits to which you want to round $number + * @return float Rounded Number + */ + public static function ROUNDDOWN($number,$digits) { + $number = PHPExcel_Calculation_Functions::flattenSingleValue($number); + $digits = PHPExcel_Calculation_Functions::flattenSingleValue($digits); + + if ((is_numeric($number)) && (is_numeric($digits))) { + $significance = pow(10,(int) $digits); + if ($number < 0.0) { + return ceil($number * $significance) / $significance; + } else { + return floor($number * $significance) / $significance; + } + } + return PHPExcel_Calculation_Functions::VALUE(); + } // function ROUNDDOWN() + + + /** + * SERIESSUM + * + * Returns the sum of a power series + * + * @param float $x Input value to the power series + * @param float $n Initial power to which you want to raise $x + * @param float $m Step by which to increase $n for each term in the series + * @param array of mixed Data Series + * @return float + */ + public static function SERIESSUM() { + // Return value + $returnValue = 0; + + // Loop through arguments + $aArgs = PHPExcel_Calculation_Functions::flattenArray(func_get_args()); + + $x = array_shift($aArgs); + $n = array_shift($aArgs); + $m = array_shift($aArgs); + + if ((is_numeric($x)) && (is_numeric($n)) && (is_numeric($m))) { + // Calculate + $i = 0; + foreach($aArgs as $arg) { + // Is it a numeric value? + if ((is_numeric($arg)) && (!is_string($arg))) { + $returnValue += $arg * pow($x,$n + ($m * $i++)); + } else { + return PHPExcel_Calculation_Functions::VALUE(); + } + } + // Return + return $returnValue; + } + return PHPExcel_Calculation_Functions::VALUE(); + } // function SERIESSUM() + + + /** + * SIGN + * + * Determines the sign of a number. Returns 1 if the number is positive, zero (0) + * if the number is 0, and -1 if the number is negative. + * + * @param float $number Number to round + * @return int sign value + */ + public static function SIGN($number) { + $number = PHPExcel_Calculation_Functions::flattenSingleValue($number); + + if (is_bool($number)) + return (int) $number; + if (is_numeric($number)) { + if ($number == 0.0) { + return 0; + } + return $number / abs($number); + } + return PHPExcel_Calculation_Functions::VALUE(); + } // function SIGN() + + + /** + * SQRTPI + * + * Returns the square root of (number * pi). + * + * @param float $number Number + * @return float Square Root of Number * Pi + */ + public static function SQRTPI($number) { + $number = PHPExcel_Calculation_Functions::flattenSingleValue($number); + + if (is_numeric($number)) { + if ($number < 0) { + return PHPExcel_Calculation_Functions::NaN(); + } + return sqrt($number * M_PI) ; + } + return PHPExcel_Calculation_Functions::VALUE(); + } // function SQRTPI() + + + /** + * SUBTOTAL + * + * Returns a subtotal in a list or database. + * + * @param int the number 1 to 11 that specifies which function to + * use in calculating subtotals within a list. + * @param array of mixed Data Series + * @return float + */ + public static function SUBTOTAL() { + $aArgs = PHPExcel_Calculation_Functions::flattenArray(func_get_args()); + + // Calculate + $subtotal = array_shift($aArgs); + + if ((is_numeric($subtotal)) && (!is_string($subtotal))) { + switch($subtotal) { + case 1 : + return PHPExcel_Calculation_Statistical::AVERAGE($aArgs); + break; + case 2 : + return PHPExcel_Calculation_Statistical::COUNT($aArgs); + break; + case 3 : + return PHPExcel_Calculation_Statistical::COUNTA($aArgs); + break; + case 4 : + return PHPExcel_Calculation_Statistical::MAX($aArgs); + break; + case 5 : + return PHPExcel_Calculation_Statistical::MIN($aArgs); + break; + case 6 : + return self::PRODUCT($aArgs); + break; + case 7 : + return PHPExcel_Calculation_Statistical::STDEV($aArgs); + break; + case 8 : + return PHPExcel_Calculation_Statistical::STDEVP($aArgs); + break; + case 9 : + return self::SUM($aArgs); + break; + case 10 : + return PHPExcel_Calculation_Statistical::VARFunc($aArgs); + break; + case 11 : + return PHPExcel_Calculation_Statistical::VARP($aArgs); + break; + } + } + return PHPExcel_Calculation_Functions::VALUE(); + } // function SUBTOTAL() + + + /** + * SUM + * + * SUM computes the sum of all the values and cells referenced in the argument list. + * + * Excel Function: + * SUM(value1[,value2[, ...]]) + * + * @access public + * @category Mathematical and Trigonometric Functions + * @param mixed $arg,... Data values + * @return float + */ + public static function SUM() { + // Return value + $returnValue = 0; + + // Loop through the arguments + foreach (PHPExcel_Calculation_Functions::flattenArray(func_get_args()) as $arg) { + // Is it a numeric value? + if ((is_numeric($arg)) && (!is_string($arg))) { + $returnValue += $arg; + } + } + + // Return + return $returnValue; + } // function SUM() + + + /** + * SUMIF + * + * Counts the number of cells that contain numbers within the list of arguments + * + * Excel Function: + * SUMIF(value1[,value2[, ...]],condition) + * + * @access public + * @category Mathematical and Trigonometric Functions + * @param mixed $arg,... Data values + * @param string $condition The criteria that defines which cells will be summed. + * @return float + */ + public static function SUMIF($aArgs,$condition,$sumArgs = array()) { + // Return value + $returnValue = 0; + + $aArgs = PHPExcel_Calculation_Functions::flattenArray($aArgs); + $sumArgs = PHPExcel_Calculation_Functions::flattenArray($sumArgs); + if (empty($sumArgs)) { + $sumArgs = $aArgs; + } + $condition = PHPExcel_Calculation_Functions::_ifCondition($condition); + // Loop through arguments + foreach ($aArgs as $key => $arg) { + if (!is_numeric($arg)) { + $arg = str_replace('"', '""', $arg); + $arg = PHPExcel_Calculation::_wrapResult(strtoupper($arg)); + } + + $testCondition = '='.$arg.$condition; + if (PHPExcel_Calculation::getInstance()->_calculateFormulaValue($testCondition)) { + // Is it a value within our criteria + $returnValue += $sumArgs[$key]; + } + } + + // Return + return $returnValue; + } // function SUMIF() + + + /** + * SUMPRODUCT + * + * Excel Function: + * SUMPRODUCT(value1[,value2[, ...]]) + * + * @access public + * @category Mathematical and Trigonometric Functions + * @param mixed $arg,... Data values + * @return float + */ + public static function SUMPRODUCT() { + $arrayList = func_get_args(); + + $wrkArray = PHPExcel_Calculation_Functions::flattenArray(array_shift($arrayList)); + $wrkCellCount = count($wrkArray); + + for ($i=0; $i< $wrkCellCount; ++$i) { + if ((!is_numeric($wrkArray[$i])) || (is_string($wrkArray[$i]))) { + $wrkArray[$i] = 0; + } + } + + foreach($arrayList as $matrixData) { + $array2 = PHPExcel_Calculation_Functions::flattenArray($matrixData); + $count = count($array2); + if ($wrkCellCount != $count) { + return PHPExcel_Calculation_Functions::VALUE(); + } + + foreach ($array2 as $i => $val) { + if ((!is_numeric($val)) || (is_string($val))) { + $val = 0; + } + $wrkArray[$i] *= $val; + } + } + + return array_sum($wrkArray); + } // function SUMPRODUCT() + + + /** + * SUMSQ + * + * SUMSQ returns the sum of the squares of the arguments + * + * Excel Function: + * SUMSQ(value1[,value2[, ...]]) + * + * @access public + * @category Mathematical and Trigonometric Functions + * @param mixed $arg,... Data values + * @return float + */ + public static function SUMSQ() { + // Return value + $returnValue = 0; + + // Loop through arguments + foreach (PHPExcel_Calculation_Functions::flattenArray(func_get_args()) as $arg) { + // Is it a numeric value? + if ((is_numeric($arg)) && (!is_string($arg))) { + $returnValue += ($arg * $arg); + } + } + + // Return + return $returnValue; + } // function SUMSQ() + + + /** + * SUMX2MY2 + * + * @param mixed[] $matrixData1 Matrix #1 + * @param mixed[] $matrixData2 Matrix #2 + * @return float + */ + public static function SUMX2MY2($matrixData1,$matrixData2) { + $array1 = PHPExcel_Calculation_Functions::flattenArray($matrixData1); + $array2 = PHPExcel_Calculation_Functions::flattenArray($matrixData2); + $count1 = count($array1); + $count2 = count($array2); + if ($count1 < $count2) { + $count = $count1; + } else { + $count = $count2; + } + + $result = 0; + for ($i = 0; $i < $count; ++$i) { + if (((is_numeric($array1[$i])) && (!is_string($array1[$i]))) && + ((is_numeric($array2[$i])) && (!is_string($array2[$i])))) { + $result += ($array1[$i] * $array1[$i]) - ($array2[$i] * $array2[$i]); + } + } + + return $result; + } // function SUMX2MY2() + + + /** + * SUMX2PY2 + * + * @param mixed[] $matrixData1 Matrix #1 + * @param mixed[] $matrixData2 Matrix #2 + * @return float + */ + public static function SUMX2PY2($matrixData1,$matrixData2) { + $array1 = PHPExcel_Calculation_Functions::flattenArray($matrixData1); + $array2 = PHPExcel_Calculation_Functions::flattenArray($matrixData2); + $count1 = count($array1); + $count2 = count($array2); + if ($count1 < $count2) { + $count = $count1; + } else { + $count = $count2; + } + + $result = 0; + for ($i = 0; $i < $count; ++$i) { + if (((is_numeric($array1[$i])) && (!is_string($array1[$i]))) && + ((is_numeric($array2[$i])) && (!is_string($array2[$i])))) { + $result += ($array1[$i] * $array1[$i]) + ($array2[$i] * $array2[$i]); + } + } + + return $result; + } // function SUMX2PY2() + + + /** + * SUMXMY2 + * + * @param mixed[] $matrixData1 Matrix #1 + * @param mixed[] $matrixData2 Matrix #2 + * @return float + */ + public static function SUMXMY2($matrixData1,$matrixData2) { + $array1 = PHPExcel_Calculation_Functions::flattenArray($matrixData1); + $array2 = PHPExcel_Calculation_Functions::flattenArray($matrixData2); + $count1 = count($array1); + $count2 = count($array2); + if ($count1 < $count2) { + $count = $count1; + } else { + $count = $count2; + } + + $result = 0; + for ($i = 0; $i < $count; ++$i) { + if (((is_numeric($array1[$i])) && (!is_string($array1[$i]))) && + ((is_numeric($array2[$i])) && (!is_string($array2[$i])))) { + $result += ($array1[$i] - $array2[$i]) * ($array1[$i] - $array2[$i]); + } + } + + return $result; + } // function SUMXMY2() + + + /** + * TRUNC + * + * Truncates value to the number of fractional digits by number_digits. + * + * @param float $value + * @param int $digits + * @return float Truncated value + */ + public static function TRUNC($value = 0, $digits = 0) { + $value = PHPExcel_Calculation_Functions::flattenSingleValue($value); + $digits = PHPExcel_Calculation_Functions::flattenSingleValue($digits); + + // Validate parameters + if ((!is_numeric($value)) || (!is_numeric($digits))) + return PHPExcel_Calculation_Functions::VALUE(); + $digits = floor($digits); + + // Truncate + $adjust = pow(10, $digits); + + if (($digits > 0) && (rtrim(intval((abs($value) - abs(intval($value))) * $adjust),'0') < $adjust/10)) + return $value; + + return (intval($value * $adjust)) / $adjust; + } // function TRUNC() + +} // class PHPExcel_Calculation_MathTrig diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Calculation/Statistical.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Calculation/Statistical.php new file mode 100644 index 00000000..67e1951c --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Calculation/Statistical.php @@ -0,0 +1,3651 @@ + $value) { + if ((is_bool($value)) || (is_string($value)) || (is_null($value))) { + unset($array1[$key]); + unset($array2[$key]); + } + } + foreach($array2 as $key => $value) { + if ((is_bool($value)) || (is_string($value)) || (is_null($value))) { + unset($array1[$key]); + unset($array2[$key]); + } + } + $array1 = array_merge($array1); + $array2 = array_merge($array2); + + return True; + } // function _checkTrendArrays() + + + /** + * Beta function. + * + * @author Jaco van Kooten + * + * @param p require p>0 + * @param q require q>0 + * @return 0 if p<=0, q<=0 or p+q>2.55E305 to avoid errors and over/underflow + */ + private static function _beta($p, $q) { + if ($p <= 0.0 || $q <= 0.0 || ($p + $q) > LOG_GAMMA_X_MAX_VALUE) { + return 0.0; + } else { + return exp(self::_logBeta($p, $q)); + } + } // function _beta() + + + /** + * Incomplete beta function + * + * @author Jaco van Kooten + * @author Paul Meagher + * + * The computation is based on formulas from Numerical Recipes, Chapter 6.4 (W.H. Press et al, 1992). + * @param x require 0<=x<=1 + * @param p require p>0 + * @param q require q>0 + * @return 0 if x<0, p<=0, q<=0 or p+q>2.55E305 and 1 if x>1 to avoid errors and over/underflow + */ + private static function _incompleteBeta($x, $p, $q) { + if ($x <= 0.0) { + return 0.0; + } elseif ($x >= 1.0) { + return 1.0; + } elseif (($p <= 0.0) || ($q <= 0.0) || (($p + $q) > LOG_GAMMA_X_MAX_VALUE)) { + return 0.0; + } + $beta_gam = exp((0 - self::_logBeta($p, $q)) + $p * log($x) + $q * log(1.0 - $x)); + if ($x < ($p + 1.0) / ($p + $q + 2.0)) { + return $beta_gam * self::_betaFraction($x, $p, $q) / $p; + } else { + return 1.0 - ($beta_gam * self::_betaFraction(1 - $x, $q, $p) / $q); + } + } // function _incompleteBeta() + + + // Function cache for _logBeta function + private static $_logBetaCache_p = 0.0; + private static $_logBetaCache_q = 0.0; + private static $_logBetaCache_result = 0.0; + + /** + * The natural logarithm of the beta function. + * + * @param p require p>0 + * @param q require q>0 + * @return 0 if p<=0, q<=0 or p+q>2.55E305 to avoid errors and over/underflow + * @author Jaco van Kooten + */ + private static function _logBeta($p, $q) { + if ($p != self::$_logBetaCache_p || $q != self::$_logBetaCache_q) { + self::$_logBetaCache_p = $p; + self::$_logBetaCache_q = $q; + if (($p <= 0.0) || ($q <= 0.0) || (($p + $q) > LOG_GAMMA_X_MAX_VALUE)) { + self::$_logBetaCache_result = 0.0; + } else { + self::$_logBetaCache_result = self::_logGamma($p) + self::_logGamma($q) - self::_logGamma($p + $q); + } + } + return self::$_logBetaCache_result; + } // function _logBeta() + + + /** + * Evaluates of continued fraction part of incomplete beta function. + * Based on an idea from Numerical Recipes (W.H. Press et al, 1992). + * @author Jaco van Kooten + */ + private static function _betaFraction($x, $p, $q) { + $c = 1.0; + $sum_pq = $p + $q; + $p_plus = $p + 1.0; + $p_minus = $p - 1.0; + $h = 1.0 - $sum_pq * $x / $p_plus; + if (abs($h) < XMININ) { + $h = XMININ; + } + $h = 1.0 / $h; + $frac = $h; + $m = 1; + $delta = 0.0; + while ($m <= MAX_ITERATIONS && abs($delta-1.0) > PRECISION ) { + $m2 = 2 * $m; + // even index for d + $d = $m * ($q - $m) * $x / ( ($p_minus + $m2) * ($p + $m2)); + $h = 1.0 + $d * $h; + if (abs($h) < XMININ) { + $h = XMININ; + } + $h = 1.0 / $h; + $c = 1.0 + $d / $c; + if (abs($c) < XMININ) { + $c = XMININ; + } + $frac *= $h * $c; + // odd index for d + $d = -($p + $m) * ($sum_pq + $m) * $x / (($p + $m2) * ($p_plus + $m2)); + $h = 1.0 + $d * $h; + if (abs($h) < XMININ) { + $h = XMININ; + } + $h = 1.0 / $h; + $c = 1.0 + $d / $c; + if (abs($c) < XMININ) { + $c = XMININ; + } + $delta = $h * $c; + $frac *= $delta; + ++$m; + } + return $frac; + } // function _betaFraction() + + + /** + * logGamma function + * + * @version 1.1 + * @author Jaco van Kooten + * + * Original author was Jaco van Kooten. Ported to PHP by Paul Meagher. + * + * The natural logarithm of the gamma function.
+ * Based on public domain NETLIB (Fortran) code by W. J. Cody and L. Stoltz
+ * Applied Mathematics Division
+ * Argonne National Laboratory
+ * Argonne, IL 60439
+ *

+ * References: + *

    + *
  1. W. J. Cody and K. E. Hillstrom, 'Chebyshev Approximations for the Natural + * Logarithm of the Gamma Function,' Math. Comp. 21, 1967, pp. 198-203.
  2. + *
  3. K. E. Hillstrom, ANL/AMD Program ANLC366S, DGAMMA/DLGAMA, May, 1969.
  4. + *
  5. Hart, Et. Al., Computer Approximations, Wiley and sons, New York, 1968.
  6. + *
+ *

+ *

+ * From the original documentation: + *

+ *

+ * This routine calculates the LOG(GAMMA) function for a positive real argument X. + * Computation is based on an algorithm outlined in references 1 and 2. + * The program uses rational functions that theoretically approximate LOG(GAMMA) + * to at least 18 significant decimal digits. The approximation for X > 12 is from + * reference 3, while approximations for X < 12.0 are similar to those in reference + * 1, but are unpublished. The accuracy achieved depends on the arithmetic system, + * the compiler, the intrinsic functions, and proper selection of the + * machine-dependent constants. + *

+ *

+ * Error returns:
+ * The program returns the value XINF for X .LE. 0.0 or when overflow would occur. + * The computation is believed to be free of underflow and overflow. + *

+ * @return MAX_VALUE for x < 0.0 or when overflow would occur, i.e. x > 2.55E305 + */ + + // Function cache for logGamma + private static $_logGammaCache_result = 0.0; + private static $_logGammaCache_x = 0.0; + + private static function _logGamma($x) { + // Log Gamma related constants + static $lg_d1 = -0.5772156649015328605195174; + static $lg_d2 = 0.4227843350984671393993777; + static $lg_d4 = 1.791759469228055000094023; + + static $lg_p1 = array( 4.945235359296727046734888, + 201.8112620856775083915565, + 2290.838373831346393026739, + 11319.67205903380828685045, + 28557.24635671635335736389, + 38484.96228443793359990269, + 26377.48787624195437963534, + 7225.813979700288197698961 ); + static $lg_p2 = array( 4.974607845568932035012064, + 542.4138599891070494101986, + 15506.93864978364947665077, + 184793.2904445632425417223, + 1088204.76946882876749847, + 3338152.967987029735917223, + 5106661.678927352456275255, + 3074109.054850539556250927 ); + static $lg_p4 = array( 14745.02166059939948905062, + 2426813.369486704502836312, + 121475557.4045093227939592, + 2663432449.630976949898078, + 29403789566.34553899906876, + 170266573776.5398868392998, + 492612579337.743088758812, + 560625185622.3951465078242 ); + + static $lg_q1 = array( 67.48212550303777196073036, + 1113.332393857199323513008, + 7738.757056935398733233834, + 27639.87074403340708898585, + 54993.10206226157329794414, + 61611.22180066002127833352, + 36351.27591501940507276287, + 8785.536302431013170870835 ); + static $lg_q2 = array( 183.0328399370592604055942, + 7765.049321445005871323047, + 133190.3827966074194402448, + 1136705.821321969608938755, + 5267964.117437946917577538, + 13467014.54311101692290052, + 17827365.30353274213975932, + 9533095.591844353613395747 ); + static $lg_q4 = array( 2690.530175870899333379843, + 639388.5654300092398984238, + 41355999.30241388052042842, + 1120872109.61614794137657, + 14886137286.78813811542398, + 101680358627.2438228077304, + 341747634550.7377132798597, + 446315818741.9713286462081 ); + + static $lg_c = array( -0.001910444077728, + 8.4171387781295e-4, + -5.952379913043012e-4, + 7.93650793500350248e-4, + -0.002777777777777681622553, + 0.08333333333333333331554247, + 0.0057083835261 ); + + // Rough estimate of the fourth root of logGamma_xBig + static $lg_frtbig = 2.25e76; + static $pnt68 = 0.6796875; + + + if ($x == self::$_logGammaCache_x) { + return self::$_logGammaCache_result; + } + $y = $x; + if ($y > 0.0 && $y <= LOG_GAMMA_X_MAX_VALUE) { + if ($y <= EPS) { + $res = -log(y); + } elseif ($y <= 1.5) { + // --------------------- + // EPS .LT. X .LE. 1.5 + // --------------------- + if ($y < $pnt68) { + $corr = -log($y); + $xm1 = $y; + } else { + $corr = 0.0; + $xm1 = $y - 1.0; + } + if ($y <= 0.5 || $y >= $pnt68) { + $xden = 1.0; + $xnum = 0.0; + for ($i = 0; $i < 8; ++$i) { + $xnum = $xnum * $xm1 + $lg_p1[$i]; + $xden = $xden * $xm1 + $lg_q1[$i]; + } + $res = $corr + $xm1 * ($lg_d1 + $xm1 * ($xnum / $xden)); + } else { + $xm2 = $y - 1.0; + $xden = 1.0; + $xnum = 0.0; + for ($i = 0; $i < 8; ++$i) { + $xnum = $xnum * $xm2 + $lg_p2[$i]; + $xden = $xden * $xm2 + $lg_q2[$i]; + } + $res = $corr + $xm2 * ($lg_d2 + $xm2 * ($xnum / $xden)); + } + } elseif ($y <= 4.0) { + // --------------------- + // 1.5 .LT. X .LE. 4.0 + // --------------------- + $xm2 = $y - 2.0; + $xden = 1.0; + $xnum = 0.0; + for ($i = 0; $i < 8; ++$i) { + $xnum = $xnum * $xm2 + $lg_p2[$i]; + $xden = $xden * $xm2 + $lg_q2[$i]; + } + $res = $xm2 * ($lg_d2 + $xm2 * ($xnum / $xden)); + } elseif ($y <= 12.0) { + // ---------------------- + // 4.0 .LT. X .LE. 12.0 + // ---------------------- + $xm4 = $y - 4.0; + $xden = -1.0; + $xnum = 0.0; + for ($i = 0; $i < 8; ++$i) { + $xnum = $xnum * $xm4 + $lg_p4[$i]; + $xden = $xden * $xm4 + $lg_q4[$i]; + } + $res = $lg_d4 + $xm4 * ($xnum / $xden); + } else { + // --------------------------------- + // Evaluate for argument .GE. 12.0 + // --------------------------------- + $res = 0.0; + if ($y <= $lg_frtbig) { + $res = $lg_c[6]; + $ysq = $y * $y; + for ($i = 0; $i < 6; ++$i) + $res = $res / $ysq + $lg_c[$i]; + } + $res /= $y; + $corr = log($y); + $res = $res + log(SQRT2PI) - 0.5 * $corr; + $res += $y * ($corr - 1.0); + } + } else { + // -------------------------- + // Return for bad arguments + // -------------------------- + $res = MAX_VALUE; + } + // ------------------------------ + // Final adjustments and return + // ------------------------------ + self::$_logGammaCache_x = $x; + self::$_logGammaCache_result = $res; + return $res; + } // function _logGamma() + + + // + // Private implementation of the incomplete Gamma function + // + private static function _incompleteGamma($a,$x) { + static $max = 32; + $summer = 0; + for ($n=0; $n<=$max; ++$n) { + $divisor = $a; + for ($i=1; $i<=$n; ++$i) { + $divisor *= ($a + $i); + } + $summer += (pow($x,$n) / $divisor); + } + return pow($x,$a) * exp(0-$x) * $summer; + } // function _incompleteGamma() + + + // + // Private implementation of the Gamma function + // + private static function _gamma($data) { + if ($data == 0.0) return 0; + + static $p0 = 1.000000000190015; + static $p = array ( 1 => 76.18009172947146, + 2 => -86.50532032941677, + 3 => 24.01409824083091, + 4 => -1.231739572450155, + 5 => 1.208650973866179e-3, + 6 => -5.395239384953e-6 + ); + + $y = $x = $data; + $tmp = $x + 5.5; + $tmp -= ($x + 0.5) * log($tmp); + + $summer = $p0; + for ($j=1;$j<=6;++$j) { + $summer += ($p[$j] / ++$y); + } + return exp(0 - $tmp + log(SQRT2PI * $summer / $x)); + } // function _gamma() + + + /*************************************************************************** + * inverse_ncdf.php + * ------------------- + * begin : Friday, January 16, 2004 + * copyright : (C) 2004 Michael Nickerson + * email : nickersonm@yahoo.com + * + ***************************************************************************/ + private static function _inverse_ncdf($p) { + // Inverse ncdf approximation by Peter J. Acklam, implementation adapted to + // PHP by Michael Nickerson, using Dr. Thomas Ziegler's C implementation as + // a guide. http://home.online.no/~pjacklam/notes/invnorm/index.html + // I have not checked the accuracy of this implementation. Be aware that PHP + // will truncate the coeficcients to 14 digits. + + // You have permission to use and distribute this function freely for + // whatever purpose you want, but please show common courtesy and give credit + // where credit is due. + + // Input paramater is $p - probability - where 0 < p < 1. + + // Coefficients in rational approximations + static $a = array( 1 => -3.969683028665376e+01, + 2 => 2.209460984245205e+02, + 3 => -2.759285104469687e+02, + 4 => 1.383577518672690e+02, + 5 => -3.066479806614716e+01, + 6 => 2.506628277459239e+00 + ); + + static $b = array( 1 => -5.447609879822406e+01, + 2 => 1.615858368580409e+02, + 3 => -1.556989798598866e+02, + 4 => 6.680131188771972e+01, + 5 => -1.328068155288572e+01 + ); + + static $c = array( 1 => -7.784894002430293e-03, + 2 => -3.223964580411365e-01, + 3 => -2.400758277161838e+00, + 4 => -2.549732539343734e+00, + 5 => 4.374664141464968e+00, + 6 => 2.938163982698783e+00 + ); + + static $d = array( 1 => 7.784695709041462e-03, + 2 => 3.224671290700398e-01, + 3 => 2.445134137142996e+00, + 4 => 3.754408661907416e+00 + ); + + // Define lower and upper region break-points. + $p_low = 0.02425; //Use lower region approx. below this + $p_high = 1 - $p_low; //Use upper region approx. above this + + if (0 < $p && $p < $p_low) { + // Rational approximation for lower region. + $q = sqrt(-2 * log($p)); + return ((((($c[1] * $q + $c[2]) * $q + $c[3]) * $q + $c[4]) * $q + $c[5]) * $q + $c[6]) / + (((($d[1] * $q + $d[2]) * $q + $d[3]) * $q + $d[4]) * $q + 1); + } elseif ($p_low <= $p && $p <= $p_high) { + // Rational approximation for central region. + $q = $p - 0.5; + $r = $q * $q; + return ((((($a[1] * $r + $a[2]) * $r + $a[3]) * $r + $a[4]) * $r + $a[5]) * $r + $a[6]) * $q / + ((((($b[1] * $r + $b[2]) * $r + $b[3]) * $r + $b[4]) * $r + $b[5]) * $r + 1); + } elseif ($p_high < $p && $p < 1) { + // Rational approximation for upper region. + $q = sqrt(-2 * log(1 - $p)); + return -((((($c[1] * $q + $c[2]) * $q + $c[3]) * $q + $c[4]) * $q + $c[5]) * $q + $c[6]) / + (((($d[1] * $q + $d[2]) * $q + $d[3]) * $q + $d[4]) * $q + 1); + } + // If 0 < p < 1, return a null value + return PHPExcel_Calculation_Functions::NULL(); + } // function _inverse_ncdf() + + + private static function _inverse_ncdf2($prob) { + // Approximation of inverse standard normal CDF developed by + // B. Moro, "The Full Monte," Risk 8(2), Feb 1995, 57-58. + + $a1 = 2.50662823884; + $a2 = -18.61500062529; + $a3 = 41.39119773534; + $a4 = -25.44106049637; + + $b1 = -8.4735109309; + $b2 = 23.08336743743; + $b3 = -21.06224101826; + $b4 = 3.13082909833; + + $c1 = 0.337475482272615; + $c2 = 0.976169019091719; + $c3 = 0.160797971491821; + $c4 = 2.76438810333863E-02; + $c5 = 3.8405729373609E-03; + $c6 = 3.951896511919E-04; + $c7 = 3.21767881768E-05; + $c8 = 2.888167364E-07; + $c9 = 3.960315187E-07; + + $y = $prob - 0.5; + if (abs($y) < 0.42) { + $z = ($y * $y); + $z = $y * ((($a4 * $z + $a3) * $z + $a2) * $z + $a1) / (((($b4 * $z + $b3) * $z + $b2) * $z + $b1) * $z + 1); + } else { + if ($y > 0) { + $z = log(-log(1 - $prob)); + } else { + $z = log(-log($prob)); + } + $z = $c1 + $z * ($c2 + $z * ($c3 + $z * ($c4 + $z * ($c5 + $z * ($c6 + $z * ($c7 + $z * ($c8 + $z * $c9))))))); + if ($y < 0) { + $z = -$z; + } + } + return $z; + } // function _inverse_ncdf2() + + + private static function _inverse_ncdf3($p) { + // ALGORITHM AS241 APPL. STATIST. (1988) VOL. 37, NO. 3. + // Produces the normal deviate Z corresponding to a given lower + // tail area of P; Z is accurate to about 1 part in 10**16. + // + // This is a PHP version of the original FORTRAN code that can + // be found at http://lib.stat.cmu.edu/apstat/ + $split1 = 0.425; + $split2 = 5; + $const1 = 0.180625; + $const2 = 1.6; + + // coefficients for p close to 0.5 + $a0 = 3.3871328727963666080; + $a1 = 1.3314166789178437745E+2; + $a2 = 1.9715909503065514427E+3; + $a3 = 1.3731693765509461125E+4; + $a4 = 4.5921953931549871457E+4; + $a5 = 6.7265770927008700853E+4; + $a6 = 3.3430575583588128105E+4; + $a7 = 2.5090809287301226727E+3; + + $b1 = 4.2313330701600911252E+1; + $b2 = 6.8718700749205790830E+2; + $b3 = 5.3941960214247511077E+3; + $b4 = 2.1213794301586595867E+4; + $b5 = 3.9307895800092710610E+4; + $b6 = 2.8729085735721942674E+4; + $b7 = 5.2264952788528545610E+3; + + // coefficients for p not close to 0, 0.5 or 1. + $c0 = 1.42343711074968357734; + $c1 = 4.63033784615654529590; + $c2 = 5.76949722146069140550; + $c3 = 3.64784832476320460504; + $c4 = 1.27045825245236838258; + $c5 = 2.41780725177450611770E-1; + $c6 = 2.27238449892691845833E-2; + $c7 = 7.74545014278341407640E-4; + + $d1 = 2.05319162663775882187; + $d2 = 1.67638483018380384940; + $d3 = 6.89767334985100004550E-1; + $d4 = 1.48103976427480074590E-1; + $d5 = 1.51986665636164571966E-2; + $d6 = 5.47593808499534494600E-4; + $d7 = 1.05075007164441684324E-9; + + // coefficients for p near 0 or 1. + $e0 = 6.65790464350110377720; + $e1 = 5.46378491116411436990; + $e2 = 1.78482653991729133580; + $e3 = 2.96560571828504891230E-1; + $e4 = 2.65321895265761230930E-2; + $e5 = 1.24266094738807843860E-3; + $e6 = 2.71155556874348757815E-5; + $e7 = 2.01033439929228813265E-7; + + $f1 = 5.99832206555887937690E-1; + $f2 = 1.36929880922735805310E-1; + $f3 = 1.48753612908506148525E-2; + $f4 = 7.86869131145613259100E-4; + $f5 = 1.84631831751005468180E-5; + $f6 = 1.42151175831644588870E-7; + $f7 = 2.04426310338993978564E-15; + + $q = $p - 0.5; + + // computation for p close to 0.5 + if (abs($q) <= split1) { + $R = $const1 - $q * $q; + $z = $q * ((((((($a7 * $R + $a6) * $R + $a5) * $R + $a4) * $R + $a3) * $R + $a2) * $R + $a1) * $R + $a0) / + ((((((($b7 * $R + $b6) * $R + $b5) * $R + $b4) * $R + $b3) * $R + $b2) * $R + $b1) * $R + 1); + } else { + if ($q < 0) { + $R = $p; + } else { + $R = 1 - $p; + } + $R = pow(-log($R),2); + + // computation for p not close to 0, 0.5 or 1. + If ($R <= $split2) { + $R = $R - $const2; + $z = ((((((($c7 * $R + $c6) * $R + $c5) * $R + $c4) * $R + $c3) * $R + $c2) * $R + $c1) * $R + $c0) / + ((((((($d7 * $R + $d6) * $R + $d5) * $R + $d4) * $R + $d3) * $R + $d2) * $R + $d1) * $R + 1); + } else { + // computation for p near 0 or 1. + $R = $R - $split2; + $z = ((((((($e7 * $R + $e6) * $R + $e5) * $R + $e4) * $R + $e3) * $R + $e2) * $R + $e1) * $R + $e0) / + ((((((($f7 * $R + $f6) * $R + $f5) * $R + $f4) * $R + $f3) * $R + $f2) * $R + $f1) * $R + 1); + } + if ($q < 0) { + $z = -$z; + } + } + return $z; + } // function _inverse_ncdf3() + + + /** + * AVEDEV + * + * Returns the average of the absolute deviations of data points from their mean. + * AVEDEV is a measure of the variability in a data set. + * + * Excel Function: + * AVEDEV(value1[,value2[, ...]]) + * + * @access public + * @category Statistical Functions + * @param mixed $arg,... Data values + * @return float + */ + public static function AVEDEV() { + $aArgs = PHPExcel_Calculation_Functions::flattenArrayIndexed(func_get_args()); + + // Return value + $returnValue = null; + + $aMean = self::AVERAGE($aArgs); + if ($aMean != PHPExcel_Calculation_Functions::DIV0()) { + $aCount = 0; + foreach ($aArgs as $k => $arg) { + if ((is_bool($arg)) && + ((!PHPExcel_Calculation_Functions::isCellValue($k)) || (PHPExcel_Calculation_Functions::getCompatibilityMode() == PHPExcel_Calculation_Functions::COMPATIBILITY_OPENOFFICE))) { + $arg = (integer) $arg; + } + // Is it a numeric value? + if ((is_numeric($arg)) && (!is_string($arg))) { + if (is_null($returnValue)) { + $returnValue = abs($arg - $aMean); + } else { + $returnValue += abs($arg - $aMean); + } + ++$aCount; + } + } + + // Return + if ($aCount == 0) { + return PHPExcel_Calculation_Functions::DIV0(); + } + return $returnValue / $aCount; + } + return PHPExcel_Calculation_Functions::NaN(); + } // function AVEDEV() + + + /** + * AVERAGE + * + * Returns the average (arithmetic mean) of the arguments + * + * Excel Function: + * AVERAGE(value1[,value2[, ...]]) + * + * @access public + * @category Statistical Functions + * @param mixed $arg,... Data values + * @return float + */ + public static function AVERAGE() { + $returnValue = $aCount = 0; + + // Loop through arguments + foreach (PHPExcel_Calculation_Functions::flattenArrayIndexed(func_get_args()) as $k => $arg) { + if ((is_bool($arg)) && + ((!PHPExcel_Calculation_Functions::isCellValue($k)) || (PHPExcel_Calculation_Functions::getCompatibilityMode() == PHPExcel_Calculation_Functions::COMPATIBILITY_OPENOFFICE))) { + $arg = (integer) $arg; + } + // Is it a numeric value? + if ((is_numeric($arg)) && (!is_string($arg))) { + if (is_null($returnValue)) { + $returnValue = $arg; + } else { + $returnValue += $arg; + } + ++$aCount; + } + } + + // Return + if ($aCount > 0) { + return $returnValue / $aCount; + } else { + return PHPExcel_Calculation_Functions::DIV0(); + } + } // function AVERAGE() + + + /** + * AVERAGEA + * + * Returns the average of its arguments, including numbers, text, and logical values + * + * Excel Function: + * AVERAGEA(value1[,value2[, ...]]) + * + * @access public + * @category Statistical Functions + * @param mixed $arg,... Data values + * @return float + */ + public static function AVERAGEA() { + // Return value + $returnValue = null; + + $aCount = 0; + // Loop through arguments + foreach (PHPExcel_Calculation_Functions::flattenArrayIndexed(func_get_args()) as $k => $arg) { + if ((is_bool($arg)) && + (!PHPExcel_Calculation_Functions::isMatrixValue($k))) { + } else { + if ((is_numeric($arg)) || (is_bool($arg)) || ((is_string($arg) && ($arg != '')))) { + if (is_bool($arg)) { + $arg = (integer) $arg; + } elseif (is_string($arg)) { + $arg = 0; + } + if (is_null($returnValue)) { + $returnValue = $arg; + } else { + $returnValue += $arg; + } + ++$aCount; + } + } + } + + // Return + if ($aCount > 0) { + return $returnValue / $aCount; + } else { + return PHPExcel_Calculation_Functions::DIV0(); + } + } // function AVERAGEA() + + + /** + * AVERAGEIF + * + * Returns the average value from a range of cells that contain numbers within the list of arguments + * + * Excel Function: + * AVERAGEIF(value1[,value2[, ...]],condition) + * + * @access public + * @category Mathematical and Trigonometric Functions + * @param mixed $arg,... Data values + * @param string $condition The criteria that defines which cells will be checked. + * @param mixed[] $averageArgs Data values + * @return float + */ + public static function AVERAGEIF($aArgs,$condition,$averageArgs = array()) { + // Return value + $returnValue = 0; + + $aArgs = PHPExcel_Calculation_Functions::flattenArray($aArgs); + $averageArgs = PHPExcel_Calculation_Functions::flattenArray($averageArgs); + if (empty($averageArgs)) { + $averageArgs = $aArgs; + } + $condition = PHPExcel_Calculation_Functions::_ifCondition($condition); + // Loop through arguments + $aCount = 0; + foreach ($aArgs as $key => $arg) { + if (!is_numeric($arg)) { $arg = PHPExcel_Calculation::_wrapResult(strtoupper($arg)); } + $testCondition = '='.$arg.$condition; + if (PHPExcel_Calculation::getInstance()->_calculateFormulaValue($testCondition)) { + if ((is_null($returnValue)) || ($arg > $returnValue)) { + $returnValue += $arg; + ++$aCount; + } + } + } + + // Return + if ($aCount > 0) { + return $returnValue / $aCount; + } else { + return PHPExcel_Calculation_Functions::DIV0(); + } + } // function AVERAGEIF() + + + /** + * BETADIST + * + * Returns the beta distribution. + * + * @param float $value Value at which you want to evaluate the distribution + * @param float $alpha Parameter to the distribution + * @param float $beta Parameter to the distribution + * @param boolean $cumulative + * @return float + * + */ + public static function BETADIST($value,$alpha,$beta,$rMin=0,$rMax=1) { + $value = PHPExcel_Calculation_Functions::flattenSingleValue($value); + $alpha = PHPExcel_Calculation_Functions::flattenSingleValue($alpha); + $beta = PHPExcel_Calculation_Functions::flattenSingleValue($beta); + $rMin = PHPExcel_Calculation_Functions::flattenSingleValue($rMin); + $rMax = PHPExcel_Calculation_Functions::flattenSingleValue($rMax); + + if ((is_numeric($value)) && (is_numeric($alpha)) && (is_numeric($beta)) && (is_numeric($rMin)) && (is_numeric($rMax))) { + if (($value < $rMin) || ($value > $rMax) || ($alpha <= 0) || ($beta <= 0) || ($rMin == $rMax)) { + return PHPExcel_Calculation_Functions::NaN(); + } + if ($rMin > $rMax) { + $tmp = $rMin; + $rMin = $rMax; + $rMax = $tmp; + } + $value -= $rMin; + $value /= ($rMax - $rMin); + return self::_incompleteBeta($value,$alpha,$beta); + } + return PHPExcel_Calculation_Functions::VALUE(); + } // function BETADIST() + + + /** + * BETAINV + * + * Returns the inverse of the beta distribution. + * + * @param float $probability Probability at which you want to evaluate the distribution + * @param float $alpha Parameter to the distribution + * @param float $beta Parameter to the distribution + * @param float $rMin Minimum value + * @param float $rMax Maximum value + * @param boolean $cumulative + * @return float + * + */ + public static function BETAINV($probability,$alpha,$beta,$rMin=0,$rMax=1) { + $probability = PHPExcel_Calculation_Functions::flattenSingleValue($probability); + $alpha = PHPExcel_Calculation_Functions::flattenSingleValue($alpha); + $beta = PHPExcel_Calculation_Functions::flattenSingleValue($beta); + $rMin = PHPExcel_Calculation_Functions::flattenSingleValue($rMin); + $rMax = PHPExcel_Calculation_Functions::flattenSingleValue($rMax); + + if ((is_numeric($probability)) && (is_numeric($alpha)) && (is_numeric($beta)) && (is_numeric($rMin)) && (is_numeric($rMax))) { + if (($alpha <= 0) || ($beta <= 0) || ($rMin == $rMax) || ($probability <= 0) || ($probability > 1)) { + return PHPExcel_Calculation_Functions::NaN(); + } + if ($rMin > $rMax) { + $tmp = $rMin; + $rMin = $rMax; + $rMax = $tmp; + } + $a = 0; + $b = 2; + + $i = 0; + while ((($b - $a) > PRECISION) && ($i++ < MAX_ITERATIONS)) { + $guess = ($a + $b) / 2; + $result = self::BETADIST($guess, $alpha, $beta); + if (($result == $probability) || ($result == 0)) { + $b = $a; + } elseif ($result > $probability) { + $b = $guess; + } else { + $a = $guess; + } + } + if ($i == MAX_ITERATIONS) { + return PHPExcel_Calculation_Functions::NA(); + } + return round($rMin + $guess * ($rMax - $rMin),12); + } + return PHPExcel_Calculation_Functions::VALUE(); + } // function BETAINV() + + + /** + * BINOMDIST + * + * Returns the individual term binomial distribution probability. Use BINOMDIST in problems with + * a fixed number of tests or trials, when the outcomes of any trial are only success or failure, + * when trials are independent, and when the probability of success is constant throughout the + * experiment. For example, BINOMDIST can calculate the probability that two of the next three + * babies born are male. + * + * @param float $value Number of successes in trials + * @param float $trials Number of trials + * @param float $probability Probability of success on each trial + * @param boolean $cumulative + * @return float + * + * @todo Cumulative distribution function + * + */ + public static function BINOMDIST($value, $trials, $probability, $cumulative) { + $value = floor(PHPExcel_Calculation_Functions::flattenSingleValue($value)); + $trials = floor(PHPExcel_Calculation_Functions::flattenSingleValue($trials)); + $probability = PHPExcel_Calculation_Functions::flattenSingleValue($probability); + + if ((is_numeric($value)) && (is_numeric($trials)) && (is_numeric($probability))) { + if (($value < 0) || ($value > $trials)) { + return PHPExcel_Calculation_Functions::NaN(); + } + if (($probability < 0) || ($probability > 1)) { + return PHPExcel_Calculation_Functions::NaN(); + } + if ((is_numeric($cumulative)) || (is_bool($cumulative))) { + if ($cumulative) { + $summer = 0; + for ($i = 0; $i <= $value; ++$i) { + $summer += PHPExcel_Calculation_MathTrig::COMBIN($trials,$i) * pow($probability,$i) * pow(1 - $probability,$trials - $i); + } + return $summer; + } else { + return PHPExcel_Calculation_MathTrig::COMBIN($trials,$value) * pow($probability,$value) * pow(1 - $probability,$trials - $value) ; + } + } + } + return PHPExcel_Calculation_Functions::VALUE(); + } // function BINOMDIST() + + + /** + * CHIDIST + * + * Returns the one-tailed probability of the chi-squared distribution. + * + * @param float $value Value for the function + * @param float $degrees degrees of freedom + * @return float + */ + public static function CHIDIST($value, $degrees) { + $value = PHPExcel_Calculation_Functions::flattenSingleValue($value); + $degrees = floor(PHPExcel_Calculation_Functions::flattenSingleValue($degrees)); + + if ((is_numeric($value)) && (is_numeric($degrees))) { + if ($degrees < 1) { + return PHPExcel_Calculation_Functions::NaN(); + } + if ($value < 0) { + if (PHPExcel_Calculation_Functions::getCompatibilityMode() == PHPExcel_Calculation_Functions::COMPATIBILITY_GNUMERIC) { + return 1; + } + return PHPExcel_Calculation_Functions::NaN(); + } + return 1 - (self::_incompleteGamma($degrees/2,$value/2) / self::_gamma($degrees/2)); + } + return PHPExcel_Calculation_Functions::VALUE(); + } // function CHIDIST() + + + /** + * CHIINV + * + * Returns the one-tailed probability of the chi-squared distribution. + * + * @param float $probability Probability for the function + * @param float $degrees degrees of freedom + * @return float + */ + public static function CHIINV($probability, $degrees) { + $probability = PHPExcel_Calculation_Functions::flattenSingleValue($probability); + $degrees = floor(PHPExcel_Calculation_Functions::flattenSingleValue($degrees)); + + if ((is_numeric($probability)) && (is_numeric($degrees))) { + + $xLo = 100; + $xHi = 0; + + $x = $xNew = 1; + $dx = 1; + $i = 0; + + while ((abs($dx) > PRECISION) && ($i++ < MAX_ITERATIONS)) { + // Apply Newton-Raphson step + $result = self::CHIDIST($x, $degrees); + $error = $result - $probability; + if ($error == 0.0) { + $dx = 0; + } elseif ($error < 0.0) { + $xLo = $x; + } else { + $xHi = $x; + } + // Avoid division by zero + if ($result != 0.0) { + $dx = $error / $result; + $xNew = $x - $dx; + } + // If the NR fails to converge (which for example may be the + // case if the initial guess is too rough) we apply a bisection + // step to determine a more narrow interval around the root. + if (($xNew < $xLo) || ($xNew > $xHi) || ($result == 0.0)) { + $xNew = ($xLo + $xHi) / 2; + $dx = $xNew - $x; + } + $x = $xNew; + } + if ($i == MAX_ITERATIONS) { + return PHPExcel_Calculation_Functions::NA(); + } + return round($x,12); + } + return PHPExcel_Calculation_Functions::VALUE(); + } // function CHIINV() + + + /** + * CONFIDENCE + * + * Returns the confidence interval for a population mean + * + * @param float $alpha + * @param float $stdDev Standard Deviation + * @param float $size + * @return float + * + */ + public static function CONFIDENCE($alpha,$stdDev,$size) { + $alpha = PHPExcel_Calculation_Functions::flattenSingleValue($alpha); + $stdDev = PHPExcel_Calculation_Functions::flattenSingleValue($stdDev); + $size = floor(PHPExcel_Calculation_Functions::flattenSingleValue($size)); + + if ((is_numeric($alpha)) && (is_numeric($stdDev)) && (is_numeric($size))) { + if (($alpha <= 0) || ($alpha >= 1)) { + return PHPExcel_Calculation_Functions::NaN(); + } + if (($stdDev <= 0) || ($size < 1)) { + return PHPExcel_Calculation_Functions::NaN(); + } + return self::NORMSINV(1 - $alpha / 2) * $stdDev / sqrt($size); + } + return PHPExcel_Calculation_Functions::VALUE(); + } // function CONFIDENCE() + + + /** + * CORREL + * + * Returns covariance, the average of the products of deviations for each data point pair. + * + * @param array of mixed Data Series Y + * @param array of mixed Data Series X + * @return float + */ + public static function CORREL($yValues,$xValues=null) { + if ((is_null($xValues)) || (!is_array($yValues)) || (!is_array($xValues))) { + return PHPExcel_Calculation_Functions::VALUE(); + } + if (!self::_checkTrendArrays($yValues,$xValues)) { + return PHPExcel_Calculation_Functions::VALUE(); + } + $yValueCount = count($yValues); + $xValueCount = count($xValues); + + if (($yValueCount == 0) || ($yValueCount != $xValueCount)) { + return PHPExcel_Calculation_Functions::NA(); + } elseif ($yValueCount == 1) { + return PHPExcel_Calculation_Functions::DIV0(); + } + + $bestFitLinear = trendClass::calculate(trendClass::TREND_LINEAR,$yValues,$xValues); + return $bestFitLinear->getCorrelation(); + } // function CORREL() + + + /** + * COUNT + * + * Counts the number of cells that contain numbers within the list of arguments + * + * Excel Function: + * COUNT(value1[,value2[, ...]]) + * + * @access public + * @category Statistical Functions + * @param mixed $arg,... Data values + * @return int + */ + public static function COUNT() { + // Return value + $returnValue = 0; + + // Loop through arguments + $aArgs = PHPExcel_Calculation_Functions::flattenArrayIndexed(func_get_args()); + foreach ($aArgs as $k => $arg) { + if ((is_bool($arg)) && + ((!PHPExcel_Calculation_Functions::isCellValue($k)) || (PHPExcel_Calculation_Functions::getCompatibilityMode() == PHPExcel_Calculation_Functions::COMPATIBILITY_OPENOFFICE))) { + $arg = (integer) $arg; + } + // Is it a numeric value? + if ((is_numeric($arg)) && (!is_string($arg))) { + ++$returnValue; + } + } + + // Return + return $returnValue; + } // function COUNT() + + + /** + * COUNTA + * + * Counts the number of cells that are not empty within the list of arguments + * + * Excel Function: + * COUNTA(value1[,value2[, ...]]) + * + * @access public + * @category Statistical Functions + * @param mixed $arg,... Data values + * @return int + */ + public static function COUNTA() { + // Return value + $returnValue = 0; + + // Loop through arguments + $aArgs = PHPExcel_Calculation_Functions::flattenArray(func_get_args()); + foreach ($aArgs as $arg) { + // Is it a numeric, boolean or string value? + if ((is_numeric($arg)) || (is_bool($arg)) || ((is_string($arg) && ($arg != '')))) { + ++$returnValue; + } + } + + // Return + return $returnValue; + } // function COUNTA() + + + /** + * COUNTBLANK + * + * Counts the number of empty cells within the list of arguments + * + * Excel Function: + * COUNTBLANK(value1[,value2[, ...]]) + * + * @access public + * @category Statistical Functions + * @param mixed $arg,... Data values + * @return int + */ + public static function COUNTBLANK() { + // Return value + $returnValue = 0; + + // Loop through arguments + $aArgs = PHPExcel_Calculation_Functions::flattenArray(func_get_args()); + foreach ($aArgs as $arg) { + // Is it a blank cell? + if ((is_null($arg)) || ((is_string($arg)) && ($arg == ''))) { + ++$returnValue; + } + } + + // Return + return $returnValue; + } // function COUNTBLANK() + + + /** + * COUNTIF + * + * Counts the number of cells that contain numbers within the list of arguments + * + * Excel Function: + * COUNTIF(value1[,value2[, ...]],condition) + * + * @access public + * @category Statistical Functions + * @param mixed $arg,... Data values + * @param string $condition The criteria that defines which cells will be counted. + * @return int + */ + public static function COUNTIF($aArgs,$condition) { + // Return value + $returnValue = 0; + + $aArgs = PHPExcel_Calculation_Functions::flattenArray($aArgs); + $condition = PHPExcel_Calculation_Functions::_ifCondition($condition); + // Loop through arguments + foreach ($aArgs as $arg) { + if (!is_numeric($arg)) { $arg = PHPExcel_Calculation::_wrapResult(strtoupper($arg)); } + $testCondition = '='.$arg.$condition; + if (PHPExcel_Calculation::getInstance()->_calculateFormulaValue($testCondition)) { + // Is it a value within our criteria + ++$returnValue; + } + } + + // Return + return $returnValue; + } // function COUNTIF() + + + /** + * COVAR + * + * Returns covariance, the average of the products of deviations for each data point pair. + * + * @param array of mixed Data Series Y + * @param array of mixed Data Series X + * @return float + */ + public static function COVAR($yValues,$xValues) { + if (!self::_checkTrendArrays($yValues,$xValues)) { + return PHPExcel_Calculation_Functions::VALUE(); + } + $yValueCount = count($yValues); + $xValueCount = count($xValues); + + if (($yValueCount == 0) || ($yValueCount != $xValueCount)) { + return PHPExcel_Calculation_Functions::NA(); + } elseif ($yValueCount == 1) { + return PHPExcel_Calculation_Functions::DIV0(); + } + + $bestFitLinear = trendClass::calculate(trendClass::TREND_LINEAR,$yValues,$xValues); + return $bestFitLinear->getCovariance(); + } // function COVAR() + + + /** + * CRITBINOM + * + * Returns the smallest value for which the cumulative binomial distribution is greater + * than or equal to a criterion value + * + * See http://support.microsoft.com/kb/828117/ for details of the algorithm used + * + * @param float $trials number of Bernoulli trials + * @param float $probability probability of a success on each trial + * @param float $alpha criterion value + * @return int + * + * @todo Warning. This implementation differs from the algorithm detailed on the MS + * web site in that $CumPGuessMinus1 = $CumPGuess - 1 rather than $CumPGuess - $PGuess + * This eliminates a potential endless loop error, but may have an adverse affect on the + * accuracy of the function (although all my tests have so far returned correct results). + * + */ + public static function CRITBINOM($trials, $probability, $alpha) { + $trials = floor(PHPExcel_Calculation_Functions::flattenSingleValue($trials)); + $probability = PHPExcel_Calculation_Functions::flattenSingleValue($probability); + $alpha = PHPExcel_Calculation_Functions::flattenSingleValue($alpha); + + if ((is_numeric($trials)) && (is_numeric($probability)) && (is_numeric($alpha))) { + if ($trials < 0) { + return PHPExcel_Calculation_Functions::NaN(); + } + if (($probability < 0) || ($probability > 1)) { + return PHPExcel_Calculation_Functions::NaN(); + } + if (($alpha < 0) || ($alpha > 1)) { + return PHPExcel_Calculation_Functions::NaN(); + } + if ($alpha <= 0.5) { + $t = sqrt(log(1 / ($alpha * $alpha))); + $trialsApprox = 0 - ($t + (2.515517 + 0.802853 * $t + 0.010328 * $t * $t) / (1 + 1.432788 * $t + 0.189269 * $t * $t + 0.001308 * $t * $t * $t)); + } else { + $t = sqrt(log(1 / pow(1 - $alpha,2))); + $trialsApprox = $t - (2.515517 + 0.802853 * $t + 0.010328 * $t * $t) / (1 + 1.432788 * $t + 0.189269 * $t * $t + 0.001308 * $t * $t * $t); + } + $Guess = floor($trials * $probability + $trialsApprox * sqrt($trials * $probability * (1 - $probability))); + if ($Guess < 0) { + $Guess = 0; + } elseif ($Guess > $trials) { + $Guess = $trials; + } + + $TotalUnscaledProbability = $UnscaledPGuess = $UnscaledCumPGuess = 0.0; + $EssentiallyZero = 10e-12; + + $m = floor($trials * $probability); + ++$TotalUnscaledProbability; + if ($m == $Guess) { ++$UnscaledPGuess; } + if ($m <= $Guess) { ++$UnscaledCumPGuess; } + + $PreviousValue = 1; + $Done = False; + $k = $m + 1; + while ((!$Done) && ($k <= $trials)) { + $CurrentValue = $PreviousValue * ($trials - $k + 1) * $probability / ($k * (1 - $probability)); + $TotalUnscaledProbability += $CurrentValue; + if ($k == $Guess) { $UnscaledPGuess += $CurrentValue; } + if ($k <= $Guess) { $UnscaledCumPGuess += $CurrentValue; } + if ($CurrentValue <= $EssentiallyZero) { $Done = True; } + $PreviousValue = $CurrentValue; + ++$k; + } + + $PreviousValue = 1; + $Done = False; + $k = $m - 1; + while ((!$Done) && ($k >= 0)) { + $CurrentValue = $PreviousValue * $k + 1 * (1 - $probability) / (($trials - $k) * $probability); + $TotalUnscaledProbability += $CurrentValue; + if ($k == $Guess) { $UnscaledPGuess += $CurrentValue; } + if ($k <= $Guess) { $UnscaledCumPGuess += $CurrentValue; } + if ($CurrentValue <= $EssentiallyZero) { $Done = True; } + $PreviousValue = $CurrentValue; + --$k; + } + + $PGuess = $UnscaledPGuess / $TotalUnscaledProbability; + $CumPGuess = $UnscaledCumPGuess / $TotalUnscaledProbability; + +// $CumPGuessMinus1 = $CumPGuess - $PGuess; + $CumPGuessMinus1 = $CumPGuess - 1; + + while (True) { + if (($CumPGuessMinus1 < $alpha) && ($CumPGuess >= $alpha)) { + return $Guess; + } elseif (($CumPGuessMinus1 < $alpha) && ($CumPGuess < $alpha)) { + $PGuessPlus1 = $PGuess * ($trials - $Guess) * $probability / $Guess / (1 - $probability); + $CumPGuessMinus1 = $CumPGuess; + $CumPGuess = $CumPGuess + $PGuessPlus1; + $PGuess = $PGuessPlus1; + ++$Guess; + } elseif (($CumPGuessMinus1 >= $alpha) && ($CumPGuess >= $alpha)) { + $PGuessMinus1 = $PGuess * $Guess * (1 - $probability) / ($trials - $Guess + 1) / $probability; + $CumPGuess = $CumPGuessMinus1; + $CumPGuessMinus1 = $CumPGuessMinus1 - $PGuess; + $PGuess = $PGuessMinus1; + --$Guess; + } + } + } + return PHPExcel_Calculation_Functions::VALUE(); + } // function CRITBINOM() + + + /** + * DEVSQ + * + * Returns the sum of squares of deviations of data points from their sample mean. + * + * Excel Function: + * DEVSQ(value1[,value2[, ...]]) + * + * @access public + * @category Statistical Functions + * @param mixed $arg,... Data values + * @return float + */ + public static function DEVSQ() { + $aArgs = PHPExcel_Calculation_Functions::flattenArrayIndexed(func_get_args()); + + // Return value + $returnValue = null; + + $aMean = self::AVERAGE($aArgs); + if ($aMean != PHPExcel_Calculation_Functions::DIV0()) { + $aCount = -1; + foreach ($aArgs as $k => $arg) { + // Is it a numeric value? + if ((is_bool($arg)) && + ((!PHPExcel_Calculation_Functions::isCellValue($k)) || (PHPExcel_Calculation_Functions::getCompatibilityMode() == PHPExcel_Calculation_Functions::COMPATIBILITY_OPENOFFICE))) { + $arg = (integer) $arg; + } + if ((is_numeric($arg)) && (!is_string($arg))) { + if (is_null($returnValue)) { + $returnValue = pow(($arg - $aMean),2); + } else { + $returnValue += pow(($arg - $aMean),2); + } + ++$aCount; + } + } + + // Return + if (is_null($returnValue)) { + return PHPExcel_Calculation_Functions::NaN(); + } else { + return $returnValue; + } + } + return self::NA(); + } // function DEVSQ() + + + /** + * EXPONDIST + * + * Returns the exponential distribution. Use EXPONDIST to model the time between events, + * such as how long an automated bank teller takes to deliver cash. For example, you can + * use EXPONDIST to determine the probability that the process takes at most 1 minute. + * + * @param float $value Value of the function + * @param float $lambda The parameter value + * @param boolean $cumulative + * @return float + */ + public static function EXPONDIST($value, $lambda, $cumulative) { + $value = PHPExcel_Calculation_Functions::flattenSingleValue($value); + $lambda = PHPExcel_Calculation_Functions::flattenSingleValue($lambda); + $cumulative = PHPExcel_Calculation_Functions::flattenSingleValue($cumulative); + + if ((is_numeric($value)) && (is_numeric($lambda))) { + if (($value < 0) || ($lambda < 0)) { + return PHPExcel_Calculation_Functions::NaN(); + } + if ((is_numeric($cumulative)) || (is_bool($cumulative))) { + if ($cumulative) { + return 1 - exp(0-$value*$lambda); + } else { + return $lambda * exp(0-$value*$lambda); + } + } + } + return PHPExcel_Calculation_Functions::VALUE(); + } // function EXPONDIST() + + + /** + * FISHER + * + * Returns the Fisher transformation at x. This transformation produces a function that + * is normally distributed rather than skewed. Use this function to perform hypothesis + * testing on the correlation coefficient. + * + * @param float $value + * @return float + */ + public static function FISHER($value) { + $value = PHPExcel_Calculation_Functions::flattenSingleValue($value); + + if (is_numeric($value)) { + if (($value <= -1) || ($value >= 1)) { + return PHPExcel_Calculation_Functions::NaN(); + } + return 0.5 * log((1+$value)/(1-$value)); + } + return PHPExcel_Calculation_Functions::VALUE(); + } // function FISHER() + + + /** + * FISHERINV + * + * Returns the inverse of the Fisher transformation. Use this transformation when + * analyzing correlations between ranges or arrays of data. If y = FISHER(x), then + * FISHERINV(y) = x. + * + * @param float $value + * @return float + */ + public static function FISHERINV($value) { + $value = PHPExcel_Calculation_Functions::flattenSingleValue($value); + + if (is_numeric($value)) { + return (exp(2 * $value) - 1) / (exp(2 * $value) + 1); + } + return PHPExcel_Calculation_Functions::VALUE(); + } // function FISHERINV() + + + /** + * FORECAST + * + * Calculates, or predicts, a future value by using existing values. The predicted value is a y-value for a given x-value. + * + * @param float Value of X for which we want to find Y + * @param array of mixed Data Series Y + * @param array of mixed Data Series X + * @return float + */ + public static function FORECAST($xValue,$yValues,$xValues) { + $xValue = PHPExcel_Calculation_Functions::flattenSingleValue($xValue); + if (!is_numeric($xValue)) { + return PHPExcel_Calculation_Functions::VALUE(); + } + + if (!self::_checkTrendArrays($yValues,$xValues)) { + return PHPExcel_Calculation_Functions::VALUE(); + } + $yValueCount = count($yValues); + $xValueCount = count($xValues); + + if (($yValueCount == 0) || ($yValueCount != $xValueCount)) { + return PHPExcel_Calculation_Functions::NA(); + } elseif ($yValueCount == 1) { + return PHPExcel_Calculation_Functions::DIV0(); + } + + $bestFitLinear = trendClass::calculate(trendClass::TREND_LINEAR,$yValues,$xValues); + return $bestFitLinear->getValueOfYForX($xValue); + } // function FORECAST() + + + /** + * GAMMADIST + * + * Returns the gamma distribution. + * + * @param float $value Value at which you want to evaluate the distribution + * @param float $a Parameter to the distribution + * @param float $b Parameter to the distribution + * @param boolean $cumulative + * @return float + * + */ + public static function GAMMADIST($value,$a,$b,$cumulative) { + $value = PHPExcel_Calculation_Functions::flattenSingleValue($value); + $a = PHPExcel_Calculation_Functions::flattenSingleValue($a); + $b = PHPExcel_Calculation_Functions::flattenSingleValue($b); + + if ((is_numeric($value)) && (is_numeric($a)) && (is_numeric($b))) { + if (($value < 0) || ($a <= 0) || ($b <= 0)) { + return PHPExcel_Calculation_Functions::NaN(); + } + if ((is_numeric($cumulative)) || (is_bool($cumulative))) { + if ($cumulative) { + return self::_incompleteGamma($a,$value / $b) / self::_gamma($a); + } else { + return (1 / (pow($b,$a) * self::_gamma($a))) * pow($value,$a-1) * exp(0-($value / $b)); + } + } + } + return PHPExcel_Calculation_Functions::VALUE(); + } // function GAMMADIST() + + + /** + * GAMMAINV + * + * Returns the inverse of the beta distribution. + * + * @param float $probability Probability at which you want to evaluate the distribution + * @param float $alpha Parameter to the distribution + * @param float $beta Parameter to the distribution + * @return float + * + */ + public static function GAMMAINV($probability,$alpha,$beta) { + $probability = PHPExcel_Calculation_Functions::flattenSingleValue($probability); + $alpha = PHPExcel_Calculation_Functions::flattenSingleValue($alpha); + $beta = PHPExcel_Calculation_Functions::flattenSingleValue($beta); + + if ((is_numeric($probability)) && (is_numeric($alpha)) && (is_numeric($beta))) { + if (($alpha <= 0) || ($beta <= 0) || ($probability < 0) || ($probability > 1)) { + return PHPExcel_Calculation_Functions::NaN(); + } + + $xLo = 0; + $xHi = $alpha * $beta * 5; + + $x = $xNew = 1; + $error = $pdf = 0; + $dx = 1024; + $i = 0; + + while ((abs($dx) > PRECISION) && ($i++ < MAX_ITERATIONS)) { + // Apply Newton-Raphson step + $error = self::GAMMADIST($x, $alpha, $beta, True) - $probability; + if ($error < 0.0) { + $xLo = $x; + } else { + $xHi = $x; + } + $pdf = self::GAMMADIST($x, $alpha, $beta, False); + // Avoid division by zero + if ($pdf != 0.0) { + $dx = $error / $pdf; + $xNew = $x - $dx; + } + // If the NR fails to converge (which for example may be the + // case if the initial guess is too rough) we apply a bisection + // step to determine a more narrow interval around the root. + if (($xNew < $xLo) || ($xNew > $xHi) || ($pdf == 0.0)) { + $xNew = ($xLo + $xHi) / 2; + $dx = $xNew - $x; + } + $x = $xNew; + } + if ($i == MAX_ITERATIONS) { + return PHPExcel_Calculation_Functions::NA(); + } + return $x; + } + return PHPExcel_Calculation_Functions::VALUE(); + } // function GAMMAINV() + + + /** + * GAMMALN + * + * Returns the natural logarithm of the gamma function. + * + * @param float $value + * @return float + */ + public static function GAMMALN($value) { + $value = PHPExcel_Calculation_Functions::flattenSingleValue($value); + + if (is_numeric($value)) { + if ($value <= 0) { + return PHPExcel_Calculation_Functions::NaN(); + } + return log(self::_gamma($value)); + } + return PHPExcel_Calculation_Functions::VALUE(); + } // function GAMMALN() + + + /** + * GEOMEAN + * + * Returns the geometric mean of an array or range of positive data. For example, you + * can use GEOMEAN to calculate average growth rate given compound interest with + * variable rates. + * + * Excel Function: + * GEOMEAN(value1[,value2[, ...]]) + * + * @access public + * @category Statistical Functions + * @param mixed $arg,... Data values + * @return float + */ + public static function GEOMEAN() { + $aArgs = PHPExcel_Calculation_Functions::flattenArray(func_get_args()); + + $aMean = PHPExcel_Calculation_MathTrig::PRODUCT($aArgs); + if (is_numeric($aMean) && ($aMean > 0)) { + $aCount = self::COUNT($aArgs) ; + if (self::MIN($aArgs) > 0) { + return pow($aMean, (1 / $aCount)); + } + } + return PHPExcel_Calculation_Functions::NaN(); + } // GEOMEAN() + + + /** + * GROWTH + * + * Returns values along a predicted emponential trend + * + * @param array of mixed Data Series Y + * @param array of mixed Data Series X + * @param array of mixed Values of X for which we want to find Y + * @param boolean A logical value specifying whether to force the intersect to equal 0. + * @return array of float + */ + public static function GROWTH($yValues,$xValues=array(),$newValues=array(),$const=True) { + $yValues = PHPExcel_Calculation_Functions::flattenArray($yValues); + $xValues = PHPExcel_Calculation_Functions::flattenArray($xValues); + $newValues = PHPExcel_Calculation_Functions::flattenArray($newValues); + $const = (is_null($const)) ? True : (boolean) PHPExcel_Calculation_Functions::flattenSingleValue($const); + + $bestFitExponential = trendClass::calculate(trendClass::TREND_EXPONENTIAL,$yValues,$xValues,$const); + if (empty($newValues)) { + $newValues = $bestFitExponential->getXValues(); + } + + $returnArray = array(); + foreach($newValues as $xValue) { + $returnArray[0][] = $bestFitExponential->getValueOfYForX($xValue); + } + + return $returnArray; + } // function GROWTH() + + + /** + * HARMEAN + * + * Returns the harmonic mean of a data set. The harmonic mean is the reciprocal of the + * arithmetic mean of reciprocals. + * + * Excel Function: + * HARMEAN(value1[,value2[, ...]]) + * + * @access public + * @category Statistical Functions + * @param mixed $arg,... Data values + * @return float + */ + public static function HARMEAN() { + // Return value + $returnValue = PHPExcel_Calculation_Functions::NA(); + + // Loop through arguments + $aArgs = PHPExcel_Calculation_Functions::flattenArray(func_get_args()); + if (self::MIN($aArgs) < 0) { + return PHPExcel_Calculation_Functions::NaN(); + } + $aCount = 0; + foreach ($aArgs as $arg) { + // Is it a numeric value? + if ((is_numeric($arg)) && (!is_string($arg))) { + if ($arg <= 0) { + return PHPExcel_Calculation_Functions::NaN(); + } + if (is_null($returnValue)) { + $returnValue = (1 / $arg); + } else { + $returnValue += (1 / $arg); + } + ++$aCount; + } + } + + // Return + if ($aCount > 0) { + return 1 / ($returnValue / $aCount); + } else { + return $returnValue; + } + } // function HARMEAN() + + + /** + * HYPGEOMDIST + * + * Returns the hypergeometric distribution. HYPGEOMDIST returns the probability of a given number of + * sample successes, given the sample size, population successes, and population size. + * + * @param float $sampleSuccesses Number of successes in the sample + * @param float $sampleNumber Size of the sample + * @param float $populationSuccesses Number of successes in the population + * @param float $populationNumber Population size + * @return float + * + */ + public static function HYPGEOMDIST($sampleSuccesses, $sampleNumber, $populationSuccesses, $populationNumber) { + $sampleSuccesses = floor(PHPExcel_Calculation_Functions::flattenSingleValue($sampleSuccesses)); + $sampleNumber = floor(PHPExcel_Calculation_Functions::flattenSingleValue($sampleNumber)); + $populationSuccesses = floor(PHPExcel_Calculation_Functions::flattenSingleValue($populationSuccesses)); + $populationNumber = floor(PHPExcel_Calculation_Functions::flattenSingleValue($populationNumber)); + + if ((is_numeric($sampleSuccesses)) && (is_numeric($sampleNumber)) && (is_numeric($populationSuccesses)) && (is_numeric($populationNumber))) { + if (($sampleSuccesses < 0) || ($sampleSuccesses > $sampleNumber) || ($sampleSuccesses > $populationSuccesses)) { + return PHPExcel_Calculation_Functions::NaN(); + } + if (($sampleNumber <= 0) || ($sampleNumber > $populationNumber)) { + return PHPExcel_Calculation_Functions::NaN(); + } + if (($populationSuccesses <= 0) || ($populationSuccesses > $populationNumber)) { + return PHPExcel_Calculation_Functions::NaN(); + } + return PHPExcel_Calculation_MathTrig::COMBIN($populationSuccesses,$sampleSuccesses) * + PHPExcel_Calculation_MathTrig::COMBIN($populationNumber - $populationSuccesses,$sampleNumber - $sampleSuccesses) / + PHPExcel_Calculation_MathTrig::COMBIN($populationNumber,$sampleNumber); + } + return PHPExcel_Calculation_Functions::VALUE(); + } // function HYPGEOMDIST() + + + /** + * INTERCEPT + * + * Calculates the point at which a line will intersect the y-axis by using existing x-values and y-values. + * + * @param array of mixed Data Series Y + * @param array of mixed Data Series X + * @return float + */ + public static function INTERCEPT($yValues,$xValues) { + if (!self::_checkTrendArrays($yValues,$xValues)) { + return PHPExcel_Calculation_Functions::VALUE(); + } + $yValueCount = count($yValues); + $xValueCount = count($xValues); + + if (($yValueCount == 0) || ($yValueCount != $xValueCount)) { + return PHPExcel_Calculation_Functions::NA(); + } elseif ($yValueCount == 1) { + return PHPExcel_Calculation_Functions::DIV0(); + } + + $bestFitLinear = trendClass::calculate(trendClass::TREND_LINEAR,$yValues,$xValues); + return $bestFitLinear->getIntersect(); + } // function INTERCEPT() + + + /** + * KURT + * + * Returns the kurtosis of a data set. Kurtosis characterizes the relative peakedness + * or flatness of a distribution compared with the normal distribution. Positive + * kurtosis indicates a relatively peaked distribution. Negative kurtosis indicates a + * relatively flat distribution. + * + * @param array Data Series + * @return float + */ + public static function KURT() { + $aArgs = PHPExcel_Calculation_Functions::flattenArrayIndexed(func_get_args()); + $mean = self::AVERAGE($aArgs); + $stdDev = self::STDEV($aArgs); + + if ($stdDev > 0) { + $count = $summer = 0; + // Loop through arguments + foreach ($aArgs as $k => $arg) { + if ((is_bool($arg)) && + (!PHPExcel_Calculation_Functions::isMatrixValue($k))) { + } else { + // Is it a numeric value? + if ((is_numeric($arg)) && (!is_string($arg))) { + $summer += pow((($arg - $mean) / $stdDev),4) ; + ++$count; + } + } + } + + // Return + if ($count > 3) { + return $summer * ($count * ($count+1) / (($count-1) * ($count-2) * ($count-3))) - (3 * pow($count-1,2) / (($count-2) * ($count-3))); + } + } + return PHPExcel_Calculation_Functions::DIV0(); + } // function KURT() + + + /** + * LARGE + * + * Returns the nth largest value in a data set. You can use this function to + * select a value based on its relative standing. + * + * Excel Function: + * LARGE(value1[,value2[, ...]],entry) + * + * @access public + * @category Statistical Functions + * @param mixed $arg,... Data values + * @param int $entry Position (ordered from the largest) in the array or range of data to return + * @return float + * + */ + public static function LARGE() { + $aArgs = PHPExcel_Calculation_Functions::flattenArray(func_get_args()); + + // Calculate + $entry = floor(array_pop($aArgs)); + + if ((is_numeric($entry)) && (!is_string($entry))) { + $mArgs = array(); + foreach ($aArgs as $arg) { + // Is it a numeric value? + if ((is_numeric($arg)) && (!is_string($arg))) { + $mArgs[] = $arg; + } + } + $count = self::COUNT($mArgs); + $entry = floor(--$entry); + if (($entry < 0) || ($entry >= $count) || ($count == 0)) { + return PHPExcel_Calculation_Functions::NaN(); + } + rsort($mArgs); + return $mArgs[$entry]; + } + return PHPExcel_Calculation_Functions::VALUE(); + } // function LARGE() + + + /** + * LINEST + * + * Calculates the statistics for a line by using the "least squares" method to calculate a straight line that best fits your data, + * and then returns an array that describes the line. + * + * @param array of mixed Data Series Y + * @param array of mixed Data Series X + * @param boolean A logical value specifying whether to force the intersect to equal 0. + * @param boolean A logical value specifying whether to return additional regression statistics. + * @return array + */ + public static function LINEST($yValues, $xValues = NULL, $const = TRUE, $stats = FALSE) { + $const = (is_null($const)) ? TRUE : (boolean) PHPExcel_Calculation_Functions::flattenSingleValue($const); + $stats = (is_null($stats)) ? FALSE : (boolean) PHPExcel_Calculation_Functions::flattenSingleValue($stats); + if (is_null($xValues)) $xValues = range(1,count(PHPExcel_Calculation_Functions::flattenArray($yValues))); + + if (!self::_checkTrendArrays($yValues,$xValues)) { + return PHPExcel_Calculation_Functions::VALUE(); + } + $yValueCount = count($yValues); + $xValueCount = count($xValues); + + + if (($yValueCount == 0) || ($yValueCount != $xValueCount)) { + return PHPExcel_Calculation_Functions::NA(); + } elseif ($yValueCount == 1) { + return 0; + } + + $bestFitLinear = trendClass::calculate(trendClass::TREND_LINEAR,$yValues,$xValues,$const); + if ($stats) { + return array( array( $bestFitLinear->getSlope(), + $bestFitLinear->getSlopeSE(), + $bestFitLinear->getGoodnessOfFit(), + $bestFitLinear->getF(), + $bestFitLinear->getSSRegression(), + ), + array( $bestFitLinear->getIntersect(), + $bestFitLinear->getIntersectSE(), + $bestFitLinear->getStdevOfResiduals(), + $bestFitLinear->getDFResiduals(), + $bestFitLinear->getSSResiduals() + ) + ); + } else { + return array( $bestFitLinear->getSlope(), + $bestFitLinear->getIntersect() + ); + } + } // function LINEST() + + + /** + * LOGEST + * + * Calculates an exponential curve that best fits the X and Y data series, + * and then returns an array that describes the line. + * + * @param array of mixed Data Series Y + * @param array of mixed Data Series X + * @param boolean A logical value specifying whether to force the intersect to equal 0. + * @param boolean A logical value specifying whether to return additional regression statistics. + * @return array + */ + public static function LOGEST($yValues,$xValues=null,$const=True,$stats=False) { + $const = (is_null($const)) ? True : (boolean) PHPExcel_Calculation_Functions::flattenSingleValue($const); + $stats = (is_null($stats)) ? False : (boolean) PHPExcel_Calculation_Functions::flattenSingleValue($stats); + if (is_null($xValues)) $xValues = range(1,count(PHPExcel_Calculation_Functions::flattenArray($yValues))); + + if (!self::_checkTrendArrays($yValues,$xValues)) { + return PHPExcel_Calculation_Functions::VALUE(); + } + $yValueCount = count($yValues); + $xValueCount = count($xValues); + + foreach($yValues as $value) { + if ($value <= 0.0) { + return PHPExcel_Calculation_Functions::NaN(); + } + } + + + if (($yValueCount == 0) || ($yValueCount != $xValueCount)) { + return PHPExcel_Calculation_Functions::NA(); + } elseif ($yValueCount == 1) { + return 1; + } + + $bestFitExponential = trendClass::calculate(trendClass::TREND_EXPONENTIAL,$yValues,$xValues,$const); + if ($stats) { + return array( array( $bestFitExponential->getSlope(), + $bestFitExponential->getSlopeSE(), + $bestFitExponential->getGoodnessOfFit(), + $bestFitExponential->getF(), + $bestFitExponential->getSSRegression(), + ), + array( $bestFitExponential->getIntersect(), + $bestFitExponential->getIntersectSE(), + $bestFitExponential->getStdevOfResiduals(), + $bestFitExponential->getDFResiduals(), + $bestFitExponential->getSSResiduals() + ) + ); + } else { + return array( $bestFitExponential->getSlope(), + $bestFitExponential->getIntersect() + ); + } + } // function LOGEST() + + + /** + * LOGINV + * + * Returns the inverse of the normal cumulative distribution + * + * @param float $probability + * @param float $mean + * @param float $stdDev + * @return float + * + * @todo Try implementing P J Acklam's refinement algorithm for greater + * accuracy if I can get my head round the mathematics + * (as described at) http://home.online.no/~pjacklam/notes/invnorm/ + */ + public static function LOGINV($probability, $mean, $stdDev) { + $probability = PHPExcel_Calculation_Functions::flattenSingleValue($probability); + $mean = PHPExcel_Calculation_Functions::flattenSingleValue($mean); + $stdDev = PHPExcel_Calculation_Functions::flattenSingleValue($stdDev); + + if ((is_numeric($probability)) && (is_numeric($mean)) && (is_numeric($stdDev))) { + if (($probability < 0) || ($probability > 1) || ($stdDev <= 0)) { + return PHPExcel_Calculation_Functions::NaN(); + } + return exp($mean + $stdDev * self::NORMSINV($probability)); + } + return PHPExcel_Calculation_Functions::VALUE(); + } // function LOGINV() + + + /** + * LOGNORMDIST + * + * Returns the cumulative lognormal distribution of x, where ln(x) is normally distributed + * with parameters mean and standard_dev. + * + * @param float $value + * @param float $mean + * @param float $stdDev + * @return float + */ + public static function LOGNORMDIST($value, $mean, $stdDev) { + $value = PHPExcel_Calculation_Functions::flattenSingleValue($value); + $mean = PHPExcel_Calculation_Functions::flattenSingleValue($mean); + $stdDev = PHPExcel_Calculation_Functions::flattenSingleValue($stdDev); + + if ((is_numeric($value)) && (is_numeric($mean)) && (is_numeric($stdDev))) { + if (($value <= 0) || ($stdDev <= 0)) { + return PHPExcel_Calculation_Functions::NaN(); + } + return self::NORMSDIST((log($value) - $mean) / $stdDev); + } + return PHPExcel_Calculation_Functions::VALUE(); + } // function LOGNORMDIST() + + + /** + * MAX + * + * MAX returns the value of the element of the values passed that has the highest value, + * with negative numbers considered smaller than positive numbers. + * + * Excel Function: + * MAX(value1[,value2[, ...]]) + * + * @access public + * @category Statistical Functions + * @param mixed $arg,... Data values + * @return float + */ + public static function MAX() { + // Return value + $returnValue = null; + + // Loop through arguments + $aArgs = PHPExcel_Calculation_Functions::flattenArray(func_get_args()); + foreach ($aArgs as $arg) { + // Is it a numeric value? + if ((is_numeric($arg)) && (!is_string($arg))) { + if ((is_null($returnValue)) || ($arg > $returnValue)) { + $returnValue = $arg; + } + } + } + + // Return + if(is_null($returnValue)) { + return 0; + } + return $returnValue; + } // function MAX() + + + /** + * MAXA + * + * Returns the greatest value in a list of arguments, including numbers, text, and logical values + * + * Excel Function: + * MAXA(value1[,value2[, ...]]) + * + * @access public + * @category Statistical Functions + * @param mixed $arg,... Data values + * @return float + */ + public static function MAXA() { + // Return value + $returnValue = null; + + // Loop through arguments + $aArgs = PHPExcel_Calculation_Functions::flattenArray(func_get_args()); + foreach ($aArgs as $arg) { + // Is it a numeric value? + if ((is_numeric($arg)) || (is_bool($arg)) || ((is_string($arg) && ($arg != '')))) { + if (is_bool($arg)) { + $arg = (integer) $arg; + } elseif (is_string($arg)) { + $arg = 0; + } + if ((is_null($returnValue)) || ($arg > $returnValue)) { + $returnValue = $arg; + } + } + } + + // Return + if(is_null($returnValue)) { + return 0; + } + return $returnValue; + } // function MAXA() + + + /** + * MAXIF + * + * Counts the maximum value within a range of cells that contain numbers within the list of arguments + * + * Excel Function: + * MAXIF(value1[,value2[, ...]],condition) + * + * @access public + * @category Mathematical and Trigonometric Functions + * @param mixed $arg,... Data values + * @param string $condition The criteria that defines which cells will be checked. + * @return float + */ + public static function MAXIF($aArgs,$condition,$sumArgs = array()) { + // Return value + $returnValue = null; + + $aArgs = PHPExcel_Calculation_Functions::flattenArray($aArgs); + $sumArgs = PHPExcel_Calculation_Functions::flattenArray($sumArgs); + if (empty($sumArgs)) { + $sumArgs = $aArgs; + } + $condition = PHPExcel_Calculation_Functions::_ifCondition($condition); + // Loop through arguments + foreach ($aArgs as $key => $arg) { + if (!is_numeric($arg)) { $arg = PHPExcel_Calculation::_wrapResult(strtoupper($arg)); } + $testCondition = '='.$arg.$condition; + if (PHPExcel_Calculation::getInstance()->_calculateFormulaValue($testCondition)) { + if ((is_null($returnValue)) || ($arg > $returnValue)) { + $returnValue = $arg; + } + } + } + + // Return + return $returnValue; + } // function MAXIF() + + + /** + * MEDIAN + * + * Returns the median of the given numbers. The median is the number in the middle of a set of numbers. + * + * Excel Function: + * MEDIAN(value1[,value2[, ...]]) + * + * @access public + * @category Statistical Functions + * @param mixed $arg,... Data values + * @return float + */ + public static function MEDIAN() { + // Return value + $returnValue = PHPExcel_Calculation_Functions::NaN(); + + $mArgs = array(); + // Loop through arguments + $aArgs = PHPExcel_Calculation_Functions::flattenArray(func_get_args()); + foreach ($aArgs as $arg) { + // Is it a numeric value? + if ((is_numeric($arg)) && (!is_string($arg))) { + $mArgs[] = $arg; + } + } + + $mValueCount = count($mArgs); + if ($mValueCount > 0) { + sort($mArgs,SORT_NUMERIC); + $mValueCount = $mValueCount / 2; + if ($mValueCount == floor($mValueCount)) { + $returnValue = ($mArgs[$mValueCount--] + $mArgs[$mValueCount]) / 2; + } else { + $mValueCount == floor($mValueCount); + $returnValue = $mArgs[$mValueCount]; + } + } + + // Return + return $returnValue; + } // function MEDIAN() + + + /** + * MIN + * + * MIN returns the value of the element of the values passed that has the smallest value, + * with negative numbers considered smaller than positive numbers. + * + * Excel Function: + * MIN(value1[,value2[, ...]]) + * + * @access public + * @category Statistical Functions + * @param mixed $arg,... Data values + * @return float + */ + public static function MIN() { + // Return value + $returnValue = null; + + // Loop through arguments + $aArgs = PHPExcel_Calculation_Functions::flattenArray(func_get_args()); + foreach ($aArgs as $arg) { + // Is it a numeric value? + if ((is_numeric($arg)) && (!is_string($arg))) { + if ((is_null($returnValue)) || ($arg < $returnValue)) { + $returnValue = $arg; + } + } + } + + // Return + if(is_null($returnValue)) { + return 0; + } + return $returnValue; + } // function MIN() + + + /** + * MINA + * + * Returns the smallest value in a list of arguments, including numbers, text, and logical values + * + * Excel Function: + * MINA(value1[,value2[, ...]]) + * + * @access public + * @category Statistical Functions + * @param mixed $arg,... Data values + * @return float + */ + public static function MINA() { + // Return value + $returnValue = null; + + // Loop through arguments + $aArgs = PHPExcel_Calculation_Functions::flattenArray(func_get_args()); + foreach ($aArgs as $arg) { + // Is it a numeric value? + if ((is_numeric($arg)) || (is_bool($arg)) || ((is_string($arg) && ($arg != '')))) { + if (is_bool($arg)) { + $arg = (integer) $arg; + } elseif (is_string($arg)) { + $arg = 0; + } + if ((is_null($returnValue)) || ($arg < $returnValue)) { + $returnValue = $arg; + } + } + } + + // Return + if(is_null($returnValue)) { + return 0; + } + return $returnValue; + } // function MINA() + + + /** + * MINIF + * + * Returns the minimum value within a range of cells that contain numbers within the list of arguments + * + * Excel Function: + * MINIF(value1[,value2[, ...]],condition) + * + * @access public + * @category Mathematical and Trigonometric Functions + * @param mixed $arg,... Data values + * @param string $condition The criteria that defines which cells will be checked. + * @return float + */ + public static function MINIF($aArgs,$condition,$sumArgs = array()) { + // Return value + $returnValue = null; + + $aArgs = PHPExcel_Calculation_Functions::flattenArray($aArgs); + $sumArgs = PHPExcel_Calculation_Functions::flattenArray($sumArgs); + if (empty($sumArgs)) { + $sumArgs = $aArgs; + } + $condition = PHPExcel_Calculation_Functions::_ifCondition($condition); + // Loop through arguments + foreach ($aArgs as $key => $arg) { + if (!is_numeric($arg)) { $arg = PHPExcel_Calculation::_wrapResult(strtoupper($arg)); } + $testCondition = '='.$arg.$condition; + if (PHPExcel_Calculation::getInstance()->_calculateFormulaValue($testCondition)) { + if ((is_null($returnValue)) || ($arg < $returnValue)) { + $returnValue = $arg; + } + } + } + + // Return + return $returnValue; + } // function MINIF() + + + // + // Special variant of array_count_values that isn't limited to strings and integers, + // but can work with floating point numbers as values + // + private static function _modeCalc($data) { + $frequencyArray = array(); + foreach($data as $datum) { + $found = False; + foreach($frequencyArray as $key => $value) { + if ((string) $value['value'] == (string) $datum) { + ++$frequencyArray[$key]['frequency']; + $found = True; + break; + } + } + if (!$found) { + $frequencyArray[] = array('value' => $datum, + 'frequency' => 1 ); + } + } + + foreach($frequencyArray as $key => $value) { + $frequencyList[$key] = $value['frequency']; + $valueList[$key] = $value['value']; + } + array_multisort($frequencyList, SORT_DESC, $valueList, SORT_ASC, SORT_NUMERIC, $frequencyArray); + + if ($frequencyArray[0]['frequency'] == 1) { + return PHPExcel_Calculation_Functions::NA(); + } + return $frequencyArray[0]['value']; + } // function _modeCalc() + + + /** + * MODE + * + * Returns the most frequently occurring, or repetitive, value in an array or range of data + * + * Excel Function: + * MODE(value1[,value2[, ...]]) + * + * @access public + * @category Statistical Functions + * @param mixed $arg,... Data values + * @return float + */ + public static function MODE() { + // Return value + $returnValue = PHPExcel_Calculation_Functions::NA(); + + // Loop through arguments + $aArgs = PHPExcel_Calculation_Functions::flattenArray(func_get_args()); + + $mArgs = array(); + foreach ($aArgs as $arg) { + // Is it a numeric value? + if ((is_numeric($arg)) && (!is_string($arg))) { + $mArgs[] = $arg; + } + } + + if (!empty($mArgs)) { + return self::_modeCalc($mArgs); + } + + // Return + return $returnValue; + } // function MODE() + + + /** + * NEGBINOMDIST + * + * Returns the negative binomial distribution. NEGBINOMDIST returns the probability that + * there will be number_f failures before the number_s-th success, when the constant + * probability of a success is probability_s. This function is similar to the binomial + * distribution, except that the number of successes is fixed, and the number of trials is + * variable. Like the binomial, trials are assumed to be independent. + * + * @param float $failures Number of Failures + * @param float $successes Threshold number of Successes + * @param float $probability Probability of success on each trial + * @return float + * + */ + public static function NEGBINOMDIST($failures, $successes, $probability) { + $failures = floor(PHPExcel_Calculation_Functions::flattenSingleValue($failures)); + $successes = floor(PHPExcel_Calculation_Functions::flattenSingleValue($successes)); + $probability = PHPExcel_Calculation_Functions::flattenSingleValue($probability); + + if ((is_numeric($failures)) && (is_numeric($successes)) && (is_numeric($probability))) { + if (($failures < 0) || ($successes < 1)) { + return PHPExcel_Calculation_Functions::NaN(); + } + if (($probability < 0) || ($probability > 1)) { + return PHPExcel_Calculation_Functions::NaN(); + } + if (PHPExcel_Calculation_Functions::getCompatibilityMode() == PHPExcel_Calculation_Functions::COMPATIBILITY_GNUMERIC) { + if (($failures + $successes - 1) <= 0) { + return PHPExcel_Calculation_Functions::NaN(); + } + } + return (PHPExcel_Calculation_MathTrig::COMBIN($failures + $successes - 1,$successes - 1)) * (pow($probability,$successes)) * (pow(1 - $probability,$failures)) ; + } + return PHPExcel_Calculation_Functions::VALUE(); + } // function NEGBINOMDIST() + + + /** + * NORMDIST + * + * Returns the normal distribution for the specified mean and standard deviation. This + * function has a very wide range of applications in statistics, including hypothesis + * testing. + * + * @param float $value + * @param float $mean Mean Value + * @param float $stdDev Standard Deviation + * @param boolean $cumulative + * @return float + * + */ + public static function NORMDIST($value, $mean, $stdDev, $cumulative) { + $value = PHPExcel_Calculation_Functions::flattenSingleValue($value); + $mean = PHPExcel_Calculation_Functions::flattenSingleValue($mean); + $stdDev = PHPExcel_Calculation_Functions::flattenSingleValue($stdDev); + + if ((is_numeric($value)) && (is_numeric($mean)) && (is_numeric($stdDev))) { + if ($stdDev < 0) { + return PHPExcel_Calculation_Functions::NaN(); + } + if ((is_numeric($cumulative)) || (is_bool($cumulative))) { + if ($cumulative) { + return 0.5 * (1 + PHPExcel_Calculation_Engineering::_erfVal(($value - $mean) / ($stdDev * sqrt(2)))); + } else { + return (1 / (SQRT2PI * $stdDev)) * exp(0 - (pow($value - $mean,2) / (2 * ($stdDev * $stdDev)))); + } + } + } + return PHPExcel_Calculation_Functions::VALUE(); + } // function NORMDIST() + + + /** + * NORMINV + * + * Returns the inverse of the normal cumulative distribution for the specified mean and standard deviation. + * + * @param float $value + * @param float $mean Mean Value + * @param float $stdDev Standard Deviation + * @return float + * + */ + public static function NORMINV($probability,$mean,$stdDev) { + $probability = PHPExcel_Calculation_Functions::flattenSingleValue($probability); + $mean = PHPExcel_Calculation_Functions::flattenSingleValue($mean); + $stdDev = PHPExcel_Calculation_Functions::flattenSingleValue($stdDev); + + if ((is_numeric($probability)) && (is_numeric($mean)) && (is_numeric($stdDev))) { + if (($probability < 0) || ($probability > 1)) { + return PHPExcel_Calculation_Functions::NaN(); + } + if ($stdDev < 0) { + return PHPExcel_Calculation_Functions::NaN(); + } + return (self::_inverse_ncdf($probability) * $stdDev) + $mean; + } + return PHPExcel_Calculation_Functions::VALUE(); + } // function NORMINV() + + + /** + * NORMSDIST + * + * Returns the standard normal cumulative distribution function. The distribution has + * a mean of 0 (zero) and a standard deviation of one. Use this function in place of a + * table of standard normal curve areas. + * + * @param float $value + * @return float + */ + public static function NORMSDIST($value) { + $value = PHPExcel_Calculation_Functions::flattenSingleValue($value); + + return self::NORMDIST($value, 0, 1, True); + } // function NORMSDIST() + + + /** + * NORMSINV + * + * Returns the inverse of the standard normal cumulative distribution + * + * @param float $value + * @return float + */ + public static function NORMSINV($value) { + return self::NORMINV($value, 0, 1); + } // function NORMSINV() + + + /** + * PERCENTILE + * + * Returns the nth percentile of values in a range.. + * + * Excel Function: + * PERCENTILE(value1[,value2[, ...]],entry) + * + * @access public + * @category Statistical Functions + * @param mixed $arg,... Data values + * @param float $entry Percentile value in the range 0..1, inclusive. + * @return float + */ + public static function PERCENTILE() { + $aArgs = PHPExcel_Calculation_Functions::flattenArray(func_get_args()); + + // Calculate + $entry = array_pop($aArgs); + + if ((is_numeric($entry)) && (!is_string($entry))) { + if (($entry < 0) || ($entry > 1)) { + return PHPExcel_Calculation_Functions::NaN(); + } + $mArgs = array(); + foreach ($aArgs as $arg) { + // Is it a numeric value? + if ((is_numeric($arg)) && (!is_string($arg))) { + $mArgs[] = $arg; + } + } + $mValueCount = count($mArgs); + if ($mValueCount > 0) { + sort($mArgs); + $count = self::COUNT($mArgs); + $index = $entry * ($count-1); + $iBase = floor($index); + if ($index == $iBase) { + return $mArgs[$index]; + } else { + $iNext = $iBase + 1; + $iProportion = $index - $iBase; + return $mArgs[$iBase] + (($mArgs[$iNext] - $mArgs[$iBase]) * $iProportion) ; + } + } + } + return PHPExcel_Calculation_Functions::VALUE(); + } // function PERCENTILE() + + + /** + * PERCENTRANK + * + * Returns the rank of a value in a data set as a percentage of the data set. + * + * @param array of number An array of, or a reference to, a list of numbers. + * @param number The number whose rank you want to find. + * @param number The number of significant digits for the returned percentage value. + * @return float + */ + public static function PERCENTRANK($valueSet,$value,$significance=3) { + $valueSet = PHPExcel_Calculation_Functions::flattenArray($valueSet); + $value = PHPExcel_Calculation_Functions::flattenSingleValue($value); + $significance = (is_null($significance)) ? 3 : (integer) PHPExcel_Calculation_Functions::flattenSingleValue($significance); + + foreach($valueSet as $key => $valueEntry) { + if (!is_numeric($valueEntry)) { + unset($valueSet[$key]); + } + } + sort($valueSet,SORT_NUMERIC); + $valueCount = count($valueSet); + if ($valueCount == 0) { + return PHPExcel_Calculation_Functions::NaN(); + } + + $valueAdjustor = $valueCount - 1; + if (($value < $valueSet[0]) || ($value > $valueSet[$valueAdjustor])) { + return PHPExcel_Calculation_Functions::NA(); + } + + $pos = array_search($value,$valueSet); + if ($pos === False) { + $pos = 0; + $testValue = $valueSet[0]; + while ($testValue < $value) { + $testValue = $valueSet[++$pos]; + } + --$pos; + $pos += (($value - $valueSet[$pos]) / ($testValue - $valueSet[$pos])); + } + + return round($pos / $valueAdjustor,$significance); + } // function PERCENTRANK() + + + /** + * PERMUT + * + * Returns the number of permutations for a given number of objects that can be + * selected from number objects. A permutation is any set or subset of objects or + * events where internal order is significant. Permutations are different from + * combinations, for which the internal order is not significant. Use this function + * for lottery-style probability calculations. + * + * @param int $numObjs Number of different objects + * @param int $numInSet Number of objects in each permutation + * @return int Number of permutations + */ + public static function PERMUT($numObjs,$numInSet) { + $numObjs = PHPExcel_Calculation_Functions::flattenSingleValue($numObjs); + $numInSet = PHPExcel_Calculation_Functions::flattenSingleValue($numInSet); + + if ((is_numeric($numObjs)) && (is_numeric($numInSet))) { + $numInSet = floor($numInSet); + if ($numObjs < $numInSet) { + return PHPExcel_Calculation_Functions::NaN(); + } + return round(PHPExcel_Calculation_MathTrig::FACT($numObjs) / PHPExcel_Calculation_MathTrig::FACT($numObjs - $numInSet)); + } + return PHPExcel_Calculation_Functions::VALUE(); + } // function PERMUT() + + + /** + * POISSON + * + * Returns the Poisson distribution. A common application of the Poisson distribution + * is predicting the number of events over a specific time, such as the number of + * cars arriving at a toll plaza in 1 minute. + * + * @param float $value + * @param float $mean Mean Value + * @param boolean $cumulative + * @return float + * + */ + public static function POISSON($value, $mean, $cumulative) { + $value = PHPExcel_Calculation_Functions::flattenSingleValue($value); + $mean = PHPExcel_Calculation_Functions::flattenSingleValue($mean); + + if ((is_numeric($value)) && (is_numeric($mean))) { + if (($value < 0) || ($mean <= 0)) { + return PHPExcel_Calculation_Functions::NaN(); + } + if ((is_numeric($cumulative)) || (is_bool($cumulative))) { + if ($cumulative) { + $summer = 0; + for ($i = 0; $i <= floor($value); ++$i) { + $summer += pow($mean,$i) / PHPExcel_Calculation_MathTrig::FACT($i); + } + return exp(0-$mean) * $summer; + } else { + return (exp(0-$mean) * pow($mean,$value)) / PHPExcel_Calculation_MathTrig::FACT($value); + } + } + } + return PHPExcel_Calculation_Functions::VALUE(); + } // function POISSON() + + + /** + * QUARTILE + * + * Returns the quartile of a data set. + * + * Excel Function: + * QUARTILE(value1[,value2[, ...]],entry) + * + * @access public + * @category Statistical Functions + * @param mixed $arg,... Data values + * @param int $entry Quartile value in the range 1..3, inclusive. + * @return float + */ + public static function QUARTILE() { + $aArgs = PHPExcel_Calculation_Functions::flattenArray(func_get_args()); + + // Calculate + $entry = floor(array_pop($aArgs)); + + if ((is_numeric($entry)) && (!is_string($entry))) { + $entry /= 4; + if (($entry < 0) || ($entry > 1)) { + return PHPExcel_Calculation_Functions::NaN(); + } + return self::PERCENTILE($aArgs,$entry); + } + return PHPExcel_Calculation_Functions::VALUE(); + } // function QUARTILE() + + + /** + * RANK + * + * Returns the rank of a number in a list of numbers. + * + * @param number The number whose rank you want to find. + * @param array of number An array of, or a reference to, a list of numbers. + * @param mixed Order to sort the values in the value set + * @return float + */ + public static function RANK($value,$valueSet,$order=0) { + $value = PHPExcel_Calculation_Functions::flattenSingleValue($value); + $valueSet = PHPExcel_Calculation_Functions::flattenArray($valueSet); + $order = (is_null($order)) ? 0 : (integer) PHPExcel_Calculation_Functions::flattenSingleValue($order); + + foreach($valueSet as $key => $valueEntry) { + if (!is_numeric($valueEntry)) { + unset($valueSet[$key]); + } + } + + if ($order == 0) { + rsort($valueSet,SORT_NUMERIC); + } else { + sort($valueSet,SORT_NUMERIC); + } + $pos = array_search($value,$valueSet); + if ($pos === False) { + return PHPExcel_Calculation_Functions::NA(); + } + + return ++$pos; + } // function RANK() + + + /** + * RSQ + * + * Returns the square of the Pearson product moment correlation coefficient through data points in known_y's and known_x's. + * + * @param array of mixed Data Series Y + * @param array of mixed Data Series X + * @return float + */ + public static function RSQ($yValues,$xValues) { + if (!self::_checkTrendArrays($yValues,$xValues)) { + return PHPExcel_Calculation_Functions::VALUE(); + } + $yValueCount = count($yValues); + $xValueCount = count($xValues); + + if (($yValueCount == 0) || ($yValueCount != $xValueCount)) { + return PHPExcel_Calculation_Functions::NA(); + } elseif ($yValueCount == 1) { + return PHPExcel_Calculation_Functions::DIV0(); + } + + $bestFitLinear = trendClass::calculate(trendClass::TREND_LINEAR,$yValues,$xValues); + return $bestFitLinear->getGoodnessOfFit(); + } // function RSQ() + + + /** + * SKEW + * + * Returns the skewness of a distribution. Skewness characterizes the degree of asymmetry + * of a distribution around its mean. Positive skewness indicates a distribution with an + * asymmetric tail extending toward more positive values. Negative skewness indicates a + * distribution with an asymmetric tail extending toward more negative values. + * + * @param array Data Series + * @return float + */ + public static function SKEW() { + $aArgs = PHPExcel_Calculation_Functions::flattenArrayIndexed(func_get_args()); + $mean = self::AVERAGE($aArgs); + $stdDev = self::STDEV($aArgs); + + $count = $summer = 0; + // Loop through arguments + foreach ($aArgs as $k => $arg) { + if ((is_bool($arg)) && + (!PHPExcel_Calculation_Functions::isMatrixValue($k))) { + } else { + // Is it a numeric value? + if ((is_numeric($arg)) && (!is_string($arg))) { + $summer += pow((($arg - $mean) / $stdDev),3) ; + ++$count; + } + } + } + + // Return + if ($count > 2) { + return $summer * ($count / (($count-1) * ($count-2))); + } + return PHPExcel_Calculation_Functions::DIV0(); + } // function SKEW() + + + /** + * SLOPE + * + * Returns the slope of the linear regression line through data points in known_y's and known_x's. + * + * @param array of mixed Data Series Y + * @param array of mixed Data Series X + * @return float + */ + public static function SLOPE($yValues,$xValues) { + if (!self::_checkTrendArrays($yValues,$xValues)) { + return PHPExcel_Calculation_Functions::VALUE(); + } + $yValueCount = count($yValues); + $xValueCount = count($xValues); + + if (($yValueCount == 0) || ($yValueCount != $xValueCount)) { + return PHPExcel_Calculation_Functions::NA(); + } elseif ($yValueCount == 1) { + return PHPExcel_Calculation_Functions::DIV0(); + } + + $bestFitLinear = trendClass::calculate(trendClass::TREND_LINEAR,$yValues,$xValues); + return $bestFitLinear->getSlope(); + } // function SLOPE() + + + /** + * SMALL + * + * Returns the nth smallest value in a data set. You can use this function to + * select a value based on its relative standing. + * + * Excel Function: + * SMALL(value1[,value2[, ...]],entry) + * + * @access public + * @category Statistical Functions + * @param mixed $arg,... Data values + * @param int $entry Position (ordered from the smallest) in the array or range of data to return + * @return float + */ + public static function SMALL() { + $aArgs = PHPExcel_Calculation_Functions::flattenArray(func_get_args()); + + // Calculate + $entry = array_pop($aArgs); + + if ((is_numeric($entry)) && (!is_string($entry))) { + $mArgs = array(); + foreach ($aArgs as $arg) { + // Is it a numeric value? + if ((is_numeric($arg)) && (!is_string($arg))) { + $mArgs[] = $arg; + } + } + $count = self::COUNT($mArgs); + $entry = floor(--$entry); + if (($entry < 0) || ($entry >= $count) || ($count == 0)) { + return PHPExcel_Calculation_Functions::NaN(); + } + sort($mArgs); + return $mArgs[$entry]; + } + return PHPExcel_Calculation_Functions::VALUE(); + } // function SMALL() + + + /** + * STANDARDIZE + * + * Returns a normalized value from a distribution characterized by mean and standard_dev. + * + * @param float $value Value to normalize + * @param float $mean Mean Value + * @param float $stdDev Standard Deviation + * @return float Standardized value + */ + public static function STANDARDIZE($value,$mean,$stdDev) { + $value = PHPExcel_Calculation_Functions::flattenSingleValue($value); + $mean = PHPExcel_Calculation_Functions::flattenSingleValue($mean); + $stdDev = PHPExcel_Calculation_Functions::flattenSingleValue($stdDev); + + if ((is_numeric($value)) && (is_numeric($mean)) && (is_numeric($stdDev))) { + if ($stdDev <= 0) { + return PHPExcel_Calculation_Functions::NaN(); + } + return ($value - $mean) / $stdDev ; + } + return PHPExcel_Calculation_Functions::VALUE(); + } // function STANDARDIZE() + + + /** + * STDEV + * + * Estimates standard deviation based on a sample. The standard deviation is a measure of how + * widely values are dispersed from the average value (the mean). + * + * Excel Function: + * STDEV(value1[,value2[, ...]]) + * + * @access public + * @category Statistical Functions + * @param mixed $arg,... Data values + * @return float + */ + public static function STDEV() { + $aArgs = PHPExcel_Calculation_Functions::flattenArrayIndexed(func_get_args()); + + // Return value + $returnValue = null; + + $aMean = self::AVERAGE($aArgs); + if (!is_null($aMean)) { + $aCount = -1; + foreach ($aArgs as $k => $arg) { + if ((is_bool($arg)) && + ((!PHPExcel_Calculation_Functions::isCellValue($k)) || (PHPExcel_Calculation_Functions::getCompatibilityMode() == PHPExcel_Calculation_Functions::COMPATIBILITY_OPENOFFICE))) { + $arg = (integer) $arg; + } + // Is it a numeric value? + if ((is_numeric($arg)) && (!is_string($arg))) { + if (is_null($returnValue)) { + $returnValue = pow(($arg - $aMean),2); + } else { + $returnValue += pow(($arg - $aMean),2); + } + ++$aCount; + } + } + + // Return + if (($aCount > 0) && ($returnValue >= 0)) { + return sqrt($returnValue / $aCount); + } + } + return PHPExcel_Calculation_Functions::DIV0(); + } // function STDEV() + + + /** + * STDEVA + * + * Estimates standard deviation based on a sample, including numbers, text, and logical values + * + * Excel Function: + * STDEVA(value1[,value2[, ...]]) + * + * @access public + * @category Statistical Functions + * @param mixed $arg,... Data values + * @return float + */ + public static function STDEVA() { + $aArgs = PHPExcel_Calculation_Functions::flattenArrayIndexed(func_get_args()); + + // Return value + $returnValue = null; + + $aMean = self::AVERAGEA($aArgs); + if (!is_null($aMean)) { + $aCount = -1; + foreach ($aArgs as $k => $arg) { + if ((is_bool($arg)) && + (!PHPExcel_Calculation_Functions::isMatrixValue($k))) { + } else { + // Is it a numeric value? + if ((is_numeric($arg)) || (is_bool($arg)) || ((is_string($arg) & ($arg != '')))) { + if (is_bool($arg)) { + $arg = (integer) $arg; + } elseif (is_string($arg)) { + $arg = 0; + } + if (is_null($returnValue)) { + $returnValue = pow(($arg - $aMean),2); + } else { + $returnValue += pow(($arg - $aMean),2); + } + ++$aCount; + } + } + } + + // Return + if (($aCount > 0) && ($returnValue >= 0)) { + return sqrt($returnValue / $aCount); + } + } + return PHPExcel_Calculation_Functions::DIV0(); + } // function STDEVA() + + + /** + * STDEVP + * + * Calculates standard deviation based on the entire population + * + * Excel Function: + * STDEVP(value1[,value2[, ...]]) + * + * @access public + * @category Statistical Functions + * @param mixed $arg,... Data values + * @return float + */ + public static function STDEVP() { + $aArgs = PHPExcel_Calculation_Functions::flattenArrayIndexed(func_get_args()); + + // Return value + $returnValue = null; + + $aMean = self::AVERAGE($aArgs); + if (!is_null($aMean)) { + $aCount = 0; + foreach ($aArgs as $k => $arg) { + if ((is_bool($arg)) && + ((!PHPExcel_Calculation_Functions::isCellValue($k)) || (PHPExcel_Calculation_Functions::getCompatibilityMode() == PHPExcel_Calculation_Functions::COMPATIBILITY_OPENOFFICE))) { + $arg = (integer) $arg; + } + // Is it a numeric value? + if ((is_numeric($arg)) && (!is_string($arg))) { + if (is_null($returnValue)) { + $returnValue = pow(($arg - $aMean),2); + } else { + $returnValue += pow(($arg - $aMean),2); + } + ++$aCount; + } + } + + // Return + if (($aCount > 0) && ($returnValue >= 0)) { + return sqrt($returnValue / $aCount); + } + } + return PHPExcel_Calculation_Functions::DIV0(); + } // function STDEVP() + + + /** + * STDEVPA + * + * Calculates standard deviation based on the entire population, including numbers, text, and logical values + * + * Excel Function: + * STDEVPA(value1[,value2[, ...]]) + * + * @access public + * @category Statistical Functions + * @param mixed $arg,... Data values + * @return float + */ + public static function STDEVPA() { + $aArgs = PHPExcel_Calculation_Functions::flattenArrayIndexed(func_get_args()); + + // Return value + $returnValue = null; + + $aMean = self::AVERAGEA($aArgs); + if (!is_null($aMean)) { + $aCount = 0; + foreach ($aArgs as $k => $arg) { + if ((is_bool($arg)) && + (!PHPExcel_Calculation_Functions::isMatrixValue($k))) { + } else { + // Is it a numeric value? + if ((is_numeric($arg)) || (is_bool($arg)) || ((is_string($arg) & ($arg != '')))) { + if (is_bool($arg)) { + $arg = (integer) $arg; + } elseif (is_string($arg)) { + $arg = 0; + } + if (is_null($returnValue)) { + $returnValue = pow(($arg - $aMean),2); + } else { + $returnValue += pow(($arg - $aMean),2); + } + ++$aCount; + } + } + } + + // Return + if (($aCount > 0) && ($returnValue >= 0)) { + return sqrt($returnValue / $aCount); + } + } + return PHPExcel_Calculation_Functions::DIV0(); + } // function STDEVPA() + + + /** + * STEYX + * + * Returns the standard error of the predicted y-value for each x in the regression. + * + * @param array of mixed Data Series Y + * @param array of mixed Data Series X + * @return float + */ + public static function STEYX($yValues,$xValues) { + if (!self::_checkTrendArrays($yValues,$xValues)) { + return PHPExcel_Calculation_Functions::VALUE(); + } + $yValueCount = count($yValues); + $xValueCount = count($xValues); + + if (($yValueCount == 0) || ($yValueCount != $xValueCount)) { + return PHPExcel_Calculation_Functions::NA(); + } elseif ($yValueCount == 1) { + return PHPExcel_Calculation_Functions::DIV0(); + } + + $bestFitLinear = trendClass::calculate(trendClass::TREND_LINEAR,$yValues,$xValues); + return $bestFitLinear->getStdevOfResiduals(); + } // function STEYX() + + + /** + * TDIST + * + * Returns the probability of Student's T distribution. + * + * @param float $value Value for the function + * @param float $degrees degrees of freedom + * @param float $tails number of tails (1 or 2) + * @return float + */ + public static function TDIST($value, $degrees, $tails) { + $value = PHPExcel_Calculation_Functions::flattenSingleValue($value); + $degrees = floor(PHPExcel_Calculation_Functions::flattenSingleValue($degrees)); + $tails = floor(PHPExcel_Calculation_Functions::flattenSingleValue($tails)); + + if ((is_numeric($value)) && (is_numeric($degrees)) && (is_numeric($tails))) { + if (($value < 0) || ($degrees < 1) || ($tails < 1) || ($tails > 2)) { + return PHPExcel_Calculation_Functions::NaN(); + } + // tdist, which finds the probability that corresponds to a given value + // of t with k degrees of freedom. This algorithm is translated from a + // pascal function on p81 of "Statistical Computing in Pascal" by D + // Cooke, A H Craven & G M Clark (1985: Edward Arnold (Pubs.) Ltd: + // London). The above Pascal algorithm is itself a translation of the + // fortran algoritm "AS 3" by B E Cooper of the Atlas Computer + // Laboratory as reported in (among other places) "Applied Statistics + // Algorithms", editied by P Griffiths and I D Hill (1985; Ellis + // Horwood Ltd.; W. Sussex, England). + $tterm = $degrees; + $ttheta = atan2($value,sqrt($tterm)); + $tc = cos($ttheta); + $ts = sin($ttheta); + $tsum = 0; + + if (($degrees % 2) == 1) { + $ti = 3; + $tterm = $tc; + } else { + $ti = 2; + $tterm = 1; + } + + $tsum = $tterm; + while ($ti < $degrees) { + $tterm *= $tc * $tc * ($ti - 1) / $ti; + $tsum += $tterm; + $ti += 2; + } + $tsum *= $ts; + if (($degrees % 2) == 1) { $tsum = M_2DIVPI * ($tsum + $ttheta); } + $tValue = 0.5 * (1 + $tsum); + if ($tails == 1) { + return 1 - abs($tValue); + } else { + return 1 - abs((1 - $tValue) - $tValue); + } + } + return PHPExcel_Calculation_Functions::VALUE(); + } // function TDIST() + + + /** + * TINV + * + * Returns the one-tailed probability of the chi-squared distribution. + * + * @param float $probability Probability for the function + * @param float $degrees degrees of freedom + * @return float + */ + public static function TINV($probability, $degrees) { + $probability = PHPExcel_Calculation_Functions::flattenSingleValue($probability); + $degrees = floor(PHPExcel_Calculation_Functions::flattenSingleValue($degrees)); + + if ((is_numeric($probability)) && (is_numeric($degrees))) { + $xLo = 100; + $xHi = 0; + + $x = $xNew = 1; + $dx = 1; + $i = 0; + + while ((abs($dx) > PRECISION) && ($i++ < MAX_ITERATIONS)) { + // Apply Newton-Raphson step + $result = self::TDIST($x, $degrees, 2); + $error = $result - $probability; + if ($error == 0.0) { + $dx = 0; + } elseif ($error < 0.0) { + $xLo = $x; + } else { + $xHi = $x; + } + // Avoid division by zero + if ($result != 0.0) { + $dx = $error / $result; + $xNew = $x - $dx; + } + // If the NR fails to converge (which for example may be the + // case if the initial guess is too rough) we apply a bisection + // step to determine a more narrow interval around the root. + if (($xNew < $xLo) || ($xNew > $xHi) || ($result == 0.0)) { + $xNew = ($xLo + $xHi) / 2; + $dx = $xNew - $x; + } + $x = $xNew; + } + if ($i == MAX_ITERATIONS) { + return PHPExcel_Calculation_Functions::NA(); + } + return round($x,12); + } + return PHPExcel_Calculation_Functions::VALUE(); + } // function TINV() + + + /** + * TREND + * + * Returns values along a linear trend + * + * @param array of mixed Data Series Y + * @param array of mixed Data Series X + * @param array of mixed Values of X for which we want to find Y + * @param boolean A logical value specifying whether to force the intersect to equal 0. + * @return array of float + */ + public static function TREND($yValues,$xValues=array(),$newValues=array(),$const=True) { + $yValues = PHPExcel_Calculation_Functions::flattenArray($yValues); + $xValues = PHPExcel_Calculation_Functions::flattenArray($xValues); + $newValues = PHPExcel_Calculation_Functions::flattenArray($newValues); + $const = (is_null($const)) ? True : (boolean) PHPExcel_Calculation_Functions::flattenSingleValue($const); + + $bestFitLinear = trendClass::calculate(trendClass::TREND_LINEAR,$yValues,$xValues,$const); + if (empty($newValues)) { + $newValues = $bestFitLinear->getXValues(); + } + + $returnArray = array(); + foreach($newValues as $xValue) { + $returnArray[0][] = $bestFitLinear->getValueOfYForX($xValue); + } + + return $returnArray; + } // function TREND() + + + /** + * TRIMMEAN + * + * Returns the mean of the interior of a data set. TRIMMEAN calculates the mean + * taken by excluding a percentage of data points from the top and bottom tails + * of a data set. + * + * Excel Function: + * TRIMEAN(value1[,value2[, ...]],$discard) + * + * @access public + * @category Statistical Functions + * @param mixed $arg,... Data values + * @param float $discard Percentage to discard + * @return float + */ + public static function TRIMMEAN() { + $aArgs = PHPExcel_Calculation_Functions::flattenArray(func_get_args()); + + // Calculate + $percent = array_pop($aArgs); + + if ((is_numeric($percent)) && (!is_string($percent))) { + if (($percent < 0) || ($percent > 1)) { + return PHPExcel_Calculation_Functions::NaN(); + } + $mArgs = array(); + foreach ($aArgs as $arg) { + // Is it a numeric value? + if ((is_numeric($arg)) && (!is_string($arg))) { + $mArgs[] = $arg; + } + } + $discard = floor(self::COUNT($mArgs) * $percent / 2); + sort($mArgs); + for ($i=0; $i < $discard; ++$i) { + array_pop($mArgs); + array_shift($mArgs); + } + return self::AVERAGE($mArgs); + } + return PHPExcel_Calculation_Functions::VALUE(); + } // function TRIMMEAN() + + + /** + * VARFunc + * + * Estimates variance based on a sample. + * + * Excel Function: + * VAR(value1[,value2[, ...]]) + * + * @access public + * @category Statistical Functions + * @param mixed $arg,... Data values + * @return float + */ + public static function VARFunc() { + // Return value + $returnValue = PHPExcel_Calculation_Functions::DIV0(); + + $summerA = $summerB = 0; + + // Loop through arguments + $aArgs = PHPExcel_Calculation_Functions::flattenArray(func_get_args()); + $aCount = 0; + foreach ($aArgs as $arg) { + if (is_bool($arg)) { $arg = (integer) $arg; } + // Is it a numeric value? + if ((is_numeric($arg)) && (!is_string($arg))) { + $summerA += ($arg * $arg); + $summerB += $arg; + ++$aCount; + } + } + + // Return + if ($aCount > 1) { + $summerA *= $aCount; + $summerB *= $summerB; + $returnValue = ($summerA - $summerB) / ($aCount * ($aCount - 1)); + } + return $returnValue; + } // function VARFunc() + + + /** + * VARA + * + * Estimates variance based on a sample, including numbers, text, and logical values + * + * Excel Function: + * VARA(value1[,value2[, ...]]) + * + * @access public + * @category Statistical Functions + * @param mixed $arg,... Data values + * @return float + */ + public static function VARA() { + // Return value + $returnValue = PHPExcel_Calculation_Functions::DIV0(); + + $summerA = $summerB = 0; + + // Loop through arguments + $aArgs = PHPExcel_Calculation_Functions::flattenArrayIndexed(func_get_args()); + $aCount = 0; + foreach ($aArgs as $k => $arg) { + if ((is_string($arg)) && + (PHPExcel_Calculation_Functions::isValue($k))) { + return PHPExcel_Calculation_Functions::VALUE(); + } elseif ((is_string($arg)) && + (!PHPExcel_Calculation_Functions::isMatrixValue($k))) { + } else { + // Is it a numeric value? + if ((is_numeric($arg)) || (is_bool($arg)) || ((is_string($arg) & ($arg != '')))) { + if (is_bool($arg)) { + $arg = (integer) $arg; + } elseif (is_string($arg)) { + $arg = 0; + } + $summerA += ($arg * $arg); + $summerB += $arg; + ++$aCount; + } + } + } + + // Return + if ($aCount > 1) { + $summerA *= $aCount; + $summerB *= $summerB; + $returnValue = ($summerA - $summerB) / ($aCount * ($aCount - 1)); + } + return $returnValue; + } // function VARA() + + + /** + * VARP + * + * Calculates variance based on the entire population + * + * Excel Function: + * VARP(value1[,value2[, ...]]) + * + * @access public + * @category Statistical Functions + * @param mixed $arg,... Data values + * @return float + */ + public static function VARP() { + // Return value + $returnValue = PHPExcel_Calculation_Functions::DIV0(); + + $summerA = $summerB = 0; + + // Loop through arguments + $aArgs = PHPExcel_Calculation_Functions::flattenArray(func_get_args()); + $aCount = 0; + foreach ($aArgs as $arg) { + if (is_bool($arg)) { $arg = (integer) $arg; } + // Is it a numeric value? + if ((is_numeric($arg)) && (!is_string($arg))) { + $summerA += ($arg * $arg); + $summerB += $arg; + ++$aCount; + } + } + + // Return + if ($aCount > 0) { + $summerA *= $aCount; + $summerB *= $summerB; + $returnValue = ($summerA - $summerB) / ($aCount * $aCount); + } + return $returnValue; + } // function VARP() + + + /** + * VARPA + * + * Calculates variance based on the entire population, including numbers, text, and logical values + * + * Excel Function: + * VARPA(value1[,value2[, ...]]) + * + * @access public + * @category Statistical Functions + * @param mixed $arg,... Data values + * @return float + */ + public static function VARPA() { + // Return value + $returnValue = PHPExcel_Calculation_Functions::DIV0(); + + $summerA = $summerB = 0; + + // Loop through arguments + $aArgs = PHPExcel_Calculation_Functions::flattenArrayIndexed(func_get_args()); + $aCount = 0; + foreach ($aArgs as $k => $arg) { + if ((is_string($arg)) && + (PHPExcel_Calculation_Functions::isValue($k))) { + return PHPExcel_Calculation_Functions::VALUE(); + } elseif ((is_string($arg)) && + (!PHPExcel_Calculation_Functions::isMatrixValue($k))) { + } else { + // Is it a numeric value? + if ((is_numeric($arg)) || (is_bool($arg)) || ((is_string($arg) & ($arg != '')))) { + if (is_bool($arg)) { + $arg = (integer) $arg; + } elseif (is_string($arg)) { + $arg = 0; + } + $summerA += ($arg * $arg); + $summerB += $arg; + ++$aCount; + } + } + } + + // Return + if ($aCount > 0) { + $summerA *= $aCount; + $summerB *= $summerB; + $returnValue = ($summerA - $summerB) / ($aCount * $aCount); + } + return $returnValue; + } // function VARPA() + + + /** + * WEIBULL + * + * Returns the Weibull distribution. Use this distribution in reliability + * analysis, such as calculating a device's mean time to failure. + * + * @param float $value + * @param float $alpha Alpha Parameter + * @param float $beta Beta Parameter + * @param boolean $cumulative + * @return float + * + */ + public static function WEIBULL($value, $alpha, $beta, $cumulative) { + $value = PHPExcel_Calculation_Functions::flattenSingleValue($value); + $alpha = PHPExcel_Calculation_Functions::flattenSingleValue($alpha); + $beta = PHPExcel_Calculation_Functions::flattenSingleValue($beta); + + if ((is_numeric($value)) && (is_numeric($alpha)) && (is_numeric($beta))) { + if (($value < 0) || ($alpha <= 0) || ($beta <= 0)) { + return PHPExcel_Calculation_Functions::NaN(); + } + if ((is_numeric($cumulative)) || (is_bool($cumulative))) { + if ($cumulative) { + return 1 - exp(0 - pow($value / $beta,$alpha)); + } else { + return ($alpha / pow($beta,$alpha)) * pow($value,$alpha - 1) * exp(0 - pow($value / $beta,$alpha)); + } + } + } + return PHPExcel_Calculation_Functions::VALUE(); + } // function WEIBULL() + + + /** + * ZTEST + * + * Returns the Weibull distribution. Use this distribution in reliability + * analysis, such as calculating a device's mean time to failure. + * + * @param float $dataSet + * @param float $m0 Alpha Parameter + * @param float $sigma Beta Parameter + * @param boolean $cumulative + * @return float + * + */ + public static function ZTEST($dataSet, $m0, $sigma = NULL) { + $dataSet = PHPExcel_Calculation_Functions::flattenArrayIndexed($dataSet); + $m0 = PHPExcel_Calculation_Functions::flattenSingleValue($m0); + $sigma = PHPExcel_Calculation_Functions::flattenSingleValue($sigma); + + if (is_null($sigma)) { + $sigma = self::STDEV($dataSet); + } + $n = count($dataSet); + + return 1 - self::NORMSDIST((self::AVERAGE($dataSet) - $m0)/($sigma/SQRT($n))); + } // function ZTEST() + +} // class PHPExcel_Calculation_Statistical diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Calculation/TextData.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Calculation/TextData.php new file mode 100644 index 00000000..148a5b75 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Calculation/TextData.php @@ -0,0 +1,630 @@ +=0 && ord($c{0}) <= 127) + return ord($c{0}); + if (ord($c{0}) >= 192 && ord($c{0}) <= 223) + return (ord($c{0})-192)*64 + (ord($c{1})-128); + if (ord($c{0}) >= 224 && ord($c{0}) <= 239) + return (ord($c{0})-224)*4096 + (ord($c{1})-128)*64 + (ord($c{2})-128); + if (ord($c{0}) >= 240 && ord($c{0}) <= 247) + return (ord($c{0})-240)*262144 + (ord($c{1})-128)*4096 + (ord($c{2})-128)*64 + (ord($c{3})-128); + if (ord($c{0}) >= 248 && ord($c{0}) <= 251) + return (ord($c{0})-248)*16777216 + (ord($c{1})-128)*262144 + (ord($c{2})-128)*4096 + (ord($c{3})-128)*64 + (ord($c{4})-128); + if (ord($c{0}) >= 252 && ord($c{0}) <= 253) + return (ord($c{0})-252)*1073741824 + (ord($c{1})-128)*16777216 + (ord($c{2})-128)*262144 + (ord($c{3})-128)*4096 + (ord($c{4})-128)*64 + (ord($c{5})-128); + if (ord($c{0}) >= 254 && ord($c{0}) <= 255) //error + return PHPExcel_Calculation_Functions::VALUE(); + return 0; + } // function _uniord() + + /** + * CHARACTER + * + * @param string $character Value + * @return int + */ + public static function CHARACTER($character) { + $character = PHPExcel_Calculation_Functions::flattenSingleValue($character); + + if ((!is_numeric($character)) || ($character < 0)) { + return PHPExcel_Calculation_Functions::VALUE(); + } + + if (function_exists('mb_convert_encoding')) { + return mb_convert_encoding('&#'.intval($character).';', 'UTF-8', 'HTML-ENTITIES'); + } else { + return chr(intval($character)); + } + } + + + /** + * TRIMNONPRINTABLE + * + * @param mixed $stringValue Value to check + * @return string + */ + public static function TRIMNONPRINTABLE($stringValue = '') { + $stringValue = PHPExcel_Calculation_Functions::flattenSingleValue($stringValue); + + if (is_bool($stringValue)) { + return ($stringValue) ? PHPExcel_Calculation::getTRUE() : PHPExcel_Calculation::getFALSE(); + } + + if (self::$_invalidChars == Null) { + self::$_invalidChars = range(chr(0),chr(31)); + } + + if (is_string($stringValue) || is_numeric($stringValue)) { + return str_replace(self::$_invalidChars, '', trim($stringValue, "\x00..\x1F")); + } + return NULL; + } // function TRIMNONPRINTABLE() + + + /** + * TRIMSPACES + * + * @param mixed $stringValue Value to check + * @return string + */ + public static function TRIMSPACES($stringValue = '') { + $stringValue = PHPExcel_Calculation_Functions::flattenSingleValue($stringValue); + if (is_bool($stringValue)) { + return ($stringValue) ? PHPExcel_Calculation::getTRUE() : PHPExcel_Calculation::getFALSE(); + } + + if (is_string($stringValue) || is_numeric($stringValue)) { + return trim(preg_replace('/ +/',' ',trim($stringValue, ' ')), ' '); + } + return NULL; + } // function TRIMSPACES() + + + /** + * ASCIICODE + * + * @param string $characters Value + * @return int + */ + public static function ASCIICODE($characters) { + if (($characters === NULL) || ($characters === '')) + return PHPExcel_Calculation_Functions::VALUE(); + $characters = PHPExcel_Calculation_Functions::flattenSingleValue($characters); + if (is_bool($characters)) { + if (PHPExcel_Calculation_Functions::getCompatibilityMode() == PHPExcel_Calculation_Functions::COMPATIBILITY_OPENOFFICE) { + $characters = (int) $characters; + } else { + $characters = ($characters) ? PHPExcel_Calculation::getTRUE() : PHPExcel_Calculation::getFALSE(); + } + } + + $character = $characters; + if ((function_exists('mb_strlen')) && (function_exists('mb_substr'))) { + if (mb_strlen($characters, 'UTF-8') > 1) { $character = mb_substr($characters, 0, 1, 'UTF-8'); } + return self::_uniord($character); + } else { + if (strlen($characters) > 0) { $character = substr($characters, 0, 1); } + return ord($character); + } + } // function ASCIICODE() + + + /** + * CONCATENATE + * + * @return string + */ + public static function CONCATENATE() { + // Return value + $returnValue = ''; + + // Loop through arguments + $aArgs = PHPExcel_Calculation_Functions::flattenArray(func_get_args()); + foreach ($aArgs as $arg) { + if (is_bool($arg)) { + if (PHPExcel_Calculation_Functions::getCompatibilityMode() == PHPExcel_Calculation_Functions::COMPATIBILITY_OPENOFFICE) { + $arg = (int) $arg; + } else { + $arg = ($arg) ? PHPExcel_Calculation::getTRUE() : PHPExcel_Calculation::getFALSE(); + } + } + $returnValue .= $arg; + } + + // Return + return $returnValue; + } // function CONCATENATE() + + + /** + * DOLLAR + * + * This function converts a number to text using currency format, with the decimals rounded to the specified place. + * The format used is $#,##0.00_);($#,##0.00).. + * + * @param float $value The value to format + * @param int $decimals The number of digits to display to the right of the decimal point. + * If decimals is negative, number is rounded to the left of the decimal point. + * If you omit decimals, it is assumed to be 2 + * @return string + */ + public static function DOLLAR($value = 0, $decimals = 2) { + $value = PHPExcel_Calculation_Functions::flattenSingleValue($value); + $decimals = is_null($decimals) ? 0 : PHPExcel_Calculation_Functions::flattenSingleValue($decimals); + + // Validate parameters + if (!is_numeric($value) || !is_numeric($decimals)) { + return PHPExcel_Calculation_Functions::NaN(); + } + $decimals = floor($decimals); + + $mask = '$#,##0'; + if ($decimals > 0) { + $mask .= '.' . str_repeat('0',$decimals); + } else { + $round = pow(10,abs($decimals)); + if ($value < 0) { $round = 0-$round; } + $value = PHPExcel_Calculation_MathTrig::MROUND($value, $round); + } + + return PHPExcel_Style_NumberFormat::toFormattedString($value, $mask); + + } // function DOLLAR() + + + /** + * SEARCHSENSITIVE + * + * @param string $needle The string to look for + * @param string $haystack The string in which to look + * @param int $offset Offset within $haystack + * @return string + */ + public static function SEARCHSENSITIVE($needle,$haystack,$offset=1) { + $needle = PHPExcel_Calculation_Functions::flattenSingleValue($needle); + $haystack = PHPExcel_Calculation_Functions::flattenSingleValue($haystack); + $offset = PHPExcel_Calculation_Functions::flattenSingleValue($offset); + + if (!is_bool($needle)) { + if (is_bool($haystack)) { + $haystack = ($haystack) ? PHPExcel_Calculation::getTRUE() : PHPExcel_Calculation::getFALSE(); + } + + if (($offset > 0) && (PHPExcel_Shared_String::CountCharacters($haystack) > $offset)) { + if (PHPExcel_Shared_String::CountCharacters($needle) == 0) { + return $offset; + } + if (function_exists('mb_strpos')) { + $pos = mb_strpos($haystack, $needle, --$offset, 'UTF-8'); + } else { + $pos = strpos($haystack, $needle, --$offset); + } + if ($pos !== false) { + return ++$pos; + } + } + } + return PHPExcel_Calculation_Functions::VALUE(); + } // function SEARCHSENSITIVE() + + + /** + * SEARCHINSENSITIVE + * + * @param string $needle The string to look for + * @param string $haystack The string in which to look + * @param int $offset Offset within $haystack + * @return string + */ + public static function SEARCHINSENSITIVE($needle,$haystack,$offset=1) { + $needle = PHPExcel_Calculation_Functions::flattenSingleValue($needle); + $haystack = PHPExcel_Calculation_Functions::flattenSingleValue($haystack); + $offset = PHPExcel_Calculation_Functions::flattenSingleValue($offset); + + if (!is_bool($needle)) { + if (is_bool($haystack)) { + $haystack = ($haystack) ? PHPExcel_Calculation::getTRUE() : PHPExcel_Calculation::getFALSE(); + } + + if (($offset > 0) && (PHPExcel_Shared_String::CountCharacters($haystack) > $offset)) { + if (PHPExcel_Shared_String::CountCharacters($needle) == 0) { + return $offset; + } + if (function_exists('mb_stripos')) { + $pos = mb_stripos($haystack, $needle, --$offset,'UTF-8'); + } else { + $pos = stripos($haystack, $needle, --$offset); + } + if ($pos !== false) { + return ++$pos; + } + } + } + return PHPExcel_Calculation_Functions::VALUE(); + } // function SEARCHINSENSITIVE() + + + /** + * FIXEDFORMAT + * + * @param mixed $value Value to check + * @param integer $decimals + * @param boolean $no_commas + * @return boolean + */ + public static function FIXEDFORMAT($value, $decimals = 2, $no_commas = FALSE) { + $value = PHPExcel_Calculation_Functions::flattenSingleValue($value); + $decimals = PHPExcel_Calculation_Functions::flattenSingleValue($decimals); + $no_commas = PHPExcel_Calculation_Functions::flattenSingleValue($no_commas); + + // Validate parameters + if (!is_numeric($value) || !is_numeric($decimals)) { + return PHPExcel_Calculation_Functions::NaN(); + } + $decimals = floor($decimals); + + $valueResult = round($value,$decimals); + if ($decimals < 0) { $decimals = 0; } + if (!$no_commas) { + $valueResult = number_format($valueResult,$decimals); + } + + return (string) $valueResult; + } // function FIXEDFORMAT() + + + /** + * LEFT + * + * @param string $value Value + * @param int $chars Number of characters + * @return string + */ + public static function LEFT($value = '', $chars = 1) { + $value = PHPExcel_Calculation_Functions::flattenSingleValue($value); + $chars = PHPExcel_Calculation_Functions::flattenSingleValue($chars); + + if ($chars < 0) { + return PHPExcel_Calculation_Functions::VALUE(); + } + + if (is_bool($value)) { + $value = ($value) ? PHPExcel_Calculation::getTRUE() : PHPExcel_Calculation::getFALSE(); + } + + if (function_exists('mb_substr')) { + return mb_substr($value, 0, $chars, 'UTF-8'); + } else { + return substr($value, 0, $chars); + } + } // function LEFT() + + + /** + * MID + * + * @param string $value Value + * @param int $start Start character + * @param int $chars Number of characters + * @return string + */ + public static function MID($value = '', $start = 1, $chars = null) { + $value = PHPExcel_Calculation_Functions::flattenSingleValue($value); + $start = PHPExcel_Calculation_Functions::flattenSingleValue($start); + $chars = PHPExcel_Calculation_Functions::flattenSingleValue($chars); + + if (($start < 1) || ($chars < 0)) { + return PHPExcel_Calculation_Functions::VALUE(); + } + + if (is_bool($value)) { + $value = ($value) ? PHPExcel_Calculation::getTRUE() : PHPExcel_Calculation::getFALSE(); + } + + if (function_exists('mb_substr')) { + return mb_substr($value, --$start, $chars, 'UTF-8'); + } else { + return substr($value, --$start, $chars); + } + } // function MID() + + + /** + * RIGHT + * + * @param string $value Value + * @param int $chars Number of characters + * @return string + */ + public static function RIGHT($value = '', $chars = 1) { + $value = PHPExcel_Calculation_Functions::flattenSingleValue($value); + $chars = PHPExcel_Calculation_Functions::flattenSingleValue($chars); + + if ($chars < 0) { + return PHPExcel_Calculation_Functions::VALUE(); + } + + if (is_bool($value)) { + $value = ($value) ? PHPExcel_Calculation::getTRUE() : PHPExcel_Calculation::getFALSE(); + } + + if ((function_exists('mb_substr')) && (function_exists('mb_strlen'))) { + return mb_substr($value, mb_strlen($value, 'UTF-8') - $chars, $chars, 'UTF-8'); + } else { + return substr($value, strlen($value) - $chars); + } + } // function RIGHT() + + + /** + * STRINGLENGTH + * + * @param string $value Value + * @return string + */ + public static function STRINGLENGTH($value = '') { + $value = PHPExcel_Calculation_Functions::flattenSingleValue($value); + + if (is_bool($value)) { + $value = ($value) ? PHPExcel_Calculation::getTRUE() : PHPExcel_Calculation::getFALSE(); + } + + if (function_exists('mb_strlen')) { + return mb_strlen($value, 'UTF-8'); + } else { + return strlen($value); + } + } // function STRINGLENGTH() + + + /** + * LOWERCASE + * + * Converts a string value to upper case. + * + * @param string $mixedCaseString + * @return string + */ + public static function LOWERCASE($mixedCaseString) { + $mixedCaseString = PHPExcel_Calculation_Functions::flattenSingleValue($mixedCaseString); + + if (is_bool($mixedCaseString)) { + $mixedCaseString = ($mixedCaseString) ? PHPExcel_Calculation::getTRUE() : PHPExcel_Calculation::getFALSE(); + } + + return PHPExcel_Shared_String::StrToLower($mixedCaseString); + } // function LOWERCASE() + + + /** + * UPPERCASE + * + * Converts a string value to upper case. + * + * @param string $mixedCaseString + * @return string + */ + public static function UPPERCASE($mixedCaseString) { + $mixedCaseString = PHPExcel_Calculation_Functions::flattenSingleValue($mixedCaseString); + + if (is_bool($mixedCaseString)) { + $mixedCaseString = ($mixedCaseString) ? PHPExcel_Calculation::getTRUE() : PHPExcel_Calculation::getFALSE(); + } + + return PHPExcel_Shared_String::StrToUpper($mixedCaseString); + } // function UPPERCASE() + + + /** + * PROPERCASE + * + * Converts a string value to upper case. + * + * @param string $mixedCaseString + * @return string + */ + public static function PROPERCASE($mixedCaseString) { + $mixedCaseString = PHPExcel_Calculation_Functions::flattenSingleValue($mixedCaseString); + + if (is_bool($mixedCaseString)) { + $mixedCaseString = ($mixedCaseString) ? PHPExcel_Calculation::getTRUE() : PHPExcel_Calculation::getFALSE(); + } + + return PHPExcel_Shared_String::StrToTitle($mixedCaseString); + } // function PROPERCASE() + + + /** + * REPLACE + * + * @param string $oldText String to modify + * @param int $start Start character + * @param int $chars Number of characters + * @param string $newText String to replace in defined position + * @return string + */ + public static function REPLACE($oldText = '', $start = 1, $chars = null, $newText) { + $oldText = PHPExcel_Calculation_Functions::flattenSingleValue($oldText); + $start = PHPExcel_Calculation_Functions::flattenSingleValue($start); + $chars = PHPExcel_Calculation_Functions::flattenSingleValue($chars); + $newText = PHPExcel_Calculation_Functions::flattenSingleValue($newText); + + $left = self::LEFT($oldText,$start-1); + $right = self::RIGHT($oldText,self::STRINGLENGTH($oldText)-($start+$chars)+1); + + return $left.$newText.$right; + } // function REPLACE() + + + /** + * SUBSTITUTE + * + * @param string $text Value + * @param string $fromText From Value + * @param string $toText To Value + * @param integer $instance Instance Number + * @return string + */ + public static function SUBSTITUTE($text = '', $fromText = '', $toText = '', $instance = 0) { + $text = PHPExcel_Calculation_Functions::flattenSingleValue($text); + $fromText = PHPExcel_Calculation_Functions::flattenSingleValue($fromText); + $toText = PHPExcel_Calculation_Functions::flattenSingleValue($toText); + $instance = floor(PHPExcel_Calculation_Functions::flattenSingleValue($instance)); + + if ($instance == 0) { + if(function_exists('mb_str_replace')) { + return mb_str_replace($fromText,$toText,$text); + } else { + return str_replace($fromText,$toText,$text); + } + } else { + $pos = -1; + while($instance > 0) { + if (function_exists('mb_strpos')) { + $pos = mb_strpos($text, $fromText, $pos+1, 'UTF-8'); + } else { + $pos = strpos($text, $fromText, $pos+1); + } + if ($pos === false) { + break; + } + --$instance; + } + if ($pos !== false) { + if (function_exists('mb_strlen')) { + return self::REPLACE($text,++$pos,mb_strlen($fromText, 'UTF-8'),$toText); + } else { + return self::REPLACE($text,++$pos,strlen($fromText),$toText); + } + } + } + + return $text; + } // function SUBSTITUTE() + + + /** + * RETURNSTRING + * + * @param mixed $testValue Value to check + * @return boolean + */ + public static function RETURNSTRING($testValue = '') { + $testValue = PHPExcel_Calculation_Functions::flattenSingleValue($testValue); + + if (is_string($testValue)) { + return $testValue; + } + return Null; + } // function RETURNSTRING() + + + /** + * TEXTFORMAT + * + * @param mixed $value Value to check + * @param string $format Format mask to use + * @return boolean + */ + public static function TEXTFORMAT($value,$format) { + $value = PHPExcel_Calculation_Functions::flattenSingleValue($value); + $format = PHPExcel_Calculation_Functions::flattenSingleValue($format); + + if ((is_string($value)) && (!is_numeric($value)) && PHPExcel_Shared_Date::isDateTimeFormatCode($format)) { + $value = PHPExcel_Calculation_DateTime::DATEVALUE($value); + } + + return (string) PHPExcel_Style_NumberFormat::toFormattedString($value,$format); + } // function TEXTFORMAT() + + /** + * VALUE + * + * @param mixed $value Value to check + * @return boolean + */ + public static function VALUE($value = '') { + $value = PHPExcel_Calculation_Functions::flattenSingleValue($value); + + if (!is_numeric($value)) { + $numberValue = str_replace( + PHPExcel_Shared_String::getThousandsSeparator(), + '', + trim($value, " \t\n\r\0\x0B" . PHPExcel_Shared_String::getCurrencyCode()) + ); + if (is_numeric($numberValue)) { + return (float) $numberValue; + } + + $dateSetting = PHPExcel_Calculation_Functions::getReturnDateType(); + PHPExcel_Calculation_Functions::setReturnDateType(PHPExcel_Calculation_Functions::RETURNDATE_EXCEL); + + if (strpos($value, ':') !== false) { + $timeValue = PHPExcel_Calculation_DateTime::TIMEVALUE($value); + if ($timeValue !== PHPExcel_Calculation_Functions::VALUE()) { + PHPExcel_Calculation_Functions::setReturnDateType($dateSetting); + return $timeValue; + } + } + $dateValue = PHPExcel_Calculation_DateTime::DATEVALUE($value); + if ($dateValue !== PHPExcel_Calculation_Functions::VALUE()) { + PHPExcel_Calculation_Functions::setReturnDateType($dateSetting); + return $dateValue; + } + PHPExcel_Calculation_Functions::setReturnDateType($dateSetting); + + return PHPExcel_Calculation_Functions::VALUE(); + } + return (float) $value; + } + +} diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Calculation/Token/Stack.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Calculation/Token/Stack.php new file mode 100644 index 00000000..57963e73 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Calculation/Token/Stack.php @@ -0,0 +1,115 @@ +_count; + } // function count() + + /** + * Push a new entry onto the stack + * + * @param mixed $type + * @param mixed $value + * @param mixed $reference + */ + public function push($type, $value, $reference = NULL) { + $this->_stack[$this->_count++] = array('type' => $type, + 'value' => $value, + 'reference' => $reference + ); + if ($type == 'Function') { + $localeFunction = PHPExcel_Calculation::_localeFunc($value); + if ($localeFunction != $value) { + $this->_stack[($this->_count - 1)]['localeValue'] = $localeFunction; + } + } + } // function push() + + /** + * Pop the last entry from the stack + * + * @return mixed + */ + public function pop() { + if ($this->_count > 0) { + return $this->_stack[--$this->_count]; + } + return NULL; + } // function pop() + + /** + * Return an entry from the stack without removing it + * + * @param integer $n number indicating how far back in the stack we want to look + * @return mixed + */ + public function last($n = 1) { + if ($this->_count - $n < 0) { + return NULL; + } + return $this->_stack[$this->_count - $n]; + } // function last() + + /** + * Clear the stack + */ + function clear() { + $this->_stack = array(); + $this->_count = 0; + } + +} // class PHPExcel_Calculation_Token_Stack diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Calculation/functionlist.txt b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Calculation/functionlist.txt new file mode 100644 index 00000000..67dbd49c --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Calculation/functionlist.txt @@ -0,0 +1,351 @@ +ABS +ACCRINT +ACCRINTM +ACOS +ACOSH +ADDRESS +AMORDEGRC +AMORLINC +AND +AREAS +ASC +ASIN +ASINH +ATAN +ATAN2 +ATANH +AVEDEV +AVERAGE +AVERAGEA +AVERAGEIF +AVERAGEIFS +BAHTTEXT +BESSELI +BESSELJ +BESSELK +BESSELY +BETADIST +BETAINV +BIN2DEC +BIN2HEX +BIN2OCT +BINOMDIST +CEILING +CELL +CHAR +CHIDIST +CHIINV +CHITEST +CHOOSE +CLEAN +CODE +COLUMN +COLUMNS +COMBIN +COMPLEX +CONCATENATE +CONFIDENCE +CONVERT +CORREL +COS +COSH +COUNT +COUNTA +COUNTBLANK +COUNTIF +COUNTIFS +COUPDAYBS +COUPDAYBS +COUPDAYSNC +COUPNCD +COUPNUM +COUPPCD +COVAR +CRITBINOM +CUBEKPIMEMBER +CUBEMEMBER +CUBEMEMBERPROPERTY +CUBERANKEDMEMBER +CUBESET +CUBESETCOUNT +CUBEVALUE +CUMIPMT +CUMPRINC +DATE +DATEDIF +DATEVALUE +DAVERAGE +DAY +DAYS360 +DB +DCOUNT +DCOUNTA +DDB +DEC2BIN +DEC2HEX +DEC2OCT +DEGREES +DELTA +DEVSQ +DGET +DISC +DMAX +DMIN +DOLLAR +DOLLARDE +DOLLARFR +DPRODUCT +DSTDEV +DSTDEVP +DSUM +DURATION +DVAR +DVARP +EDATE +EFFECT +EOMONTH +ERF +ERFC +ERROR.TYPE +EVEN +EXACT +EXP +EXPONDIST +FACT +FACTDOUBLE +FALSE +FDIST +FIND +FINDB +FINV +FISHER +FISHERINV +FIXED +FLOOR +FORECAST +FREQUENCY +FTEST +FV +FVSCHEDULE +GAMAMDIST +GAMMAINV +GAMMALN +GCD +GEOMEAN +GESTEP +GETPIVOTDATA +GROWTH +HARMEAN +HEX2BIN +HEX2OCT +HLOOKUP +HOUR +HYPERLINK +HYPGEOMDIST +IF +IFERROR +IMABS +IMAGINARY +IMARGUMENT +IMCONJUGATE +IMCOS +IMEXP +IMLN +IMLOG10 +IMLOG2 +IMPOWER +IMPRODUCT +IMREAL +IMSIN +IMSQRT +IMSUB +IMSUM +INDEX +INDIRECT +INFO +INT +INTERCEPT +INTRATE +IPMT +IRR +ISBLANK +ISERR +ISERROR +ISEVEN +ISLOGICAL +ISNA +ISNONTEXT +ISNUMBER +ISODD +ISPMT +ISREF +ISTEXT +JIS +KURT +LARGE +LCM +LEFT +LEFTB +LEN +LENB +LINEST +LN +LOG +LOG10 +LOGEST +LOGINV +LOGNORMDIST +LOOKUP +LOWER +MATCH +MAX +MAXA +MDETERM +MDURATION +MEDIAN +MID +MIDB +MIN +MINA +MINUTE +MINVERSE +MIRR +MMULT +MOD +MODE +MONTH +MROUND +MULTINOMIAL +N +NA +NEGBINOMDIST +NETWORKDAYS +NOMINAL +NORMDIST +NORMINV +NORMSDIST +NORMSINV +NOT +NOW +NPER +NPV +OCT2BIN +OCT2DEC +OCT2HEX +ODD +ODDFPRICE +ODDFYIELD +ODDLPRICE +ODDLYIELD +OFFSET +OR +PEARSON +PERCENTILE +PERCENTRANK +PERMUT +PHONETIC +PI +PMT +POISSON +POWER +PPMT +PRICE +PRICEDISC +PRICEMAT +PROB +PRODUCT +PROPER +PV +QUARTILE +QUOTIENT +RADIANS +RAND +RANDBETWEEN +RANK +RATE +RECEIVED +REPLACE +REPLACEB +REPT +RIGHT +RIGHTB +ROMAN +ROUND +ROUNDDOWN +ROUNDUP +ROW +ROWS +RSQ +RTD +SEARCH +SEARCHB +SECOND +SERIESSUM +SIGN +SIN +SINH +SKEW +SLN +SLOPE +SMALL +SQRT +SQRTPI +STANDARDIZE +STDEV +STDEVA +STDEVP +STDEVPA +STEYX +SUBSTITUTE +SUBTOTAL +SUM +SUMIF +SUMIFS +SUMPRODUCT +SUMSQ +SUMX2MY2 +SUMX2PY2 +SUMXMY2 +SYD +T +TAN +TANH +TBILLEQ +TBILLPRICE +TBILLYIELD +TDIST +TEXT +TIME +TIMEVALUE +TINV +TODAY +TRANSPOSE +TREND +TRIM +TRIMMEAN +TRUE +TRUNC +TTEST +TYPE +UPPER +USDOLLAR +VALUE +VAR +VARA +VARP +VARPA +VDB +VERSION +VLOOKUP +WEEKDAY +WEEKNUM +WEIBULL +WORKDAY +XIRR +XNPV +YEAR +YEARFRAC +YIELD +YIELDDISC +YIELDMAT +ZTEST diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Cell.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Cell.php new file mode 100644 index 00000000..2d5f9102 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Cell.php @@ -0,0 +1,1022 @@ +_parent->updateCacheData($this); + + return $this; + } + + public function detach() { + $this->_parent = NULL; + } + + public function attach(PHPExcel_CachedObjectStorage_CacheBase $parent) { + $this->_parent = $parent; + } + + + /** + * Create a new Cell + * + * @param mixed $pValue + * @param string $pDataType + * @param PHPExcel_Worksheet $pSheet + * @throws PHPExcel_Exception + */ + public function __construct($pValue = NULL, $pDataType = NULL, PHPExcel_Worksheet $pSheet = NULL) + { + // Initialise cell value + $this->_value = $pValue; + + // Set worksheet cache + $this->_parent = $pSheet->getCellCacheController(); + + // Set datatype? + if ($pDataType !== NULL) { + if ($pDataType == PHPExcel_Cell_DataType::TYPE_STRING2) + $pDataType = PHPExcel_Cell_DataType::TYPE_STRING; + $this->_dataType = $pDataType; + } elseif (!self::getValueBinder()->bindValue($this, $pValue)) { + throw new PHPExcel_Exception("Value could not be bound to cell."); + } + } + + /** + * Get cell coordinate column + * + * @return string + */ + public function getColumn() + { + return $this->_parent->getCurrentColumn(); + } + + /** + * Get cell coordinate row + * + * @return int + */ + public function getRow() + { + return $this->_parent->getCurrentRow(); + } + + /** + * Get cell coordinate + * + * @return string + */ + public function getCoordinate() + { + return $this->_parent->getCurrentAddress(); + } + + /** + * Get cell value + * + * @return mixed + */ + public function getValue() + { + return $this->_value; + } + + /** + * Get cell value with formatting + * + * @return string + */ + public function getFormattedValue() + { + return (string) PHPExcel_Style_NumberFormat::toFormattedString( + $this->getCalculatedValue(), + $this->getStyle() + ->getNumberFormat()->getFormatCode() + ); + } + + /** + * Set cell value + * + * Sets the value for a cell, automatically determining the datatype using the value binder + * + * @param mixed $pValue Value + * @return PHPExcel_Cell + * @throws PHPExcel_Exception + */ + public function setValue($pValue = NULL) + { + if (!self::getValueBinder()->bindValue($this, $pValue)) { + throw new PHPExcel_Exception("Value could not be bound to cell."); + } + return $this; + } + + /** + * Set the value for a cell, with the explicit data type passed to the method (bypassing any use of the value binder) + * + * @param mixed $pValue Value + * @param string $pDataType Explicit data type + * @return PHPExcel_Cell + * @throws PHPExcel_Exception + */ + public function setValueExplicit($pValue = NULL, $pDataType = PHPExcel_Cell_DataType::TYPE_STRING) + { + // set the value according to data type + switch ($pDataType) { + case PHPExcel_Cell_DataType::TYPE_NULL: + $this->_value = $pValue; + break; + case PHPExcel_Cell_DataType::TYPE_STRING2: + $pDataType = PHPExcel_Cell_DataType::TYPE_STRING; + case PHPExcel_Cell_DataType::TYPE_STRING: + case PHPExcel_Cell_DataType::TYPE_INLINE: + $this->_value = PHPExcel_Cell_DataType::checkString($pValue); + break; + case PHPExcel_Cell_DataType::TYPE_NUMERIC: + $this->_value = (float)$pValue; + break; + case PHPExcel_Cell_DataType::TYPE_FORMULA: + $this->_value = (string)$pValue; + break; + case PHPExcel_Cell_DataType::TYPE_BOOL: + $this->_value = (bool)$pValue; + break; + case PHPExcel_Cell_DataType::TYPE_ERROR: + $this->_value = PHPExcel_Cell_DataType::checkErrorCode($pValue); + break; + default: + throw new PHPExcel_Exception('Invalid datatype: ' . $pDataType); + break; + } + + // set the datatype + $this->_dataType = $pDataType; + + return $this->notifyCacheController(); + } + + /** + * Get calculated cell value + * + * @deprecated Since version 1.7.8 for planned changes to cell for array formula handling + * + * @param boolean $resetLog Whether the calculation engine logger should be reset or not + * @return mixed + * @throws PHPExcel_Exception + */ + public function getCalculatedValue($resetLog = TRUE) + { +//echo 'Cell '.$this->getCoordinate().' value is a '.$this->_dataType.' with a value of '.$this->getValue().PHP_EOL; + if ($this->_dataType == PHPExcel_Cell_DataType::TYPE_FORMULA) { + try { +//echo 'Cell value for '.$this->getCoordinate().' is a formula: Calculating value'.PHP_EOL; + $result = PHPExcel_Calculation::getInstance( + $this->getWorksheet()->getParent() + )->calculateCellValue($this,$resetLog); +//echo $this->getCoordinate().' calculation result is '.$result.PHP_EOL; + // We don't yet handle array returns + if (is_array($result)) { + while (is_array($result)) { + $result = array_pop($result); + } + } + } catch ( PHPExcel_Exception $ex ) { + if (($ex->getMessage() === 'Unable to access External Workbook') && ($this->_calculatedValue !== NULL)) { +//echo 'Returning fallback value of '.$this->_calculatedValue.' for cell '.$this->getCoordinate().PHP_EOL; + return $this->_calculatedValue; // Fallback for calculations referencing external files. + } +//echo 'Calculation Exception: '.$ex->getMessage().PHP_EOL; + $result = '#N/A'; + throw new PHPExcel_Calculation_Exception( + $this->getWorksheet()->getTitle().'!'.$this->getCoordinate().' -> '.$ex->getMessage() + ); + } + + if ($result === '#Not Yet Implemented') { +//echo 'Returning fallback value of '.$this->_calculatedValue.' for cell '.$this->getCoordinate().PHP_EOL; + return $this->_calculatedValue; // Fallback if calculation engine does not support the formula. + } +//echo 'Returning calculated value of '.$result.' for cell '.$this->getCoordinate().PHP_EOL; + return $result; + } elseif($this->_value instanceof PHPExcel_RichText) { +// echo 'Cell value for '.$this->getCoordinate().' is rich text: Returning data value of '.$this->_value.'
'; + return $this->_value->getPlainText(); + } +// echo 'Cell value for '.$this->getCoordinate().' is not a formula: Returning data value of '.$this->_value.'
'; + return $this->_value; + } + + /** + * Set old calculated value (cached) + * + * @param mixed $pValue Value + * @return PHPExcel_Cell + */ + public function setCalculatedValue($pValue = NULL) + { + if ($pValue !== NULL) { + $this->_calculatedValue = (is_numeric($pValue)) ? (float) $pValue : $pValue; + } + + return $this->notifyCacheController(); + } + + /** + * Get old calculated value (cached) + * This returns the value last calculated by MS Excel or whichever spreadsheet program was used to + * create the original spreadsheet file. + * Note that this value is not guaranteed to refelect the actual calculated value because it is + * possible that auto-calculation was disabled in the original spreadsheet, and underlying data + * values used by the formula have changed since it was last calculated. + * + * @return mixed + */ + public function getOldCalculatedValue() + { + return $this->_calculatedValue; + } + + /** + * Get cell data type + * + * @return string + */ + public function getDataType() + { + return $this->_dataType; + } + + /** + * Set cell data type + * + * @param string $pDataType + * @return PHPExcel_Cell + */ + public function setDataType($pDataType = PHPExcel_Cell_DataType::TYPE_STRING) + { + if ($pDataType == PHPExcel_Cell_DataType::TYPE_STRING2) + $pDataType = PHPExcel_Cell_DataType::TYPE_STRING; + + $this->_dataType = $pDataType; + + return $this->notifyCacheController(); + } + + /** + * Identify if the cell contains a formula + * + * @return boolean + */ + public function isFormula() + { + return $this->_dataType == PHPExcel_Cell_DataType::TYPE_FORMULA; + } + + /** + * Does this cell contain Data validation rules? + * + * @return boolean + * @throws PHPExcel_Exception + */ + public function hasDataValidation() + { + if (!isset($this->_parent)) { + throw new PHPExcel_Exception('Cannot check for data validation when cell is not bound to a worksheet'); + } + + return $this->getWorksheet()->dataValidationExists($this->getCoordinate()); + } + + /** + * Get Data validation rules + * + * @return PHPExcel_Cell_DataValidation + * @throws PHPExcel_Exception + */ + public function getDataValidation() + { + if (!isset($this->_parent)) { + throw new PHPExcel_Exception('Cannot get data validation for cell that is not bound to a worksheet'); + } + + return $this->getWorksheet()->getDataValidation($this->getCoordinate()); + } + + /** + * Set Data validation rules + * + * @param PHPExcel_Cell_DataValidation $pDataValidation + * @return PHPExcel_Cell + * @throws PHPExcel_Exception + */ + public function setDataValidation(PHPExcel_Cell_DataValidation $pDataValidation = NULL) + { + if (!isset($this->_parent)) { + throw new PHPExcel_Exception('Cannot set data validation for cell that is not bound to a worksheet'); + } + + $this->getWorksheet()->setDataValidation($this->getCoordinate(), $pDataValidation); + + return $this->notifyCacheController(); + } + + /** + * Does this cell contain a Hyperlink? + * + * @return boolean + * @throws PHPExcel_Exception + */ + public function hasHyperlink() + { + if (!isset($this->_parent)) { + throw new PHPExcel_Exception('Cannot check for hyperlink when cell is not bound to a worksheet'); + } + + return $this->getWorksheet()->hyperlinkExists($this->getCoordinate()); + } + + /** + * Get Hyperlink + * + * @return PHPExcel_Cell_Hyperlink + * @throws PHPExcel_Exception + */ + public function getHyperlink() + { + if (!isset($this->_parent)) { + throw new PHPExcel_Exception('Cannot get hyperlink for cell that is not bound to a worksheet'); + } + + return $this->getWorksheet()->getHyperlink($this->getCoordinate()); + } + + /** + * Set Hyperlink + * + * @param PHPExcel_Cell_Hyperlink $pHyperlink + * @return PHPExcel_Cell + * @throws PHPExcel_Exception + */ + public function setHyperlink(PHPExcel_Cell_Hyperlink $pHyperlink = NULL) + { + if (!isset($this->_parent)) { + throw new PHPExcel_Exception('Cannot set hyperlink for cell that is not bound to a worksheet'); + } + + $this->getWorksheet()->setHyperlink($this->getCoordinate(), $pHyperlink); + + return $this->notifyCacheController(); + } + + /** + * Get parent worksheet + * + * @return PHPExcel_CachedObjectStorage_CacheBase + */ + public function getParent() { + return $this->_parent; + } + + /** + * Get parent worksheet + * + * @return PHPExcel_Worksheet + */ + public function getWorksheet() { + return $this->_parent->getParent(); + } + + /** + * Is this cell in a merge range + * + * @return boolean + */ + public function isInMergeRange() { + return (boolean) $this->getMergeRange(); + } + + /** + * Is this cell the master (top left cell) in a merge range (that holds the actual data value) + * + * @return boolean + */ + public function isMergeRangeValueCell() { + if ($mergeRange = $this->getMergeRange()) { + $mergeRange = PHPExcel_Cell::splitRange($mergeRange); + list($startCell) = $mergeRange[0]; + if ($this->getCoordinate() === $startCell) { + return true; + } + } + return false; + } + + /** + * If this cell is in a merge range, then return the range + * + * @return string + */ + public function getMergeRange() { + foreach($this->getWorksheet()->getMergeCells() as $mergeRange) { + if ($this->isInRange($mergeRange)) { + return $mergeRange; + } + } + return false; + } + + /** + * Get cell style + * + * @return PHPExcel_Style + */ + public function getStyle() + { + return $this->getWorksheet()->getStyle($this->getCoordinate()); + } + + /** + * Re-bind parent + * + * @param PHPExcel_Worksheet $parent + * @return PHPExcel_Cell + */ + public function rebindParent(PHPExcel_Worksheet $parent) { + $this->_parent = $parent->getCellCacheController(); + + return $this->notifyCacheController(); + } + + /** + * Is cell in a specific range? + * + * @param string $pRange Cell range (e.g. A1:A1) + * @return boolean + */ + public function isInRange($pRange = 'A1:A1') + { + list($rangeStart,$rangeEnd) = self::rangeBoundaries($pRange); + + // Translate properties + $myColumn = self::columnIndexFromString($this->getColumn()); + $myRow = $this->getRow(); + + // Verify if cell is in range + return (($rangeStart[0] <= $myColumn) && ($rangeEnd[0] >= $myColumn) && + ($rangeStart[1] <= $myRow) && ($rangeEnd[1] >= $myRow) + ); + } + + /** + * Coordinate from string + * + * @param string $pCoordinateString + * @return array Array containing column and row (indexes 0 and 1) + * @throws PHPExcel_Exception + */ + public static function coordinateFromString($pCoordinateString = 'A1') + { + if (preg_match("/^([$]?[A-Z]{1,3})([$]?\d{1,7})$/", $pCoordinateString, $matches)) { + return array($matches[1],$matches[2]); + } elseif ((strpos($pCoordinateString,':') !== FALSE) || (strpos($pCoordinateString,',') !== FALSE)) { + throw new PHPExcel_Exception('Cell coordinate string can not be a range of cells'); + } elseif ($pCoordinateString == '') { + throw new PHPExcel_Exception('Cell coordinate can not be zero-length string'); + } + + throw new PHPExcel_Exception('Invalid cell coordinate '.$pCoordinateString); + } + + /** + * Make string row, column or cell coordinate absolute + * + * @param string $pCoordinateString e.g. 'A' or '1' or 'A1' + * Note that this value can be a row or column reference as well as a cell reference + * @return string Absolute coordinate e.g. '$A' or '$1' or '$A$1' + * @throws PHPExcel_Exception + */ + public static function absoluteReference($pCoordinateString = 'A1') + { + if (strpos($pCoordinateString,':') === FALSE && strpos($pCoordinateString,',') === FALSE) { + // Split out any worksheet name from the reference + $worksheet = ''; + $cellAddress = explode('!',$pCoordinateString); + if (count($cellAddress) > 1) { + list($worksheet,$pCoordinateString) = $cellAddress; + } + if ($worksheet > '') $worksheet .= '!'; + + // Create absolute coordinate + if (ctype_digit($pCoordinateString)) { + return $worksheet . '$' . $pCoordinateString; + } elseif (ctype_alpha($pCoordinateString)) { + return $worksheet . '$' . strtoupper($pCoordinateString); + } + return $worksheet . self::absoluteCoordinate($pCoordinateString); + } + + throw new PHPExcel_Exception('Cell coordinate string can not be a range of cells'); + } + + /** + * Make string coordinate absolute + * + * @param string $pCoordinateString e.g. 'A1' + * @return string Absolute coordinate e.g. '$A$1' + * @throws PHPExcel_Exception + */ + public static function absoluteCoordinate($pCoordinateString = 'A1') + { + if (strpos($pCoordinateString,':') === FALSE && strpos($pCoordinateString,',') === FALSE) { + // Split out any worksheet name from the coordinate + $worksheet = ''; + $cellAddress = explode('!',$pCoordinateString); + if (count($cellAddress) > 1) { + list($worksheet,$pCoordinateString) = $cellAddress; + } + if ($worksheet > '') $worksheet .= '!'; + + // Create absolute coordinate + list($column, $row) = self::coordinateFromString($pCoordinateString); + $column = ltrim($column,'$'); + $row = ltrim($row,'$'); + return $worksheet . '$' . $column . '$' . $row; + } + + throw new PHPExcel_Exception('Cell coordinate string can not be a range of cells'); + } + + /** + * Split range into coordinate strings + * + * @param string $pRange e.g. 'B4:D9' or 'B4:D9,H2:O11' or 'B4' + * @return array Array containg one or more arrays containing one or two coordinate strings + * e.g. array('B4','D9') or array(array('B4','D9'),array('H2','O11')) + * or array('B4') + */ + public static function splitRange($pRange = 'A1:A1') + { + // Ensure $pRange is a valid range + if(empty($pRange)) { + $pRange = self::DEFAULT_RANGE; + } + + $exploded = explode(',', $pRange); + $counter = count($exploded); + for ($i = 0; $i < $counter; ++$i) { + $exploded[$i] = explode(':', $exploded[$i]); + } + return $exploded; + } + + /** + * Build range from coordinate strings + * + * @param array $pRange Array containg one or more arrays containing one or two coordinate strings + * @return string String representation of $pRange + * @throws PHPExcel_Exception + */ + public static function buildRange($pRange) + { + // Verify range + if (!is_array($pRange) || empty($pRange) || !is_array($pRange[0])) { + throw new PHPExcel_Exception('Range does not contain any information'); + } + + // Build range + $imploded = array(); + $counter = count($pRange); + for ($i = 0; $i < $counter; ++$i) { + $pRange[$i] = implode(':', $pRange[$i]); + } + $imploded = implode(',', $pRange); + + return $imploded; + } + + /** + * Calculate range boundaries + * + * @param string $pRange Cell range (e.g. A1:A1) + * @return array Range coordinates array(Start Cell, End Cell) + * where Start Cell and End Cell are arrays (Column Number, Row Number) + */ + public static function rangeBoundaries($pRange = 'A1:A1') + { + // Ensure $pRange is a valid range + if(empty($pRange)) { + $pRange = self::DEFAULT_RANGE; + } + + // Uppercase coordinate + $pRange = strtoupper($pRange); + + // Extract range + if (strpos($pRange, ':') === FALSE) { + $rangeA = $rangeB = $pRange; + } else { + list($rangeA, $rangeB) = explode(':', $pRange); + } + + // Calculate range outer borders + $rangeStart = self::coordinateFromString($rangeA); + $rangeEnd = self::coordinateFromString($rangeB); + + // Translate column into index + $rangeStart[0] = self::columnIndexFromString($rangeStart[0]); + $rangeEnd[0] = self::columnIndexFromString($rangeEnd[0]); + + return array($rangeStart, $rangeEnd); + } + + /** + * Calculate range dimension + * + * @param string $pRange Cell range (e.g. A1:A1) + * @return array Range dimension (width, height) + */ + public static function rangeDimension($pRange = 'A1:A1') + { + // Calculate range outer borders + list($rangeStart,$rangeEnd) = self::rangeBoundaries($pRange); + + return array( ($rangeEnd[0] - $rangeStart[0] + 1), ($rangeEnd[1] - $rangeStart[1] + 1) ); + } + + /** + * Calculate range boundaries + * + * @param string $pRange Cell range (e.g. A1:A1) + * @return array Range coordinates array(Start Cell, End Cell) + * where Start Cell and End Cell are arrays (Column ID, Row Number) + */ + public static function getRangeBoundaries($pRange = 'A1:A1') + { + // Ensure $pRange is a valid range + if(empty($pRange)) { + $pRange = self::DEFAULT_RANGE; + } + + // Uppercase coordinate + $pRange = strtoupper($pRange); + + // Extract range + if (strpos($pRange, ':') === FALSE) { + $rangeA = $rangeB = $pRange; + } else { + list($rangeA, $rangeB) = explode(':', $pRange); + } + + return array( self::coordinateFromString($rangeA), self::coordinateFromString($rangeB)); + } + + /** + * Column index from string + * + * @param string $pString + * @return int Column index (base 1 !!!) + */ + public static function columnIndexFromString($pString = 'A') + { + // Using a lookup cache adds a slight memory overhead, but boosts speed + // caching using a static within the method is faster than a class static, + // though it's additional memory overhead + static $_indexCache = array(); + + if (isset($_indexCache[$pString])) + return $_indexCache[$pString]; + + // It's surprising how costly the strtoupper() and ord() calls actually are, so we use a lookup array rather than use ord() + // and make it case insensitive to get rid of the strtoupper() as well. Because it's a static, there's no significant + // memory overhead either + static $_columnLookup = array( + 'A' => 1, 'B' => 2, 'C' => 3, 'D' => 4, 'E' => 5, 'F' => 6, 'G' => 7, 'H' => 8, 'I' => 9, 'J' => 10, 'K' => 11, 'L' => 12, 'M' => 13, + 'N' => 14, 'O' => 15, 'P' => 16, 'Q' => 17, 'R' => 18, 'S' => 19, 'T' => 20, 'U' => 21, 'V' => 22, 'W' => 23, 'X' => 24, 'Y' => 25, 'Z' => 26, + 'a' => 1, 'b' => 2, 'c' => 3, 'd' => 4, 'e' => 5, 'f' => 6, 'g' => 7, 'h' => 8, 'i' => 9, 'j' => 10, 'k' => 11, 'l' => 12, 'm' => 13, + 'n' => 14, 'o' => 15, 'p' => 16, 'q' => 17, 'r' => 18, 's' => 19, 't' => 20, 'u' => 21, 'v' => 22, 'w' => 23, 'x' => 24, 'y' => 25, 'z' => 26 + ); + + // We also use the language construct isset() rather than the more costly strlen() function to match the length of $pString + // for improved performance + if (isset($pString{0})) { + if (!isset($pString{1})) { + $_indexCache[$pString] = $_columnLookup[$pString]; + return $_indexCache[$pString]; + } elseif(!isset($pString{2})) { + $_indexCache[$pString] = $_columnLookup[$pString{0}] * 26 + $_columnLookup[$pString{1}]; + return $_indexCache[$pString]; + } elseif(!isset($pString{3})) { + $_indexCache[$pString] = $_columnLookup[$pString{0}] * 676 + $_columnLookup[$pString{1}] * 26 + $_columnLookup[$pString{2}]; + return $_indexCache[$pString]; + } + } + throw new PHPExcel_Exception("Column string index can not be " . ((isset($pString{0})) ? "longer than 3 characters" : "empty")); + } + + /** + * String from columnindex + * + * @param int $pColumnIndex Column index (base 0 !!!) + * @return string + */ + public static function stringFromColumnIndex($pColumnIndex = 0) + { + // Using a lookup cache adds a slight memory overhead, but boosts speed + // caching using a static within the method is faster than a class static, + // though it's additional memory overhead + static $_indexCache = array(); + + if (!isset($_indexCache[$pColumnIndex])) { + // Determine column string + if ($pColumnIndex < 26) { + $_indexCache[$pColumnIndex] = chr(65 + $pColumnIndex); + } elseif ($pColumnIndex < 702) { + $_indexCache[$pColumnIndex] = chr(64 + ($pColumnIndex / 26)) . + chr(65 + $pColumnIndex % 26); + } else { + $_indexCache[$pColumnIndex] = chr(64 + (($pColumnIndex - 26) / 676)) . + chr(65 + ((($pColumnIndex - 26) % 676) / 26)) . + chr(65 + $pColumnIndex % 26); + } + } + return $_indexCache[$pColumnIndex]; + } + + /** + * Extract all cell references in range + * + * @param string $pRange Range (e.g. A1 or A1:C10 or A1:E10 A20:E25) + * @return array Array containing single cell references + */ + public static function extractAllCellReferencesInRange($pRange = 'A1') { + // Returnvalue + $returnValue = array(); + + // Explode spaces + $cellBlocks = explode(' ', str_replace('$', '', strtoupper($pRange))); + foreach ($cellBlocks as $cellBlock) { + // Single cell? + if (strpos($cellBlock,':') === FALSE && strpos($cellBlock,',') === FALSE) { + $returnValue[] = $cellBlock; + continue; + } + + // Range... + $ranges = self::splitRange($cellBlock); + foreach($ranges as $range) { + // Single cell? + if (!isset($range[1])) { + $returnValue[] = $range[0]; + continue; + } + + // Range... + list($rangeStart, $rangeEnd) = $range; + sscanf($rangeStart,'%[A-Z]%d', $startCol, $startRow); + sscanf($rangeEnd,'%[A-Z]%d', $endCol, $endRow); + $endCol++; + + // Current data + $currentCol = $startCol; + $currentRow = $startRow; + + // Loop cells + while ($currentCol != $endCol) { + while ($currentRow <= $endRow) { + $returnValue[] = $currentCol.$currentRow; + ++$currentRow; + } + ++$currentCol; + $currentRow = $startRow; + } + } + } + + // Sort the result by column and row + $sortKeys = array(); + foreach (array_unique($returnValue) as $coord) { + sscanf($coord,'%[A-Z]%d', $column, $row); + $sortKeys[sprintf('%3s%09d',$column,$row)] = $coord; + } + ksort($sortKeys); + + // Return value + return array_values($sortKeys); + } + + /** + * Compare 2 cells + * + * @param PHPExcel_Cell $a Cell a + * @param PHPExcel_Cell $b Cell b + * @return int Result of comparison (always -1 or 1, never zero!) + */ + public static function compareCells(PHPExcel_Cell $a, PHPExcel_Cell $b) + { + if ($a->getRow() < $b->getRow()) { + return -1; + } elseif ($a->getRow() > $b->getRow()) { + return 1; + } elseif (self::columnIndexFromString($a->getColumn()) < self::columnIndexFromString($b->getColumn())) { + return -1; + } else { + return 1; + } + } + + /** + * Get value binder to use + * + * @return PHPExcel_Cell_IValueBinder + */ + public static function getValueBinder() { + if (self::$_valueBinder === NULL) { + self::$_valueBinder = new PHPExcel_Cell_DefaultValueBinder(); + } + + return self::$_valueBinder; + } + + /** + * Set value binder to use + * + * @param PHPExcel_Cell_IValueBinder $binder + * @throws PHPExcel_Exception + */ + public static function setValueBinder(PHPExcel_Cell_IValueBinder $binder = NULL) { + if ($binder === NULL) { + throw new PHPExcel_Exception("A PHPExcel_Cell_IValueBinder is required for PHPExcel to function correctly."); + } + + self::$_valueBinder = $binder; + } + + /** + * Implement PHP __clone to create a deep clone, not just a shallow copy. + */ + public function __clone() { + $vars = get_object_vars($this); + foreach ($vars as $key => $value) { + if ((is_object($value)) && ($key != '_parent')) { + $this->$key = clone $value; + } else { + $this->$key = $value; + } + } + } + + /** + * Get index to cellXf + * + * @return int + */ + public function getXfIndex() + { + return $this->_xfIndex; + } + + /** + * Set index to cellXf + * + * @param int $pValue + * @return PHPExcel_Cell + */ + public function setXfIndex($pValue = 0) + { + $this->_xfIndex = $pValue; + + return $this->notifyCacheController(); + } + + /** + * @deprecated Since version 1.7.8 for planned changes to cell for array formula handling + */ + public function setFormulaAttributes($pAttributes) + { + $this->_formulaAttributes = $pAttributes; + return $this; + } + + /** + * @deprecated Since version 1.7.8 for planned changes to cell for array formula handling + */ + public function getFormulaAttributes() + { + return $this->_formulaAttributes; + } + + /** + * Convert to string + * + * @return string + */ + public function __toString() + { + return (string) $this->getValue(); + } + +} + diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Cell/AdvancedValueBinder.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Cell/AdvancedValueBinder.php new file mode 100644 index 00000000..f4280ac4 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Cell/AdvancedValueBinder.php @@ -0,0 +1,192 @@ +setValueExplicit( TRUE, PHPExcel_Cell_DataType::TYPE_BOOL); + return true; + } elseif($value == PHPExcel_Calculation::getFALSE()) { + $cell->setValueExplicit( FALSE, PHPExcel_Cell_DataType::TYPE_BOOL); + return true; + } + + // Check for number in scientific format + if (preg_match('/^'.PHPExcel_Calculation::CALCULATION_REGEXP_NUMBER.'$/', $value)) { + $cell->setValueExplicit( (float) $value, PHPExcel_Cell_DataType::TYPE_NUMERIC); + return true; + } + + // Check for fraction + if (preg_match('/^([+-]?)\s*([0-9]+)\s?\/\s*([0-9]+)$/', $value, $matches)) { + // Convert value to number + $value = $matches[2] / $matches[3]; + if ($matches[1] == '-') $value = 0 - $value; + $cell->setValueExplicit( (float) $value, PHPExcel_Cell_DataType::TYPE_NUMERIC); + // Set style + $cell->getWorksheet()->getStyle( $cell->getCoordinate() ) + ->getNumberFormat()->setFormatCode( '??/??' ); + return true; + } elseif (preg_match('/^([+-]?)([0-9]*) +([0-9]*)\s?\/\s*([0-9]*)$/', $value, $matches)) { + // Convert value to number + $value = $matches[2] + ($matches[3] / $matches[4]); + if ($matches[1] == '-') $value = 0 - $value; + $cell->setValueExplicit( (float) $value, PHPExcel_Cell_DataType::TYPE_NUMERIC); + // Set style + $cell->getWorksheet()->getStyle( $cell->getCoordinate() ) + ->getNumberFormat()->setFormatCode( '# ??/??' ); + return true; + } + + // Check for percentage + if (preg_match('/^\-?[0-9]*\.?[0-9]*\s?\%$/', $value)) { + // Convert value to number + $value = (float) str_replace('%', '', $value) / 100; + $cell->setValueExplicit( $value, PHPExcel_Cell_DataType::TYPE_NUMERIC); + // Set style + $cell->getWorksheet()->getStyle( $cell->getCoordinate() ) + ->getNumberFormat()->setFormatCode( PHPExcel_Style_NumberFormat::FORMAT_PERCENTAGE_00 ); + return true; + } + + // Check for currency + $currencyCode = PHPExcel_Shared_String::getCurrencyCode(); + $decimalSeparator = PHPExcel_Shared_String::getDecimalSeparator(); + $thousandsSeparator = PHPExcel_Shared_String::getThousandsSeparator(); + if (preg_match('/^'.preg_quote($currencyCode).' *(\d{1,3}('.preg_quote($thousandsSeparator).'\d{3})*|(\d+))('.preg_quote($decimalSeparator).'\d{2})?$/', $value)) { + // Convert value to number + $value = (float) trim(str_replace(array($currencyCode, $thousandsSeparator, $decimalSeparator), array('', '', '.'), $value)); + $cell->setValueExplicit( $value, PHPExcel_Cell_DataType::TYPE_NUMERIC); + // Set style + $cell->getWorksheet()->getStyle( $cell->getCoordinate() ) + ->getNumberFormat()->setFormatCode( + str_replace('$', $currencyCode, PHPExcel_Style_NumberFormat::FORMAT_CURRENCY_USD_SIMPLE ) + ); + return true; + } elseif (preg_match('/^\$ *(\d{1,3}(\,\d{3})*|(\d+))(\.\d{2})?$/', $value)) { + // Convert value to number + $value = (float) trim(str_replace(array('$',','), '', $value)); + $cell->setValueExplicit( $value, PHPExcel_Cell_DataType::TYPE_NUMERIC); + // Set style + $cell->getWorksheet()->getStyle( $cell->getCoordinate() ) + ->getNumberFormat()->setFormatCode( PHPExcel_Style_NumberFormat::FORMAT_CURRENCY_USD_SIMPLE ); + return true; + } + + // Check for time without seconds e.g. '9:45', '09:45' + if (preg_match('/^(\d|[0-1]\d|2[0-3]):[0-5]\d$/', $value)) { + // Convert value to number + list($h, $m) = explode(':', $value); + $days = $h / 24 + $m / 1440; + $cell->setValueExplicit($days, PHPExcel_Cell_DataType::TYPE_NUMERIC); + // Set style + $cell->getWorksheet()->getStyle( $cell->getCoordinate() ) + ->getNumberFormat()->setFormatCode( PHPExcel_Style_NumberFormat::FORMAT_DATE_TIME3 ); + return true; + } + + // Check for time with seconds '9:45:59', '09:45:59' + if (preg_match('/^(\d|[0-1]\d|2[0-3]):[0-5]\d:[0-5]\d$/', $value)) { + // Convert value to number + list($h, $m, $s) = explode(':', $value); + $days = $h / 24 + $m / 1440 + $s / 86400; + // Convert value to number + $cell->setValueExplicit($days, PHPExcel_Cell_DataType::TYPE_NUMERIC); + // Set style + $cell->getWorksheet()->getStyle( $cell->getCoordinate() ) + ->getNumberFormat()->setFormatCode( PHPExcel_Style_NumberFormat::FORMAT_DATE_TIME4 ); + return true; + } + + // Check for datetime, e.g. '2008-12-31', '2008-12-31 15:59', '2008-12-31 15:59:10' + if (($d = PHPExcel_Shared_Date::stringToExcel($value)) !== false) { + // Convert value to number + $cell->setValueExplicit($d, PHPExcel_Cell_DataType::TYPE_NUMERIC); + // Determine style. Either there is a time part or not. Look for ':' + if (strpos($value, ':') !== false) { + $formatCode = 'yyyy-mm-dd h:mm'; + } else { + $formatCode = 'yyyy-mm-dd'; + } + $cell->getWorksheet()->getStyle( $cell->getCoordinate() ) + ->getNumberFormat()->setFormatCode($formatCode); + return true; + } + + // Check for newline character "\n" + if (strpos($value, "\n") !== FALSE) { + $value = PHPExcel_Shared_String::SanitizeUTF8($value); + $cell->setValueExplicit($value, PHPExcel_Cell_DataType::TYPE_STRING); + // Set style + $cell->getWorksheet()->getStyle( $cell->getCoordinate() ) + ->getAlignment()->setWrapText(TRUE); + return true; + } + } + + // Not bound yet? Use parent... + return parent::bindValue($cell, $value); + } +} diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Cell/DataType.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Cell/DataType.php new file mode 100644 index 00000000..07e148a5 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Cell/DataType.php @@ -0,0 +1,122 @@ + 0, + '#DIV/0!' => 1, + '#VALUE!' => 2, + '#REF!' => 3, + '#NAME?' => 4, + '#NUM!' => 5, + '#N/A' => 6 + ); + + /** + * Get list of error codes + * + * @return array + */ + public static function getErrorCodes() { + return self::$_errorCodes; + } + + /** + * DataType for value + * + * @deprecated Replaced by PHPExcel_Cell_IValueBinder infrastructure, will be removed in version 1.8.0 + * @param mixed $pValue + * @return string + */ + public static function dataTypeForValue($pValue = null) { + return PHPExcel_Cell_DefaultValueBinder::dataTypeForValue($pValue); + } + + /** + * Check a string that it satisfies Excel requirements + * + * @param mixed Value to sanitize to an Excel string + * @return mixed Sanitized value + */ + public static function checkString($pValue = null) + { + if ($pValue instanceof PHPExcel_RichText) { + // TODO: Sanitize Rich-Text string (max. character count is 32,767) + return $pValue; + } + + // string must never be longer than 32,767 characters, truncate if necessary + $pValue = PHPExcel_Shared_String::Substring($pValue, 0, 32767); + + // we require that newline is represented as "\n" in core, not as "\r\n" or "\r" + $pValue = str_replace(array("\r\n", "\r"), "\n", $pValue); + + return $pValue; + } + + /** + * Check a value that it is a valid error code + * + * @param mixed Value to sanitize to an Excel error code + * @return string Sanitized value + */ + public static function checkErrorCode($pValue = null) + { + $pValue = (string) $pValue; + + if ( !array_key_exists($pValue, self::$_errorCodes) ) { + $pValue = '#NULL!'; + } + + return $pValue; + } + +} diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Cell/DataValidation.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Cell/DataValidation.php new file mode 100644 index 00000000..538ecd1f --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Cell/DataValidation.php @@ -0,0 +1,472 @@ +_formula1 = ''; + $this->_formula2 = ''; + $this->_type = PHPExcel_Cell_DataValidation::TYPE_NONE; + $this->_errorStyle = PHPExcel_Cell_DataValidation::STYLE_STOP; + $this->_operator = ''; + $this->_allowBlank = FALSE; + $this->_showDropDown = FALSE; + $this->_showInputMessage = FALSE; + $this->_showErrorMessage = FALSE; + $this->_errorTitle = ''; + $this->_error = ''; + $this->_promptTitle = ''; + $this->_prompt = ''; + } + + /** + * Get Formula 1 + * + * @return string + */ + public function getFormula1() { + return $this->_formula1; + } + + /** + * Set Formula 1 + * + * @param string $value + * @return PHPExcel_Cell_DataValidation + */ + public function setFormula1($value = '') { + $this->_formula1 = $value; + return $this; + } + + /** + * Get Formula 2 + * + * @return string + */ + public function getFormula2() { + return $this->_formula2; + } + + /** + * Set Formula 2 + * + * @param string $value + * @return PHPExcel_Cell_DataValidation + */ + public function setFormula2($value = '') { + $this->_formula2 = $value; + return $this; + } + + /** + * Get Type + * + * @return string + */ + public function getType() { + return $this->_type; + } + + /** + * Set Type + * + * @param string $value + * @return PHPExcel_Cell_DataValidation + */ + public function setType($value = PHPExcel_Cell_DataValidation::TYPE_NONE) { + $this->_type = $value; + return $this; + } + + /** + * Get Error style + * + * @return string + */ + public function getErrorStyle() { + return $this->_errorStyle; + } + + /** + * Set Error style + * + * @param string $value + * @return PHPExcel_Cell_DataValidation + */ + public function setErrorStyle($value = PHPExcel_Cell_DataValidation::STYLE_STOP) { + $this->_errorStyle = $value; + return $this; + } + + /** + * Get Operator + * + * @return string + */ + public function getOperator() { + return $this->_operator; + } + + /** + * Set Operator + * + * @param string $value + * @return PHPExcel_Cell_DataValidation + */ + public function setOperator($value = '') { + $this->_operator = $value; + return $this; + } + + /** + * Get Allow Blank + * + * @return boolean + */ + public function getAllowBlank() { + return $this->_allowBlank; + } + + /** + * Set Allow Blank + * + * @param boolean $value + * @return PHPExcel_Cell_DataValidation + */ + public function setAllowBlank($value = false) { + $this->_allowBlank = $value; + return $this; + } + + /** + * Get Show DropDown + * + * @return boolean + */ + public function getShowDropDown() { + return $this->_showDropDown; + } + + /** + * Set Show DropDown + * + * @param boolean $value + * @return PHPExcel_Cell_DataValidation + */ + public function setShowDropDown($value = false) { + $this->_showDropDown = $value; + return $this; + } + + /** + * Get Show InputMessage + * + * @return boolean + */ + public function getShowInputMessage() { + return $this->_showInputMessage; + } + + /** + * Set Show InputMessage + * + * @param boolean $value + * @return PHPExcel_Cell_DataValidation + */ + public function setShowInputMessage($value = false) { + $this->_showInputMessage = $value; + return $this; + } + + /** + * Get Show ErrorMessage + * + * @return boolean + */ + public function getShowErrorMessage() { + return $this->_showErrorMessage; + } + + /** + * Set Show ErrorMessage + * + * @param boolean $value + * @return PHPExcel_Cell_DataValidation + */ + public function setShowErrorMessage($value = false) { + $this->_showErrorMessage = $value; + return $this; + } + + /** + * Get Error title + * + * @return string + */ + public function getErrorTitle() { + return $this->_errorTitle; + } + + /** + * Set Error title + * + * @param string $value + * @return PHPExcel_Cell_DataValidation + */ + public function setErrorTitle($value = '') { + $this->_errorTitle = $value; + return $this; + } + + /** + * Get Error + * + * @return string + */ + public function getError() { + return $this->_error; + } + + /** + * Set Error + * + * @param string $value + * @return PHPExcel_Cell_DataValidation + */ + public function setError($value = '') { + $this->_error = $value; + return $this; + } + + /** + * Get Prompt title + * + * @return string + */ + public function getPromptTitle() { + return $this->_promptTitle; + } + + /** + * Set Prompt title + * + * @param string $value + * @return PHPExcel_Cell_DataValidation + */ + public function setPromptTitle($value = '') { + $this->_promptTitle = $value; + return $this; + } + + /** + * Get Prompt + * + * @return string + */ + public function getPrompt() { + return $this->_prompt; + } + + /** + * Set Prompt + * + * @param string $value + * @return PHPExcel_Cell_DataValidation + */ + public function setPrompt($value = '') { + $this->_prompt = $value; + return $this; + } + + /** + * Get hash code + * + * @return string Hash code + */ + public function getHashCode() { + return md5( + $this->_formula1 + . $this->_formula2 + . $this->_type = PHPExcel_Cell_DataValidation::TYPE_NONE + . $this->_errorStyle = PHPExcel_Cell_DataValidation::STYLE_STOP + . $this->_operator + . ($this->_allowBlank ? 't' : 'f') + . ($this->_showDropDown ? 't' : 'f') + . ($this->_showInputMessage ? 't' : 'f') + . ($this->_showErrorMessage ? 't' : 'f') + . $this->_errorTitle + . $this->_error + . $this->_promptTitle + . $this->_prompt + . __CLASS__ + ); + } + + /** + * Implement PHP __clone to create a deep clone, not just a shallow copy. + */ + public function __clone() { + $vars = get_object_vars($this); + foreach ($vars as $key => $value) { + if (is_object($value)) { + $this->$key = clone $value; + } else { + $this->$key = $value; + } + } + } +} diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Cell/DefaultValueBinder.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Cell/DefaultValueBinder.php new file mode 100644 index 00000000..252048f7 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Cell/DefaultValueBinder.php @@ -0,0 +1,110 @@ +format('Y-m-d H:i:s'); + } elseif (!($value instanceof PHPExcel_RichText)) { + $value = (string) $value; + } + } + + // Set value explicit + $cell->setValueExplicit( $value, self::dataTypeForValue($value) ); + + // Done! + return true; + } + + /** + * DataType for value + * + * @param mixed $pValue + * @return string + */ + public static function dataTypeForValue($pValue = null) { + // Match the value against a few data types + if ($pValue === null) { + return PHPExcel_Cell_DataType::TYPE_NULL; + } elseif ($pValue === '') { + return PHPExcel_Cell_DataType::TYPE_STRING; + } elseif ($pValue instanceof PHPExcel_RichText) { + return PHPExcel_Cell_DataType::TYPE_INLINE; + } elseif ($pValue{0} === '=' && strlen($pValue) > 1) { + return PHPExcel_Cell_DataType::TYPE_FORMULA; + } elseif (is_bool($pValue)) { + return PHPExcel_Cell_DataType::TYPE_BOOL; + } elseif (is_float($pValue) || is_int($pValue)) { + return PHPExcel_Cell_DataType::TYPE_NUMERIC; + } elseif (preg_match('/^[\+\-]?([0-9]+\\.?[0-9]*|[0-9]*\\.?[0-9]+)([Ee][\-\+]?[0-2]?\d{1,3})?$/', $pValue)) { + $tValue = ltrim($pValue, '+-'); + if (is_string($pValue) && $tValue{0} === '0' && strlen($tValue) > 1 && $tValue{1} !== '.' ) { + return PHPExcel_Cell_DataType::TYPE_STRING; + } elseif((strpos($pValue, '.') === false) && ($pValue > PHP_INT_MAX)) { + return PHPExcel_Cell_DataType::TYPE_STRING; + } + return PHPExcel_Cell_DataType::TYPE_NUMERIC; + } elseif (is_string($pValue) && array_key_exists($pValue, PHPExcel_Cell_DataType::getErrorCodes())) { + return PHPExcel_Cell_DataType::TYPE_ERROR; + } + + return PHPExcel_Cell_DataType::TYPE_STRING; + } +} diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Cell/Hyperlink.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Cell/Hyperlink.php new file mode 100644 index 00000000..178ba7ee --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Cell/Hyperlink.php @@ -0,0 +1,126 @@ +_url = $pUrl; + $this->_tooltip = $pTooltip; + } + + /** + * Get URL + * + * @return string + */ + public function getUrl() { + return $this->_url; + } + + /** + * Set URL + * + * @param string $value + * @return PHPExcel_Cell_Hyperlink + */ + public function setUrl($value = '') { + $this->_url = $value; + return $this; + } + + /** + * Get tooltip + * + * @return string + */ + public function getTooltip() { + return $this->_tooltip; + } + + /** + * Set tooltip + * + * @param string $value + * @return PHPExcel_Cell_Hyperlink + */ + public function setTooltip($value = '') { + $this->_tooltip = $value; + return $this; + } + + /** + * Is this hyperlink internal? (to another worksheet) + * + * @return boolean + */ + public function isInternal() { + return strpos($this->_url, 'sheet://') !== false; + } + + /** + * Get hash code + * + * @return string Hash code + */ + public function getHashCode() { + return md5( + $this->_url + . $this->_tooltip + . __CLASS__ + ); + } +} diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Cell/IValueBinder.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Cell/IValueBinder.php new file mode 100644 index 00000000..55181552 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Cell/IValueBinder.php @@ -0,0 +1,46 @@ +_name = $name; + $this->_title = $title; + $this->_legend = $legend; + $this->_xAxisLabel = $xAxisLabel; + $this->_yAxisLabel = $yAxisLabel; + $this->_plotArea = $plotArea; + $this->_plotVisibleOnly = $plotVisibleOnly; + $this->_displayBlanksAs = $displayBlanksAs; + $this->_xAxis = $xAxis; + $this->_yAxis = $yAxis; + $this->_majorGridlines = $majorGridlines; + $this->_minorGridlines = $minorGridlines; + } + + /** + * Get Name + * + * @return string + */ + public function getName() { + return $this->_name; + } + + /** + * Get Worksheet + * + * @return PHPExcel_Worksheet + */ + public function getWorksheet() { + return $this->_worksheet; + } + + /** + * Set Worksheet + * + * @param PHPExcel_Worksheet $pValue + * @throws PHPExcel_Chart_Exception + * @return PHPExcel_Chart + */ + public function setWorksheet(PHPExcel_Worksheet $pValue = null) { + $this->_worksheet = $pValue; + + return $this; + } + + /** + * Get Title + * + * @return PHPExcel_Chart_Title + */ + public function getTitle() { + return $this->_title; + } + + /** + * Set Title + * + * @param PHPExcel_Chart_Title $title + * @return PHPExcel_Chart + */ + public function setTitle(PHPExcel_Chart_Title $title) { + $this->_title = $title; + + return $this; + } + + /** + * Get Legend + * + * @return PHPExcel_Chart_Legend + */ + public function getLegend() { + return $this->_legend; + } + + /** + * Set Legend + * + * @param PHPExcel_Chart_Legend $legend + * @return PHPExcel_Chart + */ + public function setLegend(PHPExcel_Chart_Legend $legend) { + $this->_legend = $legend; + + return $this; + } + + /** + * Get X-Axis Label + * + * @return PHPExcel_Chart_Title + */ + public function getXAxisLabel() { + return $this->_xAxisLabel; + } + + /** + * Set X-Axis Label + * + * @param PHPExcel_Chart_Title $label + * @return PHPExcel_Chart + */ + public function setXAxisLabel(PHPExcel_Chart_Title $label) { + $this->_xAxisLabel = $label; + + return $this; + } + + /** + * Get Y-Axis Label + * + * @return PHPExcel_Chart_Title + */ + public function getYAxisLabel() { + return $this->_yAxisLabel; + } + + /** + * Set Y-Axis Label + * + * @param PHPExcel_Chart_Title $label + * @return PHPExcel_Chart + */ + public function setYAxisLabel(PHPExcel_Chart_Title $label) { + $this->_yAxisLabel = $label; + + return $this; + } + + /** + * Get Plot Area + * + * @return PHPExcel_Chart_PlotArea + */ + public function getPlotArea() { + return $this->_plotArea; + } + + /** + * Get Plot Visible Only + * + * @return boolean + */ + public function getPlotVisibleOnly() { + return $this->_plotVisibleOnly; + } + + /** + * Set Plot Visible Only + * + * @param boolean $plotVisibleOnly + * @return PHPExcel_Chart + */ + public function setPlotVisibleOnly($plotVisibleOnly = true) { + $this->_plotVisibleOnly = $plotVisibleOnly; + + return $this; + } + + /** + * Get Display Blanks as + * + * @return string + */ + public function getDisplayBlanksAs() { + return $this->_displayBlanksAs; + } + + /** + * Set Display Blanks as + * + * @param string $displayBlanksAs + * @return PHPExcel_Chart + */ + public function setDisplayBlanksAs($displayBlanksAs = '0') { + $this->_displayBlanksAs = $displayBlanksAs; + } + + + /** + * Get yAxis + * + * @return PHPExcel_Chart_Axis + */ + public function getChartAxisY() { + if($this->_yAxis !== NULL){ + return $this->_yAxis; + } + + return new PHPExcel_Chart_Axis(); + } + + /** + * Get xAxis + * + * @return PHPExcel_Chart_Axis + */ + public function getChartAxisX() { + if($this->_xAxis !== NULL){ + return $this->_xAxis; + } + + return new PHPExcel_Chart_Axis(); + } + + /** + * Get Major Gridlines + * + * @return PHPExcel_Chart_GridLines + */ + public function getMajorGridlines() { + if($this->_majorGridlines !== NULL){ + return $this->_majorGridlines; + } + + return new PHPExcel_Chart_GridLines(); + } + + /** + * Get Minor Gridlines + * + * @return PHPExcel_Chart_GridLines + */ + public function getMinorGridlines() { + if($this->_minorGridlines !== NULL){ + return $this->_minorGridlines; + } + + return new PHPExcel_Chart_GridLines(); + } + + + /** + * Set the Top Left position for the chart + * + * @param string $cell + * @param integer $xOffset + * @param integer $yOffset + * @return PHPExcel_Chart + */ + public function setTopLeftPosition($cell, $xOffset=null, $yOffset=null) { + $this->_topLeftCellRef = $cell; + if (!is_null($xOffset)) + $this->setTopLeftXOffset($xOffset); + if (!is_null($yOffset)) + $this->setTopLeftYOffset($yOffset); + + return $this; + } + + /** + * Get the top left position of the chart + * + * @return array an associative array containing the cell address, X-Offset and Y-Offset from the top left of that cell + */ + public function getTopLeftPosition() { + return array( 'cell' => $this->_topLeftCellRef, + 'xOffset' => $this->_topLeftXOffset, + 'yOffset' => $this->_topLeftYOffset + ); + } + + /** + * Get the cell address where the top left of the chart is fixed + * + * @return string + */ + public function getTopLeftCell() { + return $this->_topLeftCellRef; + } + + /** + * Set the Top Left cell position for the chart + * + * @param string $cell + * @return PHPExcel_Chart + */ + public function setTopLeftCell($cell) { + $this->_topLeftCellRef = $cell; + + return $this; + } + + /** + * Set the offset position within the Top Left cell for the chart + * + * @param integer $xOffset + * @param integer $yOffset + * @return PHPExcel_Chart + */ + public function setTopLeftOffset($xOffset=null,$yOffset=null) { + if (!is_null($xOffset)) + $this->setTopLeftXOffset($xOffset); + if (!is_null($yOffset)) + $this->setTopLeftYOffset($yOffset); + + return $this; + } + + /** + * Get the offset position within the Top Left cell for the chart + * + * @return integer[] + */ + public function getTopLeftOffset() { + return array( 'X' => $this->_topLeftXOffset, + 'Y' => $this->_topLeftYOffset + ); + } + + public function setTopLeftXOffset($xOffset) { + $this->_topLeftXOffset = $xOffset; + + return $this; + } + + public function getTopLeftXOffset() { + return $this->_topLeftXOffset; + } + + public function setTopLeftYOffset($yOffset) { + $this->_topLeftYOffset = $yOffset; + + return $this; + } + + public function getTopLeftYOffset() { + return $this->_topLeftYOffset; + } + + /** + * Set the Bottom Right position of the chart + * + * @param string $cell + * @param integer $xOffset + * @param integer $yOffset + * @return PHPExcel_Chart + */ + public function setBottomRightPosition($cell, $xOffset=null, $yOffset=null) { + $this->_bottomRightCellRef = $cell; + if (!is_null($xOffset)) + $this->setBottomRightXOffset($xOffset); + if (!is_null($yOffset)) + $this->setBottomRightYOffset($yOffset); + + return $this; + } + + /** + * Get the bottom right position of the chart + * + * @return array an associative array containing the cell address, X-Offset and Y-Offset from the top left of that cell + */ + public function getBottomRightPosition() { + return array( 'cell' => $this->_bottomRightCellRef, + 'xOffset' => $this->_bottomRightXOffset, + 'yOffset' => $this->_bottomRightYOffset + ); + } + + public function setBottomRightCell($cell) { + $this->_bottomRightCellRef = $cell; + + return $this; + } + + /** + * Get the cell address where the bottom right of the chart is fixed + * + * @return string + */ + public function getBottomRightCell() { + return $this->_bottomRightCellRef; + } + + /** + * Set the offset position within the Bottom Right cell for the chart + * + * @param integer $xOffset + * @param integer $yOffset + * @return PHPExcel_Chart + */ + public function setBottomRightOffset($xOffset=null,$yOffset=null) { + if (!is_null($xOffset)) + $this->setBottomRightXOffset($xOffset); + if (!is_null($yOffset)) + $this->setBottomRightYOffset($yOffset); + + return $this; + } + + /** + * Get the offset position within the Bottom Right cell for the chart + * + * @return integer[] + */ + public function getBottomRightOffset() { + return array( 'X' => $this->_bottomRightXOffset, + 'Y' => $this->_bottomRightYOffset + ); + } + + public function setBottomRightXOffset($xOffset) { + $this->_bottomRightXOffset = $xOffset; + + return $this; + } + + public function getBottomRightXOffset() { + return $this->_bottomRightXOffset; + } + + public function setBottomRightYOffset($yOffset) { + $this->_bottomRightYOffset = $yOffset; + + return $this; + } + + public function getBottomRightYOffset() { + return $this->_bottomRightYOffset; + } + + + public function refresh() { + if ($this->_worksheet !== NULL) { + $this->_plotArea->refresh($this->_worksheet); + } + } + + public function render($outputDestination = null) { + $libraryName = PHPExcel_Settings::getChartRendererName(); + if (is_null($libraryName)) { + return false; + } + // Ensure that data series values are up-to-date before we render + $this->refresh(); + + $libraryPath = PHPExcel_Settings::getChartRendererPath(); + $includePath = str_replace('\\','/',get_include_path()); + $rendererPath = str_replace('\\','/',$libraryPath); + if (strpos($rendererPath,$includePath) === false) { + set_include_path(get_include_path() . PATH_SEPARATOR . $libraryPath); + } + + $rendererName = 'PHPExcel_Chart_Renderer_'.$libraryName; + $renderer = new $rendererName($this); + + if ($outputDestination == 'php://output') { + $outputDestination = null; + } + return $renderer->render($outputDestination); + } + +} diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Chart/Axis.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Chart/Axis.php new file mode 100644 index 00000000..efb39e9f --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Chart/Axis.php @@ -0,0 +1,584 @@ + self::FORMAT_CODE_GENERAL, + 'source_linked' => 1 + ); + + /** + * Axis Options + * + * @var array of mixed + */ + + private $_axis_options = array( + 'minimum' => NULL, + 'maximum' => NULL, + 'major_unit' => NULL, + 'minor_unit' => NULL, + 'orientation' => self::ORIENTATION_NORMAL, + 'minor_tick_mark' => self::TICK_MARK_NONE, + 'major_tick_mark' => self::TICK_MARK_NONE, + 'axis_labels' => self::AXIS_LABELS_NEXT_TO, + 'horizontal_crosses' => self::HORIZONTAL_CROSSES_AUTOZERO, + 'horizontal_crosses_value' => NULL + ); + + /** + * Fill Properties + * + * @var array of mixed + */ + + private $_fill_properties = array( + 'type' => self::EXCEL_COLOR_TYPE_ARGB, + 'value' => NULL, + 'alpha' => 0 + ); + + /** + * Line Properties + * + * @var array of mixed + */ + + private $_line_properties = array( + 'type' => self::EXCEL_COLOR_TYPE_ARGB, + 'value' => NULL, + 'alpha' => 0 + ); + + /** + * Line Style Properties + * + * @var array of mixed + */ + + private $_line_style_properties = array( + 'width' => '9525', + 'compound' => self::LINE_STYLE_COMPOUND_SIMPLE, + 'dash' => self::LINE_STYLE_DASH_SOLID, + 'cap' => self::LINE_STYLE_CAP_FLAT, + 'join' => self::LINE_STYLE_JOIN_BEVEL, + 'arrow' => array( + 'head' => array( + 'type' => self::LINE_STYLE_ARROW_TYPE_NOARROW, + 'size' => self::LINE_STYLE_ARROW_SIZE_5 + ), + 'end' => array( + 'type' => self::LINE_STYLE_ARROW_TYPE_NOARROW, + 'size' => self::LINE_STYLE_ARROW_SIZE_8 + ), + ) + ); + + /** + * Shadow Properties + * + * @var array of mixed + */ + + private $_shadow_properties = array( + 'presets' => self::SHADOW_PRESETS_NOSHADOW, + 'effect' => NULL, + 'color' => array( + 'type' => self::EXCEL_COLOR_TYPE_STANDARD, + 'value' => 'black', + 'alpha' => 40, + ), + 'size' => array( + 'sx' => NULL, + 'sy' => NULL, + 'kx' => NULL + ), + 'blur' => NULL, + 'direction' => NULL, + 'distance' => NULL, + 'algn' => NULL, + 'rotWithShape' => NULL + ); + + /** + * Glow Properties + * + * @var array of mixed + */ + + private $_glow_properties = array( + 'size' => NULL, + 'color' => array( + 'type' => self::EXCEL_COLOR_TYPE_STANDARD, + 'value' => 'black', + 'alpha' => 40 + ) + ); + + /** + * Soft Edge Properties + * + * @var array of mixed + */ + + private $_soft_edges = array( + 'size' => NULL + ); + + /** + * Get Series Data Type + * + * @return string + */ + + public function setAxisNumberProperties($format_code) { + $this->_axis_number['format'] = (string) $format_code; + $this->_axis_number['source_linked'] = 0; + } + + /** + * Get Axis Number Format Data Type + * + * @return string + */ + + public function getAxisNumberFormat() { + return $this->_axis_number['format']; + } + + /** + * Get Axis Number Source Linked + * + * @return string + */ + + public function getAxisNumberSourceLinked() { + return (string) $this->_axis_number['source_linked']; + } + + /** + * Set Axis Options Properties + * + * @param string $axis_labels + * @param string $horizontal_crosses_value + * @param string $horizontal_crosses + * @param string $axis_orientation + * @param string $major_tmt + * @param string $minor_tmt + * @param string $minimum + * @param string $maximum + * @param string $major_unit + * @param string $minor_unit + * + */ + + public function setAxisOptionsProperties($axis_labels, $horizontal_crosses_value = NULL, $horizontal_crosses = NULL, + $axis_orientation = NULL, $major_tmt = NULL, $minor_tmt = NULL, $minimum = NULL, $maximum = NULL, $major_unit = NULL, + $minor_unit = NULL) { + + $this->_axis_options['axis_labels'] = (string) $axis_labels; + ($horizontal_crosses_value !== NULL) + ? $this->_axis_options['horizontal_crosses_value'] = (string) $horizontal_crosses_value : NULL; + ($horizontal_crosses !== NULL) ? $this->_axis_options['horizontal_crosses'] = (string) $horizontal_crosses : NULL; + ($axis_orientation !== NULL) ? $this->_axis_options['orientation'] = (string) $axis_orientation : NULL; + ($major_tmt !== NULL) ? $this->_axis_options['major_tick_mark'] = (string) $major_tmt : NULL; + ($minor_tmt !== NULL) ? $this->_axis_options['minor_tick_mark'] = (string) $minor_tmt : NULL; + ($minor_tmt !== NULL) ? $this->_axis_options['minor_tick_mark'] = (string) $minor_tmt : NULL; + ($minimum !== NULL) ? $this->_axis_options['minimum'] = (string) $minimum : NULL; + ($maximum !== NULL) ? $this->_axis_options['maximum'] = (string) $maximum : NULL; + ($major_unit !== NULL) ? $this->_axis_options['major_unit'] = (string) $major_unit : NULL; + ($minor_unit !== NULL) ? $this->_axis_options['minor_unit'] = (string) $minor_unit : NULL; + } + + /** + * Get Axis Options Property + * + * @param string $property + * + * @return string + */ + + public function getAxisOptionsProperty($property) { + return $this->_axis_options[$property]; + } + + /** + * Set Axis Orientation Property + * + * @param string $orientation + * + */ + + public function setAxisOrientation($orientation) { + $this->orientation = (string) $orientation; + } + + /** + * Set Fill Property + * + * @param string $color + * @param int $alpha + * @param string $type + * + */ + + public function setFillParameters($color, $alpha = 0, $type = self::EXCEL_COLOR_TYPE_ARGB) { + $this->_fill_properties = $this->setColorProperties($color, $alpha, $type); + } + + /** + * Set Line Property + * + * @param string $color + * @param int $alpha + * @param string $type + * + */ + + public function setLineParameters($color, $alpha = 0, $type = self::EXCEL_COLOR_TYPE_ARGB) { + $this->_line_properties = $this->setColorProperties($color, $alpha, $type); + } + + /** + * Get Fill Property + * + * @param string $property + * + * @return string + */ + + public function getFillProperty($property) { + return $this->_fill_properties[$property]; + } + + /** + * Get Line Property + * + * @param string $property + * + * @return string + */ + + public function getLineProperty($property) { + return $this->_line_properties[$property]; + } + + /** + * Set Line Style Properties + * + * @param float $line_width + * @param string $compound_type + * @param string $dash_type + * @param string $cap_type + * @param string $join_type + * @param string $head_arrow_type + * @param string $head_arrow_size + * @param string $end_arrow_type + * @param string $end_arrow_size + * + */ + + public function setLineStyleProperties($line_width = NULL, $compound_type = NULL, + $dash_type = NULL, $cap_type = NULL, $join_type = NULL, $head_arrow_type = NULL, + $head_arrow_size = NULL, $end_arrow_type = NULL, $end_arrow_size = NULL) { + + (!is_null($line_width)) ? $this->_line_style_properties['width'] = $this->getExcelPointsWidth((float) $line_width) + : NULL; + (!is_null($compound_type)) ? $this->_line_style_properties['compound'] = (string) $compound_type : NULL; + (!is_null($dash_type)) ? $this->_line_style_properties['dash'] = (string) $dash_type : NULL; + (!is_null($cap_type)) ? $this->_line_style_properties['cap'] = (string) $cap_type : NULL; + (!is_null($join_type)) ? $this->_line_style_properties['join'] = (string) $join_type : NULL; + (!is_null($head_arrow_type)) ? $this->_line_style_properties['arrow']['head']['type'] = (string) $head_arrow_type + : NULL; + (!is_null($head_arrow_size)) ? $this->_line_style_properties['arrow']['head']['size'] = (string) $head_arrow_size + : NULL; + (!is_null($end_arrow_type)) ? $this->_line_style_properties['arrow']['end']['type'] = (string) $end_arrow_type + : NULL; + (!is_null($end_arrow_size)) ? $this->_line_style_properties['arrow']['end']['size'] = (string) $end_arrow_size + : NULL; + } + + /** + * Get Line Style Property + * + * @param array|string $elements + * + * @return string + */ + + public function getLineStyleProperty($elements) { + return $this->getArrayElementsValue($this->_line_style_properties, $elements); + } + + /** + * Get Line Style Arrow Excel Width + * + * @param string $arrow + * + * @return string + */ + + public function getLineStyleArrowWidth($arrow) { + return $this->getLineStyleArrowSize($this->_line_style_properties['arrow'][$arrow]['size'], 'w'); + } + + /** + * Get Line Style Arrow Excel Length + * + * @param string $arrow + * + * @return string + */ + + public function getLineStyleArrowLength($arrow) { + return $this->getLineStyleArrowSize($this->_line_style_properties['arrow'][$arrow]['size'], 'len'); + } + + /** + * Set Shadow Properties + * + * @param int $shadow_presets + * @param string $sh_color_value + * @param string $sh_color_type + * @param string $sh_color_alpha + * @param float $sh_blur + * @param int $sh_angle + * @param float $sh_distance + * + */ + + public function setShadowProperties($sh_presets, $sh_color_value = NULL, $sh_color_type = NULL, $sh_color_alpha = NULL, $sh_blur = NULL, $sh_angle = NULL, $sh_distance = NULL) { + $this + ->_setShadowPresetsProperties((int) $sh_presets) + ->_setShadowColor( + is_null($sh_color_value) ? $this->_shadow_properties['color']['value'] : $sh_color_value + , is_null($sh_color_alpha) ? (int) $this->_shadow_properties['color']['alpha'] : $sh_color_alpha + , is_null($sh_color_type) ? $this->_shadow_properties['color']['type'] : $sh_color_type) + ->_setShadowBlur($sh_blur) + ->_setShadowAngle($sh_angle) + ->_setShadowDistance($sh_distance); + } + + /** + * Set Shadow Color + * + * @param int $shadow_presets + * + * @return PHPExcel_Chart_Axis + */ + + private function _setShadowPresetsProperties($shadow_presets) { + $this->_shadow_properties['presets'] = $shadow_presets; + $this->_setShadowProperiesMapValues($this->getShadowPresetsMap($shadow_presets)); + + return $this; + } + + /** + * Set Shadow Properties from Maped Values + * + * @param array $properties_map + * @param * $reference + * + * @return PHPExcel_Chart_Axis + */ + + private function _setShadowProperiesMapValues(array $properties_map, &$reference = NULL) { + $base_reference = $reference; + foreach ($properties_map as $property_key => $property_val) { + if (is_array($property_val)) { + if ($reference === NULL) { + $reference = & $this->_shadow_properties[$property_key]; + } else { + $reference = & $reference[$property_key]; + } + $this->_setShadowProperiesMapValues($property_val, $reference); + } else { + if ($base_reference === NULL) { + $this->_shadow_properties[$property_key] = $property_val; + } else { + $reference[$property_key] = $property_val; + } + } + } + + return $this; + } + + /** + * Set Shadow Color + * + * @param string $color + * @param int $alpha + * @param string $type + * + * @return PHPExcel_Chart_Axis + */ + + private function _setShadowColor($color, $alpha, $type) { + $this->_shadow_properties['color'] = $this->setColorProperties($color, $alpha, $type); + + return $this; + } + + /** + * Set Shadow Blur + * + * @param float $blur + * + * @return PHPExcel_Chart_Axis + */ + + private function _setShadowBlur($blur) { + if ($blur !== NULL) { + $this->_shadow_properties['blur'] = (string) $this->getExcelPointsWidth($blur); + } + + return $this; + } + + /** + * Set Shadow Angle + * + * @param int $angle + * + * @return PHPExcel_Chart_Axis + */ + + private function _setShadowAngle($angle) { + if ($angle !== NULL) { + $this->_shadow_properties['direction'] = (string) $this->getExcelPointsAngle($angle); + } + + return $this; + } + + /** + * Set Shadow Distance + * + * @param float $distance + * + * @return PHPExcel_Chart_Axis + */ + + private function _setShadowDistance($distance) { + if ($distance !== NULL) { + $this->_shadow_properties['distance'] = (string) $this->getExcelPointsWidth($distance); + } + + return $this; + } + + /** + * Get Glow Property + * + * @param float $size + * @param string $color_value + * @param int $color_alpha + * @param string $color_type + */ + + public function getShadowProperty($elements) { + return $this->getArrayElementsValue($this->_shadow_properties, $elements); + } + + /** + * Set Glow Properties + * + * @param float $size + * @param string $color_value + * @param int $color_alpha + * @param string $color_type + */ + + public function setGlowProperties($size, $color_value = NULL, $color_alpha = NULL, $color_type = NULL) { + $this + ->_setGlowSize($size) + ->_setGlowColor( + is_null($color_value) ? $this->_glow_properties['color']['value'] : $color_value + , is_null($color_alpha) ? (int) $this->_glow_properties['color']['alpha'] : $color_alpha + , is_null($color_type) ? $this->_glow_properties['color']['type'] : $color_type); + } + + /** + * Get Glow Property + * + * @param array|string $property + * + * @return string + */ + + public function getGlowProperty($property) { + return $this->getArrayElementsValue($this->_glow_properties, $property); + } + + /** + * Set Glow Color + * + * @param float $size + * + * @return PHPExcel_Chart_Axis + */ + + private function _setGlowSize($size) { + if (!is_null($size)) { + $this->_glow_properties['size'] = $this->getExcelPointsWidth($size); + } + + return $this; + } + + /** + * Set Glow Color + * + * @param string $color + * @param int $alpha + * @param string $type + * + * @return PHPExcel_Chart_Axis + */ + + private function _setGlowColor($color, $alpha, $type) { + $this->_glow_properties['color'] = $this->setColorProperties($color, $alpha, $type); + + return $this; + } + + /** + * Set Soft Edges Size + * + * @param float $size + */ + + public function setSoftEdges($size) { + if (!is_null($size)) { + $_soft_edges['size'] = (string) $this->getExcelPointsWidth($size); + } + } + + /** + * Get Soft Edges Size + * + * @return string + */ + + public function getSoftEdgesSize() { + return $this->_soft_edges['size']; + } +} \ No newline at end of file diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Chart/DataSeries.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Chart/DataSeries.php new file mode 100644 index 00000000..56faf6ee --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Chart/DataSeries.php @@ -0,0 +1,370 @@ +_plotType = $plotType; + $this->_plotGrouping = $plotGrouping; + $this->_plotOrder = $plotOrder; + $keys = array_keys($plotValues); + $this->_plotValues = $plotValues; + if ((count($plotLabel) == 0) || (is_null($plotLabel[$keys[0]]))) { + $plotLabel[$keys[0]] = new PHPExcel_Chart_DataSeriesValues(); + } + + $this->_plotLabel = $plotLabel; + if ((count($plotCategory) == 0) || (is_null($plotCategory[$keys[0]]))) { + $plotCategory[$keys[0]] = new PHPExcel_Chart_DataSeriesValues(); + } + $this->_plotCategory = $plotCategory; + $this->_smoothLine = $smoothLine; + $this->_plotStyle = $plotStyle; + + if (is_null($plotDirection)) { + $plotDirection = self::DIRECTION_COL; + } + $this->_plotDirection = $plotDirection; + } + + /** + * Get Plot Type + * + * @return string + */ + public function getPlotType() { + return $this->_plotType; + } + + /** + * Set Plot Type + * + * @param string $plotType + * @return PHPExcel_Chart_DataSeries + */ + public function setPlotType($plotType = '') { + $this->_plotType = $plotType; + return $this; + } + + /** + * Get Plot Grouping Type + * + * @return string + */ + public function getPlotGrouping() { + return $this->_plotGrouping; + } + + /** + * Set Plot Grouping Type + * + * @param string $groupingType + * @return PHPExcel_Chart_DataSeries + */ + public function setPlotGrouping($groupingType = null) { + $this->_plotGrouping = $groupingType; + return $this; + } + + /** + * Get Plot Direction + * + * @return string + */ + public function getPlotDirection() { + return $this->_plotDirection; + } + + /** + * Set Plot Direction + * + * @param string $plotDirection + * @return PHPExcel_Chart_DataSeries + */ + public function setPlotDirection($plotDirection = null) { + $this->_plotDirection = $plotDirection; + return $this; + } + + /** + * Get Plot Order + * + * @return string + */ + public function getPlotOrder() { + return $this->_plotOrder; + } + + /** + * Get Plot Labels + * + * @return array of PHPExcel_Chart_DataSeriesValues + */ + public function getPlotLabels() { + return $this->_plotLabel; + } + + /** + * Get Plot Label by Index + * + * @return PHPExcel_Chart_DataSeriesValues + */ + public function getPlotLabelByIndex($index) { + $keys = array_keys($this->_plotLabel); + if (in_array($index,$keys)) { + return $this->_plotLabel[$index]; + } elseif(isset($keys[$index])) { + return $this->_plotLabel[$keys[$index]]; + } + return false; + } + + /** + * Get Plot Categories + * + * @return array of PHPExcel_Chart_DataSeriesValues + */ + public function getPlotCategories() { + return $this->_plotCategory; + } + + /** + * Get Plot Category by Index + * + * @return PHPExcel_Chart_DataSeriesValues + */ + public function getPlotCategoryByIndex($index) { + $keys = array_keys($this->_plotCategory); + if (in_array($index,$keys)) { + return $this->_plotCategory[$index]; + } elseif(isset($keys[$index])) { + return $this->_plotCategory[$keys[$index]]; + } + return false; + } + + /** + * Get Plot Style + * + * @return string + */ + public function getPlotStyle() { + return $this->_plotStyle; + } + + /** + * Set Plot Style + * + * @param string $plotStyle + * @return PHPExcel_Chart_DataSeries + */ + public function setPlotStyle($plotStyle = null) { + $this->_plotStyle = $plotStyle; + return $this; + } + + /** + * Get Plot Values + * + * @return array of PHPExcel_Chart_DataSeriesValues + */ + public function getPlotValues() { + return $this->_plotValues; + } + + /** + * Get Plot Values by Index + * + * @return PHPExcel_Chart_DataSeriesValues + */ + public function getPlotValuesByIndex($index) { + $keys = array_keys($this->_plotValues); + if (in_array($index,$keys)) { + return $this->_plotValues[$index]; + } elseif(isset($keys[$index])) { + return $this->_plotValues[$keys[$index]]; + } + return false; + } + + /** + * Get Number of Plot Series + * + * @return integer + */ + public function getPlotSeriesCount() { + return count($this->_plotValues); + } + + /** + * Get Smooth Line + * + * @return boolean + */ + public function getSmoothLine() { + return $this->_smoothLine; + } + + /** + * Set Smooth Line + * + * @param boolean $smoothLine + * @return PHPExcel_Chart_DataSeries + */ + public function setSmoothLine($smoothLine = TRUE) { + $this->_smoothLine = $smoothLine; + return $this; + } + + public function refresh(PHPExcel_Worksheet $worksheet) { + foreach($this->_plotValues as $plotValues) { + if ($plotValues !== NULL) + $plotValues->refresh($worksheet, TRUE); + } + foreach($this->_plotLabel as $plotValues) { + if ($plotValues !== NULL) + $plotValues->refresh($worksheet, TRUE); + } + foreach($this->_plotCategory as $plotValues) { + if ($plotValues !== NULL) + $plotValues->refresh($worksheet, FALSE); + } + } + +} diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Chart/DataSeriesValues.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Chart/DataSeriesValues.php new file mode 100644 index 00000000..731d2c92 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Chart/DataSeriesValues.php @@ -0,0 +1,327 @@ +setDataType($dataType); + $this->_dataSource = $dataSource; + $this->_formatCode = $formatCode; + $this->_pointCount = $pointCount; + $this->_dataValues = $dataValues; + $this->_marker = $marker; + } + + /** + * Get Series Data Type + * + * @return string + */ + public function getDataType() { + return $this->_dataType; + } + + /** + * Set Series Data Type + * + * @param string $dataType Datatype of this data series + * Typical values are: + * PHPExcel_Chart_DataSeriesValues::DATASERIES_TYPE_STRING + * Normally used for axis point values + * PHPExcel_Chart_DataSeriesValues::DATASERIES_TYPE_NUMBER + * Normally used for chart data values + * @return PHPExcel_Chart_DataSeriesValues + */ + public function setDataType($dataType = self::DATASERIES_TYPE_NUMBER) { + if (!in_array($dataType, self::$_dataTypeValues)) { + throw new PHPExcel_Chart_Exception('Invalid datatype for chart data series values'); + } + $this->_dataType = $dataType; + + return $this; + } + + /** + * Get Series Data Source (formula) + * + * @return string + */ + public function getDataSource() { + return $this->_dataSource; + } + + /** + * Set Series Data Source (formula) + * + * @param string $dataSource + * @return PHPExcel_Chart_DataSeriesValues + */ + public function setDataSource($dataSource = null, $refreshDataValues = true) { + $this->_dataSource = $dataSource; + + if ($refreshDataValues) { + // TO DO + } + + return $this; + } + + /** + * Get Point Marker + * + * @return string + */ + public function getPointMarker() { + return $this->_marker; + } + + /** + * Set Point Marker + * + * @param string $marker + * @return PHPExcel_Chart_DataSeriesValues + */ + public function setPointMarker($marker = null) { + $this->_marker = $marker; + + return $this; + } + + /** + * Get Series Format Code + * + * @return string + */ + public function getFormatCode() { + return $this->_formatCode; + } + + /** + * Set Series Format Code + * + * @param string $formatCode + * @return PHPExcel_Chart_DataSeriesValues + */ + public function setFormatCode($formatCode = null) { + $this->_formatCode = $formatCode; + + return $this; + } + + /** + * Get Series Point Count + * + * @return integer + */ + public function getPointCount() { + return $this->_pointCount; + } + + /** + * Identify if the Data Series is a multi-level or a simple series + * + * @return boolean + */ + public function isMultiLevelSeries() { + if (count($this->_dataValues) > 0) { + return is_array($this->_dataValues[0]); + } + return null; + } + + /** + * Return the level count of a multi-level Data Series + * + * @return boolean + */ + public function multiLevelCount() { + $levelCount = 0; + foreach($this->_dataValues as $dataValueSet) { + $levelCount = max($levelCount,count($dataValueSet)); + } + return $levelCount; + } + + /** + * Get Series Data Values + * + * @return array of mixed + */ + public function getDataValues() { + return $this->_dataValues; + } + + /** + * Get the first Series Data value + * + * @return mixed + */ + public function getDataValue() { + $count = count($this->_dataValues); + if ($count == 0) { + return null; + } elseif ($count == 1) { + return $this->_dataValues[0]; + } + return $this->_dataValues; + } + + /** + * Set Series Data Values + * + * @param array $dataValues + * @param boolean $refreshDataSource + * TRUE - refresh the value of _dataSource based on the values of $dataValues + * FALSE - don't change the value of _dataSource + * @return PHPExcel_Chart_DataSeriesValues + */ + public function setDataValues($dataValues = array(), $refreshDataSource = TRUE) { + $this->_dataValues = PHPExcel_Calculation_Functions::flattenArray($dataValues); + $this->_pointCount = count($dataValues); + + if ($refreshDataSource) { + // TO DO + } + + return $this; + } + + private function _stripNulls($var) { + return $var !== NULL; + } + + public function refresh(PHPExcel_Worksheet $worksheet, $flatten = TRUE) { + if ($this->_dataSource !== NULL) { + $calcEngine = PHPExcel_Calculation::getInstance($worksheet->getParent()); + $newDataValues = PHPExcel_Calculation::_unwrapResult( + $calcEngine->_calculateFormulaValue( + '='.$this->_dataSource, + NULL, + $worksheet->getCell('A1') + ) + ); + if ($flatten) { + $this->_dataValues = PHPExcel_Calculation_Functions::flattenArray($newDataValues); + foreach($this->_dataValues as &$dataValue) { + if ((!empty($dataValue)) && ($dataValue[0] == '#')) { + $dataValue = 0.0; + } + } + unset($dataValue); + } else { + $cellRange = explode('!',$this->_dataSource); + if (count($cellRange) > 1) { + list(,$cellRange) = $cellRange; + } + + $dimensions = PHPExcel_Cell::rangeDimension(str_replace('$','',$cellRange)); + if (($dimensions[0] == 1) || ($dimensions[1] == 1)) { + $this->_dataValues = PHPExcel_Calculation_Functions::flattenArray($newDataValues); + } else { + $newArray = array_values(array_shift($newDataValues)); + foreach($newArray as $i => $newDataSet) { + $newArray[$i] = array($newDataSet); + } + + foreach($newDataValues as $newDataSet) { + $i = 0; + foreach($newDataSet as $newDataVal) { + array_unshift($newArray[$i++],$newDataVal); + } + } + $this->_dataValues = $newArray; + } + } + $this->_pointCount = count($this->_dataValues); + } + + } + +} diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Chart/Exception.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Chart/Exception.php new file mode 100644 index 00000000..58b5b582 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Chart/Exception.php @@ -0,0 +1,52 @@ +line = $line; + $e->file = $file; + throw $e; + } +} diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Chart/GridLines.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Chart/GridLines.php new file mode 100644 index 00000000..269860ca --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Chart/GridLines.php @@ -0,0 +1,458 @@ + array( + 'type' => self::EXCEL_COLOR_TYPE_STANDARD, + 'value' => NULL, + 'alpha' => 0 + ), + 'style' => array( + 'width' => '9525', + 'compound' => self::LINE_STYLE_COMPOUND_SIMPLE, + 'dash' => self::LINE_STYLE_DASH_SOLID, + 'cap' => self::LINE_STYLE_CAP_FLAT, + 'join' => self::LINE_STYLE_JOIN_BEVEL, + 'arrow' => array( + 'head' => array( + 'type' => self::LINE_STYLE_ARROW_TYPE_NOARROW, + 'size' => self::LINE_STYLE_ARROW_SIZE_5 + ), + 'end' => array( + 'type' => self::LINE_STYLE_ARROW_TYPE_NOARROW, + 'size' => self::LINE_STYLE_ARROW_SIZE_8 + ), + ) + ) + ), + $_shadow_properties = array( + 'presets' => self::SHADOW_PRESETS_NOSHADOW, + 'effect' => NULL, + 'color' => array( + 'type' => self::EXCEL_COLOR_TYPE_STANDARD, + 'value' => 'black', + 'alpha' => 85, + ), + 'size' => array( + 'sx' => NULL, + 'sy' => NULL, + 'kx' => NULL + ), + 'blur' => NULL, + 'direction' => NULL, + 'distance' => NULL, + 'algn' => NULL, + 'rotWithShape' => NULL + ), + $_glow_properties = array( + 'size' => NULL, + 'color' => array( + 'type' => self::EXCEL_COLOR_TYPE_STANDARD, + 'value' => 'black', + 'alpha' => 40 + ) + ), + $_soft_edges = array( + 'size' => NULL + ); + + /** + * Get Object State + * + * @return bool + */ + + public function getObjectState() { + return $this->_object_state; + } + + /** + * Change Object State to True + * + * @return PHPExcel_Chart_GridLines + */ + + private function _activateObject() { + $this->_object_state = TRUE; + + return $this; + } + + /** + * Set Line Color Properties + * + * @param string $value + * @param int $alpha + * @param string $type + */ + + public function setLineColorProperties($value, $alpha = 0, $type = self::EXCEL_COLOR_TYPE_STANDARD) { + $this + ->_activateObject() + ->_line_properties['color'] = $this->setColorProperties( + $value, + $alpha, + $type); + } + + /** + * Set Line Color Properties + * + * @param float $line_width + * @param string $compound_type + * @param string $dash_type + * @param string $cap_type + * @param string $join_type + * @param string $head_arrow_type + * @param string $head_arrow_size + * @param string $end_arrow_type + * @param string $end_arrow_size + */ + + public function setLineStyleProperties($line_width = NULL, $compound_type = NULL, $dash_type = NULL, $cap_type = NULL, $join_type = NULL, $head_arrow_type = NULL, $head_arrow_size = NULL, $end_arrow_type = NULL, $end_arrow_size = NULL) { + $this->_activateObject(); + (!is_null($line_width)) + ? $this->_line_properties['style']['width'] = $this->getExcelPointsWidth((float) $line_width) + : NULL; + (!is_null($compound_type)) + ? $this->_line_properties['style']['compound'] = (string) $compound_type + : NULL; + (!is_null($dash_type)) + ? $this->_line_properties['style']['dash'] = (string) $dash_type + : NULL; + (!is_null($cap_type)) + ? $this->_line_properties['style']['cap'] = (string) $cap_type + : NULL; + (!is_null($join_type)) + ? $this->_line_properties['style']['join'] = (string) $join_type + : NULL; + (!is_null($head_arrow_type)) + ? $this->_line_properties['style']['arrow']['head']['type'] = (string) $head_arrow_type + : NULL; + (!is_null($head_arrow_size)) + ? $this->_line_properties['style']['arrow']['head']['size'] = (string) $head_arrow_size + : NULL; + (!is_null($end_arrow_type)) + ? $this->_line_properties['style']['arrow']['end']['type'] = (string) $end_arrow_type + : NULL; + (!is_null($end_arrow_size)) + ? $this->_line_properties['style']['arrow']['end']['size'] = (string) $end_arrow_size + : NULL; + } + + /** + * Get Line Color Property + * + * @param string $parameter + * + * @return string + */ + + public function getLineColorProperty($parameter) { + return $this->_line_properties['color'][$parameter]; + } + + /** + * Get Line Style Property + * + * @param array|string $elements + * + * @return string + */ + + public function getLineStyleProperty($elements) { + return $this->getArrayElementsValue($this->_line_properties['style'], $elements); + } + + /** + * Set Glow Properties + * + * @param float $size + * @param string $color_value + * @param int $color_alpha + * @param string $color_type + * + */ + + public function setGlowProperties($size, $color_value = NULL, $color_alpha = NULL, $color_type = NULL) { + $this + ->_activateObject() + ->_setGlowSize($size) + ->_setGlowColor($color_value, $color_alpha, $color_type); + } + + /** + * Get Glow Color Property + * + * @param string $property + * + * @return string + */ + + public function getGlowColor($property) { + return $this->_glow_properties['color'][$property]; + } + + /** + * Get Glow Size + * + * @return string + */ + + public function getGlowSize() { + return $this->_glow_properties['size']; + } + + /** + * Set Glow Size + * + * @param float $size + * + * @return PHPExcel_Chart_GridLines + */ + + private function _setGlowSize($size) { + $this->_glow_properties['size'] = $this->getExcelPointsWidth((float) $size); + + return $this; + } + + /** + * Set Glow Color + * + * @param string $color + * @param int $alpha + * @param string $type + * + * @return PHPExcel_Chart_GridLines + */ + + private function _setGlowColor($color, $alpha, $type) { + if (!is_null($color)) { + $this->_glow_properties['color']['value'] = (string) $color; + } + if (!is_null($alpha)) { + $this->_glow_properties['color']['alpha'] = $this->getTrueAlpha((int) $alpha); + } + if (!is_null($type)) { + $this->_glow_properties['color']['type'] = (string) $type; + } + + return $this; + } + + /** + * Get Line Style Arrow Parameters + * + * @param string $arrow_selector + * @param string $property_selector + * + * @return string + */ + + public function getLineStyleArrowParameters($arrow_selector, $property_selector) { + return $this->getLineStyleArrowSize($this->_line_properties['style']['arrow'][$arrow_selector]['size'], $property_selector); + } + + /** + * Set Shadow Properties + * + * @param int $sh_presets + * @param string $sh_color_value + * @param string $sh_color_type + * @param int $sh_color_alpha + * @param string $sh_blur + * @param int $sh_angle + * @param float $sh_distance + * + */ + + public function setShadowProperties($sh_presets, $sh_color_value = NULL, $sh_color_type = NULL, $sh_color_alpha = NULL, $sh_blur = NULL, $sh_angle = NULL, $sh_distance = NULL) { + $this + ->_activateObject() + ->_setShadowPresetsProperties((int) $sh_presets) + ->_setShadowColor( + is_null($sh_color_value) ? $this->_shadow_properties['color']['value'] : $sh_color_value + , is_null($sh_color_alpha) ? (int) $this->_shadow_properties['color']['alpha'] + : $this->getTrueAlpha($sh_color_alpha) + , is_null($sh_color_type) ? $this->_shadow_properties['color']['type'] : $sh_color_type) + ->_setShadowBlur($sh_blur) + ->_setShadowAngle($sh_angle) + ->_setShadowDistance($sh_distance); + } + + /** + * Set Shadow Presets Properties + * + * @param int $shadow_presets + * + * @return PHPExcel_Chart_GridLines + */ + + private function _setShadowPresetsProperties($shadow_presets) { + $this->_shadow_properties['presets'] = $shadow_presets; + $this->_setShadowProperiesMapValues($this->getShadowPresetsMap($shadow_presets)); + + return $this; + } + + /** + * Set Shadow Properties Values + * + * @param array $properties_map + * @param * $reference + * + * @return PHPExcel_Chart_GridLines + */ + + private function _setShadowProperiesMapValues(array $properties_map, &$reference = NULL) { + $base_reference = $reference; + foreach ($properties_map as $property_key => $property_val) { + if (is_array($property_val)) { + if ($reference === NULL) { + $reference = & $this->_shadow_properties[$property_key]; + } else { + $reference = & $reference[$property_key]; + } + $this->_setShadowProperiesMapValues($property_val, $reference); + } else { + if ($base_reference === NULL) { + $this->_shadow_properties[$property_key] = $property_val; + } else { + $reference[$property_key] = $property_val; + } + } + } + + return $this; + } + + /** + * Set Shadow Color + * + * @param string $color + * @param int $alpha + * @param string $type + * + * @return PHPExcel_Chart_GridLines + */ + + private function _setShadowColor($color, $alpha, $type) { + if (!is_null($color)) { + $this->_shadow_properties['color']['value'] = (string) $color; + } + if (!is_null($alpha)) { + $this->_shadow_properties['color']['alpha'] = $this->getTrueAlpha((int) $alpha); + } + if (!is_null($type)) { + $this->_shadow_properties['color']['type'] = (string) $type; + } + + return $this; + } + + /** + * Set Shadow Blur + * + * @param float $blur + * + * @return PHPExcel_Chart_GridLines + */ + + private function _setShadowBlur($blur) { + if ($blur !== NULL) { + $this->_shadow_properties['blur'] = (string) $this->getExcelPointsWidth($blur); + } + + return $this; + } + + /** + * Set Shadow Angle + * + * @param int $angle + * + * @return PHPExcel_Chart_GridLines + */ + + private function _setShadowAngle($angle) { + if ($angle !== NULL) { + $this->_shadow_properties['direction'] = (string) $this->getExcelPointsAngle($angle); + } + + return $this; + } + + /** + * Set Shadow Distance + * + * @param float $distance + * + * @return PHPExcel_Chart_GridLines + */ + + private function _setShadowDistance($distance) { + if ($distance !== NULL) { + $this->_shadow_properties['distance'] = (string) $this->getExcelPointsWidth($distance); + } + + return $this; + } + + /** + * Get Shadow Property + * + * @param string $elements + * @param array $elements + * + * @return string + */ + + public function getShadowProperty($elements) { + return $this->getArrayElementsValue($this->_shadow_properties, $elements); + } + + /** + * Set Soft Edges Size + * + * @param float $size + */ + + public function setSoftEdgesSize($size) { + if (!is_null($size)) { + $this->_activateObject(); + $_soft_edges['size'] = (string) $this->getExcelPointsWidth($size); + } + } + + /** + * Get Soft Edges Size + * + * @return string + */ + + public function getSoftEdgesSize() { + return $this->_soft_edges['size']; + } +} \ No newline at end of file diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Chart/Layout.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Chart/Layout.php new file mode 100644 index 00000000..eefa157a --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Chart/Layout.php @@ -0,0 +1,445 @@ +_layoutTarget = $layout['layoutTarget']; } + if (isset($layout['xMode'])) { $this->_xMode = $layout['xMode']; } + if (isset($layout['yMode'])) { $this->_yMode = $layout['yMode']; } + if (isset($layout['x'])) { $this->_xPos = (float) $layout['x']; } + if (isset($layout['y'])) { $this->_yPos = (float) $layout['y']; } + if (isset($layout['w'])) { $this->_width = (float) $layout['w']; } + if (isset($layout['h'])) { $this->_height = (float) $layout['h']; } + } + + /** + * Get Layout Target + * + * @return string + */ + public function getLayoutTarget() { + return $this->_layoutTarget; + } + + /** + * Set Layout Target + * + * @param Layout Target $value + * @return PHPExcel_Chart_Layout + */ + public function setLayoutTarget($value) { + $this->_layoutTarget = $value; + return $this; + } + + /** + * Get X-Mode + * + * @return string + */ + public function getXMode() { + return $this->_xMode; + } + + /** + * Set X-Mode + * + * @param X-Mode $value + * @return PHPExcel_Chart_Layout + */ + public function setXMode($value) { + $this->_xMode = $value; + return $this; + } + + /** + * Get Y-Mode + * + * @return string + */ + public function getYMode() { + return $this->_yMode; + } + + /** + * Set Y-Mode + * + * @param Y-Mode $value + * @return PHPExcel_Chart_Layout + */ + public function setYMode($value) { + $this->_yMode = $value; + return $this; + } + + /** + * Get X-Position + * + * @return number + */ + public function getXPosition() { + return $this->_xPos; + } + + /** + * Set X-Position + * + * @param X-Position $value + * @return PHPExcel_Chart_Layout + */ + public function setXPosition($value) { + $this->_xPos = $value; + return $this; + } + + /** + * Get Y-Position + * + * @return number + */ + public function getYPosition() { + return $this->_yPos; + } + + /** + * Set Y-Position + * + * @param Y-Position $value + * @return PHPExcel_Chart_Layout + */ + public function setYPosition($value) { + $this->_yPos = $value; + return $this; + } + + /** + * Get Width + * + * @return number + */ + public function getWidth() { + return $this->_width; + } + + /** + * Set Width + * + * @param Width $value + * @return PHPExcel_Chart_Layout + */ + public function setWidth($value) { + $this->_width = $value; + return $this; + } + + /** + * Get Height + * + * @return number + */ + public function getHeight() { + return $this->_height; + } + + /** + * Set Height + * + * @param Height $value + * @return PHPExcel_Chart_Layout + */ + public function setHeight($value) { + $this->_height = $value; + return $this; + } + + + /** + * Get show legend key + * + * @return boolean + */ + public function getShowLegendKey() { + return $this->_showLegendKey; + } + + /** + * Set show legend key + * Specifies that legend keys should be shown in data labels. + * + * @param boolean $value Show legend key + * @return PHPExcel_Chart_Layout + */ + public function setShowLegendKey($value) { + $this->_showLegendKey = $value; + return $this; + } + + /** + * Get show value + * + * @return boolean + */ + public function getShowVal() { + return $this->_showVal; + } + + /** + * Set show val + * Specifies that the value should be shown in data labels. + * + * @param boolean $value Show val + * @return PHPExcel_Chart_Layout + */ + public function setShowVal($value) { + $this->_showVal = $value; + return $this; + } + + /** + * Get show category name + * + * @return boolean + */ + public function getShowCatName() { + return $this->_showCatName; + } + + /** + * Set show cat name + * Specifies that the category name should be shown in data labels. + * + * @param boolean $value Show cat name + * @return PHPExcel_Chart_Layout + */ + public function setShowCatName($value) { + $this->_showCatName = $value; + return $this; + } + + /** + * Get show data series name + * + * @return boolean + */ + public function getShowSerName() { + return $this->_showSerName; + } + + /** + * Set show ser name + * Specifies that the series name should be shown in data labels. + * + * @param boolean $value Show series name + * @return PHPExcel_Chart_Layout + */ + public function setShowSerName($value) { + $this->_showSerName = $value; + return $this; + } + + /** + * Get show percentage + * + * @return boolean + */ + public function getShowPercent() { + return $this->_showPercent; + } + + /** + * Set show percentage + * Specifies that the percentage should be shown in data labels. + * + * @param boolean $value Show percentage + * @return PHPExcel_Chart_Layout + */ + public function setShowPercent($value) { + $this->_showPercent = $value; + return $this; + } + + /** + * Get show bubble size + * + * @return boolean + */ + public function getShowBubbleSize() { + return $this->_showBubbleSize; + } + + /** + * Set show bubble size + * Specifies that the bubble size should be shown in data labels. + * + * @param boolean $value Show bubble size + * @return PHPExcel_Chart_Layout + */ + public function setShowBubbleSize($value) { + $this->_showBubbleSize = $value; + return $this; + } + + /** + * Get show leader lines + * + * @return boolean + */ + public function getShowLeaderLines() { + return $this->_showLeaderLines; + } + + /** + * Set show leader lines + * Specifies that leader lines should be shown in data labels. + * + * @param boolean $value Show leader lines + * @return PHPExcel_Chart_Layout + */ + public function setShowLeaderLines($value) { + $this->_showLeaderLines = $value; + return $this; + } + +} diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Chart/Legend.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Chart/Legend.php new file mode 100644 index 00000000..783b3d42 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Chart/Legend.php @@ -0,0 +1,171 @@ + self::POSITION_BOTTOM, + self::xlLegendPositionCorner => self::POSITION_TOPRIGHT, + self::xlLegendPositionCustom => '??', + self::xlLegendPositionLeft => self::POSITION_LEFT, + self::xlLegendPositionRight => self::POSITION_RIGHT, + self::xlLegendPositionTop => self::POSITION_TOP + ); + + /** + * Legend position + * + * @var string + */ + private $_position = self::POSITION_RIGHT; + + /** + * Allow overlay of other elements? + * + * @var boolean + */ + private $_overlay = TRUE; + + /** + * Legend Layout + * + * @var PHPExcel_Chart_Layout + */ + private $_layout = NULL; + + + /** + * Create a new PHPExcel_Chart_Legend + */ + public function __construct($position = self::POSITION_RIGHT, PHPExcel_Chart_Layout $layout = NULL, $overlay = FALSE) + { + $this->setPosition($position); + $this->_layout = $layout; + $this->setOverlay($overlay); + } + + /** + * Get legend position as an excel string value + * + * @return string + */ + public function getPosition() { + return $this->_position; + } + + /** + * Get legend position using an excel string value + * + * @param string $position + */ + public function setPosition($position = self::POSITION_RIGHT) { + if (!in_array($position,self::$_positionXLref)) { + return false; + } + + $this->_position = $position; + return true; + } + + /** + * Get legend position as an Excel internal numeric value + * + * @return number + */ + public function getPositionXL() { + return array_search($this->_position,self::$_positionXLref); + } + + /** + * Set legend position using an Excel internal numeric value + * + * @param number $positionXL + */ + public function setPositionXL($positionXL = self::xlLegendPositionRight) { + if (!array_key_exists($positionXL,self::$_positionXLref)) { + return false; + } + + $this->_position = self::$_positionXLref[$positionXL]; + return true; + } + + /** + * Get allow overlay of other elements? + * + * @return boolean + */ + public function getOverlay() { + return $this->_overlay; + } + + /** + * Set allow overlay of other elements? + * + * @param boolean $overlay + * @return boolean + */ + public function setOverlay($overlay = FALSE) { + if (!is_bool($overlay)) { + return false; + } + + $this->_overlay = $overlay; + return true; + } + + /** + * Get Layout + * + * @return PHPExcel_Chart_Layout + */ + public function getLayout() { + return $this->_layout; + } + +} diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Chart/PlotArea.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Chart/PlotArea.php new file mode 100644 index 00000000..c917ce30 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Chart/PlotArea.php @@ -0,0 +1,128 @@ +_layout = $layout; + $this->_plotSeries = $plotSeries; + } + + /** + * Get Layout + * + * @return PHPExcel_Chart_Layout + */ + public function getLayout() { + return $this->_layout; + } + + /** + * Get Number of Plot Groups + * + * @return array of PHPExcel_Chart_DataSeries + */ + public function getPlotGroupCount() { + return count($this->_plotSeries); + } + + /** + * Get Number of Plot Series + * + * @return integer + */ + public function getPlotSeriesCount() { + $seriesCount = 0; + foreach($this->_plotSeries as $plot) { + $seriesCount += $plot->getPlotSeriesCount(); + } + return $seriesCount; + } + + /** + * Get Plot Series + * + * @return array of PHPExcel_Chart_DataSeries + */ + public function getPlotGroup() { + return $this->_plotSeries; + } + + /** + * Get Plot Series by Index + * + * @return PHPExcel_Chart_DataSeries + */ + public function getPlotGroupByIndex($index) { + return $this->_plotSeries[$index]; + } + + /** + * Set Plot Series + * + * @param [PHPExcel_Chart_DataSeries] + * @return PHPExcel_Chart_PlotArea + */ + public function setPlotSeries($plotSeries = array()) { + $this->_plotSeries = $plotSeries; + + return $this; + } + + public function refresh(PHPExcel_Worksheet $worksheet) { + foreach($this->_plotSeries as $plotSeries) { + $plotSeries->refresh($worksheet); + } + } + +} diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Chart/Properties.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Chart/Properties.php new file mode 100644 index 00000000..7593983c --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Chart/Properties.php @@ -0,0 +1,359 @@ + (string) $type, + 'value' => (string) $color, + 'alpha' => (string) $this->getTrueAlpha($alpha) + ); + } + + protected function getLineStyleArrowSize($array_selector, $array_kay_selector) { + $sizes = array( + 1 => array('w' => 'sm', 'len' => 'sm'), + 2 => array('w' => 'sm', 'len' => 'med'), + 3 => array('w' => 'sm', 'len' => 'lg'), + 4 => array('w' => 'med', 'len' => 'sm'), + 5 => array('w' => 'med', 'len' => 'med'), + 6 => array('w' => 'med', 'len' => 'lg'), + 7 => array('w' => 'lg', 'len' => 'sm'), + 8 => array('w' => 'lg', 'len' => 'med'), + 9 => array('w' => 'lg', 'len' => 'lg') + ); + + return $sizes[$array_selector][$array_kay_selector]; + } + + protected function getShadowPresetsMap($shadow_presets_option) { + $presets_options = array( + //OUTER + 1 => array( + 'effect' => 'outerShdw', + 'blur' => '50800', + 'distance' => '38100', + 'direction' => '2700000', + 'algn' => 'tl', + 'rotWithShape' => '0' + ), + 2 => array( + 'effect' => 'outerShdw', + 'blur' => '50800', + 'distance' => '38100', + 'direction' => '5400000', + 'algn' => 't', + 'rotWithShape' => '0' + ), + 3 => array( + 'effect' => 'outerShdw', + 'blur' => '50800', + 'distance' => '38100', + 'direction' => '8100000', + 'algn' => 'tr', + 'rotWithShape' => '0' + ), + 4 => array( + 'effect' => 'outerShdw', + 'blur' => '50800', + 'distance' => '38100', + 'algn' => 'l', + 'rotWithShape' => '0' + ), + 5 => array( + 'effect' => 'outerShdw', + 'size' => array( + 'sx' => '102000', + 'sy' => '102000' + ) + , + 'blur' => '63500', + 'distance' => '38100', + 'algn' => 'ctr', + 'rotWithShape' => '0' + ), + 6 => array( + 'effect' => 'outerShdw', + 'blur' => '50800', + 'distance' => '38100', + 'direction' => '10800000', + 'algn' => 'r', + 'rotWithShape' => '0' + ), + 7 => array( + 'effect' => 'outerShdw', + 'blur' => '50800', + 'distance' => '38100', + 'direction' => '18900000', + 'algn' => 'bl', + 'rotWithShape' => '0' + ), + 8 => array( + 'effect' => 'outerShdw', + 'blur' => '50800', + 'distance' => '38100', + 'direction' => '16200000', + 'rotWithShape' => '0' + ), + 9 => array( + 'effect' => 'outerShdw', + 'blur' => '50800', + 'distance' => '38100', + 'direction' => '13500000', + 'algn' => 'br', + 'rotWithShape' => '0' + ), + //INNER + 10 => array( + 'effect' => 'innerShdw', + 'blur' => '63500', + 'distance' => '50800', + 'direction' => '2700000', + ), + 11 => array( + 'effect' => 'innerShdw', + 'blur' => '63500', + 'distance' => '50800', + 'direction' => '5400000', + ), + 12 => array( + 'effect' => 'innerShdw', + 'blur' => '63500', + 'distance' => '50800', + 'direction' => '8100000', + ), + 13 => array( + 'effect' => 'innerShdw', + 'blur' => '63500', + 'distance' => '50800', + ), + 14 => array( + 'effect' => 'innerShdw', + 'blur' => '114300', + ), + 15 => array( + 'effect' => 'innerShdw', + 'blur' => '63500', + 'distance' => '50800', + 'direction' => '10800000', + ), + 16 => array( + 'effect' => 'innerShdw', + 'blur' => '63500', + 'distance' => '50800', + 'direction' => '18900000', + ), + 17 => array( + 'effect' => 'innerShdw', + 'blur' => '63500', + 'distance' => '50800', + 'direction' => '16200000', + ), + 18 => array( + 'effect' => 'innerShdw', + 'blur' => '63500', + 'distance' => '50800', + 'direction' => '13500000', + ), + //perspective + 19 => array( + 'effect' => 'outerShdw', + 'blur' => '152400', + 'distance' => '317500', + 'size' => array( + 'sx' => '90000', + 'sy' => '-19000', + ), + 'direction' => '5400000', + 'rotWithShape' => '0', + ), + 20 => array( + 'effect' => 'outerShdw', + 'blur' => '76200', + 'direction' => '18900000', + 'size' => array( + 'sy' => '23000', + 'kx' => '-1200000', + ), + 'algn' => 'bl', + 'rotWithShape' => '0', + ), + 21 => array( + 'effect' => 'outerShdw', + 'blur' => '76200', + 'direction' => '13500000', + 'size' => array( + 'sy' => '23000', + 'kx' => '1200000', + ), + 'algn' => 'br', + 'rotWithShape' => '0', + ), + 22 => array( + 'effect' => 'outerShdw', + 'blur' => '76200', + 'distance' => '12700', + 'direction' => '2700000', + 'size' => array( + 'sy' => '-23000', + 'kx' => '-800400', + ), + 'algn' => 'bl', + 'rotWithShape' => '0', + ), + 23 => array( + 'effect' => 'outerShdw', + 'blur' => '76200', + 'distance' => '12700', + 'direction' => '8100000', + 'size' => array( + 'sy' => '-23000', + 'kx' => '800400', + ), + 'algn' => 'br', + 'rotWithShape' => '0', + ), + ); + + return $presets_options[$shadow_presets_option]; + } + + protected function getArrayElementsValue($properties, $elements) { + $reference = & $properties; + if (!is_array($elements)) { + return $reference[$elements]; + } else { + foreach ($elements as $keys) { + $reference = & $reference[$keys]; + } + + return $reference; + } + + return $this; + } + +} \ No newline at end of file diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Chart/Renderer/PHP Charting Libraries.txt b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Chart/Renderer/PHP Charting Libraries.txt new file mode 100644 index 00000000..20a82588 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Chart/Renderer/PHP Charting Libraries.txt @@ -0,0 +1,17 @@ +ChartDirector + http://www.advsofteng.com/cdphp.html + +GraPHPite + http://graphpite.sourceforge.net/ + +JpGraph + http://www.aditus.nu/jpgraph/ + +LibChart + http://naku.dohcrew.com/libchart/pages/introduction/ + +pChart + http://pchart.sourceforge.net/ + +TeeChart + http://www.steema.com/products/teechart/overview.html diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Chart/Renderer/jpgraph.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Chart/Renderer/jpgraph.php new file mode 100644 index 00000000..99a0b97a --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Chart/Renderer/jpgraph.php @@ -0,0 +1,855 @@ + MARK_DIAMOND, + 'square' => MARK_SQUARE, + 'triangle' => MARK_UTRIANGLE, + 'x' => MARK_X, + 'star' => MARK_STAR, + 'dot' => MARK_FILLEDCIRCLE, + 'dash' => MARK_DTRIANGLE, + 'circle' => MARK_CIRCLE, + 'plus' => MARK_CROSS + ); + + + private $_chart = null; + + private $_graph = null; + + private static $_plotColour = 0; + + private static $_plotMark = 0; + + + private function _formatPointMarker($seriesPlot,$markerID) { + $plotMarkKeys = array_keys(self::$_markSet); + if (is_null($markerID)) { + // Use default plot marker (next marker in the series) + self::$_plotMark %= count(self::$_markSet); + $seriesPlot->mark->SetType(self::$_markSet[$plotMarkKeys[self::$_plotMark++]]); + } elseif ($markerID !== 'none') { + // Use specified plot marker (if it exists) + if (isset(self::$_markSet[$markerID])) { + $seriesPlot->mark->SetType(self::$_markSet[$markerID]); + } else { + // If the specified plot marker doesn't exist, use default plot marker (next marker in the series) + self::$_plotMark %= count(self::$_markSet); + $seriesPlot->mark->SetType(self::$_markSet[$plotMarkKeys[self::$_plotMark++]]); + } + } else { + // Hide plot marker + $seriesPlot->mark->Hide(); + } + $seriesPlot->mark->SetColor(self::$_colourSet[self::$_plotColour]); + $seriesPlot->mark->SetFillColor(self::$_colourSet[self::$_plotColour]); + $seriesPlot->SetColor(self::$_colourSet[self::$_plotColour++]); + + return $seriesPlot; + } // function _formatPointMarker() + + + private function _formatDataSetLabels($groupID, $datasetLabels, $labelCount, $rotation = '') { + $datasetLabelFormatCode = $this->_chart->getPlotArea()->getPlotGroupByIndex($groupID)->getPlotCategoryByIndex(0)->getFormatCode(); + if (!is_null($datasetLabelFormatCode)) { + // Retrieve any label formatting code + $datasetLabelFormatCode = stripslashes($datasetLabelFormatCode); + } + + $testCurrentIndex = 0; + foreach($datasetLabels as $i => $datasetLabel) { + if (is_array($datasetLabel)) { + if ($rotation == 'bar') { + $datasetLabels[$i] = implode(" ",$datasetLabel); + } else { + $datasetLabel = array_reverse($datasetLabel); + $datasetLabels[$i] = implode("\n",$datasetLabel); + } + } else { + // Format labels according to any formatting code + if (!is_null($datasetLabelFormatCode)) { + $datasetLabels[$i] = PHPExcel_Style_NumberFormat::toFormattedString($datasetLabel,$datasetLabelFormatCode); + } + } + ++$testCurrentIndex; + } + + return $datasetLabels; + } // function _formatDataSetLabels() + + + private function _percentageSumCalculation($groupID,$seriesCount) { + // Adjust our values to a percentage value across all series in the group + for($i = 0; $i < $seriesCount; ++$i) { + if ($i == 0) { + $sumValues = $this->_chart->getPlotArea()->getPlotGroupByIndex($groupID)->getPlotValuesByIndex($i)->getDataValues(); + } else { + $nextValues = $this->_chart->getPlotArea()->getPlotGroupByIndex($groupID)->getPlotValuesByIndex($i)->getDataValues(); + foreach($nextValues as $k => $value) { + if (isset($sumValues[$k])) { + $sumValues[$k] += $value; + } else { + $sumValues[$k] = $value; + } + } + } + } + + return $sumValues; + } // function _percentageSumCalculation() + + + private function _percentageAdjustValues($dataValues,$sumValues) { + foreach($dataValues as $k => $dataValue) { + $dataValues[$k] = $dataValue / $sumValues[$k] * 100; + } + + return $dataValues; + } // function _percentageAdjustValues() + + + private function _getCaption($captionElement) { + // Read any caption + $caption = (!is_null($captionElement)) ? $captionElement->getCaption() : NULL; + // Test if we have a title caption to display + if (!is_null($caption)) { + // If we do, it could be a plain string or an array + if (is_array($caption)) { + // Implode an array to a plain string + $caption = implode('',$caption); + } + } + return $caption; + } // function _getCaption() + + + private function _renderTitle() { + $title = $this->_getCaption($this->_chart->getTitle()); + if (!is_null($title)) { + $this->_graph->title->Set($title); + } + } // function _renderTitle() + + + private function _renderLegend() { + $legend = $this->_chart->getLegend(); + if (!is_null($legend)) { + $legendPosition = $legend->getPosition(); + $legendOverlay = $legend->getOverlay(); + switch ($legendPosition) { + case 'r' : + $this->_graph->legend->SetPos(0.01,0.5,'right','center'); // right + $this->_graph->legend->SetColumns(1); + break; + case 'l' : + $this->_graph->legend->SetPos(0.01,0.5,'left','center'); // left + $this->_graph->legend->SetColumns(1); + break; + case 't' : + $this->_graph->legend->SetPos(0.5,0.01,'center','top'); // top + break; + case 'b' : + $this->_graph->legend->SetPos(0.5,0.99,'center','bottom'); // bottom + break; + default : + $this->_graph->legend->SetPos(0.01,0.01,'right','top'); // top-right + $this->_graph->legend->SetColumns(1); + break; + } + } else { + $this->_graph->legend->Hide(); + } + } // function _renderLegend() + + + private function _renderCartesianPlotArea($type='textlin') { + $this->_graph = new Graph(self::$_width,self::$_height); + $this->_graph->SetScale($type); + + $this->_renderTitle(); + + // Rotate for bar rather than column chart + $rotation = $this->_chart->getPlotArea()->getPlotGroupByIndex(0)->getPlotDirection(); + $reverse = ($rotation == 'bar') ? true : false; + + $xAxisLabel = $this->_chart->getXAxisLabel(); + if (!is_null($xAxisLabel)) { + $title = $this->_getCaption($xAxisLabel); + if (!is_null($title)) { + $this->_graph->xaxis->SetTitle($title,'center'); + $this->_graph->xaxis->title->SetMargin(35); + if ($reverse) { + $this->_graph->xaxis->title->SetAngle(90); + $this->_graph->xaxis->title->SetMargin(90); + } + } + } + + $yAxisLabel = $this->_chart->getYAxisLabel(); + if (!is_null($yAxisLabel)) { + $title = $this->_getCaption($yAxisLabel); + if (!is_null($title)) { + $this->_graph->yaxis->SetTitle($title,'center'); + if ($reverse) { + $this->_graph->yaxis->title->SetAngle(0); + $this->_graph->yaxis->title->SetMargin(-55); + } + } + } + } // function _renderCartesianPlotArea() + + + private function _renderPiePlotArea($doughnut = False) { + $this->_graph = new PieGraph(self::$_width,self::$_height); + + $this->_renderTitle(); + } // function _renderPiePlotArea() + + + private function _renderRadarPlotArea() { + $this->_graph = new RadarGraph(self::$_width,self::$_height); + $this->_graph->SetScale('lin'); + + $this->_renderTitle(); + } // function _renderRadarPlotArea() + + + private function _renderPlotLine($groupID, $filled = false, $combination = false, $dimensions = '2d') { + $grouping = $this->_chart->getPlotArea()->getPlotGroupByIndex($groupID)->getPlotGrouping(); + + $labelCount = count($this->_chart->getPlotArea()->getPlotGroupByIndex($groupID)->getPlotValuesByIndex(0)->getPointCount()); + if ($labelCount > 0) { + $datasetLabels = $this->_chart->getPlotArea()->getPlotGroupByIndex($groupID)->getPlotCategoryByIndex(0)->getDataValues(); + $datasetLabels = $this->_formatDataSetLabels($groupID, $datasetLabels, $labelCount); + $this->_graph->xaxis->SetTickLabels($datasetLabels); + } + + $seriesCount = $this->_chart->getPlotArea()->getPlotGroupByIndex($groupID)->getPlotSeriesCount(); + $seriesPlots = array(); + if ($grouping == 'percentStacked') { + $sumValues = $this->_percentageSumCalculation($groupID,$seriesCount); + } + + // Loop through each data series in turn + for($i = 0; $i < $seriesCount; ++$i) { + $dataValues = $this->_chart->getPlotArea()->getPlotGroupByIndex($groupID)->getPlotValuesByIndex($i)->getDataValues(); + $marker = $this->_chart->getPlotArea()->getPlotGroupByIndex($groupID)->getPlotValuesByIndex($i)->getPointMarker(); + + if ($grouping == 'percentStacked') { + $dataValues = $this->_percentageAdjustValues($dataValues,$sumValues); + } + + // Fill in any missing values in the $dataValues array + $testCurrentIndex = 0; + foreach($dataValues as $k => $dataValue) { + while($k != $testCurrentIndex) { + $dataValues[$testCurrentIndex] = null; + ++$testCurrentIndex; + } + ++$testCurrentIndex; + } + + $seriesPlot = new LinePlot($dataValues); + if ($combination) { + $seriesPlot->SetBarCenter(); + } + + if ($filled) { + $seriesPlot->SetFilled(true); + $seriesPlot->SetColor('black'); + $seriesPlot->SetFillColor(self::$_colourSet[self::$_plotColour++]); + } else { + // Set the appropriate plot marker + $this->_formatPointMarker($seriesPlot,$marker); + } + $dataLabel = $this->_chart->getPlotArea()->getPlotGroupByIndex($groupID)->getPlotLabelByIndex($i)->getDataValue(); + $seriesPlot->SetLegend($dataLabel); + + $seriesPlots[] = $seriesPlot; + } + + if ($grouping == 'standard') { + $groupPlot = $seriesPlots; + } else { + $groupPlot = new AccLinePlot($seriesPlots); + } + $this->_graph->Add($groupPlot); + } // function _renderPlotLine() + + + private function _renderPlotBar($groupID, $dimensions = '2d') { + $rotation = $this->_chart->getPlotArea()->getPlotGroupByIndex($groupID)->getPlotDirection(); + // Rotate for bar rather than column chart + if (($groupID == 0) && ($rotation == 'bar')) { + $this->_graph->Set90AndMargin(); + } + $grouping = $this->_chart->getPlotArea()->getPlotGroupByIndex($groupID)->getPlotGrouping(); + + $labelCount = count($this->_chart->getPlotArea()->getPlotGroupByIndex($groupID)->getPlotValuesByIndex(0)->getPointCount()); + if ($labelCount > 0) { + $datasetLabels = $this->_chart->getPlotArea()->getPlotGroupByIndex($groupID)->getPlotCategoryByIndex(0)->getDataValues(); + $datasetLabels = $this->_formatDataSetLabels($groupID, $datasetLabels, $labelCount, $rotation); + // Rotate for bar rather than column chart + if ($rotation == 'bar') { + $datasetLabels = array_reverse($datasetLabels); + $this->_graph->yaxis->SetPos('max'); + $this->_graph->yaxis->SetLabelAlign('center','top'); + $this->_graph->yaxis->SetLabelSide(SIDE_RIGHT); + } + $this->_graph->xaxis->SetTickLabels($datasetLabels); + } + + + $seriesCount = $this->_chart->getPlotArea()->getPlotGroupByIndex($groupID)->getPlotSeriesCount(); + $seriesPlots = array(); + if ($grouping == 'percentStacked') { + $sumValues = $this->_percentageSumCalculation($groupID,$seriesCount); + } + + // Loop through each data series in turn + for($j = 0; $j < $seriesCount; ++$j) { + $dataValues = $this->_chart->getPlotArea()->getPlotGroupByIndex($groupID)->getPlotValuesByIndex($j)->getDataValues(); + if ($grouping == 'percentStacked') { + $dataValues = $this->_percentageAdjustValues($dataValues,$sumValues); + } + + // Fill in any missing values in the $dataValues array + $testCurrentIndex = 0; + foreach($dataValues as $k => $dataValue) { + while($k != $testCurrentIndex) { + $dataValues[$testCurrentIndex] = null; + ++$testCurrentIndex; + } + ++$testCurrentIndex; + } + + // Reverse the $dataValues order for bar rather than column chart + if ($rotation == 'bar') { + $dataValues = array_reverse($dataValues); + } + $seriesPlot = new BarPlot($dataValues); + $seriesPlot->SetColor('black'); + $seriesPlot->SetFillColor(self::$_colourSet[self::$_plotColour++]); + if ($dimensions == '3d') { + $seriesPlot->SetShadow(); + } + if (!$this->_chart->getPlotArea()->getPlotGroupByIndex($groupID)->getPlotLabelByIndex($j)) { + $dataLabel = ''; + } else { + $dataLabel = $this->_chart->getPlotArea()->getPlotGroupByIndex($groupID)->getPlotLabelByIndex($j)->getDataValue(); + } + $seriesPlot->SetLegend($dataLabel); + + $seriesPlots[] = $seriesPlot; + } + // Reverse the plot order for bar rather than column chart + if (($rotation == 'bar') && (!($grouping == 'percentStacked'))) { + $seriesPlots = array_reverse($seriesPlots); + } + + if ($grouping == 'clustered') { + $groupPlot = new GroupBarPlot($seriesPlots); + } elseif ($grouping == 'standard') { + $groupPlot = new GroupBarPlot($seriesPlots); + } else { + $groupPlot = new AccBarPlot($seriesPlots); + if ($dimensions == '3d') { + $groupPlot->SetShadow(); + } + } + + $this->_graph->Add($groupPlot); + } // function _renderPlotBar() + + + private function _renderPlotScatter($groupID,$bubble) { + $grouping = $this->_chart->getPlotArea()->getPlotGroupByIndex($groupID)->getPlotGrouping(); + $scatterStyle = $bubbleSize = $this->_chart->getPlotArea()->getPlotGroupByIndex($groupID)->getPlotStyle(); + + $seriesCount = $this->_chart->getPlotArea()->getPlotGroupByIndex($groupID)->getPlotSeriesCount(); + $seriesPlots = array(); + + // Loop through each data series in turn + for($i = 0; $i < $seriesCount; ++$i) { + $dataValuesY = $this->_chart->getPlotArea()->getPlotGroupByIndex($groupID)->getPlotCategoryByIndex($i)->getDataValues(); + $dataValuesX = $this->_chart->getPlotArea()->getPlotGroupByIndex($groupID)->getPlotValuesByIndex($i)->getDataValues(); + + foreach($dataValuesY as $k => $dataValueY) { + $dataValuesY[$k] = $k; + } + + $seriesPlot = new ScatterPlot($dataValuesX,$dataValuesY); + if ($scatterStyle == 'lineMarker') { + $seriesPlot->SetLinkPoints(); + $seriesPlot->link->SetColor(self::$_colourSet[self::$_plotColour]); + } elseif ($scatterStyle == 'smoothMarker') { + $spline = new Spline($dataValuesY,$dataValuesX); + list($splineDataY,$splineDataX) = $spline->Get(count($dataValuesX) * self::$_width / 20); + $lplot = new LinePlot($splineDataX,$splineDataY); + $lplot->SetColor(self::$_colourSet[self::$_plotColour]); + + $this->_graph->Add($lplot); + } + + if ($bubble) { + $this->_formatPointMarker($seriesPlot,'dot'); + $seriesPlot->mark->SetColor('black'); + $seriesPlot->mark->SetSize($bubbleSize); + } else { + $marker = $this->_chart->getPlotArea()->getPlotGroupByIndex($groupID)->getPlotValuesByIndex($i)->getPointMarker(); + $this->_formatPointMarker($seriesPlot,$marker); + } + $dataLabel = $this->_chart->getPlotArea()->getPlotGroupByIndex($groupID)->getPlotLabelByIndex($i)->getDataValue(); + $seriesPlot->SetLegend($dataLabel); + + $this->_graph->Add($seriesPlot); + } + } // function _renderPlotScatter() + + + private function _renderPlotRadar($groupID) { + $radarStyle = $this->_chart->getPlotArea()->getPlotGroupByIndex($groupID)->getPlotStyle(); + + $seriesCount = $this->_chart->getPlotArea()->getPlotGroupByIndex($groupID)->getPlotSeriesCount(); + $seriesPlots = array(); + + // Loop through each data series in turn + for($i = 0; $i < $seriesCount; ++$i) { + $dataValuesY = $this->_chart->getPlotArea()->getPlotGroupByIndex($groupID)->getPlotCategoryByIndex($i)->getDataValues(); + $dataValuesX = $this->_chart->getPlotArea()->getPlotGroupByIndex($groupID)->getPlotValuesByIndex($i)->getDataValues(); + $marker = $this->_chart->getPlotArea()->getPlotGroupByIndex($groupID)->getPlotValuesByIndex($i)->getPointMarker(); + + $dataValues = array(); + foreach($dataValuesY as $k => $dataValueY) { + $dataValues[$k] = implode(' ',array_reverse($dataValueY)); + } + $tmp = array_shift($dataValues); + $dataValues[] = $tmp; + $tmp = array_shift($dataValuesX); + $dataValuesX[] = $tmp; + + $this->_graph->SetTitles(array_reverse($dataValues)); + + $seriesPlot = new RadarPlot(array_reverse($dataValuesX)); + + $dataLabel = $this->_chart->getPlotArea()->getPlotGroupByIndex($groupID)->getPlotLabelByIndex($i)->getDataValue(); + $seriesPlot->SetColor(self::$_colourSet[self::$_plotColour++]); + if ($radarStyle == 'filled') { + $seriesPlot->SetFillColor(self::$_colourSet[self::$_plotColour]); + } + $this->_formatPointMarker($seriesPlot,$marker); + $seriesPlot->SetLegend($dataLabel); + + $this->_graph->Add($seriesPlot); + } + } // function _renderPlotRadar() + + + private function _renderPlotContour($groupID) { + $contourStyle = $this->_chart->getPlotArea()->getPlotGroupByIndex($groupID)->getPlotStyle(); + + $seriesCount = $this->_chart->getPlotArea()->getPlotGroupByIndex($groupID)->getPlotSeriesCount(); + $seriesPlots = array(); + + $dataValues = array(); + // Loop through each data series in turn + for($i = 0; $i < $seriesCount; ++$i) { + $dataValuesY = $this->_chart->getPlotArea()->getPlotGroupByIndex($groupID)->getPlotCategoryByIndex($i)->getDataValues(); + $dataValuesX = $this->_chart->getPlotArea()->getPlotGroupByIndex($groupID)->getPlotValuesByIndex($i)->getDataValues(); + + $dataValues[$i] = $dataValuesX; + } + $seriesPlot = new ContourPlot($dataValues); + + $this->_graph->Add($seriesPlot); + } // function _renderPlotContour() + + + private function _renderPlotStock($groupID) { + $seriesCount = $this->_chart->getPlotArea()->getPlotGroupByIndex($groupID)->getPlotSeriesCount(); + $plotOrder = $this->_chart->getPlotArea()->getPlotGroupByIndex($groupID)->getPlotOrder(); + + $dataValues = array(); + // Loop through each data series in turn and build the plot arrays + foreach($plotOrder as $i => $v) { + $dataValuesX = $this->_chart->getPlotArea()->getPlotGroupByIndex($groupID)->getPlotValuesByIndex($v)->getDataValues(); + foreach($dataValuesX as $j => $dataValueX) { + $dataValues[$plotOrder[$i]][$j] = $dataValueX; + } + } + if(empty($dataValues)) { + return; + } + + $dataValuesPlot = array(); + // Flatten the plot arrays to a single dimensional array to work with jpgraph + for($j = 0; $j < count($dataValues[0]); $j++) { + for($i = 0; $i < $seriesCount; $i++) { + $dataValuesPlot[] = $dataValues[$i][$j]; + } + } + + // Set the x-axis labels + $labelCount = count($this->_chart->getPlotArea()->getPlotGroupByIndex($groupID)->getPlotValuesByIndex(0)->getPointCount()); + if ($labelCount > 0) { + $datasetLabels = $this->_chart->getPlotArea()->getPlotGroupByIndex($groupID)->getPlotCategoryByIndex(0)->getDataValues(); + $datasetLabels = $this->_formatDataSetLabels($groupID, $datasetLabels, $labelCount); + $this->_graph->xaxis->SetTickLabels($datasetLabels); + } + + $seriesPlot = new StockPlot($dataValuesPlot); + $seriesPlot->SetWidth(20); + + $this->_graph->Add($seriesPlot); + } // function _renderPlotStock() + + + private function _renderAreaChart($groupCount, $dimensions = '2d') { + require_once(PHPExcel_Settings::getChartRendererPath().'jpgraph_line.php'); + + $this->_renderCartesianPlotArea(); + + for($i = 0; $i < $groupCount; ++$i) { + $this->_renderPlotLine($i,True,False,$dimensions); + } + } // function _renderAreaChart() + + + private function _renderLineChart($groupCount, $dimensions = '2d') { + require_once(PHPExcel_Settings::getChartRendererPath().'jpgraph_line.php'); + + $this->_renderCartesianPlotArea(); + + for($i = 0; $i < $groupCount; ++$i) { + $this->_renderPlotLine($i,False,False,$dimensions); + } + } // function _renderLineChart() + + + private function _renderBarChart($groupCount, $dimensions = '2d') { + require_once(PHPExcel_Settings::getChartRendererPath().'jpgraph_bar.php'); + + $this->_renderCartesianPlotArea(); + + for($i = 0; $i < $groupCount; ++$i) { + $this->_renderPlotBar($i,$dimensions); + } + } // function _renderBarChart() + + + private function _renderScatterChart($groupCount) { + require_once(PHPExcel_Settings::getChartRendererPath().'jpgraph_scatter.php'); + require_once(PHPExcel_Settings::getChartRendererPath().'jpgraph_regstat.php'); + require_once(PHPExcel_Settings::getChartRendererPath().'jpgraph_line.php'); + + $this->_renderCartesianPlotArea('linlin'); + + for($i = 0; $i < $groupCount; ++$i) { + $this->_renderPlotScatter($i,false); + } + } // function _renderScatterChart() + + + private function _renderBubbleChart($groupCount) { + require_once(PHPExcel_Settings::getChartRendererPath().'jpgraph_scatter.php'); + + $this->_renderCartesianPlotArea('linlin'); + + for($i = 0; $i < $groupCount; ++$i) { + $this->_renderPlotScatter($i,true); + } + } // function _renderBubbleChart() + + + private function _renderPieChart($groupCount, $dimensions = '2d', $doughnut = False, $multiplePlots = False) { + require_once(PHPExcel_Settings::getChartRendererPath().'jpgraph_pie.php'); + if ($dimensions == '3d') { + require_once(PHPExcel_Settings::getChartRendererPath().'jpgraph_pie3d.php'); + } + + $this->_renderPiePlotArea($doughnut); + + $iLimit = ($multiplePlots) ? $groupCount : 1; + for($groupID = 0; $groupID < $iLimit; ++$groupID) { + $grouping = $this->_chart->getPlotArea()->getPlotGroupByIndex($groupID)->getPlotGrouping(); + $exploded = $this->_chart->getPlotArea()->getPlotGroupByIndex($groupID)->getPlotStyle(); + if ($groupID == 0) { + $labelCount = count($this->_chart->getPlotArea()->getPlotGroupByIndex($groupID)->getPlotValuesByIndex(0)->getPointCount()); + if ($labelCount > 0) { + $datasetLabels = $this->_chart->getPlotArea()->getPlotGroupByIndex($groupID)->getPlotCategoryByIndex(0)->getDataValues(); + $datasetLabels = $this->_formatDataSetLabels($groupID, $datasetLabels, $labelCount); + } + } + + $seriesCount = $this->_chart->getPlotArea()->getPlotGroupByIndex($groupID)->getPlotSeriesCount(); + $seriesPlots = array(); + // For pie charts, we only display the first series: doughnut charts generally display all series + $jLimit = ($multiplePlots) ? $seriesCount : 1; + // Loop through each data series in turn + for($j = 0; $j < $jLimit; ++$j) { + $dataValues = $this->_chart->getPlotArea()->getPlotGroupByIndex($groupID)->getPlotValuesByIndex($j)->getDataValues(); + + // Fill in any missing values in the $dataValues array + $testCurrentIndex = 0; + foreach($dataValues as $k => $dataValue) { + while($k != $testCurrentIndex) { + $dataValues[$testCurrentIndex] = null; + ++$testCurrentIndex; + } + ++$testCurrentIndex; + } + + if ($dimensions == '3d') { + $seriesPlot = new PiePlot3D($dataValues); + } else { + if ($doughnut) { + $seriesPlot = new PiePlotC($dataValues); + } else { + $seriesPlot = new PiePlot($dataValues); + } + } + + if ($multiplePlots) { + $seriesPlot->SetSize(($jLimit-$j) / ($jLimit * 4)); + } + + if ($doughnut) { + $seriesPlot->SetMidColor('white'); + } + + $seriesPlot->SetColor(self::$_colourSet[self::$_plotColour++]); + if (count($datasetLabels) > 0) + $seriesPlot->SetLabels(array_fill(0,count($datasetLabels),'')); + if ($dimensions != '3d') { + $seriesPlot->SetGuideLines(false); + } + if ($j == 0) { + if ($exploded) { + $seriesPlot->ExplodeAll(); + } + $seriesPlot->SetLegends($datasetLabels); + } + + $this->_graph->Add($seriesPlot); + } + } + } // function _renderPieChart() + + + private function _renderRadarChart($groupCount) { + require_once(PHPExcel_Settings::getChartRendererPath().'jpgraph_radar.php'); + + $this->_renderRadarPlotArea(); + + for($groupID = 0; $groupID < $groupCount; ++$groupID) { + $this->_renderPlotRadar($groupID); + } + } // function _renderRadarChart() + + + private function _renderStockChart($groupCount) { + require_once(PHPExcel_Settings::getChartRendererPath().'jpgraph_stock.php'); + + $this->_renderCartesianPlotArea('intint'); + + for($groupID = 0; $groupID < $groupCount; ++$groupID) { + $this->_renderPlotStock($groupID); + } + } // function _renderStockChart() + + + private function _renderContourChart($groupCount,$dimensions) { + require_once(PHPExcel_Settings::getChartRendererPath().'jpgraph_contour.php'); + + $this->_renderCartesianPlotArea('intint'); + + for($i = 0; $i < $groupCount; ++$i) { + $this->_renderPlotContour($i); + } + } // function _renderContourChart() + + + private function _renderCombinationChart($groupCount,$dimensions,$outputDestination) { + require_once(PHPExcel_Settings::getChartRendererPath().'jpgraph_line.php'); + require_once(PHPExcel_Settings::getChartRendererPath().'jpgraph_bar.php'); + require_once(PHPExcel_Settings::getChartRendererPath().'jpgraph_scatter.php'); + require_once(PHPExcel_Settings::getChartRendererPath().'jpgraph_regstat.php'); + require_once(PHPExcel_Settings::getChartRendererPath().'jpgraph_line.php'); + + $this->_renderCartesianPlotArea(); + + for($i = 0; $i < $groupCount; ++$i) { + $dimensions = null; + $chartType = $this->_chart->getPlotArea()->getPlotGroupByIndex($i)->getPlotType(); + switch ($chartType) { + case 'area3DChart' : + $dimensions = '3d'; + case 'areaChart' : + $this->_renderPlotLine($i,True,True,$dimensions); + break; + case 'bar3DChart' : + $dimensions = '3d'; + case 'barChart' : + $this->_renderPlotBar($i,$dimensions); + break; + case 'line3DChart' : + $dimensions = '3d'; + case 'lineChart' : + $this->_renderPlotLine($i,False,True,$dimensions); + break; + case 'scatterChart' : + $this->_renderPlotScatter($i,false); + break; + case 'bubbleChart' : + $this->_renderPlotScatter($i,true); + break; + default : + $this->_graph = null; + return false; + } + } + + $this->_renderLegend(); + + $this->_graph->Stroke($outputDestination); + return true; + } // function _renderCombinationChart() + + + public function render($outputDestination) { + self::$_plotColour = 0; + + $groupCount = $this->_chart->getPlotArea()->getPlotGroupCount(); + + $dimensions = null; + if ($groupCount == 1) { + $chartType = $this->_chart->getPlotArea()->getPlotGroupByIndex(0)->getPlotType(); + } else { + $chartTypes = array(); + for($i = 0; $i < $groupCount; ++$i) { + $chartTypes[] = $this->_chart->getPlotArea()->getPlotGroupByIndex($i)->getPlotType(); + } + $chartTypes = array_unique($chartTypes); + if (count($chartTypes) == 1) { + $chartType = array_pop($chartTypes); + } elseif (count($chartTypes) == 0) { + echo 'Chart is not yet implemented
'; + return false; + } else { + return $this->_renderCombinationChart($groupCount,$dimensions,$outputDestination); + } + } + + switch ($chartType) { + case 'area3DChart' : + $dimensions = '3d'; + case 'areaChart' : + $this->_renderAreaChart($groupCount,$dimensions); + break; + case 'bar3DChart' : + $dimensions = '3d'; + case 'barChart' : + $this->_renderBarChart($groupCount,$dimensions); + break; + case 'line3DChart' : + $dimensions = '3d'; + case 'lineChart' : + $this->_renderLineChart($groupCount,$dimensions); + break; + case 'pie3DChart' : + $dimensions = '3d'; + case 'pieChart' : + $this->_renderPieChart($groupCount,$dimensions,False,False); + break; + case 'doughnut3DChart' : + $dimensions = '3d'; + case 'doughnutChart' : + $this->_renderPieChart($groupCount,$dimensions,True,True); + break; + case 'scatterChart' : + $this->_renderScatterChart($groupCount); + break; + case 'bubbleChart' : + $this->_renderBubbleChart($groupCount); + break; + case 'radarChart' : + $this->_renderRadarChart($groupCount); + break; + case 'surface3DChart' : + $dimensions = '3d'; + case 'surfaceChart' : + $this->_renderContourChart($groupCount,$dimensions); + break; + case 'stockChart' : + $this->_renderStockChart($groupCount,$dimensions); + break; + default : + echo $chartType.' is not yet implemented
'; + return false; + } + $this->_renderLegend(); + + $this->_graph->Stroke($outputDestination); + return true; + } // function render() + + + /** + * Create a new PHPExcel_Chart_Renderer_jpgraph + */ + public function __construct(PHPExcel_Chart $chart) + { + $this->_graph = null; + $this->_chart = $chart; + } // function __construct() + +} // PHPExcel_Chart_Renderer_jpgraph diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Chart/Title.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Chart/Title.php new file mode 100644 index 00000000..5d226c4b --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Chart/Title.php @@ -0,0 +1,92 @@ +_caption = $caption; + $this->_layout = $layout; + } + + /** + * Get caption + * + * @return string + */ + public function getCaption() { + return $this->_caption; + } + + /** + * Set caption + * + * @param string $caption + * @return PHPExcel_Chart_Title + */ + public function setCaption($caption = null) { + $this->_caption = $caption; + + return $this; + } + + /** + * Get Layout + * + * @return PHPExcel_Chart_Layout + */ + public function getLayout() { + return $this->_layout; + } + +} diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Comment.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Comment.php new file mode 100644 index 00000000..8b8cfdcc --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Comment.php @@ -0,0 +1,327 @@ +_author = 'Author'; + $this->_text = new PHPExcel_RichText(); + $this->_fillColor = new PHPExcel_Style_Color('FFFFFFE1'); + $this->_alignment = PHPExcel_Style_Alignment::HORIZONTAL_GENERAL; + } + + /** + * Get Author + * + * @return string + */ + public function getAuthor() { + return $this->_author; + } + + /** + * Set Author + * + * @param string $pValue + * @return PHPExcel_Comment + */ + public function setAuthor($pValue = '') { + $this->_author = $pValue; + return $this; + } + + /** + * Get Rich text comment + * + * @return PHPExcel_RichText + */ + public function getText() { + return $this->_text; + } + + /** + * Set Rich text comment + * + * @param PHPExcel_RichText $pValue + * @return PHPExcel_Comment + */ + public function setText(PHPExcel_RichText $pValue) { + $this->_text = $pValue; + return $this; + } + + /** + * Get comment width (CSS style, i.e. XXpx or YYpt) + * + * @return string + */ + public function getWidth() { + return $this->_width; + } + + /** + * Set comment width (CSS style, i.e. XXpx or YYpt) + * + * @param string $value + * @return PHPExcel_Comment + */ + public function setWidth($value = '96pt') { + $this->_width = $value; + return $this; + } + + /** + * Get comment height (CSS style, i.e. XXpx or YYpt) + * + * @return string + */ + public function getHeight() { + return $this->_height; + } + + /** + * Set comment height (CSS style, i.e. XXpx or YYpt) + * + * @param string $value + * @return PHPExcel_Comment + */ + public function setHeight($value = '55.5pt') { + $this->_height = $value; + return $this; + } + + /** + * Get left margin (CSS style, i.e. XXpx or YYpt) + * + * @return string + */ + public function getMarginLeft() { + return $this->_marginLeft; + } + + /** + * Set left margin (CSS style, i.e. XXpx or YYpt) + * + * @param string $value + * @return PHPExcel_Comment + */ + public function setMarginLeft($value = '59.25pt') { + $this->_marginLeft = $value; + return $this; + } + + /** + * Get top margin (CSS style, i.e. XXpx or YYpt) + * + * @return string + */ + public function getMarginTop() { + return $this->_marginTop; + } + + /** + * Set top margin (CSS style, i.e. XXpx or YYpt) + * + * @param string $value + * @return PHPExcel_Comment + */ + public function setMarginTop($value = '1.5pt') { + $this->_marginTop = $value; + return $this; + } + + /** + * Is the comment visible by default? + * + * @return boolean + */ + public function getVisible() { + return $this->_visible; + } + + /** + * Set comment default visibility + * + * @param boolean $value + * @return PHPExcel_Comment + */ + public function setVisible($value = false) { + $this->_visible = $value; + return $this; + } + + /** + * Get fill color + * + * @return PHPExcel_Style_Color + */ + public function getFillColor() { + return $this->_fillColor; + } + + /** + * Set Alignment + * + * @param string $pValue + * @return PHPExcel_Comment + */ + public function setAlignment($pValue = PHPExcel_Style_Alignment::HORIZONTAL_GENERAL) { + $this->_alignment = $pValue; + return $this; + } + + /** + * Get Alignment + * + * @return string + */ + public function getAlignment() { + return $this->_alignment; + } + + /** + * Get hash code + * + * @return string Hash code + */ + public function getHashCode() { + return md5( + $this->_author + . $this->_text->getHashCode() + . $this->_width + . $this->_height + . $this->_marginLeft + . $this->_marginTop + . ($this->_visible ? 1 : 0) + . $this->_fillColor->getHashCode() + . $this->_alignment + . __CLASS__ + ); + } + + /** + * Implement PHP __clone to create a deep clone, not just a shallow copy. + */ + public function __clone() { + $vars = get_object_vars($this); + foreach ($vars as $key => $value) { + if (is_object($value)) { + $this->$key = clone $value; + } else { + $this->$key = $value; + } + } + } + + /** + * Convert to string + * + * @return string + */ + public function __toString() { + return $this->_text->getPlainText(); + } + +} diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/DocumentProperties.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/DocumentProperties.php new file mode 100644 index 00000000..7b4a0e43 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/DocumentProperties.php @@ -0,0 +1,587 @@ +_lastModifiedBy = $this->_creator; + $this->_created = time(); + $this->_modified = time(); + } + + /** + * Get Creator + * + * @return string + */ + public function getCreator() { + return $this->_creator; + } + + /** + * Set Creator + * + * @param string $pValue + * @return PHPExcel_DocumentProperties + */ + public function setCreator($pValue = '') { + $this->_creator = $pValue; + return $this; + } + + /** + * Get Last Modified By + * + * @return string + */ + public function getLastModifiedBy() { + return $this->_lastModifiedBy; + } + + /** + * Set Last Modified By + * + * @param string $pValue + * @return PHPExcel_DocumentProperties + */ + public function setLastModifiedBy($pValue = '') { + $this->_lastModifiedBy = $pValue; + return $this; + } + + /** + * Get Created + * + * @return datetime + */ + public function getCreated() { + return $this->_created; + } + + /** + * Set Created + * + * @param datetime $pValue + * @return PHPExcel_DocumentProperties + */ + public function setCreated($pValue = null) { + if ($pValue === NULL) { + $pValue = time(); + } elseif (is_string($pValue)) { + if (is_numeric($pValue)) { + $pValue = intval($pValue); + } else { + $pValue = strtotime($pValue); + } + } + + $this->_created = $pValue; + return $this; + } + + /** + * Get Modified + * + * @return datetime + */ + public function getModified() { + return $this->_modified; + } + + /** + * Set Modified + * + * @param datetime $pValue + * @return PHPExcel_DocumentProperties + */ + public function setModified($pValue = null) { + if ($pValue === NULL) { + $pValue = time(); + } elseif (is_string($pValue)) { + if (is_numeric($pValue)) { + $pValue = intval($pValue); + } else { + $pValue = strtotime($pValue); + } + } + + $this->_modified = $pValue; + return $this; + } + + /** + * Get Title + * + * @return string + */ + public function getTitle() { + return $this->_title; + } + + /** + * Set Title + * + * @param string $pValue + * @return PHPExcel_DocumentProperties + */ + public function setTitle($pValue = '') { + $this->_title = $pValue; + return $this; + } + + /** + * Get Description + * + * @return string + */ + public function getDescription() { + return $this->_description; + } + + /** + * Set Description + * + * @param string $pValue + * @return PHPExcel_DocumentProperties + */ + public function setDescription($pValue = '') { + $this->_description = $pValue; + return $this; + } + + /** + * Get Subject + * + * @return string + */ + public function getSubject() { + return $this->_subject; + } + + /** + * Set Subject + * + * @param string $pValue + * @return PHPExcel_DocumentProperties + */ + public function setSubject($pValue = '') { + $this->_subject = $pValue; + return $this; + } + + /** + * Get Keywords + * + * @return string + */ + public function getKeywords() { + return $this->_keywords; + } + + /** + * Set Keywords + * + * @param string $pValue + * @return PHPExcel_DocumentProperties + */ + public function setKeywords($pValue = '') { + $this->_keywords = $pValue; + return $this; + } + + /** + * Get Category + * + * @return string + */ + public function getCategory() { + return $this->_category; + } + + /** + * Set Category + * + * @param string $pValue + * @return PHPExcel_DocumentProperties + */ + public function setCategory($pValue = '') { + $this->_category = $pValue; + return $this; + } + + /** + * Get Company + * + * @return string + */ + public function getCompany() { + return $this->_company; + } + + /** + * Set Company + * + * @param string $pValue + * @return PHPExcel_DocumentProperties + */ + public function setCompany($pValue = '') { + $this->_company = $pValue; + return $this; + } + + /** + * Get Manager + * + * @return string + */ + public function getManager() { + return $this->_manager; + } + + /** + * Set Manager + * + * @param string $pValue + * @return PHPExcel_DocumentProperties + */ + public function setManager($pValue = '') { + $this->_manager = $pValue; + return $this; + } + + /** + * Get a List of Custom Property Names + * + * @return array of string + */ + public function getCustomProperties() { + return array_keys($this->_customProperties); + } + + /** + * Check if a Custom Property is defined + * + * @param string $propertyName + * @return boolean + */ + public function isCustomPropertySet($propertyName) { + return isset($this->_customProperties[$propertyName]); + } + + /** + * Get a Custom Property Value + * + * @param string $propertyName + * @return string + */ + public function getCustomPropertyValue($propertyName) { + if (isset($this->_customProperties[$propertyName])) { + return $this->_customProperties[$propertyName]['value']; + } + + } + + /** + * Get a Custom Property Type + * + * @param string $propertyName + * @return string + */ + public function getCustomPropertyType($propertyName) { + if (isset($this->_customProperties[$propertyName])) { + return $this->_customProperties[$propertyName]['type']; + } + + } + + /** + * Set a Custom Property + * + * @param string $propertyName + * @param mixed $propertyValue + * @param string $propertyType + * 'i' : Integer + * 'f' : Floating Point + * 's' : String + * 'd' : Date/Time + * 'b' : Boolean + * @return PHPExcel_DocumentProperties + */ + public function setCustomProperty($propertyName,$propertyValue='',$propertyType=NULL) { + if (($propertyType === NULL) || (!in_array($propertyType,array(self::PROPERTY_TYPE_INTEGER, + self::PROPERTY_TYPE_FLOAT, + self::PROPERTY_TYPE_STRING, + self::PROPERTY_TYPE_DATE, + self::PROPERTY_TYPE_BOOLEAN)))) { + if ($propertyValue === NULL) { + $propertyType = self::PROPERTY_TYPE_STRING; + } elseif (is_float($propertyValue)) { + $propertyType = self::PROPERTY_TYPE_FLOAT; + } elseif(is_int($propertyValue)) { + $propertyType = self::PROPERTY_TYPE_INTEGER; + } elseif (is_bool($propertyValue)) { + $propertyType = self::PROPERTY_TYPE_BOOLEAN; + } else { + $propertyType = self::PROPERTY_TYPE_STRING; + } + } + + $this->_customProperties[$propertyName] = array('value' => $propertyValue, 'type' => $propertyType); + return $this; + } + + /** + * Implement PHP __clone to create a deep clone, not just a shallow copy. + */ + public function __clone() { + $vars = get_object_vars($this); + foreach ($vars as $key => $value) { + if (is_object($value)) { + $this->$key = clone $value; + } else { + $this->$key = $value; + } + } + } + + public static function convertProperty($propertyValue,$propertyType) { + switch ($propertyType) { + case 'empty' : // Empty + return ''; + break; + case 'null' : // Null + return NULL; + break; + case 'i1' : // 1-Byte Signed Integer + case 'i2' : // 2-Byte Signed Integer + case 'i4' : // 4-Byte Signed Integer + case 'i8' : // 8-Byte Signed Integer + case 'int' : // Integer + return (int) $propertyValue; + break; + case 'ui1' : // 1-Byte Unsigned Integer + case 'ui2' : // 2-Byte Unsigned Integer + case 'ui4' : // 4-Byte Unsigned Integer + case 'ui8' : // 8-Byte Unsigned Integer + case 'uint' : // Unsigned Integer + return abs((int) $propertyValue); + break; + case 'r4' : // 4-Byte Real Number + case 'r8' : // 8-Byte Real Number + case 'decimal' : // Decimal + return (float) $propertyValue; + break; + case 'lpstr' : // LPSTR + case 'lpwstr' : // LPWSTR + case 'bstr' : // Basic String + return $propertyValue; + break; + case 'date' : // Date and Time + case 'filetime' : // File Time + return strtotime($propertyValue); + break; + case 'bool' : // Boolean + return ($propertyValue == 'true') ? True : False; + break; + case 'cy' : // Currency + case 'error' : // Error Status Code + case 'vector' : // Vector + case 'array' : // Array + case 'blob' : // Binary Blob + case 'oblob' : // Binary Blob Object + case 'stream' : // Binary Stream + case 'ostream' : // Binary Stream Object + case 'storage' : // Binary Storage + case 'ostorage' : // Binary Storage Object + case 'vstream' : // Binary Versioned Stream + case 'clsid' : // Class ID + case 'cf' : // Clipboard Data + return $propertyValue; + break; + } + return $propertyValue; + } + + public static function convertPropertyType($propertyType) { + switch ($propertyType) { + case 'i1' : // 1-Byte Signed Integer + case 'i2' : // 2-Byte Signed Integer + case 'i4' : // 4-Byte Signed Integer + case 'i8' : // 8-Byte Signed Integer + case 'int' : // Integer + case 'ui1' : // 1-Byte Unsigned Integer + case 'ui2' : // 2-Byte Unsigned Integer + case 'ui4' : // 4-Byte Unsigned Integer + case 'ui8' : // 8-Byte Unsigned Integer + case 'uint' : // Unsigned Integer + return self::PROPERTY_TYPE_INTEGER; + break; + case 'r4' : // 4-Byte Real Number + case 'r8' : // 8-Byte Real Number + case 'decimal' : // Decimal + return self::PROPERTY_TYPE_FLOAT; + break; + case 'empty' : // Empty + case 'null' : // Null + case 'lpstr' : // LPSTR + case 'lpwstr' : // LPWSTR + case 'bstr' : // Basic String + return self::PROPERTY_TYPE_STRING; + break; + case 'date' : // Date and Time + case 'filetime' : // File Time + return self::PROPERTY_TYPE_DATE; + break; + case 'bool' : // Boolean + return self::PROPERTY_TYPE_BOOLEAN; + break; + case 'cy' : // Currency + case 'error' : // Error Status Code + case 'vector' : // Vector + case 'array' : // Array + case 'blob' : // Binary Blob + case 'oblob' : // Binary Blob Object + case 'stream' : // Binary Stream + case 'ostream' : // Binary Stream Object + case 'storage' : // Binary Storage + case 'ostorage' : // Binary Storage Object + case 'vstream' : // Binary Versioned Stream + case 'clsid' : // Class ID + case 'cf' : // Clipboard Data + return self::PROPERTY_TYPE_UNKNOWN; + break; + } + return self::PROPERTY_TYPE_UNKNOWN; + } + +} diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/DocumentSecurity.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/DocumentSecurity.php new file mode 100644 index 00000000..cf7ffb57 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/DocumentSecurity.php @@ -0,0 +1,218 @@ +_lockRevision = false; + $this->_lockStructure = false; + $this->_lockWindows = false; + $this->_revisionsPassword = ''; + $this->_workbookPassword = ''; + } + + /** + * Is some sort of dcument security enabled? + * + * @return boolean + */ + function isSecurityEnabled() { + return $this->_lockRevision || + $this->_lockStructure || + $this->_lockWindows; + } + + /** + * Get LockRevision + * + * @return boolean + */ + function getLockRevision() { + return $this->_lockRevision; + } + + /** + * Set LockRevision + * + * @param boolean $pValue + * @return PHPExcel_DocumentSecurity + */ + function setLockRevision($pValue = false) { + $this->_lockRevision = $pValue; + return $this; + } + + /** + * Get LockStructure + * + * @return boolean + */ + function getLockStructure() { + return $this->_lockStructure; + } + + /** + * Set LockStructure + * + * @param boolean $pValue + * @return PHPExcel_DocumentSecurity + */ + function setLockStructure($pValue = false) { + $this->_lockStructure = $pValue; + return $this; + } + + /** + * Get LockWindows + * + * @return boolean + */ + function getLockWindows() { + return $this->_lockWindows; + } + + /** + * Set LockWindows + * + * @param boolean $pValue + * @return PHPExcel_DocumentSecurity + */ + function setLockWindows($pValue = false) { + $this->_lockWindows = $pValue; + return $this; + } + + /** + * Get RevisionsPassword (hashed) + * + * @return string + */ + function getRevisionsPassword() { + return $this->_revisionsPassword; + } + + /** + * Set RevisionsPassword + * + * @param string $pValue + * @param boolean $pAlreadyHashed If the password has already been hashed, set this to true + * @return PHPExcel_DocumentSecurity + */ + function setRevisionsPassword($pValue = '', $pAlreadyHashed = false) { + if (!$pAlreadyHashed) { + $pValue = PHPExcel_Shared_PasswordHasher::hashPassword($pValue); + } + $this->_revisionsPassword = $pValue; + return $this; + } + + /** + * Get WorkbookPassword (hashed) + * + * @return string + */ + function getWorkbookPassword() { + return $this->_workbookPassword; + } + + /** + * Set WorkbookPassword + * + * @param string $pValue + * @param boolean $pAlreadyHashed If the password has already been hashed, set this to true + * @return PHPExcel_DocumentSecurity + */ + function setWorkbookPassword($pValue = '', $pAlreadyHashed = false) { + if (!$pAlreadyHashed) { + $pValue = PHPExcel_Shared_PasswordHasher::hashPassword($pValue); + } + $this->_workbookPassword = $pValue; + return $this; + } + + /** + * Implement PHP __clone to create a deep clone, not just a shallow copy. + */ + public function __clone() { + $vars = get_object_vars($this); + foreach ($vars as $key => $value) { + if (is_object($value)) { + $this->$key = clone $value; + } else { + $this->$key = $value; + } + } + } +} diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Exception.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Exception.php new file mode 100644 index 00000000..578b9eee --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Exception.php @@ -0,0 +1,52 @@ +line = $line; + $e->file = $file; + throw $e; + } +} diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/HashTable.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/HashTable.php new file mode 100644 index 00000000..77106e1e --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/HashTable.php @@ -0,0 +1,202 @@ +addFromSource($pSource); + } + } + + /** + * Add HashTable items from source + * + * @param PHPExcel_IComparable[] $pSource Source array to create HashTable from + * @throws PHPExcel_Exception + */ + public function addFromSource($pSource = null) { + // Check if an array was passed + if ($pSource == null) { + return; + } else if (!is_array($pSource)) { + throw new PHPExcel_Exception('Invalid array parameter passed.'); + } + + foreach ($pSource as $item) { + $this->add($item); + } + } + + /** + * Add HashTable item + * + * @param PHPExcel_IComparable $pSource Item to add + * @throws PHPExcel_Exception + */ + public function add(PHPExcel_IComparable $pSource = null) { + $hash = $pSource->getHashCode(); + if (!isset($this->_items[$hash])) { + $this->_items[$hash] = $pSource; + $this->_keyMap[count($this->_items) - 1] = $hash; + } + } + + /** + * Remove HashTable item + * + * @param PHPExcel_IComparable $pSource Item to remove + * @throws PHPExcel_Exception + */ + public function remove(PHPExcel_IComparable $pSource = null) { + $hash = $pSource->getHashCode(); + if (isset($this->_items[$hash])) { + unset($this->_items[$hash]); + + $deleteKey = -1; + foreach ($this->_keyMap as $key => $value) { + if ($deleteKey >= 0) { + $this->_keyMap[$key - 1] = $value; + } + + if ($value == $hash) { + $deleteKey = $key; + } + } + unset($this->_keyMap[count($this->_keyMap) - 1]); + } + } + + /** + * Clear HashTable + * + */ + public function clear() { + $this->_items = array(); + $this->_keyMap = array(); + } + + /** + * Count + * + * @return int + */ + public function count() { + return count($this->_items); + } + + /** + * Get index for hash code + * + * @param string $pHashCode + * @return int Index + */ + public function getIndexForHashCode($pHashCode = '') { + return array_search($pHashCode, $this->_keyMap); + } + + /** + * Get by index + * + * @param int $pIndex + * @return PHPExcel_IComparable + * + */ + public function getByIndex($pIndex = 0) { + if (isset($this->_keyMap[$pIndex])) { + return $this->getByHashCode( $this->_keyMap[$pIndex] ); + } + + return null; + } + + /** + * Get by hashcode + * + * @param string $pHashCode + * @return PHPExcel_IComparable + * + */ + public function getByHashCode($pHashCode = '') { + if (isset($this->_items[$pHashCode])) { + return $this->_items[$pHashCode]; + } + + return null; + } + + /** + * HashTable to array + * + * @return PHPExcel_IComparable[] + */ + public function toArray() { + return $this->_items; + } + + /** + * Implement PHP __clone to create a deep clone, not just a shallow copy. + */ + public function __clone() { + $vars = get_object_vars($this); + foreach ($vars as $key => $value) { + if (is_object($value)) { + $this->$key = clone $value; + } + } + } +} diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Helper/HTML.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Helper/HTML.php new file mode 100644 index 00000000..9e30ae8a --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Helper/HTML.php @@ -0,0 +1,762 @@ + 'f0f8ff', + 'antiquewhite' => 'faebd7', + 'antiquewhite1' => 'ffefdb', + 'antiquewhite2' => 'eedfcc', + 'antiquewhite3' => 'cdc0b0', + 'antiquewhite4' => '8b8378', + 'aqua' => '00ffff', + 'aquamarine1' => '7fffd4', + 'aquamarine2' => '76eec6', + 'aquamarine4' => '458b74', + 'azure1' => 'f0ffff', + 'azure2' => 'e0eeee', + 'azure3' => 'c1cdcd', + 'azure4' => '838b8b', + 'beige' => 'f5f5dc', + 'bisque1' => 'ffe4c4', + 'bisque2' => 'eed5b7', + 'bisque3' => 'cdb79e', + 'bisque4' => '8b7d6b', + 'black' => '000000', + 'blanchedalmond' => 'ffebcd', + 'blue' => '0000ff', + 'blue1' => '0000ff', + 'blue2' => '0000ee', + 'blue4' => '00008b', + 'blueviolet' => '8a2be2', + 'brown' => 'a52a2a', + 'brown1' => 'ff4040', + 'brown2' => 'ee3b3b', + 'brown3' => 'cd3333', + 'brown4' => '8b2323', + 'burlywood' => 'deb887', + 'burlywood1' => 'ffd39b', + 'burlywood2' => 'eec591', + 'burlywood3' => 'cdaa7d', + 'burlywood4' => '8b7355', + 'cadetblue' => '5f9ea0', + 'cadetblue1' => '98f5ff', + 'cadetblue2' => '8ee5ee', + 'cadetblue3' => '7ac5cd', + 'cadetblue4' => '53868b', + 'chartreuse1' => '7fff00', + 'chartreuse2' => '76ee00', + 'chartreuse3' => '66cd00', + 'chartreuse4' => '458b00', + 'chocolate' => 'd2691e', + 'chocolate1' => 'ff7f24', + 'chocolate2' => 'ee7621', + 'chocolate3' => 'cd661d', + 'coral' => 'ff7f50', + 'coral1' => 'ff7256', + 'coral2' => 'ee6a50', + 'coral3' => 'cd5b45', + 'coral4' => '8b3e2f', + 'cornflowerblue' => '6495ed', + 'cornsilk1' => 'fff8dc', + 'cornsilk2' => 'eee8cd', + 'cornsilk3' => 'cdc8b1', + 'cornsilk4' => '8b8878', + 'cyan1' => '00ffff', + 'cyan2' => '00eeee', + 'cyan3' => '00cdcd', + 'cyan4' => '008b8b', + 'darkgoldenrod' => 'b8860b', + 'darkgoldenrod1' => 'ffb90f', + 'darkgoldenrod2' => 'eead0e', + 'darkgoldenrod3' => 'cd950c', + 'darkgoldenrod4' => '8b6508', + 'darkgreen' => '006400', + 'darkkhaki' => 'bdb76b', + 'darkolivegreen' => '556b2f', + 'darkolivegreen1' => 'caff70', + 'darkolivegreen2' => 'bcee68', + 'darkolivegreen3' => 'a2cd5a', + 'darkolivegreen4' => '6e8b3d', + 'darkorange' => 'ff8c00', + 'darkorange1' => 'ff7f00', + 'darkorange2' => 'ee7600', + 'darkorange3' => 'cd6600', + 'darkorange4' => '8b4500', + 'darkorchid' => '9932cc', + 'darkorchid1' => 'bf3eff', + 'darkorchid2' => 'b23aee', + 'darkorchid3' => '9a32cd', + 'darkorchid4' => '68228b', + 'darksalmon' => 'e9967a', + 'darkseagreen' => '8fbc8f', + 'darkseagreen1' => 'c1ffc1', + 'darkseagreen2' => 'b4eeb4', + 'darkseagreen3' => '9bcd9b', + 'darkseagreen4' => '698b69', + 'darkslateblue' => '483d8b', + 'darkslategray' => '2f4f4f', + 'darkslategray1' => '97ffff', + 'darkslategray2' => '8deeee', + 'darkslategray3' => '79cdcd', + 'darkslategray4' => '528b8b', + 'darkturquoise' => '00ced1', + 'darkviolet' => '9400d3', + 'deeppink1' => 'ff1493', + 'deeppink2' => 'ee1289', + 'deeppink3' => 'cd1076', + 'deeppink4' => '8b0a50', + 'deepskyblue1' => '00bfff', + 'deepskyblue2' => '00b2ee', + 'deepskyblue3' => '009acd', + 'deepskyblue4' => '00688b', + 'dimgray' => '696969', + 'dodgerblue1' => '1e90ff', + 'dodgerblue2' => '1c86ee', + 'dodgerblue3' => '1874cd', + 'dodgerblue4' => '104e8b', + 'firebrick' => 'b22222', + 'firebrick1' => 'ff3030', + 'firebrick2' => 'ee2c2c', + 'firebrick3' => 'cd2626', + 'firebrick4' => '8b1a1a', + 'floralwhite' => 'fffaf0', + 'forestgreen' => '228b22', + 'fuchsia' => 'ff00ff', + 'gainsboro' => 'dcdcdc', + 'ghostwhite' => 'f8f8ff', + 'gold1' => 'ffd700', + 'gold2' => 'eec900', + 'gold3' => 'cdad00', + 'gold4' => '8b7500', + 'goldenrod' => 'daa520', + 'goldenrod1' => 'ffc125', + 'goldenrod2' => 'eeb422', + 'goldenrod3' => 'cd9b1d', + 'goldenrod4' => '8b6914', + 'gray' => 'bebebe', + 'gray1' => '030303', + 'gray10' => '1a1a1a', + 'gray11' => '1c1c1c', + 'gray12' => '1f1f1f', + 'gray13' => '212121', + 'gray14' => '242424', + 'gray15' => '262626', + 'gray16' => '292929', + 'gray17' => '2b2b2b', + 'gray18' => '2e2e2e', + 'gray19' => '303030', + 'gray2' => '050505', + 'gray20' => '333333', + 'gray21' => '363636', + 'gray22' => '383838', + 'gray23' => '3b3b3b', + 'gray24' => '3d3d3d', + 'gray25' => '404040', + 'gray26' => '424242', + 'gray27' => '454545', + 'gray28' => '474747', + 'gray29' => '4a4a4a', + 'gray3' => '080808', + 'gray30' => '4d4d4d', + 'gray31' => '4f4f4f', + 'gray32' => '525252', + 'gray33' => '545454', + 'gray34' => '575757', + 'gray35' => '595959', + 'gray36' => '5c5c5c', + 'gray37' => '5e5e5e', + 'gray38' => '616161', + 'gray39' => '636363', + 'gray4' => '0a0a0a', + 'gray40' => '666666', + 'gray41' => '696969', + 'gray42' => '6b6b6b', + 'gray43' => '6e6e6e', + 'gray44' => '707070', + 'gray45' => '737373', + 'gray46' => '757575', + 'gray47' => '787878', + 'gray48' => '7a7a7a', + 'gray49' => '7d7d7d', + 'gray5' => '0d0d0d', + 'gray50' => '7f7f7f', + 'gray51' => '828282', + 'gray52' => '858585', + 'gray53' => '878787', + 'gray54' => '8a8a8a', + 'gray55' => '8c8c8c', + 'gray56' => '8f8f8f', + 'gray57' => '919191', + 'gray58' => '949494', + 'gray59' => '969696', + 'gray6' => '0f0f0f', + 'gray60' => '999999', + 'gray61' => '9c9c9c', + 'gray62' => '9e9e9e', + 'gray63' => 'a1a1a1', + 'gray64' => 'a3a3a3', + 'gray65' => 'a6a6a6', + 'gray66' => 'a8a8a8', + 'gray67' => 'ababab', + 'gray68' => 'adadad', + 'gray69' => 'b0b0b0', + 'gray7' => '121212', + 'gray70' => 'b3b3b3', + 'gray71' => 'b5b5b5', + 'gray72' => 'b8b8b8', + 'gray73' => 'bababa', + 'gray74' => 'bdbdbd', + 'gray75' => 'bfbfbf', + 'gray76' => 'c2c2c2', + 'gray77' => 'c4c4c4', + 'gray78' => 'c7c7c7', + 'gray79' => 'c9c9c9', + 'gray8' => '141414', + 'gray80' => 'cccccc', + 'gray81' => 'cfcfcf', + 'gray82' => 'd1d1d1', + 'gray83' => 'd4d4d4', + 'gray84' => 'd6d6d6', + 'gray85' => 'd9d9d9', + 'gray86' => 'dbdbdb', + 'gray87' => 'dedede', + 'gray88' => 'e0e0e0', + 'gray89' => 'e3e3e3', + 'gray9' => '171717', + 'gray90' => 'e5e5e5', + 'gray91' => 'e8e8e8', + 'gray92' => 'ebebeb', + 'gray93' => 'ededed', + 'gray94' => 'f0f0f0', + 'gray95' => 'f2f2f2', + 'gray97' => 'f7f7f7', + 'gray98' => 'fafafa', + 'gray99' => 'fcfcfc', + 'green' => '00ff00', + 'green1' => '00ff00', + 'green2' => '00ee00', + 'green3' => '00cd00', + 'green4' => '008b00', + 'greenyellow' => 'adff2f', + 'honeydew1' => 'f0fff0', + 'honeydew2' => 'e0eee0', + 'honeydew3' => 'c1cdc1', + 'honeydew4' => '838b83', + 'hotpink' => 'ff69b4', + 'hotpink1' => 'ff6eb4', + 'hotpink2' => 'ee6aa7', + 'hotpink3' => 'cd6090', + 'hotpink4' => '8b3a62', + 'indianred' => 'cd5c5c', + 'indianred1' => 'ff6a6a', + 'indianred2' => 'ee6363', + 'indianred3' => 'cd5555', + 'indianred4' => '8b3a3a', + 'ivory1' => 'fffff0', + 'ivory2' => 'eeeee0', + 'ivory3' => 'cdcdc1', + 'ivory4' => '8b8b83', + 'khaki' => 'f0e68c', + 'khaki1' => 'fff68f', + 'khaki2' => 'eee685', + 'khaki3' => 'cdc673', + 'khaki4' => '8b864e', + 'lavender' => 'e6e6fa', + 'lavenderblush1' => 'fff0f5', + 'lavenderblush2' => 'eee0e5', + 'lavenderblush3' => 'cdc1c5', + 'lavenderblush4' => '8b8386', + 'lawngreen' => '7cfc00', + 'lemonchiffon1' => 'fffacd', + 'lemonchiffon2' => 'eee9bf', + 'lemonchiffon3' => 'cdc9a5', + 'lemonchiffon4' => '8b8970', + 'light' => 'eedd82', + 'lightblue' => 'add8e6', + 'lightblue1' => 'bfefff', + 'lightblue2' => 'b2dfee', + 'lightblue3' => '9ac0cd', + 'lightblue4' => '68838b', + 'lightcoral' => 'f08080', + 'lightcyan1' => 'e0ffff', + 'lightcyan2' => 'd1eeee', + 'lightcyan3' => 'b4cdcd', + 'lightcyan4' => '7a8b8b', + 'lightgoldenrod1' => 'ffec8b', + 'lightgoldenrod2' => 'eedc82', + 'lightgoldenrod3' => 'cdbe70', + 'lightgoldenrod4' => '8b814c', + 'lightgoldenrodyellow' => 'fafad2', + 'lightgray' => 'd3d3d3', + 'lightpink' => 'ffb6c1', + 'lightpink1' => 'ffaeb9', + 'lightpink2' => 'eea2ad', + 'lightpink3' => 'cd8c95', + 'lightpink4' => '8b5f65', + 'lightsalmon1' => 'ffa07a', + 'lightsalmon2' => 'ee9572', + 'lightsalmon3' => 'cd8162', + 'lightsalmon4' => '8b5742', + 'lightseagreen' => '20b2aa', + 'lightskyblue' => '87cefa', + 'lightskyblue1' => 'b0e2ff', + 'lightskyblue2' => 'a4d3ee', + 'lightskyblue3' => '8db6cd', + 'lightskyblue4' => '607b8b', + 'lightslateblue' => '8470ff', + 'lightslategray' => '778899', + 'lightsteelblue' => 'b0c4de', + 'lightsteelblue1' => 'cae1ff', + 'lightsteelblue2' => 'bcd2ee', + 'lightsteelblue3' => 'a2b5cd', + 'lightsteelblue4' => '6e7b8b', + 'lightyellow1' => 'ffffe0', + 'lightyellow2' => 'eeeed1', + 'lightyellow3' => 'cdcdb4', + 'lightyellow4' => '8b8b7a', + 'lime' => '00ff00', + 'limegreen' => '32cd32', + 'linen' => 'faf0e6', + 'magenta' => 'ff00ff', + 'magenta2' => 'ee00ee', + 'magenta3' => 'cd00cd', + 'magenta4' => '8b008b', + 'maroon' => 'b03060', + 'maroon1' => 'ff34b3', + 'maroon2' => 'ee30a7', + 'maroon3' => 'cd2990', + 'maroon4' => '8b1c62', + 'medium' => '66cdaa', + 'mediumaquamarine' => '66cdaa', + 'mediumblue' => '0000cd', + 'mediumorchid' => 'ba55d3', + 'mediumorchid1' => 'e066ff', + 'mediumorchid2' => 'd15fee', + 'mediumorchid3' => 'b452cd', + 'mediumorchid4' => '7a378b', + 'mediumpurple' => '9370db', + 'mediumpurple1' => 'ab82ff', + 'mediumpurple2' => '9f79ee', + 'mediumpurple3' => '8968cd', + 'mediumpurple4' => '5d478b', + 'mediumseagreen' => '3cb371', + 'mediumslateblue' => '7b68ee', + 'mediumspringgreen' => '00fa9a', + 'mediumturquoise' => '48d1cc', + 'mediumvioletred' => 'c71585', + 'midnightblue' => '191970', + 'mintcream' => 'f5fffa', + 'mistyrose1' => 'ffe4e1', + 'mistyrose2' => 'eed5d2', + 'mistyrose3' => 'cdb7b5', + 'mistyrose4' => '8b7d7b', + 'moccasin' => 'ffe4b5', + 'navajowhite1' => 'ffdead', + 'navajowhite2' => 'eecfa1', + 'navajowhite3' => 'cdb38b', + 'navajowhite4' => '8b795e', + 'navy' => '000080', + 'navyblue' => '000080', + 'oldlace' => 'fdf5e6', + 'olive' => '808000', + 'olivedrab' => '6b8e23', + 'olivedrab1' => 'c0ff3e', + 'olivedrab2' => 'b3ee3a', + 'olivedrab4' => '698b22', + 'orange' => 'ffa500', + 'orange1' => 'ffa500', + 'orange2' => 'ee9a00', + 'orange3' => 'cd8500', + 'orange4' => '8b5a00', + 'orangered1' => 'ff4500', + 'orangered2' => 'ee4000', + 'orangered3' => 'cd3700', + 'orangered4' => '8b2500', + 'orchid' => 'da70d6', + 'orchid1' => 'ff83fa', + 'orchid2' => 'ee7ae9', + 'orchid3' => 'cd69c9', + 'orchid4' => '8b4789', + 'pale' => 'db7093', + 'palegoldenrod' => 'eee8aa', + 'palegreen' => '98fb98', + 'palegreen1' => '9aff9a', + 'palegreen2' => '90ee90', + 'palegreen3' => '7ccd7c', + 'palegreen4' => '548b54', + 'paleturquoise' => 'afeeee', + 'paleturquoise1' => 'bbffff', + 'paleturquoise2' => 'aeeeee', + 'paleturquoise3' => '96cdcd', + 'paleturquoise4' => '668b8b', + 'palevioletred' => 'db7093', + 'palevioletred1' => 'ff82ab', + 'palevioletred2' => 'ee799f', + 'palevioletred3' => 'cd6889', + 'palevioletred4' => '8b475d', + 'papayawhip' => 'ffefd5', + 'peachpuff1' => 'ffdab9', + 'peachpuff2' => 'eecbad', + 'peachpuff3' => 'cdaf95', + 'peachpuff4' => '8b7765', + 'pink' => 'ffc0cb', + 'pink1' => 'ffb5c5', + 'pink2' => 'eea9b8', + 'pink3' => 'cd919e', + 'pink4' => '8b636c', + 'plum' => 'dda0dd', + 'plum1' => 'ffbbff', + 'plum2' => 'eeaeee', + 'plum3' => 'cd96cd', + 'plum4' => '8b668b', + 'powderblue' => 'b0e0e6', + 'purple' => 'a020f0', + 'rebeccapurple' => '663399', + 'purple1' => '9b30ff', + 'purple2' => '912cee', + 'purple3' => '7d26cd', + 'purple4' => '551a8b', + 'red' => 'ff0000', + 'red1' => 'ff0000', + 'red2' => 'ee0000', + 'red3' => 'cd0000', + 'red4' => '8b0000', + 'rosybrown' => 'bc8f8f', + 'rosybrown1' => 'ffc1c1', + 'rosybrown2' => 'eeb4b4', + 'rosybrown3' => 'cd9b9b', + 'rosybrown4' => '8b6969', + 'royalblue' => '4169e1', + 'royalblue1' => '4876ff', + 'royalblue2' => '436eee', + 'royalblue3' => '3a5fcd', + 'royalblue4' => '27408b', + 'saddlebrown' => '8b4513', + 'salmon' => 'fa8072', + 'salmon1' => 'ff8c69', + 'salmon2' => 'ee8262', + 'salmon3' => 'cd7054', + 'salmon4' => '8b4c39', + 'sandybrown' => 'f4a460', + 'seagreen1' => '54ff9f', + 'seagreen2' => '4eee94', + 'seagreen3' => '43cd80', + 'seagreen4' => '2e8b57', + 'seashell1' => 'fff5ee', + 'seashell2' => 'eee5de', + 'seashell3' => 'cdc5bf', + 'seashell4' => '8b8682', + 'sienna' => 'a0522d', + 'sienna1' => 'ff8247', + 'sienna2' => 'ee7942', + 'sienna3' => 'cd6839', + 'sienna4' => '8b4726', + 'silver' => 'c0c0c0', + 'skyblue' => '87ceeb', + 'skyblue1' => '87ceff', + 'skyblue2' => '7ec0ee', + 'skyblue3' => '6ca6cd', + 'skyblue4' => '4a708b', + 'slateblue' => '6a5acd', + 'slateblue1' => '836fff', + 'slateblue2' => '7a67ee', + 'slateblue3' => '6959cd', + 'slateblue4' => '473c8b', + 'slategray' => '708090', + 'slategray1' => 'c6e2ff', + 'slategray2' => 'b9d3ee', + 'slategray3' => '9fb6cd', + 'slategray4' => '6c7b8b', + 'snow1' => 'fffafa', + 'snow2' => 'eee9e9', + 'snow3' => 'cdc9c9', + 'snow4' => '8b8989', + 'springgreen1' => '00ff7f', + 'springgreen2' => '00ee76', + 'springgreen3' => '00cd66', + 'springgreen4' => '008b45', + 'steelblue' => '4682b4', + 'steelblue1' => '63b8ff', + 'steelblue2' => '5cacee', + 'steelblue3' => '4f94cd', + 'steelblue4' => '36648b', + 'tan' => 'd2b48c', + 'tan1' => 'ffa54f', + 'tan2' => 'ee9a49', + 'tan3' => 'cd853f', + 'tan4' => '8b5a2b', + 'teal' => '008080', + 'thistle' => 'd8bfd8', + 'thistle1' => 'ffe1ff', + 'thistle2' => 'eed2ee', + 'thistle3' => 'cdb5cd', + 'thistle4' => '8b7b8b', + 'tomato1' => 'ff6347', + 'tomato2' => 'ee5c42', + 'tomato3' => 'cd4f39', + 'tomato4' => '8b3626', + 'turquoise' => '40e0d0', + 'turquoise1' => '00f5ff', + 'turquoise2' => '00e5ee', + 'turquoise3' => '00c5cd', + 'turquoise4' => '00868b', + 'violet' => 'ee82ee', + 'violetred' => 'd02090', + 'violetred1' => 'ff3e96', + 'violetred2' => 'ee3a8c', + 'violetred3' => 'cd3278', + 'violetred4' => '8b2252', + 'wheat' => 'f5deb3', + 'wheat1' => 'ffe7ba', + 'wheat2' => 'eed8ae', + 'wheat3' => 'cdba96', + 'wheat4' => '8b7e66', + 'white' => 'ffffff', + 'whitesmoke' => 'f5f5f5', + 'yellow' => 'ffff00', + 'yellow1' => 'ffff00', + 'yellow2' => 'eeee00', + 'yellow3' => 'cdcd00', + 'yellow4' => '8b8b00', + 'yellowgreen' => '9acd32', + ); + + protected $face; + protected $size; + protected $color; + + protected $bold = false; + protected $italic = false; + protected $underline = false; + protected $superscript = false; + protected $subscript = false; + protected $strikethrough = false; + + protected $startTagCallbacks = array( + 'font' => 'startFontTag', + 'b' => 'startBoldTag', + 'strong' => 'startBoldTag', + 'i' => 'startItalicTag', + 'em' => 'startItalicTag', + 'u' => 'startUnderlineTag', + 'ins' => 'startUnderlineTag', + 'del' => 'startStrikethruTag', + 'sup' => 'startSuperscriptTag', + 'sub' => 'startSubscriptTag', + ); + + protected $endTagCallbacks = array( + 'font' => 'endFontTag', + 'b' => 'endBoldTag', + 'strong' => 'endBoldTag', + 'i' => 'endItalicTag', + 'em' => 'endItalicTag', + 'u' => 'endUnderlineTag', + 'ins' => 'endUnderlineTag', + 'del' => 'endStrikethruTag', + 'sup' => 'endSuperscriptTag', + 'sub' => 'endSubscriptTag', + 'br' => 'breakTag', + 'p' => 'breakTag', + 'h1' => 'breakTag', + 'h2' => 'breakTag', + 'h3' => 'breakTag', + 'h4' => 'breakTag', + 'h5' => 'breakTag', + 'h6' => 'breakTag', + ); + + protected $stack = array(); + + protected $stringData = ''; + + protected $richTextObject; + + protected function initialise() { + $this->face = $this->size = $this->color = null; + $this->bold = $this->italic = $this->underline = $this->superscript = $this->subscript = $this->strikethrough = false; + + $this->stack = array(); + + $this->stringData = ''; + } + + public function toRichTextObject($html) { + $this->initialise(); + + // Create a new DOM object + $dom = new domDocument; + // Load the HTML file into the DOM object + // Note the use of error suppression, because typically this will be an html fragment, so not fully valid markup + $loaded = @$dom->loadHTML($html); + + // Discard excess white space + $dom->preserveWhiteSpace = false; + + $this->richTextObject = new PHPExcel_RichText();; + $this->parseElements($dom); + return $this->richTextObject; + } + + protected function buildTextRun() { + $text = $this->stringData; + if (trim($text) === '') + return; + + $richtextRun = $this->richTextObject->createTextRun($this->stringData); + if ($this->face) { + $richtextRun->getFont()->setName($this->face); + } + if ($this->size) { + $richtextRun->getFont()->setSize($this->size); + } + if ($this->color) { + $richtextRun->getFont()->setColor( new PHPExcel_Style_Color( 'ff' . $this->color ) ); + } + if ($this->bold) { + $richtextRun->getFont()->setBold(true); + } + if ($this->italic) { + $richtextRun->getFont()->setItalic(true); + } + if ($this->underline) { + $richtextRun->getFont()->setUnderline(PHPExcel_Style_Font::UNDERLINE_SINGLE); + } + if ($this->superscript) { + $richtextRun->getFont()->setSuperScript(true); + } + if ($this->subscript) { + $richtextRun->getFont()->setSubScript(true); + } + if ($this->strikethrough) { + $richtextRun->getFont()->setStrikethrough(true); + } + $this->stringData = ''; + } + + protected function rgbToColour($rgb) { + preg_match_all('/\d+/', $rgb, $values); + foreach($values[0] as &$value) { + $value = str_pad(dechex($value), 2, '0', STR_PAD_LEFT); + } + return implode($values[0]); + } + + protected function colourNameLookup($rgb) { + return self::$colourMap[$rgb]; + } + + protected function startFontTag($tag) { + foreach ($tag->attributes as $attribute) { + $attributeName = strtolower($attribute->name); + $attributeValue = $attribute->value; + + if ($attributeName == 'color') { + if (preg_match('/rgb\s*\(/', $attributeValue)) { + $this->$attributeName = $this->rgbToColour($attributeValue); + } elseif(strpos(trim($attributeValue), '#') === 0) { + $this->$attributeName = ltrim($attributeValue, '#'); + } else { + $this->$attributeName = $this->colourNameLookup($attributeValue); + } + } else { + $this->$attributeName = $attributeValue; + } + } + } + + protected function endFontTag() { + $this->face = $this->size = $this->color = null; + } + + protected function startBoldTag() { + $this->bold = true; + } + + protected function endBoldTag() { + $this->bold = false; + } + + protected function startItalicTag() { + $this->italic = true; + } + + protected function endItalicTag() { + $this->italic = false; + } + + protected function startUnderlineTag() { + $this->underline = true; + } + + protected function endUnderlineTag() { + $this->underline = false; + } + + protected function startSubscriptTag() { + $this->subscript = true; + } + + protected function endSubscriptTag() { + $this->subscript = false; + } + + protected function startSuperscriptTag() { + $this->superscript = true; + } + + protected function endSuperscriptTag() { + $this->superscript = false; + } + + protected function startStrikethruTag() { + $this->strikethrough = true; + } + + protected function endStrikethruTag() { + $this->strikethrough = false; + } + + protected function breakTag() { + $this->stringData .= PHP_EOL; + } + + protected function parseTextNode(DOMText $textNode) { + $domText = preg_replace('/\s+/u', ' ', ltrim($textNode->nodeValue)); + $this->stringData .= $domText; + $this->buildTextRun(); + } + + protected function handleCallback($element, $callbackTag, $callbacks) { + if (isset($callbacks[$callbackTag])) { + $elementHandler = $callbacks[$callbackTag]; + if (method_exists($this, $elementHandler)) { + call_user_func(array($this, $elementHandler), $element); + } + } + } + + protected function parseElementNode(DOMElement $element) { + $callbackTag = strtolower($element->nodeName); + $this->stack[] = $callbackTag; + + $this->handleCallback($element, $callbackTag, $this->startTagCallbacks); + + $this->parseElements($element); + $this->stringData .= ' '; + array_pop($this->stack); + + $this->handleCallback($element, $callbackTag, $this->endTagCallbacks); + } + + protected function parseElements(DOMNode $element) { + foreach ($element->childNodes as $child) { + if ($child instanceof DOMText) { + $this->parseTextNode($child); + } elseif ($child instanceof DOMElement) { + $this->parseElementNode($child); + } + } + } +} diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/IComparable.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/IComparable.php new file mode 100644 index 00000000..adb9a016 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/IComparable.php @@ -0,0 +1,43 @@ + 'IWriter', 'path' => 'PHPExcel/Writer/{0}.php', 'class' => 'PHPExcel_Writer_{0}' ), + array( 'type' => 'IReader', 'path' => 'PHPExcel/Reader/{0}.php', 'class' => 'PHPExcel_Reader_{0}' ) + ); + + /** + * Autoresolve classes + * + * @var array + * @access private + * @static + */ + private static $_autoResolveClasses = array( + 'Excel2007', + 'Excel5', + 'Excel2003XML', + 'OOCalc', + 'SYLK', + 'Gnumeric', + 'HTML', + 'CSV', + ); + + /** + * Private constructor for PHPExcel_IOFactory + */ + private function __construct() { } + + /** + * Get search locations + * + * @static + * @access public + * @return array + */ + public static function getSearchLocations() { + return self::$_searchLocations; + } // function getSearchLocations() + + /** + * Set search locations + * + * @static + * @access public + * @param array $value + * @throws PHPExcel_Reader_Exception + */ + public static function setSearchLocations($value) { + if (is_array($value)) { + self::$_searchLocations = $value; + } else { + throw new PHPExcel_Reader_Exception('Invalid parameter passed.'); + } + } // function setSearchLocations() + + /** + * Add search location + * + * @static + * @access public + * @param string $type Example: IWriter + * @param string $location Example: PHPExcel/Writer/{0}.php + * @param string $classname Example: PHPExcel_Writer_{0} + */ + public static function addSearchLocation($type = '', $location = '', $classname = '') { + self::$_searchLocations[] = array( 'type' => $type, 'path' => $location, 'class' => $classname ); + } // function addSearchLocation() + + /** + * Create PHPExcel_Writer_IWriter + * + * @static + * @access public + * @param PHPExcel $phpExcel + * @param string $writerType Example: Excel2007 + * @return PHPExcel_Writer_IWriter + * @throws PHPExcel_Reader_Exception + */ + public static function createWriter(PHPExcel $phpExcel, $writerType = '') { + // Search type + $searchType = 'IWriter'; + + // Include class + foreach (self::$_searchLocations as $searchLocation) { + if ($searchLocation['type'] == $searchType) { + $className = str_replace('{0}', $writerType, $searchLocation['class']); + + $instance = new $className($phpExcel); + if ($instance !== NULL) { + return $instance; + } + } + } + + // Nothing found... + throw new PHPExcel_Reader_Exception("No $searchType found for type $writerType"); + } // function createWriter() + + /** + * Create PHPExcel_Reader_IReader + * + * @static + * @access public + * @param string $readerType Example: Excel2007 + * @return PHPExcel_Reader_IReader + * @throws PHPExcel_Reader_Exception + */ + public static function createReader($readerType = '') { + // Search type + $searchType = 'IReader'; + + // Include class + foreach (self::$_searchLocations as $searchLocation) { + if ($searchLocation['type'] == $searchType) { + $className = str_replace('{0}', $readerType, $searchLocation['class']); + + $instance = new $className(); + if ($instance !== NULL) { + return $instance; + } + } + } + + // Nothing found... + throw new PHPExcel_Reader_Exception("No $searchType found for type $readerType"); + } // function createReader() + + /** + * Loads PHPExcel from file using automatic PHPExcel_Reader_IReader resolution + * + * @static + * @access public + * @param string $pFilename The name of the spreadsheet file + * @return PHPExcel + * @throws PHPExcel_Reader_Exception + */ + public static function load($pFilename) { + $reader = self::createReaderForFile($pFilename); + return $reader->load($pFilename); + } // function load() + + /** + * Identify file type using automatic PHPExcel_Reader_IReader resolution + * + * @static + * @access public + * @param string $pFilename The name of the spreadsheet file to identify + * @return string + * @throws PHPExcel_Reader_Exception + */ + public static function identify($pFilename) { + $reader = self::createReaderForFile($pFilename); + $className = get_class($reader); + $classType = explode('_',$className); + unset($reader); + return array_pop($classType); + } // function identify() + + /** + * Create PHPExcel_Reader_IReader for file using automatic PHPExcel_Reader_IReader resolution + * + * @static + * @access public + * @param string $pFilename The name of the spreadsheet file + * @return PHPExcel_Reader_IReader + * @throws PHPExcel_Reader_Exception + */ + public static function createReaderForFile($pFilename) { + + // First, lucky guess by inspecting file extension + $pathinfo = pathinfo($pFilename); + + $extensionType = NULL; + if (isset($pathinfo['extension'])) { + switch (strtolower($pathinfo['extension'])) { + case 'xlsx': // Excel (OfficeOpenXML) Spreadsheet + case 'xlsm': // Excel (OfficeOpenXML) Macro Spreadsheet (macros will be discarded) + case 'xltx': // Excel (OfficeOpenXML) Template + case 'xltm': // Excel (OfficeOpenXML) Macro Template (macros will be discarded) + $extensionType = 'Excel2007'; + break; + case 'xls': // Excel (BIFF) Spreadsheet + case 'xlt': // Excel (BIFF) Template + $extensionType = 'Excel5'; + break; + case 'ods': // Open/Libre Offic Calc + case 'ots': // Open/Libre Offic Calc Template + $extensionType = 'OOCalc'; + break; + case 'slk': + $extensionType = 'SYLK'; + break; + case 'xml': // Excel 2003 SpreadSheetML + $extensionType = 'Excel2003XML'; + break; + case 'gnumeric': + $extensionType = 'Gnumeric'; + break; + case 'htm': + case 'html': + $extensionType = 'HTML'; + break; + case 'csv': + // Do nothing + // We must not try to use CSV reader since it loads + // all files including Excel files etc. + break; + default: + break; + } + + if ($extensionType !== NULL) { + $reader = self::createReader($extensionType); + // Let's see if we are lucky + if (isset($reader) && $reader->canRead($pFilename)) { + return $reader; + } + } + } + + // If we reach here then "lucky guess" didn't give any result + // Try walking through all the options in self::$_autoResolveClasses + foreach (self::$_autoResolveClasses as $autoResolveClass) { + // Ignore our original guess, we know that won't work + if ($autoResolveClass !== $extensionType) { + $reader = self::createReader($autoResolveClass); + if ($reader->canRead($pFilename)) { + return $reader; + } + } + } + + throw new PHPExcel_Reader_Exception('Unable to identify a reader for this file'); + } // function createReaderForFile() +} diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/NamedRange.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/NamedRange.php new file mode 100644 index 00000000..fe245e3e --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/NamedRange.php @@ -0,0 +1,246 @@ +_worksheet) + * + * @var bool + */ + private $_localOnly; + + /** + * Scope + * + * @var PHPExcel_Worksheet + */ + private $_scope; + + /** + * Create a new NamedRange + * + * @param string $pName + * @param PHPExcel_Worksheet $pWorksheet + * @param string $pRange + * @param bool $pLocalOnly + * @param PHPExcel_Worksheet|null $pScope Scope. Only applies when $pLocalOnly = true. Null for global scope. + * @throws PHPExcel_Exception + */ + public function __construct($pName = null, PHPExcel_Worksheet $pWorksheet, $pRange = 'A1', $pLocalOnly = false, $pScope = null) + { + // Validate data + if (($pName === NULL) || ($pWorksheet === NULL) || ($pRange === NULL)) { + throw new PHPExcel_Exception('Parameters can not be null.'); + } + + // Set local members + $this->_name = $pName; + $this->_worksheet = $pWorksheet; + $this->_range = $pRange; + $this->_localOnly = $pLocalOnly; + $this->_scope = ($pLocalOnly == true) ? + (($pScope == null) ? $pWorksheet : $pScope) : null; + } + + /** + * Get name + * + * @return string + */ + public function getName() { + return $this->_name; + } + + /** + * Set name + * + * @param string $value + * @return PHPExcel_NamedRange + */ + public function setName($value = null) { + if ($value !== NULL) { + // Old title + $oldTitle = $this->_name; + + // Re-attach + if ($this->_worksheet !== NULL) { + $this->_worksheet->getParent()->removeNamedRange($this->_name,$this->_worksheet); + } + $this->_name = $value; + + if ($this->_worksheet !== NULL) { + $this->_worksheet->getParent()->addNamedRange($this); + } + + // New title + $newTitle = $this->_name; + PHPExcel_ReferenceHelper::getInstance()->updateNamedFormulas($this->_worksheet->getParent(), $oldTitle, $newTitle); + } + return $this; + } + + /** + * Get worksheet + * + * @return PHPExcel_Worksheet + */ + public function getWorksheet() { + return $this->_worksheet; + } + + /** + * Set worksheet + * + * @param PHPExcel_Worksheet $value + * @return PHPExcel_NamedRange + */ + public function setWorksheet(PHPExcel_Worksheet $value = null) { + if ($value !== NULL) { + $this->_worksheet = $value; + } + return $this; + } + + /** + * Get range + * + * @return string + */ + public function getRange() { + return $this->_range; + } + + /** + * Set range + * + * @param string $value + * @return PHPExcel_NamedRange + */ + public function setRange($value = null) { + if ($value !== NULL) { + $this->_range = $value; + } + return $this; + } + + /** + * Get localOnly + * + * @return bool + */ + public function getLocalOnly() { + return $this->_localOnly; + } + + /** + * Set localOnly + * + * @param bool $value + * @return PHPExcel_NamedRange + */ + public function setLocalOnly($value = false) { + $this->_localOnly = $value; + $this->_scope = $value ? $this->_worksheet : null; + return $this; + } + + /** + * Get scope + * + * @return PHPExcel_Worksheet|null + */ + public function getScope() { + return $this->_scope; + } + + /** + * Set scope + * + * @param PHPExcel_Worksheet|null $value + * @return PHPExcel_NamedRange + */ + public function setScope(PHPExcel_Worksheet $value = null) { + $this->_scope = $value; + $this->_localOnly = ($value == null) ? false : true; + return $this; + } + + /** + * Resolve a named range to a regular cell range + * + * @param string $pNamedRange Named range + * @param PHPExcel_Worksheet|null $pSheet Scope. Use null for global scope + * @return PHPExcel_NamedRange + */ + public static function resolveRange($pNamedRange = '', PHPExcel_Worksheet $pSheet) { + return $pSheet->getParent()->getNamedRange($pNamedRange, $pSheet); + } + + /** + * Implement PHP __clone to create a deep clone, not just a shallow copy. + */ + public function __clone() { + $vars = get_object_vars($this); + foreach ($vars as $key => $value) { + if (is_object($value)) { + $this->$key = clone $value; + } else { + $this->$key = $value; + } + } + } +} diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Reader/Abstract.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Reader/Abstract.php new file mode 100644 index 00000000..2d3c964b --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Reader/Abstract.php @@ -0,0 +1,255 @@ +_readDataOnly; + } + + /** + * Set read data only + * Set to true, to advise the Reader only to read data values for cells, and to ignore any formatting information. + * Set to false (the default) to advise the Reader to read both data and formatting for cells. + * + * @param boolean $pValue + * + * @return PHPExcel_Reader_IReader + */ + public function setReadDataOnly($pValue = FALSE) { + $this->_readDataOnly = $pValue; + return $this; + } + + /** + * Read charts in workbook? + * If this is true, then the Reader will include any charts that exist in the workbook. + * Note that a ReadDataOnly value of false overrides, and charts won't be read regardless of the IncludeCharts value. + * If false (the default) it will ignore any charts defined in the workbook file. + * + * @return boolean + */ + public function getIncludeCharts() { + return $this->_includeCharts; + } + + /** + * Set read charts in workbook + * Set to true, to advise the Reader to include any charts that exist in the workbook. + * Note that a ReadDataOnly value of false overrides, and charts won't be read regardless of the IncludeCharts value. + * Set to false (the default) to discard charts. + * + * @param boolean $pValue + * + * @return PHPExcel_Reader_IReader + */ + public function setIncludeCharts($pValue = FALSE) { + $this->_includeCharts = (boolean) $pValue; + return $this; + } + + /** + * Get which sheets to load + * Returns either an array of worksheet names (the list of worksheets that should be loaded), or a null + * indicating that all worksheets in the workbook should be loaded. + * + * @return mixed + */ + public function getLoadSheetsOnly() + { + return $this->_loadSheetsOnly; + } + + /** + * Set which sheets to load + * + * @param mixed $value + * This should be either an array of worksheet names to be loaded, or a string containing a single worksheet name. + * If NULL, then it tells the Reader to read all worksheets in the workbook + * + * @return PHPExcel_Reader_IReader + */ + public function setLoadSheetsOnly($value = NULL) + { + if ($value === NULL) + return $this->setLoadAllSheets(); + + $this->_loadSheetsOnly = is_array($value) ? + $value : array($value); + return $this; + } + + /** + * Set all sheets to load + * Tells the Reader to load all worksheets from the workbook. + * + * @return PHPExcel_Reader_IReader + */ + public function setLoadAllSheets() + { + $this->_loadSheetsOnly = NULL; + return $this; + } + + /** + * Read filter + * + * @return PHPExcel_Reader_IReadFilter + */ + public function getReadFilter() { + return $this->_readFilter; + } + + /** + * Set read filter + * + * @param PHPExcel_Reader_IReadFilter $pValue + * @return PHPExcel_Reader_IReader + */ + public function setReadFilter(PHPExcel_Reader_IReadFilter $pValue) { + $this->_readFilter = $pValue; + return $this; + } + + /** + * Open file for reading + * + * @param string $pFilename + * @throws PHPExcel_Reader_Exception + * @return resource + */ + protected function _openFile($pFilename) + { + // Check if file exists + if (!file_exists($pFilename) || !is_readable($pFilename)) { + throw new PHPExcel_Reader_Exception("Could not open " . $pFilename . " for reading! File does not exist."); + } + + // Open file + $this->_fileHandle = fopen($pFilename, 'r'); + if ($this->_fileHandle === FALSE) { + throw new PHPExcel_Reader_Exception("Could not open file " . $pFilename . " for reading."); + } + } + + /** + * Can the current PHPExcel_Reader_IReader read the file? + * + * @param string $pFilename + * @return boolean + * @throws PHPExcel_Reader_Exception + */ + public function canRead($pFilename) + { + // Check if file exists + try { + $this->_openFile($pFilename); + } catch (Exception $e) { + return FALSE; + } + + $readable = $this->_isValidFormat(); + fclose ($this->_fileHandle); + return $readable; + } + + /** + * Scan theXML for use of securityScan(file_get_contents($filestream)); + } +} diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Reader/CSV.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Reader/CSV.php new file mode 100644 index 00000000..22176fdc --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Reader/CSV.php @@ -0,0 +1,387 @@ +_readFilter = new PHPExcel_Reader_DefaultReadFilter(); + } + + /** + * Validate that the current file is a CSV file + * + * @return boolean + */ + protected function _isValidFormat() + { + return TRUE; + } + + /** + * Set input encoding + * + * @param string $pValue Input encoding + */ + public function setInputEncoding($pValue = 'UTF-8') + { + $this->_inputEncoding = $pValue; + return $this; + } + + /** + * Get input encoding + * + * @return string + */ + public function getInputEncoding() + { + return $this->_inputEncoding; + } + + /** + * Move filepointer past any BOM marker + * + */ + protected function _skipBOM() + { + rewind($this->_fileHandle); + + switch ($this->_inputEncoding) { + case 'UTF-8': + fgets($this->_fileHandle, 4) == "\xEF\xBB\xBF" ? + fseek($this->_fileHandle, 3) : fseek($this->_fileHandle, 0); + break; + case 'UTF-16LE': + fgets($this->_fileHandle, 3) == "\xFF\xFE" ? + fseek($this->_fileHandle, 2) : fseek($this->_fileHandle, 0); + break; + case 'UTF-16BE': + fgets($this->_fileHandle, 3) == "\xFE\xFF" ? + fseek($this->_fileHandle, 2) : fseek($this->_fileHandle, 0); + break; + case 'UTF-32LE': + fgets($this->_fileHandle, 5) == "\xFF\xFE\x00\x00" ? + fseek($this->_fileHandle, 4) : fseek($this->_fileHandle, 0); + break; + case 'UTF-32BE': + fgets($this->_fileHandle, 5) == "\x00\x00\xFE\xFF" ? + fseek($this->_fileHandle, 4) : fseek($this->_fileHandle, 0); + break; + default: + break; + } + } + + /** + * Return worksheet info (Name, Last Column Letter, Last Column Index, Total Rows, Total Columns) + * + * @param string $pFilename + * @throws PHPExcel_Reader_Exception + */ + public function listWorksheetInfo($pFilename) + { + // Open file + $this->_openFile($pFilename); + if (!$this->_isValidFormat()) { + fclose ($this->_fileHandle); + throw new PHPExcel_Reader_Exception($pFilename . " is an Invalid Spreadsheet file."); + } + $fileHandle = $this->_fileHandle; + + // Skip BOM, if any + $this->_skipBOM(); + + $escapeEnclosures = array( "\\" . $this->_enclosure, $this->_enclosure . $this->_enclosure ); + + $worksheetInfo = array(); + $worksheetInfo[0]['worksheetName'] = 'Worksheet'; + $worksheetInfo[0]['lastColumnLetter'] = 'A'; + $worksheetInfo[0]['lastColumnIndex'] = 0; + $worksheetInfo[0]['totalRows'] = 0; + $worksheetInfo[0]['totalColumns'] = 0; + + // Loop through each line of the file in turn + while (($rowData = fgetcsv($fileHandle, 0, $this->_delimiter, $this->_enclosure)) !== FALSE) { + $worksheetInfo[0]['totalRows']++; + $worksheetInfo[0]['lastColumnIndex'] = max($worksheetInfo[0]['lastColumnIndex'], count($rowData) - 1); + } + + $worksheetInfo[0]['lastColumnLetter'] = PHPExcel_Cell::stringFromColumnIndex($worksheetInfo[0]['lastColumnIndex']); + $worksheetInfo[0]['totalColumns'] = $worksheetInfo[0]['lastColumnIndex'] + 1; + + // Close file + fclose($fileHandle); + + return $worksheetInfo; + } + + /** + * Loads PHPExcel from file + * + * @param string $pFilename + * @return PHPExcel + * @throws PHPExcel_Reader_Exception + */ + public function load($pFilename) + { + // Create new PHPExcel + $objPHPExcel = new PHPExcel(); + + // Load into this instance + return $this->loadIntoExisting($pFilename, $objPHPExcel); + } + + /** + * Loads PHPExcel from file into PHPExcel instance + * + * @param string $pFilename + * @param PHPExcel $objPHPExcel + * @return PHPExcel + * @throws PHPExcel_Reader_Exception + */ + public function loadIntoExisting($pFilename, PHPExcel $objPHPExcel) + { + $lineEnding = ini_get('auto_detect_line_endings'); + ini_set('auto_detect_line_endings', true); + + // Open file + $this->_openFile($pFilename); + if (!$this->_isValidFormat()) { + fclose ($this->_fileHandle); + throw new PHPExcel_Reader_Exception($pFilename . " is an Invalid Spreadsheet file."); + } + $fileHandle = $this->_fileHandle; + + // Skip BOM, if any + $this->_skipBOM(); + + // Create new PHPExcel object + while ($objPHPExcel->getSheetCount() <= $this->_sheetIndex) { + $objPHPExcel->createSheet(); + } + $sheet = $objPHPExcel->setActiveSheetIndex($this->_sheetIndex); + + $escapeEnclosures = array( "\\" . $this->_enclosure, + $this->_enclosure . $this->_enclosure + ); + + // Set our starting row based on whether we're in contiguous mode or not + $currentRow = 1; + if ($this->_contiguous) { + $currentRow = ($this->_contiguousRow == -1) ? $sheet->getHighestRow(): $this->_contiguousRow; + } + + // Loop through each line of the file in turn + while (($rowData = fgetcsv($fileHandle, 0, $this->_delimiter, $this->_enclosure)) !== FALSE) { + $columnLetter = 'A'; + foreach($rowData as $rowDatum) { + if ($rowDatum != '' && $this->_readFilter->readCell($columnLetter, $currentRow)) { + // Unescape enclosures + $rowDatum = str_replace($escapeEnclosures, $this->_enclosure, $rowDatum); + + // Convert encoding if necessary + if ($this->_inputEncoding !== 'UTF-8') { + $rowDatum = PHPExcel_Shared_String::ConvertEncoding($rowDatum, 'UTF-8', $this->_inputEncoding); + } + + // Set cell value + $sheet->getCell($columnLetter . $currentRow)->setValue($rowDatum); + } + ++$columnLetter; + } + ++$currentRow; + } + + // Close file + fclose($fileHandle); + + if ($this->_contiguous) { + $this->_contiguousRow = $currentRow; + } + + ini_set('auto_detect_line_endings', $lineEnding); + + // Return + return $objPHPExcel; + } + + /** + * Get delimiter + * + * @return string + */ + public function getDelimiter() { + return $this->_delimiter; + } + + /** + * Set delimiter + * + * @param string $pValue Delimiter, defaults to , + * @return PHPExcel_Reader_CSV + */ + public function setDelimiter($pValue = ',') { + $this->_delimiter = $pValue; + return $this; + } + + /** + * Get enclosure + * + * @return string + */ + public function getEnclosure() { + return $this->_enclosure; + } + + /** + * Set enclosure + * + * @param string $pValue Enclosure, defaults to " + * @return PHPExcel_Reader_CSV + */ + public function setEnclosure($pValue = '"') { + if ($pValue == '') { + $pValue = '"'; + } + $this->_enclosure = $pValue; + return $this; + } + + /** + * Get sheet index + * + * @return integer + */ + public function getSheetIndex() { + return $this->_sheetIndex; + } + + /** + * Set sheet index + * + * @param integer $pValue Sheet index + * @return PHPExcel_Reader_CSV + */ + public function setSheetIndex($pValue = 0) { + $this->_sheetIndex = $pValue; + return $this; + } + + /** + * Set Contiguous + * + * @param boolean $contiguous + */ + public function setContiguous($contiguous = FALSE) + { + $this->_contiguous = (bool) $contiguous; + if (!$contiguous) { + $this->_contiguousRow = -1; + } + + return $this; + } + + /** + * Get Contiguous + * + * @return boolean + */ + public function getContiguous() { + return $this->_contiguous; + } + +} diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Reader/DefaultReadFilter.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Reader/DefaultReadFilter.php new file mode 100644 index 00000000..dc55fc6b --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Reader/DefaultReadFilter.php @@ -0,0 +1,58 @@ +_readFilter = new PHPExcel_Reader_DefaultReadFilter(); + } + + + /** + * Can the current PHPExcel_Reader_IReader read the file? + * + * @param string $pFilename + * @return boolean + * @throws PHPExcel_Reader_Exception + */ + public function canRead($pFilename) + { + + // Office xmlns:o="urn:schemas-microsoft-com:office:office" + // Excel xmlns:x="urn:schemas-microsoft-com:office:excel" + // XML Spreadsheet xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet" + // Spreadsheet component xmlns:c="urn:schemas-microsoft-com:office:component:spreadsheet" + // XML schema xmlns:s="uuid:BDC6E3F0-6DA3-11d1-A2A3-00AA00C14882" + // XML data type xmlns:dt="uuid:C2F41010-65B3-11d1-A29F-00AA00C14882" + // MS-persist recordset xmlns:rs="urn:schemas-microsoft-com:rowset" + // Rowset xmlns:z="#RowsetSchema" + // + + $signature = array( + '' + ); + + // Open file + $this->_openFile($pFilename); + $fileHandle = $this->_fileHandle; + + // Read sample data (first 2 KB will do) + $data = fread($fileHandle, 2048); + fclose($fileHandle); + + $valid = true; + foreach($signature as $match) { + // every part of the signature must be present + if (strpos($data, $match) === false) { + $valid = false; + break; + } + } + + // Retrieve charset encoding + if(preg_match('//um',$data,$matches)) { + $this->_charSet = strtoupper($matches[1]); + } +// echo 'Character Set is ',$this->_charSet,'
'; + + return $valid; + } + + + /** + * Reads names of the worksheets from a file, without parsing the whole file to a PHPExcel object + * + * @param string $pFilename + * @throws PHPExcel_Reader_Exception + */ + public function listWorksheetNames($pFilename) + { + // Check if file exists + if (!file_exists($pFilename)) { + throw new PHPExcel_Reader_Exception("Could not open " . $pFilename . " for reading! File does not exist."); + } + if (!$this->canRead($pFilename)) { + throw new PHPExcel_Reader_Exception($pFilename . " is an Invalid Spreadsheet file."); + } + + $worksheetNames = array(); + + $xml = simplexml_load_string($this->securityScan(file_get_contents($pFilename)), 'SimpleXMLElement', PHPExcel_Settings::getLibXmlLoaderOptions()); + $namespaces = $xml->getNamespaces(true); + + $xml_ss = $xml->children($namespaces['ss']); + foreach($xml_ss->Worksheet as $worksheet) { + $worksheet_ss = $worksheet->attributes($namespaces['ss']); + $worksheetNames[] = self::_convertStringEncoding((string) $worksheet_ss['Name'],$this->_charSet); + } + + return $worksheetNames; + } + + + /** + * Return worksheet info (Name, Last Column Letter, Last Column Index, Total Rows, Total Columns) + * + * @param string $pFilename + * @throws PHPExcel_Reader_Exception + */ + public function listWorksheetInfo($pFilename) + { + // Check if file exists + if (!file_exists($pFilename)) { + throw new PHPExcel_Reader_Exception("Could not open " . $pFilename . " for reading! File does not exist."); + } + + $worksheetInfo = array(); + + $xml = simplexml_load_string($this->securityScan(file_get_contents($pFilename)), 'SimpleXMLElement', PHPExcel_Settings::getLibXmlLoaderOptions()); + $namespaces = $xml->getNamespaces(true); + + $worksheetID = 1; + $xml_ss = $xml->children($namespaces['ss']); + foreach($xml_ss->Worksheet as $worksheet) { + $worksheet_ss = $worksheet->attributes($namespaces['ss']); + + $tmpInfo = array(); + $tmpInfo['worksheetName'] = ''; + $tmpInfo['lastColumnLetter'] = 'A'; + $tmpInfo['lastColumnIndex'] = 0; + $tmpInfo['totalRows'] = 0; + $tmpInfo['totalColumns'] = 0; + + if (isset($worksheet_ss['Name'])) { + $tmpInfo['worksheetName'] = (string) $worksheet_ss['Name']; + } else { + $tmpInfo['worksheetName'] = "Worksheet_{$worksheetID}"; + } + + if (isset($worksheet->Table->Row)) { + $rowIndex = 0; + + foreach($worksheet->Table->Row as $rowData) { + $columnIndex = 0; + $rowHasData = false; + + foreach($rowData->Cell as $cell) { + if (isset($cell->Data)) { + $tmpInfo['lastColumnIndex'] = max($tmpInfo['lastColumnIndex'], $columnIndex); + $rowHasData = true; + } + + ++$columnIndex; + } + + ++$rowIndex; + + if ($rowHasData) { + $tmpInfo['totalRows'] = max($tmpInfo['totalRows'], $rowIndex); + } + } + } + + $tmpInfo['lastColumnLetter'] = PHPExcel_Cell::stringFromColumnIndex($tmpInfo['lastColumnIndex']); + $tmpInfo['totalColumns'] = $tmpInfo['lastColumnIndex'] + 1; + + $worksheetInfo[] = $tmpInfo; + ++$worksheetID; + } + + return $worksheetInfo; + } + + + /** + * Loads PHPExcel from file + * + * @param string $pFilename + * @return PHPExcel + * @throws PHPExcel_Reader_Exception + */ + public function load($pFilename) + { + // Create new PHPExcel + $objPHPExcel = new PHPExcel(); + $objPHPExcel->removeSheetByIndex(0); + + // Load into this instance + return $this->loadIntoExisting($pFilename, $objPHPExcel); + } + + + protected static function identifyFixedStyleValue($styleList,&$styleAttributeValue) { + $styleAttributeValue = strtolower($styleAttributeValue); + foreach($styleList as $style) { + if ($styleAttributeValue == strtolower($style)) { + $styleAttributeValue = $style; + return true; + } + } + return false; + } + + + /** + * pixel units to excel width units(units of 1/256th of a character width) + * @param pxs + * @return + */ + protected static function _pixel2WidthUnits($pxs) { + $UNIT_OFFSET_MAP = array(0, 36, 73, 109, 146, 182, 219); + + $widthUnits = 256 * ($pxs / 7); + $widthUnits += $UNIT_OFFSET_MAP[($pxs % 7)]; + return $widthUnits; + } + + + /** + * excel width units(units of 1/256th of a character width) to pixel units + * @param widthUnits + * @return + */ + protected static function _widthUnits2Pixel($widthUnits) { + $pixels = ($widthUnits / 256) * 7; + $offsetWidthUnits = $widthUnits % 256; + $pixels += round($offsetWidthUnits / (256 / 7)); + return $pixels; + } + + + protected static function _hex2str($hex) { + return chr(hexdec($hex[1])); + } + + + /** + * Loads PHPExcel from file into PHPExcel instance + * + * @param string $pFilename + * @param PHPExcel $objPHPExcel + * @return PHPExcel + * @throws PHPExcel_Reader_Exception + */ + public function loadIntoExisting($pFilename, PHPExcel $objPHPExcel) + { + $fromFormats = array('\-', '\ '); + $toFormats = array('-', ' '); + + $underlineStyles = array ( + PHPExcel_Style_Font::UNDERLINE_NONE, + PHPExcel_Style_Font::UNDERLINE_DOUBLE, + PHPExcel_Style_Font::UNDERLINE_DOUBLEACCOUNTING, + PHPExcel_Style_Font::UNDERLINE_SINGLE, + PHPExcel_Style_Font::UNDERLINE_SINGLEACCOUNTING + ); + $verticalAlignmentStyles = array ( + PHPExcel_Style_Alignment::VERTICAL_BOTTOM, + PHPExcel_Style_Alignment::VERTICAL_TOP, + PHPExcel_Style_Alignment::VERTICAL_CENTER, + PHPExcel_Style_Alignment::VERTICAL_JUSTIFY + ); + $horizontalAlignmentStyles = array ( + PHPExcel_Style_Alignment::HORIZONTAL_GENERAL, + PHPExcel_Style_Alignment::HORIZONTAL_LEFT, + PHPExcel_Style_Alignment::HORIZONTAL_RIGHT, + PHPExcel_Style_Alignment::HORIZONTAL_CENTER, + PHPExcel_Style_Alignment::HORIZONTAL_CENTER_CONTINUOUS, + PHPExcel_Style_Alignment::HORIZONTAL_JUSTIFY + ); + + $timezoneObj = new DateTimeZone('Europe/London'); + $GMT = new DateTimeZone('UTC'); + + + // Check if file exists + if (!file_exists($pFilename)) { + throw new PHPExcel_Reader_Exception("Could not open " . $pFilename . " for reading! File does not exist."); + } + + if (!$this->canRead($pFilename)) { + throw new PHPExcel_Reader_Exception($pFilename . " is an Invalid Spreadsheet file."); + } + + $xml = simplexml_load_string($this->securityScan(file_get_contents($pFilename)), 'SimpleXMLElement', PHPExcel_Settings::getLibXmlLoaderOptions()); + $namespaces = $xml->getNamespaces(true); + + $docProps = $objPHPExcel->getProperties(); + if (isset($xml->DocumentProperties[0])) { + foreach($xml->DocumentProperties[0] as $propertyName => $propertyValue) { + switch ($propertyName) { + case 'Title' : + $docProps->setTitle(self::_convertStringEncoding($propertyValue,$this->_charSet)); + break; + case 'Subject' : + $docProps->setSubject(self::_convertStringEncoding($propertyValue,$this->_charSet)); + break; + case 'Author' : + $docProps->setCreator(self::_convertStringEncoding($propertyValue,$this->_charSet)); + break; + case 'Created' : + $creationDate = strtotime($propertyValue); + $docProps->setCreated($creationDate); + break; + case 'LastAuthor' : + $docProps->setLastModifiedBy(self::_convertStringEncoding($propertyValue,$this->_charSet)); + break; + case 'LastSaved' : + $lastSaveDate = strtotime($propertyValue); + $docProps->setModified($lastSaveDate); + break; + case 'Company' : + $docProps->setCompany(self::_convertStringEncoding($propertyValue,$this->_charSet)); + break; + case 'Category' : + $docProps->setCategory(self::_convertStringEncoding($propertyValue,$this->_charSet)); + break; + case 'Manager' : + $docProps->setManager(self::_convertStringEncoding($propertyValue,$this->_charSet)); + break; + case 'Keywords' : + $docProps->setKeywords(self::_convertStringEncoding($propertyValue,$this->_charSet)); + break; + case 'Description' : + $docProps->setDescription(self::_convertStringEncoding($propertyValue,$this->_charSet)); + break; + } + } + } + if (isset($xml->CustomDocumentProperties)) { + foreach($xml->CustomDocumentProperties[0] as $propertyName => $propertyValue) { + $propertyAttributes = $propertyValue->attributes($namespaces['dt']); + $propertyName = preg_replace_callback('/_x([0-9a-z]{4})_/','PHPExcel_Reader_Excel2003XML::_hex2str',$propertyName); + $propertyType = PHPExcel_DocumentProperties::PROPERTY_TYPE_UNKNOWN; + switch((string) $propertyAttributes) { + case 'string' : + $propertyType = PHPExcel_DocumentProperties::PROPERTY_TYPE_STRING; + $propertyValue = trim($propertyValue); + break; + case 'boolean' : + $propertyType = PHPExcel_DocumentProperties::PROPERTY_TYPE_BOOLEAN; + $propertyValue = (bool) $propertyValue; + break; + case 'integer' : + $propertyType = PHPExcel_DocumentProperties::PROPERTY_TYPE_INTEGER; + $propertyValue = intval($propertyValue); + break; + case 'float' : + $propertyType = PHPExcel_DocumentProperties::PROPERTY_TYPE_FLOAT; + $propertyValue = floatval($propertyValue); + break; + case 'dateTime.tz' : + $propertyType = PHPExcel_DocumentProperties::PROPERTY_TYPE_DATE; + $propertyValue = strtotime(trim($propertyValue)); + break; + } + $docProps->setCustomProperty($propertyName,$propertyValue,$propertyType); + } + } + + foreach($xml->Styles[0] as $style) { + $style_ss = $style->attributes($namespaces['ss']); + $styleID = (string) $style_ss['ID']; +// echo 'Style ID = '.$styleID.'
'; + if ($styleID == 'Default') { + $this->_styles['Default'] = array(); + } else { + $this->_styles[$styleID] = $this->_styles['Default']; + } + foreach ($style as $styleType => $styleData) { + $styleAttributes = $styleData->attributes($namespaces['ss']); +// echo $styleType.'
'; + switch ($styleType) { + case 'Alignment' : + foreach($styleAttributes as $styleAttributeKey => $styleAttributeValue) { +// echo $styleAttributeKey.' = '.$styleAttributeValue.'
'; + $styleAttributeValue = (string) $styleAttributeValue; + switch ($styleAttributeKey) { + case 'Vertical' : + if (self::identifyFixedStyleValue($verticalAlignmentStyles,$styleAttributeValue)) { + $this->_styles[$styleID]['alignment']['vertical'] = $styleAttributeValue; + } + break; + case 'Horizontal' : + if (self::identifyFixedStyleValue($horizontalAlignmentStyles,$styleAttributeValue)) { + $this->_styles[$styleID]['alignment']['horizontal'] = $styleAttributeValue; + } + break; + case 'WrapText' : + $this->_styles[$styleID]['alignment']['wrap'] = true; + break; + } + } + break; + case 'Borders' : + foreach($styleData->Border as $borderStyle) { + $borderAttributes = $borderStyle->attributes($namespaces['ss']); + $thisBorder = array(); + foreach($borderAttributes as $borderStyleKey => $borderStyleValue) { +// echo $borderStyleKey.' = '.$borderStyleValue.'
'; + switch ($borderStyleKey) { + case 'LineStyle' : + $thisBorder['style'] = PHPExcel_Style_Border::BORDER_MEDIUM; +// $thisBorder['style'] = $borderStyleValue; + break; + case 'Weight' : +// $thisBorder['style'] = $borderStyleValue; + break; + case 'Position' : + $borderPosition = strtolower($borderStyleValue); + break; + case 'Color' : + $borderColour = substr($borderStyleValue,1); + $thisBorder['color']['rgb'] = $borderColour; + break; + } + } + if (!empty($thisBorder)) { + if (($borderPosition == 'left') || ($borderPosition == 'right') || ($borderPosition == 'top') || ($borderPosition == 'bottom')) { + $this->_styles[$styleID]['borders'][$borderPosition] = $thisBorder; + } + } + } + break; + case 'Font' : + foreach($styleAttributes as $styleAttributeKey => $styleAttributeValue) { +// echo $styleAttributeKey.' = '.$styleAttributeValue.'
'; + $styleAttributeValue = (string) $styleAttributeValue; + switch ($styleAttributeKey) { + case 'FontName' : + $this->_styles[$styleID]['font']['name'] = $styleAttributeValue; + break; + case 'Size' : + $this->_styles[$styleID]['font']['size'] = $styleAttributeValue; + break; + case 'Color' : + $this->_styles[$styleID]['font']['color']['rgb'] = substr($styleAttributeValue,1); + break; + case 'Bold' : + $this->_styles[$styleID]['font']['bold'] = true; + break; + case 'Italic' : + $this->_styles[$styleID]['font']['italic'] = true; + break; + case 'Underline' : + if (self::identifyFixedStyleValue($underlineStyles,$styleAttributeValue)) { + $this->_styles[$styleID]['font']['underline'] = $styleAttributeValue; + } + break; + } + } + break; + case 'Interior' : + foreach($styleAttributes as $styleAttributeKey => $styleAttributeValue) { +// echo $styleAttributeKey.' = '.$styleAttributeValue.'
'; + switch ($styleAttributeKey) { + case 'Color' : + $this->_styles[$styleID]['fill']['color']['rgb'] = substr($styleAttributeValue,1); + break; + } + } + break; + case 'NumberFormat' : + foreach($styleAttributes as $styleAttributeKey => $styleAttributeValue) { +// echo $styleAttributeKey.' = '.$styleAttributeValue.'
'; + $styleAttributeValue = str_replace($fromFormats,$toFormats,$styleAttributeValue); + switch ($styleAttributeValue) { + case 'Short Date' : + $styleAttributeValue = 'dd/mm/yyyy'; + break; + } + if ($styleAttributeValue > '') { + $this->_styles[$styleID]['numberformat']['code'] = $styleAttributeValue; + } + } + break; + case 'Protection' : + foreach($styleAttributes as $styleAttributeKey => $styleAttributeValue) { +// echo $styleAttributeKey.' = '.$styleAttributeValue.'
'; + } + break; + } + } +// print_r($this->_styles[$styleID]); +// echo '
'; + } +// echo '
'; + + $worksheetID = 0; + $xml_ss = $xml->children($namespaces['ss']); + + foreach($xml_ss->Worksheet as $worksheet) { + $worksheet_ss = $worksheet->attributes($namespaces['ss']); + + if ((isset($this->_loadSheetsOnly)) && (isset($worksheet_ss['Name'])) && + (!in_array($worksheet_ss['Name'], $this->_loadSheetsOnly))) { + continue; + } + +// echo '

Worksheet: ',$worksheet_ss['Name'],'

'; +// + // Create new Worksheet + $objPHPExcel->createSheet(); + $objPHPExcel->setActiveSheetIndex($worksheetID); + if (isset($worksheet_ss['Name'])) { + $worksheetName = self::_convertStringEncoding((string) $worksheet_ss['Name'],$this->_charSet); + // Use false for $updateFormulaCellReferences to prevent adjustment of worksheet references in + // formula cells... during the load, all formulae should be correct, and we're simply bringing + // the worksheet name in line with the formula, not the reverse + $objPHPExcel->getActiveSheet()->setTitle($worksheetName,false); + } + + $columnID = 'A'; + if (isset($worksheet->Table->Column)) { + foreach($worksheet->Table->Column as $columnData) { + $columnData_ss = $columnData->attributes($namespaces['ss']); + if (isset($columnData_ss['Index'])) { + $columnID = PHPExcel_Cell::stringFromColumnIndex($columnData_ss['Index']-1); + } + if (isset($columnData_ss['Width'])) { + $columnWidth = $columnData_ss['Width']; +// echo 'Setting column width for '.$columnID.' to '.$columnWidth.'
'; + $objPHPExcel->getActiveSheet()->getColumnDimension($columnID)->setWidth($columnWidth / 5.4); + } + ++$columnID; + } + } + + $rowID = 1; + if (isset($worksheet->Table->Row)) { + $additionalMergedCells = 0; + foreach($worksheet->Table->Row as $rowData) { + $rowHasData = false; + $row_ss = $rowData->attributes($namespaces['ss']); + if (isset($row_ss['Index'])) { + $rowID = (integer) $row_ss['Index']; + } +// echo 'Row '.$rowID.'
'; + + $columnID = 'A'; + foreach($rowData->Cell as $cell) { + + $cell_ss = $cell->attributes($namespaces['ss']); + if (isset($cell_ss['Index'])) { + $columnID = PHPExcel_Cell::stringFromColumnIndex($cell_ss['Index']-1); + } + $cellRange = $columnID.$rowID; + + if ($this->getReadFilter() !== NULL) { + if (!$this->getReadFilter()->readCell($columnID, $rowID, $worksheetName)) { + continue; + } + } + + if ((isset($cell_ss['MergeAcross'])) || (isset($cell_ss['MergeDown']))) { + $columnTo = $columnID; + if (isset($cell_ss['MergeAcross'])) { + $additionalMergedCells += (int)$cell_ss['MergeAcross']; + $columnTo = PHPExcel_Cell::stringFromColumnIndex(PHPExcel_Cell::columnIndexFromString($columnID) + $cell_ss['MergeAcross'] -1); + } + $rowTo = $rowID; + if (isset($cell_ss['MergeDown'])) { + $rowTo = $rowTo + $cell_ss['MergeDown']; + } + $cellRange .= ':'.$columnTo.$rowTo; + $objPHPExcel->getActiveSheet()->mergeCells($cellRange); + } + + $cellIsSet = $hasCalculatedValue = false; + $cellDataFormula = ''; + if (isset($cell_ss['Formula'])) { + $cellDataFormula = $cell_ss['Formula']; + // added this as a check for array formulas + if (isset($cell_ss['ArrayRange'])) { + $cellDataCSEFormula = $cell_ss['ArrayRange']; +// echo "found an array formula at ".$columnID.$rowID."
"; + } + $hasCalculatedValue = true; + } + if (isset($cell->Data)) { + $cellValue = $cellData = $cell->Data; + $type = PHPExcel_Cell_DataType::TYPE_NULL; + $cellData_ss = $cellData->attributes($namespaces['ss']); + if (isset($cellData_ss['Type'])) { + $cellDataType = $cellData_ss['Type']; + switch ($cellDataType) { + /* + const TYPE_STRING = 's'; + const TYPE_FORMULA = 'f'; + const TYPE_NUMERIC = 'n'; + const TYPE_BOOL = 'b'; + const TYPE_NULL = 'null'; + const TYPE_INLINE = 'inlineStr'; + const TYPE_ERROR = 'e'; + */ + case 'String' : + $cellValue = self::_convertStringEncoding($cellValue,$this->_charSet); + $type = PHPExcel_Cell_DataType::TYPE_STRING; + break; + case 'Number' : + $type = PHPExcel_Cell_DataType::TYPE_NUMERIC; + $cellValue = (float) $cellValue; + if (floor($cellValue) == $cellValue) { + $cellValue = (integer) $cellValue; + } + break; + case 'Boolean' : + $type = PHPExcel_Cell_DataType::TYPE_BOOL; + $cellValue = ($cellValue != 0); + break; + case 'DateTime' : + $type = PHPExcel_Cell_DataType::TYPE_NUMERIC; + $cellValue = PHPExcel_Shared_Date::PHPToExcel(strtotime($cellValue)); + break; + case 'Error' : + $type = PHPExcel_Cell_DataType::TYPE_ERROR; + break; + } + } + + if ($hasCalculatedValue) { +// echo 'FORMULA
'; + $type = PHPExcel_Cell_DataType::TYPE_FORMULA; + $columnNumber = PHPExcel_Cell::columnIndexFromString($columnID); + if (substr($cellDataFormula,0,3) == 'of:') { + $cellDataFormula = substr($cellDataFormula,3); +// echo 'Before: ',$cellDataFormula,'
'; + $temp = explode('"',$cellDataFormula); + $key = false; + foreach($temp as &$value) { + // Only replace in alternate array entries (i.e. non-quoted blocks) + if ($key = !$key) { + $value = str_replace(array('[.','.',']'),'',$value); + } + } + } else { + // Convert R1C1 style references to A1 style references (but only when not quoted) +// echo 'Before: ',$cellDataFormula,'
'; + $temp = explode('"',$cellDataFormula); + $key = false; + foreach($temp as &$value) { + // Only replace in alternate array entries (i.e. non-quoted blocks) + if ($key = !$key) { + preg_match_all('/(R(\[?-?\d*\]?))(C(\[?-?\d*\]?))/',$value, $cellReferences,PREG_SET_ORDER+PREG_OFFSET_CAPTURE); + // Reverse the matches array, otherwise all our offsets will become incorrect if we modify our way + // through the formula from left to right. Reversing means that we work right to left.through + // the formula + $cellReferences = array_reverse($cellReferences); + // Loop through each R1C1 style reference in turn, converting it to its A1 style equivalent, + // then modify the formula to use that new reference + foreach($cellReferences as $cellReference) { + $rowReference = $cellReference[2][0]; + // Empty R reference is the current row + if ($rowReference == '') $rowReference = $rowID; + // Bracketed R references are relative to the current row + if ($rowReference{0} == '[') $rowReference = $rowID + trim($rowReference,'[]'); + $columnReference = $cellReference[4][0]; + // Empty C reference is the current column + if ($columnReference == '') $columnReference = $columnNumber; + // Bracketed C references are relative to the current column + if ($columnReference{0} == '[') $columnReference = $columnNumber + trim($columnReference,'[]'); + $A1CellReference = PHPExcel_Cell::stringFromColumnIndex($columnReference-1).$rowReference; + $value = substr_replace($value,$A1CellReference,$cellReference[0][1],strlen($cellReference[0][0])); + } + } + } + } + unset($value); + // Then rebuild the formula string + $cellDataFormula = implode('"',$temp); +// echo 'After: ',$cellDataFormula,'
'; + } + +// echo 'Cell '.$columnID.$rowID.' is a '.$type.' with a value of '.(($hasCalculatedValue) ? $cellDataFormula : $cellValue).'
'; +// + $objPHPExcel->getActiveSheet()->getCell($columnID.$rowID)->setValueExplicit((($hasCalculatedValue) ? $cellDataFormula : $cellValue),$type); + if ($hasCalculatedValue) { +// echo 'Formula result is '.$cellValue.'
'; + $objPHPExcel->getActiveSheet()->getCell($columnID.$rowID)->setCalculatedValue($cellValue); + } + $cellIsSet = $rowHasData = true; + } + + if (isset($cell->Comment)) { +// echo 'comment found
'; + $commentAttributes = $cell->Comment->attributes($namespaces['ss']); + $author = 'unknown'; + if (isset($commentAttributes->Author)) { + $author = (string)$commentAttributes->Author; +// echo 'Author: ',$author,'
'; + } + $node = $cell->Comment->Data->asXML(); +// $annotation = str_replace('html:','',substr($node,49,-10)); +// echo $annotation,'
'; + $annotation = strip_tags($node); +// echo 'Annotation: ',$annotation,'
'; + $objPHPExcel->getActiveSheet()->getComment( $columnID.$rowID ) + ->setAuthor(self::_convertStringEncoding($author ,$this->_charSet)) + ->setText($this->_parseRichText($annotation) ); + } + + if (($cellIsSet) && (isset($cell_ss['StyleID']))) { + $style = (string) $cell_ss['StyleID']; +// echo 'Cell style for '.$columnID.$rowID.' is '.$style.'
'; + if ((isset($this->_styles[$style])) && (!empty($this->_styles[$style]))) { +// echo 'Cell '.$columnID.$rowID.'
'; +// print_r($this->_styles[$style]); +// echo '
'; + if (!$objPHPExcel->getActiveSheet()->cellExists($columnID.$rowID)) { + $objPHPExcel->getActiveSheet()->getCell($columnID.$rowID)->setValue(NULL); + } + $objPHPExcel->getActiveSheet()->getStyle($cellRange)->applyFromArray($this->_styles[$style]); + } + } + ++$columnID; + while ($additionalMergedCells > 0) { + ++$columnID; + $additionalMergedCells--; + } + } + + if ($rowHasData) { + if (isset($row_ss['StyleID'])) { + $rowStyle = $row_ss['StyleID']; + } + if (isset($row_ss['Height'])) { + $rowHeight = $row_ss['Height']; +// echo 'Setting row height to '.$rowHeight.'
'; + $objPHPExcel->getActiveSheet()->getRowDimension($rowID)->setRowHeight($rowHeight); + } + } + + ++$rowID; + } + } + ++$worksheetID; + } + + // Return + return $objPHPExcel; + } + + + protected static function _convertStringEncoding($string,$charset) { + if ($charset != 'UTF-8') { + return PHPExcel_Shared_String::ConvertEncoding($string,'UTF-8',$charset); + } + return $string; + } + + + protected function _parseRichText($is = '') { + $value = new PHPExcel_RichText(); + + $value->createText(self::_convertStringEncoding($is,$this->_charSet)); + + return $value; + } + +} diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Reader/Excel2007.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Reader/Excel2007.php new file mode 100644 index 00000000..e41596af --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Reader/Excel2007.php @@ -0,0 +1,2083 @@ +_readFilter = new PHPExcel_Reader_DefaultReadFilter(); + $this->_referenceHelper = PHPExcel_ReferenceHelper::getInstance(); + } + + + /** + * Can the current PHPExcel_Reader_IReader read the file? + * + * @param string $pFilename + * @return boolean + * @throws PHPExcel_Reader_Exception + */ + public function canRead($pFilename) + { + // Check if file exists + if (!file_exists($pFilename)) { + throw new PHPExcel_Reader_Exception("Could not open " . $pFilename . " for reading! File does not exist."); + } + + $zipClass = PHPExcel_Settings::getZipClass(); + + // Check if zip class exists +// if (!class_exists($zipClass, FALSE)) { +// throw new PHPExcel_Reader_Exception($zipClass . " library is not enabled"); +// } + + $xl = false; + // Load file + $zip = new $zipClass; + if ($zip->open($pFilename) === true) { + // check if it is an OOXML archive + $rels = simplexml_load_string($this->securityScan($this->_getFromZipArchive($zip, "_rels/.rels")), 'SimpleXMLElement', PHPExcel_Settings::getLibXmlLoaderOptions()); + if ($rels !== false) { + foreach ($rels->Relationship as $rel) { + switch ($rel["Type"]) { + case "http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument": + if (basename($rel["Target"]) == 'workbook.xml') { + $xl = true; + } + break; + + } + } + } + $zip->close(); + } + + return $xl; + } + + + /** + * Reads names of the worksheets from a file, without parsing the whole file to a PHPExcel object + * + * @param string $pFilename + * @throws PHPExcel_Reader_Exception + */ + public function listWorksheetNames($pFilename) + { + // Check if file exists + if (!file_exists($pFilename)) { + throw new PHPExcel_Reader_Exception("Could not open " . $pFilename . " for reading! File does not exist."); + } + + $worksheetNames = array(); + + $zipClass = PHPExcel_Settings::getZipClass(); + + $zip = new $zipClass; + $zip->open($pFilename); + + // The files we're looking at here are small enough that simpleXML is more efficient than XMLReader + $rels = simplexml_load_string( + $this->securityScan($this->_getFromZipArchive($zip, "_rels/.rels"), 'SimpleXMLElement', PHPExcel_Settings::getLibXmlLoaderOptions()) + ); //~ http://schemas.openxmlformats.org/package/2006/relationships"); + foreach ($rels->Relationship as $rel) { + switch ($rel["Type"]) { + case "http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument": + $xmlWorkbook = simplexml_load_string( + $this->securityScan($this->_getFromZipArchive($zip, "{$rel['Target']}"), 'SimpleXMLElement', PHPExcel_Settings::getLibXmlLoaderOptions()) + ); //~ http://schemas.openxmlformats.org/spreadsheetml/2006/main"); + + if ($xmlWorkbook->sheets) { + foreach ($xmlWorkbook->sheets->sheet as $eleSheet) { + // Check if sheet should be skipped + $worksheetNames[] = (string) $eleSheet["name"]; + } + } + } + } + + $zip->close(); + + return $worksheetNames; + } + + + /** + * Return worksheet info (Name, Last Column Letter, Last Column Index, Total Rows, Total Columns) + * + * @param string $pFilename + * @throws PHPExcel_Reader_Exception + */ + public function listWorksheetInfo($pFilename) + { + // Check if file exists + if (!file_exists($pFilename)) { + throw new PHPExcel_Reader_Exception("Could not open " . $pFilename . " for reading! File does not exist."); + } + + $worksheetInfo = array(); + + $zipClass = PHPExcel_Settings::getZipClass(); + + $zip = new $zipClass; + $zip->open($pFilename); + + $rels = simplexml_load_string($this->securityScan($this->_getFromZipArchive($zip, "_rels/.rels")), 'SimpleXMLElement', PHPExcel_Settings::getLibXmlLoaderOptions()); //~ http://schemas.openxmlformats.org/package/2006/relationships"); + foreach ($rels->Relationship as $rel) { + if ($rel["Type"] == "http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument") { + $dir = dirname($rel["Target"]); + $relsWorkbook = simplexml_load_string($this->securityScan($this->_getFromZipArchive($zip, "$dir/_rels/" . basename($rel["Target"]) . ".rels")), 'SimpleXMLElement', PHPExcel_Settings::getLibXmlLoaderOptions()); //~ http://schemas.openxmlformats.org/package/2006/relationships"); + $relsWorkbook->registerXPathNamespace("rel", "http://schemas.openxmlformats.org/package/2006/relationships"); + + $worksheets = array(); + foreach ($relsWorkbook->Relationship as $ele) { + if ($ele["Type"] == "http://schemas.openxmlformats.org/officeDocument/2006/relationships/worksheet") { + $worksheets[(string) $ele["Id"]] = $ele["Target"]; + } + } + + $xmlWorkbook = simplexml_load_string($this->securityScan($this->_getFromZipArchive($zip, "{$rel['Target']}")), 'SimpleXMLElement', PHPExcel_Settings::getLibXmlLoaderOptions()); //~ http://schemas.openxmlformats.org/spreadsheetml/2006/main"); + if ($xmlWorkbook->sheets) { + $dir = dirname($rel["Target"]); + foreach ($xmlWorkbook->sheets->sheet as $eleSheet) { + $tmpInfo = array( + 'worksheetName' => (string) $eleSheet["name"], + 'lastColumnLetter' => 'A', + 'lastColumnIndex' => 0, + 'totalRows' => 0, + 'totalColumns' => 0, + ); + + $fileWorksheet = $worksheets[(string) self::array_item($eleSheet->attributes("http://schemas.openxmlformats.org/officeDocument/2006/relationships"), "id")]; + + $xml = new XMLReader(); + $res = $xml->xml($this->securityScanFile('zip://'.PHPExcel_Shared_File::realpath($pFilename).'#'."$dir/$fileWorksheet"), null, PHPExcel_Settings::getLibXmlLoaderOptions()); + $xml->setParserProperty(2,true); + + $currCells = 0; + while ($xml->read()) { + if ($xml->name == 'row' && $xml->nodeType == XMLReader::ELEMENT) { + $row = $xml->getAttribute('r'); + $tmpInfo['totalRows'] = $row; + $tmpInfo['totalColumns'] = max($tmpInfo['totalColumns'],$currCells); + $currCells = 0; + } elseif ($xml->name == 'c' && $xml->nodeType == XMLReader::ELEMENT) { + $currCells++; + } + } + $tmpInfo['totalColumns'] = max($tmpInfo['totalColumns'],$currCells); + $xml->close(); + + $tmpInfo['lastColumnIndex'] = $tmpInfo['totalColumns'] - 1; + $tmpInfo['lastColumnLetter'] = PHPExcel_Cell::stringFromColumnIndex($tmpInfo['lastColumnIndex']); + + $worksheetInfo[] = $tmpInfo; + } + } + } + } + + $zip->close(); + + return $worksheetInfo; + } + + + private static function _castToBool($c) { +// echo 'Initial Cast to Boolean', PHP_EOL; + $value = isset($c->v) ? (string) $c->v : NULL; + if ($value == '0') { + return FALSE; + } elseif ($value == '1') { + return TRUE; + } else { + return (bool)$c->v; + } + return $value; + } // function _castToBool() + + + private static function _castToError($c) { +// echo 'Initial Cast to Error', PHP_EOL; + return isset($c->v) ? (string) $c->v : NULL; + } // function _castToError() + + + private static function _castToString($c) { +// echo 'Initial Cast to String, PHP_EOL; + return isset($c->v) ? (string) $c->v : NULL; + } // function _castToString() + + + private function _castToFormula($c,$r,&$cellDataType,&$value,&$calculatedValue,&$sharedFormulas,$castBaseType) { +// echo 'Formula', PHP_EOL; +// echo '$c->f is ', $c->f, PHP_EOL; + $cellDataType = 'f'; + $value = "={$c->f}"; + $calculatedValue = self::$castBaseType($c); + + // Shared formula? + if (isset($c->f['t']) && strtolower((string)$c->f['t']) == 'shared') { +// echo 'SHARED FORMULA', PHP_EOL; + $instance = (string)$c->f['si']; + +// echo 'Instance ID = ', $instance, PHP_EOL; +// +// echo 'Shared Formula Array:', PHP_EOL; +// print_r($sharedFormulas); + if (!isset($sharedFormulas[(string)$c->f['si']])) { +// echo 'SETTING NEW SHARED FORMULA', PHP_EOL; +// echo 'Master is ', $r, PHP_EOL; +// echo 'Formula is ', $value, PHP_EOL; + $sharedFormulas[$instance] = array( 'master' => $r, + 'formula' => $value + ); +// echo 'New Shared Formula Array:', PHP_EOL; +// print_r($sharedFormulas); + } else { +// echo 'GETTING SHARED FORMULA', PHP_EOL; +// echo 'Master is ', $sharedFormulas[$instance]['master'], PHP_EOL; +// echo 'Formula is ', $sharedFormulas[$instance]['formula'], PHP_EOL; + $master = PHPExcel_Cell::coordinateFromString($sharedFormulas[$instance]['master']); + $current = PHPExcel_Cell::coordinateFromString($r); + + $difference = array(0, 0); + $difference[0] = PHPExcel_Cell::columnIndexFromString($current[0]) - PHPExcel_Cell::columnIndexFromString($master[0]); + $difference[1] = $current[1] - $master[1]; + + $value = $this->_referenceHelper->updateFormulaReferences( $sharedFormulas[$instance]['formula'], + 'A1', + $difference[0], + $difference[1] + ); +// echo 'Adjusted Formula is ', $value, PHP_EOL; + } + } + } + + + public function _getFromZipArchive($archive, $fileName = '') + { + // Root-relative paths + if (strpos($fileName, '//') !== false) + { + $fileName = substr($fileName, strpos($fileName, '//') + 1); + } + $fileName = PHPExcel_Shared_File::realpath($fileName); + + // Apache POI fixes + $contents = $archive->getFromName($fileName); + if ($contents === false) + { + $contents = $archive->getFromName(substr($fileName, 1)); + } + + return $contents; + } + + + /** + * Loads PHPExcel from file + * + * @param string $pFilename + * @return PHPExcel + * @throws PHPExcel_Reader_Exception + */ + public function load($pFilename) + { + // Check if file exists + if (!file_exists($pFilename)) { + throw new PHPExcel_Reader_Exception("Could not open " . $pFilename . " for reading! File does not exist."); + } + + // Initialisations + $excel = new PHPExcel; + $excel->removeSheetByIndex(0); + if (!$this->_readDataOnly) { + $excel->removeCellStyleXfByIndex(0); // remove the default style + $excel->removeCellXfByIndex(0); // remove the default style + } + + $zipClass = PHPExcel_Settings::getZipClass(); + + $zip = new $zipClass; + $zip->open($pFilename); + + // Read the theme first, because we need the colour scheme when reading the styles + $wbRels = simplexml_load_string($this->securityScan($this->_getFromZipArchive($zip, "xl/_rels/workbook.xml.rels")), 'SimpleXMLElement', PHPExcel_Settings::getLibXmlLoaderOptions()); //~ http://schemas.openxmlformats.org/package/2006/relationships"); + foreach ($wbRels->Relationship as $rel) { + switch ($rel["Type"]) { + case "http://schemas.openxmlformats.org/officeDocument/2006/relationships/theme": + $themeOrderArray = array('lt1','dk1','lt2','dk2'); + $themeOrderAdditional = count($themeOrderArray); + + $xmlTheme = simplexml_load_string($this->securityScan($this->_getFromZipArchive($zip, "xl/{$rel['Target']}")), 'SimpleXMLElement', PHPExcel_Settings::getLibXmlLoaderOptions()); + if (is_object($xmlTheme)) { + $xmlThemeName = $xmlTheme->attributes(); + $xmlTheme = $xmlTheme->children("http://schemas.openxmlformats.org/drawingml/2006/main"); + $themeName = (string)$xmlThemeName['name']; + + $colourScheme = $xmlTheme->themeElements->clrScheme->attributes(); + $colourSchemeName = (string)$colourScheme['name']; + $colourScheme = $xmlTheme->themeElements->clrScheme->children("http://schemas.openxmlformats.org/drawingml/2006/main"); + + $themeColours = array(); + foreach ($colourScheme as $k => $xmlColour) { + $themePos = array_search($k,$themeOrderArray); + if ($themePos === false) { + $themePos = $themeOrderAdditional++; + } + if (isset($xmlColour->sysClr)) { + $xmlColourData = $xmlColour->sysClr->attributes(); + $themeColours[$themePos] = $xmlColourData['lastClr']; + } elseif (isset($xmlColour->srgbClr)) { + $xmlColourData = $xmlColour->srgbClr->attributes(); + $themeColours[$themePos] = $xmlColourData['val']; + } + } + self::$_theme = new PHPExcel_Reader_Excel2007_Theme($themeName,$colourSchemeName,$themeColours); + } + break; + } + } + + $rels = simplexml_load_string($this->securityScan($this->_getFromZipArchive($zip, "_rels/.rels")), 'SimpleXMLElement', PHPExcel_Settings::getLibXmlLoaderOptions()); //~ http://schemas.openxmlformats.org/package/2006/relationships"); + foreach ($rels->Relationship as $rel) { + switch ($rel["Type"]) { + case "http://schemas.openxmlformats.org/package/2006/relationships/metadata/core-properties": + $xmlCore = simplexml_load_string($this->securityScan($this->_getFromZipArchive($zip, "{$rel['Target']}")), 'SimpleXMLElement', PHPExcel_Settings::getLibXmlLoaderOptions()); + if (is_object($xmlCore)) { + $xmlCore->registerXPathNamespace("dc", "http://purl.org/dc/elements/1.1/"); + $xmlCore->registerXPathNamespace("dcterms", "http://purl.org/dc/terms/"); + $xmlCore->registerXPathNamespace("cp", "http://schemas.openxmlformats.org/package/2006/metadata/core-properties"); + $docProps = $excel->getProperties(); + $docProps->setCreator((string) self::array_item($xmlCore->xpath("dc:creator"))); + $docProps->setLastModifiedBy((string) self::array_item($xmlCore->xpath("cp:lastModifiedBy"))); + $docProps->setCreated(strtotime(self::array_item($xmlCore->xpath("dcterms:created")))); //! respect xsi:type + $docProps->setModified(strtotime(self::array_item($xmlCore->xpath("dcterms:modified")))); //! respect xsi:type + $docProps->setTitle((string) self::array_item($xmlCore->xpath("dc:title"))); + $docProps->setDescription((string) self::array_item($xmlCore->xpath("dc:description"))); + $docProps->setSubject((string) self::array_item($xmlCore->xpath("dc:subject"))); + $docProps->setKeywords((string) self::array_item($xmlCore->xpath("cp:keywords"))); + $docProps->setCategory((string) self::array_item($xmlCore->xpath("cp:category"))); + } + break; + + case "http://schemas.openxmlformats.org/officeDocument/2006/relationships/extended-properties": + $xmlCore = simplexml_load_string($this->securityScan($this->_getFromZipArchive($zip, "{$rel['Target']}")), 'SimpleXMLElement', PHPExcel_Settings::getLibXmlLoaderOptions()); + if (is_object($xmlCore)) { + $docProps = $excel->getProperties(); + if (isset($xmlCore->Company)) + $docProps->setCompany((string) $xmlCore->Company); + if (isset($xmlCore->Manager)) + $docProps->setManager((string) $xmlCore->Manager); + } + break; + + case "http://schemas.openxmlformats.org/officeDocument/2006/relationships/custom-properties": + $xmlCore = simplexml_load_string($this->securityScan($this->_getFromZipArchive($zip, "{$rel['Target']}")), 'SimpleXMLElement', PHPExcel_Settings::getLibXmlLoaderOptions()); + if (is_object($xmlCore)) { + $docProps = $excel->getProperties(); + foreach ($xmlCore as $xmlProperty) { + $cellDataOfficeAttributes = $xmlProperty->attributes(); + if (isset($cellDataOfficeAttributes['name'])) { + $propertyName = (string) $cellDataOfficeAttributes['name']; + $cellDataOfficeChildren = $xmlProperty->children('http://schemas.openxmlformats.org/officeDocument/2006/docPropsVTypes'); + $attributeType = $cellDataOfficeChildren->getName(); + $attributeValue = (string) $cellDataOfficeChildren->{$attributeType}; + $attributeValue = PHPExcel_DocumentProperties::convertProperty($attributeValue,$attributeType); + $attributeType = PHPExcel_DocumentProperties::convertPropertyType($attributeType); + $docProps->setCustomProperty($propertyName,$attributeValue,$attributeType); + } + } + } + break; + //Ribbon + case "http://schemas.microsoft.com/office/2006/relationships/ui/extensibility": + $customUI = $rel['Target']; + if(!is_null($customUI)){ + $this->_readRibbon($excel, $customUI, $zip); + } + break; + case "http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument": + $dir = dirname($rel["Target"]); + $relsWorkbook = simplexml_load_string($this->securityScan($this->_getFromZipArchive($zip, "$dir/_rels/" . basename($rel["Target"]) . ".rels")), 'SimpleXMLElement', PHPExcel_Settings::getLibXmlLoaderOptions()); //~ http://schemas.openxmlformats.org/package/2006/relationships"); + $relsWorkbook->registerXPathNamespace("rel", "http://schemas.openxmlformats.org/package/2006/relationships"); + + $sharedStrings = array(); + $xpath = self::array_item($relsWorkbook->xpath("rel:Relationship[@Type='http://schemas.openxmlformats.org/officeDocument/2006/relationships/sharedStrings']")); + $xmlStrings = simplexml_load_string($this->securityScan($this->_getFromZipArchive($zip, "$dir/$xpath[Target]")), 'SimpleXMLElement', PHPExcel_Settings::getLibXmlLoaderOptions()); //~ http://schemas.openxmlformats.org/spreadsheetml/2006/main"); + if (isset($xmlStrings) && isset($xmlStrings->si)) { + foreach ($xmlStrings->si as $val) { + if (isset($val->t)) { + $sharedStrings[] = PHPExcel_Shared_String::ControlCharacterOOXML2PHP( (string) $val->t ); + } elseif (isset($val->r)) { + $sharedStrings[] = $this->_parseRichText($val); + } + } + } + + $worksheets = array(); + $macros = $customUI = NULL; + foreach ($relsWorkbook->Relationship as $ele) { + switch($ele['Type']){ + case "http://schemas.openxmlformats.org/officeDocument/2006/relationships/worksheet": + $worksheets[(string) $ele["Id"]] = $ele["Target"]; + break; + // a vbaProject ? (: some macros) + case "http://schemas.microsoft.com/office/2006/relationships/vbaProject": + $macros = $ele["Target"]; + break; + } + } + + if(!is_null($macros)){ + $macrosCode = $this->_getFromZipArchive($zip, 'xl/vbaProject.bin');//vbaProject.bin always in 'xl' dir and always named vbaProject.bin + if($macrosCode !== false){ + $excel->setMacrosCode($macrosCode); + $excel->setHasMacros(true); + //short-circuit : not reading vbaProject.bin.rel to get Signature =>allways vbaProjectSignature.bin in 'xl' dir + $Certificate = $this->_getFromZipArchive($zip, 'xl/vbaProjectSignature.bin'); + if($Certificate !== false) + $excel->setMacrosCertificate($Certificate); + } + } + $styles = array(); + $cellStyles = array(); + $xpath = self::array_item($relsWorkbook->xpath("rel:Relationship[@Type='http://schemas.openxmlformats.org/officeDocument/2006/relationships/styles']")); + $xmlStyles = simplexml_load_string($this->securityScan($this->_getFromZipArchive($zip, "$dir/$xpath[Target]")), 'SimpleXMLElement', PHPExcel_Settings::getLibXmlLoaderOptions()); //~ http://schemas.openxmlformats.org/spreadsheetml/2006/main"); + $numFmts = null; + if ($xmlStyles && $xmlStyles->numFmts[0]) { + $numFmts = $xmlStyles->numFmts[0]; + } + if (isset($numFmts) && ($numFmts !== NULL)) { + $numFmts->registerXPathNamespace("sml", "http://schemas.openxmlformats.org/spreadsheetml/2006/main"); + } + if (!$this->_readDataOnly && $xmlStyles) { + foreach ($xmlStyles->cellXfs->xf as $xf) { + $numFmt = PHPExcel_Style_NumberFormat::FORMAT_GENERAL; + + if ($xf["numFmtId"]) { + if (isset($numFmts)) { + $tmpNumFmt = self::array_item($numFmts->xpath("sml:numFmt[@numFmtId=$xf[numFmtId]]")); + + if (isset($tmpNumFmt["formatCode"])) { + $numFmt = (string) $tmpNumFmt["formatCode"]; + } + } + + if ((int)$xf["numFmtId"] < 164) { + $numFmt = PHPExcel_Style_NumberFormat::builtInFormatCode((int)$xf["numFmtId"]); + } + } + $quotePrefix = false; + if (isset($xf["quotePrefix"])) { + $quotePrefix = (boolean) $xf["quotePrefix"]; + } + //$numFmt = str_replace('mm', 'i', $numFmt); + //$numFmt = str_replace('h', 'H', $numFmt); + + $style = (object) array( + "numFmt" => $numFmt, + "font" => $xmlStyles->fonts->font[intval($xf["fontId"])], + "fill" => $xmlStyles->fills->fill[intval($xf["fillId"])], + "border" => $xmlStyles->borders->border[intval($xf["borderId"])], + "alignment" => $xf->alignment, + "protection" => $xf->protection, + "quotePrefix" => $quotePrefix, + ); + $styles[] = $style; + + // add style to cellXf collection + $objStyle = new PHPExcel_Style; + self::_readStyle($objStyle, $style); + $excel->addCellXf($objStyle); + } + + foreach ($xmlStyles->cellStyleXfs->xf as $xf) { + $numFmt = PHPExcel_Style_NumberFormat::FORMAT_GENERAL; + if ($numFmts && $xf["numFmtId"]) { + $tmpNumFmt = self::array_item($numFmts->xpath("sml:numFmt[@numFmtId=$xf[numFmtId]]")); + if (isset($tmpNumFmt["formatCode"])) { + $numFmt = (string) $tmpNumFmt["formatCode"]; + } else if ((int)$xf["numFmtId"] < 165) { + $numFmt = PHPExcel_Style_NumberFormat::builtInFormatCode((int)$xf["numFmtId"]); + } + } + + $cellStyle = (object) array( + "numFmt" => $numFmt, + "font" => $xmlStyles->fonts->font[intval($xf["fontId"])], + "fill" => $xmlStyles->fills->fill[intval($xf["fillId"])], + "border" => $xmlStyles->borders->border[intval($xf["borderId"])], + "alignment" => $xf->alignment, + "protection" => $xf->protection, + "quotePrefix" => $quotePrefix, + ); + $cellStyles[] = $cellStyle; + + // add style to cellStyleXf collection + $objStyle = new PHPExcel_Style; + self::_readStyle($objStyle, $cellStyle); + $excel->addCellStyleXf($objStyle); + } + } + + $dxfs = array(); + if (!$this->_readDataOnly && $xmlStyles) { + // Conditional Styles + if ($xmlStyles->dxfs) { + foreach ($xmlStyles->dxfs->dxf as $dxf) { + $style = new PHPExcel_Style(FALSE, TRUE); + self::_readStyle($style, $dxf); + $dxfs[] = $style; + } + } + // Cell Styles + if ($xmlStyles->cellStyles) { + foreach ($xmlStyles->cellStyles->cellStyle as $cellStyle) { + if (intval($cellStyle['builtinId']) == 0) { + if (isset($cellStyles[intval($cellStyle['xfId'])])) { + // Set default style + $style = new PHPExcel_Style; + self::_readStyle($style, $cellStyles[intval($cellStyle['xfId'])]); + + // normal style, currently not using it for anything + } + } + } + } + } + + $xmlWorkbook = simplexml_load_string($this->securityScan($this->_getFromZipArchive($zip, "{$rel['Target']}")), 'SimpleXMLElement', PHPExcel_Settings::getLibXmlLoaderOptions()); //~ http://schemas.openxmlformats.org/spreadsheetml/2006/main"); + + // Set base date + if ($xmlWorkbook->workbookPr) { + PHPExcel_Shared_Date::setExcelCalendar(PHPExcel_Shared_Date::CALENDAR_WINDOWS_1900); + if (isset($xmlWorkbook->workbookPr['date1904'])) { + if (self::boolean((string) $xmlWorkbook->workbookPr['date1904'])) { + PHPExcel_Shared_Date::setExcelCalendar(PHPExcel_Shared_Date::CALENDAR_MAC_1904); + } + } + } + + $sheetId = 0; // keep track of new sheet id in final workbook + $oldSheetId = -1; // keep track of old sheet id in final workbook + $countSkippedSheets = 0; // keep track of number of skipped sheets + $mapSheetId = array(); // mapping of sheet ids from old to new + + + $charts = $chartDetails = array(); + + if ($xmlWorkbook->sheets) { + foreach ($xmlWorkbook->sheets->sheet as $eleSheet) { + ++$oldSheetId; + + // Check if sheet should be skipped + if (isset($this->_loadSheetsOnly) && !in_array((string) $eleSheet["name"], $this->_loadSheetsOnly)) { + ++$countSkippedSheets; + $mapSheetId[$oldSheetId] = null; + continue; + } + + // Map old sheet id in original workbook to new sheet id. + // They will differ if loadSheetsOnly() is being used + $mapSheetId[$oldSheetId] = $oldSheetId - $countSkippedSheets; + + // Load sheet + $docSheet = $excel->createSheet(); + // Use false for $updateFormulaCellReferences to prevent adjustment of worksheet + // references in formula cells... during the load, all formulae should be correct, + // and we're simply bringing the worksheet name in line with the formula, not the + // reverse + $docSheet->setTitle((string) $eleSheet["name"],false); + $fileWorksheet = $worksheets[(string) self::array_item($eleSheet->attributes("http://schemas.openxmlformats.org/officeDocument/2006/relationships"), "id")]; + $xmlSheet = simplexml_load_string($this->securityScan($this->_getFromZipArchive($zip, "$dir/$fileWorksheet")), 'SimpleXMLElement', PHPExcel_Settings::getLibXmlLoaderOptions()); //~ http://schemas.openxmlformats.org/spreadsheetml/2006/main"); + + $sharedFormulas = array(); + + if (isset($eleSheet["state"]) && (string) $eleSheet["state"] != '') { + $docSheet->setSheetState( (string) $eleSheet["state"] ); + } + + if (isset($xmlSheet->sheetViews) && isset($xmlSheet->sheetViews->sheetView)) { + if (isset($xmlSheet->sheetViews->sheetView['zoomScale'])) { + $docSheet->getSheetView()->setZoomScale( intval($xmlSheet->sheetViews->sheetView['zoomScale']) ); + } + + if (isset($xmlSheet->sheetViews->sheetView['zoomScaleNormal'])) { + $docSheet->getSheetView()->setZoomScaleNormal( intval($xmlSheet->sheetViews->sheetView['zoomScaleNormal']) ); + } + + if (isset($xmlSheet->sheetViews->sheetView['view'])) { + $docSheet->getSheetView()->setView((string) $xmlSheet->sheetViews->sheetView['view']); + } + + if (isset($xmlSheet->sheetViews->sheetView['showGridLines'])) { + $docSheet->setShowGridLines(self::boolean((string)$xmlSheet->sheetViews->sheetView['showGridLines'])); + } + + if (isset($xmlSheet->sheetViews->sheetView['showRowColHeaders'])) { + $docSheet->setShowRowColHeaders(self::boolean((string)$xmlSheet->sheetViews->sheetView['showRowColHeaders'])); + } + + if (isset($xmlSheet->sheetViews->sheetView['rightToLeft'])) { + $docSheet->setRightToLeft(self::boolean((string)$xmlSheet->sheetViews->sheetView['rightToLeft'])); + } + + if (isset($xmlSheet->sheetViews->sheetView->pane)) { + if (isset($xmlSheet->sheetViews->sheetView->pane['topLeftCell'])) { + $docSheet->freezePane( (string)$xmlSheet->sheetViews->sheetView->pane['topLeftCell'] ); + } else { + $xSplit = 0; + $ySplit = 0; + + if (isset($xmlSheet->sheetViews->sheetView->pane['xSplit'])) { + $xSplit = 1 + intval($xmlSheet->sheetViews->sheetView->pane['xSplit']); + } + + if (isset($xmlSheet->sheetViews->sheetView->pane['ySplit'])) { + $ySplit = 1 + intval($xmlSheet->sheetViews->sheetView->pane['ySplit']); + } + + $docSheet->freezePaneByColumnAndRow($xSplit, $ySplit); + } + } + + if (isset($xmlSheet->sheetViews->sheetView->selection)) { + if (isset($xmlSheet->sheetViews->sheetView->selection['sqref'])) { + $sqref = (string)$xmlSheet->sheetViews->sheetView->selection['sqref']; + $sqref = explode(' ', $sqref); + $sqref = $sqref[0]; + $docSheet->setSelectedCells($sqref); + } + } + + } + + if (isset($xmlSheet->sheetPr) && isset($xmlSheet->sheetPr->tabColor)) { + if (isset($xmlSheet->sheetPr->tabColor['rgb'])) { + $docSheet->getTabColor()->setARGB( (string)$xmlSheet->sheetPr->tabColor['rgb'] ); + } + } + if (isset($xmlSheet->sheetPr) && isset($xmlSheet->sheetPr['codeName'])) { + $docSheet->setCodeName((string) $xmlSheet->sheetPr['codeName']); + } + if (isset($xmlSheet->sheetPr) && isset($xmlSheet->sheetPr->outlinePr)) { + if (isset($xmlSheet->sheetPr->outlinePr['summaryRight']) && + !self::boolean((string) $xmlSheet->sheetPr->outlinePr['summaryRight'])) { + $docSheet->setShowSummaryRight(FALSE); + } else { + $docSheet->setShowSummaryRight(TRUE); + } + + if (isset($xmlSheet->sheetPr->outlinePr['summaryBelow']) && + !self::boolean((string) $xmlSheet->sheetPr->outlinePr['summaryBelow'])) { + $docSheet->setShowSummaryBelow(FALSE); + } else { + $docSheet->setShowSummaryBelow(TRUE); + } + } + + if (isset($xmlSheet->sheetPr) && isset($xmlSheet->sheetPr->pageSetUpPr)) { + if (isset($xmlSheet->sheetPr->pageSetUpPr['fitToPage']) && + !self::boolean((string) $xmlSheet->sheetPr->pageSetUpPr['fitToPage'])) { + $docSheet->getPageSetup()->setFitToPage(FALSE); + } else { + $docSheet->getPageSetup()->setFitToPage(TRUE); + } + } + + if (isset($xmlSheet->sheetFormatPr)) { + if (isset($xmlSheet->sheetFormatPr['customHeight']) && + self::boolean((string) $xmlSheet->sheetFormatPr['customHeight']) && + isset($xmlSheet->sheetFormatPr['defaultRowHeight'])) { + $docSheet->getDefaultRowDimension()->setRowHeight( (float)$xmlSheet->sheetFormatPr['defaultRowHeight'] ); + } + if (isset($xmlSheet->sheetFormatPr['defaultColWidth'])) { + $docSheet->getDefaultColumnDimension()->setWidth( (float)$xmlSheet->sheetFormatPr['defaultColWidth'] ); + } + if (isset($xmlSheet->sheetFormatPr['zeroHeight']) && + ((string)$xmlSheet->sheetFormatPr['zeroHeight'] == '1')) { + $docSheet->getDefaultRowDimension()->setZeroHeight(true); + } + } + + if (isset($xmlSheet->cols) && !$this->_readDataOnly) { + foreach ($xmlSheet->cols->col as $col) { + for ($i = intval($col["min"]) - 1; $i < intval($col["max"]); ++$i) { + if ($col["style"] && !$this->_readDataOnly) { + $docSheet->getColumnDimension(PHPExcel_Cell::stringFromColumnIndex($i))->setXfIndex(intval($col["style"])); + } + if (self::boolean($col["bestFit"])) { + //$docSheet->getColumnDimension(PHPExcel_Cell::stringFromColumnIndex($i))->setAutoSize(TRUE); + } + if (self::boolean($col["hidden"])) { + // echo PHPExcel_Cell::stringFromColumnIndex($i),': HIDDEN COLUMN',PHP_EOL; + $docSheet->getColumnDimension(PHPExcel_Cell::stringFromColumnIndex($i))->setVisible(FALSE); + } + if (self::boolean($col["collapsed"])) { + $docSheet->getColumnDimension(PHPExcel_Cell::stringFromColumnIndex($i))->setCollapsed(TRUE); + } + if ($col["outlineLevel"] > 0) { + $docSheet->getColumnDimension(PHPExcel_Cell::stringFromColumnIndex($i))->setOutlineLevel(intval($col["outlineLevel"])); + } + $docSheet->getColumnDimension(PHPExcel_Cell::stringFromColumnIndex($i))->setWidth(floatval($col["width"])); + + if (intval($col["max"]) == 16384) { + break; + } + } + } + } + + if (isset($xmlSheet->printOptions) && !$this->_readDataOnly) { + if (self::boolean((string) $xmlSheet->printOptions['gridLinesSet'])) { + $docSheet->setShowGridlines(TRUE); + } + + if (self::boolean((string) $xmlSheet->printOptions['gridLines'])) { + $docSheet->setPrintGridlines(TRUE); + } + + if (self::boolean((string) $xmlSheet->printOptions['horizontalCentered'])) { + $docSheet->getPageSetup()->setHorizontalCentered(TRUE); + } + if (self::boolean((string) $xmlSheet->printOptions['verticalCentered'])) { + $docSheet->getPageSetup()->setVerticalCentered(TRUE); + } + } + + if ($xmlSheet && $xmlSheet->sheetData && $xmlSheet->sheetData->row) { + foreach ($xmlSheet->sheetData->row as $row) { + if ($row["ht"] && !$this->_readDataOnly) { + $docSheet->getRowDimension(intval($row["r"]))->setRowHeight(floatval($row["ht"])); + } + if (self::boolean($row["hidden"]) && !$this->_readDataOnly) { + $docSheet->getRowDimension(intval($row["r"]))->setVisible(FALSE); + } + if (self::boolean($row["collapsed"])) { + $docSheet->getRowDimension(intval($row["r"]))->setCollapsed(TRUE); + } + if ($row["outlineLevel"] > 0) { + $docSheet->getRowDimension(intval($row["r"]))->setOutlineLevel(intval($row["outlineLevel"])); + } + if ($row["s"] && !$this->_readDataOnly) { + $docSheet->getRowDimension(intval($row["r"]))->setXfIndex(intval($row["s"])); + } + + foreach ($row->c as $c) { + $r = (string) $c["r"]; + $cellDataType = (string) $c["t"]; + $value = null; + $calculatedValue = null; + + // Read cell? + if ($this->getReadFilter() !== NULL) { + $coordinates = PHPExcel_Cell::coordinateFromString($r); + + if (!$this->getReadFilter()->readCell($coordinates[0], $coordinates[1], $docSheet->getTitle())) { + continue; + } + } + + // echo 'Reading cell ', $coordinates[0], $coordinates[1], PHP_EOL; + // print_r($c); + // echo PHP_EOL; + // echo 'Cell Data Type is ', $cellDataType, ': '; + // + // Read cell! + switch ($cellDataType) { + case "s": + // echo 'String', PHP_EOL; + if ((string)$c->v != '') { + $value = $sharedStrings[intval($c->v)]; + + if ($value instanceof PHPExcel_RichText) { + $value = clone $value; + } + } else { + $value = ''; + } + + break; + case "b": + // echo 'Boolean', PHP_EOL; + if (!isset($c->f)) { + $value = self::_castToBool($c); + } else { + // Formula + $this->_castToFormula($c,$r,$cellDataType,$value,$calculatedValue,$sharedFormulas,'_castToBool'); + if (isset($c->f['t'])) { + $att = array(); + $att = $c->f; + $docSheet->getCell($r)->setFormulaAttributes($att); + } + // echo '$calculatedValue = ', $calculatedValue, PHP_EOL; + } + break; + case "inlineStr": + // echo 'Inline String', PHP_EOL; + $value = $this->_parseRichText($c->is); + + break; + case "e": + // echo 'Error', PHP_EOL; + if (!isset($c->f)) { + $value = self::_castToError($c); + } else { + // Formula + $this->_castToFormula($c,$r,$cellDataType,$value,$calculatedValue,$sharedFormulas,'_castToError'); + // echo '$calculatedValue = ', $calculatedValue, PHP_EOL; + } + + break; + + default: + // echo 'Default', PHP_EOL; + if (!isset($c->f)) { + // echo 'Not a Formula', PHP_EOL; + $value = self::_castToString($c); + } else { + // echo 'Treat as Formula', PHP_EOL; + // Formula + $this->_castToFormula($c,$r,$cellDataType,$value,$calculatedValue,$sharedFormulas,'_castToString'); + // echo '$calculatedValue = ', $calculatedValue, PHP_EOL; + } + + break; + } + // echo 'Value is ', $value, PHP_EOL; + + // Check for numeric values + if (is_numeric($value) && $cellDataType != 's') { + if ($value == (int)$value) $value = (int)$value; + elseif ($value == (float)$value) $value = (float)$value; + elseif ($value == (double)$value) $value = (double)$value; + } + + // Rich text? + if ($value instanceof PHPExcel_RichText && $this->_readDataOnly) { + $value = $value->getPlainText(); + } + + $cell = $docSheet->getCell($r); + // Assign value + if ($cellDataType != '') { + $cell->setValueExplicit($value, $cellDataType); + } else { + $cell->setValue($value); + } + if ($calculatedValue !== NULL) { + $cell->setCalculatedValue($calculatedValue); + } + + // Style information? + if ($c["s"] && !$this->_readDataOnly) { + // no style index means 0, it seems + $cell->setXfIndex(isset($styles[intval($c["s"])]) ? + intval($c["s"]) : 0); + } + } + } + } + + $conditionals = array(); + if (!$this->_readDataOnly && $xmlSheet && $xmlSheet->conditionalFormatting) { + foreach ($xmlSheet->conditionalFormatting as $conditional) { + foreach ($conditional->cfRule as $cfRule) { + if ( + ( + (string)$cfRule["type"] == PHPExcel_Style_Conditional::CONDITION_NONE || + (string)$cfRule["type"] == PHPExcel_Style_Conditional::CONDITION_CELLIS || + (string)$cfRule["type"] == PHPExcel_Style_Conditional::CONDITION_CONTAINSTEXT || + (string)$cfRule["type"] == PHPExcel_Style_Conditional::CONDITION_EXPRESSION + ) && isset($dxfs[intval($cfRule["dxfId"])]) + ) { + $conditionals[(string) $conditional["sqref"]][intval($cfRule["priority"])] = $cfRule; + } + } + } + + foreach ($conditionals as $ref => $cfRules) { + ksort($cfRules); + $conditionalStyles = array(); + foreach ($cfRules as $cfRule) { + $objConditional = new PHPExcel_Style_Conditional(); + $objConditional->setConditionType((string)$cfRule["type"]); + $objConditional->setOperatorType((string)$cfRule["operator"]); + + if ((string)$cfRule["text"] != '') { + $objConditional->setText((string)$cfRule["text"]); + } + + if (count($cfRule->formula) > 1) { + foreach ($cfRule->formula as $formula) { + $objConditional->addCondition((string)$formula); + } + } else { + $objConditional->addCondition((string)$cfRule->formula); + } + $objConditional->setStyle(clone $dxfs[intval($cfRule["dxfId"])]); + $conditionalStyles[] = $objConditional; + } + + // Extract all cell references in $ref + $aReferences = PHPExcel_Cell::extractAllCellReferencesInRange($ref); + foreach ($aReferences as $reference) { + $docSheet->getStyle($reference)->setConditionalStyles($conditionalStyles); + } + } + } + + $aKeys = array("sheet", "objects", "scenarios", "formatCells", "formatColumns", "formatRows", "insertColumns", "insertRows", "insertHyperlinks", "deleteColumns", "deleteRows", "selectLockedCells", "sort", "autoFilter", "pivotTables", "selectUnlockedCells"); + if (!$this->_readDataOnly && $xmlSheet && $xmlSheet->sheetProtection) { + foreach ($aKeys as $key) { + $method = "set" . ucfirst($key); + $docSheet->getProtection()->$method(self::boolean((string) $xmlSheet->sheetProtection[$key])); + } + } + + if (!$this->_readDataOnly && $xmlSheet && $xmlSheet->sheetProtection) { + $docSheet->getProtection()->setPassword((string) $xmlSheet->sheetProtection["password"], TRUE); + if ($xmlSheet->protectedRanges->protectedRange) { + foreach ($xmlSheet->protectedRanges->protectedRange as $protectedRange) { + $docSheet->protectCells((string) $protectedRange["sqref"], (string) $protectedRange["password"], true); + } + } + } + + if ($xmlSheet && $xmlSheet->autoFilter && !$this->_readDataOnly) { + $autoFilterRange = (string) $xmlSheet->autoFilter["ref"]; + if (strpos($autoFilterRange, ':') !== false) { + $autoFilter = $docSheet->getAutoFilter(); + $autoFilter->setRange($autoFilterRange); + + foreach ($xmlSheet->autoFilter->filterColumn as $filterColumn) { + $column = $autoFilter->getColumnByOffset((integer) $filterColumn["colId"]); + // Check for standard filters + if ($filterColumn->filters) { + $column->setFilterType(PHPExcel_Worksheet_AutoFilter_Column::AUTOFILTER_FILTERTYPE_FILTER); + $filters = $filterColumn->filters; + if ((isset($filters["blank"])) && ($filters["blank"] == 1)) { + $column->createRule()->setRule( + NULL, // Operator is undefined, but always treated as EQUAL + '' + ) + ->setRuleType(PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_RULETYPE_FILTER); + } + // Standard filters are always an OR join, so no join rule needs to be set + // Entries can be either filter elements + foreach ($filters->filter as $filterRule) { + $column->createRule()->setRule( + NULL, // Operator is undefined, but always treated as EQUAL + (string) $filterRule["val"] + ) + ->setRuleType(PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_RULETYPE_FILTER); + } + // Or Date Group elements + foreach ($filters->dateGroupItem as $dateGroupItem) { + $column->createRule()->setRule( + NULL, // Operator is undefined, but always treated as EQUAL + array( + 'year' => (string) $dateGroupItem["year"], + 'month' => (string) $dateGroupItem["month"], + 'day' => (string) $dateGroupItem["day"], + 'hour' => (string) $dateGroupItem["hour"], + 'minute' => (string) $dateGroupItem["minute"], + 'second' => (string) $dateGroupItem["second"], + ), + (string) $dateGroupItem["dateTimeGrouping"] + ) + ->setRuleType(PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_RULETYPE_DATEGROUP); + } + } + // Check for custom filters + if ($filterColumn->customFilters) { + $column->setFilterType(PHPExcel_Worksheet_AutoFilter_Column::AUTOFILTER_FILTERTYPE_CUSTOMFILTER); + $customFilters = $filterColumn->customFilters; + // Custom filters can an AND or an OR join; + // and there should only ever be one or two entries + if ((isset($customFilters["and"])) && ($customFilters["and"] == 1)) { + $column->setJoin(PHPExcel_Worksheet_AutoFilter_Column::AUTOFILTER_COLUMN_JOIN_AND); + } + foreach ($customFilters->customFilter as $filterRule) { + $column->createRule()->setRule( + (string) $filterRule["operator"], + (string) $filterRule["val"] + ) + ->setRuleType(PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_RULETYPE_CUSTOMFILTER); + } + } + // Check for dynamic filters + if ($filterColumn->dynamicFilter) { + $column->setFilterType(PHPExcel_Worksheet_AutoFilter_Column::AUTOFILTER_FILTERTYPE_DYNAMICFILTER); + // We should only ever have one dynamic filter + foreach ($filterColumn->dynamicFilter as $filterRule) { + $column->createRule()->setRule( + NULL, // Operator is undefined, but always treated as EQUAL + (string) $filterRule["val"], + (string) $filterRule["type"] + ) + ->setRuleType(PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_RULETYPE_DYNAMICFILTER); + if (isset($filterRule["val"])) { + $column->setAttribute('val',(string) $filterRule["val"]); + } + if (isset($filterRule["maxVal"])) { + $column->setAttribute('maxVal',(string) $filterRule["maxVal"]); + } + } + } + // Check for dynamic filters + if ($filterColumn->top10) { + $column->setFilterType(PHPExcel_Worksheet_AutoFilter_Column::AUTOFILTER_FILTERTYPE_TOPTENFILTER); + // We should only ever have one top10 filter + foreach ($filterColumn->top10 as $filterRule) { + $column->createRule()->setRule( + (((isset($filterRule["percent"])) && ($filterRule["percent"] == 1)) + ? PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_COLUMN_RULE_TOPTEN_PERCENT + : PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_COLUMN_RULE_TOPTEN_BY_VALUE + ), + (string) $filterRule["val"], + (((isset($filterRule["top"])) && ($filterRule["top"] == 1)) + ? PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_COLUMN_RULE_TOPTEN_TOP + : PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_COLUMN_RULE_TOPTEN_BOTTOM + ) + ) + ->setRuleType(PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_RULETYPE_TOPTENFILTER); + } + } + } + } + } + + if ($xmlSheet && $xmlSheet->mergeCells && $xmlSheet->mergeCells->mergeCell && !$this->_readDataOnly) { + foreach ($xmlSheet->mergeCells->mergeCell as $mergeCell) { + $mergeRef = (string) $mergeCell["ref"]; + if (strpos($mergeRef,':') !== FALSE) { + $docSheet->mergeCells((string) $mergeCell["ref"]); + } + } + } + + if ($xmlSheet && $xmlSheet->pageMargins && !$this->_readDataOnly) { + $docPageMargins = $docSheet->getPageMargins(); + $docPageMargins->setLeft(floatval($xmlSheet->pageMargins["left"])); + $docPageMargins->setRight(floatval($xmlSheet->pageMargins["right"])); + $docPageMargins->setTop(floatval($xmlSheet->pageMargins["top"])); + $docPageMargins->setBottom(floatval($xmlSheet->pageMargins["bottom"])); + $docPageMargins->setHeader(floatval($xmlSheet->pageMargins["header"])); + $docPageMargins->setFooter(floatval($xmlSheet->pageMargins["footer"])); + } + + if ($xmlSheet && $xmlSheet->pageSetup && !$this->_readDataOnly) { + $docPageSetup = $docSheet->getPageSetup(); + + if (isset($xmlSheet->pageSetup["orientation"])) { + $docPageSetup->setOrientation((string) $xmlSheet->pageSetup["orientation"]); + } + if (isset($xmlSheet->pageSetup["paperSize"])) { + $docPageSetup->setPaperSize(intval($xmlSheet->pageSetup["paperSize"])); + } + if (isset($xmlSheet->pageSetup["scale"])) { + $docPageSetup->setScale(intval($xmlSheet->pageSetup["scale"]), FALSE); + } + if (isset($xmlSheet->pageSetup["fitToHeight"]) && intval($xmlSheet->pageSetup["fitToHeight"]) >= 0) { + $docPageSetup->setFitToHeight(intval($xmlSheet->pageSetup["fitToHeight"]), FALSE); + } + if (isset($xmlSheet->pageSetup["fitToWidth"]) && intval($xmlSheet->pageSetup["fitToWidth"]) >= 0) { + $docPageSetup->setFitToWidth(intval($xmlSheet->pageSetup["fitToWidth"]), FALSE); + } + if (isset($xmlSheet->pageSetup["firstPageNumber"]) && isset($xmlSheet->pageSetup["useFirstPageNumber"]) && + self::boolean((string) $xmlSheet->pageSetup["useFirstPageNumber"])) { + $docPageSetup->setFirstPageNumber(intval($xmlSheet->pageSetup["firstPageNumber"])); + } + } + + if ($xmlSheet && $xmlSheet->headerFooter && !$this->_readDataOnly) { + $docHeaderFooter = $docSheet->getHeaderFooter(); + + if (isset($xmlSheet->headerFooter["differentOddEven"]) && + self::boolean((string)$xmlSheet->headerFooter["differentOddEven"])) { + $docHeaderFooter->setDifferentOddEven(TRUE); + } else { + $docHeaderFooter->setDifferentOddEven(FALSE); + } + if (isset($xmlSheet->headerFooter["differentFirst"]) && + self::boolean((string)$xmlSheet->headerFooter["differentFirst"])) { + $docHeaderFooter->setDifferentFirst(TRUE); + } else { + $docHeaderFooter->setDifferentFirst(FALSE); + } + if (isset($xmlSheet->headerFooter["scaleWithDoc"]) && + !self::boolean((string)$xmlSheet->headerFooter["scaleWithDoc"])) { + $docHeaderFooter->setScaleWithDocument(FALSE); + } else { + $docHeaderFooter->setScaleWithDocument(TRUE); + } + if (isset($xmlSheet->headerFooter["alignWithMargins"]) && + !self::boolean((string)$xmlSheet->headerFooter["alignWithMargins"])) { + $docHeaderFooter->setAlignWithMargins(FALSE); + } else { + $docHeaderFooter->setAlignWithMargins(TRUE); + } + + $docHeaderFooter->setOddHeader((string) $xmlSheet->headerFooter->oddHeader); + $docHeaderFooter->setOddFooter((string) $xmlSheet->headerFooter->oddFooter); + $docHeaderFooter->setEvenHeader((string) $xmlSheet->headerFooter->evenHeader); + $docHeaderFooter->setEvenFooter((string) $xmlSheet->headerFooter->evenFooter); + $docHeaderFooter->setFirstHeader((string) $xmlSheet->headerFooter->firstHeader); + $docHeaderFooter->setFirstFooter((string) $xmlSheet->headerFooter->firstFooter); + } + + if ($xmlSheet && $xmlSheet->rowBreaks && $xmlSheet->rowBreaks->brk && !$this->_readDataOnly) { + foreach ($xmlSheet->rowBreaks->brk as $brk) { + if ($brk["man"]) { + $docSheet->setBreak("A$brk[id]", PHPExcel_Worksheet::BREAK_ROW); + } + } + } + if ($xmlSheet && $xmlSheet->colBreaks && $xmlSheet->colBreaks->brk && !$this->_readDataOnly) { + foreach ($xmlSheet->colBreaks->brk as $brk) { + if ($brk["man"]) { + $docSheet->setBreak(PHPExcel_Cell::stringFromColumnIndex((string) $brk["id"]) . "1", PHPExcel_Worksheet::BREAK_COLUMN); + } + } + } + + if ($xmlSheet && $xmlSheet->dataValidations && !$this->_readDataOnly) { + foreach ($xmlSheet->dataValidations->dataValidation as $dataValidation) { + // Uppercase coordinate + $range = strtoupper($dataValidation["sqref"]); + $rangeSet = explode(' ',$range); + foreach($rangeSet as $range) { + $stRange = $docSheet->shrinkRangeToFit($range); + + // Extract all cell references in $range + $aReferences = PHPExcel_Cell::extractAllCellReferencesInRange($stRange); + foreach ($aReferences as $reference) { + // Create validation + $docValidation = $docSheet->getCell($reference)->getDataValidation(); + $docValidation->setType((string) $dataValidation["type"]); + $docValidation->setErrorStyle((string) $dataValidation["errorStyle"]); + $docValidation->setOperator((string) $dataValidation["operator"]); + $docValidation->setAllowBlank($dataValidation["allowBlank"] != 0); + $docValidation->setShowDropDown($dataValidation["showDropDown"] == 0); + $docValidation->setShowInputMessage($dataValidation["showInputMessage"] != 0); + $docValidation->setShowErrorMessage($dataValidation["showErrorMessage"] != 0); + $docValidation->setErrorTitle((string) $dataValidation["errorTitle"]); + $docValidation->setError((string) $dataValidation["error"]); + $docValidation->setPromptTitle((string) $dataValidation["promptTitle"]); + $docValidation->setPrompt((string) $dataValidation["prompt"]); + $docValidation->setFormula1((string) $dataValidation->formula1); + $docValidation->setFormula2((string) $dataValidation->formula2); + } + } + } + } + + // Add hyperlinks + $hyperlinks = array(); + if (!$this->_readDataOnly) { + // Locate hyperlink relations + if ($zip->locateName(dirname("$dir/$fileWorksheet") . "/_rels/" . basename($fileWorksheet) . ".rels")) { + $relsWorksheet = simplexml_load_string($this->securityScan($this->_getFromZipArchive($zip, dirname("$dir/$fileWorksheet") . "/_rels/" . basename($fileWorksheet) . ".rels")), 'SimpleXMLElement', PHPExcel_Settings::getLibXmlLoaderOptions()); //~ http://schemas.openxmlformats.org/package/2006/relationships"); + foreach ($relsWorksheet->Relationship as $ele) { + if ($ele["Type"] == "http://schemas.openxmlformats.org/officeDocument/2006/relationships/hyperlink") { + $hyperlinks[(string)$ele["Id"]] = (string)$ele["Target"]; + } + } + } + + // Loop through hyperlinks + if ($xmlSheet && $xmlSheet->hyperlinks) { + foreach ($xmlSheet->hyperlinks->hyperlink as $hyperlink) { + // Link url + $linkRel = $hyperlink->attributes('http://schemas.openxmlformats.org/officeDocument/2006/relationships'); + + foreach (PHPExcel_Cell::extractAllCellReferencesInRange($hyperlink['ref']) as $cellReference) { + $cell = $docSheet->getCell( $cellReference ); + if (isset($linkRel['id'])) { + $hyperlinkUrl = $hyperlinks[ (string)$linkRel['id'] ]; + if (isset($hyperlink['location'])) { + $hyperlinkUrl .= '#' . (string) $hyperlink['location']; + } + $cell->getHyperlink()->setUrl($hyperlinkUrl); + } elseif (isset($hyperlink['location'])) { + $cell->getHyperlink()->setUrl( 'sheet://' . (string)$hyperlink['location'] ); + } + + // Tooltip + if (isset($hyperlink['tooltip'])) { + $cell->getHyperlink()->setTooltip( (string)$hyperlink['tooltip'] ); + } + } + } + } + } + + // Add comments + $comments = array(); + $vmlComments = array(); + if (!$this->_readDataOnly) { + // Locate comment relations + if ($zip->locateName(dirname("$dir/$fileWorksheet") . "/_rels/" . basename($fileWorksheet) . ".rels")) { + $relsWorksheet = simplexml_load_string($this->securityScan($this->_getFromZipArchive($zip, dirname("$dir/$fileWorksheet") . "/_rels/" . basename($fileWorksheet) . ".rels")), 'SimpleXMLElement', PHPExcel_Settings::getLibXmlLoaderOptions()); //~ http://schemas.openxmlformats.org/package/2006/relationships"); + foreach ($relsWorksheet->Relationship as $ele) { + if ($ele["Type"] == "http://schemas.openxmlformats.org/officeDocument/2006/relationships/comments") { + $comments[(string)$ele["Id"]] = (string)$ele["Target"]; + } + if ($ele["Type"] == "http://schemas.openxmlformats.org/officeDocument/2006/relationships/vmlDrawing") { + $vmlComments[(string)$ele["Id"]] = (string)$ele["Target"]; + } + } + } + + // Loop through comments + foreach ($comments as $relName => $relPath) { + // Load comments file + $relPath = PHPExcel_Shared_File::realpath(dirname("$dir/$fileWorksheet") . "/" . $relPath); + $commentsFile = simplexml_load_string($this->securityScan($this->_getFromZipArchive($zip, $relPath)), 'SimpleXMLElement', PHPExcel_Settings::getLibXmlLoaderOptions()); + + // Utility variables + $authors = array(); + + // Loop through authors + foreach ($commentsFile->authors->author as $author) { + $authors[] = (string)$author; + } + + // Loop through contents + foreach ($commentsFile->commentList->comment as $comment) { + if(!empty($comment['authorId'])) + $docSheet->getComment( (string)$comment['ref'] )->setAuthor( $authors[(string)$comment['authorId']] ); + $docSheet->getComment( (string)$comment['ref'] )->setText( $this->_parseRichText($comment->text) ); + } + } + + // Loop through VML comments + foreach ($vmlComments as $relName => $relPath) { + // Load VML comments file + $relPath = PHPExcel_Shared_File::realpath(dirname("$dir/$fileWorksheet") . "/" . $relPath); + $vmlCommentsFile = simplexml_load_string($this->securityScan($this->_getFromZipArchive($zip, $relPath)), 'SimpleXMLElement', PHPExcel_Settings::getLibXmlLoaderOptions()); + $vmlCommentsFile->registerXPathNamespace('v', 'urn:schemas-microsoft-com:vml'); + + $shapes = $vmlCommentsFile->xpath('//v:shape'); + foreach ($shapes as $shape) { + $shape->registerXPathNamespace('v', 'urn:schemas-microsoft-com:vml'); + + if (isset($shape['style'])) { + $style = (string)$shape['style']; + $fillColor = strtoupper( substr( (string)$shape['fillcolor'], 1 ) ); + $column = null; + $row = null; + + $clientData = $shape->xpath('.//x:ClientData'); + if (is_array($clientData) && !empty($clientData)) { + $clientData = $clientData[0]; + + if ( isset($clientData['ObjectType']) && (string)$clientData['ObjectType'] == 'Note' ) { + $temp = $clientData->xpath('.//x:Row'); + if (is_array($temp)) $row = $temp[0]; + + $temp = $clientData->xpath('.//x:Column'); + if (is_array($temp)) $column = $temp[0]; + } + } + + if (($column !== NULL) && ($row !== NULL)) { + // Set comment properties + $comment = $docSheet->getCommentByColumnAndRow((string) $column, $row + 1); + $comment->getFillColor()->setRGB( $fillColor ); + + // Parse style + $styleArray = explode(';', str_replace(' ', '', $style)); + foreach ($styleArray as $stylePair) { + $stylePair = explode(':', $stylePair); + + if ($stylePair[0] == 'margin-left') $comment->setMarginLeft($stylePair[1]); + if ($stylePair[0] == 'margin-top') $comment->setMarginTop($stylePair[1]); + if ($stylePair[0] == 'width') $comment->setWidth($stylePair[1]); + if ($stylePair[0] == 'height') $comment->setHeight($stylePair[1]); + if ($stylePair[0] == 'visibility') $comment->setVisible( $stylePair[1] == 'visible' ); + + } + } + } + } + } + + // Header/footer images + if ($xmlSheet && $xmlSheet->legacyDrawingHF && !$this->_readDataOnly) { + if ($zip->locateName(dirname("$dir/$fileWorksheet") . "/_rels/" . basename($fileWorksheet) . ".rels")) { + $relsWorksheet = simplexml_load_string($this->securityScan($this->_getFromZipArchive($zip, dirname("$dir/$fileWorksheet") . "/_rels/" . basename($fileWorksheet) . ".rels")), 'SimpleXMLElement', PHPExcel_Settings::getLibXmlLoaderOptions()); //~ http://schemas.openxmlformats.org/package/2006/relationships"); + $vmlRelationship = ''; + + foreach ($relsWorksheet->Relationship as $ele) { + if ($ele["Type"] == "http://schemas.openxmlformats.org/officeDocument/2006/relationships/vmlDrawing") { + $vmlRelationship = self::dir_add("$dir/$fileWorksheet", $ele["Target"]); + } + } + + if ($vmlRelationship != '') { + // Fetch linked images + $relsVML = simplexml_load_string($this->securityScan($this->_getFromZipArchive($zip, dirname($vmlRelationship) . '/_rels/' . basename($vmlRelationship) . '.rels')), 'SimpleXMLElement', PHPExcel_Settings::getLibXmlLoaderOptions()); //~ http://schemas.openxmlformats.org/package/2006/relationships"); + $drawings = array(); + foreach ($relsVML->Relationship as $ele) { + if ($ele["Type"] == "http://schemas.openxmlformats.org/officeDocument/2006/relationships/image") { + $drawings[(string) $ele["Id"]] = self::dir_add($vmlRelationship, $ele["Target"]); + } + } + + // Fetch VML document + $vmlDrawing = simplexml_load_string($this->securityScan($this->_getFromZipArchive($zip, $vmlRelationship)), 'SimpleXMLElement', PHPExcel_Settings::getLibXmlLoaderOptions()); + $vmlDrawing->registerXPathNamespace('v', 'urn:schemas-microsoft-com:vml'); + + $hfImages = array(); + + $shapes = $vmlDrawing->xpath('//v:shape'); + foreach ($shapes as $idx => $shape) { + $shape->registerXPathNamespace('v', 'urn:schemas-microsoft-com:vml'); + $imageData = $shape->xpath('//v:imagedata'); + $imageData = $imageData[$idx]; + + $imageData = $imageData->attributes('urn:schemas-microsoft-com:office:office'); + $style = self::toCSSArray( (string)$shape['style'] ); + + $hfImages[ (string)$shape['id'] ] = new PHPExcel_Worksheet_HeaderFooterDrawing(); + if (isset($imageData['title'])) { + $hfImages[ (string)$shape['id'] ]->setName( (string)$imageData['title'] ); + } + + $hfImages[ (string)$shape['id'] ]->setPath("zip://".PHPExcel_Shared_File::realpath($pFilename)."#" . $drawings[(string)$imageData['relid']], false); + $hfImages[ (string)$shape['id'] ]->setResizeProportional(false); + $hfImages[ (string)$shape['id'] ]->setWidth($style['width']); + $hfImages[ (string)$shape['id'] ]->setHeight($style['height']); + if (isset($style['margin-left'])) { + $hfImages[ (string)$shape['id'] ]->setOffsetX($style['margin-left']); + } + $hfImages[ (string)$shape['id'] ]->setOffsetY($style['margin-top']); + $hfImages[ (string)$shape['id'] ]->setResizeProportional(true); + } + + $docSheet->getHeaderFooter()->setImages($hfImages); + } + } + } + + } + + // TODO: Autoshapes from twoCellAnchors! + if ($zip->locateName(dirname("$dir/$fileWorksheet") . "/_rels/" . basename($fileWorksheet) . ".rels")) { + $relsWorksheet = simplexml_load_string($this->securityScan($this->_getFromZipArchive($zip, dirname("$dir/$fileWorksheet") . "/_rels/" . basename($fileWorksheet) . ".rels")), 'SimpleXMLElement', PHPExcel_Settings::getLibXmlLoaderOptions()); //~ http://schemas.openxmlformats.org/package/2006/relationships"); + $drawings = array(); + foreach ($relsWorksheet->Relationship as $ele) { + if ($ele["Type"] == "http://schemas.openxmlformats.org/officeDocument/2006/relationships/drawing") { + $drawings[(string) $ele["Id"]] = self::dir_add("$dir/$fileWorksheet", $ele["Target"]); + } + } + if ($xmlSheet->drawing && !$this->_readDataOnly) { + foreach ($xmlSheet->drawing as $drawing) { + $fileDrawing = $drawings[(string) self::array_item($drawing->attributes("http://schemas.openxmlformats.org/officeDocument/2006/relationships"), "id")]; + $relsDrawing = simplexml_load_string($this->securityScan($this->_getFromZipArchive($zip, dirname($fileDrawing) . "/_rels/" . basename($fileDrawing) . ".rels")), 'SimpleXMLElement', PHPExcel_Settings::getLibXmlLoaderOptions()); //~ http://schemas.openxmlformats.org/package/2006/relationships"); + $images = array(); + + if ($relsDrawing && $relsDrawing->Relationship) { + foreach ($relsDrawing->Relationship as $ele) { + if ($ele["Type"] == "http://schemas.openxmlformats.org/officeDocument/2006/relationships/image") { + $images[(string) $ele["Id"]] = self::dir_add($fileDrawing, $ele["Target"]); + } elseif ($ele["Type"] == "http://schemas.openxmlformats.org/officeDocument/2006/relationships/chart") { + if ($this->_includeCharts) { + $charts[self::dir_add($fileDrawing, $ele["Target"])] = array('id' => (string) $ele["Id"], + 'sheet' => $docSheet->getTitle() + ); + } + } + } + } + $xmlDrawing = simplexml_load_string($this->securityScan($this->_getFromZipArchive($zip, $fileDrawing)), 'SimpleXMLElement', PHPExcel_Settings::getLibXmlLoaderOptions())->children("http://schemas.openxmlformats.org/drawingml/2006/spreadsheetDrawing"); + + if ($xmlDrawing->oneCellAnchor) { + foreach ($xmlDrawing->oneCellAnchor as $oneCellAnchor) { + if ($oneCellAnchor->pic->blipFill) { + $blip = $oneCellAnchor->pic->blipFill->children("http://schemas.openxmlformats.org/drawingml/2006/main")->blip; + $xfrm = $oneCellAnchor->pic->spPr->children("http://schemas.openxmlformats.org/drawingml/2006/main")->xfrm; + $outerShdw = $oneCellAnchor->pic->spPr->children("http://schemas.openxmlformats.org/drawingml/2006/main")->effectLst->outerShdw; + $objDrawing = new PHPExcel_Worksheet_Drawing; + $objDrawing->setName((string) self::array_item($oneCellAnchor->pic->nvPicPr->cNvPr->attributes(), "name")); + $objDrawing->setDescription((string) self::array_item($oneCellAnchor->pic->nvPicPr->cNvPr->attributes(), "descr")); + $objDrawing->setPath("zip://".PHPExcel_Shared_File::realpath($pFilename)."#" . $images[(string) self::array_item($blip->attributes("http://schemas.openxmlformats.org/officeDocument/2006/relationships"), "embed")], false); + $objDrawing->setCoordinates(PHPExcel_Cell::stringFromColumnIndex((string) $oneCellAnchor->from->col) . ($oneCellAnchor->from->row + 1)); + $objDrawing->setOffsetX(PHPExcel_Shared_Drawing::EMUToPixels($oneCellAnchor->from->colOff)); + $objDrawing->setOffsetY(PHPExcel_Shared_Drawing::EMUToPixels($oneCellAnchor->from->rowOff)); + $objDrawing->setResizeProportional(false); + $objDrawing->setWidth(PHPExcel_Shared_Drawing::EMUToPixels(self::array_item($oneCellAnchor->ext->attributes(), "cx"))); + $objDrawing->setHeight(PHPExcel_Shared_Drawing::EMUToPixels(self::array_item($oneCellAnchor->ext->attributes(), "cy"))); + if ($xfrm) { + $objDrawing->setRotation(PHPExcel_Shared_Drawing::angleToDegrees(self::array_item($xfrm->attributes(), "rot"))); + } + if ($outerShdw) { + $shadow = $objDrawing->getShadow(); + $shadow->setVisible(true); + $shadow->setBlurRadius(PHPExcel_Shared_Drawing::EMUTopixels(self::array_item($outerShdw->attributes(), "blurRad"))); + $shadow->setDistance(PHPExcel_Shared_Drawing::EMUTopixels(self::array_item($outerShdw->attributes(), "dist"))); + $shadow->setDirection(PHPExcel_Shared_Drawing::angleToDegrees(self::array_item($outerShdw->attributes(), "dir"))); + $shadow->setAlignment((string) self::array_item($outerShdw->attributes(), "algn")); + $shadow->getColor()->setRGB(self::array_item($outerShdw->srgbClr->attributes(), "val")); + $shadow->setAlpha(self::array_item($outerShdw->srgbClr->alpha->attributes(), "val") / 1000); + } + $objDrawing->setWorksheet($docSheet); + } else { + // ? Can charts be positioned with a oneCellAnchor ? + $coordinates = PHPExcel_Cell::stringFromColumnIndex((string) $oneCellAnchor->from->col) . ($oneCellAnchor->from->row + 1); + $offsetX = PHPExcel_Shared_Drawing::EMUToPixels($oneCellAnchor->from->colOff); + $offsetY = PHPExcel_Shared_Drawing::EMUToPixels($oneCellAnchor->from->rowOff); + $width = PHPExcel_Shared_Drawing::EMUToPixels(self::array_item($oneCellAnchor->ext->attributes(), "cx")); + $height = PHPExcel_Shared_Drawing::EMUToPixels(self::array_item($oneCellAnchor->ext->attributes(), "cy")); + } + } + } + if ($xmlDrawing->twoCellAnchor) { + foreach ($xmlDrawing->twoCellAnchor as $twoCellAnchor) { + if ($twoCellAnchor->pic->blipFill) { + $blip = $twoCellAnchor->pic->blipFill->children("http://schemas.openxmlformats.org/drawingml/2006/main")->blip; + $xfrm = $twoCellAnchor->pic->spPr->children("http://schemas.openxmlformats.org/drawingml/2006/main")->xfrm; + $outerShdw = $twoCellAnchor->pic->spPr->children("http://schemas.openxmlformats.org/drawingml/2006/main")->effectLst->outerShdw; + $objDrawing = new PHPExcel_Worksheet_Drawing; + $objDrawing->setName((string) self::array_item($twoCellAnchor->pic->nvPicPr->cNvPr->attributes(), "name")); + $objDrawing->setDescription((string) self::array_item($twoCellAnchor->pic->nvPicPr->cNvPr->attributes(), "descr")); + $objDrawing->setPath("zip://".PHPExcel_Shared_File::realpath($pFilename)."#" . $images[(string) self::array_item($blip->attributes("http://schemas.openxmlformats.org/officeDocument/2006/relationships"), "embed")], false); + $objDrawing->setCoordinates(PHPExcel_Cell::stringFromColumnIndex((string) $twoCellAnchor->from->col) . ($twoCellAnchor->from->row + 1)); + $objDrawing->setOffsetX(PHPExcel_Shared_Drawing::EMUToPixels($twoCellAnchor->from->colOff)); + $objDrawing->setOffsetY(PHPExcel_Shared_Drawing::EMUToPixels($twoCellAnchor->from->rowOff)); + $objDrawing->setResizeProportional(false); + + if ($xfrm) { + $objDrawing->setWidth(PHPExcel_Shared_Drawing::EMUToPixels(self::array_item($xfrm->ext->attributes(), "cx"))); + $objDrawing->setHeight(PHPExcel_Shared_Drawing::EMUToPixels(self::array_item($xfrm->ext->attributes(), "cy"))); + $objDrawing->setRotation(PHPExcel_Shared_Drawing::angleToDegrees(self::array_item($xfrm->attributes(), "rot"))); + } + if ($outerShdw) { + $shadow = $objDrawing->getShadow(); + $shadow->setVisible(true); + $shadow->setBlurRadius(PHPExcel_Shared_Drawing::EMUTopixels(self::array_item($outerShdw->attributes(), "blurRad"))); + $shadow->setDistance(PHPExcel_Shared_Drawing::EMUTopixels(self::array_item($outerShdw->attributes(), "dist"))); + $shadow->setDirection(PHPExcel_Shared_Drawing::angleToDegrees(self::array_item($outerShdw->attributes(), "dir"))); + $shadow->setAlignment((string) self::array_item($outerShdw->attributes(), "algn")); + $shadow->getColor()->setRGB(self::array_item($outerShdw->srgbClr->attributes(), "val")); + $shadow->setAlpha(self::array_item($outerShdw->srgbClr->alpha->attributes(), "val") / 1000); + } + $objDrawing->setWorksheet($docSheet); + } elseif(($this->_includeCharts) && ($twoCellAnchor->graphicFrame)) { + $fromCoordinate = PHPExcel_Cell::stringFromColumnIndex((string) $twoCellAnchor->from->col) . ($twoCellAnchor->from->row + 1); + $fromOffsetX = PHPExcel_Shared_Drawing::EMUToPixels($twoCellAnchor->from->colOff); + $fromOffsetY = PHPExcel_Shared_Drawing::EMUToPixels($twoCellAnchor->from->rowOff); + $toCoordinate = PHPExcel_Cell::stringFromColumnIndex((string) $twoCellAnchor->to->col) . ($twoCellAnchor->to->row + 1); + $toOffsetX = PHPExcel_Shared_Drawing::EMUToPixels($twoCellAnchor->to->colOff); + $toOffsetY = PHPExcel_Shared_Drawing::EMUToPixels($twoCellAnchor->to->rowOff); + $graphic = $twoCellAnchor->graphicFrame->children("http://schemas.openxmlformats.org/drawingml/2006/main")->graphic; + $chartRef = $graphic->graphicData->children("http://schemas.openxmlformats.org/drawingml/2006/chart")->chart; + $thisChart = (string) $chartRef->attributes("http://schemas.openxmlformats.org/officeDocument/2006/relationships"); + + $chartDetails[$docSheet->getTitle().'!'.$thisChart] = + array( 'fromCoordinate' => $fromCoordinate, + 'fromOffsetX' => $fromOffsetX, + 'fromOffsetY' => $fromOffsetY, + 'toCoordinate' => $toCoordinate, + 'toOffsetX' => $toOffsetX, + 'toOffsetY' => $toOffsetY, + 'worksheetTitle' => $docSheet->getTitle() + ); + } + } + } + + } + } + } + + // Loop through definedNames + if ($xmlWorkbook->definedNames) { + foreach ($xmlWorkbook->definedNames->definedName as $definedName) { + // Extract range + $extractedRange = (string)$definedName; + $extractedRange = preg_replace('/\'(\w+)\'\!/', '', $extractedRange); + if (($spos = strpos($extractedRange,'!')) !== false) { + $extractedRange = substr($extractedRange,0,$spos).str_replace('$', '', substr($extractedRange,$spos)); + } else { + $extractedRange = str_replace('$', '', $extractedRange); + } + + // Valid range? + if (stripos((string)$definedName, '#REF!') !== FALSE || $extractedRange == '') { + continue; + } + + // Some definedNames are only applicable if we are on the same sheet... + if ((string)$definedName['localSheetId'] != '' && (string)$definedName['localSheetId'] == $sheetId) { + // Switch on type + switch ((string)$definedName['name']) { + + case '_xlnm._FilterDatabase': + if ((string)$definedName['hidden'] !== '1') { + $extractedRange = explode(',', $extractedRange); + foreach ($extractedRange as $range) { + $autoFilterRange = $range; + if (strpos($autoFilterRange, ':') !== false) { + $docSheet->getAutoFilter()->setRange($autoFilterRange); + } + } + } + break; + + case '_xlnm.Print_Titles': + // Split $extractedRange + $extractedRange = explode(',', $extractedRange); + + // Set print titles + foreach ($extractedRange as $range) { + $matches = array(); + $range = str_replace('$', '', $range); + + // check for repeating columns, e g. 'A:A' or 'A:D' + if (preg_match('/!?([A-Z]+)\:([A-Z]+)$/', $range, $matches)) { + $docSheet->getPageSetup()->setColumnsToRepeatAtLeft(array($matches[1], $matches[2])); + } + // check for repeating rows, e.g. '1:1' or '1:5' + elseif (preg_match('/!?(\d+)\:(\d+)$/', $range, $matches)) { + $docSheet->getPageSetup()->setRowsToRepeatAtTop(array($matches[1], $matches[2])); + } + } + break; + + case '_xlnm.Print_Area': + $rangeSets = explode(',', $extractedRange); // FIXME: what if sheetname contains comma? + $newRangeSets = array(); + foreach($rangeSets as $rangeSet) { + $range = explode('!', $rangeSet); // FIXME: what if sheetname contains exclamation mark? + $rangeSet = isset($range[1]) ? $range[1] : $range[0]; + if (strpos($rangeSet, ':') === FALSE) { + $rangeSet = $rangeSet . ':' . $rangeSet; + } + $newRangeSets[] = str_replace('$', '', $rangeSet); + } + $docSheet->getPageSetup()->setPrintArea(implode(',',$newRangeSets)); + break; + + default: + break; + } + } + } + } + + // Next sheet id + ++$sheetId; + } + + // Loop through definedNames + if ($xmlWorkbook->definedNames) { + foreach ($xmlWorkbook->definedNames->definedName as $definedName) { + // Extract range + $extractedRange = (string)$definedName; + $extractedRange = preg_replace('/\'(\w+)\'\!/', '', $extractedRange); + if (($spos = strpos($extractedRange,'!')) !== false) { + $extractedRange = substr($extractedRange,0,$spos).str_replace('$', '', substr($extractedRange,$spos)); + } else { + $extractedRange = str_replace('$', '', $extractedRange); + } + + // Valid range? + if (stripos((string)$definedName, '#REF!') !== false || $extractedRange == '') { + continue; + } + + // Some definedNames are only applicable if we are on the same sheet... + if ((string)$definedName['localSheetId'] != '') { + // Local defined name + // Switch on type + switch ((string)$definedName['name']) { + + case '_xlnm._FilterDatabase': + case '_xlnm.Print_Titles': + case '_xlnm.Print_Area': + break; + + default: + if ($mapSheetId[(integer) $definedName['localSheetId']] !== null) { + $range = explode('!', (string)$definedName); + if (count($range) == 2) { + $range[0] = str_replace("''", "'", $range[0]); + $range[0] = str_replace("'", "", $range[0]); + if ($worksheet = $docSheet->getParent()->getSheetByName($range[0])) { + $extractedRange = str_replace('$', '', $range[1]); + $scope = $docSheet->getParent()->getSheet($mapSheetId[(integer) $definedName['localSheetId']]); + $excel->addNamedRange( new PHPExcel_NamedRange((string)$definedName['name'], $worksheet, $extractedRange, true, $scope) ); + } + } + } + break; + } + } else if (!isset($definedName['localSheetId'])) { + // "Global" definedNames + $locatedSheet = null; + $extractedSheetName = ''; + if (strpos( (string)$definedName, '!' ) !== false) { + // Extract sheet name + $extractedSheetName = PHPExcel_Worksheet::extractSheetTitle( (string)$definedName, true ); + $extractedSheetName = $extractedSheetName[0]; + + // Locate sheet + $locatedSheet = $excel->getSheetByName($extractedSheetName); + + // Modify range + $range = explode('!', $extractedRange); + $extractedRange = isset($range[1]) ? $range[1] : $range[0]; + } + + if ($locatedSheet !== NULL) { + $excel->addNamedRange( new PHPExcel_NamedRange((string)$definedName['name'], $locatedSheet, $extractedRange, false) ); + } + } + } + } + } + + if ((!$this->_readDataOnly) || (!empty($this->_loadSheetsOnly))) { + // active sheet index + $activeTab = intval($xmlWorkbook->bookViews->workbookView["activeTab"]); // refers to old sheet index + + // keep active sheet index if sheet is still loaded, else first sheet is set as the active + if (isset($mapSheetId[$activeTab]) && $mapSheetId[$activeTab] !== null) { + $excel->setActiveSheetIndex($mapSheetId[$activeTab]); + } else { + if ($excel->getSheetCount() == 0) { + $excel->createSheet(); + } + $excel->setActiveSheetIndex(0); + } + } + break; + } + + } + + + if (!$this->_readDataOnly) { + $contentTypes = simplexml_load_string($this->securityScan($this->_getFromZipArchive($zip, "[Content_Types].xml")), 'SimpleXMLElement', PHPExcel_Settings::getLibXmlLoaderOptions()); + foreach ($contentTypes->Override as $contentType) { + switch ($contentType["ContentType"]) { + case "application/vnd.openxmlformats-officedocument.drawingml.chart+xml": + if ($this->_includeCharts) { + $chartEntryRef = ltrim($contentType['PartName'],'/'); + $chartElements = simplexml_load_string($this->securityScan($this->_getFromZipArchive($zip, $chartEntryRef)), 'SimpleXMLElement', PHPExcel_Settings::getLibXmlLoaderOptions()); + $objChart = PHPExcel_Reader_Excel2007_Chart::readChart($chartElements,basename($chartEntryRef,'.xml')); + +// echo 'Chart ',$chartEntryRef,'
'; +// var_dump($charts[$chartEntryRef]); +// + if (isset($charts[$chartEntryRef])) { + $chartPositionRef = $charts[$chartEntryRef]['sheet'].'!'.$charts[$chartEntryRef]['id']; +// echo 'Position Ref ',$chartPositionRef,'
'; + if (isset($chartDetails[$chartPositionRef])) { +// var_dump($chartDetails[$chartPositionRef]); + + $excel->getSheetByName($charts[$chartEntryRef]['sheet'])->addChart($objChart); + $objChart->setWorksheet($excel->getSheetByName($charts[$chartEntryRef]['sheet'])); + $objChart->setTopLeftPosition( $chartDetails[$chartPositionRef]['fromCoordinate'], + $chartDetails[$chartPositionRef]['fromOffsetX'], + $chartDetails[$chartPositionRef]['fromOffsetY'] + ); + $objChart->setBottomRightPosition( $chartDetails[$chartPositionRef]['toCoordinate'], + $chartDetails[$chartPositionRef]['toOffsetX'], + $chartDetails[$chartPositionRef]['toOffsetY'] + ); + } + } + } + } + } + } + + $zip->close(); + + return $excel; + } + + + private static function _readColor($color, $background=FALSE) { + if (isset($color["rgb"])) { + return (string)$color["rgb"]; + } else if (isset($color["indexed"])) { + return PHPExcel_Style_Color::indexedColor($color["indexed"]-7,$background)->getARGB(); + } else if (isset($color["theme"])) { + if (self::$_theme !== NULL) { + $returnColour = self::$_theme->getColourByIndex((int)$color["theme"]); + if (isset($color["tint"])) { + $tintAdjust = (float) $color["tint"]; + $returnColour = PHPExcel_Style_Color::changeBrightness($returnColour, $tintAdjust); + } + return 'FF'.$returnColour; + } + } + + if ($background) { + return 'FFFFFFFF'; + } + return 'FF000000'; + } + + + private static function _readStyle($docStyle, $style) { + // format code +// if (isset($style->numFmt)) { +// if (isset($style->numFmt['formatCode'])) { +// $docStyle->getNumberFormat()->setFormatCode((string) $style->numFmt['formatCode']); +// } else { + $docStyle->getNumberFormat()->setFormatCode($style->numFmt); +// } +// } + + // font + if (isset($style->font)) { + $docStyle->getFont()->setName((string) $style->font->name["val"]); + $docStyle->getFont()->setSize((string) $style->font->sz["val"]); + if (isset($style->font->b)) { + $docStyle->getFont()->setBold(!isset($style->font->b["val"]) || self::boolean((string) $style->font->b["val"])); + } + if (isset($style->font->i)) { + $docStyle->getFont()->setItalic(!isset($style->font->i["val"]) || self::boolean((string) $style->font->i["val"])); + } + if (isset($style->font->strike)) { + $docStyle->getFont()->setStrikethrough(!isset($style->font->strike["val"]) || self::boolean((string) $style->font->strike["val"])); + } + $docStyle->getFont()->getColor()->setARGB(self::_readColor($style->font->color)); + + if (isset($style->font->u) && !isset($style->font->u["val"])) { + $docStyle->getFont()->setUnderline(PHPExcel_Style_Font::UNDERLINE_SINGLE); + } else if (isset($style->font->u) && isset($style->font->u["val"])) { + $docStyle->getFont()->setUnderline((string)$style->font->u["val"]); + } + + if (isset($style->font->vertAlign) && isset($style->font->vertAlign["val"])) { + $vertAlign = strtolower((string)$style->font->vertAlign["val"]); + if ($vertAlign == 'superscript') { + $docStyle->getFont()->setSuperScript(true); + } + if ($vertAlign == 'subscript') { + $docStyle->getFont()->setSubScript(true); + } + } + } + + // fill + if (isset($style->fill)) { + if ($style->fill->gradientFill) { + $gradientFill = $style->fill->gradientFill[0]; + if(!empty($gradientFill["type"])) { + $docStyle->getFill()->setFillType((string) $gradientFill["type"]); + } + $docStyle->getFill()->setRotation(floatval($gradientFill["degree"])); + $gradientFill->registerXPathNamespace("sml", "http://schemas.openxmlformats.org/spreadsheetml/2006/main"); + $docStyle->getFill()->getStartColor()->setARGB(self::_readColor( self::array_item($gradientFill->xpath("sml:stop[@position=0]"))->color) ); + $docStyle->getFill()->getEndColor()->setARGB(self::_readColor( self::array_item($gradientFill->xpath("sml:stop[@position=1]"))->color) ); + } elseif ($style->fill->patternFill) { + $patternType = (string)$style->fill->patternFill["patternType"] != '' ? (string)$style->fill->patternFill["patternType"] : 'solid'; + $docStyle->getFill()->setFillType($patternType); + if ($style->fill->patternFill->fgColor) { + $docStyle->getFill()->getStartColor()->setARGB(self::_readColor($style->fill->patternFill->fgColor,true)); + } else { + $docStyle->getFill()->getStartColor()->setARGB('FF000000'); + } + if ($style->fill->patternFill->bgColor) { + $docStyle->getFill()->getEndColor()->setARGB(self::_readColor($style->fill->patternFill->bgColor,true)); + } + } + } + + // border + if (isset($style->border)) { + $diagonalUp = self::boolean((string) $style->border["diagonalUp"]); + $diagonalDown = self::boolean((string) $style->border["diagonalDown"]); + if (!$diagonalUp && !$diagonalDown) { + $docStyle->getBorders()->setDiagonalDirection(PHPExcel_Style_Borders::DIAGONAL_NONE); + } elseif ($diagonalUp && !$diagonalDown) { + $docStyle->getBorders()->setDiagonalDirection(PHPExcel_Style_Borders::DIAGONAL_UP); + } elseif (!$diagonalUp && $diagonalDown) { + $docStyle->getBorders()->setDiagonalDirection(PHPExcel_Style_Borders::DIAGONAL_DOWN); + } else { + $docStyle->getBorders()->setDiagonalDirection(PHPExcel_Style_Borders::DIAGONAL_BOTH); + } + self::_readBorder($docStyle->getBorders()->getLeft(), $style->border->left); + self::_readBorder($docStyle->getBorders()->getRight(), $style->border->right); + self::_readBorder($docStyle->getBorders()->getTop(), $style->border->top); + self::_readBorder($docStyle->getBorders()->getBottom(), $style->border->bottom); + self::_readBorder($docStyle->getBorders()->getDiagonal(), $style->border->diagonal); + } + + // alignment + if (isset($style->alignment)) { + $docStyle->getAlignment()->setHorizontal((string) $style->alignment["horizontal"]); + $docStyle->getAlignment()->setVertical((string) $style->alignment["vertical"]); + + $textRotation = 0; + if ((int)$style->alignment["textRotation"] <= 90) { + $textRotation = (int)$style->alignment["textRotation"]; + } else if ((int)$style->alignment["textRotation"] > 90) { + $textRotation = 90 - (int)$style->alignment["textRotation"]; + } + + $docStyle->getAlignment()->setTextRotation(intval($textRotation)); + $docStyle->getAlignment()->setWrapText(self::boolean((string) $style->alignment["wrapText"])); + $docStyle->getAlignment()->setShrinkToFit(self::boolean((string) $style->alignment["shrinkToFit"])); + $docStyle->getAlignment()->setIndent( intval((string)$style->alignment["indent"]) > 0 ? intval((string)$style->alignment["indent"]) : 0 ); + $docStyle->getAlignment()->setReadorder( intval((string)$style->alignment["readingOrder"]) > 0 ? intval((string)$style->alignment["readingOrder"]) : 0 ); + } + + // protection + if (isset($style->protection)) { + if (isset($style->protection['locked'])) { + if (self::boolean((string) $style->protection['locked'])) { + $docStyle->getProtection()->setLocked(PHPExcel_Style_Protection::PROTECTION_PROTECTED); + } else { + $docStyle->getProtection()->setLocked(PHPExcel_Style_Protection::PROTECTION_UNPROTECTED); + } + } + + if (isset($style->protection['hidden'])) { + if (self::boolean((string) $style->protection['hidden'])) { + $docStyle->getProtection()->setHidden(PHPExcel_Style_Protection::PROTECTION_PROTECTED); + } else { + $docStyle->getProtection()->setHidden(PHPExcel_Style_Protection::PROTECTION_UNPROTECTED); + } + } + } + + // top-level style settings + if (isset($style->quotePrefix)) { + $docStyle->setQuotePrefix($style->quotePrefix); + } + } + + + private static function _readBorder($docBorder, $eleBorder) { + if (isset($eleBorder["style"])) { + $docBorder->setBorderStyle((string) $eleBorder["style"]); + } + if (isset($eleBorder->color)) { + $docBorder->getColor()->setARGB(self::_readColor($eleBorder->color)); + } + } + + + private function _parseRichText($is = null) { + $value = new PHPExcel_RichText(); + + if (isset($is->t)) { + $value->createText( PHPExcel_Shared_String::ControlCharacterOOXML2PHP( (string) $is->t ) ); + } else { + if(is_object($is->r)) { + foreach ($is->r as $run) { + if (!isset($run->rPr)) { + $objText = $value->createText( PHPExcel_Shared_String::ControlCharacterOOXML2PHP( (string) $run->t ) ); + + } else { + $objText = $value->createTextRun( PHPExcel_Shared_String::ControlCharacterOOXML2PHP( (string) $run->t ) ); + + if (isset($run->rPr->rFont["val"])) { + $objText->getFont()->setName((string) $run->rPr->rFont["val"]); + } + + if (isset($run->rPr->sz["val"])) { + $objText->getFont()->setSize((string) $run->rPr->sz["val"]); + } + + if (isset($run->rPr->color)) { + $objText->getFont()->setColor( new PHPExcel_Style_Color( self::_readColor($run->rPr->color) ) ); + } + + if ((isset($run->rPr->b["val"]) && self::boolean((string) $run->rPr->b["val"])) || + (isset($run->rPr->b) && !isset($run->rPr->b["val"]))) { + $objText->getFont()->setBold(TRUE); + } + + if ((isset($run->rPr->i["val"]) && self::boolean((string) $run->rPr->i["val"])) || + (isset($run->rPr->i) && !isset($run->rPr->i["val"]))) { + $objText->getFont()->setItalic(TRUE); + } + + if (isset($run->rPr->vertAlign) && isset($run->rPr->vertAlign["val"])) { + $vertAlign = strtolower((string)$run->rPr->vertAlign["val"]); + if ($vertAlign == 'superscript') { + $objText->getFont()->setSuperScript(TRUE); + } + if ($vertAlign == 'subscript') { + $objText->getFont()->setSubScript(TRUE); + } + } + + if (isset($run->rPr->u) && !isset($run->rPr->u["val"])) { + $objText->getFont()->setUnderline(PHPExcel_Style_Font::UNDERLINE_SINGLE); + } else if (isset($run->rPr->u) && isset($run->rPr->u["val"])) { + $objText->getFont()->setUnderline((string)$run->rPr->u["val"]); + } + + if ((isset($run->rPr->strike["val"]) && self::boolean((string) $run->rPr->strike["val"])) || + (isset($run->rPr->strike) && !isset($run->rPr->strike["val"]))) { + $objText->getFont()->setStrikethrough(TRUE); + } + } + } + } + } + + return $value; + } + + private function _readRibbon($excel, $customUITarget, $zip) + { + $baseDir = dirname($customUITarget); + $nameCustomUI = basename($customUITarget); + // get the xml file (ribbon) + $localRibbon = $this->_getFromZipArchive($zip, $customUITarget); + $customUIImagesNames = array(); + $customUIImagesBinaries = array(); + // something like customUI/_rels/customUI.xml.rels + $pathRels = $baseDir . '/_rels/' . $nameCustomUI . '.rels'; + $dataRels = $this->_getFromZipArchive($zip, $pathRels); + if ($dataRels) { + // exists and not empty if the ribbon have some pictures (other than internal MSO) + $UIRels = simplexml_load_string($this->securityScan($dataRels), 'SimpleXMLElement', PHPExcel_Settings::getLibXmlLoaderOptions()); + if ($UIRels) { + // we need to save id and target to avoid parsing customUI.xml and "guess" if it's a pseudo callback who load the image + foreach ($UIRels->Relationship as $ele) { + if ($ele["Type"] == 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/image') { + // an image ? + $customUIImagesNames[(string) $ele['Id']] = (string)$ele['Target']; + $customUIImagesBinaries[(string)$ele['Target']] = $this->_getFromZipArchive($zip, $baseDir . '/' . (string) $ele['Target']); + } + } + } + } + if ($localRibbon) { + $excel->setRibbonXMLData($customUITarget, $localRibbon); + if (count($customUIImagesNames) > 0 && count($customUIImagesBinaries) > 0) { + $excel->setRibbonBinObjects($customUIImagesNames, $customUIImagesBinaries); + } else { + $excel->setRibbonBinObjects(NULL); + } + } else { + $excel->setRibbonXMLData(NULL); + $excel->setRibbonBinObjects(NULL); + } + } + + private static function array_item($array, $key = 0) { + return (isset($array[$key]) ? $array[$key] : null); + } + + + private static function dir_add($base, $add) { + return preg_replace('~[^/]+/\.\./~', '', dirname($base) . "/$add"); + } + + + private static function toCSSArray($style) { + $style = str_replace(array("\r","\n"), "", $style); + + $temp = explode(';', $style); + $style = array(); + foreach ($temp as $item) { + $item = explode(':', $item); + + if (strpos($item[1], 'px') !== false) { + $item[1] = str_replace('px', '', $item[1]); + } + if (strpos($item[1], 'pt') !== false) { + $item[1] = str_replace('pt', '', $item[1]); + $item[1] = PHPExcel_Shared_Font::fontSizeToPixels($item[1]); + } + if (strpos($item[1], 'in') !== false) { + $item[1] = str_replace('in', '', $item[1]); + $item[1] = PHPExcel_Shared_Font::inchSizeToPixels($item[1]); + } + if (strpos($item[1], 'cm') !== false) { + $item[1] = str_replace('cm', '', $item[1]); + $item[1] = PHPExcel_Shared_Font::centimeterSizeToPixels($item[1]); + } + + $style[$item[0]] = $item[1]; + } + + return $style; + } + + private static function boolean($value = NULL) + { + if (is_object($value)) { + $value = (string) $value; + } + if (is_numeric($value)) { + return (bool) $value; + } + return ($value === 'true' || $value === 'TRUE'); + } +} diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Reader/Excel2007/Chart.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Reader/Excel2007/Chart.php new file mode 100644 index 00000000..1424276c --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Reader/Excel2007/Chart.php @@ -0,0 +1,517 @@ +attributes(); + if (isset($attributes[$name])) { + if ($format == 'string') { + return (string) $attributes[$name]; + } elseif ($format == 'integer') { + return (integer) $attributes[$name]; + } elseif ($format == 'boolean') { + return (boolean) ($attributes[$name] === '0' || $attributes[$name] !== 'true') ? false : true; + } else { + return (float) $attributes[$name]; + } + } + return null; + } // function _getAttribute() + + + private static function _readColor($color,$background=false) { + if (isset($color["rgb"])) { + return (string)$color["rgb"]; + } else if (isset($color["indexed"])) { + return PHPExcel_Style_Color::indexedColor($color["indexed"]-7,$background)->getARGB(); + } + } + + + public static function readChart($chartElements,$chartName) { + $namespacesChartMeta = $chartElements->getNamespaces(true); + $chartElementsC = $chartElements->children($namespacesChartMeta['c']); + + $XaxisLabel = $YaxisLabel = $legend = $title = NULL; + $dispBlanksAs = $plotVisOnly = NULL; + + foreach($chartElementsC as $chartElementKey => $chartElement) { + switch ($chartElementKey) { + case "chart": + foreach($chartElement as $chartDetailsKey => $chartDetails) { + $chartDetailsC = $chartDetails->children($namespacesChartMeta['c']); + switch ($chartDetailsKey) { + case "plotArea": + $plotAreaLayout = $XaxisLable = $YaxisLable = null; + $plotSeries = $plotAttributes = array(); + foreach($chartDetails as $chartDetailKey => $chartDetail) { + switch ($chartDetailKey) { + case "layout": + $plotAreaLayout = self::_chartLayoutDetails($chartDetail,$namespacesChartMeta,'plotArea'); + break; + case "catAx": + if (isset($chartDetail->title)) { + $XaxisLabel = self::_chartTitle($chartDetail->title->children($namespacesChartMeta['c']),$namespacesChartMeta,'cat'); + } + break; + case "dateAx": + if (isset($chartDetail->title)) { + $XaxisLabel = self::_chartTitle($chartDetail->title->children($namespacesChartMeta['c']),$namespacesChartMeta,'cat'); + } + break; + case "valAx": + if (isset($chartDetail->title)) { + $YaxisLabel = self::_chartTitle($chartDetail->title->children($namespacesChartMeta['c']),$namespacesChartMeta,'cat'); + } + break; + case "barChart": + case "bar3DChart": + $barDirection = self::_getAttribute($chartDetail->barDir, 'val', 'string'); + $plotSer = self::_chartDataSeries($chartDetail,$namespacesChartMeta,$chartDetailKey); + $plotSer->setPlotDirection($barDirection); + $plotSeries[] = $plotSer; + $plotAttributes = self::_readChartAttributes($chartDetail); + break; + case "lineChart": + case "line3DChart": + $plotSeries[] = self::_chartDataSeries($chartDetail,$namespacesChartMeta,$chartDetailKey); + $plotAttributes = self::_readChartAttributes($chartDetail); + break; + case "areaChart": + case "area3DChart": + $plotSeries[] = self::_chartDataSeries($chartDetail,$namespacesChartMeta,$chartDetailKey); + $plotAttributes = self::_readChartAttributes($chartDetail); + break; + case "doughnutChart": + case "pieChart": + case "pie3DChart": + $explosion = isset($chartDetail->ser->explosion); + $plotSer = self::_chartDataSeries($chartDetail,$namespacesChartMeta,$chartDetailKey); + $plotSer->setPlotStyle($explosion); + $plotSeries[] = $plotSer; + $plotAttributes = self::_readChartAttributes($chartDetail); + break; + case "scatterChart": + $scatterStyle = self::_getAttribute($chartDetail->scatterStyle, 'val', 'string'); + $plotSer = self::_chartDataSeries($chartDetail,$namespacesChartMeta,$chartDetailKey); + $plotSer->setPlotStyle($scatterStyle); + $plotSeries[] = $plotSer; + $plotAttributes = self::_readChartAttributes($chartDetail); + break; + case "bubbleChart": + $bubbleScale = self::_getAttribute($chartDetail->bubbleScale, 'val', 'integer'); + $plotSer = self::_chartDataSeries($chartDetail,$namespacesChartMeta,$chartDetailKey); + $plotSer->setPlotStyle($bubbleScale); + $plotSeries[] = $plotSer; + $plotAttributes = self::_readChartAttributes($chartDetail); + break; + case "radarChart": + $radarStyle = self::_getAttribute($chartDetail->radarStyle, 'val', 'string'); + $plotSer = self::_chartDataSeries($chartDetail,$namespacesChartMeta,$chartDetailKey); + $plotSer->setPlotStyle($radarStyle); + $plotSeries[] = $plotSer; + $plotAttributes = self::_readChartAttributes($chartDetail); + break; + case "surfaceChart": + case "surface3DChart": + $wireFrame = self::_getAttribute($chartDetail->wireframe, 'val', 'boolean'); + $plotSer = self::_chartDataSeries($chartDetail,$namespacesChartMeta,$chartDetailKey); + $plotSer->setPlotStyle($wireFrame); + $plotSeries[] = $plotSer; + $plotAttributes = self::_readChartAttributes($chartDetail); + break; + case "stockChart": + $plotSeries[] = self::_chartDataSeries($chartDetail,$namespacesChartMeta,$chartDetailKey); + $plotAttributes = self::_readChartAttributes($plotAreaLayout); + break; + } + } + if ($plotAreaLayout == NULL) { + $plotAreaLayout = new PHPExcel_Chart_Layout(); + } + $plotArea = new PHPExcel_Chart_PlotArea($plotAreaLayout,$plotSeries); + self::_setChartAttributes($plotAreaLayout,$plotAttributes); + break; + case "plotVisOnly": + $plotVisOnly = self::_getAttribute($chartDetails, 'val', 'string'); + break; + case "dispBlanksAs": + $dispBlanksAs = self::_getAttribute($chartDetails, 'val', 'string'); + break; + case "title": + $title = self::_chartTitle($chartDetails,$namespacesChartMeta,'title'); + break; + case "legend": + $legendPos = 'r'; + $legendLayout = null; + $legendOverlay = false; + foreach($chartDetails as $chartDetailKey => $chartDetail) { + switch ($chartDetailKey) { + case "legendPos": + $legendPos = self::_getAttribute($chartDetail, 'val', 'string'); + break; + case "overlay": + $legendOverlay = self::_getAttribute($chartDetail, 'val', 'boolean'); + break; + case "layout": + $legendLayout = self::_chartLayoutDetails($chartDetail,$namespacesChartMeta,'legend'); + break; + } + } + $legend = new PHPExcel_Chart_Legend($legendPos, $legendLayout, $legendOverlay); + break; + } + } + } + } + $chart = new PHPExcel_Chart($chartName,$title,$legend,$plotArea,$plotVisOnly,$dispBlanksAs,$XaxisLabel,$YaxisLabel); + + return $chart; + } // function readChart() + + + private static function _chartTitle($titleDetails,$namespacesChartMeta,$type) { + $caption = array(); + $titleLayout = null; + foreach($titleDetails as $titleDetailKey => $chartDetail) { + switch ($titleDetailKey) { + case "tx": + $titleDetails = $chartDetail->rich->children($namespacesChartMeta['a']); + foreach($titleDetails as $titleKey => $titleDetail) { + switch ($titleKey) { + case "p": + $titleDetailPart = $titleDetail->children($namespacesChartMeta['a']); + $caption[] = self::_parseRichText($titleDetailPart); + } + } + break; + case "layout": + $titleLayout = self::_chartLayoutDetails($chartDetail,$namespacesChartMeta); + break; + } + } + + return new PHPExcel_Chart_Title($caption, $titleLayout); + } // function _chartTitle() + + + private static function _chartLayoutDetails($chartDetail,$namespacesChartMeta) { + if (!isset($chartDetail->manualLayout)) { + return null; + } + $details = $chartDetail->manualLayout->children($namespacesChartMeta['c']); + if (is_null($details)) { + return null; + } + $layout = array(); + foreach($details as $detailKey => $detail) { +// echo $detailKey,' => ',self::_getAttribute($detail, 'val', 'string'),PHP_EOL; + $layout[$detailKey] = self::_getAttribute($detail, 'val', 'string'); + } + return new PHPExcel_Chart_Layout($layout); + } // function _chartLayoutDetails() + + + private static function _chartDataSeries($chartDetail,$namespacesChartMeta,$plotType) { + $multiSeriesType = NULL; + $smoothLine = false; + $seriesLabel = $seriesCategory = $seriesValues = $plotOrder = array(); + + $seriesDetailSet = $chartDetail->children($namespacesChartMeta['c']); + foreach($seriesDetailSet as $seriesDetailKey => $seriesDetails) { + switch ($seriesDetailKey) { + case "grouping": + $multiSeriesType = self::_getAttribute($chartDetail->grouping, 'val', 'string'); + break; + case "ser": + $marker = NULL; + foreach($seriesDetails as $seriesKey => $seriesDetail) { + switch ($seriesKey) { + case "idx": + $seriesIndex = self::_getAttribute($seriesDetail, 'val', 'integer'); + break; + case "order": + $seriesOrder = self::_getAttribute($seriesDetail, 'val', 'integer'); + $plotOrder[$seriesIndex] = $seriesOrder; + break; + case "tx": + $seriesLabel[$seriesIndex] = self::_chartDataSeriesValueSet($seriesDetail,$namespacesChartMeta); + break; + case "marker": + $marker = self::_getAttribute($seriesDetail->symbol, 'val', 'string'); + break; + case "smooth": + $smoothLine = self::_getAttribute($seriesDetail, 'val', 'boolean'); + break; + case "cat": + $seriesCategory[$seriesIndex] = self::_chartDataSeriesValueSet($seriesDetail,$namespacesChartMeta); + break; + case "val": + $seriesValues[$seriesIndex] = self::_chartDataSeriesValueSet($seriesDetail,$namespacesChartMeta,$marker); + break; + case "xVal": + $seriesCategory[$seriesIndex] = self::_chartDataSeriesValueSet($seriesDetail,$namespacesChartMeta,$marker); + break; + case "yVal": + $seriesValues[$seriesIndex] = self::_chartDataSeriesValueSet($seriesDetail,$namespacesChartMeta,$marker); + break; + } + } + } + } + return new PHPExcel_Chart_DataSeries($plotType,$multiSeriesType,$plotOrder,$seriesLabel,$seriesCategory,$seriesValues,$smoothLine); + } // function _chartDataSeries() + + + private static function _chartDataSeriesValueSet($seriesDetail, $namespacesChartMeta, $marker = null, $smoothLine = false) { + if (isset($seriesDetail->strRef)) { + $seriesSource = (string) $seriesDetail->strRef->f; + $seriesData = self::_chartDataSeriesValues($seriesDetail->strRef->strCache->children($namespacesChartMeta['c']),'s'); + + return new PHPExcel_Chart_DataSeriesValues('String',$seriesSource,$seriesData['formatCode'],$seriesData['pointCount'],$seriesData['dataValues'],$marker,$smoothLine); + } elseif (isset($seriesDetail->numRef)) { + $seriesSource = (string) $seriesDetail->numRef->f; + $seriesData = self::_chartDataSeriesValues($seriesDetail->numRef->numCache->children($namespacesChartMeta['c'])); + + return new PHPExcel_Chart_DataSeriesValues('Number',$seriesSource,$seriesData['formatCode'],$seriesData['pointCount'],$seriesData['dataValues'],$marker,$smoothLine); + } elseif (isset($seriesDetail->multiLvlStrRef)) { + $seriesSource = (string) $seriesDetail->multiLvlStrRef->f; + $seriesData = self::_chartDataSeriesValuesMultiLevel($seriesDetail->multiLvlStrRef->multiLvlStrCache->children($namespacesChartMeta['c']),'s'); + $seriesData['pointCount'] = count($seriesData['dataValues']); + + return new PHPExcel_Chart_DataSeriesValues('String',$seriesSource,$seriesData['formatCode'],$seriesData['pointCount'],$seriesData['dataValues'],$marker,$smoothLine); + } elseif (isset($seriesDetail->multiLvlNumRef)) { + $seriesSource = (string) $seriesDetail->multiLvlNumRef->f; + $seriesData = self::_chartDataSeriesValuesMultiLevel($seriesDetail->multiLvlNumRef->multiLvlNumCache->children($namespacesChartMeta['c']),'s'); + $seriesData['pointCount'] = count($seriesData['dataValues']); + + return new PHPExcel_Chart_DataSeriesValues('String',$seriesSource,$seriesData['formatCode'],$seriesData['pointCount'],$seriesData['dataValues'],$marker,$smoothLine); + } + return null; + } // function _chartDataSeriesValueSet() + + + private static function _chartDataSeriesValues($seriesValueSet,$dataType='n') { + $seriesVal = array(); + $formatCode = ''; + $pointCount = 0; + + foreach($seriesValueSet as $seriesValueIdx => $seriesValue) { + switch ($seriesValueIdx) { + case 'ptCount': + $pointCount = self::_getAttribute($seriesValue, 'val', 'integer'); + break; + case 'formatCode': + $formatCode = (string) $seriesValue; + break; + case 'pt': + $pointVal = self::_getAttribute($seriesValue, 'idx', 'integer'); + if ($dataType == 's') { + $seriesVal[$pointVal] = (string) $seriesValue->v; + } else { + $seriesVal[$pointVal] = (float) $seriesValue->v; + } + break; + } + } + + if (empty($seriesVal)) { + $seriesVal = NULL; + } + + return array( 'formatCode' => $formatCode, + 'pointCount' => $pointCount, + 'dataValues' => $seriesVal + ); + } // function _chartDataSeriesValues() + + + private static function _chartDataSeriesValuesMultiLevel($seriesValueSet,$dataType='n') { + $seriesVal = array(); + $formatCode = ''; + $pointCount = 0; + + foreach($seriesValueSet->lvl as $seriesLevelIdx => $seriesLevel) { + foreach($seriesLevel as $seriesValueIdx => $seriesValue) { + switch ($seriesValueIdx) { + case 'ptCount': + $pointCount = self::_getAttribute($seriesValue, 'val', 'integer'); + break; + case 'formatCode': + $formatCode = (string) $seriesValue; + break; + case 'pt': + $pointVal = self::_getAttribute($seriesValue, 'idx', 'integer'); + if ($dataType == 's') { + $seriesVal[$pointVal][] = (string) $seriesValue->v; + } else { + $seriesVal[$pointVal][] = (float) $seriesValue->v; + } + break; + } + } + } + + return array( 'formatCode' => $formatCode, + 'pointCount' => $pointCount, + 'dataValues' => $seriesVal + ); + } // function _chartDataSeriesValuesMultiLevel() + + private static function _parseRichText($titleDetailPart = null) { + $value = new PHPExcel_RichText(); + + foreach($titleDetailPart as $titleDetailElementKey => $titleDetailElement) { + if (isset($titleDetailElement->t)) { + $objText = $value->createTextRun( (string) $titleDetailElement->t ); + } + if (isset($titleDetailElement->rPr)) { + if (isset($titleDetailElement->rPr->rFont["val"])) { + $objText->getFont()->setName((string) $titleDetailElement->rPr->rFont["val"]); + } + + $fontSize = (self::_getAttribute($titleDetailElement->rPr, 'sz', 'integer')); + if (!is_null($fontSize)) { + $objText->getFont()->setSize(floor($fontSize / 100)); + } + + $fontColor = (self::_getAttribute($titleDetailElement->rPr, 'color', 'string')); + if (!is_null($fontColor)) { + $objText->getFont()->setColor( new PHPExcel_Style_Color( self::_readColor($fontColor) ) ); + } + + $bold = self::_getAttribute($titleDetailElement->rPr, 'b', 'boolean'); + if (!is_null($bold)) { + $objText->getFont()->setBold($bold); + } + + $italic = self::_getAttribute($titleDetailElement->rPr, 'i', 'boolean'); + if (!is_null($italic)) { + $objText->getFont()->setItalic($italic); + } + + $baseline = self::_getAttribute($titleDetailElement->rPr, 'baseline', 'integer'); + if (!is_null($baseline)) { + if ($baseline > 0) { + $objText->getFont()->setSuperScript(true); + } elseif($baseline < 0) { + $objText->getFont()->setSubScript(true); + } + } + + $underscore = (self::_getAttribute($titleDetailElement->rPr, 'u', 'string')); + if (!is_null($underscore)) { + if ($underscore == 'sng') { + $objText->getFont()->setUnderline(PHPExcel_Style_Font::UNDERLINE_SINGLE); + } elseif($underscore == 'dbl') { + $objText->getFont()->setUnderline(PHPExcel_Style_Font::UNDERLINE_DOUBLE); + } else { + $objText->getFont()->setUnderline(PHPExcel_Style_Font::UNDERLINE_NONE); + } + } + + $strikethrough = (self::_getAttribute($titleDetailElement->rPr, 's', 'string')); + if (!is_null($strikethrough)) { + if ($strikethrough == 'noStrike') { + $objText->getFont()->setStrikethrough(false); + } else { + $objText->getFont()->setStrikethrough(true); + } + } + } + } + + return $value; + } + + private static function _readChartAttributes($chartDetail) { + $plotAttributes = array(); + if (isset($chartDetail->dLbls)) { + if (isset($chartDetail->dLbls->howLegendKey)) { + $plotAttributes['showLegendKey'] = self::_getAttribute($chartDetail->dLbls->showLegendKey, 'val', 'string'); + } + if (isset($chartDetail->dLbls->showVal)) { + $plotAttributes['showVal'] = self::_getAttribute($chartDetail->dLbls->showVal, 'val', 'string'); + } + if (isset($chartDetail->dLbls->showCatName)) { + $plotAttributes['showCatName'] = self::_getAttribute($chartDetail->dLbls->showCatName, 'val', 'string'); + } + if (isset($chartDetail->dLbls->showSerName)) { + $plotAttributes['showSerName'] = self::_getAttribute($chartDetail->dLbls->showSerName, 'val', 'string'); + } + if (isset($chartDetail->dLbls->showPercent)) { + $plotAttributes['showPercent'] = self::_getAttribute($chartDetail->dLbls->showPercent, 'val', 'string'); + } + if (isset($chartDetail->dLbls->showBubbleSize)) { + $plotAttributes['showBubbleSize'] = self::_getAttribute($chartDetail->dLbls->showBubbleSize, 'val', 'string'); + } + if (isset($chartDetail->dLbls->showLeaderLines)) { + $plotAttributes['showLeaderLines'] = self::_getAttribute($chartDetail->dLbls->showLeaderLines, 'val', 'string'); + } + } + + return $plotAttributes; + } + + private static function _setChartAttributes($plotArea,$plotAttributes) + { + foreach($plotAttributes as $plotAttributeKey => $plotAttributeValue) { + switch($plotAttributeKey) { + case 'showLegendKey' : + $plotArea->setShowLegendKey($plotAttributeValue); + break; + case 'showVal' : + $plotArea->setShowVal($plotAttributeValue); + break; + case 'showCatName' : + $plotArea->setShowCatName($plotAttributeValue); + break; + case 'showSerName' : + $plotArea->setShowSerName($plotAttributeValue); + break; + case 'showPercent' : + $plotArea->setShowPercent($plotAttributeValue); + break; + case 'showBubbleSize' : + $plotArea->setShowBubbleSize($plotAttributeValue); + break; + case 'showLeaderLines' : + $plotArea->setShowLeaderLines($plotAttributeValue); + break; + } + } + } + +} diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Reader/Excel2007/Theme.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Reader/Excel2007/Theme.php new file mode 100644 index 00000000..a371c620 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Reader/Excel2007/Theme.php @@ -0,0 +1,124 @@ +_themeName = $themeName; + $this->_colourSchemeName = $colourSchemeName; + $this->_colourMap = $colourMap; + } + + /** + * Get Theme Name + * + * @return string + */ + public function getThemeName() + { + return $this->_themeName; + } + + /** + * Get colour Scheme Name + * + * @return string + */ + public function getColourSchemeName() { + return $this->_colourSchemeName; + } + + /** + * Get colour Map Value by Position + * + * @return string + */ + public function getColourByIndex($index=0) { + if (isset($this->_colourMap[$index])) { + return $this->_colourMap[$index]; + } + return null; + } + + /** + * Implement PHP __clone to create a deep clone, not just a shallow copy. + */ + public function __clone() { + $vars = get_object_vars($this); + foreach ($vars as $key => $value) { + if ((is_object($value)) && ($key != '_parent')) { + $this->$key = clone $value; + } else { + $this->$key = $value; + } + } + } +} diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Reader/Excel5.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Reader/Excel5.php new file mode 100644 index 00000000..f2893ece --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Reader/Excel5.php @@ -0,0 +1,7088 @@ +_data + * + * @var int + */ + private $_dataSize; + + /** + * Current position in stream + * + * @var integer + */ + private $_pos; + + /** + * Workbook to be returned by the reader. + * + * @var PHPExcel + */ + private $_phpExcel; + + /** + * Worksheet that is currently being built by the reader. + * + * @var PHPExcel_Worksheet + */ + private $_phpSheet; + + /** + * BIFF version + * + * @var int + */ + private $_version; + + /** + * Codepage set in the Excel file being read. Only important for BIFF5 (Excel 5.0 - Excel 95) + * For BIFF8 (Excel 97 - Excel 2003) this will always have the value 'UTF-16LE' + * + * @var string + */ + private $_codepage; + + /** + * Shared formats + * + * @var array + */ + private $_formats; + + /** + * Shared fonts + * + * @var array + */ + private $_objFonts; + + /** + * Color palette + * + * @var array + */ + private $_palette; + + /** + * Worksheets + * + * @var array + */ + private $_sheets; + + /** + * External books + * + * @var array + */ + private $_externalBooks; + + /** + * REF structures. Only applies to BIFF8. + * + * @var array + */ + private $_ref; + + /** + * External names + * + * @var array + */ + private $_externalNames; + + /** + * Defined names + * + * @var array + */ + private $_definedname; + + /** + * Shared strings. Only applies to BIFF8. + * + * @var array + */ + private $_sst; + + /** + * Panes are frozen? (in sheet currently being read). See WINDOW2 record. + * + * @var boolean + */ + private $_frozen; + + /** + * Fit printout to number of pages? (in sheet currently being read). See SHEETPR record. + * + * @var boolean + */ + private $_isFitToPages; + + /** + * Objects. One OBJ record contributes with one entry. + * + * @var array + */ + private $_objs; + + /** + * Text Objects. One TXO record corresponds with one entry. + * + * @var array + */ + private $_textObjects; + + /** + * Cell Annotations (BIFF8) + * + * @var array + */ + private $_cellNotes; + + /** + * The combined MSODRAWINGGROUP data + * + * @var string + */ + private $_drawingGroupData; + + /** + * The combined MSODRAWING data (per sheet) + * + * @var string + */ + private $_drawingData; + + /** + * Keep track of XF index + * + * @var int + */ + private $_xfIndex; + + /** + * Mapping of XF index (that is a cell XF) to final index in cellXf collection + * + * @var array + */ + private $_mapCellXfIndex; + + /** + * Mapping of XF index (that is a style XF) to final index in cellStyleXf collection + * + * @var array + */ + private $_mapCellStyleXfIndex; + + /** + * The shared formulas in a sheet. One SHAREDFMLA record contributes with one value. + * + * @var array + */ + private $_sharedFormulas; + + /** + * The shared formula parts in a sheet. One FORMULA record contributes with one value if it + * refers to a shared formula. + * + * @var array + */ + private $_sharedFormulaParts; + + /** + * The type of encryption in use + * + * @var int + */ + private $_encryption = 0; + + /** + * The position in the stream after which contents are encrypted + * + * @var int + */ + private $_encryptionStartPos = false; + + /** + * The current RC4 decryption object + * + * @var PHPExcel_Reader_Excel5_RC4 + */ + private $_rc4Key = null; + + /** + * The position in the stream that the RC4 decryption object was left at + * + * @var int + */ + private $_rc4Pos = 0; + + /** + * The current MD5 context state + * + * @var string + */ + private $_md5Ctxt = null; + + /** + * Create a new PHPExcel_Reader_Excel5 instance + */ + public function __construct() { + $this->_readFilter = new PHPExcel_Reader_DefaultReadFilter(); + } + + + /** + * Can the current PHPExcel_Reader_IReader read the file? + * + * @param string $pFilename + * @return boolean + * @throws PHPExcel_Reader_Exception + */ + public function canRead($pFilename) + { + // Check if file exists + if (!file_exists($pFilename)) { + throw new PHPExcel_Reader_Exception("Could not open " . $pFilename . " for reading! File does not exist."); + } + + try { + // Use ParseXL for the hard work. + $ole = new PHPExcel_Shared_OLERead(); + + // get excel data + $res = $ole->read($pFilename); + return true; + } catch (PHPExcel_Exception $e) { + return false; + } + } + + + /** + * Reads names of the worksheets from a file, without parsing the whole file to a PHPExcel object + * + * @param string $pFilename + * @throws PHPExcel_Reader_Exception + */ + public function listWorksheetNames($pFilename) + { + // Check if file exists + if (!file_exists($pFilename)) { + throw new PHPExcel_Reader_Exception("Could not open " . $pFilename . " for reading! File does not exist."); + } + + $worksheetNames = array(); + + // Read the OLE file + $this->_loadOLE($pFilename); + + // total byte size of Excel data (workbook global substream + sheet substreams) + $this->_dataSize = strlen($this->_data); + + $this->_pos = 0; + $this->_sheets = array(); + + // Parse Workbook Global Substream + while ($this->_pos < $this->_dataSize) { + $code = self::_GetInt2d($this->_data, $this->_pos); + + switch ($code) { + case self::XLS_Type_BOF: $this->_readBof(); break; + case self::XLS_Type_SHEET: $this->_readSheet(); break; + case self::XLS_Type_EOF: $this->_readDefault(); break 2; + default: $this->_readDefault(); break; + } + } + + foreach ($this->_sheets as $sheet) { + if ($sheet['sheetType'] != 0x00) { + // 0x00: Worksheet, 0x02: Chart, 0x06: Visual Basic module + continue; + } + + $worksheetNames[] = $sheet['name']; + } + + return $worksheetNames; + } + + + /** + * Return worksheet info (Name, Last Column Letter, Last Column Index, Total Rows, Total Columns) + * + * @param string $pFilename + * @throws PHPExcel_Reader_Exception + */ + public function listWorksheetInfo($pFilename) + { + // Check if file exists + if (!file_exists($pFilename)) { + throw new PHPExcel_Reader_Exception("Could not open " . $pFilename . " for reading! File does not exist."); + } + + $worksheetInfo = array(); + + // Read the OLE file + $this->_loadOLE($pFilename); + + // total byte size of Excel data (workbook global substream + sheet substreams) + $this->_dataSize = strlen($this->_data); + + // initialize + $this->_pos = 0; + $this->_sheets = array(); + + // Parse Workbook Global Substream + while ($this->_pos < $this->_dataSize) { + $code = self::_GetInt2d($this->_data, $this->_pos); + + switch ($code) { + case self::XLS_Type_BOF: $this->_readBof(); break; + case self::XLS_Type_SHEET: $this->_readSheet(); break; + case self::XLS_Type_EOF: $this->_readDefault(); break 2; + default: $this->_readDefault(); break; + } + } + + // Parse the individual sheets + foreach ($this->_sheets as $sheet) { + + if ($sheet['sheetType'] != 0x00) { + // 0x00: Worksheet + // 0x02: Chart + // 0x06: Visual Basic module + continue; + } + + $tmpInfo = array(); + $tmpInfo['worksheetName'] = $sheet['name']; + $tmpInfo['lastColumnLetter'] = 'A'; + $tmpInfo['lastColumnIndex'] = 0; + $tmpInfo['totalRows'] = 0; + $tmpInfo['totalColumns'] = 0; + + $this->_pos = $sheet['offset']; + + while ($this->_pos <= $this->_dataSize - 4) { + $code = self::_GetInt2d($this->_data, $this->_pos); + + switch ($code) { + case self::XLS_Type_RK: + case self::XLS_Type_LABELSST: + case self::XLS_Type_NUMBER: + case self::XLS_Type_FORMULA: + case self::XLS_Type_BOOLERR: + case self::XLS_Type_LABEL: + $length = self::_GetInt2d($this->_data, $this->_pos + 2); + $recordData = $this->_readRecordData($this->_data, $this->_pos + 4, $length); + + // move stream pointer to next record + $this->_pos += 4 + $length; + + $rowIndex = self::_GetInt2d($recordData, 0) + 1; + $columnIndex = self::_GetInt2d($recordData, 2); + + $tmpInfo['totalRows'] = max($tmpInfo['totalRows'], $rowIndex); + $tmpInfo['lastColumnIndex'] = max($tmpInfo['lastColumnIndex'], $columnIndex); + break; + case self::XLS_Type_BOF: $this->_readBof(); break; + case self::XLS_Type_EOF: $this->_readDefault(); break 2; + default: $this->_readDefault(); break; + } + } + + $tmpInfo['lastColumnLetter'] = PHPExcel_Cell::stringFromColumnIndex($tmpInfo['lastColumnIndex']); + $tmpInfo['totalColumns'] = $tmpInfo['lastColumnIndex'] + 1; + + $worksheetInfo[] = $tmpInfo; + } + + return $worksheetInfo; + } + + + /** + * Loads PHPExcel from file + * + * @param string $pFilename + * @return PHPExcel + * @throws PHPExcel_Reader_Exception + */ + public function load($pFilename) + { + // Read the OLE file + $this->_loadOLE($pFilename); + + // Initialisations + $this->_phpExcel = new PHPExcel; + $this->_phpExcel->removeSheetByIndex(0); // remove 1st sheet + if (!$this->_readDataOnly) { + $this->_phpExcel->removeCellStyleXfByIndex(0); // remove the default style + $this->_phpExcel->removeCellXfByIndex(0); // remove the default style + } + + // Read the summary information stream (containing meta data) + $this->_readSummaryInformation(); + + // Read the Additional document summary information stream (containing application-specific meta data) + $this->_readDocumentSummaryInformation(); + + // total byte size of Excel data (workbook global substream + sheet substreams) + $this->_dataSize = strlen($this->_data); + + // initialize + $this->_pos = 0; + $this->_codepage = 'CP1252'; + $this->_formats = array(); + $this->_objFonts = array(); + $this->_palette = array(); + $this->_sheets = array(); + $this->_externalBooks = array(); + $this->_ref = array(); + $this->_definedname = array(); + $this->_sst = array(); + $this->_drawingGroupData = ''; + $this->_xfIndex = ''; + $this->_mapCellXfIndex = array(); + $this->_mapCellStyleXfIndex = array(); + + // Parse Workbook Global Substream + while ($this->_pos < $this->_dataSize) { + $code = self::_GetInt2d($this->_data, $this->_pos); + + switch ($code) { + case self::XLS_Type_BOF: $this->_readBof(); break; + case self::XLS_Type_FILEPASS: $this->_readFilepass(); break; + case self::XLS_Type_CODEPAGE: $this->_readCodepage(); break; + case self::XLS_Type_DATEMODE: $this->_readDateMode(); break; + case self::XLS_Type_FONT: $this->_readFont(); break; + case self::XLS_Type_FORMAT: $this->_readFormat(); break; + case self::XLS_Type_XF: $this->_readXf(); break; + case self::XLS_Type_XFEXT: $this->_readXfExt(); break; + case self::XLS_Type_STYLE: $this->_readStyle(); break; + case self::XLS_Type_PALETTE: $this->_readPalette(); break; + case self::XLS_Type_SHEET: $this->_readSheet(); break; + case self::XLS_Type_EXTERNALBOOK: $this->_readExternalBook(); break; + case self::XLS_Type_EXTERNNAME: $this->_readExternName(); break; + case self::XLS_Type_EXTERNSHEET: $this->_readExternSheet(); break; + case self::XLS_Type_DEFINEDNAME: $this->_readDefinedName(); break; + case self::XLS_Type_MSODRAWINGGROUP: $this->_readMsoDrawingGroup(); break; + case self::XLS_Type_SST: $this->_readSst(); break; + case self::XLS_Type_EOF: $this->_readDefault(); break 2; + default: $this->_readDefault(); break; + } + } + + // Resolve indexed colors for font, fill, and border colors + // Cannot be resolved already in XF record, because PALETTE record comes afterwards + if (!$this->_readDataOnly) { + foreach ($this->_objFonts as $objFont) { + if (isset($objFont->colorIndex)) { + $color = self::_readColor($objFont->colorIndex,$this->_palette,$this->_version); + $objFont->getColor()->setRGB($color['rgb']); + } + } + + foreach ($this->_phpExcel->getCellXfCollection() as $objStyle) { + // fill start and end color + $fill = $objStyle->getFill(); + + if (isset($fill->startcolorIndex)) { + $startColor = self::_readColor($fill->startcolorIndex,$this->_palette,$this->_version); + $fill->getStartColor()->setRGB($startColor['rgb']); + } + + if (isset($fill->endcolorIndex)) { + $endColor = self::_readColor($fill->endcolorIndex,$this->_palette,$this->_version); + $fill->getEndColor()->setRGB($endColor['rgb']); + } + + // border colors + $top = $objStyle->getBorders()->getTop(); + $right = $objStyle->getBorders()->getRight(); + $bottom = $objStyle->getBorders()->getBottom(); + $left = $objStyle->getBorders()->getLeft(); + $diagonal = $objStyle->getBorders()->getDiagonal(); + + if (isset($top->colorIndex)) { + $borderTopColor = self::_readColor($top->colorIndex,$this->_palette,$this->_version); + $top->getColor()->setRGB($borderTopColor['rgb']); + } + + if (isset($right->colorIndex)) { + $borderRightColor = self::_readColor($right->colorIndex,$this->_palette,$this->_version); + $right->getColor()->setRGB($borderRightColor['rgb']); + } + + if (isset($bottom->colorIndex)) { + $borderBottomColor = self::_readColor($bottom->colorIndex,$this->_palette,$this->_version); + $bottom->getColor()->setRGB($borderBottomColor['rgb']); + } + + if (isset($left->colorIndex)) { + $borderLeftColor = self::_readColor($left->colorIndex,$this->_palette,$this->_version); + $left->getColor()->setRGB($borderLeftColor['rgb']); + } + + if (isset($diagonal->colorIndex)) { + $borderDiagonalColor = self::_readColor($diagonal->colorIndex,$this->_palette,$this->_version); + $diagonal->getColor()->setRGB($borderDiagonalColor['rgb']); + } + } + } + + // treat MSODRAWINGGROUP records, workbook-level Escher + if (!$this->_readDataOnly && $this->_drawingGroupData) { + $escherWorkbook = new PHPExcel_Shared_Escher(); + $reader = new PHPExcel_Reader_Excel5_Escher($escherWorkbook); + $escherWorkbook = $reader->load($this->_drawingGroupData); + + // debug Escher stream + //$debug = new Debug_Escher(new PHPExcel_Shared_Escher()); + //$debug->load($this->_drawingGroupData); + } + + // Parse the individual sheets + foreach ($this->_sheets as $sheet) { + + if ($sheet['sheetType'] != 0x00) { + // 0x00: Worksheet, 0x02: Chart, 0x06: Visual Basic module + continue; + } + + // check if sheet should be skipped + if (isset($this->_loadSheetsOnly) && !in_array($sheet['name'], $this->_loadSheetsOnly)) { + continue; + } + + // add sheet to PHPExcel object + $this->_phpSheet = $this->_phpExcel->createSheet(); + // Use false for $updateFormulaCellReferences to prevent adjustment of worksheet references in formula + // cells... during the load, all formulae should be correct, and we're simply bringing the worksheet + // name in line with the formula, not the reverse + $this->_phpSheet->setTitle($sheet['name'],false); + $this->_phpSheet->setSheetState($sheet['sheetState']); + + $this->_pos = $sheet['offset']; + + // Initialize isFitToPages. May change after reading SHEETPR record. + $this->_isFitToPages = false; + + // Initialize drawingData + $this->_drawingData = ''; + + // Initialize objs + $this->_objs = array(); + + // Initialize shared formula parts + $this->_sharedFormulaParts = array(); + + // Initialize shared formulas + $this->_sharedFormulas = array(); + + // Initialize text objs + $this->_textObjects = array(); + + // Initialize cell annotations + $this->_cellNotes = array(); + $this->textObjRef = -1; + + while ($this->_pos <= $this->_dataSize - 4) { + $code = self::_GetInt2d($this->_data, $this->_pos); + + switch ($code) { + case self::XLS_Type_BOF: $this->_readBof(); break; + case self::XLS_Type_PRINTGRIDLINES: $this->_readPrintGridlines(); break; + case self::XLS_Type_DEFAULTROWHEIGHT: $this->_readDefaultRowHeight(); break; + case self::XLS_Type_SHEETPR: $this->_readSheetPr(); break; + case self::XLS_Type_HORIZONTALPAGEBREAKS: $this->_readHorizontalPageBreaks(); break; + case self::XLS_Type_VERTICALPAGEBREAKS: $this->_readVerticalPageBreaks(); break; + case self::XLS_Type_HEADER: $this->_readHeader(); break; + case self::XLS_Type_FOOTER: $this->_readFooter(); break; + case self::XLS_Type_HCENTER: $this->_readHcenter(); break; + case self::XLS_Type_VCENTER: $this->_readVcenter(); break; + case self::XLS_Type_LEFTMARGIN: $this->_readLeftMargin(); break; + case self::XLS_Type_RIGHTMARGIN: $this->_readRightMargin(); break; + case self::XLS_Type_TOPMARGIN: $this->_readTopMargin(); break; + case self::XLS_Type_BOTTOMMARGIN: $this->_readBottomMargin(); break; + case self::XLS_Type_PAGESETUP: $this->_readPageSetup(); break; + case self::XLS_Type_PROTECT: $this->_readProtect(); break; + case self::XLS_Type_SCENPROTECT: $this->_readScenProtect(); break; + case self::XLS_Type_OBJECTPROTECT: $this->_readObjectProtect(); break; + case self::XLS_Type_PASSWORD: $this->_readPassword(); break; + case self::XLS_Type_DEFCOLWIDTH: $this->_readDefColWidth(); break; + case self::XLS_Type_COLINFO: $this->_readColInfo(); break; + case self::XLS_Type_DIMENSION: $this->_readDefault(); break; + case self::XLS_Type_ROW: $this->_readRow(); break; + case self::XLS_Type_DBCELL: $this->_readDefault(); break; + case self::XLS_Type_RK: $this->_readRk(); break; + case self::XLS_Type_LABELSST: $this->_readLabelSst(); break; + case self::XLS_Type_MULRK: $this->_readMulRk(); break; + case self::XLS_Type_NUMBER: $this->_readNumber(); break; + case self::XLS_Type_FORMULA: $this->_readFormula(); break; + case self::XLS_Type_SHAREDFMLA: $this->_readSharedFmla(); break; + case self::XLS_Type_BOOLERR: $this->_readBoolErr(); break; + case self::XLS_Type_MULBLANK: $this->_readMulBlank(); break; + case self::XLS_Type_LABEL: $this->_readLabel(); break; + case self::XLS_Type_BLANK: $this->_readBlank(); break; + case self::XLS_Type_MSODRAWING: $this->_readMsoDrawing(); break; + case self::XLS_Type_OBJ: $this->_readObj(); break; + case self::XLS_Type_WINDOW2: $this->_readWindow2(); break; + case self::XLS_Type_PAGELAYOUTVIEW: $this->_readPageLayoutView(); break; + case self::XLS_Type_SCL: $this->_readScl(); break; + case self::XLS_Type_PANE: $this->_readPane(); break; + case self::XLS_Type_SELECTION: $this->_readSelection(); break; + case self::XLS_Type_MERGEDCELLS: $this->_readMergedCells(); break; + case self::XLS_Type_HYPERLINK: $this->_readHyperLink(); break; + case self::XLS_Type_DATAVALIDATIONS: $this->_readDataValidations(); break; + case self::XLS_Type_DATAVALIDATION: $this->_readDataValidation(); break; + case self::XLS_Type_SHEETLAYOUT: $this->_readSheetLayout(); break; + case self::XLS_Type_SHEETPROTECTION: $this->_readSheetProtection(); break; + case self::XLS_Type_RANGEPROTECTION: $this->_readRangeProtection(); break; + case self::XLS_Type_NOTE: $this->_readNote(); break; + //case self::XLS_Type_IMDATA: $this->_readImData(); break; + case self::XLS_Type_TXO: $this->_readTextObject(); break; + case self::XLS_Type_CONTINUE: $this->_readContinue(); break; + case self::XLS_Type_EOF: $this->_readDefault(); break 2; + default: $this->_readDefault(); break; + } + + } + + // treat MSODRAWING records, sheet-level Escher + if (!$this->_readDataOnly && $this->_drawingData) { + $escherWorksheet = new PHPExcel_Shared_Escher(); + $reader = new PHPExcel_Reader_Excel5_Escher($escherWorksheet); + $escherWorksheet = $reader->load($this->_drawingData); + + // debug Escher stream + //$debug = new Debug_Escher(new PHPExcel_Shared_Escher()); + //$debug->load($this->_drawingData); + + // get all spContainers in one long array, so they can be mapped to OBJ records + $allSpContainers = $escherWorksheet->getDgContainer()->getSpgrContainer()->getAllSpContainers(); + } + + // treat OBJ records + foreach ($this->_objs as $n => $obj) { +// echo '
Object reference is ',$n,'
'; +// var_dump($obj); +// echo '
'; + + // the first shape container never has a corresponding OBJ record, hence $n + 1 + if (isset($allSpContainers[$n + 1]) && is_object($allSpContainers[$n + 1])) { + $spContainer = $allSpContainers[$n + 1]; + + // we skip all spContainers that are a part of a group shape since we cannot yet handle those + if ($spContainer->getNestingLevel() > 1) { + continue; + } + + // calculate the width and height of the shape + list($startColumn, $startRow) = PHPExcel_Cell::coordinateFromString($spContainer->getStartCoordinates()); + list($endColumn, $endRow) = PHPExcel_Cell::coordinateFromString($spContainer->getEndCoordinates()); + + $startOffsetX = $spContainer->getStartOffsetX(); + $startOffsetY = $spContainer->getStartOffsetY(); + $endOffsetX = $spContainer->getEndOffsetX(); + $endOffsetY = $spContainer->getEndOffsetY(); + + $width = PHPExcel_Shared_Excel5::getDistanceX($this->_phpSheet, $startColumn, $startOffsetX, $endColumn, $endOffsetX); + $height = PHPExcel_Shared_Excel5::getDistanceY($this->_phpSheet, $startRow, $startOffsetY, $endRow, $endOffsetY); + + // calculate offsetX and offsetY of the shape + $offsetX = $startOffsetX * PHPExcel_Shared_Excel5::sizeCol($this->_phpSheet, $startColumn) / 1024; + $offsetY = $startOffsetY * PHPExcel_Shared_Excel5::sizeRow($this->_phpSheet, $startRow) / 256; + + switch ($obj['otObjType']) { + case 0x19: + // Note +// echo 'Cell Annotation Object
'; +// echo 'Object ID is ',$obj['idObjID'],'
'; +// + if (isset($this->_cellNotes[$obj['idObjID']])) { + $cellNote = $this->_cellNotes[$obj['idObjID']]; + + if (isset($this->_textObjects[$obj['idObjID']])) { + $textObject = $this->_textObjects[$obj['idObjID']]; + $this->_cellNotes[$obj['idObjID']]['objTextData'] = $textObject; + } + } + break; + + case 0x08: +// echo 'Picture Object
'; + // picture + + // get index to BSE entry (1-based) + $BSEindex = $spContainer->getOPT(0x0104); + $BSECollection = $escherWorkbook->getDggContainer()->getBstoreContainer()->getBSECollection(); + $BSE = $BSECollection[$BSEindex - 1]; + $blipType = $BSE->getBlipType(); + + // need check because some blip types are not supported by Escher reader such as EMF + if ($blip = $BSE->getBlip()) { + $ih = imagecreatefromstring($blip->getData()); + $drawing = new PHPExcel_Worksheet_MemoryDrawing(); + $drawing->setImageResource($ih); + + // width, height, offsetX, offsetY + $drawing->setResizeProportional(false); + $drawing->setWidth($width); + $drawing->setHeight($height); + $drawing->setOffsetX($offsetX); + $drawing->setOffsetY($offsetY); + + switch ($blipType) { + case PHPExcel_Shared_Escher_DggContainer_BstoreContainer_BSE::BLIPTYPE_JPEG: + $drawing->setRenderingFunction(PHPExcel_Worksheet_MemoryDrawing::RENDERING_JPEG); + $drawing->setMimeType(PHPExcel_Worksheet_MemoryDrawing::MIMETYPE_JPEG); + break; + + case PHPExcel_Shared_Escher_DggContainer_BstoreContainer_BSE::BLIPTYPE_PNG: + $drawing->setRenderingFunction(PHPExcel_Worksheet_MemoryDrawing::RENDERING_PNG); + $drawing->setMimeType(PHPExcel_Worksheet_MemoryDrawing::MIMETYPE_PNG); + break; + } + + $drawing->setWorksheet($this->_phpSheet); + $drawing->setCoordinates($spContainer->getStartCoordinates()); + } + + break; + + default: + // other object type + break; + + } + } + } + + // treat SHAREDFMLA records + if ($this->_version == self::XLS_BIFF8) { + foreach ($this->_sharedFormulaParts as $cell => $baseCell) { + list($column, $row) = PHPExcel_Cell::coordinateFromString($cell); + if (($this->getReadFilter() !== NULL) && $this->getReadFilter()->readCell($column, $row, $this->_phpSheet->getTitle()) ) { + $formula = $this->_getFormulaFromStructure($this->_sharedFormulas[$baseCell], $cell); + $this->_phpSheet->getCell($cell)->setValueExplicit('=' . $formula, PHPExcel_Cell_DataType::TYPE_FORMULA); + } + } + } + + if (!empty($this->_cellNotes)) { + foreach($this->_cellNotes as $note => $noteDetails) { + if (!isset($noteDetails['objTextData'])) { + if (isset($this->_textObjects[$note])) { + $textObject = $this->_textObjects[$note]; + $noteDetails['objTextData'] = $textObject; + } else { + $noteDetails['objTextData']['text'] = ''; + } + } +// echo 'Cell annotation ',$note,'
'; +// var_dump($noteDetails); +// echo '
'; + $cellAddress = str_replace('$','',$noteDetails['cellRef']); + $this->_phpSheet->getComment( $cellAddress ) + ->setAuthor( $noteDetails['author'] ) + ->setText($this->_parseRichText($noteDetails['objTextData']['text']) ); + } + } + } + + // add the named ranges (defined names) + foreach ($this->_definedname as $definedName) { + if ($definedName['isBuiltInName']) { + switch ($definedName['name']) { + + case pack('C', 0x06): + // print area + // in general, formula looks like this: Foo!$C$7:$J$66,Bar!$A$1:$IV$2 + $ranges = explode(',', $definedName['formula']); // FIXME: what if sheetname contains comma? + + $extractedRanges = array(); + foreach ($ranges as $range) { + // $range should look like one of these + // Foo!$C$7:$J$66 + // Bar!$A$1:$IV$2 + + $explodes = explode('!', $range); // FIXME: what if sheetname contains exclamation mark? + $sheetName = trim($explodes[0], "'"); + + if (count($explodes) == 2) { + if (strpos($explodes[1], ':') === FALSE) { + $explodes[1] = $explodes[1] . ':' . $explodes[1]; + } + $extractedRanges[] = str_replace('$', '', $explodes[1]); // C7:J66 + } + } + if ($docSheet = $this->_phpExcel->getSheetByName($sheetName)) { + $docSheet->getPageSetup()->setPrintArea(implode(',', $extractedRanges)); // C7:J66,A1:IV2 + } + break; + + case pack('C', 0x07): + // print titles (repeating rows) + // Assuming BIFF8, there are 3 cases + // 1. repeating rows + // formula looks like this: Sheet!$A$1:$IV$2 + // rows 1-2 repeat + // 2. repeating columns + // formula looks like this: Sheet!$A$1:$B$65536 + // columns A-B repeat + // 3. both repeating rows and repeating columns + // formula looks like this: Sheet!$A$1:$B$65536,Sheet!$A$1:$IV$2 + + $ranges = explode(',', $definedName['formula']); // FIXME: what if sheetname contains comma? + + foreach ($ranges as $range) { + // $range should look like this one of these + // Sheet!$A$1:$B$65536 + // Sheet!$A$1:$IV$2 + + $explodes = explode('!', $range); + + if (count($explodes) == 2) { + if ($docSheet = $this->_phpExcel->getSheetByName($explodes[0])) { + + $extractedRange = $explodes[1]; + $extractedRange = str_replace('$', '', $extractedRange); + + $coordinateStrings = explode(':', $extractedRange); + if (count($coordinateStrings) == 2) { + list($firstColumn, $firstRow) = PHPExcel_Cell::coordinateFromString($coordinateStrings[0]); + list($lastColumn, $lastRow) = PHPExcel_Cell::coordinateFromString($coordinateStrings[1]); + + if ($firstColumn == 'A' and $lastColumn == 'IV') { + // then we have repeating rows + $docSheet->getPageSetup()->setRowsToRepeatAtTop(array($firstRow, $lastRow)); + } elseif ($firstRow == 1 and $lastRow == 65536) { + // then we have repeating columns + $docSheet->getPageSetup()->setColumnsToRepeatAtLeft(array($firstColumn, $lastColumn)); + } + } + } + } + } + break; + + } + } else { + // Extract range + $explodes = explode('!', $definedName['formula']); + + if (count($explodes) == 2) { + if (($docSheet = $this->_phpExcel->getSheetByName($explodes[0])) || + ($docSheet = $this->_phpExcel->getSheetByName(trim($explodes[0],"'")))) { + $extractedRange = $explodes[1]; + $extractedRange = str_replace('$', '', $extractedRange); + + $localOnly = ($definedName['scope'] == 0) ? false : true; + + $scope = ($definedName['scope'] == 0) ? + null : $this->_phpExcel->getSheetByName($this->_sheets[$definedName['scope'] - 1]['name']); + + $this->_phpExcel->addNamedRange( new PHPExcel_NamedRange((string)$definedName['name'], $docSheet, $extractedRange, $localOnly, $scope) ); + } + } else { + // Named Value + // TODO Provide support for named values + } + } + } + $this->_data = null; + + return $this->_phpExcel; + } + + /** + * Read record data from stream, decrypting as required + * + * @param string $data Data stream to read from + * @param int $pos Position to start reading from + * @param int $length Record data length + * + * @return string Record data + */ + private function _readRecordData($data, $pos, $len) + { + $data = substr($data, $pos, $len); + + // File not encrypted, or record before encryption start point + if ($this->_encryption == self::MS_BIFF_CRYPTO_NONE || $pos < $this->_encryptionStartPos) { + return $data; + } + + $recordData = ''; + if ($this->_encryption == self::MS_BIFF_CRYPTO_RC4) { + + $oldBlock = floor($this->_rc4Pos / self::REKEY_BLOCK); + $block = floor($pos / self::REKEY_BLOCK); + $endBlock = floor(($pos + $len) / self::REKEY_BLOCK); + + // Spin an RC4 decryptor to the right spot. If we have a decryptor sitting + // at a point earlier in the current block, re-use it as we can save some time. + if ($block != $oldBlock || $pos < $this->_rc4Pos || !$this->_rc4Key) { + $this->_rc4Key = $this->_makeKey($block, $this->_md5Ctxt); + $step = $pos % self::REKEY_BLOCK; + } else { + $step = $pos - $this->_rc4Pos; + } + $this->_rc4Key->RC4(str_repeat("\0", $step)); + + // Decrypt record data (re-keying at the end of every block) + while ($block != $endBlock) { + $step = self::REKEY_BLOCK - ($pos % self::REKEY_BLOCK); + $recordData .= $this->_rc4Key->RC4(substr($data, 0, $step)); + $data = substr($data, $step); + $pos += $step; + $len -= $step; + $block++; + $this->_rc4Key = $this->_makeKey($block, $this->_md5Ctxt); + } + $recordData .= $this->_rc4Key->RC4(substr($data, 0, $len)); + + // Keep track of the position of this decryptor. + // We'll try and re-use it later if we can to speed things up + $this->_rc4Pos = $pos + $len; + + } elseif ($this->_encryption == self::MS_BIFF_CRYPTO_XOR) { + throw new PHPExcel_Reader_Exception('XOr encryption not supported'); + } + return $recordData; + } + + /** + * Use OLE reader to extract the relevant data streams from the OLE file + * + * @param string $pFilename + */ + private function _loadOLE($pFilename) + { + // OLE reader + $ole = new PHPExcel_Shared_OLERead(); + + // get excel data, + $res = $ole->read($pFilename); + // Get workbook data: workbook stream + sheet streams + $this->_data = $ole->getStream($ole->wrkbook); + + // Get summary information data + $this->_summaryInformation = $ole->getStream($ole->summaryInformation); + + // Get additional document summary information data + $this->_documentSummaryInformation = $ole->getStream($ole->documentSummaryInformation); + + // Get user-defined property data +// $this->_userDefinedProperties = $ole->getUserDefinedProperties(); + } + + + /** + * Read summary information + */ + private function _readSummaryInformation() + { + if (!isset($this->_summaryInformation)) { + return; + } + + // offset: 0; size: 2; must be 0xFE 0xFF (UTF-16 LE byte order mark) + // offset: 2; size: 2; + // offset: 4; size: 2; OS version + // offset: 6; size: 2; OS indicator + // offset: 8; size: 16 + // offset: 24; size: 4; section count + $secCount = self::_GetInt4d($this->_summaryInformation, 24); + + // offset: 28; size: 16; first section's class id: e0 85 9f f2 f9 4f 68 10 ab 91 08 00 2b 27 b3 d9 + // offset: 44; size: 4 + $secOffset = self::_GetInt4d($this->_summaryInformation, 44); + + // section header + // offset: $secOffset; size: 4; section length + $secLength = self::_GetInt4d($this->_summaryInformation, $secOffset); + + // offset: $secOffset+4; size: 4; property count + $countProperties = self::_GetInt4d($this->_summaryInformation, $secOffset+4); + + // initialize code page (used to resolve string values) + $codePage = 'CP1252'; + + // offset: ($secOffset+8); size: var + // loop through property decarations and properties + for ($i = 0; $i < $countProperties; ++$i) { + + // offset: ($secOffset+8) + (8 * $i); size: 4; property ID + $id = self::_GetInt4d($this->_summaryInformation, ($secOffset+8) + (8 * $i)); + + // Use value of property id as appropriate + // offset: ($secOffset+12) + (8 * $i); size: 4; offset from beginning of section (48) + $offset = self::_GetInt4d($this->_summaryInformation, ($secOffset+12) + (8 * $i)); + + $type = self::_GetInt4d($this->_summaryInformation, $secOffset + $offset); + + // initialize property value + $value = null; + + // extract property value based on property type + switch ($type) { + case 0x02: // 2 byte signed integer + $value = self::_GetInt2d($this->_summaryInformation, $secOffset + 4 + $offset); + break; + + case 0x03: // 4 byte signed integer + $value = self::_GetInt4d($this->_summaryInformation, $secOffset + 4 + $offset); + break; + + case 0x13: // 4 byte unsigned integer + // not needed yet, fix later if necessary + break; + + case 0x1E: // null-terminated string prepended by dword string length + $byteLength = self::_GetInt4d($this->_summaryInformation, $secOffset + 4 + $offset); + $value = substr($this->_summaryInformation, $secOffset + 8 + $offset, $byteLength); + $value = PHPExcel_Shared_String::ConvertEncoding($value, 'UTF-8', $codePage); + $value = rtrim($value); + break; + + case 0x40: // Filetime (64-bit value representing the number of 100-nanosecond intervals since January 1, 1601) + // PHP-time + $value = PHPExcel_Shared_OLE::OLE2LocalDate(substr($this->_summaryInformation, $secOffset + 4 + $offset, 8)); + break; + + case 0x47: // Clipboard format + // not needed yet, fix later if necessary + break; + } + + switch ($id) { + case 0x01: // Code Page + $codePage = PHPExcel_Shared_CodePage::NumberToName($value); + break; + + case 0x02: // Title + $this->_phpExcel->getProperties()->setTitle($value); + break; + + case 0x03: // Subject + $this->_phpExcel->getProperties()->setSubject($value); + break; + + case 0x04: // Author (Creator) + $this->_phpExcel->getProperties()->setCreator($value); + break; + + case 0x05: // Keywords + $this->_phpExcel->getProperties()->setKeywords($value); + break; + + case 0x06: // Comments (Description) + $this->_phpExcel->getProperties()->setDescription($value); + break; + + case 0x07: // Template + // Not supported by PHPExcel + break; + + case 0x08: // Last Saved By (LastModifiedBy) + $this->_phpExcel->getProperties()->setLastModifiedBy($value); + break; + + case 0x09: // Revision + // Not supported by PHPExcel + break; + + case 0x0A: // Total Editing Time + // Not supported by PHPExcel + break; + + case 0x0B: // Last Printed + // Not supported by PHPExcel + break; + + case 0x0C: // Created Date/Time + $this->_phpExcel->getProperties()->setCreated($value); + break; + + case 0x0D: // Modified Date/Time + $this->_phpExcel->getProperties()->setModified($value); + break; + + case 0x0E: // Number of Pages + // Not supported by PHPExcel + break; + + case 0x0F: // Number of Words + // Not supported by PHPExcel + break; + + case 0x10: // Number of Characters + // Not supported by PHPExcel + break; + + case 0x11: // Thumbnail + // Not supported by PHPExcel + break; + + case 0x12: // Name of creating application + // Not supported by PHPExcel + break; + + case 0x13: // Security + // Not supported by PHPExcel + break; + + } + } + } + + + /** + * Read additional document summary information + */ + private function _readDocumentSummaryInformation() + { + if (!isset($this->_documentSummaryInformation)) { + return; + } + + // offset: 0; size: 2; must be 0xFE 0xFF (UTF-16 LE byte order mark) + // offset: 2; size: 2; + // offset: 4; size: 2; OS version + // offset: 6; size: 2; OS indicator + // offset: 8; size: 16 + // offset: 24; size: 4; section count + $secCount = self::_GetInt4d($this->_documentSummaryInformation, 24); +// echo '$secCount = ',$secCount,'
'; + + // offset: 28; size: 16; first section's class id: 02 d5 cd d5 9c 2e 1b 10 93 97 08 00 2b 2c f9 ae + // offset: 44; size: 4; first section offset + $secOffset = self::_GetInt4d($this->_documentSummaryInformation, 44); +// echo '$secOffset = ',$secOffset,'
'; + + // section header + // offset: $secOffset; size: 4; section length + $secLength = self::_GetInt4d($this->_documentSummaryInformation, $secOffset); +// echo '$secLength = ',$secLength,'
'; + + // offset: $secOffset+4; size: 4; property count + $countProperties = self::_GetInt4d($this->_documentSummaryInformation, $secOffset+4); +// echo '$countProperties = ',$countProperties,'
'; + + // initialize code page (used to resolve string values) + $codePage = 'CP1252'; + + // offset: ($secOffset+8); size: var + // loop through property decarations and properties + for ($i = 0; $i < $countProperties; ++$i) { +// echo 'Property ',$i,'
'; + // offset: ($secOffset+8) + (8 * $i); size: 4; property ID + $id = self::_GetInt4d($this->_documentSummaryInformation, ($secOffset+8) + (8 * $i)); +// echo 'ID is ',$id,'
'; + + // Use value of property id as appropriate + // offset: 60 + 8 * $i; size: 4; offset from beginning of section (48) + $offset = self::_GetInt4d($this->_documentSummaryInformation, ($secOffset+12) + (8 * $i)); + + $type = self::_GetInt4d($this->_documentSummaryInformation, $secOffset + $offset); +// echo 'Type is ',$type,', '; + + // initialize property value + $value = null; + + // extract property value based on property type + switch ($type) { + case 0x02: // 2 byte signed integer + $value = self::_GetInt2d($this->_documentSummaryInformation, $secOffset + 4 + $offset); + break; + + case 0x03: // 4 byte signed integer + $value = self::_GetInt4d($this->_documentSummaryInformation, $secOffset + 4 + $offset); + break; + + case 0x0B: // Boolean + $value = self::_GetInt2d($this->_documentSummaryInformation, $secOffset + 4 + $offset); + $value = ($value == 0 ? false : true); + break; + + case 0x13: // 4 byte unsigned integer + // not needed yet, fix later if necessary + break; + + case 0x1E: // null-terminated string prepended by dword string length + $byteLength = self::_GetInt4d($this->_documentSummaryInformation, $secOffset + 4 + $offset); + $value = substr($this->_documentSummaryInformation, $secOffset + 8 + $offset, $byteLength); + $value = PHPExcel_Shared_String::ConvertEncoding($value, 'UTF-8', $codePage); + $value = rtrim($value); + break; + + case 0x40: // Filetime (64-bit value representing the number of 100-nanosecond intervals since January 1, 1601) + // PHP-Time + $value = PHPExcel_Shared_OLE::OLE2LocalDate(substr($this->_documentSummaryInformation, $secOffset + 4 + $offset, 8)); + break; + + case 0x47: // Clipboard format + // not needed yet, fix later if necessary + break; + } + + switch ($id) { + case 0x01: // Code Page + $codePage = PHPExcel_Shared_CodePage::NumberToName($value); + break; + + case 0x02: // Category + $this->_phpExcel->getProperties()->setCategory($value); + break; + + case 0x03: // Presentation Target + // Not supported by PHPExcel + break; + + case 0x04: // Bytes + // Not supported by PHPExcel + break; + + case 0x05: // Lines + // Not supported by PHPExcel + break; + + case 0x06: // Paragraphs + // Not supported by PHPExcel + break; + + case 0x07: // Slides + // Not supported by PHPExcel + break; + + case 0x08: // Notes + // Not supported by PHPExcel + break; + + case 0x09: // Hidden Slides + // Not supported by PHPExcel + break; + + case 0x0A: // MM Clips + // Not supported by PHPExcel + break; + + case 0x0B: // Scale Crop + // Not supported by PHPExcel + break; + + case 0x0C: // Heading Pairs + // Not supported by PHPExcel + break; + + case 0x0D: // Titles of Parts + // Not supported by PHPExcel + break; + + case 0x0E: // Manager + $this->_phpExcel->getProperties()->setManager($value); + break; + + case 0x0F: // Company + $this->_phpExcel->getProperties()->setCompany($value); + break; + + case 0x10: // Links up-to-date + // Not supported by PHPExcel + break; + + } + } + } + + + /** + * Reads a general type of BIFF record. Does nothing except for moving stream pointer forward to next record. + */ + private function _readDefault() + { + $length = self::_GetInt2d($this->_data, $this->_pos + 2); +// $recordData = $this->_readRecordData($this->_data, $this->_pos + 4, $length); + + // move stream pointer to next record + $this->_pos += 4 + $length; + } + + + /** + * The NOTE record specifies a comment associated with a particular cell. In Excel 95 (BIFF7) and earlier versions, + * this record stores a note (cell note). This feature was significantly enhanced in Excel 97. + */ + private function _readNote() + { +// echo 'Read Cell Annotation
'; + $length = self::_GetInt2d($this->_data, $this->_pos + 2); + $recordData = $this->_readRecordData($this->_data, $this->_pos + 4, $length); + + // move stream pointer to next record + $this->_pos += 4 + $length; + + if ($this->_readDataOnly) { + return; + } + + $cellAddress = $this->_readBIFF8CellAddress(substr($recordData, 0, 4)); + if ($this->_version == self::XLS_BIFF8) { + $noteObjID = self::_GetInt2d($recordData, 6); + $noteAuthor = self::_readUnicodeStringLong(substr($recordData, 8)); + $noteAuthor = $noteAuthor['value']; +// echo 'Note Address=',$cellAddress,'
'; +// echo 'Note Object ID=',$noteObjID,'
'; +// echo 'Note Author=',$noteAuthor,'
'; +// + $this->_cellNotes[$noteObjID] = array('cellRef' => $cellAddress, + 'objectID' => $noteObjID, + 'author' => $noteAuthor + ); + } else { + $extension = false; + if ($cellAddress == '$B$65536') { + // If the address row is -1 and the column is 0, (which translates as $B$65536) then this is a continuation + // note from the previous cell annotation. We're not yet handling this, so annotations longer than the + // max 2048 bytes will probably throw a wobbly. + $row = self::_GetInt2d($recordData, 0); + $extension = true; + $cellAddress = array_pop(array_keys($this->_phpSheet->getComments())); + } +// echo 'Note Address=',$cellAddress,'
'; + + $cellAddress = str_replace('$','',$cellAddress); + $noteLength = self::_GetInt2d($recordData, 4); + $noteText = trim(substr($recordData, 6)); +// echo 'Note Length=',$noteLength,'
'; +// echo 'Note Text=',$noteText,'
'; + + if ($extension) { + // Concatenate this extension with the currently set comment for the cell + $comment = $this->_phpSheet->getComment( $cellAddress ); + $commentText = $comment->getText()->getPlainText(); + $comment->setText($this->_parseRichText($commentText.$noteText) ); + } else { + // Set comment for the cell + $this->_phpSheet->getComment( $cellAddress ) +// ->setAuthor( $author ) + ->setText($this->_parseRichText($noteText) ); + } + } + + } + + + /** + * The TEXT Object record contains the text associated with a cell annotation. + */ + private function _readTextObject() + { + $length = self::_GetInt2d($this->_data, $this->_pos + 2); + $recordData = $this->_readRecordData($this->_data, $this->_pos + 4, $length); + + // move stream pointer to next record + $this->_pos += 4 + $length; + + if ($this->_readDataOnly) { + return; + } + + // recordData consists of an array of subrecords looking like this: + // grbit: 2 bytes; Option Flags + // rot: 2 bytes; rotation + // cchText: 2 bytes; length of the text (in the first continue record) + // cbRuns: 2 bytes; length of the formatting (in the second continue record) + // followed by the continuation records containing the actual text and formatting + $grbitOpts = self::_GetInt2d($recordData, 0); + $rot = self::_GetInt2d($recordData, 2); + $cchText = self::_GetInt2d($recordData, 10); + $cbRuns = self::_GetInt2d($recordData, 12); + $text = $this->_getSplicedRecordData(); + + $this->_textObjects[$this->textObjRef] = array( + 'text' => substr($text["recordData"],$text["spliceOffsets"][0]+1,$cchText), + 'format' => substr($text["recordData"],$text["spliceOffsets"][1],$cbRuns), + 'alignment' => $grbitOpts, + 'rotation' => $rot + ); + +// echo '_readTextObject()
'; +// var_dump($this->_textObjects[$this->textObjRef]); +// echo '
'; + } + + + /** + * Read BOF + */ + private function _readBof() + { + $length = self::_GetInt2d($this->_data, $this->_pos + 2); + $recordData = substr($this->_data, $this->_pos + 4, $length); + + // move stream pointer to next record + $this->_pos += 4 + $length; + + // offset: 2; size: 2; type of the following data + $substreamType = self::_GetInt2d($recordData, 2); + + switch ($substreamType) { + case self::XLS_WorkbookGlobals: + $version = self::_GetInt2d($recordData, 0); + if (($version != self::XLS_BIFF8) && ($version != self::XLS_BIFF7)) { + throw new PHPExcel_Reader_Exception('Cannot read this Excel file. Version is too old.'); + } + $this->_version = $version; + break; + + case self::XLS_Worksheet: + // do not use this version information for anything + // it is unreliable (OpenOffice doc, 5.8), use only version information from the global stream + break; + + default: + // substream, e.g. chart + // just skip the entire substream + do { + $code = self::_GetInt2d($this->_data, $this->_pos); + $this->_readDefault(); + } while ($code != self::XLS_Type_EOF && $this->_pos < $this->_dataSize); + break; + } + } + + + /** + * FILEPASS + * + * This record is part of the File Protection Block. It + * contains information about the read/write password of the + * file. All record contents following this record will be + * encrypted. + * + * -- "OpenOffice.org's Documentation of the Microsoft + * Excel File Format" + * + * The decryption functions and objects used from here on in + * are based on the source of Spreadsheet-ParseExcel: + * http://search.cpan.org/~jmcnamara/Spreadsheet-ParseExcel/ + */ + private function _readFilepass() + { + $length = self::_GetInt2d($this->_data, $this->_pos + 2); + + if ($length != 54) { + throw new PHPExcel_Reader_Exception('Unexpected file pass record length'); + } + + $recordData = $this->_readRecordData($this->_data, $this->_pos + 4, $length); + + // move stream pointer to next record + $this->_pos += 4 + $length; + + if (!$this->_verifyPassword( + 'VelvetSweatshop', + substr($recordData, 6, 16), + substr($recordData, 22, 16), + substr($recordData, 38, 16), + $this->_md5Ctxt + )) { + throw new PHPExcel_Reader_Exception('Decryption password incorrect'); + } + + $this->_encryption = self::MS_BIFF_CRYPTO_RC4; + + // Decryption required from the record after next onwards + $this->_encryptionStartPos = $this->_pos + self::_GetInt2d($this->_data, $this->_pos + 2); + } + + /** + * Make an RC4 decryptor for the given block + * + * @var int $block Block for which to create decrypto + * @var string $valContext MD5 context state + * + * @return PHPExcel_Reader_Excel5_RC4 + */ + private function _makeKey($block, $valContext) + { + $pwarray = str_repeat("\0", 64); + + for ($i = 0; $i < 5; $i++) { + $pwarray[$i] = $valContext[$i]; + } + + $pwarray[5] = chr($block & 0xff); + $pwarray[6] = chr(($block >> 8) & 0xff); + $pwarray[7] = chr(($block >> 16) & 0xff); + $pwarray[8] = chr(($block >> 24) & 0xff); + + $pwarray[9] = "\x80"; + $pwarray[56] = "\x48"; + + $md5 = new PHPExcel_Reader_Excel5_MD5(); + $md5->add($pwarray); + + $s = $md5->getContext(); + return new PHPExcel_Reader_Excel5_RC4($s); + } + + /** + * Verify RC4 file password + * + * @var string $password Password to check + * @var string $docid Document id + * @var string $salt_data Salt data + * @var string $hashedsalt_data Hashed salt data + * @var string &$valContext Set to the MD5 context of the value + * + * @return bool Success + */ + private function _verifyPassword($password, $docid, $salt_data, $hashedsalt_data, &$valContext) + { + $pwarray = str_repeat("\0", 64); + + for ($i = 0; $i < strlen($password); $i++) { + $o = ord(substr($password, $i, 1)); + $pwarray[2 * $i] = chr($o & 0xff); + $pwarray[2 * $i + 1] = chr(($o >> 8) & 0xff); + } + $pwarray[2 * $i] = chr(0x80); + $pwarray[56] = chr(($i << 4) & 0xff); + + $md5 = new PHPExcel_Reader_Excel5_MD5(); + $md5->add($pwarray); + + $mdContext1 = $md5->getContext(); + + $offset = 0; + $keyoffset = 0; + $tocopy = 5; + + $md5->reset(); + + while ($offset != 16) { + if ((64 - $offset) < 5) { + $tocopy = 64 - $offset; + } + + for ($i = 0; $i <= $tocopy; $i++) { + $pwarray[$offset + $i] = $mdContext1[$keyoffset + $i]; + } + + $offset += $tocopy; + + if ($offset == 64) { + $md5->add($pwarray); + $keyoffset = $tocopy; + $tocopy = 5 - $tocopy; + $offset = 0; + continue; + } + + $keyoffset = 0; + $tocopy = 5; + for ($i = 0; $i < 16; $i++) { + $pwarray[$offset + $i] = $docid[$i]; + } + $offset += 16; + } + + $pwarray[16] = "\x80"; + for ($i = 0; $i < 47; $i++) { + $pwarray[17 + $i] = "\0"; + } + $pwarray[56] = "\x80"; + $pwarray[57] = "\x0a"; + + $md5->add($pwarray); + $valContext = $md5->getContext(); + + $key = $this->_makeKey(0, $valContext); + + $salt = $key->RC4($salt_data); + $hashedsalt = $key->RC4($hashedsalt_data); + + $salt .= "\x80" . str_repeat("\0", 47); + $salt[56] = "\x80"; + + $md5->reset(); + $md5->add($salt); + $mdContext2 = $md5->getContext(); + + return $mdContext2 == $hashedsalt; + } + + /** + * CODEPAGE + * + * This record stores the text encoding used to write byte + * strings, stored as MS Windows code page identifier. + * + * -- "OpenOffice.org's Documentation of the Microsoft + * Excel File Format" + */ + private function _readCodepage() + { + $length = self::_GetInt2d($this->_data, $this->_pos + 2); + $recordData = $this->_readRecordData($this->_data, $this->_pos + 4, $length); + + // move stream pointer to next record + $this->_pos += 4 + $length; + + // offset: 0; size: 2; code page identifier + $codepage = self::_GetInt2d($recordData, 0); + + $this->_codepage = PHPExcel_Shared_CodePage::NumberToName($codepage); + } + + + /** + * DATEMODE + * + * This record specifies the base date for displaying date + * values. All dates are stored as count of days past this + * base date. In BIFF2-BIFF4 this record is part of the + * Calculation Settings Block. In BIFF5-BIFF8 it is + * stored in the Workbook Globals Substream. + * + * -- "OpenOffice.org's Documentation of the Microsoft + * Excel File Format" + */ + private function _readDateMode() + { + $length = self::_GetInt2d($this->_data, $this->_pos + 2); + $recordData = $this->_readRecordData($this->_data, $this->_pos + 4, $length); + + // move stream pointer to next record + $this->_pos += 4 + $length; + + // offset: 0; size: 2; 0 = base 1900, 1 = base 1904 + PHPExcel_Shared_Date::setExcelCalendar(PHPExcel_Shared_Date::CALENDAR_WINDOWS_1900); + if (ord($recordData{0}) == 1) { + PHPExcel_Shared_Date::setExcelCalendar(PHPExcel_Shared_Date::CALENDAR_MAC_1904); + } + } + + + /** + * Read a FONT record + */ + private function _readFont() + { + $length = self::_GetInt2d($this->_data, $this->_pos + 2); + $recordData = $this->_readRecordData($this->_data, $this->_pos + 4, $length); + + // move stream pointer to next record + $this->_pos += 4 + $length; + + if (!$this->_readDataOnly) { + $objFont = new PHPExcel_Style_Font(); + + // offset: 0; size: 2; height of the font (in twips = 1/20 of a point) + $size = self::_GetInt2d($recordData, 0); + $objFont->setSize($size / 20); + + // offset: 2; size: 2; option flags + // bit: 0; mask 0x0001; bold (redundant in BIFF5-BIFF8) + // bit: 1; mask 0x0002; italic + $isItalic = (0x0002 & self::_GetInt2d($recordData, 2)) >> 1; + if ($isItalic) $objFont->setItalic(true); + + // bit: 2; mask 0x0004; underlined (redundant in BIFF5-BIFF8) + // bit: 3; mask 0x0008; strike + $isStrike = (0x0008 & self::_GetInt2d($recordData, 2)) >> 3; + if ($isStrike) $objFont->setStrikethrough(true); + + // offset: 4; size: 2; colour index + $colorIndex = self::_GetInt2d($recordData, 4); + $objFont->colorIndex = $colorIndex; + + // offset: 6; size: 2; font weight + $weight = self::_GetInt2d($recordData, 6); + switch ($weight) { + case 0x02BC: + $objFont->setBold(true); + break; + } + + // offset: 8; size: 2; escapement type + $escapement = self::_GetInt2d($recordData, 8); + switch ($escapement) { + case 0x0001: + $objFont->setSuperScript(true); + break; + case 0x0002: + $objFont->setSubScript(true); + break; + } + + // offset: 10; size: 1; underline type + $underlineType = ord($recordData{10}); + switch ($underlineType) { + case 0x00: + break; // no underline + case 0x01: + $objFont->setUnderline(PHPExcel_Style_Font::UNDERLINE_SINGLE); + break; + case 0x02: + $objFont->setUnderline(PHPExcel_Style_Font::UNDERLINE_DOUBLE); + break; + case 0x21: + $objFont->setUnderline(PHPExcel_Style_Font::UNDERLINE_SINGLEACCOUNTING); + break; + case 0x22: + $objFont->setUnderline(PHPExcel_Style_Font::UNDERLINE_DOUBLEACCOUNTING); + break; + } + + // offset: 11; size: 1; font family + // offset: 12; size: 1; character set + // offset: 13; size: 1; not used + // offset: 14; size: var; font name + if ($this->_version == self::XLS_BIFF8) { + $string = self::_readUnicodeStringShort(substr($recordData, 14)); + } else { + $string = $this->_readByteStringShort(substr($recordData, 14)); + } + $objFont->setName($string['value']); + + $this->_objFonts[] = $objFont; + } + } + + + /** + * FORMAT + * + * This record contains information about a number format. + * All FORMAT records occur together in a sequential list. + * + * In BIFF2-BIFF4 other records referencing a FORMAT record + * contain a zero-based index into this list. From BIFF5 on + * the FORMAT record contains the index itself that will be + * used by other records. + * + * -- "OpenOffice.org's Documentation of the Microsoft + * Excel File Format" + */ + private function _readFormat() + { + $length = self::_GetInt2d($this->_data, $this->_pos + 2); + $recordData = $this->_readRecordData($this->_data, $this->_pos + 4, $length); + + // move stream pointer to next record + $this->_pos += 4 + $length; + + if (!$this->_readDataOnly) { + $indexCode = self::_GetInt2d($recordData, 0); + + if ($this->_version == self::XLS_BIFF8) { + $string = self::_readUnicodeStringLong(substr($recordData, 2)); + } else { + // BIFF7 + $string = $this->_readByteStringShort(substr($recordData, 2)); + } + + $formatString = $string['value']; + $this->_formats[$indexCode] = $formatString; + } + } + + + /** + * XF - Extended Format + * + * This record contains formatting information for cells, rows, columns or styles. + * According to http://support.microsoft.com/kb/147732 there are always at least 15 cell style XF + * and 1 cell XF. + * Inspection of Excel files generated by MS Office Excel shows that XF records 0-14 are cell style XF + * and XF record 15 is a cell XF + * We only read the first cell style XF and skip the remaining cell style XF records + * We read all cell XF records. + * + * -- "OpenOffice.org's Documentation of the Microsoft + * Excel File Format" + */ + private function _readXf() + { + $length = self::_GetInt2d($this->_data, $this->_pos + 2); + $recordData = $this->_readRecordData($this->_data, $this->_pos + 4, $length); + + // move stream pointer to next record + $this->_pos += 4 + $length; + + $objStyle = new PHPExcel_Style(); + + if (!$this->_readDataOnly) { + // offset: 0; size: 2; Index to FONT record + if (self::_GetInt2d($recordData, 0) < 4) { + $fontIndex = self::_GetInt2d($recordData, 0); + } else { + // this has to do with that index 4 is omitted in all BIFF versions for some strange reason + // check the OpenOffice documentation of the FONT record + $fontIndex = self::_GetInt2d($recordData, 0) - 1; + } + $objStyle->setFont($this->_objFonts[$fontIndex]); + + // offset: 2; size: 2; Index to FORMAT record + $numberFormatIndex = self::_GetInt2d($recordData, 2); + if (isset($this->_formats[$numberFormatIndex])) { + // then we have user-defined format code + $numberformat = array('code' => $this->_formats[$numberFormatIndex]); + } elseif (($code = PHPExcel_Style_NumberFormat::builtInFormatCode($numberFormatIndex)) !== '') { + // then we have built-in format code + $numberformat = array('code' => $code); + } else { + // we set the general format code + $numberformat = array('code' => 'General'); + } + $objStyle->getNumberFormat()->setFormatCode($numberformat['code']); + + // offset: 4; size: 2; XF type, cell protection, and parent style XF + // bit 2-0; mask 0x0007; XF_TYPE_PROT + $xfTypeProt = self::_GetInt2d($recordData, 4); + // bit 0; mask 0x01; 1 = cell is locked + $isLocked = (0x01 & $xfTypeProt) >> 0; + $objStyle->getProtection()->setLocked($isLocked ? + PHPExcel_Style_Protection::PROTECTION_INHERIT : PHPExcel_Style_Protection::PROTECTION_UNPROTECTED); + + // bit 1; mask 0x02; 1 = Formula is hidden + $isHidden = (0x02 & $xfTypeProt) >> 1; + $objStyle->getProtection()->setHidden($isHidden ? + PHPExcel_Style_Protection::PROTECTION_PROTECTED : PHPExcel_Style_Protection::PROTECTION_UNPROTECTED); + + // bit 2; mask 0x04; 0 = Cell XF, 1 = Cell Style XF + $isCellStyleXf = (0x04 & $xfTypeProt) >> 2; + + // offset: 6; size: 1; Alignment and text break + // bit 2-0, mask 0x07; horizontal alignment + $horAlign = (0x07 & ord($recordData{6})) >> 0; + switch ($horAlign) { + case 0: + $objStyle->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_GENERAL); + break; + case 1: + $objStyle->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_LEFT); + break; + case 2: + $objStyle->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER); + break; + case 3: + $objStyle->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_RIGHT); + break; + case 4: + $objStyle->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_FILL); + break; + case 5: + $objStyle->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_JUSTIFY); + break; + case 6: + $objStyle->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER_CONTINUOUS); + break; + } + // bit 3, mask 0x08; wrap text + $wrapText = (0x08 & ord($recordData{6})) >> 3; + switch ($wrapText) { + case 0: + $objStyle->getAlignment()->setWrapText(false); + break; + case 1: + $objStyle->getAlignment()->setWrapText(true); + break; + } + // bit 6-4, mask 0x70; vertical alignment + $vertAlign = (0x70 & ord($recordData{6})) >> 4; + switch ($vertAlign) { + case 0: + $objStyle->getAlignment()->setVertical(PHPExcel_Style_Alignment::VERTICAL_TOP); + break; + case 1: + $objStyle->getAlignment()->setVertical(PHPExcel_Style_Alignment::VERTICAL_CENTER); + break; + case 2: + $objStyle->getAlignment()->setVertical(PHPExcel_Style_Alignment::VERTICAL_BOTTOM); + break; + case 3: + $objStyle->getAlignment()->setVertical(PHPExcel_Style_Alignment::VERTICAL_JUSTIFY); + break; + } + + if ($this->_version == self::XLS_BIFF8) { + // offset: 7; size: 1; XF_ROTATION: Text rotation angle + $angle = ord($recordData{7}); + $rotation = 0; + if ($angle <= 90) { + $rotation = $angle; + } else if ($angle <= 180) { + $rotation = 90 - $angle; + } else if ($angle == 255) { + $rotation = -165; + } + $objStyle->getAlignment()->setTextRotation($rotation); + + // offset: 8; size: 1; Indentation, shrink to cell size, and text direction + // bit: 3-0; mask: 0x0F; indent level + $indent = (0x0F & ord($recordData{8})) >> 0; + $objStyle->getAlignment()->setIndent($indent); + + // bit: 4; mask: 0x10; 1 = shrink content to fit into cell + $shrinkToFit = (0x10 & ord($recordData{8})) >> 4; + switch ($shrinkToFit) { + case 0: + $objStyle->getAlignment()->setShrinkToFit(false); + break; + case 1: + $objStyle->getAlignment()->setShrinkToFit(true); + break; + } + + // offset: 9; size: 1; Flags used for attribute groups + + // offset: 10; size: 4; Cell border lines and background area + // bit: 3-0; mask: 0x0000000F; left style + if ($bordersLeftStyle = self::_mapBorderStyle((0x0000000F & self::_GetInt4d($recordData, 10)) >> 0)) { + $objStyle->getBorders()->getLeft()->setBorderStyle($bordersLeftStyle); + } + // bit: 7-4; mask: 0x000000F0; right style + if ($bordersRightStyle = self::_mapBorderStyle((0x000000F0 & self::_GetInt4d($recordData, 10)) >> 4)) { + $objStyle->getBorders()->getRight()->setBorderStyle($bordersRightStyle); + } + // bit: 11-8; mask: 0x00000F00; top style + if ($bordersTopStyle = self::_mapBorderStyle((0x00000F00 & self::_GetInt4d($recordData, 10)) >> 8)) { + $objStyle->getBorders()->getTop()->setBorderStyle($bordersTopStyle); + } + // bit: 15-12; mask: 0x0000F000; bottom style + if ($bordersBottomStyle = self::_mapBorderStyle((0x0000F000 & self::_GetInt4d($recordData, 10)) >> 12)) { + $objStyle->getBorders()->getBottom()->setBorderStyle($bordersBottomStyle); + } + // bit: 22-16; mask: 0x007F0000; left color + $objStyle->getBorders()->getLeft()->colorIndex = (0x007F0000 & self::_GetInt4d($recordData, 10)) >> 16; + + // bit: 29-23; mask: 0x3F800000; right color + $objStyle->getBorders()->getRight()->colorIndex = (0x3F800000 & self::_GetInt4d($recordData, 10)) >> 23; + + // bit: 30; mask: 0x40000000; 1 = diagonal line from top left to right bottom + $diagonalDown = (0x40000000 & self::_GetInt4d($recordData, 10)) >> 30 ? + true : false; + + // bit: 31; mask: 0x80000000; 1 = diagonal line from bottom left to top right + $diagonalUp = (0x80000000 & self::_GetInt4d($recordData, 10)) >> 31 ? + true : false; + + if ($diagonalUp == false && $diagonalDown == false) { + $objStyle->getBorders()->setDiagonalDirection(PHPExcel_Style_Borders::DIAGONAL_NONE); + } elseif ($diagonalUp == true && $diagonalDown == false) { + $objStyle->getBorders()->setDiagonalDirection(PHPExcel_Style_Borders::DIAGONAL_UP); + } elseif ($diagonalUp == false && $diagonalDown == true) { + $objStyle->getBorders()->setDiagonalDirection(PHPExcel_Style_Borders::DIAGONAL_DOWN); + } elseif ($diagonalUp == true && $diagonalDown == true) { + $objStyle->getBorders()->setDiagonalDirection(PHPExcel_Style_Borders::DIAGONAL_BOTH); + } + + // offset: 14; size: 4; + // bit: 6-0; mask: 0x0000007F; top color + $objStyle->getBorders()->getTop()->colorIndex = (0x0000007F & self::_GetInt4d($recordData, 14)) >> 0; + + // bit: 13-7; mask: 0x00003F80; bottom color + $objStyle->getBorders()->getBottom()->colorIndex = (0x00003F80 & self::_GetInt4d($recordData, 14)) >> 7; + + // bit: 20-14; mask: 0x001FC000; diagonal color + $objStyle->getBorders()->getDiagonal()->colorIndex = (0x001FC000 & self::_GetInt4d($recordData, 14)) >> 14; + + // bit: 24-21; mask: 0x01E00000; diagonal style + if ($bordersDiagonalStyle = self::_mapBorderStyle((0x01E00000 & self::_GetInt4d($recordData, 14)) >> 21)) { + $objStyle->getBorders()->getDiagonal()->setBorderStyle($bordersDiagonalStyle); + } + + // bit: 31-26; mask: 0xFC000000 fill pattern + if ($fillType = self::_mapFillPattern((0xFC000000 & self::_GetInt4d($recordData, 14)) >> 26)) { + $objStyle->getFill()->setFillType($fillType); + } + // offset: 18; size: 2; pattern and background colour + // bit: 6-0; mask: 0x007F; color index for pattern color + $objStyle->getFill()->startcolorIndex = (0x007F & self::_GetInt2d($recordData, 18)) >> 0; + + // bit: 13-7; mask: 0x3F80; color index for pattern background + $objStyle->getFill()->endcolorIndex = (0x3F80 & self::_GetInt2d($recordData, 18)) >> 7; + } else { + // BIFF5 + + // offset: 7; size: 1; Text orientation and flags + $orientationAndFlags = ord($recordData{7}); + + // bit: 1-0; mask: 0x03; XF_ORIENTATION: Text orientation + $xfOrientation = (0x03 & $orientationAndFlags) >> 0; + switch ($xfOrientation) { + case 0: + $objStyle->getAlignment()->setTextRotation(0); + break; + case 1: + $objStyle->getAlignment()->setTextRotation(-165); + break; + case 2: + $objStyle->getAlignment()->setTextRotation(90); + break; + case 3: + $objStyle->getAlignment()->setTextRotation(-90); + break; + } + + // offset: 8; size: 4; cell border lines and background area + $borderAndBackground = self::_GetInt4d($recordData, 8); + + // bit: 6-0; mask: 0x0000007F; color index for pattern color + $objStyle->getFill()->startcolorIndex = (0x0000007F & $borderAndBackground) >> 0; + + // bit: 13-7; mask: 0x00003F80; color index for pattern background + $objStyle->getFill()->endcolorIndex = (0x00003F80 & $borderAndBackground) >> 7; + + // bit: 21-16; mask: 0x003F0000; fill pattern + $objStyle->getFill()->setFillType(self::_mapFillPattern((0x003F0000 & $borderAndBackground) >> 16)); + + // bit: 24-22; mask: 0x01C00000; bottom line style + $objStyle->getBorders()->getBottom()->setBorderStyle(self::_mapBorderStyle((0x01C00000 & $borderAndBackground) >> 22)); + + // bit: 31-25; mask: 0xFE000000; bottom line color + $objStyle->getBorders()->getBottom()->colorIndex = (0xFE000000 & $borderAndBackground) >> 25; + + // offset: 12; size: 4; cell border lines + $borderLines = self::_GetInt4d($recordData, 12); + + // bit: 2-0; mask: 0x00000007; top line style + $objStyle->getBorders()->getTop()->setBorderStyle(self::_mapBorderStyle((0x00000007 & $borderLines) >> 0)); + + // bit: 5-3; mask: 0x00000038; left line style + $objStyle->getBorders()->getLeft()->setBorderStyle(self::_mapBorderStyle((0x00000038 & $borderLines) >> 3)); + + // bit: 8-6; mask: 0x000001C0; right line style + $objStyle->getBorders()->getRight()->setBorderStyle(self::_mapBorderStyle((0x000001C0 & $borderLines) >> 6)); + + // bit: 15-9; mask: 0x0000FE00; top line color index + $objStyle->getBorders()->getTop()->colorIndex = (0x0000FE00 & $borderLines) >> 9; + + // bit: 22-16; mask: 0x007F0000; left line color index + $objStyle->getBorders()->getLeft()->colorIndex = (0x007F0000 & $borderLines) >> 16; + + // bit: 29-23; mask: 0x3F800000; right line color index + $objStyle->getBorders()->getRight()->colorIndex = (0x3F800000 & $borderLines) >> 23; + } + + // add cellStyleXf or cellXf and update mapping + if ($isCellStyleXf) { + // we only read one style XF record which is always the first + if ($this->_xfIndex == 0) { + $this->_phpExcel->addCellStyleXf($objStyle); + $this->_mapCellStyleXfIndex[$this->_xfIndex] = 0; + } + } else { + // we read all cell XF records + $this->_phpExcel->addCellXf($objStyle); + $this->_mapCellXfIndex[$this->_xfIndex] = count($this->_phpExcel->getCellXfCollection()) - 1; + } + + // update XF index for when we read next record + ++$this->_xfIndex; + } + } + + + /** + * + */ + private function _readXfExt() + { + $length = self::_GetInt2d($this->_data, $this->_pos + 2); + $recordData = $this->_readRecordData($this->_data, $this->_pos + 4, $length); + + // move stream pointer to next record + $this->_pos += 4 + $length; + + if (!$this->_readDataOnly) { + // offset: 0; size: 2; 0x087D = repeated header + + // offset: 2; size: 2 + + // offset: 4; size: 8; not used + + // offset: 12; size: 2; record version + + // offset: 14; size: 2; index to XF record which this record modifies + $ixfe = self::_GetInt2d($recordData, 14); + + // offset: 16; size: 2; not used + + // offset: 18; size: 2; number of extension properties that follow + $cexts = self::_GetInt2d($recordData, 18); + + // start reading the actual extension data + $offset = 20; + while ($offset < $length) { + // extension type + $extType = self::_GetInt2d($recordData, $offset); + + // extension length + $cb = self::_GetInt2d($recordData, $offset + 2); + + // extension data + $extData = substr($recordData, $offset + 4, $cb); + + switch ($extType) { + case 4: // fill start color + $xclfType = self::_GetInt2d($extData, 0); // color type + $xclrValue = substr($extData, 4, 4); // color value (value based on color type) + + if ($xclfType == 2) { + $rgb = sprintf('%02X%02X%02X', ord($xclrValue{0}), ord($xclrValue{1}), ord($xclrValue{2})); + + // modify the relevant style property + if ( isset($this->_mapCellXfIndex[$ixfe]) ) { + $fill = $this->_phpExcel->getCellXfByIndex($this->_mapCellXfIndex[$ixfe])->getFill(); + $fill->getStartColor()->setRGB($rgb); + unset($fill->startcolorIndex); // normal color index does not apply, discard + } + } + break; + + case 5: // fill end color + $xclfType = self::_GetInt2d($extData, 0); // color type + $xclrValue = substr($extData, 4, 4); // color value (value based on color type) + + if ($xclfType == 2) { + $rgb = sprintf('%02X%02X%02X', ord($xclrValue{0}), ord($xclrValue{1}), ord($xclrValue{2})); + + // modify the relevant style property + if ( isset($this->_mapCellXfIndex[$ixfe]) ) { + $fill = $this->_phpExcel->getCellXfByIndex($this->_mapCellXfIndex[$ixfe])->getFill(); + $fill->getEndColor()->setRGB($rgb); + unset($fill->endcolorIndex); // normal color index does not apply, discard + } + } + break; + + case 7: // border color top + $xclfType = self::_GetInt2d($extData, 0); // color type + $xclrValue = substr($extData, 4, 4); // color value (value based on color type) + + if ($xclfType == 2) { + $rgb = sprintf('%02X%02X%02X', ord($xclrValue{0}), ord($xclrValue{1}), ord($xclrValue{2})); + + // modify the relevant style property + if ( isset($this->_mapCellXfIndex[$ixfe]) ) { + $top = $this->_phpExcel->getCellXfByIndex($this->_mapCellXfIndex[$ixfe])->getBorders()->getTop(); + $top->getColor()->setRGB($rgb); + unset($top->colorIndex); // normal color index does not apply, discard + } + } + break; + + case 8: // border color bottom + $xclfType = self::_GetInt2d($extData, 0); // color type + $xclrValue = substr($extData, 4, 4); // color value (value based on color type) + + if ($xclfType == 2) { + $rgb = sprintf('%02X%02X%02X', ord($xclrValue{0}), ord($xclrValue{1}), ord($xclrValue{2})); + + // modify the relevant style property + if ( isset($this->_mapCellXfIndex[$ixfe]) ) { + $bottom = $this->_phpExcel->getCellXfByIndex($this->_mapCellXfIndex[$ixfe])->getBorders()->getBottom(); + $bottom->getColor()->setRGB($rgb); + unset($bottom->colorIndex); // normal color index does not apply, discard + } + } + break; + + case 9: // border color left + $xclfType = self::_GetInt2d($extData, 0); // color type + $xclrValue = substr($extData, 4, 4); // color value (value based on color type) + + if ($xclfType == 2) { + $rgb = sprintf('%02X%02X%02X', ord($xclrValue{0}), ord($xclrValue{1}), ord($xclrValue{2})); + + // modify the relevant style property + if ( isset($this->_mapCellXfIndex[$ixfe]) ) { + $left = $this->_phpExcel->getCellXfByIndex($this->_mapCellXfIndex[$ixfe])->getBorders()->getLeft(); + $left->getColor()->setRGB($rgb); + unset($left->colorIndex); // normal color index does not apply, discard + } + } + break; + + case 10: // border color right + $xclfType = self::_GetInt2d($extData, 0); // color type + $xclrValue = substr($extData, 4, 4); // color value (value based on color type) + + if ($xclfType == 2) { + $rgb = sprintf('%02X%02X%02X', ord($xclrValue{0}), ord($xclrValue{1}), ord($xclrValue{2})); + + // modify the relevant style property + if ( isset($this->_mapCellXfIndex[$ixfe]) ) { + $right = $this->_phpExcel->getCellXfByIndex($this->_mapCellXfIndex[$ixfe])->getBorders()->getRight(); + $right->getColor()->setRGB($rgb); + unset($right->colorIndex); // normal color index does not apply, discard + } + } + break; + + case 11: // border color diagonal + $xclfType = self::_GetInt2d($extData, 0); // color type + $xclrValue = substr($extData, 4, 4); // color value (value based on color type) + + if ($xclfType == 2) { + $rgb = sprintf('%02X%02X%02X', ord($xclrValue{0}), ord($xclrValue{1}), ord($xclrValue{2})); + + // modify the relevant style property + if ( isset($this->_mapCellXfIndex[$ixfe]) ) { + $diagonal = $this->_phpExcel->getCellXfByIndex($this->_mapCellXfIndex[$ixfe])->getBorders()->getDiagonal(); + $diagonal->getColor()->setRGB($rgb); + unset($diagonal->colorIndex); // normal color index does not apply, discard + } + } + break; + + case 13: // font color + $xclfType = self::_GetInt2d($extData, 0); // color type + $xclrValue = substr($extData, 4, 4); // color value (value based on color type) + + if ($xclfType == 2) { + $rgb = sprintf('%02X%02X%02X', ord($xclrValue{0}), ord($xclrValue{1}), ord($xclrValue{2})); + + // modify the relevant style property + if ( isset($this->_mapCellXfIndex[$ixfe]) ) { + $font = $this->_phpExcel->getCellXfByIndex($this->_mapCellXfIndex[$ixfe])->getFont(); + $font->getColor()->setRGB($rgb); + unset($font->colorIndex); // normal color index does not apply, discard + } + } + break; + } + + $offset += $cb; + } + } + + } + + + /** + * Read STYLE record + */ + private function _readStyle() + { + $length = self::_GetInt2d($this->_data, $this->_pos + 2); + $recordData = $this->_readRecordData($this->_data, $this->_pos + 4, $length); + + // move stream pointer to next record + $this->_pos += 4 + $length; + + if (!$this->_readDataOnly) { + // offset: 0; size: 2; index to XF record and flag for built-in style + $ixfe = self::_GetInt2d($recordData, 0); + + // bit: 11-0; mask 0x0FFF; index to XF record + $xfIndex = (0x0FFF & $ixfe) >> 0; + + // bit: 15; mask 0x8000; 0 = user-defined style, 1 = built-in style + $isBuiltIn = (bool) ((0x8000 & $ixfe) >> 15); + + if ($isBuiltIn) { + // offset: 2; size: 1; identifier for built-in style + $builtInId = ord($recordData{2}); + + switch ($builtInId) { + case 0x00: + // currently, we are not using this for anything + break; + + default: + break; + } + + } else { + // user-defined; not supported by PHPExcel + } + } + } + + + /** + * Read PALETTE record + */ + private function _readPalette() + { + $length = self::_GetInt2d($this->_data, $this->_pos + 2); + $recordData = $this->_readRecordData($this->_data, $this->_pos + 4, $length); + + // move stream pointer to next record + $this->_pos += 4 + $length; + + if (!$this->_readDataOnly) { + // offset: 0; size: 2; number of following colors + $nm = self::_GetInt2d($recordData, 0); + + // list of RGB colors + for ($i = 0; $i < $nm; ++$i) { + $rgb = substr($recordData, 2 + 4 * $i, 4); + $this->_palette[] = self::_readRGB($rgb); + } + } + } + + + /** + * SHEET + * + * This record is located in the Workbook Globals + * Substream and represents a sheet inside the workbook. + * One SHEET record is written for each sheet. It stores the + * sheet name and a stream offset to the BOF record of the + * respective Sheet Substream within the Workbook Stream. + * + * -- "OpenOffice.org's Documentation of the Microsoft + * Excel File Format" + */ + private function _readSheet() + { + $length = self::_GetInt2d($this->_data, $this->_pos + 2); + $recordData = $this->_readRecordData($this->_data, $this->_pos + 4, $length); + + // offset: 0; size: 4; absolute stream position of the BOF record of the sheet + // NOTE: not encrypted + $rec_offset = self::_GetInt4d($this->_data, $this->_pos + 4); + + // move stream pointer to next record + $this->_pos += 4 + $length; + + // offset: 4; size: 1; sheet state + switch (ord($recordData{4})) { + case 0x00: $sheetState = PHPExcel_Worksheet::SHEETSTATE_VISIBLE; break; + case 0x01: $sheetState = PHPExcel_Worksheet::SHEETSTATE_HIDDEN; break; + case 0x02: $sheetState = PHPExcel_Worksheet::SHEETSTATE_VERYHIDDEN; break; + default: $sheetState = PHPExcel_Worksheet::SHEETSTATE_VISIBLE; break; + } + + // offset: 5; size: 1; sheet type + $sheetType = ord($recordData{5}); + + // offset: 6; size: var; sheet name + if ($this->_version == self::XLS_BIFF8) { + $string = self::_readUnicodeStringShort(substr($recordData, 6)); + $rec_name = $string['value']; + } elseif ($this->_version == self::XLS_BIFF7) { + $string = $this->_readByteStringShort(substr($recordData, 6)); + $rec_name = $string['value']; + } + + $this->_sheets[] = array( + 'name' => $rec_name, + 'offset' => $rec_offset, + 'sheetState' => $sheetState, + 'sheetType' => $sheetType, + ); + } + + + /** + * Read EXTERNALBOOK record + */ + private function _readExternalBook() + { + $length = self::_GetInt2d($this->_data, $this->_pos + 2); + $recordData = $this->_readRecordData($this->_data, $this->_pos + 4, $length); + + // move stream pointer to next record + $this->_pos += 4 + $length; + + // offset within record data + $offset = 0; + + // there are 4 types of records + if (strlen($recordData) > 4) { + // external reference + // offset: 0; size: 2; number of sheet names ($nm) + $nm = self::_GetInt2d($recordData, 0); + $offset += 2; + + // offset: 2; size: var; encoded URL without sheet name (Unicode string, 16-bit length) + $encodedUrlString = self::_readUnicodeStringLong(substr($recordData, 2)); + $offset += $encodedUrlString['size']; + + // offset: var; size: var; list of $nm sheet names (Unicode strings, 16-bit length) + $externalSheetNames = array(); + for ($i = 0; $i < $nm; ++$i) { + $externalSheetNameString = self::_readUnicodeStringLong(substr($recordData, $offset)); + $externalSheetNames[] = $externalSheetNameString['value']; + $offset += $externalSheetNameString['size']; + } + + // store the record data + $this->_externalBooks[] = array( + 'type' => 'external', + 'encodedUrl' => $encodedUrlString['value'], + 'externalSheetNames' => $externalSheetNames, + ); + + } elseif (substr($recordData, 2, 2) == pack('CC', 0x01, 0x04)) { + // internal reference + // offset: 0; size: 2; number of sheet in this document + // offset: 2; size: 2; 0x01 0x04 + $this->_externalBooks[] = array( + 'type' => 'internal', + ); + } elseif (substr($recordData, 0, 4) == pack('vCC', 0x0001, 0x01, 0x3A)) { + // add-in function + // offset: 0; size: 2; 0x0001 + $this->_externalBooks[] = array( + 'type' => 'addInFunction', + ); + } elseif (substr($recordData, 0, 2) == pack('v', 0x0000)) { + // DDE links, OLE links + // offset: 0; size: 2; 0x0000 + // offset: 2; size: var; encoded source document name + $this->_externalBooks[] = array( + 'type' => 'DDEorOLE', + ); + } + } + + + /** + * Read EXTERNNAME record. + */ + private function _readExternName() + { + $length = self::_GetInt2d($this->_data, $this->_pos + 2); + $recordData = $this->_readRecordData($this->_data, $this->_pos + 4, $length); + + // move stream pointer to next record + $this->_pos += 4 + $length; + + // external sheet references provided for named cells + if ($this->_version == self::XLS_BIFF8) { + // offset: 0; size: 2; options + $options = self::_GetInt2d($recordData, 0); + + // offset: 2; size: 2; + + // offset: 4; size: 2; not used + + // offset: 6; size: var + $nameString = self::_readUnicodeStringShort(substr($recordData, 6)); + + // offset: var; size: var; formula data + $offset = 6 + $nameString['size']; + $formula = $this->_getFormulaFromStructure(substr($recordData, $offset)); + + $this->_externalNames[] = array( + 'name' => $nameString['value'], + 'formula' => $formula, + ); + } + } + + + /** + * Read EXTERNSHEET record + */ + private function _readExternSheet() + { + $length = self::_GetInt2d($this->_data, $this->_pos + 2); + $recordData = $this->_readRecordData($this->_data, $this->_pos + 4, $length); + + // move stream pointer to next record + $this->_pos += 4 + $length; + + // external sheet references provided for named cells + if ($this->_version == self::XLS_BIFF8) { + // offset: 0; size: 2; number of following ref structures + $nm = self::_GetInt2d($recordData, 0); + for ($i = 0; $i < $nm; ++$i) { + $this->_ref[] = array( + // offset: 2 + 6 * $i; index to EXTERNALBOOK record + 'externalBookIndex' => self::_GetInt2d($recordData, 2 + 6 * $i), + // offset: 4 + 6 * $i; index to first sheet in EXTERNALBOOK record + 'firstSheetIndex' => self::_GetInt2d($recordData, 4 + 6 * $i), + // offset: 6 + 6 * $i; index to last sheet in EXTERNALBOOK record + 'lastSheetIndex' => self::_GetInt2d($recordData, 6 + 6 * $i), + ); + } + } + } + + + /** + * DEFINEDNAME + * + * This record is part of a Link Table. It contains the name + * and the token array of an internal defined name. Token + * arrays of defined names contain tokens with aberrant + * token classes. + * + * -- "OpenOffice.org's Documentation of the Microsoft + * Excel File Format" + */ + private function _readDefinedName() + { + $length = self::_GetInt2d($this->_data, $this->_pos + 2); + $recordData = $this->_readRecordData($this->_data, $this->_pos + 4, $length); + + // move stream pointer to next record + $this->_pos += 4 + $length; + + if ($this->_version == self::XLS_BIFF8) { + // retrieves named cells + + // offset: 0; size: 2; option flags + $opts = self::_GetInt2d($recordData, 0); + + // bit: 5; mask: 0x0020; 0 = user-defined name, 1 = built-in-name + $isBuiltInName = (0x0020 & $opts) >> 5; + + // offset: 2; size: 1; keyboard shortcut + + // offset: 3; size: 1; length of the name (character count) + $nlen = ord($recordData{3}); + + // offset: 4; size: 2; size of the formula data (it can happen that this is zero) + // note: there can also be additional data, this is not included in $flen + $flen = self::_GetInt2d($recordData, 4); + + // offset: 8; size: 2; 0=Global name, otherwise index to sheet (1-based) + $scope = self::_GetInt2d($recordData, 8); + + // offset: 14; size: var; Name (Unicode string without length field) + $string = self::_readUnicodeString(substr($recordData, 14), $nlen); + + // offset: var; size: $flen; formula data + $offset = 14 + $string['size']; + $formulaStructure = pack('v', $flen) . substr($recordData, $offset); + + try { + $formula = $this->_getFormulaFromStructure($formulaStructure); + } catch (PHPExcel_Exception $e) { + $formula = ''; + } + + $this->_definedname[] = array( + 'isBuiltInName' => $isBuiltInName, + 'name' => $string['value'], + 'formula' => $formula, + 'scope' => $scope, + ); + } + } + + + /** + * Read MSODRAWINGGROUP record + */ + private function _readMsoDrawingGroup() + { + $length = self::_GetInt2d($this->_data, $this->_pos + 2); + + // get spliced record data + $splicedRecordData = $this->_getSplicedRecordData(); + $recordData = $splicedRecordData['recordData']; + + $this->_drawingGroupData .= $recordData; + } + + + /** + * SST - Shared String Table + * + * This record contains a list of all strings used anywhere + * in the workbook. Each string occurs only once. The + * workbook uses indexes into the list to reference the + * strings. + * + * -- "OpenOffice.org's Documentation of the Microsoft + * Excel File Format" + **/ + private function _readSst() + { + // offset within (spliced) record data + $pos = 0; + + // get spliced record data + $splicedRecordData = $this->_getSplicedRecordData(); + + $recordData = $splicedRecordData['recordData']; + $spliceOffsets = $splicedRecordData['spliceOffsets']; + + // offset: 0; size: 4; total number of strings in the workbook + $pos += 4; + + // offset: 4; size: 4; number of following strings ($nm) + $nm = self::_GetInt4d($recordData, 4); + $pos += 4; + + // loop through the Unicode strings (16-bit length) + for ($i = 0; $i < $nm; ++$i) { + + // number of characters in the Unicode string + $numChars = self::_GetInt2d($recordData, $pos); + $pos += 2; + + // option flags + $optionFlags = ord($recordData{$pos}); + ++$pos; + + // bit: 0; mask: 0x01; 0 = compressed; 1 = uncompressed + $isCompressed = (($optionFlags & 0x01) == 0) ; + + // bit: 2; mask: 0x02; 0 = ordinary; 1 = Asian phonetic + $hasAsian = (($optionFlags & 0x04) != 0); + + // bit: 3; mask: 0x03; 0 = ordinary; 1 = Rich-Text + $hasRichText = (($optionFlags & 0x08) != 0); + + if ($hasRichText) { + // number of Rich-Text formatting runs + $formattingRuns = self::_GetInt2d($recordData, $pos); + $pos += 2; + } + + if ($hasAsian) { + // size of Asian phonetic setting + $extendedRunLength = self::_GetInt4d($recordData, $pos); + $pos += 4; + } + + // expected byte length of character array if not split + $len = ($isCompressed) ? $numChars : $numChars * 2; + + // look up limit position + foreach ($spliceOffsets as $spliceOffset) { + // it can happen that the string is empty, therefore we need + // <= and not just < + if ($pos <= $spliceOffset) { + $limitpos = $spliceOffset; + break; + } + } + + if ($pos + $len <= $limitpos) { + // character array is not split between records + + $retstr = substr($recordData, $pos, $len); + $pos += $len; + + } else { + // character array is split between records + + // first part of character array + $retstr = substr($recordData, $pos, $limitpos - $pos); + + $bytesRead = $limitpos - $pos; + + // remaining characters in Unicode string + $charsLeft = $numChars - (($isCompressed) ? $bytesRead : ($bytesRead / 2)); + + $pos = $limitpos; + + // keep reading the characters + while ($charsLeft > 0) { + + // look up next limit position, in case the string span more than one continue record + foreach ($spliceOffsets as $spliceOffset) { + if ($pos < $spliceOffset) { + $limitpos = $spliceOffset; + break; + } + } + + // repeated option flags + // OpenOffice.org documentation 5.21 + $option = ord($recordData{$pos}); + ++$pos; + + if ($isCompressed && ($option == 0)) { + // 1st fragment compressed + // this fragment compressed + $len = min($charsLeft, $limitpos - $pos); + $retstr .= substr($recordData, $pos, $len); + $charsLeft -= $len; + $isCompressed = true; + + } elseif (!$isCompressed && ($option != 0)) { + // 1st fragment uncompressed + // this fragment uncompressed + $len = min($charsLeft * 2, $limitpos - $pos); + $retstr .= substr($recordData, $pos, $len); + $charsLeft -= $len / 2; + $isCompressed = false; + + } elseif (!$isCompressed && ($option == 0)) { + // 1st fragment uncompressed + // this fragment compressed + $len = min($charsLeft, $limitpos - $pos); + for ($j = 0; $j < $len; ++$j) { + $retstr .= $recordData{$pos + $j} . chr(0); + } + $charsLeft -= $len; + $isCompressed = false; + + } else { + // 1st fragment compressed + // this fragment uncompressed + $newstr = ''; + for ($j = 0; $j < strlen($retstr); ++$j) { + $newstr .= $retstr[$j] . chr(0); + } + $retstr = $newstr; + $len = min($charsLeft * 2, $limitpos - $pos); + $retstr .= substr($recordData, $pos, $len); + $charsLeft -= $len / 2; + $isCompressed = false; + } + + $pos += $len; + } + } + + // convert to UTF-8 + $retstr = self::_encodeUTF16($retstr, $isCompressed); + + // read additional Rich-Text information, if any + $fmtRuns = array(); + if ($hasRichText) { + // list of formatting runs + for ($j = 0; $j < $formattingRuns; ++$j) { + // first formatted character; zero-based + $charPos = self::_GetInt2d($recordData, $pos + $j * 4); + + // index to font record + $fontIndex = self::_GetInt2d($recordData, $pos + 2 + $j * 4); + + $fmtRuns[] = array( + 'charPos' => $charPos, + 'fontIndex' => $fontIndex, + ); + } + $pos += 4 * $formattingRuns; + } + + // read additional Asian phonetics information, if any + if ($hasAsian) { + // For Asian phonetic settings, we skip the extended string data + $pos += $extendedRunLength; + } + + // store the shared sting + $this->_sst[] = array( + 'value' => $retstr, + 'fmtRuns' => $fmtRuns, + ); + } + + // _getSplicedRecordData() takes care of moving current position in data stream + } + + + /** + * Read PRINTGRIDLINES record + */ + private function _readPrintGridlines() + { + $length = self::_GetInt2d($this->_data, $this->_pos + 2); + $recordData = $this->_readRecordData($this->_data, $this->_pos + 4, $length); + + // move stream pointer to next record + $this->_pos += 4 + $length; + + if ($this->_version == self::XLS_BIFF8 && !$this->_readDataOnly) { + // offset: 0; size: 2; 0 = do not print sheet grid lines; 1 = print sheet gridlines + $printGridlines = (bool) self::_GetInt2d($recordData, 0); + $this->_phpSheet->setPrintGridlines($printGridlines); + } + } + + + /** + * Read DEFAULTROWHEIGHT record + */ + private function _readDefaultRowHeight() + { + $length = self::_GetInt2d($this->_data, $this->_pos + 2); + $recordData = $this->_readRecordData($this->_data, $this->_pos + 4, $length); + + // move stream pointer to next record + $this->_pos += 4 + $length; + + // offset: 0; size: 2; option flags + // offset: 2; size: 2; default height for unused rows, (twips 1/20 point) + $height = self::_GetInt2d($recordData, 2); + $this->_phpSheet->getDefaultRowDimension()->setRowHeight($height / 20); + } + + + /** + * Read SHEETPR record + */ + private function _readSheetPr() + { + $length = self::_GetInt2d($this->_data, $this->_pos + 2); + $recordData = $this->_readRecordData($this->_data, $this->_pos + 4, $length); + + // move stream pointer to next record + $this->_pos += 4 + $length; + + // offset: 0; size: 2 + + // bit: 6; mask: 0x0040; 0 = outline buttons above outline group + $isSummaryBelow = (0x0040 & self::_GetInt2d($recordData, 0)) >> 6; + $this->_phpSheet->setShowSummaryBelow($isSummaryBelow); + + // bit: 7; mask: 0x0080; 0 = outline buttons left of outline group + $isSummaryRight = (0x0080 & self::_GetInt2d($recordData, 0)) >> 7; + $this->_phpSheet->setShowSummaryRight($isSummaryRight); + + // bit: 8; mask: 0x100; 0 = scale printout in percent, 1 = fit printout to number of pages + // this corresponds to radio button setting in page setup dialog in Excel + $this->_isFitToPages = (bool) ((0x0100 & self::_GetInt2d($recordData, 0)) >> 8); + } + + + /** + * Read HORIZONTALPAGEBREAKS record + */ + private function _readHorizontalPageBreaks() + { + $length = self::_GetInt2d($this->_data, $this->_pos + 2); + $recordData = $this->_readRecordData($this->_data, $this->_pos + 4, $length); + + // move stream pointer to next record + $this->_pos += 4 + $length; + + if ($this->_version == self::XLS_BIFF8 && !$this->_readDataOnly) { + + // offset: 0; size: 2; number of the following row index structures + $nm = self::_GetInt2d($recordData, 0); + + // offset: 2; size: 6 * $nm; list of $nm row index structures + for ($i = 0; $i < $nm; ++$i) { + $r = self::_GetInt2d($recordData, 2 + 6 * $i); + $cf = self::_GetInt2d($recordData, 2 + 6 * $i + 2); + $cl = self::_GetInt2d($recordData, 2 + 6 * $i + 4); + + // not sure why two column indexes are necessary? + $this->_phpSheet->setBreakByColumnAndRow($cf, $r, PHPExcel_Worksheet::BREAK_ROW); + } + } + } + + + /** + * Read VERTICALPAGEBREAKS record + */ + private function _readVerticalPageBreaks() + { + $length = self::_GetInt2d($this->_data, $this->_pos + 2); + $recordData = $this->_readRecordData($this->_data, $this->_pos + 4, $length); + + // move stream pointer to next record + $this->_pos += 4 + $length; + + if ($this->_version == self::XLS_BIFF8 && !$this->_readDataOnly) { + // offset: 0; size: 2; number of the following column index structures + $nm = self::_GetInt2d($recordData, 0); + + // offset: 2; size: 6 * $nm; list of $nm row index structures + for ($i = 0; $i < $nm; ++$i) { + $c = self::_GetInt2d($recordData, 2 + 6 * $i); + $rf = self::_GetInt2d($recordData, 2 + 6 * $i + 2); + $rl = self::_GetInt2d($recordData, 2 + 6 * $i + 4); + + // not sure why two row indexes are necessary? + $this->_phpSheet->setBreakByColumnAndRow($c, $rf, PHPExcel_Worksheet::BREAK_COLUMN); + } + } + } + + + /** + * Read HEADER record + */ + private function _readHeader() + { + $length = self::_GetInt2d($this->_data, $this->_pos + 2); + $recordData = $this->_readRecordData($this->_data, $this->_pos + 4, $length); + + // move stream pointer to next record + $this->_pos += 4 + $length; + + if (!$this->_readDataOnly) { + // offset: 0; size: var + // realized that $recordData can be empty even when record exists + if ($recordData) { + if ($this->_version == self::XLS_BIFF8) { + $string = self::_readUnicodeStringLong($recordData); + } else { + $string = $this->_readByteStringShort($recordData); + } + + $this->_phpSheet->getHeaderFooter()->setOddHeader($string['value']); + $this->_phpSheet->getHeaderFooter()->setEvenHeader($string['value']); + } + } + } + + + /** + * Read FOOTER record + */ + private function _readFooter() + { + $length = self::_GetInt2d($this->_data, $this->_pos + 2); + $recordData = $this->_readRecordData($this->_data, $this->_pos + 4, $length); + + // move stream pointer to next record + $this->_pos += 4 + $length; + + if (!$this->_readDataOnly) { + // offset: 0; size: var + // realized that $recordData can be empty even when record exists + if ($recordData) { + if ($this->_version == self::XLS_BIFF8) { + $string = self::_readUnicodeStringLong($recordData); + } else { + $string = $this->_readByteStringShort($recordData); + } + $this->_phpSheet->getHeaderFooter()->setOddFooter($string['value']); + $this->_phpSheet->getHeaderFooter()->setEvenFooter($string['value']); + } + } + } + + + /** + * Read HCENTER record + */ + private function _readHcenter() + { + $length = self::_GetInt2d($this->_data, $this->_pos + 2); + $recordData = $this->_readRecordData($this->_data, $this->_pos + 4, $length); + + // move stream pointer to next record + $this->_pos += 4 + $length; + + if (!$this->_readDataOnly) { + // offset: 0; size: 2; 0 = print sheet left aligned, 1 = print sheet centered horizontally + $isHorizontalCentered = (bool) self::_GetInt2d($recordData, 0); + + $this->_phpSheet->getPageSetup()->setHorizontalCentered($isHorizontalCentered); + } + } + + + /** + * Read VCENTER record + */ + private function _readVcenter() + { + $length = self::_GetInt2d($this->_data, $this->_pos + 2); + $recordData = $this->_readRecordData($this->_data, $this->_pos + 4, $length); + + // move stream pointer to next record + $this->_pos += 4 + $length; + + if (!$this->_readDataOnly) { + // offset: 0; size: 2; 0 = print sheet aligned at top page border, 1 = print sheet vertically centered + $isVerticalCentered = (bool) self::_GetInt2d($recordData, 0); + + $this->_phpSheet->getPageSetup()->setVerticalCentered($isVerticalCentered); + } + } + + + /** + * Read LEFTMARGIN record + */ + private function _readLeftMargin() + { + $length = self::_GetInt2d($this->_data, $this->_pos + 2); + $recordData = $this->_readRecordData($this->_data, $this->_pos + 4, $length); + + // move stream pointer to next record + $this->_pos += 4 + $length; + + if (!$this->_readDataOnly) { + // offset: 0; size: 8 + $this->_phpSheet->getPageMargins()->setLeft(self::_extractNumber($recordData)); + } + } + + + /** + * Read RIGHTMARGIN record + */ + private function _readRightMargin() + { + $length = self::_GetInt2d($this->_data, $this->_pos + 2); + $recordData = $this->_readRecordData($this->_data, $this->_pos + 4, $length); + + // move stream pointer to next record + $this->_pos += 4 + $length; + + if (!$this->_readDataOnly) { + // offset: 0; size: 8 + $this->_phpSheet->getPageMargins()->setRight(self::_extractNumber($recordData)); + } + } + + + /** + * Read TOPMARGIN record + */ + private function _readTopMargin() + { + $length = self::_GetInt2d($this->_data, $this->_pos + 2); + $recordData = $this->_readRecordData($this->_data, $this->_pos + 4, $length); + + // move stream pointer to next record + $this->_pos += 4 + $length; + + if (!$this->_readDataOnly) { + // offset: 0; size: 8 + $this->_phpSheet->getPageMargins()->setTop(self::_extractNumber($recordData)); + } + } + + + /** + * Read BOTTOMMARGIN record + */ + private function _readBottomMargin() + { + $length = self::_GetInt2d($this->_data, $this->_pos + 2); + $recordData = $this->_readRecordData($this->_data, $this->_pos + 4, $length); + + // move stream pointer to next record + $this->_pos += 4 + $length; + + if (!$this->_readDataOnly) { + // offset: 0; size: 8 + $this->_phpSheet->getPageMargins()->setBottom(self::_extractNumber($recordData)); + } + } + + + /** + * Read PAGESETUP record + */ + private function _readPageSetup() + { + $length = self::_GetInt2d($this->_data, $this->_pos + 2); + $recordData = $this->_readRecordData($this->_data, $this->_pos + 4, $length); + + // move stream pointer to next record + $this->_pos += 4 + $length; + + if (!$this->_readDataOnly) { + // offset: 0; size: 2; paper size + $paperSize = self::_GetInt2d($recordData, 0); + + // offset: 2; size: 2; scaling factor + $scale = self::_GetInt2d($recordData, 2); + + // offset: 6; size: 2; fit worksheet width to this number of pages, 0 = use as many as needed + $fitToWidth = self::_GetInt2d($recordData, 6); + + // offset: 8; size: 2; fit worksheet height to this number of pages, 0 = use as many as needed + $fitToHeight = self::_GetInt2d($recordData, 8); + + // offset: 10; size: 2; option flags + + // bit: 1; mask: 0x0002; 0=landscape, 1=portrait + $isPortrait = (0x0002 & self::_GetInt2d($recordData, 10)) >> 1; + + // bit: 2; mask: 0x0004; 1= paper size, scaling factor, paper orient. not init + // when this bit is set, do not use flags for those properties + $isNotInit = (0x0004 & self::_GetInt2d($recordData, 10)) >> 2; + + if (!$isNotInit) { + $this->_phpSheet->getPageSetup()->setPaperSize($paperSize); + switch ($isPortrait) { + case 0: $this->_phpSheet->getPageSetup()->setOrientation(PHPExcel_Worksheet_PageSetup::ORIENTATION_LANDSCAPE); break; + case 1: $this->_phpSheet->getPageSetup()->setOrientation(PHPExcel_Worksheet_PageSetup::ORIENTATION_PORTRAIT); break; + } + + $this->_phpSheet->getPageSetup()->setScale($scale, false); + $this->_phpSheet->getPageSetup()->setFitToPage((bool) $this->_isFitToPages); + $this->_phpSheet->getPageSetup()->setFitToWidth($fitToWidth, false); + $this->_phpSheet->getPageSetup()->setFitToHeight($fitToHeight, false); + } + + // offset: 16; size: 8; header margin (IEEE 754 floating-point value) + $marginHeader = self::_extractNumber(substr($recordData, 16, 8)); + $this->_phpSheet->getPageMargins()->setHeader($marginHeader); + + // offset: 24; size: 8; footer margin (IEEE 754 floating-point value) + $marginFooter = self::_extractNumber(substr($recordData, 24, 8)); + $this->_phpSheet->getPageMargins()->setFooter($marginFooter); + } + } + + + /** + * PROTECT - Sheet protection (BIFF2 through BIFF8) + * if this record is omitted, then it also means no sheet protection + */ + private function _readProtect() + { + $length = self::_GetInt2d($this->_data, $this->_pos + 2); + $recordData = $this->_readRecordData($this->_data, $this->_pos + 4, $length); + + // move stream pointer to next record + $this->_pos += 4 + $length; + + if ($this->_readDataOnly) { + return; + } + + // offset: 0; size: 2; + + // bit 0, mask 0x01; 1 = sheet is protected + $bool = (0x01 & self::_GetInt2d($recordData, 0)) >> 0; + $this->_phpSheet->getProtection()->setSheet((bool)$bool); + } + + + /** + * SCENPROTECT + */ + private function _readScenProtect() + { + $length = self::_GetInt2d($this->_data, $this->_pos + 2); + $recordData = $this->_readRecordData($this->_data, $this->_pos + 4, $length); + + // move stream pointer to next record + $this->_pos += 4 + $length; + + if ($this->_readDataOnly) { + return; + } + + // offset: 0; size: 2; + + // bit: 0, mask 0x01; 1 = scenarios are protected + $bool = (0x01 & self::_GetInt2d($recordData, 0)) >> 0; + + $this->_phpSheet->getProtection()->setScenarios((bool)$bool); + } + + + /** + * OBJECTPROTECT + */ + private function _readObjectProtect() + { + $length = self::_GetInt2d($this->_data, $this->_pos + 2); + $recordData = $this->_readRecordData($this->_data, $this->_pos + 4, $length); + + // move stream pointer to next record + $this->_pos += 4 + $length; + + if ($this->_readDataOnly) { + return; + } + + // offset: 0; size: 2; + + // bit: 0, mask 0x01; 1 = objects are protected + $bool = (0x01 & self::_GetInt2d($recordData, 0)) >> 0; + + $this->_phpSheet->getProtection()->setObjects((bool)$bool); + } + + + /** + * PASSWORD - Sheet protection (hashed) password (BIFF2 through BIFF8) + */ + private function _readPassword() + { + $length = self::_GetInt2d($this->_data, $this->_pos + 2); + $recordData = $this->_readRecordData($this->_data, $this->_pos + 4, $length); + + // move stream pointer to next record + $this->_pos += 4 + $length; + + if (!$this->_readDataOnly) { + // offset: 0; size: 2; 16-bit hash value of password + $password = strtoupper(dechex(self::_GetInt2d($recordData, 0))); // the hashed password + $this->_phpSheet->getProtection()->setPassword($password, true); + } + } + + + /** + * Read DEFCOLWIDTH record + */ + private function _readDefColWidth() + { + $length = self::_GetInt2d($this->_data, $this->_pos + 2); + $recordData = $this->_readRecordData($this->_data, $this->_pos + 4, $length); + + // move stream pointer to next record + $this->_pos += 4 + $length; + + // offset: 0; size: 2; default column width + $width = self::_GetInt2d($recordData, 0); + if ($width != 8) { + $this->_phpSheet->getDefaultColumnDimension()->setWidth($width); + } + } + + + /** + * Read COLINFO record + */ + private function _readColInfo() + { + $length = self::_GetInt2d($this->_data, $this->_pos + 2); + $recordData = $this->_readRecordData($this->_data, $this->_pos + 4, $length); + + // move stream pointer to next record + $this->_pos += 4 + $length; + + if (!$this->_readDataOnly) { + // offset: 0; size: 2; index to first column in range + $fc = self::_GetInt2d($recordData, 0); // first column index + + // offset: 2; size: 2; index to last column in range + $lc = self::_GetInt2d($recordData, 2); // first column index + + // offset: 4; size: 2; width of the column in 1/256 of the width of the zero character + $width = self::_GetInt2d($recordData, 4); + + // offset: 6; size: 2; index to XF record for default column formatting + $xfIndex = self::_GetInt2d($recordData, 6); + + // offset: 8; size: 2; option flags + + // bit: 0; mask: 0x0001; 1= columns are hidden + $isHidden = (0x0001 & self::_GetInt2d($recordData, 8)) >> 0; + + // bit: 10-8; mask: 0x0700; outline level of the columns (0 = no outline) + $level = (0x0700 & self::_GetInt2d($recordData, 8)) >> 8; + + // bit: 12; mask: 0x1000; 1 = collapsed + $isCollapsed = (0x1000 & self::_GetInt2d($recordData, 8)) >> 12; + + // offset: 10; size: 2; not used + + for ($i = $fc; $i <= $lc; ++$i) { + if ($lc == 255 || $lc == 256) { + $this->_phpSheet->getDefaultColumnDimension()->setWidth($width / 256); + break; + } + $this->_phpSheet->getColumnDimensionByColumn($i)->setWidth($width / 256); + $this->_phpSheet->getColumnDimensionByColumn($i)->setVisible(!$isHidden); + $this->_phpSheet->getColumnDimensionByColumn($i)->setOutlineLevel($level); + $this->_phpSheet->getColumnDimensionByColumn($i)->setCollapsed($isCollapsed); + $this->_phpSheet->getColumnDimensionByColumn($i)->setXfIndex($this->_mapCellXfIndex[$xfIndex]); + } + } + } + + + /** + * ROW + * + * This record contains the properties of a single row in a + * sheet. Rows and cells in a sheet are divided into blocks + * of 32 rows. + * + * -- "OpenOffice.org's Documentation of the Microsoft + * Excel File Format" + */ + private function _readRow() + { + $length = self::_GetInt2d($this->_data, $this->_pos + 2); + $recordData = $this->_readRecordData($this->_data, $this->_pos + 4, $length); + + // move stream pointer to next record + $this->_pos += 4 + $length; + + if (!$this->_readDataOnly) { + // offset: 0; size: 2; index of this row + $r = self::_GetInt2d($recordData, 0); + + // offset: 2; size: 2; index to column of the first cell which is described by a cell record + + // offset: 4; size: 2; index to column of the last cell which is described by a cell record, increased by 1 + + // offset: 6; size: 2; + + // bit: 14-0; mask: 0x7FFF; height of the row, in twips = 1/20 of a point + $height = (0x7FFF & self::_GetInt2d($recordData, 6)) >> 0; + + // bit: 15: mask: 0x8000; 0 = row has custom height; 1= row has default height + $useDefaultHeight = (0x8000 & self::_GetInt2d($recordData, 6)) >> 15; + + if (!$useDefaultHeight) { + $this->_phpSheet->getRowDimension($r + 1)->setRowHeight($height / 20); + } + + // offset: 8; size: 2; not used + + // offset: 10; size: 2; not used in BIFF5-BIFF8 + + // offset: 12; size: 4; option flags and default row formatting + + // bit: 2-0: mask: 0x00000007; outline level of the row + $level = (0x00000007 & self::_GetInt4d($recordData, 12)) >> 0; + $this->_phpSheet->getRowDimension($r + 1)->setOutlineLevel($level); + + // bit: 4; mask: 0x00000010; 1 = outline group start or ends here... and is collapsed + $isCollapsed = (0x00000010 & self::_GetInt4d($recordData, 12)) >> 4; + $this->_phpSheet->getRowDimension($r + 1)->setCollapsed($isCollapsed); + + // bit: 5; mask: 0x00000020; 1 = row is hidden + $isHidden = (0x00000020 & self::_GetInt4d($recordData, 12)) >> 5; + $this->_phpSheet->getRowDimension($r + 1)->setVisible(!$isHidden); + + // bit: 7; mask: 0x00000080; 1 = row has explicit format + $hasExplicitFormat = (0x00000080 & self::_GetInt4d($recordData, 12)) >> 7; + + // bit: 27-16; mask: 0x0FFF0000; only applies when hasExplicitFormat = 1; index to XF record + $xfIndex = (0x0FFF0000 & self::_GetInt4d($recordData, 12)) >> 16; + + if ($hasExplicitFormat) { + $this->_phpSheet->getRowDimension($r + 1)->setXfIndex($this->_mapCellXfIndex[$xfIndex]); + } + } + } + + + /** + * Read RK record + * This record represents a cell that contains an RK value + * (encoded integer or floating-point value). If a + * floating-point value cannot be encoded to an RK value, + * a NUMBER record will be written. This record replaces the + * record INTEGER written in BIFF2. + * + * -- "OpenOffice.org's Documentation of the Microsoft + * Excel File Format" + */ + private function _readRk() + { + $length = self::_GetInt2d($this->_data, $this->_pos + 2); + $recordData = $this->_readRecordData($this->_data, $this->_pos + 4, $length); + + // move stream pointer to next record + $this->_pos += 4 + $length; + + // offset: 0; size: 2; index to row + $row = self::_GetInt2d($recordData, 0); + + // offset: 2; size: 2; index to column + $column = self::_GetInt2d($recordData, 2); + $columnString = PHPExcel_Cell::stringFromColumnIndex($column); + + // Read cell? + if (($this->getReadFilter() !== NULL) && $this->getReadFilter()->readCell($columnString, $row + 1, $this->_phpSheet->getTitle()) ) { + // offset: 4; size: 2; index to XF record + $xfIndex = self::_GetInt2d($recordData, 4); + + // offset: 6; size: 4; RK value + $rknum = self::_GetInt4d($recordData, 6); + $numValue = self::_GetIEEE754($rknum); + + $cell = $this->_phpSheet->getCell($columnString . ($row + 1)); + if (!$this->_readDataOnly) { + // add style information + $cell->setXfIndex($this->_mapCellXfIndex[$xfIndex]); + } + + // add cell + $cell->setValueExplicit($numValue, PHPExcel_Cell_DataType::TYPE_NUMERIC); + } + } + + + /** + * Read LABELSST record + * This record represents a cell that contains a string. It + * replaces the LABEL record and RSTRING record used in + * BIFF2-BIFF5. + * + * -- "OpenOffice.org's Documentation of the Microsoft + * Excel File Format" + */ + private function _readLabelSst() + { + $length = self::_GetInt2d($this->_data, $this->_pos + 2); + $recordData = $this->_readRecordData($this->_data, $this->_pos + 4, $length); + + // move stream pointer to next record + $this->_pos += 4 + $length; + + // offset: 0; size: 2; index to row + $row = self::_GetInt2d($recordData, 0); + + // offset: 2; size: 2; index to column + $column = self::_GetInt2d($recordData, 2); + $columnString = PHPExcel_Cell::stringFromColumnIndex($column); + + // Read cell? + if (($this->getReadFilter() !== NULL) && $this->getReadFilter()->readCell($columnString, $row + 1, $this->_phpSheet->getTitle()) ) { + // offset: 4; size: 2; index to XF record + $xfIndex = self::_GetInt2d($recordData, 4); + + // offset: 6; size: 4; index to SST record + $index = self::_GetInt4d($recordData, 6); + + // add cell + if (($fmtRuns = $this->_sst[$index]['fmtRuns']) && !$this->_readDataOnly) { + // then we should treat as rich text + $richText = new PHPExcel_RichText(); + $charPos = 0; + $sstCount = count($this->_sst[$index]['fmtRuns']); + for ($i = 0; $i <= $sstCount; ++$i) { + if (isset($fmtRuns[$i])) { + $text = PHPExcel_Shared_String::Substring($this->_sst[$index]['value'], $charPos, $fmtRuns[$i]['charPos'] - $charPos); + $charPos = $fmtRuns[$i]['charPos']; + } else { + $text = PHPExcel_Shared_String::Substring($this->_sst[$index]['value'], $charPos, PHPExcel_Shared_String::CountCharacters($this->_sst[$index]['value'])); + } + + if (PHPExcel_Shared_String::CountCharacters($text) > 0) { + if ($i == 0) { // first text run, no style + $richText->createText($text); + } else { + $textRun = $richText->createTextRun($text); + if (isset($fmtRuns[$i - 1])) { + if ($fmtRuns[$i - 1]['fontIndex'] < 4) { + $fontIndex = $fmtRuns[$i - 1]['fontIndex']; + } else { + // this has to do with that index 4 is omitted in all BIFF versions for some strange reason + // check the OpenOffice documentation of the FONT record + $fontIndex = $fmtRuns[$i - 1]['fontIndex'] - 1; + } + $textRun->setFont(clone $this->_objFonts[$fontIndex]); + } + } + } + } + $cell = $this->_phpSheet->getCell($columnString . ($row + 1)); + $cell->setValueExplicit($richText, PHPExcel_Cell_DataType::TYPE_STRING); + } else { + $cell = $this->_phpSheet->getCell($columnString . ($row + 1)); + $cell->setValueExplicit($this->_sst[$index]['value'], PHPExcel_Cell_DataType::TYPE_STRING); + } + + if (!$this->_readDataOnly) { + // add style information + $cell->setXfIndex($this->_mapCellXfIndex[$xfIndex]); + } + } + } + + + /** + * Read MULRK record + * This record represents a cell range containing RK value + * cells. All cells are located in the same row. + * + * -- "OpenOffice.org's Documentation of the Microsoft + * Excel File Format" + */ + private function _readMulRk() + { + $length = self::_GetInt2d($this->_data, $this->_pos + 2); + $recordData = $this->_readRecordData($this->_data, $this->_pos + 4, $length); + + // move stream pointer to next record + $this->_pos += 4 + $length; + + // offset: 0; size: 2; index to row + $row = self::_GetInt2d($recordData, 0); + + // offset: 2; size: 2; index to first column + $colFirst = self::_GetInt2d($recordData, 2); + + // offset: var; size: 2; index to last column + $colLast = self::_GetInt2d($recordData, $length - 2); + $columns = $colLast - $colFirst + 1; + + // offset within record data + $offset = 4; + + for ($i = 0; $i < $columns; ++$i) { + $columnString = PHPExcel_Cell::stringFromColumnIndex($colFirst + $i); + + // Read cell? + if (($this->getReadFilter() !== NULL) && $this->getReadFilter()->readCell($columnString, $row + 1, $this->_phpSheet->getTitle()) ) { + + // offset: var; size: 2; index to XF record + $xfIndex = self::_GetInt2d($recordData, $offset); + + // offset: var; size: 4; RK value + $numValue = self::_GetIEEE754(self::_GetInt4d($recordData, $offset + 2)); + $cell = $this->_phpSheet->getCell($columnString . ($row + 1)); + if (!$this->_readDataOnly) { + // add style + $cell->setXfIndex($this->_mapCellXfIndex[$xfIndex]); + } + + // add cell value + $cell->setValueExplicit($numValue, PHPExcel_Cell_DataType::TYPE_NUMERIC); + } + + $offset += 6; + } + } + + + /** + * Read NUMBER record + * This record represents a cell that contains a + * floating-point value. + * + * -- "OpenOffice.org's Documentation of the Microsoft + * Excel File Format" + */ + private function _readNumber() + { + $length = self::_GetInt2d($this->_data, $this->_pos + 2); + $recordData = $this->_readRecordData($this->_data, $this->_pos + 4, $length); + + // move stream pointer to next record + $this->_pos += 4 + $length; + + // offset: 0; size: 2; index to row + $row = self::_GetInt2d($recordData, 0); + + // offset: 2; size 2; index to column + $column = self::_GetInt2d($recordData, 2); + $columnString = PHPExcel_Cell::stringFromColumnIndex($column); + + // Read cell? + if (($this->getReadFilter() !== NULL) && $this->getReadFilter()->readCell($columnString, $row + 1, $this->_phpSheet->getTitle()) ) { + // offset 4; size: 2; index to XF record + $xfIndex = self::_GetInt2d($recordData, 4); + + $numValue = self::_extractNumber(substr($recordData, 6, 8)); + + $cell = $this->_phpSheet->getCell($columnString . ($row + 1)); + if (!$this->_readDataOnly) { + // add cell style + $cell->setXfIndex($this->_mapCellXfIndex[$xfIndex]); + } + + // add cell value + $cell->setValueExplicit($numValue, PHPExcel_Cell_DataType::TYPE_NUMERIC); + } + } + + + /** + * Read FORMULA record + perhaps a following STRING record if formula result is a string + * This record contains the token array and the result of a + * formula cell. + * + * -- "OpenOffice.org's Documentation of the Microsoft + * Excel File Format" + */ + private function _readFormula() + { + $length = self::_GetInt2d($this->_data, $this->_pos + 2); + $recordData = $this->_readRecordData($this->_data, $this->_pos + 4, $length); + + // move stream pointer to next record + $this->_pos += 4 + $length; + + // offset: 0; size: 2; row index + $row = self::_GetInt2d($recordData, 0); + + // offset: 2; size: 2; col index + $column = self::_GetInt2d($recordData, 2); + $columnString = PHPExcel_Cell::stringFromColumnIndex($column); + + // offset: 20: size: variable; formula structure + $formulaStructure = substr($recordData, 20); + + // offset: 14: size: 2; option flags, recalculate always, recalculate on open etc. + $options = self::_GetInt2d($recordData, 14); + + // bit: 0; mask: 0x0001; 1 = recalculate always + // bit: 1; mask: 0x0002; 1 = calculate on open + // bit: 2; mask: 0x0008; 1 = part of a shared formula + $isPartOfSharedFormula = (bool) (0x0008 & $options); + + // WARNING: + // We can apparently not rely on $isPartOfSharedFormula. Even when $isPartOfSharedFormula = true + // the formula data may be ordinary formula data, therefore we need to check + // explicitly for the tExp token (0x01) + $isPartOfSharedFormula = $isPartOfSharedFormula && ord($formulaStructure{2}) == 0x01; + + if ($isPartOfSharedFormula) { + // part of shared formula which means there will be a formula with a tExp token and nothing else + // get the base cell, grab tExp token + $baseRow = self::_GetInt2d($formulaStructure, 3); + $baseCol = self::_GetInt2d($formulaStructure, 5); + $this->_baseCell = PHPExcel_Cell::stringFromColumnIndex($baseCol). ($baseRow + 1); + } + + // Read cell? + if (($this->getReadFilter() !== NULL) && $this->getReadFilter()->readCell($columnString, $row + 1, $this->_phpSheet->getTitle()) ) { + + if ($isPartOfSharedFormula) { + // formula is added to this cell after the sheet has been read + $this->_sharedFormulaParts[$columnString . ($row + 1)] = $this->_baseCell; + } + + // offset: 16: size: 4; not used + + // offset: 4; size: 2; XF index + $xfIndex = self::_GetInt2d($recordData, 4); + + // offset: 6; size: 8; result of the formula + if ( (ord($recordData{6}) == 0) + && (ord($recordData{12}) == 255) + && (ord($recordData{13}) == 255) ) { + + // String formula. Result follows in appended STRING record + $dataType = PHPExcel_Cell_DataType::TYPE_STRING; + + // read possible SHAREDFMLA record + $code = self::_GetInt2d($this->_data, $this->_pos); + if ($code == self::XLS_Type_SHAREDFMLA) { + $this->_readSharedFmla(); + } + + // read STRING record + $value = $this->_readString(); + + } elseif ((ord($recordData{6}) == 1) + && (ord($recordData{12}) == 255) + && (ord($recordData{13}) == 255)) { + + // Boolean formula. Result is in +2; 0=false, 1=true + $dataType = PHPExcel_Cell_DataType::TYPE_BOOL; + $value = (bool) ord($recordData{8}); + + } elseif ((ord($recordData{6}) == 2) + && (ord($recordData{12}) == 255) + && (ord($recordData{13}) == 255)) { + + // Error formula. Error code is in +2 + $dataType = PHPExcel_Cell_DataType::TYPE_ERROR; + $value = self::_mapErrorCode(ord($recordData{8})); + + } elseif ((ord($recordData{6}) == 3) + && (ord($recordData{12}) == 255) + && (ord($recordData{13}) == 255)) { + + // Formula result is a null string + $dataType = PHPExcel_Cell_DataType::TYPE_NULL; + $value = ''; + + } else { + + // forumla result is a number, first 14 bytes like _NUMBER record + $dataType = PHPExcel_Cell_DataType::TYPE_NUMERIC; + $value = self::_extractNumber(substr($recordData, 6, 8)); + + } + + $cell = $this->_phpSheet->getCell($columnString . ($row + 1)); + if (!$this->_readDataOnly) { + // add cell style + $cell->setXfIndex($this->_mapCellXfIndex[$xfIndex]); + } + + // store the formula + if (!$isPartOfSharedFormula) { + // not part of shared formula + // add cell value. If we can read formula, populate with formula, otherwise just used cached value + try { + if ($this->_version != self::XLS_BIFF8) { + throw new PHPExcel_Reader_Exception('Not BIFF8. Can only read BIFF8 formulas'); + } + $formula = $this->_getFormulaFromStructure($formulaStructure); // get formula in human language + $cell->setValueExplicit('=' . $formula, PHPExcel_Cell_DataType::TYPE_FORMULA); + + } catch (PHPExcel_Exception $e) { + $cell->setValueExplicit($value, $dataType); + } + } else { + if ($this->_version == self::XLS_BIFF8) { + // do nothing at this point, formula id added later in the code + } else { + $cell->setValueExplicit($value, $dataType); + } + } + + // store the cached calculated value + $cell->setCalculatedValue($value); + } + } + + + /** + * Read a SHAREDFMLA record. This function just stores the binary shared formula in the reader, + * which usually contains relative references. + * These will be used to construct the formula in each shared formula part after the sheet is read. + */ + private function _readSharedFmla() + { + $length = self::_GetInt2d($this->_data, $this->_pos + 2); + $recordData = $this->_readRecordData($this->_data, $this->_pos + 4, $length); + + // move stream pointer to next record + $this->_pos += 4 + $length; + + // offset: 0, size: 6; cell range address of the area used by the shared formula, not used for anything + $cellRange = substr($recordData, 0, 6); + $cellRange = $this->_readBIFF5CellRangeAddressFixed($cellRange); // note: even BIFF8 uses BIFF5 syntax + + // offset: 6, size: 1; not used + + // offset: 7, size: 1; number of existing FORMULA records for this shared formula + $no = ord($recordData{7}); + + // offset: 8, size: var; Binary token array of the shared formula + $formula = substr($recordData, 8); + + // at this point we only store the shared formula for later use + $this->_sharedFormulas[$this->_baseCell] = $formula; + + } + + + /** + * Read a STRING record from current stream position and advance the stream pointer to next record + * This record is used for storing result from FORMULA record when it is a string, and + * it occurs directly after the FORMULA record + * + * @return string The string contents as UTF-8 + */ + private function _readString() + { + $length = self::_GetInt2d($this->_data, $this->_pos + 2); + $recordData = $this->_readRecordData($this->_data, $this->_pos + 4, $length); + + // move stream pointer to next record + $this->_pos += 4 + $length; + + if ($this->_version == self::XLS_BIFF8) { + $string = self::_readUnicodeStringLong($recordData); + $value = $string['value']; + } else { + $string = $this->_readByteStringLong($recordData); + $value = $string['value']; + } + + return $value; + } + + + /** + * Read BOOLERR record + * This record represents a Boolean value or error value + * cell. + * + * -- "OpenOffice.org's Documentation of the Microsoft + * Excel File Format" + */ + private function _readBoolErr() + { + $length = self::_GetInt2d($this->_data, $this->_pos + 2); + $recordData = $this->_readRecordData($this->_data, $this->_pos + 4, $length); + + // move stream pointer to next record + $this->_pos += 4 + $length; + + // offset: 0; size: 2; row index + $row = self::_GetInt2d($recordData, 0); + + // offset: 2; size: 2; column index + $column = self::_GetInt2d($recordData, 2); + $columnString = PHPExcel_Cell::stringFromColumnIndex($column); + + // Read cell? + if (($this->getReadFilter() !== NULL) && $this->getReadFilter()->readCell($columnString, $row + 1, $this->_phpSheet->getTitle()) ) { + // offset: 4; size: 2; index to XF record + $xfIndex = self::_GetInt2d($recordData, 4); + + // offset: 6; size: 1; the boolean value or error value + $boolErr = ord($recordData{6}); + + // offset: 7; size: 1; 0=boolean; 1=error + $isError = ord($recordData{7}); + + $cell = $this->_phpSheet->getCell($columnString . ($row + 1)); + switch ($isError) { + case 0: // boolean + $value = (bool) $boolErr; + + // add cell value + $cell->setValueExplicit($value, PHPExcel_Cell_DataType::TYPE_BOOL); + break; + + case 1: // error type + $value = self::_mapErrorCode($boolErr); + + // add cell value + $cell->setValueExplicit($value, PHPExcel_Cell_DataType::TYPE_ERROR); + break; + } + + if (!$this->_readDataOnly) { + // add cell style + $cell->setXfIndex($this->_mapCellXfIndex[$xfIndex]); + } + } + } + + + /** + * Read MULBLANK record + * This record represents a cell range of empty cells. All + * cells are located in the same row + * + * -- "OpenOffice.org's Documentation of the Microsoft + * Excel File Format" + */ + private function _readMulBlank() + { + $length = self::_GetInt2d($this->_data, $this->_pos + 2); + $recordData = $this->_readRecordData($this->_data, $this->_pos + 4, $length); + + // move stream pointer to next record + $this->_pos += 4 + $length; + + // offset: 0; size: 2; index to row + $row = self::_GetInt2d($recordData, 0); + + // offset: 2; size: 2; index to first column + $fc = self::_GetInt2d($recordData, 2); + + // offset: 4; size: 2 x nc; list of indexes to XF records + // add style information + if (!$this->_readDataOnly) { + for ($i = 0; $i < $length / 2 - 3; ++$i) { + $columnString = PHPExcel_Cell::stringFromColumnIndex($fc + $i); + + // Read cell? + if (($this->getReadFilter() !== NULL) && $this->getReadFilter()->readCell($columnString, $row + 1, $this->_phpSheet->getTitle()) ) { + $xfIndex = self::_GetInt2d($recordData, 4 + 2 * $i); + $this->_phpSheet->getCell($columnString . ($row + 1))->setXfIndex($this->_mapCellXfIndex[$xfIndex]); + } + } + } + + // offset: 6; size 2; index to last column (not needed) + } + + + /** + * Read LABEL record + * This record represents a cell that contains a string. In + * BIFF8 it is usually replaced by the LABELSST record. + * Excel still uses this record, if it copies unformatted + * text cells to the clipboard. + * + * -- "OpenOffice.org's Documentation of the Microsoft + * Excel File Format" + */ + private function _readLabel() + { + $length = self::_GetInt2d($this->_data, $this->_pos + 2); + $recordData = $this->_readRecordData($this->_data, $this->_pos + 4, $length); + + // move stream pointer to next record + $this->_pos += 4 + $length; + + // offset: 0; size: 2; index to row + $row = self::_GetInt2d($recordData, 0); + + // offset: 2; size: 2; index to column + $column = self::_GetInt2d($recordData, 2); + $columnString = PHPExcel_Cell::stringFromColumnIndex($column); + + // Read cell? + if (($this->getReadFilter() !== NULL) && $this->getReadFilter()->readCell($columnString, $row + 1, $this->_phpSheet->getTitle()) ) { + // offset: 4; size: 2; XF index + $xfIndex = self::_GetInt2d($recordData, 4); + + // add cell value + // todo: what if string is very long? continue record + if ($this->_version == self::XLS_BIFF8) { + $string = self::_readUnicodeStringLong(substr($recordData, 6)); + $value = $string['value']; + } else { + $string = $this->_readByteStringLong(substr($recordData, 6)); + $value = $string['value']; + } + $cell = $this->_phpSheet->getCell($columnString . ($row + 1)); + $cell->setValueExplicit($value, PHPExcel_Cell_DataType::TYPE_STRING); + + if (!$this->_readDataOnly) { + // add cell style + $cell->setXfIndex($this->_mapCellXfIndex[$xfIndex]); + } + } + } + + + /** + * Read BLANK record + */ + private function _readBlank() + { + $length = self::_GetInt2d($this->_data, $this->_pos + 2); + $recordData = $this->_readRecordData($this->_data, $this->_pos + 4, $length); + + // move stream pointer to next record + $this->_pos += 4 + $length; + + // offset: 0; size: 2; row index + $row = self::_GetInt2d($recordData, 0); + + // offset: 2; size: 2; col index + $col = self::_GetInt2d($recordData, 2); + $columnString = PHPExcel_Cell::stringFromColumnIndex($col); + + // Read cell? + if (($this->getReadFilter() !== NULL) && $this->getReadFilter()->readCell($columnString, $row + 1, $this->_phpSheet->getTitle()) ) { + // offset: 4; size: 2; XF index + $xfIndex = self::_GetInt2d($recordData, 4); + + // add style information + if (!$this->_readDataOnly) { + $this->_phpSheet->getCell($columnString . ($row + 1))->setXfIndex($this->_mapCellXfIndex[$xfIndex]); + } + } + + } + + + /** + * Read MSODRAWING record + */ + private function _readMsoDrawing() + { + $length = self::_GetInt2d($this->_data, $this->_pos + 2); + + // get spliced record data + $splicedRecordData = $this->_getSplicedRecordData(); + $recordData = $splicedRecordData['recordData']; + + $this->_drawingData .= $recordData; + } + + + /** + * Read OBJ record + */ + private function _readObj() + { + $length = self::_GetInt2d($this->_data, $this->_pos + 2); + $recordData = $this->_readRecordData($this->_data, $this->_pos + 4, $length); + + // move stream pointer to next record + $this->_pos += 4 + $length; + + if ($this->_readDataOnly || $this->_version != self::XLS_BIFF8) { + return; + } + + // recordData consists of an array of subrecords looking like this: + // ft: 2 bytes; ftCmo type (0x15) + // cb: 2 bytes; size in bytes of ftCmo data + // ot: 2 bytes; Object Type + // id: 2 bytes; Object id number + // grbit: 2 bytes; Option Flags + // data: var; subrecord data + + // for now, we are just interested in the second subrecord containing the object type + $ftCmoType = self::_GetInt2d($recordData, 0); + $cbCmoSize = self::_GetInt2d($recordData, 2); + $otObjType = self::_GetInt2d($recordData, 4); + $idObjID = self::_GetInt2d($recordData, 6); + $grbitOpts = self::_GetInt2d($recordData, 6); + + $this->_objs[] = array( + 'ftCmoType' => $ftCmoType, + 'cbCmoSize' => $cbCmoSize, + 'otObjType' => $otObjType, + 'idObjID' => $idObjID, + 'grbitOpts' => $grbitOpts + ); + $this->textObjRef = $idObjID; + +// echo '_readObj()
'; +// var_dump(end($this->_objs)); +// echo '
'; + } + + + /** + * Read WINDOW2 record + */ + private function _readWindow2() + { + $length = self::_GetInt2d($this->_data, $this->_pos + 2); + $recordData = $this->_readRecordData($this->_data, $this->_pos + 4, $length); + + // move stream pointer to next record + $this->_pos += 4 + $length; + + // offset: 0; size: 2; option flags + $options = self::_GetInt2d($recordData, 0); + + // offset: 2; size: 2; index to first visible row + $firstVisibleRow = self::_GetInt2d($recordData, 2); + + // offset: 4; size: 2; index to first visible colum + $firstVisibleColumn = self::_GetInt2d($recordData, 4); + if ($this->_version === self::XLS_BIFF8) { + // offset: 8; size: 2; not used + // offset: 10; size: 2; cached magnification factor in page break preview (in percent); 0 = Default (60%) + // offset: 12; size: 2; cached magnification factor in normal view (in percent); 0 = Default (100%) + // offset: 14; size: 4; not used + $zoomscaleInPageBreakPreview = self::_GetInt2d($recordData, 10); + if ($zoomscaleInPageBreakPreview === 0) $zoomscaleInPageBreakPreview = 60; + $zoomscaleInNormalView = self::_GetInt2d($recordData, 12); + if ($zoomscaleInNormalView === 0) $zoomscaleInNormalView = 100; + } + + // bit: 1; mask: 0x0002; 0 = do not show gridlines, 1 = show gridlines + $showGridlines = (bool) ((0x0002 & $options) >> 1); + $this->_phpSheet->setShowGridlines($showGridlines); + + // bit: 2; mask: 0x0004; 0 = do not show headers, 1 = show headers + $showRowColHeaders = (bool) ((0x0004 & $options) >> 2); + $this->_phpSheet->setShowRowColHeaders($showRowColHeaders); + + // bit: 3; mask: 0x0008; 0 = panes are not frozen, 1 = panes are frozen + $this->_frozen = (bool) ((0x0008 & $options) >> 3); + + // bit: 6; mask: 0x0040; 0 = columns from left to right, 1 = columns from right to left + $this->_phpSheet->setRightToLeft((bool)((0x0040 & $options) >> 6)); + + // bit: 10; mask: 0x0400; 0 = sheet not active, 1 = sheet active + $isActive = (bool) ((0x0400 & $options) >> 10); + if ($isActive) { + $this->_phpExcel->setActiveSheetIndex($this->_phpExcel->getIndex($this->_phpSheet)); + } + + // bit: 11; mask: 0x0800; 0 = normal view, 1 = page break view + $isPageBreakPreview = (bool) ((0x0800 & $options) >> 11); + + //FIXME: set $firstVisibleRow and $firstVisibleColumn + + if ($this->_phpSheet->getSheetView()->getView() !== PHPExcel_Worksheet_SheetView::SHEETVIEW_PAGE_LAYOUT) { + //NOTE: this setting is inferior to page layout view(Excel2007-) + $view = $isPageBreakPreview? PHPExcel_Worksheet_SheetView::SHEETVIEW_PAGE_BREAK_PREVIEW : + PHPExcel_Worksheet_SheetView::SHEETVIEW_NORMAL; + $this->_phpSheet->getSheetView()->setView($view); + if ($this->_version === self::XLS_BIFF8) { + $zoomScale = $isPageBreakPreview? $zoomscaleInPageBreakPreview : $zoomscaleInNormalView; + $this->_phpSheet->getSheetView()->setZoomScale($zoomScale); + $this->_phpSheet->getSheetView()->setZoomScaleNormal($zoomscaleInNormalView); + } + } + } + + /** + * Read PLV Record(Created by Excel2007 or upper) + */ + private function _readPageLayoutView(){ + $length = self::_GetInt2d($this->_data, $this->_pos + 2); + $recordData = $this->_readRecordData($this->_data, $this->_pos + 4, $length); + + // move stream pointer to next record + $this->_pos += 4 + $length; + + //var_dump(unpack("vrt/vgrbitFrt/V2reserved/vwScalePLV/vgrbit", $recordData)); + + // offset: 0; size: 2; rt + //->ignore + $rt = self::_GetInt2d($recordData, 0); + // offset: 2; size: 2; grbitfr + //->ignore + $grbitFrt = self::_GetInt2d($recordData, 2); + // offset: 4; size: 8; reserved + //->ignore + + // offset: 12; size 2; zoom scale + $wScalePLV = self::_GetInt2d($recordData, 12); + // offset: 14; size 2; grbit + $grbit = self::_GetInt2d($recordData, 14); + + // decomprise grbit + $fPageLayoutView = $grbit & 0x01; + $fRulerVisible = ($grbit >> 1) & 0x01; //no support + $fWhitespaceHidden = ($grbit >> 3) & 0x01; //no support + + if ($fPageLayoutView === 1) { + $this->_phpSheet->getSheetView()->setView(PHPExcel_Worksheet_SheetView::SHEETVIEW_PAGE_LAYOUT); + $this->_phpSheet->getSheetView()->setZoomScale($wScalePLV); //set by Excel2007 only if SHEETVIEW_PAGE_LAYOUT + } + //otherwise, we cannot know whether SHEETVIEW_PAGE_LAYOUT or SHEETVIEW_PAGE_BREAK_PREVIEW. + } + + /** + * Read SCL record + */ + private function _readScl() + { + $length = self::_GetInt2d($this->_data, $this->_pos + 2); + $recordData = $this->_readRecordData($this->_data, $this->_pos + 4, $length); + + // move stream pointer to next record + $this->_pos += 4 + $length; + + // offset: 0; size: 2; numerator of the view magnification + $numerator = self::_GetInt2d($recordData, 0); + + // offset: 2; size: 2; numerator of the view magnification + $denumerator = self::_GetInt2d($recordData, 2); + + // set the zoom scale (in percent) + $this->_phpSheet->getSheetView()->setZoomScale($numerator * 100 / $denumerator); + } + + + /** + * Read PANE record + */ + private function _readPane() + { + $length = self::_GetInt2d($this->_data, $this->_pos + 2); + $recordData = $this->_readRecordData($this->_data, $this->_pos + 4, $length); + + // move stream pointer to next record + $this->_pos += 4 + $length; + + if (!$this->_readDataOnly) { + // offset: 0; size: 2; position of vertical split + $px = self::_GetInt2d($recordData, 0); + + // offset: 2; size: 2; position of horizontal split + $py = self::_GetInt2d($recordData, 2); + + if ($this->_frozen) { + // frozen panes + $this->_phpSheet->freezePane(PHPExcel_Cell::stringFromColumnIndex($px) . ($py + 1)); + } else { + // unfrozen panes; split windows; not supported by PHPExcel core + } + } + } + + + /** + * Read SELECTION record. There is one such record for each pane in the sheet. + */ + private function _readSelection() + { + $length = self::_GetInt2d($this->_data, $this->_pos + 2); + $recordData = $this->_readRecordData($this->_data, $this->_pos + 4, $length); + + // move stream pointer to next record + $this->_pos += 4 + $length; + + if (!$this->_readDataOnly) { + // offset: 0; size: 1; pane identifier + $paneId = ord($recordData{0}); + + // offset: 1; size: 2; index to row of the active cell + $r = self::_GetInt2d($recordData, 1); + + // offset: 3; size: 2; index to column of the active cell + $c = self::_GetInt2d($recordData, 3); + + // offset: 5; size: 2; index into the following cell range list to the + // entry that contains the active cell + $index = self::_GetInt2d($recordData, 5); + + // offset: 7; size: var; cell range address list containing all selected cell ranges + $data = substr($recordData, 7); + $cellRangeAddressList = $this->_readBIFF5CellRangeAddressList($data); // note: also BIFF8 uses BIFF5 syntax + + $selectedCells = $cellRangeAddressList['cellRangeAddresses'][0]; + + // first row '1' + last row '16384' indicates that full column is selected (apparently also in BIFF8!) + if (preg_match('/^([A-Z]+1\:[A-Z]+)16384$/', $selectedCells)) { + $selectedCells = preg_replace('/^([A-Z]+1\:[A-Z]+)16384$/', '${1}1048576', $selectedCells); + } + + // first row '1' + last row '65536' indicates that full column is selected + if (preg_match('/^([A-Z]+1\:[A-Z]+)65536$/', $selectedCells)) { + $selectedCells = preg_replace('/^([A-Z]+1\:[A-Z]+)65536$/', '${1}1048576', $selectedCells); + } + + // first column 'A' + last column 'IV' indicates that full row is selected + if (preg_match('/^(A[0-9]+\:)IV([0-9]+)$/', $selectedCells)) { + $selectedCells = preg_replace('/^(A[0-9]+\:)IV([0-9]+)$/', '${1}XFD${2}', $selectedCells); + } + + $this->_phpSheet->setSelectedCells($selectedCells); + } + } + + + private function _includeCellRangeFiltered($cellRangeAddress) + { + $includeCellRange = true; + if ($this->getReadFilter() !== NULL) { + $includeCellRange = false; + $rangeBoundaries = PHPExcel_Cell::getRangeBoundaries($cellRangeAddress); + $rangeBoundaries[1][0]++; + for ($row = $rangeBoundaries[0][1]; $row <= $rangeBoundaries[1][1]; $row++) { + for ($column = $rangeBoundaries[0][0]; $column != $rangeBoundaries[1][0]; $column++) { + if ($this->getReadFilter()->readCell($column, $row, $this->_phpSheet->getTitle())) { + $includeCellRange = true; + break 2; + } + } + } + } + return $includeCellRange; + } + + + /** + * MERGEDCELLS + * + * This record contains the addresses of merged cell ranges + * in the current sheet. + * + * -- "OpenOffice.org's Documentation of the Microsoft + * Excel File Format" + */ + private function _readMergedCells() + { + $length = self::_GetInt2d($this->_data, $this->_pos + 2); + $recordData = $this->_readRecordData($this->_data, $this->_pos + 4, $length); + + // move stream pointer to next record + $this->_pos += 4 + $length; + + if ($this->_version == self::XLS_BIFF8 && !$this->_readDataOnly) { + $cellRangeAddressList = $this->_readBIFF8CellRangeAddressList($recordData); + foreach ($cellRangeAddressList['cellRangeAddresses'] as $cellRangeAddress) { + if ((strpos($cellRangeAddress,':') !== FALSE) && + ($this->_includeCellRangeFiltered($cellRangeAddress))) { + $this->_phpSheet->mergeCells($cellRangeAddress); + } + } + } + } + + + /** + * Read HYPERLINK record + */ + private function _readHyperLink() + { + $length = self::_GetInt2d($this->_data, $this->_pos + 2); + $recordData = $this->_readRecordData($this->_data, $this->_pos + 4, $length); + + // move stream pointer forward to next record + $this->_pos += 4 + $length; + + if (!$this->_readDataOnly) { + // offset: 0; size: 8; cell range address of all cells containing this hyperlink + try { + $cellRange = $this->_readBIFF8CellRangeAddressFixed($recordData, 0, 8); + } catch (PHPExcel_Exception $e) { + return; + } + + // offset: 8, size: 16; GUID of StdLink + + // offset: 24, size: 4; unknown value + + // offset: 28, size: 4; option flags + + // bit: 0; mask: 0x00000001; 0 = no link or extant, 1 = file link or URL + $isFileLinkOrUrl = (0x00000001 & self::_GetInt2d($recordData, 28)) >> 0; + + // bit: 1; mask: 0x00000002; 0 = relative path, 1 = absolute path or URL + $isAbsPathOrUrl = (0x00000001 & self::_GetInt2d($recordData, 28)) >> 1; + + // bit: 2 (and 4); mask: 0x00000014; 0 = no description + $hasDesc = (0x00000014 & self::_GetInt2d($recordData, 28)) >> 2; + + // bit: 3; mask: 0x00000008; 0 = no text, 1 = has text + $hasText = (0x00000008 & self::_GetInt2d($recordData, 28)) >> 3; + + // bit: 7; mask: 0x00000080; 0 = no target frame, 1 = has target frame + $hasFrame = (0x00000080 & self::_GetInt2d($recordData, 28)) >> 7; + + // bit: 8; mask: 0x00000100; 0 = file link or URL, 1 = UNC path (inc. server name) + $isUNC = (0x00000100 & self::_GetInt2d($recordData, 28)) >> 8; + + // offset within record data + $offset = 32; + + if ($hasDesc) { + // offset: 32; size: var; character count of description text + $dl = self::_GetInt4d($recordData, 32); + // offset: 36; size: var; character array of description text, no Unicode string header, always 16-bit characters, zero terminated + $desc = self::_encodeUTF16(substr($recordData, 36, 2 * ($dl - 1)), false); + $offset += 4 + 2 * $dl; + } + if ($hasFrame) { + $fl = self::_GetInt4d($recordData, $offset); + $offset += 4 + 2 * $fl; + } + + // detect type of hyperlink (there are 4 types) + $hyperlinkType = null; + + if ($isUNC) { + $hyperlinkType = 'UNC'; + } else if (!$isFileLinkOrUrl) { + $hyperlinkType = 'workbook'; + } else if (ord($recordData{$offset}) == 0x03) { + $hyperlinkType = 'local'; + } else if (ord($recordData{$offset}) == 0xE0) { + $hyperlinkType = 'URL'; + } + + switch ($hyperlinkType) { + case 'URL': + // section 5.58.2: Hyperlink containing a URL + // e.g. http://example.org/index.php + + // offset: var; size: 16; GUID of URL Moniker + $offset += 16; + // offset: var; size: 4; size (in bytes) of character array of the URL including trailing zero word + $us = self::_GetInt4d($recordData, $offset); + $offset += 4; + // offset: var; size: $us; character array of the URL, no Unicode string header, always 16-bit characters, zero-terminated + $url = self::_encodeUTF16(substr($recordData, $offset, $us - 2), false); + $nullOffset = strpos($url, 0x00); + if ($nullOffset) + $url = substr($url,0,$nullOffset); + $url .= $hasText ? '#' : ''; + $offset += $us; + break; + + case 'local': + // section 5.58.3: Hyperlink to local file + // examples: + // mydoc.txt + // ../../somedoc.xls#Sheet!A1 + + // offset: var; size: 16; GUI of File Moniker + $offset += 16; + + // offset: var; size: 2; directory up-level count. + $upLevelCount = self::_GetInt2d($recordData, $offset); + $offset += 2; + + // offset: var; size: 4; character count of the shortened file path and name, including trailing zero word + $sl = self::_GetInt4d($recordData, $offset); + $offset += 4; + + // offset: var; size: sl; character array of the shortened file path and name in 8.3-DOS-format (compressed Unicode string) + $shortenedFilePath = substr($recordData, $offset, $sl); + $shortenedFilePath = self::_encodeUTF16($shortenedFilePath, true); + $shortenedFilePath = substr($shortenedFilePath, 0, -1); // remove trailing zero + + $offset += $sl; + + // offset: var; size: 24; unknown sequence + $offset += 24; + + // extended file path + // offset: var; size: 4; size of the following file link field including string lenth mark + $sz = self::_GetInt4d($recordData, $offset); + $offset += 4; + + // only present if $sz > 0 + if ($sz > 0) { + // offset: var; size: 4; size of the character array of the extended file path and name + $xl = self::_GetInt4d($recordData, $offset); + $offset += 4; + + // offset: var; size 2; unknown + $offset += 2; + + // offset: var; size $xl; character array of the extended file path and name. + $extendedFilePath = substr($recordData, $offset, $xl); + $extendedFilePath = self::_encodeUTF16($extendedFilePath, false); + $offset += $xl; + } + + // construct the path + $url = str_repeat('..\\', $upLevelCount); + $url .= ($sz > 0) ? + $extendedFilePath : $shortenedFilePath; // use extended path if available + $url .= $hasText ? '#' : ''; + + break; + + + case 'UNC': + // section 5.58.4: Hyperlink to a File with UNC (Universal Naming Convention) Path + // todo: implement + return; + + case 'workbook': + // section 5.58.5: Hyperlink to the Current Workbook + // e.g. Sheet2!B1:C2, stored in text mark field + $url = 'sheet://'; + break; + + default: + return; + + } + + if ($hasText) { + // offset: var; size: 4; character count of text mark including trailing zero word + $tl = self::_GetInt4d($recordData, $offset); + $offset += 4; + // offset: var; size: var; character array of the text mark without the # sign, no Unicode header, always 16-bit characters, zero-terminated + $text = self::_encodeUTF16(substr($recordData, $offset, 2 * ($tl - 1)), false); + $url .= $text; + } + + // apply the hyperlink to all the relevant cells + foreach (PHPExcel_Cell::extractAllCellReferencesInRange($cellRange) as $coordinate) { + $this->_phpSheet->getCell($coordinate)->getHyperLink()->setUrl($url); + } + } + } + + + /** + * Read DATAVALIDATIONS record + */ + private function _readDataValidations() + { + $length = self::_GetInt2d($this->_data, $this->_pos + 2); + $recordData = $this->_readRecordData($this->_data, $this->_pos + 4, $length); + + // move stream pointer forward to next record + $this->_pos += 4 + $length; + } + + + /** + * Read DATAVALIDATION record + */ + private function _readDataValidation() + { + $length = self::_GetInt2d($this->_data, $this->_pos + 2); + $recordData = $this->_readRecordData($this->_data, $this->_pos + 4, $length); + + // move stream pointer forward to next record + $this->_pos += 4 + $length; + + if ($this->_readDataOnly) { + return; + } + + // offset: 0; size: 4; Options + $options = self::_GetInt4d($recordData, 0); + + // bit: 0-3; mask: 0x0000000F; type + $type = (0x0000000F & $options) >> 0; + switch ($type) { + case 0x00: $type = PHPExcel_Cell_DataValidation::TYPE_NONE; break; + case 0x01: $type = PHPExcel_Cell_DataValidation::TYPE_WHOLE; break; + case 0x02: $type = PHPExcel_Cell_DataValidation::TYPE_DECIMAL; break; + case 0x03: $type = PHPExcel_Cell_DataValidation::TYPE_LIST; break; + case 0x04: $type = PHPExcel_Cell_DataValidation::TYPE_DATE; break; + case 0x05: $type = PHPExcel_Cell_DataValidation::TYPE_TIME; break; + case 0x06: $type = PHPExcel_Cell_DataValidation::TYPE_TEXTLENGTH; break; + case 0x07: $type = PHPExcel_Cell_DataValidation::TYPE_CUSTOM; break; + } + + // bit: 4-6; mask: 0x00000070; error type + $errorStyle = (0x00000070 & $options) >> 4; + switch ($errorStyle) { + case 0x00: $errorStyle = PHPExcel_Cell_DataValidation::STYLE_STOP; break; + case 0x01: $errorStyle = PHPExcel_Cell_DataValidation::STYLE_WARNING; break; + case 0x02: $errorStyle = PHPExcel_Cell_DataValidation::STYLE_INFORMATION; break; + } + + // bit: 7; mask: 0x00000080; 1= formula is explicit (only applies to list) + // I have only seen cases where this is 1 + $explicitFormula = (0x00000080 & $options) >> 7; + + // bit: 8; mask: 0x00000100; 1= empty cells allowed + $allowBlank = (0x00000100 & $options) >> 8; + + // bit: 9; mask: 0x00000200; 1= suppress drop down arrow in list type validity + $suppressDropDown = (0x00000200 & $options) >> 9; + + // bit: 18; mask: 0x00040000; 1= show prompt box if cell selected + $showInputMessage = (0x00040000 & $options) >> 18; + + // bit: 19; mask: 0x00080000; 1= show error box if invalid values entered + $showErrorMessage = (0x00080000 & $options) >> 19; + + // bit: 20-23; mask: 0x00F00000; condition operator + $operator = (0x00F00000 & $options) >> 20; + switch ($operator) { + case 0x00: $operator = PHPExcel_Cell_DataValidation::OPERATOR_BETWEEN ; break; + case 0x01: $operator = PHPExcel_Cell_DataValidation::OPERATOR_NOTBETWEEN ; break; + case 0x02: $operator = PHPExcel_Cell_DataValidation::OPERATOR_EQUAL ; break; + case 0x03: $operator = PHPExcel_Cell_DataValidation::OPERATOR_NOTEQUAL ; break; + case 0x04: $operator = PHPExcel_Cell_DataValidation::OPERATOR_GREATERTHAN ; break; + case 0x05: $operator = PHPExcel_Cell_DataValidation::OPERATOR_LESSTHAN ; break; + case 0x06: $operator = PHPExcel_Cell_DataValidation::OPERATOR_GREATERTHANOREQUAL; break; + case 0x07: $operator = PHPExcel_Cell_DataValidation::OPERATOR_LESSTHANOREQUAL ; break; + } + + // offset: 4; size: var; title of the prompt box + $offset = 4; + $string = self::_readUnicodeStringLong(substr($recordData, $offset)); + $promptTitle = $string['value'] !== chr(0) ? + $string['value'] : ''; + $offset += $string['size']; + + // offset: var; size: var; title of the error box + $string = self::_readUnicodeStringLong(substr($recordData, $offset)); + $errorTitle = $string['value'] !== chr(0) ? + $string['value'] : ''; + $offset += $string['size']; + + // offset: var; size: var; text of the prompt box + $string = self::_readUnicodeStringLong(substr($recordData, $offset)); + $prompt = $string['value'] !== chr(0) ? + $string['value'] : ''; + $offset += $string['size']; + + // offset: var; size: var; text of the error box + $string = self::_readUnicodeStringLong(substr($recordData, $offset)); + $error = $string['value'] !== chr(0) ? + $string['value'] : ''; + $offset += $string['size']; + + // offset: var; size: 2; size of the formula data for the first condition + $sz1 = self::_GetInt2d($recordData, $offset); + $offset += 2; + + // offset: var; size: 2; not used + $offset += 2; + + // offset: var; size: $sz1; formula data for first condition (without size field) + $formula1 = substr($recordData, $offset, $sz1); + $formula1 = pack('v', $sz1) . $formula1; // prepend the length + try { + $formula1 = $this->_getFormulaFromStructure($formula1); + + // in list type validity, null characters are used as item separators + if ($type == PHPExcel_Cell_DataValidation::TYPE_LIST) { + $formula1 = str_replace(chr(0), ',', $formula1); + } + } catch (PHPExcel_Exception $e) { + return; + } + $offset += $sz1; + + // offset: var; size: 2; size of the formula data for the first condition + $sz2 = self::_GetInt2d($recordData, $offset); + $offset += 2; + + // offset: var; size: 2; not used + $offset += 2; + + // offset: var; size: $sz2; formula data for second condition (without size field) + $formula2 = substr($recordData, $offset, $sz2); + $formula2 = pack('v', $sz2) . $formula2; // prepend the length + try { + $formula2 = $this->_getFormulaFromStructure($formula2); + } catch (PHPExcel_Exception $e) { + return; + } + $offset += $sz2; + + // offset: var; size: var; cell range address list with + $cellRangeAddressList = $this->_readBIFF8CellRangeAddressList(substr($recordData, $offset)); + $cellRangeAddresses = $cellRangeAddressList['cellRangeAddresses']; + + foreach ($cellRangeAddresses as $cellRange) { + $stRange = $this->_phpSheet->shrinkRangeToFit($cellRange); + $stRange = PHPExcel_Cell::extractAllCellReferencesInRange($stRange); + foreach ($stRange as $coordinate) { + $objValidation = $this->_phpSheet->getCell($coordinate)->getDataValidation(); + $objValidation->setType($type); + $objValidation->setErrorStyle($errorStyle); + $objValidation->setAllowBlank((bool)$allowBlank); + $objValidation->setShowInputMessage((bool)$showInputMessage); + $objValidation->setShowErrorMessage((bool)$showErrorMessage); + $objValidation->setShowDropDown(!$suppressDropDown); + $objValidation->setOperator($operator); + $objValidation->setErrorTitle($errorTitle); + $objValidation->setError($error); + $objValidation->setPromptTitle($promptTitle); + $objValidation->setPrompt($prompt); + $objValidation->setFormula1($formula1); + $objValidation->setFormula2($formula2); + } + } + + } + + + /** + * Read SHEETLAYOUT record. Stores sheet tab color information. + */ + private function _readSheetLayout() + { + $length = self::_GetInt2d($this->_data, $this->_pos + 2); + $recordData = $this->_readRecordData($this->_data, $this->_pos + 4, $length); + + // move stream pointer to next record + $this->_pos += 4 + $length; + + // local pointer in record data + $offset = 0; + + if (!$this->_readDataOnly) { + // offset: 0; size: 2; repeated record identifier 0x0862 + + // offset: 2; size: 10; not used + + // offset: 12; size: 4; size of record data + // Excel 2003 uses size of 0x14 (documented), Excel 2007 uses size of 0x28 (not documented?) + $sz = self::_GetInt4d($recordData, 12); + + switch ($sz) { + case 0x14: + // offset: 16; size: 2; color index for sheet tab + $colorIndex = self::_GetInt2d($recordData, 16); + $color = self::_readColor($colorIndex,$this->_palette,$this->_version); + $this->_phpSheet->getTabColor()->setRGB($color['rgb']); + break; + + case 0x28: + // TODO: Investigate structure for .xls SHEETLAYOUT record as saved by MS Office Excel 2007 + return; + break; + } + } + } + + + /** + * Read SHEETPROTECTION record (FEATHEADR) + */ + private function _readSheetProtection() + { + $length = self::_GetInt2d($this->_data, $this->_pos + 2); + $recordData = $this->_readRecordData($this->_data, $this->_pos + 4, $length); + + // move stream pointer to next record + $this->_pos += 4 + $length; + + if ($this->_readDataOnly) { + return; + } + + // offset: 0; size: 2; repeated record header + + // offset: 2; size: 2; FRT cell reference flag (=0 currently) + + // offset: 4; size: 8; Currently not used and set to 0 + + // offset: 12; size: 2; Shared feature type index (2=Enhanced Protetion, 4=SmartTag) + $isf = self::_GetInt2d($recordData, 12); + if ($isf != 2) { + return; + } + + // offset: 14; size: 1; =1 since this is a feat header + + // offset: 15; size: 4; size of rgbHdrSData + + // rgbHdrSData, assume "Enhanced Protection" + // offset: 19; size: 2; option flags + $options = self::_GetInt2d($recordData, 19); + + // bit: 0; mask 0x0001; 1 = user may edit objects, 0 = users must not edit objects + $bool = (0x0001 & $options) >> 0; + $this->_phpSheet->getProtection()->setObjects(!$bool); + + // bit: 1; mask 0x0002; edit scenarios + $bool = (0x0002 & $options) >> 1; + $this->_phpSheet->getProtection()->setScenarios(!$bool); + + // bit: 2; mask 0x0004; format cells + $bool = (0x0004 & $options) >> 2; + $this->_phpSheet->getProtection()->setFormatCells(!$bool); + + // bit: 3; mask 0x0008; format columns + $bool = (0x0008 & $options) >> 3; + $this->_phpSheet->getProtection()->setFormatColumns(!$bool); + + // bit: 4; mask 0x0010; format rows + $bool = (0x0010 & $options) >> 4; + $this->_phpSheet->getProtection()->setFormatRows(!$bool); + + // bit: 5; mask 0x0020; insert columns + $bool = (0x0020 & $options) >> 5; + $this->_phpSheet->getProtection()->setInsertColumns(!$bool); + + // bit: 6; mask 0x0040; insert rows + $bool = (0x0040 & $options) >> 6; + $this->_phpSheet->getProtection()->setInsertRows(!$bool); + + // bit: 7; mask 0x0080; insert hyperlinks + $bool = (0x0080 & $options) >> 7; + $this->_phpSheet->getProtection()->setInsertHyperlinks(!$bool); + + // bit: 8; mask 0x0100; delete columns + $bool = (0x0100 & $options) >> 8; + $this->_phpSheet->getProtection()->setDeleteColumns(!$bool); + + // bit: 9; mask 0x0200; delete rows + $bool = (0x0200 & $options) >> 9; + $this->_phpSheet->getProtection()->setDeleteRows(!$bool); + + // bit: 10; mask 0x0400; select locked cells + $bool = (0x0400 & $options) >> 10; + $this->_phpSheet->getProtection()->setSelectLockedCells(!$bool); + + // bit: 11; mask 0x0800; sort cell range + $bool = (0x0800 & $options) >> 11; + $this->_phpSheet->getProtection()->setSort(!$bool); + + // bit: 12; mask 0x1000; auto filter + $bool = (0x1000 & $options) >> 12; + $this->_phpSheet->getProtection()->setAutoFilter(!$bool); + + // bit: 13; mask 0x2000; pivot tables + $bool = (0x2000 & $options) >> 13; + $this->_phpSheet->getProtection()->setPivotTables(!$bool); + + // bit: 14; mask 0x4000; select unlocked cells + $bool = (0x4000 & $options) >> 14; + $this->_phpSheet->getProtection()->setSelectUnlockedCells(!$bool); + + // offset: 21; size: 2; not used + } + + + /** + * Read RANGEPROTECTION record + * Reading of this record is based on Microsoft Office Excel 97-2000 Binary File Format Specification, + * where it is referred to as FEAT record + */ + private function _readRangeProtection() + { + $length = self::_GetInt2d($this->_data, $this->_pos + 2); + $recordData = $this->_readRecordData($this->_data, $this->_pos + 4, $length); + + // move stream pointer to next record + $this->_pos += 4 + $length; + + // local pointer in record data + $offset = 0; + + if (!$this->_readDataOnly) { + $offset += 12; + + // offset: 12; size: 2; shared feature type, 2 = enhanced protection, 4 = smart tag + $isf = self::_GetInt2d($recordData, 12); + if ($isf != 2) { + // we only read FEAT records of type 2 + return; + } + $offset += 2; + + $offset += 5; + + // offset: 19; size: 2; count of ref ranges this feature is on + $cref = self::_GetInt2d($recordData, 19); + $offset += 2; + + $offset += 6; + + // offset: 27; size: 8 * $cref; list of cell ranges (like in hyperlink record) + $cellRanges = array(); + for ($i = 0; $i < $cref; ++$i) { + try { + $cellRange = $this->_readBIFF8CellRangeAddressFixed(substr($recordData, 27 + 8 * $i, 8)); + } catch (PHPExcel_Exception $e) { + return; + } + $cellRanges[] = $cellRange; + $offset += 8; + } + + // offset: var; size: var; variable length of feature specific data + $rgbFeat = substr($recordData, $offset); + $offset += 4; + + // offset: var; size: 4; the encrypted password (only 16-bit although field is 32-bit) + $wPassword = self::_GetInt4d($recordData, $offset); + $offset += 4; + + // Apply range protection to sheet + if ($cellRanges) { + $this->_phpSheet->protectCells(implode(' ', $cellRanges), strtoupper(dechex($wPassword)), true); + } + } + } + + + /** + * Read IMDATA record + */ + private function _readImData() + { + $length = self::_GetInt2d($this->_data, $this->_pos + 2); + + // get spliced record data + $splicedRecordData = $this->_getSplicedRecordData(); + $recordData = $splicedRecordData['recordData']; + + // UNDER CONSTRUCTION + + // offset: 0; size: 2; image format + $cf = self::_GetInt2d($recordData, 0); + + // offset: 2; size: 2; environment from which the file was written + $env = self::_GetInt2d($recordData, 2); + + // offset: 4; size: 4; length of the image data + $lcb = self::_GetInt4d($recordData, 4); + + // offset: 8; size: var; image data + $iData = substr($recordData, 8); + + switch ($cf) { + case 0x09: // Windows bitmap format + // BITMAPCOREINFO + // 1. BITMAPCOREHEADER + // offset: 0; size: 4; bcSize, Specifies the number of bytes required by the structure + $bcSize = self::_GetInt4d($iData, 0); +// var_dump($bcSize); + + // offset: 4; size: 2; bcWidth, specifies the width of the bitmap, in pixels + $bcWidth = self::_GetInt2d($iData, 4); +// var_dump($bcWidth); + + // offset: 6; size: 2; bcHeight, specifies the height of the bitmap, in pixels. + $bcHeight = self::_GetInt2d($iData, 6); +// var_dump($bcHeight); + $ih = imagecreatetruecolor($bcWidth, $bcHeight); + + // offset: 8; size: 2; bcPlanes, specifies the number of planes for the target device. This value must be 1 + + // offset: 10; size: 2; bcBitCount specifies the number of bits-per-pixel. This value must be 1, 4, 8, or 24 + $bcBitCount = self::_GetInt2d($iData, 10); +// var_dump($bcBitCount); + + $rgbString = substr($iData, 12); + $rgbTriples = array(); + while (strlen($rgbString) > 0) { + $rgbTriples[] = unpack('Cb/Cg/Cr', $rgbString); + $rgbString = substr($rgbString, 3); + } + $x = 0; + $y = 0; + foreach ($rgbTriples as $i => $rgbTriple) { + $color = imagecolorallocate($ih, $rgbTriple['r'], $rgbTriple['g'], $rgbTriple['b']); + imagesetpixel($ih, $x, $bcHeight - 1 - $y, $color); + $x = ($x + 1) % $bcWidth; + $y = $y + floor(($x + 1) / $bcWidth); + } + //imagepng($ih, 'image.png'); + + $drawing = new PHPExcel_Worksheet_Drawing(); + $drawing->setPath($filename); + $drawing->setWorksheet($this->_phpSheet); + + break; + + case 0x02: // Windows metafile or Macintosh PICT format + case 0x0e: // native format + default; + break; + + } + + // _getSplicedRecordData() takes care of moving current position in data stream + } + + + /** + * Read a free CONTINUE record. Free CONTINUE record may be a camouflaged MSODRAWING record + * When MSODRAWING data on a sheet exceeds 8224 bytes, CONTINUE records are used instead. Undocumented. + * In this case, we must treat the CONTINUE record as a MSODRAWING record + */ + private function _readContinue() + { + $length = self::_GetInt2d($this->_data, $this->_pos + 2); + $recordData = $this->_readRecordData($this->_data, $this->_pos + 4, $length); + + // check if we are reading drawing data + // this is in case a free CONTINUE record occurs in other circumstances we are unaware of + if ($this->_drawingData == '') { + // move stream pointer to next record + $this->_pos += 4 + $length; + + return; + } + + // check if record data is at least 4 bytes long, otherwise there is no chance this is MSODRAWING data + if ($length < 4) { + // move stream pointer to next record + $this->_pos += 4 + $length; + + return; + } + + // dirty check to see if CONTINUE record could be a camouflaged MSODRAWING record + // look inside CONTINUE record to see if it looks like a part of an Escher stream + // we know that Escher stream may be split at least at + // 0xF003 MsofbtSpgrContainer + // 0xF004 MsofbtSpContainer + // 0xF00D MsofbtClientTextbox + $validSplitPoints = array(0xF003, 0xF004, 0xF00D); // add identifiers if we find more + + $splitPoint = self::_GetInt2d($recordData, 2); + if (in_array($splitPoint, $validSplitPoints)) { + // get spliced record data (and move pointer to next record) + $splicedRecordData = $this->_getSplicedRecordData(); + $this->_drawingData .= $splicedRecordData['recordData']; + + return; + } + + // move stream pointer to next record + $this->_pos += 4 + $length; + + } + + + /** + * Reads a record from current position in data stream and continues reading data as long as CONTINUE + * records are found. Splices the record data pieces and returns the combined string as if record data + * is in one piece. + * Moves to next current position in data stream to start of next record different from a CONtINUE record + * + * @return array + */ + private function _getSplicedRecordData() + { + $data = ''; + $spliceOffsets = array(); + + $i = 0; + $spliceOffsets[0] = 0; + + do { + ++$i; + + // offset: 0; size: 2; identifier + $identifier = self::_GetInt2d($this->_data, $this->_pos); + // offset: 2; size: 2; length + $length = self::_GetInt2d($this->_data, $this->_pos + 2); + $data .= $this->_readRecordData($this->_data, $this->_pos + 4, $length); + + $spliceOffsets[$i] = $spliceOffsets[$i - 1] + $length; + + $this->_pos += 4 + $length; + $nextIdentifier = self::_GetInt2d($this->_data, $this->_pos); + } + while ($nextIdentifier == self::XLS_Type_CONTINUE); + + $splicedData = array( + 'recordData' => $data, + 'spliceOffsets' => $spliceOffsets, + ); + + return $splicedData; + + } + + + /** + * Convert formula structure into human readable Excel formula like 'A3+A5*5' + * + * @param string $formulaStructure The complete binary data for the formula + * @param string $baseCell Base cell, only needed when formula contains tRefN tokens, e.g. with shared formulas + * @return string Human readable formula + */ + private function _getFormulaFromStructure($formulaStructure, $baseCell = 'A1') + { + // offset: 0; size: 2; size of the following formula data + $sz = self::_GetInt2d($formulaStructure, 0); + + // offset: 2; size: sz + $formulaData = substr($formulaStructure, 2, $sz); + + // for debug: dump the formula data + //echo ''; + //echo 'size: ' . $sz . "\n"; + //echo 'the entire formula data: '; + //Debug::dump($formulaData); + //echo "\n----\n"; + + // offset: 2 + sz; size: variable (optional) + if (strlen($formulaStructure) > 2 + $sz) { + $additionalData = substr($formulaStructure, 2 + $sz); + + // for debug: dump the additional data + //echo 'the entire additional data: '; + //Debug::dump($additionalData); + //echo "\n----\n"; + + } else { + $additionalData = ''; + } + + return $this->_getFormulaFromData($formulaData, $additionalData, $baseCell); + } + + + /** + * Take formula data and additional data for formula and return human readable formula + * + * @param string $formulaData The binary data for the formula itself + * @param string $additionalData Additional binary data going with the formula + * @param string $baseCell Base cell, only needed when formula contains tRefN tokens, e.g. with shared formulas + * @return string Human readable formula + */ + private function _getFormulaFromData($formulaData, $additionalData = '', $baseCell = 'A1') + { + // start parsing the formula data + $tokens = array(); + + while (strlen($formulaData) > 0 and $token = $this->_getNextToken($formulaData, $baseCell)) { + $tokens[] = $token; + $formulaData = substr($formulaData, $token['size']); + + // for debug: dump the token + //var_dump($token); + } + + $formulaString = $this->_createFormulaFromTokens($tokens, $additionalData); + + return $formulaString; + } + + + /** + * Take array of tokens together with additional data for formula and return human readable formula + * + * @param array $tokens + * @param array $additionalData Additional binary data going with the formula + * @param string $baseCell Base cell, only needed when formula contains tRefN tokens, e.g. with shared formulas + * @return string Human readable formula + */ + private function _createFormulaFromTokens($tokens, $additionalData) + { + // empty formula? + if (empty($tokens)) { + return ''; + } + + $formulaStrings = array(); + foreach ($tokens as $token) { + // initialize spaces + $space0 = isset($space0) ? $space0 : ''; // spaces before next token, not tParen + $space1 = isset($space1) ? $space1 : ''; // carriage returns before next token, not tParen + $space2 = isset($space2) ? $space2 : ''; // spaces before opening parenthesis + $space3 = isset($space3) ? $space3 : ''; // carriage returns before opening parenthesis + $space4 = isset($space4) ? $space4 : ''; // spaces before closing parenthesis + $space5 = isset($space5) ? $space5 : ''; // carriage returns before closing parenthesis + + switch ($token['name']) { + case 'tAdd': // addition + case 'tConcat': // addition + case 'tDiv': // division + case 'tEQ': // equality + case 'tGE': // greater than or equal + case 'tGT': // greater than + case 'tIsect': // intersection + case 'tLE': // less than or equal + case 'tList': // less than or equal + case 'tLT': // less than + case 'tMul': // multiplication + case 'tNE': // multiplication + case 'tPower': // power + case 'tRange': // range + case 'tSub': // subtraction + $op2 = array_pop($formulaStrings); + $op1 = array_pop($formulaStrings); + $formulaStrings[] = "$op1$space1$space0{$token['data']}$op2"; + unset($space0, $space1); + break; + case 'tUplus': // unary plus + case 'tUminus': // unary minus + $op = array_pop($formulaStrings); + $formulaStrings[] = "$space1$space0{$token['data']}$op"; + unset($space0, $space1); + break; + case 'tPercent': // percent sign + $op = array_pop($formulaStrings); + $formulaStrings[] = "$op$space1$space0{$token['data']}"; + unset($space0, $space1); + break; + case 'tAttrVolatile': // indicates volatile function + case 'tAttrIf': + case 'tAttrSkip': + case 'tAttrChoose': + // token is only important for Excel formula evaluator + // do nothing + break; + case 'tAttrSpace': // space / carriage return + // space will be used when next token arrives, do not alter formulaString stack + switch ($token['data']['spacetype']) { + case 'type0': + $space0 = str_repeat(' ', $token['data']['spacecount']); + break; + case 'type1': + $space1 = str_repeat("\n", $token['data']['spacecount']); + break; + case 'type2': + $space2 = str_repeat(' ', $token['data']['spacecount']); + break; + case 'type3': + $space3 = str_repeat("\n", $token['data']['spacecount']); + break; + case 'type4': + $space4 = str_repeat(' ', $token['data']['spacecount']); + break; + case 'type5': + $space5 = str_repeat("\n", $token['data']['spacecount']); + break; + } + break; + case 'tAttrSum': // SUM function with one parameter + $op = array_pop($formulaStrings); + $formulaStrings[] = "{$space1}{$space0}SUM($op)"; + unset($space0, $space1); + break; + case 'tFunc': // function with fixed number of arguments + case 'tFuncV': // function with variable number of arguments + if ($token['data']['function'] != '') { + // normal function + $ops = array(); // array of operators + for ($i = 0; $i < $token['data']['args']; ++$i) { + $ops[] = array_pop($formulaStrings); + } + $ops = array_reverse($ops); + $formulaStrings[] = "$space1$space0{$token['data']['function']}(" . implode(',', $ops) . ")"; + unset($space0, $space1); + } else { + // add-in function + $ops = array(); // array of operators + for ($i = 0; $i < $token['data']['args'] - 1; ++$i) { + $ops[] = array_pop($formulaStrings); + } + $ops = array_reverse($ops); + $function = array_pop($formulaStrings); + $formulaStrings[] = "$space1$space0$function(" . implode(',', $ops) . ")"; + unset($space0, $space1); + } + break; + case 'tParen': // parenthesis + $expression = array_pop($formulaStrings); + $formulaStrings[] = "$space3$space2($expression$space5$space4)"; + unset($space2, $space3, $space4, $space5); + break; + case 'tArray': // array constant + $constantArray = self::_readBIFF8ConstantArray($additionalData); + $formulaStrings[] = $space1 . $space0 . $constantArray['value']; + $additionalData = substr($additionalData, $constantArray['size']); // bite of chunk of additional data + unset($space0, $space1); + break; + case 'tMemArea': + // bite off chunk of additional data + $cellRangeAddressList = $this->_readBIFF8CellRangeAddressList($additionalData); + $additionalData = substr($additionalData, $cellRangeAddressList['size']); + $formulaStrings[] = "$space1$space0{$token['data']}"; + unset($space0, $space1); + break; + case 'tArea': // cell range address + case 'tBool': // boolean + case 'tErr': // error code + case 'tInt': // integer + case 'tMemErr': + case 'tMemFunc': + case 'tMissArg': + case 'tName': + case 'tNameX': + case 'tNum': // number + case 'tRef': // single cell reference + case 'tRef3d': // 3d cell reference + case 'tArea3d': // 3d cell range reference + case 'tRefN': + case 'tAreaN': + case 'tStr': // string + $formulaStrings[] = "$space1$space0{$token['data']}"; + unset($space0, $space1); + break; + } + } + $formulaString = $formulaStrings[0]; + + // for debug: dump the human readable formula + //echo '----' . "\n"; + //echo 'Formula: ' . $formulaString; + + return $formulaString; + } + + + /** + * Fetch next token from binary formula data + * + * @param string Formula data + * @param string $baseCell Base cell, only needed when formula contains tRefN tokens, e.g. with shared formulas + * @return array + * @throws PHPExcel_Reader_Exception + */ + private function _getNextToken($formulaData, $baseCell = 'A1') + { + // offset: 0; size: 1; token id + $id = ord($formulaData[0]); // token id + $name = false; // initialize token name + + switch ($id) { + case 0x03: $name = 'tAdd'; $size = 1; $data = '+'; break; + case 0x04: $name = 'tSub'; $size = 1; $data = '-'; break; + case 0x05: $name = 'tMul'; $size = 1; $data = '*'; break; + case 0x06: $name = 'tDiv'; $size = 1; $data = '/'; break; + case 0x07: $name = 'tPower'; $size = 1; $data = '^'; break; + case 0x08: $name = 'tConcat'; $size = 1; $data = '&'; break; + case 0x09: $name = 'tLT'; $size = 1; $data = '<'; break; + case 0x0A: $name = 'tLE'; $size = 1; $data = '<='; break; + case 0x0B: $name = 'tEQ'; $size = 1; $data = '='; break; + case 0x0C: $name = 'tGE'; $size = 1; $data = '>='; break; + case 0x0D: $name = 'tGT'; $size = 1; $data = '>'; break; + case 0x0E: $name = 'tNE'; $size = 1; $data = '<>'; break; + case 0x0F: $name = 'tIsect'; $size = 1; $data = ' '; break; + case 0x10: $name = 'tList'; $size = 1; $data = ','; break; + case 0x11: $name = 'tRange'; $size = 1; $data = ':'; break; + case 0x12: $name = 'tUplus'; $size = 1; $data = '+'; break; + case 0x13: $name = 'tUminus'; $size = 1; $data = '-'; break; + case 0x14: $name = 'tPercent'; $size = 1; $data = '%'; break; + case 0x15: // parenthesis + $name = 'tParen'; + $size = 1; + $data = null; + break; + case 0x16: // missing argument + $name = 'tMissArg'; + $size = 1; + $data = ''; + break; + case 0x17: // string + $name = 'tStr'; + // offset: 1; size: var; Unicode string, 8-bit string length + $string = self::_readUnicodeStringShort(substr($formulaData, 1)); + $size = 1 + $string['size']; + $data = self::_UTF8toExcelDoubleQuoted($string['value']); + break; + case 0x19: // Special attribute + // offset: 1; size: 1; attribute type flags: + switch (ord($formulaData[1])) { + case 0x01: + $name = 'tAttrVolatile'; + $size = 4; + $data = null; + break; + case 0x02: + $name = 'tAttrIf'; + $size = 4; + $data = null; + break; + case 0x04: + $name = 'tAttrChoose'; + // offset: 2; size: 2; number of choices in the CHOOSE function ($nc, number of parameters decreased by 1) + $nc = self::_GetInt2d($formulaData, 2); + // offset: 4; size: 2 * $nc + // offset: 4 + 2 * $nc; size: 2 + $size = 2 * $nc + 6; + $data = null; + break; + case 0x08: + $name = 'tAttrSkip'; + $size = 4; + $data = null; + break; + case 0x10: + $name = 'tAttrSum'; + $size = 4; + $data = null; + break; + case 0x40: + case 0x41: + $name = 'tAttrSpace'; + $size = 4; + // offset: 2; size: 2; space type and position + switch (ord($formulaData[2])) { + case 0x00: + $spacetype = 'type0'; + break; + case 0x01: + $spacetype = 'type1'; + break; + case 0x02: + $spacetype = 'type2'; + break; + case 0x03: + $spacetype = 'type3'; + break; + case 0x04: + $spacetype = 'type4'; + break; + case 0x05: + $spacetype = 'type5'; + break; + default: + throw new PHPExcel_Reader_Exception('Unrecognized space type in tAttrSpace token'); + break; + } + // offset: 3; size: 1; number of inserted spaces/carriage returns + $spacecount = ord($formulaData[3]); + + $data = array('spacetype' => $spacetype, 'spacecount' => $spacecount); + break; + default: + throw new PHPExcel_Reader_Exception('Unrecognized attribute flag in tAttr token'); + break; + } + break; + case 0x1C: // error code + // offset: 1; size: 1; error code + $name = 'tErr'; + $size = 2; + $data = self::_mapErrorCode(ord($formulaData[1])); + break; + case 0x1D: // boolean + // offset: 1; size: 1; 0 = false, 1 = true; + $name = 'tBool'; + $size = 2; + $data = ord($formulaData[1]) ? 'TRUE' : 'FALSE'; + break; + case 0x1E: // integer + // offset: 1; size: 2; unsigned 16-bit integer + $name = 'tInt'; + $size = 3; + $data = self::_GetInt2d($formulaData, 1); + break; + case 0x1F: // number + // offset: 1; size: 8; + $name = 'tNum'; + $size = 9; + $data = self::_extractNumber(substr($formulaData, 1)); + $data = str_replace(',', '.', (string)$data); // in case non-English locale + break; + case 0x20: // array constant + case 0x40: + case 0x60: + // offset: 1; size: 7; not used + $name = 'tArray'; + $size = 8; + $data = null; + break; + case 0x21: // function with fixed number of arguments + case 0x41: + case 0x61: + $name = 'tFunc'; + $size = 3; + // offset: 1; size: 2; index to built-in sheet function + switch (self::_GetInt2d($formulaData, 1)) { + case 2: $function = 'ISNA'; $args = 1; break; + case 3: $function = 'ISERROR'; $args = 1; break; + case 10: $function = 'NA'; $args = 0; break; + case 15: $function = 'SIN'; $args = 1; break; + case 16: $function = 'COS'; $args = 1; break; + case 17: $function = 'TAN'; $args = 1; break; + case 18: $function = 'ATAN'; $args = 1; break; + case 19: $function = 'PI'; $args = 0; break; + case 20: $function = 'SQRT'; $args = 1; break; + case 21: $function = 'EXP'; $args = 1; break; + case 22: $function = 'LN'; $args = 1; break; + case 23: $function = 'LOG10'; $args = 1; break; + case 24: $function = 'ABS'; $args = 1; break; + case 25: $function = 'INT'; $args = 1; break; + case 26: $function = 'SIGN'; $args = 1; break; + case 27: $function = 'ROUND'; $args = 2; break; + case 30: $function = 'REPT'; $args = 2; break; + case 31: $function = 'MID'; $args = 3; break; + case 32: $function = 'LEN'; $args = 1; break; + case 33: $function = 'VALUE'; $args = 1; break; + case 34: $function = 'TRUE'; $args = 0; break; + case 35: $function = 'FALSE'; $args = 0; break; + case 38: $function = 'NOT'; $args = 1; break; + case 39: $function = 'MOD'; $args = 2; break; + case 40: $function = 'DCOUNT'; $args = 3; break; + case 41: $function = 'DSUM'; $args = 3; break; + case 42: $function = 'DAVERAGE'; $args = 3; break; + case 43: $function = 'DMIN'; $args = 3; break; + case 44: $function = 'DMAX'; $args = 3; break; + case 45: $function = 'DSTDEV'; $args = 3; break; + case 48: $function = 'TEXT'; $args = 2; break; + case 61: $function = 'MIRR'; $args = 3; break; + case 63: $function = 'RAND'; $args = 0; break; + case 65: $function = 'DATE'; $args = 3; break; + case 66: $function = 'TIME'; $args = 3; break; + case 67: $function = 'DAY'; $args = 1; break; + case 68: $function = 'MONTH'; $args = 1; break; + case 69: $function = 'YEAR'; $args = 1; break; + case 71: $function = 'HOUR'; $args = 1; break; + case 72: $function = 'MINUTE'; $args = 1; break; + case 73: $function = 'SECOND'; $args = 1; break; + case 74: $function = 'NOW'; $args = 0; break; + case 75: $function = 'AREAS'; $args = 1; break; + case 76: $function = 'ROWS'; $args = 1; break; + case 77: $function = 'COLUMNS'; $args = 1; break; + case 83: $function = 'TRANSPOSE'; $args = 1; break; + case 86: $function = 'TYPE'; $args = 1; break; + case 97: $function = 'ATAN2'; $args = 2; break; + case 98: $function = 'ASIN'; $args = 1; break; + case 99: $function = 'ACOS'; $args = 1; break; + case 105: $function = 'ISREF'; $args = 1; break; + case 111: $function = 'CHAR'; $args = 1; break; + case 112: $function = 'LOWER'; $args = 1; break; + case 113: $function = 'UPPER'; $args = 1; break; + case 114: $function = 'PROPER'; $args = 1; break; + case 117: $function = 'EXACT'; $args = 2; break; + case 118: $function = 'TRIM'; $args = 1; break; + case 119: $function = 'REPLACE'; $args = 4; break; + case 121: $function = 'CODE'; $args = 1; break; + case 126: $function = 'ISERR'; $args = 1; break; + case 127: $function = 'ISTEXT'; $args = 1; break; + case 128: $function = 'ISNUMBER'; $args = 1; break; + case 129: $function = 'ISBLANK'; $args = 1; break; + case 130: $function = 'T'; $args = 1; break; + case 131: $function = 'N'; $args = 1; break; + case 140: $function = 'DATEVALUE'; $args = 1; break; + case 141: $function = 'TIMEVALUE'; $args = 1; break; + case 142: $function = 'SLN'; $args = 3; break; + case 143: $function = 'SYD'; $args = 4; break; + case 162: $function = 'CLEAN'; $args = 1; break; + case 163: $function = 'MDETERM'; $args = 1; break; + case 164: $function = 'MINVERSE'; $args = 1; break; + case 165: $function = 'MMULT'; $args = 2; break; + case 184: $function = 'FACT'; $args = 1; break; + case 189: $function = 'DPRODUCT'; $args = 3; break; + case 190: $function = 'ISNONTEXT'; $args = 1; break; + case 195: $function = 'DSTDEVP'; $args = 3; break; + case 196: $function = 'DVARP'; $args = 3; break; + case 198: $function = 'ISLOGICAL'; $args = 1; break; + case 199: $function = 'DCOUNTA'; $args = 3; break; + case 207: $function = 'REPLACEB'; $args = 4; break; + case 210: $function = 'MIDB'; $args = 3; break; + case 211: $function = 'LENB'; $args = 1; break; + case 212: $function = 'ROUNDUP'; $args = 2; break; + case 213: $function = 'ROUNDDOWN'; $args = 2; break; + case 214: $function = 'ASC'; $args = 1; break; + case 215: $function = 'DBCS'; $args = 1; break; + case 221: $function = 'TODAY'; $args = 0; break; + case 229: $function = 'SINH'; $args = 1; break; + case 230: $function = 'COSH'; $args = 1; break; + case 231: $function = 'TANH'; $args = 1; break; + case 232: $function = 'ASINH'; $args = 1; break; + case 233: $function = 'ACOSH'; $args = 1; break; + case 234: $function = 'ATANH'; $args = 1; break; + case 235: $function = 'DGET'; $args = 3; break; + case 244: $function = 'INFO'; $args = 1; break; + case 252: $function = 'FREQUENCY'; $args = 2; break; + case 261: $function = 'ERROR.TYPE'; $args = 1; break; + case 271: $function = 'GAMMALN'; $args = 1; break; + case 273: $function = 'BINOMDIST'; $args = 4; break; + case 274: $function = 'CHIDIST'; $args = 2; break; + case 275: $function = 'CHIINV'; $args = 2; break; + case 276: $function = 'COMBIN'; $args = 2; break; + case 277: $function = 'CONFIDENCE'; $args = 3; break; + case 278: $function = 'CRITBINOM'; $args = 3; break; + case 279: $function = 'EVEN'; $args = 1; break; + case 280: $function = 'EXPONDIST'; $args = 3; break; + case 281: $function = 'FDIST'; $args = 3; break; + case 282: $function = 'FINV'; $args = 3; break; + case 283: $function = 'FISHER'; $args = 1; break; + case 284: $function = 'FISHERINV'; $args = 1; break; + case 285: $function = 'FLOOR'; $args = 2; break; + case 286: $function = 'GAMMADIST'; $args = 4; break; + case 287: $function = 'GAMMAINV'; $args = 3; break; + case 288: $function = 'CEILING'; $args = 2; break; + case 289: $function = 'HYPGEOMDIST'; $args = 4; break; + case 290: $function = 'LOGNORMDIST'; $args = 3; break; + case 291: $function = 'LOGINV'; $args = 3; break; + case 292: $function = 'NEGBINOMDIST'; $args = 3; break; + case 293: $function = 'NORMDIST'; $args = 4; break; + case 294: $function = 'NORMSDIST'; $args = 1; break; + case 295: $function = 'NORMINV'; $args = 3; break; + case 296: $function = 'NORMSINV'; $args = 1; break; + case 297: $function = 'STANDARDIZE'; $args = 3; break; + case 298: $function = 'ODD'; $args = 1; break; + case 299: $function = 'PERMUT'; $args = 2; break; + case 300: $function = 'POISSON'; $args = 3; break; + case 301: $function = 'TDIST'; $args = 3; break; + case 302: $function = 'WEIBULL'; $args = 4; break; + case 303: $function = 'SUMXMY2'; $args = 2; break; + case 304: $function = 'SUMX2MY2'; $args = 2; break; + case 305: $function = 'SUMX2PY2'; $args = 2; break; + case 306: $function = 'CHITEST'; $args = 2; break; + case 307: $function = 'CORREL'; $args = 2; break; + case 308: $function = 'COVAR'; $args = 2; break; + case 309: $function = 'FORECAST'; $args = 3; break; + case 310: $function = 'FTEST'; $args = 2; break; + case 311: $function = 'INTERCEPT'; $args = 2; break; + case 312: $function = 'PEARSON'; $args = 2; break; + case 313: $function = 'RSQ'; $args = 2; break; + case 314: $function = 'STEYX'; $args = 2; break; + case 315: $function = 'SLOPE'; $args = 2; break; + case 316: $function = 'TTEST'; $args = 4; break; + case 325: $function = 'LARGE'; $args = 2; break; + case 326: $function = 'SMALL'; $args = 2; break; + case 327: $function = 'QUARTILE'; $args = 2; break; + case 328: $function = 'PERCENTILE'; $args = 2; break; + case 331: $function = 'TRIMMEAN'; $args = 2; break; + case 332: $function = 'TINV'; $args = 2; break; + case 337: $function = 'POWER'; $args = 2; break; + case 342: $function = 'RADIANS'; $args = 1; break; + case 343: $function = 'DEGREES'; $args = 1; break; + case 346: $function = 'COUNTIF'; $args = 2; break; + case 347: $function = 'COUNTBLANK'; $args = 1; break; + case 350: $function = 'ISPMT'; $args = 4; break; + case 351: $function = 'DATEDIF'; $args = 3; break; + case 352: $function = 'DATESTRING'; $args = 1; break; + case 353: $function = 'NUMBERSTRING'; $args = 2; break; + case 360: $function = 'PHONETIC'; $args = 1; break; + case 368: $function = 'BAHTTEXT'; $args = 1; break; + default: + throw new PHPExcel_Reader_Exception('Unrecognized function in formula'); + break; + } + $data = array('function' => $function, 'args' => $args); + break; + case 0x22: // function with variable number of arguments + case 0x42: + case 0x62: + $name = 'tFuncV'; + $size = 4; + // offset: 1; size: 1; number of arguments + $args = ord($formulaData[1]); + // offset: 2: size: 2; index to built-in sheet function + $index = self::_GetInt2d($formulaData, 2); + switch ($index) { + case 0: $function = 'COUNT'; break; + case 1: $function = 'IF'; break; + case 4: $function = 'SUM'; break; + case 5: $function = 'AVERAGE'; break; + case 6: $function = 'MIN'; break; + case 7: $function = 'MAX'; break; + case 8: $function = 'ROW'; break; + case 9: $function = 'COLUMN'; break; + case 11: $function = 'NPV'; break; + case 12: $function = 'STDEV'; break; + case 13: $function = 'DOLLAR'; break; + case 14: $function = 'FIXED'; break; + case 28: $function = 'LOOKUP'; break; + case 29: $function = 'INDEX'; break; + case 36: $function = 'AND'; break; + case 37: $function = 'OR'; break; + case 46: $function = 'VAR'; break; + case 49: $function = 'LINEST'; break; + case 50: $function = 'TREND'; break; + case 51: $function = 'LOGEST'; break; + case 52: $function = 'GROWTH'; break; + case 56: $function = 'PV'; break; + case 57: $function = 'FV'; break; + case 58: $function = 'NPER'; break; + case 59: $function = 'PMT'; break; + case 60: $function = 'RATE'; break; + case 62: $function = 'IRR'; break; + case 64: $function = 'MATCH'; break; + case 70: $function = 'WEEKDAY'; break; + case 78: $function = 'OFFSET'; break; + case 82: $function = 'SEARCH'; break; + case 100: $function = 'CHOOSE'; break; + case 101: $function = 'HLOOKUP'; break; + case 102: $function = 'VLOOKUP'; break; + case 109: $function = 'LOG'; break; + case 115: $function = 'LEFT'; break; + case 116: $function = 'RIGHT'; break; + case 120: $function = 'SUBSTITUTE'; break; + case 124: $function = 'FIND'; break; + case 125: $function = 'CELL'; break; + case 144: $function = 'DDB'; break; + case 148: $function = 'INDIRECT'; break; + case 167: $function = 'IPMT'; break; + case 168: $function = 'PPMT'; break; + case 169: $function = 'COUNTA'; break; + case 183: $function = 'PRODUCT'; break; + case 193: $function = 'STDEVP'; break; + case 194: $function = 'VARP'; break; + case 197: $function = 'TRUNC'; break; + case 204: $function = 'USDOLLAR'; break; + case 205: $function = 'FINDB'; break; + case 206: $function = 'SEARCHB'; break; + case 208: $function = 'LEFTB'; break; + case 209: $function = 'RIGHTB'; break; + case 216: $function = 'RANK'; break; + case 219: $function = 'ADDRESS'; break; + case 220: $function = 'DAYS360'; break; + case 222: $function = 'VDB'; break; + case 227: $function = 'MEDIAN'; break; + case 228: $function = 'SUMPRODUCT'; break; + case 247: $function = 'DB'; break; + case 255: $function = ''; break; + case 269: $function = 'AVEDEV'; break; + case 270: $function = 'BETADIST'; break; + case 272: $function = 'BETAINV'; break; + case 317: $function = 'PROB'; break; + case 318: $function = 'DEVSQ'; break; + case 319: $function = 'GEOMEAN'; break; + case 320: $function = 'HARMEAN'; break; + case 321: $function = 'SUMSQ'; break; + case 322: $function = 'KURT'; break; + case 323: $function = 'SKEW'; break; + case 324: $function = 'ZTEST'; break; + case 329: $function = 'PERCENTRANK'; break; + case 330: $function = 'MODE'; break; + case 336: $function = 'CONCATENATE'; break; + case 344: $function = 'SUBTOTAL'; break; + case 345: $function = 'SUMIF'; break; + case 354: $function = 'ROMAN'; break; + case 358: $function = 'GETPIVOTDATA'; break; + case 359: $function = 'HYPERLINK'; break; + case 361: $function = 'AVERAGEA'; break; + case 362: $function = 'MAXA'; break; + case 363: $function = 'MINA'; break; + case 364: $function = 'STDEVPA'; break; + case 365: $function = 'VARPA'; break; + case 366: $function = 'STDEVA'; break; + case 367: $function = 'VARA'; break; + default: + throw new PHPExcel_Reader_Exception('Unrecognized function in formula'); + break; + } + $data = array('function' => $function, 'args' => $args); + break; + case 0x23: // index to defined name + case 0x43: + case 0x63: + $name = 'tName'; + $size = 5; + // offset: 1; size: 2; one-based index to definedname record + $definedNameIndex = self::_GetInt2d($formulaData, 1) - 1; + // offset: 2; size: 2; not used + $data = $this->_definedname[$definedNameIndex]['name']; + break; + case 0x24: // single cell reference e.g. A5 + case 0x44: + case 0x64: + $name = 'tRef'; + $size = 5; + $data = $this->_readBIFF8CellAddress(substr($formulaData, 1, 4)); + break; + case 0x25: // cell range reference to cells in the same sheet (2d) + case 0x45: + case 0x65: + $name = 'tArea'; + $size = 9; + $data = $this->_readBIFF8CellRangeAddress(substr($formulaData, 1, 8)); + break; + case 0x26: // Constant reference sub-expression + case 0x46: + case 0x66: + $name = 'tMemArea'; + // offset: 1; size: 4; not used + // offset: 5; size: 2; size of the following subexpression + $subSize = self::_GetInt2d($formulaData, 5); + $size = 7 + $subSize; + $data = $this->_getFormulaFromData(substr($formulaData, 7, $subSize)); + break; + case 0x27: // Deleted constant reference sub-expression + case 0x47: + case 0x67: + $name = 'tMemErr'; + // offset: 1; size: 4; not used + // offset: 5; size: 2; size of the following subexpression + $subSize = self::_GetInt2d($formulaData, 5); + $size = 7 + $subSize; + $data = $this->_getFormulaFromData(substr($formulaData, 7, $subSize)); + break; + case 0x29: // Variable reference sub-expression + case 0x49: + case 0x69: + $name = 'tMemFunc'; + // offset: 1; size: 2; size of the following sub-expression + $subSize = self::_GetInt2d($formulaData, 1); + $size = 3 + $subSize; + $data = $this->_getFormulaFromData(substr($formulaData, 3, $subSize)); + break; + + case 0x2C: // Relative 2d cell reference reference, used in shared formulas and some other places + case 0x4C: + case 0x6C: + $name = 'tRefN'; + $size = 5; + $data = $this->_readBIFF8CellAddressB(substr($formulaData, 1, 4), $baseCell); + break; + + case 0x2D: // Relative 2d range reference + case 0x4D: + case 0x6D: + $name = 'tAreaN'; + $size = 9; + $data = $this->_readBIFF8CellRangeAddressB(substr($formulaData, 1, 8), $baseCell); + break; + + case 0x39: // External name + case 0x59: + case 0x79: + $name = 'tNameX'; + $size = 7; + // offset: 1; size: 2; index to REF entry in EXTERNSHEET record + // offset: 3; size: 2; one-based index to DEFINEDNAME or EXTERNNAME record + $index = self::_GetInt2d($formulaData, 3); + // assume index is to EXTERNNAME record + $data = $this->_externalNames[$index - 1]['name']; + // offset: 5; size: 2; not used + break; + + case 0x3A: // 3d reference to cell + case 0x5A: + case 0x7A: + $name = 'tRef3d'; + $size = 7; + + try { + // offset: 1; size: 2; index to REF entry + $sheetRange = $this->_readSheetRangeByRefIndex(self::_GetInt2d($formulaData, 1)); + // offset: 3; size: 4; cell address + $cellAddress = $this->_readBIFF8CellAddress(substr($formulaData, 3, 4)); + + $data = "$sheetRange!$cellAddress"; + } catch (PHPExcel_Exception $e) { + // deleted sheet reference + $data = '#REF!'; + } + + break; + case 0x3B: // 3d reference to cell range + case 0x5B: + case 0x7B: + $name = 'tArea3d'; + $size = 11; + + try { + // offset: 1; size: 2; index to REF entry + $sheetRange = $this->_readSheetRangeByRefIndex(self::_GetInt2d($formulaData, 1)); + // offset: 3; size: 8; cell address + $cellRangeAddress = $this->_readBIFF8CellRangeAddress(substr($formulaData, 3, 8)); + + $data = "$sheetRange!$cellRangeAddress"; + } catch (PHPExcel_Exception $e) { + // deleted sheet reference + $data = '#REF!'; + } + + break; + // Unknown cases // don't know how to deal with + default: + throw new PHPExcel_Reader_Exception('Unrecognized token ' . sprintf('%02X', $id) . ' in formula'); + break; + } + + return array( + 'id' => $id, + 'name' => $name, + 'size' => $size, + 'data' => $data, + ); + } + + + /** + * Reads a cell address in BIFF8 e.g. 'A2' or '$A$2' + * section 3.3.4 + * + * @param string $cellAddressStructure + * @return string + */ + private function _readBIFF8CellAddress($cellAddressStructure) + { + // offset: 0; size: 2; index to row (0... 65535) (or offset (-32768... 32767)) + $row = self::_GetInt2d($cellAddressStructure, 0) + 1; + + // offset: 2; size: 2; index to column or column offset + relative flags + + // bit: 7-0; mask 0x00FF; column index + $column = PHPExcel_Cell::stringFromColumnIndex(0x00FF & self::_GetInt2d($cellAddressStructure, 2)); + + // bit: 14; mask 0x4000; (1 = relative column index, 0 = absolute column index) + if (!(0x4000 & self::_GetInt2d($cellAddressStructure, 2))) { + $column = '$' . $column; + } + // bit: 15; mask 0x8000; (1 = relative row index, 0 = absolute row index) + if (!(0x8000 & self::_GetInt2d($cellAddressStructure, 2))) { + $row = '$' . $row; + } + + return $column . $row; + } + + + /** + * Reads a cell address in BIFF8 for shared formulas. Uses positive and negative values for row and column + * to indicate offsets from a base cell + * section 3.3.4 + * + * @param string $cellAddressStructure + * @param string $baseCell Base cell, only needed when formula contains tRefN tokens, e.g. with shared formulas + * @return string + */ + private function _readBIFF8CellAddressB($cellAddressStructure, $baseCell = 'A1') + { + list($baseCol, $baseRow) = PHPExcel_Cell::coordinateFromString($baseCell); + $baseCol = PHPExcel_Cell::columnIndexFromString($baseCol) - 1; + + // offset: 0; size: 2; index to row (0... 65535) (or offset (-32768... 32767)) + $rowIndex = self::_GetInt2d($cellAddressStructure, 0); + $row = self::_GetInt2d($cellAddressStructure, 0) + 1; + + // offset: 2; size: 2; index to column or column offset + relative flags + + // bit: 7-0; mask 0x00FF; column index + $colIndex = 0x00FF & self::_GetInt2d($cellAddressStructure, 2); + + // bit: 14; mask 0x4000; (1 = relative column index, 0 = absolute column index) + if (!(0x4000 & self::_GetInt2d($cellAddressStructure, 2))) { + $column = PHPExcel_Cell::stringFromColumnIndex($colIndex); + $column = '$' . $column; + } else { + $colIndex = ($colIndex <= 127) ? $colIndex : $colIndex - 256; + $column = PHPExcel_Cell::stringFromColumnIndex($baseCol + $colIndex); + } + + // bit: 15; mask 0x8000; (1 = relative row index, 0 = absolute row index) + if (!(0x8000 & self::_GetInt2d($cellAddressStructure, 2))) { + $row = '$' . $row; + } else { + $rowIndex = ($rowIndex <= 32767) ? $rowIndex : $rowIndex - 65536; + $row = $baseRow + $rowIndex; + } + + return $column . $row; + } + + + /** + * Reads a cell range address in BIFF5 e.g. 'A2:B6' or 'A1' + * always fixed range + * section 2.5.14 + * + * @param string $subData + * @return string + * @throws PHPExcel_Reader_Exception + */ + private function _readBIFF5CellRangeAddressFixed($subData) + { + // offset: 0; size: 2; index to first row + $fr = self::_GetInt2d($subData, 0) + 1; + + // offset: 2; size: 2; index to last row + $lr = self::_GetInt2d($subData, 2) + 1; + + // offset: 4; size: 1; index to first column + $fc = ord($subData{4}); + + // offset: 5; size: 1; index to last column + $lc = ord($subData{5}); + + // check values + if ($fr > $lr || $fc > $lc) { + throw new PHPExcel_Reader_Exception('Not a cell range address'); + } + + // column index to letter + $fc = PHPExcel_Cell::stringFromColumnIndex($fc); + $lc = PHPExcel_Cell::stringFromColumnIndex($lc); + + if ($fr == $lr and $fc == $lc) { + return "$fc$fr"; + } + return "$fc$fr:$lc$lr"; + } + + + /** + * Reads a cell range address in BIFF8 e.g. 'A2:B6' or 'A1' + * always fixed range + * section 2.5.14 + * + * @param string $subData + * @return string + * @throws PHPExcel_Reader_Exception + */ + private function _readBIFF8CellRangeAddressFixed($subData) + { + // offset: 0; size: 2; index to first row + $fr = self::_GetInt2d($subData, 0) + 1; + + // offset: 2; size: 2; index to last row + $lr = self::_GetInt2d($subData, 2) + 1; + + // offset: 4; size: 2; index to first column + $fc = self::_GetInt2d($subData, 4); + + // offset: 6; size: 2; index to last column + $lc = self::_GetInt2d($subData, 6); + + // check values + if ($fr > $lr || $fc > $lc) { + throw new PHPExcel_Reader_Exception('Not a cell range address'); + } + + // column index to letter + $fc = PHPExcel_Cell::stringFromColumnIndex($fc); + $lc = PHPExcel_Cell::stringFromColumnIndex($lc); + + if ($fr == $lr and $fc == $lc) { + return "$fc$fr"; + } + return "$fc$fr:$lc$lr"; + } + + + /** + * Reads a cell range address in BIFF8 e.g. 'A2:B6' or '$A$2:$B$6' + * there are flags indicating whether column/row index is relative + * section 3.3.4 + * + * @param string $subData + * @return string + */ + private function _readBIFF8CellRangeAddress($subData) + { + // todo: if cell range is just a single cell, should this funciton + // not just return e.g. 'A1' and not 'A1:A1' ? + + // offset: 0; size: 2; index to first row (0... 65535) (or offset (-32768... 32767)) + $fr = self::_GetInt2d($subData, 0) + 1; + + // offset: 2; size: 2; index to last row (0... 65535) (or offset (-32768... 32767)) + $lr = self::_GetInt2d($subData, 2) + 1; + + // offset: 4; size: 2; index to first column or column offset + relative flags + + // bit: 7-0; mask 0x00FF; column index + $fc = PHPExcel_Cell::stringFromColumnIndex(0x00FF & self::_GetInt2d($subData, 4)); + + // bit: 14; mask 0x4000; (1 = relative column index, 0 = absolute column index) + if (!(0x4000 & self::_GetInt2d($subData, 4))) { + $fc = '$' . $fc; + } + + // bit: 15; mask 0x8000; (1 = relative row index, 0 = absolute row index) + if (!(0x8000 & self::_GetInt2d($subData, 4))) { + $fr = '$' . $fr; + } + + // offset: 6; size: 2; index to last column or column offset + relative flags + + // bit: 7-0; mask 0x00FF; column index + $lc = PHPExcel_Cell::stringFromColumnIndex(0x00FF & self::_GetInt2d($subData, 6)); + + // bit: 14; mask 0x4000; (1 = relative column index, 0 = absolute column index) + if (!(0x4000 & self::_GetInt2d($subData, 6))) { + $lc = '$' . $lc; + } + + // bit: 15; mask 0x8000; (1 = relative row index, 0 = absolute row index) + if (!(0x8000 & self::_GetInt2d($subData, 6))) { + $lr = '$' . $lr; + } + + return "$fc$fr:$lc$lr"; + } + + + /** + * Reads a cell range address in BIFF8 for shared formulas. Uses positive and negative values for row and column + * to indicate offsets from a base cell + * section 3.3.4 + * + * @param string $subData + * @param string $baseCell Base cell + * @return string Cell range address + */ + private function _readBIFF8CellRangeAddressB($subData, $baseCell = 'A1') + { + list($baseCol, $baseRow) = PHPExcel_Cell::coordinateFromString($baseCell); + $baseCol = PHPExcel_Cell::columnIndexFromString($baseCol) - 1; + + // TODO: if cell range is just a single cell, should this funciton + // not just return e.g. 'A1' and not 'A1:A1' ? + + // offset: 0; size: 2; first row + $frIndex = self::_GetInt2d($subData, 0); // adjust below + + // offset: 2; size: 2; relative index to first row (0... 65535) should be treated as offset (-32768... 32767) + $lrIndex = self::_GetInt2d($subData, 2); // adjust below + + // offset: 4; size: 2; first column with relative/absolute flags + + // bit: 7-0; mask 0x00FF; column index + $fcIndex = 0x00FF & self::_GetInt2d($subData, 4); + + // bit: 14; mask 0x4000; (1 = relative column index, 0 = absolute column index) + if (!(0x4000 & self::_GetInt2d($subData, 4))) { + // absolute column index + $fc = PHPExcel_Cell::stringFromColumnIndex($fcIndex); + $fc = '$' . $fc; + } else { + // column offset + $fcIndex = ($fcIndex <= 127) ? $fcIndex : $fcIndex - 256; + $fc = PHPExcel_Cell::stringFromColumnIndex($baseCol + $fcIndex); + } + + // bit: 15; mask 0x8000; (1 = relative row index, 0 = absolute row index) + if (!(0x8000 & self::_GetInt2d($subData, 4))) { + // absolute row index + $fr = $frIndex + 1; + $fr = '$' . $fr; + } else { + // row offset + $frIndex = ($frIndex <= 32767) ? $frIndex : $frIndex - 65536; + $fr = $baseRow + $frIndex; + } + + // offset: 6; size: 2; last column with relative/absolute flags + + // bit: 7-0; mask 0x00FF; column index + $lcIndex = 0x00FF & self::_GetInt2d($subData, 6); + $lcIndex = ($lcIndex <= 127) ? $lcIndex : $lcIndex - 256; + $lc = PHPExcel_Cell::stringFromColumnIndex($baseCol + $lcIndex); + + // bit: 14; mask 0x4000; (1 = relative column index, 0 = absolute column index) + if (!(0x4000 & self::_GetInt2d($subData, 6))) { + // absolute column index + $lc = PHPExcel_Cell::stringFromColumnIndex($lcIndex); + $lc = '$' . $lc; + } else { + // column offset + $lcIndex = ($lcIndex <= 127) ? $lcIndex : $lcIndex - 256; + $lc = PHPExcel_Cell::stringFromColumnIndex($baseCol + $lcIndex); + } + + // bit: 15; mask 0x8000; (1 = relative row index, 0 = absolute row index) + if (!(0x8000 & self::_GetInt2d($subData, 6))) { + // absolute row index + $lr = $lrIndex + 1; + $lr = '$' . $lr; + } else { + // row offset + $lrIndex = ($lrIndex <= 32767) ? $lrIndex : $lrIndex - 65536; + $lr = $baseRow + $lrIndex; + } + + return "$fc$fr:$lc$lr"; + } + + + /** + * Read BIFF8 cell range address list + * section 2.5.15 + * + * @param string $subData + * @return array + */ + private function _readBIFF8CellRangeAddressList($subData) + { + $cellRangeAddresses = array(); + + // offset: 0; size: 2; number of the following cell range addresses + $nm = self::_GetInt2d($subData, 0); + + $offset = 2; + // offset: 2; size: 8 * $nm; list of $nm (fixed) cell range addresses + for ($i = 0; $i < $nm; ++$i) { + $cellRangeAddresses[] = $this->_readBIFF8CellRangeAddressFixed(substr($subData, $offset, 8)); + $offset += 8; + } + + return array( + 'size' => 2 + 8 * $nm, + 'cellRangeAddresses' => $cellRangeAddresses, + ); + } + + + /** + * Read BIFF5 cell range address list + * section 2.5.15 + * + * @param string $subData + * @return array + */ + private function _readBIFF5CellRangeAddressList($subData) + { + $cellRangeAddresses = array(); + + // offset: 0; size: 2; number of the following cell range addresses + $nm = self::_GetInt2d($subData, 0); + + $offset = 2; + // offset: 2; size: 6 * $nm; list of $nm (fixed) cell range addresses + for ($i = 0; $i < $nm; ++$i) { + $cellRangeAddresses[] = $this->_readBIFF5CellRangeAddressFixed(substr($subData, $offset, 6)); + $offset += 6; + } + + return array( + 'size' => 2 + 6 * $nm, + 'cellRangeAddresses' => $cellRangeAddresses, + ); + } + + + /** + * Get a sheet range like Sheet1:Sheet3 from REF index + * Note: If there is only one sheet in the range, one gets e.g Sheet1 + * It can also happen that the REF structure uses the -1 (FFFF) code to indicate deleted sheets, + * in which case an PHPExcel_Reader_Exception is thrown + * + * @param int $index + * @return string|false + * @throws PHPExcel_Reader_Exception + */ + private function _readSheetRangeByRefIndex($index) + { + if (isset($this->_ref[$index])) { + + $type = $this->_externalBooks[$this->_ref[$index]['externalBookIndex']]['type']; + + switch ($type) { + case 'internal': + // check if we have a deleted 3d reference + if ($this->_ref[$index]['firstSheetIndex'] == 0xFFFF or $this->_ref[$index]['lastSheetIndex'] == 0xFFFF) { + throw new PHPExcel_Reader_Exception('Deleted sheet reference'); + } + + // we have normal sheet range (collapsed or uncollapsed) + $firstSheetName = $this->_sheets[$this->_ref[$index]['firstSheetIndex']]['name']; + $lastSheetName = $this->_sheets[$this->_ref[$index]['lastSheetIndex']]['name']; + + if ($firstSheetName == $lastSheetName) { + // collapsed sheet range + $sheetRange = $firstSheetName; + } else { + $sheetRange = "$firstSheetName:$lastSheetName"; + } + + // escape the single-quotes + $sheetRange = str_replace("'", "''", $sheetRange); + + // if there are special characters, we need to enclose the range in single-quotes + // todo: check if we have identified the whole set of special characters + // it seems that the following characters are not accepted for sheet names + // and we may assume that they are not present: []*/:\? + if (preg_match("/[ !\"@#£$%&{()}<>=+'|^,;-]/", $sheetRange)) { + $sheetRange = "'$sheetRange'"; + } + + return $sheetRange; + break; + + default: + // TODO: external sheet support + throw new PHPExcel_Reader_Exception('Excel5 reader only supports internal sheets in fomulas'); + break; + } + } + return false; + } + + + /** + * read BIFF8 constant value array from array data + * returns e.g. array('value' => '{1,2;3,4}', 'size' => 40} + * section 2.5.8 + * + * @param string $arrayData + * @return array + */ + private static function _readBIFF8ConstantArray($arrayData) + { + // offset: 0; size: 1; number of columns decreased by 1 + $nc = ord($arrayData[0]); + + // offset: 1; size: 2; number of rows decreased by 1 + $nr = self::_GetInt2d($arrayData, 1); + $size = 3; // initialize + $arrayData = substr($arrayData, 3); + + // offset: 3; size: var; list of ($nc + 1) * ($nr + 1) constant values + $matrixChunks = array(); + for ($r = 1; $r <= $nr + 1; ++$r) { + $items = array(); + for ($c = 1; $c <= $nc + 1; ++$c) { + $constant = self::_readBIFF8Constant($arrayData); + $items[] = $constant['value']; + $arrayData = substr($arrayData, $constant['size']); + $size += $constant['size']; + } + $matrixChunks[] = implode(',', $items); // looks like e.g. '1,"hello"' + } + $matrix = '{' . implode(';', $matrixChunks) . '}'; + + return array( + 'value' => $matrix, + 'size' => $size, + ); + } + + + /** + * read BIFF8 constant value which may be 'Empty Value', 'Number', 'String Value', 'Boolean Value', 'Error Value' + * section 2.5.7 + * returns e.g. array('value' => '5', 'size' => 9) + * + * @param string $valueData + * @return array + */ + private static function _readBIFF8Constant($valueData) + { + // offset: 0; size: 1; identifier for type of constant + $identifier = ord($valueData[0]); + + switch ($identifier) { + case 0x00: // empty constant (what is this?) + $value = ''; + $size = 9; + break; + case 0x01: // number + // offset: 1; size: 8; IEEE 754 floating-point value + $value = self::_extractNumber(substr($valueData, 1, 8)); + $size = 9; + break; + case 0x02: // string value + // offset: 1; size: var; Unicode string, 16-bit string length + $string = self::_readUnicodeStringLong(substr($valueData, 1)); + $value = '"' . $string['value'] . '"'; + $size = 1 + $string['size']; + break; + case 0x04: // boolean + // offset: 1; size: 1; 0 = FALSE, 1 = TRUE + if (ord($valueData[1])) { + $value = 'TRUE'; + } else { + $value = 'FALSE'; + } + $size = 9; + break; + case 0x10: // error code + // offset: 1; size: 1; error code + $value = self::_mapErrorCode(ord($valueData[1])); + $size = 9; + break; + } + return array( + 'value' => $value, + 'size' => $size, + ); + } + + + /** + * Extract RGB color + * OpenOffice.org's Documentation of the Microsoft Excel File Format, section 2.5.4 + * + * @param string $rgb Encoded RGB value (4 bytes) + * @return array + */ + private static function _readRGB($rgb) + { + // offset: 0; size 1; Red component + $r = ord($rgb{0}); + + // offset: 1; size: 1; Green component + $g = ord($rgb{1}); + + // offset: 2; size: 1; Blue component + $b = ord($rgb{2}); + + // HEX notation, e.g. 'FF00FC' + $rgb = sprintf('%02X%02X%02X', $r, $g, $b); + + return array('rgb' => $rgb); + } + + + /** + * Read byte string (8-bit string length) + * OpenOffice documentation: 2.5.2 + * + * @param string $subData + * @return array + */ + private function _readByteStringShort($subData) + { + // offset: 0; size: 1; length of the string (character count) + $ln = ord($subData[0]); + + // offset: 1: size: var; character array (8-bit characters) + $value = $this->_decodeCodepage(substr($subData, 1, $ln)); + + return array( + 'value' => $value, + 'size' => 1 + $ln, // size in bytes of data structure + ); + } + + + /** + * Read byte string (16-bit string length) + * OpenOffice documentation: 2.5.2 + * + * @param string $subData + * @return array + */ + private function _readByteStringLong($subData) + { + // offset: 0; size: 2; length of the string (character count) + $ln = self::_GetInt2d($subData, 0); + + // offset: 2: size: var; character array (8-bit characters) + $value = $this->_decodeCodepage(substr($subData, 2)); + + //return $string; + return array( + 'value' => $value, + 'size' => 2 + $ln, // size in bytes of data structure + ); + } + + + /** + * Extracts an Excel Unicode short string (8-bit string length) + * OpenOffice documentation: 2.5.3 + * function will automatically find out where the Unicode string ends. + * + * @param string $subData + * @return array + */ + private static function _readUnicodeStringShort($subData) + { + $value = ''; + + // offset: 0: size: 1; length of the string (character count) + $characterCount = ord($subData[0]); + + $string = self::_readUnicodeString(substr($subData, 1), $characterCount); + + // add 1 for the string length + $string['size'] += 1; + + return $string; + } + + + /** + * Extracts an Excel Unicode long string (16-bit string length) + * OpenOffice documentation: 2.5.3 + * this function is under construction, needs to support rich text, and Asian phonetic settings + * + * @param string $subData + * @return array + */ + private static function _readUnicodeStringLong($subData) + { + $value = ''; + + // offset: 0: size: 2; length of the string (character count) + $characterCount = self::_GetInt2d($subData, 0); + + $string = self::_readUnicodeString(substr($subData, 2), $characterCount); + + // add 2 for the string length + $string['size'] += 2; + + return $string; + } + + + /** + * Read Unicode string with no string length field, but with known character count + * this function is under construction, needs to support rich text, and Asian phonetic settings + * OpenOffice.org's Documentation of the Microsoft Excel File Format, section 2.5.3 + * + * @param string $subData + * @param int $characterCount + * @return array + */ + private static function _readUnicodeString($subData, $characterCount) + { + $value = ''; + + // offset: 0: size: 1; option flags + + // bit: 0; mask: 0x01; character compression (0 = compressed 8-bit, 1 = uncompressed 16-bit) + $isCompressed = !((0x01 & ord($subData[0])) >> 0); + + // bit: 2; mask: 0x04; Asian phonetic settings + $hasAsian = (0x04) & ord($subData[0]) >> 2; + + // bit: 3; mask: 0x08; Rich-Text settings + $hasRichText = (0x08) & ord($subData[0]) >> 3; + + // offset: 1: size: var; character array + // this offset assumes richtext and Asian phonetic settings are off which is generally wrong + // needs to be fixed + $value = self::_encodeUTF16(substr($subData, 1, $isCompressed ? $characterCount : 2 * $characterCount), $isCompressed); + + return array( + 'value' => $value, + 'size' => $isCompressed ? 1 + $characterCount : 1 + 2 * $characterCount, // the size in bytes including the option flags + ); + } + + + /** + * Convert UTF-8 string to string surounded by double quotes. Used for explicit string tokens in formulas. + * Example: hello"world --> "hello""world" + * + * @param string $value UTF-8 encoded string + * @return string + */ + private static function _UTF8toExcelDoubleQuoted($value) + { + return '"' . str_replace('"', '""', $value) . '"'; + } + + + /** + * Reads first 8 bytes of a string and return IEEE 754 float + * + * @param string $data Binary string that is at least 8 bytes long + * @return float + */ + private static function _extractNumber($data) + { + $rknumhigh = self::_GetInt4d($data, 4); + $rknumlow = self::_GetInt4d($data, 0); + $sign = ($rknumhigh & 0x80000000) >> 31; + $exp = (($rknumhigh & 0x7ff00000) >> 20) - 1023; + $mantissa = (0x100000 | ($rknumhigh & 0x000fffff)); + $mantissalow1 = ($rknumlow & 0x80000000) >> 31; + $mantissalow2 = ($rknumlow & 0x7fffffff); + $value = $mantissa / pow( 2 , (20 - $exp)); + + if ($mantissalow1 != 0) { + $value += 1 / pow (2 , (21 - $exp)); + } + + $value += $mantissalow2 / pow (2 , (52 - $exp)); + if ($sign) { + $value *= -1; + } + + return $value; + } + + + private static function _GetIEEE754($rknum) + { + if (($rknum & 0x02) != 0) { + $value = $rknum >> 2; + } else { + // changes by mmp, info on IEEE754 encoding from + // research.microsoft.com/~hollasch/cgindex/coding/ieeefloat.html + // The RK format calls for using only the most significant 30 bits + // of the 64 bit floating point value. The other 34 bits are assumed + // to be 0 so we use the upper 30 bits of $rknum as follows... + $sign = ($rknum & 0x80000000) >> 31; + $exp = ($rknum & 0x7ff00000) >> 20; + $mantissa = (0x100000 | ($rknum & 0x000ffffc)); + $value = $mantissa / pow( 2 , (20- ($exp - 1023))); + if ($sign) { + $value = -1 * $value; + } + //end of changes by mmp + } + if (($rknum & 0x01) != 0) { + $value /= 100; + } + return $value; + } + + + /** + * Get UTF-8 string from (compressed or uncompressed) UTF-16 string + * + * @param string $string + * @param bool $compressed + * @return string + */ + private static function _encodeUTF16($string, $compressed = '') + { + if ($compressed) { + $string = self::_uncompressByteString($string); + } + + return PHPExcel_Shared_String::ConvertEncoding($string, 'UTF-8', 'UTF-16LE'); + } + + + /** + * Convert UTF-16 string in compressed notation to uncompressed form. Only used for BIFF8. + * + * @param string $string + * @return string + */ + private static function _uncompressByteString($string) + { + $uncompressedString = ''; + $strLen = strlen($string); + for ($i = 0; $i < $strLen; ++$i) { + $uncompressedString .= $string[$i] . "\0"; + } + + return $uncompressedString; + } + + + /** + * Convert string to UTF-8. Only used for BIFF5. + * + * @param string $string + * @return string + */ + private function _decodeCodepage($string) + { + return PHPExcel_Shared_String::ConvertEncoding($string, 'UTF-8', $this->_codepage); + } + + + /** + * Read 16-bit unsigned integer + * + * @param string $data + * @param int $pos + * @return int + */ + public static function _GetInt2d($data, $pos) + { + return ord($data[$pos]) | (ord($data[$pos+1]) << 8); + } + + + /** + * Read 32-bit signed integer + * + * @param string $data + * @param int $pos + * @return int + */ + public static function _GetInt4d($data, $pos) + { + // FIX: represent numbers correctly on 64-bit system + // http://sourceforge.net/tracker/index.php?func=detail&aid=1487372&group_id=99160&atid=623334 + // Hacked by Andreas Rehm 2006 to ensure correct result of the <<24 block on 32 and 64bit systems + $_or_24 = ord($data[$pos + 3]); + if ($_or_24 >= 128) { + // negative number + $_ord_24 = -abs((256 - $_or_24) << 24); + } else { + $_ord_24 = ($_or_24 & 127) << 24; + } + return ord($data[$pos]) | (ord($data[$pos+1]) << 8) | (ord($data[$pos+2]) << 16) | $_ord_24; + } + + + /** + * Read color + * + * @param int $color Indexed color + * @param array $palette Color palette + * @return array RGB color value, example: array('rgb' => 'FF0000') + */ + private static function _readColor($color,$palette,$version) + { + if ($color <= 0x07 || $color >= 0x40) { + // special built-in color + return self::_mapBuiltInColor($color); + } elseif (isset($palette) && isset($palette[$color - 8])) { + // palette color, color index 0x08 maps to pallete index 0 + return $palette[$color - 8]; + } else { + // default color table + if ($version == self::XLS_BIFF8) { + return self::_mapColor($color); + } else { + // BIFF5 + return self::_mapColorBIFF5($color); + } + } + + return $color; + } + + + /** + * Map border style + * OpenOffice documentation: 2.5.11 + * + * @param int $index + * @return string + */ + private static function _mapBorderStyle($index) + { + switch ($index) { + case 0x00: return PHPExcel_Style_Border::BORDER_NONE; + case 0x01: return PHPExcel_Style_Border::BORDER_THIN; + case 0x02: return PHPExcel_Style_Border::BORDER_MEDIUM; + case 0x03: return PHPExcel_Style_Border::BORDER_DASHED; + case 0x04: return PHPExcel_Style_Border::BORDER_DOTTED; + case 0x05: return PHPExcel_Style_Border::BORDER_THICK; + case 0x06: return PHPExcel_Style_Border::BORDER_DOUBLE; + case 0x07: return PHPExcel_Style_Border::BORDER_HAIR; + case 0x08: return PHPExcel_Style_Border::BORDER_MEDIUMDASHED; + case 0x09: return PHPExcel_Style_Border::BORDER_DASHDOT; + case 0x0A: return PHPExcel_Style_Border::BORDER_MEDIUMDASHDOT; + case 0x0B: return PHPExcel_Style_Border::BORDER_DASHDOTDOT; + case 0x0C: return PHPExcel_Style_Border::BORDER_MEDIUMDASHDOTDOT; + case 0x0D: return PHPExcel_Style_Border::BORDER_SLANTDASHDOT; + default: return PHPExcel_Style_Border::BORDER_NONE; + } + } + + + /** + * Get fill pattern from index + * OpenOffice documentation: 2.5.12 + * + * @param int $index + * @return string + */ + private static function _mapFillPattern($index) + { + switch ($index) { + case 0x00: return PHPExcel_Style_Fill::FILL_NONE; + case 0x01: return PHPExcel_Style_Fill::FILL_SOLID; + case 0x02: return PHPExcel_Style_Fill::FILL_PATTERN_MEDIUMGRAY; + case 0x03: return PHPExcel_Style_Fill::FILL_PATTERN_DARKGRAY; + case 0x04: return PHPExcel_Style_Fill::FILL_PATTERN_LIGHTGRAY; + case 0x05: return PHPExcel_Style_Fill::FILL_PATTERN_DARKHORIZONTAL; + case 0x06: return PHPExcel_Style_Fill::FILL_PATTERN_DARKVERTICAL; + case 0x07: return PHPExcel_Style_Fill::FILL_PATTERN_DARKDOWN; + case 0x08: return PHPExcel_Style_Fill::FILL_PATTERN_DARKUP; + case 0x09: return PHPExcel_Style_Fill::FILL_PATTERN_DARKGRID; + case 0x0A: return PHPExcel_Style_Fill::FILL_PATTERN_DARKTRELLIS; + case 0x0B: return PHPExcel_Style_Fill::FILL_PATTERN_LIGHTHORIZONTAL; + case 0x0C: return PHPExcel_Style_Fill::FILL_PATTERN_LIGHTVERTICAL; + case 0x0D: return PHPExcel_Style_Fill::FILL_PATTERN_LIGHTDOWN; + case 0x0E: return PHPExcel_Style_Fill::FILL_PATTERN_LIGHTUP; + case 0x0F: return PHPExcel_Style_Fill::FILL_PATTERN_LIGHTGRID; + case 0x10: return PHPExcel_Style_Fill::FILL_PATTERN_LIGHTTRELLIS; + case 0x11: return PHPExcel_Style_Fill::FILL_PATTERN_GRAY125; + case 0x12: return PHPExcel_Style_Fill::FILL_PATTERN_GRAY0625; + default: return PHPExcel_Style_Fill::FILL_NONE; + } + } + + + /** + * Map error code, e.g. '#N/A' + * + * @param int $subData + * @return string + */ + private static function _mapErrorCode($subData) + { + switch ($subData) { + case 0x00: return '#NULL!'; break; + case 0x07: return '#DIV/0!'; break; + case 0x0F: return '#VALUE!'; break; + case 0x17: return '#REF!'; break; + case 0x1D: return '#NAME?'; break; + case 0x24: return '#NUM!'; break; + case 0x2A: return '#N/A'; break; + default: return false; + } + } + + + /** + * Map built-in color to RGB value + * + * @param int $color Indexed color + * @return array + */ + private static function _mapBuiltInColor($color) + { + switch ($color) { + case 0x00: return array('rgb' => '000000'); + case 0x01: return array('rgb' => 'FFFFFF'); + case 0x02: return array('rgb' => 'FF0000'); + case 0x03: return array('rgb' => '00FF00'); + case 0x04: return array('rgb' => '0000FF'); + case 0x05: return array('rgb' => 'FFFF00'); + case 0x06: return array('rgb' => 'FF00FF'); + case 0x07: return array('rgb' => '00FFFF'); + case 0x40: return array('rgb' => '000000'); // system window text color + case 0x41: return array('rgb' => 'FFFFFF'); // system window background color + default: return array('rgb' => '000000'); + } + } + + + /** + * Map color array from BIFF5 built-in color index + * + * @param int $subData + * @return array + */ + private static function _mapColorBIFF5($subData) + { + switch ($subData) { + case 0x08: return array('rgb' => '000000'); + case 0x09: return array('rgb' => 'FFFFFF'); + case 0x0A: return array('rgb' => 'FF0000'); + case 0x0B: return array('rgb' => '00FF00'); + case 0x0C: return array('rgb' => '0000FF'); + case 0x0D: return array('rgb' => 'FFFF00'); + case 0x0E: return array('rgb' => 'FF00FF'); + case 0x0F: return array('rgb' => '00FFFF'); + case 0x10: return array('rgb' => '800000'); + case 0x11: return array('rgb' => '008000'); + case 0x12: return array('rgb' => '000080'); + case 0x13: return array('rgb' => '808000'); + case 0x14: return array('rgb' => '800080'); + case 0x15: return array('rgb' => '008080'); + case 0x16: return array('rgb' => 'C0C0C0'); + case 0x17: return array('rgb' => '808080'); + case 0x18: return array('rgb' => '8080FF'); + case 0x19: return array('rgb' => '802060'); + case 0x1A: return array('rgb' => 'FFFFC0'); + case 0x1B: return array('rgb' => 'A0E0F0'); + case 0x1C: return array('rgb' => '600080'); + case 0x1D: return array('rgb' => 'FF8080'); + case 0x1E: return array('rgb' => '0080C0'); + case 0x1F: return array('rgb' => 'C0C0FF'); + case 0x20: return array('rgb' => '000080'); + case 0x21: return array('rgb' => 'FF00FF'); + case 0x22: return array('rgb' => 'FFFF00'); + case 0x23: return array('rgb' => '00FFFF'); + case 0x24: return array('rgb' => '800080'); + case 0x25: return array('rgb' => '800000'); + case 0x26: return array('rgb' => '008080'); + case 0x27: return array('rgb' => '0000FF'); + case 0x28: return array('rgb' => '00CFFF'); + case 0x29: return array('rgb' => '69FFFF'); + case 0x2A: return array('rgb' => 'E0FFE0'); + case 0x2B: return array('rgb' => 'FFFF80'); + case 0x2C: return array('rgb' => 'A6CAF0'); + case 0x2D: return array('rgb' => 'DD9CB3'); + case 0x2E: return array('rgb' => 'B38FEE'); + case 0x2F: return array('rgb' => 'E3E3E3'); + case 0x30: return array('rgb' => '2A6FF9'); + case 0x31: return array('rgb' => '3FB8CD'); + case 0x32: return array('rgb' => '488436'); + case 0x33: return array('rgb' => '958C41'); + case 0x34: return array('rgb' => '8E5E42'); + case 0x35: return array('rgb' => 'A0627A'); + case 0x36: return array('rgb' => '624FAC'); + case 0x37: return array('rgb' => '969696'); + case 0x38: return array('rgb' => '1D2FBE'); + case 0x39: return array('rgb' => '286676'); + case 0x3A: return array('rgb' => '004500'); + case 0x3B: return array('rgb' => '453E01'); + case 0x3C: return array('rgb' => '6A2813'); + case 0x3D: return array('rgb' => '85396A'); + case 0x3E: return array('rgb' => '4A3285'); + case 0x3F: return array('rgb' => '424242'); + default: return array('rgb' => '000000'); + } + } + + + /** + * Map color array from BIFF8 built-in color index + * + * @param int $subData + * @return array + */ + private static function _mapColor($subData) + { + switch ($subData) { + case 0x08: return array('rgb' => '000000'); + case 0x09: return array('rgb' => 'FFFFFF'); + case 0x0A: return array('rgb' => 'FF0000'); + case 0x0B: return array('rgb' => '00FF00'); + case 0x0C: return array('rgb' => '0000FF'); + case 0x0D: return array('rgb' => 'FFFF00'); + case 0x0E: return array('rgb' => 'FF00FF'); + case 0x0F: return array('rgb' => '00FFFF'); + case 0x10: return array('rgb' => '800000'); + case 0x11: return array('rgb' => '008000'); + case 0x12: return array('rgb' => '000080'); + case 0x13: return array('rgb' => '808000'); + case 0x14: return array('rgb' => '800080'); + case 0x15: return array('rgb' => '008080'); + case 0x16: return array('rgb' => 'C0C0C0'); + case 0x17: return array('rgb' => '808080'); + case 0x18: return array('rgb' => '9999FF'); + case 0x19: return array('rgb' => '993366'); + case 0x1A: return array('rgb' => 'FFFFCC'); + case 0x1B: return array('rgb' => 'CCFFFF'); + case 0x1C: return array('rgb' => '660066'); + case 0x1D: return array('rgb' => 'FF8080'); + case 0x1E: return array('rgb' => '0066CC'); + case 0x1F: return array('rgb' => 'CCCCFF'); + case 0x20: return array('rgb' => '000080'); + case 0x21: return array('rgb' => 'FF00FF'); + case 0x22: return array('rgb' => 'FFFF00'); + case 0x23: return array('rgb' => '00FFFF'); + case 0x24: return array('rgb' => '800080'); + case 0x25: return array('rgb' => '800000'); + case 0x26: return array('rgb' => '008080'); + case 0x27: return array('rgb' => '0000FF'); + case 0x28: return array('rgb' => '00CCFF'); + case 0x29: return array('rgb' => 'CCFFFF'); + case 0x2A: return array('rgb' => 'CCFFCC'); + case 0x2B: return array('rgb' => 'FFFF99'); + case 0x2C: return array('rgb' => '99CCFF'); + case 0x2D: return array('rgb' => 'FF99CC'); + case 0x2E: return array('rgb' => 'CC99FF'); + case 0x2F: return array('rgb' => 'FFCC99'); + case 0x30: return array('rgb' => '3366FF'); + case 0x31: return array('rgb' => '33CCCC'); + case 0x32: return array('rgb' => '99CC00'); + case 0x33: return array('rgb' => 'FFCC00'); + case 0x34: return array('rgb' => 'FF9900'); + case 0x35: return array('rgb' => 'FF6600'); + case 0x36: return array('rgb' => '666699'); + case 0x37: return array('rgb' => '969696'); + case 0x38: return array('rgb' => '003366'); + case 0x39: return array('rgb' => '339966'); + case 0x3A: return array('rgb' => '003300'); + case 0x3B: return array('rgb' => '333300'); + case 0x3C: return array('rgb' => '993300'); + case 0x3D: return array('rgb' => '993366'); + case 0x3E: return array('rgb' => '333399'); + case 0x3F: return array('rgb' => '333333'); + default: return array('rgb' => '000000'); + } + } + + + private function _parseRichText($is = '') { + $value = new PHPExcel_RichText(); + + $value->createText($is); + + return $value; + } + +} diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Reader/Excel5/Escher.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Reader/Excel5/Escher.php new file mode 100644 index 00000000..8dc5e902 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Reader/Excel5/Escher.php @@ -0,0 +1,640 @@ +<?php +/** + * PHPExcel + * + * Copyright (c) 2006 - 2014 PHPExcel + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * @category PHPExcel + * @package PHPExcel_Reader_Excel5 + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @version ##VERSION##, ##DATE## + */ + +/** + * PHPExcel_Reader_Excel5_Escher + * + * @category PHPExcel + * @package PHPExcel_Reader_Excel5 + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + */ +class PHPExcel_Reader_Excel5_Escher +{ + const DGGCONTAINER = 0xF000; + const BSTORECONTAINER = 0xF001; + const DGCONTAINER = 0xF002; + const SPGRCONTAINER = 0xF003; + const SPCONTAINER = 0xF004; + const DGG = 0xF006; + const BSE = 0xF007; + const DG = 0xF008; + const SPGR = 0xF009; + const SP = 0xF00A; + const OPT = 0xF00B; + const CLIENTTEXTBOX = 0xF00D; + const CLIENTANCHOR = 0xF010; + const CLIENTDATA = 0xF011; + const BLIPJPEG = 0xF01D; + const BLIPPNG = 0xF01E; + const SPLITMENUCOLORS = 0xF11E; + const TERTIARYOPT = 0xF122; + + /** + * Escher stream data (binary) + * + * @var string + */ + private $_data; + + /** + * Size in bytes of the Escher stream data + * + * @var int + */ + private $_dataSize; + + /** + * Current position of stream pointer in Escher stream data + * + * @var int + */ + private $_pos; + + /** + * The object to be returned by the reader. Modified during load. + * + * @var mixed + */ + private $_object; + + /** + * Create a new PHPExcel_Reader_Excel5_Escher instance + * + * @param mixed $object + */ + public function __construct($object) + { + $this->_object = $object; + } + + /** + * Load Escher stream data. May be a partial Escher stream. + * + * @param string $data + */ + public function load($data) + { + $this->_data = $data; + + // total byte size of Excel data (workbook global substream + sheet substreams) + $this->_dataSize = strlen($this->_data); + + $this->_pos = 0; + + // Parse Escher stream + while ($this->_pos < $this->_dataSize) { + + // offset: 2; size: 2: Record Type + $fbt = PHPExcel_Reader_Excel5::_GetInt2d($this->_data, $this->_pos + 2); + + switch ($fbt) { + case self::DGGCONTAINER: $this->_readDggContainer(); break; + case self::DGG: $this->_readDgg(); break; + case self::BSTORECONTAINER: $this->_readBstoreContainer(); break; + case self::BSE: $this->_readBSE(); break; + case self::BLIPJPEG: $this->_readBlipJPEG(); break; + case self::BLIPPNG: $this->_readBlipPNG(); break; + case self::OPT: $this->_readOPT(); break; + case self::TERTIARYOPT: $this->_readTertiaryOPT(); break; + case self::SPLITMENUCOLORS: $this->_readSplitMenuColors(); break; + case self::DGCONTAINER: $this->_readDgContainer(); break; + case self::DG: $this->_readDg(); break; + case self::SPGRCONTAINER: $this->_readSpgrContainer(); break; + case self::SPCONTAINER: $this->_readSpContainer(); break; + case self::SPGR: $this->_readSpgr(); break; + case self::SP: $this->_readSp(); break; + case self::CLIENTTEXTBOX: $this->_readClientTextbox(); break; + case self::CLIENTANCHOR: $this->_readClientAnchor(); break; + case self::CLIENTDATA: $this->_readClientData(); break; + default: $this->_readDefault(); break; + } + } + + return $this->_object; + } + + /** + * Read a generic record + */ + private function _readDefault() + { + // offset 0; size: 2; recVer and recInstance + $verInstance = PHPExcel_Reader_Excel5::_GetInt2d($this->_data, $this->_pos); + + // offset: 2; size: 2: Record Type + $fbt = PHPExcel_Reader_Excel5::_GetInt2d($this->_data, $this->_pos + 2); + + // bit: 0-3; mask: 0x000F; recVer + $recVer = (0x000F & $verInstance) >> 0; + + $length = PHPExcel_Reader_Excel5::_GetInt4d($this->_data, $this->_pos + 4); + $recordData = substr($this->_data, $this->_pos + 8, $length); + + // move stream pointer to next record + $this->_pos += 8 + $length; + } + + /** + * Read DggContainer record (Drawing Group Container) + */ + private function _readDggContainer() + { + $length = PHPExcel_Reader_Excel5::_GetInt4d($this->_data, $this->_pos + 4); + $recordData = substr($this->_data, $this->_pos + 8, $length); + + // move stream pointer to next record + $this->_pos += 8 + $length; + + // record is a container, read contents + $dggContainer = new PHPExcel_Shared_Escher_DggContainer(); + $this->_object->setDggContainer($dggContainer); + $reader = new PHPExcel_Reader_Excel5_Escher($dggContainer); + $reader->load($recordData); + } + + /** + * Read Dgg record (Drawing Group) + */ + private function _readDgg() + { + $length = PHPExcel_Reader_Excel5::_GetInt4d($this->_data, $this->_pos + 4); + $recordData = substr($this->_data, $this->_pos + 8, $length); + + // move stream pointer to next record + $this->_pos += 8 + $length; + } + + /** + * Read BstoreContainer record (Blip Store Container) + */ + private function _readBstoreContainer() + { + $length = PHPExcel_Reader_Excel5::_GetInt4d($this->_data, $this->_pos + 4); + $recordData = substr($this->_data, $this->_pos + 8, $length); + + // move stream pointer to next record + $this->_pos += 8 + $length; + + // record is a container, read contents + $bstoreContainer = new PHPExcel_Shared_Escher_DggContainer_BstoreContainer(); + $this->_object->setBstoreContainer($bstoreContainer); + $reader = new PHPExcel_Reader_Excel5_Escher($bstoreContainer); + $reader->load($recordData); + } + + /** + * Read BSE record + */ + private function _readBSE() + { + // offset: 0; size: 2; recVer and recInstance + + // bit: 4-15; mask: 0xFFF0; recInstance + $recInstance = (0xFFF0 & PHPExcel_Reader_Excel5::_GetInt2d($this->_data, $this->_pos)) >> 4; + + $length = PHPExcel_Reader_Excel5::_GetInt4d($this->_data, $this->_pos + 4); + $recordData = substr($this->_data, $this->_pos + 8, $length); + + // move stream pointer to next record + $this->_pos += 8 + $length; + + // add BSE to BstoreContainer + $BSE = new PHPExcel_Shared_Escher_DggContainer_BstoreContainer_BSE(); + $this->_object->addBSE($BSE); + + $BSE->setBLIPType($recInstance); + + // offset: 0; size: 1; btWin32 (MSOBLIPTYPE) + $btWin32 = ord($recordData[0]); + + // offset: 1; size: 1; btWin32 (MSOBLIPTYPE) + $btMacOS = ord($recordData[1]); + + // offset: 2; size: 16; MD4 digest + $rgbUid = substr($recordData, 2, 16); + + // offset: 18; size: 2; tag + $tag = PHPExcel_Reader_Excel5::_GetInt2d($recordData, 18); + + // offset: 20; size: 4; size of BLIP in bytes + $size = PHPExcel_Reader_Excel5::_GetInt4d($recordData, 20); + + // offset: 24; size: 4; number of references to this BLIP + $cRef = PHPExcel_Reader_Excel5::_GetInt4d($recordData, 24); + + // offset: 28; size: 4; MSOFO file offset + $foDelay = PHPExcel_Reader_Excel5::_GetInt4d($recordData, 28); + + // offset: 32; size: 1; unused1 + $unused1 = ord($recordData{32}); + + // offset: 33; size: 1; size of nameData in bytes (including null terminator) + $cbName = ord($recordData{33}); + + // offset: 34; size: 1; unused2 + $unused2 = ord($recordData{34}); + + // offset: 35; size: 1; unused3 + $unused3 = ord($recordData{35}); + + // offset: 36; size: $cbName; nameData + $nameData = substr($recordData, 36, $cbName); + + // offset: 36 + $cbName, size: var; the BLIP data + $blipData = substr($recordData, 36 + $cbName); + + // record is a container, read contents + $reader = new PHPExcel_Reader_Excel5_Escher($BSE); + $reader->load($blipData); + } + + /** + * Read BlipJPEG record. Holds raw JPEG image data + */ + private function _readBlipJPEG() + { + // offset: 0; size: 2; recVer and recInstance + + // bit: 4-15; mask: 0xFFF0; recInstance + $recInstance = (0xFFF0 & PHPExcel_Reader_Excel5::_GetInt2d($this->_data, $this->_pos)) >> 4; + + $length = PHPExcel_Reader_Excel5::_GetInt4d($this->_data, $this->_pos + 4); + $recordData = substr($this->_data, $this->_pos + 8, $length); + + // move stream pointer to next record + $this->_pos += 8 + $length; + + $pos = 0; + + // offset: 0; size: 16; rgbUid1 (MD4 digest of) + $rgbUid1 = substr($recordData, 0, 16); + $pos += 16; + + // offset: 16; size: 16; rgbUid2 (MD4 digest), only if $recInstance = 0x46B or 0x6E3 + if (in_array($recInstance, array(0x046B, 0x06E3))) { + $rgbUid2 = substr($recordData, 16, 16); + $pos += 16; + } + + // offset: var; size: 1; tag + $tag = ord($recordData{$pos}); + $pos += 1; + + // offset: var; size: var; the raw image data + $data = substr($recordData, $pos); + + $blip = new PHPExcel_Shared_Escher_DggContainer_BstoreContainer_BSE_Blip(); + $blip->setData($data); + + $this->_object->setBlip($blip); + } + + /** + * Read BlipPNG record. Holds raw PNG image data + */ + private function _readBlipPNG() + { + // offset: 0; size: 2; recVer and recInstance + + // bit: 4-15; mask: 0xFFF0; recInstance + $recInstance = (0xFFF0 & PHPExcel_Reader_Excel5::_GetInt2d($this->_data, $this->_pos)) >> 4; + + $length = PHPExcel_Reader_Excel5::_GetInt4d($this->_data, $this->_pos + 4); + $recordData = substr($this->_data, $this->_pos + 8, $length); + + // move stream pointer to next record + $this->_pos += 8 + $length; + + $pos = 0; + + // offset: 0; size: 16; rgbUid1 (MD4 digest of) + $rgbUid1 = substr($recordData, 0, 16); + $pos += 16; + + // offset: 16; size: 16; rgbUid2 (MD4 digest), only if $recInstance = 0x46B or 0x6E3 + if ($recInstance == 0x06E1) { + $rgbUid2 = substr($recordData, 16, 16); + $pos += 16; + } + + // offset: var; size: 1; tag + $tag = ord($recordData{$pos}); + $pos += 1; + + // offset: var; size: var; the raw image data + $data = substr($recordData, $pos); + + $blip = new PHPExcel_Shared_Escher_DggContainer_BstoreContainer_BSE_Blip(); + $blip->setData($data); + + $this->_object->setBlip($blip); + } + + /** + * Read OPT record. This record may occur within DggContainer record or SpContainer + */ + private function _readOPT() + { + // offset: 0; size: 2; recVer and recInstance + + // bit: 4-15; mask: 0xFFF0; recInstance + $recInstance = (0xFFF0 & PHPExcel_Reader_Excel5::_GetInt2d($this->_data, $this->_pos)) >> 4; + + $length = PHPExcel_Reader_Excel5::_GetInt4d($this->_data, $this->_pos + 4); + $recordData = substr($this->_data, $this->_pos + 8, $length); + + // move stream pointer to next record + $this->_pos += 8 + $length; + + $this->_readOfficeArtRGFOPTE($recordData, $recInstance); + } + + /** + * Read TertiaryOPT record + */ + private function _readTertiaryOPT() + { + // offset: 0; size: 2; recVer and recInstance + + // bit: 4-15; mask: 0xFFF0; recInstance + $recInstance = (0xFFF0 & PHPExcel_Reader_Excel5::_GetInt2d($this->_data, $this->_pos)) >> 4; + + $length = PHPExcel_Reader_Excel5::_GetInt4d($this->_data, $this->_pos + 4); + $recordData = substr($this->_data, $this->_pos + 8, $length); + + // move stream pointer to next record + $this->_pos += 8 + $length; + } + + /** + * Read SplitMenuColors record + */ + private function _readSplitMenuColors() + { + $length = PHPExcel_Reader_Excel5::_GetInt4d($this->_data, $this->_pos + 4); + $recordData = substr($this->_data, $this->_pos + 8, $length); + + // move stream pointer to next record + $this->_pos += 8 + $length; + } + + /** + * Read DgContainer record (Drawing Container) + */ + private function _readDgContainer() + { + $length = PHPExcel_Reader_Excel5::_GetInt4d($this->_data, $this->_pos + 4); + $recordData = substr($this->_data, $this->_pos + 8, $length); + + // move stream pointer to next record + $this->_pos += 8 + $length; + + // record is a container, read contents + $dgContainer = new PHPExcel_Shared_Escher_DgContainer(); + $this->_object->setDgContainer($dgContainer); + $reader = new PHPExcel_Reader_Excel5_Escher($dgContainer); + $escher = $reader->load($recordData); + } + + /** + * Read Dg record (Drawing) + */ + private function _readDg() + { + $length = PHPExcel_Reader_Excel5::_GetInt4d($this->_data, $this->_pos + 4); + $recordData = substr($this->_data, $this->_pos + 8, $length); + + // move stream pointer to next record + $this->_pos += 8 + $length; + } + + /** + * Read SpgrContainer record (Shape Group Container) + */ + private function _readSpgrContainer() + { + // context is either context DgContainer or SpgrContainer + + $length = PHPExcel_Reader_Excel5::_GetInt4d($this->_data, $this->_pos + 4); + $recordData = substr($this->_data, $this->_pos + 8, $length); + + // move stream pointer to next record + $this->_pos += 8 + $length; + + // record is a container, read contents + $spgrContainer = new PHPExcel_Shared_Escher_DgContainer_SpgrContainer(); + + if ($this->_object instanceof PHPExcel_Shared_Escher_DgContainer) { + // DgContainer + $this->_object->setSpgrContainer($spgrContainer); + } else { + // SpgrContainer + $this->_object->addChild($spgrContainer); + } + + $reader = new PHPExcel_Reader_Excel5_Escher($spgrContainer); + $escher = $reader->load($recordData); + } + + /** + * Read SpContainer record (Shape Container) + */ + private function _readSpContainer() + { + $length = PHPExcel_Reader_Excel5::_GetInt4d($this->_data, $this->_pos + 4); + $recordData = substr($this->_data, $this->_pos + 8, $length); + + // add spContainer to spgrContainer + $spContainer = new PHPExcel_Shared_Escher_DgContainer_SpgrContainer_SpContainer(); + $this->_object->addChild($spContainer); + + // move stream pointer to next record + $this->_pos += 8 + $length; + + // record is a container, read contents + $reader = new PHPExcel_Reader_Excel5_Escher($spContainer); + $escher = $reader->load($recordData); + } + + /** + * Read Spgr record (Shape Group) + */ + private function _readSpgr() + { + $length = PHPExcel_Reader_Excel5::_GetInt4d($this->_data, $this->_pos + 4); + $recordData = substr($this->_data, $this->_pos + 8, $length); + + // move stream pointer to next record + $this->_pos += 8 + $length; + } + + /** + * Read Sp record (Shape) + */ + private function _readSp() + { + // offset: 0; size: 2; recVer and recInstance + + // bit: 4-15; mask: 0xFFF0; recInstance + $recInstance = (0xFFF0 & PHPExcel_Reader_Excel5::_GetInt2d($this->_data, $this->_pos)) >> 4; + + $length = PHPExcel_Reader_Excel5::_GetInt4d($this->_data, $this->_pos + 4); + $recordData = substr($this->_data, $this->_pos + 8, $length); + + // move stream pointer to next record + $this->_pos += 8 + $length; + } + + /** + * Read ClientTextbox record + */ + private function _readClientTextbox() + { + // offset: 0; size: 2; recVer and recInstance + + // bit: 4-15; mask: 0xFFF0; recInstance + $recInstance = (0xFFF0 & PHPExcel_Reader_Excel5::_GetInt2d($this->_data, $this->_pos)) >> 4; + + $length = PHPExcel_Reader_Excel5::_GetInt4d($this->_data, $this->_pos + 4); + $recordData = substr($this->_data, $this->_pos + 8, $length); + + // move stream pointer to next record + $this->_pos += 8 + $length; + } + + /** + * Read ClientAnchor record. This record holds information about where the shape is anchored in worksheet + */ + private function _readClientAnchor() + { + $length = PHPExcel_Reader_Excel5::_GetInt4d($this->_data, $this->_pos + 4); + $recordData = substr($this->_data, $this->_pos + 8, $length); + + // move stream pointer to next record + $this->_pos += 8 + $length; + + // offset: 2; size: 2; upper-left corner column index (0-based) + $c1 = PHPExcel_Reader_Excel5::_GetInt2d($recordData, 2); + + // offset: 4; size: 2; upper-left corner horizontal offset in 1/1024 of column width + $startOffsetX = PHPExcel_Reader_Excel5::_GetInt2d($recordData, 4); + + // offset: 6; size: 2; upper-left corner row index (0-based) + $r1 = PHPExcel_Reader_Excel5::_GetInt2d($recordData, 6); + + // offset: 8; size: 2; upper-left corner vertical offset in 1/256 of row height + $startOffsetY = PHPExcel_Reader_Excel5::_GetInt2d($recordData, 8); + + // offset: 10; size: 2; bottom-right corner column index (0-based) + $c2 = PHPExcel_Reader_Excel5::_GetInt2d($recordData, 10); + + // offset: 12; size: 2; bottom-right corner horizontal offset in 1/1024 of column width + $endOffsetX = PHPExcel_Reader_Excel5::_GetInt2d($recordData, 12); + + // offset: 14; size: 2; bottom-right corner row index (0-based) + $r2 = PHPExcel_Reader_Excel5::_GetInt2d($recordData, 14); + + // offset: 16; size: 2; bottom-right corner vertical offset in 1/256 of row height + $endOffsetY = PHPExcel_Reader_Excel5::_GetInt2d($recordData, 16); + + // set the start coordinates + $this->_object->setStartCoordinates(PHPExcel_Cell::stringFromColumnIndex($c1) . ($r1 + 1)); + + // set the start offsetX + $this->_object->setStartOffsetX($startOffsetX); + + // set the start offsetY + $this->_object->setStartOffsetY($startOffsetY); + + // set the end coordinates + $this->_object->setEndCoordinates(PHPExcel_Cell::stringFromColumnIndex($c2) . ($r2 + 1)); + + // set the end offsetX + $this->_object->setEndOffsetX($endOffsetX); + + // set the end offsetY + $this->_object->setEndOffsetY($endOffsetY); + } + + /** + * Read ClientData record + */ + private function _readClientData() + { + $length = PHPExcel_Reader_Excel5::_GetInt4d($this->_data, $this->_pos + 4); + $recordData = substr($this->_data, $this->_pos + 8, $length); + + // move stream pointer to next record + $this->_pos += 8 + $length; + } + + /** + * Read OfficeArtRGFOPTE table of property-value pairs + * + * @param string $data Binary data + * @param int $n Number of properties + */ + private function _readOfficeArtRGFOPTE($data, $n) { + + $splicedComplexData = substr($data, 6 * $n); + + // loop through property-value pairs + for ($i = 0; $i < $n; ++$i) { + // read 6 bytes at a time + $fopte = substr($data, 6 * $i, 6); + + // offset: 0; size: 2; opid + $opid = PHPExcel_Reader_Excel5::_GetInt2d($fopte, 0); + + // bit: 0-13; mask: 0x3FFF; opid.opid + $opidOpid = (0x3FFF & $opid) >> 0; + + // bit: 14; mask 0x4000; 1 = value in op field is BLIP identifier + $opidFBid = (0x4000 & $opid) >> 14; + + // bit: 15; mask 0x8000; 1 = this is a complex property, op field specifies size of complex data + $opidFComplex = (0x8000 & $opid) >> 15; + + // offset: 2; size: 4; the value for this property + $op = PHPExcel_Reader_Excel5::_GetInt4d($fopte, 2); + + if ($opidFComplex) { + $complexData = substr($splicedComplexData, 0, $op); + $splicedComplexData = substr($splicedComplexData, $op); + + // we store string value with complex data + $value = $complexData; + } else { + // we store integer value + $value = $op; + } + + $this->_object->setOPT($opidOpid, $value); + } + } + +} diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Reader/Excel5/MD5.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Reader/Excel5/MD5.php new file mode 100644 index 00000000..097e9753 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Reader/Excel5/MD5.php @@ -0,0 +1,221 @@ +<?php +/** + * PHPExcel + * + * Copyright (c) 2006 - 2014 PHPExcel + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * @category PHPExcel + * @package PHPExcel_Reader_Excel5 + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @version ##VERSION##, ##DATE## + */ + + +/** + * PHPExcel_Reader_Excel5_MD5 + * + * @category PHPExcel + * @package PHPExcel_Reader_Excel5 + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + */ +class PHPExcel_Reader_Excel5_MD5 +{ + // Context + private $a; + private $b; + private $c; + private $d; + + + /** + * MD5 stream constructor + */ + public function __construct() + { + $this->reset(); + } + + + /** + * Reset the MD5 stream context + */ + public function reset() + { + $this->a = 0x67452301; + $this->b = 0xEFCDAB89; + $this->c = 0x98BADCFE; + $this->d = 0x10325476; + } + + + /** + * Get MD5 stream context + * + * @return string + */ + public function getContext() + { + $s = ''; + foreach (array('a', 'b', 'c', 'd') as $i) { + $v = $this->{$i}; + $s .= chr($v & 0xff); + $s .= chr(($v >> 8) & 0xff); + $s .= chr(($v >> 16) & 0xff); + $s .= chr(($v >> 24) & 0xff); + } + + return $s; + } + + + /** + * Add data to context + * + * @param string $data Data to add + */ + public function add($data) + { + $words = array_values(unpack('V16', $data)); + + $A = $this->a; + $B = $this->b; + $C = $this->c; + $D = $this->d; + + $F = array('PHPExcel_Reader_Excel5_MD5','F'); + $G = array('PHPExcel_Reader_Excel5_MD5','G'); + $H = array('PHPExcel_Reader_Excel5_MD5','H'); + $I = array('PHPExcel_Reader_Excel5_MD5','I'); + + /* ROUND 1 */ + self::step($F, $A, $B, $C, $D, $words[0], 7, 0xd76aa478); + self::step($F, $D, $A, $B, $C, $words[1], 12, 0xe8c7b756); + self::step($F, $C, $D, $A, $B, $words[2], 17, 0x242070db); + self::step($F, $B, $C, $D, $A, $words[3], 22, 0xc1bdceee); + self::step($F, $A, $B, $C, $D, $words[4], 7, 0xf57c0faf); + self::step($F, $D, $A, $B, $C, $words[5], 12, 0x4787c62a); + self::step($F, $C, $D, $A, $B, $words[6], 17, 0xa8304613); + self::step($F, $B, $C, $D, $A, $words[7], 22, 0xfd469501); + self::step($F, $A, $B, $C, $D, $words[8], 7, 0x698098d8); + self::step($F, $D, $A, $B, $C, $words[9], 12, 0x8b44f7af); + self::step($F, $C, $D, $A, $B, $words[10], 17, 0xffff5bb1); + self::step($F, $B, $C, $D, $A, $words[11], 22, 0x895cd7be); + self::step($F, $A, $B, $C, $D, $words[12], 7, 0x6b901122); + self::step($F, $D, $A, $B, $C, $words[13], 12, 0xfd987193); + self::step($F, $C, $D, $A, $B, $words[14], 17, 0xa679438e); + self::step($F, $B, $C, $D, $A, $words[15], 22, 0x49b40821); + + /* ROUND 2 */ + self::step($G, $A, $B, $C, $D, $words[1], 5, 0xf61e2562); + self::step($G, $D, $A, $B, $C, $words[6], 9, 0xc040b340); + self::step($G, $C, $D, $A, $B, $words[11], 14, 0x265e5a51); + self::step($G, $B, $C, $D, $A, $words[0], 20, 0xe9b6c7aa); + self::step($G, $A, $B, $C, $D, $words[5], 5, 0xd62f105d); + self::step($G, $D, $A, $B, $C, $words[10], 9, 0x02441453); + self::step($G, $C, $D, $A, $B, $words[15], 14, 0xd8a1e681); + self::step($G, $B, $C, $D, $A, $words[4], 20, 0xe7d3fbc8); + self::step($G, $A, $B, $C, $D, $words[9], 5, 0x21e1cde6); + self::step($G, $D, $A, $B, $C, $words[14], 9, 0xc33707d6); + self::step($G, $C, $D, $A, $B, $words[3], 14, 0xf4d50d87); + self::step($G, $B, $C, $D, $A, $words[8], 20, 0x455a14ed); + self::step($G, $A, $B, $C, $D, $words[13], 5, 0xa9e3e905); + self::step($G, $D, $A, $B, $C, $words[2], 9, 0xfcefa3f8); + self::step($G, $C, $D, $A, $B, $words[7], 14, 0x676f02d9); + self::step($G, $B, $C, $D, $A, $words[12], 20, 0x8d2a4c8a); + + /* ROUND 3 */ + self::step($H, $A, $B, $C, $D, $words[5], 4, 0xfffa3942); + self::step($H, $D, $A, $B, $C, $words[8], 11, 0x8771f681); + self::step($H, $C, $D, $A, $B, $words[11], 16, 0x6d9d6122); + self::step($H, $B, $C, $D, $A, $words[14], 23, 0xfde5380c); + self::step($H, $A, $B, $C, $D, $words[1], 4, 0xa4beea44); + self::step($H, $D, $A, $B, $C, $words[4], 11, 0x4bdecfa9); + self::step($H, $C, $D, $A, $B, $words[7], 16, 0xf6bb4b60); + self::step($H, $B, $C, $D, $A, $words[10], 23, 0xbebfbc70); + self::step($H, $A, $B, $C, $D, $words[13], 4, 0x289b7ec6); + self::step($H, $D, $A, $B, $C, $words[0], 11, 0xeaa127fa); + self::step($H, $C, $D, $A, $B, $words[3], 16, 0xd4ef3085); + self::step($H, $B, $C, $D, $A, $words[6], 23, 0x04881d05); + self::step($H, $A, $B, $C, $D, $words[9], 4, 0xd9d4d039); + self::step($H, $D, $A, $B, $C, $words[12], 11, 0xe6db99e5); + self::step($H, $C, $D, $A, $B, $words[15], 16, 0x1fa27cf8); + self::step($H, $B, $C, $D, $A, $words[2], 23, 0xc4ac5665); + + /* ROUND 4 */ + self::step($I, $A, $B, $C, $D, $words[0], 6, 0xf4292244); + self::step($I, $D, $A, $B, $C, $words[7], 10, 0x432aff97); + self::step($I, $C, $D, $A, $B, $words[14], 15, 0xab9423a7); + self::step($I, $B, $C, $D, $A, $words[5], 21, 0xfc93a039); + self::step($I, $A, $B, $C, $D, $words[12], 6, 0x655b59c3); + self::step($I, $D, $A, $B, $C, $words[3], 10, 0x8f0ccc92); + self::step($I, $C, $D, $A, $B, $words[10], 15, 0xffeff47d); + self::step($I, $B, $C, $D, $A, $words[1], 21, 0x85845dd1); + self::step($I, $A, $B, $C, $D, $words[8], 6, 0x6fa87e4f); + self::step($I, $D, $A, $B, $C, $words[15], 10, 0xfe2ce6e0); + self::step($I, $C, $D, $A, $B, $words[6], 15, 0xa3014314); + self::step($I, $B, $C, $D, $A, $words[13], 21, 0x4e0811a1); + self::step($I, $A, $B, $C, $D, $words[4], 6, 0xf7537e82); + self::step($I, $D, $A, $B, $C, $words[11], 10, 0xbd3af235); + self::step($I, $C, $D, $A, $B, $words[2], 15, 0x2ad7d2bb); + self::step($I, $B, $C, $D, $A, $words[9], 21, 0xeb86d391); + + $this->a = ($this->a + $A) & 0xffffffff; + $this->b = ($this->b + $B) & 0xffffffff; + $this->c = ($this->c + $C) & 0xffffffff; + $this->d = ($this->d + $D) & 0xffffffff; + } + + + private static function F($X, $Y, $Z) + { + return (($X & $Y) | ((~ $X) & $Z)); // X AND Y OR NOT X AND Z + } + + + private static function G($X, $Y, $Z) + { + return (($X & $Z) | ($Y & (~ $Z))); // X AND Z OR Y AND NOT Z + } + + + private static function H($X, $Y, $Z) + { + return ($X ^ $Y ^ $Z); // X XOR Y XOR Z + } + + + private static function I($X, $Y, $Z) + { + return ($Y ^ ($X | (~ $Z))) ; // Y XOR (X OR NOT Z) + } + + + private static function step($func, &$A, $B, $C, $D, $M, $s, $t) + { + $A = ($A + call_user_func($func, $B, $C, $D) + $M + $t) & 0xffffffff; + $A = self::rotate($A, $s); + $A = ($B + $A) & 0xffffffff; + } + + + private static function rotate($decimal, $bits) + { + $binary = str_pad(decbin($decimal), 32, "0", STR_PAD_LEFT); + return bindec(substr($binary, $bits).substr($binary, 0, $bits)); + } +} \ No newline at end of file diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Reader/Excel5/RC4.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Reader/Excel5/RC4.php new file mode 100644 index 00000000..199ee192 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Reader/Excel5/RC4.php @@ -0,0 +1,88 @@ +<?php +/** + * PHPExcel + * + * Copyright (c) 2006 - 2014 PHPExcel + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * @category PHPExcel + * @package PHPExcel_Reader_Excel5 + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @version ##VERSION##, ##DATE## + */ + +/** + * PHPExcel_Reader_Excel5_RC4 + * + * @category PHPExcel + * @package PHPExcel_Reader_Excel5 + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + */ +class PHPExcel_Reader_Excel5_RC4 +{ + // Context + var $s = array(); + var $i = 0; + var $j = 0; + + /** + * RC4 stream decryption/encryption constrcutor + * + * @param string $key Encryption key/passphrase + */ + public function __construct($key) + { + $len = strlen($key); + + for ($this->i = 0; $this->i < 256; $this->i++) { + $this->s[$this->i] = $this->i; + } + + $this->j = 0; + for ($this->i = 0; $this->i < 256; $this->i++) { + $this->j = ($this->j + $this->s[$this->i] + ord($key[$this->i % $len])) % 256; + $t = $this->s[$this->i]; + $this->s[$this->i] = $this->s[$this->j]; + $this->s[$this->j] = $t; + } + $this->i = $this->j = 0; + } + + /** + * Symmetric decryption/encryption function + * + * @param string $data Data to encrypt/decrypt + * + * @return string + */ + public function RC4($data) + { + $len = strlen($data); + for ($c = 0; $c < $len; $c++) { + $this->i = ($this->i + 1) % 256; + $this->j = ($this->j + $this->s[$this->i]) % 256; + $t = $this->s[$this->i]; + $this->s[$this->i] = $this->s[$this->j]; + $this->s[$this->j] = $t; + + $t = ($this->s[$this->i] + $this->s[$this->j]) % 256; + + $data[$c] = chr(ord($data[$c]) ^ $this->s[$t]); + } + return $data; + } +} diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Reader/Exception.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Reader/Exception.php new file mode 100644 index 00000000..d0e2f570 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Reader/Exception.php @@ -0,0 +1,52 @@ +<?php +/** + * PHPExcel + * + * Copyright (c) 2006 - 2014 PHPExcel + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * @category PHPExcel + * @package PHPExcel_Reader + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @version ##VERSION##, ##DATE## + */ + + +/** + * PHPExcel_Reader_Exception + * + * @category PHPExcel + * @package PHPExcel_Reader + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + */ +class PHPExcel_Reader_Exception extends PHPExcel_Exception { + /** + * Error handler callback + * + * @param mixed $code + * @param mixed $string + * @param mixed $file + * @param mixed $line + * @param mixed $context + */ + public static function errorHandlerCallback($code, $string, $file, $line, $context) { + $e = new self($string, $code); + $e->line = $line; + $e->file = $file; + throw $e; + } +} diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Reader/Gnumeric.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Reader/Gnumeric.php new file mode 100644 index 00000000..584ded28 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Reader/Gnumeric.php @@ -0,0 +1,873 @@ +<?php +/** + * PHPExcel + * + * Copyright (c) 2006 - 2014 PHPExcel + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * @category PHPExcel + * @package PHPExcel_Reader + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @version ##VERSION##, ##DATE## + */ + + +/** PHPExcel root directory */ +if (!defined('PHPEXCEL_ROOT')) { + /** + * @ignore + */ + define('PHPEXCEL_ROOT', dirname(__FILE__) . '/../../'); + require(PHPEXCEL_ROOT . 'PHPExcel/Autoloader.php'); +} + +/** + * PHPExcel_Reader_Gnumeric + * + * @category PHPExcel + * @package PHPExcel_Reader + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + */ +class PHPExcel_Reader_Gnumeric extends PHPExcel_Reader_Abstract implements PHPExcel_Reader_IReader +{ + /** + * Formats + * + * @var array + */ + private $_styles = array(); + + /** + * Shared Expressions + * + * @var array + */ + private $_expressions = array(); + + private $_referenceHelper = null; + + + /** + * Create a new PHPExcel_Reader_Gnumeric + */ + public function __construct() { + $this->_readFilter = new PHPExcel_Reader_DefaultReadFilter(); + $this->_referenceHelper = PHPExcel_ReferenceHelper::getInstance(); + } + + + /** + * Can the current PHPExcel_Reader_IReader read the file? + * + * @param string $pFilename + * @return boolean + * @throws PHPExcel_Reader_Exception + */ + public function canRead($pFilename) + { + // Check if file exists + if (!file_exists($pFilename)) { + throw new PHPExcel_Reader_Exception("Could not open " . $pFilename . " for reading! File does not exist."); + } + + // Check if gzlib functions are available + if (!function_exists('gzread')) { + throw new PHPExcel_Reader_Exception("gzlib library is not enabled"); + } + + // Read signature data (first 3 bytes) + $fh = fopen($pFilename, 'r'); + $data = fread($fh, 2); + fclose($fh); + + if ($data != chr(0x1F).chr(0x8B)) { + return false; + } + + return true; + } + + + /** + * Reads names of the worksheets from a file, without parsing the whole file to a PHPExcel object + * + * @param string $pFilename + * @throws PHPExcel_Reader_Exception + */ + public function listWorksheetNames($pFilename) + { + // Check if file exists + if (!file_exists($pFilename)) { + throw new PHPExcel_Reader_Exception("Could not open " . $pFilename . " for reading! File does not exist."); + } + + $xml = new XMLReader(); + $xml->xml( + $this->securityScanFile('compress.zlib://'.realpath($pFilename)), null, PHPExcel_Settings::getLibXmlLoaderOptions() + ); + $xml->setParserProperty(2,true); + + $worksheetNames = array(); + while ($xml->read()) { + if ($xml->name == 'gnm:SheetName' && $xml->nodeType == XMLReader::ELEMENT) { + $xml->read(); // Move onto the value node + $worksheetNames[] = (string) $xml->value; + } elseif ($xml->name == 'gnm:Sheets') { + // break out of the loop once we've got our sheet names rather than parse the entire file + break; + } + } + + return $worksheetNames; + } + + + /** + * Return worksheet info (Name, Last Column Letter, Last Column Index, Total Rows, Total Columns) + * + * @param string $pFilename + * @throws PHPExcel_Reader_Exception + */ + public function listWorksheetInfo($pFilename) + { + // Check if file exists + if (!file_exists($pFilename)) { + throw new PHPExcel_Reader_Exception("Could not open " . $pFilename . " for reading! File does not exist."); + } + + $xml = new XMLReader(); + $xml->xml( + $this->securityScanFile('compress.zlib://'.realpath($pFilename)), null, PHPExcel_Settings::getLibXmlLoaderOptions() + ); + $xml->setParserProperty(2,true); + + $worksheetInfo = array(); + while ($xml->read()) { + if ($xml->name == 'gnm:Sheet' && $xml->nodeType == XMLReader::ELEMENT) { + $tmpInfo = array( + 'worksheetName' => '', + 'lastColumnLetter' => 'A', + 'lastColumnIndex' => 0, + 'totalRows' => 0, + 'totalColumns' => 0, + ); + + while ($xml->read()) { + if ($xml->name == 'gnm:Name' && $xml->nodeType == XMLReader::ELEMENT) { + $xml->read(); // Move onto the value node + $tmpInfo['worksheetName'] = (string) $xml->value; + } elseif ($xml->name == 'gnm:MaxCol' && $xml->nodeType == XMLReader::ELEMENT) { + $xml->read(); // Move onto the value node + $tmpInfo['lastColumnIndex'] = (int) $xml->value; + $tmpInfo['totalColumns'] = (int) $xml->value + 1; + } elseif ($xml->name == 'gnm:MaxRow' && $xml->nodeType == XMLReader::ELEMENT) { + $xml->read(); // Move onto the value node + $tmpInfo['totalRows'] = (int) $xml->value + 1; + break; + } + } + $tmpInfo['lastColumnLetter'] = PHPExcel_Cell::stringFromColumnIndex($tmpInfo['lastColumnIndex']); + $worksheetInfo[] = $tmpInfo; + } + } + + return $worksheetInfo; + } + + + private function _gzfileGetContents($filename) { + $file = @gzopen($filename, 'rb'); + if ($file !== false) { + $data = ''; + while (!gzeof($file)) { + $data .= gzread($file, 1024); + } + gzclose($file); + } + return $data; + } + + + /** + * Loads PHPExcel from file + * + * @param string $pFilename + * @return PHPExcel + * @throws PHPExcel_Reader_Exception + */ + public function load($pFilename) + { + // Create new PHPExcel + $objPHPExcel = new PHPExcel(); + + // Load into this instance + return $this->loadIntoExisting($pFilename, $objPHPExcel); + } + + + /** + * Loads PHPExcel from file into PHPExcel instance + * + * @param string $pFilename + * @param PHPExcel $objPHPExcel + * @return PHPExcel + * @throws PHPExcel_Reader_Exception + */ + public function loadIntoExisting($pFilename, PHPExcel $objPHPExcel) + { + // Check if file exists + if (!file_exists($pFilename)) { + throw new PHPExcel_Reader_Exception("Could not open " . $pFilename . " for reading! File does not exist."); + } + + $timezoneObj = new DateTimeZone('Europe/London'); + $GMT = new DateTimeZone('UTC'); + + $gFileData = $this->_gzfileGetContents($pFilename); + +// echo '<pre>'; +// echo htmlentities($gFileData,ENT_QUOTES,'UTF-8'); +// echo '</pre><hr />'; +// + $xml = simplexml_load_string($this->securityScan($gFileData), 'SimpleXMLElement', PHPExcel_Settings::getLibXmlLoaderOptions()); + $namespacesMeta = $xml->getNamespaces(true); + +// var_dump($namespacesMeta); +// + $gnmXML = $xml->children($namespacesMeta['gnm']); + + $docProps = $objPHPExcel->getProperties(); + // Document Properties are held differently, depending on the version of Gnumeric + if (isset($namespacesMeta['office'])) { + $officeXML = $xml->children($namespacesMeta['office']); + $officeDocXML = $officeXML->{'document-meta'}; + $officeDocMetaXML = $officeDocXML->meta; + + foreach($officeDocMetaXML as $officePropertyData) { + + $officePropertyDC = array(); + if (isset($namespacesMeta['dc'])) { + $officePropertyDC = $officePropertyData->children($namespacesMeta['dc']); + } + foreach($officePropertyDC as $propertyName => $propertyValue) { + $propertyValue = (string) $propertyValue; + switch ($propertyName) { + case 'title' : + $docProps->setTitle(trim($propertyValue)); + break; + case 'subject' : + $docProps->setSubject(trim($propertyValue)); + break; + case 'creator' : + $docProps->setCreator(trim($propertyValue)); + $docProps->setLastModifiedBy(trim($propertyValue)); + break; + case 'date' : + $creationDate = strtotime(trim($propertyValue)); + $docProps->setCreated($creationDate); + $docProps->setModified($creationDate); + break; + case 'description' : + $docProps->setDescription(trim($propertyValue)); + break; + } + } + $officePropertyMeta = array(); + if (isset($namespacesMeta['meta'])) { + $officePropertyMeta = $officePropertyData->children($namespacesMeta['meta']); + } + foreach($officePropertyMeta as $propertyName => $propertyValue) { + $attributes = $propertyValue->attributes($namespacesMeta['meta']); + $propertyValue = (string) $propertyValue; + switch ($propertyName) { + case 'keyword' : + $docProps->setKeywords(trim($propertyValue)); + break; + case 'initial-creator' : + $docProps->setCreator(trim($propertyValue)); + $docProps->setLastModifiedBy(trim($propertyValue)); + break; + case 'creation-date' : + $creationDate = strtotime(trim($propertyValue)); + $docProps->setCreated($creationDate); + $docProps->setModified($creationDate); + break; + case 'user-defined' : + list(,$attrName) = explode(':',$attributes['name']); + switch ($attrName) { + case 'publisher' : + $docProps->setCompany(trim($propertyValue)); + break; + case 'category' : + $docProps->setCategory(trim($propertyValue)); + break; + case 'manager' : + $docProps->setManager(trim($propertyValue)); + break; + } + break; + } + } + } + } elseif (isset($gnmXML->Summary)) { + foreach($gnmXML->Summary->Item as $summaryItem) { + $propertyName = $summaryItem->name; + $propertyValue = $summaryItem->{'val-string'}; + switch ($propertyName) { + case 'title' : + $docProps->setTitle(trim($propertyValue)); + break; + case 'comments' : + $docProps->setDescription(trim($propertyValue)); + break; + case 'keywords' : + $docProps->setKeywords(trim($propertyValue)); + break; + case 'category' : + $docProps->setCategory(trim($propertyValue)); + break; + case 'manager' : + $docProps->setManager(trim($propertyValue)); + break; + case 'author' : + $docProps->setCreator(trim($propertyValue)); + $docProps->setLastModifiedBy(trim($propertyValue)); + break; + case 'company' : + $docProps->setCompany(trim($propertyValue)); + break; + } + } + } + + $worksheetID = 0; + foreach($gnmXML->Sheets->Sheet as $sheet) { + $worksheetName = (string) $sheet->Name; +// echo '<b>Worksheet: ',$worksheetName,'</b><br />'; + if ((isset($this->_loadSheetsOnly)) && (!in_array($worksheetName, $this->_loadSheetsOnly))) { + continue; + } + + $maxRow = $maxCol = 0; + + // Create new Worksheet + $objPHPExcel->createSheet(); + $objPHPExcel->setActiveSheetIndex($worksheetID); + // Use false for $updateFormulaCellReferences to prevent adjustment of worksheet references in formula + // cells... during the load, all formulae should be correct, and we're simply bringing the worksheet + // name in line with the formula, not the reverse + $objPHPExcel->getActiveSheet()->setTitle($worksheetName,false); + + if ((!$this->_readDataOnly) && (isset($sheet->PrintInformation))) { + if (isset($sheet->PrintInformation->Margins)) { + foreach($sheet->PrintInformation->Margins->children('gnm',TRUE) as $key => $margin) { + $marginAttributes = $margin->attributes(); + $marginSize = 72 / 100; // Default + switch($marginAttributes['PrefUnit']) { + case 'mm' : + $marginSize = intval($marginAttributes['Points']) / 100; + break; + } + switch($key) { + case 'top' : + $objPHPExcel->getActiveSheet()->getPageMargins()->setTop($marginSize); + break; + case 'bottom' : + $objPHPExcel->getActiveSheet()->getPageMargins()->setBottom($marginSize); + break; + case 'left' : + $objPHPExcel->getActiveSheet()->getPageMargins()->setLeft($marginSize); + break; + case 'right' : + $objPHPExcel->getActiveSheet()->getPageMargins()->setRight($marginSize); + break; + case 'header' : + $objPHPExcel->getActiveSheet()->getPageMargins()->setHeader($marginSize); + break; + case 'footer' : + $objPHPExcel->getActiveSheet()->getPageMargins()->setFooter($marginSize); + break; + } + } + } + } + + foreach($sheet->Cells->Cell as $cell) { + $cellAttributes = $cell->attributes(); + $row = (int) $cellAttributes->Row + 1; + $column = (int) $cellAttributes->Col; + + if ($row > $maxRow) $maxRow = $row; + if ($column > $maxCol) $maxCol = $column; + + $column = PHPExcel_Cell::stringFromColumnIndex($column); + + // Read cell? + if ($this->getReadFilter() !== NULL) { + if (!$this->getReadFilter()->readCell($column, $row, $worksheetName)) { + continue; + } + } + + $ValueType = $cellAttributes->ValueType; + $ExprID = (string) $cellAttributes->ExprID; +// echo 'Cell ',$column,$row,'<br />'; +// echo 'Type is ',$ValueType,'<br />'; +// echo 'Value is ',$cell,'<br />'; + $type = PHPExcel_Cell_DataType::TYPE_FORMULA; + if ($ExprID > '') { + if (((string) $cell) > '') { + + $this->_expressions[$ExprID] = array( 'column' => $cellAttributes->Col, + 'row' => $cellAttributes->Row, + 'formula' => (string) $cell + ); +// echo 'NEW EXPRESSION ',$ExprID,'<br />'; + } else { + $expression = $this->_expressions[$ExprID]; + + $cell = $this->_referenceHelper->updateFormulaReferences( $expression['formula'], + 'A1', + $cellAttributes->Col - $expression['column'], + $cellAttributes->Row - $expression['row'], + $worksheetName + ); +// echo 'SHARED EXPRESSION ',$ExprID,'<br />'; +// echo 'New Value is ',$cell,'<br />'; + } + $type = PHPExcel_Cell_DataType::TYPE_FORMULA; + } else { + switch($ValueType) { + case '10' : // NULL + $type = PHPExcel_Cell_DataType::TYPE_NULL; + break; + case '20' : // Boolean + $type = PHPExcel_Cell_DataType::TYPE_BOOL; + $cell = ($cell == 'TRUE') ? True : False; + break; + case '30' : // Integer + $cell = intval($cell); + case '40' : // Float + $type = PHPExcel_Cell_DataType::TYPE_NUMERIC; + break; + case '50' : // Error + $type = PHPExcel_Cell_DataType::TYPE_ERROR; + break; + case '60' : // String + $type = PHPExcel_Cell_DataType::TYPE_STRING; + break; + case '70' : // Cell Range + case '80' : // Array + } + } + $objPHPExcel->getActiveSheet()->getCell($column.$row)->setValueExplicit($cell,$type); + } + + if ((!$this->_readDataOnly) && (isset($sheet->Objects))) { + foreach($sheet->Objects->children('gnm',TRUE) as $key => $comment) { + $commentAttributes = $comment->attributes(); + // Only comment objects are handled at the moment + if ($commentAttributes->Text) { + $objPHPExcel->getActiveSheet()->getComment( (string)$commentAttributes->ObjectBound ) + ->setAuthor( (string)$commentAttributes->Author ) + ->setText($this->_parseRichText((string)$commentAttributes->Text) ); + } + } + } +// echo '$maxCol=',$maxCol,'; $maxRow=',$maxRow,'<br />'; +// + foreach($sheet->Styles->StyleRegion as $styleRegion) { + $styleAttributes = $styleRegion->attributes(); + if (($styleAttributes['startRow'] <= $maxRow) && + ($styleAttributes['startCol'] <= $maxCol)) { + + $startColumn = PHPExcel_Cell::stringFromColumnIndex((int) $styleAttributes['startCol']); + $startRow = $styleAttributes['startRow'] + 1; + + $endColumn = ($styleAttributes['endCol'] > $maxCol) ? $maxCol : (int) $styleAttributes['endCol']; + $endColumn = PHPExcel_Cell::stringFromColumnIndex($endColumn); + $endRow = ($styleAttributes['endRow'] > $maxRow) ? $maxRow : $styleAttributes['endRow']; + $endRow += 1; + $cellRange = $startColumn.$startRow.':'.$endColumn.$endRow; +// echo $cellRange,'<br />'; + + $styleAttributes = $styleRegion->Style->attributes(); +// var_dump($styleAttributes); +// echo '<br />'; + + // We still set the number format mask for date/time values, even if _readDataOnly is true + if ((!$this->_readDataOnly) || + (PHPExcel_Shared_Date::isDateTimeFormatCode((string) $styleAttributes['Format']))) { + $styleArray = array(); + $styleArray['numberformat']['code'] = (string) $styleAttributes['Format']; + // If _readDataOnly is false, we set all formatting information + if (!$this->_readDataOnly) { + switch($styleAttributes['HAlign']) { + case '1' : + $styleArray['alignment']['horizontal'] = PHPExcel_Style_Alignment::HORIZONTAL_GENERAL; + break; + case '2' : + $styleArray['alignment']['horizontal'] = PHPExcel_Style_Alignment::HORIZONTAL_LEFT; + break; + case '4' : + $styleArray['alignment']['horizontal'] = PHPExcel_Style_Alignment::HORIZONTAL_RIGHT; + break; + case '8' : + $styleArray['alignment']['horizontal'] = PHPExcel_Style_Alignment::HORIZONTAL_CENTER; + break; + case '16' : + case '64' : + $styleArray['alignment']['horizontal'] = PHPExcel_Style_Alignment::HORIZONTAL_CENTER_CONTINUOUS; + break; + case '32' : + $styleArray['alignment']['horizontal'] = PHPExcel_Style_Alignment::HORIZONTAL_JUSTIFY; + break; + } + + switch($styleAttributes['VAlign']) { + case '1' : + $styleArray['alignment']['vertical'] = PHPExcel_Style_Alignment::VERTICAL_TOP; + break; + case '2' : + $styleArray['alignment']['vertical'] = PHPExcel_Style_Alignment::VERTICAL_BOTTOM; + break; + case '4' : + $styleArray['alignment']['vertical'] = PHPExcel_Style_Alignment::VERTICAL_CENTER; + break; + case '8' : + $styleArray['alignment']['vertical'] = PHPExcel_Style_Alignment::VERTICAL_JUSTIFY; + break; + } + + $styleArray['alignment']['wrap'] = ($styleAttributes['WrapText'] == '1') ? True : False; + $styleArray['alignment']['shrinkToFit'] = ($styleAttributes['ShrinkToFit'] == '1') ? True : False; + $styleArray['alignment']['indent'] = (intval($styleAttributes["Indent"]) > 0) ? $styleAttributes["indent"] : 0; + + $RGB = self::_parseGnumericColour($styleAttributes["Fore"]); + $styleArray['font']['color']['rgb'] = $RGB; + $RGB = self::_parseGnumericColour($styleAttributes["Back"]); + $shade = $styleAttributes["Shade"]; + if (($RGB != '000000') || ($shade != '0')) { + $styleArray['fill']['color']['rgb'] = $styleArray['fill']['startcolor']['rgb'] = $RGB; + $RGB2 = self::_parseGnumericColour($styleAttributes["PatternColor"]); + $styleArray['fill']['endcolor']['rgb'] = $RGB2; + switch($shade) { + case '1' : + $styleArray['fill']['type'] = PHPExcel_Style_Fill::FILL_SOLID; + break; + case '2' : + $styleArray['fill']['type'] = PHPExcel_Style_Fill::FILL_GRADIENT_LINEAR; + break; + case '3' : + $styleArray['fill']['type'] = PHPExcel_Style_Fill::FILL_GRADIENT_PATH; + break; + case '4' : + $styleArray['fill']['type'] = PHPExcel_Style_Fill::FILL_PATTERN_DARKDOWN; + break; + case '5' : + $styleArray['fill']['type'] = PHPExcel_Style_Fill::FILL_PATTERN_DARKGRAY; + break; + case '6' : + $styleArray['fill']['type'] = PHPExcel_Style_Fill::FILL_PATTERN_DARKGRID; + break; + case '7' : + $styleArray['fill']['type'] = PHPExcel_Style_Fill::FILL_PATTERN_DARKHORIZONTAL; + break; + case '8' : + $styleArray['fill']['type'] = PHPExcel_Style_Fill::FILL_PATTERN_DARKTRELLIS; + break; + case '9' : + $styleArray['fill']['type'] = PHPExcel_Style_Fill::FILL_PATTERN_DARKUP; + break; + case '10' : + $styleArray['fill']['type'] = PHPExcel_Style_Fill::FILL_PATTERN_DARKVERTICAL; + break; + case '11' : + $styleArray['fill']['type'] = PHPExcel_Style_Fill::FILL_PATTERN_GRAY0625; + break; + case '12' : + $styleArray['fill']['type'] = PHPExcel_Style_Fill::FILL_PATTERN_GRAY125; + break; + case '13' : + $styleArray['fill']['type'] = PHPExcel_Style_Fill::FILL_PATTERN_LIGHTDOWN; + break; + case '14' : + $styleArray['fill']['type'] = PHPExcel_Style_Fill::FILL_PATTERN_LIGHTGRAY; + break; + case '15' : + $styleArray['fill']['type'] = PHPExcel_Style_Fill::FILL_PATTERN_LIGHTGRID; + break; + case '16' : + $styleArray['fill']['type'] = PHPExcel_Style_Fill::FILL_PATTERN_LIGHTHORIZONTAL; + break; + case '17' : + $styleArray['fill']['type'] = PHPExcel_Style_Fill::FILL_PATTERN_LIGHTTRELLIS; + break; + case '18' : + $styleArray['fill']['type'] = PHPExcel_Style_Fill::FILL_PATTERN_LIGHTUP; + break; + case '19' : + $styleArray['fill']['type'] = PHPExcel_Style_Fill::FILL_PATTERN_LIGHTVERTICAL; + break; + case '20' : + $styleArray['fill']['type'] = PHPExcel_Style_Fill::FILL_PATTERN_MEDIUMGRAY; + break; + } + } + + $fontAttributes = $styleRegion->Style->Font->attributes(); +// var_dump($fontAttributes); +// echo '<br />'; + $styleArray['font']['name'] = (string) $styleRegion->Style->Font; + $styleArray['font']['size'] = intval($fontAttributes['Unit']); + $styleArray['font']['bold'] = ($fontAttributes['Bold'] == '1') ? True : False; + $styleArray['font']['italic'] = ($fontAttributes['Italic'] == '1') ? True : False; + $styleArray['font']['strike'] = ($fontAttributes['StrikeThrough'] == '1') ? True : False; + switch($fontAttributes['Underline']) { + case '1' : + $styleArray['font']['underline'] = PHPExcel_Style_Font::UNDERLINE_SINGLE; + break; + case '2' : + $styleArray['font']['underline'] = PHPExcel_Style_Font::UNDERLINE_DOUBLE; + break; + case '3' : + $styleArray['font']['underline'] = PHPExcel_Style_Font::UNDERLINE_SINGLEACCOUNTING; + break; + case '4' : + $styleArray['font']['underline'] = PHPExcel_Style_Font::UNDERLINE_DOUBLEACCOUNTING; + break; + default : + $styleArray['font']['underline'] = PHPExcel_Style_Font::UNDERLINE_NONE; + break; + } + switch($fontAttributes['Script']) { + case '1' : + $styleArray['font']['superScript'] = True; + break; + case '-1' : + $styleArray['font']['subScript'] = True; + break; + } + + if (isset($styleRegion->Style->StyleBorder)) { + if (isset($styleRegion->Style->StyleBorder->Top)) { + $styleArray['borders']['top'] = self::_parseBorderAttributes($styleRegion->Style->StyleBorder->Top->attributes()); + } + if (isset($styleRegion->Style->StyleBorder->Bottom)) { + $styleArray['borders']['bottom'] = self::_parseBorderAttributes($styleRegion->Style->StyleBorder->Bottom->attributes()); + } + if (isset($styleRegion->Style->StyleBorder->Left)) { + $styleArray['borders']['left'] = self::_parseBorderAttributes($styleRegion->Style->StyleBorder->Left->attributes()); + } + if (isset($styleRegion->Style->StyleBorder->Right)) { + $styleArray['borders']['right'] = self::_parseBorderAttributes($styleRegion->Style->StyleBorder->Right->attributes()); + } + if ((isset($styleRegion->Style->StyleBorder->Diagonal)) && (isset($styleRegion->Style->StyleBorder->{'Rev-Diagonal'}))) { + $styleArray['borders']['diagonal'] = self::_parseBorderAttributes($styleRegion->Style->StyleBorder->Diagonal->attributes()); + $styleArray['borders']['diagonaldirection'] = PHPExcel_Style_Borders::DIAGONAL_BOTH; + } elseif (isset($styleRegion->Style->StyleBorder->Diagonal)) { + $styleArray['borders']['diagonal'] = self::_parseBorderAttributes($styleRegion->Style->StyleBorder->Diagonal->attributes()); + $styleArray['borders']['diagonaldirection'] = PHPExcel_Style_Borders::DIAGONAL_UP; + } elseif (isset($styleRegion->Style->StyleBorder->{'Rev-Diagonal'})) { + $styleArray['borders']['diagonal'] = self::_parseBorderAttributes($styleRegion->Style->StyleBorder->{'Rev-Diagonal'}->attributes()); + $styleArray['borders']['diagonaldirection'] = PHPExcel_Style_Borders::DIAGONAL_DOWN; + } + } + if (isset($styleRegion->Style->HyperLink)) { + // TO DO + $hyperlink = $styleRegion->Style->HyperLink->attributes(); + } + } +// var_dump($styleArray); +// echo '<br />'; + $objPHPExcel->getActiveSheet()->getStyle($cellRange)->applyFromArray($styleArray); + } + } + } + + if ((!$this->_readDataOnly) && (isset($sheet->Cols))) { + // Column Widths + $columnAttributes = $sheet->Cols->attributes(); + $defaultWidth = $columnAttributes['DefaultSizePts'] / 5.4; + $c = 0; + foreach($sheet->Cols->ColInfo as $columnOverride) { + $columnAttributes = $columnOverride->attributes(); + $column = $columnAttributes['No']; + $columnWidth = $columnAttributes['Unit'] / 5.4; + $hidden = ((isset($columnAttributes['Hidden'])) && ($columnAttributes['Hidden'] == '1')) ? true : false; + $columnCount = (isset($columnAttributes['Count'])) ? $columnAttributes['Count'] : 1; + while ($c < $column) { + $objPHPExcel->getActiveSheet()->getColumnDimension(PHPExcel_Cell::stringFromColumnIndex($c))->setWidth($defaultWidth); + ++$c; + } + while (($c < ($column+$columnCount)) && ($c <= $maxCol)) { + $objPHPExcel->getActiveSheet()->getColumnDimension(PHPExcel_Cell::stringFromColumnIndex($c))->setWidth($columnWidth); + if ($hidden) { + $objPHPExcel->getActiveSheet()->getColumnDimension(PHPExcel_Cell::stringFromColumnIndex($c))->setVisible(false); + } + ++$c; + } + } + while ($c <= $maxCol) { + $objPHPExcel->getActiveSheet()->getColumnDimension(PHPExcel_Cell::stringFromColumnIndex($c))->setWidth($defaultWidth); + ++$c; + } + } + + if ((!$this->_readDataOnly) && (isset($sheet->Rows))) { + // Row Heights + $rowAttributes = $sheet->Rows->attributes(); + $defaultHeight = $rowAttributes['DefaultSizePts']; + $r = 0; + + foreach($sheet->Rows->RowInfo as $rowOverride) { + $rowAttributes = $rowOverride->attributes(); + $row = $rowAttributes['No']; + $rowHeight = $rowAttributes['Unit']; + $hidden = ((isset($rowAttributes['Hidden'])) && ($rowAttributes['Hidden'] == '1')) ? true : false; + $rowCount = (isset($rowAttributes['Count'])) ? $rowAttributes['Count'] : 1; + while ($r < $row) { + ++$r; + $objPHPExcel->getActiveSheet()->getRowDimension($r)->setRowHeight($defaultHeight); + } + while (($r < ($row+$rowCount)) && ($r < $maxRow)) { + ++$r; + $objPHPExcel->getActiveSheet()->getRowDimension($r)->setRowHeight($rowHeight); + if ($hidden) { + $objPHPExcel->getActiveSheet()->getRowDimension($r)->setVisible(false); + } + } + } + while ($r < $maxRow) { + ++$r; + $objPHPExcel->getActiveSheet()->getRowDimension($r)->setRowHeight($defaultHeight); + } + } + + // Handle Merged Cells in this worksheet + if (isset($sheet->MergedRegions)) { + foreach($sheet->MergedRegions->Merge as $mergeCells) { + if (strpos($mergeCells,':') !== FALSE) { + $objPHPExcel->getActiveSheet()->mergeCells($mergeCells); + } + } + } + + $worksheetID++; + } + + // Loop through definedNames (global named ranges) + if (isset($gnmXML->Names)) { + foreach($gnmXML->Names->Name as $namedRange) { + $name = (string) $namedRange->name; + $range = (string) $namedRange->value; + if (stripos($range, '#REF!') !== false) { + continue; + } + + $range = explode('!',$range); + $range[0] = trim($range[0],"'");; + if ($worksheet = $objPHPExcel->getSheetByName($range[0])) { + $extractedRange = str_replace('$', '', $range[1]); + $objPHPExcel->addNamedRange( new PHPExcel_NamedRange($name, $worksheet, $extractedRange) ); + } + } + } + + + // Return + return $objPHPExcel; + } + + + private static function _parseBorderAttributes($borderAttributes) + { + $styleArray = array(); + + if (isset($borderAttributes["Color"])) { + $RGB = self::_parseGnumericColour($borderAttributes["Color"]); + $styleArray['color']['rgb'] = $RGB; + } + + switch ($borderAttributes["Style"]) { + case '0' : + $styleArray['style'] = PHPExcel_Style_Border::BORDER_NONE; + break; + case '1' : + $styleArray['style'] = PHPExcel_Style_Border::BORDER_THIN; + break; + case '2' : + $styleArray['style'] = PHPExcel_Style_Border::BORDER_MEDIUM; + break; + case '4' : + $styleArray['style'] = PHPExcel_Style_Border::BORDER_DASHED; + break; + case '5' : + $styleArray['style'] = PHPExcel_Style_Border::BORDER_THICK; + break; + case '6' : + $styleArray['style'] = PHPExcel_Style_Border::BORDER_DOUBLE; + break; + case '7' : + $styleArray['style'] = PHPExcel_Style_Border::BORDER_DOTTED; + break; + case '9' : + $styleArray['style'] = PHPExcel_Style_Border::BORDER_DASHDOT; + break; + case '10' : + $styleArray['style'] = PHPExcel_Style_Border::BORDER_MEDIUMDASHDOT; + break; + case '11' : + $styleArray['style'] = PHPExcel_Style_Border::BORDER_DASHDOTDOT; + break; + case '12' : + $styleArray['style'] = PHPExcel_Style_Border::BORDER_MEDIUMDASHDOTDOT; + break; + case '13' : + $styleArray['style'] = PHPExcel_Style_Border::BORDER_MEDIUMDASHDOTDOT; + break; + case '3' : + $styleArray['style'] = PHPExcel_Style_Border::BORDER_SLANTDASHDOT; + break; + case '8' : + $styleArray['style'] = PHPExcel_Style_Border::BORDER_MEDIUMDASHED; + break; + } + return $styleArray; + } + + + private function _parseRichText($is = '') { + $value = new PHPExcel_RichText(); + + $value->createText($is); + + return $value; + } + + + private static function _parseGnumericColour($gnmColour) { + list($gnmR,$gnmG,$gnmB) = explode(':',$gnmColour); + $gnmR = substr(str_pad($gnmR,4,'0',STR_PAD_RIGHT),0,2); + $gnmG = substr(str_pad($gnmG,4,'0',STR_PAD_RIGHT),0,2); + $gnmB = substr(str_pad($gnmB,4,'0',STR_PAD_RIGHT),0,2); + $RGB = $gnmR.$gnmG.$gnmB; +// echo 'Excel Colour: ',$RGB,'<br />'; + return $RGB; + } + +} diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Reader/HTML.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Reader/HTML.php new file mode 100644 index 00000000..26cc598c --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Reader/HTML.php @@ -0,0 +1,534 @@ +<?php + +/** + * PHPExcel + * + * Copyright (c) 2006 - 2014 PHPExcel + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * @category PHPExcel + * @package PHPExcel_Reader + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @version ##VERSION##, ##DATE## + */ +/** PHPExcel root directory */ +if (!defined('PHPEXCEL_ROOT')) { + /** + * @ignore + */ + define('PHPEXCEL_ROOT', dirname(__FILE__) . '/../../'); + require(PHPEXCEL_ROOT . 'PHPExcel/Autoloader.php'); +} + +/** + * PHPExcel_Reader_HTML + * + * @category PHPExcel + * @package PHPExcel_Reader + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + */ +class PHPExcel_Reader_HTML extends PHPExcel_Reader_Abstract implements PHPExcel_Reader_IReader +{ + + /** + * Input encoding + * + * @var string + */ + protected $_inputEncoding = 'ANSI'; + + /** + * Sheet index to read + * + * @var int + */ + protected $_sheetIndex = 0; + + /** + * Formats + * + * @var array + */ + protected $_formats = array( + 'h1' => array('font' => array('bold' => true, + 'size' => 24, + ), + ), // Bold, 24pt + 'h2' => array('font' => array('bold' => true, + 'size' => 18, + ), + ), // Bold, 18pt + 'h3' => array('font' => array('bold' => true, + 'size' => 13.5, + ), + ), // Bold, 13.5pt + 'h4' => array('font' => array('bold' => true, + 'size' => 12, + ), + ), // Bold, 12pt + 'h5' => array('font' => array('bold' => true, + 'size' => 10, + ), + ), // Bold, 10pt + 'h6' => array('font' => array('bold' => true, + 'size' => 7.5, + ), + ), // Bold, 7.5pt + 'a' => array('font' => array('underline' => true, + 'color' => array('argb' => PHPExcel_Style_Color::COLOR_BLUE, + ), + ), + ), // Blue underlined + 'hr' => array('borders' => array('bottom' => array('style' => PHPExcel_Style_Border::BORDER_THIN, + 'color' => array(\PHPExcel_Style_Color::COLOR_BLACK, + ), + ), + ), + ), // Bottom border + ); + + protected $rowspan = array(); + + /** + * Create a new PHPExcel_Reader_HTML + */ + public function __construct() + { + $this->_readFilter = new PHPExcel_Reader_DefaultReadFilter(); + } + + /** + * Validate that the current file is an HTML file + * + * @return boolean + */ + protected function _isValidFormat() + { + // Reading 2048 bytes should be enough to validate that the format is HTML + $data = fread($this->_fileHandle, 2048); + if ((strpos($data, '<') !== FALSE) && + (strlen($data) !== strlen(strip_tags($data)))) { + return TRUE; + } + + return FALSE; + } + + /** + * Loads PHPExcel from file + * + * @param string $pFilename + * @return PHPExcel + * @throws PHPExcel_Reader_Exception + */ + public function load($pFilename) + { + // Create new PHPExcel + $objPHPExcel = new PHPExcel(); + + // Load into this instance + return $this->loadIntoExisting($pFilename, $objPHPExcel); + } + + /** + * Set input encoding + * + * @param string $pValue Input encoding + */ + public function setInputEncoding($pValue = 'ANSI') + { + $this->_inputEncoding = $pValue; + + return $this; + } + + /** + * Get input encoding + * + * @return string + */ + public function getInputEncoding() + { + return $this->_inputEncoding; + } + + // Data Array used for testing only, should write to PHPExcel object on completion of tests + protected $_dataArray = array(); + protected $_tableLevel = 0; + protected $_nestedColumn = array('A'); + + protected function _setTableStartColumn($column) + { + if ($this->_tableLevel == 0) + $column = 'A'; + ++$this->_tableLevel; + $this->_nestedColumn[$this->_tableLevel] = $column; + + return $this->_nestedColumn[$this->_tableLevel]; + } + + protected function _getTableStartColumn() + { + return $this->_nestedColumn[$this->_tableLevel]; + } + + protected function _releaseTableStartColumn() + { + --$this->_tableLevel; + + return array_pop($this->_nestedColumn); + } + + protected function _flushCell($sheet, $column, $row, &$cellContent) + { + if (is_string($cellContent)) { + // Simple String content + if (trim($cellContent) > '') { + // Only actually write it if there's content in the string +// echo 'FLUSH CELL: ' , $column , $row , ' => ' , $cellContent , '<br />'; + // Write to worksheet to be done here... + // ... we return the cell so we can mess about with styles more easily + $sheet->setCellValue($column . $row, $cellContent, true); + $this->_dataArray[$row][$column] = $cellContent; + } + } else { + // We have a Rich Text run + // TODO + $this->_dataArray[$row][$column] = 'RICH TEXT: ' . $cellContent; + } + $cellContent = (string) ''; + } + + protected function _processDomElement(DOMNode $element, $sheet, &$row, &$column, &$cellContent, $format = null) + { + foreach ($element->childNodes as $child) { + if ($child instanceof DOMText) { + $domText = preg_replace('/\s+/u', ' ', trim($child->nodeValue)); + if (is_string($cellContent)) { + // simply append the text if the cell content is a plain text string + $cellContent .= $domText; + } else { + // but if we have a rich text run instead, we need to append it correctly + // TODO + } + } elseif ($child instanceof DOMElement) { +// echo '<b>DOM ELEMENT: </b>' , strtoupper($child->nodeName) , '<br />'; + + $attributeArray = array(); + foreach ($child->attributes as $attribute) { +// echo '<b>ATTRIBUTE: </b>' , $attribute->name , ' => ' , $attribute->value , '<br />'; + $attributeArray[$attribute->name] = $attribute->value; + } + + switch ($child->nodeName) { + case 'meta' : + foreach ($attributeArray as $attributeName => $attributeValue) { + switch ($attributeName) { + case 'content': + // TODO + // Extract character set, so we can convert to UTF-8 if required + break; + } + } + $this->_processDomElement($child, $sheet, $row, $column, $cellContent); + break; + case 'title' : + $this->_processDomElement($child, $sheet, $row, $column, $cellContent); + $sheet->setTitle($cellContent); + $cellContent = ''; + break; + case 'span' : + case 'div' : + case 'font' : + case 'i' : + case 'em' : + case 'strong': + case 'b' : +// echo 'STYLING, SPAN OR DIV<br />'; + if ($cellContent > '') + $cellContent .= ' '; + $this->_processDomElement($child, $sheet, $row, $column, $cellContent); + if ($cellContent > '') + $cellContent .= ' '; +// echo 'END OF STYLING, SPAN OR DIV<br />'; + break; + case 'hr' : + $this->_flushCell($sheet, $column, $row, $cellContent); + ++$row; + if (isset($this->_formats[$child->nodeName])) { + $sheet->getStyle($column . $row)->applyFromArray($this->_formats[$child->nodeName]); + } else { + $cellContent = '----------'; + $this->_flushCell($sheet, $column, $row, $cellContent); + } + ++$row; + case 'br' : + if ($this->_tableLevel > 0) { + // If we're inside a table, replace with a \n + $cellContent .= "\n"; + } else { + // Otherwise flush our existing content and move the row cursor on + $this->_flushCell($sheet, $column, $row, $cellContent); + ++$row; + } +// echo 'HARD LINE BREAK: ' , '<br />'; + break; + case 'a' : +// echo 'START OF HYPERLINK: ' , '<br />'; + foreach ($attributeArray as $attributeName => $attributeValue) { + switch ($attributeName) { + case 'href': +// echo 'Link to ' , $attributeValue , '<br />'; + $sheet->getCell($column . $row)->getHyperlink()->setUrl($attributeValue); + if (isset($this->_formats[$child->nodeName])) { + $sheet->getStyle($column . $row)->applyFromArray($this->_formats[$child->nodeName]); + } + break; + } + } + $cellContent .= ' '; + $this->_processDomElement($child, $sheet, $row, $column, $cellContent); +// echo 'END OF HYPERLINK:' , '<br />'; + break; + case 'h1' : + case 'h2' : + case 'h3' : + case 'h4' : + case 'h5' : + case 'h6' : + case 'ol' : + case 'ul' : + case 'p' : + if ($this->_tableLevel > 0) { + // If we're inside a table, replace with a \n + $cellContent .= "\n"; +// echo 'LIST ENTRY: ' , '<br />'; + $this->_processDomElement($child, $sheet, $row, $column, $cellContent); +// echo 'END OF LIST ENTRY:' , '<br />'; + } else { + if ($cellContent > '') { + $this->_flushCell($sheet, $column, $row, $cellContent); + $row++; + } +// echo 'START OF PARAGRAPH: ' , '<br />'; + $this->_processDomElement($child, $sheet, $row, $column, $cellContent); +// echo 'END OF PARAGRAPH:' , '<br />'; + $this->_flushCell($sheet, $column, $row, $cellContent); + + if (isset($this->_formats[$child->nodeName])) { + $sheet->getStyle($column . $row)->applyFromArray($this->_formats[$child->nodeName]); + } + + $row++; + $column = 'A'; + } + break; + case 'li' : + if ($this->_tableLevel > 0) { + // If we're inside a table, replace with a \n + $cellContent .= "\n"; +// echo 'LIST ENTRY: ' , '<br />'; + $this->_processDomElement($child, $sheet, $row, $column, $cellContent); +// echo 'END OF LIST ENTRY:' , '<br />'; + } else { + if ($cellContent > '') { + $this->_flushCell($sheet, $column, $row, $cellContent); + } + ++$row; +// echo 'LIST ENTRY: ' , '<br />'; + $this->_processDomElement($child, $sheet, $row, $column, $cellContent); +// echo 'END OF LIST ENTRY:' , '<br />'; + $this->_flushCell($sheet, $column, $row, $cellContent); + $column = 'A'; + } + break; + case 'table' : + $this->_flushCell($sheet, $column, $row, $cellContent); + $column = $this->_setTableStartColumn($column); +// echo 'START OF TABLE LEVEL ' , $this->_tableLevel , '<br />'; + if ($this->_tableLevel > 1) + --$row; + $this->_processDomElement($child, $sheet, $row, $column, $cellContent); +// echo 'END OF TABLE LEVEL ' , $this->_tableLevel , '<br />'; + $column = $this->_releaseTableStartColumn(); + if ($this->_tableLevel > 1) { + ++$column; + } else { + ++$row; + } + break; + case 'thead' : + case 'tbody' : + $this->_processDomElement($child, $sheet, $row, $column, $cellContent); + break; + case 'tr' : + $column = $this->_getTableStartColumn(); + $cellContent = ''; +// echo 'START OF TABLE ' , $this->_tableLevel , ' ROW<br />'; + $this->_processDomElement($child, $sheet, $row, $column, $cellContent); + ++$row; +// echo 'END OF TABLE ' , $this->_tableLevel , ' ROW<br />'; + break; + case 'th' : + case 'td' : +// echo 'START OF TABLE ' , $this->_tableLevel , ' CELL<br />'; + $this->_processDomElement($child, $sheet, $row, $column, $cellContent); +// echo 'END OF TABLE ' , $this->_tableLevel , ' CELL<br />'; + + while (isset($this->rowspan[$column . $row])) { + ++$column; + } + + $this->_flushCell($sheet, $column, $row, $cellContent); + +// if (isset($attributeArray['style']) && !empty($attributeArray['style'])) { +// $styleAry = $this->getPhpExcelStyleArray($attributeArray['style']); +// +// if (!empty($styleAry)) { +// $sheet->getStyle($column . $row)->applyFromArray($styleAry); +// } +// } + + if (isset($attributeArray['rowspan']) && isset($attributeArray['colspan'])) { + //create merging rowspan and colspan + $columnTo = $column; + for ($i = 0; $i < $attributeArray['colspan'] - 1; $i++) { + ++$columnTo; + } + $range = $column . $row . ':' . $columnTo . ($row + $attributeArray['rowspan'] - 1); + foreach (\PHPExcel_Cell::extractAllCellReferencesInRange($range) as $value) { + $this->rowspan[$value] = true; + } + $sheet->mergeCells($range); + $column = $columnTo; + } elseif (isset($attributeArray['rowspan'])) { + //create merging rowspan + $range = $column . $row . ':' . $column . ($row + $attributeArray['rowspan'] - 1); + foreach (\PHPExcel_Cell::extractAllCellReferencesInRange($range) as $value) { + $this->rowspan[$value] = true; + } + $sheet->mergeCells($range); + } elseif (isset($attributeArray['colspan'])) { + //create merging colspan + $columnTo = $column; + for ($i = 0; $i < $attributeArray['colspan'] - 1; $i++) { + ++$columnTo; + } + $sheet->mergeCells($column . $row . ':' . $columnTo . $row); + $column = $columnTo; + } + ++$column; + break; + case 'body' : + $row = 1; + $column = 'A'; + $content = ''; + $this->_tableLevel = 0; + $this->_processDomElement($child, $sheet, $row, $column, $cellContent); + break; + default: + $this->_processDomElement($child, $sheet, $row, $column, $cellContent); + } + } + } + } + + /** + * Loads PHPExcel from file into PHPExcel instance + * + * @param string $pFilename + * @param PHPExcel $objPHPExcel + * @return PHPExcel + * @throws PHPExcel_Reader_Exception + */ + public function loadIntoExisting($pFilename, PHPExcel $objPHPExcel) + { + // Open file to validate + $this->_openFile($pFilename); + if (!$this->_isValidFormat()) { + fclose($this->_fileHandle); + throw new PHPExcel_Reader_Exception($pFilename . " is an Invalid HTML file."); + } + // Close after validating + fclose($this->_fileHandle); + + // Create new PHPExcel + while ($objPHPExcel->getSheetCount() <= $this->_sheetIndex) { + $objPHPExcel->createSheet(); + } + $objPHPExcel->setActiveSheetIndex($this->_sheetIndex); + + // Create a new DOM object + $dom = new domDocument; + // Reload the HTML file into the DOM object + $loaded = $dom->loadHTML($this->securityScanFile($pFilename)); + if ($loaded === FALSE) { + throw new PHPExcel_Reader_Exception('Failed to load ', $pFilename, ' as a DOM Document'); + } + + // Discard white space + $dom->preserveWhiteSpace = false; + + $row = 0; + $column = 'A'; + $content = ''; + $this->_processDomElement($dom, $objPHPExcel->getActiveSheet(), $row, $column, $content); + + // Return + return $objPHPExcel; + } + + /** + * Get sheet index + * + * @return int + */ + public function getSheetIndex() + { + return $this->_sheetIndex; + } + + /** + * Set sheet index + * + * @param int $pValue Sheet index + * @return PHPExcel_Reader_HTML + */ + public function setSheetIndex($pValue = 0) + { + $this->_sheetIndex = $pValue; + + return $this; + } + + /** + * Scan theXML for use of <!ENTITY to prevent XXE/XEE attacks + * + * @param string $xml + * @throws PHPExcel_Reader_Exception + */ + public function securityScan($xml) + { + $pattern = '/\\0?' . implode('\\0?', str_split('<!ENTITY')) . '\\0?/'; + if (preg_match($pattern, $xml)) { + throw new PHPExcel_Reader_Exception('Detected use of ENTITY in XML, spreadsheet file load() aborted to prevent XXE/XEE attacks'); + } + return $xml; + } + +} + diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Reader/IReadFilter.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Reader/IReadFilter.php new file mode 100644 index 00000000..f27cff8b --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Reader/IReadFilter.php @@ -0,0 +1,47 @@ +<?php +/** + * PHPExcel + * + * Copyright (c) 2006 - 2014 PHPExcel + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * @category PHPExcel + * @package PHPExcel_Reader + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @version ##VERSION##, ##DATE## + */ + + +/** + * PHPExcel_Reader_IReadFilter + * + * @category PHPExcel + * @package PHPExcel_Reader + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + */ +interface PHPExcel_Reader_IReadFilter +{ + /** + * Should this cell be read? + * + * @param $column String column index + * @param $row Row index + * @param $worksheetName Optional worksheet name + * @return boolean + */ + public function readCell($column, $row, $worksheetName = ''); +} diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Reader/IReader.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Reader/IReader.php new file mode 100644 index 00000000..b543df4a --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Reader/IReader.php @@ -0,0 +1,54 @@ +<?php +/** + * PHPExcel + * + * Copyright (c) 2006 - 2014 PHPExcel + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * @category PHPExcel + * @package PHPExcel_Reader + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @version ##VERSION##, ##DATE## + */ + + +/** + * PHPExcel_Reader_IReader + * + * @category PHPExcel + * @package PHPExcel_Reader + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + */ +interface PHPExcel_Reader_IReader +{ + /** + * Can the current PHPExcel_Reader_IReader read the file? + * + * @param string $pFilename + * @return boolean + */ + public function canRead($pFilename); + + /** + * Loads PHPExcel from file + * + * @param string $pFilename + * @return PHPExcel + * @throws PHPExcel_Reader_Exception + */ + public function load($pFilename); +} diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Reader/OOCalc.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Reader/OOCalc.php new file mode 100644 index 00000000..7644df94 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Reader/OOCalc.php @@ -0,0 +1,711 @@ +<?php +/** + * PHPExcel + * + * Copyright (c) 2006 - 2014 PHPExcel + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * @category PHPExcel + * @package PHPExcel_Reader + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @version ##VERSION##, ##DATE## + */ + + +/** PHPExcel root directory */ +if (!defined('PHPEXCEL_ROOT')) { + /** + * @ignore + */ + define('PHPEXCEL_ROOT', dirname(__FILE__) . '/../../'); + require(PHPEXCEL_ROOT . 'PHPExcel/Autoloader.php'); +} + +/** + * PHPExcel_Reader_OOCalc + * + * @category PHPExcel + * @package PHPExcel_Reader + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + */ +class PHPExcel_Reader_OOCalc extends PHPExcel_Reader_Abstract implements PHPExcel_Reader_IReader +{ + /** + * Formats + * + * @var array + */ + private $_styles = array(); + + + /** + * Create a new PHPExcel_Reader_OOCalc + */ + public function __construct() { + $this->_readFilter = new PHPExcel_Reader_DefaultReadFilter(); + } + + + /** + * Can the current PHPExcel_Reader_IReader read the file? + * + * @param string $pFilename + * @return boolean + * @throws PHPExcel_Reader_Exception + */ + public function canRead($pFilename) + { + // Check if file exists + if (!file_exists($pFilename)) { + throw new PHPExcel_Reader_Exception("Could not open " . $pFilename . " for reading! File does not exist."); + } + + $zipClass = PHPExcel_Settings::getZipClass(); + + // Check if zip class exists +// if (!class_exists($zipClass, FALSE)) { +// throw new PHPExcel_Reader_Exception($zipClass . " library is not enabled"); +// } + + $mimeType = 'UNKNOWN'; + // Load file + $zip = new $zipClass; + if ($zip->open($pFilename) === true) { + // check if it is an OOXML archive + $stat = $zip->statName('mimetype'); + if ($stat && ($stat['size'] <= 255)) { + $mimeType = $zip->getFromName($stat['name']); + } elseif($stat = $zip->statName('META-INF/manifest.xml')) { + $xml = simplexml_load_string($this->securityScan($zip->getFromName('META-INF/manifest.xml')), 'SimpleXMLElement', PHPExcel_Settings::getLibXmlLoaderOptions()); + $namespacesContent = $xml->getNamespaces(true); + if (isset($namespacesContent['manifest'])) { + $manifest = $xml->children($namespacesContent['manifest']); + foreach($manifest as $manifestDataSet) { + $manifestAttributes = $manifestDataSet->attributes($namespacesContent['manifest']); + if ($manifestAttributes->{'full-path'} == '/') { + $mimeType = (string) $manifestAttributes->{'media-type'}; + break; + } + } + } + } + + $zip->close(); + + return ($mimeType === 'application/vnd.oasis.opendocument.spreadsheet'); + } + + return FALSE; + } + + + /** + * Reads names of the worksheets from a file, without parsing the whole file to a PHPExcel object + * + * @param string $pFilename + * @throws PHPExcel_Reader_Exception + */ + public function listWorksheetNames($pFilename) + { + // Check if file exists + if (!file_exists($pFilename)) { + throw new PHPExcel_Reader_Exception("Could not open " . $pFilename . " for reading! File does not exist."); + } + + $zipClass = PHPExcel_Settings::getZipClass(); + + $zip = new $zipClass; + if (!$zip->open($pFilename)) { + throw new PHPExcel_Reader_Exception("Could not open " . $pFilename . " for reading! Error opening file."); + } + + $worksheetNames = array(); + + $xml = new XMLReader(); + $res = $xml->xml($this->securityScanFile('zip://'.realpath($pFilename).'#content.xml'), null, PHPExcel_Settings::getLibXmlLoaderOptions()); + $xml->setParserProperty(2,true); + + // Step into the first level of content of the XML + $xml->read(); + while ($xml->read()) { + // Quickly jump through to the office:body node + while ($xml->name !== 'office:body') { + if ($xml->isEmptyElement) + $xml->read(); + else + $xml->next(); + } + // Now read each node until we find our first table:table node + while ($xml->read()) { + if ($xml->name == 'table:table' && $xml->nodeType == XMLReader::ELEMENT) { + // Loop through each table:table node reading the table:name attribute for each worksheet name + do { + $worksheetNames[] = $xml->getAttribute('table:name'); + $xml->next(); + } while ($xml->name == 'table:table' && $xml->nodeType == XMLReader::ELEMENT); + } + } + } + + return $worksheetNames; + } + + + /** + * Return worksheet info (Name, Last Column Letter, Last Column Index, Total Rows, Total Columns) + * + * @param string $pFilename + * @throws PHPExcel_Reader_Exception + */ + public function listWorksheetInfo($pFilename) + { + // Check if file exists + if (!file_exists($pFilename)) { + throw new PHPExcel_Reader_Exception("Could not open " . $pFilename . " for reading! File does not exist."); + } + + $worksheetInfo = array(); + + $zipClass = PHPExcel_Settings::getZipClass(); + + $zip = new $zipClass; + if (!$zip->open($pFilename)) { + throw new PHPExcel_Reader_Exception("Could not open " . $pFilename . " for reading! Error opening file."); + } + + $xml = new XMLReader(); + $res = $xml->xml($this->securityScanFile('zip://'.realpath($pFilename).'#content.xml'), null, PHPExcel_Settings::getLibXmlLoaderOptions()); + $xml->setParserProperty(2,true); + + // Step into the first level of content of the XML + $xml->read(); + while ($xml->read()) { + // Quickly jump through to the office:body node + while ($xml->name !== 'office:body') { + if ($xml->isEmptyElement) + $xml->read(); + else + $xml->next(); + } + // Now read each node until we find our first table:table node + while ($xml->read()) { + if ($xml->name == 'table:table' && $xml->nodeType == XMLReader::ELEMENT) { + $worksheetNames[] = $xml->getAttribute('table:name'); + + $tmpInfo = array( + 'worksheetName' => $xml->getAttribute('table:name'), + 'lastColumnLetter' => 'A', + 'lastColumnIndex' => 0, + 'totalRows' => 0, + 'totalColumns' => 0, + ); + + // Loop through each child node of the table:table element reading + $currCells = 0; + do { + $xml->read(); + if ($xml->name == 'table:table-row' && $xml->nodeType == XMLReader::ELEMENT) { + $rowspan = $xml->getAttribute('table:number-rows-repeated'); + $rowspan = empty($rowspan) ? 1 : $rowspan; + $tmpInfo['totalRows'] += $rowspan; + $tmpInfo['totalColumns'] = max($tmpInfo['totalColumns'],$currCells); + $currCells = 0; + // Step into the row + $xml->read(); + do { + if ($xml->name == 'table:table-cell' && $xml->nodeType == XMLReader::ELEMENT) { + if (!$xml->isEmptyElement) { + $currCells++; + $xml->next(); + } else { + $xml->read(); + } + } elseif ($xml->name == 'table:covered-table-cell' && $xml->nodeType == XMLReader::ELEMENT) { + $mergeSize = $xml->getAttribute('table:number-columns-repeated'); + $currCells += $mergeSize; + $xml->read(); + } + } while ($xml->name != 'table:table-row'); + } + } while ($xml->name != 'table:table'); + + $tmpInfo['totalColumns'] = max($tmpInfo['totalColumns'],$currCells); + $tmpInfo['lastColumnIndex'] = $tmpInfo['totalColumns'] - 1; + $tmpInfo['lastColumnLetter'] = PHPExcel_Cell::stringFromColumnIndex($tmpInfo['lastColumnIndex']); + $worksheetInfo[] = $tmpInfo; + } + } + +// foreach($workbookData->table as $worksheetDataSet) { +// $worksheetData = $worksheetDataSet->children($namespacesContent['table']); +// $worksheetDataAttributes = $worksheetDataSet->attributes($namespacesContent['table']); +// +// $rowIndex = 0; +// foreach ($worksheetData as $key => $rowData) { +// switch ($key) { +// case 'table-row' : +// $rowDataTableAttributes = $rowData->attributes($namespacesContent['table']); +// $rowRepeats = (isset($rowDataTableAttributes['number-rows-repeated'])) ? +// $rowDataTableAttributes['number-rows-repeated'] : 1; +// $columnIndex = 0; +// +// foreach ($rowData as $key => $cellData) { +// $cellDataTableAttributes = $cellData->attributes($namespacesContent['table']); +// $colRepeats = (isset($cellDataTableAttributes['number-columns-repeated'])) ? +// $cellDataTableAttributes['number-columns-repeated'] : 1; +// $cellDataOfficeAttributes = $cellData->attributes($namespacesContent['office']); +// if (isset($cellDataOfficeAttributes['value-type'])) { +// $tmpInfo['lastColumnIndex'] = max($tmpInfo['lastColumnIndex'], $columnIndex + $colRepeats - 1); +// $tmpInfo['totalRows'] = max($tmpInfo['totalRows'], $rowIndex + $rowRepeats); +// } +// $columnIndex += $colRepeats; +// } +// $rowIndex += $rowRepeats; +// break; +// } +// } +// +// $tmpInfo['lastColumnLetter'] = PHPExcel_Cell::stringFromColumnIndex($tmpInfo['lastColumnIndex']); +// $tmpInfo['totalColumns'] = $tmpInfo['lastColumnIndex'] + 1; +// +// } +// } + } + + return $worksheetInfo; + } + + + /** + * Loads PHPExcel from file + * + * @param string $pFilename + * @return PHPExcel + * @throws PHPExcel_Reader_Exception + */ + public function load($pFilename) + { + // Create new PHPExcel + $objPHPExcel = new PHPExcel(); + + // Load into this instance + return $this->loadIntoExisting($pFilename, $objPHPExcel); + } + + + private static function identifyFixedStyleValue($styleList,&$styleAttributeValue) { + $styleAttributeValue = strtolower($styleAttributeValue); + foreach($styleList as $style) { + if ($styleAttributeValue == strtolower($style)) { + $styleAttributeValue = $style; + return true; + } + } + return false; + } + + + /** + * Loads PHPExcel from file into PHPExcel instance + * + * @param string $pFilename + * @param PHPExcel $objPHPExcel + * @return PHPExcel + * @throws PHPExcel_Reader_Exception + */ + public function loadIntoExisting($pFilename, PHPExcel $objPHPExcel) + { + // Check if file exists + if (!file_exists($pFilename)) { + throw new PHPExcel_Reader_Exception("Could not open " . $pFilename . " for reading! File does not exist."); + } + + $timezoneObj = new DateTimeZone('Europe/London'); + $GMT = new DateTimeZone('UTC'); + + $zipClass = PHPExcel_Settings::getZipClass(); + + $zip = new $zipClass; + if (!$zip->open($pFilename)) { + throw new PHPExcel_Reader_Exception("Could not open " . $pFilename . " for reading! Error opening file."); + } + +// echo '<h1>Meta Information</h1>'; + $xml = simplexml_load_string($this->securityScan($zip->getFromName("meta.xml")), 'SimpleXMLElement', PHPExcel_Settings::getLibXmlLoaderOptions()); + $namespacesMeta = $xml->getNamespaces(true); +// echo '<pre>'; +// print_r($namespacesMeta); +// echo '</pre><hr />'; + + $docProps = $objPHPExcel->getProperties(); + $officeProperty = $xml->children($namespacesMeta['office']); + foreach($officeProperty as $officePropertyData) { + $officePropertyDC = array(); + if (isset($namespacesMeta['dc'])) { + $officePropertyDC = $officePropertyData->children($namespacesMeta['dc']); + } + foreach($officePropertyDC as $propertyName => $propertyValue) { + $propertyValue = (string) $propertyValue; + switch ($propertyName) { + case 'title' : + $docProps->setTitle($propertyValue); + break; + case 'subject' : + $docProps->setSubject($propertyValue); + break; + case 'creator' : + $docProps->setCreator($propertyValue); + $docProps->setLastModifiedBy($propertyValue); + break; + case 'date' : + $creationDate = strtotime($propertyValue); + $docProps->setCreated($creationDate); + $docProps->setModified($creationDate); + break; + case 'description' : + $docProps->setDescription($propertyValue); + break; + } + } + $officePropertyMeta = array(); + if (isset($namespacesMeta['dc'])) { + $officePropertyMeta = $officePropertyData->children($namespacesMeta['meta']); + } + foreach($officePropertyMeta as $propertyName => $propertyValue) { + $propertyValueAttributes = $propertyValue->attributes($namespacesMeta['meta']); + $propertyValue = (string) $propertyValue; + switch ($propertyName) { + case 'initial-creator' : + $docProps->setCreator($propertyValue); + break; + case 'keyword' : + $docProps->setKeywords($propertyValue); + break; + case 'creation-date' : + $creationDate = strtotime($propertyValue); + $docProps->setCreated($creationDate); + break; + case 'user-defined' : + $propertyValueType = PHPExcel_DocumentProperties::PROPERTY_TYPE_STRING; + foreach ($propertyValueAttributes as $key => $value) { + if ($key == 'name') { + $propertyValueName = (string) $value; + } elseif($key == 'value-type') { + switch ($value) { + case 'date' : + $propertyValue = PHPExcel_DocumentProperties::convertProperty($propertyValue,'date'); + $propertyValueType = PHPExcel_DocumentProperties::PROPERTY_TYPE_DATE; + break; + case 'boolean' : + $propertyValue = PHPExcel_DocumentProperties::convertProperty($propertyValue,'bool'); + $propertyValueType = PHPExcel_DocumentProperties::PROPERTY_TYPE_BOOLEAN; + break; + case 'float' : + $propertyValue = PHPExcel_DocumentProperties::convertProperty($propertyValue,'r4'); + $propertyValueType = PHPExcel_DocumentProperties::PROPERTY_TYPE_FLOAT; + break; + default : + $propertyValueType = PHPExcel_DocumentProperties::PROPERTY_TYPE_STRING; + } + } + } + $docProps->setCustomProperty($propertyValueName,$propertyValue,$propertyValueType); + break; + } + } + } + + +// echo '<h1>Workbook Content</h1>'; + $xml = simplexml_load_string($this->securityScan($zip->getFromName("content.xml")), 'SimpleXMLElement', PHPExcel_Settings::getLibXmlLoaderOptions()); + $namespacesContent = $xml->getNamespaces(true); +// echo '<pre>'; +// print_r($namespacesContent); +// echo '</pre><hr />'; + + $workbook = $xml->children($namespacesContent['office']); + foreach($workbook->body->spreadsheet as $workbookData) { + $workbookData = $workbookData->children($namespacesContent['table']); + $worksheetID = 0; + foreach($workbookData->table as $worksheetDataSet) { + $worksheetData = $worksheetDataSet->children($namespacesContent['table']); +// print_r($worksheetData); +// echo '<br />'; + $worksheetDataAttributes = $worksheetDataSet->attributes($namespacesContent['table']); +// print_r($worksheetDataAttributes); +// echo '<br />'; + if ((isset($this->_loadSheetsOnly)) && (isset($worksheetDataAttributes['name'])) && + (!in_array($worksheetDataAttributes['name'], $this->_loadSheetsOnly))) { + continue; + } + +// echo '<h2>Worksheet '.$worksheetDataAttributes['name'].'</h2>'; + // Create new Worksheet + $objPHPExcel->createSheet(); + $objPHPExcel->setActiveSheetIndex($worksheetID); + if (isset($worksheetDataAttributes['name'])) { + $worksheetName = (string) $worksheetDataAttributes['name']; + // Use false for $updateFormulaCellReferences to prevent adjustment of worksheet references in + // formula cells... during the load, all formulae should be correct, and we're simply + // bringing the worksheet name in line with the formula, not the reverse + $objPHPExcel->getActiveSheet()->setTitle($worksheetName,false); + } + + $rowID = 1; + foreach($worksheetData as $key => $rowData) { +// echo '<b>'.$key.'</b><br />'; + switch ($key) { + case 'table-header-rows': + foreach ($rowData as $key=>$cellData) { + $rowData = $cellData; + break; + } + case 'table-row' : + $rowDataTableAttributes = $rowData->attributes($namespacesContent['table']); + $rowRepeats = (isset($rowDataTableAttributes['number-rows-repeated'])) ? + $rowDataTableAttributes['number-rows-repeated'] : 1; + $columnID = 'A'; + foreach($rowData as $key => $cellData) { + if ($this->getReadFilter() !== NULL) { + if (!$this->getReadFilter()->readCell($columnID, $rowID, $worksheetName)) { + continue; + } + } + +// echo '<b>'.$columnID.$rowID.'</b><br />'; + $cellDataText = (isset($namespacesContent['text'])) ? + $cellData->children($namespacesContent['text']) : + ''; + $cellDataOffice = $cellData->children($namespacesContent['office']); + $cellDataOfficeAttributes = $cellData->attributes($namespacesContent['office']); + $cellDataTableAttributes = $cellData->attributes($namespacesContent['table']); + +// echo 'Office Attributes: '; +// print_r($cellDataOfficeAttributes); +// echo '<br />Table Attributes: '; +// print_r($cellDataTableAttributes); +// echo '<br />Cell Data Text'; +// print_r($cellDataText); +// echo '<br />'; +// + $type = $formatting = $hyperlink = null; + $hasCalculatedValue = false; + $cellDataFormula = ''; + if (isset($cellDataTableAttributes['formula'])) { + $cellDataFormula = $cellDataTableAttributes['formula']; + $hasCalculatedValue = true; + } + + if (isset($cellDataOffice->annotation)) { +// echo 'Cell has comment<br />'; + $annotationText = $cellDataOffice->annotation->children($namespacesContent['text']); + $textArray = array(); + foreach($annotationText as $t) { + if (isset($t->span)) { + foreach($t->span as $text) { + $textArray[] = (string)$text; + } + } else { + $textArray[] = (string) $t; + } + } + $text = implode("\n",$textArray); +// echo $text,'<br />'; + $objPHPExcel->getActiveSheet()->getComment( $columnID.$rowID ) +// ->setAuthor( $author ) + ->setText($this->_parseRichText($text) ); + } + + if (isset($cellDataText->p)) { + // Consolidate if there are multiple p records (maybe with spans as well) + $dataArray = array(); + // Text can have multiple text:p and within those, multiple text:span. + // text:p newlines, but text:span does not. + // Also, here we assume there is no text data is span fields are specified, since + // we have no way of knowing proper positioning anyway. + foreach ($cellDataText->p as $pData) { + if (isset($pData->span)) { + // span sections do not newline, so we just create one large string here + $spanSection = ""; + foreach ($pData->span as $spanData) { + $spanSection .= $spanData; + } + array_push($dataArray, $spanSection); + } else { + array_push($dataArray, $pData); + } + } + $allCellDataText = implode($dataArray, "\n"); + +// echo 'Value Type is '.$cellDataOfficeAttributes['value-type'].'<br />'; + switch ($cellDataOfficeAttributes['value-type']) { + case 'string' : + $type = PHPExcel_Cell_DataType::TYPE_STRING; + $dataValue = $allCellDataText; + if (isset($dataValue->a)) { + $dataValue = $dataValue->a; + $cellXLinkAttributes = $dataValue->attributes($namespacesContent['xlink']); + $hyperlink = $cellXLinkAttributes['href']; + } + break; + case 'boolean' : + $type = PHPExcel_Cell_DataType::TYPE_BOOL; + $dataValue = ($allCellDataText == 'TRUE') ? True : False; + break; + case 'percentage' : + $type = PHPExcel_Cell_DataType::TYPE_NUMERIC; + $dataValue = (float) $cellDataOfficeAttributes['value']; + if (floor($dataValue) == $dataValue) { + $dataValue = (integer) $dataValue; + } + $formatting = PHPExcel_Style_NumberFormat::FORMAT_PERCENTAGE_00; + break; + case 'currency' : + $type = PHPExcel_Cell_DataType::TYPE_NUMERIC; + $dataValue = (float) $cellDataOfficeAttributes['value']; + if (floor($dataValue) == $dataValue) { + $dataValue = (integer) $dataValue; + } + $formatting = PHPExcel_Style_NumberFormat::FORMAT_CURRENCY_USD_SIMPLE; + break; + case 'float' : + $type = PHPExcel_Cell_DataType::TYPE_NUMERIC; + $dataValue = (float) $cellDataOfficeAttributes['value']; + if (floor($dataValue) == $dataValue) { + if ($dataValue == (integer) $dataValue) + $dataValue = (integer) $dataValue; + else + $dataValue = (float) $dataValue; + } + break; + case 'date' : + $type = PHPExcel_Cell_DataType::TYPE_NUMERIC; + $dateObj = new DateTime($cellDataOfficeAttributes['date-value'], $GMT); + $dateObj->setTimeZone($timezoneObj); + list($year,$month,$day,$hour,$minute,$second) = explode(' ',$dateObj->format('Y m d H i s')); + $dataValue = PHPExcel_Shared_Date::FormattedPHPToExcel($year,$month,$day,$hour,$minute,$second); + if ($dataValue != floor($dataValue)) { + $formatting = PHPExcel_Style_NumberFormat::FORMAT_DATE_XLSX15.' '.PHPExcel_Style_NumberFormat::FORMAT_DATE_TIME4; + } else { + $formatting = PHPExcel_Style_NumberFormat::FORMAT_DATE_XLSX15; + } + break; + case 'time' : + $type = PHPExcel_Cell_DataType::TYPE_NUMERIC; + $dataValue = PHPExcel_Shared_Date::PHPToExcel(strtotime('01-01-1970 '.implode(':',sscanf($cellDataOfficeAttributes['time-value'],'PT%dH%dM%dS')))); + $formatting = PHPExcel_Style_NumberFormat::FORMAT_DATE_TIME4; + break; + } +// echo 'Data value is '.$dataValue.'<br />'; +// if ($hyperlink !== NULL) { +// echo 'Hyperlink is '.$hyperlink.'<br />'; +// } + } else { + $type = PHPExcel_Cell_DataType::TYPE_NULL; + $dataValue = NULL; + } + + if ($hasCalculatedValue) { + $type = PHPExcel_Cell_DataType::TYPE_FORMULA; +// echo 'Formula: ', $cellDataFormula, PHP_EOL; + $cellDataFormula = substr($cellDataFormula,strpos($cellDataFormula,':=')+1); + $temp = explode('"',$cellDataFormula); + $tKey = false; + foreach($temp as &$value) { + // Only replace in alternate array entries (i.e. non-quoted blocks) + if ($tKey = !$tKey) { + $value = preg_replace('/\[([^\.]+)\.([^\.]+):\.([^\.]+)\]/Ui','$1!$2:$3',$value); // Cell range reference in another sheet + $value = preg_replace('/\[([^\.]+)\.([^\.]+)\]/Ui','$1!$2',$value); // Cell reference in another sheet + $value = preg_replace('/\[\.([^\.]+):\.([^\.]+)\]/Ui','$1:$2',$value); // Cell range reference + $value = preg_replace('/\[\.([^\.]+)\]/Ui','$1',$value); // Simple cell reference + $value = PHPExcel_Calculation::_translateSeparator(';',',',$value,$inBraces); + } + } + unset($value); + // Then rebuild the formula string + $cellDataFormula = implode('"',$temp); +// echo 'Adjusted Formula: ', $cellDataFormula, PHP_EOL; + } + + $colRepeats = (isset($cellDataTableAttributes['number-columns-repeated'])) ? + $cellDataTableAttributes['number-columns-repeated'] : 1; + if ($type !== NULL) { + for ($i = 0; $i < $colRepeats; ++$i) { + if ($i > 0) { + ++$columnID; + } + if ($type !== PHPExcel_Cell_DataType::TYPE_NULL) { + for ($rowAdjust = 0; $rowAdjust < $rowRepeats; ++$rowAdjust) { + $rID = $rowID + $rowAdjust; + $objPHPExcel->getActiveSheet()->getCell($columnID.$rID)->setValueExplicit((($hasCalculatedValue) ? $cellDataFormula : $dataValue),$type); + if ($hasCalculatedValue) { +// echo 'Forumla result is '.$dataValue.'<br />'; + $objPHPExcel->getActiveSheet()->getCell($columnID.$rID)->setCalculatedValue($dataValue); + } + if ($formatting !== NULL) { + $objPHPExcel->getActiveSheet()->getStyle($columnID.$rID)->getNumberFormat()->setFormatCode($formatting); + } else { + $objPHPExcel->getActiveSheet()->getStyle($columnID.$rID)->getNumberFormat()->setFormatCode(PHPExcel_Style_NumberFormat::FORMAT_GENERAL); + } + if ($hyperlink !== NULL) { + $objPHPExcel->getActiveSheet()->getCell($columnID.$rID)->getHyperlink()->setUrl($hyperlink); + } + } + } + } + } + + // Merged cells + if ((isset($cellDataTableAttributes['number-columns-spanned'])) || (isset($cellDataTableAttributes['number-rows-spanned']))) { + if (($type !== PHPExcel_Cell_DataType::TYPE_NULL) || (!$this->_readDataOnly)) { + $columnTo = $columnID; + if (isset($cellDataTableAttributes['number-columns-spanned'])) { + $columnTo = PHPExcel_Cell::stringFromColumnIndex(PHPExcel_Cell::columnIndexFromString($columnID) + $cellDataTableAttributes['number-columns-spanned'] -2); + } + $rowTo = $rowID; + if (isset($cellDataTableAttributes['number-rows-spanned'])) { + $rowTo = $rowTo + $cellDataTableAttributes['number-rows-spanned'] - 1; + } + $cellRange = $columnID.$rowID.':'.$columnTo.$rowTo; + $objPHPExcel->getActiveSheet()->mergeCells($cellRange); + } + } + + ++$columnID; + } + $rowID += $rowRepeats; + break; + } + } + ++$worksheetID; + } + } + + // Return + return $objPHPExcel; + } + + + private function _parseRichText($is = '') { + $value = new PHPExcel_RichText(); + + $value->createText($is); + + return $value; + } + +} diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Reader/SYLK.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Reader/SYLK.php new file mode 100644 index 00000000..b61118a3 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Reader/SYLK.php @@ -0,0 +1,450 @@ +<?php +/** + * PHPExcel + * + * Copyright (c) 2006 - 2014 PHPExcel + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * @category PHPExcel + * @package PHPExcel_Reader + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @version ##VERSION##, ##DATE## + */ + + +/** PHPExcel root directory */ +if (!defined('PHPEXCEL_ROOT')) { + /** + * @ignore + */ + define('PHPEXCEL_ROOT', dirname(__FILE__) . '/../../'); + require(PHPEXCEL_ROOT . 'PHPExcel/Autoloader.php'); +} + +/** + * PHPExcel_Reader_SYLK + * + * @category PHPExcel + * @package PHPExcel_Reader + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + */ +class PHPExcel_Reader_SYLK extends PHPExcel_Reader_Abstract implements PHPExcel_Reader_IReader +{ + /** + * Input encoding + * + * @var string + */ + private $_inputEncoding = 'ANSI'; + + /** + * Sheet index to read + * + * @var int + */ + private $_sheetIndex = 0; + + /** + * Formats + * + * @var array + */ + private $_formats = array(); + + /** + * Format Count + * + * @var int + */ + private $_format = 0; + + /** + * Create a new PHPExcel_Reader_SYLK + */ + public function __construct() { + $this->_readFilter = new PHPExcel_Reader_DefaultReadFilter(); + } + + /** + * Validate that the current file is a SYLK file + * + * @return boolean + */ + protected function _isValidFormat() + { + // Read sample data (first 2 KB will do) + $data = fread($this->_fileHandle, 2048); + + // Count delimiters in file + $delimiterCount = substr_count($data, ';'); + if ($delimiterCount < 1) { + return FALSE; + } + + // Analyze first line looking for ID; signature + $lines = explode("\n", $data); + if (substr($lines[0],0,4) != 'ID;P') { + return FALSE; + } + + return TRUE; + } + + /** + * Set input encoding + * + * @param string $pValue Input encoding + */ + public function setInputEncoding($pValue = 'ANSI') + { + $this->_inputEncoding = $pValue; + return $this; + } + + /** + * Get input encoding + * + * @return string + */ + public function getInputEncoding() + { + return $this->_inputEncoding; + } + + /** + * Return worksheet info (Name, Last Column Letter, Last Column Index, Total Rows, Total Columns) + * + * @param string $pFilename + * @throws PHPExcel_Reader_Exception + */ + public function listWorksheetInfo($pFilename) + { + // Open file + $this->_openFile($pFilename); + if (!$this->_isValidFormat()) { + fclose ($this->_fileHandle); + throw new PHPExcel_Reader_Exception($pFilename . " is an Invalid Spreadsheet file."); + } + $fileHandle = $this->_fileHandle; + rewind($fileHandle); + + $worksheetInfo = array(); + $worksheetInfo[0]['worksheetName'] = 'Worksheet'; + $worksheetInfo[0]['lastColumnLetter'] = 'A'; + $worksheetInfo[0]['lastColumnIndex'] = 0; + $worksheetInfo[0]['totalRows'] = 0; + $worksheetInfo[0]['totalColumns'] = 0; + + // Loop through file + $rowData = array(); + + // loop through one row (line) at a time in the file + $rowIndex = 0; + while (($rowData = fgets($fileHandle)) !== FALSE) { + $columnIndex = 0; + + // convert SYLK encoded $rowData to UTF-8 + $rowData = PHPExcel_Shared_String::SYLKtoUTF8($rowData); + + // explode each row at semicolons while taking into account that literal semicolon (;) + // is escaped like this (;;) + $rowData = explode("\t",str_replace('¤',';',str_replace(';',"\t",str_replace(';;','¤',rtrim($rowData))))); + + $dataType = array_shift($rowData); + if ($dataType == 'C') { + // Read cell value data + foreach($rowData as $rowDatum) { + switch($rowDatum{0}) { + case 'C' : + case 'X' : + $columnIndex = substr($rowDatum,1) - 1; + break; + case 'R' : + case 'Y' : + $rowIndex = substr($rowDatum,1); + break; + } + + $worksheetInfo[0]['totalRows'] = max($worksheetInfo[0]['totalRows'], $rowIndex); + $worksheetInfo[0]['lastColumnIndex'] = max($worksheetInfo[0]['lastColumnIndex'], $columnIndex); + } + } + } + + $worksheetInfo[0]['lastColumnLetter'] = PHPExcel_Cell::stringFromColumnIndex($worksheetInfo[0]['lastColumnIndex']); + $worksheetInfo[0]['totalColumns'] = $worksheetInfo[0]['lastColumnIndex'] + 1; + + // Close file + fclose($fileHandle); + + return $worksheetInfo; + } + + /** + * Loads PHPExcel from file + * + * @param string $pFilename + * @return PHPExcel + * @throws PHPExcel_Reader_Exception + */ + public function load($pFilename) + { + // Create new PHPExcel + $objPHPExcel = new PHPExcel(); + + // Load into this instance + return $this->loadIntoExisting($pFilename, $objPHPExcel); + } + + /** + * Loads PHPExcel from file into PHPExcel instance + * + * @param string $pFilename + * @param PHPExcel $objPHPExcel + * @return PHPExcel + * @throws PHPExcel_Reader_Exception + */ + public function loadIntoExisting($pFilename, PHPExcel $objPHPExcel) + { + // Open file + $this->_openFile($pFilename); + if (!$this->_isValidFormat()) { + fclose ($this->_fileHandle); + throw new PHPExcel_Reader_Exception($pFilename . " is an Invalid Spreadsheet file."); + } + $fileHandle = $this->_fileHandle; + rewind($fileHandle); + + // Create new PHPExcel + while ($objPHPExcel->getSheetCount() <= $this->_sheetIndex) { + $objPHPExcel->createSheet(); + } + $objPHPExcel->setActiveSheetIndex( $this->_sheetIndex ); + + $fromFormats = array('\-', '\ '); + $toFormats = array('-', ' '); + + // Loop through file + $rowData = array(); + $column = $row = ''; + + // loop through one row (line) at a time in the file + while (($rowData = fgets($fileHandle)) !== FALSE) { + + // convert SYLK encoded $rowData to UTF-8 + $rowData = PHPExcel_Shared_String::SYLKtoUTF8($rowData); + + // explode each row at semicolons while taking into account that literal semicolon (;) + // is escaped like this (;;) + $rowData = explode("\t",str_replace('¤',';',str_replace(';',"\t",str_replace(';;','¤',rtrim($rowData))))); + + $dataType = array_shift($rowData); + // Read shared styles + if ($dataType == 'P') { + $formatArray = array(); + foreach($rowData as $rowDatum) { + switch($rowDatum{0}) { + case 'P' : $formatArray['numberformat']['code'] = str_replace($fromFormats,$toFormats,substr($rowDatum,1)); + break; + case 'E' : + case 'F' : $formatArray['font']['name'] = substr($rowDatum,1); + break; + case 'L' : $formatArray['font']['size'] = substr($rowDatum,1); + break; + case 'S' : $styleSettings = substr($rowDatum,1); + for ($i=0;$i<strlen($styleSettings);++$i) { + switch ($styleSettings{$i}) { + case 'I' : $formatArray['font']['italic'] = true; + break; + case 'D' : $formatArray['font']['bold'] = true; + break; + case 'T' : $formatArray['borders']['top']['style'] = PHPExcel_Style_Border::BORDER_THIN; + break; + case 'B' : $formatArray['borders']['bottom']['style'] = PHPExcel_Style_Border::BORDER_THIN; + break; + case 'L' : $formatArray['borders']['left']['style'] = PHPExcel_Style_Border::BORDER_THIN; + break; + case 'R' : $formatArray['borders']['right']['style'] = PHPExcel_Style_Border::BORDER_THIN; + break; + } + } + break; + } + } + $this->_formats['P'.$this->_format++] = $formatArray; + // Read cell value data + } elseif ($dataType == 'C') { + $hasCalculatedValue = false; + $cellData = $cellDataFormula = ''; + foreach($rowData as $rowDatum) { + switch($rowDatum{0}) { + case 'C' : + case 'X' : $column = substr($rowDatum,1); + break; + case 'R' : + case 'Y' : $row = substr($rowDatum,1); + break; + case 'K' : $cellData = substr($rowDatum,1); + break; + case 'E' : $cellDataFormula = '='.substr($rowDatum,1); + // Convert R1C1 style references to A1 style references (but only when not quoted) + $temp = explode('"',$cellDataFormula); + $key = false; + foreach($temp as &$value) { + // Only count/replace in alternate array entries + if ($key = !$key) { + preg_match_all('/(R(\[?-?\d*\]?))(C(\[?-?\d*\]?))/',$value, $cellReferences,PREG_SET_ORDER+PREG_OFFSET_CAPTURE); + // Reverse the matches array, otherwise all our offsets will become incorrect if we modify our way + // through the formula from left to right. Reversing means that we work right to left.through + // the formula + $cellReferences = array_reverse($cellReferences); + // Loop through each R1C1 style reference in turn, converting it to its A1 style equivalent, + // then modify the formula to use that new reference + foreach($cellReferences as $cellReference) { + $rowReference = $cellReference[2][0]; + // Empty R reference is the current row + if ($rowReference == '') $rowReference = $row; + // Bracketed R references are relative to the current row + if ($rowReference{0} == '[') $rowReference = $row + trim($rowReference,'[]'); + $columnReference = $cellReference[4][0]; + // Empty C reference is the current column + if ($columnReference == '') $columnReference = $column; + // Bracketed C references are relative to the current column + if ($columnReference{0} == '[') $columnReference = $column + trim($columnReference,'[]'); + $A1CellReference = PHPExcel_Cell::stringFromColumnIndex($columnReference-1).$rowReference; + + $value = substr_replace($value,$A1CellReference,$cellReference[0][1],strlen($cellReference[0][0])); + } + } + } + unset($value); + // Then rebuild the formula string + $cellDataFormula = implode('"',$temp); + $hasCalculatedValue = true; + break; + } + } + $columnLetter = PHPExcel_Cell::stringFromColumnIndex($column-1); + $cellData = PHPExcel_Calculation::_unwrapResult($cellData); + + // Set cell value + $objPHPExcel->getActiveSheet()->getCell($columnLetter.$row)->setValue(($hasCalculatedValue) ? $cellDataFormula : $cellData); + if ($hasCalculatedValue) { + $cellData = PHPExcel_Calculation::_unwrapResult($cellData); + $objPHPExcel->getActiveSheet()->getCell($columnLetter.$row)->setCalculatedValue($cellData); + } + // Read cell formatting + } elseif ($dataType == 'F') { + $formatStyle = $columnWidth = $styleSettings = ''; + $styleData = array(); + foreach($rowData as $rowDatum) { + switch($rowDatum{0}) { + case 'C' : + case 'X' : $column = substr($rowDatum,1); + break; + case 'R' : + case 'Y' : $row = substr($rowDatum,1); + break; + case 'P' : $formatStyle = $rowDatum; + break; + case 'W' : list($startCol,$endCol,$columnWidth) = explode(' ',substr($rowDatum,1)); + break; + case 'S' : $styleSettings = substr($rowDatum,1); + for ($i=0;$i<strlen($styleSettings);++$i) { + switch ($styleSettings{$i}) { + case 'I' : $styleData['font']['italic'] = true; + break; + case 'D' : $styleData['font']['bold'] = true; + break; + case 'T' : $styleData['borders']['top']['style'] = PHPExcel_Style_Border::BORDER_THIN; + break; + case 'B' : $styleData['borders']['bottom']['style'] = PHPExcel_Style_Border::BORDER_THIN; + break; + case 'L' : $styleData['borders']['left']['style'] = PHPExcel_Style_Border::BORDER_THIN; + break; + case 'R' : $styleData['borders']['right']['style'] = PHPExcel_Style_Border::BORDER_THIN; + break; + } + } + break; + } + } + if (($formatStyle > '') && ($column > '') && ($row > '')) { + $columnLetter = PHPExcel_Cell::stringFromColumnIndex($column-1); + if (isset($this->_formats[$formatStyle])) { + $objPHPExcel->getActiveSheet()->getStyle($columnLetter.$row)->applyFromArray($this->_formats[$formatStyle]); + } + } + if ((!empty($styleData)) && ($column > '') && ($row > '')) { + $columnLetter = PHPExcel_Cell::stringFromColumnIndex($column-1); + $objPHPExcel->getActiveSheet()->getStyle($columnLetter.$row)->applyFromArray($styleData); + } + if ($columnWidth > '') { + if ($startCol == $endCol) { + $startCol = PHPExcel_Cell::stringFromColumnIndex($startCol-1); + $objPHPExcel->getActiveSheet()->getColumnDimension($startCol)->setWidth($columnWidth); + } else { + $startCol = PHPExcel_Cell::stringFromColumnIndex($startCol-1); + $endCol = PHPExcel_Cell::stringFromColumnIndex($endCol-1); + $objPHPExcel->getActiveSheet()->getColumnDimension($startCol)->setWidth($columnWidth); + do { + $objPHPExcel->getActiveSheet()->getColumnDimension(++$startCol)->setWidth($columnWidth); + } while ($startCol != $endCol); + } + } + } else { + foreach($rowData as $rowDatum) { + switch($rowDatum{0}) { + case 'C' : + case 'X' : $column = substr($rowDatum,1); + break; + case 'R' : + case 'Y' : $row = substr($rowDatum,1); + break; + } + } + } + } + + // Close file + fclose($fileHandle); + + // Return + return $objPHPExcel; + } + + /** + * Get sheet index + * + * @return int + */ + public function getSheetIndex() { + return $this->_sheetIndex; + } + + /** + * Set sheet index + * + * @param int $pValue Sheet index + * @return PHPExcel_Reader_SYLK + */ + public function setSheetIndex($pValue = 0) { + $this->_sheetIndex = $pValue; + return $this; + } + +} diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/ReferenceHelper.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/ReferenceHelper.php new file mode 100644 index 00000000..9eadab4d --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/ReferenceHelper.php @@ -0,0 +1,922 @@ +<?php +/** + * PHPExcel + * + * Copyright (c) 2006 - 2014 PHPExcel + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * @category PHPExcel + * @package PHPExcel + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @version ##VERSION##, ##DATE## + */ + + +/** + * PHPExcel_ReferenceHelper (Singleton) + * + * @category PHPExcel + * @package PHPExcel + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + */ +class PHPExcel_ReferenceHelper +{ + /** Constants */ + /** Regular Expressions */ + const REFHELPER_REGEXP_CELLREF = '((\w*|\'[^!]*\')!)?(?<![:a-z\$])(\$?[a-z]{1,3}\$?\d+)(?=[^:!\d\'])'; + const REFHELPER_REGEXP_CELLRANGE = '((\w*|\'[^!]*\')!)?(\$?[a-z]{1,3}\$?\d+):(\$?[a-z]{1,3}\$?\d+)'; + const REFHELPER_REGEXP_ROWRANGE = '((\w*|\'[^!]*\')!)?(\$?\d+):(\$?\d+)'; + const REFHELPER_REGEXP_COLRANGE = '((\w*|\'[^!]*\')!)?(\$?[a-z]{1,3}):(\$?[a-z]{1,3})'; + + /** + * Instance of this class + * + * @var PHPExcel_ReferenceHelper + */ + private static $_instance; + + /** + * Get an instance of this class + * + * @return PHPExcel_ReferenceHelper + */ + public static function getInstance() { + if (!isset(self::$_instance) || (self::$_instance === NULL)) { + self::$_instance = new PHPExcel_ReferenceHelper(); + } + + return self::$_instance; + } + + /** + * Create a new PHPExcel_ReferenceHelper + */ + protected function __construct() { + } + + /** + * Compare two column addresses + * Intended for use as a Callback function for sorting column addresses by column + * + * @param string $a First column to test (e.g. 'AA') + * @param string $b Second column to test (e.g. 'Z') + * @return integer + */ + public static function columnSort($a, $b) { + return strcasecmp(strlen($a) . $a, strlen($b) . $b); + } + + /** + * Compare two column addresses + * Intended for use as a Callback function for reverse sorting column addresses by column + * + * @param string $a First column to test (e.g. 'AA') + * @param string $b Second column to test (e.g. 'Z') + * @return integer + */ + public static function columnReverseSort($a, $b) { + return 1 - strcasecmp(strlen($a) . $a, strlen($b) . $b); + } + + /** + * Compare two cell addresses + * Intended for use as a Callback function for sorting cell addresses by column and row + * + * @param string $a First cell to test (e.g. 'AA1') + * @param string $b Second cell to test (e.g. 'Z1') + * @return integer + */ + public static function cellSort($a, $b) { + sscanf($a,'%[A-Z]%d', $ac, $ar); + sscanf($b,'%[A-Z]%d', $bc, $br); + + if ($ar == $br) { + return strcasecmp(strlen($ac) . $ac, strlen($bc) . $bc); + } + return ($ar < $br) ? -1 : 1; + } + + /** + * Compare two cell addresses + * Intended for use as a Callback function for sorting cell addresses by column and row + * + * @param string $a First cell to test (e.g. 'AA1') + * @param string $b Second cell to test (e.g. 'Z1') + * @return integer + */ + public static function cellReverseSort($a, $b) { + sscanf($a,'%[A-Z]%d', $ac, $ar); + sscanf($b,'%[A-Z]%d', $bc, $br); + + if ($ar == $br) { + return 1 - strcasecmp(strlen($ac) . $ac, strlen($bc) . $bc); + } + return ($ar < $br) ? 1 : -1; + } + + /** + * Test whether a cell address falls within a defined range of cells + * + * @param string $cellAddress Address of the cell we're testing + * @param integer $beforeRow Number of the row we're inserting/deleting before + * @param integer $pNumRows Number of rows to insert/delete (negative values indicate deletion) + * @param integer $beforeColumnIndex Index number of the column we're inserting/deleting before + * @param integer $pNumCols Number of columns to insert/delete (negative values indicate deletion) + * @return boolean + */ + private static function cellAddressInDeleteRange($cellAddress, $beforeRow, $pNumRows, $beforeColumnIndex, $pNumCols) { + list($cellColumn, $cellRow) = PHPExcel_Cell::coordinateFromString($cellAddress); + $cellColumnIndex = PHPExcel_Cell::columnIndexFromString($cellColumn); + // Is cell within the range of rows/columns if we're deleting + if ($pNumRows < 0 && + ($cellRow >= ($beforeRow + $pNumRows)) && + ($cellRow < $beforeRow)) { + return TRUE; + } elseif ($pNumCols < 0 && + ($cellColumnIndex >= ($beforeColumnIndex + $pNumCols)) && + ($cellColumnIndex < $beforeColumnIndex)) { + return TRUE; + } + return FALSE; + } + + /** + * Update page breaks when inserting/deleting rows/columns + * + * @param PHPExcel_Worksheet $pSheet The worksheet that we're editing + * @param string $pBefore Insert/Delete before this cell address (e.g. 'A1') + * @param integer $beforeColumnIndex Index number of the column we're inserting/deleting before + * @param integer $pNumCols Number of columns to insert/delete (negative values indicate deletion) + * @param integer $beforeRow Number of the row we're inserting/deleting before + * @param integer $pNumRows Number of rows to insert/delete (negative values indicate deletion) + */ + protected function _adjustPageBreaks(PHPExcel_Worksheet $pSheet, $pBefore, $beforeColumnIndex, $pNumCols, $beforeRow, $pNumRows) + { + $aBreaks = $pSheet->getBreaks(); + ($pNumCols > 0 || $pNumRows > 0) ? + uksort($aBreaks, array('PHPExcel_ReferenceHelper','cellReverseSort')) : + uksort($aBreaks, array('PHPExcel_ReferenceHelper','cellSort')); + + foreach ($aBreaks as $key => $value) { + if (self::cellAddressInDeleteRange($key, $beforeRow, $pNumRows, $beforeColumnIndex, $pNumCols)) { + // If we're deleting, then clear any defined breaks that are within the range + // of rows/columns that we're deleting + $pSheet->setBreak($key, PHPExcel_Worksheet::BREAK_NONE); + } else { + // Otherwise update any affected breaks by inserting a new break at the appropriate point + // and removing the old affected break + $newReference = $this->updateCellReference($key, $pBefore, $pNumCols, $pNumRows); + if ($key != $newReference) { + $pSheet->setBreak($newReference, $value) + ->setBreak($key, PHPExcel_Worksheet::BREAK_NONE); + } + } + } + } + + /** + * Update cell comments when inserting/deleting rows/columns + * + * @param PHPExcel_Worksheet $pSheet The worksheet that we're editing + * @param string $pBefore Insert/Delete before this cell address (e.g. 'A1') + * @param integer $beforeColumnIndex Index number of the column we're inserting/deleting before + * @param integer $pNumCols Number of columns to insert/delete (negative values indicate deletion) + * @param integer $beforeRow Number of the row we're inserting/deleting before + * @param integer $pNumRows Number of rows to insert/delete (negative values indicate deletion) + */ + protected function _adjustComments($pSheet, $pBefore, $beforeColumnIndex, $pNumCols, $beforeRow, $pNumRows) + { + $aComments = $pSheet->getComments(); + $aNewComments = array(); // the new array of all comments + + foreach ($aComments as $key => &$value) { + // Any comments inside a deleted range will be ignored + if (!self::cellAddressInDeleteRange($key, $beforeRow, $pNumRows, $beforeColumnIndex, $pNumCols)) { + // Otherwise build a new array of comments indexed by the adjusted cell reference + $newReference = $this->updateCellReference($key, $pBefore, $pNumCols, $pNumRows); + $aNewComments[$newReference] = $value; + } + } + // Replace the comments array with the new set of comments + $pSheet->setComments($aNewComments); + } + + /** + * Update hyperlinks when inserting/deleting rows/columns + * + * @param PHPExcel_Worksheet $pSheet The worksheet that we're editing + * @param string $pBefore Insert/Delete before this cell address (e.g. 'A1') + * @param integer $beforeColumnIndex Index number of the column we're inserting/deleting before + * @param integer $pNumCols Number of columns to insert/delete (negative values indicate deletion) + * @param integer $beforeRow Number of the row we're inserting/deleting before + * @param integer $pNumRows Number of rows to insert/delete (negative values indicate deletion) + */ + protected function _adjustHyperlinks($pSheet, $pBefore, $beforeColumnIndex, $pNumCols, $beforeRow, $pNumRows) + { + $aHyperlinkCollection = $pSheet->getHyperlinkCollection(); + ($pNumCols > 0 || $pNumRows > 0) ? + uksort($aHyperlinkCollection, array('PHPExcel_ReferenceHelper','cellReverseSort')) : + uksort($aHyperlinkCollection, array('PHPExcel_ReferenceHelper','cellSort')); + + foreach ($aHyperlinkCollection as $key => $value) { + $newReference = $this->updateCellReference($key, $pBefore, $pNumCols, $pNumRows); + if ($key != $newReference) { + $pSheet->setHyperlink( $newReference, $value ); + $pSheet->setHyperlink( $key, null ); + } + } + } + + /** + * Update data validations when inserting/deleting rows/columns + * + * @param PHPExcel_Worksheet $pSheet The worksheet that we're editing + * @param string $pBefore Insert/Delete before this cell address (e.g. 'A1') + * @param integer $beforeColumnIndex Index number of the column we're inserting/deleting before + * @param integer $pNumCols Number of columns to insert/delete (negative values indicate deletion) + * @param integer $beforeRow Number of the row we're inserting/deleting before + * @param integer $pNumRows Number of rows to insert/delete (negative values indicate deletion) + */ + protected function _adjustDataValidations($pSheet, $pBefore, $beforeColumnIndex, $pNumCols, $beforeRow, $pNumRows) + { + $aDataValidationCollection = $pSheet->getDataValidationCollection(); + ($pNumCols > 0 || $pNumRows > 0) ? + uksort($aDataValidationCollection, array('PHPExcel_ReferenceHelper','cellReverseSort')) : + uksort($aDataValidationCollection, array('PHPExcel_ReferenceHelper','cellSort')); + foreach ($aDataValidationCollection as $key => $value) { + $newReference = $this->updateCellReference($key, $pBefore, $pNumCols, $pNumRows); + if ($key != $newReference) { + $pSheet->setDataValidation( $newReference, $value ); + $pSheet->setDataValidation( $key, null ); + } + } + } + + /** + * Update merged cells when inserting/deleting rows/columns + * + * @param PHPExcel_Worksheet $pSheet The worksheet that we're editing + * @param string $pBefore Insert/Delete before this cell address (e.g. 'A1') + * @param integer $beforeColumnIndex Index number of the column we're inserting/deleting before + * @param integer $pNumCols Number of columns to insert/delete (negative values indicate deletion) + * @param integer $beforeRow Number of the row we're inserting/deleting before + * @param integer $pNumRows Number of rows to insert/delete (negative values indicate deletion) + */ + protected function _adjustMergeCells($pSheet, $pBefore, $beforeColumnIndex, $pNumCols, $beforeRow, $pNumRows) + { + $aMergeCells = $pSheet->getMergeCells(); + $aNewMergeCells = array(); // the new array of all merge cells + foreach ($aMergeCells as $key => &$value) { + $newReference = $this->updateCellReference($key, $pBefore, $pNumCols, $pNumRows); + $aNewMergeCells[$newReference] = $newReference; + } + $pSheet->setMergeCells($aNewMergeCells); // replace the merge cells array + } + + /** + * Update protected cells when inserting/deleting rows/columns + * + * @param PHPExcel_Worksheet $pSheet The worksheet that we're editing + * @param string $pBefore Insert/Delete before this cell address (e.g. 'A1') + * @param integer $beforeColumnIndex Index number of the column we're inserting/deleting before + * @param integer $pNumCols Number of columns to insert/delete (negative values indicate deletion) + * @param integer $beforeRow Number of the row we're inserting/deleting before + * @param integer $pNumRows Number of rows to insert/delete (negative values indicate deletion) + */ + protected function _adjustProtectedCells($pSheet, $pBefore, $beforeColumnIndex, $pNumCols, $beforeRow, $pNumRows) + { + $aProtectedCells = $pSheet->getProtectedCells(); + ($pNumCols > 0 || $pNumRows > 0) ? + uksort($aProtectedCells, array('PHPExcel_ReferenceHelper','cellReverseSort')) : + uksort($aProtectedCells, array('PHPExcel_ReferenceHelper','cellSort')); + foreach ($aProtectedCells as $key => $value) { + $newReference = $this->updateCellReference($key, $pBefore, $pNumCols, $pNumRows); + if ($key != $newReference) { + $pSheet->protectCells( $newReference, $value, true ); + $pSheet->unprotectCells( $key ); + } + } + } + + /** + * Update column dimensions when inserting/deleting rows/columns + * + * @param PHPExcel_Worksheet $pSheet The worksheet that we're editing + * @param string $pBefore Insert/Delete before this cell address (e.g. 'A1') + * @param integer $beforeColumnIndex Index number of the column we're inserting/deleting before + * @param integer $pNumCols Number of columns to insert/delete (negative values indicate deletion) + * @param integer $beforeRow Number of the row we're inserting/deleting before + * @param integer $pNumRows Number of rows to insert/delete (negative values indicate deletion) + */ + protected function _adjustColumnDimensions($pSheet, $pBefore, $beforeColumnIndex, $pNumCols, $beforeRow, $pNumRows) + { + $aColumnDimensions = array_reverse($pSheet->getColumnDimensions(), true); + if (!empty($aColumnDimensions)) { + foreach ($aColumnDimensions as $objColumnDimension) { + $newReference = $this->updateCellReference($objColumnDimension->getColumnIndex() . '1', $pBefore, $pNumCols, $pNumRows); + list($newReference) = PHPExcel_Cell::coordinateFromString($newReference); + if ($objColumnDimension->getColumnIndex() != $newReference) { + $objColumnDimension->setColumnIndex($newReference); + } + } + $pSheet->refreshColumnDimensions(); + } + } + + /** + * Update row dimensions when inserting/deleting rows/columns + * + * @param PHPExcel_Worksheet $pSheet The worksheet that we're editing + * @param string $pBefore Insert/Delete before this cell address (e.g. 'A1') + * @param integer $beforeColumnIndex Index number of the column we're inserting/deleting before + * @param integer $pNumCols Number of columns to insert/delete (negative values indicate deletion) + * @param integer $beforeRow Number of the row we're inserting/deleting before + * @param integer $pNumRows Number of rows to insert/delete (negative values indicate deletion) + */ + protected function _adjustRowDimensions($pSheet, $pBefore, $beforeColumnIndex, $pNumCols, $beforeRow, $pNumRows) + { + $aRowDimensions = array_reverse($pSheet->getRowDimensions(), true); + if (!empty($aRowDimensions)) { + foreach ($aRowDimensions as $objRowDimension) { + $newReference = $this->updateCellReference('A' . $objRowDimension->getRowIndex(), $pBefore, $pNumCols, $pNumRows); + list(, $newReference) = PHPExcel_Cell::coordinateFromString($newReference); + if ($objRowDimension->getRowIndex() != $newReference) { + $objRowDimension->setRowIndex($newReference); + } + } + $pSheet->refreshRowDimensions(); + + $copyDimension = $pSheet->getRowDimension($beforeRow - 1); + for ($i = $beforeRow; $i <= $beforeRow - 1 + $pNumRows; ++$i) { + $newDimension = $pSheet->getRowDimension($i); + $newDimension->setRowHeight($copyDimension->getRowHeight()); + $newDimension->setVisible($copyDimension->getVisible()); + $newDimension->setOutlineLevel($copyDimension->getOutlineLevel()); + $newDimension->setCollapsed($copyDimension->getCollapsed()); + } + } + } + + /** + * Insert a new column or row, updating all possible related data + * + * @param string $pBefore Insert before this cell address (e.g. 'A1') + * @param integer $pNumCols Number of columns to insert/delete (negative values indicate deletion) + * @param integer $pNumRows Number of rows to insert/delete (negative values indicate deletion) + * @param PHPExcel_Worksheet $pSheet The worksheet that we're editing + * @throws PHPExcel_Exception + */ + public function insertNewBefore($pBefore = 'A1', $pNumCols = 0, $pNumRows = 0, PHPExcel_Worksheet $pSheet = NULL) + { + $remove = ($pNumCols < 0 || $pNumRows < 0); + $aCellCollection = $pSheet->getCellCollection(); + + // Get coordinates of $pBefore + $beforeColumn = 'A'; + $beforeRow = 1; + list($beforeColumn, $beforeRow) = PHPExcel_Cell::coordinateFromString($pBefore); + $beforeColumnIndex = PHPExcel_Cell::columnIndexFromString($beforeColumn); + + // Clear cells if we are removing columns or rows + $highestColumn = $pSheet->getHighestColumn(); + $highestRow = $pSheet->getHighestRow(); + + // 1. Clear column strips if we are removing columns + if ($pNumCols < 0 && $beforeColumnIndex - 2 + $pNumCols > 0) { + for ($i = 1; $i <= $highestRow - 1; ++$i) { + for ($j = $beforeColumnIndex - 1 + $pNumCols; $j <= $beforeColumnIndex - 2; ++$j) { + $coordinate = PHPExcel_Cell::stringFromColumnIndex($j) . $i; + $pSheet->removeConditionalStyles($coordinate); + if ($pSheet->cellExists($coordinate)) { + $pSheet->getCell($coordinate)->setValueExplicit('', PHPExcel_Cell_DataType::TYPE_NULL); + $pSheet->getCell($coordinate)->setXfIndex(0); + } + } + } + } + + // 2. Clear row strips if we are removing rows + if ($pNumRows < 0 && $beforeRow - 1 + $pNumRows > 0) { + for ($i = $beforeColumnIndex - 1; $i <= PHPExcel_Cell::columnIndexFromString($highestColumn) - 1; ++$i) { + for ($j = $beforeRow + $pNumRows; $j <= $beforeRow - 1; ++$j) { + $coordinate = PHPExcel_Cell::stringFromColumnIndex($i) . $j; + $pSheet->removeConditionalStyles($coordinate); + if ($pSheet->cellExists($coordinate)) { + $pSheet->getCell($coordinate)->setValueExplicit('', PHPExcel_Cell_DataType::TYPE_NULL); + $pSheet->getCell($coordinate)->setXfIndex(0); + } + } + } + } + + // Loop through cells, bottom-up, and change cell coordinates + if($remove) { + // It's faster to reverse and pop than to use unshift, especially with large cell collections + $aCellCollection = array_reverse($aCellCollection); + } + while ($cellID = array_pop($aCellCollection)) { + $cell = $pSheet->getCell($cellID); + $cellIndex = PHPExcel_Cell::columnIndexFromString($cell->getColumn()); + + if ($cellIndex-1 + $pNumCols < 0) { + continue; + } + + // New coordinates + $newCoordinates = PHPExcel_Cell::stringFromColumnIndex($cellIndex-1 + $pNumCols) . ($cell->getRow() + $pNumRows); + + // Should the cell be updated? Move value and cellXf index from one cell to another. + if (($cellIndex >= $beforeColumnIndex) && + ($cell->getRow() >= $beforeRow)) { + + // Update cell styles + $pSheet->getCell($newCoordinates)->setXfIndex($cell->getXfIndex()); + + // Insert this cell at its new location + if ($cell->getDataType() == PHPExcel_Cell_DataType::TYPE_FORMULA) { + // Formula should be adjusted + $pSheet->getCell($newCoordinates) + ->setValue($this->updateFormulaReferences($cell->getValue(), + $pBefore, $pNumCols, $pNumRows, $pSheet->getTitle())); + } else { + // Formula should not be adjusted + $pSheet->getCell($newCoordinates)->setValue($cell->getValue()); + } + + // Clear the original cell + $pSheet->getCellCacheController()->deleteCacheData($cellID); + + } else { + /* We don't need to update styles for rows/columns before our insertion position, + but we do still need to adjust any formulae in those cells */ + if ($cell->getDataType() == PHPExcel_Cell_DataType::TYPE_FORMULA) { + // Formula should be adjusted + $cell->setValue($this->updateFormulaReferences($cell->getValue(), + $pBefore, $pNumCols, $pNumRows, $pSheet->getTitle())); + } + + } + } + + // Duplicate styles for the newly inserted cells + $highestColumn = $pSheet->getHighestColumn(); + $highestRow = $pSheet->getHighestRow(); + + if ($pNumCols > 0 && $beforeColumnIndex - 2 > 0) { + for ($i = $beforeRow; $i <= $highestRow - 1; ++$i) { + + // Style + $coordinate = PHPExcel_Cell::stringFromColumnIndex( $beforeColumnIndex - 2 ) . $i; + if ($pSheet->cellExists($coordinate)) { + $xfIndex = $pSheet->getCell($coordinate)->getXfIndex(); + $conditionalStyles = $pSheet->conditionalStylesExists($coordinate) ? + $pSheet->getConditionalStyles($coordinate) : false; + for ($j = $beforeColumnIndex - 1; $j <= $beforeColumnIndex - 2 + $pNumCols; ++$j) { + $pSheet->getCellByColumnAndRow($j, $i)->setXfIndex($xfIndex); + if ($conditionalStyles) { + $cloned = array(); + foreach ($conditionalStyles as $conditionalStyle) { + $cloned[] = clone $conditionalStyle; + } + $pSheet->setConditionalStyles(PHPExcel_Cell::stringFromColumnIndex($j) . $i, $cloned); + } + } + } + + } + } + + if ($pNumRows > 0 && $beforeRow - 1 > 0) { + for ($i = $beforeColumnIndex - 1; $i <= PHPExcel_Cell::columnIndexFromString($highestColumn) - 1; ++$i) { + + // Style + $coordinate = PHPExcel_Cell::stringFromColumnIndex($i) . ($beforeRow - 1); + if ($pSheet->cellExists($coordinate)) { + $xfIndex = $pSheet->getCell($coordinate)->getXfIndex(); + $conditionalStyles = $pSheet->conditionalStylesExists($coordinate) ? + $pSheet->getConditionalStyles($coordinate) : false; + for ($j = $beforeRow; $j <= $beforeRow - 1 + $pNumRows; ++$j) { + $pSheet->getCell(PHPExcel_Cell::stringFromColumnIndex($i) . $j)->setXfIndex($xfIndex); + if ($conditionalStyles) { + $cloned = array(); + foreach ($conditionalStyles as $conditionalStyle) { + $cloned[] = clone $conditionalStyle; + } + $pSheet->setConditionalStyles(PHPExcel_Cell::stringFromColumnIndex($i) . $j, $cloned); + } + } + } + } + } + + // Update worksheet: column dimensions + $this->_adjustColumnDimensions($pSheet, $pBefore, $beforeColumnIndex, $pNumCols, $beforeRow, $pNumRows); + + // Update worksheet: row dimensions + $this->_adjustRowDimensions($pSheet, $pBefore, $beforeColumnIndex, $pNumCols, $beforeRow, $pNumRows); + + // Update worksheet: page breaks + $this->_adjustPageBreaks($pSheet, $pBefore, $beforeColumnIndex, $pNumCols, $beforeRow, $pNumRows); + + // Update worksheet: comments + $this->_adjustComments($pSheet, $pBefore, $beforeColumnIndex, $pNumCols, $beforeRow, $pNumRows); + + // Update worksheet: hyperlinks + $this->_adjustHyperlinks($pSheet, $pBefore, $beforeColumnIndex, $pNumCols, $beforeRow, $pNumRows); + + // Update worksheet: data validations + $this->_adjustDataValidations($pSheet, $pBefore, $beforeColumnIndex, $pNumCols, $beforeRow, $pNumRows); + + // Update worksheet: merge cells + $this->_adjustMergeCells($pSheet, $pBefore, $beforeColumnIndex, $pNumCols, $beforeRow, $pNumRows); + + // Update worksheet: protected cells + $this->_adjustProtectedCells($pSheet, $pBefore, $beforeColumnIndex, $pNumCols, $beforeRow, $pNumRows); + + // Update worksheet: autofilter + $autoFilter = $pSheet->getAutoFilter(); + $autoFilterRange = $autoFilter->getRange(); + if (!empty($autoFilterRange)) { + if ($pNumCols != 0) { + $autoFilterColumns = array_keys($autoFilter->getColumns()); + if (count($autoFilterColumns) > 0) { + sscanf($pBefore,'%[A-Z]%d', $column, $row); + $columnIndex = PHPExcel_Cell::columnIndexFromString($column); + list($rangeStart,$rangeEnd) = PHPExcel_Cell::rangeBoundaries($autoFilterRange); + if ($columnIndex <= $rangeEnd[0]) { + if ($pNumCols < 0) { + // If we're actually deleting any columns that fall within the autofilter range, + // then we delete any rules for those columns + $deleteColumn = $columnIndex + $pNumCols - 1; + $deleteCount = abs($pNumCols); + for ($i = 1; $i <= $deleteCount; ++$i) { + if (in_array(PHPExcel_Cell::stringFromColumnIndex($deleteColumn),$autoFilterColumns)) { + $autoFilter->clearColumn(PHPExcel_Cell::stringFromColumnIndex($deleteColumn)); + } + ++$deleteColumn; + } + } + $startCol = ($columnIndex > $rangeStart[0]) ? $columnIndex : $rangeStart[0]; + + // Shuffle columns in autofilter range + if ($pNumCols > 0) { + // For insert, we shuffle from end to beginning to avoid overwriting + $startColID = PHPExcel_Cell::stringFromColumnIndex($startCol-1); + $toColID = PHPExcel_Cell::stringFromColumnIndex($startCol+$pNumCols-1); + $endColID = PHPExcel_Cell::stringFromColumnIndex($rangeEnd[0]); + + $startColRef = $startCol; + $endColRef = $rangeEnd[0]; + $toColRef = $rangeEnd[0]+$pNumCols; + + do { + $autoFilter->shiftColumn(PHPExcel_Cell::stringFromColumnIndex($endColRef-1),PHPExcel_Cell::stringFromColumnIndex($toColRef-1)); + --$endColRef; + --$toColRef; + } while ($startColRef <= $endColRef); + } else { + // For delete, we shuffle from beginning to end to avoid overwriting + $startColID = PHPExcel_Cell::stringFromColumnIndex($startCol-1); + $toColID = PHPExcel_Cell::stringFromColumnIndex($startCol+$pNumCols-1); + $endColID = PHPExcel_Cell::stringFromColumnIndex($rangeEnd[0]); + do { + $autoFilter->shiftColumn($startColID,$toColID); + ++$startColID; + ++$toColID; + } while ($startColID != $endColID); + } + } + } + } + $pSheet->setAutoFilter( $this->updateCellReference($autoFilterRange, $pBefore, $pNumCols, $pNumRows) ); + } + + // Update worksheet: freeze pane + if ($pSheet->getFreezePane() != '') { + $pSheet->freezePane( $this->updateCellReference($pSheet->getFreezePane(), $pBefore, $pNumCols, $pNumRows) ); + } + + // Page setup + if ($pSheet->getPageSetup()->isPrintAreaSet()) { + $pSheet->getPageSetup()->setPrintArea( $this->updateCellReference($pSheet->getPageSetup()->getPrintArea(), $pBefore, $pNumCols, $pNumRows) ); + } + + // Update worksheet: drawings + $aDrawings = $pSheet->getDrawingCollection(); + foreach ($aDrawings as $objDrawing) { + $newReference = $this->updateCellReference($objDrawing->getCoordinates(), $pBefore, $pNumCols, $pNumRows); + if ($objDrawing->getCoordinates() != $newReference) { + $objDrawing->setCoordinates($newReference); + } + } + + // Update workbook: named ranges + if (count($pSheet->getParent()->getNamedRanges()) > 0) { + foreach ($pSheet->getParent()->getNamedRanges() as $namedRange) { + if ($namedRange->getWorksheet()->getHashCode() == $pSheet->getHashCode()) { + $namedRange->setRange( + $this->updateCellReference($namedRange->getRange(), $pBefore, $pNumCols, $pNumRows) + ); + } + } + } + + // Garbage collect + $pSheet->garbageCollect(); + } + + /** + * Update references within formulas + * + * @param string $pFormula Formula to update + * @param int $pBefore Insert before this one + * @param int $pNumCols Number of columns to insert + * @param int $pNumRows Number of rows to insert + * @param string $sheetName Worksheet name/title + * @return string Updated formula + * @throws PHPExcel_Exception + */ + public function updateFormulaReferences($pFormula = '', $pBefore = 'A1', $pNumCols = 0, $pNumRows = 0, $sheetName = '') { + // Update cell references in the formula + $formulaBlocks = explode('"',$pFormula); + $i = false; + foreach($formulaBlocks as &$formulaBlock) { + // Ignore blocks that were enclosed in quotes (alternating entries in the $formulaBlocks array after the explode) + if ($i = !$i) { + $adjustCount = 0; + $newCellTokens = $cellTokens = array(); + // Search for row ranges (e.g. 'Sheet1'!3:5 or 3:5) with or without $ absolutes (e.g. $3:5) + $matchCount = preg_match_all('/'.self::REFHELPER_REGEXP_ROWRANGE.'/i', ' '.$formulaBlock.' ', $matches, PREG_SET_ORDER); + if ($matchCount > 0) { + foreach($matches as $match) { + $fromString = ($match[2] > '') ? $match[2].'!' : ''; + $fromString .= $match[3].':'.$match[4]; + $modified3 = substr($this->updateCellReference('$A'.$match[3],$pBefore,$pNumCols,$pNumRows),2); + $modified4 = substr($this->updateCellReference('$A'.$match[4],$pBefore,$pNumCols,$pNumRows),2); + + if ($match[3].':'.$match[4] !== $modified3.':'.$modified4) { + if (($match[2] == '') || (trim($match[2],"'") == $sheetName)) { + $toString = ($match[2] > '') ? $match[2].'!' : ''; + $toString .= $modified3.':'.$modified4; + // Max worksheet size is 1,048,576 rows by 16,384 columns in Excel 2007, so our adjustments need to be at least one digit more + $column = 100000; + $row = 10000000+trim($match[3],'$'); + $cellIndex = $column.$row; + + $newCellTokens[$cellIndex] = preg_quote($toString); + $cellTokens[$cellIndex] = '/(?<!\d\$\!)'.preg_quote($fromString).'(?!\d)/i'; + ++$adjustCount; + } + } + } + } + // Search for column ranges (e.g. 'Sheet1'!C:E or C:E) with or without $ absolutes (e.g. $C:E) + $matchCount = preg_match_all('/'.self::REFHELPER_REGEXP_COLRANGE.'/i', ' '.$formulaBlock.' ', $matches, PREG_SET_ORDER); + if ($matchCount > 0) { + foreach($matches as $match) { + $fromString = ($match[2] > '') ? $match[2].'!' : ''; + $fromString .= $match[3].':'.$match[4]; + $modified3 = substr($this->updateCellReference($match[3].'$1',$pBefore,$pNumCols,$pNumRows),0,-2); + $modified4 = substr($this->updateCellReference($match[4].'$1',$pBefore,$pNumCols,$pNumRows),0,-2); + + if ($match[3].':'.$match[4] !== $modified3.':'.$modified4) { + if (($match[2] == '') || (trim($match[2],"'") == $sheetName)) { + $toString = ($match[2] > '') ? $match[2].'!' : ''; + $toString .= $modified3.':'.$modified4; + // Max worksheet size is 1,048,576 rows by 16,384 columns in Excel 2007, so our adjustments need to be at least one digit more + $column = PHPExcel_Cell::columnIndexFromString(trim($match[3],'$')) + 100000; + $row = 10000000; + $cellIndex = $column.$row; + + $newCellTokens[$cellIndex] = preg_quote($toString); + $cellTokens[$cellIndex] = '/(?<![A-Z\$\!])'.preg_quote($fromString).'(?![A-Z])/i'; + ++$adjustCount; + } + } + } + } + // Search for cell ranges (e.g. 'Sheet1'!A3:C5 or A3:C5) with or without $ absolutes (e.g. $A1:C$5) + $matchCount = preg_match_all('/'.self::REFHELPER_REGEXP_CELLRANGE.'/i', ' '.$formulaBlock.' ', $matches, PREG_SET_ORDER); + if ($matchCount > 0) { + foreach($matches as $match) { + $fromString = ($match[2] > '') ? $match[2].'!' : ''; + $fromString .= $match[3].':'.$match[4]; + $modified3 = $this->updateCellReference($match[3],$pBefore,$pNumCols,$pNumRows); + $modified4 = $this->updateCellReference($match[4],$pBefore,$pNumCols,$pNumRows); + + if ($match[3].$match[4] !== $modified3.$modified4) { + if (($match[2] == '') || (trim($match[2],"'") == $sheetName)) { + $toString = ($match[2] > '') ? $match[2].'!' : ''; + $toString .= $modified3.':'.$modified4; + list($column,$row) = PHPExcel_Cell::coordinateFromString($match[3]); + // Max worksheet size is 1,048,576 rows by 16,384 columns in Excel 2007, so our adjustments need to be at least one digit more + $column = PHPExcel_Cell::columnIndexFromString(trim($column,'$')) + 100000; + $row = trim($row,'$') + 10000000; + $cellIndex = $column.$row; + + $newCellTokens[$cellIndex] = preg_quote($toString); + $cellTokens[$cellIndex] = '/(?<![A-Z]\$\!)'.preg_quote($fromString).'(?!\d)/i'; + ++$adjustCount; + } + } + } + } + // Search for cell references (e.g. 'Sheet1'!A3 or C5) with or without $ absolutes (e.g. $A1 or C$5) + $matchCount = preg_match_all('/'.self::REFHELPER_REGEXP_CELLREF.'/i', ' '.$formulaBlock.' ', $matches, PREG_SET_ORDER); + + if ($matchCount > 0) { + foreach($matches as $match) { + $fromString = ($match[2] > '') ? $match[2].'!' : ''; + $fromString .= $match[3]; + + $modified3 = $this->updateCellReference($match[3],$pBefore,$pNumCols,$pNumRows); + if ($match[3] !== $modified3) { + if (($match[2] == '') || (trim($match[2],"'") == $sheetName)) { + $toString = ($match[2] > '') ? $match[2].'!' : ''; + $toString .= $modified3; + list($column,$row) = PHPExcel_Cell::coordinateFromString($match[3]); + // Max worksheet size is 1,048,576 rows by 16,384 columns in Excel 2007, so our adjustments need to be at least one digit more + $column = PHPExcel_Cell::columnIndexFromString(trim($column,'$')) + 100000; + $row = trim($row,'$') + 10000000; + $cellIndex = $row . $column; + + $newCellTokens[$cellIndex] = preg_quote($toString); + $cellTokens[$cellIndex] = '/(?<![A-Z\$\!])'.preg_quote($fromString).'(?!\d)/i'; + ++$adjustCount; + } + } + } + } + if ($adjustCount > 0) { + if ($pNumCols > 0 || $pNumRows > 0) { + krsort($cellTokens); + krsort($newCellTokens); + } else { + ksort($cellTokens); + ksort($newCellTokens); + } // Update cell references in the formula + $formulaBlock = str_replace('\\','',preg_replace($cellTokens,$newCellTokens,$formulaBlock)); + } + } + } + unset($formulaBlock); + + // Then rebuild the formula string + return implode('"',$formulaBlocks); + } + + /** + * Update cell reference + * + * @param string $pCellRange Cell range + * @param int $pBefore Insert before this one + * @param int $pNumCols Number of columns to increment + * @param int $pNumRows Number of rows to increment + * @return string Updated cell range + * @throws PHPExcel_Exception + */ + public function updateCellReference($pCellRange = 'A1', $pBefore = 'A1', $pNumCols = 0, $pNumRows = 0) { + // Is it in another worksheet? Will not have to update anything. + if (strpos($pCellRange, "!") !== false) { + return $pCellRange; + // Is it a range or a single cell? + } elseif (strpos($pCellRange, ':') === false && strpos($pCellRange, ',') === false) { + // Single cell + return $this->_updateSingleCellReference($pCellRange, $pBefore, $pNumCols, $pNumRows); + } elseif (strpos($pCellRange, ':') !== false || strpos($pCellRange, ',') !== false) { + // Range + return $this->_updateCellRange($pCellRange, $pBefore, $pNumCols, $pNumRows); + } else { + // Return original + return $pCellRange; + } + } + + /** + * Update named formulas (i.e. containing worksheet references / named ranges) + * + * @param PHPExcel $pPhpExcel Object to update + * @param string $oldName Old name (name to replace) + * @param string $newName New name + */ + public function updateNamedFormulas(PHPExcel $pPhpExcel, $oldName = '', $newName = '') { + if ($oldName == '') { + return; + } + + foreach ($pPhpExcel->getWorksheetIterator() as $sheet) { + foreach ($sheet->getCellCollection(false) as $cellID) { + $cell = $sheet->getCell($cellID); + if (($cell !== NULL) && ($cell->getDataType() == PHPExcel_Cell_DataType::TYPE_FORMULA)) { + $formula = $cell->getValue(); + if (strpos($formula, $oldName) !== false) { + $formula = str_replace("'" . $oldName . "'!", "'" . $newName . "'!", $formula); + $formula = str_replace($oldName . "!", $newName . "!", $formula); + $cell->setValueExplicit($formula, PHPExcel_Cell_DataType::TYPE_FORMULA); + } + } + } + } + } + + /** + * Update cell range + * + * @param string $pCellRange Cell range (e.g. 'B2:D4', 'B:C' or '2:3') + * @param int $pBefore Insert before this one + * @param int $pNumCols Number of columns to increment + * @param int $pNumRows Number of rows to increment + * @return string Updated cell range + * @throws PHPExcel_Exception + */ + private function _updateCellRange($pCellRange = 'A1:A1', $pBefore = 'A1', $pNumCols = 0, $pNumRows = 0) { + if (strpos($pCellRange,':') !== false || strpos($pCellRange, ',') !== false) { + // Update range + $range = PHPExcel_Cell::splitRange($pCellRange); + $ic = count($range); + for ($i = 0; $i < $ic; ++$i) { + $jc = count($range[$i]); + for ($j = 0; $j < $jc; ++$j) { + if (ctype_alpha($range[$i][$j])) { + $r = PHPExcel_Cell::coordinateFromString($this->_updateSingleCellReference($range[$i][$j].'1', $pBefore, $pNumCols, $pNumRows)); + $range[$i][$j] = $r[0]; + } elseif(ctype_digit($range[$i][$j])) { + $r = PHPExcel_Cell::coordinateFromString($this->_updateSingleCellReference('A'.$range[$i][$j], $pBefore, $pNumCols, $pNumRows)); + $range[$i][$j] = $r[1]; + } else { + $range[$i][$j] = $this->_updateSingleCellReference($range[$i][$j], $pBefore, $pNumCols, $pNumRows); + } + } + } + + // Recreate range string + return PHPExcel_Cell::buildRange($range); + } else { + throw new PHPExcel_Exception("Only cell ranges may be passed to this method."); + } + } + + /** + * Update single cell reference + * + * @param string $pCellReference Single cell reference + * @param int $pBefore Insert before this one + * @param int $pNumCols Number of columns to increment + * @param int $pNumRows Number of rows to increment + * @return string Updated cell reference + * @throws PHPExcel_Exception + */ + private function _updateSingleCellReference($pCellReference = 'A1', $pBefore = 'A1', $pNumCols = 0, $pNumRows = 0) { + if (strpos($pCellReference, ':') === false && strpos($pCellReference, ',') === false) { + // Get coordinates of $pBefore + list($beforeColumn, $beforeRow) = PHPExcel_Cell::coordinateFromString( $pBefore ); + + // Get coordinates of $pCellReference + list($newColumn, $newRow) = PHPExcel_Cell::coordinateFromString( $pCellReference ); + + // Verify which parts should be updated + $updateColumn = (($newColumn{0} != '$') && ($beforeColumn{0} != '$') && + PHPExcel_Cell::columnIndexFromString($newColumn) >= PHPExcel_Cell::columnIndexFromString($beforeColumn)); + $updateRow = (($newRow{0} != '$') && ($beforeRow{0} != '$') && + $newRow >= $beforeRow); + + // Create new column reference + if ($updateColumn) { + $newColumn = PHPExcel_Cell::stringFromColumnIndex( PHPExcel_Cell::columnIndexFromString($newColumn) - 1 + $pNumCols ); + } + + // Create new row reference + if ($updateRow) { + $newRow = $newRow + $pNumRows; + } + + // Return new reference + return $newColumn . $newRow; + } else { + throw new PHPExcel_Exception("Only single cell references may be passed to this method."); + } + } + + /** + * __clone implementation. Cloning should not be allowed in a Singleton! + * + * @throws PHPExcel_Exception + */ + public final function __clone() { + throw new PHPExcel_Exception("Cloning a Singleton is not allowed!"); + } +} diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/RichText.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/RichText.php new file mode 100644 index 00000000..19326315 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/RichText.php @@ -0,0 +1,199 @@ +<?php +/** + * PHPExcel + * + * Copyright (c) 2006 - 2014 PHPExcel + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * @category PHPExcel + * @package PHPExcel_RichText + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @version ##VERSION##, ##DATE## + */ + + +/** + * PHPExcel_RichText + * + * @category PHPExcel + * @package PHPExcel_RichText + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + */ +class PHPExcel_RichText implements PHPExcel_IComparable +{ + /** + * Rich text elements + * + * @var PHPExcel_RichText_ITextElement[] + */ + private $_richTextElements; + + /** + * Create a new PHPExcel_RichText instance + * + * @param PHPExcel_Cell $pCell + * @throws PHPExcel_Exception + */ + public function __construct(PHPExcel_Cell $pCell = null) + { + // Initialise variables + $this->_richTextElements = array(); + + // Rich-Text string attached to cell? + if ($pCell !== NULL) { + // Add cell text and style + if ($pCell->getValue() != "") { + $objRun = new PHPExcel_RichText_Run($pCell->getValue()); + $objRun->setFont(clone $pCell->getParent()->getStyle($pCell->getCoordinate())->getFont()); + $this->addText($objRun); + } + + // Set parent value + $pCell->setValueExplicit($this, PHPExcel_Cell_DataType::TYPE_STRING); + } + } + + /** + * Add text + * + * @param PHPExcel_RichText_ITextElement $pText Rich text element + * @throws PHPExcel_Exception + * @return PHPExcel_RichText + */ + public function addText(PHPExcel_RichText_ITextElement $pText = null) + { + $this->_richTextElements[] = $pText; + return $this; + } + + /** + * Create text + * + * @param string $pText Text + * @return PHPExcel_RichText_TextElement + * @throws PHPExcel_Exception + */ + public function createText($pText = '') + { + $objText = new PHPExcel_RichText_TextElement($pText); + $this->addText($objText); + return $objText; + } + + /** + * Create text run + * + * @param string $pText Text + * @return PHPExcel_RichText_Run + * @throws PHPExcel_Exception + */ + public function createTextRun($pText = '') + { + $objText = new PHPExcel_RichText_Run($pText); + $this->addText($objText); + return $objText; + } + + /** + * Get plain text + * + * @return string + */ + public function getPlainText() + { + // Return value + $returnValue = ''; + + // Loop through all PHPExcel_RichText_ITextElement + foreach ($this->_richTextElements as $text) { + $returnValue .= $text->getText(); + } + + // Return + return $returnValue; + } + + /** + * Convert to string + * + * @return string + */ + public function __toString() + { + return $this->getPlainText(); + } + + /** + * Get Rich Text elements + * + * @return PHPExcel_RichText_ITextElement[] + */ + public function getRichTextElements() + { + return $this->_richTextElements; + } + + /** + * Set Rich Text elements + * + * @param PHPExcel_RichText_ITextElement[] $pElements Array of elements + * @throws PHPExcel_Exception + * @return PHPExcel_RichText + */ + public function setRichTextElements($pElements = null) + { + if (is_array($pElements)) { + $this->_richTextElements = $pElements; + } else { + throw new PHPExcel_Exception("Invalid PHPExcel_RichText_ITextElement[] array passed."); + } + return $this; + } + + /** + * Get hash code + * + * @return string Hash code + */ + public function getHashCode() + { + $hashElements = ''; + foreach ($this->_richTextElements as $element) { + $hashElements .= $element->getHashCode(); + } + + return md5( + $hashElements + . __CLASS__ + ); + } + + /** + * Implement PHP __clone to create a deep clone, not just a shallow copy. + */ + public function __clone() + { + $vars = get_object_vars($this); + foreach ($vars as $key => $value) { + if (is_object($value)) { + $this->$key = clone $value; + } else { + $this->$key = $value; + } + } + } +} diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/RichText/ITextElement.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/RichText/ITextElement.php new file mode 100644 index 00000000..9f1c6240 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/RichText/ITextElement.php @@ -0,0 +1,64 @@ +<?php +/** + * PHPExcel + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * @category PHPExcel + * @package PHPExcel_RichText + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @version ##VERSION##, ##DATE## + */ + + +/** + * PHPExcel_RichText_ITextElement + * + * @category PHPExcel + * @package PHPExcel_RichText + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + */ +interface PHPExcel_RichText_ITextElement +{ + /** + * Get text + * + * @return string Text + */ + public function getText(); + + /** + * Set text + * + * @param $pText string Text + * @return PHPExcel_RichText_ITextElement + */ + public function setText($pText = ''); + + /** + * Get font + * + * @return PHPExcel_Style_Font + */ + public function getFont(); + + /** + * Get hash code + * + * @return string Hash code + */ + public function getHashCode(); +} diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/RichText/Run.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/RichText/Run.php new file mode 100644 index 00000000..4a8c592e --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/RichText/Run.php @@ -0,0 +1,102 @@ +<?php +/** + * PHPExcel + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * @category PHPExcel + * @package PHPExcel_RichText + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @version ##VERSION##, ##DATE## + */ + + +/** + * PHPExcel_RichText_Run + * + * @category PHPExcel + * @package PHPExcel_RichText + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + */ +class PHPExcel_RichText_Run extends PHPExcel_RichText_TextElement implements PHPExcel_RichText_ITextElement +{ + /** + * Font + * + * @var PHPExcel_Style_Font + */ + private $_font; + + /** + * Create a new PHPExcel_RichText_Run instance + * + * @param string $pText Text + */ + public function __construct($pText = '') + { + // Initialise variables + $this->setText($pText); + $this->_font = new PHPExcel_Style_Font(); + } + + /** + * Get font + * + * @return PHPExcel_Style_Font + */ + public function getFont() { + return $this->_font; + } + + /** + * Set font + * + * @param PHPExcel_Style_Font $pFont Font + * @throws PHPExcel_Exception + * @return PHPExcel_RichText_ITextElement + */ + public function setFont(PHPExcel_Style_Font $pFont = null) { + $this->_font = $pFont; + return $this; + } + + /** + * Get hash code + * + * @return string Hash code + */ + public function getHashCode() { + return md5( + $this->getText() + . $this->_font->getHashCode() + . __CLASS__ + ); + } + + /** + * Implement PHP __clone to create a deep clone, not just a shallow copy. + */ + public function __clone() { + $vars = get_object_vars($this); + foreach ($vars as $key => $value) { + if (is_object($value)) { + $this->$key = clone $value; + } else { + $this->$key = $value; + } + } + } +} diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/RichText/TextElement.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/RichText/TextElement.php new file mode 100644 index 00000000..ec7c2644 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/RichText/TextElement.php @@ -0,0 +1,108 @@ +<?php +/** + * PHPExcel + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * @category PHPExcel + * @package PHPExcel_RichText + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @version ##VERSION##, ##DATE## + */ + + +/** + * PHPExcel_RichText_TextElement + * + * @category PHPExcel + * @package PHPExcel_RichText + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + */ +class PHPExcel_RichText_TextElement implements PHPExcel_RichText_ITextElement +{ + /** + * Text + * + * @var string + */ + private $_text; + + /** + * Create a new PHPExcel_RichText_TextElement instance + * + * @param string $pText Text + */ + public function __construct($pText = '') + { + // Initialise variables + $this->_text = $pText; + } + + /** + * Get text + * + * @return string Text + */ + public function getText() { + return $this->_text; + } + + /** + * Set text + * + * @param $pText string Text + * @return PHPExcel_RichText_ITextElement + */ + public function setText($pText = '') { + $this->_text = $pText; + return $this; + } + + /** + * Get font + * + * @return PHPExcel_Style_Font + */ + public function getFont() { + return null; + } + + /** + * Get hash code + * + * @return string Hash code + */ + public function getHashCode() { + return md5( + $this->_text + . __CLASS__ + ); + } + + /** + * Implement PHP __clone to create a deep clone, not just a shallow copy. + */ + public function __clone() { + $vars = get_object_vars($this); + foreach ($vars as $key => $value) { + if (is_object($value)) { + $this->$key = clone $value; + } else { + $this->$key = $value; + } + } + } +} diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Settings.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Settings.php new file mode 100644 index 00000000..c78d9350 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Settings.php @@ -0,0 +1,391 @@ +<?php +/** + * PHPExcel + * + * Copyright (c) 2006 - 2014 PHPExcel + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * @category PHPExcel + * @package PHPExcel_Settings + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @version ##VERSION##, ##DATE## + */ + +/** PHPExcel root directory */ +if (!defined('PHPEXCEL_ROOT')) { + /** + * @ignore + */ + define('PHPEXCEL_ROOT', dirname(__FILE__) . '/../'); + require(PHPEXCEL_ROOT . 'PHPExcel/Autoloader.php'); +} + + +class PHPExcel_Settings +{ + /** constants */ + /** Available Zip library classes */ + const PCLZIP = 'PHPExcel_Shared_ZipArchive'; + const ZIPARCHIVE = 'ZipArchive'; + + /** Optional Chart Rendering libraries */ + const CHART_RENDERER_JPGRAPH = 'jpgraph'; + + /** Optional PDF Rendering libraries */ + const PDF_RENDERER_TCPDF = 'tcPDF'; + const PDF_RENDERER_DOMPDF = 'DomPDF'; + const PDF_RENDERER_MPDF = 'mPDF'; + + + private static $_chartRenderers = array( + self::CHART_RENDERER_JPGRAPH, + ); + + private static $_pdfRenderers = array( + self::PDF_RENDERER_TCPDF, + self::PDF_RENDERER_DOMPDF, + self::PDF_RENDERER_MPDF, + ); + + + /** + * Name of the class used for Zip file management + * e.g. + * ZipArchive + * + * @var string + */ + private static $_zipClass = self::ZIPARCHIVE; + + + /** + * Name of the external Library used for rendering charts + * e.g. + * jpgraph + * + * @var string + */ + private static $_chartRendererName = NULL; + + /** + * Directory Path to the external Library used for rendering charts + * + * @var string + */ + private static $_chartRendererPath = NULL; + + + /** + * Name of the external Library used for rendering PDF files + * e.g. + * mPDF + * + * @var string + */ + private static $_pdfRendererName = NULL; + + /** + * Directory Path to the external Library used for rendering PDF files + * + * @var string + */ + private static $_pdfRendererPath = NULL; + + /** + * Default options for libxml loader + * + * @var int + */ + private static $_libXmlLoaderOptions = null; + + /** + * Set the Zip handler Class that PHPExcel should use for Zip file management (PCLZip or ZipArchive) + * + * @param string $zipClass The Zip handler class that PHPExcel should use for Zip file management + * e.g. PHPExcel_Settings::PCLZip or PHPExcel_Settings::ZipArchive + * @return boolean Success or failure + */ + public static function setZipClass($zipClass) + { + if (($zipClass === self::PCLZIP) || + ($zipClass === self::ZIPARCHIVE)) { + self::$_zipClass = $zipClass; + return TRUE; + } + return FALSE; + } // function setZipClass() + + + /** + * Return the name of the Zip handler Class that PHPExcel is configured to use (PCLZip or ZipArchive) + * or Zip file management + * + * @return string Name of the Zip handler Class that PHPExcel is configured to use + * for Zip file management + * e.g. PHPExcel_Settings::PCLZip or PHPExcel_Settings::ZipArchive + */ + public static function getZipClass() + { + return self::$_zipClass; + } // function getZipClass() + + + /** + * Return the name of the method that is currently configured for cell cacheing + * + * @return string Name of the cacheing method + */ + public static function getCacheStorageMethod() + { + return PHPExcel_CachedObjectStorageFactory::getCacheStorageMethod(); + } // function getCacheStorageMethod() + + + /** + * Return the name of the class that is currently being used for cell cacheing + * + * @return string Name of the class currently being used for cacheing + */ + public static function getCacheStorageClass() + { + return PHPExcel_CachedObjectStorageFactory::getCacheStorageClass(); + } // function getCacheStorageClass() + + + /** + * Set the method that should be used for cell cacheing + * + * @param string $method Name of the cacheing method + * @param array $arguments Optional configuration arguments for the cacheing method + * @return boolean Success or failure + */ + public static function setCacheStorageMethod( + $method = PHPExcel_CachedObjectStorageFactory::cache_in_memory, + $arguments = array() + ) + { + return PHPExcel_CachedObjectStorageFactory::initialize($method, $arguments); + } // function setCacheStorageMethod() + + + /** + * Set the locale code to use for formula translations and any special formatting + * + * @param string $locale The locale code to use (e.g. "fr" or "pt_br" or "en_uk") + * @return boolean Success or failure + */ + public static function setLocale($locale='en_us') + { + return PHPExcel_Calculation::getInstance()->setLocale($locale); + } // function setLocale() + + + /** + * Set details of the external library that PHPExcel should use for rendering charts + * + * @param string $libraryName Internal reference name of the library + * e.g. PHPExcel_Settings::CHART_RENDERER_JPGRAPH + * @param string $libraryBaseDir Directory path to the library's base folder + * + * @return boolean Success or failure + */ + public static function setChartRenderer($libraryName, $libraryBaseDir) + { + if (!self::setChartRendererName($libraryName)) + return FALSE; + return self::setChartRendererPath($libraryBaseDir); + } // function setChartRenderer() + + + /** + * Identify to PHPExcel the external library to use for rendering charts + * + * @param string $libraryName Internal reference name of the library + * e.g. PHPExcel_Settings::CHART_RENDERER_JPGRAPH + * + * @return boolean Success or failure + */ + public static function setChartRendererName($libraryName) + { + if (!in_array($libraryName,self::$_chartRenderers)) { + return FALSE; + } + + self::$_chartRendererName = $libraryName; + + return TRUE; + } // function setChartRendererName() + + + /** + * Tell PHPExcel where to find the external library to use for rendering charts + * + * @param string $libraryBaseDir Directory path to the library's base folder + * @return boolean Success or failure + */ + public static function setChartRendererPath($libraryBaseDir) + { + if ((file_exists($libraryBaseDir) === false) || (is_readable($libraryBaseDir) === false)) { + return FALSE; + } + self::$_chartRendererPath = $libraryBaseDir; + + return TRUE; + } // function setChartRendererPath() + + + /** + * Return the Chart Rendering Library that PHPExcel is currently configured to use (e.g. jpgraph) + * + * @return string|NULL Internal reference name of the Chart Rendering Library that PHPExcel is + * currently configured to use + * e.g. PHPExcel_Settings::CHART_RENDERER_JPGRAPH + */ + public static function getChartRendererName() + { + return self::$_chartRendererName; + } // function getChartRendererName() + + + /** + * Return the directory path to the Chart Rendering Library that PHPExcel is currently configured to use + * + * @return string|NULL Directory Path to the Chart Rendering Library that PHPExcel is + * currently configured to use + */ + public static function getChartRendererPath() + { + return self::$_chartRendererPath; + } // function getChartRendererPath() + + + /** + * Set details of the external library that PHPExcel should use for rendering PDF files + * + * @param string $libraryName Internal reference name of the library + * e.g. PHPExcel_Settings::PDF_RENDERER_TCPDF, + * PHPExcel_Settings::PDF_RENDERER_DOMPDF + * or PHPExcel_Settings::PDF_RENDERER_MPDF + * @param string $libraryBaseDir Directory path to the library's base folder + * + * @return boolean Success or failure + */ + public static function setPdfRenderer($libraryName, $libraryBaseDir) + { + if (!self::setPdfRendererName($libraryName)) + return FALSE; + return self::setPdfRendererPath($libraryBaseDir); + } // function setPdfRenderer() + + + /** + * Identify to PHPExcel the external library to use for rendering PDF files + * + * @param string $libraryName Internal reference name of the library + * e.g. PHPExcel_Settings::PDF_RENDERER_TCPDF, + * PHPExcel_Settings::PDF_RENDERER_DOMPDF + * or PHPExcel_Settings::PDF_RENDERER_MPDF + * + * @return boolean Success or failure + */ + public static function setPdfRendererName($libraryName) + { + if (!in_array($libraryName,self::$_pdfRenderers)) { + return FALSE; + } + + self::$_pdfRendererName = $libraryName; + + return TRUE; + } // function setPdfRendererName() + + + /** + * Tell PHPExcel where to find the external library to use for rendering PDF files + * + * @param string $libraryBaseDir Directory path to the library's base folder + * @return boolean Success or failure + */ + public static function setPdfRendererPath($libraryBaseDir) + { + if ((file_exists($libraryBaseDir) === false) || (is_readable($libraryBaseDir) === false)) { + return FALSE; + } + self::$_pdfRendererPath = $libraryBaseDir; + + return TRUE; + } // function setPdfRendererPath() + + + /** + * Return the PDF Rendering Library that PHPExcel is currently configured to use (e.g. dompdf) + * + * @return string|NULL Internal reference name of the PDF Rendering Library that PHPExcel is + * currently configured to use + * e.g. PHPExcel_Settings::PDF_RENDERER_TCPDF, + * PHPExcel_Settings::PDF_RENDERER_DOMPDF + * or PHPExcel_Settings::PDF_RENDERER_MPDF + */ + public static function getPdfRendererName() + { + return self::$_pdfRendererName; + } // function getPdfRendererName() + + /** + * Return the directory path to the PDF Rendering Library that PHPExcel is currently configured to use + * + * @return string|NULL Directory Path to the PDF Rendering Library that PHPExcel is + * currently configured to use + */ + public static function getPdfRendererPath() + { + return self::$_pdfRendererPath; + } // function getPdfRendererPath() + + /** + * Set default options for libxml loader + * + * @param int $options Default options for libxml loader + */ + public static function setLibXmlLoaderOptions($options = null) + { + if (is_null($options) && defined(LIBXML_DTDLOAD)) { + $options = LIBXML_DTDLOAD | LIBXML_DTDATTR; + } + if (version_compare(PHP_VERSION, '5.2.11') >= 0) { + @libxml_disable_entity_loader($options == (LIBXML_DTDLOAD | LIBXML_DTDATTR)); + } + self::$_libXmlLoaderOptions = $options; + } // function setLibXmlLoaderOptions + + /** + * Get default options for libxml loader. + * Defaults to LIBXML_DTDLOAD | LIBXML_DTDATTR when not set explicitly. + * + * @return int Default options for libxml loader + */ + public static function getLibXmlLoaderOptions() + { + if (is_null(self::$_libXmlLoaderOptions) && defined(LIBXML_DTDLOAD)) { + self::setLibXmlLoaderOptions(LIBXML_DTDLOAD | LIBXML_DTDATTR); + } + if (version_compare(PHP_VERSION, '5.2.11') >= 0) { + @libxml_disable_entity_loader(self::$_libXmlLoaderOptions == (LIBXML_DTDLOAD | LIBXML_DTDATTR)); + } + return self::$_libXmlLoaderOptions; + } // function getLibXmlLoaderOptions +} diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/CodePage.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/CodePage.php new file mode 100644 index 00000000..89e2d19c --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/CodePage.php @@ -0,0 +1,106 @@ +<?php +/** + * PHPExcel + * + * Copyright (c) 2006 - 2014 PHPExcel + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * @category PHPExcel + * @package PHPExcel_Shared + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @version ##VERSION##, ##DATE## + */ + + +/** + * PHPExcel_Shared_CodePage + * + * @category PHPExcel + * @package PHPExcel_Shared + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + */ +class PHPExcel_Shared_CodePage +{ + /** + * Convert Microsoft Code Page Identifier to Code Page Name which iconv + * and mbstring understands + * + * @param integer $codePage Microsoft Code Page Indentifier + * @return string Code Page Name + * @throws PHPExcel_Exception + */ + public static function NumberToName($codePage = 1252) + { + switch ($codePage) { + case 367: return 'ASCII'; break; // ASCII + case 437: return 'CP437'; break; // OEM US + case 720: throw new PHPExcel_Exception('Code page 720 not supported.'); + break; // OEM Arabic + case 737: return 'CP737'; break; // OEM Greek + case 775: return 'CP775'; break; // OEM Baltic + case 850: return 'CP850'; break; // OEM Latin I + case 852: return 'CP852'; break; // OEM Latin II (Central European) + case 855: return 'CP855'; break; // OEM Cyrillic + case 857: return 'CP857'; break; // OEM Turkish + case 858: return 'CP858'; break; // OEM Multilingual Latin I with Euro + case 860: return 'CP860'; break; // OEM Portugese + case 861: return 'CP861'; break; // OEM Icelandic + case 862: return 'CP862'; break; // OEM Hebrew + case 863: return 'CP863'; break; // OEM Canadian (French) + case 864: return 'CP864'; break; // OEM Arabic + case 865: return 'CP865'; break; // OEM Nordic + case 866: return 'CP866'; break; // OEM Cyrillic (Russian) + case 869: return 'CP869'; break; // OEM Greek (Modern) + case 874: return 'CP874'; break; // ANSI Thai + case 932: return 'CP932'; break; // ANSI Japanese Shift-JIS + case 936: return 'CP936'; break; // ANSI Chinese Simplified GBK + case 949: return 'CP949'; break; // ANSI Korean (Wansung) + case 950: return 'CP950'; break; // ANSI Chinese Traditional BIG5 + case 1200: return 'UTF-16LE'; break; // UTF-16 (BIFF8) + case 1250: return 'CP1250'; break; // ANSI Latin II (Central European) + case 1251: return 'CP1251'; break; // ANSI Cyrillic + case 0: // CodePage is not always correctly set when the xls file was saved by Apple's Numbers program + case 1252: return 'CP1252'; break; // ANSI Latin I (BIFF4-BIFF7) + case 1253: return 'CP1253'; break; // ANSI Greek + case 1254: return 'CP1254'; break; // ANSI Turkish + case 1255: return 'CP1255'; break; // ANSI Hebrew + case 1256: return 'CP1256'; break; // ANSI Arabic + case 1257: return 'CP1257'; break; // ANSI Baltic + case 1258: return 'CP1258'; break; // ANSI Vietnamese + case 1361: return 'CP1361'; break; // ANSI Korean (Johab) + case 10000: return 'MAC'; break; // Apple Roman + case 10001: return 'CP932'; break; // Macintosh Japanese + case 10002: return 'CP950'; break; // Macintosh Chinese Traditional + case 10003: return 'CP1361'; break; // Macintosh Korean + case 10006: return 'MACGREEK'; break; // Macintosh Greek + case 10007: return 'MACCYRILLIC'; break; // Macintosh Cyrillic + case 10008: return 'CP936'; break; // Macintosh - Simplified Chinese (GB 2312) + case 10029: return 'MACCENTRALEUROPE'; break; // Macintosh Central Europe + case 10079: return 'MACICELAND'; break; // Macintosh Icelandic + case 10081: return 'MACTURKISH'; break; // Macintosh Turkish + case 21010: return 'UTF-16LE'; break; // UTF-16 (BIFF8) This isn't correct, but some Excel writer libraries erroneously use Codepage 21010 for UTF-16LE + case 32768: return 'MAC'; break; // Apple Roman + case 32769: throw new PHPExcel_Exception('Code page 32769 not supported.'); + break; // ANSI Latin I (BIFF2-BIFF3) + case 65000: return 'UTF-7'; break; // Unicode (UTF-7) + case 65001: return 'UTF-8'; break; // Unicode (UTF-8) + } + + throw new PHPExcel_Exception('Unknown codepage: ' . $codePage); + } + +} diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/Date.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/Date.php new file mode 100644 index 00000000..75f367ea --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/Date.php @@ -0,0 +1,393 @@ +<?php + +/** + * PHPExcel + * + * Copyright (c) 2006 - 2014 PHPExcel + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * @category PHPExcel + * @package PHPExcel_Shared + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @version ##VERSION##, ##DATE## + */ + + +/** + * PHPExcel_Shared_Date + * + * @category PHPExcel + * @package PHPExcel_Shared + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + */ +class PHPExcel_Shared_Date +{ + /** constants */ + const CALENDAR_WINDOWS_1900 = 1900; // Base date of 1st Jan 1900 = 1.0 + const CALENDAR_MAC_1904 = 1904; // Base date of 2nd Jan 1904 = 1.0 + + /* + * Names of the months of the year, indexed by shortname + * Planned usage for locale settings + * + * @public + * @var string[] + */ + public static $_monthNames = array( 'Jan' => 'January', + 'Feb' => 'February', + 'Mar' => 'March', + 'Apr' => 'April', + 'May' => 'May', + 'Jun' => 'June', + 'Jul' => 'July', + 'Aug' => 'August', + 'Sep' => 'September', + 'Oct' => 'October', + 'Nov' => 'November', + 'Dec' => 'December', + ); + + /* + * Names of the months of the year, indexed by shortname + * Planned usage for locale settings + * + * @public + * @var string[] + */ + public static $_numberSuffixes = array( 'st', + 'nd', + 'rd', + 'th', + ); + + /* + * Base calendar year to use for calculations + * + * @private + * @var int + */ + protected static $_excelBaseDate = self::CALENDAR_WINDOWS_1900; + + /** + * Set the Excel calendar (Windows 1900 or Mac 1904) + * + * @param integer $baseDate Excel base date (1900 or 1904) + * @return boolean Success or failure + */ + public static function setExcelCalendar($baseDate) { + if (($baseDate == self::CALENDAR_WINDOWS_1900) || + ($baseDate == self::CALENDAR_MAC_1904)) { + self::$_excelBaseDate = $baseDate; + return TRUE; + } + return FALSE; + } // function setExcelCalendar() + + + /** + * Return the Excel calendar (Windows 1900 or Mac 1904) + * + * @return integer Excel base date (1900 or 1904) + */ + public static function getExcelCalendar() { + return self::$_excelBaseDate; + } // function getExcelCalendar() + + + /** + * Convert a date from Excel to PHP + * + * @param long $dateValue Excel date/time value + * @param boolean $adjustToTimezone Flag indicating whether $dateValue should be treated as + * a UST timestamp, or adjusted to UST + * @param string $timezone The timezone for finding the adjustment from UST + * @return long PHP serialized date/time + */ + public static function ExcelToPHP($dateValue = 0, $adjustToTimezone = FALSE, $timezone = NULL) { + if (self::$_excelBaseDate == self::CALENDAR_WINDOWS_1900) { + $my_excelBaseDate = 25569; + // Adjust for the spurious 29-Feb-1900 (Day 60) + if ($dateValue < 60) { + --$my_excelBaseDate; + } + } else { + $my_excelBaseDate = 24107; + } + + // Perform conversion + if ($dateValue >= 1) { + $utcDays = $dateValue - $my_excelBaseDate; + $returnValue = round($utcDays * 86400); + if (($returnValue <= PHP_INT_MAX) && ($returnValue >= -PHP_INT_MAX)) { + $returnValue = (integer) $returnValue; + } + } else { + $hours = round($dateValue * 24); + $mins = round($dateValue * 1440) - round($hours * 60); + $secs = round($dateValue * 86400) - round($hours * 3600) - round($mins * 60); + $returnValue = (integer) gmmktime($hours, $mins, $secs); + } + + $timezoneAdjustment = ($adjustToTimezone) ? + PHPExcel_Shared_TimeZone::getTimezoneAdjustment($timezone, $returnValue) : + 0; + + // Return + return $returnValue + $timezoneAdjustment; + } // function ExcelToPHP() + + + /** + * Convert a date from Excel to a PHP Date/Time object + * + * @param integer $dateValue Excel date/time value + * @return DateTime PHP date/time object + */ + public static function ExcelToPHPObject($dateValue = 0) { + $dateTime = self::ExcelToPHP($dateValue); + $days = floor($dateTime / 86400); + $time = round((($dateTime / 86400) - $days) * 86400); + $hours = round($time / 3600); + $minutes = round($time / 60) - ($hours * 60); + $seconds = round($time) - ($hours * 3600) - ($minutes * 60); + + $dateObj = date_create('1-Jan-1970+'.$days.' days'); + $dateObj->setTime($hours,$minutes,$seconds); + + return $dateObj; + } // function ExcelToPHPObject() + + + /** + * Convert a date from PHP to Excel + * + * @param mixed $dateValue PHP serialized date/time or date object + * @param boolean $adjustToTimezone Flag indicating whether $dateValue should be treated as + * a UST timestamp, or adjusted to UST + * @param string $timezone The timezone for finding the adjustment from UST + * @return mixed Excel date/time value + * or boolean FALSE on failure + */ + public static function PHPToExcel($dateValue = 0, $adjustToTimezone = FALSE, $timezone = NULL) { + $saveTimeZone = date_default_timezone_get(); + date_default_timezone_set('UTC'); + $retValue = FALSE; + if ((is_object($dateValue)) && ($dateValue instanceof DateTime)) { + $retValue = self::FormattedPHPToExcel( $dateValue->format('Y'), $dateValue->format('m'), $dateValue->format('d'), + $dateValue->format('H'), $dateValue->format('i'), $dateValue->format('s') + ); + } elseif (is_numeric($dateValue)) { + $retValue = self::FormattedPHPToExcel( date('Y',$dateValue), date('m',$dateValue), date('d',$dateValue), + date('H',$dateValue), date('i',$dateValue), date('s',$dateValue) + ); + } + date_default_timezone_set($saveTimeZone); + + return $retValue; + } // function PHPToExcel() + + + /** + * FormattedPHPToExcel + * + * @param long $year + * @param long $month + * @param long $day + * @param long $hours + * @param long $minutes + * @param long $seconds + * @return long Excel date/time value + */ + public static function FormattedPHPToExcel($year, $month, $day, $hours=0, $minutes=0, $seconds=0) { + if (self::$_excelBaseDate == self::CALENDAR_WINDOWS_1900) { + // + // Fudge factor for the erroneous fact that the year 1900 is treated as a Leap Year in MS Excel + // This affects every date following 28th February 1900 + // + $excel1900isLeapYear = TRUE; + if (($year == 1900) && ($month <= 2)) { $excel1900isLeapYear = FALSE; } + $my_excelBaseDate = 2415020; + } else { + $my_excelBaseDate = 2416481; + $excel1900isLeapYear = FALSE; + } + + // Julian base date Adjustment + if ($month > 2) { + $month -= 3; + } else { + $month += 9; + --$year; + } + + // Calculate the Julian Date, then subtract the Excel base date (JD 2415020 = 31-Dec-1899 Giving Excel Date of 0) + $century = substr($year,0,2); + $decade = substr($year,2,2); + $excelDate = floor((146097 * $century) / 4) + floor((1461 * $decade) / 4) + floor((153 * $month + 2) / 5) + $day + 1721119 - $my_excelBaseDate + $excel1900isLeapYear; + + $excelTime = (($hours * 3600) + ($minutes * 60) + $seconds) / 86400; + + return (float) $excelDate + $excelTime; + } // function FormattedPHPToExcel() + + + /** + * Is a given cell a date/time? + * + * @param PHPExcel_Cell $pCell + * @return boolean + */ + public static function isDateTime(PHPExcel_Cell $pCell) { + return self::isDateTimeFormat( + $pCell->getWorksheet()->getStyle( + $pCell->getCoordinate() + )->getNumberFormat() + ); + } // function isDateTime() + + + /** + * Is a given number format a date/time? + * + * @param PHPExcel_Style_NumberFormat $pFormat + * @return boolean + */ + public static function isDateTimeFormat(PHPExcel_Style_NumberFormat $pFormat) { + return self::isDateTimeFormatCode($pFormat->getFormatCode()); + } // function isDateTimeFormat() + + + private static $possibleDateFormatCharacters = 'eymdHs'; + + /** + * Is a given number format code a date/time? + * + * @param string $pFormatCode + * @return boolean + */ + public static function isDateTimeFormatCode($pFormatCode = '') { + if (strtolower($pFormatCode) === strtolower(PHPExcel_Style_NumberFormat::FORMAT_GENERAL)) + // "General" contains an epoch letter 'e', so we trap for it explicitly here (case-insensitive check) + return FALSE; + if (preg_match('/[0#]E[+-]0/i', $pFormatCode)) + // Scientific format + return FALSE; + // Switch on formatcode + switch ($pFormatCode) { + // Explicitly defined date formats + case PHPExcel_Style_NumberFormat::FORMAT_DATE_YYYYMMDD: + case PHPExcel_Style_NumberFormat::FORMAT_DATE_YYYYMMDD2: + case PHPExcel_Style_NumberFormat::FORMAT_DATE_DDMMYYYY: + case PHPExcel_Style_NumberFormat::FORMAT_DATE_DMYSLASH: + case PHPExcel_Style_NumberFormat::FORMAT_DATE_DMYMINUS: + case PHPExcel_Style_NumberFormat::FORMAT_DATE_DMMINUS: + case PHPExcel_Style_NumberFormat::FORMAT_DATE_MYMINUS: + case PHPExcel_Style_NumberFormat::FORMAT_DATE_DATETIME: + case PHPExcel_Style_NumberFormat::FORMAT_DATE_TIME1: + case PHPExcel_Style_NumberFormat::FORMAT_DATE_TIME2: + case PHPExcel_Style_NumberFormat::FORMAT_DATE_TIME3: + case PHPExcel_Style_NumberFormat::FORMAT_DATE_TIME4: + case PHPExcel_Style_NumberFormat::FORMAT_DATE_TIME5: + case PHPExcel_Style_NumberFormat::FORMAT_DATE_TIME6: + case PHPExcel_Style_NumberFormat::FORMAT_DATE_TIME7: + case PHPExcel_Style_NumberFormat::FORMAT_DATE_TIME8: + case PHPExcel_Style_NumberFormat::FORMAT_DATE_YYYYMMDDSLASH: + case PHPExcel_Style_NumberFormat::FORMAT_DATE_XLSX14: + case PHPExcel_Style_NumberFormat::FORMAT_DATE_XLSX15: + case PHPExcel_Style_NumberFormat::FORMAT_DATE_XLSX16: + case PHPExcel_Style_NumberFormat::FORMAT_DATE_XLSX17: + case PHPExcel_Style_NumberFormat::FORMAT_DATE_XLSX22: + return TRUE; + } + + // Typically number, currency or accounting (or occasionally fraction) formats + if ((substr($pFormatCode,0,1) == '_') || (substr($pFormatCode,0,2) == '0 ')) { + return FALSE; + } + // Try checking for any of the date formatting characters that don't appear within square braces + if (preg_match('/(^|\])[^\[]*['.self::$possibleDateFormatCharacters.']/i',$pFormatCode)) { + // We might also have a format mask containing quoted strings... + // we don't want to test for any of our characters within the quoted blocks + if (strpos($pFormatCode,'"') !== FALSE) { + $segMatcher = FALSE; + foreach(explode('"',$pFormatCode) as $subVal) { + // Only test in alternate array entries (the non-quoted blocks) + if (($segMatcher = !$segMatcher) && + (preg_match('/(^|\])[^\[]*['.self::$possibleDateFormatCharacters.']/i',$subVal))) { + return TRUE; + } + } + return FALSE; + } + return TRUE; + } + + // No date... + return FALSE; + } // function isDateTimeFormatCode() + + + /** + * Convert a date/time string to Excel time + * + * @param string $dateValue Examples: '2009-12-31', '2009-12-31 15:59', '2009-12-31 15:59:10' + * @return float|FALSE Excel date/time serial value + */ + public static function stringToExcel($dateValue = '') { + if (strlen($dateValue) < 2) + return FALSE; + if (!preg_match('/^(\d{1,4}[ \.\/\-][A-Z]{3,9}([ \.\/\-]\d{1,4})?|[A-Z]{3,9}[ \.\/\-]\d{1,4}([ \.\/\-]\d{1,4})?|\d{1,4}[ \.\/\-]\d{1,4}([ \.\/\-]\d{1,4})?)( \d{1,2}:\d{1,2}(:\d{1,2})?)?$/iu', $dateValue)) + return FALSE; + + $dateValueNew = PHPExcel_Calculation_DateTime::DATEVALUE($dateValue); + + if ($dateValueNew === PHPExcel_Calculation_Functions::VALUE()) { + return FALSE; + } else { + if (strpos($dateValue, ':') !== FALSE) { + $timeValue = PHPExcel_Calculation_DateTime::TIMEVALUE($dateValue); + if ($timeValue === PHPExcel_Calculation_Functions::VALUE()) { + return FALSE; + } + $dateValueNew += $timeValue; + } + return $dateValueNew; + } + + + } + + public static function monthStringToNumber($month) { + $monthIndex = 1; + foreach(self::$_monthNames as $shortMonthName => $longMonthName) { + if (($month === $longMonthName) || ($month === $shortMonthName)) { + return $monthIndex; + } + ++$monthIndex; + } + return $month; + } + + public static function dayStringToNumber($day) { + $strippedDayValue = (str_replace(self::$_numberSuffixes,'',$day)); + if (is_numeric($strippedDayValue)) { + return $strippedDayValue; + } + return $day; + } + +} diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/Drawing.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/Drawing.php new file mode 100644 index 00000000..dbff74ab --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/Drawing.php @@ -0,0 +1,272 @@ +<?php +/** + * PHPExcel + * + * Copyright (c) 2006 - 2014 PHPExcel + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * @category PHPExcel + * @package PHPExcel_Shared + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @version ##VERSION##, ##DATE## + */ + + +/** + * PHPExcel_Shared_Drawing + * + * @category PHPExcel + * @package PHPExcel_Shared + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + */ +class PHPExcel_Shared_Drawing +{ + /** + * Convert pixels to EMU + * + * @param int $pValue Value in pixels + * @return int Value in EMU + */ + public static function pixelsToEMU($pValue = 0) { + return round($pValue * 9525); + } + + /** + * Convert EMU to pixels + * + * @param int $pValue Value in EMU + * @return int Value in pixels + */ + public static function EMUToPixels($pValue = 0) { + if ($pValue != 0) { + return round($pValue / 9525); + } else { + return 0; + } + } + + /** + * Convert pixels to column width. Exact algorithm not known. + * By inspection of a real Excel file using Calibri 11, one finds 1000px ~ 142.85546875 + * This gives a conversion factor of 7. Also, we assume that pixels and font size are proportional. + * + * @param int $pValue Value in pixels + * @param PHPExcel_Style_Font $pDefaultFont Default font of the workbook + * @return int Value in cell dimension + */ + public static function pixelsToCellDimension($pValue = 0, PHPExcel_Style_Font $pDefaultFont) { + // Font name and size + $name = $pDefaultFont->getName(); + $size = $pDefaultFont->getSize(); + + if (isset(PHPExcel_Shared_Font::$defaultColumnWidths[$name][$size])) { + // Exact width can be determined + $colWidth = $pValue + * PHPExcel_Shared_Font::$defaultColumnWidths[$name][$size]['width'] + / PHPExcel_Shared_Font::$defaultColumnWidths[$name][$size]['px']; + } else { + // We don't have data for this particular font and size, use approximation by + // extrapolating from Calibri 11 + $colWidth = $pValue * 11 + * PHPExcel_Shared_Font::$defaultColumnWidths['Calibri'][11]['width'] + / PHPExcel_Shared_Font::$defaultColumnWidths['Calibri'][11]['px'] / $size; + } + + return $colWidth; + } + + /** + * Convert column width from (intrinsic) Excel units to pixels + * + * @param float $pValue Value in cell dimension + * @param PHPExcel_Style_Font $pDefaultFont Default font of the workbook + * @return int Value in pixels + */ + public static function cellDimensionToPixels($pValue = 0, PHPExcel_Style_Font $pDefaultFont) { + // Font name and size + $name = $pDefaultFont->getName(); + $size = $pDefaultFont->getSize(); + + if (isset(PHPExcel_Shared_Font::$defaultColumnWidths[$name][$size])) { + // Exact width can be determined + $colWidth = $pValue + * PHPExcel_Shared_Font::$defaultColumnWidths[$name][$size]['px'] + / PHPExcel_Shared_Font::$defaultColumnWidths[$name][$size]['width']; + + } else { + // We don't have data for this particular font and size, use approximation by + // extrapolating from Calibri 11 + $colWidth = $pValue * $size + * PHPExcel_Shared_Font::$defaultColumnWidths['Calibri'][11]['px'] + / PHPExcel_Shared_Font::$defaultColumnWidths['Calibri'][11]['width'] / 11; + } + + // Round pixels to closest integer + $colWidth = (int) round($colWidth); + + return $colWidth; + } + + /** + * Convert pixels to points + * + * @param int $pValue Value in pixels + * @return int Value in points + */ + public static function pixelsToPoints($pValue = 0) { + return $pValue * 0.67777777; + } + + /** + * Convert points to pixels + * + * @param int $pValue Value in points + * @return int Value in pixels + */ + public static function pointsToPixels($pValue = 0) { + if ($pValue != 0) { + return (int) ceil($pValue * 1.333333333); + } else { + return 0; + } + } + + /** + * Convert degrees to angle + * + * @param int $pValue Degrees + * @return int Angle + */ + public static function degreesToAngle($pValue = 0) { + return (int)round($pValue * 60000); + } + + /** + * Convert angle to degrees + * + * @param int $pValue Angle + * @return int Degrees + */ + public static function angleToDegrees($pValue = 0) { + if ($pValue != 0) { + return round($pValue / 60000); + } else { + return 0; + } + } + + /** + * Create a new image from file. By alexander at alexauto dot nl + * + * @link http://www.php.net/manual/en/function.imagecreatefromwbmp.php#86214 + * @param string $filename Path to Windows DIB (BMP) image + * @return resource + */ + public static function imagecreatefrombmp($p_sFile) + { + // Load the image into a string + $file = fopen($p_sFile,"rb"); + $read = fread($file,10); + while(!feof($file)&&($read<>"")) + $read .= fread($file,1024); + + $temp = unpack("H*",$read); + $hex = $temp[1]; + $header = substr($hex,0,108); + + // Process the header + // Structure: http://www.fastgraph.com/help/bmp_header_format.html + if (substr($header,0,4)=="424d") + { + // Cut it in parts of 2 bytes + $header_parts = str_split($header,2); + + // Get the width 4 bytes + $width = hexdec($header_parts[19].$header_parts[18]); + + // Get the height 4 bytes + $height = hexdec($header_parts[23].$header_parts[22]); + + // Unset the header params + unset($header_parts); + } + + // Define starting X and Y + $x = 0; + $y = 1; + + // Create newimage + $image = imagecreatetruecolor($width,$height); + + // Grab the body from the image + $body = substr($hex,108); + + // Calculate if padding at the end-line is needed + // Divided by two to keep overview. + // 1 byte = 2 HEX-chars + $body_size = (strlen($body)/2); + $header_size = ($width*$height); + + // Use end-line padding? Only when needed + $usePadding = ($body_size>($header_size*3)+4); + + // Using a for-loop with index-calculation instaid of str_split to avoid large memory consumption + // Calculate the next DWORD-position in the body + for ($i=0;$i<$body_size;$i+=3) + { + // Calculate line-ending and padding + if ($x>=$width) + { + // If padding needed, ignore image-padding + // Shift i to the ending of the current 32-bit-block + if ($usePadding) + $i += $width%4; + + // Reset horizontal position + $x = 0; + + // Raise the height-position (bottom-up) + $y++; + + // Reached the image-height? Break the for-loop + if ($y>$height) + break; + } + + // Calculation of the RGB-pixel (defined as BGR in image-data) + // Define $i_pos as absolute position in the body + $i_pos = $i*2; + $r = hexdec($body[$i_pos+4].$body[$i_pos+5]); + $g = hexdec($body[$i_pos+2].$body[$i_pos+3]); + $b = hexdec($body[$i_pos].$body[$i_pos+1]); + + // Calculate and draw the pixel + $color = imagecolorallocate($image,$r,$g,$b); + imagesetpixel($image,$x,$height-$y,$color); + + // Raise the horizontal position + $x++; + } + + // Unset the body / free the memory + unset($body); + + // Return image-object + return $image; + } + +} diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/Escher.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/Escher.php new file mode 100644 index 00000000..ddf68c65 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/Escher.php @@ -0,0 +1,91 @@ +<?php +/** + * PHPExcel + * + * Copyright (c) 2006 - 2014 PHPExcel + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * @category PHPExcel + * @package PHPExcel_Shared_Escher + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @version ##VERSION##, ##DATE## + */ + +/** + * PHPExcel_Shared_Escher + * + * @category PHPExcel + * @package PHPExcel_Shared_Escher + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + */ +class PHPExcel_Shared_Escher +{ + /** + * Drawing Group Container + * + * @var PHPExcel_Shared_Escher_DggContainer + */ + private $_dggContainer; + + /** + * Drawing Container + * + * @var PHPExcel_Shared_Escher_DgContainer + */ + private $_dgContainer; + + /** + * Get Drawing Group Container + * + * @return PHPExcel_Shared_Escher_DgContainer + */ + public function getDggContainer() + { + return $this->_dggContainer; + } + + /** + * Set Drawing Group Container + * + * @param PHPExcel_Shared_Escher_DggContainer $dggContainer + */ + public function setDggContainer($dggContainer) + { + return $this->_dggContainer = $dggContainer; + } + + /** + * Get Drawing Container + * + * @return PHPExcel_Shared_Escher_DgContainer + */ + public function getDgContainer() + { + return $this->_dgContainer; + } + + /** + * Set Drawing Container + * + * @param PHPExcel_Shared_Escher_DgContainer $dgContainer + */ + public function setDgContainer($dgContainer) + { + return $this->_dgContainer = $dgContainer; + } + +} diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/Escher/DgContainer.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/Escher/DgContainer.php new file mode 100644 index 00000000..cb826db1 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/Escher/DgContainer.php @@ -0,0 +1,83 @@ +<?php +/** + * PHPExcel + * + * Copyright (c) 2006 - 2014 PHPExcel + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * @category PHPExcel + * @package PHPExcel_Shared_Escher + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @version ##VERSION##, ##DATE## + */ + +/** + * PHPExcel_Shared_Escher_DgContainer + * + * @category PHPExcel + * @package PHPExcel_Shared_Escher + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + */ +class PHPExcel_Shared_Escher_DgContainer +{ + /** + * Drawing index, 1-based. + * + * @var int + */ + private $_dgId; + + /** + * Last shape index in this drawing + * + * @var int + */ + private $_lastSpId; + + private $_spgrContainer = null; + + public function getDgId() + { + return $this->_dgId; + } + + public function setDgId($value) + { + $this->_dgId = $value; + } + + public function getLastSpId() + { + return $this->_lastSpId; + } + + public function setLastSpId($value) + { + $this->_lastSpId = $value; + } + + public function getSpgrContainer() + { + return $this->_spgrContainer; + } + + public function setSpgrContainer($spgrContainer) + { + return $this->_spgrContainer = $spgrContainer; + } + +} diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/Escher/DgContainer/SpgrContainer.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/Escher/DgContainer/SpgrContainer.php new file mode 100644 index 00000000..b8ad8eaf --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/Escher/DgContainer/SpgrContainer.php @@ -0,0 +1,109 @@ +<?php +/** + * PHPExcel + * + * Copyright (c) 2006 - 2014 PHPExcel + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * @category PHPExcel + * @package PHPExcel_Shared_Escher + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @version ##VERSION##, ##DATE## + */ + +/** + * PHPExcel_Shared_Escher_DgContainer_SpgrContainer + * + * @category PHPExcel + * @package PHPExcel_Shared_Escher + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + */ +class PHPExcel_Shared_Escher_DgContainer_SpgrContainer +{ + /** + * Parent Shape Group Container + * + * @var PHPExcel_Shared_Escher_DgContainer_SpgrContainer + */ + private $_parent; + + /** + * Shape Container collection + * + * @var array + */ + private $_children = array(); + + /** + * Set parent Shape Group Container + * + * @param PHPExcel_Shared_Escher_DgContainer_SpgrContainer $parent + */ + public function setParent($parent) + { + $this->_parent = $parent; + } + + /** + * Get the parent Shape Group Container if any + * + * @return PHPExcel_Shared_Escher_DgContainer_SpgrContainer|null + */ + public function getParent() + { + return $this->_parent; + } + + /** + * Add a child. This will be either spgrContainer or spContainer + * + * @param mixed $child + */ + public function addChild($child) + { + $this->_children[] = $child; + $child->setParent($this); + } + + /** + * Get collection of Shape Containers + */ + public function getChildren() + { + return $this->_children; + } + + /** + * Recursively get all spContainers within this spgrContainer + * + * @return PHPExcel_Shared_Escher_DgContainer_SpgrContainer_SpContainer[] + */ + public function getAllSpContainers() + { + $allSpContainers = array(); + + foreach ($this->_children as $child) { + if ($child instanceof PHPExcel_Shared_Escher_DgContainer_SpgrContainer) { + $allSpContainers = array_merge($allSpContainers, $child->getAllSpContainers()); + } else { + $allSpContainers[] = $child; + } + } + + return $allSpContainers; + } +} diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/Escher/DgContainer/SpgrContainer/SpContainer.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/Escher/DgContainer/SpgrContainer/SpContainer.php new file mode 100644 index 00000000..68231480 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/Escher/DgContainer/SpgrContainer/SpContainer.php @@ -0,0 +1,395 @@ +<?php +/** + * PHPExcel + * + * Copyright (c) 2006 - 2014 PHPExcel + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * @category PHPExcel + * @package PHPExcel_Shared_Escher + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @version ##VERSION##, ##DATE## + */ + +/** + * PHPExcel_Shared_Escher_DgContainer_SpgrContainer_SpContainer + * + * @category PHPExcel + * @package PHPExcel_Shared_Escher + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + */ +class PHPExcel_Shared_Escher_DgContainer_SpgrContainer_SpContainer +{ + /** + * Parent Shape Group Container + * + * @var PHPExcel_Shared_Escher_DgContainer_SpgrContainer + */ + private $_parent; + + /** + * Is this a group shape? + * + * @var boolean + */ + private $_spgr = false; + + /** + * Shape type + * + * @var int + */ + private $_spType; + + /** + * Shape flag + * + * @var int + */ + private $_spFlag; + + /** + * Shape index (usually group shape has index 0, and the rest: 1,2,3...) + * + * @var boolean + */ + private $_spId; + + /** + * Array of options + * + * @var array + */ + private $_OPT; + + /** + * Cell coordinates of upper-left corner of shape, e.g. 'A1' + * + * @var string + */ + private $_startCoordinates; + + /** + * Horizontal offset of upper-left corner of shape measured in 1/1024 of column width + * + * @var int + */ + private $_startOffsetX; + + /** + * Vertical offset of upper-left corner of shape measured in 1/256 of row height + * + * @var int + */ + private $_startOffsetY; + + /** + * Cell coordinates of bottom-right corner of shape, e.g. 'B2' + * + * @var string + */ + private $_endCoordinates; + + /** + * Horizontal offset of bottom-right corner of shape measured in 1/1024 of column width + * + * @var int + */ + private $_endOffsetX; + + /** + * Vertical offset of bottom-right corner of shape measured in 1/256 of row height + * + * @var int + */ + private $_endOffsetY; + + /** + * Set parent Shape Group Container + * + * @param PHPExcel_Shared_Escher_DgContainer_SpgrContainer $parent + */ + public function setParent($parent) + { + $this->_parent = $parent; + } + + /** + * Get the parent Shape Group Container + * + * @return PHPExcel_Shared_Escher_DgContainer_SpgrContainer + */ + public function getParent() + { + return $this->_parent; + } + + /** + * Set whether this is a group shape + * + * @param boolean $value + */ + public function setSpgr($value = false) + { + $this->_spgr = $value; + } + + /** + * Get whether this is a group shape + * + * @return boolean + */ + public function getSpgr() + { + return $this->_spgr; + } + + /** + * Set the shape type + * + * @param int $value + */ + public function setSpType($value) + { + $this->_spType = $value; + } + + /** + * Get the shape type + * + * @return int + */ + public function getSpType() + { + return $this->_spType; + } + + /** + * Set the shape flag + * + * @param int $value + */ + public function setSpFlag($value) + { + $this->_spFlag = $value; + } + + /** + * Get the shape flag + * + * @return int + */ + public function getSpFlag() + { + return $this->_spFlag; + } + + /** + * Set the shape index + * + * @param int $value + */ + public function setSpId($value) + { + $this->_spId = $value; + } + + /** + * Get the shape index + * + * @return int + */ + public function getSpId() + { + return $this->_spId; + } + + /** + * Set an option for the Shape Group Container + * + * @param int $property The number specifies the option + * @param mixed $value + */ + public function setOPT($property, $value) + { + $this->_OPT[$property] = $value; + } + + /** + * Get an option for the Shape Group Container + * + * @param int $property The number specifies the option + * @return mixed + */ + public function getOPT($property) + { + if (isset($this->_OPT[$property])) { + return $this->_OPT[$property]; + } + return null; + } + + /** + * Get the collection of options + * + * @return array + */ + public function getOPTCollection() + { + return $this->_OPT; + } + + /** + * Set cell coordinates of upper-left corner of shape + * + * @param string $value + */ + public function setStartCoordinates($value = 'A1') + { + $this->_startCoordinates = $value; + } + + /** + * Get cell coordinates of upper-left corner of shape + * + * @return string + */ + public function getStartCoordinates() + { + return $this->_startCoordinates; + } + + /** + * Set offset in x-direction of upper-left corner of shape measured in 1/1024 of column width + * + * @param int $startOffsetX + */ + public function setStartOffsetX($startOffsetX = 0) + { + $this->_startOffsetX = $startOffsetX; + } + + /** + * Get offset in x-direction of upper-left corner of shape measured in 1/1024 of column width + * + * @return int + */ + public function getStartOffsetX() + { + return $this->_startOffsetX; + } + + /** + * Set offset in y-direction of upper-left corner of shape measured in 1/256 of row height + * + * @param int $startOffsetY + */ + public function setStartOffsetY($startOffsetY = 0) + { + $this->_startOffsetY = $startOffsetY; + } + + /** + * Get offset in y-direction of upper-left corner of shape measured in 1/256 of row height + * + * @return int + */ + public function getStartOffsetY() + { + return $this->_startOffsetY; + } + + /** + * Set cell coordinates of bottom-right corner of shape + * + * @param string $value + */ + public function setEndCoordinates($value = 'A1') + { + $this->_endCoordinates = $value; + } + + /** + * Get cell coordinates of bottom-right corner of shape + * + * @return string + */ + public function getEndCoordinates() + { + return $this->_endCoordinates; + } + + /** + * Set offset in x-direction of bottom-right corner of shape measured in 1/1024 of column width + * + * @param int $startOffsetX + */ + public function setEndOffsetX($endOffsetX = 0) + { + $this->_endOffsetX = $endOffsetX; + } + + /** + * Get offset in x-direction of bottom-right corner of shape measured in 1/1024 of column width + * + * @return int + */ + public function getEndOffsetX() + { + return $this->_endOffsetX; + } + + /** + * Set offset in y-direction of bottom-right corner of shape measured in 1/256 of row height + * + * @param int $endOffsetY + */ + public function setEndOffsetY($endOffsetY = 0) + { + $this->_endOffsetY = $endOffsetY; + } + + /** + * Get offset in y-direction of bottom-right corner of shape measured in 1/256 of row height + * + * @return int + */ + public function getEndOffsetY() + { + return $this->_endOffsetY; + } + + /** + * Get the nesting level of this spContainer. This is the number of spgrContainers between this spContainer and + * the dgContainer. A value of 1 = immediately within first spgrContainer + * Higher nesting level occurs if and only if spContainer is part of a shape group + * + * @return int Nesting level + */ + public function getNestingLevel() + { + $nestingLevel = 0; + + $parent = $this->getParent(); + while ($parent instanceof PHPExcel_Shared_Escher_DgContainer_SpgrContainer) { + ++$nestingLevel; + $parent = $parent->getParent(); + } + + return $nestingLevel; + } +} diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/Escher/DggContainer.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/Escher/DggContainer.php new file mode 100644 index 00000000..26696ec9 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/Escher/DggContainer.php @@ -0,0 +1,203 @@ +<?php +/** + * PHPExcel + * + * Copyright (c) 2006 - 2014 PHPExcel + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * @category PHPExcel + * @package PHPExcel_Shared_Escher + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @version ##VERSION##, ##DATE## + */ + +/** + * PHPExcel_Shared_Escher_DggContainer + * + * @category PHPExcel + * @package PHPExcel_Shared_Escher + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + */ +class PHPExcel_Shared_Escher_DggContainer +{ + /** + * Maximum shape index of all shapes in all drawings increased by one + * + * @var int + */ + private $_spIdMax; + + /** + * Total number of drawings saved + * + * @var int + */ + private $_cDgSaved; + + /** + * Total number of shapes saved (including group shapes) + * + * @var int + */ + private $_cSpSaved; + + /** + * BLIP Store Container + * + * @var PHPExcel_Shared_Escher_DggContainer_BstoreContainer + */ + private $_bstoreContainer; + + /** + * Array of options for the drawing group + * + * @var array + */ + private $_OPT = array(); + + /** + * Array of identifier clusters containg information about the maximum shape identifiers + * + * @var array + */ + private $_IDCLs = array(); + + /** + * Get maximum shape index of all shapes in all drawings (plus one) + * + * @return int + */ + public function getSpIdMax() + { + return $this->_spIdMax; + } + + /** + * Set maximum shape index of all shapes in all drawings (plus one) + * + * @param int + */ + public function setSpIdMax($value) + { + $this->_spIdMax = $value; + } + + /** + * Get total number of drawings saved + * + * @return int + */ + public function getCDgSaved() + { + return $this->_cDgSaved; + } + + /** + * Set total number of drawings saved + * + * @param int + */ + public function setCDgSaved($value) + { + $this->_cDgSaved = $value; + } + + /** + * Get total number of shapes saved (including group shapes) + * + * @return int + */ + public function getCSpSaved() + { + return $this->_cSpSaved; + } + + /** + * Set total number of shapes saved (including group shapes) + * + * @param int + */ + public function setCSpSaved($value) + { + $this->_cSpSaved = $value; + } + + /** + * Get BLIP Store Container + * + * @return PHPExcel_Shared_Escher_DggContainer_BstoreContainer + */ + public function getBstoreContainer() + { + return $this->_bstoreContainer; + } + + /** + * Set BLIP Store Container + * + * @param PHPExcel_Shared_Escher_DggContainer_BstoreContainer $bstoreContainer + */ + public function setBstoreContainer($bstoreContainer) + { + $this->_bstoreContainer = $bstoreContainer; + } + + /** + * Set an option for the drawing group + * + * @param int $property The number specifies the option + * @param mixed $value + */ + public function setOPT($property, $value) + { + $this->_OPT[$property] = $value; + } + + /** + * Get an option for the drawing group + * + * @param int $property The number specifies the option + * @return mixed + */ + public function getOPT($property) + { + if (isset($this->_OPT[$property])) { + return $this->_OPT[$property]; + } + return null; + } + + /** + * Get identifier clusters + * + * @return array + */ + public function getIDCLs() + { + return $this->_IDCLs; + } + + /** + * Set identifier clusters. array(<drawingId> => <max shape id>, ...) + * + * @param array $pValue + */ + public function setIDCLs($pValue) + { + $this->_IDCLs = $pValue; + } +} diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/Escher/DggContainer/BstoreContainer.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/Escher/DggContainer/BstoreContainer.php new file mode 100644 index 00000000..fba2e73f --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/Escher/DggContainer/BstoreContainer.php @@ -0,0 +1,65 @@ +<?php +/** + * PHPExcel + * + * Copyright (c) 2006 - 2014 PHPExcel + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * @category PHPExcel + * @package PHPExcel_Shared_Escher + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @version ##VERSION##, ##DATE## + */ + +/** + * PHPExcel_Shared_Escher_DggContainer_BstoreContainer + * + * @category PHPExcel + * @package PHPExcel_Shared_Escher + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + */ +class PHPExcel_Shared_Escher_DggContainer_BstoreContainer +{ + /** + * BLIP Store Entries. Each of them holds one BLIP (Big Large Image or Picture) + * + * @var array + */ + private $_BSECollection = array(); + + /** + * Add a BLIP Store Entry + * + * @param PHPExcel_Shared_Escher_DggContainer_BstoreContainer_BSE $BSE + */ + public function addBSE($BSE) + { + $this->_BSECollection[] = $BSE; + $BSE->setParent($this); + } + + /** + * Get the collection of BLIP Store Entries + * + * @return PHPExcel_Shared_Escher_DggContainer_BstoreContainer_BSE[] + */ + public function getBSECollection() + { + return $this->_BSECollection; + } + +} diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/Escher/DggContainer/BstoreContainer/BSE.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/Escher/DggContainer/BstoreContainer/BSE.php new file mode 100644 index 00000000..418896a3 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/Escher/DggContainer/BstoreContainer/BSE.php @@ -0,0 +1,120 @@ +<?php +/** + * PHPExcel + * + * Copyright (c) 2006 - 2014 PHPExcel + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * @category PHPExcel + * @package PHPExcel_Shared_Escher + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @version ##VERSION##, ##DATE## + */ + +/** + * PHPExcel_Shared_Escher_DggContainer_BstoreContainer_BSE + * + * @category PHPExcel + * @package PHPExcel_Shared_Escher + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + */ +class PHPExcel_Shared_Escher_DggContainer_BstoreContainer_BSE +{ + const BLIPTYPE_ERROR = 0x00; + const BLIPTYPE_UNKNOWN = 0x01; + const BLIPTYPE_EMF = 0x02; + const BLIPTYPE_WMF = 0x03; + const BLIPTYPE_PICT = 0x04; + const BLIPTYPE_JPEG = 0x05; + const BLIPTYPE_PNG = 0x06; + const BLIPTYPE_DIB = 0x07; + const BLIPTYPE_TIFF = 0x11; + const BLIPTYPE_CMYKJPEG = 0x12; + + /** + * The parent BLIP Store Entry Container + * + * @var PHPExcel_Shared_Escher_DggContainer_BstoreContainer + */ + private $_parent; + + /** + * The BLIP (Big Large Image or Picture) + * + * @var PHPExcel_Shared_Escher_DggContainer_BstoreContainer_BSE_Blip + */ + private $_blip; + + /** + * The BLIP type + * + * @var int + */ + private $_blipType; + + /** + * Set parent BLIP Store Entry Container + * + * @param PHPExcel_Shared_Escher_DggContainer_BstoreContainer $parent + */ + public function setParent($parent) + { + $this->_parent = $parent; + } + + /** + * Get the BLIP + * + * @return PHPExcel_Shared_Escher_DggContainer_BstoreContainer_BSE_Blip + */ + public function getBlip() + { + return $this->_blip; + } + + /** + * Set the BLIP + * + * @param PHPExcel_Shared_Escher_DggContainer_BstoreContainer_BSE_Blip $blip + */ + public function setBlip($blip) + { + $this->_blip = $blip; + $blip->setParent($this); + } + + /** + * Get the BLIP type + * + * @return int + */ + public function getBlipType() + { + return $this->_blipType; + } + + /** + * Set the BLIP type + * + * @param int + */ + public function setBlipType($blipType) + { + $this->_blipType = $blipType; + } + +} diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/Escher/DggContainer/BstoreContainer/BSE/Blip.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/Escher/DggContainer/BstoreContainer/BSE/Blip.php new file mode 100644 index 00000000..d9cc2f5c --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/Escher/DggContainer/BstoreContainer/BSE/Blip.php @@ -0,0 +1,91 @@ +<?php +/** + * PHPExcel + * + * Copyright (c) 2006 - 2014 PHPExcel + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * @category PHPExcel + * @package PHPExcel_Shared_Escher + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @version ##VERSION##, ##DATE## + */ + +/** + * PHPExcel_Shared_Escher_DggContainer_BstoreContainer_BSE_Blip + * + * @category PHPExcel + * @package PHPExcel_Shared_Escher + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + */ +class PHPExcel_Shared_Escher_DggContainer_BstoreContainer_BSE_Blip +{ + /** + * The parent BSE + * + * @var PHPExcel_Shared_Escher_DggContainer_BstoreContainer_BSE + */ + private $_parent; + + /** + * Raw image data + * + * @var string + */ + private $_data; + + /** + * Get the raw image data + * + * @return string + */ + public function getData() + { + return $this->_data; + } + + /** + * Set the raw image data + * + * @param string + */ + public function setData($data) + { + $this->_data = $data; + } + + /** + * Set parent BSE + * + * @param PHPExcel_Shared_Escher_DggContainer_BstoreContainer_BSE $parent + */ + public function setParent($parent) + { + $this->_parent = $parent; + } + + /** + * Get parent BSE + * + * @return PHPExcel_Shared_Escher_DggContainer_BstoreContainer_BSE $parent + */ + public function getParent() + { + return $this->_parent; + } + +} diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/Excel5.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/Excel5.php new file mode 100644 index 00000000..3caf675d --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/Excel5.php @@ -0,0 +1,317 @@ +<?php +/** + * PHPExcel + * + * Copyright (c) 2006 - 2014 PHPExcel + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * @category PHPExcel + * @package PHPExcel_Shared + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @version ##VERSION##, ##DATE## + */ + +/** + * PHPExcel_Shared_Excel5 + * + * @category PHPExcel + * @package PHPExcel_Shared + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + */ +class PHPExcel_Shared_Excel5 +{ + /** + * Get the width of a column in pixels. We use the relationship y = ceil(7x) where + * x is the width in intrinsic Excel units (measuring width in number of normal characters) + * This holds for Arial 10 + * + * @param PHPExcel_Worksheet $sheet The sheet + * @param string $col The column + * @return integer The width in pixels + */ + public static function sizeCol($sheet, $col = 'A') + { + // default font of the workbook + $font = $sheet->getParent()->getDefaultStyle()->getFont(); + + $columnDimensions = $sheet->getColumnDimensions(); + + // first find the true column width in pixels (uncollapsed and unhidden) + if ( isset($columnDimensions[$col]) and $columnDimensions[$col]->getWidth() != -1 ) { + + // then we have column dimension with explicit width + $columnDimension = $columnDimensions[$col]; + $width = $columnDimension->getWidth(); + $pixelWidth = PHPExcel_Shared_Drawing::cellDimensionToPixels($width, $font); + + } else if ($sheet->getDefaultColumnDimension()->getWidth() != -1) { + + // then we have default column dimension with explicit width + $defaultColumnDimension = $sheet->getDefaultColumnDimension(); + $width = $defaultColumnDimension->getWidth(); + $pixelWidth = PHPExcel_Shared_Drawing::cellDimensionToPixels($width, $font); + + } else { + + // we don't even have any default column dimension. Width depends on default font + $pixelWidth = PHPExcel_Shared_Font::getDefaultColumnWidthByFont($font, true); + } + + // now find the effective column width in pixels + if (isset($columnDimensions[$col]) and !$columnDimensions[$col]->getVisible()) { + $effectivePixelWidth = 0; + } else { + $effectivePixelWidth = $pixelWidth; + } + + return $effectivePixelWidth; + } + + /** + * Convert the height of a cell from user's units to pixels. By interpolation + * the relationship is: y = 4/3x. If the height hasn't been set by the user we + * use the default value. If the row is hidden we use a value of zero. + * + * @param PHPExcel_Worksheet $sheet The sheet + * @param integer $row The row index (1-based) + * @return integer The width in pixels + */ + public static function sizeRow($sheet, $row = 1) + { + // default font of the workbook + $font = $sheet->getParent()->getDefaultStyle()->getFont(); + + $rowDimensions = $sheet->getRowDimensions(); + + // first find the true row height in pixels (uncollapsed and unhidden) + if ( isset($rowDimensions[$row]) and $rowDimensions[$row]->getRowHeight() != -1) { + + // then we have a row dimension + $rowDimension = $rowDimensions[$row]; + $rowHeight = $rowDimension->getRowHeight(); + $pixelRowHeight = (int) ceil(4 * $rowHeight / 3); // here we assume Arial 10 + + } else if ($sheet->getDefaultRowDimension()->getRowHeight() != -1) { + + // then we have a default row dimension with explicit height + $defaultRowDimension = $sheet->getDefaultRowDimension(); + $rowHeight = $defaultRowDimension->getRowHeight(); + $pixelRowHeight = PHPExcel_Shared_Drawing::pointsToPixels($rowHeight); + + } else { + + // we don't even have any default row dimension. Height depends on default font + $pointRowHeight = PHPExcel_Shared_Font::getDefaultRowHeightByFont($font); + $pixelRowHeight = PHPExcel_Shared_Font::fontSizeToPixels($pointRowHeight); + + } + + // now find the effective row height in pixels + if ( isset($rowDimensions[$row]) and !$rowDimensions[$row]->getVisible() ) { + $effectivePixelRowHeight = 0; + } else { + $effectivePixelRowHeight = $pixelRowHeight; + } + + return $effectivePixelRowHeight; + } + + /** + * Get the horizontal distance in pixels between two anchors + * The distanceX is found as sum of all the spanning columns widths minus correction for the two offsets + * + * @param PHPExcel_Worksheet $sheet + * @param string $startColumn + * @param integer $startOffsetX Offset within start cell measured in 1/1024 of the cell width + * @param string $endColumn + * @param integer $endOffsetX Offset within end cell measured in 1/1024 of the cell width + * @return integer Horizontal measured in pixels + */ + public static function getDistanceX(PHPExcel_Worksheet $sheet, $startColumn = 'A', $startOffsetX = 0, $endColumn = 'A', $endOffsetX = 0) + { + $distanceX = 0; + + // add the widths of the spanning columns + $startColumnIndex = PHPExcel_Cell::columnIndexFromString($startColumn) - 1; // 1-based + $endColumnIndex = PHPExcel_Cell::columnIndexFromString($endColumn) - 1; // 1-based + for ($i = $startColumnIndex; $i <= $endColumnIndex; ++$i) { + $distanceX += self::sizeCol($sheet, PHPExcel_Cell::stringFromColumnIndex($i)); + } + + // correct for offsetX in startcell + $distanceX -= (int) floor(self::sizeCol($sheet, $startColumn) * $startOffsetX / 1024); + + // correct for offsetX in endcell + $distanceX -= (int) floor(self::sizeCol($sheet, $endColumn) * (1 - $endOffsetX / 1024)); + + return $distanceX; + } + + /** + * Get the vertical distance in pixels between two anchors + * The distanceY is found as sum of all the spanning rows minus two offsets + * + * @param PHPExcel_Worksheet $sheet + * @param integer $startRow (1-based) + * @param integer $startOffsetY Offset within start cell measured in 1/256 of the cell height + * @param integer $endRow (1-based) + * @param integer $endOffsetY Offset within end cell measured in 1/256 of the cell height + * @return integer Vertical distance measured in pixels + */ + public static function getDistanceY(PHPExcel_Worksheet $sheet, $startRow = 1, $startOffsetY = 0, $endRow = 1, $endOffsetY = 0) + { + $distanceY = 0; + + // add the widths of the spanning rows + for ($row = $startRow; $row <= $endRow; ++$row) { + $distanceY += self::sizeRow($sheet, $row); + } + + // correct for offsetX in startcell + $distanceY -= (int) floor(self::sizeRow($sheet, $startRow) * $startOffsetY / 256); + + // correct for offsetX in endcell + $distanceY -= (int) floor(self::sizeRow($sheet, $endRow) * (1 - $endOffsetY / 256)); + + return $distanceY; + } + + /** + * Convert 1-cell anchor coordinates to 2-cell anchor coordinates + * This function is ported from PEAR Spreadsheet_Writer_Excel with small modifications + * + * Calculate the vertices that define the position of the image as required by + * the OBJ record. + * + * +------------+------------+ + * | A | B | + * +-----+------------+------------+ + * | |(x1,y1) | | + * | 1 |(A1)._______|______ | + * | | | | | + * | | | | | + * +-----+----| BITMAP |-----+ + * | | | | | + * | 2 | |______________. | + * | | | (B2)| + * | | | (x2,y2)| + * +---- +------------+------------+ + * + * Example of a bitmap that covers some of the area from cell A1 to cell B2. + * + * Based on the width and height of the bitmap we need to calculate 8 vars: + * $col_start, $row_start, $col_end, $row_end, $x1, $y1, $x2, $y2. + * The width and height of the cells are also variable and have to be taken into + * account. + * The values of $col_start and $row_start are passed in from the calling + * function. The values of $col_end and $row_end are calculated by subtracting + * the width and height of the bitmap from the width and height of the + * underlying cells. + * The vertices are expressed as a percentage of the underlying cell width as + * follows (rhs values are in pixels): + * + * x1 = X / W *1024 + * y1 = Y / H *256 + * x2 = (X-1) / W *1024 + * y2 = (Y-1) / H *256 + * + * Where: X is distance from the left side of the underlying cell + * Y is distance from the top of the underlying cell + * W is the width of the cell + * H is the height of the cell + * + * @param PHPExcel_Worksheet $sheet + * @param string $coordinates E.g. 'A1' + * @param integer $offsetX Horizontal offset in pixels + * @param integer $offsetY Vertical offset in pixels + * @param integer $width Width in pixels + * @param integer $height Height in pixels + * @return array + */ + public static function oneAnchor2twoAnchor($sheet, $coordinates, $offsetX, $offsetY, $width, $height) + { + list($column, $row) = PHPExcel_Cell::coordinateFromString($coordinates); + $col_start = PHPExcel_Cell::columnIndexFromString($column) - 1; + $row_start = $row - 1; + + $x1 = $offsetX; + $y1 = $offsetY; + + // Initialise end cell to the same as the start cell + $col_end = $col_start; // Col containing lower right corner of object + $row_end = $row_start; // Row containing bottom right corner of object + + // Zero the specified offset if greater than the cell dimensions + if ($x1 >= self::sizeCol($sheet, PHPExcel_Cell::stringFromColumnIndex($col_start))) { + $x1 = 0; + } + if ($y1 >= self::sizeRow($sheet, $row_start + 1)) { + $y1 = 0; + } + + $width = $width + $x1 -1; + $height = $height + $y1 -1; + + // Subtract the underlying cell widths to find the end cell of the image + while ($width >= self::sizeCol($sheet, PHPExcel_Cell::stringFromColumnIndex($col_end))) { + $width -= self::sizeCol($sheet, PHPExcel_Cell::stringFromColumnIndex($col_end)); + ++$col_end; + } + + // Subtract the underlying cell heights to find the end cell of the image + while ($height >= self::sizeRow($sheet, $row_end + 1)) { + $height -= self::sizeRow($sheet, $row_end + 1); + ++$row_end; + } + + // Bitmap isn't allowed to start or finish in a hidden cell, i.e. a cell + // with zero height or width. + if (self::sizeCol($sheet, PHPExcel_Cell::stringFromColumnIndex($col_start)) == 0) { + return; + } + if (self::sizeCol($sheet, PHPExcel_Cell::stringFromColumnIndex($col_end)) == 0) { + return; + } + if (self::sizeRow($sheet, $row_start + 1) == 0) { + return; + } + if (self::sizeRow($sheet, $row_end + 1) == 0) { + return; + } + + // Convert the pixel values to the percentage value expected by Excel + $x1 = $x1 / self::sizeCol($sheet, PHPExcel_Cell::stringFromColumnIndex($col_start)) * 1024; + $y1 = $y1 / self::sizeRow($sheet, $row_start + 1) * 256; + $x2 = ($width + 1) / self::sizeCol($sheet, PHPExcel_Cell::stringFromColumnIndex($col_end)) * 1024; // Distance to right side of object + $y2 = ($height + 1) / self::sizeRow($sheet, $row_end + 1) * 256; // Distance to bottom of object + + $startCoordinates = PHPExcel_Cell::stringFromColumnIndex($col_start) . ($row_start + 1); + $endCoordinates = PHPExcel_Cell::stringFromColumnIndex($col_end) . ($row_end + 1); + + $twoAnchor = array( + 'startCoordinates' => $startCoordinates, + 'startOffsetX' => $x1, + 'startOffsetY' => $y1, + 'endCoordinates' => $endCoordinates, + 'endOffsetX' => $x2, + 'endOffsetY' => $y2, + ); + + return $twoAnchor; + } + +} diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/File.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/File.php new file mode 100644 index 00000000..52c9b979 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/File.php @@ -0,0 +1,178 @@ +<?php +/** + * PHPExcel + * + * Copyright (c) 2006 - 2014 PHPExcel + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * @category PHPExcel + * @package PHPExcel_Shared + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @version ##VERSION##, ##DATE## + */ + + +/** + * PHPExcel_Shared_File + * + * @category PHPExcel + * @package PHPExcel_Shared + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + */ +class PHPExcel_Shared_File +{ + /* + * Use Temp or File Upload Temp for temporary files + * + * @protected + * @var boolean + */ + protected static $_useUploadTempDirectory = FALSE; + + + /** + * Set the flag indicating whether the File Upload Temp directory should be used for temporary files + * + * @param boolean $useUploadTempDir Use File Upload Temporary directory (true or false) + */ + public static function setUseUploadTempDirectory($useUploadTempDir = FALSE) { + self::$_useUploadTempDirectory = (boolean) $useUploadTempDir; + } // function setUseUploadTempDirectory() + + + /** + * Get the flag indicating whether the File Upload Temp directory should be used for temporary files + * + * @return boolean Use File Upload Temporary directory (true or false) + */ + public static function getUseUploadTempDirectory() { + return self::$_useUploadTempDirectory; + } // function getUseUploadTempDirectory() + + + /** + * Verify if a file exists + * + * @param string $pFilename Filename + * @return bool + */ + public static function file_exists($pFilename) { + // Sick construction, but it seems that + // file_exists returns strange values when + // doing the original file_exists on ZIP archives... + if ( strtolower(substr($pFilename, 0, 3)) == 'zip' ) { + // Open ZIP file and verify if the file exists + $zipFile = substr($pFilename, 6, strpos($pFilename, '#') - 6); + $archiveFile = substr($pFilename, strpos($pFilename, '#') + 1); + + $zip = new ZipArchive(); + if ($zip->open($zipFile) === true) { + $returnValue = ($zip->getFromName($archiveFile) !== false); + $zip->close(); + return $returnValue; + } else { + return false; + } + } else { + // Regular file_exists + return file_exists($pFilename); + } + } + + /** + * Returns canonicalized absolute pathname, also for ZIP archives + * + * @param string $pFilename + * @return string + */ + public static function realpath($pFilename) { + // Returnvalue + $returnValue = ''; + + // Try using realpath() + if (file_exists($pFilename)) { + $returnValue = realpath($pFilename); + } + + // Found something? + if ($returnValue == '' || ($returnValue === NULL)) { + $pathArray = explode('/' , $pFilename); + while(in_array('..', $pathArray) && $pathArray[0] != '..') { + for ($i = 0; $i < count($pathArray); ++$i) { + if ($pathArray[$i] == '..' && $i > 0) { + unset($pathArray[$i]); + unset($pathArray[$i - 1]); + break; + } + } + } + $returnValue = implode('/', $pathArray); + } + + // Return + return $returnValue; + } + + /** + * Get the systems temporary directory. + * + * @return string + */ + public static function sys_get_temp_dir() + { + if (self::$_useUploadTempDirectory) { + // use upload-directory when defined to allow running on environments having very restricted + // open_basedir configs + if (ini_get('upload_tmp_dir') !== FALSE) { + if ($temp = ini_get('upload_tmp_dir')) { + if (file_exists($temp)) + return realpath($temp); + } + } + } + + // sys_get_temp_dir is only available since PHP 5.2.1 + // http://php.net/manual/en/function.sys-get-temp-dir.php#94119 + if ( !function_exists('sys_get_temp_dir')) { + if ($temp = getenv('TMP') ) { + if ((!empty($temp)) && (file_exists($temp))) { return realpath($temp); } + } + if ($temp = getenv('TEMP') ) { + if ((!empty($temp)) && (file_exists($temp))) { return realpath($temp); } + } + if ($temp = getenv('TMPDIR') ) { + if ((!empty($temp)) && (file_exists($temp))) { return realpath($temp); } + } + + // trick for creating a file in system's temporary dir + // without knowing the path of the system's temporary dir + $temp = tempnam(__FILE__, ''); + if (file_exists($temp)) { + unlink($temp); + return realpath(dirname($temp)); + } + + return null; + } + + // use ordinary built-in PHP function + // There should be no problem with the 5.2.4 Suhosin realpath() bug, because this line should only + // be called if we're running 5.2.1 or earlier + return realpath(sys_get_temp_dir()); + } + +} diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/Font.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/Font.php new file mode 100644 index 00000000..8e5b27b8 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/Font.php @@ -0,0 +1,773 @@ +<?php +/** + * PHPExcel + * + * Copyright (c) 2006 - 2014 PHPExcel + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * @category PHPExcel + * @package PHPExcel_Shared + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @version ##VERSION##, ##DATE## + */ + + +/** + * PHPExcel_Shared_Font + * + * @category PHPExcel + * @package PHPExcel_Shared + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + */ +class PHPExcel_Shared_Font +{ + /* Methods for resolving autosize value */ + const AUTOSIZE_METHOD_APPROX = 'approx'; + const AUTOSIZE_METHOD_EXACT = 'exact'; + + private static $_autoSizeMethods = array( + self::AUTOSIZE_METHOD_APPROX, + self::AUTOSIZE_METHOD_EXACT, + ); + + /** Character set codes used by BIFF5-8 in Font records */ + const CHARSET_ANSI_LATIN = 0x00; + const CHARSET_SYSTEM_DEFAULT = 0x01; + const CHARSET_SYMBOL = 0x02; + const CHARSET_APPLE_ROMAN = 0x4D; + const CHARSET_ANSI_JAPANESE_SHIFTJIS = 0x80; + const CHARSET_ANSI_KOREAN_HANGUL = 0x81; + const CHARSET_ANSI_KOREAN_JOHAB = 0x82; + const CHARSET_ANSI_CHINESE_SIMIPLIFIED = 0x86; // gb2312 + const CHARSET_ANSI_CHINESE_TRADITIONAL = 0x88; // big5 + const CHARSET_ANSI_GREEK = 0xA1; + const CHARSET_ANSI_TURKISH = 0xA2; + const CHARSET_ANSI_VIETNAMESE = 0xA3; + const CHARSET_ANSI_HEBREW = 0xB1; + const CHARSET_ANSI_ARABIC = 0xB2; + const CHARSET_ANSI_BALTIC = 0xBA; + const CHARSET_ANSI_CYRILLIC = 0xCC; + const CHARSET_ANSI_THAI = 0xDD; + const CHARSET_ANSI_LATIN_II = 0xEE; + const CHARSET_OEM_LATIN_I = 0xFF; + + // XXX: Constants created! + /** Font filenames */ + const ARIAL = 'arial.ttf'; + const ARIAL_BOLD = 'arialbd.ttf'; + const ARIAL_ITALIC = 'ariali.ttf'; + const ARIAL_BOLD_ITALIC = 'arialbi.ttf'; + + const CALIBRI = 'CALIBRI.TTF'; + const CALIBRI_BOLD = 'CALIBRIB.TTF'; + const CALIBRI_ITALIC = 'CALIBRII.TTF'; + const CALIBRI_BOLD_ITALIC = 'CALIBRIZ.TTF'; + + const COMIC_SANS_MS = 'comic.ttf'; + const COMIC_SANS_MS_BOLD = 'comicbd.ttf'; + + const COURIER_NEW = 'cour.ttf'; + const COURIER_NEW_BOLD = 'courbd.ttf'; + const COURIER_NEW_ITALIC = 'couri.ttf'; + const COURIER_NEW_BOLD_ITALIC = 'courbi.ttf'; + + const GEORGIA = 'georgia.ttf'; + const GEORGIA_BOLD = 'georgiab.ttf'; + const GEORGIA_ITALIC = 'georgiai.ttf'; + const GEORGIA_BOLD_ITALIC = 'georgiaz.ttf'; + + const IMPACT = 'impact.ttf'; + + const LIBERATION_SANS = 'LiberationSans-Regular.ttf'; + const LIBERATION_SANS_BOLD = 'LiberationSans-Bold.ttf'; + const LIBERATION_SANS_ITALIC = 'LiberationSans-Italic.ttf'; + const LIBERATION_SANS_BOLD_ITALIC = 'LiberationSans-BoldItalic.ttf'; + + const LUCIDA_CONSOLE = 'lucon.ttf'; + const LUCIDA_SANS_UNICODE = 'l_10646.ttf'; + + const MICROSOFT_SANS_SERIF = 'micross.ttf'; + + const PALATINO_LINOTYPE = 'pala.ttf'; + const PALATINO_LINOTYPE_BOLD = 'palab.ttf'; + const PALATINO_LINOTYPE_ITALIC = 'palai.ttf'; + const PALATINO_LINOTYPE_BOLD_ITALIC = 'palabi.ttf'; + + const SYMBOL = 'symbol.ttf'; + + const TAHOMA = 'tahoma.ttf'; + const TAHOMA_BOLD = 'tahomabd.ttf'; + + const TIMES_NEW_ROMAN = 'times.ttf'; + const TIMES_NEW_ROMAN_BOLD = 'timesbd.ttf'; + const TIMES_NEW_ROMAN_ITALIC = 'timesi.ttf'; + const TIMES_NEW_ROMAN_BOLD_ITALIC = 'timesbi.ttf'; + + const TREBUCHET_MS = 'trebuc.ttf'; + const TREBUCHET_MS_BOLD = 'trebucbd.ttf'; + const TREBUCHET_MS_ITALIC = 'trebucit.ttf'; + const TREBUCHET_MS_BOLD_ITALIC = 'trebucbi.ttf'; + + const VERDANA = 'verdana.ttf'; + const VERDANA_BOLD = 'verdanab.ttf'; + const VERDANA_ITALIC = 'verdanai.ttf'; + const VERDANA_BOLD_ITALIC = 'verdanaz.ttf'; + + /** + * AutoSize method + * + * @var string + */ + private static $autoSizeMethod = self::AUTOSIZE_METHOD_APPROX; + + /** + * Path to folder containing TrueType font .ttf files + * + * @var string + */ + private static $trueTypeFontPath = null; + + /** + * How wide is a default column for a given default font and size? + * Empirical data found by inspecting real Excel files and reading off the pixel width + * in Microsoft Office Excel 2007. + * + * @var array + */ + public static $defaultColumnWidths = array( + 'Arial' => array( + 1 => array('px' => 24, 'width' => 12.00000000), + 2 => array('px' => 24, 'width' => 12.00000000), + 3 => array('px' => 32, 'width' => 10.66406250), + 4 => array('px' => 32, 'width' => 10.66406250), + 5 => array('px' => 40, 'width' => 10.00000000), + 6 => array('px' => 48, 'width' => 9.59765625), + 7 => array('px' => 48, 'width' => 9.59765625), + 8 => array('px' => 56, 'width' => 9.33203125), + 9 => array('px' => 64, 'width' => 9.14062500), + 10 => array('px' => 64, 'width' => 9.14062500), + ), + 'Calibri' => array( + 1 => array('px' => 24, 'width' => 12.00000000), + 2 => array('px' => 24, 'width' => 12.00000000), + 3 => array('px' => 32, 'width' => 10.66406250), + 4 => array('px' => 32, 'width' => 10.66406250), + 5 => array('px' => 40, 'width' => 10.00000000), + 6 => array('px' => 48, 'width' => 9.59765625), + 7 => array('px' => 48, 'width' => 9.59765625), + 8 => array('px' => 56, 'width' => 9.33203125), + 9 => array('px' => 56, 'width' => 9.33203125), + 10 => array('px' => 64, 'width' => 9.14062500), + 11 => array('px' => 64, 'width' => 9.14062500), + ), + 'Verdana' => array( + 1 => array('px' => 24, 'width' => 12.00000000), + 2 => array('px' => 24, 'width' => 12.00000000), + 3 => array('px' => 32, 'width' => 10.66406250), + 4 => array('px' => 32, 'width' => 10.66406250), + 5 => array('px' => 40, 'width' => 10.00000000), + 6 => array('px' => 48, 'width' => 9.59765625), + 7 => array('px' => 48, 'width' => 9.59765625), + 8 => array('px' => 64, 'width' => 9.14062500), + 9 => array('px' => 72, 'width' => 9.00000000), + 10 => array('px' => 72, 'width' => 9.00000000), + ), + ); + + /** + * Set autoSize method + * + * @param string $pValue + * @return boolean Success or failure + */ + public static function setAutoSizeMethod($pValue = self::AUTOSIZE_METHOD_APPROX) + { + if (!in_array($pValue,self::$_autoSizeMethods)) { + return FALSE; + } + self::$autoSizeMethod = $pValue; + + return TRUE; + } + + /** + * Get autoSize method + * + * @return string + */ + public static function getAutoSizeMethod() + { + return self::$autoSizeMethod; + } + + /** + * Set the path to the folder containing .ttf files. There should be a trailing slash. + * Typical locations on variout some platforms: + * <ul> + * <li>C:/Windows/Fonts/</li> + * <li>/usr/share/fonts/truetype/</li> + * <li>~/.fonts/</li> + * </ul> + * + * @param string $pValue + */ + public static function setTrueTypeFontPath($pValue = '') + { + self::$trueTypeFontPath = $pValue; + } + + /** + * Get the path to the folder containing .ttf files. + * + * @return string + */ + public static function getTrueTypeFontPath() + { + return self::$trueTypeFontPath; + } + + /** + * Calculate an (approximate) OpenXML column width, based on font size and text contained + * + * @param PHPExcel_Style_Font $font Font object + * @param PHPExcel_RichText|string $cellText Text to calculate width + * @param integer $rotation Rotation angle + * @param PHPExcel_Style_Font|NULL $defaultFont Font object + * @return integer Column width + */ + public static function calculateColumnWidth(PHPExcel_Style_Font $font, $cellText = '', $rotation = 0, PHPExcel_Style_Font $defaultFont = null) { + // If it is rich text, use plain text + if ($cellText instanceof PHPExcel_RichText) { + $cellText = $cellText->getPlainText(); + } + + // Special case if there are one or more newline characters ("\n") + if (strpos($cellText, "\n") !== false) { + $lineTexts = explode("\n", $cellText); + $lineWidths = array(); + foreach ($lineTexts as $lineText) { + $lineWidths[] = self::calculateColumnWidth($font, $lineText, $rotation = 0, $defaultFont); + } + return max($lineWidths); // width of longest line in cell + } + + // Try to get the exact text width in pixels + $approximate = self::$autoSizeMethod == self::AUTOSIZE_METHOD_APPROX; + if (!$approximate) { + $columnWidthAdjust = ceil(self::getTextWidthPixelsExact('n', $font, 0) * 1.07); + try { + // Width of text in pixels excl. padding + // and addition because Excel adds some padding, just use approx width of 'n' glyph + $columnWidth = self::getTextWidthPixelsExact($cellText, $font, $rotation) + $columnWidthAdjust; + } catch (PHPExcel_Exception $e) { + $approximate = true; + } + } + + if ($approximate) { + $columnWidthAdjust = self::getTextWidthPixelsApprox('n', $font, 0); + // Width of text in pixels excl. padding, approximation + // and addition because Excel adds some padding, just use approx width of 'n' glyph + $columnWidth = self::getTextWidthPixelsApprox($cellText, $font, $rotation) + $columnWidthAdjust; + } + + // Convert from pixel width to column width + $columnWidth = PHPExcel_Shared_Drawing::pixelsToCellDimension($columnWidth, $defaultFont); + + // Return + return round($columnWidth, 6); + } + + /** + * Get GD text width in pixels for a string of text in a certain font at a certain rotation angle + * + * @param string $text + * @param PHPExcel_Style_Font + * @param int $rotation + * @return int + * @throws PHPExcel_Exception + */ + public static function getTextWidthPixelsExact($text, PHPExcel_Style_Font $font, $rotation = 0) { + if (!function_exists('imagettfbbox')) { + throw new PHPExcel_Exception('GD library needs to be enabled'); + } + + // font size should really be supplied in pixels in GD2, + // but since GD2 seems to assume 72dpi, pixels and points are the same + $fontFile = self::getTrueTypeFontFileFromFont($font); + $textBox = imagettfbbox($font->getSize(), $rotation, $fontFile, $text); + + // Get corners positions + $lowerLeftCornerX = $textBox[0]; +// $lowerLeftCornerY = $textBox[1]; + $lowerRightCornerX = $textBox[2]; +// $lowerRightCornerY = $textBox[3]; + $upperRightCornerX = $textBox[4]; +// $upperRightCornerY = $textBox[5]; + $upperLeftCornerX = $textBox[6]; +// $upperLeftCornerY = $textBox[7]; + + // Consider the rotation when calculating the width + $textWidth = max($lowerRightCornerX - $upperLeftCornerX, $upperRightCornerX - $lowerLeftCornerX); + + return $textWidth; + } + + /** + * Get approximate width in pixels for a string of text in a certain font at a certain rotation angle + * + * @param string $columnText + * @param PHPExcel_Style_Font $font + * @param int $rotation + * @return int Text width in pixels (no padding added) + */ + public static function getTextWidthPixelsApprox($columnText, PHPExcel_Style_Font $font = null, $rotation = 0) + { + $fontName = $font->getName(); + $fontSize = $font->getSize(); + + // Calculate column width in pixels. We assume fixed glyph width. Result varies with font name and size. + switch ($fontName) { + case 'Calibri': + // value 8.26 was found via interpolation by inspecting real Excel files with Calibri 11 font. + $columnWidth = (int) (8.26 * PHPExcel_Shared_String::CountCharacters($columnText)); + $columnWidth = $columnWidth * $fontSize / 11; // extrapolate from font size + break; + + case 'Arial': + // value 7 was found via interpolation by inspecting real Excel files with Arial 10 font. +// $columnWidth = (int) (7 * PHPExcel_Shared_String::CountCharacters($columnText)); + // value 8 was set because of experience in different exports at Arial 10 font. + $columnWidth = (int) (8 * PHPExcel_Shared_String::CountCharacters($columnText)); + $columnWidth = $columnWidth * $fontSize / 10; // extrapolate from font size + break; + + case 'Verdana': + // value 8 was found via interpolation by inspecting real Excel files with Verdana 10 font. + $columnWidth = (int) (8 * PHPExcel_Shared_String::CountCharacters($columnText)); + $columnWidth = $columnWidth * $fontSize / 10; // extrapolate from font size + break; + + default: + // just assume Calibri + $columnWidth = (int) (8.26 * PHPExcel_Shared_String::CountCharacters($columnText)); + $columnWidth = $columnWidth * $fontSize / 11; // extrapolate from font size + break; + } + + // Calculate approximate rotated column width + if ($rotation !== 0) { + if ($rotation == -165) { + // stacked text + $columnWidth = 4; // approximation + } else { + // rotated text + $columnWidth = $columnWidth * cos(deg2rad($rotation)) + + $fontSize * abs(sin(deg2rad($rotation))) / 5; // approximation + } + } + + // pixel width is an integer + return (int) $columnWidth; + } + + /** + * Calculate an (approximate) pixel size, based on a font points size + * + * @param int $fontSizeInPoints Font size (in points) + * @return int Font size (in pixels) + */ + public static function fontSizeToPixels($fontSizeInPoints = 11) { + return (int) ((4 / 3) * $fontSizeInPoints); + } + + /** + * Calculate an (approximate) pixel size, based on inch size + * + * @param int $sizeInInch Font size (in inch) + * @return int Size (in pixels) + */ + public static function inchSizeToPixels($sizeInInch = 1) { + return ($sizeInInch * 96); + } + + /** + * Calculate an (approximate) pixel size, based on centimeter size + * + * @param int $sizeInCm Font size (in centimeters) + * @return int Size (in pixels) + */ + public static function centimeterSizeToPixels($sizeInCm = 1) { + return ($sizeInCm * 37.795275591); + } + + /** + * Returns the font path given the font + * + * @param PHPExcel_Style_Font + * @return string Path to TrueType font file + */ + public static function getTrueTypeFontFileFromFont($font) { + if (!file_exists(self::$trueTypeFontPath) || !is_dir(self::$trueTypeFontPath)) { + throw new PHPExcel_Exception('Valid directory to TrueType Font files not specified'); + } + + $name = $font->getName(); + $bold = $font->getBold(); + $italic = $font->getItalic(); + + // Check if we can map font to true type font file + switch ($name) { + case 'Arial': + $fontFile = ( + $bold ? ($italic ? self::ARIAL_BOLD_ITALIC : self::ARIAL_BOLD) + : ($italic ? self::ARIAL_ITALIC : self::ARIAL) + ); + break; + + case 'Calibri': + $fontFile = ( + $bold ? ($italic ? self::CALIBRI_BOLD_ITALIC : self::CALIBRI_BOLD) + : ($italic ? self::CALIBRI_ITALIC : self::CALIBRI) + ); + break; + + case 'Courier New': + $fontFile = ( + $bold ? ($italic ? self::COURIER_NEW_BOLD_ITALIC : self::COURIER_NEW_BOLD) + : ($italic ? self::COURIER_NEW_ITALIC : self::COURIER_NEW) + ); + break; + + case 'Comic Sans MS': + $fontFile = ( + $bold ? self::COMIC_SANS_MS_BOLD : self::COMIC_SANS_MS + ); + break; + + case 'Georgia': + $fontFile = ( + $bold ? ($italic ? self::GEORGIA_BOLD_ITALIC : self::GEORGIA_BOLD) + : ($italic ? self::GEORGIA_ITALIC : self::GEORGIA) + ); + break; + + case 'Impact': + $fontFile = self::IMPACT; + break; + + case 'Liberation Sans': + $fontFile = ( + $bold ? ($italic ? self::LIBERATION_SANS_BOLD_ITALIC : self::LIBERATION_SANS_BOLD) + : ($italic ? self::LIBERATION_SANS_ITALIC : self::LIBERATION_SANS) + ); + break; + + case 'Lucida Console': + $fontFile = self::LUCIDA_CONSOLE; + break; + + case 'Lucida Sans Unicode': + $fontFile = self::LUCIDA_SANS_UNICODE; + break; + + case 'Microsoft Sans Serif': + $fontFile = self::MICROSOFT_SANS_SERIF; + break; + + case 'Palatino Linotype': + $fontFile = ( + $bold ? ($italic ? self::PALATINO_LINOTYPE_BOLD_ITALIC : self::PALATINO_LINOTYPE_BOLD) + : ($italic ? self::PALATINO_LINOTYPE_ITALIC : self::PALATINO_LINOTYPE) + ); + break; + + case 'Symbol': + $fontFile = self::SYMBOL; + break; + + case 'Tahoma': + $fontFile = ( + $bold ? self::TAHOMA_BOLD : self::TAHOMA + ); + break; + + case 'Times New Roman': + $fontFile = ( + $bold ? ($italic ? self::TIMES_NEW_ROMAN_BOLD_ITALIC : self::TIMES_NEW_ROMAN_BOLD) + : ($italic ? self::TIMES_NEW_ROMAN_ITALIC : self::TIMES_NEW_ROMAN) + ); + break; + + case 'Trebuchet MS': + $fontFile = ( + $bold ? ($italic ? self::TREBUCHET_MS_BOLD_ITALIC : self::TREBUCHET_MS_BOLD) + : ($italic ? self::TREBUCHET_MS_ITALIC : self::TREBUCHET_MS) + ); + break; + + case 'Verdana': + $fontFile = ( + $bold ? ($italic ? self::VERDANA_BOLD_ITALIC : self::VERDANA_BOLD) + : ($italic ? self::VERDANA_ITALIC : self::VERDANA) + ); + break; + + default: + throw new PHPExcel_Exception('Unknown font name "'. $name .'". Cannot map to TrueType font file'); + break; + } + + $fontFile = self::$trueTypeFontPath . $fontFile; + + // Check if file actually exists + if (!file_exists($fontFile)) { + throw New PHPExcel_Exception('TrueType Font file not found'); + } + + return $fontFile; + } + + /** + * Returns the associated charset for the font name. + * + * @param string $name Font name + * @return int Character set code + */ + public static function getCharsetFromFontName($name) + { + switch ($name) { + // Add more cases. Check FONT records in real Excel files. + case 'EucrosiaUPC': return self::CHARSET_ANSI_THAI; + case 'Wingdings': return self::CHARSET_SYMBOL; + case 'Wingdings 2': return self::CHARSET_SYMBOL; + case 'Wingdings 3': return self::CHARSET_SYMBOL; + default: return self::CHARSET_ANSI_LATIN; + } + } + + /** + * Get the effective column width for columns without a column dimension or column with width -1 + * For example, for Calibri 11 this is 9.140625 (64 px) + * + * @param PHPExcel_Style_Font $font The workbooks default font + * @param boolean $pPixels true = return column width in pixels, false = return in OOXML units + * @return mixed Column width + */ + public static function getDefaultColumnWidthByFont(PHPExcel_Style_Font $font, $pPixels = false) + { + if (isset(self::$defaultColumnWidths[$font->getName()][$font->getSize()])) { + // Exact width can be determined + $columnWidth = $pPixels ? + self::$defaultColumnWidths[$font->getName()][$font->getSize()]['px'] + : self::$defaultColumnWidths[$font->getName()][$font->getSize()]['width']; + + } else { + // We don't have data for this particular font and size, use approximation by + // extrapolating from Calibri 11 + $columnWidth = $pPixels ? + self::$defaultColumnWidths['Calibri'][11]['px'] + : self::$defaultColumnWidths['Calibri'][11]['width']; + $columnWidth = $columnWidth * $font->getSize() / 11; + + // Round pixels to closest integer + if ($pPixels) { + $columnWidth = (int) round($columnWidth); + } + } + + return $columnWidth; + } + + /** + * Get the effective row height for rows without a row dimension or rows with height -1 + * For example, for Calibri 11 this is 15 points + * + * @param PHPExcel_Style_Font $font The workbooks default font + * @return float Row height in points + */ + public static function getDefaultRowHeightByFont(PHPExcel_Style_Font $font) + { + switch ($font->getName()) { + case 'Arial': + switch ($font->getSize()) { + case 10: + // inspection of Arial 10 workbook says 12.75pt ~17px + $rowHeight = 12.75; + break; + + case 9: + // inspection of Arial 9 workbook says 12.00pt ~16px + $rowHeight = 12; + break; + + case 8: + // inspection of Arial 8 workbook says 11.25pt ~15px + $rowHeight = 11.25; + break; + + case 7: + // inspection of Arial 7 workbook says 9.00pt ~12px + $rowHeight = 9; + break; + + case 6: + case 5: + // inspection of Arial 5,6 workbook says 8.25pt ~11px + $rowHeight = 8.25; + break; + + case 4: + // inspection of Arial 4 workbook says 6.75pt ~9px + $rowHeight = 6.75; + break; + + case 3: + // inspection of Arial 3 workbook says 6.00pt ~8px + $rowHeight = 6; + break; + + case 2: + case 1: + // inspection of Arial 1,2 workbook says 5.25pt ~7px + $rowHeight = 5.25; + break; + + default: + // use Arial 10 workbook as an approximation, extrapolation + $rowHeight = 12.75 * $font->getSize() / 10; + break; + } + break; + + case 'Calibri': + switch ($font->getSize()) { + case 11: + // inspection of Calibri 11 workbook says 15.00pt ~20px + $rowHeight = 15; + break; + + case 10: + // inspection of Calibri 10 workbook says 12.75pt ~17px + $rowHeight = 12.75; + break; + + case 9: + // inspection of Calibri 9 workbook says 12.00pt ~16px + $rowHeight = 12; + break; + + case 8: + // inspection of Calibri 8 workbook says 11.25pt ~15px + $rowHeight = 11.25; + break; + + case 7: + // inspection of Calibri 7 workbook says 9.00pt ~12px + $rowHeight = 9; + break; + + case 6: + case 5: + // inspection of Calibri 5,6 workbook says 8.25pt ~11px + $rowHeight = 8.25; + break; + + case 4: + // inspection of Calibri 4 workbook says 6.75pt ~9px + $rowHeight = 6.75; + break; + + case 3: + // inspection of Calibri 3 workbook says 6.00pt ~8px + $rowHeight = 6.00; + break; + + case 2: + case 1: + // inspection of Calibri 1,2 workbook says 5.25pt ~7px + $rowHeight = 5.25; + break; + + default: + // use Calibri 11 workbook as an approximation, extrapolation + $rowHeight = 15 * $font->getSize() / 11; + break; + } + break; + + case 'Verdana': + switch ($font->getSize()) { + case 10: + // inspection of Verdana 10 workbook says 12.75pt ~17px + $rowHeight = 12.75; + break; + + case 9: + // inspection of Verdana 9 workbook says 11.25pt ~15px + $rowHeight = 11.25; + break; + + case 8: + // inspection of Verdana 8 workbook says 10.50pt ~14px + $rowHeight = 10.50; + break; + + case 7: + // inspection of Verdana 7 workbook says 9.00pt ~12px + $rowHeight = 9.00; + break; + + case 6: + case 5: + // inspection of Verdana 5,6 workbook says 8.25pt ~11px + $rowHeight = 8.25; + break; + + case 4: + // inspection of Verdana 4 workbook says 6.75pt ~9px + $rowHeight = 6.75; + break; + + case 3: + // inspection of Verdana 3 workbook says 6.00pt ~8px + $rowHeight = 6; + break; + + case 2: + case 1: + // inspection of Verdana 1,2 workbook says 5.25pt ~7px + $rowHeight = 5.25; + break; + + default: + // use Verdana 10 workbook as an approximation, extrapolation + $rowHeight = 12.75 * $font->getSize() / 10; + break; + } + break; + + default: + // just use Calibri as an approximation + $rowHeight = 15 * $font->getSize() / 11; + break; + } + + return $rowHeight; + } + +} diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/JAMA/CHANGELOG.TXT b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/JAMA/CHANGELOG.TXT new file mode 100644 index 00000000..1c18a5da --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/JAMA/CHANGELOG.TXT @@ -0,0 +1,16 @@ +Mar 1, 2005 11:15 AST by PM + ++ For consistency, renamed Math.php to Maths.java, utils to util, + tests to test, docs to doc - + ++ Removed conditional logic from top of Matrix class. + ++ Switched to using hypo function in Maths.php for all php-hypot calls. + NOTE TO SELF: Need to make sure that all decompositions have been + switched over to using the bundled hypo. + +Feb 25, 2005 at 10:00 AST by PM + ++ Recommend using simpler Error.php instead of JAMA_Error.php but + can be persuaded otherwise. + diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/JAMA/CholeskyDecomposition.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/JAMA/CholeskyDecomposition.php new file mode 100644 index 00000000..cfbaa53b --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/JAMA/CholeskyDecomposition.php @@ -0,0 +1,149 @@ +<?php +/** + * @package JAMA + * + * Cholesky decomposition class + * + * For a symmetric, positive definite matrix A, the Cholesky decomposition + * is an lower triangular matrix L so that A = L*L'. + * + * If the matrix is not symmetric or positive definite, the constructor + * returns a partial decomposition and sets an internal flag that may + * be queried by the isSPD() method. + * + * @author Paul Meagher + * @author Michael Bommarito + * @version 1.2 + */ +class CholeskyDecomposition { + + /** + * Decomposition storage + * @var array + * @access private + */ + private $L = array(); + + /** + * Matrix row and column dimension + * @var int + * @access private + */ + private $m; + + /** + * Symmetric positive definite flag + * @var boolean + * @access private + */ + private $isspd = true; + + + /** + * CholeskyDecomposition + * + * Class constructor - decomposes symmetric positive definite matrix + * @param mixed Matrix square symmetric positive definite matrix + */ + public function __construct($A = null) { + if ($A instanceof Matrix) { + $this->L = $A->getArray(); + $this->m = $A->getRowDimension(); + + for($i = 0; $i < $this->m; ++$i) { + for($j = $i; $j < $this->m; ++$j) { + for($sum = $this->L[$i][$j], $k = $i - 1; $k >= 0; --$k) { + $sum -= $this->L[$i][$k] * $this->L[$j][$k]; + } + if ($i == $j) { + if ($sum >= 0) { + $this->L[$i][$i] = sqrt($sum); + } else { + $this->isspd = false; + } + } else { + if ($this->L[$i][$i] != 0) { + $this->L[$j][$i] = $sum / $this->L[$i][$i]; + } + } + } + + for ($k = $i+1; $k < $this->m; ++$k) { + $this->L[$i][$k] = 0.0; + } + } + } else { + throw new PHPExcel_Calculation_Exception(JAMAError(ArgumentTypeException)); + } + } // function __construct() + + + /** + * Is the matrix symmetric and positive definite? + * + * @return boolean + */ + public function isSPD() { + return $this->isspd; + } // function isSPD() + + + /** + * getL + * + * Return triangular factor. + * @return Matrix Lower triangular matrix + */ + public function getL() { + return new Matrix($this->L); + } // function getL() + + + /** + * Solve A*X = B + * + * @param $B Row-equal matrix + * @return Matrix L * L' * X = B + */ + public function solve($B = null) { + if ($B instanceof Matrix) { + if ($B->getRowDimension() == $this->m) { + if ($this->isspd) { + $X = $B->getArrayCopy(); + $nx = $B->getColumnDimension(); + + for ($k = 0; $k < $this->m; ++$k) { + for ($i = $k + 1; $i < $this->m; ++$i) { + for ($j = 0; $j < $nx; ++$j) { + $X[$i][$j] -= $X[$k][$j] * $this->L[$i][$k]; + } + } + for ($j = 0; $j < $nx; ++$j) { + $X[$k][$j] /= $this->L[$k][$k]; + } + } + + for ($k = $this->m - 1; $k >= 0; --$k) { + for ($j = 0; $j < $nx; ++$j) { + $X[$k][$j] /= $this->L[$k][$k]; + } + for ($i = 0; $i < $k; ++$i) { + for ($j = 0; $j < $nx; ++$j) { + $X[$i][$j] -= $X[$k][$j] * $this->L[$k][$i]; + } + } + } + + return new Matrix($X, $this->m, $nx); + } else { + throw new PHPExcel_Calculation_Exception(JAMAError(MatrixSPDException)); + } + } else { + throw new PHPExcel_Calculation_Exception(JAMAError(MatrixDimensionException)); + } + } else { + throw new PHPExcel_Calculation_Exception(JAMAError(ArgumentTypeException)); + } + } // function solve() + +} // class CholeskyDecomposition diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/JAMA/EigenvalueDecomposition.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/JAMA/EigenvalueDecomposition.php new file mode 100644 index 00000000..2a696d00 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/JAMA/EigenvalueDecomposition.php @@ -0,0 +1,862 @@ +<?php +/** + * @package JAMA + * + * Class to obtain eigenvalues and eigenvectors of a real matrix. + * + * If A is symmetric, then A = V*D*V' where the eigenvalue matrix D + * is diagonal and the eigenvector matrix V is orthogonal (i.e. + * A = V.times(D.times(V.transpose())) and V.times(V.transpose()) + * equals the identity matrix). + * + * If A is not symmetric, then the eigenvalue matrix D is block diagonal + * with the real eigenvalues in 1-by-1 blocks and any complex eigenvalues, + * lambda + i*mu, in 2-by-2 blocks, [lambda, mu; -mu, lambda]. The + * columns of V represent the eigenvectors in the sense that A*V = V*D, + * i.e. A.times(V) equals V.times(D). The matrix V may be badly + * conditioned, or even singular, so the validity of the equation + * A = V*D*inverse(V) depends upon V.cond(). + * + * @author Paul Meagher + * @license PHP v3.0 + * @version 1.1 + */ +class EigenvalueDecomposition { + + /** + * Row and column dimension (square matrix). + * @var int + */ + private $n; + + /** + * Internal symmetry flag. + * @var int + */ + private $issymmetric; + + /** + * Arrays for internal storage of eigenvalues. + * @var array + */ + private $d = array(); + private $e = array(); + + /** + * Array for internal storage of eigenvectors. + * @var array + */ + private $V = array(); + + /** + * Array for internal storage of nonsymmetric Hessenberg form. + * @var array + */ + private $H = array(); + + /** + * Working storage for nonsymmetric algorithm. + * @var array + */ + private $ort; + + /** + * Used for complex scalar division. + * @var float + */ + private $cdivr; + private $cdivi; + + + /** + * Symmetric Householder reduction to tridiagonal form. + * + * @access private + */ + private function tred2 () { + // This is derived from the Algol procedures tred2 by + // Bowdler, Martin, Reinsch, and Wilkinson, Handbook for + // Auto. Comp., Vol.ii-Linear Algebra, and the corresponding + // Fortran subroutine in EISPACK. + $this->d = $this->V[$this->n-1]; + // Householder reduction to tridiagonal form. + for ($i = $this->n-1; $i > 0; --$i) { + $i_ = $i -1; + // Scale to avoid under/overflow. + $h = $scale = 0.0; + $scale += array_sum(array_map(abs, $this->d)); + if ($scale == 0.0) { + $this->e[$i] = $this->d[$i_]; + $this->d = array_slice($this->V[$i_], 0, $i_); + for ($j = 0; $j < $i; ++$j) { + $this->V[$j][$i] = $this->V[$i][$j] = 0.0; + } + } else { + // Generate Householder vector. + for ($k = 0; $k < $i; ++$k) { + $this->d[$k] /= $scale; + $h += pow($this->d[$k], 2); + } + $f = $this->d[$i_]; + $g = sqrt($h); + if ($f > 0) { + $g = -$g; + } + $this->e[$i] = $scale * $g; + $h = $h - $f * $g; + $this->d[$i_] = $f - $g; + for ($j = 0; $j < $i; ++$j) { + $this->e[$j] = 0.0; + } + // Apply similarity transformation to remaining columns. + for ($j = 0; $j < $i; ++$j) { + $f = $this->d[$j]; + $this->V[$j][$i] = $f; + $g = $this->e[$j] + $this->V[$j][$j] * $f; + for ($k = $j+1; $k <= $i_; ++$k) { + $g += $this->V[$k][$j] * $this->d[$k]; + $this->e[$k] += $this->V[$k][$j] * $f; + } + $this->e[$j] = $g; + } + $f = 0.0; + for ($j = 0; $j < $i; ++$j) { + $this->e[$j] /= $h; + $f += $this->e[$j] * $this->d[$j]; + } + $hh = $f / (2 * $h); + for ($j=0; $j < $i; ++$j) { + $this->e[$j] -= $hh * $this->d[$j]; + } + for ($j = 0; $j < $i; ++$j) { + $f = $this->d[$j]; + $g = $this->e[$j]; + for ($k = $j; $k <= $i_; ++$k) { + $this->V[$k][$j] -= ($f * $this->e[$k] + $g * $this->d[$k]); + } + $this->d[$j] = $this->V[$i-1][$j]; + $this->V[$i][$j] = 0.0; + } + } + $this->d[$i] = $h; + } + + // Accumulate transformations. + for ($i = 0; $i < $this->n-1; ++$i) { + $this->V[$this->n-1][$i] = $this->V[$i][$i]; + $this->V[$i][$i] = 1.0; + $h = $this->d[$i+1]; + if ($h != 0.0) { + for ($k = 0; $k <= $i; ++$k) { + $this->d[$k] = $this->V[$k][$i+1] / $h; + } + for ($j = 0; $j <= $i; ++$j) { + $g = 0.0; + for ($k = 0; $k <= $i; ++$k) { + $g += $this->V[$k][$i+1] * $this->V[$k][$j]; + } + for ($k = 0; $k <= $i; ++$k) { + $this->V[$k][$j] -= $g * $this->d[$k]; + } + } + } + for ($k = 0; $k <= $i; ++$k) { + $this->V[$k][$i+1] = 0.0; + } + } + + $this->d = $this->V[$this->n-1]; + $this->V[$this->n-1] = array_fill(0, $j, 0.0); + $this->V[$this->n-1][$this->n-1] = 1.0; + $this->e[0] = 0.0; + } + + + /** + * Symmetric tridiagonal QL algorithm. + * + * This is derived from the Algol procedures tql2, by + * Bowdler, Martin, Reinsch, and Wilkinson, Handbook for + * Auto. Comp., Vol.ii-Linear Algebra, and the corresponding + * Fortran subroutine in EISPACK. + * + * @access private + */ + private function tql2() { + for ($i = 1; $i < $this->n; ++$i) { + $this->e[$i-1] = $this->e[$i]; + } + $this->e[$this->n-1] = 0.0; + $f = 0.0; + $tst1 = 0.0; + $eps = pow(2.0,-52.0); + + for ($l = 0; $l < $this->n; ++$l) { + // Find small subdiagonal element + $tst1 = max($tst1, abs($this->d[$l]) + abs($this->e[$l])); + $m = $l; + while ($m < $this->n) { + if (abs($this->e[$m]) <= $eps * $tst1) + break; + ++$m; + } + // If m == l, $this->d[l] is an eigenvalue, + // otherwise, iterate. + if ($m > $l) { + $iter = 0; + do { + // Could check iteration count here. + $iter += 1; + // Compute implicit shift + $g = $this->d[$l]; + $p = ($this->d[$l+1] - $g) / (2.0 * $this->e[$l]); + $r = hypo($p, 1.0); + if ($p < 0) + $r *= -1; + $this->d[$l] = $this->e[$l] / ($p + $r); + $this->d[$l+1] = $this->e[$l] * ($p + $r); + $dl1 = $this->d[$l+1]; + $h = $g - $this->d[$l]; + for ($i = $l + 2; $i < $this->n; ++$i) + $this->d[$i] -= $h; + $f += $h; + // Implicit QL transformation. + $p = $this->d[$m]; + $c = 1.0; + $c2 = $c3 = $c; + $el1 = $this->e[$l + 1]; + $s = $s2 = 0.0; + for ($i = $m-1; $i >= $l; --$i) { + $c3 = $c2; + $c2 = $c; + $s2 = $s; + $g = $c * $this->e[$i]; + $h = $c * $p; + $r = hypo($p, $this->e[$i]); + $this->e[$i+1] = $s * $r; + $s = $this->e[$i] / $r; + $c = $p / $r; + $p = $c * $this->d[$i] - $s * $g; + $this->d[$i+1] = $h + $s * ($c * $g + $s * $this->d[$i]); + // Accumulate transformation. + for ($k = 0; $k < $this->n; ++$k) { + $h = $this->V[$k][$i+1]; + $this->V[$k][$i+1] = $s * $this->V[$k][$i] + $c * $h; + $this->V[$k][$i] = $c * $this->V[$k][$i] - $s * $h; + } + } + $p = -$s * $s2 * $c3 * $el1 * $this->e[$l] / $dl1; + $this->e[$l] = $s * $p; + $this->d[$l] = $c * $p; + // Check for convergence. + } while (abs($this->e[$l]) > $eps * $tst1); + } + $this->d[$l] = $this->d[$l] + $f; + $this->e[$l] = 0.0; + } + + // Sort eigenvalues and corresponding vectors. + for ($i = 0; $i < $this->n - 1; ++$i) { + $k = $i; + $p = $this->d[$i]; + for ($j = $i+1; $j < $this->n; ++$j) { + if ($this->d[$j] < $p) { + $k = $j; + $p = $this->d[$j]; + } + } + if ($k != $i) { + $this->d[$k] = $this->d[$i]; + $this->d[$i] = $p; + for ($j = 0; $j < $this->n; ++$j) { + $p = $this->V[$j][$i]; + $this->V[$j][$i] = $this->V[$j][$k]; + $this->V[$j][$k] = $p; + } + } + } + } + + + /** + * Nonsymmetric reduction to Hessenberg form. + * + * This is derived from the Algol procedures orthes and ortran, + * by Martin and Wilkinson, Handbook for Auto. Comp., + * Vol.ii-Linear Algebra, and the corresponding + * Fortran subroutines in EISPACK. + * + * @access private + */ + private function orthes () { + $low = 0; + $high = $this->n-1; + + for ($m = $low+1; $m <= $high-1; ++$m) { + // Scale column. + $scale = 0.0; + for ($i = $m; $i <= $high; ++$i) { + $scale = $scale + abs($this->H[$i][$m-1]); + } + if ($scale != 0.0) { + // Compute Householder transformation. + $h = 0.0; + for ($i = $high; $i >= $m; --$i) { + $this->ort[$i] = $this->H[$i][$m-1] / $scale; + $h += $this->ort[$i] * $this->ort[$i]; + } + $g = sqrt($h); + if ($this->ort[$m] > 0) { + $g *= -1; + } + $h -= $this->ort[$m] * $g; + $this->ort[$m] -= $g; + // Apply Householder similarity transformation + // H = (I -u * u' / h) * H * (I -u * u') / h) + for ($j = $m; $j < $this->n; ++$j) { + $f = 0.0; + for ($i = $high; $i >= $m; --$i) { + $f += $this->ort[$i] * $this->H[$i][$j]; + } + $f /= $h; + for ($i = $m; $i <= $high; ++$i) { + $this->H[$i][$j] -= $f * $this->ort[$i]; + } + } + for ($i = 0; $i <= $high; ++$i) { + $f = 0.0; + for ($j = $high; $j >= $m; --$j) { + $f += $this->ort[$j] * $this->H[$i][$j]; + } + $f = $f / $h; + for ($j = $m; $j <= $high; ++$j) { + $this->H[$i][$j] -= $f * $this->ort[$j]; + } + } + $this->ort[$m] = $scale * $this->ort[$m]; + $this->H[$m][$m-1] = $scale * $g; + } + } + + // Accumulate transformations (Algol's ortran). + for ($i = 0; $i < $this->n; ++$i) { + for ($j = 0; $j < $this->n; ++$j) { + $this->V[$i][$j] = ($i == $j ? 1.0 : 0.0); + } + } + for ($m = $high-1; $m >= $low+1; --$m) { + if ($this->H[$m][$m-1] != 0.0) { + for ($i = $m+1; $i <= $high; ++$i) { + $this->ort[$i] = $this->H[$i][$m-1]; + } + for ($j = $m; $j <= $high; ++$j) { + $g = 0.0; + for ($i = $m; $i <= $high; ++$i) { + $g += $this->ort[$i] * $this->V[$i][$j]; + } + // Double division avoids possible underflow + $g = ($g / $this->ort[$m]) / $this->H[$m][$m-1]; + for ($i = $m; $i <= $high; ++$i) { + $this->V[$i][$j] += $g * $this->ort[$i]; + } + } + } + } + } + + + /** + * Performs complex division. + * + * @access private + */ + private function cdiv($xr, $xi, $yr, $yi) { + if (abs($yr) > abs($yi)) { + $r = $yi / $yr; + $d = $yr + $r * $yi; + $this->cdivr = ($xr + $r * $xi) / $d; + $this->cdivi = ($xi - $r * $xr) / $d; + } else { + $r = $yr / $yi; + $d = $yi + $r * $yr; + $this->cdivr = ($r * $xr + $xi) / $d; + $this->cdivi = ($r * $xi - $xr) / $d; + } + } + + + /** + * Nonsymmetric reduction from Hessenberg to real Schur form. + * + * Code is derived from the Algol procedure hqr2, + * by Martin and Wilkinson, Handbook for Auto. Comp., + * Vol.ii-Linear Algebra, and the corresponding + * Fortran subroutine in EISPACK. + * + * @access private + */ + private function hqr2 () { + // Initialize + $nn = $this->n; + $n = $nn - 1; + $low = 0; + $high = $nn - 1; + $eps = pow(2.0, -52.0); + $exshift = 0.0; + $p = $q = $r = $s = $z = 0; + // Store roots isolated by balanc and compute matrix norm + $norm = 0.0; + + for ($i = 0; $i < $nn; ++$i) { + if (($i < $low) OR ($i > $high)) { + $this->d[$i] = $this->H[$i][$i]; + $this->e[$i] = 0.0; + } + for ($j = max($i-1, 0); $j < $nn; ++$j) { + $norm = $norm + abs($this->H[$i][$j]); + } + } + + // Outer loop over eigenvalue index + $iter = 0; + while ($n >= $low) { + // Look for single small sub-diagonal element + $l = $n; + while ($l > $low) { + $s = abs($this->H[$l-1][$l-1]) + abs($this->H[$l][$l]); + if ($s == 0.0) { + $s = $norm; + } + if (abs($this->H[$l][$l-1]) < $eps * $s) { + break; + } + --$l; + } + // Check for convergence + // One root found + if ($l == $n) { + $this->H[$n][$n] = $this->H[$n][$n] + $exshift; + $this->d[$n] = $this->H[$n][$n]; + $this->e[$n] = 0.0; + --$n; + $iter = 0; + // Two roots found + } else if ($l == $n-1) { + $w = $this->H[$n][$n-1] * $this->H[$n-1][$n]; + $p = ($this->H[$n-1][$n-1] - $this->H[$n][$n]) / 2.0; + $q = $p * $p + $w; + $z = sqrt(abs($q)); + $this->H[$n][$n] = $this->H[$n][$n] + $exshift; + $this->H[$n-1][$n-1] = $this->H[$n-1][$n-1] + $exshift; + $x = $this->H[$n][$n]; + // Real pair + if ($q >= 0) { + if ($p >= 0) { + $z = $p + $z; + } else { + $z = $p - $z; + } + $this->d[$n-1] = $x + $z; + $this->d[$n] = $this->d[$n-1]; + if ($z != 0.0) { + $this->d[$n] = $x - $w / $z; + } + $this->e[$n-1] = 0.0; + $this->e[$n] = 0.0; + $x = $this->H[$n][$n-1]; + $s = abs($x) + abs($z); + $p = $x / $s; + $q = $z / $s; + $r = sqrt($p * $p + $q * $q); + $p = $p / $r; + $q = $q / $r; + // Row modification + for ($j = $n-1; $j < $nn; ++$j) { + $z = $this->H[$n-1][$j]; + $this->H[$n-1][$j] = $q * $z + $p * $this->H[$n][$j]; + $this->H[$n][$j] = $q * $this->H[$n][$j] - $p * $z; + } + // Column modification + for ($i = 0; $i <= n; ++$i) { + $z = $this->H[$i][$n-1]; + $this->H[$i][$n-1] = $q * $z + $p * $this->H[$i][$n]; + $this->H[$i][$n] = $q * $this->H[$i][$n] - $p * $z; + } + // Accumulate transformations + for ($i = $low; $i <= $high; ++$i) { + $z = $this->V[$i][$n-1]; + $this->V[$i][$n-1] = $q * $z + $p * $this->V[$i][$n]; + $this->V[$i][$n] = $q * $this->V[$i][$n] - $p * $z; + } + // Complex pair + } else { + $this->d[$n-1] = $x + $p; + $this->d[$n] = $x + $p; + $this->e[$n-1] = $z; + $this->e[$n] = -$z; + } + $n = $n - 2; + $iter = 0; + // No convergence yet + } else { + // Form shift + $x = $this->H[$n][$n]; + $y = 0.0; + $w = 0.0; + if ($l < $n) { + $y = $this->H[$n-1][$n-1]; + $w = $this->H[$n][$n-1] * $this->H[$n-1][$n]; + } + // Wilkinson's original ad hoc shift + if ($iter == 10) { + $exshift += $x; + for ($i = $low; $i <= $n; ++$i) { + $this->H[$i][$i] -= $x; + } + $s = abs($this->H[$n][$n-1]) + abs($this->H[$n-1][$n-2]); + $x = $y = 0.75 * $s; + $w = -0.4375 * $s * $s; + } + // MATLAB's new ad hoc shift + if ($iter == 30) { + $s = ($y - $x) / 2.0; + $s = $s * $s + $w; + if ($s > 0) { + $s = sqrt($s); + if ($y < $x) { + $s = -$s; + } + $s = $x - $w / (($y - $x) / 2.0 + $s); + for ($i = $low; $i <= $n; ++$i) { + $this->H[$i][$i] -= $s; + } + $exshift += $s; + $x = $y = $w = 0.964; + } + } + // Could check iteration count here. + $iter = $iter + 1; + // Look for two consecutive small sub-diagonal elements + $m = $n - 2; + while ($m >= $l) { + $z = $this->H[$m][$m]; + $r = $x - $z; + $s = $y - $z; + $p = ($r * $s - $w) / $this->H[$m+1][$m] + $this->H[$m][$m+1]; + $q = $this->H[$m+1][$m+1] - $z - $r - $s; + $r = $this->H[$m+2][$m+1]; + $s = abs($p) + abs($q) + abs($r); + $p = $p / $s; + $q = $q / $s; + $r = $r / $s; + if ($m == $l) { + break; + } + if (abs($this->H[$m][$m-1]) * (abs($q) + abs($r)) < + $eps * (abs($p) * (abs($this->H[$m-1][$m-1]) + abs($z) + abs($this->H[$m+1][$m+1])))) { + break; + } + --$m; + } + for ($i = $m + 2; $i <= $n; ++$i) { + $this->H[$i][$i-2] = 0.0; + if ($i > $m+2) { + $this->H[$i][$i-3] = 0.0; + } + } + // Double QR step involving rows l:n and columns m:n + for ($k = $m; $k <= $n-1; ++$k) { + $notlast = ($k != $n-1); + if ($k != $m) { + $p = $this->H[$k][$k-1]; + $q = $this->H[$k+1][$k-1]; + $r = ($notlast ? $this->H[$k+2][$k-1] : 0.0); + $x = abs($p) + abs($q) + abs($r); + if ($x != 0.0) { + $p = $p / $x; + $q = $q / $x; + $r = $r / $x; + } + } + if ($x == 0.0) { + break; + } + $s = sqrt($p * $p + $q * $q + $r * $r); + if ($p < 0) { + $s = -$s; + } + if ($s != 0) { + if ($k != $m) { + $this->H[$k][$k-1] = -$s * $x; + } elseif ($l != $m) { + $this->H[$k][$k-1] = -$this->H[$k][$k-1]; + } + $p = $p + $s; + $x = $p / $s; + $y = $q / $s; + $z = $r / $s; + $q = $q / $p; + $r = $r / $p; + // Row modification + for ($j = $k; $j < $nn; ++$j) { + $p = $this->H[$k][$j] + $q * $this->H[$k+1][$j]; + if ($notlast) { + $p = $p + $r * $this->H[$k+2][$j]; + $this->H[$k+2][$j] = $this->H[$k+2][$j] - $p * $z; + } + $this->H[$k][$j] = $this->H[$k][$j] - $p * $x; + $this->H[$k+1][$j] = $this->H[$k+1][$j] - $p * $y; + } + // Column modification + for ($i = 0; $i <= min($n, $k+3); ++$i) { + $p = $x * $this->H[$i][$k] + $y * $this->H[$i][$k+1]; + if ($notlast) { + $p = $p + $z * $this->H[$i][$k+2]; + $this->H[$i][$k+2] = $this->H[$i][$k+2] - $p * $r; + } + $this->H[$i][$k] = $this->H[$i][$k] - $p; + $this->H[$i][$k+1] = $this->H[$i][$k+1] - $p * $q; + } + // Accumulate transformations + for ($i = $low; $i <= $high; ++$i) { + $p = $x * $this->V[$i][$k] + $y * $this->V[$i][$k+1]; + if ($notlast) { + $p = $p + $z * $this->V[$i][$k+2]; + $this->V[$i][$k+2] = $this->V[$i][$k+2] - $p * $r; + } + $this->V[$i][$k] = $this->V[$i][$k] - $p; + $this->V[$i][$k+1] = $this->V[$i][$k+1] - $p * $q; + } + } // ($s != 0) + } // k loop + } // check convergence + } // while ($n >= $low) + + // Backsubstitute to find vectors of upper triangular form + if ($norm == 0.0) { + return; + } + + for ($n = $nn-1; $n >= 0; --$n) { + $p = $this->d[$n]; + $q = $this->e[$n]; + // Real vector + if ($q == 0) { + $l = $n; + $this->H[$n][$n] = 1.0; + for ($i = $n-1; $i >= 0; --$i) { + $w = $this->H[$i][$i] - $p; + $r = 0.0; + for ($j = $l; $j <= $n; ++$j) { + $r = $r + $this->H[$i][$j] * $this->H[$j][$n]; + } + if ($this->e[$i] < 0.0) { + $z = $w; + $s = $r; + } else { + $l = $i; + if ($this->e[$i] == 0.0) { + if ($w != 0.0) { + $this->H[$i][$n] = -$r / $w; + } else { + $this->H[$i][$n] = -$r / ($eps * $norm); + } + // Solve real equations + } else { + $x = $this->H[$i][$i+1]; + $y = $this->H[$i+1][$i]; + $q = ($this->d[$i] - $p) * ($this->d[$i] - $p) + $this->e[$i] * $this->e[$i]; + $t = ($x * $s - $z * $r) / $q; + $this->H[$i][$n] = $t; + if (abs($x) > abs($z)) { + $this->H[$i+1][$n] = (-$r - $w * $t) / $x; + } else { + $this->H[$i+1][$n] = (-$s - $y * $t) / $z; + } + } + // Overflow control + $t = abs($this->H[$i][$n]); + if (($eps * $t) * $t > 1) { + for ($j = $i; $j <= $n; ++$j) { + $this->H[$j][$n] = $this->H[$j][$n] / $t; + } + } + } + } + // Complex vector + } else if ($q < 0) { + $l = $n-1; + // Last vector component imaginary so matrix is triangular + if (abs($this->H[$n][$n-1]) > abs($this->H[$n-1][$n])) { + $this->H[$n-1][$n-1] = $q / $this->H[$n][$n-1]; + $this->H[$n-1][$n] = -($this->H[$n][$n] - $p) / $this->H[$n][$n-1]; + } else { + $this->cdiv(0.0, -$this->H[$n-1][$n], $this->H[$n-1][$n-1] - $p, $q); + $this->H[$n-1][$n-1] = $this->cdivr; + $this->H[$n-1][$n] = $this->cdivi; + } + $this->H[$n][$n-1] = 0.0; + $this->H[$n][$n] = 1.0; + for ($i = $n-2; $i >= 0; --$i) { + // double ra,sa,vr,vi; + $ra = 0.0; + $sa = 0.0; + for ($j = $l; $j <= $n; ++$j) { + $ra = $ra + $this->H[$i][$j] * $this->H[$j][$n-1]; + $sa = $sa + $this->H[$i][$j] * $this->H[$j][$n]; + } + $w = $this->H[$i][$i] - $p; + if ($this->e[$i] < 0.0) { + $z = $w; + $r = $ra; + $s = $sa; + } else { + $l = $i; + if ($this->e[$i] == 0) { + $this->cdiv(-$ra, -$sa, $w, $q); + $this->H[$i][$n-1] = $this->cdivr; + $this->H[$i][$n] = $this->cdivi; + } else { + // Solve complex equations + $x = $this->H[$i][$i+1]; + $y = $this->H[$i+1][$i]; + $vr = ($this->d[$i] - $p) * ($this->d[$i] - $p) + $this->e[$i] * $this->e[$i] - $q * $q; + $vi = ($this->d[$i] - $p) * 2.0 * $q; + if ($vr == 0.0 & $vi == 0.0) { + $vr = $eps * $norm * (abs($w) + abs($q) + abs($x) + abs($y) + abs($z)); + } + $this->cdiv($x * $r - $z * $ra + $q * $sa, $x * $s - $z * $sa - $q * $ra, $vr, $vi); + $this->H[$i][$n-1] = $this->cdivr; + $this->H[$i][$n] = $this->cdivi; + if (abs($x) > (abs($z) + abs($q))) { + $this->H[$i+1][$n-1] = (-$ra - $w * $this->H[$i][$n-1] + $q * $this->H[$i][$n]) / $x; + $this->H[$i+1][$n] = (-$sa - $w * $this->H[$i][$n] - $q * $this->H[$i][$n-1]) / $x; + } else { + $this->cdiv(-$r - $y * $this->H[$i][$n-1], -$s - $y * $this->H[$i][$n], $z, $q); + $this->H[$i+1][$n-1] = $this->cdivr; + $this->H[$i+1][$n] = $this->cdivi; + } + } + // Overflow control + $t = max(abs($this->H[$i][$n-1]),abs($this->H[$i][$n])); + if (($eps * $t) * $t > 1) { + for ($j = $i; $j <= $n; ++$j) { + $this->H[$j][$n-1] = $this->H[$j][$n-1] / $t; + $this->H[$j][$n] = $this->H[$j][$n] / $t; + } + } + } // end else + } // end for + } // end else for complex case + } // end for + + // Vectors of isolated roots + for ($i = 0; $i < $nn; ++$i) { + if ($i < $low | $i > $high) { + for ($j = $i; $j < $nn; ++$j) { + $this->V[$i][$j] = $this->H[$i][$j]; + } + } + } + + // Back transformation to get eigenvectors of original matrix + for ($j = $nn-1; $j >= $low; --$j) { + for ($i = $low; $i <= $high; ++$i) { + $z = 0.0; + for ($k = $low; $k <= min($j,$high); ++$k) { + $z = $z + $this->V[$i][$k] * $this->H[$k][$j]; + } + $this->V[$i][$j] = $z; + } + } + } // end hqr2 + + + /** + * Constructor: Check for symmetry, then construct the eigenvalue decomposition + * + * @access public + * @param A Square matrix + * @return Structure to access D and V. + */ + public function __construct($Arg) { + $this->A = $Arg->getArray(); + $this->n = $Arg->getColumnDimension(); + + $issymmetric = true; + for ($j = 0; ($j < $this->n) & $issymmetric; ++$j) { + for ($i = 0; ($i < $this->n) & $issymmetric; ++$i) { + $issymmetric = ($this->A[$i][$j] == $this->A[$j][$i]); + } + } + + if ($issymmetric) { + $this->V = $this->A; + // Tridiagonalize. + $this->tred2(); + // Diagonalize. + $this->tql2(); + } else { + $this->H = $this->A; + $this->ort = array(); + // Reduce to Hessenberg form. + $this->orthes(); + // Reduce Hessenberg to real Schur form. + $this->hqr2(); + } + } + + + /** + * Return the eigenvector matrix + * + * @access public + * @return V + */ + public function getV() { + return new Matrix($this->V, $this->n, $this->n); + } + + + /** + * Return the real parts of the eigenvalues + * + * @access public + * @return real(diag(D)) + */ + public function getRealEigenvalues() { + return $this->d; + } + + + /** + * Return the imaginary parts of the eigenvalues + * + * @access public + * @return imag(diag(D)) + */ + public function getImagEigenvalues() { + return $this->e; + } + + + /** + * Return the block diagonal eigenvalue matrix + * + * @access public + * @return D + */ + public function getD() { + for ($i = 0; $i < $this->n; ++$i) { + $D[$i] = array_fill(0, $this->n, 0.0); + $D[$i][$i] = $this->d[$i]; + if ($this->e[$i] == 0) { + continue; + } + $o = ($this->e[$i] > 0) ? $i + 1 : $i - 1; + $D[$i][$o] = $this->e[$i]; + } + return new Matrix($D); + } + +} // class EigenvalueDecomposition diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/JAMA/LUDecomposition.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/JAMA/LUDecomposition.php new file mode 100644 index 00000000..08e500cf --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/JAMA/LUDecomposition.php @@ -0,0 +1,258 @@ +<?php +/** + * @package JAMA + * + * For an m-by-n matrix A with m >= n, the LU decomposition is an m-by-n + * unit lower triangular matrix L, an n-by-n upper triangular matrix U, + * and a permutation vector piv of length m so that A(piv,:) = L*U. + * If m < n, then L is m-by-m and U is m-by-n. + * + * The LU decompostion with pivoting always exists, even if the matrix is + * singular, so the constructor will never fail. The primary use of the + * LU decomposition is in the solution of square systems of simultaneous + * linear equations. This will fail if isNonsingular() returns false. + * + * @author Paul Meagher + * @author Bartosz Matosiuk + * @author Michael Bommarito + * @version 1.1 + * @license PHP v3.0 + */ +class PHPExcel_Shared_JAMA_LUDecomposition { + + const MatrixSingularException = "Can only perform operation on singular matrix."; + const MatrixSquareException = "Mismatched Row dimension"; + + /** + * Decomposition storage + * @var array + */ + private $LU = array(); + + /** + * Row dimension. + * @var int + */ + private $m; + + /** + * Column dimension. + * @var int + */ + private $n; + + /** + * Pivot sign. + * @var int + */ + private $pivsign; + + /** + * Internal storage of pivot vector. + * @var array + */ + private $piv = array(); + + + /** + * LU Decomposition constructor. + * + * @param $A Rectangular matrix + * @return Structure to access L, U and piv. + */ + public function __construct($A) { + if ($A instanceof PHPExcel_Shared_JAMA_Matrix) { + // Use a "left-looking", dot-product, Crout/Doolittle algorithm. + $this->LU = $A->getArray(); + $this->m = $A->getRowDimension(); + $this->n = $A->getColumnDimension(); + for ($i = 0; $i < $this->m; ++$i) { + $this->piv[$i] = $i; + } + $this->pivsign = 1; + $LUrowi = $LUcolj = array(); + + // Outer loop. + for ($j = 0; $j < $this->n; ++$j) { + // Make a copy of the j-th column to localize references. + for ($i = 0; $i < $this->m; ++$i) { + $LUcolj[$i] = &$this->LU[$i][$j]; + } + // Apply previous transformations. + for ($i = 0; $i < $this->m; ++$i) { + $LUrowi = $this->LU[$i]; + // Most of the time is spent in the following dot product. + $kmax = min($i,$j); + $s = 0.0; + for ($k = 0; $k < $kmax; ++$k) { + $s += $LUrowi[$k] * $LUcolj[$k]; + } + $LUrowi[$j] = $LUcolj[$i] -= $s; + } + // Find pivot and exchange if necessary. + $p = $j; + for ($i = $j+1; $i < $this->m; ++$i) { + if (abs($LUcolj[$i]) > abs($LUcolj[$p])) { + $p = $i; + } + } + if ($p != $j) { + for ($k = 0; $k < $this->n; ++$k) { + $t = $this->LU[$p][$k]; + $this->LU[$p][$k] = $this->LU[$j][$k]; + $this->LU[$j][$k] = $t; + } + $k = $this->piv[$p]; + $this->piv[$p] = $this->piv[$j]; + $this->piv[$j] = $k; + $this->pivsign = $this->pivsign * -1; + } + // Compute multipliers. + if (($j < $this->m) && ($this->LU[$j][$j] != 0.0)) { + for ($i = $j+1; $i < $this->m; ++$i) { + $this->LU[$i][$j] /= $this->LU[$j][$j]; + } + } + } + } else { + throw new PHPExcel_Calculation_Exception(PHPExcel_Shared_JAMA_Matrix::ArgumentTypeException); + } + } // function __construct() + + + /** + * Get lower triangular factor. + * + * @return array Lower triangular factor + */ + public function getL() { + for ($i = 0; $i < $this->m; ++$i) { + for ($j = 0; $j < $this->n; ++$j) { + if ($i > $j) { + $L[$i][$j] = $this->LU[$i][$j]; + } elseif ($i == $j) { + $L[$i][$j] = 1.0; + } else { + $L[$i][$j] = 0.0; + } + } + } + return new PHPExcel_Shared_JAMA_Matrix($L); + } // function getL() + + + /** + * Get upper triangular factor. + * + * @return array Upper triangular factor + */ + public function getU() { + for ($i = 0; $i < $this->n; ++$i) { + for ($j = 0; $j < $this->n; ++$j) { + if ($i <= $j) { + $U[$i][$j] = $this->LU[$i][$j]; + } else { + $U[$i][$j] = 0.0; + } + } + } + return new PHPExcel_Shared_JAMA_Matrix($U); + } // function getU() + + + /** + * Return pivot permutation vector. + * + * @return array Pivot vector + */ + public function getPivot() { + return $this->piv; + } // function getPivot() + + + /** + * Alias for getPivot + * + * @see getPivot + */ + public function getDoublePivot() { + return $this->getPivot(); + } // function getDoublePivot() + + + /** + * Is the matrix nonsingular? + * + * @return true if U, and hence A, is nonsingular. + */ + public function isNonsingular() { + for ($j = 0; $j < $this->n; ++$j) { + if ($this->LU[$j][$j] == 0) { + return false; + } + } + return true; + } // function isNonsingular() + + + /** + * Count determinants + * + * @return array d matrix deterninat + */ + public function det() { + if ($this->m == $this->n) { + $d = $this->pivsign; + for ($j = 0; $j < $this->n; ++$j) { + $d *= $this->LU[$j][$j]; + } + return $d; + } else { + throw new PHPExcel_Calculation_Exception(PHPExcel_Shared_JAMA_Matrix::MatrixDimensionException); + } + } // function det() + + + /** + * Solve A*X = B + * + * @param $B A Matrix with as many rows as A and any number of columns. + * @return X so that L*U*X = B(piv,:) + * @PHPExcel_Calculation_Exception IllegalArgumentException Matrix row dimensions must agree. + * @PHPExcel_Calculation_Exception RuntimeException Matrix is singular. + */ + public function solve($B) { + if ($B->getRowDimension() == $this->m) { + if ($this->isNonsingular()) { + // Copy right hand side with pivoting + $nx = $B->getColumnDimension(); + $X = $B->getMatrix($this->piv, 0, $nx-1); + // Solve L*Y = B(piv,:) + for ($k = 0; $k < $this->n; ++$k) { + for ($i = $k+1; $i < $this->n; ++$i) { + for ($j = 0; $j < $nx; ++$j) { + $X->A[$i][$j] -= $X->A[$k][$j] * $this->LU[$i][$k]; + } + } + } + // Solve U*X = Y; + for ($k = $this->n-1; $k >= 0; --$k) { + for ($j = 0; $j < $nx; ++$j) { + $X->A[$k][$j] /= $this->LU[$k][$k]; + } + for ($i = 0; $i < $k; ++$i) { + for ($j = 0; $j < $nx; ++$j) { + $X->A[$i][$j] -= $X->A[$k][$j] * $this->LU[$i][$k]; + } + } + } + return $X; + } else { + throw new PHPExcel_Calculation_Exception(self::MatrixSingularException); + } + } else { + throw new PHPExcel_Calculation_Exception(self::MatrixSquareException); + } + } // function solve() + +} // class PHPExcel_Shared_JAMA_LUDecomposition diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/JAMA/Matrix.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/JAMA/Matrix.php new file mode 100644 index 00000000..1e7c334a --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/JAMA/Matrix.php @@ -0,0 +1,1057 @@ +<?php +/** + * @package JAMA + */ + +/** PHPExcel root directory */ +if (!defined('PHPEXCEL_ROOT')) { + /** + * @ignore + */ + define('PHPEXCEL_ROOT', dirname(__FILE__) . '/../../../'); + require(PHPEXCEL_ROOT . 'PHPExcel/Autoloader.php'); +} + + +/* + * Matrix class + * + * @author Paul Meagher + * @author Michael Bommarito + * @author Lukasz Karapuda + * @author Bartek Matosiuk + * @version 1.8 + * @license PHP v3.0 + * @see http://math.nist.gov/javanumerics/jama/ + */ +class PHPExcel_Shared_JAMA_Matrix { + + + const PolymorphicArgumentException = "Invalid argument pattern for polymorphic function."; + const ArgumentTypeException = "Invalid argument type."; + const ArgumentBoundsException = "Invalid argument range."; + const MatrixDimensionException = "Matrix dimensions are not equal."; + const ArrayLengthException = "Array length must be a multiple of m."; + + /** + * Matrix storage + * + * @var array + * @access public + */ + public $A = array(); + + /** + * Matrix row dimension + * + * @var int + * @access private + */ + private $m; + + /** + * Matrix column dimension + * + * @var int + * @access private + */ + private $n; + + + /** + * Polymorphic constructor + * + * As PHP has no support for polymorphic constructors, we hack our own sort of polymorphism using func_num_args, func_get_arg, and gettype. In essence, we're just implementing a simple RTTI filter and calling the appropriate constructor. + */ + public function __construct() { + if (func_num_args() > 0) { + $args = func_get_args(); + $match = implode(",", array_map('gettype', $args)); + + switch($match) { + //Rectangular matrix - m x n initialized from 2D array + case 'array': + $this->m = count($args[0]); + $this->n = count($args[0][0]); + $this->A = $args[0]; + break; + //Square matrix - n x n + case 'integer': + $this->m = $args[0]; + $this->n = $args[0]; + $this->A = array_fill(0, $this->m, array_fill(0, $this->n, 0)); + break; + //Rectangular matrix - m x n + case 'integer,integer': + $this->m = $args[0]; + $this->n = $args[1]; + $this->A = array_fill(0, $this->m, array_fill(0, $this->n, 0)); + break; + //Rectangular matrix - m x n initialized from packed array + case 'array,integer': + $this->m = $args[1]; + if ($this->m != 0) { + $this->n = count($args[0]) / $this->m; + } else { + $this->n = 0; + } + if (($this->m * $this->n) == count($args[0])) { + for($i = 0; $i < $this->m; ++$i) { + for($j = 0; $j < $this->n; ++$j) { + $this->A[$i][$j] = $args[0][$i + $j * $this->m]; + } + } + } else { + throw new PHPExcel_Calculation_Exception(self::ArrayLengthException); + } + break; + default: + throw new PHPExcel_Calculation_Exception(self::PolymorphicArgumentException); + break; + } + } else { + throw new PHPExcel_Calculation_Exception(self::PolymorphicArgumentException); + } + } // function __construct() + + + /** + * getArray + * + * @return array Matrix array + */ + public function getArray() { + return $this->A; + } // function getArray() + + + /** + * getRowDimension + * + * @return int Row dimension + */ + public function getRowDimension() { + return $this->m; + } // function getRowDimension() + + + /** + * getColumnDimension + * + * @return int Column dimension + */ + public function getColumnDimension() { + return $this->n; + } // function getColumnDimension() + + + /** + * get + * + * Get the i,j-th element of the matrix. + * @param int $i Row position + * @param int $j Column position + * @return mixed Element (int/float/double) + */ + public function get($i = null, $j = null) { + return $this->A[$i][$j]; + } // function get() + + + /** + * getMatrix + * + * Get a submatrix + * @param int $i0 Initial row index + * @param int $iF Final row index + * @param int $j0 Initial column index + * @param int $jF Final column index + * @return Matrix Submatrix + */ + public function getMatrix() { + if (func_num_args() > 0) { + $args = func_get_args(); + $match = implode(",", array_map('gettype', $args)); + + switch($match) { + //A($i0...; $j0...) + case 'integer,integer': + list($i0, $j0) = $args; + if ($i0 >= 0) { $m = $this->m - $i0; } else { throw new PHPExcel_Calculation_Exception(self::ArgumentBoundsException); } + if ($j0 >= 0) { $n = $this->n - $j0; } else { throw new PHPExcel_Calculation_Exception(self::ArgumentBoundsException); } + $R = new PHPExcel_Shared_JAMA_Matrix($m, $n); + for($i = $i0; $i < $this->m; ++$i) { + for($j = $j0; $j < $this->n; ++$j) { + $R->set($i, $j, $this->A[$i][$j]); + } + } + return $R; + break; + //A($i0...$iF; $j0...$jF) + case 'integer,integer,integer,integer': + list($i0, $iF, $j0, $jF) = $args; + if (($iF > $i0) && ($this->m >= $iF) && ($i0 >= 0)) { $m = $iF - $i0; } else { throw new PHPExcel_Calculation_Exception(self::ArgumentBoundsException); } + if (($jF > $j0) && ($this->n >= $jF) && ($j0 >= 0)) { $n = $jF - $j0; } else { throw new PHPExcel_Calculation_Exception(self::ArgumentBoundsException); } + $R = new PHPExcel_Shared_JAMA_Matrix($m+1, $n+1); + for($i = $i0; $i <= $iF; ++$i) { + for($j = $j0; $j <= $jF; ++$j) { + $R->set($i - $i0, $j - $j0, $this->A[$i][$j]); + } + } + return $R; + break; + //$R = array of row indices; $C = array of column indices + case 'array,array': + list($RL, $CL) = $args; + if (count($RL) > 0) { $m = count($RL); } else { throw new PHPExcel_Calculation_Exception(self::ArgumentBoundsException); } + if (count($CL) > 0) { $n = count($CL); } else { throw new PHPExcel_Calculation_Exception(self::ArgumentBoundsException); } + $R = new PHPExcel_Shared_JAMA_Matrix($m, $n); + for($i = 0; $i < $m; ++$i) { + for($j = 0; $j < $n; ++$j) { + $R->set($i - $i0, $j - $j0, $this->A[$RL[$i]][$CL[$j]]); + } + } + return $R; + break; + //$RL = array of row indices; $CL = array of column indices + case 'array,array': + list($RL, $CL) = $args; + if (count($RL) > 0) { $m = count($RL); } else { throw new PHPExcel_Calculation_Exception(self::ArgumentBoundsException); } + if (count($CL) > 0) { $n = count($CL); } else { throw new PHPExcel_Calculation_Exception(self::ArgumentBoundsException); } + $R = new PHPExcel_Shared_JAMA_Matrix($m, $n); + for($i = 0; $i < $m; ++$i) { + for($j = 0; $j < $n; ++$j) { + $R->set($i, $j, $this->A[$RL[$i]][$CL[$j]]); + } + } + return $R; + break; + //A($i0...$iF); $CL = array of column indices + case 'integer,integer,array': + list($i0, $iF, $CL) = $args; + if (($iF > $i0) && ($this->m >= $iF) && ($i0 >= 0)) { $m = $iF - $i0; } else { throw new PHPExcel_Calculation_Exception(self::ArgumentBoundsException); } + if (count($CL) > 0) { $n = count($CL); } else { throw new PHPExcel_Calculation_Exception(self::ArgumentBoundsException); } + $R = new PHPExcel_Shared_JAMA_Matrix($m, $n); + for($i = $i0; $i < $iF; ++$i) { + for($j = 0; $j < $n; ++$j) { + $R->set($i - $i0, $j, $this->A[$RL[$i]][$j]); + } + } + return $R; + break; + //$RL = array of row indices + case 'array,integer,integer': + list($RL, $j0, $jF) = $args; + if (count($RL) > 0) { $m = count($RL); } else { throw new PHPExcel_Calculation_Exception(self::ArgumentBoundsException); } + if (($jF >= $j0) && ($this->n >= $jF) && ($j0 >= 0)) { $n = $jF - $j0; } else { throw new PHPExcel_Calculation_Exception(self::ArgumentBoundsException); } + $R = new PHPExcel_Shared_JAMA_Matrix($m, $n+1); + for($i = 0; $i < $m; ++$i) { + for($j = $j0; $j <= $jF; ++$j) { + $R->set($i, $j - $j0, $this->A[$RL[$i]][$j]); + } + } + return $R; + break; + default: + throw new PHPExcel_Calculation_Exception(self::PolymorphicArgumentException); + break; + } + } else { + throw new PHPExcel_Calculation_Exception(self::PolymorphicArgumentException); + } + } // function getMatrix() + + + /** + * checkMatrixDimensions + * + * Is matrix B the same size? + * @param Matrix $B Matrix B + * @return boolean + */ + public function checkMatrixDimensions($B = null) { + if ($B instanceof PHPExcel_Shared_JAMA_Matrix) { + if (($this->m == $B->getRowDimension()) && ($this->n == $B->getColumnDimension())) { + return true; + } else { + throw new PHPExcel_Calculation_Exception(self::MatrixDimensionException); + } + } else { + throw new PHPExcel_Calculation_Exception(self::ArgumentTypeException); + } + } // function checkMatrixDimensions() + + + + /** + * set + * + * Set the i,j-th element of the matrix. + * @param int $i Row position + * @param int $j Column position + * @param mixed $c Int/float/double value + * @return mixed Element (int/float/double) + */ + public function set($i = null, $j = null, $c = null) { + // Optimized set version just has this + $this->A[$i][$j] = $c; + } // function set() + + + /** + * identity + * + * Generate an identity matrix. + * @param int $m Row dimension + * @param int $n Column dimension + * @return Matrix Identity matrix + */ + public function identity($m = null, $n = null) { + return $this->diagonal($m, $n, 1); + } // function identity() + + + /** + * diagonal + * + * Generate a diagonal matrix + * @param int $m Row dimension + * @param int $n Column dimension + * @param mixed $c Diagonal value + * @return Matrix Diagonal matrix + */ + public function diagonal($m = null, $n = null, $c = 1) { + $R = new PHPExcel_Shared_JAMA_Matrix($m, $n); + for($i = 0; $i < $m; ++$i) { + $R->set($i, $i, $c); + } + return $R; + } // function diagonal() + + + /** + * getMatrixByRow + * + * Get a submatrix by row index/range + * @param int $i0 Initial row index + * @param int $iF Final row index + * @return Matrix Submatrix + */ + public function getMatrixByRow($i0 = null, $iF = null) { + if (is_int($i0)) { + if (is_int($iF)) { + return $this->getMatrix($i0, 0, $iF + 1, $this->n); + } else { + return $this->getMatrix($i0, 0, $i0 + 1, $this->n); + } + } else { + throw new PHPExcel_Calculation_Exception(self::ArgumentTypeException); + } + } // function getMatrixByRow() + + + /** + * getMatrixByCol + * + * Get a submatrix by column index/range + * @param int $i0 Initial column index + * @param int $iF Final column index + * @return Matrix Submatrix + */ + public function getMatrixByCol($j0 = null, $jF = null) { + if (is_int($j0)) { + if (is_int($jF)) { + return $this->getMatrix(0, $j0, $this->m, $jF + 1); + } else { + return $this->getMatrix(0, $j0, $this->m, $j0 + 1); + } + } else { + throw new PHPExcel_Calculation_Exception(self::ArgumentTypeException); + } + } // function getMatrixByCol() + + + /** + * transpose + * + * Tranpose matrix + * @return Matrix Transposed matrix + */ + public function transpose() { + $R = new PHPExcel_Shared_JAMA_Matrix($this->n, $this->m); + for($i = 0; $i < $this->m; ++$i) { + for($j = 0; $j < $this->n; ++$j) { + $R->set($j, $i, $this->A[$i][$j]); + } + } + return $R; + } // function transpose() + + + /** + * trace + * + * Sum of diagonal elements + * @return float Sum of diagonal elements + */ + public function trace() { + $s = 0; + $n = min($this->m, $this->n); + for($i = 0; $i < $n; ++$i) { + $s += $this->A[$i][$i]; + } + return $s; + } // function trace() + + + /** + * uminus + * + * Unary minus matrix -A + * @return Matrix Unary minus matrix + */ + public function uminus() { + } // function uminus() + + + /** + * plus + * + * A + B + * @param mixed $B Matrix/Array + * @return Matrix Sum + */ + public function plus() { + if (func_num_args() > 0) { + $args = func_get_args(); + $match = implode(",", array_map('gettype', $args)); + + switch($match) { + case 'object': + if ($args[0] instanceof PHPExcel_Shared_JAMA_Matrix) { $M = $args[0]; } else { throw new PHPExcel_Calculation_Exception(self::ArgumentTypeException); } + break; + case 'array': + $M = new PHPExcel_Shared_JAMA_Matrix($args[0]); + break; + default: + throw new PHPExcel_Calculation_Exception(self::PolymorphicArgumentException); + break; + } + $this->checkMatrixDimensions($M); + for($i = 0; $i < $this->m; ++$i) { + for($j = 0; $j < $this->n; ++$j) { + $M->set($i, $j, $M->get($i, $j) + $this->A[$i][$j]); + } + } + return $M; + } else { + throw new PHPExcel_Calculation_Exception(self::PolymorphicArgumentException); + } + } // function plus() + + + /** + * plusEquals + * + * A = A + B + * @param mixed $B Matrix/Array + * @return Matrix Sum + */ + public function plusEquals() { + if (func_num_args() > 0) { + $args = func_get_args(); + $match = implode(",", array_map('gettype', $args)); + + switch($match) { + case 'object': + if ($args[0] instanceof PHPExcel_Shared_JAMA_Matrix) { $M = $args[0]; } else { throw new PHPExcel_Calculation_Exception(self::ArgumentTypeException); } + break; + case 'array': + $M = new PHPExcel_Shared_JAMA_Matrix($args[0]); + break; + default: + throw new PHPExcel_Calculation_Exception(self::PolymorphicArgumentException); + break; + } + $this->checkMatrixDimensions($M); + for($i = 0; $i < $this->m; ++$i) { + for($j = 0; $j < $this->n; ++$j) { + $validValues = True; + $value = $M->get($i, $j); + if ((is_string($this->A[$i][$j])) && (strlen($this->A[$i][$j]) > 0) && (!is_numeric($this->A[$i][$j]))) { + $this->A[$i][$j] = trim($this->A[$i][$j],'"'); + $validValues &= PHPExcel_Shared_String::convertToNumberIfFraction($this->A[$i][$j]); + } + if ((is_string($value)) && (strlen($value) > 0) && (!is_numeric($value))) { + $value = trim($value,'"'); + $validValues &= PHPExcel_Shared_String::convertToNumberIfFraction($value); + } + if ($validValues) { + $this->A[$i][$j] += $value; + } else { + $this->A[$i][$j] = PHPExcel_Calculation_Functions::NaN(); + } + } + } + return $this; + } else { + throw new PHPExcel_Calculation_Exception(self::PolymorphicArgumentException); + } + } // function plusEquals() + + + /** + * minus + * + * A - B + * @param mixed $B Matrix/Array + * @return Matrix Sum + */ + public function minus() { + if (func_num_args() > 0) { + $args = func_get_args(); + $match = implode(",", array_map('gettype', $args)); + + switch($match) { + case 'object': + if ($args[0] instanceof PHPExcel_Shared_JAMA_Matrix) { $M = $args[0]; } else { throw new PHPExcel_Calculation_Exception(self::ArgumentTypeException); } + break; + case 'array': + $M = new PHPExcel_Shared_JAMA_Matrix($args[0]); + break; + default: + throw new PHPExcel_Calculation_Exception(self::PolymorphicArgumentException); + break; + } + $this->checkMatrixDimensions($M); + for($i = 0; $i < $this->m; ++$i) { + for($j = 0; $j < $this->n; ++$j) { + $M->set($i, $j, $M->get($i, $j) - $this->A[$i][$j]); + } + } + return $M; + } else { + throw new PHPExcel_Calculation_Exception(self::PolymorphicArgumentException); + } + } // function minus() + + + /** + * minusEquals + * + * A = A - B + * @param mixed $B Matrix/Array + * @return Matrix Sum + */ + public function minusEquals() { + if (func_num_args() > 0) { + $args = func_get_args(); + $match = implode(",", array_map('gettype', $args)); + + switch($match) { + case 'object': + if ($args[0] instanceof PHPExcel_Shared_JAMA_Matrix) { $M = $args[0]; } else { throw new PHPExcel_Calculation_Exception(self::ArgumentTypeException); } + break; + case 'array': + $M = new PHPExcel_Shared_JAMA_Matrix($args[0]); + break; + default: + throw new PHPExcel_Calculation_Exception(self::PolymorphicArgumentException); + break; + } + $this->checkMatrixDimensions($M); + for($i = 0; $i < $this->m; ++$i) { + for($j = 0; $j < $this->n; ++$j) { + $validValues = True; + $value = $M->get($i, $j); + if ((is_string($this->A[$i][$j])) && (strlen($this->A[$i][$j]) > 0) && (!is_numeric($this->A[$i][$j]))) { + $this->A[$i][$j] = trim($this->A[$i][$j],'"'); + $validValues &= PHPExcel_Shared_String::convertToNumberIfFraction($this->A[$i][$j]); + } + if ((is_string($value)) && (strlen($value) > 0) && (!is_numeric($value))) { + $value = trim($value,'"'); + $validValues &= PHPExcel_Shared_String::convertToNumberIfFraction($value); + } + if ($validValues) { + $this->A[$i][$j] -= $value; + } else { + $this->A[$i][$j] = PHPExcel_Calculation_Functions::NaN(); + } + } + } + return $this; + } else { + throw new PHPExcel_Calculation_Exception(self::PolymorphicArgumentException); + } + } // function minusEquals() + + + /** + * arrayTimes + * + * Element-by-element multiplication + * Cij = Aij * Bij + * @param mixed $B Matrix/Array + * @return Matrix Matrix Cij + */ + public function arrayTimes() { + if (func_num_args() > 0) { + $args = func_get_args(); + $match = implode(",", array_map('gettype', $args)); + + switch($match) { + case 'object': + if ($args[0] instanceof PHPExcel_Shared_JAMA_Matrix) { $M = $args[0]; } else { throw new PHPExcel_Calculation_Exception(self::ArgumentTypeException); } + break; + case 'array': + $M = new PHPExcel_Shared_JAMA_Matrix($args[0]); + break; + default: + throw new PHPExcel_Calculation_Exception(self::PolymorphicArgumentException); + break; + } + $this->checkMatrixDimensions($M); + for($i = 0; $i < $this->m; ++$i) { + for($j = 0; $j < $this->n; ++$j) { + $M->set($i, $j, $M->get($i, $j) * $this->A[$i][$j]); + } + } + return $M; + } else { + throw new PHPExcel_Calculation_Exception(self::PolymorphicArgumentException); + } + } // function arrayTimes() + + + /** + * arrayTimesEquals + * + * Element-by-element multiplication + * Aij = Aij * Bij + * @param mixed $B Matrix/Array + * @return Matrix Matrix Aij + */ + public function arrayTimesEquals() { + if (func_num_args() > 0) { + $args = func_get_args(); + $match = implode(",", array_map('gettype', $args)); + + switch($match) { + case 'object': + if ($args[0] instanceof PHPExcel_Shared_JAMA_Matrix) { $M = $args[0]; } else { throw new PHPExcel_Calculation_Exception(self::ArgumentTypeException); } + break; + case 'array': + $M = new PHPExcel_Shared_JAMA_Matrix($args[0]); + break; + default: + throw new PHPExcel_Calculation_Exception(self::PolymorphicArgumentException); + break; + } + $this->checkMatrixDimensions($M); + for($i = 0; $i < $this->m; ++$i) { + for($j = 0; $j < $this->n; ++$j) { + $validValues = True; + $value = $M->get($i, $j); + if ((is_string($this->A[$i][$j])) && (strlen($this->A[$i][$j]) > 0) && (!is_numeric($this->A[$i][$j]))) { + $this->A[$i][$j] = trim($this->A[$i][$j],'"'); + $validValues &= PHPExcel_Shared_String::convertToNumberIfFraction($this->A[$i][$j]); + } + if ((is_string($value)) && (strlen($value) > 0) && (!is_numeric($value))) { + $value = trim($value,'"'); + $validValues &= PHPExcel_Shared_String::convertToNumberIfFraction($value); + } + if ($validValues) { + $this->A[$i][$j] *= $value; + } else { + $this->A[$i][$j] = PHPExcel_Calculation_Functions::NaN(); + } + } + } + return $this; + } else { + throw new PHPExcel_Calculation_Exception(self::PolymorphicArgumentException); + } + } // function arrayTimesEquals() + + + /** + * arrayRightDivide + * + * Element-by-element right division + * A / B + * @param Matrix $B Matrix B + * @return Matrix Division result + */ + public function arrayRightDivide() { + if (func_num_args() > 0) { + $args = func_get_args(); + $match = implode(",", array_map('gettype', $args)); + + switch($match) { + case 'object': + if ($args[0] instanceof PHPExcel_Shared_JAMA_Matrix) { $M = $args[0]; } else { throw new PHPExcel_Calculation_Exception(self::ArgumentTypeException); } + break; + case 'array': + $M = new PHPExcel_Shared_JAMA_Matrix($args[0]); + break; + default: + throw new PHPExcel_Calculation_Exception(self::PolymorphicArgumentException); + break; + } + $this->checkMatrixDimensions($M); + for($i = 0; $i < $this->m; ++$i) { + for($j = 0; $j < $this->n; ++$j) { + $validValues = True; + $value = $M->get($i, $j); + if ((is_string($this->A[$i][$j])) && (strlen($this->A[$i][$j]) > 0) && (!is_numeric($this->A[$i][$j]))) { + $this->A[$i][$j] = trim($this->A[$i][$j],'"'); + $validValues &= PHPExcel_Shared_String::convertToNumberIfFraction($this->A[$i][$j]); + } + if ((is_string($value)) && (strlen($value) > 0) && (!is_numeric($value))) { + $value = trim($value,'"'); + $validValues &= PHPExcel_Shared_String::convertToNumberIfFraction($value); + } + if ($validValues) { + if ($value == 0) { + // Trap for Divide by Zero error + $M->set($i, $j, '#DIV/0!'); + } else { + $M->set($i, $j, $this->A[$i][$j] / $value); + } + } else { + $M->set($i, $j, PHPExcel_Calculation_Functions::NaN()); + } + } + } + return $M; + } else { + throw new PHPExcel_Calculation_Exception(self::PolymorphicArgumentException); + } + } // function arrayRightDivide() + + + /** + * arrayRightDivideEquals + * + * Element-by-element right division + * Aij = Aij / Bij + * @param mixed $B Matrix/Array + * @return Matrix Matrix Aij + */ + public function arrayRightDivideEquals() { + if (func_num_args() > 0) { + $args = func_get_args(); + $match = implode(",", array_map('gettype', $args)); + + switch($match) { + case 'object': + if ($args[0] instanceof PHPExcel_Shared_JAMA_Matrix) { $M = $args[0]; } else { throw new PHPExcel_Calculation_Exception(self::ArgumentTypeException); } + break; + case 'array': + $M = new PHPExcel_Shared_JAMA_Matrix($args[0]); + break; + default: + throw new PHPExcel_Calculation_Exception(self::PolymorphicArgumentException); + break; + } + $this->checkMatrixDimensions($M); + for($i = 0; $i < $this->m; ++$i) { + for($j = 0; $j < $this->n; ++$j) { + $this->A[$i][$j] = $this->A[$i][$j] / $M->get($i, $j); + } + } + return $M; + } else { + throw new PHPExcel_Calculation_Exception(self::PolymorphicArgumentException); + } + } // function arrayRightDivideEquals() + + + /** + * arrayLeftDivide + * + * Element-by-element Left division + * A / B + * @param Matrix $B Matrix B + * @return Matrix Division result + */ + public function arrayLeftDivide() { + if (func_num_args() > 0) { + $args = func_get_args(); + $match = implode(",", array_map('gettype', $args)); + + switch($match) { + case 'object': + if ($args[0] instanceof PHPExcel_Shared_JAMA_Matrix) { $M = $args[0]; } else { throw new PHPExcel_Calculation_Exception(self::ArgumentTypeException); } + break; + case 'array': + $M = new PHPExcel_Shared_JAMA_Matrix($args[0]); + break; + default: + throw new PHPExcel_Calculation_Exception(self::PolymorphicArgumentException); + break; + } + $this->checkMatrixDimensions($M); + for($i = 0; $i < $this->m; ++$i) { + for($j = 0; $j < $this->n; ++$j) { + $M->set($i, $j, $M->get($i, $j) / $this->A[$i][$j]); + } + } + return $M; + } else { + throw new PHPExcel_Calculation_Exception(self::PolymorphicArgumentException); + } + } // function arrayLeftDivide() + + + /** + * arrayLeftDivideEquals + * + * Element-by-element Left division + * Aij = Aij / Bij + * @param mixed $B Matrix/Array + * @return Matrix Matrix Aij + */ + public function arrayLeftDivideEquals() { + if (func_num_args() > 0) { + $args = func_get_args(); + $match = implode(",", array_map('gettype', $args)); + + switch($match) { + case 'object': + if ($args[0] instanceof PHPExcel_Shared_JAMA_Matrix) { $M = $args[0]; } else { throw new PHPExcel_Calculation_Exception(self::ArgumentTypeException); } + break; + case 'array': + $M = new PHPExcel_Shared_JAMA_Matrix($args[0]); + break; + default: + throw new PHPExcel_Calculation_Exception(self::PolymorphicArgumentException); + break; + } + $this->checkMatrixDimensions($M); + for($i = 0; $i < $this->m; ++$i) { + for($j = 0; $j < $this->n; ++$j) { + $this->A[$i][$j] = $M->get($i, $j) / $this->A[$i][$j]; + } + } + return $M; + } else { + throw new PHPExcel_Calculation_Exception(self::PolymorphicArgumentException); + } + } // function arrayLeftDivideEquals() + + + /** + * times + * + * Matrix multiplication + * @param mixed $n Matrix/Array/Scalar + * @return Matrix Product + */ + public function times() { + if (func_num_args() > 0) { + $args = func_get_args(); + $match = implode(",", array_map('gettype', $args)); + + switch($match) { + case 'object': + if ($args[0] instanceof PHPExcel_Shared_JAMA_Matrix) { $B = $args[0]; } else { throw new PHPExcel_Calculation_Exception(self::ArgumentTypeException); } + if ($this->n == $B->m) { + $C = new PHPExcel_Shared_JAMA_Matrix($this->m, $B->n); + for($j = 0; $j < $B->n; ++$j) { + for ($k = 0; $k < $this->n; ++$k) { + $Bcolj[$k] = $B->A[$k][$j]; + } + for($i = 0; $i < $this->m; ++$i) { + $Arowi = $this->A[$i]; + $s = 0; + for($k = 0; $k < $this->n; ++$k) { + $s += $Arowi[$k] * $Bcolj[$k]; + } + $C->A[$i][$j] = $s; + } + } + return $C; + } else { + throw new PHPExcel_Calculation_Exception(JAMAError(MatrixDimensionMismatch)); + } + break; + case 'array': + $B = new PHPExcel_Shared_JAMA_Matrix($args[0]); + if ($this->n == $B->m) { + $C = new PHPExcel_Shared_JAMA_Matrix($this->m, $B->n); + for($i = 0; $i < $C->m; ++$i) { + for($j = 0; $j < $C->n; ++$j) { + $s = "0"; + for($k = 0; $k < $C->n; ++$k) { + $s += $this->A[$i][$k] * $B->A[$k][$j]; + } + $C->A[$i][$j] = $s; + } + } + return $C; + } else { + throw new PHPExcel_Calculation_Exception(JAMAError(MatrixDimensionMismatch)); + } + return $M; + break; + case 'integer': + $C = new PHPExcel_Shared_JAMA_Matrix($this->A); + for($i = 0; $i < $C->m; ++$i) { + for($j = 0; $j < $C->n; ++$j) { + $C->A[$i][$j] *= $args[0]; + } + } + return $C; + break; + case 'double': + $C = new PHPExcel_Shared_JAMA_Matrix($this->m, $this->n); + for($i = 0; $i < $C->m; ++$i) { + for($j = 0; $j < $C->n; ++$j) { + $C->A[$i][$j] = $args[0] * $this->A[$i][$j]; + } + } + return $C; + break; + case 'float': + $C = new PHPExcel_Shared_JAMA_Matrix($this->A); + for($i = 0; $i < $C->m; ++$i) { + for($j = 0; $j < $C->n; ++$j) { + $C->A[$i][$j] *= $args[0]; + } + } + return $C; + break; + default: + throw new PHPExcel_Calculation_Exception(self::PolymorphicArgumentException); + break; + } + } else { + throw new PHPExcel_Calculation_Exception(self::PolymorphicArgumentException); + } + } // function times() + + + /** + * power + * + * A = A ^ B + * @param mixed $B Matrix/Array + * @return Matrix Sum + */ + public function power() { + if (func_num_args() > 0) { + $args = func_get_args(); + $match = implode(",", array_map('gettype', $args)); + + switch($match) { + case 'object': + if ($args[0] instanceof PHPExcel_Shared_JAMA_Matrix) { $M = $args[0]; } else { throw new PHPExcel_Calculation_Exception(self::ArgumentTypeException); } + break; + case 'array': + $M = new PHPExcel_Shared_JAMA_Matrix($args[0]); + break; + default: + throw new PHPExcel_Calculation_Exception(self::PolymorphicArgumentException); + break; + } + $this->checkMatrixDimensions($M); + for($i = 0; $i < $this->m; ++$i) { + for($j = 0; $j < $this->n; ++$j) { + $validValues = True; + $value = $M->get($i, $j); + if ((is_string($this->A[$i][$j])) && (strlen($this->A[$i][$j]) > 0) && (!is_numeric($this->A[$i][$j]))) { + $this->A[$i][$j] = trim($this->A[$i][$j],'"'); + $validValues &= PHPExcel_Shared_String::convertToNumberIfFraction($this->A[$i][$j]); + } + if ((is_string($value)) && (strlen($value) > 0) && (!is_numeric($value))) { + $value = trim($value,'"'); + $validValues &= PHPExcel_Shared_String::convertToNumberIfFraction($value); + } + if ($validValues) { + $this->A[$i][$j] = pow($this->A[$i][$j],$value); + } else { + $this->A[$i][$j] = PHPExcel_Calculation_Functions::NaN(); + } + } + } + return $this; + } else { + throw new PHPExcel_Calculation_Exception(self::PolymorphicArgumentException); + } + } // function power() + + + /** + * concat + * + * A = A & B + * @param mixed $B Matrix/Array + * @return Matrix Sum + */ + public function concat() { + if (func_num_args() > 0) { + $args = func_get_args(); + $match = implode(",", array_map('gettype', $args)); + + switch($match) { + case 'object': + if ($args[0] instanceof PHPExcel_Shared_JAMA_Matrix) { $M = $args[0]; } else { throw new PHPExcel_Calculation_Exception(self::ArgumentTypeException); } + case 'array': + $M = new PHPExcel_Shared_JAMA_Matrix($args[0]); + break; + default: + throw new PHPExcel_Calculation_Exception(self::PolymorphicArgumentException); + break; + } + $this->checkMatrixDimensions($M); + for($i = 0; $i < $this->m; ++$i) { + for($j = 0; $j < $this->n; ++$j) { + $this->A[$i][$j] = trim($this->A[$i][$j],'"').trim($M->get($i, $j),'"'); + } + } + return $this; + } else { + throw new PHPExcel_Calculation_Exception(self::PolymorphicArgumentException); + } + } // function concat() + + + /** + * Solve A*X = B. + * + * @param Matrix $B Right hand side + * @return Matrix ... Solution if A is square, least squares solution otherwise + */ + public function solve($B) { + if ($this->m == $this->n) { + $LU = new PHPExcel_Shared_JAMA_LUDecomposition($this); + return $LU->solve($B); + } else { + $QR = new PHPExcel_Shared_JAMA_QRDecomposition($this); + return $QR->solve($B); + } + } // function solve() + + + /** + * Matrix inverse or pseudoinverse. + * + * @return Matrix ... Inverse(A) if A is square, pseudoinverse otherwise. + */ + public function inverse() { + return $this->solve($this->identity($this->m, $this->m)); + } // function inverse() + + + /** + * det + * + * Calculate determinant + * @return float Determinant + */ + public function det() { + $L = new PHPExcel_Shared_JAMA_LUDecomposition($this); + return $L->det(); + } // function det() +} // class PHPExcel_Shared_JAMA_Matrix diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/JAMA/QRDecomposition.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/JAMA/QRDecomposition.php new file mode 100644 index 00000000..75384629 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/JAMA/QRDecomposition.php @@ -0,0 +1,234 @@ +<?php +/** + * @package JAMA + * + * For an m-by-n matrix A with m >= n, the QR decomposition is an m-by-n + * orthogonal matrix Q and an n-by-n upper triangular matrix R so that + * A = Q*R. + * + * The QR decompostion always exists, even if the matrix does not have + * full rank, so the constructor will never fail. The primary use of the + * QR decomposition is in the least squares solution of nonsquare systems + * of simultaneous linear equations. This will fail if isFullRank() + * returns false. + * + * @author Paul Meagher + * @license PHP v3.0 + * @version 1.1 + */ +class PHPExcel_Shared_JAMA_QRDecomposition { + + const MatrixRankException = "Can only perform operation on full-rank matrix."; + + /** + * Array for internal storage of decomposition. + * @var array + */ + private $QR = array(); + + /** + * Row dimension. + * @var integer + */ + private $m; + + /** + * Column dimension. + * @var integer + */ + private $n; + + /** + * Array for internal storage of diagonal of R. + * @var array + */ + private $Rdiag = array(); + + + /** + * QR Decomposition computed by Householder reflections. + * + * @param matrix $A Rectangular matrix + * @return Structure to access R and the Householder vectors and compute Q. + */ + public function __construct($A) { + if($A instanceof PHPExcel_Shared_JAMA_Matrix) { + // Initialize. + $this->QR = $A->getArrayCopy(); + $this->m = $A->getRowDimension(); + $this->n = $A->getColumnDimension(); + // Main loop. + for ($k = 0; $k < $this->n; ++$k) { + // Compute 2-norm of k-th column without under/overflow. + $nrm = 0.0; + for ($i = $k; $i < $this->m; ++$i) { + $nrm = hypo($nrm, $this->QR[$i][$k]); + } + if ($nrm != 0.0) { + // Form k-th Householder vector. + if ($this->QR[$k][$k] < 0) { + $nrm = -$nrm; + } + for ($i = $k; $i < $this->m; ++$i) { + $this->QR[$i][$k] /= $nrm; + } + $this->QR[$k][$k] += 1.0; + // Apply transformation to remaining columns. + for ($j = $k+1; $j < $this->n; ++$j) { + $s = 0.0; + for ($i = $k; $i < $this->m; ++$i) { + $s += $this->QR[$i][$k] * $this->QR[$i][$j]; + } + $s = -$s/$this->QR[$k][$k]; + for ($i = $k; $i < $this->m; ++$i) { + $this->QR[$i][$j] += $s * $this->QR[$i][$k]; + } + } + } + $this->Rdiag[$k] = -$nrm; + } + } else { + throw new PHPExcel_Calculation_Exception(PHPExcel_Shared_JAMA_Matrix::ArgumentTypeException); + } + } // function __construct() + + + /** + * Is the matrix full rank? + * + * @return boolean true if R, and hence A, has full rank, else false. + */ + public function isFullRank() { + for ($j = 0; $j < $this->n; ++$j) { + if ($this->Rdiag[$j] == 0) { + return false; + } + } + return true; + } // function isFullRank() + + + /** + * Return the Householder vectors + * + * @return Matrix Lower trapezoidal matrix whose columns define the reflections + */ + public function getH() { + for ($i = 0; $i < $this->m; ++$i) { + for ($j = 0; $j < $this->n; ++$j) { + if ($i >= $j) { + $H[$i][$j] = $this->QR[$i][$j]; + } else { + $H[$i][$j] = 0.0; + } + } + } + return new PHPExcel_Shared_JAMA_Matrix($H); + } // function getH() + + + /** + * Return the upper triangular factor + * + * @return Matrix upper triangular factor + */ + public function getR() { + for ($i = 0; $i < $this->n; ++$i) { + for ($j = 0; $j < $this->n; ++$j) { + if ($i < $j) { + $R[$i][$j] = $this->QR[$i][$j]; + } elseif ($i == $j) { + $R[$i][$j] = $this->Rdiag[$i]; + } else { + $R[$i][$j] = 0.0; + } + } + } + return new PHPExcel_Shared_JAMA_Matrix($R); + } // function getR() + + + /** + * Generate and return the (economy-sized) orthogonal factor + * + * @return Matrix orthogonal factor + */ + public function getQ() { + for ($k = $this->n-1; $k >= 0; --$k) { + for ($i = 0; $i < $this->m; ++$i) { + $Q[$i][$k] = 0.0; + } + $Q[$k][$k] = 1.0; + for ($j = $k; $j < $this->n; ++$j) { + if ($this->QR[$k][$k] != 0) { + $s = 0.0; + for ($i = $k; $i < $this->m; ++$i) { + $s += $this->QR[$i][$k] * $Q[$i][$j]; + } + $s = -$s/$this->QR[$k][$k]; + for ($i = $k; $i < $this->m; ++$i) { + $Q[$i][$j] += $s * $this->QR[$i][$k]; + } + } + } + } + /* + for($i = 0; $i < count($Q); ++$i) { + for($j = 0; $j < count($Q); ++$j) { + if(! isset($Q[$i][$j]) ) { + $Q[$i][$j] = 0; + } + } + } + */ + return new PHPExcel_Shared_JAMA_Matrix($Q); + } // function getQ() + + + /** + * Least squares solution of A*X = B + * + * @param Matrix $B A Matrix with as many rows as A and any number of columns. + * @return Matrix Matrix that minimizes the two norm of Q*R*X-B. + */ + public function solve($B) { + if ($B->getRowDimension() == $this->m) { + if ($this->isFullRank()) { + // Copy right hand side + $nx = $B->getColumnDimension(); + $X = $B->getArrayCopy(); + // Compute Y = transpose(Q)*B + for ($k = 0; $k < $this->n; ++$k) { + for ($j = 0; $j < $nx; ++$j) { + $s = 0.0; + for ($i = $k; $i < $this->m; ++$i) { + $s += $this->QR[$i][$k] * $X[$i][$j]; + } + $s = -$s/$this->QR[$k][$k]; + for ($i = $k; $i < $this->m; ++$i) { + $X[$i][$j] += $s * $this->QR[$i][$k]; + } + } + } + // Solve R*X = Y; + for ($k = $this->n-1; $k >= 0; --$k) { + for ($j = 0; $j < $nx; ++$j) { + $X[$k][$j] /= $this->Rdiag[$k]; + } + for ($i = 0; $i < $k; ++$i) { + for ($j = 0; $j < $nx; ++$j) { + $X[$i][$j] -= $X[$k][$j]* $this->QR[$i][$k]; + } + } + } + $X = new PHPExcel_Shared_JAMA_Matrix($X); + return ($X->getMatrix(0, $this->n-1, 0, $nx)); + } else { + throw new PHPExcel_Calculation_Exception(self::MatrixRankException); + } + } else { + throw new PHPExcel_Calculation_Exception(PHPExcel_Shared_JAMA_Matrix::MatrixDimensionException); + } + } // function solve() + +} // PHPExcel_Shared_JAMA_class QRDecomposition diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/JAMA/SingularValueDecomposition.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/JAMA/SingularValueDecomposition.php new file mode 100644 index 00000000..a4b096c5 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/JAMA/SingularValueDecomposition.php @@ -0,0 +1,526 @@ +<?php +/** + * @package JAMA + * + * For an m-by-n matrix A with m >= n, the singular value decomposition is + * an m-by-n orthogonal matrix U, an n-by-n diagonal matrix S, and + * an n-by-n orthogonal matrix V so that A = U*S*V'. + * + * The singular values, sigma[$k] = S[$k][$k], are ordered so that + * sigma[0] >= sigma[1] >= ... >= sigma[n-1]. + * + * The singular value decompostion always exists, so the constructor will + * never fail. The matrix condition number and the effective numerical + * rank can be computed from this decomposition. + * + * @author Paul Meagher + * @license PHP v3.0 + * @version 1.1 + */ +class SingularValueDecomposition { + + /** + * Internal storage of U. + * @var array + */ + private $U = array(); + + /** + * Internal storage of V. + * @var array + */ + private $V = array(); + + /** + * Internal storage of singular values. + * @var array + */ + private $s = array(); + + /** + * Row dimension. + * @var int + */ + private $m; + + /** + * Column dimension. + * @var int + */ + private $n; + + + /** + * Construct the singular value decomposition + * + * Derived from LINPACK code. + * + * @param $A Rectangular matrix + * @return Structure to access U, S and V. + */ + public function __construct($Arg) { + + // Initialize. + $A = $Arg->getArrayCopy(); + $this->m = $Arg->getRowDimension(); + $this->n = $Arg->getColumnDimension(); + $nu = min($this->m, $this->n); + $e = array(); + $work = array(); + $wantu = true; + $wantv = true; + $nct = min($this->m - 1, $this->n); + $nrt = max(0, min($this->n - 2, $this->m)); + + // Reduce A to bidiagonal form, storing the diagonal elements + // in s and the super-diagonal elements in e. + for ($k = 0; $k < max($nct,$nrt); ++$k) { + + if ($k < $nct) { + // Compute the transformation for the k-th column and + // place the k-th diagonal in s[$k]. + // Compute 2-norm of k-th column without under/overflow. + $this->s[$k] = 0; + for ($i = $k; $i < $this->m; ++$i) { + $this->s[$k] = hypo($this->s[$k], $A[$i][$k]); + } + if ($this->s[$k] != 0.0) { + if ($A[$k][$k] < 0.0) { + $this->s[$k] = -$this->s[$k]; + } + for ($i = $k; $i < $this->m; ++$i) { + $A[$i][$k] /= $this->s[$k]; + } + $A[$k][$k] += 1.0; + } + $this->s[$k] = -$this->s[$k]; + } + + for ($j = $k + 1; $j < $this->n; ++$j) { + if (($k < $nct) & ($this->s[$k] != 0.0)) { + // Apply the transformation. + $t = 0; + for ($i = $k; $i < $this->m; ++$i) { + $t += $A[$i][$k] * $A[$i][$j]; + } + $t = -$t / $A[$k][$k]; + for ($i = $k; $i < $this->m; ++$i) { + $A[$i][$j] += $t * $A[$i][$k]; + } + // Place the k-th row of A into e for the + // subsequent calculation of the row transformation. + $e[$j] = $A[$k][$j]; + } + } + + if ($wantu AND ($k < $nct)) { + // Place the transformation in U for subsequent back + // multiplication. + for ($i = $k; $i < $this->m; ++$i) { + $this->U[$i][$k] = $A[$i][$k]; + } + } + + if ($k < $nrt) { + // Compute the k-th row transformation and place the + // k-th super-diagonal in e[$k]. + // Compute 2-norm without under/overflow. + $e[$k] = 0; + for ($i = $k + 1; $i < $this->n; ++$i) { + $e[$k] = hypo($e[$k], $e[$i]); + } + if ($e[$k] != 0.0) { + if ($e[$k+1] < 0.0) { + $e[$k] = -$e[$k]; + } + for ($i = $k + 1; $i < $this->n; ++$i) { + $e[$i] /= $e[$k]; + } + $e[$k+1] += 1.0; + } + $e[$k] = -$e[$k]; + if (($k+1 < $this->m) AND ($e[$k] != 0.0)) { + // Apply the transformation. + for ($i = $k+1; $i < $this->m; ++$i) { + $work[$i] = 0.0; + } + for ($j = $k+1; $j < $this->n; ++$j) { + for ($i = $k+1; $i < $this->m; ++$i) { + $work[$i] += $e[$j] * $A[$i][$j]; + } + } + for ($j = $k + 1; $j < $this->n; ++$j) { + $t = -$e[$j] / $e[$k+1]; + for ($i = $k + 1; $i < $this->m; ++$i) { + $A[$i][$j] += $t * $work[$i]; + } + } + } + if ($wantv) { + // Place the transformation in V for subsequent + // back multiplication. + for ($i = $k + 1; $i < $this->n; ++$i) { + $this->V[$i][$k] = $e[$i]; + } + } + } + } + + // Set up the final bidiagonal matrix or order p. + $p = min($this->n, $this->m + 1); + if ($nct < $this->n) { + $this->s[$nct] = $A[$nct][$nct]; + } + if ($this->m < $p) { + $this->s[$p-1] = 0.0; + } + if ($nrt + 1 < $p) { + $e[$nrt] = $A[$nrt][$p-1]; + } + $e[$p-1] = 0.0; + // If required, generate U. + if ($wantu) { + for ($j = $nct; $j < $nu; ++$j) { + for ($i = 0; $i < $this->m; ++$i) { + $this->U[$i][$j] = 0.0; + } + $this->U[$j][$j] = 1.0; + } + for ($k = $nct - 1; $k >= 0; --$k) { + if ($this->s[$k] != 0.0) { + for ($j = $k + 1; $j < $nu; ++$j) { + $t = 0; + for ($i = $k; $i < $this->m; ++$i) { + $t += $this->U[$i][$k] * $this->U[$i][$j]; + } + $t = -$t / $this->U[$k][$k]; + for ($i = $k; $i < $this->m; ++$i) { + $this->U[$i][$j] += $t * $this->U[$i][$k]; + } + } + for ($i = $k; $i < $this->m; ++$i ) { + $this->U[$i][$k] = -$this->U[$i][$k]; + } + $this->U[$k][$k] = 1.0 + $this->U[$k][$k]; + for ($i = 0; $i < $k - 1; ++$i) { + $this->U[$i][$k] = 0.0; + } + } else { + for ($i = 0; $i < $this->m; ++$i) { + $this->U[$i][$k] = 0.0; + } + $this->U[$k][$k] = 1.0; + } + } + } + + // If required, generate V. + if ($wantv) { + for ($k = $this->n - 1; $k >= 0; --$k) { + if (($k < $nrt) AND ($e[$k] != 0.0)) { + for ($j = $k + 1; $j < $nu; ++$j) { + $t = 0; + for ($i = $k + 1; $i < $this->n; ++$i) { + $t += $this->V[$i][$k]* $this->V[$i][$j]; + } + $t = -$t / $this->V[$k+1][$k]; + for ($i = $k + 1; $i < $this->n; ++$i) { + $this->V[$i][$j] += $t * $this->V[$i][$k]; + } + } + } + for ($i = 0; $i < $this->n; ++$i) { + $this->V[$i][$k] = 0.0; + } + $this->V[$k][$k] = 1.0; + } + } + + // Main iteration loop for the singular values. + $pp = $p - 1; + $iter = 0; + $eps = pow(2.0, -52.0); + + while ($p > 0) { + // Here is where a test for too many iterations would go. + // This section of the program inspects for negligible + // elements in the s and e arrays. On completion the + // variables kase and k are set as follows: + // kase = 1 if s(p) and e[k-1] are negligible and k<p + // kase = 2 if s(k) is negligible and k<p + // kase = 3 if e[k-1] is negligible, k<p, and + // s(k), ..., s(p) are not negligible (qr step). + // kase = 4 if e(p-1) is negligible (convergence). + for ($k = $p - 2; $k >= -1; --$k) { + if ($k == -1) { + break; + } + if (abs($e[$k]) <= $eps * (abs($this->s[$k]) + abs($this->s[$k+1]))) { + $e[$k] = 0.0; + break; + } + } + if ($k == $p - 2) { + $kase = 4; + } else { + for ($ks = $p - 1; $ks >= $k; --$ks) { + if ($ks == $k) { + break; + } + $t = ($ks != $p ? abs($e[$ks]) : 0.) + ($ks != $k + 1 ? abs($e[$ks-1]) : 0.); + if (abs($this->s[$ks]) <= $eps * $t) { + $this->s[$ks] = 0.0; + break; + } + } + if ($ks == $k) { + $kase = 3; + } else if ($ks == $p-1) { + $kase = 1; + } else { + $kase = 2; + $k = $ks; + } + } + ++$k; + + // Perform the task indicated by kase. + switch ($kase) { + // Deflate negligible s(p). + case 1: + $f = $e[$p-2]; + $e[$p-2] = 0.0; + for ($j = $p - 2; $j >= $k; --$j) { + $t = hypo($this->s[$j],$f); + $cs = $this->s[$j] / $t; + $sn = $f / $t; + $this->s[$j] = $t; + if ($j != $k) { + $f = -$sn * $e[$j-1]; + $e[$j-1] = $cs * $e[$j-1]; + } + if ($wantv) { + for ($i = 0; $i < $this->n; ++$i) { + $t = $cs * $this->V[$i][$j] + $sn * $this->V[$i][$p-1]; + $this->V[$i][$p-1] = -$sn * $this->V[$i][$j] + $cs * $this->V[$i][$p-1]; + $this->V[$i][$j] = $t; + } + } + } + break; + // Split at negligible s(k). + case 2: + $f = $e[$k-1]; + $e[$k-1] = 0.0; + for ($j = $k; $j < $p; ++$j) { + $t = hypo($this->s[$j], $f); + $cs = $this->s[$j] / $t; + $sn = $f / $t; + $this->s[$j] = $t; + $f = -$sn * $e[$j]; + $e[$j] = $cs * $e[$j]; + if ($wantu) { + for ($i = 0; $i < $this->m; ++$i) { + $t = $cs * $this->U[$i][$j] + $sn * $this->U[$i][$k-1]; + $this->U[$i][$k-1] = -$sn * $this->U[$i][$j] + $cs * $this->U[$i][$k-1]; + $this->U[$i][$j] = $t; + } + } + } + break; + // Perform one qr step. + case 3: + // Calculate the shift. + $scale = max(max(max(max( + abs($this->s[$p-1]),abs($this->s[$p-2])),abs($e[$p-2])), + abs($this->s[$k])), abs($e[$k])); + $sp = $this->s[$p-1] / $scale; + $spm1 = $this->s[$p-2] / $scale; + $epm1 = $e[$p-2] / $scale; + $sk = $this->s[$k] / $scale; + $ek = $e[$k] / $scale; + $b = (($spm1 + $sp) * ($spm1 - $sp) + $epm1 * $epm1) / 2.0; + $c = ($sp * $epm1) * ($sp * $epm1); + $shift = 0.0; + if (($b != 0.0) || ($c != 0.0)) { + $shift = sqrt($b * $b + $c); + if ($b < 0.0) { + $shift = -$shift; + } + $shift = $c / ($b + $shift); + } + $f = ($sk + $sp) * ($sk - $sp) + $shift; + $g = $sk * $ek; + // Chase zeros. + for ($j = $k; $j < $p-1; ++$j) { + $t = hypo($f,$g); + $cs = $f/$t; + $sn = $g/$t; + if ($j != $k) { + $e[$j-1] = $t; + } + $f = $cs * $this->s[$j] + $sn * $e[$j]; + $e[$j] = $cs * $e[$j] - $sn * $this->s[$j]; + $g = $sn * $this->s[$j+1]; + $this->s[$j+1] = $cs * $this->s[$j+1]; + if ($wantv) { + for ($i = 0; $i < $this->n; ++$i) { + $t = $cs * $this->V[$i][$j] + $sn * $this->V[$i][$j+1]; + $this->V[$i][$j+1] = -$sn * $this->V[$i][$j] + $cs * $this->V[$i][$j+1]; + $this->V[$i][$j] = $t; + } + } + $t = hypo($f,$g); + $cs = $f/$t; + $sn = $g/$t; + $this->s[$j] = $t; + $f = $cs * $e[$j] + $sn * $this->s[$j+1]; + $this->s[$j+1] = -$sn * $e[$j] + $cs * $this->s[$j+1]; + $g = $sn * $e[$j+1]; + $e[$j+1] = $cs * $e[$j+1]; + if ($wantu && ($j < $this->m - 1)) { + for ($i = 0; $i < $this->m; ++$i) { + $t = $cs * $this->U[$i][$j] + $sn * $this->U[$i][$j+1]; + $this->U[$i][$j+1] = -$sn * $this->U[$i][$j] + $cs * $this->U[$i][$j+1]; + $this->U[$i][$j] = $t; + } + } + } + $e[$p-2] = $f; + $iter = $iter + 1; + break; + // Convergence. + case 4: + // Make the singular values positive. + if ($this->s[$k] <= 0.0) { + $this->s[$k] = ($this->s[$k] < 0.0 ? -$this->s[$k] : 0.0); + if ($wantv) { + for ($i = 0; $i <= $pp; ++$i) { + $this->V[$i][$k] = -$this->V[$i][$k]; + } + } + } + // Order the singular values. + while ($k < $pp) { + if ($this->s[$k] >= $this->s[$k+1]) { + break; + } + $t = $this->s[$k]; + $this->s[$k] = $this->s[$k+1]; + $this->s[$k+1] = $t; + if ($wantv AND ($k < $this->n - 1)) { + for ($i = 0; $i < $this->n; ++$i) { + $t = $this->V[$i][$k+1]; + $this->V[$i][$k+1] = $this->V[$i][$k]; + $this->V[$i][$k] = $t; + } + } + if ($wantu AND ($k < $this->m-1)) { + for ($i = 0; $i < $this->m; ++$i) { + $t = $this->U[$i][$k+1]; + $this->U[$i][$k+1] = $this->U[$i][$k]; + $this->U[$i][$k] = $t; + } + } + ++$k; + } + $iter = 0; + --$p; + break; + } // end switch + } // end while + + } // end constructor + + + /** + * Return the left singular vectors + * + * @access public + * @return U + */ + public function getU() { + return new Matrix($this->U, $this->m, min($this->m + 1, $this->n)); + } + + + /** + * Return the right singular vectors + * + * @access public + * @return V + */ + public function getV() { + return new Matrix($this->V); + } + + + /** + * Return the one-dimensional array of singular values + * + * @access public + * @return diagonal of S. + */ + public function getSingularValues() { + return $this->s; + } + + + /** + * Return the diagonal matrix of singular values + * + * @access public + * @return S + */ + public function getS() { + for ($i = 0; $i < $this->n; ++$i) { + for ($j = 0; $j < $this->n; ++$j) { + $S[$i][$j] = 0.0; + } + $S[$i][$i] = $this->s[$i]; + } + return new Matrix($S); + } + + + /** + * Two norm + * + * @access public + * @return max(S) + */ + public function norm2() { + return $this->s[0]; + } + + + /** + * Two norm condition number + * + * @access public + * @return max(S)/min(S) + */ + public function cond() { + return $this->s[0] / $this->s[min($this->m, $this->n) - 1]; + } + + + /** + * Effective numerical matrix rank + * + * @access public + * @return Number of nonnegligible singular values. + */ + public function rank() { + $eps = pow(2.0, -52.0); + $tol = max($this->m, $this->n) * $this->s[0] * $eps; + $r = 0; + for ($i = 0; $i < count($this->s); ++$i) { + if ($this->s[$i] > $tol) { + ++$r; + } + } + return $r; + } + +} // class SingularValueDecomposition diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/JAMA/utils/Error.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/JAMA/utils/Error.php new file mode 100644 index 00000000..e73252b3 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/JAMA/utils/Error.php @@ -0,0 +1,82 @@ +<?php +/** + * @package JAMA + * + * Error handling + * @author Michael Bommarito + * @version 01292005 + */ + +//Language constant +define('JAMALANG', 'EN'); + + +//All errors may be defined by the following format: +//define('ExceptionName', N); +//$error['lang'][ExceptionName] = 'Error message'; +$error = array(); + +/* +I've used Babelfish and a little poor knowledge of Romance/Germanic languages for the translations here. +Feel free to correct anything that looks amiss to you. +*/ + +define('PolymorphicArgumentException', -1); +$error['EN'][PolymorphicArgumentException] = "Invalid argument pattern for polymorphic function."; +$error['FR'][PolymorphicArgumentException] = "Modèle inadmissible d'argument pour la fonction polymorphe.". +$error['DE'][PolymorphicArgumentException] = "Unzulässiges Argumentmuster für polymorphe Funktion."; + +define('ArgumentTypeException', -2); +$error['EN'][ArgumentTypeException] = "Invalid argument type."; +$error['FR'][ArgumentTypeException] = "Type inadmissible d'argument."; +$error['DE'][ArgumentTypeException] = "Unzulässige Argumentart."; + +define('ArgumentBoundsException', -3); +$error['EN'][ArgumentBoundsException] = "Invalid argument range."; +$error['FR'][ArgumentBoundsException] = "Gamme inadmissible d'argument."; +$error['DE'][ArgumentBoundsException] = "Unzulässige Argumentstrecke."; + +define('MatrixDimensionException', -4); +$error['EN'][MatrixDimensionException] = "Matrix dimensions are not equal."; +$error['FR'][MatrixDimensionException] = "Les dimensions de Matrix ne sont pas égales."; +$error['DE'][MatrixDimensionException] = "Matrixmaße sind nicht gleich."; + +define('PrecisionLossException', -5); +$error['EN'][PrecisionLossException] = "Significant precision loss detected."; +$error['FR'][PrecisionLossException] = "Perte significative de précision détectée."; +$error['DE'][PrecisionLossException] = "Bedeutender Präzision Verlust ermittelte."; + +define('MatrixSPDException', -6); +$error['EN'][MatrixSPDException] = "Can only perform operation on symmetric positive definite matrix."; +$error['FR'][MatrixSPDException] = "Perte significative de précision détectée."; +$error['DE'][MatrixSPDException] = "Bedeutender Präzision Verlust ermittelte."; + +define('MatrixSingularException', -7); +$error['EN'][MatrixSingularException] = "Can only perform operation on singular matrix."; + +define('MatrixRankException', -8); +$error['EN'][MatrixRankException] = "Can only perform operation on full-rank matrix."; + +define('ArrayLengthException', -9); +$error['EN'][ArrayLengthException] = "Array length must be a multiple of m."; + +define('RowLengthException', -10); +$error['EN'][RowLengthException] = "All rows must have the same length."; + +/** + * Custom error handler + * @param int $num Error number + */ +function JAMAError($errorNumber = null) { + global $error; + + if (isset($errorNumber)) { + if (isset($error[JAMALANG][$errorNumber])) { + return $error[JAMALANG][$errorNumber]; + } else { + return $error['EN'][$errorNumber]; + } + } else { + return ("Invalid argument to JAMAError()"); + } +} diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/JAMA/utils/Maths.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/JAMA/utils/Maths.php new file mode 100644 index 00000000..aa09a8bb --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/JAMA/utils/Maths.php @@ -0,0 +1,43 @@ +<?php +/** + * @package JAMA + * + * Pythagorean Theorem: + * + * a = 3 + * b = 4 + * r = sqrt(square(a) + square(b)) + * r = 5 + * + * r = sqrt(a^2 + b^2) without under/overflow. + */ +function hypo($a, $b) { + if (abs($a) > abs($b)) { + $r = $b / $a; + $r = abs($a) * sqrt(1 + $r * $r); + } elseif ($b != 0) { + $r = $a / $b; + $r = abs($b) * sqrt(1 + $r * $r); + } else { + $r = 0.0; + } + return $r; +} // function hypo() + + +/** + * Mike Bommarito's version. + * Compute n-dimensional hyotheneuse. + * +function hypot() { + $s = 0; + foreach (func_get_args() as $d) { + if (is_numeric($d)) { + $s += pow($d, 2); + } else { + throw new PHPExcel_Calculation_Exception(JAMAError(ArgumentTypeException)); + } + } + return sqrt($s); +} +*/ diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/OLE.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/OLE.php new file mode 100644 index 00000000..9796282a --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/OLE.php @@ -0,0 +1,531 @@ +<?php +/* vim: set expandtab tabstop=4 shiftwidth=4: */ +// +----------------------------------------------------------------------+ +// | PHP Version 4 | +// +----------------------------------------------------------------------+ +// | Copyright (c) 1997-2002 The PHP Group | +// +----------------------------------------------------------------------+ +// | This source file is subject to version 2.02 of the PHP license, | +// | that is bundled with this package in the file LICENSE, and is | +// | available at through the world-wide-web at | +// | http://www.php.net/license/2_02.txt. | +// | If you did not receive a copy of the PHP license and are unable to | +// | obtain it through the world-wide-web, please send a note to | +// | license@php.net so we can mail you a copy immediately. | +// +----------------------------------------------------------------------+ +// | Author: Xavier Noguer <xnoguer@php.net> | +// | Based on OLE::Storage_Lite by Kawai, Takanori | +// +----------------------------------------------------------------------+ +// +// $Id: OLE.php,v 1.13 2007/03/07 14:38:25 schmidt Exp $ + + +/** +* Array for storing OLE instances that are accessed from +* OLE_ChainedBlockStream::stream_open(). +* @var array +*/ +$GLOBALS['_OLE_INSTANCES'] = array(); + +/** +* OLE package base class. +* +* @author Xavier Noguer <xnoguer@php.net> +* @author Christian Schmidt <schmidt@php.net> +* @category PHPExcel +* @package PHPExcel_Shared_OLE +*/ +class PHPExcel_Shared_OLE +{ + const OLE_PPS_TYPE_ROOT = 5; + const OLE_PPS_TYPE_DIR = 1; + const OLE_PPS_TYPE_FILE = 2; + const OLE_DATA_SIZE_SMALL = 0x1000; + const OLE_LONG_INT_SIZE = 4; + const OLE_PPS_SIZE = 0x80; + + /** + * The file handle for reading an OLE container + * @var resource + */ + public $_file_handle; + + /** + * Array of PPS's found on the OLE container + * @var array + */ + public $_list = array(); + + /** + * Root directory of OLE container + * @var OLE_PPS_Root + */ + public $root; + + /** + * Big Block Allocation Table + * @var array (blockId => nextBlockId) + */ + public $bbat; + + /** + * Short Block Allocation Table + * @var array (blockId => nextBlockId) + */ + public $sbat; + + /** + * Size of big blocks. This is usually 512. + * @var int number of octets per block. + */ + public $bigBlockSize; + + /** + * Size of small blocks. This is usually 64. + * @var int number of octets per block + */ + public $smallBlockSize; + + /** + * Reads an OLE container from the contents of the file given. + * + * @acces public + * @param string $file + * @return mixed true on success, PEAR_Error on failure + */ + public function read($file) + { + $fh = fopen($file, "r"); + if (!$fh) { + throw new PHPExcel_Reader_Exception("Can't open file $file"); + } + $this->_file_handle = $fh; + + $signature = fread($fh, 8); + if ("\xD0\xCF\x11\xE0\xA1\xB1\x1A\xE1" != $signature) { + throw new PHPExcel_Reader_Exception("File doesn't seem to be an OLE container."); + } + fseek($fh, 28); + if (fread($fh, 2) != "\xFE\xFF") { + // This shouldn't be a problem in practice + throw new PHPExcel_Reader_Exception("Only Little-Endian encoding is supported."); + } + // Size of blocks and short blocks in bytes + $this->bigBlockSize = pow(2, self::_readInt2($fh)); + $this->smallBlockSize = pow(2, self::_readInt2($fh)); + + // Skip UID, revision number and version number + fseek($fh, 44); + // Number of blocks in Big Block Allocation Table + $bbatBlockCount = self::_readInt4($fh); + + // Root chain 1st block + $directoryFirstBlockId = self::_readInt4($fh); + + // Skip unused bytes + fseek($fh, 56); + // Streams shorter than this are stored using small blocks + $this->bigBlockThreshold = self::_readInt4($fh); + // Block id of first sector in Short Block Allocation Table + $sbatFirstBlockId = self::_readInt4($fh); + // Number of blocks in Short Block Allocation Table + $sbbatBlockCount = self::_readInt4($fh); + // Block id of first sector in Master Block Allocation Table + $mbatFirstBlockId = self::_readInt4($fh); + // Number of blocks in Master Block Allocation Table + $mbbatBlockCount = self::_readInt4($fh); + $this->bbat = array(); + + // Remaining 4 * 109 bytes of current block is beginning of Master + // Block Allocation Table + $mbatBlocks = array(); + for ($i = 0; $i < 109; ++$i) { + $mbatBlocks[] = self::_readInt4($fh); + } + + // Read rest of Master Block Allocation Table (if any is left) + $pos = $this->_getBlockOffset($mbatFirstBlockId); + for ($i = 0; $i < $mbbatBlockCount; ++$i) { + fseek($fh, $pos); + for ($j = 0; $j < $this->bigBlockSize / 4 - 1; ++$j) { + $mbatBlocks[] = self::_readInt4($fh); + } + // Last block id in each block points to next block + $pos = $this->_getBlockOffset(self::_readInt4($fh)); + } + + // Read Big Block Allocation Table according to chain specified by + // $mbatBlocks + for ($i = 0; $i < $bbatBlockCount; ++$i) { + $pos = $this->_getBlockOffset($mbatBlocks[$i]); + fseek($fh, $pos); + for ($j = 0 ; $j < $this->bigBlockSize / 4; ++$j) { + $this->bbat[] = self::_readInt4($fh); + } + } + + // Read short block allocation table (SBAT) + $this->sbat = array(); + $shortBlockCount = $sbbatBlockCount * $this->bigBlockSize / 4; + $sbatFh = $this->getStream($sbatFirstBlockId); + for ($blockId = 0; $blockId < $shortBlockCount; ++$blockId) { + $this->sbat[$blockId] = self::_readInt4($sbatFh); + } + fclose($sbatFh); + + $this->_readPpsWks($directoryFirstBlockId); + + return true; + } + + /** + * @param int block id + * @param int byte offset from beginning of file + * @access public + */ + public function _getBlockOffset($blockId) + { + return 512 + $blockId * $this->bigBlockSize; + } + + /** + * Returns a stream for use with fread() etc. External callers should + * use PHPExcel_Shared_OLE_PPS_File::getStream(). + * @param int|PPS block id or PPS + * @return resource read-only stream + */ + public function getStream($blockIdOrPps) + { + static $isRegistered = false; + if (!$isRegistered) { + stream_wrapper_register('ole-chainedblockstream', + 'PHPExcel_Shared_OLE_ChainedBlockStream'); + $isRegistered = true; + } + + // Store current instance in global array, so that it can be accessed + // in OLE_ChainedBlockStream::stream_open(). + // Object is removed from self::$instances in OLE_Stream::close(). + $GLOBALS['_OLE_INSTANCES'][] = $this; + $instanceId = end(array_keys($GLOBALS['_OLE_INSTANCES'])); + + $path = 'ole-chainedblockstream://oleInstanceId=' . $instanceId; + if ($blockIdOrPps instanceof PHPExcel_Shared_OLE_PPS) { + $path .= '&blockId=' . $blockIdOrPps->_StartBlock; + $path .= '&size=' . $blockIdOrPps->Size; + } else { + $path .= '&blockId=' . $blockIdOrPps; + } + return fopen($path, 'r'); + } + + /** + * Reads a signed char. + * @param resource file handle + * @return int + * @access public + */ + private static function _readInt1($fh) + { + list(, $tmp) = unpack("c", fread($fh, 1)); + return $tmp; + } + + /** + * Reads an unsigned short (2 octets). + * @param resource file handle + * @return int + * @access public + */ + private static function _readInt2($fh) + { + list(, $tmp) = unpack("v", fread($fh, 2)); + return $tmp; + } + + /** + * Reads an unsigned long (4 octets). + * @param resource file handle + * @return int + * @access public + */ + private static function _readInt4($fh) + { + list(, $tmp) = unpack("V", fread($fh, 4)); + return $tmp; + } + + /** + * Gets information about all PPS's on the OLE container from the PPS WK's + * creates an OLE_PPS object for each one. + * + * @access public + * @param integer the block id of the first block + * @return mixed true on success, PEAR_Error on failure + */ + public function _readPpsWks($blockId) + { + $fh = $this->getStream($blockId); + for ($pos = 0; ; $pos += 128) { + fseek($fh, $pos, SEEK_SET); + $nameUtf16 = fread($fh, 64); + $nameLength = self::_readInt2($fh); + $nameUtf16 = substr($nameUtf16, 0, $nameLength - 2); + // Simple conversion from UTF-16LE to ISO-8859-1 + $name = str_replace("\x00", "", $nameUtf16); + $type = self::_readInt1($fh); + switch ($type) { + case self::OLE_PPS_TYPE_ROOT: + $pps = new PHPExcel_Shared_OLE_PPS_Root(null, null, array()); + $this->root = $pps; + break; + case self::OLE_PPS_TYPE_DIR: + $pps = new PHPExcel_Shared_OLE_PPS(null, null, null, null, null, + null, null, null, null, array()); + break; + case self::OLE_PPS_TYPE_FILE: + $pps = new PHPExcel_Shared_OLE_PPS_File($name); + break; + default: + continue; + } + fseek($fh, 1, SEEK_CUR); + $pps->Type = $type; + $pps->Name = $name; + $pps->PrevPps = self::_readInt4($fh); + $pps->NextPps = self::_readInt4($fh); + $pps->DirPps = self::_readInt4($fh); + fseek($fh, 20, SEEK_CUR); + $pps->Time1st = self::OLE2LocalDate(fread($fh, 8)); + $pps->Time2nd = self::OLE2LocalDate(fread($fh, 8)); + $pps->_StartBlock = self::_readInt4($fh); + $pps->Size = self::_readInt4($fh); + $pps->No = count($this->_list); + $this->_list[] = $pps; + + // check if the PPS tree (starting from root) is complete + if (isset($this->root) && + $this->_ppsTreeComplete($this->root->No)) { + + break; + } + } + fclose($fh); + + // Initialize $pps->children on directories + foreach ($this->_list as $pps) { + if ($pps->Type == self::OLE_PPS_TYPE_DIR || $pps->Type == self::OLE_PPS_TYPE_ROOT) { + $nos = array($pps->DirPps); + $pps->children = array(); + while ($nos) { + $no = array_pop($nos); + if ($no != -1) { + $childPps = $this->_list[$no]; + $nos[] = $childPps->PrevPps; + $nos[] = $childPps->NextPps; + $pps->children[] = $childPps; + } + } + } + } + + return true; + } + + /** + * It checks whether the PPS tree is complete (all PPS's read) + * starting with the given PPS (not necessarily root) + * + * @access public + * @param integer $index The index of the PPS from which we are checking + * @return boolean Whether the PPS tree for the given PPS is complete + */ + public function _ppsTreeComplete($index) + { + return isset($this->_list[$index]) && + ($pps = $this->_list[$index]) && + ($pps->PrevPps == -1 || + $this->_ppsTreeComplete($pps->PrevPps)) && + ($pps->NextPps == -1 || + $this->_ppsTreeComplete($pps->NextPps)) && + ($pps->DirPps == -1 || + $this->_ppsTreeComplete($pps->DirPps)); + } + + /** + * Checks whether a PPS is a File PPS or not. + * If there is no PPS for the index given, it will return false. + * + * @access public + * @param integer $index The index for the PPS + * @return bool true if it's a File PPS, false otherwise + */ + public function isFile($index) + { + if (isset($this->_list[$index])) { + return ($this->_list[$index]->Type == self::OLE_PPS_TYPE_FILE); + } + return false; + } + + /** + * Checks whether a PPS is a Root PPS or not. + * If there is no PPS for the index given, it will return false. + * + * @access public + * @param integer $index The index for the PPS. + * @return bool true if it's a Root PPS, false otherwise + */ + public function isRoot($index) + { + if (isset($this->_list[$index])) { + return ($this->_list[$index]->Type == self::OLE_PPS_TYPE_ROOT); + } + return false; + } + + /** + * Gives the total number of PPS's found in the OLE container. + * + * @access public + * @return integer The total number of PPS's found in the OLE container + */ + public function ppsTotal() + { + return count($this->_list); + } + + /** + * Gets data from a PPS + * If there is no PPS for the index given, it will return an empty string. + * + * @access public + * @param integer $index The index for the PPS + * @param integer $position The position from which to start reading + * (relative to the PPS) + * @param integer $length The amount of bytes to read (at most) + * @return string The binary string containing the data requested + * @see OLE_PPS_File::getStream() + */ + public function getData($index, $position, $length) + { + // if position is not valid return empty string + if (!isset($this->_list[$index]) || ($position >= $this->_list[$index]->Size) || ($position < 0)) { + return ''; + } + $fh = $this->getStream($this->_list[$index]); + $data = stream_get_contents($fh, $length, $position); + fclose($fh); + return $data; + } + + /** + * Gets the data length from a PPS + * If there is no PPS for the index given, it will return 0. + * + * @access public + * @param integer $index The index for the PPS + * @return integer The amount of bytes in data the PPS has + */ + public function getDataLength($index) + { + if (isset($this->_list[$index])) { + return $this->_list[$index]->Size; + } + return 0; + } + + /** + * Utility function to transform ASCII text to Unicode + * + * @access public + * @static + * @param string $ascii The ASCII string to transform + * @return string The string in Unicode + */ + public static function Asc2Ucs($ascii) + { + $rawname = ''; + for ($i = 0; $i < strlen($ascii); ++$i) { + $rawname .= $ascii{$i} . "\x00"; + } + return $rawname; + } + + /** + * Utility function + * Returns a string for the OLE container with the date given + * + * @access public + * @static + * @param integer $date A timestamp + * @return string The string for the OLE container + */ + public static function LocalDate2OLE($date = null) + { + if (!isset($date)) { + return "\x00\x00\x00\x00\x00\x00\x00\x00"; + } + + // factor used for separating numbers into 4 bytes parts + $factor = pow(2, 32); + + // days from 1-1-1601 until the beggining of UNIX era + $days = 134774; + // calculate seconds + $big_date = $days*24*3600 + gmmktime(date("H",$date),date("i",$date),date("s",$date), + date("m",$date),date("d",$date),date("Y",$date)); + // multiply just to make MS happy + $big_date *= 10000000; + + $high_part = floor($big_date / $factor); + // lower 4 bytes + $low_part = floor((($big_date / $factor) - $high_part) * $factor); + + // Make HEX string + $res = ''; + + for ($i = 0; $i < 4; ++$i) { + $hex = $low_part % 0x100; + $res .= pack('c', $hex); + $low_part /= 0x100; + } + for ($i = 0; $i < 4; ++$i) { + $hex = $high_part % 0x100; + $res .= pack('c', $hex); + $high_part /= 0x100; + } + return $res; + } + + /** + * Returns a timestamp from an OLE container's date + * + * @access public + * @static + * @param integer $string A binary string with the encoded date + * @return string The timestamp corresponding to the string + */ + public static function OLE2LocalDate($string) + { + if (strlen($string) != 8) { + return new PEAR_Error("Expecting 8 byte string"); + } + + // factor used for separating numbers into 4 bytes parts + $factor = pow(2,32); + list(, $high_part) = unpack('V', substr($string, 4, 4)); + list(, $low_part) = unpack('V', substr($string, 0, 4)); + + $big_date = ($high_part * $factor) + $low_part; + // translate to seconds + $big_date /= 10000000; + + // days from 1-1-1601 until the beggining of UNIX era + $days = 134774; + + // translate to seconds from beggining of UNIX era + $big_date -= $days * 24 * 3600; + return floor($big_date); + } +} diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/OLE/ChainedBlockStream.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/OLE/ChainedBlockStream.php new file mode 100644 index 00000000..0736fc23 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/OLE/ChainedBlockStream.php @@ -0,0 +1,222 @@ +<?php +/** + * PHPExcel + * + * Copyright (C) 2006 - 2014 PHPExcel + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * @category PHPExcel + * @package PHPExcel_Shared_OLE + * @copyright Copyright (c) 2006 - 2007 Christian Schmidt + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @version ##VERSION##, ##DATE## + */ + +/** + * PHPExcel_Shared_OLE_ChainedBlockStream + * + * Stream wrapper for reading data stored in an OLE file. Implements methods + * for PHP's stream_wrapper_register(). For creating streams using this + * wrapper, use PHPExcel_Shared_OLE_PPS_File::getStream(). + * + * @category PHPExcel + * @package PHPExcel_Shared_OLE + */ +class PHPExcel_Shared_OLE_ChainedBlockStream +{ + /** + * The OLE container of the file that is being read. + * @var OLE + */ + public $ole; + + /** + * Parameters specified by fopen(). + * @var array + */ + public $params; + + /** + * The binary data of the file. + * @var string + */ + public $data; + + /** + * The file pointer. + * @var int byte offset + */ + public $pos; + + /** + * Implements support for fopen(). + * For creating streams using this wrapper, use OLE_PPS_File::getStream(). + * + * @param string $path resource name including scheme, e.g. + * ole-chainedblockstream://oleInstanceId=1 + * @param string $mode only "r" is supported + * @param int $options mask of STREAM_REPORT_ERRORS and STREAM_USE_PATH + * @param string &$openedPath absolute path of the opened stream (out parameter) + * @return bool true on success + */ + public function stream_open($path, $mode, $options, &$openedPath) + { + if ($mode != 'r') { + if ($options & STREAM_REPORT_ERRORS) { + trigger_error('Only reading is supported', E_USER_WARNING); + } + return false; + } + + // 25 is length of "ole-chainedblockstream://" + parse_str(substr($path, 25), $this->params); + if (!isset($this->params['oleInstanceId'], + $this->params['blockId'], + $GLOBALS['_OLE_INSTANCES'][$this->params['oleInstanceId']])) { + + if ($options & STREAM_REPORT_ERRORS) { + trigger_error('OLE stream not found', E_USER_WARNING); + } + return false; + } + $this->ole = $GLOBALS['_OLE_INSTANCES'][$this->params['oleInstanceId']]; + + $blockId = $this->params['blockId']; + $this->data = ''; + if (isset($this->params['size']) && + $this->params['size'] < $this->ole->bigBlockThreshold && + $blockId != $this->ole->root->_StartBlock) { + + // Block id refers to small blocks + $rootPos = $this->ole->_getBlockOffset($this->ole->root->_StartBlock); + while ($blockId != -2) { + $pos = $rootPos + $blockId * $this->ole->bigBlockSize; + $blockId = $this->ole->sbat[$blockId]; + fseek($this->ole->_file_handle, $pos); + $this->data .= fread($this->ole->_file_handle, $this->ole->bigBlockSize); + } + } else { + // Block id refers to big blocks + while ($blockId != -2) { + $pos = $this->ole->_getBlockOffset($blockId); + fseek($this->ole->_file_handle, $pos); + $this->data .= fread($this->ole->_file_handle, $this->ole->bigBlockSize); + $blockId = $this->ole->bbat[$blockId]; + } + } + if (isset($this->params['size'])) { + $this->data = substr($this->data, 0, $this->params['size']); + } + + if ($options & STREAM_USE_PATH) { + $openedPath = $path; + } + + return true; + } + + /** + * Implements support for fclose(). + * + */ + public function stream_close() + { + $this->ole = null; + unset($GLOBALS['_OLE_INSTANCES']); + } + + /** + * Implements support for fread(), fgets() etc. + * + * @param int $count maximum number of bytes to read + * @return string + */ + public function stream_read($count) + { + if ($this->stream_eof()) { + return false; + } + $s = substr($this->data, $this->pos, $count); + $this->pos += $count; + return $s; + } + + /** + * Implements support for feof(). + * + * @return bool TRUE if the file pointer is at EOF; otherwise FALSE + */ + public function stream_eof() + { + return $this->pos >= strlen($this->data); + } + + /** + * Returns the position of the file pointer, i.e. its offset into the file + * stream. Implements support for ftell(). + * + * @return int + */ + public function stream_tell() + { + return $this->pos; + } + + /** + * Implements support for fseek(). + * + * @param int $offset byte offset + * @param int $whence SEEK_SET, SEEK_CUR or SEEK_END + * @return bool + */ + public function stream_seek($offset, $whence) + { + if ($whence == SEEK_SET && $offset >= 0) { + $this->pos = $offset; + } elseif ($whence == SEEK_CUR && -$offset <= $this->pos) { + $this->pos += $offset; + } elseif ($whence == SEEK_END && -$offset <= sizeof($this->data)) { + $this->pos = strlen($this->data) + $offset; + } else { + return false; + } + return true; + } + + /** + * Implements support for fstat(). Currently the only supported field is + * "size". + * @return array + */ + public function stream_stat() + { + return array( + 'size' => strlen($this->data), + ); + } + + // Methods used by stream_wrapper_register() that are not implemented: + // bool stream_flush ( void ) + // int stream_write ( string data ) + // bool rename ( string path_from, string path_to ) + // bool mkdir ( string path, int mode, int options ) + // bool rmdir ( string path, int options ) + // bool dir_opendir ( string path, int options ) + // array url_stat ( string path, int flags ) + // string dir_readdir ( void ) + // bool dir_rewinddir ( void ) + // bool dir_closedir ( void ) +} diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/OLE/PPS.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/OLE/PPS.php new file mode 100644 index 00000000..4db0ae4e --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/OLE/PPS.php @@ -0,0 +1,230 @@ +<?php +/* vim: set expandtab tabstop=4 shiftwidth=4: */ +// +----------------------------------------------------------------------+ +// | PHP Version 4 | +// +----------------------------------------------------------------------+ +// | Copyright (c) 1997-2002 The PHP Group | +// +----------------------------------------------------------------------+ +// | This source file is subject to version 2.02 of the PHP license, | +// | that is bundled with this package in the file LICENSE, and is | +// | available at through the world-wide-web at | +// | http://www.php.net/license/2_02.txt. | +// | If you did not receive a copy of the PHP license and are unable to | +// | obtain it through the world-wide-web, please send a note to | +// | license@php.net so we can mail you a copy immediately. | +// +----------------------------------------------------------------------+ +// | Author: Xavier Noguer <xnoguer@php.net> | +// | Based on OLE::Storage_Lite by Kawai, Takanori | +// +----------------------------------------------------------------------+ +// +// $Id: PPS.php,v 1.7 2007/02/13 21:00:42 schmidt Exp $ + + +/** +* Class for creating PPS's for OLE containers +* +* @author Xavier Noguer <xnoguer@php.net> +* @category PHPExcel +* @package PHPExcel_Shared_OLE +*/ +class PHPExcel_Shared_OLE_PPS +{ + /** + * The PPS index + * @var integer + */ + public $No; + + /** + * The PPS name (in Unicode) + * @var string + */ + public $Name; + + /** + * The PPS type. Dir, Root or File + * @var integer + */ + public $Type; + + /** + * The index of the previous PPS + * @var integer + */ + public $PrevPps; + + /** + * The index of the next PPS + * @var integer + */ + public $NextPps; + + /** + * The index of it's first child if this is a Dir or Root PPS + * @var integer + */ + public $DirPps; + + /** + * A timestamp + * @var integer + */ + public $Time1st; + + /** + * A timestamp + * @var integer + */ + public $Time2nd; + + /** + * Starting block (small or big) for this PPS's data inside the container + * @var integer + */ + public $_StartBlock; + + /** + * The size of the PPS's data (in bytes) + * @var integer + */ + public $Size; + + /** + * The PPS's data (only used if it's not using a temporary file) + * @var string + */ + public $_data; + + /** + * Array of child PPS's (only used by Root and Dir PPS's) + * @var array + */ + public $children = array(); + + /** + * Pointer to OLE container + * @var OLE + */ + public $ole; + + /** + * The constructor + * + * @access public + * @param integer $No The PPS index + * @param string $name The PPS name + * @param integer $type The PPS type. Dir, Root or File + * @param integer $prev The index of the previous PPS + * @param integer $next The index of the next PPS + * @param integer $dir The index of it's first child if this is a Dir or Root PPS + * @param integer $time_1st A timestamp + * @param integer $time_2nd A timestamp + * @param string $data The (usually binary) source data of the PPS + * @param array $children Array containing children PPS for this PPS + */ + public function __construct($No, $name, $type, $prev, $next, $dir, $time_1st, $time_2nd, $data, $children) + { + $this->No = $No; + $this->Name = $name; + $this->Type = $type; + $this->PrevPps = $prev; + $this->NextPps = $next; + $this->DirPps = $dir; + $this->Time1st = $time_1st; + $this->Time2nd = $time_2nd; + $this->_data = $data; + $this->children = $children; + if ($data != '') { + $this->Size = strlen($data); + } else { + $this->Size = 0; + } + } + + /** + * Returns the amount of data saved for this PPS + * + * @access public + * @return integer The amount of data (in bytes) + */ + public function _DataLen() + { + if (!isset($this->_data)) { + return 0; + } + //if (isset($this->_PPS_FILE)) { + // fseek($this->_PPS_FILE, 0); + // $stats = fstat($this->_PPS_FILE); + // return $stats[7]; + //} else { + return strlen($this->_data); + //} + } + + /** + * Returns a string with the PPS's WK (What is a WK?) + * + * @access public + * @return string The binary string + */ + public function _getPpsWk() + { + $ret = str_pad($this->Name,64,"\x00"); + + $ret .= pack("v", strlen($this->Name) + 2) // 66 + . pack("c", $this->Type) // 67 + . pack("c", 0x00) //UK // 68 + . pack("V", $this->PrevPps) //Prev // 72 + . pack("V", $this->NextPps) //Next // 76 + . pack("V", $this->DirPps) //Dir // 80 + . "\x00\x09\x02\x00" // 84 + . "\x00\x00\x00\x00" // 88 + . "\xc0\x00\x00\x00" // 92 + . "\x00\x00\x00\x46" // 96 // Seems to be ok only for Root + . "\x00\x00\x00\x00" // 100 + . PHPExcel_Shared_OLE::LocalDate2OLE($this->Time1st) // 108 + . PHPExcel_Shared_OLE::LocalDate2OLE($this->Time2nd) // 116 + . pack("V", isset($this->_StartBlock)? + $this->_StartBlock:0) // 120 + . pack("V", $this->Size) // 124 + . pack("V", 0); // 128 + return $ret; + } + + /** + * Updates index and pointers to previous, next and children PPS's for this + * PPS. I don't think it'll work with Dir PPS's. + * + * @access public + * @param array &$raList Reference to the array of PPS's for the whole OLE + * container + * @return integer The index for this PPS + */ + public static function _savePpsSetPnt(&$raList, $to_save, $depth = 0) + { + if ( !is_array($to_save) || (empty($to_save)) ) { + return 0xFFFFFFFF; + } elseif( count($to_save) == 1 ) { + $cnt = count($raList); + // If the first entry, it's the root... Don't clone it! + $raList[$cnt] = ( $depth == 0 ) ? $to_save[0] : clone $to_save[0]; + $raList[$cnt]->No = $cnt; + $raList[$cnt]->PrevPps = 0xFFFFFFFF; + $raList[$cnt]->NextPps = 0xFFFFFFFF; + $raList[$cnt]->DirPps = self::_savePpsSetPnt($raList, @$raList[$cnt]->children, $depth++); + } else { + $iPos = floor(count($to_save) / 2); + $aPrev = array_slice($to_save, 0, $iPos); + $aNext = array_slice($to_save, $iPos + 1); + $cnt = count($raList); + // If the first entry, it's the root... Don't clone it! + $raList[$cnt] = ( $depth == 0 ) ? $to_save[$iPos] : clone $to_save[$iPos]; + $raList[$cnt]->No = $cnt; + $raList[$cnt]->PrevPps = self::_savePpsSetPnt($raList, $aPrev, $depth++); + $raList[$cnt]->NextPps = self::_savePpsSetPnt($raList, $aNext, $depth++); + $raList[$cnt]->DirPps = self::_savePpsSetPnt($raList, @$raList[$cnt]->children, $depth++); + + } + return $cnt; + } +} diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/OLE/PPS/File.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/OLE/PPS/File.php new file mode 100644 index 00000000..f061f568 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/OLE/PPS/File.php @@ -0,0 +1,84 @@ +<?php +/* vim: set expandtab tabstop=4 shiftwidth=4: */ +// +----------------------------------------------------------------------+ +// | PHP Version 4 | +// +----------------------------------------------------------------------+ +// | Copyright (c) 1997-2002 The PHP Group | +// +----------------------------------------------------------------------+ +// | This source file is subject to version 2.02 of the PHP license, | +// | that is bundled with this package in the file LICENSE, and is | +// | available at through the world-wide-web at | +// | http://www.php.net/license/2_02.txt. | +// | If you did not receive a copy of the PHP license and are unable to | +// | obtain it through the world-wide-web, please send a note to | +// | license@php.net so we can mail you a copy immediately. | +// +----------------------------------------------------------------------+ +// | Author: Xavier Noguer <xnoguer@php.net> | +// | Based on OLE::Storage_Lite by Kawai, Takanori | +// +----------------------------------------------------------------------+ +// +// $Id: File.php,v 1.11 2007/02/13 21:00:42 schmidt Exp $ + + +/** +* Class for creating File PPS's for OLE containers +* +* @author Xavier Noguer <xnoguer@php.net> +* @category PHPExcel +* @package PHPExcel_Shared_OLE +*/ +class PHPExcel_Shared_OLE_PPS_File extends PHPExcel_Shared_OLE_PPS + { + /** + * The constructor + * + * @access public + * @param string $name The name of the file (in Unicode) + * @see OLE::Asc2Ucs() + */ + public function __construct($name) + { + parent::__construct( + null, + $name, + PHPExcel_Shared_OLE::OLE_PPS_TYPE_FILE, + null, + null, + null, + null, + null, + '', + array()); + } + + /** + * Initialization method. Has to be called right after OLE_PPS_File(). + * + * @access public + * @return mixed true on success + */ + public function init() + { + return true; + } + + /** + * Append data to PPS + * + * @access public + * @param string $data The data to append + */ + public function append($data) + { + $this->_data .= $data; + } + + /** + * Returns a stream for reading this file using fread() etc. + * @return resource a read-only stream + */ + public function getStream() + { + $this->ole->getStream($this); + } +} diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/OLE/PPS/Root.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/OLE/PPS/Root.php new file mode 100644 index 00000000..eb929d20 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/OLE/PPS/Root.php @@ -0,0 +1,467 @@ +<?php +/* vim: set expandtab tabstop=4 shiftwidth=4: */ +// +----------------------------------------------------------------------+ +// | PHP Version 4 | +// +----------------------------------------------------------------------+ +// | Copyright (c) 1997-2002 The PHP Group | +// +----------------------------------------------------------------------+ +// | This source file is subject to version 2.02 of the PHP license, | +// | that is bundled with this package in the file LICENSE, and is | +// | available at through the world-wide-web at | +// | http://www.php.net/license/2_02.txt. | +// | If you did not receive a copy of the PHP license and are unable to | +// | obtain it through the world-wide-web, please send a note to | +// | license@php.net so we can mail you a copy immediately. | +// +----------------------------------------------------------------------+ +// | Author: Xavier Noguer <xnoguer@php.net> | +// | Based on OLE::Storage_Lite by Kawai, Takanori | +// +----------------------------------------------------------------------+ +// +// $Id: Root.php,v 1.9 2005/04/23 21:53:49 dufuz Exp $ + + +/** +* Class for creating Root PPS's for OLE containers +* +* @author Xavier Noguer <xnoguer@php.net> +* @category PHPExcel +* @package PHPExcel_Shared_OLE +*/ +class PHPExcel_Shared_OLE_PPS_Root extends PHPExcel_Shared_OLE_PPS + { + + /** + * Directory for temporary files + * @var string + */ + protected $_tmp_dir = NULL; + + /** + * @param integer $time_1st A timestamp + * @param integer $time_2nd A timestamp + */ + public function __construct($time_1st, $time_2nd, $raChild) + { + $this->_tempDir = PHPExcel_Shared_File::sys_get_temp_dir(); + + parent::__construct( + null, + PHPExcel_Shared_OLE::Asc2Ucs('Root Entry'), + PHPExcel_Shared_OLE::OLE_PPS_TYPE_ROOT, + null, + null, + null, + $time_1st, + $time_2nd, + null, + $raChild); + } + + /** + * Method for saving the whole OLE container (including files). + * In fact, if called with an empty argument (or '-'), it saves to a + * temporary file and then outputs it's contents to stdout. + * If a resource pointer to a stream created by fopen() is passed + * it will be used, but you have to close such stream by yourself. + * + * @param string|resource $filename The name of the file or stream where to save the OLE container. + * @access public + * @return mixed true on success + */ + public function save($filename) + { + // Initial Setting for saving + $this->_BIG_BLOCK_SIZE = pow(2, + ((isset($this->_BIG_BLOCK_SIZE))? self::_adjust2($this->_BIG_BLOCK_SIZE) : 9)); + $this->_SMALL_BLOCK_SIZE= pow(2, + ((isset($this->_SMALL_BLOCK_SIZE))? self::_adjust2($this->_SMALL_BLOCK_SIZE): 6)); + + if (is_resource($filename)) { + $this->_FILEH_ = $filename; + } else if ($filename == '-' || $filename == '') { + if ($this->_tmp_dir === NULL) + $this->_tmp_dir = PHPExcel_Shared_File::sys_get_temp_dir(); + $this->_tmp_filename = tempnam($this->_tmp_dir, "OLE_PPS_Root"); + $this->_FILEH_ = fopen($this->_tmp_filename,"w+b"); + if ($this->_FILEH_ == false) { + throw new PHPExcel_Writer_Exception("Can't create temporary file."); + } + } else { + $this->_FILEH_ = fopen($filename, "wb"); + } + if ($this->_FILEH_ == false) { + throw new PHPExcel_Writer_Exception("Can't open $filename. It may be in use or protected."); + } + // Make an array of PPS's (for Save) + $aList = array(); + PHPExcel_Shared_OLE_PPS::_savePpsSetPnt($aList, array($this)); + // calculate values for header + list($iSBDcnt, $iBBcnt, $iPPScnt) = $this->_calcSize($aList); //, $rhInfo); + // Save Header + $this->_saveHeader($iSBDcnt, $iBBcnt, $iPPScnt); + + // Make Small Data string (write SBD) + $this->_data = $this->_makeSmallData($aList); + + // Write BB + $this->_saveBigData($iSBDcnt, $aList); + // Write PPS + $this->_savePps($aList); + // Write Big Block Depot and BDList and Adding Header informations + $this->_saveBbd($iSBDcnt, $iBBcnt, $iPPScnt); + + if (!is_resource($filename)) { + fclose($this->_FILEH_); + } + + return true; + } + + /** + * Calculate some numbers + * + * @access public + * @param array $raList Reference to an array of PPS's + * @return array The array of numbers + */ + public function _calcSize(&$raList) + { + // Calculate Basic Setting + list($iSBDcnt, $iBBcnt, $iPPScnt) = array(0,0,0); + $iSmallLen = 0; + $iSBcnt = 0; + $iCount = count($raList); + for ($i = 0; $i < $iCount; ++$i) { + if ($raList[$i]->Type == PHPExcel_Shared_OLE::OLE_PPS_TYPE_FILE) { + $raList[$i]->Size = $raList[$i]->_DataLen(); + if ($raList[$i]->Size < PHPExcel_Shared_OLE::OLE_DATA_SIZE_SMALL) { + $iSBcnt += floor($raList[$i]->Size / $this->_SMALL_BLOCK_SIZE) + + (($raList[$i]->Size % $this->_SMALL_BLOCK_SIZE)? 1: 0); + } else { + $iBBcnt += (floor($raList[$i]->Size / $this->_BIG_BLOCK_SIZE) + + (($raList[$i]->Size % $this->_BIG_BLOCK_SIZE)? 1: 0)); + } + } + } + $iSmallLen = $iSBcnt * $this->_SMALL_BLOCK_SIZE; + $iSlCnt = floor($this->_BIG_BLOCK_SIZE / PHPExcel_Shared_OLE::OLE_LONG_INT_SIZE); + $iSBDcnt = floor($iSBcnt / $iSlCnt) + (($iSBcnt % $iSlCnt)? 1:0); + $iBBcnt += (floor($iSmallLen / $this->_BIG_BLOCK_SIZE) + + (( $iSmallLen % $this->_BIG_BLOCK_SIZE)? 1: 0)); + $iCnt = count($raList); + $iBdCnt = $this->_BIG_BLOCK_SIZE / PHPExcel_Shared_OLE::OLE_PPS_SIZE; + $iPPScnt = (floor($iCnt/$iBdCnt) + (($iCnt % $iBdCnt)? 1: 0)); + + return array($iSBDcnt, $iBBcnt, $iPPScnt); + } + + /** + * Helper function for caculating a magic value for block sizes + * + * @access public + * @param integer $i2 The argument + * @see save() + * @return integer + */ + private static function _adjust2($i2) + { + $iWk = log($i2)/log(2); + return ($iWk > floor($iWk))? floor($iWk)+1:$iWk; + } + + /** + * Save OLE header + * + * @access public + * @param integer $iSBDcnt + * @param integer $iBBcnt + * @param integer $iPPScnt + */ + public function _saveHeader($iSBDcnt, $iBBcnt, $iPPScnt) + { + $FILE = $this->_FILEH_; + + // Calculate Basic Setting + $iBlCnt = $this->_BIG_BLOCK_SIZE / PHPExcel_Shared_OLE::OLE_LONG_INT_SIZE; + $i1stBdL = ($this->_BIG_BLOCK_SIZE - 0x4C) / PHPExcel_Shared_OLE::OLE_LONG_INT_SIZE; + + $iBdExL = 0; + $iAll = $iBBcnt + $iPPScnt + $iSBDcnt; + $iAllW = $iAll; + $iBdCntW = floor($iAllW / $iBlCnt) + (($iAllW % $iBlCnt)? 1: 0); + $iBdCnt = floor(($iAll + $iBdCntW) / $iBlCnt) + ((($iAllW+$iBdCntW) % $iBlCnt)? 1: 0); + + // Calculate BD count + if ($iBdCnt > $i1stBdL) { + while (1) { + ++$iBdExL; + ++$iAllW; + $iBdCntW = floor($iAllW / $iBlCnt) + (($iAllW % $iBlCnt)? 1: 0); + $iBdCnt = floor(($iAllW + $iBdCntW) / $iBlCnt) + ((($iAllW+$iBdCntW) % $iBlCnt)? 1: 0); + if ($iBdCnt <= ($iBdExL*$iBlCnt+ $i1stBdL)) { + break; + } + } + } + + // Save Header + fwrite($FILE, + "\xD0\xCF\x11\xE0\xA1\xB1\x1A\xE1" + . "\x00\x00\x00\x00" + . "\x00\x00\x00\x00" + . "\x00\x00\x00\x00" + . "\x00\x00\x00\x00" + . pack("v", 0x3b) + . pack("v", 0x03) + . pack("v", -2) + . pack("v", 9) + . pack("v", 6) + . pack("v", 0) + . "\x00\x00\x00\x00" + . "\x00\x00\x00\x00" + . pack("V", $iBdCnt) + . pack("V", $iBBcnt+$iSBDcnt) //ROOT START + . pack("V", 0) + . pack("V", 0x1000) + . pack("V", $iSBDcnt ? 0 : -2) //Small Block Depot + . pack("V", $iSBDcnt) + ); + // Extra BDList Start, Count + if ($iBdCnt < $i1stBdL) { + fwrite($FILE, + pack("V", -2) // Extra BDList Start + . pack("V", 0) // Extra BDList Count + ); + } else { + fwrite($FILE, pack("V", $iAll+$iBdCnt) . pack("V", $iBdExL)); + } + + // BDList + for ($i = 0; $i < $i1stBdL && $i < $iBdCnt; ++$i) { + fwrite($FILE, pack("V", $iAll+$i)); + } + if ($i < $i1stBdL) { + $jB = $i1stBdL - $i; + for ($j = 0; $j < $jB; ++$j) { + fwrite($FILE, (pack("V", -1))); + } + } + } + + /** + * Saving big data (PPS's with data bigger than PHPExcel_Shared_OLE::OLE_DATA_SIZE_SMALL) + * + * @access public + * @param integer $iStBlk + * @param array &$raList Reference to array of PPS's + */ + public function _saveBigData($iStBlk, &$raList) + { + $FILE = $this->_FILEH_; + + // cycle through PPS's + $iCount = count($raList); + for ($i = 0; $i < $iCount; ++$i) { + if ($raList[$i]->Type != PHPExcel_Shared_OLE::OLE_PPS_TYPE_DIR) { + $raList[$i]->Size = $raList[$i]->_DataLen(); + if (($raList[$i]->Size >= PHPExcel_Shared_OLE::OLE_DATA_SIZE_SMALL) || + (($raList[$i]->Type == PHPExcel_Shared_OLE::OLE_PPS_TYPE_ROOT) && isset($raList[$i]->_data))) + { + // Write Data + //if (isset($raList[$i]->_PPS_FILE)) { + // $iLen = 0; + // fseek($raList[$i]->_PPS_FILE, 0); // To The Top + // while($sBuff = fread($raList[$i]->_PPS_FILE, 4096)) { + // $iLen += strlen($sBuff); + // fwrite($FILE, $sBuff); + // } + //} else { + fwrite($FILE, $raList[$i]->_data); + //} + + if ($raList[$i]->Size % $this->_BIG_BLOCK_SIZE) { + fwrite($FILE, str_repeat("\x00", $this->_BIG_BLOCK_SIZE - ($raList[$i]->Size % $this->_BIG_BLOCK_SIZE))); + } + // Set For PPS + $raList[$i]->_StartBlock = $iStBlk; + $iStBlk += + (floor($raList[$i]->Size / $this->_BIG_BLOCK_SIZE) + + (($raList[$i]->Size % $this->_BIG_BLOCK_SIZE)? 1: 0)); + } + // Close file for each PPS, and unlink it + //if (isset($raList[$i]->_PPS_FILE)) { + // fclose($raList[$i]->_PPS_FILE); + // $raList[$i]->_PPS_FILE = null; + // unlink($raList[$i]->_tmp_filename); + //} + } + } + } + + /** + * get small data (PPS's with data smaller than PHPExcel_Shared_OLE::OLE_DATA_SIZE_SMALL) + * + * @access public + * @param array &$raList Reference to array of PPS's + */ + public function _makeSmallData(&$raList) + { + $sRes = ''; + $FILE = $this->_FILEH_; + $iSmBlk = 0; + + $iCount = count($raList); + for ($i = 0; $i < $iCount; ++$i) { + // Make SBD, small data string + if ($raList[$i]->Type == PHPExcel_Shared_OLE::OLE_PPS_TYPE_FILE) { + if ($raList[$i]->Size <= 0) { + continue; + } + if ($raList[$i]->Size < PHPExcel_Shared_OLE::OLE_DATA_SIZE_SMALL) { + $iSmbCnt = floor($raList[$i]->Size / $this->_SMALL_BLOCK_SIZE) + + (($raList[$i]->Size % $this->_SMALL_BLOCK_SIZE)? 1: 0); + // Add to SBD + $jB = $iSmbCnt - 1; + for ($j = 0; $j < $jB; ++$j) { + fwrite($FILE, pack("V", $j+$iSmBlk+1)); + } + fwrite($FILE, pack("V", -2)); + + //// Add to Data String(this will be written for RootEntry) + //if ($raList[$i]->_PPS_FILE) { + // fseek($raList[$i]->_PPS_FILE, 0); // To The Top + // while ($sBuff = fread($raList[$i]->_PPS_FILE, 4096)) { + // $sRes .= $sBuff; + // } + //} else { + $sRes .= $raList[$i]->_data; + //} + if ($raList[$i]->Size % $this->_SMALL_BLOCK_SIZE) { + $sRes .= str_repeat("\x00",$this->_SMALL_BLOCK_SIZE - ($raList[$i]->Size % $this->_SMALL_BLOCK_SIZE)); + } + // Set for PPS + $raList[$i]->_StartBlock = $iSmBlk; + $iSmBlk += $iSmbCnt; + } + } + } + $iSbCnt = floor($this->_BIG_BLOCK_SIZE / PHPExcel_Shared_OLE::OLE_LONG_INT_SIZE); + if ($iSmBlk % $iSbCnt) { + $iB = $iSbCnt - ($iSmBlk % $iSbCnt); + for ($i = 0; $i < $iB; ++$i) { + fwrite($FILE, pack("V", -1)); + } + } + return $sRes; + } + + /** + * Saves all the PPS's WKs + * + * @access public + * @param array $raList Reference to an array with all PPS's + */ + public function _savePps(&$raList) + { + // Save each PPS WK + $iC = count($raList); + for ($i = 0; $i < $iC; ++$i) { + fwrite($this->_FILEH_, $raList[$i]->_getPpsWk()); + } + // Adjust for Block + $iCnt = count($raList); + $iBCnt = $this->_BIG_BLOCK_SIZE / PHPExcel_Shared_OLE::OLE_PPS_SIZE; + if ($iCnt % $iBCnt) { + fwrite($this->_FILEH_, str_repeat("\x00",($iBCnt - ($iCnt % $iBCnt)) * PHPExcel_Shared_OLE::OLE_PPS_SIZE)); + } + } + + /** + * Saving Big Block Depot + * + * @access public + * @param integer $iSbdSize + * @param integer $iBsize + * @param integer $iPpsCnt + */ + public function _saveBbd($iSbdSize, $iBsize, $iPpsCnt) + { + $FILE = $this->_FILEH_; + // Calculate Basic Setting + $iBbCnt = $this->_BIG_BLOCK_SIZE / PHPExcel_Shared_OLE::OLE_LONG_INT_SIZE; + $i1stBdL = ($this->_BIG_BLOCK_SIZE - 0x4C) / PHPExcel_Shared_OLE::OLE_LONG_INT_SIZE; + + $iBdExL = 0; + $iAll = $iBsize + $iPpsCnt + $iSbdSize; + $iAllW = $iAll; + $iBdCntW = floor($iAllW / $iBbCnt) + (($iAllW % $iBbCnt)? 1: 0); + $iBdCnt = floor(($iAll + $iBdCntW) / $iBbCnt) + ((($iAllW+$iBdCntW) % $iBbCnt)? 1: 0); + // Calculate BD count + if ($iBdCnt >$i1stBdL) { + while (1) { + ++$iBdExL; + ++$iAllW; + $iBdCntW = floor($iAllW / $iBbCnt) + (($iAllW % $iBbCnt)? 1: 0); + $iBdCnt = floor(($iAllW + $iBdCntW) / $iBbCnt) + ((($iAllW+$iBdCntW) % $iBbCnt)? 1: 0); + if ($iBdCnt <= ($iBdExL*$iBbCnt+ $i1stBdL)) { + break; + } + } + } + + // Making BD + // Set for SBD + if ($iSbdSize > 0) { + for ($i = 0; $i < ($iSbdSize - 1); ++$i) { + fwrite($FILE, pack("V", $i+1)); + } + fwrite($FILE, pack("V", -2)); + } + // Set for B + for ($i = 0; $i < ($iBsize - 1); ++$i) { + fwrite($FILE, pack("V", $i+$iSbdSize+1)); + } + fwrite($FILE, pack("V", -2)); + + // Set for PPS + for ($i = 0; $i < ($iPpsCnt - 1); ++$i) { + fwrite($FILE, pack("V", $i+$iSbdSize+$iBsize+1)); + } + fwrite($FILE, pack("V", -2)); + // Set for BBD itself ( 0xFFFFFFFD : BBD) + for ($i = 0; $i < $iBdCnt; ++$i) { + fwrite($FILE, pack("V", 0xFFFFFFFD)); + } + // Set for ExtraBDList + for ($i = 0; $i < $iBdExL; ++$i) { + fwrite($FILE, pack("V", 0xFFFFFFFC)); + } + // Adjust for Block + if (($iAllW + $iBdCnt) % $iBbCnt) { + $iBlock = ($iBbCnt - (($iAllW + $iBdCnt) % $iBbCnt)); + for ($i = 0; $i < $iBlock; ++$i) { + fwrite($FILE, pack("V", -1)); + } + } + // Extra BDList + if ($iBdCnt > $i1stBdL) { + $iN=0; + $iNb=0; + for ($i = $i1stBdL;$i < $iBdCnt; $i++, ++$iN) { + if ($iN >= ($iBbCnt - 1)) { + $iN = 0; + ++$iNb; + fwrite($FILE, pack("V", $iAll+$iBdCnt+$iNb)); + } + fwrite($FILE, pack("V", $iBsize+$iSbdSize+$iPpsCnt+$i)); + } + if (($iBdCnt-$i1stBdL) % ($iBbCnt-1)) { + $iB = ($iBbCnt - 1) - (($iBdCnt - $i1stBdL) % ($iBbCnt - 1)); + for ($i = 0; $i < $iB; ++$i) { + fwrite($FILE, pack("V", -1)); + } + } + fwrite($FILE, pack("V", -2)); + } + } +} diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/OLERead.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/OLERead.php new file mode 100644 index 00000000..261bdde5 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/OLERead.php @@ -0,0 +1,317 @@ +<?php +/** + * PHPExcel + * + * Copyright (c) 2006 - 2014 PHPExcel + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * @category PHPExcel + * @package PHPExcel_Shared + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @version ##VERSION##, ##DATE## + */ + +defined('IDENTIFIER_OLE') || + define('IDENTIFIER_OLE', pack('CCCCCCCC', 0xd0, 0xcf, 0x11, 0xe0, 0xa1, 0xb1, 0x1a, 0xe1)); + +class PHPExcel_Shared_OLERead { + private $data = ''; + + // OLE identifier + const IDENTIFIER_OLE = IDENTIFIER_OLE; + + // Size of a sector = 512 bytes + const BIG_BLOCK_SIZE = 0x200; + + // Size of a short sector = 64 bytes + const SMALL_BLOCK_SIZE = 0x40; + + // Size of a directory entry always = 128 bytes + const PROPERTY_STORAGE_BLOCK_SIZE = 0x80; + + // Minimum size of a standard stream = 4096 bytes, streams smaller than this are stored as short streams + const SMALL_BLOCK_THRESHOLD = 0x1000; + + // header offsets + const NUM_BIG_BLOCK_DEPOT_BLOCKS_POS = 0x2c; + const ROOT_START_BLOCK_POS = 0x30; + const SMALL_BLOCK_DEPOT_BLOCK_POS = 0x3c; + const EXTENSION_BLOCK_POS = 0x44; + const NUM_EXTENSION_BLOCK_POS = 0x48; + const BIG_BLOCK_DEPOT_BLOCKS_POS = 0x4c; + + // property storage offsets (directory offsets) + const SIZE_OF_NAME_POS = 0x40; + const TYPE_POS = 0x42; + const START_BLOCK_POS = 0x74; + const SIZE_POS = 0x78; + + + + public $wrkbook = null; + public $summaryInformation = null; + public $documentSummaryInformation = null; + + + /** + * Read the file + * + * @param $sFileName string Filename + * @throws PHPExcel_Reader_Exception + */ + public function read($sFileName) + { + // Check if file exists and is readable + if(!is_readable($sFileName)) { + throw new PHPExcel_Reader_Exception("Could not open " . $sFileName . " for reading! File does not exist, or it is not readable."); + } + + // Get the file identifier + // Don't bother reading the whole file until we know it's a valid OLE file + $this->data = file_get_contents($sFileName, FALSE, NULL, 0, 8); + + // Check OLE identifier + if ($this->data != self::IDENTIFIER_OLE) { + throw new PHPExcel_Reader_Exception('The filename ' . $sFileName . ' is not recognised as an OLE file'); + } + + // Get the file data + $this->data = file_get_contents($sFileName); + + // Total number of sectors used for the SAT + $this->numBigBlockDepotBlocks = self::_GetInt4d($this->data, self::NUM_BIG_BLOCK_DEPOT_BLOCKS_POS); + + // SecID of the first sector of the directory stream + $this->rootStartBlock = self::_GetInt4d($this->data, self::ROOT_START_BLOCK_POS); + + // SecID of the first sector of the SSAT (or -2 if not extant) + $this->sbdStartBlock = self::_GetInt4d($this->data, self::SMALL_BLOCK_DEPOT_BLOCK_POS); + + // SecID of the first sector of the MSAT (or -2 if no additional sectors are used) + $this->extensionBlock = self::_GetInt4d($this->data, self::EXTENSION_BLOCK_POS); + + // Total number of sectors used by MSAT + $this->numExtensionBlocks = self::_GetInt4d($this->data, self::NUM_EXTENSION_BLOCK_POS); + + $bigBlockDepotBlocks = array(); + $pos = self::BIG_BLOCK_DEPOT_BLOCKS_POS; + + $bbdBlocks = $this->numBigBlockDepotBlocks; + + if ($this->numExtensionBlocks != 0) { + $bbdBlocks = (self::BIG_BLOCK_SIZE - self::BIG_BLOCK_DEPOT_BLOCKS_POS)/4; + } + + for ($i = 0; $i < $bbdBlocks; ++$i) { + $bigBlockDepotBlocks[$i] = self::_GetInt4d($this->data, $pos); + $pos += 4; + } + + for ($j = 0; $j < $this->numExtensionBlocks; ++$j) { + $pos = ($this->extensionBlock + 1) * self::BIG_BLOCK_SIZE; + $blocksToRead = min($this->numBigBlockDepotBlocks - $bbdBlocks, self::BIG_BLOCK_SIZE / 4 - 1); + + for ($i = $bbdBlocks; $i < $bbdBlocks + $blocksToRead; ++$i) { + $bigBlockDepotBlocks[$i] = self::_GetInt4d($this->data, $pos); + $pos += 4; + } + + $bbdBlocks += $blocksToRead; + if ($bbdBlocks < $this->numBigBlockDepotBlocks) { + $this->extensionBlock = self::_GetInt4d($this->data, $pos); + } + } + + $pos = 0; + $this->bigBlockChain = ''; + $bbs = self::BIG_BLOCK_SIZE / 4; + for ($i = 0; $i < $this->numBigBlockDepotBlocks; ++$i) { + $pos = ($bigBlockDepotBlocks[$i] + 1) * self::BIG_BLOCK_SIZE; + + $this->bigBlockChain .= substr($this->data, $pos, 4*$bbs); + $pos += 4*$bbs; + } + + $pos = 0; + $sbdBlock = $this->sbdStartBlock; + $this->smallBlockChain = ''; + while ($sbdBlock != -2) { + $pos = ($sbdBlock + 1) * self::BIG_BLOCK_SIZE; + + $this->smallBlockChain .= substr($this->data, $pos, 4*$bbs); + $pos += 4*$bbs; + + $sbdBlock = self::_GetInt4d($this->bigBlockChain, $sbdBlock*4); + } + + // read the directory stream + $block = $this->rootStartBlock; + $this->entry = $this->_readData($block); + + $this->_readPropertySets(); + } + + /** + * Extract binary stream data + * + * @return string + */ + public function getStream($stream) + { + if ($stream === NULL) { + return null; + } + + $streamData = ''; + + if ($this->props[$stream]['size'] < self::SMALL_BLOCK_THRESHOLD) { + $rootdata = $this->_readData($this->props[$this->rootentry]['startBlock']); + + $block = $this->props[$stream]['startBlock']; + + while ($block != -2) { + $pos = $block * self::SMALL_BLOCK_SIZE; + $streamData .= substr($rootdata, $pos, self::SMALL_BLOCK_SIZE); + + $block = self::_GetInt4d($this->smallBlockChain, $block*4); + } + + return $streamData; + } else { + $numBlocks = $this->props[$stream]['size'] / self::BIG_BLOCK_SIZE; + if ($this->props[$stream]['size'] % self::BIG_BLOCK_SIZE != 0) { + ++$numBlocks; + } + + if ($numBlocks == 0) return ''; + + $block = $this->props[$stream]['startBlock']; + + while ($block != -2) { + $pos = ($block + 1) * self::BIG_BLOCK_SIZE; + $streamData .= substr($this->data, $pos, self::BIG_BLOCK_SIZE); + $block = self::_GetInt4d($this->bigBlockChain, $block*4); + } + + return $streamData; + } + } + + /** + * Read a standard stream (by joining sectors using information from SAT) + * + * @param int $bl Sector ID where the stream starts + * @return string Data for standard stream + */ + private function _readData($bl) + { + $block = $bl; + $data = ''; + + while ($block != -2) { + $pos = ($block + 1) * self::BIG_BLOCK_SIZE; + $data .= substr($this->data, $pos, self::BIG_BLOCK_SIZE); + $block = self::_GetInt4d($this->bigBlockChain, $block*4); + } + return $data; + } + + /** + * Read entries in the directory stream. + */ + private function _readPropertySets() { + $offset = 0; + + // loop through entires, each entry is 128 bytes + $entryLen = strlen($this->entry); + while ($offset < $entryLen) { + // entry data (128 bytes) + $d = substr($this->entry, $offset, self::PROPERTY_STORAGE_BLOCK_SIZE); + + // size in bytes of name + $nameSize = ord($d[self::SIZE_OF_NAME_POS]) | (ord($d[self::SIZE_OF_NAME_POS+1]) << 8); + + // type of entry + $type = ord($d[self::TYPE_POS]); + + // sectorID of first sector or short sector, if this entry refers to a stream (the case with workbook) + // sectorID of first sector of the short-stream container stream, if this entry is root entry + $startBlock = self::_GetInt4d($d, self::START_BLOCK_POS); + + $size = self::_GetInt4d($d, self::SIZE_POS); + + $name = str_replace("\x00", "", substr($d,0,$nameSize)); + + + $this->props[] = array ( + 'name' => $name, + 'type' => $type, + 'startBlock' => $startBlock, + 'size' => $size); + + // tmp helper to simplify checks + $upName = strtoupper($name); + + // Workbook directory entry (BIFF5 uses Book, BIFF8 uses Workbook) + if (($upName === 'WORKBOOK') || ($upName === 'BOOK')) { + $this->wrkbook = count($this->props) - 1; + } + else if ( $upName === 'ROOT ENTRY' || $upName === 'R') { + // Root entry + $this->rootentry = count($this->props) - 1; + } + + // Summary information + if ($name == chr(5) . 'SummaryInformation') { +// echo 'Summary Information<br />'; + $this->summaryInformation = count($this->props) - 1; + } + + // Additional Document Summary information + if ($name == chr(5) . 'DocumentSummaryInformation') { +// echo 'Document Summary Information<br />'; + $this->documentSummaryInformation = count($this->props) - 1; + } + + $offset += self::PROPERTY_STORAGE_BLOCK_SIZE; + } + + } + + /** + * Read 4 bytes of data at specified position + * + * @param string $data + * @param int $pos + * @return int + */ + private static function _GetInt4d($data, $pos) + { + // FIX: represent numbers correctly on 64-bit system + // http://sourceforge.net/tracker/index.php?func=detail&aid=1487372&group_id=99160&atid=623334 + // Hacked by Andreas Rehm 2006 to ensure correct result of the <<24 block on 32 and 64bit systems + $_or_24 = ord($data[$pos + 3]); + if ($_or_24 >= 128) { + // negative number + $_ord_24 = -abs((256 - $_or_24) << 24); + } else { + $_ord_24 = ($_or_24 & 127) << 24; + } + return ord($data[$pos]) | (ord($data[$pos + 1]) << 8) | (ord($data[$pos + 2]) << 16) | $_ord_24; + } + +} diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/PCLZip/gnu-lgpl.txt b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/PCLZip/gnu-lgpl.txt new file mode 100644 index 00000000..cbee875b --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/PCLZip/gnu-lgpl.txt @@ -0,0 +1,504 @@ + GNU LESSER GENERAL PUBLIC LICENSE + Version 2.1, February 1999 + + Copyright (C) 1991, 1999 Free Software Foundation, Inc. + 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + +[This is the first released version of the Lesser GPL. It also counts + as the successor of the GNU Library Public License, version 2, hence + the version number 2.1.] + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +Licenses are intended to guarantee your freedom to share and change +free software--to make sure the software is free for all its users. + + This license, the Lesser General Public License, applies to some +specially designated software packages--typically libraries--of the +Free Software Foundation and other authors who decide to use it. You +can use it too, but we suggest you first think carefully about whether +this license or the ordinary General Public License is the better +strategy to use in any particular case, based on the explanations below. + + When we speak of free software, we are referring to freedom of use, +not price. Our General Public Licenses are designed to make sure that +you have the freedom to distribute copies of free software (and charge +for this service if you wish); that you receive source code or can get +it if you want it; that you can change the software and use pieces of +it in new free programs; and that you are informed that you can do +these things. + + To protect your rights, we need to make restrictions that forbid +distributors to deny you these rights or to ask you to surrender these +rights. These restrictions translate to certain responsibilities for +you if you distribute copies of the library or if you modify it. + + For example, if you distribute copies of the library, whether gratis +or for a fee, you must give the recipients all the rights that we gave +you. You must make sure that they, too, receive or can get the source +code. If you link other code with the library, you must provide +complete object files to the recipients, so that they can relink them +with the library after making changes to the library and recompiling +it. And you must show them these terms so they know their rights. + + We protect your rights with a two-step method: (1) we copyright the +library, and (2) we offer you this license, which gives you legal +permission to copy, distribute and/or modify the library. + + To protect each distributor, we want to make it very clear that +there is no warranty for the free library. Also, if the library is +modified by someone else and passed on, the recipients should know +that what they have is not the original version, so that the original +author's reputation will not be affected by problems that might be +introduced by others. + + Finally, software patents pose a constant threat to the existence of +any free program. We wish to make sure that a company cannot +effectively restrict the users of a free program by obtaining a +restrictive license from a patent holder. Therefore, we insist that +any patent license obtained for a version of the library must be +consistent with the full freedom of use specified in this license. + + Most GNU software, including some libraries, is covered by the +ordinary GNU General Public License. This license, the GNU Lesser +General Public License, applies to certain designated libraries, and +is quite different from the ordinary General Public License. We use +this license for certain libraries in order to permit linking those +libraries into non-free programs. + + When a program is linked with a library, whether statically or using +a shared library, the combination of the two is legally speaking a +combined work, a derivative of the original library. The ordinary +General Public License therefore permits such linking only if the +entire combination fits its criteria of freedom. The Lesser General +Public License permits more lax criteria for linking other code with +the library. + + We call this license the "Lesser" General Public License because it +does Less to protect the user's freedom than the ordinary General +Public License. It also provides other free software developers Less +of an advantage over competing non-free programs. These disadvantages +are the reason we use the ordinary General Public License for many +libraries. However, the Lesser license provides advantages in certain +special circumstances. + + For example, on rare occasions, there may be a special need to +encourage the widest possible use of a certain library, so that it becomes +a de-facto standard. To achieve this, non-free programs must be +allowed to use the library. A more frequent case is that a free +library does the same job as widely used non-free libraries. In this +case, there is little to gain by limiting the free library to free +software only, so we use the Lesser General Public License. + + In other cases, permission to use a particular library in non-free +programs enables a greater number of people to use a large body of +free software. For example, permission to use the GNU C Library in +non-free programs enables many more people to use the whole GNU +operating system, as well as its variant, the GNU/Linux operating +system. + + Although the Lesser General Public License is Less protective of the +users' freedom, it does ensure that the user of a program that is +linked with the Library has the freedom and the wherewithal to run +that program using a modified version of the Library. + + The precise terms and conditions for copying, distribution and +modification follow. Pay close attention to the difference between a +"work based on the library" and a "work that uses the library". The +former contains code derived from the library, whereas the latter must +be combined with the library in order to run. + + GNU LESSER GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License Agreement applies to any software library or other +program which contains a notice placed by the copyright holder or +other authorized party saying it may be distributed under the terms of +this Lesser General Public License (also called "this License"). +Each licensee is addressed as "you". + + A "library" means a collection of software functions and/or data +prepared so as to be conveniently linked with application programs +(which use some of those functions and data) to form executables. + + The "Library", below, refers to any such software library or work +which has been distributed under these terms. A "work based on the +Library" means either the Library or any derivative work under +copyright law: that is to say, a work containing the Library or a +portion of it, either verbatim or with modifications and/or translated +straightforwardly into another language. (Hereinafter, translation is +included without limitation in the term "modification".) + + "Source code" for a work means the preferred form of the work for +making modifications to it. For a library, complete source code means +all the source code for all modules it contains, plus any associated +interface definition files, plus the scripts used to control compilation +and installation of the library. + + Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running a program using the Library is not restricted, and output from +such a program is covered only if its contents constitute a work based +on the Library (independent of the use of the Library in a tool for +writing it). Whether that is true depends on what the Library does +and what the program that uses the Library does. + + 1. You may copy and distribute verbatim copies of the Library's +complete source code as you receive it, in any medium, provided that +you conspicuously and appropriately publish on each copy an +appropriate copyright notice and disclaimer of warranty; keep intact +all the notices that refer to this License and to the absence of any +warranty; and distribute a copy of this License along with the +Library. + + You may charge a fee for the physical act of transferring a copy, +and you may at your option offer warranty protection in exchange for a +fee. + + 2. You may modify your copy or copies of the Library or any portion +of it, thus forming a work based on the Library, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) The modified work must itself be a software library. + + b) You must cause the files modified to carry prominent notices + stating that you changed the files and the date of any change. + + c) You must cause the whole of the work to be licensed at no + charge to all third parties under the terms of this License. + + d) If a facility in the modified Library refers to a function or a + table of data to be supplied by an application program that uses + the facility, other than as an argument passed when the facility + is invoked, then you must make a good faith effort to ensure that, + in the event an application does not supply such function or + table, the facility still operates, and performs whatever part of + its purpose remains meaningful. + + (For example, a function in a library to compute square roots has + a purpose that is entirely well-defined independent of the + application. Therefore, Subsection 2d requires that any + application-supplied function or table used by this function must + be optional: if the application does not supply it, the square + root function must still compute square roots.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Library, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Library, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote +it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Library. + +In addition, mere aggregation of another work not based on the Library +with the Library (or with a work based on the Library) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may opt to apply the terms of the ordinary GNU General Public +License instead of this License to a given copy of the Library. To do +this, you must alter all the notices that refer to this License, so +that they refer to the ordinary GNU General Public License, version 2, +instead of to this License. (If a newer version than version 2 of the +ordinary GNU General Public License has appeared, then you can specify +that version instead if you wish.) Do not make any other change in +these notices. + + Once this change is made in a given copy, it is irreversible for +that copy, so the ordinary GNU General Public License applies to all +subsequent copies and derivative works made from that copy. + + This option is useful when you wish to copy part of the code of +the Library into a program that is not a library. + + 4. You may copy and distribute the Library (or a portion or +derivative of it, under Section 2) in object code or executable form +under the terms of Sections 1 and 2 above provided that you accompany +it with the complete corresponding machine-readable source code, which +must be distributed under the terms of Sections 1 and 2 above on a +medium customarily used for software interchange. + + If distribution of object code is made by offering access to copy +from a designated place, then offering equivalent access to copy the +source code from the same place satisfies the requirement to +distribute the source code, even though third parties are not +compelled to copy the source along with the object code. + + 5. A program that contains no derivative of any portion of the +Library, but is designed to work with the Library by being compiled or +linked with it, is called a "work that uses the Library". Such a +work, in isolation, is not a derivative work of the Library, and +therefore falls outside the scope of this License. + + However, linking a "work that uses the Library" with the Library +creates an executable that is a derivative of the Library (because it +contains portions of the Library), rather than a "work that uses the +library". The executable is therefore covered by this License. +Section 6 states terms for distribution of such executables. + + When a "work that uses the Library" uses material from a header file +that is part of the Library, the object code for the work may be a +derivative work of the Library even though the source code is not. +Whether this is true is especially significant if the work can be +linked without the Library, or if the work is itself a library. The +threshold for this to be true is not precisely defined by law. + + If such an object file uses only numerical parameters, data +structure layouts and accessors, and small macros and small inline +functions (ten lines or less in length), then the use of the object +file is unrestricted, regardless of whether it is legally a derivative +work. (Executables containing this object code plus portions of the +Library will still fall under Section 6.) + + Otherwise, if the work is a derivative of the Library, you may +distribute the object code for the work under the terms of Section 6. +Any executables containing that work also fall under Section 6, +whether or not they are linked directly with the Library itself. + + 6. As an exception to the Sections above, you may also combine or +link a "work that uses the Library" with the Library to produce a +work containing portions of the Library, and distribute that work +under terms of your choice, provided that the terms permit +modification of the work for the customer's own use and reverse +engineering for debugging such modifications. + + You must give prominent notice with each copy of the work that the +Library is used in it and that the Library and its use are covered by +this License. You must supply a copy of this License. If the work +during execution displays copyright notices, you must include the +copyright notice for the Library among them, as well as a reference +directing the user to the copy of this License. Also, you must do one +of these things: + + a) Accompany the work with the complete corresponding + machine-readable source code for the Library including whatever + changes were used in the work (which must be distributed under + Sections 1 and 2 above); and, if the work is an executable linked + with the Library, with the complete machine-readable "work that + uses the Library", as object code and/or source code, so that the + user can modify the Library and then relink to produce a modified + executable containing the modified Library. (It is understood + that the user who changes the contents of definitions files in the + Library will not necessarily be able to recompile the application + to use the modified definitions.) + + b) Use a suitable shared library mechanism for linking with the + Library. A suitable mechanism is one that (1) uses at run time a + copy of the library already present on the user's computer system, + rather than copying library functions into the executable, and (2) + will operate properly with a modified version of the library, if + the user installs one, as long as the modified version is + interface-compatible with the version that the work was made with. + + c) Accompany the work with a written offer, valid for at + least three years, to give the same user the materials + specified in Subsection 6a, above, for a charge no more + than the cost of performing this distribution. + + d) If distribution of the work is made by offering access to copy + from a designated place, offer equivalent access to copy the above + specified materials from the same place. + + e) Verify that the user has already received a copy of these + materials or that you have already sent this user a copy. + + For an executable, the required form of the "work that uses the +Library" must include any data and utility programs needed for +reproducing the executable from it. However, as a special exception, +the materials to be distributed need not include anything that is +normally distributed (in either source or binary form) with the major +components (compiler, kernel, and so on) of the operating system on +which the executable runs, unless that component itself accompanies +the executable. + + It may happen that this requirement contradicts the license +restrictions of other proprietary libraries that do not normally +accompany the operating system. Such a contradiction means you cannot +use both them and the Library together in an executable that you +distribute. + + 7. You may place library facilities that are a work based on the +Library side-by-side in a single library together with other library +facilities not covered by this License, and distribute such a combined +library, provided that the separate distribution of the work based on +the Library and of the other library facilities is otherwise +permitted, and provided that you do these two things: + + a) Accompany the combined library with a copy of the same work + based on the Library, uncombined with any other library + facilities. This must be distributed under the terms of the + Sections above. + + b) Give prominent notice with the combined library of the fact + that part of it is a work based on the Library, and explaining + where to find the accompanying uncombined form of the same work. + + 8. You may not copy, modify, sublicense, link with, or distribute +the Library except as expressly provided under this License. Any +attempt otherwise to copy, modify, sublicense, link with, or +distribute the Library is void, and will automatically terminate your +rights under this License. However, parties who have received copies, +or rights, from you under this License will not have their licenses +terminated so long as such parties remain in full compliance. + + 9. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Library or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Library (or any work based on the +Library), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Library or works based on it. + + 10. Each time you redistribute the Library (or any work based on the +Library), the recipient automatically receives a license from the +original licensor to copy, distribute, link with or modify the Library +subject to these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties with +this License. + + 11. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Library at all. For example, if a patent +license would not permit royalty-free redistribution of the Library by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Library. + +If any portion of this section is held invalid or unenforceable under any +particular circumstance, the balance of the section is intended to apply, +and the section as a whole is intended to apply in other circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 12. If the distribution and/or use of the Library is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Library under this License may add +an explicit geographical distribution limitation excluding those countries, +so that distribution is permitted only in or among countries not thus +excluded. In such case, this License incorporates the limitation as if +written in the body of this License. + + 13. The Free Software Foundation may publish revised and/or new +versions of the Lesser General Public License from time to time. +Such new versions will be similar in spirit to the present version, +but may differ in detail to address new problems or concerns. + +Each version is given a distinguishing version number. If the Library +specifies a version number of this License which applies to it and +"any later version", you have the option of following the terms and +conditions either of that version or of any later version published by +the Free Software Foundation. If the Library does not specify a +license version number, you may choose any version ever published by +the Free Software Foundation. + + 14. If you wish to incorporate parts of the Library into other free +programs whose distribution conditions are incompatible with these, +write to the author to ask for permission. For software which is +copyrighted by the Free Software Foundation, write to the Free +Software Foundation; we sometimes make exceptions for this. Our +decision will be guided by the two goals of preserving the free status +of all derivatives of our free software and of promoting the sharing +and reuse of software generally. + + NO WARRANTY + + 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO +WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. +EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR +OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY +KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE +LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME +THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN +WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY +AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU +FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR +CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE +LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING +RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A +FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF +SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Libraries + + If you develop a new library, and you want it to be of the greatest +possible use to the public, we recommend making it free software that +everyone can redistribute and change. You can do so by permitting +redistribution under these terms (or, alternatively, under the terms of the +ordinary General Public License). + + To apply these terms, attach the following notices to the library. It is +safest to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least the +"copyright" line and a pointer to where the full notice is found. + + <one line to give the library's name and a brief idea of what it does.> + Copyright (C) <year> <name of author> + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + +Also add information on how to contact you by electronic and paper mail. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the library, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the + library `Frob' (a library for tweaking knobs) written by James Random Hacker. + + <signature of Ty Coon>, 1 April 1990 + Ty Coon, President of Vice + +That's all there is to it! + + diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/PCLZip/pclzip.lib.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/PCLZip/pclzip.lib.php new file mode 100644 index 00000000..5b81e679 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/PCLZip/pclzip.lib.php @@ -0,0 +1,5691 @@ +<?php +// -------------------------------------------------------------------------------- +// PhpConcept Library - Zip Module 2.8.2 +// -------------------------------------------------------------------------------- +// License GNU/LGPL - Vincent Blavet - August 2009 +// http://www.phpconcept.net +// -------------------------------------------------------------------------------- +// +// Presentation : +// PclZip is a PHP library that manage ZIP archives. +// So far tests show that archives generated by PclZip are readable by +// WinZip application and other tools. +// +// Description : +// See readme.txt and http://www.phpconcept.net +// +// Warning : +// This library and the associated files are non commercial, non professional +// work. +// It should not have unexpected results. However if any damage is caused by +// this software the author can not be responsible. +// The use of this software is at the risk of the user. +// +// -------------------------------------------------------------------------------- +// $Id: pclzip.lib.php,v 1.60 2009/09/30 21:01:04 vblavet Exp $ +// -------------------------------------------------------------------------------- + + // ----- Constants + if (!defined('PCLZIP_READ_BLOCK_SIZE')) { + define( 'PCLZIP_READ_BLOCK_SIZE', 2048 ); + } + + // ----- File list separator + // In version 1.x of PclZip, the separator for file list is a space + // (which is not a very smart choice, specifically for windows paths !). + // A better separator should be a comma (,). This constant gives you the + // abilty to change that. + // However notice that changing this value, may have impact on existing + // scripts, using space separated filenames. + // Recommanded values for compatibility with older versions : + //define( 'PCLZIP_SEPARATOR', ' ' ); + // Recommanded values for smart separation of filenames. + if (!defined('PCLZIP_SEPARATOR')) { + define( 'PCLZIP_SEPARATOR', ',' ); + } + + // ----- Error configuration + // 0 : PclZip Class integrated error handling + // 1 : PclError external library error handling. By enabling this + // you must ensure that you have included PclError library. + // [2,...] : reserved for futur use + if (!defined('PCLZIP_ERROR_EXTERNAL')) { + define( 'PCLZIP_ERROR_EXTERNAL', 0 ); + } + + // ----- Optional static temporary directory + // By default temporary files are generated in the script current + // path. + // If defined : + // - MUST BE terminated by a '/'. + // - MUST be a valid, already created directory + // Samples : + // define( 'PCLZIP_TEMPORARY_DIR', '/temp/' ); + // define( 'PCLZIP_TEMPORARY_DIR', 'C:/Temp/' ); + if (!defined('PCLZIP_TEMPORARY_DIR')) { + define( 'PCLZIP_TEMPORARY_DIR', '' ); + } + + // ----- Optional threshold ratio for use of temporary files + // Pclzip sense the size of the file to add/extract and decide to + // use or not temporary file. The algorythm is looking for + // memory_limit of PHP and apply a ratio. + // threshold = memory_limit * ratio. + // Recommended values are under 0.5. Default 0.47. + // Samples : + // define( 'PCLZIP_TEMPORARY_FILE_RATIO', 0.5 ); + if (!defined('PCLZIP_TEMPORARY_FILE_RATIO')) { + define( 'PCLZIP_TEMPORARY_FILE_RATIO', 0.47 ); + } + +// -------------------------------------------------------------------------------- +// ***** UNDER THIS LINE NOTHING NEEDS TO BE MODIFIED ***** +// -------------------------------------------------------------------------------- + + // ----- Global variables + $g_pclzip_version = "2.8.2"; + + // ----- Error codes + // -1 : Unable to open file in binary write mode + // -2 : Unable to open file in binary read mode + // -3 : Invalid parameters + // -4 : File does not exist + // -5 : Filename is too long (max. 255) + // -6 : Not a valid zip file + // -7 : Invalid extracted file size + // -8 : Unable to create directory + // -9 : Invalid archive extension + // -10 : Invalid archive format + // -11 : Unable to delete file (unlink) + // -12 : Unable to rename file (rename) + // -13 : Invalid header checksum + // -14 : Invalid archive size + define( 'PCLZIP_ERR_USER_ABORTED', 2 ); + define( 'PCLZIP_ERR_NO_ERROR', 0 ); + define( 'PCLZIP_ERR_WRITE_OPEN_FAIL', -1 ); + define( 'PCLZIP_ERR_READ_OPEN_FAIL', -2 ); + define( 'PCLZIP_ERR_INVALID_PARAMETER', -3 ); + define( 'PCLZIP_ERR_MISSING_FILE', -4 ); + define( 'PCLZIP_ERR_FILENAME_TOO_LONG', -5 ); + define( 'PCLZIP_ERR_INVALID_ZIP', -6 ); + define( 'PCLZIP_ERR_BAD_EXTRACTED_FILE', -7 ); + define( 'PCLZIP_ERR_DIR_CREATE_FAIL', -8 ); + define( 'PCLZIP_ERR_BAD_EXTENSION', -9 ); + define( 'PCLZIP_ERR_BAD_FORMAT', -10 ); + define( 'PCLZIP_ERR_DELETE_FILE_FAIL', -11 ); + define( 'PCLZIP_ERR_RENAME_FILE_FAIL', -12 ); + define( 'PCLZIP_ERR_BAD_CHECKSUM', -13 ); + define( 'PCLZIP_ERR_INVALID_ARCHIVE_ZIP', -14 ); + define( 'PCLZIP_ERR_MISSING_OPTION_VALUE', -15 ); + define( 'PCLZIP_ERR_INVALID_OPTION_VALUE', -16 ); + define( 'PCLZIP_ERR_ALREADY_A_DIRECTORY', -17 ); + define( 'PCLZIP_ERR_UNSUPPORTED_COMPRESSION', -18 ); + define( 'PCLZIP_ERR_UNSUPPORTED_ENCRYPTION', -19 ); + define( 'PCLZIP_ERR_INVALID_ATTRIBUTE_VALUE', -20 ); + define( 'PCLZIP_ERR_DIRECTORY_RESTRICTION', -21 ); + + // ----- Options values + define( 'PCLZIP_OPT_PATH', 77001 ); + define( 'PCLZIP_OPT_ADD_PATH', 77002 ); + define( 'PCLZIP_OPT_REMOVE_PATH', 77003 ); + define( 'PCLZIP_OPT_REMOVE_ALL_PATH', 77004 ); + define( 'PCLZIP_OPT_SET_CHMOD', 77005 ); + define( 'PCLZIP_OPT_EXTRACT_AS_STRING', 77006 ); + define( 'PCLZIP_OPT_NO_COMPRESSION', 77007 ); + define( 'PCLZIP_OPT_BY_NAME', 77008 ); + define( 'PCLZIP_OPT_BY_INDEX', 77009 ); + define( 'PCLZIP_OPT_BY_EREG', 77010 ); + define( 'PCLZIP_OPT_BY_PREG', 77011 ); + define( 'PCLZIP_OPT_COMMENT', 77012 ); + define( 'PCLZIP_OPT_ADD_COMMENT', 77013 ); + define( 'PCLZIP_OPT_PREPEND_COMMENT', 77014 ); + define( 'PCLZIP_OPT_EXTRACT_IN_OUTPUT', 77015 ); + define( 'PCLZIP_OPT_REPLACE_NEWER', 77016 ); + define( 'PCLZIP_OPT_STOP_ON_ERROR', 77017 ); + // Having big trouble with crypt. Need to multiply 2 long int + // which is not correctly supported by PHP ... + //define( 'PCLZIP_OPT_CRYPT', 77018 ); + define( 'PCLZIP_OPT_EXTRACT_DIR_RESTRICTION', 77019 ); + define( 'PCLZIP_OPT_TEMP_FILE_THRESHOLD', 77020 ); + define( 'PCLZIP_OPT_ADD_TEMP_FILE_THRESHOLD', 77020 ); // alias + define( 'PCLZIP_OPT_TEMP_FILE_ON', 77021 ); + define( 'PCLZIP_OPT_ADD_TEMP_FILE_ON', 77021 ); // alias + define( 'PCLZIP_OPT_TEMP_FILE_OFF', 77022 ); + define( 'PCLZIP_OPT_ADD_TEMP_FILE_OFF', 77022 ); // alias + + // ----- File description attributes + define( 'PCLZIP_ATT_FILE_NAME', 79001 ); + define( 'PCLZIP_ATT_FILE_NEW_SHORT_NAME', 79002 ); + define( 'PCLZIP_ATT_FILE_NEW_FULL_NAME', 79003 ); + define( 'PCLZIP_ATT_FILE_MTIME', 79004 ); + define( 'PCLZIP_ATT_FILE_CONTENT', 79005 ); + define( 'PCLZIP_ATT_FILE_COMMENT', 79006 ); + + // ----- Call backs values + define( 'PCLZIP_CB_PRE_EXTRACT', 78001 ); + define( 'PCLZIP_CB_POST_EXTRACT', 78002 ); + define( 'PCLZIP_CB_PRE_ADD', 78003 ); + define( 'PCLZIP_CB_POST_ADD', 78004 ); + /* For futur use + define( 'PCLZIP_CB_PRE_LIST', 78005 ); + define( 'PCLZIP_CB_POST_LIST', 78006 ); + define( 'PCLZIP_CB_PRE_DELETE', 78007 ); + define( 'PCLZIP_CB_POST_DELETE', 78008 ); + */ + + // -------------------------------------------------------------------------------- + // Class : PclZip + // Description : + // PclZip is the class that represent a Zip archive. + // The public methods allow the manipulation of the archive. + // Attributes : + // Attributes must not be accessed directly. + // Methods : + // PclZip() : Object creator + // create() : Creates the Zip archive + // listContent() : List the content of the Zip archive + // extract() : Extract the content of the archive + // properties() : List the properties of the archive + // -------------------------------------------------------------------------------- + class PclZip + { + // ----- Filename of the zip file + var $zipname = ''; + + // ----- File descriptor of the zip file + var $zip_fd = 0; + + // ----- Internal error handling + var $error_code = 1; + var $error_string = ''; + + // ----- Current status of the magic_quotes_runtime + // This value store the php configuration for magic_quotes + // The class can then disable the magic_quotes and reset it after + var $magic_quotes_status; + + // -------------------------------------------------------------------------------- + // Function : PclZip() + // Description : + // Creates a PclZip object and set the name of the associated Zip archive + // filename. + // Note that no real action is taken, if the archive does not exist it is not + // created. Use create() for that. + // -------------------------------------------------------------------------------- + function PclZip($p_zipname) + { + + // ----- Tests the zlib + if (!function_exists('gzopen')) + { + die('Abort '.basename(__FILE__).' : Missing zlib extensions'); + } + + // ----- Set the attributes + $this->zipname = $p_zipname; + $this->zip_fd = 0; + $this->magic_quotes_status = -1; + + // ----- Return + return; + } + // -------------------------------------------------------------------------------- + + // -------------------------------------------------------------------------------- + // Function : + // create($p_filelist, $p_add_dir="", $p_remove_dir="") + // create($p_filelist, $p_option, $p_option_value, ...) + // Description : + // This method supports two different synopsis. The first one is historical. + // This method creates a Zip Archive. The Zip file is created in the + // filesystem. The files and directories indicated in $p_filelist + // are added in the archive. See the parameters description for the + // supported format of $p_filelist. + // When a directory is in the list, the directory and its content is added + // in the archive. + // In this synopsis, the function takes an optional variable list of + // options. See bellow the supported options. + // Parameters : + // $p_filelist : An array containing file or directory names, or + // a string containing one filename or one directory name, or + // a string containing a list of filenames and/or directory + // names separated by spaces. + // $p_add_dir : A path to add before the real path of the archived file, + // in order to have it memorized in the archive. + // $p_remove_dir : A path to remove from the real path of the file to archive, + // in order to have a shorter path memorized in the archive. + // When $p_add_dir and $p_remove_dir are set, $p_remove_dir + // is removed first, before $p_add_dir is added. + // Options : + // PCLZIP_OPT_ADD_PATH : + // PCLZIP_OPT_REMOVE_PATH : + // PCLZIP_OPT_REMOVE_ALL_PATH : + // PCLZIP_OPT_COMMENT : + // PCLZIP_CB_PRE_ADD : + // PCLZIP_CB_POST_ADD : + // Return Values : + // 0 on failure, + // The list of the added files, with a status of the add action. + // (see PclZip::listContent() for list entry format) + // -------------------------------------------------------------------------------- + function create($p_filelist) + { + $v_result=1; + + // ----- Reset the error handler + $this->privErrorReset(); + + // ----- Set default values + $v_options = array(); + $v_options[PCLZIP_OPT_NO_COMPRESSION] = FALSE; + + // ----- Look for variable options arguments + $v_size = func_num_args(); + + // ----- Look for arguments + if ($v_size > 1) { + // ----- Get the arguments + $v_arg_list = func_get_args(); + + // ----- Remove from the options list the first argument + array_shift($v_arg_list); + $v_size--; + + // ----- Look for first arg + if ((is_integer($v_arg_list[0])) && ($v_arg_list[0] > 77000)) { + + // ----- Parse the options + $v_result = $this->privParseOptions($v_arg_list, $v_size, $v_options, + array (PCLZIP_OPT_REMOVE_PATH => 'optional', + PCLZIP_OPT_REMOVE_ALL_PATH => 'optional', + PCLZIP_OPT_ADD_PATH => 'optional', + PCLZIP_CB_PRE_ADD => 'optional', + PCLZIP_CB_POST_ADD => 'optional', + PCLZIP_OPT_NO_COMPRESSION => 'optional', + PCLZIP_OPT_COMMENT => 'optional', + PCLZIP_OPT_TEMP_FILE_THRESHOLD => 'optional', + PCLZIP_OPT_TEMP_FILE_ON => 'optional', + PCLZIP_OPT_TEMP_FILE_OFF => 'optional' + //, PCLZIP_OPT_CRYPT => 'optional' + )); + if ($v_result != 1) { + return 0; + } + } + + // ----- Look for 2 args + // Here we need to support the first historic synopsis of the + // method. + else { + + // ----- Get the first argument + $v_options[PCLZIP_OPT_ADD_PATH] = $v_arg_list[0]; + + // ----- Look for the optional second argument + if ($v_size == 2) { + $v_options[PCLZIP_OPT_REMOVE_PATH] = $v_arg_list[1]; + } + else if ($v_size > 2) { + PclZip::privErrorLog(PCLZIP_ERR_INVALID_PARAMETER, + "Invalid number / type of arguments"); + return 0; + } + } + } + + // ----- Look for default option values + $this->privOptionDefaultThreshold($v_options); + + // ----- Init + $v_string_list = array(); + $v_att_list = array(); + $v_filedescr_list = array(); + $p_result_list = array(); + + // ----- Look if the $p_filelist is really an array + if (is_array($p_filelist)) { + + // ----- Look if the first element is also an array + // This will mean that this is a file description entry + if (isset($p_filelist[0]) && is_array($p_filelist[0])) { + $v_att_list = $p_filelist; + } + + // ----- The list is a list of string names + else { + $v_string_list = $p_filelist; + } + } + + // ----- Look if the $p_filelist is a string + else if (is_string($p_filelist)) { + // ----- Create a list from the string + $v_string_list = explode(PCLZIP_SEPARATOR, $p_filelist); + } + + // ----- Invalid variable type for $p_filelist + else { + PclZip::privErrorLog(PCLZIP_ERR_INVALID_PARAMETER, "Invalid variable type p_filelist"); + return 0; + } + + // ----- Reformat the string list + if (sizeof($v_string_list) != 0) { + foreach ($v_string_list as $v_string) { + if ($v_string != '') { + $v_att_list[][PCLZIP_ATT_FILE_NAME] = $v_string; + } + else { + } + } + } + + // ----- For each file in the list check the attributes + $v_supported_attributes + = array ( PCLZIP_ATT_FILE_NAME => 'mandatory' + ,PCLZIP_ATT_FILE_NEW_SHORT_NAME => 'optional' + ,PCLZIP_ATT_FILE_NEW_FULL_NAME => 'optional' + ,PCLZIP_ATT_FILE_MTIME => 'optional' + ,PCLZIP_ATT_FILE_CONTENT => 'optional' + ,PCLZIP_ATT_FILE_COMMENT => 'optional' + ); + foreach ($v_att_list as $v_entry) { + $v_result = $this->privFileDescrParseAtt($v_entry, + $v_filedescr_list[], + $v_options, + $v_supported_attributes); + if ($v_result != 1) { + return 0; + } + } + + // ----- Expand the filelist (expand directories) + $v_result = $this->privFileDescrExpand($v_filedescr_list, $v_options); + if ($v_result != 1) { + return 0; + } + + // ----- Call the create fct + $v_result = $this->privCreate($v_filedescr_list, $p_result_list, $v_options); + if ($v_result != 1) { + return 0; + } + + // ----- Return + return $p_result_list; + } + // -------------------------------------------------------------------------------- + + // -------------------------------------------------------------------------------- + // Function : + // add($p_filelist, $p_add_dir="", $p_remove_dir="") + // add($p_filelist, $p_option, $p_option_value, ...) + // Description : + // This method supports two synopsis. The first one is historical. + // This methods add the list of files in an existing archive. + // If a file with the same name already exists, it is added at the end of the + // archive, the first one is still present. + // If the archive does not exist, it is created. + // Parameters : + // $p_filelist : An array containing file or directory names, or + // a string containing one filename or one directory name, or + // a string containing a list of filenames and/or directory + // names separated by spaces. + // $p_add_dir : A path to add before the real path of the archived file, + // in order to have it memorized in the archive. + // $p_remove_dir : A path to remove from the real path of the file to archive, + // in order to have a shorter path memorized in the archive. + // When $p_add_dir and $p_remove_dir are set, $p_remove_dir + // is removed first, before $p_add_dir is added. + // Options : + // PCLZIP_OPT_ADD_PATH : + // PCLZIP_OPT_REMOVE_PATH : + // PCLZIP_OPT_REMOVE_ALL_PATH : + // PCLZIP_OPT_COMMENT : + // PCLZIP_OPT_ADD_COMMENT : + // PCLZIP_OPT_PREPEND_COMMENT : + // PCLZIP_CB_PRE_ADD : + // PCLZIP_CB_POST_ADD : + // Return Values : + // 0 on failure, + // The list of the added files, with a status of the add action. + // (see PclZip::listContent() for list entry format) + // -------------------------------------------------------------------------------- + function add($p_filelist) + { + $v_result=1; + + // ----- Reset the error handler + $this->privErrorReset(); + + // ----- Set default values + $v_options = array(); + $v_options[PCLZIP_OPT_NO_COMPRESSION] = FALSE; + + // ----- Look for variable options arguments + $v_size = func_num_args(); + + // ----- Look for arguments + if ($v_size > 1) { + // ----- Get the arguments + $v_arg_list = func_get_args(); + + // ----- Remove form the options list the first argument + array_shift($v_arg_list); + $v_size--; + + // ----- Look for first arg + if ((is_integer($v_arg_list[0])) && ($v_arg_list[0] > 77000)) { + + // ----- Parse the options + $v_result = $this->privParseOptions($v_arg_list, $v_size, $v_options, + array (PCLZIP_OPT_REMOVE_PATH => 'optional', + PCLZIP_OPT_REMOVE_ALL_PATH => 'optional', + PCLZIP_OPT_ADD_PATH => 'optional', + PCLZIP_CB_PRE_ADD => 'optional', + PCLZIP_CB_POST_ADD => 'optional', + PCLZIP_OPT_NO_COMPRESSION => 'optional', + PCLZIP_OPT_COMMENT => 'optional', + PCLZIP_OPT_ADD_COMMENT => 'optional', + PCLZIP_OPT_PREPEND_COMMENT => 'optional', + PCLZIP_OPT_TEMP_FILE_THRESHOLD => 'optional', + PCLZIP_OPT_TEMP_FILE_ON => 'optional', + PCLZIP_OPT_TEMP_FILE_OFF => 'optional' + //, PCLZIP_OPT_CRYPT => 'optional' + )); + if ($v_result != 1) { + return 0; + } + } + + // ----- Look for 2 args + // Here we need to support the first historic synopsis of the + // method. + else { + + // ----- Get the first argument + $v_options[PCLZIP_OPT_ADD_PATH] = $v_add_path = $v_arg_list[0]; + + // ----- Look for the optional second argument + if ($v_size == 2) { + $v_options[PCLZIP_OPT_REMOVE_PATH] = $v_arg_list[1]; + } + else if ($v_size > 2) { + // ----- Error log + PclZip::privErrorLog(PCLZIP_ERR_INVALID_PARAMETER, "Invalid number / type of arguments"); + + // ----- Return + return 0; + } + } + } + + // ----- Look for default option values + $this->privOptionDefaultThreshold($v_options); + + // ----- Init + $v_string_list = array(); + $v_att_list = array(); + $v_filedescr_list = array(); + $p_result_list = array(); + + // ----- Look if the $p_filelist is really an array + if (is_array($p_filelist)) { + + // ----- Look if the first element is also an array + // This will mean that this is a file description entry + if (isset($p_filelist[0]) && is_array($p_filelist[0])) { + $v_att_list = $p_filelist; + } + + // ----- The list is a list of string names + else { + $v_string_list = $p_filelist; + } + } + + // ----- Look if the $p_filelist is a string + else if (is_string($p_filelist)) { + // ----- Create a list from the string + $v_string_list = explode(PCLZIP_SEPARATOR, $p_filelist); + } + + // ----- Invalid variable type for $p_filelist + else { + PclZip::privErrorLog(PCLZIP_ERR_INVALID_PARAMETER, "Invalid variable type '".gettype($p_filelist)."' for p_filelist"); + return 0; + } + + // ----- Reformat the string list + if (sizeof($v_string_list) != 0) { + foreach ($v_string_list as $v_string) { + $v_att_list[][PCLZIP_ATT_FILE_NAME] = $v_string; + } + } + + // ----- For each file in the list check the attributes + $v_supported_attributes + = array ( PCLZIP_ATT_FILE_NAME => 'mandatory' + ,PCLZIP_ATT_FILE_NEW_SHORT_NAME => 'optional' + ,PCLZIP_ATT_FILE_NEW_FULL_NAME => 'optional' + ,PCLZIP_ATT_FILE_MTIME => 'optional' + ,PCLZIP_ATT_FILE_CONTENT => 'optional' + ,PCLZIP_ATT_FILE_COMMENT => 'optional' + ); + foreach ($v_att_list as $v_entry) { + $v_result = $this->privFileDescrParseAtt($v_entry, + $v_filedescr_list[], + $v_options, + $v_supported_attributes); + if ($v_result != 1) { + return 0; + } + } + + // ----- Expand the filelist (expand directories) + $v_result = $this->privFileDescrExpand($v_filedescr_list, $v_options); + if ($v_result != 1) { + return 0; + } + + // ----- Call the create fct + $v_result = $this->privAdd($v_filedescr_list, $p_result_list, $v_options); + if ($v_result != 1) { + return 0; + } + + // ----- Return + return $p_result_list; + } + // -------------------------------------------------------------------------------- + + // -------------------------------------------------------------------------------- + // Function : listContent() + // Description : + // This public method, gives the list of the files and directories, with their + // properties. + // The properties of each entries in the list are (used also in other functions) : + // filename : Name of the file. For a create or add action it is the filename + // given by the user. For an extract function it is the filename + // of the extracted file. + // stored_filename : Name of the file / directory stored in the archive. + // size : Size of the stored file. + // compressed_size : Size of the file's data compressed in the archive + // (without the headers overhead) + // mtime : Last known modification date of the file (UNIX timestamp) + // comment : Comment associated with the file + // folder : true | false + // index : index of the file in the archive + // status : status of the action (depending of the action) : + // Values are : + // ok : OK ! + // filtered : the file / dir is not extracted (filtered by user) + // already_a_directory : the file can not be extracted because a + // directory with the same name already exists + // write_protected : the file can not be extracted because a file + // with the same name already exists and is + // write protected + // newer_exist : the file was not extracted because a newer file exists + // path_creation_fail : the file is not extracted because the folder + // does not exist and can not be created + // write_error : the file was not extracted because there was a + // error while writing the file + // read_error : the file was not extracted because there was a error + // while reading the file + // invalid_header : the file was not extracted because of an archive + // format error (bad file header) + // Note that each time a method can continue operating when there + // is an action error on a file, the error is only logged in the file status. + // Return Values : + // 0 on an unrecoverable failure, + // The list of the files in the archive. + // -------------------------------------------------------------------------------- + function listContent() + { + $v_result=1; + + // ----- Reset the error handler + $this->privErrorReset(); + + // ----- Check archive + if (!$this->privCheckFormat()) { + return(0); + } + + // ----- Call the extracting fct + $p_list = array(); + if (($v_result = $this->privList($p_list)) != 1) + { + unset($p_list); + return(0); + } + + // ----- Return + return $p_list; + } + // -------------------------------------------------------------------------------- + + // -------------------------------------------------------------------------------- + // Function : + // extract($p_path="./", $p_remove_path="") + // extract([$p_option, $p_option_value, ...]) + // Description : + // This method supports two synopsis. The first one is historical. + // This method extract all the files / directories from the archive to the + // folder indicated in $p_path. + // If you want to ignore the 'root' part of path of the memorized files + // you can indicate this in the optional $p_remove_path parameter. + // By default, if a newer file with the same name already exists, the + // file is not extracted. + // + // If both PCLZIP_OPT_PATH and PCLZIP_OPT_ADD_PATH aoptions + // are used, the path indicated in PCLZIP_OPT_ADD_PATH is append + // at the end of the path value of PCLZIP_OPT_PATH. + // Parameters : + // $p_path : Path where the files and directories are to be extracted + // $p_remove_path : First part ('root' part) of the memorized path + // (if any similar) to remove while extracting. + // Options : + // PCLZIP_OPT_PATH : + // PCLZIP_OPT_ADD_PATH : + // PCLZIP_OPT_REMOVE_PATH : + // PCLZIP_OPT_REMOVE_ALL_PATH : + // PCLZIP_CB_PRE_EXTRACT : + // PCLZIP_CB_POST_EXTRACT : + // Return Values : + // 0 or a negative value on failure, + // The list of the extracted files, with a status of the action. + // (see PclZip::listContent() for list entry format) + // -------------------------------------------------------------------------------- + function extract() + { + $v_result=1; + + // ----- Reset the error handler + $this->privErrorReset(); + + // ----- Check archive + if (!$this->privCheckFormat()) { + return(0); + } + + // ----- Set default values + $v_options = array(); +// $v_path = "./"; + $v_path = ''; + $v_remove_path = ""; + $v_remove_all_path = false; + + // ----- Look for variable options arguments + $v_size = func_num_args(); + + // ----- Default values for option + $v_options[PCLZIP_OPT_EXTRACT_AS_STRING] = FALSE; + + // ----- Look for arguments + if ($v_size > 0) { + // ----- Get the arguments + $v_arg_list = func_get_args(); + + // ----- Look for first arg + if ((is_integer($v_arg_list[0])) && ($v_arg_list[0] > 77000)) { + + // ----- Parse the options + $v_result = $this->privParseOptions($v_arg_list, $v_size, $v_options, + array (PCLZIP_OPT_PATH => 'optional', + PCLZIP_OPT_REMOVE_PATH => 'optional', + PCLZIP_OPT_REMOVE_ALL_PATH => 'optional', + PCLZIP_OPT_ADD_PATH => 'optional', + PCLZIP_CB_PRE_EXTRACT => 'optional', + PCLZIP_CB_POST_EXTRACT => 'optional', + PCLZIP_OPT_SET_CHMOD => 'optional', + PCLZIP_OPT_BY_NAME => 'optional', + PCLZIP_OPT_BY_EREG => 'optional', + PCLZIP_OPT_BY_PREG => 'optional', + PCLZIP_OPT_BY_INDEX => 'optional', + PCLZIP_OPT_EXTRACT_AS_STRING => 'optional', + PCLZIP_OPT_EXTRACT_IN_OUTPUT => 'optional', + PCLZIP_OPT_REPLACE_NEWER => 'optional' + ,PCLZIP_OPT_STOP_ON_ERROR => 'optional' + ,PCLZIP_OPT_EXTRACT_DIR_RESTRICTION => 'optional', + PCLZIP_OPT_TEMP_FILE_THRESHOLD => 'optional', + PCLZIP_OPT_TEMP_FILE_ON => 'optional', + PCLZIP_OPT_TEMP_FILE_OFF => 'optional' + )); + if ($v_result != 1) { + return 0; + } + + // ----- Set the arguments + if (isset($v_options[PCLZIP_OPT_PATH])) { + $v_path = $v_options[PCLZIP_OPT_PATH]; + } + if (isset($v_options[PCLZIP_OPT_REMOVE_PATH])) { + $v_remove_path = $v_options[PCLZIP_OPT_REMOVE_PATH]; + } + if (isset($v_options[PCLZIP_OPT_REMOVE_ALL_PATH])) { + $v_remove_all_path = $v_options[PCLZIP_OPT_REMOVE_ALL_PATH]; + } + if (isset($v_options[PCLZIP_OPT_ADD_PATH])) { + // ----- Check for '/' in last path char + if ((strlen($v_path) > 0) && (substr($v_path, -1) != '/')) { + $v_path .= '/'; + } + $v_path .= $v_options[PCLZIP_OPT_ADD_PATH]; + } + } + + // ----- Look for 2 args + // Here we need to support the first historic synopsis of the + // method. + else { + + // ----- Get the first argument + $v_path = $v_arg_list[0]; + + // ----- Look for the optional second argument + if ($v_size == 2) { + $v_remove_path = $v_arg_list[1]; + } + else if ($v_size > 2) { + // ----- Error log + PclZip::privErrorLog(PCLZIP_ERR_INVALID_PARAMETER, "Invalid number / type of arguments"); + + // ----- Return + return 0; + } + } + } + + // ----- Look for default option values + $this->privOptionDefaultThreshold($v_options); + + // ----- Trace + + // ----- Call the extracting fct + $p_list = array(); + $v_result = $this->privExtractByRule($p_list, $v_path, $v_remove_path, + $v_remove_all_path, $v_options); + if ($v_result < 1) { + unset($p_list); + return(0); + } + + // ----- Return + return $p_list; + } + // -------------------------------------------------------------------------------- + + + // -------------------------------------------------------------------------------- + // Function : + // extractByIndex($p_index, $p_path="./", $p_remove_path="") + // extractByIndex($p_index, [$p_option, $p_option_value, ...]) + // Description : + // This method supports two synopsis. The first one is historical. + // This method is doing a partial extract of the archive. + // The extracted files or folders are identified by their index in the + // archive (from 0 to n). + // Note that if the index identify a folder, only the folder entry is + // extracted, not all the files included in the archive. + // Parameters : + // $p_index : A single index (integer) or a string of indexes of files to + // extract. The form of the string is "0,4-6,8-12" with only numbers + // and '-' for range or ',' to separate ranges. No spaces or ';' + // are allowed. + // $p_path : Path where the files and directories are to be extracted + // $p_remove_path : First part ('root' part) of the memorized path + // (if any similar) to remove while extracting. + // Options : + // PCLZIP_OPT_PATH : + // PCLZIP_OPT_ADD_PATH : + // PCLZIP_OPT_REMOVE_PATH : + // PCLZIP_OPT_REMOVE_ALL_PATH : + // PCLZIP_OPT_EXTRACT_AS_STRING : The files are extracted as strings and + // not as files. + // The resulting content is in a new field 'content' in the file + // structure. + // This option must be used alone (any other options are ignored). + // PCLZIP_CB_PRE_EXTRACT : + // PCLZIP_CB_POST_EXTRACT : + // Return Values : + // 0 on failure, + // The list of the extracted files, with a status of the action. + // (see PclZip::listContent() for list entry format) + // -------------------------------------------------------------------------------- + //function extractByIndex($p_index, options...) + function extractByIndex($p_index) + { + $v_result=1; + + // ----- Reset the error handler + $this->privErrorReset(); + + // ----- Check archive + if (!$this->privCheckFormat()) { + return(0); + } + + // ----- Set default values + $v_options = array(); +// $v_path = "./"; + $v_path = ''; + $v_remove_path = ""; + $v_remove_all_path = false; + + // ----- Look for variable options arguments + $v_size = func_num_args(); + + // ----- Default values for option + $v_options[PCLZIP_OPT_EXTRACT_AS_STRING] = FALSE; + + // ----- Look for arguments + if ($v_size > 1) { + // ----- Get the arguments + $v_arg_list = func_get_args(); + + // ----- Remove form the options list the first argument + array_shift($v_arg_list); + $v_size--; + + // ----- Look for first arg + if ((is_integer($v_arg_list[0])) && ($v_arg_list[0] > 77000)) { + + // ----- Parse the options + $v_result = $this->privParseOptions($v_arg_list, $v_size, $v_options, + array (PCLZIP_OPT_PATH => 'optional', + PCLZIP_OPT_REMOVE_PATH => 'optional', + PCLZIP_OPT_REMOVE_ALL_PATH => 'optional', + PCLZIP_OPT_EXTRACT_AS_STRING => 'optional', + PCLZIP_OPT_ADD_PATH => 'optional', + PCLZIP_CB_PRE_EXTRACT => 'optional', + PCLZIP_CB_POST_EXTRACT => 'optional', + PCLZIP_OPT_SET_CHMOD => 'optional', + PCLZIP_OPT_REPLACE_NEWER => 'optional' + ,PCLZIP_OPT_STOP_ON_ERROR => 'optional' + ,PCLZIP_OPT_EXTRACT_DIR_RESTRICTION => 'optional', + PCLZIP_OPT_TEMP_FILE_THRESHOLD => 'optional', + PCLZIP_OPT_TEMP_FILE_ON => 'optional', + PCLZIP_OPT_TEMP_FILE_OFF => 'optional' + )); + if ($v_result != 1) { + return 0; + } + + // ----- Set the arguments + if (isset($v_options[PCLZIP_OPT_PATH])) { + $v_path = $v_options[PCLZIP_OPT_PATH]; + } + if (isset($v_options[PCLZIP_OPT_REMOVE_PATH])) { + $v_remove_path = $v_options[PCLZIP_OPT_REMOVE_PATH]; + } + if (isset($v_options[PCLZIP_OPT_REMOVE_ALL_PATH])) { + $v_remove_all_path = $v_options[PCLZIP_OPT_REMOVE_ALL_PATH]; + } + if (isset($v_options[PCLZIP_OPT_ADD_PATH])) { + // ----- Check for '/' in last path char + if ((strlen($v_path) > 0) && (substr($v_path, -1) != '/')) { + $v_path .= '/'; + } + $v_path .= $v_options[PCLZIP_OPT_ADD_PATH]; + } + if (!isset($v_options[PCLZIP_OPT_EXTRACT_AS_STRING])) { + $v_options[PCLZIP_OPT_EXTRACT_AS_STRING] = FALSE; + } + else { + } + } + + // ----- Look for 2 args + // Here we need to support the first historic synopsis of the + // method. + else { + + // ----- Get the first argument + $v_path = $v_arg_list[0]; + + // ----- Look for the optional second argument + if ($v_size == 2) { + $v_remove_path = $v_arg_list[1]; + } + else if ($v_size > 2) { + // ----- Error log + PclZip::privErrorLog(PCLZIP_ERR_INVALID_PARAMETER, "Invalid number / type of arguments"); + + // ----- Return + return 0; + } + } + } + + // ----- Trace + + // ----- Trick + // Here I want to reuse extractByRule(), so I need to parse the $p_index + // with privParseOptions() + $v_arg_trick = array (PCLZIP_OPT_BY_INDEX, $p_index); + $v_options_trick = array(); + $v_result = $this->privParseOptions($v_arg_trick, sizeof($v_arg_trick), $v_options_trick, + array (PCLZIP_OPT_BY_INDEX => 'optional' )); + if ($v_result != 1) { + return 0; + } + $v_options[PCLZIP_OPT_BY_INDEX] = $v_options_trick[PCLZIP_OPT_BY_INDEX]; + + // ----- Look for default option values + $this->privOptionDefaultThreshold($v_options); + + // ----- Call the extracting fct + if (($v_result = $this->privExtractByRule($p_list, $v_path, $v_remove_path, $v_remove_all_path, $v_options)) < 1) { + return(0); + } + + // ----- Return + return $p_list; + } + // -------------------------------------------------------------------------------- + + // -------------------------------------------------------------------------------- + // Function : + // delete([$p_option, $p_option_value, ...]) + // Description : + // This method removes files from the archive. + // If no parameters are given, then all the archive is emptied. + // Parameters : + // None or optional arguments. + // Options : + // PCLZIP_OPT_BY_INDEX : + // PCLZIP_OPT_BY_NAME : + // PCLZIP_OPT_BY_EREG : + // PCLZIP_OPT_BY_PREG : + // Return Values : + // 0 on failure, + // The list of the files which are still present in the archive. + // (see PclZip::listContent() for list entry format) + // -------------------------------------------------------------------------------- + function delete() + { + $v_result=1; + + // ----- Reset the error handler + $this->privErrorReset(); + + // ----- Check archive + if (!$this->privCheckFormat()) { + return(0); + } + + // ----- Set default values + $v_options = array(); + + // ----- Look for variable options arguments + $v_size = func_num_args(); + + // ----- Look for arguments + if ($v_size > 0) { + // ----- Get the arguments + $v_arg_list = func_get_args(); + + // ----- Parse the options + $v_result = $this->privParseOptions($v_arg_list, $v_size, $v_options, + array (PCLZIP_OPT_BY_NAME => 'optional', + PCLZIP_OPT_BY_EREG => 'optional', + PCLZIP_OPT_BY_PREG => 'optional', + PCLZIP_OPT_BY_INDEX => 'optional' )); + if ($v_result != 1) { + return 0; + } + } + + // ----- Magic quotes trick + $this->privDisableMagicQuotes(); + + // ----- Call the delete fct + $v_list = array(); + if (($v_result = $this->privDeleteByRule($v_list, $v_options)) != 1) { + $this->privSwapBackMagicQuotes(); + unset($v_list); + return(0); + } + + // ----- Magic quotes trick + $this->privSwapBackMagicQuotes(); + + // ----- Return + return $v_list; + } + // -------------------------------------------------------------------------------- + + // -------------------------------------------------------------------------------- + // Function : deleteByIndex() + // Description : + // ***** Deprecated ***** + // delete(PCLZIP_OPT_BY_INDEX, $p_index) should be prefered. + // -------------------------------------------------------------------------------- + function deleteByIndex($p_index) + { + + $p_list = $this->delete(PCLZIP_OPT_BY_INDEX, $p_index); + + // ----- Return + return $p_list; + } + // -------------------------------------------------------------------------------- + + // -------------------------------------------------------------------------------- + // Function : properties() + // Description : + // This method gives the properties of the archive. + // The properties are : + // nb : Number of files in the archive + // comment : Comment associated with the archive file + // status : not_exist, ok + // Parameters : + // None + // Return Values : + // 0 on failure, + // An array with the archive properties. + // -------------------------------------------------------------------------------- + function properties() + { + + // ----- Reset the error handler + $this->privErrorReset(); + + // ----- Magic quotes trick + $this->privDisableMagicQuotes(); + + // ----- Check archive + if (!$this->privCheckFormat()) { + $this->privSwapBackMagicQuotes(); + return(0); + } + + // ----- Default properties + $v_prop = array(); + $v_prop['comment'] = ''; + $v_prop['nb'] = 0; + $v_prop['status'] = 'not_exist'; + + // ----- Look if file exists + if (@is_file($this->zipname)) + { + // ----- Open the zip file + if (($this->zip_fd = @fopen($this->zipname, 'rb')) == 0) + { + $this->privSwapBackMagicQuotes(); + + // ----- Error log + PclZip::privErrorLog(PCLZIP_ERR_READ_OPEN_FAIL, 'Unable to open archive \''.$this->zipname.'\' in binary read mode'); + + // ----- Return + return 0; + } + + // ----- Read the central directory informations + $v_central_dir = array(); + if (($v_result = $this->privReadEndCentralDir($v_central_dir)) != 1) + { + $this->privSwapBackMagicQuotes(); + return 0; + } + + // ----- Close the zip file + $this->privCloseFd(); + + // ----- Set the user attributes + $v_prop['comment'] = $v_central_dir['comment']; + $v_prop['nb'] = $v_central_dir['entries']; + $v_prop['status'] = 'ok'; + } + + // ----- Magic quotes trick + $this->privSwapBackMagicQuotes(); + + // ----- Return + return $v_prop; + } + // -------------------------------------------------------------------------------- + + // -------------------------------------------------------------------------------- + // Function : duplicate() + // Description : + // This method creates an archive by copying the content of an other one. If + // the archive already exist, it is replaced by the new one without any warning. + // Parameters : + // $p_archive : The filename of a valid archive, or + // a valid PclZip object. + // Return Values : + // 1 on success. + // 0 or a negative value on error (error code). + // -------------------------------------------------------------------------------- + function duplicate($p_archive) + { + $v_result = 1; + + // ----- Reset the error handler + $this->privErrorReset(); + + // ----- Look if the $p_archive is a PclZip object + if ((is_object($p_archive)) && (get_class($p_archive) == 'pclzip')) + { + + // ----- Duplicate the archive + $v_result = $this->privDuplicate($p_archive->zipname); + } + + // ----- Look if the $p_archive is a string (so a filename) + else if (is_string($p_archive)) + { + + // ----- Check that $p_archive is a valid zip file + // TBC : Should also check the archive format + if (!is_file($p_archive)) { + // ----- Error log + PclZip::privErrorLog(PCLZIP_ERR_MISSING_FILE, "No file with filename '".$p_archive."'"); + $v_result = PCLZIP_ERR_MISSING_FILE; + } + else { + // ----- Duplicate the archive + $v_result = $this->privDuplicate($p_archive); + } + } + + // ----- Invalid variable + else + { + // ----- Error log + PclZip::privErrorLog(PCLZIP_ERR_INVALID_PARAMETER, "Invalid variable type p_archive_to_add"); + $v_result = PCLZIP_ERR_INVALID_PARAMETER; + } + + // ----- Return + return $v_result; + } + // -------------------------------------------------------------------------------- + + // -------------------------------------------------------------------------------- + // Function : merge() + // Description : + // This method merge the $p_archive_to_add archive at the end of the current + // one ($this). + // If the archive ($this) does not exist, the merge becomes a duplicate. + // If the $p_archive_to_add archive does not exist, the merge is a success. + // Parameters : + // $p_archive_to_add : It can be directly the filename of a valid zip archive, + // or a PclZip object archive. + // Return Values : + // 1 on success, + // 0 or negative values on error (see below). + // -------------------------------------------------------------------------------- + function merge($p_archive_to_add) + { + $v_result = 1; + + // ----- Reset the error handler + $this->privErrorReset(); + + // ----- Check archive + if (!$this->privCheckFormat()) { + return(0); + } + + // ----- Look if the $p_archive_to_add is a PclZip object + if ((is_object($p_archive_to_add)) && (get_class($p_archive_to_add) == 'pclzip')) + { + + // ----- Merge the archive + $v_result = $this->privMerge($p_archive_to_add); + } + + // ----- Look if the $p_archive_to_add is a string (so a filename) + else if (is_string($p_archive_to_add)) + { + + // ----- Create a temporary archive + $v_object_archive = new PclZip($p_archive_to_add); + + // ----- Merge the archive + $v_result = $this->privMerge($v_object_archive); + } + + // ----- Invalid variable + else + { + // ----- Error log + PclZip::privErrorLog(PCLZIP_ERR_INVALID_PARAMETER, "Invalid variable type p_archive_to_add"); + $v_result = PCLZIP_ERR_INVALID_PARAMETER; + } + + // ----- Return + return $v_result; + } + // -------------------------------------------------------------------------------- + + + + // -------------------------------------------------------------------------------- + // Function : errorCode() + // Description : + // Parameters : + // -------------------------------------------------------------------------------- + function errorCode() + { + if (PCLZIP_ERROR_EXTERNAL == 1) { + return(PclErrorCode()); + } + else { + return($this->error_code); + } + } + // -------------------------------------------------------------------------------- + + // -------------------------------------------------------------------------------- + // Function : errorName() + // Description : + // Parameters : + // -------------------------------------------------------------------------------- + function errorName($p_with_code=false) + { + $v_name = array ( PCLZIP_ERR_NO_ERROR => 'PCLZIP_ERR_NO_ERROR', + PCLZIP_ERR_WRITE_OPEN_FAIL => 'PCLZIP_ERR_WRITE_OPEN_FAIL', + PCLZIP_ERR_READ_OPEN_FAIL => 'PCLZIP_ERR_READ_OPEN_FAIL', + PCLZIP_ERR_INVALID_PARAMETER => 'PCLZIP_ERR_INVALID_PARAMETER', + PCLZIP_ERR_MISSING_FILE => 'PCLZIP_ERR_MISSING_FILE', + PCLZIP_ERR_FILENAME_TOO_LONG => 'PCLZIP_ERR_FILENAME_TOO_LONG', + PCLZIP_ERR_INVALID_ZIP => 'PCLZIP_ERR_INVALID_ZIP', + PCLZIP_ERR_BAD_EXTRACTED_FILE => 'PCLZIP_ERR_BAD_EXTRACTED_FILE', + PCLZIP_ERR_DIR_CREATE_FAIL => 'PCLZIP_ERR_DIR_CREATE_FAIL', + PCLZIP_ERR_BAD_EXTENSION => 'PCLZIP_ERR_BAD_EXTENSION', + PCLZIP_ERR_BAD_FORMAT => 'PCLZIP_ERR_BAD_FORMAT', + PCLZIP_ERR_DELETE_FILE_FAIL => 'PCLZIP_ERR_DELETE_FILE_FAIL', + PCLZIP_ERR_RENAME_FILE_FAIL => 'PCLZIP_ERR_RENAME_FILE_FAIL', + PCLZIP_ERR_BAD_CHECKSUM => 'PCLZIP_ERR_BAD_CHECKSUM', + PCLZIP_ERR_INVALID_ARCHIVE_ZIP => 'PCLZIP_ERR_INVALID_ARCHIVE_ZIP', + PCLZIP_ERR_MISSING_OPTION_VALUE => 'PCLZIP_ERR_MISSING_OPTION_VALUE', + PCLZIP_ERR_INVALID_OPTION_VALUE => 'PCLZIP_ERR_INVALID_OPTION_VALUE', + PCLZIP_ERR_UNSUPPORTED_COMPRESSION => 'PCLZIP_ERR_UNSUPPORTED_COMPRESSION', + PCLZIP_ERR_UNSUPPORTED_ENCRYPTION => 'PCLZIP_ERR_UNSUPPORTED_ENCRYPTION' + ,PCLZIP_ERR_INVALID_ATTRIBUTE_VALUE => 'PCLZIP_ERR_INVALID_ATTRIBUTE_VALUE' + ,PCLZIP_ERR_DIRECTORY_RESTRICTION => 'PCLZIP_ERR_DIRECTORY_RESTRICTION' + ); + + if (isset($v_name[$this->error_code])) { + $v_value = $v_name[$this->error_code]; + } + else { + $v_value = 'NoName'; + } + + if ($p_with_code) { + return($v_value.' ('.$this->error_code.')'); + } + else { + return($v_value); + } + } + // -------------------------------------------------------------------------------- + + // -------------------------------------------------------------------------------- + // Function : errorInfo() + // Description : + // Parameters : + // -------------------------------------------------------------------------------- + function errorInfo($p_full=false) + { + if (PCLZIP_ERROR_EXTERNAL == 1) { + return(PclErrorString()); + } + else { + if ($p_full) { + return($this->errorName(true)." : ".$this->error_string); + } + else { + return($this->error_string." [code ".$this->error_code."]"); + } + } + } + // -------------------------------------------------------------------------------- + + +// -------------------------------------------------------------------------------- +// ***** UNDER THIS LINE ARE DEFINED PRIVATE INTERNAL FUNCTIONS ***** +// ***** ***** +// ***** THESES FUNCTIONS MUST NOT BE USED DIRECTLY ***** +// -------------------------------------------------------------------------------- + + + + // -------------------------------------------------------------------------------- + // Function : privCheckFormat() + // Description : + // This method check that the archive exists and is a valid zip archive. + // Several level of check exists. (futur) + // Parameters : + // $p_level : Level of check. Default 0. + // 0 : Check the first bytes (magic codes) (default value)) + // 1 : 0 + Check the central directory (futur) + // 2 : 1 + Check each file header (futur) + // Return Values : + // true on success, + // false on error, the error code is set. + // -------------------------------------------------------------------------------- + function privCheckFormat($p_level=0) + { + $v_result = true; + + // ----- Reset the file system cache + clearstatcache(); + + // ----- Reset the error handler + $this->privErrorReset(); + + // ----- Look if the file exits + if (!is_file($this->zipname)) { + // ----- Error log + PclZip::privErrorLog(PCLZIP_ERR_MISSING_FILE, "Missing archive file '".$this->zipname."'"); + return(false); + } + + // ----- Check that the file is readeable + if (!is_readable($this->zipname)) { + // ----- Error log + PclZip::privErrorLog(PCLZIP_ERR_READ_OPEN_FAIL, "Unable to read archive '".$this->zipname."'"); + return(false); + } + + // ----- Check the magic code + // TBC + + // ----- Check the central header + // TBC + + // ----- Check each file header + // TBC + + // ----- Return + return $v_result; + } + // -------------------------------------------------------------------------------- + + // -------------------------------------------------------------------------------- + // Function : privParseOptions() + // Description : + // This internal methods reads the variable list of arguments ($p_options_list, + // $p_size) and generate an array with the options and values ($v_result_list). + // $v_requested_options contains the options that can be present and those that + // must be present. + // $v_requested_options is an array, with the option value as key, and 'optional', + // or 'mandatory' as value. + // Parameters : + // See above. + // Return Values : + // 1 on success. + // 0 on failure. + // -------------------------------------------------------------------------------- + function privParseOptions(&$p_options_list, $p_size, &$v_result_list, $v_requested_options=false) + { + $v_result=1; + + // ----- Read the options + $i=0; + while ($i<$p_size) { + + // ----- Check if the option is supported + if (!isset($v_requested_options[$p_options_list[$i]])) { + // ----- Error log + PclZip::privErrorLog(PCLZIP_ERR_INVALID_PARAMETER, "Invalid optional parameter '".$p_options_list[$i]."' for this method"); + + // ----- Return + return PclZip::errorCode(); + } + + // ----- Look for next option + switch ($p_options_list[$i]) { + // ----- Look for options that request a path value + case PCLZIP_OPT_PATH : + case PCLZIP_OPT_REMOVE_PATH : + case PCLZIP_OPT_ADD_PATH : + // ----- Check the number of parameters + if (($i+1) >= $p_size) { + // ----- Error log + PclZip::privErrorLog(PCLZIP_ERR_MISSING_OPTION_VALUE, "Missing parameter value for option '".PclZipUtilOptionText($p_options_list[$i])."'"); + + // ----- Return + return PclZip::errorCode(); + } + + // ----- Get the value + $v_result_list[$p_options_list[$i]] = PclZipUtilTranslateWinPath($p_options_list[$i+1], FALSE); + $i++; + break; + + case PCLZIP_OPT_TEMP_FILE_THRESHOLD : + // ----- Check the number of parameters + if (($i+1) >= $p_size) { + PclZip::privErrorLog(PCLZIP_ERR_MISSING_OPTION_VALUE, "Missing parameter value for option '".PclZipUtilOptionText($p_options_list[$i])."'"); + return PclZip::errorCode(); + } + + // ----- Check for incompatible options + if (isset($v_result_list[PCLZIP_OPT_TEMP_FILE_OFF])) { + PclZip::privErrorLog(PCLZIP_ERR_INVALID_PARAMETER, "Option '".PclZipUtilOptionText($p_options_list[$i])."' can not be used with option 'PCLZIP_OPT_TEMP_FILE_OFF'"); + return PclZip::errorCode(); + } + + // ----- Check the value + $v_value = $p_options_list[$i+1]; + if ((!is_integer($v_value)) || ($v_value<0)) { + PclZip::privErrorLog(PCLZIP_ERR_INVALID_OPTION_VALUE, "Integer expected for option '".PclZipUtilOptionText($p_options_list[$i])."'"); + return PclZip::errorCode(); + } + + // ----- Get the value (and convert it in bytes) + $v_result_list[$p_options_list[$i]] = $v_value*1048576; + $i++; + break; + + case PCLZIP_OPT_TEMP_FILE_ON : + // ----- Check for incompatible options + if (isset($v_result_list[PCLZIP_OPT_TEMP_FILE_OFF])) { + PclZip::privErrorLog(PCLZIP_ERR_INVALID_PARAMETER, "Option '".PclZipUtilOptionText($p_options_list[$i])."' can not be used with option 'PCLZIP_OPT_TEMP_FILE_OFF'"); + return PclZip::errorCode(); + } + + $v_result_list[$p_options_list[$i]] = true; + break; + + case PCLZIP_OPT_TEMP_FILE_OFF : + // ----- Check for incompatible options + if (isset($v_result_list[PCLZIP_OPT_TEMP_FILE_ON])) { + PclZip::privErrorLog(PCLZIP_ERR_INVALID_PARAMETER, "Option '".PclZipUtilOptionText($p_options_list[$i])."' can not be used with option 'PCLZIP_OPT_TEMP_FILE_ON'"); + return PclZip::errorCode(); + } + // ----- Check for incompatible options + if (isset($v_result_list[PCLZIP_OPT_TEMP_FILE_THRESHOLD])) { + PclZip::privErrorLog(PCLZIP_ERR_INVALID_PARAMETER, "Option '".PclZipUtilOptionText($p_options_list[$i])."' can not be used with option 'PCLZIP_OPT_TEMP_FILE_THRESHOLD'"); + return PclZip::errorCode(); + } + + $v_result_list[$p_options_list[$i]] = true; + break; + + case PCLZIP_OPT_EXTRACT_DIR_RESTRICTION : + // ----- Check the number of parameters + if (($i+1) >= $p_size) { + // ----- Error log + PclZip::privErrorLog(PCLZIP_ERR_MISSING_OPTION_VALUE, "Missing parameter value for option '".PclZipUtilOptionText($p_options_list[$i])."'"); + + // ----- Return + return PclZip::errorCode(); + } + + // ----- Get the value + if ( is_string($p_options_list[$i+1]) + && ($p_options_list[$i+1] != '')) { + $v_result_list[$p_options_list[$i]] = PclZipUtilTranslateWinPath($p_options_list[$i+1], FALSE); + $i++; + } + else { + } + break; + + // ----- Look for options that request an array of string for value + case PCLZIP_OPT_BY_NAME : + // ----- Check the number of parameters + if (($i+1) >= $p_size) { + // ----- Error log + PclZip::privErrorLog(PCLZIP_ERR_MISSING_OPTION_VALUE, "Missing parameter value for option '".PclZipUtilOptionText($p_options_list[$i])."'"); + + // ----- Return + return PclZip::errorCode(); + } + + // ----- Get the value + if (is_string($p_options_list[$i+1])) { + $v_result_list[$p_options_list[$i]][0] = $p_options_list[$i+1]; + } + else if (is_array($p_options_list[$i+1])) { + $v_result_list[$p_options_list[$i]] = $p_options_list[$i+1]; + } + else { + // ----- Error log + PclZip::privErrorLog(PCLZIP_ERR_INVALID_OPTION_VALUE, "Wrong parameter value for option '".PclZipUtilOptionText($p_options_list[$i])."'"); + + // ----- Return + return PclZip::errorCode(); + } + $i++; + break; + + // ----- Look for options that request an EREG or PREG expression + case PCLZIP_OPT_BY_EREG : + // ereg() is deprecated starting with PHP 5.3. Move PCLZIP_OPT_BY_EREG + // to PCLZIP_OPT_BY_PREG + $p_options_list[$i] = PCLZIP_OPT_BY_PREG; + case PCLZIP_OPT_BY_PREG : + //case PCLZIP_OPT_CRYPT : + // ----- Check the number of parameters + if (($i+1) >= $p_size) { + // ----- Error log + PclZip::privErrorLog(PCLZIP_ERR_MISSING_OPTION_VALUE, "Missing parameter value for option '".PclZipUtilOptionText($p_options_list[$i])."'"); + + // ----- Return + return PclZip::errorCode(); + } + + // ----- Get the value + if (is_string($p_options_list[$i+1])) { + $v_result_list[$p_options_list[$i]] = $p_options_list[$i+1]; + } + else { + // ----- Error log + PclZip::privErrorLog(PCLZIP_ERR_INVALID_OPTION_VALUE, "Wrong parameter value for option '".PclZipUtilOptionText($p_options_list[$i])."'"); + + // ----- Return + return PclZip::errorCode(); + } + $i++; + break; + + // ----- Look for options that takes a string + case PCLZIP_OPT_COMMENT : + case PCLZIP_OPT_ADD_COMMENT : + case PCLZIP_OPT_PREPEND_COMMENT : + // ----- Check the number of parameters + if (($i+1) >= $p_size) { + // ----- Error log + PclZip::privErrorLog(PCLZIP_ERR_MISSING_OPTION_VALUE, + "Missing parameter value for option '" + .PclZipUtilOptionText($p_options_list[$i]) + ."'"); + + // ----- Return + return PclZip::errorCode(); + } + + // ----- Get the value + if (is_string($p_options_list[$i+1])) { + $v_result_list[$p_options_list[$i]] = $p_options_list[$i+1]; + } + else { + // ----- Error log + PclZip::privErrorLog(PCLZIP_ERR_INVALID_OPTION_VALUE, + "Wrong parameter value for option '" + .PclZipUtilOptionText($p_options_list[$i]) + ."'"); + + // ----- Return + return PclZip::errorCode(); + } + $i++; + break; + + // ----- Look for options that request an array of index + case PCLZIP_OPT_BY_INDEX : + // ----- Check the number of parameters + if (($i+1) >= $p_size) { + // ----- Error log + PclZip::privErrorLog(PCLZIP_ERR_MISSING_OPTION_VALUE, "Missing parameter value for option '".PclZipUtilOptionText($p_options_list[$i])."'"); + + // ----- Return + return PclZip::errorCode(); + } + + // ----- Get the value + $v_work_list = array(); + if (is_string($p_options_list[$i+1])) { + + // ----- Remove spaces + $p_options_list[$i+1] = strtr($p_options_list[$i+1], ' ', ''); + + // ----- Parse items + $v_work_list = explode(",", $p_options_list[$i+1]); + } + else if (is_integer($p_options_list[$i+1])) { + $v_work_list[0] = $p_options_list[$i+1].'-'.$p_options_list[$i+1]; + } + else if (is_array($p_options_list[$i+1])) { + $v_work_list = $p_options_list[$i+1]; + } + else { + // ----- Error log + PclZip::privErrorLog(PCLZIP_ERR_INVALID_OPTION_VALUE, "Value must be integer, string or array for option '".PclZipUtilOptionText($p_options_list[$i])."'"); + + // ----- Return + return PclZip::errorCode(); + } + + // ----- Reduce the index list + // each index item in the list must be a couple with a start and + // an end value : [0,3], [5-5], [8-10], ... + // ----- Check the format of each item + $v_sort_flag=false; + $v_sort_value=0; + for ($j=0; $j<sizeof($v_work_list); $j++) { + // ----- Explode the item + $v_item_list = explode("-", $v_work_list[$j]); + $v_size_item_list = sizeof($v_item_list); + + // ----- TBC : Here we might check that each item is a + // real integer ... + + // ----- Look for single value + if ($v_size_item_list == 1) { + // ----- Set the option value + $v_result_list[$p_options_list[$i]][$j]['start'] = $v_item_list[0]; + $v_result_list[$p_options_list[$i]][$j]['end'] = $v_item_list[0]; + } + elseif ($v_size_item_list == 2) { + // ----- Set the option value + $v_result_list[$p_options_list[$i]][$j]['start'] = $v_item_list[0]; + $v_result_list[$p_options_list[$i]][$j]['end'] = $v_item_list[1]; + } + else { + // ----- Error log + PclZip::privErrorLog(PCLZIP_ERR_INVALID_OPTION_VALUE, "Too many values in index range for option '".PclZipUtilOptionText($p_options_list[$i])."'"); + + // ----- Return + return PclZip::errorCode(); + } + + + // ----- Look for list sort + if ($v_result_list[$p_options_list[$i]][$j]['start'] < $v_sort_value) { + $v_sort_flag=true; + + // ----- TBC : An automatic sort should be writen ... + // ----- Error log + PclZip::privErrorLog(PCLZIP_ERR_INVALID_OPTION_VALUE, "Invalid order of index range for option '".PclZipUtilOptionText($p_options_list[$i])."'"); + + // ----- Return + return PclZip::errorCode(); + } + $v_sort_value = $v_result_list[$p_options_list[$i]][$j]['start']; + } + + // ----- Sort the items + if ($v_sort_flag) { + // TBC : To Be Completed + } + + // ----- Next option + $i++; + break; + + // ----- Look for options that request no value + case PCLZIP_OPT_REMOVE_ALL_PATH : + case PCLZIP_OPT_EXTRACT_AS_STRING : + case PCLZIP_OPT_NO_COMPRESSION : + case PCLZIP_OPT_EXTRACT_IN_OUTPUT : + case PCLZIP_OPT_REPLACE_NEWER : + case PCLZIP_OPT_STOP_ON_ERROR : + $v_result_list[$p_options_list[$i]] = true; + break; + + // ----- Look for options that request an octal value + case PCLZIP_OPT_SET_CHMOD : + // ----- Check the number of parameters + if (($i+1) >= $p_size) { + // ----- Error log + PclZip::privErrorLog(PCLZIP_ERR_MISSING_OPTION_VALUE, "Missing parameter value for option '".PclZipUtilOptionText($p_options_list[$i])."'"); + + // ----- Return + return PclZip::errorCode(); + } + + // ----- Get the value + $v_result_list[$p_options_list[$i]] = $p_options_list[$i+1]; + $i++; + break; + + // ----- Look for options that request a call-back + case PCLZIP_CB_PRE_EXTRACT : + case PCLZIP_CB_POST_EXTRACT : + case PCLZIP_CB_PRE_ADD : + case PCLZIP_CB_POST_ADD : + /* for futur use + case PCLZIP_CB_PRE_DELETE : + case PCLZIP_CB_POST_DELETE : + case PCLZIP_CB_PRE_LIST : + case PCLZIP_CB_POST_LIST : + */ + // ----- Check the number of parameters + if (($i+1) >= $p_size) { + // ----- Error log + PclZip::privErrorLog(PCLZIP_ERR_MISSING_OPTION_VALUE, "Missing parameter value for option '".PclZipUtilOptionText($p_options_list[$i])."'"); + + // ----- Return + return PclZip::errorCode(); + } + + // ----- Get the value + $v_function_name = $p_options_list[$i+1]; + + // ----- Check that the value is a valid existing function + if (!function_exists($v_function_name)) { + // ----- Error log + PclZip::privErrorLog(PCLZIP_ERR_INVALID_OPTION_VALUE, "Function '".$v_function_name."()' is not an existing function for option '".PclZipUtilOptionText($p_options_list[$i])."'"); + + // ----- Return + return PclZip::errorCode(); + } + + // ----- Set the attribute + $v_result_list[$p_options_list[$i]] = $v_function_name; + $i++; + break; + + default : + // ----- Error log + PclZip::privErrorLog(PCLZIP_ERR_INVALID_PARAMETER, + "Unknown parameter '" + .$p_options_list[$i]."'"); + + // ----- Return + return PclZip::errorCode(); + } + + // ----- Next options + $i++; + } + + // ----- Look for mandatory options + if ($v_requested_options !== false) { + for ($key=reset($v_requested_options); $key=key($v_requested_options); $key=next($v_requested_options)) { + // ----- Look for mandatory option + if ($v_requested_options[$key] == 'mandatory') { + // ----- Look if present + if (!isset($v_result_list[$key])) { + // ----- Error log + PclZip::privErrorLog(PCLZIP_ERR_INVALID_PARAMETER, "Missing mandatory parameter ".PclZipUtilOptionText($key)."(".$key.")"); + + // ----- Return + return PclZip::errorCode(); + } + } + } + } + + // ----- Look for default values + if (!isset($v_result_list[PCLZIP_OPT_TEMP_FILE_THRESHOLD])) { + + } + + // ----- Return + return $v_result; + } + // -------------------------------------------------------------------------------- + + // -------------------------------------------------------------------------------- + // Function : privOptionDefaultThreshold() + // Description : + // Parameters : + // Return Values : + // -------------------------------------------------------------------------------- + function privOptionDefaultThreshold(&$p_options) + { + $v_result=1; + + if (isset($p_options[PCLZIP_OPT_TEMP_FILE_THRESHOLD]) + || isset($p_options[PCLZIP_OPT_TEMP_FILE_OFF])) { + return $v_result; + } + + // ----- Get 'memory_limit' configuration value + $v_memory_limit = ini_get('memory_limit'); + $v_memory_limit = trim($v_memory_limit); + $last = strtolower(substr($v_memory_limit, -1)); + + if($last == 'g') + //$v_memory_limit = $v_memory_limit*1024*1024*1024; + $v_memory_limit = $v_memory_limit*1073741824; + if($last == 'm') + //$v_memory_limit = $v_memory_limit*1024*1024; + $v_memory_limit = $v_memory_limit*1048576; + if($last == 'k') + $v_memory_limit = $v_memory_limit*1024; + + $p_options[PCLZIP_OPT_TEMP_FILE_THRESHOLD] = floor($v_memory_limit*PCLZIP_TEMPORARY_FILE_RATIO); + + + // ----- Sanity check : No threshold if value lower than 1M + if ($p_options[PCLZIP_OPT_TEMP_FILE_THRESHOLD] < 1048576) { + unset($p_options[PCLZIP_OPT_TEMP_FILE_THRESHOLD]); + } + + // ----- Return + return $v_result; + } + // -------------------------------------------------------------------------------- + + // -------------------------------------------------------------------------------- + // Function : privFileDescrParseAtt() + // Description : + // Parameters : + // Return Values : + // 1 on success. + // 0 on failure. + // -------------------------------------------------------------------------------- + function privFileDescrParseAtt(&$p_file_list, &$p_filedescr, $v_options, $v_requested_options=false) + { + $v_result=1; + + // ----- For each file in the list check the attributes + foreach ($p_file_list as $v_key => $v_value) { + + // ----- Check if the option is supported + if (!isset($v_requested_options[$v_key])) { + // ----- Error log + PclZip::privErrorLog(PCLZIP_ERR_INVALID_PARAMETER, "Invalid file attribute '".$v_key."' for this file"); + + // ----- Return + return PclZip::errorCode(); + } + + // ----- Look for attribute + switch ($v_key) { + case PCLZIP_ATT_FILE_NAME : + if (!is_string($v_value)) { + PclZip::privErrorLog(PCLZIP_ERR_INVALID_ATTRIBUTE_VALUE, "Invalid type ".gettype($v_value).". String expected for attribute '".PclZipUtilOptionText($v_key)."'"); + return PclZip::errorCode(); + } + + $p_filedescr['filename'] = PclZipUtilPathReduction($v_value); + + if ($p_filedescr['filename'] == '') { + PclZip::privErrorLog(PCLZIP_ERR_INVALID_ATTRIBUTE_VALUE, "Invalid empty filename for attribute '".PclZipUtilOptionText($v_key)."'"); + return PclZip::errorCode(); + } + + break; + + case PCLZIP_ATT_FILE_NEW_SHORT_NAME : + if (!is_string($v_value)) { + PclZip::privErrorLog(PCLZIP_ERR_INVALID_ATTRIBUTE_VALUE, "Invalid type ".gettype($v_value).". String expected for attribute '".PclZipUtilOptionText($v_key)."'"); + return PclZip::errorCode(); + } + + $p_filedescr['new_short_name'] = PclZipUtilPathReduction($v_value); + + if ($p_filedescr['new_short_name'] == '') { + PclZip::privErrorLog(PCLZIP_ERR_INVALID_ATTRIBUTE_VALUE, "Invalid empty short filename for attribute '".PclZipUtilOptionText($v_key)."'"); + return PclZip::errorCode(); + } + break; + + case PCLZIP_ATT_FILE_NEW_FULL_NAME : + if (!is_string($v_value)) { + PclZip::privErrorLog(PCLZIP_ERR_INVALID_ATTRIBUTE_VALUE, "Invalid type ".gettype($v_value).". String expected for attribute '".PclZipUtilOptionText($v_key)."'"); + return PclZip::errorCode(); + } + + $p_filedescr['new_full_name'] = PclZipUtilPathReduction($v_value); + + if ($p_filedescr['new_full_name'] == '') { + PclZip::privErrorLog(PCLZIP_ERR_INVALID_ATTRIBUTE_VALUE, "Invalid empty full filename for attribute '".PclZipUtilOptionText($v_key)."'"); + return PclZip::errorCode(); + } + break; + + // ----- Look for options that takes a string + case PCLZIP_ATT_FILE_COMMENT : + if (!is_string($v_value)) { + PclZip::privErrorLog(PCLZIP_ERR_INVALID_ATTRIBUTE_VALUE, "Invalid type ".gettype($v_value).". String expected for attribute '".PclZipUtilOptionText($v_key)."'"); + return PclZip::errorCode(); + } + + $p_filedescr['comment'] = $v_value; + break; + + case PCLZIP_ATT_FILE_MTIME : + if (!is_integer($v_value)) { + PclZip::privErrorLog(PCLZIP_ERR_INVALID_ATTRIBUTE_VALUE, "Invalid type ".gettype($v_value).". Integer expected for attribute '".PclZipUtilOptionText($v_key)."'"); + return PclZip::errorCode(); + } + + $p_filedescr['mtime'] = $v_value; + break; + + case PCLZIP_ATT_FILE_CONTENT : + $p_filedescr['content'] = $v_value; + break; + + default : + // ----- Error log + PclZip::privErrorLog(PCLZIP_ERR_INVALID_PARAMETER, + "Unknown parameter '".$v_key."'"); + + // ----- Return + return PclZip::errorCode(); + } + + // ----- Look for mandatory options + if ($v_requested_options !== false) { + for ($key=reset($v_requested_options); $key=key($v_requested_options); $key=next($v_requested_options)) { + // ----- Look for mandatory option + if ($v_requested_options[$key] == 'mandatory') { + // ----- Look if present + if (!isset($p_file_list[$key])) { + PclZip::privErrorLog(PCLZIP_ERR_INVALID_PARAMETER, "Missing mandatory parameter ".PclZipUtilOptionText($key)."(".$key.")"); + return PclZip::errorCode(); + } + } + } + } + + // end foreach + } + + // ----- Return + return $v_result; + } + // -------------------------------------------------------------------------------- + + // -------------------------------------------------------------------------------- + // Function : privFileDescrExpand() + // Description : + // This method look for each item of the list to see if its a file, a folder + // or a string to be added as file. For any other type of files (link, other) + // just ignore the item. + // Then prepare the information that will be stored for that file. + // When its a folder, expand the folder with all the files that are in that + // folder (recursively). + // Parameters : + // Return Values : + // 1 on success. + // 0 on failure. + // -------------------------------------------------------------------------------- + function privFileDescrExpand(&$p_filedescr_list, &$p_options) + { + $v_result=1; + + // ----- Create a result list + $v_result_list = array(); + + // ----- Look each entry + for ($i=0; $i<sizeof($p_filedescr_list); $i++) { + + // ----- Get filedescr + $v_descr = $p_filedescr_list[$i]; + + // ----- Reduce the filename + $v_descr['filename'] = PclZipUtilTranslateWinPath($v_descr['filename'], false); + $v_descr['filename'] = PclZipUtilPathReduction($v_descr['filename']); + + // ----- Look for real file or folder + if (file_exists($v_descr['filename'])) { + if (@is_file($v_descr['filename'])) { + $v_descr['type'] = 'file'; + } + else if (@is_dir($v_descr['filename'])) { + $v_descr['type'] = 'folder'; + } + else if (@is_link($v_descr['filename'])) { + // skip + continue; + } + else { + // skip + continue; + } + } + + // ----- Look for string added as file + else if (isset($v_descr['content'])) { + $v_descr['type'] = 'virtual_file'; + } + + // ----- Missing file + else { + // ----- Error log + PclZip::privErrorLog(PCLZIP_ERR_MISSING_FILE, "File '".$v_descr['filename']."' does not exist"); + + // ----- Return + return PclZip::errorCode(); + } + + // ----- Calculate the stored filename + $this->privCalculateStoredFilename($v_descr, $p_options); + + // ----- Add the descriptor in result list + $v_result_list[sizeof($v_result_list)] = $v_descr; + + // ----- Look for folder + if ($v_descr['type'] == 'folder') { + // ----- List of items in folder + $v_dirlist_descr = array(); + $v_dirlist_nb = 0; + if ($v_folder_handler = @opendir($v_descr['filename'])) { + while (($v_item_handler = @readdir($v_folder_handler)) !== false) { + + // ----- Skip '.' and '..' + if (($v_item_handler == '.') || ($v_item_handler == '..')) { + continue; + } + + // ----- Compose the full filename + $v_dirlist_descr[$v_dirlist_nb]['filename'] = $v_descr['filename'].'/'.$v_item_handler; + + // ----- Look for different stored filename + // Because the name of the folder was changed, the name of the + // files/sub-folders also change + if (($v_descr['stored_filename'] != $v_descr['filename']) + && (!isset($p_options[PCLZIP_OPT_REMOVE_ALL_PATH]))) { + if ($v_descr['stored_filename'] != '') { + $v_dirlist_descr[$v_dirlist_nb]['new_full_name'] = $v_descr['stored_filename'].'/'.$v_item_handler; + } + else { + $v_dirlist_descr[$v_dirlist_nb]['new_full_name'] = $v_item_handler; + } + } + + $v_dirlist_nb++; + } + + @closedir($v_folder_handler); + } + else { + // TBC : unable to open folder in read mode + } + + // ----- Expand each element of the list + if ($v_dirlist_nb != 0) { + // ----- Expand + if (($v_result = $this->privFileDescrExpand($v_dirlist_descr, $p_options)) != 1) { + return $v_result; + } + + // ----- Concat the resulting list + $v_result_list = array_merge($v_result_list, $v_dirlist_descr); + } + else { + } + + // ----- Free local array + unset($v_dirlist_descr); + } + } + + // ----- Get the result list + $p_filedescr_list = $v_result_list; + + // ----- Return + return $v_result; + } + // -------------------------------------------------------------------------------- + + // -------------------------------------------------------------------------------- + // Function : privCreate() + // Description : + // Parameters : + // Return Values : + // -------------------------------------------------------------------------------- + function privCreate($p_filedescr_list, &$p_result_list, &$p_options) + { + $v_result=1; + $v_list_detail = array(); + + // ----- Magic quotes trick + $this->privDisableMagicQuotes(); + + // ----- Open the file in write mode + if (($v_result = $this->privOpenFd('wb')) != 1) + { + // ----- Return + return $v_result; + } + + // ----- Add the list of files + $v_result = $this->privAddList($p_filedescr_list, $p_result_list, $p_options); + + // ----- Close + $this->privCloseFd(); + + // ----- Magic quotes trick + $this->privSwapBackMagicQuotes(); + + // ----- Return + return $v_result; + } + // -------------------------------------------------------------------------------- + + // -------------------------------------------------------------------------------- + // Function : privAdd() + // Description : + // Parameters : + // Return Values : + // -------------------------------------------------------------------------------- + function privAdd($p_filedescr_list, &$p_result_list, &$p_options) + { + $v_result=1; + $v_list_detail = array(); + + // ----- Look if the archive exists or is empty + if ((!is_file($this->zipname)) || (filesize($this->zipname) == 0)) + { + + // ----- Do a create + $v_result = $this->privCreate($p_filedescr_list, $p_result_list, $p_options); + + // ----- Return + return $v_result; + } + // ----- Magic quotes trick + $this->privDisableMagicQuotes(); + + // ----- Open the zip file + if (($v_result=$this->privOpenFd('rb')) != 1) + { + // ----- Magic quotes trick + $this->privSwapBackMagicQuotes(); + + // ----- Return + return $v_result; + } + + // ----- Read the central directory informations + $v_central_dir = array(); + if (($v_result = $this->privReadEndCentralDir($v_central_dir)) != 1) + { + $this->privCloseFd(); + $this->privSwapBackMagicQuotes(); + return $v_result; + } + + // ----- Go to beginning of File + @rewind($this->zip_fd); + + // ----- Creates a temporay file + $v_zip_temp_name = PCLZIP_TEMPORARY_DIR.uniqid('pclzip-').'.tmp'; + + // ----- Open the temporary file in write mode + if (($v_zip_temp_fd = @fopen($v_zip_temp_name, 'wb')) == 0) + { + $this->privCloseFd(); + $this->privSwapBackMagicQuotes(); + + PclZip::privErrorLog(PCLZIP_ERR_READ_OPEN_FAIL, 'Unable to open temporary file \''.$v_zip_temp_name.'\' in binary write mode'); + + // ----- Return + return PclZip::errorCode(); + } + + // ----- Copy the files from the archive to the temporary file + // TBC : Here I should better append the file and go back to erase the central dir + $v_size = $v_central_dir['offset']; + while ($v_size != 0) + { + $v_read_size = ($v_size < PCLZIP_READ_BLOCK_SIZE ? $v_size : PCLZIP_READ_BLOCK_SIZE); + $v_buffer = fread($this->zip_fd, $v_read_size); + @fwrite($v_zip_temp_fd, $v_buffer, $v_read_size); + $v_size -= $v_read_size; + } + + // ----- Swap the file descriptor + // Here is a trick : I swap the temporary fd with the zip fd, in order to use + // the following methods on the temporary fil and not the real archive + $v_swap = $this->zip_fd; + $this->zip_fd = $v_zip_temp_fd; + $v_zip_temp_fd = $v_swap; + + // ----- Add the files + $v_header_list = array(); + if (($v_result = $this->privAddFileList($p_filedescr_list, $v_header_list, $p_options)) != 1) + { + fclose($v_zip_temp_fd); + $this->privCloseFd(); + @unlink($v_zip_temp_name); + $this->privSwapBackMagicQuotes(); + + // ----- Return + return $v_result; + } + + // ----- Store the offset of the central dir + $v_offset = @ftell($this->zip_fd); + + // ----- Copy the block of file headers from the old archive + $v_size = $v_central_dir['size']; + while ($v_size != 0) + { + $v_read_size = ($v_size < PCLZIP_READ_BLOCK_SIZE ? $v_size : PCLZIP_READ_BLOCK_SIZE); + $v_buffer = @fread($v_zip_temp_fd, $v_read_size); + @fwrite($this->zip_fd, $v_buffer, $v_read_size); + $v_size -= $v_read_size; + } + + // ----- Create the Central Dir files header + for ($i=0, $v_count=0; $i<sizeof($v_header_list); $i++) + { + // ----- Create the file header + if ($v_header_list[$i]['status'] == 'ok') { + if (($v_result = $this->privWriteCentralFileHeader($v_header_list[$i])) != 1) { + fclose($v_zip_temp_fd); + $this->privCloseFd(); + @unlink($v_zip_temp_name); + $this->privSwapBackMagicQuotes(); + + // ----- Return + return $v_result; + } + $v_count++; + } + + // ----- Transform the header to a 'usable' info + $this->privConvertHeader2FileInfo($v_header_list[$i], $p_result_list[$i]); + } + + // ----- Zip file comment + $v_comment = $v_central_dir['comment']; + if (isset($p_options[PCLZIP_OPT_COMMENT])) { + $v_comment = $p_options[PCLZIP_OPT_COMMENT]; + } + if (isset($p_options[PCLZIP_OPT_ADD_COMMENT])) { + $v_comment = $v_comment.$p_options[PCLZIP_OPT_ADD_COMMENT]; + } + if (isset($p_options[PCLZIP_OPT_PREPEND_COMMENT])) { + $v_comment = $p_options[PCLZIP_OPT_PREPEND_COMMENT].$v_comment; + } + + // ----- Calculate the size of the central header + $v_size = @ftell($this->zip_fd)-$v_offset; + + // ----- Create the central dir footer + if (($v_result = $this->privWriteCentralHeader($v_count+$v_central_dir['entries'], $v_size, $v_offset, $v_comment)) != 1) + { + // ----- Reset the file list + unset($v_header_list); + $this->privSwapBackMagicQuotes(); + + // ----- Return + return $v_result; + } + + // ----- Swap back the file descriptor + $v_swap = $this->zip_fd; + $this->zip_fd = $v_zip_temp_fd; + $v_zip_temp_fd = $v_swap; + + // ----- Close + $this->privCloseFd(); + + // ----- Close the temporary file + @fclose($v_zip_temp_fd); + + // ----- Magic quotes trick + $this->privSwapBackMagicQuotes(); + + // ----- Delete the zip file + // TBC : I should test the result ... + @unlink($this->zipname); + + // ----- Rename the temporary file + // TBC : I should test the result ... + //@rename($v_zip_temp_name, $this->zipname); + PclZipUtilRename($v_zip_temp_name, $this->zipname); + + // ----- Return + return $v_result; + } + // -------------------------------------------------------------------------------- + + // -------------------------------------------------------------------------------- + // Function : privOpenFd() + // Description : + // Parameters : + // -------------------------------------------------------------------------------- + function privOpenFd($p_mode) + { + $v_result=1; + + // ----- Look if already open + if ($this->zip_fd != 0) + { + // ----- Error log + PclZip::privErrorLog(PCLZIP_ERR_READ_OPEN_FAIL, 'Zip file \''.$this->zipname.'\' already open'); + + // ----- Return + return PclZip::errorCode(); + } + + // ----- Open the zip file + if (($this->zip_fd = @fopen($this->zipname, $p_mode)) == 0) + { + // ----- Error log + PclZip::privErrorLog(PCLZIP_ERR_READ_OPEN_FAIL, 'Unable to open archive \''.$this->zipname.'\' in '.$p_mode.' mode'); + + // ----- Return + return PclZip::errorCode(); + } + + // ----- Return + return $v_result; + } + // -------------------------------------------------------------------------------- + + // -------------------------------------------------------------------------------- + // Function : privCloseFd() + // Description : + // Parameters : + // -------------------------------------------------------------------------------- + function privCloseFd() + { + $v_result=1; + + if ($this->zip_fd != 0) + @fclose($this->zip_fd); + $this->zip_fd = 0; + + // ----- Return + return $v_result; + } + // -------------------------------------------------------------------------------- + + // -------------------------------------------------------------------------------- + // Function : privAddList() + // Description : + // $p_add_dir and $p_remove_dir will give the ability to memorize a path which is + // different from the real path of the file. This is usefull if you want to have PclTar + // running in any directory, and memorize relative path from an other directory. + // Parameters : + // $p_list : An array containing the file or directory names to add in the tar + // $p_result_list : list of added files with their properties (specially the status field) + // $p_add_dir : Path to add in the filename path archived + // $p_remove_dir : Path to remove in the filename path archived + // Return Values : + // -------------------------------------------------------------------------------- +// function privAddList($p_list, &$p_result_list, $p_add_dir, $p_remove_dir, $p_remove_all_dir, &$p_options) + function privAddList($p_filedescr_list, &$p_result_list, &$p_options) + { + $v_result=1; + + // ----- Add the files + $v_header_list = array(); + if (($v_result = $this->privAddFileList($p_filedescr_list, $v_header_list, $p_options)) != 1) + { + // ----- Return + return $v_result; + } + + // ----- Store the offset of the central dir + $v_offset = @ftell($this->zip_fd); + + // ----- Create the Central Dir files header + for ($i=0,$v_count=0; $i<sizeof($v_header_list); $i++) + { + // ----- Create the file header + if ($v_header_list[$i]['status'] == 'ok') { + if (($v_result = $this->privWriteCentralFileHeader($v_header_list[$i])) != 1) { + // ----- Return + return $v_result; + } + $v_count++; + } + + // ----- Transform the header to a 'usable' info + $this->privConvertHeader2FileInfo($v_header_list[$i], $p_result_list[$i]); + } + + // ----- Zip file comment + $v_comment = ''; + if (isset($p_options[PCLZIP_OPT_COMMENT])) { + $v_comment = $p_options[PCLZIP_OPT_COMMENT]; + } + + // ----- Calculate the size of the central header + $v_size = @ftell($this->zip_fd)-$v_offset; + + // ----- Create the central dir footer + if (($v_result = $this->privWriteCentralHeader($v_count, $v_size, $v_offset, $v_comment)) != 1) + { + // ----- Reset the file list + unset($v_header_list); + + // ----- Return + return $v_result; + } + + // ----- Return + return $v_result; + } + // -------------------------------------------------------------------------------- + + // -------------------------------------------------------------------------------- + // Function : privAddFileList() + // Description : + // Parameters : + // $p_filedescr_list : An array containing the file description + // or directory names to add in the zip + // $p_result_list : list of added files with their properties (specially the status field) + // Return Values : + // -------------------------------------------------------------------------------- + function privAddFileList($p_filedescr_list, &$p_result_list, &$p_options) + { + $v_result=1; + $v_header = array(); + + // ----- Recuperate the current number of elt in list + $v_nb = sizeof($p_result_list); + + // ----- Loop on the files + for ($j=0; ($j<sizeof($p_filedescr_list)) && ($v_result==1); $j++) { + // ----- Format the filename + $p_filedescr_list[$j]['filename'] + = PclZipUtilTranslateWinPath($p_filedescr_list[$j]['filename'], false); + + + // ----- Skip empty file names + // TBC : Can this be possible ? not checked in DescrParseAtt ? + if ($p_filedescr_list[$j]['filename'] == "") { + continue; + } + + // ----- Check the filename + if ( ($p_filedescr_list[$j]['type'] != 'virtual_file') + && (!file_exists($p_filedescr_list[$j]['filename']))) { + PclZip::privErrorLog(PCLZIP_ERR_MISSING_FILE, "File '".$p_filedescr_list[$j]['filename']."' does not exist"); + return PclZip::errorCode(); + } + + // ----- Look if it is a file or a dir with no all path remove option + // or a dir with all its path removed +// if ( (is_file($p_filedescr_list[$j]['filename'])) +// || ( is_dir($p_filedescr_list[$j]['filename']) + if ( ($p_filedescr_list[$j]['type'] == 'file') + || ($p_filedescr_list[$j]['type'] == 'virtual_file') + || ( ($p_filedescr_list[$j]['type'] == 'folder') + && ( !isset($p_options[PCLZIP_OPT_REMOVE_ALL_PATH]) + || !$p_options[PCLZIP_OPT_REMOVE_ALL_PATH])) + ) { + + // ----- Add the file + $v_result = $this->privAddFile($p_filedescr_list[$j], $v_header, + $p_options); + if ($v_result != 1) { + return $v_result; + } + + // ----- Store the file infos + $p_result_list[$v_nb++] = $v_header; + } + } + + // ----- Return + return $v_result; + } + // -------------------------------------------------------------------------------- + + // -------------------------------------------------------------------------------- + // Function : privAddFile() + // Description : + // Parameters : + // Return Values : + // -------------------------------------------------------------------------------- + function privAddFile($p_filedescr, &$p_header, &$p_options) + { + $v_result=1; + + // ----- Working variable + $p_filename = $p_filedescr['filename']; + + // TBC : Already done in the fileAtt check ... ? + if ($p_filename == "") { + // ----- Error log + PclZip::privErrorLog(PCLZIP_ERR_INVALID_PARAMETER, "Invalid file list parameter (invalid or empty list)"); + + // ----- Return + return PclZip::errorCode(); + } + + // ----- Look for a stored different filename + /* TBC : Removed + if (isset($p_filedescr['stored_filename'])) { + $v_stored_filename = $p_filedescr['stored_filename']; + } + else { + $v_stored_filename = $p_filedescr['stored_filename']; + } + */ + + // ----- Set the file properties + clearstatcache(); + $p_header['version'] = 20; + $p_header['version_extracted'] = 10; + $p_header['flag'] = 0; + $p_header['compression'] = 0; + $p_header['crc'] = 0; + $p_header['compressed_size'] = 0; + $p_header['filename_len'] = strlen($p_filename); + $p_header['extra_len'] = 0; + $p_header['disk'] = 0; + $p_header['internal'] = 0; + $p_header['offset'] = 0; + $p_header['filename'] = $p_filename; +// TBC : Removed $p_header['stored_filename'] = $v_stored_filename; + $p_header['stored_filename'] = $p_filedescr['stored_filename']; + $p_header['extra'] = ''; + $p_header['status'] = 'ok'; + $p_header['index'] = -1; + + // ----- Look for regular file + if ($p_filedescr['type']=='file') { + $p_header['external'] = 0x00000000; + $p_header['size'] = filesize($p_filename); + } + + // ----- Look for regular folder + else if ($p_filedescr['type']=='folder') { + $p_header['external'] = 0x00000010; + $p_header['mtime'] = filemtime($p_filename); + $p_header['size'] = filesize($p_filename); + } + + // ----- Look for virtual file + else if ($p_filedescr['type'] == 'virtual_file') { + $p_header['external'] = 0x00000000; + $p_header['size'] = strlen($p_filedescr['content']); + } + + + // ----- Look for filetime + if (isset($p_filedescr['mtime'])) { + $p_header['mtime'] = $p_filedescr['mtime']; + } + else if ($p_filedescr['type'] == 'virtual_file') { + $p_header['mtime'] = time(); + } + else { + $p_header['mtime'] = filemtime($p_filename); + } + + // ------ Look for file comment + if (isset($p_filedescr['comment'])) { + $p_header['comment_len'] = strlen($p_filedescr['comment']); + $p_header['comment'] = $p_filedescr['comment']; + } + else { + $p_header['comment_len'] = 0; + $p_header['comment'] = ''; + } + + // ----- Look for pre-add callback + if (isset($p_options[PCLZIP_CB_PRE_ADD])) { + + // ----- Generate a local information + $v_local_header = array(); + $this->privConvertHeader2FileInfo($p_header, $v_local_header); + + // ----- Call the callback + // Here I do not use call_user_func() because I need to send a reference to the + // header. +// eval('$v_result = '.$p_options[PCLZIP_CB_PRE_ADD].'(PCLZIP_CB_PRE_ADD, $v_local_header);'); + $v_result = $p_options[PCLZIP_CB_PRE_ADD](PCLZIP_CB_PRE_ADD, $v_local_header); + if ($v_result == 0) { + // ----- Change the file status + $p_header['status'] = "skipped"; + $v_result = 1; + } + + // ----- Update the informations + // Only some fields can be modified + if ($p_header['stored_filename'] != $v_local_header['stored_filename']) { + $p_header['stored_filename'] = PclZipUtilPathReduction($v_local_header['stored_filename']); + } + } + + // ----- Look for empty stored filename + if ($p_header['stored_filename'] == "") { + $p_header['status'] = "filtered"; + } + + // ----- Check the path length + if (strlen($p_header['stored_filename']) > 0xFF) { + $p_header['status'] = 'filename_too_long'; + } + + // ----- Look if no error, or file not skipped + if ($p_header['status'] == 'ok') { + + // ----- Look for a file + if ($p_filedescr['type'] == 'file') { + // ----- Look for using temporary file to zip + if ( (!isset($p_options[PCLZIP_OPT_TEMP_FILE_OFF])) + && (isset($p_options[PCLZIP_OPT_TEMP_FILE_ON]) + || (isset($p_options[PCLZIP_OPT_TEMP_FILE_THRESHOLD]) + && ($p_options[PCLZIP_OPT_TEMP_FILE_THRESHOLD] <= $p_header['size'])) ) ) { + $v_result = $this->privAddFileUsingTempFile($p_filedescr, $p_header, $p_options); + if ($v_result < PCLZIP_ERR_NO_ERROR) { + return $v_result; + } + } + + // ----- Use "in memory" zip algo + else { + + // ----- Open the source file + if (($v_file = @fopen($p_filename, "rb")) == 0) { + PclZip::privErrorLog(PCLZIP_ERR_READ_OPEN_FAIL, "Unable to open file '$p_filename' in binary read mode"); + return PclZip::errorCode(); + } + + // ----- Read the file content + $v_content = @fread($v_file, $p_header['size']); + + // ----- Close the file + @fclose($v_file); + + // ----- Calculate the CRC + $p_header['crc'] = @crc32($v_content); + + // ----- Look for no compression + if ($p_options[PCLZIP_OPT_NO_COMPRESSION]) { + // ----- Set header parameters + $p_header['compressed_size'] = $p_header['size']; + $p_header['compression'] = 0; + } + + // ----- Look for normal compression + else { + // ----- Compress the content + $v_content = @gzdeflate($v_content); + + // ----- Set header parameters + $p_header['compressed_size'] = strlen($v_content); + $p_header['compression'] = 8; + } + + // ----- Call the header generation + if (($v_result = $this->privWriteFileHeader($p_header)) != 1) { + @fclose($v_file); + return $v_result; + } + + // ----- Write the compressed (or not) content + @fwrite($this->zip_fd, $v_content, $p_header['compressed_size']); + + } + + } + + // ----- Look for a virtual file (a file from string) + else if ($p_filedescr['type'] == 'virtual_file') { + + $v_content = $p_filedescr['content']; + + // ----- Calculate the CRC + $p_header['crc'] = @crc32($v_content); + + // ----- Look for no compression + if ($p_options[PCLZIP_OPT_NO_COMPRESSION]) { + // ----- Set header parameters + $p_header['compressed_size'] = $p_header['size']; + $p_header['compression'] = 0; + } + + // ----- Look for normal compression + else { + // ----- Compress the content + $v_content = @gzdeflate($v_content); + + // ----- Set header parameters + $p_header['compressed_size'] = strlen($v_content); + $p_header['compression'] = 8; + } + + // ----- Call the header generation + if (($v_result = $this->privWriteFileHeader($p_header)) != 1) { + @fclose($v_file); + return $v_result; + } + + // ----- Write the compressed (or not) content + @fwrite($this->zip_fd, $v_content, $p_header['compressed_size']); + } + + // ----- Look for a directory + else if ($p_filedescr['type'] == 'folder') { + // ----- Look for directory last '/' + if (@substr($p_header['stored_filename'], -1) != '/') { + $p_header['stored_filename'] .= '/'; + } + + // ----- Set the file properties + $p_header['size'] = 0; + //$p_header['external'] = 0x41FF0010; // Value for a folder : to be checked + $p_header['external'] = 0x00000010; // Value for a folder : to be checked + + // ----- Call the header generation + if (($v_result = $this->privWriteFileHeader($p_header)) != 1) + { + return $v_result; + } + } + } + + // ----- Look for post-add callback + if (isset($p_options[PCLZIP_CB_POST_ADD])) { + + // ----- Generate a local information + $v_local_header = array(); + $this->privConvertHeader2FileInfo($p_header, $v_local_header); + + // ----- Call the callback + // Here I do not use call_user_func() because I need to send a reference to the + // header. +// eval('$v_result = '.$p_options[PCLZIP_CB_POST_ADD].'(PCLZIP_CB_POST_ADD, $v_local_header);'); + $v_result = $p_options[PCLZIP_CB_POST_ADD](PCLZIP_CB_POST_ADD, $v_local_header); + if ($v_result == 0) { + // ----- Ignored + $v_result = 1; + } + + // ----- Update the informations + // Nothing can be modified + } + + // ----- Return + return $v_result; + } + // -------------------------------------------------------------------------------- + + // -------------------------------------------------------------------------------- + // Function : privAddFileUsingTempFile() + // Description : + // Parameters : + // Return Values : + // -------------------------------------------------------------------------------- + function privAddFileUsingTempFile($p_filedescr, &$p_header, &$p_options) + { + $v_result=PCLZIP_ERR_NO_ERROR; + + // ----- Working variable + $p_filename = $p_filedescr['filename']; + + + // ----- Open the source file + if (($v_file = @fopen($p_filename, "rb")) == 0) { + PclZip::privErrorLog(PCLZIP_ERR_READ_OPEN_FAIL, "Unable to open file '$p_filename' in binary read mode"); + return PclZip::errorCode(); + } + + // ----- Creates a compressed temporary file + $v_gzip_temp_name = PCLZIP_TEMPORARY_DIR.uniqid('pclzip-').'.gz'; + if (($v_file_compressed = @gzopen($v_gzip_temp_name, "wb")) == 0) { + fclose($v_file); + PclZip::privErrorLog(PCLZIP_ERR_WRITE_OPEN_FAIL, 'Unable to open temporary file \''.$v_gzip_temp_name.'\' in binary write mode'); + return PclZip::errorCode(); + } + + // ----- Read the file by PCLZIP_READ_BLOCK_SIZE octets blocks + $v_size = filesize($p_filename); + while ($v_size != 0) { + $v_read_size = ($v_size < PCLZIP_READ_BLOCK_SIZE ? $v_size : PCLZIP_READ_BLOCK_SIZE); + $v_buffer = @fread($v_file, $v_read_size); + //$v_binary_data = pack('a'.$v_read_size, $v_buffer); + @gzputs($v_file_compressed, $v_buffer, $v_read_size); + $v_size -= $v_read_size; + } + + // ----- Close the file + @fclose($v_file); + @gzclose($v_file_compressed); + + // ----- Check the minimum file size + if (filesize($v_gzip_temp_name) < 18) { + PclZip::privErrorLog(PCLZIP_ERR_BAD_FORMAT, 'gzip temporary file \''.$v_gzip_temp_name.'\' has invalid filesize - should be minimum 18 bytes'); + return PclZip::errorCode(); + } + + // ----- Extract the compressed attributes + if (($v_file_compressed = @fopen($v_gzip_temp_name, "rb")) == 0) { + PclZip::privErrorLog(PCLZIP_ERR_READ_OPEN_FAIL, 'Unable to open temporary file \''.$v_gzip_temp_name.'\' in binary read mode'); + return PclZip::errorCode(); + } + + // ----- Read the gzip file header + $v_binary_data = @fread($v_file_compressed, 10); + $v_data_header = unpack('a1id1/a1id2/a1cm/a1flag/Vmtime/a1xfl/a1os', $v_binary_data); + + // ----- Check some parameters + $v_data_header['os'] = bin2hex($v_data_header['os']); + + // ----- Read the gzip file footer + @fseek($v_file_compressed, filesize($v_gzip_temp_name)-8); + $v_binary_data = @fread($v_file_compressed, 8); + $v_data_footer = unpack('Vcrc/Vcompressed_size', $v_binary_data); + + // ----- Set the attributes + $p_header['compression'] = ord($v_data_header['cm']); + //$p_header['mtime'] = $v_data_header['mtime']; + $p_header['crc'] = $v_data_footer['crc']; + $p_header['compressed_size'] = filesize($v_gzip_temp_name)-18; + + // ----- Close the file + @fclose($v_file_compressed); + + // ----- Call the header generation + if (($v_result = $this->privWriteFileHeader($p_header)) != 1) { + return $v_result; + } + + // ----- Add the compressed data + if (($v_file_compressed = @fopen($v_gzip_temp_name, "rb")) == 0) + { + PclZip::privErrorLog(PCLZIP_ERR_READ_OPEN_FAIL, 'Unable to open temporary file \''.$v_gzip_temp_name.'\' in binary read mode'); + return PclZip::errorCode(); + } + + // ----- Read the file by PCLZIP_READ_BLOCK_SIZE octets blocks + fseek($v_file_compressed, 10); + $v_size = $p_header['compressed_size']; + while ($v_size != 0) + { + $v_read_size = ($v_size < PCLZIP_READ_BLOCK_SIZE ? $v_size : PCLZIP_READ_BLOCK_SIZE); + $v_buffer = @fread($v_file_compressed, $v_read_size); + //$v_binary_data = pack('a'.$v_read_size, $v_buffer); + @fwrite($this->zip_fd, $v_buffer, $v_read_size); + $v_size -= $v_read_size; + } + + // ----- Close the file + @fclose($v_file_compressed); + + // ----- Unlink the temporary file + @unlink($v_gzip_temp_name); + + // ----- Return + return $v_result; + } + // -------------------------------------------------------------------------------- + + // -------------------------------------------------------------------------------- + // Function : privCalculateStoredFilename() + // Description : + // Based on file descriptor properties and global options, this method + // calculate the filename that will be stored in the archive. + // Parameters : + // Return Values : + // -------------------------------------------------------------------------------- + function privCalculateStoredFilename(&$p_filedescr, &$p_options) + { + $v_result=1; + + // ----- Working variables + $p_filename = $p_filedescr['filename']; + if (isset($p_options[PCLZIP_OPT_ADD_PATH])) { + $p_add_dir = $p_options[PCLZIP_OPT_ADD_PATH]; + } + else { + $p_add_dir = ''; + } + if (isset($p_options[PCLZIP_OPT_REMOVE_PATH])) { + $p_remove_dir = $p_options[PCLZIP_OPT_REMOVE_PATH]; + } + else { + $p_remove_dir = ''; + } + if (isset($p_options[PCLZIP_OPT_REMOVE_ALL_PATH])) { + $p_remove_all_dir = $p_options[PCLZIP_OPT_REMOVE_ALL_PATH]; + } + else { + $p_remove_all_dir = 0; + } + + + // ----- Look for full name change + if (isset($p_filedescr['new_full_name'])) { + // ----- Remove drive letter if any + $v_stored_filename = PclZipUtilTranslateWinPath($p_filedescr['new_full_name']); + } + + // ----- Look for path and/or short name change + else { + + // ----- Look for short name change + // Its when we cahnge just the filename but not the path + if (isset($p_filedescr['new_short_name'])) { + $v_path_info = pathinfo($p_filename); + $v_dir = ''; + if ($v_path_info['dirname'] != '') { + $v_dir = $v_path_info['dirname'].'/'; + } + $v_stored_filename = $v_dir.$p_filedescr['new_short_name']; + } + else { + // ----- Calculate the stored filename + $v_stored_filename = $p_filename; + } + + // ----- Look for all path to remove + if ($p_remove_all_dir) { + $v_stored_filename = basename($p_filename); + } + // ----- Look for partial path remove + else if ($p_remove_dir != "") { + if (substr($p_remove_dir, -1) != '/') + $p_remove_dir .= "/"; + + if ( (substr($p_filename, 0, 2) == "./") + || (substr($p_remove_dir, 0, 2) == "./")) { + + if ( (substr($p_filename, 0, 2) == "./") + && (substr($p_remove_dir, 0, 2) != "./")) { + $p_remove_dir = "./".$p_remove_dir; + } + if ( (substr($p_filename, 0, 2) != "./") + && (substr($p_remove_dir, 0, 2) == "./")) { + $p_remove_dir = substr($p_remove_dir, 2); + } + } + + $v_compare = PclZipUtilPathInclusion($p_remove_dir, + $v_stored_filename); + if ($v_compare > 0) { + if ($v_compare == 2) { + $v_stored_filename = ""; + } + else { + $v_stored_filename = substr($v_stored_filename, + strlen($p_remove_dir)); + } + } + } + + // ----- Remove drive letter if any + $v_stored_filename = PclZipUtilTranslateWinPath($v_stored_filename); + + // ----- Look for path to add + if ($p_add_dir != "") { + if (substr($p_add_dir, -1) == "/") + $v_stored_filename = $p_add_dir.$v_stored_filename; + else + $v_stored_filename = $p_add_dir."/".$v_stored_filename; + } + } + + // ----- Filename (reduce the path of stored name) + $v_stored_filename = PclZipUtilPathReduction($v_stored_filename); + $p_filedescr['stored_filename'] = $v_stored_filename; + + // ----- Return + return $v_result; + } + // -------------------------------------------------------------------------------- + + // -------------------------------------------------------------------------------- + // Function : privWriteFileHeader() + // Description : + // Parameters : + // Return Values : + // -------------------------------------------------------------------------------- + function privWriteFileHeader(&$p_header) + { + $v_result=1; + + // ----- Store the offset position of the file + $p_header['offset'] = ftell($this->zip_fd); + + // ----- Transform UNIX mtime to DOS format mdate/mtime + $v_date = getdate($p_header['mtime']); + $v_mtime = ($v_date['hours']<<11) + ($v_date['minutes']<<5) + $v_date['seconds']/2; + $v_mdate = (($v_date['year']-1980)<<9) + ($v_date['mon']<<5) + $v_date['mday']; + + // ----- Packed data + $v_binary_data = pack("VvvvvvVVVvv", 0x04034b50, + $p_header['version_extracted'], $p_header['flag'], + $p_header['compression'], $v_mtime, $v_mdate, + $p_header['crc'], $p_header['compressed_size'], + $p_header['size'], + strlen($p_header['stored_filename']), + $p_header['extra_len']); + + // ----- Write the first 148 bytes of the header in the archive + fputs($this->zip_fd, $v_binary_data, 30); + + // ----- Write the variable fields + if (strlen($p_header['stored_filename']) != 0) + { + fputs($this->zip_fd, $p_header['stored_filename'], strlen($p_header['stored_filename'])); + } + if ($p_header['extra_len'] != 0) + { + fputs($this->zip_fd, $p_header['extra'], $p_header['extra_len']); + } + + // ----- Return + return $v_result; + } + // -------------------------------------------------------------------------------- + + // -------------------------------------------------------------------------------- + // Function : privWriteCentralFileHeader() + // Description : + // Parameters : + // Return Values : + // -------------------------------------------------------------------------------- + function privWriteCentralFileHeader(&$p_header) + { + $v_result=1; + + // TBC + //for(reset($p_header); $key = key($p_header); next($p_header)) { + //} + + // ----- Transform UNIX mtime to DOS format mdate/mtime + $v_date = getdate($p_header['mtime']); + $v_mtime = ($v_date['hours']<<11) + ($v_date['minutes']<<5) + $v_date['seconds']/2; + $v_mdate = (($v_date['year']-1980)<<9) + ($v_date['mon']<<5) + $v_date['mday']; + + + // ----- Packed data + $v_binary_data = pack("VvvvvvvVVVvvvvvVV", 0x02014b50, + $p_header['version'], $p_header['version_extracted'], + $p_header['flag'], $p_header['compression'], + $v_mtime, $v_mdate, $p_header['crc'], + $p_header['compressed_size'], $p_header['size'], + strlen($p_header['stored_filename']), + $p_header['extra_len'], $p_header['comment_len'], + $p_header['disk'], $p_header['internal'], + $p_header['external'], $p_header['offset']); + + // ----- Write the 42 bytes of the header in the zip file + fputs($this->zip_fd, $v_binary_data, 46); + + // ----- Write the variable fields + if (strlen($p_header['stored_filename']) != 0) + { + fputs($this->zip_fd, $p_header['stored_filename'], strlen($p_header['stored_filename'])); + } + if ($p_header['extra_len'] != 0) + { + fputs($this->zip_fd, $p_header['extra'], $p_header['extra_len']); + } + if ($p_header['comment_len'] != 0) + { + fputs($this->zip_fd, $p_header['comment'], $p_header['comment_len']); + } + + // ----- Return + return $v_result; + } + // -------------------------------------------------------------------------------- + + // -------------------------------------------------------------------------------- + // Function : privWriteCentralHeader() + // Description : + // Parameters : + // Return Values : + // -------------------------------------------------------------------------------- + function privWriteCentralHeader($p_nb_entries, $p_size, $p_offset, $p_comment) + { + $v_result=1; + + // ----- Packed data + $v_binary_data = pack("VvvvvVVv", 0x06054b50, 0, 0, $p_nb_entries, + $p_nb_entries, $p_size, + $p_offset, strlen($p_comment)); + + // ----- Write the 22 bytes of the header in the zip file + fputs($this->zip_fd, $v_binary_data, 22); + + // ----- Write the variable fields + if (strlen($p_comment) != 0) + { + fputs($this->zip_fd, $p_comment, strlen($p_comment)); + } + + // ----- Return + return $v_result; + } + // -------------------------------------------------------------------------------- + + // -------------------------------------------------------------------------------- + // Function : privList() + // Description : + // Parameters : + // Return Values : + // -------------------------------------------------------------------------------- + function privList(&$p_list) + { + $v_result=1; + + // ----- Magic quotes trick + $this->privDisableMagicQuotes(); + + // ----- Open the zip file + if (($this->zip_fd = @fopen($this->zipname, 'rb')) == 0) + { + // ----- Magic quotes trick + $this->privSwapBackMagicQuotes(); + + // ----- Error log + PclZip::privErrorLog(PCLZIP_ERR_READ_OPEN_FAIL, 'Unable to open archive \''.$this->zipname.'\' in binary read mode'); + + // ----- Return + return PclZip::errorCode(); + } + + // ----- Read the central directory informations + $v_central_dir = array(); + if (($v_result = $this->privReadEndCentralDir($v_central_dir)) != 1) + { + $this->privSwapBackMagicQuotes(); + return $v_result; + } + + // ----- Go to beginning of Central Dir + @rewind($this->zip_fd); + if (@fseek($this->zip_fd, $v_central_dir['offset'])) + { + $this->privSwapBackMagicQuotes(); + + // ----- Error log + PclZip::privErrorLog(PCLZIP_ERR_INVALID_ARCHIVE_ZIP, 'Invalid archive size'); + + // ----- Return + return PclZip::errorCode(); + } + + // ----- Read each entry + for ($i=0; $i<$v_central_dir['entries']; $i++) + { + // ----- Read the file header + if (($v_result = $this->privReadCentralFileHeader($v_header)) != 1) + { + $this->privSwapBackMagicQuotes(); + return $v_result; + } + $v_header['index'] = $i; + + // ----- Get the only interesting attributes + $this->privConvertHeader2FileInfo($v_header, $p_list[$i]); + unset($v_header); + } + + // ----- Close the zip file + $this->privCloseFd(); + + // ----- Magic quotes trick + $this->privSwapBackMagicQuotes(); + + // ----- Return + return $v_result; + } + // -------------------------------------------------------------------------------- + + // -------------------------------------------------------------------------------- + // Function : privConvertHeader2FileInfo() + // Description : + // This function takes the file informations from the central directory + // entries and extract the interesting parameters that will be given back. + // The resulting file infos are set in the array $p_info + // $p_info['filename'] : Filename with full path. Given by user (add), + // extracted in the filesystem (extract). + // $p_info['stored_filename'] : Stored filename in the archive. + // $p_info['size'] = Size of the file. + // $p_info['compressed_size'] = Compressed size of the file. + // $p_info['mtime'] = Last modification date of the file. + // $p_info['comment'] = Comment associated with the file. + // $p_info['folder'] = true/false : indicates if the entry is a folder or not. + // $p_info['status'] = status of the action on the file. + // $p_info['crc'] = CRC of the file content. + // Parameters : + // Return Values : + // -------------------------------------------------------------------------------- + function privConvertHeader2FileInfo($p_header, &$p_info) + { + $v_result=1; + + // ----- Get the interesting attributes + $v_temp_path = PclZipUtilPathReduction($p_header['filename']); + $p_info['filename'] = $v_temp_path; + $v_temp_path = PclZipUtilPathReduction($p_header['stored_filename']); + $p_info['stored_filename'] = $v_temp_path; + $p_info['size'] = $p_header['size']; + $p_info['compressed_size'] = $p_header['compressed_size']; + $p_info['mtime'] = $p_header['mtime']; + $p_info['comment'] = $p_header['comment']; + $p_info['folder'] = (($p_header['external']&0x00000010)==0x00000010); + $p_info['index'] = $p_header['index']; + $p_info['status'] = $p_header['status']; + $p_info['crc'] = $p_header['crc']; + + // ----- Return + return $v_result; + } + // -------------------------------------------------------------------------------- + + // -------------------------------------------------------------------------------- + // Function : privExtractByRule() + // Description : + // Extract a file or directory depending of rules (by index, by name, ...) + // Parameters : + // $p_file_list : An array where will be placed the properties of each + // extracted file + // $p_path : Path to add while writing the extracted files + // $p_remove_path : Path to remove (from the file memorized path) while writing the + // extracted files. If the path does not match the file path, + // the file is extracted with its memorized path. + // $p_remove_path does not apply to 'list' mode. + // $p_path and $p_remove_path are commulative. + // Return Values : + // 1 on success,0 or less on error (see error code list) + // -------------------------------------------------------------------------------- + function privExtractByRule(&$p_file_list, $p_path, $p_remove_path, $p_remove_all_path, &$p_options) + { + $v_result=1; + + // ----- Magic quotes trick + $this->privDisableMagicQuotes(); + + // ----- Check the path + if ( ($p_path == "") + || ( (substr($p_path, 0, 1) != "/") + && (substr($p_path, 0, 3) != "../") + && (substr($p_path,1,2)!=":/"))) + $p_path = "./".$p_path; + + // ----- Reduce the path last (and duplicated) '/' + if (($p_path != "./") && ($p_path != "/")) + { + // ----- Look for the path end '/' + while (substr($p_path, -1) == "/") + { + $p_path = substr($p_path, 0, strlen($p_path)-1); + } + } + + // ----- Look for path to remove format (should end by /) + if (($p_remove_path != "") && (substr($p_remove_path, -1) != '/')) + { + $p_remove_path .= '/'; + } + $p_remove_path_size = strlen($p_remove_path); + + // ----- Open the zip file + if (($v_result = $this->privOpenFd('rb')) != 1) + { + $this->privSwapBackMagicQuotes(); + return $v_result; + } + + // ----- Read the central directory informations + $v_central_dir = array(); + if (($v_result = $this->privReadEndCentralDir($v_central_dir)) != 1) + { + // ----- Close the zip file + $this->privCloseFd(); + $this->privSwapBackMagicQuotes(); + + return $v_result; + } + + // ----- Start at beginning of Central Dir + $v_pos_entry = $v_central_dir['offset']; + + // ----- Read each entry + $j_start = 0; + for ($i=0, $v_nb_extracted=0; $i<$v_central_dir['entries']; $i++) + { + + // ----- Read next Central dir entry + @rewind($this->zip_fd); + if (@fseek($this->zip_fd, $v_pos_entry)) + { + // ----- Close the zip file + $this->privCloseFd(); + $this->privSwapBackMagicQuotes(); + + // ----- Error log + PclZip::privErrorLog(PCLZIP_ERR_INVALID_ARCHIVE_ZIP, 'Invalid archive size'); + + // ----- Return + return PclZip::errorCode(); + } + + // ----- Read the file header + $v_header = array(); + if (($v_result = $this->privReadCentralFileHeader($v_header)) != 1) + { + // ----- Close the zip file + $this->privCloseFd(); + $this->privSwapBackMagicQuotes(); + + return $v_result; + } + + // ----- Store the index + $v_header['index'] = $i; + + // ----- Store the file position + $v_pos_entry = ftell($this->zip_fd); + + // ----- Look for the specific extract rules + $v_extract = false; + + // ----- Look for extract by name rule + if ( (isset($p_options[PCLZIP_OPT_BY_NAME])) + && ($p_options[PCLZIP_OPT_BY_NAME] != 0)) { + + // ----- Look if the filename is in the list + for ($j=0; ($j<sizeof($p_options[PCLZIP_OPT_BY_NAME])) && (!$v_extract); $j++) { + + // ----- Look for a directory + if (substr($p_options[PCLZIP_OPT_BY_NAME][$j], -1) == "/") { + + // ----- Look if the directory is in the filename path + if ( (strlen($v_header['stored_filename']) > strlen($p_options[PCLZIP_OPT_BY_NAME][$j])) + && (substr($v_header['stored_filename'], 0, strlen($p_options[PCLZIP_OPT_BY_NAME][$j])) == $p_options[PCLZIP_OPT_BY_NAME][$j])) { + $v_extract = true; + } + } + // ----- Look for a filename + elseif ($v_header['stored_filename'] == $p_options[PCLZIP_OPT_BY_NAME][$j]) { + $v_extract = true; + } + } + } + + // ----- Look for extract by ereg rule + // ereg() is deprecated with PHP 5.3 + /* + else if ( (isset($p_options[PCLZIP_OPT_BY_EREG])) + && ($p_options[PCLZIP_OPT_BY_EREG] != "")) { + + if (ereg($p_options[PCLZIP_OPT_BY_EREG], $v_header['stored_filename'])) { + $v_extract = true; + } + } + */ + + // ----- Look for extract by preg rule + else if ( (isset($p_options[PCLZIP_OPT_BY_PREG])) + && ($p_options[PCLZIP_OPT_BY_PREG] != "")) { + + if (preg_match($p_options[PCLZIP_OPT_BY_PREG], $v_header['stored_filename'])) { + $v_extract = true; + } + } + + // ----- Look for extract by index rule + else if ( (isset($p_options[PCLZIP_OPT_BY_INDEX])) + && ($p_options[PCLZIP_OPT_BY_INDEX] != 0)) { + + // ----- Look if the index is in the list + for ($j=$j_start; ($j<sizeof($p_options[PCLZIP_OPT_BY_INDEX])) && (!$v_extract); $j++) { + + if (($i>=$p_options[PCLZIP_OPT_BY_INDEX][$j]['start']) && ($i<=$p_options[PCLZIP_OPT_BY_INDEX][$j]['end'])) { + $v_extract = true; + } + if ($i>=$p_options[PCLZIP_OPT_BY_INDEX][$j]['end']) { + $j_start = $j+1; + } + + if ($p_options[PCLZIP_OPT_BY_INDEX][$j]['start']>$i) { + break; + } + } + } + + // ----- Look for no rule, which means extract all the archive + else { + $v_extract = true; + } + + // ----- Check compression method + if ( ($v_extract) + && ( ($v_header['compression'] != 8) + && ($v_header['compression'] != 0))) { + $v_header['status'] = 'unsupported_compression'; + + // ----- Look for PCLZIP_OPT_STOP_ON_ERROR + if ( (isset($p_options[PCLZIP_OPT_STOP_ON_ERROR])) + && ($p_options[PCLZIP_OPT_STOP_ON_ERROR]===true)) { + + $this->privSwapBackMagicQuotes(); + + PclZip::privErrorLog(PCLZIP_ERR_UNSUPPORTED_COMPRESSION, + "Filename '".$v_header['stored_filename']."' is " + ."compressed by an unsupported compression " + ."method (".$v_header['compression'].") "); + + return PclZip::errorCode(); + } + } + + // ----- Check encrypted files + if (($v_extract) && (($v_header['flag'] & 1) == 1)) { + $v_header['status'] = 'unsupported_encryption'; + + // ----- Look for PCLZIP_OPT_STOP_ON_ERROR + if ( (isset($p_options[PCLZIP_OPT_STOP_ON_ERROR])) + && ($p_options[PCLZIP_OPT_STOP_ON_ERROR]===true)) { + + $this->privSwapBackMagicQuotes(); + + PclZip::privErrorLog(PCLZIP_ERR_UNSUPPORTED_ENCRYPTION, + "Unsupported encryption for " + ." filename '".$v_header['stored_filename'] + ."'"); + + return PclZip::errorCode(); + } + } + + // ----- Look for real extraction + if (($v_extract) && ($v_header['status'] != 'ok')) { + $v_result = $this->privConvertHeader2FileInfo($v_header, + $p_file_list[$v_nb_extracted++]); + if ($v_result != 1) { + $this->privCloseFd(); + $this->privSwapBackMagicQuotes(); + return $v_result; + } + + $v_extract = false; + } + + // ----- Look for real extraction + if ($v_extract) + { + + // ----- Go to the file position + @rewind($this->zip_fd); + if (@fseek($this->zip_fd, $v_header['offset'])) + { + // ----- Close the zip file + $this->privCloseFd(); + + $this->privSwapBackMagicQuotes(); + + // ----- Error log + PclZip::privErrorLog(PCLZIP_ERR_INVALID_ARCHIVE_ZIP, 'Invalid archive size'); + + // ----- Return + return PclZip::errorCode(); + } + + // ----- Look for extraction as string + if ($p_options[PCLZIP_OPT_EXTRACT_AS_STRING]) { + + $v_string = ''; + + // ----- Extracting the file + $v_result1 = $this->privExtractFileAsString($v_header, $v_string, $p_options); + if ($v_result1 < 1) { + $this->privCloseFd(); + $this->privSwapBackMagicQuotes(); + return $v_result1; + } + + // ----- Get the only interesting attributes + if (($v_result = $this->privConvertHeader2FileInfo($v_header, $p_file_list[$v_nb_extracted])) != 1) + { + // ----- Close the zip file + $this->privCloseFd(); + $this->privSwapBackMagicQuotes(); + + return $v_result; + } + + // ----- Set the file content + $p_file_list[$v_nb_extracted]['content'] = $v_string; + + // ----- Next extracted file + $v_nb_extracted++; + + // ----- Look for user callback abort + if ($v_result1 == 2) { + break; + } + } + // ----- Look for extraction in standard output + elseif ( (isset($p_options[PCLZIP_OPT_EXTRACT_IN_OUTPUT])) + && ($p_options[PCLZIP_OPT_EXTRACT_IN_OUTPUT])) { + // ----- Extracting the file in standard output + $v_result1 = $this->privExtractFileInOutput($v_header, $p_options); + if ($v_result1 < 1) { + $this->privCloseFd(); + $this->privSwapBackMagicQuotes(); + return $v_result1; + } + + // ----- Get the only interesting attributes + if (($v_result = $this->privConvertHeader2FileInfo($v_header, $p_file_list[$v_nb_extracted++])) != 1) { + $this->privCloseFd(); + $this->privSwapBackMagicQuotes(); + return $v_result; + } + + // ----- Look for user callback abort + if ($v_result1 == 2) { + break; + } + } + // ----- Look for normal extraction + else { + // ----- Extracting the file + $v_result1 = $this->privExtractFile($v_header, + $p_path, $p_remove_path, + $p_remove_all_path, + $p_options); + if ($v_result1 < 1) { + $this->privCloseFd(); + $this->privSwapBackMagicQuotes(); + return $v_result1; + } + + // ----- Get the only interesting attributes + if (($v_result = $this->privConvertHeader2FileInfo($v_header, $p_file_list[$v_nb_extracted++])) != 1) + { + // ----- Close the zip file + $this->privCloseFd(); + $this->privSwapBackMagicQuotes(); + + return $v_result; + } + + // ----- Look for user callback abort + if ($v_result1 == 2) { + break; + } + } + } + } + + // ----- Close the zip file + $this->privCloseFd(); + $this->privSwapBackMagicQuotes(); + + // ----- Return + return $v_result; + } + // -------------------------------------------------------------------------------- + + // -------------------------------------------------------------------------------- + // Function : privExtractFile() + // Description : + // Parameters : + // Return Values : + // + // 1 : ... ? + // PCLZIP_ERR_USER_ABORTED(2) : User ask for extraction stop in callback + // -------------------------------------------------------------------------------- + function privExtractFile(&$p_entry, $p_path, $p_remove_path, $p_remove_all_path, &$p_options) + { + $v_result=1; + + // ----- Read the file header + if (($v_result = $this->privReadFileHeader($v_header)) != 1) + { + // ----- Return + return $v_result; + } + + + // ----- Check that the file header is coherent with $p_entry info + if ($this->privCheckFileHeaders($v_header, $p_entry) != 1) { + // TBC + } + + // ----- Look for all path to remove + if ($p_remove_all_path == true) { + // ----- Look for folder entry that not need to be extracted + if (($p_entry['external']&0x00000010)==0x00000010) { + + $p_entry['status'] = "filtered"; + + return $v_result; + } + + // ----- Get the basename of the path + $p_entry['filename'] = basename($p_entry['filename']); + } + + // ----- Look for path to remove + else if ($p_remove_path != "") + { + if (PclZipUtilPathInclusion($p_remove_path, $p_entry['filename']) == 2) + { + + // ----- Change the file status + $p_entry['status'] = "filtered"; + + // ----- Return + return $v_result; + } + + $p_remove_path_size = strlen($p_remove_path); + if (substr($p_entry['filename'], 0, $p_remove_path_size) == $p_remove_path) + { + + // ----- Remove the path + $p_entry['filename'] = substr($p_entry['filename'], $p_remove_path_size); + + } + } + + // ----- Add the path + if ($p_path != '') { + $p_entry['filename'] = $p_path."/".$p_entry['filename']; + } + + // ----- Check a base_dir_restriction + if (isset($p_options[PCLZIP_OPT_EXTRACT_DIR_RESTRICTION])) { + $v_inclusion + = PclZipUtilPathInclusion($p_options[PCLZIP_OPT_EXTRACT_DIR_RESTRICTION], + $p_entry['filename']); + if ($v_inclusion == 0) { + + PclZip::privErrorLog(PCLZIP_ERR_DIRECTORY_RESTRICTION, + "Filename '".$p_entry['filename']."' is " + ."outside PCLZIP_OPT_EXTRACT_DIR_RESTRICTION"); + + return PclZip::errorCode(); + } + } + + // ----- Look for pre-extract callback + if (isset($p_options[PCLZIP_CB_PRE_EXTRACT])) { + + // ----- Generate a local information + $v_local_header = array(); + $this->privConvertHeader2FileInfo($p_entry, $v_local_header); + + // ----- Call the callback + // Here I do not use call_user_func() because I need to send a reference to the + // header. +// eval('$v_result = '.$p_options[PCLZIP_CB_PRE_EXTRACT].'(PCLZIP_CB_PRE_EXTRACT, $v_local_header);'); + $v_result = $p_options[PCLZIP_CB_PRE_EXTRACT](PCLZIP_CB_PRE_EXTRACT, $v_local_header); + if ($v_result == 0) { + // ----- Change the file status + $p_entry['status'] = "skipped"; + $v_result = 1; + } + + // ----- Look for abort result + if ($v_result == 2) { + // ----- This status is internal and will be changed in 'skipped' + $p_entry['status'] = "aborted"; + $v_result = PCLZIP_ERR_USER_ABORTED; + } + + // ----- Update the informations + // Only some fields can be modified + $p_entry['filename'] = $v_local_header['filename']; + } + + + // ----- Look if extraction should be done + if ($p_entry['status'] == 'ok') { + + // ----- Look for specific actions while the file exist + if (file_exists($p_entry['filename'])) + { + + // ----- Look if file is a directory + if (is_dir($p_entry['filename'])) + { + + // ----- Change the file status + $p_entry['status'] = "already_a_directory"; + + // ----- Look for PCLZIP_OPT_STOP_ON_ERROR + // For historical reason first PclZip implementation does not stop + // when this kind of error occurs. + if ( (isset($p_options[PCLZIP_OPT_STOP_ON_ERROR])) + && ($p_options[PCLZIP_OPT_STOP_ON_ERROR]===true)) { + + PclZip::privErrorLog(PCLZIP_ERR_ALREADY_A_DIRECTORY, + "Filename '".$p_entry['filename']."' is " + ."already used by an existing directory"); + + return PclZip::errorCode(); + } + } + // ----- Look if file is write protected + else if (!is_writeable($p_entry['filename'])) + { + + // ----- Change the file status + $p_entry['status'] = "write_protected"; + + // ----- Look for PCLZIP_OPT_STOP_ON_ERROR + // For historical reason first PclZip implementation does not stop + // when this kind of error occurs. + if ( (isset($p_options[PCLZIP_OPT_STOP_ON_ERROR])) + && ($p_options[PCLZIP_OPT_STOP_ON_ERROR]===true)) { + + PclZip::privErrorLog(PCLZIP_ERR_WRITE_OPEN_FAIL, + "Filename '".$p_entry['filename']."' exists " + ."and is write protected"); + + return PclZip::errorCode(); + } + } + + // ----- Look if the extracted file is older + else if (filemtime($p_entry['filename']) > $p_entry['mtime']) + { + // ----- Change the file status + if ( (isset($p_options[PCLZIP_OPT_REPLACE_NEWER])) + && ($p_options[PCLZIP_OPT_REPLACE_NEWER]===true)) { + } + else { + $p_entry['status'] = "newer_exist"; + + // ----- Look for PCLZIP_OPT_STOP_ON_ERROR + // For historical reason first PclZip implementation does not stop + // when this kind of error occurs. + if ( (isset($p_options[PCLZIP_OPT_STOP_ON_ERROR])) + && ($p_options[PCLZIP_OPT_STOP_ON_ERROR]===true)) { + + PclZip::privErrorLog(PCLZIP_ERR_WRITE_OPEN_FAIL, + "Newer version of '".$p_entry['filename']."' exists " + ."and option PCLZIP_OPT_REPLACE_NEWER is not selected"); + + return PclZip::errorCode(); + } + } + } + else { + } + } + + // ----- Check the directory availability and create it if necessary + else { + if ((($p_entry['external']&0x00000010)==0x00000010) || (substr($p_entry['filename'], -1) == '/')) + $v_dir_to_check = $p_entry['filename']; + else if (!strstr($p_entry['filename'], "/")) + $v_dir_to_check = ""; + else + $v_dir_to_check = dirname($p_entry['filename']); + + if (($v_result = $this->privDirCheck($v_dir_to_check, (($p_entry['external']&0x00000010)==0x00000010))) != 1) { + + // ----- Change the file status + $p_entry['status'] = "path_creation_fail"; + + // ----- Return + //return $v_result; + $v_result = 1; + } + } + } + + // ----- Look if extraction should be done + if ($p_entry['status'] == 'ok') { + + // ----- Do the extraction (if not a folder) + if (!(($p_entry['external']&0x00000010)==0x00000010)) + { + // ----- Look for not compressed file + if ($p_entry['compression'] == 0) { + + // ----- Opening destination file + if (($v_dest_file = @fopen($p_entry['filename'], 'wb')) == 0) + { + + // ----- Change the file status + $p_entry['status'] = "write_error"; + + // ----- Return + return $v_result; + } + + + // ----- Read the file by PCLZIP_READ_BLOCK_SIZE octets blocks + $v_size = $p_entry['compressed_size']; + while ($v_size != 0) + { + $v_read_size = ($v_size < PCLZIP_READ_BLOCK_SIZE ? $v_size : PCLZIP_READ_BLOCK_SIZE); + $v_buffer = @fread($this->zip_fd, $v_read_size); + /* Try to speed up the code + $v_binary_data = pack('a'.$v_read_size, $v_buffer); + @fwrite($v_dest_file, $v_binary_data, $v_read_size); + */ + @fwrite($v_dest_file, $v_buffer, $v_read_size); + $v_size -= $v_read_size; + } + + // ----- Closing the destination file + fclose($v_dest_file); + + // ----- Change the file mtime + touch($p_entry['filename'], $p_entry['mtime']); + + + } + else { + // ----- TBC + // Need to be finished + if (($p_entry['flag'] & 1) == 1) { + PclZip::privErrorLog(PCLZIP_ERR_UNSUPPORTED_ENCRYPTION, 'File \''.$p_entry['filename'].'\' is encrypted. Encrypted files are not supported.'); + return PclZip::errorCode(); + } + + + // ----- Look for using temporary file to unzip + if ( (!isset($p_options[PCLZIP_OPT_TEMP_FILE_OFF])) + && (isset($p_options[PCLZIP_OPT_TEMP_FILE_ON]) + || (isset($p_options[PCLZIP_OPT_TEMP_FILE_THRESHOLD]) + && ($p_options[PCLZIP_OPT_TEMP_FILE_THRESHOLD] <= $p_entry['size'])) ) ) { + $v_result = $this->privExtractFileUsingTempFile($p_entry, $p_options); + if ($v_result < PCLZIP_ERR_NO_ERROR) { + return $v_result; + } + } + + // ----- Look for extract in memory + else { + + + // ----- Read the compressed file in a buffer (one shot) + $v_buffer = @fread($this->zip_fd, $p_entry['compressed_size']); + + // ----- Decompress the file + $v_file_content = @gzinflate($v_buffer); + unset($v_buffer); + if ($v_file_content === FALSE) { + + // ----- Change the file status + // TBC + $p_entry['status'] = "error"; + + return $v_result; + } + + // ----- Opening destination file + if (($v_dest_file = @fopen($p_entry['filename'], 'wb')) == 0) { + + // ----- Change the file status + $p_entry['status'] = "write_error"; + + return $v_result; + } + + // ----- Write the uncompressed data + @fwrite($v_dest_file, $v_file_content, $p_entry['size']); + unset($v_file_content); + + // ----- Closing the destination file + @fclose($v_dest_file); + + } + + // ----- Change the file mtime + @touch($p_entry['filename'], $p_entry['mtime']); + } + + // ----- Look for chmod option + if (isset($p_options[PCLZIP_OPT_SET_CHMOD])) { + + // ----- Change the mode of the file + @chmod($p_entry['filename'], $p_options[PCLZIP_OPT_SET_CHMOD]); + } + + } + } + + // ----- Change abort status + if ($p_entry['status'] == "aborted") { + $p_entry['status'] = "skipped"; + } + + // ----- Look for post-extract callback + elseif (isset($p_options[PCLZIP_CB_POST_EXTRACT])) { + + // ----- Generate a local information + $v_local_header = array(); + $this->privConvertHeader2FileInfo($p_entry, $v_local_header); + + // ----- Call the callback + // Here I do not use call_user_func() because I need to send a reference to the + // header. +// eval('$v_result = '.$p_options[PCLZIP_CB_POST_EXTRACT].'(PCLZIP_CB_POST_EXTRACT, $v_local_header);'); + $v_result = $p_options[PCLZIP_CB_POST_EXTRACT](PCLZIP_CB_POST_EXTRACT, $v_local_header); + + // ----- Look for abort result + if ($v_result == 2) { + $v_result = PCLZIP_ERR_USER_ABORTED; + } + } + + // ----- Return + return $v_result; + } + // -------------------------------------------------------------------------------- + + // -------------------------------------------------------------------------------- + // Function : privExtractFileUsingTempFile() + // Description : + // Parameters : + // Return Values : + // -------------------------------------------------------------------------------- + function privExtractFileUsingTempFile(&$p_entry, &$p_options) + { + $v_result=1; + + // ----- Creates a temporary file + $v_gzip_temp_name = PCLZIP_TEMPORARY_DIR.uniqid('pclzip-').'.gz'; + if (($v_dest_file = @fopen($v_gzip_temp_name, "wb")) == 0) { + fclose($v_file); + PclZip::privErrorLog(PCLZIP_ERR_WRITE_OPEN_FAIL, 'Unable to open temporary file \''.$v_gzip_temp_name.'\' in binary write mode'); + return PclZip::errorCode(); + } + + + // ----- Write gz file format header + $v_binary_data = pack('va1a1Va1a1', 0x8b1f, Chr($p_entry['compression']), Chr(0x00), time(), Chr(0x00), Chr(3)); + @fwrite($v_dest_file, $v_binary_data, 10); + + // ----- Read the file by PCLZIP_READ_BLOCK_SIZE octets blocks + $v_size = $p_entry['compressed_size']; + while ($v_size != 0) + { + $v_read_size = ($v_size < PCLZIP_READ_BLOCK_SIZE ? $v_size : PCLZIP_READ_BLOCK_SIZE); + $v_buffer = @fread($this->zip_fd, $v_read_size); + //$v_binary_data = pack('a'.$v_read_size, $v_buffer); + @fwrite($v_dest_file, $v_buffer, $v_read_size); + $v_size -= $v_read_size; + } + + // ----- Write gz file format footer + $v_binary_data = pack('VV', $p_entry['crc'], $p_entry['size']); + @fwrite($v_dest_file, $v_binary_data, 8); + + // ----- Close the temporary file + @fclose($v_dest_file); + + // ----- Opening destination file + if (($v_dest_file = @fopen($p_entry['filename'], 'wb')) == 0) { + $p_entry['status'] = "write_error"; + return $v_result; + } + + // ----- Open the temporary gz file + if (($v_src_file = @gzopen($v_gzip_temp_name, 'rb')) == 0) { + @fclose($v_dest_file); + $p_entry['status'] = "read_error"; + PclZip::privErrorLog(PCLZIP_ERR_READ_OPEN_FAIL, 'Unable to open temporary file \''.$v_gzip_temp_name.'\' in binary read mode'); + return PclZip::errorCode(); + } + + + // ----- Read the file by PCLZIP_READ_BLOCK_SIZE octets blocks + $v_size = $p_entry['size']; + while ($v_size != 0) { + $v_read_size = ($v_size < PCLZIP_READ_BLOCK_SIZE ? $v_size : PCLZIP_READ_BLOCK_SIZE); + $v_buffer = @gzread($v_src_file, $v_read_size); + //$v_binary_data = pack('a'.$v_read_size, $v_buffer); + @fwrite($v_dest_file, $v_buffer, $v_read_size); + $v_size -= $v_read_size; + } + @fclose($v_dest_file); + @gzclose($v_src_file); + + // ----- Delete the temporary file + @unlink($v_gzip_temp_name); + + // ----- Return + return $v_result; + } + // -------------------------------------------------------------------------------- + + // -------------------------------------------------------------------------------- + // Function : privExtractFileInOutput() + // Description : + // Parameters : + // Return Values : + // -------------------------------------------------------------------------------- + function privExtractFileInOutput(&$p_entry, &$p_options) + { + $v_result=1; + + // ----- Read the file header + if (($v_result = $this->privReadFileHeader($v_header)) != 1) { + return $v_result; + } + + + // ----- Check that the file header is coherent with $p_entry info + if ($this->privCheckFileHeaders($v_header, $p_entry) != 1) { + // TBC + } + + // ----- Look for pre-extract callback + if (isset($p_options[PCLZIP_CB_PRE_EXTRACT])) { + + // ----- Generate a local information + $v_local_header = array(); + $this->privConvertHeader2FileInfo($p_entry, $v_local_header); + + // ----- Call the callback + // Here I do not use call_user_func() because I need to send a reference to the + // header. +// eval('$v_result = '.$p_options[PCLZIP_CB_PRE_EXTRACT].'(PCLZIP_CB_PRE_EXTRACT, $v_local_header);'); + $v_result = $p_options[PCLZIP_CB_PRE_EXTRACT](PCLZIP_CB_PRE_EXTRACT, $v_local_header); + if ($v_result == 0) { + // ----- Change the file status + $p_entry['status'] = "skipped"; + $v_result = 1; + } + + // ----- Look for abort result + if ($v_result == 2) { + // ----- This status is internal and will be changed in 'skipped' + $p_entry['status'] = "aborted"; + $v_result = PCLZIP_ERR_USER_ABORTED; + } + + // ----- Update the informations + // Only some fields can be modified + $p_entry['filename'] = $v_local_header['filename']; + } + + // ----- Trace + + // ----- Look if extraction should be done + if ($p_entry['status'] == 'ok') { + + // ----- Do the extraction (if not a folder) + if (!(($p_entry['external']&0x00000010)==0x00000010)) { + // ----- Look for not compressed file + if ($p_entry['compressed_size'] == $p_entry['size']) { + + // ----- Read the file in a buffer (one shot) + $v_buffer = @fread($this->zip_fd, $p_entry['compressed_size']); + + // ----- Send the file to the output + echo $v_buffer; + unset($v_buffer); + } + else { + + // ----- Read the compressed file in a buffer (one shot) + $v_buffer = @fread($this->zip_fd, $p_entry['compressed_size']); + + // ----- Decompress the file + $v_file_content = gzinflate($v_buffer); + unset($v_buffer); + + // ----- Send the file to the output + echo $v_file_content; + unset($v_file_content); + } + } + } + + // ----- Change abort status + if ($p_entry['status'] == "aborted") { + $p_entry['status'] = "skipped"; + } + + // ----- Look for post-extract callback + elseif (isset($p_options[PCLZIP_CB_POST_EXTRACT])) { + + // ----- Generate a local information + $v_local_header = array(); + $this->privConvertHeader2FileInfo($p_entry, $v_local_header); + + // ----- Call the callback + // Here I do not use call_user_func() because I need to send a reference to the + // header. +// eval('$v_result = '.$p_options[PCLZIP_CB_POST_EXTRACT].'(PCLZIP_CB_POST_EXTRACT, $v_local_header);'); + $v_result = $p_options[PCLZIP_CB_POST_EXTRACT](PCLZIP_CB_POST_EXTRACT, $v_local_header); + + // ----- Look for abort result + if ($v_result == 2) { + $v_result = PCLZIP_ERR_USER_ABORTED; + } + } + + return $v_result; + } + // -------------------------------------------------------------------------------- + + // -------------------------------------------------------------------------------- + // Function : privExtractFileAsString() + // Description : + // Parameters : + // Return Values : + // -------------------------------------------------------------------------------- + function privExtractFileAsString(&$p_entry, &$p_string, &$p_options) + { + $v_result=1; + + // ----- Read the file header + $v_header = array(); + if (($v_result = $this->privReadFileHeader($v_header)) != 1) + { + // ----- Return + return $v_result; + } + + + // ----- Check that the file header is coherent with $p_entry info + if ($this->privCheckFileHeaders($v_header, $p_entry) != 1) { + // TBC + } + + // ----- Look for pre-extract callback + if (isset($p_options[PCLZIP_CB_PRE_EXTRACT])) { + + // ----- Generate a local information + $v_local_header = array(); + $this->privConvertHeader2FileInfo($p_entry, $v_local_header); + + // ----- Call the callback + // Here I do not use call_user_func() because I need to send a reference to the + // header. +// eval('$v_result = '.$p_options[PCLZIP_CB_PRE_EXTRACT].'(PCLZIP_CB_PRE_EXTRACT, $v_local_header);'); + $v_result = $p_options[PCLZIP_CB_PRE_EXTRACT](PCLZIP_CB_PRE_EXTRACT, $v_local_header); + if ($v_result == 0) { + // ----- Change the file status + $p_entry['status'] = "skipped"; + $v_result = 1; + } + + // ----- Look for abort result + if ($v_result == 2) { + // ----- This status is internal and will be changed in 'skipped' + $p_entry['status'] = "aborted"; + $v_result = PCLZIP_ERR_USER_ABORTED; + } + + // ----- Update the informations + // Only some fields can be modified + $p_entry['filename'] = $v_local_header['filename']; + } + + + // ----- Look if extraction should be done + if ($p_entry['status'] == 'ok') { + + // ----- Do the extraction (if not a folder) + if (!(($p_entry['external']&0x00000010)==0x00000010)) { + // ----- Look for not compressed file + // if ($p_entry['compressed_size'] == $p_entry['size']) + if ($p_entry['compression'] == 0) { + + // ----- Reading the file + $p_string = @fread($this->zip_fd, $p_entry['compressed_size']); + } + else { + + // ----- Reading the file + $v_data = @fread($this->zip_fd, $p_entry['compressed_size']); + + // ----- Decompress the file + if (($p_string = @gzinflate($v_data)) === FALSE) { + // TBC + } + } + + // ----- Trace + } + else { + // TBC : error : can not extract a folder in a string + } + + } + + // ----- Change abort status + if ($p_entry['status'] == "aborted") { + $p_entry['status'] = "skipped"; + } + + // ----- Look for post-extract callback + elseif (isset($p_options[PCLZIP_CB_POST_EXTRACT])) { + + // ----- Generate a local information + $v_local_header = array(); + $this->privConvertHeader2FileInfo($p_entry, $v_local_header); + + // ----- Swap the content to header + $v_local_header['content'] = $p_string; + $p_string = ''; + + // ----- Call the callback + // Here I do not use call_user_func() because I need to send a reference to the + // header. +// eval('$v_result = '.$p_options[PCLZIP_CB_POST_EXTRACT].'(PCLZIP_CB_POST_EXTRACT, $v_local_header);'); + $v_result = $p_options[PCLZIP_CB_POST_EXTRACT](PCLZIP_CB_POST_EXTRACT, $v_local_header); + + // ----- Swap back the content to header + $p_string = $v_local_header['content']; + unset($v_local_header['content']); + + // ----- Look for abort result + if ($v_result == 2) { + $v_result = PCLZIP_ERR_USER_ABORTED; + } + } + + // ----- Return + return $v_result; + } + // -------------------------------------------------------------------------------- + + // -------------------------------------------------------------------------------- + // Function : privReadFileHeader() + // Description : + // Parameters : + // Return Values : + // -------------------------------------------------------------------------------- + function privReadFileHeader(&$p_header) + { + $v_result=1; + + // ----- Read the 4 bytes signature + $v_binary_data = @fread($this->zip_fd, 4); + $v_data = unpack('Vid', $v_binary_data); + + // ----- Check signature + if ($v_data['id'] != 0x04034b50) + { + + // ----- Error log + PclZip::privErrorLog(PCLZIP_ERR_BAD_FORMAT, 'Invalid archive structure'); + + // ----- Return + return PclZip::errorCode(); + } + + // ----- Read the first 42 bytes of the header + $v_binary_data = fread($this->zip_fd, 26); + + // ----- Look for invalid block size + if (strlen($v_binary_data) != 26) + { + $p_header['filename'] = ""; + $p_header['status'] = "invalid_header"; + + // ----- Error log + PclZip::privErrorLog(PCLZIP_ERR_BAD_FORMAT, "Invalid block size : ".strlen($v_binary_data)); + + // ----- Return + return PclZip::errorCode(); + } + + // ----- Extract the values + $v_data = unpack('vversion/vflag/vcompression/vmtime/vmdate/Vcrc/Vcompressed_size/Vsize/vfilename_len/vextra_len', $v_binary_data); + + // ----- Get filename + $p_header['filename'] = fread($this->zip_fd, $v_data['filename_len']); + + // ----- Get extra_fields + if ($v_data['extra_len'] != 0) { + $p_header['extra'] = fread($this->zip_fd, $v_data['extra_len']); + } + else { + $p_header['extra'] = ''; + } + + // ----- Extract properties + $p_header['version_extracted'] = $v_data['version']; + $p_header['compression'] = $v_data['compression']; + $p_header['size'] = $v_data['size']; + $p_header['compressed_size'] = $v_data['compressed_size']; + $p_header['crc'] = $v_data['crc']; + $p_header['flag'] = $v_data['flag']; + $p_header['filename_len'] = $v_data['filename_len']; + + // ----- Recuperate date in UNIX format + $p_header['mdate'] = $v_data['mdate']; + $p_header['mtime'] = $v_data['mtime']; + if ($p_header['mdate'] && $p_header['mtime']) + { + // ----- Extract time + $v_hour = ($p_header['mtime'] & 0xF800) >> 11; + $v_minute = ($p_header['mtime'] & 0x07E0) >> 5; + $v_seconde = ($p_header['mtime'] & 0x001F)*2; + + // ----- Extract date + $v_year = (($p_header['mdate'] & 0xFE00) >> 9) + 1980; + $v_month = ($p_header['mdate'] & 0x01E0) >> 5; + $v_day = $p_header['mdate'] & 0x001F; + + // ----- Get UNIX date format + $p_header['mtime'] = @mktime($v_hour, $v_minute, $v_seconde, $v_month, $v_day, $v_year); + + } + else + { + $p_header['mtime'] = time(); + } + + // TBC + //for(reset($v_data); $key = key($v_data); next($v_data)) { + //} + + // ----- Set the stored filename + $p_header['stored_filename'] = $p_header['filename']; + + // ----- Set the status field + $p_header['status'] = "ok"; + + // ----- Return + return $v_result; + } + // -------------------------------------------------------------------------------- + + // -------------------------------------------------------------------------------- + // Function : privReadCentralFileHeader() + // Description : + // Parameters : + // Return Values : + // -------------------------------------------------------------------------------- + function privReadCentralFileHeader(&$p_header) + { + $v_result=1; + + // ----- Read the 4 bytes signature + $v_binary_data = @fread($this->zip_fd, 4); + $v_data = unpack('Vid', $v_binary_data); + + // ----- Check signature + if ($v_data['id'] != 0x02014b50) + { + + // ----- Error log + PclZip::privErrorLog(PCLZIP_ERR_BAD_FORMAT, 'Invalid archive structure'); + + // ----- Return + return PclZip::errorCode(); + } + + // ----- Read the first 42 bytes of the header + $v_binary_data = fread($this->zip_fd, 42); + + // ----- Look for invalid block size + if (strlen($v_binary_data) != 42) + { + $p_header['filename'] = ""; + $p_header['status'] = "invalid_header"; + + // ----- Error log + PclZip::privErrorLog(PCLZIP_ERR_BAD_FORMAT, "Invalid block size : ".strlen($v_binary_data)); + + // ----- Return + return PclZip::errorCode(); + } + + // ----- Extract the values + $p_header = unpack('vversion/vversion_extracted/vflag/vcompression/vmtime/vmdate/Vcrc/Vcompressed_size/Vsize/vfilename_len/vextra_len/vcomment_len/vdisk/vinternal/Vexternal/Voffset', $v_binary_data); + + // ----- Get filename + if ($p_header['filename_len'] != 0) + $p_header['filename'] = fread($this->zip_fd, $p_header['filename_len']); + else + $p_header['filename'] = ''; + + // ----- Get extra + if ($p_header['extra_len'] != 0) + $p_header['extra'] = fread($this->zip_fd, $p_header['extra_len']); + else + $p_header['extra'] = ''; + + // ----- Get comment + if ($p_header['comment_len'] != 0) + $p_header['comment'] = fread($this->zip_fd, $p_header['comment_len']); + else + $p_header['comment'] = ''; + + // ----- Extract properties + + // ----- Recuperate date in UNIX format + //if ($p_header['mdate'] && $p_header['mtime']) + // TBC : bug : this was ignoring time with 0/0/0 + if (1) + { + // ----- Extract time + $v_hour = ($p_header['mtime'] & 0xF800) >> 11; + $v_minute = ($p_header['mtime'] & 0x07E0) >> 5; + $v_seconde = ($p_header['mtime'] & 0x001F)*2; + + // ----- Extract date + $v_year = (($p_header['mdate'] & 0xFE00) >> 9) + 1980; + $v_month = ($p_header['mdate'] & 0x01E0) >> 5; + $v_day = $p_header['mdate'] & 0x001F; + + // ----- Get UNIX date format + $p_header['mtime'] = @mktime($v_hour, $v_minute, $v_seconde, $v_month, $v_day, $v_year); + + } + else + { + $p_header['mtime'] = time(); + } + + // ----- Set the stored filename + $p_header['stored_filename'] = $p_header['filename']; + + // ----- Set default status to ok + $p_header['status'] = 'ok'; + + // ----- Look if it is a directory + if (substr($p_header['filename'], -1) == '/') { + //$p_header['external'] = 0x41FF0010; + $p_header['external'] = 0x00000010; + } + + + // ----- Return + return $v_result; + } + // -------------------------------------------------------------------------------- + + // -------------------------------------------------------------------------------- + // Function : privCheckFileHeaders() + // Description : + // Parameters : + // Return Values : + // 1 on success, + // 0 on error; + // -------------------------------------------------------------------------------- + function privCheckFileHeaders(&$p_local_header, &$p_central_header) + { + $v_result=1; + + // ----- Check the static values + // TBC + if ($p_local_header['filename'] != $p_central_header['filename']) { + } + if ($p_local_header['version_extracted'] != $p_central_header['version_extracted']) { + } + if ($p_local_header['flag'] != $p_central_header['flag']) { + } + if ($p_local_header['compression'] != $p_central_header['compression']) { + } + if ($p_local_header['mtime'] != $p_central_header['mtime']) { + } + if ($p_local_header['filename_len'] != $p_central_header['filename_len']) { + } + + // ----- Look for flag bit 3 + if (($p_local_header['flag'] & 8) == 8) { + $p_local_header['size'] = $p_central_header['size']; + $p_local_header['compressed_size'] = $p_central_header['compressed_size']; + $p_local_header['crc'] = $p_central_header['crc']; + } + + // ----- Return + return $v_result; + } + // -------------------------------------------------------------------------------- + + // -------------------------------------------------------------------------------- + // Function : privReadEndCentralDir() + // Description : + // Parameters : + // Return Values : + // -------------------------------------------------------------------------------- + function privReadEndCentralDir(&$p_central_dir) + { + $v_result=1; + + // ----- Go to the end of the zip file + $v_size = filesize($this->zipname); + @fseek($this->zip_fd, $v_size); + if (@ftell($this->zip_fd) != $v_size) + { + // ----- Error log + PclZip::privErrorLog(PCLZIP_ERR_BAD_FORMAT, 'Unable to go to the end of the archive \''.$this->zipname.'\''); + + // ----- Return + return PclZip::errorCode(); + } + + // ----- First try : look if this is an archive with no commentaries (most of the time) + // in this case the end of central dir is at 22 bytes of the file end + $v_found = 0; + if ($v_size > 26) { + @fseek($this->zip_fd, $v_size-22); + if (($v_pos = @ftell($this->zip_fd)) != ($v_size-22)) + { + // ----- Error log + PclZip::privErrorLog(PCLZIP_ERR_BAD_FORMAT, 'Unable to seek back to the middle of the archive \''.$this->zipname.'\''); + + // ----- Return + return PclZip::errorCode(); + } + + // ----- Read for bytes + $v_binary_data = @fread($this->zip_fd, 4); + $v_data = @unpack('Vid', $v_binary_data); + + // ----- Check signature + if ($v_data['id'] == 0x06054b50) { + $v_found = 1; + } + + $v_pos = ftell($this->zip_fd); + } + + // ----- Go back to the maximum possible size of the Central Dir End Record + if (!$v_found) { + $v_maximum_size = 65557; // 0xFFFF + 22; + if ($v_maximum_size > $v_size) + $v_maximum_size = $v_size; + @fseek($this->zip_fd, $v_size-$v_maximum_size); + if (@ftell($this->zip_fd) != ($v_size-$v_maximum_size)) + { + // ----- Error log + PclZip::privErrorLog(PCLZIP_ERR_BAD_FORMAT, 'Unable to seek back to the middle of the archive \''.$this->zipname.'\''); + + // ----- Return + return PclZip::errorCode(); + } + + // ----- Read byte per byte in order to find the signature + $v_pos = ftell($this->zip_fd); + $v_bytes = 0x00000000; + while ($v_pos < $v_size) + { + // ----- Read a byte + $v_byte = @fread($this->zip_fd, 1); + + // ----- Add the byte + //$v_bytes = ($v_bytes << 8) | Ord($v_byte); + // Note we mask the old value down such that once shifted we can never end up with more than a 32bit number + // Otherwise on systems where we have 64bit integers the check below for the magic number will fail. + $v_bytes = ( ($v_bytes & 0xFFFFFF) << 8) | Ord($v_byte); + + // ----- Compare the bytes + if ($v_bytes == 0x504b0506) + { + $v_pos++; + break; + } + + $v_pos++; + } + + // ----- Look if not found end of central dir + if ($v_pos == $v_size) + { + + // ----- Error log + PclZip::privErrorLog(PCLZIP_ERR_BAD_FORMAT, "Unable to find End of Central Dir Record signature"); + + // ----- Return + return PclZip::errorCode(); + } + } + + // ----- Read the first 18 bytes of the header + $v_binary_data = fread($this->zip_fd, 18); + + // ----- Look for invalid block size + if (strlen($v_binary_data) != 18) + { + + // ----- Error log + PclZip::privErrorLog(PCLZIP_ERR_BAD_FORMAT, "Invalid End of Central Dir Record size : ".strlen($v_binary_data)); + + // ----- Return + return PclZip::errorCode(); + } + + // ----- Extract the values + $v_data = unpack('vdisk/vdisk_start/vdisk_entries/ventries/Vsize/Voffset/vcomment_size', $v_binary_data); + + // ----- Check the global size + if (($v_pos + $v_data['comment_size'] + 18) != $v_size) { + + // ----- Removed in release 2.2 see readme file + // The check of the file size is a little too strict. + // Some bugs where found when a zip is encrypted/decrypted with 'crypt'. + // While decrypted, zip has training 0 bytes + if (0) { + // ----- Error log + PclZip::privErrorLog(PCLZIP_ERR_BAD_FORMAT, + 'The central dir is not at the end of the archive.' + .' Some trailing bytes exists after the archive.'); + + // ----- Return + return PclZip::errorCode(); + } + } + + // ----- Get comment + if ($v_data['comment_size'] != 0) { + $p_central_dir['comment'] = fread($this->zip_fd, $v_data['comment_size']); + } + else + $p_central_dir['comment'] = ''; + + $p_central_dir['entries'] = $v_data['entries']; + $p_central_dir['disk_entries'] = $v_data['disk_entries']; + $p_central_dir['offset'] = $v_data['offset']; + $p_central_dir['size'] = $v_data['size']; + $p_central_dir['disk'] = $v_data['disk']; + $p_central_dir['disk_start'] = $v_data['disk_start']; + + // TBC + //for(reset($p_central_dir); $key = key($p_central_dir); next($p_central_dir)) { + //} + + // ----- Return + return $v_result; + } + // -------------------------------------------------------------------------------- + + // -------------------------------------------------------------------------------- + // Function : privDeleteByRule() + // Description : + // Parameters : + // Return Values : + // -------------------------------------------------------------------------------- + function privDeleteByRule(&$p_result_list, &$p_options) + { + $v_result=1; + $v_list_detail = array(); + + // ----- Open the zip file + if (($v_result=$this->privOpenFd('rb')) != 1) + { + // ----- Return + return $v_result; + } + + // ----- Read the central directory informations + $v_central_dir = array(); + if (($v_result = $this->privReadEndCentralDir($v_central_dir)) != 1) + { + $this->privCloseFd(); + return $v_result; + } + + // ----- Go to beginning of File + @rewind($this->zip_fd); + + // ----- Scan all the files + // ----- Start at beginning of Central Dir + $v_pos_entry = $v_central_dir['offset']; + @rewind($this->zip_fd); + if (@fseek($this->zip_fd, $v_pos_entry)) + { + // ----- Close the zip file + $this->privCloseFd(); + + // ----- Error log + PclZip::privErrorLog(PCLZIP_ERR_INVALID_ARCHIVE_ZIP, 'Invalid archive size'); + + // ----- Return + return PclZip::errorCode(); + } + + // ----- Read each entry + $v_header_list = array(); + $j_start = 0; + for ($i=0, $v_nb_extracted=0; $i<$v_central_dir['entries']; $i++) + { + + // ----- Read the file header + $v_header_list[$v_nb_extracted] = array(); + if (($v_result = $this->privReadCentralFileHeader($v_header_list[$v_nb_extracted])) != 1) + { + // ----- Close the zip file + $this->privCloseFd(); + + return $v_result; + } + + + // ----- Store the index + $v_header_list[$v_nb_extracted]['index'] = $i; + + // ----- Look for the specific extract rules + $v_found = false; + + // ----- Look for extract by name rule + if ( (isset($p_options[PCLZIP_OPT_BY_NAME])) + && ($p_options[PCLZIP_OPT_BY_NAME] != 0)) { + + // ----- Look if the filename is in the list + for ($j=0; ($j<sizeof($p_options[PCLZIP_OPT_BY_NAME])) && (!$v_found); $j++) { + + // ----- Look for a directory + if (substr($p_options[PCLZIP_OPT_BY_NAME][$j], -1) == "/") { + + // ----- Look if the directory is in the filename path + if ( (strlen($v_header_list[$v_nb_extracted]['stored_filename']) > strlen($p_options[PCLZIP_OPT_BY_NAME][$j])) + && (substr($v_header_list[$v_nb_extracted]['stored_filename'], 0, strlen($p_options[PCLZIP_OPT_BY_NAME][$j])) == $p_options[PCLZIP_OPT_BY_NAME][$j])) { + $v_found = true; + } + elseif ( (($v_header_list[$v_nb_extracted]['external']&0x00000010)==0x00000010) /* Indicates a folder */ + && ($v_header_list[$v_nb_extracted]['stored_filename'].'/' == $p_options[PCLZIP_OPT_BY_NAME][$j])) { + $v_found = true; + } + } + // ----- Look for a filename + elseif ($v_header_list[$v_nb_extracted]['stored_filename'] == $p_options[PCLZIP_OPT_BY_NAME][$j]) { + $v_found = true; + } + } + } + + // ----- Look for extract by ereg rule + // ereg() is deprecated with PHP 5.3 + /* + else if ( (isset($p_options[PCLZIP_OPT_BY_EREG])) + && ($p_options[PCLZIP_OPT_BY_EREG] != "")) { + + if (ereg($p_options[PCLZIP_OPT_BY_EREG], $v_header_list[$v_nb_extracted]['stored_filename'])) { + $v_found = true; + } + } + */ + + // ----- Look for extract by preg rule + else if ( (isset($p_options[PCLZIP_OPT_BY_PREG])) + && ($p_options[PCLZIP_OPT_BY_PREG] != "")) { + + if (preg_match($p_options[PCLZIP_OPT_BY_PREG], $v_header_list[$v_nb_extracted]['stored_filename'])) { + $v_found = true; + } + } + + // ----- Look for extract by index rule + else if ( (isset($p_options[PCLZIP_OPT_BY_INDEX])) + && ($p_options[PCLZIP_OPT_BY_INDEX] != 0)) { + + // ----- Look if the index is in the list + for ($j=$j_start; ($j<sizeof($p_options[PCLZIP_OPT_BY_INDEX])) && (!$v_found); $j++) { + + if (($i>=$p_options[PCLZIP_OPT_BY_INDEX][$j]['start']) && ($i<=$p_options[PCLZIP_OPT_BY_INDEX][$j]['end'])) { + $v_found = true; + } + if ($i>=$p_options[PCLZIP_OPT_BY_INDEX][$j]['end']) { + $j_start = $j+1; + } + + if ($p_options[PCLZIP_OPT_BY_INDEX][$j]['start']>$i) { + break; + } + } + } + else { + $v_found = true; + } + + // ----- Look for deletion + if ($v_found) + { + unset($v_header_list[$v_nb_extracted]); + } + else + { + $v_nb_extracted++; + } + } + + // ----- Look if something need to be deleted + if ($v_nb_extracted > 0) { + + // ----- Creates a temporay file + $v_zip_temp_name = PCLZIP_TEMPORARY_DIR.uniqid('pclzip-').'.tmp'; + + // ----- Creates a temporary zip archive + $v_temp_zip = new PclZip($v_zip_temp_name); + + // ----- Open the temporary zip file in write mode + if (($v_result = $v_temp_zip->privOpenFd('wb')) != 1) { + $this->privCloseFd(); + + // ----- Return + return $v_result; + } + + // ----- Look which file need to be kept + for ($i=0; $i<sizeof($v_header_list); $i++) { + + // ----- Calculate the position of the header + @rewind($this->zip_fd); + if (@fseek($this->zip_fd, $v_header_list[$i]['offset'])) { + // ----- Close the zip file + $this->privCloseFd(); + $v_temp_zip->privCloseFd(); + @unlink($v_zip_temp_name); + + // ----- Error log + PclZip::privErrorLog(PCLZIP_ERR_INVALID_ARCHIVE_ZIP, 'Invalid archive size'); + + // ----- Return + return PclZip::errorCode(); + } + + // ----- Read the file header + $v_local_header = array(); + if (($v_result = $this->privReadFileHeader($v_local_header)) != 1) { + // ----- Close the zip file + $this->privCloseFd(); + $v_temp_zip->privCloseFd(); + @unlink($v_zip_temp_name); + + // ----- Return + return $v_result; + } + + // ----- Check that local file header is same as central file header + if ($this->privCheckFileHeaders($v_local_header, + $v_header_list[$i]) != 1) { + // TBC + } + unset($v_local_header); + + // ----- Write the file header + if (($v_result = $v_temp_zip->privWriteFileHeader($v_header_list[$i])) != 1) { + // ----- Close the zip file + $this->privCloseFd(); + $v_temp_zip->privCloseFd(); + @unlink($v_zip_temp_name); + + // ----- Return + return $v_result; + } + + // ----- Read/write the data block + if (($v_result = PclZipUtilCopyBlock($this->zip_fd, $v_temp_zip->zip_fd, $v_header_list[$i]['compressed_size'])) != 1) { + // ----- Close the zip file + $this->privCloseFd(); + $v_temp_zip->privCloseFd(); + @unlink($v_zip_temp_name); + + // ----- Return + return $v_result; + } + } + + // ----- Store the offset of the central dir + $v_offset = @ftell($v_temp_zip->zip_fd); + + // ----- Re-Create the Central Dir files header + for ($i=0; $i<sizeof($v_header_list); $i++) { + // ----- Create the file header + if (($v_result = $v_temp_zip->privWriteCentralFileHeader($v_header_list[$i])) != 1) { + $v_temp_zip->privCloseFd(); + $this->privCloseFd(); + @unlink($v_zip_temp_name); + + // ----- Return + return $v_result; + } + + // ----- Transform the header to a 'usable' info + $v_temp_zip->privConvertHeader2FileInfo($v_header_list[$i], $p_result_list[$i]); + } + + + // ----- Zip file comment + $v_comment = ''; + if (isset($p_options[PCLZIP_OPT_COMMENT])) { + $v_comment = $p_options[PCLZIP_OPT_COMMENT]; + } + + // ----- Calculate the size of the central header + $v_size = @ftell($v_temp_zip->zip_fd)-$v_offset; + + // ----- Create the central dir footer + if (($v_result = $v_temp_zip->privWriteCentralHeader(sizeof($v_header_list), $v_size, $v_offset, $v_comment)) != 1) { + // ----- Reset the file list + unset($v_header_list); + $v_temp_zip->privCloseFd(); + $this->privCloseFd(); + @unlink($v_zip_temp_name); + + // ----- Return + return $v_result; + } + + // ----- Close + $v_temp_zip->privCloseFd(); + $this->privCloseFd(); + + // ----- Delete the zip file + // TBC : I should test the result ... + @unlink($this->zipname); + + // ----- Rename the temporary file + // TBC : I should test the result ... + //@rename($v_zip_temp_name, $this->zipname); + PclZipUtilRename($v_zip_temp_name, $this->zipname); + + // ----- Destroy the temporary archive + unset($v_temp_zip); + } + + // ----- Remove every files : reset the file + else if ($v_central_dir['entries'] != 0) { + $this->privCloseFd(); + + if (($v_result = $this->privOpenFd('wb')) != 1) { + return $v_result; + } + + if (($v_result = $this->privWriteCentralHeader(0, 0, 0, '')) != 1) { + return $v_result; + } + + $this->privCloseFd(); + } + + // ----- Return + return $v_result; + } + // -------------------------------------------------------------------------------- + + // -------------------------------------------------------------------------------- + // Function : privDirCheck() + // Description : + // Check if a directory exists, if not it creates it and all the parents directory + // which may be useful. + // Parameters : + // $p_dir : Directory path to check. + // Return Values : + // 1 : OK + // -1 : Unable to create directory + // -------------------------------------------------------------------------------- + function privDirCheck($p_dir, $p_is_dir=false) + { + $v_result = 1; + + + // ----- Remove the final '/' + if (($p_is_dir) && (substr($p_dir, -1)=='/')) + { + $p_dir = substr($p_dir, 0, strlen($p_dir)-1); + } + + // ----- Check the directory availability + if ((is_dir($p_dir)) || ($p_dir == "")) + { + return 1; + } + + // ----- Extract parent directory + $p_parent_dir = dirname($p_dir); + + // ----- Just a check + if ($p_parent_dir != $p_dir) + { + // ----- Look for parent directory + if ($p_parent_dir != "") + { + if (($v_result = $this->privDirCheck($p_parent_dir)) != 1) + { + return $v_result; + } + } + } + + // ----- Create the directory + if (!@mkdir($p_dir, 0777)) + { + // ----- Error log + PclZip::privErrorLog(PCLZIP_ERR_DIR_CREATE_FAIL, "Unable to create directory '$p_dir'"); + + // ----- Return + return PclZip::errorCode(); + } + + // ----- Return + return $v_result; + } + // -------------------------------------------------------------------------------- + + // -------------------------------------------------------------------------------- + // Function : privMerge() + // Description : + // If $p_archive_to_add does not exist, the function exit with a success result. + // Parameters : + // Return Values : + // -------------------------------------------------------------------------------- + function privMerge(&$p_archive_to_add) + { + $v_result=1; + + // ----- Look if the archive_to_add exists + if (!is_file($p_archive_to_add->zipname)) + { + + // ----- Nothing to merge, so merge is a success + $v_result = 1; + + // ----- Return + return $v_result; + } + + // ----- Look if the archive exists + if (!is_file($this->zipname)) + { + + // ----- Do a duplicate + $v_result = $this->privDuplicate($p_archive_to_add->zipname); + + // ----- Return + return $v_result; + } + + // ----- Open the zip file + if (($v_result=$this->privOpenFd('rb')) != 1) + { + // ----- Return + return $v_result; + } + + // ----- Read the central directory informations + $v_central_dir = array(); + if (($v_result = $this->privReadEndCentralDir($v_central_dir)) != 1) + { + $this->privCloseFd(); + return $v_result; + } + + // ----- Go to beginning of File + @rewind($this->zip_fd); + + // ----- Open the archive_to_add file + if (($v_result=$p_archive_to_add->privOpenFd('rb')) != 1) + { + $this->privCloseFd(); + + // ----- Return + return $v_result; + } + + // ----- Read the central directory informations + $v_central_dir_to_add = array(); + if (($v_result = $p_archive_to_add->privReadEndCentralDir($v_central_dir_to_add)) != 1) + { + $this->privCloseFd(); + $p_archive_to_add->privCloseFd(); + + return $v_result; + } + + // ----- Go to beginning of File + @rewind($p_archive_to_add->zip_fd); + + // ----- Creates a temporay file + $v_zip_temp_name = PCLZIP_TEMPORARY_DIR.uniqid('pclzip-').'.tmp'; + + // ----- Open the temporary file in write mode + if (($v_zip_temp_fd = @fopen($v_zip_temp_name, 'wb')) == 0) + { + $this->privCloseFd(); + $p_archive_to_add->privCloseFd(); + + PclZip::privErrorLog(PCLZIP_ERR_READ_OPEN_FAIL, 'Unable to open temporary file \''.$v_zip_temp_name.'\' in binary write mode'); + + // ----- Return + return PclZip::errorCode(); + } + + // ----- Copy the files from the archive to the temporary file + // TBC : Here I should better append the file and go back to erase the central dir + $v_size = $v_central_dir['offset']; + while ($v_size != 0) + { + $v_read_size = ($v_size < PCLZIP_READ_BLOCK_SIZE ? $v_size : PCLZIP_READ_BLOCK_SIZE); + $v_buffer = fread($this->zip_fd, $v_read_size); + @fwrite($v_zip_temp_fd, $v_buffer, $v_read_size); + $v_size -= $v_read_size; + } + + // ----- Copy the files from the archive_to_add into the temporary file + $v_size = $v_central_dir_to_add['offset']; + while ($v_size != 0) + { + $v_read_size = ($v_size < PCLZIP_READ_BLOCK_SIZE ? $v_size : PCLZIP_READ_BLOCK_SIZE); + $v_buffer = fread($p_archive_to_add->zip_fd, $v_read_size); + @fwrite($v_zip_temp_fd, $v_buffer, $v_read_size); + $v_size -= $v_read_size; + } + + // ----- Store the offset of the central dir + $v_offset = @ftell($v_zip_temp_fd); + + // ----- Copy the block of file headers from the old archive + $v_size = $v_central_dir['size']; + while ($v_size != 0) + { + $v_read_size = ($v_size < PCLZIP_READ_BLOCK_SIZE ? $v_size : PCLZIP_READ_BLOCK_SIZE); + $v_buffer = @fread($this->zip_fd, $v_read_size); + @fwrite($v_zip_temp_fd, $v_buffer, $v_read_size); + $v_size -= $v_read_size; + } + + // ----- Copy the block of file headers from the archive_to_add + $v_size = $v_central_dir_to_add['size']; + while ($v_size != 0) + { + $v_read_size = ($v_size < PCLZIP_READ_BLOCK_SIZE ? $v_size : PCLZIP_READ_BLOCK_SIZE); + $v_buffer = @fread($p_archive_to_add->zip_fd, $v_read_size); + @fwrite($v_zip_temp_fd, $v_buffer, $v_read_size); + $v_size -= $v_read_size; + } + + // ----- Merge the file comments + $v_comment = $v_central_dir['comment'].' '.$v_central_dir_to_add['comment']; + + // ----- Calculate the size of the (new) central header + $v_size = @ftell($v_zip_temp_fd)-$v_offset; + + // ----- Swap the file descriptor + // Here is a trick : I swap the temporary fd with the zip fd, in order to use + // the following methods on the temporary fil and not the real archive fd + $v_swap = $this->zip_fd; + $this->zip_fd = $v_zip_temp_fd; + $v_zip_temp_fd = $v_swap; + + // ----- Create the central dir footer + if (($v_result = $this->privWriteCentralHeader($v_central_dir['entries']+$v_central_dir_to_add['entries'], $v_size, $v_offset, $v_comment)) != 1) + { + $this->privCloseFd(); + $p_archive_to_add->privCloseFd(); + @fclose($v_zip_temp_fd); + $this->zip_fd = null; + + // ----- Reset the file list + unset($v_header_list); + + // ----- Return + return $v_result; + } + + // ----- Swap back the file descriptor + $v_swap = $this->zip_fd; + $this->zip_fd = $v_zip_temp_fd; + $v_zip_temp_fd = $v_swap; + + // ----- Close + $this->privCloseFd(); + $p_archive_to_add->privCloseFd(); + + // ----- Close the temporary file + @fclose($v_zip_temp_fd); + + // ----- Delete the zip file + // TBC : I should test the result ... + @unlink($this->zipname); + + // ----- Rename the temporary file + // TBC : I should test the result ... + //@rename($v_zip_temp_name, $this->zipname); + PclZipUtilRename($v_zip_temp_name, $this->zipname); + + // ----- Return + return $v_result; + } + // -------------------------------------------------------------------------------- + + // -------------------------------------------------------------------------------- + // Function : privDuplicate() + // Description : + // Parameters : + // Return Values : + // -------------------------------------------------------------------------------- + function privDuplicate($p_archive_filename) + { + $v_result=1; + + // ----- Look if the $p_archive_filename exists + if (!is_file($p_archive_filename)) + { + + // ----- Nothing to duplicate, so duplicate is a success. + $v_result = 1; + + // ----- Return + return $v_result; + } + + // ----- Open the zip file + if (($v_result=$this->privOpenFd('wb')) != 1) + { + // ----- Return + return $v_result; + } + + // ----- Open the temporary file in write mode + if (($v_zip_temp_fd = @fopen($p_archive_filename, 'rb')) == 0) + { + $this->privCloseFd(); + + PclZip::privErrorLog(PCLZIP_ERR_READ_OPEN_FAIL, 'Unable to open archive file \''.$p_archive_filename.'\' in binary write mode'); + + // ----- Return + return PclZip::errorCode(); + } + + // ----- Copy the files from the archive to the temporary file + // TBC : Here I should better append the file and go back to erase the central dir + $v_size = filesize($p_archive_filename); + while ($v_size != 0) + { + $v_read_size = ($v_size < PCLZIP_READ_BLOCK_SIZE ? $v_size : PCLZIP_READ_BLOCK_SIZE); + $v_buffer = fread($v_zip_temp_fd, $v_read_size); + @fwrite($this->zip_fd, $v_buffer, $v_read_size); + $v_size -= $v_read_size; + } + + // ----- Close + $this->privCloseFd(); + + // ----- Close the temporary file + @fclose($v_zip_temp_fd); + + // ----- Return + return $v_result; + } + // -------------------------------------------------------------------------------- + + // -------------------------------------------------------------------------------- + // Function : privErrorLog() + // Description : + // Parameters : + // -------------------------------------------------------------------------------- + function privErrorLog($p_error_code=0, $p_error_string='') + { + if (PCLZIP_ERROR_EXTERNAL == 1) { + PclError($p_error_code, $p_error_string); + } + else { + $this->error_code = $p_error_code; + $this->error_string = $p_error_string; + } + } + // -------------------------------------------------------------------------------- + + // -------------------------------------------------------------------------------- + // Function : privErrorReset() + // Description : + // Parameters : + // -------------------------------------------------------------------------------- + function privErrorReset() + { + if (PCLZIP_ERROR_EXTERNAL == 1) { + PclErrorReset(); + } + else { + $this->error_code = 0; + $this->error_string = ''; + } + } + // -------------------------------------------------------------------------------- + + // -------------------------------------------------------------------------------- + // Function : privDisableMagicQuotes() + // Description : + // Parameters : + // Return Values : + // -------------------------------------------------------------------------------- + function privDisableMagicQuotes() + { + $v_result=1; + + // ----- Look if function exists + if ( (!function_exists("get_magic_quotes_runtime")) + || (!function_exists("set_magic_quotes_runtime"))) { + return $v_result; + } + + // ----- Look if already done + if ($this->magic_quotes_status != -1) { + return $v_result; + } + + // ----- Get and memorize the magic_quote value + $this->magic_quotes_status = @get_magic_quotes_runtime(); + + // ----- Disable magic_quotes + if ($this->magic_quotes_status == 1) { + @set_magic_quotes_runtime(0); + } + + // ----- Return + return $v_result; + } + // -------------------------------------------------------------------------------- + + // -------------------------------------------------------------------------------- + // Function : privSwapBackMagicQuotes() + // Description : + // Parameters : + // Return Values : + // -------------------------------------------------------------------------------- + function privSwapBackMagicQuotes() + { + $v_result=1; + + // ----- Look if function exists + if ( (!function_exists("get_magic_quotes_runtime")) + || (!function_exists("set_magic_quotes_runtime"))) { + return $v_result; + } + + // ----- Look if something to do + if ($this->magic_quotes_status != -1) { + return $v_result; + } + + // ----- Swap back magic_quotes + if ($this->magic_quotes_status == 1) { + @set_magic_quotes_runtime($this->magic_quotes_status); + } + + // ----- Return + return $v_result; + } + // -------------------------------------------------------------------------------- + + } + // End of class + // -------------------------------------------------------------------------------- + + // -------------------------------------------------------------------------------- + // Function : PclZipUtilPathReduction() + // Description : + // Parameters : + // Return Values : + // -------------------------------------------------------------------------------- + function PclZipUtilPathReduction($p_dir) + { + $v_result = ""; + + // ----- Look for not empty path + if ($p_dir != "") { + // ----- Explode path by directory names + $v_list = explode("/", $p_dir); + + // ----- Study directories from last to first + $v_skip = 0; + for ($i=sizeof($v_list)-1; $i>=0; $i--) { + // ----- Look for current path + if ($v_list[$i] == ".") { + // ----- Ignore this directory + // Should be the first $i=0, but no check is done + } + else if ($v_list[$i] == "..") { + $v_skip++; + } + else if ($v_list[$i] == "") { + // ----- First '/' i.e. root slash + if ($i == 0) { + $v_result = "/".$v_result; + if ($v_skip > 0) { + // ----- It is an invalid path, so the path is not modified + // TBC + $v_result = $p_dir; + $v_skip = 0; + } + } + // ----- Last '/' i.e. indicates a directory + else if ($i == (sizeof($v_list)-1)) { + $v_result = $v_list[$i]; + } + // ----- Double '/' inside the path + else { + // ----- Ignore only the double '//' in path, + // but not the first and last '/' + } + } + else { + // ----- Look for item to skip + if ($v_skip > 0) { + $v_skip--; + } + else { + $v_result = $v_list[$i].($i!=(sizeof($v_list)-1)?"/".$v_result:""); + } + } + } + + // ----- Look for skip + if ($v_skip > 0) { + while ($v_skip > 0) { + $v_result = '../'.$v_result; + $v_skip--; + } + } + } + + // ----- Return + return $v_result; + } + // -------------------------------------------------------------------------------- + + // -------------------------------------------------------------------------------- + // Function : PclZipUtilPathInclusion() + // Description : + // This function indicates if the path $p_path is under the $p_dir tree. Or, + // said in an other way, if the file or sub-dir $p_path is inside the dir + // $p_dir. + // The function indicates also if the path is exactly the same as the dir. + // This function supports path with duplicated '/' like '//', but does not + // support '.' or '..' statements. + // Parameters : + // Return Values : + // 0 if $p_path is not inside directory $p_dir + // 1 if $p_path is inside directory $p_dir + // 2 if $p_path is exactly the same as $p_dir + // -------------------------------------------------------------------------------- + function PclZipUtilPathInclusion($p_dir, $p_path) + { + $v_result = 1; + + // ----- Look for path beginning by ./ + if ( ($p_dir == '.') + || ((strlen($p_dir) >=2) && (substr($p_dir, 0, 2) == './'))) { + $p_dir = PclZipUtilTranslateWinPath(getcwd(), FALSE).'/'.substr($p_dir, 1); + } + if ( ($p_path == '.') + || ((strlen($p_path) >=2) && (substr($p_path, 0, 2) == './'))) { + $p_path = PclZipUtilTranslateWinPath(getcwd(), FALSE).'/'.substr($p_path, 1); + } + + // ----- Explode dir and path by directory separator + $v_list_dir = explode("/", $p_dir); + $v_list_dir_size = sizeof($v_list_dir); + $v_list_path = explode("/", $p_path); + $v_list_path_size = sizeof($v_list_path); + + // ----- Study directories paths + $i = 0; + $j = 0; + while (($i < $v_list_dir_size) && ($j < $v_list_path_size) && ($v_result)) { + + // ----- Look for empty dir (path reduction) + if ($v_list_dir[$i] == '') { + $i++; + continue; + } + if ($v_list_path[$j] == '') { + $j++; + continue; + } + + // ----- Compare the items + if (($v_list_dir[$i] != $v_list_path[$j]) && ($v_list_dir[$i] != '') && ( $v_list_path[$j] != '')) { + $v_result = 0; + } + + // ----- Next items + $i++; + $j++; + } + + // ----- Look if everything seems to be the same + if ($v_result) { + // ----- Skip all the empty items + while (($j < $v_list_path_size) && ($v_list_path[$j] == '')) $j++; + while (($i < $v_list_dir_size) && ($v_list_dir[$i] == '')) $i++; + + if (($i >= $v_list_dir_size) && ($j >= $v_list_path_size)) { + // ----- There are exactly the same + $v_result = 2; + } + else if ($i < $v_list_dir_size) { + // ----- The path is shorter than the dir + $v_result = 0; + } + } + + // ----- Return + return $v_result; + } + // -------------------------------------------------------------------------------- + + // -------------------------------------------------------------------------------- + // Function : PclZipUtilCopyBlock() + // Description : + // Parameters : + // $p_mode : read/write compression mode + // 0 : src & dest normal + // 1 : src gzip, dest normal + // 2 : src normal, dest gzip + // 3 : src & dest gzip + // Return Values : + // -------------------------------------------------------------------------------- + function PclZipUtilCopyBlock($p_src, $p_dest, $p_size, $p_mode=0) + { + $v_result = 1; + + if ($p_mode==0) + { + while ($p_size != 0) + { + $v_read_size = ($p_size < PCLZIP_READ_BLOCK_SIZE ? $p_size : PCLZIP_READ_BLOCK_SIZE); + $v_buffer = @fread($p_src, $v_read_size); + @fwrite($p_dest, $v_buffer, $v_read_size); + $p_size -= $v_read_size; + } + } + else if ($p_mode==1) + { + while ($p_size != 0) + { + $v_read_size = ($p_size < PCLZIP_READ_BLOCK_SIZE ? $p_size : PCLZIP_READ_BLOCK_SIZE); + $v_buffer = @gzread($p_src, $v_read_size); + @fwrite($p_dest, $v_buffer, $v_read_size); + $p_size -= $v_read_size; + } + } + else if ($p_mode==2) + { + while ($p_size != 0) + { + $v_read_size = ($p_size < PCLZIP_READ_BLOCK_SIZE ? $p_size : PCLZIP_READ_BLOCK_SIZE); + $v_buffer = @fread($p_src, $v_read_size); + @gzwrite($p_dest, $v_buffer, $v_read_size); + $p_size -= $v_read_size; + } + } + else if ($p_mode==3) + { + while ($p_size != 0) + { + $v_read_size = ($p_size < PCLZIP_READ_BLOCK_SIZE ? $p_size : PCLZIP_READ_BLOCK_SIZE); + $v_buffer = @gzread($p_src, $v_read_size); + @gzwrite($p_dest, $v_buffer, $v_read_size); + $p_size -= $v_read_size; + } + } + + // ----- Return + return $v_result; + } + // -------------------------------------------------------------------------------- + + // -------------------------------------------------------------------------------- + // Function : PclZipUtilRename() + // Description : + // This function tries to do a simple rename() function. If it fails, it + // tries to copy the $p_src file in a new $p_dest file and then unlink the + // first one. + // Parameters : + // $p_src : Old filename + // $p_dest : New filename + // Return Values : + // 1 on success, 0 on failure. + // -------------------------------------------------------------------------------- + function PclZipUtilRename($p_src, $p_dest) + { + $v_result = 1; + + // ----- Try to rename the files + if (!@rename($p_src, $p_dest)) { + + // ----- Try to copy & unlink the src + if (!@copy($p_src, $p_dest)) { + $v_result = 0; + } + else if (!@unlink($p_src)) { + $v_result = 0; + } + } + + // ----- Return + return $v_result; + } + // -------------------------------------------------------------------------------- + + // -------------------------------------------------------------------------------- + // Function : PclZipUtilOptionText() + // Description : + // Translate option value in text. Mainly for debug purpose. + // Parameters : + // $p_option : the option value. + // Return Values : + // The option text value. + // -------------------------------------------------------------------------------- + function PclZipUtilOptionText($p_option) + { + + $v_list = get_defined_constants(); + for (reset($v_list); $v_key = key($v_list); next($v_list)) { + $v_prefix = substr($v_key, 0, 10); + if (( ($v_prefix == 'PCLZIP_OPT') + || ($v_prefix == 'PCLZIP_CB_') + || ($v_prefix == 'PCLZIP_ATT')) + && ($v_list[$v_key] == $p_option)) { + return $v_key; + } + } + + $v_result = 'Unknown'; + + return $v_result; + } + // -------------------------------------------------------------------------------- + + // -------------------------------------------------------------------------------- + // Function : PclZipUtilTranslateWinPath() + // Description : + // Translate windows path by replacing '\' by '/' and optionally removing + // drive letter. + // Parameters : + // $p_path : path to translate. + // $p_remove_disk_letter : true | false + // Return Values : + // The path translated. + // -------------------------------------------------------------------------------- + function PclZipUtilTranslateWinPath($p_path, $p_remove_disk_letter=true) + { + if (stristr(php_uname(), 'windows')) { + // ----- Look for potential disk letter + if (($p_remove_disk_letter) && (($v_position = strpos($p_path, ':')) != false)) { + $p_path = substr($p_path, $v_position+1); + } + // ----- Change potential windows directory separator + if ((strpos($p_path, '\\') > 0) || (substr($p_path, 0,1) == '\\')) { + $p_path = strtr($p_path, '\\', '/'); + } + } + return $p_path; + } + // -------------------------------------------------------------------------------- diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/PCLZip/readme.txt b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/PCLZip/readme.txt new file mode 100644 index 00000000..6ed88394 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/PCLZip/readme.txt @@ -0,0 +1,421 @@ +// -------------------------------------------------------------------------------- +// PclZip 2.8.2 - readme.txt +// -------------------------------------------------------------------------------- +// License GNU/LGPL - August 2009 +// Vincent Blavet - vincent@phpconcept.net +// http://www.phpconcept.net +// -------------------------------------------------------------------------------- +// $Id: readme.txt,v 1.60 2009/09/30 20:35:21 vblavet Exp $ +// -------------------------------------------------------------------------------- + + + +0 - Sommaire +============ + 1 - Introduction + 2 - What's new + 3 - Corrected bugs + 4 - Known bugs or limitations + 5 - License + 6 - Warning + 7 - Documentation + 8 - Author + 9 - Contribute + +1 - Introduction +================ + + PclZip is a library that allow you to manage a Zip archive. + + Full documentation about PclZip can be found here : http://www.phpconcept.net/pclzip + +2 - What's new +============== + + Version 2.8.2 : + - PCLZIP_CB_PRE_EXTRACT and PCLZIP_CB_POST_EXTRACT are now supported with + extraction as a string (PCLZIP_OPT_EXTRACT_AS_STRING). The string + can also be modified in the post-extract call back. + **Bugs correction : + - PCLZIP_OPT_REMOVE_ALL_PATH was not working correctly + - Remove use of eval() and do direct call to callback functions + - Correct support of 64bits systems (Thanks to WordPress team) + + Version 2.8.1 : + - Move option PCLZIP_OPT_BY_EREG to PCLZIP_OPT_BY_PREG because ereg() is + deprecated in PHP 5.3. When using option PCLZIP_OPT_BY_EREG, PclZip will + automatically replace it by PCLZIP_OPT_BY_PREG. + + Version 2.8 : + - Improve extraction of zip archive for large files by using temporary files + This feature is working like the one defined in r2.7. + Options are renamed : PCLZIP_OPT_TEMP_FILE_ON, PCLZIP_OPT_TEMP_FILE_OFF, + PCLZIP_OPT_TEMP_FILE_THRESHOLD + - Add a ratio constant PCLZIP_TEMPORARY_FILE_RATIO to configure the auto + sense of temporary file use. + - Bug correction : Reduce filepath in returned file list to remove ennoying + './/' preambule in file path. + + Version 2.7 : + - Improve creation of zip archive for large files : + PclZip will now autosense the configured memory and use temporary files + when large file is suspected. + This feature can also ne triggered by manual options in create() and add() + methods. 'PCLZIP_OPT_ADD_TEMP_FILE_ON' force the use of temporary files, + 'PCLZIP_OPT_ADD_TEMP_FILE_OFF' disable the autosense technic, + 'PCLZIP_OPT_ADD_TEMP_FILE_THRESHOLD' allow for configuration of a size + threshold to use temporary files. + Using "temporary files" rather than "memory" might take more time, but + might give the ability to zip very large files : + Tested on my win laptop with a 88Mo file : + Zip "in-memory" : 18sec (max_execution_time=30, memory_limit=180Mo) + Zip "tmporary-files" : 23sec (max_execution_time=30, memory_limit=30Mo) + - Replace use of mktime() by time() to limit the E_STRICT error messages. + - Bug correction : When adding files with full windows path (drive letter) + PclZip is now working. Before, if the drive letter is not the default + path, PclZip was not able to add the file. + + Version 2.6 : + - Code optimisation + - New attributes PCLZIP_ATT_FILE_COMMENT gives the ability to + add a comment for a specific file. (Don't really know if this is usefull) + - New attribute PCLZIP_ATT_FILE_CONTENT gives the ability to add a string + as a file. + - New attribute PCLZIP_ATT_FILE_MTIME modify the timestamp associated with + a file. + - Correct a bug. Files archived with a timestamp with 0h0m0s were extracted + with current time + - Add CRC value in the informations returned back for each file after an + action. + - Add missing closedir() statement. + - When adding a folder, and removing the path of this folder, files were + incorrectly added with a '/' at the beginning. Which means files are + related to root in unix systems. Corrected. + - Add conditional if before constant definition. This will allow users + to redefine constants without changing the file, and then improve + upgrade of pclzip code for new versions. + + Version 2.5 : + - Introduce the ability to add file/folder with individual properties (file descriptor). + This gives for example the ability to change the filename of a zipped file. + . Able to add files individually + . Able to change full name + . Able to change short name + . Compatible with global options + - New attributes : PCLZIP_ATT_FILE_NAME, PCLZIP_ATT_FILE_NEW_SHORT_NAME, PCLZIP_ATT_FILE_NEW_FULL_NAME + - New error code : PCLZIP_ERR_INVALID_ATTRIBUTE_VALUE + - Add a security control feature. PclZip can extract any file in any folder + of a system. People may use this to upload a zip file and try to override + a system file. The PCLZIP_OPT_EXTRACT_DIR_RESTRICTION will give the + ability to forgive any directory transversal behavior. + - New PCLZIP_OPT_EXTRACT_DIR_RESTRICTION : check extraction path + - New error code : PCLZIP_ERR_DIRECTORY_RESTRICTION + - Modification in PclZipUtilPathInclusion() : dir and path beginning with ./ will be prepend + by current path (getcwd()) + + Version 2.4 : + - Code improvment : try to speed up the code by removing unusefull call to pack() + - Correct bug in delete() : delete() should be called with no argument. This was not + the case in 2.3. This is corrected in 2.4. + - Correct a bug in path_inclusion function. When the path has several '../../', the + result was bad. + - Add a check for magic_quotes_runtime configuration. If enabled, PclZip will + disable it while working and det it back to its original value. + This resolve a lots of bad formated archive errors. + - Bug correction : PclZip now correctly unzip file in some specific situation, + when compressed content has same size as uncompressed content. + - Bug correction : When selecting option 'PCLZIP_OPT_REMOVE_ALL_PATH', + directories are not any more created. + - Code improvment : correct unclosed opendir(), better handling of . and .. in + loops. + + + Version 2.3 : + - Correct a bug with PHP5 : affecting the value 0xFE49FFE0 to a variable does not + give the same result in PHP4 and PHP5 .... + + Version 2.2 : + - Try development of PCLZIP_OPT_CRYPT ..... + However this becomes to a stop. To crypt/decrypt I need to multiply 2 long integers, + the result (greater than a long) is not supported by PHP. Even the use of bcmath + functions does not help. I did not find yet a solution ...; + - Add missing '/' at end of directory entries + - Check is a file is encrypted or not. Returns status 'unsupported_encryption' and/or + error code PCLZIP_ERR_UNSUPPORTED_ENCRYPTION. + - Corrected : Bad "version need to extract" field in local file header + - Add private method privCheckFileHeaders() in order to check local and central + file headers. PclZip is now supporting purpose bit flag bit 3. Purpose bit flag bit 3 gives + the ability to have a local file header without size, compressed size and crc filled. + - Add a generic status 'error' for file status + - Add control of compression type. PclZip only support deflate compression method. + Before v2.2, PclZip does not check the compression method used in an archive while + extracting. With v2.2 PclZip returns a new error status for a file using an unsupported + compression method. New status is "unsupported_compression". New error code is + PCLZIP_ERR_UNSUPPORTED_COMPRESSION. + - Add optional attribute PCLZIP_OPT_STOP_ON_ERROR. This will stop the extract of files + when errors like 'a folder with same name exists' or 'a newer file exists' or + 'a write protected file' exists, rather than set a status for the concerning file + and resume the extract of the zip. + - Add optional attribute PCLZIP_OPT_REPLACE_NEWER. This will force, during an extract' the + replacement of the file, even if a newer version of the file exists. + Note that today if a file with the same name already exists but is older it will be + replaced by the extracted one. + - Improve PclZipUtilOption() + - Support of zip archive with trailing bytes. Before 2.2, PclZip checks that the central + directory structure is the last data in the archive. Crypt encryption/decryption of + zip archive put trailing 0 bytes after decryption. PclZip is now supporting this. + + Version 2.1 : + - Add the ability to abort the extraction by using a user callback function. + The user can now return the value '2' in its callback which indicates to stop the + extraction. For a pre call-back extract is stopped before the extration of the current + file. For a post call back, the extraction is stopped after. + - Add the ability to extract a file (or several files) directly in the standard output. + This is done by the new parameter PCLZIP_OPT_EXTRACT_IN_OUTPUT with method extract(). + - Add support for parameters PCLZIP_OPT_COMMENT, PCLZIP_OPT_ADD_COMMENT, + PCLZIP_OPT_PREPEND_COMMENT. This will create, replace, add, or prepend comments + in the zip archive. + - When merging two archives, the comments are not any more lost, but merged, with a + blank space separator. + - Corrected bug : Files are not deleted when all files are asked to be deleted. + - Corrected bug : Folders with name '0' made PclZip to abort the create or add feature. + + + Version 2.0 : + ***** Warning : Some new features may break the backward compatibility for your scripts. + Please carefully read the readme file. + - Add the ability to delete by Index, name and regular expression. This feature is + performed by the method delete(), which uses the optional parameters + PCLZIP_OPT_BY_INDEX, PCLZIP_OPT_BY_NAME, PCLZIP_OPT_BY_EREG or PCLZIP_OPT_BY_PREG. + - Add the ability to extract by regular expression. To extract by regexp you must use the method + extract(), with the option PCLZIP_OPT_BY_EREG or PCLZIP_OPT_BY_PREG + (depending if you want to use ereg() or preg_match() syntax) followed by the + regular expression pattern. + - Add the ability to extract by index, directly with the extract() method. This is a + code improvment of the extractByIndex() method. + - Add the ability to extract by name. To extract by name you must use the method + extract(), with the option PCLZIP_OPT_BY_NAME followed by the filename to + extract or an array of filenames to extract. To extract all a folder, use the folder + name rather than the filename with a '/' at the end. + - Add the ability to add files without compression. This is done with a new attribute + which is PCLZIP_OPT_NO_COMPRESSION. + - Add the attribute PCLZIP_OPT_EXTRACT_AS_STRING, which allow to extract a file directly + in a string without using any file (or temporary file). + - Add constant PCLZIP_SEPARATOR for static configuration of filename separators in a single string. + The default separator is now a comma (,) and not any more a blank space. + THIS BREAK THE BACKWARD COMPATIBILITY : Please check if this may have an impact with + your script. + - Improve algorythm performance by removing the use of temporary files when adding or + extracting files in an archive. + - Add (correct) detection of empty filename zipping. This can occurs when the removed + path is the same + as a zipped dir. The dir is not zipped (['status'] = filtered), only its content. + - Add better support for windows paths (thanks for help from manus@manusfreedom.com). + - Corrected bug : When the archive file already exists with size=0, the add() method + fails. Corrected in 2.0. + - Remove the use of OS_WINDOWS constant. Use php_uname() function rather. + - Control the order of index ranges in extract by index feature. + - Change the internal management of folders (better handling of internal flag). + + + Version 1.3 : + - Removing the double include check. This is now done by include_once() and require_once() + PHP directives. + - Changing the error handling mecanism : Remove the use of an external error library. + The former PclError...() functions are replaced by internal equivalent methods. + By changing the environment variable PCLZIP_ERROR_EXTERNAL you can still use the former library. + Introducing the use of constants for error codes rather than integer values. This will help + in futur improvment. + Introduction of error handling functions like errorCode(), errorName() and errorInfo(). + - Remove the deprecated use of calling function with arguments passed by reference. + - Add the calling of extract(), extractByIndex(), create() and add() functions + with variable options rather than fixed arguments. + - Add the ability to remove all the file path while extracting or adding, + without any need to specify the path to remove. + This is available for extract(), extractByIndex(), create() and add() functionS by using + the new variable options parameters : + - PCLZIP_OPT_REMOVE_ALL_PATH : by indicating this option while calling the fct. + - Ability to change the mode of a file after the extraction (chmod()). + This is available for extract() and extractByIndex() functionS by using + the new variable options parameters. + - PCLZIP_OPT_SET_CHMOD : by setting the value of this option. + - Ability to definition call-back options. These call-back will be called during the adding, + or the extracting of file (extract(), extractByIndex(), create() and add() functions) : + - PCLZIP_CB_PRE_EXTRACT : will be called before each extraction of a file. The user + can trigerred the change the filename of the extracted file. The user can triggered the + skip of the extraction. This is adding a 'skipped' status in the file list result value. + - PCLZIP_CB_POST_EXTRACT : will be called after each extraction of a file. + Nothing can be triggered from that point. + - PCLZIP_CB_PRE_ADD : will be called before each add of a file. The user + can trigerred the change the stored filename of the added file. The user can triggered the + skip of the add. This is adding a 'skipped' status in the file list result value. + - PCLZIP_CB_POST_ADD : will be called after each add of a file. + Nothing can be triggered from that point. + - Two status are added in the file list returned as function result : skipped & filename_too_long + 'skipped' is used when a call-back function ask for skipping the file. + 'filename_too_long' is used while adding a file with a too long filename to archive (the file is + not added) + - Adding the function PclZipUtilPathInclusion(), that check the inclusion of a path into + a directory. + - Add a check of the presence of the archive file before some actions (like list, ...) + - Add the initialisation of field "index" in header array. This means that by + default index will be -1 when not explicitly set by the methods. + + Version 1.2 : + - Adding a duplicate function. + - Adding a merge function. The merge function is a "quick merge" function, + it just append the content of an archive at the end of the first one. There + is no check for duplicate files or more recent files. + - Improve the search of the central directory end. + + Version 1.1.2 : + + - Changing the license of PclZip. PclZip is now released under the GNU / LGPL license + (see License section). + - Adding the optional support of a static temporary directory. You will need to configure + the constant PCLZIP_TEMPORARY_DIR if you want to use this feature. + - Improving the rename() function. In some cases rename() does not work (different + Filesystems), so it will be replaced by a copy() + unlink() functions. + + Version 1.1.1 : + + - Maintenance release, no new feature. + + Version 1.1 : + + - New method Add() : adding files in the archive + - New method ExtractByIndex() : partial extract of the archive, files are identified by + their index in the archive + - New method DeleteByIndex() : delete some files/folder entries from the archive, + files are identified by their index in the archive. + - Adding a test of the zlib extension presence. If not present abort the script. + + Version 1.0.1 : + + - No new feature + + +3 - Corrected bugs +================== + + Corrected in Version 2.0 : + - Corrected : During an extraction, if a call-back fucntion is used and try to skip + a file, all the extraction process is stopped. + + Corrected in Version 1.3 : + - Corrected : Support of static synopsis for method extract() is broken. + - Corrected : invalid size of archive content field (0xFF) should be (0xFFFF). + - Corrected : When an extract is done with a remove_path parameter, the entry for + the directory with exactly the same path is not skipped/filtered. + - Corrected : extractByIndex() and deleteByIndex() were not managing index in the + right way. For example indexes '1,3-5,11' will only extract files 1 and 11. This + is due to a sort of the index resulting table that puts 11 before 3-5 (sort on + string and not interger). The sort is temporarilly removed, this means that + you must provide a sorted list of index ranges. + + Corrected in Version 1.2 : + + - Nothing. + + Corrected in Version 1.1.2 : + + - Corrected : Winzip is unable to delete or add new files in a PclZip created archives. + + Corrected in Version 1.1.1 : + + - Corrected : When archived file is not compressed (0% compression), the + extract method fails. + + Corrected in Version 1.1 : + + - Corrected : Adding a complete tree of folder may result in a bad archive + creation. + + Corrected in Version 1.0.1 : + + - Corrected : Error while compressing files greater than PCLZIP_READ_BLOCK_SIZE (default=1024). + + +4 - Known bugs or limitations +============================= + + Please publish bugs reports in SourceForge : + http://sourceforge.net/tracker/?group_id=40254&atid=427564 + + In Version 2.x : + - PclZip does only support file uncompressed or compressed with deflate (compression method 8) + - PclZip does not support password protected zip archive + - Some concern were seen when changing mtime of a file while archiving. + Seems to be linked to Daylight Saving Time (PclTest_changing_mtime). + + In Version 1.2 : + + - merge() methods does not check for duplicate files or last date of modifications. + + In Version 1.1 : + + - Limitation : Using 'extract' fields in the file header in the zip archive is not supported. + - WinZip is unable to delete a single file in a PclZip created archive. It is also unable to + add a file in a PclZip created archive. (Corrected in v.1.2) + + In Version 1.0.1 : + + - Adding a complete tree of folder may result in a bad archive + creation. (Corrected in V.1.1). + - Path given to methods must be in the unix format (/) and not the Windows format (\). + Workaround : Use only / directory separators. + - PclZip is using temporary files that are sometime the name of the file with a .tmp or .gz + added suffix. Files with these names may already exist and may be overwritten. + Workaround : none. + - PclZip does not check if the zlib extension is present. If it is absent, the zip + file is not created and the lib abort without warning. + Workaround : enable the zlib extension on the php install + + In Version 1.0 : + + - Error while compressing files greater than PCLZIP_READ_BLOCK_SIZE (default=1024). + (Corrected in v.1.0.1) + - Limitation : Multi-disk zip archive are not supported. + + +5 - License +=========== + + Since version 1.1.2, PclZip Library is released under GNU/LGPL license. + This library is free, so you can use it at no cost. + + HOWEVER, if you release a script, an application, a library or any kind of + code using PclZip library (or a part of it), YOU MUST : + - Indicate in the documentation (or a readme file), that your work + uses PclZip Library, and make a reference to the author and the web site + http://www.phpconcept.net + - Gives the ability to the final user to update the PclZip libary. + + I will also appreciate that you send me a mail (vincent@phpconcept.net), just to + be aware that someone is using PclZip. + + For more information about GNU/LGPL license : http://www.gnu.org + +6 - Warning +================= + + This library and the associated files are non commercial, non professional work. + It should not have unexpected results. However if any damage is caused by this software + the author can not be responsible. + The use of this software is at the risk of the user. + +7 - Documentation +================= + PclZip User Manuel is available in English on PhpConcept : http://www.phpconcept.net/pclzip/man/en/index.php + A Russian translation was done by Feskov Kuzma : http://php.russofile.ru/ru/authors/unsort/zip/ + +8 - Author +========== + + This software was written by Vincent Blavet (vincent@phpconcept.net) on its leasure time. + +9 - Contribute +============== + If you want to contribute to the development of PclZip, please contact vincent@phpconcept.net. + If you can help in financing PhpConcept hosting service, please go to + http://www.phpconcept.net/soutien.php diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/PasswordHasher.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/PasswordHasher.php new file mode 100644 index 00000000..891b6bc1 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/PasswordHasher.php @@ -0,0 +1,66 @@ +<?php +/** + * PHPExcel + * + * Copyright (c) 2006 - 2014 PHPExcel + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * @category PHPExcel + * @package PHPExcel_Shared + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @version ##VERSION##, ##DATE## + */ + + +/** + * PHPExcel_Shared_PasswordHasher + * + * @category PHPExcel + * @package PHPExcel_Shared + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + */ +class PHPExcel_Shared_PasswordHasher +{ + /** + * Create a password hash from a given string. + * + * This method is based on the algorithm provided by + * Daniel Rentz of OpenOffice and the PEAR package + * Spreadsheet_Excel_Writer by Xavier Noguer <xnoguer@rezebra.com>. + * + * @param string $pPassword Password to hash + * @return string Hashed password + */ + public static function hashPassword($pPassword = '') { + $password = 0x0000; + $charPos = 1; // char position + + // split the plain text password in its component characters + $chars = preg_split('//', $pPassword, -1, PREG_SPLIT_NO_EMPTY); + foreach ($chars as $char) { + $value = ord($char) << $charPos++; // shifted ASCII value + $rotated_bits = $value >> 15; // rotated bits beyond bit 15 + $value &= 0x7fff; // first 15 bits + $password ^= ($value | $rotated_bits); + } + + $password ^= strlen($pPassword); + $password ^= 0xCE4B; + + return(strtoupper(dechex($password))); + } +} diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/String.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/String.php new file mode 100644 index 00000000..7d6b4192 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/String.php @@ -0,0 +1,811 @@ +<?php +/** + * PHPExcel + * + * Copyright (c) 2006 - 2014 PHPExcel + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * @category PHPExcel + * @package PHPExcel_Shared + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @version ##VERSION##, ##DATE## + */ + + +/** + * PHPExcel_Shared_String + * + * @category PHPExcel + * @package PHPExcel_Shared + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + */ +class PHPExcel_Shared_String +{ + /** Constants */ + /** Regular Expressions */ + // Fraction + const STRING_REGEXP_FRACTION = '(-?)(\d+)\s+(\d+\/\d+)'; + + + /** + * Control characters array + * + * @var string[] + */ + private static $_controlCharacters = array(); + + /** + * SYLK Characters array + * + * $var array + */ + private static $_SYLKCharacters = array(); + + /** + * Decimal separator + * + * @var string + */ + private static $_decimalSeparator; + + /** + * Thousands separator + * + * @var string + */ + private static $_thousandsSeparator; + + /** + * Currency code + * + * @var string + */ + private static $_currencyCode; + + /** + * Is mbstring extension avalable? + * + * @var boolean + */ + private static $_isMbstringEnabled; + + /** + * Is iconv extension avalable? + * + * @var boolean + */ + private static $_isIconvEnabled; + + /** + * Build control characters array + */ + private static function _buildControlCharacters() { + for ($i = 0; $i <= 31; ++$i) { + if ($i != 9 && $i != 10 && $i != 13) { + $find = '_x' . sprintf('%04s' , strtoupper(dechex($i))) . '_'; + $replace = chr($i); + self::$_controlCharacters[$find] = $replace; + } + } + } + + /** + * Build SYLK characters array + */ + private static function _buildSYLKCharacters() + { + self::$_SYLKCharacters = array( + "\x1B 0" => chr(0), + "\x1B 1" => chr(1), + "\x1B 2" => chr(2), + "\x1B 3" => chr(3), + "\x1B 4" => chr(4), + "\x1B 5" => chr(5), + "\x1B 6" => chr(6), + "\x1B 7" => chr(7), + "\x1B 8" => chr(8), + "\x1B 9" => chr(9), + "\x1B :" => chr(10), + "\x1B ;" => chr(11), + "\x1B <" => chr(12), + "\x1B :" => chr(13), + "\x1B >" => chr(14), + "\x1B ?" => chr(15), + "\x1B!0" => chr(16), + "\x1B!1" => chr(17), + "\x1B!2" => chr(18), + "\x1B!3" => chr(19), + "\x1B!4" => chr(20), + "\x1B!5" => chr(21), + "\x1B!6" => chr(22), + "\x1B!7" => chr(23), + "\x1B!8" => chr(24), + "\x1B!9" => chr(25), + "\x1B!:" => chr(26), + "\x1B!;" => chr(27), + "\x1B!<" => chr(28), + "\x1B!=" => chr(29), + "\x1B!>" => chr(30), + "\x1B!?" => chr(31), + "\x1B'?" => chr(127), + "\x1B(0" => '€', // 128 in CP1252 + "\x1B(2" => '‚', // 130 in CP1252 + "\x1B(3" => 'ƒ', // 131 in CP1252 + "\x1B(4" => '„', // 132 in CP1252 + "\x1B(5" => '…', // 133 in CP1252 + "\x1B(6" => '†', // 134 in CP1252 + "\x1B(7" => '‡', // 135 in CP1252 + "\x1B(8" => 'ˆ', // 136 in CP1252 + "\x1B(9" => '‰', // 137 in CP1252 + "\x1B(:" => 'Š', // 138 in CP1252 + "\x1B(;" => '‹', // 139 in CP1252 + "\x1BNj" => 'Œ', // 140 in CP1252 + "\x1B(>" => 'Ž', // 142 in CP1252 + "\x1B)1" => '‘', // 145 in CP1252 + "\x1B)2" => '’', // 146 in CP1252 + "\x1B)3" => '“', // 147 in CP1252 + "\x1B)4" => '”', // 148 in CP1252 + "\x1B)5" => '•', // 149 in CP1252 + "\x1B)6" => '–', // 150 in CP1252 + "\x1B)7" => '—', // 151 in CP1252 + "\x1B)8" => '˜', // 152 in CP1252 + "\x1B)9" => '™', // 153 in CP1252 + "\x1B):" => 'š', // 154 in CP1252 + "\x1B);" => '›', // 155 in CP1252 + "\x1BNz" => 'œ', // 156 in CP1252 + "\x1B)>" => 'ž', // 158 in CP1252 + "\x1B)?" => 'Ÿ', // 159 in CP1252 + "\x1B*0" => ' ', // 160 in CP1252 + "\x1BN!" => '¡', // 161 in CP1252 + "\x1BN\"" => '¢', // 162 in CP1252 + "\x1BN#" => '£', // 163 in CP1252 + "\x1BN(" => '¤', // 164 in CP1252 + "\x1BN%" => '¥', // 165 in CP1252 + "\x1B*6" => '¦', // 166 in CP1252 + "\x1BN'" => '§', // 167 in CP1252 + "\x1BNH " => '¨', // 168 in CP1252 + "\x1BNS" => '©', // 169 in CP1252 + "\x1BNc" => 'ª', // 170 in CP1252 + "\x1BN+" => '«', // 171 in CP1252 + "\x1B*<" => '¬', // 172 in CP1252 + "\x1B*=" => '­', // 173 in CP1252 + "\x1BNR" => '®', // 174 in CP1252 + "\x1B*?" => '¯', // 175 in CP1252 + "\x1BN0" => '°', // 176 in CP1252 + "\x1BN1" => '±', // 177 in CP1252 + "\x1BN2" => '²', // 178 in CP1252 + "\x1BN3" => '³', // 179 in CP1252 + "\x1BNB " => '´', // 180 in CP1252 + "\x1BN5" => 'µ', // 181 in CP1252 + "\x1BN6" => '¶', // 182 in CP1252 + "\x1BN7" => '·', // 183 in CP1252 + "\x1B+8" => '¸', // 184 in CP1252 + "\x1BNQ" => '¹', // 185 in CP1252 + "\x1BNk" => 'º', // 186 in CP1252 + "\x1BN;" => '»', // 187 in CP1252 + "\x1BN<" => '¼', // 188 in CP1252 + "\x1BN=" => '½', // 189 in CP1252 + "\x1BN>" => '¾', // 190 in CP1252 + "\x1BN?" => '¿', // 191 in CP1252 + "\x1BNAA" => 'À', // 192 in CP1252 + "\x1BNBA" => 'Á', // 193 in CP1252 + "\x1BNCA" => 'Â', // 194 in CP1252 + "\x1BNDA" => 'Ã', // 195 in CP1252 + "\x1BNHA" => 'Ä', // 196 in CP1252 + "\x1BNJA" => 'Å', // 197 in CP1252 + "\x1BNa" => 'Æ', // 198 in CP1252 + "\x1BNKC" => 'Ç', // 199 in CP1252 + "\x1BNAE" => 'È', // 200 in CP1252 + "\x1BNBE" => 'É', // 201 in CP1252 + "\x1BNCE" => 'Ê', // 202 in CP1252 + "\x1BNHE" => 'Ë', // 203 in CP1252 + "\x1BNAI" => 'Ì', // 204 in CP1252 + "\x1BNBI" => 'Í', // 205 in CP1252 + "\x1BNCI" => 'Î', // 206 in CP1252 + "\x1BNHI" => 'Ï', // 207 in CP1252 + "\x1BNb" => 'Ð', // 208 in CP1252 + "\x1BNDN" => 'Ñ', // 209 in CP1252 + "\x1BNAO" => 'Ò', // 210 in CP1252 + "\x1BNBO" => 'Ó', // 211 in CP1252 + "\x1BNCO" => 'Ô', // 212 in CP1252 + "\x1BNDO" => 'Õ', // 213 in CP1252 + "\x1BNHO" => 'Ö', // 214 in CP1252 + "\x1B-7" => '×', // 215 in CP1252 + "\x1BNi" => 'Ø', // 216 in CP1252 + "\x1BNAU" => 'Ù', // 217 in CP1252 + "\x1BNBU" => 'Ú', // 218 in CP1252 + "\x1BNCU" => 'Û', // 219 in CP1252 + "\x1BNHU" => 'Ü', // 220 in CP1252 + "\x1B-=" => 'Ý', // 221 in CP1252 + "\x1BNl" => 'Þ', // 222 in CP1252 + "\x1BN{" => 'ß', // 223 in CP1252 + "\x1BNAa" => 'à', // 224 in CP1252 + "\x1BNBa" => 'á', // 225 in CP1252 + "\x1BNCa" => 'â', // 226 in CP1252 + "\x1BNDa" => 'ã', // 227 in CP1252 + "\x1BNHa" => 'ä', // 228 in CP1252 + "\x1BNJa" => 'å', // 229 in CP1252 + "\x1BNq" => 'æ', // 230 in CP1252 + "\x1BNKc" => 'ç', // 231 in CP1252 + "\x1BNAe" => 'è', // 232 in CP1252 + "\x1BNBe" => 'é', // 233 in CP1252 + "\x1BNCe" => 'ê', // 234 in CP1252 + "\x1BNHe" => 'ë', // 235 in CP1252 + "\x1BNAi" => 'ì', // 236 in CP1252 + "\x1BNBi" => 'í', // 237 in CP1252 + "\x1BNCi" => 'î', // 238 in CP1252 + "\x1BNHi" => 'ï', // 239 in CP1252 + "\x1BNs" => 'ð', // 240 in CP1252 + "\x1BNDn" => 'ñ', // 241 in CP1252 + "\x1BNAo" => 'ò', // 242 in CP1252 + "\x1BNBo" => 'ó', // 243 in CP1252 + "\x1BNCo" => 'ô', // 244 in CP1252 + "\x1BNDo" => 'õ', // 245 in CP1252 + "\x1BNHo" => 'ö', // 246 in CP1252 + "\x1B/7" => '÷', // 247 in CP1252 + "\x1BNy" => 'ø', // 248 in CP1252 + "\x1BNAu" => 'ù', // 249 in CP1252 + "\x1BNBu" => 'ú', // 250 in CP1252 + "\x1BNCu" => 'û', // 251 in CP1252 + "\x1BNHu" => 'ü', // 252 in CP1252 + "\x1B/=" => 'ý', // 253 in CP1252 + "\x1BN|" => 'þ', // 254 in CP1252 + "\x1BNHy" => 'ÿ', // 255 in CP1252 + ); + } + + /** + * Get whether mbstring extension is available + * + * @return boolean + */ + public static function getIsMbstringEnabled() + { + if (isset(self::$_isMbstringEnabled)) { + return self::$_isMbstringEnabled; + } + + self::$_isMbstringEnabled = function_exists('mb_convert_encoding') ? + true : false; + + return self::$_isMbstringEnabled; + } + + /** + * Get whether iconv extension is available + * + * @return boolean + */ + public static function getIsIconvEnabled() + { + if (isset(self::$_isIconvEnabled)) { + return self::$_isIconvEnabled; + } + + // Fail if iconv doesn't exist + if (!function_exists('iconv')) { + self::$_isIconvEnabled = false; + return false; + } + + // Sometimes iconv is not working, and e.g. iconv('UTF-8', 'UTF-16LE', 'x') just returns false, + if (!@iconv('UTF-8', 'UTF-16LE', 'x')) { + self::$_isIconvEnabled = false; + return false; + } + + // Sometimes iconv_substr('A', 0, 1, 'UTF-8') just returns false in PHP 5.2.0 + // we cannot use iconv in that case either (http://bugs.php.net/bug.php?id=37773) + if (!@iconv_substr('A', 0, 1, 'UTF-8')) { + self::$_isIconvEnabled = false; + return false; + } + + // CUSTOM: IBM AIX iconv() does not work + if ( defined('PHP_OS') && @stristr(PHP_OS, 'AIX') + && defined('ICONV_IMPL') && (@strcasecmp(ICONV_IMPL, 'unknown') == 0) + && defined('ICONV_VERSION') && (@strcasecmp(ICONV_VERSION, 'unknown') == 0) ) + { + self::$_isIconvEnabled = false; + return false; + } + + // If we reach here no problems were detected with iconv + self::$_isIconvEnabled = true; + return true; + } + + public static function buildCharacterSets() { + if(empty(self::$_controlCharacters)) { + self::_buildControlCharacters(); + } + if(empty(self::$_SYLKCharacters)) { + self::_buildSYLKCharacters(); + } + } + + /** + * Convert from OpenXML escaped control character to PHP control character + * + * Excel 2007 team: + * ---------------- + * That's correct, control characters are stored directly in the shared-strings table. + * We do encode characters that cannot be represented in XML using the following escape sequence: + * _xHHHH_ where H represents a hexadecimal character in the character's value... + * So you could end up with something like _x0008_ in a string (either in a cell value (<v>) + * element or in the shared string <t> element. + * + * @param string $value Value to unescape + * @return string + */ + public static function ControlCharacterOOXML2PHP($value = '') { + return str_replace( array_keys(self::$_controlCharacters), array_values(self::$_controlCharacters), $value ); + } + + /** + * Convert from PHP control character to OpenXML escaped control character + * + * Excel 2007 team: + * ---------------- + * That's correct, control characters are stored directly in the shared-strings table. + * We do encode characters that cannot be represented in XML using the following escape sequence: + * _xHHHH_ where H represents a hexadecimal character in the character's value... + * So you could end up with something like _x0008_ in a string (either in a cell value (<v>) + * element or in the shared string <t> element. + * + * @param string $value Value to escape + * @return string + */ + public static function ControlCharacterPHP2OOXML($value = '') { + return str_replace( array_values(self::$_controlCharacters), array_keys(self::$_controlCharacters), $value ); + } + + /** + * Try to sanitize UTF8, stripping invalid byte sequences. Not perfect. Does not surrogate characters. + * + * @param string $value + * @return string + */ + public static function SanitizeUTF8($value) + { + if (self::getIsIconvEnabled()) { + $value = @iconv('UTF-8', 'UTF-8', $value); + return $value; + } + + if (self::getIsMbstringEnabled()) { + $value = mb_convert_encoding($value, 'UTF-8', 'UTF-8'); + return $value; + } + + // else, no conversion + return $value; + } + + /** + * Check if a string contains UTF8 data + * + * @param string $value + * @return boolean + */ + public static function IsUTF8($value = '') { + return $value === '' || preg_match('/^./su', $value) === 1; + } + + /** + * Formats a numeric value as a string for output in various output writers forcing + * point as decimal separator in case locale is other than English. + * + * @param mixed $value + * @return string + */ + public static function FormatNumber($value) { + if (is_float($value)) { + return str_replace(',', '.', $value); + } + return (string) $value; + } + + /** + * Converts a UTF-8 string into BIFF8 Unicode string data (8-bit string length) + * Writes the string using uncompressed notation, no rich text, no Asian phonetics + * If mbstring extension is not available, ASCII is assumed, and compressed notation is used + * although this will give wrong results for non-ASCII strings + * see OpenOffice.org's Documentation of the Microsoft Excel File Format, sect. 2.5.3 + * + * @param string $value UTF-8 encoded string + * @param mixed[] $arrcRuns Details of rich text runs in $value + * @return string + */ + public static function UTF8toBIFF8UnicodeShort($value, $arrcRuns = array()) + { + // character count + $ln = self::CountCharacters($value, 'UTF-8'); + // option flags + if(empty($arrcRuns)){ + $opt = (self::getIsIconvEnabled() || self::getIsMbstringEnabled()) ? + 0x0001 : 0x0000; + $data = pack('CC', $ln, $opt); + // characters + $data .= self::ConvertEncoding($value, 'UTF-16LE', 'UTF-8'); + } + else { + $data = pack('vC', $ln, 0x09); + $data .= pack('v', count($arrcRuns)); + // characters + $data .= self::ConvertEncoding($value, 'UTF-16LE', 'UTF-8'); + foreach ($arrcRuns as $cRun){ + $data .= pack('v', $cRun['strlen']); + $data .= pack('v', $cRun['fontidx']); + } + } + return $data; + } + + /** + * Converts a UTF-8 string into BIFF8 Unicode string data (16-bit string length) + * Writes the string using uncompressed notation, no rich text, no Asian phonetics + * If mbstring extension is not available, ASCII is assumed, and compressed notation is used + * although this will give wrong results for non-ASCII strings + * see OpenOffice.org's Documentation of the Microsoft Excel File Format, sect. 2.5.3 + * + * @param string $value UTF-8 encoded string + * @return string + */ + public static function UTF8toBIFF8UnicodeLong($value) + { + // character count + $ln = self::CountCharacters($value, 'UTF-8'); + + // option flags + $opt = (self::getIsIconvEnabled() || self::getIsMbstringEnabled()) ? + 0x0001 : 0x0000; + + // characters + $chars = self::ConvertEncoding($value, 'UTF-16LE', 'UTF-8'); + + $data = pack('vC', $ln, $opt) . $chars; + return $data; + } + + /** + * Convert string from one encoding to another. First try mbstring, then iconv, finally strlen + * + * @param string $value + * @param string $to Encoding to convert to, e.g. 'UTF-8' + * @param string $from Encoding to convert from, e.g. 'UTF-16LE' + * @return string + */ + public static function ConvertEncoding($value, $to, $from) + { + if (self::getIsIconvEnabled()) { + return iconv($from, $to, $value); + } + + if (self::getIsMbstringEnabled()) { + return mb_convert_encoding($value, $to, $from); + } + + if($from == 'UTF-16LE'){ + return self::utf16_decode($value, false); + }else if($from == 'UTF-16BE'){ + return self::utf16_decode($value); + } + // else, no conversion + return $value; + } + + /** + * Decode UTF-16 encoded strings. + * + * Can handle both BOM'ed data and un-BOM'ed data. + * Assumes Big-Endian byte order if no BOM is available. + * This function was taken from http://php.net/manual/en/function.utf8-decode.php + * and $bom_be parameter added. + * + * @param string $str UTF-16 encoded data to decode. + * @return string UTF-8 / ISO encoded data. + * @access public + * @version 0.2 / 2010-05-13 + * @author Rasmus Andersson {@link http://rasmusandersson.se/} + * @author vadik56 + */ + public static function utf16_decode($str, $bom_be = TRUE) { + if( strlen($str) < 2 ) return $str; + $c0 = ord($str{0}); + $c1 = ord($str{1}); + if( $c0 == 0xfe && $c1 == 0xff ) { $str = substr($str,2); } + elseif( $c0 == 0xff && $c1 == 0xfe ) { $str = substr($str,2); $bom_be = false; } + $len = strlen($str); + $newstr = ''; + for($i=0;$i<$len;$i+=2) { + if( $bom_be ) { $val = ord($str{$i}) << 4; $val += ord($str{$i+1}); } + else { $val = ord($str{$i+1}) << 4; $val += ord($str{$i}); } + $newstr .= ($val == 0x228) ? "\n" : chr($val); + } + return $newstr; + } + + /** + * Get character count. First try mbstring, then iconv, finally strlen + * + * @param string $value + * @param string $enc Encoding + * @return int Character count + */ + public static function CountCharacters($value, $enc = 'UTF-8') + { + if (self::getIsMbstringEnabled()) { + return mb_strlen($value, $enc); + } + + if (self::getIsIconvEnabled()) { + return iconv_strlen($value, $enc); + } + + // else strlen + return strlen($value); + } + + /** + * Get a substring of a UTF-8 encoded string. First try mbstring, then iconv, finally strlen + * + * @param string $pValue UTF-8 encoded string + * @param int $pStart Start offset + * @param int $pLength Maximum number of characters in substring + * @return string + */ + public static function Substring($pValue = '', $pStart = 0, $pLength = 0) + { + if (self::getIsMbstringEnabled()) { + return mb_substr($pValue, $pStart, $pLength, 'UTF-8'); + } + + if (self::getIsIconvEnabled()) { + return iconv_substr($pValue, $pStart, $pLength, 'UTF-8'); + } + + // else substr + return substr($pValue, $pStart, $pLength); + } + + /** + * Convert a UTF-8 encoded string to upper case + * + * @param string $pValue UTF-8 encoded string + * @return string + */ + public static function StrToUpper($pValue = '') + { + if (function_exists('mb_convert_case')) { + return mb_convert_case($pValue, MB_CASE_UPPER, "UTF-8"); + } + return strtoupper($pValue); + } + + /** + * Convert a UTF-8 encoded string to lower case + * + * @param string $pValue UTF-8 encoded string + * @return string + */ + public static function StrToLower($pValue = '') + { + if (function_exists('mb_convert_case')) { + return mb_convert_case($pValue, MB_CASE_LOWER, "UTF-8"); + } + return strtolower($pValue); + } + + /** + * Convert a UTF-8 encoded string to title/proper case + * (uppercase every first character in each word, lower case all other characters) + * + * @param string $pValue UTF-8 encoded string + * @return string + */ + public static function StrToTitle($pValue = '') + { + if (function_exists('mb_convert_case')) { + return mb_convert_case($pValue, MB_CASE_TITLE, "UTF-8"); + } + return ucwords($pValue); + } + + public static function mb_is_upper($char) + { + return mb_strtolower($char, "UTF-8") != $char; + } + + public static function mb_str_split($string) + { + # Split at all position not after the start: ^ + # and not before the end: $ + return preg_split('/(?<!^)(?!$)/u', $string ); + } + + /** + * Reverse the case of a string, so that all uppercase characters become lowercase + * and all lowercase characters become uppercase + * + * @param string $pValue UTF-8 encoded string + * @return string + */ + public static function StrCaseReverse($pValue = '') + { + if (self::getIsMbstringEnabled()) { + $characters = self::mb_str_split($pValue); + foreach($characters as &$character) { + if(self::mb_is_upper($character)) { + $character = mb_strtolower($character, 'UTF-8'); + } else { + $character = mb_strtoupper($character, 'UTF-8'); + } + } + return implode('', $characters); + } + return strtolower($pValue) ^ strtoupper($pValue) ^ $pValue; + } + + /** + * Identify whether a string contains a fractional numeric value, + * and convert it to a numeric if it is + * + * @param string &$operand string value to test + * @return boolean + */ + public static function convertToNumberIfFraction(&$operand) { + if (preg_match('/^'.self::STRING_REGEXP_FRACTION.'$/i', $operand, $match)) { + $sign = ($match[1] == '-') ? '-' : '+'; + $fractionFormula = '='.$sign.$match[2].$sign.$match[3]; + $operand = PHPExcel_Calculation::getInstance()->_calculateFormulaValue($fractionFormula); + return true; + } + return false; + } // function convertToNumberIfFraction() + + /** + * Get the decimal separator. If it has not yet been set explicitly, try to obtain number + * formatting information from locale. + * + * @return string + */ + public static function getDecimalSeparator() + { + if (!isset(self::$_decimalSeparator)) { + $localeconv = localeconv(); + self::$_decimalSeparator = ($localeconv['decimal_point'] != '') + ? $localeconv['decimal_point'] : $localeconv['mon_decimal_point']; + + if (self::$_decimalSeparator == '') { + // Default to . + self::$_decimalSeparator = '.'; + } + } + return self::$_decimalSeparator; + } + + /** + * Set the decimal separator. Only used by PHPExcel_Style_NumberFormat::toFormattedString() + * to format output by PHPExcel_Writer_HTML and PHPExcel_Writer_PDF + * + * @param string $pValue Character for decimal separator + */ + public static function setDecimalSeparator($pValue = '.') + { + self::$_decimalSeparator = $pValue; + } + + /** + * Get the thousands separator. If it has not yet been set explicitly, try to obtain number + * formatting information from locale. + * + * @return string + */ + public static function getThousandsSeparator() + { + if (!isset(self::$_thousandsSeparator)) { + $localeconv = localeconv(); + self::$_thousandsSeparator = ($localeconv['thousands_sep'] != '') + ? $localeconv['thousands_sep'] : $localeconv['mon_thousands_sep']; + + if (self::$_thousandsSeparator == '') { + // Default to . + self::$_thousandsSeparator = ','; + } + } + return self::$_thousandsSeparator; + } + + /** + * Set the thousands separator. Only used by PHPExcel_Style_NumberFormat::toFormattedString() + * to format output by PHPExcel_Writer_HTML and PHPExcel_Writer_PDF + * + * @param string $pValue Character for thousands separator + */ + public static function setThousandsSeparator($pValue = ',') + { + self::$_thousandsSeparator = $pValue; + } + + /** + * Get the currency code. If it has not yet been set explicitly, try to obtain the + * symbol information from locale. + * + * @return string + */ + public static function getCurrencyCode() + { + if (!isset(self::$_currencyCode)) { + $localeconv = localeconv(); + self::$_currencyCode = ($localeconv['currency_symbol'] != '') + ? $localeconv['currency_symbol'] : $localeconv['int_curr_symbol']; + + if (self::$_currencyCode == '') { + // Default to $ + self::$_currencyCode = '$'; + } + } + return self::$_currencyCode; + } + + /** + * Set the currency code. Only used by PHPExcel_Style_NumberFormat::toFormattedString() + * to format output by PHPExcel_Writer_HTML and PHPExcel_Writer_PDF + * + * @param string $pValue Character for currency code + */ + public static function setCurrencyCode($pValue = '$') + { + self::$_currencyCode = $pValue; + } + + /** + * Convert SYLK encoded string to UTF-8 + * + * @param string $pValue + * @return string UTF-8 encoded string + */ + public static function SYLKtoUTF8($pValue = '') + { + // If there is no escape character in the string there is nothing to do + if (strpos($pValue, '') === false) { + return $pValue; + } + + foreach (self::$_SYLKCharacters as $k => $v) { + $pValue = str_replace($k, $v, $pValue); + } + + return $pValue; + } + + /** + * Retrieve any leading numeric part of a string, or return the full string if no leading numeric + * (handles basic integer or float, but not exponent or non decimal) + * + * @param string $value + * @return mixed string or only the leading numeric part of the string + */ + public static function testStringAsNumeric($value) + { + if (is_numeric($value)) + return $value; + $v = floatval($value); + return (is_numeric(substr($value, 0, strlen($v)))) ? $v : $value; + } +} diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/TimeZone.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/TimeZone.php new file mode 100644 index 00000000..1792a295 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/TimeZone.php @@ -0,0 +1,140 @@ +<?php + +/** + * PHPExcel + * + * Copyright (c) 2006 - 2014 PHPExcel + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * @category PHPExcel + * @package PHPExcel_Shared + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @version ##VERSION##, ##DATE## + */ + + +/** + * PHPExcel_Shared_TimeZone + * + * @category PHPExcel + * @package PHPExcel_Shared + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + */ +class PHPExcel_Shared_TimeZone +{ + /* + * Default Timezone used for date/time conversions + * + * @private + * @var string + */ + protected static $_timezone = 'UTC'; + + /** + * Validate a Timezone name + * + * @param string $timezone Time zone (e.g. 'Europe/London') + * @return boolean Success or failure + */ + public static function _validateTimeZone($timezone) { + if (in_array($timezone, DateTimeZone::listIdentifiers())) { + return TRUE; + } + return FALSE; + } + + /** + * Set the Default Timezone used for date/time conversions + * + * @param string $timezone Time zone (e.g. 'Europe/London') + * @return boolean Success or failure + */ + public static function setTimeZone($timezone) { + if (self::_validateTimezone($timezone)) { + self::$_timezone = $timezone; + return TRUE; + } + return FALSE; + } // function setTimezone() + + + /** + * Return the Default Timezone used for date/time conversions + * + * @return string Timezone (e.g. 'Europe/London') + */ + public static function getTimeZone() { + return self::$_timezone; + } // function getTimezone() + + + /** + * Return the Timezone transition for the specified timezone and timestamp + * + * @param DateTimeZone $objTimezone The timezone for finding the transitions + * @param integer $timestamp PHP date/time value for finding the current transition + * @return array The current transition details + */ + private static function _getTimezoneTransitions($objTimezone, $timestamp) { + $allTransitions = $objTimezone->getTransitions(); + $transitions = array(); + foreach($allTransitions as $key => $transition) { + if ($transition['ts'] > $timestamp) { + $transitions[] = ($key > 0) ? $allTransitions[$key - 1] : $transition; + break; + } + if (empty($transitions)) { + $transitions[] = end($allTransitions); + } + } + + return $transitions; + } + + /** + * Return the Timezone offset used for date/time conversions to/from UST + * This requires both the timezone and the calculated date/time to allow for local DST + * + * @param string $timezone The timezone for finding the adjustment to UST + * @param integer $timestamp PHP date/time value + * @return integer Number of seconds for timezone adjustment + * @throws PHPExcel_Exception + */ + public static function getTimeZoneAdjustment($timezone, $timestamp) { + if ($timezone !== NULL) { + if (!self::_validateTimezone($timezone)) { + throw new PHPExcel_Exception("Invalid timezone " . $timezone); + } + } else { + $timezone = self::$_timezone; + } + + if ($timezone == 'UST') { + return 0; + } + + $objTimezone = new DateTimeZone($timezone); + if (version_compare(PHP_VERSION, '5.3.0') >= 0) { + $transitions = $objTimezone->getTransitions($timestamp,$timestamp); + } else { + $transitions = self::_getTimezoneTransitions($objTimezone, $timestamp); + } + + return (count($transitions) > 0) ? $transitions[0]['offset'] : 0; + } + +} diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/XMLWriter.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/XMLWriter.php new file mode 100644 index 00000000..beca51fc --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/XMLWriter.php @@ -0,0 +1,127 @@ +<?php +/** + * PHPExcel + * + * Copyright (c) 2006 - 2014 PHPExcel + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * @category PHPExcel + * @package PHPExcel_Shared + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @version ##VERSION##, ##DATE## + */ + +if (!defined('DATE_W3C')) { + define('DATE_W3C', 'Y-m-d\TH:i:sP'); +} + +if (!defined('DEBUGMODE_ENABLED')) { + define('DEBUGMODE_ENABLED', false); +} + + +/** + * PHPExcel_Shared_XMLWriter + * + * @category PHPExcel + * @package PHPExcel_Shared + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + */ +class PHPExcel_Shared_XMLWriter extends XMLWriter { + /** Temporary storage method */ + const STORAGE_MEMORY = 1; + const STORAGE_DISK = 2; + + /** + * Temporary filename + * + * @var string + */ + private $_tempFileName = ''; + + /** + * Create a new PHPExcel_Shared_XMLWriter instance + * + * @param int $pTemporaryStorage Temporary storage location + * @param string $pTemporaryStorageFolder Temporary storage folder + */ + public function __construct($pTemporaryStorage = self::STORAGE_MEMORY, $pTemporaryStorageFolder = NULL) { + // Open temporary storage + if ($pTemporaryStorage == self::STORAGE_MEMORY) { + $this->openMemory(); + } else { + // Create temporary filename + if ($pTemporaryStorageFolder === NULL) + $pTemporaryStorageFolder = PHPExcel_Shared_File::sys_get_temp_dir(); + $this->_tempFileName = @tempnam($pTemporaryStorageFolder, 'xml'); + + // Open storage + if ($this->openUri($this->_tempFileName) === false) { + // Fallback to memory... + $this->openMemory(); + } + } + + // Set default values + if (DEBUGMODE_ENABLED) { + $this->setIndent(true); + } + } + + /** + * Destructor + */ + public function __destruct() { + // Unlink temporary files + if ($this->_tempFileName != '') { + @unlink($this->_tempFileName); + } + } + + /** + * Get written data + * + * @return $data + */ + public function getData() { + if ($this->_tempFileName == '') { + return $this->outputMemory(true); + } else { + $this->flush(); + return file_get_contents($this->_tempFileName); + } + } + + /** + * Fallback method for writeRaw, introduced in PHP 5.2 + * + * @param string $text + * @return string + */ + public function writeRawData($text) + { + if (is_array($text)) { + $text = implode("\n",$text); + } + + if (method_exists($this, 'writeRaw')) { + return $this->writeRaw(htmlspecialchars($text)); + } + + return $this->text($text); + } +} diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/ZipArchive.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/ZipArchive.php new file mode 100644 index 00000000..9a801a84 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/ZipArchive.php @@ -0,0 +1,175 @@ +<?php +/** + * PHPExcel + * + * Copyright (c) 2006 - 2014 PHPExcel + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * @category PHPExcel + * @package PHPExcel_Shared_ZipArchive + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @version ##VERSION##, ##DATE## + */ + +if (!defined('PCLZIP_TEMPORARY_DIR')) { + define('PCLZIP_TEMPORARY_DIR', PHPExcel_Shared_File::sys_get_temp_dir() . DIRECTORY_SEPARATOR); +} +require_once PHPEXCEL_ROOT . 'PHPExcel/Shared/PCLZip/pclzip.lib.php'; + + +/** + * PHPExcel_Shared_ZipArchive + * + * @category PHPExcel + * @package PHPExcel_Shared_ZipArchive + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + */ +class PHPExcel_Shared_ZipArchive +{ + + /** constants */ + const OVERWRITE = 'OVERWRITE'; + const CREATE = 'CREATE'; + + + /** + * Temporary storage directory + * + * @var string + */ + private $_tempDir; + + /** + * Zip Archive Stream Handle + * + * @var string + */ + private $_zip; + + + /** + * Open a new zip archive + * + * @param string $fileName Filename for the zip archive + * @return boolean + */ + public function open($fileName) + { + $this->_tempDir = PHPExcel_Shared_File::sys_get_temp_dir(); + + $this->_zip = new PclZip($fileName); + + return true; + } + + + /** + * Close this zip archive + * + */ + public function close() + { + } + + + /** + * Add a new file to the zip archive from a string of raw data. + * + * @param string $localname Directory/Name of the file to add to the zip archive + * @param string $contents String of data to add to the zip archive + */ + public function addFromString($localname, $contents) + { + $filenameParts = pathinfo($localname); + + $handle = fopen($this->_tempDir.'/'.$filenameParts["basename"], "wb"); + fwrite($handle, $contents); + fclose($handle); + + $res = $this->_zip->add($this->_tempDir.'/'.$filenameParts["basename"], + PCLZIP_OPT_REMOVE_PATH, $this->_tempDir, + PCLZIP_OPT_ADD_PATH, $filenameParts["dirname"] + ); + if ($res == 0) { + throw new PHPExcel_Writer_Exception("Error zipping files : " . $this->_zip->errorInfo(true)); + } + + unlink($this->_tempDir.'/'.$filenameParts["basename"]); + } + + /** + * Find if given fileName exist in archive (Emulate ZipArchive locateName()) + * + * @param string $fileName Filename for the file in zip archive + * @return boolean + */ + public function locateName($fileName) + { + $list = $this->_zip->listContent(); + $listCount = count($list); + $list_index = -1; + for ($i = 0; $i < $listCount; ++$i) { + if (strtolower($list[$i]["filename"]) == strtolower($fileName) || + strtolower($list[$i]["stored_filename"]) == strtolower($fileName)) { + $list_index = $i; + break; + } + } + return ($list_index > -1); + } + + /** + * Extract file from archive by given fileName (Emulate ZipArchive getFromName()) + * + * @param string $fileName Filename for the file in zip archive + * @return string $contents File string contents + */ + public function getFromName($fileName) + { + $list = $this->_zip->listContent(); + $listCount = count($list); + $list_index = -1; + for ($i = 0; $i < $listCount; ++$i) { + if (strtolower($list[$i]["filename"]) == strtolower($fileName) || + strtolower($list[$i]["stored_filename"]) == strtolower($fileName)) { + $list_index = $i; + break; + } + } + + $extracted = ""; + if ($list_index != -1) { + $extracted = $this->_zip->extractByIndex($list_index, PCLZIP_OPT_EXTRACT_AS_STRING); + } else { + $filename = substr($fileName, 1); + $list_index = -1; + for ($i = 0; $i < $listCount; ++$i) { + if (strtolower($list[$i]["filename"]) == strtolower($fileName) || + strtolower($list[$i]["stored_filename"]) == strtolower($fileName)) { + $list_index = $i; + break; + } + } + $extracted = $this->_zip->extractByIndex($list_index, PCLZIP_OPT_EXTRACT_AS_STRING); + } + if ((is_array($extracted)) && ($extracted != 0)) { + $contents = $extracted[0]["content"]; + } + + return $contents; + } +} diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/ZipStreamWrapper.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/ZipStreamWrapper.php new file mode 100644 index 00000000..6e63d3ce --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/ZipStreamWrapper.php @@ -0,0 +1,201 @@ +<?php +/** + * PHPExcel + * + * Copyright (c) 2006 - 2014 PHPExcel + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * @category PHPExcel + * @package PHPExcel_Shared + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @version ##VERSION##, ##DATE## + */ + + +/** + * PHPExcel_Shared_ZipStreamWrapper + * + * @category PHPExcel + * @package PHPExcel_Shared + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + */ +class PHPExcel_Shared_ZipStreamWrapper { + /** + * Internal ZipAcrhive + * + * @var ZipAcrhive + */ + private $_archive; + + /** + * Filename in ZipAcrhive + * + * @var string + */ + private $_fileNameInArchive = ''; + + /** + * Position in file + * + * @var int + */ + private $_position = 0; + + /** + * Data + * + * @var mixed + */ + private $_data = ''; + + /** + * Register wrapper + */ + public static function register() { + @stream_wrapper_unregister("zip"); + @stream_wrapper_register("zip", __CLASS__); + } + + /** + * Implements support for fopen(). + * + * @param string $path resource name including scheme, e.g. + * @param string $mode only "r" is supported + * @param int $options mask of STREAM_REPORT_ERRORS and STREAM_USE_PATH + * @param string &$openedPath absolute path of the opened stream (out parameter) + * @return bool true on success + */ + public function stream_open($path, $mode, $options, &$opened_path) { + // Check for mode + if ($mode{0} != 'r') { + throw new PHPExcel_Reader_Exception('Mode ' . $mode . ' is not supported. Only read mode is supported.'); + } + + $pos = strrpos($path, '#'); + $url['host'] = substr($path, 6, $pos - 6); // 6: strlen('zip://') + $url['fragment'] = substr($path, $pos + 1); + + // Open archive + $this->_archive = new ZipArchive(); + $this->_archive->open($url['host']); + + $this->_fileNameInArchive = $url['fragment']; + $this->_position = 0; + $this->_data = $this->_archive->getFromName( $this->_fileNameInArchive ); + + return true; + } + + /** + * Implements support for fstat(). + * + * @return boolean + */ + public function statName() { + return $this->_fileNameInArchive; + } + + /** + * Implements support for fstat(). + * + * @return boolean + */ + public function url_stat() { + return $this->statName( $this->_fileNameInArchive ); + } + + /** + * Implements support for fstat(). + * + * @return boolean + */ + public function stream_stat() { + return $this->_archive->statName( $this->_fileNameInArchive ); + } + + /** + * Implements support for fread(), fgets() etc. + * + * @param int $count maximum number of bytes to read + * @return string + */ + function stream_read($count) { + $ret = substr($this->_data, $this->_position, $count); + $this->_position += strlen($ret); + return $ret; + } + + /** + * Returns the position of the file pointer, i.e. its offset into the file + * stream. Implements support for ftell(). + * + * @return int + */ + public function stream_tell() { + return $this->_position; + } + + /** + * EOF stream + * + * @return bool + */ + public function stream_eof() { + return $this->_position >= strlen($this->_data); + } + + /** + * Seek stream + * + * @param int $offset byte offset + * @param int $whence SEEK_SET, SEEK_CUR or SEEK_END + * @return bool + */ + public function stream_seek($offset, $whence) { + switch ($whence) { + case SEEK_SET: + if ($offset < strlen($this->_data) && $offset >= 0) { + $this->_position = $offset; + return true; + } else { + return false; + } + break; + + case SEEK_CUR: + if ($offset >= 0) { + $this->_position += $offset; + return true; + } else { + return false; + } + break; + + case SEEK_END: + if (strlen($this->_data) + $offset >= 0) { + $this->_position = strlen($this->_data) + $offset; + return true; + } else { + return false; + } + break; + + default: + return false; + } + } +} diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/trend/bestFitClass.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/trend/bestFitClass.php new file mode 100644 index 00000000..9ae8b006 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/trend/bestFitClass.php @@ -0,0 +1,432 @@ +<?php +/** + * PHPExcel + * + * Copyright (c) 2006 - 2014 PHPExcel + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * @category PHPExcel + * @package PHPExcel_Shared_Trend + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @version ##VERSION##, ##DATE## + */ + + +/** + * PHPExcel_Best_Fit + * + * @category PHPExcel + * @package PHPExcel_Shared_Trend + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + */ +class PHPExcel_Best_Fit +{ + /** + * Indicator flag for a calculation error + * + * @var boolean + **/ + protected $_error = False; + + /** + * Algorithm type to use for best-fit + * + * @var string + **/ + protected $_bestFitType = 'undetermined'; + + /** + * Number of entries in the sets of x- and y-value arrays + * + * @var int + **/ + protected $_valueCount = 0; + + /** + * X-value dataseries of values + * + * @var float[] + **/ + protected $_xValues = array(); + + /** + * Y-value dataseries of values + * + * @var float[] + **/ + protected $_yValues = array(); + + /** + * Flag indicating whether values should be adjusted to Y=0 + * + * @var boolean + **/ + protected $_adjustToZero = False; + + /** + * Y-value series of best-fit values + * + * @var float[] + **/ + protected $_yBestFitValues = array(); + + protected $_goodnessOfFit = 1; + + protected $_stdevOfResiduals = 0; + + protected $_covariance = 0; + + protected $_correlation = 0; + + protected $_SSRegression = 0; + + protected $_SSResiduals = 0; + + protected $_DFResiduals = 0; + + protected $_F = 0; + + protected $_slope = 0; + + protected $_slopeSE = 0; + + protected $_intersect = 0; + + protected $_intersectSE = 0; + + protected $_Xoffset = 0; + + protected $_Yoffset = 0; + + + public function getError() { + return $this->_error; + } // function getBestFitType() + + + public function getBestFitType() { + return $this->_bestFitType; + } // function getBestFitType() + + + /** + * Return the Y-Value for a specified value of X + * + * @param float $xValue X-Value + * @return float Y-Value + */ + public function getValueOfYForX($xValue) { + return False; + } // function getValueOfYForX() + + + /** + * Return the X-Value for a specified value of Y + * + * @param float $yValue Y-Value + * @return float X-Value + */ + public function getValueOfXForY($yValue) { + return False; + } // function getValueOfXForY() + + + /** + * Return the original set of X-Values + * + * @return float[] X-Values + */ + public function getXValues() { + return $this->_xValues; + } // function getValueOfXForY() + + + /** + * Return the Equation of the best-fit line + * + * @param int $dp Number of places of decimal precision to display + * @return string + */ + public function getEquation($dp=0) { + return False; + } // function getEquation() + + + /** + * Return the Slope of the line + * + * @param int $dp Number of places of decimal precision to display + * @return string + */ + public function getSlope($dp=0) { + if ($dp != 0) { + return round($this->_slope,$dp); + } + return $this->_slope; + } // function getSlope() + + + /** + * Return the standard error of the Slope + * + * @param int $dp Number of places of decimal precision to display + * @return string + */ + public function getSlopeSE($dp=0) { + if ($dp != 0) { + return round($this->_slopeSE,$dp); + } + return $this->_slopeSE; + } // function getSlopeSE() + + + /** + * Return the Value of X where it intersects Y = 0 + * + * @param int $dp Number of places of decimal precision to display + * @return string + */ + public function getIntersect($dp=0) { + if ($dp != 0) { + return round($this->_intersect,$dp); + } + return $this->_intersect; + } // function getIntersect() + + + /** + * Return the standard error of the Intersect + * + * @param int $dp Number of places of decimal precision to display + * @return string + */ + public function getIntersectSE($dp=0) { + if ($dp != 0) { + return round($this->_intersectSE,$dp); + } + return $this->_intersectSE; + } // function getIntersectSE() + + + /** + * Return the goodness of fit for this regression + * + * @param int $dp Number of places of decimal precision to return + * @return float + */ + public function getGoodnessOfFit($dp=0) { + if ($dp != 0) { + return round($this->_goodnessOfFit,$dp); + } + return $this->_goodnessOfFit; + } // function getGoodnessOfFit() + + + public function getGoodnessOfFitPercent($dp=0) { + if ($dp != 0) { + return round($this->_goodnessOfFit * 100,$dp); + } + return $this->_goodnessOfFit * 100; + } // function getGoodnessOfFitPercent() + + + /** + * Return the standard deviation of the residuals for this regression + * + * @param int $dp Number of places of decimal precision to return + * @return float + */ + public function getStdevOfResiduals($dp=0) { + if ($dp != 0) { + return round($this->_stdevOfResiduals,$dp); + } + return $this->_stdevOfResiduals; + } // function getStdevOfResiduals() + + + public function getSSRegression($dp=0) { + if ($dp != 0) { + return round($this->_SSRegression,$dp); + } + return $this->_SSRegression; + } // function getSSRegression() + + + public function getSSResiduals($dp=0) { + if ($dp != 0) { + return round($this->_SSResiduals,$dp); + } + return $this->_SSResiduals; + } // function getSSResiduals() + + + public function getDFResiduals($dp=0) { + if ($dp != 0) { + return round($this->_DFResiduals,$dp); + } + return $this->_DFResiduals; + } // function getDFResiduals() + + + public function getF($dp=0) { + if ($dp != 0) { + return round($this->_F,$dp); + } + return $this->_F; + } // function getF() + + + public function getCovariance($dp=0) { + if ($dp != 0) { + return round($this->_covariance,$dp); + } + return $this->_covariance; + } // function getCovariance() + + + public function getCorrelation($dp=0) { + if ($dp != 0) { + return round($this->_correlation,$dp); + } + return $this->_correlation; + } // function getCorrelation() + + + public function getYBestFitValues() { + return $this->_yBestFitValues; + } // function getYBestFitValues() + + + protected function _calculateGoodnessOfFit($sumX,$sumY,$sumX2,$sumY2,$sumXY,$meanX,$meanY, $const) { + $SSres = $SScov = $SScor = $SStot = $SSsex = 0.0; + foreach($this->_xValues as $xKey => $xValue) { + $bestFitY = $this->_yBestFitValues[$xKey] = $this->getValueOfYForX($xValue); + + $SSres += ($this->_yValues[$xKey] - $bestFitY) * ($this->_yValues[$xKey] - $bestFitY); + if ($const) { + $SStot += ($this->_yValues[$xKey] - $meanY) * ($this->_yValues[$xKey] - $meanY); + } else { + $SStot += $this->_yValues[$xKey] * $this->_yValues[$xKey]; + } + $SScov += ($this->_xValues[$xKey] - $meanX) * ($this->_yValues[$xKey] - $meanY); + if ($const) { + $SSsex += ($this->_xValues[$xKey] - $meanX) * ($this->_xValues[$xKey] - $meanX); + } else { + $SSsex += $this->_xValues[$xKey] * $this->_xValues[$xKey]; + } + } + + $this->_SSResiduals = $SSres; + $this->_DFResiduals = $this->_valueCount - 1 - $const; + + if ($this->_DFResiduals == 0.0) { + $this->_stdevOfResiduals = 0.0; + } else { + $this->_stdevOfResiduals = sqrt($SSres / $this->_DFResiduals); + } + if (($SStot == 0.0) || ($SSres == $SStot)) { + $this->_goodnessOfFit = 1; + } else { + $this->_goodnessOfFit = 1 - ($SSres / $SStot); + } + + $this->_SSRegression = $this->_goodnessOfFit * $SStot; + $this->_covariance = $SScov / $this->_valueCount; + $this->_correlation = ($this->_valueCount * $sumXY - $sumX * $sumY) / sqrt(($this->_valueCount * $sumX2 - pow($sumX,2)) * ($this->_valueCount * $sumY2 - pow($sumY,2))); + $this->_slopeSE = $this->_stdevOfResiduals / sqrt($SSsex); + $this->_intersectSE = $this->_stdevOfResiduals * sqrt(1 / ($this->_valueCount - ($sumX * $sumX) / $sumX2)); + if ($this->_SSResiduals != 0.0) { + if ($this->_DFResiduals == 0.0) { + $this->_F = 0.0; + } else { + $this->_F = $this->_SSRegression / ($this->_SSResiduals / $this->_DFResiduals); + } + } else { + if ($this->_DFResiduals == 0.0) { + $this->_F = 0.0; + } else { + $this->_F = $this->_SSRegression / $this->_DFResiduals; + } + } + } // function _calculateGoodnessOfFit() + + + protected function _leastSquareFit($yValues, $xValues, $const) { + // calculate sums + $x_sum = array_sum($xValues); + $y_sum = array_sum($yValues); + $meanX = $x_sum / $this->_valueCount; + $meanY = $y_sum / $this->_valueCount; + $mBase = $mDivisor = $xx_sum = $xy_sum = $yy_sum = 0.0; + for($i = 0; $i < $this->_valueCount; ++$i) { + $xy_sum += $xValues[$i] * $yValues[$i]; + $xx_sum += $xValues[$i] * $xValues[$i]; + $yy_sum += $yValues[$i] * $yValues[$i]; + + if ($const) { + $mBase += ($xValues[$i] - $meanX) * ($yValues[$i] - $meanY); + $mDivisor += ($xValues[$i] - $meanX) * ($xValues[$i] - $meanX); + } else { + $mBase += $xValues[$i] * $yValues[$i]; + $mDivisor += $xValues[$i] * $xValues[$i]; + } + } + + // calculate slope +// $this->_slope = (($this->_valueCount * $xy_sum) - ($x_sum * $y_sum)) / (($this->_valueCount * $xx_sum) - ($x_sum * $x_sum)); + $this->_slope = $mBase / $mDivisor; + + // calculate intersect +// $this->_intersect = ($y_sum - ($this->_slope * $x_sum)) / $this->_valueCount; + if ($const) { + $this->_intersect = $meanY - ($this->_slope * $meanX); + } else { + $this->_intersect = 0; + } + + $this->_calculateGoodnessOfFit($x_sum,$y_sum,$xx_sum,$yy_sum,$xy_sum,$meanX,$meanY,$const); + } // function _leastSquareFit() + + + /** + * Define the regression + * + * @param float[] $yValues The set of Y-values for this regression + * @param float[] $xValues The set of X-values for this regression + * @param boolean $const + */ + function __construct($yValues, $xValues=array(), $const=True) { + // Calculate number of points + $nY = count($yValues); + $nX = count($xValues); + + // Define X Values if necessary + if ($nX == 0) { + $xValues = range(1,$nY); + $nX = $nY; + } elseif ($nY != $nX) { + // Ensure both arrays of points are the same size + $this->_error = True; + return False; + } + + $this->_valueCount = $nY; + $this->_xValues = $xValues; + $this->_yValues = $yValues; + } // function __construct() + +} // class bestFit diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/trend/exponentialBestFitClass.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/trend/exponentialBestFitClass.php new file mode 100644 index 00000000..b524b5fe --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/trend/exponentialBestFitClass.php @@ -0,0 +1,148 @@ +<?php +/** + * PHPExcel + * + * Copyright (c) 2006 - 2014 PHPExcel + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * @category PHPExcel + * @package PHPExcel_Shared_Trend + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @version ##VERSION##, ##DATE## + */ + + +require_once(PHPEXCEL_ROOT . 'PHPExcel/Shared/trend/bestFitClass.php'); + + +/** + * PHPExcel_Exponential_Best_Fit + * + * @category PHPExcel + * @package PHPExcel_Shared_Trend + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + */ +class PHPExcel_Exponential_Best_Fit extends PHPExcel_Best_Fit +{ + /** + * Algorithm type to use for best-fit + * (Name of this trend class) + * + * @var string + **/ + protected $_bestFitType = 'exponential'; + + + /** + * Return the Y-Value for a specified value of X + * + * @param float $xValue X-Value + * @return float Y-Value + **/ + public function getValueOfYForX($xValue) { + return $this->getIntersect() * pow($this->getSlope(),($xValue - $this->_Xoffset)); + } // function getValueOfYForX() + + + /** + * Return the X-Value for a specified value of Y + * + * @param float $yValue Y-Value + * @return float X-Value + **/ + public function getValueOfXForY($yValue) { + return log(($yValue + $this->_Yoffset) / $this->getIntersect()) / log($this->getSlope()); + } // function getValueOfXForY() + + + /** + * Return the Equation of the best-fit line + * + * @param int $dp Number of places of decimal precision to display + * @return string + **/ + public function getEquation($dp=0) { + $slope = $this->getSlope($dp); + $intersect = $this->getIntersect($dp); + + return 'Y = '.$intersect.' * '.$slope.'^X'; + } // function getEquation() + + + /** + * Return the Slope of the line + * + * @param int $dp Number of places of decimal precision to display + * @return string + **/ + public function getSlope($dp=0) { + if ($dp != 0) { + return round(exp($this->_slope),$dp); + } + return exp($this->_slope); + } // function getSlope() + + + /** + * Return the Value of X where it intersects Y = 0 + * + * @param int $dp Number of places of decimal precision to display + * @return string + **/ + public function getIntersect($dp=0) { + if ($dp != 0) { + return round(exp($this->_intersect),$dp); + } + return exp($this->_intersect); + } // function getIntersect() + + + /** + * Execute the regression and calculate the goodness of fit for a set of X and Y data values + * + * @param float[] $yValues The set of Y-values for this regression + * @param float[] $xValues The set of X-values for this regression + * @param boolean $const + */ + private function _exponential_regression($yValues, $xValues, $const) { + foreach($yValues as &$value) { + if ($value < 0.0) { + $value = 0 - log(abs($value)); + } elseif ($value > 0.0) { + $value = log($value); + } + } + unset($value); + + $this->_leastSquareFit($yValues, $xValues, $const); + } // function _exponential_regression() + + + /** + * Define the regression and calculate the goodness of fit for a set of X and Y data values + * + * @param float[] $yValues The set of Y-values for this regression + * @param float[] $xValues The set of X-values for this regression + * @param boolean $const + */ + function __construct($yValues, $xValues=array(), $const=True) { + if (parent::__construct($yValues, $xValues) !== False) { + $this->_exponential_regression($yValues, $xValues, $const); + } + } // function __construct() + +} // class exponentialBestFit \ No newline at end of file diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/trend/linearBestFitClass.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/trend/linearBestFitClass.php new file mode 100644 index 00000000..7d811aa5 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/trend/linearBestFitClass.php @@ -0,0 +1,111 @@ +<?php +/** + * PHPExcel + * + * Copyright (c) 2006 - 2014 PHPExcel + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * @category PHPExcel + * @package PHPExcel_Shared_Trend + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @version ##VERSION##, ##DATE## + */ + + +require_once(PHPEXCEL_ROOT . 'PHPExcel/Shared/trend/bestFitClass.php'); + + +/** + * PHPExcel_Linear_Best_Fit + * + * @category PHPExcel + * @package PHPExcel_Shared_Trend + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + */ +class PHPExcel_Linear_Best_Fit extends PHPExcel_Best_Fit +{ + /** + * Algorithm type to use for best-fit + * (Name of this trend class) + * + * @var string + **/ + protected $_bestFitType = 'linear'; + + + /** + * Return the Y-Value for a specified value of X + * + * @param float $xValue X-Value + * @return float Y-Value + **/ + public function getValueOfYForX($xValue) { + return $this->getIntersect() + $this->getSlope() * $xValue; + } // function getValueOfYForX() + + + /** + * Return the X-Value for a specified value of Y + * + * @param float $yValue Y-Value + * @return float X-Value + **/ + public function getValueOfXForY($yValue) { + return ($yValue - $this->getIntersect()) / $this->getSlope(); + } // function getValueOfXForY() + + + /** + * Return the Equation of the best-fit line + * + * @param int $dp Number of places of decimal precision to display + * @return string + **/ + public function getEquation($dp=0) { + $slope = $this->getSlope($dp); + $intersect = $this->getIntersect($dp); + + return 'Y = '.$intersect.' + '.$slope.' * X'; + } // function getEquation() + + + /** + * Execute the regression and calculate the goodness of fit for a set of X and Y data values + * + * @param float[] $yValues The set of Y-values for this regression + * @param float[] $xValues The set of X-values for this regression + * @param boolean $const + */ + private function _linear_regression($yValues, $xValues, $const) { + $this->_leastSquareFit($yValues, $xValues,$const); + } // function _linear_regression() + + + /** + * Define the regression and calculate the goodness of fit for a set of X and Y data values + * + * @param float[] $yValues The set of Y-values for this regression + * @param float[] $xValues The set of X-values for this regression + * @param boolean $const + */ + function __construct($yValues, $xValues=array(), $const=True) { + if (parent::__construct($yValues, $xValues) !== False) { + $this->_linear_regression($yValues, $xValues, $const); + } + } // function __construct() + +} // class linearBestFit \ No newline at end of file diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/trend/logarithmicBestFitClass.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/trend/logarithmicBestFitClass.php new file mode 100644 index 00000000..b43cd5ed --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/trend/logarithmicBestFitClass.php @@ -0,0 +1,120 @@ +<?php +/** + * PHPExcel + * + * Copyright (c) 2006 - 2014 PHPExcel + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * @category PHPExcel + * @package PHPExcel_Shared_Trend + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @version ##VERSION##, ##DATE## + */ + + +require_once(PHPEXCEL_ROOT . 'PHPExcel/Shared/trend/bestFitClass.php'); + + +/** + * PHPExcel_Logarithmic_Best_Fit + * + * @category PHPExcel + * @package PHPExcel_Shared_Trend + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + */ +class PHPExcel_Logarithmic_Best_Fit extends PHPExcel_Best_Fit +{ + /** + * Algorithm type to use for best-fit + * (Name of this trend class) + * + * @var string + **/ + protected $_bestFitType = 'logarithmic'; + + + /** + * Return the Y-Value for a specified value of X + * + * @param float $xValue X-Value + * @return float Y-Value + **/ + public function getValueOfYForX($xValue) { + return $this->getIntersect() + $this->getSlope() * log($xValue - $this->_Xoffset); + } // function getValueOfYForX() + + + /** + * Return the X-Value for a specified value of Y + * + * @param float $yValue Y-Value + * @return float X-Value + **/ + public function getValueOfXForY($yValue) { + return exp(($yValue - $this->getIntersect()) / $this->getSlope()); + } // function getValueOfXForY() + + + /** + * Return the Equation of the best-fit line + * + * @param int $dp Number of places of decimal precision to display + * @return string + **/ + public function getEquation($dp=0) { + $slope = $this->getSlope($dp); + $intersect = $this->getIntersect($dp); + + return 'Y = '.$intersect.' + '.$slope.' * log(X)'; + } // function getEquation() + + + /** + * Execute the regression and calculate the goodness of fit for a set of X and Y data values + * + * @param float[] $yValues The set of Y-values for this regression + * @param float[] $xValues The set of X-values for this regression + * @param boolean $const + */ + private function _logarithmic_regression($yValues, $xValues, $const) { + foreach($xValues as &$value) { + if ($value < 0.0) { + $value = 0 - log(abs($value)); + } elseif ($value > 0.0) { + $value = log($value); + } + } + unset($value); + + $this->_leastSquareFit($yValues, $xValues, $const); + } // function _logarithmic_regression() + + + /** + * Define the regression and calculate the goodness of fit for a set of X and Y data values + * + * @param float[] $yValues The set of Y-values for this regression + * @param float[] $xValues The set of X-values for this regression + * @param boolean $const + */ + function __construct($yValues, $xValues=array(), $const=True) { + if (parent::__construct($yValues, $xValues) !== False) { + $this->_logarithmic_regression($yValues, $xValues, $const); + } + } // function __construct() + +} // class logarithmicBestFit \ No newline at end of file diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/trend/polynomialBestFitClass.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/trend/polynomialBestFitClass.php new file mode 100644 index 00000000..3d329eb7 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/trend/polynomialBestFitClass.php @@ -0,0 +1,224 @@ +<?php +/** + * PHPExcel + * + * Copyright (c) 2006 - 2014 PHPExcel + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * @category PHPExcel + * @package PHPExcel_Shared_Trend + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @version ##VERSION##, ##DATE## + */ + + +require_once PHPEXCEL_ROOT . 'PHPExcel/Shared/trend/bestFitClass.php'; +require_once PHPEXCEL_ROOT . 'PHPExcel/Shared/JAMA/Matrix.php'; + + +/** + * PHPExcel_Polynomial_Best_Fit + * + * @category PHPExcel + * @package PHPExcel_Shared_Trend + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + */ +class PHPExcel_Polynomial_Best_Fit extends PHPExcel_Best_Fit +{ + /** + * Algorithm type to use for best-fit + * (Name of this trend class) + * + * @var string + **/ + protected $_bestFitType = 'polynomial'; + + /** + * Polynomial order + * + * @protected + * @var int + **/ + protected $_order = 0; + + + /** + * Return the order of this polynomial + * + * @return int + **/ + public function getOrder() { + return $this->_order; + } // function getOrder() + + + /** + * Return the Y-Value for a specified value of X + * + * @param float $xValue X-Value + * @return float Y-Value + **/ + public function getValueOfYForX($xValue) { + $retVal = $this->getIntersect(); + $slope = $this->getSlope(); + foreach($slope as $key => $value) { + if ($value != 0.0) { + $retVal += $value * pow($xValue, $key + 1); + } + } + return $retVal; + } // function getValueOfYForX() + + + /** + * Return the X-Value for a specified value of Y + * + * @param float $yValue Y-Value + * @return float X-Value + **/ + public function getValueOfXForY($yValue) { + return ($yValue - $this->getIntersect()) / $this->getSlope(); + } // function getValueOfXForY() + + + /** + * Return the Equation of the best-fit line + * + * @param int $dp Number of places of decimal precision to display + * @return string + **/ + public function getEquation($dp=0) { + $slope = $this->getSlope($dp); + $intersect = $this->getIntersect($dp); + + $equation = 'Y = '.$intersect; + foreach($slope as $key => $value) { + if ($value != 0.0) { + $equation .= ' + '.$value.' * X'; + if ($key > 0) { + $equation .= '^'.($key + 1); + } + } + } + return $equation; + } // function getEquation() + + + /** + * Return the Slope of the line + * + * @param int $dp Number of places of decimal precision to display + * @return string + **/ + public function getSlope($dp=0) { + if ($dp != 0) { + $coefficients = array(); + foreach($this->_slope as $coefficient) { + $coefficients[] = round($coefficient,$dp); + } + return $coefficients; + } + return $this->_slope; + } // function getSlope() + + + public function getCoefficients($dp=0) { + return array_merge(array($this->getIntersect($dp)),$this->getSlope($dp)); + } // function getCoefficients() + + + /** + * Execute the regression and calculate the goodness of fit for a set of X and Y data values + * + * @param int $order Order of Polynomial for this regression + * @param float[] $yValues The set of Y-values for this regression + * @param float[] $xValues The set of X-values for this regression + * @param boolean $const + */ + private function _polynomial_regression($order, $yValues, $xValues, $const) { + // calculate sums + $x_sum = array_sum($xValues); + $y_sum = array_sum($yValues); + $xx_sum = $xy_sum = 0; + for($i = 0; $i < $this->_valueCount; ++$i) { + $xy_sum += $xValues[$i] * $yValues[$i]; + $xx_sum += $xValues[$i] * $xValues[$i]; + $yy_sum += $yValues[$i] * $yValues[$i]; + } + /* + * This routine uses logic from the PHP port of polyfit version 0.1 + * written by Michael Bommarito and Paul Meagher + * + * The function fits a polynomial function of order $order through + * a series of x-y data points using least squares. + * + */ + for ($i = 0; $i < $this->_valueCount; ++$i) { + for ($j = 0; $j <= $order; ++$j) { + $A[$i][$j] = pow($xValues[$i], $j); + } + } + for ($i=0; $i < $this->_valueCount; ++$i) { + $B[$i] = array($yValues[$i]); + } + $matrixA = new Matrix($A); + $matrixB = new Matrix($B); + $C = $matrixA->solve($matrixB); + + $coefficients = array(); + for($i = 0; $i < $C->m; ++$i) { + $r = $C->get($i, 0); + if (abs($r) <= pow(10, -9)) { + $r = 0; + } + $coefficients[] = $r; + } + + $this->_intersect = array_shift($coefficients); + $this->_slope = $coefficients; + + $this->_calculateGoodnessOfFit($x_sum,$y_sum,$xx_sum,$yy_sum,$xy_sum); + foreach($this->_xValues as $xKey => $xValue) { + $this->_yBestFitValues[$xKey] = $this->getValueOfYForX($xValue); + } + } // function _polynomial_regression() + + + /** + * Define the regression and calculate the goodness of fit for a set of X and Y data values + * + * @param int $order Order of Polynomial for this regression + * @param float[] $yValues The set of Y-values for this regression + * @param float[] $xValues The set of X-values for this regression + * @param boolean $const + */ + function __construct($order, $yValues, $xValues=array(), $const=True) { + if (parent::__construct($yValues, $xValues) !== False) { + if ($order < $this->_valueCount) { + $this->_bestFitType .= '_'.$order; + $this->_order = $order; + $this->_polynomial_regression($order, $yValues, $xValues, $const); + if (($this->getGoodnessOfFit() < 0.0) || ($this->getGoodnessOfFit() > 1.0)) { + $this->_error = True; + } + } else { + $this->_error = True; + } + } + } // function __construct() + +} // class polynomialBestFit \ No newline at end of file diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/trend/powerBestFitClass.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/trend/powerBestFitClass.php new file mode 100644 index 00000000..832669c9 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/trend/powerBestFitClass.php @@ -0,0 +1,142 @@ +<?php +/** + * PHPExcel + * + * Copyright (c) 2006 - 2014 PHPExcel + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * @category PHPExcel + * @package PHPExcel_Shared_Trend + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @version ##VERSION##, ##DATE## + */ + + +require_once PHPEXCEL_ROOT . 'PHPExcel/Shared/trend/bestFitClass.php'; + + +/** + * PHPExcel_Power_Best_Fit + * + * @category PHPExcel + * @package PHPExcel_Shared_Trend + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + */ +class PHPExcel_Power_Best_Fit extends PHPExcel_Best_Fit +{ + /** + * Algorithm type to use for best-fit + * (Name of this trend class) + * + * @var string + **/ + protected $_bestFitType = 'power'; + + + /** + * Return the Y-Value for a specified value of X + * + * @param float $xValue X-Value + * @return float Y-Value + **/ + public function getValueOfYForX($xValue) { + return $this->getIntersect() * pow(($xValue - $this->_Xoffset),$this->getSlope()); + } // function getValueOfYForX() + + + /** + * Return the X-Value for a specified value of Y + * + * @param float $yValue Y-Value + * @return float X-Value + **/ + public function getValueOfXForY($yValue) { + return pow((($yValue + $this->_Yoffset) / $this->getIntersect()),(1 / $this->getSlope())); + } // function getValueOfXForY() + + + /** + * Return the Equation of the best-fit line + * + * @param int $dp Number of places of decimal precision to display + * @return string + **/ + public function getEquation($dp=0) { + $slope = $this->getSlope($dp); + $intersect = $this->getIntersect($dp); + + return 'Y = '.$intersect.' * X^'.$slope; + } // function getEquation() + + + /** + * Return the Value of X where it intersects Y = 0 + * + * @param int $dp Number of places of decimal precision to display + * @return string + **/ + public function getIntersect($dp=0) { + if ($dp != 0) { + return round(exp($this->_intersect),$dp); + } + return exp($this->_intersect); + } // function getIntersect() + + + /** + * Execute the regression and calculate the goodness of fit for a set of X and Y data values + * + * @param float[] $yValues The set of Y-values for this regression + * @param float[] $xValues The set of X-values for this regression + * @param boolean $const + */ + private function _power_regression($yValues, $xValues, $const) { + foreach($xValues as &$value) { + if ($value < 0.0) { + $value = 0 - log(abs($value)); + } elseif ($value > 0.0) { + $value = log($value); + } + } + unset($value); + foreach($yValues as &$value) { + if ($value < 0.0) { + $value = 0 - log(abs($value)); + } elseif ($value > 0.0) { + $value = log($value); + } + } + unset($value); + + $this->_leastSquareFit($yValues, $xValues, $const); + } // function _power_regression() + + + /** + * Define the regression and calculate the goodness of fit for a set of X and Y data values + * + * @param float[] $yValues The set of Y-values for this regression + * @param float[] $xValues The set of X-values for this regression + * @param boolean $const + */ + function __construct($yValues, $xValues=array(), $const=True) { + if (parent::__construct($yValues, $xValues) !== False) { + $this->_power_regression($yValues, $xValues, $const); + } + } // function __construct() + +} // class powerBestFit \ No newline at end of file diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/trend/trendClass.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/trend/trendClass.php new file mode 100644 index 00000000..25d7eb1d --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/trend/trendClass.php @@ -0,0 +1,156 @@ +<?php +/** + * PHPExcel + * + * Copyright (c) 2006 - 2014 PHPExcel + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * @category PHPExcel + * @package PHPExcel_Shared_Trend + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @version ##VERSION##, ##DATE## + */ + + +require_once PHPEXCEL_ROOT . 'PHPExcel/Shared/trend/linearBestFitClass.php'; +require_once PHPEXCEL_ROOT . 'PHPExcel/Shared/trend/logarithmicBestFitClass.php'; +require_once PHPEXCEL_ROOT . 'PHPExcel/Shared/trend/exponentialBestFitClass.php'; +require_once PHPEXCEL_ROOT . 'PHPExcel/Shared/trend/powerBestFitClass.php'; +require_once PHPEXCEL_ROOT . 'PHPExcel/Shared/trend/polynomialBestFitClass.php'; + + +/** + * PHPExcel_trendClass + * + * @category PHPExcel + * @package PHPExcel_Shared_Trend + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + */ +class trendClass +{ + const TREND_LINEAR = 'Linear'; + const TREND_LOGARITHMIC = 'Logarithmic'; + const TREND_EXPONENTIAL = 'Exponential'; + const TREND_POWER = 'Power'; + const TREND_POLYNOMIAL_2 = 'Polynomial_2'; + const TREND_POLYNOMIAL_3 = 'Polynomial_3'; + const TREND_POLYNOMIAL_4 = 'Polynomial_4'; + const TREND_POLYNOMIAL_5 = 'Polynomial_5'; + const TREND_POLYNOMIAL_6 = 'Polynomial_6'; + const TREND_BEST_FIT = 'Bestfit'; + const TREND_BEST_FIT_NO_POLY = 'Bestfit_no_Polynomials'; + + /** + * Names of the best-fit trend analysis methods + * + * @var string[] + **/ + private static $_trendTypes = array( self::TREND_LINEAR, + self::TREND_LOGARITHMIC, + self::TREND_EXPONENTIAL, + self::TREND_POWER + ); + /** + * Names of the best-fit trend polynomial orders + * + * @var string[] + **/ + private static $_trendTypePolyOrders = array( self::TREND_POLYNOMIAL_2, + self::TREND_POLYNOMIAL_3, + self::TREND_POLYNOMIAL_4, + self::TREND_POLYNOMIAL_5, + self::TREND_POLYNOMIAL_6 + ); + + /** + * Cached results for each method when trying to identify which provides the best fit + * + * @var PHPExcel_Best_Fit[] + **/ + private static $_trendCache = array(); + + + public static function calculate($trendType=self::TREND_BEST_FIT, $yValues, $xValues=array(), $const=True) { + // Calculate number of points in each dataset + $nY = count($yValues); + $nX = count($xValues); + + // Define X Values if necessary + if ($nX == 0) { + $xValues = range(1,$nY); + $nX = $nY; + } elseif ($nY != $nX) { + // Ensure both arrays of points are the same size + trigger_error("trend(): Number of elements in coordinate arrays do not match.", E_USER_ERROR); + } + + $key = md5($trendType.$const.serialize($yValues).serialize($xValues)); + // Determine which trend method has been requested + switch ($trendType) { + // Instantiate and return the class for the requested trend method + case self::TREND_LINEAR : + case self::TREND_LOGARITHMIC : + case self::TREND_EXPONENTIAL : + case self::TREND_POWER : + if (!isset(self::$_trendCache[$key])) { + $className = 'PHPExcel_'.$trendType.'_Best_Fit'; + self::$_trendCache[$key] = new $className($yValues,$xValues,$const); + } + return self::$_trendCache[$key]; + break; + case self::TREND_POLYNOMIAL_2 : + case self::TREND_POLYNOMIAL_3 : + case self::TREND_POLYNOMIAL_4 : + case self::TREND_POLYNOMIAL_5 : + case self::TREND_POLYNOMIAL_6 : + if (!isset(self::$_trendCache[$key])) { + $order = substr($trendType,-1); + self::$_trendCache[$key] = new PHPExcel_Polynomial_Best_Fit($order,$yValues,$xValues,$const); + } + return self::$_trendCache[$key]; + break; + case self::TREND_BEST_FIT : + case self::TREND_BEST_FIT_NO_POLY : + // If the request is to determine the best fit regression, then we test each trend line in turn + // Start by generating an instance of each available trend method + foreach(self::$_trendTypes as $trendMethod) { + $className = 'PHPExcel_'.$trendMethod.'BestFit'; + $bestFit[$trendMethod] = new $className($yValues,$xValues,$const); + $bestFitValue[$trendMethod] = $bestFit[$trendMethod]->getGoodnessOfFit(); + } + if ($trendType != self::TREND_BEST_FIT_NO_POLY) { + foreach(self::$_trendTypePolyOrders as $trendMethod) { + $order = substr($trendMethod,-1); + $bestFit[$trendMethod] = new PHPExcel_Polynomial_Best_Fit($order,$yValues,$xValues,$const); + if ($bestFit[$trendMethod]->getError()) { + unset($bestFit[$trendMethod]); + } else { + $bestFitValue[$trendMethod] = $bestFit[$trendMethod]->getGoodnessOfFit(); + } + } + } + // Determine which of our trend lines is the best fit, and then we return the instance of that trend class + arsort($bestFitValue); + $bestFitType = key($bestFitValue); + return $bestFit[$bestFitType]; + break; + default : + return false; + } + } // function calculate() + +} // class trendClass \ No newline at end of file diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Style.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Style.php new file mode 100644 index 00000000..9c29320e --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Style.php @@ -0,0 +1,668 @@ +<?php +/** + * PHPExcel + * + * Copyright (c) 2006 - 2014 PHPExcel + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * @category PHPExcel + * @package PHPExcel_Style + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @version ##VERSION##, ##DATE## + */ + + +/** + * PHPExcel_Style + * + * @category PHPExcel + * @package PHPExcel_Style + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + */ +class PHPExcel_Style extends PHPExcel_Style_Supervisor implements PHPExcel_IComparable +{ + /** + * Font + * + * @var PHPExcel_Style_Font + */ + protected $_font; + + /** + * Fill + * + * @var PHPExcel_Style_Fill + */ + protected $_fill; + + /** + * Borders + * + * @var PHPExcel_Style_Borders + */ + protected $_borders; + + /** + * Alignment + * + * @var PHPExcel_Style_Alignment + */ + protected $_alignment; + + /** + * Number Format + * + * @var PHPExcel_Style_NumberFormat + */ + protected $_numberFormat; + + /** + * Conditional styles + * + * @var PHPExcel_Style_Conditional[] + */ + protected $_conditionalStyles; + + /** + * Protection + * + * @var PHPExcel_Style_Protection + */ + protected $_protection; + + /** + * Index of style in collection. Only used for real style. + * + * @var int + */ + protected $_index; + + /** + * Use Quote Prefix when displaying in cell editor. Only used for real style. + * + * @var boolean + */ + protected $_quotePrefix = false; + + /** + * Create a new PHPExcel_Style + * + * @param boolean $isSupervisor Flag indicating if this is a supervisor or not + * Leave this value at default unless you understand exactly what + * its ramifications are + * @param boolean $isConditional Flag indicating if this is a conditional style or not + * Leave this value at default unless you understand exactly what + * its ramifications are + */ + public function __construct($isSupervisor = false, $isConditional = false) + { + // Supervisor? + $this->_isSupervisor = $isSupervisor; + + // Initialise values + $this->_conditionalStyles = array(); + $this->_font = new PHPExcel_Style_Font($isSupervisor, $isConditional); + $this->_fill = new PHPExcel_Style_Fill($isSupervisor, $isConditional); + $this->_borders = new PHPExcel_Style_Borders($isSupervisor, $isConditional); + $this->_alignment = new PHPExcel_Style_Alignment($isSupervisor, $isConditional); + $this->_numberFormat = new PHPExcel_Style_NumberFormat($isSupervisor, $isConditional); + $this->_protection = new PHPExcel_Style_Protection($isSupervisor, $isConditional); + + // bind parent if we are a supervisor + if ($isSupervisor) { + $this->_font->bindParent($this); + $this->_fill->bindParent($this); + $this->_borders->bindParent($this); + $this->_alignment->bindParent($this); + $this->_numberFormat->bindParent($this); + $this->_protection->bindParent($this); + } + } + + /** + * Get the shared style component for the currently active cell in currently active sheet. + * Only used for style supervisor + * + * @return PHPExcel_Style + */ + public function getSharedComponent() + { + $activeSheet = $this->getActiveSheet(); + $selectedCell = $this->getActiveCell(); // e.g. 'A1' + + if ($activeSheet->cellExists($selectedCell)) { + $xfIndex = $activeSheet->getCell($selectedCell)->getXfIndex(); + } else { + $xfIndex = 0; + } + + return $this->_parent->getCellXfByIndex($xfIndex); + } + + /** + * Get parent. Only used for style supervisor + * + * @return PHPExcel + */ + public function getParent() + { + return $this->_parent; + } + + /** + * Build style array from subcomponents + * + * @param array $array + * @return array + */ + public function getStyleArray($array) + { + return array('quotePrefix' => $array); + } + + /** + * Apply styles from array + * + * <code> + * $objPHPExcel->getActiveSheet()->getStyle('B2')->applyFromArray( + * array( + * 'font' => array( + * 'name' => 'Arial', + * 'bold' => true, + * 'italic' => false, + * 'underline' => PHPExcel_Style_Font::UNDERLINE_DOUBLE, + * 'strike' => false, + * 'color' => array( + * 'rgb' => '808080' + * ) + * ), + * 'borders' => array( + * 'bottom' => array( + * 'style' => PHPExcel_Style_Border::BORDER_DASHDOT, + * 'color' => array( + * 'rgb' => '808080' + * ) + * ), + * 'top' => array( + * 'style' => PHPExcel_Style_Border::BORDER_DASHDOT, + * 'color' => array( + * 'rgb' => '808080' + * ) + * ) + * ), + * 'quotePrefix' => true + * ) + * ); + * </code> + * + * @param array $pStyles Array containing style information + * @param boolean $pAdvanced Advanced mode for setting borders. + * @throws PHPExcel_Exception + * @return PHPExcel_Style + */ + public function applyFromArray($pStyles = null, $pAdvanced = true) + { + if (is_array($pStyles)) { + if ($this->_isSupervisor) { + + $pRange = $this->getSelectedCells(); + + // Uppercase coordinate + $pRange = strtoupper($pRange); + + // Is it a cell range or a single cell? + if (strpos($pRange, ':') === false) { + $rangeA = $pRange; + $rangeB = $pRange; + } else { + list($rangeA, $rangeB) = explode(':', $pRange); + } + + // Calculate range outer borders + $rangeStart = PHPExcel_Cell::coordinateFromString($rangeA); + $rangeEnd = PHPExcel_Cell::coordinateFromString($rangeB); + + // Translate column into index + $rangeStart[0] = PHPExcel_Cell::columnIndexFromString($rangeStart[0]) - 1; + $rangeEnd[0] = PHPExcel_Cell::columnIndexFromString($rangeEnd[0]) - 1; + + // Make sure we can loop upwards on rows and columns + if ($rangeStart[0] > $rangeEnd[0] && $rangeStart[1] > $rangeEnd[1]) { + $tmp = $rangeStart; + $rangeStart = $rangeEnd; + $rangeEnd = $tmp; + } + + // ADVANCED MODE: + + if ($pAdvanced && isset($pStyles['borders'])) { + + // 'allborders' is a shorthand property for 'outline' and 'inside' and + // it applies to components that have not been set explicitly + if (isset($pStyles['borders']['allborders'])) { + foreach (array('outline', 'inside') as $component) { + if (!isset($pStyles['borders'][$component])) { + $pStyles['borders'][$component] = $pStyles['borders']['allborders']; + } + } + unset($pStyles['borders']['allborders']); // not needed any more + } + + // 'outline' is a shorthand property for 'top', 'right', 'bottom', 'left' + // it applies to components that have not been set explicitly + if (isset($pStyles['borders']['outline'])) { + foreach (array('top', 'right', 'bottom', 'left') as $component) { + if (!isset($pStyles['borders'][$component])) { + $pStyles['borders'][$component] = $pStyles['borders']['outline']; + } + } + unset($pStyles['borders']['outline']); // not needed any more + } + + // 'inside' is a shorthand property for 'vertical' and 'horizontal' + // it applies to components that have not been set explicitly + if (isset($pStyles['borders']['inside'])) { + foreach (array('vertical', 'horizontal') as $component) { + if (!isset($pStyles['borders'][$component])) { + $pStyles['borders'][$component] = $pStyles['borders']['inside']; + } + } + unset($pStyles['borders']['inside']); // not needed any more + } + + // width and height characteristics of selection, 1, 2, or 3 (for 3 or more) + $xMax = min($rangeEnd[0] - $rangeStart[0] + 1, 3); + $yMax = min($rangeEnd[1] - $rangeStart[1] + 1, 3); + + // loop through up to 3 x 3 = 9 regions + for ($x = 1; $x <= $xMax; ++$x) { + // start column index for region + $colStart = ($x == 3) ? + PHPExcel_Cell::stringFromColumnIndex($rangeEnd[0]) + : PHPExcel_Cell::stringFromColumnIndex($rangeStart[0] + $x - 1); + + // end column index for region + $colEnd = ($x == 1) ? + PHPExcel_Cell::stringFromColumnIndex($rangeStart[0]) + : PHPExcel_Cell::stringFromColumnIndex($rangeEnd[0] - $xMax + $x); + + for ($y = 1; $y <= $yMax; ++$y) { + + // which edges are touching the region + $edges = array(); + + // are we at left edge + if ($x == 1) { + $edges[] = 'left'; + } + + // are we at right edge + if ($x == $xMax) { + $edges[] = 'right'; + } + + // are we at top edge? + if ($y == 1) { + $edges[] = 'top'; + } + + // are we at bottom edge? + if ($y == $yMax) { + $edges[] = 'bottom'; + } + + // start row index for region + $rowStart = ($y == 3) ? + $rangeEnd[1] : $rangeStart[1] + $y - 1; + + // end row index for region + $rowEnd = ($y == 1) ? + $rangeStart[1] : $rangeEnd[1] - $yMax + $y; + + // build range for region + $range = $colStart . $rowStart . ':' . $colEnd . $rowEnd; + + // retrieve relevant style array for region + $regionStyles = $pStyles; + unset($regionStyles['borders']['inside']); + + // what are the inner edges of the region when looking at the selection + $innerEdges = array_diff( array('top', 'right', 'bottom', 'left'), $edges ); + + // inner edges that are not touching the region should take the 'inside' border properties if they have been set + foreach ($innerEdges as $innerEdge) { + switch ($innerEdge) { + case 'top': + case 'bottom': + // should pick up 'horizontal' border property if set + if (isset($pStyles['borders']['horizontal'])) { + $regionStyles['borders'][$innerEdge] = $pStyles['borders']['horizontal']; + } else { + unset($regionStyles['borders'][$innerEdge]); + } + break; + case 'left': + case 'right': + // should pick up 'vertical' border property if set + if (isset($pStyles['borders']['vertical'])) { + $regionStyles['borders'][$innerEdge] = $pStyles['borders']['vertical']; + } else { + unset($regionStyles['borders'][$innerEdge]); + } + break; + } + } + + // apply region style to region by calling applyFromArray() in simple mode + $this->getActiveSheet()->getStyle($range)->applyFromArray($regionStyles, false); + } + } + return $this; + } + + // SIMPLE MODE: + + // Selection type, inspect + if (preg_match('/^[A-Z]+1:[A-Z]+1048576$/', $pRange)) { + $selectionType = 'COLUMN'; + } else if (preg_match('/^A[0-9]+:XFD[0-9]+$/', $pRange)) { + $selectionType = 'ROW'; + } else { + $selectionType = 'CELL'; + } + + // First loop through columns, rows, or cells to find out which styles are affected by this operation + switch ($selectionType) { + case 'COLUMN': + $oldXfIndexes = array(); + for ($col = $rangeStart[0]; $col <= $rangeEnd[0]; ++$col) { + $oldXfIndexes[$this->getActiveSheet()->getColumnDimensionByColumn($col)->getXfIndex()] = true; + } + break; + + case 'ROW': + $oldXfIndexes = array(); + for ($row = $rangeStart[1]; $row <= $rangeEnd[1]; ++$row) { + if ($this->getActiveSheet()->getRowDimension($row)->getXfIndex() == null) { + $oldXfIndexes[0] = true; // row without explicit style should be formatted based on default style + } else { + $oldXfIndexes[$this->getActiveSheet()->getRowDimension($row)->getXfIndex()] = true; + } + } + break; + + case 'CELL': + $oldXfIndexes = array(); + for ($col = $rangeStart[0]; $col <= $rangeEnd[0]; ++$col) { + for ($row = $rangeStart[1]; $row <= $rangeEnd[1]; ++$row) { + $oldXfIndexes[$this->getActiveSheet()->getCellByColumnAndRow($col, $row)->getXfIndex()] = true; + } + } + break; + } + + // clone each of the affected styles, apply the style array, and add the new styles to the workbook + $workbook = $this->getActiveSheet()->getParent(); + foreach ($oldXfIndexes as $oldXfIndex => $dummy) { + $style = $workbook->getCellXfByIndex($oldXfIndex); + $newStyle = clone $style; + $newStyle->applyFromArray($pStyles); + + if ($existingStyle = $workbook->getCellXfByHashCode($newStyle->getHashCode())) { + // there is already such cell Xf in our collection + $newXfIndexes[$oldXfIndex] = $existingStyle->getIndex(); + } else { + // we don't have such a cell Xf, need to add + $workbook->addCellXf($newStyle); + $newXfIndexes[$oldXfIndex] = $newStyle->getIndex(); + } + } + + // Loop through columns, rows, or cells again and update the XF index + switch ($selectionType) { + case 'COLUMN': + for ($col = $rangeStart[0]; $col <= $rangeEnd[0]; ++$col) { + $columnDimension = $this->getActiveSheet()->getColumnDimensionByColumn($col); + $oldXfIndex = $columnDimension->getXfIndex(); + $columnDimension->setXfIndex($newXfIndexes[$oldXfIndex]); + } + break; + + case 'ROW': + for ($row = $rangeStart[1]; $row <= $rangeEnd[1]; ++$row) { + $rowDimension = $this->getActiveSheet()->getRowDimension($row); + $oldXfIndex = $rowDimension->getXfIndex() === null ? + 0 : $rowDimension->getXfIndex(); // row without explicit style should be formatted based on default style + $rowDimension->setXfIndex($newXfIndexes[$oldXfIndex]); + } + break; + + case 'CELL': + for ($col = $rangeStart[0]; $col <= $rangeEnd[0]; ++$col) { + for ($row = $rangeStart[1]; $row <= $rangeEnd[1]; ++$row) { + $cell = $this->getActiveSheet()->getCellByColumnAndRow($col, $row); + $oldXfIndex = $cell->getXfIndex(); + $cell->setXfIndex($newXfIndexes[$oldXfIndex]); + } + } + break; + } + + } else { + // not a supervisor, just apply the style array directly on style object + if (array_key_exists('fill', $pStyles)) { + $this->getFill()->applyFromArray($pStyles['fill']); + } + if (array_key_exists('font', $pStyles)) { + $this->getFont()->applyFromArray($pStyles['font']); + } + if (array_key_exists('borders', $pStyles)) { + $this->getBorders()->applyFromArray($pStyles['borders']); + } + if (array_key_exists('alignment', $pStyles)) { + $this->getAlignment()->applyFromArray($pStyles['alignment']); + } + if (array_key_exists('numberformat', $pStyles)) { + $this->getNumberFormat()->applyFromArray($pStyles['numberformat']); + } + if (array_key_exists('protection', $pStyles)) { + $this->getProtection()->applyFromArray($pStyles['protection']); + } + if (array_key_exists('quotePrefix', $pStyles)) { + $this->_quotePrefix = $pStyles['quotePrefix']; + } + } + } else { + throw new PHPExcel_Exception("Invalid style array passed."); + } + return $this; + } + + /** + * Get Fill + * + * @return PHPExcel_Style_Fill + */ + public function getFill() + { + return $this->_fill; + } + + /** + * Get Font + * + * @return PHPExcel_Style_Font + */ + public function getFont() + { + return $this->_font; + } + + /** + * Set font + * + * @param PHPExcel_Style_Font $font + * @return PHPExcel_Style + */ + public function setFont(PHPExcel_Style_Font $font) + { + $this->_font = $font; + return $this; + } + + /** + * Get Borders + * + * @return PHPExcel_Style_Borders + */ + public function getBorders() + { + return $this->_borders; + } + + /** + * Get Alignment + * + * @return PHPExcel_Style_Alignment + */ + public function getAlignment() + { + return $this->_alignment; + } + + /** + * Get Number Format + * + * @return PHPExcel_Style_NumberFormat + */ + public function getNumberFormat() + { + return $this->_numberFormat; + } + + /** + * Get Conditional Styles. Only used on supervisor. + * + * @return PHPExcel_Style_Conditional[] + */ + public function getConditionalStyles() + { + return $this->getActiveSheet()->getConditionalStyles($this->getActiveCell()); + } + + /** + * Set Conditional Styles. Only used on supervisor. + * + * @param PHPExcel_Style_Conditional[] $pValue Array of condtional styles + * @return PHPExcel_Style + */ + public function setConditionalStyles($pValue = null) + { + if (is_array($pValue)) { + $this->getActiveSheet()->setConditionalStyles($this->getSelectedCells(), $pValue); + } + return $this; + } + + /** + * Get Protection + * + * @return PHPExcel_Style_Protection + */ + public function getProtection() + { + return $this->_protection; + } + + /** + * Get quote prefix + * + * @return boolean + */ + public function getQuotePrefix() + { + if ($this->_isSupervisor) { + return $this->getSharedComponent()->getQuotePrefix(); + } + return $this->_quotePrefix; + } + + /** + * Set quote prefix + * + * @param boolean $pValue + */ + public function setQuotePrefix($pValue) + { + if ($pValue == '') { + $pValue = false; + } + if ($this->_isSupervisor) { + $styleArray = array('quotePrefix' => $pValue); + $this->getActiveSheet()->getStyle($this->getSelectedCells())->applyFromArray($styleArray); + } else { + $this->_quotePrefix = (boolean) $pValue; + } + return $this; + } + + /** + * Get hash code + * + * @return string Hash code + */ + public function getHashCode() + { + $hashConditionals = ''; + foreach ($this->_conditionalStyles as $conditional) { + $hashConditionals .= $conditional->getHashCode(); + } + + return md5( + $this->_fill->getHashCode() + . $this->_font->getHashCode() + . $this->_borders->getHashCode() + . $this->_alignment->getHashCode() + . $this->_numberFormat->getHashCode() + . $hashConditionals + . $this->_protection->getHashCode() + . ($this->_quotePrefix ? 't' : 'f') + . __CLASS__ + ); + } + + /** + * Get own index in style collection + * + * @return int + */ + public function getIndex() + { + return $this->_index; + } + + /** + * Set own index in style collection + * + * @param int $pValue + */ + public function setIndex($pValue) + { + $this->_index = $pValue; + } + +} diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Style/Alignment.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Style/Alignment.php new file mode 100644 index 00000000..00825deb --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Style/Alignment.php @@ -0,0 +1,459 @@ +<?php +/** + * PHPExcel + * + * Copyright (c) 2006 - 2014 PHPExcel + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * @category PHPExcel + * @package PHPExcel_Style + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @version ##VERSION##, ##DATE## + */ + + +/** + * PHPExcel_Style_Alignment + * + * @category PHPExcel + * @package PHPExcel_Style + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + */ +class PHPExcel_Style_Alignment extends PHPExcel_Style_Supervisor implements PHPExcel_IComparable +{ + /* Horizontal alignment styles */ + const HORIZONTAL_GENERAL = 'general'; + const HORIZONTAL_LEFT = 'left'; + const HORIZONTAL_RIGHT = 'right'; + const HORIZONTAL_CENTER = 'center'; + const HORIZONTAL_CENTER_CONTINUOUS = 'centerContinuous'; + const HORIZONTAL_JUSTIFY = 'justify'; + const HORIZONTAL_FILL = 'fill'; + const HORIZONTAL_DISTRIBUTED = 'distributed'; // Excel2007 only + + /* Vertical alignment styles */ + const VERTICAL_BOTTOM = 'bottom'; + const VERTICAL_TOP = 'top'; + const VERTICAL_CENTER = 'center'; + const VERTICAL_JUSTIFY = 'justify'; + const VERTICAL_DISTRIBUTED = 'distributed'; // Excel2007 only + + /* Read order */ + const READORDER_CONTEXT = 0; + const READORDER_LTR = 1; + const READORDER_RTL = 2; + + /** + * Horizontal alignment + * + * @var string + */ + protected $_horizontal = PHPExcel_Style_Alignment::HORIZONTAL_GENERAL; + + /** + * Vertical alignment + * + * @var string + */ + protected $_vertical = PHPExcel_Style_Alignment::VERTICAL_BOTTOM; + + /** + * Text rotation + * + * @var integer + */ + protected $_textRotation = 0; + + /** + * Wrap text + * + * @var boolean + */ + protected $_wrapText = FALSE; + + /** + * Shrink to fit + * + * @var boolean + */ + protected $_shrinkToFit = FALSE; + + /** + * Indent - only possible with horizontal alignment left and right + * + * @var integer + */ + protected $_indent = 0; + + /** + * Read order + * + * @var integer + */ + protected $_readorder = 0; + + /** + * Create a new PHPExcel_Style_Alignment + * + * @param boolean $isSupervisor Flag indicating if this is a supervisor or not + * Leave this value at default unless you understand exactly what + * its ramifications are + * @param boolean $isConditional Flag indicating if this is a conditional style or not + * Leave this value at default unless you understand exactly what + * its ramifications are + */ + public function __construct($isSupervisor = FALSE, $isConditional = FALSE) + { + // Supervisor? + parent::__construct($isSupervisor); + + if ($isConditional) { + $this->_horizontal = NULL; + $this->_vertical = NULL; + $this->_textRotation = NULL; + } + } + + /** + * Get the shared style component for the currently active cell in currently active sheet. + * Only used for style supervisor + * + * @return PHPExcel_Style_Alignment + */ + public function getSharedComponent() + { + return $this->_parent->getSharedComponent()->getAlignment(); + } + + /** + * Build style array from subcomponents + * + * @param array $array + * @return array + */ + public function getStyleArray($array) + { + return array('alignment' => $array); + } + + /** + * Apply styles from array + * + * <code> + * $objPHPExcel->getActiveSheet()->getStyle('B2')->getAlignment()->applyFromArray( + * array( + * 'horizontal' => PHPExcel_Style_Alignment::HORIZONTAL_CENTER, + * 'vertical' => PHPExcel_Style_Alignment::VERTICAL_CENTER, + * 'rotation' => 0, + * 'wrap' => TRUE + * ) + * ); + * </code> + * + * @param array $pStyles Array containing style information + * @throws PHPExcel_Exception + * @return PHPExcel_Style_Alignment + */ + public function applyFromArray($pStyles = NULL) { + if (is_array($pStyles)) { + if ($this->_isSupervisor) { + $this->getActiveSheet()->getStyle($this->getSelectedCells()) + ->applyFromArray($this->getStyleArray($pStyles)); + } else { + if (isset($pStyles['horizontal'])) { + $this->setHorizontal($pStyles['horizontal']); + } + if (isset($pStyles['vertical'])) { + $this->setVertical($pStyles['vertical']); + } + if (isset($pStyles['rotation'])) { + $this->setTextRotation($pStyles['rotation']); + } + if (isset($pStyles['wrap'])) { + $this->setWrapText($pStyles['wrap']); + } + if (isset($pStyles['shrinkToFit'])) { + $this->setShrinkToFit($pStyles['shrinkToFit']); + } + if (isset($pStyles['indent'])) { + $this->setIndent($pStyles['indent']); + } + if (isset($pStyles['readorder'])) { + $this->setReadorder($pStyles['readorder']); + } + } + } else { + throw new PHPExcel_Exception("Invalid style array passed."); + } + return $this; + } + + /** + * Get Horizontal + * + * @return string + */ + public function getHorizontal() { + if ($this->_isSupervisor) { + return $this->getSharedComponent()->getHorizontal(); + } + return $this->_horizontal; + } + + /** + * Set Horizontal + * + * @param string $pValue + * @return PHPExcel_Style_Alignment + */ + public function setHorizontal($pValue = PHPExcel_Style_Alignment::HORIZONTAL_GENERAL) { + if ($pValue == '') { + $pValue = PHPExcel_Style_Alignment::HORIZONTAL_GENERAL; + } + + if ($this->_isSupervisor) { + $styleArray = $this->getStyleArray(array('horizontal' => $pValue)); + $this->getActiveSheet()->getStyle($this->getSelectedCells())->applyFromArray($styleArray); + } + else { + $this->_horizontal = $pValue; + } + return $this; + } + + /** + * Get Vertical + * + * @return string + */ + public function getVertical() { + if ($this->_isSupervisor) { + return $this->getSharedComponent()->getVertical(); + } + return $this->_vertical; + } + + /** + * Set Vertical + * + * @param string $pValue + * @return PHPExcel_Style_Alignment + */ + public function setVertical($pValue = PHPExcel_Style_Alignment::VERTICAL_BOTTOM) { + if ($pValue == '') { + $pValue = PHPExcel_Style_Alignment::VERTICAL_BOTTOM; + } + + if ($this->_isSupervisor) { + $styleArray = $this->getStyleArray(array('vertical' => $pValue)); + $this->getActiveSheet()->getStyle($this->getSelectedCells())->applyFromArray($styleArray); + } else { + $this->_vertical = $pValue; + } + return $this; + } + + /** + * Get TextRotation + * + * @return int + */ + public function getTextRotation() { + if ($this->_isSupervisor) { + return $this->getSharedComponent()->getTextRotation(); + } + return $this->_textRotation; + } + + /** + * Set TextRotation + * + * @param int $pValue + * @throws PHPExcel_Exception + * @return PHPExcel_Style_Alignment + */ + public function setTextRotation($pValue = 0) { + // Excel2007 value 255 => PHPExcel value -165 + if ($pValue == 255) { + $pValue = -165; + } + + // Set rotation + if ( ($pValue >= -90 && $pValue <= 90) || $pValue == -165 ) { + if ($this->_isSupervisor) { + $styleArray = $this->getStyleArray(array('rotation' => $pValue)); + $this->getActiveSheet()->getStyle($this->getSelectedCells())->applyFromArray($styleArray); + } else { + $this->_textRotation = $pValue; + } + } else { + throw new PHPExcel_Exception("Text rotation should be a value between -90 and 90."); + } + + return $this; + } + + /** + * Get Wrap Text + * + * @return boolean + */ + public function getWrapText() { + if ($this->_isSupervisor) { + return $this->getSharedComponent()->getWrapText(); + } + return $this->_wrapText; + } + + /** + * Set Wrap Text + * + * @param boolean $pValue + * @return PHPExcel_Style_Alignment + */ + public function setWrapText($pValue = FALSE) { + if ($pValue == '') { + $pValue = FALSE; + } + if ($this->_isSupervisor) { + $styleArray = $this->getStyleArray(array('wrap' => $pValue)); + $this->getActiveSheet()->getStyle($this->getSelectedCells())->applyFromArray($styleArray); + } else { + $this->_wrapText = $pValue; + } + return $this; + } + + /** + * Get Shrink to fit + * + * @return boolean + */ + public function getShrinkToFit() { + if ($this->_isSupervisor) { + return $this->getSharedComponent()->getShrinkToFit(); + } + return $this->_shrinkToFit; + } + + /** + * Set Shrink to fit + * + * @param boolean $pValue + * @return PHPExcel_Style_Alignment + */ + public function setShrinkToFit($pValue = FALSE) { + if ($pValue == '') { + $pValue = FALSE; + } + if ($this->_isSupervisor) { + $styleArray = $this->getStyleArray(array('shrinkToFit' => $pValue)); + $this->getActiveSheet()->getStyle($this->getSelectedCells())->applyFromArray($styleArray); + } else { + $this->_shrinkToFit = $pValue; + } + return $this; + } + + /** + * Get indent + * + * @return int + */ + public function getIndent() { + if ($this->_isSupervisor) { + return $this->getSharedComponent()->getIndent(); + } + return $this->_indent; + } + + /** + * Set indent + * + * @param int $pValue + * @return PHPExcel_Style_Alignment + */ + public function setIndent($pValue = 0) { + if ($pValue > 0) { + if ($this->getHorizontal() != self::HORIZONTAL_GENERAL && + $this->getHorizontal() != self::HORIZONTAL_LEFT && + $this->getHorizontal() != self::HORIZONTAL_RIGHT) { + $pValue = 0; // indent not supported + } + } + if ($this->_isSupervisor) { + $styleArray = $this->getStyleArray(array('indent' => $pValue)); + $this->getActiveSheet()->getStyle($this->getSelectedCells())->applyFromArray($styleArray); + } else { + $this->_indent = $pValue; + } + return $this; + } + + /** + * Get read order + * + * @return integer + */ + public function getReadorder() { + if ($this->_isSupervisor) { + return $this->getSharedComponent()->getReadorder(); + } + return $this->_readorder; + } + + /** + * Set read order + * + * @param int $pValue + * @return PHPExcel_Style_Alignment + */ + public function setReadorder($pValue = 0) { + if ($pValue < 0 || $pValue > 2) { + $pValue = 0; + } + if ($this->_isSupervisor) { + $styleArray = $this->getStyleArray(array('readorder' => $pValue)); + $this->getActiveSheet()->getStyle($this->getSelectedCells())->applyFromArray($styleArray); + } else { + $this->_readorder = $pValue; + } + return $this; + } + + /** + * Get hash code + * + * @return string Hash code + */ + public function getHashCode() { + if ($this->_isSupervisor) { + return $this->getSharedComponent()->getHashCode(); + } + return md5( + $this->_horizontal + . $this->_vertical + . $this->_textRotation + . ($this->_wrapText ? 't' : 'f') + . ($this->_shrinkToFit ? 't' : 'f') + . $this->_indent + . $this->_readorder + . __CLASS__ + ); + } + +} diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Style/Border.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Style/Border.php new file mode 100644 index 00000000..ec737bf0 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Style/Border.php @@ -0,0 +1,294 @@ +<?php +/** + * PHPExcel + * + * Copyright (c) 2006 - 2014 PHPExcel + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * @category PHPExcel + * @package PHPExcel_Style + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @version ##VERSION##, ##DATE## + */ + + +/** + * PHPExcel_Style_Border + * + * @category PHPExcel + * @package PHPExcel_Style + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + */ +class PHPExcel_Style_Border extends PHPExcel_Style_Supervisor implements PHPExcel_IComparable +{ + /* Border style */ + const BORDER_NONE = 'none'; + const BORDER_DASHDOT = 'dashDot'; + const BORDER_DASHDOTDOT = 'dashDotDot'; + const BORDER_DASHED = 'dashed'; + const BORDER_DOTTED = 'dotted'; + const BORDER_DOUBLE = 'double'; + const BORDER_HAIR = 'hair'; + const BORDER_MEDIUM = 'medium'; + const BORDER_MEDIUMDASHDOT = 'mediumDashDot'; + const BORDER_MEDIUMDASHDOTDOT = 'mediumDashDotDot'; + const BORDER_MEDIUMDASHED = 'mediumDashed'; + const BORDER_SLANTDASHDOT = 'slantDashDot'; + const BORDER_THICK = 'thick'; + const BORDER_THIN = 'thin'; + + /** + * Border style + * + * @var string + */ + protected $_borderStyle = PHPExcel_Style_Border::BORDER_NONE; + + /** + * Border color + * + * @var PHPExcel_Style_Color + */ + protected $_color; + + /** + * Parent property name + * + * @var string + */ + protected $_parentPropertyName; + + /** + * Create a new PHPExcel_Style_Border + * + * @param boolean $isSupervisor Flag indicating if this is a supervisor or not + * Leave this value at default unless you understand exactly what + * its ramifications are + * @param boolean $isConditional Flag indicating if this is a conditional style or not + * Leave this value at default unless you understand exactly what + * its ramifications are + */ + public function __construct($isSupervisor = FALSE, $isConditional = FALSE) + { + // Supervisor? + parent::__construct($isSupervisor); + + // Initialise values + $this->_color = new PHPExcel_Style_Color(PHPExcel_Style_Color::COLOR_BLACK, $isSupervisor); + + // bind parent if we are a supervisor + if ($isSupervisor) { + $this->_color->bindParent($this, '_color'); + } + } + + /** + * Bind parent. Only used for supervisor + * + * @param PHPExcel_Style_Borders $parent + * @param string $parentPropertyName + * @return PHPExcel_Style_Border + */ + public function bindParent($parent, $parentPropertyName=NULL) + { + $this->_parent = $parent; + $this->_parentPropertyName = $parentPropertyName; + return $this; + } + + /** + * Get the shared style component for the currently active cell in currently active sheet. + * Only used for style supervisor + * + * @return PHPExcel_Style_Border + * @throws PHPExcel_Exception + */ + public function getSharedComponent() + { + switch ($this->_parentPropertyName) { + case '_allBorders': + case '_horizontal': + case '_inside': + case '_outline': + case '_vertical': + throw new PHPExcel_Exception('Cannot get shared component for a pseudo-border.'); + break; + case '_bottom': + return $this->_parent->getSharedComponent()->getBottom(); break; + case '_diagonal': + return $this->_parent->getSharedComponent()->getDiagonal(); break; + case '_left': + return $this->_parent->getSharedComponent()->getLeft(); break; + case '_right': + return $this->_parent->getSharedComponent()->getRight(); break; + case '_top': + return $this->_parent->getSharedComponent()->getTop(); break; + + } + } + + /** + * Build style array from subcomponents + * + * @param array $array + * @return array + */ + public function getStyleArray($array) + { + switch ($this->_parentPropertyName) { + case '_allBorders': + $key = 'allborders'; break; + case '_bottom': + $key = 'bottom'; break; + case '_diagonal': + $key = 'diagonal'; break; + case '_horizontal': + $key = 'horizontal'; break; + case '_inside': + $key = 'inside'; break; + case '_left': + $key = 'left'; break; + case '_outline': + $key = 'outline'; break; + case '_right': + $key = 'right'; break; + case '_top': + $key = 'top'; break; + case '_vertical': + $key = 'vertical'; break; + } + return $this->_parent->getStyleArray(array($key => $array)); + } + + /** + * Apply styles from array + * + * <code> + * $objPHPExcel->getActiveSheet()->getStyle('B2')->getBorders()->getTop()->applyFromArray( + * array( + * 'style' => PHPExcel_Style_Border::BORDER_DASHDOT, + * 'color' => array( + * 'rgb' => '808080' + * ) + * ) + * ); + * </code> + * + * @param array $pStyles Array containing style information + * @throws PHPExcel_Exception + * @return PHPExcel_Style_Border + */ + public function applyFromArray($pStyles = null) { + if (is_array($pStyles)) { + if ($this->_isSupervisor) { + $this->getActiveSheet()->getStyle($this->getSelectedCells())->applyFromArray($this->getStyleArray($pStyles)); + } else { + if (isset($pStyles['style'])) { + $this->setBorderStyle($pStyles['style']); + } + if (isset($pStyles['color'])) { + $this->getColor()->applyFromArray($pStyles['color']); + } + } + } else { + throw new PHPExcel_Exception("Invalid style array passed."); + } + return $this; + } + + /** + * Get Border style + * + * @return string + */ + public function getBorderStyle() { + if ($this->_isSupervisor) { + return $this->getSharedComponent()->getBorderStyle(); + } + return $this->_borderStyle; + } + + /** + * Set Border style + * + * @param string|boolean $pValue + * When passing a boolean, FALSE equates PHPExcel_Style_Border::BORDER_NONE + * and TRUE to PHPExcel_Style_Border::BORDER_MEDIUM + * @return PHPExcel_Style_Border + */ + public function setBorderStyle($pValue = PHPExcel_Style_Border::BORDER_NONE) { + + if (empty($pValue)) { + $pValue = PHPExcel_Style_Border::BORDER_NONE; + } elseif(is_bool($pValue) && $pValue) { + $pValue = PHPExcel_Style_Border::BORDER_MEDIUM; + } + if ($this->_isSupervisor) { + $styleArray = $this->getStyleArray(array('style' => $pValue)); + $this->getActiveSheet()->getStyle($this->getSelectedCells())->applyFromArray($styleArray); + } else { + $this->_borderStyle = $pValue; + } + return $this; + } + + /** + * Get Border Color + * + * @return PHPExcel_Style_Color + */ + public function getColor() { + return $this->_color; + } + + /** + * Set Border Color + * + * @param PHPExcel_Style_Color $pValue + * @throws PHPExcel_Exception + * @return PHPExcel_Style_Border + */ + public function setColor(PHPExcel_Style_Color $pValue = null) { + // make sure parameter is a real color and not a supervisor + $color = $pValue->getIsSupervisor() ? $pValue->getSharedComponent() : $pValue; + + if ($this->_isSupervisor) { + $styleArray = $this->getColor()->getStyleArray(array('argb' => $color->getARGB())); + $this->getActiveSheet()->getStyle($this->getSelectedCells())->applyFromArray($styleArray); + } else { + $this->_color = $color; + } + return $this; + } + + /** + * Get hash code + * + * @return string Hash code + */ + public function getHashCode() { + if ($this->_isSupervisor) { + return $this->getSharedComponent()->getHashCode(); + } + return md5( + $this->_borderStyle + . $this->_color->getHashCode() + . __CLASS__ + ); + } + +} diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Style/Borders.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Style/Borders.php new file mode 100644 index 00000000..21dcfeee --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Style/Borders.php @@ -0,0 +1,424 @@ +<?php +/** + * PHPExcel + * + * Copyright (c) 2006 - 2014 PHPExcel + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * @category PHPExcel + * @package PHPExcel_Style + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @version ##VERSION##, ##DATE## + */ + + +/** + * PHPExcel_Style_Borders + * + * @category PHPExcel + * @package PHPExcel_Style + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + */ +class PHPExcel_Style_Borders extends PHPExcel_Style_Supervisor implements PHPExcel_IComparable +{ + /* Diagonal directions */ + const DIAGONAL_NONE = 0; + const DIAGONAL_UP = 1; + const DIAGONAL_DOWN = 2; + const DIAGONAL_BOTH = 3; + + /** + * Left + * + * @var PHPExcel_Style_Border + */ + protected $_left; + + /** + * Right + * + * @var PHPExcel_Style_Border + */ + protected $_right; + + /** + * Top + * + * @var PHPExcel_Style_Border + */ + protected $_top; + + /** + * Bottom + * + * @var PHPExcel_Style_Border + */ + protected $_bottom; + + /** + * Diagonal + * + * @var PHPExcel_Style_Border + */ + protected $_diagonal; + + /** + * DiagonalDirection + * + * @var int + */ + protected $_diagonalDirection; + + /** + * All borders psedo-border. Only applies to supervisor. + * + * @var PHPExcel_Style_Border + */ + protected $_allBorders; + + /** + * Outline psedo-border. Only applies to supervisor. + * + * @var PHPExcel_Style_Border + */ + protected $_outline; + + /** + * Inside psedo-border. Only applies to supervisor. + * + * @var PHPExcel_Style_Border + */ + protected $_inside; + + /** + * Vertical pseudo-border. Only applies to supervisor. + * + * @var PHPExcel_Style_Border + */ + protected $_vertical; + + /** + * Horizontal pseudo-border. Only applies to supervisor. + * + * @var PHPExcel_Style_Border + */ + protected $_horizontal; + + /** + * Create a new PHPExcel_Style_Borders + * + * @param boolean $isSupervisor Flag indicating if this is a supervisor or not + * Leave this value at default unless you understand exactly what + * its ramifications are + * @param boolean $isConditional Flag indicating if this is a conditional style or not + * Leave this value at default unless you understand exactly what + * its ramifications are + */ + public function __construct($isSupervisor = FALSE, $isConditional = FALSE) + { + // Supervisor? + parent::__construct($isSupervisor); + + // Initialise values + $this->_left = new PHPExcel_Style_Border($isSupervisor, $isConditional); + $this->_right = new PHPExcel_Style_Border($isSupervisor, $isConditional); + $this->_top = new PHPExcel_Style_Border($isSupervisor, $isConditional); + $this->_bottom = new PHPExcel_Style_Border($isSupervisor, $isConditional); + $this->_diagonal = new PHPExcel_Style_Border($isSupervisor, $isConditional); + $this->_diagonalDirection = PHPExcel_Style_Borders::DIAGONAL_NONE; + + // Specially for supervisor + if ($isSupervisor) { + // Initialize pseudo-borders + $this->_allBorders = new PHPExcel_Style_Border(TRUE); + $this->_outline = new PHPExcel_Style_Border(TRUE); + $this->_inside = new PHPExcel_Style_Border(TRUE); + $this->_vertical = new PHPExcel_Style_Border(TRUE); + $this->_horizontal = new PHPExcel_Style_Border(TRUE); + + // bind parent if we are a supervisor + $this->_left->bindParent($this, '_left'); + $this->_right->bindParent($this, '_right'); + $this->_top->bindParent($this, '_top'); + $this->_bottom->bindParent($this, '_bottom'); + $this->_diagonal->bindParent($this, '_diagonal'); + $this->_allBorders->bindParent($this, '_allBorders'); + $this->_outline->bindParent($this, '_outline'); + $this->_inside->bindParent($this, '_inside'); + $this->_vertical->bindParent($this, '_vertical'); + $this->_horizontal->bindParent($this, '_horizontal'); + } + } + + /** + * Get the shared style component for the currently active cell in currently active sheet. + * Only used for style supervisor + * + * @return PHPExcel_Style_Borders + */ + public function getSharedComponent() + { + return $this->_parent->getSharedComponent()->getBorders(); + } + + /** + * Build style array from subcomponents + * + * @param array $array + * @return array + */ + public function getStyleArray($array) + { + return array('borders' => $array); + } + + /** + * Apply styles from array + * + * <code> + * $objPHPExcel->getActiveSheet()->getStyle('B2')->getBorders()->applyFromArray( + * array( + * 'bottom' => array( + * 'style' => PHPExcel_Style_Border::BORDER_DASHDOT, + * 'color' => array( + * 'rgb' => '808080' + * ) + * ), + * 'top' => array( + * 'style' => PHPExcel_Style_Border::BORDER_DASHDOT, + * 'color' => array( + * 'rgb' => '808080' + * ) + * ) + * ) + * ); + * </code> + * <code> + * $objPHPExcel->getActiveSheet()->getStyle('B2')->getBorders()->applyFromArray( + * array( + * 'allborders' => array( + * 'style' => PHPExcel_Style_Border::BORDER_DASHDOT, + * 'color' => array( + * 'rgb' => '808080' + * ) + * ) + * ) + * ); + * </code> + * + * @param array $pStyles Array containing style information + * @throws PHPExcel_Exception + * @return PHPExcel_Style_Borders + */ + public function applyFromArray($pStyles = null) { + if (is_array($pStyles)) { + if ($this->_isSupervisor) { + $this->getActiveSheet()->getStyle($this->getSelectedCells())->applyFromArray($this->getStyleArray($pStyles)); + } else { + if (array_key_exists('left', $pStyles)) { + $this->getLeft()->applyFromArray($pStyles['left']); + } + if (array_key_exists('right', $pStyles)) { + $this->getRight()->applyFromArray($pStyles['right']); + } + if (array_key_exists('top', $pStyles)) { + $this->getTop()->applyFromArray($pStyles['top']); + } + if (array_key_exists('bottom', $pStyles)) { + $this->getBottom()->applyFromArray($pStyles['bottom']); + } + if (array_key_exists('diagonal', $pStyles)) { + $this->getDiagonal()->applyFromArray($pStyles['diagonal']); + } + if (array_key_exists('diagonaldirection', $pStyles)) { + $this->setDiagonalDirection($pStyles['diagonaldirection']); + } + if (array_key_exists('allborders', $pStyles)) { + $this->getLeft()->applyFromArray($pStyles['allborders']); + $this->getRight()->applyFromArray($pStyles['allborders']); + $this->getTop()->applyFromArray($pStyles['allborders']); + $this->getBottom()->applyFromArray($pStyles['allborders']); + } + } + } else { + throw new PHPExcel_Exception("Invalid style array passed."); + } + return $this; + } + + /** + * Get Left + * + * @return PHPExcel_Style_Border + */ + public function getLeft() { + return $this->_left; + } + + /** + * Get Right + * + * @return PHPExcel_Style_Border + */ + public function getRight() { + return $this->_right; + } + + /** + * Get Top + * + * @return PHPExcel_Style_Border + */ + public function getTop() { + return $this->_top; + } + + /** + * Get Bottom + * + * @return PHPExcel_Style_Border + */ + public function getBottom() { + return $this->_bottom; + } + + /** + * Get Diagonal + * + * @return PHPExcel_Style_Border + */ + public function getDiagonal() { + return $this->_diagonal; + } + + /** + * Get AllBorders (pseudo-border). Only applies to supervisor. + * + * @return PHPExcel_Style_Border + * @throws PHPExcel_Exception + */ + public function getAllBorders() { + if (!$this->_isSupervisor) { + throw new PHPExcel_Exception('Can only get pseudo-border for supervisor.'); + } + return $this->_allBorders; + } + + /** + * Get Outline (pseudo-border). Only applies to supervisor. + * + * @return boolean + * @throws PHPExcel_Exception + */ + public function getOutline() { + if (!$this->_isSupervisor) { + throw new PHPExcel_Exception('Can only get pseudo-border for supervisor.'); + } + return $this->_outline; + } + + /** + * Get Inside (pseudo-border). Only applies to supervisor. + * + * @return boolean + * @throws PHPExcel_Exception + */ + public function getInside() { + if (!$this->_isSupervisor) { + throw new PHPExcel_Exception('Can only get pseudo-border for supervisor.'); + } + return $this->_inside; + } + + /** + * Get Vertical (pseudo-border). Only applies to supervisor. + * + * @return PHPExcel_Style_Border + * @throws PHPExcel_Exception + */ + public function getVertical() { + if (!$this->_isSupervisor) { + throw new PHPExcel_Exception('Can only get pseudo-border for supervisor.'); + } + return $this->_vertical; + } + + /** + * Get Horizontal (pseudo-border). Only applies to supervisor. + * + * @return PHPExcel_Style_Border + * @throws PHPExcel_Exception + */ + public function getHorizontal() { + if (!$this->_isSupervisor) { + throw new PHPExcel_Exception('Can only get pseudo-border for supervisor.'); + } + return $this->_horizontal; + } + + /** + * Get DiagonalDirection + * + * @return int + */ + public function getDiagonalDirection() { + if ($this->_isSupervisor) { + return $this->getSharedComponent()->getDiagonalDirection(); + } + return $this->_diagonalDirection; + } + + /** + * Set DiagonalDirection + * + * @param int $pValue + * @return PHPExcel_Style_Borders + */ + public function setDiagonalDirection($pValue = PHPExcel_Style_Borders::DIAGONAL_NONE) { + if ($pValue == '') { + $pValue = PHPExcel_Style_Borders::DIAGONAL_NONE; + } + if ($this->_isSupervisor) { + $styleArray = $this->getStyleArray(array('diagonaldirection' => $pValue)); + $this->getActiveSheet()->getStyle($this->getSelectedCells())->applyFromArray($styleArray); + } else { + $this->_diagonalDirection = $pValue; + } + return $this; + } + + /** + * Get hash code + * + * @return string Hash code + */ + public function getHashCode() { + if ($this->_isSupervisor) { + return $this->getSharedComponent()->getHashcode(); + } + return md5( + $this->getLeft()->getHashCode() + . $this->getRight()->getHashCode() + . $this->getTop()->getHashCode() + . $this->getBottom()->getHashCode() + . $this->getDiagonal()->getHashCode() + . $this->getDiagonalDirection() + . __CLASS__ + ); + } + +} diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Style/Color.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Style/Color.php new file mode 100644 index 00000000..a56c9a63 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Style/Color.php @@ -0,0 +1,429 @@ +<?php +/** + * PHPExcel + * + * Copyright (c) 2006 - 2014 PHPExcel + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * @category PHPExcel + * @package PHPExcel_Style + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @version ##VERSION##, ##DATE## + */ + + +/** + * PHPExcel_Style_Color + * + * @category PHPExcel + * @package PHPExcel_Style + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + */ +class PHPExcel_Style_Color extends PHPExcel_Style_Supervisor implements PHPExcel_IComparable +{ + /* Colors */ + const COLOR_BLACK = 'FF000000'; + const COLOR_WHITE = 'FFFFFFFF'; + const COLOR_RED = 'FFFF0000'; + const COLOR_DARKRED = 'FF800000'; + const COLOR_BLUE = 'FF0000FF'; + const COLOR_DARKBLUE = 'FF000080'; + const COLOR_GREEN = 'FF00FF00'; + const COLOR_DARKGREEN = 'FF008000'; + const COLOR_YELLOW = 'FFFFFF00'; + const COLOR_DARKYELLOW = 'FF808000'; + + /** + * Indexed colors array + * + * @var array + */ + protected static $_indexedColors; + + /** + * ARGB - Alpha RGB + * + * @var string + */ + protected $_argb = NULL; + + /** + * Parent property name + * + * @var string + */ + protected $_parentPropertyName; + + + /** + * Create a new PHPExcel_Style_Color + * + * @param string $pARGB ARGB value for the colour + * @param boolean $isSupervisor Flag indicating if this is a supervisor or not + * Leave this value at default unless you understand exactly what + * its ramifications are + * @param boolean $isConditional Flag indicating if this is a conditional style or not + * Leave this value at default unless you understand exactly what + * its ramifications are + */ + public function __construct($pARGB = PHPExcel_Style_Color::COLOR_BLACK, $isSupervisor = FALSE, $isConditional = FALSE) + { + // Supervisor? + parent::__construct($isSupervisor); + + // Initialise values + if (!$isConditional) { + $this->_argb = $pARGB; + } + } + + /** + * Bind parent. Only used for supervisor + * + * @param mixed $parent + * @param string $parentPropertyName + * @return PHPExcel_Style_Color + */ + public function bindParent($parent, $parentPropertyName=NULL) + { + $this->_parent = $parent; + $this->_parentPropertyName = $parentPropertyName; + return $this; + } + + /** + * Get the shared style component for the currently active cell in currently active sheet. + * Only used for style supervisor + * + * @return PHPExcel_Style_Color + */ + public function getSharedComponent() + { + switch ($this->_parentPropertyName) { + case '_endColor': + return $this->_parent->getSharedComponent()->getEndColor(); break; + case '_color': + return $this->_parent->getSharedComponent()->getColor(); break; + case '_startColor': + return $this->_parent->getSharedComponent()->getStartColor(); break; + } + } + + /** + * Build style array from subcomponents + * + * @param array $array + * @return array + */ + public function getStyleArray($array) + { + switch ($this->_parentPropertyName) { + case '_endColor': + $key = 'endcolor'; + break; + case '_color': + $key = 'color'; + break; + case '_startColor': + $key = 'startcolor'; + break; + + } + return $this->_parent->getStyleArray(array($key => $array)); + } + + /** + * Apply styles from array + * + * <code> + * $objPHPExcel->getActiveSheet()->getStyle('B2')->getFont()->getColor()->applyFromArray( array('rgb' => '808080') ); + * </code> + * + * @param array $pStyles Array containing style information + * @throws PHPExcel_Exception + * @return PHPExcel_Style_Color + */ + public function applyFromArray($pStyles = NULL) { + if (is_array($pStyles)) { + if ($this->_isSupervisor) { + $this->getActiveSheet()->getStyle($this->getSelectedCells())->applyFromArray($this->getStyleArray($pStyles)); + } else { + if (array_key_exists('rgb', $pStyles)) { + $this->setRGB($pStyles['rgb']); + } + if (array_key_exists('argb', $pStyles)) { + $this->setARGB($pStyles['argb']); + } + } + } else { + throw new PHPExcel_Exception("Invalid style array passed."); + } + return $this; + } + + /** + * Get ARGB + * + * @return string + */ + public function getARGB() { + if ($this->_isSupervisor) { + return $this->getSharedComponent()->getARGB(); + } + return $this->_argb; + } + + /** + * Set ARGB + * + * @param string $pValue + * @return PHPExcel_Style_Color + */ + public function setARGB($pValue = PHPExcel_Style_Color::COLOR_BLACK) { + if ($pValue == '') { + $pValue = PHPExcel_Style_Color::COLOR_BLACK; + } + if ($this->_isSupervisor) { + $styleArray = $this->getStyleArray(array('argb' => $pValue)); + $this->getActiveSheet()->getStyle($this->getSelectedCells())->applyFromArray($styleArray); + } else { + $this->_argb = $pValue; + } + return $this; + } + + /** + * Get RGB + * + * @return string + */ + public function getRGB() { + if ($this->_isSupervisor) { + return $this->getSharedComponent()->getRGB(); + } + return substr($this->_argb, 2); + } + + /** + * Set RGB + * + * @param string $pValue RGB value + * @return PHPExcel_Style_Color + */ + public function setRGB($pValue = '000000') { + if ($pValue == '') { + $pValue = '000000'; + } + if ($this->_isSupervisor) { + $styleArray = $this->getStyleArray(array('argb' => 'FF' . $pValue)); + $this->getActiveSheet()->getStyle($this->getSelectedCells())->applyFromArray($styleArray); + } else { + $this->_argb = 'FF' . $pValue; + } + return $this; + } + + /** + * Get a specified colour component of an RGB value + * + * @private + * @param string $RGB The colour as an RGB value (e.g. FF00CCCC or CCDDEE + * @param int $offset Position within the RGB value to extract + * @param boolean $hex Flag indicating whether the component should be returned as a hex or a + * decimal value + * @return string The extracted colour component + */ + private static function _getColourComponent($RGB,$offset,$hex=TRUE) { + $colour = substr($RGB, $offset, 2); + if (!$hex) + $colour = hexdec($colour); + return $colour; + } + + /** + * Get the red colour component of an RGB value + * + * @param string $RGB The colour as an RGB value (e.g. FF00CCCC or CCDDEE + * @param boolean $hex Flag indicating whether the component should be returned as a hex or a + * decimal value + * @return string The red colour component + */ + public static function getRed($RGB,$hex=TRUE) { + return self::_getColourComponent($RGB, strlen($RGB) - 6, $hex); + } + + /** + * Get the green colour component of an RGB value + * + * @param string $RGB The colour as an RGB value (e.g. FF00CCCC or CCDDEE + * @param boolean $hex Flag indicating whether the component should be returned as a hex or a + * decimal value + * @return string The green colour component + */ + public static function getGreen($RGB,$hex=TRUE) { + return self::_getColourComponent($RGB, strlen($RGB) - 4, $hex); + } + + /** + * Get the blue colour component of an RGB value + * + * @param string $RGB The colour as an RGB value (e.g. FF00CCCC or CCDDEE + * @param boolean $hex Flag indicating whether the component should be returned as a hex or a + * decimal value + * @return string The blue colour component + */ + public static function getBlue($RGB,$hex=TRUE) { + return self::_getColourComponent($RGB, strlen($RGB) - 2, $hex); + } + + /** + * Adjust the brightness of a color + * + * @param string $hex The colour as an RGBA or RGB value (e.g. FF00CCCC or CCDDEE) + * @param float $adjustPercentage The percentage by which to adjust the colour as a float from -1 to 1 + * @return string The adjusted colour as an RGBA or RGB value (e.g. FF00CCCC or CCDDEE) + */ + public static function changeBrightness($hex, $adjustPercentage) { + $rgba = (strlen($hex) == 8); + + $red = self::getRed($hex, FALSE); + $green = self::getGreen($hex, FALSE); + $blue = self::getBlue($hex, FALSE); + if ($adjustPercentage > 0) { + $red += (255 - $red) * $adjustPercentage; + $green += (255 - $green) * $adjustPercentage; + $blue += (255 - $blue) * $adjustPercentage; + } else { + $red += $red * $adjustPercentage; + $green += $green * $adjustPercentage; + $blue += $blue * $adjustPercentage; + } + + if ($red < 0) $red = 0; + elseif ($red > 255) $red = 255; + if ($green < 0) $green = 0; + elseif ($green > 255) $green = 255; + if ($blue < 0) $blue = 0; + elseif ($blue > 255) $blue = 255; + + $rgb = strtoupper( str_pad(dechex($red), 2, '0', 0) . + str_pad(dechex($green), 2, '0', 0) . + str_pad(dechex($blue), 2, '0', 0) + ); + return (($rgba) ? 'FF' : '') . $rgb; + } + + /** + * Get indexed color + * + * @param int $pIndex Index entry point into the colour array + * @param boolean $background Flag to indicate whether default background or foreground colour + * should be returned if the indexed colour doesn't exist + * @return PHPExcel_Style_Color + */ + public static function indexedColor($pIndex, $background=FALSE) { + // Clean parameter + $pIndex = intval($pIndex); + + // Indexed colors + if (is_null(self::$_indexedColors)) { + self::$_indexedColors = array( + 1 => 'FF000000', // System Colour #1 - Black + 2 => 'FFFFFFFF', // System Colour #2 - White + 3 => 'FFFF0000', // System Colour #3 - Red + 4 => 'FF00FF00', // System Colour #4 - Green + 5 => 'FF0000FF', // System Colour #5 - Blue + 6 => 'FFFFFF00', // System Colour #6 - Yellow + 7 => 'FFFF00FF', // System Colour #7- Magenta + 8 => 'FF00FFFF', // System Colour #8- Cyan + 9 => 'FF800000', // Standard Colour #9 + 10 => 'FF008000', // Standard Colour #10 + 11 => 'FF000080', // Standard Colour #11 + 12 => 'FF808000', // Standard Colour #12 + 13 => 'FF800080', // Standard Colour #13 + 14 => 'FF008080', // Standard Colour #14 + 15 => 'FFC0C0C0', // Standard Colour #15 + 16 => 'FF808080', // Standard Colour #16 + 17 => 'FF9999FF', // Chart Fill Colour #17 + 18 => 'FF993366', // Chart Fill Colour #18 + 19 => 'FFFFFFCC', // Chart Fill Colour #19 + 20 => 'FFCCFFFF', // Chart Fill Colour #20 + 21 => 'FF660066', // Chart Fill Colour #21 + 22 => 'FFFF8080', // Chart Fill Colour #22 + 23 => 'FF0066CC', // Chart Fill Colour #23 + 24 => 'FFCCCCFF', // Chart Fill Colour #24 + 25 => 'FF000080', // Chart Line Colour #25 + 26 => 'FFFF00FF', // Chart Line Colour #26 + 27 => 'FFFFFF00', // Chart Line Colour #27 + 28 => 'FF00FFFF', // Chart Line Colour #28 + 29 => 'FF800080', // Chart Line Colour #29 + 30 => 'FF800000', // Chart Line Colour #30 + 31 => 'FF008080', // Chart Line Colour #31 + 32 => 'FF0000FF', // Chart Line Colour #32 + 33 => 'FF00CCFF', // Standard Colour #33 + 34 => 'FFCCFFFF', // Standard Colour #34 + 35 => 'FFCCFFCC', // Standard Colour #35 + 36 => 'FFFFFF99', // Standard Colour #36 + 37 => 'FF99CCFF', // Standard Colour #37 + 38 => 'FFFF99CC', // Standard Colour #38 + 39 => 'FFCC99FF', // Standard Colour #39 + 40 => 'FFFFCC99', // Standard Colour #40 + 41 => 'FF3366FF', // Standard Colour #41 + 42 => 'FF33CCCC', // Standard Colour #42 + 43 => 'FF99CC00', // Standard Colour #43 + 44 => 'FFFFCC00', // Standard Colour #44 + 45 => 'FFFF9900', // Standard Colour #45 + 46 => 'FFFF6600', // Standard Colour #46 + 47 => 'FF666699', // Standard Colour #47 + 48 => 'FF969696', // Standard Colour #48 + 49 => 'FF003366', // Standard Colour #49 + 50 => 'FF339966', // Standard Colour #50 + 51 => 'FF003300', // Standard Colour #51 + 52 => 'FF333300', // Standard Colour #52 + 53 => 'FF993300', // Standard Colour #53 + 54 => 'FF993366', // Standard Colour #54 + 55 => 'FF333399', // Standard Colour #55 + 56 => 'FF333333' // Standard Colour #56 + ); + } + + if (array_key_exists($pIndex, self::$_indexedColors)) { + return new PHPExcel_Style_Color(self::$_indexedColors[$pIndex]); + } + + if ($background) { + return new PHPExcel_Style_Color('FFFFFFFF'); + } + return new PHPExcel_Style_Color('FF000000'); + } + + /** + * Get hash code + * + * @return string Hash code + */ + public function getHashCode() { + if ($this->_isSupervisor) { + return $this->getSharedComponent()->getHashCode(); + } + return md5( + $this->_argb + . __CLASS__ + ); + } + +} diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Style/Conditional.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Style/Conditional.php new file mode 100644 index 00000000..aebf1e31 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Style/Conditional.php @@ -0,0 +1,277 @@ +<?php +/** + * PHPExcel + * + * Copyright (c) 2006 - 2014 PHPExcel + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * @category PHPExcel + * @package PHPExcel_Style + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @version ##VERSION##, ##DATE## + */ + + +/** + * PHPExcel_Style_Conditional + * + * @category PHPExcel + * @package PHPExcel_Style + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + */ +class PHPExcel_Style_Conditional implements PHPExcel_IComparable +{ + /* Condition types */ + const CONDITION_NONE = 'none'; + const CONDITION_CELLIS = 'cellIs'; + const CONDITION_CONTAINSTEXT = 'containsText'; + const CONDITION_EXPRESSION = 'expression'; + + /* Operator types */ + const OPERATOR_NONE = ''; + const OPERATOR_BEGINSWITH = 'beginsWith'; + const OPERATOR_ENDSWITH = 'endsWith'; + const OPERATOR_EQUAL = 'equal'; + const OPERATOR_GREATERTHAN = 'greaterThan'; + const OPERATOR_GREATERTHANOREQUAL = 'greaterThanOrEqual'; + const OPERATOR_LESSTHAN = 'lessThan'; + const OPERATOR_LESSTHANOREQUAL = 'lessThanOrEqual'; + const OPERATOR_NOTEQUAL = 'notEqual'; + const OPERATOR_CONTAINSTEXT = 'containsText'; + const OPERATOR_NOTCONTAINS = 'notContains'; + const OPERATOR_BETWEEN = 'between'; + + /** + * Condition type + * + * @var int + */ + private $_conditionType; + + /** + * Operator type + * + * @var int + */ + private $_operatorType; + + /** + * Text + * + * @var string + */ + private $_text; + + /** + * Condition + * + * @var string[] + */ + private $_condition = array(); + + /** + * Style + * + * @var PHPExcel_Style + */ + private $_style; + + /** + * Create a new PHPExcel_Style_Conditional + */ + public function __construct() + { + // Initialise values + $this->_conditionType = PHPExcel_Style_Conditional::CONDITION_NONE; + $this->_operatorType = PHPExcel_Style_Conditional::OPERATOR_NONE; + $this->_text = null; + $this->_condition = array(); + $this->_style = new PHPExcel_Style(FALSE, TRUE); + } + + /** + * Get Condition type + * + * @return string + */ + public function getConditionType() { + return $this->_conditionType; + } + + /** + * Set Condition type + * + * @param string $pValue PHPExcel_Style_Conditional condition type + * @return PHPExcel_Style_Conditional + */ + public function setConditionType($pValue = PHPExcel_Style_Conditional::CONDITION_NONE) { + $this->_conditionType = $pValue; + return $this; + } + + /** + * Get Operator type + * + * @return string + */ + public function getOperatorType() { + return $this->_operatorType; + } + + /** + * Set Operator type + * + * @param string $pValue PHPExcel_Style_Conditional operator type + * @return PHPExcel_Style_Conditional + */ + public function setOperatorType($pValue = PHPExcel_Style_Conditional::OPERATOR_NONE) { + $this->_operatorType = $pValue; + return $this; + } + + /** + * Get text + * + * @return string + */ + public function getText() { + return $this->_text; + } + + /** + * Set text + * + * @param string $value + * @return PHPExcel_Style_Conditional + */ + public function setText($value = null) { + $this->_text = $value; + return $this; + } + + /** + * Get Condition + * + * @deprecated Deprecated, use getConditions instead + * @return string + */ + public function getCondition() { + if (isset($this->_condition[0])) { + return $this->_condition[0]; + } + + return ''; + } + + /** + * Set Condition + * + * @deprecated Deprecated, use setConditions instead + * @param string $pValue Condition + * @return PHPExcel_Style_Conditional + */ + public function setCondition($pValue = '') { + if (!is_array($pValue)) + $pValue = array($pValue); + + return $this->setConditions($pValue); + } + + /** + * Get Conditions + * + * @return string[] + */ + public function getConditions() { + return $this->_condition; + } + + /** + * Set Conditions + * + * @param string[] $pValue Condition + * @return PHPExcel_Style_Conditional + */ + public function setConditions($pValue) { + if (!is_array($pValue)) + $pValue = array($pValue); + + $this->_condition = $pValue; + return $this; + } + + /** + * Add Condition + * + * @param string $pValue Condition + * @return PHPExcel_Style_Conditional + */ + public function addCondition($pValue = '') { + $this->_condition[] = $pValue; + return $this; + } + + /** + * Get Style + * + * @return PHPExcel_Style + */ + public function getStyle() { + return $this->_style; + } + + /** + * Set Style + * + * @param PHPExcel_Style $pValue + * @throws PHPExcel_Exception + * @return PHPExcel_Style_Conditional + */ + public function setStyle(PHPExcel_Style $pValue = null) { + $this->_style = $pValue; + return $this; + } + + /** + * Get hash code + * + * @return string Hash code + */ + public function getHashCode() { + return md5( + $this->_conditionType + . $this->_operatorType + . implode(';', $this->_condition) + . $this->_style->getHashCode() + . __CLASS__ + ); + } + + /** + * Implement PHP __clone to create a deep clone, not just a shallow copy. + */ + public function __clone() { + $vars = get_object_vars($this); + foreach ($vars as $key => $value) { + if (is_object($value)) { + $this->$key = clone $value; + } else { + $this->$key = $value; + } + } + } +} diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Style/Fill.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Style/Fill.php new file mode 100644 index 00000000..6412ba63 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Style/Fill.php @@ -0,0 +1,321 @@ +<?php +/** + * PHPExcel + * + * Copyright (c) 2006 - 2014 PHPExcel + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * @category PHPExcel + * @package PHPExcel_Style + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @version ##VERSION##, ##DATE## + */ + + +/** + * PHPExcel_Style_Fill + * + * @category PHPExcel + * @package PHPExcel_Style + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + */ +class PHPExcel_Style_Fill extends PHPExcel_Style_Supervisor implements PHPExcel_IComparable +{ + /* Fill types */ + const FILL_NONE = 'none'; + const FILL_SOLID = 'solid'; + const FILL_GRADIENT_LINEAR = 'linear'; + const FILL_GRADIENT_PATH = 'path'; + const FILL_PATTERN_DARKDOWN = 'darkDown'; + const FILL_PATTERN_DARKGRAY = 'darkGray'; + const FILL_PATTERN_DARKGRID = 'darkGrid'; + const FILL_PATTERN_DARKHORIZONTAL = 'darkHorizontal'; + const FILL_PATTERN_DARKTRELLIS = 'darkTrellis'; + const FILL_PATTERN_DARKUP = 'darkUp'; + const FILL_PATTERN_DARKVERTICAL = 'darkVertical'; + const FILL_PATTERN_GRAY0625 = 'gray0625'; + const FILL_PATTERN_GRAY125 = 'gray125'; + const FILL_PATTERN_LIGHTDOWN = 'lightDown'; + const FILL_PATTERN_LIGHTGRAY = 'lightGray'; + const FILL_PATTERN_LIGHTGRID = 'lightGrid'; + const FILL_PATTERN_LIGHTHORIZONTAL = 'lightHorizontal'; + const FILL_PATTERN_LIGHTTRELLIS = 'lightTrellis'; + const FILL_PATTERN_LIGHTUP = 'lightUp'; + const FILL_PATTERN_LIGHTVERTICAL = 'lightVertical'; + const FILL_PATTERN_MEDIUMGRAY = 'mediumGray'; + + /** + * Fill type + * + * @var string + */ + protected $_fillType = PHPExcel_Style_Fill::FILL_NONE; + + /** + * Rotation + * + * @var double + */ + protected $_rotation = 0; + + /** + * Start color + * + * @var PHPExcel_Style_Color + */ + protected $_startColor; + + /** + * End color + * + * @var PHPExcel_Style_Color + */ + protected $_endColor; + + /** + * Create a new PHPExcel_Style_Fill + * + * @param boolean $isSupervisor Flag indicating if this is a supervisor or not + * Leave this value at default unless you understand exactly what + * its ramifications are + * @param boolean $isConditional Flag indicating if this is a conditional style or not + * Leave this value at default unless you understand exactly what + * its ramifications are + */ + public function __construct($isSupervisor = FALSE, $isConditional = FALSE) + { + // Supervisor? + parent::__construct($isSupervisor); + + // Initialise values + if ($isConditional) { + $this->_fillType = NULL; + } + $this->_startColor = new PHPExcel_Style_Color(PHPExcel_Style_Color::COLOR_WHITE, $isSupervisor, $isConditional); + $this->_endColor = new PHPExcel_Style_Color(PHPExcel_Style_Color::COLOR_BLACK, $isSupervisor, $isConditional); + + // bind parent if we are a supervisor + if ($isSupervisor) { + $this->_startColor->bindParent($this, '_startColor'); + $this->_endColor->bindParent($this, '_endColor'); + } + } + + /** + * Get the shared style component for the currently active cell in currently active sheet. + * Only used for style supervisor + * + * @return PHPExcel_Style_Fill + */ + public function getSharedComponent() + { + return $this->_parent->getSharedComponent()->getFill(); + } + + /** + * Build style array from subcomponents + * + * @param array $array + * @return array + */ + public function getStyleArray($array) + { + return array('fill' => $array); + } + + /** + * Apply styles from array + * + * <code> + * $objPHPExcel->getActiveSheet()->getStyle('B2')->getFill()->applyFromArray( + * array( + * 'type' => PHPExcel_Style_Fill::FILL_GRADIENT_LINEAR, + * 'rotation' => 0, + * 'startcolor' => array( + * 'rgb' => '000000' + * ), + * 'endcolor' => array( + * 'argb' => 'FFFFFFFF' + * ) + * ) + * ); + * </code> + * + * @param array $pStyles Array containing style information + * @throws PHPExcel_Exception + * @return PHPExcel_Style_Fill + */ + public function applyFromArray($pStyles = null) { + if (is_array($pStyles)) { + if ($this->_isSupervisor) { + $this->getActiveSheet()->getStyle($this->getSelectedCells())->applyFromArray($this->getStyleArray($pStyles)); + } else { + if (array_key_exists('type', $pStyles)) { + $this->setFillType($pStyles['type']); + } + if (array_key_exists('rotation', $pStyles)) { + $this->setRotation($pStyles['rotation']); + } + if (array_key_exists('startcolor', $pStyles)) { + $this->getStartColor()->applyFromArray($pStyles['startcolor']); + } + if (array_key_exists('endcolor', $pStyles)) { + $this->getEndColor()->applyFromArray($pStyles['endcolor']); + } + if (array_key_exists('color', $pStyles)) { + $this->getStartColor()->applyFromArray($pStyles['color']); + } + } + } else { + throw new PHPExcel_Exception("Invalid style array passed."); + } + return $this; + } + + /** + * Get Fill Type + * + * @return string + */ + public function getFillType() { + if ($this->_isSupervisor) { + return $this->getSharedComponent()->getFillType(); + } + return $this->_fillType; + } + + /** + * Set Fill Type + * + * @param string $pValue PHPExcel_Style_Fill fill type + * @return PHPExcel_Style_Fill + */ + public function setFillType($pValue = PHPExcel_Style_Fill::FILL_NONE) { + if ($this->_isSupervisor) { + $styleArray = $this->getStyleArray(array('type' => $pValue)); + $this->getActiveSheet()->getStyle($this->getSelectedCells())->applyFromArray($styleArray); + } else { + $this->_fillType = $pValue; + } + return $this; + } + + /** + * Get Rotation + * + * @return double + */ + public function getRotation() { + if ($this->_isSupervisor) { + return $this->getSharedComponent()->getRotation(); + } + return $this->_rotation; + } + + /** + * Set Rotation + * + * @param double $pValue + * @return PHPExcel_Style_Fill + */ + public function setRotation($pValue = 0) { + if ($this->_isSupervisor) { + $styleArray = $this->getStyleArray(array('rotation' => $pValue)); + $this->getActiveSheet()->getStyle($this->getSelectedCells())->applyFromArray($styleArray); + } else { + $this->_rotation = $pValue; + } + return $this; + } + + /** + * Get Start Color + * + * @return PHPExcel_Style_Color + */ + public function getStartColor() { + return $this->_startColor; + } + + /** + * Set Start Color + * + * @param PHPExcel_Style_Color $pValue + * @throws PHPExcel_Exception + * @return PHPExcel_Style_Fill + */ + public function setStartColor(PHPExcel_Style_Color $pValue = null) { + // make sure parameter is a real color and not a supervisor + $color = $pValue->getIsSupervisor() ? $pValue->getSharedComponent() : $pValue; + + if ($this->_isSupervisor) { + $styleArray = $this->getStartColor()->getStyleArray(array('argb' => $color->getARGB())); + $this->getActiveSheet()->getStyle($this->getSelectedCells())->applyFromArray($styleArray); + } else { + $this->_startColor = $color; + } + return $this; + } + + /** + * Get End Color + * + * @return PHPExcel_Style_Color + */ + public function getEndColor() { + return $this->_endColor; + } + + /** + * Set End Color + * + * @param PHPExcel_Style_Color $pValue + * @throws PHPExcel_Exception + * @return PHPExcel_Style_Fill + */ + public function setEndColor(PHPExcel_Style_Color $pValue = null) { + // make sure parameter is a real color and not a supervisor + $color = $pValue->getIsSupervisor() ? $pValue->getSharedComponent() : $pValue; + + if ($this->_isSupervisor) { + $styleArray = $this->getEndColor()->getStyleArray(array('argb' => $color->getARGB())); + $this->getActiveSheet()->getStyle($this->getSelectedCells())->applyFromArray($styleArray); + } else { + $this->_endColor = $color; + } + return $this; + } + + /** + * Get hash code + * + * @return string Hash code + */ + public function getHashCode() { + if ($this->_isSupervisor) { + return $this->getSharedComponent()->getHashCode(); + } + return md5( + $this->getFillType() + . $this->getRotation() + . $this->getStartColor()->getHashCode() + . $this->getEndColor()->getHashCode() + . __CLASS__ + ); + } + +} diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Style/Font.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Style/Font.php new file mode 100644 index 00000000..296e3485 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Style/Font.php @@ -0,0 +1,532 @@ +<?php +/** + * PHPExcel + * + * Copyright (c) 2006 - 2014 PHPExcel + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * @category PHPExcel + * @package PHPExcel_Style + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @version ##VERSION##, ##DATE## + */ + + +/** + * PHPExcel_Style_Font + * + * @category PHPExcel + * @package PHPExcel_Style + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + */ +class PHPExcel_Style_Font extends PHPExcel_Style_Supervisor implements PHPExcel_IComparable +{ + /* Underline types */ + const UNDERLINE_NONE = 'none'; + const UNDERLINE_DOUBLE = 'double'; + const UNDERLINE_DOUBLEACCOUNTING = 'doubleAccounting'; + const UNDERLINE_SINGLE = 'single'; + const UNDERLINE_SINGLEACCOUNTING = 'singleAccounting'; + + /** + * Font Name + * + * @var string + */ + protected $_name = 'Calibri'; + + /** + * Font Size + * + * @var float + */ + protected $_size = 11; + + /** + * Bold + * + * @var boolean + */ + protected $_bold = FALSE; + + /** + * Italic + * + * @var boolean + */ + protected $_italic = FALSE; + + /** + * Superscript + * + * @var boolean + */ + protected $_superScript = FALSE; + + /** + * Subscript + * + * @var boolean + */ + protected $_subScript = FALSE; + + /** + * Underline + * + * @var string + */ + protected $_underline = self::UNDERLINE_NONE; + + /** + * Strikethrough + * + * @var boolean + */ + protected $_strikethrough = FALSE; + + /** + * Foreground color + * + * @var PHPExcel_Style_Color + */ + protected $_color; + + /** + * Create a new PHPExcel_Style_Font + * + * @param boolean $isSupervisor Flag indicating if this is a supervisor or not + * Leave this value at default unless you understand exactly what + * its ramifications are + * @param boolean $isConditional Flag indicating if this is a conditional style or not + * Leave this value at default unless you understand exactly what + * its ramifications are + */ + public function __construct($isSupervisor = FALSE, $isConditional = FALSE) + { + // Supervisor? + parent::__construct($isSupervisor); + + // Initialise values + if ($isConditional) { + $this->_name = NULL; + $this->_size = NULL; + $this->_bold = NULL; + $this->_italic = NULL; + $this->_superScript = NULL; + $this->_subScript = NULL; + $this->_underline = NULL; + $this->_strikethrough = NULL; + $this->_color = new PHPExcel_Style_Color(PHPExcel_Style_Color::COLOR_BLACK, $isSupervisor, $isConditional); + } else { + $this->_color = new PHPExcel_Style_Color(PHPExcel_Style_Color::COLOR_BLACK, $isSupervisor); + } + // bind parent if we are a supervisor + if ($isSupervisor) { + $this->_color->bindParent($this, '_color'); + } + } + + /** + * Get the shared style component for the currently active cell in currently active sheet. + * Only used for style supervisor + * + * @return PHPExcel_Style_Font + */ + public function getSharedComponent() + { + return $this->_parent->getSharedComponent()->getFont(); + } + + /** + * Build style array from subcomponents + * + * @param array $array + * @return array + */ + public function getStyleArray($array) + { + return array('font' => $array); + } + + /** + * Apply styles from array + * + * <code> + * $objPHPExcel->getActiveSheet()->getStyle('B2')->getFont()->applyFromArray( + * array( + * 'name' => 'Arial', + * 'bold' => TRUE, + * 'italic' => FALSE, + * 'underline' => PHPExcel_Style_Font::UNDERLINE_DOUBLE, + * 'strike' => FALSE, + * 'color' => array( + * 'rgb' => '808080' + * ) + * ) + * ); + * </code> + * + * @param array $pStyles Array containing style information + * @throws PHPExcel_Exception + * @return PHPExcel_Style_Font + */ + public function applyFromArray($pStyles = null) { + if (is_array($pStyles)) { + if ($this->_isSupervisor) { + $this->getActiveSheet()->getStyle($this->getSelectedCells())->applyFromArray($this->getStyleArray($pStyles)); + } else { + if (array_key_exists('name', $pStyles)) { + $this->setName($pStyles['name']); + } + if (array_key_exists('bold', $pStyles)) { + $this->setBold($pStyles['bold']); + } + if (array_key_exists('italic', $pStyles)) { + $this->setItalic($pStyles['italic']); + } + if (array_key_exists('superScript', $pStyles)) { + $this->setSuperScript($pStyles['superScript']); + } + if (array_key_exists('subScript', $pStyles)) { + $this->setSubScript($pStyles['subScript']); + } + if (array_key_exists('underline', $pStyles)) { + $this->setUnderline($pStyles['underline']); + } + if (array_key_exists('strike', $pStyles)) { + $this->setStrikethrough($pStyles['strike']); + } + if (array_key_exists('color', $pStyles)) { + $this->getColor()->applyFromArray($pStyles['color']); + } + if (array_key_exists('size', $pStyles)) { + $this->setSize($pStyles['size']); + } + } + } else { + throw new PHPExcel_Exception("Invalid style array passed."); + } + return $this; + } + + /** + * Get Name + * + * @return string + */ + public function getName() { + if ($this->_isSupervisor) { + return $this->getSharedComponent()->getName(); + } + return $this->_name; + } + + /** + * Set Name + * + * @param string $pValue + * @return PHPExcel_Style_Font + */ + public function setName($pValue = 'Calibri') { + if ($pValue == '') { + $pValue = 'Calibri'; + } + if ($this->_isSupervisor) { + $styleArray = $this->getStyleArray(array('name' => $pValue)); + $this->getActiveSheet()->getStyle($this->getSelectedCells())->applyFromArray($styleArray); + } else { + $this->_name = $pValue; + } + return $this; + } + + /** + * Get Size + * + * @return double + */ + public function getSize() { + if ($this->_isSupervisor) { + return $this->getSharedComponent()->getSize(); + } + return $this->_size; + } + + /** + * Set Size + * + * @param double $pValue + * @return PHPExcel_Style_Font + */ + public function setSize($pValue = 10) { + if ($pValue == '') { + $pValue = 10; + } + if ($this->_isSupervisor) { + $styleArray = $this->getStyleArray(array('size' => $pValue)); + $this->getActiveSheet()->getStyle($this->getSelectedCells())->applyFromArray($styleArray); + } else { + $this->_size = $pValue; + } + return $this; + } + + /** + * Get Bold + * + * @return boolean + */ + public function getBold() { + if ($this->_isSupervisor) { + return $this->getSharedComponent()->getBold(); + } + return $this->_bold; + } + + /** + * Set Bold + * + * @param boolean $pValue + * @return PHPExcel_Style_Font + */ + public function setBold($pValue = false) { + if ($pValue == '') { + $pValue = false; + } + if ($this->_isSupervisor) { + $styleArray = $this->getStyleArray(array('bold' => $pValue)); + $this->getActiveSheet()->getStyle($this->getSelectedCells())->applyFromArray($styleArray); + } else { + $this->_bold = $pValue; + } + return $this; + } + + /** + * Get Italic + * + * @return boolean + */ + public function getItalic() { + if ($this->_isSupervisor) { + return $this->getSharedComponent()->getItalic(); + } + return $this->_italic; + } + + /** + * Set Italic + * + * @param boolean $pValue + * @return PHPExcel_Style_Font + */ + public function setItalic($pValue = false) { + if ($pValue == '') { + $pValue = false; + } + if ($this->_isSupervisor) { + $styleArray = $this->getStyleArray(array('italic' => $pValue)); + $this->getActiveSheet()->getStyle($this->getSelectedCells())->applyFromArray($styleArray); + } else { + $this->_italic = $pValue; + } + return $this; + } + + /** + * Get SuperScript + * + * @return boolean + */ + public function getSuperScript() { + if ($this->_isSupervisor) { + return $this->getSharedComponent()->getSuperScript(); + } + return $this->_superScript; + } + + /** + * Set SuperScript + * + * @param boolean $pValue + * @return PHPExcel_Style_Font + */ + public function setSuperScript($pValue = false) { + if ($pValue == '') { + $pValue = false; + } + if ($this->_isSupervisor) { + $styleArray = $this->getStyleArray(array('superScript' => $pValue)); + $this->getActiveSheet()->getStyle($this->getSelectedCells())->applyFromArray($styleArray); + } else { + $this->_superScript = $pValue; + $this->_subScript = !$pValue; + } + return $this; + } + + /** + * Get SubScript + * + * @return boolean + */ + public function getSubScript() { + if ($this->_isSupervisor) { + return $this->getSharedComponent()->getSubScript(); + } + return $this->_subScript; + } + + /** + * Set SubScript + * + * @param boolean $pValue + * @return PHPExcel_Style_Font + */ + public function setSubScript($pValue = false) { + if ($pValue == '') { + $pValue = false; + } + if ($this->_isSupervisor) { + $styleArray = $this->getStyleArray(array('subScript' => $pValue)); + $this->getActiveSheet()->getStyle($this->getSelectedCells())->applyFromArray($styleArray); + } else { + $this->_subScript = $pValue; + $this->_superScript = !$pValue; + } + return $this; + } + + /** + * Get Underline + * + * @return string + */ + public function getUnderline() { + if ($this->_isSupervisor) { + return $this->getSharedComponent()->getUnderline(); + } + return $this->_underline; + } + + /** + * Set Underline + * + * @param string|boolean $pValue PHPExcel_Style_Font underline type + * If a boolean is passed, then TRUE equates to UNDERLINE_SINGLE, + * false equates to UNDERLINE_NONE + * @return PHPExcel_Style_Font + */ + public function setUnderline($pValue = self::UNDERLINE_NONE) { + if (is_bool($pValue)) { + $pValue = ($pValue) ? self::UNDERLINE_SINGLE : self::UNDERLINE_NONE; + } elseif ($pValue == '') { + $pValue = self::UNDERLINE_NONE; + } + if ($this->_isSupervisor) { + $styleArray = $this->getStyleArray(array('underline' => $pValue)); + $this->getActiveSheet()->getStyle($this->getSelectedCells())->applyFromArray($styleArray); + } else { + $this->_underline = $pValue; + } + return $this; + } + + /** + * Get Strikethrough + * + * @return boolean + */ + public function getStrikethrough() { + if ($this->_isSupervisor) { + return $this->getSharedComponent()->getStrikethrough(); + } + return $this->_strikethrough; + } + + /** + * Set Strikethrough + * + * @param boolean $pValue + * @return PHPExcel_Style_Font + */ + public function setStrikethrough($pValue = false) { + if ($pValue == '') { + $pValue = false; + } + if ($this->_isSupervisor) { + $styleArray = $this->getStyleArray(array('strike' => $pValue)); + $this->getActiveSheet()->getStyle($this->getSelectedCells())->applyFromArray($styleArray); + } else { + $this->_strikethrough = $pValue; + } + return $this; + } + + /** + * Get Color + * + * @return PHPExcel_Style_Color + */ + public function getColor() { + return $this->_color; + } + + /** + * Set Color + * + * @param PHPExcel_Style_Color $pValue + * @throws PHPExcel_Exception + * @return PHPExcel_Style_Font + */ + public function setColor(PHPExcel_Style_Color $pValue = null) { + // make sure parameter is a real color and not a supervisor + $color = $pValue->getIsSupervisor() ? $pValue->getSharedComponent() : $pValue; + + if ($this->_isSupervisor) { + $styleArray = $this->getColor()->getStyleArray(array('argb' => $color->getARGB())); + $this->getActiveSheet()->getStyle($this->getSelectedCells())->applyFromArray($styleArray); + } else { + $this->_color = $color; + } + return $this; + } + + /** + * Get hash code + * + * @return string Hash code + */ + public function getHashCode() { + if ($this->_isSupervisor) { + return $this->getSharedComponent()->getHashCode(); + } + return md5( + $this->_name + . $this->_size + . ($this->_bold ? 't' : 'f') + . ($this->_italic ? 't' : 'f') + . ($this->_superScript ? 't' : 'f') + . ($this->_subScript ? 't' : 'f') + . $this->_underline + . ($this->_strikethrough ? 't' : 'f') + . $this->_color->getHashCode() + . __CLASS__ + ); + } + +} diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Style/NumberFormat.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Style/NumberFormat.php new file mode 100644 index 00000000..62ab3e27 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Style/NumberFormat.php @@ -0,0 +1,717 @@ +<?php +/** + * PHPExcel + * + * Copyright (c) 2006 - 2014 PHPExcel + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * @category PHPExcel + * @package PHPExcel_Style + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @version ##VERSION##, ##DATE## + */ + + +/** + * PHPExcel_Style_NumberFormat + * + * @category PHPExcel + * @package PHPExcel_Style + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + */ +class PHPExcel_Style_NumberFormat extends PHPExcel_Style_Supervisor implements PHPExcel_IComparable +{ + /* Pre-defined formats */ + const FORMAT_GENERAL = 'General'; + + const FORMAT_TEXT = '@'; + + const FORMAT_NUMBER = '0'; + const FORMAT_NUMBER_00 = '0.00'; + const FORMAT_NUMBER_COMMA_SEPARATED1 = '#,##0.00'; + const FORMAT_NUMBER_COMMA_SEPARATED2 = '#,##0.00_-'; + + const FORMAT_PERCENTAGE = '0%'; + const FORMAT_PERCENTAGE_00 = '0.00%'; + + const FORMAT_DATE_YYYYMMDD2 = 'yyyy-mm-dd'; + const FORMAT_DATE_YYYYMMDD = 'yy-mm-dd'; + const FORMAT_DATE_DDMMYYYY = 'dd/mm/yy'; + const FORMAT_DATE_DMYSLASH = 'd/m/y'; + const FORMAT_DATE_DMYMINUS = 'd-m-y'; + const FORMAT_DATE_DMMINUS = 'd-m'; + const FORMAT_DATE_MYMINUS = 'm-y'; + const FORMAT_DATE_XLSX14 = 'mm-dd-yy'; + const FORMAT_DATE_XLSX15 = 'd-mmm-yy'; + const FORMAT_DATE_XLSX16 = 'd-mmm'; + const FORMAT_DATE_XLSX17 = 'mmm-yy'; + const FORMAT_DATE_XLSX22 = 'm/d/yy h:mm'; + const FORMAT_DATE_DATETIME = 'd/m/y h:mm'; + const FORMAT_DATE_TIME1 = 'h:mm AM/PM'; + const FORMAT_DATE_TIME2 = 'h:mm:ss AM/PM'; + const FORMAT_DATE_TIME3 = 'h:mm'; + const FORMAT_DATE_TIME4 = 'h:mm:ss'; + const FORMAT_DATE_TIME5 = 'mm:ss'; + const FORMAT_DATE_TIME6 = 'h:mm:ss'; + const FORMAT_DATE_TIME7 = 'i:s.S'; + const FORMAT_DATE_TIME8 = 'h:mm:ss;@'; + const FORMAT_DATE_YYYYMMDDSLASH = 'yy/mm/dd;@'; + + const FORMAT_CURRENCY_USD_SIMPLE = '"$"#,##0.00_-'; + const FORMAT_CURRENCY_USD = '$#,##0_-'; + const FORMAT_CURRENCY_EUR_SIMPLE = '[$EUR ]#,##0.00_-'; + + /** + * Excel built-in number formats + * + * @var array + */ + protected static $_builtInFormats; + + /** + * Excel built-in number formats (flipped, for faster lookups) + * + * @var array + */ + protected static $_flippedBuiltInFormats; + + /** + * Format Code + * + * @var string + */ + protected $_formatCode = PHPExcel_Style_NumberFormat::FORMAT_GENERAL; + + /** + * Built-in format Code + * + * @var string + */ + protected $_builtInFormatCode = 0; + + /** + * Create a new PHPExcel_Style_NumberFormat + * + * @param boolean $isSupervisor Flag indicating if this is a supervisor or not + * Leave this value at default unless you understand exactly what + * its ramifications are + * @param boolean $isConditional Flag indicating if this is a conditional style or not + * Leave this value at default unless you understand exactly what + * its ramifications are + */ + public function __construct($isSupervisor = FALSE, $isConditional = FALSE) + { + // Supervisor? + parent::__construct($isSupervisor); + + if ($isConditional) { + $this->_formatCode = NULL; + $this->_builtInFormatCode = FALSE; + } + } + + /** + * Get the shared style component for the currently active cell in currently active sheet. + * Only used for style supervisor + * + * @return PHPExcel_Style_NumberFormat + */ + public function getSharedComponent() + { + return $this->_parent->getSharedComponent()->getNumberFormat(); + } + + /** + * Build style array from subcomponents + * + * @param array $array + * @return array + */ + public function getStyleArray($array) + { + return array('numberformat' => $array); + } + + /** + * Apply styles from array + * + * <code> + * $objPHPExcel->getActiveSheet()->getStyle('B2')->getNumberFormat()->applyFromArray( + * array( + * 'code' => PHPExcel_Style_NumberFormat::FORMAT_CURRENCY_EUR_SIMPLE + * ) + * ); + * </code> + * + * @param array $pStyles Array containing style information + * @throws PHPExcel_Exception + * @return PHPExcel_Style_NumberFormat + */ + public function applyFromArray($pStyles = null) + { + if (is_array($pStyles)) { + if ($this->_isSupervisor) { + $this->getActiveSheet()->getStyle($this->getSelectedCells())->applyFromArray($this->getStyleArray($pStyles)); + } else { + if (array_key_exists('code', $pStyles)) { + $this->setFormatCode($pStyles['code']); + } + } + } else { + throw new PHPExcel_Exception("Invalid style array passed."); + } + return $this; + } + + /** + * Get Format Code + * + * @return string + */ + public function getFormatCode() + { + if ($this->_isSupervisor) { + return $this->getSharedComponent()->getFormatCode(); + } + if ($this->_builtInFormatCode !== false) + { + return self::builtInFormatCode($this->_builtInFormatCode); + } + return $this->_formatCode; + } + + /** + * Set Format Code + * + * @param string $pValue + * @return PHPExcel_Style_NumberFormat + */ + public function setFormatCode($pValue = PHPExcel_Style_NumberFormat::FORMAT_GENERAL) + { + if ($pValue == '') { + $pValue = PHPExcel_Style_NumberFormat::FORMAT_GENERAL; + } + if ($this->_isSupervisor) { + $styleArray = $this->getStyleArray(array('code' => $pValue)); + $this->getActiveSheet()->getStyle($this->getSelectedCells())->applyFromArray($styleArray); + } else { + $this->_formatCode = $pValue; + $this->_builtInFormatCode = self::builtInFormatCodeIndex($pValue); + } + return $this; + } + + /** + * Get Built-In Format Code + * + * @return int + */ + public function getBuiltInFormatCode() + { + if ($this->_isSupervisor) { + return $this->getSharedComponent()->getBuiltInFormatCode(); + } + return $this->_builtInFormatCode; + } + + /** + * Set Built-In Format Code + * + * @param int $pValue + * @return PHPExcel_Style_NumberFormat + */ + public function setBuiltInFormatCode($pValue = 0) + { + + if ($this->_isSupervisor) { + $styleArray = $this->getStyleArray(array('code' => self::builtInFormatCode($pValue))); + $this->getActiveSheet()->getStyle($this->getSelectedCells())->applyFromArray($styleArray); + } else { + $this->_builtInFormatCode = $pValue; + $this->_formatCode = self::builtInFormatCode($pValue); + } + return $this; + } + + /** + * Fill built-in format codes + */ + private static function fillBuiltInFormatCodes() + { + // Built-in format codes + if (is_null(self::$_builtInFormats)) { + self::$_builtInFormats = array(); + + // General + self::$_builtInFormats[0] = PHPExcel_Style_NumberFormat::FORMAT_GENERAL; + self::$_builtInFormats[1] = '0'; + self::$_builtInFormats[2] = '0.00'; + self::$_builtInFormats[3] = '#,##0'; + self::$_builtInFormats[4] = '#,##0.00'; + + self::$_builtInFormats[9] = '0%'; + self::$_builtInFormats[10] = '0.00%'; + self::$_builtInFormats[11] = '0.00E+00'; + self::$_builtInFormats[12] = '# ?/?'; + self::$_builtInFormats[13] = '# ??/??'; + self::$_builtInFormats[14] = 'mm-dd-yy'; + self::$_builtInFormats[15] = 'd-mmm-yy'; + self::$_builtInFormats[16] = 'd-mmm'; + self::$_builtInFormats[17] = 'mmm-yy'; + self::$_builtInFormats[18] = 'h:mm AM/PM'; + self::$_builtInFormats[19] = 'h:mm:ss AM/PM'; + self::$_builtInFormats[20] = 'h:mm'; + self::$_builtInFormats[21] = 'h:mm:ss'; + self::$_builtInFormats[22] = 'm/d/yy h:mm'; + + self::$_builtInFormats[37] = '#,##0 ;(#,##0)'; + self::$_builtInFormats[38] = '#,##0 ;[Red](#,##0)'; + self::$_builtInFormats[39] = '#,##0.00;(#,##0.00)'; + self::$_builtInFormats[40] = '#,##0.00;[Red](#,##0.00)'; + + self::$_builtInFormats[44] = '_("$"* #,##0.00_);_("$"* \(#,##0.00\);_("$"* "-"??_);_(@_)'; + self::$_builtInFormats[45] = 'mm:ss'; + self::$_builtInFormats[46] = '[h]:mm:ss'; + self::$_builtInFormats[47] = 'mmss.0'; + self::$_builtInFormats[48] = '##0.0E+0'; + self::$_builtInFormats[49] = '@'; + + // CHT + self::$_builtInFormats[27] = '[$-404]e/m/d'; + self::$_builtInFormats[30] = 'm/d/yy'; + self::$_builtInFormats[36] = '[$-404]e/m/d'; + self::$_builtInFormats[50] = '[$-404]e/m/d'; + self::$_builtInFormats[57] = '[$-404]e/m/d'; + + // THA + self::$_builtInFormats[59] = 't0'; + self::$_builtInFormats[60] = 't0.00'; + self::$_builtInFormats[61] = 't#,##0'; + self::$_builtInFormats[62] = 't#,##0.00'; + self::$_builtInFormats[67] = 't0%'; + self::$_builtInFormats[68] = 't0.00%'; + self::$_builtInFormats[69] = 't# ?/?'; + self::$_builtInFormats[70] = 't# ??/??'; + + // Flip array (for faster lookups) + self::$_flippedBuiltInFormats = array_flip(self::$_builtInFormats); + } + } + + /** + * Get built-in format code + * + * @param int $pIndex + * @return string + */ + public static function builtInFormatCode($pIndex) + { + // Clean parameter + $pIndex = intval($pIndex); + + // Ensure built-in format codes are available + self::fillBuiltInFormatCodes(); + + // Lookup format code + if (isset(self::$_builtInFormats[$pIndex])) { + return self::$_builtInFormats[$pIndex]; + } + + return ''; + } + + /** + * Get built-in format code index + * + * @param string $formatCode + * @return int|boolean + */ + public static function builtInFormatCodeIndex($formatCode) + { + // Ensure built-in format codes are available + self::fillBuiltInFormatCodes(); + + // Lookup format code + if (isset(self::$_flippedBuiltInFormats[$formatCode])) { + return self::$_flippedBuiltInFormats[$formatCode]; + } + + return false; + } + + /** + * Get hash code + * + * @return string Hash code + */ + public function getHashCode() + { + if ($this->_isSupervisor) { + return $this->getSharedComponent()->getHashCode(); + } + return md5( + $this->_formatCode + . $this->_builtInFormatCode + . __CLASS__ + ); + } + + /** + * Search/replace values to convert Excel date/time format masks to PHP format masks + * + * @var array + */ + private static $_dateFormatReplacements = array( + // first remove escapes related to non-format characters + '\\' => '', + // 12-hour suffix + 'am/pm' => 'A', + // 4-digit year + 'e' => 'Y', + 'yyyy' => 'Y', + // 2-digit year + 'yy' => 'y', + // first letter of month - no php equivalent + 'mmmmm' => 'M', + // full month name + 'mmmm' => 'F', + // short month name + 'mmm' => 'M', + // mm is minutes if time, but can also be month w/leading zero + // so we try to identify times be the inclusion of a : separator in the mask + // It isn't perfect, but the best way I know how + ':mm' => ':i', + 'mm:' => 'i:', + // month leading zero + 'mm' => 'm', + // month no leading zero + 'm' => 'n', + // full day of week name + 'dddd' => 'l', + // short day of week name + 'ddd' => 'D', + // days leading zero + 'dd' => 'd', + // days no leading zero + 'd' => 'j', + // seconds + 'ss' => 's', + // fractional seconds - no php equivalent + '.s' => '' + ); + /** + * Search/replace values to convert Excel date/time format masks hours to PHP format masks (24 hr clock) + * + * @var array + */ + private static $_dateFormatReplacements24 = array( + 'hh' => 'H', + 'h' => 'G' + ); + /** + * Search/replace values to convert Excel date/time format masks hours to PHP format masks (12 hr clock) + * + * @var array + */ + private static $_dateFormatReplacements12 = array( + 'hh' => 'h', + 'h' => 'g' + ); + + private static function _formatAsDate(&$value, &$format) + { + // dvc: convert Excel formats to PHP date formats + + // strip off first part containing e.g. [$-F800] or [$USD-409] + // general syntax: [$<Currency string>-<language info>] + // language info is in hexadecimal + $format = preg_replace('/^(\[\$[A-Z]*-[0-9A-F]*\])/i', '', $format); + + // OpenOffice.org uses upper-case number formats, e.g. 'YYYY', convert to lower-case + $format = strtolower($format); + + $format = strtr($format,self::$_dateFormatReplacements); + if (!strpos($format,'A')) { // 24-hour time format + $format = strtr($format,self::$_dateFormatReplacements24); + } else { // 12-hour time format + $format = strtr($format,self::$_dateFormatReplacements12); + } + + $dateObj = PHPExcel_Shared_Date::ExcelToPHPObject($value); + $value = $dateObj->format($format); + } + + private static function _formatAsPercentage(&$value, &$format) + { + if ($format === self::FORMAT_PERCENTAGE) { + $value = round( (100 * $value), 0) . '%'; + } else { + if (preg_match('/\.[#0]+/i', $format, $m)) { + $s = substr($m[0], 0, 1) . (strlen($m[0]) - 1); + $format = str_replace($m[0], $s, $format); + } + if (preg_match('/^[#0]+/', $format, $m)) { + $format = str_replace($m[0], strlen($m[0]), $format); + } + $format = '%' . str_replace('%', 'f%%', $format); + + $value = sprintf($format, 100 * $value); + } + } + + private static function _formatAsFraction(&$value, &$format) + { + $sign = ($value < 0) ? '-' : ''; + + $integerPart = floor(abs($value)); + $decimalPart = trim(fmod(abs($value),1),'0.'); + $decimalLength = strlen($decimalPart); + $decimalDivisor = pow(10,$decimalLength); + + $GCD = PHPExcel_Calculation_MathTrig::GCD($decimalPart,$decimalDivisor); + + $adjustedDecimalPart = $decimalPart/$GCD; + $adjustedDecimalDivisor = $decimalDivisor/$GCD; + + if ((strpos($format,'0') !== false) || (strpos($format,'#') !== false) || (substr($format,0,3) == '? ?')) { + if ($integerPart == 0) { + $integerPart = ''; + } + $value = "$sign$integerPart $adjustedDecimalPart/$adjustedDecimalDivisor"; + } else { + $adjustedDecimalPart += $integerPart * $adjustedDecimalDivisor; + $value = "$sign$adjustedDecimalPart/$adjustedDecimalDivisor"; + } + } + + private static function _complexNumberFormatMask($number, $mask, $level = 0) { + $sign = ($number < 0.0); + $number = abs($number); + if (strpos($mask,'.') !== false) { + $numbers = explode('.', $number . '.0'); + $masks = explode('.', $mask . '.0'); + $result1 = self::_complexNumberFormatMask($numbers[0], $masks[0], 1); + $result2 = strrev(self::_complexNumberFormatMask(strrev($numbers[1]), strrev($masks[1]), 1)); + return (($sign) ? '-' : '') . $result1 . '.' . $result2; + } + + $r = preg_match_all('/0+/', $mask, $result, PREG_OFFSET_CAPTURE); + if ($r > 1) { + $result = array_reverse($result[0]); + + foreach($result as $block) { + $divisor = 1 . $block[0]; + $size = strlen($block[0]); + $offset = $block[1]; + + $blockValue = sprintf( + '%0' . $size . 'd', + fmod($number, $divisor) + ); + $number = floor($number / $divisor); + $mask = substr_replace($mask, $blockValue, $offset, $size); + } + if ($number > 0) { + $mask = substr_replace($mask, $number, $offset, 0); + } + $result = $mask; + } else { + $result = $number; + } + + return (($sign) ? '-' : '') . $result; + } + + /** + * Convert a value in a pre-defined format to a PHP string + * + * @param mixed $value Value to format + * @param string $format Format code + * @param array $callBack Callback function for additional formatting of string + * @return string Formatted string + */ + public static function toFormattedString($value = '0', $format = PHPExcel_Style_NumberFormat::FORMAT_GENERAL, $callBack = null) + { + // For now we do not treat strings although section 4 of a format code affects strings + if (!is_numeric($value)) return $value; + + // For 'General' format code, we just pass the value although this is not entirely the way Excel does it, + // it seems to round numbers to a total of 10 digits. + if (($format === PHPExcel_Style_NumberFormat::FORMAT_GENERAL) || ($format === PHPExcel_Style_NumberFormat::FORMAT_TEXT)) { + return $value; + } + + // Get the sections, there can be up to four sections + $sections = explode(';', $format); + + // Fetch the relevant section depending on whether number is positive, negative, or zero? + // Text not supported yet. + // Here is how the sections apply to various values in Excel: + // 1 section: [POSITIVE/NEGATIVE/ZERO/TEXT] + // 2 sections: [POSITIVE/ZERO/TEXT] [NEGATIVE] + // 3 sections: [POSITIVE/TEXT] [NEGATIVE] [ZERO] + // 4 sections: [POSITIVE] [NEGATIVE] [ZERO] [TEXT] + switch (count($sections)) { + case 1: + $format = $sections[0]; + break; + + case 2: + $format = ($value >= 0) ? $sections[0] : $sections[1]; + $value = abs($value); // Use the absolute value + break; + + case 3: + $format = ($value > 0) ? + $sections[0] : ( ($value < 0) ? + $sections[1] : $sections[2]); + $value = abs($value); // Use the absolute value + break; + + case 4: + $format = ($value > 0) ? + $sections[0] : ( ($value < 0) ? + $sections[1] : $sections[2]); + $value = abs($value); // Use the absolute value + break; + + default: + // something is wrong, just use first section + $format = $sections[0]; + break; + } + + // Save format with color information for later use below + $formatColor = $format; + + // Strip color information + $color_regex = '/^\\[[a-zA-Z]+\\]/'; + $format = preg_replace($color_regex, '', $format); + + // Let's begin inspecting the format and converting the value to a formatted string + if (preg_match('/^(\[\$[A-Z]*-[0-9A-F]*\])*[hmsdy]/i', $format)) { // datetime format + self::_formatAsDate($value, $format); + } else if (preg_match('/%$/', $format)) { // % number format + self::_formatAsPercentage($value, $format); + } else { + if ($format === self::FORMAT_CURRENCY_EUR_SIMPLE) { + $value = 'EUR ' . sprintf('%1.2f', $value); + } else { + // In Excel formats, "_" is used to add spacing, which we can't do in HTML + $format = preg_replace('/_./', '', $format); + + // Some non-number characters are escaped with \, which we don't need + $format = preg_replace("/\\\\/", '', $format); +// Handle escaped characters, such as \" to display a literal " or \\ to display a literal \ +// $format = preg_replace('/(?<!\\\\)\"/', '', $format); +// $format = str_replace(array('\\"', '*'), array('"', ''), $format); + + // Some non-number strings are quoted, so we'll get rid of the quotes, likewise any positional * symbols + $format = str_replace(array('"', '*'), '', $format); + + // Find out if we need thousands separator + // This is indicated by a comma enclosed by a digit placeholder: + // #,# or 0,0 + $useThousands = preg_match('/(#,#|0,0)/', $format); + if ($useThousands) { + $format = preg_replace('/0,0/', '00', $format); + $format = preg_replace('/#,#/', '##', $format); + } + + // Scale thousands, millions,... + // This is indicated by a number of commas after a digit placeholder: + // #, or 0.0,, + $scale = 1; // same as no scale + $matches = array(); + if (preg_match('/(#|0)(,+)/', $format, $matches)) { + $scale = pow(1000, strlen($matches[2])); + + // strip the commas + $format = preg_replace('/0,+/', '0', $format); + $format = preg_replace('/#,+/', '#', $format); + } + + if (preg_match('/#?.*\?\/\?/', $format, $m)) { + //echo 'Format mask is fractional '.$format.' <br />'; + if ($value != (int)$value) { + self::_formatAsFraction($value, $format); + } + + } else { + // Handle the number itself + + // scale number + $value = $value / $scale; + + // Strip # + $format = preg_replace('/\\#/', '0', $format); + + $n = "/\[[^\]]+\]/"; + $m = preg_replace($n, '', $format); + $number_regex = "/(0+)(\.?)(0*)/"; + if (preg_match($number_regex, $m, $matches)) { + $left = $matches[1]; + $dec = $matches[2]; + $right = $matches[3]; + + // minimun width of formatted number (including dot) + $minWidth = strlen($left) + strlen($dec) + strlen($right); + if ($useThousands) { + $value = number_format( + $value + , strlen($right) + , PHPExcel_Shared_String::getDecimalSeparator() + , PHPExcel_Shared_String::getThousandsSeparator() + ); + $value = preg_replace($number_regex, $value, $format); + } else { + if (preg_match('/[0#]E[+-]0/i', $format)) { + // Scientific format + $value = sprintf('%5.2E', $value); + } elseif (preg_match('/0([^\d\.]+)0/', $format)) { + $value = self::_complexNumberFormatMask($value, $format); + } else { + $sprintf_pattern = "%0$minWidth." . strlen($right) . "f"; + $value = sprintf($sprintf_pattern, $value); + $value = preg_replace($number_regex, $value, $format); + } + } + } + } + if (preg_match('/\[\$(.*)\]/u', $format, $m)) { + // Currency or Accounting + $currencyFormat = $m[0]; + $currencyCode = $m[1]; + list($currencyCode) = explode('-',$currencyCode); + if ($currencyCode == '') { + $currencyCode = PHPExcel_Shared_String::getCurrencyCode(); + } + $value = preg_replace('/\[\$([^\]]*)\]/u',$currencyCode,$value); + } + } + } + + // Additional formatting provided by callback function + if ($callBack !== null) { + list($writerInstance, $function) = $callBack; + $value = $writerInstance->$function($value, $formatColor); + } + + return $value; + } + +} diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Style/Protection.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Style/Protection.php new file mode 100644 index 00000000..8dc1f31a --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Style/Protection.php @@ -0,0 +1,207 @@ +<?php +/** + * PHPExcel + * + * Copyright (c) 2006 - 2014 PHPExcel + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * @category PHPExcel + * @package PHPExcel_Style + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @version 1.4.5, 2007-08-23 + */ + + +/** + * PHPExcel_Style_Protection + * + * @category PHPExcel + * @package PHPExcel_Style + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + */ +class PHPExcel_Style_Protection extends PHPExcel_Style_Supervisor implements PHPExcel_IComparable +{ + /** Protection styles */ + const PROTECTION_INHERIT = 'inherit'; + const PROTECTION_PROTECTED = 'protected'; + const PROTECTION_UNPROTECTED = 'unprotected'; + + /** + * Locked + * + * @var string + */ + protected $_locked; + + /** + * Hidden + * + * @var string + */ + protected $_hidden; + + /** + * Create a new PHPExcel_Style_Protection + * + * @param boolean $isSupervisor Flag indicating if this is a supervisor or not + * Leave this value at default unless you understand exactly what + * its ramifications are + * @param boolean $isConditional Flag indicating if this is a conditional style or not + * Leave this value at default unless you understand exactly what + * its ramifications are + */ + public function __construct($isSupervisor = FALSE, $isConditional = FALSE) + { + // Supervisor? + parent::__construct($isSupervisor); + + // Initialise values + if (!$isConditional) { + $this->_locked = self::PROTECTION_INHERIT; + $this->_hidden = self::PROTECTION_INHERIT; + } + } + + /** + * Get the shared style component for the currently active cell in currently active sheet. + * Only used for style supervisor + * + * @return PHPExcel_Style_Protection + */ + public function getSharedComponent() + { + return $this->_parent->getSharedComponent()->getProtection(); + } + + /** + * Build style array from subcomponents + * + * @param array $array + * @return array + */ + public function getStyleArray($array) + { + return array('protection' => $array); + } + + /** + * Apply styles from array + * + * <code> + * $objPHPExcel->getActiveSheet()->getStyle('B2')->getLocked()->applyFromArray( + * array( + * 'locked' => TRUE, + * 'hidden' => FALSE + * ) + * ); + * </code> + * + * @param array $pStyles Array containing style information + * @throws PHPExcel_Exception + * @return PHPExcel_Style_Protection + */ + public function applyFromArray($pStyles = NULL) { + if (is_array($pStyles)) { + if ($this->_isSupervisor) { + $this->getActiveSheet()->getStyle($this->getSelectedCells())->applyFromArray($this->getStyleArray($pStyles)); + } else { + if (isset($pStyles['locked'])) { + $this->setLocked($pStyles['locked']); + } + if (isset($pStyles['hidden'])) { + $this->setHidden($pStyles['hidden']); + } + } + } else { + throw new PHPExcel_Exception("Invalid style array passed."); + } + return $this; + } + + /** + * Get locked + * + * @return string + */ + public function getLocked() { + if ($this->_isSupervisor) { + return $this->getSharedComponent()->getLocked(); + } + return $this->_locked; + } + + /** + * Set locked + * + * @param string $pValue + * @return PHPExcel_Style_Protection + */ + public function setLocked($pValue = self::PROTECTION_INHERIT) { + if ($this->_isSupervisor) { + $styleArray = $this->getStyleArray(array('locked' => $pValue)); + $this->getActiveSheet()->getStyle($this->getSelectedCells())->applyFromArray($styleArray); + } else { + $this->_locked = $pValue; + } + return $this; + } + + /** + * Get hidden + * + * @return string + */ + public function getHidden() { + if ($this->_isSupervisor) { + return $this->getSharedComponent()->getHidden(); + } + return $this->_hidden; + } + + /** + * Set hidden + * + * @param string $pValue + * @return PHPExcel_Style_Protection + */ + public function setHidden($pValue = self::PROTECTION_INHERIT) { + if ($this->_isSupervisor) { + $styleArray = $this->getStyleArray(array('hidden' => $pValue)); + $this->getActiveSheet()->getStyle($this->getSelectedCells())->applyFromArray($styleArray); + } else { + $this->_hidden = $pValue; + } + return $this; + } + + /** + * Get hash code + * + * @return string Hash code + */ + public function getHashCode() { + if ($this->_isSupervisor) { + return $this->getSharedComponent()->getHashCode(); + } + return md5( + $this->_locked + . $this->_hidden + . __CLASS__ + ); + } + +} diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Style/Supervisor.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Style/Supervisor.php new file mode 100644 index 00000000..2d21f529 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Style/Supervisor.php @@ -0,0 +1,132 @@ +<?php +/** + * PHPExcel + * + * Copyright (c) 2006 - 2014 PHPExcel + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * @category PHPExcel + * @package PHPExcel_Style + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @version ##VERSION##, ##DATE## + */ + + +/** + * PHPExcel_Style_Supervisor + * + * @category PHPExcel + * @package PHPExcel_Style + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + */ +abstract class PHPExcel_Style_Supervisor +{ + /** + * Supervisor? + * + * @var boolean + */ + protected $_isSupervisor; + + /** + * Parent. Only used for supervisor + * + * @var PHPExcel_Style + */ + protected $_parent; + + /** + * Create a new PHPExcel_Style_Alignment + * + * @param boolean $isSupervisor Flag indicating if this is a supervisor or not + * Leave this value at default unless you understand exactly what + * its ramifications are + */ + public function __construct($isSupervisor = FALSE) + { + // Supervisor? + $this->_isSupervisor = $isSupervisor; + } + + /** + * Bind parent. Only used for supervisor + * + * @param PHPExcel $parent + * @return PHPExcel_Style_Supervisor + */ + public function bindParent($parent, $parentPropertyName=NULL) + { + $this->_parent = $parent; + return $this; + } + + /** + * Is this a supervisor or a cell style component? + * + * @return boolean + */ + public function getIsSupervisor() + { + return $this->_isSupervisor; + } + + /** + * Get the currently active sheet. Only used for supervisor + * + * @return PHPExcel_Worksheet + */ + public function getActiveSheet() + { + return $this->_parent->getActiveSheet(); + } + + /** + * Get the currently active cell coordinate in currently active sheet. + * Only used for supervisor + * + * @return string E.g. 'A1' + */ + public function getSelectedCells() + { + return $this->getActiveSheet()->getSelectedCells(); + } + + /** + * Get the currently active cell coordinate in currently active sheet. + * Only used for supervisor + * + * @return string E.g. 'A1' + */ + public function getActiveCell() + { + return $this->getActiveSheet()->getActiveCell(); + } + + /** + * Implement PHP __clone to create a deep clone, not just a shallow copy. + */ + public function __clone() { + $vars = get_object_vars($this); + foreach ($vars as $key => $value) { + if ((is_object($value)) && ($key != '_parent')) { + $this->$key = clone $value; + } else { + $this->$key = $value; + } + } + } +} diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Worksheet.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Worksheet.php new file mode 100644 index 00000000..2b0b57ae --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Worksheet.php @@ -0,0 +1,2945 @@ +<?php +/** + * PHPExcel + * + * Copyright (c) 2006 - 2014 PHPExcel + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * @category PHPExcel + * @package PHPExcel_Worksheet + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @version ##VERSION##, ##DATE## + */ + + +/** + * PHPExcel_Worksheet + * + * @category PHPExcel + * @package PHPExcel_Worksheet + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + */ +class PHPExcel_Worksheet implements PHPExcel_IComparable +{ + /* Break types */ + const BREAK_NONE = 0; + const BREAK_ROW = 1; + const BREAK_COLUMN = 2; + + /* Sheet state */ + const SHEETSTATE_VISIBLE = 'visible'; + const SHEETSTATE_HIDDEN = 'hidden'; + const SHEETSTATE_VERYHIDDEN = 'veryHidden'; + + /** + * Invalid characters in sheet title + * + * @var array + */ + private static $_invalidCharacters = array('*', ':', '/', '\\', '?', '[', ']'); + + /** + * Parent spreadsheet + * + * @var PHPExcel + */ + private $_parent; + + /** + * Cacheable collection of cells + * + * @var PHPExcel_CachedObjectStorage_xxx + */ + private $_cellCollection = null; + + /** + * Collection of row dimensions + * + * @var PHPExcel_Worksheet_RowDimension[] + */ + private $_rowDimensions = array(); + + /** + * Default row dimension + * + * @var PHPExcel_Worksheet_RowDimension + */ + private $_defaultRowDimension = null; + + /** + * Collection of column dimensions + * + * @var PHPExcel_Worksheet_ColumnDimension[] + */ + private $_columnDimensions = array(); + + /** + * Default column dimension + * + * @var PHPExcel_Worksheet_ColumnDimension + */ + private $_defaultColumnDimension = null; + + /** + * Collection of drawings + * + * @var PHPExcel_Worksheet_BaseDrawing[] + */ + private $_drawingCollection = null; + + /** + * Collection of Chart objects + * + * @var PHPExcel_Chart[] + */ + private $_chartCollection = array(); + + /** + * Worksheet title + * + * @var string + */ + private $_title; + + /** + * Sheet state + * + * @var string + */ + private $_sheetState; + + /** + * Page setup + * + * @var PHPExcel_Worksheet_PageSetup + */ + private $_pageSetup; + + /** + * Page margins + * + * @var PHPExcel_Worksheet_PageMargins + */ + private $_pageMargins; + + /** + * Page header/footer + * + * @var PHPExcel_Worksheet_HeaderFooter + */ + private $_headerFooter; + + /** + * Sheet view + * + * @var PHPExcel_Worksheet_SheetView + */ + private $_sheetView; + + /** + * Protection + * + * @var PHPExcel_Worksheet_Protection + */ + private $_protection; + + /** + * Collection of styles + * + * @var PHPExcel_Style[] + */ + private $_styles = array(); + + /** + * Conditional styles. Indexed by cell coordinate, e.g. 'A1' + * + * @var array + */ + private $_conditionalStylesCollection = array(); + + /** + * Is the current cell collection sorted already? + * + * @var boolean + */ + private $_cellCollectionIsSorted = false; + + /** + * Collection of breaks + * + * @var array + */ + private $_breaks = array(); + + /** + * Collection of merged cell ranges + * + * @var array + */ + private $_mergeCells = array(); + + /** + * Collection of protected cell ranges + * + * @var array + */ + private $_protectedCells = array(); + + /** + * Autofilter Range and selection + * + * @var PHPExcel_Worksheet_AutoFilter + */ + private $_autoFilter = NULL; + + /** + * Freeze pane + * + * @var string + */ + private $_freezePane = ''; + + /** + * Show gridlines? + * + * @var boolean + */ + private $_showGridlines = true; + + /** + * Print gridlines? + * + * @var boolean + */ + private $_printGridlines = false; + + /** + * Show row and column headers? + * + * @var boolean + */ + private $_showRowColHeaders = true; + + /** + * Show summary below? (Row/Column outline) + * + * @var boolean + */ + private $_showSummaryBelow = true; + + /** + * Show summary right? (Row/Column outline) + * + * @var boolean + */ + private $_showSummaryRight = true; + + /** + * Collection of comments + * + * @var PHPExcel_Comment[] + */ + private $_comments = array(); + + /** + * Active cell. (Only one!) + * + * @var string + */ + private $_activeCell = 'A1'; + + /** + * Selected cells + * + * @var string + */ + private $_selectedCells = 'A1'; + + /** + * Cached highest column + * + * @var string + */ + private $_cachedHighestColumn = 'A'; + + /** + * Cached highest row + * + * @var int + */ + private $_cachedHighestRow = 1; + + /** + * Right-to-left? + * + * @var boolean + */ + private $_rightToLeft = false; + + /** + * Hyperlinks. Indexed by cell coordinate, e.g. 'A1' + * + * @var array + */ + private $_hyperlinkCollection = array(); + + /** + * Data validation objects. Indexed by cell coordinate, e.g. 'A1' + * + * @var array + */ + private $_dataValidationCollection = array(); + + /** + * Tab color + * + * @var PHPExcel_Style_Color + */ + private $_tabColor; + + /** + * Dirty flag + * + * @var boolean + */ + private $_dirty = true; + + /** + * Hash + * + * @var string + */ + private $_hash = null; + + /** + * CodeName + * + * @var string + */ + private $_codeName = null; + + /** + * Create a new worksheet + * + * @param PHPExcel $pParent + * @param string $pTitle + */ + public function __construct(PHPExcel $pParent = null, $pTitle = 'Worksheet') + { + // Set parent and title + $this->_parent = $pParent; + $this->setTitle($pTitle, FALSE); + // setTitle can change $pTitle + $this->setCodeName($this->getTitle()); + $this->setSheetState(PHPExcel_Worksheet::SHEETSTATE_VISIBLE); + + $this->_cellCollection = PHPExcel_CachedObjectStorageFactory::getInstance($this); + + // Set page setup + $this->_pageSetup = new PHPExcel_Worksheet_PageSetup(); + + // Set page margins + $this->_pageMargins = new PHPExcel_Worksheet_PageMargins(); + + // Set page header/footer + $this->_headerFooter = new PHPExcel_Worksheet_HeaderFooter(); + + // Set sheet view + $this->_sheetView = new PHPExcel_Worksheet_SheetView(); + + // Drawing collection + $this->_drawingCollection = new ArrayObject(); + + // Chart collection + $this->_chartCollection = new ArrayObject(); + + // Protection + $this->_protection = new PHPExcel_Worksheet_Protection(); + + // Default row dimension + $this->_defaultRowDimension = new PHPExcel_Worksheet_RowDimension(NULL); + + // Default column dimension + $this->_defaultColumnDimension = new PHPExcel_Worksheet_ColumnDimension(NULL); + + $this->_autoFilter = new PHPExcel_Worksheet_AutoFilter(NULL, $this); + } + + + /** + * Disconnect all cells from this PHPExcel_Worksheet object, + * typically so that the worksheet object can be unset + * + */ + public function disconnectCells() { + if ( $this->_cellCollection !== NULL){ + $this->_cellCollection->unsetWorksheetCells(); + $this->_cellCollection = NULL; + } + // detach ourself from the workbook, so that it can then delete this worksheet successfully + $this->_parent = null; + } + + /** + * Code to execute when this worksheet is unset() + * + */ + function __destruct() { + PHPExcel_Calculation::getInstance($this->_parent) + ->clearCalculationCacheForWorksheet($this->_title); + + $this->disconnectCells(); + } + + /** + * Return the cache controller for the cell collection + * + * @return PHPExcel_CachedObjectStorage_xxx + */ + public function getCellCacheController() { + return $this->_cellCollection; + } // function getCellCacheController() + + + /** + * Get array of invalid characters for sheet title + * + * @return array + */ + public static function getInvalidCharacters() + { + return self::$_invalidCharacters; + } + + /** + * Check sheet code name for valid Excel syntax + * + * @param string $pValue The string to check + * @return string The valid string + * @throws Exception + */ + private static function _checkSheetCodeName($pValue) + { + $CharCount = PHPExcel_Shared_String::CountCharacters($pValue); + if ($CharCount == 0) { + throw new PHPExcel_Exception('Sheet code name cannot be empty.'); + } + // Some of the printable ASCII characters are invalid: * : / \ ? [ ] and first and last characters cannot be a "'" + if ((str_replace(self::$_invalidCharacters, '', $pValue) !== $pValue) || + (PHPExcel_Shared_String::Substring($pValue,-1,1)=='\'') || + (PHPExcel_Shared_String::Substring($pValue,0,1)=='\'')) { + throw new PHPExcel_Exception('Invalid character found in sheet code name'); + } + + // Maximum 31 characters allowed for sheet title + if ($CharCount > 31) { + throw new PHPExcel_Exception('Maximum 31 characters allowed in sheet code name.'); + } + + return $pValue; + } + + /** + * Check sheet title for valid Excel syntax + * + * @param string $pValue The string to check + * @return string The valid string + * @throws PHPExcel_Exception + */ + private static function _checkSheetTitle($pValue) + { + // Some of the printable ASCII characters are invalid: * : / \ ? [ ] + if (str_replace(self::$_invalidCharacters, '', $pValue) !== $pValue) { + throw new PHPExcel_Exception('Invalid character found in sheet title'); + } + + // Maximum 31 characters allowed for sheet title + if (PHPExcel_Shared_String::CountCharacters($pValue) > 31) { + throw new PHPExcel_Exception('Maximum 31 characters allowed in sheet title.'); + } + + return $pValue; + } + + /** + * Get collection of cells + * + * @param boolean $pSorted Also sort the cell collection? + * @return PHPExcel_Cell[] + */ + public function getCellCollection($pSorted = true) + { + if ($pSorted) { + // Re-order cell collection + return $this->sortCellCollection(); + } + if ($this->_cellCollection !== NULL) { + return $this->_cellCollection->getCellList(); + } + return array(); + } + + /** + * Sort collection of cells + * + * @return PHPExcel_Worksheet + */ + public function sortCellCollection() + { + if ($this->_cellCollection !== NULL) { + return $this->_cellCollection->getSortedCellList(); + } + return array(); + } + + /** + * Get collection of row dimensions + * + * @return PHPExcel_Worksheet_RowDimension[] + */ + public function getRowDimensions() + { + return $this->_rowDimensions; + } + + /** + * Get default row dimension + * + * @return PHPExcel_Worksheet_RowDimension + */ + public function getDefaultRowDimension() + { + return $this->_defaultRowDimension; + } + + /** + * Get collection of column dimensions + * + * @return PHPExcel_Worksheet_ColumnDimension[] + */ + public function getColumnDimensions() + { + return $this->_columnDimensions; + } + + /** + * Get default column dimension + * + * @return PHPExcel_Worksheet_ColumnDimension + */ + public function getDefaultColumnDimension() + { + return $this->_defaultColumnDimension; + } + + /** + * Get collection of drawings + * + * @return PHPExcel_Worksheet_BaseDrawing[] + */ + public function getDrawingCollection() + { + return $this->_drawingCollection; + } + + /** + * Get collection of charts + * + * @return PHPExcel_Chart[] + */ + public function getChartCollection() + { + return $this->_chartCollection; + } + + /** + * Add chart + * + * @param PHPExcel_Chart $pChart + * @param int|null $iChartIndex Index where chart should go (0,1,..., or null for last) + * @return PHPExcel_Chart + */ + public function addChart(PHPExcel_Chart $pChart = null, $iChartIndex = null) + { + $pChart->setWorksheet($this); + if (is_null($iChartIndex)) { + $this->_chartCollection[] = $pChart; + } else { + // Insert the chart at the requested index + array_splice($this->_chartCollection, $iChartIndex, 0, array($pChart)); + } + + return $pChart; + } + + /** + * Return the count of charts on this worksheet + * + * @return int The number of charts + */ + public function getChartCount() + { + return count($this->_chartCollection); + } + + /** + * Get a chart by its index position + * + * @param string $index Chart index position + * @return false|PHPExcel_Chart + * @throws PHPExcel_Exception + */ + public function getChartByIndex($index = null) + { + $chartCount = count($this->_chartCollection); + if ($chartCount == 0) { + return false; + } + if (is_null($index)) { + $index = --$chartCount; + } + if (!isset($this->_chartCollection[$index])) { + return false; + } + + return $this->_chartCollection[$index]; + } + + /** + * Return an array of the names of charts on this worksheet + * + * @return string[] The names of charts + * @throws PHPExcel_Exception + */ + public function getChartNames() + { + $chartNames = array(); + foreach($this->_chartCollection as $chart) { + $chartNames[] = $chart->getName(); + } + return $chartNames; + } + + /** + * Get a chart by name + * + * @param string $chartName Chart name + * @return false|PHPExcel_Chart + * @throws PHPExcel_Exception + */ + public function getChartByName($chartName = '') + { + $chartCount = count($this->_chartCollection); + if ($chartCount == 0) { + return false; + } + foreach($this->_chartCollection as $index => $chart) { + if ($chart->getName() == $chartName) { + return $this->_chartCollection[$index]; + } + } + return false; + } + + /** + * Refresh column dimensions + * + * @return PHPExcel_Worksheet + */ + public function refreshColumnDimensions() + { + $currentColumnDimensions = $this->getColumnDimensions(); + $newColumnDimensions = array(); + + foreach ($currentColumnDimensions as $objColumnDimension) { + $newColumnDimensions[$objColumnDimension->getColumnIndex()] = $objColumnDimension; + } + + $this->_columnDimensions = $newColumnDimensions; + + return $this; + } + + /** + * Refresh row dimensions + * + * @return PHPExcel_Worksheet + */ + public function refreshRowDimensions() + { + $currentRowDimensions = $this->getRowDimensions(); + $newRowDimensions = array(); + + foreach ($currentRowDimensions as $objRowDimension) { + $newRowDimensions[$objRowDimension->getRowIndex()] = $objRowDimension; + } + + $this->_rowDimensions = $newRowDimensions; + + return $this; + } + + /** + * Calculate worksheet dimension + * + * @return string String containing the dimension of this worksheet + */ + public function calculateWorksheetDimension() + { + // Return + return 'A1' . ':' . $this->getHighestColumn() . $this->getHighestRow(); + } + + /** + * Calculate worksheet data dimension + * + * @return string String containing the dimension of this worksheet that actually contain data + */ + public function calculateWorksheetDataDimension() + { + // Return + return 'A1' . ':' . $this->getHighestDataColumn() . $this->getHighestDataRow(); + } + + /** + * Calculate widths for auto-size columns + * + * @param boolean $calculateMergeCells Calculate merge cell width + * @return PHPExcel_Worksheet; + */ + public function calculateColumnWidths($calculateMergeCells = false) + { + // initialize $autoSizes array + $autoSizes = array(); + foreach ($this->getColumnDimensions() as $colDimension) { + if ($colDimension->getAutoSize()) { + $autoSizes[$colDimension->getColumnIndex()] = -1; + } + } + + // There is only something to do if there are some auto-size columns + if (!empty($autoSizes)) { + + // build list of cells references that participate in a merge + $isMergeCell = array(); + foreach ($this->getMergeCells() as $cells) { + foreach (PHPExcel_Cell::extractAllCellReferencesInRange($cells) as $cellReference) { + $isMergeCell[$cellReference] = true; + } + } + + // loop through all cells in the worksheet + foreach ($this->getCellCollection(false) as $cellID) { + $cell = $this->getCell($cellID); + if (isset($autoSizes[$this->_cellCollection->getCurrentColumn()])) { + // Determine width if cell does not participate in a merge + if (!isset($isMergeCell[$this->_cellCollection->getCurrentAddress()])) { + // Calculated value + // To formatted string + $cellValue = PHPExcel_Style_NumberFormat::toFormattedString( + $cell->getCalculatedValue(), + $this->getParent()->getCellXfByIndex($cell->getXfIndex())->getNumberFormat()->getFormatCode() + ); + + $autoSizes[$this->_cellCollection->getCurrentColumn()] = max( + (float) $autoSizes[$this->_cellCollection->getCurrentColumn()], + (float)PHPExcel_Shared_Font::calculateColumnWidth( + $this->getParent()->getCellXfByIndex($cell->getXfIndex())->getFont(), + $cellValue, + $this->getParent()->getCellXfByIndex($cell->getXfIndex())->getAlignment()->getTextRotation(), + $this->getDefaultStyle()->getFont() + ) + ); + } + } + } + + // adjust column widths + foreach ($autoSizes as $columnIndex => $width) { + if ($width == -1) $width = $this->getDefaultColumnDimension()->getWidth(); + $this->getColumnDimension($columnIndex)->setWidth($width); + } + } + + return $this; + } + + /** + * Get parent + * + * @return PHPExcel + */ + public function getParent() { + return $this->_parent; + } + + /** + * Re-bind parent + * + * @param PHPExcel $parent + * @return PHPExcel_Worksheet + */ + public function rebindParent(PHPExcel $parent) { + if ($this->_parent !== null) { + $namedRanges = $this->_parent->getNamedRanges(); + foreach ($namedRanges as $namedRange) { + $parent->addNamedRange($namedRange); + } + + $this->_parent->removeSheetByIndex( + $this->_parent->getIndex($this) + ); + } + $this->_parent = $parent; + + return $this; + } + + /** + * Get title + * + * @return string + */ + public function getTitle() + { + return $this->_title; + } + + /** + * Set title + * + * @param string $pValue String containing the dimension of this worksheet + * @param string $updateFormulaCellReferences boolean Flag indicating whether cell references in formulae should + * be updated to reflect the new sheet name. + * This should be left as the default true, unless you are + * certain that no formula cells on any worksheet contain + * references to this worksheet + * @return PHPExcel_Worksheet + */ + public function setTitle($pValue = 'Worksheet', $updateFormulaCellReferences = true) + { + // Is this a 'rename' or not? + if ($this->getTitle() == $pValue) { + return $this; + } + + // Syntax check + self::_checkSheetTitle($pValue); + + // Old title + $oldTitle = $this->getTitle(); + + if ($this->_parent) { + // Is there already such sheet name? + if ($this->_parent->sheetNameExists($pValue)) { + // Use name, but append with lowest possible integer + + if (PHPExcel_Shared_String::CountCharacters($pValue) > 29) { + $pValue = PHPExcel_Shared_String::Substring($pValue,0,29); + } + $i = 1; + while ($this->_parent->sheetNameExists($pValue . ' ' . $i)) { + ++$i; + if ($i == 10) { + if (PHPExcel_Shared_String::CountCharacters($pValue) > 28) { + $pValue = PHPExcel_Shared_String::Substring($pValue,0,28); + } + } elseif ($i == 100) { + if (PHPExcel_Shared_String::CountCharacters($pValue) > 27) { + $pValue = PHPExcel_Shared_String::Substring($pValue,0,27); + } + } + } + + $altTitle = $pValue . ' ' . $i; + return $this->setTitle($altTitle,$updateFormulaCellReferences); + } + } + + // Set title + $this->_title = $pValue; + $this->_dirty = true; + + if ($this->_parent) { + // New title + $newTitle = $this->getTitle(); + PHPExcel_Calculation::getInstance($this->_parent) + ->renameCalculationCacheForWorksheet($oldTitle, $newTitle); + if ($updateFormulaCellReferences) + PHPExcel_ReferenceHelper::getInstance()->updateNamedFormulas($this->_parent, $oldTitle, $newTitle); + } + + return $this; + } + + /** + * Get sheet state + * + * @return string Sheet state (visible, hidden, veryHidden) + */ + public function getSheetState() { + return $this->_sheetState; + } + + /** + * Set sheet state + * + * @param string $value Sheet state (visible, hidden, veryHidden) + * @return PHPExcel_Worksheet + */ + public function setSheetState($value = PHPExcel_Worksheet::SHEETSTATE_VISIBLE) { + $this->_sheetState = $value; + return $this; + } + + /** + * Get page setup + * + * @return PHPExcel_Worksheet_PageSetup + */ + public function getPageSetup() + { + return $this->_pageSetup; + } + + /** + * Set page setup + * + * @param PHPExcel_Worksheet_PageSetup $pValue + * @return PHPExcel_Worksheet + */ + public function setPageSetup(PHPExcel_Worksheet_PageSetup $pValue) + { + $this->_pageSetup = $pValue; + return $this; + } + + /** + * Get page margins + * + * @return PHPExcel_Worksheet_PageMargins + */ + public function getPageMargins() + { + return $this->_pageMargins; + } + + /** + * Set page margins + * + * @param PHPExcel_Worksheet_PageMargins $pValue + * @return PHPExcel_Worksheet + */ + public function setPageMargins(PHPExcel_Worksheet_PageMargins $pValue) + { + $this->_pageMargins = $pValue; + return $this; + } + + /** + * Get page header/footer + * + * @return PHPExcel_Worksheet_HeaderFooter + */ + public function getHeaderFooter() + { + return $this->_headerFooter; + } + + /** + * Set page header/footer + * + * @param PHPExcel_Worksheet_HeaderFooter $pValue + * @return PHPExcel_Worksheet + */ + public function setHeaderFooter(PHPExcel_Worksheet_HeaderFooter $pValue) + { + $this->_headerFooter = $pValue; + return $this; + } + + /** + * Get sheet view + * + * @return PHPExcel_Worksheet_SheetView + */ + public function getSheetView() + { + return $this->_sheetView; + } + + /** + * Set sheet view + * + * @param PHPExcel_Worksheet_SheetView $pValue + * @return PHPExcel_Worksheet + */ + public function setSheetView(PHPExcel_Worksheet_SheetView $pValue) + { + $this->_sheetView = $pValue; + return $this; + } + + /** + * Get Protection + * + * @return PHPExcel_Worksheet_Protection + */ + public function getProtection() + { + return $this->_protection; + } + + /** + * Set Protection + * + * @param PHPExcel_Worksheet_Protection $pValue + * @return PHPExcel_Worksheet + */ + public function setProtection(PHPExcel_Worksheet_Protection $pValue) + { + $this->_protection = $pValue; + $this->_dirty = true; + + return $this; + } + + /** + * Get highest worksheet column + * + * @param string $row Return the data highest column for the specified row, + * or the highest column of any row if no row number is passed + * @return string Highest column name + */ + public function getHighestColumn($row = null) + { + if ($row == null) { + return $this->_cachedHighestColumn; + } + return $this->getHighestDataColumn($row); + } + + /** + * Get highest worksheet column that contains data + * + * @param string $row Return the highest data column for the specified row, + * or the highest data column of any row if no row number is passed + * @return string Highest column name that contains data + */ + public function getHighestDataColumn($row = null) + { + return $this->_cellCollection->getHighestColumn($row); + } + + /** + * Get highest worksheet row + * + * @param string $column Return the highest data row for the specified column, + * or the highest row of any column if no column letter is passed + * @return int Highest row number + */ + public function getHighestRow($column = null) + { + if ($column == null) { + return $this->_cachedHighestRow; + } + return $this->getHighestDataRow($column); + } + + /** + * Get highest worksheet row that contains data + * + * @param string $column Return the highest data row for the specified column, + * or the highest data row of any column if no column letter is passed + * @return string Highest row number that contains data + */ + public function getHighestDataRow($column = null) + { + return $this->_cellCollection->getHighestRow($column); + } + + /** + * Get highest worksheet column and highest row that have cell records + * + * @return array Highest column name and highest row number + */ + public function getHighestRowAndColumn() + { + return $this->_cellCollection->getHighestRowAndColumn(); + } + + /** + * Set a cell value + * + * @param string $pCoordinate Coordinate of the cell + * @param mixed $pValue Value of the cell + * @param bool $returnCell Return the worksheet (false, default) or the cell (true) + * @return PHPExcel_Worksheet|PHPExcel_Cell Depending on the last parameter being specified + */ + public function setCellValue($pCoordinate = 'A1', $pValue = null, $returnCell = false) + { + $cell = $this->getCell(strtoupper($pCoordinate))->setValue($pValue); + return ($returnCell) ? $cell : $this; + } + + /** + * Set a cell value by using numeric cell coordinates + * + * @param string $pColumn Numeric column coordinate of the cell (A = 0) + * @param string $pRow Numeric row coordinate of the cell + * @param mixed $pValue Value of the cell + * @param bool $returnCell Return the worksheet (false, default) or the cell (true) + * @return PHPExcel_Worksheet|PHPExcel_Cell Depending on the last parameter being specified + */ + public function setCellValueByColumnAndRow($pColumn = 0, $pRow = 1, $pValue = null, $returnCell = false) + { + $cell = $this->getCellByColumnAndRow($pColumn, $pRow)->setValue($pValue); + return ($returnCell) ? $cell : $this; + } + + /** + * Set a cell value + * + * @param string $pCoordinate Coordinate of the cell + * @param mixed $pValue Value of the cell + * @param string $pDataType Explicit data type + * @param bool $returnCell Return the worksheet (false, default) or the cell (true) + * @return PHPExcel_Worksheet|PHPExcel_Cell Depending on the last parameter being specified + */ + public function setCellValueExplicit($pCoordinate = 'A1', $pValue = null, $pDataType = PHPExcel_Cell_DataType::TYPE_STRING, $returnCell = false) + { + // Set value + $cell = $this->getCell(strtoupper($pCoordinate))->setValueExplicit($pValue, $pDataType); + return ($returnCell) ? $cell : $this; + } + + /** + * Set a cell value by using numeric cell coordinates + * + * @param string $pColumn Numeric column coordinate of the cell + * @param string $pRow Numeric row coordinate of the cell + * @param mixed $pValue Value of the cell + * @param string $pDataType Explicit data type + * @param bool $returnCell Return the worksheet (false, default) or the cell (true) + * @return PHPExcel_Worksheet|PHPExcel_Cell Depending on the last parameter being specified + */ + public function setCellValueExplicitByColumnAndRow($pColumn = 0, $pRow = 1, $pValue = null, $pDataType = PHPExcel_Cell_DataType::TYPE_STRING, $returnCell = false) + { + $cell = $this->getCellByColumnAndRow($pColumn, $pRow)->setValueExplicit($pValue, $pDataType); + return ($returnCell) ? $cell : $this; + } + + /** + * Get cell at a specific coordinate + * + * @param string $pCoordinate Coordinate of the cell + * @throws PHPExcel_Exception + * @return PHPExcel_Cell Cell that was found + */ + public function getCell($pCoordinate = 'A1') + { + $pCoordinate = strtoupper($pCoordinate); + // Check cell collection + if ($this->_cellCollection->isDataSet($pCoordinate)) { + return $this->_cellCollection->getCacheData($pCoordinate); + } + + // Worksheet reference? + if (strpos($pCoordinate, '!') !== false) { + $worksheetReference = PHPExcel_Worksheet::extractSheetTitle($pCoordinate, true); + return $this->_parent->getSheetByName($worksheetReference[0])->getCell($worksheetReference[1]); + } + + // Named range? + if ((!preg_match('/^'.PHPExcel_Calculation::CALCULATION_REGEXP_CELLREF.'$/i', $pCoordinate, $matches)) && + (preg_match('/^'.PHPExcel_Calculation::CALCULATION_REGEXP_NAMEDRANGE.'$/i', $pCoordinate, $matches))) { + $namedRange = PHPExcel_NamedRange::resolveRange($pCoordinate, $this); + if ($namedRange !== NULL) { + $pCoordinate = $namedRange->getRange(); + return $namedRange->getWorksheet()->getCell($pCoordinate); + } + } + + // Uppercase coordinate + $pCoordinate = strtoupper($pCoordinate); + + if (strpos($pCoordinate, ':') !== false || strpos($pCoordinate, ',') !== false) { + throw new PHPExcel_Exception('Cell coordinate can not be a range of cells.'); + } elseif (strpos($pCoordinate, '$') !== false) { + throw new PHPExcel_Exception('Cell coordinate must not be absolute.'); + } + + // Create new cell object + return $this->_createNewCell($pCoordinate); + } + + /** + * Get cell at a specific coordinate by using numeric cell coordinates + * + * @param string $pColumn Numeric column coordinate of the cell + * @param string $pRow Numeric row coordinate of the cell + * @return PHPExcel_Cell Cell that was found + */ + public function getCellByColumnAndRow($pColumn = 0, $pRow = 1) + { + $columnLetter = PHPExcel_Cell::stringFromColumnIndex($pColumn); + $coordinate = $columnLetter . $pRow; + + if ($this->_cellCollection->isDataSet($coordinate)) { + return $this->_cellCollection->getCacheData($coordinate); + } + + return $this->_createNewCell($coordinate); + } + + /** + * Create a new cell at the specified coordinate + * + * @param string $pCoordinate Coordinate of the cell + * @return PHPExcel_Cell Cell that was created + */ + private function _createNewCell($pCoordinate) + { + $cell = $this->_cellCollection->addCacheData( + $pCoordinate, + new PHPExcel_Cell( + NULL, + PHPExcel_Cell_DataType::TYPE_NULL, + $this + ) + ); + $this->_cellCollectionIsSorted = false; + + // Coordinates + $aCoordinates = PHPExcel_Cell::coordinateFromString($pCoordinate); + if (PHPExcel_Cell::columnIndexFromString($this->_cachedHighestColumn) < PHPExcel_Cell::columnIndexFromString($aCoordinates[0])) + $this->_cachedHighestColumn = $aCoordinates[0]; + $this->_cachedHighestRow = max($this->_cachedHighestRow, $aCoordinates[1]); + + // Cell needs appropriate xfIndex from dimensions records + // but don't create dimension records if they don't already exist + $rowDimension = $this->getRowDimension($aCoordinates[1], FALSE); + $columnDimension = $this->getColumnDimension($aCoordinates[0], FALSE); + + if ($rowDimension !== NULL && $rowDimension->getXfIndex() > 0) { + // then there is a row dimension with explicit style, assign it to the cell + $cell->setXfIndex($rowDimension->getXfIndex()); + } elseif ($columnDimension !== NULL && $columnDimension->getXfIndex() > 0) { + // then there is a column dimension, assign it to the cell + $cell->setXfIndex($columnDimension->getXfIndex()); + } + + return $cell; + } + + /** + * Does the cell at a specific coordinate exist? + * + * @param string $pCoordinate Coordinate of the cell + * @throws PHPExcel_Exception + * @return boolean + */ + public function cellExists($pCoordinate = 'A1') + { + // Worksheet reference? + if (strpos($pCoordinate, '!') !== false) { + $worksheetReference = PHPExcel_Worksheet::extractSheetTitle($pCoordinate, true); + return $this->_parent->getSheetByName($worksheetReference[0])->cellExists(strtoupper($worksheetReference[1])); + } + + // Named range? + if ((!preg_match('/^'.PHPExcel_Calculation::CALCULATION_REGEXP_CELLREF.'$/i', $pCoordinate, $matches)) && + (preg_match('/^'.PHPExcel_Calculation::CALCULATION_REGEXP_NAMEDRANGE.'$/i', $pCoordinate, $matches))) { + $namedRange = PHPExcel_NamedRange::resolveRange($pCoordinate, $this); + if ($namedRange !== NULL) { + $pCoordinate = $namedRange->getRange(); + if ($this->getHashCode() != $namedRange->getWorksheet()->getHashCode()) { + if (!$namedRange->getLocalOnly()) { + return $namedRange->getWorksheet()->cellExists($pCoordinate); + } else { + throw new PHPExcel_Exception('Named range ' . $namedRange->getName() . ' is not accessible from within sheet ' . $this->getTitle()); + } + } + } + else { return false; } + } + + // Uppercase coordinate + $pCoordinate = strtoupper($pCoordinate); + + if (strpos($pCoordinate,':') !== false || strpos($pCoordinate,',') !== false) { + throw new PHPExcel_Exception('Cell coordinate can not be a range of cells.'); + } elseif (strpos($pCoordinate,'$') !== false) { + throw new PHPExcel_Exception('Cell coordinate must not be absolute.'); + } else { + // Coordinates + $aCoordinates = PHPExcel_Cell::coordinateFromString($pCoordinate); + + // Cell exists? + return $this->_cellCollection->isDataSet($pCoordinate); + } + } + + /** + * Cell at a specific coordinate by using numeric cell coordinates exists? + * + * @param string $pColumn Numeric column coordinate of the cell + * @param string $pRow Numeric row coordinate of the cell + * @return boolean + */ + public function cellExistsByColumnAndRow($pColumn = 0, $pRow = 1) + { + return $this->cellExists(PHPExcel_Cell::stringFromColumnIndex($pColumn) . $pRow); + } + + /** + * Get row dimension at a specific row + * + * @param int $pRow Numeric index of the row + * @return PHPExcel_Worksheet_RowDimension + */ + public function getRowDimension($pRow = 1, $create = TRUE) + { + // Found + $found = null; + + // Get row dimension + if (!isset($this->_rowDimensions[$pRow])) { + if (!$create) + return NULL; + $this->_rowDimensions[$pRow] = new PHPExcel_Worksheet_RowDimension($pRow); + + $this->_cachedHighestRow = max($this->_cachedHighestRow,$pRow); + } + return $this->_rowDimensions[$pRow]; + } + + /** + * Get column dimension at a specific column + * + * @param string $pColumn String index of the column + * @return PHPExcel_Worksheet_ColumnDimension + */ + public function getColumnDimension($pColumn = 'A', $create = TRUE) + { + // Uppercase coordinate + $pColumn = strtoupper($pColumn); + + // Fetch dimensions + if (!isset($this->_columnDimensions[$pColumn])) { + if (!$create) + return NULL; + $this->_columnDimensions[$pColumn] = new PHPExcel_Worksheet_ColumnDimension($pColumn); + + if (PHPExcel_Cell::columnIndexFromString($this->_cachedHighestColumn) < PHPExcel_Cell::columnIndexFromString($pColumn)) + $this->_cachedHighestColumn = $pColumn; + } + return $this->_columnDimensions[$pColumn]; + } + + /** + * Get column dimension at a specific column by using numeric cell coordinates + * + * @param string $pColumn Numeric column coordinate of the cell + * @return PHPExcel_Worksheet_ColumnDimension + */ + public function getColumnDimensionByColumn($pColumn = 0) + { + return $this->getColumnDimension(PHPExcel_Cell::stringFromColumnIndex($pColumn)); + } + + /** + * Get styles + * + * @return PHPExcel_Style[] + */ + public function getStyles() + { + return $this->_styles; + } + + /** + * Get default style of workbook. + * + * @deprecated + * @return PHPExcel_Style + * @throws PHPExcel_Exception + */ + public function getDefaultStyle() + { + return $this->_parent->getDefaultStyle(); + } + + /** + * Set default style - should only be used by PHPExcel_IReader implementations! + * + * @deprecated + * @param PHPExcel_Style $pValue + * @throws PHPExcel_Exception + * @return PHPExcel_Worksheet + */ + public function setDefaultStyle(PHPExcel_Style $pValue) + { + $this->_parent->getDefaultStyle()->applyFromArray(array( + 'font' => array( + 'name' => $pValue->getFont()->getName(), + 'size' => $pValue->getFont()->getSize(), + ), + )); + return $this; + } + + /** + * Get style for cell + * + * @param string $pCellCoordinate Cell coordinate (or range) to get style for + * @return PHPExcel_Style + * @throws PHPExcel_Exception + */ + public function getStyle($pCellCoordinate = 'A1') + { + // set this sheet as active + $this->_parent->setActiveSheetIndex($this->_parent->getIndex($this)); + + // set cell coordinate as active + $this->setSelectedCells(strtoupper($pCellCoordinate)); + + return $this->_parent->getCellXfSupervisor(); + } + + /** + * Get conditional styles for a cell + * + * @param string $pCoordinate + * @return PHPExcel_Style_Conditional[] + */ + public function getConditionalStyles($pCoordinate = 'A1') + { + $pCoordinate = strtoupper($pCoordinate); + if (!isset($this->_conditionalStylesCollection[$pCoordinate])) { + $this->_conditionalStylesCollection[$pCoordinate] = array(); + } + return $this->_conditionalStylesCollection[$pCoordinate]; + } + + /** + * Do conditional styles exist for this cell? + * + * @param string $pCoordinate + * @return boolean + */ + public function conditionalStylesExists($pCoordinate = 'A1') + { + if (isset($this->_conditionalStylesCollection[strtoupper($pCoordinate)])) { + return true; + } + return false; + } + + /** + * Removes conditional styles for a cell + * + * @param string $pCoordinate + * @return PHPExcel_Worksheet + */ + public function removeConditionalStyles($pCoordinate = 'A1') + { + unset($this->_conditionalStylesCollection[strtoupper($pCoordinate)]); + return $this; + } + + /** + * Get collection of conditional styles + * + * @return array + */ + public function getConditionalStylesCollection() + { + return $this->_conditionalStylesCollection; + } + + /** + * Set conditional styles + * + * @param $pCoordinate string E.g. 'A1' + * @param $pValue PHPExcel_Style_Conditional[] + * @return PHPExcel_Worksheet + */ + public function setConditionalStyles($pCoordinate = 'A1', $pValue) + { + $this->_conditionalStylesCollection[strtoupper($pCoordinate)] = $pValue; + return $this; + } + + /** + * Get style for cell by using numeric cell coordinates + * + * @param int $pColumn Numeric column coordinate of the cell + * @param int $pRow Numeric row coordinate of the cell + * @param int pColumn2 Numeric column coordinate of the range cell + * @param int pRow2 Numeric row coordinate of the range cell + * @return PHPExcel_Style + */ + public function getStyleByColumnAndRow($pColumn = 0, $pRow = 1, $pColumn2 = null, $pRow2 = null) + { + if (!is_null($pColumn2) && !is_null($pRow2)) { + $cellRange = PHPExcel_Cell::stringFromColumnIndex($pColumn) . $pRow . ':' . + PHPExcel_Cell::stringFromColumnIndex($pColumn2) . $pRow2; + return $this->getStyle($cellRange); + } + + return $this->getStyle(PHPExcel_Cell::stringFromColumnIndex($pColumn) . $pRow); + } + + /** + * Set shared cell style to a range of cells + * + * Please note that this will overwrite existing cell styles for cells in range! + * + * @deprecated + * @param PHPExcel_Style $pSharedCellStyle Cell style to share + * @param string $pRange Range of cells (i.e. "A1:B10"), or just one cell (i.e. "A1") + * @throws PHPExcel_Exception + * @return PHPExcel_Worksheet + */ + public function setSharedStyle(PHPExcel_Style $pSharedCellStyle = null, $pRange = '') + { + $this->duplicateStyle($pSharedCellStyle, $pRange); + return $this; + } + + /** + * Duplicate cell style to a range of cells + * + * Please note that this will overwrite existing cell styles for cells in range! + * + * @param PHPExcel_Style $pCellStyle Cell style to duplicate + * @param string $pRange Range of cells (i.e. "A1:B10"), or just one cell (i.e. "A1") + * @throws PHPExcel_Exception + * @return PHPExcel_Worksheet + */ + public function duplicateStyle(PHPExcel_Style $pCellStyle = null, $pRange = '') + { + // make sure we have a real style and not supervisor + $style = $pCellStyle->getIsSupervisor() ? $pCellStyle->getSharedComponent() : $pCellStyle; + + // Add the style to the workbook if necessary + $workbook = $this->_parent; + if ($existingStyle = $this->_parent->getCellXfByHashCode($pCellStyle->getHashCode())) { + // there is already such cell Xf in our collection + $xfIndex = $existingStyle->getIndex(); + } else { + // we don't have such a cell Xf, need to add + $workbook->addCellXf($pCellStyle); + $xfIndex = $pCellStyle->getIndex(); + } + + // Calculate range outer borders + list($rangeStart, $rangeEnd) = PHPExcel_Cell::rangeBoundaries($pRange . ':' . $pRange); + + // Make sure we can loop upwards on rows and columns + if ($rangeStart[0] > $rangeEnd[0] && $rangeStart[1] > $rangeEnd[1]) { + $tmp = $rangeStart; + $rangeStart = $rangeEnd; + $rangeEnd = $tmp; + } + + // Loop through cells and apply styles + for ($col = $rangeStart[0]; $col <= $rangeEnd[0]; ++$col) { + for ($row = $rangeStart[1]; $row <= $rangeEnd[1]; ++$row) { + $this->getCell(PHPExcel_Cell::stringFromColumnIndex($col - 1) . $row)->setXfIndex($xfIndex); + } + } + + return $this; + } + + /** + * Duplicate conditional style to a range of cells + * + * Please note that this will overwrite existing cell styles for cells in range! + * + * @param array of PHPExcel_Style_Conditional $pCellStyle Cell style to duplicate + * @param string $pRange Range of cells (i.e. "A1:B10"), or just one cell (i.e. "A1") + * @throws PHPExcel_Exception + * @return PHPExcel_Worksheet + */ + public function duplicateConditionalStyle(array $pCellStyle = null, $pRange = '') + { + foreach($pCellStyle as $cellStyle) { + if (!($cellStyle instanceof PHPExcel_Style_Conditional)) { + throw new PHPExcel_Exception('Style is not a conditional style'); + } + } + + // Calculate range outer borders + list($rangeStart, $rangeEnd) = PHPExcel_Cell::rangeBoundaries($pRange . ':' . $pRange); + + // Make sure we can loop upwards on rows and columns + if ($rangeStart[0] > $rangeEnd[0] && $rangeStart[1] > $rangeEnd[1]) { + $tmp = $rangeStart; + $rangeStart = $rangeEnd; + $rangeEnd = $tmp; + } + + // Loop through cells and apply styles + for ($col = $rangeStart[0]; $col <= $rangeEnd[0]; ++$col) { + for ($row = $rangeStart[1]; $row <= $rangeEnd[1]; ++$row) { + $this->setConditionalStyles(PHPExcel_Cell::stringFromColumnIndex($col - 1) . $row, $pCellStyle); + } + } + + return $this; + } + + /** + * Duplicate cell style array to a range of cells + * + * Please note that this will overwrite existing cell styles for cells in range, + * if they are in the styles array. For example, if you decide to set a range of + * cells to font bold, only include font bold in the styles array. + * + * @deprecated + * @param array $pStyles Array containing style information + * @param string $pRange Range of cells (i.e. "A1:B10"), or just one cell (i.e. "A1") + * @param boolean $pAdvanced Advanced mode for setting borders. + * @throws PHPExcel_Exception + * @return PHPExcel_Worksheet + */ + public function duplicateStyleArray($pStyles = null, $pRange = '', $pAdvanced = true) + { + $this->getStyle($pRange)->applyFromArray($pStyles, $pAdvanced); + return $this; + } + + /** + * Set break on a cell + * + * @param string $pCell Cell coordinate (e.g. A1) + * @param int $pBreak Break type (type of PHPExcel_Worksheet::BREAK_*) + * @throws PHPExcel_Exception + * @return PHPExcel_Worksheet + */ + public function setBreak($pCell = 'A1', $pBreak = PHPExcel_Worksheet::BREAK_NONE) + { + // Uppercase coordinate + $pCell = strtoupper($pCell); + + if ($pCell != '') { + if ($pBreak == PHPExcel_Worksheet::BREAK_NONE) { + if (isset($this->_breaks[$pCell])) { + unset($this->_breaks[$pCell]); + } + } else { + $this->_breaks[$pCell] = $pBreak; + } + } else { + throw new PHPExcel_Exception('No cell coordinate specified.'); + } + + return $this; + } + + /** + * Set break on a cell by using numeric cell coordinates + * + * @param integer $pColumn Numeric column coordinate of the cell + * @param integer $pRow Numeric row coordinate of the cell + * @param integer $pBreak Break type (type of PHPExcel_Worksheet::BREAK_*) + * @return PHPExcel_Worksheet + */ + public function setBreakByColumnAndRow($pColumn = 0, $pRow = 1, $pBreak = PHPExcel_Worksheet::BREAK_NONE) + { + return $this->setBreak(PHPExcel_Cell::stringFromColumnIndex($pColumn) . $pRow, $pBreak); + } + + /** + * Get breaks + * + * @return array[] + */ + public function getBreaks() + { + return $this->_breaks; + } + + /** + * Set merge on a cell range + * + * @param string $pRange Cell range (e.g. A1:E1) + * @throws PHPExcel_Exception + * @return PHPExcel_Worksheet + */ + public function mergeCells($pRange = 'A1:A1') + { + // Uppercase coordinate + $pRange = strtoupper($pRange); + + if (strpos($pRange,':') !== false) { + $this->_mergeCells[$pRange] = $pRange; + + // make sure cells are created + + // get the cells in the range + $aReferences = PHPExcel_Cell::extractAllCellReferencesInRange($pRange); + + // create upper left cell if it does not already exist + $upperLeft = $aReferences[0]; + if (!$this->cellExists($upperLeft)) { + $this->getCell($upperLeft)->setValueExplicit(null, PHPExcel_Cell_DataType::TYPE_NULL); + } + + // create or blank out the rest of the cells in the range + $count = count($aReferences); + for ($i = 1; $i < $count; $i++) { + $this->getCell($aReferences[$i])->setValueExplicit(null, PHPExcel_Cell_DataType::TYPE_NULL); + } + + } else { + throw new PHPExcel_Exception('Merge must be set on a range of cells.'); + } + + return $this; + } + + /** + * Set merge on a cell range by using numeric cell coordinates + * + * @param int $pColumn1 Numeric column coordinate of the first cell + * @param int $pRow1 Numeric row coordinate of the first cell + * @param int $pColumn2 Numeric column coordinate of the last cell + * @param int $pRow2 Numeric row coordinate of the last cell + * @throws PHPExcel_Exception + * @return PHPExcel_Worksheet + */ + public function mergeCellsByColumnAndRow($pColumn1 = 0, $pRow1 = 1, $pColumn2 = 0, $pRow2 = 1) + { + $cellRange = PHPExcel_Cell::stringFromColumnIndex($pColumn1) . $pRow1 . ':' . PHPExcel_Cell::stringFromColumnIndex($pColumn2) . $pRow2; + return $this->mergeCells($cellRange); + } + + /** + * Remove merge on a cell range + * + * @param string $pRange Cell range (e.g. A1:E1) + * @throws PHPExcel_Exception + * @return PHPExcel_Worksheet + */ + public function unmergeCells($pRange = 'A1:A1') + { + // Uppercase coordinate + $pRange = strtoupper($pRange); + + if (strpos($pRange,':') !== false) { + if (isset($this->_mergeCells[$pRange])) { + unset($this->_mergeCells[$pRange]); + } else { + throw new PHPExcel_Exception('Cell range ' . $pRange . ' not known as merged.'); + } + } else { + throw new PHPExcel_Exception('Merge can only be removed from a range of cells.'); + } + + return $this; + } + + /** + * Remove merge on a cell range by using numeric cell coordinates + * + * @param int $pColumn1 Numeric column coordinate of the first cell + * @param int $pRow1 Numeric row coordinate of the first cell + * @param int $pColumn2 Numeric column coordinate of the last cell + * @param int $pRow2 Numeric row coordinate of the last cell + * @throws PHPExcel_Exception + * @return PHPExcel_Worksheet + */ + public function unmergeCellsByColumnAndRow($pColumn1 = 0, $pRow1 = 1, $pColumn2 = 0, $pRow2 = 1) + { + $cellRange = PHPExcel_Cell::stringFromColumnIndex($pColumn1) . $pRow1 . ':' . PHPExcel_Cell::stringFromColumnIndex($pColumn2) . $pRow2; + return $this->unmergeCells($cellRange); + } + + /** + * Get merge cells array. + * + * @return array[] + */ + public function getMergeCells() + { + return $this->_mergeCells; + } + + /** + * Set merge cells array for the entire sheet. Use instead mergeCells() to merge + * a single cell range. + * + * @param array + */ + public function setMergeCells($pValue = array()) + { + $this->_mergeCells = $pValue; + + return $this; + } + + /** + * Set protection on a cell range + * + * @param string $pRange Cell (e.g. A1) or cell range (e.g. A1:E1) + * @param string $pPassword Password to unlock the protection + * @param boolean $pAlreadyHashed If the password has already been hashed, set this to true + * @throws PHPExcel_Exception + * @return PHPExcel_Worksheet + */ + public function protectCells($pRange = 'A1', $pPassword = '', $pAlreadyHashed = false) + { + // Uppercase coordinate + $pRange = strtoupper($pRange); + + if (!$pAlreadyHashed) { + $pPassword = PHPExcel_Shared_PasswordHasher::hashPassword($pPassword); + } + $this->_protectedCells[$pRange] = $pPassword; + + return $this; + } + + /** + * Set protection on a cell range by using numeric cell coordinates + * + * @param int $pColumn1 Numeric column coordinate of the first cell + * @param int $pRow1 Numeric row coordinate of the first cell + * @param int $pColumn2 Numeric column coordinate of the last cell + * @param int $pRow2 Numeric row coordinate of the last cell + * @param string $pPassword Password to unlock the protection + * @param boolean $pAlreadyHashed If the password has already been hashed, set this to true + * @throws PHPExcel_Exception + * @return PHPExcel_Worksheet + */ + public function protectCellsByColumnAndRow($pColumn1 = 0, $pRow1 = 1, $pColumn2 = 0, $pRow2 = 1, $pPassword = '', $pAlreadyHashed = false) + { + $cellRange = PHPExcel_Cell::stringFromColumnIndex($pColumn1) . $pRow1 . ':' . PHPExcel_Cell::stringFromColumnIndex($pColumn2) . $pRow2; + return $this->protectCells($cellRange, $pPassword, $pAlreadyHashed); + } + + /** + * Remove protection on a cell range + * + * @param string $pRange Cell (e.g. A1) or cell range (e.g. A1:E1) + * @throws PHPExcel_Exception + * @return PHPExcel_Worksheet + */ + public function unprotectCells($pRange = 'A1') + { + // Uppercase coordinate + $pRange = strtoupper($pRange); + + if (isset($this->_protectedCells[$pRange])) { + unset($this->_protectedCells[$pRange]); + } else { + throw new PHPExcel_Exception('Cell range ' . $pRange . ' not known as protected.'); + } + return $this; + } + + /** + * Remove protection on a cell range by using numeric cell coordinates + * + * @param int $pColumn1 Numeric column coordinate of the first cell + * @param int $pRow1 Numeric row coordinate of the first cell + * @param int $pColumn2 Numeric column coordinate of the last cell + * @param int $pRow2 Numeric row coordinate of the last cell + * @param string $pPassword Password to unlock the protection + * @param boolean $pAlreadyHashed If the password has already been hashed, set this to true + * @throws PHPExcel_Exception + * @return PHPExcel_Worksheet + */ + public function unprotectCellsByColumnAndRow($pColumn1 = 0, $pRow1 = 1, $pColumn2 = 0, $pRow2 = 1, $pPassword = '', $pAlreadyHashed = false) + { + $cellRange = PHPExcel_Cell::stringFromColumnIndex($pColumn1) . $pRow1 . ':' . PHPExcel_Cell::stringFromColumnIndex($pColumn2) . $pRow2; + return $this->unprotectCells($cellRange, $pPassword, $pAlreadyHashed); + } + + /** + * Get protected cells + * + * @return array[] + */ + public function getProtectedCells() + { + return $this->_protectedCells; + } + + /** + * Get Autofilter + * + * @return PHPExcel_Worksheet_AutoFilter + */ + public function getAutoFilter() + { + return $this->_autoFilter; + } + + /** + * Set AutoFilter + * + * @param PHPExcel_Worksheet_AutoFilter|string $pValue + * A simple string containing a Cell range like 'A1:E10' is permitted for backward compatibility + * @throws PHPExcel_Exception + * @return PHPExcel_Worksheet + */ + public function setAutoFilter($pValue) + { + $pRange = strtoupper($pValue); + + if (is_string($pValue)) { + $this->_autoFilter->setRange($pValue); + } elseif(is_object($pValue) && ($pValue instanceof PHPExcel_Worksheet_AutoFilter)) { + $this->_autoFilter = $pValue; + } + return $this; + } + + /** + * Set Autofilter Range by using numeric cell coordinates + * + * @param integer $pColumn1 Numeric column coordinate of the first cell + * @param integer $pRow1 Numeric row coordinate of the first cell + * @param integer $pColumn2 Numeric column coordinate of the second cell + * @param integer $pRow2 Numeric row coordinate of the second cell + * @throws PHPExcel_Exception + * @return PHPExcel_Worksheet + */ + public function setAutoFilterByColumnAndRow($pColumn1 = 0, $pRow1 = 1, $pColumn2 = 0, $pRow2 = 1) + { + return $this->setAutoFilter( + PHPExcel_Cell::stringFromColumnIndex($pColumn1) . $pRow1 + . ':' . + PHPExcel_Cell::stringFromColumnIndex($pColumn2) . $pRow2 + ); + } + + /** + * Remove autofilter + * + * @return PHPExcel_Worksheet + */ + public function removeAutoFilter() + { + $this->_autoFilter->setRange(NULL); + return $this; + } + + /** + * Get Freeze Pane + * + * @return string + */ + public function getFreezePane() + { + return $this->_freezePane; + } + + /** + * Freeze Pane + * + * @param string $pCell Cell (i.e. A2) + * Examples: + * A2 will freeze the rows above cell A2 (i.e row 1) + * B1 will freeze the columns to the left of cell B1 (i.e column A) + * B2 will freeze the rows above and to the left of cell A2 + * (i.e row 1 and column A) + * @throws PHPExcel_Exception + * @return PHPExcel_Worksheet + */ + public function freezePane($pCell = '') + { + // Uppercase coordinate + $pCell = strtoupper($pCell); + + if (strpos($pCell,':') === false && strpos($pCell,',') === false) { + $this->_freezePane = $pCell; + } else { + throw new PHPExcel_Exception('Freeze pane can not be set on a range of cells.'); + } + return $this; + } + + /** + * Freeze Pane by using numeric cell coordinates + * + * @param int $pColumn Numeric column coordinate of the cell + * @param int $pRow Numeric row coordinate of the cell + * @throws PHPExcel_Exception + * @return PHPExcel_Worksheet + */ + public function freezePaneByColumnAndRow($pColumn = 0, $pRow = 1) + { + return $this->freezePane(PHPExcel_Cell::stringFromColumnIndex($pColumn) . $pRow); + } + + /** + * Unfreeze Pane + * + * @return PHPExcel_Worksheet + */ + public function unfreezePane() + { + return $this->freezePane(''); + } + + /** + * Insert a new row, updating all possible related data + * + * @param int $pBefore Insert before this one + * @param int $pNumRows Number of rows to insert + * @throws PHPExcel_Exception + * @return PHPExcel_Worksheet + */ + public function insertNewRowBefore($pBefore = 1, $pNumRows = 1) { + if ($pBefore >= 1) { + $objReferenceHelper = PHPExcel_ReferenceHelper::getInstance(); + $objReferenceHelper->insertNewBefore('A' . $pBefore, 0, $pNumRows, $this); + } else { + throw new PHPExcel_Exception("Rows can only be inserted before at least row 1."); + } + return $this; + } + + /** + * Insert a new column, updating all possible related data + * + * @param int $pBefore Insert before this one + * @param int $pNumCols Number of columns to insert + * @throws PHPExcel_Exception + * @return PHPExcel_Worksheet + */ + public function insertNewColumnBefore($pBefore = 'A', $pNumCols = 1) { + if (!is_numeric($pBefore)) { + $objReferenceHelper = PHPExcel_ReferenceHelper::getInstance(); + $objReferenceHelper->insertNewBefore($pBefore . '1', $pNumCols, 0, $this); + } else { + throw new PHPExcel_Exception("Column references should not be numeric."); + } + return $this; + } + + /** + * Insert a new column, updating all possible related data + * + * @param int $pBefore Insert before this one (numeric column coordinate of the cell) + * @param int $pNumCols Number of columns to insert + * @throws PHPExcel_Exception + * @return PHPExcel_Worksheet + */ + public function insertNewColumnBeforeByIndex($pBefore = 0, $pNumCols = 1) { + if ($pBefore >= 0) { + return $this->insertNewColumnBefore(PHPExcel_Cell::stringFromColumnIndex($pBefore), $pNumCols); + } else { + throw new PHPExcel_Exception("Columns can only be inserted before at least column A (0)."); + } + } + + /** + * Delete a row, updating all possible related data + * + * @param int $pRow Remove starting with this one + * @param int $pNumRows Number of rows to remove + * @throws PHPExcel_Exception + * @return PHPExcel_Worksheet + */ + public function removeRow($pRow = 1, $pNumRows = 1) { + if ($pRow >= 1) { + $highestRow = $this->getHighestDataRow(); + $objReferenceHelper = PHPExcel_ReferenceHelper::getInstance(); + $objReferenceHelper->insertNewBefore('A' . ($pRow + $pNumRows), 0, -$pNumRows, $this); + for($r = 0; $r < $pNumRows; ++$r) { + $this->getCellCacheController()->removeRow($highestRow); + --$highestRow; + } + } else { + throw new PHPExcel_Exception("Rows to be deleted should at least start from row 1."); + } + return $this; + } + + /** + * Remove a column, updating all possible related data + * + * @param string $pColumn Remove starting with this one + * @param int $pNumCols Number of columns to remove + * @throws PHPExcel_Exception + * @return PHPExcel_Worksheet + */ + public function removeColumn($pColumn = 'A', $pNumCols = 1) { + if (!is_numeric($pColumn)) { + $highestColumn = $this->getHighestDataColumn(); + $pColumn = PHPExcel_Cell::stringFromColumnIndex(PHPExcel_Cell::columnIndexFromString($pColumn) - 1 + $pNumCols); + $objReferenceHelper = PHPExcel_ReferenceHelper::getInstance(); + $objReferenceHelper->insertNewBefore($pColumn . '1', -$pNumCols, 0, $this); + for($c = 0; $c < $pNumCols; ++$c) { + $this->getCellCacheController()->removeColumn($highestColumn); + $highestColumn = PHPExcel_Cell::stringFromColumnIndex(PHPExcel_Cell::columnIndexFromString($highestColumn) - 2); + } + } else { + throw new PHPExcel_Exception("Column references should not be numeric."); + } + return $this; + } + + /** + * Remove a column, updating all possible related data + * + * @param int $pColumn Remove starting with this one (numeric column coordinate of the cell) + * @param int $pNumCols Number of columns to remove + * @throws PHPExcel_Exception + * @return PHPExcel_Worksheet + */ + public function removeColumnByIndex($pColumn = 0, $pNumCols = 1) { + if ($pColumn >= 0) { + return $this->removeColumn(PHPExcel_Cell::stringFromColumnIndex($pColumn), $pNumCols); + } else { + throw new PHPExcel_Exception("Columns to be deleted should at least start from column 0"); + } + } + + /** + * Show gridlines? + * + * @return boolean + */ + public function getShowGridlines() { + return $this->_showGridlines; + } + + /** + * Set show gridlines + * + * @param boolean $pValue Show gridlines (true/false) + * @return PHPExcel_Worksheet + */ + public function setShowGridlines($pValue = false) { + $this->_showGridlines = $pValue; + return $this; + } + + /** + * Print gridlines? + * + * @return boolean + */ + public function getPrintGridlines() { + return $this->_printGridlines; + } + + /** + * Set print gridlines + * + * @param boolean $pValue Print gridlines (true/false) + * @return PHPExcel_Worksheet + */ + public function setPrintGridlines($pValue = false) { + $this->_printGridlines = $pValue; + return $this; + } + + /** + * Show row and column headers? + * + * @return boolean + */ + public function getShowRowColHeaders() { + return $this->_showRowColHeaders; + } + + /** + * Set show row and column headers + * + * @param boolean $pValue Show row and column headers (true/false) + * @return PHPExcel_Worksheet + */ + public function setShowRowColHeaders($pValue = false) { + $this->_showRowColHeaders = $pValue; + return $this; + } + + /** + * Show summary below? (Row/Column outlining) + * + * @return boolean + */ + public function getShowSummaryBelow() { + return $this->_showSummaryBelow; + } + + /** + * Set show summary below + * + * @param boolean $pValue Show summary below (true/false) + * @return PHPExcel_Worksheet + */ + public function setShowSummaryBelow($pValue = true) { + $this->_showSummaryBelow = $pValue; + return $this; + } + + /** + * Show summary right? (Row/Column outlining) + * + * @return boolean + */ + public function getShowSummaryRight() { + return $this->_showSummaryRight; + } + + /** + * Set show summary right + * + * @param boolean $pValue Show summary right (true/false) + * @return PHPExcel_Worksheet + */ + public function setShowSummaryRight($pValue = true) { + $this->_showSummaryRight = $pValue; + return $this; + } + + /** + * Get comments + * + * @return PHPExcel_Comment[] + */ + public function getComments() + { + return $this->_comments; + } + + /** + * Set comments array for the entire sheet. + * + * @param array of PHPExcel_Comment + * @return PHPExcel_Worksheet + */ + public function setComments($pValue = array()) + { + $this->_comments = $pValue; + + return $this; + } + + /** + * Get comment for cell + * + * @param string $pCellCoordinate Cell coordinate to get comment for + * @return PHPExcel_Comment + * @throws PHPExcel_Exception + */ + public function getComment($pCellCoordinate = 'A1') + { + // Uppercase coordinate + $pCellCoordinate = strtoupper($pCellCoordinate); + + if (strpos($pCellCoordinate,':') !== false || strpos($pCellCoordinate,',') !== false) { + throw new PHPExcel_Exception('Cell coordinate string can not be a range of cells.'); + } else if (strpos($pCellCoordinate,'$') !== false) { + throw new PHPExcel_Exception('Cell coordinate string must not be absolute.'); + } else if ($pCellCoordinate == '') { + throw new PHPExcel_Exception('Cell coordinate can not be zero-length string.'); + } else { + // Check if we already have a comment for this cell. + // If not, create a new comment. + if (isset($this->_comments[$pCellCoordinate])) { + return $this->_comments[$pCellCoordinate]; + } else { + $newComment = new PHPExcel_Comment(); + $this->_comments[$pCellCoordinate] = $newComment; + return $newComment; + } + } + } + + /** + * Get comment for cell by using numeric cell coordinates + * + * @param int $pColumn Numeric column coordinate of the cell + * @param int $pRow Numeric row coordinate of the cell + * @return PHPExcel_Comment + */ + public function getCommentByColumnAndRow($pColumn = 0, $pRow = 1) + { + return $this->getComment(PHPExcel_Cell::stringFromColumnIndex($pColumn) . $pRow); + } + + /** + * Get selected cell + * + * @deprecated + * @return string + */ + public function getSelectedCell() + { + return $this->getSelectedCells(); + } + + /** + * Get active cell + * + * @return string Example: 'A1' + */ + public function getActiveCell() + { + return $this->_activeCell; + } + + /** + * Get selected cells + * + * @return string + */ + public function getSelectedCells() + { + return $this->_selectedCells; + } + + /** + * Selected cell + * + * @param string $pCoordinate Cell (i.e. A1) + * @return PHPExcel_Worksheet + */ + public function setSelectedCell($pCoordinate = 'A1') + { + return $this->setSelectedCells($pCoordinate); + } + + /** + * Select a range of cells. + * + * @param string $pCoordinate Cell range, examples: 'A1', 'B2:G5', 'A:C', '3:6' + * @throws PHPExcel_Exception + * @return PHPExcel_Worksheet + */ + public function setSelectedCells($pCoordinate = 'A1') + { + // Uppercase coordinate + $pCoordinate = strtoupper($pCoordinate); + + // Convert 'A' to 'A:A' + $pCoordinate = preg_replace('/^([A-Z]+)$/', '${1}:${1}', $pCoordinate); + + // Convert '1' to '1:1' + $pCoordinate = preg_replace('/^([0-9]+)$/', '${1}:${1}', $pCoordinate); + + // Convert 'A:C' to 'A1:C1048576' + $pCoordinate = preg_replace('/^([A-Z]+):([A-Z]+)$/', '${1}1:${2}1048576', $pCoordinate); + + // Convert '1:3' to 'A1:XFD3' + $pCoordinate = preg_replace('/^([0-9]+):([0-9]+)$/', 'A${1}:XFD${2}', $pCoordinate); + + if (strpos($pCoordinate,':') !== false || strpos($pCoordinate,',') !== false) { + list($first, ) = PHPExcel_Cell::splitRange($pCoordinate); + $this->_activeCell = $first[0]; + } else { + $this->_activeCell = $pCoordinate; + } + $this->_selectedCells = $pCoordinate; + return $this; + } + + /** + * Selected cell by using numeric cell coordinates + * + * @param int $pColumn Numeric column coordinate of the cell + * @param int $pRow Numeric row coordinate of the cell + * @throws PHPExcel_Exception + * @return PHPExcel_Worksheet + */ + public function setSelectedCellByColumnAndRow($pColumn = 0, $pRow = 1) + { + return $this->setSelectedCells(PHPExcel_Cell::stringFromColumnIndex($pColumn) . $pRow); + } + + /** + * Get right-to-left + * + * @return boolean + */ + public function getRightToLeft() { + return $this->_rightToLeft; + } + + /** + * Set right-to-left + * + * @param boolean $value Right-to-left true/false + * @return PHPExcel_Worksheet + */ + public function setRightToLeft($value = false) { + $this->_rightToLeft = $value; + return $this; + } + + /** + * Fill worksheet from values in array + * + * @param array $source Source array + * @param mixed $nullValue Value in source array that stands for blank cell + * @param string $startCell Insert array starting from this cell address as the top left coordinate + * @param boolean $strictNullComparison Apply strict comparison when testing for null values in the array + * @throws PHPExcel_Exception + * @return PHPExcel_Worksheet + */ + public function fromArray($source = null, $nullValue = null, $startCell = 'A1', $strictNullComparison = false) { + if (is_array($source)) { + // Convert a 1-D array to 2-D (for ease of looping) + if (!is_array(end($source))) { + $source = array($source); + } + + // start coordinate + list ($startColumn, $startRow) = PHPExcel_Cell::coordinateFromString($startCell); + + // Loop through $source + foreach ($source as $rowData) { + $currentColumn = $startColumn; + foreach($rowData as $cellValue) { + if ($strictNullComparison) { + if ($cellValue !== $nullValue) { + // Set cell value + $this->getCell($currentColumn . $startRow)->setValue($cellValue); + } + } else { + if ($cellValue != $nullValue) { + // Set cell value + $this->getCell($currentColumn . $startRow)->setValue($cellValue); + } + } + ++$currentColumn; + } + ++$startRow; + } + } else { + throw new PHPExcel_Exception("Parameter \$source should be an array."); + } + return $this; + } + + /** + * Create array from a range of cells + * + * @param string $pRange Range of cells (i.e. "A1:B10"), or just one cell (i.e. "A1") + * @param mixed $nullValue Value returned in the array entry if a cell doesn't exist + * @param boolean $calculateFormulas Should formulas be calculated? + * @param boolean $formatData Should formatting be applied to cell values? + * @param boolean $returnCellRef False - Return a simple array of rows and columns indexed by number counting from zero + * True - Return rows and columns indexed by their actual row and column IDs + * @return array + */ + public function rangeToArray($pRange = 'A1', $nullValue = null, $calculateFormulas = true, $formatData = true, $returnCellRef = false) { + // Returnvalue + $returnValue = array(); + // Identify the range that we need to extract from the worksheet + list($rangeStart, $rangeEnd) = PHPExcel_Cell::rangeBoundaries($pRange); + $minCol = PHPExcel_Cell::stringFromColumnIndex($rangeStart[0] -1); + $minRow = $rangeStart[1]; + $maxCol = PHPExcel_Cell::stringFromColumnIndex($rangeEnd[0] -1); + $maxRow = $rangeEnd[1]; + + $maxCol++; + // Loop through rows + $r = -1; + for ($row = $minRow; $row <= $maxRow; ++$row) { + $rRef = ($returnCellRef) ? $row : ++$r; + $c = -1; + // Loop through columns in the current row + for ($col = $minCol; $col != $maxCol; ++$col) { + $cRef = ($returnCellRef) ? $col : ++$c; + // Using getCell() will create a new cell if it doesn't already exist. We don't want that to happen + // so we test and retrieve directly against _cellCollection + if ($this->_cellCollection->isDataSet($col.$row)) { + // Cell exists + $cell = $this->_cellCollection->getCacheData($col.$row); + if ($cell->getValue() !== null) { + if ($cell->getValue() instanceof PHPExcel_RichText) { + $returnValue[$rRef][$cRef] = $cell->getValue()->getPlainText(); + } else { + if ($calculateFormulas) { + $returnValue[$rRef][$cRef] = $cell->getCalculatedValue(); + } else { + $returnValue[$rRef][$cRef] = $cell->getValue(); + } + } + + if ($formatData) { + $style = $this->_parent->getCellXfByIndex($cell->getXfIndex()); + $returnValue[$rRef][$cRef] = PHPExcel_Style_NumberFormat::toFormattedString( + $returnValue[$rRef][$cRef], + ($style && $style->getNumberFormat()) ? + $style->getNumberFormat()->getFormatCode() : + PHPExcel_Style_NumberFormat::FORMAT_GENERAL + ); + } + } else { + // Cell holds a NULL + $returnValue[$rRef][$cRef] = $nullValue; + } + } else { + // Cell doesn't exist + $returnValue[$rRef][$cRef] = $nullValue; + } + } + } + + // Return + return $returnValue; + } + + + /** + * Create array from a range of cells + * + * @param string $pNamedRange Name of the Named Range + * @param mixed $nullValue Value returned in the array entry if a cell doesn't exist + * @param boolean $calculateFormulas Should formulas be calculated? + * @param boolean $formatData Should formatting be applied to cell values? + * @param boolean $returnCellRef False - Return a simple array of rows and columns indexed by number counting from zero + * True - Return rows and columns indexed by their actual row and column IDs + * @return array + * @throws PHPExcel_Exception + */ + public function namedRangeToArray($pNamedRange = '', $nullValue = null, $calculateFormulas = true, $formatData = true, $returnCellRef = false) { + $namedRange = PHPExcel_NamedRange::resolveRange($pNamedRange, $this); + if ($namedRange !== NULL) { + $pWorkSheet = $namedRange->getWorksheet(); + $pCellRange = $namedRange->getRange(); + + return $pWorkSheet->rangeToArray( $pCellRange, + $nullValue, $calculateFormulas, $formatData, $returnCellRef); + } + + throw new PHPExcel_Exception('Named Range '.$pNamedRange.' does not exist.'); + } + + + /** + * Create array from worksheet + * + * @param mixed $nullValue Value returned in the array entry if a cell doesn't exist + * @param boolean $calculateFormulas Should formulas be calculated? + * @param boolean $formatData Should formatting be applied to cell values? + * @param boolean $returnCellRef False - Return a simple array of rows and columns indexed by number counting from zero + * True - Return rows and columns indexed by their actual row and column IDs + * @return array + */ + public function toArray($nullValue = null, $calculateFormulas = true, $formatData = true, $returnCellRef = false) { + // Garbage collect... + $this->garbageCollect(); + + // Identify the range that we need to extract from the worksheet + $maxCol = $this->getHighestColumn(); + $maxRow = $this->getHighestRow(); + // Return + return $this->rangeToArray( 'A1:'.$maxCol.$maxRow, + $nullValue, $calculateFormulas, $formatData, $returnCellRef); + } + + /** + * Get row iterator + * + * @param integer $startRow The row number at which to start iterating + * @param integer $endRow The row number at which to stop iterating + * + * @return PHPExcel_Worksheet_RowIterator + */ + public function getRowIterator($startRow = 1, $endRow = null) { + return new PHPExcel_Worksheet_RowIterator($this, $startRow, $endRow); + } + + /** + * Get column iterator + * + * @param string $startColumn The column address at which to start iterating + * @param string $endColumn The column address at which to stop iterating + * + * @return PHPExcel_Worksheet_ColumnIterator + */ + public function getColumnIterator($startColumn = 'A', $endColumn = null) { + return new PHPExcel_Worksheet_ColumnIterator($this, $startColumn, $endColumn); + } + + /** + * Run PHPExcel garabage collector. + * + * @return PHPExcel_Worksheet + */ + public function garbageCollect() { + // Flush cache + $this->_cellCollection->getCacheData('A1'); + // Build a reference table from images +// $imageCoordinates = array(); +// $iterator = $this->getDrawingCollection()->getIterator(); +// while ($iterator->valid()) { +// $imageCoordinates[$iterator->current()->getCoordinates()] = true; +// +// $iterator->next(); +// } +// + // Lookup highest column and highest row if cells are cleaned + $colRow = $this->_cellCollection->getHighestRowAndColumn(); + $highestRow = $colRow['row']; + $highestColumn = PHPExcel_Cell::columnIndexFromString($colRow['column']); + + // Loop through column dimensions + foreach ($this->_columnDimensions as $dimension) { + $highestColumn = max($highestColumn,PHPExcel_Cell::columnIndexFromString($dimension->getColumnIndex())); + } + + // Loop through row dimensions + foreach ($this->_rowDimensions as $dimension) { + $highestRow = max($highestRow,$dimension->getRowIndex()); + } + + // Cache values + if ($highestColumn < 0) { + $this->_cachedHighestColumn = 'A'; + } else { + $this->_cachedHighestColumn = PHPExcel_Cell::stringFromColumnIndex(--$highestColumn); + } + $this->_cachedHighestRow = $highestRow; + + // Return + return $this; + } + + /** + * Get hash code + * + * @return string Hash code + */ + public function getHashCode() { + if ($this->_dirty) { + $this->_hash = md5( $this->_title . + $this->_autoFilter . + ($this->_protection->isProtectionEnabled() ? 't' : 'f') . + __CLASS__ + ); + $this->_dirty = false; + } + return $this->_hash; + } + + /** + * Extract worksheet title from range. + * + * Example: extractSheetTitle("testSheet!A1") ==> 'A1' + * Example: extractSheetTitle("'testSheet 1'!A1", true) ==> array('testSheet 1', 'A1'); + * + * @param string $pRange Range to extract title from + * @param bool $returnRange Return range? (see example) + * @return mixed + */ + public static function extractSheetTitle($pRange, $returnRange = false) { + // Sheet title included? + if (($sep = strpos($pRange, '!')) === false) { + return ''; + } + + if ($returnRange) { + return array( trim(substr($pRange, 0, $sep),"'"), + substr($pRange, $sep + 1) + ); + } + + return substr($pRange, $sep + 1); + } + + /** + * Get hyperlink + * + * @param string $pCellCoordinate Cell coordinate to get hyperlink for + */ + public function getHyperlink($pCellCoordinate = 'A1') + { + // return hyperlink if we already have one + if (isset($this->_hyperlinkCollection[$pCellCoordinate])) { + return $this->_hyperlinkCollection[$pCellCoordinate]; + } + + // else create hyperlink + $this->_hyperlinkCollection[$pCellCoordinate] = new PHPExcel_Cell_Hyperlink(); + return $this->_hyperlinkCollection[$pCellCoordinate]; + } + + /** + * Set hyperlnk + * + * @param string $pCellCoordinate Cell coordinate to insert hyperlink + * @param PHPExcel_Cell_Hyperlink $pHyperlink + * @return PHPExcel_Worksheet + */ + public function setHyperlink($pCellCoordinate = 'A1', PHPExcel_Cell_Hyperlink $pHyperlink = null) + { + if ($pHyperlink === null) { + unset($this->_hyperlinkCollection[$pCellCoordinate]); + } else { + $this->_hyperlinkCollection[$pCellCoordinate] = $pHyperlink; + } + return $this; + } + + /** + * Hyperlink at a specific coordinate exists? + * + * @param string $pCoordinate + * @return boolean + */ + public function hyperlinkExists($pCoordinate = 'A1') + { + return isset($this->_hyperlinkCollection[$pCoordinate]); + } + + /** + * Get collection of hyperlinks + * + * @return PHPExcel_Cell_Hyperlink[] + */ + public function getHyperlinkCollection() + { + return $this->_hyperlinkCollection; + } + + /** + * Get data validation + * + * @param string $pCellCoordinate Cell coordinate to get data validation for + */ + public function getDataValidation($pCellCoordinate = 'A1') + { + // return data validation if we already have one + if (isset($this->_dataValidationCollection[$pCellCoordinate])) { + return $this->_dataValidationCollection[$pCellCoordinate]; + } + + // else create data validation + $this->_dataValidationCollection[$pCellCoordinate] = new PHPExcel_Cell_DataValidation(); + return $this->_dataValidationCollection[$pCellCoordinate]; + } + + /** + * Set data validation + * + * @param string $pCellCoordinate Cell coordinate to insert data validation + * @param PHPExcel_Cell_DataValidation $pDataValidation + * @return PHPExcel_Worksheet + */ + public function setDataValidation($pCellCoordinate = 'A1', PHPExcel_Cell_DataValidation $pDataValidation = null) + { + if ($pDataValidation === null) { + unset($this->_dataValidationCollection[$pCellCoordinate]); + } else { + $this->_dataValidationCollection[$pCellCoordinate] = $pDataValidation; + } + return $this; + } + + /** + * Data validation at a specific coordinate exists? + * + * @param string $pCoordinate + * @return boolean + */ + public function dataValidationExists($pCoordinate = 'A1') + { + return isset($this->_dataValidationCollection[$pCoordinate]); + } + + /** + * Get collection of data validations + * + * @return PHPExcel_Cell_DataValidation[] + */ + public function getDataValidationCollection() + { + return $this->_dataValidationCollection; + } + + /** + * Accepts a range, returning it as a range that falls within the current highest row and column of the worksheet + * + * @param string $range + * @return string Adjusted range value + */ + public function shrinkRangeToFit($range) { + $maxCol = $this->getHighestColumn(); + $maxRow = $this->getHighestRow(); + $maxCol = PHPExcel_Cell::columnIndexFromString($maxCol); + + $rangeBlocks = explode(' ',$range); + foreach ($rangeBlocks as &$rangeSet) { + $rangeBoundaries = PHPExcel_Cell::getRangeBoundaries($rangeSet); + + if (PHPExcel_Cell::columnIndexFromString($rangeBoundaries[0][0]) > $maxCol) { $rangeBoundaries[0][0] = PHPExcel_Cell::stringFromColumnIndex($maxCol); } + if ($rangeBoundaries[0][1] > $maxRow) { $rangeBoundaries[0][1] = $maxRow; } + if (PHPExcel_Cell::columnIndexFromString($rangeBoundaries[1][0]) > $maxCol) { $rangeBoundaries[1][0] = PHPExcel_Cell::stringFromColumnIndex($maxCol); } + if ($rangeBoundaries[1][1] > $maxRow) { $rangeBoundaries[1][1] = $maxRow; } + $rangeSet = $rangeBoundaries[0][0].$rangeBoundaries[0][1].':'.$rangeBoundaries[1][0].$rangeBoundaries[1][1]; + } + unset($rangeSet); + $stRange = implode(' ',$rangeBlocks); + + return $stRange; + } + + /** + * Get tab color + * + * @return PHPExcel_Style_Color + */ + public function getTabColor() + { + if ($this->_tabColor === NULL) + $this->_tabColor = new PHPExcel_Style_Color(); + + return $this->_tabColor; + } + + /** + * Reset tab color + * + * @return PHPExcel_Worksheet + */ + public function resetTabColor() + { + $this->_tabColor = null; + unset($this->_tabColor); + + return $this; + } + + /** + * Tab color set? + * + * @return boolean + */ + public function isTabColorSet() + { + return ($this->_tabColor !== NULL); + } + + /** + * Copy worksheet (!= clone!) + * + * @return PHPExcel_Worksheet + */ + public function copy() { + $copied = clone $this; + + return $copied; + } + + /** + * Implement PHP __clone to create a deep clone, not just a shallow copy. + */ + public function __clone() { + foreach ($this as $key => $val) { + if ($key == '_parent') { + continue; + } + + if (is_object($val) || (is_array($val))) { + if ($key == '_cellCollection') { + $newCollection = clone $this->_cellCollection; + $newCollection->copyCellCollection($this); + $this->_cellCollection = $newCollection; + } elseif ($key == '_drawingCollection') { + $newCollection = clone $this->_drawingCollection; + $this->_drawingCollection = $newCollection; + } elseif (($key == '_autoFilter') && ($this->_autoFilter instanceof PHPExcel_Worksheet_AutoFilter)) { + $newAutoFilter = clone $this->_autoFilter; + $this->_autoFilter = $newAutoFilter; + $this->_autoFilter->setParent($this); + } else { + $this->{$key} = unserialize(serialize($val)); + } + } + } + } +/** + * Define the code name of the sheet + * + * @param null|string Same rule as Title minus space not allowed (but, like Excel, change silently space to underscore) + * @return objWorksheet + * @throws PHPExcel_Exception + */ + public function setCodeName($pValue=null){ + // Is this a 'rename' or not? + if ($this->getCodeName() == $pValue) { + return $this; + } + $pValue = str_replace(' ', '_', $pValue);//Excel does this automatically without flinching, we are doing the same + // Syntax check + // throw an exception if not valid + self::_checkSheetCodeName($pValue); + + // We use the same code that setTitle to find a valid codeName else not using a space (Excel don't like) but a '_' + + if ($this->getParent()) { + // Is there already such sheet name? + if ($this->getParent()->sheetCodeNameExists($pValue)) { + // Use name, but append with lowest possible integer + + if (PHPExcel_Shared_String::CountCharacters($pValue) > 29) { + $pValue = PHPExcel_Shared_String::Substring($pValue,0,29); + } + $i = 1; + while ($this->getParent()->sheetCodeNameExists($pValue . '_' . $i)) { + ++$i; + if ($i == 10) { + if (PHPExcel_Shared_String::CountCharacters($pValue) > 28) { + $pValue = PHPExcel_Shared_String::Substring($pValue,0,28); + } + } elseif ($i == 100) { + if (PHPExcel_Shared_String::CountCharacters($pValue) > 27) { + $pValue = PHPExcel_Shared_String::Substring($pValue,0,27); + } + } + } + + $pValue = $pValue . '_' . $i;// ok, we have a valid name + //codeName is'nt used in formula : no need to call for an update + //return $this->setTitle($altTitle,$updateFormulaCellReferences); + } + } + + $this->_codeName=$pValue; + return $this; + } + /** + * Return the code name of the sheet + * + * @return null|string + */ + public function getCodeName(){ + return $this->_codeName; + } + /** + * Sheet has a code name ? + * @return boolean + */ + public function hasCodeName(){ + return !(is_null($this->_codeName)); + } +} diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Worksheet/AutoFilter.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Worksheet/AutoFilter.php new file mode 100644 index 00000000..22c35748 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Worksheet/AutoFilter.php @@ -0,0 +1,862 @@ +<?php +/** + * PHPExcel + * + * Copyright (c) 2006 - 2014 PHPExcel + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * @category PHPExcel + * @package PHPExcel_Worksheet + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @version ##VERSION##, ##DATE## + */ + + +/** + * PHPExcel_Worksheet_AutoFilter + * + * @category PHPExcel + * @package PHPExcel_Worksheet + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + */ +class PHPExcel_Worksheet_AutoFilter +{ + /** + * Autofilter Worksheet + * + * @var PHPExcel_Worksheet + */ + private $_workSheet = NULL; + + + /** + * Autofilter Range + * + * @var string + */ + private $_range = ''; + + + /** + * Autofilter Column Ruleset + * + * @var array of PHPExcel_Worksheet_AutoFilter_Column + */ + private $_columns = array(); + + + /** + * Create a new PHPExcel_Worksheet_AutoFilter + * + * @param string $pRange Cell range (i.e. A1:E10) + * @param PHPExcel_Worksheet $pSheet + */ + public function __construct($pRange = '', PHPExcel_Worksheet $pSheet = NULL) + { + $this->_range = $pRange; + $this->_workSheet = $pSheet; + } + + /** + * Get AutoFilter Parent Worksheet + * + * @return PHPExcel_Worksheet + */ + public function getParent() { + return $this->_workSheet; + } + + /** + * Set AutoFilter Parent Worksheet + * + * @param PHPExcel_Worksheet $pSheet + * @return PHPExcel_Worksheet_AutoFilter + */ + public function setParent(PHPExcel_Worksheet $pSheet = NULL) { + $this->_workSheet = $pSheet; + + return $this; + } + + /** + * Get AutoFilter Range + * + * @return string + */ + public function getRange() { + return $this->_range; + } + + /** + * Set AutoFilter Range + * + * @param string $pRange Cell range (i.e. A1:E10) + * @throws PHPExcel_Exception + * @return PHPExcel_Worksheet_AutoFilter + */ + public function setRange($pRange = '') { + // Uppercase coordinate + $cellAddress = explode('!',strtoupper($pRange)); + if (count($cellAddress) > 1) { + list($worksheet,$pRange) = $cellAddress; + } + + if (strpos($pRange,':') !== FALSE) { + $this->_range = $pRange; + } elseif(empty($pRange)) { + $this->_range = ''; + } else { + throw new PHPExcel_Exception('Autofilter must be set on a range of cells.'); + } + + if (empty($pRange)) { + // Discard all column rules + $this->_columns = array(); + } else { + // Discard any column rules that are no longer valid within this range + list($rangeStart,$rangeEnd) = PHPExcel_Cell::rangeBoundaries($this->_range); + foreach($this->_columns as $key => $value) { + $colIndex = PHPExcel_Cell::columnIndexFromString($key); + if (($rangeStart[0] > $colIndex) || ($rangeEnd[0] < $colIndex)) { + unset($this->_columns[$key]); + } + } + } + + return $this; + } + + /** + * Get all AutoFilter Columns + * + * @throws PHPExcel_Exception + * @return array of PHPExcel_Worksheet_AutoFilter_Column + */ + public function getColumns() { + return $this->_columns; + } + + /** + * Validate that the specified column is in the AutoFilter range + * + * @param string $column Column name (e.g. A) + * @throws PHPExcel_Exception + * @return integer The column offset within the autofilter range + */ + public function testColumnInRange($column) { + if (empty($this->_range)) { + throw new PHPExcel_Exception("No autofilter range is defined."); + } + + $columnIndex = PHPExcel_Cell::columnIndexFromString($column); + list($rangeStart,$rangeEnd) = PHPExcel_Cell::rangeBoundaries($this->_range); + if (($rangeStart[0] > $columnIndex) || ($rangeEnd[0] < $columnIndex)) { + throw new PHPExcel_Exception("Column is outside of current autofilter range."); + } + + return $columnIndex - $rangeStart[0]; + } + + /** + * Get a specified AutoFilter Column Offset within the defined AutoFilter range + * + * @param string $pColumn Column name (e.g. A) + * @throws PHPExcel_Exception + * @return integer The offset of the specified column within the autofilter range + */ + public function getColumnOffset($pColumn) { + return $this->testColumnInRange($pColumn); + } + + /** + * Get a specified AutoFilter Column + * + * @param string $pColumn Column name (e.g. A) + * @throws PHPExcel_Exception + * @return PHPExcel_Worksheet_AutoFilter_Column + */ + public function getColumn($pColumn) { + $this->testColumnInRange($pColumn); + + if (!isset($this->_columns[$pColumn])) { + $this->_columns[$pColumn] = new PHPExcel_Worksheet_AutoFilter_Column($pColumn, $this); + } + + return $this->_columns[$pColumn]; + } + + /** + * Get a specified AutoFilter Column by it's offset + * + * @param integer $pColumnOffset Column offset within range (starting from 0) + * @throws PHPExcel_Exception + * @return PHPExcel_Worksheet_AutoFilter_Column + */ + public function getColumnByOffset($pColumnOffset = 0) { + list($rangeStart,$rangeEnd) = PHPExcel_Cell::rangeBoundaries($this->_range); + $pColumn = PHPExcel_Cell::stringFromColumnIndex($rangeStart[0] + $pColumnOffset - 1); + + return $this->getColumn($pColumn); + } + + /** + * Set AutoFilter + * + * @param PHPExcel_Worksheet_AutoFilter_Column|string $pColumn + * A simple string containing a Column ID like 'A' is permitted + * @throws PHPExcel_Exception + * @return PHPExcel_Worksheet_AutoFilter + */ + public function setColumn($pColumn) + { + if ((is_string($pColumn)) && (!empty($pColumn))) { + $column = $pColumn; + } elseif(is_object($pColumn) && ($pColumn instanceof PHPExcel_Worksheet_AutoFilter_Column)) { + $column = $pColumn->getColumnIndex(); + } else { + throw new PHPExcel_Exception("Column is not within the autofilter range."); + } + $this->testColumnInRange($column); + + if (is_string($pColumn)) { + $this->_columns[$pColumn] = new PHPExcel_Worksheet_AutoFilter_Column($pColumn, $this); + } elseif(is_object($pColumn) && ($pColumn instanceof PHPExcel_Worksheet_AutoFilter_Column)) { + $pColumn->setParent($this); + $this->_columns[$column] = $pColumn; + } + ksort($this->_columns); + + return $this; + } + + /** + * Clear a specified AutoFilter Column + * + * @param string $pColumn Column name (e.g. A) + * @throws PHPExcel_Exception + * @return PHPExcel_Worksheet_AutoFilter + */ + public function clearColumn($pColumn) { + $this->testColumnInRange($pColumn); + + if (isset($this->_columns[$pColumn])) { + unset($this->_columns[$pColumn]); + } + + return $this; + } + + /** + * Shift an AutoFilter Column Rule to a different column + * + * Note: This method bypasses validation of the destination column to ensure it is within this AutoFilter range. + * Nor does it verify whether any column rule already exists at $toColumn, but will simply overrideany existing value. + * Use with caution. + * + * @param string $fromColumn Column name (e.g. A) + * @param string $toColumn Column name (e.g. B) + * @return PHPExcel_Worksheet_AutoFilter + */ + public function shiftColumn($fromColumn=NULL,$toColumn=NULL) { + $fromColumn = strtoupper($fromColumn); + $toColumn = strtoupper($toColumn); + + if (($fromColumn !== NULL) && (isset($this->_columns[$fromColumn])) && ($toColumn !== NULL)) { + $this->_columns[$fromColumn]->setParent(); + $this->_columns[$fromColumn]->setColumnIndex($toColumn); + $this->_columns[$toColumn] = $this->_columns[$fromColumn]; + $this->_columns[$toColumn]->setParent($this); + unset($this->_columns[$fromColumn]); + + ksort($this->_columns); + } + + return $this; + } + + + /** + * Test if cell value is in the defined set of values + * + * @param mixed $cellValue + * @param mixed[] $dataSet + * @return boolean + */ + private static function _filterTestInSimpleDataSet($cellValue,$dataSet) + { + $dataSetValues = $dataSet['filterValues']; + $blanks = $dataSet['blanks']; + if (($cellValue == '') || ($cellValue === NULL)) { + return $blanks; + } + return in_array($cellValue,$dataSetValues); + } + + /** + * Test if cell value is in the defined set of Excel date values + * + * @param mixed $cellValue + * @param mixed[] $dataSet + * @return boolean + */ + private static function _filterTestInDateGroupSet($cellValue,$dataSet) + { + $dateSet = $dataSet['filterValues']; + $blanks = $dataSet['blanks']; + if (($cellValue == '') || ($cellValue === NULL)) { + return $blanks; + } + + if (is_numeric($cellValue)) { + $dateValue = PHPExcel_Shared_Date::ExcelToPHP($cellValue); + if ($cellValue < 1) { + // Just the time part + $dtVal = date('His',$dateValue); + $dateSet = $dateSet['time']; + } elseif($cellValue == floor($cellValue)) { + // Just the date part + $dtVal = date('Ymd',$dateValue); + $dateSet = $dateSet['date']; + } else { + // date and time parts + $dtVal = date('YmdHis',$dateValue); + $dateSet = $dateSet['dateTime']; + } + foreach($dateSet as $dateValue) { + // Use of substr to extract value at the appropriate group level + if (substr($dtVal,0,strlen($dateValue)) == $dateValue) + return TRUE; + } + } + + return FALSE; + } + + /** + * Test if cell value is within a set of values defined by a ruleset + * + * @param mixed $cellValue + * @param mixed[] $ruleSet + * @return boolean + */ + private static function _filterTestInCustomDataSet($cellValue, $ruleSet) + { + $dataSet = $ruleSet['filterRules']; + $join = $ruleSet['join']; + $customRuleForBlanks = isset($ruleSet['customRuleForBlanks']) ? $ruleSet['customRuleForBlanks'] : FALSE; + + if (!$customRuleForBlanks) { + // Blank cells are always ignored, so return a FALSE + if (($cellValue == '') || ($cellValue === NULL)) { + return FALSE; + } + } + $returnVal = ($join == PHPExcel_Worksheet_AutoFilter_Column::AUTOFILTER_COLUMN_JOIN_AND); + foreach($dataSet as $rule) { + if (is_numeric($rule['value'])) { + // Numeric values are tested using the appropriate operator + switch ($rule['operator']) { + case PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_COLUMN_RULE_EQUAL : + $retVal = ($cellValue == $rule['value']); + break; + case PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_COLUMN_RULE_NOTEQUAL : + $retVal = ($cellValue != $rule['value']); + break; + case PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_COLUMN_RULE_GREATERTHAN : + $retVal = ($cellValue > $rule['value']); + break; + case PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_COLUMN_RULE_GREATERTHANOREQUAL : + $retVal = ($cellValue >= $rule['value']); + break; + case PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_COLUMN_RULE_LESSTHAN : + $retVal = ($cellValue < $rule['value']); + break; + case PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_COLUMN_RULE_LESSTHANOREQUAL : + $retVal = ($cellValue <= $rule['value']); + break; + } + } elseif($rule['value'] == '') { + switch ($rule['operator']) { + case PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_COLUMN_RULE_EQUAL : + $retVal = (($cellValue == '') || ($cellValue === NULL)); + break; + case PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_COLUMN_RULE_NOTEQUAL : + $retVal = (($cellValue != '') && ($cellValue !== NULL)); + break; + default : + $retVal = TRUE; + break; + } + } else { + // String values are always tested for equality, factoring in for wildcards (hence a regexp test) + $retVal = preg_match('/^'.$rule['value'].'$/i',$cellValue); + } + // If there are multiple conditions, then we need to test both using the appropriate join operator + switch ($join) { + case PHPExcel_Worksheet_AutoFilter_Column::AUTOFILTER_COLUMN_JOIN_OR : + $returnVal = $returnVal || $retVal; + // Break as soon as we have a TRUE match for OR joins, + // to avoid unnecessary additional code execution + if ($returnVal) + return $returnVal; + break; + case PHPExcel_Worksheet_AutoFilter_Column::AUTOFILTER_COLUMN_JOIN_AND : + $returnVal = $returnVal && $retVal; + break; + } + } + + return $returnVal; + } + + /** + * Test if cell date value is matches a set of values defined by a set of months + * + * @param mixed $cellValue + * @param mixed[] $monthSet + * @return boolean + */ + private static function _filterTestInPeriodDateSet($cellValue, $monthSet) + { + // Blank cells are always ignored, so return a FALSE + if (($cellValue == '') || ($cellValue === NULL)) { + return FALSE; + } + + if (is_numeric($cellValue)) { + $dateValue = date('m',PHPExcel_Shared_Date::ExcelToPHP($cellValue)); + if (in_array($dateValue,$monthSet)) { + return TRUE; + } + } + + return FALSE; + } + + /** + * Search/Replace arrays to convert Excel wildcard syntax to a regexp syntax for preg_matching + * + * @var array + */ + private static $_fromReplace = array('\*', '\?', '~~', '~.*', '~.?'); + private static $_toReplace = array('.*', '.', '~', '\*', '\?'); + + + /** + * Convert a dynamic rule daterange to a custom filter range expression for ease of calculation + * + * @param string $dynamicRuleType + * @param PHPExcel_Worksheet_AutoFilter_Column &$filterColumn + * @return mixed[] + */ + private function _dynamicFilterDateRange($dynamicRuleType, &$filterColumn) + { + $rDateType = PHPExcel_Calculation_Functions::getReturnDateType(); + PHPExcel_Calculation_Functions::setReturnDateType(PHPExcel_Calculation_Functions::RETURNDATE_PHP_NUMERIC); + $val = $maxVal = NULL; + + $ruleValues = array(); + $baseDate = PHPExcel_Calculation_DateTime::DATENOW(); + // Calculate start/end dates for the required date range based on current date + switch ($dynamicRuleType) { + case PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_RULETYPE_DYNAMIC_LASTWEEK : + $baseDate = strtotime('-7 days',$baseDate); + break; + case PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_RULETYPE_DYNAMIC_NEXTWEEK : + $baseDate = strtotime('-7 days',$baseDate); + break; + case PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_RULETYPE_DYNAMIC_LASTMONTH : + $baseDate = strtotime('-1 month',gmmktime(0,0,0,1,date('m',$baseDate),date('Y',$baseDate))); + break; + case PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_RULETYPE_DYNAMIC_NEXTMONTH : + $baseDate = strtotime('+1 month',gmmktime(0,0,0,1,date('m',$baseDate),date('Y',$baseDate))); + break; + case PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_RULETYPE_DYNAMIC_LASTQUARTER : + $baseDate = strtotime('-3 month',gmmktime(0,0,0,1,date('m',$baseDate),date('Y',$baseDate))); + break; + case PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_RULETYPE_DYNAMIC_NEXTQUARTER : + $baseDate = strtotime('+3 month',gmmktime(0,0,0,1,date('m',$baseDate),date('Y',$baseDate))); + break; + case PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_RULETYPE_DYNAMIC_LASTYEAR : + $baseDate = strtotime('-1 year',gmmktime(0,0,0,1,date('m',$baseDate),date('Y',$baseDate))); + break; + case PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_RULETYPE_DYNAMIC_NEXTYEAR : + $baseDate = strtotime('+1 year',gmmktime(0,0,0,1,date('m',$baseDate),date('Y',$baseDate))); + break; + } + + switch ($dynamicRuleType) { + case PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_RULETYPE_DYNAMIC_TODAY : + case PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_RULETYPE_DYNAMIC_YESTERDAY : + case PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_RULETYPE_DYNAMIC_TOMORROW : + $maxVal = (int) PHPExcel_Shared_Date::PHPtoExcel(strtotime('+1 day',$baseDate)); + $val = (int) PHPExcel_Shared_Date::PHPToExcel($baseDate); + break; + case PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_RULETYPE_DYNAMIC_YEARTODATE : + $maxVal = (int) PHPExcel_Shared_Date::PHPtoExcel(strtotime('+1 day',$baseDate)); + $val = (int) PHPExcel_Shared_Date::PHPToExcel(gmmktime(0,0,0,1,1,date('Y',$baseDate))); + break; + case PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_RULETYPE_DYNAMIC_THISYEAR : + case PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_RULETYPE_DYNAMIC_LASTYEAR : + case PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_RULETYPE_DYNAMIC_NEXTYEAR : + $maxVal = (int) PHPExcel_Shared_Date::PHPToExcel(gmmktime(0,0,0,31,12,date('Y',$baseDate))); + ++$maxVal; + $val = (int) PHPExcel_Shared_Date::PHPToExcel(gmmktime(0,0,0,1,1,date('Y',$baseDate))); + break; + case PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_RULETYPE_DYNAMIC_THISQUARTER : + case PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_RULETYPE_DYNAMIC_LASTQUARTER : + case PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_RULETYPE_DYNAMIC_NEXTQUARTER : + $thisMonth = date('m',$baseDate); + $thisQuarter = floor(--$thisMonth / 3); + $maxVal = (int) PHPExcel_Shared_Date::PHPtoExcel(gmmktime(0,0,0,date('t',$baseDate),(1+$thisQuarter)*3,date('Y',$baseDate))); + ++$maxVal; + $val = (int) PHPExcel_Shared_Date::PHPToExcel(gmmktime(0,0,0,1,1+$thisQuarter*3,date('Y',$baseDate))); + break; + case PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_RULETYPE_DYNAMIC_THISMONTH : + case PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_RULETYPE_DYNAMIC_LASTMONTH : + case PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_RULETYPE_DYNAMIC_NEXTMONTH : + $maxVal = (int) PHPExcel_Shared_Date::PHPtoExcel(gmmktime(0,0,0,date('t',$baseDate),date('m',$baseDate),date('Y',$baseDate))); + ++$maxVal; + $val = (int) PHPExcel_Shared_Date::PHPToExcel(gmmktime(0,0,0,1,date('m',$baseDate),date('Y',$baseDate))); + break; + case PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_RULETYPE_DYNAMIC_THISWEEK : + case PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_RULETYPE_DYNAMIC_LASTWEEK : + case PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_RULETYPE_DYNAMIC_NEXTWEEK : + $dayOfWeek = date('w',$baseDate); + $val = (int) PHPExcel_Shared_Date::PHPToExcel($baseDate) - $dayOfWeek; + $maxVal = $val + 7; + break; + } + + switch ($dynamicRuleType) { + // Adjust Today dates for Yesterday and Tomorrow + case PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_RULETYPE_DYNAMIC_YESTERDAY : + --$maxVal; + --$val; + break; + case PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_RULETYPE_DYNAMIC_TOMORROW : + ++$maxVal; + ++$val; + break; + } + + // Set the filter column rule attributes ready for writing + $filterColumn->setAttributes(array( 'val' => $val, + 'maxVal' => $maxVal + ) + ); + + // Set the rules for identifying rows for hide/show + $ruleValues[] = array( 'operator' => PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_COLUMN_RULE_GREATERTHANOREQUAL, + 'value' => $val + ); + $ruleValues[] = array( 'operator' => PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_COLUMN_RULE_LESSTHAN, + 'value' => $maxVal + ); + PHPExcel_Calculation_Functions::setReturnDateType($rDateType); + + return array( + 'method' => '_filterTestInCustomDataSet', + 'arguments' => array( 'filterRules' => $ruleValues, + 'join' => PHPExcel_Worksheet_AutoFilter_Column::AUTOFILTER_COLUMN_JOIN_AND + ) + ); + } + + private function _calculateTopTenValue($columnID,$startRow,$endRow,$ruleType,$ruleValue) { + $range = $columnID.$startRow.':'.$columnID.$endRow; + $dataValues = PHPExcel_Calculation_Functions::flattenArray( + $this->_workSheet->rangeToArray($range,NULL,TRUE,FALSE) + ); + + $dataValues = array_filter($dataValues); + if ($ruleType == PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_COLUMN_RULE_TOPTEN_TOP) { + rsort($dataValues); + } else { + sort($dataValues); + } + + return array_pop(array_slice($dataValues,0,$ruleValue)); + } + + /** + * Apply the AutoFilter rules to the AutoFilter Range + * + * @throws PHPExcel_Exception + * @return PHPExcel_Worksheet_AutoFilter + */ + public function showHideRows() + { + list($rangeStart,$rangeEnd) = PHPExcel_Cell::rangeBoundaries($this->_range); + + // The heading row should always be visible +// echo 'AutoFilter Heading Row ',$rangeStart[1],' is always SHOWN',PHP_EOL; + $this->_workSheet->getRowDimension($rangeStart[1])->setVisible(TRUE); + + $columnFilterTests = array(); + foreach($this->_columns as $columnID => $filterColumn) { + $rules = $filterColumn->getRules(); + switch ($filterColumn->getFilterType()) { + case PHPExcel_Worksheet_AutoFilter_Column::AUTOFILTER_FILTERTYPE_FILTER : + $ruleValues = array(); + // Build a list of the filter value selections + foreach($rules as $rule) { + $ruleType = $rule->getRuleType(); + $ruleValues[] = $rule->getValue(); + } + // Test if we want to include blanks in our filter criteria + $blanks = FALSE; + $ruleDataSet = array_filter($ruleValues); + if (count($ruleValues) != count($ruleDataSet)) + $blanks = TRUE; + if ($ruleType == PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_RULETYPE_FILTER) { + // Filter on absolute values + $columnFilterTests[$columnID] = array( + 'method' => '_filterTestInSimpleDataSet', + 'arguments' => array( 'filterValues' => $ruleDataSet, + 'blanks' => $blanks + ) + ); + } else { + // Filter on date group values + $arguments = array( + 'date' => array(), + 'time' => array(), + 'dateTime' => array(), + ); + foreach($ruleDataSet as $ruleValue) { + $date = $time = ''; + if ((isset($ruleValue[PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_RULETYPE_DATEGROUP_YEAR])) && + ($ruleValue[PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_RULETYPE_DATEGROUP_YEAR] !== '')) + $date .= sprintf('%04d',$ruleValue[PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_RULETYPE_DATEGROUP_YEAR]); + if ((isset($ruleValue[PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_RULETYPE_DATEGROUP_MONTH])) && + ($ruleValue[PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_RULETYPE_DATEGROUP_MONTH] != '')) + $date .= sprintf('%02d',$ruleValue[PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_RULETYPE_DATEGROUP_MONTH]); + if ((isset($ruleValue[PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_RULETYPE_DATEGROUP_DAY])) && + ($ruleValue[PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_RULETYPE_DATEGROUP_DAY] !== '')) + $date .= sprintf('%02d',$ruleValue[PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_RULETYPE_DATEGROUP_DAY]); + if ((isset($ruleValue[PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_RULETYPE_DATEGROUP_HOUR])) && + ($ruleValue[PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_RULETYPE_DATEGROUP_HOUR] !== '')) + $time .= sprintf('%02d',$ruleValue[PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_RULETYPE_DATEGROUP_HOUR]); + if ((isset($ruleValue[PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_RULETYPE_DATEGROUP_MINUTE])) && + ($ruleValue[PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_RULETYPE_DATEGROUP_MINUTE] !== '')) + $time .= sprintf('%02d',$ruleValue[PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_RULETYPE_DATEGROUP_MINUTE]); + if ((isset($ruleValue[PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_RULETYPE_DATEGROUP_SECOND])) && + ($ruleValue[PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_RULETYPE_DATEGROUP_SECOND] !== '')) + $time .= sprintf('%02d',$ruleValue[PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_RULETYPE_DATEGROUP_SECOND]); + $dateTime = $date . $time; + $arguments['date'][] = $date; + $arguments['time'][] = $time; + $arguments['dateTime'][] = $dateTime; + } + // Remove empty elements + $arguments['date'] = array_filter($arguments['date']); + $arguments['time'] = array_filter($arguments['time']); + $arguments['dateTime'] = array_filter($arguments['dateTime']); + $columnFilterTests[$columnID] = array( + 'method' => '_filterTestInDateGroupSet', + 'arguments' => array( 'filterValues' => $arguments, + 'blanks' => $blanks + ) + ); + } + break; + case PHPExcel_Worksheet_AutoFilter_Column::AUTOFILTER_FILTERTYPE_CUSTOMFILTER : + $customRuleForBlanks = FALSE; + $ruleValues = array(); + // Build a list of the filter value selections + foreach($rules as $rule) { + $ruleType = $rule->getRuleType(); + $ruleValue = $rule->getValue(); + if (!is_numeric($ruleValue)) { + // Convert to a regexp allowing for regexp reserved characters, wildcards and escaped wildcards + $ruleValue = preg_quote($ruleValue); + $ruleValue = str_replace(self::$_fromReplace,self::$_toReplace,$ruleValue); + if (trim($ruleValue) == '') { + $customRuleForBlanks = TRUE; + $ruleValue = trim($ruleValue); + } + } + $ruleValues[] = array( 'operator' => $rule->getOperator(), + 'value' => $ruleValue + ); + } + $join = $filterColumn->getJoin(); + $columnFilterTests[$columnID] = array( + 'method' => '_filterTestInCustomDataSet', + 'arguments' => array( 'filterRules' => $ruleValues, + 'join' => $join, + 'customRuleForBlanks' => $customRuleForBlanks + ) + ); + break; + case PHPExcel_Worksheet_AutoFilter_Column::AUTOFILTER_FILTERTYPE_DYNAMICFILTER : + $ruleValues = array(); + foreach($rules as $rule) { + // We should only ever have one Dynamic Filter Rule anyway + $dynamicRuleType = $rule->getGrouping(); + if (($dynamicRuleType == PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_RULETYPE_DYNAMIC_ABOVEAVERAGE) || + ($dynamicRuleType == PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_RULETYPE_DYNAMIC_BELOWAVERAGE)) { + // Number (Average) based + // Calculate the average + $averageFormula = '=AVERAGE('.$columnID.($rangeStart[1]+1).':'.$columnID.$rangeEnd[1].')'; + $average = PHPExcel_Calculation::getInstance()->calculateFormula($averageFormula,NULL,$this->_workSheet->getCell('A1')); + // Set above/below rule based on greaterThan or LessTan + $operator = ($dynamicRuleType === PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_RULETYPE_DYNAMIC_ABOVEAVERAGE) + ? PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_COLUMN_RULE_GREATERTHAN + : PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_COLUMN_RULE_LESSTHAN; + $ruleValues[] = array( 'operator' => $operator, + 'value' => $average + ); + $columnFilterTests[$columnID] = array( + 'method' => '_filterTestInCustomDataSet', + 'arguments' => array( 'filterRules' => $ruleValues, + 'join' => PHPExcel_Worksheet_AutoFilter_Column::AUTOFILTER_COLUMN_JOIN_OR + ) + ); + } else { + // Date based + if ($dynamicRuleType{0} == 'M' || $dynamicRuleType{0} == 'Q') { + // Month or Quarter + sscanf($dynamicRuleType,'%[A-Z]%d', $periodType, $period); + if ($periodType == 'M') { + $ruleValues = array($period); + } else { + --$period; + $periodEnd = (1+$period)*3; + $periodStart = 1+$period*3; + $ruleValues = range($periodStart,periodEnd); + } + $columnFilterTests[$columnID] = array( + 'method' => '_filterTestInPeriodDateSet', + 'arguments' => $ruleValues + ); + $filterColumn->setAttributes(array()); + } else { + // Date Range + $columnFilterTests[$columnID] = $this->_dynamicFilterDateRange($dynamicRuleType, $filterColumn); + break; + } + } + } + break; + case PHPExcel_Worksheet_AutoFilter_Column::AUTOFILTER_FILTERTYPE_TOPTENFILTER : + $ruleValues = array(); + $dataRowCount = $rangeEnd[1] - $rangeStart[1]; + foreach($rules as $rule) { + // We should only ever have one Dynamic Filter Rule anyway + $toptenRuleType = $rule->getGrouping(); + $ruleValue = $rule->getValue(); + $ruleOperator = $rule->getOperator(); + } + if ($ruleOperator === PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_COLUMN_RULE_TOPTEN_PERCENT) { + $ruleValue = floor($ruleValue * ($dataRowCount / 100)); + } + if ($ruleValue < 1) $ruleValue = 1; + if ($ruleValue > 500) $ruleValue = 500; + + $maxVal = $this->_calculateTopTenValue($columnID,$rangeStart[1]+1,$rangeEnd[1],$toptenRuleType,$ruleValue); + + $operator = ($toptenRuleType == PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_COLUMN_RULE_TOPTEN_TOP) + ? PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_COLUMN_RULE_GREATERTHANOREQUAL + : PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_COLUMN_RULE_LESSTHANOREQUAL; + $ruleValues[] = array( 'operator' => $operator, + 'value' => $maxVal + ); + $columnFilterTests[$columnID] = array( + 'method' => '_filterTestInCustomDataSet', + 'arguments' => array( 'filterRules' => $ruleValues, + 'join' => PHPExcel_Worksheet_AutoFilter_Column::AUTOFILTER_COLUMN_JOIN_OR + ) + ); + $filterColumn->setAttributes( + array('maxVal' => $maxVal) + ); + break; + } + } + +// echo 'Column Filter Test CRITERIA',PHP_EOL; +// var_dump($columnFilterTests); +// + // Execute the column tests for each row in the autoFilter range to determine show/hide, + for ($row = $rangeStart[1]+1; $row <= $rangeEnd[1]; ++$row) { +// echo 'Testing Row = ',$row,PHP_EOL; + $result = TRUE; + foreach($columnFilterTests as $columnID => $columnFilterTest) { +// echo 'Testing cell ',$columnID.$row,PHP_EOL; + $cellValue = $this->_workSheet->getCell($columnID.$row)->getCalculatedValue(); +// echo 'Value is ',$cellValue,PHP_EOL; + // Execute the filter test + $result = $result && + call_user_func_array( + array('PHPExcel_Worksheet_AutoFilter',$columnFilterTest['method']), + array( + $cellValue, + $columnFilterTest['arguments'] + ) + ); +// echo (($result) ? 'VALID' : 'INVALID'),PHP_EOL; + // If filter test has resulted in FALSE, exit the loop straightaway rather than running any more tests + if (!$result) + break; + } + // Set show/hide for the row based on the result of the autoFilter result +// echo (($result) ? 'SHOW' : 'HIDE'),PHP_EOL; + $this->_workSheet->getRowDimension($row)->setVisible($result); + } + + return $this; + } + + + /** + * Implement PHP __clone to create a deep clone, not just a shallow copy. + */ + public function __clone() { + $vars = get_object_vars($this); + foreach ($vars as $key => $value) { + if (is_object($value)) { + if ($key == '_workSheet') { + // Detach from worksheet + $this->{$key} = NULL; + } else { + $this->{$key} = clone $value; + } + } elseif ((is_array($value)) && ($key == '_columns')) { + // The columns array of PHPExcel_Worksheet_AutoFilter objects + $this->{$key} = array(); + foreach ($value as $k => $v) { + $this->{$key}[$k] = clone $v; + // attach the new cloned Column to this new cloned Autofilter object + $this->{$key}[$k]->setParent($this); + } + } else { + $this->{$key} = $value; + } + } + } + + /** + * toString method replicates previous behavior by returning the range if object is + * referenced as a property of its parent. + */ + public function __toString() { + return (string) $this->_range; + } + +} diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Worksheet/AutoFilter/Column.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Worksheet/AutoFilter/Column.php new file mode 100644 index 00000000..1a6fb4eb --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Worksheet/AutoFilter/Column.php @@ -0,0 +1,394 @@ +<?php +/** + * PHPExcel + * + * Copyright (c) 2006 - 2014 PHPExcel + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * @category PHPExcel + * @package PHPExcel_Worksheet + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @version ##VERSION##, ##DATE## + */ + + +/** + * PHPExcel_Worksheet_AutoFilter_Column + * + * @category PHPExcel + * @package PHPExcel_Worksheet + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + */ +class PHPExcel_Worksheet_AutoFilter_Column +{ + const AUTOFILTER_FILTERTYPE_FILTER = 'filters'; + const AUTOFILTER_FILTERTYPE_CUSTOMFILTER = 'customFilters'; + // Supports no more than 2 rules, with an And/Or join criteria + // if more than 1 rule is defined + const AUTOFILTER_FILTERTYPE_DYNAMICFILTER = 'dynamicFilter'; + // Even though the filter rule is constant, the filtered data can vary + // e.g. filtered by date = TODAY + const AUTOFILTER_FILTERTYPE_TOPTENFILTER = 'top10'; + + /** + * Types of autofilter rules + * + * @var string[] + */ + private static $_filterTypes = array( + // Currently we're not handling + // colorFilter + // extLst + // iconFilter + self::AUTOFILTER_FILTERTYPE_FILTER, + self::AUTOFILTER_FILTERTYPE_CUSTOMFILTER, + self::AUTOFILTER_FILTERTYPE_DYNAMICFILTER, + self::AUTOFILTER_FILTERTYPE_TOPTENFILTER, + ); + + /* Multiple Rule Connections */ + const AUTOFILTER_COLUMN_JOIN_AND = 'and'; + const AUTOFILTER_COLUMN_JOIN_OR = 'or'; + + /** + * Join options for autofilter rules + * + * @var string[] + */ + private static $_ruleJoins = array( + self::AUTOFILTER_COLUMN_JOIN_AND, + self::AUTOFILTER_COLUMN_JOIN_OR, + ); + + /** + * Autofilter + * + * @var PHPExcel_Worksheet_AutoFilter + */ + private $_parent = NULL; + + + /** + * Autofilter Column Index + * + * @var string + */ + private $_columnIndex = ''; + + + /** + * Autofilter Column Filter Type + * + * @var string + */ + private $_filterType = self::AUTOFILTER_FILTERTYPE_FILTER; + + + /** + * Autofilter Multiple Rules And/Or + * + * @var string + */ + private $_join = self::AUTOFILTER_COLUMN_JOIN_OR; + + + /** + * Autofilter Column Rules + * + * @var array of PHPExcel_Worksheet_AutoFilter_Column_Rule + */ + private $_ruleset = array(); + + + /** + * Autofilter Column Dynamic Attributes + * + * @var array of mixed + */ + private $_attributes = array(); + + + /** + * Create a new PHPExcel_Worksheet_AutoFilter_Column + * + * @param string $pColumn Column (e.g. A) + * @param PHPExcel_Worksheet_AutoFilter $pParent Autofilter for this column + */ + public function __construct($pColumn, PHPExcel_Worksheet_AutoFilter $pParent = NULL) + { + $this->_columnIndex = $pColumn; + $this->_parent = $pParent; + } + + /** + * Get AutoFilter Column Index + * + * @return string + */ + public function getColumnIndex() { + return $this->_columnIndex; + } + + /** + * Set AutoFilter Column Index + * + * @param string $pColumn Column (e.g. A) + * @throws PHPExcel_Exception + * @return PHPExcel_Worksheet_AutoFilter_Column + */ + public function setColumnIndex($pColumn) { + // Uppercase coordinate + $pColumn = strtoupper($pColumn); + if ($this->_parent !== NULL) { + $this->_parent->testColumnInRange($pColumn); + } + + $this->_columnIndex = $pColumn; + + return $this; + } + + /** + * Get this Column's AutoFilter Parent + * + * @return PHPExcel_Worksheet_AutoFilter + */ + public function getParent() { + return $this->_parent; + } + + /** + * Set this Column's AutoFilter Parent + * + * @param PHPExcel_Worksheet_AutoFilter + * @return PHPExcel_Worksheet_AutoFilter_Column + */ + public function setParent(PHPExcel_Worksheet_AutoFilter $pParent = NULL) { + $this->_parent = $pParent; + + return $this; + } + + /** + * Get AutoFilter Type + * + * @return string + */ + public function getFilterType() { + return $this->_filterType; + } + + /** + * Set AutoFilter Type + * + * @param string $pFilterType + * @throws PHPExcel_Exception + * @return PHPExcel_Worksheet_AutoFilter_Column + */ + public function setFilterType($pFilterType = self::AUTOFILTER_FILTERTYPE_FILTER) { + if (!in_array($pFilterType,self::$_filterTypes)) { + throw new PHPExcel_Exception('Invalid filter type for column AutoFilter.'); + } + + $this->_filterType = $pFilterType; + + return $this; + } + + /** + * Get AutoFilter Multiple Rules And/Or Join + * + * @return string + */ + public function getJoin() { + return $this->_join; + } + + /** + * Set AutoFilter Multiple Rules And/Or + * + * @param string $pJoin And/Or + * @throws PHPExcel_Exception + * @return PHPExcel_Worksheet_AutoFilter_Column + */ + public function setJoin($pJoin = self::AUTOFILTER_COLUMN_JOIN_OR) { + // Lowercase And/Or + $pJoin = strtolower($pJoin); + if (!in_array($pJoin,self::$_ruleJoins)) { + throw new PHPExcel_Exception('Invalid rule connection for column AutoFilter.'); + } + + $this->_join = $pJoin; + + return $this; + } + + /** + * Set AutoFilter Attributes + * + * @param string[] $pAttributes + * @throws PHPExcel_Exception + * @return PHPExcel_Worksheet_AutoFilter_Column + */ + public function setAttributes($pAttributes = array()) { + $this->_attributes = $pAttributes; + + return $this; + } + + /** + * Set An AutoFilter Attribute + * + * @param string $pName Attribute Name + * @param string $pValue Attribute Value + * @throws PHPExcel_Exception + * @return PHPExcel_Worksheet_AutoFilter_Column + */ + public function setAttribute($pName, $pValue) { + $this->_attributes[$pName] = $pValue; + + return $this; + } + + /** + * Get AutoFilter Column Attributes + * + * @return string + */ + public function getAttributes() { + return $this->_attributes; + } + + /** + * Get specific AutoFilter Column Attribute + * + * @param string $pName Attribute Name + * @return string + */ + public function getAttribute($pName) { + if (isset($this->_attributes[$pName])) + return $this->_attributes[$pName]; + return NULL; + } + + /** + * Get all AutoFilter Column Rules + * + * @throws PHPExcel_Exception + * @return array of PHPExcel_Worksheet_AutoFilter_Column_Rule + */ + public function getRules() { + return $this->_ruleset; + } + + /** + * Get a specified AutoFilter Column Rule + * + * @param integer $pIndex Rule index in the ruleset array + * @return PHPExcel_Worksheet_AutoFilter_Column_Rule + */ + public function getRule($pIndex) { + if (!isset($this->_ruleset[$pIndex])) { + $this->_ruleset[$pIndex] = new PHPExcel_Worksheet_AutoFilter_Column_Rule($this); + } + return $this->_ruleset[$pIndex]; + } + + /** + * Create a new AutoFilter Column Rule in the ruleset + * + * @return PHPExcel_Worksheet_AutoFilter_Column_Rule + */ + public function createRule() { + $this->_ruleset[] = new PHPExcel_Worksheet_AutoFilter_Column_Rule($this); + + return end($this->_ruleset); + } + + /** + * Add a new AutoFilter Column Rule to the ruleset + * + * @param PHPExcel_Worksheet_AutoFilter_Column_Rule $pRule + * @param boolean $returnRule Flag indicating whether the rule object or the column object should be returned + * @return PHPExcel_Worksheet_AutoFilter_Column|PHPExcel_Worksheet_AutoFilter_Column_Rule + */ + public function addRule(PHPExcel_Worksheet_AutoFilter_Column_Rule $pRule, $returnRule=TRUE) { + $pRule->setParent($this); + $this->_ruleset[] = $pRule; + + return ($returnRule) ? $pRule : $this; + } + + /** + * Delete a specified AutoFilter Column Rule + * If the number of rules is reduced to 1, then we reset And/Or logic to Or + * + * @param integer $pIndex Rule index in the ruleset array + * @return PHPExcel_Worksheet_AutoFilter_Column + */ + public function deleteRule($pIndex) { + if (isset($this->_ruleset[$pIndex])) { + unset($this->_ruleset[$pIndex]); + // If we've just deleted down to a single rule, then reset And/Or joining to Or + if (count($this->_ruleset) <= 1) { + $this->setJoin(self::AUTOFILTER_COLUMN_JOIN_OR); + } + } + + return $this; + } + + /** + * Delete all AutoFilter Column Rules + * + * @return PHPExcel_Worksheet_AutoFilter_Column + */ + public function clearRules() { + $this->_ruleset = array(); + $this->setJoin(self::AUTOFILTER_COLUMN_JOIN_OR); + + return $this; + } + + /** + * Implement PHP __clone to create a deep clone, not just a shallow copy. + */ + public function __clone() { + $vars = get_object_vars($this); + foreach ($vars as $key => $value) { + if (is_object($value)) { + if ($key == '_parent') { + // Detach from autofilter parent + $this->$key = NULL; + } else { + $this->$key = clone $value; + } + } elseif ((is_array($value)) && ($key == '_ruleset')) { + // The columns array of PHPExcel_Worksheet_AutoFilter objects + $this->$key = array(); + foreach ($value as $k => $v) { + $this->$key[$k] = clone $v; + // attach the new cloned Rule to this new cloned Autofilter Cloned object + $this->$key[$k]->setParent($this); + } + } else { + $this->$key = $value; + } + } + } + +} diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Worksheet/AutoFilter/Column/Rule.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Worksheet/AutoFilter/Column/Rule.php new file mode 100644 index 00000000..e6026464 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Worksheet/AutoFilter/Column/Rule.php @@ -0,0 +1,464 @@ +<?php +/** + * PHPExcel + * + * Copyright (c) 2006 - 2014 PHPExcel + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * @category PHPExcel + * @package PHPExcel_Worksheet + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @version ##VERSION##, ##DATE## + */ + + +/** + * PHPExcel_Worksheet_AutoFilter_Column_Rule + * + * @category PHPExcel + * @package PHPExcel_Worksheet + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + */ +class PHPExcel_Worksheet_AutoFilter_Column_Rule +{ + const AUTOFILTER_RULETYPE_FILTER = 'filter'; + const AUTOFILTER_RULETYPE_DATEGROUP = 'dateGroupItem'; + const AUTOFILTER_RULETYPE_CUSTOMFILTER = 'customFilter'; + const AUTOFILTER_RULETYPE_DYNAMICFILTER = 'dynamicFilter'; + const AUTOFILTER_RULETYPE_TOPTENFILTER = 'top10Filter'; + + private static $_ruleTypes = array( + // Currently we're not handling + // colorFilter + // extLst + // iconFilter + self::AUTOFILTER_RULETYPE_FILTER, + self::AUTOFILTER_RULETYPE_DATEGROUP, + self::AUTOFILTER_RULETYPE_CUSTOMFILTER, + self::AUTOFILTER_RULETYPE_DYNAMICFILTER, + self::AUTOFILTER_RULETYPE_TOPTENFILTER, + ); + + const AUTOFILTER_RULETYPE_DATEGROUP_YEAR = 'year'; + const AUTOFILTER_RULETYPE_DATEGROUP_MONTH = 'month'; + const AUTOFILTER_RULETYPE_DATEGROUP_DAY = 'day'; + const AUTOFILTER_RULETYPE_DATEGROUP_HOUR = 'hour'; + const AUTOFILTER_RULETYPE_DATEGROUP_MINUTE = 'minute'; + const AUTOFILTER_RULETYPE_DATEGROUP_SECOND = 'second'; + + private static $_dateTimeGroups = array( + self::AUTOFILTER_RULETYPE_DATEGROUP_YEAR, + self::AUTOFILTER_RULETYPE_DATEGROUP_MONTH, + self::AUTOFILTER_RULETYPE_DATEGROUP_DAY, + self::AUTOFILTER_RULETYPE_DATEGROUP_HOUR, + self::AUTOFILTER_RULETYPE_DATEGROUP_MINUTE, + self::AUTOFILTER_RULETYPE_DATEGROUP_SECOND, + ); + + const AUTOFILTER_RULETYPE_DYNAMIC_YESTERDAY = 'yesterday'; + const AUTOFILTER_RULETYPE_DYNAMIC_TODAY = 'today'; + const AUTOFILTER_RULETYPE_DYNAMIC_TOMORROW = 'tomorrow'; + const AUTOFILTER_RULETYPE_DYNAMIC_YEARTODATE = 'yearToDate'; + const AUTOFILTER_RULETYPE_DYNAMIC_THISYEAR = 'thisYear'; + const AUTOFILTER_RULETYPE_DYNAMIC_THISQUARTER = 'thisQuarter'; + const AUTOFILTER_RULETYPE_DYNAMIC_THISMONTH = 'thisMonth'; + const AUTOFILTER_RULETYPE_DYNAMIC_THISWEEK = 'thisWeek'; + const AUTOFILTER_RULETYPE_DYNAMIC_LASTYEAR = 'lastYear'; + const AUTOFILTER_RULETYPE_DYNAMIC_LASTQUARTER = 'lastQuarter'; + const AUTOFILTER_RULETYPE_DYNAMIC_LASTMONTH = 'lastMonth'; + const AUTOFILTER_RULETYPE_DYNAMIC_LASTWEEK = 'lastWeek'; + const AUTOFILTER_RULETYPE_DYNAMIC_NEXTYEAR = 'nextYear'; + const AUTOFILTER_RULETYPE_DYNAMIC_NEXTQUARTER = 'nextQuarter'; + const AUTOFILTER_RULETYPE_DYNAMIC_NEXTMONTH = 'nextMonth'; + const AUTOFILTER_RULETYPE_DYNAMIC_NEXTWEEK = 'nextWeek'; + const AUTOFILTER_RULETYPE_DYNAMIC_MONTH_1 = 'M1'; + const AUTOFILTER_RULETYPE_DYNAMIC_JANUARY = self::AUTOFILTER_RULETYPE_DYNAMIC_MONTH_1; + const AUTOFILTER_RULETYPE_DYNAMIC_MONTH_2 = 'M2'; + const AUTOFILTER_RULETYPE_DYNAMIC_FEBRUARY = self::AUTOFILTER_RULETYPE_DYNAMIC_MONTH_2; + const AUTOFILTER_RULETYPE_DYNAMIC_MONTH_3 = 'M3'; + const AUTOFILTER_RULETYPE_DYNAMIC_MARCH = self::AUTOFILTER_RULETYPE_DYNAMIC_MONTH_3; + const AUTOFILTER_RULETYPE_DYNAMIC_MONTH_4 = 'M4'; + const AUTOFILTER_RULETYPE_DYNAMIC_APRIL = self::AUTOFILTER_RULETYPE_DYNAMIC_MONTH_4; + const AUTOFILTER_RULETYPE_DYNAMIC_MONTH_5 = 'M5'; + const AUTOFILTER_RULETYPE_DYNAMIC_MAY = self::AUTOFILTER_RULETYPE_DYNAMIC_MONTH_5; + const AUTOFILTER_RULETYPE_DYNAMIC_MONTH_6 = 'M6'; + const AUTOFILTER_RULETYPE_DYNAMIC_JUNE = self::AUTOFILTER_RULETYPE_DYNAMIC_MONTH_6; + const AUTOFILTER_RULETYPE_DYNAMIC_MONTH_7 = 'M7'; + const AUTOFILTER_RULETYPE_DYNAMIC_JULY = self::AUTOFILTER_RULETYPE_DYNAMIC_MONTH_7; + const AUTOFILTER_RULETYPE_DYNAMIC_MONTH_8 = 'M8'; + const AUTOFILTER_RULETYPE_DYNAMIC_AUGUST = self::AUTOFILTER_RULETYPE_DYNAMIC_MONTH_8; + const AUTOFILTER_RULETYPE_DYNAMIC_MONTH_9 = 'M9'; + const AUTOFILTER_RULETYPE_DYNAMIC_SEPTEMBER = self::AUTOFILTER_RULETYPE_DYNAMIC_MONTH_9; + const AUTOFILTER_RULETYPE_DYNAMIC_MONTH_10 = 'M10'; + const AUTOFILTER_RULETYPE_DYNAMIC_OCTOBER = self::AUTOFILTER_RULETYPE_DYNAMIC_MONTH_10; + const AUTOFILTER_RULETYPE_DYNAMIC_MONTH_11 = 'M11'; + const AUTOFILTER_RULETYPE_DYNAMIC_NOVEMBER = self::AUTOFILTER_RULETYPE_DYNAMIC_MONTH_11; + const AUTOFILTER_RULETYPE_DYNAMIC_MONTH_12 = 'M12'; + const AUTOFILTER_RULETYPE_DYNAMIC_DECEMBER = self::AUTOFILTER_RULETYPE_DYNAMIC_MONTH_12; + const AUTOFILTER_RULETYPE_DYNAMIC_QUARTER_1 = 'Q1'; + const AUTOFILTER_RULETYPE_DYNAMIC_QUARTER_2 = 'Q2'; + const AUTOFILTER_RULETYPE_DYNAMIC_QUARTER_3 = 'Q3'; + const AUTOFILTER_RULETYPE_DYNAMIC_QUARTER_4 = 'Q4'; + const AUTOFILTER_RULETYPE_DYNAMIC_ABOVEAVERAGE = 'aboveAverage'; + const AUTOFILTER_RULETYPE_DYNAMIC_BELOWAVERAGE = 'belowAverage'; + + private static $_dynamicTypes = array( + self::AUTOFILTER_RULETYPE_DYNAMIC_YESTERDAY, + self::AUTOFILTER_RULETYPE_DYNAMIC_TODAY, + self::AUTOFILTER_RULETYPE_DYNAMIC_TOMORROW, + self::AUTOFILTER_RULETYPE_DYNAMIC_YEARTODATE, + self::AUTOFILTER_RULETYPE_DYNAMIC_THISYEAR, + self::AUTOFILTER_RULETYPE_DYNAMIC_THISQUARTER, + self::AUTOFILTER_RULETYPE_DYNAMIC_THISMONTH, + self::AUTOFILTER_RULETYPE_DYNAMIC_THISWEEK, + self::AUTOFILTER_RULETYPE_DYNAMIC_LASTYEAR, + self::AUTOFILTER_RULETYPE_DYNAMIC_LASTQUARTER, + self::AUTOFILTER_RULETYPE_DYNAMIC_LASTMONTH, + self::AUTOFILTER_RULETYPE_DYNAMIC_LASTWEEK, + self::AUTOFILTER_RULETYPE_DYNAMIC_NEXTYEAR, + self::AUTOFILTER_RULETYPE_DYNAMIC_NEXTQUARTER, + self::AUTOFILTER_RULETYPE_DYNAMIC_NEXTMONTH, + self::AUTOFILTER_RULETYPE_DYNAMIC_NEXTWEEK, + self::AUTOFILTER_RULETYPE_DYNAMIC_MONTH_1, + self::AUTOFILTER_RULETYPE_DYNAMIC_MONTH_2, + self::AUTOFILTER_RULETYPE_DYNAMIC_MONTH_3, + self::AUTOFILTER_RULETYPE_DYNAMIC_MONTH_4, + self::AUTOFILTER_RULETYPE_DYNAMIC_MONTH_5, + self::AUTOFILTER_RULETYPE_DYNAMIC_MONTH_6, + self::AUTOFILTER_RULETYPE_DYNAMIC_MONTH_7, + self::AUTOFILTER_RULETYPE_DYNAMIC_MONTH_8, + self::AUTOFILTER_RULETYPE_DYNAMIC_MONTH_9, + self::AUTOFILTER_RULETYPE_DYNAMIC_MONTH_10, + self::AUTOFILTER_RULETYPE_DYNAMIC_MONTH_11, + self::AUTOFILTER_RULETYPE_DYNAMIC_MONTH_12, + self::AUTOFILTER_RULETYPE_DYNAMIC_QUARTER_1, + self::AUTOFILTER_RULETYPE_DYNAMIC_QUARTER_2, + self::AUTOFILTER_RULETYPE_DYNAMIC_QUARTER_3, + self::AUTOFILTER_RULETYPE_DYNAMIC_QUARTER_4, + self::AUTOFILTER_RULETYPE_DYNAMIC_ABOVEAVERAGE, + self::AUTOFILTER_RULETYPE_DYNAMIC_BELOWAVERAGE, + ); + + /* + * The only valid filter rule operators for filter and customFilter types are: + * <xsd:enumeration value="equal"/> + * <xsd:enumeration value="lessThan"/> + * <xsd:enumeration value="lessThanOrEqual"/> + * <xsd:enumeration value="notEqual"/> + * <xsd:enumeration value="greaterThanOrEqual"/> + * <xsd:enumeration value="greaterThan"/> + */ + const AUTOFILTER_COLUMN_RULE_EQUAL = 'equal'; + const AUTOFILTER_COLUMN_RULE_NOTEQUAL = 'notEqual'; + const AUTOFILTER_COLUMN_RULE_GREATERTHAN = 'greaterThan'; + const AUTOFILTER_COLUMN_RULE_GREATERTHANOREQUAL = 'greaterThanOrEqual'; + const AUTOFILTER_COLUMN_RULE_LESSTHAN = 'lessThan'; + const AUTOFILTER_COLUMN_RULE_LESSTHANOREQUAL = 'lessThanOrEqual'; + + private static $_operators = array( + self::AUTOFILTER_COLUMN_RULE_EQUAL, + self::AUTOFILTER_COLUMN_RULE_NOTEQUAL, + self::AUTOFILTER_COLUMN_RULE_GREATERTHAN, + self::AUTOFILTER_COLUMN_RULE_GREATERTHANOREQUAL, + self::AUTOFILTER_COLUMN_RULE_LESSTHAN, + self::AUTOFILTER_COLUMN_RULE_LESSTHANOREQUAL, + ); + + const AUTOFILTER_COLUMN_RULE_TOPTEN_BY_VALUE = 'byValue'; + const AUTOFILTER_COLUMN_RULE_TOPTEN_PERCENT = 'byPercent'; + + private static $_topTenValue = array( + self::AUTOFILTER_COLUMN_RULE_TOPTEN_BY_VALUE, + self::AUTOFILTER_COLUMN_RULE_TOPTEN_PERCENT, + ); + + const AUTOFILTER_COLUMN_RULE_TOPTEN_TOP = 'top'; + const AUTOFILTER_COLUMN_RULE_TOPTEN_BOTTOM = 'bottom'; + + private static $_topTenType = array( + self::AUTOFILTER_COLUMN_RULE_TOPTEN_TOP, + self::AUTOFILTER_COLUMN_RULE_TOPTEN_BOTTOM, + ); + + + /* Rule Operators (Numeric, Boolean etc) */ +// const AUTOFILTER_COLUMN_RULE_BETWEEN = 'between'; // greaterThanOrEqual 1 && lessThanOrEqual 2 + /* Rule Operators (Numeric Special) which are translated to standard numeric operators with calculated values */ +// const AUTOFILTER_COLUMN_RULE_TOPTEN = 'topTen'; // greaterThan calculated value +// const AUTOFILTER_COLUMN_RULE_TOPTENPERCENT = 'topTenPercent'; // greaterThan calculated value +// const AUTOFILTER_COLUMN_RULE_ABOVEAVERAGE = 'aboveAverage'; // Value is calculated as the average +// const AUTOFILTER_COLUMN_RULE_BELOWAVERAGE = 'belowAverage'; // Value is calculated as the average + /* Rule Operators (String) which are set as wild-carded values */ +// const AUTOFILTER_COLUMN_RULE_BEGINSWITH = 'beginsWith'; // A* +// const AUTOFILTER_COLUMN_RULE_ENDSWITH = 'endsWith'; // *Z +// const AUTOFILTER_COLUMN_RULE_CONTAINS = 'contains'; // *B* +// const AUTOFILTER_COLUMN_RULE_DOESNTCONTAIN = 'notEqual'; // notEqual *B* + /* Rule Operators (Date Special) which are translated to standard numeric operators with calculated values */ +// const AUTOFILTER_COLUMN_RULE_BEFORE = 'lessThan'; +// const AUTOFILTER_COLUMN_RULE_AFTER = 'greaterThan'; +// const AUTOFILTER_COLUMN_RULE_YESTERDAY = 'yesterday'; +// const AUTOFILTER_COLUMN_RULE_TODAY = 'today'; +// const AUTOFILTER_COLUMN_RULE_TOMORROW = 'tomorrow'; +// const AUTOFILTER_COLUMN_RULE_LASTWEEK = 'lastWeek'; +// const AUTOFILTER_COLUMN_RULE_THISWEEK = 'thisWeek'; +// const AUTOFILTER_COLUMN_RULE_NEXTWEEK = 'nextWeek'; +// const AUTOFILTER_COLUMN_RULE_LASTMONTH = 'lastMonth'; +// const AUTOFILTER_COLUMN_RULE_THISMONTH = 'thisMonth'; +// const AUTOFILTER_COLUMN_RULE_NEXTMONTH = 'nextMonth'; +// const AUTOFILTER_COLUMN_RULE_LASTQUARTER = 'lastQuarter'; +// const AUTOFILTER_COLUMN_RULE_THISQUARTER = 'thisQuarter'; +// const AUTOFILTER_COLUMN_RULE_NEXTQUARTER = 'nextQuarter'; +// const AUTOFILTER_COLUMN_RULE_LASTYEAR = 'lastYear'; +// const AUTOFILTER_COLUMN_RULE_THISYEAR = 'thisYear'; +// const AUTOFILTER_COLUMN_RULE_NEXTYEAR = 'nextYear'; +// const AUTOFILTER_COLUMN_RULE_YEARTODATE = 'yearToDate'; // <dynamicFilter val="40909" type="yearToDate" maxVal="41113"/> +// const AUTOFILTER_COLUMN_RULE_ALLDATESINMONTH = 'allDatesInMonth'; // <dynamicFilter type="M2"/> for Month/February +// const AUTOFILTER_COLUMN_RULE_ALLDATESINQUARTER = 'allDatesInQuarter'; // <dynamicFilter type="Q2"/> for Quarter 2 + + /** + * Autofilter Column + * + * @var PHPExcel_Worksheet_AutoFilter_Column + */ + private $_parent = NULL; + + + /** + * Autofilter Rule Type + * + * @var string + */ + private $_ruleType = self::AUTOFILTER_RULETYPE_FILTER; + + + /** + * Autofilter Rule Value + * + * @var string + */ + private $_value = ''; + + /** + * Autofilter Rule Operator + * + * @var string + */ + private $_operator = self::AUTOFILTER_COLUMN_RULE_EQUAL; + + /** + * DateTimeGrouping Group Value + * + * @var string + */ + private $_grouping = ''; + + + /** + * Create a new PHPExcel_Worksheet_AutoFilter_Column_Rule + * + * @param PHPExcel_Worksheet_AutoFilter_Column $pParent + */ + public function __construct(PHPExcel_Worksheet_AutoFilter_Column $pParent = NULL) + { + $this->_parent = $pParent; + } + + /** + * Get AutoFilter Rule Type + * + * @return string + */ + public function getRuleType() { + return $this->_ruleType; + } + + /** + * Set AutoFilter Rule Type + * + * @param string $pRuleType + * @throws PHPExcel_Exception + * @return PHPExcel_Worksheet_AutoFilter_Column + */ + public function setRuleType($pRuleType = self::AUTOFILTER_RULETYPE_FILTER) { + if (!in_array($pRuleType,self::$_ruleTypes)) { + throw new PHPExcel_Exception('Invalid rule type for column AutoFilter Rule.'); + } + + $this->_ruleType = $pRuleType; + + return $this; + } + + /** + * Get AutoFilter Rule Value + * + * @return string + */ + public function getValue() { + return $this->_value; + } + + /** + * Set AutoFilter Rule Value + * + * @param string|string[] $pValue + * @throws PHPExcel_Exception + * @return PHPExcel_Worksheet_AutoFilter_Column_Rule + */ + public function setValue($pValue = '') { + if (is_array($pValue)) { + $grouping = -1; + foreach($pValue as $key => $value) { + // Validate array entries + if (!in_array($key,self::$_dateTimeGroups)) { + // Remove any invalid entries from the value array + unset($pValue[$key]); + } else { + // Work out what the dateTime grouping will be + $grouping = max($grouping,array_search($key,self::$_dateTimeGroups)); + } + } + if (count($pValue) == 0) { + throw new PHPExcel_Exception('Invalid rule value for column AutoFilter Rule.'); + } + // Set the dateTime grouping that we've anticipated + $this->setGrouping(self::$_dateTimeGroups[$grouping]); + } + $this->_value = $pValue; + + return $this; + } + + /** + * Get AutoFilter Rule Operator + * + * @return string + */ + public function getOperator() { + return $this->_operator; + } + + /** + * Set AutoFilter Rule Operator + * + * @param string $pOperator + * @throws PHPExcel_Exception + * @return PHPExcel_Worksheet_AutoFilter_Column_Rule + */ + public function setOperator($pOperator = self::AUTOFILTER_COLUMN_RULE_EQUAL) { + if (empty($pOperator)) + $pOperator = self::AUTOFILTER_COLUMN_RULE_EQUAL; + if ((!in_array($pOperator,self::$_operators)) && + (!in_array($pOperator,self::$_topTenValue))) { + throw new PHPExcel_Exception('Invalid operator for column AutoFilter Rule.'); + } + $this->_operator = $pOperator; + + return $this; + } + + /** + * Get AutoFilter Rule Grouping + * + * @return string + */ + public function getGrouping() { + return $this->_grouping; + } + + /** + * Set AutoFilter Rule Grouping + * + * @param string $pGrouping + * @throws PHPExcel_Exception + * @return PHPExcel_Worksheet_AutoFilter_Column_Rule + */ + public function setGrouping($pGrouping = NULL) { + if (($pGrouping !== NULL) && + (!in_array($pGrouping,self::$_dateTimeGroups)) && + (!in_array($pGrouping,self::$_dynamicTypes)) && + (!in_array($pGrouping,self::$_topTenType))) { + throw new PHPExcel_Exception('Invalid rule type for column AutoFilter Rule.'); + } + + $this->_grouping = $pGrouping; + + return $this; + } + + /** + * Set AutoFilter Rule + * + * @param string $pOperator + * @param string|string[] $pValue + * @param string $pGrouping + * @throws PHPExcel_Exception + * @return PHPExcel_Worksheet_AutoFilter_Column_Rule + */ + public function setRule($pOperator = self::AUTOFILTER_COLUMN_RULE_EQUAL, $pValue = '', $pGrouping = NULL) { + $this->setOperator($pOperator); + $this->setValue($pValue); + // Only set grouping if it's been passed in as a user-supplied argument, + // otherwise we're calculating it when we setValue() and don't want to overwrite that + // If the user supplies an argumnet for grouping, then on their own head be it + if ($pGrouping !== NULL) + $this->setGrouping($pGrouping); + + return $this; + } + + /** + * Get this Rule's AutoFilter Column Parent + * + * @return PHPExcel_Worksheet_AutoFilter_Column + */ + public function getParent() { + return $this->_parent; + } + + /** + * Set this Rule's AutoFilter Column Parent + * + * @param PHPExcel_Worksheet_AutoFilter_Column + * @return PHPExcel_Worksheet_AutoFilter_Column_Rule + */ + public function setParent(PHPExcel_Worksheet_AutoFilter_Column $pParent = NULL) { + $this->_parent = $pParent; + + return $this; + } + + /** + * Implement PHP __clone to create a deep clone, not just a shallow copy. + */ + public function __clone() { + $vars = get_object_vars($this); + foreach ($vars as $key => $value) { + if (is_object($value)) { + if ($key == '_parent') { + // Detach from autofilter column parent + $this->$key = NULL; + } else { + $this->$key = clone $value; + } + } else { + $this->$key = $value; + } + } + } + +} diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Worksheet/BaseDrawing.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Worksheet/BaseDrawing.php new file mode 100644 index 00000000..5a760fca --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Worksheet/BaseDrawing.php @@ -0,0 +1,489 @@ +<?php +/** + * PHPExcel + * + * Copyright (c) 2006 - 2014 PHPExcel + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * @category PHPExcel + * @package PHPExcel_Worksheet + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @version ##VERSION##, ##DATE## + */ + + +/** + * PHPExcel_Worksheet_BaseDrawing + * + * @category PHPExcel + * @package PHPExcel_Worksheet + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + */ +class PHPExcel_Worksheet_BaseDrawing implements PHPExcel_IComparable +{ + /** + * Image counter + * + * @var int + */ + private static $_imageCounter = 0; + + /** + * Image index + * + * @var int + */ + private $_imageIndex = 0; + + /** + * Name + * + * @var string + */ + protected $_name; + + /** + * Description + * + * @var string + */ + protected $_description; + + /** + * Worksheet + * + * @var PHPExcel_Worksheet + */ + protected $_worksheet; + + /** + * Coordinates + * + * @var string + */ + protected $_coordinates; + + /** + * Offset X + * + * @var int + */ + protected $_offsetX; + + /** + * Offset Y + * + * @var int + */ + protected $_offsetY; + + /** + * Width + * + * @var int + */ + protected $_width; + + /** + * Height + * + * @var int + */ + protected $_height; + + /** + * Proportional resize + * + * @var boolean + */ + protected $_resizeProportional; + + /** + * Rotation + * + * @var int + */ + protected $_rotation; + + /** + * Shadow + * + * @var PHPExcel_Worksheet_Drawing_Shadow + */ + protected $_shadow; + + /** + * Create a new PHPExcel_Worksheet_BaseDrawing + */ + public function __construct() + { + // Initialise values + $this->_name = ''; + $this->_description = ''; + $this->_worksheet = null; + $this->_coordinates = 'A1'; + $this->_offsetX = 0; + $this->_offsetY = 0; + $this->_width = 0; + $this->_height = 0; + $this->_resizeProportional = true; + $this->_rotation = 0; + $this->_shadow = new PHPExcel_Worksheet_Drawing_Shadow(); + + // Set image index + self::$_imageCounter++; + $this->_imageIndex = self::$_imageCounter; + } + + /** + * Get image index + * + * @return int + */ + public function getImageIndex() { + return $this->_imageIndex; + } + + /** + * Get Name + * + * @return string + */ + public function getName() { + return $this->_name; + } + + /** + * Set Name + * + * @param string $pValue + * @return PHPExcel_Worksheet_BaseDrawing + */ + public function setName($pValue = '') { + $this->_name = $pValue; + return $this; + } + + /** + * Get Description + * + * @return string + */ + public function getDescription() { + return $this->_description; + } + + /** + * Set Description + * + * @param string $pValue + * @return PHPExcel_Worksheet_BaseDrawing + */ + public function setDescription($pValue = '') { + $this->_description = $pValue; + return $this; + } + + /** + * Get Worksheet + * + * @return PHPExcel_Worksheet + */ + public function getWorksheet() { + return $this->_worksheet; + } + + /** + * Set Worksheet + * + * @param PHPExcel_Worksheet $pValue + * @param bool $pOverrideOld If a Worksheet has already been assigned, overwrite it and remove image from old Worksheet? + * @throws PHPExcel_Exception + * @return PHPExcel_Worksheet_BaseDrawing + */ + public function setWorksheet(PHPExcel_Worksheet $pValue = null, $pOverrideOld = false) { + if (is_null($this->_worksheet)) { + // Add drawing to PHPExcel_Worksheet + $this->_worksheet = $pValue; + $this->_worksheet->getCell($this->_coordinates); + $this->_worksheet->getDrawingCollection()->append($this); + } else { + if ($pOverrideOld) { + // Remove drawing from old PHPExcel_Worksheet + $iterator = $this->_worksheet->getDrawingCollection()->getIterator(); + + while ($iterator->valid()) { + if ($iterator->current()->getHashCode() == $this->getHashCode()) { + $this->_worksheet->getDrawingCollection()->offsetUnset( $iterator->key() ); + $this->_worksheet = null; + break; + } + } + + // Set new PHPExcel_Worksheet + $this->setWorksheet($pValue); + } else { + throw new PHPExcel_Exception("A PHPExcel_Worksheet has already been assigned. Drawings can only exist on one PHPExcel_Worksheet."); + } + } + return $this; + } + + /** + * Get Coordinates + * + * @return string + */ + public function getCoordinates() { + return $this->_coordinates; + } + + /** + * Set Coordinates + * + * @param string $pValue + * @return PHPExcel_Worksheet_BaseDrawing + */ + public function setCoordinates($pValue = 'A1') { + $this->_coordinates = $pValue; + return $this; + } + + /** + * Get OffsetX + * + * @return int + */ + public function getOffsetX() { + return $this->_offsetX; + } + + /** + * Set OffsetX + * + * @param int $pValue + * @return PHPExcel_Worksheet_BaseDrawing + */ + public function setOffsetX($pValue = 0) { + $this->_offsetX = $pValue; + return $this; + } + + /** + * Get OffsetY + * + * @return int + */ + public function getOffsetY() { + return $this->_offsetY; + } + + /** + * Set OffsetY + * + * @param int $pValue + * @return PHPExcel_Worksheet_BaseDrawing + */ + public function setOffsetY($pValue = 0) { + $this->_offsetY = $pValue; + return $this; + } + + /** + * Get Width + * + * @return int + */ + public function getWidth() { + return $this->_width; + } + + /** + * Set Width + * + * @param int $pValue + * @return PHPExcel_Worksheet_BaseDrawing + */ + public function setWidth($pValue = 0) { + // Resize proportional? + if ($this->_resizeProportional && $pValue != 0) { + $ratio = $this->_height / ($this->_width != 0 ? $this->_width : 1); + $this->_height = round($ratio * $pValue); + } + + // Set width + $this->_width = $pValue; + + return $this; + } + + /** + * Get Height + * + * @return int + */ + public function getHeight() { + return $this->_height; + } + + /** + * Set Height + * + * @param int $pValue + * @return PHPExcel_Worksheet_BaseDrawing + */ + public function setHeight($pValue = 0) { + // Resize proportional? + if ($this->_resizeProportional && $pValue != 0) { + $ratio = $this->_width / ($this->_height != 0 ? $this->_height : 1); + $this->_width = round($ratio * $pValue); + } + + // Set height + $this->_height = $pValue; + + return $this; + } + + /** + * Set width and height with proportional resize + * Example: + * <code> + * $objDrawing->setResizeProportional(true); + * $objDrawing->setWidthAndHeight(160,120); + * </code> + * + * @author Vincent@luo MSN:kele_100@hotmail.com + * @param int $width + * @param int $height + * @return PHPExcel_Worksheet_BaseDrawing + */ + public function setWidthAndHeight($width = 0, $height = 0) { + $xratio = $width / ($this->_width != 0 ? $this->_width : 1); + $yratio = $height / ($this->_height != 0 ? $this->_height : 1); + if ($this->_resizeProportional && !($width == 0 || $height == 0)) { + if (($xratio * $this->_height) < $height) { + $this->_height = ceil($xratio * $this->_height); + $this->_width = $width; + } else { + $this->_width = ceil($yratio * $this->_width); + $this->_height = $height; + } + } else { + $this->_width = $width; + $this->_height = $height; + } + + return $this; + } + + /** + * Get ResizeProportional + * + * @return boolean + */ + public function getResizeProportional() { + return $this->_resizeProportional; + } + + /** + * Set ResizeProportional + * + * @param boolean $pValue + * @return PHPExcel_Worksheet_BaseDrawing + */ + public function setResizeProportional($pValue = true) { + $this->_resizeProportional = $pValue; + return $this; + } + + /** + * Get Rotation + * + * @return int + */ + public function getRotation() { + return $this->_rotation; + } + + /** + * Set Rotation + * + * @param int $pValue + * @return PHPExcel_Worksheet_BaseDrawing + */ + public function setRotation($pValue = 0) { + $this->_rotation = $pValue; + return $this; + } + + /** + * Get Shadow + * + * @return PHPExcel_Worksheet_Drawing_Shadow + */ + public function getShadow() { + return $this->_shadow; + } + + /** + * Set Shadow + * + * @param PHPExcel_Worksheet_Drawing_Shadow $pValue + * @throws PHPExcel_Exception + * @return PHPExcel_Worksheet_BaseDrawing + */ + public function setShadow(PHPExcel_Worksheet_Drawing_Shadow $pValue = null) { + $this->_shadow = $pValue; + return $this; + } + + /** + * Get hash code + * + * @return string Hash code + */ + public function getHashCode() { + return md5( + $this->_name + . $this->_description + . $this->_worksheet->getHashCode() + . $this->_coordinates + . $this->_offsetX + . $this->_offsetY + . $this->_width + . $this->_height + . $this->_rotation + . $this->_shadow->getHashCode() + . __CLASS__ + ); + } + + /** + * Implement PHP __clone to create a deep clone, not just a shallow copy. + */ + public function __clone() { + $vars = get_object_vars($this); + foreach ($vars as $key => $value) { + if (is_object($value)) { + $this->$key = clone $value; + } else { + $this->$key = $value; + } + } + } +} diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Worksheet/CellIterator.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Worksheet/CellIterator.php new file mode 100644 index 00000000..239cb4ff --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Worksheet/CellIterator.php @@ -0,0 +1,95 @@ +<?php +/** + * PHPExcel + * + * Copyright (c) 2006 - 2014 PHPExcel + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * @category PHPExcel + * @package PHPExcel_Worksheet + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @version 1.8.0, 2014-03-02 + */ + + +/** + * PHPExcel_Worksheet_CellIterator + * + * Used to iterate rows in a PHPExcel_Worksheet + * + * @category PHPExcel + * @package PHPExcel_Worksheet + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + */ +abstract class PHPExcel_Worksheet_CellIterator +{ + /** + * PHPExcel_Worksheet to iterate + * + * @var PHPExcel_Worksheet + */ + protected $_subject; + + /** + * Current iterator position + * + * @var mixed + */ + protected $_position = null; + + /** + * Iterate only existing cells + * + * @var boolean + */ + protected $_onlyExistingCells = false; + + /** + * Destructor + */ + public function __destruct() { + unset($this->_subject); + } + + /** + * Get loop only existing cells + * + * @return boolean + */ + public function getIterateOnlyExistingCells() { + return $this->_onlyExistingCells; + } + + /** + * Validate start/end values for "IterateOnlyExistingCells" mode, and adjust if necessary + * + * @throws PHPExcel_Exception + */ + abstract protected function adjustForExistingOnlyRange(); + + /** + * Set the iterator to loop only existing cells + * + * @param boolean $value + * @throws PHPExcel_Exception + */ + public function setIterateOnlyExistingCells($value = true) { + $this->_onlyExistingCells = (boolean) $value; + + $this->adjustForExistingOnlyRange(); + } +} diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Worksheet/Column.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Worksheet/Column.php new file mode 100644 index 00000000..94af2135 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Worksheet/Column.php @@ -0,0 +1,92 @@ +<?php +/** + * PHPExcel + * + * Copyright (c) 2006 - 2014 PHPExcel + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * @category PHPExcel + * @package PHPExcel_Worksheet + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @version ##VERSION##, ##DATE## + */ + + +/** + * PHPExcel_Worksheet_Column + * + * Represents a column in PHPExcel_Worksheet, used by PHPExcel_Worksheet_ColumnIterator + * + * @category PHPExcel + * @package PHPExcel_Worksheet + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + */ +class PHPExcel_Worksheet_Column +{ + /** + * PHPExcel_Worksheet + * + * @var PHPExcel_Worksheet + */ + private $_parent; + + /** + * Column index + * + * @var string + */ + private $_columnIndex; + + /** + * Create a new column + * + * @param PHPExcel_Worksheet $parent + * @param string $columnIndex + */ + public function __construct(PHPExcel_Worksheet $parent = null, $columnIndex = 'A') { + // Set parent and column index + $this->_parent = $parent; + $this->_columnIndex = $columnIndex; + } + + /** + * Destructor + */ + public function __destruct() { + unset($this->_parent); + } + + /** + * Get column index + * + * @return int + */ + public function getColumnIndex() { + return $this->_columnIndex; + } + + /** + * Get cell iterator + * + * @param integer $startRow The row number at which to start iterating + * @param integer $endRow Optionally, the row number at which to stop iterating + * @return PHPExcel_Worksheet_CellIterator + */ + public function getCellIterator($startRow = 1, $endRow = null) { + return new PHPExcel_Worksheet_ColumnCellIterator($this->_parent, $this->_columnIndex, $startRow, $endRow); + } +} diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Worksheet/ColumnCellIterator.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Worksheet/ColumnCellIterator.php new file mode 100644 index 00000000..a9ef49f0 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Worksheet/ColumnCellIterator.php @@ -0,0 +1,215 @@ +<?php +/** + * PHPExcel + * + * Copyright (c) 2006 - 2014 PHPExcel + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * @category PHPExcel + * @package PHPExcel_Worksheet + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @version ##VERSION##, ##DATE## + */ + + +/** + * PHPExcel_Worksheet_ColumnCellIterator + * + * Used to iterate columns in a PHPExcel_Worksheet + * + * @category PHPExcel + * @package PHPExcel_Worksheet + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + */ +class PHPExcel_Worksheet_ColumnCellIterator extends PHPExcel_Worksheet_CellIterator implements Iterator +{ + /** + * Column index + * + * @var string + */ + protected $_columnIndex; + + /** + * Start position + * + * @var int + */ + protected $_startRow = 1; + + /** + * End position + * + * @var int + */ + protected $_endRow = 1; + + /** + * Create a new row iterator + * + * @param PHPExcel_Worksheet $subject The worksheet to iterate over + * @param string $columnIndex The column that we want to iterate + * @param integer $startRow The row number at which to start iterating + * @param integer $endRow Optionally, the row number at which to stop iterating + */ + public function __construct(PHPExcel_Worksheet $subject = null, $columnIndex, $startRow = 1, $endRow = null) { + // Set subject + $this->_subject = $subject; + $this->_columnIndex = PHPExcel_Cell::columnIndexFromString($columnIndex) - 1; + $this->resetEnd($endRow); + $this->resetStart($startRow); + } + + /** + * Destructor + */ + public function __destruct() { + unset($this->_subject); + } + + /** + * (Re)Set the start row and the current row pointer + * + * @param integer $startRow The row number at which to start iterating + * @return PHPExcel_Worksheet_ColumnCellIterator + * @throws PHPExcel_Exception + */ + public function resetStart($startRow = 1) { + $this->_startRow = $startRow; + $this->adjustForExistingOnlyRange(); + $this->seek($startRow); + + return $this; + } + + /** + * (Re)Set the end row + * + * @param integer $endRow The row number at which to stop iterating + * @return PHPExcel_Worksheet_ColumnCellIterator + * @throws PHPExcel_Exception + */ + public function resetEnd($endRow = null) { + $this->_endRow = ($endRow) ? $endRow : $this->_subject->getHighestRow(); + $this->adjustForExistingOnlyRange(); + + return $this; + } + + /** + * Set the row pointer to the selected row + * + * @param integer $row The row number to set the current pointer at + * @return PHPExcel_Worksheet_ColumnCellIterator + * @throws PHPExcel_Exception + */ + public function seek($row = 1) { + if (($row < $this->_startRow) || ($row > $this->_endRow)) { + throw new PHPExcel_Exception("Row $row is out of range ({$this->_startRow} - {$this->_endRow})"); + } elseif ($this->_onlyExistingCells && !($this->_subject->cellExistsByColumnAndRow($this->_columnIndex, $row))) { + throw new PHPExcel_Exception('In "IterateOnlyExistingCells" mode and Cell does not exist'); + } + $this->_position = $row; + + return $this; + } + + /** + * Rewind the iterator to the starting row + */ + public function rewind() { + $this->_position = $this->_startRow; + } + + /** + * Return the current cell in this worksheet column + * + * @return PHPExcel_Worksheet_Row + */ + public function current() { + return $this->_subject->getCellByColumnAndRow($this->_columnIndex, $this->_position); + } + + /** + * Return the current iterator key + * + * @return int + */ + public function key() { + return $this->_position; + } + + /** + * Set the iterator to its next value + */ + public function next() { + do { + ++$this->_position; + } while (($this->_onlyExistingCells) && + (!$this->_subject->cellExistsByColumnAndRow($this->_columnIndex, $this->_position)) && + ($this->_position <= $this->_endRow)); + } + + /** + * Set the iterator to its previous value + */ + public function prev() { + if ($this->_position <= $this->_startRow) { + throw new PHPExcel_Exception("Row is already at the beginning of range ({$this->_startRow} - {$this->_endRow})"); + } + + do { + --$this->_position; + } while (($this->_onlyExistingCells) && + (!$this->_subject->cellExistsByColumnAndRow($this->_columnIndex, $this->_position)) && + ($this->_position >= $this->_startRow)); + } + + /** + * Indicate if more rows exist in the worksheet range of rows that we're iterating + * + * @return boolean + */ + public function valid() { + return $this->_position <= $this->_endRow; + } + + /** + * Validate start/end values for "IterateOnlyExistingCells" mode, and adjust if necessary + * + * @throws PHPExcel_Exception + */ + protected function adjustForExistingOnlyRange() { + if ($this->_onlyExistingCells) { + while ((!$this->_subject->cellExistsByColumnAndRow($this->_columnIndex, $this->_startRow)) && + ($this->_startRow <= $this->_endRow)) { + ++$this->_startRow; + } + if ($this->_startRow > $this->_endRow) { + throw new PHPExcel_Exception('No cells exist within the specified range'); + } + while ((!$this->_subject->cellExistsByColumnAndRow($this->_columnIndex, $this->_endRow)) && + ($this->_endRow >= $this->_startRow)) { + --$this->_endRow; + } + if ($this->_endRow < $this->_startRow) { + throw new PHPExcel_Exception('No cells exist within the specified range'); + } + } + } + +} diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Worksheet/ColumnDimension.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Worksheet/ColumnDimension.php new file mode 100644 index 00000000..bc6a042e --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Worksheet/ColumnDimension.php @@ -0,0 +1,266 @@ +<?php +/** + * PHPExcel + * + * Copyright (c) 2006 - 2014 PHPExcel + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * @category PHPExcel + * @package PHPExcel_Worksheet + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @version ##VERSION##, ##DATE## + */ + + +/** + * PHPExcel_Worksheet_ColumnDimension + * + * @category PHPExcel + * @package PHPExcel_Worksheet + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + */ +class PHPExcel_Worksheet_ColumnDimension +{ + /** + * Column index + * + * @var int + */ + private $_columnIndex; + + /** + * Column width + * + * When this is set to a negative value, the column width should be ignored by IWriter + * + * @var double + */ + private $_width = -1; + + /** + * Auto size? + * + * @var bool + */ + private $_autoSize = false; + + /** + * Visible? + * + * @var bool + */ + private $_visible = true; + + /** + * Outline level + * + * @var int + */ + private $_outlineLevel = 0; + + /** + * Collapsed + * + * @var bool + */ + private $_collapsed = false; + + /** + * Index to cellXf + * + * @var int + */ + private $_xfIndex; + + /** + * Create a new PHPExcel_Worksheet_ColumnDimension + * + * @param string $pIndex Character column index + */ + public function __construct($pIndex = 'A') + { + // Initialise values + $this->_columnIndex = $pIndex; + + // set default index to cellXf + $this->_xfIndex = 0; + } + + /** + * Get ColumnIndex + * + * @return string + */ + public function getColumnIndex() { + return $this->_columnIndex; + } + + /** + * Set ColumnIndex + * + * @param string $pValue + * @return PHPExcel_Worksheet_ColumnDimension + */ + public function setColumnIndex($pValue) { + $this->_columnIndex = $pValue; + return $this; + } + + /** + * Get Width + * + * @return double + */ + public function getWidth() { + return $this->_width; + } + + /** + * Set Width + * + * @param double $pValue + * @return PHPExcel_Worksheet_ColumnDimension + */ + public function setWidth($pValue = -1) { + $this->_width = $pValue; + return $this; + } + + /** + * Get Auto Size + * + * @return bool + */ + public function getAutoSize() { + return $this->_autoSize; + } + + /** + * Set Auto Size + * + * @param bool $pValue + * @return PHPExcel_Worksheet_ColumnDimension + */ + public function setAutoSize($pValue = false) { + $this->_autoSize = $pValue; + return $this; + } + + /** + * Get Visible + * + * @return bool + */ + public function getVisible() { + return $this->_visible; + } + + /** + * Set Visible + * + * @param bool $pValue + * @return PHPExcel_Worksheet_ColumnDimension + */ + public function setVisible($pValue = true) { + $this->_visible = $pValue; + return $this; + } + + /** + * Get Outline Level + * + * @return int + */ + public function getOutlineLevel() { + return $this->_outlineLevel; + } + + /** + * Set Outline Level + * + * Value must be between 0 and 7 + * + * @param int $pValue + * @throws PHPExcel_Exception + * @return PHPExcel_Worksheet_ColumnDimension + */ + public function setOutlineLevel($pValue) { + if ($pValue < 0 || $pValue > 7) { + throw new PHPExcel_Exception("Outline level must range between 0 and 7."); + } + + $this->_outlineLevel = $pValue; + return $this; + } + + /** + * Get Collapsed + * + * @return bool + */ + public function getCollapsed() { + return $this->_collapsed; + } + + /** + * Set Collapsed + * + * @param bool $pValue + * @return PHPExcel_Worksheet_ColumnDimension + */ + public function setCollapsed($pValue = true) { + $this->_collapsed = $pValue; + return $this; + } + + /** + * Get index to cellXf + * + * @return int + */ + public function getXfIndex() + { + return $this->_xfIndex; + } + + /** + * Set index to cellXf + * + * @param int $pValue + * @return PHPExcel_Worksheet_ColumnDimension + */ + public function setXfIndex($pValue = 0) + { + $this->_xfIndex = $pValue; + return $this; + } + + /** + * Implement PHP __clone to create a deep clone, not just a shallow copy. + */ + public function __clone() { + $vars = get_object_vars($this); + foreach ($vars as $key => $value) { + if (is_object($value)) { + $this->$key = clone $value; + } else { + $this->$key = $value; + } + } + } + +} diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Worksheet/ColumnIterator.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Worksheet/ColumnIterator.php new file mode 100644 index 00000000..3030b3f4 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Worksheet/ColumnIterator.php @@ -0,0 +1,192 @@ +<?php +/** + * PHPExcel + * + * Copyright (c) 2006 - 2014 PHPExcel + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * @category PHPExcel + * @package PHPExcel_Worksheet + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @version ##VERSION##, ##DATE## + */ + + +/** + * PHPExcel_Worksheet_ColumnIterator + * + * Used to iterate columns in a PHPExcel_Worksheet + * + * @category PHPExcel + * @package PHPExcel_Worksheet + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + */ +class PHPExcel_Worksheet_ColumnIterator implements Iterator +{ + /** + * PHPExcel_Worksheet to iterate + * + * @var PHPExcel_Worksheet + */ + private $_subject; + + /** + * Current iterator position + * + * @var int + */ + private $_position = 0; + + /** + * Start position + * + * @var int + */ + private $_startColumn = 0; + + + /** + * End position + * + * @var int + */ + private $_endColumn = 0; + + + /** + * Create a new column iterator + * + * @param PHPExcel_Worksheet $subject The worksheet to iterate over + * @param string $startColumn The column address at which to start iterating + * @param string $endColumn Optionally, the column address at which to stop iterating + */ + public function __construct(PHPExcel_Worksheet $subject = null, $startColumn = 'A', $endColumn = null) { + // Set subject + $this->_subject = $subject; + $this->resetEnd($endColumn); + $this->resetStart($startColumn); + } + + /** + * Destructor + */ + public function __destruct() { + unset($this->_subject); + } + + /** + * (Re)Set the start column and the current column pointer + * + * @param integer $startColumn The column address at which to start iterating + * @return PHPExcel_Worksheet_ColumnIterator + */ + public function resetStart($startColumn = 'A') { + $startColumnIndex = PHPExcel_Cell::columnIndexFromString($startColumn) - 1; + $this->_startColumn = $startColumnIndex; + $this->seek($startColumn); + + return $this; + } + + /** + * (Re)Set the end column + * + * @param string $endColumn The column address at which to stop iterating + * @return PHPExcel_Worksheet_ColumnIterator + */ + public function resetEnd($endColumn = null) { + $endColumn = ($endColumn) ? $endColumn : $this->_subject->getHighestColumn(); + $this->_endColumn = PHPExcel_Cell::columnIndexFromString($endColumn) - 1; + + return $this; + } + + /** + * Set the column pointer to the selected column + * + * @param string $column The column address to set the current pointer at + * @return PHPExcel_Worksheet_ColumnIterator + * @throws PHPExcel_Exception + */ + public function seek($column = 'A') { + $column = PHPExcel_Cell::columnIndexFromString($column) - 1; + if (($column < $this->_startColumn) || ($column > $this->_endColumn)) { + throw new PHPExcel_Exception("Column $column is out of range ({$this->_startColumn} - {$this->_endColumn})"); + } + $this->_position = $column; + + return $this; + } + + /** + * Rewind the iterator to the starting column + */ + public function rewind() { + $this->_position = $this->_startColumn; + } + + /** + * Return the current column in this worksheet + * + * @return PHPExcel_Worksheet_Column + */ + public function current() { + return new PHPExcel_Worksheet_Column($this->_subject, PHPExcel_Cell::stringFromColumnIndex($this->_position)); + } + + /** + * Return the current iterator key + * + * @return string + */ + public function key() { + return PHPExcel_Cell::stringFromColumnIndex($this->_position); + } + + /** + * Set the iterator to its next value + */ + public function next() { + ++$this->_position; + } + + /** + * Set the iterator to its previous value + * + * @throws PHPExcel_Exception + */ + public function prev() { + if ($this->_position <= $this->_startColumn) { + throw new PHPExcel_Exception( + "Column is already at the beginning of range (" . + PHPExcel_Cell::stringFromColumnIndex($this->_endColumn) . " - " . + PHPExcel_Cell::stringFromColumnIndex($this->_endColumn) . ")" + ); + } + + --$this->_position; + } + + /** + * Indicate if more columns exist in the worksheet range of columns that we're iterating + * + * @return boolean + */ + public function valid() { + return $this->_position <= $this->_endColumn; + } +} diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Worksheet/Drawing.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Worksheet/Drawing.php new file mode 100644 index 00000000..e8d87f1d --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Worksheet/Drawing.php @@ -0,0 +1,148 @@ +<?php +/** + * PHPExcel + * + * Copyright (c) 2006 - 2014 PHPExcel + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * @category PHPExcel + * @package PHPExcel_Worksheet_Drawing + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @version ##VERSION##, ##DATE## + */ + + +/** + * PHPExcel_Worksheet_Drawing + * + * @category PHPExcel + * @package PHPExcel_Worksheet_Drawing + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + */ +class PHPExcel_Worksheet_Drawing extends PHPExcel_Worksheet_BaseDrawing implements PHPExcel_IComparable +{ + /** + * Path + * + * @var string + */ + private $_path; + + /** + * Create a new PHPExcel_Worksheet_Drawing + */ + public function __construct() + { + // Initialise values + $this->_path = ''; + + // Initialize parent + parent::__construct(); + } + + /** + * Get Filename + * + * @return string + */ + public function getFilename() { + return basename($this->_path); + } + + /** + * Get indexed filename (using image index) + * + * @return string + */ + public function getIndexedFilename() { + $fileName = $this->getFilename(); + $fileName = str_replace(' ', '_', $fileName); + return str_replace('.' . $this->getExtension(), '', $fileName) . $this->getImageIndex() . '.' . $this->getExtension(); + } + + /** + * Get Extension + * + * @return string + */ + public function getExtension() { + $exploded = explode(".", basename($this->_path)); + return $exploded[count($exploded) - 1]; + } + + /** + * Get Path + * + * @return string + */ + public function getPath() { + return $this->_path; + } + + /** + * Set Path + * + * @param string $pValue File path + * @param boolean $pVerifyFile Verify file + * @throws PHPExcel_Exception + * @return PHPExcel_Worksheet_Drawing + */ + public function setPath($pValue = '', $pVerifyFile = true) { + if ($pVerifyFile) { + if (file_exists($pValue)) { + $this->_path = $pValue; + + if ($this->_width == 0 && $this->_height == 0) { + // Get width/height + list($this->_width, $this->_height) = getimagesize($pValue); + } + } else { + throw new PHPExcel_Exception("File $pValue not found!"); + } + } else { + $this->_path = $pValue; + } + return $this; + } + + /** + * Get hash code + * + * @return string Hash code + */ + public function getHashCode() { + return md5( + $this->_path + . parent::getHashCode() + . __CLASS__ + ); + } + + /** + * Implement PHP __clone to create a deep clone, not just a shallow copy. + */ + public function __clone() { + $vars = get_object_vars($this); + foreach ($vars as $key => $value) { + if (is_object($value)) { + $this->$key = clone $value; + } else { + $this->$key = $value; + } + } + } +} diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Worksheet/Drawing/Shadow.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Worksheet/Drawing/Shadow.php new file mode 100644 index 00000000..98b95b1a --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Worksheet/Drawing/Shadow.php @@ -0,0 +1,288 @@ +<?php +/** + * PHPExcel + * + * Copyright (c) 2006 - 2014 PHPExcel + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * @category PHPExcel + * @package PHPExcel_Worksheet_Drawing + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @version ##VERSION##, ##DATE## + */ + + +/** + * PHPExcel_Worksheet_Drawing_Shadow + * + * @category PHPExcel + * @package PHPExcel_Worksheet_Drawing + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + */ +class PHPExcel_Worksheet_Drawing_Shadow implements PHPExcel_IComparable +{ + /* Shadow alignment */ + const SHADOW_BOTTOM = 'b'; + const SHADOW_BOTTOM_LEFT = 'bl'; + const SHADOW_BOTTOM_RIGHT = 'br'; + const SHADOW_CENTER = 'ctr'; + const SHADOW_LEFT = 'l'; + const SHADOW_TOP = 't'; + const SHADOW_TOP_LEFT = 'tl'; + const SHADOW_TOP_RIGHT = 'tr'; + + /** + * Visible + * + * @var boolean + */ + private $_visible; + + /** + * Blur radius + * + * Defaults to 6 + * + * @var int + */ + private $_blurRadius; + + /** + * Shadow distance + * + * Defaults to 2 + * + * @var int + */ + private $_distance; + + /** + * Shadow direction (in degrees) + * + * @var int + */ + private $_direction; + + /** + * Shadow alignment + * + * @var int + */ + private $_alignment; + + /** + * Color + * + * @var PHPExcel_Style_Color + */ + private $_color; + + /** + * Alpha + * + * @var int + */ + private $_alpha; + + /** + * Create a new PHPExcel_Worksheet_Drawing_Shadow + */ + public function __construct() + { + // Initialise values + $this->_visible = false; + $this->_blurRadius = 6; + $this->_distance = 2; + $this->_direction = 0; + $this->_alignment = PHPExcel_Worksheet_Drawing_Shadow::SHADOW_BOTTOM_RIGHT; + $this->_color = new PHPExcel_Style_Color(PHPExcel_Style_Color::COLOR_BLACK); + $this->_alpha = 50; + } + + /** + * Get Visible + * + * @return boolean + */ + public function getVisible() { + return $this->_visible; + } + + /** + * Set Visible + * + * @param boolean $pValue + * @return PHPExcel_Worksheet_Drawing_Shadow + */ + public function setVisible($pValue = false) { + $this->_visible = $pValue; + return $this; + } + + /** + * Get Blur radius + * + * @return int + */ + public function getBlurRadius() { + return $this->_blurRadius; + } + + /** + * Set Blur radius + * + * @param int $pValue + * @return PHPExcel_Worksheet_Drawing_Shadow + */ + public function setBlurRadius($pValue = 6) { + $this->_blurRadius = $pValue; + return $this; + } + + /** + * Get Shadow distance + * + * @return int + */ + public function getDistance() { + return $this->_distance; + } + + /** + * Set Shadow distance + * + * @param int $pValue + * @return PHPExcel_Worksheet_Drawing_Shadow + */ + public function setDistance($pValue = 2) { + $this->_distance = $pValue; + return $this; + } + + /** + * Get Shadow direction (in degrees) + * + * @return int + */ + public function getDirection() { + return $this->_direction; + } + + /** + * Set Shadow direction (in degrees) + * + * @param int $pValue + * @return PHPExcel_Worksheet_Drawing_Shadow + */ + public function setDirection($pValue = 0) { + $this->_direction = $pValue; + return $this; + } + + /** + * Get Shadow alignment + * + * @return int + */ + public function getAlignment() { + return $this->_alignment; + } + + /** + * Set Shadow alignment + * + * @param int $pValue + * @return PHPExcel_Worksheet_Drawing_Shadow + */ + public function setAlignment($pValue = 0) { + $this->_alignment = $pValue; + return $this; + } + + /** + * Get Color + * + * @return PHPExcel_Style_Color + */ + public function getColor() { + return $this->_color; + } + + /** + * Set Color + * + * @param PHPExcel_Style_Color $pValue + * @throws PHPExcel_Exception + * @return PHPExcel_Worksheet_Drawing_Shadow + */ + public function setColor(PHPExcel_Style_Color $pValue = null) { + $this->_color = $pValue; + return $this; + } + + /** + * Get Alpha + * + * @return int + */ + public function getAlpha() { + return $this->_alpha; + } + + /** + * Set Alpha + * + * @param int $pValue + * @return PHPExcel_Worksheet_Drawing_Shadow + */ + public function setAlpha($pValue = 0) { + $this->_alpha = $pValue; + return $this; + } + + /** + * Get hash code + * + * @return string Hash code + */ + public function getHashCode() { + return md5( + ($this->_visible ? 't' : 'f') + . $this->_blurRadius + . $this->_distance + . $this->_direction + . $this->_alignment + . $this->_color->getHashCode() + . $this->_alpha + . __CLASS__ + ); + } + + /** + * Implement PHP __clone to create a deep clone, not just a shallow copy. + */ + public function __clone() { + $vars = get_object_vars($this); + foreach ($vars as $key => $value) { + if (is_object($value)) { + $this->$key = clone $value; + } else { + $this->$key = $value; + } + } + } +} diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Worksheet/HeaderFooter.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Worksheet/HeaderFooter.php new file mode 100644 index 00000000..80374163 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Worksheet/HeaderFooter.php @@ -0,0 +1,465 @@ +<?php +/** + * PHPExcel + * + * Copyright (c) 2006 - 2014 PHPExcel + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * @category PHPExcel + * @package PHPExcel_Worksheet + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @version ##VERSION##, ##DATE## + */ + + +/** + * PHPExcel_Worksheet_HeaderFooter + * + * <code> + * Header/Footer Formatting Syntax taken from Office Open XML Part 4 - Markup Language Reference, page 1970: + * + * There are a number of formatting codes that can be written inline with the actual header / footer text, which + * affect the formatting in the header or footer. + * + * Example: This example shows the text "Center Bold Header" on the first line (center section), and the date on + * the second line (center section). + * &CCenter &"-,Bold"Bold&"-,Regular"Header_x000A_&D + * + * General Rules: + * There is no required order in which these codes must appear. + * + * The first occurrence of the following codes turns the formatting ON, the second occurrence turns it OFF again: + * - strikethrough + * - superscript + * - subscript + * Superscript and subscript cannot both be ON at same time. Whichever comes first wins and the other is ignored, + * while the first is ON. + * &L - code for "left section" (there are three header / footer locations, "left", "center", and "right"). When + * two or more occurrences of this section marker exist, the contents from all markers are concatenated, in the + * order of appearance, and placed into the left section. + * &P - code for "current page #" + * &N - code for "total pages" + * &font size - code for "text font size", where font size is a font size in points. + * &K - code for "text font color" + * RGB Color is specified as RRGGBB + * Theme Color is specifed as TTSNN where TT is the theme color Id, S is either "+" or "-" of the tint/shade + * value, NN is the tint/shade value. + * &S - code for "text strikethrough" on / off + * &X - code for "text super script" on / off + * &Y - code for "text subscript" on / off + * &C - code for "center section". When two or more occurrences of this section marker exist, the contents + * from all markers are concatenated, in the order of appearance, and placed into the center section. + * + * &D - code for "date" + * &T - code for "time" + * &G - code for "picture as background" + * &U - code for "text single underline" + * &E - code for "double underline" + * &R - code for "right section". When two or more occurrences of this section marker exist, the contents + * from all markers are concatenated, in the order of appearance, and placed into the right section. + * &Z - code for "this workbook's file path" + * &F - code for "this workbook's file name" + * &A - code for "sheet tab name" + * &+ - code for add to page #. + * &- - code for subtract from page #. + * &"font name,font type" - code for "text font name" and "text font type", where font name and font type + * are strings specifying the name and type of the font, separated by a comma. When a hyphen appears in font + * name, it means "none specified". Both of font name and font type can be localized values. + * &"-,Bold" - code for "bold font style" + * &B - also means "bold font style". + * &"-,Regular" - code for "regular font style" + * &"-,Italic" - code for "italic font style" + * &I - also means "italic font style" + * &"-,Bold Italic" code for "bold italic font style" + * &O - code for "outline style" + * &H - code for "shadow style" + * </code> + * + * @category PHPExcel + * @package PHPExcel_Worksheet + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + */ +class PHPExcel_Worksheet_HeaderFooter +{ + /* Header/footer image location */ + const IMAGE_HEADER_LEFT = 'LH'; + const IMAGE_HEADER_CENTER = 'CH'; + const IMAGE_HEADER_RIGHT = 'RH'; + const IMAGE_FOOTER_LEFT = 'LF'; + const IMAGE_FOOTER_CENTER = 'CF'; + const IMAGE_FOOTER_RIGHT = 'RF'; + + /** + * OddHeader + * + * @var string + */ + private $_oddHeader = ''; + + /** + * OddFooter + * + * @var string + */ + private $_oddFooter = ''; + + /** + * EvenHeader + * + * @var string + */ + private $_evenHeader = ''; + + /** + * EvenFooter + * + * @var string + */ + private $_evenFooter = ''; + + /** + * FirstHeader + * + * @var string + */ + private $_firstHeader = ''; + + /** + * FirstFooter + * + * @var string + */ + private $_firstFooter = ''; + + /** + * Different header for Odd/Even, defaults to false + * + * @var boolean + */ + private $_differentOddEven = false; + + /** + * Different header for first page, defaults to false + * + * @var boolean + */ + private $_differentFirst = false; + + /** + * Scale with document, defaults to true + * + * @var boolean + */ + private $_scaleWithDocument = true; + + /** + * Align with margins, defaults to true + * + * @var boolean + */ + private $_alignWithMargins = true; + + /** + * Header/footer images + * + * @var PHPExcel_Worksheet_HeaderFooterDrawing[] + */ + private $_headerFooterImages = array(); + + /** + * Create a new PHPExcel_Worksheet_HeaderFooter + */ + public function __construct() + { + } + + /** + * Get OddHeader + * + * @return string + */ + public function getOddHeader() { + return $this->_oddHeader; + } + + /** + * Set OddHeader + * + * @param string $pValue + * @return PHPExcel_Worksheet_HeaderFooter + */ + public function setOddHeader($pValue) { + $this->_oddHeader = $pValue; + return $this; + } + + /** + * Get OddFooter + * + * @return string + */ + public function getOddFooter() { + return $this->_oddFooter; + } + + /** + * Set OddFooter + * + * @param string $pValue + * @return PHPExcel_Worksheet_HeaderFooter + */ + public function setOddFooter($pValue) { + $this->_oddFooter = $pValue; + return $this; + } + + /** + * Get EvenHeader + * + * @return string + */ + public function getEvenHeader() { + return $this->_evenHeader; + } + + /** + * Set EvenHeader + * + * @param string $pValue + * @return PHPExcel_Worksheet_HeaderFooter + */ + public function setEvenHeader($pValue) { + $this->_evenHeader = $pValue; + return $this; + } + + /** + * Get EvenFooter + * + * @return string + */ + public function getEvenFooter() { + return $this->_evenFooter; + } + + /** + * Set EvenFooter + * + * @param string $pValue + * @return PHPExcel_Worksheet_HeaderFooter + */ + public function setEvenFooter($pValue) { + $this->_evenFooter = $pValue; + return $this; + } + + /** + * Get FirstHeader + * + * @return string + */ + public function getFirstHeader() { + return $this->_firstHeader; + } + + /** + * Set FirstHeader + * + * @param string $pValue + * @return PHPExcel_Worksheet_HeaderFooter + */ + public function setFirstHeader($pValue) { + $this->_firstHeader = $pValue; + return $this; + } + + /** + * Get FirstFooter + * + * @return string + */ + public function getFirstFooter() { + return $this->_firstFooter; + } + + /** + * Set FirstFooter + * + * @param string $pValue + * @return PHPExcel_Worksheet_HeaderFooter + */ + public function setFirstFooter($pValue) { + $this->_firstFooter = $pValue; + return $this; + } + + /** + * Get DifferentOddEven + * + * @return boolean + */ + public function getDifferentOddEven() { + return $this->_differentOddEven; + } + + /** + * Set DifferentOddEven + * + * @param boolean $pValue + * @return PHPExcel_Worksheet_HeaderFooter + */ + public function setDifferentOddEven($pValue = false) { + $this->_differentOddEven = $pValue; + return $this; + } + + /** + * Get DifferentFirst + * + * @return boolean + */ + public function getDifferentFirst() { + return $this->_differentFirst; + } + + /** + * Set DifferentFirst + * + * @param boolean $pValue + * @return PHPExcel_Worksheet_HeaderFooter + */ + public function setDifferentFirst($pValue = false) { + $this->_differentFirst = $pValue; + return $this; + } + + /** + * Get ScaleWithDocument + * + * @return boolean + */ + public function getScaleWithDocument() { + return $this->_scaleWithDocument; + } + + /** + * Set ScaleWithDocument + * + * @param boolean $pValue + * @return PHPExcel_Worksheet_HeaderFooter + */ + public function setScaleWithDocument($pValue = true) { + $this->_scaleWithDocument = $pValue; + return $this; + } + + /** + * Get AlignWithMargins + * + * @return boolean + */ + public function getAlignWithMargins() { + return $this->_alignWithMargins; + } + + /** + * Set AlignWithMargins + * + * @param boolean $pValue + * @return PHPExcel_Worksheet_HeaderFooter + */ + public function setAlignWithMargins($pValue = true) { + $this->_alignWithMargins = $pValue; + return $this; + } + + /** + * Add header/footer image + * + * @param PHPExcel_Worksheet_HeaderFooterDrawing $image + * @param string $location + * @throws PHPExcel_Exception + * @return PHPExcel_Worksheet_HeaderFooter + */ + public function addImage(PHPExcel_Worksheet_HeaderFooterDrawing $image = null, $location = self::IMAGE_HEADER_LEFT) { + $this->_headerFooterImages[$location] = $image; + return $this; + } + + /** + * Remove header/footer image + * + * @param string $location + * @throws PHPExcel_Exception + * @return PHPExcel_Worksheet_HeaderFooter + */ + public function removeImage($location = self::IMAGE_HEADER_LEFT) { + if (isset($this->_headerFooterImages[$location])) { + unset($this->_headerFooterImages[$location]); + } + return $this; + } + + /** + * Set header/footer images + * + * @param PHPExcel_Worksheet_HeaderFooterDrawing[] $images + * @throws PHPExcel_Exception + * @return PHPExcel_Worksheet_HeaderFooter + */ + public function setImages($images) { + if (!is_array($images)) { + throw new PHPExcel_Exception('Invalid parameter!'); + } + + $this->_headerFooterImages = $images; + return $this; + } + + /** + * Get header/footer images + * + * @return PHPExcel_Worksheet_HeaderFooterDrawing[] + */ + public function getImages() { + // Sort array + $images = array(); + if (isset($this->_headerFooterImages[self::IMAGE_HEADER_LEFT])) $images[self::IMAGE_HEADER_LEFT] = $this->_headerFooterImages[self::IMAGE_HEADER_LEFT]; + if (isset($this->_headerFooterImages[self::IMAGE_HEADER_CENTER])) $images[self::IMAGE_HEADER_CENTER] = $this->_headerFooterImages[self::IMAGE_HEADER_CENTER]; + if (isset($this->_headerFooterImages[self::IMAGE_HEADER_RIGHT])) $images[self::IMAGE_HEADER_RIGHT] = $this->_headerFooterImages[self::IMAGE_HEADER_RIGHT]; + if (isset($this->_headerFooterImages[self::IMAGE_FOOTER_LEFT])) $images[self::IMAGE_FOOTER_LEFT] = $this->_headerFooterImages[self::IMAGE_FOOTER_LEFT]; + if (isset($this->_headerFooterImages[self::IMAGE_FOOTER_CENTER])) $images[self::IMAGE_FOOTER_CENTER] = $this->_headerFooterImages[self::IMAGE_FOOTER_CENTER]; + if (isset($this->_headerFooterImages[self::IMAGE_FOOTER_RIGHT])) $images[self::IMAGE_FOOTER_RIGHT] = $this->_headerFooterImages[self::IMAGE_FOOTER_RIGHT]; + $this->_headerFooterImages = $images; + + return $this->_headerFooterImages; + } + + /** + * Implement PHP __clone to create a deep clone, not just a shallow copy. + */ + public function __clone() { + $vars = get_object_vars($this); + foreach ($vars as $key => $value) { + if (is_object($value)) { + $this->$key = clone $value; + } else { + $this->$key = $value; + } + } + } +} diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Worksheet/HeaderFooterDrawing.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Worksheet/HeaderFooterDrawing.php new file mode 100644 index 00000000..966664f9 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Worksheet/HeaderFooterDrawing.php @@ -0,0 +1,350 @@ +<?php +/** + * PHPExcel + * + * Copyright (c) 2006 - 2014 PHPExcel + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * @category PHPExcel + * @package PHPExcel_Worksheet + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @version ##VERSION##, ##DATE## + */ + + +/** + * PHPExcel_Worksheet_HeaderFooterDrawing + * + * @category PHPExcel + * @package PHPExcel_Worksheet + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + */ +class PHPExcel_Worksheet_HeaderFooterDrawing extends PHPExcel_Worksheet_Drawing implements PHPExcel_IComparable +{ + /** + * Path + * + * @var string + */ + private $_path; + + /** + * Name + * + * @var string + */ + protected $_name; + + /** + * Offset X + * + * @var int + */ + protected $_offsetX; + + /** + * Offset Y + * + * @var int + */ + protected $_offsetY; + + /** + * Width + * + * @var int + */ + protected $_width; + + /** + * Height + * + * @var int + */ + protected $_height; + + /** + * Proportional resize + * + * @var boolean + */ + protected $_resizeProportional; + + /** + * Create a new PHPExcel_Worksheet_HeaderFooterDrawing + */ + public function __construct() + { + // Initialise values + $this->_path = ''; + $this->_name = ''; + $this->_offsetX = 0; + $this->_offsetY = 0; + $this->_width = 0; + $this->_height = 0; + $this->_resizeProportional = true; + } + + /** + * Get Name + * + * @return string + */ + public function getName() { + return $this->_name; + } + + /** + * Set Name + * + * @param string $pValue + * @return PHPExcel_Worksheet_HeaderFooterDrawing + */ + public function setName($pValue = '') { + $this->_name = $pValue; + return $this; + } + + /** + * Get OffsetX + * + * @return int + */ + public function getOffsetX() { + return $this->_offsetX; + } + + /** + * Set OffsetX + * + * @param int $pValue + * @return PHPExcel_Worksheet_HeaderFooterDrawing + */ + public function setOffsetX($pValue = 0) { + $this->_offsetX = $pValue; + return $this; + } + + /** + * Get OffsetY + * + * @return int + */ + public function getOffsetY() { + return $this->_offsetY; + } + + /** + * Set OffsetY + * + * @param int $pValue + * @return PHPExcel_Worksheet_HeaderFooterDrawing + */ + public function setOffsetY($pValue = 0) { + $this->_offsetY = $pValue; + return $this; + } + + /** + * Get Width + * + * @return int + */ + public function getWidth() { + return $this->_width; + } + + /** + * Set Width + * + * @param int $pValue + * @return PHPExcel_Worksheet_HeaderFooterDrawing + */ + public function setWidth($pValue = 0) { + // Resize proportional? + if ($this->_resizeProportional && $pValue != 0) { + $ratio = $this->_width / $this->_height; + $this->_height = round($ratio * $pValue); + } + + // Set width + $this->_width = $pValue; + + return $this; + } + + /** + * Get Height + * + * @return int + */ + public function getHeight() { + return $this->_height; + } + + /** + * Set Height + * + * @param int $pValue + * @return PHPExcel_Worksheet_HeaderFooterDrawing + */ + public function setHeight($pValue = 0) { + // Resize proportional? + if ($this->_resizeProportional && $pValue != 0) { + $ratio = $this->_width / $this->_height; + $this->_width = round($ratio * $pValue); + } + + // Set height + $this->_height = $pValue; + + return $this; + } + + /** + * Set width and height with proportional resize + * Example: + * <code> + * $objDrawing->setResizeProportional(true); + * $objDrawing->setWidthAndHeight(160,120); + * </code> + * + * @author Vincent@luo MSN:kele_100@hotmail.com + * @param int $width + * @param int $height + * @return PHPExcel_Worksheet_HeaderFooterDrawing + */ + public function setWidthAndHeight($width = 0, $height = 0) { + $xratio = $width / $this->_width; + $yratio = $height / $this->_height; + if ($this->_resizeProportional && !($width == 0 || $height == 0)) { + if (($xratio * $this->_height) < $height) { + $this->_height = ceil($xratio * $this->_height); + $this->_width = $width; + } else { + $this->_width = ceil($yratio * $this->_width); + $this->_height = $height; + } + } + return $this; + } + + /** + * Get ResizeProportional + * + * @return boolean + */ + public function getResizeProportional() { + return $this->_resizeProportional; + } + + /** + * Set ResizeProportional + * + * @param boolean $pValue + * @return PHPExcel_Worksheet_HeaderFooterDrawing + */ + public function setResizeProportional($pValue = true) { + $this->_resizeProportional = $pValue; + return $this; + } + + /** + * Get Filename + * + * @return string + */ + public function getFilename() { + return basename($this->_path); + } + + /** + * Get Extension + * + * @return string + */ + public function getExtension() { + $parts = explode(".", basename($this->_path)); + return end($parts); + } + + /** + * Get Path + * + * @return string + */ + public function getPath() { + return $this->_path; + } + + /** + * Set Path + * + * @param string $pValue File path + * @param boolean $pVerifyFile Verify file + * @throws PHPExcel_Exception + * @return PHPExcel_Worksheet_HeaderFooterDrawing + */ + public function setPath($pValue = '', $pVerifyFile = true) { + if ($pVerifyFile) { + if (file_exists($pValue)) { + $this->_path = $pValue; + + if ($this->_width == 0 && $this->_height == 0) { + // Get width/height + list($this->_width, $this->_height) = getimagesize($pValue); + } + } else { + throw new PHPExcel_Exception("File $pValue not found!"); + } + } else { + $this->_path = $pValue; + } + return $this; + } + + /** + * Get hash code + * + * @return string Hash code + */ + public function getHashCode() { + return md5( + $this->_path + . $this->_name + . $this->_offsetX + . $this->_offsetY + . $this->_width + . $this->_height + . __CLASS__ + ); + } + + /** + * Implement PHP __clone to create a deep clone, not just a shallow copy. + */ + public function __clone() { + $vars = get_object_vars($this); + foreach ($vars as $key => $value) { + if (is_object($value)) { + $this->$key = clone $value; + } else { + $this->$key = $value; + } + } + } +} diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Worksheet/MemoryDrawing.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Worksheet/MemoryDrawing.php new file mode 100644 index 00000000..80fc6d1f --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Worksheet/MemoryDrawing.php @@ -0,0 +1,200 @@ +<?php +/** + * PHPExcel + * + * Copyright (c) 2006 - 2014 PHPExcel + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * @category PHPExcel + * @package PHPExcel_Worksheet + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @version ##VERSION##, ##DATE## + */ + + +/** + * PHPExcel_Worksheet_MemoryDrawing + * + * @category PHPExcel + * @package PHPExcel_Worksheet + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + */ +class PHPExcel_Worksheet_MemoryDrawing extends PHPExcel_Worksheet_BaseDrawing implements PHPExcel_IComparable +{ + /* Rendering functions */ + const RENDERING_DEFAULT = 'imagepng'; + const RENDERING_PNG = 'imagepng'; + const RENDERING_GIF = 'imagegif'; + const RENDERING_JPEG = 'imagejpeg'; + + /* MIME types */ + const MIMETYPE_DEFAULT = 'image/png'; + const MIMETYPE_PNG = 'image/png'; + const MIMETYPE_GIF = 'image/gif'; + const MIMETYPE_JPEG = 'image/jpeg'; + + /** + * Image resource + * + * @var resource + */ + private $_imageResource; + + /** + * Rendering function + * + * @var string + */ + private $_renderingFunction; + + /** + * Mime type + * + * @var string + */ + private $_mimeType; + + /** + * Unique name + * + * @var string + */ + private $_uniqueName; + + /** + * Create a new PHPExcel_Worksheet_MemoryDrawing + */ + public function __construct() + { + // Initialise values + $this->_imageResource = null; + $this->_renderingFunction = self::RENDERING_DEFAULT; + $this->_mimeType = self::MIMETYPE_DEFAULT; + $this->_uniqueName = md5(rand(0, 9999). time() . rand(0, 9999)); + + // Initialize parent + parent::__construct(); + } + + /** + * Get image resource + * + * @return resource + */ + public function getImageResource() { + return $this->_imageResource; + } + + /** + * Set image resource + * + * @param $value resource + * @return PHPExcel_Worksheet_MemoryDrawing + */ + public function setImageResource($value = null) { + $this->_imageResource = $value; + + if (!is_null($this->_imageResource)) { + // Get width/height + $this->_width = imagesx($this->_imageResource); + $this->_height = imagesy($this->_imageResource); + } + return $this; + } + + /** + * Get rendering function + * + * @return string + */ + public function getRenderingFunction() { + return $this->_renderingFunction; + } + + /** + * Set rendering function + * + * @param string $value + * @return PHPExcel_Worksheet_MemoryDrawing + */ + public function setRenderingFunction($value = PHPExcel_Worksheet_MemoryDrawing::RENDERING_DEFAULT) { + $this->_renderingFunction = $value; + return $this; + } + + /** + * Get mime type + * + * @return string + */ + public function getMimeType() { + return $this->_mimeType; + } + + /** + * Set mime type + * + * @param string $value + * @return PHPExcel_Worksheet_MemoryDrawing + */ + public function setMimeType($value = PHPExcel_Worksheet_MemoryDrawing::MIMETYPE_DEFAULT) { + $this->_mimeType = $value; + return $this; + } + + /** + * Get indexed filename (using image index) + * + * @return string + */ + public function getIndexedFilename() { + $extension = strtolower($this->getMimeType()); + $extension = explode('/', $extension); + $extension = $extension[1]; + + return $this->_uniqueName . $this->getImageIndex() . '.' . $extension; + } + + /** + * Get hash code + * + * @return string Hash code + */ + public function getHashCode() { + return md5( + $this->_renderingFunction + . $this->_mimeType + . $this->_uniqueName + . parent::getHashCode() + . __CLASS__ + ); + } + + /** + * Implement PHP __clone to create a deep clone, not just a shallow copy. + */ + public function __clone() { + $vars = get_object_vars($this); + foreach ($vars as $key => $value) { + if (is_object($value)) { + $this->$key = clone $value; + } else { + $this->$key = $value; + } + } + } +} diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Worksheet/PageMargins.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Worksheet/PageMargins.php new file mode 100644 index 00000000..b05a291f --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Worksheet/PageMargins.php @@ -0,0 +1,220 @@ +<?php +/** + * PHPExcel + * + * Copyright (c) 2006 - 2014 PHPExcel + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * @category PHPExcel + * @package PHPExcel_Worksheet + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @version ##VERSION##, ##DATE## + */ + + +/** + * PHPExcel_Worksheet_PageMargins + * + * @category PHPExcel + * @package PHPExcel_Worksheet + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + */ +class PHPExcel_Worksheet_PageMargins +{ + /** + * Left + * + * @var double + */ + private $_left = 0.7; + + /** + * Right + * + * @var double + */ + private $_right = 0.7; + + /** + * Top + * + * @var double + */ + private $_top = 0.75; + + /** + * Bottom + * + * @var double + */ + private $_bottom = 0.75; + + /** + * Header + * + * @var double + */ + private $_header = 0.3; + + /** + * Footer + * + * @var double + */ + private $_footer = 0.3; + + /** + * Create a new PHPExcel_Worksheet_PageMargins + */ + public function __construct() + { + } + + /** + * Get Left + * + * @return double + */ + public function getLeft() { + return $this->_left; + } + + /** + * Set Left + * + * @param double $pValue + * @return PHPExcel_Worksheet_PageMargins + */ + public function setLeft($pValue) { + $this->_left = $pValue; + return $this; + } + + /** + * Get Right + * + * @return double + */ + public function getRight() { + return $this->_right; + } + + /** + * Set Right + * + * @param double $pValue + * @return PHPExcel_Worksheet_PageMargins + */ + public function setRight($pValue) { + $this->_right = $pValue; + return $this; + } + + /** + * Get Top + * + * @return double + */ + public function getTop() { + return $this->_top; + } + + /** + * Set Top + * + * @param double $pValue + * @return PHPExcel_Worksheet_PageMargins + */ + public function setTop($pValue) { + $this->_top = $pValue; + return $this; + } + + /** + * Get Bottom + * + * @return double + */ + public function getBottom() { + return $this->_bottom; + } + + /** + * Set Bottom + * + * @param double $pValue + * @return PHPExcel_Worksheet_PageMargins + */ + public function setBottom($pValue) { + $this->_bottom = $pValue; + return $this; + } + + /** + * Get Header + * + * @return double + */ + public function getHeader() { + return $this->_header; + } + + /** + * Set Header + * + * @param double $pValue + * @return PHPExcel_Worksheet_PageMargins + */ + public function setHeader($pValue) { + $this->_header = $pValue; + return $this; + } + + /** + * Get Footer + * + * @return double + */ + public function getFooter() { + return $this->_footer; + } + + /** + * Set Footer + * + * @param double $pValue + * @return PHPExcel_Worksheet_PageMargins + */ + public function setFooter($pValue) { + $this->_footer = $pValue; + return $this; + } + + /** + * Implement PHP __clone to create a deep clone, not just a shallow copy. + */ + public function __clone() { + $vars = get_object_vars($this); + foreach ($vars as $key => $value) { + if (is_object($value)) { + $this->$key = clone $value; + } else { + $this->$key = $value; + } + } + } +} diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Worksheet/PageSetup.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Worksheet/PageSetup.php new file mode 100644 index 00000000..ba2792fa --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Worksheet/PageSetup.php @@ -0,0 +1,798 @@ +<?php +/** + * PHPExcel + * + * Copyright (c) 2006 - 2014 PHPExcel + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * @category PHPExcel + * @package PHPExcel_Worksheet + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @version ##VERSION##, ##DATE## + */ + + +/** + * PHPExcel_Worksheet_PageSetup + * + * <code> + * Paper size taken from Office Open XML Part 4 - Markup Language Reference, page 1988: + * + * 1 = Letter paper (8.5 in. by 11 in.) + * 2 = Letter small paper (8.5 in. by 11 in.) + * 3 = Tabloid paper (11 in. by 17 in.) + * 4 = Ledger paper (17 in. by 11 in.) + * 5 = Legal paper (8.5 in. by 14 in.) + * 6 = Statement paper (5.5 in. by 8.5 in.) + * 7 = Executive paper (7.25 in. by 10.5 in.) + * 8 = A3 paper (297 mm by 420 mm) + * 9 = A4 paper (210 mm by 297 mm) + * 10 = A4 small paper (210 mm by 297 mm) + * 11 = A5 paper (148 mm by 210 mm) + * 12 = B4 paper (250 mm by 353 mm) + * 13 = B5 paper (176 mm by 250 mm) + * 14 = Folio paper (8.5 in. by 13 in.) + * 15 = Quarto paper (215 mm by 275 mm) + * 16 = Standard paper (10 in. by 14 in.) + * 17 = Standard paper (11 in. by 17 in.) + * 18 = Note paper (8.5 in. by 11 in.) + * 19 = #9 envelope (3.875 in. by 8.875 in.) + * 20 = #10 envelope (4.125 in. by 9.5 in.) + * 21 = #11 envelope (4.5 in. by 10.375 in.) + * 22 = #12 envelope (4.75 in. by 11 in.) + * 23 = #14 envelope (5 in. by 11.5 in.) + * 24 = C paper (17 in. by 22 in.) + * 25 = D paper (22 in. by 34 in.) + * 26 = E paper (34 in. by 44 in.) + * 27 = DL envelope (110 mm by 220 mm) + * 28 = C5 envelope (162 mm by 229 mm) + * 29 = C3 envelope (324 mm by 458 mm) + * 30 = C4 envelope (229 mm by 324 mm) + * 31 = C6 envelope (114 mm by 162 mm) + * 32 = C65 envelope (114 mm by 229 mm) + * 33 = B4 envelope (250 mm by 353 mm) + * 34 = B5 envelope (176 mm by 250 mm) + * 35 = B6 envelope (176 mm by 125 mm) + * 36 = Italy envelope (110 mm by 230 mm) + * 37 = Monarch envelope (3.875 in. by 7.5 in.). + * 38 = 6 3/4 envelope (3.625 in. by 6.5 in.) + * 39 = US standard fanfold (14.875 in. by 11 in.) + * 40 = German standard fanfold (8.5 in. by 12 in.) + * 41 = German legal fanfold (8.5 in. by 13 in.) + * 42 = ISO B4 (250 mm by 353 mm) + * 43 = Japanese double postcard (200 mm by 148 mm) + * 44 = Standard paper (9 in. by 11 in.) + * 45 = Standard paper (10 in. by 11 in.) + * 46 = Standard paper (15 in. by 11 in.) + * 47 = Invite envelope (220 mm by 220 mm) + * 50 = Letter extra paper (9.275 in. by 12 in.) + * 51 = Legal extra paper (9.275 in. by 15 in.) + * 52 = Tabloid extra paper (11.69 in. by 18 in.) + * 53 = A4 extra paper (236 mm by 322 mm) + * 54 = Letter transverse paper (8.275 in. by 11 in.) + * 55 = A4 transverse paper (210 mm by 297 mm) + * 56 = Letter extra transverse paper (9.275 in. by 12 in.) + * 57 = SuperA/SuperA/A4 paper (227 mm by 356 mm) + * 58 = SuperB/SuperB/A3 paper (305 mm by 487 mm) + * 59 = Letter plus paper (8.5 in. by 12.69 in.) + * 60 = A4 plus paper (210 mm by 330 mm) + * 61 = A5 transverse paper (148 mm by 210 mm) + * 62 = JIS B5 transverse paper (182 mm by 257 mm) + * 63 = A3 extra paper (322 mm by 445 mm) + * 64 = A5 extra paper (174 mm by 235 mm) + * 65 = ISO B5 extra paper (201 mm by 276 mm) + * 66 = A2 paper (420 mm by 594 mm) + * 67 = A3 transverse paper (297 mm by 420 mm) + * 68 = A3 extra transverse paper (322 mm by 445 mm) + * </code> + * + * @category PHPExcel + * @package PHPExcel_Worksheet + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + */ +class PHPExcel_Worksheet_PageSetup +{ + /* Paper size */ + const PAPERSIZE_LETTER = 1; + const PAPERSIZE_LETTER_SMALL = 2; + const PAPERSIZE_TABLOID = 3; + const PAPERSIZE_LEDGER = 4; + const PAPERSIZE_LEGAL = 5; + const PAPERSIZE_STATEMENT = 6; + const PAPERSIZE_EXECUTIVE = 7; + const PAPERSIZE_A3 = 8; + const PAPERSIZE_A4 = 9; + const PAPERSIZE_A4_SMALL = 10; + const PAPERSIZE_A5 = 11; + const PAPERSIZE_B4 = 12; + const PAPERSIZE_B5 = 13; + const PAPERSIZE_FOLIO = 14; + const PAPERSIZE_QUARTO = 15; + const PAPERSIZE_STANDARD_1 = 16; + const PAPERSIZE_STANDARD_2 = 17; + const PAPERSIZE_NOTE = 18; + const PAPERSIZE_NO9_ENVELOPE = 19; + const PAPERSIZE_NO10_ENVELOPE = 20; + const PAPERSIZE_NO11_ENVELOPE = 21; + const PAPERSIZE_NO12_ENVELOPE = 22; + const PAPERSIZE_NO14_ENVELOPE = 23; + const PAPERSIZE_C = 24; + const PAPERSIZE_D = 25; + const PAPERSIZE_E = 26; + const PAPERSIZE_DL_ENVELOPE = 27; + const PAPERSIZE_C5_ENVELOPE = 28; + const PAPERSIZE_C3_ENVELOPE = 29; + const PAPERSIZE_C4_ENVELOPE = 30; + const PAPERSIZE_C6_ENVELOPE = 31; + const PAPERSIZE_C65_ENVELOPE = 32; + const PAPERSIZE_B4_ENVELOPE = 33; + const PAPERSIZE_B5_ENVELOPE = 34; + const PAPERSIZE_B6_ENVELOPE = 35; + const PAPERSIZE_ITALY_ENVELOPE = 36; + const PAPERSIZE_MONARCH_ENVELOPE = 37; + const PAPERSIZE_6_3_4_ENVELOPE = 38; + const PAPERSIZE_US_STANDARD_FANFOLD = 39; + const PAPERSIZE_GERMAN_STANDARD_FANFOLD = 40; + const PAPERSIZE_GERMAN_LEGAL_FANFOLD = 41; + const PAPERSIZE_ISO_B4 = 42; + const PAPERSIZE_JAPANESE_DOUBLE_POSTCARD = 43; + const PAPERSIZE_STANDARD_PAPER_1 = 44; + const PAPERSIZE_STANDARD_PAPER_2 = 45; + const PAPERSIZE_STANDARD_PAPER_3 = 46; + const PAPERSIZE_INVITE_ENVELOPE = 47; + const PAPERSIZE_LETTER_EXTRA_PAPER = 48; + const PAPERSIZE_LEGAL_EXTRA_PAPER = 49; + const PAPERSIZE_TABLOID_EXTRA_PAPER = 50; + const PAPERSIZE_A4_EXTRA_PAPER = 51; + const PAPERSIZE_LETTER_TRANSVERSE_PAPER = 52; + const PAPERSIZE_A4_TRANSVERSE_PAPER = 53; + const PAPERSIZE_LETTER_EXTRA_TRANSVERSE_PAPER = 54; + const PAPERSIZE_SUPERA_SUPERA_A4_PAPER = 55; + const PAPERSIZE_SUPERB_SUPERB_A3_PAPER = 56; + const PAPERSIZE_LETTER_PLUS_PAPER = 57; + const PAPERSIZE_A4_PLUS_PAPER = 58; + const PAPERSIZE_A5_TRANSVERSE_PAPER = 59; + const PAPERSIZE_JIS_B5_TRANSVERSE_PAPER = 60; + const PAPERSIZE_A3_EXTRA_PAPER = 61; + const PAPERSIZE_A5_EXTRA_PAPER = 62; + const PAPERSIZE_ISO_B5_EXTRA_PAPER = 63; + const PAPERSIZE_A2_PAPER = 64; + const PAPERSIZE_A3_TRANSVERSE_PAPER = 65; + const PAPERSIZE_A3_EXTRA_TRANSVERSE_PAPER = 66; + + /* Page orientation */ + const ORIENTATION_DEFAULT = 'default'; + const ORIENTATION_LANDSCAPE = 'landscape'; + const ORIENTATION_PORTRAIT = 'portrait'; + + /* Print Range Set Method */ + const SETPRINTRANGE_OVERWRITE = 'O'; + const SETPRINTRANGE_INSERT = 'I'; + + + /** + * Paper size + * + * @var int + */ + private $_paperSize = PHPExcel_Worksheet_PageSetup::PAPERSIZE_LETTER; + + /** + * Orientation + * + * @var string + */ + private $_orientation = PHPExcel_Worksheet_PageSetup::ORIENTATION_DEFAULT; + + /** + * Scale (Print Scale) + * + * Print scaling. Valid values range from 10 to 400 + * This setting is overridden when fitToWidth and/or fitToHeight are in use + * + * @var int? + */ + private $_scale = 100; + + /** + * Fit To Page + * Whether scale or fitToWith / fitToHeight applies + * + * @var boolean + */ + private $_fitToPage = FALSE; + + /** + * Fit To Height + * Number of vertical pages to fit on + * + * @var int? + */ + private $_fitToHeight = 1; + + /** + * Fit To Width + * Number of horizontal pages to fit on + * + * @var int? + */ + private $_fitToWidth = 1; + + /** + * Columns to repeat at left + * + * @var array Containing start column and end column, empty array if option unset + */ + private $_columnsToRepeatAtLeft = array('', ''); + + /** + * Rows to repeat at top + * + * @var array Containing start row number and end row number, empty array if option unset + */ + private $_rowsToRepeatAtTop = array(0, 0); + + /** + * Center page horizontally + * + * @var boolean + */ + private $_horizontalCentered = FALSE; + + /** + * Center page vertically + * + * @var boolean + */ + private $_verticalCentered = FALSE; + + /** + * Print area + * + * @var string + */ + private $_printArea = NULL; + + /** + * First page number + * + * @var int + */ + private $_firstPageNumber = NULL; + + /** + * Create a new PHPExcel_Worksheet_PageSetup + */ + public function __construct() + { + } + + /** + * Get Paper Size + * + * @return int + */ + public function getPaperSize() { + return $this->_paperSize; + } + + /** + * Set Paper Size + * + * @param int $pValue + * @return PHPExcel_Worksheet_PageSetup + */ + public function setPaperSize($pValue = PHPExcel_Worksheet_PageSetup::PAPERSIZE_LETTER) { + $this->_paperSize = $pValue; + return $this; + } + + /** + * Get Orientation + * + * @return string + */ + public function getOrientation() { + return $this->_orientation; + } + + /** + * Set Orientation + * + * @param string $pValue + * @return PHPExcel_Worksheet_PageSetup + */ + public function setOrientation($pValue = PHPExcel_Worksheet_PageSetup::ORIENTATION_DEFAULT) { + $this->_orientation = $pValue; + return $this; + } + + /** + * Get Scale + * + * @return int? + */ + public function getScale() { + return $this->_scale; + } + + /** + * Set Scale + * + * Print scaling. Valid values range from 10 to 400 + * This setting is overridden when fitToWidth and/or fitToHeight are in use + * + * @param int? $pValue + * @param boolean $pUpdate Update fitToPage so scaling applies rather than fitToHeight / fitToWidth + * @return PHPExcel_Worksheet_PageSetup + * @throws PHPExcel_Exception + */ + public function setScale($pValue = 100, $pUpdate = true) { + // Microsoft Office Excel 2007 only allows setting a scale between 10 and 400 via the user interface, + // but it is apparently still able to handle any scale >= 0, where 0 results in 100 + if (($pValue >= 0) || is_null($pValue)) { + $this->_scale = $pValue; + if ($pUpdate) { + $this->_fitToPage = false; + } + } else { + throw new PHPExcel_Exception("Scale must not be negative"); + } + return $this; + } + + /** + * Get Fit To Page + * + * @return boolean + */ + public function getFitToPage() { + return $this->_fitToPage; + } + + /** + * Set Fit To Page + * + * @param boolean $pValue + * @return PHPExcel_Worksheet_PageSetup + */ + public function setFitToPage($pValue = TRUE) { + $this->_fitToPage = $pValue; + return $this; + } + + /** + * Get Fit To Height + * + * @return int? + */ + public function getFitToHeight() { + return $this->_fitToHeight; + } + + /** + * Set Fit To Height + * + * @param int? $pValue + * @param boolean $pUpdate Update fitToPage so it applies rather than scaling + * @return PHPExcel_Worksheet_PageSetup + */ + public function setFitToHeight($pValue = 1, $pUpdate = TRUE) { + $this->_fitToHeight = $pValue; + if ($pUpdate) { + $this->_fitToPage = TRUE; + } + return $this; + } + + /** + * Get Fit To Width + * + * @return int? + */ + public function getFitToWidth() { + return $this->_fitToWidth; + } + + /** + * Set Fit To Width + * + * @param int? $pValue + * @param boolean $pUpdate Update fitToPage so it applies rather than scaling + * @return PHPExcel_Worksheet_PageSetup + */ + public function setFitToWidth($pValue = 1, $pUpdate = TRUE) { + $this->_fitToWidth = $pValue; + if ($pUpdate) { + $this->_fitToPage = TRUE; + } + return $this; + } + + /** + * Is Columns to repeat at left set? + * + * @return boolean + */ + public function isColumnsToRepeatAtLeftSet() { + if (is_array($this->_columnsToRepeatAtLeft)) { + if ($this->_columnsToRepeatAtLeft[0] != '' && $this->_columnsToRepeatAtLeft[1] != '') { + return true; + } + } + + return false; + } + + /** + * Get Columns to repeat at left + * + * @return array Containing start column and end column, empty array if option unset + */ + public function getColumnsToRepeatAtLeft() { + return $this->_columnsToRepeatAtLeft; + } + + /** + * Set Columns to repeat at left + * + * @param array $pValue Containing start column and end column, empty array if option unset + * @return PHPExcel_Worksheet_PageSetup + */ + public function setColumnsToRepeatAtLeft($pValue = null) { + if (is_array($pValue)) { + $this->_columnsToRepeatAtLeft = $pValue; + } + return $this; + } + + /** + * Set Columns to repeat at left by start and end + * + * @param string $pStart + * @param string $pEnd + * @return PHPExcel_Worksheet_PageSetup + */ + public function setColumnsToRepeatAtLeftByStartAndEnd($pStart = 'A', $pEnd = 'A') { + $this->_columnsToRepeatAtLeft = array($pStart, $pEnd); + return $this; + } + + /** + * Is Rows to repeat at top set? + * + * @return boolean + */ + public function isRowsToRepeatAtTopSet() { + if (is_array($this->_rowsToRepeatAtTop)) { + if ($this->_rowsToRepeatAtTop[0] != 0 && $this->_rowsToRepeatAtTop[1] != 0) { + return true; + } + } + + return false; + } + + /** + * Get Rows to repeat at top + * + * @return array Containing start column and end column, empty array if option unset + */ + public function getRowsToRepeatAtTop() { + return $this->_rowsToRepeatAtTop; + } + + /** + * Set Rows to repeat at top + * + * @param array $pValue Containing start column and end column, empty array if option unset + * @return PHPExcel_Worksheet_PageSetup + */ + public function setRowsToRepeatAtTop($pValue = null) { + if (is_array($pValue)) { + $this->_rowsToRepeatAtTop = $pValue; + } + return $this; + } + + /** + * Set Rows to repeat at top by start and end + * + * @param int $pStart + * @param int $pEnd + * @return PHPExcel_Worksheet_PageSetup + */ + public function setRowsToRepeatAtTopByStartAndEnd($pStart = 1, $pEnd = 1) { + $this->_rowsToRepeatAtTop = array($pStart, $pEnd); + return $this; + } + + /** + * Get center page horizontally + * + * @return bool + */ + public function getHorizontalCentered() { + return $this->_horizontalCentered; + } + + /** + * Set center page horizontally + * + * @param bool $value + * @return PHPExcel_Worksheet_PageSetup + */ + public function setHorizontalCentered($value = false) { + $this->_horizontalCentered = $value; + return $this; + } + + /** + * Get center page vertically + * + * @return bool + */ + public function getVerticalCentered() { + return $this->_verticalCentered; + } + + /** + * Set center page vertically + * + * @param bool $value + * @return PHPExcel_Worksheet_PageSetup + */ + public function setVerticalCentered($value = false) { + $this->_verticalCentered = $value; + return $this; + } + + /** + * Get print area + * + * @param int $index Identifier for a specific print area range if several ranges have been set + * Default behaviour, or a index value of 0, will return all ranges as a comma-separated string + * Otherwise, the specific range identified by the value of $index will be returned + * Print areas are numbered from 1 + * @throws PHPExcel_Exception + * @return string + */ + public function getPrintArea($index = 0) { + if ($index == 0) { + return $this->_printArea; + } + $printAreas = explode(',',$this->_printArea); + if (isset($printAreas[$index-1])) { + return $printAreas[$index-1]; + } + throw new PHPExcel_Exception("Requested Print Area does not exist"); + } + + /** + * Is print area set? + * + * @param int $index Identifier for a specific print area range if several ranges have been set + * Default behaviour, or an index value of 0, will identify whether any print range is set + * Otherwise, existence of the range identified by the value of $index will be returned + * Print areas are numbered from 1 + * @return boolean + */ + public function isPrintAreaSet($index = 0) { + if ($index == 0) { + return !is_null($this->_printArea); + } + $printAreas = explode(',',$this->_printArea); + return isset($printAreas[$index-1]); + } + + /** + * Clear a print area + * + * @param int $index Identifier for a specific print area range if several ranges have been set + * Default behaviour, or an index value of 0, will clear all print ranges that are set + * Otherwise, the range identified by the value of $index will be removed from the series + * Print areas are numbered from 1 + * @return PHPExcel_Worksheet_PageSetup + */ + public function clearPrintArea($index = 0) { + if ($index == 0) { + $this->_printArea = NULL; + } else { + $printAreas = explode(',',$this->_printArea); + if (isset($printAreas[$index-1])) { + unset($printAreas[$index-1]); + $this->_printArea = implode(',',$printAreas); + } + } + + return $this; + } + + /** + * Set print area. e.g. 'A1:D10' or 'A1:D10,G5:M20' + * + * @param string $value + * @param int $index Identifier for a specific print area range allowing several ranges to be set + * When the method is "O"verwrite, then a positive integer index will overwrite that indexed + * entry in the print areas list; a negative index value will identify which entry to + * overwrite working bacward through the print area to the list, with the last entry as -1. + * Specifying an index value of 0, will overwrite <b>all</b> existing print ranges. + * When the method is "I"nsert, then a positive index will insert after that indexed entry in + * the print areas list, while a negative index will insert before the indexed entry. + * Specifying an index value of 0, will always append the new print range at the end of the + * list. + * Print areas are numbered from 1 + * @param string $method Determines the method used when setting multiple print areas + * Default behaviour, or the "O" method, overwrites existing print area + * The "I" method, inserts the new print area before any specified index, or at the end of the list + * @return PHPExcel_Worksheet_PageSetup + * @throws PHPExcel_Exception + */ + public function setPrintArea($value, $index = 0, $method = self::SETPRINTRANGE_OVERWRITE) { + if (strpos($value,'!') !== false) { + throw new PHPExcel_Exception('Cell coordinate must not specify a worksheet.'); + } elseif (strpos($value,':') === false) { + throw new PHPExcel_Exception('Cell coordinate must be a range of cells.'); + } elseif (strpos($value,'$') !== false) { + throw new PHPExcel_Exception('Cell coordinate must not be absolute.'); + } + $value = strtoupper($value); + + if ($method == self::SETPRINTRANGE_OVERWRITE) { + if ($index == 0) { + $this->_printArea = $value; + } else { + $printAreas = explode(',',$this->_printArea); + if($index < 0) { + $index = count($printAreas) - abs($index) + 1; + } + if (($index <= 0) || ($index > count($printAreas))) { + throw new PHPExcel_Exception('Invalid index for setting print range.'); + } + $printAreas[$index-1] = $value; + $this->_printArea = implode(',',$printAreas); + } + } elseif($method == self::SETPRINTRANGE_INSERT) { + if ($index == 0) { + $this->_printArea .= ($this->_printArea == '') ? $value : ','.$value; + } else { + $printAreas = explode(',',$this->_printArea); + if($index < 0) { + $index = abs($index) - 1; + } + if ($index > count($printAreas)) { + throw new PHPExcel_Exception('Invalid index for setting print range.'); + } + $printAreas = array_merge(array_slice($printAreas,0,$index),array($value),array_slice($printAreas,$index)); + $this->_printArea = implode(',',$printAreas); + } + } else { + throw new PHPExcel_Exception('Invalid method for setting print range.'); + } + + return $this; + } + + /** + * Add a new print area (e.g. 'A1:D10' or 'A1:D10,G5:M20') to the list of print areas + * + * @param string $value + * @param int $index Identifier for a specific print area range allowing several ranges to be set + * A positive index will insert after that indexed entry in the print areas list, while a + * negative index will insert before the indexed entry. + * Specifying an index value of 0, will always append the new print range at the end of the + * list. + * Print areas are numbered from 1 + * @return PHPExcel_Worksheet_PageSetup + * @throws PHPExcel_Exception + */ + public function addPrintArea($value, $index = -1) { + return $this->setPrintArea($value, $index, self::SETPRINTRANGE_INSERT); + } + + /** + * Set print area + * + * @param int $column1 Column 1 + * @param int $row1 Row 1 + * @param int $column2 Column 2 + * @param int $row2 Row 2 + * @param int $index Identifier for a specific print area range allowing several ranges to be set + * When the method is "O"verwrite, then a positive integer index will overwrite that indexed + * entry in the print areas list; a negative index value will identify which entry to + * overwrite working bacward through the print area to the list, with the last entry as -1. + * Specifying an index value of 0, will overwrite <b>all</b> existing print ranges. + * When the method is "I"nsert, then a positive index will insert after that indexed entry in + * the print areas list, while a negative index will insert before the indexed entry. + * Specifying an index value of 0, will always append the new print range at the end of the + * list. + * Print areas are numbered from 1 + * @param string $method Determines the method used when setting multiple print areas + * Default behaviour, or the "O" method, overwrites existing print area + * The "I" method, inserts the new print area before any specified index, or at the end of the list + * @return PHPExcel_Worksheet_PageSetup + * @throws PHPExcel_Exception + */ + public function setPrintAreaByColumnAndRow($column1, $row1, $column2, $row2, $index = 0, $method = self::SETPRINTRANGE_OVERWRITE) + { + return $this->setPrintArea(PHPExcel_Cell::stringFromColumnIndex($column1) . $row1 . ':' . PHPExcel_Cell::stringFromColumnIndex($column2) . $row2, $index, $method); + } + + /** + * Add a new print area to the list of print areas + * + * @param int $column1 Start Column for the print area + * @param int $row1 Start Row for the print area + * @param int $column2 End Column for the print area + * @param int $row2 End Row for the print area + * @param int $index Identifier for a specific print area range allowing several ranges to be set + * A positive index will insert after that indexed entry in the print areas list, while a + * negative index will insert before the indexed entry. + * Specifying an index value of 0, will always append the new print range at the end of the + * list. + * Print areas are numbered from 1 + * @return PHPExcel_Worksheet_PageSetup + * @throws PHPExcel_Exception + */ + public function addPrintAreaByColumnAndRow($column1, $row1, $column2, $row2, $index = -1) + { + return $this->setPrintArea(PHPExcel_Cell::stringFromColumnIndex($column1) . $row1 . ':' . PHPExcel_Cell::stringFromColumnIndex($column2) . $row2, $index, self::SETPRINTRANGE_INSERT); + } + + /** + * Get first page number + * + * @return int + */ + public function getFirstPageNumber() { + return $this->_firstPageNumber; + } + + /** + * Set first page number + * + * @param int $value + * @return PHPExcel_Worksheet_HeaderFooter + */ + public function setFirstPageNumber($value = null) { + $this->_firstPageNumber = $value; + return $this; + } + + /** + * Reset first page number + * + * @return PHPExcel_Worksheet_HeaderFooter + */ + public function resetFirstPageNumber() { + return $this->setFirstPageNumber(null); + } + + /** + * Implement PHP __clone to create a deep clone, not just a shallow copy. + */ + public function __clone() { + $vars = get_object_vars($this); + foreach ($vars as $key => $value) { + if (is_object($value)) { + $this->$key = clone $value; + } else { + $this->$key = $value; + } + } + } +} diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Worksheet/Protection.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Worksheet/Protection.php new file mode 100644 index 00000000..da66bf76 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Worksheet/Protection.php @@ -0,0 +1,545 @@ +<?php +/** + * PHPExcel + * + * Copyright (c) 2006 - 2014 PHPExcel + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * @category PHPExcel + * @package PHPExcel_Worksheet + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @version ##VERSION##, ##DATE## + */ + + +/** + * PHPExcel_Worksheet_Protection + * + * @category PHPExcel + * @package PHPExcel_Worksheet + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + */ +class PHPExcel_Worksheet_Protection +{ + /** + * Sheet + * + * @var boolean + */ + private $_sheet = false; + + /** + * Objects + * + * @var boolean + */ + private $_objects = false; + + /** + * Scenarios + * + * @var boolean + */ + private $_scenarios = false; + + /** + * Format cells + * + * @var boolean + */ + private $_formatCells = false; + + /** + * Format columns + * + * @var boolean + */ + private $_formatColumns = false; + + /** + * Format rows + * + * @var boolean + */ + private $_formatRows = false; + + /** + * Insert columns + * + * @var boolean + */ + private $_insertColumns = false; + + /** + * Insert rows + * + * @var boolean + */ + private $_insertRows = false; + + /** + * Insert hyperlinks + * + * @var boolean + */ + private $_insertHyperlinks = false; + + /** + * Delete columns + * + * @var boolean + */ + private $_deleteColumns = false; + + /** + * Delete rows + * + * @var boolean + */ + private $_deleteRows = false; + + /** + * Select locked cells + * + * @var boolean + */ + private $_selectLockedCells = false; + + /** + * Sort + * + * @var boolean + */ + private $_sort = false; + + /** + * AutoFilter + * + * @var boolean + */ + private $_autoFilter = false; + + /** + * Pivot tables + * + * @var boolean + */ + private $_pivotTables = false; + + /** + * Select unlocked cells + * + * @var boolean + */ + private $_selectUnlockedCells = false; + + /** + * Password + * + * @var string + */ + private $_password = ''; + + /** + * Create a new PHPExcel_Worksheet_Protection + */ + public function __construct() + { + } + + /** + * Is some sort of protection enabled? + * + * @return boolean + */ + function isProtectionEnabled() { + return $this->_sheet || + $this->_objects || + $this->_scenarios || + $this->_formatCells || + $this->_formatColumns || + $this->_formatRows || + $this->_insertColumns || + $this->_insertRows || + $this->_insertHyperlinks || + $this->_deleteColumns || + $this->_deleteRows || + $this->_selectLockedCells || + $this->_sort || + $this->_autoFilter || + $this->_pivotTables || + $this->_selectUnlockedCells; + } + + /** + * Get Sheet + * + * @return boolean + */ + function getSheet() { + return $this->_sheet; + } + + /** + * Set Sheet + * + * @param boolean $pValue + * @return PHPExcel_Worksheet_Protection + */ + function setSheet($pValue = false) { + $this->_sheet = $pValue; + return $this; + } + + /** + * Get Objects + * + * @return boolean + */ + function getObjects() { + return $this->_objects; + } + + /** + * Set Objects + * + * @param boolean $pValue + * @return PHPExcel_Worksheet_Protection + */ + function setObjects($pValue = false) { + $this->_objects = $pValue; + return $this; + } + + /** + * Get Scenarios + * + * @return boolean + */ + function getScenarios() { + return $this->_scenarios; + } + + /** + * Set Scenarios + * + * @param boolean $pValue + * @return PHPExcel_Worksheet_Protection + */ + function setScenarios($pValue = false) { + $this->_scenarios = $pValue; + return $this; + } + + /** + * Get FormatCells + * + * @return boolean + */ + function getFormatCells() { + return $this->_formatCells; + } + + /** + * Set FormatCells + * + * @param boolean $pValue + * @return PHPExcel_Worksheet_Protection + */ + function setFormatCells($pValue = false) { + $this->_formatCells = $pValue; + return $this; + } + + /** + * Get FormatColumns + * + * @return boolean + */ + function getFormatColumns() { + return $this->_formatColumns; + } + + /** + * Set FormatColumns + * + * @param boolean $pValue + * @return PHPExcel_Worksheet_Protection + */ + function setFormatColumns($pValue = false) { + $this->_formatColumns = $pValue; + return $this; + } + + /** + * Get FormatRows + * + * @return boolean + */ + function getFormatRows() { + return $this->_formatRows; + } + + /** + * Set FormatRows + * + * @param boolean $pValue + * @return PHPExcel_Worksheet_Protection + */ + function setFormatRows($pValue = false) { + $this->_formatRows = $pValue; + return $this; + } + + /** + * Get InsertColumns + * + * @return boolean + */ + function getInsertColumns() { + return $this->_insertColumns; + } + + /** + * Set InsertColumns + * + * @param boolean $pValue + * @return PHPExcel_Worksheet_Protection + */ + function setInsertColumns($pValue = false) { + $this->_insertColumns = $pValue; + return $this; + } + + /** + * Get InsertRows + * + * @return boolean + */ + function getInsertRows() { + return $this->_insertRows; + } + + /** + * Set InsertRows + * + * @param boolean $pValue + * @return PHPExcel_Worksheet_Protection + */ + function setInsertRows($pValue = false) { + $this->_insertRows = $pValue; + return $this; + } + + /** + * Get InsertHyperlinks + * + * @return boolean + */ + function getInsertHyperlinks() { + return $this->_insertHyperlinks; + } + + /** + * Set InsertHyperlinks + * + * @param boolean $pValue + * @return PHPExcel_Worksheet_Protection + */ + function setInsertHyperlinks($pValue = false) { + $this->_insertHyperlinks = $pValue; + return $this; + } + + /** + * Get DeleteColumns + * + * @return boolean + */ + function getDeleteColumns() { + return $this->_deleteColumns; + } + + /** + * Set DeleteColumns + * + * @param boolean $pValue + * @return PHPExcel_Worksheet_Protection + */ + function setDeleteColumns($pValue = false) { + $this->_deleteColumns = $pValue; + return $this; + } + + /** + * Get DeleteRows + * + * @return boolean + */ + function getDeleteRows() { + return $this->_deleteRows; + } + + /** + * Set DeleteRows + * + * @param boolean $pValue + * @return PHPExcel_Worksheet_Protection + */ + function setDeleteRows($pValue = false) { + $this->_deleteRows = $pValue; + return $this; + } + + /** + * Get SelectLockedCells + * + * @return boolean + */ + function getSelectLockedCells() { + return $this->_selectLockedCells; + } + + /** + * Set SelectLockedCells + * + * @param boolean $pValue + * @return PHPExcel_Worksheet_Protection + */ + function setSelectLockedCells($pValue = false) { + $this->_selectLockedCells = $pValue; + return $this; + } + + /** + * Get Sort + * + * @return boolean + */ + function getSort() { + return $this->_sort; + } + + /** + * Set Sort + * + * @param boolean $pValue + * @return PHPExcel_Worksheet_Protection + */ + function setSort($pValue = false) { + $this->_sort = $pValue; + return $this; + } + + /** + * Get AutoFilter + * + * @return boolean + */ + function getAutoFilter() { + return $this->_autoFilter; + } + + /** + * Set AutoFilter + * + * @param boolean $pValue + * @return PHPExcel_Worksheet_Protection + */ + function setAutoFilter($pValue = false) { + $this->_autoFilter = $pValue; + return $this; + } + + /** + * Get PivotTables + * + * @return boolean + */ + function getPivotTables() { + return $this->_pivotTables; + } + + /** + * Set PivotTables + * + * @param boolean $pValue + * @return PHPExcel_Worksheet_Protection + */ + function setPivotTables($pValue = false) { + $this->_pivotTables = $pValue; + return $this; + } + + /** + * Get SelectUnlockedCells + * + * @return boolean + */ + function getSelectUnlockedCells() { + return $this->_selectUnlockedCells; + } + + /** + * Set SelectUnlockedCells + * + * @param boolean $pValue + * @return PHPExcel_Worksheet_Protection + */ + function setSelectUnlockedCells($pValue = false) { + $this->_selectUnlockedCells = $pValue; + return $this; + } + + /** + * Get Password (hashed) + * + * @return string + */ + function getPassword() { + return $this->_password; + } + + /** + * Set Password + * + * @param string $pValue + * @param boolean $pAlreadyHashed If the password has already been hashed, set this to true + * @return PHPExcel_Worksheet_Protection + */ + function setPassword($pValue = '', $pAlreadyHashed = false) { + if (!$pAlreadyHashed) { + $pValue = PHPExcel_Shared_PasswordHasher::hashPassword($pValue); + } + $this->_password = $pValue; + return $this; + } + + /** + * Implement PHP __clone to create a deep clone, not just a shallow copy. + */ + public function __clone() { + $vars = get_object_vars($this); + foreach ($vars as $key => $value) { + if (is_object($value)) { + $this->$key = clone $value; + } else { + $this->$key = $value; + } + } + } +} diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Worksheet/Row.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Worksheet/Row.php new file mode 100644 index 00000000..33043279 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Worksheet/Row.php @@ -0,0 +1,92 @@ +<?php +/** + * PHPExcel + * + * Copyright (c) 2006 - 2014 PHPExcel + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * @category PHPExcel + * @package PHPExcel_Worksheet + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @version ##VERSION##, ##DATE## + */ + + +/** + * PHPExcel_Worksheet_Row + * + * Represents a row in PHPExcel_Worksheet, used by PHPExcel_Worksheet_RowIterator + * + * @category PHPExcel + * @package PHPExcel_Worksheet + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + */ +class PHPExcel_Worksheet_Row +{ + /** + * PHPExcel_Worksheet + * + * @var PHPExcel_Worksheet + */ + private $_parent; + + /** + * Row index + * + * @var int + */ + private $_rowIndex = 0; + + /** + * Create a new row + * + * @param PHPExcel_Worksheet $parent + * @param int $rowIndex + */ + public function __construct(PHPExcel_Worksheet $parent = null, $rowIndex = 1) { + // Set parent and row index + $this->_parent = $parent; + $this->_rowIndex = $rowIndex; + } + + /** + * Destructor + */ + public function __destruct() { + unset($this->_parent); + } + + /** + * Get row index + * + * @return int + */ + public function getRowIndex() { + return $this->_rowIndex; + } + + /** + * Get cell iterator + * + * @param string $startColumn The column address at which to start iterating + * @param string $endColumn Optionally, the column address at which to stop iterating + * @return PHPExcel_Worksheet_CellIterator + */ + public function getCellIterator($startColumn = 'A', $endColumn = null) { + return new PHPExcel_Worksheet_RowCellIterator($this->_parent, $this->_rowIndex, $startColumn, $endColumn); + } +} diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Worksheet/RowCellIterator.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Worksheet/RowCellIterator.php new file mode 100644 index 00000000..96c6b419 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Worksheet/RowCellIterator.php @@ -0,0 +1,224 @@ +<?php +/** + * PHPExcel + * + * Copyright (c) 2006 - 2014 PHPExcel + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * @category PHPExcel + * @package PHPExcel_Worksheet + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @version ##VERSION##, ##DATE## + */ + + +/** + * PHPExcel_Worksheet_RowCellIterator + * + * Used to iterate columns in a PHPExcel_Worksheet + * + * @category PHPExcel + * @package PHPExcel_Worksheet + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + */ +class PHPExcel_Worksheet_RowCellIterator extends PHPExcel_Worksheet_CellIterator implements Iterator +{ + /** + * Row index + * + * @var int + */ + protected $_rowIndex; + + /** + * Start position + * + * @var int + */ + protected $_startColumn = 0; + + /** + * End position + * + * @var int + */ + protected $_endColumn = 0; + + /** + * Create a new column iterator + * + * @param PHPExcel_Worksheet $subject The worksheet to iterate over + * @param integer $rowIndex The row that we want to iterate + * @param string $startColumn The column address at which to start iterating + * @param string $endColumn Optionally, the column address at which to stop iterating + */ + public function __construct(PHPExcel_Worksheet $subject = null, $rowIndex = 1, $startColumn = 'A', $endColumn = null) { + // Set subject and row index + $this->_subject = $subject; + $this->_rowIndex = $rowIndex; + $this->resetEnd($endColumn); + $this->resetStart($startColumn); + } + + /** + * Destructor + */ + public function __destruct() { + unset($this->_subject); + } + + /** + * (Re)Set the start column and the current column pointer + * + * @param integer $startColumn The column address at which to start iterating + * @return PHPExcel_Worksheet_RowCellIterator + * @throws PHPExcel_Exception + */ + public function resetStart($startColumn = 'A') { + $startColumnIndex = PHPExcel_Cell::columnIndexFromString($startColumn) - 1; + $this->_startColumn = $startColumnIndex; + $this->adjustForExistingOnlyRange(); + $this->seek(PHPExcel_Cell::stringFromColumnIndex($this->_startColumn)); + + return $this; + } + + /** + * (Re)Set the end column + * + * @param string $endColumn The column address at which to stop iterating + * @return PHPExcel_Worksheet_RowCellIterator + * @throws PHPExcel_Exception + */ + public function resetEnd($endColumn = null) { + $endColumn = ($endColumn) ? $endColumn : $this->_subject->getHighestColumn(); + $this->_endColumn = PHPExcel_Cell::columnIndexFromString($endColumn) - 1; + $this->adjustForExistingOnlyRange(); + + return $this; + } + + /** + * Set the column pointer to the selected column + * + * @param string $column The column address to set the current pointer at + * @return PHPExcel_Worksheet_RowCellIterator + * @throws PHPExcel_Exception + */ + public function seek($column = 'A') { + $column = PHPExcel_Cell::columnIndexFromString($column) - 1; + if (($column < $this->_startColumn) || ($column > $this->_endColumn)) { + throw new PHPExcel_Exception("Column $column is out of range ({$this->_startColumn} - {$this->_endColumn})"); + } elseif ($this->_onlyExistingCells && !($this->_subject->cellExistsByColumnAndRow($column, $this->_rowIndex))) { + throw new PHPExcel_Exception('In "IterateOnlyExistingCells" mode and Cell does not exist'); + } + $this->_position = $column; + + return $this; + } + + /** + * Rewind the iterator to the starting column + */ + public function rewind() { + $this->_position = $this->_startColumn; + } + + /** + * Return the current cell in this worksheet row + * + * @return PHPExcel_Cell + */ + public function current() { + return $this->_subject->getCellByColumnAndRow($this->_position, $this->_rowIndex); + } + + /** + * Return the current iterator key + * + * @return string + */ + public function key() { + return PHPExcel_Cell::stringFromColumnIndex($this->_position); + } + + /** + * Set the iterator to its next value + */ + public function next() { + do { + ++$this->_position; + } while (($this->_onlyExistingCells) && + (!$this->_subject->cellExistsByColumnAndRow($this->_position, $this->_rowIndex)) && + ($this->_position <= $this->_endColumn)); + } + + /** + * Set the iterator to its previous value + * + * @throws PHPExcel_Exception + */ + public function prev() { + if ($this->_position <= $this->_startColumn) { + throw new PHPExcel_Exception( + "Column is already at the beginning of range (" . + PHPExcel_Cell::stringFromColumnIndex($this->_endColumn) . " - " . + PHPExcel_Cell::stringFromColumnIndex($this->_endColumn) . ")" + ); + } + + do { + --$this->_position; + } while (($this->_onlyExistingCells) && + (!$this->_subject->cellExistsByColumnAndRow($this->_position, $this->_rowIndex)) && + ($this->_position >= $this->_startColumn)); + } + + /** + * Indicate if more columns exist in the worksheet range of columns that we're iterating + * + * @return boolean + */ + public function valid() { + return $this->_position <= $this->_endColumn; + } + + /** + * Validate start/end values for "IterateOnlyExistingCells" mode, and adjust if necessary + * + * @throws PHPExcel_Exception + */ + protected function adjustForExistingOnlyRange() { + if ($this->_onlyExistingCells) { + while ((!$this->_subject->cellExistsByColumnAndRow($this->_startColumn, $this->_rowIndex)) && + ($this->_startColumn <= $this->_endColumn)) { + ++$this->_startColumn; + } + if ($this->_startColumn > $this->_endColumn) { + throw new PHPExcel_Exception('No cells exist within the specified range'); + } + while ((!$this->_subject->cellExistsByColumnAndRow($this->_endColumn, $this->_rowIndex)) && + ($this->_endColumn >= $this->_startColumn)) { + --$this->_endColumn; + } + if ($this->_endColumn < $this->_startColumn) { + throw new PHPExcel_Exception('No cells exist within the specified range'); + } + } + } + +} diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Worksheet/RowDimension.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Worksheet/RowDimension.php new file mode 100644 index 00000000..bff89a08 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Worksheet/RowDimension.php @@ -0,0 +1,265 @@ +<?php +/** + * PHPExcel + * + * Copyright (c) 2006 - 2014 PHPExcel + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * @category PHPExcel + * @package PHPExcel_Worksheet + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @version ##VERSION##, ##DATE## + */ + + +/** + * PHPExcel_Worksheet_RowDimension + * + * @category PHPExcel + * @package PHPExcel_Worksheet + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + */ +class PHPExcel_Worksheet_RowDimension +{ + /** + * Row index + * + * @var int + */ + private $_rowIndex; + + /** + * Row height (in pt) + * + * When this is set to a negative value, the row height should be ignored by IWriter + * + * @var double + */ + private $_rowHeight = -1; + + /** + * ZeroHeight for Row? + * + * @var bool + */ + private $_zeroHeight = false; + + /** + * Visible? + * + * @var bool + */ + private $_visible = true; + + /** + * Outline level + * + * @var int + */ + private $_outlineLevel = 0; + + /** + * Collapsed + * + * @var bool + */ + private $_collapsed = false; + + /** + * Index to cellXf. Null value means row has no explicit cellXf format. + * + * @var int|null + */ + private $_xfIndex; + + /** + * Create a new PHPExcel_Worksheet_RowDimension + * + * @param int $pIndex Numeric row index + */ + public function __construct($pIndex = 0) + { + // Initialise values + $this->_rowIndex = $pIndex; + + // set row dimension as unformatted by default + $this->_xfIndex = null; + } + + /** + * Get Row Index + * + * @return int + */ + public function getRowIndex() { + return $this->_rowIndex; + } + + /** + * Set Row Index + * + * @param int $pValue + * @return PHPExcel_Worksheet_RowDimension + */ + public function setRowIndex($pValue) { + $this->_rowIndex = $pValue; + return $this; + } + + /** + * Get Row Height + * + * @return double + */ + public function getRowHeight() { + return $this->_rowHeight; + } + + /** + * Set Row Height + * + * @param double $pValue + * @return PHPExcel_Worksheet_RowDimension + */ + public function setRowHeight($pValue = -1) { + $this->_rowHeight = $pValue; + return $this; + } + + /** + * Get ZeroHeight + * + * @return bool + */ + public function getZeroHeight() { + return $this->_zeroHeight; + } + + /** + * Set ZeroHeight + * + * @param bool $pValue + * @return PHPExcel_Worksheet_RowDimension + */ + public function setZeroHeight($pValue = false) { + $this->_zeroHeight = $pValue; + return $this; + } + + /** + * Get Visible + * + * @return bool + */ + public function getVisible() { + return $this->_visible; + } + + /** + * Set Visible + * + * @param bool $pValue + * @return PHPExcel_Worksheet_RowDimension + */ + public function setVisible($pValue = true) { + $this->_visible = $pValue; + return $this; + } + + /** + * Get Outline Level + * + * @return int + */ + public function getOutlineLevel() { + return $this->_outlineLevel; + } + + /** + * Set Outline Level + * + * Value must be between 0 and 7 + * + * @param int $pValue + * @throws PHPExcel_Exception + * @return PHPExcel_Worksheet_RowDimension + */ + public function setOutlineLevel($pValue) { + if ($pValue < 0 || $pValue > 7) { + throw new PHPExcel_Exception("Outline level must range between 0 and 7."); + } + + $this->_outlineLevel = $pValue; + return $this; + } + + /** + * Get Collapsed + * + * @return bool + */ + public function getCollapsed() { + return $this->_collapsed; + } + + /** + * Set Collapsed + * + * @param bool $pValue + * @return PHPExcel_Worksheet_RowDimension + */ + public function setCollapsed($pValue = true) { + $this->_collapsed = $pValue; + return $this; + } + + /** + * Get index to cellXf + * + * @return int + */ + public function getXfIndex() + { + return $this->_xfIndex; + } + + /** + * Set index to cellXf + * + * @param int $pValue + * @return PHPExcel_Worksheet_RowDimension + */ + public function setXfIndex($pValue = 0) + { + $this->_xfIndex = $pValue; + return $this; + } + + /** + * Implement PHP __clone to create a deep clone, not just a shallow copy. + */ + public function __clone() { + $vars = get_object_vars($this); + foreach ($vars as $key => $value) { + if (is_object($value)) { + $this->$key = clone $value; + } else { + $this->$key = $value; + } + } + } +} diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Worksheet/RowIterator.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Worksheet/RowIterator.php new file mode 100644 index 00000000..110d8621 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Worksheet/RowIterator.php @@ -0,0 +1,183 @@ +<?php +/** + * PHPExcel + * + * Copyright (c) 2006 - 2014 PHPExcel + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * @category PHPExcel + * @package PHPExcel_Worksheet + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @version ##VERSION##, ##DATE## + */ + + +/** + * PHPExcel_Worksheet_RowIterator + * + * Used to iterate rows in a PHPExcel_Worksheet + * + * @category PHPExcel + * @package PHPExcel_Worksheet + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + */ +class PHPExcel_Worksheet_RowIterator implements Iterator +{ + /** + * PHPExcel_Worksheet to iterate + * + * @var PHPExcel_Worksheet + */ + private $_subject; + + /** + * Current iterator position + * + * @var int + */ + private $_position = 1; + + /** + * Start position + * + * @var int + */ + private $_startRow = 1; + + + /** + * End position + * + * @var int + */ + private $_endRow = 1; + + + /** + * Create a new row iterator + * + * @param PHPExcel_Worksheet $subject The worksheet to iterate over + * @param integer $startRow The row number at which to start iterating + * @param integer $endRow Optionally, the row number at which to stop iterating + */ + public function __construct(PHPExcel_Worksheet $subject = null, $startRow = 1, $endRow = null) { + // Set subject + $this->_subject = $subject; + $this->resetEnd($endRow); + $this->resetStart($startRow); + } + + /** + * Destructor + */ + public function __destruct() { + unset($this->_subject); + } + + /** + * (Re)Set the start row and the current row pointer + * + * @param integer $startRow The row number at which to start iterating + * @return PHPExcel_Worksheet_RowIterator + */ + public function resetStart($startRow = 1) { + $this->_startRow = $startRow; + $this->seek($startRow); + + return $this; + } + + /** + * (Re)Set the end row + * + * @param integer $endRow The row number at which to stop iterating + * @return PHPExcel_Worksheet_RowIterator + */ + public function resetEnd($endRow = null) { + $this->_endRow = ($endRow) ? $endRow : $this->_subject->getHighestRow(); + + return $this; + } + + /** + * Set the row pointer to the selected row + * + * @param integer $row The row number to set the current pointer at + * @return PHPExcel_Worksheet_RowIterator + * @throws PHPExcel_Exception + */ + public function seek($row = 1) { + if (($row < $this->_startRow) || ($row > $this->_endRow)) { + throw new PHPExcel_Exception("Row $row is out of range ({$this->_startRow} - {$this->_endRow})"); + } + $this->_position = $row; + + return $this; + } + + /** + * Rewind the iterator to the starting row + */ + public function rewind() { + $this->_position = $this->_startRow; + } + + /** + * Return the current row in this worksheet + * + * @return PHPExcel_Worksheet_Row + */ + public function current() { + return new PHPExcel_Worksheet_Row($this->_subject, $this->_position); + } + + /** + * Return the current iterator key + * + * @return int + */ + public function key() { + return $this->_position; + } + + /** + * Set the iterator to its next value + */ + public function next() { + ++$this->_position; + } + + /** + * Set the iterator to its previous value + */ + public function prev() { + if ($this->_position <= $this->_startRow) { + throw new PHPExcel_Exception("Row is already at the beginning of range ({$this->_startRow} - {$this->_endRow})"); + } + + --$this->_position; + } + + /** + * Indicate if more rows exist in the worksheet range of rows that we're iterating + * + * @return boolean + */ + public function valid() { + return $this->_position <= $this->_endRow; + } +} diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Worksheet/SheetView.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Worksheet/SheetView.php new file mode 100644 index 00000000..8ced835d --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Worksheet/SheetView.php @@ -0,0 +1,188 @@ +<?php +/** + * PHPExcel + * + * Copyright (c) 2006 - 2014 PHPExcel + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * @category PHPExcel + * @package PHPExcel_Worksheet + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @version ##VERSION##, ##DATE## + */ + + +/** + * PHPExcel_Worksheet_SheetView + * + * @category PHPExcel + * @package PHPExcel_Worksheet + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + */ +class PHPExcel_Worksheet_SheetView +{ + + /* Sheet View types */ + const SHEETVIEW_NORMAL = 'normal'; + const SHEETVIEW_PAGE_LAYOUT = 'pageLayout'; + const SHEETVIEW_PAGE_BREAK_PREVIEW = 'pageBreakPreview'; + + private static $_sheetViewTypes = array( + self::SHEETVIEW_NORMAL, + self::SHEETVIEW_PAGE_LAYOUT, + self::SHEETVIEW_PAGE_BREAK_PREVIEW, + ); + + /** + * ZoomScale + * + * Valid values range from 10 to 400. + * + * @var int + */ + private $_zoomScale = 100; + + /** + * ZoomScaleNormal + * + * Valid values range from 10 to 400. + * + * @var int + */ + private $_zoomScaleNormal = 100; + + /** + * View + * + * Valid values range from 10 to 400. + * + * @var string + */ + private $_sheetviewType = self::SHEETVIEW_NORMAL; + + /** + * Create a new PHPExcel_Worksheet_SheetView + */ + public function __construct() + { + } + + /** + * Get ZoomScale + * + * @return int + */ + public function getZoomScale() { + return $this->_zoomScale; + } + + /** + * Set ZoomScale + * + * Valid values range from 10 to 400. + * + * @param int $pValue + * @throws PHPExcel_Exception + * @return PHPExcel_Worksheet_SheetView + */ + public function setZoomScale($pValue = 100) { + // Microsoft Office Excel 2007 only allows setting a scale between 10 and 400 via the user interface, + // but it is apparently still able to handle any scale >= 1 + if (($pValue >= 1) || is_null($pValue)) { + $this->_zoomScale = $pValue; + } else { + throw new PHPExcel_Exception("Scale must be greater than or equal to 1."); + } + return $this; + } + + /** + * Get ZoomScaleNormal + * + * @return int + */ + public function getZoomScaleNormal() { + return $this->_zoomScaleNormal; + } + + /** + * Set ZoomScale + * + * Valid values range from 10 to 400. + * + * @param int $pValue + * @throws PHPExcel_Exception + * @return PHPExcel_Worksheet_SheetView + */ + public function setZoomScaleNormal($pValue = 100) { + if (($pValue >= 1) || is_null($pValue)) { + $this->_zoomScaleNormal = $pValue; + } else { + throw new PHPExcel_Exception("Scale must be greater than or equal to 1."); + } + return $this; + } + + /** + * Get View + * + * @return string + */ + public function getView() { + return $this->_sheetviewType; + } + + /** + * Set View + * + * Valid values are + * 'normal' self::SHEETVIEW_NORMAL + * 'pageLayout' self::SHEETVIEW_PAGE_LAYOUT + * 'pageBreakPreview' self::SHEETVIEW_PAGE_BREAK_PREVIEW + * + * @param string $pValue + * @throws PHPExcel_Exception + * @return PHPExcel_Worksheet_SheetView + */ + public function setView($pValue = NULL) { + // MS Excel 2007 allows setting the view to 'normal', 'pageLayout' or 'pageBreakPreview' + // via the user interface + if ($pValue === NULL) + $pValue = self::SHEETVIEW_NORMAL; + if (in_array($pValue, self::$_sheetViewTypes)) { + $this->_sheetviewType = $pValue; + } else { + throw new PHPExcel_Exception("Invalid sheetview layout type."); + } + + return $this; + } + + /** + * Implement PHP __clone to create a deep clone, not just a shallow copy. + */ + public function __clone() { + $vars = get_object_vars($this); + foreach ($vars as $key => $value) { + if (is_object($value)) { + $this->$key = clone $value; + } else { + $this->$key = $value; + } + } + } +} diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/WorksheetIterator.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/WorksheetIterator.php new file mode 100644 index 00000000..ad17fd90 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/WorksheetIterator.php @@ -0,0 +1,118 @@ +<?php +/** + * PHPExcel + * + * Copyright (c) 2006 - 2014 PHPExcel + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * @category PHPExcel + * @package PHPExcel + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @version ##VERSION##, ##DATE## + */ + + +/** + * PHPExcel_WorksheetIterator + * + * Used to iterate worksheets in PHPExcel + * + * @category PHPExcel + * @package PHPExcel + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + */ +class PHPExcel_WorksheetIterator implements Iterator +{ + /** + * Spreadsheet to iterate + * + * @var PHPExcel + */ + private $_subject; + + /** + * Current iterator position + * + * @var int + */ + private $_position = 0; + + /** + * Create a new worksheet iterator + * + * @param PHPExcel $subject + */ + public function __construct(PHPExcel $subject = null) + { + // Set subject + $this->_subject = $subject; + } + + /** + * Destructor + */ + public function __destruct() + { + unset($this->_subject); + } + + /** + * Rewind iterator + */ + public function rewind() + { + $this->_position = 0; + } + + /** + * Current PHPExcel_Worksheet + * + * @return PHPExcel_Worksheet + */ + public function current() + { + return $this->_subject->getSheet($this->_position); + } + + /** + * Current key + * + * @return int + */ + public function key() + { + return $this->_position; + } + + /** + * Next value + */ + public function next() + { + ++$this->_position; + } + + /** + * More PHPExcel_Worksheet instances available? + * + * @return boolean + */ + public function valid() + { + return $this->_position < $this->_subject->getSheetCount(); + } +} diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/Abstract.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/Abstract.php new file mode 100644 index 00000000..fca6a60c --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/Abstract.php @@ -0,0 +1,158 @@ +<?php +/** + * PHPExcel + * + * Copyright (c) 2006 - 2014 PHPExcel + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * @category PHPExcel + * @package PHPExcel_Writer + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @version ##VERSION##, ##DATE## + */ + + +/** + * PHPExcel_Writer_Abstract + * + * @category PHPExcel + * @package PHPExcel_Writer + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + */ +abstract class PHPExcel_Writer_Abstract implements PHPExcel_Writer_IWriter +{ + /** + * Write charts that are defined in the workbook? + * Identifies whether the Writer should write definitions for any charts that exist in the PHPExcel object; + * + * @var boolean + */ + protected $_includeCharts = FALSE; + + /** + * Pre-calculate formulas + * Forces PHPExcel to recalculate all formulae in a workbook when saving, so that the pre-calculated values are + * immediately available to MS Excel or other office spreadsheet viewer when opening the file + * + * @var boolean + */ + protected $_preCalculateFormulas = TRUE; + + /** + * Use disk caching where possible? + * + * @var boolean + */ + protected $_useDiskCaching = FALSE; + + /** + * Disk caching directory + * + * @var string + */ + protected $_diskCachingDirectory = './'; + + /** + * Write charts in workbook? + * If this is true, then the Writer will write definitions for any charts that exist in the PHPExcel object. + * If false (the default) it will ignore any charts defined in the PHPExcel object. + * + * @return boolean + */ + public function getIncludeCharts() { + return $this->_includeCharts; + } + + /** + * Set write charts in workbook + * Set to true, to advise the Writer to include any charts that exist in the PHPExcel object. + * Set to false (the default) to ignore charts. + * + * @param boolean $pValue + * @return PHPExcel_Writer_IWriter + */ + public function setIncludeCharts($pValue = FALSE) { + $this->_includeCharts = (boolean) $pValue; + return $this; + } + + /** + * Get Pre-Calculate Formulas flag + * If this is true (the default), then the writer will recalculate all formulae in a workbook when saving, + * so that the pre-calculated values are immediately available to MS Excel or other office spreadsheet + * viewer when opening the file + * If false, then formulae are not calculated on save. This is faster for saving in PHPExcel, but slower + * when opening the resulting file in MS Excel, because Excel has to recalculate the formulae itself + * + * @return boolean + */ + public function getPreCalculateFormulas() { + return $this->_preCalculateFormulas; + } + + /** + * Set Pre-Calculate Formulas + * Set to true (the default) to advise the Writer to calculate all formulae on save + * Set to false to prevent precalculation of formulae on save. + * + * @param boolean $pValue Pre-Calculate Formulas? + * @return PHPExcel_Writer_IWriter + */ + public function setPreCalculateFormulas($pValue = TRUE) { + $this->_preCalculateFormulas = (boolean) $pValue; + return $this; + } + + /** + * Get use disk caching where possible? + * + * @return boolean + */ + public function getUseDiskCaching() { + return $this->_useDiskCaching; + } + + /** + * Set use disk caching where possible? + * + * @param boolean $pValue + * @param string $pDirectory Disk caching directory + * @throws PHPExcel_Writer_Exception when directory does not exist + * @return PHPExcel_Writer_Excel2007 + */ + public function setUseDiskCaching($pValue = FALSE, $pDirectory = NULL) { + $this->_useDiskCaching = $pValue; + + if ($pDirectory !== NULL) { + if (is_dir($pDirectory)) { + $this->_diskCachingDirectory = $pDirectory; + } else { + throw new PHPExcel_Writer_Exception("Directory does not exist: $pDirectory"); + } + } + return $this; + } + + /** + * Get disk caching directory + * + * @return string + */ + public function getDiskCachingDirectory() { + return $this->_diskCachingDirectory; + } +} diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/CSV.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/CSV.php new file mode 100644 index 00000000..97961ccc --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/CSV.php @@ -0,0 +1,310 @@ +<?php +/** + * PHPExcel + * + * Copyright (c) 2006 - 2014 PHPExcel + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * @category PHPExcel + * @package PHPExcel_Writer_CSV + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @version ##VERSION##, ##DATE## + */ + + +/** + * PHPExcel_Writer_CSV + * + * @category PHPExcel + * @package PHPExcel_Writer_CSV + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + */ +class PHPExcel_Writer_CSV extends PHPExcel_Writer_Abstract implements PHPExcel_Writer_IWriter { + /** + * PHPExcel object + * + * @var PHPExcel + */ + private $_phpExcel; + + /** + * Delimiter + * + * @var string + */ + private $_delimiter = ','; + + /** + * Enclosure + * + * @var string + */ + private $_enclosure = '"'; + + /** + * Line ending + * + * @var string + */ + private $_lineEnding = PHP_EOL; + + /** + * Sheet index to write + * + * @var int + */ + private $_sheetIndex = 0; + + /** + * Whether to write a BOM (for UTF8). + * + * @var boolean + */ + private $_useBOM = false; + + /** + * Whether to write a fully Excel compatible CSV file. + * + * @var boolean + */ + private $_excelCompatibility = false; + + /** + * Create a new PHPExcel_Writer_CSV + * + * @param PHPExcel $phpExcel PHPExcel object + */ + public function __construct(PHPExcel $phpExcel) { + $this->_phpExcel = $phpExcel; + } + + /** + * Save PHPExcel to file + * + * @param string $pFilename + * @throws PHPExcel_Writer_Exception + */ + public function save($pFilename = null) { + // Fetch sheet + $sheet = $this->_phpExcel->getSheet($this->_sheetIndex); + + $saveDebugLog = PHPExcel_Calculation::getInstance($this->_phpExcel)->getDebugLog()->getWriteDebugLog(); + PHPExcel_Calculation::getInstance($this->_phpExcel)->getDebugLog()->setWriteDebugLog(FALSE); + $saveArrayReturnType = PHPExcel_Calculation::getArrayReturnType(); + PHPExcel_Calculation::setArrayReturnType(PHPExcel_Calculation::RETURN_ARRAY_AS_VALUE); + + // Open file + $fileHandle = fopen($pFilename, 'wb+'); + if ($fileHandle === false) { + throw new PHPExcel_Writer_Exception("Could not open file $pFilename for writing."); + } + + if ($this->_excelCompatibility) { + fwrite($fileHandle, "\xEF\xBB\xBF"); // Enforce UTF-8 BOM Header + $this->setEnclosure('"'); // Set enclosure to " + $this->setDelimiter(";"); // Set delimiter to a semi-colon + $this->setLineEnding("\r\n"); + fwrite($fileHandle, 'sep=' . $this->getDelimiter() . $this->_lineEnding); + } elseif ($this->_useBOM) { + // Write the UTF-8 BOM code if required + fwrite($fileHandle, "\xEF\xBB\xBF"); + } + + // Identify the range that we need to extract from the worksheet + $maxCol = $sheet->getHighestDataColumn(); + $maxRow = $sheet->getHighestDataRow(); + + // Write rows to file + for($row = 1; $row <= $maxRow; ++$row) { + // Convert the row to an array... + $cellsArray = $sheet->rangeToArray('A'.$row.':'.$maxCol.$row,'', $this->_preCalculateFormulas); + // ... and write to the file + $this->_writeLine($fileHandle, $cellsArray[0]); + } + + // Close file + fclose($fileHandle); + + PHPExcel_Calculation::setArrayReturnType($saveArrayReturnType); + PHPExcel_Calculation::getInstance($this->_phpExcel)->getDebugLog()->setWriteDebugLog($saveDebugLog); + } + + /** + * Get delimiter + * + * @return string + */ + public function getDelimiter() { + return $this->_delimiter; + } + + /** + * Set delimiter + * + * @param string $pValue Delimiter, defaults to , + * @return PHPExcel_Writer_CSV + */ + public function setDelimiter($pValue = ',') { + $this->_delimiter = $pValue; + return $this; + } + + /** + * Get enclosure + * + * @return string + */ + public function getEnclosure() { + return $this->_enclosure; + } + + /** + * Set enclosure + * + * @param string $pValue Enclosure, defaults to " + * @return PHPExcel_Writer_CSV + */ + public function setEnclosure($pValue = '"') { + if ($pValue == '') { + $pValue = null; + } + $this->_enclosure = $pValue; + return $this; + } + + /** + * Get line ending + * + * @return string + */ + public function getLineEnding() { + return $this->_lineEnding; + } + + /** + * Set line ending + * + * @param string $pValue Line ending, defaults to OS line ending (PHP_EOL) + * @return PHPExcel_Writer_CSV + */ + public function setLineEnding($pValue = PHP_EOL) { + $this->_lineEnding = $pValue; + return $this; + } + + /** + * Get whether BOM should be used + * + * @return boolean + */ + public function getUseBOM() { + return $this->_useBOM; + } + + /** + * Set whether BOM should be used + * + * @param boolean $pValue Use UTF-8 byte-order mark? Defaults to false + * @return PHPExcel_Writer_CSV + */ + public function setUseBOM($pValue = false) { + $this->_useBOM = $pValue; + return $this; + } + + /** + * Get whether the file should be saved with full Excel Compatibility + * + * @return boolean + */ + public function getExcelCompatibility() { + return $this->_excelCompatibility; + } + + /** + * Set whether the file should be saved with full Excel Compatibility + * + * @param boolean $pValue Set the file to be written as a fully Excel compatible csv file + * Note that this overrides other settings such as useBOM, enclosure and delimiter + * @return PHPExcel_Writer_CSV + */ + public function setExcelCompatibility($pValue = false) { + $this->_excelCompatibility = $pValue; + return $this; + } + + /** + * Get sheet index + * + * @return int + */ + public function getSheetIndex() { + return $this->_sheetIndex; + } + + /** + * Set sheet index + * + * @param int $pValue Sheet index + * @return PHPExcel_Writer_CSV + */ + public function setSheetIndex($pValue = 0) { + $this->_sheetIndex = $pValue; + return $this; + } + + /** + * Write line to CSV file + * + * @param mixed $pFileHandle PHP filehandle + * @param array $pValues Array containing values in a row + * @throws PHPExcel_Writer_Exception + */ + private function _writeLine($pFileHandle = null, $pValues = null) { + if (is_array($pValues)) { + // No leading delimiter + $writeDelimiter = false; + + // Build the line + $line = ''; + + foreach ($pValues as $element) { + // Escape enclosures + $element = str_replace($this->_enclosure, $this->_enclosure . $this->_enclosure, $element); + + // Add delimiter + if ($writeDelimiter) { + $line .= $this->_delimiter; + } else { + $writeDelimiter = true; + } + + // Add enclosed string + $line .= $this->_enclosure . $element . $this->_enclosure; + } + + // Add line ending + $line .= $this->_lineEnding; + + // Write to file + fwrite($pFileHandle, $line); + } else { + throw new PHPExcel_Writer_Exception("Invalid data row passed to CSV writer."); + } + } + +} diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/Excel2007.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/Excel2007.php new file mode 100644 index 00000000..4cf14ac1 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/Excel2007.php @@ -0,0 +1,532 @@ +<?php +/** + * PHPExcel + * + * Copyright (c) 2006 - 2014 PHPExcel + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * @category PHPExcel + * @package PHPExcel_Writer_Excel2007 + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @version ##VERSION##, ##DATE## + */ + + +/** + * PHPExcel_Writer_Excel2007 + * + * @category PHPExcel + * @package PHPExcel_Writer_2007 + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + */ +class PHPExcel_Writer_Excel2007 extends PHPExcel_Writer_Abstract implements PHPExcel_Writer_IWriter +{ + /** + * Pre-calculate formulas + * Forces PHPExcel to recalculate all formulae in a workbook when saving, so that the pre-calculated values are + * immediately available to MS Excel or other office spreadsheet viewer when opening the file + * + * Overrides the default TRUE for this specific writer for performance reasons + * + * @var boolean + */ + protected $_preCalculateFormulas = FALSE; + + /** + * Office2003 compatibility + * + * @var boolean + */ + private $_office2003compatibility = false; + + /** + * Private writer parts + * + * @var PHPExcel_Writer_Excel2007_WriterPart[] + */ + private $_writerParts = array(); + + /** + * Private PHPExcel + * + * @var PHPExcel + */ + private $_spreadSheet; + + /** + * Private string table + * + * @var string[] + */ + private $_stringTable = array(); + + /** + * Private unique PHPExcel_Style_Conditional HashTable + * + * @var PHPExcel_HashTable + */ + private $_stylesConditionalHashTable; + + /** + * Private unique PHPExcel_Style HashTable + * + * @var PHPExcel_HashTable + */ + private $_styleHashTable; + + /** + * Private unique PHPExcel_Style_Fill HashTable + * + * @var PHPExcel_HashTable + */ + private $_fillHashTable; + + /** + * Private unique PHPExcel_Style_Font HashTable + * + * @var PHPExcel_HashTable + */ + private $_fontHashTable; + + /** + * Private unique PHPExcel_Style_Borders HashTable + * + * @var PHPExcel_HashTable + */ + private $_bordersHashTable ; + + /** + * Private unique PHPExcel_Style_NumberFormat HashTable + * + * @var PHPExcel_HashTable + */ + private $_numFmtHashTable; + + /** + * Private unique PHPExcel_Worksheet_BaseDrawing HashTable + * + * @var PHPExcel_HashTable + */ + private $_drawingHashTable; + + /** + * Create a new PHPExcel_Writer_Excel2007 + * + * @param PHPExcel $pPHPExcel + */ + public function __construct(PHPExcel $pPHPExcel = null) + { + // Assign PHPExcel + $this->setPHPExcel($pPHPExcel); + + $writerPartsArray = array( 'stringtable' => 'PHPExcel_Writer_Excel2007_StringTable', + 'contenttypes' => 'PHPExcel_Writer_Excel2007_ContentTypes', + 'docprops' => 'PHPExcel_Writer_Excel2007_DocProps', + 'rels' => 'PHPExcel_Writer_Excel2007_Rels', + 'theme' => 'PHPExcel_Writer_Excel2007_Theme', + 'style' => 'PHPExcel_Writer_Excel2007_Style', + 'workbook' => 'PHPExcel_Writer_Excel2007_Workbook', + 'worksheet' => 'PHPExcel_Writer_Excel2007_Worksheet', + 'drawing' => 'PHPExcel_Writer_Excel2007_Drawing', + 'comments' => 'PHPExcel_Writer_Excel2007_Comments', + 'chart' => 'PHPExcel_Writer_Excel2007_Chart', + 'relsvba' => 'PHPExcel_Writer_Excel2007_RelsVBA', + 'relsribbonobjects' => 'PHPExcel_Writer_Excel2007_RelsRibbon' + ); + + // Initialise writer parts + // and Assign their parent IWriters + foreach ($writerPartsArray as $writer => $class) { + $this->_writerParts[$writer] = new $class($this); + } + + $hashTablesArray = array( '_stylesConditionalHashTable', '_fillHashTable', '_fontHashTable', + '_bordersHashTable', '_numFmtHashTable', '_drawingHashTable', + '_styleHashTable' + ); + + // Set HashTable variables + foreach ($hashTablesArray as $tableName) { + $this->$tableName = new PHPExcel_HashTable(); + } + } + + /** + * Get writer part + * + * @param string $pPartName Writer part name + * @return PHPExcel_Writer_Excel2007_WriterPart + */ + public function getWriterPart($pPartName = '') { + if ($pPartName != '' && isset($this->_writerParts[strtolower($pPartName)])) { + return $this->_writerParts[strtolower($pPartName)]; + } else { + return null; + } + } + + /** + * Save PHPExcel to file + * + * @param string $pFilename + * @throws PHPExcel_Writer_Exception + */ + public function save($pFilename = null) + { + if ($this->_spreadSheet !== NULL) { + // garbage collect + $this->_spreadSheet->garbageCollect(); + + // If $pFilename is php://output or php://stdout, make it a temporary file... + $originalFilename = $pFilename; + if (strtolower($pFilename) == 'php://output' || strtolower($pFilename) == 'php://stdout') { + $pFilename = @tempnam(PHPExcel_Shared_File::sys_get_temp_dir(), 'phpxltmp'); + if ($pFilename == '') { + $pFilename = $originalFilename; + } + } + + $saveDebugLog = PHPExcel_Calculation::getInstance($this->_spreadSheet)->getDebugLog()->getWriteDebugLog(); + PHPExcel_Calculation::getInstance($this->_spreadSheet)->getDebugLog()->setWriteDebugLog(FALSE); + $saveDateReturnType = PHPExcel_Calculation_Functions::getReturnDateType(); + PHPExcel_Calculation_Functions::setReturnDateType(PHPExcel_Calculation_Functions::RETURNDATE_EXCEL); + + // Create string lookup table + $this->_stringTable = array(); + for ($i = 0; $i < $this->_spreadSheet->getSheetCount(); ++$i) { + $this->_stringTable = $this->getWriterPart('StringTable')->createStringTable($this->_spreadSheet->getSheet($i), $this->_stringTable); + } + + // Create styles dictionaries + $this->_styleHashTable->addFromSource( $this->getWriterPart('Style')->allStyles($this->_spreadSheet) ); + $this->_stylesConditionalHashTable->addFromSource( $this->getWriterPart('Style')->allConditionalStyles($this->_spreadSheet) ); + $this->_fillHashTable->addFromSource( $this->getWriterPart('Style')->allFills($this->_spreadSheet) ); + $this->_fontHashTable->addFromSource( $this->getWriterPart('Style')->allFonts($this->_spreadSheet) ); + $this->_bordersHashTable->addFromSource( $this->getWriterPart('Style')->allBorders($this->_spreadSheet) ); + $this->_numFmtHashTable->addFromSource( $this->getWriterPart('Style')->allNumberFormats($this->_spreadSheet) ); + + // Create drawing dictionary + $this->_drawingHashTable->addFromSource( $this->getWriterPart('Drawing')->allDrawings($this->_spreadSheet) ); + + // Create new ZIP file and open it for writing + $zipClass = PHPExcel_Settings::getZipClass(); + $objZip = new $zipClass(); + + // Retrieve OVERWRITE and CREATE constants from the instantiated zip class + // This method of accessing constant values from a dynamic class should work with all appropriate versions of PHP + $ro = new ReflectionObject($objZip); + $zipOverWrite = $ro->getConstant('OVERWRITE'); + $zipCreate = $ro->getConstant('CREATE'); + + if (file_exists($pFilename)) { + unlink($pFilename); + } + // Try opening the ZIP file + if ($objZip->open($pFilename, $zipOverWrite) !== true) { + if ($objZip->open($pFilename, $zipCreate) !== true) { + throw new PHPExcel_Writer_Exception("Could not open " . $pFilename . " for writing."); + } + } + + // Add [Content_Types].xml to ZIP file + $objZip->addFromString('[Content_Types].xml', $this->getWriterPart('ContentTypes')->writeContentTypes($this->_spreadSheet, $this->_includeCharts)); + + //if hasMacros, add the vbaProject.bin file, Certificate file(if exists) + if($this->_spreadSheet->hasMacros()){ + $macrosCode=$this->_spreadSheet->getMacrosCode(); + if(!is_null($macrosCode)){// we have the code ? + $objZip->addFromString('xl/vbaProject.bin', $macrosCode);//allways in 'xl', allways named vbaProject.bin + if($this->_spreadSheet->hasMacrosCertificate()){//signed macros ? + // Yes : add the certificate file and the related rels file + $objZip->addFromString('xl/vbaProjectSignature.bin', $this->_spreadSheet->getMacrosCertificate()); + $objZip->addFromString('xl/_rels/vbaProject.bin.rels', + $this->getWriterPart('RelsVBA')->writeVBARelationships($this->_spreadSheet)); + } + } + } + //a custom UI in this workbook ? add it ("base" xml and additional objects (pictures) and rels) + if($this->_spreadSheet->hasRibbon()){ + $tmpRibbonTarget=$this->_spreadSheet->getRibbonXMLData('target'); + $objZip->addFromString($tmpRibbonTarget, $this->_spreadSheet->getRibbonXMLData('data')); + if($this->_spreadSheet->hasRibbonBinObjects()){ + $tmpRootPath=dirname($tmpRibbonTarget).'/'; + $ribbonBinObjects=$this->_spreadSheet->getRibbonBinObjects('data');//the files to write + foreach($ribbonBinObjects as $aPath=>$aContent){ + $objZip->addFromString($tmpRootPath.$aPath, $aContent); + } + //the rels for files + $objZip->addFromString($tmpRootPath.'_rels/'.basename($tmpRibbonTarget).'.rels', + $this->getWriterPart('RelsRibbonObjects')->writeRibbonRelationships($this->_spreadSheet)); + } + } + + // Add relationships to ZIP file + $objZip->addFromString('_rels/.rels', $this->getWriterPart('Rels')->writeRelationships($this->_spreadSheet)); + $objZip->addFromString('xl/_rels/workbook.xml.rels', $this->getWriterPart('Rels')->writeWorkbookRelationships($this->_spreadSheet)); + + // Add document properties to ZIP file + $objZip->addFromString('docProps/app.xml', $this->getWriterPart('DocProps')->writeDocPropsApp($this->_spreadSheet)); + $objZip->addFromString('docProps/core.xml', $this->getWriterPart('DocProps')->writeDocPropsCore($this->_spreadSheet)); + $customPropertiesPart = $this->getWriterPart('DocProps')->writeDocPropsCustom($this->_spreadSheet); + if ($customPropertiesPart !== NULL) { + $objZip->addFromString('docProps/custom.xml', $customPropertiesPart); + } + + // Add theme to ZIP file + $objZip->addFromString('xl/theme/theme1.xml', $this->getWriterPart('Theme')->writeTheme($this->_spreadSheet)); + + // Add string table to ZIP file + $objZip->addFromString('xl/sharedStrings.xml', $this->getWriterPart('StringTable')->writeStringTable($this->_stringTable)); + + // Add styles to ZIP file + $objZip->addFromString('xl/styles.xml', $this->getWriterPart('Style')->writeStyles($this->_spreadSheet)); + + // Add workbook to ZIP file + $objZip->addFromString('xl/workbook.xml', $this->getWriterPart('Workbook')->writeWorkbook($this->_spreadSheet, $this->_preCalculateFormulas)); + + $chartCount = 0; + // Add worksheets + for ($i = 0; $i < $this->_spreadSheet->getSheetCount(); ++$i) { + $objZip->addFromString('xl/worksheets/sheet' . ($i + 1) . '.xml', $this->getWriterPart('Worksheet')->writeWorksheet($this->_spreadSheet->getSheet($i), $this->_stringTable, $this->_includeCharts)); + if ($this->_includeCharts) { + $charts = $this->_spreadSheet->getSheet($i)->getChartCollection(); + if (count($charts) > 0) { + foreach($charts as $chart) { + $objZip->addFromString('xl/charts/chart' . ($chartCount + 1) . '.xml', $this->getWriterPart('Chart')->writeChart($chart)); + $chartCount++; + } + } + } + } + + $chartRef1 = $chartRef2 = 0; + // Add worksheet relationships (drawings, ...) + for ($i = 0; $i < $this->_spreadSheet->getSheetCount(); ++$i) { + + // Add relationships + $objZip->addFromString('xl/worksheets/_rels/sheet' . ($i + 1) . '.xml.rels', $this->getWriterPart('Rels')->writeWorksheetRelationships($this->_spreadSheet->getSheet($i), ($i + 1), $this->_includeCharts)); + + $drawings = $this->_spreadSheet->getSheet($i)->getDrawingCollection(); + $drawingCount = count($drawings); + if ($this->_includeCharts) { + $chartCount = $this->_spreadSheet->getSheet($i)->getChartCount(); + } + + // Add drawing and image relationship parts + if (($drawingCount > 0) || ($chartCount > 0)) { + // Drawing relationships + $objZip->addFromString('xl/drawings/_rels/drawing' . ($i + 1) . '.xml.rels', $this->getWriterPart('Rels')->writeDrawingRelationships($this->_spreadSheet->getSheet($i),$chartRef1, $this->_includeCharts)); + + // Drawings + $objZip->addFromString('xl/drawings/drawing' . ($i + 1) . '.xml', $this->getWriterPart('Drawing')->writeDrawings($this->_spreadSheet->getSheet($i),$chartRef2,$this->_includeCharts)); + } + + // Add comment relationship parts + if (count($this->_spreadSheet->getSheet($i)->getComments()) > 0) { + // VML Comments + $objZip->addFromString('xl/drawings/vmlDrawing' . ($i + 1) . '.vml', $this->getWriterPart('Comments')->writeVMLComments($this->_spreadSheet->getSheet($i))); + + // Comments + $objZip->addFromString('xl/comments' . ($i + 1) . '.xml', $this->getWriterPart('Comments')->writeComments($this->_spreadSheet->getSheet($i))); + } + + // Add header/footer relationship parts + if (count($this->_spreadSheet->getSheet($i)->getHeaderFooter()->getImages()) > 0) { + // VML Drawings + $objZip->addFromString('xl/drawings/vmlDrawingHF' . ($i + 1) . '.vml', $this->getWriterPart('Drawing')->writeVMLHeaderFooterImages($this->_spreadSheet->getSheet($i))); + + // VML Drawing relationships + $objZip->addFromString('xl/drawings/_rels/vmlDrawingHF' . ($i + 1) . '.vml.rels', $this->getWriterPart('Rels')->writeHeaderFooterDrawingRelationships($this->_spreadSheet->getSheet($i))); + + // Media + foreach ($this->_spreadSheet->getSheet($i)->getHeaderFooter()->getImages() as $image) { + $objZip->addFromString('xl/media/' . $image->getIndexedFilename(), file_get_contents($image->getPath())); + } + } + } + + // Add media + for ($i = 0; $i < $this->getDrawingHashTable()->count(); ++$i) { + if ($this->getDrawingHashTable()->getByIndex($i) instanceof PHPExcel_Worksheet_Drawing) { + $imageContents = null; + $imagePath = $this->getDrawingHashTable()->getByIndex($i)->getPath(); + if (strpos($imagePath, 'zip://') !== false) { + $imagePath = substr($imagePath, 6); + $imagePathSplitted = explode('#', $imagePath); + + $imageZip = new ZipArchive(); + $imageZip->open($imagePathSplitted[0]); + $imageContents = $imageZip->getFromName($imagePathSplitted[1]); + $imageZip->close(); + unset($imageZip); + } else { + $imageContents = file_get_contents($imagePath); + } + + $objZip->addFromString('xl/media/' . str_replace(' ', '_', $this->getDrawingHashTable()->getByIndex($i)->getIndexedFilename()), $imageContents); + } else if ($this->getDrawingHashTable()->getByIndex($i) instanceof PHPExcel_Worksheet_MemoryDrawing) { + ob_start(); + call_user_func( + $this->getDrawingHashTable()->getByIndex($i)->getRenderingFunction(), + $this->getDrawingHashTable()->getByIndex($i)->getImageResource() + ); + $imageContents = ob_get_contents(); + ob_end_clean(); + + $objZip->addFromString('xl/media/' . str_replace(' ', '_', $this->getDrawingHashTable()->getByIndex($i)->getIndexedFilename()), $imageContents); + } + } + + PHPExcel_Calculation_Functions::setReturnDateType($saveDateReturnType); + PHPExcel_Calculation::getInstance($this->_spreadSheet)->getDebugLog()->setWriteDebugLog($saveDebugLog); + + // Close file + if ($objZip->close() === false) { + throw new PHPExcel_Writer_Exception("Could not close zip file $pFilename."); + } + + // If a temporary file was used, copy it to the correct file stream + if ($originalFilename != $pFilename) { + if (copy($pFilename, $originalFilename) === false) { + throw new PHPExcel_Writer_Exception("Could not copy temporary zip file $pFilename to $originalFilename."); + } + @unlink($pFilename); + } + } else { + throw new PHPExcel_Writer_Exception("PHPExcel object unassigned."); + } + } + + /** + * Get PHPExcel object + * + * @return PHPExcel + * @throws PHPExcel_Writer_Exception + */ + public function getPHPExcel() { + if ($this->_spreadSheet !== null) { + return $this->_spreadSheet; + } else { + throw new PHPExcel_Writer_Exception("No PHPExcel assigned."); + } + } + + /** + * Set PHPExcel object + * + * @param PHPExcel $pPHPExcel PHPExcel object + * @throws PHPExcel_Writer_Exception + * @return PHPExcel_Writer_Excel2007 + */ + public function setPHPExcel(PHPExcel $pPHPExcel = null) { + $this->_spreadSheet = $pPHPExcel; + return $this; + } + + /** + * Get string table + * + * @return string[] + */ + public function getStringTable() { + return $this->_stringTable; + } + + /** + * Get PHPExcel_Style HashTable + * + * @return PHPExcel_HashTable + */ + public function getStyleHashTable() { + return $this->_styleHashTable; + } + + /** + * Get PHPExcel_Style_Conditional HashTable + * + * @return PHPExcel_HashTable + */ + public function getStylesConditionalHashTable() { + return $this->_stylesConditionalHashTable; + } + + /** + * Get PHPExcel_Style_Fill HashTable + * + * @return PHPExcel_HashTable + */ + public function getFillHashTable() { + return $this->_fillHashTable; + } + + /** + * Get PHPExcel_Style_Font HashTable + * + * @return PHPExcel_HashTable + */ + public function getFontHashTable() { + return $this->_fontHashTable; + } + + /** + * Get PHPExcel_Style_Borders HashTable + * + * @return PHPExcel_HashTable + */ + public function getBordersHashTable() { + return $this->_bordersHashTable; + } + + /** + * Get PHPExcel_Style_NumberFormat HashTable + * + * @return PHPExcel_HashTable + */ + public function getNumFmtHashTable() { + return $this->_numFmtHashTable; + } + + /** + * Get PHPExcel_Worksheet_BaseDrawing HashTable + * + * @return PHPExcel_HashTable + */ + public function getDrawingHashTable() { + return $this->_drawingHashTable; + } + + /** + * Get Office2003 compatibility + * + * @return boolean + */ + public function getOffice2003Compatibility() { + return $this->_office2003compatibility; + } + + /** + * Set Office2003 compatibility + * + * @param boolean $pValue Office2003 compatibility? + * @return PHPExcel_Writer_Excel2007 + */ + public function setOffice2003Compatibility($pValue = false) { + $this->_office2003compatibility = $pValue; + return $this; + } + +} diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/Excel2007/Chart.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/Excel2007/Chart.php new file mode 100644 index 00000000..4846910f --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/Excel2007/Chart.php @@ -0,0 +1,1606 @@ +<?php +/** + * PHPExcel + * + * Copyright (c) 2006 - 2014 PHPExcel + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * @category PHPExcel + * @package PHPExcel_Writer_Excel2007 + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @version ##VERSION##, ##DATE## + */ + +/** + * PHPExcel_Writer_Excel2007_Chart + * + * @category PHPExcel + * @package PHPExcel_Writer_Excel2007 + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + */ +class PHPExcel_Writer_Excel2007_Chart extends + PHPExcel_Writer_Excel2007_WriterPart { + + /** + * Write charts to XML format + * + * @param PHPExcel_Chart $pChart + * + * @return string XML Output + * @throws PHPExcel_Writer_Exception + */ + public function writeChart(PHPExcel_Chart $pChart = NULL) { + // Create XML writer + $objWriter = NULL; + if ($this->getParentWriter() + ->getUseDiskCaching() + ) { + $objWriter = new PHPExcel_Shared_XMLWriter(PHPExcel_Shared_XMLWriter::STORAGE_DISK, $this->getParentWriter() + ->getDiskCachingDirectory()); + } else { + $objWriter = new PHPExcel_Shared_XMLWriter(PHPExcel_Shared_XMLWriter::STORAGE_MEMORY); + } + // Ensure that data series values are up-to-date before we save + $pChart->refresh(); + + // XML header + $objWriter->startDocument('1.0', 'UTF-8', 'yes'); + + // c:chartSpace + $objWriter->startElement('c:chartSpace'); + $objWriter->writeAttribute('xmlns:c', 'http://schemas.openxmlformats.org/drawingml/2006/chart'); + $objWriter->writeAttribute('xmlns:a', 'http://schemas.openxmlformats.org/drawingml/2006/main'); + $objWriter->writeAttribute('xmlns:r', 'http://schemas.openxmlformats.org/officeDocument/2006/relationships'); + + $objWriter->startElement('c:date1904'); + $objWriter->writeAttribute('val', 0); + $objWriter->endElement(); + $objWriter->startElement('c:lang'); + $objWriter->writeAttribute('val', "en-GB"); + $objWriter->endElement(); + $objWriter->startElement('c:roundedCorners'); + $objWriter->writeAttribute('val', 0); + $objWriter->endElement(); + + $this->_writeAlternateContent($objWriter); + + $objWriter->startElement('c:chart'); + + $this->_writeTitle($pChart->getTitle(), $objWriter); + + $objWriter->startElement('c:autoTitleDeleted'); + $objWriter->writeAttribute('val', 0); + $objWriter->endElement(); + + $this->_writePlotArea( + $pChart->getPlotArea(), + $pChart->getXAxisLabel(), + $pChart->getYAxisLabel(), + $objWriter, + $pChart->getWorksheet(), + $pChart->getChartAxisX(), + $pChart->getChartAxisY(), + $pChart->getMajorGridlines(), + $pChart->getMinorGridlines() + ); + + $this->_writeLegend($pChart->getLegend(), $objWriter); + + $objWriter->startElement('c:plotVisOnly'); + $objWriter->writeAttribute('val', 1); + $objWriter->endElement(); + + $objWriter->startElement('c:dispBlanksAs'); + $objWriter->writeAttribute('val', "gap"); + $objWriter->endElement(); + + $objWriter->startElement('c:showDLblsOverMax'); + $objWriter->writeAttribute('val', 0); + $objWriter->endElement(); + + $objWriter->endElement(); + + $this->_writePrintSettings($objWriter); + + $objWriter->endElement(); + + // Return + return $objWriter->getData(); + } + + /** + * Write Chart Title + * + * @param PHPExcel_Chart_Title $title + * @param PHPExcel_Shared_XMLWriter $objWriter XML Writer + * + * @throws PHPExcel_Writer_Exception + */ + private function _writeTitle(PHPExcel_Chart_Title $title = NULL, $objWriter) { + if (is_null($title)) { + return; + } + + $objWriter->startElement('c:title'); + $objWriter->startElement('c:tx'); + $objWriter->startElement('c:rich'); + + $objWriter->startElement('a:bodyPr'); + $objWriter->endElement(); + + $objWriter->startElement('a:lstStyle'); + $objWriter->endElement(); + + $objWriter->startElement('a:p'); + + $caption = $title->getCaption(); + if ((is_array($caption)) && (count($caption) > 0)) { + $caption = $caption[0]; + } + $this->getParentWriter() + ->getWriterPart('stringtable') + ->writeRichTextForCharts($objWriter, $caption, 'a'); + + $objWriter->endElement(); + $objWriter->endElement(); + $objWriter->endElement(); + + $layout = $title->getLayout(); + $this->_writeLayout($layout, $objWriter); + + $objWriter->startElement('c:overlay'); + $objWriter->writeAttribute('val', 0); + $objWriter->endElement(); + + $objWriter->endElement(); + } + + /** + * Write Chart Legend + * + * @param PHPExcel_Chart_Legend $legend + * @param PHPExcel_Shared_XMLWriter $objWriter XML Writer + * + * @throws PHPExcel_Writer_Exception + */ + private function _writeLegend(PHPExcel_Chart_Legend $legend = NULL, $objWriter) { + if (is_null($legend)) { + return; + } + + $objWriter->startElement('c:legend'); + + $objWriter->startElement('c:legendPos'); + $objWriter->writeAttribute('val', $legend->getPosition()); + $objWriter->endElement(); + + $layout = $legend->getLayout(); + $this->_writeLayout($layout, $objWriter); + + $objWriter->startElement('c:overlay'); + $objWriter->writeAttribute('val', ($legend->getOverlay()) ? '1' : '0'); + $objWriter->endElement(); + + $objWriter->startElement('c:txPr'); + $objWriter->startElement('a:bodyPr'); + $objWriter->endElement(); + + $objWriter->startElement('a:lstStyle'); + $objWriter->endElement(); + + $objWriter->startElement('a:p'); + $objWriter->startElement('a:pPr'); + $objWriter->writeAttribute('rtl', 0); + + $objWriter->startElement('a:defRPr'); + $objWriter->endElement(); + $objWriter->endElement(); + + $objWriter->startElement('a:endParaRPr'); + $objWriter->writeAttribute('lang', "en-US"); + $objWriter->endElement(); + + $objWriter->endElement(); + $objWriter->endElement(); + + $objWriter->endElement(); + } + + /** + * Write Chart Plot Area + * + * @param PHPExcel_Chart_PlotArea $plotArea + * @param PHPExcel_Chart_Title $xAxisLabel + * @param PHPExcel_Chart_Title $yAxisLabel + * @param PHPExcel_Chart_Axis $xAxis + * @param PHPExcel_Chart_Axis $yAxis + * @param PHPExcel_Shared_XMLWriter $objWriter XML Writer + * + * @throws PHPExcel_Writer_Exception + */ + private function _writePlotArea(PHPExcel_Chart_PlotArea $plotArea, + PHPExcel_Chart_Title $xAxisLabel = NULL, + PHPExcel_Chart_Title $yAxisLabel = NULL, + $objWriter, + PHPExcel_Worksheet $pSheet, + PHPExcel_Chart_Axis $xAxis, + PHPExcel_Chart_Axis $yAxis, + PHPExcel_Chart_GridLines $majorGridlines, + PHPExcel_Chart_GridLines $minorGridlines + ) { + if (is_null($plotArea)) { + return; + } + + $id1 = $id2 = 0; + $this->_seriesIndex = 0; + $objWriter->startElement('c:plotArea'); + + $layout = $plotArea->getLayout(); + + $this->_writeLayout($layout, $objWriter); + + $chartTypes = self::_getChartType($plotArea); + $catIsMultiLevelSeries = $valIsMultiLevelSeries = FALSE; + $plotGroupingType = ''; + foreach ($chartTypes as $chartType) { + $objWriter->startElement('c:' . $chartType); + + $groupCount = $plotArea->getPlotGroupCount(); + for ($i = 0; $i < $groupCount; ++$i) { + $plotGroup = $plotArea->getPlotGroupByIndex($i); + $groupType = $plotGroup->getPlotType(); + if ($groupType == $chartType) { + + $plotStyle = $plotGroup->getPlotStyle(); + if ($groupType === PHPExcel_Chart_DataSeries::TYPE_RADARCHART) { + $objWriter->startElement('c:radarStyle'); + $objWriter->writeAttribute('val', $plotStyle); + $objWriter->endElement(); + } elseif ($groupType === PHPExcel_Chart_DataSeries::TYPE_SCATTERCHART) { + $objWriter->startElement('c:scatterStyle'); + $objWriter->writeAttribute('val', $plotStyle); + $objWriter->endElement(); + } + + $this->_writePlotGroup($plotGroup, $chartType, $objWriter, $catIsMultiLevelSeries, $valIsMultiLevelSeries, $plotGroupingType, $pSheet); + } + } + + $this->_writeDataLbls($objWriter, $layout); + + if ($chartType === PHPExcel_Chart_DataSeries::TYPE_LINECHART) { + // Line only, Line3D can't be smoothed + + $objWriter->startElement('c:smooth'); + $objWriter->writeAttribute('val', (integer) $plotGroup->getSmoothLine()); + $objWriter->endElement(); + } elseif (($chartType === PHPExcel_Chart_DataSeries::TYPE_BARCHART) || + ($chartType === PHPExcel_Chart_DataSeries::TYPE_BARCHART_3D) + ) { + + $objWriter->startElement('c:gapWidth'); + $objWriter->writeAttribute('val', 150); + $objWriter->endElement(); + + if ($plotGroupingType == 'percentStacked' || + $plotGroupingType == 'stacked' + ) { + + $objWriter->startElement('c:overlap'); + $objWriter->writeAttribute('val', 100); + $objWriter->endElement(); + } + } elseif ($chartType === PHPExcel_Chart_DataSeries::TYPE_BUBBLECHART) { + + $objWriter->startElement('c:bubbleScale'); + $objWriter->writeAttribute('val', 25); + $objWriter->endElement(); + + $objWriter->startElement('c:showNegBubbles'); + $objWriter->writeAttribute('val', 0); + $objWriter->endElement(); + } elseif ($chartType === PHPExcel_Chart_DataSeries::TYPE_STOCKCHART) { + + $objWriter->startElement('c:hiLowLines'); + $objWriter->endElement(); + + $objWriter->startElement('c:upDownBars'); + + $objWriter->startElement('c:gapWidth'); + $objWriter->writeAttribute('val', 300); + $objWriter->endElement(); + + $objWriter->startElement('c:upBars'); + $objWriter->endElement(); + + $objWriter->startElement('c:downBars'); + $objWriter->endElement(); + + $objWriter->endElement(); + } + + // Generate 2 unique numbers to use for axId values + // $id1 = $id2 = rand(10000000,99999999); + // do { + // $id2 = rand(10000000,99999999); + // } while ($id1 == $id2); + $id1 = '75091328'; + $id2 = '75089408'; + + if (($chartType !== PHPExcel_Chart_DataSeries::TYPE_PIECHART) && + ($chartType !== PHPExcel_Chart_DataSeries::TYPE_PIECHART_3D) && + ($chartType !== PHPExcel_Chart_DataSeries::TYPE_DONUTCHART) + ) { + + $objWriter->startElement('c:axId'); + $objWriter->writeAttribute('val', $id1); + $objWriter->endElement(); + $objWriter->startElement('c:axId'); + $objWriter->writeAttribute('val', $id2); + $objWriter->endElement(); + } else { + $objWriter->startElement('c:firstSliceAng'); + $objWriter->writeAttribute('val', 0); + $objWriter->endElement(); + + if ($chartType === PHPExcel_Chart_DataSeries::TYPE_DONUTCHART) { + + $objWriter->startElement('c:holeSize'); + $objWriter->writeAttribute('val', 50); + $objWriter->endElement(); + } + } + + $objWriter->endElement(); + } + + if (($chartType !== PHPExcel_Chart_DataSeries::TYPE_PIECHART) && + ($chartType !== PHPExcel_Chart_DataSeries::TYPE_PIECHART_3D) && + ($chartType !== PHPExcel_Chart_DataSeries::TYPE_DONUTCHART) + ) { + + if ($chartType === PHPExcel_Chart_DataSeries::TYPE_BUBBLECHART) { + $this->_writeValAx($objWriter, $plotArea, $xAxisLabel, $chartType, $id1, $id2, $catIsMultiLevelSeries, $xAxis, $yAxis, $majorGridlines, $minorGridlines); + } else { + $this->_writeCatAx($objWriter, $plotArea, $xAxisLabel, $chartType, $id1, $id2, $catIsMultiLevelSeries, $xAxis, $yAxis); + } + + $this->_writeValAx($objWriter, $plotArea, $yAxisLabel, $chartType, $id1, $id2, $valIsMultiLevelSeries, $xAxis, $yAxis, $majorGridlines, $minorGridlines); + } + + $objWriter->endElement(); + } + + /** + * Write Data Labels + * + * @param PHPExcel_Shared_XMLWriter $objWriter XML Writer + * @param PHPExcel_Chart_Layout $chartLayout Chart layout + * + * @throws PHPExcel_Writer_Exception + */ + private function _writeDataLbls($objWriter, $chartLayout) { + $objWriter->startElement('c:dLbls'); + + $objWriter->startElement('c:showLegendKey'); + $showLegendKey = (empty($chartLayout)) ? 0 : $chartLayout->getShowLegendKey(); + $objWriter->writeAttribute('val', ((empty($showLegendKey)) ? 0 : 1)); + $objWriter->endElement(); + + $objWriter->startElement('c:showVal'); + $showVal = (empty($chartLayout)) ? 0 : $chartLayout->getShowVal(); + $objWriter->writeAttribute('val', ((empty($showVal)) ? 0 : 1)); + $objWriter->endElement(); + + $objWriter->startElement('c:showCatName'); + $showCatName = (empty($chartLayout)) ? 0 : $chartLayout->getShowCatName(); + $objWriter->writeAttribute('val', ((empty($showCatName)) ? 0 : 1)); + $objWriter->endElement(); + + $objWriter->startElement('c:showSerName'); + $showSerName = (empty($chartLayout)) ? 0 : $chartLayout->getShowSerName(); + $objWriter->writeAttribute('val', ((empty($showSerName)) ? 0 : 1)); + $objWriter->endElement(); + + $objWriter->startElement('c:showPercent'); + $showPercent = (empty($chartLayout)) ? 0 : $chartLayout->getShowPercent(); + $objWriter->writeAttribute('val', ((empty($showPercent)) ? 0 : 1)); + $objWriter->endElement(); + + $objWriter->startElement('c:showBubbleSize'); + $showBubbleSize = (empty($chartLayout)) ? 0 : $chartLayout->getShowBubbleSize(); + $objWriter->writeAttribute('val', ((empty($showBubbleSize)) ? 0 : 1)); + $objWriter->endElement(); + + $objWriter->startElement('c:showLeaderLines'); + $showLeaderLines = (empty($chartLayout)) ? 1 : $chartLayout->getShowLeaderLines(); + $objWriter->writeAttribute('val', ((empty($showLeaderLines)) ? 0 : 1)); + $objWriter->endElement(); + + $objWriter->endElement(); + } + + /** + * Write Category Axis + * + * @param PHPExcel_Shared_XMLWriter $objWriter XML Writer + * @param PHPExcel_Chart_PlotArea $plotArea + * @param PHPExcel_Chart_Title $xAxisLabel + * @param string $groupType Chart type + * @param string $id1 + * @param string $id2 + * @param boolean $isMultiLevelSeries + * + * @throws PHPExcel_Writer_Exception + */ + private function _writeCatAx($objWriter, PHPExcel_Chart_PlotArea $plotArea, $xAxisLabel, $groupType, $id1, $id2, $isMultiLevelSeries, $xAxis, $yAxis) { + $objWriter->startElement('c:catAx'); + + if ($id1 > 0) { + $objWriter->startElement('c:axId'); + $objWriter->writeAttribute('val', $id1); + $objWriter->endElement(); + } + + $objWriter->startElement('c:scaling'); + $objWriter->startElement('c:orientation'); + $objWriter->writeAttribute('val', $yAxis->getAxisOptionsProperty('orientation')); + $objWriter->endElement(); + $objWriter->endElement(); + + $objWriter->startElement('c:delete'); + $objWriter->writeAttribute('val', 0); + $objWriter->endElement(); + + $objWriter->startElement('c:axPos'); + $objWriter->writeAttribute('val', "b"); + $objWriter->endElement(); + + if (!is_null($xAxisLabel)) { + $objWriter->startElement('c:title'); + $objWriter->startElement('c:tx'); + $objWriter->startElement('c:rich'); + + $objWriter->startElement('a:bodyPr'); + $objWriter->endElement(); + + $objWriter->startElement('a:lstStyle'); + $objWriter->endElement(); + + $objWriter->startElement('a:p'); + $objWriter->startElement('a:r'); + + $caption = $xAxisLabel->getCaption(); + if (is_array($caption)) { + $caption = $caption[0]; + } + $objWriter->startElement('a:t'); + // $objWriter->writeAttribute('xml:space', 'preserve'); + $objWriter->writeRawData(PHPExcel_Shared_String::ControlCharacterPHP2OOXML($caption)); + $objWriter->endElement(); + + $objWriter->endElement(); + $objWriter->endElement(); + $objWriter->endElement(); + $objWriter->endElement(); + + $layout = $xAxisLabel->getLayout(); + $this->_writeLayout($layout, $objWriter); + + $objWriter->startElement('c:overlay'); + $objWriter->writeAttribute('val', 0); + $objWriter->endElement(); + + $objWriter->endElement(); + + } + + $objWriter->startElement('c:numFmt'); + $objWriter->writeAttribute('formatCode', $yAxis->getAxisNumberFormat()); + $objWriter->writeAttribute('sourceLinked', $yAxis->getAxisNumberSourceLinked()); + $objWriter->endElement(); + + $objWriter->startElement('c:majorTickMark'); + $objWriter->writeAttribute('val', $yAxis->getAxisOptionsProperty('major_tick_mark')); + $objWriter->endElement(); + + $objWriter->startElement('c:minorTickMark'); + $objWriter->writeAttribute('val', $yAxis->getAxisOptionsProperty('minor_tick_mark')); + $objWriter->endElement(); + + $objWriter->startElement('c:tickLblPos'); + $objWriter->writeAttribute('val', $yAxis->getAxisOptionsProperty('axis_labels')); + $objWriter->endElement(); + + if ($id2 > 0) { + $objWriter->startElement('c:crossAx'); + $objWriter->writeAttribute('val', $id2); + $objWriter->endElement(); + + $objWriter->startElement('c:crosses'); + $objWriter->writeAttribute('val', $yAxis->getAxisOptionsProperty('horizontal_crosses')); + $objWriter->endElement(); + } + + $objWriter->startElement('c:auto'); + $objWriter->writeAttribute('val', 1); + $objWriter->endElement(); + + $objWriter->startElement('c:lblAlgn'); + $objWriter->writeAttribute('val', "ctr"); + $objWriter->endElement(); + + $objWriter->startElement('c:lblOffset'); + $objWriter->writeAttribute('val', 100); + $objWriter->endElement(); + + if ($isMultiLevelSeries) { + $objWriter->startElement('c:noMultiLvlLbl'); + $objWriter->writeAttribute('val', 0); + $objWriter->endElement(); + } + $objWriter->endElement(); + } + + /** + * Write Value Axis + * + * @param PHPExcel_Shared_XMLWriter $objWriter XML Writer + * @param PHPExcel_Chart_PlotArea $plotArea + * @param PHPExcel_Chart_Title $yAxisLabel + * @param string $groupType Chart type + * @param string $id1 + * @param string $id2 + * @param boolean $isMultiLevelSeries + * + * @throws PHPExcel_Writer_Exception + */ + private function _writeValAx($objWriter, PHPExcel_Chart_PlotArea $plotArea, $yAxisLabel, $groupType, $id1, $id2, $isMultiLevelSeries, $xAxis, $yAxis, $majorGridlines, $minorGridlines) { + $objWriter->startElement('c:valAx'); + + if ($id2 > 0) { + $objWriter->startElement('c:axId'); + $objWriter->writeAttribute('val', $id2); + $objWriter->endElement(); + } + + $objWriter->startElement('c:scaling'); + $objWriter->startElement('c:orientation'); + $objWriter->writeAttribute('val', $xAxis->getAxisOptionsProperty('orientation')); + + if (!is_null($xAxis->getAxisOptionsProperty('maximum'))) { + $objWriter->startElement('c:max'); + $objWriter->writeAttribute('val', $xAxis->getAxisOptionsProperty('maximum')); + $objWriter->endElement(); + } + + if (!is_null($xAxis->getAxisOptionsProperty('minimum'))) { + $objWriter->startElement('c:min'); + $objWriter->writeAttribute('val', $xAxis->getAxisOptionsProperty('minimum')); + $objWriter->endElement(); + } + + $objWriter->endElement(); + $objWriter->endElement(); + + $objWriter->startElement('c:delete'); + $objWriter->writeAttribute('val', 0); + $objWriter->endElement(); + + $objWriter->startElement('c:axPos'); + $objWriter->writeAttribute('val', "l"); + $objWriter->endElement(); + + $objWriter->startElement('c:majorGridlines'); + $objWriter->startElement('c:spPr'); + + if (!is_null($majorGridlines->getLineColorProperty('value'))) { + $objWriter->startElement('a:ln'); + $objWriter->writeAttribute('w', $majorGridlines->getLineStyleProperty('width')); + $objWriter->startElement('a:solidFill'); + $objWriter->startElement("a:{$majorGridlines->getLineColorProperty('type')}"); + $objWriter->writeAttribute('val', $majorGridlines->getLineColorProperty('value')); + $objWriter->startElement('a:alpha'); + $objWriter->writeAttribute('val', $majorGridlines->getLineColorProperty('alpha')); + $objWriter->endElement(); //end alpha + $objWriter->endElement(); //end srgbClr + $objWriter->endElement(); //end solidFill + + $objWriter->startElement('a:prstDash'); + $objWriter->writeAttribute('val', $majorGridlines->getLineStyleProperty('dash')); + $objWriter->endElement(); + + if ($majorGridlines->getLineStyleProperty('join') == 'miter') { + $objWriter->startElement('a:miter'); + $objWriter->writeAttribute('lim', '800000'); + $objWriter->endElement(); + } else { + $objWriter->startElement('a:bevel'); + $objWriter->endElement(); + } + + if (!is_null($majorGridlines->getLineStyleProperty(array('arrow', 'head', 'type')))) { + $objWriter->startElement('a:headEnd'); + $objWriter->writeAttribute('type', $majorGridlines->getLineStyleProperty(array('arrow', 'head', 'type'))); + $objWriter->writeAttribute('w', $majorGridlines->getLineStyleArrowParameters('head', 'w')); + $objWriter->writeAttribute('len', $majorGridlines->getLineStyleArrowParameters('head', 'len')); + $objWriter->endElement(); + } + + if (!is_null($majorGridlines->getLineStyleProperty(array('arrow', 'end', 'type')))) { + $objWriter->startElement('a:tailEnd'); + $objWriter->writeAttribute('type', $majorGridlines->getLineStyleProperty(array('arrow', 'end', 'type'))); + $objWriter->writeAttribute('w', $majorGridlines->getLineStyleArrowParameters('end', 'w')); + $objWriter->writeAttribute('len', $majorGridlines->getLineStyleArrowParameters('end', 'len')); + $objWriter->endElement(); + } + $objWriter->endElement(); //end ln + } + $objWriter->startElement('a:effectLst'); + + if (!is_null($majorGridlines->getGlowSize())) { + $objWriter->startElement('a:glow'); + $objWriter->writeAttribute('rad', $majorGridlines->getGlowSize()); + $objWriter->startElement("a:{$majorGridlines->getGlowColor('type')}"); + $objWriter->writeAttribute('val', $majorGridlines->getGlowColor('value')); + $objWriter->startElement('a:alpha'); + $objWriter->writeAttribute('val', $majorGridlines->getGlowColor('alpha')); + $objWriter->endElement(); //end alpha + $objWriter->endElement(); //end schemeClr + $objWriter->endElement(); //end glow + } + + if (!is_null($majorGridlines->getShadowProperty('presets'))) { + $objWriter->startElement("a:{$majorGridlines->getShadowProperty('effect')}"); + if (!is_null($majorGridlines->getShadowProperty('blur'))) { + $objWriter->writeAttribute('blurRad', $majorGridlines->getShadowProperty('blur')); + } + if (!is_null($majorGridlines->getShadowProperty('distance'))) { + $objWriter->writeAttribute('dist', $majorGridlines->getShadowProperty('distance')); + } + if (!is_null($majorGridlines->getShadowProperty('direction'))) { + $objWriter->writeAttribute('dir', $majorGridlines->getShadowProperty('direction')); + } + if (!is_null($majorGridlines->getShadowProperty('algn'))) { + $objWriter->writeAttribute('algn', $majorGridlines->getShadowProperty('algn')); + } + if (!is_null($majorGridlines->getShadowProperty(array('size', 'sx')))) { + $objWriter->writeAttribute('sx', $majorGridlines->getShadowProperty(array('size', 'sx'))); + } + if (!is_null($majorGridlines->getShadowProperty(array('size', 'sy')))) { + $objWriter->writeAttribute('sy', $majorGridlines->getShadowProperty(array('size', 'sy'))); + } + if (!is_null($majorGridlines->getShadowProperty(array('size', 'kx')))) { + $objWriter->writeAttribute('kx', $majorGridlines->getShadowProperty(array('size', 'kx'))); + } + if (!is_null($majorGridlines->getShadowProperty('rotWithShape'))) { + $objWriter->writeAttribute('rotWithShape', $majorGridlines->getShadowProperty('rotWithShape')); + } + $objWriter->startElement("a:{$majorGridlines->getShadowProperty(array('color', 'type'))}"); + $objWriter->writeAttribute('val', $majorGridlines->getShadowProperty(array('color', 'value'))); + + $objWriter->startElement('a:alpha'); + $objWriter->writeAttribute('val', $majorGridlines->getShadowProperty(array('color', 'alpha'))); + $objWriter->endElement(); //end alpha + + $objWriter->endElement(); //end color:type + $objWriter->endElement(); //end shadow + } + + if (!is_null($majorGridlines->getSoftEdgesSize())) { + $objWriter->startElement('a:softEdge'); + $objWriter->writeAttribute('rad', $majorGridlines->getSoftEdgesSize()); + $objWriter->endElement(); //end softEdge + } + + $objWriter->endElement(); //end effectLst + $objWriter->endElement(); //end spPr + $objWriter->endElement(); //end majorGridLines + + if ($minorGridlines->getObjectState()) { + $objWriter->startElement('c:minorGridlines'); + $objWriter->startElement('c:spPr'); + + if (!is_null($minorGridlines->getLineColorProperty('value'))) { + $objWriter->startElement('a:ln'); + $objWriter->writeAttribute('w', $minorGridlines->getLineStyleProperty('width')); + $objWriter->startElement('a:solidFill'); + $objWriter->startElement("a:{$minorGridlines->getLineColorProperty('type')}"); + $objWriter->writeAttribute('val', $minorGridlines->getLineColorProperty('value')); + $objWriter->startElement('a:alpha'); + $objWriter->writeAttribute('val', $minorGridlines->getLineColorProperty('alpha')); + $objWriter->endElement(); //end alpha + $objWriter->endElement(); //end srgbClr + $objWriter->endElement(); //end solidFill + + $objWriter->startElement('a:prstDash'); + $objWriter->writeAttribute('val', $minorGridlines->getLineStyleProperty('dash')); + $objWriter->endElement(); + + if ($minorGridlines->getLineStyleProperty('join') == 'miter') { + $objWriter->startElement('a:miter'); + $objWriter->writeAttribute('lim', '800000'); + $objWriter->endElement(); + } else { + $objWriter->startElement('a:bevel'); + $objWriter->endElement(); + } + + if (!is_null($minorGridlines->getLineStyleProperty(array('arrow', 'head', 'type')))) { + $objWriter->startElement('a:headEnd'); + $objWriter->writeAttribute('type', $minorGridlines->getLineStyleProperty(array('arrow', 'head', 'type'))); + $objWriter->writeAttribute('w', $minorGridlines->getLineStyleArrowParameters('head', 'w')); + $objWriter->writeAttribute('len', $minorGridlines->getLineStyleArrowParameters('head', 'len')); + $objWriter->endElement(); + } + + if (!is_null($minorGridlines->getLineStyleProperty(array('arrow', 'end', 'type')))) { + $objWriter->startElement('a:tailEnd'); + $objWriter->writeAttribute('type', $minorGridlines->getLineStyleProperty(array('arrow', 'end', 'type'))); + $objWriter->writeAttribute('w', $minorGridlines->getLineStyleArrowParameters('end', 'w')); + $objWriter->writeAttribute('len', $minorGridlines->getLineStyleArrowParameters('end', 'len')); + $objWriter->endElement(); + } + $objWriter->endElement(); //end ln + } + + $objWriter->startElement('a:effectLst'); + + if (!is_null($minorGridlines->getGlowSize())) { + $objWriter->startElement('a:glow'); + $objWriter->writeAttribute('rad', $minorGridlines->getGlowSize()); + $objWriter->startElement("a:{$minorGridlines->getGlowColor('type')}"); + $objWriter->writeAttribute('val', $minorGridlines->getGlowColor('value')); + $objWriter->startElement('a:alpha'); + $objWriter->writeAttribute('val', $minorGridlines->getGlowColor('alpha')); + $objWriter->endElement(); //end alpha + $objWriter->endElement(); //end schemeClr + $objWriter->endElement(); //end glow + } + + if (!is_null($minorGridlines->getShadowProperty('presets'))) { + $objWriter->startElement("a:{$minorGridlines->getShadowProperty('effect')}"); + if (!is_null($minorGridlines->getShadowProperty('blur'))) { + $objWriter->writeAttribute('blurRad', $minorGridlines->getShadowProperty('blur')); + } + if (!is_null($minorGridlines->getShadowProperty('distance'))) { + $objWriter->writeAttribute('dist', $minorGridlines->getShadowProperty('distance')); + } + if (!is_null($minorGridlines->getShadowProperty('direction'))) { + $objWriter->writeAttribute('dir', $minorGridlines->getShadowProperty('direction')); + } + if (!is_null($minorGridlines->getShadowProperty('algn'))) { + $objWriter->writeAttribute('algn', $minorGridlines->getShadowProperty('algn')); + } + if (!is_null($minorGridlines->getShadowProperty(array('size', 'sx')))) { + $objWriter->writeAttribute('sx', $minorGridlines->getShadowProperty(array('size', 'sx'))); + } + if (!is_null($minorGridlines->getShadowProperty(array('size', 'sy')))) { + $objWriter->writeAttribute('sy', $minorGridlines->getShadowProperty(array('size', 'sy'))); + } + if (!is_null($minorGridlines->getShadowProperty(array('size', 'kx')))) { + $objWriter->writeAttribute('kx', $minorGridlines->getShadowProperty(array('size', 'kx'))); + } + if (!is_null($minorGridlines->getShadowProperty('rotWithShape'))) { + $objWriter->writeAttribute('rotWithShape', $minorGridlines->getShadowProperty('rotWithShape')); + } + $objWriter->startElement("a:{$minorGridlines->getShadowProperty(array('color', 'type'))}"); + $objWriter->writeAttribute('val', $minorGridlines->getShadowProperty(array('color', 'value'))); + $objWriter->startElement('a:alpha'); + $objWriter->writeAttribute('val', $minorGridlines->getShadowProperty(array('color', 'alpha'))); + $objWriter->endElement(); //end alpha + $objWriter->endElement(); //end color:type + $objWriter->endElement(); //end shadow + } + + if (!is_null($minorGridlines->getSoftEdgesSize())) { + $objWriter->startElement('a:softEdge'); + $objWriter->writeAttribute('rad', $minorGridlines->getSoftEdgesSize()); + $objWriter->endElement(); //end softEdge + } + + $objWriter->endElement(); //end effectLst + $objWriter->endElement(); //end spPr + $objWriter->endElement(); //end minorGridLines + } + + if (!is_null($yAxisLabel)) { + + $objWriter->startElement('c:title'); + $objWriter->startElement('c:tx'); + $objWriter->startElement('c:rich'); + + $objWriter->startElement('a:bodyPr'); + $objWriter->endElement(); + + $objWriter->startElement('a:lstStyle'); + $objWriter->endElement(); + + $objWriter->startElement('a:p'); + $objWriter->startElement('a:r'); + + $caption = $yAxisLabel->getCaption(); + if (is_array($caption)) { + $caption = $caption[0]; + } + + $objWriter->startElement('a:t'); + // $objWriter->writeAttribute('xml:space', 'preserve'); + $objWriter->writeRawData(PHPExcel_Shared_String::ControlCharacterPHP2OOXML($caption)); + $objWriter->endElement(); + + $objWriter->endElement(); + $objWriter->endElement(); + $objWriter->endElement(); + $objWriter->endElement(); + + if ($groupType !== PHPExcel_Chart_DataSeries::TYPE_BUBBLECHART) { + $layout = $yAxisLabel->getLayout(); + $this->_writeLayout($layout, $objWriter); + } + + $objWriter->startElement('c:overlay'); + $objWriter->writeAttribute('val', 0); + $objWriter->endElement(); + + $objWriter->endElement(); + } + + $objWriter->startElement('c:numFmt'); + $objWriter->writeAttribute('formatCode', $xAxis->getAxisNumberFormat()); + $objWriter->writeAttribute('sourceLinked', $xAxis->getAxisNumberSourceLinked()); + $objWriter->endElement(); + + $objWriter->startElement('c:majorTickMark'); + $objWriter->writeAttribute('val', $xAxis->getAxisOptionsProperty('major_tick_mark')); + $objWriter->endElement(); + + $objWriter->startElement('c:minorTickMark'); + $objWriter->writeAttribute('val', $xAxis->getAxisOptionsProperty('minor_tick_mark')); + $objWriter->endElement(); + + $objWriter->startElement('c:tickLblPos'); + $objWriter->writeAttribute('val', $xAxis->getAxisOptionsProperty('axis_labels')); + $objWriter->endElement(); + + $objWriter->startElement('c:spPr'); + + if (!is_null($xAxis->getFillProperty('value'))) { + $objWriter->startElement('a:solidFill'); + $objWriter->startElement("a:" . $xAxis->getFillProperty('type')); + $objWriter->writeAttribute('val', $xAxis->getFillProperty('value')); + $objWriter->startElement('a:alpha'); + $objWriter->writeAttribute('val', $xAxis->getFillProperty('alpha')); + $objWriter->endElement(); + $objWriter->endElement(); + $objWriter->endElement(); + } + + $objWriter->startElement('a:ln'); + + $objWriter->writeAttribute('w', $xAxis->getLineStyleProperty('width')); + $objWriter->writeAttribute('cap', $xAxis->getLineStyleProperty('cap')); + $objWriter->writeAttribute('cmpd', $xAxis->getLineStyleProperty('compound')); + + if (!is_null($xAxis->getLineProperty('value'))) { + $objWriter->startElement('a:solidFill'); + $objWriter->startElement("a:" . $xAxis->getLineProperty('type')); + $objWriter->writeAttribute('val', $xAxis->getLineProperty('value')); + $objWriter->startElement('a:alpha'); + $objWriter->writeAttribute('val', $xAxis->getLineProperty('alpha')); + $objWriter->endElement(); + $objWriter->endElement(); + $objWriter->endElement(); + } + + $objWriter->startElement('a:prstDash'); + $objWriter->writeAttribute('val', $xAxis->getLineStyleProperty('dash')); + $objWriter->endElement(); + + if ($xAxis->getLineStyleProperty('join') == 'miter') { + $objWriter->startElement('a:miter'); + $objWriter->writeAttribute('lim', '800000'); + $objWriter->endElement(); + } else { + $objWriter->startElement('a:bevel'); + $objWriter->endElement(); + } + + if (!is_null($xAxis->getLineStyleProperty(array('arrow', 'head', 'type')))) { + $objWriter->startElement('a:headEnd'); + $objWriter->writeAttribute('type', $xAxis->getLineStyleProperty(array('arrow', 'head', 'type'))); + $objWriter->writeAttribute('w', $xAxis->getLineStyleArrowWidth('head')); + $objWriter->writeAttribute('len', $xAxis->getLineStyleArrowLength('head')); + $objWriter->endElement(); + } + + if (!is_null($xAxis->getLineStyleProperty(array('arrow', 'end', 'type')))) { + $objWriter->startElement('a:tailEnd'); + $objWriter->writeAttribute('type', $xAxis->getLineStyleProperty(array('arrow', 'end', 'type'))); + $objWriter->writeAttribute('w', $xAxis->getLineStyleArrowWidth('end')); + $objWriter->writeAttribute('len', $xAxis->getLineStyleArrowLength('end')); + $objWriter->endElement(); + } + + $objWriter->endElement(); + + $objWriter->startElement('a:effectLst'); + + if (!is_null($xAxis->getGlowProperty('size'))) { + $objWriter->startElement('a:glow'); + $objWriter->writeAttribute('rad', $xAxis->getGlowProperty('size')); + $objWriter->startElement("a:{$xAxis->getGlowProperty(array('color','type'))}"); + $objWriter->writeAttribute('val', $xAxis->getGlowProperty(array('color','value'))); + $objWriter->startElement('a:alpha'); + $objWriter->writeAttribute('val', $xAxis->getGlowProperty(array('color','alpha'))); + $objWriter->endElement(); + $objWriter->endElement(); + $objWriter->endElement(); + } + + if (!is_null($xAxis->getShadowProperty('presets'))) { + $objWriter->startElement("a:{$xAxis->getShadowProperty('effect')}"); + + if (!is_null($xAxis->getShadowProperty('blur'))) { + $objWriter->writeAttribute('blurRad', $xAxis->getShadowProperty('blur')); + } + if (!is_null($xAxis->getShadowProperty('distance'))) { + $objWriter->writeAttribute('dist', $xAxis->getShadowProperty('distance')); + } + if (!is_null($xAxis->getShadowProperty('direction'))) { + $objWriter->writeAttribute('dir', $xAxis->getShadowProperty('direction')); + } + if (!is_null($xAxis->getShadowProperty('algn'))) { + $objWriter->writeAttribute('algn', $xAxis->getShadowProperty('algn')); + } + if (!is_null($xAxis->getShadowProperty(array('size','sx')))) { + $objWriter->writeAttribute('sx', $xAxis->getShadowProperty(array('size','sx'))); + } + if (!is_null($xAxis->getShadowProperty(array('size','sy')))) { + $objWriter->writeAttribute('sy', $xAxis->getShadowProperty(array('size','sy'))); + } + if (!is_null($xAxis->getShadowProperty(array('size','kx')))) { + $objWriter->writeAttribute('kx', $xAxis->getShadowProperty(array('size','kx'))); + } + if (!is_null($xAxis->getShadowProperty('rotWithShape'))) { + $objWriter->writeAttribute('rotWithShape', $xAxis->getShadowProperty('rotWithShape')); + } + + $objWriter->startElement("a:{$xAxis->getShadowProperty(array('color','type'))}"); + $objWriter->writeAttribute('val', $xAxis->getShadowProperty(array('color','value'))); + $objWriter->startElement('a:alpha'); + $objWriter->writeAttribute('val', $xAxis->getShadowProperty(array('color','alpha'))); + $objWriter->endElement(); + $objWriter->endElement(); + + $objWriter->endElement(); + } + + if (!is_null($xAxis->getSoftEdgesSize())) { + $objWriter->startElement('a:softEdge'); + $objWriter->writeAttribute('rad', $xAxis->getSoftEdgesSize()); + $objWriter->endElement(); + } + + $objWriter->endElement(); //effectList + $objWriter->endElement(); //end spPr + + if ($id1 > 0) { + $objWriter->startElement('c:crossAx'); + $objWriter->writeAttribute('val', $id2); + $objWriter->endElement(); + + if (!is_null($xAxis->getAxisOptionsProperty('horizontal_crosses_value'))) { + $objWriter->startElement('c:crossesAt'); + $objWriter->writeAttribute('val', $xAxis->getAxisOptionsProperty('horizontal_crosses_value')); + $objWriter->endElement(); + } else { + $objWriter->startElement('c:crosses'); + $objWriter->writeAttribute('val', $xAxis->getAxisOptionsProperty('horizontal_crosses')); + $objWriter->endElement(); + } + + $objWriter->startElement('c:crossBetween'); + $objWriter->writeAttribute('val', "midCat"); + $objWriter->endElement(); + + if (!is_null($xAxis->getAxisOptionsProperty('major_unit'))) { + $objWriter->startElement('c:majorUnit'); + $objWriter->writeAttribute('val', $xAxis->getAxisOptionsProperty('major_unit')); + $objWriter->endElement(); + } + + if (!is_null($xAxis->getAxisOptionsProperty('minor_unit'))) { + $objWriter->startElement('c:minorUnit'); + $objWriter->writeAttribute('val', $xAxis->getAxisOptionsProperty('minor_unit')); + $objWriter->endElement(); + } + + } + + if ($isMultiLevelSeries) { + if ($groupType !== PHPExcel_Chart_DataSeries::TYPE_BUBBLECHART) { + $objWriter->startElement('c:noMultiLvlLbl'); + $objWriter->writeAttribute('val', 0); + $objWriter->endElement(); + } + } + + $objWriter->endElement(); + + } + + /** + * Get the data series type(s) for a chart plot series + * + * @param PHPExcel_Chart_PlotArea $plotArea + * + * @return string|array + * @throws PHPExcel_Writer_Exception + */ + private + static function _getChartType($plotArea) { + $groupCount = $plotArea->getPlotGroupCount(); + + if ($groupCount == 1) { + $chartType = array( + $plotArea->getPlotGroupByIndex(0) + ->getPlotType() + ); + } else { + $chartTypes = array(); + for ($i = 0; $i < $groupCount; ++$i) { + $chartTypes[] = $plotArea->getPlotGroupByIndex($i) + ->getPlotType(); + } + $chartType = array_unique($chartTypes); + if (count($chartTypes) == 0) { + throw new PHPExcel_Writer_Exception('Chart is not yet implemented'); + } + } + + return $chartType; + } + + /** + * Write Plot Group (series of related plots) + * + * @param PHPExcel_Chart_DataSeries $plotGroup + * @param string $groupType Type of plot for dataseries + * @param PHPExcel_Shared_XMLWriter $objWriter XML Writer + * @param boolean &$catIsMultiLevelSeries Is category a multi-series category + * @param boolean &$valIsMultiLevelSeries Is value set a multi-series set + * @param string &$plotGroupingType Type of grouping for multi-series values + * @param PHPExcel_Worksheet $pSheet + * + * @throws PHPExcel_Writer_Exception + */ + private function _writePlotGroup($plotGroup, + $groupType, + $objWriter, + &$catIsMultiLevelSeries, + &$valIsMultiLevelSeries, + &$plotGroupingType, + PHPExcel_Worksheet $pSheet + ) { + if (is_null($plotGroup)) { + return; + } + + if (($groupType == PHPExcel_Chart_DataSeries::TYPE_BARCHART) || + ($groupType == PHPExcel_Chart_DataSeries::TYPE_BARCHART_3D) + ) { + $objWriter->startElement('c:barDir'); + $objWriter->writeAttribute('val', $plotGroup->getPlotDirection()); + $objWriter->endElement(); + } + + if (!is_null($plotGroup->getPlotGrouping())) { + $plotGroupingType = $plotGroup->getPlotGrouping(); + $objWriter->startElement('c:grouping'); + $objWriter->writeAttribute('val', $plotGroupingType); + $objWriter->endElement(); + } + + // Get these details before the loop, because we can use the count to check for varyColors + $plotSeriesOrder = $plotGroup->getPlotOrder(); + $plotSeriesCount = count($plotSeriesOrder); + + if (($groupType !== PHPExcel_Chart_DataSeries::TYPE_RADARCHART) && + ($groupType !== PHPExcel_Chart_DataSeries::TYPE_STOCKCHART) + ) { + + if ($groupType !== PHPExcel_Chart_DataSeries::TYPE_LINECHART) { + if (($groupType == PHPExcel_Chart_DataSeries::TYPE_PIECHART) || + ($groupType == PHPExcel_Chart_DataSeries::TYPE_PIECHART_3D) || + ($groupType == PHPExcel_Chart_DataSeries::TYPE_DONUTCHART) || + ($plotSeriesCount > 1) + ) { + $objWriter->startElement('c:varyColors'); + $objWriter->writeAttribute('val', 1); + $objWriter->endElement(); + } else { + $objWriter->startElement('c:varyColors'); + $objWriter->writeAttribute('val', 0); + $objWriter->endElement(); + } + } + } + + foreach ($plotSeriesOrder as $plotSeriesIdx => $plotSeriesRef) { + $objWriter->startElement('c:ser'); + + $objWriter->startElement('c:idx'); + $objWriter->writeAttribute('val', $this->_seriesIndex + $plotSeriesIdx); + $objWriter->endElement(); + + $objWriter->startElement('c:order'); + $objWriter->writeAttribute('val', $this->_seriesIndex + $plotSeriesRef); + $objWriter->endElement(); + + if (($groupType == PHPExcel_Chart_DataSeries::TYPE_PIECHART) || + ($groupType == PHPExcel_Chart_DataSeries::TYPE_PIECHART_3D) || + ($groupType == PHPExcel_Chart_DataSeries::TYPE_DONUTCHART) + ) { + + $objWriter->startElement('c:dPt'); + $objWriter->startElement('c:idx'); + $objWriter->writeAttribute('val', 3); + $objWriter->endElement(); + + $objWriter->startElement('c:bubble3D'); + $objWriter->writeAttribute('val', 0); + $objWriter->endElement(); + + $objWriter->startElement('c:spPr'); + $objWriter->startElement('a:solidFill'); + $objWriter->startElement('a:srgbClr'); + $objWriter->writeAttribute('val', 'FF9900'); + $objWriter->endElement(); + $objWriter->endElement(); + $objWriter->endElement(); + $objWriter->endElement(); + } + + // Labels + $plotSeriesLabel = $plotGroup->getPlotLabelByIndex($plotSeriesRef); + if ($plotSeriesLabel && ($plotSeriesLabel->getPointCount() > 0)) { + $objWriter->startElement('c:tx'); + $objWriter->startElement('c:strRef'); + $this->_writePlotSeriesLabel($plotSeriesLabel, $objWriter); + $objWriter->endElement(); + $objWriter->endElement(); + } + + // Formatting for the points + if (($groupType == PHPExcel_Chart_DataSeries::TYPE_LINECHART) || + ($groupType == PHPExcel_Chart_DataSeries::TYPE_STOCKCHART) + ) { + $objWriter->startElement('c:spPr'); + $objWriter->startElement('a:ln'); + $objWriter->writeAttribute('w', 12700); + if ($groupType == PHPExcel_Chart_DataSeries::TYPE_STOCKCHART) { + $objWriter->startElement('a:noFill'); + $objWriter->endElement(); + } + $objWriter->endElement(); + $objWriter->endElement(); + } + + $plotSeriesValues = $plotGroup->getPlotValuesByIndex($plotSeriesRef); + if ($plotSeriesValues) { + $plotSeriesMarker = $plotSeriesValues->getPointMarker(); + if ($plotSeriesMarker) { + $objWriter->startElement('c:marker'); + $objWriter->startElement('c:symbol'); + $objWriter->writeAttribute('val', $plotSeriesMarker); + $objWriter->endElement(); + + if ($plotSeriesMarker !== 'none') { + $objWriter->startElement('c:size'); + $objWriter->writeAttribute('val', 3); + $objWriter->endElement(); + } + + $objWriter->endElement(); + } + } + + if (($groupType === PHPExcel_Chart_DataSeries::TYPE_BARCHART) || + ($groupType === PHPExcel_Chart_DataSeries::TYPE_BARCHART_3D) || + ($groupType === PHPExcel_Chart_DataSeries::TYPE_BUBBLECHART) + ) { + + $objWriter->startElement('c:invertIfNegative'); + $objWriter->writeAttribute('val', 0); + $objWriter->endElement(); + } + + // Category Labels + $plotSeriesCategory = $plotGroup->getPlotCategoryByIndex($plotSeriesRef); + if ($plotSeriesCategory && ($plotSeriesCategory->getPointCount() > 0)) { + $catIsMultiLevelSeries = $catIsMultiLevelSeries || $plotSeriesCategory->isMultiLevelSeries(); + + if (($groupType == PHPExcel_Chart_DataSeries::TYPE_PIECHART) || + ($groupType == PHPExcel_Chart_DataSeries::TYPE_PIECHART_3D) || + ($groupType == PHPExcel_Chart_DataSeries::TYPE_DONUTCHART) + ) { + + if (!is_null($plotGroup->getPlotStyle())) { + $plotStyle = $plotGroup->getPlotStyle(); + if ($plotStyle) { + $objWriter->startElement('c:explosion'); + $objWriter->writeAttribute('val', 25); + $objWriter->endElement(); + } + } + } + + if (($groupType === PHPExcel_Chart_DataSeries::TYPE_BUBBLECHART) || + ($groupType === PHPExcel_Chart_DataSeries::TYPE_SCATTERCHART) + ) { + $objWriter->startElement('c:xVal'); + } else { + $objWriter->startElement('c:cat'); + } + + $this->_writePlotSeriesValues($plotSeriesCategory, $objWriter, $groupType, 'str', $pSheet); + $objWriter->endElement(); + } + + // Values + if ($plotSeriesValues) { + $valIsMultiLevelSeries = $valIsMultiLevelSeries || $plotSeriesValues->isMultiLevelSeries(); + + if (($groupType === PHPExcel_Chart_DataSeries::TYPE_BUBBLECHART) || + ($groupType === PHPExcel_Chart_DataSeries::TYPE_SCATTERCHART) + ) { + $objWriter->startElement('c:yVal'); + } else { + $objWriter->startElement('c:val'); + } + + $this->_writePlotSeriesValues($plotSeriesValues, $objWriter, $groupType, 'num', $pSheet); + $objWriter->endElement(); + } + + if ($groupType === PHPExcel_Chart_DataSeries::TYPE_BUBBLECHART) { + $this->_writeBubbles($plotSeriesValues, $objWriter, $pSheet); + } + + $objWriter->endElement(); + + } + + $this->_seriesIndex += $plotSeriesIdx + 1; + } + + /** + * Write Plot Series Label + * + * @param PHPExcel_Chart_DataSeriesValues $plotSeriesLabel + * @param PHPExcel_Shared_XMLWriter $objWriter XML Writer + * + * @throws PHPExcel_Writer_Exception + */ + private function _writePlotSeriesLabel($plotSeriesLabel, $objWriter) { + if (is_null($plotSeriesLabel)) { + return; + } + + $objWriter->startElement('c:f'); + $objWriter->writeRawData($plotSeriesLabel->getDataSource()); + $objWriter->endElement(); + + $objWriter->startElement('c:strCache'); + $objWriter->startElement('c:ptCount'); + $objWriter->writeAttribute('val', $plotSeriesLabel->getPointCount()); + $objWriter->endElement(); + + foreach ($plotSeriesLabel->getDataValues() as $plotLabelKey => $plotLabelValue) { + $objWriter->startElement('c:pt'); + $objWriter->writeAttribute('idx', $plotLabelKey); + + $objWriter->startElement('c:v'); + $objWriter->writeRawData($plotLabelValue); + $objWriter->endElement(); + $objWriter->endElement(); + } + $objWriter->endElement(); + + } + + /** + * Write Plot Series Values + * + * @param PHPExcel_Chart_DataSeriesValues $plotSeriesValues + * @param PHPExcel_Shared_XMLWriter $objWriter XML Writer + * @param string $groupType Type of plot for dataseries + * @param string $dataType Datatype of series values + * @param PHPExcel_Worksheet $pSheet + * + * @throws PHPExcel_Writer_Exception + */ + private function _writePlotSeriesValues($plotSeriesValues, + $objWriter, + $groupType, + $dataType = 'str', + PHPExcel_Worksheet $pSheet + ) { + if (is_null($plotSeriesValues)) { + return; + } + + if ($plotSeriesValues->isMultiLevelSeries()) { + $levelCount = $plotSeriesValues->multiLevelCount(); + + $objWriter->startElement('c:multiLvlStrRef'); + + $objWriter->startElement('c:f'); + $objWriter->writeRawData($plotSeriesValues->getDataSource()); + $objWriter->endElement(); + + $objWriter->startElement('c:multiLvlStrCache'); + + $objWriter->startElement('c:ptCount'); + $objWriter->writeAttribute('val', $plotSeriesValues->getPointCount()); + $objWriter->endElement(); + + for ($level = 0; $level < $levelCount; ++$level) { + $objWriter->startElement('c:lvl'); + + foreach ($plotSeriesValues->getDataValues() as $plotSeriesKey => $plotSeriesValue) { + if (isset($plotSeriesValue[$level])) { + $objWriter->startElement('c:pt'); + $objWriter->writeAttribute('idx', $plotSeriesKey); + + $objWriter->startElement('c:v'); + $objWriter->writeRawData($plotSeriesValue[$level]); + $objWriter->endElement(); + $objWriter->endElement(); + } + } + + $objWriter->endElement(); + } + + $objWriter->endElement(); + + $objWriter->endElement(); + } else { + $objWriter->startElement('c:' . $dataType . 'Ref'); + + $objWriter->startElement('c:f'); + $objWriter->writeRawData($plotSeriesValues->getDataSource()); + $objWriter->endElement(); + + $objWriter->startElement('c:' . $dataType . 'Cache'); + + if (($groupType != PHPExcel_Chart_DataSeries::TYPE_PIECHART) && + ($groupType != PHPExcel_Chart_DataSeries::TYPE_PIECHART_3D) && + ($groupType != PHPExcel_Chart_DataSeries::TYPE_DONUTCHART) + ) { + + if (($plotSeriesValues->getFormatCode() !== NULL) && + ($plotSeriesValues->getFormatCode() !== '') + ) { + $objWriter->startElement('c:formatCode'); + $objWriter->writeRawData($plotSeriesValues->getFormatCode()); + $objWriter->endElement(); + } + } + + $objWriter->startElement('c:ptCount'); + $objWriter->writeAttribute('val', $plotSeriesValues->getPointCount()); + $objWriter->endElement(); + + $dataValues = $plotSeriesValues->getDataValues(); + if (!empty($dataValues)) { + if (is_array($dataValues)) { + foreach ($dataValues as $plotSeriesKey => $plotSeriesValue) { + $objWriter->startElement('c:pt'); + $objWriter->writeAttribute('idx', $plotSeriesKey); + + $objWriter->startElement('c:v'); + $objWriter->writeRawData($plotSeriesValue); + $objWriter->endElement(); + $objWriter->endElement(); + } + } + } + + $objWriter->endElement(); + + $objWriter->endElement(); + } + } + + /** + * Write Bubble Chart Details + * + * @param PHPExcel_Chart_DataSeriesValues $plotSeriesValues + * @param PHPExcel_Shared_XMLWriter $objWriter XML Writer + * + * @throws PHPExcel_Writer_Exception + */ + private function _writeBubbles($plotSeriesValues, $objWriter, PHPExcel_Worksheet $pSheet) { + if (is_null($plotSeriesValues)) { + return; + } + + $objWriter->startElement('c:bubbleSize'); + $objWriter->startElement('c:numLit'); + + $objWriter->startElement('c:formatCode'); + $objWriter->writeRawData('General'); + $objWriter->endElement(); + + $objWriter->startElement('c:ptCount'); + $objWriter->writeAttribute('val', $plotSeriesValues->getPointCount()); + $objWriter->endElement(); + + $dataValues = $plotSeriesValues->getDataValues(); + if (!empty($dataValues)) { + if (is_array($dataValues)) { + foreach ($dataValues as $plotSeriesKey => $plotSeriesValue) { + $objWriter->startElement('c:pt'); + $objWriter->writeAttribute('idx', $plotSeriesKey); + $objWriter->startElement('c:v'); + $objWriter->writeRawData(1); + $objWriter->endElement(); + $objWriter->endElement(); + } + } + } + + $objWriter->endElement(); + $objWriter->endElement(); + + $objWriter->startElement('c:bubble3D'); + $objWriter->writeAttribute('val', 0); + $objWriter->endElement(); + } + + /** + * Write Layout + * + * @param PHPExcel_Chart_Layout $layout + * @param PHPExcel_Shared_XMLWriter $objWriter XML Writer + * + * @throws PHPExcel_Writer_Exception + */ + private function _writeLayout(PHPExcel_Chart_Layout $layout = NULL, $objWriter) { + $objWriter->startElement('c:layout'); + + if (!is_null($layout)) { + $objWriter->startElement('c:manualLayout'); + + $layoutTarget = $layout->getLayoutTarget(); + if (!is_null($layoutTarget)) { + $objWriter->startElement('c:layoutTarget'); + $objWriter->writeAttribute('val', $layoutTarget); + $objWriter->endElement(); + } + + $xMode = $layout->getXMode(); + if (!is_null($xMode)) { + $objWriter->startElement('c:xMode'); + $objWriter->writeAttribute('val', $xMode); + $objWriter->endElement(); + } + + $yMode = $layout->getYMode(); + if (!is_null($yMode)) { + $objWriter->startElement('c:yMode'); + $objWriter->writeAttribute('val', $yMode); + $objWriter->endElement(); + } + + $x = $layout->getXPosition(); + if (!is_null($x)) { + $objWriter->startElement('c:x'); + $objWriter->writeAttribute('val', $x); + $objWriter->endElement(); + } + + $y = $layout->getYPosition(); + if (!is_null($y)) { + $objWriter->startElement('c:y'); + $objWriter->writeAttribute('val', $y); + $objWriter->endElement(); + } + + $w = $layout->getWidth(); + if (!is_null($w)) { + $objWriter->startElement('c:w'); + $objWriter->writeAttribute('val', $w); + $objWriter->endElement(); + } + + $h = $layout->getHeight(); + if (!is_null($h)) { + $objWriter->startElement('c:h'); + $objWriter->writeAttribute('val', $h); + $objWriter->endElement(); + } + + $objWriter->endElement(); + } + + $objWriter->endElement(); + } + + /** + * Write Alternate Content block + * + * @param PHPExcel_Shared_XMLWriter $objWriter XML Writer + * + * @throws PHPExcel_Writer_Exception + */ + private function _writeAlternateContent($objWriter) { + $objWriter->startElement('mc:AlternateContent'); + $objWriter->writeAttribute('xmlns:mc', 'http://schemas.openxmlformats.org/markup-compatibility/2006'); + + $objWriter->startElement('mc:Choice'); + $objWriter->writeAttribute('xmlns:c14', 'http://schemas.microsoft.com/office/drawing/2007/8/2/chart'); + $objWriter->writeAttribute('Requires', 'c14'); + + $objWriter->startElement('c14:style'); + $objWriter->writeAttribute('val', '102'); + $objWriter->endElement(); + $objWriter->endElement(); + + $objWriter->startElement('mc:Fallback'); + $objWriter->startElement('c:style'); + $objWriter->writeAttribute('val', '2'); + $objWriter->endElement(); + $objWriter->endElement(); + + $objWriter->endElement(); + } + + /** + * Write Printer Settings + * + * @param PHPExcel_Shared_XMLWriter $objWriter XML Writer + * + * @throws PHPExcel_Writer_Exception + */ + private function _writePrintSettings($objWriter) { + $objWriter->startElement('c:printSettings'); + + $objWriter->startElement('c:headerFooter'); + $objWriter->endElement(); + + $objWriter->startElement('c:pageMargins'); + $objWriter->writeAttribute('footer', 0.3); + $objWriter->writeAttribute('header', 0.3); + $objWriter->writeAttribute('r', 0.7); + $objWriter->writeAttribute('l', 0.7); + $objWriter->writeAttribute('t', 0.75); + $objWriter->writeAttribute('b', 0.75); + $objWriter->endElement(); + + $objWriter->startElement('c:pageSetup'); + $objWriter->writeAttribute('orientation', "portrait"); + $objWriter->endElement(); + + $objWriter->endElement(); + } + +} diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/Excel2007/Comments.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/Excel2007/Comments.php new file mode 100644 index 00000000..dc809fa8 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/Excel2007/Comments.php @@ -0,0 +1,268 @@ +<?php +/** + * PHPExcel + * + * Copyright (c) 2006 - 2014 PHPExcel + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * @category PHPExcel + * @package PHPExcel_Writer_Excel2007 + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @version ##VERSION##, ##DATE## + */ + + +/** + * PHPExcel_Writer_Excel2007_Comments + * + * @category PHPExcel + * @package PHPExcel_Writer_Excel2007 + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + */ +class PHPExcel_Writer_Excel2007_Comments extends PHPExcel_Writer_Excel2007_WriterPart +{ + /** + * Write comments to XML format + * + * @param PHPExcel_Worksheet $pWorksheet + * @return string XML Output + * @throws PHPExcel_Writer_Exception + */ + public function writeComments(PHPExcel_Worksheet $pWorksheet = null) + { + // Create XML writer + $objWriter = null; + if ($this->getParentWriter()->getUseDiskCaching()) { + $objWriter = new PHPExcel_Shared_XMLWriter(PHPExcel_Shared_XMLWriter::STORAGE_DISK, $this->getParentWriter()->getDiskCachingDirectory()); + } else { + $objWriter = new PHPExcel_Shared_XMLWriter(PHPExcel_Shared_XMLWriter::STORAGE_MEMORY); + } + + // XML header + $objWriter->startDocument('1.0','UTF-8','yes'); + + // Comments cache + $comments = $pWorksheet->getComments(); + + // Authors cache + $authors = array(); + $authorId = 0; + foreach ($comments as $comment) { + if (!isset($authors[$comment->getAuthor()])) { + $authors[$comment->getAuthor()] = $authorId++; + } + } + + // comments + $objWriter->startElement('comments'); + $objWriter->writeAttribute('xmlns', 'http://schemas.openxmlformats.org/spreadsheetml/2006/main'); + + // Loop through authors + $objWriter->startElement('authors'); + foreach ($authors as $author => $index) { + $objWriter->writeElement('author', $author); + } + $objWriter->endElement(); + + // Loop through comments + $objWriter->startElement('commentList'); + foreach ($comments as $key => $value) { + $this->_writeComment($objWriter, $key, $value, $authors); + } + $objWriter->endElement(); + + $objWriter->endElement(); + + // Return + return $objWriter->getData(); + } + + /** + * Write comment to XML format + * + * @param PHPExcel_Shared_XMLWriter $objWriter XML Writer + * @param string $pCellReference Cell reference + * @param PHPExcel_Comment $pComment Comment + * @param array $pAuthors Array of authors + * @throws PHPExcel_Writer_Exception + */ + public function _writeComment(PHPExcel_Shared_XMLWriter $objWriter = null, $pCellReference = 'A1', PHPExcel_Comment $pComment = null, $pAuthors = null) + { + // comment + $objWriter->startElement('comment'); + $objWriter->writeAttribute('ref', $pCellReference); + $objWriter->writeAttribute('authorId', $pAuthors[$pComment->getAuthor()]); + + // text + $objWriter->startElement('text'); + $this->getParentWriter()->getWriterPart('stringtable')->writeRichText($objWriter, $pComment->getText()); + $objWriter->endElement(); + + $objWriter->endElement(); + } + + /** + * Write VML comments to XML format + * + * @param PHPExcel_Worksheet $pWorksheet + * @return string XML Output + * @throws PHPExcel_Writer_Exception + */ + public function writeVMLComments(PHPExcel_Worksheet $pWorksheet = null) + { + // Create XML writer + $objWriter = null; + if ($this->getParentWriter()->getUseDiskCaching()) { + $objWriter = new PHPExcel_Shared_XMLWriter(PHPExcel_Shared_XMLWriter::STORAGE_DISK, $this->getParentWriter()->getDiskCachingDirectory()); + } else { + $objWriter = new PHPExcel_Shared_XMLWriter(PHPExcel_Shared_XMLWriter::STORAGE_MEMORY); + } + + // XML header + $objWriter->startDocument('1.0','UTF-8','yes'); + + // Comments cache + $comments = $pWorksheet->getComments(); + + // xml + $objWriter->startElement('xml'); + $objWriter->writeAttribute('xmlns:v', 'urn:schemas-microsoft-com:vml'); + $objWriter->writeAttribute('xmlns:o', 'urn:schemas-microsoft-com:office:office'); + $objWriter->writeAttribute('xmlns:x', 'urn:schemas-microsoft-com:office:excel'); + + // o:shapelayout + $objWriter->startElement('o:shapelayout'); + $objWriter->writeAttribute('v:ext', 'edit'); + + // o:idmap + $objWriter->startElement('o:idmap'); + $objWriter->writeAttribute('v:ext', 'edit'); + $objWriter->writeAttribute('data', '1'); + $objWriter->endElement(); + + $objWriter->endElement(); + + // v:shapetype + $objWriter->startElement('v:shapetype'); + $objWriter->writeAttribute('id', '_x0000_t202'); + $objWriter->writeAttribute('coordsize', '21600,21600'); + $objWriter->writeAttribute('o:spt', '202'); + $objWriter->writeAttribute('path', 'm,l,21600r21600,l21600,xe'); + + // v:stroke + $objWriter->startElement('v:stroke'); + $objWriter->writeAttribute('joinstyle', 'miter'); + $objWriter->endElement(); + + // v:path + $objWriter->startElement('v:path'); + $objWriter->writeAttribute('gradientshapeok', 't'); + $objWriter->writeAttribute('o:connecttype', 'rect'); + $objWriter->endElement(); + + $objWriter->endElement(); + + // Loop through comments + foreach ($comments as $key => $value) { + $this->_writeVMLComment($objWriter, $key, $value); + } + + $objWriter->endElement(); + + // Return + return $objWriter->getData(); + } + + /** + * Write VML comment to XML format + * + * @param PHPExcel_Shared_XMLWriter $objWriter XML Writer + * @param string $pCellReference Cell reference + * @param PHPExcel_Comment $pComment Comment + * @throws PHPExcel_Writer_Exception + */ + public function _writeVMLComment(PHPExcel_Shared_XMLWriter $objWriter = null, $pCellReference = 'A1', PHPExcel_Comment $pComment = null) + { + // Metadata + list($column, $row) = PHPExcel_Cell::coordinateFromString($pCellReference); + $column = PHPExcel_Cell::columnIndexFromString($column); + $id = 1024 + $column + $row; + $id = substr($id, 0, 4); + + // v:shape + $objWriter->startElement('v:shape'); + $objWriter->writeAttribute('id', '_x0000_s' . $id); + $objWriter->writeAttribute('type', '#_x0000_t202'); + $objWriter->writeAttribute('style', 'position:absolute;margin-left:' . $pComment->getMarginLeft() . ';margin-top:' . $pComment->getMarginTop() . ';width:' . $pComment->getWidth() . ';height:' . $pComment->getHeight() . ';z-index:1;visibility:' . ($pComment->getVisible() ? 'visible' : 'hidden')); + $objWriter->writeAttribute('fillcolor', '#' . $pComment->getFillColor()->getRGB()); + $objWriter->writeAttribute('o:insetmode', 'auto'); + + // v:fill + $objWriter->startElement('v:fill'); + $objWriter->writeAttribute('color2', '#' . $pComment->getFillColor()->getRGB()); + $objWriter->endElement(); + + // v:shadow + $objWriter->startElement('v:shadow'); + $objWriter->writeAttribute('on', 't'); + $objWriter->writeAttribute('color', 'black'); + $objWriter->writeAttribute('obscured', 't'); + $objWriter->endElement(); + + // v:path + $objWriter->startElement('v:path'); + $objWriter->writeAttribute('o:connecttype', 'none'); + $objWriter->endElement(); + + // v:textbox + $objWriter->startElement('v:textbox'); + $objWriter->writeAttribute('style', 'mso-direction-alt:auto'); + + // div + $objWriter->startElement('div'); + $objWriter->writeAttribute('style', 'text-align:left'); + $objWriter->endElement(); + + $objWriter->endElement(); + + // x:ClientData + $objWriter->startElement('x:ClientData'); + $objWriter->writeAttribute('ObjectType', 'Note'); + + // x:MoveWithCells + $objWriter->writeElement('x:MoveWithCells', ''); + + // x:SizeWithCells + $objWriter->writeElement('x:SizeWithCells', ''); + + // x:Anchor + //$objWriter->writeElement('x:Anchor', $column . ', 15, ' . ($row - 2) . ', 10, ' . ($column + 4) . ', 15, ' . ($row + 5) . ', 18'); + + // x:AutoFill + $objWriter->writeElement('x:AutoFill', 'False'); + + // x:Row + $objWriter->writeElement('x:Row', ($row - 1)); + + // x:Column + $objWriter->writeElement('x:Column', ($column - 1)); + + $objWriter->endElement(); + + $objWriter->endElement(); + } +} diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/Excel2007/ContentTypes.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/Excel2007/ContentTypes.php new file mode 100644 index 00000000..55785365 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/Excel2007/ContentTypes.php @@ -0,0 +1,287 @@ +<?php +/** + * PHPExcel + * + * Copyright (c) 2006 - 2014 PHPExcel + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * @category PHPExcel + * @package PHPExcel_Writer_Excel2007 + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @version ##VERSION##, ##DATE## + */ + + +/** + * PHPExcel_Writer_Excel2007_ContentTypes + * + * @category PHPExcel + * @package PHPExcel_Writer_Excel2007 + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + */ +class PHPExcel_Writer_Excel2007_ContentTypes extends PHPExcel_Writer_Excel2007_WriterPart +{ + /** + * Write content types to XML format + * + * @param PHPExcel $pPHPExcel + * @param boolean $includeCharts Flag indicating if we should include drawing details for charts + * @return string XML Output + * @throws PHPExcel_Writer_Exception + */ + public function writeContentTypes(PHPExcel $pPHPExcel = null, $includeCharts = FALSE) + { + // Create XML writer + $objWriter = null; + if ($this->getParentWriter()->getUseDiskCaching()) { + $objWriter = new PHPExcel_Shared_XMLWriter(PHPExcel_Shared_XMLWriter::STORAGE_DISK, $this->getParentWriter()->getDiskCachingDirectory()); + } else { + $objWriter = new PHPExcel_Shared_XMLWriter(PHPExcel_Shared_XMLWriter::STORAGE_MEMORY); + } + + // XML header + $objWriter->startDocument('1.0','UTF-8','yes'); + + // Types + $objWriter->startElement('Types'); + $objWriter->writeAttribute('xmlns', 'http://schemas.openxmlformats.org/package/2006/content-types'); + + // Theme + $this->_writeOverrideContentType( + $objWriter, '/xl/theme/theme1.xml', 'application/vnd.openxmlformats-officedocument.theme+xml' + ); + + // Styles + $this->_writeOverrideContentType( + $objWriter, '/xl/styles.xml', 'application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml' + ); + + // Rels + $this->_writeDefaultContentType( + $objWriter, 'rels', 'application/vnd.openxmlformats-package.relationships+xml' + ); + + // XML + $this->_writeDefaultContentType( + $objWriter, 'xml', 'application/xml' + ); + + // VML + $this->_writeDefaultContentType( + $objWriter, 'vml', 'application/vnd.openxmlformats-officedocument.vmlDrawing' + ); + + // Workbook + if($pPHPExcel->hasMacros()){ //Macros in workbook ? + // Yes : not standard content but "macroEnabled" + $this->_writeOverrideContentType( + $objWriter, '/xl/workbook.xml', 'application/vnd.ms-excel.sheet.macroEnabled.main+xml' + ); + //... and define a new type for the VBA project + $this->_writeDefaultContentType( + $objWriter, 'bin', 'application/vnd.ms-office.vbaProject' + ); + if($pPHPExcel->hasMacrosCertificate()){// signed macros ? + // Yes : add needed information + $this->_writeOverrideContentType( + $objWriter, '/xl/vbaProjectSignature.bin', 'application/vnd.ms-office.vbaProjectSignature' + ); + } + }else{// no macros in workbook, so standard type + $this->_writeOverrideContentType( + $objWriter, '/xl/workbook.xml', 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml' + ); + } + + // DocProps + $this->_writeOverrideContentType( + $objWriter, '/docProps/app.xml', 'application/vnd.openxmlformats-officedocument.extended-properties+xml' + ); + + $this->_writeOverrideContentType( + $objWriter, '/docProps/core.xml', 'application/vnd.openxmlformats-package.core-properties+xml' + ); + + $customPropertyList = $pPHPExcel->getProperties()->getCustomProperties(); + if (!empty($customPropertyList)) { + $this->_writeOverrideContentType( + $objWriter, '/docProps/custom.xml', 'application/vnd.openxmlformats-officedocument.custom-properties+xml' + ); + } + + // Worksheets + $sheetCount = $pPHPExcel->getSheetCount(); + for ($i = 0; $i < $sheetCount; ++$i) { + $this->_writeOverrideContentType( + $objWriter, '/xl/worksheets/sheet' . ($i + 1) . '.xml', 'application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml' + ); + } + + // Shared strings + $this->_writeOverrideContentType( + $objWriter, '/xl/sharedStrings.xml', 'application/vnd.openxmlformats-officedocument.spreadsheetml.sharedStrings+xml' + ); + + // Add worksheet relationship content types + $chart = 1; + for ($i = 0; $i < $sheetCount; ++$i) { + $drawings = $pPHPExcel->getSheet($i)->getDrawingCollection(); + $drawingCount = count($drawings); + $chartCount = ($includeCharts) ? $pPHPExcel->getSheet($i)->getChartCount() : 0; + + // We need a drawing relationship for the worksheet if we have either drawings or charts + if (($drawingCount > 0) || ($chartCount > 0)) { + $this->_writeOverrideContentType( + $objWriter, '/xl/drawings/drawing' . ($i + 1) . '.xml', 'application/vnd.openxmlformats-officedocument.drawing+xml' + ); + } + + // If we have charts, then we need a chart relationship for every individual chart + if ($chartCount > 0) { + for ($c = 0; $c < $chartCount; ++$c) { + $this->_writeOverrideContentType( + $objWriter, '/xl/charts/chart' . $chart++ . '.xml', 'application/vnd.openxmlformats-officedocument.drawingml.chart+xml' + ); + } + } + } + + // Comments + for ($i = 0; $i < $sheetCount; ++$i) { + if (count($pPHPExcel->getSheet($i)->getComments()) > 0) { + $this->_writeOverrideContentType( + $objWriter, '/xl/comments' . ($i + 1) . '.xml', 'application/vnd.openxmlformats-officedocument.spreadsheetml.comments+xml' + ); + } + } + + // Add media content-types + $aMediaContentTypes = array(); + $mediaCount = $this->getParentWriter()->getDrawingHashTable()->count(); + for ($i = 0; $i < $mediaCount; ++$i) { + $extension = ''; + $mimeType = ''; + + if ($this->getParentWriter()->getDrawingHashTable()->getByIndex($i) instanceof PHPExcel_Worksheet_Drawing) { + $extension = strtolower($this->getParentWriter()->getDrawingHashTable()->getByIndex($i)->getExtension()); + $mimeType = $this->_getImageMimeType( $this->getParentWriter()->getDrawingHashTable()->getByIndex($i)->getPath() ); + } else if ($this->getParentWriter()->getDrawingHashTable()->getByIndex($i) instanceof PHPExcel_Worksheet_MemoryDrawing) { + $extension = strtolower($this->getParentWriter()->getDrawingHashTable()->getByIndex($i)->getMimeType()); + $extension = explode('/', $extension); + $extension = $extension[1]; + + $mimeType = $this->getParentWriter()->getDrawingHashTable()->getByIndex($i)->getMimeType(); + } + + if (!isset( $aMediaContentTypes[$extension]) ) { + $aMediaContentTypes[$extension] = $mimeType; + + $this->_writeDefaultContentType( + $objWriter, $extension, $mimeType + ); + } + } + if($pPHPExcel->hasRibbonBinObjects()){//Some additional objects in the ribbon ? + //we need to write "Extension" but not already write for media content + $tabRibbonTypes=array_diff($pPHPExcel->getRibbonBinObjects('types'), array_keys($aMediaContentTypes)); + foreach($tabRibbonTypes as $aRibbonType){ + $mimeType='image/.'.$aRibbonType;//we wrote $mimeType like customUI Editor + $this->_writeDefaultContentType( + $objWriter, $aRibbonType, $mimeType + ); + } + } + $sheetCount = $pPHPExcel->getSheetCount(); + for ($i = 0; $i < $sheetCount; ++$i) { + if (count($pPHPExcel->getSheet()->getHeaderFooter()->getImages()) > 0) { + foreach ($pPHPExcel->getSheet()->getHeaderFooter()->getImages() as $image) { + if (!isset( $aMediaContentTypes[strtolower($image->getExtension())]) ) { + $aMediaContentTypes[strtolower($image->getExtension())] = $this->_getImageMimeType( $image->getPath() ); + + $this->_writeDefaultContentType( + $objWriter, strtolower($image->getExtension()), $aMediaContentTypes[strtolower($image->getExtension())] + ); + } + } + } + } + + $objWriter->endElement(); + + // Return + return $objWriter->getData(); + } + + /** + * Get image mime type + * + * @param string $pFile Filename + * @return string Mime Type + * @throws PHPExcel_Writer_Exception + */ + private function _getImageMimeType($pFile = '') + { + if (PHPExcel_Shared_File::file_exists($pFile)) { + $image = getimagesize($pFile); + return image_type_to_mime_type($image[2]); + } else { + throw new PHPExcel_Writer_Exception("File $pFile does not exist"); + } + } + + /** + * Write Default content type + * + * @param PHPExcel_Shared_XMLWriter $objWriter XML Writer + * @param string $pPartname Part name + * @param string $pContentType Content type + * @throws PHPExcel_Writer_Exception + */ + private function _writeDefaultContentType(PHPExcel_Shared_XMLWriter $objWriter = null, $pPartname = '', $pContentType = '') + { + if ($pPartname != '' && $pContentType != '') { + // Write content type + $objWriter->startElement('Default'); + $objWriter->writeAttribute('Extension', $pPartname); + $objWriter->writeAttribute('ContentType', $pContentType); + $objWriter->endElement(); + } else { + throw new PHPExcel_Writer_Exception("Invalid parameters passed."); + } + } + + /** + * Write Override content type + * + * @param PHPExcel_Shared_XMLWriter $objWriter XML Writer + * @param string $pPartname Part name + * @param string $pContentType Content type + * @throws PHPExcel_Writer_Exception + */ + private function _writeOverrideContentType(PHPExcel_Shared_XMLWriter $objWriter = null, $pPartname = '', $pContentType = '') + { + if ($pPartname != '' && $pContentType != '') { + // Write content type + $objWriter->startElement('Override'); + $objWriter->writeAttribute('PartName', $pPartname); + $objWriter->writeAttribute('ContentType', $pContentType); + $objWriter->endElement(); + } else { + throw new PHPExcel_Writer_Exception("Invalid parameters passed."); + } + } +} diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/Excel2007/DocProps.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/Excel2007/DocProps.php new file mode 100644 index 00000000..f8821379 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/Excel2007/DocProps.php @@ -0,0 +1,272 @@ +<?php +/** + * PHPExcel + * + * Copyright (c) 2006 - 2014 PHPExcel + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * @category PHPExcel + * @package PHPExcel_Writer_Excel2007 + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @version ##VERSION##, ##DATE## + */ + + +/** + * PHPExcel_Writer_Excel2007_DocProps + * + * @category PHPExcel + * @package PHPExcel_Writer_Excel2007 + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + */ +class PHPExcel_Writer_Excel2007_DocProps extends PHPExcel_Writer_Excel2007_WriterPart +{ +/** + * Write docProps/app.xml to XML format + * + * @param PHPExcel $pPHPExcel + * @return string XML Output + * @throws PHPExcel_Writer_Exception + */ + public function writeDocPropsApp(PHPExcel $pPHPExcel = null) + { + // Create XML writer + $objWriter = null; + if ($this->getParentWriter()->getUseDiskCaching()) { + $objWriter = new PHPExcel_Shared_XMLWriter(PHPExcel_Shared_XMLWriter::STORAGE_DISK, $this->getParentWriter()->getDiskCachingDirectory()); + } else { + $objWriter = new PHPExcel_Shared_XMLWriter(PHPExcel_Shared_XMLWriter::STORAGE_MEMORY); + } + + // XML header + $objWriter->startDocument('1.0','UTF-8','yes'); + + // Properties + $objWriter->startElement('Properties'); + $objWriter->writeAttribute('xmlns', 'http://schemas.openxmlformats.org/officeDocument/2006/extended-properties'); + $objWriter->writeAttribute('xmlns:vt', 'http://schemas.openxmlformats.org/officeDocument/2006/docPropsVTypes'); + + // Application + $objWriter->writeElement('Application', 'Microsoft Excel'); + + // DocSecurity + $objWriter->writeElement('DocSecurity', '0'); + + // ScaleCrop + $objWriter->writeElement('ScaleCrop', 'false'); + + // HeadingPairs + $objWriter->startElement('HeadingPairs'); + + // Vector + $objWriter->startElement('vt:vector'); + $objWriter->writeAttribute('size', '2'); + $objWriter->writeAttribute('baseType', 'variant'); + + // Variant + $objWriter->startElement('vt:variant'); + $objWriter->writeElement('vt:lpstr', 'Worksheets'); + $objWriter->endElement(); + + // Variant + $objWriter->startElement('vt:variant'); + $objWriter->writeElement('vt:i4', $pPHPExcel->getSheetCount()); + $objWriter->endElement(); + + $objWriter->endElement(); + + $objWriter->endElement(); + + // TitlesOfParts + $objWriter->startElement('TitlesOfParts'); + + // Vector + $objWriter->startElement('vt:vector'); + $objWriter->writeAttribute('size', $pPHPExcel->getSheetCount()); + $objWriter->writeAttribute('baseType', 'lpstr'); + + $sheetCount = $pPHPExcel->getSheetCount(); + for ($i = 0; $i < $sheetCount; ++$i) { + $objWriter->writeElement('vt:lpstr', $pPHPExcel->getSheet($i)->getTitle()); + } + + $objWriter->endElement(); + + $objWriter->endElement(); + + // Company + $objWriter->writeElement('Company', $pPHPExcel->getProperties()->getCompany()); + + // Company + $objWriter->writeElement('Manager', $pPHPExcel->getProperties()->getManager()); + + // LinksUpToDate + $objWriter->writeElement('LinksUpToDate', 'false'); + + // SharedDoc + $objWriter->writeElement('SharedDoc', 'false'); + + // HyperlinksChanged + $objWriter->writeElement('HyperlinksChanged', 'false'); + + // AppVersion + $objWriter->writeElement('AppVersion', '12.0000'); + + $objWriter->endElement(); + + // Return + return $objWriter->getData(); + } + + /** + * Write docProps/core.xml to XML format + * + * @param PHPExcel $pPHPExcel + * @return string XML Output + * @throws PHPExcel_Writer_Exception + */ + public function writeDocPropsCore(PHPExcel $pPHPExcel = null) + { + // Create XML writer + $objWriter = null; + if ($this->getParentWriter()->getUseDiskCaching()) { + $objWriter = new PHPExcel_Shared_XMLWriter(PHPExcel_Shared_XMLWriter::STORAGE_DISK, $this->getParentWriter()->getDiskCachingDirectory()); + } else { + $objWriter = new PHPExcel_Shared_XMLWriter(PHPExcel_Shared_XMLWriter::STORAGE_MEMORY); + } + + // XML header + $objWriter->startDocument('1.0','UTF-8','yes'); + + // cp:coreProperties + $objWriter->startElement('cp:coreProperties'); + $objWriter->writeAttribute('xmlns:cp', 'http://schemas.openxmlformats.org/package/2006/metadata/core-properties'); + $objWriter->writeAttribute('xmlns:dc', 'http://purl.org/dc/elements/1.1/'); + $objWriter->writeAttribute('xmlns:dcterms', 'http://purl.org/dc/terms/'); + $objWriter->writeAttribute('xmlns:dcmitype', 'http://purl.org/dc/dcmitype/'); + $objWriter->writeAttribute('xmlns:xsi', 'http://www.w3.org/2001/XMLSchema-instance'); + + // dc:creator + $objWriter->writeElement('dc:creator', $pPHPExcel->getProperties()->getCreator()); + + // cp:lastModifiedBy + $objWriter->writeElement('cp:lastModifiedBy', $pPHPExcel->getProperties()->getLastModifiedBy()); + + // dcterms:created + $objWriter->startElement('dcterms:created'); + $objWriter->writeAttribute('xsi:type', 'dcterms:W3CDTF'); + $objWriter->writeRawData(date(DATE_W3C, $pPHPExcel->getProperties()->getCreated())); + $objWriter->endElement(); + + // dcterms:modified + $objWriter->startElement('dcterms:modified'); + $objWriter->writeAttribute('xsi:type', 'dcterms:W3CDTF'); + $objWriter->writeRawData(date(DATE_W3C, $pPHPExcel->getProperties()->getModified())); + $objWriter->endElement(); + + // dc:title + $objWriter->writeElement('dc:title', $pPHPExcel->getProperties()->getTitle()); + + // dc:description + $objWriter->writeElement('dc:description', $pPHPExcel->getProperties()->getDescription()); + + // dc:subject + $objWriter->writeElement('dc:subject', $pPHPExcel->getProperties()->getSubject()); + + // cp:keywords + $objWriter->writeElement('cp:keywords', $pPHPExcel->getProperties()->getKeywords()); + + // cp:category + $objWriter->writeElement('cp:category', $pPHPExcel->getProperties()->getCategory()); + + $objWriter->endElement(); + + // Return + return $objWriter->getData(); + } + + /** + * Write docProps/custom.xml to XML format + * + * @param PHPExcel $pPHPExcel + * @return string XML Output + * @throws PHPExcel_Writer_Exception + */ + public function writeDocPropsCustom(PHPExcel $pPHPExcel = null) + { + $customPropertyList = $pPHPExcel->getProperties()->getCustomProperties(); + if (empty($customPropertyList)) { + return; + } + + // Create XML writer + $objWriter = null; + if ($this->getParentWriter()->getUseDiskCaching()) { + $objWriter = new PHPExcel_Shared_XMLWriter(PHPExcel_Shared_XMLWriter::STORAGE_DISK, $this->getParentWriter()->getDiskCachingDirectory()); + } else { + $objWriter = new PHPExcel_Shared_XMLWriter(PHPExcel_Shared_XMLWriter::STORAGE_MEMORY); + } + + // XML header + $objWriter->startDocument('1.0','UTF-8','yes'); + + // cp:coreProperties + $objWriter->startElement('Properties'); + $objWriter->writeAttribute('xmlns', 'http://schemas.openxmlformats.org/officeDocument/2006/custom-properties'); + $objWriter->writeAttribute('xmlns:vt', 'http://schemas.openxmlformats.org/officeDocument/2006/docPropsVTypes'); + + + foreach($customPropertyList as $key => $customProperty) { + $propertyValue = $pPHPExcel->getProperties()->getCustomPropertyValue($customProperty); + $propertyType = $pPHPExcel->getProperties()->getCustomPropertyType($customProperty); + + $objWriter->startElement('property'); + $objWriter->writeAttribute('fmtid', '{D5CDD505-2E9C-101B-9397-08002B2CF9AE}'); + $objWriter->writeAttribute('pid', $key+2); + $objWriter->writeAttribute('name', $customProperty); + + switch($propertyType) { + case 'i' : + $objWriter->writeElement('vt:i4', $propertyValue); + break; + case 'f' : + $objWriter->writeElement('vt:r8', $propertyValue); + break; + case 'b' : + $objWriter->writeElement('vt:bool', ($propertyValue) ? 'true' : 'false'); + break; + case 'd' : + $objWriter->startElement('vt:filetime'); + $objWriter->writeRawData(date(DATE_W3C, $propertyValue)); + $objWriter->endElement(); + break; + default : + $objWriter->writeElement('vt:lpwstr', $propertyValue); + break; + } + + $objWriter->endElement(); + } + + + $objWriter->endElement(); + + // Return + return $objWriter->getData(); + } + +} diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/Excel2007/Drawing.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/Excel2007/Drawing.php new file mode 100644 index 00000000..1cf971ed --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/Excel2007/Drawing.php @@ -0,0 +1,598 @@ +<?php +/** + * PHPExcel + * + * Copyright (c) 2006 - 2014 PHPExcel + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * @category PHPExcel + * @package PHPExcel_Writer_Excel2007 + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @version ##VERSION##, ##DATE## + */ + + +/** + * PHPExcel_Writer_Excel2007_Drawing + * + * @category PHPExcel + * @package PHPExcel_Writer_Excel2007 + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + */ +class PHPExcel_Writer_Excel2007_Drawing extends PHPExcel_Writer_Excel2007_WriterPart +{ + /** + * Write drawings to XML format + * + * @param PHPExcel_Worksheet $pWorksheet + * @param int &$chartRef Chart ID + * @param boolean $includeCharts Flag indicating if we should include drawing details for charts + * @return string XML Output + * @throws PHPExcel_Writer_Exception + */ + public function writeDrawings(PHPExcel_Worksheet $pWorksheet = null, &$chartRef, $includeCharts = FALSE) + { + // Create XML writer + $objWriter = null; + if ($this->getParentWriter()->getUseDiskCaching()) { + $objWriter = new PHPExcel_Shared_XMLWriter(PHPExcel_Shared_XMLWriter::STORAGE_DISK, $this->getParentWriter()->getDiskCachingDirectory()); + } else { + $objWriter = new PHPExcel_Shared_XMLWriter(PHPExcel_Shared_XMLWriter::STORAGE_MEMORY); + } + + // XML header + $objWriter->startDocument('1.0','UTF-8','yes'); + + // xdr:wsDr + $objWriter->startElement('xdr:wsDr'); + $objWriter->writeAttribute('xmlns:xdr', 'http://schemas.openxmlformats.org/drawingml/2006/spreadsheetDrawing'); + $objWriter->writeAttribute('xmlns:a', 'http://schemas.openxmlformats.org/drawingml/2006/main'); + + // Loop through images and write drawings + $i = 1; + $iterator = $pWorksheet->getDrawingCollection()->getIterator(); + while ($iterator->valid()) { + $this->_writeDrawing($objWriter, $iterator->current(), $i); + + $iterator->next(); + ++$i; + } + + if ($includeCharts) { + $chartCount = $pWorksheet->getChartCount(); + // Loop through charts and write the chart position + if ($chartCount > 0) { + for ($c = 0; $c < $chartCount; ++$c) { + $this->_writeChart($objWriter, $pWorksheet->getChartByIndex($c), $c+$i); + } + } + } + + + $objWriter->endElement(); + + // Return + return $objWriter->getData(); + } + + /** + * Write drawings to XML format + * + * @param PHPExcel_Shared_XMLWriter $objWriter XML Writer + * @param PHPExcel_Chart $pChart + * @param int $pRelationId + * @throws PHPExcel_Writer_Exception + */ + public function _writeChart(PHPExcel_Shared_XMLWriter $objWriter = null, PHPExcel_Chart $pChart = null, $pRelationId = -1) + { + $tl = $pChart->getTopLeftPosition(); + $tl['colRow'] = PHPExcel_Cell::coordinateFromString($tl['cell']); + $br = $pChart->getBottomRightPosition(); + $br['colRow'] = PHPExcel_Cell::coordinateFromString($br['cell']); + + $objWriter->startElement('xdr:twoCellAnchor'); + + $objWriter->startElement('xdr:from'); + $objWriter->writeElement('xdr:col', PHPExcel_Cell::columnIndexFromString($tl['colRow'][0]) - 1); + $objWriter->writeElement('xdr:colOff', PHPExcel_Shared_Drawing::pixelsToEMU($tl['xOffset'])); + $objWriter->writeElement('xdr:row', $tl['colRow'][1] - 1); + $objWriter->writeElement('xdr:rowOff', PHPExcel_Shared_Drawing::pixelsToEMU($tl['yOffset'])); + $objWriter->endElement(); + $objWriter->startElement('xdr:to'); + $objWriter->writeElement('xdr:col', PHPExcel_Cell::columnIndexFromString($br['colRow'][0]) - 1); + $objWriter->writeElement('xdr:colOff', PHPExcel_Shared_Drawing::pixelsToEMU($br['xOffset'])); + $objWriter->writeElement('xdr:row', $br['colRow'][1] - 1); + $objWriter->writeElement('xdr:rowOff', PHPExcel_Shared_Drawing::pixelsToEMU($br['yOffset'])); + $objWriter->endElement(); + + $objWriter->startElement('xdr:graphicFrame'); + $objWriter->writeAttribute('macro', ''); + $objWriter->startElement('xdr:nvGraphicFramePr'); + $objWriter->startElement('xdr:cNvPr'); + $objWriter->writeAttribute('name', 'Chart '.$pRelationId); + $objWriter->writeAttribute('id', 1025 * $pRelationId); + $objWriter->endElement(); + $objWriter->startElement('xdr:cNvGraphicFramePr'); + $objWriter->startElement('a:graphicFrameLocks'); + $objWriter->endElement(); + $objWriter->endElement(); + $objWriter->endElement(); + + $objWriter->startElement('xdr:xfrm'); + $objWriter->startElement('a:off'); + $objWriter->writeAttribute('x', '0'); + $objWriter->writeAttribute('y', '0'); + $objWriter->endElement(); + $objWriter->startElement('a:ext'); + $objWriter->writeAttribute('cx', '0'); + $objWriter->writeAttribute('cy', '0'); + $objWriter->endElement(); + $objWriter->endElement(); + + $objWriter->startElement('a:graphic'); + $objWriter->startElement('a:graphicData'); + $objWriter->writeAttribute('uri', 'http://schemas.openxmlformats.org/drawingml/2006/chart'); + $objWriter->startElement('c:chart'); + $objWriter->writeAttribute('xmlns:c', 'http://schemas.openxmlformats.org/drawingml/2006/chart'); + $objWriter->writeAttribute('xmlns:r', 'http://schemas.openxmlformats.org/officeDocument/2006/relationships'); + $objWriter->writeAttribute('r:id', 'rId'.$pRelationId); + $objWriter->endElement(); + $objWriter->endElement(); + $objWriter->endElement(); + $objWriter->endElement(); + + $objWriter->startElement('xdr:clientData'); + $objWriter->endElement(); + + $objWriter->endElement(); + } + + /** + * Write drawings to XML format + * + * @param PHPExcel_Shared_XMLWriter $objWriter XML Writer + * @param PHPExcel_Worksheet_BaseDrawing $pDrawing + * @param int $pRelationId + * @throws PHPExcel_Writer_Exception + */ + public function _writeDrawing(PHPExcel_Shared_XMLWriter $objWriter = null, PHPExcel_Worksheet_BaseDrawing $pDrawing = null, $pRelationId = -1) + { + if ($pRelationId >= 0) { + // xdr:oneCellAnchor + $objWriter->startElement('xdr:oneCellAnchor'); + // Image location + $aCoordinates = PHPExcel_Cell::coordinateFromString($pDrawing->getCoordinates()); + $aCoordinates[0] = PHPExcel_Cell::columnIndexFromString($aCoordinates[0]); + + // xdr:from + $objWriter->startElement('xdr:from'); + $objWriter->writeElement('xdr:col', $aCoordinates[0] - 1); + $objWriter->writeElement('xdr:colOff', PHPExcel_Shared_Drawing::pixelsToEMU($pDrawing->getOffsetX())); + $objWriter->writeElement('xdr:row', $aCoordinates[1] - 1); + $objWriter->writeElement('xdr:rowOff', PHPExcel_Shared_Drawing::pixelsToEMU($pDrawing->getOffsetY())); + $objWriter->endElement(); + + // xdr:ext + $objWriter->startElement('xdr:ext'); + $objWriter->writeAttribute('cx', PHPExcel_Shared_Drawing::pixelsToEMU($pDrawing->getWidth())); + $objWriter->writeAttribute('cy', PHPExcel_Shared_Drawing::pixelsToEMU($pDrawing->getHeight())); + $objWriter->endElement(); + + // xdr:pic + $objWriter->startElement('xdr:pic'); + + // xdr:nvPicPr + $objWriter->startElement('xdr:nvPicPr'); + + // xdr:cNvPr + $objWriter->startElement('xdr:cNvPr'); + $objWriter->writeAttribute('id', $pRelationId); + $objWriter->writeAttribute('name', $pDrawing->getName()); + $objWriter->writeAttribute('descr', $pDrawing->getDescription()); + $objWriter->endElement(); + + // xdr:cNvPicPr + $objWriter->startElement('xdr:cNvPicPr'); + + // a:picLocks + $objWriter->startElement('a:picLocks'); + $objWriter->writeAttribute('noChangeAspect', '1'); + $objWriter->endElement(); + + $objWriter->endElement(); + + $objWriter->endElement(); + + // xdr:blipFill + $objWriter->startElement('xdr:blipFill'); + + // a:blip + $objWriter->startElement('a:blip'); + $objWriter->writeAttribute('xmlns:r', 'http://schemas.openxmlformats.org/officeDocument/2006/relationships'); + $objWriter->writeAttribute('r:embed', 'rId' . $pRelationId); + $objWriter->endElement(); + + // a:stretch + $objWriter->startElement('a:stretch'); + $objWriter->writeElement('a:fillRect', null); + $objWriter->endElement(); + + $objWriter->endElement(); + + // xdr:spPr + $objWriter->startElement('xdr:spPr'); + + // a:xfrm + $objWriter->startElement('a:xfrm'); + $objWriter->writeAttribute('rot', PHPExcel_Shared_Drawing::degreesToAngle($pDrawing->getRotation())); + $objWriter->endElement(); + + // a:prstGeom + $objWriter->startElement('a:prstGeom'); + $objWriter->writeAttribute('prst', 'rect'); + + // a:avLst + $objWriter->writeElement('a:avLst', null); + + $objWriter->endElement(); + +// // a:solidFill +// $objWriter->startElement('a:solidFill'); + +// // a:srgbClr +// $objWriter->startElement('a:srgbClr'); +// $objWriter->writeAttribute('val', 'FFFFFF'); + +///* SHADE +// // a:shade +// $objWriter->startElement('a:shade'); +// $objWriter->writeAttribute('val', '85000'); +// $objWriter->endElement(); +//*/ + +// $objWriter->endElement(); + +// $objWriter->endElement(); +/* + // a:ln + $objWriter->startElement('a:ln'); + $objWriter->writeAttribute('w', '88900'); + $objWriter->writeAttribute('cap', 'sq'); + + // a:solidFill + $objWriter->startElement('a:solidFill'); + + // a:srgbClr + $objWriter->startElement('a:srgbClr'); + $objWriter->writeAttribute('val', 'FFFFFF'); + $objWriter->endElement(); + + $objWriter->endElement(); + + // a:miter + $objWriter->startElement('a:miter'); + $objWriter->writeAttribute('lim', '800000'); + $objWriter->endElement(); + + $objWriter->endElement(); +*/ + + if ($pDrawing->getShadow()->getVisible()) { + // a:effectLst + $objWriter->startElement('a:effectLst'); + + // a:outerShdw + $objWriter->startElement('a:outerShdw'); + $objWriter->writeAttribute('blurRad', PHPExcel_Shared_Drawing::pixelsToEMU($pDrawing->getShadow()->getBlurRadius())); + $objWriter->writeAttribute('dist', PHPExcel_Shared_Drawing::pixelsToEMU($pDrawing->getShadow()->getDistance())); + $objWriter->writeAttribute('dir', PHPExcel_Shared_Drawing::degreesToAngle($pDrawing->getShadow()->getDirection())); + $objWriter->writeAttribute('algn', $pDrawing->getShadow()->getAlignment()); + $objWriter->writeAttribute('rotWithShape', '0'); + + // a:srgbClr + $objWriter->startElement('a:srgbClr'); + $objWriter->writeAttribute('val', $pDrawing->getShadow()->getColor()->getRGB()); + + // a:alpha + $objWriter->startElement('a:alpha'); + $objWriter->writeAttribute('val', $pDrawing->getShadow()->getAlpha() * 1000); + $objWriter->endElement(); + + $objWriter->endElement(); + + $objWriter->endElement(); + + $objWriter->endElement(); + } +/* + + // a:scene3d + $objWriter->startElement('a:scene3d'); + + // a:camera + $objWriter->startElement('a:camera'); + $objWriter->writeAttribute('prst', 'orthographicFront'); + $objWriter->endElement(); + + // a:lightRig + $objWriter->startElement('a:lightRig'); + $objWriter->writeAttribute('rig', 'twoPt'); + $objWriter->writeAttribute('dir', 't'); + + // a:rot + $objWriter->startElement('a:rot'); + $objWriter->writeAttribute('lat', '0'); + $objWriter->writeAttribute('lon', '0'); + $objWriter->writeAttribute('rev', '0'); + $objWriter->endElement(); + + $objWriter->endElement(); + + $objWriter->endElement(); +*/ +/* + // a:sp3d + $objWriter->startElement('a:sp3d'); + + // a:bevelT + $objWriter->startElement('a:bevelT'); + $objWriter->writeAttribute('w', '25400'); + $objWriter->writeAttribute('h', '19050'); + $objWriter->endElement(); + + // a:contourClr + $objWriter->startElement('a:contourClr'); + + // a:srgbClr + $objWriter->startElement('a:srgbClr'); + $objWriter->writeAttribute('val', 'FFFFFF'); + $objWriter->endElement(); + + $objWriter->endElement(); + + $objWriter->endElement(); +*/ + $objWriter->endElement(); + + $objWriter->endElement(); + + // xdr:clientData + $objWriter->writeElement('xdr:clientData', null); + + $objWriter->endElement(); + } else { + throw new PHPExcel_Writer_Exception("Invalid parameters passed."); + } + } + + /** + * Write VML header/footer images to XML format + * + * @param PHPExcel_Worksheet $pWorksheet + * @return string XML Output + * @throws PHPExcel_Writer_Exception + */ + public function writeVMLHeaderFooterImages(PHPExcel_Worksheet $pWorksheet = null) + { + // Create XML writer + $objWriter = null; + if ($this->getParentWriter()->getUseDiskCaching()) { + $objWriter = new PHPExcel_Shared_XMLWriter(PHPExcel_Shared_XMLWriter::STORAGE_DISK, $this->getParentWriter()->getDiskCachingDirectory()); + } else { + $objWriter = new PHPExcel_Shared_XMLWriter(PHPExcel_Shared_XMLWriter::STORAGE_MEMORY); + } + + // XML header + $objWriter->startDocument('1.0','UTF-8','yes'); + + // Header/footer images + $images = $pWorksheet->getHeaderFooter()->getImages(); + + // xml + $objWriter->startElement('xml'); + $objWriter->writeAttribute('xmlns:v', 'urn:schemas-microsoft-com:vml'); + $objWriter->writeAttribute('xmlns:o', 'urn:schemas-microsoft-com:office:office'); + $objWriter->writeAttribute('xmlns:x', 'urn:schemas-microsoft-com:office:excel'); + + // o:shapelayout + $objWriter->startElement('o:shapelayout'); + $objWriter->writeAttribute('v:ext', 'edit'); + + // o:idmap + $objWriter->startElement('o:idmap'); + $objWriter->writeAttribute('v:ext', 'edit'); + $objWriter->writeAttribute('data', '1'); + $objWriter->endElement(); + + $objWriter->endElement(); + + // v:shapetype + $objWriter->startElement('v:shapetype'); + $objWriter->writeAttribute('id', '_x0000_t75'); + $objWriter->writeAttribute('coordsize', '21600,21600'); + $objWriter->writeAttribute('o:spt', '75'); + $objWriter->writeAttribute('o:preferrelative', 't'); + $objWriter->writeAttribute('path', 'm@4@5l@4@11@9@11@9@5xe'); + $objWriter->writeAttribute('filled', 'f'); + $objWriter->writeAttribute('stroked', 'f'); + + // v:stroke + $objWriter->startElement('v:stroke'); + $objWriter->writeAttribute('joinstyle', 'miter'); + $objWriter->endElement(); + + // v:formulas + $objWriter->startElement('v:formulas'); + + // v:f + $objWriter->startElement('v:f'); + $objWriter->writeAttribute('eqn', 'if lineDrawn pixelLineWidth 0'); + $objWriter->endElement(); + + // v:f + $objWriter->startElement('v:f'); + $objWriter->writeAttribute('eqn', 'sum @0 1 0'); + $objWriter->endElement(); + + // v:f + $objWriter->startElement('v:f'); + $objWriter->writeAttribute('eqn', 'sum 0 0 @1'); + $objWriter->endElement(); + + // v:f + $objWriter->startElement('v:f'); + $objWriter->writeAttribute('eqn', 'prod @2 1 2'); + $objWriter->endElement(); + + // v:f + $objWriter->startElement('v:f'); + $objWriter->writeAttribute('eqn', 'prod @3 21600 pixelWidth'); + $objWriter->endElement(); + + // v:f + $objWriter->startElement('v:f'); + $objWriter->writeAttribute('eqn', 'prod @3 21600 pixelHeight'); + $objWriter->endElement(); + + // v:f + $objWriter->startElement('v:f'); + $objWriter->writeAttribute('eqn', 'sum @0 0 1'); + $objWriter->endElement(); + + // v:f + $objWriter->startElement('v:f'); + $objWriter->writeAttribute('eqn', 'prod @6 1 2'); + $objWriter->endElement(); + + // v:f + $objWriter->startElement('v:f'); + $objWriter->writeAttribute('eqn', 'prod @7 21600 pixelWidth'); + $objWriter->endElement(); + + // v:f + $objWriter->startElement('v:f'); + $objWriter->writeAttribute('eqn', 'sum @8 21600 0'); + $objWriter->endElement(); + + // v:f + $objWriter->startElement('v:f'); + $objWriter->writeAttribute('eqn', 'prod @7 21600 pixelHeight'); + $objWriter->endElement(); + + // v:f + $objWriter->startElement('v:f'); + $objWriter->writeAttribute('eqn', 'sum @10 21600 0'); + $objWriter->endElement(); + + $objWriter->endElement(); + + // v:path + $objWriter->startElement('v:path'); + $objWriter->writeAttribute('o:extrusionok', 'f'); + $objWriter->writeAttribute('gradientshapeok', 't'); + $objWriter->writeAttribute('o:connecttype', 'rect'); + $objWriter->endElement(); + + // o:lock + $objWriter->startElement('o:lock'); + $objWriter->writeAttribute('v:ext', 'edit'); + $objWriter->writeAttribute('aspectratio', 't'); + $objWriter->endElement(); + + $objWriter->endElement(); + + // Loop through images + foreach ($images as $key => $value) { + $this->_writeVMLHeaderFooterImage($objWriter, $key, $value); + } + + $objWriter->endElement(); + + // Return + return $objWriter->getData(); + } + + /** + * Write VML comment to XML format + * + * @param PHPExcel_Shared_XMLWriter $objWriter XML Writer + * @param string $pReference Reference + * @param PHPExcel_Worksheet_HeaderFooterDrawing $pImage Image + * @throws PHPExcel_Writer_Exception + */ + public function _writeVMLHeaderFooterImage(PHPExcel_Shared_XMLWriter $objWriter = null, $pReference = '', PHPExcel_Worksheet_HeaderFooterDrawing $pImage = null) + { + // Calculate object id + preg_match('{(\d+)}', md5($pReference), $m); + $id = 1500 + (substr($m[1], 0, 2) * 1); + + // Calculate offset + $width = $pImage->getWidth(); + $height = $pImage->getHeight(); + $marginLeft = $pImage->getOffsetX(); + $marginTop = $pImage->getOffsetY(); + + // v:shape + $objWriter->startElement('v:shape'); + $objWriter->writeAttribute('id', $pReference); + $objWriter->writeAttribute('o:spid', '_x0000_s' . $id); + $objWriter->writeAttribute('type', '#_x0000_t75'); + $objWriter->writeAttribute('style', "position:absolute;margin-left:{$marginLeft}px;margin-top:{$marginTop}px;width:{$width}px;height:{$height}px;z-index:1"); + + // v:imagedata + $objWriter->startElement('v:imagedata'); + $objWriter->writeAttribute('o:relid', 'rId' . $pReference); + $objWriter->writeAttribute('o:title', $pImage->getName()); + $objWriter->endElement(); + + // o:lock + $objWriter->startElement('o:lock'); + $objWriter->writeAttribute('v:ext', 'edit'); + $objWriter->writeAttribute('rotation', 't'); + $objWriter->endElement(); + + $objWriter->endElement(); + } + + + /** + * Get an array of all drawings + * + * @param PHPExcel $pPHPExcel + * @return PHPExcel_Worksheet_Drawing[] All drawings in PHPExcel + * @throws PHPExcel_Writer_Exception + */ + public function allDrawings(PHPExcel $pPHPExcel = null) + { + // Get an array of all drawings + $aDrawings = array(); + + // Loop through PHPExcel + $sheetCount = $pPHPExcel->getSheetCount(); + for ($i = 0; $i < $sheetCount; ++$i) { + // Loop through images and add to array + $iterator = $pPHPExcel->getSheet($i)->getDrawingCollection()->getIterator(); + while ($iterator->valid()) { + $aDrawings[] = $iterator->current(); + + $iterator->next(); + } + } + + return $aDrawings; + } +} diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/Excel2007/Rels.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/Excel2007/Rels.php new file mode 100644 index 00000000..a7d36c0a --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/Excel2007/Rels.php @@ -0,0 +1,437 @@ +<?php +/** + * PHPExcel + * + * Copyright (c) 2006 - 2014 PHPExcel + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * @category PHPExcel + * @package PHPExcel_Writer_Excel2007 + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @version ##VERSION##, ##DATE## + */ + + +/** + * PHPExcel_Writer_Excel2007_Rels + * + * @category PHPExcel + * @package PHPExcel_Writer_Excel2007 + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + */ +class PHPExcel_Writer_Excel2007_Rels extends PHPExcel_Writer_Excel2007_WriterPart +{ + /** + * Write relationships to XML format + * + * @param PHPExcel $pPHPExcel + * @return string XML Output + * @throws PHPExcel_Writer_Exception + */ + public function writeRelationships(PHPExcel $pPHPExcel = null) + { + // Create XML writer + $objWriter = null; + if ($this->getParentWriter()->getUseDiskCaching()) { + $objWriter = new PHPExcel_Shared_XMLWriter(PHPExcel_Shared_XMLWriter::STORAGE_DISK, $this->getParentWriter()->getDiskCachingDirectory()); + } else { + $objWriter = new PHPExcel_Shared_XMLWriter(PHPExcel_Shared_XMLWriter::STORAGE_MEMORY); + } + + // XML header + $objWriter->startDocument('1.0','UTF-8','yes'); + + // Relationships + $objWriter->startElement('Relationships'); + $objWriter->writeAttribute('xmlns', 'http://schemas.openxmlformats.org/package/2006/relationships'); + + $customPropertyList = $pPHPExcel->getProperties()->getCustomProperties(); + if (!empty($customPropertyList)) { + // Relationship docProps/app.xml + $this->_writeRelationship( + $objWriter, + 4, + 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/custom-properties', + 'docProps/custom.xml' + ); + + } + + // Relationship docProps/app.xml + $this->_writeRelationship( + $objWriter, + 3, + 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/extended-properties', + 'docProps/app.xml' + ); + + // Relationship docProps/core.xml + $this->_writeRelationship( + $objWriter, + 2, + 'http://schemas.openxmlformats.org/package/2006/relationships/metadata/core-properties', + 'docProps/core.xml' + ); + + // Relationship xl/workbook.xml + $this->_writeRelationship( + $objWriter, + 1, + 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument', + 'xl/workbook.xml' + ); + // a custom UI in workbook ? + if($pPHPExcel->hasRibbon()){ + $this->_writeRelationShip( + $objWriter, + 5, + 'http://schemas.microsoft.com/office/2006/relationships/ui/extensibility', + $pPHPExcel->getRibbonXMLData('target') + ); + } + + $objWriter->endElement(); + + // Return + return $objWriter->getData(); + } + + /** + * Write workbook relationships to XML format + * + * @param PHPExcel $pPHPExcel + * @return string XML Output + * @throws PHPExcel_Writer_Exception + */ + public function writeWorkbookRelationships(PHPExcel $pPHPExcel = null) + { + // Create XML writer + $objWriter = null; + if ($this->getParentWriter()->getUseDiskCaching()) { + $objWriter = new PHPExcel_Shared_XMLWriter(PHPExcel_Shared_XMLWriter::STORAGE_DISK, $this->getParentWriter()->getDiskCachingDirectory()); + } else { + $objWriter = new PHPExcel_Shared_XMLWriter(PHPExcel_Shared_XMLWriter::STORAGE_MEMORY); + } + + // XML header + $objWriter->startDocument('1.0','UTF-8','yes'); + + // Relationships + $objWriter->startElement('Relationships'); + $objWriter->writeAttribute('xmlns', 'http://schemas.openxmlformats.org/package/2006/relationships'); + + // Relationship styles.xml + $this->_writeRelationship( + $objWriter, + 1, + 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/styles', + 'styles.xml' + ); + + // Relationship theme/theme1.xml + $this->_writeRelationship( + $objWriter, + 2, + 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/theme', + 'theme/theme1.xml' + ); + + // Relationship sharedStrings.xml + $this->_writeRelationship( + $objWriter, + 3, + 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/sharedStrings', + 'sharedStrings.xml' + ); + + // Relationships with sheets + $sheetCount = $pPHPExcel->getSheetCount(); + for ($i = 0; $i < $sheetCount; ++$i) { + $this->_writeRelationship( + $objWriter, + ($i + 1 + 3), + 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/worksheet', + 'worksheets/sheet' . ($i + 1) . '.xml' + ); + } + // Relationships for vbaProject if needed + // id : just after the last sheet + if($pPHPExcel->hasMacros()){ + $this->_writeRelationShip( + $objWriter, + ($i + 1 + 3), + 'http://schemas.microsoft.com/office/2006/relationships/vbaProject', + 'vbaProject.bin' + ); + ++$i;//increment i if needed for an another relation + } + + $objWriter->endElement(); + + // Return + return $objWriter->getData(); + } + + /** + * Write worksheet relationships to XML format + * + * Numbering is as follows: + * rId1 - Drawings + * rId_hyperlink_x - Hyperlinks + * + * @param PHPExcel_Worksheet $pWorksheet + * @param int $pWorksheetId + * @param boolean $includeCharts Flag indicating if we should write charts + * @return string XML Output + * @throws PHPExcel_Writer_Exception + */ + public function writeWorksheetRelationships(PHPExcel_Worksheet $pWorksheet = null, $pWorksheetId = 1, $includeCharts = FALSE) + { + // Create XML writer + $objWriter = null; + if ($this->getParentWriter()->getUseDiskCaching()) { + $objWriter = new PHPExcel_Shared_XMLWriter(PHPExcel_Shared_XMLWriter::STORAGE_DISK, $this->getParentWriter()->getDiskCachingDirectory()); + } else { + $objWriter = new PHPExcel_Shared_XMLWriter(PHPExcel_Shared_XMLWriter::STORAGE_MEMORY); + } + + // XML header + $objWriter->startDocument('1.0','UTF-8','yes'); + + // Relationships + $objWriter->startElement('Relationships'); + $objWriter->writeAttribute('xmlns', 'http://schemas.openxmlformats.org/package/2006/relationships'); + + // Write drawing relationships? + $d = 0; + if ($includeCharts) { + $charts = $pWorksheet->getChartCollection(); + } else { + $charts = array(); + } + if (($pWorksheet->getDrawingCollection()->count() > 0) || + (count($charts) > 0)) { + $this->_writeRelationship( + $objWriter, + ++$d, + 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/drawing', + '../drawings/drawing' . $pWorksheetId . '.xml' + ); + } + + // Write chart relationships? +// $chartCount = 0; +// $charts = $pWorksheet->getChartCollection(); +// echo 'Chart Rels: ' , count($charts) , '<br />'; +// if (count($charts) > 0) { +// foreach($charts as $chart) { +// $this->_writeRelationship( +// $objWriter, +// ++$d, +// 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/chart', +// '../charts/chart' . ++$chartCount . '.xml' +// ); +// } +// } +// + // Write hyperlink relationships? + $i = 1; + foreach ($pWorksheet->getHyperlinkCollection() as $hyperlink) { + if (!$hyperlink->isInternal()) { + $this->_writeRelationship( + $objWriter, + '_hyperlink_' . $i, + 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/hyperlink', + $hyperlink->getUrl(), + 'External' + ); + + ++$i; + } + } + + // Write comments relationship? + $i = 1; + if (count($pWorksheet->getComments()) > 0) { + $this->_writeRelationship( + $objWriter, + '_comments_vml' . $i, + 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/vmlDrawing', + '../drawings/vmlDrawing' . $pWorksheetId . '.vml' + ); + + $this->_writeRelationship( + $objWriter, + '_comments' . $i, + 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/comments', + '../comments' . $pWorksheetId . '.xml' + ); + } + + // Write header/footer relationship? + $i = 1; + if (count($pWorksheet->getHeaderFooter()->getImages()) > 0) { + $this->_writeRelationship( + $objWriter, + '_headerfooter_vml' . $i, + 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/vmlDrawing', + '../drawings/vmlDrawingHF' . $pWorksheetId . '.vml' + ); + } + + $objWriter->endElement(); + + // Return + return $objWriter->getData(); + } + + /** + * Write drawing relationships to XML format + * + * @param PHPExcel_Worksheet $pWorksheet + * @param int &$chartRef Chart ID + * @param boolean $includeCharts Flag indicating if we should write charts + * @return string XML Output + * @throws PHPExcel_Writer_Exception + */ + public function writeDrawingRelationships(PHPExcel_Worksheet $pWorksheet = null, &$chartRef, $includeCharts = FALSE) + { + // Create XML writer + $objWriter = null; + if ($this->getParentWriter()->getUseDiskCaching()) { + $objWriter = new PHPExcel_Shared_XMLWriter(PHPExcel_Shared_XMLWriter::STORAGE_DISK, $this->getParentWriter()->getDiskCachingDirectory()); + } else { + $objWriter = new PHPExcel_Shared_XMLWriter(PHPExcel_Shared_XMLWriter::STORAGE_MEMORY); + } + + // XML header + $objWriter->startDocument('1.0','UTF-8','yes'); + + // Relationships + $objWriter->startElement('Relationships'); + $objWriter->writeAttribute('xmlns', 'http://schemas.openxmlformats.org/package/2006/relationships'); + + // Loop through images and write relationships + $i = 1; + $iterator = $pWorksheet->getDrawingCollection()->getIterator(); + while ($iterator->valid()) { + if ($iterator->current() instanceof PHPExcel_Worksheet_Drawing + || $iterator->current() instanceof PHPExcel_Worksheet_MemoryDrawing) { + // Write relationship for image drawing + $this->_writeRelationship( + $objWriter, + $i, + 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/image', + '../media/' . str_replace(' ', '', $iterator->current()->getIndexedFilename()) + ); + } + + $iterator->next(); + ++$i; + } + + if ($includeCharts) { + // Loop through charts and write relationships + $chartCount = $pWorksheet->getChartCount(); + if ($chartCount > 0) { + for ($c = 0; $c < $chartCount; ++$c) { + $this->_writeRelationship( + $objWriter, + $i++, + 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/chart', + '../charts/chart' . ++$chartRef . '.xml' + ); + } + } + } + + $objWriter->endElement(); + + // Return + return $objWriter->getData(); + } + + /** + * Write header/footer drawing relationships to XML format + * + * @param PHPExcel_Worksheet $pWorksheet + * @return string XML Output + * @throws PHPExcel_Writer_Exception + */ + public function writeHeaderFooterDrawingRelationships(PHPExcel_Worksheet $pWorksheet = null) + { + // Create XML writer + $objWriter = null; + if ($this->getParentWriter()->getUseDiskCaching()) { + $objWriter = new PHPExcel_Shared_XMLWriter(PHPExcel_Shared_XMLWriter::STORAGE_DISK, $this->getParentWriter()->getDiskCachingDirectory()); + } else { + $objWriter = new PHPExcel_Shared_XMLWriter(PHPExcel_Shared_XMLWriter::STORAGE_MEMORY); + } + + // XML header + $objWriter->startDocument('1.0','UTF-8','yes'); + + // Relationships + $objWriter->startElement('Relationships'); + $objWriter->writeAttribute('xmlns', 'http://schemas.openxmlformats.org/package/2006/relationships'); + + // Loop through images and write relationships + foreach ($pWorksheet->getHeaderFooter()->getImages() as $key => $value) { + // Write relationship for image drawing + $this->_writeRelationship( + $objWriter, + $key, + 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/image', + '../media/' . $value->getIndexedFilename() + ); + } + + $objWriter->endElement(); + + // Return + return $objWriter->getData(); + } + + /** + * Write Override content type + * + * @param PHPExcel_Shared_XMLWriter $objWriter XML Writer + * @param int $pId Relationship ID. rId will be prepended! + * @param string $pType Relationship type + * @param string $pTarget Relationship target + * @param string $pTargetMode Relationship target mode + * @throws PHPExcel_Writer_Exception + */ + private function _writeRelationship(PHPExcel_Shared_XMLWriter $objWriter = null, $pId = 1, $pType = '', $pTarget = '', $pTargetMode = '') + { + if ($pType != '' && $pTarget != '') { + // Write relationship + $objWriter->startElement('Relationship'); + $objWriter->writeAttribute('Id', 'rId' . $pId); + $objWriter->writeAttribute('Type', $pType); + $objWriter->writeAttribute('Target', $pTarget); + + if ($pTargetMode != '') { + $objWriter->writeAttribute('TargetMode', $pTargetMode); + } + + $objWriter->endElement(); + } else { + throw new PHPExcel_Writer_Exception("Invalid parameters passed."); + } + } +} diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/Excel2007/RelsRibbon.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/Excel2007/RelsRibbon.php new file mode 100644 index 00000000..615f2cbd --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/Excel2007/RelsRibbon.php @@ -0,0 +1,77 @@ +<?php +/** + * PHPExcel + * + * Copyright (c) 2006 - 2014 PHPExcel + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * @category PHPExcel + * @package PHPExcel_Writer_Excel2007 + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @version ##VERSION##, ##DATE## + */ + + +/** + * PHPExcel_Writer_Excel2007_RelsRibbon + * + * @category PHPExcel + * @package PHPExcel_Writer_Excel2007 + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + */ +class PHPExcel_Writer_Excel2007_RelsRibbon extends PHPExcel_Writer_Excel2007_WriterPart +{ + /** + * Write relationships for additional objects of custom UI (ribbon) + * + * @param PHPExcel $pPHPExcel + * @return string XML Output + * @throws PHPExcel_Writer_Exception + */ + public function writeRibbonRelationships(PHPExcel $pPHPExcel = null){ + // Create XML writer + $objWriter = null; + if ($this->getParentWriter()->getUseDiskCaching()) { + $objWriter = new PHPExcel_Shared_XMLWriter(PHPExcel_Shared_XMLWriter::STORAGE_DISK, $this->getParentWriter()->getDiskCachingDirectory()); + } else { + $objWriter = new PHPExcel_Shared_XMLWriter(PHPExcel_Shared_XMLWriter::STORAGE_MEMORY); + } + + // XML header + $objWriter->startDocument('1.0','UTF-8','yes'); + + // Relationships + $objWriter->startElement('Relationships'); + $objWriter->writeAttribute('xmlns', 'http://schemas.openxmlformats.org/package/2006/relationships'); + $localRels=$pPHPExcel->getRibbonBinObjects('names'); + if(is_array($localRels)){ + foreach($localRels as $aId=>$aTarget){ + $objWriter->startElement('Relationship'); + $objWriter->writeAttribute('Id', $aId); + $objWriter->writeAttribute('Type', 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/image'); + $objWriter->writeAttribute('Target', $aTarget); + $objWriter->endElement();//Relationship + } + } + $objWriter->endElement();//Relationships + + // Return + return $objWriter->getData(); + + } + +} diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/Excel2007/RelsVBA.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/Excel2007/RelsVBA.php new file mode 100644 index 00000000..3f87d81f --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/Excel2007/RelsVBA.php @@ -0,0 +1,72 @@ +<?php +/** + * PHPExcel + * + * Copyright (c) 2006 - 2014 PHPExcel + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * @category PHPExcel + * @package PHPExcel_Writer_Excel2007 + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @version ##VERSION##, ##DATE## + */ + + +/** + * PHPExcel_Writer_Excel2007_RelsVBA + * + * @category PHPExcel + * @package PHPExcel_Writer_Excel2007 + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + */ +class PHPExcel_Writer_Excel2007_RelsVBA extends PHPExcel_Writer_Excel2007_WriterPart +{ + /** + * Write relationships for a signed VBA Project + * + * @param PHPExcel $pPHPExcel + * @return string XML Output + * @throws PHPExcel_Writer_Exception + */ + public function writeVBARelationships(PHPExcel $pPHPExcel = null){ + // Create XML writer + $objWriter = null; + if ($this->getParentWriter()->getUseDiskCaching()) { + $objWriter = new PHPExcel_Shared_XMLWriter(PHPExcel_Shared_XMLWriter::STORAGE_DISK, $this->getParentWriter()->getDiskCachingDirectory()); + } else { + $objWriter = new PHPExcel_Shared_XMLWriter(PHPExcel_Shared_XMLWriter::STORAGE_MEMORY); + } + + // XML header + $objWriter->startDocument('1.0','UTF-8','yes'); + + // Relationships + $objWriter->startElement('Relationships'); + $objWriter->writeAttribute('xmlns', 'http://schemas.openxmlformats.org/package/2006/relationships'); + $objWriter->startElement('Relationship'); + $objWriter->writeAttribute('Id', 'rId1'); + $objWriter->writeAttribute('Type', 'http://schemas.microsoft.com/office/2006/relationships/vbaProjectSignature'); + $objWriter->writeAttribute('Target', 'vbaProjectSignature.bin'); + $objWriter->endElement();//Relationship + $objWriter->endElement();//Relationships + + // Return + return $objWriter->getData(); + + } + +} diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/Excel2007/StringTable.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/Excel2007/StringTable.php new file mode 100644 index 00000000..e8ca1c5a --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/Excel2007/StringTable.php @@ -0,0 +1,319 @@ +<?php +/** + * PHPExcel + * + * Copyright (c) 2006 - 2014 PHPExcel + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * @category PHPExcel + * @package PHPExcel_Writer_Excel2007 + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @version ##VERSION##, ##DATE## + */ + + +/** + * PHPExcel_Writer_Excel2007_StringTable + * + * @category PHPExcel + * @package PHPExcel_Writer_Excel2007 + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + */ +class PHPExcel_Writer_Excel2007_StringTable extends PHPExcel_Writer_Excel2007_WriterPart +{ + /** + * Create worksheet stringtable + * + * @param PHPExcel_Worksheet $pSheet Worksheet + * @param string[] $pExistingTable Existing table to eventually merge with + * @return string[] String table for worksheet + * @throws PHPExcel_Writer_Exception + */ + public function createStringTable($pSheet = null, $pExistingTable = null) + { + if ($pSheet !== NULL) { + // Create string lookup table + $aStringTable = array(); + $cellCollection = null; + $aFlippedStringTable = null; // For faster lookup + + // Is an existing table given? + if (($pExistingTable !== NULL) && is_array($pExistingTable)) { + $aStringTable = $pExistingTable; + } + + // Fill index array + $aFlippedStringTable = $this->flipStringTable($aStringTable); + + // Loop through cells + foreach ($pSheet->getCellCollection() as $cellID) { + $cell = $pSheet->getCell($cellID); + $cellValue = $cell->getValue(); + if (!is_object($cellValue) && + ($cellValue !== NULL) && + $cellValue !== '' && + !isset($aFlippedStringTable[$cellValue]) && + ($cell->getDataType() == PHPExcel_Cell_DataType::TYPE_STRING || $cell->getDataType() == PHPExcel_Cell_DataType::TYPE_STRING2 || $cell->getDataType() == PHPExcel_Cell_DataType::TYPE_NULL)) { + $aStringTable[] = $cellValue; + $aFlippedStringTable[$cellValue] = true; + } elseif ($cellValue instanceof PHPExcel_RichText && + ($cellValue !== NULL) && + !isset($aFlippedStringTable[$cellValue->getHashCode()])) { + $aStringTable[] = $cellValue; + $aFlippedStringTable[$cellValue->getHashCode()] = true; + } + } + + // Return + return $aStringTable; + } else { + throw new PHPExcel_Writer_Exception("Invalid PHPExcel_Worksheet object passed."); + } + } + + /** + * Write string table to XML format + * + * @param string[] $pStringTable + * @return string XML Output + * @throws PHPExcel_Writer_Exception + */ + public function writeStringTable($pStringTable = null) + { + if ($pStringTable !== NULL) { + // Create XML writer + $objWriter = null; + if ($this->getParentWriter()->getUseDiskCaching()) { + $objWriter = new PHPExcel_Shared_XMLWriter(PHPExcel_Shared_XMLWriter::STORAGE_DISK, $this->getParentWriter()->getDiskCachingDirectory()); + } else { + $objWriter = new PHPExcel_Shared_XMLWriter(PHPExcel_Shared_XMLWriter::STORAGE_MEMORY); + } + + // XML header + $objWriter->startDocument('1.0','UTF-8','yes'); + + // String table + $objWriter->startElement('sst'); + $objWriter->writeAttribute('xmlns', 'http://schemas.openxmlformats.org/spreadsheetml/2006/main'); + $objWriter->writeAttribute('uniqueCount', count($pStringTable)); + + // Loop through string table + foreach ($pStringTable as $textElement) { + $objWriter->startElement('si'); + + if (! $textElement instanceof PHPExcel_RichText) { + $textToWrite = PHPExcel_Shared_String::ControlCharacterPHP2OOXML( $textElement ); + $objWriter->startElement('t'); + if ($textToWrite !== trim($textToWrite)) { + $objWriter->writeAttribute('xml:space', 'preserve'); + } + $objWriter->writeRawData($textToWrite); + $objWriter->endElement(); + } else if ($textElement instanceof PHPExcel_RichText) { + $this->writeRichText($objWriter, $textElement); + } + + $objWriter->endElement(); + } + + $objWriter->endElement(); + + // Return + return $objWriter->getData(); + } else { + throw new PHPExcel_Writer_Exception("Invalid string table array passed."); + } + } + + /** + * Write Rich Text + * + * @param PHPExcel_Shared_XMLWriter $objWriter XML Writer + * @param PHPExcel_RichText $pRichText Rich text + * @param string $prefix Optional Namespace prefix + * @throws PHPExcel_Writer_Exception + */ + public function writeRichText(PHPExcel_Shared_XMLWriter $objWriter = null, PHPExcel_RichText $pRichText = null, $prefix=NULL) + { + if ($prefix !== NULL) + $prefix .= ':'; + // Loop through rich text elements + $elements = $pRichText->getRichTextElements(); + foreach ($elements as $element) { + // r + $objWriter->startElement($prefix.'r'); + + // rPr + if ($element instanceof PHPExcel_RichText_Run) { + // rPr + $objWriter->startElement($prefix.'rPr'); + + // rFont + $objWriter->startElement($prefix.'rFont'); + $objWriter->writeAttribute('val', $element->getFont()->getName()); + $objWriter->endElement(); + + // Bold + $objWriter->startElement($prefix.'b'); + $objWriter->writeAttribute('val', ($element->getFont()->getBold() ? 'true' : 'false')); + $objWriter->endElement(); + + // Italic + $objWriter->startElement($prefix.'i'); + $objWriter->writeAttribute('val', ($element->getFont()->getItalic() ? 'true' : 'false')); + $objWriter->endElement(); + + // Superscript / subscript + if ($element->getFont()->getSuperScript() || $element->getFont()->getSubScript()) { + $objWriter->startElement($prefix.'vertAlign'); + if ($element->getFont()->getSuperScript()) { + $objWriter->writeAttribute('val', 'superscript'); + } else if ($element->getFont()->getSubScript()) { + $objWriter->writeAttribute('val', 'subscript'); + } + $objWriter->endElement(); + } + + // Strikethrough + $objWriter->startElement($prefix.'strike'); + $objWriter->writeAttribute('val', ($element->getFont()->getStrikethrough() ? 'true' : 'false')); + $objWriter->endElement(); + + // Color + $objWriter->startElement($prefix.'color'); + $objWriter->writeAttribute('rgb', $element->getFont()->getColor()->getARGB()); + $objWriter->endElement(); + + // Size + $objWriter->startElement($prefix.'sz'); + $objWriter->writeAttribute('val', $element->getFont()->getSize()); + $objWriter->endElement(); + + // Underline + $objWriter->startElement($prefix.'u'); + $objWriter->writeAttribute('val', $element->getFont()->getUnderline()); + $objWriter->endElement(); + + $objWriter->endElement(); + } + + // t + $objWriter->startElement($prefix.'t'); + $objWriter->writeAttribute('xml:space', 'preserve'); + $objWriter->writeRawData(PHPExcel_Shared_String::ControlCharacterPHP2OOXML( $element->getText() )); + $objWriter->endElement(); + + $objWriter->endElement(); + } + } + + /** + * Write Rich Text + * + * @param PHPExcel_Shared_XMLWriter $objWriter XML Writer + * @param string|PHPExcel_RichText $pRichText text string or Rich text + * @param string $prefix Optional Namespace prefix + * @throws PHPExcel_Writer_Exception + */ + public function writeRichTextForCharts(PHPExcel_Shared_XMLWriter $objWriter = null, $pRichText = null, $prefix=NULL) + { + if (!$pRichText instanceof PHPExcel_RichText) { + $textRun = $pRichText; + $pRichText = new PHPExcel_RichText(); + $pRichText->createTextRun($textRun); + } + + if ($prefix !== NULL) + $prefix .= ':'; + // Loop through rich text elements + $elements = $pRichText->getRichTextElements(); + foreach ($elements as $element) { + // r + $objWriter->startElement($prefix.'r'); + + // rPr + $objWriter->startElement($prefix.'rPr'); + + // Bold + $objWriter->writeAttribute('b', ($element->getFont()->getBold() ? 1 : 0)); + // Italic + $objWriter->writeAttribute('i', ($element->getFont()->getItalic() ? 1 : 0)); + // Underline + $underlineType = $element->getFont()->getUnderline(); + switch($underlineType) { + case 'single' : + $underlineType = 'sng'; + break; + case 'double' : + $underlineType = 'dbl'; + break; + } + $objWriter->writeAttribute('u', $underlineType); + // Strikethrough + $objWriter->writeAttribute('strike', ($element->getFont()->getStrikethrough() ? 'sngStrike' : 'noStrike')); + + // rFont + $objWriter->startElement($prefix.'latin'); + $objWriter->writeAttribute('typeface', $element->getFont()->getName()); + $objWriter->endElement(); + + // Superscript / subscript +// if ($element->getFont()->getSuperScript() || $element->getFont()->getSubScript()) { +// $objWriter->startElement($prefix.'vertAlign'); +// if ($element->getFont()->getSuperScript()) { +// $objWriter->writeAttribute('val', 'superscript'); +// } else if ($element->getFont()->getSubScript()) { +// $objWriter->writeAttribute('val', 'subscript'); +// } +// $objWriter->endElement(); +// } +// + $objWriter->endElement(); + + // t + $objWriter->startElement($prefix.'t'); +// $objWriter->writeAttribute('xml:space', 'preserve'); // Excel2010 accepts, Excel2007 complains + $objWriter->writeRawData(PHPExcel_Shared_String::ControlCharacterPHP2OOXML( $element->getText() )); + $objWriter->endElement(); + + $objWriter->endElement(); + } + } + + /** + * Flip string table (for index searching) + * + * @param array $stringTable Stringtable + * @return array + */ + public function flipStringTable($stringTable = array()) { + // Return value + $returnValue = array(); + + // Loop through stringtable and add flipped items to $returnValue + foreach ($stringTable as $key => $value) { + if (! $value instanceof PHPExcel_RichText) { + $returnValue[$value] = $key; + } else if ($value instanceof PHPExcel_RichText) { + $returnValue[$value->getHashCode()] = $key; + } + } + + // Return + return $returnValue; + } +} diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/Excel2007/Style.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/Excel2007/Style.php new file mode 100644 index 00000000..d38c6eac --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/Excel2007/Style.php @@ -0,0 +1,707 @@ +<?php +/** + * PHPExcel + * + * Copyright (c) 2006 - 2014 PHPExcel + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * @category PHPExcel + * @package PHPExcel_Writer_Excel2007 + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @version ##VERSION##, ##DATE## + */ + + +/** + * PHPExcel_Writer_Excel2007_Style + * + * @category PHPExcel + * @package PHPExcel_Writer_Excel2007 + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + */ +class PHPExcel_Writer_Excel2007_Style extends PHPExcel_Writer_Excel2007_WriterPart +{ + /** + * Write styles to XML format + * + * @param PHPExcel $pPHPExcel + * @return string XML Output + * @throws PHPExcel_Writer_Exception + */ + public function writeStyles(PHPExcel $pPHPExcel = null) + { + // Create XML writer + $objWriter = null; + if ($this->getParentWriter()->getUseDiskCaching()) { + $objWriter = new PHPExcel_Shared_XMLWriter(PHPExcel_Shared_XMLWriter::STORAGE_DISK, $this->getParentWriter()->getDiskCachingDirectory()); + } else { + $objWriter = new PHPExcel_Shared_XMLWriter(PHPExcel_Shared_XMLWriter::STORAGE_MEMORY); + } + + // XML header + $objWriter->startDocument('1.0','UTF-8','yes'); + + // styleSheet + $objWriter->startElement('styleSheet'); + $objWriter->writeAttribute('xml:space', 'preserve'); + $objWriter->writeAttribute('xmlns', 'http://schemas.openxmlformats.org/spreadsheetml/2006/main'); + + // numFmts + $objWriter->startElement('numFmts'); + $objWriter->writeAttribute('count', $this->getParentWriter()->getNumFmtHashTable()->count()); + + // numFmt + for ($i = 0; $i < $this->getParentWriter()->getNumFmtHashTable()->count(); ++$i) { + $this->_writeNumFmt($objWriter, $this->getParentWriter()->getNumFmtHashTable()->getByIndex($i), $i); + } + + $objWriter->endElement(); + + // fonts + $objWriter->startElement('fonts'); + $objWriter->writeAttribute('count', $this->getParentWriter()->getFontHashTable()->count()); + + // font + for ($i = 0; $i < $this->getParentWriter()->getFontHashTable()->count(); ++$i) { + $this->_writeFont($objWriter, $this->getParentWriter()->getFontHashTable()->getByIndex($i)); + } + + $objWriter->endElement(); + + // fills + $objWriter->startElement('fills'); + $objWriter->writeAttribute('count', $this->getParentWriter()->getFillHashTable()->count()); + + // fill + for ($i = 0; $i < $this->getParentWriter()->getFillHashTable()->count(); ++$i) { + $this->_writeFill($objWriter, $this->getParentWriter()->getFillHashTable()->getByIndex($i)); + } + + $objWriter->endElement(); + + // borders + $objWriter->startElement('borders'); + $objWriter->writeAttribute('count', $this->getParentWriter()->getBordersHashTable()->count()); + + // border + for ($i = 0; $i < $this->getParentWriter()->getBordersHashTable()->count(); ++$i) { + $this->_writeBorder($objWriter, $this->getParentWriter()->getBordersHashTable()->getByIndex($i)); + } + + $objWriter->endElement(); + + // cellStyleXfs + $objWriter->startElement('cellStyleXfs'); + $objWriter->writeAttribute('count', 1); + + // xf + $objWriter->startElement('xf'); + $objWriter->writeAttribute('numFmtId', 0); + $objWriter->writeAttribute('fontId', 0); + $objWriter->writeAttribute('fillId', 0); + $objWriter->writeAttribute('borderId', 0); + $objWriter->endElement(); + + $objWriter->endElement(); + + // cellXfs + $objWriter->startElement('cellXfs'); + $objWriter->writeAttribute('count', count($pPHPExcel->getCellXfCollection())); + + // xf + foreach ($pPHPExcel->getCellXfCollection() as $cellXf) { + $this->_writeCellStyleXf($objWriter, $cellXf, $pPHPExcel); + } + + $objWriter->endElement(); + + // cellStyles + $objWriter->startElement('cellStyles'); + $objWriter->writeAttribute('count', 1); + + // cellStyle + $objWriter->startElement('cellStyle'); + $objWriter->writeAttribute('name', 'Normal'); + $objWriter->writeAttribute('xfId', 0); + $objWriter->writeAttribute('builtinId', 0); + $objWriter->endElement(); + + $objWriter->endElement(); + + // dxfs + $objWriter->startElement('dxfs'); + $objWriter->writeAttribute('count', $this->getParentWriter()->getStylesConditionalHashTable()->count()); + + // dxf + for ($i = 0; $i < $this->getParentWriter()->getStylesConditionalHashTable()->count(); ++$i) { + $this->_writeCellStyleDxf($objWriter, $this->getParentWriter()->getStylesConditionalHashTable()->getByIndex($i)->getStyle()); + } + + $objWriter->endElement(); + + // tableStyles + $objWriter->startElement('tableStyles'); + $objWriter->writeAttribute('defaultTableStyle', 'TableStyleMedium9'); + $objWriter->writeAttribute('defaultPivotStyle', 'PivotTableStyle1'); + $objWriter->endElement(); + + $objWriter->endElement(); + + // Return + return $objWriter->getData(); + } + + /** + * Write Fill + * + * @param PHPExcel_Shared_XMLWriter $objWriter XML Writer + * @param PHPExcel_Style_Fill $pFill Fill style + * @throws PHPExcel_Writer_Exception + */ + private function _writeFill(PHPExcel_Shared_XMLWriter $objWriter = null, PHPExcel_Style_Fill $pFill = null) + { + // Check if this is a pattern type or gradient type + if ($pFill->getFillType() === PHPExcel_Style_Fill::FILL_GRADIENT_LINEAR || + $pFill->getFillType() === PHPExcel_Style_Fill::FILL_GRADIENT_PATH) { + // Gradient fill + $this->_writeGradientFill($objWriter, $pFill); + } elseif($pFill->getFillType() !== NULL) { + // Pattern fill + $this->_writePatternFill($objWriter, $pFill); + } + } + + /** + * Write Gradient Fill + * + * @param PHPExcel_Shared_XMLWriter $objWriter XML Writer + * @param PHPExcel_Style_Fill $pFill Fill style + * @throws PHPExcel_Writer_Exception + */ + private function _writeGradientFill(PHPExcel_Shared_XMLWriter $objWriter = null, PHPExcel_Style_Fill $pFill = null) + { + // fill + $objWriter->startElement('fill'); + + // gradientFill + $objWriter->startElement('gradientFill'); + $objWriter->writeAttribute('type', $pFill->getFillType()); + $objWriter->writeAttribute('degree', $pFill->getRotation()); + + // stop + $objWriter->startElement('stop'); + $objWriter->writeAttribute('position', '0'); + + // color + $objWriter->startElement('color'); + $objWriter->writeAttribute('rgb', $pFill->getStartColor()->getARGB()); + $objWriter->endElement(); + + $objWriter->endElement(); + + // stop + $objWriter->startElement('stop'); + $objWriter->writeAttribute('position', '1'); + + // color + $objWriter->startElement('color'); + $objWriter->writeAttribute('rgb', $pFill->getEndColor()->getARGB()); + $objWriter->endElement(); + + $objWriter->endElement(); + + $objWriter->endElement(); + + $objWriter->endElement(); + } + + /** + * Write Pattern Fill + * + * @param PHPExcel_Shared_XMLWriter $objWriter XML Writer + * @param PHPExcel_Style_Fill $pFill Fill style + * @throws PHPExcel_Writer_Exception + */ + private function _writePatternFill(PHPExcel_Shared_XMLWriter $objWriter = null, PHPExcel_Style_Fill $pFill = null) + { + // fill + $objWriter->startElement('fill'); + + // patternFill + $objWriter->startElement('patternFill'); + $objWriter->writeAttribute('patternType', $pFill->getFillType()); + + if ($pFill->getFillType() !== PHPExcel_Style_Fill::FILL_NONE) { + // fgColor + if ($pFill->getStartColor()->getARGB()) { + $objWriter->startElement('fgColor'); + $objWriter->writeAttribute('rgb', $pFill->getStartColor()->getARGB()); + $objWriter->endElement(); + } + } + if ($pFill->getFillType() !== PHPExcel_Style_Fill::FILL_NONE) { + // bgColor + if ($pFill->getEndColor()->getARGB()) { + $objWriter->startElement('bgColor'); + $objWriter->writeAttribute('rgb', $pFill->getEndColor()->getARGB()); + $objWriter->endElement(); + } + } + + $objWriter->endElement(); + + $objWriter->endElement(); + } + + /** + * Write Font + * + * @param PHPExcel_Shared_XMLWriter $objWriter XML Writer + * @param PHPExcel_Style_Font $pFont Font style + * @throws PHPExcel_Writer_Exception + */ + private function _writeFont(PHPExcel_Shared_XMLWriter $objWriter = null, PHPExcel_Style_Font $pFont = null) + { + // font + $objWriter->startElement('font'); + // Weird! The order of these elements actually makes a difference when opening Excel2007 + // files in Excel2003 with the compatibility pack. It's not documented behaviour, + // and makes for a real WTF! + + // Bold. We explicitly write this element also when false (like MS Office Excel 2007 does + // for conditional formatting). Otherwise it will apparently not be picked up in conditional + // formatting style dialog + if ($pFont->getBold() !== NULL) { + $objWriter->startElement('b'); + $objWriter->writeAttribute('val', $pFont->getBold() ? '1' : '0'); + $objWriter->endElement(); + } + + // Italic + if ($pFont->getItalic() !== NULL) { + $objWriter->startElement('i'); + $objWriter->writeAttribute('val', $pFont->getItalic() ? '1' : '0'); + $objWriter->endElement(); + } + + // Strikethrough + if ($pFont->getStrikethrough() !== NULL) { + $objWriter->startElement('strike'); + $objWriter->writeAttribute('val', $pFont->getStrikethrough() ? '1' : '0'); + $objWriter->endElement(); + } + + // Underline + if ($pFont->getUnderline() !== NULL) { + $objWriter->startElement('u'); + $objWriter->writeAttribute('val', $pFont->getUnderline()); + $objWriter->endElement(); + } + + // Superscript / subscript + if ($pFont->getSuperScript() === TRUE || $pFont->getSubScript() === TRUE) { + $objWriter->startElement('vertAlign'); + if ($pFont->getSuperScript() === TRUE) { + $objWriter->writeAttribute('val', 'superscript'); + } else if ($pFont->getSubScript() === TRUE) { + $objWriter->writeAttribute('val', 'subscript'); + } + $objWriter->endElement(); + } + + // Size + if ($pFont->getSize() !== NULL) { + $objWriter->startElement('sz'); + $objWriter->writeAttribute('val', $pFont->getSize()); + $objWriter->endElement(); + } + + // Foreground color + if ($pFont->getColor()->getARGB() !== NULL) { + $objWriter->startElement('color'); + $objWriter->writeAttribute('rgb', $pFont->getColor()->getARGB()); + $objWriter->endElement(); + } + + // Name + if ($pFont->getName() !== NULL) { + $objWriter->startElement('name'); + $objWriter->writeAttribute('val', $pFont->getName()); + $objWriter->endElement(); + } + + $objWriter->endElement(); + } + + /** + * Write Border + * + * @param PHPExcel_Shared_XMLWriter $objWriter XML Writer + * @param PHPExcel_Style_Borders $pBorders Borders style + * @throws PHPExcel_Writer_Exception + */ + private function _writeBorder(PHPExcel_Shared_XMLWriter $objWriter = null, PHPExcel_Style_Borders $pBorders = null) + { + // Write border + $objWriter->startElement('border'); + // Diagonal? + switch ($pBorders->getDiagonalDirection()) { + case PHPExcel_Style_Borders::DIAGONAL_UP: + $objWriter->writeAttribute('diagonalUp', 'true'); + $objWriter->writeAttribute('diagonalDown', 'false'); + break; + case PHPExcel_Style_Borders::DIAGONAL_DOWN: + $objWriter->writeAttribute('diagonalUp', 'false'); + $objWriter->writeAttribute('diagonalDown', 'true'); + break; + case PHPExcel_Style_Borders::DIAGONAL_BOTH: + $objWriter->writeAttribute('diagonalUp', 'true'); + $objWriter->writeAttribute('diagonalDown', 'true'); + break; + } + + // BorderPr + $this->_writeBorderPr($objWriter, 'left', $pBorders->getLeft()); + $this->_writeBorderPr($objWriter, 'right', $pBorders->getRight()); + $this->_writeBorderPr($objWriter, 'top', $pBorders->getTop()); + $this->_writeBorderPr($objWriter, 'bottom', $pBorders->getBottom()); + $this->_writeBorderPr($objWriter, 'diagonal', $pBorders->getDiagonal()); + $objWriter->endElement(); + } + + /** + * Write Cell Style Xf + * + * @param PHPExcel_Shared_XMLWriter $objWriter XML Writer + * @param PHPExcel_Style $pStyle Style + * @param PHPExcel $pPHPExcel Workbook + * @throws PHPExcel_Writer_Exception + */ + private function _writeCellStyleXf(PHPExcel_Shared_XMLWriter $objWriter = null, PHPExcel_Style $pStyle = null, PHPExcel $pPHPExcel = null) + { + // xf + $objWriter->startElement('xf'); + $objWriter->writeAttribute('xfId', 0); + $objWriter->writeAttribute('fontId', (int)$this->getParentWriter()->getFontHashTable()->getIndexForHashCode($pStyle->getFont()->getHashCode())); + if ($pStyle->getQuotePrefix()) { + $objWriter->writeAttribute('quotePrefix', 1); + } + + if ($pStyle->getNumberFormat()->getBuiltInFormatCode() === false) { + $objWriter->writeAttribute('numFmtId', (int)($this->getParentWriter()->getNumFmtHashTable()->getIndexForHashCode($pStyle->getNumberFormat()->getHashCode()) + 164) ); + } else { + $objWriter->writeAttribute('numFmtId', (int)$pStyle->getNumberFormat()->getBuiltInFormatCode()); + } + + $objWriter->writeAttribute('fillId', (int)$this->getParentWriter()->getFillHashTable()->getIndexForHashCode($pStyle->getFill()->getHashCode())); + $objWriter->writeAttribute('borderId', (int)$this->getParentWriter()->getBordersHashTable()->getIndexForHashCode($pStyle->getBorders()->getHashCode())); + + // Apply styles? + $objWriter->writeAttribute('applyFont', ($pPHPExcel->getDefaultStyle()->getFont()->getHashCode() != $pStyle->getFont()->getHashCode()) ? '1' : '0'); + $objWriter->writeAttribute('applyNumberFormat', ($pPHPExcel->getDefaultStyle()->getNumberFormat()->getHashCode() != $pStyle->getNumberFormat()->getHashCode()) ? '1' : '0'); + $objWriter->writeAttribute('applyFill', ($pPHPExcel->getDefaultStyle()->getFill()->getHashCode() != $pStyle->getFill()->getHashCode()) ? '1' : '0'); + $objWriter->writeAttribute('applyBorder', ($pPHPExcel->getDefaultStyle()->getBorders()->getHashCode() != $pStyle->getBorders()->getHashCode()) ? '1' : '0'); + $objWriter->writeAttribute('applyAlignment', ($pPHPExcel->getDefaultStyle()->getAlignment()->getHashCode() != $pStyle->getAlignment()->getHashCode()) ? '1' : '0'); + if ($pStyle->getProtection()->getLocked() != PHPExcel_Style_Protection::PROTECTION_INHERIT || $pStyle->getProtection()->getHidden() != PHPExcel_Style_Protection::PROTECTION_INHERIT) { + $objWriter->writeAttribute('applyProtection', 'true'); + } + + // alignment + $objWriter->startElement('alignment'); + $objWriter->writeAttribute('horizontal', $pStyle->getAlignment()->getHorizontal()); + $objWriter->writeAttribute('vertical', $pStyle->getAlignment()->getVertical()); + + $textRotation = 0; + if ($pStyle->getAlignment()->getTextRotation() >= 0) { + $textRotation = $pStyle->getAlignment()->getTextRotation(); + } else if ($pStyle->getAlignment()->getTextRotation() < 0) { + $textRotation = 90 - $pStyle->getAlignment()->getTextRotation(); + } + $objWriter->writeAttribute('textRotation', $textRotation); + + $objWriter->writeAttribute('wrapText', ($pStyle->getAlignment()->getWrapText() ? 'true' : 'false')); + $objWriter->writeAttribute('shrinkToFit', ($pStyle->getAlignment()->getShrinkToFit() ? 'true' : 'false')); + + if ($pStyle->getAlignment()->getIndent() > 0) { + $objWriter->writeAttribute('indent', $pStyle->getAlignment()->getIndent()); + } + if ($pStyle->getAlignment()->getReadorder() > 0) { + $objWriter->writeAttribute('readingOrder', $pStyle->getAlignment()->getReadorder()); + } + $objWriter->endElement(); + + // protection + if ($pStyle->getProtection()->getLocked() != PHPExcel_Style_Protection::PROTECTION_INHERIT || $pStyle->getProtection()->getHidden() != PHPExcel_Style_Protection::PROTECTION_INHERIT) { + $objWriter->startElement('protection'); + if ($pStyle->getProtection()->getLocked() != PHPExcel_Style_Protection::PROTECTION_INHERIT) { + $objWriter->writeAttribute('locked', ($pStyle->getProtection()->getLocked() == PHPExcel_Style_Protection::PROTECTION_PROTECTED ? 'true' : 'false')); + } + if ($pStyle->getProtection()->getHidden() != PHPExcel_Style_Protection::PROTECTION_INHERIT) { + $objWriter->writeAttribute('hidden', ($pStyle->getProtection()->getHidden() == PHPExcel_Style_Protection::PROTECTION_PROTECTED ? 'true' : 'false')); + } + $objWriter->endElement(); + } + + $objWriter->endElement(); + } + + /** + * Write Cell Style Dxf + * + * @param PHPExcel_Shared_XMLWriter $objWriter XML Writer + * @param PHPExcel_Style $pStyle Style + * @throws PHPExcel_Writer_Exception + */ + private function _writeCellStyleDxf(PHPExcel_Shared_XMLWriter $objWriter = null, PHPExcel_Style $pStyle = null) + { + // dxf + $objWriter->startElement('dxf'); + + // font + $this->_writeFont($objWriter, $pStyle->getFont()); + + // numFmt + $this->_writeNumFmt($objWriter, $pStyle->getNumberFormat()); + + // fill + $this->_writeFill($objWriter, $pStyle->getFill()); + + // alignment + $objWriter->startElement('alignment'); + if ($pStyle->getAlignment()->getHorizontal() !== NULL) { + $objWriter->writeAttribute('horizontal', $pStyle->getAlignment()->getHorizontal()); + } + if ($pStyle->getAlignment()->getVertical() !== NULL) { + $objWriter->writeAttribute('vertical', $pStyle->getAlignment()->getVertical()); + } + + if ($pStyle->getAlignment()->getTextRotation() !== NULL) { + $textRotation = 0; + if ($pStyle->getAlignment()->getTextRotation() >= 0) { + $textRotation = $pStyle->getAlignment()->getTextRotation(); + } else if ($pStyle->getAlignment()->getTextRotation() < 0) { + $textRotation = 90 - $pStyle->getAlignment()->getTextRotation(); + } + $objWriter->writeAttribute('textRotation', $textRotation); + } + $objWriter->endElement(); + + // border + $this->_writeBorder($objWriter, $pStyle->getBorders()); + + // protection + if (($pStyle->getProtection()->getLocked() !== NULL) || + ($pStyle->getProtection()->getHidden() !== NULL)) { + if ($pStyle->getProtection()->getLocked() !== PHPExcel_Style_Protection::PROTECTION_INHERIT || + $pStyle->getProtection()->getHidden() !== PHPExcel_Style_Protection::PROTECTION_INHERIT) { + $objWriter->startElement('protection'); + if (($pStyle->getProtection()->getLocked() !== NULL) && + ($pStyle->getProtection()->getLocked() !== PHPExcel_Style_Protection::PROTECTION_INHERIT)) { + $objWriter->writeAttribute('locked', ($pStyle->getProtection()->getLocked() == PHPExcel_Style_Protection::PROTECTION_PROTECTED ? 'true' : 'false')); + } + if (($pStyle->getProtection()->getHidden() !== NULL) && + ($pStyle->getProtection()->getHidden() !== PHPExcel_Style_Protection::PROTECTION_INHERIT)) { + $objWriter->writeAttribute('hidden', ($pStyle->getProtection()->getHidden() == PHPExcel_Style_Protection::PROTECTION_PROTECTED ? 'true' : 'false')); + } + $objWriter->endElement(); + } + } + + $objWriter->endElement(); + } + + /** + * Write BorderPr + * + * @param PHPExcel_Shared_XMLWriter $objWriter XML Writer + * @param string $pName Element name + * @param PHPExcel_Style_Border $pBorder Border style + * @throws PHPExcel_Writer_Exception + */ + private function _writeBorderPr(PHPExcel_Shared_XMLWriter $objWriter = null, $pName = 'left', PHPExcel_Style_Border $pBorder = null) + { + // Write BorderPr + if ($pBorder->getBorderStyle() != PHPExcel_Style_Border::BORDER_NONE) { + $objWriter->startElement($pName); + $objWriter->writeAttribute('style', $pBorder->getBorderStyle()); + + // color + $objWriter->startElement('color'); + $objWriter->writeAttribute('rgb', $pBorder->getColor()->getARGB()); + $objWriter->endElement(); + + $objWriter->endElement(); + } + } + + /** + * Write NumberFormat + * + * @param PHPExcel_Shared_XMLWriter $objWriter XML Writer + * @param PHPExcel_Style_NumberFormat $pNumberFormat Number Format + * @param int $pId Number Format identifier + * @throws PHPExcel_Writer_Exception + */ + private function _writeNumFmt(PHPExcel_Shared_XMLWriter $objWriter = null, PHPExcel_Style_NumberFormat $pNumberFormat = null, $pId = 0) + { + // Translate formatcode + $formatCode = $pNumberFormat->getFormatCode(); + + // numFmt + if ($formatCode !== NULL) { + $objWriter->startElement('numFmt'); + $objWriter->writeAttribute('numFmtId', ($pId + 164)); + $objWriter->writeAttribute('formatCode', $formatCode); + $objWriter->endElement(); + } + } + + /** + * Get an array of all styles + * + * @param PHPExcel $pPHPExcel + * @return PHPExcel_Style[] All styles in PHPExcel + * @throws PHPExcel_Writer_Exception + */ + public function allStyles(PHPExcel $pPHPExcel = null) + { + $aStyles = $pPHPExcel->getCellXfCollection(); + + return $aStyles; + } + + /** + * Get an array of all conditional styles + * + * @param PHPExcel $pPHPExcel + * @return PHPExcel_Style_Conditional[] All conditional styles in PHPExcel + * @throws PHPExcel_Writer_Exception + */ + public function allConditionalStyles(PHPExcel $pPHPExcel = null) + { + // Get an array of all styles + $aStyles = array(); + + $sheetCount = $pPHPExcel->getSheetCount(); + for ($i = 0; $i < $sheetCount; ++$i) { + foreach ($pPHPExcel->getSheet($i)->getConditionalStylesCollection() as $conditionalStyles) { + foreach ($conditionalStyles as $conditionalStyle) { + $aStyles[] = $conditionalStyle; + } + } + } + + return $aStyles; + } + + /** + * Get an array of all fills + * + * @param PHPExcel $pPHPExcel + * @return PHPExcel_Style_Fill[] All fills in PHPExcel + * @throws PHPExcel_Writer_Exception + */ + public function allFills(PHPExcel $pPHPExcel = null) + { + // Get an array of unique fills + $aFills = array(); + + // Two first fills are predefined + $fill0 = new PHPExcel_Style_Fill(); + $fill0->setFillType(PHPExcel_Style_Fill::FILL_NONE); + $aFills[] = $fill0; + + $fill1 = new PHPExcel_Style_Fill(); + $fill1->setFillType(PHPExcel_Style_Fill::FILL_PATTERN_GRAY125); + $aFills[] = $fill1; + // The remaining fills + $aStyles = $this->allStyles($pPHPExcel); + foreach ($aStyles as $style) { + if (!array_key_exists($style->getFill()->getHashCode(), $aFills)) { + $aFills[ $style->getFill()->getHashCode() ] = $style->getFill(); + } + } + + return $aFills; + } + + /** + * Get an array of all fonts + * + * @param PHPExcel $pPHPExcel + * @return PHPExcel_Style_Font[] All fonts in PHPExcel + * @throws PHPExcel_Writer_Exception + */ + public function allFonts(PHPExcel $pPHPExcel = null) + { + // Get an array of unique fonts + $aFonts = array(); + $aStyles = $this->allStyles($pPHPExcel); + + foreach ($aStyles as $style) { + if (!array_key_exists($style->getFont()->getHashCode(), $aFonts)) { + $aFonts[ $style->getFont()->getHashCode() ] = $style->getFont(); + } + } + + return $aFonts; + } + + /** + * Get an array of all borders + * + * @param PHPExcel $pPHPExcel + * @return PHPExcel_Style_Borders[] All borders in PHPExcel + * @throws PHPExcel_Writer_Exception + */ + public function allBorders(PHPExcel $pPHPExcel = null) + { + // Get an array of unique borders + $aBorders = array(); + $aStyles = $this->allStyles($pPHPExcel); + + foreach ($aStyles as $style) { + if (!array_key_exists($style->getBorders()->getHashCode(), $aBorders)) { + $aBorders[ $style->getBorders()->getHashCode() ] = $style->getBorders(); + } + } + + return $aBorders; + } + + /** + * Get an array of all number formats + * + * @param PHPExcel $pPHPExcel + * @return PHPExcel_Style_NumberFormat[] All number formats in PHPExcel + * @throws PHPExcel_Writer_Exception + */ + public function allNumberFormats(PHPExcel $pPHPExcel = null) + { + // Get an array of unique number formats + $aNumFmts = array(); + $aStyles = $this->allStyles($pPHPExcel); + + foreach ($aStyles as $style) { + if ($style->getNumberFormat()->getBuiltInFormatCode() === false && !array_key_exists($style->getNumberFormat()->getHashCode(), $aNumFmts)) { + $aNumFmts[ $style->getNumberFormat()->getHashCode() ] = $style->getNumberFormat(); + } + } + + return $aNumFmts; + } +} diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/Excel2007/Theme.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/Excel2007/Theme.php new file mode 100644 index 00000000..c67b9481 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/Excel2007/Theme.php @@ -0,0 +1,871 @@ +<?php +/** + * PHPExcel + * + * Copyright (c) 2006 - 2014 PHPExcel + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * @category PHPExcel + * @package PHPExcel_Writer_Excel2007 + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @version ##VERSION##, ##DATE## + */ + + +/** + * PHPExcel_Writer_Excel2007_Theme + * + * @category PHPExcel + * @package PHPExcel_Writer_Excel2007 + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + */ +class PHPExcel_Writer_Excel2007_Theme extends PHPExcel_Writer_Excel2007_WriterPart +{ + /** + * Map of Major fonts to write + * @static array of string + * + */ + private static $_majorFonts = array( + 'Jpan' => 'MS Pゴシック', + 'Hang' => '맑은 고딕', + 'Hans' => '宋体', + 'Hant' => '新細明體', + 'Arab' => 'Times New Roman', + 'Hebr' => 'Times New Roman', + 'Thai' => 'Tahoma', + 'Ethi' => 'Nyala', + 'Beng' => 'Vrinda', + 'Gujr' => 'Shruti', + 'Khmr' => 'MoolBoran', + 'Knda' => 'Tunga', + 'Guru' => 'Raavi', + 'Cans' => 'Euphemia', + 'Cher' => 'Plantagenet Cherokee', + 'Yiii' => 'Microsoft Yi Baiti', + 'Tibt' => 'Microsoft Himalaya', + 'Thaa' => 'MV Boli', + 'Deva' => 'Mangal', + 'Telu' => 'Gautami', + 'Taml' => 'Latha', + 'Syrc' => 'Estrangelo Edessa', + 'Orya' => 'Kalinga', + 'Mlym' => 'Kartika', + 'Laoo' => 'DokChampa', + 'Sinh' => 'Iskoola Pota', + 'Mong' => 'Mongolian Baiti', + 'Viet' => 'Times New Roman', + 'Uigh' => 'Microsoft Uighur', + 'Geor' => 'Sylfaen', + ); + + /** + * Map of Minor fonts to write + * @static array of string + * + */ + private static $_minorFonts = array( + 'Jpan' => 'MS Pゴシック', + 'Hang' => '맑은 고딕', + 'Hans' => '宋体', + 'Hant' => '新細明體', + 'Arab' => 'Arial', + 'Hebr' => 'Arial', + 'Thai' => 'Tahoma', + 'Ethi' => 'Nyala', + 'Beng' => 'Vrinda', + 'Gujr' => 'Shruti', + 'Khmr' => 'DaunPenh', + 'Knda' => 'Tunga', + 'Guru' => 'Raavi', + 'Cans' => 'Euphemia', + 'Cher' => 'Plantagenet Cherokee', + 'Yiii' => 'Microsoft Yi Baiti', + 'Tibt' => 'Microsoft Himalaya', + 'Thaa' => 'MV Boli', + 'Deva' => 'Mangal', + 'Telu' => 'Gautami', + 'Taml' => 'Latha', + 'Syrc' => 'Estrangelo Edessa', + 'Orya' => 'Kalinga', + 'Mlym' => 'Kartika', + 'Laoo' => 'DokChampa', + 'Sinh' => 'Iskoola Pota', + 'Mong' => 'Mongolian Baiti', + 'Viet' => 'Arial', + 'Uigh' => 'Microsoft Uighur', + 'Geor' => 'Sylfaen', + ); + + /** + * Map of core colours + * @static array of string + * + */ + private static $_colourScheme = array( + 'dk2' => '1F497D', + 'lt2' => 'EEECE1', + 'accent1' => '4F81BD', + 'accent2' => 'C0504D', + 'accent3' => '9BBB59', + 'accent4' => '8064A2', + 'accent5' => '4BACC6', + 'accent6' => 'F79646', + 'hlink' => '0000FF', + 'folHlink' => '800080', + ); + + /** + * Write theme to XML format + * + * @param PHPExcel $pPHPExcel + * @return string XML Output + * @throws PHPExcel_Writer_Exception + */ + public function writeTheme(PHPExcel $pPHPExcel = null) + { + // Create XML writer + $objWriter = null; + if ($this->getParentWriter()->getUseDiskCaching()) { + $objWriter = new PHPExcel_Shared_XMLWriter(PHPExcel_Shared_XMLWriter::STORAGE_DISK, $this->getParentWriter()->getDiskCachingDirectory()); + } else { + $objWriter = new PHPExcel_Shared_XMLWriter(PHPExcel_Shared_XMLWriter::STORAGE_MEMORY); + } + + // XML header + $objWriter->startDocument('1.0','UTF-8','yes'); + + // a:theme + $objWriter->startElement('a:theme'); + $objWriter->writeAttribute('xmlns:a', 'http://schemas.openxmlformats.org/drawingml/2006/main'); + $objWriter->writeAttribute('name', 'Office Theme'); + + // a:themeElements + $objWriter->startElement('a:themeElements'); + + // a:clrScheme + $objWriter->startElement('a:clrScheme'); + $objWriter->writeAttribute('name', 'Office'); + + // a:dk1 + $objWriter->startElement('a:dk1'); + + // a:sysClr + $objWriter->startElement('a:sysClr'); + $objWriter->writeAttribute('val', 'windowText'); + $objWriter->writeAttribute('lastClr', '000000'); + $objWriter->endElement(); + + $objWriter->endElement(); + + // a:lt1 + $objWriter->startElement('a:lt1'); + + // a:sysClr + $objWriter->startElement('a:sysClr'); + $objWriter->writeAttribute('val', 'window'); + $objWriter->writeAttribute('lastClr', 'FFFFFF'); + $objWriter->endElement(); + + $objWriter->endElement(); + + // a:dk2 + $this->_writeColourScheme($objWriter); + + $objWriter->endElement(); + + // a:fontScheme + $objWriter->startElement('a:fontScheme'); + $objWriter->writeAttribute('name', 'Office'); + + // a:majorFont + $objWriter->startElement('a:majorFont'); + $this->_writeFonts($objWriter, 'Cambria', self::$_majorFonts); + $objWriter->endElement(); + + // a:minorFont + $objWriter->startElement('a:minorFont'); + $this->_writeFonts($objWriter, 'Calibri', self::$_minorFonts); + $objWriter->endElement(); + + $objWriter->endElement(); + + // a:fmtScheme + $objWriter->startElement('a:fmtScheme'); + $objWriter->writeAttribute('name', 'Office'); + + // a:fillStyleLst + $objWriter->startElement('a:fillStyleLst'); + + // a:solidFill + $objWriter->startElement('a:solidFill'); + + // a:schemeClr + $objWriter->startElement('a:schemeClr'); + $objWriter->writeAttribute('val', 'phClr'); + $objWriter->endElement(); + + $objWriter->endElement(); + + // a:gradFill + $objWriter->startElement('a:gradFill'); + $objWriter->writeAttribute('rotWithShape', '1'); + + // a:gsLst + $objWriter->startElement('a:gsLst'); + + // a:gs + $objWriter->startElement('a:gs'); + $objWriter->writeAttribute('pos', '0'); + + // a:schemeClr + $objWriter->startElement('a:schemeClr'); + $objWriter->writeAttribute('val', 'phClr'); + + // a:tint + $objWriter->startElement('a:tint'); + $objWriter->writeAttribute('val', '50000'); + $objWriter->endElement(); + + // a:satMod + $objWriter->startElement('a:satMod'); + $objWriter->writeAttribute('val', '300000'); + $objWriter->endElement(); + + $objWriter->endElement(); + + $objWriter->endElement(); + + // a:gs + $objWriter->startElement('a:gs'); + $objWriter->writeAttribute('pos', '35000'); + + // a:schemeClr + $objWriter->startElement('a:schemeClr'); + $objWriter->writeAttribute('val', 'phClr'); + + // a:tint + $objWriter->startElement('a:tint'); + $objWriter->writeAttribute('val', '37000'); + $objWriter->endElement(); + + // a:satMod + $objWriter->startElement('a:satMod'); + $objWriter->writeAttribute('val', '300000'); + $objWriter->endElement(); + + $objWriter->endElement(); + + $objWriter->endElement(); + + // a:gs + $objWriter->startElement('a:gs'); + $objWriter->writeAttribute('pos', '100000'); + + // a:schemeClr + $objWriter->startElement('a:schemeClr'); + $objWriter->writeAttribute('val', 'phClr'); + + // a:tint + $objWriter->startElement('a:tint'); + $objWriter->writeAttribute('val', '15000'); + $objWriter->endElement(); + + // a:satMod + $objWriter->startElement('a:satMod'); + $objWriter->writeAttribute('val', '350000'); + $objWriter->endElement(); + + $objWriter->endElement(); + + $objWriter->endElement(); + + $objWriter->endElement(); + + // a:lin + $objWriter->startElement('a:lin'); + $objWriter->writeAttribute('ang', '16200000'); + $objWriter->writeAttribute('scaled', '1'); + $objWriter->endElement(); + + $objWriter->endElement(); + + // a:gradFill + $objWriter->startElement('a:gradFill'); + $objWriter->writeAttribute('rotWithShape', '1'); + + // a:gsLst + $objWriter->startElement('a:gsLst'); + + // a:gs + $objWriter->startElement('a:gs'); + $objWriter->writeAttribute('pos', '0'); + + // a:schemeClr + $objWriter->startElement('a:schemeClr'); + $objWriter->writeAttribute('val', 'phClr'); + + // a:shade + $objWriter->startElement('a:shade'); + $objWriter->writeAttribute('val', '51000'); + $objWriter->endElement(); + + // a:satMod + $objWriter->startElement('a:satMod'); + $objWriter->writeAttribute('val', '130000'); + $objWriter->endElement(); + + $objWriter->endElement(); + + $objWriter->endElement(); + + // a:gs + $objWriter->startElement('a:gs'); + $objWriter->writeAttribute('pos', '80000'); + + // a:schemeClr + $objWriter->startElement('a:schemeClr'); + $objWriter->writeAttribute('val', 'phClr'); + + // a:shade + $objWriter->startElement('a:shade'); + $objWriter->writeAttribute('val', '93000'); + $objWriter->endElement(); + + // a:satMod + $objWriter->startElement('a:satMod'); + $objWriter->writeAttribute('val', '130000'); + $objWriter->endElement(); + + $objWriter->endElement(); + + $objWriter->endElement(); + + // a:gs + $objWriter->startElement('a:gs'); + $objWriter->writeAttribute('pos', '100000'); + + // a:schemeClr + $objWriter->startElement('a:schemeClr'); + $objWriter->writeAttribute('val', 'phClr'); + + // a:shade + $objWriter->startElement('a:shade'); + $objWriter->writeAttribute('val', '94000'); + $objWriter->endElement(); + + // a:satMod + $objWriter->startElement('a:satMod'); + $objWriter->writeAttribute('val', '135000'); + $objWriter->endElement(); + + $objWriter->endElement(); + + $objWriter->endElement(); + + $objWriter->endElement(); + + // a:lin + $objWriter->startElement('a:lin'); + $objWriter->writeAttribute('ang', '16200000'); + $objWriter->writeAttribute('scaled', '0'); + $objWriter->endElement(); + + $objWriter->endElement(); + + $objWriter->endElement(); + + // a:lnStyleLst + $objWriter->startElement('a:lnStyleLst'); + + // a:ln + $objWriter->startElement('a:ln'); + $objWriter->writeAttribute('w', '9525'); + $objWriter->writeAttribute('cap', 'flat'); + $objWriter->writeAttribute('cmpd', 'sng'); + $objWriter->writeAttribute('algn', 'ctr'); + + // a:solidFill + $objWriter->startElement('a:solidFill'); + + // a:schemeClr + $objWriter->startElement('a:schemeClr'); + $objWriter->writeAttribute('val', 'phClr'); + + // a:shade + $objWriter->startElement('a:shade'); + $objWriter->writeAttribute('val', '95000'); + $objWriter->endElement(); + + // a:satMod + $objWriter->startElement('a:satMod'); + $objWriter->writeAttribute('val', '105000'); + $objWriter->endElement(); + + $objWriter->endElement(); + + $objWriter->endElement(); + + // a:prstDash + $objWriter->startElement('a:prstDash'); + $objWriter->writeAttribute('val', 'solid'); + $objWriter->endElement(); + + $objWriter->endElement(); + + // a:ln + $objWriter->startElement('a:ln'); + $objWriter->writeAttribute('w', '25400'); + $objWriter->writeAttribute('cap', 'flat'); + $objWriter->writeAttribute('cmpd', 'sng'); + $objWriter->writeAttribute('algn', 'ctr'); + + // a:solidFill + $objWriter->startElement('a:solidFill'); + + // a:schemeClr + $objWriter->startElement('a:schemeClr'); + $objWriter->writeAttribute('val', 'phClr'); + $objWriter->endElement(); + + $objWriter->endElement(); + + // a:prstDash + $objWriter->startElement('a:prstDash'); + $objWriter->writeAttribute('val', 'solid'); + $objWriter->endElement(); + + $objWriter->endElement(); + + // a:ln + $objWriter->startElement('a:ln'); + $objWriter->writeAttribute('w', '38100'); + $objWriter->writeAttribute('cap', 'flat'); + $objWriter->writeAttribute('cmpd', 'sng'); + $objWriter->writeAttribute('algn', 'ctr'); + + // a:solidFill + $objWriter->startElement('a:solidFill'); + + // a:schemeClr + $objWriter->startElement('a:schemeClr'); + $objWriter->writeAttribute('val', 'phClr'); + $objWriter->endElement(); + + $objWriter->endElement(); + + // a:prstDash + $objWriter->startElement('a:prstDash'); + $objWriter->writeAttribute('val', 'solid'); + $objWriter->endElement(); + + $objWriter->endElement(); + + $objWriter->endElement(); + + + + // a:effectStyleLst + $objWriter->startElement('a:effectStyleLst'); + + // a:effectStyle + $objWriter->startElement('a:effectStyle'); + + // a:effectLst + $objWriter->startElement('a:effectLst'); + + // a:outerShdw + $objWriter->startElement('a:outerShdw'); + $objWriter->writeAttribute('blurRad', '40000'); + $objWriter->writeAttribute('dist', '20000'); + $objWriter->writeAttribute('dir', '5400000'); + $objWriter->writeAttribute('rotWithShape', '0'); + + // a:srgbClr + $objWriter->startElement('a:srgbClr'); + $objWriter->writeAttribute('val', '000000'); + + // a:alpha + $objWriter->startElement('a:alpha'); + $objWriter->writeAttribute('val', '38000'); + $objWriter->endElement(); + + $objWriter->endElement(); + + $objWriter->endElement(); + + $objWriter->endElement(); + + $objWriter->endElement(); + + // a:effectStyle + $objWriter->startElement('a:effectStyle'); + + // a:effectLst + $objWriter->startElement('a:effectLst'); + + // a:outerShdw + $objWriter->startElement('a:outerShdw'); + $objWriter->writeAttribute('blurRad', '40000'); + $objWriter->writeAttribute('dist', '23000'); + $objWriter->writeAttribute('dir', '5400000'); + $objWriter->writeAttribute('rotWithShape', '0'); + + // a:srgbClr + $objWriter->startElement('a:srgbClr'); + $objWriter->writeAttribute('val', '000000'); + + // a:alpha + $objWriter->startElement('a:alpha'); + $objWriter->writeAttribute('val', '35000'); + $objWriter->endElement(); + + $objWriter->endElement(); + + $objWriter->endElement(); + + $objWriter->endElement(); + + $objWriter->endElement(); + + // a:effectStyle + $objWriter->startElement('a:effectStyle'); + + // a:effectLst + $objWriter->startElement('a:effectLst'); + + // a:outerShdw + $objWriter->startElement('a:outerShdw'); + $objWriter->writeAttribute('blurRad', '40000'); + $objWriter->writeAttribute('dist', '23000'); + $objWriter->writeAttribute('dir', '5400000'); + $objWriter->writeAttribute('rotWithShape', '0'); + + // a:srgbClr + $objWriter->startElement('a:srgbClr'); + $objWriter->writeAttribute('val', '000000'); + + // a:alpha + $objWriter->startElement('a:alpha'); + $objWriter->writeAttribute('val', '35000'); + $objWriter->endElement(); + + $objWriter->endElement(); + + $objWriter->endElement(); + + $objWriter->endElement(); + + // a:scene3d + $objWriter->startElement('a:scene3d'); + + // a:camera + $objWriter->startElement('a:camera'); + $objWriter->writeAttribute('prst', 'orthographicFront'); + + // a:rot + $objWriter->startElement('a:rot'); + $objWriter->writeAttribute('lat', '0'); + $objWriter->writeAttribute('lon', '0'); + $objWriter->writeAttribute('rev', '0'); + $objWriter->endElement(); + + $objWriter->endElement(); + + // a:lightRig + $objWriter->startElement('a:lightRig'); + $objWriter->writeAttribute('rig', 'threePt'); + $objWriter->writeAttribute('dir', 't'); + + // a:rot + $objWriter->startElement('a:rot'); + $objWriter->writeAttribute('lat', '0'); + $objWriter->writeAttribute('lon', '0'); + $objWriter->writeAttribute('rev', '1200000'); + $objWriter->endElement(); + + $objWriter->endElement(); + + $objWriter->endElement(); + + // a:sp3d + $objWriter->startElement('a:sp3d'); + + // a:bevelT + $objWriter->startElement('a:bevelT'); + $objWriter->writeAttribute('w', '63500'); + $objWriter->writeAttribute('h', '25400'); + $objWriter->endElement(); + + $objWriter->endElement(); + + $objWriter->endElement(); + + $objWriter->endElement(); + + // a:bgFillStyleLst + $objWriter->startElement('a:bgFillStyleLst'); + + // a:solidFill + $objWriter->startElement('a:solidFill'); + + // a:schemeClr + $objWriter->startElement('a:schemeClr'); + $objWriter->writeAttribute('val', 'phClr'); + $objWriter->endElement(); + + $objWriter->endElement(); + + // a:gradFill + $objWriter->startElement('a:gradFill'); + $objWriter->writeAttribute('rotWithShape', '1'); + + // a:gsLst + $objWriter->startElement('a:gsLst'); + + // a:gs + $objWriter->startElement('a:gs'); + $objWriter->writeAttribute('pos', '0'); + + // a:schemeClr + $objWriter->startElement('a:schemeClr'); + $objWriter->writeAttribute('val', 'phClr'); + + // a:tint + $objWriter->startElement('a:tint'); + $objWriter->writeAttribute('val', '40000'); + $objWriter->endElement(); + + // a:satMod + $objWriter->startElement('a:satMod'); + $objWriter->writeAttribute('val', '350000'); + $objWriter->endElement(); + + $objWriter->endElement(); + + $objWriter->endElement(); + + // a:gs + $objWriter->startElement('a:gs'); + $objWriter->writeAttribute('pos', '40000'); + + // a:schemeClr + $objWriter->startElement('a:schemeClr'); + $objWriter->writeAttribute('val', 'phClr'); + + // a:tint + $objWriter->startElement('a:tint'); + $objWriter->writeAttribute('val', '45000'); + $objWriter->endElement(); + + // a:shade + $objWriter->startElement('a:shade'); + $objWriter->writeAttribute('val', '99000'); + $objWriter->endElement(); + + // a:satMod + $objWriter->startElement('a:satMod'); + $objWriter->writeAttribute('val', '350000'); + $objWriter->endElement(); + + $objWriter->endElement(); + + $objWriter->endElement(); + + // a:gs + $objWriter->startElement('a:gs'); + $objWriter->writeAttribute('pos', '100000'); + + // a:schemeClr + $objWriter->startElement('a:schemeClr'); + $objWriter->writeAttribute('val', 'phClr'); + + // a:shade + $objWriter->startElement('a:shade'); + $objWriter->writeAttribute('val', '20000'); + $objWriter->endElement(); + + // a:satMod + $objWriter->startElement('a:satMod'); + $objWriter->writeAttribute('val', '255000'); + $objWriter->endElement(); + + $objWriter->endElement(); + + $objWriter->endElement(); + + $objWriter->endElement(); + + // a:path + $objWriter->startElement('a:path'); + $objWriter->writeAttribute('path', 'circle'); + + // a:fillToRect + $objWriter->startElement('a:fillToRect'); + $objWriter->writeAttribute('l', '50000'); + $objWriter->writeAttribute('t', '-80000'); + $objWriter->writeAttribute('r', '50000'); + $objWriter->writeAttribute('b', '180000'); + $objWriter->endElement(); + + $objWriter->endElement(); + + $objWriter->endElement(); + + // a:gradFill + $objWriter->startElement('a:gradFill'); + $objWriter->writeAttribute('rotWithShape', '1'); + + // a:gsLst + $objWriter->startElement('a:gsLst'); + + // a:gs + $objWriter->startElement('a:gs'); + $objWriter->writeAttribute('pos', '0'); + + // a:schemeClr + $objWriter->startElement('a:schemeClr'); + $objWriter->writeAttribute('val', 'phClr'); + + // a:tint + $objWriter->startElement('a:tint'); + $objWriter->writeAttribute('val', '80000'); + $objWriter->endElement(); + + // a:satMod + $objWriter->startElement('a:satMod'); + $objWriter->writeAttribute('val', '300000'); + $objWriter->endElement(); + + $objWriter->endElement(); + + $objWriter->endElement(); + + // a:gs + $objWriter->startElement('a:gs'); + $objWriter->writeAttribute('pos', '100000'); + + // a:schemeClr + $objWriter->startElement('a:schemeClr'); + $objWriter->writeAttribute('val', 'phClr'); + + // a:shade + $objWriter->startElement('a:shade'); + $objWriter->writeAttribute('val', '30000'); + $objWriter->endElement(); + + // a:satMod + $objWriter->startElement('a:satMod'); + $objWriter->writeAttribute('val', '200000'); + $objWriter->endElement(); + + $objWriter->endElement(); + + $objWriter->endElement(); + + $objWriter->endElement(); + + // a:path + $objWriter->startElement('a:path'); + $objWriter->writeAttribute('path', 'circle'); + + // a:fillToRect + $objWriter->startElement('a:fillToRect'); + $objWriter->writeAttribute('l', '50000'); + $objWriter->writeAttribute('t', '50000'); + $objWriter->writeAttribute('r', '50000'); + $objWriter->writeAttribute('b', '50000'); + $objWriter->endElement(); + + $objWriter->endElement(); + + $objWriter->endElement(); + + $objWriter->endElement(); + + $objWriter->endElement(); + + $objWriter->endElement(); + + // a:objectDefaults + $objWriter->writeElement('a:objectDefaults', null); + + // a:extraClrSchemeLst + $objWriter->writeElement('a:extraClrSchemeLst', null); + + $objWriter->endElement(); + + // Return + return $objWriter->getData(); + } + + /** + * Write fonts to XML format + * + * @param PHPExcel_Shared_XMLWriter $objWriter + * @param string $latinFont + * @param array of string $fontSet + * @return string XML Output + * @throws PHPExcel_Writer_Exception + */ + private function _writeFonts($objWriter, $latinFont, $fontSet) + { + // a:latin + $objWriter->startElement('a:latin'); + $objWriter->writeAttribute('typeface', $latinFont); + $objWriter->endElement(); + + // a:ea + $objWriter->startElement('a:ea'); + $objWriter->writeAttribute('typeface', ''); + $objWriter->endElement(); + + // a:cs + $objWriter->startElement('a:cs'); + $objWriter->writeAttribute('typeface', ''); + $objWriter->endElement(); + + foreach($fontSet as $fontScript => $typeface) { + $objWriter->startElement('a:font'); + $objWriter->writeAttribute('script', $fontScript); + $objWriter->writeAttribute('typeface', $typeface); + $objWriter->endElement(); + } + + } + + /** + * Write colour scheme to XML format + * + * @param PHPExcel_Shared_XMLWriter $objWriter + * @return string XML Output + * @throws PHPExcel_Writer_Exception + */ + private function _writeColourScheme($objWriter) + { + foreach(self::$_colourScheme as $colourName => $colourValue) { + $objWriter->startElement('a:'.$colourName); + + $objWriter->startElement('a:srgbClr'); + $objWriter->writeAttribute('val', $colourValue); + $objWriter->endElement(); + + $objWriter->endElement(); + } + + } +} diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/Excel2007/Workbook.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/Excel2007/Workbook.php new file mode 100644 index 00000000..f3092947 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/Excel2007/Workbook.php @@ -0,0 +1,456 @@ +<?php +/** + * PHPExcel + * + * Copyright (c) 2006 - 2014 PHPExcel + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * @category PHPExcel + * @package PHPExcel_Writer_Excel2007 + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @version ##VERSION##, ##DATE## + */ + + +/** + * PHPExcel_Writer_Excel2007_Workbook + * + * @category PHPExcel + * @package PHPExcel_Writer_Excel2007 + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + */ +class PHPExcel_Writer_Excel2007_Workbook extends PHPExcel_Writer_Excel2007_WriterPart +{ + /** + * Write workbook to XML format + * + * @param PHPExcel $pPHPExcel + * @param boolean $recalcRequired Indicate whether formulas should be recalculated before writing + * @return string XML Output + * @throws PHPExcel_Writer_Exception + */ + public function writeWorkbook(PHPExcel $pPHPExcel = null, $recalcRequired = FALSE) + { + // Create XML writer + $objWriter = null; + if ($this->getParentWriter()->getUseDiskCaching()) { + $objWriter = new PHPExcel_Shared_XMLWriter(PHPExcel_Shared_XMLWriter::STORAGE_DISK, $this->getParentWriter()->getDiskCachingDirectory()); + } else { + $objWriter = new PHPExcel_Shared_XMLWriter(PHPExcel_Shared_XMLWriter::STORAGE_MEMORY); + } + + // XML header + $objWriter->startDocument('1.0','UTF-8','yes'); + + // workbook + $objWriter->startElement('workbook'); + $objWriter->writeAttribute('xml:space', 'preserve'); + $objWriter->writeAttribute('xmlns', 'http://schemas.openxmlformats.org/spreadsheetml/2006/main'); + $objWriter->writeAttribute('xmlns:r', 'http://schemas.openxmlformats.org/officeDocument/2006/relationships'); + + // fileVersion + $this->_writeFileVersion($objWriter); + + // workbookPr + $this->_writeWorkbookPr($objWriter); + + // workbookProtection + $this->_writeWorkbookProtection($objWriter, $pPHPExcel); + + // bookViews + if ($this->getParentWriter()->getOffice2003Compatibility() === false) { + $this->_writeBookViews($objWriter, $pPHPExcel); + } + + // sheets + $this->_writeSheets($objWriter, $pPHPExcel); + + // definedNames + $this->_writeDefinedNames($objWriter, $pPHPExcel); + + // calcPr + $this->_writeCalcPr($objWriter,$recalcRequired); + + $objWriter->endElement(); + + // Return + return $objWriter->getData(); + } + + /** + * Write file version + * + * @param PHPExcel_Shared_XMLWriter $objWriter XML Writer + * @throws PHPExcel_Writer_Exception + */ + private function _writeFileVersion(PHPExcel_Shared_XMLWriter $objWriter = null) + { + $objWriter->startElement('fileVersion'); + $objWriter->writeAttribute('appName', 'xl'); + $objWriter->writeAttribute('lastEdited', '4'); + $objWriter->writeAttribute('lowestEdited', '4'); + $objWriter->writeAttribute('rupBuild', '4505'); + $objWriter->endElement(); + } + + /** + * Write WorkbookPr + * + * @param PHPExcel_Shared_XMLWriter $objWriter XML Writer + * @throws PHPExcel_Writer_Exception + */ + private function _writeWorkbookPr(PHPExcel_Shared_XMLWriter $objWriter = null) + { + $objWriter->startElement('workbookPr'); + + if (PHPExcel_Shared_Date::getExcelCalendar() == PHPExcel_Shared_Date::CALENDAR_MAC_1904) { + $objWriter->writeAttribute('date1904', '1'); + } + + $objWriter->writeAttribute('codeName', 'ThisWorkbook'); + + $objWriter->endElement(); + } + + /** + * Write BookViews + * + * @param PHPExcel_Shared_XMLWriter $objWriter XML Writer + * @param PHPExcel $pPHPExcel + * @throws PHPExcel_Writer_Exception + */ + private function _writeBookViews(PHPExcel_Shared_XMLWriter $objWriter = null, PHPExcel $pPHPExcel = null) + { + // bookViews + $objWriter->startElement('bookViews'); + + // workbookView + $objWriter->startElement('workbookView'); + + $objWriter->writeAttribute('activeTab', $pPHPExcel->getActiveSheetIndex()); + $objWriter->writeAttribute('autoFilterDateGrouping', '1'); + $objWriter->writeAttribute('firstSheet', '0'); + $objWriter->writeAttribute('minimized', '0'); + $objWriter->writeAttribute('showHorizontalScroll', '1'); + $objWriter->writeAttribute('showSheetTabs', '1'); + $objWriter->writeAttribute('showVerticalScroll', '1'); + $objWriter->writeAttribute('tabRatio', '600'); + $objWriter->writeAttribute('visibility', 'visible'); + + $objWriter->endElement(); + + $objWriter->endElement(); + } + + /** + * Write WorkbookProtection + * + * @param PHPExcel_Shared_XMLWriter $objWriter XML Writer + * @param PHPExcel $pPHPExcel + * @throws PHPExcel_Writer_Exception + */ + private function _writeWorkbookProtection(PHPExcel_Shared_XMLWriter $objWriter = null, PHPExcel $pPHPExcel = null) + { + if ($pPHPExcel->getSecurity()->isSecurityEnabled()) { + $objWriter->startElement('workbookProtection'); + $objWriter->writeAttribute('lockRevision', ($pPHPExcel->getSecurity()->getLockRevision() ? 'true' : 'false')); + $objWriter->writeAttribute('lockStructure', ($pPHPExcel->getSecurity()->getLockStructure() ? 'true' : 'false')); + $objWriter->writeAttribute('lockWindows', ($pPHPExcel->getSecurity()->getLockWindows() ? 'true' : 'false')); + + if ($pPHPExcel->getSecurity()->getRevisionsPassword() != '') { + $objWriter->writeAttribute('revisionsPassword', $pPHPExcel->getSecurity()->getRevisionsPassword()); + } + + if ($pPHPExcel->getSecurity()->getWorkbookPassword() != '') { + $objWriter->writeAttribute('workbookPassword', $pPHPExcel->getSecurity()->getWorkbookPassword()); + } + + $objWriter->endElement(); + } + } + + /** + * Write calcPr + * + * @param PHPExcel_Shared_XMLWriter $objWriter XML Writer + * @param boolean $recalcRequired Indicate whether formulas should be recalculated before writing + * @throws PHPExcel_Writer_Exception + */ + private function _writeCalcPr(PHPExcel_Shared_XMLWriter $objWriter = null, $recalcRequired = TRUE) + { + $objWriter->startElement('calcPr'); + + // Set the calcid to a higher value than Excel itself will use, otherwise Excel will always recalc + // If MS Excel does do a recalc, then users opening a file in MS Excel will be prompted to save on exit + // because the file has changed + $objWriter->writeAttribute('calcId', '999999'); + $objWriter->writeAttribute('calcMode', 'auto'); + // fullCalcOnLoad isn't needed if we've recalculating for the save + $objWriter->writeAttribute('calcCompleted', ($recalcRequired) ? 1 : 0); + $objWriter->writeAttribute('fullCalcOnLoad', ($recalcRequired) ? 0 : 1); + + $objWriter->endElement(); + } + + /** + * Write sheets + * + * @param PHPExcel_Shared_XMLWriter $objWriter XML Writer + * @param PHPExcel $pPHPExcel + * @throws PHPExcel_Writer_Exception + */ + private function _writeSheets(PHPExcel_Shared_XMLWriter $objWriter = null, PHPExcel $pPHPExcel = null) + { + // Write sheets + $objWriter->startElement('sheets'); + $sheetCount = $pPHPExcel->getSheetCount(); + for ($i = 0; $i < $sheetCount; ++$i) { + // sheet + $this->_writeSheet( + $objWriter, + $pPHPExcel->getSheet($i)->getTitle(), + ($i + 1), + ($i + 1 + 3), + $pPHPExcel->getSheet($i)->getSheetState() + ); + } + + $objWriter->endElement(); + } + + /** + * Write sheet + * + * @param PHPExcel_Shared_XMLWriter $objWriter XML Writer + * @param string $pSheetname Sheet name + * @param int $pSheetId Sheet id + * @param int $pRelId Relationship ID + * @param string $sheetState Sheet state (visible, hidden, veryHidden) + * @throws PHPExcel_Writer_Exception + */ + private function _writeSheet(PHPExcel_Shared_XMLWriter $objWriter = null, $pSheetname = '', $pSheetId = 1, $pRelId = 1, $sheetState = 'visible') + { + if ($pSheetname != '') { + // Write sheet + $objWriter->startElement('sheet'); + $objWriter->writeAttribute('name', $pSheetname); + $objWriter->writeAttribute('sheetId', $pSheetId); + if ($sheetState != 'visible' && $sheetState != '') { + $objWriter->writeAttribute('state', $sheetState); + } + $objWriter->writeAttribute('r:id', 'rId' . $pRelId); + $objWriter->endElement(); + } else { + throw new PHPExcel_Writer_Exception("Invalid parameters passed."); + } + } + + /** + * Write Defined Names + * + * @param PHPExcel_Shared_XMLWriter $objWriter XML Writer + * @param PHPExcel $pPHPExcel + * @throws PHPExcel_Writer_Exception + */ + private function _writeDefinedNames(PHPExcel_Shared_XMLWriter $objWriter = null, PHPExcel $pPHPExcel = null) + { + // Write defined names + $objWriter->startElement('definedNames'); + + // Named ranges + if (count($pPHPExcel->getNamedRanges()) > 0) { + // Named ranges + $this->_writeNamedRanges($objWriter, $pPHPExcel); + } + + // Other defined names + $sheetCount = $pPHPExcel->getSheetCount(); + for ($i = 0; $i < $sheetCount; ++$i) { + // definedName for autoFilter + $this->_writeDefinedNameForAutofilter($objWriter, $pPHPExcel->getSheet($i), $i); + + // definedName for Print_Titles + $this->_writeDefinedNameForPrintTitles($objWriter, $pPHPExcel->getSheet($i), $i); + + // definedName for Print_Area + $this->_writeDefinedNameForPrintArea($objWriter, $pPHPExcel->getSheet($i), $i); + } + + $objWriter->endElement(); + } + + /** + * Write named ranges + * + * @param PHPExcel_Shared_XMLWriter $objWriter XML Writer + * @param PHPExcel $pPHPExcel + * @throws PHPExcel_Writer_Exception + */ + private function _writeNamedRanges(PHPExcel_Shared_XMLWriter $objWriter = null, PHPExcel $pPHPExcel) + { + // Loop named ranges + $namedRanges = $pPHPExcel->getNamedRanges(); + foreach ($namedRanges as $namedRange) { + $this->_writeDefinedNameForNamedRange($objWriter, $namedRange); + } + } + + /** + * Write Defined Name for named range + * + * @param PHPExcel_Shared_XMLWriter $objWriter XML Writer + * @param PHPExcel_NamedRange $pNamedRange + * @throws PHPExcel_Writer_Exception + */ + private function _writeDefinedNameForNamedRange(PHPExcel_Shared_XMLWriter $objWriter = null, PHPExcel_NamedRange $pNamedRange) + { + // definedName for named range + $objWriter->startElement('definedName'); + $objWriter->writeAttribute('name', $pNamedRange->getName()); + if ($pNamedRange->getLocalOnly()) { + $objWriter->writeAttribute('localSheetId', $pNamedRange->getScope()->getParent()->getIndex($pNamedRange->getScope())); + } + + // Create absolute coordinate and write as raw text + $range = PHPExcel_Cell::splitRange($pNamedRange->getRange()); + for ($i = 0; $i < count($range); $i++) { + $range[$i][0] = '\'' . str_replace("'", "''", $pNamedRange->getWorksheet()->getTitle()) . '\'!' . PHPExcel_Cell::absoluteReference($range[$i][0]); + if (isset($range[$i][1])) { + $range[$i][1] = PHPExcel_Cell::absoluteReference($range[$i][1]); + } + } + $range = PHPExcel_Cell::buildRange($range); + + $objWriter->writeRawData($range); + + $objWriter->endElement(); + } + + /** + * Write Defined Name for autoFilter + * + * @param PHPExcel_Shared_XMLWriter $objWriter XML Writer + * @param PHPExcel_Worksheet $pSheet + * @param int $pSheetId + * @throws PHPExcel_Writer_Exception + */ + private function _writeDefinedNameForAutofilter(PHPExcel_Shared_XMLWriter $objWriter = null, PHPExcel_Worksheet $pSheet = null, $pSheetId = 0) + { + // definedName for autoFilter + $autoFilterRange = $pSheet->getAutoFilter()->getRange(); + if (!empty($autoFilterRange)) { + $objWriter->startElement('definedName'); + $objWriter->writeAttribute('name', '_xlnm._FilterDatabase'); + $objWriter->writeAttribute('localSheetId', $pSheetId); + $objWriter->writeAttribute('hidden', '1'); + + // Create absolute coordinate and write as raw text + $range = PHPExcel_Cell::splitRange($autoFilterRange); + $range = $range[0]; + // Strip any worksheet ref so we can make the cell ref absolute + if (strpos($range[0],'!') !== false) { + list($ws,$range[0]) = explode('!',$range[0]); + } + + $range[0] = PHPExcel_Cell::absoluteCoordinate($range[0]); + $range[1] = PHPExcel_Cell::absoluteCoordinate($range[1]); + $range = implode(':', $range); + + $objWriter->writeRawData('\'' . str_replace("'", "''", $pSheet->getTitle()) . '\'!' . $range); + + $objWriter->endElement(); + } + } + + /** + * Write Defined Name for PrintTitles + * + * @param PHPExcel_Shared_XMLWriter $objWriter XML Writer + * @param PHPExcel_Worksheet $pSheet + * @param int $pSheetId + * @throws PHPExcel_Writer_Exception + */ + private function _writeDefinedNameForPrintTitles(PHPExcel_Shared_XMLWriter $objWriter = null, PHPExcel_Worksheet $pSheet = null, $pSheetId = 0) + { + // definedName for PrintTitles + if ($pSheet->getPageSetup()->isColumnsToRepeatAtLeftSet() || $pSheet->getPageSetup()->isRowsToRepeatAtTopSet()) { + $objWriter->startElement('definedName'); + $objWriter->writeAttribute('name', '_xlnm.Print_Titles'); + $objWriter->writeAttribute('localSheetId', $pSheetId); + + // Setting string + $settingString = ''; + + // Columns to repeat + if ($pSheet->getPageSetup()->isColumnsToRepeatAtLeftSet()) { + $repeat = $pSheet->getPageSetup()->getColumnsToRepeatAtLeft(); + + $settingString .= '\'' . str_replace("'", "''", $pSheet->getTitle()) . '\'!$' . $repeat[0] . ':$' . $repeat[1]; + } + + // Rows to repeat + if ($pSheet->getPageSetup()->isRowsToRepeatAtTopSet()) { + if ($pSheet->getPageSetup()->isColumnsToRepeatAtLeftSet()) { + $settingString .= ','; + } + + $repeat = $pSheet->getPageSetup()->getRowsToRepeatAtTop(); + + $settingString .= '\'' . str_replace("'", "''", $pSheet->getTitle()) . '\'!$' . $repeat[0] . ':$' . $repeat[1]; + } + + $objWriter->writeRawData($settingString); + + $objWriter->endElement(); + } + } + + /** + * Write Defined Name for PrintTitles + * + * @param PHPExcel_Shared_XMLWriter $objWriter XML Writer + * @param PHPExcel_Worksheet $pSheet + * @param int $pSheetId + * @throws PHPExcel_Writer_Exception + */ + private function _writeDefinedNameForPrintArea(PHPExcel_Shared_XMLWriter $objWriter = null, PHPExcel_Worksheet $pSheet = null, $pSheetId = 0) + { + // definedName for PrintArea + if ($pSheet->getPageSetup()->isPrintAreaSet()) { + $objWriter->startElement('definedName'); + $objWriter->writeAttribute('name', '_xlnm.Print_Area'); + $objWriter->writeAttribute('localSheetId', $pSheetId); + + // Setting string + $settingString = ''; + + // Print area + $printArea = PHPExcel_Cell::splitRange($pSheet->getPageSetup()->getPrintArea()); + + $chunks = array(); + foreach ($printArea as $printAreaRect) { + $printAreaRect[0] = PHPExcel_Cell::absoluteReference($printAreaRect[0]); + $printAreaRect[1] = PHPExcel_Cell::absoluteReference($printAreaRect[1]); + $chunks[] = '\'' . str_replace("'", "''", $pSheet->getTitle()) . '\'!' . implode(':', $printAreaRect); + } + + $objWriter->writeRawData(implode(',', $chunks)); + + $objWriter->endElement(); + } + } +} diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/Excel2007/Worksheet.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/Excel2007/Worksheet.php new file mode 100644 index 00000000..5cb803e5 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/Excel2007/Worksheet.php @@ -0,0 +1,1220 @@ +<?php +/** + * PHPExcel + * + * Copyright (c) 2006 - 2014 PHPExcel + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * @category PHPExcel + * @package PHPExcel_Writer_Excel2007 + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @version ##VERSION##, ##DATE## + */ + + +/** + * PHPExcel_Writer_Excel2007_Worksheet + * + * @category PHPExcel + * @package PHPExcel_Writer_Excel2007 + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + */ +class PHPExcel_Writer_Excel2007_Worksheet extends PHPExcel_Writer_Excel2007_WriterPart +{ + /** + * Write worksheet to XML format + * + * @param PHPExcel_Worksheet $pSheet + * @param string[] $pStringTable + * @param boolean $includeCharts Flag indicating if we should write charts + * @return string XML Output + * @throws PHPExcel_Writer_Exception + */ + public function writeWorksheet($pSheet = null, $pStringTable = null, $includeCharts = FALSE) + { + if (!is_null($pSheet)) { + // Create XML writer + $objWriter = null; + if ($this->getParentWriter()->getUseDiskCaching()) { + $objWriter = new PHPExcel_Shared_XMLWriter(PHPExcel_Shared_XMLWriter::STORAGE_DISK, $this->getParentWriter()->getDiskCachingDirectory()); + } else { + $objWriter = new PHPExcel_Shared_XMLWriter(PHPExcel_Shared_XMLWriter::STORAGE_MEMORY); + } + + // XML header + $objWriter->startDocument('1.0','UTF-8','yes'); + + // Worksheet + $objWriter->startElement('worksheet'); + $objWriter->writeAttribute('xml:space', 'preserve'); + $objWriter->writeAttribute('xmlns', 'http://schemas.openxmlformats.org/spreadsheetml/2006/main'); + $objWriter->writeAttribute('xmlns:r', 'http://schemas.openxmlformats.org/officeDocument/2006/relationships'); + + // sheetPr + $this->_writeSheetPr($objWriter, $pSheet); + + // Dimension + $this->_writeDimension($objWriter, $pSheet); + + // sheetViews + $this->_writeSheetViews($objWriter, $pSheet); + + // sheetFormatPr + $this->_writeSheetFormatPr($objWriter, $pSheet); + + // cols + $this->_writeCols($objWriter, $pSheet); + + // sheetData + $this->_writeSheetData($objWriter, $pSheet, $pStringTable); + + // sheetProtection + $this->_writeSheetProtection($objWriter, $pSheet); + + // protectedRanges + $this->_writeProtectedRanges($objWriter, $pSheet); + + // autoFilter + $this->_writeAutoFilter($objWriter, $pSheet); + + // mergeCells + $this->_writeMergeCells($objWriter, $pSheet); + + // conditionalFormatting + $this->_writeConditionalFormatting($objWriter, $pSheet); + + // dataValidations + $this->_writeDataValidations($objWriter, $pSheet); + + // hyperlinks + $this->_writeHyperlinks($objWriter, $pSheet); + + // Print options + $this->_writePrintOptions($objWriter, $pSheet); + + // Page margins + $this->_writePageMargins($objWriter, $pSheet); + + // Page setup + $this->_writePageSetup($objWriter, $pSheet); + + // Header / footer + $this->_writeHeaderFooter($objWriter, $pSheet); + + // Breaks + $this->_writeBreaks($objWriter, $pSheet); + + // Drawings and/or Charts + $this->_writeDrawings($objWriter, $pSheet, $includeCharts); + + // LegacyDrawing + $this->_writeLegacyDrawing($objWriter, $pSheet); + + // LegacyDrawingHF + $this->_writeLegacyDrawingHF($objWriter, $pSheet); + + $objWriter->endElement(); + + // Return + return $objWriter->getData(); + } else { + throw new PHPExcel_Writer_Exception("Invalid PHPExcel_Worksheet object passed."); + } + } + + /** + * Write SheetPr + * + * @param PHPExcel_Shared_XMLWriter $objWriter XML Writer + * @param PHPExcel_Worksheet $pSheet Worksheet + * @throws PHPExcel_Writer_Exception + */ + private function _writeSheetPr(PHPExcel_Shared_XMLWriter $objWriter = null, PHPExcel_Worksheet $pSheet = null) + { + // sheetPr + $objWriter->startElement('sheetPr'); + //$objWriter->writeAttribute('codeName', $pSheet->getTitle()); + if($pSheet->getParent()->hasMacros()){//if the workbook have macros, we need to have codeName for the sheet + if($pSheet->hasCodeName()==false){ + $pSheet->setCodeName($pSheet->getTitle()); + } + $objWriter->writeAttribute('codeName', $pSheet->getCodeName()); + } + $autoFilterRange = $pSheet->getAutoFilter()->getRange(); + if (!empty($autoFilterRange)) { + $objWriter->writeAttribute('filterMode', 1); + $pSheet->getAutoFilter()->showHideRows(); + } + + // tabColor + if ($pSheet->isTabColorSet()) { + $objWriter->startElement('tabColor'); + $objWriter->writeAttribute('rgb', $pSheet->getTabColor()->getARGB()); + $objWriter->endElement(); + } + + // outlinePr + $objWriter->startElement('outlinePr'); + $objWriter->writeAttribute('summaryBelow', ($pSheet->getShowSummaryBelow() ? '1' : '0')); + $objWriter->writeAttribute('summaryRight', ($pSheet->getShowSummaryRight() ? '1' : '0')); + $objWriter->endElement(); + + // pageSetUpPr + if ($pSheet->getPageSetup()->getFitToPage()) { + $objWriter->startElement('pageSetUpPr'); + $objWriter->writeAttribute('fitToPage', '1'); + $objWriter->endElement(); + } + + $objWriter->endElement(); + } + + /** + * Write Dimension + * + * @param PHPExcel_Shared_XMLWriter $objWriter XML Writer + * @param PHPExcel_Worksheet $pSheet Worksheet + * @throws PHPExcel_Writer_Exception + */ + private function _writeDimension(PHPExcel_Shared_XMLWriter $objWriter = null, PHPExcel_Worksheet $pSheet = null) + { + // dimension + $objWriter->startElement('dimension'); + $objWriter->writeAttribute('ref', $pSheet->calculateWorksheetDimension()); + $objWriter->endElement(); + } + + /** + * Write SheetViews + * + * @param PHPExcel_Shared_XMLWriter $objWriter XML Writer + * @param PHPExcel_Worksheet $pSheet Worksheet + * @throws PHPExcel_Writer_Exception + */ + private function _writeSheetViews(PHPExcel_Shared_XMLWriter $objWriter = NULL, PHPExcel_Worksheet $pSheet = NULL) + { + // sheetViews + $objWriter->startElement('sheetViews'); + + // Sheet selected? + $sheetSelected = false; + if ($this->getParentWriter()->getPHPExcel()->getIndex($pSheet) == $this->getParentWriter()->getPHPExcel()->getActiveSheetIndex()) + $sheetSelected = true; + + + // sheetView + $objWriter->startElement('sheetView'); + $objWriter->writeAttribute('tabSelected', $sheetSelected ? '1' : '0'); + $objWriter->writeAttribute('workbookViewId', '0'); + + // Zoom scales + if ($pSheet->getSheetView()->getZoomScale() != 100) { + $objWriter->writeAttribute('zoomScale', $pSheet->getSheetView()->getZoomScale()); + } + if ($pSheet->getSheetView()->getZoomScaleNormal() != 100) { + $objWriter->writeAttribute('zoomScaleNormal', $pSheet->getSheetView()->getZoomScaleNormal()); + } + + // View Layout Type + if ($pSheet->getSheetView()->getView() !== PHPExcel_Worksheet_SheetView::SHEETVIEW_NORMAL) { + $objWriter->writeAttribute('view', $pSheet->getSheetView()->getView()); + } + + // Gridlines + if ($pSheet->getShowGridlines()) { + $objWriter->writeAttribute('showGridLines', 'true'); + } else { + $objWriter->writeAttribute('showGridLines', 'false'); + } + + // Row and column headers + if ($pSheet->getShowRowColHeaders()) { + $objWriter->writeAttribute('showRowColHeaders', '1'); + } else { + $objWriter->writeAttribute('showRowColHeaders', '0'); + } + + // Right-to-left + if ($pSheet->getRightToLeft()) { + $objWriter->writeAttribute('rightToLeft', 'true'); + } + + $activeCell = $pSheet->getActiveCell(); + + // Pane + $pane = ''; + $topLeftCell = $pSheet->getFreezePane(); + if (($topLeftCell != '') && ($topLeftCell != 'A1')) { + $activeCell = $topLeftCell; + // Calculate freeze coordinates + $xSplit = $ySplit = 0; + + list($xSplit, $ySplit) = PHPExcel_Cell::coordinateFromString($topLeftCell); + $xSplit = PHPExcel_Cell::columnIndexFromString($xSplit); + + // pane + $pane = 'topRight'; + $objWriter->startElement('pane'); + if ($xSplit > 1) + $objWriter->writeAttribute('xSplit', $xSplit - 1); + if ($ySplit > 1) { + $objWriter->writeAttribute('ySplit', $ySplit - 1); + $pane = ($xSplit > 1) ? 'bottomRight' : 'bottomLeft'; + } + $objWriter->writeAttribute('topLeftCell', $topLeftCell); + $objWriter->writeAttribute('activePane', $pane); + $objWriter->writeAttribute('state', 'frozen'); + $objWriter->endElement(); + + if (($xSplit > 1) && ($ySplit > 1)) { + // Write additional selections if more than two panes (ie both an X and a Y split) + $objWriter->startElement('selection'); $objWriter->writeAttribute('pane', 'topRight'); $objWriter->endElement(); + $objWriter->startElement('selection'); $objWriter->writeAttribute('pane', 'bottomLeft'); $objWriter->endElement(); + } + } + + // Selection +// if ($pane != '') { + // Only need to write selection element if we have a split pane + // We cheat a little by over-riding the active cell selection, setting it to the split cell + $objWriter->startElement('selection'); + if ($pane != '') { + $objWriter->writeAttribute('pane', $pane); + } + $objWriter->writeAttribute('activeCell', $activeCell); + $objWriter->writeAttribute('sqref', $activeCell); + $objWriter->endElement(); +// } + + $objWriter->endElement(); + + $objWriter->endElement(); + } + + /** + * Write SheetFormatPr + * + * @param PHPExcel_Shared_XMLWriter $objWriter XML Writer + * @param PHPExcel_Worksheet $pSheet Worksheet + * @throws PHPExcel_Writer_Exception + */ + private function _writeSheetFormatPr(PHPExcel_Shared_XMLWriter $objWriter = null, PHPExcel_Worksheet $pSheet = null) + { + // sheetFormatPr + $objWriter->startElement('sheetFormatPr'); + + // Default row height + if ($pSheet->getDefaultRowDimension()->getRowHeight() >= 0) { + $objWriter->writeAttribute('customHeight', 'true'); + $objWriter->writeAttribute('defaultRowHeight', PHPExcel_Shared_String::FormatNumber($pSheet->getDefaultRowDimension()->getRowHeight())); + } else { + $objWriter->writeAttribute('defaultRowHeight', '14.4'); + } + + // Set Zero Height row + if ((string)$pSheet->getDefaultRowDimension()->getZeroHeight() == '1' || + strtolower((string)$pSheet->getDefaultRowDimension()->getZeroHeight()) == 'true' ) { + $objWriter->writeAttribute('zeroHeight', '1'); + } + + // Default column width + if ($pSheet->getDefaultColumnDimension()->getWidth() >= 0) { + $objWriter->writeAttribute('defaultColWidth', PHPExcel_Shared_String::FormatNumber($pSheet->getDefaultColumnDimension()->getWidth())); + } + + // Outline level - row + $outlineLevelRow = 0; + foreach ($pSheet->getRowDimensions() as $dimension) { + if ($dimension->getOutlineLevel() > $outlineLevelRow) { + $outlineLevelRow = $dimension->getOutlineLevel(); + } + } + $objWriter->writeAttribute('outlineLevelRow', (int)$outlineLevelRow); + + // Outline level - column + $outlineLevelCol = 0; + foreach ($pSheet->getColumnDimensions() as $dimension) { + if ($dimension->getOutlineLevel() > $outlineLevelCol) { + $outlineLevelCol = $dimension->getOutlineLevel(); + } + } + $objWriter->writeAttribute('outlineLevelCol', (int)$outlineLevelCol); + + $objWriter->endElement(); + } + + /** + * Write Cols + * + * @param PHPExcel_Shared_XMLWriter $objWriter XML Writer + * @param PHPExcel_Worksheet $pSheet Worksheet + * @throws PHPExcel_Writer_Exception + */ + private function _writeCols(PHPExcel_Shared_XMLWriter $objWriter = null, PHPExcel_Worksheet $pSheet = null) + { + // cols + if (count($pSheet->getColumnDimensions()) > 0) { + $objWriter->startElement('cols'); + + $pSheet->calculateColumnWidths(); + + // Loop through column dimensions + foreach ($pSheet->getColumnDimensions() as $colDimension) { + // col + $objWriter->startElement('col'); + $objWriter->writeAttribute('min', PHPExcel_Cell::columnIndexFromString($colDimension->getColumnIndex())); + $objWriter->writeAttribute('max', PHPExcel_Cell::columnIndexFromString($colDimension->getColumnIndex())); + + if ($colDimension->getWidth() < 0) { + // No width set, apply default of 10 + $objWriter->writeAttribute('width', '9.10'); + } else { + // Width set + $objWriter->writeAttribute('width', PHPExcel_Shared_String::FormatNumber($colDimension->getWidth())); + } + + // Column visibility + if ($colDimension->getVisible() == false) { + $objWriter->writeAttribute('hidden', 'true'); + } + + // Auto size? + if ($colDimension->getAutoSize()) { + $objWriter->writeAttribute('bestFit', 'true'); + } + + // Custom width? + if ($colDimension->getWidth() != $pSheet->getDefaultColumnDimension()->getWidth()) { + $objWriter->writeAttribute('customWidth', 'true'); + } + + // Collapsed + if ($colDimension->getCollapsed() == true) { + $objWriter->writeAttribute('collapsed', 'true'); + } + + // Outline level + if ($colDimension->getOutlineLevel() > 0) { + $objWriter->writeAttribute('outlineLevel', $colDimension->getOutlineLevel()); + } + + // Style + $objWriter->writeAttribute('style', $colDimension->getXfIndex()); + + $objWriter->endElement(); + } + + $objWriter->endElement(); + } + } + + /** + * Write SheetProtection + * + * @param PHPExcel_Shared_XMLWriter $objWriter XML Writer + * @param PHPExcel_Worksheet $pSheet Worksheet + * @throws PHPExcel_Writer_Exception + */ + private function _writeSheetProtection(PHPExcel_Shared_XMLWriter $objWriter = null, PHPExcel_Worksheet $pSheet = null) + { + // sheetProtection + $objWriter->startElement('sheetProtection'); + + if ($pSheet->getProtection()->getPassword() != '') { + $objWriter->writeAttribute('password', $pSheet->getProtection()->getPassword()); + } + + $objWriter->writeAttribute('sheet', ($pSheet->getProtection()->getSheet() ? 'true' : 'false')); + $objWriter->writeAttribute('objects', ($pSheet->getProtection()->getObjects() ? 'true' : 'false')); + $objWriter->writeAttribute('scenarios', ($pSheet->getProtection()->getScenarios() ? 'true' : 'false')); + $objWriter->writeAttribute('formatCells', ($pSheet->getProtection()->getFormatCells() ? 'true' : 'false')); + $objWriter->writeAttribute('formatColumns', ($pSheet->getProtection()->getFormatColumns() ? 'true' : 'false')); + $objWriter->writeAttribute('formatRows', ($pSheet->getProtection()->getFormatRows() ? 'true' : 'false')); + $objWriter->writeAttribute('insertColumns', ($pSheet->getProtection()->getInsertColumns() ? 'true' : 'false')); + $objWriter->writeAttribute('insertRows', ($pSheet->getProtection()->getInsertRows() ? 'true' : 'false')); + $objWriter->writeAttribute('insertHyperlinks', ($pSheet->getProtection()->getInsertHyperlinks() ? 'true' : 'false')); + $objWriter->writeAttribute('deleteColumns', ($pSheet->getProtection()->getDeleteColumns() ? 'true' : 'false')); + $objWriter->writeAttribute('deleteRows', ($pSheet->getProtection()->getDeleteRows() ? 'true' : 'false')); + $objWriter->writeAttribute('selectLockedCells', ($pSheet->getProtection()->getSelectLockedCells() ? 'true' : 'false')); + $objWriter->writeAttribute('sort', ($pSheet->getProtection()->getSort() ? 'true' : 'false')); + $objWriter->writeAttribute('autoFilter', ($pSheet->getProtection()->getAutoFilter() ? 'true' : 'false')); + $objWriter->writeAttribute('pivotTables', ($pSheet->getProtection()->getPivotTables() ? 'true' : 'false')); + $objWriter->writeAttribute('selectUnlockedCells', ($pSheet->getProtection()->getSelectUnlockedCells() ? 'true' : 'false')); + $objWriter->endElement(); + } + + /** + * Write ConditionalFormatting + * + * @param PHPExcel_Shared_XMLWriter $objWriter XML Writer + * @param PHPExcel_Worksheet $pSheet Worksheet + * @throws PHPExcel_Writer_Exception + */ + private function _writeConditionalFormatting(PHPExcel_Shared_XMLWriter $objWriter = null, PHPExcel_Worksheet $pSheet = null) + { + // Conditional id + $id = 1; + + // Loop through styles in the current worksheet + foreach ($pSheet->getConditionalStylesCollection() as $cellCoordinate => $conditionalStyles) { + foreach ($conditionalStyles as $conditional) { + // WHY was this again? + // if ($this->getParentWriter()->getStylesConditionalHashTable()->getIndexForHashCode( $conditional->getHashCode() ) == '') { + // continue; + // } + if ($conditional->getConditionType() != PHPExcel_Style_Conditional::CONDITION_NONE) { + // conditionalFormatting + $objWriter->startElement('conditionalFormatting'); + $objWriter->writeAttribute('sqref', $cellCoordinate); + + // cfRule + $objWriter->startElement('cfRule'); + $objWriter->writeAttribute('type', $conditional->getConditionType()); + $objWriter->writeAttribute('dxfId', $this->getParentWriter()->getStylesConditionalHashTable()->getIndexForHashCode( $conditional->getHashCode() )); + $objWriter->writeAttribute('priority', $id++); + + if (($conditional->getConditionType() == PHPExcel_Style_Conditional::CONDITION_CELLIS + || + $conditional->getConditionType() == PHPExcel_Style_Conditional::CONDITION_CONTAINSTEXT) + && $conditional->getOperatorType() != PHPExcel_Style_Conditional::OPERATOR_NONE) { + $objWriter->writeAttribute('operator', $conditional->getOperatorType()); + } + + if ($conditional->getConditionType() == PHPExcel_Style_Conditional::CONDITION_CONTAINSTEXT + && !is_null($conditional->getText())) { + $objWriter->writeAttribute('text', $conditional->getText()); + } + + if ($conditional->getConditionType() == PHPExcel_Style_Conditional::CONDITION_CONTAINSTEXT + && $conditional->getOperatorType() == PHPExcel_Style_Conditional::OPERATOR_CONTAINSTEXT + && !is_null($conditional->getText())) { + $objWriter->writeElement('formula', 'NOT(ISERROR(SEARCH("' . $conditional->getText() . '",' . $cellCoordinate . ')))'); + } else if ($conditional->getConditionType() == PHPExcel_Style_Conditional::CONDITION_CONTAINSTEXT + && $conditional->getOperatorType() == PHPExcel_Style_Conditional::OPERATOR_BEGINSWITH + && !is_null($conditional->getText())) { + $objWriter->writeElement('formula', 'LEFT(' . $cellCoordinate . ',' . strlen($conditional->getText()) . ')="' . $conditional->getText() . '"'); + } else if ($conditional->getConditionType() == PHPExcel_Style_Conditional::CONDITION_CONTAINSTEXT + && $conditional->getOperatorType() == PHPExcel_Style_Conditional::OPERATOR_ENDSWITH + && !is_null($conditional->getText())) { + $objWriter->writeElement('formula', 'RIGHT(' . $cellCoordinate . ',' . strlen($conditional->getText()) . ')="' . $conditional->getText() . '"'); + } else if ($conditional->getConditionType() == PHPExcel_Style_Conditional::CONDITION_CONTAINSTEXT + && $conditional->getOperatorType() == PHPExcel_Style_Conditional::OPERATOR_NOTCONTAINS + && !is_null($conditional->getText())) { + $objWriter->writeElement('formula', 'ISERROR(SEARCH("' . $conditional->getText() . '",' . $cellCoordinate . '))'); + } else if ($conditional->getConditionType() == PHPExcel_Style_Conditional::CONDITION_CELLIS + || $conditional->getConditionType() == PHPExcel_Style_Conditional::CONDITION_CONTAINSTEXT + || $conditional->getConditionType() == PHPExcel_Style_Conditional::CONDITION_EXPRESSION) { + foreach ($conditional->getConditions() as $formula) { + // Formula + $objWriter->writeElement('formula', $formula); + } + } + + $objWriter->endElement(); + + $objWriter->endElement(); + } + } + } + } + + /** + * Write DataValidations + * + * @param PHPExcel_Shared_XMLWriter $objWriter XML Writer + * @param PHPExcel_Worksheet $pSheet Worksheet + * @throws PHPExcel_Writer_Exception + */ + private function _writeDataValidations(PHPExcel_Shared_XMLWriter $objWriter = null, PHPExcel_Worksheet $pSheet = null) + { + // Datavalidation collection + $dataValidationCollection = $pSheet->getDataValidationCollection(); + + // Write data validations? + if (!empty($dataValidationCollection)) { + $objWriter->startElement('dataValidations'); + $objWriter->writeAttribute('count', count($dataValidationCollection)); + + foreach ($dataValidationCollection as $coordinate => $dv) { + $objWriter->startElement('dataValidation'); + + if ($dv->getType() != '') { + $objWriter->writeAttribute('type', $dv->getType()); + } + + if ($dv->getErrorStyle() != '') { + $objWriter->writeAttribute('errorStyle', $dv->getErrorStyle()); + } + + if ($dv->getOperator() != '') { + $objWriter->writeAttribute('operator', $dv->getOperator()); + } + + $objWriter->writeAttribute('allowBlank', ($dv->getAllowBlank() ? '1' : '0')); + $objWriter->writeAttribute('showDropDown', (!$dv->getShowDropDown() ? '1' : '0')); + $objWriter->writeAttribute('showInputMessage', ($dv->getShowInputMessage() ? '1' : '0')); + $objWriter->writeAttribute('showErrorMessage', ($dv->getShowErrorMessage() ? '1' : '0')); + + if ($dv->getErrorTitle() !== '') { + $objWriter->writeAttribute('errorTitle', $dv->getErrorTitle()); + } + if ($dv->getError() !== '') { + $objWriter->writeAttribute('error', $dv->getError()); + } + if ($dv->getPromptTitle() !== '') { + $objWriter->writeAttribute('promptTitle', $dv->getPromptTitle()); + } + if ($dv->getPrompt() !== '') { + $objWriter->writeAttribute('prompt', $dv->getPrompt()); + } + + $objWriter->writeAttribute('sqref', $coordinate); + + if ($dv->getFormula1() !== '') { + $objWriter->writeElement('formula1', $dv->getFormula1()); + } + if ($dv->getFormula2() !== '') { + $objWriter->writeElement('formula2', $dv->getFormula2()); + } + + $objWriter->endElement(); + } + + $objWriter->endElement(); + } + } + + /** + * Write Hyperlinks + * + * @param PHPExcel_Shared_XMLWriter $objWriter XML Writer + * @param PHPExcel_Worksheet $pSheet Worksheet + * @throws PHPExcel_Writer_Exception + */ + private function _writeHyperlinks(PHPExcel_Shared_XMLWriter $objWriter = null, PHPExcel_Worksheet $pSheet = null) + { + // Hyperlink collection + $hyperlinkCollection = $pSheet->getHyperlinkCollection(); + + // Relation ID + $relationId = 1; + + // Write hyperlinks? + if (!empty($hyperlinkCollection)) { + $objWriter->startElement('hyperlinks'); + + foreach ($hyperlinkCollection as $coordinate => $hyperlink) { + $objWriter->startElement('hyperlink'); + + $objWriter->writeAttribute('ref', $coordinate); + if (!$hyperlink->isInternal()) { + $objWriter->writeAttribute('r:id', 'rId_hyperlink_' . $relationId); + ++$relationId; + } else { + $objWriter->writeAttribute('location', str_replace('sheet://', '', $hyperlink->getUrl())); + } + + if ($hyperlink->getTooltip() != '') { + $objWriter->writeAttribute('tooltip', $hyperlink->getTooltip()); + } + + $objWriter->endElement(); + } + + $objWriter->endElement(); + } + } + + /** + * Write ProtectedRanges + * + * @param PHPExcel_Shared_XMLWriter $objWriter XML Writer + * @param PHPExcel_Worksheet $pSheet Worksheet + * @throws PHPExcel_Writer_Exception + */ + private function _writeProtectedRanges(PHPExcel_Shared_XMLWriter $objWriter = null, PHPExcel_Worksheet $pSheet = null) + { + if (count($pSheet->getProtectedCells()) > 0) { + // protectedRanges + $objWriter->startElement('protectedRanges'); + + // Loop protectedRanges + foreach ($pSheet->getProtectedCells() as $protectedCell => $passwordHash) { + // protectedRange + $objWriter->startElement('protectedRange'); + $objWriter->writeAttribute('name', 'p' . md5($protectedCell)); + $objWriter->writeAttribute('sqref', $protectedCell); + if (!empty($passwordHash)) { + $objWriter->writeAttribute('password', $passwordHash); + } + $objWriter->endElement(); + } + + $objWriter->endElement(); + } + } + + /** + * Write MergeCells + * + * @param PHPExcel_Shared_XMLWriter $objWriter XML Writer + * @param PHPExcel_Worksheet $pSheet Worksheet + * @throws PHPExcel_Writer_Exception + */ + private function _writeMergeCells(PHPExcel_Shared_XMLWriter $objWriter = null, PHPExcel_Worksheet $pSheet = null) + { + if (count($pSheet->getMergeCells()) > 0) { + // mergeCells + $objWriter->startElement('mergeCells'); + + // Loop mergeCells + foreach ($pSheet->getMergeCells() as $mergeCell) { + // mergeCell + $objWriter->startElement('mergeCell'); + $objWriter->writeAttribute('ref', $mergeCell); + $objWriter->endElement(); + } + + $objWriter->endElement(); + } + } + + /** + * Write PrintOptions + * + * @param PHPExcel_Shared_XMLWriter $objWriter XML Writer + * @param PHPExcel_Worksheet $pSheet Worksheet + * @throws PHPExcel_Writer_Exception + */ + private function _writePrintOptions(PHPExcel_Shared_XMLWriter $objWriter = null, PHPExcel_Worksheet $pSheet = null) + { + // printOptions + $objWriter->startElement('printOptions'); + + $objWriter->writeAttribute('gridLines', ($pSheet->getPrintGridlines() ? 'true': 'false')); + $objWriter->writeAttribute('gridLinesSet', 'true'); + + if ($pSheet->getPageSetup()->getHorizontalCentered()) { + $objWriter->writeAttribute('horizontalCentered', 'true'); + } + + if ($pSheet->getPageSetup()->getVerticalCentered()) { + $objWriter->writeAttribute('verticalCentered', 'true'); + } + + $objWriter->endElement(); + } + + /** + * Write PageMargins + * + * @param PHPExcel_Shared_XMLWriter $objWriter XML Writer + * @param PHPExcel_Worksheet $pSheet Worksheet + * @throws PHPExcel_Writer_Exception + */ + private function _writePageMargins(PHPExcel_Shared_XMLWriter $objWriter = null, PHPExcel_Worksheet $pSheet = null) + { + // pageMargins + $objWriter->startElement('pageMargins'); + $objWriter->writeAttribute('left', PHPExcel_Shared_String::FormatNumber($pSheet->getPageMargins()->getLeft())); + $objWriter->writeAttribute('right', PHPExcel_Shared_String::FormatNumber($pSheet->getPageMargins()->getRight())); + $objWriter->writeAttribute('top', PHPExcel_Shared_String::FormatNumber($pSheet->getPageMargins()->getTop())); + $objWriter->writeAttribute('bottom', PHPExcel_Shared_String::FormatNumber($pSheet->getPageMargins()->getBottom())); + $objWriter->writeAttribute('header', PHPExcel_Shared_String::FormatNumber($pSheet->getPageMargins()->getHeader())); + $objWriter->writeAttribute('footer', PHPExcel_Shared_String::FormatNumber($pSheet->getPageMargins()->getFooter())); + $objWriter->endElement(); + } + + /** + * Write AutoFilter + * + * @param PHPExcel_Shared_XMLWriter $objWriter XML Writer + * @param PHPExcel_Worksheet $pSheet Worksheet + * @throws PHPExcel_Writer_Exception + */ + private function _writeAutoFilter(PHPExcel_Shared_XMLWriter $objWriter = null, PHPExcel_Worksheet $pSheet = null) + { + $autoFilterRange = $pSheet->getAutoFilter()->getRange(); + if (!empty($autoFilterRange)) { + // autoFilter + $objWriter->startElement('autoFilter'); + + // Strip any worksheet reference from the filter coordinates + $range = PHPExcel_Cell::splitRange($autoFilterRange); + $range = $range[0]; + // Strip any worksheet ref + if (strpos($range[0],'!') !== false) { + list($ws,$range[0]) = explode('!',$range[0]); + } + $range = implode(':', $range); + + $objWriter->writeAttribute('ref', str_replace('$','',$range)); + + $columns = $pSheet->getAutoFilter()->getColumns(); + if (count($columns > 0)) { + foreach($columns as $columnID => $column) { + $rules = $column->getRules(); + if (count($rules > 0)) { + $objWriter->startElement('filterColumn'); + $objWriter->writeAttribute('colId', $pSheet->getAutoFilter()->getColumnOffset($columnID)); + + $objWriter->startElement( $column->getFilterType()); + if ($column->getJoin() == PHPExcel_Worksheet_AutoFilter_Column::AUTOFILTER_COLUMN_JOIN_AND) { + $objWriter->writeAttribute('and', 1); + } + + foreach ($rules as $rule) { + if (($column->getFilterType() === PHPExcel_Worksheet_AutoFilter_Column::AUTOFILTER_FILTERTYPE_FILTER) && + ($rule->getOperator() === PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_COLUMN_RULE_EQUAL) && + ($rule->getValue() === '')) { + // Filter rule for Blanks + $objWriter->writeAttribute('blank', 1); + } elseif($rule->getRuleType() === PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_RULETYPE_DYNAMICFILTER) { + // Dynamic Filter Rule + $objWriter->writeAttribute('type', $rule->getGrouping()); + $val = $column->getAttribute('val'); + if ($val !== NULL) { + $objWriter->writeAttribute('val', $val); + } + $maxVal = $column->getAttribute('maxVal'); + if ($maxVal !== NULL) { + $objWriter->writeAttribute('maxVal', $maxVal); + } + } elseif($rule->getRuleType() === PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_RULETYPE_TOPTENFILTER) { + // Top 10 Filter Rule + $objWriter->writeAttribute('val', $rule->getValue()); + $objWriter->writeAttribute('percent', (($rule->getOperator() === PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_COLUMN_RULE_TOPTEN_PERCENT) ? '1' : '0')); + $objWriter->writeAttribute('top', (($rule->getGrouping() === PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_COLUMN_RULE_TOPTEN_TOP) ? '1': '0')); + } else { + // Filter, DateGroupItem or CustomFilter + $objWriter->startElement($rule->getRuleType()); + + if ($rule->getOperator() !== PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_COLUMN_RULE_EQUAL) { + $objWriter->writeAttribute('operator', $rule->getOperator()); + } + if ($rule->getRuleType() === PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_RULETYPE_DATEGROUP) { + // Date Group filters + foreach($rule->getValue() as $key => $value) { + if ($value > '') $objWriter->writeAttribute($key, $value); + } + $objWriter->writeAttribute('dateTimeGrouping', $rule->getGrouping()); + } else { + $objWriter->writeAttribute('val', $rule->getValue()); + } + + $objWriter->endElement(); + } + } + + $objWriter->endElement(); + + $objWriter->endElement(); + } + } + } + + $objWriter->endElement(); + } + } + + /** + * Write PageSetup + * + * @param PHPExcel_Shared_XMLWriter $objWriter XML Writer + * @param PHPExcel_Worksheet $pSheet Worksheet + * @throws PHPExcel_Writer_Exception + */ + private function _writePageSetup(PHPExcel_Shared_XMLWriter $objWriter = null, PHPExcel_Worksheet $pSheet = null) + { + // pageSetup + $objWriter->startElement('pageSetup'); + $objWriter->writeAttribute('paperSize', $pSheet->getPageSetup()->getPaperSize()); + $objWriter->writeAttribute('orientation', $pSheet->getPageSetup()->getOrientation()); + + if (!is_null($pSheet->getPageSetup()->getScale())) { + $objWriter->writeAttribute('scale', $pSheet->getPageSetup()->getScale()); + } + if (!is_null($pSheet->getPageSetup()->getFitToHeight())) { + $objWriter->writeAttribute('fitToHeight', $pSheet->getPageSetup()->getFitToHeight()); + } else { + $objWriter->writeAttribute('fitToHeight', '0'); + } + if (!is_null($pSheet->getPageSetup()->getFitToWidth())) { + $objWriter->writeAttribute('fitToWidth', $pSheet->getPageSetup()->getFitToWidth()); + } else { + $objWriter->writeAttribute('fitToWidth', '0'); + } + if (!is_null($pSheet->getPageSetup()->getFirstPageNumber())) { + $objWriter->writeAttribute('firstPageNumber', $pSheet->getPageSetup()->getFirstPageNumber()); + $objWriter->writeAttribute('useFirstPageNumber', '1'); + } + + $objWriter->endElement(); + } + + /** + * Write Header / Footer + * + * @param PHPExcel_Shared_XMLWriter $objWriter XML Writer + * @param PHPExcel_Worksheet $pSheet Worksheet + * @throws PHPExcel_Writer_Exception + */ + private function _writeHeaderFooter(PHPExcel_Shared_XMLWriter $objWriter = null, PHPExcel_Worksheet $pSheet = null) + { + // headerFooter + $objWriter->startElement('headerFooter'); + $objWriter->writeAttribute('differentOddEven', ($pSheet->getHeaderFooter()->getDifferentOddEven() ? 'true' : 'false')); + $objWriter->writeAttribute('differentFirst', ($pSheet->getHeaderFooter()->getDifferentFirst() ? 'true' : 'false')); + $objWriter->writeAttribute('scaleWithDoc', ($pSheet->getHeaderFooter()->getScaleWithDocument() ? 'true' : 'false')); + $objWriter->writeAttribute('alignWithMargins', ($pSheet->getHeaderFooter()->getAlignWithMargins() ? 'true' : 'false')); + + $objWriter->writeElement('oddHeader', $pSheet->getHeaderFooter()->getOddHeader()); + $objWriter->writeElement('oddFooter', $pSheet->getHeaderFooter()->getOddFooter()); + $objWriter->writeElement('evenHeader', $pSheet->getHeaderFooter()->getEvenHeader()); + $objWriter->writeElement('evenFooter', $pSheet->getHeaderFooter()->getEvenFooter()); + $objWriter->writeElement('firstHeader', $pSheet->getHeaderFooter()->getFirstHeader()); + $objWriter->writeElement('firstFooter', $pSheet->getHeaderFooter()->getFirstFooter()); + $objWriter->endElement(); + } + + /** + * Write Breaks + * + * @param PHPExcel_Shared_XMLWriter $objWriter XML Writer + * @param PHPExcel_Worksheet $pSheet Worksheet + * @throws PHPExcel_Writer_Exception + */ + private function _writeBreaks(PHPExcel_Shared_XMLWriter $objWriter = null, PHPExcel_Worksheet $pSheet = null) + { + // Get row and column breaks + $aRowBreaks = array(); + $aColumnBreaks = array(); + foreach ($pSheet->getBreaks() as $cell => $breakType) { + if ($breakType == PHPExcel_Worksheet::BREAK_ROW) { + $aRowBreaks[] = $cell; + } else if ($breakType == PHPExcel_Worksheet::BREAK_COLUMN) { + $aColumnBreaks[] = $cell; + } + } + + // rowBreaks + if (!empty($aRowBreaks)) { + $objWriter->startElement('rowBreaks'); + $objWriter->writeAttribute('count', count($aRowBreaks)); + $objWriter->writeAttribute('manualBreakCount', count($aRowBreaks)); + + foreach ($aRowBreaks as $cell) { + $coords = PHPExcel_Cell::coordinateFromString($cell); + + $objWriter->startElement('brk'); + $objWriter->writeAttribute('id', $coords[1]); + $objWriter->writeAttribute('man', '1'); + $objWriter->endElement(); + } + + $objWriter->endElement(); + } + + // Second, write column breaks + if (!empty($aColumnBreaks)) { + $objWriter->startElement('colBreaks'); + $objWriter->writeAttribute('count', count($aColumnBreaks)); + $objWriter->writeAttribute('manualBreakCount', count($aColumnBreaks)); + + foreach ($aColumnBreaks as $cell) { + $coords = PHPExcel_Cell::coordinateFromString($cell); + + $objWriter->startElement('brk'); + $objWriter->writeAttribute('id', PHPExcel_Cell::columnIndexFromString($coords[0]) - 1); + $objWriter->writeAttribute('man', '1'); + $objWriter->endElement(); + } + + $objWriter->endElement(); + } + } + + /** + * Write SheetData + * + * @param PHPExcel_Shared_XMLWriter $objWriter XML Writer + * @param PHPExcel_Worksheet $pSheet Worksheet + * @param string[] $pStringTable String table + * @throws PHPExcel_Writer_Exception + */ + private function _writeSheetData(PHPExcel_Shared_XMLWriter $objWriter = null, PHPExcel_Worksheet $pSheet = null, $pStringTable = null) + { + if (is_array($pStringTable)) { + // Flipped stringtable, for faster index searching + $aFlippedStringTable = $this->getParentWriter()->getWriterPart('stringtable')->flipStringTable($pStringTable); + + // sheetData + $objWriter->startElement('sheetData'); + + // Get column count + $colCount = PHPExcel_Cell::columnIndexFromString($pSheet->getHighestColumn()); + + // Highest row number + $highestRow = $pSheet->getHighestRow(); + + // Loop through cells + $cellsByRow = array(); + foreach ($pSheet->getCellCollection() as $cellID) { + $cellAddress = PHPExcel_Cell::coordinateFromString($cellID); + $cellsByRow[$cellAddress[1]][] = $cellID; + } + + $currentRow = 0; + while($currentRow++ < $highestRow) { + // Get row dimension + $rowDimension = $pSheet->getRowDimension($currentRow); + + // Write current row? + $writeCurrentRow = isset($cellsByRow[$currentRow]) || + $rowDimension->getRowHeight() >= 0 || + $rowDimension->getVisible() == false || + $rowDimension->getCollapsed() == true || + $rowDimension->getOutlineLevel() > 0 || + $rowDimension->getXfIndex() !== null; + + if ($writeCurrentRow) { + // Start a new row + $objWriter->startElement('row'); + $objWriter->writeAttribute('r', $currentRow); + $objWriter->writeAttribute('spans', '1:' . $colCount); + + // Row dimensions + if ($rowDimension->getRowHeight() >= 0) { + $objWriter->writeAttribute('customHeight', '1'); + $objWriter->writeAttribute('ht', PHPExcel_Shared_String::FormatNumber($rowDimension->getRowHeight())); + } + + // Row visibility + if ($rowDimension->getVisible() == false) { + $objWriter->writeAttribute('hidden', 'true'); + } + + // Collapsed + if ($rowDimension->getCollapsed() == true) { + $objWriter->writeAttribute('collapsed', 'true'); + } + + // Outline level + if ($rowDimension->getOutlineLevel() > 0) { + $objWriter->writeAttribute('outlineLevel', $rowDimension->getOutlineLevel()); + } + + // Style + if ($rowDimension->getXfIndex() !== null) { + $objWriter->writeAttribute('s', $rowDimension->getXfIndex()); + $objWriter->writeAttribute('customFormat', '1'); + } + + // Write cells + if (isset($cellsByRow[$currentRow])) { + foreach($cellsByRow[$currentRow] as $cellAddress) { + // Write cell + $this->_writeCell($objWriter, $pSheet, $cellAddress, $pStringTable, $aFlippedStringTable); + } + } + + // End row + $objWriter->endElement(); + } + } + + $objWriter->endElement(); + } else { + throw new PHPExcel_Writer_Exception("Invalid parameters passed."); + } + } + + /** + * Write Cell + * + * @param PHPExcel_Shared_XMLWriter $objWriter XML Writer + * @param PHPExcel_Worksheet $pSheet Worksheet + * @param PHPExcel_Cell $pCellAddress Cell Address + * @param string[] $pStringTable String table + * @param string[] $pFlippedStringTable String table (flipped), for faster index searching + * @throws PHPExcel_Writer_Exception + */ + private function _writeCell(PHPExcel_Shared_XMLWriter $objWriter = null, PHPExcel_Worksheet $pSheet = null, $pCellAddress = null, $pStringTable = null, $pFlippedStringTable = null) + { + if (is_array($pStringTable) && is_array($pFlippedStringTable)) { + // Cell + $pCell = $pSheet->getCell($pCellAddress); + $objWriter->startElement('c'); + $objWriter->writeAttribute('r', $pCellAddress); + + // Sheet styles + if ($pCell->getXfIndex() != '') { + $objWriter->writeAttribute('s', $pCell->getXfIndex()); + } + + // If cell value is supplied, write cell value + $cellValue = $pCell->getValue(); + if (is_object($cellValue) || $cellValue !== '') { + // Map type + $mappedType = $pCell->getDataType(); + + // Write data type depending on its type + switch (strtolower($mappedType)) { + case 'inlinestr': // Inline string + case 's': // String + case 'b': // Boolean + $objWriter->writeAttribute('t', $mappedType); + break; + case 'f': // Formula + $calculatedValue = ($this->getParentWriter()->getPreCalculateFormulas()) ? + $pCell->getCalculatedValue() : + $cellValue; + if (is_string($calculatedValue)) { + $objWriter->writeAttribute('t', 'str'); + } + break; + case 'e': // Error + $objWriter->writeAttribute('t', $mappedType); + } + + // Write data depending on its type + switch (strtolower($mappedType)) { + case 'inlinestr': // Inline string + if (! $cellValue instanceof PHPExcel_RichText) { + $objWriter->writeElement('t', PHPExcel_Shared_String::ControlCharacterPHP2OOXML( htmlspecialchars($cellValue) ) ); + } else if ($cellValue instanceof PHPExcel_RichText) { + $objWriter->startElement('is'); + $this->getParentWriter()->getWriterPart('stringtable')->writeRichText($objWriter, $cellValue); + $objWriter->endElement(); + } + + break; + case 's': // String + if (! $cellValue instanceof PHPExcel_RichText) { + if (isset($pFlippedStringTable[$cellValue])) { + $objWriter->writeElement('v', $pFlippedStringTable[$cellValue]); + } + } else if ($cellValue instanceof PHPExcel_RichText) { + $objWriter->writeElement('v', $pFlippedStringTable[$cellValue->getHashCode()]); + } + + break; + case 'f': // Formula + $attributes = $pCell->getFormulaAttributes(); + if($attributes['t'] == 'array') { + $objWriter->startElement('f'); + $objWriter->writeAttribute('t', 'array'); + $objWriter->writeAttribute('ref', $pCellAddress); + $objWriter->writeAttribute('aca', '1'); + $objWriter->writeAttribute('ca', '1'); + $objWriter->text(substr($cellValue, 1)); + $objWriter->endElement(); + } else { + $objWriter->writeElement('f', substr($cellValue, 1)); + } + if ($this->getParentWriter()->getOffice2003Compatibility() === false) { + if ($this->getParentWriter()->getPreCalculateFormulas()) { +// $calculatedValue = $pCell->getCalculatedValue(); + if (!is_array($calculatedValue) && substr($calculatedValue, 0, 1) != '#') { + $objWriter->writeElement('v', PHPExcel_Shared_String::FormatNumber($calculatedValue)); + } else { + $objWriter->writeElement('v', '0'); + } + } else { + $objWriter->writeElement('v', '0'); + } + } + break; + case 'n': // Numeric + // force point as decimal separator in case current locale uses comma + $objWriter->writeElement('v', str_replace(',', '.', $cellValue)); + break; + case 'b': // Boolean + $objWriter->writeElement('v', ($cellValue ? '1' : '0')); + break; + case 'e': // Error + if (substr($cellValue, 0, 1) == '=') { + $objWriter->writeElement('f', substr($cellValue, 1)); + $objWriter->writeElement('v', substr($cellValue, 1)); + } else { + $objWriter->writeElement('v', $cellValue); + } + + break; + } + } + + $objWriter->endElement(); + } else { + throw new PHPExcel_Writer_Exception("Invalid parameters passed."); + } + } + + /** + * Write Drawings + * + * @param PHPExcel_Shared_XMLWriter $objWriter XML Writer + * @param PHPExcel_Worksheet $pSheet Worksheet + * @param boolean $includeCharts Flag indicating if we should include drawing details for charts + * @throws PHPExcel_Writer_Exception + */ + private function _writeDrawings(PHPExcel_Shared_XMLWriter $objWriter = null, PHPExcel_Worksheet $pSheet = null, $includeCharts = FALSE) + { + $chartCount = ($includeCharts) ? $pSheet->getChartCollection()->count() : 0; + // If sheet contains drawings, add the relationships + if (($pSheet->getDrawingCollection()->count() > 0) || + ($chartCount > 0)) { + $objWriter->startElement('drawing'); + $objWriter->writeAttribute('r:id', 'rId1'); + $objWriter->endElement(); + } + } + + /** + * Write LegacyDrawing + * + * @param PHPExcel_Shared_XMLWriter $objWriter XML Writer + * @param PHPExcel_Worksheet $pSheet Worksheet + * @throws PHPExcel_Writer_Exception + */ + private function _writeLegacyDrawing(PHPExcel_Shared_XMLWriter $objWriter = null, PHPExcel_Worksheet $pSheet = null) + { + // If sheet contains comments, add the relationships + if (count($pSheet->getComments()) > 0) { + $objWriter->startElement('legacyDrawing'); + $objWriter->writeAttribute('r:id', 'rId_comments_vml1'); + $objWriter->endElement(); + } + } + + /** + * Write LegacyDrawingHF + * + * @param PHPExcel_Shared_XMLWriter $objWriter XML Writer + * @param PHPExcel_Worksheet $pSheet Worksheet + * @throws PHPExcel_Writer_Exception + */ + private function _writeLegacyDrawingHF(PHPExcel_Shared_XMLWriter $objWriter = null, PHPExcel_Worksheet $pSheet = null) + { + // If sheet contains images, add the relationships + if (count($pSheet->getHeaderFooter()->getImages()) > 0) { + $objWriter->startElement('legacyDrawingHF'); + $objWriter->writeAttribute('r:id', 'rId_headerfooter_vml1'); + $objWriter->endElement(); + } + } +} diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/Excel2007/WriterPart.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/Excel2007/WriterPart.php new file mode 100644 index 00000000..68b1124f --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/Excel2007/WriterPart.php @@ -0,0 +1,81 @@ +<?php +/** + * PHPExcel + * + * Copyright (c) 2006 - 2014 PHPExcel + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * @category PHPExcel + * @package PHPExcel_Writer_Excel2007 + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @version ##VERSION##, ##DATE## + */ + + +/** + * PHPExcel_Writer_Excel2007_WriterPart + * + * @category PHPExcel + * @package PHPExcel_Writer_Excel2007 + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + */ +abstract class PHPExcel_Writer_Excel2007_WriterPart +{ + /** + * Parent IWriter object + * + * @var PHPExcel_Writer_IWriter + */ + private $_parentWriter; + + /** + * Set parent IWriter object + * + * @param PHPExcel_Writer_IWriter $pWriter + * @throws PHPExcel_Writer_Exception + */ + public function setParentWriter(PHPExcel_Writer_IWriter $pWriter = null) { + $this->_parentWriter = $pWriter; + } + + /** + * Get parent IWriter object + * + * @return PHPExcel_Writer_IWriter + * @throws PHPExcel_Writer_Exception + */ + public function getParentWriter() { + if (!is_null($this->_parentWriter)) { + return $this->_parentWriter; + } else { + throw new PHPExcel_Writer_Exception("No parent PHPExcel_Writer_IWriter assigned."); + } + } + + /** + * Set parent IWriter object + * + * @param PHPExcel_Writer_IWriter $pWriter + * @throws PHPExcel_Writer_Exception + */ + public function __construct(PHPExcel_Writer_IWriter $pWriter = null) { + if (!is_null($pWriter)) { + $this->_parentWriter = $pWriter; + } + } + +} diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/Excel5.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/Excel5.php new file mode 100644 index 00000000..1a990d04 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/Excel5.php @@ -0,0 +1,935 @@ +<?php +/** + * PHPExcel + * + * Copyright (c) 2006 - 2014 PHPExcel + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * @category PHPExcel + * @package PHPExcel_Writer_Excel5 + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @version ##VERSION##, ##DATE## + */ + + +/** + * PHPExcel_Writer_Excel5 + * + * @category PHPExcel + * @package PHPExcel_Writer_Excel5 + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + */ +class PHPExcel_Writer_Excel5 extends PHPExcel_Writer_Abstract implements PHPExcel_Writer_IWriter +{ + /** + * PHPExcel object + * + * @var PHPExcel + */ + private $_phpExcel; + + /** + * Total number of shared strings in workbook + * + * @var int + */ + private $_str_total = 0; + + /** + * Number of unique shared strings in workbook + * + * @var int + */ + private $_str_unique = 0; + + /** + * Array of unique shared strings in workbook + * + * @var array + */ + private $_str_table = array(); + + /** + * Color cache. Mapping between RGB value and color index. + * + * @var array + */ + private $_colors; + + /** + * Formula parser + * + * @var PHPExcel_Writer_Excel5_Parser + */ + private $_parser; + + /** + * Identifier clusters for drawings. Used in MSODRAWINGGROUP record. + * + * @var array + */ + private $_IDCLs; + + /** + * Basic OLE object summary information + * + * @var array + */ + private $_summaryInformation; + + /** + * Extended OLE object document summary information + * + * @var array + */ + private $_documentSummaryInformation; + + /** + * Create a new PHPExcel_Writer_Excel5 + * + * @param PHPExcel $phpExcel PHPExcel object + */ + public function __construct(PHPExcel $phpExcel) { + $this->_phpExcel = $phpExcel; + + $this->_parser = new PHPExcel_Writer_Excel5_Parser(); + } + + /** + * Save PHPExcel to file + * + * @param string $pFilename + * @throws PHPExcel_Writer_Exception + */ + public function save($pFilename = null) { + + // garbage collect + $this->_phpExcel->garbageCollect(); + + $saveDebugLog = PHPExcel_Calculation::getInstance($this->_phpExcel)->getDebugLog()->getWriteDebugLog(); + PHPExcel_Calculation::getInstance($this->_phpExcel)->getDebugLog()->setWriteDebugLog(FALSE); + $saveDateReturnType = PHPExcel_Calculation_Functions::getReturnDateType(); + PHPExcel_Calculation_Functions::setReturnDateType(PHPExcel_Calculation_Functions::RETURNDATE_EXCEL); + + // initialize colors array + $this->_colors = array(); + + // Initialise workbook writer + $this->_writerWorkbook = new PHPExcel_Writer_Excel5_Workbook($this->_phpExcel, + $this->_str_total, $this->_str_unique, $this->_str_table, + $this->_colors, $this->_parser); + + // Initialise worksheet writers + $countSheets = $this->_phpExcel->getSheetCount(); + for ($i = 0; $i < $countSheets; ++$i) { + $this->_writerWorksheets[$i] = new PHPExcel_Writer_Excel5_Worksheet($this->_str_total, $this->_str_unique, + $this->_str_table, $this->_colors, + $this->_parser, + $this->_preCalculateFormulas, + $this->_phpExcel->getSheet($i)); + } + + // build Escher objects. Escher objects for workbooks needs to be build before Escher object for workbook. + $this->_buildWorksheetEschers(); + $this->_buildWorkbookEscher(); + + // add 15 identical cell style Xfs + // for now, we use the first cellXf instead of cellStyleXf + $cellXfCollection = $this->_phpExcel->getCellXfCollection(); + for ($i = 0; $i < 15; ++$i) { + $this->_writerWorkbook->addXfWriter($cellXfCollection[0], true); + } + + // add all the cell Xfs + foreach ($this->_phpExcel->getCellXfCollection() as $style) { + $this->_writerWorkbook->addXfWriter($style, false); + } + + // add fonts from rich text eleemnts + for ($i = 0; $i < $countSheets; ++$i) { + foreach ($this->_writerWorksheets[$i]->_phpSheet->getCellCollection() as $cellID) { + $cell = $this->_writerWorksheets[$i]->_phpSheet->getCell($cellID); + $cVal = $cell->getValue(); + if ($cVal instanceof PHPExcel_RichText) { + $elements = $cVal->getRichTextElements(); + foreach ($elements as $element) { + if ($element instanceof PHPExcel_RichText_Run) { + $font = $element->getFont(); + $this->_writerWorksheets[$i]->_fntHashIndex[$font->getHashCode()] = $this->_writerWorkbook->_addFont($font); + } + } + } + } + } + + // initialize OLE file + $workbookStreamName = 'Workbook'; + $OLE = new PHPExcel_Shared_OLE_PPS_File(PHPExcel_Shared_OLE::Asc2Ucs($workbookStreamName)); + + // Write the worksheet streams before the global workbook stream, + // because the byte sizes of these are needed in the global workbook stream + $worksheetSizes = array(); + for ($i = 0; $i < $countSheets; ++$i) { + $this->_writerWorksheets[$i]->close(); + $worksheetSizes[] = $this->_writerWorksheets[$i]->_datasize; + } + + // add binary data for global workbook stream + $OLE->append($this->_writerWorkbook->writeWorkbook($worksheetSizes)); + + // add binary data for sheet streams + for ($i = 0; $i < $countSheets; ++$i) { + $OLE->append($this->_writerWorksheets[$i]->getData()); + } + + $this->_documentSummaryInformation = $this->_writeDocumentSummaryInformation(); + // initialize OLE Document Summary Information + if(isset($this->_documentSummaryInformation) && !empty($this->_documentSummaryInformation)){ + $OLE_DocumentSummaryInformation = new PHPExcel_Shared_OLE_PPS_File(PHPExcel_Shared_OLE::Asc2Ucs(chr(5) . 'DocumentSummaryInformation')); + $OLE_DocumentSummaryInformation->append($this->_documentSummaryInformation); + } + + $this->_summaryInformation = $this->_writeSummaryInformation(); + // initialize OLE Summary Information + if(isset($this->_summaryInformation) && !empty($this->_summaryInformation)){ + $OLE_SummaryInformation = new PHPExcel_Shared_OLE_PPS_File(PHPExcel_Shared_OLE::Asc2Ucs(chr(5) . 'SummaryInformation')); + $OLE_SummaryInformation->append($this->_summaryInformation); + } + + // define OLE Parts + $arrRootData = array($OLE); + // initialize OLE Properties file + if(isset($OLE_SummaryInformation)){ + $arrRootData[] = $OLE_SummaryInformation; + } + // initialize OLE Extended Properties file + if(isset($OLE_DocumentSummaryInformation)){ + $arrRootData[] = $OLE_DocumentSummaryInformation; + } + + $root = new PHPExcel_Shared_OLE_PPS_Root(time(), time(), $arrRootData); + // save the OLE file + $res = $root->save($pFilename); + + PHPExcel_Calculation_Functions::setReturnDateType($saveDateReturnType); + PHPExcel_Calculation::getInstance($this->_phpExcel)->getDebugLog()->setWriteDebugLog($saveDebugLog); + } + + /** + * Set temporary storage directory + * + * @deprecated + * @param string $pValue Temporary storage directory + * @throws PHPExcel_Writer_Exception when directory does not exist + * @return PHPExcel_Writer_Excel5 + */ + public function setTempDir($pValue = '') { + return $this; + } + + /** + * Build the Worksheet Escher objects + * + */ + private function _buildWorksheetEschers() + { + // 1-based index to BstoreContainer + $blipIndex = 0; + $lastReducedSpId = 0; + $lastSpId = 0; + + foreach ($this->_phpExcel->getAllsheets() as $sheet) { + // sheet index + $sheetIndex = $sheet->getParent()->getIndex($sheet); + + $escher = null; + + // check if there are any shapes for this sheet + $filterRange = $sheet->getAutoFilter()->getRange(); + if (count($sheet->getDrawingCollection()) == 0 && empty($filterRange)) { + continue; + } + + // create intermediate Escher object + $escher = new PHPExcel_Shared_Escher(); + + // dgContainer + $dgContainer = new PHPExcel_Shared_Escher_DgContainer(); + + // set the drawing index (we use sheet index + 1) + $dgId = $sheet->getParent()->getIndex($sheet) + 1; + $dgContainer->setDgId($dgId); + $escher->setDgContainer($dgContainer); + + // spgrContainer + $spgrContainer = new PHPExcel_Shared_Escher_DgContainer_SpgrContainer(); + $dgContainer->setSpgrContainer($spgrContainer); + + // add one shape which is the group shape + $spContainer = new PHPExcel_Shared_Escher_DgContainer_SpgrContainer_SpContainer(); + $spContainer->setSpgr(true); + $spContainer->setSpType(0); + $spContainer->setSpId(($sheet->getParent()->getIndex($sheet) + 1) << 10); + $spgrContainer->addChild($spContainer); + + // add the shapes + + $countShapes[$sheetIndex] = 0; // count number of shapes (minus group shape), in sheet + + foreach ($sheet->getDrawingCollection() as $drawing) { + ++$blipIndex; + + ++$countShapes[$sheetIndex]; + + // add the shape + $spContainer = new PHPExcel_Shared_Escher_DgContainer_SpgrContainer_SpContainer(); + + // set the shape type + $spContainer->setSpType(0x004B); + // set the shape flag + $spContainer->setSpFlag(0x02); + + // set the shape index (we combine 1-based sheet index and $countShapes to create unique shape index) + $reducedSpId = $countShapes[$sheetIndex]; + $spId = $reducedSpId + | ($sheet->getParent()->getIndex($sheet) + 1) << 10; + $spContainer->setSpId($spId); + + // keep track of last reducedSpId + $lastReducedSpId = $reducedSpId; + + // keep track of last spId + $lastSpId = $spId; + + // set the BLIP index + $spContainer->setOPT(0x4104, $blipIndex); + + // set coordinates and offsets, client anchor + $coordinates = $drawing->getCoordinates(); + $offsetX = $drawing->getOffsetX(); + $offsetY = $drawing->getOffsetY(); + $width = $drawing->getWidth(); + $height = $drawing->getHeight(); + + $twoAnchor = PHPExcel_Shared_Excel5::oneAnchor2twoAnchor($sheet, $coordinates, $offsetX, $offsetY, $width, $height); + + $spContainer->setStartCoordinates($twoAnchor['startCoordinates']); + $spContainer->setStartOffsetX($twoAnchor['startOffsetX']); + $spContainer->setStartOffsetY($twoAnchor['startOffsetY']); + $spContainer->setEndCoordinates($twoAnchor['endCoordinates']); + $spContainer->setEndOffsetX($twoAnchor['endOffsetX']); + $spContainer->setEndOffsetY($twoAnchor['endOffsetY']); + + $spgrContainer->addChild($spContainer); + } + + // AutoFilters + if(!empty($filterRange)){ + $rangeBounds = PHPExcel_Cell::rangeBoundaries($filterRange); + $iNumColStart = $rangeBounds[0][0]; + $iNumColEnd = $rangeBounds[1][0]; + + $iInc = $iNumColStart; + while($iInc <= $iNumColEnd){ + ++$countShapes[$sheetIndex]; + + // create an Drawing Object for the dropdown + $oDrawing = new PHPExcel_Worksheet_BaseDrawing(); + // get the coordinates of drawing + $cDrawing = PHPExcel_Cell::stringFromColumnIndex($iInc - 1) . $rangeBounds[0][1]; + $oDrawing->setCoordinates($cDrawing); + $oDrawing->setWorksheet($sheet); + + // add the shape + $spContainer = new PHPExcel_Shared_Escher_DgContainer_SpgrContainer_SpContainer(); + // set the shape type + $spContainer->setSpType(0x00C9); + // set the shape flag + $spContainer->setSpFlag(0x01); + + // set the shape index (we combine 1-based sheet index and $countShapes to create unique shape index) + $reducedSpId = $countShapes[$sheetIndex]; + $spId = $reducedSpId + | ($sheet->getParent()->getIndex($sheet) + 1) << 10; + $spContainer->setSpId($spId); + + // keep track of last reducedSpId + $lastReducedSpId = $reducedSpId; + + // keep track of last spId + $lastSpId = $spId; + + $spContainer->setOPT(0x007F, 0x01040104); // Protection -> fLockAgainstGrouping + $spContainer->setOPT(0x00BF, 0x00080008); // Text -> fFitTextToShape + $spContainer->setOPT(0x01BF, 0x00010000); // Fill Style -> fNoFillHitTest + $spContainer->setOPT(0x01FF, 0x00080000); // Line Style -> fNoLineDrawDash + $spContainer->setOPT(0x03BF, 0x000A0000); // Group Shape -> fPrint + + // set coordinates and offsets, client anchor + $endCoordinates = PHPExcel_Cell::stringFromColumnIndex(PHPExcel_Cell::stringFromColumnIndex($iInc - 1)); + $endCoordinates .= $rangeBounds[0][1] + 1; + + $spContainer->setStartCoordinates($cDrawing); + $spContainer->setStartOffsetX(0); + $spContainer->setStartOffsetY(0); + $spContainer->setEndCoordinates($endCoordinates); + $spContainer->setEndOffsetX(0); + $spContainer->setEndOffsetY(0); + + $spgrContainer->addChild($spContainer); + $iInc++; + } + } + + // identifier clusters, used for workbook Escher object + $this->_IDCLs[$dgId] = $lastReducedSpId; + + // set last shape index + $dgContainer->setLastSpId($lastSpId); + + // set the Escher object + $this->_writerWorksheets[$sheetIndex]->setEscher($escher); + } + } + + /** + * Build the Escher object corresponding to the MSODRAWINGGROUP record + */ + private function _buildWorkbookEscher() + { + $escher = null; + + // any drawings in this workbook? + $found = false; + foreach ($this->_phpExcel->getAllSheets() as $sheet) { + if (count($sheet->getDrawingCollection()) > 0) { + $found = true; + break; + } + } + + // nothing to do if there are no drawings + if (!$found) { + return; + } + + // if we reach here, then there are drawings in the workbook + $escher = new PHPExcel_Shared_Escher(); + + // dggContainer + $dggContainer = new PHPExcel_Shared_Escher_DggContainer(); + $escher->setDggContainer($dggContainer); + + // set IDCLs (identifier clusters) + $dggContainer->setIDCLs($this->_IDCLs); + + // this loop is for determining maximum shape identifier of all drawing + $spIdMax = 0; + $totalCountShapes = 0; + $countDrawings = 0; + + foreach ($this->_phpExcel->getAllsheets() as $sheet) { + $sheetCountShapes = 0; // count number of shapes (minus group shape), in sheet + + if (count($sheet->getDrawingCollection()) > 0) { + ++$countDrawings; + + foreach ($sheet->getDrawingCollection() as $drawing) { + ++$sheetCountShapes; + ++$totalCountShapes; + + $spId = $sheetCountShapes + | ($this->_phpExcel->getIndex($sheet) + 1) << 10; + $spIdMax = max($spId, $spIdMax); + } + } + } + + $dggContainer->setSpIdMax($spIdMax + 1); + $dggContainer->setCDgSaved($countDrawings); + $dggContainer->setCSpSaved($totalCountShapes + $countDrawings); // total number of shapes incl. one group shapes per drawing + + // bstoreContainer + $bstoreContainer = new PHPExcel_Shared_Escher_DggContainer_BstoreContainer(); + $dggContainer->setBstoreContainer($bstoreContainer); + + // the BSE's (all the images) + foreach ($this->_phpExcel->getAllsheets() as $sheet) { + foreach ($sheet->getDrawingCollection() as $drawing) { + if ($drawing instanceof PHPExcel_Worksheet_Drawing) { + + $filename = $drawing->getPath(); + + list($imagesx, $imagesy, $imageFormat) = getimagesize($filename); + + switch ($imageFormat) { + + case 1: // GIF, not supported by BIFF8, we convert to PNG + $blipType = PHPExcel_Shared_Escher_DggContainer_BstoreContainer_BSE::BLIPTYPE_PNG; + ob_start(); + imagepng(imagecreatefromgif($filename)); + $blipData = ob_get_contents(); + ob_end_clean(); + break; + + case 2: // JPEG + $blipType = PHPExcel_Shared_Escher_DggContainer_BstoreContainer_BSE::BLIPTYPE_JPEG; + $blipData = file_get_contents($filename); + break; + + case 3: // PNG + $blipType = PHPExcel_Shared_Escher_DggContainer_BstoreContainer_BSE::BLIPTYPE_PNG; + $blipData = file_get_contents($filename); + break; + + case 6: // Windows DIB (BMP), we convert to PNG + $blipType = PHPExcel_Shared_Escher_DggContainer_BstoreContainer_BSE::BLIPTYPE_PNG; + ob_start(); + imagepng(PHPExcel_Shared_Drawing::imagecreatefrombmp($filename)); + $blipData = ob_get_contents(); + ob_end_clean(); + break; + + default: continue 2; + + } + + $blip = new PHPExcel_Shared_Escher_DggContainer_BstoreContainer_BSE_Blip(); + $blip->setData($blipData); + + $BSE = new PHPExcel_Shared_Escher_DggContainer_BstoreContainer_BSE(); + $BSE->setBlipType($blipType); + $BSE->setBlip($blip); + + $bstoreContainer->addBSE($BSE); + + } else if ($drawing instanceof PHPExcel_Worksheet_MemoryDrawing) { + + switch ($drawing->getRenderingFunction()) { + + case PHPExcel_Worksheet_MemoryDrawing::RENDERING_JPEG: + $blipType = PHPExcel_Shared_Escher_DggContainer_BstoreContainer_BSE::BLIPTYPE_JPEG; + $renderingFunction = 'imagejpeg'; + break; + + case PHPExcel_Worksheet_MemoryDrawing::RENDERING_GIF: + case PHPExcel_Worksheet_MemoryDrawing::RENDERING_PNG: + case PHPExcel_Worksheet_MemoryDrawing::RENDERING_DEFAULT: + $blipType = PHPExcel_Shared_Escher_DggContainer_BstoreContainer_BSE::BLIPTYPE_PNG; + $renderingFunction = 'imagepng'; + break; + + } + + ob_start(); + call_user_func($renderingFunction, $drawing->getImageResource()); + $blipData = ob_get_contents(); + ob_end_clean(); + + $blip = new PHPExcel_Shared_Escher_DggContainer_BstoreContainer_BSE_Blip(); + $blip->setData($blipData); + + $BSE = new PHPExcel_Shared_Escher_DggContainer_BstoreContainer_BSE(); + $BSE->setBlipType($blipType); + $BSE->setBlip($blip); + + $bstoreContainer->addBSE($BSE); + } + } + } + + // Set the Escher object + $this->_writerWorkbook->setEscher($escher); + } + + /** + * Build the OLE Part for DocumentSummary Information + * @return string + */ + private function _writeDocumentSummaryInformation(){ + + // offset: 0; size: 2; must be 0xFE 0xFF (UTF-16 LE byte order mark) + $data = pack('v', 0xFFFE); + // offset: 2; size: 2; + $data .= pack('v', 0x0000); + // offset: 4; size: 2; OS version + $data .= pack('v', 0x0106); + // offset: 6; size: 2; OS indicator + $data .= pack('v', 0x0002); + // offset: 8; size: 16 + $data .= pack('VVVV', 0x00, 0x00, 0x00, 0x00); + // offset: 24; size: 4; section count + $data .= pack('V', 0x0001); + + // offset: 28; size: 16; first section's class id: 02 d5 cd d5 9c 2e 1b 10 93 97 08 00 2b 2c f9 ae + $data .= pack('vvvvvvvv', 0xD502, 0xD5CD, 0x2E9C, 0x101B, 0x9793, 0x0008, 0x2C2B, 0xAEF9); + // offset: 44; size: 4; offset of the start + $data .= pack('V', 0x30); + + // SECTION + $dataSection = array(); + $dataSection_NumProps = 0; + $dataSection_Summary = ''; + $dataSection_Content = ''; + + // GKPIDDSI_CODEPAGE: CodePage + $dataSection[] = array('summary'=> array('pack' => 'V', 'data' => 0x01), + 'offset' => array('pack' => 'V'), + 'type' => array('pack' => 'V', 'data' => 0x02), // 2 byte signed integer + 'data' => array('data' => 1252)); + $dataSection_NumProps++; + + // GKPIDDSI_CATEGORY : Category + if($this->_phpExcel->getProperties()->getCategory()){ + $dataProp = $this->_phpExcel->getProperties()->getCategory(); + $dataSection[] = array('summary'=> array('pack' => 'V', 'data' => 0x02), + 'offset' => array('pack' => 'V'), + 'type' => array('pack' => 'V', 'data' => 0x1E), + 'data' => array('data' => $dataProp, 'length' => strlen($dataProp))); + $dataSection_NumProps++; + } + // GKPIDDSI_VERSION :Version of the application that wrote the property storage + $dataSection[] = array('summary'=> array('pack' => 'V', 'data' => 0x17), + 'offset' => array('pack' => 'V'), + 'type' => array('pack' => 'V', 'data' => 0x03), + 'data' => array('pack' => 'V', 'data' => 0x000C0000)); + $dataSection_NumProps++; + // GKPIDDSI_SCALE : FALSE + $dataSection[] = array('summary'=> array('pack' => 'V', 'data' => 0x0B), + 'offset' => array('pack' => 'V'), + 'type' => array('pack' => 'V', 'data' => 0x0B), + 'data' => array('data' => false)); + $dataSection_NumProps++; + // GKPIDDSI_LINKSDIRTY : True if any of the values for the linked properties have changed outside of the application + $dataSection[] = array('summary'=> array('pack' => 'V', 'data' => 0x10), + 'offset' => array('pack' => 'V'), + 'type' => array('pack' => 'V', 'data' => 0x0B), + 'data' => array('data' => false)); + $dataSection_NumProps++; + // GKPIDDSI_SHAREDOC : FALSE + $dataSection[] = array('summary'=> array('pack' => 'V', 'data' => 0x13), + 'offset' => array('pack' => 'V'), + 'type' => array('pack' => 'V', 'data' => 0x0B), + 'data' => array('data' => false)); + $dataSection_NumProps++; + // GKPIDDSI_HYPERLINKSCHANGED : True if any of the values for the _PID_LINKS (hyperlink text) have changed outside of the application + $dataSection[] = array('summary'=> array('pack' => 'V', 'data' => 0x16), + 'offset' => array('pack' => 'V'), + 'type' => array('pack' => 'V', 'data' => 0x0B), + 'data' => array('data' => false)); + $dataSection_NumProps++; + + // GKPIDDSI_DOCSPARTS + // MS-OSHARED p75 (2.3.3.2.2.1) + // Structure is VtVecUnalignedLpstrValue (2.3.3.1.9) + // cElements + $dataProp = pack('v', 0x0001); + $dataProp .= pack('v', 0x0000); + // array of UnalignedLpstr + // cch + $dataProp .= pack('v', 0x000A); + $dataProp .= pack('v', 0x0000); + // value + $dataProp .= 'Worksheet'.chr(0); + + $dataSection[] = array('summary'=> array('pack' => 'V', 'data' => 0x0D), + 'offset' => array('pack' => 'V'), + 'type' => array('pack' => 'V', 'data' => 0x101E), + 'data' => array('data' => $dataProp, 'length' => strlen($dataProp))); + $dataSection_NumProps++; + + // GKPIDDSI_HEADINGPAIR + // VtVecHeadingPairValue + // cElements + $dataProp = pack('v', 0x0002); + $dataProp .= pack('v', 0x0000); + // Array of vtHeadingPair + // vtUnalignedString - headingString + // stringType + $dataProp .= pack('v', 0x001E); + // padding + $dataProp .= pack('v', 0x0000); + // UnalignedLpstr + // cch + $dataProp .= pack('v', 0x0013); + $dataProp .= pack('v', 0x0000); + // value + $dataProp .= 'Feuilles de calcul'; + // vtUnalignedString - headingParts + // wType : 0x0003 = 32 bit signed integer + $dataProp .= pack('v', 0x0300); + // padding + $dataProp .= pack('v', 0x0000); + // value + $dataProp .= pack('v', 0x0100); + $dataProp .= pack('v', 0x0000); + $dataProp .= pack('v', 0x0000); + $dataProp .= pack('v', 0x0000); + + $dataSection[] = array('summary'=> array('pack' => 'V', 'data' => 0x0C), + 'offset' => array('pack' => 'V'), + 'type' => array('pack' => 'V', 'data' => 0x100C), + 'data' => array('data' => $dataProp, 'length' => strlen($dataProp))); + $dataSection_NumProps++; + + // 4 Section Length + // 4 Property count + // 8 * $dataSection_NumProps (8 = ID (4) + OffSet(4)) + $dataSection_Content_Offset = 8 + $dataSection_NumProps * 8; + foreach ($dataSection as $dataProp){ + // Summary + $dataSection_Summary .= pack($dataProp['summary']['pack'], $dataProp['summary']['data']); + // Offset + $dataSection_Summary .= pack($dataProp['offset']['pack'], $dataSection_Content_Offset); + // DataType + $dataSection_Content .= pack($dataProp['type']['pack'], $dataProp['type']['data']); + // Data + if($dataProp['type']['data'] == 0x02){ // 2 byte signed integer + $dataSection_Content .= pack('V', $dataProp['data']['data']); + + $dataSection_Content_Offset += 4 + 4; + } + elseif($dataProp['type']['data'] == 0x03){ // 4 byte signed integer + $dataSection_Content .= pack('V', $dataProp['data']['data']); + + $dataSection_Content_Offset += 4 + 4; + } + elseif($dataProp['type']['data'] == 0x0B){ // Boolean + if($dataProp['data']['data'] == false){ + $dataSection_Content .= pack('V', 0x0000); + } else { + $dataSection_Content .= pack('V', 0x0001); + } + $dataSection_Content_Offset += 4 + 4; + } + elseif($dataProp['type']['data'] == 0x1E){ // null-terminated string prepended by dword string length + // Null-terminated string + $dataProp['data']['data'] .= chr(0); + $dataProp['data']['length'] += 1; + // Complete the string with null string for being a %4 + $dataProp['data']['length'] = $dataProp['data']['length'] + ((4 - $dataProp['data']['length'] % 4)==4 ? 0 : (4 - $dataProp['data']['length'] % 4)); + $dataProp['data']['data'] = str_pad($dataProp['data']['data'], $dataProp['data']['length'], chr(0), STR_PAD_RIGHT); + + $dataSection_Content .= pack('V', $dataProp['data']['length']); + $dataSection_Content .= $dataProp['data']['data']; + + $dataSection_Content_Offset += 4 + 4 + strlen($dataProp['data']['data']); + } + elseif($dataProp['type']['data'] == 0x40){ // Filetime (64-bit value representing the number of 100-nanosecond intervals since January 1, 1601) + $dataSection_Content .= $dataProp['data']['data']; + + $dataSection_Content_Offset += 4 + 8; + } + else { + // Data Type Not Used at the moment + $dataSection_Content .= $dataProp['data']['data']; + + $dataSection_Content_Offset += 4 + $dataProp['data']['length']; + } + } + // Now $dataSection_Content_Offset contains the size of the content + + // section header + // offset: $secOffset; size: 4; section length + // + x Size of the content (summary + content) + $data .= pack('V', $dataSection_Content_Offset); + // offset: $secOffset+4; size: 4; property count + $data .= pack('V', $dataSection_NumProps); + // Section Summary + $data .= $dataSection_Summary; + // Section Content + $data .= $dataSection_Content; + + return $data; + } + + /** + * Build the OLE Part for Summary Information + * @return string + */ + private function _writeSummaryInformation(){ + // offset: 0; size: 2; must be 0xFE 0xFF (UTF-16 LE byte order mark) + $data = pack('v', 0xFFFE); + // offset: 2; size: 2; + $data .= pack('v', 0x0000); + // offset: 4; size: 2; OS version + $data .= pack('v', 0x0106); + // offset: 6; size: 2; OS indicator + $data .= pack('v', 0x0002); + // offset: 8; size: 16 + $data .= pack('VVVV', 0x00, 0x00, 0x00, 0x00); + // offset: 24; size: 4; section count + $data .= pack('V', 0x0001); + + // offset: 28; size: 16; first section's class id: e0 85 9f f2 f9 4f 68 10 ab 91 08 00 2b 27 b3 d9 + $data .= pack('vvvvvvvv', 0x85E0, 0xF29F, 0x4FF9, 0x1068, 0x91AB, 0x0008, 0x272B, 0xD9B3); + // offset: 44; size: 4; offset of the start + $data .= pack('V', 0x30); + + // SECTION + $dataSection = array(); + $dataSection_NumProps = 0; + $dataSection_Summary = ''; + $dataSection_Content = ''; + + // CodePage : CP-1252 + $dataSection[] = array('summary'=> array('pack' => 'V', 'data' => 0x01), + 'offset' => array('pack' => 'V'), + 'type' => array('pack' => 'V', 'data' => 0x02), // 2 byte signed integer + 'data' => array('data' => 1252)); + $dataSection_NumProps++; + + // Title + if($this->_phpExcel->getProperties()->getTitle()){ + $dataProp = $this->_phpExcel->getProperties()->getTitle(); + $dataSection[] = array('summary'=> array('pack' => 'V', 'data' => 0x02), + 'offset' => array('pack' => 'V'), + 'type' => array('pack' => 'V', 'data' => 0x1E), // null-terminated string prepended by dword string length + 'data' => array('data' => $dataProp, 'length' => strlen($dataProp))); + $dataSection_NumProps++; + } + // Subject + if($this->_phpExcel->getProperties()->getSubject()){ + $dataProp = $this->_phpExcel->getProperties()->getSubject(); + $dataSection[] = array('summary'=> array('pack' => 'V', 'data' => 0x03), + 'offset' => array('pack' => 'V'), + 'type' => array('pack' => 'V', 'data' => 0x1E), // null-terminated string prepended by dword string length + 'data' => array('data' => $dataProp, 'length' => strlen($dataProp))); + $dataSection_NumProps++; + } + // Author (Creator) + if($this->_phpExcel->getProperties()->getCreator()){ + $dataProp = $this->_phpExcel->getProperties()->getCreator(); + $dataSection[] = array('summary'=> array('pack' => 'V', 'data' => 0x04), + 'offset' => array('pack' => 'V'), + 'type' => array('pack' => 'V', 'data' => 0x1E), // null-terminated string prepended by dword string length + 'data' => array('data' => $dataProp, 'length' => strlen($dataProp))); + $dataSection_NumProps++; + } + // Keywords + if($this->_phpExcel->getProperties()->getKeywords()){ + $dataProp = $this->_phpExcel->getProperties()->getKeywords(); + $dataSection[] = array('summary'=> array('pack' => 'V', 'data' => 0x05), + 'offset' => array('pack' => 'V'), + 'type' => array('pack' => 'V', 'data' => 0x1E), // null-terminated string prepended by dword string length + 'data' => array('data' => $dataProp, 'length' => strlen($dataProp))); + $dataSection_NumProps++; + } + // Comments (Description) + if($this->_phpExcel->getProperties()->getDescription()){ + $dataProp = $this->_phpExcel->getProperties()->getDescription(); + $dataSection[] = array('summary'=> array('pack' => 'V', 'data' => 0x06), + 'offset' => array('pack' => 'V'), + 'type' => array('pack' => 'V', 'data' => 0x1E), // null-terminated string prepended by dword string length + 'data' => array('data' => $dataProp, 'length' => strlen($dataProp))); + $dataSection_NumProps++; + } + // Last Saved By (LastModifiedBy) + if($this->_phpExcel->getProperties()->getLastModifiedBy()){ + $dataProp = $this->_phpExcel->getProperties()->getLastModifiedBy(); + $dataSection[] = array('summary'=> array('pack' => 'V', 'data' => 0x08), + 'offset' => array('pack' => 'V'), + 'type' => array('pack' => 'V', 'data' => 0x1E), // null-terminated string prepended by dword string length + 'data' => array('data' => $dataProp, 'length' => strlen($dataProp))); + $dataSection_NumProps++; + } + // Created Date/Time + if($this->_phpExcel->getProperties()->getCreated()){ + $dataProp = $this->_phpExcel->getProperties()->getCreated(); + $dataSection[] = array('summary'=> array('pack' => 'V', 'data' => 0x0C), + 'offset' => array('pack' => 'V'), + 'type' => array('pack' => 'V', 'data' => 0x40), // Filetime (64-bit value representing the number of 100-nanosecond intervals since January 1, 1601) + 'data' => array('data' => PHPExcel_Shared_OLE::LocalDate2OLE($dataProp))); + $dataSection_NumProps++; + } + // Modified Date/Time + if($this->_phpExcel->getProperties()->getModified()){ + $dataProp = $this->_phpExcel->getProperties()->getModified(); + $dataSection[] = array('summary'=> array('pack' => 'V', 'data' => 0x0D), + 'offset' => array('pack' => 'V'), + 'type' => array('pack' => 'V', 'data' => 0x40), // Filetime (64-bit value representing the number of 100-nanosecond intervals since January 1, 1601) + 'data' => array('data' => PHPExcel_Shared_OLE::LocalDate2OLE($dataProp))); + $dataSection_NumProps++; + } + // Security + $dataSection[] = array('summary'=> array('pack' => 'V', 'data' => 0x13), + 'offset' => array('pack' => 'V'), + 'type' => array('pack' => 'V', 'data' => 0x03), // 4 byte signed integer + 'data' => array('data' => 0x00)); + $dataSection_NumProps++; + + + // 4 Section Length + // 4 Property count + // 8 * $dataSection_NumProps (8 = ID (4) + OffSet(4)) + $dataSection_Content_Offset = 8 + $dataSection_NumProps * 8; + foreach ($dataSection as $dataProp){ + // Summary + $dataSection_Summary .= pack($dataProp['summary']['pack'], $dataProp['summary']['data']); + // Offset + $dataSection_Summary .= pack($dataProp['offset']['pack'], $dataSection_Content_Offset); + // DataType + $dataSection_Content .= pack($dataProp['type']['pack'], $dataProp['type']['data']); + // Data + if($dataProp['type']['data'] == 0x02){ // 2 byte signed integer + $dataSection_Content .= pack('V', $dataProp['data']['data']); + + $dataSection_Content_Offset += 4 + 4; + } + elseif($dataProp['type']['data'] == 0x03){ // 4 byte signed integer + $dataSection_Content .= pack('V', $dataProp['data']['data']); + + $dataSection_Content_Offset += 4 + 4; + } + elseif($dataProp['type']['data'] == 0x1E){ // null-terminated string prepended by dword string length + // Null-terminated string + $dataProp['data']['data'] .= chr(0); + $dataProp['data']['length'] += 1; + // Complete the string with null string for being a %4 + $dataProp['data']['length'] = $dataProp['data']['length'] + ((4 - $dataProp['data']['length'] % 4)==4 ? 0 : (4 - $dataProp['data']['length'] % 4)); + $dataProp['data']['data'] = str_pad($dataProp['data']['data'], $dataProp['data']['length'], chr(0), STR_PAD_RIGHT); + + $dataSection_Content .= pack('V', $dataProp['data']['length']); + $dataSection_Content .= $dataProp['data']['data']; + + $dataSection_Content_Offset += 4 + 4 + strlen($dataProp['data']['data']); + } + elseif($dataProp['type']['data'] == 0x40){ // Filetime (64-bit value representing the number of 100-nanosecond intervals since January 1, 1601) + $dataSection_Content .= $dataProp['data']['data']; + + $dataSection_Content_Offset += 4 + 8; + } + else { + // Data Type Not Used at the moment + } + } + // Now $dataSection_Content_Offset contains the size of the content + + // section header + // offset: $secOffset; size: 4; section length + // + x Size of the content (summary + content) + $data .= pack('V', $dataSection_Content_Offset); + // offset: $secOffset+4; size: 4; property count + $data .= pack('V', $dataSection_NumProps); + // Section Summary + $data .= $dataSection_Summary; + // Section Content + $data .= $dataSection_Content; + + return $data; + } +} diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/Excel5/BIFFwriter.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/Excel5/BIFFwriter.php new file mode 100644 index 00000000..86201134 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/Excel5/BIFFwriter.php @@ -0,0 +1,255 @@ +<?php +/** + * PHPExcel + * + * Copyright (c) 2006 - 2014 PHPExcel + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * @category PHPExcel + * @package PHPExcel_Writer_Excel5 + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @version ##VERSION##, ##DATE## + */ + +// Original file header of PEAR::Spreadsheet_Excel_Writer_BIFFwriter (used as the base for this class): +// ----------------------------------------------------------------------------------------- +// * Module written/ported by Xavier Noguer <xnoguer@rezebra.com> +// * +// * The majority of this is _NOT_ my code. I simply ported it from the +// * PERL Spreadsheet::WriteExcel module. +// * +// * The author of the Spreadsheet::WriteExcel module is John McNamara +// * <jmcnamara@cpan.org> +// * +// * I _DO_ maintain this code, and John McNamara has nothing to do with the +// * porting of this code to PHP. Any questions directly related to this +// * class library should be directed to me. +// * +// * License Information: +// * +// * Spreadsheet_Excel_Writer: A library for generating Excel Spreadsheets +// * Copyright (c) 2002-2003 Xavier Noguer xnoguer@rezebra.com +// * +// * This library is free software; you can redistribute it and/or +// * modify it under the terms of the GNU Lesser General Public +// * License as published by the Free Software Foundation; either +// * version 2.1 of the License, or (at your option) any later version. +// * +// * This library is distributed in the hope that it will be useful, +// * but WITHOUT ANY WARRANTY; without even the implied warranty of +// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +// * Lesser General Public License for more details. +// * +// * You should have received a copy of the GNU Lesser General Public +// * License along with this library; if not, write to the Free Software +// * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +// */ + + +/** + * PHPExcel_Writer_Excel5_BIFFwriter + * + * @category PHPExcel + * @package PHPExcel_Writer_Excel5 + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + */ +class PHPExcel_Writer_Excel5_BIFFwriter +{ + /** + * The byte order of this architecture. 0 => little endian, 1 => big endian + * @var integer + */ + private static $_byte_order; + + /** + * The string containing the data of the BIFF stream + * @var string + */ + public $_data; + + /** + * The size of the data in bytes. Should be the same as strlen($this->_data) + * @var integer + */ + public $_datasize; + + /** + * The maximum length for a BIFF record (excluding record header and length field). See _addContinue() + * @var integer + * @see _addContinue() + */ + public $_limit = 8224; + + /** + * Constructor + */ + public function __construct() + { + $this->_data = ''; + $this->_datasize = 0; +// $this->_limit = 8224; + } + + /** + * Determine the byte order and store it as class data to avoid + * recalculating it for each call to new(). + * + * @return int + */ + public static function getByteOrder() + { + if (!isset(self::$_byte_order)) { + // Check if "pack" gives the required IEEE 64bit float + $teststr = pack("d", 1.2345); + $number = pack("C8", 0x8D, 0x97, 0x6E, 0x12, 0x83, 0xC0, 0xF3, 0x3F); + if ($number == $teststr) { + $byte_order = 0; // Little Endian + } elseif ($number == strrev($teststr)){ + $byte_order = 1; // Big Endian + } else { + // Give up. I'll fix this in a later version. + throw new PHPExcel_Writer_Exception("Required floating point format not supported on this platform."); + } + self::$_byte_order = $byte_order; + } + + return self::$_byte_order; + } + + /** + * General storage function + * + * @param string $data binary data to append + * @access private + */ + function _append($data) + { + if (strlen($data) - 4 > $this->_limit) { + $data = $this->_addContinue($data); + } + $this->_data .= $data; + $this->_datasize += strlen($data); + } + + /** + * General storage function like _append, but returns string instead of modifying $this->_data + * + * @param string $data binary data to write + * @return string + */ + public function writeData($data) + { + if (strlen($data) - 4 > $this->_limit) { + $data = $this->_addContinue($data); + } + $this->_datasize += strlen($data); + + return $data; + } + + /** + * Writes Excel BOF record to indicate the beginning of a stream or + * sub-stream in the BIFF file. + * + * @param integer $type Type of BIFF file to write: 0x0005 Workbook, + * 0x0010 Worksheet. + * @access private + */ + function _storeBof($type) + { + $record = 0x0809; // Record identifier (BIFF5-BIFF8) + $length = 0x0010; + + // by inspection of real files, MS Office Excel 2007 writes the following + $unknown = pack("VV", 0x000100D1, 0x00000406); + + $build = 0x0DBB; // Excel 97 + $year = 0x07CC; // Excel 97 + + $version = 0x0600; // BIFF8 + + $header = pack("vv", $record, $length); + $data = pack("vvvv", $version, $type, $build, $year); + $this->_append($header . $data . $unknown); + } + + /** + * Writes Excel EOF record to indicate the end of a BIFF stream. + * + * @access private + */ + function _storeEof() + { + $record = 0x000A; // Record identifier + $length = 0x0000; // Number of bytes to follow + + $header = pack("vv", $record, $length); + $this->_append($header); + } + + /** + * Writes Excel EOF record to indicate the end of a BIFF stream. + * + * @access private + */ + public function writeEof() + { + $record = 0x000A; // Record identifier + $length = 0x0000; // Number of bytes to follow + $header = pack("vv", $record, $length); + return $this->writeData($header); + } + + /** + * Excel limits the size of BIFF records. In Excel 5 the limit is 2084 bytes. In + * Excel 97 the limit is 8228 bytes. Records that are longer than these limits + * must be split up into CONTINUE blocks. + * + * This function takes a long BIFF record and inserts CONTINUE records as + * necessary. + * + * @param string $data The original binary data to be written + * @return string A very convenient string of continue blocks + * @access private + */ + function _addContinue($data) + { + $limit = $this->_limit; + $record = 0x003C; // Record identifier + + // The first 2080/8224 bytes remain intact. However, we have to change + // the length field of the record. + $tmp = substr($data, 0, 2) . pack("v", $limit) . substr($data, 4, $limit); + + $header = pack("vv", $record, $limit); // Headers for continue records + + // Retrieve chunks of 2080/8224 bytes +4 for the header. + $data_length = strlen($data); + for ($i = $limit + 4; $i < ($data_length - $limit); $i += $limit) { + $tmp .= $header; + $tmp .= substr($data, $i, $limit); + } + + // Retrieve the last chunk of data + $header = pack("vv", $record, strlen($data) - $i); + $tmp .= $header; + $tmp .= substr($data, $i, strlen($data) - $i); + + return $tmp; + } + +} diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/Excel5/Escher.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/Excel5/Escher.php new file mode 100644 index 00000000..92e6a8d8 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/Excel5/Escher.php @@ -0,0 +1,537 @@ +<?php +/** + * PHPExcel + * + * Copyright (c) 2006 - 2014 PHPExcel + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * @category PHPExcel + * @package PHPExcel_Writer_Excel5 + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @version ##VERSION##, ##DATE## + */ + + +/** + * PHPExcel_Shared_Escher_DggContainer_BstoreContainer + * + * @category PHPExcel + * @package PHPExcel_Writer_Excel5 + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + */ +class PHPExcel_Writer_Excel5_Escher +{ + /** + * The object we are writing + */ + private $_object; + + /** + * The written binary data + */ + private $_data; + + /** + * Shape offsets. Positions in binary stream where a new shape record begins + * + * @var array + */ + private $_spOffsets; + + /** + * Shape types. + * + * @var array + */ + private $_spTypes; + + /** + * Constructor + * + * @param mixed + */ + public function __construct($object) + { + $this->_object = $object; + } + + /** + * Process the object to be written + */ + public function close() + { + // initialize + $this->_data = ''; + + switch (get_class($this->_object)) { + + case 'PHPExcel_Shared_Escher': + if ($dggContainer = $this->_object->getDggContainer()) { + $writer = new PHPExcel_Writer_Excel5_Escher($dggContainer); + $this->_data = $writer->close(); + } else if ($dgContainer = $this->_object->getDgContainer()) { + $writer = new PHPExcel_Writer_Excel5_Escher($dgContainer); + $this->_data = $writer->close(); + $this->_spOffsets = $writer->getSpOffsets(); + $this->_spTypes = $writer->getSpTypes(); + } + break; + + case 'PHPExcel_Shared_Escher_DggContainer': + // this is a container record + + // initialize + $innerData = ''; + + // write the dgg + $recVer = 0x0; + $recInstance = 0x0000; + $recType = 0xF006; + + $recVerInstance = $recVer; + $recVerInstance |= $recInstance << 4; + + // dgg data + $dggData = + pack('VVVV' + , $this->_object->getSpIdMax() // maximum shape identifier increased by one + , $this->_object->getCDgSaved() + 1 // number of file identifier clusters increased by one + , $this->_object->getCSpSaved() + , $this->_object->getCDgSaved() // count total number of drawings saved + ); + + // add file identifier clusters (one per drawing) + $IDCLs = $this->_object->getIDCLs(); + + foreach ($IDCLs as $dgId => $maxReducedSpId) { + $dggData .= pack('VV', $dgId, $maxReducedSpId + 1); + } + + $header = pack('vvV', $recVerInstance, $recType, strlen($dggData)); + $innerData .= $header . $dggData; + + // write the bstoreContainer + if ($bstoreContainer = $this->_object->getBstoreContainer()) { + $writer = new PHPExcel_Writer_Excel5_Escher($bstoreContainer); + $innerData .= $writer->close(); + } + + // write the record + $recVer = 0xF; + $recInstance = 0x0000; + $recType = 0xF000; + $length = strlen($innerData); + + $recVerInstance = $recVer; + $recVerInstance |= $recInstance << 4; + + $header = pack('vvV', $recVerInstance, $recType, $length); + + $this->_data = $header . $innerData; + break; + + case 'PHPExcel_Shared_Escher_DggContainer_BstoreContainer': + // this is a container record + + // initialize + $innerData = ''; + + // treat the inner data + if ($BSECollection = $this->_object->getBSECollection()) { + foreach ($BSECollection as $BSE) { + $writer = new PHPExcel_Writer_Excel5_Escher($BSE); + $innerData .= $writer->close(); + } + } + + // write the record + $recVer = 0xF; + $recInstance = count($this->_object->getBSECollection()); + $recType = 0xF001; + $length = strlen($innerData); + + $recVerInstance = $recVer; + $recVerInstance |= $recInstance << 4; + + $header = pack('vvV', $recVerInstance, $recType, $length); + + $this->_data = $header . $innerData; + break; + + case 'PHPExcel_Shared_Escher_DggContainer_BstoreContainer_BSE': + // this is a semi-container record + + // initialize + $innerData = ''; + + // here we treat the inner data + if ($blip = $this->_object->getBlip()) { + $writer = new PHPExcel_Writer_Excel5_Escher($blip); + $innerData .= $writer->close(); + } + + // initialize + $data = ''; + + $btWin32 = $this->_object->getBlipType(); + $btMacOS = $this->_object->getBlipType(); + $data .= pack('CC', $btWin32, $btMacOS); + + $rgbUid = pack('VVVV', 0,0,0,0); // todo + $data .= $rgbUid; + + $tag = 0; + $size = strlen($innerData); + $cRef = 1; + $foDelay = 0; //todo + $unused1 = 0x0; + $cbName = 0x0; + $unused2 = 0x0; + $unused3 = 0x0; + $data .= pack('vVVVCCCC', $tag, $size, $cRef, $foDelay, $unused1, $cbName, $unused2, $unused3); + + $data .= $innerData; + + // write the record + $recVer = 0x2; + $recInstance = $this->_object->getBlipType(); + $recType = 0xF007; + $length = strlen($data); + + $recVerInstance = $recVer; + $recVerInstance |= $recInstance << 4; + + $header = pack('vvV', $recVerInstance, $recType, $length); + + $this->_data = $header; + + $this->_data .= $data; + break; + + case 'PHPExcel_Shared_Escher_DggContainer_BstoreContainer_BSE_Blip': + // this is an atom record + + // write the record + switch ($this->_object->getParent()->getBlipType()) { + + case PHPExcel_Shared_Escher_DggContainer_BstoreContainer_BSE::BLIPTYPE_JPEG: + // initialize + $innerData = ''; + + $rgbUid1 = pack('VVVV', 0,0,0,0); // todo + $innerData .= $rgbUid1; + + $tag = 0xFF; // todo + $innerData .= pack('C', $tag); + + $innerData .= $this->_object->getData(); + + $recVer = 0x0; + $recInstance = 0x46A; + $recType = 0xF01D; + $length = strlen($innerData); + + $recVerInstance = $recVer; + $recVerInstance |= $recInstance << 4; + + $header = pack('vvV', $recVerInstance, $recType, $length); + + $this->_data = $header; + + $this->_data .= $innerData; + break; + + case PHPExcel_Shared_Escher_DggContainer_BstoreContainer_BSE::BLIPTYPE_PNG: + // initialize + $innerData = ''; + + $rgbUid1 = pack('VVVV', 0,0,0,0); // todo + $innerData .= $rgbUid1; + + $tag = 0xFF; // todo + $innerData .= pack('C', $tag); + + $innerData .= $this->_object->getData(); + + $recVer = 0x0; + $recInstance = 0x6E0; + $recType = 0xF01E; + $length = strlen($innerData); + + $recVerInstance = $recVer; + $recVerInstance |= $recInstance << 4; + + $header = pack('vvV', $recVerInstance, $recType, $length); + + $this->_data = $header; + + $this->_data .= $innerData; + break; + + } + break; + + case 'PHPExcel_Shared_Escher_DgContainer': + // this is a container record + + // initialize + $innerData = ''; + + // write the dg + $recVer = 0x0; + $recInstance = $this->_object->getDgId(); + $recType = 0xF008; + $length = 8; + + $recVerInstance = $recVer; + $recVerInstance |= $recInstance << 4; + + $header = pack('vvV', $recVerInstance, $recType, $length); + + // number of shapes in this drawing (including group shape) + $countShapes = count($this->_object->getSpgrContainer()->getChildren()); + $innerData .= $header . pack('VV', $countShapes, $this->_object->getLastSpId()); + //$innerData .= $header . pack('VV', 0, 0); + + // write the spgrContainer + if ($spgrContainer = $this->_object->getSpgrContainer()) { + $writer = new PHPExcel_Writer_Excel5_Escher($spgrContainer); + $innerData .= $writer->close(); + + // get the shape offsets relative to the spgrContainer record + $spOffsets = $writer->getSpOffsets(); + $spTypes = $writer->getSpTypes(); + + // save the shape offsets relative to dgContainer + foreach ($spOffsets as & $spOffset) { + $spOffset += 24; // add length of dgContainer header data (8 bytes) plus dg data (16 bytes) + } + + $this->_spOffsets = $spOffsets; + $this->_spTypes = $spTypes; + } + + // write the record + $recVer = 0xF; + $recInstance = 0x0000; + $recType = 0xF002; + $length = strlen($innerData); + + $recVerInstance = $recVer; + $recVerInstance |= $recInstance << 4; + + $header = pack('vvV', $recVerInstance, $recType, $length); + + $this->_data = $header . $innerData; + break; + + case 'PHPExcel_Shared_Escher_DgContainer_SpgrContainer': + // this is a container record + + // initialize + $innerData = ''; + + // initialize spape offsets + $totalSize = 8; + $spOffsets = array(); + $spTypes = array(); + + // treat the inner data + foreach ($this->_object->getChildren() as $spContainer) { + $writer = new PHPExcel_Writer_Excel5_Escher($spContainer); + $spData = $writer->close(); + $innerData .= $spData; + + // save the shape offsets (where new shape records begin) + $totalSize += strlen($spData); + $spOffsets[] = $totalSize; + + $spTypes = array_merge($spTypes, $writer->getSpTypes()); + } + + // write the record + $recVer = 0xF; + $recInstance = 0x0000; + $recType = 0xF003; + $length = strlen($innerData); + + $recVerInstance = $recVer; + $recVerInstance |= $recInstance << 4; + + $header = pack('vvV', $recVerInstance, $recType, $length); + + $this->_data = $header . $innerData; + $this->_spOffsets = $spOffsets; + $this->_spTypes = $spTypes; + break; + + case 'PHPExcel_Shared_Escher_DgContainer_SpgrContainer_SpContainer': + // initialize + $data = ''; + + // build the data + + // write group shape record, if necessary? + if ($this->_object->getSpgr()) { + $recVer = 0x1; + $recInstance = 0x0000; + $recType = 0xF009; + $length = 0x00000010; + + $recVerInstance = $recVer; + $recVerInstance |= $recInstance << 4; + + $header = pack('vvV', $recVerInstance, $recType, $length); + + $data .= $header . pack('VVVV', 0,0,0,0); + } + $this->_spTypes[] = ($this->_object->getSpType()); + + // write the shape record + $recVer = 0x2; + $recInstance = $this->_object->getSpType(); // shape type + $recType = 0xF00A; + $length = 0x00000008; + + $recVerInstance = $recVer; + $recVerInstance |= $recInstance << 4; + + $header = pack('vvV', $recVerInstance, $recType, $length); + + $data .= $header . pack('VV', $this->_object->getSpId(), $this->_object->getSpgr() ? 0x0005 : 0x0A00); + + + // the options + if ($this->_object->getOPTCollection()) { + $optData = ''; + + $recVer = 0x3; + $recInstance = count($this->_object->getOPTCollection()); + $recType = 0xF00B; + foreach ($this->_object->getOPTCollection() as $property => $value) { + $optData .= pack('vV', $property, $value); + } + $length = strlen($optData); + + $recVerInstance = $recVer; + $recVerInstance |= $recInstance << 4; + + $header = pack('vvV', $recVerInstance, $recType, $length); + $data .= $header . $optData; + } + + // the client anchor + if ($this->_object->getStartCoordinates()) { + $clientAnchorData = ''; + + $recVer = 0x0; + $recInstance = 0x0; + $recType = 0xF010; + + // start coordinates + list($column, $row) = PHPExcel_Cell::coordinateFromString($this->_object->getStartCoordinates()); + $c1 = PHPExcel_Cell::columnIndexFromString($column) - 1; + $r1 = $row - 1; + + // start offsetX + $startOffsetX = $this->_object->getStartOffsetX(); + + // start offsetY + $startOffsetY = $this->_object->getStartOffsetY(); + + // end coordinates + list($column, $row) = PHPExcel_Cell::coordinateFromString($this->_object->getEndCoordinates()); + $c2 = PHPExcel_Cell::columnIndexFromString($column) - 1; + $r2 = $row - 1; + + // end offsetX + $endOffsetX = $this->_object->getEndOffsetX(); + + // end offsetY + $endOffsetY = $this->_object->getEndOffsetY(); + + $clientAnchorData = pack('vvvvvvvvv', $this->_object->getSpFlag(), + $c1, $startOffsetX, $r1, $startOffsetY, + $c2, $endOffsetX, $r2, $endOffsetY); + + $length = strlen($clientAnchorData); + + $recVerInstance = $recVer; + $recVerInstance |= $recInstance << 4; + + $header = pack('vvV', $recVerInstance, $recType, $length); + $data .= $header . $clientAnchorData; + } + + // the client data, just empty for now + if (!$this->_object->getSpgr()) { + $clientDataData = ''; + + $recVer = 0x0; + $recInstance = 0x0; + $recType = 0xF011; + + $length = strlen($clientDataData); + + $recVerInstance = $recVer; + $recVerInstance |= $recInstance << 4; + + $header = pack('vvV', $recVerInstance, $recType, $length); + $data .= $header . $clientDataData; + } + + // write the record + $recVer = 0xF; + $recInstance = 0x0000; + $recType = 0xF004; + $length = strlen($data); + + $recVerInstance = $recVer; + $recVerInstance |= $recInstance << 4; + + $header = pack('vvV', $recVerInstance, $recType, $length); + + $this->_data = $header . $data; + break; + + } + + return $this->_data; + } + + /** + * Gets the shape offsets + * + * @return array + */ + public function getSpOffsets() + { + return $this->_spOffsets; + } + + /** + * Gets the shape types + * + * @return array + */ + public function getSpTypes() + { + return $this->_spTypes; + } + + +} diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/Excel5/Font.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/Excel5/Font.php new file mode 100644 index 00000000..0df19438 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/Excel5/Font.php @@ -0,0 +1,165 @@ +<?php +/** + * PHPExcel + * + * Copyright (c) 2006 - 2014 PHPExcel + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * @category PHPExcel + * @package PHPExcel_Writer_Excel5 + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @version ##VERSION##, ##DATE## + */ + + +/** + * PHPExcel_Writer_Excel5_Font + * + * @category PHPExcel + * @package PHPExcel_Writer_Excel5 + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + */ +class PHPExcel_Writer_Excel5_Font +{ + /** + * Color index + * + * @var int + */ + private $_colorIndex; + + /** + * Font + * + * @var PHPExcel_Style_Font + */ + private $_font; + + /** + * Constructor + * + * @param PHPExcel_Style_Font $font + */ + public function __construct(PHPExcel_Style_Font $font = null) + { + $this->_colorIndex = 0x7FFF; + $this->_font = $font; + } + + /** + * Set the color index + * + * @param int $colorIndex + */ + public function setColorIndex($colorIndex) + { + $this->_colorIndex = $colorIndex; + } + + /** + * Get font record data + * + * @return string + */ + public function writeFont() + { + $font_outline = 0; + $font_shadow = 0; + + $icv = $this->_colorIndex; // Index to color palette + if ($this->_font->getSuperScript()) { + $sss = 1; + } else if ($this->_font->getSubScript()) { + $sss = 2; + } else { + $sss = 0; + } + $bFamily = 0; // Font family + $bCharSet = PHPExcel_Shared_Font::getCharsetFromFontName($this->_font->getName()); // Character set + + $record = 0x31; // Record identifier + $reserved = 0x00; // Reserved + $grbit = 0x00; // Font attributes + if ($this->_font->getItalic()) { + $grbit |= 0x02; + } + if ($this->_font->getStrikethrough()) { + $grbit |= 0x08; + } + if ($font_outline) { + $grbit |= 0x10; + } + if ($font_shadow) { + $grbit |= 0x20; + } + + $data = pack("vvvvvCCCC", + $this->_font->getSize() * 20, // Fontsize (in twips) + $grbit, + $icv, // Colour + self::_mapBold($this->_font->getBold()), // Font weight + $sss, // Superscript/Subscript + self::_mapUnderline($this->_font->getUnderline()), + $bFamily, + $bCharSet, + $reserved + ); + $data .= PHPExcel_Shared_String::UTF8toBIFF8UnicodeShort($this->_font->getName()); + + $length = strlen($data); + $header = pack("vv", $record, $length); + + return($header . $data); + } + + /** + * Map to BIFF5-BIFF8 codes for bold + * + * @param boolean $bold + * @return int + */ + private static function _mapBold($bold) { + if ($bold) { + return 0x2BC; // 700 = Bold font weight + } + return 0x190; // 400 = Normal font weight + } + + /** + * Map of BIFF2-BIFF8 codes for underline styles + * @static array of int + * + */ + private static $_mapUnderline = array( PHPExcel_Style_Font::UNDERLINE_NONE => 0x00, + PHPExcel_Style_Font::UNDERLINE_SINGLE => 0x01, + PHPExcel_Style_Font::UNDERLINE_DOUBLE => 0x02, + PHPExcel_Style_Font::UNDERLINE_SINGLEACCOUNTING => 0x21, + PHPExcel_Style_Font::UNDERLINE_DOUBLEACCOUNTING => 0x22, + ); + /** + * Map underline + * + * @param string + * @return int + */ + private static function _mapUnderline($underline) { + if (isset(self::$_mapUnderline[$underline])) + return self::$_mapUnderline[$underline]; + return 0x00; + } + +} diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/Excel5/Parser.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/Excel5/Parser.php new file mode 100644 index 00000000..bc6ddb13 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/Excel5/Parser.php @@ -0,0 +1,1583 @@ +<?php +/** + * PHPExcel + * + * Copyright (c) 2006 - 2014 PHPExcel + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * @category PHPExcel + * @package PHPExcel_Writer_Excel5 + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @version ##VERSION##, ##DATE## + */ + +// Original file header of PEAR::Spreadsheet_Excel_Writer_Parser (used as the base for this class): +// ----------------------------------------------------------------------------------------- +// * Class for parsing Excel formulas +// * +// * License Information: +// * +// * Spreadsheet_Excel_Writer: A library for generating Excel Spreadsheets +// * Copyright (c) 2002-2003 Xavier Noguer xnoguer@rezebra.com +// * +// * This library is free software; you can redistribute it and/or +// * modify it under the terms of the GNU Lesser General Public +// * License as published by the Free Software Foundation; either +// * version 2.1 of the License, or (at your option) any later version. +// * +// * This library is distributed in the hope that it will be useful, +// * but WITHOUT ANY WARRANTY; without even the implied warranty of +// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +// * Lesser General Public License for more details. +// * +// * You should have received a copy of the GNU Lesser General Public +// * License along with this library; if not, write to the Free Software +// * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +// */ + + +/** + * PHPExcel_Writer_Excel5_Parser + * + * @category PHPExcel + * @package PHPExcel_Writer_Excel5 + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + */ +class PHPExcel_Writer_Excel5_Parser +{ + /** Constants */ + // Sheet title in unquoted form + // Invalid sheet title characters cannot occur in the sheet title: + // *:/\?[] + // Moreover, there are valid sheet title characters that cannot occur in unquoted form (there may be more?) + // +-% '^&<>=,;#()"{} + const REGEX_SHEET_TITLE_UNQUOTED = '[^\*\:\/\\\\\?\[\]\+\-\% \\\'\^\&\<\>\=\,\;\#\(\)\"\{\}]+'; + + // Sheet title in quoted form (without surrounding quotes) + // Invalid sheet title characters cannot occur in the sheet title: + // *:/\?[] (usual invalid sheet title characters) + // Single quote is represented as a pair '' + const REGEX_SHEET_TITLE_QUOTED = '(([^\*\:\/\\\\\?\[\]\\\'])+|(\\\'\\\')+)+'; + + /** + * The index of the character we are currently looking at + * @var integer + */ + public $_current_char; + + /** + * The token we are working on. + * @var string + */ + public $_current_token; + + /** + * The formula to parse + * @var string + */ + public $_formula; + + /** + * The character ahead of the current char + * @var string + */ + public $_lookahead; + + /** + * The parse tree to be generated + * @var string + */ + public $_parse_tree; + + /** + * Array of external sheets + * @var array + */ + public $_ext_sheets; + + /** + * Array of sheet references in the form of REF structures + * @var array + */ + public $_references; + + /** + * The class constructor + * + */ + public function __construct() + { + $this->_current_char = 0; + $this->_current_token = ''; // The token we are working on. + $this->_formula = ''; // The formula to parse. + $this->_lookahead = ''; // The character ahead of the current char. + $this->_parse_tree = ''; // The parse tree to be generated. + $this->_initializeHashes(); // Initialize the hashes: ptg's and function's ptg's + $this->_ext_sheets = array(); + $this->_references = array(); + } + + /** + * Initialize the ptg and function hashes. + * + * @access private + */ + function _initializeHashes() + { + // The Excel ptg indices + $this->ptg = array( + 'ptgExp' => 0x01, + 'ptgTbl' => 0x02, + 'ptgAdd' => 0x03, + 'ptgSub' => 0x04, + 'ptgMul' => 0x05, + 'ptgDiv' => 0x06, + 'ptgPower' => 0x07, + 'ptgConcat' => 0x08, + 'ptgLT' => 0x09, + 'ptgLE' => 0x0A, + 'ptgEQ' => 0x0B, + 'ptgGE' => 0x0C, + 'ptgGT' => 0x0D, + 'ptgNE' => 0x0E, + 'ptgIsect' => 0x0F, + 'ptgUnion' => 0x10, + 'ptgRange' => 0x11, + 'ptgUplus' => 0x12, + 'ptgUminus' => 0x13, + 'ptgPercent' => 0x14, + 'ptgParen' => 0x15, + 'ptgMissArg' => 0x16, + 'ptgStr' => 0x17, + 'ptgAttr' => 0x19, + 'ptgSheet' => 0x1A, + 'ptgEndSheet' => 0x1B, + 'ptgErr' => 0x1C, + 'ptgBool' => 0x1D, + 'ptgInt' => 0x1E, + 'ptgNum' => 0x1F, + 'ptgArray' => 0x20, + 'ptgFunc' => 0x21, + 'ptgFuncVar' => 0x22, + 'ptgName' => 0x23, + 'ptgRef' => 0x24, + 'ptgArea' => 0x25, + 'ptgMemArea' => 0x26, + 'ptgMemErr' => 0x27, + 'ptgMemNoMem' => 0x28, + 'ptgMemFunc' => 0x29, + 'ptgRefErr' => 0x2A, + 'ptgAreaErr' => 0x2B, + 'ptgRefN' => 0x2C, + 'ptgAreaN' => 0x2D, + 'ptgMemAreaN' => 0x2E, + 'ptgMemNoMemN' => 0x2F, + 'ptgNameX' => 0x39, + 'ptgRef3d' => 0x3A, + 'ptgArea3d' => 0x3B, + 'ptgRefErr3d' => 0x3C, + 'ptgAreaErr3d' => 0x3D, + 'ptgArrayV' => 0x40, + 'ptgFuncV' => 0x41, + 'ptgFuncVarV' => 0x42, + 'ptgNameV' => 0x43, + 'ptgRefV' => 0x44, + 'ptgAreaV' => 0x45, + 'ptgMemAreaV' => 0x46, + 'ptgMemErrV' => 0x47, + 'ptgMemNoMemV' => 0x48, + 'ptgMemFuncV' => 0x49, + 'ptgRefErrV' => 0x4A, + 'ptgAreaErrV' => 0x4B, + 'ptgRefNV' => 0x4C, + 'ptgAreaNV' => 0x4D, + 'ptgMemAreaNV' => 0x4E, + 'ptgMemNoMemN' => 0x4F, + 'ptgFuncCEV' => 0x58, + 'ptgNameXV' => 0x59, + 'ptgRef3dV' => 0x5A, + 'ptgArea3dV' => 0x5B, + 'ptgRefErr3dV' => 0x5C, + 'ptgAreaErr3d' => 0x5D, + 'ptgArrayA' => 0x60, + 'ptgFuncA' => 0x61, + 'ptgFuncVarA' => 0x62, + 'ptgNameA' => 0x63, + 'ptgRefA' => 0x64, + 'ptgAreaA' => 0x65, + 'ptgMemAreaA' => 0x66, + 'ptgMemErrA' => 0x67, + 'ptgMemNoMemA' => 0x68, + 'ptgMemFuncA' => 0x69, + 'ptgRefErrA' => 0x6A, + 'ptgAreaErrA' => 0x6B, + 'ptgRefNA' => 0x6C, + 'ptgAreaNA' => 0x6D, + 'ptgMemAreaNA' => 0x6E, + 'ptgMemNoMemN' => 0x6F, + 'ptgFuncCEA' => 0x78, + 'ptgNameXA' => 0x79, + 'ptgRef3dA' => 0x7A, + 'ptgArea3dA' => 0x7B, + 'ptgRefErr3dA' => 0x7C, + 'ptgAreaErr3d' => 0x7D + ); + + // Thanks to Michael Meeks and Gnumeric for the initial arg values. + // + // The following hash was generated by "function_locale.pl" in the distro. + // Refer to function_locale.pl for non-English function names. + // + // The array elements are as follow: + // ptg: The Excel function ptg code. + // args: The number of arguments that the function takes: + // >=0 is a fixed number of arguments. + // -1 is a variable number of arguments. + // class: The reference, value or array class of the function args. + // vol: The function is volatile. + // + $this->_functions = array( + // function ptg args class vol + 'COUNT' => array( 0, -1, 0, 0 ), + 'IF' => array( 1, -1, 1, 0 ), + 'ISNA' => array( 2, 1, 1, 0 ), + 'ISERROR' => array( 3, 1, 1, 0 ), + 'SUM' => array( 4, -1, 0, 0 ), + 'AVERAGE' => array( 5, -1, 0, 0 ), + 'MIN' => array( 6, -1, 0, 0 ), + 'MAX' => array( 7, -1, 0, 0 ), + 'ROW' => array( 8, -1, 0, 0 ), + 'COLUMN' => array( 9, -1, 0, 0 ), + 'NA' => array( 10, 0, 0, 0 ), + 'NPV' => array( 11, -1, 1, 0 ), + 'STDEV' => array( 12, -1, 0, 0 ), + 'DOLLAR' => array( 13, -1, 1, 0 ), + 'FIXED' => array( 14, -1, 1, 0 ), + 'SIN' => array( 15, 1, 1, 0 ), + 'COS' => array( 16, 1, 1, 0 ), + 'TAN' => array( 17, 1, 1, 0 ), + 'ATAN' => array( 18, 1, 1, 0 ), + 'PI' => array( 19, 0, 1, 0 ), + 'SQRT' => array( 20, 1, 1, 0 ), + 'EXP' => array( 21, 1, 1, 0 ), + 'LN' => array( 22, 1, 1, 0 ), + 'LOG10' => array( 23, 1, 1, 0 ), + 'ABS' => array( 24, 1, 1, 0 ), + 'INT' => array( 25, 1, 1, 0 ), + 'SIGN' => array( 26, 1, 1, 0 ), + 'ROUND' => array( 27, 2, 1, 0 ), + 'LOOKUP' => array( 28, -1, 0, 0 ), + 'INDEX' => array( 29, -1, 0, 1 ), + 'REPT' => array( 30, 2, 1, 0 ), + 'MID' => array( 31, 3, 1, 0 ), + 'LEN' => array( 32, 1, 1, 0 ), + 'VALUE' => array( 33, 1, 1, 0 ), + 'TRUE' => array( 34, 0, 1, 0 ), + 'FALSE' => array( 35, 0, 1, 0 ), + 'AND' => array( 36, -1, 0, 0 ), + 'OR' => array( 37, -1, 0, 0 ), + 'NOT' => array( 38, 1, 1, 0 ), + 'MOD' => array( 39, 2, 1, 0 ), + 'DCOUNT' => array( 40, 3, 0, 0 ), + 'DSUM' => array( 41, 3, 0, 0 ), + 'DAVERAGE' => array( 42, 3, 0, 0 ), + 'DMIN' => array( 43, 3, 0, 0 ), + 'DMAX' => array( 44, 3, 0, 0 ), + 'DSTDEV' => array( 45, 3, 0, 0 ), + 'VAR' => array( 46, -1, 0, 0 ), + 'DVAR' => array( 47, 3, 0, 0 ), + 'TEXT' => array( 48, 2, 1, 0 ), + 'LINEST' => array( 49, -1, 0, 0 ), + 'TREND' => array( 50, -1, 0, 0 ), + 'LOGEST' => array( 51, -1, 0, 0 ), + 'GROWTH' => array( 52, -1, 0, 0 ), + 'PV' => array( 56, -1, 1, 0 ), + 'FV' => array( 57, -1, 1, 0 ), + 'NPER' => array( 58, -1, 1, 0 ), + 'PMT' => array( 59, -1, 1, 0 ), + 'RATE' => array( 60, -1, 1, 0 ), + 'MIRR' => array( 61, 3, 0, 0 ), + 'IRR' => array( 62, -1, 0, 0 ), + 'RAND' => array( 63, 0, 1, 1 ), + 'MATCH' => array( 64, -1, 0, 0 ), + 'DATE' => array( 65, 3, 1, 0 ), + 'TIME' => array( 66, 3, 1, 0 ), + 'DAY' => array( 67, 1, 1, 0 ), + 'MONTH' => array( 68, 1, 1, 0 ), + 'YEAR' => array( 69, 1, 1, 0 ), + 'WEEKDAY' => array( 70, -1, 1, 0 ), + 'HOUR' => array( 71, 1, 1, 0 ), + 'MINUTE' => array( 72, 1, 1, 0 ), + 'SECOND' => array( 73, 1, 1, 0 ), + 'NOW' => array( 74, 0, 1, 1 ), + 'AREAS' => array( 75, 1, 0, 1 ), + 'ROWS' => array( 76, 1, 0, 1 ), + 'COLUMNS' => array( 77, 1, 0, 1 ), + 'OFFSET' => array( 78, -1, 0, 1 ), + 'SEARCH' => array( 82, -1, 1, 0 ), + 'TRANSPOSE' => array( 83, 1, 1, 0 ), + 'TYPE' => array( 86, 1, 1, 0 ), + 'ATAN2' => array( 97, 2, 1, 0 ), + 'ASIN' => array( 98, 1, 1, 0 ), + 'ACOS' => array( 99, 1, 1, 0 ), + 'CHOOSE' => array( 100, -1, 1, 0 ), + 'HLOOKUP' => array( 101, -1, 0, 0 ), + 'VLOOKUP' => array( 102, -1, 0, 0 ), + 'ISREF' => array( 105, 1, 0, 0 ), + 'LOG' => array( 109, -1, 1, 0 ), + 'CHAR' => array( 111, 1, 1, 0 ), + 'LOWER' => array( 112, 1, 1, 0 ), + 'UPPER' => array( 113, 1, 1, 0 ), + 'PROPER' => array( 114, 1, 1, 0 ), + 'LEFT' => array( 115, -1, 1, 0 ), + 'RIGHT' => array( 116, -1, 1, 0 ), + 'EXACT' => array( 117, 2, 1, 0 ), + 'TRIM' => array( 118, 1, 1, 0 ), + 'REPLACE' => array( 119, 4, 1, 0 ), + 'SUBSTITUTE' => array( 120, -1, 1, 0 ), + 'CODE' => array( 121, 1, 1, 0 ), + 'FIND' => array( 124, -1, 1, 0 ), + 'CELL' => array( 125, -1, 0, 1 ), + 'ISERR' => array( 126, 1, 1, 0 ), + 'ISTEXT' => array( 127, 1, 1, 0 ), + 'ISNUMBER' => array( 128, 1, 1, 0 ), + 'ISBLANK' => array( 129, 1, 1, 0 ), + 'T' => array( 130, 1, 0, 0 ), + 'N' => array( 131, 1, 0, 0 ), + 'DATEVALUE' => array( 140, 1, 1, 0 ), + 'TIMEVALUE' => array( 141, 1, 1, 0 ), + 'SLN' => array( 142, 3, 1, 0 ), + 'SYD' => array( 143, 4, 1, 0 ), + 'DDB' => array( 144, -1, 1, 0 ), + 'INDIRECT' => array( 148, -1, 1, 1 ), + 'CALL' => array( 150, -1, 1, 0 ), + 'CLEAN' => array( 162, 1, 1, 0 ), + 'MDETERM' => array( 163, 1, 2, 0 ), + 'MINVERSE' => array( 164, 1, 2, 0 ), + 'MMULT' => array( 165, 2, 2, 0 ), + 'IPMT' => array( 167, -1, 1, 0 ), + 'PPMT' => array( 168, -1, 1, 0 ), + 'COUNTA' => array( 169, -1, 0, 0 ), + 'PRODUCT' => array( 183, -1, 0, 0 ), + 'FACT' => array( 184, 1, 1, 0 ), + 'DPRODUCT' => array( 189, 3, 0, 0 ), + 'ISNONTEXT' => array( 190, 1, 1, 0 ), + 'STDEVP' => array( 193, -1, 0, 0 ), + 'VARP' => array( 194, -1, 0, 0 ), + 'DSTDEVP' => array( 195, 3, 0, 0 ), + 'DVARP' => array( 196, 3, 0, 0 ), + 'TRUNC' => array( 197, -1, 1, 0 ), + 'ISLOGICAL' => array( 198, 1, 1, 0 ), + 'DCOUNTA' => array( 199, 3, 0, 0 ), + 'USDOLLAR' => array( 204, -1, 1, 0 ), + 'FINDB' => array( 205, -1, 1, 0 ), + 'SEARCHB' => array( 206, -1, 1, 0 ), + 'REPLACEB' => array( 207, 4, 1, 0 ), + 'LEFTB' => array( 208, -1, 1, 0 ), + 'RIGHTB' => array( 209, -1, 1, 0 ), + 'MIDB' => array( 210, 3, 1, 0 ), + 'LENB' => array( 211, 1, 1, 0 ), + 'ROUNDUP' => array( 212, 2, 1, 0 ), + 'ROUNDDOWN' => array( 213, 2, 1, 0 ), + 'ASC' => array( 214, 1, 1, 0 ), + 'DBCS' => array( 215, 1, 1, 0 ), + 'RANK' => array( 216, -1, 0, 0 ), + 'ADDRESS' => array( 219, -1, 1, 0 ), + 'DAYS360' => array( 220, -1, 1, 0 ), + 'TODAY' => array( 221, 0, 1, 1 ), + 'VDB' => array( 222, -1, 1, 0 ), + 'MEDIAN' => array( 227, -1, 0, 0 ), + 'SUMPRODUCT' => array( 228, -1, 2, 0 ), + 'SINH' => array( 229, 1, 1, 0 ), + 'COSH' => array( 230, 1, 1, 0 ), + 'TANH' => array( 231, 1, 1, 0 ), + 'ASINH' => array( 232, 1, 1, 0 ), + 'ACOSH' => array( 233, 1, 1, 0 ), + 'ATANH' => array( 234, 1, 1, 0 ), + 'DGET' => array( 235, 3, 0, 0 ), + 'INFO' => array( 244, 1, 1, 1 ), + 'DB' => array( 247, -1, 1, 0 ), + 'FREQUENCY' => array( 252, 2, 0, 0 ), + 'ERROR.TYPE' => array( 261, 1, 1, 0 ), + 'REGISTER.ID' => array( 267, -1, 1, 0 ), + 'AVEDEV' => array( 269, -1, 0, 0 ), + 'BETADIST' => array( 270, -1, 1, 0 ), + 'GAMMALN' => array( 271, 1, 1, 0 ), + 'BETAINV' => array( 272, -1, 1, 0 ), + 'BINOMDIST' => array( 273, 4, 1, 0 ), + 'CHIDIST' => array( 274, 2, 1, 0 ), + 'CHIINV' => array( 275, 2, 1, 0 ), + 'COMBIN' => array( 276, 2, 1, 0 ), + 'CONFIDENCE' => array( 277, 3, 1, 0 ), + 'CRITBINOM' => array( 278, 3, 1, 0 ), + 'EVEN' => array( 279, 1, 1, 0 ), + 'EXPONDIST' => array( 280, 3, 1, 0 ), + 'FDIST' => array( 281, 3, 1, 0 ), + 'FINV' => array( 282, 3, 1, 0 ), + 'FISHER' => array( 283, 1, 1, 0 ), + 'FISHERINV' => array( 284, 1, 1, 0 ), + 'FLOOR' => array( 285, 2, 1, 0 ), + 'GAMMADIST' => array( 286, 4, 1, 0 ), + 'GAMMAINV' => array( 287, 3, 1, 0 ), + 'CEILING' => array( 288, 2, 1, 0 ), + 'HYPGEOMDIST' => array( 289, 4, 1, 0 ), + 'LOGNORMDIST' => array( 290, 3, 1, 0 ), + 'LOGINV' => array( 291, 3, 1, 0 ), + 'NEGBINOMDIST' => array( 292, 3, 1, 0 ), + 'NORMDIST' => array( 293, 4, 1, 0 ), + 'NORMSDIST' => array( 294, 1, 1, 0 ), + 'NORMINV' => array( 295, 3, 1, 0 ), + 'NORMSINV' => array( 296, 1, 1, 0 ), + 'STANDARDIZE' => array( 297, 3, 1, 0 ), + 'ODD' => array( 298, 1, 1, 0 ), + 'PERMUT' => array( 299, 2, 1, 0 ), + 'POISSON' => array( 300, 3, 1, 0 ), + 'TDIST' => array( 301, 3, 1, 0 ), + 'WEIBULL' => array( 302, 4, 1, 0 ), + 'SUMXMY2' => array( 303, 2, 2, 0 ), + 'SUMX2MY2' => array( 304, 2, 2, 0 ), + 'SUMX2PY2' => array( 305, 2, 2, 0 ), + 'CHITEST' => array( 306, 2, 2, 0 ), + 'CORREL' => array( 307, 2, 2, 0 ), + 'COVAR' => array( 308, 2, 2, 0 ), + 'FORECAST' => array( 309, 3, 2, 0 ), + 'FTEST' => array( 310, 2, 2, 0 ), + 'INTERCEPT' => array( 311, 2, 2, 0 ), + 'PEARSON' => array( 312, 2, 2, 0 ), + 'RSQ' => array( 313, 2, 2, 0 ), + 'STEYX' => array( 314, 2, 2, 0 ), + 'SLOPE' => array( 315, 2, 2, 0 ), + 'TTEST' => array( 316, 4, 2, 0 ), + 'PROB' => array( 317, -1, 2, 0 ), + 'DEVSQ' => array( 318, -1, 0, 0 ), + 'GEOMEAN' => array( 319, -1, 0, 0 ), + 'HARMEAN' => array( 320, -1, 0, 0 ), + 'SUMSQ' => array( 321, -1, 0, 0 ), + 'KURT' => array( 322, -1, 0, 0 ), + 'SKEW' => array( 323, -1, 0, 0 ), + 'ZTEST' => array( 324, -1, 0, 0 ), + 'LARGE' => array( 325, 2, 0, 0 ), + 'SMALL' => array( 326, 2, 0, 0 ), + 'QUARTILE' => array( 327, 2, 0, 0 ), + 'PERCENTILE' => array( 328, 2, 0, 0 ), + 'PERCENTRANK' => array( 329, -1, 0, 0 ), + 'MODE' => array( 330, -1, 2, 0 ), + 'TRIMMEAN' => array( 331, 2, 0, 0 ), + 'TINV' => array( 332, 2, 1, 0 ), + 'CONCATENATE' => array( 336, -1, 1, 0 ), + 'POWER' => array( 337, 2, 1, 0 ), + 'RADIANS' => array( 342, 1, 1, 0 ), + 'DEGREES' => array( 343, 1, 1, 0 ), + 'SUBTOTAL' => array( 344, -1, 0, 0 ), + 'SUMIF' => array( 345, -1, 0, 0 ), + 'COUNTIF' => array( 346, 2, 0, 0 ), + 'COUNTBLANK' => array( 347, 1, 0, 0 ), + 'ISPMT' => array( 350, 4, 1, 0 ), + 'DATEDIF' => array( 351, 3, 1, 0 ), + 'DATESTRING' => array( 352, 1, 1, 0 ), + 'NUMBERSTRING' => array( 353, 2, 1, 0 ), + 'ROMAN' => array( 354, -1, 1, 0 ), + 'GETPIVOTDATA' => array( 358, -1, 0, 0 ), + 'HYPERLINK' => array( 359, -1, 1, 0 ), + 'PHONETIC' => array( 360, 1, 0, 0 ), + 'AVERAGEA' => array( 361, -1, 0, 0 ), + 'MAXA' => array( 362, -1, 0, 0 ), + 'MINA' => array( 363, -1, 0, 0 ), + 'STDEVPA' => array( 364, -1, 0, 0 ), + 'VARPA' => array( 365, -1, 0, 0 ), + 'STDEVA' => array( 366, -1, 0, 0 ), + 'VARA' => array( 367, -1, 0, 0 ), + 'BAHTTEXT' => array( 368, 1, 0, 0 ), + ); + } + + /** + * Convert a token to the proper ptg value. + * + * @access private + * @param mixed $token The token to convert. + * @return mixed the converted token on success + */ + function _convert($token) + { + if (preg_match("/\"([^\"]|\"\"){0,255}\"/", $token)) { + return $this->_convertString($token); + + } elseif (is_numeric($token)) { + return $this->_convertNumber($token); + + // match references like A1 or $A$1 + } elseif (preg_match('/^\$?([A-Ia-i]?[A-Za-z])\$?(\d+)$/',$token)) { + return $this->_convertRef2d($token); + + // match external references like Sheet1!A1 or Sheet1:Sheet2!A1 or Sheet1!$A$1 or Sheet1:Sheet2!$A$1 + } elseif (preg_match("/^" . self::REGEX_SHEET_TITLE_UNQUOTED . "(\:" . self::REGEX_SHEET_TITLE_UNQUOTED . ")?\!\\$?[A-Ia-i]?[A-Za-z]\\$?(\d+)$/u",$token)) { + return $this->_convertRef3d($token); + + // match external references like 'Sheet1'!A1 or 'Sheet1:Sheet2'!A1 or 'Sheet1'!$A$1 or 'Sheet1:Sheet2'!$A$1 + } elseif (preg_match("/^'" . self::REGEX_SHEET_TITLE_QUOTED . "(\:" . self::REGEX_SHEET_TITLE_QUOTED . ")?'\!\\$?[A-Ia-i]?[A-Za-z]\\$?(\d+)$/u",$token)) { + return $this->_convertRef3d($token); + + // match ranges like A1:B2 or $A$1:$B$2 + } elseif (preg_match('/^(\$)?[A-Ia-i]?[A-Za-z](\$)?(\d+)\:(\$)?[A-Ia-i]?[A-Za-z](\$)?(\d+)$/', $token)) { + return $this->_convertRange2d($token); + + // match external ranges like Sheet1!A1:B2 or Sheet1:Sheet2!A1:B2 or Sheet1!$A$1:$B$2 or Sheet1:Sheet2!$A$1:$B$2 + } elseif (preg_match("/^" . self::REGEX_SHEET_TITLE_UNQUOTED . "(\:" . self::REGEX_SHEET_TITLE_UNQUOTED . ")?\!\\$?([A-Ia-i]?[A-Za-z])?\\$?(\d+)\:\\$?([A-Ia-i]?[A-Za-z])?\\$?(\d+)$/u",$token)) { + return $this->_convertRange3d($token); + + // match external ranges like 'Sheet1'!A1:B2 or 'Sheet1:Sheet2'!A1:B2 or 'Sheet1'!$A$1:$B$2 or 'Sheet1:Sheet2'!$A$1:$B$2 + } elseif (preg_match("/^'" . self::REGEX_SHEET_TITLE_QUOTED . "(\:" . self::REGEX_SHEET_TITLE_QUOTED . ")?'\!\\$?([A-Ia-i]?[A-Za-z])?\\$?(\d+)\:\\$?([A-Ia-i]?[A-Za-z])?\\$?(\d+)$/u",$token)) { + return $this->_convertRange3d($token); + + // operators (including parentheses) + } elseif (isset($this->ptg[$token])) { + return pack("C", $this->ptg[$token]); + + // match error codes + } elseif (preg_match("/^#[A-Z0\/]{3,5}[!?]{1}$/", $token) or $token == '#N/A') { + return $this->_convertError($token); + + // commented so argument number can be processed correctly. See toReversePolish(). + /*elseif (preg_match("/[A-Z0-9\xc0-\xdc\.]+/",$token)) + { + return($this->_convertFunction($token,$this->_func_args)); + }*/ + + // if it's an argument, ignore the token (the argument remains) + } elseif ($token == 'arg') { + return ''; + } + + // TODO: use real error codes + throw new PHPExcel_Writer_Exception("Unknown token $token"); + } + + /** + * Convert a number token to ptgInt or ptgNum + * + * @access private + * @param mixed $num an integer or double for conversion to its ptg value + */ + function _convertNumber($num) + { + // Integer in the range 0..2**16-1 + if ((preg_match("/^\d+$/", $num)) and ($num <= 65535)) { + return pack("Cv", $this->ptg['ptgInt'], $num); + } else { // A float + if (PHPExcel_Writer_Excel5_BIFFwriter::getByteOrder()) { // if it's Big Endian + $num = strrev($num); + } + return pack("Cd", $this->ptg['ptgNum'], $num); + } + } + + /** + * Convert a string token to ptgStr + * + * @access private + * @param string $string A string for conversion to its ptg value. + * @return mixed the converted token on success + */ + function _convertString($string) + { + // chop away beggining and ending quotes + $string = substr($string, 1, strlen($string) - 2); + if (strlen($string) > 255) { + throw new PHPExcel_Writer_Exception("String is too long"); + } + + return pack('C', $this->ptg['ptgStr']) . PHPExcel_Shared_String::UTF8toBIFF8UnicodeShort($string); + } + + /** + * Convert a function to a ptgFunc or ptgFuncVarV depending on the number of + * args that it takes. + * + * @access private + * @param string $token The name of the function for convertion to ptg value. + * @param integer $num_args The number of arguments the function receives. + * @return string The packed ptg for the function + */ + function _convertFunction($token, $num_args) + { + $args = $this->_functions[$token][1]; +// $volatile = $this->_functions[$token][3]; + + // Fixed number of args eg. TIME($i,$j,$k). + if ($args >= 0) { + return pack("Cv", $this->ptg['ptgFuncV'], $this->_functions[$token][0]); + } + // Variable number of args eg. SUM($i,$j,$k, ..). + if ($args == -1) { + return pack("CCv", $this->ptg['ptgFuncVarV'], $num_args, $this->_functions[$token][0]); + } + } + + /** + * Convert an Excel range such as A1:D4 to a ptgRefV. + * + * @access private + * @param string $range An Excel range in the A1:A2 + * @param int $class + */ + function _convertRange2d($range, $class=0) + { + + // TODO: possible class value 0,1,2 check Formula.pm + // Split the range into 2 cell refs + if (preg_match('/^(\$)?([A-Ia-i]?[A-Za-z])(\$)?(\d+)\:(\$)?([A-Ia-i]?[A-Za-z])(\$)?(\d+)$/', $range)) { + list($cell1, $cell2) = explode(':', $range); + } else { + // TODO: use real error codes + throw new PHPExcel_Writer_Exception("Unknown range separator"); + } + + // Convert the cell references + list($row1, $col1) = $this->_cellToPackedRowcol($cell1); + list($row2, $col2) = $this->_cellToPackedRowcol($cell2); + + // The ptg value depends on the class of the ptg. + if ($class == 0) { + $ptgArea = pack("C", $this->ptg['ptgArea']); + } elseif ($class == 1) { + $ptgArea = pack("C", $this->ptg['ptgAreaV']); + } elseif ($class == 2) { + $ptgArea = pack("C", $this->ptg['ptgAreaA']); + } else { + // TODO: use real error codes + throw new PHPExcel_Writer_Exception("Unknown class $class"); + } + return $ptgArea . $row1 . $row2 . $col1. $col2; + } + + /** + * Convert an Excel 3d range such as "Sheet1!A1:D4" or "Sheet1:Sheet2!A1:D4" to + * a ptgArea3d. + * + * @access private + * @param string $token An Excel range in the Sheet1!A1:A2 format. + * @return mixed The packed ptgArea3d token on success. + */ + function _convertRange3d($token) + { +// $class = 0; // formulas like Sheet1!$A$1:$A$2 in list type data validation need this class (0x3B) + + // Split the ref at the ! symbol + list($ext_ref, $range) = explode('!', $token); + + // Convert the external reference part (different for BIFF8) + $ext_ref = $this->_getRefIndex($ext_ref); + + // Split the range into 2 cell refs + list($cell1, $cell2) = explode(':', $range); + + // Convert the cell references + if (preg_match("/^(\\$)?[A-Ia-i]?[A-Za-z](\\$)?(\d+)$/", $cell1)) { + list($row1, $col1) = $this->_cellToPackedRowcol($cell1); + list($row2, $col2) = $this->_cellToPackedRowcol($cell2); + } else { // It's a rows range (like 26:27) + list($row1, $col1, $row2, $col2) = $this->_rangeToPackedRange($cell1.':'.$cell2); + } + + // The ptg value depends on the class of the ptg. +// if ($class == 0) { + $ptgArea = pack("C", $this->ptg['ptgArea3d']); +// } elseif ($class == 1) { +// $ptgArea = pack("C", $this->ptg['ptgArea3dV']); +// } elseif ($class == 2) { +// $ptgArea = pack("C", $this->ptg['ptgArea3dA']); +// } else { +// throw new PHPExcel_Writer_Exception("Unknown class $class"); +// } + + return $ptgArea . $ext_ref . $row1 . $row2 . $col1. $col2; + } + + /** + * Convert an Excel reference such as A1, $B2, C$3 or $D$4 to a ptgRefV. + * + * @access private + * @param string $cell An Excel cell reference + * @return string The cell in packed() format with the corresponding ptg + */ + function _convertRef2d($cell) + { +// $class = 2; // as far as I know, this is magick. + + // Convert the cell reference + $cell_array = $this->_cellToPackedRowcol($cell); + list($row, $col) = $cell_array; + + // The ptg value depends on the class of the ptg. +// if ($class == 0) { +// $ptgRef = pack("C", $this->ptg['ptgRef']); +// } elseif ($class == 1) { +// $ptgRef = pack("C", $this->ptg['ptgRefV']); +// } elseif ($class == 2) { + $ptgRef = pack("C", $this->ptg['ptgRefA']); +// } else { +// // TODO: use real error codes +// throw new PHPExcel_Writer_Exception("Unknown class $class"); +// } + return $ptgRef.$row.$col; + } + + /** + * Convert an Excel 3d reference such as "Sheet1!A1" or "Sheet1:Sheet2!A1" to a + * ptgRef3d. + * + * @access private + * @param string $cell An Excel cell reference + * @return mixed The packed ptgRef3d token on success. + */ + function _convertRef3d($cell) + { +// $class = 2; // as far as I know, this is magick. + + // Split the ref at the ! symbol + list($ext_ref, $cell) = explode('!', $cell); + + // Convert the external reference part (different for BIFF8) + $ext_ref = $this->_getRefIndex($ext_ref); + + // Convert the cell reference part + list($row, $col) = $this->_cellToPackedRowcol($cell); + + // The ptg value depends on the class of the ptg. +// if ($class == 0) { +// $ptgRef = pack("C", $this->ptg['ptgRef3d']); +// } elseif ($class == 1) { +// $ptgRef = pack("C", $this->ptg['ptgRef3dV']); +// } elseif ($class == 2) { + $ptgRef = pack("C", $this->ptg['ptgRef3dA']); +// } else { +// throw new PHPExcel_Writer_Exception("Unknown class $class"); +// } + + return $ptgRef . $ext_ref. $row . $col; + } + + /** + * Convert an error code to a ptgErr + * + * @access private + * @param string $errorCode The error code for conversion to its ptg value + * @return string The error code ptgErr + */ + function _convertError($errorCode) + { + switch ($errorCode) { + case '#NULL!': return pack("C", 0x00); + case '#DIV/0!': return pack("C", 0x07); + case '#VALUE!': return pack("C", 0x0F); + case '#REF!': return pack("C", 0x17); + case '#NAME?': return pack("C", 0x1D); + case '#NUM!': return pack("C", 0x24); + case '#N/A': return pack("C", 0x2A); + } + return pack("C", 0xFF); + } + + /** + * Convert the sheet name part of an external reference, for example "Sheet1" or + * "Sheet1:Sheet2", to a packed structure. + * + * @access private + * @param string $ext_ref The name of the external reference + * @return string The reference index in packed() format + */ + function _packExtRef($ext_ref) + { + $ext_ref = preg_replace("/^'/", '', $ext_ref); // Remove leading ' if any. + $ext_ref = preg_replace("/'$/", '', $ext_ref); // Remove trailing ' if any. + + // Check if there is a sheet range eg., Sheet1:Sheet2. + if (preg_match("/:/", $ext_ref)) { + list($sheet_name1, $sheet_name2) = explode(':', $ext_ref); + + $sheet1 = $this->_getSheetIndex($sheet_name1); + if ($sheet1 == -1) { + throw new PHPExcel_Writer_Exception("Unknown sheet name $sheet_name1 in formula"); + } + $sheet2 = $this->_getSheetIndex($sheet_name2); + if ($sheet2 == -1) { + throw new PHPExcel_Writer_Exception("Unknown sheet name $sheet_name2 in formula"); + } + + // Reverse max and min sheet numbers if necessary + if ($sheet1 > $sheet2) { + list($sheet1, $sheet2) = array($sheet2, $sheet1); + } + } else { // Single sheet name only. + $sheet1 = $this->_getSheetIndex($ext_ref); + if ($sheet1 == -1) { + throw new PHPExcel_Writer_Exception("Unknown sheet name $ext_ref in formula"); + } + $sheet2 = $sheet1; + } + + // References are stored relative to 0xFFFF. + $offset = -1 - $sheet1; + + return pack('vdvv', $offset, 0x00, $sheet1, $sheet2); + } + + /** + * Look up the REF index that corresponds to an external sheet name + * (or range). If it doesn't exist yet add it to the workbook's references + * array. It assumes all sheet names given must exist. + * + * @access private + * @param string $ext_ref The name of the external reference + * @return mixed The reference index in packed() format on success + */ + function _getRefIndex($ext_ref) + { + $ext_ref = preg_replace("/^'/", '', $ext_ref); // Remove leading ' if any. + $ext_ref = preg_replace("/'$/", '', $ext_ref); // Remove trailing ' if any. + $ext_ref = str_replace('\'\'', '\'', $ext_ref); // Replace escaped '' with ' + + // Check if there is a sheet range eg., Sheet1:Sheet2. + if (preg_match("/:/", $ext_ref)) { + list($sheet_name1, $sheet_name2) = explode(':', $ext_ref); + + $sheet1 = $this->_getSheetIndex($sheet_name1); + if ($sheet1 == -1) { + throw new PHPExcel_Writer_Exception("Unknown sheet name $sheet_name1 in formula"); + } + $sheet2 = $this->_getSheetIndex($sheet_name2); + if ($sheet2 == -1) { + throw new PHPExcel_Writer_Exception("Unknown sheet name $sheet_name2 in formula"); + } + + // Reverse max and min sheet numbers if necessary + if ($sheet1 > $sheet2) { + list($sheet1, $sheet2) = array($sheet2, $sheet1); + } + } else { // Single sheet name only. + $sheet1 = $this->_getSheetIndex($ext_ref); + if ($sheet1 == -1) { + throw new PHPExcel_Writer_Exception("Unknown sheet name $ext_ref in formula"); + } + $sheet2 = $sheet1; + } + + // assume all references belong to this document + $supbook_index = 0x00; + $ref = pack('vvv', $supbook_index, $sheet1, $sheet2); + $total_references = count($this->_references); + $index = -1; + for ($i = 0; $i < $total_references; ++$i) { + if ($ref == $this->_references[$i]) { + $index = $i; + break; + } + } + // if REF was not found add it to references array + if ($index == -1) { + $this->_references[$total_references] = $ref; + $index = $total_references; + } + + return pack('v', $index); + } + + /** + * Look up the index that corresponds to an external sheet name. The hash of + * sheet names is updated by the addworksheet() method of the + * PHPExcel_Writer_Excel5_Workbook class. + * + * @access private + * @param string $sheet_name Sheet name + * @return integer The sheet index, -1 if the sheet was not found + */ + function _getSheetIndex($sheet_name) + { + if (!isset($this->_ext_sheets[$sheet_name])) { + return -1; + } else { + return $this->_ext_sheets[$sheet_name]; + } + } + + /** + * This method is used to update the array of sheet names. It is + * called by the addWorksheet() method of the + * PHPExcel_Writer_Excel5_Workbook class. + * + * @access public + * @see PHPExcel_Writer_Excel5_Workbook::addWorksheet() + * @param string $name The name of the worksheet being added + * @param integer $index The index of the worksheet being added + */ + function setExtSheet($name, $index) + { + $this->_ext_sheets[$name] = $index; + } + + /** + * pack() row and column into the required 3 or 4 byte format. + * + * @access private + * @param string $cell The Excel cell reference to be packed + * @return array Array containing the row and column in packed() format + */ + function _cellToPackedRowcol($cell) + { + $cell = strtoupper($cell); + list($row, $col, $row_rel, $col_rel) = $this->_cellToRowcol($cell); + if ($col >= 256) { + throw new PHPExcel_Writer_Exception("Column in: $cell greater than 255"); + } + if ($row >= 65536) { + throw new PHPExcel_Writer_Exception("Row in: $cell greater than 65536 "); + } + + // Set the high bits to indicate if row or col are relative. + $col |= $col_rel << 14; + $col |= $row_rel << 15; + $col = pack('v', $col); + + $row = pack('v', $row); + + return array($row, $col); + } + + /** + * pack() row range into the required 3 or 4 byte format. + * Just using maximum col/rows, which is probably not the correct solution + * + * @access private + * @param string $range The Excel range to be packed + * @return array Array containing (row1,col1,row2,col2) in packed() format + */ + function _rangeToPackedRange($range) + { + preg_match('/(\$)?(\d+)\:(\$)?(\d+)/', $range, $match); + // return absolute rows if there is a $ in the ref + $row1_rel = empty($match[1]) ? 1 : 0; + $row1 = $match[2]; + $row2_rel = empty($match[3]) ? 1 : 0; + $row2 = $match[4]; + // Convert 1-index to zero-index + --$row1; + --$row2; + // Trick poor inocent Excel + $col1 = 0; + $col2 = 65535; // FIXME: maximum possible value for Excel 5 (change this!!!) + + // FIXME: this changes for BIFF8 + if (($row1 >= 65536) or ($row2 >= 65536)) { + throw new PHPExcel_Writer_Exception("Row in: $range greater than 65536 "); + } + + // Set the high bits to indicate if rows are relative. + $col1 |= $row1_rel << 15; + $col2 |= $row2_rel << 15; + $col1 = pack('v', $col1); + $col2 = pack('v', $col2); + + $row1 = pack('v', $row1); + $row2 = pack('v', $row2); + + return array($row1, $col1, $row2, $col2); + } + + /** + * Convert an Excel cell reference such as A1 or $B2 or C$3 or $D$4 to a zero + * indexed row and column number. Also returns two (0,1) values to indicate + * whether the row or column are relative references. + * + * @access private + * @param string $cell The Excel cell reference in A1 format. + * @return array + */ + function _cellToRowcol($cell) + { + preg_match('/(\$)?([A-I]?[A-Z])(\$)?(\d+)/',$cell,$match); + // return absolute column if there is a $ in the ref + $col_rel = empty($match[1]) ? 1 : 0; + $col_ref = $match[2]; + $row_rel = empty($match[3]) ? 1 : 0; + $row = $match[4]; + + // Convert base26 column string to a number. + $expn = strlen($col_ref) - 1; + $col = 0; + $col_ref_length = strlen($col_ref); + for ($i = 0; $i < $col_ref_length; ++$i) { + $col += (ord($col_ref{$i}) - 64) * pow(26, $expn); + --$expn; + } + + // Convert 1-index to zero-index + --$row; + --$col; + + return array($row, $col, $row_rel, $col_rel); + } + + /** + * Advance to the next valid token. + * + * @access private + */ + function _advance() + { + $i = $this->_current_char; + $formula_length = strlen($this->_formula); + // eat up white spaces + if ($i < $formula_length) { + while ($this->_formula{$i} == " ") { + ++$i; + } + + if ($i < ($formula_length - 1)) { + $this->_lookahead = $this->_formula{$i+1}; + } + $token = ''; + } + + while ($i < $formula_length) { + $token .= $this->_formula{$i}; + + if ($i < ($formula_length - 1)) { + $this->_lookahead = $this->_formula{$i+1}; + } else { + $this->_lookahead = ''; + } + + if ($this->_match($token) != '') { + //if ($i < strlen($this->_formula) - 1) { + // $this->_lookahead = $this->_formula{$i+1}; + //} + $this->_current_char = $i + 1; + $this->_current_token = $token; + return 1; + } + + if ($i < ($formula_length - 2)) { + $this->_lookahead = $this->_formula{$i+2}; + } else { // if we run out of characters _lookahead becomes empty + $this->_lookahead = ''; + } + ++$i; + } + //die("Lexical error ".$this->_current_char); + } + + /** + * Checks if it's a valid token. + * + * @access private + * @param mixed $token The token to check. + * @return mixed The checked token or false on failure + */ + function _match($token) + { + switch($token) { + case "+": + case "-": + case "*": + case "/": + case "(": + case ")": + case ",": + case ";": + case ">=": + case "<=": + case "=": + case "<>": + case "^": + case "&": + case "%": + return $token; + break; + case ">": + if ($this->_lookahead == '=') { // it's a GE token + break; + } + return $token; + break; + case "<": + // it's a LE or a NE token + if (($this->_lookahead == '=') or ($this->_lookahead == '>')) { + break; + } + return $token; + break; + default: + // if it's a reference A1 or $A$1 or $A1 or A$1 + if (preg_match('/^\$?[A-Ia-i]?[A-Za-z]\$?[0-9]+$/',$token) and + !preg_match("/[0-9]/",$this->_lookahead) and + ($this->_lookahead != ':') and ($this->_lookahead != '.') and + ($this->_lookahead != '!')) + { + return $token; + } + // If it's an external reference (Sheet1!A1 or Sheet1:Sheet2!A1 or Sheet1!$A$1 or Sheet1:Sheet2!$A$1) + elseif (preg_match("/^" . self::REGEX_SHEET_TITLE_UNQUOTED . "(\:" . self::REGEX_SHEET_TITLE_UNQUOTED . ")?\!\\$?[A-Ia-i]?[A-Za-z]\\$?[0-9]+$/u",$token) and + !preg_match("/[0-9]/",$this->_lookahead) and + ($this->_lookahead != ':') and ($this->_lookahead != '.')) + { + return $token; + } + // If it's an external reference ('Sheet1'!A1 or 'Sheet1:Sheet2'!A1 or 'Sheet1'!$A$1 or 'Sheet1:Sheet2'!$A$1) + elseif (preg_match("/^'" . self::REGEX_SHEET_TITLE_QUOTED . "(\:" . self::REGEX_SHEET_TITLE_QUOTED . ")?'\!\\$?[A-Ia-i]?[A-Za-z]\\$?[0-9]+$/u",$token) and + !preg_match("/[0-9]/",$this->_lookahead) and + ($this->_lookahead != ':') and ($this->_lookahead != '.')) + { + return $token; + } + // if it's a range A1:A2 or $A$1:$A$2 + elseif (preg_match('/^(\$)?[A-Ia-i]?[A-Za-z](\$)?[0-9]+:(\$)?[A-Ia-i]?[A-Za-z](\$)?[0-9]+$/', $token) and + !preg_match("/[0-9]/",$this->_lookahead)) + { + return $token; + } + // If it's an external range like Sheet1!A1:B2 or Sheet1:Sheet2!A1:B2 or Sheet1!$A$1:$B$2 or Sheet1:Sheet2!$A$1:$B$2 + elseif (preg_match("/^" . self::REGEX_SHEET_TITLE_UNQUOTED . "(\:" . self::REGEX_SHEET_TITLE_UNQUOTED . ")?\!\\$?([A-Ia-i]?[A-Za-z])?\\$?[0-9]+:\\$?([A-Ia-i]?[A-Za-z])?\\$?[0-9]+$/u",$token) and + !preg_match("/[0-9]/",$this->_lookahead)) + { + return $token; + } + // If it's an external range like 'Sheet1'!A1:B2 or 'Sheet1:Sheet2'!A1:B2 or 'Sheet1'!$A$1:$B$2 or 'Sheet1:Sheet2'!$A$1:$B$2 + elseif (preg_match("/^'" . self::REGEX_SHEET_TITLE_QUOTED . "(\:" . self::REGEX_SHEET_TITLE_QUOTED . ")?'\!\\$?([A-Ia-i]?[A-Za-z])?\\$?[0-9]+:\\$?([A-Ia-i]?[A-Za-z])?\\$?[0-9]+$/u",$token) and + !preg_match("/[0-9]/",$this->_lookahead)) + { + return $token; + } + // If it's a number (check that it's not a sheet name or range) + elseif (is_numeric($token) and + (!is_numeric($token.$this->_lookahead) or ($this->_lookahead == '')) and + ($this->_lookahead != '!') and ($this->_lookahead != ':')) + { + return $token; + } + // If it's a string (of maximum 255 characters) + elseif (preg_match("/\"([^\"]|\"\"){0,255}\"/",$token) and $this->_lookahead != '"' and (substr_count($token, '"')%2 == 0)) + { + return $token; + } + // If it's an error code + elseif (preg_match("/^#[A-Z0\/]{3,5}[!?]{1}$/", $token) or $token == '#N/A') + { + return $token; + } + // if it's a function call + elseif (preg_match("/^[A-Z0-9\xc0-\xdc\.]+$/i",$token) and ($this->_lookahead == "(")) + { + return $token; + } + // It's an argument of some description (e.g. a named range), + // precise nature yet to be determined + elseif(substr($token,-1) == ')') { + return $token; + } + return ''; + } + } + + /** + * The parsing method. It parses a formula. + * + * @access public + * @param string $formula The formula to parse, without the initial equal + * sign (=). + * @return mixed true on success + */ + function parse($formula) + { + $this->_current_char = 0; + $this->_formula = $formula; + $this->_lookahead = isset($formula{1}) ? $formula{1} : ''; + $this->_advance(); + $this->_parse_tree = $this->_condition(); + return true; + } + + /** + * It parses a condition. It assumes the following rule: + * Cond -> Expr [(">" | "<") Expr] + * + * @access private + * @return mixed The parsed ptg'd tree on success + */ + function _condition() + { + $result = $this->_expression(); + if ($this->_current_token == "<") { + $this->_advance(); + $result2 = $this->_expression(); + $result = $this->_createTree('ptgLT', $result, $result2); + } elseif ($this->_current_token == ">") { + $this->_advance(); + $result2 = $this->_expression(); + $result = $this->_createTree('ptgGT', $result, $result2); + } elseif ($this->_current_token == "<=") { + $this->_advance(); + $result2 = $this->_expression(); + $result = $this->_createTree('ptgLE', $result, $result2); + } elseif ($this->_current_token == ">=") { + $this->_advance(); + $result2 = $this->_expression(); + $result = $this->_createTree('ptgGE', $result, $result2); + } elseif ($this->_current_token == "=") { + $this->_advance(); + $result2 = $this->_expression(); + $result = $this->_createTree('ptgEQ', $result, $result2); + } elseif ($this->_current_token == "<>") { + $this->_advance(); + $result2 = $this->_expression(); + $result = $this->_createTree('ptgNE', $result, $result2); + } elseif ($this->_current_token == "&") { + $this->_advance(); + $result2 = $this->_expression(); + $result = $this->_createTree('ptgConcat', $result, $result2); + } + return $result; + } + + /** + * It parses a expression. It assumes the following rule: + * Expr -> Term [("+" | "-") Term] + * -> "string" + * -> "-" Term : Negative value + * -> "+" Term : Positive value + * -> Error code + * + * @access private + * @return mixed The parsed ptg'd tree on success + */ + function _expression() + { + // If it's a string return a string node + if (preg_match("/\"([^\"]|\"\"){0,255}\"/", $this->_current_token)) { + $tmp = str_replace('""', '"', $this->_current_token); + if (($tmp == '"') || ($tmp == '')) $tmp = '""'; // Trap for "" that has been used for an empty string + $result = $this->_createTree($tmp, '', ''); + $this->_advance(); + return $result; + // If it's an error code + } elseif (preg_match("/^#[A-Z0\/]{3,5}[!?]{1}$/", $this->_current_token) or $this->_current_token == '#N/A'){ + $result = $this->_createTree($this->_current_token, 'ptgErr', ''); + $this->_advance(); + return $result; + // If it's a negative value + } elseif ($this->_current_token == "-") { + // catch "-" Term + $this->_advance(); + $result2 = $this->_expression(); + $result = $this->_createTree('ptgUminus', $result2, ''); + return $result; + // If it's a positive value + } elseif ($this->_current_token == "+") { + // catch "+" Term + $this->_advance(); + $result2 = $this->_expression(); + $result = $this->_createTree('ptgUplus', $result2, ''); + return $result; + } + $result = $this->_term(); + while (($this->_current_token == "+") or + ($this->_current_token == "-") or + ($this->_current_token == "^")) { + /**/ + if ($this->_current_token == "+") { + $this->_advance(); + $result2 = $this->_term(); + $result = $this->_createTree('ptgAdd', $result, $result2); + } elseif ($this->_current_token == "-") { + $this->_advance(); + $result2 = $this->_term(); + $result = $this->_createTree('ptgSub', $result, $result2); + } else { + $this->_advance(); + $result2 = $this->_term(); + $result = $this->_createTree('ptgPower', $result, $result2); + } + } + return $result; + } + + /** + * This function just introduces a ptgParen element in the tree, so that Excel + * doesn't get confused when working with a parenthesized formula afterwards. + * + * @access private + * @see _fact() + * @return array The parsed ptg'd tree + */ + function _parenthesizedExpression() + { + $result = $this->_createTree('ptgParen', $this->_expression(), ''); + return $result; + } + + /** + * It parses a term. It assumes the following rule: + * Term -> Fact [("*" | "/") Fact] + * + * @access private + * @return mixed The parsed ptg'd tree on success + */ + function _term() + { + $result = $this->_fact(); + while (($this->_current_token == "*") or + ($this->_current_token == "/")) { + /**/ + if ($this->_current_token == "*") { + $this->_advance(); + $result2 = $this->_fact(); + $result = $this->_createTree('ptgMul', $result, $result2); + } else { + $this->_advance(); + $result2 = $this->_fact(); + $result = $this->_createTree('ptgDiv', $result, $result2); + } + } + return $result; + } + + /** + * It parses a factor. It assumes the following rule: + * Fact -> ( Expr ) + * | CellRef + * | CellRange + * | Number + * | Function + * + * @access private + * @return mixed The parsed ptg'd tree on success + */ + function _fact() + { + if ($this->_current_token == "(") { + $this->_advance(); // eat the "(" + $result = $this->_parenthesizedExpression(); + if ($this->_current_token != ")") { + throw new PHPExcel_Writer_Exception("')' token expected."); + } + $this->_advance(); // eat the ")" + return $result; + } + // if it's a reference + if (preg_match('/^\$?[A-Ia-i]?[A-Za-z]\$?[0-9]+$/',$this->_current_token)) + { + $result = $this->_createTree($this->_current_token, '', ''); + $this->_advance(); + return $result; + } + // If it's an external reference (Sheet1!A1 or Sheet1:Sheet2!A1 or Sheet1!$A$1 or Sheet1:Sheet2!$A$1) + elseif (preg_match("/^" . self::REGEX_SHEET_TITLE_UNQUOTED . "(\:" . self::REGEX_SHEET_TITLE_UNQUOTED . ")?\!\\$?[A-Ia-i]?[A-Za-z]\\$?[0-9]+$/u",$this->_current_token)) + { + $result = $this->_createTree($this->_current_token, '', ''); + $this->_advance(); + return $result; + } + // If it's an external reference ('Sheet1'!A1 or 'Sheet1:Sheet2'!A1 or 'Sheet1'!$A$1 or 'Sheet1:Sheet2'!$A$1) + elseif (preg_match("/^'" . self::REGEX_SHEET_TITLE_QUOTED . "(\:" . self::REGEX_SHEET_TITLE_QUOTED . ")?'\!\\$?[A-Ia-i]?[A-Za-z]\\$?[0-9]+$/u",$this->_current_token)) + { + $result = $this->_createTree($this->_current_token, '', ''); + $this->_advance(); + return $result; + } + // if it's a range A1:B2 or $A$1:$B$2 + elseif (preg_match('/^(\$)?[A-Ia-i]?[A-Za-z](\$)?[0-9]+:(\$)?[A-Ia-i]?[A-Za-z](\$)?[0-9]+$/',$this->_current_token) or + preg_match('/^(\$)?[A-Ia-i]?[A-Za-z](\$)?[0-9]+\.\.(\$)?[A-Ia-i]?[A-Za-z](\$)?[0-9]+$/',$this->_current_token)) + { + // must be an error? + $result = $this->_createTree($this->_current_token, '', ''); + $this->_advance(); + return $result; + } + // If it's an external range (Sheet1!A1:B2 or Sheet1:Sheet2!A1:B2 or Sheet1!$A$1:$B$2 or Sheet1:Sheet2!$A$1:$B$2) + elseif (preg_match("/^" . self::REGEX_SHEET_TITLE_UNQUOTED . "(\:" . self::REGEX_SHEET_TITLE_UNQUOTED . ")?\!\\$?([A-Ia-i]?[A-Za-z])?\\$?[0-9]+:\\$?([A-Ia-i]?[A-Za-z])?\\$?[0-9]+$/u",$this->_current_token)) + { + // must be an error? + //$result = $this->_current_token; + $result = $this->_createTree($this->_current_token, '', ''); + $this->_advance(); + return $result; + } + // If it's an external range ('Sheet1'!A1:B2 or 'Sheet1'!A1:B2 or 'Sheet1'!$A$1:$B$2 or 'Sheet1'!$A$1:$B$2) + elseif (preg_match("/^'" . self::REGEX_SHEET_TITLE_QUOTED . "(\:" . self::REGEX_SHEET_TITLE_QUOTED . ")?'\!\\$?([A-Ia-i]?[A-Za-z])?\\$?[0-9]+:\\$?([A-Ia-i]?[A-Za-z])?\\$?[0-9]+$/u",$this->_current_token)) + { + // must be an error? + //$result = $this->_current_token; + $result = $this->_createTree($this->_current_token, '', ''); + $this->_advance(); + return $result; + } + // If it's a number or a percent + elseif (is_numeric($this->_current_token)) + { + if($this->_lookahead == '%'){ + $result = $this->_createTree('ptgPercent', $this->_current_token, ''); + $this->_advance(); // Skip the percentage operator once we've pre-built that tree + } else { + $result = $this->_createTree($this->_current_token, '', ''); + } + $this->_advance(); + return $result; + } + // if it's a function call + elseif (preg_match("/^[A-Z0-9\xc0-\xdc\.]+$/i",$this->_current_token)) + { + $result = $this->_func(); + return $result; + } + throw new PHPExcel_Writer_Exception("Syntax error: ".$this->_current_token. + ", lookahead: ".$this->_lookahead. + ", current char: ".$this->_current_char); + } + + /** + * It parses a function call. It assumes the following rule: + * Func -> ( Expr [,Expr]* ) + * + * @access private + * @return mixed The parsed ptg'd tree on success + */ + function _func() + { + $num_args = 0; // number of arguments received + $function = strtoupper($this->_current_token); + $result = ''; // initialize result + $this->_advance(); + $this->_advance(); // eat the "(" + while ($this->_current_token != ')') { + /**/ + if ($num_args > 0) { + if ($this->_current_token == "," or + $this->_current_token == ";") + { + $this->_advance(); // eat the "," or ";" + } else { + throw new PHPExcel_Writer_Exception("Syntax error: comma expected in ". + "function $function, arg #{$num_args}"); + } + $result2 = $this->_condition(); + $result = $this->_createTree('arg', $result, $result2); + } else { // first argument + $result2 = $this->_condition(); + $result = $this->_createTree('arg', '', $result2); + } + ++$num_args; + } + if (!isset($this->_functions[$function])) { + throw new PHPExcel_Writer_Exception("Function $function() doesn't exist"); + } + $args = $this->_functions[$function][1]; + // If fixed number of args eg. TIME($i,$j,$k). Check that the number of args is valid. + if (($args >= 0) and ($args != $num_args)) { + throw new PHPExcel_Writer_Exception("Incorrect number of arguments in function $function() "); + } + + $result = $this->_createTree($function, $result, $num_args); + $this->_advance(); // eat the ")" + return $result; + } + + /** + * Creates a tree. In fact an array which may have one or two arrays (sub-trees) + * as elements. + * + * @access private + * @param mixed $value The value of this node. + * @param mixed $left The left array (sub-tree) or a final node. + * @param mixed $right The right array (sub-tree) or a final node. + * @return array A tree + */ + function _createTree($value, $left, $right) + { + return array('value' => $value, 'left' => $left, 'right' => $right); + } + + /** + * Builds a string containing the tree in reverse polish notation (What you + * would use in a HP calculator stack). + * The following tree: + * + * + + * / \ + * 2 3 + * + * produces: "23+" + * + * The following tree: + * + * + + * / \ + * 3 * + * / \ + * 6 A1 + * + * produces: "36A1*+" + * + * In fact all operands, functions, references, etc... are written as ptg's + * + * @access public + * @param array $tree The optional tree to convert. + * @return string The tree in reverse polish notation + */ + function toReversePolish($tree = array()) + { + $polish = ""; // the string we are going to return + if (empty($tree)) { // If it's the first call use _parse_tree + $tree = $this->_parse_tree; + } + + if (is_array($tree['left'])) { + $converted_tree = $this->toReversePolish($tree['left']); + $polish .= $converted_tree; + } elseif ($tree['left'] != '') { // It's a final node + $converted_tree = $this->_convert($tree['left']); + $polish .= $converted_tree; + } + if (is_array($tree['right'])) { + $converted_tree = $this->toReversePolish($tree['right']); + $polish .= $converted_tree; + } elseif ($tree['right'] != '') { // It's a final node + $converted_tree = $this->_convert($tree['right']); + $polish .= $converted_tree; + } + // if it's a function convert it here (so we can set it's arguments) + if (preg_match("/^[A-Z0-9\xc0-\xdc\.]+$/",$tree['value']) and + !preg_match('/^([A-Ia-i]?[A-Za-z])(\d+)$/',$tree['value']) and + !preg_match("/^[A-Ia-i]?[A-Za-z](\d+)\.\.[A-Ia-i]?[A-Za-z](\d+)$/",$tree['value']) and + !is_numeric($tree['value']) and + !isset($this->ptg[$tree['value']])) + { + // left subtree for a function is always an array. + if ($tree['left'] != '') { + $left_tree = $this->toReversePolish($tree['left']); + } else { + $left_tree = ''; + } + // add it's left subtree and return. + return $left_tree.$this->_convertFunction($tree['value'], $tree['right']); + } else { + $converted_tree = $this->_convert($tree['value']); + } + $polish .= $converted_tree; + return $polish; + } + +} diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/Excel5/Workbook.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/Excel5/Workbook.php new file mode 100644 index 00000000..ecfac5dc --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/Excel5/Workbook.php @@ -0,0 +1,1450 @@ +<?php +/** + * PHPExcel + * + * Copyright (c) 2006 - 2014 PHPExcel + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * @category PHPExcel + * @package PHPExcel_Writer_Excel5 + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @version ##VERSION##, ##DATE## + */ + +// Original file header of PEAR::Spreadsheet_Excel_Writer_Workbook (used as the base for this class): +// ----------------------------------------------------------------------------------------- +// /* +// * Module written/ported by Xavier Noguer <xnoguer@rezebra.com> +// * +// * The majority of this is _NOT_ my code. I simply ported it from the +// * PERL Spreadsheet::WriteExcel module. +// * +// * The author of the Spreadsheet::WriteExcel module is John McNamara +// * <jmcnamara@cpan.org> +// * +// * I _DO_ maintain this code, and John McNamara has nothing to do with the +// * porting of this code to PHP. Any questions directly related to this +// * class library should be directed to me. +// * +// * License Information: +// * +// * Spreadsheet_Excel_Writer: A library for generating Excel Spreadsheets +// * Copyright (c) 2002-2003 Xavier Noguer xnoguer@rezebra.com +// * +// * This library is free software; you can redistribute it and/or +// * modify it under the terms of the GNU Lesser General Public +// * License as published by the Free Software Foundation; either +// * version 2.1 of the License, or (at your option) any later version. +// * +// * This library is distributed in the hope that it will be useful, +// * but WITHOUT ANY WARRANTY; without even the implied warranty of +// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +// * Lesser General Public License for more details. +// * +// * You should have received a copy of the GNU Lesser General Public +// * License along with this library; if not, write to the Free Software +// * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +// */ + + +/** + * PHPExcel_Writer_Excel5_Workbook + * + * @category PHPExcel + * @package PHPExcel_Writer_Excel5 + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + */ +class PHPExcel_Writer_Excel5_Workbook extends PHPExcel_Writer_Excel5_BIFFwriter +{ + /** + * Formula parser + * + * @var PHPExcel_Writer_Excel5_Parser + */ + private $_parser; + + /** + * The BIFF file size for the workbook. + * @var integer + * @see _calcSheetOffsets() + */ + public $_biffsize; + + /** + * XF Writers + * @var PHPExcel_Writer_Excel5_Xf[] + */ + private $_xfWriters = array(); + + /** + * Array containing the colour palette + * @var array + */ + public $_palette; + + /** + * The codepage indicates the text encoding used for strings + * @var integer + */ + public $_codepage; + + /** + * The country code used for localization + * @var integer + */ + public $_country_code; + + /** + * Workbook + * @var PHPExcel + */ + private $_phpExcel; + + /** + * Fonts writers + * + * @var PHPExcel_Writer_Excel5_Font[] + */ + private $_fontWriters = array(); + + /** + * Added fonts. Maps from font's hash => index in workbook + * + * @var array + */ + private $_addedFonts = array(); + + /** + * Shared number formats + * + * @var array + */ + private $_numberFormats = array(); + + /** + * Added number formats. Maps from numberFormat's hash => index in workbook + * + * @var array + */ + private $_addedNumberFormats = array(); + + /** + * Sizes of the binary worksheet streams + * + * @var array + */ + private $_worksheetSizes = array(); + + /** + * Offsets of the binary worksheet streams relative to the start of the global workbook stream + * + * @var array + */ + private $_worksheetOffsets = array(); + + /** + * Total number of shared strings in workbook + * + * @var int + */ + private $_str_total; + + /** + * Number of unique shared strings in workbook + * + * @var int + */ + private $_str_unique; + + /** + * Array of unique shared strings in workbook + * + * @var array + */ + private $_str_table; + + /** + * Color cache + */ + private $_colors; + + /** + * Escher object corresponding to MSODRAWINGGROUP + * + * @var PHPExcel_Shared_Escher + */ + private $_escher; + + + /** + * Class constructor + * + * @param PHPExcel $phpExcel The Workbook + * @param int &$str_total Total number of strings + * @param int &$str_unique Total number of unique strings + * @param array &$str_table String Table + * @param array &$colors Colour Table + * @param mixed $parser The formula parser created for the Workbook + */ + public function __construct(PHPExcel $phpExcel = null, + &$str_total, &$str_unique, &$str_table, &$colors, + $parser ) + { + // It needs to call its parent's constructor explicitly + parent::__construct(); + + $this->_parser = $parser; + $this->_biffsize = 0; + $this->_palette = array(); + $this->_country_code = -1; + + $this->_str_total = &$str_total; + $this->_str_unique = &$str_unique; + $this->_str_table = &$str_table; + $this->_colors = &$colors; + $this->_setPaletteXl97(); + + $this->_phpExcel = $phpExcel; + + // set BIFFwriter limit for CONTINUE records + // $this->_limit = 8224; + $this->_codepage = 0x04B0; + + // Add empty sheets and Build color cache + $countSheets = $phpExcel->getSheetCount(); + for ($i = 0; $i < $countSheets; ++$i) { + $phpSheet = $phpExcel->getSheet($i); + + $this->_parser->setExtSheet($phpSheet->getTitle(), $i); // Register worksheet name with parser + + $supbook_index = 0x00; + $ref = pack('vvv', $supbook_index, $i, $i); + $this->_parser->_references[] = $ref; // Register reference with parser + + // Sheet tab colors? + if ($phpSheet->isTabColorSet()) { + $this->_addColor($phpSheet->getTabColor()->getRGB()); + } + } + + } + + /** + * Add a new XF writer + * + * @param PHPExcel_Style + * @param boolean Is it a style XF? + * @return int Index to XF record + */ + public function addXfWriter($style, $isStyleXf = false) + { + $xfWriter = new PHPExcel_Writer_Excel5_Xf($style); + $xfWriter->setIsStyleXf($isStyleXf); + + // Add the font if not already added + $fontIndex = $this->_addFont($style->getFont()); + + // Assign the font index to the xf record + $xfWriter->setFontIndex($fontIndex); + + // Background colors, best to treat these after the font so black will come after white in custom palette + $xfWriter->setFgColor($this->_addColor($style->getFill()->getStartColor()->getRGB())); + $xfWriter->setBgColor($this->_addColor($style->getFill()->getEndColor()->getRGB())); + $xfWriter->setBottomColor($this->_addColor($style->getBorders()->getBottom()->getColor()->getRGB())); + $xfWriter->setTopColor($this->_addColor($style->getBorders()->getTop()->getColor()->getRGB())); + $xfWriter->setRightColor($this->_addColor($style->getBorders()->getRight()->getColor()->getRGB())); + $xfWriter->setLeftColor($this->_addColor($style->getBorders()->getLeft()->getColor()->getRGB())); + $xfWriter->setDiagColor($this->_addColor($style->getBorders()->getDiagonal()->getColor()->getRGB())); + + // Add the number format if it is not a built-in one and not already added + if ($style->getNumberFormat()->getBuiltInFormatCode() === false) { + $numberFormatHashCode = $style->getNumberFormat()->getHashCode(); + + if (isset($this->_addedNumberFormats[$numberFormatHashCode])) { + $numberFormatIndex = $this->_addedNumberFormats[$numberFormatHashCode]; + } else { + $numberFormatIndex = 164 + count($this->_numberFormats); + $this->_numberFormats[$numberFormatIndex] = $style->getNumberFormat(); + $this->_addedNumberFormats[$numberFormatHashCode] = $numberFormatIndex; + } + } else { + $numberFormatIndex = (int) $style->getNumberFormat()->getBuiltInFormatCode(); + } + + // Assign the number format index to xf record + $xfWriter->setNumberFormatIndex($numberFormatIndex); + + $this->_xfWriters[] = $xfWriter; + + $xfIndex = count($this->_xfWriters) - 1; + return $xfIndex; + } + + /** + * Add a font to added fonts + * + * @param PHPExcel_Style_Font $font + * @return int Index to FONT record + */ + public function _addFont(PHPExcel_Style_Font $font) + { + $fontHashCode = $font->getHashCode(); + if(isset($this->_addedFonts[$fontHashCode])){ + $fontIndex = $this->_addedFonts[$fontHashCode]; + } else { + $countFonts = count($this->_fontWriters); + $fontIndex = ($countFonts < 4) ? $countFonts : $countFonts + 1; + + $fontWriter = new PHPExcel_Writer_Excel5_Font($font); + $fontWriter->setColorIndex($this->_addColor($font->getColor()->getRGB())); + $this->_fontWriters[] = $fontWriter; + + $this->_addedFonts[$fontHashCode] = $fontIndex; + } + return $fontIndex; + } + + /** + * Alter color palette adding a custom color + * + * @param string $rgb E.g. 'FF00AA' + * @return int Color index + */ + private function _addColor($rgb) { + if (!isset($this->_colors[$rgb])) { + if (count($this->_colors) < 57) { + // then we add a custom color altering the palette + $colorIndex = 8 + count($this->_colors); + $this->_palette[$colorIndex] = + array( + hexdec(substr($rgb, 0, 2)), + hexdec(substr($rgb, 2, 2)), + hexdec(substr($rgb, 4)), + 0 + ); + $this->_colors[$rgb] = $colorIndex; + } else { + // no room for more custom colors, just map to black + $colorIndex = 0; + } + } else { + // fetch already added custom color + $colorIndex = $this->_colors[$rgb]; + } + + return $colorIndex; + } + + /** + * Sets the colour palette to the Excel 97+ default. + * + * @access private + */ + function _setPaletteXl97() + { + $this->_palette = array( + 0x08 => array(0x00, 0x00, 0x00, 0x00), + 0x09 => array(0xff, 0xff, 0xff, 0x00), + 0x0A => array(0xff, 0x00, 0x00, 0x00), + 0x0B => array(0x00, 0xff, 0x00, 0x00), + 0x0C => array(0x00, 0x00, 0xff, 0x00), + 0x0D => array(0xff, 0xff, 0x00, 0x00), + 0x0E => array(0xff, 0x00, 0xff, 0x00), + 0x0F => array(0x00, 0xff, 0xff, 0x00), + 0x10 => array(0x80, 0x00, 0x00, 0x00), + 0x11 => array(0x00, 0x80, 0x00, 0x00), + 0x12 => array(0x00, 0x00, 0x80, 0x00), + 0x13 => array(0x80, 0x80, 0x00, 0x00), + 0x14 => array(0x80, 0x00, 0x80, 0x00), + 0x15 => array(0x00, 0x80, 0x80, 0x00), + 0x16 => array(0xc0, 0xc0, 0xc0, 0x00), + 0x17 => array(0x80, 0x80, 0x80, 0x00), + 0x18 => array(0x99, 0x99, 0xff, 0x00), + 0x19 => array(0x99, 0x33, 0x66, 0x00), + 0x1A => array(0xff, 0xff, 0xcc, 0x00), + 0x1B => array(0xcc, 0xff, 0xff, 0x00), + 0x1C => array(0x66, 0x00, 0x66, 0x00), + 0x1D => array(0xff, 0x80, 0x80, 0x00), + 0x1E => array(0x00, 0x66, 0xcc, 0x00), + 0x1F => array(0xcc, 0xcc, 0xff, 0x00), + 0x20 => array(0x00, 0x00, 0x80, 0x00), + 0x21 => array(0xff, 0x00, 0xff, 0x00), + 0x22 => array(0xff, 0xff, 0x00, 0x00), + 0x23 => array(0x00, 0xff, 0xff, 0x00), + 0x24 => array(0x80, 0x00, 0x80, 0x00), + 0x25 => array(0x80, 0x00, 0x00, 0x00), + 0x26 => array(0x00, 0x80, 0x80, 0x00), + 0x27 => array(0x00, 0x00, 0xff, 0x00), + 0x28 => array(0x00, 0xcc, 0xff, 0x00), + 0x29 => array(0xcc, 0xff, 0xff, 0x00), + 0x2A => array(0xcc, 0xff, 0xcc, 0x00), + 0x2B => array(0xff, 0xff, 0x99, 0x00), + 0x2C => array(0x99, 0xcc, 0xff, 0x00), + 0x2D => array(0xff, 0x99, 0xcc, 0x00), + 0x2E => array(0xcc, 0x99, 0xff, 0x00), + 0x2F => array(0xff, 0xcc, 0x99, 0x00), + 0x30 => array(0x33, 0x66, 0xff, 0x00), + 0x31 => array(0x33, 0xcc, 0xcc, 0x00), + 0x32 => array(0x99, 0xcc, 0x00, 0x00), + 0x33 => array(0xff, 0xcc, 0x00, 0x00), + 0x34 => array(0xff, 0x99, 0x00, 0x00), + 0x35 => array(0xff, 0x66, 0x00, 0x00), + 0x36 => array(0x66, 0x66, 0x99, 0x00), + 0x37 => array(0x96, 0x96, 0x96, 0x00), + 0x38 => array(0x00, 0x33, 0x66, 0x00), + 0x39 => array(0x33, 0x99, 0x66, 0x00), + 0x3A => array(0x00, 0x33, 0x00, 0x00), + 0x3B => array(0x33, 0x33, 0x00, 0x00), + 0x3C => array(0x99, 0x33, 0x00, 0x00), + 0x3D => array(0x99, 0x33, 0x66, 0x00), + 0x3E => array(0x33, 0x33, 0x99, 0x00), + 0x3F => array(0x33, 0x33, 0x33, 0x00), + ); + } + + /** + * Assemble worksheets into a workbook and send the BIFF data to an OLE + * storage. + * + * @param array $pWorksheetSizes The sizes in bytes of the binary worksheet streams + * @return string Binary data for workbook stream + */ + public function writeWorkbook($pWorksheetSizes = null) + { + $this->_worksheetSizes = $pWorksheetSizes; + + // Calculate the number of selected worksheet tabs and call the finalization + // methods for each worksheet + $total_worksheets = $this->_phpExcel->getSheetCount(); + + // Add part 1 of the Workbook globals, what goes before the SHEET records + $this->_storeBof(0x0005); + $this->_writeCodepage(); + $this->_writeWindow1(); + + $this->_writeDatemode(); + $this->_writeAllFonts(); + $this->_writeAllNumFormats(); + $this->_writeAllXfs(); + $this->_writeAllStyles(); + $this->_writePalette(); + + // Prepare part 3 of the workbook global stream, what goes after the SHEET records + $part3 = ''; + if ($this->_country_code != -1) { + $part3 .= $this->_writeCountry(); + } + $part3 .= $this->_writeRecalcId(); + + $part3 .= $this->_writeSupbookInternal(); + /* TODO: store external SUPBOOK records and XCT and CRN records + in case of external references for BIFF8 */ + $part3 .= $this->_writeExternsheetBiff8(); + $part3 .= $this->_writeAllDefinedNamesBiff8(); + $part3 .= $this->_writeMsoDrawingGroup(); + $part3 .= $this->_writeSharedStringsTable(); + + $part3 .= $this->writeEof(); + + // Add part 2 of the Workbook globals, the SHEET records + $this->_calcSheetOffsets(); + for ($i = 0; $i < $total_worksheets; ++$i) { + $this->_writeBoundsheet($this->_phpExcel->getSheet($i), $this->_worksheetOffsets[$i]); + } + + // Add part 3 of the Workbook globals + $this->_data .= $part3; + + return $this->_data; + } + + /** + * Calculate offsets for Worksheet BOF records. + * + * @access private + */ + function _calcSheetOffsets() + { + $boundsheet_length = 10; // fixed length for a BOUNDSHEET record + + // size of Workbook globals part 1 + 3 + $offset = $this->_datasize; + + // add size of Workbook globals part 2, the length of the SHEET records + $total_worksheets = count($this->_phpExcel->getAllSheets()); + foreach ($this->_phpExcel->getWorksheetIterator() as $sheet) { + $offset += $boundsheet_length + strlen(PHPExcel_Shared_String::UTF8toBIFF8UnicodeShort($sheet->getTitle())); + } + + // add the sizes of each of the Sheet substreams, respectively + for ($i = 0; $i < $total_worksheets; ++$i) { + $this->_worksheetOffsets[$i] = $offset; + $offset += $this->_worksheetSizes[$i]; + } + $this->_biffsize = $offset; + } + + /** + * Store the Excel FONT records. + */ + private function _writeAllFonts() + { + foreach ($this->_fontWriters as $fontWriter) { + $this->_append($fontWriter->writeFont()); + } + } + + /** + * Store user defined numerical formats i.e. FORMAT records + */ + private function _writeAllNumFormats() + { + foreach ($this->_numberFormats as $numberFormatIndex => $numberFormat) { + $this->_writeNumFormat($numberFormat->getFormatCode(), $numberFormatIndex); + } + } + + /** + * Write all XF records. + */ + private function _writeAllXfs() + { + foreach ($this->_xfWriters as $xfWriter) { + $this->_append($xfWriter->writeXf()); + } + } + + /** + * Write all STYLE records. + */ + private function _writeAllStyles() + { + $this->_writeStyle(); + } + + /** + * Write the EXTERNCOUNT and EXTERNSHEET records. These are used as indexes for + * the NAME records. + */ + private function _writeExterns() + { + $countSheets = $this->_phpExcel->getSheetCount(); + // Create EXTERNCOUNT with number of worksheets + $this->_writeExterncount($countSheets); + + // Create EXTERNSHEET for each worksheet + for ($i = 0; $i < $countSheets; ++$i) { + $this->_writeExternsheet($this->_phpExcel->getSheet($i)->getTitle()); + } + } + + /** + * Write the NAME record to define the print area and the repeat rows and cols. + */ + private function _writeNames() + { + // total number of sheets + $total_worksheets = $this->_phpExcel->getSheetCount(); + + // Create the print area NAME records + for ($i = 0; $i < $total_worksheets; ++$i) { + $sheetSetup = $this->_phpExcel->getSheet($i)->getPageSetup(); + // Write a Name record if the print area has been defined + if ($sheetSetup->isPrintAreaSet()) { + // Print area + $printArea = PHPExcel_Cell::splitRange($sheetSetup->getPrintArea()); + $printArea = $printArea[0]; + $printArea[0] = PHPExcel_Cell::coordinateFromString($printArea[0]); + $printArea[1] = PHPExcel_Cell::coordinateFromString($printArea[1]); + + $print_rowmin = $printArea[0][1] - 1; + $print_rowmax = $printArea[1][1] - 1; + $print_colmin = PHPExcel_Cell::columnIndexFromString($printArea[0][0]) - 1; + $print_colmax = PHPExcel_Cell::columnIndexFromString($printArea[1][0]) - 1; + + $this->_writeNameShort( + $i, // sheet index + 0x06, // NAME type + $print_rowmin, + $print_rowmax, + $print_colmin, + $print_colmax + ); + } + } + + // Create the print title NAME records + for ($i = 0; $i < $total_worksheets; ++$i) { + $sheetSetup = $this->_phpExcel->getSheet($i)->getPageSetup(); + + // simultaneous repeatColumns repeatRows + if ($sheetSetup->isColumnsToRepeatAtLeftSet() && $sheetSetup->isRowsToRepeatAtTopSet()) { + $repeat = $sheetSetup->getColumnsToRepeatAtLeft(); + $colmin = PHPExcel_Cell::columnIndexFromString($repeat[0]) - 1; + $colmax = PHPExcel_Cell::columnIndexFromString($repeat[1]) - 1; + + $repeat = $sheetSetup->getRowsToRepeatAtTop(); + $rowmin = $repeat[0] - 1; + $rowmax = $repeat[1] - 1; + + $this->_writeNameLong( + $i, // sheet index + 0x07, // NAME type + $rowmin, + $rowmax, + $colmin, + $colmax + ); + + // (exclusive) either repeatColumns or repeatRows + } else if ($sheetSetup->isColumnsToRepeatAtLeftSet() || $sheetSetup->isRowsToRepeatAtTopSet()) { + + // Columns to repeat + if ($sheetSetup->isColumnsToRepeatAtLeftSet()) { + $repeat = $sheetSetup->getColumnsToRepeatAtLeft(); + $colmin = PHPExcel_Cell::columnIndexFromString($repeat[0]) - 1; + $colmax = PHPExcel_Cell::columnIndexFromString($repeat[1]) - 1; + } else { + $colmin = 0; + $colmax = 255; + } + + // Rows to repeat + if ($sheetSetup->isRowsToRepeatAtTopSet()) { + $repeat = $sheetSetup->getRowsToRepeatAtTop(); + $rowmin = $repeat[0] - 1; + $rowmax = $repeat[1] - 1; + } else { + $rowmin = 0; + $rowmax = 65535; + } + + $this->_writeNameShort( + $i, // sheet index + 0x07, // NAME type + $rowmin, + $rowmax, + $colmin, + $colmax + ); + } + } + } + + /** + * Writes all the DEFINEDNAME records (BIFF8). + * So far this is only used for repeating rows/columns (print titles) and print areas + */ + private function _writeAllDefinedNamesBiff8() + { + $chunk = ''; + + // Named ranges + if (count($this->_phpExcel->getNamedRanges()) > 0) { + // Loop named ranges + $namedRanges = $this->_phpExcel->getNamedRanges(); + foreach ($namedRanges as $namedRange) { + + // Create absolute coordinate + $range = PHPExcel_Cell::splitRange($namedRange->getRange()); + for ($i = 0; $i < count($range); $i++) { + $range[$i][0] = '\'' . str_replace("'", "''", $namedRange->getWorksheet()->getTitle()) . '\'!' . PHPExcel_Cell::absoluteCoordinate($range[$i][0]); + if (isset($range[$i][1])) { + $range[$i][1] = PHPExcel_Cell::absoluteCoordinate($range[$i][1]); + } + } + $range = PHPExcel_Cell::buildRange($range); // e.g. Sheet1!$A$1:$B$2 + + // parse formula + try { + $error = $this->_parser->parse($range); + $formulaData = $this->_parser->toReversePolish(); + + // make sure tRef3d is of type tRef3dR (0x3A) + if (isset($formulaData{0}) and ($formulaData{0} == "\x7A" or $formulaData{0} == "\x5A")) { + $formulaData = "\x3A" . substr($formulaData, 1); + } + + if ($namedRange->getLocalOnly()) { + // local scope + $scope = $this->_phpExcel->getIndex($namedRange->getScope()) + 1; + } else { + // global scope + $scope = 0; + } + $chunk .= $this->writeData($this->_writeDefinedNameBiff8($namedRange->getName(), $formulaData, $scope, false)); + + } catch(PHPExcel_Exception $e) { + // do nothing + } + } + } + + // total number of sheets + $total_worksheets = $this->_phpExcel->getSheetCount(); + + // write the print titles (repeating rows, columns), if any + for ($i = 0; $i < $total_worksheets; ++$i) { + $sheetSetup = $this->_phpExcel->getSheet($i)->getPageSetup(); + // simultaneous repeatColumns repeatRows + if ($sheetSetup->isColumnsToRepeatAtLeftSet() && $sheetSetup->isRowsToRepeatAtTopSet()) { + $repeat = $sheetSetup->getColumnsToRepeatAtLeft(); + $colmin = PHPExcel_Cell::columnIndexFromString($repeat[0]) - 1; + $colmax = PHPExcel_Cell::columnIndexFromString($repeat[1]) - 1; + + $repeat = $sheetSetup->getRowsToRepeatAtTop(); + $rowmin = $repeat[0] - 1; + $rowmax = $repeat[1] - 1; + + // construct formula data manually + $formulaData = pack('Cv', 0x29, 0x17); // tMemFunc + $formulaData .= pack('Cvvvvv', 0x3B, $i, 0, 65535, $colmin, $colmax); // tArea3d + $formulaData .= pack('Cvvvvv', 0x3B, $i, $rowmin, $rowmax, 0, 255); // tArea3d + $formulaData .= pack('C', 0x10); // tList + + // store the DEFINEDNAME record + $chunk .= $this->writeData($this->_writeDefinedNameBiff8(pack('C', 0x07), $formulaData, $i + 1, true)); + + // (exclusive) either repeatColumns or repeatRows + } else if ($sheetSetup->isColumnsToRepeatAtLeftSet() || $sheetSetup->isRowsToRepeatAtTopSet()) { + + // Columns to repeat + if ($sheetSetup->isColumnsToRepeatAtLeftSet()) { + $repeat = $sheetSetup->getColumnsToRepeatAtLeft(); + $colmin = PHPExcel_Cell::columnIndexFromString($repeat[0]) - 1; + $colmax = PHPExcel_Cell::columnIndexFromString($repeat[1]) - 1; + } else { + $colmin = 0; + $colmax = 255; + } + // Rows to repeat + if ($sheetSetup->isRowsToRepeatAtTopSet()) { + $repeat = $sheetSetup->getRowsToRepeatAtTop(); + $rowmin = $repeat[0] - 1; + $rowmax = $repeat[1] - 1; + } else { + $rowmin = 0; + $rowmax = 65535; + } + + // construct formula data manually because parser does not recognize absolute 3d cell references + $formulaData = pack('Cvvvvv', 0x3B, $i, $rowmin, $rowmax, $colmin, $colmax); + + // store the DEFINEDNAME record + $chunk .= $this->writeData($this->_writeDefinedNameBiff8(pack('C', 0x07), $formulaData, $i + 1, true)); + } + } + + // write the print areas, if any + for ($i = 0; $i < $total_worksheets; ++$i) { + $sheetSetup = $this->_phpExcel->getSheet($i)->getPageSetup(); + if ($sheetSetup->isPrintAreaSet()) { + // Print area, e.g. A3:J6,H1:X20 + $printArea = PHPExcel_Cell::splitRange($sheetSetup->getPrintArea()); + $countPrintArea = count($printArea); + + $formulaData = ''; + for ($j = 0; $j < $countPrintArea; ++$j) { + $printAreaRect = $printArea[$j]; // e.g. A3:J6 + $printAreaRect[0] = PHPExcel_Cell::coordinateFromString($printAreaRect[0]); + $printAreaRect[1] = PHPExcel_Cell::coordinateFromString($printAreaRect[1]); + + $print_rowmin = $printAreaRect[0][1] - 1; + $print_rowmax = $printAreaRect[1][1] - 1; + $print_colmin = PHPExcel_Cell::columnIndexFromString($printAreaRect[0][0]) - 1; + $print_colmax = PHPExcel_Cell::columnIndexFromString($printAreaRect[1][0]) - 1; + + // construct formula data manually because parser does not recognize absolute 3d cell references + $formulaData .= pack('Cvvvvv', 0x3B, $i, $print_rowmin, $print_rowmax, $print_colmin, $print_colmax); + + if ($j > 0) { + $formulaData .= pack('C', 0x10); // list operator token ',' + } + } + + // store the DEFINEDNAME record + $chunk .= $this->writeData($this->_writeDefinedNameBiff8(pack('C', 0x06), $formulaData, $i + 1, true)); + } + } + + // write autofilters, if any + for ($i = 0; $i < $total_worksheets; ++$i) { + $sheetAutoFilter = $this->_phpExcel->getSheet($i)->getAutoFilter(); + $autoFilterRange = $sheetAutoFilter->getRange(); + if(!empty($autoFilterRange)) { + $rangeBounds = PHPExcel_Cell::rangeBoundaries($autoFilterRange); + + //Autofilter built in name + $name = pack('C', 0x0D); + + $chunk .= $this->writeData($this->_writeShortNameBiff8($name, $i + 1, $rangeBounds, true)); + } + } + + return $chunk; + } + + /** + * Write a DEFINEDNAME record for BIFF8 using explicit binary formula data + * + * @param string $name The name in UTF-8 + * @param string $formulaData The binary formula data + * @param string $sheetIndex 1-based sheet index the defined name applies to. 0 = global + * @param boolean $isBuiltIn Built-in name? + * @return string Complete binary record data + */ + private function _writeDefinedNameBiff8($name, $formulaData, $sheetIndex = 0, $isBuiltIn = false) + { + $record = 0x0018; + + // option flags + $options = $isBuiltIn ? 0x20 : 0x00; + + // length of the name, character count + $nlen = PHPExcel_Shared_String::CountCharacters($name); + + // name with stripped length field + $name = substr(PHPExcel_Shared_String::UTF8toBIFF8UnicodeLong($name), 2); + + // size of the formula (in bytes) + $sz = strlen($formulaData); + + // combine the parts + $data = pack('vCCvvvCCCC', $options, 0, $nlen, $sz, 0, $sheetIndex, 0, 0, 0, 0) + . $name . $formulaData; + $length = strlen($data); + + $header = pack('vv', $record, $length); + + return $header . $data; + } + + /** + * Write a short NAME record + * + * @param string $name + * @param string $sheetIndex 1-based sheet index the defined name applies to. 0 = global + * @param integer[][] $rangeBounds range boundaries + * @param boolean $isHidden + * @return string Complete binary record data + * */ + private function _writeShortNameBiff8($name, $sheetIndex = 0, $rangeBounds, $isHidden = false){ + $record = 0x0018; + + // option flags + $options = ($isHidden ? 0x21 : 0x00); + + $extra = pack('Cvvvvv', + 0x3B, + $sheetIndex - 1, + $rangeBounds[0][1] - 1, + $rangeBounds[1][1] - 1, + $rangeBounds[0][0] - 1, + $rangeBounds[1][0] - 1); + + // size of the formula (in bytes) + $sz = strlen($extra); + + // combine the parts + $data = pack('vCCvvvCCCCC', $options, 0, 1, $sz, 0, $sheetIndex, 0, 0, 0, 0, 0) + . $name . $extra; + $length = strlen($data); + + $header = pack('vv', $record, $length); + + return $header . $data; + } + + /** + * Stores the CODEPAGE biff record. + */ + private function _writeCodepage() + { + $record = 0x0042; // Record identifier + $length = 0x0002; // Number of bytes to follow + $cv = $this->_codepage; // The code page + + $header = pack('vv', $record, $length); + $data = pack('v', $cv); + + $this->_append($header . $data); + } + + /** + * Write Excel BIFF WINDOW1 record. + */ + private function _writeWindow1() + { + $record = 0x003D; // Record identifier + $length = 0x0012; // Number of bytes to follow + + $xWn = 0x0000; // Horizontal position of window + $yWn = 0x0000; // Vertical position of window + $dxWn = 0x25BC; // Width of window + $dyWn = 0x1572; // Height of window + + $grbit = 0x0038; // Option flags + + // not supported by PHPExcel, so there is only one selected sheet, the active + $ctabsel = 1; // Number of workbook tabs selected + + $wTabRatio = 0x0258; // Tab to scrollbar ratio + + // not supported by PHPExcel, set to 0 + $itabFirst = 0; // 1st displayed worksheet + $itabCur = $this->_phpExcel->getActiveSheetIndex(); // Active worksheet + + $header = pack("vv", $record, $length); + $data = pack("vvvvvvvvv", $xWn, $yWn, $dxWn, $dyWn, + $grbit, + $itabCur, $itabFirst, + $ctabsel, $wTabRatio); + $this->_append($header . $data); + } + + /** + * Writes Excel BIFF BOUNDSHEET record. + * + * @param PHPExcel_Worksheet $sheet Worksheet name + * @param integer $offset Location of worksheet BOF + */ + private function _writeBoundsheet($sheet, $offset) + { + $sheetname = $sheet->getTitle(); + $record = 0x0085; // Record identifier + + // sheet state + switch ($sheet->getSheetState()) { + case PHPExcel_Worksheet::SHEETSTATE_VISIBLE: $ss = 0x00; break; + case PHPExcel_Worksheet::SHEETSTATE_HIDDEN: $ss = 0x01; break; + case PHPExcel_Worksheet::SHEETSTATE_VERYHIDDEN: $ss = 0x02; break; + default: $ss = 0x00; break; + } + + // sheet type + $st = 0x00; + + $grbit = 0x0000; // Visibility and sheet type + + $data = pack("VCC", $offset, $ss, $st); + $data .= PHPExcel_Shared_String::UTF8toBIFF8UnicodeShort($sheetname); + + $length = strlen($data); + $header = pack("vv", $record, $length); + $this->_append($header . $data); + } + + /** + * Write Internal SUPBOOK record + */ + private function _writeSupbookInternal() + { + $record = 0x01AE; // Record identifier + $length = 0x0004; // Bytes to follow + + $header = pack("vv", $record, $length); + $data = pack("vv", $this->_phpExcel->getSheetCount(), 0x0401); + return $this->writeData($header . $data); + } + + /** + * Writes the Excel BIFF EXTERNSHEET record. These references are used by + * formulas. + * + */ + private function _writeExternsheetBiff8() + { + $total_references = count($this->_parser->_references); + $record = 0x0017; // Record identifier + $length = 2 + 6 * $total_references; // Number of bytes to follow + + $supbook_index = 0; // FIXME: only using internal SUPBOOK record + $header = pack("vv", $record, $length); + $data = pack('v', $total_references); + for ($i = 0; $i < $total_references; ++$i) { + $data .= $this->_parser->_references[$i]; + } + return $this->writeData($header . $data); + } + + /** + * Write Excel BIFF STYLE records. + */ + private function _writeStyle() + { + $record = 0x0293; // Record identifier + $length = 0x0004; // Bytes to follow + + $ixfe = 0x8000; // Index to cell style XF + $BuiltIn = 0x00; // Built-in style + $iLevel = 0xff; // Outline style level + + $header = pack("vv", $record, $length); + $data = pack("vCC", $ixfe, $BuiltIn, $iLevel); + $this->_append($header . $data); + } + + /** + * Writes Excel FORMAT record for non "built-in" numerical formats. + * + * @param string $format Custom format string + * @param integer $ifmt Format index code + */ + private function _writeNumFormat($format, $ifmt) + { + $record = 0x041E; // Record identifier + + $numberFormatString = PHPExcel_Shared_String::UTF8toBIFF8UnicodeLong($format); + $length = 2 + strlen($numberFormatString); // Number of bytes to follow + + + $header = pack("vv", $record, $length); + $data = pack("v", $ifmt) . $numberFormatString; + $this->_append($header . $data); + } + + /** + * Write DATEMODE record to indicate the date system in use (1904 or 1900). + */ + private function _writeDatemode() + { + $record = 0x0022; // Record identifier + $length = 0x0002; // Bytes to follow + + $f1904 = (PHPExcel_Shared_Date::getExcelCalendar() == PHPExcel_Shared_Date::CALENDAR_MAC_1904) ? + 1 : 0; // Flag for 1904 date system + + $header = pack("vv", $record, $length); + $data = pack("v", $f1904); + $this->_append($header . $data); + } + + /** + * Write BIFF record EXTERNCOUNT to indicate the number of external sheet + * references in the workbook. + * + * Excel only stores references to external sheets that are used in NAME. + * The workbook NAME record is required to define the print area and the repeat + * rows and columns. + * + * A similar method is used in Worksheet.php for a slightly different purpose. + * + * @param integer $cxals Number of external references + */ + private function _writeExterncount($cxals) + { + $record = 0x0016; // Record identifier + $length = 0x0002; // Number of bytes to follow + + $header = pack("vv", $record, $length); + $data = pack("v", $cxals); + $this->_append($header . $data); + } + + /** + * Writes the Excel BIFF EXTERNSHEET record. These references are used by + * formulas. NAME record is required to define the print area and the repeat + * rows and columns. + * + * A similar method is used in Worksheet.php for a slightly different purpose. + * + * @param string $sheetname Worksheet name + */ + private function _writeExternsheet($sheetname) + { + $record = 0x0017; // Record identifier + $length = 0x02 + strlen($sheetname); // Number of bytes to follow + + $cch = strlen($sheetname); // Length of sheet name + $rgch = 0x03; // Filename encoding + + $header = pack("vv", $record, $length); + $data = pack("CC", $cch, $rgch); + $this->_append($header . $data . $sheetname); + } + + /** + * Store the NAME record in the short format that is used for storing the print + * area, repeat rows only and repeat columns only. + * + * @param integer $index Sheet index + * @param integer $type Built-in name type + * @param integer $rowmin Start row + * @param integer $rowmax End row + * @param integer $colmin Start colum + * @param integer $colmax End column + */ + private function _writeNameShort($index, $type, $rowmin, $rowmax, $colmin, $colmax) + { + $record = 0x0018; // Record identifier + $length = 0x0024; // Number of bytes to follow + + $grbit = 0x0020; // Option flags + $chKey = 0x00; // Keyboard shortcut + $cch = 0x01; // Length of text name + $cce = 0x0015; // Length of text definition + $ixals = $index + 1; // Sheet index + $itab = $ixals; // Equal to ixals + $cchCustMenu = 0x00; // Length of cust menu text + $cchDescription = 0x00; // Length of description text + $cchHelptopic = 0x00; // Length of help topic text + $cchStatustext = 0x00; // Length of status bar text + $rgch = $type; // Built-in name type + + $unknown03 = 0x3b; + $unknown04 = 0xffff-$index; + $unknown05 = 0x0000; + $unknown06 = 0x0000; + $unknown07 = 0x1087; + $unknown08 = 0x8005; + + $header = pack("vv", $record, $length); + $data = pack("v", $grbit); + $data .= pack("C", $chKey); + $data .= pack("C", $cch); + $data .= pack("v", $cce); + $data .= pack("v", $ixals); + $data .= pack("v", $itab); + $data .= pack("C", $cchCustMenu); + $data .= pack("C", $cchDescription); + $data .= pack("C", $cchHelptopic); + $data .= pack("C", $cchStatustext); + $data .= pack("C", $rgch); + $data .= pack("C", $unknown03); + $data .= pack("v", $unknown04); + $data .= pack("v", $unknown05); + $data .= pack("v", $unknown06); + $data .= pack("v", $unknown07); + $data .= pack("v", $unknown08); + $data .= pack("v", $index); + $data .= pack("v", $index); + $data .= pack("v", $rowmin); + $data .= pack("v", $rowmax); + $data .= pack("C", $colmin); + $data .= pack("C", $colmax); + $this->_append($header . $data); + } + + /** + * Store the NAME record in the long format that is used for storing the repeat + * rows and columns when both are specified. This shares a lot of code with + * _writeNameShort() but we use a separate method to keep the code clean. + * Code abstraction for reuse can be carried too far, and I should know. ;-) + * + * @param integer $index Sheet index + * @param integer $type Built-in name type + * @param integer $rowmin Start row + * @param integer $rowmax End row + * @param integer $colmin Start colum + * @param integer $colmax End column + */ + private function _writeNameLong($index, $type, $rowmin, $rowmax, $colmin, $colmax) + { + $record = 0x0018; // Record identifier + $length = 0x003d; // Number of bytes to follow + $grbit = 0x0020; // Option flags + $chKey = 0x00; // Keyboard shortcut + $cch = 0x01; // Length of text name + $cce = 0x002e; // Length of text definition + $ixals = $index + 1; // Sheet index + $itab = $ixals; // Equal to ixals + $cchCustMenu = 0x00; // Length of cust menu text + $cchDescription = 0x00; // Length of description text + $cchHelptopic = 0x00; // Length of help topic text + $cchStatustext = 0x00; // Length of status bar text + $rgch = $type; // Built-in name type + + $unknown01 = 0x29; + $unknown02 = 0x002b; + $unknown03 = 0x3b; + $unknown04 = 0xffff-$index; + $unknown05 = 0x0000; + $unknown06 = 0x0000; + $unknown07 = 0x1087; + $unknown08 = 0x8008; + + $header = pack("vv", $record, $length); + $data = pack("v", $grbit); + $data .= pack("C", $chKey); + $data .= pack("C", $cch); + $data .= pack("v", $cce); + $data .= pack("v", $ixals); + $data .= pack("v", $itab); + $data .= pack("C", $cchCustMenu); + $data .= pack("C", $cchDescription); + $data .= pack("C", $cchHelptopic); + $data .= pack("C", $cchStatustext); + $data .= pack("C", $rgch); + $data .= pack("C", $unknown01); + $data .= pack("v", $unknown02); + // Column definition + $data .= pack("C", $unknown03); + $data .= pack("v", $unknown04); + $data .= pack("v", $unknown05); + $data .= pack("v", $unknown06); + $data .= pack("v", $unknown07); + $data .= pack("v", $unknown08); + $data .= pack("v", $index); + $data .= pack("v", $index); + $data .= pack("v", 0x0000); + $data .= pack("v", 0x3fff); + $data .= pack("C", $colmin); + $data .= pack("C", $colmax); + // Row definition + $data .= pack("C", $unknown03); + $data .= pack("v", $unknown04); + $data .= pack("v", $unknown05); + $data .= pack("v", $unknown06); + $data .= pack("v", $unknown07); + $data .= pack("v", $unknown08); + $data .= pack("v", $index); + $data .= pack("v", $index); + $data .= pack("v", $rowmin); + $data .= pack("v", $rowmax); + $data .= pack("C", 0x00); + $data .= pack("C", 0xff); + // End of data + $data .= pack("C", 0x10); + $this->_append($header . $data); + } + + /** + * Stores the COUNTRY record for localization + * + * @return string + */ + private function _writeCountry() + { + $record = 0x008C; // Record identifier + $length = 4; // Number of bytes to follow + + $header = pack('vv', $record, $length); + /* using the same country code always for simplicity */ + $data = pack('vv', $this->_country_code, $this->_country_code); + //$this->_append($header . $data); + return $this->writeData($header . $data); + } + + /** + * Write the RECALCID record + * + * @return string + */ + private function _writeRecalcId() + { + $record = 0x01C1; // Record identifier + $length = 8; // Number of bytes to follow + + $header = pack('vv', $record, $length); + + // by inspection of real Excel files, MS Office Excel 2007 writes this + $data = pack('VV', 0x000001C1, 0x00001E667); + + return $this->writeData($header . $data); + } + + /** + * Stores the PALETTE biff record. + */ + private function _writePalette() + { + $aref = $this->_palette; + + $record = 0x0092; // Record identifier + $length = 2 + 4 * count($aref); // Number of bytes to follow + $ccv = count($aref); // Number of RGB values to follow + $data = ''; // The RGB data + + // Pack the RGB data + foreach ($aref as $color) { + foreach ($color as $byte) { + $data .= pack("C",$byte); + } + } + + $header = pack("vvv", $record, $length, $ccv); + $this->_append($header . $data); + } + + /** + * Handling of the SST continue blocks is complicated by the need to include an + * additional continuation byte depending on whether the string is split between + * blocks or whether it starts at the beginning of the block. (There are also + * additional complications that will arise later when/if Rich Strings are + * supported). + * + * The Excel documentation says that the SST record should be followed by an + * EXTSST record. The EXTSST record is a hash table that is used to optimise + * access to SST. However, despite the documentation it doesn't seem to be + * required so we will ignore it. + * + * @return string Binary data + */ + private function _writeSharedStringsTable() + { + // maximum size of record data (excluding record header) + $continue_limit = 8224; + + // initialize array of record data blocks + $recordDatas = array(); + + // start SST record data block with total number of strings, total number of unique strings + $recordData = pack("VV", $this->_str_total, $this->_str_unique); + + // loop through all (unique) strings in shared strings table + foreach (array_keys($this->_str_table) as $string) { + + // here $string is a BIFF8 encoded string + + // length = character count + $headerinfo = unpack("vlength/Cencoding", $string); + + // currently, this is always 1 = uncompressed + $encoding = $headerinfo["encoding"]; + + // initialize finished writing current $string + $finished = false; + + while ($finished === false) { + + // normally, there will be only one cycle, but if string cannot immediately be written as is + // there will be need for more than one cylcle, if string longer than one record data block, there + // may be need for even more cycles + + if (strlen($recordData) + strlen($string) <= $continue_limit) { + // then we can write the string (or remainder of string) without any problems + $recordData .= $string; + + if (strlen($recordData) + strlen($string) == $continue_limit) { + // we close the record data block, and initialize a new one + $recordDatas[] = $recordData; + $recordData = ''; + } + + // we are finished writing this string + $finished = true; + } else { + // special treatment writing the string (or remainder of the string) + // If the string is very long it may need to be written in more than one CONTINUE record. + + // check how many bytes more there is room for in the current record + $space_remaining = $continue_limit - strlen($recordData); + + // minimum space needed + // uncompressed: 2 byte string length length field + 1 byte option flags + 2 byte character + // compressed: 2 byte string length length field + 1 byte option flags + 1 byte character + $min_space_needed = ($encoding == 1) ? 5 : 4; + + // We have two cases + // 1. space remaining is less than minimum space needed + // here we must waste the space remaining and move to next record data block + // 2. space remaining is greater than or equal to minimum space needed + // here we write as much as we can in the current block, then move to next record data block + + // 1. space remaining is less than minimum space needed + if ($space_remaining < $min_space_needed) { + // we close the block, store the block data + $recordDatas[] = $recordData; + + // and start new record data block where we start writing the string + $recordData = ''; + + // 2. space remaining is greater than or equal to minimum space needed + } else { + // initialize effective remaining space, for Unicode strings this may need to be reduced by 1, see below + $effective_space_remaining = $space_remaining; + + // for uncompressed strings, sometimes effective space remaining is reduced by 1 + if ( $encoding == 1 && (strlen($string) - $space_remaining) % 2 == 1 ) { + --$effective_space_remaining; + } + + // one block fininshed, store the block data + $recordData .= substr($string, 0, $effective_space_remaining); + + $string = substr($string, $effective_space_remaining); // for next cycle in while loop + $recordDatas[] = $recordData; + + // start new record data block with the repeated option flags + $recordData = pack('C', $encoding); + } + } + } + } + + // Store the last record data block unless it is empty + // if there was no need for any continue records, this will be the for SST record data block itself + if (strlen($recordData) > 0) { + $recordDatas[] = $recordData; + } + + // combine into one chunk with all the blocks SST, CONTINUE,... + $chunk = ''; + foreach ($recordDatas as $i => $recordData) { + // first block should have the SST record header, remaing should have CONTINUE header + $record = ($i == 0) ? 0x00FC : 0x003C; + + $header = pack("vv", $record, strlen($recordData)); + $data = $header . $recordData; + + $chunk .= $this->writeData($data); + } + + return $chunk; + } + + /** + * Writes the MSODRAWINGGROUP record if needed. Possibly split using CONTINUE records. + */ + private function _writeMsoDrawingGroup() + { + // write the Escher stream if necessary + if (isset($this->_escher)) { + $writer = new PHPExcel_Writer_Excel5_Escher($this->_escher); + $data = $writer->close(); + + $record = 0x00EB; + $length = strlen($data); + $header = pack("vv", $record, $length); + + return $this->writeData($header . $data); + + } else { + return ''; + } + } + + /** + * Get Escher object + * + * @return PHPExcel_Shared_Escher + */ + public function getEscher() + { + return $this->_escher; + } + + /** + * Set Escher object + * + * @param PHPExcel_Shared_Escher $pValue + */ + public function setEscher(PHPExcel_Shared_Escher $pValue = null) + { + $this->_escher = $pValue; + } +} diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/Excel5/Worksheet.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/Excel5/Worksheet.php new file mode 100644 index 00000000..fb75499b --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/Excel5/Worksheet.php @@ -0,0 +1,3681 @@ +<?php +/** + * PHPExcel + * + * Copyright (c) 2006 - 2014 PHPExcel + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * @category PHPExcel + * @package PHPExcel_Writer_Excel5 + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @version ##VERSION##, ##DATE## + */ + +// Original file header of PEAR::Spreadsheet_Excel_Writer_Worksheet (used as the base for this class): +// ----------------------------------------------------------------------------------------- +// /* +// * Module written/ported by Xavier Noguer <xnoguer@rezebra.com> +// * +// * The majority of this is _NOT_ my code. I simply ported it from the +// * PERL Spreadsheet::WriteExcel module. +// * +// * The author of the Spreadsheet::WriteExcel module is John McNamara +// * <jmcnamara@cpan.org> +// * +// * I _DO_ maintain this code, and John McNamara has nothing to do with the +// * porting of this code to PHP. Any questions directly related to this +// * class library should be directed to me. +// * +// * License Information: +// * +// * Spreadsheet_Excel_Writer: A library for generating Excel Spreadsheets +// * Copyright (c) 2002-2003 Xavier Noguer xnoguer@rezebra.com +// * +// * This library is free software; you can redistribute it and/or +// * modify it under the terms of the GNU Lesser General Public +// * License as published by the Free Software Foundation; either +// * version 2.1 of the License, or (at your option) any later version. +// * +// * This library is distributed in the hope that it will be useful, +// * but WITHOUT ANY WARRANTY; without even the implied warranty of +// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +// * Lesser General Public License for more details. +// * +// * You should have received a copy of the GNU Lesser General Public +// * License along with this library; if not, write to the Free Software +// * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +// */ + + +/** + * PHPExcel_Writer_Excel5_Worksheet + * + * @category PHPExcel + * @package PHPExcel_Writer_Excel5 + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + */ +class PHPExcel_Writer_Excel5_Worksheet extends PHPExcel_Writer_Excel5_BIFFwriter +{ + /** + * Formula parser + * + * @var PHPExcel_Writer_Excel5_Parser + */ + private $_parser; + + /** + * Maximum number of characters for a string (LABEL record in BIFF5) + * @var integer + */ + public $_xls_strmax; + + /** + * Array containing format information for columns + * @var array + */ + public $_colinfo; + + /** + * Array containing the selected area for the worksheet + * @var array + */ + public $_selection; + + /** + * The active pane for the worksheet + * @var integer + */ + public $_active_pane; + + /** + * Whether to use outline. + * @var integer + */ + public $_outline_on; + + /** + * Auto outline styles. + * @var bool + */ + public $_outline_style; + + /** + * Whether to have outline summary below. + * @var bool + */ + public $_outline_below; + + /** + * Whether to have outline summary at the right. + * @var bool + */ + public $_outline_right; + + /** + * Reference to the total number of strings in the workbook + * @var integer + */ + public $_str_total; + + /** + * Reference to the number of unique strings in the workbook + * @var integer + */ + public $_str_unique; + + /** + * Reference to the array containing all the unique strings in the workbook + * @var array + */ + public $_str_table; + + /** + * Color cache + */ + private $_colors; + + /** + * Index of first used row (at least 0) + * @var int + */ + private $_firstRowIndex; + + /** + * Index of last used row. (no used rows means -1) + * @var int + */ + private $_lastRowIndex; + + /** + * Index of first used column (at least 0) + * @var int + */ + private $_firstColumnIndex; + + /** + * Index of last used column (no used columns means -1) + * @var int + */ + private $_lastColumnIndex; + + /** + * Sheet object + * @var PHPExcel_Worksheet + */ + public $_phpSheet; + + /** + * Count cell style Xfs + * + * @var int + */ + private $_countCellStyleXfs; + + /** + * Escher object corresponding to MSODRAWING + * + * @var PHPExcel_Shared_Escher + */ + private $_escher; + + /** + * Array of font hashes associated to FONT records index + * + * @var array + */ + public $_fntHashIndex; + + /** + * Constructor + * + * @param int &$str_total Total number of strings + * @param int &$str_unique Total number of unique strings + * @param array &$str_table String Table + * @param array &$colors Colour Table + * @param mixed $parser The formula parser created for the Workbook + * @param boolean $preCalculateFormulas Flag indicating whether formulas should be calculated or just written + * @param string $phpSheet The worksheet to write + * @param PHPExcel_Worksheet $phpSheet + */ + public function __construct(&$str_total, &$str_unique, &$str_table, &$colors, + $parser, $preCalculateFormulas, $phpSheet) + { + // It needs to call its parent's constructor explicitly + parent::__construct(); + + // change BIFFwriter limit for CONTINUE records +// $this->_limit = 8224; + + + $this->_preCalculateFormulas = $preCalculateFormulas; + $this->_str_total = &$str_total; + $this->_str_unique = &$str_unique; + $this->_str_table = &$str_table; + $this->_colors = &$colors; + $this->_parser = $parser; + + $this->_phpSheet = $phpSheet; + + //$this->ext_sheets = array(); + //$this->offset = 0; + $this->_xls_strmax = 255; + $this->_colinfo = array(); + $this->_selection = array(0,0,0,0); + $this->_active_pane = 3; + + $this->_print_headers = 0; + + $this->_outline_style = 0; + $this->_outline_below = 1; + $this->_outline_right = 1; + $this->_outline_on = 1; + + $this->_fntHashIndex = array(); + + // calculate values for DIMENSIONS record + $minR = 1; + $minC = 'A'; + + $maxR = $this->_phpSheet->getHighestRow(); + $maxC = $this->_phpSheet->getHighestColumn(); + + // Determine lowest and highest column and row +// $this->_firstRowIndex = ($minR > 65535) ? 65535 : $minR; + $this->_lastRowIndex = ($maxR > 65535) ? 65535 : $maxR ; + + $this->_firstColumnIndex = PHPExcel_Cell::columnIndexFromString($minC); + $this->_lastColumnIndex = PHPExcel_Cell::columnIndexFromString($maxC); + +// if ($this->_firstColumnIndex > 255) $this->_firstColumnIndex = 255; + if ($this->_lastColumnIndex > 255) $this->_lastColumnIndex = 255; + + $this->_countCellStyleXfs = count($phpSheet->getParent()->getCellStyleXfCollection()); + } + + /** + * Add data to the beginning of the workbook (note the reverse order) + * and to the end of the workbook. + * + * @access public + * @see PHPExcel_Writer_Excel5_Workbook::storeWorkbook() + */ + function close() + { + $_phpSheet = $this->_phpSheet; + + $num_sheets = $_phpSheet->getParent()->getSheetCount(); + + // Write BOF record + $this->_storeBof(0x0010); + + // Write PRINTHEADERS + $this->_writePrintHeaders(); + + // Write PRINTGRIDLINES + $this->_writePrintGridlines(); + + // Write GRIDSET + $this->_writeGridset(); + + // Calculate column widths + $_phpSheet->calculateColumnWidths(); + + // Column dimensions + if (($defaultWidth = $_phpSheet->getDefaultColumnDimension()->getWidth()) < 0) { + $defaultWidth = PHPExcel_Shared_Font::getDefaultColumnWidthByFont($_phpSheet->getParent()->getDefaultStyle()->getFont()); + } + + $columnDimensions = $_phpSheet->getColumnDimensions(); + $maxCol = $this->_lastColumnIndex -1; + for ($i = 0; $i <= $maxCol; ++$i) { + $hidden = 0; + $level = 0; + $xfIndex = 15; // there are 15 cell style Xfs + + $width = $defaultWidth; + + $columnLetter = PHPExcel_Cell::stringFromColumnIndex($i); + if (isset($columnDimensions[$columnLetter])) { + $columnDimension = $columnDimensions[$columnLetter]; + if ($columnDimension->getWidth() >= 0) { + $width = $columnDimension->getWidth(); + } + $hidden = $columnDimension->getVisible() ? 0 : 1; + $level = $columnDimension->getOutlineLevel(); + $xfIndex = $columnDimension->getXfIndex() + 15; // there are 15 cell style Xfs + } + + // Components of _colinfo: + // $firstcol first column on the range + // $lastcol last column on the range + // $width width to set + // $xfIndex The optional cell style Xf index to apply to the columns + // $hidden The optional hidden atribute + // $level The optional outline level + $this->_colinfo[] = array($i, $i, $width, $xfIndex, $hidden, $level); + } + + // Write GUTS + $this->_writeGuts(); + + // Write DEFAULTROWHEIGHT + $this->_writeDefaultRowHeight(); + + // Write WSBOOL + $this->_writeWsbool(); + + // Write horizontal and vertical page breaks + $this->_writeBreaks(); + + // Write page header + $this->_writeHeader(); + + // Write page footer + $this->_writeFooter(); + + // Write page horizontal centering + $this->_writeHcenter(); + + // Write page vertical centering + $this->_writeVcenter(); + + // Write left margin + $this->_writeMarginLeft(); + + // Write right margin + $this->_writeMarginRight(); + + // Write top margin + $this->_writeMarginTop(); + + // Write bottom margin + $this->_writeMarginBottom(); + + // Write page setup + $this->_writeSetup(); + + // Write sheet protection + $this->_writeProtect(); + + // Write SCENPROTECT + $this->_writeScenProtect(); + + // Write OBJECTPROTECT + $this->_writeObjectProtect(); + + // Write sheet password + $this->_writePassword(); + + // Write DEFCOLWIDTH record + $this->_writeDefcol(); + + // Write the COLINFO records if they exist + if (!empty($this->_colinfo)) { + $colcount = count($this->_colinfo); + for ($i = 0; $i < $colcount; ++$i) { + $this->_writeColinfo($this->_colinfo[$i]); + } + } + $autoFilterRange = $_phpSheet->getAutoFilter()->getRange(); + if (!empty($autoFilterRange)) { + // Write AUTOFILTERINFO + $this->_writeAutoFilterInfo(); + } + + // Write sheet dimensions + $this->_writeDimensions(); + + // Row dimensions + foreach ($_phpSheet->getRowDimensions() as $rowDimension) { + $xfIndex = $rowDimension->getXfIndex() + 15; // there are 15 cellXfs + $this->_writeRow( $rowDimension->getRowIndex() - 1, $rowDimension->getRowHeight(), $xfIndex, ($rowDimension->getVisible() ? '0' : '1'), $rowDimension->getOutlineLevel() ); + } + + // Write Cells + foreach ($_phpSheet->getCellCollection() as $cellID) { + $cell = $_phpSheet->getCell($cellID); + $row = $cell->getRow() - 1; + $column = PHPExcel_Cell::columnIndexFromString($cell->getColumn()) - 1; + + // Don't break Excel! +// if ($row + 1 > 65536 or $column + 1 > 256) { + if ($row > 65535 || $column > 255) { + break; + } + + // Write cell value + $xfIndex = $cell->getXfIndex() + 15; // there are 15 cell style Xfs + + $cVal = $cell->getValue(); + if ($cVal instanceof PHPExcel_RichText) { + // $this->_writeString($row, $column, $cVal->getPlainText(), $xfIndex); + $arrcRun = array(); + $str_len = PHPExcel_Shared_String::CountCharacters($cVal->getPlainText(), 'UTF-8'); + $str_pos = 0; + $elements = $cVal->getRichTextElements(); + foreach ($elements as $element) { + // FONT Index + if ($element instanceof PHPExcel_RichText_Run) { + $str_fontidx = $this->_fntHashIndex[$element->getFont()->getHashCode()]; + } + else { + $str_fontidx = 0; + } + $arrcRun[] = array('strlen' => $str_pos, 'fontidx' => $str_fontidx); + // Position FROM + $str_pos += PHPExcel_Shared_String::CountCharacters($element->getText(), 'UTF-8'); + } + $this->_writeRichTextString($row, $column, $cVal->getPlainText(), $xfIndex, $arrcRun); + } else { + switch ($cell->getDatatype()) { + case PHPExcel_Cell_DataType::TYPE_STRING: + case PHPExcel_Cell_DataType::TYPE_NULL: + if ($cVal === '' || $cVal === null) { + $this->_writeBlank($row, $column, $xfIndex); + } else { + $this->_writeString($row, $column, $cVal, $xfIndex); + } + break; + + case PHPExcel_Cell_DataType::TYPE_NUMERIC: + $this->_writeNumber($row, $column, $cVal, $xfIndex); + break; + + case PHPExcel_Cell_DataType::TYPE_FORMULA: + $calculatedValue = $this->_preCalculateFormulas ? + $cell->getCalculatedValue() : null; + $this->_writeFormula($row, $column, $cVal, $xfIndex, $calculatedValue); + break; + + case PHPExcel_Cell_DataType::TYPE_BOOL: + $this->_writeBoolErr($row, $column, $cVal, 0, $xfIndex); + break; + + case PHPExcel_Cell_DataType::TYPE_ERROR: + $this->_writeBoolErr($row, $column, self::_mapErrorCode($cVal), 1, $xfIndex); + break; + + } + } + } + + // Append + $this->_writeMsoDrawing(); + + // Write WINDOW2 record + $this->_writeWindow2(); + + // Write PLV record + $this->_writePageLayoutView(); + + // Write ZOOM record + $this->_writeZoom(); + if ($_phpSheet->getFreezePane()) { + $this->_writePanes(); + } + + // Write SELECTION record + $this->_writeSelection(); + + // Write MergedCellsTable Record + $this->_writeMergedCells(); + + // Hyperlinks + foreach ($_phpSheet->getHyperLinkCollection() as $coordinate => $hyperlink) { + list($column, $row) = PHPExcel_Cell::coordinateFromString($coordinate); + + $url = $hyperlink->getUrl(); + + if ( strpos($url, 'sheet://') !== false ) { + // internal to current workbook + $url = str_replace('sheet://', 'internal:', $url); + + } else if ( preg_match('/^(http:|https:|ftp:|mailto:)/', $url) ) { + // URL + // $url = $url; + + } else { + // external (local file) + $url = 'external:' . $url; + } + + $this->_writeUrl($row - 1, PHPExcel_Cell::columnIndexFromString($column) - 1, $url); + } + + $this->_writeDataValidity(); + $this->_writeSheetLayout(); + + // Write SHEETPROTECTION record + $this->_writeSheetProtection(); + $this->_writeRangeProtection(); + + $arrConditionalStyles = $_phpSheet->getConditionalStylesCollection(); + if(!empty($arrConditionalStyles)){ + $arrConditional = array(); + // @todo CFRule & CFHeader + // Write CFHEADER record + $this->_writeCFHeader(); + // Write ConditionalFormattingTable records + foreach ($arrConditionalStyles as $cellCoordinate => $conditionalStyles) { + foreach ($conditionalStyles as $conditional) { + if($conditional->getConditionType() == PHPExcel_Style_Conditional::CONDITION_EXPRESSION + || $conditional->getConditionType() == PHPExcel_Style_Conditional::CONDITION_CELLIS){ + if(!in_array($conditional->getHashCode(), $arrConditional)){ + $arrConditional[] = $conditional->getHashCode(); + // Write CFRULE record + $this->_writeCFRule($conditional); + } + } + } + } + } + + $this->_storeEof(); + } + + /** + * Write a cell range address in BIFF8 + * always fixed range + * See section 2.5.14 in OpenOffice.org's Documentation of the Microsoft Excel File Format + * + * @param string $range E.g. 'A1' or 'A1:B6' + * @return string Binary data + */ + private function _writeBIFF8CellRangeAddressFixed($range = 'A1') + { + $explodes = explode(':', $range); + + // extract first cell, e.g. 'A1' + $firstCell = $explodes[0]; + + // extract last cell, e.g. 'B6' + if (count($explodes) == 1) { + $lastCell = $firstCell; + } else { + $lastCell = $explodes[1]; + } + + $firstCellCoordinates = PHPExcel_Cell::coordinateFromString($firstCell); // e.g. array(0, 1) + $lastCellCoordinates = PHPExcel_Cell::coordinateFromString($lastCell); // e.g. array(1, 6) + + return(pack('vvvv', + $firstCellCoordinates[1] - 1, + $lastCellCoordinates[1] - 1, + PHPExcel_Cell::columnIndexFromString($firstCellCoordinates[0]) - 1, + PHPExcel_Cell::columnIndexFromString($lastCellCoordinates[0]) - 1 + )); + } + + /** + * Retrieves data from memory in one chunk, or from disk in $buffer + * sized chunks. + * + * @return string The data + */ + function getData() + { + $buffer = 4096; + + // Return data stored in memory + if (isset($this->_data)) { + $tmp = $this->_data; + unset($this->_data); + return $tmp; + } + // No data to return + return false; + } + + /** + * Set the option to print the row and column headers on the printed page. + * + * @access public + * @param integer $print Whether to print the headers or not. Defaults to 1 (print). + */ + function printRowColHeaders($print = 1) + { + $this->_print_headers = $print; + } + + /** + * This method sets the properties for outlining and grouping. The defaults + * correspond to Excel's defaults. + * + * @param bool $visible + * @param bool $symbols_below + * @param bool $symbols_right + * @param bool $auto_style + */ + function setOutline($visible = true, $symbols_below = true, $symbols_right = true, $auto_style = false) + { + $this->_outline_on = $visible; + $this->_outline_below = $symbols_below; + $this->_outline_right = $symbols_right; + $this->_outline_style = $auto_style; + + // Ensure this is a boolean vale for Window2 + if ($this->_outline_on) { + $this->_outline_on = 1; + } + } + + /** + * Write a double to the specified row and column (zero indexed). + * An integer can be written as a double. Excel will display an + * integer. $format is optional. + * + * Returns 0 : normal termination + * -2 : row or column out of range + * + * @param integer $row Zero indexed row + * @param integer $col Zero indexed column + * @param float $num The number to write + * @param mixed $xfIndex The optional XF format + * @return integer + */ + private function _writeNumber($row, $col, $num, $xfIndex) + { + $record = 0x0203; // Record identifier + $length = 0x000E; // Number of bytes to follow + + $header = pack("vv", $record, $length); + $data = pack("vvv", $row, $col, $xfIndex); + $xl_double = pack("d", $num); + if (self::getByteOrder()) { // if it's Big Endian + $xl_double = strrev($xl_double); + } + + $this->_append($header.$data.$xl_double); + return(0); + } + + /** + * Write a LABELSST record or a LABEL record. Which one depends on BIFF version + * + * @param int $row Row index (0-based) + * @param int $col Column index (0-based) + * @param string $str The string + * @param int $xfIndex Index to XF record + */ + private function _writeString($row, $col, $str, $xfIndex) + { + $this->_writeLabelSst($row, $col, $str, $xfIndex); + } + + /** + * Write a LABELSST record or a LABEL record. Which one depends on BIFF version + * It differs from _writeString by the writing of rich text strings. + * @param int $row Row index (0-based) + * @param int $col Column index (0-based) + * @param string $str The string + * @param mixed $xfIndex The XF format index for the cell + * @param array $arrcRun Index to Font record and characters beginning + */ + private function _writeRichTextString($row, $col, $str, $xfIndex, $arrcRun){ + $record = 0x00FD; // Record identifier + $length = 0x000A; // Bytes to follow + $str = PHPExcel_Shared_String::UTF8toBIFF8UnicodeShort($str, $arrcRun); + + /* check if string is already present */ + if (!isset($this->_str_table[$str])) { + $this->_str_table[$str] = $this->_str_unique++; + } + $this->_str_total++; + + $header = pack('vv', $record, $length); + $data = pack('vvvV', $row, $col, $xfIndex, $this->_str_table[$str]); + $this->_append($header.$data); + } + + /** + * Write a string to the specified row and column (zero indexed). + * NOTE: there is an Excel 5 defined limit of 255 characters. + * $format is optional. + * Returns 0 : normal termination + * -2 : row or column out of range + * -3 : long string truncated to 255 chars + * + * @access public + * @param integer $row Zero indexed row + * @param integer $col Zero indexed column + * @param string $str The string to write + * @param mixed $xfIndex The XF format index for the cell + * @return integer + */ + private function _writeLabel($row, $col, $str, $xfIndex) + { + $strlen = strlen($str); + $record = 0x0204; // Record identifier + $length = 0x0008 + $strlen; // Bytes to follow + + $str_error = 0; + + if ($strlen > $this->_xls_strmax) { // LABEL must be < 255 chars + $str = substr($str, 0, $this->_xls_strmax); + $length = 0x0008 + $this->_xls_strmax; + $strlen = $this->_xls_strmax; + $str_error = -3; + } + + $header = pack("vv", $record, $length); + $data = pack("vvvv", $row, $col, $xfIndex, $strlen); + $this->_append($header . $data . $str); + return($str_error); + } + + /** + * Write a string to the specified row and column (zero indexed). + * This is the BIFF8 version (no 255 chars limit). + * $format is optional. + * Returns 0 : normal termination + * -2 : row or column out of range + * -3 : long string truncated to 255 chars + * + * @access public + * @param integer $row Zero indexed row + * @param integer $col Zero indexed column + * @param string $str The string to write + * @param mixed $xfIndex The XF format index for the cell + * @return integer + */ + private function _writeLabelSst($row, $col, $str, $xfIndex) + { + $record = 0x00FD; // Record identifier + $length = 0x000A; // Bytes to follow + + $str = PHPExcel_Shared_String::UTF8toBIFF8UnicodeLong($str); + + /* check if string is already present */ + if (!isset($this->_str_table[$str])) { + $this->_str_table[$str] = $this->_str_unique++; + } + $this->_str_total++; + + $header = pack('vv', $record, $length); + $data = pack('vvvV', $row, $col, $xfIndex, $this->_str_table[$str]); + $this->_append($header.$data); + } + + /** + * Writes a note associated with the cell given by the row and column. + * NOTE records don't have a length limit. + * + * @param integer $row Zero indexed row + * @param integer $col Zero indexed column + * @param string $note The note to write + */ + private function _writeNote($row, $col, $note) + { + $note_length = strlen($note); + $record = 0x001C; // Record identifier + $max_length = 2048; // Maximun length for a NOTE record + + // Length for this record is no more than 2048 + 6 + $length = 0x0006 + min($note_length, 2048); + $header = pack("vv", $record, $length); + $data = pack("vvv", $row, $col, $note_length); + $this->_append($header . $data . substr($note, 0, 2048)); + + for ($i = $max_length; $i < $note_length; $i += $max_length) { + $chunk = substr($note, $i, $max_length); + $length = 0x0006 + strlen($chunk); + $header = pack("vv", $record, $length); + $data = pack("vvv", -1, 0, strlen($chunk)); + $this->_append($header.$data.$chunk); + } + return(0); + } + + /** + * Write a blank cell to the specified row and column (zero indexed). + * A blank cell is used to specify formatting without adding a string + * or a number. + * + * A blank cell without a format serves no purpose. Therefore, we don't write + * a BLANK record unless a format is specified. + * + * Returns 0 : normal termination (including no format) + * -1 : insufficient number of arguments + * -2 : row or column out of range + * + * @param integer $row Zero indexed row + * @param integer $col Zero indexed column + * @param mixed $xfIndex The XF format index + */ + function _writeBlank($row, $col, $xfIndex) + { + $record = 0x0201; // Record identifier + $length = 0x0006; // Number of bytes to follow + + $header = pack("vv", $record, $length); + $data = pack("vvv", $row, $col, $xfIndex); + $this->_append($header . $data); + return 0; + } + + /** + * Write a boolean or an error type to the specified row and column (zero indexed) + * + * @param int $row Row index (0-based) + * @param int $col Column index (0-based) + * @param int $value + * @param boolean $isError Error or Boolean? + * @param int $xfIndex + */ + private function _writeBoolErr($row, $col, $value, $isError, $xfIndex) + { + $record = 0x0205; + $length = 8; + + $header = pack("vv", $record, $length); + $data = pack("vvvCC", $row, $col, $xfIndex, $value, $isError); + $this->_append($header . $data); + return 0; + } + + /** + * Write a formula to the specified row and column (zero indexed). + * The textual representation of the formula is passed to the parser in + * Parser.php which returns a packed binary string. + * + * Returns 0 : normal termination + * -1 : formula errors (bad formula) + * -2 : row or column out of range + * + * @param integer $row Zero indexed row + * @param integer $col Zero indexed column + * @param string $formula The formula text string + * @param mixed $xfIndex The XF format index + * @param mixed $calculatedValue Calculated value + * @return integer + */ + private function _writeFormula($row, $col, $formula, $xfIndex, $calculatedValue) + { + $record = 0x0006; // Record identifier + + // Initialize possible additional value for STRING record that should be written after the FORMULA record? + $stringValue = null; + + // calculated value + if (isset($calculatedValue)) { + // Since we can't yet get the data type of the calculated value, + // we use best effort to determine data type + if (is_bool($calculatedValue)) { + // Boolean value + $num = pack('CCCvCv', 0x01, 0x00, (int)$calculatedValue, 0x00, 0x00, 0xFFFF); + } elseif (is_int($calculatedValue) || is_float($calculatedValue)) { + // Numeric value + $num = pack('d', $calculatedValue); + } elseif (is_string($calculatedValue)) { + if (array_key_exists($calculatedValue, PHPExcel_Cell_DataType::getErrorCodes())) { + // Error value + $num = pack('CCCvCv', 0x02, 0x00, self::_mapErrorCode($calculatedValue), 0x00, 0x00, 0xFFFF); + } elseif ($calculatedValue === '') { + // Empty string (and BIFF8) + $num = pack('CCCvCv', 0x03, 0x00, 0x00, 0x00, 0x00, 0xFFFF); + } else { + // Non-empty string value (or empty string BIFF5) + $stringValue = $calculatedValue; + $num = pack('CCCvCv', 0x00, 0x00, 0x00, 0x00, 0x00, 0xFFFF); + } + } else { + // We are really not supposed to reach here + $num = pack('d', 0x00); + } + } else { + $num = pack('d', 0x00); + } + + $grbit = 0x03; // Option flags + $unknown = 0x0000; // Must be zero + + // Strip the '=' or '@' sign at the beginning of the formula string + if ($formula{0} == '=') { + $formula = substr($formula,1); + } else { + // Error handling + $this->_writeString($row, $col, 'Unrecognised character for formula'); + return -1; + } + + // Parse the formula using the parser in Parser.php + try { + $error = $this->_parser->parse($formula); + $formula = $this->_parser->toReversePolish(); + + $formlen = strlen($formula); // Length of the binary string + $length = 0x16 + $formlen; // Length of the record data + + $header = pack("vv", $record, $length); + + $data = pack("vvv", $row, $col, $xfIndex) + . $num + . pack("vVv", $grbit, $unknown, $formlen); + $this->_append($header . $data . $formula); + + // Append also a STRING record if necessary + if ($stringValue !== null) { + $this->_writeStringRecord($stringValue); + } + + return 0; + + } catch (PHPExcel_Exception $e) { + // do nothing + } + + } + + /** + * Write a STRING record. This + * + * @param string $stringValue + */ + private function _writeStringRecord($stringValue) + { + $record = 0x0207; // Record identifier + $data = PHPExcel_Shared_String::UTF8toBIFF8UnicodeLong($stringValue); + + $length = strlen($data); + $header = pack('vv', $record, $length); + + $this->_append($header . $data); + } + + /** + * Write a hyperlink. + * This is comprised of two elements: the visible label and + * the invisible link. The visible label is the same as the link unless an + * alternative string is specified. The label is written using the + * _writeString() method. Therefore the 255 characters string limit applies. + * $string and $format are optional. + * + * The hyperlink can be to a http, ftp, mail, internal sheet (not yet), or external + * directory url. + * + * Returns 0 : normal termination + * -2 : row or column out of range + * -3 : long string truncated to 255 chars + * + * @param integer $row Row + * @param integer $col Column + * @param string $url URL string + * @return integer + */ + private function _writeUrl($row, $col, $url) + { + // Add start row and col to arg list + return($this->_writeUrlRange($row, $col, $row, $col, $url)); + } + + /** + * This is the more general form of _writeUrl(). It allows a hyperlink to be + * written to a range of cells. This function also decides the type of hyperlink + * to be written. These are either, Web (http, ftp, mailto), Internal + * (Sheet1!A1) or external ('c:\temp\foo.xls#Sheet1!A1'). + * + * @access private + * @see _writeUrl() + * @param integer $row1 Start row + * @param integer $col1 Start column + * @param integer $row2 End row + * @param integer $col2 End column + * @param string $url URL string + * @return integer + */ + function _writeUrlRange($row1, $col1, $row2, $col2, $url) + { + // Check for internal/external sheet links or default to web link + if (preg_match('[^internal:]', $url)) { + return($this->_writeUrlInternal($row1, $col1, $row2, $col2, $url)); + } + if (preg_match('[^external:]', $url)) { + return($this->_writeUrlExternal($row1, $col1, $row2, $col2, $url)); + } + return($this->_writeUrlWeb($row1, $col1, $row2, $col2, $url)); + } + + /** + * Used to write http, ftp and mailto hyperlinks. + * The link type ($options) is 0x03 is the same as absolute dir ref without + * sheet. However it is differentiated by the $unknown2 data stream. + * + * @access private + * @see _writeUrl() + * @param integer $row1 Start row + * @param integer $col1 Start column + * @param integer $row2 End row + * @param integer $col2 End column + * @param string $url URL string + * @return integer + */ + function _writeUrlWeb($row1, $col1, $row2, $col2, $url) + { + $record = 0x01B8; // Record identifier + $length = 0x00000; // Bytes to follow + + // Pack the undocumented parts of the hyperlink stream + $unknown1 = pack("H*", "D0C9EA79F9BACE118C8200AA004BA90B02000000"); + $unknown2 = pack("H*", "E0C9EA79F9BACE118C8200AA004BA90B"); + + // Pack the option flags + $options = pack("V", 0x03); + + // Convert URL to a null terminated wchar string + $url = join("\0", preg_split("''", $url, -1, PREG_SPLIT_NO_EMPTY)); + $url = $url . "\0\0\0"; + + // Pack the length of the URL + $url_len = pack("V", strlen($url)); + + // Calculate the data length + $length = 0x34 + strlen($url); + + // Pack the header data + $header = pack("vv", $record, $length); + $data = pack("vvvv", $row1, $row2, $col1, $col2); + + // Write the packed data + $this->_append($header . $data . + $unknown1 . $options . + $unknown2 . $url_len . $url); + return 0; + } + + /** + * Used to write internal reference hyperlinks such as "Sheet1!A1". + * + * @access private + * @see _writeUrl() + * @param integer $row1 Start row + * @param integer $col1 Start column + * @param integer $row2 End row + * @param integer $col2 End column + * @param string $url URL string + * @return integer + */ + function _writeUrlInternal($row1, $col1, $row2, $col2, $url) + { + $record = 0x01B8; // Record identifier + $length = 0x00000; // Bytes to follow + + // Strip URL type + $url = preg_replace('/^internal:/', '', $url); + + // Pack the undocumented parts of the hyperlink stream + $unknown1 = pack("H*", "D0C9EA79F9BACE118C8200AA004BA90B02000000"); + + // Pack the option flags + $options = pack("V", 0x08); + + // Convert the URL type and to a null terminated wchar string + $url .= "\0"; + + // character count + $url_len = PHPExcel_Shared_String::CountCharacters($url); + $url_len = pack('V', $url_len); + + $url = PHPExcel_Shared_String::ConvertEncoding($url, 'UTF-16LE', 'UTF-8'); + + // Calculate the data length + $length = 0x24 + strlen($url); + + // Pack the header data + $header = pack("vv", $record, $length); + $data = pack("vvvv", $row1, $row2, $col1, $col2); + + // Write the packed data + $this->_append($header . $data . + $unknown1 . $options . + $url_len . $url); + return 0; + } + + /** + * Write links to external directory names such as 'c:\foo.xls', + * c:\foo.xls#Sheet1!A1', '../../foo.xls'. and '../../foo.xls#Sheet1!A1'. + * + * Note: Excel writes some relative links with the $dir_long string. We ignore + * these cases for the sake of simpler code. + * + * @access private + * @see _writeUrl() + * @param integer $row1 Start row + * @param integer $col1 Start column + * @param integer $row2 End row + * @param integer $col2 End column + * @param string $url URL string + * @return integer + */ + function _writeUrlExternal($row1, $col1, $row2, $col2, $url) + { + // Network drives are different. We will handle them separately + // MS/Novell network drives and shares start with \\ + if (preg_match('[^external:\\\\]', $url)) { + return; //($this->_writeUrlExternal_net($row1, $col1, $row2, $col2, $url, $str, $format)); + } + + $record = 0x01B8; // Record identifier + $length = 0x00000; // Bytes to follow + + // Strip URL type and change Unix dir separator to Dos style (if needed) + // + $url = preg_replace('/^external:/', '', $url); + $url = preg_replace('/\//', "\\", $url); + + // Determine if the link is relative or absolute: + // relative if link contains no dir separator, "somefile.xls" + // relative if link starts with up-dir, "..\..\somefile.xls" + // otherwise, absolute + + $absolute = 0x00; // relative path + if ( preg_match('/^[A-Z]:/', $url) ) { + $absolute = 0x02; // absolute path on Windows, e.g. C:\... + } + $link_type = 0x01 | $absolute; + + // Determine if the link contains a sheet reference and change some of the + // parameters accordingly. + // Split the dir name and sheet name (if it exists) + $dir_long = $url; + if (preg_match("/\#/", $url)) { + $link_type |= 0x08; + } + + + // Pack the link type + $link_type = pack("V", $link_type); + + // Calculate the up-level dir count e.g.. (..\..\..\ == 3) + $up_count = preg_match_all("/\.\.\\\/", $dir_long, $useless); + $up_count = pack("v", $up_count); + + // Store the short dos dir name (null terminated) + $dir_short = preg_replace("/\.\.\\\/", '', $dir_long) . "\0"; + + // Store the long dir name as a wchar string (non-null terminated) + $dir_long = $dir_long . "\0"; + + // Pack the lengths of the dir strings + $dir_short_len = pack("V", strlen($dir_short) ); + $dir_long_len = pack("V", strlen($dir_long) ); + $stream_len = pack("V", 0);//strlen($dir_long) + 0x06); + + // Pack the undocumented parts of the hyperlink stream + $unknown1 = pack("H*",'D0C9EA79F9BACE118C8200AA004BA90B02000000' ); + $unknown2 = pack("H*",'0303000000000000C000000000000046' ); + $unknown3 = pack("H*",'FFFFADDE000000000000000000000000000000000000000'); + $unknown4 = pack("v", 0x03 ); + + // Pack the main data stream + $data = pack("vvvv", $row1, $row2, $col1, $col2) . + $unknown1 . + $link_type . + $unknown2 . + $up_count . + $dir_short_len. + $dir_short . + $unknown3 . + $stream_len ;/*. + $dir_long_len . + $unknown4 . + $dir_long . + $sheet_len . + $sheet ;*/ + + // Pack the header data + $length = strlen($data); + $header = pack("vv", $record, $length); + + // Write the packed data + $this->_append($header. $data); + return 0; + } + + /** + * This method is used to set the height and format for a row. + * + * @param integer $row The row to set + * @param integer $height Height we are giving to the row. + * Use null to set XF without setting height + * @param integer $xfIndex The optional cell style Xf index to apply to the columns + * @param bool $hidden The optional hidden attribute + * @param integer $level The optional outline level for row, in range [0,7] + */ + private function _writeRow($row, $height, $xfIndex, $hidden = false, $level = 0) + { + $record = 0x0208; // Record identifier + $length = 0x0010; // Number of bytes to follow + + $colMic = 0x0000; // First defined column + $colMac = 0x0000; // Last defined column + $irwMac = 0x0000; // Used by Excel to optimise loading + $reserved = 0x0000; // Reserved + $grbit = 0x0000; // Option flags + $ixfe = $xfIndex; + + if ( $height < 0 ){ + $height = null; + } + + // Use _writeRow($row, null, $XF) to set XF format without setting height + if ($height != null) { + $miyRw = $height * 20; // row height + } else { + $miyRw = 0xff; // default row height is 256 + } + + // Set the options flags. fUnsynced is used to show that the font and row + // heights are not compatible. This is usually the case for WriteExcel. + // The collapsed flag 0x10 doesn't seem to be used to indicate that a row + // is collapsed. Instead it is used to indicate that the previous row is + // collapsed. The zero height flag, 0x20, is used to collapse a row. + + $grbit |= $level; + if ($hidden) { + $grbit |= 0x0030; + } + if ($height !== null) { + $grbit |= 0x0040; // fUnsynced + } + if ($xfIndex !== 0xF) { + $grbit |= 0x0080; + } + $grbit |= 0x0100; + + $header = pack("vv", $record, $length); + $data = pack("vvvvvvvv", $row, $colMic, $colMac, $miyRw, + $irwMac,$reserved, $grbit, $ixfe); + $this->_append($header.$data); + } + + /** + * Writes Excel DIMENSIONS to define the area in which there is data. + */ + private function _writeDimensions() + { + $record = 0x0200; // Record identifier + + $length = 0x000E; + $data = pack('VVvvv' + , $this->_firstRowIndex + , $this->_lastRowIndex + 1 + , $this->_firstColumnIndex + , $this->_lastColumnIndex + 1 + , 0x0000 // reserved + ); + + $header = pack("vv", $record, $length); + $this->_append($header.$data); + } + + /** + * Write BIFF record Window2. + */ + private function _writeWindow2() + { + $record = 0x023E; // Record identifier + $length = 0x0012; + + $grbit = 0x00B6; // Option flags + $rwTop = 0x0000; // Top row visible in window + $colLeft = 0x0000; // Leftmost column visible in window + + + // The options flags that comprise $grbit + $fDspFmla = 0; // 0 - bit + $fDspGrid = $this->_phpSheet->getShowGridlines() ? 1 : 0; // 1 + $fDspRwCol = $this->_phpSheet->getShowRowColHeaders() ? 1 : 0; // 2 + $fFrozen = $this->_phpSheet->getFreezePane() ? 1 : 0; // 3 + $fDspZeros = 1; // 4 + $fDefaultHdr = 1; // 5 + $fArabic = $this->_phpSheet->getRightToLeft() ? 1 : 0; // 6 + $fDspGuts = $this->_outline_on; // 7 + $fFrozenNoSplit = 0; // 0 - bit + // no support in PHPExcel for selected sheet, therefore sheet is only selected if it is the active sheet + $fSelected = ($this->_phpSheet === $this->_phpSheet->getParent()->getActiveSheet()) ? 1 : 0; + $fPaged = 1; // 2 + $fPageBreakPreview = $this->_phpSheet->getSheetView()->getView() === PHPExcel_Worksheet_SheetView::SHEETVIEW_PAGE_BREAK_PREVIEW; + + $grbit = $fDspFmla; + $grbit |= $fDspGrid << 1; + $grbit |= $fDspRwCol << 2; + $grbit |= $fFrozen << 3; + $grbit |= $fDspZeros << 4; + $grbit |= $fDefaultHdr << 5; + $grbit |= $fArabic << 6; + $grbit |= $fDspGuts << 7; + $grbit |= $fFrozenNoSplit << 8; + $grbit |= $fSelected << 9; + $grbit |= $fPaged << 10; + $grbit |= $fPageBreakPreview << 11; + + $header = pack("vv", $record, $length); + $data = pack("vvv", $grbit, $rwTop, $colLeft); + + // FIXME !!! + $rgbHdr = 0x0040; // Row/column heading and gridline color index + $zoom_factor_page_break = ($fPageBreakPreview? $this->_phpSheet->getSheetView()->getZoomScale() : 0x0000); + $zoom_factor_normal = $this->_phpSheet->getSheetView()->getZoomScaleNormal(); + + $data .= pack("vvvvV", $rgbHdr, 0x0000, $zoom_factor_page_break, $zoom_factor_normal, 0x00000000); + + $this->_append($header.$data); + } + + /** + * Write BIFF record DEFAULTROWHEIGHT. + */ + private function _writeDefaultRowHeight() + { + $defaultRowHeight = $this->_phpSheet->getDefaultRowDimension()->getRowHeight(); + + if ($defaultRowHeight < 0) { + return; + } + + // convert to twips + $defaultRowHeight = (int) 20 * $defaultRowHeight; + + $record = 0x0225; // Record identifier + $length = 0x0004; // Number of bytes to follow + + $header = pack("vv", $record, $length); + $data = pack("vv", 1, $defaultRowHeight); + $this->_append($header . $data); + } + + /** + * Write BIFF record DEFCOLWIDTH if COLINFO records are in use. + */ + private function _writeDefcol() + { + $defaultColWidth = 8; + + $record = 0x0055; // Record identifier + $length = 0x0002; // Number of bytes to follow + + $header = pack("vv", $record, $length); + $data = pack("v", $defaultColWidth); + $this->_append($header . $data); + } + + /** + * Write BIFF record COLINFO to define column widths + * + * Note: The SDK says the record length is 0x0B but Excel writes a 0x0C + * length record. + * + * @param array $col_array This is the only parameter received and is composed of the following: + * 0 => First formatted column, + * 1 => Last formatted column, + * 2 => Col width (8.43 is Excel default), + * 3 => The optional XF format of the column, + * 4 => Option flags. + * 5 => Optional outline level + */ + private function _writeColinfo($col_array) + { + if (isset($col_array[0])) { + $colFirst = $col_array[0]; + } + if (isset($col_array[1])) { + $colLast = $col_array[1]; + } + if (isset($col_array[2])) { + $coldx = $col_array[2]; + } else { + $coldx = 8.43; + } + if (isset($col_array[3])) { + $xfIndex = $col_array[3]; + } else { + $xfIndex = 15; + } + if (isset($col_array[4])) { + $grbit = $col_array[4]; + } else { + $grbit = 0; + } + if (isset($col_array[5])) { + $level = $col_array[5]; + } else { + $level = 0; + } + $record = 0x007D; // Record identifier + $length = 0x000C; // Number of bytes to follow + + $coldx *= 256; // Convert to units of 1/256 of a char + + $ixfe = $xfIndex; + $reserved = 0x0000; // Reserved + + $level = max(0, min($level, 7)); + $grbit |= $level << 8; + + $header = pack("vv", $record, $length); + $data = pack("vvvvvv", $colFirst, $colLast, $coldx, + $ixfe, $grbit, $reserved); + $this->_append($header.$data); + } + + /** + * Write BIFF record SELECTION. + */ + private function _writeSelection() + { + // look up the selected cell range + $selectedCells = $this->_phpSheet->getSelectedCells(); + $selectedCells = PHPExcel_Cell::splitRange($this->_phpSheet->getSelectedCells()); + $selectedCells = $selectedCells[0]; + if (count($selectedCells) == 2) { + list($first, $last) = $selectedCells; + } else { + $first = $selectedCells[0]; + $last = $selectedCells[0]; + } + + list($colFirst, $rwFirst) = PHPExcel_Cell::coordinateFromString($first); + $colFirst = PHPExcel_Cell::columnIndexFromString($colFirst) - 1; // base 0 column index + --$rwFirst; // base 0 row index + + list($colLast, $rwLast) = PHPExcel_Cell::coordinateFromString($last); + $colLast = PHPExcel_Cell::columnIndexFromString($colLast) - 1; // base 0 column index + --$rwLast; // base 0 row index + + // make sure we are not out of bounds + $colFirst = min($colFirst, 255); + $colLast = min($colLast, 255); + + $rwFirst = min($rwFirst, 65535); + $rwLast = min($rwLast, 65535); + + $record = 0x001D; // Record identifier + $length = 0x000F; // Number of bytes to follow + + $pnn = $this->_active_pane; // Pane position + $rwAct = $rwFirst; // Active row + $colAct = $colFirst; // Active column + $irefAct = 0; // Active cell ref + $cref = 1; // Number of refs + + if (!isset($rwLast)) { + $rwLast = $rwFirst; // Last row in reference + } + if (!isset($colLast)) { + $colLast = $colFirst; // Last col in reference + } + + // Swap last row/col for first row/col as necessary + if ($rwFirst > $rwLast) { + list($rwFirst, $rwLast) = array($rwLast, $rwFirst); + } + + if ($colFirst > $colLast) { + list($colFirst, $colLast) = array($colLast, $colFirst); + } + + $header = pack("vv", $record, $length); + $data = pack("CvvvvvvCC", $pnn, $rwAct, $colAct, + $irefAct, $cref, + $rwFirst, $rwLast, + $colFirst, $colLast); + $this->_append($header . $data); + } + + /** + * Store the MERGEDCELLS records for all ranges of merged cells + */ + private function _writeMergedCells() + { + $mergeCells = $this->_phpSheet->getMergeCells(); + $countMergeCells = count($mergeCells); + + if ($countMergeCells == 0) { + return; + } + + // maximum allowed number of merged cells per record + $maxCountMergeCellsPerRecord = 1027; + + // record identifier + $record = 0x00E5; + + // counter for total number of merged cells treated so far by the writer + $i = 0; + + // counter for number of merged cells written in record currently being written + $j = 0; + + // initialize record data + $recordData = ''; + + // loop through the merged cells + foreach ($mergeCells as $mergeCell) { + ++$i; + ++$j; + + // extract the row and column indexes + $range = PHPExcel_Cell::splitRange($mergeCell); + list($first, $last) = $range[0]; + list($firstColumn, $firstRow) = PHPExcel_Cell::coordinateFromString($first); + list($lastColumn, $lastRow) = PHPExcel_Cell::coordinateFromString($last); + + $recordData .= pack('vvvv', $firstRow - 1, $lastRow - 1, PHPExcel_Cell::columnIndexFromString($firstColumn) - 1, PHPExcel_Cell::columnIndexFromString($lastColumn) - 1); + + // flush record if we have reached limit for number of merged cells, or reached final merged cell + if ($j == $maxCountMergeCellsPerRecord or $i == $countMergeCells) { + $recordData = pack('v', $j) . $recordData; + $length = strlen($recordData); + $header = pack('vv', $record, $length); + $this->_append($header . $recordData); + + // initialize for next record, if any + $recordData = ''; + $j = 0; + } + } + } + + /** + * Write SHEETLAYOUT record + */ + private function _writeSheetLayout() + { + if (!$this->_phpSheet->isTabColorSet()) { + return; + } + + $recordData = pack( + 'vvVVVvv' + , 0x0862 + , 0x0000 // unused + , 0x00000000 // unused + , 0x00000000 // unused + , 0x00000014 // size of record data + , $this->_colors[$this->_phpSheet->getTabColor()->getRGB()] // color index + , 0x0000 // unused + ); + + $length = strlen($recordData); + + $record = 0x0862; // Record identifier + $header = pack('vv', $record, $length); + $this->_append($header . $recordData); + } + + /** + * Write SHEETPROTECTION + */ + private function _writeSheetProtection() + { + // record identifier + $record = 0x0867; + + // prepare options + $options = (int) !$this->_phpSheet->getProtection()->getObjects() + | (int) !$this->_phpSheet->getProtection()->getScenarios() << 1 + | (int) !$this->_phpSheet->getProtection()->getFormatCells() << 2 + | (int) !$this->_phpSheet->getProtection()->getFormatColumns() << 3 + | (int) !$this->_phpSheet->getProtection()->getFormatRows() << 4 + | (int) !$this->_phpSheet->getProtection()->getInsertColumns() << 5 + | (int) !$this->_phpSheet->getProtection()->getInsertRows() << 6 + | (int) !$this->_phpSheet->getProtection()->getInsertHyperlinks() << 7 + | (int) !$this->_phpSheet->getProtection()->getDeleteColumns() << 8 + | (int) !$this->_phpSheet->getProtection()->getDeleteRows() << 9 + | (int) !$this->_phpSheet->getProtection()->getSelectLockedCells() << 10 + | (int) !$this->_phpSheet->getProtection()->getSort() << 11 + | (int) !$this->_phpSheet->getProtection()->getAutoFilter() << 12 + | (int) !$this->_phpSheet->getProtection()->getPivotTables() << 13 + | (int) !$this->_phpSheet->getProtection()->getSelectUnlockedCells() << 14 ; + + // record data + $recordData = pack( + 'vVVCVVvv' + , 0x0867 // repeated record identifier + , 0x0000 // not used + , 0x0000 // not used + , 0x00 // not used + , 0x01000200 // unknown data + , 0xFFFFFFFF // unknown data + , $options // options + , 0x0000 // not used + ); + + $length = strlen($recordData); + $header = pack('vv', $record, $length); + + $this->_append($header . $recordData); + } + + /** + * Write BIFF record RANGEPROTECTION + * + * Openoffice.org's Documentaion of the Microsoft Excel File Format uses term RANGEPROTECTION for these records + * Microsoft Office Excel 97-2007 Binary File Format Specification uses term FEAT for these records + */ + private function _writeRangeProtection() + { + foreach ($this->_phpSheet->getProtectedCells() as $range => $password) { + // number of ranges, e.g. 'A1:B3 C20:D25' + $cellRanges = explode(' ', $range); + $cref = count($cellRanges); + + $recordData = pack( + 'vvVVvCVvVv', + 0x0868, + 0x00, + 0x0000, + 0x0000, + 0x02, + 0x0, + 0x0000, + $cref, + 0x0000, + 0x00 + ); + + foreach ($cellRanges as $cellRange) { + $recordData .= $this->_writeBIFF8CellRangeAddressFixed($cellRange); + } + + // the rgbFeat structure + $recordData .= pack( + 'VV', + 0x0000, + hexdec($password) + ); + + $recordData .= PHPExcel_Shared_String::UTF8toBIFF8UnicodeLong('p' . md5($recordData)); + + $length = strlen($recordData); + + $record = 0x0868; // Record identifier + $header = pack("vv", $record, $length); + $this->_append($header . $recordData); + } + } + + /** + * Write BIFF record EXTERNCOUNT to indicate the number of external sheet + * references in a worksheet. + * + * Excel only stores references to external sheets that are used in formulas. + * For simplicity we store references to all the sheets in the workbook + * regardless of whether they are used or not. This reduces the overall + * complexity and eliminates the need for a two way dialogue between the formula + * parser the worksheet objects. + * + * @param integer $count The number of external sheet references in this worksheet + */ + private function _writeExterncount($count) + { + $record = 0x0016; // Record identifier + $length = 0x0002; // Number of bytes to follow + + $header = pack("vv", $record, $length); + $data = pack("v", $count); + $this->_append($header . $data); + } + + /** + * Writes the Excel BIFF EXTERNSHEET record. These references are used by + * formulas. A formula references a sheet name via an index. Since we store a + * reference to all of the external worksheets the EXTERNSHEET index is the same + * as the worksheet index. + * + * @param string $sheetname The name of a external worksheet + */ + private function _writeExternsheet($sheetname) + { + $record = 0x0017; // Record identifier + + // References to the current sheet are encoded differently to references to + // external sheets. + // + if ($this->_phpSheet->getTitle() == $sheetname) { + $sheetname = ''; + $length = 0x02; // The following 2 bytes + $cch = 1; // The following byte + $rgch = 0x02; // Self reference + } else { + $length = 0x02 + strlen($sheetname); + $cch = strlen($sheetname); + $rgch = 0x03; // Reference to a sheet in the current workbook + } + + $header = pack("vv", $record, $length); + $data = pack("CC", $cch, $rgch); + $this->_append($header . $data . $sheetname); + } + + /** + * Writes the Excel BIFF PANE record. + * The panes can either be frozen or thawed (unfrozen). + * Frozen panes are specified in terms of an integer number of rows and columns. + * Thawed panes are specified in terms of Excel's units for rows and columns. + */ + private function _writePanes() + { + $panes = array(); + if ($freezePane = $this->_phpSheet->getFreezePane()) { + list($column, $row) = PHPExcel_Cell::coordinateFromString($freezePane); + $panes[0] = $row - 1; + $panes[1] = PHPExcel_Cell::columnIndexFromString($column) - 1; + } else { + // thaw panes + return; + } + + $y = isset($panes[0]) ? $panes[0] : null; + $x = isset($panes[1]) ? $panes[1] : null; + $rwTop = isset($panes[2]) ? $panes[2] : null; + $colLeft = isset($panes[3]) ? $panes[3] : null; + if (count($panes) > 4) { // if Active pane was received + $pnnAct = $panes[4]; + } else { + $pnnAct = null; + } + $record = 0x0041; // Record identifier + $length = 0x000A; // Number of bytes to follow + + // Code specific to frozen or thawed panes. + if ($this->_phpSheet->getFreezePane()) { + // Set default values for $rwTop and $colLeft + if (!isset($rwTop)) { + $rwTop = $y; + } + if (!isset($colLeft)) { + $colLeft = $x; + } + } else { + // Set default values for $rwTop and $colLeft + if (!isset($rwTop)) { + $rwTop = 0; + } + if (!isset($colLeft)) { + $colLeft = 0; + } + + // Convert Excel's row and column units to the internal units. + // The default row height is 12.75 + // The default column width is 8.43 + // The following slope and intersection values were interpolated. + // + $y = 20*$y + 255; + $x = 113.879*$x + 390; + } + + + // Determine which pane should be active. There is also the undocumented + // option to override this should it be necessary: may be removed later. + // + if (!isset($pnnAct)) { + if ($x != 0 && $y != 0) { + $pnnAct = 0; // Bottom right + } + if ($x != 0 && $y == 0) { + $pnnAct = 1; // Top right + } + if ($x == 0 && $y != 0) { + $pnnAct = 2; // Bottom left + } + if ($x == 0 && $y == 0) { + $pnnAct = 3; // Top left + } + } + + $this->_active_pane = $pnnAct; // Used in _writeSelection + + $header = pack("vv", $record, $length); + $data = pack("vvvvv", $x, $y, $rwTop, $colLeft, $pnnAct); + $this->_append($header . $data); + } + + /** + * Store the page setup SETUP BIFF record. + */ + private function _writeSetup() + { + $record = 0x00A1; // Record identifier + $length = 0x0022; // Number of bytes to follow + + $iPaperSize = $this->_phpSheet->getPageSetup()->getPaperSize(); // Paper size + + $iScale = $this->_phpSheet->getPageSetup()->getScale() ? + $this->_phpSheet->getPageSetup()->getScale() : 100; // Print scaling factor + + $iPageStart = 0x01; // Starting page number + $iFitWidth = (int) $this->_phpSheet->getPageSetup()->getFitToWidth(); // Fit to number of pages wide + $iFitHeight = (int) $this->_phpSheet->getPageSetup()->getFitToHeight(); // Fit to number of pages high + $grbit = 0x00; // Option flags + $iRes = 0x0258; // Print resolution + $iVRes = 0x0258; // Vertical print resolution + + $numHdr = $this->_phpSheet->getPageMargins()->getHeader(); // Header Margin + + $numFtr = $this->_phpSheet->getPageMargins()->getFooter(); // Footer Margin + $iCopies = 0x01; // Number of copies + + $fLeftToRight = 0x0; // Print over then down + + // Page orientation + $fLandscape = ($this->_phpSheet->getPageSetup()->getOrientation() == PHPExcel_Worksheet_PageSetup::ORIENTATION_LANDSCAPE) ? + 0x0 : 0x1; + + $fNoPls = 0x0; // Setup not read from printer + $fNoColor = 0x0; // Print black and white + $fDraft = 0x0; // Print draft quality + $fNotes = 0x0; // Print notes + $fNoOrient = 0x0; // Orientation not set + $fUsePage = 0x0; // Use custom starting page + + $grbit = $fLeftToRight; + $grbit |= $fLandscape << 1; + $grbit |= $fNoPls << 2; + $grbit |= $fNoColor << 3; + $grbit |= $fDraft << 4; + $grbit |= $fNotes << 5; + $grbit |= $fNoOrient << 6; + $grbit |= $fUsePage << 7; + + $numHdr = pack("d", $numHdr); + $numFtr = pack("d", $numFtr); + if (self::getByteOrder()) { // if it's Big Endian + $numHdr = strrev($numHdr); + $numFtr = strrev($numFtr); + } + + $header = pack("vv", $record, $length); + $data1 = pack("vvvvvvvv", $iPaperSize, + $iScale, + $iPageStart, + $iFitWidth, + $iFitHeight, + $grbit, + $iRes, + $iVRes); + $data2 = $numHdr.$numFtr; + $data3 = pack("v", $iCopies); + $this->_append($header . $data1 . $data2 . $data3); + } + + /** + * Store the header caption BIFF record. + */ + private function _writeHeader() + { + $record = 0x0014; // Record identifier + + /* removing for now + // need to fix character count (multibyte!) + if (strlen($this->_phpSheet->getHeaderFooter()->getOddHeader()) <= 255) { + $str = $this->_phpSheet->getHeaderFooter()->getOddHeader(); // header string + } else { + $str = ''; + } + */ + + $recordData = PHPExcel_Shared_String::UTF8toBIFF8UnicodeLong($this->_phpSheet->getHeaderFooter()->getOddHeader()); + $length = strlen($recordData); + + $header = pack("vv", $record, $length); + + $this->_append($header . $recordData); + } + + /** + * Store the footer caption BIFF record. + */ + private function _writeFooter() + { + $record = 0x0015; // Record identifier + + /* removing for now + // need to fix character count (multibyte!) + if (strlen($this->_phpSheet->getHeaderFooter()->getOddFooter()) <= 255) { + $str = $this->_phpSheet->getHeaderFooter()->getOddFooter(); + } else { + $str = ''; + } + */ + + $recordData = PHPExcel_Shared_String::UTF8toBIFF8UnicodeLong($this->_phpSheet->getHeaderFooter()->getOddFooter()); + $length = strlen($recordData); + + $header = pack("vv", $record, $length); + + $this->_append($header . $recordData); + } + + /** + * Store the horizontal centering HCENTER BIFF record. + * + * @access private + */ + private function _writeHcenter() + { + $record = 0x0083; // Record identifier + $length = 0x0002; // Bytes to follow + + $fHCenter = $this->_phpSheet->getPageSetup()->getHorizontalCentered() ? 1 : 0; // Horizontal centering + + $header = pack("vv", $record, $length); + $data = pack("v", $fHCenter); + + $this->_append($header.$data); + } + + /** + * Store the vertical centering VCENTER BIFF record. + */ + private function _writeVcenter() + { + $record = 0x0084; // Record identifier + $length = 0x0002; // Bytes to follow + + $fVCenter = $this->_phpSheet->getPageSetup()->getVerticalCentered() ? 1 : 0; // Horizontal centering + + $header = pack("vv", $record, $length); + $data = pack("v", $fVCenter); + $this->_append($header . $data); + } + + /** + * Store the LEFTMARGIN BIFF record. + */ + private function _writeMarginLeft() + { + $record = 0x0026; // Record identifier + $length = 0x0008; // Bytes to follow + + $margin = $this->_phpSheet->getPageMargins()->getLeft(); // Margin in inches + + $header = pack("vv", $record, $length); + $data = pack("d", $margin); + if (self::getByteOrder()) { // if it's Big Endian + $data = strrev($data); + } + + $this->_append($header . $data); + } + + /** + * Store the RIGHTMARGIN BIFF record. + */ + private function _writeMarginRight() + { + $record = 0x0027; // Record identifier + $length = 0x0008; // Bytes to follow + + $margin = $this->_phpSheet->getPageMargins()->getRight(); // Margin in inches + + $header = pack("vv", $record, $length); + $data = pack("d", $margin); + if (self::getByteOrder()) { // if it's Big Endian + $data = strrev($data); + } + + $this->_append($header . $data); + } + + /** + * Store the TOPMARGIN BIFF record. + */ + private function _writeMarginTop() + { + $record = 0x0028; // Record identifier + $length = 0x0008; // Bytes to follow + + $margin = $this->_phpSheet->getPageMargins()->getTop(); // Margin in inches + + $header = pack("vv", $record, $length); + $data = pack("d", $margin); + if (self::getByteOrder()) { // if it's Big Endian + $data = strrev($data); + } + + $this->_append($header . $data); + } + + /** + * Store the BOTTOMMARGIN BIFF record. + */ + private function _writeMarginBottom() + { + $record = 0x0029; // Record identifier + $length = 0x0008; // Bytes to follow + + $margin = $this->_phpSheet->getPageMargins()->getBottom(); // Margin in inches + + $header = pack("vv", $record, $length); + $data = pack("d", $margin); + if (self::getByteOrder()) { // if it's Big Endian + $data = strrev($data); + } + + $this->_append($header . $data); + } + + /** + * Write the PRINTHEADERS BIFF record. + */ + private function _writePrintHeaders() + { + $record = 0x002a; // Record identifier + $length = 0x0002; // Bytes to follow + + $fPrintRwCol = $this->_print_headers; // Boolean flag + + $header = pack("vv", $record, $length); + $data = pack("v", $fPrintRwCol); + $this->_append($header . $data); + } + + /** + * Write the PRINTGRIDLINES BIFF record. Must be used in conjunction with the + * GRIDSET record. + */ + private function _writePrintGridlines() + { + $record = 0x002b; // Record identifier + $length = 0x0002; // Bytes to follow + + $fPrintGrid = $this->_phpSheet->getPrintGridlines() ? 1 : 0; // Boolean flag + + $header = pack("vv", $record, $length); + $data = pack("v", $fPrintGrid); + $this->_append($header . $data); + } + + /** + * Write the GRIDSET BIFF record. Must be used in conjunction with the + * PRINTGRIDLINES record. + */ + private function _writeGridset() + { + $record = 0x0082; // Record identifier + $length = 0x0002; // Bytes to follow + + $fGridSet = !$this->_phpSheet->getPrintGridlines(); // Boolean flag + + $header = pack("vv", $record, $length); + $data = pack("v", $fGridSet); + $this->_append($header . $data); + } + + /** + * Write the AUTOFILTERINFO BIFF record. This is used to configure the number of autofilter select used in the sheet. + */ + private function _writeAutoFilterInfo(){ + $record = 0x009D; // Record identifier + $length = 0x0002; // Bytes to follow + + $rangeBounds = PHPExcel_Cell::rangeBoundaries($this->_phpSheet->getAutoFilter()->getRange()); + $iNumFilters = 1 + $rangeBounds[1][0] - $rangeBounds[0][0]; + + $header = pack("vv", $record, $length); + $data = pack("v", $iNumFilters); + $this->_append($header . $data); + } + + /** + * Write the GUTS BIFF record. This is used to configure the gutter margins + * where Excel outline symbols are displayed. The visibility of the gutters is + * controlled by a flag in WSBOOL. + * + * @see _writeWsbool() + */ + private function _writeGuts() + { + $record = 0x0080; // Record identifier + $length = 0x0008; // Bytes to follow + + $dxRwGut = 0x0000; // Size of row gutter + $dxColGut = 0x0000; // Size of col gutter + + // determine maximum row outline level + $maxRowOutlineLevel = 0; + foreach ($this->_phpSheet->getRowDimensions() as $rowDimension) { + $maxRowOutlineLevel = max($maxRowOutlineLevel, $rowDimension->getOutlineLevel()); + } + + $col_level = 0; + + // Calculate the maximum column outline level. The equivalent calculation + // for the row outline level is carried out in _writeRow(). + $colcount = count($this->_colinfo); + for ($i = 0; $i < $colcount; ++$i) { + $col_level = max($this->_colinfo[$i][5], $col_level); + } + + // Set the limits for the outline levels (0 <= x <= 7). + $col_level = max(0, min($col_level, 7)); + + // The displayed level is one greater than the max outline levels + if ($maxRowOutlineLevel) { + ++$maxRowOutlineLevel; + } + if ($col_level) { + ++$col_level; + } + + $header = pack("vv", $record, $length); + $data = pack("vvvv", $dxRwGut, $dxColGut, $maxRowOutlineLevel, $col_level); + + $this->_append($header.$data); + } + + /** + * Write the WSBOOL BIFF record, mainly for fit-to-page. Used in conjunction + * with the SETUP record. + */ + private function _writeWsbool() + { + $record = 0x0081; // Record identifier + $length = 0x0002; // Bytes to follow + $grbit = 0x0000; + + // The only option that is of interest is the flag for fit to page. So we + // set all the options in one go. + // + // Set the option flags + $grbit |= 0x0001; // Auto page breaks visible + if ($this->_outline_style) { + $grbit |= 0x0020; // Auto outline styles + } + if ($this->_phpSheet->getShowSummaryBelow()) { + $grbit |= 0x0040; // Outline summary below + } + if ($this->_phpSheet->getShowSummaryRight()) { + $grbit |= 0x0080; // Outline summary right + } + if ($this->_phpSheet->getPageSetup()->getFitToPage()) { + $grbit |= 0x0100; // Page setup fit to page + } + if ($this->_outline_on) { + $grbit |= 0x0400; // Outline symbols displayed + } + + $header = pack("vv", $record, $length); + $data = pack("v", $grbit); + $this->_append($header . $data); + } + + /** + * Write the HORIZONTALPAGEBREAKS and VERTICALPAGEBREAKS BIFF records. + */ + private function _writeBreaks() + { + // initialize + $vbreaks = array(); + $hbreaks = array(); + + foreach ($this->_phpSheet->getBreaks() as $cell => $breakType) { + // Fetch coordinates + $coordinates = PHPExcel_Cell::coordinateFromString($cell); + + // Decide what to do by the type of break + switch ($breakType) { + case PHPExcel_Worksheet::BREAK_COLUMN: + // Add to list of vertical breaks + $vbreaks[] = PHPExcel_Cell::columnIndexFromString($coordinates[0]) - 1; + break; + + case PHPExcel_Worksheet::BREAK_ROW: + // Add to list of horizontal breaks + $hbreaks[] = $coordinates[1]; + break; + + case PHPExcel_Worksheet::BREAK_NONE: + default: + // Nothing to do + break; + } + } + + //horizontal page breaks + if (!empty($hbreaks)) { + + // Sort and filter array of page breaks + sort($hbreaks, SORT_NUMERIC); + if ($hbreaks[0] == 0) { // don't use first break if it's 0 + array_shift($hbreaks); + } + + $record = 0x001b; // Record identifier + $cbrk = count($hbreaks); // Number of page breaks + $length = 2 + 6 * $cbrk; // Bytes to follow + + $header = pack("vv", $record, $length); + $data = pack("v", $cbrk); + + // Append each page break + foreach ($hbreaks as $hbreak) { + $data .= pack("vvv", $hbreak, 0x0000, 0x00ff); + } + + $this->_append($header . $data); + } + + // vertical page breaks + if (!empty($vbreaks)) { + + // 1000 vertical pagebreaks appears to be an internal Excel 5 limit. + // It is slightly higher in Excel 97/200, approx. 1026 + $vbreaks = array_slice($vbreaks, 0, 1000); + + // Sort and filter array of page breaks + sort($vbreaks, SORT_NUMERIC); + if ($vbreaks[0] == 0) { // don't use first break if it's 0 + array_shift($vbreaks); + } + + $record = 0x001a; // Record identifier + $cbrk = count($vbreaks); // Number of page breaks + $length = 2 + 6 * $cbrk; // Bytes to follow + + $header = pack("vv", $record, $length); + $data = pack("v", $cbrk); + + // Append each page break + foreach ($vbreaks as $vbreak) { + $data .= pack("vvv", $vbreak, 0x0000, 0xffff); + } + + $this->_append($header . $data); + } + } + + /** + * Set the Biff PROTECT record to indicate that the worksheet is protected. + */ + private function _writeProtect() + { + // Exit unless sheet protection has been specified + if (!$this->_phpSheet->getProtection()->getSheet()) { + return; + } + + $record = 0x0012; // Record identifier + $length = 0x0002; // Bytes to follow + + $fLock = 1; // Worksheet is protected + + $header = pack("vv", $record, $length); + $data = pack("v", $fLock); + + $this->_append($header.$data); + } + + /** + * Write SCENPROTECT + */ + private function _writeScenProtect() + { + // Exit if sheet protection is not active + if (!$this->_phpSheet->getProtection()->getSheet()) { + return; + } + + // Exit if scenarios are not protected + if (!$this->_phpSheet->getProtection()->getScenarios()) { + return; + } + + $record = 0x00DD; // Record identifier + $length = 0x0002; // Bytes to follow + + $header = pack('vv', $record, $length); + $data = pack('v', 1); + + $this->_append($header . $data); + } + + /** + * Write OBJECTPROTECT + */ + private function _writeObjectProtect() + { + // Exit if sheet protection is not active + if (!$this->_phpSheet->getProtection()->getSheet()) { + return; + } + + // Exit if objects are not protected + if (!$this->_phpSheet->getProtection()->getObjects()) { + return; + } + + $record = 0x0063; // Record identifier + $length = 0x0002; // Bytes to follow + + $header = pack('vv', $record, $length); + $data = pack('v', 1); + + $this->_append($header . $data); + } + + /** + * Write the worksheet PASSWORD record. + */ + private function _writePassword() + { + // Exit unless sheet protection and password have been specified + if (!$this->_phpSheet->getProtection()->getSheet() || !$this->_phpSheet->getProtection()->getPassword()) { + return; + } + + $record = 0x0013; // Record identifier + $length = 0x0002; // Bytes to follow + + $wPassword = hexdec($this->_phpSheet->getProtection()->getPassword()); // Encoded password + + $header = pack("vv", $record, $length); + $data = pack("v", $wPassword); + + $this->_append($header . $data); + } + + /** + * Insert a 24bit bitmap image in a worksheet. + * + * @access public + * @param integer $row The row we are going to insert the bitmap into + * @param integer $col The column we are going to insert the bitmap into + * @param mixed $bitmap The bitmap filename or GD-image resource + * @param integer $x The horizontal position (offset) of the image inside the cell. + * @param integer $y The vertical position (offset) of the image inside the cell. + * @param float $scale_x The horizontal scale + * @param float $scale_y The vertical scale + */ + function insertBitmap($row, $col, $bitmap, $x = 0, $y = 0, $scale_x = 1, $scale_y = 1) + { + $bitmap_array = (is_resource($bitmap) ? $this->_processBitmapGd($bitmap) : $this->_processBitmap($bitmap)); + list($width, $height, $size, $data) = $bitmap_array; //$this->_processBitmap($bitmap); + + // Scale the frame of the image. + $width *= $scale_x; + $height *= $scale_y; + + // Calculate the vertices of the image and write the OBJ record + $this->_positionImage($col, $row, $x, $y, $width, $height); + + // Write the IMDATA record to store the bitmap data + $record = 0x007f; + $length = 8 + $size; + $cf = 0x09; + $env = 0x01; + $lcb = $size; + + $header = pack("vvvvV", $record, $length, $cf, $env, $lcb); + $this->_append($header.$data); + } + + /** + * Calculate the vertices that define the position of the image as required by + * the OBJ record. + * + * +------------+------------+ + * | A | B | + * +-----+------------+------------+ + * | |(x1,y1) | | + * | 1 |(A1)._______|______ | + * | | | | | + * | | | | | + * +-----+----| BITMAP |-----+ + * | | | | | + * | 2 | |______________. | + * | | | (B2)| + * | | | (x2,y2)| + * +---- +------------+------------+ + * + * Example of a bitmap that covers some of the area from cell A1 to cell B2. + * + * Based on the width and height of the bitmap we need to calculate 8 vars: + * $col_start, $row_start, $col_end, $row_end, $x1, $y1, $x2, $y2. + * The width and height of the cells are also variable and have to be taken into + * account. + * The values of $col_start and $row_start are passed in from the calling + * function. The values of $col_end and $row_end are calculated by subtracting + * the width and height of the bitmap from the width and height of the + * underlying cells. + * The vertices are expressed as a percentage of the underlying cell width as + * follows (rhs values are in pixels): + * + * x1 = X / W *1024 + * y1 = Y / H *256 + * x2 = (X-1) / W *1024 + * y2 = (Y-1) / H *256 + * + * Where: X is distance from the left side of the underlying cell + * Y is distance from the top of the underlying cell + * W is the width of the cell + * H is the height of the cell + * The SDK incorrectly states that the height should be expressed as a + * percentage of 1024. + * + * @access private + * @param integer $col_start Col containing upper left corner of object + * @param integer $row_start Row containing top left corner of object + * @param integer $x1 Distance to left side of object + * @param integer $y1 Distance to top of object + * @param integer $width Width of image frame + * @param integer $height Height of image frame + */ + function _positionImage($col_start, $row_start, $x1, $y1, $width, $height) + { + // Initialise end cell to the same as the start cell + $col_end = $col_start; // Col containing lower right corner of object + $row_end = $row_start; // Row containing bottom right corner of object + + // Zero the specified offset if greater than the cell dimensions + if ($x1 >= PHPExcel_Shared_Excel5::sizeCol($this->_phpSheet, PHPExcel_Cell::stringFromColumnIndex($col_start))) { + $x1 = 0; + } + if ($y1 >= PHPExcel_Shared_Excel5::sizeRow($this->_phpSheet, $row_start + 1)) { + $y1 = 0; + } + + $width = $width + $x1 -1; + $height = $height + $y1 -1; + + // Subtract the underlying cell widths to find the end cell of the image + while ($width >= PHPExcel_Shared_Excel5::sizeCol($this->_phpSheet, PHPExcel_Cell::stringFromColumnIndex($col_end))) { + $width -= PHPExcel_Shared_Excel5::sizeCol($this->_phpSheet, PHPExcel_Cell::stringFromColumnIndex($col_end)); + ++$col_end; + } + + // Subtract the underlying cell heights to find the end cell of the image + while ($height >= PHPExcel_Shared_Excel5::sizeRow($this->_phpSheet, $row_end + 1)) { + $height -= PHPExcel_Shared_Excel5::sizeRow($this->_phpSheet, $row_end + 1); + ++$row_end; + } + + // Bitmap isn't allowed to start or finish in a hidden cell, i.e. a cell + // with zero eight or width. + // + if (PHPExcel_Shared_Excel5::sizeCol($this->_phpSheet, PHPExcel_Cell::stringFromColumnIndex($col_start)) == 0) { + return; + } + if (PHPExcel_Shared_Excel5::sizeCol($this->_phpSheet, PHPExcel_Cell::stringFromColumnIndex($col_end)) == 0) { + return; + } + if (PHPExcel_Shared_Excel5::sizeRow($this->_phpSheet, $row_start + 1) == 0) { + return; + } + if (PHPExcel_Shared_Excel5::sizeRow($this->_phpSheet, $row_end + 1) == 0) { + return; + } + + // Convert the pixel values to the percentage value expected by Excel + $x1 = $x1 / PHPExcel_Shared_Excel5::sizeCol($this->_phpSheet, PHPExcel_Cell::stringFromColumnIndex($col_start)) * 1024; + $y1 = $y1 / PHPExcel_Shared_Excel5::sizeRow($this->_phpSheet, $row_start + 1) * 256; + $x2 = $width / PHPExcel_Shared_Excel5::sizeCol($this->_phpSheet, PHPExcel_Cell::stringFromColumnIndex($col_end)) * 1024; // Distance to right side of object + $y2 = $height / PHPExcel_Shared_Excel5::sizeRow($this->_phpSheet, $row_end + 1) * 256; // Distance to bottom of object + + $this->_writeObjPicture($col_start, $x1, + $row_start, $y1, + $col_end, $x2, + $row_end, $y2); + } + + /** + * Store the OBJ record that precedes an IMDATA record. This could be generalise + * to support other Excel objects. + * + * @param integer $colL Column containing upper left corner of object + * @param integer $dxL Distance from left side of cell + * @param integer $rwT Row containing top left corner of object + * @param integer $dyT Distance from top of cell + * @param integer $colR Column containing lower right corner of object + * @param integer $dxR Distance from right of cell + * @param integer $rwB Row containing bottom right corner of object + * @param integer $dyB Distance from bottom of cell + */ + private function _writeObjPicture($colL,$dxL,$rwT,$dyT,$colR,$dxR,$rwB,$dyB) + { + $record = 0x005d; // Record identifier + $length = 0x003c; // Bytes to follow + + $cObj = 0x0001; // Count of objects in file (set to 1) + $OT = 0x0008; // Object type. 8 = Picture + $id = 0x0001; // Object ID + $grbit = 0x0614; // Option flags + + $cbMacro = 0x0000; // Length of FMLA structure + $Reserved1 = 0x0000; // Reserved + $Reserved2 = 0x0000; // Reserved + + $icvBack = 0x09; // Background colour + $icvFore = 0x09; // Foreground colour + $fls = 0x00; // Fill pattern + $fAuto = 0x00; // Automatic fill + $icv = 0x08; // Line colour + $lns = 0xff; // Line style + $lnw = 0x01; // Line weight + $fAutoB = 0x00; // Automatic border + $frs = 0x0000; // Frame style + $cf = 0x0009; // Image format, 9 = bitmap + $Reserved3 = 0x0000; // Reserved + $cbPictFmla = 0x0000; // Length of FMLA structure + $Reserved4 = 0x0000; // Reserved + $grbit2 = 0x0001; // Option flags + $Reserved5 = 0x0000; // Reserved + + + $header = pack("vv", $record, $length); + $data = pack("V", $cObj); + $data .= pack("v", $OT); + $data .= pack("v", $id); + $data .= pack("v", $grbit); + $data .= pack("v", $colL); + $data .= pack("v", $dxL); + $data .= pack("v", $rwT); + $data .= pack("v", $dyT); + $data .= pack("v", $colR); + $data .= pack("v", $dxR); + $data .= pack("v", $rwB); + $data .= pack("v", $dyB); + $data .= pack("v", $cbMacro); + $data .= pack("V", $Reserved1); + $data .= pack("v", $Reserved2); + $data .= pack("C", $icvBack); + $data .= pack("C", $icvFore); + $data .= pack("C", $fls); + $data .= pack("C", $fAuto); + $data .= pack("C", $icv); + $data .= pack("C", $lns); + $data .= pack("C", $lnw); + $data .= pack("C", $fAutoB); + $data .= pack("v", $frs); + $data .= pack("V", $cf); + $data .= pack("v", $Reserved3); + $data .= pack("v", $cbPictFmla); + $data .= pack("v", $Reserved4); + $data .= pack("v", $grbit2); + $data .= pack("V", $Reserved5); + + $this->_append($header . $data); + } + + /** + * Convert a GD-image into the internal format. + * + * @access private + * @param resource $image The image to process + * @return array Array with data and properties of the bitmap + */ + function _processBitmapGd($image) { + $width = imagesx($image); + $height = imagesy($image); + + $data = pack("Vvvvv", 0x000c, $width, $height, 0x01, 0x18); + for ($j=$height; $j--; ) { + for ($i=0; $i < $width; ++$i) { + $color = imagecolorsforindex($image, imagecolorat($image, $i, $j)); + foreach (array("red", "green", "blue") as $key) { + $color[$key] = $color[$key] + round((255 - $color[$key]) * $color["alpha"] / 127); + } + $data .= chr($color["blue"]) . chr($color["green"]) . chr($color["red"]); + } + if (3*$width % 4) { + $data .= str_repeat("\x00", 4 - 3*$width % 4); + } + } + + return array($width, $height, strlen($data), $data); + } + + /** + * Convert a 24 bit bitmap into the modified internal format used by Windows. + * This is described in BITMAPCOREHEADER and BITMAPCOREINFO structures in the + * MSDN library. + * + * @access private + * @param string $bitmap The bitmap to process + * @return array Array with data and properties of the bitmap + */ + function _processBitmap($bitmap) + { + // Open file. + $bmp_fd = @fopen($bitmap,"rb"); + if (!$bmp_fd) { + throw new PHPExcel_Writer_Exception("Couldn't import $bitmap"); + } + + // Slurp the file into a string. + $data = fread($bmp_fd, filesize($bitmap)); + + // Check that the file is big enough to be a bitmap. + if (strlen($data) <= 0x36) { + throw new PHPExcel_Writer_Exception("$bitmap doesn't contain enough data.\n"); + } + + // The first 2 bytes are used to identify the bitmap. + $identity = unpack("A2ident", $data); + if ($identity['ident'] != "BM") { + throw new PHPExcel_Writer_Exception("$bitmap doesn't appear to be a valid bitmap image.\n"); + } + + // Remove bitmap data: ID. + $data = substr($data, 2); + + // Read and remove the bitmap size. This is more reliable than reading + // the data size at offset 0x22. + // + $size_array = unpack("Vsa", substr($data, 0, 4)); + $size = $size_array['sa']; + $data = substr($data, 4); + $size -= 0x36; // Subtract size of bitmap header. + $size += 0x0C; // Add size of BIFF header. + + // Remove bitmap data: reserved, offset, header length. + $data = substr($data, 12); + + // Read and remove the bitmap width and height. Verify the sizes. + $width_and_height = unpack("V2", substr($data, 0, 8)); + $width = $width_and_height[1]; + $height = $width_and_height[2]; + $data = substr($data, 8); + if ($width > 0xFFFF) { + throw new PHPExcel_Writer_Exception("$bitmap: largest image width supported is 65k.\n"); + } + if ($height > 0xFFFF) { + throw new PHPExcel_Writer_Exception("$bitmap: largest image height supported is 65k.\n"); + } + + // Read and remove the bitmap planes and bpp data. Verify them. + $planes_and_bitcount = unpack("v2", substr($data, 0, 4)); + $data = substr($data, 4); + if ($planes_and_bitcount[2] != 24) { // Bitcount + throw new PHPExcel_Writer_Exception("$bitmap isn't a 24bit true color bitmap.\n"); + } + if ($planes_and_bitcount[1] != 1) { + throw new PHPExcel_Writer_Exception("$bitmap: only 1 plane supported in bitmap image.\n"); + } + + // Read and remove the bitmap compression. Verify compression. + $compression = unpack("Vcomp", substr($data, 0, 4)); + $data = substr($data, 4); + + //$compression = 0; + if ($compression['comp'] != 0) { + throw new PHPExcel_Writer_Exception("$bitmap: compression not supported in bitmap image.\n"); + } + + // Remove bitmap data: data size, hres, vres, colours, imp. colours. + $data = substr($data, 20); + + // Add the BITMAPCOREHEADER data + $header = pack("Vvvvv", 0x000c, $width, $height, 0x01, 0x18); + $data = $header . $data; + + return (array($width, $height, $size, $data)); + } + + /** + * Store the window zoom factor. This should be a reduced fraction but for + * simplicity we will store all fractions with a numerator of 100. + */ + private function _writeZoom() + { + // If scale is 100 we don't need to write a record + if ($this->_phpSheet->getSheetView()->getZoomScale() == 100) { + return; + } + + $record = 0x00A0; // Record identifier + $length = 0x0004; // Bytes to follow + + $header = pack("vv", $record, $length); + $data = pack("vv", $this->_phpSheet->getSheetView()->getZoomScale(), 100); + $this->_append($header . $data); + } + + /** + * Get Escher object + * + * @return PHPExcel_Shared_Escher + */ + public function getEscher() + { + return $this->_escher; + } + + /** + * Set Escher object + * + * @param PHPExcel_Shared_Escher $pValue + */ + public function setEscher(PHPExcel_Shared_Escher $pValue = null) + { + $this->_escher = $pValue; + } + + /** + * Write MSODRAWING record + */ + private function _writeMsoDrawing() + { + // write the Escher stream if necessary + if (isset($this->_escher)) { + $writer = new PHPExcel_Writer_Excel5_Escher($this->_escher); + $data = $writer->close(); + $spOffsets = $writer->getSpOffsets(); + $spTypes = $writer->getSpTypes(); + // write the neccesary MSODRAWING, OBJ records + + // split the Escher stream + $spOffsets[0] = 0; + $nm = count($spOffsets) - 1; // number of shapes excluding first shape + for ($i = 1; $i <= $nm; ++$i) { + // MSODRAWING record + $record = 0x00EC; // Record identifier + + // chunk of Escher stream for one shape + $dataChunk = substr($data, $spOffsets[$i -1], $spOffsets[$i] - $spOffsets[$i - 1]); + + $length = strlen($dataChunk); + $header = pack("vv", $record, $length); + + $this->_append($header . $dataChunk); + + // OBJ record + $record = 0x005D; // record identifier + $objData = ''; + + // ftCmo + if($spTypes[$i] == 0x00C9){ + // Add ftCmo (common object data) subobject + $objData .= + pack('vvvvvVVV' + , 0x0015 // 0x0015 = ftCmo + , 0x0012 // length of ftCmo data + , 0x0014 // object type, 0x0014 = filter + , $i // object id number, Excel seems to use 1-based index, local for the sheet + , 0x2101 // option flags, 0x2001 is what OpenOffice.org uses + , 0 // reserved + , 0 // reserved + , 0 // reserved + ); + + // Add ftSbs Scroll bar subobject + $objData .= pack('vv', 0x00C, 0x0014); + $objData .= pack('H*', '0000000000000000640001000A00000010000100'); + // Add ftLbsData (List box data) subobject + $objData .= pack('vv', 0x0013, 0x1FEE); + $objData .= pack('H*', '00000000010001030000020008005700'); + } + else { + // Add ftCmo (common object data) subobject + $objData .= + pack('vvvvvVVV' + , 0x0015 // 0x0015 = ftCmo + , 0x0012 // length of ftCmo data + , 0x0008 // object type, 0x0008 = picture + , $i // object id number, Excel seems to use 1-based index, local for the sheet + , 0x6011 // option flags, 0x6011 is what OpenOffice.org uses + , 0 // reserved + , 0 // reserved + , 0 // reserved + ); + } + + // ftEnd + $objData .= + pack('vv' + , 0x0000 // 0x0000 = ftEnd + , 0x0000 // length of ftEnd data + ); + + $length = strlen($objData); + $header = pack('vv', $record, $length); + $this->_append($header . $objData); + } + } + } + + /** + * Store the DATAVALIDATIONS and DATAVALIDATION records. + */ + private function _writeDataValidity() + { + // Datavalidation collection + $dataValidationCollection = $this->_phpSheet->getDataValidationCollection(); + + // Write data validations? + if (!empty($dataValidationCollection)) { + + // DATAVALIDATIONS record + $record = 0x01B2; // Record identifier + $length = 0x0012; // Bytes to follow + + $grbit = 0x0000; // Prompt box at cell, no cached validity data at DV records + $horPos = 0x00000000; // Horizontal position of prompt box, if fixed position + $verPos = 0x00000000; // Vertical position of prompt box, if fixed position + $objId = 0xFFFFFFFF; // Object identifier of drop down arrow object, or -1 if not visible + + $header = pack('vv', $record, $length); + $data = pack('vVVVV', $grbit, $horPos, $verPos, $objId, + count($dataValidationCollection)); + $this->_append($header.$data); + + // DATAVALIDATION records + $record = 0x01BE; // Record identifier + + foreach ($dataValidationCollection as $cellCoordinate => $dataValidation) { + // initialize record data + $data = ''; + + // options + $options = 0x00000000; + + // data type + $type = $dataValidation->getType(); + switch ($type) { + case PHPExcel_Cell_DataValidation::TYPE_NONE: $type = 0x00; break; + case PHPExcel_Cell_DataValidation::TYPE_WHOLE: $type = 0x01; break; + case PHPExcel_Cell_DataValidation::TYPE_DECIMAL: $type = 0x02; break; + case PHPExcel_Cell_DataValidation::TYPE_LIST: $type = 0x03; break; + case PHPExcel_Cell_DataValidation::TYPE_DATE: $type = 0x04; break; + case PHPExcel_Cell_DataValidation::TYPE_TIME: $type = 0x05; break; + case PHPExcel_Cell_DataValidation::TYPE_TEXTLENGTH: $type = 0x06; break; + case PHPExcel_Cell_DataValidation::TYPE_CUSTOM: $type = 0x07; break; + } + $options |= $type << 0; + + // error style + $errorStyle = $dataValidation->getType(); + switch ($errorStyle) { + case PHPExcel_Cell_DataValidation::STYLE_STOP: $errorStyle = 0x00; break; + case PHPExcel_Cell_DataValidation::STYLE_WARNING: $errorStyle = 0x01; break; + case PHPExcel_Cell_DataValidation::STYLE_INFORMATION: $errorStyle = 0x02; break; + } + $options |= $errorStyle << 4; + + // explicit formula? + if ($type == 0x03 && preg_match('/^\".*\"$/', $dataValidation->getFormula1())) { + $options |= 0x01 << 7; + } + + // empty cells allowed + $options |= $dataValidation->getAllowBlank() << 8; + + // show drop down + $options |= (!$dataValidation->getShowDropDown()) << 9; + + // show input message + $options |= $dataValidation->getShowInputMessage() << 18; + + // show error message + $options |= $dataValidation->getShowErrorMessage() << 19; + + // condition operator + $operator = $dataValidation->getOperator(); + switch ($operator) { + case PHPExcel_Cell_DataValidation::OPERATOR_BETWEEN: $operator = 0x00 ; break; + case PHPExcel_Cell_DataValidation::OPERATOR_NOTBETWEEN: $operator = 0x01 ; break; + case PHPExcel_Cell_DataValidation::OPERATOR_EQUAL: $operator = 0x02 ; break; + case PHPExcel_Cell_DataValidation::OPERATOR_NOTEQUAL: $operator = 0x03 ; break; + case PHPExcel_Cell_DataValidation::OPERATOR_GREATERTHAN: $operator = 0x04 ; break; + case PHPExcel_Cell_DataValidation::OPERATOR_LESSTHAN: $operator = 0x05 ; break; + case PHPExcel_Cell_DataValidation::OPERATOR_GREATERTHANOREQUAL: $operator = 0x06; break; + case PHPExcel_Cell_DataValidation::OPERATOR_LESSTHANOREQUAL: $operator = 0x07 ; break; + } + $options |= $operator << 20; + + $data = pack('V', $options); + + // prompt title + $promptTitle = $dataValidation->getPromptTitle() !== '' ? + $dataValidation->getPromptTitle() : chr(0); + $data .= PHPExcel_Shared_String::UTF8toBIFF8UnicodeLong($promptTitle); + + // error title + $errorTitle = $dataValidation->getErrorTitle() !== '' ? + $dataValidation->getErrorTitle() : chr(0); + $data .= PHPExcel_Shared_String::UTF8toBIFF8UnicodeLong($errorTitle); + + // prompt text + $prompt = $dataValidation->getPrompt() !== '' ? + $dataValidation->getPrompt() : chr(0); + $data .= PHPExcel_Shared_String::UTF8toBIFF8UnicodeLong($prompt); + + // error text + $error = $dataValidation->getError() !== '' ? + $dataValidation->getError() : chr(0); + $data .= PHPExcel_Shared_String::UTF8toBIFF8UnicodeLong($error); + + // formula 1 + try { + $formula1 = $dataValidation->getFormula1(); + if ($type == 0x03) { // list type + $formula1 = str_replace(',', chr(0), $formula1); + } + $this->_parser->parse($formula1); + $formula1 = $this->_parser->toReversePolish(); + $sz1 = strlen($formula1); + + } catch(PHPExcel_Exception $e) { + $sz1 = 0; + $formula1 = ''; + } + $data .= pack('vv', $sz1, 0x0000); + $data .= $formula1; + + // formula 2 + try { + $formula2 = $dataValidation->getFormula2(); + if ($formula2 === '') { + throw new PHPExcel_Writer_Exception('No formula2'); + } + $this->_parser->parse($formula2); + $formula2 = $this->_parser->toReversePolish(); + $sz2 = strlen($formula2); + + } catch(PHPExcel_Exception $e) { + $sz2 = 0; + $formula2 = ''; + } + $data .= pack('vv', $sz2, 0x0000); + $data .= $formula2; + + // cell range address list + $data .= pack('v', 0x0001); + $data .= $this->_writeBIFF8CellRangeAddressFixed($cellCoordinate); + + $length = strlen($data); + $header = pack("vv", $record, $length); + + $this->_append($header . $data); + } + } + } + + /** + * Map Error code + * + * @param string $errorCode + * @return int + */ + private static function _mapErrorCode($errorCode) { + switch ($errorCode) { + case '#NULL!': return 0x00; + case '#DIV/0!': return 0x07; + case '#VALUE!': return 0x0F; + case '#REF!': return 0x17; + case '#NAME?': return 0x1D; + case '#NUM!': return 0x24; + case '#N/A': return 0x2A; + } + + return 0; + } + + /** + * Write PLV Record + */ + private function _writePageLayoutView(){ + $record = 0x088B; // Record identifier + $length = 0x0010; // Bytes to follow + + $rt = 0x088B; // 2 + $grbitFrt = 0x0000; // 2 + $reserved = 0x0000000000000000; // 8 + $wScalvePLV = $this->_phpSheet->getSheetView()->getZoomScale(); // 2 + + // The options flags that comprise $grbit + if($this->_phpSheet->getSheetView()->getView() == PHPExcel_Worksheet_SheetView::SHEETVIEW_PAGE_LAYOUT){ + $fPageLayoutView = 1; + } else { + $fPageLayoutView = 0; + } + $fRulerVisible = 0; + $fWhitespaceHidden = 0; + + $grbit = $fPageLayoutView; // 2 + $grbit |= $fRulerVisible << 1; + $grbit |= $fWhitespaceHidden << 3; + + $header = pack("vv", $record, $length); + $data = pack("vvVVvv", $rt, $grbitFrt, 0x00000000, 0x00000000, $wScalvePLV, $grbit); + $this->_append($header . $data); + } + + /** + * Write CFRule Record + * @param PHPExcel_Style_Conditional $conditional + */ + private function _writeCFRule(PHPExcel_Style_Conditional $conditional){ + $record = 0x01B1; // Record identifier + + // $type : Type of the CF + // $operatorType : Comparison operator + if($conditional->getConditionType() == PHPExcel_Style_Conditional::CONDITION_EXPRESSION){ + $type = 0x02; + $operatorType = 0x00; + } else if($conditional->getConditionType() == PHPExcel_Style_Conditional::CONDITION_CELLIS){ + $type = 0x01; + + switch ($conditional->getOperatorType()){ + case PHPExcel_Style_Conditional::OPERATOR_NONE: + $operatorType = 0x00; + break; + case PHPExcel_Style_Conditional::OPERATOR_EQUAL: + $operatorType = 0x03; + break; + case PHPExcel_Style_Conditional::OPERATOR_GREATERTHAN: + $operatorType = 0x05; + break; + case PHPExcel_Style_Conditional::OPERATOR_GREATERTHANOREQUAL: + $operatorType = 0x07; + break; + case PHPExcel_Style_Conditional::OPERATOR_LESSTHAN: + $operatorType = 0x06; + break; + case PHPExcel_Style_Conditional::OPERATOR_LESSTHANOREQUAL: + $operatorType = 0x08; + break; + case PHPExcel_Style_Conditional::OPERATOR_NOTEQUAL: + $operatorType = 0x04; + break; + case PHPExcel_Style_Conditional::OPERATOR_BETWEEN: + $operatorType = 0x01; + break; + // not OPERATOR_NOTBETWEEN 0x02 + } + } + + // $szValue1 : size of the formula data for first value or formula + // $szValue2 : size of the formula data for second value or formula + $arrConditions = $conditional->getConditions(); + $numConditions = sizeof($arrConditions); + if($numConditions == 1){ + $szValue1 = ($arrConditions[0] <= 65535 ? 3 : 0x0000); + $szValue2 = 0x0000; + $operand1 = pack('Cv', 0x1E, $arrConditions[0]); + $operand2 = null; + } else if($numConditions == 2 && ($conditional->getOperatorType() == PHPExcel_Style_Conditional::OPERATOR_BETWEEN)){ + $szValue1 = ($arrConditions[0] <= 65535 ? 3 : 0x0000); + $szValue2 = ($arrConditions[1] <= 65535 ? 3 : 0x0000); + $operand1 = pack('Cv', 0x1E, $arrConditions[0]); + $operand2 = pack('Cv', 0x1E, $arrConditions[1]); + } else { + $szValue1 = 0x0000; + $szValue2 = 0x0000; + $operand1 = null; + $operand2 = null; + } + + // $flags : Option flags + // Alignment + $bAlignHz = ($conditional->getStyle()->getAlignment()->getHorizontal() == null ? 1 : 0); + $bAlignVt = ($conditional->getStyle()->getAlignment()->getVertical() == null ? 1 : 0); + $bAlignWrapTx = ($conditional->getStyle()->getAlignment()->getWrapText() == false ? 1 : 0); + $bTxRotation = ($conditional->getStyle()->getAlignment()->getTextRotation() == null ? 1 : 0); + $bIndent = ($conditional->getStyle()->getAlignment()->getIndent() == 0 ? 1 : 0); + $bShrinkToFit = ($conditional->getStyle()->getAlignment()->getShrinkToFit() == false ? 1 : 0); + if($bAlignHz == 0 || $bAlignVt == 0 || $bAlignWrapTx == 0 || $bTxRotation == 0 || $bIndent == 0 || $bShrinkToFit == 0){ + $bFormatAlign = 1; + } else { + $bFormatAlign = 0; + } + // Protection + $bProtLocked = ($conditional->getStyle()->getProtection()->getLocked() == null ? 1 : 0); + $bProtHidden = ($conditional->getStyle()->getProtection()->getHidden() == null ? 1 : 0); + if($bProtLocked == 0 || $bProtHidden == 0){ + $bFormatProt = 1; + } else { + $bFormatProt = 0; + } + // Border + $bBorderLeft = ($conditional->getStyle()->getBorders()->getLeft()->getColor()->getARGB() == PHPExcel_Style_Color::COLOR_BLACK + && $conditional->getStyle()->getBorders()->getLeft()->getBorderStyle() == PHPExcel_Style_Border::BORDER_NONE ? 1 : 0); + $bBorderRight = ($conditional->getStyle()->getBorders()->getRight()->getColor()->getARGB() == PHPExcel_Style_Color::COLOR_BLACK + && $conditional->getStyle()->getBorders()->getRight()->getBorderStyle() == PHPExcel_Style_Border::BORDER_NONE ? 1 : 0); + $bBorderTop = ($conditional->getStyle()->getBorders()->getTop()->getColor()->getARGB() == PHPExcel_Style_Color::COLOR_BLACK + && $conditional->getStyle()->getBorders()->getTop()->getBorderStyle() == PHPExcel_Style_Border::BORDER_NONE ? 1 : 0); + $bBorderBottom = ($conditional->getStyle()->getBorders()->getBottom()->getColor()->getARGB() == PHPExcel_Style_Color::COLOR_BLACK + && $conditional->getStyle()->getBorders()->getBottom()->getBorderStyle() == PHPExcel_Style_Border::BORDER_NONE ? 1 : 0); + if($bBorderLeft == 0 || $bBorderRight == 0 || $bBorderTop == 0 || $bBorderBottom == 0){ + $bFormatBorder = 1; + } else { + $bFormatBorder = 0; + } + // Pattern + $bFillStyle = ($conditional->getStyle()->getFill()->getFillType() == null ? 0 : 1); + $bFillColor = ($conditional->getStyle()->getFill()->getStartColor()->getARGB() == null ? 0 : 1); + $bFillColorBg = ($conditional->getStyle()->getFill()->getEndColor()->getARGB() == null ? 0 : 1); + if($bFillStyle == 0 || $bFillColor == 0 || $bFillColorBg == 0){ + $bFormatFill = 1; + } else { + $bFormatFill = 0; + } + // Font + if($conditional->getStyle()->getFont()->getName() != null + || $conditional->getStyle()->getFont()->getSize() != null + || $conditional->getStyle()->getFont()->getBold() != null + || $conditional->getStyle()->getFont()->getItalic() != null + || $conditional->getStyle()->getFont()->getSuperScript() != null + || $conditional->getStyle()->getFont()->getSubScript() != null + || $conditional->getStyle()->getFont()->getUnderline() != null + || $conditional->getStyle()->getFont()->getStrikethrough() != null + || $conditional->getStyle()->getFont()->getColor()->getARGB() != null){ + $bFormatFont = 1; + } else { + $bFormatFont = 0; + } + // Alignment + $flags = 0; + $flags |= (1 == $bAlignHz ? 0x00000001 : 0); + $flags |= (1 == $bAlignVt ? 0x00000002 : 0); + $flags |= (1 == $bAlignWrapTx ? 0x00000004 : 0); + $flags |= (1 == $bTxRotation ? 0x00000008 : 0); + // Justify last line flag + $flags |= (1 == 1 ? 0x00000010 : 0); + $flags |= (1 == $bIndent ? 0x00000020 : 0); + $flags |= (1 == $bShrinkToFit ? 0x00000040 : 0); + // Default + $flags |= (1 == 1 ? 0x00000080 : 0); + // Protection + $flags |= (1 == $bProtLocked ? 0x00000100 : 0); + $flags |= (1 == $bProtHidden ? 0x00000200 : 0); + // Border + $flags |= (1 == $bBorderLeft ? 0x00000400 : 0); + $flags |= (1 == $bBorderRight ? 0x00000800 : 0); + $flags |= (1 == $bBorderTop ? 0x00001000 : 0); + $flags |= (1 == $bBorderBottom ? 0x00002000 : 0); + $flags |= (1 == 1 ? 0x00004000 : 0); // Top left to Bottom right border + $flags |= (1 == 1 ? 0x00008000 : 0); // Bottom left to Top right border + // Pattern + $flags |= (1 == $bFillStyle ? 0x00010000 : 0); + $flags |= (1 == $bFillColor ? 0x00020000 : 0); + $flags |= (1 == $bFillColorBg ? 0x00040000 : 0); + $flags |= (1 == 1 ? 0x00380000 : 0); + // Font + $flags |= (1 == $bFormatFont ? 0x04000000 : 0); + // Alignment : + $flags |= (1 == $bFormatAlign ? 0x08000000 : 0); + // Border + $flags |= (1 == $bFormatBorder ? 0x10000000 : 0); + // Pattern + $flags |= (1 == $bFormatFill ? 0x20000000 : 0); + // Protection + $flags |= (1 == $bFormatProt ? 0x40000000 : 0); + // Text direction + $flags |= (1 == 0 ? 0x80000000 : 0); + + // Data Blocks + if($bFormatFont == 1){ + // Font Name + if($conditional->getStyle()->getFont()->getName() == null){ + $dataBlockFont = pack('VVVVVVVV', 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000); + $dataBlockFont .= pack('VVVVVVVV', 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000); + } else { + $dataBlockFont = PHPExcel_Shared_String::UTF8toBIFF8UnicodeLong($conditional->getStyle()->getFont()->getName()); + } + // Font Size + if($conditional->getStyle()->getFont()->getSize() == null){ + $dataBlockFont .= pack('V', 20 * 11); + } else { + $dataBlockFont .= pack('V', 20 * $conditional->getStyle()->getFont()->getSize()); + } + // Font Options + $dataBlockFont .= pack('V', 0); + // Font weight + if($conditional->getStyle()->getFont()->getBold() == true){ + $dataBlockFont .= pack('v', 0x02BC); + } else { + $dataBlockFont .= pack('v', 0x0190); + } + // Escapement type + if($conditional->getStyle()->getFont()->getSubScript() == true){ + $dataBlockFont .= pack('v', 0x02); + $fontEscapement = 0; + } else if($conditional->getStyle()->getFont()->getSuperScript() == true){ + $dataBlockFont .= pack('v', 0x01); + $fontEscapement = 0; + } else { + $dataBlockFont .= pack('v', 0x00); + $fontEscapement = 1; + } + // Underline type + switch ($conditional->getStyle()->getFont()->getUnderline()){ + case PHPExcel_Style_Font::UNDERLINE_NONE : $dataBlockFont .= pack('C', 0x00); $fontUnderline = 0; break; + case PHPExcel_Style_Font::UNDERLINE_DOUBLE : $dataBlockFont .= pack('C', 0x02); $fontUnderline = 0; break; + case PHPExcel_Style_Font::UNDERLINE_DOUBLEACCOUNTING : $dataBlockFont .= pack('C', 0x22); $fontUnderline = 0; break; + case PHPExcel_Style_Font::UNDERLINE_SINGLE : $dataBlockFont .= pack('C', 0x01); $fontUnderline = 0; break; + case PHPExcel_Style_Font::UNDERLINE_SINGLEACCOUNTING : $dataBlockFont .= pack('C', 0x21); $fontUnderline = 0; break; + default : $dataBlockFont .= pack('C', 0x00); $fontUnderline = 1; break; + } + // Not used (3) + $dataBlockFont .= pack('vC', 0x0000, 0x00); + // Font color index + switch ($conditional->getStyle()->getFont()->getColor()->getRGB()) { + case '000000': $colorIdx = 0x08; break; + case 'FFFFFF': $colorIdx = 0x09; break; + case 'FF0000': $colorIdx = 0x0A; break; + case '00FF00': $colorIdx = 0x0B; break; + case '0000FF': $colorIdx = 0x0C; break; + case 'FFFF00': $colorIdx = 0x0D; break; + case 'FF00FF': $colorIdx = 0x0E; break; + case '00FFFF': $colorIdx = 0x0F; break; + case '800000': $colorIdx = 0x10; break; + case '008000': $colorIdx = 0x11; break; + case '000080': $colorIdx = 0x12; break; + case '808000': $colorIdx = 0x13; break; + case '800080': $colorIdx = 0x14; break; + case '008080': $colorIdx = 0x15; break; + case 'C0C0C0': $colorIdx = 0x16; break; + case '808080': $colorIdx = 0x17; break; + case '9999FF': $colorIdx = 0x18; break; + case '993366': $colorIdx = 0x19; break; + case 'FFFFCC': $colorIdx = 0x1A; break; + case 'CCFFFF': $colorIdx = 0x1B; break; + case '660066': $colorIdx = 0x1C; break; + case 'FF8080': $colorIdx = 0x1D; break; + case '0066CC': $colorIdx = 0x1E; break; + case 'CCCCFF': $colorIdx = 0x1F; break; + case '000080': $colorIdx = 0x20; break; + case 'FF00FF': $colorIdx = 0x21; break; + case 'FFFF00': $colorIdx = 0x22; break; + case '00FFFF': $colorIdx = 0x23; break; + case '800080': $colorIdx = 0x24; break; + case '800000': $colorIdx = 0x25; break; + case '008080': $colorIdx = 0x26; break; + case '0000FF': $colorIdx = 0x27; break; + case '00CCFF': $colorIdx = 0x28; break; + case 'CCFFFF': $colorIdx = 0x29; break; + case 'CCFFCC': $colorIdx = 0x2A; break; + case 'FFFF99': $colorIdx = 0x2B; break; + case '99CCFF': $colorIdx = 0x2C; break; + case 'FF99CC': $colorIdx = 0x2D; break; + case 'CC99FF': $colorIdx = 0x2E; break; + case 'FFCC99': $colorIdx = 0x2F; break; + case '3366FF': $colorIdx = 0x30; break; + case '33CCCC': $colorIdx = 0x31; break; + case '99CC00': $colorIdx = 0x32; break; + case 'FFCC00': $colorIdx = 0x33; break; + case 'FF9900': $colorIdx = 0x34; break; + case 'FF6600': $colorIdx = 0x35; break; + case '666699': $colorIdx = 0x36; break; + case '969696': $colorIdx = 0x37; break; + case '003366': $colorIdx = 0x38; break; + case '339966': $colorIdx = 0x39; break; + case '003300': $colorIdx = 0x3A; break; + case '333300': $colorIdx = 0x3B; break; + case '993300': $colorIdx = 0x3C; break; + case '993366': $colorIdx = 0x3D; break; + case '333399': $colorIdx = 0x3E; break; + case '333333': $colorIdx = 0x3F; break; + default: $colorIdx = 0x00; break; + } + $dataBlockFont .= pack('V', $colorIdx); + // Not used (4) + $dataBlockFont .= pack('V', 0x00000000); + // Options flags for modified font attributes + $optionsFlags = 0; + $optionsFlagsBold = ($conditional->getStyle()->getFont()->getBold() == null ? 1 : 0); + $optionsFlags |= (1 == $optionsFlagsBold ? 0x00000002 : 0); + $optionsFlags |= (1 == 1 ? 0x00000008 : 0); + $optionsFlags |= (1 == 1 ? 0x00000010 : 0); + $optionsFlags |= (1 == 0 ? 0x00000020 : 0); + $optionsFlags |= (1 == 1 ? 0x00000080 : 0); + $dataBlockFont .= pack('V', $optionsFlags); + // Escapement type + $dataBlockFont .= pack('V', $fontEscapement); + // Underline type + $dataBlockFont .= pack('V', $fontUnderline); + // Always + $dataBlockFont .= pack('V', 0x00000000); + // Always + $dataBlockFont .= pack('V', 0x00000000); + // Not used (8) + $dataBlockFont .= pack('VV', 0x00000000, 0x00000000); + // Always + $dataBlockFont .= pack('v', 0x0001); + } + if($bFormatAlign == 1){ + $blockAlign = 0; + // Alignment and text break + switch ($conditional->getStyle()->getAlignment()->getHorizontal()){ + case PHPExcel_Style_Alignment::HORIZONTAL_GENERAL : $blockAlign = 0; break; + case PHPExcel_Style_Alignment::HORIZONTAL_LEFT : $blockAlign = 1; break; + case PHPExcel_Style_Alignment::HORIZONTAL_RIGHT : $blockAlign = 3; break; + case PHPExcel_Style_Alignment::HORIZONTAL_CENTER : $blockAlign = 2; break; + case PHPExcel_Style_Alignment::HORIZONTAL_CENTER_CONTINUOUS : $blockAlign = 6; break; + case PHPExcel_Style_Alignment::HORIZONTAL_JUSTIFY : $blockAlign = 5; break; + } + if($conditional->getStyle()->getAlignment()->getWrapText() == true){ + $blockAlign |= 1 << 3; + } else { + $blockAlign |= 0 << 3; + } + switch ($conditional->getStyle()->getAlignment()->getVertical()){ + case PHPExcel_Style_Alignment::VERTICAL_BOTTOM : $blockAlign = 2 << 4; break; + case PHPExcel_Style_Alignment::VERTICAL_TOP : $blockAlign = 0 << 4; break; + case PHPExcel_Style_Alignment::VERTICAL_CENTER : $blockAlign = 1 << 4; break; + case PHPExcel_Style_Alignment::VERTICAL_JUSTIFY : $blockAlign = 3 << 4; break; + } + $blockAlign |= 0 << 7; + + // Text rotation angle + $blockRotation = $conditional->getStyle()->getAlignment()->getTextRotation(); + + // Indentation + $blockIndent = $conditional->getStyle()->getAlignment()->getIndent(); + if($conditional->getStyle()->getAlignment()->getShrinkToFit() == true){ + $blockIndent |= 1 << 4; + } else { + $blockIndent |= 0 << 4; + } + $blockIndent |= 0 << 6; + + // Relative indentation + $blockIndentRelative = 255; + + $dataBlockAlign = pack('CCvvv', $blockAlign, $blockRotation, $blockIndent, $blockIndentRelative, 0x0000); + } + if($bFormatBorder == 1){ + $blockLineStyle = 0; + switch ($conditional->getStyle()->getBorders()->getLeft()->getBorderStyle()){ + case PHPExcel_Style_Border::BORDER_NONE : $blockLineStyle |= 0x00; break; + case PHPExcel_Style_Border::BORDER_THIN : $blockLineStyle |= 0x01; break; + case PHPExcel_Style_Border::BORDER_MEDIUM : $blockLineStyle |= 0x02; break; + case PHPExcel_Style_Border::BORDER_DASHED : $blockLineStyle |= 0x03; break; + case PHPExcel_Style_Border::BORDER_DOTTED : $blockLineStyle |= 0x04; break; + case PHPExcel_Style_Border::BORDER_THICK : $blockLineStyle |= 0x05; break; + case PHPExcel_Style_Border::BORDER_DOUBLE : $blockLineStyle |= 0x06; break; + case PHPExcel_Style_Border::BORDER_HAIR : $blockLineStyle |= 0x07; break; + case PHPExcel_Style_Border::BORDER_MEDIUMDASHED : $blockLineStyle |= 0x08; break; + case PHPExcel_Style_Border::BORDER_DASHDOT : $blockLineStyle |= 0x09; break; + case PHPExcel_Style_Border::BORDER_MEDIUMDASHDOT : $blockLineStyle |= 0x0A; break; + case PHPExcel_Style_Border::BORDER_DASHDOTDOT : $blockLineStyle |= 0x0B; break; + case PHPExcel_Style_Border::BORDER_MEDIUMDASHDOTDOT : $blockLineStyle |= 0x0C; break; + case PHPExcel_Style_Border::BORDER_SLANTDASHDOT : $blockLineStyle |= 0x0D; break; + } + switch ($conditional->getStyle()->getBorders()->getRight()->getBorderStyle()){ + case PHPExcel_Style_Border::BORDER_NONE : $blockLineStyle |= 0x00 << 4; break; + case PHPExcel_Style_Border::BORDER_THIN : $blockLineStyle |= 0x01 << 4; break; + case PHPExcel_Style_Border::BORDER_MEDIUM : $blockLineStyle |= 0x02 << 4; break; + case PHPExcel_Style_Border::BORDER_DASHED : $blockLineStyle |= 0x03 << 4; break; + case PHPExcel_Style_Border::BORDER_DOTTED : $blockLineStyle |= 0x04 << 4; break; + case PHPExcel_Style_Border::BORDER_THICK : $blockLineStyle |= 0x05 << 4; break; + case PHPExcel_Style_Border::BORDER_DOUBLE : $blockLineStyle |= 0x06 << 4; break; + case PHPExcel_Style_Border::BORDER_HAIR : $blockLineStyle |= 0x07 << 4; break; + case PHPExcel_Style_Border::BORDER_MEDIUMDASHED : $blockLineStyle |= 0x08 << 4; break; + case PHPExcel_Style_Border::BORDER_DASHDOT : $blockLineStyle |= 0x09 << 4; break; + case PHPExcel_Style_Border::BORDER_MEDIUMDASHDOT : $blockLineStyle |= 0x0A << 4; break; + case PHPExcel_Style_Border::BORDER_DASHDOTDOT : $blockLineStyle |= 0x0B << 4; break; + case PHPExcel_Style_Border::BORDER_MEDIUMDASHDOTDOT : $blockLineStyle |= 0x0C << 4; break; + case PHPExcel_Style_Border::BORDER_SLANTDASHDOT : $blockLineStyle |= 0x0D << 4; break; + } + switch ($conditional->getStyle()->getBorders()->getTop()->getBorderStyle()){ + case PHPExcel_Style_Border::BORDER_NONE : $blockLineStyle |= 0x00 << 8; break; + case PHPExcel_Style_Border::BORDER_THIN : $blockLineStyle |= 0x01 << 8; break; + case PHPExcel_Style_Border::BORDER_MEDIUM : $blockLineStyle |= 0x02 << 8; break; + case PHPExcel_Style_Border::BORDER_DASHED : $blockLineStyle |= 0x03 << 8; break; + case PHPExcel_Style_Border::BORDER_DOTTED : $blockLineStyle |= 0x04 << 8; break; + case PHPExcel_Style_Border::BORDER_THICK : $blockLineStyle |= 0x05 << 8; break; + case PHPExcel_Style_Border::BORDER_DOUBLE : $blockLineStyle |= 0x06 << 8; break; + case PHPExcel_Style_Border::BORDER_HAIR : $blockLineStyle |= 0x07 << 8; break; + case PHPExcel_Style_Border::BORDER_MEDIUMDASHED : $blockLineStyle |= 0x08 << 8; break; + case PHPExcel_Style_Border::BORDER_DASHDOT : $blockLineStyle |= 0x09 << 8; break; + case PHPExcel_Style_Border::BORDER_MEDIUMDASHDOT : $blockLineStyle |= 0x0A << 8; break; + case PHPExcel_Style_Border::BORDER_DASHDOTDOT : $blockLineStyle |= 0x0B << 8; break; + case PHPExcel_Style_Border::BORDER_MEDIUMDASHDOTDOT : $blockLineStyle |= 0x0C << 8; break; + case PHPExcel_Style_Border::BORDER_SLANTDASHDOT : $blockLineStyle |= 0x0D << 8; break; + } + switch ($conditional->getStyle()->getBorders()->getBottom()->getBorderStyle()){ + case PHPExcel_Style_Border::BORDER_NONE : $blockLineStyle |= 0x00 << 12; break; + case PHPExcel_Style_Border::BORDER_THIN : $blockLineStyle |= 0x01 << 12; break; + case PHPExcel_Style_Border::BORDER_MEDIUM : $blockLineStyle |= 0x02 << 12; break; + case PHPExcel_Style_Border::BORDER_DASHED : $blockLineStyle |= 0x03 << 12; break; + case PHPExcel_Style_Border::BORDER_DOTTED : $blockLineStyle |= 0x04 << 12; break; + case PHPExcel_Style_Border::BORDER_THICK : $blockLineStyle |= 0x05 << 12; break; + case PHPExcel_Style_Border::BORDER_DOUBLE : $blockLineStyle |= 0x06 << 12; break; + case PHPExcel_Style_Border::BORDER_HAIR : $blockLineStyle |= 0x07 << 12; break; + case PHPExcel_Style_Border::BORDER_MEDIUMDASHED : $blockLineStyle |= 0x08 << 12; break; + case PHPExcel_Style_Border::BORDER_DASHDOT : $blockLineStyle |= 0x09 << 12; break; + case PHPExcel_Style_Border::BORDER_MEDIUMDASHDOT : $blockLineStyle |= 0x0A << 12; break; + case PHPExcel_Style_Border::BORDER_DASHDOTDOT : $blockLineStyle |= 0x0B << 12; break; + case PHPExcel_Style_Border::BORDER_MEDIUMDASHDOTDOT : $blockLineStyle |= 0x0C << 12; break; + case PHPExcel_Style_Border::BORDER_SLANTDASHDOT : $blockLineStyle |= 0x0D << 12; break; + } + //@todo _writeCFRule() => $blockLineStyle => Index Color for left line + //@todo _writeCFRule() => $blockLineStyle => Index Color for right line + //@todo _writeCFRule() => $blockLineStyle => Top-left to bottom-right on/off + //@todo _writeCFRule() => $blockLineStyle => Bottom-left to top-right on/off + $blockColor = 0; + //@todo _writeCFRule() => $blockColor => Index Color for top line + //@todo _writeCFRule() => $blockColor => Index Color for bottom line + //@todo _writeCFRule() => $blockColor => Index Color for diagonal line + switch ($conditional->getStyle()->getBorders()->getDiagonal()->getBorderStyle()){ + case PHPExcel_Style_Border::BORDER_NONE : $blockColor |= 0x00 << 21; break; + case PHPExcel_Style_Border::BORDER_THIN : $blockColor |= 0x01 << 21; break; + case PHPExcel_Style_Border::BORDER_MEDIUM : $blockColor |= 0x02 << 21; break; + case PHPExcel_Style_Border::BORDER_DASHED : $blockColor |= 0x03 << 21; break; + case PHPExcel_Style_Border::BORDER_DOTTED : $blockColor |= 0x04 << 21; break; + case PHPExcel_Style_Border::BORDER_THICK : $blockColor |= 0x05 << 21; break; + case PHPExcel_Style_Border::BORDER_DOUBLE : $blockColor |= 0x06 << 21; break; + case PHPExcel_Style_Border::BORDER_HAIR : $blockColor |= 0x07 << 21; break; + case PHPExcel_Style_Border::BORDER_MEDIUMDASHED : $blockColor |= 0x08 << 21; break; + case PHPExcel_Style_Border::BORDER_DASHDOT : $blockColor |= 0x09 << 21; break; + case PHPExcel_Style_Border::BORDER_MEDIUMDASHDOT : $blockColor |= 0x0A << 21; break; + case PHPExcel_Style_Border::BORDER_DASHDOTDOT : $blockColor |= 0x0B << 21; break; + case PHPExcel_Style_Border::BORDER_MEDIUMDASHDOTDOT : $blockColor |= 0x0C << 21; break; + case PHPExcel_Style_Border::BORDER_SLANTDASHDOT : $blockColor |= 0x0D << 21; break; + } + $dataBlockBorder = pack('vv', $blockLineStyle, $blockColor); + } + if($bFormatFill == 1){ + // Fill Patern Style + $blockFillPatternStyle = 0; + switch ($conditional->getStyle()->getFill()->getFillType()){ + case PHPExcel_Style_Fill::FILL_NONE : $blockFillPatternStyle = 0x00; break; + case PHPExcel_Style_Fill::FILL_SOLID : $blockFillPatternStyle = 0x01; break; + case PHPExcel_Style_Fill::FILL_PATTERN_MEDIUMGRAY : $blockFillPatternStyle = 0x02; break; + case PHPExcel_Style_Fill::FILL_PATTERN_DARKGRAY : $blockFillPatternStyle = 0x03; break; + case PHPExcel_Style_Fill::FILL_PATTERN_LIGHTGRAY : $blockFillPatternStyle = 0x04; break; + case PHPExcel_Style_Fill::FILL_PATTERN_DARKHORIZONTAL : $blockFillPatternStyle = 0x05; break; + case PHPExcel_Style_Fill::FILL_PATTERN_DARKVERTICAL : $blockFillPatternStyle = 0x06; break; + case PHPExcel_Style_Fill::FILL_PATTERN_DARKDOWN : $blockFillPatternStyle = 0x07; break; + case PHPExcel_Style_Fill::FILL_PATTERN_DARKUP : $blockFillPatternStyle = 0x08; break; + case PHPExcel_Style_Fill::FILL_PATTERN_DARKGRID : $blockFillPatternStyle = 0x09; break; + case PHPExcel_Style_Fill::FILL_PATTERN_DARKTRELLIS : $blockFillPatternStyle = 0x0A; break; + case PHPExcel_Style_Fill::FILL_PATTERN_LIGHTHORIZONTAL : $blockFillPatternStyle = 0x0B; break; + case PHPExcel_Style_Fill::FILL_PATTERN_LIGHTVERTICAL : $blockFillPatternStyle = 0x0C; break; + case PHPExcel_Style_Fill::FILL_PATTERN_LIGHTDOWN : $blockFillPatternStyle = 0x0D; break; + case PHPExcel_Style_Fill::FILL_PATTERN_LIGHTUP : $blockFillPatternStyle = 0x0E; break; + case PHPExcel_Style_Fill::FILL_PATTERN_LIGHTGRID : $blockFillPatternStyle = 0x0F; break; + case PHPExcel_Style_Fill::FILL_PATTERN_LIGHTTRELLIS : $blockFillPatternStyle = 0x10; break; + case PHPExcel_Style_Fill::FILL_PATTERN_GRAY125 : $blockFillPatternStyle = 0x11; break; + case PHPExcel_Style_Fill::FILL_PATTERN_GRAY0625 : $blockFillPatternStyle = 0x12; break; + case PHPExcel_Style_Fill::FILL_GRADIENT_LINEAR : $blockFillPatternStyle = 0x00; break; // does not exist in BIFF8 + case PHPExcel_Style_Fill::FILL_GRADIENT_PATH : $blockFillPatternStyle = 0x00; break; // does not exist in BIFF8 + default : $blockFillPatternStyle = 0x00; break; + } + // Color + switch ($conditional->getStyle()->getFill()->getStartColor()->getRGB()) { + case '000000': $colorIdxBg = 0x08; break; + case 'FFFFFF': $colorIdxBg = 0x09; break; + case 'FF0000': $colorIdxBg = 0x0A; break; + case '00FF00': $colorIdxBg = 0x0B; break; + case '0000FF': $colorIdxBg = 0x0C; break; + case 'FFFF00': $colorIdxBg = 0x0D; break; + case 'FF00FF': $colorIdxBg = 0x0E; break; + case '00FFFF': $colorIdxBg = 0x0F; break; + case '800000': $colorIdxBg = 0x10; break; + case '008000': $colorIdxBg = 0x11; break; + case '000080': $colorIdxBg = 0x12; break; + case '808000': $colorIdxBg = 0x13; break; + case '800080': $colorIdxBg = 0x14; break; + case '008080': $colorIdxBg = 0x15; break; + case 'C0C0C0': $colorIdxBg = 0x16; break; + case '808080': $colorIdxBg = 0x17; break; + case '9999FF': $colorIdxBg = 0x18; break; + case '993366': $colorIdxBg = 0x19; break; + case 'FFFFCC': $colorIdxBg = 0x1A; break; + case 'CCFFFF': $colorIdxBg = 0x1B; break; + case '660066': $colorIdxBg = 0x1C; break; + case 'FF8080': $colorIdxBg = 0x1D; break; + case '0066CC': $colorIdxBg = 0x1E; break; + case 'CCCCFF': $colorIdxBg = 0x1F; break; + case '000080': $colorIdxBg = 0x20; break; + case 'FF00FF': $colorIdxBg = 0x21; break; + case 'FFFF00': $colorIdxBg = 0x22; break; + case '00FFFF': $colorIdxBg = 0x23; break; + case '800080': $colorIdxBg = 0x24; break; + case '800000': $colorIdxBg = 0x25; break; + case '008080': $colorIdxBg = 0x26; break; + case '0000FF': $colorIdxBg = 0x27; break; + case '00CCFF': $colorIdxBg = 0x28; break; + case 'CCFFFF': $colorIdxBg = 0x29; break; + case 'CCFFCC': $colorIdxBg = 0x2A; break; + case 'FFFF99': $colorIdxBg = 0x2B; break; + case '99CCFF': $colorIdxBg = 0x2C; break; + case 'FF99CC': $colorIdxBg = 0x2D; break; + case 'CC99FF': $colorIdxBg = 0x2E; break; + case 'FFCC99': $colorIdxBg = 0x2F; break; + case '3366FF': $colorIdxBg = 0x30; break; + case '33CCCC': $colorIdxBg = 0x31; break; + case '99CC00': $colorIdxBg = 0x32; break; + case 'FFCC00': $colorIdxBg = 0x33; break; + case 'FF9900': $colorIdxBg = 0x34; break; + case 'FF6600': $colorIdxBg = 0x35; break; + case '666699': $colorIdxBg = 0x36; break; + case '969696': $colorIdxBg = 0x37; break; + case '003366': $colorIdxBg = 0x38; break; + case '339966': $colorIdxBg = 0x39; break; + case '003300': $colorIdxBg = 0x3A; break; + case '333300': $colorIdxBg = 0x3B; break; + case '993300': $colorIdxBg = 0x3C; break; + case '993366': $colorIdxBg = 0x3D; break; + case '333399': $colorIdxBg = 0x3E; break; + case '333333': $colorIdxBg = 0x3F; break; + default: $colorIdxBg = 0x41; break; + } + // Fg Color + switch ($conditional->getStyle()->getFill()->getEndColor()->getRGB()) { + case '000000': $colorIdxFg = 0x08; break; + case 'FFFFFF': $colorIdxFg = 0x09; break; + case 'FF0000': $colorIdxFg = 0x0A; break; + case '00FF00': $colorIdxFg = 0x0B; break; + case '0000FF': $colorIdxFg = 0x0C; break; + case 'FFFF00': $colorIdxFg = 0x0D; break; + case 'FF00FF': $colorIdxFg = 0x0E; break; + case '00FFFF': $colorIdxFg = 0x0F; break; + case '800000': $colorIdxFg = 0x10; break; + case '008000': $colorIdxFg = 0x11; break; + case '000080': $colorIdxFg = 0x12; break; + case '808000': $colorIdxFg = 0x13; break; + case '800080': $colorIdxFg = 0x14; break; + case '008080': $colorIdxFg = 0x15; break; + case 'C0C0C0': $colorIdxFg = 0x16; break; + case '808080': $colorIdxFg = 0x17; break; + case '9999FF': $colorIdxFg = 0x18; break; + case '993366': $colorIdxFg = 0x19; break; + case 'FFFFCC': $colorIdxFg = 0x1A; break; + case 'CCFFFF': $colorIdxFg = 0x1B; break; + case '660066': $colorIdxFg = 0x1C; break; + case 'FF8080': $colorIdxFg = 0x1D; break; + case '0066CC': $colorIdxFg = 0x1E; break; + case 'CCCCFF': $colorIdxFg = 0x1F; break; + case '000080': $colorIdxFg = 0x20; break; + case 'FF00FF': $colorIdxFg = 0x21; break; + case 'FFFF00': $colorIdxFg = 0x22; break; + case '00FFFF': $colorIdxFg = 0x23; break; + case '800080': $colorIdxFg = 0x24; break; + case '800000': $colorIdxFg = 0x25; break; + case '008080': $colorIdxFg = 0x26; break; + case '0000FF': $colorIdxFg = 0x27; break; + case '00CCFF': $colorIdxFg = 0x28; break; + case 'CCFFFF': $colorIdxFg = 0x29; break; + case 'CCFFCC': $colorIdxFg = 0x2A; break; + case 'FFFF99': $colorIdxFg = 0x2B; break; + case '99CCFF': $colorIdxFg = 0x2C; break; + case 'FF99CC': $colorIdxFg = 0x2D; break; + case 'CC99FF': $colorIdxFg = 0x2E; break; + case 'FFCC99': $colorIdxFg = 0x2F; break; + case '3366FF': $colorIdxFg = 0x30; break; + case '33CCCC': $colorIdxFg = 0x31; break; + case '99CC00': $colorIdxFg = 0x32; break; + case 'FFCC00': $colorIdxFg = 0x33; break; + case 'FF9900': $colorIdxFg = 0x34; break; + case 'FF6600': $colorIdxFg = 0x35; break; + case '666699': $colorIdxFg = 0x36; break; + case '969696': $colorIdxFg = 0x37; break; + case '003366': $colorIdxFg = 0x38; break; + case '339966': $colorIdxFg = 0x39; break; + case '003300': $colorIdxFg = 0x3A; break; + case '333300': $colorIdxFg = 0x3B; break; + case '993300': $colorIdxFg = 0x3C; break; + case '993366': $colorIdxFg = 0x3D; break; + case '333399': $colorIdxFg = 0x3E; break; + case '333333': $colorIdxFg = 0x3F; break; + default: $colorIdxFg = 0x40; break; + } + $dataBlockFill = pack('v', $blockFillPatternStyle); + $dataBlockFill .= pack('v', $colorIdxFg | ($colorIdxBg << 7)); + } + if($bFormatProt == 1){ + $dataBlockProtection = 0; + if($conditional->getStyle()->getProtection()->getLocked() == PHPExcel_Style_Protection::PROTECTION_PROTECTED){ + $dataBlockProtection = 1; + } + if($conditional->getStyle()->getProtection()->getHidden() == PHPExcel_Style_Protection::PROTECTION_PROTECTED){ + $dataBlockProtection = 1 << 1; + } + } + + $data = pack('CCvvVv', $type, $operatorType, $szValue1, $szValue2, $flags, 0x0000); + if($bFormatFont == 1){ // Block Formatting : OK + $data .= $dataBlockFont; + } + if($bFormatAlign == 1){ + $data .= $dataBlockAlign; + } + if($bFormatBorder == 1){ + $data .= $dataBlockBorder; + } + if($bFormatFill == 1){ // Block Formatting : OK + $data .= $dataBlockFill; + } + if($bFormatProt == 1){ + $data .= $dataBlockProtection; + } + if(!is_null($operand1)){ + $data .= $operand1; + } + if(!is_null($operand2)){ + $data .= $operand2; + } + $header = pack('vv', $record, strlen($data)); + $this->_append($header . $data); + } + + /** + * Write CFHeader record + */ + private function _writeCFHeader(){ + $record = 0x01B0; // Record identifier + $length = 0x0016; // Bytes to follow + + $numColumnMin = null; + $numColumnMax = null; + $numRowMin = null; + $numRowMax = null; + $arrConditional = array(); + foreach ($this->_phpSheet->getConditionalStylesCollection() as $cellCoordinate => $conditionalStyles) { + foreach ($conditionalStyles as $conditional) { + if($conditional->getConditionType() == PHPExcel_Style_Conditional::CONDITION_EXPRESSION + || $conditional->getConditionType() == PHPExcel_Style_Conditional::CONDITION_CELLIS){ + if(!in_array($conditional->getHashCode(), $arrConditional)){ + $arrConditional[] = $conditional->getHashCode(); + } + // Cells + $arrCoord = PHPExcel_Cell::coordinateFromString($cellCoordinate); + if(!is_numeric($arrCoord[0])){ + $arrCoord[0] = PHPExcel_Cell::columnIndexFromString($arrCoord[0]); + } + if(is_null($numColumnMin) || ($numColumnMin > $arrCoord[0])){ + $numColumnMin = $arrCoord[0]; + } + if(is_null($numColumnMax) || ($numColumnMax < $arrCoord[0])){ + $numColumnMax = $arrCoord[0]; + } + if(is_null($numRowMin) || ($numRowMin > $arrCoord[1])){ + $numRowMin = $arrCoord[1]; + } + if(is_null($numRowMax) || ($numRowMax < $arrCoord[1])){ + $numRowMax = $arrCoord[1]; + } + } + } + } + $needRedraw = 1; + $cellRange = pack('vvvv', $numRowMin-1, $numRowMax-1, $numColumnMin-1, $numColumnMax-1); + + $header = pack('vv', $record, $length); + $data = pack('vv', count($arrConditional), $needRedraw); + $data .= $cellRange; + $data .= pack('v', 0x0001); + $data .= $cellRange; + $this->_append($header . $data); + } +} \ No newline at end of file diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/Excel5/Xf.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/Excel5/Xf.php new file mode 100644 index 00000000..99f1b2a0 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/Excel5/Xf.php @@ -0,0 +1,547 @@ +<?php +/** + * PHPExcel + * + * Copyright (c) 2006 - 2014 PHPExcel + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * @category PHPExcel + * @package PHPExcel_Writer_Excel5 + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @version ##VERSION##, ##DATE## + */ + +// Original file header of PEAR::Spreadsheet_Excel_Writer_Format (used as the base for this class): +// ----------------------------------------------------------------------------------------- +// /* +// * Module written/ported by Xavier Noguer <xnoguer@rezebra.com> +// * +// * The majority of this is _NOT_ my code. I simply ported it from the +// * PERL Spreadsheet::WriteExcel module. +// * +// * The author of the Spreadsheet::WriteExcel module is John McNamara +// * <jmcnamara@cpan.org> +// * +// * I _DO_ maintain this code, and John McNamara has nothing to do with the +// * porting of this code to PHP. Any questions directly related to this +// * class library should be directed to me. +// * +// * License Information: +// * +// * Spreadsheet_Excel_Writer: A library for generating Excel Spreadsheets +// * Copyright (c) 2002-2003 Xavier Noguer xnoguer@rezebra.com +// * +// * This library is free software; you can redistribute it and/or +// * modify it under the terms of the GNU Lesser General Public +// * License as published by the Free Software Foundation; either +// * version 2.1 of the License, or (at your option) any later version. +// * +// * This library is distributed in the hope that it will be useful, +// * but WITHOUT ANY WARRANTY; without even the implied warranty of +// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +// * Lesser General Public License for more details. +// * +// * You should have received a copy of the GNU Lesser General Public +// * License along with this library; if not, write to the Free Software +// * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +// */ + + +/** + * PHPExcel_Writer_Excel5_Xf + * + * @category PHPExcel + * @package PHPExcel_Writer_Excel5 + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + */ +class PHPExcel_Writer_Excel5_Xf +{ + /** + * Style XF or a cell XF ? + * + * @var boolean + */ + private $_isStyleXf; + + /** + * Index to the FONT record. Index 4 does not exist + * @var integer + */ + private $_fontIndex; + + /** + * An index (2 bytes) to a FORMAT record (number format). + * @var integer + */ + public $_numberFormatIndex; + + /** + * 1 bit, apparently not used. + * @var integer + */ + public $_text_justlast; + + /** + * The cell's foreground color. + * @var integer + */ + public $_fg_color; + + /** + * The cell's background color. + * @var integer + */ + public $_bg_color; + + /** + * Color of the bottom border of the cell. + * @var integer + */ + public $_bottom_color; + + /** + * Color of the top border of the cell. + * @var integer + */ + public $_top_color; + + /** + * Color of the left border of the cell. + * @var integer + */ + public $_left_color; + + /** + * Color of the right border of the cell. + * @var integer + */ + public $_right_color; + + /** + * Constructor + * + * @access public + * @param PHPExcel_Style The XF format + */ + public function __construct(PHPExcel_Style $style = null) + { + $this->_isStyleXf = false; + $this->_fontIndex = 0; + + $this->_numberFormatIndex = 0; + + $this->_text_justlast = 0; + + $this->_fg_color = 0x40; + $this->_bg_color = 0x41; + + $this->_diag = 0; + + $this->_bottom_color = 0x40; + $this->_top_color = 0x40; + $this->_left_color = 0x40; + $this->_right_color = 0x40; + $this->_diag_color = 0x40; + $this->_style = $style; + + } + + + /** + * Generate an Excel BIFF XF record (style or cell). + * + * @return string The XF record + */ + function writeXf() + { + // Set the type of the XF record and some of the attributes. + if ($this->_isStyleXf) { + $style = 0xFFF5; + } else { + $style = self::_mapLocked($this->_style->getProtection()->getLocked()); + $style |= self::_mapHidden($this->_style->getProtection()->getHidden()) << 1; + } + + // Flags to indicate if attributes have been set. + $atr_num = ($this->_numberFormatIndex != 0)?1:0; + $atr_fnt = ($this->_fontIndex != 0)?1:0; + $atr_alc = ((int) $this->_style->getAlignment()->getWrapText()) ? 1 : 0; + $atr_bdr = (self::_mapBorderStyle($this->_style->getBorders()->getBottom()->getBorderStyle()) || + self::_mapBorderStyle($this->_style->getBorders()->getTop()->getBorderStyle()) || + self::_mapBorderStyle($this->_style->getBorders()->getLeft()->getBorderStyle()) || + self::_mapBorderStyle($this->_style->getBorders()->getRight()->getBorderStyle()))?1:0; + $atr_pat = (($this->_fg_color != 0x40) || + ($this->_bg_color != 0x41) || + self::_mapFillType($this->_style->getFill()->getFillType()))?1:0; + $atr_prot = self::_mapLocked($this->_style->getProtection()->getLocked()) + | self::_mapHidden($this->_style->getProtection()->getHidden()); + + // Zero the default border colour if the border has not been set. + if (self::_mapBorderStyle($this->_style->getBorders()->getBottom()->getBorderStyle()) == 0) { + $this->_bottom_color = 0; + } + if (self::_mapBorderStyle($this->_style->getBorders()->getTop()->getBorderStyle()) == 0) { + $this->_top_color = 0; + } + if (self::_mapBorderStyle($this->_style->getBorders()->getRight()->getBorderStyle()) == 0) { + $this->_right_color = 0; + } + if (self::_mapBorderStyle($this->_style->getBorders()->getLeft()->getBorderStyle()) == 0) { + $this->_left_color = 0; + } + if (self::_mapBorderStyle($this->_style->getBorders()->getDiagonal()->getBorderStyle()) == 0) { + $this->_diag_color = 0; + } + + $record = 0x00E0; // Record identifier + $length = 0x0014; // Number of bytes to follow + + $ifnt = $this->_fontIndex; // Index to FONT record + $ifmt = $this->_numberFormatIndex; // Index to FORMAT record + + $align = $this->_mapHAlign($this->_style->getAlignment()->getHorizontal()); // Alignment + $align |= (int) $this->_style->getAlignment()->getWrapText() << 3; + $align |= self::_mapVAlign($this->_style->getAlignment()->getVertical()) << 4; + $align |= $this->_text_justlast << 7; + + $used_attrib = $atr_num << 2; + $used_attrib |= $atr_fnt << 3; + $used_attrib |= $atr_alc << 4; + $used_attrib |= $atr_bdr << 5; + $used_attrib |= $atr_pat << 6; + $used_attrib |= $atr_prot << 7; + + $icv = $this->_fg_color; // fg and bg pattern colors + $icv |= $this->_bg_color << 7; + + $border1 = self::_mapBorderStyle($this->_style->getBorders()->getLeft()->getBorderStyle()); // Border line style and color + $border1 |= self::_mapBorderStyle($this->_style->getBorders()->getRight()->getBorderStyle()) << 4; + $border1 |= self::_mapBorderStyle($this->_style->getBorders()->getTop()->getBorderStyle()) << 8; + $border1 |= self::_mapBorderStyle($this->_style->getBorders()->getBottom()->getBorderStyle()) << 12; + $border1 |= $this->_left_color << 16; + $border1 |= $this->_right_color << 23; + + $diagonalDirection = $this->_style->getBorders()->getDiagonalDirection(); + $diag_tl_to_rb = $diagonalDirection == PHPExcel_Style_Borders::DIAGONAL_BOTH + || $diagonalDirection == PHPExcel_Style_Borders::DIAGONAL_DOWN; + $diag_tr_to_lb = $diagonalDirection == PHPExcel_Style_Borders::DIAGONAL_BOTH + || $diagonalDirection == PHPExcel_Style_Borders::DIAGONAL_UP; + $border1 |= $diag_tl_to_rb << 30; + $border1 |= $diag_tr_to_lb << 31; + + $border2 = $this->_top_color; // Border color + $border2 |= $this->_bottom_color << 7; + $border2 |= $this->_diag_color << 14; + $border2 |= self::_mapBorderStyle($this->_style->getBorders()->getDiagonal()->getBorderStyle()) << 21; + $border2 |= self::_mapFillType($this->_style->getFill()->getFillType()) << 26; + + $header = pack("vv", $record, $length); + + //BIFF8 options: identation, shrinkToFit and text direction + $biff8_options = $this->_style->getAlignment()->getIndent(); + $biff8_options |= (int) $this->_style->getAlignment()->getShrinkToFit() << 4; + + $data = pack("vvvC", $ifnt, $ifmt, $style, $align); + $data .= pack("CCC" + , self::_mapTextRotation($this->_style->getAlignment()->getTextRotation()) + , $biff8_options + , $used_attrib + ); + $data .= pack("VVv", $border1, $border2, $icv); + + return($header . $data); + } + + /** + * Is this a style XF ? + * + * @param boolean $value + */ + public function setIsStyleXf($value) + { + $this->_isStyleXf = $value; + } + + /** + * Sets the cell's bottom border color + * + * @access public + * @param int $colorIndex Color index + */ + function setBottomColor($colorIndex) + { + $this->_bottom_color = $colorIndex; + } + + /** + * Sets the cell's top border color + * + * @access public + * @param int $colorIndex Color index + */ + function setTopColor($colorIndex) + { + $this->_top_color = $colorIndex; + } + + /** + * Sets the cell's left border color + * + * @access public + * @param int $colorIndex Color index + */ + function setLeftColor($colorIndex) + { + $this->_left_color = $colorIndex; + } + + /** + * Sets the cell's right border color + * + * @access public + * @param int $colorIndex Color index + */ + function setRightColor($colorIndex) + { + $this->_right_color = $colorIndex; + } + + /** + * Sets the cell's diagonal border color + * + * @access public + * @param int $colorIndex Color index + */ + function setDiagColor($colorIndex) + { + $this->_diag_color = $colorIndex; + } + + + /** + * Sets the cell's foreground color + * + * @access public + * @param int $colorIndex Color index + */ + function setFgColor($colorIndex) + { + $this->_fg_color = $colorIndex; + } + + /** + * Sets the cell's background color + * + * @access public + * @param int $colorIndex Color index + */ + function setBgColor($colorIndex) + { + $this->_bg_color = $colorIndex; + } + + /** + * Sets the index to the number format record + * It can be date, time, currency, etc... + * + * @access public + * @param integer $numberFormatIndex Index to format record + */ + function setNumberFormatIndex($numberFormatIndex) + { + $this->_numberFormatIndex = $numberFormatIndex; + } + + /** + * Set the font index. + * + * @param int $value Font index, note that value 4 does not exist + */ + public function setFontIndex($value) + { + $this->_fontIndex = $value; + } + + /** + * Map of BIFF2-BIFF8 codes for border styles + * @static array of int + * + */ + private static $_mapBorderStyle = array ( PHPExcel_Style_Border::BORDER_NONE => 0x00, + PHPExcel_Style_Border::BORDER_THIN => 0x01, + PHPExcel_Style_Border::BORDER_MEDIUM => 0x02, + PHPExcel_Style_Border::BORDER_DASHED => 0x03, + PHPExcel_Style_Border::BORDER_DOTTED => 0x04, + PHPExcel_Style_Border::BORDER_THICK => 0x05, + PHPExcel_Style_Border::BORDER_DOUBLE => 0x06, + PHPExcel_Style_Border::BORDER_HAIR => 0x07, + PHPExcel_Style_Border::BORDER_MEDIUMDASHED => 0x08, + PHPExcel_Style_Border::BORDER_DASHDOT => 0x09, + PHPExcel_Style_Border::BORDER_MEDIUMDASHDOT => 0x0A, + PHPExcel_Style_Border::BORDER_DASHDOTDOT => 0x0B, + PHPExcel_Style_Border::BORDER_MEDIUMDASHDOTDOT => 0x0C, + PHPExcel_Style_Border::BORDER_SLANTDASHDOT => 0x0D, + ); + + /** + * Map border style + * + * @param string $borderStyle + * @return int + */ + private static function _mapBorderStyle($borderStyle) { + if (isset(self::$_mapBorderStyle[$borderStyle])) + return self::$_mapBorderStyle[$borderStyle]; + return 0x00; + } + + /** + * Map of BIFF2-BIFF8 codes for fill types + * @static array of int + * + */ + private static $_mapFillType = array( PHPExcel_Style_Fill::FILL_NONE => 0x00, + PHPExcel_Style_Fill::FILL_SOLID => 0x01, + PHPExcel_Style_Fill::FILL_PATTERN_MEDIUMGRAY => 0x02, + PHPExcel_Style_Fill::FILL_PATTERN_DARKGRAY => 0x03, + PHPExcel_Style_Fill::FILL_PATTERN_LIGHTGRAY => 0x04, + PHPExcel_Style_Fill::FILL_PATTERN_DARKHORIZONTAL => 0x05, + PHPExcel_Style_Fill::FILL_PATTERN_DARKVERTICAL => 0x06, + PHPExcel_Style_Fill::FILL_PATTERN_DARKDOWN => 0x07, + PHPExcel_Style_Fill::FILL_PATTERN_DARKUP => 0x08, + PHPExcel_Style_Fill::FILL_PATTERN_DARKGRID => 0x09, + PHPExcel_Style_Fill::FILL_PATTERN_DARKTRELLIS => 0x0A, + PHPExcel_Style_Fill::FILL_PATTERN_LIGHTHORIZONTAL => 0x0B, + PHPExcel_Style_Fill::FILL_PATTERN_LIGHTVERTICAL => 0x0C, + PHPExcel_Style_Fill::FILL_PATTERN_LIGHTDOWN => 0x0D, + PHPExcel_Style_Fill::FILL_PATTERN_LIGHTUP => 0x0E, + PHPExcel_Style_Fill::FILL_PATTERN_LIGHTGRID => 0x0F, + PHPExcel_Style_Fill::FILL_PATTERN_LIGHTTRELLIS => 0x10, + PHPExcel_Style_Fill::FILL_PATTERN_GRAY125 => 0x11, + PHPExcel_Style_Fill::FILL_PATTERN_GRAY0625 => 0x12, + PHPExcel_Style_Fill::FILL_GRADIENT_LINEAR => 0x00, // does not exist in BIFF8 + PHPExcel_Style_Fill::FILL_GRADIENT_PATH => 0x00, // does not exist in BIFF8 + ); + /** + * Map fill type + * + * @param string $fillType + * @return int + */ + private static function _mapFillType($fillType) { + if (isset(self::$_mapFillType[$fillType])) + return self::$_mapFillType[$fillType]; + return 0x00; + } + + /** + * Map of BIFF2-BIFF8 codes for horizontal alignment + * @static array of int + * + */ + private static $_mapHAlign = array( PHPExcel_Style_Alignment::HORIZONTAL_GENERAL => 0, + PHPExcel_Style_Alignment::HORIZONTAL_LEFT => 1, + PHPExcel_Style_Alignment::HORIZONTAL_CENTER => 2, + PHPExcel_Style_Alignment::HORIZONTAL_RIGHT => 3, + PHPExcel_Style_Alignment::HORIZONTAL_FILL => 4, + PHPExcel_Style_Alignment::HORIZONTAL_JUSTIFY => 5, + PHPExcel_Style_Alignment::HORIZONTAL_CENTER_CONTINUOUS => 6, + ); + /** + * Map to BIFF2-BIFF8 codes for horizontal alignment + * + * @param string $hAlign + * @return int + */ + private function _mapHAlign($hAlign) + { + if (isset(self::$_mapHAlign[$hAlign])) + return self::$_mapHAlign[$hAlign]; + return 0; + } + + /** + * Map of BIFF2-BIFF8 codes for vertical alignment + * @static array of int + * + */ + private static $_mapVAlign = array( PHPExcel_Style_Alignment::VERTICAL_TOP => 0, + PHPExcel_Style_Alignment::VERTICAL_CENTER => 1, + PHPExcel_Style_Alignment::VERTICAL_BOTTOM => 2, + PHPExcel_Style_Alignment::VERTICAL_JUSTIFY => 3, + ); + /** + * Map to BIFF2-BIFF8 codes for vertical alignment + * + * @param string $vAlign + * @return int + */ + private static function _mapVAlign($vAlign) { + if (isset(self::$_mapVAlign[$vAlign])) + return self::$_mapVAlign[$vAlign]; + return 2; + } + + /** + * Map to BIFF8 codes for text rotation angle + * + * @param int $textRotation + * @return int + */ + private static function _mapTextRotation($textRotation) { + if ($textRotation >= 0) { + return $textRotation; + } + if ($textRotation == -165) { + return 255; + } + if ($textRotation < 0) { + return 90 - $textRotation; + } + } + + /** + * Map locked + * + * @param string + * @return int + */ + private static function _mapLocked($locked) { + switch ($locked) { + case PHPExcel_Style_Protection::PROTECTION_INHERIT: return 1; + case PHPExcel_Style_Protection::PROTECTION_PROTECTED: return 1; + case PHPExcel_Style_Protection::PROTECTION_UNPROTECTED: return 0; + default: return 1; + } + } + + /** + * Map hidden + * + * @param string + * @return int + */ + private static function _mapHidden($hidden) { + switch ($hidden) { + case PHPExcel_Style_Protection::PROTECTION_INHERIT: return 0; + case PHPExcel_Style_Protection::PROTECTION_PROTECTED: return 1; + case PHPExcel_Style_Protection::PROTECTION_UNPROTECTED: return 0; + default: return 0; + } + } + +} diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/Exception.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/Exception.php new file mode 100644 index 00000000..1715587a --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/Exception.php @@ -0,0 +1,52 @@ +<?php +/** + * PHPExcel + * + * Copyright (c) 2006 - 2014 PHPExcel + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * @category PHPExcel + * @package PHPExcel_Writer + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @version ##VERSION##, ##DATE## + */ + + +/** + * PHPExcel_Writer_Exception + * + * @category PHPExcel + * @package PHPExcel_Writer + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + */ +class PHPExcel_Writer_Exception extends PHPExcel_Exception { + /** + * Error handler callback + * + * @param mixed $code + * @param mixed $string + * @param mixed $file + * @param mixed $line + * @param mixed $context + */ + public static function errorHandlerCallback($code, $string, $file, $line, $context) { + $e = new self($string, $code); + $e->line = $line; + $e->file = $file; + throw $e; + } +} diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/HTML.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/HTML.php new file mode 100644 index 00000000..63c5d478 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/HTML.php @@ -0,0 +1,1548 @@ +<?php +/** + * PHPExcel + * + * Copyright (c) 2006 - 2014 PHPExcel + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * @category PHPExcel + * @package PHPExcel_Writer_HTML + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @version ##VERSION##, ##DATE## + */ + + +/** + * PHPExcel_Writer_HTML + * + * @category PHPExcel + * @package PHPExcel_Writer_HTML + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + */ +class PHPExcel_Writer_HTML extends PHPExcel_Writer_Abstract implements PHPExcel_Writer_IWriter { + /** + * PHPExcel object + * + * @var PHPExcel + */ + protected $_phpExcel; + + /** + * Sheet index to write + * + * @var int + */ + private $_sheetIndex = 0; + + /** + * Images root + * + * @var string + */ + private $_imagesRoot = '.'; + + /** + * embed images, or link to images + * + * @var boolean + */ + private $_embedImages = FALSE; + + /** + * Use inline CSS? + * + * @var boolean + */ + private $_useInlineCss = false; + + /** + * Array of CSS styles + * + * @var array + */ + private $_cssStyles = null; + + /** + * Array of column widths in points + * + * @var array + */ + private $_columnWidths = null; + + /** + * Default font + * + * @var PHPExcel_Style_Font + */ + private $_defaultFont; + + /** + * Flag whether spans have been calculated + * + * @var boolean + */ + private $_spansAreCalculated = false; + + /** + * Excel cells that should not be written as HTML cells + * + * @var array + */ + private $_isSpannedCell = array(); + + /** + * Excel cells that are upper-left corner in a cell merge + * + * @var array + */ + private $_isBaseCell = array(); + + /** + * Excel rows that should not be written as HTML rows + * + * @var array + */ + private $_isSpannedRow = array(); + + /** + * Is the current writer creating PDF? + * + * @var boolean + */ + protected $_isPdf = false; + + /** + * Generate the Navigation block + * + * @var boolean + */ + private $_generateSheetNavigationBlock = true; + + /** + * Create a new PHPExcel_Writer_HTML + * + * @param PHPExcel $phpExcel PHPExcel object + */ + public function __construct(PHPExcel $phpExcel) { + $this->_phpExcel = $phpExcel; + $this->_defaultFont = $this->_phpExcel->getDefaultStyle()->getFont(); + } + + /** + * Save PHPExcel to file + * + * @param string $pFilename + * @throws PHPExcel_Writer_Exception + */ + public function save($pFilename = null) { + // garbage collect + $this->_phpExcel->garbageCollect(); + + $saveDebugLog = PHPExcel_Calculation::getInstance($this->_phpExcel)->getDebugLog()->getWriteDebugLog(); + PHPExcel_Calculation::getInstance($this->_phpExcel)->getDebugLog()->setWriteDebugLog(FALSE); + $saveArrayReturnType = PHPExcel_Calculation::getArrayReturnType(); + PHPExcel_Calculation::setArrayReturnType(PHPExcel_Calculation::RETURN_ARRAY_AS_VALUE); + + // Build CSS + $this->buildCSS(!$this->_useInlineCss); + + // Open file + $fileHandle = fopen($pFilename, 'wb+'); + if ($fileHandle === false) { + throw new PHPExcel_Writer_Exception("Could not open file $pFilename for writing."); + } + + // Write headers + fwrite($fileHandle, $this->generateHTMLHeader(!$this->_useInlineCss)); + + // Write navigation (tabs) + if ((!$this->_isPdf) && ($this->_generateSheetNavigationBlock)) { + fwrite($fileHandle, $this->generateNavigation()); + } + + // Write data + fwrite($fileHandle, $this->generateSheetData()); + + // Write footer + fwrite($fileHandle, $this->generateHTMLFooter()); + + // Close file + fclose($fileHandle); + + PHPExcel_Calculation::setArrayReturnType($saveArrayReturnType); + PHPExcel_Calculation::getInstance($this->_phpExcel)->getDebugLog()->setWriteDebugLog($saveDebugLog); + } + + /** + * Map VAlign + * + * @param string $vAlign Vertical alignment + * @return string + */ + private function _mapVAlign($vAlign) { + switch ($vAlign) { + case PHPExcel_Style_Alignment::VERTICAL_BOTTOM: return 'bottom'; + case PHPExcel_Style_Alignment::VERTICAL_TOP: return 'top'; + case PHPExcel_Style_Alignment::VERTICAL_CENTER: + case PHPExcel_Style_Alignment::VERTICAL_JUSTIFY: return 'middle'; + default: return 'baseline'; + } + } + + /** + * Map HAlign + * + * @param string $hAlign Horizontal alignment + * @return string|false + */ + private function _mapHAlign($hAlign) { + switch ($hAlign) { + case PHPExcel_Style_Alignment::HORIZONTAL_GENERAL: return false; + case PHPExcel_Style_Alignment::HORIZONTAL_LEFT: return 'left'; + case PHPExcel_Style_Alignment::HORIZONTAL_RIGHT: return 'right'; + case PHPExcel_Style_Alignment::HORIZONTAL_CENTER: + case PHPExcel_Style_Alignment::HORIZONTAL_CENTER_CONTINUOUS: return 'center'; + case PHPExcel_Style_Alignment::HORIZONTAL_JUSTIFY: return 'justify'; + default: return false; + } + } + + /** + * Map border style + * + * @param int $borderStyle Sheet index + * @return string + */ + private function _mapBorderStyle($borderStyle) { + switch ($borderStyle) { + case PHPExcel_Style_Border::BORDER_NONE: return 'none'; + case PHPExcel_Style_Border::BORDER_DASHDOT: return '1px dashed'; + case PHPExcel_Style_Border::BORDER_DASHDOTDOT: return '1px dotted'; + case PHPExcel_Style_Border::BORDER_DASHED: return '1px dashed'; + case PHPExcel_Style_Border::BORDER_DOTTED: return '1px dotted'; + case PHPExcel_Style_Border::BORDER_DOUBLE: return '3px double'; + case PHPExcel_Style_Border::BORDER_HAIR: return '1px solid'; + case PHPExcel_Style_Border::BORDER_MEDIUM: return '2px solid'; + case PHPExcel_Style_Border::BORDER_MEDIUMDASHDOT: return '2px dashed'; + case PHPExcel_Style_Border::BORDER_MEDIUMDASHDOTDOT: return '2px dotted'; + case PHPExcel_Style_Border::BORDER_MEDIUMDASHED: return '2px dashed'; + case PHPExcel_Style_Border::BORDER_SLANTDASHDOT: return '2px dashed'; + case PHPExcel_Style_Border::BORDER_THICK: return '3px solid'; + case PHPExcel_Style_Border::BORDER_THIN: return '1px solid'; + default: return '1px solid'; // map others to thin + } + } + + /** + * Get sheet index + * + * @return int + */ + public function getSheetIndex() { + return $this->_sheetIndex; + } + + /** + * Set sheet index + * + * @param int $pValue Sheet index + * @return PHPExcel_Writer_HTML + */ + public function setSheetIndex($pValue = 0) { + $this->_sheetIndex = $pValue; + return $this; + } + + /** + * Get sheet index + * + * @return boolean + */ + public function getGenerateSheetNavigationBlock() { + return $this->_generateSheetNavigationBlock; + } + + /** + * Set sheet index + * + * @param boolean $pValue Flag indicating whether the sheet navigation block should be generated or not + * @return PHPExcel_Writer_HTML + */ + public function setGenerateSheetNavigationBlock($pValue = true) { + $this->_generateSheetNavigationBlock = (bool) $pValue; + return $this; + } + + /** + * Write all sheets (resets sheetIndex to NULL) + */ + public function writeAllSheets() { + $this->_sheetIndex = null; + return $this; + } + + /** + * Generate HTML header + * + * @param boolean $pIncludeStyles Include styles? + * @return string + * @throws PHPExcel_Writer_Exception + */ + public function generateHTMLHeader($pIncludeStyles = false) { + // PHPExcel object known? + if (is_null($this->_phpExcel)) { + throw new PHPExcel_Writer_Exception('Internal PHPExcel object not set to an instance of an object.'); + } + + // Construct HTML + $properties = $this->_phpExcel->getProperties(); + $html = '<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">' . PHP_EOL; + $html .= '<!-- Generated by PHPExcel - http://www.phpexcel.net -->' . PHP_EOL; + $html .= '<html>' . PHP_EOL; + $html .= ' <head>' . PHP_EOL; + $html .= ' <meta http-equiv="Content-Type" content="text/html; charset=utf-8">' . PHP_EOL; + if ($properties->getTitle() > '') + $html .= ' <title>' . htmlspecialchars($properties->getTitle()) . '</title>' . PHP_EOL; + + if ($properties->getCreator() > '') + $html .= ' <meta name="author" content="' . htmlspecialchars($properties->getCreator()) . '" />' . PHP_EOL; + if ($properties->getTitle() > '') + $html .= ' <meta name="title" content="' . htmlspecialchars($properties->getTitle()) . '" />' . PHP_EOL; + if ($properties->getDescription() > '') + $html .= ' <meta name="description" content="' . htmlspecialchars($properties->getDescription()) . '" />' . PHP_EOL; + if ($properties->getSubject() > '') + $html .= ' <meta name="subject" content="' . htmlspecialchars($properties->getSubject()) . '" />' . PHP_EOL; + if ($properties->getKeywords() > '') + $html .= ' <meta name="keywords" content="' . htmlspecialchars($properties->getKeywords()) . '" />' . PHP_EOL; + if ($properties->getCategory() > '') + $html .= ' <meta name="category" content="' . htmlspecialchars($properties->getCategory()) . '" />' . PHP_EOL; + if ($properties->getCompany() > '') + $html .= ' <meta name="company" content="' . htmlspecialchars($properties->getCompany()) . '" />' . PHP_EOL; + if ($properties->getManager() > '') + $html .= ' <meta name="manager" content="' . htmlspecialchars($properties->getManager()) . '" />' . PHP_EOL; + + if ($pIncludeStyles) { + $html .= $this->generateStyles(true); + } + + $html .= ' </head>' . PHP_EOL; + $html .= '' . PHP_EOL; + $html .= ' <body>' . PHP_EOL; + + // Return + return $html; + } + + /** + * Generate sheet data + * + * @return string + * @throws PHPExcel_Writer_Exception + */ + public function generateSheetData() { + // PHPExcel object known? + if (is_null($this->_phpExcel)) { + throw new PHPExcel_Writer_Exception('Internal PHPExcel object not set to an instance of an object.'); + } + + // Ensure that Spans have been calculated? + if (!$this->_spansAreCalculated) { + $this->_calculateSpans(); + } + + // Fetch sheets + $sheets = array(); + if (is_null($this->_sheetIndex)) { + $sheets = $this->_phpExcel->getAllSheets(); + } else { + $sheets[] = $this->_phpExcel->getSheet($this->_sheetIndex); + } + + // Construct HTML + $html = ''; + + // Loop all sheets + $sheetId = 0; + foreach ($sheets as $sheet) { + // Write table header + $html .= $this->_generateTableHeader($sheet); + + // Get worksheet dimension + $dimension = explode(':', $sheet->calculateWorksheetDimension()); + $dimension[0] = PHPExcel_Cell::coordinateFromString($dimension[0]); + $dimension[0][0] = PHPExcel_Cell::columnIndexFromString($dimension[0][0]) - 1; + $dimension[1] = PHPExcel_Cell::coordinateFromString($dimension[1]); + $dimension[1][0] = PHPExcel_Cell::columnIndexFromString($dimension[1][0]) - 1; + + // row min,max + $rowMin = $dimension[0][1]; + $rowMax = $dimension[1][1]; + + // calculate start of <tbody>, <thead> + $tbodyStart = $rowMin; + $theadStart = $theadEnd = 0; // default: no <thead> no </thead> + if ($sheet->getPageSetup()->isRowsToRepeatAtTopSet()) { + $rowsToRepeatAtTop = $sheet->getPageSetup()->getRowsToRepeatAtTop(); + + // we can only support repeating rows that start at top row + if ($rowsToRepeatAtTop[0] == 1) { + $theadStart = $rowsToRepeatAtTop[0]; + $theadEnd = $rowsToRepeatAtTop[1]; + $tbodyStart = $rowsToRepeatAtTop[1] + 1; + } + } + + // Loop through cells + $row = $rowMin-1; + while($row++ < $rowMax) { + // <thead> ? + if ($row == $theadStart) { + $html .= ' <thead>' . PHP_EOL; + $cellType = 'th'; + } + + // <tbody> ? + if ($row == $tbodyStart) { + $html .= ' <tbody>' . PHP_EOL; + $cellType = 'td'; + } + + // Write row if there are HTML table cells in it + if ( !isset($this->_isSpannedRow[$sheet->getParent()->getIndex($sheet)][$row]) ) { + // Start a new rowData + $rowData = array(); + // Loop through columns + $column = $dimension[0][0] - 1; + while($column++ < $dimension[1][0]) { + // Cell exists? + if ($sheet->cellExistsByColumnAndRow($column, $row)) { + $rowData[$column] = PHPExcel_Cell::stringFromColumnIndex($column) . $row; + } else { + $rowData[$column] = ''; + } + } + $html .= $this->_generateRow($sheet, $rowData, $row - 1, $cellType); + } + + // </thead> ? + if ($row == $theadEnd) { + $html .= ' </thead>' . PHP_EOL; + } + } + $html .= $this->_extendRowsForChartsAndImages($sheet, $row); + + // Close table body. + $html .= ' </tbody>' . PHP_EOL; + + // Write table footer + $html .= $this->_generateTableFooter(); + + // Writing PDF? + if ($this->_isPdf) { + if (is_null($this->_sheetIndex) && $sheetId + 1 < $this->_phpExcel->getSheetCount()) { + $html .= '<div style="page-break-before:always" />'; + } + } + + // Next sheet + ++$sheetId; + } + + // Return + return $html; + } + + /** + * Generate sheet tabs + * + * @return string + * @throws PHPExcel_Writer_Exception + */ + public function generateNavigation() + { + // PHPExcel object known? + if (is_null($this->_phpExcel)) { + throw new PHPExcel_Writer_Exception('Internal PHPExcel object not set to an instance of an object.'); + } + + // Fetch sheets + $sheets = array(); + if (is_null($this->_sheetIndex)) { + $sheets = $this->_phpExcel->getAllSheets(); + } else { + $sheets[] = $this->_phpExcel->getSheet($this->_sheetIndex); + } + + // Construct HTML + $html = ''; + + // Only if there are more than 1 sheets + if (count($sheets) > 1) { + // Loop all sheets + $sheetId = 0; + + $html .= '<ul class="navigation">' . PHP_EOL; + + foreach ($sheets as $sheet) { + $html .= ' <li class="sheet' . $sheetId . '"><a href="#sheet' . $sheetId . '">' . $sheet->getTitle() . '</a></li>' . PHP_EOL; + ++$sheetId; + } + + $html .= '</ul>' . PHP_EOL; + } + + return $html; + } + + private function _extendRowsForChartsAndImages(PHPExcel_Worksheet $pSheet, $row) { + $rowMax = $row; + $colMax = 'A'; + if ($this->_includeCharts) { + foreach ($pSheet->getChartCollection() as $chart) { + if ($chart instanceof PHPExcel_Chart) { + $chartCoordinates = $chart->getTopLeftPosition(); + $chartTL = PHPExcel_Cell::coordinateFromString($chartCoordinates['cell']); + $chartCol = PHPExcel_Cell::columnIndexFromString($chartTL[0]); + if ($chartTL[1] > $rowMax) { + $rowMax = $chartTL[1]; + if ($chartCol > PHPExcel_Cell::columnIndexFromString($colMax)) { + $colMax = $chartTL[0]; + } + } + } + } + } + + foreach ($pSheet->getDrawingCollection() as $drawing) { + if ($drawing instanceof PHPExcel_Worksheet_Drawing) { + $imageTL = PHPExcel_Cell::coordinateFromString($drawing->getCoordinates()); + $imageCol = PHPExcel_Cell::columnIndexFromString($imageTL[0]); + if ($imageTL[1] > $rowMax) { + $rowMax = $imageTL[1]; + if ($imageCol > PHPExcel_Cell::columnIndexFromString($colMax)) { + $colMax = $imageTL[0]; + } + } + } + } + $html = ''; + $colMax++; + while ($row < $rowMax) { + $html .= '<tr>'; + for ($col = 'A'; $col != $colMax; ++$col) { + $html .= '<td>'; + $html .= $this->_writeImageInCell($pSheet, $col.$row); + if ($this->_includeCharts) { + $html .= $this->_writeChartInCell($pSheet, $col.$row); + } + $html .= '</td>'; + } + ++$row; + $html .= '</tr>'; + } + return $html; + } + + + /** + * Generate image tag in cell + * + * @param PHPExcel_Worksheet $pSheet PHPExcel_Worksheet + * @param string $coordinates Cell coordinates + * @return string + * @throws PHPExcel_Writer_Exception + */ + private function _writeImageInCell(PHPExcel_Worksheet $pSheet, $coordinates) { + // Construct HTML + $html = ''; + + // Write images + foreach ($pSheet->getDrawingCollection() as $drawing) { + if ($drawing instanceof PHPExcel_Worksheet_Drawing) { + if ($drawing->getCoordinates() == $coordinates) { + $filename = $drawing->getPath(); + + // Strip off eventual '.' + if (substr($filename, 0, 1) == '.') { + $filename = substr($filename, 1); + } + + // Prepend images root + $filename = $this->getImagesRoot() . $filename; + + // Strip off eventual '.' + if (substr($filename, 0, 1) == '.' && substr($filename, 0, 2) != './') { + $filename = substr($filename, 1); + } + + // Convert UTF8 data to PCDATA + $filename = htmlspecialchars($filename); + + $html .= PHP_EOL; + if ((!$this->_embedImages) || ($this->_isPdf)) { + $imageData = $filename; + } else { + $imageDetails = getimagesize($filename); + if ($fp = fopen($filename,"rb", 0)) { + $picture = fread($fp,filesize($filename)); + fclose($fp); + // base64 encode the binary data, then break it + // into chunks according to RFC 2045 semantics + $base64 = chunk_split(base64_encode($picture)); + $imageData = 'data:'.$imageDetails['mime'].';base64,' . $base64; + } else { + $imageData = $filename; + } + } + + $html .= '<div style="position: relative;">'; + $html .= '<img style="position: absolute; z-index: 1; left: ' . + $drawing->getOffsetX() . 'px; top: ' . $drawing->getOffsetY() . 'px; width: ' . + $drawing->getWidth() . 'px; height: ' . $drawing->getHeight() . 'px;" src="' . + $imageData . '" border="0" />'; + $html .= '</div>'; + } + } + } + + // Return + return $html; + } + + /** + * Generate chart tag in cell + * + * @param PHPExcel_Worksheet $pSheet PHPExcel_Worksheet + * @param string $coordinates Cell coordinates + * @return string + * @throws PHPExcel_Writer_Exception + */ + private function _writeChartInCell(PHPExcel_Worksheet $pSheet, $coordinates) { + // Construct HTML + $html = ''; + + // Write charts + foreach ($pSheet->getChartCollection() as $chart) { + if ($chart instanceof PHPExcel_Chart) { + $chartCoordinates = $chart->getTopLeftPosition(); + if ($chartCoordinates['cell'] == $coordinates) { + $chartFileName = PHPExcel_Shared_File::sys_get_temp_dir().'/'.uniqid().'.png'; + if (!$chart->render($chartFileName)) { + return; + } + + $html .= PHP_EOL; + $imageDetails = getimagesize($chartFileName); + if ($fp = fopen($chartFileName,"rb", 0)) { + $picture = fread($fp,filesize($chartFileName)); + fclose($fp); + // base64 encode the binary data, then break it + // into chunks according to RFC 2045 semantics + $base64 = chunk_split(base64_encode($picture)); + $imageData = 'data:'.$imageDetails['mime'].';base64,' . $base64; + + $html .= '<div style="position: relative;">'; + $html .= '<img style="position: absolute; z-index: 1; left: ' . $chartCoordinates['xOffset'] . 'px; top: ' . $chartCoordinates['yOffset'] . 'px; width: ' . $imageDetails[0] . 'px; height: ' . $imageDetails[1] . 'px;" src="' . $imageData . '" border="0" />' . PHP_EOL; + $html .= '</div>'; + + unlink($chartFileName); + } + } + } + } + + // Return + return $html; + } + + /** + * Generate CSS styles + * + * @param boolean $generateSurroundingHTML Generate surrounding HTML tags? (&lt;style&gt; and &lt;/style&gt;) + * @return string + * @throws PHPExcel_Writer_Exception + */ + public function generateStyles($generateSurroundingHTML = true) { + // PHPExcel object known? + if (is_null($this->_phpExcel)) { + throw new PHPExcel_Writer_Exception('Internal PHPExcel object not set to an instance of an object.'); + } + + // Build CSS + $css = $this->buildCSS($generateSurroundingHTML); + + // Construct HTML + $html = ''; + + // Start styles + if ($generateSurroundingHTML) { + $html .= ' <style type="text/css">' . PHP_EOL; + $html .= ' html { ' . $this->_assembleCSS($css['html']) . ' }' . PHP_EOL; + } + + // Write all other styles + foreach ($css as $styleName => $styleDefinition) { + if ($styleName != 'html') { + $html .= ' ' . $styleName . ' { ' . $this->_assembleCSS($styleDefinition) . ' }' . PHP_EOL; + } + } + + // End styles + if ($generateSurroundingHTML) { + $html .= ' </style>' . PHP_EOL; + } + + // Return + return $html; + } + + /** + * Build CSS styles + * + * @param boolean $generateSurroundingHTML Generate surrounding HTML style? (html { }) + * @return array + * @throws PHPExcel_Writer_Exception + */ + public function buildCSS($generateSurroundingHTML = true) { + // PHPExcel object known? + if (is_null($this->_phpExcel)) { + throw new PHPExcel_Writer_Exception('Internal PHPExcel object not set to an instance of an object.'); + } + + // Cached? + if (!is_null($this->_cssStyles)) { + return $this->_cssStyles; + } + + // Ensure that spans have been calculated + if (!$this->_spansAreCalculated) { + $this->_calculateSpans(); + } + + // Construct CSS + $css = array(); + + // Start styles + if ($generateSurroundingHTML) { + // html { } + $css['html']['font-family'] = 'Calibri, Arial, Helvetica, sans-serif'; + $css['html']['font-size'] = '11pt'; + $css['html']['background-color'] = 'white'; + } + + + // table { } + $css['table']['border-collapse'] = 'collapse'; + if (!$this->_isPdf) { + $css['table']['page-break-after'] = 'always'; + } + + // .gridlines td { } + $css['.gridlines td']['border'] = '1px dotted black'; + $css['.gridlines th']['border'] = '1px dotted black'; + + // .b {} + $css['.b']['text-align'] = 'center'; // BOOL + + // .e {} + $css['.e']['text-align'] = 'center'; // ERROR + + // .f {} + $css['.f']['text-align'] = 'right'; // FORMULA + + // .inlineStr {} + $css['.inlineStr']['text-align'] = 'left'; // INLINE + + // .n {} + $css['.n']['text-align'] = 'right'; // NUMERIC + + // .s {} + $css['.s']['text-align'] = 'left'; // STRING + + // Calculate cell style hashes + foreach ($this->_phpExcel->getCellXfCollection() as $index => $style) { + $css['td.style' . $index] = $this->_createCSSStyle( $style ); + $css['th.style' . $index] = $this->_createCSSStyle( $style ); + } + + // Fetch sheets + $sheets = array(); + if (is_null($this->_sheetIndex)) { + $sheets = $this->_phpExcel->getAllSheets(); + } else { + $sheets[] = $this->_phpExcel->getSheet($this->_sheetIndex); + } + + // Build styles per sheet + foreach ($sheets as $sheet) { + // Calculate hash code + $sheetIndex = $sheet->getParent()->getIndex($sheet); + + // Build styles + // Calculate column widths + $sheet->calculateColumnWidths(); + + // col elements, initialize + $highestColumnIndex = PHPExcel_Cell::columnIndexFromString($sheet->getHighestColumn()) - 1; + $column = -1; + while($column++ < $highestColumnIndex) { + $this->_columnWidths[$sheetIndex][$column] = 42; // approximation + $css['table.sheet' . $sheetIndex . ' col.col' . $column]['width'] = '42pt'; + } + + // col elements, loop through columnDimensions and set width + foreach ($sheet->getColumnDimensions() as $columnDimension) { + if (($width = PHPExcel_Shared_Drawing::cellDimensionToPixels($columnDimension->getWidth(), $this->_defaultFont)) >= 0) { + $width = PHPExcel_Shared_Drawing::pixelsToPoints($width); + $column = PHPExcel_Cell::columnIndexFromString($columnDimension->getColumnIndex()) - 1; + $this->_columnWidths[$sheetIndex][$column] = $width; + $css['table.sheet' . $sheetIndex . ' col.col' . $column]['width'] = $width . 'pt'; + + if ($columnDimension->getVisible() === false) { + $css['table.sheet' . $sheetIndex . ' col.col' . $column]['visibility'] = 'collapse'; + $css['table.sheet' . $sheetIndex . ' col.col' . $column]['*display'] = 'none'; // target IE6+7 + } + } + } + + // Default row height + $rowDimension = $sheet->getDefaultRowDimension(); + + // table.sheetN tr { } + $css['table.sheet' . $sheetIndex . ' tr'] = array(); + + if ($rowDimension->getRowHeight() == -1) { + $pt_height = PHPExcel_Shared_Font::getDefaultRowHeightByFont($this->_phpExcel->getDefaultStyle()->getFont()); + } else { + $pt_height = $rowDimension->getRowHeight(); + } + $css['table.sheet' . $sheetIndex . ' tr']['height'] = $pt_height . 'pt'; + if ($rowDimension->getVisible() === false) { + $css['table.sheet' . $sheetIndex . ' tr']['display'] = 'none'; + $css['table.sheet' . $sheetIndex . ' tr']['visibility'] = 'hidden'; + } + + // Calculate row heights + foreach ($sheet->getRowDimensions() as $rowDimension) { + $row = $rowDimension->getRowIndex() - 1; + + // table.sheetN tr.rowYYYYYY { } + $css['table.sheet' . $sheetIndex . ' tr.row' . $row] = array(); + + if ($rowDimension->getRowHeight() == -1) { + $pt_height = PHPExcel_Shared_Font::getDefaultRowHeightByFont($this->_phpExcel->getDefaultStyle()->getFont()); + } else { + $pt_height = $rowDimension->getRowHeight(); + } + $css['table.sheet' . $sheetIndex . ' tr.row' . $row]['height'] = $pt_height . 'pt'; + if ($rowDimension->getVisible() === false) { + $css['table.sheet' . $sheetIndex . ' tr.row' . $row]['display'] = 'none'; + $css['table.sheet' . $sheetIndex . ' tr.row' . $row]['visibility'] = 'hidden'; + } + } + } + + // Cache + if (is_null($this->_cssStyles)) { + $this->_cssStyles = $css; + } + + // Return + return $css; + } + + /** + * Create CSS style + * + * @param PHPExcel_Style $pStyle PHPExcel_Style + * @return array + */ + private function _createCSSStyle(PHPExcel_Style $pStyle) { + // Construct CSS + $css = ''; + + // Create CSS + $css = array_merge( + $this->_createCSSStyleAlignment($pStyle->getAlignment()) + , $this->_createCSSStyleBorders($pStyle->getBorders()) + , $this->_createCSSStyleFont($pStyle->getFont()) + , $this->_createCSSStyleFill($pStyle->getFill()) + ); + + // Return + return $css; + } + + /** + * Create CSS style (PHPExcel_Style_Alignment) + * + * @param PHPExcel_Style_Alignment $pStyle PHPExcel_Style_Alignment + * @return array + */ + private function _createCSSStyleAlignment(PHPExcel_Style_Alignment $pStyle) { + // Construct CSS + $css = array(); + + // Create CSS + $css['vertical-align'] = $this->_mapVAlign($pStyle->getVertical()); + if ($textAlign = $this->_mapHAlign($pStyle->getHorizontal())) { + $css['text-align'] = $textAlign; + if(in_array($textAlign,array('left','right'))) + $css['padding-'.$textAlign] = (string)((int)$pStyle->getIndent() * 9).'px'; + } + + // Return + return $css; + } + + /** + * Create CSS style (PHPExcel_Style_Font) + * + * @param PHPExcel_Style_Font $pStyle PHPExcel_Style_Font + * @return array + */ + private function _createCSSStyleFont(PHPExcel_Style_Font $pStyle) { + // Construct CSS + $css = array(); + + // Create CSS + if ($pStyle->getBold()) { + $css['font-weight'] = 'bold'; + } + if ($pStyle->getUnderline() != PHPExcel_Style_Font::UNDERLINE_NONE && $pStyle->getStrikethrough()) { + $css['text-decoration'] = 'underline line-through'; + } else if ($pStyle->getUnderline() != PHPExcel_Style_Font::UNDERLINE_NONE) { + $css['text-decoration'] = 'underline'; + } else if ($pStyle->getStrikethrough()) { + $css['text-decoration'] = 'line-through'; + } + if ($pStyle->getItalic()) { + $css['font-style'] = 'italic'; + } + + $css['color'] = '#' . $pStyle->getColor()->getRGB(); + $css['font-family'] = '\'' . $pStyle->getName() . '\''; + $css['font-size'] = $pStyle->getSize() . 'pt'; + + // Return + return $css; + } + + /** + * Create CSS style (PHPExcel_Style_Borders) + * + * @param PHPExcel_Style_Borders $pStyle PHPExcel_Style_Borders + * @return array + */ + private function _createCSSStyleBorders(PHPExcel_Style_Borders $pStyle) { + // Construct CSS + $css = array(); + + // Create CSS + $css['border-bottom'] = $this->_createCSSStyleBorder($pStyle->getBottom()); + $css['border-top'] = $this->_createCSSStyleBorder($pStyle->getTop()); + $css['border-left'] = $this->_createCSSStyleBorder($pStyle->getLeft()); + $css['border-right'] = $this->_createCSSStyleBorder($pStyle->getRight()); + + // Return + return $css; + } + + /** + * Create CSS style (PHPExcel_Style_Border) + * + * @param PHPExcel_Style_Border $pStyle PHPExcel_Style_Border + * @return string + */ + private function _createCSSStyleBorder(PHPExcel_Style_Border $pStyle) { + // Create CSS +// $css = $this->_mapBorderStyle($pStyle->getBorderStyle()) . ' #' . $pStyle->getColor()->getRGB(); + // Create CSS - add !important to non-none border styles for merged cells + $borderStyle = $this->_mapBorderStyle($pStyle->getBorderStyle()); + $css = $borderStyle . ' #' . $pStyle->getColor()->getRGB() . (($borderStyle == 'none') ? '' : ' !important'); + + // Return + return $css; + } + + /** + * Create CSS style (PHPExcel_Style_Fill) + * + * @param PHPExcel_Style_Fill $pStyle PHPExcel_Style_Fill + * @return array + */ + private function _createCSSStyleFill(PHPExcel_Style_Fill $pStyle) { + // Construct HTML + $css = array(); + + // Create CSS + $value = $pStyle->getFillType() == PHPExcel_Style_Fill::FILL_NONE ? + 'white' : '#' . $pStyle->getStartColor()->getRGB(); + $css['background-color'] = $value; + + // Return + return $css; + } + + /** + * Generate HTML footer + */ + public function generateHTMLFooter() { + // Construct HTML + $html = ''; + $html .= ' </body>' . PHP_EOL; + $html .= '</html>' . PHP_EOL; + + // Return + return $html; + } + + /** + * Generate table header + * + * @param PHPExcel_Worksheet $pSheet The worksheet for the table we are writing + * @return string + * @throws PHPExcel_Writer_Exception + */ + private function _generateTableHeader($pSheet) { + $sheetIndex = $pSheet->getParent()->getIndex($pSheet); + + // Construct HTML + $html = ''; + $html .= $this->_setMargins($pSheet); + + if (!$this->_useInlineCss) { + $gridlines = $pSheet->getShowGridlines() ? ' gridlines' : ''; + $html .= ' <table border="0" cellpadding="0" cellspacing="0" id="sheet' . $sheetIndex . '" class="sheet' . $sheetIndex . $gridlines . '">' . PHP_EOL; + } else { + $style = isset($this->_cssStyles['table']) ? + $this->_assembleCSS($this->_cssStyles['table']) : ''; + + if ($this->_isPdf && $pSheet->getShowGridlines()) { + $html .= ' <table border="1" cellpadding="1" id="sheet' . $sheetIndex . '" cellspacing="1" style="' . $style . '">' . PHP_EOL; + } else { + $html .= ' <table border="0" cellpadding="1" id="sheet' . $sheetIndex . '" cellspacing="0" style="' . $style . '">' . PHP_EOL; + } + } + + // Write <col> elements + $highestColumnIndex = PHPExcel_Cell::columnIndexFromString($pSheet->getHighestColumn()) - 1; + $i = -1; + while($i++ < $highestColumnIndex) { + if (!$this->_isPdf) { + if (!$this->_useInlineCss) { + $html .= ' <col class="col' . $i . '">' . PHP_EOL; + } else { + $style = isset($this->_cssStyles['table.sheet' . $sheetIndex . ' col.col' . $i]) ? + $this->_assembleCSS($this->_cssStyles['table.sheet' . $sheetIndex . ' col.col' . $i]) : ''; + $html .= ' <col style="' . $style . '">' . PHP_EOL; + } + } + } + + // Return + return $html; + } + + /** + * Generate table footer + * + * @throws PHPExcel_Writer_Exception + */ + private function _generateTableFooter() { + // Construct HTML + $html = ''; + $html .= ' </table>' . PHP_EOL; + + // Return + return $html; + } + + /** + * Generate row + * + * @param PHPExcel_Worksheet $pSheet PHPExcel_Worksheet + * @param array $pValues Array containing cells in a row + * @param int $pRow Row number (0-based) + * @return string + * @throws PHPExcel_Writer_Exception + */ + private function _generateRow(PHPExcel_Worksheet $pSheet, $pValues = null, $pRow = 0, $cellType = 'td') { + if (is_array($pValues)) { + // Construct HTML + $html = ''; + + // Sheet index + $sheetIndex = $pSheet->getParent()->getIndex($pSheet); + + // DomPDF and breaks + if ($this->_isPdf && count($pSheet->getBreaks()) > 0) { + $breaks = $pSheet->getBreaks(); + + // check if a break is needed before this row + if (isset($breaks['A' . $pRow])) { + // close table: </table> + $html .= $this->_generateTableFooter(); + + // insert page break + $html .= '<div style="page-break-before:always" />'; + + // open table again: <table> + <col> etc. + $html .= $this->_generateTableHeader($pSheet); + } + } + + // Write row start + if (!$this->_useInlineCss) { + $html .= ' <tr class="row' . $pRow . '">' . PHP_EOL; + } else { + $style = isset($this->_cssStyles['table.sheet' . $sheetIndex . ' tr.row' . $pRow]) + ? $this->_assembleCSS($this->_cssStyles['table.sheet' . $sheetIndex . ' tr.row' . $pRow]) : ''; + + $html .= ' <tr style="' . $style . '">' . PHP_EOL; + } + + // Write cells + $colNum = 0; + foreach ($pValues as $cellAddress) { + $cell = ($cellAddress > '') ? $pSheet->getCell($cellAddress) : ''; + $coordinate = PHPExcel_Cell::stringFromColumnIndex($colNum) . ($pRow + 1); + if (!$this->_useInlineCss) { + $cssClass = ''; + $cssClass = 'column' . $colNum; + } else { + $cssClass = array(); + if ($cellType == 'th') { + if (isset($this->_cssStyles['table.sheet' . $sheetIndex . ' th.column' . $colNum])) { + $this->_cssStyles['table.sheet' . $sheetIndex . ' th.column' . $colNum]; + } + } else { + if (isset($this->_cssStyles['table.sheet' . $sheetIndex . ' td.column' . $colNum])) { + $this->_cssStyles['table.sheet' . $sheetIndex . ' td.column' . $colNum]; + } + } + } + $colSpan = 1; + $rowSpan = 1; + + // initialize + $cellData = '&nbsp;'; + + // PHPExcel_Cell + if ($cell instanceof PHPExcel_Cell) { + $cellData = ''; + if (is_null($cell->getParent())) { + $cell->attach($pSheet); + } + // Value + if ($cell->getValue() instanceof PHPExcel_RichText) { + // Loop through rich text elements + $elements = $cell->getValue()->getRichTextElements(); + foreach ($elements as $element) { + // Rich text start? + if ($element instanceof PHPExcel_RichText_Run) { + $cellData .= '<span style="' . $this->_assembleCSS($this->_createCSSStyleFont($element->getFont())) . '">'; + + if ($element->getFont()->getSuperScript()) { + $cellData .= '<sup>'; + } else if ($element->getFont()->getSubScript()) { + $cellData .= '<sub>'; + } + } + + // Convert UTF8 data to PCDATA + $cellText = $element->getText(); + $cellData .= htmlspecialchars($cellText); + + if ($element instanceof PHPExcel_RichText_Run) { + if ($element->getFont()->getSuperScript()) { + $cellData .= '</sup>'; + } else if ($element->getFont()->getSubScript()) { + $cellData .= '</sub>'; + } + + $cellData .= '</span>'; + } + } + } else { + if ($this->_preCalculateFormulas) { + $cellData = PHPExcel_Style_NumberFormat::toFormattedString( + $cell->getCalculatedValue(), + $pSheet->getParent()->getCellXfByIndex( $cell->getXfIndex() )->getNumberFormat()->getFormatCode(), + array($this, 'formatColor') + ); + } else { + $cellData = PHPExcel_Style_NumberFormat::toFormattedString( + $cell->getValue(), + $pSheet->getParent()->getCellXfByIndex( $cell->getXfIndex() )->getNumberFormat()->getFormatCode(), + array($this, 'formatColor') + ); + } + $cellData = htmlspecialchars($cellData); + if ($pSheet->getParent()->getCellXfByIndex( $cell->getXfIndex() )->getFont()->getSuperScript()) { + $cellData = '<sup>'.$cellData.'</sup>'; + } elseif ($pSheet->getParent()->getCellXfByIndex( $cell->getXfIndex() )->getFont()->getSubScript()) { + $cellData = '<sub>'.$cellData.'</sub>'; + } + } + + // Converts the cell content so that spaces occuring at beginning of each new line are replaced by &nbsp; + // Example: " Hello\n to the world" is converted to "&nbsp;&nbsp;Hello\n&nbsp;to the world" + $cellData = preg_replace("/(?m)(?:^|\\G) /", '&nbsp;', $cellData); + + // convert newline "\n" to '<br>' + $cellData = nl2br($cellData); + + // Extend CSS class? + if (!$this->_useInlineCss) { + $cssClass .= ' style' . $cell->getXfIndex(); + $cssClass .= ' ' . $cell->getDataType(); + } else { + if ($cellType == 'th') { + if (isset($this->_cssStyles['th.style' . $cell->getXfIndex()])) { + $cssClass = array_merge($cssClass, $this->_cssStyles['th.style' . $cell->getXfIndex()]); + } + } else { + if (isset($this->_cssStyles['td.style' . $cell->getXfIndex()])) { + $cssClass = array_merge($cssClass, $this->_cssStyles['td.style' . $cell->getXfIndex()]); + } + } + + // General horizontal alignment: Actual horizontal alignment depends on dataType + $sharedStyle = $pSheet->getParent()->getCellXfByIndex( $cell->getXfIndex() ); + if ($sharedStyle->getAlignment()->getHorizontal() == PHPExcel_Style_Alignment::HORIZONTAL_GENERAL + && isset($this->_cssStyles['.' . $cell->getDataType()]['text-align'])) + { + $cssClass['text-align'] = $this->_cssStyles['.' . $cell->getDataType()]['text-align']; + } + } + } + + // Hyperlink? + if ($pSheet->hyperlinkExists($coordinate) && !$pSheet->getHyperlink($coordinate)->isInternal()) { + $cellData = '<a href="' . htmlspecialchars($pSheet->getHyperlink($coordinate)->getUrl()) . '" title="' . htmlspecialchars($pSheet->getHyperlink($coordinate)->getTooltip()) . '">' . $cellData . '</a>'; + } + + // Should the cell be written or is it swallowed by a rowspan or colspan? + $writeCell = ! ( isset($this->_isSpannedCell[$pSheet->getParent()->getIndex($pSheet)][$pRow + 1][$colNum]) + && $this->_isSpannedCell[$pSheet->getParent()->getIndex($pSheet)][$pRow + 1][$colNum] ); + + // Colspan and Rowspan + $colspan = 1; + $rowspan = 1; + if (isset($this->_isBaseCell[$pSheet->getParent()->getIndex($pSheet)][$pRow + 1][$colNum])) { + $spans = $this->_isBaseCell[$pSheet->getParent()->getIndex($pSheet)][$pRow + 1][$colNum]; + $rowSpan = $spans['rowspan']; + $colSpan = $spans['colspan']; + + // Also apply style from last cell in merge to fix borders - + // relies on !important for non-none border declarations in _createCSSStyleBorder + $endCellCoord = PHPExcel_Cell::stringFromColumnIndex($colNum + $colSpan - 1) . ($pRow + $rowSpan); + if (!$this->_useInlineCss) { + $cssClass .= ' style' . $pSheet->getCell($endCellCoord)->getXfIndex(); + } + } + + // Write + if ($writeCell) { + // Column start + $html .= ' <' . $cellType; + if (!$this->_useInlineCss) { + $html .= ' class="' . $cssClass . '"'; + } else { + //** Necessary redundant code for the sake of PHPExcel_Writer_PDF ** + // We must explicitly write the width of the <td> element because TCPDF + // does not recognize e.g. <col style="width:42pt"> + $width = 0; + $i = $colNum - 1; + $e = $colNum + $colSpan - 1; + while($i++ < $e) { + if (isset($this->_columnWidths[$sheetIndex][$i])) { + $width += $this->_columnWidths[$sheetIndex][$i]; + } + } + $cssClass['width'] = $width . 'pt'; + + // We must also explicitly write the height of the <td> element because TCPDF + // does not recognize e.g. <tr style="height:50pt"> + if (isset($this->_cssStyles['table.sheet' . $sheetIndex . ' tr.row' . $pRow]['height'])) { + $height = $this->_cssStyles['table.sheet' . $sheetIndex . ' tr.row' . $pRow]['height']; + $cssClass['height'] = $height; + } + //** end of redundant code ** + + $html .= ' style="' . $this->_assembleCSS($cssClass) . '"'; + } + if ($colSpan > 1) { + $html .= ' colspan="' . $colSpan . '"'; + } + if ($rowSpan > 1) { + $html .= ' rowspan="' . $rowSpan . '"'; + } + $html .= '>'; + + // Image? + $html .= $this->_writeImageInCell($pSheet, $coordinate); + + // Chart? + if ($this->_includeCharts) { + $html .= $this->_writeChartInCell($pSheet, $coordinate); + } + + // Cell data + $html .= $cellData; + + // Column end + $html .= '</'.$cellType.'>' . PHP_EOL; + } + + // Next column + ++$colNum; + } + + // Write row end + $html .= ' </tr>' . PHP_EOL; + + // Return + return $html; + } else { + throw new PHPExcel_Writer_Exception("Invalid parameters passed."); + } + } + + /** + * Takes array where of CSS properties / values and converts to CSS string + * + * @param array + * @return string + */ + private function _assembleCSS($pValue = array()) + { + $pairs = array(); + foreach ($pValue as $property => $value) { + $pairs[] = $property . ':' . $value; + } + $string = implode('; ', $pairs); + + return $string; + } + + /** + * Get images root + * + * @return string + */ + public function getImagesRoot() { + return $this->_imagesRoot; + } + + /** + * Set images root + * + * @param string $pValue + * @return PHPExcel_Writer_HTML + */ + public function setImagesRoot($pValue = '.') { + $this->_imagesRoot = $pValue; + return $this; + } + + /** + * Get embed images + * + * @return boolean + */ + public function getEmbedImages() { + return $this->_embedImages; + } + + /** + * Set embed images + * + * @param boolean $pValue + * @return PHPExcel_Writer_HTML + */ + public function setEmbedImages($pValue = '.') { + $this->_embedImages = $pValue; + return $this; + } + + /** + * Get use inline CSS? + * + * @return boolean + */ + public function getUseInlineCss() { + return $this->_useInlineCss; + } + + /** + * Set use inline CSS? + * + * @param boolean $pValue + * @return PHPExcel_Writer_HTML + */ + public function setUseInlineCss($pValue = false) { + $this->_useInlineCss = $pValue; + return $this; + } + + /** + * Add color to formatted string as inline style + * + * @param string $pValue Plain formatted value without color + * @param string $pFormat Format code + * @return string + */ + public function formatColor($pValue, $pFormat) + { + // Color information, e.g. [Red] is always at the beginning + $color = null; // initialize + $matches = array(); + + $color_regex = '/^\\[[a-zA-Z]+\\]/'; + if (preg_match($color_regex, $pFormat, $matches)) { + $color = str_replace('[', '', $matches[0]); + $color = str_replace(']', '', $color); + $color = strtolower($color); + } + + // convert to PCDATA + $value = htmlspecialchars($pValue); + + // color span tag + if ($color !== null) { + $value = '<span style="color:' . $color . '">' . $value . '</span>'; + } + + return $value; + } + + /** + * Calculate information about HTML colspan and rowspan which is not always the same as Excel's + */ + private function _calculateSpans() + { + // Identify all cells that should be omitted in HTML due to cell merge. + // In HTML only the upper-left cell should be written and it should have + // appropriate rowspan / colspan attribute + $sheetIndexes = $this->_sheetIndex !== null ? + array($this->_sheetIndex) : range(0, $this->_phpExcel->getSheetCount() - 1); + + foreach ($sheetIndexes as $sheetIndex) { + $sheet = $this->_phpExcel->getSheet($sheetIndex); + + $candidateSpannedRow = array(); + + // loop through all Excel merged cells + foreach ($sheet->getMergeCells() as $cells) { + list($cells, ) = PHPExcel_Cell::splitRange($cells); + $first = $cells[0]; + $last = $cells[1]; + + list($fc, $fr) = PHPExcel_Cell::coordinateFromString($first); + $fc = PHPExcel_Cell::columnIndexFromString($fc) - 1; + + list($lc, $lr) = PHPExcel_Cell::coordinateFromString($last); + $lc = PHPExcel_Cell::columnIndexFromString($lc) - 1; + + // loop through the individual cells in the individual merge + $r = $fr - 1; + while($r++ < $lr) { + // also, flag this row as a HTML row that is candidate to be omitted + $candidateSpannedRow[$r] = $r; + + $c = $fc - 1; + while($c++ < $lc) { + if ( !($c == $fc && $r == $fr) ) { + // not the upper-left cell (should not be written in HTML) + $this->_isSpannedCell[$sheetIndex][$r][$c] = array( + 'baseCell' => array($fr, $fc), + ); + } else { + // upper-left is the base cell that should hold the colspan/rowspan attribute + $this->_isBaseCell[$sheetIndex][$r][$c] = array( + 'xlrowspan' => $lr - $fr + 1, // Excel rowspan + 'rowspan' => $lr - $fr + 1, // HTML rowspan, value may change + 'xlcolspan' => $lc - $fc + 1, // Excel colspan + 'colspan' => $lc - $fc + 1, // HTML colspan, value may change + ); + } + } + } + } + + // Identify which rows should be omitted in HTML. These are the rows where all the cells + // participate in a merge and the where base cells are somewhere above. + $countColumns = PHPExcel_Cell::columnIndexFromString($sheet->getHighestColumn()); + foreach ($candidateSpannedRow as $rowIndex) { + if (isset($this->_isSpannedCell[$sheetIndex][$rowIndex])) { + if (count($this->_isSpannedCell[$sheetIndex][$rowIndex]) == $countColumns) { + $this->_isSpannedRow[$sheetIndex][$rowIndex] = $rowIndex; + }; + } + } + + // For each of the omitted rows we found above, the affected rowspans should be subtracted by 1 + if ( isset($this->_isSpannedRow[$sheetIndex]) ) { + foreach ($this->_isSpannedRow[$sheetIndex] as $rowIndex) { + $adjustedBaseCells = array(); + $c = -1; + $e = $countColumns - 1; + while($c++ < $e) { + $baseCell = $this->_isSpannedCell[$sheetIndex][$rowIndex][$c]['baseCell']; + + if ( !in_array($baseCell, $adjustedBaseCells) ) { + // subtract rowspan by 1 + --$this->_isBaseCell[$sheetIndex][ $baseCell[0] ][ $baseCell[1] ]['rowspan']; + $adjustedBaseCells[] = $baseCell; + } + } + } + } + + // TODO: Same for columns + } + + // We have calculated the spans + $this->_spansAreCalculated = true; + } + + private function _setMargins(PHPExcel_Worksheet $pSheet) { + $htmlPage = '@page { '; + $htmlBody = 'body { '; + + $left = PHPExcel_Shared_String::FormatNumber($pSheet->getPageMargins()->getLeft()) . 'in; '; + $htmlPage .= 'left-margin: ' . $left; + $htmlBody .= 'left-margin: ' . $left; + $right = PHPExcel_Shared_String::FormatNumber($pSheet->getPageMargins()->getRight()) . 'in; '; + $htmlPage .= 'right-margin: ' . $right; + $htmlBody .= 'right-margin: ' . $right; + $top = PHPExcel_Shared_String::FormatNumber($pSheet->getPageMargins()->getTop()) . 'in; '; + $htmlPage .= 'top-margin: ' . $top; + $htmlBody .= 'top-margin: ' . $top; + $bottom = PHPExcel_Shared_String::FormatNumber($pSheet->getPageMargins()->getBottom()) . 'in; '; + $htmlPage .= 'bottom-margin: ' . $bottom; + $htmlBody .= 'bottom-margin: ' . $bottom; + + $htmlPage .= "}\n"; + $htmlBody .= "}\n"; + + return "<style>\n" . $htmlPage . $htmlBody . "</style>\n"; + } + +} diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/IWriter.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/IWriter.php new file mode 100644 index 00000000..f0b94b9e --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/IWriter.php @@ -0,0 +1,46 @@ +<?php +/** + * PHPExcel + * + * Copyright (c) 2006 - 2014 PHPExcel + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * @category PHPExcel + * @package PHPExcel_Writer + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @version ##VERSION##, ##DATE## + */ + + +/** + * PHPExcel_Writer_IWriter + * + * @category PHPExcel + * @package PHPExcel_Writer + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + */ +interface PHPExcel_Writer_IWriter +{ + /** + * Save PHPExcel to file + * + * @param string $pFilename Name of the file to save + * @throws PHPExcel_Writer_Exception + */ + public function save($pFilename = NULL); + +} diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/OpenDocument.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/OpenDocument.php new file mode 100644 index 00000000..2cbe6f90 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/OpenDocument.php @@ -0,0 +1,200 @@ +<?php +/** + * PHPExcel + * + * Copyright (c) 2006 - 2014 PHPExcel + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * @category PHPExcel + * @package PHPExcel_Writer_OpenDocument + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @version ##VERSION##, ##DATE## + */ + + +/** + * PHPExcel_Writer_OpenDocument + * + * @category PHPExcel + * @package PHPExcel_Writer_OpenDocument + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @author Alexander Pervakov <frost-nzcr4@jagmort.com> + * @link http://docs.oasis-open.org/office/v1.2/os/OpenDocument-v1.2-os.html + */ +class PHPExcel_Writer_OpenDocument extends PHPExcel_Writer_Abstract implements PHPExcel_Writer_IWriter +{ + /** + * Private writer parts + * + * @var PHPExcel_Writer_OpenDocument_WriterPart[] + */ + private $_writerParts = array(); + + /** + * Private PHPExcel + * + * @var PHPExcel + */ + private $_spreadSheet; + + /** + * Create a new PHPExcel_Writer_OpenDocument + * + * @param PHPExcel $pPHPExcel + */ + public function __construct(PHPExcel $pPHPExcel = null) + { + $this->setPHPExcel($pPHPExcel); + + $writerPartsArray = array( + 'content' => 'PHPExcel_Writer_OpenDocument_Content', + 'meta' => 'PHPExcel_Writer_OpenDocument_Meta', + 'meta_inf' => 'PHPExcel_Writer_OpenDocument_MetaInf', + 'mimetype' => 'PHPExcel_Writer_OpenDocument_Mimetype', + 'settings' => 'PHPExcel_Writer_OpenDocument_Settings', + 'styles' => 'PHPExcel_Writer_OpenDocument_Styles', + 'thumbnails' => 'PHPExcel_Writer_OpenDocument_Thumbnails' + ); + + foreach ($writerPartsArray as $writer => $class) { + $this->_writerParts[$writer] = new $class($this); + } + } + + /** + * Get writer part + * + * @param string $pPartName Writer part name + * @return PHPExcel_Writer_Excel2007_WriterPart + */ + public function getWriterPart($pPartName = '') + { + if ($pPartName != '' && isset($this->_writerParts[strtolower($pPartName)])) { + return $this->_writerParts[strtolower($pPartName)]; + } else { + return null; + } + } + + /** + * Save PHPExcel to file + * + * @param string $pFilename + * @throws PHPExcel_Writer_Exception + */ + public function save($pFilename = NULL) + { + if (!$this->_spreadSheet) { + throw new PHPExcel_Writer_Exception('PHPExcel object unassigned.'); + } + + // garbage collect + $this->_spreadSheet->garbageCollect(); + + // If $pFilename is php://output or php://stdout, make it a temporary file... + $originalFilename = $pFilename; + if (strtolower($pFilename) == 'php://output' || strtolower($pFilename) == 'php://stdout') { + $pFilename = @tempnam(PHPExcel_Shared_File::sys_get_temp_dir(), 'phpxltmp'); + if ($pFilename == '') { + $pFilename = $originalFilename; + } + } + + $objZip = $this->_createZip($pFilename); + + $objZip->addFromString('META-INF/manifest.xml', $this->getWriterPart('meta_inf')->writeManifest()); + $objZip->addFromString('Thumbnails/thumbnail.png', $this->getWriterPart('thumbnails')->writeThumbnail()); + $objZip->addFromString('content.xml', $this->getWriterPart('content')->write()); + $objZip->addFromString('meta.xml', $this->getWriterPart('meta')->write()); + $objZip->addFromString('mimetype', $this->getWriterPart('mimetype')->write()); + $objZip->addFromString('settings.xml', $this->getWriterPart('settings')->write()); + $objZip->addFromString('styles.xml', $this->getWriterPart('styles')->write()); + + // Close file + if ($objZip->close() === false) { + throw new PHPExcel_Writer_Exception("Could not close zip file $pFilename."); + } + + // If a temporary file was used, copy it to the correct file stream + if ($originalFilename != $pFilename) { + if (copy($pFilename, $originalFilename) === false) { + throw new PHPExcel_Writer_Exception("Could not copy temporary zip file $pFilename to $originalFilename."); + } + @unlink($pFilename); + } + } + + /** + * Create zip object + * + * @param string $pFilename + * @throws PHPExcel_Writer_Exception + * @return ZipArchive + */ + private function _createZip($pFilename) + { + // Create new ZIP file and open it for writing + $zipClass = PHPExcel_Settings::getZipClass(); + $objZip = new $zipClass(); + + // Retrieve OVERWRITE and CREATE constants from the instantiated zip class + // This method of accessing constant values from a dynamic class should work with all appropriate versions of PHP + $ro = new ReflectionObject($objZip); + $zipOverWrite = $ro->getConstant('OVERWRITE'); + $zipCreate = $ro->getConstant('CREATE'); + + if (file_exists($pFilename)) { + unlink($pFilename); + } + // Try opening the ZIP file + if ($objZip->open($pFilename, $zipOverWrite) !== true) { + if ($objZip->open($pFilename, $zipCreate) !== true) { + throw new PHPExcel_Writer_Exception("Could not open $pFilename for writing."); + } + } + + return $objZip; + } + + /** + * Get PHPExcel object + * + * @return PHPExcel + * @throws PHPExcel_Writer_Exception + */ + public function getPHPExcel() + { + if ($this->_spreadSheet !== null) { + return $this->_spreadSheet; + } else { + throw new PHPExcel_Writer_Exception('No PHPExcel assigned.'); + } + } + + /** + * Set PHPExcel object + * + * @param PHPExcel $pPHPExcel PHPExcel object + * @throws PHPExcel_Writer_Exception + * @return PHPExcel_Writer_Excel2007 + */ + public function setPHPExcel(PHPExcel $pPHPExcel = null) + { + $this->_spreadSheet = $pPHPExcel; + return $this; + } +} diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/OpenDocument/Cell/Comment.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/OpenDocument/Cell/Comment.php new file mode 100644 index 00000000..88406ed1 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/OpenDocument/Cell/Comment.php @@ -0,0 +1,63 @@ +<?php +/** + * PHPExcel + * + * Copyright (c) 2006 - 2014 PHPExcel + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * @category PHPExcel + * @package PHPExcel_Writer_OpenDocument + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @version ##VERSION##, ##DATE## + */ + + +/** + * PHPExcel_Writer_OpenDocument_Cell_Comment + * + * @category PHPExcel + * @package PHPExcel_Writer_OpenDocument + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @author Alexander Pervakov <frost-nzcr4@jagmort.com> + */ +class PHPExcel_Writer_OpenDocument_Cell_Comment +{ + public static function write(PHPExcel_Shared_XMLWriter $objWriter, PHPExcel_Cell $cell) + { + $comments = $cell->getWorksheet()->getComments(); + if (!isset($comments[$cell->getCoordinate()])) { + return; + } + $comment = $comments[$cell->getCoordinate()]; + + $objWriter->startElement('office:annotation'); + //$objWriter->writeAttribute('draw:style-name', 'gr1'); + //$objWriter->writeAttribute('draw:text-style-name', 'P1'); + $objWriter->writeAttribute('svg:width', $comment->getWidth()); + $objWriter->writeAttribute('svg:height', $comment->getHeight()); + $objWriter->writeAttribute('svg:x', $comment->getMarginLeft()); + $objWriter->writeAttribute('svg:y', $comment->getMarginTop()); + //$objWriter->writeAttribute('draw:caption-point-x', $comment->getMarginLeft()); + //$objWriter->writeAttribute('draw:caption-point-y', $comment->getMarginTop()); + $objWriter->writeElement('dc:creator', $comment->getAuthor()); + // TODO: Not realized in PHPExcel_Comment yet. + //$objWriter->writeElement('dc:date', $comment->getDate()); + $objWriter->writeElement('text:p', $comment->getText()->getPlainText()); + //$objWriter->writeAttribute('draw:text-style-name', 'P1'); + $objWriter->endElement(); + } +} diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/OpenDocument/Content.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/OpenDocument/Content.php new file mode 100644 index 00000000..625b3541 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/OpenDocument/Content.php @@ -0,0 +1,272 @@ +<?php +/** + * PHPExcel + * + * Copyright (c) 2006 - 2014 PHPExcel + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * @category PHPExcel + * @package PHPExcel_Writer_OpenDocument + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @version ##VERSION##, ##DATE## + */ + + +/** + * PHPExcel_Writer_OpenDocument_Content + * + * @category PHPExcel + * @package PHPExcel_Writer_OpenDocument + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @author Alexander Pervakov <frost-nzcr4@jagmort.com> + */ +class PHPExcel_Writer_OpenDocument_Content extends PHPExcel_Writer_OpenDocument_WriterPart +{ + const NUMBER_COLS_REPEATED_MAX = 1024; + const NUMBER_ROWS_REPEATED_MAX = 1048576; + + /** + * Write content.xml to XML format + * + * @param PHPExcel $pPHPExcel + * @return string XML Output + * @throws PHPExcel_Writer_Exception + */ + public function write(PHPExcel $pPHPExcel = null) + { + if (!$pPHPExcel) { + $pPHPExcel = $this->getParentWriter()->getPHPExcel(); /* @var $pPHPExcel PHPExcel */ + } + + $objWriter = null; + if ($this->getParentWriter()->getUseDiskCaching()) { + $objWriter = new PHPExcel_Shared_XMLWriter(PHPExcel_Shared_XMLWriter::STORAGE_DISK, $this->getParentWriter()->getDiskCachingDirectory()); + } else { + $objWriter = new PHPExcel_Shared_XMLWriter(PHPExcel_Shared_XMLWriter::STORAGE_MEMORY); + } + + // XML header + $objWriter->startDocument('1.0', 'UTF-8'); + + // Content + $objWriter->startElement('office:document-content'); + $objWriter->writeAttribute('xmlns:office', 'urn:oasis:names:tc:opendocument:xmlns:office:1.0'); + $objWriter->writeAttribute('xmlns:style', 'urn:oasis:names:tc:opendocument:xmlns:style:1.0'); + $objWriter->writeAttribute('xmlns:text', 'urn:oasis:names:tc:opendocument:xmlns:text:1.0'); + $objWriter->writeAttribute('xmlns:table', 'urn:oasis:names:tc:opendocument:xmlns:table:1.0'); + $objWriter->writeAttribute('xmlns:draw', 'urn:oasis:names:tc:opendocument:xmlns:drawing:1.0'); + $objWriter->writeAttribute('xmlns:fo', 'urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0'); + $objWriter->writeAttribute('xmlns:xlink', 'http://www.w3.org/1999/xlink'); + $objWriter->writeAttribute('xmlns:dc', 'http://purl.org/dc/elements/1.1/'); + $objWriter->writeAttribute('xmlns:meta', 'urn:oasis:names:tc:opendocument:xmlns:meta:1.0'); + $objWriter->writeAttribute('xmlns:number', 'urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0'); + $objWriter->writeAttribute('xmlns:presentation', 'urn:oasis:names:tc:opendocument:xmlns:presentation:1.0'); + $objWriter->writeAttribute('xmlns:svg', 'urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0'); + $objWriter->writeAttribute('xmlns:chart', 'urn:oasis:names:tc:opendocument:xmlns:chart:1.0'); + $objWriter->writeAttribute('xmlns:dr3d', 'urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0'); + $objWriter->writeAttribute('xmlns:math', 'http://www.w3.org/1998/Math/MathML'); + $objWriter->writeAttribute('xmlns:form', 'urn:oasis:names:tc:opendocument:xmlns:form:1.0'); + $objWriter->writeAttribute('xmlns:script', 'urn:oasis:names:tc:opendocument:xmlns:script:1.0'); + $objWriter->writeAttribute('xmlns:ooo', 'http://openoffice.org/2004/office'); + $objWriter->writeAttribute('xmlns:ooow', 'http://openoffice.org/2004/writer'); + $objWriter->writeAttribute('xmlns:oooc', 'http://openoffice.org/2004/calc'); + $objWriter->writeAttribute('xmlns:dom', 'http://www.w3.org/2001/xml-events'); + $objWriter->writeAttribute('xmlns:xforms', 'http://www.w3.org/2002/xforms'); + $objWriter->writeAttribute('xmlns:xsd', 'http://www.w3.org/2001/XMLSchema'); + $objWriter->writeAttribute('xmlns:xsi', 'http://www.w3.org/2001/XMLSchema-instance'); + $objWriter->writeAttribute('xmlns:rpt', 'http://openoffice.org/2005/report'); + $objWriter->writeAttribute('xmlns:of', 'urn:oasis:names:tc:opendocument:xmlns:of:1.2'); + $objWriter->writeAttribute('xmlns:xhtml', 'http://www.w3.org/1999/xhtml'); + $objWriter->writeAttribute('xmlns:grddl', 'http://www.w3.org/2003/g/data-view#'); + $objWriter->writeAttribute('xmlns:tableooo', 'http://openoffice.org/2009/table'); + $objWriter->writeAttribute('xmlns:field', 'urn:openoffice:names:experimental:ooo-ms-interop:xmlns:field:1.0'); + $objWriter->writeAttribute('xmlns:formx', 'urn:openoffice:names:experimental:ooxml-odf-interop:xmlns:form:1.0'); + $objWriter->writeAttribute('xmlns:css3t', 'http://www.w3.org/TR/css3-text/'); + $objWriter->writeAttribute('office:version', '1.2'); + + $objWriter->writeElement('office:scripts'); + $objWriter->writeElement('office:font-face-decls'); + $objWriter->writeElement('office:automatic-styles'); + + $objWriter->startElement('office:body'); + $objWriter->startElement('office:spreadsheet'); + $objWriter->writeElement('table:calculation-settings'); + $this->_writeSheets($objWriter); + $objWriter->writeElement('table:named-expressions'); + $objWriter->endElement(); + $objWriter->endElement(); + $objWriter->endElement(); + + return $objWriter->getData(); + } + + /** + * Write sheets + * + * @param PHPExcel_Shared_XMLWriter $objWriter + */ + private function _writeSheets(PHPExcel_Shared_XMLWriter $objWriter) + { + $pPHPExcel = $this->getParentWriter()->getPHPExcel(); /* @var $pPHPExcel PHPExcel */ + + $sheet_count = $pPHPExcel->getSheetCount(); + for ($i = 0; $i < $sheet_count; $i++) { + //$this->getWriterPart('Worksheet')->writeWorksheet()); + $objWriter->startElement('table:table'); + $objWriter->writeAttribute('table:name', $pPHPExcel->getSheet($i)->getTitle()); + $objWriter->writeElement('office:forms'); + $objWriter->startElement('table:table-column'); + $objWriter->writeAttribute('table:number-columns-repeated', self::NUMBER_COLS_REPEATED_MAX); + $objWriter->endElement(); + $this->_writeRows($objWriter, $pPHPExcel->getSheet($i)); + $objWriter->endElement(); + } + } + + /** + * Write rows of the specified sheet + * + * @param PHPExcel_Shared_XMLWriter $objWriter + * @param PHPExcel_Worksheet $sheet + */ + private function _writeRows(PHPExcel_Shared_XMLWriter $objWriter, PHPExcel_Worksheet $sheet) + { + $number_rows_repeated = self::NUMBER_ROWS_REPEATED_MAX; + $span_row = 0; + $rows = $sheet->getRowIterator(); + while ($rows->valid()) { + $number_rows_repeated--; + $row = $rows->current(); + if ($row->getCellIterator()->valid()) { + if ($span_row) { + $objWriter->startElement('table:table-row'); + if ($span_row > 1) { + $objWriter->writeAttribute('table:number-rows-repeated', $span_row); + } + $objWriter->startElement('table:table-cell'); + $objWriter->writeAttribute('table:number-columns-repeated', self::NUMBER_COLS_REPEATED_MAX); + $objWriter->endElement(); + $objWriter->endElement(); + $span_row = 0; + } + $objWriter->startElement('table:table-row'); + $this->_writeCells($objWriter, $row); + $objWriter->endElement(); + } else { + $span_row++; + } + $rows->next(); + } + } + + /** + * Write cells of the specified row + * + * @param PHPExcel_Shared_XMLWriter $objWriter + * @param PHPExcel_Worksheet_Row $row + * @throws PHPExcel_Writer_Exception + */ + private function _writeCells(PHPExcel_Shared_XMLWriter $objWriter, PHPExcel_Worksheet_Row $row) + { + $number_cols_repeated = self::NUMBER_COLS_REPEATED_MAX; + $prev_column = -1; + $cells = $row->getCellIterator(); + while ($cells->valid()) { + $cell = $cells->current(); + $column = PHPExcel_Cell::columnIndexFromString($cell->getColumn()) - 1; + + $this->_writeCellSpan($objWriter, $column, $prev_column); + $objWriter->startElement('table:table-cell'); + + switch ($cell->getDataType()) { + case PHPExcel_Cell_DataType::TYPE_BOOL: + $objWriter->writeAttribute('office:value-type', 'boolean'); + $objWriter->writeAttribute('office:value', $cell->getValue()); + $objWriter->writeElement('text:p', $cell->getValue()); + break; + + case PHPExcel_Cell_DataType::TYPE_ERROR: + throw new PHPExcel_Writer_Exception('Writing of error not implemented yet.'); + break; + + case PHPExcel_Cell_DataType::TYPE_FORMULA: + try { + $formula_value = $cell->getCalculatedValue(); + } catch (Exception $e) { + $formula_value = $cell->getValue(); + } + $objWriter->writeAttribute('table:formula', 'of:' . $cell->getValue()); + if (is_numeric($formula_value)) { + $objWriter->writeAttribute('office:value-type', 'float'); + } else { + $objWriter->writeAttribute('office:value-type', 'string'); + } + $objWriter->writeAttribute('office:value', $formula_value); + $objWriter->writeElement('text:p', $formula_value); + break; + + case PHPExcel_Cell_DataType::TYPE_INLINE: + throw new PHPExcel_Writer_Exception('Writing of inline not implemented yet.'); + break; + + case PHPExcel_Cell_DataType::TYPE_NUMERIC: + $objWriter->writeAttribute('office:value-type', 'float'); + $objWriter->writeAttribute('office:value', $cell->getValue()); + $objWriter->writeElement('text:p', $cell->getValue()); + break; + + case PHPExcel_Cell_DataType::TYPE_STRING: + $objWriter->writeAttribute('office:value-type', 'string'); + $objWriter->writeElement('text:p', $cell->getValue()); + break; + } + PHPExcel_Writer_OpenDocument_Cell_Comment::write($objWriter, $cell); + $objWriter->endElement(); + $prev_column = $column; + $cells->next(); + } + $number_cols_repeated = $number_cols_repeated - $prev_column - 1; + if ($number_cols_repeated > 0) { + if ($number_cols_repeated > 1) { + $objWriter->startElement('table:table-cell'); + $objWriter->writeAttribute('table:number-columns-repeated', $number_cols_repeated); + $objWriter->endElement(); + } else { + $objWriter->writeElement('table:table-cell'); + } + } + } + + /** + * Write span + * + * @param PHPExcel_Shared_XMLWriter $objWriter + * @param integer $curColumn + * @param integer $prevColumn + */ + private function _writeCellSpan(PHPExcel_Shared_XMLWriter $objWriter, $curColumn, $prevColumn) + { + $diff = $curColumn - $prevColumn - 1; + if (1 === $diff) { + $objWriter->writeElement('table:table-cell'); + } elseif ($diff > 1) { + $objWriter->startElement('table:table-cell'); + $objWriter->writeAttribute('table:number-columns-repeated', $diff); + $objWriter->endElement(); + } + } +} diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/OpenDocument/Meta.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/OpenDocument/Meta.php new file mode 100644 index 00000000..7f39e558 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/OpenDocument/Meta.php @@ -0,0 +1,98 @@ +<?php +/** + * PHPExcel + * + * Copyright (c) 2006 - 2014 PHPExcel + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * @category PHPExcel + * @package PHPExcel_Writer_OpenDocument + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @version ##VERSION##, ##DATE## + */ + + +/** + * PHPExcel_Writer_OpenDocument_Meta + * + * @category PHPExcel + * @package PHPExcel_Writer_OpenDocument + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @author Alexander Pervakov <frost-nzcr4@jagmort.com> + */ +class PHPExcel_Writer_OpenDocument_Meta extends PHPExcel_Writer_OpenDocument_WriterPart +{ + /** + * Write meta.xml to XML format + * + * @param PHPExcel $pPHPExcel + * @return string XML Output + * @throws PHPExcel_Writer_Exception + */ + public function write(PHPExcel $pPHPExcel = null) + { + if (!$pPHPExcel) { + $pPHPExcel = $this->getParentWriter()->getPHPExcel(); + } + + $objWriter = null; + if ($this->getParentWriter()->getUseDiskCaching()) { + $objWriter = new PHPExcel_Shared_XMLWriter(PHPExcel_Shared_XMLWriter::STORAGE_DISK, $this->getParentWriter()->getDiskCachingDirectory()); + } else { + $objWriter = new PHPExcel_Shared_XMLWriter(PHPExcel_Shared_XMLWriter::STORAGE_MEMORY); + } + + // XML header + $objWriter->startDocument('1.0', 'UTF-8'); + + // Meta + $objWriter->startElement('office:document-meta'); + $objWriter->writeAttribute('xmlns:office', 'urn:oasis:names:tc:opendocument:xmlns:office:1.0'); + $objWriter->writeAttribute('xmlns:xlink', 'http://www.w3.org/1999/xlink'); + $objWriter->writeAttribute('xmlns:dc', 'http://purl.org/dc/elements/1.1/'); + $objWriter->writeAttribute('xmlns:meta', 'urn:oasis:names:tc:opendocument:xmlns:meta:1.0'); + $objWriter->writeAttribute('xmlns:ooo', 'http://openoffice.org/2004/office'); + $objWriter->writeAttribute('xmlns:grddl', 'http://www.w3.org/2003/g/data-view#'); + $objWriter->writeAttribute('office:version', '1.2'); + + $objWriter->startElement('office:meta'); + $objWriter->writeElement('meta:initial-creator', $pPHPExcel->getProperties()->getCreator()); + $objWriter->writeElement('dc:creator', $pPHPExcel->getProperties()->getCreator()); + $objWriter->writeElement('meta:creation-date', date(DATE_W3C, $pPHPExcel->getProperties()->getCreated())); + $objWriter->writeElement('dc:date', date(DATE_W3C, $pPHPExcel->getProperties()->getCreated())); + $objWriter->writeElement('dc:title', $pPHPExcel->getProperties()->getTitle()); + $objWriter->writeElement('dc:description', $pPHPExcel->getProperties()->getDescription()); + $objWriter->writeElement('dc:subject', $pPHPExcel->getProperties()->getSubject()); + $keywords = explode(' ', $pPHPExcel->getProperties()->getKeywords()); + foreach ($keywords as $keyword) { + $objWriter->writeElement('meta:keyword', $keyword); + } + //<meta:document-statistic meta:table-count="XXX" meta:cell-count="XXX" meta:object-count="XXX"/> + $objWriter->startElement('meta:user-defined'); + $objWriter->writeAttribute('meta:name', 'Company'); + $objWriter->writeRaw($pPHPExcel->getProperties()->getCompany()); + $objWriter->endElement(); + $objWriter->startElement('meta:user-defined'); + $objWriter->writeAttribute('meta:name', 'category'); + $objWriter->writeRaw($pPHPExcel->getProperties()->getCategory()); + $objWriter->endElement(); + $objWriter->endElement(); + $objWriter->endElement(); + + return $objWriter->getData(); + } +} diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/OpenDocument/MetaInf.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/OpenDocument/MetaInf.php new file mode 100644 index 00000000..301d39db --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/OpenDocument/MetaInf.php @@ -0,0 +1,96 @@ +<?php +/** + * PHPExcel + * + * Copyright (c) 2006 - 2014 PHPExcel + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * @category PHPExcel + * @package PHPExcel_Writer_OpenDocument + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @version ##VERSION##, ##DATE## + */ + + +/** + * PHPExcel_Writer_OpenDocument_MetaInf + * + * @category PHPExcel + * @package PHPExcel_Writer_OpenDocument + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @author Alexander Pervakov <frost-nzcr4@jagmort.com> + */ +class PHPExcel_Writer_OpenDocument_MetaInf extends PHPExcel_Writer_OpenDocument_WriterPart +{ + /** + * Write META-INF/manifest.xml to XML format + * + * @param PHPExcel $pPHPExcel + * @return string XML Output + * @throws PHPExcel_Writer_Exception + */ + public function writeManifest(PHPExcel $pPHPExcel = null) + { + if (!$pPHPExcel) { + $pPHPExcel = $this->getParentWriter()->getPHPExcel(); + } + + $objWriter = null; + if ($this->getParentWriter()->getUseDiskCaching()) { + $objWriter = new PHPExcel_Shared_XMLWriter(PHPExcel_Shared_XMLWriter::STORAGE_DISK, $this->getParentWriter()->getDiskCachingDirectory()); + } else { + $objWriter = new PHPExcel_Shared_XMLWriter(PHPExcel_Shared_XMLWriter::STORAGE_MEMORY); + } + + // XML header + $objWriter->startDocument('1.0', 'UTF-8'); + + // Manifest + $objWriter->startElement('manifest:manifest'); + $objWriter->writeAttribute('xmlns:manifest', 'urn:oasis:names:tc:opendocument:xmlns:manifest:1.0'); + $objWriter->writeAttribute('manifest:version', '1.2'); + + $objWriter->startElement('manifest:file-entry'); + $objWriter->writeAttribute('manifest:full-path', '/'); + $objWriter->writeAttribute('manifest:version', '1.2'); + $objWriter->writeAttribute('manifest:media-type', 'application/vnd.oasis.opendocument.spreadsheet'); + $objWriter->endElement(); + $objWriter->startElement('manifest:file-entry'); + $objWriter->writeAttribute('manifest:full-path', 'meta.xml'); + $objWriter->writeAttribute('manifest:media-type', 'text/xml'); + $objWriter->endElement(); + $objWriter->startElement('manifest:file-entry'); + $objWriter->writeAttribute('manifest:full-path', 'settings.xml'); + $objWriter->writeAttribute('manifest:media-type', 'text/xml'); + $objWriter->endElement(); + $objWriter->startElement('manifest:file-entry'); + $objWriter->writeAttribute('manifest:full-path', 'content.xml'); + $objWriter->writeAttribute('manifest:media-type', 'text/xml'); + $objWriter->endElement(); + $objWriter->startElement('manifest:file-entry'); + $objWriter->writeAttribute('manifest:full-path', 'Thumbnails/thumbnail.png'); + $objWriter->writeAttribute('manifest:media-type', 'image/png'); + $objWriter->endElement(); + $objWriter->startElement('manifest:file-entry'); + $objWriter->writeAttribute('manifest:full-path', 'styles.xml'); + $objWriter->writeAttribute('manifest:media-type', 'text/xml'); + $objWriter->endElement(); + $objWriter->endElement(); + + return $objWriter->getData(); + } +} diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/OpenDocument/Mimetype.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/OpenDocument/Mimetype.php new file mode 100644 index 00000000..99ff638a --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/OpenDocument/Mimetype.php @@ -0,0 +1,50 @@ +<?php +/** + * PHPExcel + * + * Copyright (c) 2006 - 2014 PHPExcel + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * @category PHPExcel + * @package PHPExcel_Writer_OpenDocument + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @version ##VERSION##, ##DATE## + */ + + +/** + * PHPExcel_Writer_OpenDocument_Mimetype + * + * @category PHPExcel + * @package PHPExcel_Writer_OpenDocument + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @author Alexander Pervakov <frost-nzcr4@jagmort.com> + */ +class PHPExcel_Writer_OpenDocument_Mimetype extends PHPExcel_Writer_OpenDocument_WriterPart +{ + /** + * Write mimetype to plain text format + * + * @param PHPExcel $pPHPExcel + * @return string XML Output + * @throws PHPExcel_Writer_Exception + */ + public function write(PHPExcel $pPHPExcel = null) + { + return 'application/vnd.oasis.opendocument.spreadsheet'; + } +} diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/OpenDocument/Settings.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/OpenDocument/Settings.php new file mode 100644 index 00000000..557e748d --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/OpenDocument/Settings.php @@ -0,0 +1,85 @@ +<?php +/** + * PHPExcel + * + * Copyright (c) 2006 - 2014 PHPExcel + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * @category PHPExcel + * @package PHPExcel_Writer_OpenDocument + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @version ##VERSION##, ##DATE## + */ + + +/** + * PHPExcel_Writer_OpenDocument_Settings + * + * @category PHPExcel + * @package PHPExcel_Writer_OpenDocument + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @author Alexander Pervakov <frost-nzcr4@jagmort.com> + */ +class PHPExcel_Writer_OpenDocument_Settings extends PHPExcel_Writer_OpenDocument_WriterPart +{ + /** + * Write settings.xml to XML format + * + * @param PHPExcel $pPHPExcel + * @return string XML Output + * @throws PHPExcel_Writer_Exception + */ + public function write(PHPExcel $pPHPExcel = null) + { + if (!$pPHPExcel) { + $pPHPExcel = $this->getParentWriter()->getPHPExcel(); + } + + $objWriter = null; + if ($this->getParentWriter()->getUseDiskCaching()) { + $objWriter = new PHPExcel_Shared_XMLWriter(PHPExcel_Shared_XMLWriter::STORAGE_DISK, $this->getParentWriter()->getDiskCachingDirectory()); + } else { + $objWriter = new PHPExcel_Shared_XMLWriter(PHPExcel_Shared_XMLWriter::STORAGE_MEMORY); + } + + // XML header + $objWriter->startDocument('1.0', 'UTF-8'); + + // Settings + $objWriter->startElement('office:document-settings'); + $objWriter->writeAttribute('xmlns:office', 'urn:oasis:names:tc:opendocument:xmlns:office:1.0'); + $objWriter->writeAttribute('xmlns:xlink', 'http://www.w3.org/1999/xlink'); + $objWriter->writeAttribute('xmlns:config', 'urn:oasis:names:tc:opendocument:xmlns:config:1.0'); + $objWriter->writeAttribute('xmlns:ooo', 'http://openoffice.org/2004/office'); + $objWriter->writeAttribute('office:version', '1.2'); + + $objWriter->startElement('office:settings'); + $objWriter->startElement('config:config-item-set'); + $objWriter->writeAttribute('config:name', 'ooo:view-settings'); + $objWriter->startElement('config:config-item-map-indexed'); + $objWriter->writeAttribute('config:name', 'Views'); + $objWriter->endElement(); + $objWriter->endElement(); + $objWriter->startElement('config:config-item-set'); + $objWriter->writeAttribute('config:name', 'ooo:configuration-settings'); + $objWriter->endElement(); + $objWriter->endElement(); + $objWriter->endElement(); + + return $objWriter->getData(); + } +} diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/OpenDocument/Styles.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/OpenDocument/Styles.php new file mode 100644 index 00000000..d8867363 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/OpenDocument/Styles.php @@ -0,0 +1,101 @@ +<?php +/** + * PHPExcel + * + * Copyright (c) 2006 - 2014 PHPExcel + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * @category PHPExcel + * @package PHPExcel_Writer_OpenDocument + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @version ##VERSION##, ##DATE## + */ + + +/** + * PHPExcel_Writer_OpenDocument_Styles + * + * @category PHPExcel + * @package PHPExcel_Writer_OpenDocument + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @author Alexander Pervakov <frost-nzcr4@jagmort.com> + */ +class PHPExcel_Writer_OpenDocument_Styles extends PHPExcel_Writer_OpenDocument_WriterPart +{ + /** + * Write styles.xml to XML format + * + * @param PHPExcel $pPHPExcel + * @return string XML Output + * @throws PHPExcel_Writer_Exception + */ + public function write(PHPExcel $pPHPExcel = null) + { + if (!$pPHPExcel) { + $pPHPExcel = $this->getParentWriter()->getPHPExcel(); + } + + $objWriter = null; + if ($this->getParentWriter()->getUseDiskCaching()) { + $objWriter = new PHPExcel_Shared_XMLWriter(PHPExcel_Shared_XMLWriter::STORAGE_DISK, $this->getParentWriter()->getDiskCachingDirectory()); + } else { + $objWriter = new PHPExcel_Shared_XMLWriter(PHPExcel_Shared_XMLWriter::STORAGE_MEMORY); + } + + // XML header + $objWriter->startDocument('1.0', 'UTF-8'); + + // Content + $objWriter->startElement('office:document-styles'); + $objWriter->writeAttribute('xmlns:office', 'urn:oasis:names:tc:opendocument:xmlns:office:1.0'); + $objWriter->writeAttribute('xmlns:style', 'urn:oasis:names:tc:opendocument:xmlns:style:1.0'); + $objWriter->writeAttribute('xmlns:text', 'urn:oasis:names:tc:opendocument:xmlns:text:1.0'); + $objWriter->writeAttribute('xmlns:table', 'urn:oasis:names:tc:opendocument:xmlns:table:1.0'); + $objWriter->writeAttribute('xmlns:draw', 'urn:oasis:names:tc:opendocument:xmlns:drawing:1.0'); + $objWriter->writeAttribute('xmlns:fo', 'urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0'); + $objWriter->writeAttribute('xmlns:xlink', 'http://www.w3.org/1999/xlink'); + $objWriter->writeAttribute('xmlns:dc', 'http://purl.org/dc/elements/1.1/'); + $objWriter->writeAttribute('xmlns:meta', 'urn:oasis:names:tc:opendocument:xmlns:meta:1.0'); + $objWriter->writeAttribute('xmlns:number', 'urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0'); + $objWriter->writeAttribute('xmlns:presentation', 'urn:oasis:names:tc:opendocument:xmlns:presentation:1.0'); + $objWriter->writeAttribute('xmlns:svg', 'urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0'); + $objWriter->writeAttribute('xmlns:chart', 'urn:oasis:names:tc:opendocument:xmlns:chart:1.0'); + $objWriter->writeAttribute('xmlns:dr3d', 'urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0'); + $objWriter->writeAttribute('xmlns:math', 'http://www.w3.org/1998/Math/MathML'); + $objWriter->writeAttribute('xmlns:form', 'urn:oasis:names:tc:opendocument:xmlns:form:1.0'); + $objWriter->writeAttribute('xmlns:script', 'urn:oasis:names:tc:opendocument:xmlns:script:1.0'); + $objWriter->writeAttribute('xmlns:ooo', 'http://openoffice.org/2004/office'); + $objWriter->writeAttribute('xmlns:ooow', 'http://openoffice.org/2004/writer'); + $objWriter->writeAttribute('xmlns:oooc', 'http://openoffice.org/2004/calc'); + $objWriter->writeAttribute('xmlns:dom', 'http://www.w3.org/2001/xml-events'); + $objWriter->writeAttribute('xmlns:rpt', 'http://openoffice.org/2005/report'); + $objWriter->writeAttribute('xmlns:of', 'urn:oasis:names:tc:opendocument:xmlns:of:1.2'); + $objWriter->writeAttribute('xmlns:xhtml', 'http://www.w3.org/1999/xhtml'); + $objWriter->writeAttribute('xmlns:grddl', 'http://www.w3.org/2003/g/data-view#'); + $objWriter->writeAttribute('xmlns:tableooo', 'http://openoffice.org/2009/table'); + $objWriter->writeAttribute('xmlns:css3t', 'http://www.w3.org/TR/css3-text/'); + $objWriter->writeAttribute('office:version', '1.2'); + + $objWriter->writeElement('office:font-face-decls'); + $objWriter->writeElement('office:styles'); + $objWriter->writeElement('office:automatic-styles'); + $objWriter->writeElement('office:master-styles'); + $objWriter->endElement(); + + return $objWriter->getData(); + } +} diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/OpenDocument/Thumbnails.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/OpenDocument/Thumbnails.php new file mode 100644 index 00000000..a7e85c45 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/OpenDocument/Thumbnails.php @@ -0,0 +1,50 @@ +<?php +/** + * PHPExcel + * + * Copyright (c) 2006 - 2014 PHPExcel + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * @category PHPExcel + * @package PHPExcel_Writer_OpenDocument + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @version ##VERSION##, ##DATE## + */ + + +/** + * PHPExcel_Writer_OpenDocument_Thumbnails + * + * @category PHPExcel + * @package PHPExcel_Writer_OpenDocument + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @author Alexander Pervakov <frost-nzcr4@jagmort.com> + */ +class PHPExcel_Writer_OpenDocument_Thumbnails extends PHPExcel_Writer_OpenDocument_WriterPart +{ + /** + * Write Thumbnails/thumbnail.png to PNG format + * + * @param PHPExcel $pPHPExcel + * @return string XML Output + * @throws PHPExcel_Writer_Exception + */ + public function writeThumbnail(PHPExcel $pPHPExcel = null) + { + return ''; + } +} diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/OpenDocument/WriterPart.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/OpenDocument/WriterPart.php new file mode 100644 index 00000000..e6e713a1 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/OpenDocument/WriterPart.php @@ -0,0 +1,38 @@ +<?php +/** + * PHPExcel + * + * Copyright (c) 2006 - 2014 PHPExcel + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * @category PHPExcel + * @package PHPExcel_Writer_OpenDocument + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @version ##VERSION##, ##DATE## + */ + + +/** + * PHPExcel_Writer_OpenDocument_WriterPart + * + * @category PHPExcel + * @package PHPExcel_Writer_OpenDocument + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + */ +abstract class PHPExcel_Writer_OpenDocument_WriterPart extends PHPExcel_Writer_Excel2007_WriterPart +{ +} diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/PDF.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/PDF.php new file mode 100644 index 00000000..3131ee0a --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/PDF.php @@ -0,0 +1,97 @@ +<?php +/** + * PHPExcel + * + * Copyright (c) 2006 - 2014 PHPExcel + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * @category PHPExcel + * @package PHPExcel_Writer_PDF + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @version ##VERSION##, ##DATE## + */ + + +/** + * PHPExcel_Writer_PDF + * + * @category PHPExcel + * @package PHPExcel_Writer_PDF + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + */ +class PHPExcel_Writer_PDF implements PHPExcel_Writer_IWriter +{ + + /** + * The wrapper for the requested PDF rendering engine + * + * @var PHPExcel_Writer_PDF_Core + */ + private $_renderer = NULL; + + /** + * Instantiate a new renderer of the configured type within this container class + * + * @param PHPExcel $phpExcel PHPExcel object + * @throws PHPExcel_Writer_Exception when PDF library is not configured + */ + public function __construct(PHPExcel $phpExcel) + { + $pdfLibraryName = PHPExcel_Settings::getPdfRendererName(); + if (is_null($pdfLibraryName)) { + throw new PHPExcel_Writer_Exception("PDF Rendering library has not been defined."); + } + + $pdfLibraryPath = PHPExcel_Settings::getPdfRendererPath(); + if (is_null($pdfLibraryName)) { + throw new PHPExcel_Writer_Exception("PDF Rendering library path has not been defined."); + } + $includePath = str_replace('\\', '/', get_include_path()); + $rendererPath = str_replace('\\', '/', $pdfLibraryPath); + if (strpos($rendererPath, $includePath) === false) { + set_include_path(get_include_path() . PATH_SEPARATOR . $pdfLibraryPath); + } + + $rendererName = 'PHPExcel_Writer_PDF_' . $pdfLibraryName; + $this->_renderer = new $rendererName($phpExcel); + } + + + /** + * Magic method to handle direct calls to the configured PDF renderer wrapper class. + * + * @param string $name Renderer library method name + * @param mixed[] $arguments Array of arguments to pass to the renderer method + * @return mixed Returned data from the PDF renderer wrapper method + */ + public function __call($name, $arguments) + { + if ($this->_renderer === NULL) { + throw new PHPExcel_Writer_Exception("PDF Rendering library has not been defined."); + } + + return call_user_func_array(array($this->_renderer, $name), $arguments); + } + + /** + * {@inheritdoc} + */ + public function save($pFilename = null) + { + $this->_renderer->save($pFilename); + } +} diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/PDF/Core.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/PDF/Core.php new file mode 100644 index 00000000..3842334d --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/PDF/Core.php @@ -0,0 +1,364 @@ +<?php +/** + * PHPExcel + * + * Copyright (c) 2006 - 2014 PHPExcel + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * @category PHPExcel + * @package PHPExcel_Writer_PDF + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @version ##VERSION##, ##DATE## + */ + + +/** + * PHPExcel_Writer_PDF_Core + * + * @category PHPExcel + * @package PHPExcel_Writer_PDF + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + */ +abstract class PHPExcel_Writer_PDF_Core extends PHPExcel_Writer_HTML +{ + /** + * Temporary storage directory + * + * @var string + */ + protected $_tempDir = ''; + + /** + * Font + * + * @var string + */ + protected $_font = 'freesans'; + + /** + * Orientation (Over-ride) + * + * @var string + */ + protected $_orientation = NULL; + + /** + * Paper size (Over-ride) + * + * @var int + */ + protected $_paperSize = NULL; + + + /** + * Temporary storage for Save Array Return type + * + * @var string + */ + private $_saveArrayReturnType; + + /** + * Paper Sizes xRef List + * + * @var array + */ + protected static $_paperSizes = array( + PHPExcel_Worksheet_PageSetup::PAPERSIZE_LETTER + => 'LETTER', // (8.5 in. by 11 in.) + PHPExcel_Worksheet_PageSetup::PAPERSIZE_LETTER_SMALL + => 'LETTER', // (8.5 in. by 11 in.) + PHPExcel_Worksheet_PageSetup::PAPERSIZE_TABLOID + => array(792.00, 1224.00), // (11 in. by 17 in.) + PHPExcel_Worksheet_PageSetup::PAPERSIZE_LEDGER + => array(1224.00, 792.00), // (17 in. by 11 in.) + PHPExcel_Worksheet_PageSetup::PAPERSIZE_LEGAL + => 'LEGAL', // (8.5 in. by 14 in.) + PHPExcel_Worksheet_PageSetup::PAPERSIZE_STATEMENT + => array(396.00, 612.00), // (5.5 in. by 8.5 in.) + PHPExcel_Worksheet_PageSetup::PAPERSIZE_EXECUTIVE + => 'EXECUTIVE', // (7.25 in. by 10.5 in.) + PHPExcel_Worksheet_PageSetup::PAPERSIZE_A3 + => 'A3', // (297 mm by 420 mm) + PHPExcel_Worksheet_PageSetup::PAPERSIZE_A4 + => 'A4', // (210 mm by 297 mm) + PHPExcel_Worksheet_PageSetup::PAPERSIZE_A4_SMALL + => 'A4', // (210 mm by 297 mm) + PHPExcel_Worksheet_PageSetup::PAPERSIZE_A5 + => 'A5', // (148 mm by 210 mm) + PHPExcel_Worksheet_PageSetup::PAPERSIZE_B4 + => 'B4', // (250 mm by 353 mm) + PHPExcel_Worksheet_PageSetup::PAPERSIZE_B5 + => 'B5', // (176 mm by 250 mm) + PHPExcel_Worksheet_PageSetup::PAPERSIZE_FOLIO + => 'FOLIO', // (8.5 in. by 13 in.) + PHPExcel_Worksheet_PageSetup::PAPERSIZE_QUARTO + => array(609.45, 779.53), // (215 mm by 275 mm) + PHPExcel_Worksheet_PageSetup::PAPERSIZE_STANDARD_1 + => array(720.00, 1008.00), // (10 in. by 14 in.) + PHPExcel_Worksheet_PageSetup::PAPERSIZE_STANDARD_2 + => array(792.00, 1224.00), // (11 in. by 17 in.) + PHPExcel_Worksheet_PageSetup::PAPERSIZE_NOTE + => 'LETTER', // (8.5 in. by 11 in.) + PHPExcel_Worksheet_PageSetup::PAPERSIZE_NO9_ENVELOPE + => array(279.00, 639.00), // (3.875 in. by 8.875 in.) + PHPExcel_Worksheet_PageSetup::PAPERSIZE_NO10_ENVELOPE + => array(297.00, 684.00), // (4.125 in. by 9.5 in.) + PHPExcel_Worksheet_PageSetup::PAPERSIZE_NO11_ENVELOPE + => array(324.00, 747.00), // (4.5 in. by 10.375 in.) + PHPExcel_Worksheet_PageSetup::PAPERSIZE_NO12_ENVELOPE + => array(342.00, 792.00), // (4.75 in. by 11 in.) + PHPExcel_Worksheet_PageSetup::PAPERSIZE_NO14_ENVELOPE + => array(360.00, 828.00), // (5 in. by 11.5 in.) + PHPExcel_Worksheet_PageSetup::PAPERSIZE_C + => array(1224.00, 1584.00), // (17 in. by 22 in.) + PHPExcel_Worksheet_PageSetup::PAPERSIZE_D + => array(1584.00, 2448.00), // (22 in. by 34 in.) + PHPExcel_Worksheet_PageSetup::PAPERSIZE_E + => array(2448.00, 3168.00), // (34 in. by 44 in.) + PHPExcel_Worksheet_PageSetup::PAPERSIZE_DL_ENVELOPE + => array(311.81, 623.62), // (110 mm by 220 mm) + PHPExcel_Worksheet_PageSetup::PAPERSIZE_C5_ENVELOPE + => 'C5', // (162 mm by 229 mm) + PHPExcel_Worksheet_PageSetup::PAPERSIZE_C3_ENVELOPE + => 'C3', // (324 mm by 458 mm) + PHPExcel_Worksheet_PageSetup::PAPERSIZE_C4_ENVELOPE + => 'C4', // (229 mm by 324 mm) + PHPExcel_Worksheet_PageSetup::PAPERSIZE_C6_ENVELOPE + => 'C6', // (114 mm by 162 mm) + PHPExcel_Worksheet_PageSetup::PAPERSIZE_C65_ENVELOPE + => array(323.15, 649.13), // (114 mm by 229 mm) + PHPExcel_Worksheet_PageSetup::PAPERSIZE_B4_ENVELOPE + => 'B4', // (250 mm by 353 mm) + PHPExcel_Worksheet_PageSetup::PAPERSIZE_B5_ENVELOPE + => 'B5', // (176 mm by 250 mm) + PHPExcel_Worksheet_PageSetup::PAPERSIZE_B6_ENVELOPE + => array(498.90, 354.33), // (176 mm by 125 mm) + PHPExcel_Worksheet_PageSetup::PAPERSIZE_ITALY_ENVELOPE + => array(311.81, 651.97), // (110 mm by 230 mm) + PHPExcel_Worksheet_PageSetup::PAPERSIZE_MONARCH_ENVELOPE + => array(279.00, 540.00), // (3.875 in. by 7.5 in.) + PHPExcel_Worksheet_PageSetup::PAPERSIZE_6_3_4_ENVELOPE + => array(261.00, 468.00), // (3.625 in. by 6.5 in.) + PHPExcel_Worksheet_PageSetup::PAPERSIZE_US_STANDARD_FANFOLD + => array(1071.00, 792.00), // (14.875 in. by 11 in.) + PHPExcel_Worksheet_PageSetup::PAPERSIZE_GERMAN_STANDARD_FANFOLD + => array(612.00, 864.00), // (8.5 in. by 12 in.) + PHPExcel_Worksheet_PageSetup::PAPERSIZE_GERMAN_LEGAL_FANFOLD + => 'FOLIO', // (8.5 in. by 13 in.) + PHPExcel_Worksheet_PageSetup::PAPERSIZE_ISO_B4 + => 'B4', // (250 mm by 353 mm) + PHPExcel_Worksheet_PageSetup::PAPERSIZE_JAPANESE_DOUBLE_POSTCARD + => array(566.93, 419.53), // (200 mm by 148 mm) + PHPExcel_Worksheet_PageSetup::PAPERSIZE_STANDARD_PAPER_1 + => array(648.00, 792.00), // (9 in. by 11 in.) + PHPExcel_Worksheet_PageSetup::PAPERSIZE_STANDARD_PAPER_2 + => array(720.00, 792.00), // (10 in. by 11 in.) + PHPExcel_Worksheet_PageSetup::PAPERSIZE_STANDARD_PAPER_3 + => array(1080.00, 792.00), // (15 in. by 11 in.) + PHPExcel_Worksheet_PageSetup::PAPERSIZE_INVITE_ENVELOPE + => array(623.62, 623.62), // (220 mm by 220 mm) + PHPExcel_Worksheet_PageSetup::PAPERSIZE_LETTER_EXTRA_PAPER + => array(667.80, 864.00), // (9.275 in. by 12 in.) + PHPExcel_Worksheet_PageSetup::PAPERSIZE_LEGAL_EXTRA_PAPER + => array(667.80, 1080.00), // (9.275 in. by 15 in.) + PHPExcel_Worksheet_PageSetup::PAPERSIZE_TABLOID_EXTRA_PAPER + => array(841.68, 1296.00), // (11.69 in. by 18 in.) + PHPExcel_Worksheet_PageSetup::PAPERSIZE_A4_EXTRA_PAPER + => array(668.98, 912.76), // (236 mm by 322 mm) + PHPExcel_Worksheet_PageSetup::PAPERSIZE_LETTER_TRANSVERSE_PAPER + => array(595.80, 792.00), // (8.275 in. by 11 in.) + PHPExcel_Worksheet_PageSetup::PAPERSIZE_A4_TRANSVERSE_PAPER + => 'A4', // (210 mm by 297 mm) + PHPExcel_Worksheet_PageSetup::PAPERSIZE_LETTER_EXTRA_TRANSVERSE_PAPER + => array(667.80, 864.00), // (9.275 in. by 12 in.) + PHPExcel_Worksheet_PageSetup::PAPERSIZE_SUPERA_SUPERA_A4_PAPER + => array(643.46, 1009.13), // (227 mm by 356 mm) + PHPExcel_Worksheet_PageSetup::PAPERSIZE_SUPERB_SUPERB_A3_PAPER + => array(864.57, 1380.47), // (305 mm by 487 mm) + PHPExcel_Worksheet_PageSetup::PAPERSIZE_LETTER_PLUS_PAPER + => array(612.00, 913.68), // (8.5 in. by 12.69 in.) + PHPExcel_Worksheet_PageSetup::PAPERSIZE_A4_PLUS_PAPER + => array(595.28, 935.43), // (210 mm by 330 mm) + PHPExcel_Worksheet_PageSetup::PAPERSIZE_A5_TRANSVERSE_PAPER + => 'A5', // (148 mm by 210 mm) + PHPExcel_Worksheet_PageSetup::PAPERSIZE_JIS_B5_TRANSVERSE_PAPER + => array(515.91, 728.50), // (182 mm by 257 mm) + PHPExcel_Worksheet_PageSetup::PAPERSIZE_A3_EXTRA_PAPER + => array(912.76, 1261.42), // (322 mm by 445 mm) + PHPExcel_Worksheet_PageSetup::PAPERSIZE_A5_EXTRA_PAPER + => array(493.23, 666.14), // (174 mm by 235 mm) + PHPExcel_Worksheet_PageSetup::PAPERSIZE_ISO_B5_EXTRA_PAPER + => array(569.76, 782.36), // (201 mm by 276 mm) + PHPExcel_Worksheet_PageSetup::PAPERSIZE_A2_PAPER + => 'A2', // (420 mm by 594 mm) + PHPExcel_Worksheet_PageSetup::PAPERSIZE_A3_TRANSVERSE_PAPER + => 'A3', // (297 mm by 420 mm) + PHPExcel_Worksheet_PageSetup::PAPERSIZE_A3_EXTRA_TRANSVERSE_PAPER + => array(912.76, 1261.42) // (322 mm by 445 mm) + ); + + /** + * Create a new PHPExcel_Writer_PDF + * + * @param PHPExcel $phpExcel PHPExcel object + */ + public function __construct(PHPExcel $phpExcel) + { + parent::__construct($phpExcel); + $this->setUseInlineCss(TRUE); + $this->_tempDir = PHPExcel_Shared_File::sys_get_temp_dir(); + } + + /** + * Get Font + * + * @return string + */ + public function getFont() + { + return $this->_font; + } + + /** + * Set font. Examples: + * 'arialunicid0-chinese-simplified' + * 'arialunicid0-chinese-traditional' + * 'arialunicid0-korean' + * 'arialunicid0-japanese' + * + * @param string $fontName + */ + public function setFont($fontName) + { + $this->_font = $fontName; + return $this; + } + + /** + * Get Paper Size + * + * @return int + */ + public function getPaperSize() + { + return $this->_paperSize; + } + + /** + * Set Paper Size + * + * @param string $pValue Paper size + * @return PHPExcel_Writer_PDF + */ + public function setPaperSize($pValue = PHPExcel_Worksheet_PageSetup::PAPERSIZE_LETTER) + { + $this->_paperSize = $pValue; + return $this; + } + + /** + * Get Orientation + * + * @return string + */ + public function getOrientation() + { + return $this->_orientation; + } + + /** + * Set Orientation + * + * @param string $pValue Page orientation + * @return PHPExcel_Writer_PDF + */ + public function setOrientation($pValue = PHPExcel_Worksheet_PageSetup::ORIENTATION_DEFAULT) + { + $this->_orientation = $pValue; + return $this; + } + + /** + * Get temporary storage directory + * + * @return string + */ + public function getTempDir() + { + return $this->_tempDir; + } + + /** + * Set temporary storage directory + * + * @param string $pValue Temporary storage directory + * @throws PHPExcel_Writer_Exception when directory does not exist + * @return PHPExcel_Writer_PDF + */ + public function setTempDir($pValue = '') + { + if (is_dir($pValue)) { + $this->_tempDir = $pValue; + } else { + throw new PHPExcel_Writer_Exception("Directory does not exist: $pValue"); + } + return $this; + } + + /** + * Save PHPExcel to PDF file, pre-save + * + * @param string $pFilename Name of the file to save as + * @throws PHPExcel_Writer_Exception + */ + protected function prepareForSave($pFilename = NULL) + { + // garbage collect + $this->_phpExcel->garbageCollect(); + + $this->_saveArrayReturnType = PHPExcel_Calculation::getArrayReturnType(); + PHPExcel_Calculation::setArrayReturnType(PHPExcel_Calculation::RETURN_ARRAY_AS_VALUE); + + // Open file + $fileHandle = fopen($pFilename, 'w'); + if ($fileHandle === FALSE) { + throw new PHPExcel_Writer_Exception("Could not open file $pFilename for writing."); + } + + // Set PDF + $this->_isPdf = TRUE; + // Build CSS + $this->buildCSS(TRUE); + + return $fileHandle; + } + + /** + * Save PHPExcel to PDF file, post-save + * + * @param resource $fileHandle + * @throws PHPExcel_Writer_Exception + */ + protected function restoreStateAfterSave($fileHandle) + { + // Close file + fclose($fileHandle); + + PHPExcel_Calculation::setArrayReturnType($this->_saveArrayReturnType); + } + +} diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/PDF/DomPDF.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/PDF/DomPDF.php new file mode 100644 index 00000000..01e4e012 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/PDF/DomPDF.php @@ -0,0 +1,122 @@ +<?php +/** + * PHPExcel + * + * Copyright (c) 2006 - 2014 PHPExcel + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * @category PHPExcel + * @package PHPExcel_Writer_PDF + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @version ##VERSION##, ##DATE## + */ + + +/** Require DomPDF library */ +$pdfRendererClassFile = PHPExcel_Settings::getPdfRendererPath() . '/dompdf_config.inc.php'; +if (file_exists($pdfRendererClassFile)) { + require_once $pdfRendererClassFile; +} else { + throw new PHPExcel_Writer_Exception('Unable to load PDF Rendering library'); +} + +/** + * PHPExcel_Writer_PDF_DomPDF + * + * @category PHPExcel + * @package PHPExcel_Writer_PDF + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + */ +class PHPExcel_Writer_PDF_DomPDF extends PHPExcel_Writer_PDF_Core implements PHPExcel_Writer_IWriter +{ + /** + * Create a new PHPExcel_Writer_PDF + * + * @param PHPExcel $phpExcel PHPExcel object + */ + public function __construct(PHPExcel $phpExcel) + { + parent::__construct($phpExcel); + } + + /** + * Save PHPExcel to file + * + * @param string $pFilename Name of the file to save as + * @throws PHPExcel_Writer_Exception + */ + public function save($pFilename = NULL) + { + $fileHandle = parent::prepareForSave($pFilename); + + // Default PDF paper size + $paperSize = 'LETTER'; // Letter (8.5 in. by 11 in.) + + // Check for paper size and page orientation + if (is_null($this->getSheetIndex())) { + $orientation = ($this->_phpExcel->getSheet(0)->getPageSetup()->getOrientation() + == PHPExcel_Worksheet_PageSetup::ORIENTATION_LANDSCAPE) + ? 'L' + : 'P'; + $printPaperSize = $this->_phpExcel->getSheet(0)->getPageSetup()->getPaperSize(); + $printMargins = $this->_phpExcel->getSheet(0)->getPageMargins(); + } else { + $orientation = ($this->_phpExcel->getSheet($this->getSheetIndex())->getPageSetup()->getOrientation() + == PHPExcel_Worksheet_PageSetup::ORIENTATION_LANDSCAPE) + ? 'L' + : 'P'; + $printPaperSize = $this->_phpExcel->getSheet($this->getSheetIndex())->getPageSetup()->getPaperSize(); + $printMargins = $this->_phpExcel->getSheet($this->getSheetIndex())->getPageMargins(); + } + + + $orientation = ($orientation == 'L') ? 'landscape' : 'portrait'; + + // Override Page Orientation + if (!is_null($this->getOrientation())) { + $orientation = ($this->getOrientation() == PHPExcel_Worksheet_PageSetup::ORIENTATION_DEFAULT) + ? PHPExcel_Worksheet_PageSetup::ORIENTATION_PORTRAIT + : $this->getOrientation(); + } + // Override Paper Size + if (!is_null($this->getPaperSize())) { + $printPaperSize = $this->getPaperSize(); + } + + if (isset(self::$_paperSizes[$printPaperSize])) { + $paperSize = self::$_paperSizes[$printPaperSize]; + } + + + // Create PDF + $pdf = new DOMPDF(); + $pdf->set_paper(strtolower($paperSize), $orientation); + + $pdf->load_html( + $this->generateHTMLHeader(FALSE) . + $this->generateSheetData() . + $this->generateHTMLFooter() + ); + $pdf->render(); + + // Write to file + fwrite($fileHandle, $pdf->output()); + + parent::restoreStateAfterSave($fileHandle); + } + +} diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/PDF/mPDF.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/PDF/mPDF.php new file mode 100644 index 00000000..dddc097d --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/PDF/mPDF.php @@ -0,0 +1,130 @@ +<?php +/** + * PHPExcel + * + * Copyright (c) 2006 - 2014 PHPExcel + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * @category PHPExcel + * @package PHPExcel_Writer_PDF + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @version ##VERSION##, ##DATE## + */ + + +/** Require mPDF library */ +$pdfRendererClassFile = PHPExcel_Settings::getPdfRendererPath() . '/mpdf.php'; +if (file_exists($pdfRendererClassFile)) { + require_once $pdfRendererClassFile; +} else { + throw new PHPExcel_Writer_Exception('Unable to load PDF Rendering library'); +} + +/** + * PHPExcel_Writer_PDF_mPDF + * + * @category PHPExcel + * @package PHPExcel_Writer_PDF + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + */ +class PHPExcel_Writer_PDF_mPDF extends PHPExcel_Writer_PDF_Core implements PHPExcel_Writer_IWriter +{ + /** + * Create a new PHPExcel_Writer_PDF + * + * @param PHPExcel $phpExcel PHPExcel object + */ + public function __construct(PHPExcel $phpExcel) + { + parent::__construct($phpExcel); + } + + /** + * Save PHPExcel to file + * + * @param string $pFilename Name of the file to save as + * @throws PHPExcel_Writer_Exception + */ + public function save($pFilename = NULL) + { + $fileHandle = parent::prepareForSave($pFilename); + + // Default PDF paper size + $paperSize = 'LETTER'; // Letter (8.5 in. by 11 in.) + + // Check for paper size and page orientation + if (is_null($this->getSheetIndex())) { + $orientation = ($this->_phpExcel->getSheet(0)->getPageSetup()->getOrientation() + == PHPExcel_Worksheet_PageSetup::ORIENTATION_LANDSCAPE) + ? 'L' + : 'P'; + $printPaperSize = $this->_phpExcel->getSheet(0)->getPageSetup()->getPaperSize(); + $printMargins = $this->_phpExcel->getSheet(0)->getPageMargins(); + } else { + $orientation = ($this->_phpExcel->getSheet($this->getSheetIndex())->getPageSetup()->getOrientation() + == PHPExcel_Worksheet_PageSetup::ORIENTATION_LANDSCAPE) + ? 'L' + : 'P'; + $printPaperSize = $this->_phpExcel->getSheet($this->getSheetIndex())->getPageSetup()->getPaperSize(); + $printMargins = $this->_phpExcel->getSheet($this->getSheetIndex())->getPageMargins(); + } + $this->setOrientation($orientation); + + // Override Page Orientation + if (!is_null($this->getOrientation())) { + $orientation = ($this->getOrientation() == PHPExcel_Worksheet_PageSetup::ORIENTATION_DEFAULT) + ? PHPExcel_Worksheet_PageSetup::ORIENTATION_PORTRAIT + : $this->getOrientation(); + } + $orientation = strtoupper($orientation); + + // Override Paper Size + if (!is_null($this->getPaperSize())) { + $printPaperSize = $this->getPaperSize(); + } + + if (isset(self::$_paperSizes[$printPaperSize])) { + $paperSize = self::$_paperSizes[$printPaperSize]; + } + + // Create PDF + $pdf = new mpdf(); + $ortmp = $orientation; + $pdf->_setPageSize(strtoupper($paperSize), $ortmp); + $pdf->DefOrientation = $orientation; + $pdf->AddPage($orientation); + + // Document info + $pdf->SetTitle($this->_phpExcel->getProperties()->getTitle()); + $pdf->SetAuthor($this->_phpExcel->getProperties()->getCreator()); + $pdf->SetSubject($this->_phpExcel->getProperties()->getSubject()); + $pdf->SetKeywords($this->_phpExcel->getProperties()->getKeywords()); + $pdf->SetCreator($this->_phpExcel->getProperties()->getCreator()); + + $pdf->WriteHTML( + $this->generateHTMLHeader(FALSE) . + $this->generateSheetData() . + $this->generateHTMLFooter() + ); + + // Write to file + fwrite($fileHandle, $pdf->Output('', 'S')); + + parent::restoreStateAfterSave($fileHandle); + } + +} diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/PDF/tcPDF.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/PDF/tcPDF.php new file mode 100644 index 00000000..4e1937af --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/PDF/tcPDF.php @@ -0,0 +1,136 @@ +<?php +/** + * PHPExcel + * + * Copyright (c) 2006 - 2014 PHPExcel + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * @category PHPExcel + * @package PHPExcel_Writer_PDF + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @version ##VERSION##, ##DATE## + */ + + +/** Require tcPDF library */ +$pdfRendererClassFile = PHPExcel_Settings::getPdfRendererPath() . '/tcpdf.php'; +if (file_exists($pdfRendererClassFile)) { + $k_path_url = PHPExcel_Settings::getPdfRendererPath(); + require_once $pdfRendererClassFile; +} else { + throw new PHPExcel_Writer_Exception('Unable to load PDF Rendering library'); +} + +/** + * PHPExcel_Writer_PDF_tcPDF + * + * @category PHPExcel + * @package PHPExcel_Writer_PDF + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + */ +class PHPExcel_Writer_PDF_tcPDF extends PHPExcel_Writer_PDF_Core implements PHPExcel_Writer_IWriter +{ + /** + * Create a new PHPExcel_Writer_PDF + * + * @param PHPExcel $phpExcel PHPExcel object + */ + public function __construct(PHPExcel $phpExcel) + { + parent::__construct($phpExcel); + } + + /** + * Save PHPExcel to file + * + * @param string $pFilename Name of the file to save as + * @throws PHPExcel_Writer_Exception + */ + public function save($pFilename = NULL) + { + $fileHandle = parent::prepareForSave($pFilename); + + // Default PDF paper size + $paperSize = 'LETTER'; // Letter (8.5 in. by 11 in.) + + // Check for paper size and page orientation + if (is_null($this->getSheetIndex())) { + $orientation = ($this->_phpExcel->getSheet(0)->getPageSetup()->getOrientation() + == PHPExcel_Worksheet_PageSetup::ORIENTATION_LANDSCAPE) + ? 'L' + : 'P'; + $printPaperSize = $this->_phpExcel->getSheet(0)->getPageSetup()->getPaperSize(); + $printMargins = $this->_phpExcel->getSheet(0)->getPageMargins(); + } else { + $orientation = ($this->_phpExcel->getSheet($this->getSheetIndex())->getPageSetup()->getOrientation() + == PHPExcel_Worksheet_PageSetup::ORIENTATION_LANDSCAPE) + ? 'L' + : 'P'; + $printPaperSize = $this->_phpExcel->getSheet($this->getSheetIndex())->getPageSetup()->getPaperSize(); + $printMargins = $this->_phpExcel->getSheet($this->getSheetIndex())->getPageMargins(); + } + + // Override Page Orientation + if (!is_null($this->getOrientation())) { + $orientation = ($this->getOrientation() == PHPExcel_Worksheet_PageSetup::ORIENTATION_LANDSCAPE) + ? 'L' + : 'P'; + } + // Override Paper Size + if (!is_null($this->getPaperSize())) { + $printPaperSize = $this->getPaperSize(); + } + + if (isset(self::$_paperSizes[$printPaperSize])) { + $paperSize = self::$_paperSizes[$printPaperSize]; + } + + + // Create PDF + $pdf = new TCPDF($orientation, 'pt', $paperSize); + $pdf->setFontSubsetting(FALSE); + // Set margins, converting inches to points (using 72 dpi) + $pdf->SetMargins($printMargins->getLeft() * 72, $printMargins->getTop() * 72, $printMargins->getRight() * 72); + $pdf->SetAutoPageBreak(TRUE, $printMargins->getBottom() * 72); + + $pdf->setPrintHeader(FALSE); + $pdf->setPrintFooter(FALSE); + + $pdf->AddPage(); + + // Set the appropriate font + $pdf->SetFont($this->getFont()); + $pdf->writeHTML( + $this->generateHTMLHeader(FALSE) . + $this->generateSheetData() . + $this->generateHTMLFooter() + ); + + // Document info + $pdf->SetTitle($this->_phpExcel->getProperties()->getTitle()); + $pdf->SetAuthor($this->_phpExcel->getProperties()->getCreator()); + $pdf->SetSubject($this->_phpExcel->getProperties()->getSubject()); + $pdf->SetKeywords($this->_phpExcel->getProperties()->getKeywords()); + $pdf->SetCreator($this->_phpExcel->getProperties()->getCreator()); + + // Write to file + fwrite($fileHandle, $pdf->output($pFilename, 'S')); + + parent::restoreStateAfterSave($fileHandle); + } + +} diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/locale/bg/config b/vendor/phpoffice/phpexcel/Classes/PHPExcel/locale/bg/config new file mode 100644 index 00000000..4cecddb3 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/locale/bg/config @@ -0,0 +1,49 @@ +## +## PHPExcel +## + +## Copyright (c) 2006 - 2013 PHPExcel +## +## This library is free software; you can redistribute it and/or +## modify it under the terms of the GNU Lesser General Public +## License as published by the Free Software Foundation; either +## version 2.1 of the License, or (at your option) any later version. +## +## This library is distributed in the hope that it will be useful, +## but WITHOUT ANY WARRANTY; without even the implied warranty of +## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +## Lesser General Public License for more details. +## +## You should have received a copy of the GNU Lesser General Public +## License along with this library; if not, write to the Free Software +## Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +## +## @category PHPExcel +## @package PHPExcel_Settings +## @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel) +## @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL +## @version ##VERSION##, ##DATE## +## +## + + +ArgumentSeparator = ; + + +## +## (For future use) +## +currencySymbol = лв + + +## +## Excel Error Codes (For future use) + +## +NULL = #ПРАЗНО! +DIV0 = #ДЕЛ/0! +VALUE = #СТОЙНОСТ! +REF = #РЕФ! +NAME = #ИМЕ? +NUM = #ЧИСЛО! +NA = #Н/Д diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/locale/cs/config b/vendor/phpoffice/phpexcel/Classes/PHPExcel/locale/cs/config new file mode 100644 index 00000000..42cdf326 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/locale/cs/config @@ -0,0 +1,47 @@ +## +## PHPExcel +## +## Copyright (c) 2006 - 2013 PHPExcel +## +## This library is free software; you can redistribute it and/or +## modify it under the terms of the GNU Lesser General Public +## License as published by the Free Software Foundation; either +## version 2.1 of the License, or (at your option) any later version. +## +## This library is distributed in the hope that it will be useful, +## but WITHOUT ANY WARRANTY; without even the implied warranty of +## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +## Lesser General Public License for more details. +## +## You should have received a copy of the GNU Lesser General Public +## License along with this library; if not, write to the Free Software +## Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +## +## @category PHPExcel +## @package PHPExcel_Settings +## @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel) +## @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL +## @version ##VERSION##, ##DATE## +## +## + + +ArgumentSeparator = ; + + +## +## (For future use) +## +currencySymbol = Kč + + +## +## Excel Error Codes (For future use) +## +NULL = #NULL! +DIV0 = #DIV/0! +VALUE = #HODNOTA! +REF = #REF! +NAME = #NÁZEV? +NUM = #NUM! +NA = #N/A diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/locale/cs/functions b/vendor/phpoffice/phpexcel/Classes/PHPExcel/locale/cs/functions new file mode 100644 index 00000000..c0a3cbbf --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/locale/cs/functions @@ -0,0 +1,438 @@ +## +## PHPExcel +## +## Copyright (c) 2006 - 2013 PHPExcel +## +## This library is free software; you can redistribute it and/or +## modify it under the terms of the GNU Lesser General Public +## License as published by the Free Software Foundation; either +## version 2.1 of the License, or (at your option) any later version. +## +## This library is distributed in the hope that it will be useful, +## but WITHOUT ANY WARRANTY; without even the implied warranty of +## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +## Lesser General Public License for more details. +## +## You should have received a copy of the GNU Lesser General Public +## License along with this library; if not, write to the Free Software +## Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +## +## @category PHPExcel +## @package PHPExcel_Calculation +## @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel) +## @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL +## @version ##VERSION##, ##DATE## +## +## Data in this file derived from http://www.piuha.fi/excel-function-name-translation/ +## +## + + +## +## Add-in and Automation functions Funkce doplňků a automatizace +## +GETPIVOTDATA = ZÍSKATKONTDATA ## Vrátí data uložená v kontingenční tabulce. Pomocí funkce ZÍSKATKONTDATA můžete načíst souhrnná data z kontingenční tabulky, pokud jsou tato data v kontingenční sestavě zobrazena. + + +## +## Cube functions Funkce pro práci s krychlemi +## +CUBEKPIMEMBER = CUBEKPIMEMBER ## Vrátí název, vlastnost a velikost klíčového ukazatele výkonu (KUV) a zobrazí v buňce název a vlastnost. Klíčový ukazatel výkonu je kvantifikovatelná veličina, například hrubý měsíční zisk nebo čtvrtletní obrat na zaměstnance, která se používá pro sledování výkonnosti organizace. +CUBEMEMBER = CUBEMEMBER ## Vrátí člen nebo n-tici v hierarchii krychle. Slouží k ověření, zda v krychli existuje člen nebo n-tice. +CUBEMEMBERPROPERTY = CUBEMEMBERPROPERTY ## Vrátí hodnotu vlastnosti člena v krychli. Slouží k ověření, zda v krychli existuje člen s daným názvem, a k vrácení konkrétní vlastnosti tohoto člena. +CUBERANKEDMEMBER = CUBERANKEDMEMBER ## Vrátí n-tý nebo pořadový člen sady. Použijte ji pro vrácení jednoho nebo více prvků sady, například obchodníka s nejvyšším obratem nebo deseti nejlepších studentů. +CUBESET = CUBESET ## Definuje vypočtenou sadu členů nebo n-tic odesláním výrazu sady do krychle na serveru, který vytvoří sadu a potom ji vrátí do aplikace Microsoft Office Excel. +CUBESETCOUNT = CUBESETCOUNT ## Vrátí počet položek v množině +CUBEVALUE = CUBEVALUE ## Vrátí úhrnnou hodnotu z krychle. + + +## +## Database functions Funkce databáze +## +DAVERAGE = DPRŮMĚR ## Vrátí průměr vybraných položek databáze. +DCOUNT = DPOČET ## Spočítá buňky databáze obsahující čísla. +DCOUNTA = DPOČET2 ## Spočítá buňky databáze, které nejsou prázdné. +DGET = DZÍSKAT ## Extrahuje z databáze jeden záznam splňující zadaná kritéria. +DMAX = DMAX ## Vrátí maximální hodnotu z vybraných položek databáze. +DMIN = DMIN ## Vrátí minimální hodnotu z vybraných položek databáze. +DPRODUCT = DSOUČIN ## Vynásobí hodnoty určitého pole záznamů v databázi, které splňují daná kritéria. +DSTDEV = DSMODCH.VÝBĚR ## Odhadne směrodatnou odchylku výběru vybraných položek databáze. +DSTDEVP = DSMODCH ## Vypočte směrodatnou odchylku základního souboru vybraných položek databáze. +DSUM = DSUMA ## Sečte čísla ve sloupcovém poli záznamů databáze, která splňují daná kritéria. +DVAR = DVAR.VÝBĚR ## Odhadne rozptyl výběru vybraných položek databáze. +DVARP = DVAR ## Vypočte rozptyl základního souboru vybraných položek databáze. + + +## +## Date and time functions Funkce data a času +## +DATE = DATUM ## Vrátí pořadové číslo určitého data. +DATEVALUE = DATUMHODN ## Převede datum ve formě textu na pořadové číslo. +DAY = DEN ## Převede pořadové číslo na den v měsíci. +DAYS360 = ROK360 ## Vrátí počet dní mezi dvěma daty na základě roku s 360 dny. +EDATE = EDATE ## Vrátí pořadové číslo data, které označuje určený počet měsíců před nebo po počátečním datu. +EOMONTH = EOMONTH ## Vrátí pořadové číslo posledního dne měsíce před nebo po zadaném počtu měsíců. +HOUR = HODINA ## Převede pořadové číslo na hodinu. +MINUTE = MINUTA ## Převede pořadové číslo na minutu. +MONTH = MĚSÍC ## Převede pořadové číslo na měsíc. +NETWORKDAYS = NETWORKDAYS ## Vrátí počet celých pracovních dní mezi dvěma daty. +NOW = NYNÍ ## Vrátí pořadové číslo aktuálního data a času. +SECOND = SEKUNDA ## Převede pořadové číslo na sekundu. +TIME = ČAS ## Vrátí pořadové číslo určitého času. +TIMEVALUE = ČASHODN ## Převede čas ve formě textu na pořadové číslo. +TODAY = DNES ## Vrátí pořadové číslo dnešního data. +WEEKDAY = DENTÝDNE ## Převede pořadové číslo na den v týdnu. +WEEKNUM = WEEKNUM ## Převede pořadové číslo na číslo představující číselnou pozici týdne v roce. +WORKDAY = WORKDAY ## Vrátí pořadové číslo data před nebo po zadaném počtu pracovních dní. +YEAR = ROK ## Převede pořadové číslo na rok. +YEARFRAC = YEARFRAC ## Vrátí část roku vyjádřenou zlomkem a představující počet celých dní mezi počátečním a koncovým datem. + + +## +## Engineering functions Inženýrské funkce (Technické funkce) +## +BESSELI = BESSELI ## Vrátí modifikovanou Besselovu funkci In(x). +BESSELJ = BESSELJ ## Vrátí modifikovanou Besselovu funkci Jn(x). +BESSELK = BESSELK ## Vrátí modifikovanou Besselovu funkci Kn(x). +BESSELY = BESSELY ## Vrátí Besselovu funkci Yn(x). +BIN2DEC = BIN2DEC ## Převede binární číslo na desítkové. +BIN2HEX = BIN2HEX ## Převede binární číslo na šestnáctkové. +BIN2OCT = BIN2OCT ## Převede binární číslo na osmičkové. +COMPLEX = COMPLEX ## Převede reálnou a imaginární část na komplexní číslo. +CONVERT = CONVERT ## Převede číslo do jiného jednotkového měrného systému. +DEC2BIN = DEC2BIN ## Převede desítkového čísla na dvojkové +DEC2HEX = DEC2HEX ## Převede desítkové číslo na šestnáctkové. +DEC2OCT = DEC2OCT ## Převede desítkové číslo na osmičkové. +DELTA = DELTA ## Testuje rovnost dvou hodnot. +ERF = ERF ## Vrátí chybovou funkci. +ERFC = ERFC ## Vrátí doplňkovou chybovou funkci. +GESTEP = GESTEP ## Testuje, zda je číslo větší než mezní hodnota. +HEX2BIN = HEX2BIN ## Převede šestnáctkové číslo na binární. +HEX2DEC = HEX2DEC ## Převede šestnáctkové číslo na desítkové. +HEX2OCT = HEX2OCT ## Převede šestnáctkové číslo na osmičkové. +IMABS = IMABS ## Vrátí absolutní hodnotu (modul) komplexního čísla. +IMAGINARY = IMAGINARY ## Vrátí imaginární část komplexního čísla. +IMARGUMENT = IMARGUMENT ## Vrátí argument théta, úhel vyjádřený v radiánech. +IMCONJUGATE = IMCONJUGATE ## Vrátí komplexně sdružené číslo ke komplexnímu číslu. +IMCOS = IMCOS ## Vrátí kosinus komplexního čísla. +IMDIV = IMDIV ## Vrátí podíl dvou komplexních čísel. +IMEXP = IMEXP ## Vrátí exponenciální tvar komplexního čísla. +IMLN = IMLN ## Vrátí přirozený logaritmus komplexního čísla. +IMLOG10 = IMLOG10 ## Vrátí dekadický logaritmus komplexního čísla. +IMLOG2 = IMLOG2 ## Vrátí logaritmus komplexního čísla při základu 2. +IMPOWER = IMPOWER ## Vrátí komplexní číslo umocněné na celé číslo. +IMPRODUCT = IMPRODUCT ## Vrátí součin komplexních čísel. +IMREAL = IMREAL ## Vrátí reálnou část komplexního čísla. +IMSIN = IMSIN ## Vrátí sinus komplexního čísla. +IMSQRT = IMSQRT ## Vrátí druhou odmocninu komplexního čísla. +IMSUB = IMSUB ## Vrátí rozdíl mezi dvěma komplexními čísly. +IMSUM = IMSUM ## Vrátí součet dvou komplexních čísel. +OCT2BIN = OCT2BIN ## Převede osmičkové číslo na binární. +OCT2DEC = OCT2DEC ## Převede osmičkové číslo na desítkové. +OCT2HEX = OCT2HEX ## Převede osmičkové číslo na šestnáctkové. + + +## +## Financial functions Finanční funkce +## +ACCRINT = ACCRINT ## Vrátí nahromaděný úrok z cenného papíru, ze kterého je úrok placen v pravidelných termínech. +ACCRINTM = ACCRINTM ## Vrátí nahromaděný úrok z cenného papíru, ze kterého je úrok placen k datu splatnosti. +AMORDEGRC = AMORDEGRC ## Vrátí lineární amortizaci v každém účetním období pomocí koeficientu amortizace. +AMORLINC = AMORLINC ## Vrátí lineární amortizaci v každém účetním období. +COUPDAYBS = COUPDAYBS ## Vrátí počet dnů od začátku období placení kupónů do data splatnosti. +COUPDAYS = COUPDAYS ## Vrátí počet dnů v období placení kupónů, které obsahuje den zúčtování. +COUPDAYSNC = COUPDAYSNC ## Vrátí počet dnů od data zúčtování do následujícího data placení kupónu. +COUPNCD = COUPNCD ## Vrátí následující datum placení kupónu po datu zúčtování. +COUPNUM = COUPNUM ## Vrátí počet kupónů splatných mezi datem zúčtování a datem splatnosti. +COUPPCD = COUPPCD ## Vrátí předchozí datum placení kupónu před datem zúčtování. +CUMIPMT = CUMIPMT ## Vrátí kumulativní úrok splacený mezi dvěma obdobími. +CUMPRINC = CUMPRINC ## Vrátí kumulativní jistinu splacenou mezi dvěma obdobími půjčky. +DB = ODPIS.ZRYCH ## Vrátí odpis aktiva za určité období pomocí degresivní metody odpisu s pevným zůstatkem. +DDB = ODPIS.ZRYCH2 ## Vrátí odpis aktiva za určité období pomocí dvojité degresivní metody odpisu nebo jiné metody, kterou zadáte. +DISC = DISC ## Vrátí diskontní sazbu cenného papíru. +DOLLARDE = DOLLARDE ## Převede částku v korunách vyjádřenou zlomkem na částku v korunách vyjádřenou desetinným číslem. +DOLLARFR = DOLLARFR ## Převede částku v korunách vyjádřenou desetinným číslem na částku v korunách vyjádřenou zlomkem. +DURATION = DURATION ## Vrátí roční dobu cenného papíru s pravidelnými úrokovými sazbami. +EFFECT = EFFECT ## Vrátí efektivní roční úrokovou sazbu. +FV = BUDHODNOTA ## Vrátí budoucí hodnotu investice. +FVSCHEDULE = FVSCHEDULE ## Vrátí budoucí hodnotu počáteční jistiny po použití série sazeb složitého úroku. +INTRATE = INTRATE ## Vrátí úrokovou sazbu plně investovaného cenného papíru. +IPMT = PLATBA.ÚROK ## Vrátí výšku úroku investice za dané období. +IRR = MÍRA.VÝNOSNOSTI ## Vrátí vnitřní výnosové procento série peněžních toků. +ISPMT = ISPMT ## Vypočte výši úroku z investice zaplaceného během určitého období. +MDURATION = MDURATION ## Vrátí Macauleyho modifikovanou dobu cenného papíru o nominální hodnotě 100 Kč. +MIRR = MOD.MÍRA.VÝNOSNOSTI ## Vrátí vnitřní sazbu výnosu, přičemž kladné a záporné hodnoty peněžních prostředků jsou financovány podle různých sazeb. +NOMINAL = NOMINAL ## Vrátí nominální roční úrokovou sazbu. +NPER = POČET.OBDOBÍ ## Vrátí počet období pro investici. +NPV = ČISTÁ.SOUČHODNOTA ## Vrátí čistou současnou hodnotu investice vypočítanou na základě série pravidelných peněžních toků a diskontní sazby. +ODDFPRICE = ODDFPRICE ## Vrátí cenu cenného papíru o nominální hodnotě 100 Kč s odlišným prvním obdobím. +ODDFYIELD = ODDFYIELD ## Vrátí výnos cenného papíru s odlišným prvním obdobím. +ODDLPRICE = ODDLPRICE ## Vrátí cenu cenného papíru o nominální hodnotě 100 Kč s odlišným posledním obdobím. +ODDLYIELD = ODDLYIELD ## Vrátí výnos cenného papíru s odlišným posledním obdobím. +PMT = PLATBA ## Vrátí hodnotu pravidelné splátky anuity. +PPMT = PLATBA.ZÁKLAD ## Vrátí hodnotu splátky jistiny pro zadanou investici za dané období. +PRICE = PRICE ## Vrátí cenu cenného papíru o nominální hodnotě 100 Kč, ze kterého je úrok placen v pravidelných termínech. +PRICEDISC = PRICEDISC ## Vrátí cenu diskontního cenného papíru o nominální hodnotě 100 Kč. +PRICEMAT = PRICEMAT ## Vrátí cenu cenného papíru o nominální hodnotě 100 Kč, ze kterého je úrok placen k datu splatnosti. +PV = SOUČHODNOTA ## Vrátí současnou hodnotu investice. +RATE = ÚROKOVÁ.MÍRA ## Vrátí úrokovou sazbu vztaženou na období anuity. +RECEIVED = RECEIVED ## Vrátí částku obdrženou k datu splatnosti plně investovaného cenného papíru. +SLN = ODPIS.LIN ## Vrátí přímé odpisy aktiva pro jedno období. +SYD = ODPIS.NELIN ## Vrátí směrné číslo ročních odpisů aktiva pro zadané období. +TBILLEQ = TBILLEQ ## Vrátí výnos směnky státní pokladny ekvivalentní výnosu obligace. +TBILLPRICE = TBILLPRICE ## Vrátí cenu směnky státní pokladny o nominální hodnotě 100 Kč. +TBILLYIELD = TBILLYIELD ## Vrátí výnos směnky státní pokladny. +VDB = ODPIS.ZA.INT ## Vrátí odpis aktiva pro určité období nebo část období pomocí degresivní metody odpisu. +XIRR = XIRR ## Vrátí vnitřní výnosnost pro harmonogram peněžních toků, který nemusí být nutně periodický. +XNPV = XNPV ## Vrátí čistou současnou hodnotu pro harmonogram peněžních toků, který nemusí být nutně periodický. +YIELD = YIELD ## Vrátí výnos cenného papíru, ze kterého je úrok placen v pravidelných termínech. +YIELDDISC = YIELDDISC ## Vrátí roční výnos diskontního cenného papíru, například směnky státní pokladny. +YIELDMAT = YIELDMAT ## Vrátí roční výnos cenného papíru, ze kterého je úrok placen k datu splatnosti. + + +## +## Information functions Informační funkce +## +CELL = POLÍČKO ## Vrátí informace o formátování, umístění nebo obsahu buňky. +ERROR.TYPE = CHYBA.TYP ## Vrátí číslo odpovídající typu chyby. +INFO = O.PROSTŘEDÍ ## Vrátí informace o aktuálním pracovním prostředí. +ISBLANK = JE.PRÁZDNÉ ## Vrátí hodnotu PRAVDA, pokud se argument hodnota odkazuje na prázdnou buňku. +ISERR = JE.CHYBA ## Vrátí hodnotu PRAVDA, pokud je argument hodnota libovolná chybová hodnota (kromě #N/A). +ISERROR = JE.CHYBHODN ## Vrátí hodnotu PRAVDA, pokud je argument hodnota libovolná chybová hodnota. +ISEVEN = ISEVEN ## Vrátí hodnotu PRAVDA, pokud je číslo sudé. +ISLOGICAL = JE.LOGHODN ## Vrátí hodnotu PRAVDA, pokud je argument hodnota logická hodnota. +ISNA = JE.NEDEF ## Vrátí hodnotu PRAVDA, pokud je argument hodnota chybová hodnota #N/A. +ISNONTEXT = JE.NETEXT ## Vrátí hodnotu PRAVDA, pokud argument hodnota není text. +ISNUMBER = JE.ČÍSLO ## Vrátí hodnotu PRAVDA, pokud je argument hodnota číslo. +ISODD = ISODD ## Vrátí hodnotu PRAVDA, pokud je číslo liché. +ISREF = JE.ODKAZ ## Vrátí hodnotu PRAVDA, pokud je argument hodnota odkaz. +ISTEXT = JE.TEXT ## Vrátí hodnotu PRAVDA, pokud je argument hodnota text. +N = N ## Vrátí hodnotu převedenou na číslo. +NA = NEDEF ## Vrátí chybovou hodnotu #N/A. +TYPE = TYP ## Vrátí číslo označující datový typ hodnoty. + + +## +## Logical functions Logické funkce +## +AND = A ## Vrátí hodnotu PRAVDA, mají-li všechny argumenty hodnotu PRAVDA. +FALSE = NEPRAVDA ## Vrátí logickou hodnotu NEPRAVDA. +IF = KDYŽ ## Určí, který logický test má proběhnout. +IFERROR = IFERROR ## Pokud je vzorec vyhodnocen jako chyba, vrátí zadanou hodnotu. V opačném případě vrátí výsledek vzorce. +NOT = NE ## Provede logickou negaci argumentu funkce. +OR = NEBO ## Vrátí hodnotu PRAVDA, je-li alespoň jeden argument roven hodnotě PRAVDA. +TRUE = PRAVDA ## Vrátí logickou hodnotu PRAVDA. + + +## +## Lookup and reference functions Vyhledávací funkce +## +ADDRESS = ODKAZ ## Vrátí textový odkaz na jednu buňku listu. +AREAS = POČET.BLOKŮ ## Vrátí počet oblastí v odkazu. +CHOOSE = ZVOLIT ## Zvolí hodnotu ze seznamu hodnot. +COLUMN = SLOUPEC ## Vrátí číslo sloupce odkazu. +COLUMNS = SLOUPCE ## Vrátí počet sloupců v odkazu. +HLOOKUP = VVYHLEDAT ## Prohledá horní řádek matice a vrátí hodnotu určené buňky. +HYPERLINK = HYPERTEXTOVÝ.ODKAZ ## Vytvoří zástupce nebo odkaz, který otevře dokument uložený na síťovém serveru, v síti intranet nebo Internet. +INDEX = INDEX ## Pomocí rejstříku zvolí hodnotu z odkazu nebo matice. +INDIRECT = NEPŘÍMÝ.ODKAZ ## Vrátí odkaz určený textovou hodnotou. +LOOKUP = VYHLEDAT ## Vyhledá hodnoty ve vektoru nebo matici. +MATCH = POZVYHLEDAT ## Vyhledá hodnoty v odkazu nebo matici. +OFFSET = POSUN ## Vrátí posun odkazu od zadaného odkazu. +ROW = ŘÁDEK ## Vrátí číslo řádku odkazu. +ROWS = ŘÁDKY ## Vrátí počet řádků v odkazu. +RTD = RTD ## Načte data reálného času z programu, který podporuje automatizaci modelu COM (Automatizace: Způsob práce s objekty určité aplikace z jiné aplikace nebo nástroje pro vývoj. Automatizace (dříve nazývaná automatizace OLE) je počítačovým standardem a je funkcí modelu COM (Component Object Model).). +TRANSPOSE = TRANSPOZICE ## Vrátí transponovanou matici. +VLOOKUP = SVYHLEDAT ## Prohledá první sloupec matice, přesune kurzor v řádku a vrátí hodnotu buňky. + + +## +## Math and trigonometry functions Matematické a trigonometrické funkce +## +ABS = ABS ## Vrátí absolutní hodnotu čísla. +ACOS = ARCCOS ## Vrátí arkuskosinus čísla. +ACOSH = ARCCOSH ## Vrátí hyperbolický arkuskosinus čísla. +ASIN = ARCSIN ## Vrátí arkussinus čísla. +ASINH = ARCSINH ## Vrátí hyperbolický arkussinus čísla. +ATAN = ARCTG ## Vrátí arkustangens čísla. +ATAN2 = ARCTG2 ## Vrátí arkustangens x-ové a y-ové souřadnice. +ATANH = ARCTGH ## Vrátí hyperbolický arkustangens čísla. +CEILING = ZAOKR.NAHORU ## Zaokrouhlí číslo na nejbližší celé číslo nebo na nejbližší násobek zadané hodnoty. +COMBIN = KOMBINACE ## Vrátí počet kombinací pro daný počet položek. +COS = COS ## Vrátí kosinus čísla. +COSH = COSH ## Vrátí hyperbolický kosinus čísla. +DEGREES = DEGREES ## Převede radiány na stupně. +EVEN = ZAOKROUHLIT.NA.SUDÉ ## Zaokrouhlí číslo nahoru na nejbližší celé sudé číslo. +EXP = EXP ## Vrátí základ přirozeného logaritmu e umocněný na zadané číslo. +FACT = FAKTORIÁL ## Vrátí faktoriál čísla. +FACTDOUBLE = FACTDOUBLE ## Vrátí dvojitý faktoriál čísla. +FLOOR = ZAOKR.DOLŮ ## Zaokrouhlí číslo dolů, směrem k nule. +GCD = GCD ## Vrátí největší společný dělitel. +INT = CELÁ.ČÁST ## Zaokrouhlí číslo dolů na nejbližší celé číslo. +LCM = LCM ## Vrátí nejmenší společný násobek. +LN = LN ## Vrátí přirozený logaritmus čísla. +LOG = LOGZ ## Vrátí logaritmus čísla při zadaném základu. +LOG10 = LOG ## Vrátí dekadický logaritmus čísla. +MDETERM = DETERMINANT ## Vrátí determinant matice. +MINVERSE = INVERZE ## Vrátí inverzní matici. +MMULT = SOUČIN.MATIC ## Vrátí součin dvou matic. +MOD = MOD ## Vrátí zbytek po dělení. +MROUND = MROUND ## Vrátí číslo zaokrouhlené na požadovaný násobek. +MULTINOMIAL = MULTINOMIAL ## Vrátí mnohočlen z množiny čísel. +ODD = ZAOKROUHLIT.NA.LICHÉ ## Zaokrouhlí číslo nahoru na nejbližší celé liché číslo. +PI = PI ## Vrátí hodnotu čísla pí. +POWER = POWER ## Umocní číslo na zadanou mocninu. +PRODUCT = SOUČIN ## Vynásobí argumenty funkce. +QUOTIENT = QUOTIENT ## Vrátí celou část dělení. +RADIANS = RADIANS ## Převede stupně na radiány. +RAND = NÁHČÍSLO ## Vrátí náhodné číslo mezi 0 a 1. +RANDBETWEEN = RANDBETWEEN ## Vrátí náhodné číslo mezi zadanými čísly. +ROMAN = ROMAN ## Převede arabskou číslici na římskou ve formátu textu. +ROUND = ZAOKROUHLIT ## Zaokrouhlí číslo na zadaný počet číslic. +ROUNDDOWN = ROUNDDOWN ## Zaokrouhlí číslo dolů, směrem k nule. +ROUNDUP = ROUNDUP ## Zaokrouhlí číslo nahoru, směrem od nuly. +SERIESSUM = SERIESSUM ## Vrátí součet mocninné řady určené podle vzorce. +SIGN = SIGN ## Vrátí znaménko čísla. +SIN = SIN ## Vrátí sinus daného úhlu. +SINH = SINH ## Vrátí hyperbolický sinus čísla. +SQRT = ODMOCNINA ## Vrátí kladnou druhou odmocninu. +SQRTPI = SQRTPI ## Vrátí druhou odmocninu výrazu (číslo * pí). +SUBTOTAL = SUBTOTAL ## Vrátí souhrn v seznamu nebo databázi. +SUM = SUMA ## Sečte argumenty funkce. +SUMIF = SUMIF ## Sečte buňky vybrané podle zadaných kritérií. +SUMIFS = SUMIFS ## Sečte buňky určené více zadanými podmínkami. +SUMPRODUCT = SOUČIN.SKALÁRNÍ ## Vrátí součet součinů odpovídajících prvků matic. +SUMSQ = SUMA.ČTVERCŮ ## Vrátí součet čtverců argumentů. +SUMX2MY2 = SUMX2MY2 ## Vrátí součet rozdílu čtverců odpovídajících hodnot ve dvou maticích. +SUMX2PY2 = SUMX2PY2 ## Vrátí součet součtu čtverců odpovídajících hodnot ve dvou maticích. +SUMXMY2 = SUMXMY2 ## Vrátí součet čtverců rozdílů odpovídajících hodnot ve dvou maticích. +TAN = TGTG ## Vrátí tangens čísla. +TANH = TGH ## Vrátí hyperbolický tangens čísla. +TRUNC = USEKNOUT ## Zkrátí číslo na celé číslo. + + +## +## Statistical functions Statistické funkce +## +AVEDEV = PRŮMODCHYLKA ## Vrátí průměrnou hodnotu absolutních odchylek datových bodů od jejich střední hodnoty. +AVERAGE = PRŮMĚR ## Vrátí průměrnou hodnotu argumentů. +AVERAGEA = AVERAGEA ## Vrátí průměrnou hodnotu argumentů včetně čísel, textu a logických hodnot. +AVERAGEIF = AVERAGEIF ## Vrátí průměrnou hodnotu (aritmetický průměr) všech buněk v oblasti, které vyhovují příslušné podmínce. +AVERAGEIFS = AVERAGEIFS ## Vrátí průměrnou hodnotu (aritmetický průměr) všech buněk vyhovujících několika podmínkám. +BETADIST = BETADIST ## Vrátí hodnotu součtového rozdělení beta. +BETAINV = BETAINV ## Vrátí inverzní hodnotu součtového rozdělení pro zadané rozdělení beta. +BINOMDIST = BINOMDIST ## Vrátí hodnotu binomického rozdělení pravděpodobnosti jednotlivých veličin. +CHIDIST = CHIDIST ## Vrátí jednostrannou pravděpodobnost rozdělení chí-kvadrát. +CHIINV = CHIINV ## Vrátí hodnotu funkce inverzní k distribuční funkci jednostranné pravděpodobnosti rozdělení chí-kvadrát. +CHITEST = CHITEST ## Vrátí test nezávislosti. +CONFIDENCE = CONFIDENCE ## Vrátí interval spolehlivosti pro střední hodnotu základního souboru. +CORREL = CORREL ## Vrátí korelační koeficient mezi dvěma množinami dat. +COUNT = POČET ## Vrátí počet čísel v seznamu argumentů. +COUNTA = POČET2 ## Vrátí počet hodnot v seznamu argumentů. +COUNTBLANK = COUNTBLANK ## Spočítá počet prázdných buněk v oblasti. +COUNTIF = COUNTIF ## Spočítá buňky v oblasti, které odpovídají zadaným kritériím. +COUNTIFS = COUNTIFS ## Spočítá buňky v oblasti, které odpovídají více kritériím. +COVAR = COVAR ## Vrátí hodnotu kovariance, průměrnou hodnotu součinů párových odchylek +CRITBINOM = CRITBINOM ## Vrátí nejmenší hodnotu, pro kterou má součtové binomické rozdělení hodnotu větší nebo rovnu hodnotě kritéria. +DEVSQ = DEVSQ ## Vrátí součet čtverců odchylek. +EXPONDIST = EXPONDIST ## Vrátí hodnotu exponenciálního rozdělení. +FDIST = FDIST ## Vrátí hodnotu rozdělení pravděpodobnosti F. +FINV = FINV ## Vrátí hodnotu inverzní funkce k distribuční funkci rozdělení F. +FISHER = FISHER ## Vrátí hodnotu Fisherovy transformace. +FISHERINV = FISHERINV ## Vrátí hodnotu inverzní funkce k Fisherově transformaci. +FORECAST = FORECAST ## Vrátí hodnotu lineárního trendu. +FREQUENCY = ČETNOSTI ## Vrátí četnost rozdělení jako svislou matici. +FTEST = FTEST ## Vrátí výsledek F-testu. +GAMMADIST = GAMMADIST ## Vrátí hodnotu rozdělení gama. +GAMMAINV = GAMMAINV ## Vrátí hodnotu inverzní funkce k distribuční funkci součtového rozdělení gama. +GAMMALN = GAMMALN ## Vrátí přirozený logaritmus funkce gama, Γ(x). +GEOMEAN = GEOMEAN ## Vrátí geometrický průměr. +GROWTH = LOGLINTREND ## Vrátí hodnoty exponenciálního trendu. +HARMEAN = HARMEAN ## Vrátí harmonický průměr. +HYPGEOMDIST = HYPGEOMDIST ## Vrátí hodnotu hypergeometrického rozdělení. +INTERCEPT = INTERCEPT ## Vrátí úsek lineární regresní čáry. +KURT = KURT ## Vrátí hodnotu excesu množiny dat. +LARGE = LARGE ## Vrátí k-tou největší hodnotu množiny dat. +LINEST = LINREGRESE ## Vrátí parametry lineárního trendu. +LOGEST = LOGLINREGRESE ## Vrátí parametry exponenciálního trendu. +LOGINV = LOGINV ## Vrátí inverzní funkci k distribuční funkci logaritmicko-normálního rozdělení. +LOGNORMDIST = LOGNORMDIST ## Vrátí hodnotu součtového logaritmicko-normálního rozdělení. +MAX = MAX ## Vrátí maximální hodnotu seznamu argumentů. +MAXA = MAXA ## Vrátí maximální hodnotu seznamu argumentů včetně čísel, textu a logických hodnot. +MEDIAN = MEDIAN ## Vrátí střední hodnotu zadaných čísel. +MIN = MIN ## Vrátí minimální hodnotu seznamu argumentů. +MINA = MINA ## Vrátí nejmenší hodnotu v seznamu argumentů včetně čísel, textu a logických hodnot. +MODE = MODE ## Vrátí hodnotu, která se v množině dat vyskytuje nejčastěji. +NEGBINOMDIST = NEGBINOMDIST ## Vrátí hodnotu negativního binomického rozdělení. +NORMDIST = NORMDIST ## Vrátí hodnotu normálního součtového rozdělení. +NORMINV = NORMINV ## Vrátí inverzní funkci k funkci normálního součtového rozdělení. +NORMSDIST = NORMSDIST ## Vrátí hodnotu standardního normálního součtového rozdělení. +NORMSINV = NORMSINV ## Vrátí inverzní funkci k funkci standardního normálního součtového rozdělení. +PEARSON = PEARSON ## Vrátí Pearsonův výsledný momentový korelační koeficient. +PERCENTILE = PERCENTIL ## Vrátí hodnotu k-tého percentilu hodnot v oblasti. +PERCENTRANK = PERCENTRANK ## Vrátí pořadí hodnoty v množině dat vyjádřené procentuální částí množiny dat. +PERMUT = PERMUTACE ## Vrátí počet permutací pro zadaný počet objektů. +POISSON = POISSON ## Vrátí hodnotu distribuční funkce Poissonova rozdělení. +PROB = PROB ## Vrátí pravděpodobnost výskytu hodnot v oblasti mezi dvěma mezními hodnotami. +QUARTILE = QUARTIL ## Vrátí hodnotu kvartilu množiny dat. +RANK = RANK ## Vrátí pořadí čísla v seznamu čísel. +RSQ = RKQ ## Vrátí druhou mocninu Pearsonova výsledného momentového korelačního koeficientu. +SKEW = SKEW ## Vrátí zešikmení rozdělení. +SLOPE = SLOPE ## Vrátí směrnici lineární regresní čáry. +SMALL = SMALL ## Vrátí k-tou nejmenší hodnotu množiny dat. +STANDARDIZE = STANDARDIZE ## Vrátí normalizovanou hodnotu. +STDEV = SMODCH.VÝBĚR ## Vypočte směrodatnou odchylku výběru. +STDEVA = STDEVA ## Vypočte směrodatnou odchylku výběru včetně čísel, textu a logických hodnot. +STDEVP = SMODCH ## Vypočte směrodatnou odchylku základního souboru. +STDEVPA = STDEVPA ## Vypočte směrodatnou odchylku základního souboru včetně čísel, textu a logických hodnot. +STEYX = STEYX ## Vrátí standardní chybu předpovězené hodnoty y pro každou hodnotu x v regresi. +TDIST = TDIST ## Vrátí hodnotu Studentova t-rozdělení. +TINV = TINV ## Vrátí inverzní funkci k distribuční funkci Studentova t-rozdělení. +TREND = LINTREND ## Vrátí hodnoty lineárního trendu. +TRIMMEAN = TRIMMEAN ## Vrátí střední hodnotu vnitřní části množiny dat. +TTEST = TTEST ## Vrátí pravděpodobnost spojenou se Studentovým t-testem. +VAR = VAR.VÝBĚR ## Vypočte rozptyl výběru. +VARA = VARA ## Vypočte rozptyl výběru včetně čísel, textu a logických hodnot. +VARP = VAR ## Vypočte rozptyl základního souboru. +VARPA = VARPA ## Vypočte rozptyl základního souboru včetně čísel, textu a logických hodnot. +WEIBULL = WEIBULL ## Vrátí hodnotu Weibullova rozdělení. +ZTEST = ZTEST ## Vrátí jednostrannou P-hodnotu z-testu. + + +## +## Text functions Textové funkce +## +ASC = ASC ## Změní znaky s plnou šířkou (dvoubajtové)v řetězci znaků na znaky s poloviční šířkou (jednobajtové). +BAHTTEXT = BAHTTEXT ## Převede číslo na text ve formátu, měny ß (baht). +CHAR = ZNAK ## Vrátí znak určený číslem kódu. +CLEAN = VYČISTIT ## Odebere z textu všechny netisknutelné znaky. +CODE = KÓD ## Vrátí číselný kód prvního znaku zadaného textového řetězce. +CONCATENATE = CONCATENATE ## Spojí několik textových položek do jedné. +DOLLAR = KČ ## Převede číslo na text ve formátu měny Kč (česká koruna). +EXACT = STEJNÉ ## Zkontroluje, zda jsou dvě textové hodnoty shodné. +FIND = NAJÍT ## Nalezne textovou hodnotu uvnitř jiné (rozlišuje malá a velká písmena). +FINDB = FINDB ## Nalezne textovou hodnotu uvnitř jiné (rozlišuje malá a velká písmena). +FIXED = ZAOKROUHLIT.NA.TEXT ## Zformátuje číslo jako text s pevným počtem desetinných míst. +JIS = JIS ## Změní znaky s poloviční šířkou (jednobajtové) v řetězci znaků na znaky s plnou šířkou (dvoubajtové). +LEFT = ZLEVA ## Vrátí první znaky textové hodnoty umístěné nejvíce vlevo. +LEFTB = LEFTB ## Vrátí první znaky textové hodnoty umístěné nejvíce vlevo. +LEN = DÉLKA ## Vrátí počet znaků textového řetězce. +LENB = LENB ## Vrátí počet znaků textového řetězce. +LOWER = MALÁ ## Převede text na malá písmena. +MID = ČÁST ## Vrátí určitý počet znaků textového řetězce počínaje zadaným místem. +MIDB = MIDB ## Vrátí určitý počet znaků textového řetězce počínaje zadaným místem. +PHONETIC = ZVUKOVÉ ## Extrahuje fonetické znaky (furigana) z textového řetězce. +PROPER = VELKÁ2 ## Převede první písmeno každého slova textové hodnoty na velké. +REPLACE = NAHRADIT ## Nahradí znaky uvnitř textu. +REPLACEB = NAHRADITB ## Nahradí znaky uvnitř textu. +REPT = OPAKOVAT ## Zopakuje text podle zadaného počtu opakování. +RIGHT = ZPRAVA ## Vrátí první znaky textové hodnoty umístěné nejvíce vpravo. +RIGHTB = RIGHTB ## Vrátí první znaky textové hodnoty umístěné nejvíce vpravo. +SEARCH = HLEDAT ## Nalezne textovou hodnotu uvnitř jiné (malá a velká písmena nejsou rozlišována). +SEARCHB = SEARCHB ## Nalezne textovou hodnotu uvnitř jiné (malá a velká písmena nejsou rozlišována). +SUBSTITUTE = DOSADIT ## V textovém řetězci nahradí starý text novým. +T = T ## Převede argumenty na text. +TEXT = HODNOTA.NA.TEXT ## Zformátuje číslo a převede ho na text. +TRIM = PROČISTIT ## Odstraní z textu mezery. +UPPER = VELKÁ ## Převede text na velká písmena. +VALUE = HODNOTA ## Převede textový argument na číslo. diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/locale/da/config b/vendor/phpoffice/phpexcel/Classes/PHPExcel/locale/da/config new file mode 100644 index 00000000..ae590031 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/locale/da/config @@ -0,0 +1,48 @@ +## +## PHPExcel +## +## Copyright (c) 2006 - 2013 PHPExcel +## +## This library is free software; you can redistribute it and/or +## modify it under the terms of the GNU Lesser General Public +## License as published by the Free Software Foundation; either +## version 2.1 of the License, or (at your option) any later version. +## +## This library is distributed in the hope that it will be useful, +## but WITHOUT ANY WARRANTY; without even the implied warranty of +## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +## Lesser General Public License for more details. +## +## You should have received a copy of the GNU Lesser General Public +## License along with this library; if not, write to the Free Software +## Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +## +## @category PHPExcel +## @package PHPExcel_Settings +## @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel) +## @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL +## @version ##VERSION##, ##DATE## +## +## + + +ArgumentSeparator = ; + + +## +## (For future use) +## +currencySymbol = kr + + + +## +## Excel Error Codes (For future use) +## +NULL = #NUL! +DIV0 = #DIVISION/0! +VALUE = #VÆRDI! +REF = #REFERENCE! +NAME = #NAVN? +NUM = #NUM! +NA = #I/T diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/locale/da/functions b/vendor/phpoffice/phpexcel/Classes/PHPExcel/locale/da/functions new file mode 100644 index 00000000..26e0310c --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/locale/da/functions @@ -0,0 +1,438 @@ +## +## PHPExcel +## +## Copyright (c) 2006 - 2013 PHPExcel +## +## This library is free software; you can redistribute it and/or +## modify it under the terms of the GNU Lesser General Public +## License as published by the Free Software Foundation; either +## version 2.1 of the License, or (at your option) any later version. +## +## This library is distributed in the hope that it will be useful, +## but WITHOUT ANY WARRANTY; without even the implied warranty of +## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +## Lesser General Public License for more details. +## +## You should have received a copy of the GNU Lesser General Public +## License along with this library; if not, write to the Free Software +## Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +## +## @category PHPExcel +## @package PHPExcel_Calculation +## @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel) +## @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL +## @version ##VERSION##, ##DATE## +## +## Data in this file derived from http://www.piuha.fi/excel-function-name-translation/ +## +## + + +## +## Add-in and Automation functions Tilføjelsesprogram- og automatiseringsfunktioner +## +GETPIVOTDATA = HENTPIVOTDATA ## Returnerer data, der er lagret i en pivottabelrapport + + +## +## Cube functions Kubefunktioner +## +CUBEKPIMEMBER = KUBE.KPI.MEDLEM ## Returnerer navn, egenskab og mål for en KPI-indikator og viser navnet og egenskaben i cellen. En KPI-indikator er en målbar størrelse, f.eks. bruttooverskud pr. måned eller personaleudskiftning pr. kvartal, der bruges til at overvåge en organisations præstationer. +CUBEMEMBER = KUBE.MEDLEM ## Returnerer et medlem eller en tupel fra kubehierarkiet. Bruges til at validere, om et medlem eller en tupel findes i kuben. +CUBEMEMBERPROPERTY = KUBEMEDLEM.EGENSKAB ## Returnerer værdien af en egenskab for et medlem i kuben. Bruges til at validere, om et medlemsnavn findes i kuben, og returnere den angivne egenskab for medlemmet. +CUBERANKEDMEMBER = KUBEMEDLEM.RANG ## Returnerer det n'te eller rangordnede medlem i et sæt. Bruges til at returnere et eller flere elementer i et sæt, f.eks. topsælgere eller de 10 bedste elever. +CUBESET = KUBESÆT ## Definerer et beregnet sæt medlemmer eller tupler ved at sende et sætudtryk til kuben på serveren, som opretter sættet og returnerer det til Microsoft Office Excel. +CUBESETCOUNT = KUBESÆT.TÆL ## Returnerer antallet af elementer i et sæt. +CUBEVALUE = KUBEVÆRDI ## Returnerer en sammenlagt (aggregeret) værdi fra en kube. + + +## +## Database functions Databasefunktioner +## +DAVERAGE = DMIDDEL ## Returnerer gennemsnittet af markerede databaseposter +DCOUNT = DTÆL ## Tæller de celler, der indeholder tal, i en database +DCOUNTA = DTÆLV ## Tæller udfyldte celler i en database +DGET = DHENT ## Uddrager en enkelt post, der opfylder de angivne kriterier, fra en database +DMAX = DMAKS ## Returnerer den største værdi blandt markerede databaseposter +DMIN = DMIN ## Returnerer den mindste værdi blandt markerede databaseposter +DPRODUCT = DPRODUKT ## Ganger værdierne i et bestemt felt med poster, der opfylder kriterierne i en database +DSTDEV = DSTDAFV ## Beregner et skøn over standardafvigelsen baseret på en stikprøve af markerede databaseposter +DSTDEVP = DSTDAFVP ## Beregner standardafvigelsen baseret på hele populationen af markerede databaseposter +DSUM = DSUM ## Sammenlægger de tal i feltkolonnen i databasen, der opfylder kriterierne +DVAR = DVARIANS ## Beregner varians baseret på en stikprøve af markerede databaseposter +DVARP = DVARIANSP ## Beregner varians baseret på hele populationen af markerede databaseposter + + +## +## Date and time functions Dato- og klokkeslætsfunktioner +## +DATE = DATO ## Returnerer serienummeret for en bestemt dato +DATEVALUE = DATOVÆRDI ## Konverterer en dato i form af tekst til et serienummer +DAY = DAG ## Konverterer et serienummer til en dag i måneden +DAYS360 = DAGE360 ## Beregner antallet af dage mellem to datoer på grundlag af et år med 360 dage +EDATE = EDATO ## Returnerer serienummeret for den dato, der ligger det angivne antal måneder før eller efter startdatoen +EOMONTH = SLUT.PÅ.MÅNED ## Returnerer serienummeret på den sidste dag i måneden før eller efter et angivet antal måneder +HOUR = TIME ## Konverterer et serienummer til en time +MINUTE = MINUT ## Konverterer et serienummer til et minut +MONTH = MÅNED ## Konverterer et serienummer til en måned +NETWORKDAYS = ANTAL.ARBEJDSDAGE ## Returnerer antallet af hele arbejdsdage mellem to datoer +NOW = NU ## Returnerer serienummeret for den aktuelle dato eller det aktuelle klokkeslæt +SECOND = SEKUND ## Konverterer et serienummer til et sekund +TIME = KLOKKESLÆT ## Returnerer serienummeret for et bestemt klokkeslæt +TIMEVALUE = TIDSVÆRDI ## Konverterer et klokkeslæt i form af tekst til et serienummer +TODAY = IDAG ## Returnerer serienummeret for dags dato +WEEKDAY = UGEDAG ## Konverterer et serienummer til en ugedag +WEEKNUM = UGE.NR ## Konverterer et serienummer til et tal, der angiver ugenummeret i året +WORKDAY = ARBEJDSDAG ## Returnerer serienummeret for dagen før eller efter det angivne antal arbejdsdage +YEAR = ÅR ## Konverterer et serienummer til et år +YEARFRAC = ÅR.BRØK ## Returnerer årsbrøken, der repræsenterer antallet af hele dage mellem startdato og slutdato + + +## +## Engineering functions Tekniske funktioner +## +BESSELI = BESSELI ## Returnerer den modificerede Bessel-funktion In(x) +BESSELJ = BESSELJ ## Returnerer Bessel-funktionen Jn(x) +BESSELK = BESSELK ## Returnerer den modificerede Bessel-funktion Kn(x) +BESSELY = BESSELY ## Returnerer Bessel-funktionen Yn(x) +BIN2DEC = BIN.TIL.DEC ## Konverterer et binært tal til et decimaltal +BIN2HEX = BIN.TIL.HEX ## Konverterer et binært tal til et heksadecimalt tal +BIN2OCT = BIN.TIL.OKT ## Konverterer et binært tal til et oktaltal. +COMPLEX = KOMPLEKS ## Konverterer reelle og imaginære koefficienter til et komplekst tal +CONVERT = KONVERTER ## Konverterer et tal fra én måleenhed til en anden +DEC2BIN = DEC.TIL.BIN ## Konverterer et decimaltal til et binært tal +DEC2HEX = DEC.TIL.HEX ## Konverterer et decimaltal til et heksadecimalt tal +DEC2OCT = DEC.TIL.OKT ## Konverterer et decimaltal til et oktaltal +DELTA = DELTA ## Tester, om to værdier er ens +ERF = FEJLFUNK ## Returner fejlfunktionen +ERFC = FEJLFUNK.KOMP ## Returnerer den komplementære fejlfunktion +GESTEP = GETRIN ## Tester, om et tal er større end en grænseværdi +HEX2BIN = HEX.TIL.BIN ## Konverterer et heksadecimalt tal til et binært tal +HEX2DEC = HEX.TIL.DEC ## Konverterer et decimaltal til et heksadecimalt tal +HEX2OCT = HEX.TIL.OKT ## Konverterer et heksadecimalt tal til et oktaltal +IMABS = IMAGABS ## Returnerer den absolutte værdi (modulus) for et komplekst tal +IMAGINARY = IMAGINÆR ## Returnerer den imaginære koefficient for et komplekst tal +IMARGUMENT = IMAGARGUMENT ## Returnerer argumentet theta, en vinkel udtrykt i radianer +IMCONJUGATE = IMAGKONJUGERE ## Returnerer den komplekse konjugation af et komplekst tal +IMCOS = IMAGCOS ## Returnerer et komplekst tals cosinus +IMDIV = IMAGDIV ## Returnerer kvotienten for to komplekse tal +IMEXP = IMAGEKSP ## Returnerer et komplekst tals eksponentialfunktion +IMLN = IMAGLN ## Returnerer et komplekst tals naturlige logaritme +IMLOG10 = IMAGLOG10 ## Returnerer et komplekst tals sædvanlige logaritme (titalslogaritme) +IMLOG2 = IMAGLOG2 ## Returnerer et komplekst tals sædvanlige logaritme (totalslogaritme) +IMPOWER = IMAGPOTENS ## Returnerer et komplekst tal opløftet i en heltalspotens +IMPRODUCT = IMAGPRODUKT ## Returnerer produktet af komplekse tal +IMREAL = IMAGREELT ## Returnerer den reelle koefficient for et komplekst tal +IMSIN = IMAGSIN ## Returnerer et komplekst tals sinus +IMSQRT = IMAGKVROD ## Returnerer et komplekst tals kvadratrod +IMSUB = IMAGSUB ## Returnerer forskellen mellem to komplekse tal +IMSUM = IMAGSUM ## Returnerer summen af komplekse tal +OCT2BIN = OKT.TIL.BIN ## Konverterer et oktaltal til et binært tal +OCT2DEC = OKT.TIL.DEC ## Konverterer et oktaltal til et decimaltal +OCT2HEX = OKT.TIL.HEX ## Konverterer et oktaltal til et heksadecimalt tal + + +## +## Financial functions Finansielle funktioner +## +ACCRINT = PÅLØBRENTE ## Returnerer den påløbne rente for et værdipapir med periodiske renteudbetalinger +ACCRINTM = PÅLØBRENTE.UDLØB ## Returnerer den påløbne rente for et værdipapir, hvor renteudbetalingen finder sted ved papirets udløb +AMORDEGRC = AMORDEGRC ## Returnerer afskrivningsbeløbet for hver regnskabsperiode ved hjælp af en afskrivningskoefficient +AMORLINC = AMORLINC ## Returnerer afskrivningsbeløbet for hver regnskabsperiode +COUPDAYBS = KUPONDAGE.SA ## Returnerer antallet af dage fra starten af kuponperioden til afregningsdatoen +COUPDAYS = KUPONDAGE.A ## Returnerer antallet af dage fra begyndelsen af kuponperioden til afregningsdatoen +COUPDAYSNC = KUPONDAGE.ANK ## Returnerer antallet af dage i den kuponperiode, der indeholder afregningsdatoen +COUPNCD = KUPONDAG.NÆSTE ## Returnerer den næste kupondato efter afregningsdatoen +COUPNUM = KUPONBETALINGER ## Returnerer antallet af kuponudbetalinger mellem afregnings- og udløbsdatoen +COUPPCD = KUPONDAG.FORRIGE ## Returnerer den forrige kupondato før afregningsdatoen +CUMIPMT = AKKUM.RENTE ## Returnerer den akkumulerede rente, der betales på et lån mellem to perioder +CUMPRINC = AKKUM.HOVEDSTOL ## Returnerer den akkumulerede nedbringelse af hovedstol mellem to perioder +DB = DB ## Returnerer afskrivningen på et aktiv i en angivet periode ved anvendelse af saldometoden +DDB = DSA ## Returnerer afskrivningsbeløbet for et aktiv over en bestemt periode ved anvendelse af dobbeltsaldometoden eller en anden afskrivningsmetode, som du angiver +DISC = DISKONTO ## Returnerer et værdipapirs diskonto +DOLLARDE = KR.DECIMAL ## Konverterer en kronepris udtrykt som brøk til en kronepris udtrykt som decimaltal +DOLLARFR = KR.BRØK ## Konverterer en kronepris udtrykt som decimaltal til en kronepris udtrykt som brøk +DURATION = VARIGHED ## Returnerer den årlige løbetid for et værdipapir med periodiske renteudbetalinger +EFFECT = EFFEKTIV.RENTE ## Returnerer den årlige effektive rente +FV = FV ## Returnerer fremtidsværdien af en investering +FVSCHEDULE = FVTABEL ## Returnerer den fremtidige værdi af en hovedstol, når der er tilskrevet rente og rentes rente efter forskellige rentesatser +INTRATE = RENTEFOD ## Returnerer renten på et fuldt ud investeret værdipapir +IPMT = R.YDELSE ## Returnerer renten fra en investering for en given periode +IRR = IA ## Returnerer den interne rente for en række pengestrømme +ISPMT = ISPMT ## Beregner den betalte rente i løbet af en bestemt investeringsperiode +MDURATION = MVARIGHED ## Returnerer Macauleys modificerede løbetid for et værdipapir med en formodet pari på kr. 100 +MIRR = MIA ## Returnerer den interne forrentning, hvor positive og negative pengestrømme finansieres til forskellig rente +NOMINAL = NOMINEL ## Returnerer den årlige nominelle rente +NPER = NPER ## Returnerer antallet af perioder for en investering +NPV = NUTIDSVÆRDI ## Returnerer nettonutidsværdien for en investering baseret på en række periodiske pengestrømme og en diskonteringssats +ODDFPRICE = ULIGE.KURS.PÅLYDENDE ## Returnerer kursen pr. kr. 100 nominel værdi for et værdipapir med en ulige (kort eller lang) første periode +ODDFYIELD = ULIGE.FØRSTE.AFKAST ## Returnerer afkastet for et værdipapir med ulige første periode +ODDLPRICE = ULIGE.SIDSTE.KURS ## Returnerer kursen pr. kr. 100 nominel værdi for et værdipapir med ulige sidste periode +ODDLYIELD = ULIGE.SIDSTE.AFKAST ## Returnerer afkastet for et værdipapir med ulige sidste periode +PMT = YDELSE ## Returnerer renten fra en investering for en given periode +PPMT = H.YDELSE ## Returnerer ydelsen på hovedstolen for en investering i en given periode +PRICE = KURS ## Returnerer kursen pr. kr 100 nominel værdi for et værdipapir med periodiske renteudbetalinger +PRICEDISC = KURS.DISKONTO ## Returnerer kursen pr. kr 100 nominel værdi for et diskonteret værdipapir +PRICEMAT = KURS.UDLØB ## Returnerer kursen pr. kr 100 nominel værdi for et værdipapir, hvor renten udbetales ved papirets udløb +PV = NV ## Returnerer den nuværende værdi af en investering +RATE = RENTE ## Returnerer renten i hver periode for en annuitet +RECEIVED = MODTAGET.VED.UDLØB ## Returnerer det beløb, der modtages ved udløbet af et fuldt ud investeret værdipapir +SLN = LA ## Returnerer den lineære afskrivning for et aktiv i en enkelt periode +SYD = ÅRSAFSKRIVNING ## Returnerer den årlige afskrivning på et aktiv i en bestemt periode +TBILLEQ = STATSOBLIGATION ## Returnerer det obligationsækvivalente afkast for en statsobligation +TBILLPRICE = STATSOBLIGATION.KURS ## Returnerer kursen pr. kr 100 nominel værdi for en statsobligation +TBILLYIELD = STATSOBLIGATION.AFKAST ## Returnerer en afkastet på en statsobligation +VDB = VSA ## Returnerer afskrivningen på et aktiv i en angivet periode, herunder delperioder, ved brug af dobbeltsaldometoden +XIRR = INTERN.RENTE ## Returnerer den interne rente for en plan over pengestrømme, der ikke behøver at være periodiske +XNPV = NETTO.NUTIDSVÆRDI ## Returnerer nutidsværdien for en plan over pengestrømme, der ikke behøver at være periodiske +YIELD = AFKAST ## Returnerer afkastet for et værdipapir med periodiske renteudbetalinger +YIELDDISC = AFKAST.DISKONTO ## Returnerer det årlige afkast for et diskonteret værdipapir, f.eks. en statsobligation +YIELDMAT = AFKAST.UDLØBSDATO ## Returnerer det årlige afkast for et værdipapir, hvor renten udbetales ved papirets udløb + + +## +## Information functions Informationsfunktioner +## +CELL = CELLE ## Returnerer oplysninger om formatering, placering eller indhold af en celle +ERROR.TYPE = FEJLTYPE ## Returnerer et tal, der svarer til en fejltype +INFO = INFO ## Returnerer oplysninger om det aktuelle operativmiljø +ISBLANK = ER.TOM ## Returnerer SAND, hvis værdien er tom +ISERR = ER.FJL ## Returnerer SAND, hvis værdien er en fejlværdi undtagen #I/T +ISERROR = ER.FEJL ## Returnerer SAND, hvis værdien er en fejlværdi +ISEVEN = ER.LIGE ## Returnerer SAND, hvis tallet er lige +ISLOGICAL = ER.LOGISK ## Returnerer SAND, hvis værdien er en logisk værdi +ISNA = ER.IKKE.TILGÆNGELIG ## Returnerer SAND, hvis værdien er fejlværdien #I/T +ISNONTEXT = ER.IKKE.TEKST ## Returnerer SAND, hvis værdien ikke er tekst +ISNUMBER = ER.TAL ## Returnerer SAND, hvis værdien er et tal +ISODD = ER.ULIGE ## Returnerer SAND, hvis tallet er ulige +ISREF = ER.REFERENCE ## Returnerer SAND, hvis værdien er en reference +ISTEXT = ER.TEKST ## Returnerer SAND, hvis værdien er tekst +N = TAL ## Returnerer en værdi konverteret til et tal +NA = IKKE.TILGÆNGELIG ## Returnerer fejlværdien #I/T +TYPE = VÆRDITYPE ## Returnerer et tal, der angiver datatypen for en værdi + + +## +## Logical functions Logiske funktioner +## +AND = OG ## Returnerer SAND, hvis alle argumenterne er sande +FALSE = FALSK ## Returnerer den logiske værdi FALSK +IF = HVIS ## Angiver en logisk test, der skal udføres +IFERROR = HVIS.FEJL ## Returnerer en værdi, du angiver, hvis en formel evauleres som en fejl. Returnerer i modsat fald resultatet af formlen +NOT = IKKE ## Vender argumentets logik om +OR = ELLER ## Returneret værdien SAND, hvis mindst ét argument er sandt +TRUE = SAND ## Returnerer den logiske værdi SAND + + +## +## Lookup and reference functions Opslags- og referencefunktioner +## +ADDRESS = ADRESSE ## Returnerer en reference som tekst til en enkelt celle i et regneark +AREAS = OMRÅDER ## Returnerer antallet af områder i en reference +CHOOSE = VÆLG ## Vælger en værdi på en liste med værdier +COLUMN = KOLONNE ## Returnerer kolonnenummeret i en reference +COLUMNS = KOLONNER ## Returnerer antallet af kolonner i en reference +HLOOKUP = VOPSLAG ## Søger i den øverste række af en matrix og returnerer værdien af den angivne celle +HYPERLINK = HYPERLINK ## Opretter en genvej kaldet et hyperlink, der åbner et dokument, som er lagret på en netværksserver, på et intranet eller på internettet +INDEX = INDEKS ## Anvender et indeks til at vælge en værdi fra en reference eller en matrix +INDIRECT = INDIREKTE ## Returnerer en reference, der er angivet af en tekstværdi +LOOKUP = SLÅ.OP ## Søger værdier i en vektor eller en matrix +MATCH = SAMMENLIGN ## Søger værdier i en reference eller en matrix +OFFSET = FORSKYDNING ## Returnerer en reference forskudt i forhold til en given reference +ROW = RÆKKE ## Returnerer rækkenummeret for en reference +ROWS = RÆKKER ## Returnerer antallet af rækker i en reference +RTD = RTD ## Henter realtidsdata fra et program, der understøtter COM-automatisering (Automation: En metode til at arbejde med objekter fra et andet program eller udviklingsværktøj. Automation, som tidligere blev kaldt OLE Automation, er en industristandard og en funktion i COM (Component Object Model).) +TRANSPOSE = TRANSPONER ## Returnerer en transponeret matrix +VLOOKUP = LOPSLAG ## Søger i øverste række af en matrix og flytter på tværs af rækken for at returnere en celleværdi + + +## +## Math and trigonometry functions Matematiske og trigonometriske funktioner +## +ABS = ABS ## Returnerer den absolutte værdi af et tal +ACOS = ARCCOS ## Returnerer et tals arcus cosinus +ACOSH = ARCCOSH ## Returnerer den inverse hyperbolske cosinus af tal +ASIN = ARCSIN ## Returnerer et tals arcus sinus +ASINH = ARCSINH ## Returnerer den inverse hyperbolske sinus for tal +ATAN = ARCTAN ## Returnerer et tals arcus tangens +ATAN2 = ARCTAN2 ## Returnerer de angivne x- og y-koordinaters arcus tangens +ATANH = ARCTANH ## Returnerer et tals inverse hyperbolske tangens +CEILING = AFRUND.LOFT ## Afrunder et tal til nærmeste heltal eller til nærmeste multiplum af betydning +COMBIN = KOMBIN ## Returnerer antallet af kombinationer for et givet antal objekter +COS = COS ## Returnerer et tals cosinus +COSH = COSH ## Returnerer den inverse hyperbolske cosinus af et tal +DEGREES = GRADER ## Konverterer radianer til grader +EVEN = LIGE ## Runder et tal op til nærmeste lige heltal +EXP = EKSP ## Returnerer e opløftet til en potens af et angivet tal +FACT = FAKULTET ## Returnerer et tals fakultet +FACTDOUBLE = DOBBELT.FAKULTET ## Returnerer et tals dobbelte fakultet +FLOOR = AFRUND.GULV ## Runder et tal ned mod nul +GCD = STØRSTE.FÆLLES.DIVISOR ## Returnerer den største fælles divisor +INT = HELTAL ## Nedrunder et tal til det nærmeste heltal +LCM = MINDSTE.FÆLLES.MULTIPLUM ## Returnerer det mindste fælles multiplum +LN = LN ## Returnerer et tals naturlige logaritme +LOG = LOG ## Returnerer logaritmen for et tal på grundlag af et angivet grundtal +LOG10 = LOG10 ## Returnerer titalslogaritmen af et tal +MDETERM = MDETERM ## Returnerer determinanten for en matrix +MINVERSE = MINVERT ## Returnerer den inverse matrix for en matrix +MMULT = MPRODUKT ## Returnerer matrixproduktet af to matrixer +MOD = REST ## Returnerer restværdien fra division +MROUND = MAFRUND ## Returnerer et tal afrundet til det ønskede multiplum +MULTINOMIAL = MULTINOMIAL ## Returnerer et multinomialt talsæt +ODD = ULIGE ## Runder et tal op til nærmeste ulige heltal +PI = PI ## Returnerer værdien af pi +POWER = POTENS ## Returnerer resultatet af et tal opløftet til en potens +PRODUCT = PRODUKT ## Multiplicerer argumenterne +QUOTIENT = KVOTIENT ## Returnerer heltalsdelen ved division +RADIANS = RADIANER ## Konverterer grader til radianer +RAND = SLUMP ## Returnerer et tilfældigt tal mellem 0 og 1 +RANDBETWEEN = SLUMP.MELLEM ## Returnerer et tilfældigt tal mellem de tal, der angives +ROMAN = ROMERTAL ## Konverterer et arabertal til romertal som tekst +ROUND = AFRUND ## Afrunder et tal til et angivet antal decimaler +ROUNDDOWN = RUND.NED ## Runder et tal ned mod nul +ROUNDUP = RUND.OP ## Runder et tal op, væk fra 0 (nul) +SERIESSUM = SERIESUM ## Returnerer summen af en potensserie baseret på en formel +SIGN = FORTEGN ## Returnerer et tals fortegn +SIN = SIN ## Returnerer en given vinkels sinusværdi +SINH = SINH ## Returnerer den hyperbolske sinus af et tal +SQRT = KVROD ## Returnerer en positiv kvadratrod +SQRTPI = KVRODPI ## Returnerer kvadratroden af (tal * pi;) +SUBTOTAL = SUBTOTAL ## Returnerer en subtotal på en liste eller i en database +SUM = SUM ## Lægger argumenterne sammen +SUMIF = SUM.HVIS ## Lægger de celler sammen, der er specificeret af et givet kriterium. +SUMIFS = SUM.HVISER ## Lægger de celler i et område sammen, der opfylder flere kriterier. +SUMPRODUCT = SUMPRODUKT ## Returnerer summen af produkter af ens matrixkomponenter +SUMSQ = SUMKV ## Returnerer summen af argumenternes kvadrater +SUMX2MY2 = SUMX2MY2 ## Returnerer summen af differensen mellem kvadrater af ens værdier i to matrixer +SUMX2PY2 = SUMX2PY2 ## Returnerer summen af summen af kvadrater af tilsvarende værdier i to matrixer +SUMXMY2 = SUMXMY2 ## Returnerer summen af kvadrater af differenser mellem ens værdier i to matrixer +TAN = TAN ## Returnerer et tals tangens +TANH = TANH ## Returnerer et tals hyperbolske tangens +TRUNC = AFKORT ## Afkorter et tal til et heltal + + +## +## Statistical functions Statistiske funktioner +## +AVEDEV = MAD ## Returnerer den gennemsnitlige numeriske afvigelse fra stikprøvens middelværdi +AVERAGE = MIDDEL ## Returnerer middelværdien af argumenterne +AVERAGEA = MIDDELV ## Returnerer middelværdien af argumenterne og medtager tal, tekst og logiske værdier +AVERAGEIF = MIDDEL.HVIS ## Returnerer gennemsnittet (den aritmetiske middelværdi) af alle de celler, der opfylder et givet kriterium, i et område +AVERAGEIFS = MIDDEL.HVISER ## Returnerer gennemsnittet (den aritmetiske middelværdi) af alle de celler, der opfylder flere kriterier. +BETADIST = BETAFORDELING ## Returnerer den kumulative betafordelingsfunktion +BETAINV = BETAINV ## Returnerer den inverse kumulative fordelingsfunktion for en angivet betafordeling +BINOMDIST = BINOMIALFORDELING ## Returnerer punktsandsynligheden for binomialfordelingen +CHIDIST = CHIFORDELING ## Returnerer fraktilsandsynligheden for en chi2-fordeling +CHIINV = CHIINV ## Returnerer den inverse fraktilsandsynlighed for en chi2-fordeling +CHITEST = CHITEST ## Foretager en test for uafhængighed +CONFIDENCE = KONFIDENSINTERVAL ## Returnerer et konfidensinterval for en population +CORREL = KORRELATION ## Returnerer korrelationskoefficienten mellem to datasæt +COUNT = TÆL ## Tæller antallet af tal på en liste med argumenter +COUNTA = TÆLV ## Tæller antallet af værdier på en liste med argumenter +COUNTBLANK = ANTAL.BLANKE ## Tæller antallet af tomme celler i et område +COUNTIF = TÆLHVIS ## Tæller antallet af celler, som opfylder de givne kriterier, i et område +COUNTIFS = TÆL.HVISER ## Tæller antallet af de celler, som opfylder flere kriterier, i et område +COVAR = KOVARIANS ## Beregner kovariansen mellem to stokastiske variabler +CRITBINOM = KRITBINOM ## Returnerer den mindste værdi for x, for hvilken det gælder, at fordelingsfunktionen er mindre end eller lig med kriterieværdien. +DEVSQ = SAK ## Returnerer summen af de kvadrerede afvigelser fra middelværdien +EXPONDIST = EKSPFORDELING ## Returnerer eksponentialfordelingen +FDIST = FFORDELING ## Returnerer fraktilsandsynligheden for F-fordelingen +FINV = FINV ## Returnerer den inverse fraktilsandsynlighed for F-fordelingen +FISHER = FISHER ## Returnerer Fisher-transformationen +FISHERINV = FISHERINV ## Returnerer den inverse Fisher-transformation +FORECAST = PROGNOSE ## Returnerer en prognoseværdi baseret på lineær tendens +FREQUENCY = FREKVENS ## Returnerer en frekvensfordeling i en søjlevektor +FTEST = FTEST ## Returnerer resultatet af en F-test til sammenligning af varians +GAMMADIST = GAMMAFORDELING ## Returnerer fordelingsfunktionen for gammafordelingen +GAMMAINV = GAMMAINV ## Returnerer den inverse fordelingsfunktion for gammafordelingen +GAMMALN = GAMMALN ## Returnerer den naturlige logaritme til gammafordelingen, G(x) +GEOMEAN = GEOMIDDELVÆRDI ## Returnerer det geometriske gennemsnit +GROWTH = FORØGELSE ## Returnerer værdier langs en eksponentiel tendens +HARMEAN = HARMIDDELVÆRDI ## Returnerer det harmoniske gennemsnit +HYPGEOMDIST = HYPGEOFORDELING ## Returnerer punktsandsynligheden i en hypergeometrisk fordeling +INTERCEPT = SKÆRING ## Returnerer afskæringsværdien på y-aksen i en lineær regression +KURT = TOPSTEJL ## Returnerer kurtosisværdien for en stokastisk variabel +LARGE = STOR ## Returnerer den k'te største værdi i et datasæt +LINEST = LINREGR ## Returnerer parameterestimaterne for en lineær tendens +LOGEST = LOGREGR ## Returnerer parameterestimaterne for en eksponentiel tendens +LOGINV = LOGINV ## Returnerer den inverse fordelingsfunktion for lognormalfordelingen +LOGNORMDIST = LOGNORMFORDELING ## Returnerer fordelingsfunktionen for lognormalfordelingen +MAX = MAKS ## Returnerer den maksimale værdi på en liste med argumenter. +MAXA = MAKSV ## Returnerer den maksimale værdi på en liste med argumenter og medtager tal, tekst og logiske værdier +MEDIAN = MEDIAN ## Returnerer medianen for de angivne tal +MIN = MIN ## Returnerer den mindste værdi på en liste med argumenter. +MINA = MINV ## Returnerer den mindste værdi på en liste med argumenter og medtager tal, tekst og logiske værdier +MODE = HYPPIGST ## Returnerer den hyppigste værdi i et datasæt +NEGBINOMDIST = NEGBINOMFORDELING ## Returnerer den negative binomialfordeling +NORMDIST = NORMFORDELING ## Returnerer fordelingsfunktionen for normalfordelingen +NORMINV = NORMINV ## Returnerer den inverse fordelingsfunktion for normalfordelingen +NORMSDIST = STANDARDNORMFORDELING ## Returnerer fordelingsfunktionen for standardnormalfordelingen +NORMSINV = STANDARDNORMINV ## Returnerer den inverse fordelingsfunktion for standardnormalfordelingen +PEARSON = PEARSON ## Returnerer Pearsons korrelationskoefficient +PERCENTILE = FRAKTIL ## Returnerer den k'te fraktil for datasættet +PERCENTRANK = PROCENTPLADS ## Returnerer den procentuelle rang for en given værdi i et datasæt +PERMUT = PERMUT ## Returnerer antallet af permutationer for et givet sæt objekter +POISSON = POISSON ## Returnerer fordelingsfunktionen for en Poisson-fordeling +PROB = SANDSYNLIGHED ## Returnerer intervalsandsynligheden +QUARTILE = KVARTIL ## Returnerer kvartilen i et givet datasæt +RANK = PLADS ## Returnerer rangen for et tal på en liste med tal +RSQ = FORKLARINGSGRAD ## Returnerer R2-værdien fra en simpel lineær regression +SKEW = SKÆVHED ## Returnerer skævheden for en stokastisk variabel +SLOPE = HÆLDNING ## Returnerer estimatet på hældningen fra en simpel lineær regression +SMALL = MINDSTE ## Returnerer den k'te mindste værdi i datasættet +STANDARDIZE = STANDARDISER ## Returnerer en standardiseret værdi +STDEV = STDAFV ## Estimerer standardafvigelsen på basis af en stikprøve +STDEVA = STDAFVV ## Beregner standardafvigelsen på basis af en prøve og medtager tal, tekst og logiske værdier +STDEVP = STDAFVP ## Beregner standardafvigelsen på basis af en hel population +STDEVPA = STDAFVPV ## Beregner standardafvigelsen på basis af en hel population og medtager tal, tekst og logiske værdier +STEYX = STFYX ## Returnerer standardafvigelsen for de estimerede y-værdier i den simple lineære regression +TDIST = TFORDELING ## Returnerer fordelingsfunktionen for Student's t-fordeling +TINV = TINV ## Returnerer den inverse fordelingsfunktion for Student's t-fordeling +TREND = TENDENS ## Returnerer værdi under antagelse af en lineær tendens +TRIMMEAN = TRIMMIDDELVÆRDI ## Returnerer den trimmede middelværdi for datasættet +TTEST = TTEST ## Returnerer den sandsynlighed, der er forbundet med Student's t-test +VAR = VARIANS ## Beregner variansen på basis af en prøve +VARA = VARIANSV ## Beregner variansen på basis af en prøve og medtager tal, tekst og logiske værdier +VARP = VARIANSP ## Beregner variansen på basis af hele populationen +VARPA = VARIANSPV ## Beregner variansen på basis af hele populationen og medtager tal, tekst og logiske værdier +WEIBULL = WEIBULL ## Returnerer fordelingsfunktionen for Weibull-fordelingen +ZTEST = ZTEST ## Returnerer sandsynlighedsværdien ved en en-sidet z-test + + +## +## Text functions Tekstfunktioner +## +ASC = ASC ## Ændrer engelske tegn i fuld bredde (dobbelt-byte) eller katakana i en tegnstreng til tegn i halv bredde (enkelt-byte) +BAHTTEXT = BAHTTEKST ## Konverterer et tal til tekst ved hjælp af valutaformatet ß (baht) +CHAR = TEGN ## Returnerer det tegn, der svarer til kodenummeret +CLEAN = RENS ## Fjerner alle tegn, der ikke kan udskrives, fra tekst +CODE = KODE ## Returnerer en numerisk kode for det første tegn i en tekststreng +CONCATENATE = SAMMENKÆDNING ## Sammenkæder adskillige tekstelementer til ét tekstelement +DOLLAR = KR ## Konverterer et tal til tekst ved hjælp af valutaformatet kr. (kroner) +EXACT = EKSAKT ## Kontrollerer, om to tekstværdier er identiske +FIND = FIND ## Søger efter en tekstværdi i en anden tekstværdi (der skelnes mellem store og små bogstaver) +FINDB = FINDB ## Søger efter en tekstværdi i en anden tekstværdi (der skelnes mellem store og små bogstaver) +FIXED = FAST ## Formaterer et tal som tekst med et fast antal decimaler +JIS = JIS ## Ændrer engelske tegn i halv bredde (enkelt-byte) eller katakana i en tegnstreng til tegn i fuld bredde (dobbelt-byte) +LEFT = VENSTRE ## Returnerer tegnet længst til venstre i en tekstværdi +LEFTB = VENSTREB ## Returnerer tegnet længst til venstre i en tekstværdi +LEN = LÆNGDE ## Returnerer antallet af tegn i en tekststreng +LENB = LÆNGDEB ## Returnerer antallet af tegn i en tekststreng +LOWER = SMÅ.BOGSTAVER ## Konverterer tekst til små bogstaver +MID = MIDT ## Returnerer et bestemt antal tegn fra en tekststreng fra og med den angivne startposition +MIDB = MIDTB ## Returnerer et bestemt antal tegn fra en tekststreng fra og med den angivne startposition +PHONETIC = FONETISK ## Uddrager de fonetiske (furigana) tegn fra en tekststreng +PROPER = STORT.FORBOGSTAV ## Konverterer første bogstav i hvert ord i teksten til stort bogstav +REPLACE = ERSTAT ## Erstatter tegn i tekst +REPLACEB = ERSTATB ## Erstatter tegn i tekst +REPT = GENTAG ## Gentager tekst et givet antal gange +RIGHT = HØJRE ## Returnerer tegnet længste til højre i en tekstværdi +RIGHTB = HØJREB ## Returnerer tegnet længste til højre i en tekstværdi +SEARCH = SØG ## Søger efter en tekstværdi i en anden tekstværdi (der skelnes ikke mellem store og små bogstaver) +SEARCHB = SØGB ## Søger efter en tekstværdi i en anden tekstværdi (der skelnes ikke mellem store og små bogstaver) +SUBSTITUTE = UDSKIFT ## Udskifter gammel tekst med ny tekst i en tekststreng +T = T ## Konverterer argumenterne til tekst +TEXT = TEKST ## Formaterer et tal og konverterer det til tekst +TRIM = FJERN.OVERFLØDIGE.BLANKE ## Fjerner mellemrum fra tekst +UPPER = STORE.BOGSTAVER ## Konverterer tekst til store bogstaver +VALUE = VÆRDI ## Konverterer et tekstargument til et tal diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/locale/de/config b/vendor/phpoffice/phpexcel/Classes/PHPExcel/locale/de/config new file mode 100644 index 00000000..aa0228e7 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/locale/de/config @@ -0,0 +1,47 @@ +## +## PHPExcel +## +## Copyright (c) 2006 - 2013 PHPExcel +## +## This library is free software; you can redistribute it and/or +## modify it under the terms of the GNU Lesser General Public +## License as published by the Free Software Foundation; either +## version 2.1 of the License, or (at your option) any later version. +## +## This library is distributed in the hope that it will be useful, +## but WITHOUT ANY WARRANTY; without even the implied warranty of +## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +## Lesser General Public License for more details. +## +## You should have received a copy of the GNU Lesser General Public +## License along with this library; if not, write to the Free Software +## Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +## +## @category PHPExcel +## @package PHPExcel_Settings +## @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel) +## @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL +## @version ##VERSION##, ##DATE## +## +## + + +ArgumentSeparator = ; + + +## +## (For future use) +## +currencySymbol = € + + +## +## Excel Error Codes (For future use) +## +NULL = #NULL! +DIV0 = #DIV/0! +VALUE = #WERT! +REF = #BEZUG! +NAME = #NAME? +NUM = #ZAHL! +NA = #NV diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/locale/de/functions b/vendor/phpoffice/phpexcel/Classes/PHPExcel/locale/de/functions new file mode 100644 index 00000000..3147f9c8 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/locale/de/functions @@ -0,0 +1,438 @@ +## +## PHPExcel +## +## Copyright (c) 2006 - 2013 PHPExcel +## +## This library is free software; you can redistribute it and/or +## modify it under the terms of the GNU Lesser General Public +## License as published by the Free Software Foundation; either +## version 2.1 of the License, or (at your option) any later version. +## +## This library is distributed in the hope that it will be useful, +## but WITHOUT ANY WARRANTY; without even the implied warranty of +## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +## Lesser General Public License for more details. +## +## You should have received a copy of the GNU Lesser General Public +## License along with this library; if not, write to the Free Software +## Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +## +## @category PHPExcel +## @package PHPExcel_Calculation +## @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel) +## @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL +## @version ##VERSION##, ##DATE## +## +## Data in this file derived from http://www.piuha.fi/excel-function-name-translation/ +## +## + + +## +## Add-in and Automation functions Add-In- und Automatisierungsfunktionen +## +GETPIVOTDATA = PIVOTDATENZUORDNEN ## In einem PivotTable-Bericht gespeicherte Daten werden zurückgegeben. + + +## +## Cube functions Cubefunktionen +## +CUBEKPIMEMBER = CUBEKPIELEMENT ## Gibt Name, Eigenschaft und Measure eines Key Performance Indicators (KPI) zurück und zeigt den Namen und die Eigenschaft in der Zelle an. Ein KPI ist ein quantifizierbares Maß, wie z. B. der monatliche Bruttogewinn oder die vierteljährliche Mitarbeiterfluktuation, mit dessen Hilfe das Leistungsverhalten eines Unternehmens überwacht werden kann. +CUBEMEMBER = CUBEELEMENT ## Gibt ein Element oder ein Tuple in einer Cubehierarchie zurück. Wird verwendet, um zu überprüfen, ob das Element oder Tuple im Cube vorhanden ist. +CUBEMEMBERPROPERTY = CUBEELEMENTEIGENSCHAFT ## Gibt den Wert einer Elementeigenschaft im Cube zurück. Wird verwendet, um zu überprüfen, ob ein Elementname im Cube vorhanden ist, und um die für dieses Element angegebene Eigenschaft zurückzugeben. +CUBERANKEDMEMBER = CUBERANGELEMENT ## Gibt das n-te oder n-rangige Element in einer Menge zurück. Wird verwendet, um mindestens ein Element in einer Menge zurückzugeben, wie z. B. bester Vertriebsmitarbeiter oder 10 beste Kursteilnehmer. +CUBESET = CUBEMENGE ## Definiert eine berechnete Menge Elemente oder Tuples durch Senden eines Mengenausdrucks an den Cube auf dem Server, der die Menge erstellt und an Microsoft Office Excel zurückgibt. +CUBESETCOUNT = CUBEMENGENANZAHL ## Gibt die Anzahl der Elemente in einer Menge zurück. +CUBEVALUE = CUBEWERT ## Gibt einen Aggregatwert aus einem Cube zurück. + + +## +## Database functions Datenbankfunktionen +## +DAVERAGE = DBMITTELWERT ## Gibt den Mittelwert der ausgewählten Datenbankeinträge zurück +DCOUNT = DBANZAHL ## Zählt die Zellen mit Zahlen in einer Datenbank +DCOUNTA = DBANZAHL2 ## Zählt nicht leere Zellen in einer Datenbank +DGET = DBAUSZUG ## Extrahiert aus einer Datenbank einen einzelnen Datensatz, der den angegebenen Kriterien entspricht +DMAX = DBMAX ## Gibt den größten Wert aus ausgewählten Datenbankeinträgen zurück +DMIN = DBMIN ## Gibt den kleinsten Wert aus ausgewählten Datenbankeinträgen zurück +DPRODUCT = DBPRODUKT ## Multipliziert die Werte in einem bestimmten Feld mit Datensätzen, die den Kriterien in einer Datenbank entsprechen +DSTDEV = DBSTDABW ## Schätzt die Standardabweichung auf der Grundlage einer Stichprobe aus ausgewählten Datenbankeinträgen +DSTDEVP = DBSTDABWN ## Berechnet die Standardabweichung auf der Grundlage der Grundgesamtheit ausgewählter Datenbankeinträge +DSUM = DBSUMME ## Addiert die Zahlen in der Feldspalte mit Datensätzen in der Datenbank, die den Kriterien entsprechen +DVAR = DBVARIANZ ## Schätzt die Varianz auf der Grundlage ausgewählter Datenbankeinträge +DVARP = DBVARIANZEN ## Berechnet die Varianz auf der Grundlage der Grundgesamtheit ausgewählter Datenbankeinträge + + +## +## Date and time functions Datums- und Zeitfunktionen +## +DATE = DATUM ## Gibt die fortlaufende Zahl eines bestimmten Datums zurück +DATEVALUE = DATWERT ## Wandelt ein Datum in Form von Text in eine fortlaufende Zahl um +DAY = TAG ## Wandelt eine fortlaufende Zahl in den Tag des Monats um +DAYS360 = TAGE360 ## Berechnet die Anzahl der Tage zwischen zwei Datumsangaben ausgehend von einem Jahr, das 360 Tage hat +EDATE = EDATUM ## Gibt die fortlaufende Zahl des Datums zurück, bei dem es sich um die angegebene Anzahl von Monaten vor oder nach dem Anfangstermin handelt +EOMONTH = MONATSENDE ## Gibt die fortlaufende Zahl des letzten Tags des Monats vor oder nach einer festgelegten Anzahl von Monaten zurück +HOUR = STUNDE ## Wandelt eine fortlaufende Zahl in eine Stunde um +MINUTE = MINUTE ## Wandelt eine fortlaufende Zahl in eine Minute um +MONTH = MONAT ## Wandelt eine fortlaufende Zahl in einen Monat um +NETWORKDAYS = NETTOARBEITSTAGE ## Gibt die Anzahl von ganzen Arbeitstagen zwischen zwei Datumswerten zurück +NOW = JETZT ## Gibt die fortlaufende Zahl des aktuellen Datums und der aktuellen Uhrzeit zurück +SECOND = SEKUNDE ## Wandelt eine fortlaufende Zahl in eine Sekunde um +TIME = ZEIT ## Gibt die fortlaufende Zahl einer bestimmten Uhrzeit zurück +TIMEVALUE = ZEITWERT ## Wandelt eine Uhrzeit in Form von Text in eine fortlaufende Zahl um +TODAY = HEUTE ## Gibt die fortlaufende Zahl des heutigen Datums zurück +WEEKDAY = WOCHENTAG ## Wandelt eine fortlaufende Zahl in den Wochentag um +WEEKNUM = KALENDERWOCHE ## Wandelt eine fortlaufende Zahl in eine Zahl um, die angibt, in welche Woche eines Jahres das angegebene Datum fällt +WORKDAY = ARBEITSTAG ## Gibt die fortlaufende Zahl des Datums vor oder nach einer bestimmten Anzahl von Arbeitstagen zurück +YEAR = JAHR ## Wandelt eine fortlaufende Zahl in ein Jahr um +YEARFRAC = BRTEILJAHRE ## Gibt die Anzahl der ganzen Tage zwischen Ausgangsdatum und Enddatum in Bruchteilen von Jahren zurück + + +## +## Engineering functions Konstruktionsfunktionen +## +BESSELI = BESSELI ## Gibt die geänderte Besselfunktion In(x) zurück +BESSELJ = BESSELJ ## Gibt die Besselfunktion Jn(x) zurück +BESSELK = BESSELK ## Gibt die geänderte Besselfunktion Kn(x) zurück +BESSELY = BESSELY ## Gibt die Besselfunktion Yn(x) zurück +BIN2DEC = BININDEZ ## Wandelt eine binäre Zahl (Dualzahl) in eine dezimale Zahl um +BIN2HEX = BININHEX ## Wandelt eine binäre Zahl (Dualzahl) in eine hexadezimale Zahl um +BIN2OCT = BININOKT ## Wandelt eine binäre Zahl (Dualzahl) in eine oktale Zahl um +COMPLEX = KOMPLEXE ## Wandelt den Real- und Imaginärteil in eine komplexe Zahl um +CONVERT = UMWANDELN ## Wandelt eine Zahl von einem Maßsystem in ein anderes um +DEC2BIN = DEZINBIN ## Wandelt eine dezimale Zahl in eine binäre Zahl (Dualzahl) um +DEC2HEX = DEZINHEX ## Wandelt eine dezimale Zahl in eine hexadezimale Zahl um +DEC2OCT = DEZINOKT ## Wandelt eine dezimale Zahl in eine oktale Zahl um +DELTA = DELTA ## Überprüft, ob zwei Werte gleich sind +ERF = GAUSSFEHLER ## Gibt die Gauss'sche Fehlerfunktion zurück +ERFC = GAUSSFKOMPL ## Gibt das Komplement zur Gauss'schen Fehlerfunktion zurück +GESTEP = GGANZZAHL ## Überprüft, ob eine Zahl größer als ein gegebener Schwellenwert ist +HEX2BIN = HEXINBIN ## Wandelt eine hexadezimale Zahl in eine Binärzahl um +HEX2DEC = HEXINDEZ ## Wandelt eine hexadezimale Zahl in eine dezimale Zahl um +HEX2OCT = HEXINOKT ## Wandelt eine hexadezimale Zahl in eine Oktalzahl um +IMABS = IMABS ## Gibt den Absolutbetrag (Modulo) einer komplexen Zahl zurück +IMAGINARY = IMAGINÄRTEIL ## Gibt den Imaginärteil einer komplexen Zahl zurück +IMARGUMENT = IMARGUMENT ## Gibt das Argument Theta zurück, einen Winkel, der als Bogenmaß ausgedrückt wird +IMCONJUGATE = IMKONJUGIERTE ## Gibt die konjugierte komplexe Zahl zu einer komplexen Zahl zurück +IMCOS = IMCOS ## Gibt den Kosinus einer komplexen Zahl zurück +IMDIV = IMDIV ## Gibt den Quotienten zweier komplexer Zahlen zurück +IMEXP = IMEXP ## Gibt die algebraische Form einer in exponentieller Schreibweise vorliegenden komplexen Zahl zurück +IMLN = IMLN ## Gibt den natürlichen Logarithmus einer komplexen Zahl zurück +IMLOG10 = IMLOG10 ## Gibt den Logarithmus einer komplexen Zahl zur Basis 10 zurück +IMLOG2 = IMLOG2 ## Gibt den Logarithmus einer komplexen Zahl zur Basis 2 zurück +IMPOWER = IMAPOTENZ ## Potenziert eine komplexe Zahl mit einer ganzen Zahl +IMPRODUCT = IMPRODUKT ## Gibt das Produkt von komplexen Zahlen zurück +IMREAL = IMREALTEIL ## Gibt den Realteil einer komplexen Zahl zurück +IMSIN = IMSIN ## Gibt den Sinus einer komplexen Zahl zurück +IMSQRT = IMWURZEL ## Gibt die Quadratwurzel einer komplexen Zahl zurück +IMSUB = IMSUB ## Gibt die Differenz zwischen zwei komplexen Zahlen zurück +IMSUM = IMSUMME ## Gibt die Summe von komplexen Zahlen zurück +OCT2BIN = OKTINBIN ## Wandelt eine oktale Zahl in eine binäre Zahl (Dualzahl) um +OCT2DEC = OKTINDEZ ## Wandelt eine oktale Zahl in eine dezimale Zahl um +OCT2HEX = OKTINHEX ## Wandelt eine oktale Zahl in eine hexadezimale Zahl um + + +## +## Financial functions Finanzmathematische Funktionen +## +ACCRINT = AUFGELZINS ## Gibt die aufgelaufenen Zinsen (Stückzinsen) eines Wertpapiers mit periodischen Zinszahlungen zurück +ACCRINTM = AUFGELZINSF ## Gibt die aufgelaufenen Zinsen (Stückzinsen) eines Wertpapiers zurück, die bei Fälligkeit ausgezahlt werden +AMORDEGRC = AMORDEGRK ## Gibt die Abschreibung für die einzelnen Abschreibungszeiträume mithilfe eines Abschreibungskoeffizienten zurück +AMORLINC = AMORLINEARK ## Gibt die Abschreibung für die einzelnen Abschreibungszeiträume zurück +COUPDAYBS = ZINSTERMTAGVA ## Gibt die Anzahl der Tage vom Anfang des Zinstermins bis zum Abrechnungstermin zurück +COUPDAYS = ZINSTERMTAGE ## Gibt die Anzahl der Tage der Zinsperiode zurück, die den Abrechnungstermin einschließt +COUPDAYSNC = ZINSTERMTAGNZ ## Gibt die Anzahl der Tage vom Abrechnungstermin bis zum nächsten Zinstermin zurück +COUPNCD = ZINSTERMNZ ## Gibt das Datum des ersten Zinstermins nach dem Abrechnungstermin zurück +COUPNUM = ZINSTERMZAHL ## Gibt die Anzahl der Zinstermine zwischen Abrechnungs- und Fälligkeitsdatum zurück +COUPPCD = ZINSTERMVZ ## Gibt das Datum des letzten Zinstermins vor dem Abrechnungstermin zurück +CUMIPMT = KUMZINSZ ## Berechnet die kumulierten Zinsen, die zwischen zwei Perioden zu zahlen sind +CUMPRINC = KUMKAPITAL ## Berechnet die aufgelaufene Tilgung eines Darlehens, die zwischen zwei Perioden zu zahlen ist +DB = GDA2 ## Gibt die geometrisch-degressive Abschreibung eines Wirtschaftsguts für eine bestimmte Periode zurück +DDB = GDA ## Gibt die Abschreibung eines Anlageguts für einen angegebenen Zeitraum unter Verwendung der degressiven Doppelraten-Abschreibung oder eines anderen von Ihnen angegebenen Abschreibungsverfahrens zurück +DISC = DISAGIO ## Gibt den in Prozent ausgedrückten Abzinsungssatz eines Wertpapiers zurück +DOLLARDE = NOTIERUNGDEZ ## Wandelt eine Notierung, die als Dezimalbruch ausgedrückt wurde, in eine Dezimalzahl um +DOLLARFR = NOTIERUNGBRU ## Wandelt eine Notierung, die als Dezimalzahl ausgedrückt wurde, in einen Dezimalbruch um +DURATION = DURATION ## Gibt die jährliche Duration eines Wertpapiers mit periodischen Zinszahlungen zurück +EFFECT = EFFEKTIV ## Gibt die jährliche Effektivverzinsung zurück +FV = ZW ## Gibt den zukünftigen Wert (Endwert) einer Investition zurück +FVSCHEDULE = ZW2 ## Gibt den aufgezinsten Wert des Anfangskapitals für eine Reihe periodisch unterschiedlicher Zinssätze zurück +INTRATE = ZINSSATZ ## Gibt den Zinssatz eines voll investierten Wertpapiers zurück +IPMT = ZINSZ ## Gibt die Zinszahlung einer Investition für die angegebene Periode zurück +IRR = IKV ## Gibt den internen Zinsfuß einer Investition ohne Finanzierungskosten oder Reinvestitionsgewinne zurück +ISPMT = ISPMT ## Berechnet die während eines bestimmten Zeitraums für eine Investition gezahlten Zinsen +MDURATION = MDURATION ## Gibt die geänderte Dauer für ein Wertpapier mit einem angenommenen Nennwert von 100 € zurück +MIRR = QIKV ## Gibt den internen Zinsfuß zurück, wobei positive und negative Zahlungen zu unterschiedlichen Sätzen finanziert werden +NOMINAL = NOMINAL ## Gibt die jährliche Nominalverzinsung zurück +NPER = ZZR ## Gibt die Anzahl der Zahlungsperioden einer Investition zurück +NPV = NBW ## Gibt den Nettobarwert einer Investition auf Basis periodisch anfallender Zahlungen und eines Abzinsungsfaktors zurück +ODDFPRICE = UNREGER.KURS ## Gibt den Kurs pro 100 € Nennwert eines Wertpapiers mit einem unregelmäßigen ersten Zinstermin zurück +ODDFYIELD = UNREGER.REND ## Gibt die Rendite eines Wertpapiers mit einem unregelmäßigen ersten Zinstermin zurück +ODDLPRICE = UNREGLE.KURS ## Gibt den Kurs pro 100 € Nennwert eines Wertpapiers mit einem unregelmäßigen letzten Zinstermin zurück +ODDLYIELD = UNREGLE.REND ## Gibt die Rendite eines Wertpapiers mit einem unregelmäßigen letzten Zinstermin zurück +PMT = RMZ ## Gibt die periodische Zahlung für eine Annuität zurück +PPMT = KAPZ ## Gibt die Kapitalrückzahlung einer Investition für eine angegebene Periode zurück +PRICE = KURS ## Gibt den Kurs pro 100 € Nennwert eines Wertpapiers zurück, das periodisch Zinsen auszahlt +PRICEDISC = KURSDISAGIO ## Gibt den Kurs pro 100 € Nennwert eines unverzinslichen Wertpapiers zurück +PRICEMAT = KURSFÄLLIG ## Gibt den Kurs pro 100 € Nennwert eines Wertpapiers zurück, das Zinsen am Fälligkeitsdatum auszahlt +PV = BW ## Gibt den Barwert einer Investition zurück +RATE = ZINS ## Gibt den Zinssatz pro Zeitraum einer Annuität zurück +RECEIVED = AUSZAHLUNG ## Gibt den Auszahlungsbetrag eines voll investierten Wertpapiers am Fälligkeitstermin zurück +SLN = LIA ## Gibt die lineare Abschreibung eines Wirtschaftsguts pro Periode zurück +SYD = DIA ## Gibt die arithmetisch-degressive Abschreibung eines Wirtschaftsguts für eine bestimmte Periode zurück +TBILLEQ = TBILLÄQUIV ## Gibt die Rendite für ein Wertpapier zurück +TBILLPRICE = TBILLKURS ## Gibt den Kurs pro 100 € Nennwert eines Wertpapiers zurück +TBILLYIELD = TBILLRENDITE ## Gibt die Rendite für ein Wertpapier zurück +VDB = VDB ## Gibt die degressive Abschreibung eines Wirtschaftsguts für eine bestimmte Periode oder Teilperiode zurück +XIRR = XINTZINSFUSS ## Gibt den internen Zinsfuß einer Reihe nicht periodisch anfallender Zahlungen zurück +XNPV = XKAPITALWERT ## Gibt den Nettobarwert (Kapitalwert) einer Reihe nicht periodisch anfallender Zahlungen zurück +YIELD = RENDITE ## Gibt die Rendite eines Wertpapiers zurück, das periodisch Zinsen auszahlt +YIELDDISC = RENDITEDIS ## Gibt die jährliche Rendite eines unverzinslichen Wertpapiers zurück +YIELDMAT = RENDITEFÄLL ## Gibt die jährliche Rendite eines Wertpapiers zurück, das Zinsen am Fälligkeitsdatum auszahlt + + +## +## Information functions Informationsfunktionen +## +CELL = ZELLE ## Gibt Informationen zu Formatierung, Position oder Inhalt einer Zelle zurück +ERROR.TYPE = FEHLER.TYP ## Gibt eine Zahl zurück, die einem Fehlertyp entspricht +INFO = INFO ## Gibt Informationen zur aktuellen Betriebssystemumgebung zurück +ISBLANK = ISTLEER ## Gibt WAHR zurück, wenn der Wert leer ist +ISERR = ISTFEHL ## Gibt WAHR zurück, wenn der Wert ein beliebiger Fehlerwert außer #N/V ist +ISERROR = ISTFEHLER ## Gibt WAHR zurück, wenn der Wert ein beliebiger Fehlerwert ist +ISEVEN = ISTGERADE ## Gibt WAHR zurück, wenn es sich um eine gerade Zahl handelt +ISLOGICAL = ISTLOG ## Gibt WAHR zurück, wenn der Wert ein Wahrheitswert ist +ISNA = ISTNV ## Gibt WAHR zurück, wenn der Wert der Fehlerwert #N/V ist +ISNONTEXT = ISTKTEXT ## Gibt WAHR zurück, wenn der Wert ein Element ist, das keinen Text enthält +ISNUMBER = ISTZAHL ## Gibt WAHR zurück, wenn der Wert eine Zahl ist +ISODD = ISTUNGERADE ## Gibt WAHR zurück, wenn es sich um eine ungerade Zahl handelt +ISREF = ISTBEZUG ## Gibt WAHR zurück, wenn der Wert ein Bezug ist +ISTEXT = ISTTEXT ## Gibt WAHR zurück, wenn der Wert ein Element ist, das Text enthält +N = N ## Gibt den in eine Zahl umgewandelten Wert zurück +NA = NV ## Gibt den Fehlerwert #NV zurück +TYPE = TYP ## Gibt eine Zahl zurück, die den Datentyp des angegebenen Werts anzeigt + + +## +## Logical functions Logische Funktionen +## +AND = UND ## Gibt WAHR zurück, wenn alle zugehörigen Argumente WAHR sind +FALSE = FALSCH ## Gibt den Wahrheitswert FALSCH zurück +IF = WENN ## Gibt einen logischen Test zum Ausführen an +IFERROR = WENNFEHLER ## Gibt einen von Ihnen festgelegten Wert zurück, wenn die Auswertung der Formel zu einem Fehler führt; andernfalls wird das Ergebnis der Formel zurückgegeben +NOT = NICHT ## Kehrt den Wahrheitswert der zugehörigen Argumente um +OR = ODER ## Gibt WAHR zurück, wenn ein Argument WAHR ist +TRUE = WAHR ## Gibt den Wahrheitswert WAHR zurück + + +## +## Lookup and reference functions Nachschlage- und Verweisfunktionen +## +ADDRESS = ADRESSE ## Gibt einen Bezug auf eine einzelne Zelle in einem Tabellenblatt als Text zurück +AREAS = BEREICHE ## Gibt die Anzahl der innerhalb eines Bezugs aufgeführten Bereiche zurück +CHOOSE = WAHL ## Wählt einen Wert aus eine Liste mit Werten aus +COLUMN = SPALTE ## Gibt die Spaltennummer eines Bezugs zurück +COLUMNS = SPALTEN ## Gibt die Anzahl der Spalten in einem Bezug zurück +HLOOKUP = HVERWEIS ## Sucht in der obersten Zeile einer Matrix und gibt den Wert der angegebenen Zelle zurück +HYPERLINK = HYPERLINK ## Erstellt eine Verknüpfung, über die ein auf einem Netzwerkserver, in einem Intranet oder im Internet gespeichertes Dokument geöffnet wird +INDEX = INDEX ## Verwendet einen Index, um einen Wert aus einem Bezug oder einer Matrix auszuwählen +INDIRECT = INDIREKT ## Gibt einen Bezug zurück, der von einem Textwert angegeben wird +LOOKUP = LOOKUP ## Sucht Werte in einem Vektor oder einer Matrix +MATCH = VERGLEICH ## Sucht Werte in einem Bezug oder einer Matrix +OFFSET = BEREICH.VERSCHIEBEN ## Gibt einen Bezugoffset aus einem gegebenen Bezug zurück +ROW = ZEILE ## Gibt die Zeilennummer eines Bezugs zurück +ROWS = ZEILEN ## Gibt die Anzahl der Zeilen in einem Bezug zurück +RTD = RTD ## Ruft Echtzeitdaten von einem Programm ab, das die COM-Automatisierung (Automatisierung: Ein Verfahren, bei dem aus einer Anwendung oder einem Entwicklungstool heraus mit den Objekten einer anderen Anwendung gearbeitet wird. Die früher als OLE-Automatisierung bezeichnete Automatisierung ist ein Industriestandard und eine Funktion von COM (Component Object Model).) unterstützt +TRANSPOSE = MTRANS ## Gibt die transponierte Matrix einer Matrix zurück +VLOOKUP = SVERWEIS ## Sucht in der ersten Spalte einer Matrix und arbeitet sich durch die Zeile, um den Wert einer Zelle zurückzugeben + + +## +## Math and trigonometry functions Mathematische und trigonometrische Funktionen +## +ABS = ABS ## Gibt den Absolutwert einer Zahl zurück +ACOS = ARCCOS ## Gibt den Arkuskosinus einer Zahl zurück +ACOSH = ARCCOSHYP ## Gibt den umgekehrten hyperbolischen Kosinus einer Zahl zurück +ASIN = ARCSIN ## Gibt den Arkussinus einer Zahl zurück +ASINH = ARCSINHYP ## Gibt den umgekehrten hyperbolischen Sinus einer Zahl zurück +ATAN = ARCTAN ## Gibt den Arkustangens einer Zahl zurück +ATAN2 = ARCTAN2 ## Gibt den Arkustangens einer x- und einer y-Koordinate zurück +ATANH = ARCTANHYP ## Gibt den umgekehrten hyperbolischen Tangens einer Zahl zurück +CEILING = OBERGRENZE ## Rundet eine Zahl auf die nächste ganze Zahl oder das nächste Vielfache von Schritt +COMBIN = KOMBINATIONEN ## Gibt die Anzahl der Kombinationen für eine bestimmte Anzahl von Objekten zurück +COS = COS ## Gibt den Kosinus einer Zahl zurück +COSH = COSHYP ## Gibt den hyperbolischen Kosinus einer Zahl zurück +DEGREES = GRAD ## Wandelt Bogenmaß (Radiant) in Grad um +EVEN = GERADE ## Rundet eine Zahl auf die nächste gerade ganze Zahl auf +EXP = EXP ## Potenziert die Basis e mit der als Argument angegebenen Zahl +FACT = FAKULTÄT ## Gibt die Fakultät einer Zahl zurück +FACTDOUBLE = ZWEIFAKULTÄT ## Gibt die Fakultät zu Zahl mit Schrittlänge 2 zurück +FLOOR = UNTERGRENZE ## Rundet die Zahl auf Anzahl_Stellen ab +GCD = GGT ## Gibt den größten gemeinsamen Teiler zurück +INT = GANZZAHL ## Rundet eine Zahl auf die nächstkleinere ganze Zahl ab +LCM = KGV ## Gibt das kleinste gemeinsame Vielfache zurück +LN = LN ## Gibt den natürlichen Logarithmus einer Zahl zurück +LOG = LOG ## Gibt den Logarithmus einer Zahl zu der angegebenen Basis zurück +LOG10 = LOG10 ## Gibt den Logarithmus einer Zahl zur Basis 10 zurück +MDETERM = MDET ## Gibt die Determinante einer Matrix zurück +MINVERSE = MINV ## Gibt die inverse Matrix einer Matrix zurück +MMULT = MMULT ## Gibt das Produkt zweier Matrizen zurück +MOD = REST ## Gibt den Rest einer Division zurück +MROUND = VRUNDEN ## Gibt eine auf das gewünschte Vielfache gerundete Zahl zurück +MULTINOMIAL = POLYNOMIAL ## Gibt den Polynomialkoeffizienten einer Gruppe von Zahlen zurück +ODD = UNGERADE ## Rundet eine Zahl auf die nächste ungerade ganze Zahl auf +PI = PI ## Gibt den Wert Pi zurück +POWER = POTENZ ## Gibt als Ergebnis eine potenzierte Zahl zurück +PRODUCT = PRODUKT ## Multipliziert die zugehörigen Argumente +QUOTIENT = QUOTIENT ## Gibt den ganzzahligen Anteil einer Division zurück +RADIANS = BOGENMASS ## Wandelt Grad in Bogenmaß (Radiant) um +RAND = ZUFALLSZAHL ## Gibt eine Zufallszahl zwischen 0 und 1 zurück +RANDBETWEEN = ZUFALLSBEREICH ## Gibt eine Zufallszahl aus dem festgelegten Bereich zurück +ROMAN = RÖMISCH ## Wandelt eine arabische Zahl in eine römische Zahl als Text um +ROUND = RUNDEN ## Rundet eine Zahl auf eine bestimmte Anzahl von Dezimalstellen +ROUNDDOWN = ABRUNDEN ## Rundet die Zahl auf Anzahl_Stellen ab +ROUNDUP = AUFRUNDEN ## Rundet die Zahl auf Anzahl_Stellen auf +SERIESSUM = POTENZREIHE ## Gibt die Summe von Potenzen (zur Berechnung von Potenzreihen und dichotomen Wahrscheinlichkeiten) zurück +SIGN = VORZEICHEN ## Gibt das Vorzeichen einer Zahl zurück +SIN = SIN ## Gibt den Sinus einer Zahl zurück +SINH = SINHYP ## Gibt den hyperbolischen Sinus einer Zahl zurück +SQRT = WURZEL ## Gibt die Quadratwurzel einer Zahl zurück +SQRTPI = WURZELPI ## Gibt die Wurzel aus der mit Pi (pi) multiplizierten Zahl zurück +SUBTOTAL = TEILERGEBNIS ## Gibt ein Teilergebnis in einer Liste oder Datenbank zurück +SUM = SUMME ## Addiert die zugehörigen Argumente +SUMIF = SUMMEWENN ## Addiert Zahlen, die mit den Suchkriterien übereinstimmen +SUMIFS = SUMMEWENNS ## Die Zellen, die mehrere Kriterien erfüllen, werden in einem Bereich hinzugefügt +SUMPRODUCT = SUMMENPRODUKT ## Gibt die Summe der Produkte zusammengehöriger Matrixkomponenten zurück +SUMSQ = QUADRATESUMME ## Gibt die Summe der quadrierten Argumente zurück +SUMX2MY2 = SUMMEX2MY2 ## Gibt die Summe der Differenzen der Quadrate für zusammengehörige Komponenten zweier Matrizen zurück +SUMX2PY2 = SUMMEX2PY2 ## Gibt die Summe der Quadrate für zusammengehörige Komponenten zweier Matrizen zurück +SUMXMY2 = SUMMEXMY2 ## Gibt die Summe der quadrierten Differenzen für zusammengehörige Komponenten zweier Matrizen zurück +TAN = TAN ## Gibt den Tangens einer Zahl zurück +TANH = TANHYP ## Gibt den hyperbolischen Tangens einer Zahl zurück +TRUNC = KÜRZEN ## Schneidet die Kommastellen einer Zahl ab und gibt als Ergebnis eine ganze Zahl zurück + + +## +## Statistical functions Statistische Funktionen +## +AVEDEV = MITTELABW ## Gibt die durchschnittliche absolute Abweichung einer Reihe von Merkmalsausprägungen und ihrem Mittelwert zurück +AVERAGE = MITTELWERT ## Gibt den Mittelwert der zugehörigen Argumente zurück +AVERAGEA = MITTELWERTA ## Gibt den Mittelwert der zugehörigen Argumente, die Zahlen, Text und Wahrheitswerte enthalten, zurück +AVERAGEIF = MITTELWERTWENN ## Der Durchschnittswert (arithmetisches Mittel) für alle Zellen in einem Bereich, die einem angegebenen Kriterium entsprechen, wird zurückgegeben +AVERAGEIFS = MITTELWERTWENNS ## Gibt den Durchschnittswert (arithmetisches Mittel) aller Zellen zurück, die mehreren Kriterien entsprechen +BETADIST = BETAVERT ## Gibt die Werte der kumulierten Betaverteilungsfunktion zurück +BETAINV = BETAINV ## Gibt das Quantil der angegebenen Betaverteilung zurück +BINOMDIST = BINOMVERT ## Gibt Wahrscheinlichkeiten einer binomialverteilten Zufallsvariablen zurück +CHIDIST = CHIVERT ## Gibt Werte der Verteilungsfunktion (1-Alpha) einer Chi-Quadrat-verteilten Zufallsgröße zurück +CHIINV = CHIINV ## Gibt Quantile der Verteilungsfunktion (1-Alpha) der Chi-Quadrat-Verteilung zurück +CHITEST = CHITEST ## Gibt die Teststatistik eines Unabhängigkeitstests zurück +CONFIDENCE = KONFIDENZ ## Ermöglicht die Berechnung des 1-Alpha Konfidenzintervalls für den Erwartungswert einer Zufallsvariablen +CORREL = KORREL ## Gibt den Korrelationskoeffizienten zweier Reihen von Merkmalsausprägungen zurück +COUNT = ANZAHL ## Gibt die Anzahl der Zahlen in der Liste mit Argumenten an +COUNTA = ANZAHL2 ## Gibt die Anzahl der Werte in der Liste mit Argumenten an +COUNTBLANK = ANZAHLLEEREZELLEN ## Gibt die Anzahl der leeren Zellen in einem Bereich an +COUNTIF = ZÄHLENWENN ## Gibt die Anzahl der Zellen in einem Bereich an, deren Inhalte mit den Suchkriterien übereinstimmen +COUNTIFS = ZÄHLENWENNS ## Gibt die Anzahl der Zellen in einem Bereich an, deren Inhalte mit mehreren Suchkriterien übereinstimmen +COVAR = KOVAR ## Gibt die Kovarianz zurück, den Mittelwert der für alle Datenpunktpaare gebildeten Produkte der Abweichungen +CRITBINOM = KRITBINOM ## Gibt den kleinsten Wert zurück, für den die kumulierten Wahrscheinlichkeiten der Binomialverteilung kleiner oder gleich einer Grenzwahrscheinlichkeit sind +DEVSQ = SUMQUADABW ## Gibt die Summe der quadrierten Abweichungen der Datenpunkte von ihrem Stichprobenmittelwert zurück +EXPONDIST = EXPONVERT ## Gibt Wahrscheinlichkeiten einer exponential verteilten Zufallsvariablen zurück +FDIST = FVERT ## Gibt Werte der Verteilungsfunktion (1-Alpha) einer F-verteilten Zufallsvariablen zurück +FINV = FINV ## Gibt Quantile der F-Verteilung zurück +FISHER = FISHER ## Gibt die Fisher-Transformation zurück +FISHERINV = FISHERINV ## Gibt die Umkehrung der Fisher-Transformation zurück +FORECAST = PROGNOSE ## Gibt einen Wert zurück, der sich aus einem linearen Trend ergibt +FREQUENCY = HÄUFIGKEIT ## Gibt eine Häufigkeitsverteilung als vertikale Matrix zurück +FTEST = FTEST ## Gibt die Teststatistik eines F-Tests zurück +GAMMADIST = GAMMAVERT ## Gibt Wahrscheinlichkeiten einer gammaverteilten Zufallsvariablen zurück +GAMMAINV = GAMMAINV ## Gibt Quantile der Gammaverteilung zurück +GAMMALN = GAMMALN ## Gibt den natürlichen Logarithmus der Gammafunktion zurück, Γ(x) +GEOMEAN = GEOMITTEL ## Gibt das geometrische Mittel zurück +GROWTH = VARIATION ## Gibt Werte zurück, die sich aus einem exponentiellen Trend ergeben +HARMEAN = HARMITTEL ## Gibt das harmonische Mittel zurück +HYPGEOMDIST = HYPGEOMVERT ## Gibt Wahrscheinlichkeiten einer hypergeometrisch-verteilten Zufallsvariablen zurück +INTERCEPT = ACHSENABSCHNITT ## Gibt den Schnittpunkt der Regressionsgeraden zurück +KURT = KURT ## Gibt die Kurtosis (Exzess) einer Datengruppe zurück +LARGE = KGRÖSSTE ## Gibt den k-größten Wert einer Datengruppe zurück +LINEST = RGP ## Gibt die Parameter eines linearen Trends zurück +LOGEST = RKP ## Gibt die Parameter eines exponentiellen Trends zurück +LOGINV = LOGINV ## Gibt Quantile der Lognormalverteilung zurück +LOGNORMDIST = LOGNORMVERT ## Gibt Werte der Verteilungsfunktion einer lognormalverteilten Zufallsvariablen zurück +MAX = MAX ## Gibt den Maximalwert einer Liste mit Argumenten zurück +MAXA = MAXA ## Gibt den Maximalwert einer Liste mit Argumenten zurück, die Zahlen, Text und Wahrheitswerte enthalten +MEDIAN = MEDIAN ## Gibt den Median der angegebenen Zahlen zurück +MIN = MIN ## Gibt den Minimalwert einer Liste mit Argumenten zurück +MINA = MINA ## Gibt den kleinsten Wert einer Liste mit Argumenten zurück, die Zahlen, Text und Wahrheitswerte enthalten +MODE = MODALWERT ## Gibt den am häufigsten vorkommenden Wert in einer Datengruppe zurück +NEGBINOMDIST = NEGBINOMVERT ## Gibt Wahrscheinlichkeiten einer negativen, binominal verteilten Zufallsvariablen zurück +NORMDIST = NORMVERT ## Gibt Wahrscheinlichkeiten einer normal verteilten Zufallsvariablen zurück +NORMINV = NORMINV ## Gibt Quantile der Normalverteilung zurück +NORMSDIST = STANDNORMVERT ## Gibt Werte der Verteilungsfunktion einer standardnormalverteilten Zufallsvariablen zurück +NORMSINV = STANDNORMINV ## Gibt Quantile der Standardnormalverteilung zurück +PEARSON = PEARSON ## Gibt den Pearsonschen Korrelationskoeffizienten zurück +PERCENTILE = QUANTIL ## Gibt das Alpha-Quantil einer Gruppe von Daten zurück +PERCENTRANK = QUANTILSRANG ## Gibt den prozentualen Rang (Alpha) eines Werts in einer Datengruppe zurück +PERMUT = VARIATIONEN ## Gibt die Anzahl der Möglichkeiten zurück, um k Elemente aus einer Menge von n Elementen ohne Zurücklegen zu ziehen +POISSON = POISSON ## Gibt Wahrscheinlichkeiten einer poissonverteilten Zufallsvariablen zurück +PROB = WAHRSCHBEREICH ## Gibt die Wahrscheinlichkeit für ein von zwei Werten eingeschlossenes Intervall zurück +QUARTILE = QUARTILE ## Gibt die Quartile der Datengruppe zurück +RANK = RANG ## Gibt den Rang zurück, den eine Zahl innerhalb einer Liste von Zahlen einnimmt +RSQ = BESTIMMTHEITSMASS ## Gibt das Quadrat des Pearsonschen Korrelationskoeffizienten zurück +SKEW = SCHIEFE ## Gibt die Schiefe einer Verteilung zurück +SLOPE = STEIGUNG ## Gibt die Steigung der Regressionsgeraden zurück +SMALL = KKLEINSTE ## Gibt den k-kleinsten Wert einer Datengruppe zurück +STANDARDIZE = STANDARDISIERUNG ## Gibt den standardisierten Wert zurück +STDEV = STABW ## Schätzt die Standardabweichung ausgehend von einer Stichprobe +STDEVA = STABWA ## Schätzt die Standardabweichung ausgehend von einer Stichprobe, die Zahlen, Text und Wahrheitswerte enthält +STDEVP = STABWN ## Berechnet die Standardabweichung ausgehend von der Grundgesamtheit +STDEVPA = STABWNA ## Berechnet die Standardabweichung ausgehend von der Grundgesamtheit, die Zahlen, Text und Wahrheitswerte enthält +STEYX = STFEHLERYX ## Gibt den Standardfehler der geschätzten y-Werte für alle x-Werte der Regression zurück +TDIST = TVERT ## Gibt Werte der Verteilungsfunktion (1-Alpha) einer (Student) t-verteilten Zufallsvariablen zurück +TINV = TINV ## Gibt Quantile der t-Verteilung zurück +TREND = TREND ## Gibt Werte zurück, die sich aus einem linearen Trend ergeben +TRIMMEAN = GESTUTZTMITTEL ## Gibt den Mittelwert einer Datengruppe zurück, ohne die Randwerte zu berücksichtigen +TTEST = TTEST ## Gibt die Teststatistik eines Student'schen t-Tests zurück +VAR = VARIANZ ## Schätzt die Varianz ausgehend von einer Stichprobe +VARA = VARIANZA ## Schätzt die Varianz ausgehend von einer Stichprobe, die Zahlen, Text und Wahrheitswerte enthält +VARP = VARIANZEN ## Berechnet die Varianz ausgehend von der Grundgesamtheit +VARPA = VARIANZENA ## Berechnet die Varianz ausgehend von der Grundgesamtheit, die Zahlen, Text und Wahrheitswerte enthält +WEIBULL = WEIBULL ## Gibt Wahrscheinlichkeiten einer weibullverteilten Zufallsvariablen zurück +ZTEST = GTEST ## Gibt den einseitigen Wahrscheinlichkeitswert für einen Gausstest (Normalverteilung) zurück + + +## +## Text functions Textfunktionen +## +ASC = ASC ## Konvertiert DB-Text in einer Zeichenfolge (lateinische Buchstaben oder Katakana) in SB-Text +BAHTTEXT = BAHTTEXT ## Wandelt eine Zahl in Text im Währungsformat ß (Baht) um +CHAR = ZEICHEN ## Gibt das der Codezahl entsprechende Zeichen zurück +CLEAN = SÄUBERN ## Löscht alle nicht druckbaren Zeichen aus einem Text +CODE = CODE ## Gibt die Codezahl des ersten Zeichens in einem Text zurück +CONCATENATE = VERKETTEN ## Verknüpft mehrere Textelemente zu einem Textelement +DOLLAR = DM ## Wandelt eine Zahl in Text im Währungsformat € (Euro) um +EXACT = IDENTISCH ## Prüft, ob zwei Textwerte identisch sind +FIND = FINDEN ## Sucht nach einem Textwert, der in einem anderen Textwert enthalten ist (Groß-/Kleinschreibung wird unterschieden) +FINDB = FINDENB ## Sucht nach einem Textwert, der in einem anderen Textwert enthalten ist (Groß-/Kleinschreibung wird unterschieden) +FIXED = FEST ## Formatiert eine Zahl als Text mit einer festen Anzahl von Dezimalstellen +JIS = JIS ## Konvertiert SB-Text in einer Zeichenfolge (lateinische Buchstaben oder Katakana) in DB-Text +LEFT = LINKS ## Gibt die Zeichen ganz links in einem Textwert zurück +LEFTB = LINKSB ## Gibt die Zeichen ganz links in einem Textwert zurück +LEN = LÄNGE ## Gibt die Anzahl der Zeichen in einer Zeichenfolge zurück +LENB = LÄNGEB ## Gibt die Anzahl der Zeichen in einer Zeichenfolge zurück +LOWER = KLEIN ## Wandelt Text in Kleinbuchstaben um +MID = TEIL ## Gibt eine bestimmte Anzahl Zeichen aus einer Zeichenfolge ab der von Ihnen angegebenen Stelle zurück +MIDB = TEILB ## Gibt eine bestimmte Anzahl Zeichen aus einer Zeichenfolge ab der von Ihnen angegebenen Stelle zurück +PHONETIC = PHONETIC ## Extrahiert die phonetischen (Furigana-)Zeichen aus einer Textzeichenfolge +PROPER = GROSS2 ## Wandelt den ersten Buchstaben aller Wörter eines Textwerts in Großbuchstaben um +REPLACE = ERSETZEN ## Ersetzt Zeichen in Text +REPLACEB = ERSETZENB ## Ersetzt Zeichen in Text +REPT = WIEDERHOLEN ## Wiederholt einen Text so oft wie angegeben +RIGHT = RECHTS ## Gibt die Zeichen ganz rechts in einem Textwert zurück +RIGHTB = RECHTSB ## Gibt die Zeichen ganz rechts in einem Textwert zurück +SEARCH = SUCHEN ## Sucht nach einem Textwert, der in einem anderen Textwert enthalten ist (Groß-/Kleinschreibung wird nicht unterschieden) +SEARCHB = SUCHENB ## Sucht nach einem Textwert, der in einem anderen Textwert enthalten ist (Groß-/Kleinschreibung wird nicht unterschieden) +SUBSTITUTE = WECHSELN ## Ersetzt in einer Zeichenfolge neuen Text gegen alten +T = T ## Wandelt die zugehörigen Argumente in Text um +TEXT = TEXT ## Formatiert eine Zahl und wandelt sie in Text um +TRIM = GLÄTTEN ## Entfernt Leerzeichen aus Text +UPPER = GROSS ## Wandelt Text in Großbuchstaben um +VALUE = WERT ## Wandelt ein Textargument in eine Zahl um diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/locale/en/uk/config b/vendor/phpoffice/phpexcel/Classes/PHPExcel/locale/en/uk/config new file mode 100644 index 00000000..532080b5 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/locale/en/uk/config @@ -0,0 +1,32 @@ +## +## PHPExcel +## +## Copyright (c) 2006 - 2013 PHPExcel +## +## This library is free software; you can redistribute it and/or +## modify it under the terms of the GNU Lesser General Public +## License as published by the Free Software Foundation; either +## version 2.1 of the License, or (at your option) any later version. +## +## This library is distributed in the hope that it will be useful, +## but WITHOUT ANY WARRANTY; without even the implied warranty of +## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +## Lesser General Public License for more details. +## +## You should have received a copy of the GNU Lesser General Public +## License along with this library; if not, write to the Free Software +## Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +## +## @category PHPExcel +## @package PHPExcel_Settings +## @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel) +## @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL +## @version ##VERSION##, ##DATE## +## +## + + +## +## (For future use) +## +currencySymbol = £ diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/locale/es/config b/vendor/phpoffice/phpexcel/Classes/PHPExcel/locale/es/config new file mode 100644 index 00000000..96cfa69d --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/locale/es/config @@ -0,0 +1,47 @@ +## +## PHPExcel +## +## Copyright (c) 2006 - 2013 PHPExcel +## +## This library is free software; you can redistribute it and/or +## modify it under the terms of the GNU Lesser General Public +## License as published by the Free Software Foundation; either +## version 2.1 of the License, or (at your option) any later version. +## +## This library is distributed in the hope that it will be useful, +## but WITHOUT ANY WARRANTY; without even the implied warranty of +## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +## Lesser General Public License for more details. +## +## You should have received a copy of the GNU Lesser General Public +## License along with this library; if not, write to the Free Software +## Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +## +## @category PHPExcel +## @package PHPExcel_Settings +## @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel) +## @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL +## @version ##VERSION##, ##DATE## +## +## + + +ArgumentSeparator = ; + + +## +## (For future use) +## +currencySymbol = $ ## I'm surprised that the Excel Documentation suggests $ rather than € + + +## +## Excel Error Codes (For future use) +## +NULL = #¡NULO! +DIV0 = #¡DIV/0! +VALUE = #¡VALOR! +REF = #¡REF! +NAME = #¿NOMBRE? +NUM = #¡NÚM! +NA = #N/A diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/locale/es/functions b/vendor/phpoffice/phpexcel/Classes/PHPExcel/locale/es/functions new file mode 100644 index 00000000..48762695 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/locale/es/functions @@ -0,0 +1,438 @@ +## +## PHPExcel +## +## Copyright (c) 2006 - 2013 PHPExcel +## +## This library is free software; you can redistribute it and/or +## modify it under the terms of the GNU Lesser General Public +## License as published by the Free Software Foundation; either +## version 2.1 of the License, or (at your option) any later version. +## +## This library is distributed in the hope that it will be useful, +## but WITHOUT ANY WARRANTY; without even the implied warranty of +## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +## Lesser General Public License for more details. +## +## You should have received a copy of the GNU Lesser General Public +## License along with this library; if not, write to the Free Software +## Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +## +## @category PHPExcel +## @package PHPExcel_Calculation +## @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel) +## @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL +## @version ##VERSION##, ##DATE## +## +## Data in this file derived from http://www.piuha.fi/excel-function-name-translation/ +## +## + + +## +## Add-in and Automation functions Funciones de complementos y automatización +## +GETPIVOTDATA = IMPORTARDATOSDINAMICOS ## Devuelve los datos almacenados en un informe de tabla dinámica. + + +## +## Cube functions Funciones de cubo +## +CUBEKPIMEMBER = MIEMBROKPICUBO ## Devuelve un nombre, propiedad y medida de indicador de rendimiento clave (KPI) y muestra el nombre y la propiedad en la celda. Un KPI es una medida cuantificable, como los beneficios brutos mensuales o la facturación trimestral por empleado, que se usa para supervisar el rendimiento de una organización. +CUBEMEMBER = MIEMBROCUBO ## Devuelve un miembro o tupla en una jerarquía de cubo. Se usa para validar la existencia del miembro o la tupla en el cubo. +CUBEMEMBERPROPERTY = PROPIEDADMIEMBROCUBO ## Devuelve el valor de una propiedad de miembro del cubo Se usa para validar la existencia de un nombre de miembro en el cubo y para devolver la propiedad especificada para este miembro. +CUBERANKEDMEMBER = MIEMBRORANGOCUBO ## Devuelve el miembro n, o clasificado, de un conjunto. Se usa para devolver uno o más elementos de un conjunto, por ejemplo, el representante con mejores ventas o los diez mejores alumnos. +CUBESET = CONJUNTOCUBO ## Define un conjunto calculado de miembros o tuplas mediante el envío de una expresión de conjunto al cubo en el servidor, lo que crea el conjunto y, después, devuelve dicho conjunto a Microsoft Office Excel. +CUBESETCOUNT = RECUENTOCONJUNTOCUBO ## Devuelve el número de elementos de un conjunto. +CUBEVALUE = VALORCUBO ## Devuelve un valor agregado de un cubo. + + +## +## Database functions Funciones de base de datos +## +DAVERAGE = BDPROMEDIO ## Devuelve el promedio de las entradas seleccionadas en la base de datos. +DCOUNT = BDCONTAR ## Cuenta el número de celdas que contienen números en una base de datos. +DCOUNTA = BDCONTARA ## Cuenta el número de celdas no vacías en una base de datos. +DGET = BDEXTRAER ## Extrae de una base de datos un único registro que cumple los criterios especificados. +DMAX = BDMAX ## Devuelve el valor máximo de las entradas seleccionadas de la base de datos. +DMIN = BDMIN ## Devuelve el valor mínimo de las entradas seleccionadas de la base de datos. +DPRODUCT = BDPRODUCTO ## Multiplica los valores de un campo concreto de registros de una base de datos que cumplen los criterios especificados. +DSTDEV = BDDESVEST ## Calcula la desviación estándar a partir de una muestra de entradas seleccionadas en la base de datos. +DSTDEVP = BDDESVESTP ## Calcula la desviación estándar en función de la población total de las entradas seleccionadas de la base de datos. +DSUM = BDSUMA ## Suma los números de la columna de campo de los registros de la base de datos que cumplen los criterios. +DVAR = BDVAR ## Calcula la varianza a partir de una muestra de entradas seleccionadas de la base de datos. +DVARP = BDVARP ## Calcula la varianza a partir de la población total de entradas seleccionadas de la base de datos. + + +## +## Date and time functions Funciones de fecha y hora +## +DATE = FECHA ## Devuelve el número de serie correspondiente a una fecha determinada. +DATEVALUE = FECHANUMERO ## Convierte una fecha con formato de texto en un valor de número de serie. +DAY = DIA ## Convierte un número de serie en un valor de día del mes. +DAYS360 = DIAS360 ## Calcula el número de días entre dos fechas a partir de un año de 360 días. +EDATE = FECHA.MES ## Devuelve el número de serie de la fecha equivalente al número indicado de meses anteriores o posteriores a la fecha inicial. +EOMONTH = FIN.MES ## Devuelve el número de serie correspondiente al último día del mes anterior o posterior a un número de meses especificado. +HOUR = HORA ## Convierte un número de serie en un valor de hora. +MINUTE = MINUTO ## Convierte un número de serie en un valor de minuto. +MONTH = MES ## Convierte un número de serie en un valor de mes. +NETWORKDAYS = DIAS.LAB ## Devuelve el número de todos los días laborables existentes entre dos fechas. +NOW = AHORA ## Devuelve el número de serie correspondiente a la fecha y hora actuales. +SECOND = SEGUNDO ## Convierte un número de serie en un valor de segundo. +TIME = HORA ## Devuelve el número de serie correspondiente a una hora determinada. +TIMEVALUE = HORANUMERO ## Convierte una hora con formato de texto en un valor de número de serie. +TODAY = HOY ## Devuelve el número de serie correspondiente al día actual. +WEEKDAY = DIASEM ## Convierte un número de serie en un valor de día de la semana. +WEEKNUM = NUM.DE.SEMANA ## Convierte un número de serie en un número que representa el lugar numérico correspondiente a una semana de un año. +WORKDAY = DIA.LAB ## Devuelve el número de serie de la fecha que tiene lugar antes o después de un número determinado de días laborables. +YEAR = AÑO ## Convierte un número de serie en un valor de año. +YEARFRAC = FRAC.AÑO ## Devuelve la fracción de año que representa el número total de días existentes entre el valor de fecha_inicial y el de fecha_final. + + +## +## Engineering functions Funciones de ingeniería +## +BESSELI = BESSELI ## Devuelve la función Bessel In(x) modificada. +BESSELJ = BESSELJ ## Devuelve la función Bessel Jn(x). +BESSELK = BESSELK ## Devuelve la función Bessel Kn(x) modificada. +BESSELY = BESSELY ## Devuelve la función Bessel Yn(x). +BIN2DEC = BIN.A.DEC ## Convierte un número binario en decimal. +BIN2HEX = BIN.A.HEX ## Convierte un número binario en hexadecimal. +BIN2OCT = BIN.A.OCT ## Convierte un número binario en octal. +COMPLEX = COMPLEJO ## Convierte coeficientes reales e imaginarios en un número complejo. +CONVERT = CONVERTIR ## Convierte un número de un sistema de medida a otro. +DEC2BIN = DEC.A.BIN ## Convierte un número decimal en binario. +DEC2HEX = DEC.A.HEX ## Convierte un número decimal en hexadecimal. +DEC2OCT = DEC.A.OCT ## Convierte un número decimal en octal. +DELTA = DELTA ## Comprueba si dos valores son iguales. +ERF = FUN.ERROR ## Devuelve la función de error. +ERFC = FUN.ERROR.COMPL ## Devuelve la función de error complementario. +GESTEP = MAYOR.O.IGUAL ## Comprueba si un número es mayor que un valor de umbral. +HEX2BIN = HEX.A.BIN ## Convierte un número hexadecimal en binario. +HEX2DEC = HEX.A.DEC ## Convierte un número hexadecimal en decimal. +HEX2OCT = HEX.A.OCT ## Convierte un número hexadecimal en octal. +IMABS = IM.ABS ## Devuelve el valor absoluto (módulo) de un número complejo. +IMAGINARY = IMAGINARIO ## Devuelve el coeficiente imaginario de un número complejo. +IMARGUMENT = IM.ANGULO ## Devuelve el argumento theta, un ángulo expresado en radianes. +IMCONJUGATE = IM.CONJUGADA ## Devuelve la conjugada compleja de un número complejo. +IMCOS = IM.COS ## Devuelve el coseno de un número complejo. +IMDIV = IM.DIV ## Devuelve el cociente de dos números complejos. +IMEXP = IM.EXP ## Devuelve el valor exponencial de un número complejo. +IMLN = IM.LN ## Devuelve el logaritmo natural (neperiano) de un número complejo. +IMLOG10 = IM.LOG10 ## Devuelve el logaritmo en base 10 de un número complejo. +IMLOG2 = IM.LOG2 ## Devuelve el logaritmo en base 2 de un número complejo. +IMPOWER = IM.POT ## Devuelve un número complejo elevado a una potencia entera. +IMPRODUCT = IM.PRODUCT ## Devuelve el producto de números complejos. +IMREAL = IM.REAL ## Devuelve el coeficiente real de un número complejo. +IMSIN = IM.SENO ## Devuelve el seno de un número complejo. +IMSQRT = IM.RAIZ2 ## Devuelve la raíz cuadrada de un número complejo. +IMSUB = IM.SUSTR ## Devuelve la diferencia entre dos números complejos. +IMSUM = IM.SUM ## Devuelve la suma de números complejos. +OCT2BIN = OCT.A.BIN ## Convierte un número octal en binario. +OCT2DEC = OCT.A.DEC ## Convierte un número octal en decimal. +OCT2HEX = OCT.A.HEX ## Convierte un número octal en hexadecimal. + + +## +## Financial functions Funciones financieras +## +ACCRINT = INT.ACUM ## Devuelve el interés acumulado de un valor bursátil con pagos de interés periódicos. +ACCRINTM = INT.ACUM.V ## Devuelve el interés acumulado de un valor bursátil con pagos de interés al vencimiento. +AMORDEGRC = AMORTIZ.PROGRE ## Devuelve la amortización de cada período contable mediante el uso de un coeficiente de amortización. +AMORLINC = AMORTIZ.LIN ## Devuelve la amortización de cada uno de los períodos contables. +COUPDAYBS = CUPON.DIAS.L1 ## Devuelve el número de días desde el principio del período de un cupón hasta la fecha de liquidación. +COUPDAYS = CUPON.DIAS ## Devuelve el número de días del período (entre dos cupones) donde se encuentra la fecha de liquidación. +COUPDAYSNC = CUPON.DIAS.L2 ## Devuelve el número de días desde la fecha de liquidación hasta la fecha del próximo cupón. +COUPNCD = CUPON.FECHA.L2 ## Devuelve la fecha del próximo cupón después de la fecha de liquidación. +COUPNUM = CUPON.NUM ## Devuelve el número de pagos de cupón entre la fecha de liquidación y la fecha de vencimiento. +COUPPCD = CUPON.FECHA.L1 ## Devuelve la fecha de cupón anterior a la fecha de liquidación. +CUMIPMT = PAGO.INT.ENTRE ## Devuelve el interés acumulado pagado entre dos períodos. +CUMPRINC = PAGO.PRINC.ENTRE ## Devuelve el capital acumulado pagado de un préstamo entre dos períodos. +DB = DB ## Devuelve la amortización de un bien durante un período específico a través del método de amortización de saldo fijo. +DDB = DDB ## Devuelve la amortización de un bien durante un período específico a través del método de amortización por doble disminución de saldo u otro método que se especifique. +DISC = TASA.DESC ## Devuelve la tasa de descuento de un valor bursátil. +DOLLARDE = MONEDA.DEC ## Convierte una cotización de un valor bursátil expresada en forma fraccionaria en una cotización de un valor bursátil expresada en forma decimal. +DOLLARFR = MONEDA.FRAC ## Convierte una cotización de un valor bursátil expresada en forma decimal en una cotización de un valor bursátil expresada en forma fraccionaria. +DURATION = DURACION ## Devuelve la duración anual de un valor bursátil con pagos de interés periódico. +EFFECT = INT.EFECTIVO ## Devuelve la tasa de interés anual efectiva. +FV = VF ## Devuelve el valor futuro de una inversión. +FVSCHEDULE = VF.PLAN ## Devuelve el valor futuro de un capital inicial después de aplicar una serie de tasas de interés compuesto. +INTRATE = TASA.INT ## Devuelve la tasa de interés para la inversión total de un valor bursátil. +IPMT = PAGOINT ## Devuelve el pago de intereses de una inversión durante un período determinado. +IRR = TIR ## Devuelve la tasa interna de retorno para una serie de flujos de efectivo periódicos. +ISPMT = INT.PAGO.DIR ## Calcula el interés pagado durante un período específico de una inversión. +MDURATION = DURACION.MODIF ## Devuelve la duración de Macauley modificada de un valor bursátil con un valor nominal supuesto de 100 $. +MIRR = TIRM ## Devuelve la tasa interna de retorno donde se financian flujos de efectivo positivos y negativos a tasas diferentes. +NOMINAL = TASA.NOMINAL ## Devuelve la tasa nominal de interés anual. +NPER = NPER ## Devuelve el número de períodos de una inversión. +NPV = VNA ## Devuelve el valor neto actual de una inversión en función de una serie de flujos periódicos de efectivo y una tasa de descuento. +ODDFPRICE = PRECIO.PER.IRREGULAR.1 ## Devuelve el precio por un valor nominal de 100 $ de un valor bursátil con un primer período impar. +ODDFYIELD = RENDTO.PER.IRREGULAR.1 ## Devuelve el rendimiento de un valor bursátil con un primer período impar. +ODDLPRICE = PRECIO.PER.IRREGULAR.2 ## Devuelve el precio por un valor nominal de 100 $ de un valor bursátil con un último período impar. +ODDLYIELD = RENDTO.PER.IRREGULAR.2 ## Devuelve el rendimiento de un valor bursátil con un último período impar. +PMT = PAGO ## Devuelve el pago periódico de una anualidad. +PPMT = PAGOPRIN ## Devuelve el pago de capital de una inversión durante un período determinado. +PRICE = PRECIO ## Devuelve el precio por un valor nominal de 100 $ de un valor bursátil que paga una tasa de interés periódico. +PRICEDISC = PRECIO.DESCUENTO ## Devuelve el precio por un valor nominal de 100 $ de un valor bursátil con descuento. +PRICEMAT = PRECIO.VENCIMIENTO ## Devuelve el precio por un valor nominal de 100 $ de un valor bursátil que paga interés a su vencimiento. +PV = VALACT ## Devuelve el valor actual de una inversión. +RATE = TASA ## Devuelve la tasa de interés por período de una anualidad. +RECEIVED = CANTIDAD.RECIBIDA ## Devuelve la cantidad recibida al vencimiento de un valor bursátil completamente invertido. +SLN = SLN ## Devuelve la amortización por método directo de un bien en un período dado. +SYD = SYD ## Devuelve la amortización por suma de dígitos de los años de un bien durante un período especificado. +TBILLEQ = LETRA.DE.TES.EQV.A.BONO ## Devuelve el rendimiento de un bono equivalente a una letra del Tesoro (de EE.UU.) +TBILLPRICE = LETRA.DE.TES.PRECIO ## Devuelve el precio por un valor nominal de 100 $ de una letra del Tesoro (de EE.UU.) +TBILLYIELD = LETRA.DE.TES.RENDTO ## Devuelve el rendimiento de una letra del Tesoro (de EE.UU.) +VDB = DVS ## Devuelve la amortización de un bien durante un período específico o parcial a través del método de cálculo del saldo en disminución. +XIRR = TIR.NO.PER ## Devuelve la tasa interna de retorno para un flujo de efectivo que no es necesariamente periódico. +XNPV = VNA.NO.PER ## Devuelve el valor neto actual para un flujo de efectivo que no es necesariamente periódico. +YIELD = RENDTO ## Devuelve el rendimiento de un valor bursátil que paga intereses periódicos. +YIELDDISC = RENDTO.DESC ## Devuelve el rendimiento anual de un valor bursátil con descuento; por ejemplo, una letra del Tesoro (de EE.UU.) +YIELDMAT = RENDTO.VENCTO ## Devuelve el rendimiento anual de un valor bursátil que paga intereses al vencimiento. + + +## +## Information functions Funciones de información +## +CELL = CELDA ## Devuelve información acerca del formato, la ubicación o el contenido de una celda. +ERROR.TYPE = TIPO.DE.ERROR ## Devuelve un número que corresponde a un tipo de error. +INFO = INFO ## Devuelve información acerca del entorno operativo en uso. +ISBLANK = ESBLANCO ## Devuelve VERDADERO si el valor está en blanco. +ISERR = ESERR ## Devuelve VERDADERO si el valor es cualquier valor de error excepto #N/A. +ISERROR = ESERROR ## Devuelve VERDADERO si el valor es cualquier valor de error. +ISEVEN = ES.PAR ## Devuelve VERDADERO si el número es par. +ISLOGICAL = ESLOGICO ## Devuelve VERDADERO si el valor es un valor lógico. +ISNA = ESNOD ## Devuelve VERDADERO si el valor es el valor de error #N/A. +ISNONTEXT = ESNOTEXTO ## Devuelve VERDADERO si el valor no es texto. +ISNUMBER = ESNUMERO ## Devuelve VERDADERO si el valor es un número. +ISODD = ES.IMPAR ## Devuelve VERDADERO si el número es impar. +ISREF = ESREF ## Devuelve VERDADERO si el valor es una referencia. +ISTEXT = ESTEXTO ## Devuelve VERDADERO si el valor es texto. +N = N ## Devuelve un valor convertido en un número. +NA = ND ## Devuelve el valor de error #N/A. +TYPE = TIPO ## Devuelve un número que indica el tipo de datos de un valor. + + +## +## Logical functions Funciones lógicas +## +AND = Y ## Devuelve VERDADERO si todos sus argumentos son VERDADERO. +FALSE = FALSO ## Devuelve el valor lógico FALSO. +IF = SI ## Especifica una prueba lógica que realizar. +IFERROR = SI.ERROR ## Devuelve un valor que se especifica si una fórmula lo evalúa como un error; de lo contrario, devuelve el resultado de la fórmula. +NOT = NO ## Invierte el valor lógico del argumento. +OR = O ## Devuelve VERDADERO si cualquier argumento es VERDADERO. +TRUE = VERDADERO ## Devuelve el valor lógico VERDADERO. + + +## +## Lookup and reference functions Funciones de búsqueda y referencia +## +ADDRESS = DIRECCION ## Devuelve una referencia como texto a una sola celda de una hoja de cálculo. +AREAS = AREAS ## Devuelve el número de áreas de una referencia. +CHOOSE = ELEGIR ## Elige un valor de una lista de valores. +COLUMN = COLUMNA ## Devuelve el número de columna de una referencia. +COLUMNS = COLUMNAS ## Devuelve el número de columnas de una referencia. +HLOOKUP = BUSCARH ## Busca en la fila superior de una matriz y devuelve el valor de la celda indicada. +HYPERLINK = HIPERVINCULO ## Crea un acceso directo o un salto que abre un documento almacenado en un servidor de red, en una intranet o en Internet. +INDEX = INDICE ## Usa un índice para elegir un valor de una referencia o matriz. +INDIRECT = INDIRECTO ## Devuelve una referencia indicada por un valor de texto. +LOOKUP = BUSCAR ## Busca valores de un vector o una matriz. +MATCH = COINCIDIR ## Busca valores de una referencia o matriz. +OFFSET = DESREF ## Devuelve un desplazamiento de referencia respecto a una referencia dada. +ROW = FILA ## Devuelve el número de fila de una referencia. +ROWS = FILAS ## Devuelve el número de filas de una referencia. +RTD = RDTR ## Recupera datos en tiempo real desde un programa compatible con la automatización COM (automatización: modo de trabajar con los objetos de una aplicación desde otra aplicación o herramienta de entorno. La automatización, antes denominada automatización OLE, es un estándar de la industria y una función del Modelo de objetos componentes (COM).). +TRANSPOSE = TRANSPONER ## Devuelve la transposición de una matriz. +VLOOKUP = BUSCARV ## Busca en la primera columna de una matriz y se mueve en horizontal por la fila para devolver el valor de una celda. + + +## +## Math and trigonometry functions Funciones matemáticas y trigonométricas +## +ABS = ABS ## Devuelve el valor absoluto de un número. +ACOS = ACOS ## Devuelve el arcocoseno de un número. +ACOSH = ACOSH ## Devuelve el coseno hiperbólico inverso de un número. +ASIN = ASENO ## Devuelve el arcoseno de un número. +ASINH = ASENOH ## Devuelve el seno hiperbólico inverso de un número. +ATAN = ATAN ## Devuelve la arcotangente de un número. +ATAN2 = ATAN2 ## Devuelve la arcotangente de las coordenadas "x" e "y". +ATANH = ATANH ## Devuelve la tangente hiperbólica inversa de un número. +CEILING = MULTIPLO.SUPERIOR ## Redondea un número al entero más próximo o al múltiplo significativo más cercano. +COMBIN = COMBINAT ## Devuelve el número de combinaciones para un número determinado de objetos. +COS = COS ## Devuelve el coseno de un número. +COSH = COSH ## Devuelve el coseno hiperbólico de un número. +DEGREES = GRADOS ## Convierte radianes en grados. +EVEN = REDONDEA.PAR ## Redondea un número hasta el entero par más próximo. +EXP = EXP ## Devuelve e elevado a la potencia de un número dado. +FACT = FACT ## Devuelve el factorial de un número. +FACTDOUBLE = FACT.DOBLE ## Devuelve el factorial doble de un número. +FLOOR = MULTIPLO.INFERIOR ## Redondea un número hacia abajo, en dirección hacia cero. +GCD = M.C.D ## Devuelve el máximo común divisor. +INT = ENTERO ## Redondea un número hacia abajo hasta el entero más próximo. +LCM = M.C.M ## Devuelve el mínimo común múltiplo. +LN = LN ## Devuelve el logaritmo natural (neperiano) de un número. +LOG = LOG ## Devuelve el logaritmo de un número en una base especificada. +LOG10 = LOG10 ## Devuelve el logaritmo en base 10 de un número. +MDETERM = MDETERM ## Devuelve la determinante matricial de una matriz. +MINVERSE = MINVERSA ## Devuelve la matriz inversa de una matriz. +MMULT = MMULT ## Devuelve el producto de matriz de dos matrices. +MOD = RESIDUO ## Devuelve el resto de la división. +MROUND = REDOND.MULT ## Devuelve un número redondeado al múltiplo deseado. +MULTINOMIAL = MULTINOMIAL ## Devuelve el polinomio de un conjunto de números. +ODD = REDONDEA.IMPAR ## Redondea un número hacia arriba hasta el entero impar más próximo. +PI = PI ## Devuelve el valor de pi. +POWER = POTENCIA ## Devuelve el resultado de elevar un número a una potencia. +PRODUCT = PRODUCTO ## Multiplica sus argumentos. +QUOTIENT = COCIENTE ## Devuelve la parte entera de una división. +RADIANS = RADIANES ## Convierte grados en radianes. +RAND = ALEATORIO ## Devuelve un número aleatorio entre 0 y 1. +RANDBETWEEN = ALEATORIO.ENTRE ## Devuelve un número aleatorio entre los números que especifique. +ROMAN = NUMERO.ROMANO ## Convierte un número arábigo en número romano, con formato de texto. +ROUND = REDONDEAR ## Redondea un número al número de decimales especificado. +ROUNDDOWN = REDONDEAR.MENOS ## Redondea un número hacia abajo, en dirección hacia cero. +ROUNDUP = REDONDEAR.MAS ## Redondea un número hacia arriba, en dirección contraria a cero. +SERIESSUM = SUMA.SERIES ## Devuelve la suma de una serie de potencias en función de la fórmula. +SIGN = SIGNO ## Devuelve el signo de un número. +SIN = SENO ## Devuelve el seno de un ángulo determinado. +SINH = SENOH ## Devuelve el seno hiperbólico de un número. +SQRT = RAIZ ## Devuelve la raíz cuadrada positiva de un número. +SQRTPI = RAIZ2PI ## Devuelve la raíz cuadrada de un número multiplicado por PI (número * pi). +SUBTOTAL = SUBTOTALES ## Devuelve un subtotal en una lista o base de datos. +SUM = SUMA ## Suma sus argumentos. +SUMIF = SUMAR.SI ## Suma las celdas especificadas que cumplen unos criterios determinados. +SUMIFS = SUMAR.SI.CONJUNTO ## Suma las celdas de un rango que cumplen varios criterios. +SUMPRODUCT = SUMAPRODUCTO ## Devuelve la suma de los productos de los correspondientes componentes de matriz. +SUMSQ = SUMA.CUADRADOS ## Devuelve la suma de los cuadrados de los argumentos. +SUMX2MY2 = SUMAX2MENOSY2 ## Devuelve la suma de la diferencia de los cuadrados de los valores correspondientes de dos matrices. +SUMX2PY2 = SUMAX2MASY2 ## Devuelve la suma de la suma de los cuadrados de los valores correspondientes de dos matrices. +SUMXMY2 = SUMAXMENOSY2 ## Devuelve la suma de los cuadrados de las diferencias de los valores correspondientes de dos matrices. +TAN = TAN ## Devuelve la tangente de un número. +TANH = TANH ## Devuelve la tangente hiperbólica de un número. +TRUNC = TRUNCAR ## Trunca un número a un entero. + + +## +## Statistical functions Funciones estadísticas +## +AVEDEV = DESVPROM ## Devuelve el promedio de las desviaciones absolutas de la media de los puntos de datos. +AVERAGE = PROMEDIO ## Devuelve el promedio de sus argumentos. +AVERAGEA = PROMEDIOA ## Devuelve el promedio de sus argumentos, incluidos números, texto y valores lógicos. +AVERAGEIF = PROMEDIO.SI ## Devuelve el promedio (media aritmética) de todas las celdas de un rango que cumplen unos criterios determinados. +AVERAGEIFS = PROMEDIO.SI.CONJUNTO ## Devuelve el promedio (media aritmética) de todas las celdas que cumplen múltiples criterios. +BETADIST = DISTR.BETA ## Devuelve la función de distribución beta acumulativa. +BETAINV = DISTR.BETA.INV ## Devuelve la función inversa de la función de distribución acumulativa de una distribución beta especificada. +BINOMDIST = DISTR.BINOM ## Devuelve la probabilidad de una variable aleatoria discreta siguiendo una distribución binomial. +CHIDIST = DISTR.CHI ## Devuelve la probabilidad de una variable aleatoria continua siguiendo una distribución chi cuadrado de una sola cola. +CHIINV = PRUEBA.CHI.INV ## Devuelve la función inversa de la probabilidad de una variable aleatoria continua siguiendo una distribución chi cuadrado de una sola cola. +CHITEST = PRUEBA.CHI ## Devuelve la prueba de independencia. +CONFIDENCE = INTERVALO.CONFIANZA ## Devuelve el intervalo de confianza de la media de una población. +CORREL = COEF.DE.CORREL ## Devuelve el coeficiente de correlación entre dos conjuntos de datos. +COUNT = CONTAR ## Cuenta cuántos números hay en la lista de argumentos. +COUNTA = CONTARA ## Cuenta cuántos valores hay en la lista de argumentos. +COUNTBLANK = CONTAR.BLANCO ## Cuenta el número de celdas en blanco de un rango. +COUNTIF = CONTAR.SI ## Cuenta el número de celdas, dentro del rango, que cumplen el criterio especificado. +COUNTIFS = CONTAR.SI.CONJUNTO ## Cuenta el número de celdas, dentro del rango, que cumplen varios criterios. +COVAR = COVAR ## Devuelve la covarianza, que es el promedio de los productos de las desviaciones para cada pareja de puntos de datos. +CRITBINOM = BINOM.CRIT ## Devuelve el menor valor cuya distribución binomial acumulativa es menor o igual a un valor de criterio. +DEVSQ = DESVIA2 ## Devuelve la suma de los cuadrados de las desviaciones. +EXPONDIST = DISTR.EXP ## Devuelve la distribución exponencial. +FDIST = DISTR.F ## Devuelve la distribución de probabilidad F. +FINV = DISTR.F.INV ## Devuelve la función inversa de la distribución de probabilidad F. +FISHER = FISHER ## Devuelve la transformación Fisher. +FISHERINV = PRUEBA.FISHER.INV ## Devuelve la función inversa de la transformación Fisher. +FORECAST = PRONOSTICO ## Devuelve un valor en una tendencia lineal. +FREQUENCY = FRECUENCIA ## Devuelve una distribución de frecuencia como una matriz vertical. +FTEST = PRUEBA.F ## Devuelve el resultado de una prueba F. +GAMMADIST = DISTR.GAMMA ## Devuelve la distribución gamma. +GAMMAINV = DISTR.GAMMA.INV ## Devuelve la función inversa de la distribución gamma acumulativa. +GAMMALN = GAMMA.LN ## Devuelve el logaritmo natural de la función gamma, G(x). +GEOMEAN = MEDIA.GEOM ## Devuelve la media geométrica. +GROWTH = CRECIMIENTO ## Devuelve valores en una tendencia exponencial. +HARMEAN = MEDIA.ARMO ## Devuelve la media armónica. +HYPGEOMDIST = DISTR.HIPERGEOM ## Devuelve la distribución hipergeométrica. +INTERCEPT = INTERSECCION.EJE ## Devuelve la intersección de la línea de regresión lineal. +KURT = CURTOSIS ## Devuelve la curtosis de un conjunto de datos. +LARGE = K.ESIMO.MAYOR ## Devuelve el k-ésimo mayor valor de un conjunto de datos. +LINEST = ESTIMACION.LINEAL ## Devuelve los parámetros de una tendencia lineal. +LOGEST = ESTIMACION.LOGARITMICA ## Devuelve los parámetros de una tendencia exponencial. +LOGINV = DISTR.LOG.INV ## Devuelve la función inversa de la distribución logarítmico-normal. +LOGNORMDIST = DISTR.LOG.NORM ## Devuelve la distribución logarítmico-normal acumulativa. +MAX = MAX ## Devuelve el valor máximo de una lista de argumentos. +MAXA = MAXA ## Devuelve el valor máximo de una lista de argumentos, incluidos números, texto y valores lógicos. +MEDIAN = MEDIANA ## Devuelve la mediana de los números dados. +MIN = MIN ## Devuelve el valor mínimo de una lista de argumentos. +MINA = MINA ## Devuelve el valor mínimo de una lista de argumentos, incluidos números, texto y valores lógicos. +MODE = MODA ## Devuelve el valor más común de un conjunto de datos. +NEGBINOMDIST = NEGBINOMDIST ## Devuelve la distribución binomial negativa. +NORMDIST = DISTR.NORM ## Devuelve la distribución normal acumulativa. +NORMINV = DISTR.NORM.INV ## Devuelve la función inversa de la distribución normal acumulativa. +NORMSDIST = DISTR.NORM.ESTAND ## Devuelve la distribución normal estándar acumulativa. +NORMSINV = DISTR.NORM.ESTAND.INV ## Devuelve la función inversa de la distribución normal estándar acumulativa. +PEARSON = PEARSON ## Devuelve el coeficiente de momento de correlación de producto Pearson. +PERCENTILE = PERCENTIL ## Devuelve el k-ésimo percentil de los valores de un rango. +PERCENTRANK = RANGO.PERCENTIL ## Devuelve el rango porcentual de un valor de un conjunto de datos. +PERMUT = PERMUTACIONES ## Devuelve el número de permutaciones de un número determinado de objetos. +POISSON = POISSON ## Devuelve la distribución de Poisson. +PROB = PROBABILIDAD ## Devuelve la probabilidad de que los valores de un rango se encuentren entre dos límites. +QUARTILE = CUARTIL ## Devuelve el cuartil de un conjunto de datos. +RANK = JERARQUIA ## Devuelve la jerarquía de un número en una lista de números. +RSQ = COEFICIENTE.R2 ## Devuelve el cuadrado del coeficiente de momento de correlación de producto Pearson. +SKEW = COEFICIENTE.ASIMETRIA ## Devuelve la asimetría de una distribución. +SLOPE = PENDIENTE ## Devuelve la pendiente de la línea de regresión lineal. +SMALL = K.ESIMO.MENOR ## Devuelve el k-ésimo menor valor de un conjunto de datos. +STANDARDIZE = NORMALIZACION ## Devuelve un valor normalizado. +STDEV = DESVEST ## Calcula la desviación estándar a partir de una muestra. +STDEVA = DESVESTA ## Calcula la desviación estándar a partir de una muestra, incluidos números, texto y valores lógicos. +STDEVP = DESVESTP ## Calcula la desviación estándar en función de toda la población. +STDEVPA = DESVESTPA ## Calcula la desviación estándar en función de toda la población, incluidos números, texto y valores lógicos. +STEYX = ERROR.TIPICO.XY ## Devuelve el error estándar del valor de "y" previsto para cada "x" de la regresión. +TDIST = DISTR.T ## Devuelve la distribución de t de Student. +TINV = DISTR.T.INV ## Devuelve la función inversa de la distribución de t de Student. +TREND = TENDENCIA ## Devuelve valores en una tendencia lineal. +TRIMMEAN = MEDIA.ACOTADA ## Devuelve la media del interior de un conjunto de datos. +TTEST = PRUEBA.T ## Devuelve la probabilidad asociada a una prueba t de Student. +VAR = VAR ## Calcula la varianza en función de una muestra. +VARA = VARA ## Calcula la varianza en función de una muestra, incluidos números, texto y valores lógicos. +VARP = VARP ## Calcula la varianza en función de toda la población. +VARPA = VARPA ## Calcula la varianza en función de toda la población, incluidos números, texto y valores lógicos. +WEIBULL = DIST.WEIBULL ## Devuelve la distribución de Weibull. +ZTEST = PRUEBA.Z ## Devuelve el valor de una probabilidad de una cola de una prueba z. + + +## +## Text functions Funciones de texto +## +ASC = ASC ## Convierte las letras inglesas o katakana de ancho completo (de dos bytes) dentro de una cadena de caracteres en caracteres de ancho medio (de un byte). +BAHTTEXT = TEXTOBAHT ## Convierte un número en texto, con el formato de moneda ß (Baht). +CHAR = CARACTER ## Devuelve el carácter especificado por el número de código. +CLEAN = LIMPIAR ## Quita del texto todos los caracteres no imprimibles. +CODE = CODIGO ## Devuelve un código numérico del primer carácter de una cadena de texto. +CONCATENATE = CONCATENAR ## Concatena varios elementos de texto en uno solo. +DOLLAR = MONEDA ## Convierte un número en texto, con el formato de moneda $ (dólar). +EXACT = IGUAL ## Comprueba si dos valores de texto son idénticos. +FIND = ENCONTRAR ## Busca un valor de texto dentro de otro (distingue mayúsculas de minúsculas). +FINDB = ENCONTRARB ## Busca un valor de texto dentro de otro (distingue mayúsculas de minúsculas). +FIXED = DECIMAL ## Da formato a un número como texto con un número fijo de decimales. +JIS = JIS ## Convierte las letras inglesas o katakana de ancho medio (de un byte) dentro de una cadena de caracteres en caracteres de ancho completo (de dos bytes). +LEFT = IZQUIERDA ## Devuelve los caracteres del lado izquierdo de un valor de texto. +LEFTB = IZQUIERDAB ## Devuelve los caracteres del lado izquierdo de un valor de texto. +LEN = LARGO ## Devuelve el número de caracteres de una cadena de texto. +LENB = LARGOB ## Devuelve el número de caracteres de una cadena de texto. +LOWER = MINUSC ## Pone el texto en minúsculas. +MID = EXTRAE ## Devuelve un número específico de caracteres de una cadena de texto que comienza en la posición que se especifique. +MIDB = EXTRAEB ## Devuelve un número específico de caracteres de una cadena de texto que comienza en la posición que se especifique. +PHONETIC = FONETICO ## Extrae los caracteres fonéticos (furigana) de una cadena de texto. +PROPER = NOMPROPIO ## Pone en mayúscula la primera letra de cada palabra de un valor de texto. +REPLACE = REEMPLAZAR ## Reemplaza caracteres de texto. +REPLACEB = REEMPLAZARB ## Reemplaza caracteres de texto. +REPT = REPETIR ## Repite el texto un número determinado de veces. +RIGHT = DERECHA ## Devuelve los caracteres del lado derecho de un valor de texto. +RIGHTB = DERECHAB ## Devuelve los caracteres del lado derecho de un valor de texto. +SEARCH = HALLAR ## Busca un valor de texto dentro de otro (no distingue mayúsculas de minúsculas). +SEARCHB = HALLARB ## Busca un valor de texto dentro de otro (no distingue mayúsculas de minúsculas). +SUBSTITUTE = SUSTITUIR ## Sustituye texto nuevo por texto antiguo en una cadena de texto. +T = T ## Convierte sus argumentos a texto. +TEXT = TEXTO ## Da formato a un número y lo convierte en texto. +TRIM = ESPACIOS ## Quita los espacios del texto. +UPPER = MAYUSC ## Pone el texto en mayúsculas. +VALUE = VALOR ## Convierte un argumento de texto en un número. diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/locale/fi/config b/vendor/phpoffice/phpexcel/Classes/PHPExcel/locale/fi/config new file mode 100644 index 00000000..498cf4ce --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/locale/fi/config @@ -0,0 +1,47 @@ +## +## PHPExcel +## +## Copyright (c) 2006 - 2013 PHPExcel +## +## This library is free software; you can redistribute it and/or +## modify it under the terms of the GNU Lesser General Public +## License as published by the Free Software Foundation; either +## version 2.1 of the License, or (at your option) any later version. +## +## This library is distributed in the hope that it will be useful, +## but WITHOUT ANY WARRANTY; without even the implied warranty of +## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +## Lesser General Public License for more details. +## +## You should have received a copy of the GNU Lesser General Public +## License along with this library; if not, write to the Free Software +## Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +## +## @category PHPExcel +## @package PHPExcel_Settings +## @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel) +## @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL +## @version ##VERSION##, ##DATE## +## +## + + +ArgumentSeparator = ; + + +## +## (For future use) +## +currencySymbol = $ # Symbol not known, should it be a € (Euro)? + + +## +## Excel Error Codes (For future use) +## +NULL = #TYHJÄ! +DIV0 = #JAKO/0! +VALUE = #ARVO! +REF = #VIITTAUS! +NAME = #NIMI? +NUM = #LUKU! +NA = #PUUTTUU diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/locale/fi/functions b/vendor/phpoffice/phpexcel/Classes/PHPExcel/locale/fi/functions new file mode 100644 index 00000000..6a7c2b36 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/locale/fi/functions @@ -0,0 +1,438 @@ +## +## PHPExcel +## +## Copyright (c) 2006 - 2013 PHPExcel +## +## This library is free software; you can redistribute it and/or +## modify it under the terms of the GNU Lesser General Public +## License as published by the Free Software Foundation; either +## version 2.1 of the License, or (at your option) any later version. +## +## This library is distributed in the hope that it will be useful, +## but WITHOUT ANY WARRANTY; without even the implied warranty of +## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +## Lesser General Public License for more details. +## +## You should have received a copy of the GNU Lesser General Public +## License along with this library; if not, write to the Free Software +## Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +## +## @category PHPExcel +## @package PHPExcel_Calculation +## @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel) +## @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL +## @version ##VERSION##, ##DATE## +## +## Data in this file derived from http://www.piuha.fi/excel-function-name-translation/ +## +## + + +## +## Add-in and Automation functions Apuohjelma- ja automaatiofunktiot +## +GETPIVOTDATA = NOUDA.PIVOT.TIEDOT ## Palauttaa pivot-taulukkoraporttiin tallennettuja tietoja. + + +## +## Cube functions Kuutiofunktiot +## +CUBEKPIMEMBER = KUUTIOKPIJÄSEN ## Palauttaa suorituskykyilmaisimen (KPI) nimen, ominaisuuden sekä mitan ja näyttää nimen sekä ominaisuuden solussa. KPI on mitattavissa oleva suure, kuten kuukauden bruttotuotto tai vuosineljänneksen työntekijäkohtainen liikevaihto, joiden avulla tarkkaillaan organisaation suorituskykyä. +CUBEMEMBER = KUUTIONJÄSEN ## Palauttaa kuutiohierarkian jäsenen tai monikon. Tällä funktiolla voit tarkistaa, että jäsen tai monikko on olemassa kuutiossa. +CUBEMEMBERPROPERTY = KUUTIONJÄSENENOMINAISUUS ## Palauttaa kuution jäsenominaisuuden arvon. Tällä funktiolla voit tarkistaa, että nimi on olemassa kuutiossa, ja palauttaa tämän jäsenen määritetyn ominaisuuden. +CUBERANKEDMEMBER = KUUTIONLUOKITELTUJÄSEN ## Palauttaa joukon n:nnen jäsenen. Tällä funktiolla voit palauttaa joukosta elementtejä, kuten parhaan myyjän tai 10 parasta opiskelijaa. +CUBESET = KUUTIOJOUKKO ## Määrittää lasketun jäsen- tai monikkojoukon lähettämällä joukon lausekkeita palvelimessa olevalle kuutiolle. Palvelin luo joukon ja palauttaa sen Microsoft Office Excelille. +CUBESETCOUNT = KUUTIOJOUKKOJENMÄÄRÄ ## Palauttaa joukon kohteiden määrän. +CUBEVALUE = KUUTIONARVO ## Palauttaa koostetun arvon kuutiosta. + + +## +## Database functions Tietokantafunktiot +## +DAVERAGE = TKESKIARVO ## Palauttaa valittujen tietokantamerkintöjen keskiarvon. +DCOUNT = TLASKE ## Laskee tietokannan lukuja sisältävien solujen määrän. +DCOUNTA = TLASKEA ## Laskee tietokannan tietoja sisältävien solujen määrän. +DGET = TNOUDA ## Hakee määritettyjä ehtoja vastaavan tietueen tietokannasta. +DMAX = TMAKS ## Palauttaa suurimman arvon tietokannasta valittujen arvojen joukosta. +DMIN = TMIN ## Palauttaa pienimmän arvon tietokannasta valittujen arvojen joukosta. +DPRODUCT = TTULO ## Kertoo määritetyn ehdon täyttävien tietokannan tietueiden tietyssä kentässä olevat arvot. +DSTDEV = TKESKIHAJONTA ## Laskee keskihajonnan tietokannasta valituista arvoista muodostuvan otoksen perusteella. +DSTDEVP = TKESKIHAJONTAP ## Laskee keskihajonnan tietokannasta valittujen arvojen koko populaation perusteella. +DSUM = TSUMMA ## Lisää luvut määritetyn ehdon täyttävien tietokannan tietueiden kenttäsarakkeeseen. +DVAR = TVARIANSSI ## Laskee varianssin tietokannasta valittujen arvojen otoksen perusteella. +DVARP = TVARIANSSIP ## Laskee varianssin tietokannasta valittujen arvojen koko populaation perusteella. + + +## +## Date and time functions Päivämäärä- ja aikafunktiot +## +DATE = PÄIVÄYS ## Palauttaa annetun päivämäärän järjestysluvun. +DATEVALUE = PÄIVÄYSARVO ## Muuntaa tekstimuodossa olevan päivämäärän järjestysluvuksi. +DAY = PÄIVÄ ## Muuntaa järjestysluvun kuukauden päiväksi. +DAYS360 = PÄIVÄT360 ## Laskee kahden päivämäärän välisten päivien määrän käyttäen perustana 360-päiväistä vuotta. +EDATE = PÄIVÄ.KUUKAUSI ## Palauttaa järjestyslukuna päivämäärän, joka poikkeaa aloituspäivän päivämäärästä annetun kuukausimäärän verran joko eteen- tai taaksepäin. +EOMONTH = KUUKAUSI.LOPPU ## Palauttaa järjestyslukuna sen kuukauden viimeisen päivämäärän, joka poikkeaa annetun kuukausimäärän verran eteen- tai taaksepäin. +HOUR = TUNNIT ## Muuntaa järjestysluvun tunneiksi. +MINUTE = MINUUTIT ## Muuntaa järjestysluvun minuuteiksi. +MONTH = KUUKAUSI ## Muuntaa järjestysluvun kuukausiksi. +NETWORKDAYS = TYÖPÄIVÄT ## Palauttaa kahden päivämäärän välissä olevien täysien työpäivien määrän. +NOW = NYT ## Palauttaa kuluvan päivämäärän ja ajan järjestysnumeron. +SECOND = SEKUNNIT ## Muuntaa järjestysluvun sekunneiksi. +TIME = AIKA ## Palauttaa annetun kellonajan järjestysluvun. +TIMEVALUE = AIKA_ARVO ## Muuntaa tekstimuodossa olevan kellonajan järjestysluvuksi. +TODAY = TÄMÄ.PÄIVÄ ## Palauttaa kuluvan päivän päivämäärän järjestysluvun. +WEEKDAY = VIIKONPÄIVÄ ## Muuntaa järjestysluvun viikonpäiväksi. +WEEKNUM = VIIKKO.NRO ## Muuntaa järjestysluvun luvuksi, joka ilmaisee viikon järjestysluvun vuoden alusta laskettuna. +WORKDAY = TYÖPÄIVÄ ## Palauttaa järjestysluvun päivämäärälle, joka sijaitsee annettujen työpäivien verran eteen tai taaksepäin. +YEAR = VUOSI ## Muuntaa järjestysluvun vuosiksi. +YEARFRAC = VUOSI.OSA ## Palauttaa määritettyjen päivämäärien (aloituspäivä ja lopetuspäivä) välisen osan vuodesta. + + +## +## Engineering functions Tekniset funktiot +## +BESSELI = BESSELI ## Palauttaa muunnetun Bessel-funktion In(x). +BESSELJ = BESSELJ ## Palauttaa Bessel-funktion Jn(x). +BESSELK = BESSELK ## Palauttaa muunnetun Bessel-funktion Kn(x). +BESSELY = BESSELY ## Palauttaa Bessel-funktion Yn(x). +BIN2DEC = BINDES ## Muuntaa binaariluvun desimaaliluvuksi. +BIN2HEX = BINHEKSA ## Muuntaa binaariluvun heksadesimaaliluvuksi. +BIN2OCT = BINOKT ## Muuntaa binaariluvun oktaaliluvuksi. +COMPLEX = KOMPLEKSI ## Muuntaa reaali- ja imaginaariosien kertoimet kompleksiluvuksi. +CONVERT = MUUNNA ## Muuntaa luvun toisen mittajärjestelmän mukaiseksi. +DEC2BIN = DESBIN ## Muuntaa desimaaliluvun binaariluvuksi. +DEC2HEX = DESHEKSA ## Muuntaa kymmenjärjestelmän luvun heksadesimaaliluvuksi. +DEC2OCT = DESOKT ## Muuntaa kymmenjärjestelmän luvun oktaaliluvuksi. +DELTA = SAMA.ARVO ## Tarkistaa, ovatko kaksi arvoa yhtä suuria. +ERF = VIRHEFUNKTIO ## Palauttaa virhefunktion. +ERFC = VIRHEFUNKTIO.KOMPLEMENTTI ## Palauttaa komplementtivirhefunktion. +GESTEP = RAJA ## Testaa, onko luku suurempi kuin kynnysarvo. +HEX2BIN = HEKSABIN ## Muuntaa heksadesimaaliluvun binaariluvuksi. +HEX2DEC = HEKSADES ## Muuntaa heksadesimaaliluvun desimaaliluvuksi. +HEX2OCT = HEKSAOKT ## Muuntaa heksadesimaaliluvun oktaaliluvuksi. +IMABS = KOMPLEKSI.ITSEISARVO ## Palauttaa kompleksiluvun itseisarvon (moduluksen). +IMAGINARY = KOMPLEKSI.IMAG ## Palauttaa kompleksiluvun imaginaariosan kertoimen. +IMARGUMENT = KOMPLEKSI.ARG ## Palauttaa theeta-argumentin, joka on radiaaneina annettu kulma. +IMCONJUGATE = KOMPLEKSI.KONJ ## Palauttaa kompleksiluvun konjugaattiluvun. +IMCOS = KOMPLEKSI.COS ## Palauttaa kompleksiluvun kosinin. +IMDIV = KOMPLEKSI.OSAM ## Palauttaa kahden kompleksiluvun osamäärän. +IMEXP = KOMPLEKSI.EKSP ## Palauttaa kompleksiluvun eksponentin. +IMLN = KOMPLEKSI.LN ## Palauttaa kompleksiluvun luonnollisen logaritmin. +IMLOG10 = KOMPLEKSI.LOG10 ## Palauttaa kompleksiluvun kymmenkantaisen logaritmin. +IMLOG2 = KOMPLEKSI.LOG2 ## Palauttaa kompleksiluvun kaksikantaisen logaritmin. +IMPOWER = KOMPLEKSI.POT ## Palauttaa kokonaislukupotenssiin korotetun kompleksiluvun. +IMPRODUCT = KOMPLEKSI.TULO ## Palauttaa kompleksilukujen tulon. +IMREAL = KOMPLEKSI.REAALI ## Palauttaa kompleksiluvun reaaliosan kertoimen. +IMSIN = KOMPLEKSI.SIN ## Palauttaa kompleksiluvun sinin. +IMSQRT = KOMPLEKSI.NELIÖJ ## Palauttaa kompleksiluvun neliöjuuren. +IMSUB = KOMPLEKSI.EROTUS ## Palauttaa kahden kompleksiluvun erotuksen. +IMSUM = KOMPLEKSI.SUM ## Palauttaa kompleksilukujen summan. +OCT2BIN = OKTBIN ## Muuntaa oktaaliluvun binaariluvuksi. +OCT2DEC = OKTDES ## Muuntaa oktaaliluvun desimaaliluvuksi. +OCT2HEX = OKTHEKSA ## Muuntaa oktaaliluvun heksadesimaaliluvuksi. + + +## +## Financial functions Rahoitusfunktiot +## +ACCRINT = KERTYNYT.KORKO ## Laskee arvopaperille kertyneen koron, kun korko kertyy säännöllisin väliajoin. +ACCRINTM = KERTYNYT.KORKO.LOPUSSA ## Laskee arvopaperille kertyneen koron, kun korko maksetaan eräpäivänä. +AMORDEGRC = AMORDEGRC ## Laskee kunkin laskentakauden poiston poistokerrointa käyttämällä. +AMORLINC = AMORLINC ## Palauttaa kunkin laskentakauden poiston. +COUPDAYBS = KORKOPÄIVÄT.ALUSTA ## Palauttaa koronmaksukauden aloituspäivän ja tilityspäivän välisen ajanjakson päivien määrän. +COUPDAYS = KORKOPÄIVÄT ## Palauttaa päivien määrän koronmaksukaudelta, johon tilityspäivä kuuluu. +COUPDAYSNC = KORKOPÄIVÄT.SEURAAVA ## Palauttaa tilityspäivän ja seuraavan koronmaksupäivän välisen ajanjakson päivien määrän. +COUPNCD = KORKOMAKSU.SEURAAVA ## Palauttaa tilityspäivän jälkeisen seuraavan koronmaksupäivän. +COUPNUM = KORKOPÄIVÄJAKSOT ## Palauttaa arvopaperin ostopäivän ja erääntymispäivän välisten koronmaksupäivien määrän. +COUPPCD = KORKOPÄIVÄ.EDELLINEN ## Palauttaa tilityspäivää edeltävän koronmaksupäivän. +CUMIPMT = MAKSETTU.KORKO ## Palauttaa kahden jakson välisenä aikana kertyneen koron. +CUMPRINC = MAKSETTU.LYHENNYS ## Palauttaa lainalle kahden jakson välisenä aikana kertyneen lyhennyksen. +DB = DB ## Palauttaa kauden kirjanpidollisen poiston amerikkalaisen DB-menetelmän (Fixed-declining balance) mukaan. +DDB = DDB ## Palauttaa kauden kirjanpidollisen poiston amerikkalaisen DDB-menetelmän (Double-Declining Balance) tai jonkin muun määrittämäsi menetelmän mukaan. +DISC = DISKONTTOKORKO ## Palauttaa arvopaperin diskonttokoron. +DOLLARDE = VALUUTTA.DES ## Muuntaa murtolukuna ilmoitetun valuuttamäärän desimaaliluvuksi. +DOLLARFR = VALUUTTA.MURTO ## Muuntaa desimaalilukuna ilmaistun valuuttamäärän murtoluvuksi. +DURATION = KESTO ## Palauttaa keston arvopaperille, jonka koronmaksu tapahtuu säännöllisesti. +EFFECT = KORKO.EFEKT ## Palauttaa todellisen vuosikoron. +FV = TULEVA.ARVO ## Palauttaa sijoituksen tulevan arvon. +FVSCHEDULE = TULEVA.ARVO.ERIKORKO ## Palauttaa pääoman tulevan arvon, kun pääomalle on kertynyt korkoa vaihtelevasti. +INTRATE = KORKO.ARVOPAPERI ## Palauttaa arvopaperin korkokannan täysin sijoitetulle arvopaperille. +IPMT = IPMT ## Laskee sijoitukselle tai lainalle tiettynä ajanjaksona kertyvän koron. +IRR = SISÄINEN.KORKO ## Laskee sisäisen korkokannan kassavirrasta muodostuvalle sarjalle. +ISPMT = ONMAKSU ## Laskee sijoituksen maksetun koron tietyllä jaksolla. +MDURATION = KESTO.MUUNN ## Palauttaa muunnetun Macauley-keston arvopaperille, jonka oletettu nimellisarvo on 100 euroa. +MIRR = MSISÄINEN ## Palauttaa sisäisen korkokannan, kun positiivisten ja negatiivisten kassavirtojen rahoituskorko on erilainen. +NOMINAL = KORKO.VUOSI ## Palauttaa vuosittaisen nimelliskoron. +NPER = NJAKSO ## Palauttaa sijoituksen jaksojen määrän. +NPV = NNA ## Palauttaa sijoituksen nykyarvon toistuvista kassavirroista muodostuvan sarjan ja diskonttokoron perusteella. +ODDFPRICE = PARITON.ENS.NIMELLISARVO ## Palauttaa arvopaperin hinnan tilanteessa, jossa ensimmäinen jakso on pariton. +ODDFYIELD = PARITON.ENS.TUOTTO ## Palauttaa arvopaperin tuoton tilanteessa, jossa ensimmäinen jakso on pariton. +ODDLPRICE = PARITON.VIIM.NIMELLISARVO ## Palauttaa arvopaperin hinnan tilanteessa, jossa viimeinen jakso on pariton. +ODDLYIELD = PARITON.VIIM.TUOTTO ## Palauttaa arvopaperin tuoton tilanteessa, jossa viimeinen jakso on pariton. +PMT = MAKSU ## Palauttaa annuiteetin kausittaisen maksuerän. +PPMT = PPMT ## Laskee sijoitukselle tai lainalle tiettynä ajanjaksona maksettavan lyhennyksen. +PRICE = HINTA ## Palauttaa hinnan 100 euron nimellisarvoa kohden arvopaperille, jonka korko maksetaan säännöllisin väliajoin. +PRICEDISC = HINTA.DISK ## Palauttaa diskontatun arvopaperin hinnan 100 euron nimellisarvoa kohden. +PRICEMAT = HINTA.LUNASTUS ## Palauttaa hinnan 100 euron nimellisarvoa kohden arvopaperille, jonka korko maksetaan erääntymispäivänä. +PV = NA ## Palauttaa sijoituksen nykyarvon. +RATE = KORKO ## Palauttaa annuiteetin kausittaisen korkokannan. +RECEIVED = SAATU.HINTA ## Palauttaa arvopaperin tuoton erääntymispäivänä kokonaan maksetulle sijoitukselle. +SLN = STP ## Palauttaa sijoituksen tasapoiston yhdeltä jaksolta. +SYD = VUOSIPOISTO ## Palauttaa sijoituksen vuosipoiston annettuna kautena amerikkalaisen SYD-menetelmän (Sum-of-Year's Digits) avulla. +TBILLEQ = OBLIG.TUOTTOPROS ## Palauttaa valtion obligaation tuoton vastaavana joukkovelkakirjan tuottona. +TBILLPRICE = OBLIG.HINTA ## Palauttaa obligaation hinnan 100 euron nimellisarvoa kohden. +TBILLYIELD = OBLIG.TUOTTO ## Palauttaa obligaation tuoton. +VDB = VDB ## Palauttaa annetun kauden tai kauden osan kirjanpidollisen poiston amerikkalaisen DB-menetelmän (Fixed-declining balance) mukaan. +XIRR = SISÄINEN.KORKO.JAKSOTON ## Palauttaa sisäisen korkokannan kassavirtojen sarjoille, jotka eivät välttämättä ole säännöllisiä. +XNPV = NNA.JAKSOTON ## Palauttaa nettonykyarvon kassavirtasarjalle, joka ei välttämättä ole kausittainen. +YIELD = TUOTTO ## Palauttaa tuoton arvopaperille, jonka korko maksetaan säännöllisin väliajoin. +YIELDDISC = TUOTTO.DISK ## Palauttaa diskontatun arvopaperin, kuten obligaation, vuosittaisen tuoton. +YIELDMAT = TUOTTO.ERÄP ## Palauttaa erääntymispäivänään korkoa tuottavan arvopaperin vuosittaisen tuoton. + + +## +## Information functions Erikoisfunktiot +## +CELL = SOLU ## Palauttaa tietoja solun muotoilusta, sijainnista ja sisällöstä. +ERROR.TYPE = VIRHEEN.LAJI ## Palauttaa virhetyyppiä vastaavan luvun. +INFO = KUVAUS ## Palauttaa tietoja nykyisestä käyttöympäristöstä. +ISBLANK = ONTYHJÄ ## Palauttaa arvon TOSI, jos arvo on tyhjä. +ISERR = ONVIRH ## Palauttaa arvon TOSI, jos arvo on mikä tahansa virhearvo paitsi arvo #PUUTTUU!. +ISERROR = ONVIRHE ## Palauttaa arvon TOSI, jos arvo on mikä tahansa virhearvo. +ISEVEN = ONPARILLINEN ## Palauttaa arvon TOSI, jos arvo on parillinen. +ISLOGICAL = ONTOTUUS ## Palauttaa arvon TOSI, jos arvo on mikä tahansa looginen arvo. +ISNA = ONPUUTTUU ## Palauttaa arvon TOSI, jos virhearvo on #PUUTTUU!. +ISNONTEXT = ONEI_TEKSTI ## Palauttaa arvon TOSI, jos arvo ei ole teksti. +ISNUMBER = ONLUKU ## Palauttaa arvon TOSI, jos arvo on luku. +ISODD = ONPARITON ## Palauttaa arvon TOSI, jos arvo on pariton. +ISREF = ONVIITT ## Palauttaa arvon TOSI, jos arvo on viittaus. +ISTEXT = ONTEKSTI ## Palauttaa arvon TOSI, jos arvo on teksti. +N = N ## Palauttaa arvon luvuksi muunnettuna. +NA = PUUTTUU ## Palauttaa virhearvon #PUUTTUU!. +TYPE = TYYPPI ## Palauttaa luvun, joka ilmaisee arvon tietotyypin. + + +## +## Logical functions Loogiset funktiot +## +AND = JA ## Palauttaa arvon TOSI, jos kaikkien argumenttien arvo on TOSI. +FALSE = EPÄTOSI ## Palauttaa totuusarvon EPÄTOSI. +IF = JOS ## Määrittää suoritettavan loogisen testin. +IFERROR = JOSVIRHE ## Palauttaa määrittämäsi arvon, jos kaavan tulos on virhe; muussa tapauksessa palauttaa kaavan tuloksen. +NOT = EI ## Kääntää argumentin loogisen arvon. +OR = TAI ## Palauttaa arvon TOSI, jos minkä tahansa argumentin arvo on TOSI. +TRUE = TOSI ## Palauttaa totuusarvon TOSI. + + +## +## Lookup and reference functions Haku- ja viitefunktiot +## +ADDRESS = OSOITE ## Palauttaa laskentataulukon soluun osoittavan viittauksen tekstinä. +AREAS = ALUEET ## Palauttaa viittauksessa olevien alueiden määrän. +CHOOSE = VALITSE.INDEKSI ## Valitsee arvon arvoluettelosta. +COLUMN = SARAKE ## Palauttaa viittauksen sarakenumeron. +COLUMNS = SARAKKEET ## Palauttaa viittauksessa olevien sarakkeiden määrän. +HLOOKUP = VHAKU ## Suorittaa haun matriisin ylimmältä riviltä ja palauttaa määritetyn solun arvon. +HYPERLINK = HYPERLINKKI ## Luo pikakuvakkeen tai tekstin, joka avaa verkkopalvelimeen, intranetiin tai Internetiin tallennetun tiedoston. +INDEX = INDEKSI ## Valitsee arvon viittauksesta tai matriisista indeksin mukaan. +INDIRECT = EPÄSUORA ## Palauttaa tekstiarvona ilmaistun viittauksen. +LOOKUP = HAKU ## Etsii arvoja vektorista tai matriisista. +MATCH = VASTINE ## Etsii arvoja viittauksesta tai matriisista. +OFFSET = SIIRTYMÄ ## Palauttaa annetun viittauksen siirtymän. +ROW = RIVI ## Palauttaa viittauksen rivinumeron. +ROWS = RIVIT ## Palauttaa viittauksessa olevien rivien määrän. +RTD = RTD ## Noutaa COM-automaatiota (automaatio: Tapa käsitellä sovelluksen objekteja toisesta sovelluksesta tai kehitystyökalusta. Automaatio, jota aiemmin kutsuttiin OLE-automaatioksi, on teollisuusstandardi ja COM-mallin (Component Object Model) ominaisuus.) tukevasta ohjelmasta reaaliaikaisia tietoja. +TRANSPOSE = TRANSPONOI ## Palauttaa matriisin käänteismatriisin. +VLOOKUP = PHAKU ## Suorittaa haun matriisin ensimmäisestä sarakkeesta ja palauttaa rivillä olevan solun arvon. + + +## +## Math and trigonometry functions Matemaattiset ja trigonometriset funktiot +## +ABS = ITSEISARVO ## Palauttaa luvun itseisarvon. +ACOS = ACOS ## Palauttaa luvun arkuskosinin. +ACOSH = ACOSH ## Palauttaa luvun käänteisen hyperbolisen kosinin. +ASIN = ASIN ## Palauttaa luvun arkussinin. +ASINH = ASINH ## Palauttaa luvun käänteisen hyperbolisen sinin. +ATAN = ATAN ## Palauttaa luvun arkustangentin. +ATAN2 = ATAN2 ## Palauttaa arkustangentin x- ja y-koordinaatin perusteella. +ATANH = ATANH ## Palauttaa luvun käänteisen hyperbolisen tangentin. +CEILING = PYÖRISTÄ.KERR.YLÖS ## Pyöristää luvun lähimpään kokonaislukuun tai tarkkuusargumentin lähimpään kerrannaiseen. +COMBIN = KOMBINAATIO ## Palauttaa mahdollisten kombinaatioiden määrän annetulle objektien määrälle. +COS = COS ## Palauttaa luvun kosinin. +COSH = COSH ## Palauttaa luvun hyperbolisen kosinin. +DEGREES = ASTEET ## Muuntaa radiaanit asteiksi. +EVEN = PARILLINEN ## Pyöristää luvun ylöspäin lähimpään parilliseen kokonaislukuun. +EXP = EKSPONENTTI ## Palauttaa e:n korotettuna annetun luvun osoittamaan potenssiin. +FACT = KERTOMA ## Palauttaa luvun kertoman. +FACTDOUBLE = KERTOMA.OSA ## Palauttaa luvun osakertoman. +FLOOR = PYÖRISTÄ.KERR.ALAS ## Pyöristää luvun alaspäin (nollaa kohti). +GCD = SUURIN.YHT.TEKIJÄ ## Palauttaa suurimman yhteisen tekijän. +INT = KOKONAISLUKU ## Pyöristää luvun alaspäin lähimpään kokonaislukuun. +LCM = PIENIN.YHT.JAETTAVA ## Palauttaa pienimmän yhteisen tekijän. +LN = LUONNLOG ## Palauttaa luvun luonnollisen logaritmin. +LOG = LOG ## Laskee luvun logaritmin käyttämällä annettua kantalukua. +LOG10 = LOG10 ## Palauttaa luvun kymmenkantaisen logaritmin. +MDETERM = MDETERM ## Palauttaa matriisin matriisideterminantin. +MINVERSE = MKÄÄNTEINEN ## Palauttaa matriisin käänteismatriisin. +MMULT = MKERRO ## Palauttaa kahden matriisin tulon. +MOD = JAKOJ ## Palauttaa jakolaskun jäännöksen. +MROUND = PYÖRISTÄ.KERR ## Palauttaa luvun pyöristettynä annetun luvun kerrannaiseen. +MULTINOMIAL = MULTINOMI ## Palauttaa lukujoukon multinomin. +ODD = PARITON ## Pyöristää luvun ylöspäin lähimpään parittomaan kokonaislukuun. +PI = PII ## Palauttaa piin arvon. +POWER = POTENSSI ## Palauttaa luvun korotettuna haluttuun potenssiin. +PRODUCT = TULO ## Kertoo annetut argumentit. +QUOTIENT = OSAMÄÄRÄ ## Palauttaa osamäärän kokonaislukuosan. +RADIANS = RADIAANIT ## Muuntaa asteet radiaaneiksi. +RAND = SATUNNAISLUKU ## Palauttaa satunnaisluvun väliltä 0–1. +RANDBETWEEN = SATUNNAISLUKU.VÄLILTÄ ## Palauttaa satunnaisluvun määritettyjen lukujen väliltä. +ROMAN = ROMAN ## Muuntaa arabialaisen numeron tekstimuotoiseksi roomalaiseksi numeroksi. +ROUND = PYÖRISTÄ ## Pyöristää luvun annettuun määrään desimaaleja. +ROUNDDOWN = PYÖRISTÄ.DES.ALAS ## Pyöristää luvun alaspäin (nollaa kohti). +ROUNDUP = PYÖRISTÄ.DES.YLÖS ## Pyöristää luvun ylöspäin (poispäin nollasta). +SERIESSUM = SARJA.SUMMA ## Palauttaa kaavaan perustuvan potenssisarjan arvon. +SIGN = ETUMERKKI ## Palauttaa luvun etumerkin. +SIN = SIN ## Palauttaa annetun kulman sinin. +SINH = SINH ## Palauttaa luvun hyperbolisen sinin. +SQRT = NELIÖJUURI ## Palauttaa positiivisen neliöjuuren. +SQRTPI = NELIÖJUURI.PII ## Palauttaa tulon (luku * pii) neliöjuuren. +SUBTOTAL = VÄLISUMMA ## Palauttaa luettelon tai tietokannan välisumman. +SUM = SUMMA ## Laskee yhteen annetut argumentit. +SUMIF = SUMMA.JOS ## Laskee ehdot täyttävien solujen summan. +SUMIFS = SUMMA.JOS.JOUKKO ## Laskee yhteen solualueen useita ehtoja vastaavat solut. +SUMPRODUCT = TULOJEN.SUMMA ## Palauttaa matriisin toisiaan vastaavien osien tulojen summan. +SUMSQ = NELIÖSUMMA ## Palauttaa argumenttien neliöiden summan. +SUMX2MY2 = NELIÖSUMMIEN.EROTUS ## Palauttaa kahden matriisin toisiaan vastaavien arvojen laskettujen neliösummien erotuksen. +SUMX2PY2 = NELIÖSUMMIEN.SUMMA ## Palauttaa kahden matriisin toisiaan vastaavien arvojen neliösummien summan. +SUMXMY2 = EROTUSTEN.NELIÖSUMMA ## Palauttaa kahden matriisin toisiaan vastaavien arvojen erotusten neliösumman. +TAN = TAN ## Palauttaa luvun tangentin. +TANH = TANH ## Palauttaa luvun hyperbolisen tangentin. +TRUNC = KATKAISE ## Katkaisee luvun kokonaisluvuksi. + + +## +## Statistical functions Tilastolliset funktiot +## +AVEDEV = KESKIPOIKKEAMA ## Palauttaa hajontojen itseisarvojen keskiarvon. +AVERAGE = KESKIARVO ## Palauttaa argumenttien keskiarvon. +AVERAGEA = KESKIARVOA ## Palauttaa argumenttien, mukaan lukien lukujen, tekstin ja loogisten arvojen, keskiarvon. +AVERAGEIF = KESKIARVO.JOS ## Palauttaa alueen niiden solujen keskiarvon (aritmeettisen keskiarvon), jotka täyttävät annetut ehdot. +AVERAGEIFS = KESKIARVO.JOS.JOUKKO ## Palauttaa niiden solujen keskiarvon (aritmeettisen keskiarvon), jotka vastaavat useita ehtoja. +BETADIST = BEETAJAKAUMA ## Palauttaa kumulatiivisen beetajakaumafunktion arvon. +BETAINV = BEETAJAKAUMA.KÄÄNT ## Palauttaa määritetyn beetajakauman käänteisen kumulatiivisen jakaumafunktion arvon. +BINOMDIST = BINOMIJAKAUMA ## Palauttaa yksittäisen termin binomijakaumatodennäköisyyden. +CHIDIST = CHIJAKAUMA ## Palauttaa yksisuuntaisen chi-neliön jakauman todennäköisyyden. +CHIINV = CHIJAKAUMA.KÄÄNT ## Palauttaa yksisuuntaisen chi-neliön jakauman todennäköisyyden käänteisarvon. +CHITEST = CHITESTI ## Palauttaa riippumattomuustestin tuloksen. +CONFIDENCE = LUOTTAMUSVÄLI ## Palauttaa luottamusvälin populaation keskiarvolle. +CORREL = KORRELAATIO ## Palauttaa kahden arvojoukon korrelaatiokertoimen. +COUNT = LASKE ## Laskee argumenttiluettelossa olevien lukujen määrän. +COUNTA = LASKE.A ## Laskee argumenttiluettelossa olevien arvojen määrän. +COUNTBLANK = LASKE.TYHJÄT ## Laskee alueella olevien tyhjien solujen määrän. +COUNTIF = LASKE.JOS ## Laskee alueella olevien sellaisten solujen määrän, joiden sisältö vastaa annettuja ehtoja. +COUNTIFS = LASKE.JOS.JOUKKO ## Laskee alueella olevien sellaisten solujen määrän, joiden sisältö vastaa useita ehtoja. +COVAR = KOVARIANSSI ## Palauttaa kovarianssin, joka on keskiarvo havaintoaineiston kunkin pisteparin poikkeamien tuloista. +CRITBINOM = BINOMIJAKAUMA.KRIT ## Palauttaa pienimmän arvon, jossa binomijakauman kertymäfunktion arvo on pienempi tai yhtä suuri kuin vertailuarvo. +DEVSQ = OIKAISTU.NELIÖSUMMA ## Palauttaa keskipoikkeamien neliösumman. +EXPONDIST = EKSPONENTIAALIJAKAUMA ## Palauttaa eksponentiaalijakauman. +FDIST = FJAKAUMA ## Palauttaa F-todennäköisyysjakauman. +FINV = FJAKAUMA.KÄÄNT ## Palauttaa F-todennäköisyysjakauman käänteisfunktion. +FISHER = FISHER ## Palauttaa Fisher-muunnoksen. +FISHERINV = FISHER.KÄÄNT ## Palauttaa käänteisen Fisher-muunnoksen. +FORECAST = ENNUSTE ## Palauttaa lineaarisen trendin arvon. +FREQUENCY = TAAJUUS ## Palauttaa frekvenssijakautuman pystysuuntaisena matriisina. +FTEST = FTESTI ## Palauttaa F-testin tuloksen. +GAMMADIST = GAMMAJAKAUMA ## Palauttaa gammajakauman. +GAMMAINV = GAMMAJAKAUMA.KÄÄNT ## Palauttaa käänteisen gammajakauman kertymäfunktion. +GAMMALN = GAMMALN ## Palauttaa gammafunktion luonnollisen logaritmin G(x). +GEOMEAN = KESKIARVO.GEOM ## Palauttaa geometrisen keskiarvon. +GROWTH = KASVU ## Palauttaa eksponentiaalisen trendin arvon. +HARMEAN = KESKIARVO.HARM ## Palauttaa harmonisen keskiarvon. +HYPGEOMDIST = HYPERGEOM.JAKAUMA ## Palauttaa hypergeometrisen jakauman. +INTERCEPT = LEIKKAUSPISTE ## Palauttaa lineaarisen regressiosuoran leikkauspisteen. +KURT = KURT ## Palauttaa tietoalueen vinous-arvon eli huipukkuuden. +LARGE = SUURI ## Palauttaa tietojoukon k:nneksi suurimman arvon. +LINEST = LINREGR ## Palauttaa lineaarisen trendin parametrit. +LOGEST = LOGREGR ## Palauttaa eksponentiaalisen trendin parametrit. +LOGINV = LOGNORM.JAKAUMA.KÄÄNT ## Palauttaa lognormeeratun jakauman käänteisfunktion. +LOGNORMDIST = LOGNORM.JAKAUMA ## Palauttaa lognormaalisen jakauman kertymäfunktion. +MAX = MAKS ## Palauttaa suurimman arvon argumenttiluettelosta. +MAXA = MAKSA ## Palauttaa argumenttien, mukaan lukien lukujen, tekstin ja loogisten arvojen, suurimman arvon. +MEDIAN = MEDIAANI ## Palauttaa annettujen lukujen mediaanin. +MIN = MIN ## Palauttaa pienimmän arvon argumenttiluettelosta. +MINA = MINA ## Palauttaa argumenttien, mukaan lukien lukujen, tekstin ja loogisten arvojen, pienimmän arvon. +MODE = MOODI ## Palauttaa tietojoukossa useimmin esiintyvän arvon. +NEGBINOMDIST = BINOMIJAKAUMA.NEG ## Palauttaa negatiivisen binomijakauman. +NORMDIST = NORM.JAKAUMA ## Palauttaa normaalijakauman kertymäfunktion. +NORMINV = NORM.JAKAUMA.KÄÄNT ## Palauttaa käänteisen normaalijakauman kertymäfunktion. +NORMSDIST = NORM.JAKAUMA.NORMIT ## Palauttaa normitetun normaalijakauman kertymäfunktion. +NORMSINV = NORM.JAKAUMA.NORMIT.KÄÄNT ## Palauttaa normitetun normaalijakauman kertymäfunktion käänteisarvon. +PEARSON = PEARSON ## Palauttaa Pearsonin tulomomenttikorrelaatiokertoimen. +PERCENTILE = PROSENTTIPISTE ## Palauttaa alueen arvojen k:nnen prosenttipisteen. +PERCENTRANK = PROSENTTIJÄRJESTYS ## Palauttaa tietojoukon arvon prosentuaalisen järjestysluvun. +PERMUT = PERMUTAATIO ## Palauttaa mahdollisten permutaatioiden määrän annetulle objektien määrälle. +POISSON = POISSON ## Palauttaa Poissonin todennäköisyysjakauman. +PROB = TODENNÄKÖISYYS ## Palauttaa todennäköisyyden sille, että arvot ovat tietyltä väliltä. +QUARTILE = NELJÄNNES ## Palauttaa tietoalueen neljänneksen. +RANK = ARVON.MUKAAN ## Palauttaa luvun paikan lukuarvoluettelossa. +RSQ = PEARSON.NELIÖ ## Palauttaa Pearsonin tulomomenttikorrelaatiokertoimen neliön. +SKEW = JAKAUMAN.VINOUS ## Palauttaa jakauman vinouden. +SLOPE = KULMAKERROIN ## Palauttaa lineaarisen regressiosuoran kulmakertoimen. +SMALL = PIENI ## Palauttaa tietojoukon k:nneksi pienimmän arvon. +STANDARDIZE = NORMITA ## Palauttaa normitetun arvon. +STDEV = KESKIHAJONTA ## Laskee populaation keskihajonnan otoksen perusteella. +STDEVA = KESKIHAJONTAA ## Laskee populaation keskihajonnan otoksen perusteella, mukaan lukien luvut, tekstin ja loogiset arvot. +STDEVP = KESKIHAJONTAP ## Laskee normaalijakautuman koko populaation perusteella. +STDEVPA = KESKIHAJONTAPA ## Laskee populaation keskihajonnan koko populaation perusteella, mukaan lukien luvut, tekstin ja totuusarvot. +STEYX = KESKIVIRHE ## Palauttaa regression kutakin x-arvoa vastaavan ennustetun y-arvon keskivirheen. +TDIST = TJAKAUMA ## Palauttaa t-jakautuman. +TINV = TJAKAUMA.KÄÄNT ## Palauttaa käänteisen t-jakauman. +TREND = SUUNTAUS ## Palauttaa lineaarisen trendin arvoja. +TRIMMEAN = KESKIARVO.TASATTU ## Palauttaa tietojoukon tasatun keskiarvon. +TTEST = TTESTI ## Palauttaa t-testiin liittyvän todennäköisyyden. +VAR = VAR ## Arvioi populaation varianssia otoksen perusteella. +VARA = VARA ## Laskee populaation varianssin otoksen perusteella, mukaan lukien luvut, tekstin ja loogiset arvot. +VARP = VARP ## Laskee varianssin koko populaation perusteella. +VARPA = VARPA ## Laskee populaation varianssin koko populaation perusteella, mukaan lukien luvut, tekstin ja totuusarvot. +WEIBULL = WEIBULL ## Palauttaa Weibullin jakauman. +ZTEST = ZTESTI ## Palauttaa z-testin yksisuuntaisen todennäköisyysarvon. + + +## +## Text functions Tekstifunktiot +## +ASC = ASC ## Muuntaa merkkijonossa olevat englanninkieliset DBCS- tai katakana-merkit SBCS-merkeiksi. +BAHTTEXT = BAHTTEKSTI ## Muuntaa luvun tekstiksi ß (baht) -valuuttamuotoa käyttämällä. +CHAR = MERKKI ## Palauttaa koodin lukua vastaavan merkin. +CLEAN = SIIVOA ## Poistaa tekstistä kaikki tulostumattomat merkit. +CODE = KOODI ## Palauttaa tekstimerkkijonon ensimmäisen merkin numerokoodin. +CONCATENATE = KETJUTA ## Yhdistää useat merkkijonot yhdeksi merkkijonoksi. +DOLLAR = VALUUTTA ## Muuntaa luvun tekstiksi $ (dollari) -valuuttamuotoa käyttämällä. +EXACT = VERTAA ## Tarkistaa, ovatko kaksi tekstiarvoa samanlaiset. +FIND = ETSI ## Etsii tekstiarvon toisen tekstin sisältä (tunnistaa isot ja pienet kirjaimet). +FINDB = ETSIB ## Etsii tekstiarvon toisen tekstin sisältä (tunnistaa isot ja pienet kirjaimet). +FIXED = KIINTEÄ ## Muotoilee luvun tekstiksi, jossa on kiinteä määrä desimaaleja. +JIS = JIS ## Muuntaa merkkijonossa olevat englanninkieliset SBCS- tai katakana-merkit DBCS-merkeiksi. +LEFT = VASEN ## Palauttaa tekstiarvon vasemmanpuoliset merkit. +LEFTB = VASENB ## Palauttaa tekstiarvon vasemmanpuoliset merkit. +LEN = PITUUS ## Palauttaa tekstimerkkijonon merkkien määrän. +LENB = PITUUSB ## Palauttaa tekstimerkkijonon merkkien määrän. +LOWER = PIENET ## Muuntaa tekstin pieniksi kirjaimiksi. +MID = POIMI.TEKSTI ## Palauttaa määritetyn määrän merkkejä merkkijonosta alkaen annetusta kohdasta. +MIDB = POIMI.TEKSTIB ## Palauttaa määritetyn määrän merkkejä merkkijonosta alkaen annetusta kohdasta. +PHONETIC = FONEETTINEN ## Hakee foneettiset (furigana) merkit merkkijonosta. +PROPER = ERISNIMI ## Muuttaa merkkijonon kunkin sanan ensimmäisen kirjaimen isoksi. +REPLACE = KORVAA ## Korvaa tekstissä olevat merkit. +REPLACEB = KORVAAB ## Korvaa tekstissä olevat merkit. +REPT = TOISTA ## Toistaa tekstin annetun määrän kertoja. +RIGHT = OIKEA ## Palauttaa tekstiarvon oikeanpuoliset merkit. +RIGHTB = OIKEAB ## Palauttaa tekstiarvon oikeanpuoliset merkit. +SEARCH = KÄY.LÄPI ## Etsii tekstiarvon toisen tekstin sisältä (isot ja pienet kirjaimet tulkitaan samoiksi merkeiksi). +SEARCHB = KÄY.LÄPIB ## Etsii tekstiarvon toisen tekstin sisältä (isot ja pienet kirjaimet tulkitaan samoiksi merkeiksi). +SUBSTITUTE = VAIHDA ## Korvaa merkkijonossa olevan tekstin toisella. +T = T ## Muuntaa argumentit tekstiksi. +TEXT = TEKSTI ## Muotoilee luvun ja muuntaa sen tekstiksi. +TRIM = POISTA.VÄLIT ## Poistaa välilyönnit tekstistä. +UPPER = ISOT ## Muuntaa tekstin isoiksi kirjaimiksi. +VALUE = ARVO ## Muuntaa tekstiargumentin luvuksi. diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/locale/fr/config b/vendor/phpoffice/phpexcel/Classes/PHPExcel/locale/fr/config new file mode 100644 index 00000000..1f5db88c --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/locale/fr/config @@ -0,0 +1,47 @@ +## +## PHPExcel +## +## Copyright (c) 2006 - 2013 PHPExcel +## +## This library is free software; you can redistribute it and/or +## modify it under the terms of the GNU Lesser General Public +## License as published by the Free Software Foundation; either +## version 2.1 of the License, or (at your option) any later version. +## +## This library is distributed in the hope that it will be useful, +## but WITHOUT ANY WARRANTY; without even the implied warranty of +## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +## Lesser General Public License for more details. +## +## You should have received a copy of the GNU Lesser General Public +## License along with this library; if not, write to the Free Software +## Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +## +## @category PHPExcel +## @package PHPExcel_Settings +## @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel) +## @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL +## @version ##VERSION##, ##DATE## +## +## + + +ArgumentSeparator = ; + + +## +## (For future use) +## +currencySymbol = € + + +## +## Excel Error Codes (For future use) +## +NULL = #NUL! +DIV0 = #DIV/0! +VALUE = #VALEUR! +REF = #REF! +NAME = #NOM? +NUM = #NOMBRE! +NA = #N/A diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/locale/fr/functions b/vendor/phpoffice/phpexcel/Classes/PHPExcel/locale/fr/functions new file mode 100644 index 00000000..03b80e5a --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/locale/fr/functions @@ -0,0 +1,438 @@ +## +## PHPExcel +## +## Copyright (c) 2006 - 2013 PHPExcel +## +## This library is free software; you can redistribute it and/or +## modify it under the terms of the GNU Lesser General Public +## License as published by the Free Software Foundation; either +## version 2.1 of the License, or (at your option) any later version. +## +## This library is distributed in the hope that it will be useful, +## but WITHOUT ANY WARRANTY; without even the implied warranty of +## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +## Lesser General Public License for more details. +## +## You should have received a copy of the GNU Lesser General Public +## License along with this library; if not, write to the Free Software +## Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +## +## @category PHPExcel +## @package PHPExcel_Calculation +## @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel) +## @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL +## @version ##VERSION##, ##DATE## +## +## Data in this file derived from http://www.piuha.fi/excel-function-name-translation/ +## +## + + +## +## Add-in and Automation functions Fonctions de complément et d’automatisation +## +GETPIVOTDATA = LIREDONNEESTABCROISDYNAMIQUE ## Renvoie les données stockées dans un rapport de tableau croisé dynamique. + + +## +## Cube functions Fonctions Cube +## +CUBEKPIMEMBER = MEMBREKPICUBE ## Renvoie un nom, une propriété et une mesure d’indicateur de performance clé et affiche le nom et la propriété dans la cellule. Un indicateur de performance clé est une mesure quantifiable, telle que la marge bénéficiaire brute mensuelle ou la rotation trimestrielle du personnel, utilisée pour évaluer les performances d’une entreprise. +CUBEMEMBER = MEMBRECUBE ## Renvoie un membre ou un uplet dans une hiérarchie de cubes. Utilisez cette fonction pour valider l’existence du membre ou de l’uplet dans le cube. +CUBEMEMBERPROPERTY = PROPRIETEMEMBRECUBE ## Renvoie la valeur d’une propriété de membre du cube. Utilisez cette fonction pour valider l’existence d’un nom de membre dans le cube et pour renvoyer la propriété spécifiée pour ce membre. +CUBERANKEDMEMBER = RANGMEMBRECUBE ## Renvoie le nième membre ou le membre placé à un certain rang dans un ensemble. Utilisez cette fonction pour renvoyer un ou plusieurs éléments d’un ensemble, tels que les meilleurs vendeurs ou les 10 meilleurs étudiants. +CUBESET = JEUCUBE ## Définit un ensemble calculé de membres ou d’uplets en envoyant une expression définie au cube sur le serveur qui crée l’ensemble et le renvoie à Microsoft Office Excel. +CUBESETCOUNT = NBJEUCUBE ## Renvoie le nombre d’éléments dans un jeu. +CUBEVALUE = VALEURCUBE ## Renvoie une valeur d’agrégation issue d’un cube. + + +## +## Database functions Fonctions de base de données +## +DAVERAGE = BDMOYENNE ## Renvoie la moyenne des entrées de base de données sélectionnées. +DCOUNT = BCOMPTE ## Compte le nombre de cellules d’une base de données qui contiennent des nombres. +DCOUNTA = BDNBVAL ## Compte les cellules non vides d’une base de données. +DGET = BDLIRE ## Extrait d’une base de données un enregistrement unique répondant aux critères spécifiés. +DMAX = BDMAX ## Renvoie la valeur maximale des entrées de base de données sélectionnées. +DMIN = BDMIN ## Renvoie la valeur minimale des entrées de base de données sélectionnées. +DPRODUCT = BDPRODUIT ## Multiplie les valeurs d’un champ particulier des enregistrements d’une base de données, qui répondent aux critères spécifiés. +DSTDEV = BDECARTYPE ## Calcule l’écart type pour un échantillon d’entrées de base de données sélectionnées. +DSTDEVP = BDECARTYPEP ## Calcule l’écart type pour l’ensemble d’une population d’entrées de base de données sélectionnées. +DSUM = BDSOMME ## Ajoute les nombres dans la colonne de champ des enregistrements de la base de données, qui répondent aux critères. +DVAR = BDVAR ## Calcule la variance pour un échantillon d’entrées de base de données sélectionnées. +DVARP = BDVARP ## Calcule la variance pour l’ensemble d’une population d’entrées de base de données sélectionnées. + + +## +## Date and time functions Fonctions de date et d’heure +## +DATE = DATE ## Renvoie le numéro de série d’une date précise. +DATEVALUE = DATEVAL ## Convertit une date représentée sous forme de texte en numéro de série. +DAY = JOUR ## Convertit un numéro de série en jour du mois. +DAYS360 = JOURS360 ## Calcule le nombre de jours qui séparent deux dates sur la base d’une année de 360 jours. +EDATE = MOIS.DECALER ## Renvoie le numéro séquentiel de la date qui représente une date spécifiée (l’argument date_départ), corrigée en plus ou en moins du nombre de mois indiqué. +EOMONTH = FIN.MOIS ## Renvoie le numéro séquentiel de la date du dernier jour du mois précédant ou suivant la date_départ du nombre de mois indiqué. +HOUR = HEURE ## Convertit un numéro de série en heure. +MINUTE = MINUTE ## Convertit un numéro de série en minute. +MONTH = MOIS ## Convertit un numéro de série en mois. +NETWORKDAYS = NB.JOURS.OUVRES ## Renvoie le nombre de jours ouvrés entiers compris entre deux dates. +NOW = MAINTENANT ## Renvoie le numéro de série de la date et de l’heure du jour. +SECOND = SECONDE ## Convertit un numéro de série en seconde. +TIME = TEMPS ## Renvoie le numéro de série d’une heure précise. +TIMEVALUE = TEMPSVAL ## Convertit une date représentée sous forme de texte en numéro de série. +TODAY = AUJOURDHUI ## Renvoie le numéro de série de la date du jour. +WEEKDAY = JOURSEM ## Convertit un numéro de série en jour de la semaine. +WEEKNUM = NO.SEMAINE ## Convertit un numéro de série en un numéro représentant l’ordre de la semaine dans l’année. +WORKDAY = SERIE.JOUR.OUVRE ## Renvoie le numéro de série de la date avant ou après le nombre de jours ouvrés spécifiés. +YEAR = ANNEE ## Convertit un numéro de série en année. +YEARFRAC = FRACTION.ANNEE ## Renvoie la fraction de l’année représentant le nombre de jours entre la date de début et la date de fin. + + +## +## Engineering functions Fonctions d’ingénierie +## +BESSELI = BESSELI ## Renvoie la fonction Bessel modifiée In(x). +BESSELJ = BESSELJ ## Renvoie la fonction Bessel Jn(x). +BESSELK = BESSELK ## Renvoie la fonction Bessel modifiée Kn(x). +BESSELY = BESSELY ## Renvoie la fonction Bessel Yn(x). +BIN2DEC = BINDEC ## Convertit un nombre binaire en nombre décimal. +BIN2HEX = BINHEX ## Convertit un nombre binaire en nombre hexadécimal. +BIN2OCT = BINOCT ## Convertit un nombre binaire en nombre octal. +COMPLEX = COMPLEXE ## Convertit des coefficients réel et imaginaire en un nombre complexe. +CONVERT = CONVERT ## Convertit un nombre d’une unité de mesure à une autre. +DEC2BIN = DECBIN ## Convertit un nombre décimal en nombre binaire. +DEC2HEX = DECHEX ## Convertit un nombre décimal en nombre hexadécimal. +DEC2OCT = DECOCT ## Convertit un nombre décimal en nombre octal. +DELTA = DELTA ## Teste l’égalité de deux nombres. +ERF = ERF ## Renvoie la valeur de la fonction d’erreur. +ERFC = ERFC ## Renvoie la valeur de la fonction d’erreur complémentaire. +GESTEP = SUP.SEUIL ## Teste si un nombre est supérieur à une valeur de seuil. +HEX2BIN = HEXBIN ## Convertit un nombre hexadécimal en nombre binaire. +HEX2DEC = HEXDEC ## Convertit un nombre hexadécimal en nombre décimal. +HEX2OCT = HEXOCT ## Convertit un nombre hexadécimal en nombre octal. +IMABS = COMPLEXE.MODULE ## Renvoie la valeur absolue (module) d’un nombre complexe. +IMAGINARY = COMPLEXE.IMAGINAIRE ## Renvoie le coefficient imaginaire d’un nombre complexe. +IMARGUMENT = COMPLEXE.ARGUMENT ## Renvoie l’argument thêta, un angle exprimé en radians. +IMCONJUGATE = COMPLEXE.CONJUGUE ## Renvoie le nombre complexe conjugué d’un nombre complexe. +IMCOS = IMCOS ## Renvoie le cosinus d’un nombre complexe. +IMDIV = COMPLEXE.DIV ## Renvoie le quotient de deux nombres complexes. +IMEXP = COMPLEXE.EXP ## Renvoie la fonction exponentielle d’un nombre complexe. +IMLN = COMPLEXE.LN ## Renvoie le logarithme népérien d’un nombre complexe. +IMLOG10 = COMPLEXE.LOG10 ## Calcule le logarithme en base 10 d’un nombre complexe. +IMLOG2 = COMPLEXE.LOG2 ## Calcule le logarithme en base 2 d’un nombre complexe. +IMPOWER = COMPLEXE.PUISSANCE ## Renvoie un nombre complexe élevé à une puissance entière. +IMPRODUCT = COMPLEXE.PRODUIT ## Renvoie le produit de plusieurs nombres complexes. +IMREAL = COMPLEXE.REEL ## Renvoie le coefficient réel d’un nombre complexe. +IMSIN = COMPLEXE.SIN ## Renvoie le sinus d’un nombre complexe. +IMSQRT = COMPLEXE.RACINE ## Renvoie la racine carrée d’un nombre complexe. +IMSUB = COMPLEXE.DIFFERENCE ## Renvoie la différence entre deux nombres complexes. +IMSUM = COMPLEXE.SOMME ## Renvoie la somme de plusieurs nombres complexes. +OCT2BIN = OCTBIN ## Convertit un nombre octal en nombre binaire. +OCT2DEC = OCTDEC ## Convertit un nombre octal en nombre décimal. +OCT2HEX = OCTHEX ## Convertit un nombre octal en nombre hexadécimal. + + +## +## Financial functions Fonctions financières +## +ACCRINT = INTERET.ACC ## Renvoie l’intérêt couru non échu d’un titre dont l’intérêt est perçu périodiquement. +ACCRINTM = INTERET.ACC.MAT ## Renvoie l’intérêt couru non échu d’un titre dont l’intérêt est perçu à l’échéance. +AMORDEGRC = AMORDEGRC ## Renvoie l’amortissement correspondant à chaque période comptable en utilisant un coefficient d’amortissement. +AMORLINC = AMORLINC ## Renvoie l’amortissement d’un bien à la fin d’une période fiscale donnée. +COUPDAYBS = NB.JOURS.COUPON.PREC ## Renvoie le nombre de jours entre le début de la période de coupon et la date de liquidation. +COUPDAYS = NB.JOURS.COUPONS ## Renvoie le nombre de jours pour la période du coupon contenant la date de liquidation. +COUPDAYSNC = NB.JOURS.COUPON.SUIV ## Renvoie le nombre de jours entre la date de liquidation et la date du coupon suivant la date de liquidation. +COUPNCD = DATE.COUPON.SUIV ## Renvoie la première date de coupon ultérieure à la date de règlement. +COUPNUM = NB.COUPONS ## Renvoie le nombre de coupons dus entre la date de règlement et la date d’échéance. +COUPPCD = DATE.COUPON.PREC ## Renvoie la date de coupon précédant la date de règlement. +CUMIPMT = CUMUL.INTER ## Renvoie l’intérêt cumulé payé sur un emprunt entre deux périodes. +CUMPRINC = CUMUL.PRINCPER ## Renvoie le montant cumulé des remboursements du capital d’un emprunt effectués entre deux périodes. +DB = DB ## Renvoie l’amortissement d’un bien pour une période spécifiée en utilisant la méthode de l’amortissement dégressif à taux fixe. +DDB = DDB ## Renvoie l’amortissement d’un bien pour toute période spécifiée, en utilisant la méthode de l’amortissement dégressif à taux double ou selon un coefficient à spécifier. +DISC = TAUX.ESCOMPTE ## Calcule le taux d’escompte d’une transaction. +DOLLARDE = PRIX.DEC ## Convertit un prix en euros, exprimé sous forme de fraction, en un prix en euros exprimé sous forme de nombre décimal. +DOLLARFR = PRIX.FRAC ## Convertit un prix en euros, exprimé sous forme de nombre décimal, en un prix en euros exprimé sous forme de fraction. +DURATION = DUREE ## Renvoie la durée, en années, d’un titre dont l’intérêt est perçu périodiquement. +EFFECT = TAUX.EFFECTIF ## Renvoie le taux d’intérêt annuel effectif. +FV = VC ## Renvoie la valeur future d’un investissement. +FVSCHEDULE = VC.PAIEMENTS ## Calcule la valeur future d’un investissement en appliquant une série de taux d’intérêt composites. +INTRATE = TAUX.INTERET ## Affiche le taux d’intérêt d’un titre totalement investi. +IPMT = INTPER ## Calcule le montant des intérêts d’un investissement pour une période donnée. +IRR = TRI ## Calcule le taux de rentabilité interne d’un investissement pour une succession de trésoreries. +ISPMT = ISPMT ## Calcule le montant des intérêts d’un investissement pour une période donnée. +MDURATION = DUREE.MODIFIEE ## Renvoie la durée de Macauley modifiée pour un titre ayant une valeur nominale hypothétique de 100_euros. +MIRR = TRIM ## Calcule le taux de rentabilité interne lorsque les paiements positifs et négatifs sont financés à des taux différents. +NOMINAL = TAUX.NOMINAL ## Calcule le taux d’intérêt nominal annuel. +NPER = NPM ## Renvoie le nombre de versements nécessaires pour rembourser un emprunt. +NPV = VAN ## Calcule la valeur actuelle nette d’un investissement basé sur une série de décaissements et un taux d’escompte. +ODDFPRICE = PRIX.PCOUPON.IRREG ## Renvoie le prix par tranche de valeur nominale de 100 euros d’un titre dont la première période de coupon est irrégulière. +ODDFYIELD = REND.PCOUPON.IRREG ## Renvoie le taux de rendement d’un titre dont la première période de coupon est irrégulière. +ODDLPRICE = PRIX.DCOUPON.IRREG ## Renvoie le prix par tranche de valeur nominale de 100 euros d’un titre dont la première période de coupon est irrégulière. +ODDLYIELD = REND.DCOUPON.IRREG ## Renvoie le taux de rendement d’un titre dont la dernière période de coupon est irrégulière. +PMT = VPM ## Calcule le paiement périodique d’un investissement donné. +PPMT = PRINCPER ## Calcule, pour une période donnée, la part de remboursement du principal d’un investissement. +PRICE = PRIX.TITRE ## Renvoie le prix d’un titre rapportant des intérêts périodiques, pour une valeur nominale de 100 euros. +PRICEDISC = VALEUR.ENCAISSEMENT ## Renvoie la valeur d’encaissement d’un escompte commercial, pour une valeur nominale de 100 euros. +PRICEMAT = PRIX.TITRE.ECHEANCE ## Renvoie le prix d’un titre dont la valeur nominale est 100 euros et qui rapporte des intérêts à l’échéance. +PV = PV ## Calcule la valeur actuelle d’un investissement. +RATE = TAUX ## Calcule le taux d’intérêt par période pour une annuité. +RECEIVED = VALEUR.NOMINALE ## Renvoie la valeur nominale à échéance d’un effet de commerce. +SLN = AMORLIN ## Calcule l’amortissement linéaire d’un bien pour une période donnée. +SYD = SYD ## Calcule l’amortissement d’un bien pour une période donnée sur la base de la méthode américaine Sum-of-Years Digits (amortissement dégressif à taux décroissant appliqué à une valeur constante). +TBILLEQ = TAUX.ESCOMPTE.R ## Renvoie le taux d’escompte rationnel d’un bon du Trésor. +TBILLPRICE = PRIX.BON.TRESOR ## Renvoie le prix d’un bon du Trésor d’une valeur nominale de 100 euros. +TBILLYIELD = RENDEMENT.BON.TRESOR ## Calcule le taux de rendement d’un bon du Trésor. +VDB = VDB ## Renvoie l’amortissement d’un bien pour une période spécifiée ou partielle en utilisant une méthode de l’amortissement dégressif à taux fixe. +XIRR = TRI.PAIEMENTS ## Calcule le taux de rentabilité interne d’un ensemble de paiements non périodiques. +XNPV = VAN.PAIEMENTS ## Renvoie la valeur actuelle nette d’un ensemble de paiements non périodiques. +YIELD = RENDEMENT.TITRE ## Calcule le rendement d’un titre rapportant des intérêts périodiquement. +YIELDDISC = RENDEMENT.SIMPLE ## Calcule le taux de rendement d’un emprunt à intérêt simple (par exemple, un bon du Trésor). +YIELDMAT = RENDEMENT.TITRE.ECHEANCE ## Renvoie le rendement annuel d’un titre qui rapporte des intérêts à l’échéance. + + +## +## Information functions Fonctions d’information +## +CELL = CELLULE ## Renvoie des informations sur la mise en forme, l’emplacement et le contenu d’une cellule. +ERROR.TYPE = TYPE.ERREUR ## Renvoie un nombre correspondant à un type d’erreur. +INFO = INFORMATIONS ## Renvoie des informations sur l’environnement d’exploitation actuel. +ISBLANK = ESTVIDE ## Renvoie VRAI si l’argument valeur est vide. +ISERR = ESTERR ## Renvoie VRAI si l’argument valeur fait référence à une valeur d’erreur, sauf #N/A. +ISERROR = ESTERREUR ## Renvoie VRAI si l’argument valeur fait référence à une valeur d’erreur. +ISEVEN = EST.PAIR ## Renvoie VRAI si le chiffre est pair. +ISLOGICAL = ESTLOGIQUE ## Renvoie VRAI si l’argument valeur fait référence à une valeur logique. +ISNA = ESTNA ## Renvoie VRAI si l’argument valeur fait référence à la valeur d’erreur #N/A. +ISNONTEXT = ESTNONTEXTE ## Renvoie VRAI si l’argument valeur ne se présente pas sous forme de texte. +ISNUMBER = ESTNUM ## Renvoie VRAI si l’argument valeur représente un nombre. +ISODD = EST.IMPAIR ## Renvoie VRAI si le chiffre est impair. +ISREF = ESTREF ## Renvoie VRAI si l’argument valeur est une référence. +ISTEXT = ESTTEXTE ## Renvoie VRAI si l’argument valeur se présente sous forme de texte. +N = N ## Renvoie une valeur convertie en nombre. +NA = NA ## Renvoie la valeur d’erreur #N/A. +TYPE = TYPE ## Renvoie un nombre indiquant le type de données d’une valeur. + + +## +## Logical functions Fonctions logiques +## +AND = ET ## Renvoie VRAI si tous ses arguments sont VRAI. +FALSE = FAUX ## Renvoie la valeur logique FAUX. +IF = SI ## Spécifie un test logique à effectuer. +IFERROR = SIERREUR ## Renvoie une valeur que vous spécifiez si une formule génère une erreur ; sinon, elle renvoie le résultat de la formule. +NOT = NON ## Inverse la logique de cet argument. +OR = OU ## Renvoie VRAI si un des arguments est VRAI. +TRUE = VRAI ## Renvoie la valeur logique VRAI. + + +## +## Lookup and reference functions Fonctions de recherche et de référence +## +ADDRESS = ADRESSE ## Renvoie une référence sous forme de texte à une seule cellule d’une feuille de calcul. +AREAS = ZONES ## Renvoie le nombre de zones dans une référence. +CHOOSE = CHOISIR ## Choisit une valeur dans une liste. +COLUMN = COLONNE ## Renvoie le numéro de colonne d’une référence. +COLUMNS = COLONNES ## Renvoie le nombre de colonnes dans une référence. +HLOOKUP = RECHERCHEH ## Effectue une recherche dans la première ligne d’une matrice et renvoie la valeur de la cellule indiquée. +HYPERLINK = LIEN_HYPERTEXTE ## Crée un raccourci ou un renvoi qui ouvre un document stocké sur un serveur réseau, sur un réseau Intranet ou sur Internet. +INDEX = INDEX ## Utilise un index pour choisir une valeur provenant d’une référence ou d’une matrice. +INDIRECT = INDIRECT ## Renvoie une référence indiquée par une valeur de texte. +LOOKUP = RECHERCHE ## Recherche des valeurs dans un vecteur ou une matrice. +MATCH = EQUIV ## Recherche des valeurs dans une référence ou une matrice. +OFFSET = DECALER ## Renvoie une référence décalée par rapport à une référence donnée. +ROW = LIGNE ## Renvoie le numéro de ligne d’une référence. +ROWS = LIGNES ## Renvoie le nombre de lignes dans une référence. +RTD = RTD ## Extrait les données en temps réel à partir d’un programme prenant en charge l’automation COM (Automation : utilisation des objets d'une application à partir d'une autre application ou d'un autre outil de développement. Autrefois appelée OLE Automation, Automation est une norme industrielle et une fonctionnalité du modèle d'objet COM (Component Object Model).). +TRANSPOSE = TRANSPOSE ## Renvoie la transposition d’une matrice. +VLOOKUP = RECHERCHEV ## Effectue une recherche dans la première colonne d’une matrice et se déplace sur la ligne pour renvoyer la valeur d’une cellule. + + +## +## Math and trigonometry functions Fonctions mathématiques et trigonométriques +## +ABS = ABS ## Renvoie la valeur absolue d’un nombre. +ACOS = ACOS ## Renvoie l’arccosinus d’un nombre. +ACOSH = ACOSH ## Renvoie le cosinus hyperbolique inverse d’un nombre. +ASIN = ASIN ## Renvoie l’arcsinus d’un nombre. +ASINH = ASINH ## Renvoie le sinus hyperbolique inverse d’un nombre. +ATAN = ATAN ## Renvoie l’arctangente d’un nombre. +ATAN2 = ATAN2 ## Renvoie l’arctangente des coordonnées x et y. +ATANH = ATANH ## Renvoie la tangente hyperbolique inverse d’un nombre. +CEILING = PLAFOND ## Arrondit un nombre au nombre entier le plus proche ou au multiple le plus proche de l’argument précision en s’éloignant de zéro. +COMBIN = COMBIN ## Renvoie le nombre de combinaisons que l’on peut former avec un nombre donné d’objets. +COS = COS ## Renvoie le cosinus d’un nombre. +COSH = COSH ## Renvoie le cosinus hyperbolique d’un nombre. +DEGREES = DEGRES ## Convertit des radians en degrés. +EVEN = PAIR ## Arrondit un nombre au nombre entier pair le plus proche en s’éloignant de zéro. +EXP = EXP ## Renvoie e élevé à la puissance d’un nombre donné. +FACT = FACT ## Renvoie la factorielle d’un nombre. +FACTDOUBLE = FACTDOUBLE ## Renvoie la factorielle double d’un nombre. +FLOOR = PLANCHER ## Arrondit un nombre en tendant vers 0 (zéro). +GCD = PGCD ## Renvoie le plus grand commun diviseur. +INT = ENT ## Arrondit un nombre à l’entier immédiatement inférieur. +LCM = PPCM ## Renvoie le plus petit commun multiple. +LN = LN ## Renvoie le logarithme népérien d’un nombre. +LOG = LOG ## Renvoie le logarithme d’un nombre dans la base spécifiée. +LOG10 = LOG10 ## Calcule le logarithme en base 10 d’un nombre. +MDETERM = DETERMAT ## Renvoie le déterminant d’une matrice. +MINVERSE = INVERSEMAT ## Renvoie la matrice inverse d’une matrice. +MMULT = PRODUITMAT ## Renvoie le produit de deux matrices. +MOD = MOD ## Renvoie le reste d’une division. +MROUND = ARRONDI.AU.MULTIPLE ## Donne l’arrondi d’un nombre au multiple spécifié. +MULTINOMIAL = MULTINOMIALE ## Calcule la multinomiale d’un ensemble de nombres. +ODD = IMPAIR ## Renvoie le nombre, arrondi à la valeur du nombre entier impair le plus proche en s’éloignant de zéro. +PI = PI ## Renvoie la valeur de pi. +POWER = PUISSANCE ## Renvoie la valeur du nombre élevé à une puissance. +PRODUCT = PRODUIT ## Multiplie ses arguments. +QUOTIENT = QUOTIENT ## Renvoie la partie entière du résultat d’une division. +RADIANS = RADIANS ## Convertit des degrés en radians. +RAND = ALEA ## Renvoie un nombre aléatoire compris entre 0 et 1. +RANDBETWEEN = ALEA.ENTRE.BORNES ## Renvoie un nombre aléatoire entre les nombres que vous spécifiez. +ROMAN = ROMAIN ## Convertit des chiffres arabes en chiffres romains, sous forme de texte. +ROUND = ARRONDI ## Arrondit un nombre au nombre de chiffres indiqué. +ROUNDDOWN = ARRONDI.INF ## Arrondit un nombre en tendant vers 0 (zéro). +ROUNDUP = ARRONDI.SUP ## Arrondit un nombre à l’entier supérieur, en s’éloignant de zéro. +SERIESSUM = SOMME.SERIES ## Renvoie la somme d’une série géométrique en s’appuyant sur la formule suivante : +SIGN = SIGNE ## Renvoie le signe d’un nombre. +SIN = SIN ## Renvoie le sinus d’un angle donné. +SINH = SINH ## Renvoie le sinus hyperbolique d’un nombre. +SQRT = RACINE ## Renvoie la racine carrée d’un nombre. +SQRTPI = RACINE.PI ## Renvoie la racine carrée de (nombre * pi). +SUBTOTAL = SOUS.TOTAL ## Renvoie un sous-total dans une liste ou une base de données. +SUM = SOMME ## Calcule la somme de ses arguments. +SUMIF = SOMME.SI ## Additionne les cellules spécifiées si elles répondent à un critère donné. +SUMIFS = SOMME.SI.ENS ## Ajoute les cellules d’une plage qui répondent à plusieurs critères. +SUMPRODUCT = SOMMEPROD ## Multiplie les valeurs correspondantes des matrices spécifiées et calcule la somme de ces produits. +SUMSQ = SOMME.CARRES ## Renvoie la somme des carrés des arguments. +SUMX2MY2 = SOMME.X2MY2 ## Renvoie la somme de la différence des carrés des valeurs correspondantes de deux matrices. +SUMX2PY2 = SOMME.X2PY2 ## Renvoie la somme de la somme des carrés des valeurs correspondantes de deux matrices. +SUMXMY2 = SOMME.XMY2 ## Renvoie la somme des carrés des différences entre les valeurs correspondantes de deux matrices. +TAN = TAN ## Renvoie la tangente d’un nombre. +TANH = TANH ## Renvoie la tangente hyperbolique d’un nombre. +TRUNC = TRONQUE ## Renvoie la partie entière d’un nombre. + + +## +## Statistical functions Fonctions statistiques +## +AVEDEV = ECART.MOYEN ## Renvoie la moyenne des écarts absolus observés dans la moyenne des points de données. +AVERAGE = MOYENNE ## Renvoie la moyenne de ses arguments. +AVERAGEA = AVERAGEA ## Renvoie la moyenne de ses arguments, nombres, texte et valeurs logiques inclus. +AVERAGEIF = MOYENNE.SI ## Renvoie la moyenne (arithmétique) de toutes les cellules d’une plage qui répondent à des critères donnés. +AVERAGEIFS = MOYENNE.SI.ENS ## Renvoie la moyenne (arithmétique) de toutes les cellules qui répondent à plusieurs critères. +BETADIST = LOI.BETA ## Renvoie la fonction de distribution cumulée. +BETAINV = BETA.INVERSE ## Renvoie l’inverse de la fonction de distribution cumulée pour une distribution bêta spécifiée. +BINOMDIST = LOI.BINOMIALE ## Renvoie la probabilité d’une variable aléatoire discrète suivant la loi binomiale. +CHIDIST = LOI.KHIDEUX ## Renvoie la probabilité unilatérale de la distribution khi-deux. +CHIINV = KHIDEUX.INVERSE ## Renvoie l’inverse de la probabilité unilatérale de la distribution khi-deux. +CHITEST = TEST.KHIDEUX ## Renvoie le test d’indépendance. +CONFIDENCE = INTERVALLE.CONFIANCE ## Renvoie l’intervalle de confiance pour une moyenne de population. +CORREL = COEFFICIENT.CORRELATION ## Renvoie le coefficient de corrélation entre deux séries de données. +COUNT = NB ## Détermine les nombres compris dans la liste des arguments. +COUNTA = NBVAL ## Détermine le nombre de valeurs comprises dans la liste des arguments. +COUNTBLANK = NB.VIDE ## Compte le nombre de cellules vides dans une plage. +COUNTIF = NB.SI ## Compte le nombre de cellules qui répondent à un critère donné dans une plage. +COUNTIFS = NB.SI.ENS ## Compte le nombre de cellules à l’intérieur d’une plage qui répondent à plusieurs critères. +COVAR = COVARIANCE ## Renvoie la covariance, moyenne des produits des écarts pour chaque série d’observations. +CRITBINOM = CRITERE.LOI.BINOMIALE ## Renvoie la plus petite valeur pour laquelle la distribution binomiale cumulée est inférieure ou égale à une valeur de critère. +DEVSQ = SOMME.CARRES.ECARTS ## Renvoie la somme des carrés des écarts. +EXPONDIST = LOI.EXPONENTIELLE ## Renvoie la distribution exponentielle. +FDIST = LOI.F ## Renvoie la distribution de probabilité F. +FINV = INVERSE.LOI.F ## Renvoie l’inverse de la distribution de probabilité F. +FISHER = FISHER ## Renvoie la transformation de Fisher. +FISHERINV = FISHER.INVERSE ## Renvoie l’inverse de la transformation de Fisher. +FORECAST = PREVISION ## Calcule une valeur par rapport à une tendance linéaire. +FREQUENCY = FREQUENCE ## Calcule la fréquence d’apparition des valeurs dans une plage de valeurs, puis renvoie des nombres sous forme de matrice verticale. +FTEST = TEST.F ## Renvoie le résultat d’un test F. +GAMMADIST = LOI.GAMMA ## Renvoie la probabilité d’une variable aléatoire suivant une loi Gamma. +GAMMAINV = LOI.GAMMA.INVERSE ## Renvoie, pour une probabilité donnée, la valeur d’une variable aléatoire suivant une loi Gamma. +GAMMALN = LNGAMMA ## Renvoie le logarithme népérien de la fonction Gamma, G(x) +GEOMEAN = MOYENNE.GEOMETRIQUE ## Renvoie la moyenne géométrique. +GROWTH = CROISSANCE ## Calcule des valeurs par rapport à une tendance exponentielle. +HARMEAN = MOYENNE.HARMONIQUE ## Renvoie la moyenne harmonique. +HYPGEOMDIST = LOI.HYPERGEOMETRIQUE ## Renvoie la probabilité d’une variable aléatoire discrète suivant une loi hypergéométrique. +INTERCEPT = ORDONNEE.ORIGINE ## Renvoie l’ordonnée à l’origine d’une droite de régression linéaire. +KURT = KURTOSIS ## Renvoie le kurtosis d’une série de données. +LARGE = GRANDE.VALEUR ## Renvoie la k-ième plus grande valeur d’une série de données. +LINEST = DROITEREG ## Renvoie les paramètres d’une tendance linéaire. +LOGEST = LOGREG ## Renvoie les paramètres d’une tendance exponentielle. +LOGINV = LOI.LOGNORMALE.INVERSE ## Renvoie l’inverse de la probabilité pour une variable aléatoire suivant la loi lognormale. +LOGNORMDIST = LOI.LOGNORMALE ## Renvoie la probabilité d’une variable aléatoire continue suivant une loi lognormale. +MAX = MAX ## Renvoie la valeur maximale contenue dans une liste d’arguments. +MAXA = MAXA ## Renvoie la valeur maximale d’une liste d’arguments, nombres, texte et valeurs logiques inclus. +MEDIAN = MEDIANE ## Renvoie la valeur médiane des nombres donnés. +MIN = MIN ## Renvoie la valeur minimale contenue dans une liste d’arguments. +MINA = MINA ## Renvoie la plus petite valeur d’une liste d’arguments, nombres, texte et valeurs logiques inclus. +MODE = MODE ## Renvoie la valeur la plus courante d’une série de données. +NEGBINOMDIST = LOI.BINOMIALE.NEG ## Renvoie la probabilité d’une variable aléatoire discrète suivant une loi binomiale négative. +NORMDIST = LOI.NORMALE ## Renvoie la probabilité d’une variable aléatoire continue suivant une loi normale. +NORMINV = LOI.NORMALE.INVERSE ## Renvoie, pour une probabilité donnée, la valeur d’une variable aléatoire suivant une loi normale standard. +NORMSDIST = LOI.NORMALE.STANDARD ## Renvoie la probabilité d’une variable aléatoire continue suivant une loi normale standard. +NORMSINV = LOI.NORMALE.STANDARD.INVERSE ## Renvoie l’inverse de la distribution cumulée normale standard. +PEARSON = PEARSON ## Renvoie le coefficient de corrélation d’échantillonnage de Pearson. +PERCENTILE = CENTILE ## Renvoie le k-ième centile des valeurs d’une plage. +PERCENTRANK = RANG.POURCENTAGE ## Renvoie le rang en pourcentage d’une valeur d’une série de données. +PERMUT = PERMUTATION ## Renvoie le nombre de permutations pour un nombre donné d’objets. +POISSON = LOI.POISSON ## Renvoie la probabilité d’une variable aléatoire suivant une loi de Poisson. +PROB = PROBABILITE ## Renvoie la probabilité que des valeurs d’une plage soient comprises entre deux limites. +QUARTILE = QUARTILE ## Renvoie le quartile d’une série de données. +RANK = RANG ## Renvoie le rang d’un nombre contenu dans une liste. +RSQ = COEFFICIENT.DETERMINATION ## Renvoie la valeur du coefficient de détermination R^2 d’une régression linéaire. +SKEW = COEFFICIENT.ASYMETRIE ## Renvoie l’asymétrie d’une distribution. +SLOPE = PENTE ## Renvoie la pente d’une droite de régression linéaire. +SMALL = PETITE.VALEUR ## Renvoie la k-ième plus petite valeur d’une série de données. +STANDARDIZE = CENTREE.REDUITE ## Renvoie une valeur centrée réduite. +STDEV = ECARTYPE ## Évalue l’écart type d’une population en se basant sur un échantillon de cette population. +STDEVA = STDEVA ## Évalue l’écart type d’une population en se basant sur un échantillon de cette population, nombres, texte et valeurs logiques inclus. +STDEVP = ECARTYPEP ## Calcule l’écart type d’une population à partir de la population entière. +STDEVPA = STDEVPA ## Calcule l’écart type d’une population à partir de l’ensemble de la population, nombres, texte et valeurs logiques inclus. +STEYX = ERREUR.TYPE.XY ## Renvoie l’erreur type de la valeur y prévue pour chaque x de la régression. +TDIST = LOI.STUDENT ## Renvoie la probabilité d’une variable aléatoire suivant une loi T de Student. +TINV = LOI.STUDENT.INVERSE ## Renvoie, pour une probabilité donnée, la valeur d’une variable aléatoire suivant une loi T de Student. +TREND = TENDANCE ## Renvoie des valeurs par rapport à une tendance linéaire. +TRIMMEAN = MOYENNE.REDUITE ## Renvoie la moyenne de l’intérieur d’une série de données. +TTEST = TEST.STUDENT ## Renvoie la probabilité associée à un test T de Student. +VAR = VAR ## Calcule la variance sur la base d’un échantillon. +VARA = VARA ## Estime la variance d’une population en se basant sur un échantillon de cette population, nombres, texte et valeurs logiques incluses. +VARP = VAR.P ## Calcule la variance sur la base de l’ensemble de la population. +VARPA = VARPA ## Calcule la variance d’une population en se basant sur la population entière, nombres, texte et valeurs logiques inclus. +WEIBULL = LOI.WEIBULL ## Renvoie la probabilité d’une variable aléatoire suivant une loi de Weibull. +ZTEST = TEST.Z ## Renvoie la valeur de probabilité unilatérale d’un test z. + + +## +## Text functions Fonctions de texte +## +ASC = ASC ## Change les caractères anglais ou katakana à pleine chasse (codés sur deux octets) à l’intérieur d’une chaîne de caractères en caractères à demi-chasse (codés sur un octet). +BAHTTEXT = BAHTTEXT ## Convertit un nombre en texte en utilisant le format monétaire ß (baht). +CHAR = CAR ## Renvoie le caractère spécifié par le code numérique. +CLEAN = EPURAGE ## Supprime tous les caractères de contrôle du texte. +CODE = CODE ## Renvoie le numéro de code du premier caractère du texte. +CONCATENATE = CONCATENER ## Assemble plusieurs éléments textuels de façon à n’en former qu’un seul. +DOLLAR = EURO ## Convertit un nombre en texte en utilisant le format monétaire € (euro). +EXACT = EXACT ## Vérifie si deux valeurs de texte sont identiques. +FIND = TROUVE ## Trouve un valeur textuelle dans une autre, en respectant la casse. +FINDB = TROUVERB ## Trouve un valeur textuelle dans une autre, en respectant la casse. +FIXED = CTXT ## Convertit un nombre au format texte avec un nombre de décimales spécifié. +JIS = JIS ## Change les caractères anglais ou katakana à demi-chasse (codés sur un octet) à l’intérieur d’une chaîne de caractères en caractères à à pleine chasse (codés sur deux octets). +LEFT = GAUCHE ## Renvoie des caractères situés à l’extrême gauche d’une chaîne de caractères. +LEFTB = GAUCHEB ## Renvoie des caractères situés à l’extrême gauche d’une chaîne de caractères. +LEN = NBCAR ## Renvoie le nombre de caractères contenus dans une chaîne de texte. +LENB = LENB ## Renvoie le nombre de caractères contenus dans une chaîne de texte. +LOWER = MINUSCULE ## Convertit le texte en minuscules. +MID = STXT ## Renvoie un nombre déterminé de caractères d’une chaîne de texte à partir de la position que vous indiquez. +MIDB = STXTB ## Renvoie un nombre déterminé de caractères d’une chaîne de texte à partir de la position que vous indiquez. +PHONETIC = PHONETIQUE ## Extrait les caractères phonétiques (furigana) d’une chaîne de texte. +PROPER = NOMPROPRE ## Met en majuscules la première lettre de chaque mot dans une chaîne textuelle. +REPLACE = REMPLACER ## Remplace des caractères dans un texte. +REPLACEB = REMPLACERB ## Remplace des caractères dans un texte. +REPT = REPT ## Répète un texte un certain nombre de fois. +RIGHT = DROITE ## Renvoie des caractères situés à l’extrême droite d’une chaîne de caractères. +RIGHTB = DROITEB ## Renvoie des caractères situés à l’extrême droite d’une chaîne de caractères. +SEARCH = CHERCHE ## Trouve un texte dans un autre texte (sans respecter la casse). +SEARCHB = CHERCHERB ## Trouve un texte dans un autre texte (sans respecter la casse). +SUBSTITUTE = SUBSTITUE ## Remplace l’ancien texte d’une chaîne de caractères par un nouveau. +T = T ## Convertit ses arguments en texte. +TEXT = TEXTE ## Convertit un nombre au format texte. +TRIM = SUPPRESPACE ## Supprime les espaces du texte. +UPPER = MAJUSCULE ## Convertit le texte en majuscules. +VALUE = CNUM ## Convertit un argument textuel en nombre diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/locale/hu/config b/vendor/phpoffice/phpexcel/Classes/PHPExcel/locale/hu/config new file mode 100644 index 00000000..080b2018 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/locale/hu/config @@ -0,0 +1,47 @@ +## +## PHPExcel +## +## Copyright (c) 2006 - 2013 PHPExcel +## +## This library is free software; you can redistribute it and/or +## modify it under the terms of the GNU Lesser General Public +## License as published by the Free Software Foundation; either +## version 2.1 of the License, or (at your option) any later version. +## +## This library is distributed in the hope that it will be useful, +## but WITHOUT ANY WARRANTY; without even the implied warranty of +## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +## Lesser General Public License for more details. +## +## You should have received a copy of the GNU Lesser General Public +## License along with this library; if not, write to the Free Software +## Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +## +## @category PHPExcel +## @package PHPExcel_Settings +## @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel) +## @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL +## @version ##VERSION##, ##DATE## +## +## + + +ArgumentSeparator = ; + + +## +## (For future use) +## +currencySymbol = Ft + + +## +## Excel Error Codes (For future use) +## +NULL = #NULLA! +DIV0 = #ZÉRÓOSZTÓ! +VALUE = #ÉRTÉK! +REF = #HIV! +NAME = #NÉV? +NUM = #SZÁM! +NA = #HIÁNYZIK diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/locale/hu/functions b/vendor/phpoffice/phpexcel/Classes/PHPExcel/locale/hu/functions new file mode 100644 index 00000000..200d3f71 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/locale/hu/functions @@ -0,0 +1,438 @@ +## +## PHPExcel +## +## Copyright (c) 2006 - 2013 PHPExcel +## +## This library is free software; you can redistribute it and/or +## modify it under the terms of the GNU Lesser General Public +## License as published by the Free Software Foundation; either +## version 2.1 of the License, or (at your option) any later version. +## +## This library is distributed in the hope that it will be useful, +## but WITHOUT ANY WARRANTY; without even the implied warranty of +## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +## Lesser General Public License for more details. +## +## You should have received a copy of the GNU Lesser General Public +## License along with this library; if not, write to the Free Software +## Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +## +## @category PHPExcel +## @package PHPExcel_Calculation +## @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel) +## @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL +## @version ##VERSION##, ##DATE## +## +## Data in this file derived from http://www.piuha.fi/excel-function-name-translation/ +## +## + + +## +## Add-in and Automation functions Bővítmények és automatizálási függvények +## +GETPIVOTDATA = KIMUTATÁSADATOT.VESZ ## A kimutatásokban tárolt adatok visszaadására használható. + + +## +## Cube functions Kockafüggvények +## +CUBEKPIMEMBER = KOCKA.FŐTELJMUT ## Egy fő teljesítménymutató (KPI) nevét, tulajdonságát és mértékegységét adja eredményül, a nevet és a tulajdonságot megjeleníti a cellában. A KPI-k számszerűsíthető mérési lehetőséget jelentenek – ilyen mutató például a havi bruttó nyereség vagy az egy alkalmazottra jutó negyedéves forgalom –, egy szervezet teljesítményének nyomonkövetésére használhatók. +CUBEMEMBER = KOCKA.TAG ## Kockahierachia tagját vagy rekordját adja eredményül. Ellenőrizhető vele, hogy szerepel-e a kockában az adott tag vagy rekord. +CUBEMEMBERPROPERTY = KOCKA.TAG.TUL ## A kocka egyik tagtulajdonságának értékét adja eredményül. Használatával ellenőrizhető, hogy szerepel-e egy tagnév a kockában, eredménye pedig az erre a tagra vonatkozó, megadott tulajdonság. +CUBERANKEDMEMBER = KOCKA.HALM.ELEM ## Egy halmaz rangsor szerinti n-edik tagját adja eredményül. Használatával egy halmaz egy vagy több elemét kaphatja meg, például a legnagyobb teljesítményű üzletkötőt vagy a 10 legjobb tanulót. +CUBESET = KOCKA.HALM ## Számított tagok vagy rekordok halmazát adja eredményül, ehhez egy beállított kifejezést elküld a kiszolgálón található kockának, majd ezt a halmazt adja vissza a Microsoft Office Excel alkalmazásnak. +CUBESETCOUNT = KOCKA.HALM.DB ## Egy halmaz elemszámát adja eredményül. +CUBEVALUE = KOCKA.ÉRTÉK ## Kockából összesített értéket ad eredményül. + + +## +## Database functions Adatbázis-kezelő függvények +## +DAVERAGE = AB.ÁTLAG ## A kijelölt adatbáziselemek átlagát számítja ki. +DCOUNT = AB.DARAB ## Megszámolja, hogy az adatbázisban hány cella tartalmaz számokat. +DCOUNTA = AB.DARAB2 ## Megszámolja az adatbázisban lévő nem üres cellákat. +DGET = AB.MEZŐ ## Egy adatbázisból egyetlen olyan rekordot ad vissza, amely megfelel a megadott feltételeknek. +DMAX = AB.MAX ## A kiválasztott adatbáziselemek közül a legnagyobb értéket adja eredményül. +DMIN = AB.MIN ## A kijelölt adatbáziselemek közül a legkisebb értéket adja eredményül. +DPRODUCT = AB.SZORZAT ## Az adatbázis megadott feltételeknek eleget tevő rekordjaira összeszorozza a megadott mezőben található számértékeket, és eredményül ezt a szorzatot adja. +DSTDEV = AB.SZÓRÁS ## A kijelölt adatbáziselemek egy mintája alapján megbecsüli a szórást. +DSTDEVP = AB.SZÓRÁS2 ## A kijelölt adatbáziselemek teljes sokasága alapján kiszámítja a szórást. +DSUM = AB.SZUM ## Összeadja a feltételnek megfelelő adatbázisrekordok mezőoszlopában a számokat. +DVAR = AB.VAR ## A kijelölt adatbáziselemek mintája alapján becslést ad a szórásnégyzetre. +DVARP = AB.VAR2 ## A kijelölt adatbáziselemek teljes sokasága alapján kiszámítja a szórásnégyzetet. + + +## +## Date and time functions Dátumfüggvények +## +DATE = DÁTUM ## Adott dátum dátumértékét adja eredményül. +DATEVALUE = DÁTUMÉRTÉK ## Szövegként megadott dátumot dátumértékké alakít át. +DAY = NAP ## Dátumértéket a hónap egy napjává (0-31) alakít. +DAYS360 = NAP360 ## Két dátum közé eső napok számát számítja ki a 360 napos év alapján. +EDATE = EDATE ## Adott dátumnál adott számú hónappal korábbi vagy későbbi dátum dátumértékét adja eredményül. +EOMONTH = EOMONTH ## Adott dátumnál adott számú hónappal korábbi vagy későbbi hónap utolsó napjának dátumértékét adja eredményül. +HOUR = ÓRA ## Időértéket órákká alakít. +MINUTE = PERC ## Időértéket percekké alakít. +MONTH = HÓNAP ## Időértéket hónapokká alakít. +NETWORKDAYS = NETWORKDAYS ## Két dátum között a teljes munkanapok számát adja meg. +NOW = MOST ## A napi dátum dátumértékét és a pontos idő időértékét adja eredményül. +SECOND = MPERC ## Időértéket másodpercekké alakít át. +TIME = IDŐ ## Adott időpont időértékét adja meg. +TIMEVALUE = IDŐÉRTÉK ## Szövegként megadott időpontot időértékké alakít át. +TODAY = MA ## A napi dátum dátumértékét adja eredményül. +WEEKDAY = HÉT.NAPJA ## Dátumértéket a hét napjává alakítja át. +WEEKNUM = WEEKNUM ## Visszatérési értéke egy szám, amely azt mutatja meg, hogy a megadott dátum az év hányadik hetére esik. +WORKDAY = WORKDAY ## Adott dátumnál adott munkanappal korábbi vagy későbbi dátum dátumértékét adja eredményül. +YEAR = ÉV ## Sorszámot évvé alakít át. +YEARFRAC = YEARFRAC ## Az adott dátumok közötti teljes napok számát törtévként adja meg. + + +## +## Engineering functions Mérnöki függvények +## +BESSELI = BESSELI ## Az In(x) módosított Bessel-függvény értékét adja eredményül. +BESSELJ = BESSELJ ## A Jn(x) Bessel-függvény értékét adja eredményül. +BESSELK = BESSELK ## A Kn(x) módosított Bessel-függvény értékét adja eredményül. +BESSELY = BESSELY ## Az Yn(x) módosított Bessel-függvény értékét adja eredményül. +BIN2DEC = BIN2DEC ## Bináris számot decimálissá alakít át. +BIN2HEX = BIN2HEX ## Bináris számot hexadecimálissá alakít át. +BIN2OCT = BIN2OCT ## Bináris számot oktálissá alakít át. +COMPLEX = COMPLEX ## Valós és képzetes részből komplex számot képez. +CONVERT = CONVERT ## Mértékegységeket vált át. +DEC2BIN = DEC2BIN ## Decimális számot binárissá alakít át. +DEC2HEX = DEC2HEX ## Decimális számot hexadecimálissá alakít át. +DEC2OCT = DEC2OCT ## Decimális számot oktálissá alakít át. +DELTA = DELTA ## Azt vizsgálja, hogy két érték egyenlő-e. +ERF = ERF ## A hibafüggvény értékét adja eredményül. +ERFC = ERFC ## A kiegészített hibafüggvény értékét adja eredményül. +GESTEP = GESTEP ## Azt vizsgálja, hogy egy szám nagyobb-e adott küszöbértéknél. +HEX2BIN = HEX2BIN ## Hexadecimális számot binárissá alakít át. +HEX2DEC = HEX2DEC ## Hexadecimális számot decimálissá alakít át. +HEX2OCT = HEX2OCT ## Hexadecimális számot oktálissá alakít át. +IMABS = IMABS ## Komplex szám abszolút értékét (modulusát) adja eredményül. +IMAGINARY = IMAGINARY ## Komplex szám képzetes részét adja eredményül. +IMARGUMENT = IMARGUMENT ## A komplex szám radiánban kifejezett théta argumentumát adja eredményül. +IMCONJUGATE = IMCONJUGATE ## Komplex szám komplex konjugáltját adja eredményül. +IMCOS = IMCOS ## Komplex szám koszinuszát adja eredményül. +IMDIV = IMDIV ## Két komplex szám hányadosát adja eredményül. +IMEXP = IMEXP ## Az e szám komplex kitevőjű hatványát adja eredményül. +IMLN = IMLN ## Komplex szám természetes logaritmusát adja eredményül. +IMLOG10 = IMLOG10 ## Komplex szám tízes alapú logaritmusát adja eredményül. +IMLOG2 = IMLOG2 ## Komplex szám kettes alapú logaritmusát adja eredményül. +IMPOWER = IMPOWER ## Komplex szám hatványát adja eredményül. +IMPRODUCT = IMPRODUCT ## Komplex számok szorzatát adja eredményül. +IMREAL = IMREAL ## Komplex szám valós részét adja eredményül. +IMSIN = IMSIN ## Komplex szám szinuszát adja eredményül. +IMSQRT = IMSQRT ## Komplex szám négyzetgyökét adja eredményül. +IMSUB = IMSUB ## Két komplex szám különbségét adja eredményül. +IMSUM = IMSUM ## Komplex számok összegét adja eredményül. +OCT2BIN = OCT2BIN ## Oktális számot binárissá alakít át. +OCT2DEC = OCT2DEC ## Oktális számot decimálissá alakít át. +OCT2HEX = OCT2HEX ## Oktális számot hexadecimálissá alakít át. + + +## +## Financial functions Pénzügyi függvények +## +ACCRINT = ACCRINT ## Periodikusan kamatozó értékpapír felszaporodott kamatát adja eredményül. +ACCRINTM = ACCRINTM ## Lejáratkor kamatozó értékpapír felszaporodott kamatát adja eredményül. +AMORDEGRC = AMORDEGRC ## Állóeszköz lineáris értékcsökkenését adja meg az egyes könyvelési időszakokra vonatkozóan. +AMORLINC = AMORLINC ## Az egyes könyvelési időszakokban az értékcsökkenést adja meg. +COUPDAYBS = COUPDAYBS ## A szelvényidőszak kezdetétől a kifizetés időpontjáig eltelt napokat adja vissza. +COUPDAYS = COUPDAYS ## A kifizetés időpontját magában foglaló szelvényperiódus hosszát adja meg napokban. +COUPDAYSNC = COUPDAYSNC ## A kifizetés időpontja és a legközelebbi szelvénydátum közötti napok számát adja meg. +COUPNCD = COUPNCD ## A kifizetést követő legelső szelvénydátumot adja eredményül. +COUPNUM = COUPNUM ## A kifizetés és a lejárat időpontja között kifizetendő szelvények számát adja eredményül. +COUPPCD = COUPPCD ## A kifizetés előtti utolsó szelvénydátumot adja eredményül. +CUMIPMT = CUMIPMT ## Két fizetési időszak között kifizetett kamat halmozott értékét adja eredményül. +CUMPRINC = CUMPRINC ## Két fizetési időszak között kifizetett részletek halmozott (kamatot nem tartalmazó) értékét adja eredményül. +DB = KCS2 ## Eszköz adott időszak alatti értékcsökkenését számítja ki a lineáris leírási modell alkalmazásával. +DDB = KCSA ## Eszköz értékcsökkenését számítja ki adott időszakra vonatkozóan a progresszív vagy egyéb megadott leírási modell alkalmazásával. +DISC = DISC ## Értékpapír leszámítolási kamatlábát adja eredményül. +DOLLARDE = DOLLARDE ## Egy közönséges törtként megadott számot tizedes törtté alakít át. +DOLLARFR = DOLLARFR ## Tizedes törtként megadott számot közönséges törtté alakít át. +DURATION = DURATION ## Periodikus kamatfizetésű értékpapír éves kamatérzékenységét adja eredményül. +EFFECT = EFFECT ## Az éves tényleges kamatláb értékét adja eredményül. +FV = JBÉ ## Befektetés jövőbeli értékét számítja ki. +FVSCHEDULE = FVSCHEDULE ## A kezdőtőke adott kamatlábak szerint megnövelt jövőbeli értékét adja eredményül. +INTRATE = INTRATE ## A lejáratig teljesen lekötött értékpapír kamatrátáját adja eredményül. +IPMT = RRÉSZLET ## Hiteltörlesztésen belül a tőketörlesztés nagyságát számítja ki adott időszakra. +IRR = BMR ## A befektetés belső megtérülési rátáját számítja ki pénzáramláshoz. +ISPMT = LRÉSZLETKAMAT ## A befektetés adott időszakára fizetett kamatot számítja ki. +MDURATION = MDURATION ## Egy 100 Ft névértékű értékpapír Macauley-féle módosított kamatérzékenységét adja eredményül. +MIRR = MEGTÉRÜLÉS ## A befektetés belső megtérülési rátáját számítja ki a költségek és a bevételek különböző kamatlába mellett. +NOMINAL = NOMINAL ## Az éves névleges kamatláb értékét adja eredményül. +NPER = PER.SZÁM ## A törlesztési időszakok számát adja meg. +NPV = NMÉ ## Befektetéshez kapcsolódó pénzáramlás nettó jelenértékét számítja ki ismert pénzáramlás és kamatláb mellett. +ODDFPRICE = ODDFPRICE ## Egy 100 Ft névértékű, a futamidő elején töredék-időszakos értékpapír árát adja eredményül. +ODDFYIELD = ODDFYIELD ## A futamidő elején töredék-időszakos értékpapír hozamát adja eredményül. +ODDLPRICE = ODDLPRICE ## Egy 100 Ft névértékű, a futamidő végén töredék-időszakos értékpapír árát adja eredményül. +ODDLYIELD = ODDLYIELD ## A futamidő végén töredék-időszakos értékpapír hozamát adja eredményül. +PMT = RÉSZLET ## A törlesztési időszakra vonatkozó törlesztési összeget számítja ki. +PPMT = PRÉSZLET ## Hiteltörlesztésen belül a tőketörlesztés nagyságát számítja ki adott időszakra. +PRICE = PRICE ## Egy 100 Ft névértékű, periodikusan kamatozó értékpapír árát adja eredményül. +PRICEDISC = PRICEDISC ## Egy 100 Ft névértékű leszámítolt értékpapír árát adja eredményül. +PRICEMAT = PRICEMAT ## Egy 100 Ft névértékű, a lejáratkor kamatozó értékpapír árát adja eredményül. +PV = MÉ ## Befektetés jelenlegi értékét számítja ki. +RATE = RÁTA ## Egy törlesztési időszakban az egy időszakra eső kamatláb nagyságát számítja ki. +RECEIVED = RECEIVED ## A lejáratig teljesen lekötött értékpapír lejáratakor kapott összegét adja eredményül. +SLN = LCSA ## Tárgyi eszköz egy időszakra eső amortizációját adja meg bruttó érték szerinti lineáris leírási kulcsot alkalmazva. +SYD = SYD ## Tárgyi eszköz értékcsökkenését számítja ki adott időszakra az évek számjegyösszegével dolgozó módszer alapján. +TBILLEQ = TBILLEQ ## Kincstárjegy kötvény-egyenértékű hozamát adja eredményül. +TBILLPRICE = TBILLPRICE ## Egy 100 Ft névértékű kincstárjegy árát adja eredményül. +TBILLYIELD = TBILLYIELD ## Kincstárjegy hozamát adja eredményül. +VDB = ÉCSRI ## Tárgyi eszköz amortizációját számítja ki megadott vagy részidőszakra a csökkenő egyenleg módszerének alkalmazásával. +XIRR = XIRR ## Ütemezett készpénzforgalom (cash flow) belső megtérülési kamatrátáját adja eredményül. +XNPV = XNPV ## Ütemezett készpénzforgalom (cash flow) nettó jelenlegi értékét adja eredményül. +YIELD = YIELD ## Periodikusan kamatozó értékpapír hozamát adja eredményül. +YIELDDISC = YIELDDISC ## Leszámítolt értékpapír (például kincstárjegy) éves hozamát adja eredményül. +YIELDMAT = YIELDMAT ## Lejáratkor kamatozó értékpapír éves hozamát adja eredményül. + + +## +## Information functions Információs függvények +## +CELL = CELLA ## Egy cella formátumára, elhelyezkedésére vagy tartalmára vonatkozó adatokat ad eredményül. +ERROR.TYPE = HIBA.TÍPUS ## Egy hibatípushoz tartozó számot ad eredményül. +INFO = INFÓ ## A rendszer- és munkakörnyezet pillanatnyi állapotáról ad felvilágosítást. +ISBLANK = ÜRES ## Eredménye IGAZ, ha az érték üres. +ISERR = HIBA ## Eredménye IGAZ, ha az érték valamelyik hibaérték a #HIÁNYZIK kivételével. +ISERROR = HIBÁS ## Eredménye IGAZ, ha az érték valamelyik hibaérték. +ISEVEN = ISEVEN ## Eredménye IGAZ, ha argumentuma páros szám. +ISLOGICAL = LOGIKAI ## Eredménye IGAZ, ha az érték logikai érték. +ISNA = NINCS ## Eredménye IGAZ, ha az érték a #HIÁNYZIK hibaérték. +ISNONTEXT = NEM.SZÖVEG ## Eredménye IGAZ, ha az érték nem szöveg. +ISNUMBER = SZÁM ## Eredménye IGAZ, ha az érték szám. +ISODD = ISODD ## Eredménye IGAZ, ha argumentuma páratlan szám. +ISREF = HIVATKOZÁS ## Eredménye IGAZ, ha az érték hivatkozás. +ISTEXT = SZÖVEG.E ## Eredménye IGAZ, ha az érték szöveg. +N = N ## Argumentumának értékét számmá alakítja. +NA = HIÁNYZIK ## Eredménye a #HIÁNYZIK hibaérték. +TYPE = TÍPUS ## Érték adattípusának azonosítószámát adja eredményül. + + +## +## Logical functions Logikai függvények +## +AND = ÉS ## Eredménye IGAZ, ha minden argumentuma IGAZ. +FALSE = HAMIS ## A HAMIS logikai értéket adja eredményül. +IF = HA ## Logikai vizsgálatot hajt végre. +IFERROR = HAHIBA ## A megadott értéket adja vissza, ha egy képlet hibához vezet; más esetben a képlet értékét adja eredményül. +NOT = NEM ## Argumentuma értékének ellentettjét adja eredményül. +OR = VAGY ## Eredménye IGAZ, ha bármely argumentuma IGAZ. +TRUE = IGAZ ## Az IGAZ logikai értéket adja eredményül. + + +## +## Lookup and reference functions Keresési és hivatkozási függvények +## +ADDRESS = CÍM ## A munkalap egy cellájára való hivatkozást adja szövegként eredményül. +AREAS = TERÜLET ## Hivatkozásban a területek számát adja eredményül. +CHOOSE = VÁLASZT ## Értékek listájából választ ki egy elemet. +COLUMN = OSZLOP ## Egy hivatkozás oszlopszámát adja eredményül. +COLUMNS = OSZLOPOK ## A hivatkozásban található oszlopok számát adja eredményül. +HLOOKUP = VKERES ## A megadott tömb felső sorában adott értékű elemet keres, és a megtalált elem oszlopából adott sorban elhelyezkedő értékkel tér vissza. +HYPERLINK = HIPERHIVATKOZÁS ## Hálózati kiszolgálón, intraneten vagy az interneten tárolt dokumentumot megnyitó parancsikont vagy hivatkozást hoz létre. +INDEX = INDEX ## Tömb- vagy hivatkozás indexszel megadott értékét adja vissza. +INDIRECT = INDIREKT ## Szöveg megadott hivatkozást ad eredményül. +LOOKUP = KERES ## Vektorban vagy tömbben keres meg értékeket. +MATCH = HOL.VAN ## Hivatkozásban vagy tömbben értékeket keres. +OFFSET = OFSZET ## Hivatkozás egy másik hivatkozástól számított távolságát adja meg. +ROW = SOR ## Egy hivatkozás sorának számát adja meg. +ROWS = SOROK ## Egy hivatkozás sorainak számát adja meg. +RTD = RTD ## Valós idejű adatokat keres vissza a COM automatizmust (automatizálás: Egy alkalmazás objektumaival való munka másik alkalmazásból vagy fejlesztőeszközből. A korábban OLE automatizmusnak nevezett automatizálás iparági szabvány, a Component Object Model (COM) szolgáltatása.) támogató programból. +TRANSPOSE = TRANSZPONÁLÁS ## Egy tömb transzponáltját adja eredményül. +VLOOKUP = FKERES ## A megadott tömb bal szélső oszlopában megkeres egy értéket, majd annak sora és a megadott oszlop metszéspontjában levő értéked adja eredményül. + + +## +## Math and trigonometry functions Matematikai és trigonometrikus függvények +## +ABS = ABS ## Egy szám abszolút értékét adja eredményül. +ACOS = ARCCOS ## Egy szám arkusz koszinuszát számítja ki. +ACOSH = ACOSH ## Egy szám inverz koszinusz hiperbolikuszát számítja ki. +ASIN = ARCSIN ## Egy szám arkusz szinuszát számítja ki. +ASINH = ASINH ## Egy szám inverz szinusz hiperbolikuszát számítja ki. +ATAN = ARCTAN ## Egy szám arkusz tangensét számítja ki. +ATAN2 = ARCTAN2 ## X és y koordináták alapján számítja ki az arkusz tangens értéket. +ATANH = ATANH ## A szám inverz tangens hiperbolikuszát számítja ki. +CEILING = PLAFON ## Egy számot a legközelebbi egészre vagy a pontosságként megadott érték legközelebb eső többszörösére kerekít. +COMBIN = KOMBINÁCIÓK ## Adott számú objektum összes lehetséges kombinációinak számát számítja ki. +COS = COS ## Egy szám koszinuszát számítja ki. +COSH = COSH ## Egy szám koszinusz hiperbolikuszát számítja ki. +DEGREES = FOK ## Radiánt fokká alakít át. +EVEN = PÁROS ## Egy számot a legközelebbi páros egész számra kerekít. +EXP = KITEVŐ ## Az e adott kitevőjű hatványát adja eredményül. +FACT = FAKT ## Egy szám faktoriálisát számítja ki. +FACTDOUBLE = FACTDOUBLE ## Egy szám dupla faktoriálisát adja eredményül. +FLOOR = PADLÓ ## Egy számot lefelé, a nulla felé kerekít. +GCD = GCD ## A legnagyobb közös osztót adja eredményül. +INT = INT ## Egy számot lefelé kerekít a legközelebbi egészre. +LCM = LCM ## A legkisebb közös többszöröst adja eredményül. +LN = LN ## Egy szám természetes logaritmusát számítja ki. +LOG = LOG ## Egy szám adott alapú logaritmusát számítja ki. +LOG10 = LOG10 ## Egy szám 10-es alapú logaritmusát számítja ki. +MDETERM = MDETERM ## Egy tömb mátrix-determinánsát számítja ki. +MINVERSE = INVERZ.MÁTRIX ## Egy tömb mátrix inverzét adja eredményül. +MMULT = MSZORZAT ## Két tömb mátrix-szorzatát adja meg. +MOD = MARADÉK ## Egy szám osztási maradékát adja eredményül. +MROUND = MROUND ## A kívánt többszörösére kerekített értéket ad eredményül. +MULTINOMIAL = MULTINOMIAL ## Számhalmaz multinomiálisát adja eredményül. +ODD = PÁRATLAN ## Egy számot a legközelebbi páratlan számra kerekít. +PI = PI ## A pi matematikai állandót adja vissza. +POWER = HATVÁNY ## Egy szám adott kitevőjű hatványát számítja ki. +PRODUCT = SZORZAT ## Argumentumai szorzatát számítja ki. +QUOTIENT = QUOTIENT ## Egy hányados egész részét adja eredményül. +RADIANS = RADIÁN ## Fokot radiánná alakít át. +RAND = VÉL ## Egy 0 és 1 közötti véletlen számot ad eredményül. +RANDBETWEEN = RANDBETWEEN ## Megadott számok közé eső véletlen számot állít elő. +ROMAN = RÓMAI ## Egy számot római számokkal kifejezve szövegként ad eredményül. +ROUND = KEREKÍTÉS ## Egy számot adott számú számjegyre kerekít. +ROUNDDOWN = KEREKÍTÉS.LE ## Egy számot lefelé, a nulla felé kerekít. +ROUNDUP = KEREKÍTÉS.FEL ## Egy számot felfelé, a nullától távolabbra kerekít. +SERIESSUM = SERIESSUM ## Hatványsor összegét adja eredményül. +SIGN = ELŐJEL ## Egy szám előjelét adja meg. +SIN = SIN ## Egy szög szinuszát számítja ki. +SINH = SINH ## Egy szám szinusz hiperbolikuszát számítja ki. +SQRT = GYÖK ## Egy szám pozitív négyzetgyökét számítja ki. +SQRTPI = SQRTPI ## A (szám*pi) négyzetgyökét adja eredményül. +SUBTOTAL = RÉSZÖSSZEG ## Lista vagy adatbázis részösszegét adja eredményül. +SUM = SZUM ## Összeadja az argumentumlistájában lévő számokat. +SUMIF = SZUMHA ## A megadott feltételeknek eleget tevő cellákban található értékeket adja össze. +SUMIFS = SZUMHATÖBB ## Több megadott feltételnek eleget tévő tartománycellák összegét adja eredményül. +SUMPRODUCT = SZORZATÖSSZEG ## A megfelelő tömbelemek szorzatának összegét számítja ki. +SUMSQ = NÉGYZETÖSSZEG ## Argumentumai négyzetének összegét számítja ki. +SUMX2MY2 = SZUMX2BŐLY2 ## Két tömb megfelelő elemei négyzetének különbségét összegzi. +SUMX2PY2 = SZUMX2MEGY2 ## Két tömb megfelelő elemei négyzetének összegét összegzi. +SUMXMY2 = SZUMXBŐLY2 ## Két tömb megfelelő elemei különbségének négyzetösszegét számítja ki. +TAN = TAN ## Egy szám tangensét számítja ki. +TANH = TANH ## Egy szám tangens hiperbolikuszát számítja ki. +TRUNC = CSONK ## Egy számot egésszé csonkít. + + +## +## Statistical functions Statisztikai függvények +## +AVEDEV = ÁTL.ELTÉRÉS ## Az adatpontoknak átlaguktól való átlagos abszolút eltérését számítja ki. +AVERAGE = ÁTLAG ## Argumentumai átlagát számítja ki. +AVERAGEA = ÁTLAGA ## Argumentumai átlagát számítja ki (beleértve a számokat, szöveget és logikai értékeket). +AVERAGEIF = ÁTLAGHA ## A megadott feltételnek eleget tévő tartomány celláinak átlagát (számtani közepét) adja eredményül. +AVERAGEIFS = ÁTLAGHATÖBB ## A megadott feltételeknek eleget tévő cellák átlagát (számtani közepét) adja eredményül. +BETADIST = BÉTA.ELOSZLÁS ## A béta-eloszlás függvényt számítja ki. +BETAINV = INVERZ.BÉTA ## Adott béta-eloszláshoz kiszámítja a béta eloszlásfüggvény inverzét. +BINOMDIST = BINOM.ELOSZLÁS ## A diszkrét binomiális eloszlás valószínűségértékét számítja ki. +CHIDIST = KHI.ELOSZLÁS ## A khi-négyzet-eloszlás egyszélű valószínűségértékét számítja ki. +CHIINV = INVERZ.KHI ## A khi-négyzet-eloszlás egyszélű valószínűségértékének inverzét számítja ki. +CHITEST = KHI.PRÓBA ## Függetlenségvizsgálatot hajt végre. +CONFIDENCE = MEGBÍZHATÓSÁG ## Egy statisztikai sokaság várható értékének megbízhatósági intervallumát adja eredményül. +CORREL = KORREL ## Két adathalmaz korrelációs együtthatóját számítja ki. +COUNT = DARAB ## Megszámolja, hogy argumentumlistájában hány szám található. +COUNTA = DARAB2 ## Megszámolja, hogy argumentumlistájában hány érték található. +COUNTBLANK = DARABÜRES ## Egy tartományban összeszámolja az üres cellákat. +COUNTIF = DARABTELI ## Egy tartományban összeszámolja azokat a cellákat, amelyek eleget tesznek a megadott feltételnek. +COUNTIFS = DARABHATÖBB ## Egy tartományban összeszámolja azokat a cellákat, amelyek eleget tesznek több feltételnek. +COVAR = KOVAR ## A kovarianciát, azaz a páronkénti eltérések szorzatának átlagát számítja ki. +CRITBINOM = KRITBINOM ## Azt a legkisebb számot adja eredményül, amelyre a binomiális eloszlásfüggvény értéke nem kisebb egy adott határértéknél. +DEVSQ = SQ ## Az átlagtól való eltérések négyzetének összegét számítja ki. +EXPONDIST = EXP.ELOSZLÁS ## Az exponenciális eloszlás értékét számítja ki. +FDIST = F.ELOSZLÁS ## Az F-eloszlás értékét számítja ki. +FINV = INVERZ.F ## Az F-eloszlás inverzének értékét számítja ki. +FISHER = FISHER ## Fisher-transzformációt hajt végre. +FISHERINV = INVERZ.FISHER ## A Fisher-transzformáció inverzét hajtja végre. +FORECAST = ELŐREJELZÉS ## Az ismert értékek alapján lineáris regresszióval becsült értéket ad eredményül. +FREQUENCY = GYAKORISÁG ## A gyakorisági vagy empirikus eloszlás értékét függőleges tömbként adja eredményül. +FTEST = F.PRÓBA ## Az F-próba értékét adja eredményül. +GAMMADIST = GAMMA.ELOSZLÁS ## A gamma-eloszlás értékét számítja ki. +GAMMAINV = INVERZ.GAMMA ## A gamma-eloszlás eloszlásfüggvénye inverzének értékét számítja ki. +GAMMALN = GAMMALN ## A gamma-függvény természetes logaritmusát számítja ki. +GEOMEAN = MÉRTANI.KÖZÉP ## Argumentumai mértani középértékét számítja ki. +GROWTH = NÖV ## Exponenciális regresszió alapján ad becslést. +HARMEAN = HARM.KÖZÉP ## Argumentumai harmonikus átlagát számítja ki. +HYPGEOMDIST = HIPERGEOM.ELOSZLÁS ## A hipergeometriai eloszlás értékét számítja ki. +INTERCEPT = METSZ ## A regressziós egyenes y tengellyel való metszéspontját határozza meg. +KURT = CSÚCSOSSÁG ## Egy adathalmaz csúcsosságát számítja ki. +LARGE = NAGY ## Egy adathalmaz k-adik legnagyobb elemét adja eredményül. +LINEST = LIN.ILL ## A legkisebb négyzetek módszerével az adatokra illesztett egyenes paramétereit határozza meg. +LOGEST = LOG.ILL ## Az adatokra illesztett exponenciális görbe paramétereit határozza meg. +LOGINV = INVERZ.LOG.ELOSZLÁS ## A lognormális eloszlás inverzét számítja ki. +LOGNORMDIST = LOG.ELOSZLÁS ## A lognormális eloszlásfüggvény értékét számítja ki. +MAX = MAX ## Az argumentumai között szereplő legnagyobb számot adja meg. +MAXA = MAX2 ## Az argumentumai között szereplő legnagyobb számot adja meg (beleértve a számokat, szöveget és logikai értékeket). +MEDIAN = MEDIÁN ## Adott számhalmaz mediánját számítja ki. +MIN = MIN ## Az argumentumai között szereplő legkisebb számot adja meg. +MINA = MIN2 ## Az argumentumai között szereplő legkisebb számot adja meg, beleértve a számokat, szöveget és logikai értékeket. +MODE = MÓDUSZ ## Egy adathalmazból kiválasztja a leggyakrabban előforduló számot. +NEGBINOMDIST = NEGBINOM.ELOSZL ## A negatív binomiális eloszlás értékét számítja ki. +NORMDIST = NORM.ELOSZL ## A normális eloszlás értékét számítja ki. +NORMINV = INVERZ.NORM ## A normális eloszlás eloszlásfüggvénye inverzének értékét számítja ki. +NORMSDIST = STNORMELOSZL ## A standard normális eloszlás eloszlásfüggvényének értékét számítja ki. +NORMSINV = INVERZ.STNORM ## A standard normális eloszlás eloszlásfüggvénye inverzének értékét számítja ki. +PEARSON = PEARSON ## A Pearson-féle korrelációs együtthatót számítja ki. +PERCENTILE = PERCENTILIS ## Egy tartományban található értékek k-adik percentilisét, azaz százalékosztályát adja eredményül. +PERCENTRANK = SZÁZALÉKRANG ## Egy értéknek egy adathalmazon belül vett százalékos rangját (elhelyezkedését) számítja ki. +PERMUT = VARIÁCIÓK ## Adott számú objektum k-ad osztályú ismétlés nélküli variációinak számát számítja ki. +POISSON = POISSON ## A Poisson-eloszlás értékét számítja ki. +PROB = VALÓSZÍNŰSÉG ## Annak valószínűségét számítja ki, hogy adott értékek két határérték közé esnek. +QUARTILE = KVARTILIS ## Egy adathalmaz kvartilisét (negyedszintjét) számítja ki. +RANK = SORSZÁM ## Kiszámítja, hogy egy szám hányadik egy számsorozatban. +RSQ = RNÉGYZET ## Kiszámítja a Pearson-féle szorzatmomentum korrelációs együtthatójának négyzetét. +SKEW = FERDESÉG ## Egy eloszlás ferdeségét határozza meg. +SLOPE = MEREDEKSÉG ## Egy lineáris regressziós egyenes meredekségét számítja ki. +SMALL = KICSI ## Egy adathalmaz k-adik legkisebb elemét adja meg. +STANDARDIZE = NORMALIZÁLÁS ## Normalizált értéket ad eredményül. +STDEV = SZÓRÁS ## Egy statisztikai sokaság mintájából kiszámítja annak szórását. +STDEVA = SZÓRÁSA ## Egy statisztikai sokaság mintájából kiszámítja annak szórását (beleértve a számokat, szöveget és logikai értékeket). +STDEVP = SZÓRÁSP ## Egy statisztikai sokaság egészéből kiszámítja annak szórását. +STDEVPA = SZÓRÁSPA ## Egy statisztikai sokaság egészéből kiszámítja annak szórását (beleértve számokat, szöveget és logikai értékeket). +STEYX = STHIBAYX ## Egy regresszió esetén az egyes x-értékek alapján meghatározott y-értékek standard hibáját számítja ki. +TDIST = T.ELOSZLÁS ## A Student-féle t-eloszlás értékét számítja ki. +TINV = INVERZ.T ## A Student-féle t-eloszlás inverzét számítja ki. +TREND = TREND ## Lineáris trend értékeit számítja ki. +TRIMMEAN = RÉSZÁTLAG ## Egy adathalmaz középső részének átlagát számítja ki. +TTEST = T.PRÓBA ## A Student-féle t-próbához tartozó valószínűséget számítja ki. +VAR = VAR ## Minta alapján becslést ad a varianciára. +VARA = VARA ## Minta alapján becslést ad a varianciára (beleértve számokat, szöveget és logikai értékeket). +VARP = VARP ## Egy statisztikai sokaság varianciáját számítja ki. +VARPA = VARPA ## Egy statisztikai sokaság varianciáját számítja ki (beleértve számokat, szöveget és logikai értékeket). +WEIBULL = WEIBULL ## A Weibull-féle eloszlás értékét számítja ki. +ZTEST = Z.PRÓBA ## Az egyszélű z-próbával kapott valószínűségértéket számítja ki. + + +## +## Text functions Szövegműveletekhez használható függvények +## +ASC = ASC ## Szöveg teljes szélességű (kétbájtos) latin és katakana karaktereit félszélességű (egybájtos) karakterekké alakítja. +BAHTTEXT = BAHTSZÖVEG ## Számot szöveggé alakít a ß (baht) pénznemformátum használatával. +CHAR = KARAKTER ## A kódszámmal meghatározott karaktert adja eredményül. +CLEAN = TISZTÍT ## A szövegből eltávolítja az összes nem nyomtatható karaktert. +CODE = KÓD ## Karaktersorozat első karakterének numerikus kódját adja eredményül. +CONCATENATE = ÖSSZEFŰZ ## Több szövegelemet egyetlen szöveges elemmé fűz össze. +DOLLAR = FORINT ## Számot pénznem formátumú szöveggé alakít át. +EXACT = AZONOS ## Megvizsgálja, hogy két érték azonos-e. +FIND = SZÖVEG.TALÁL ## Karaktersorozatot keres egy másikban (a kis- és nagybetűk megkülönböztetésével). +FINDB = SZÖVEG.TALÁL2 ## Karaktersorozatot keres egy másikban (a kis- és nagybetűk megkülönböztetésével). +FIXED = FIX ## Számot szöveges formátumúra alakít adott számú tizedesjegyre kerekítve. +JIS = JIS ## A félszélességű (egybájtos) latin és a katakana karaktereket teljes szélességű (kétbájtos) karakterekké alakítja. +LEFT = BAL ## Szöveg bal szélső karaktereit adja eredményül. +LEFTB = BAL2 ## Szöveg bal szélső karaktereit adja eredményül. +LEN = HOSSZ ## Szöveg karakterekben mért hosszát adja eredményül. +LENB = HOSSZ2 ## Szöveg karakterekben mért hosszát adja eredményül. +LOWER = KISBETŰ ## Szöveget kisbetűssé alakít át. +MID = KÖZÉP ## A szöveg adott pozíciójától kezdve megadott számú karaktert ad vissza eredményként. +MIDB = KÖZÉP2 ## A szöveg adott pozíciójától kezdve megadott számú karaktert ad vissza eredményként. +PHONETIC = PHONETIC ## Szöveg furigana (fonetikus) karaktereit adja vissza. +PROPER = TNÉV ## Szöveg minden szavának kezdőbetűjét nagybetűsre cseréli. +REPLACE = CSERE ## A szövegen belül karaktereket cserél. +REPLACEB = CSERE2 ## A szövegen belül karaktereket cserél. +REPT = SOKSZOR ## Megadott számú alkalommal megismétel egy szövegrészt. +RIGHT = JOBB ## Szövegrész jobb szélső karaktereit adja eredményül. +RIGHTB = JOBB2 ## Szövegrész jobb szélső karaktereit adja eredményül. +SEARCH = SZÖVEG.KERES ## Karaktersorozatot keres egy másikban (a kis- és nagybetűk között nem tesz különbséget). +SEARCHB = SZÖVEG.KERES2 ## Karaktersorozatot keres egy másikban (a kis- és nagybetűk között nem tesz különbséget). +SUBSTITUTE = HELYETTE ## Szövegben adott karaktereket másikra cserél. +T = T ## Argumentumát szöveggé alakítja át. +TEXT = SZÖVEG ## Számértéket alakít át adott számformátumú szöveggé. +TRIM = TRIM ## A szövegből eltávolítja a szóközöket. +UPPER = NAGYBETŰS ## Szöveget nagybetűssé alakít át. +VALUE = ÉRTÉK ## Szöveget számmá alakít át. diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/locale/it/config b/vendor/phpoffice/phpexcel/Classes/PHPExcel/locale/it/config new file mode 100644 index 00000000..c3afa754 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/locale/it/config @@ -0,0 +1,47 @@ +## +## PHPExcel +## +## Copyright (c) 2006 - 2013 PHPExcel +## +## This library is free software; you can redistribute it and/or +## modify it under the terms of the GNU Lesser General Public +## License as published by the Free Software Foundation; either +## version 2.1 of the License, or (at your option) any later version. +## +## This library is distributed in the hope that it will be useful, +## but WITHOUT ANY WARRANTY; without even the implied warranty of +## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +## Lesser General Public License for more details. +## +## You should have received a copy of the GNU Lesser General Public +## License along with this library; if not, write to the Free Software +## Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +## +## @category PHPExcel +## @package PHPExcel_Settings +## @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel) +## @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL +## @version ##VERSION##, ##DATE## +## +## + + +ArgumentSeparator = ; + + +## +## (For future use) +## +currencySymbol = € + + +## +## Excel Error Codes (For future use) +## +NULL = #NULLO! +DIV0 = #DIV/0! +VALUE = #VALORE! +REF = #RIF! +NAME = #NOME? +NUM = #NUM! +NA = #N/D diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/locale/it/functions b/vendor/phpoffice/phpexcel/Classes/PHPExcel/locale/it/functions new file mode 100644 index 00000000..d371f3d7 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/locale/it/functions @@ -0,0 +1,438 @@ +## +## PHPExcel +## +## Copyright (c) 2006 - 2013 PHPExcel +## +## This library is free software; you can redistribute it and/or +## modify it under the terms of the GNU Lesser General Public +## License as published by the Free Software Foundation; either +## version 2.1 of the License, or (at your option) any later version. +## +## This library is distributed in the hope that it will be useful, +## but WITHOUT ANY WARRANTY; without even the implied warranty of +## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +## Lesser General Public License for more details. +## +## You should have received a copy of the GNU Lesser General Public +## License along with this library; if not, write to the Free Software +## Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +## +## @category PHPExcel +## @package PHPExcel_Calculation +## @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel) +## @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL +## @version ##VERSION##, ##DATE## +## +## Data in this file derived from http://www.piuha.fi/excel-function-name-translation/ +## +## + + +## +## Add-in and Automation functions Funzioni di automazione e dei componenti aggiuntivi +## +GETPIVOTDATA = INFO.DATI.TAB.PIVOT ## Restituisce i dati memorizzati in un rapporto di tabella pivot + + +## +## Cube functions Funzioni cubo +## +CUBEKPIMEMBER = MEMBRO.KPI.CUBO ## Restituisce il nome, la proprietà e la misura di un indicatore di prestazioni chiave (KPI) e visualizza il nome e la proprietà nella cella. Un KPI è una misura quantificabile, ad esempio l'utile lordo mensile o il fatturato trimestrale dei dipendenti, utilizzata per il monitoraggio delle prestazioni di un'organizzazione. +CUBEMEMBER = MEMBRO.CUBO ## Restituisce un membro o una tupla in una gerarchia di cubi. Consente di verificare l'esistenza del membro o della tupla nel cubo. +CUBEMEMBERPROPERTY = PROPRIETÀ.MEMBRO.CUBO ## Restituisce il valore di una proprietà di un membro del cubo. Consente di verificare l'esistenza di un nome di membro all'interno del cubo e di restituire la proprietà specificata per tale membro. +CUBERANKEDMEMBER = MEMBRO.CUBO.CON.RANGO ## Restituisce l'n-esimo membro o il membro ordinato di un insieme. Consente di restituire uno o più elementi in un insieme, ad esempio l'agente di vendita migliore o i primi 10 studenti. +CUBESET = SET.CUBO ## Definisce un insieme di tuple o membri calcolati mediante l'invio di un'espressione di insieme al cubo sul server. In questo modo l'insieme viene creato e restituito a Microsoft Office Excel. +CUBESETCOUNT = CONTA.SET.CUBO ## Restituisce il numero di elementi di un insieme. +CUBEVALUE = VALORE.CUBO ## Restituisce un valore aggregato da un cubo. + + +## +## Database functions Funzioni di database +## +DAVERAGE = DB.MEDIA ## Restituisce la media di voci del database selezionate +DCOUNT = DB.CONTA.NUMERI ## Conta le celle di un database contenenti numeri +DCOUNTA = DB.CONTA.VALORI ## Conta le celle non vuote in un database +DGET = DB.VALORI ## Estrae da un database un singolo record che soddisfa i criteri specificati +DMAX = DB.MAX ## Restituisce il valore massimo dalle voci selezionate in un database +DMIN = DB.MIN ## Restituisce il valore minimo dalle voci di un database selezionate +DPRODUCT = DB.PRODOTTO ## Moltiplica i valori in un determinato campo di record che soddisfano i criteri del database +DSTDEV = DB.DEV.ST ## Restituisce una stima della deviazione standard sulla base di un campione di voci di un database selezionate +DSTDEVP = DB.DEV.ST.POP ## Calcola la deviazione standard sulla base di tutte le voci di un database selezionate +DSUM = DB.SOMMA ## Aggiunge i numeri nel campo colonna di record del database che soddisfa determinati criteri +DVAR = DB.VAR ## Restituisce una stima della varianza sulla base di un campione da voci di un database selezionate +DVARP = DB.VAR.POP ## Calcola la varianza sulla base di tutte le voci di un database selezionate + + +## +## Date and time functions Funzioni data e ora +## +DATE = DATA ## Restituisce il numero seriale di una determinata data +DATEVALUE = DATA.VALORE ## Converte una data sotto forma di testo in un numero seriale +DAY = GIORNO ## Converte un numero seriale in un giorno del mese +DAYS360 = GIORNO360 ## Calcola il numero di giorni compreso tra due date basandosi su un anno di 360 giorni +EDATE = DATA.MESE ## Restituisce il numero seriale della data che rappresenta il numero di mesi prima o dopo la data di inizio +EOMONTH = FINE.MESE ## Restituisce il numero seriale dell'ultimo giorno del mese, prima o dopo un determinato numero di mesi +HOUR = ORA ## Converte un numero seriale in un'ora +MINUTE = MINUTO ## Converte un numero seriale in un minuto +MONTH = MESE ## Converte un numero seriale in un mese +NETWORKDAYS = GIORNI.LAVORATIVI.TOT ## Restituisce il numero di tutti i giorni lavorativi compresi fra due date +NOW = ADESSO ## Restituisce il numero seriale della data e dell'ora corrente +SECOND = SECONDO ## Converte un numero seriale in un secondo +TIME = ORARIO ## Restituisce il numero seriale di una determinata ora +TIMEVALUE = ORARIO.VALORE ## Converte un orario in forma di testo in un numero seriale +TODAY = OGGI ## Restituisce il numero seriale relativo alla data odierna +WEEKDAY = GIORNO.SETTIMANA ## Converte un numero seriale in un giorno della settimana +WEEKNUM = NUM.SETTIMANA ## Converte un numero seriale in un numero che rappresenta la posizione numerica di una settimana nell'anno +WORKDAY = GIORNO.LAVORATIVO ## Restituisce il numero della data prima o dopo un determinato numero di giorni lavorativi +YEAR = ANNO ## Converte un numero seriale in un anno +YEARFRAC = FRAZIONE.ANNO ## Restituisce la frazione dell'anno che rappresenta il numero dei giorni compresi tra una data_ iniziale e una data_finale + + +## +## Engineering functions Funzioni ingegneristiche +## +BESSELI = BESSEL.I ## Restituisce la funzione di Bessel modificata In(x) +BESSELJ = BESSEL.J ## Restituisce la funzione di Bessel Jn(x) +BESSELK = BESSEL.K ## Restituisce la funzione di Bessel modificata Kn(x) +BESSELY = BESSEL.Y ## Restituisce la funzione di Bessel Yn(x) +BIN2DEC = BINARIO.DECIMALE ## Converte un numero binario in decimale +BIN2HEX = BINARIO.HEX ## Converte un numero binario in esadecimale +BIN2OCT = BINARIO.OCT ## Converte un numero binario in ottale +COMPLEX = COMPLESSO ## Converte i coefficienti reali e immaginari in numeri complessi +CONVERT = CONVERTI ## Converte un numero da un sistema di misura in un altro +DEC2BIN = DECIMALE.BINARIO ## Converte un numero decimale in binario +DEC2HEX = DECIMALE.HEX ## Converte un numero decimale in esadecimale +DEC2OCT = DECIMALE.OCT ## Converte un numero decimale in ottale +DELTA = DELTA ## Verifica se due valori sono uguali +ERF = FUNZ.ERRORE ## Restituisce la funzione di errore +ERFC = FUNZ.ERRORE.COMP ## Restituisce la funzione di errore complementare +GESTEP = SOGLIA ## Verifica se un numero è maggiore del valore di soglia +HEX2BIN = HEX.BINARIO ## Converte un numero esadecimale in binario +HEX2DEC = HEX.DECIMALE ## Converte un numero esadecimale in decimale +HEX2OCT = HEX.OCT ## Converte un numero esadecimale in ottale +IMABS = COMP.MODULO ## Restituisce il valore assoluto (modulo) di un numero complesso +IMAGINARY = COMP.IMMAGINARIO ## Restituisce il coefficiente immaginario di un numero complesso +IMARGUMENT = COMP.ARGOMENTO ## Restituisce l'argomento theta, un angolo espresso in radianti +IMCONJUGATE = COMP.CONIUGATO ## Restituisce il complesso coniugato del numero complesso +IMCOS = COMP.COS ## Restituisce il coseno di un numero complesso +IMDIV = COMP.DIV ## Restituisce il quoziente di due numeri complessi +IMEXP = COMP.EXP ## Restituisce il valore esponenziale di un numero complesso +IMLN = COMP.LN ## Restituisce il logaritmo naturale di un numero complesso +IMLOG10 = COMP.LOG10 ## Restituisce il logaritmo in base 10 di un numero complesso +IMLOG2 = COMP.LOG2 ## Restituisce un logaritmo in base 2 di un numero complesso +IMPOWER = COMP.POTENZA ## Restituisce il numero complesso elevato a una potenza intera +IMPRODUCT = COMP.PRODOTTO ## Restituisce il prodotto di numeri complessi compresi tra 2 e 29 +IMREAL = COMP.PARTE.REALE ## Restituisce il coefficiente reale di un numero complesso +IMSIN = COMP.SEN ## Restituisce il seno di un numero complesso +IMSQRT = COMP.RADQ ## Restituisce la radice quadrata di un numero complesso +IMSUB = COMP.DIFF ## Restituisce la differenza fra due numeri complessi +IMSUM = COMP.SOMMA ## Restituisce la somma di numeri complessi +OCT2BIN = OCT.BINARIO ## Converte un numero ottale in binario +OCT2DEC = OCT.DECIMALE ## Converte un numero ottale in decimale +OCT2HEX = OCT.HEX ## Converte un numero ottale in esadecimale + + +## +## Financial functions Funzioni finanziarie +## +ACCRINT = INT.MATURATO.PER ## Restituisce l'interesse maturato di un titolo che paga interessi periodici +ACCRINTM = INT.MATURATO.SCAD ## Restituisce l'interesse maturato di un titolo che paga interessi alla scadenza +AMORDEGRC = AMMORT.DEGR ## Restituisce l'ammortamento per ogni periodo contabile utilizzando un coefficiente di ammortamento +AMORLINC = AMMORT.PER ## Restituisce l'ammortamento per ogni periodo contabile +COUPDAYBS = GIORNI.CED.INIZ.LIQ ## Restituisce il numero dei giorni che vanno dall'inizio del periodo di durata della cedola alla data di liquidazione +COUPDAYS = GIORNI.CED ## Restituisce il numero dei giorni relativi al periodo della cedola che contiene la data di liquidazione +COUPDAYSNC = GIORNI.CED.NUOVA ## Restituisce il numero di giorni che vanno dalla data di liquidazione alla data della cedola successiva +COUPNCD = DATA.CED.SUCC ## Restituisce un numero che rappresenta la data della cedola successiva alla data di liquidazione +COUPNUM = NUM.CED ## Restituisce il numero di cedole pagabili fra la data di liquidazione e la data di scadenza +COUPPCD = DATA.CED.PREC ## Restituisce un numero che rappresenta la data della cedola precedente alla data di liquidazione +CUMIPMT = INT.CUMUL ## Restituisce l'interesse cumulativo pagato fra due periodi +CUMPRINC = CAP.CUM ## Restituisce il capitale cumulativo pagato per estinguere un debito fra due periodi +DB = DB ## Restituisce l'ammortamento di un bene per un periodo specificato utilizzando il metodo di ammortamento a quote fisse decrescenti +DDB = AMMORT ## Restituisce l'ammortamento di un bene per un periodo specificato utilizzando il metodo di ammortamento a doppie quote decrescenti o altri metodi specificati +DISC = TASSO.SCONTO ## Restituisce il tasso di sconto per un titolo +DOLLARDE = VALUTA.DEC ## Converte un prezzo valuta, espresso come frazione, in prezzo valuta, espresso come numero decimale +DOLLARFR = VALUTA.FRAZ ## Converte un prezzo valuta, espresso come numero decimale, in prezzo valuta, espresso come frazione +DURATION = DURATA ## Restituisce la durata annuale di un titolo con i pagamenti di interesse periodico +EFFECT = EFFETTIVO ## Restituisce l'effettivo tasso di interesse annuo +FV = VAL.FUT ## Restituisce il valore futuro di un investimento +FVSCHEDULE = VAL.FUT.CAPITALE ## Restituisce il valore futuro di un capitale iniziale dopo aver applicato una serie di tassi di interesse composti +INTRATE = TASSO.INT ## Restituisce il tasso di interesse per un titolo interamente investito +IPMT = INTERESSI ## Restituisce il valore degli interessi per un investimento relativo a un periodo specifico +IRR = TIR.COST ## Restituisce il tasso di rendimento interno per una serie di flussi di cassa +ISPMT = INTERESSE.RATA ## Calcola l'interesse di un investimento pagato durante un periodo specifico +MDURATION = DURATA.M ## Restituisce la durata Macauley modificata per un titolo con un valore presunto di € 100 +MIRR = TIR.VAR ## Restituisce il tasso di rendimento interno in cui i flussi di cassa positivi e negativi sono finanziati a tassi differenti +NOMINAL = NOMINALE ## Restituisce il tasso di interesse nominale annuale +NPER = NUM.RATE ## Restituisce un numero di periodi relativi a un investimento +NPV = VAN ## Restituisce il valore attuale netto di un investimento basato su una serie di flussi di cassa periodici e sul tasso di sconto +ODDFPRICE = PREZZO.PRIMO.IRR ## Restituisce il prezzo di un titolo dal valore nominale di € 100 avente il primo periodo di durata irregolare +ODDFYIELD = REND.PRIMO.IRR ## Restituisce il rendimento di un titolo avente il primo periodo di durata irregolare +ODDLPRICE = PREZZO.ULTIMO.IRR ## Restituisce il prezzo di un titolo dal valore nominale di € 100 avente l'ultimo periodo di durata irregolare +ODDLYIELD = REND.ULTIMO.IRR ## Restituisce il rendimento di un titolo avente l'ultimo periodo di durata irregolare +PMT = RATA ## Restituisce il pagamento periodico di una rendita annua +PPMT = P.RATA ## Restituisce il pagamento sul capitale di un investimento per un dato periodo +PRICE = PREZZO ## Restituisce il prezzo di un titolo dal valore nominale di € 100 che paga interessi periodici +PRICEDISC = PREZZO.SCONT ## Restituisce il prezzo di un titolo scontato dal valore nominale di € 100 +PRICEMAT = PREZZO.SCAD ## Restituisce il prezzo di un titolo dal valore nominale di € 100 che paga gli interessi alla scadenza +PV = VA ## Restituisce il valore attuale di un investimento +RATE = TASSO ## Restituisce il tasso di interesse per un periodo di un'annualità +RECEIVED = RICEV.SCAD ## Restituisce l'ammontare ricevuto alla scadenza di un titolo interamente investito +SLN = AMMORT.COST ## Restituisce l'ammortamento a quote costanti di un bene per un singolo periodo +SYD = AMMORT.ANNUO ## Restituisce l'ammortamento a somma degli anni di un bene per un periodo specificato +TBILLEQ = BOT.EQUIV ## Restituisce il rendimento equivalente ad un'obbligazione per un Buono ordinario del Tesoro +TBILLPRICE = BOT.PREZZO ## Restituisce il prezzo di un Buono del Tesoro dal valore nominale di € 100 +TBILLYIELD = BOT.REND ## Restituisce il rendimento di un Buono del Tesoro +VDB = AMMORT.VAR ## Restituisce l'ammortamento di un bene per un periodo specificato o parziale utilizzando il metodo a doppie quote proporzionali ai valori residui +XIRR = TIR.X ## Restituisce il tasso di rendimento interno di un impiego di flussi di cassa +XNPV = VAN.X ## Restituisce il valore attuale netto di un impiego di flussi di cassa non necessariamente periodici +YIELD = REND ## Restituisce il rendimento di un titolo che frutta interessi periodici +YIELDDISC = REND.TITOLI.SCONT ## Restituisce il rendimento annuale di un titolo scontato, ad esempio un Buono del Tesoro +YIELDMAT = REND.SCAD ## Restituisce il rendimento annuo di un titolo che paga interessi alla scadenza + + +## +## Information functions Funzioni relative alle informazioni +## +CELL = CELLA ## Restituisce le informazioni sulla formattazione, la posizione o i contenuti di una cella +ERROR.TYPE = ERRORE.TIPO ## Restituisce un numero che corrisponde a un tipo di errore +INFO = INFO ## Restituisce le informazioni sull'ambiente operativo corrente +ISBLANK = VAL.VUOTO ## Restituisce VERO se il valore è vuoto +ISERR = VAL.ERR ## Restituisce VERO se il valore è un valore di errore qualsiasi tranne #N/D +ISERROR = VAL.ERRORE ## Restituisce VERO se il valore è un valore di errore qualsiasi +ISEVEN = VAL.PARI ## Restituisce VERO se il numero è pari +ISLOGICAL = VAL.LOGICO ## Restituisce VERO se il valore è un valore logico +ISNA = VAL.NON.DISP ## Restituisce VERO se il valore è un valore di errore #N/D +ISNONTEXT = VAL.NON.TESTO ## Restituisce VERO se il valore non è in formato testo +ISNUMBER = VAL.NUMERO ## Restituisce VERO se il valore è un numero +ISODD = VAL.DISPARI ## Restituisce VERO se il numero è dispari +ISREF = VAL.RIF ## Restituisce VERO se il valore è un riferimento +ISTEXT = VAL.TESTO ## Restituisce VERO se il valore è in formato testo +N = NUM ## Restituisce un valore convertito in numero +NA = NON.DISP ## Restituisce il valore di errore #N/D +TYPE = TIPO ## Restituisce un numero che indica il tipo di dati relativi a un valore + + +## +## Logical functions Funzioni logiche +## +AND = E ## Restituisce VERO se tutti gli argomenti sono VERO +FALSE = FALSO ## Restituisce il valore logico FALSO +IF = SE ## Specifica un test logico da eseguire +IFERROR = SE.ERRORE ## Restituisce un valore specificato se una formula fornisce un errore come risultato; in caso contrario, restituisce il risultato della formula +NOT = NON ## Inverte la logica degli argomenti +OR = O ## Restituisce VERO se un argomento qualsiasi è VERO +TRUE = VERO ## Restituisce il valore logico VERO + + +## +## Lookup and reference functions Funzioni di ricerca e di riferimento +## +ADDRESS = INDIRIZZO ## Restituisce un riferimento come testo in una singola cella di un foglio di lavoro +AREAS = AREE ## Restituisce il numero di aree in un riferimento +CHOOSE = SCEGLI ## Sceglie un valore da un elenco di valori +COLUMN = RIF.COLONNA ## Restituisce il numero di colonna di un riferimento +COLUMNS = COLONNE ## Restituisce il numero di colonne in un riferimento +HLOOKUP = CERCA.ORIZZ ## Effettua una ricerca nella riga superiore di una matrice e restituisce il valore della cella specificata +HYPERLINK = COLLEG.IPERTESTUALE ## Crea un collegamento che apre un documento memorizzato in un server di rete, una rete Intranet o Internet +INDEX = INDICE ## Utilizza un indice per scegliere un valore da un riferimento o da una matrice +INDIRECT = INDIRETTO ## Restituisce un riferimento specificato da un valore testo +LOOKUP = CERCA ## Ricerca i valori in un vettore o in una matrice +MATCH = CONFRONTA ## Ricerca i valori in un riferimento o in una matrice +OFFSET = SCARTO ## Restituisce uno scarto di riferimento da un riferimento dato +ROW = RIF.RIGA ## Restituisce il numero di riga di un riferimento +ROWS = RIGHE ## Restituisce il numero delle righe in un riferimento +RTD = DATITEMPOREALE ## Recupera dati in tempo reale da un programma che supporta l'automazione COM (automazione: Metodo per utilizzare gli oggetti di un'applicazione da un'altra applicazione o da un altro strumento di sviluppo. Precedentemente nota come automazione OLE, l'automazione è uno standard del settore e una caratteristica del modello COM (Component Object Model).) +TRANSPOSE = MATR.TRASPOSTA ## Restituisce la trasposizione di una matrice +VLOOKUP = CERCA.VERT ## Effettua una ricerca nella prima colonna di una matrice e si sposta attraverso la riga per restituire il valore di una cella + + +## +## Math and trigonometry functions Funzioni matematiche e trigonometriche +## +ABS = ASS ## Restituisce il valore assoluto di un numero. +ACOS = ARCCOS ## Restituisce l'arcocoseno di un numero +ACOSH = ARCCOSH ## Restituisce l'inverso del coseno iperbolico di un numero +ASIN = ARCSEN ## Restituisce l'arcoseno di un numero +ASINH = ARCSENH ## Restituisce l'inverso del seno iperbolico di un numero +ATAN = ARCTAN ## Restituisce l'arcotangente di un numero +ATAN2 = ARCTAN.2 ## Restituisce l'arcotangente delle coordinate x e y specificate +ATANH = ARCTANH ## Restituisce l'inverso della tangente iperbolica di un numero +CEILING = ARROTONDA.ECCESSO ## Arrotonda un numero per eccesso all'intero più vicino o al multiplo più vicino a peso +COMBIN = COMBINAZIONE ## Restituisce il numero di combinazioni possibili per un numero assegnato di elementi +COS = COS ## Restituisce il coseno dell'angolo specificato +COSH = COSH ## Restituisce il coseno iperbolico di un numero +DEGREES = GRADI ## Converte i radianti in gradi +EVEN = PARI ## Arrotonda il valore assoluto di un numero per eccesso al più vicino intero pari +EXP = ESP ## Restituisce il numero e elevato alla potenza di num +FACT = FATTORIALE ## Restituisce il fattoriale di un numero +FACTDOUBLE = FATT.DOPPIO ## Restituisce il fattoriale doppio di un numero +FLOOR = ARROTONDA.DIFETTO ## Arrotonda un numero per difetto al multiplo più vicino a zero +GCD = MCD ## Restituisce il massimo comune divisore +INT = INT ## Arrotonda un numero per difetto al numero intero più vicino +LCM = MCM ## Restituisce il minimo comune multiplo +LN = LN ## Restituisce il logaritmo naturale di un numero +LOG = LOG ## Restituisce il logaritmo di un numero in una specificata base +LOG10 = LOG10 ## Restituisce il logaritmo in base 10 di un numero +MDETERM = MATR.DETERM ## Restituisce il determinante di una matrice +MINVERSE = MATR.INVERSA ## Restituisce l'inverso di una matrice +MMULT = MATR.PRODOTTO ## Restituisce il prodotto di due matrici +MOD = RESTO ## Restituisce il resto della divisione +MROUND = ARROTONDA.MULTIPLO ## Restituisce un numero arrotondato al multiplo desiderato +MULTINOMIAL = MULTINOMIALE ## Restituisce il multinomiale di un insieme di numeri +ODD = DISPARI ## Arrotonda un numero per eccesso al più vicino intero dispari +PI = PI.GRECO ## Restituisce il valore di pi greco +POWER = POTENZA ## Restituisce il risultato di un numero elevato a potenza +PRODUCT = PRODOTTO ## Moltiplica i suoi argomenti +QUOTIENT = QUOZIENTE ## Restituisce la parte intera di una divisione +RADIANS = RADIANTI ## Converte i gradi in radianti +RAND = CASUALE ## Restituisce un numero casuale compreso tra 0 e 1 +RANDBETWEEN = CASUALE.TRA ## Restituisce un numero casuale compreso tra i numeri specificati +ROMAN = ROMANO ## Restituisce il numero come numero romano sotto forma di testo +ROUND = ARROTONDA ## Arrotonda il numero al numero di cifre specificato +ROUNDDOWN = ARROTONDA.PER.DIF ## Arrotonda il valore assoluto di un numero per difetto +ROUNDUP = ARROTONDA.PER.ECC ## Arrotonda il valore assoluto di un numero per eccesso +SERIESSUM = SOMMA.SERIE ## Restituisce la somma di una serie di potenze in base alla formula +SIGN = SEGNO ## Restituisce il segno di un numero +SIN = SEN ## Restituisce il seno di un dato angolo +SINH = SENH ## Restituisce il seno iperbolico di un numero +SQRT = RADQ ## Restituisce una radice quadrata +SQRTPI = RADQ.PI.GRECO ## Restituisce la radice quadrata di un numero (numero * pi greco) +SUBTOTAL = SUBTOTALE ## Restituisce un subtotale in un elenco o in un database +SUM = SOMMA ## Somma i suoi argomenti +SUMIF = SOMMA.SE ## Somma le celle specificate da un dato criterio +SUMIFS = SOMMA.PIÙ.SE ## Somma le celle in un intervallo che soddisfano più criteri +SUMPRODUCT = MATR.SOMMA.PRODOTTO ## Restituisce la somma dei prodotti dei componenti corrispondenti della matrice +SUMSQ = SOMMA.Q ## Restituisce la somma dei quadrati degli argomenti +SUMX2MY2 = SOMMA.DIFF.Q ## Restituisce la somma della differenza dei quadrati dei corrispondenti elementi in due matrici +SUMX2PY2 = SOMMA.SOMMA.Q ## Restituisce la somma della somma dei quadrati dei corrispondenti elementi in due matrici +SUMXMY2 = SOMMA.Q.DIFF ## Restituisce la somma dei quadrati delle differenze dei corrispondenti elementi in due matrici +TAN = TAN ## Restituisce la tangente di un numero +TANH = TANH ## Restituisce la tangente iperbolica di un numero +TRUNC = TRONCA ## Tronca la parte decimale di un numero + + +## +## Statistical functions Funzioni statistiche +## +AVEDEV = MEDIA.DEV ## Restituisce la media delle deviazioni assolute delle coordinate rispetto alla loro media +AVERAGE = MEDIA ## Restituisce la media degli argomenti +AVERAGEA = MEDIA.VALORI ## Restituisce la media degli argomenti, inclusi i numeri, il testo e i valori logici +AVERAGEIF = MEDIA.SE ## Restituisce la media aritmetica di tutte le celle in un intervallo che soddisfano un determinato criterio +AVERAGEIFS = MEDIA.PIÙ.SE ## Restituisce la media aritmetica di tutte le celle che soddisfano più criteri +BETADIST = DISTRIB.BETA ## Restituisce la funzione di distribuzione cumulativa beta +BETAINV = INV.BETA ## Restituisce l'inverso della funzione di distribuzione cumulativa per una distribuzione beta specificata +BINOMDIST = DISTRIB.BINOM ## Restituisce la distribuzione binomiale per il termine individuale +CHIDIST = DISTRIB.CHI ## Restituisce la probabilità a una coda per la distribuzione del chi quadrato +CHIINV = INV.CHI ## Restituisce l'inverso della probabilità ad una coda per la distribuzione del chi quadrato +CHITEST = TEST.CHI ## Restituisce il test per l'indipendenza +CONFIDENCE = CONFIDENZA ## Restituisce l'intervallo di confidenza per una popolazione +CORREL = CORRELAZIONE ## Restituisce il coefficiente di correlazione tra due insiemi di dati +COUNT = CONTA.NUMERI ## Conta la quantità di numeri nell'elenco di argomenti +COUNTA = CONTA.VALORI ## Conta il numero di valori nell'elenco di argomenti +COUNTBLANK = CONTA.VUOTE ## Conta il numero di celle vuote all'interno di un intervallo +COUNTIF = CONTA.SE ## Conta il numero di celle all'interno di un intervallo che soddisfa i criteri specificati +COUNTIFS = CONTA.PIÙ.SE ## Conta il numero di celle in un intervallo che soddisfano più criteri. +COVAR = COVARIANZA ## Calcola la covarianza, la media dei prodotti delle deviazioni accoppiate +CRITBINOM = CRIT.BINOM ## Restituisce il più piccolo valore per il quale la distribuzione cumulativa binomiale risulta maggiore o uguale ad un valore di criterio +DEVSQ = DEV.Q ## Restituisce la somma dei quadrati delle deviazioni +EXPONDIST = DISTRIB.EXP ## Restituisce la distribuzione esponenziale +FDIST = DISTRIB.F ## Restituisce la distribuzione di probabilità F +FINV = INV.F ## Restituisce l'inverso della distribuzione della probabilità F +FISHER = FISHER ## Restituisce la trasformazione di Fisher +FISHERINV = INV.FISHER ## Restituisce l'inverso della trasformazione di Fisher +FORECAST = PREVISIONE ## Restituisce i valori lungo una tendenza lineare +FREQUENCY = FREQUENZA ## Restituisce la distribuzione di frequenza come matrice verticale +FTEST = TEST.F ## Restituisce il risultato di un test F +GAMMADIST = DISTRIB.GAMMA ## Restituisce la distribuzione gamma +GAMMAINV = INV.GAMMA ## Restituisce l'inverso della distribuzione cumulativa gamma +GAMMALN = LN.GAMMA ## Restituisce il logaritmo naturale della funzione gamma, G(x) +GEOMEAN = MEDIA.GEOMETRICA ## Restituisce la media geometrica +GROWTH = CRESCITA ## Restituisce i valori lungo una linea di tendenza esponenziale +HARMEAN = MEDIA.ARMONICA ## Restituisce la media armonica +HYPGEOMDIST = DISTRIB.IPERGEOM ## Restituisce la distribuzione ipergeometrica +INTERCEPT = INTERCETTA ## Restituisce l'intercetta della retta di regressione lineare +KURT = CURTOSI ## Restituisce la curtosi di un insieme di dati +LARGE = GRANDE ## Restituisce il k-esimo valore più grande in un insieme di dati +LINEST = REGR.LIN ## Restituisce i parametri di una tendenza lineare +LOGEST = REGR.LOG ## Restituisce i parametri di una linea di tendenza esponenziale +LOGINV = INV.LOGNORM ## Restituisce l'inverso di una distribuzione lognormale +LOGNORMDIST = DISTRIB.LOGNORM ## Restituisce la distribuzione lognormale cumulativa +MAX = MAX ## Restituisce il valore massimo in un elenco di argomenti +MAXA = MAX.VALORI ## Restituisce il valore massimo in un elenco di argomenti, inclusi i numeri, il testo e i valori logici +MEDIAN = MEDIANA ## Restituisce la mediana dei numeri specificati +MIN = MIN ## Restituisce il valore minimo in un elenco di argomenti +MINA = MIN.VALORI ## Restituisce il più piccolo valore in un elenco di argomenti, inclusi i numeri, il testo e i valori logici +MODE = MODA ## Restituisce il valore più comune in un insieme di dati +NEGBINOMDIST = DISTRIB.BINOM.NEG ## Restituisce la distribuzione binomiale negativa +NORMDIST = DISTRIB.NORM ## Restituisce la distribuzione cumulativa normale +NORMINV = INV.NORM ## Restituisce l'inverso della distribuzione cumulativa normale standard +NORMSDIST = DISTRIB.NORM.ST ## Restituisce la distribuzione cumulativa normale standard +NORMSINV = INV.NORM.ST ## Restituisce l'inverso della distribuzione cumulativa normale +PEARSON = PEARSON ## Restituisce il coefficiente del momento di correlazione di Pearson +PERCENTILE = PERCENTILE ## Restituisce il k-esimo dato percentile di valori in un intervallo +PERCENTRANK = PERCENT.RANGO ## Restituisce il rango di un valore in un insieme di dati come percentuale +PERMUT = PERMUTAZIONE ## Restituisce il numero delle permutazioni per un determinato numero di oggetti +POISSON = POISSON ## Restituisce la distribuzione di Poisson +PROB = PROBABILITÀ ## Calcola la probabilità che dei valori in un intervallo siano compresi tra due limiti +QUARTILE = QUARTILE ## Restituisce il quartile di un insieme di dati +RANK = RANGO ## Restituisce il rango di un numero in un elenco di numeri +RSQ = RQ ## Restituisce la radice quadrata del coefficiente di momento di correlazione di Pearson +SKEW = ASIMMETRIA ## Restituisce il grado di asimmetria di una distribuzione +SLOPE = PENDENZA ## Restituisce la pendenza di una retta di regressione lineare +SMALL = PICCOLO ## Restituisce il k-esimo valore più piccolo in un insieme di dati +STANDARDIZE = NORMALIZZA ## Restituisce un valore normalizzato +STDEV = DEV.ST ## Restituisce una stima della deviazione standard sulla base di un campione +STDEVA = DEV.ST.VALORI ## Restituisce una stima della deviazione standard sulla base di un campione, inclusi i numeri, il testo e i valori logici +STDEVP = DEV.ST.POP ## Calcola la deviazione standard sulla base di un'intera popolazione +STDEVPA = DEV.ST.POP.VALORI ## Calcola la deviazione standard sulla base sull'intera popolazione, inclusi i numeri, il testo e i valori logici +STEYX = ERR.STD.YX ## Restituisce l'errore standard del valore previsto per y per ogni valore x nella regressione +TDIST = DISTRIB.T ## Restituisce la distribuzione t di Student +TINV = INV.T ## Restituisce l'inversa della distribuzione t di Student +TREND = TENDENZA ## Restituisce i valori lungo una linea di tendenza lineare +TRIMMEAN = MEDIA.TRONCATA ## Restituisce la media della parte interna di un insieme di dati +TTEST = TEST.T ## Restituisce la probabilità associata ad un test t di Student +VAR = VAR ## Stima la varianza sulla base di un campione +VARA = VAR.VALORI ## Stima la varianza sulla base di un campione, inclusi i numeri, il testo e i valori logici +VARP = VAR.POP ## Calcola la varianza sulla base dell'intera popolazione +VARPA = VAR.POP.VALORI ## Calcola la deviazione standard sulla base sull'intera popolazione, inclusi i numeri, il testo e i valori logici +WEIBULL = WEIBULL ## Restituisce la distribuzione di Weibull +ZTEST = TEST.Z ## Restituisce il valore di probabilità a una coda per un test z + + +## +## Text functions Funzioni di testo +## +ASC = ASC ## Modifica le lettere inglesi o il katakana a doppio byte all'interno di una stringa di caratteri in caratteri a singolo byte +BAHTTEXT = BAHTTESTO ## Converte un numero in testo, utilizzando il formato valuta ß (baht) +CHAR = CODICE.CARATT ## Restituisce il carattere specificato dal numero di codice +CLEAN = LIBERA ## Elimina dal testo tutti i caratteri che non è possibile stampare +CODE = CODICE ## Restituisce il codice numerico del primo carattere di una stringa di testo +CONCATENATE = CONCATENA ## Unisce diversi elementi di testo in un unico elemento di testo +DOLLAR = VALUTA ## Converte un numero in testo, utilizzando il formato valuta € (euro) +EXACT = IDENTICO ## Verifica se due valori di testo sono uguali +FIND = TROVA ## Rileva un valore di testo all'interno di un altro (distinzione tra maiuscole e minuscole) +FINDB = TROVA.B ## Rileva un valore di testo all'interno di un altro (distinzione tra maiuscole e minuscole) +FIXED = FISSO ## Formatta un numero come testo con un numero fisso di decimali +JIS = ORDINAMENTO.JIS ## Modifica le lettere inglesi o i caratteri katakana a byte singolo all'interno di una stringa di caratteri in caratteri a byte doppio. +LEFT = SINISTRA ## Restituisce il carattere più a sinistra di un valore di testo +LEFTB = SINISTRA.B ## Restituisce il carattere più a sinistra di un valore di testo +LEN = LUNGHEZZA ## Restituisce il numero di caratteri di una stringa di testo +LENB = LUNB ## Restituisce il numero di caratteri di una stringa di testo +LOWER = MINUSC ## Converte il testo in lettere minuscole +MID = MEDIA ## Restituisce un numero specifico di caratteri di una stringa di testo a partire dalla posizione specificata +MIDB = MEDIA.B ## Restituisce un numero specifico di caratteri di una stringa di testo a partire dalla posizione specificata +PHONETIC = FURIGANA ## Estrae i caratteri fonetici (furigana) da una stringa di testo. +PROPER = MAIUSC.INIZ ## Converte in maiuscolo la prima lettera di ogni parola di un valore di testo +REPLACE = RIMPIAZZA ## Sostituisce i caratteri all'interno di un testo +REPLACEB = SOSTITUISCI.B ## Sostituisce i caratteri all'interno di un testo +REPT = RIPETI ## Ripete un testo per un dato numero di volte +RIGHT = DESTRA ## Restituisce il carattere più a destra di un valore di testo +RIGHTB = DESTRA.B ## Restituisce il carattere più a destra di un valore di testo +SEARCH = RICERCA ## Rileva un valore di testo all'interno di un altro (non è sensibile alle maiuscole e minuscole) +SEARCHB = CERCA.B ## Rileva un valore di testo all'interno di un altro (non è sensibile alle maiuscole e minuscole) +SUBSTITUTE = SOSTITUISCI ## Sostituisce il nuovo testo al testo contenuto in una stringa +T = T ## Converte gli argomenti in testo +TEXT = TESTO ## Formatta un numero e lo converte in testo +TRIM = ANNULLA.SPAZI ## Elimina gli spazi dal testo +UPPER = MAIUSC ## Converte il testo in lettere maiuscole +VALUE = VALORE ## Converte un argomento di testo in numero diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/locale/nl/config b/vendor/phpoffice/phpexcel/Classes/PHPExcel/locale/nl/config new file mode 100644 index 00000000..48dcc15b --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/locale/nl/config @@ -0,0 +1,47 @@ +## +## PHPExcel +## +## Copyright (c) 2006 - 2013 PHPExcel +## +## This library is free software; you can redistribute it and/or +## modify it under the terms of the GNU Lesser General Public +## License as published by the Free Software Foundation; either +## version 2.1 of the License, or (at your option) any later version. +## +## This library is distributed in the hope that it will be useful, +## but WITHOUT ANY WARRANTY; without even the implied warranty of +## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +## Lesser General Public License for more details. +## +## You should have received a copy of the GNU Lesser General Public +## License along with this library; if not, write to the Free Software +## Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +## +## @category PHPExcel +## @package PHPExcel_Settings +## @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel) +## @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL +## @version ##VERSION##, ##DATE## +## +## + + +ArgumentSeparator = ; + + +## +## (For future use) +## +currencySymbol = € + + +## +## Excel Error Codes (For future use) +## +NULL = #LEEG! +DIV0 = #DEEL/0! +VALUE = #WAARDE! +REF = #VERW! +NAME = #NAAM? +NUM = #GETAL! +NA = #N/B diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/locale/nl/functions b/vendor/phpoffice/phpexcel/Classes/PHPExcel/locale/nl/functions new file mode 100644 index 00000000..573600ac --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/locale/nl/functions @@ -0,0 +1,438 @@ +## +## PHPExcel +## +## Copyright (c) 2006 - 2013 PHPExcel +## +## This library is free software; you can redistribute it and/or +## modify it under the terms of the GNU Lesser General Public +## License as published by the Free Software Foundation; either +## version 2.1 of the License, or (at your option) any later version. +## +## This library is distributed in the hope that it will be useful, +## but WITHOUT ANY WARRANTY; without even the implied warranty of +## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +## Lesser General Public License for more details. +## +## You should have received a copy of the GNU Lesser General Public +## License along with this library; if not, write to the Free Software +## Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +## +## @category PHPExcel +## @package PHPExcel_Calculation +## @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel) +## @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL +## @version ##VERSION##, ##DATE## +## +## Data in this file derived from http://www.piuha.fi/excel-function-name-translation/ +## +## + + +## +## Add-in and Automation functions Automatiseringsfuncties en functies in invoegtoepassingen +## +GETPIVOTDATA = DRAAITABEL.OPHALEN ## Geeft gegevens uit een draaitabelrapport als resultaat + + +## +## Cube functions Kubusfuncties +## +CUBEKPIMEMBER = KUBUSKPILID ## Retourneert de naam, eigenschap en waarde van een KPI (prestatie-indicator) en geeft de naam en de eigenschap in de cel weer. Een KPI is een meetbare waarde, zoals de maandelijkse brutowinst of de omzet per kwartaal per werknemer, die wordt gebruikt om de prestaties van een organisatie te bewaken +CUBEMEMBER = KUBUSLID ## Retourneert een lid of tupel in een kubushiërarchie. Wordt gebruikt om te controleren of het lid of de tupel in de kubus aanwezig is +CUBEMEMBERPROPERTY = KUBUSLIDEIGENSCHAP ## Retourneert de waarde van een lideigenschap in de kubus. Wordt gebruikt om te controleren of de lidnaam in de kubus bestaat en retourneert de opgegeven eigenschap voor dit lid +CUBERANKEDMEMBER = KUBUSGERANGCHIKTLID ## Retourneert het zoveelste, gerangschikte lid in een set. Wordt gebruikt om een of meer elementen in een set te retourneren, zoals de tien beste verkopers of de tien beste studenten +CUBESET = KUBUSSET ## Definieert een berekende set leden of tupels door een ingestelde expressie naar de kubus op de server te sturen, alwaar de set wordt gemaakt en vervolgens wordt geretourneerd naar Microsoft Office Excel +CUBESETCOUNT = KUBUSSETAANTAL ## Retourneert het aantal onderdelen in een set +CUBEVALUE = KUBUSWAARDE ## Retourneert een samengestelde waarde van een kubus + + +## +## Database functions Databasefuncties +## +DAVERAGE = DBGEMIDDELDE ## Berekent de gemiddelde waarde in geselecteerde databasegegevens +DCOUNT = DBAANTAL ## Telt de cellen met getallen in een database +DCOUNTA = DBAANTALC ## Telt de niet-lege cellen in een database +DGET = DBLEZEN ## Retourneert één record dat voldoet aan de opgegeven criteria uit een database +DMAX = DBMAX ## Retourneert de maximumwaarde in de geselecteerde databasegegevens +DMIN = DBMIN ## Retourneert de minimumwaarde in de geselecteerde databasegegevens +DPRODUCT = DBPRODUCT ## Vermenigvuldigt de waarden in een bepaald veld van de records die voldoen aan de criteria in een database +DSTDEV = DBSTDEV ## Maakt een schatting van de standaarddeviatie op basis van een steekproef uit geselecteerde databasegegevens +DSTDEVP = DBSTDEVP ## Berekent de standaarddeviatie op basis van de volledige populatie van geselecteerde databasegegevens +DSUM = DBSOM ## Telt de getallen uit een kolom records in de database op die voldoen aan de criteria +DVAR = DBVAR ## Maakt een schatting van de variantie op basis van een steekproef uit geselecteerde databasegegevens +DVARP = DBVARP ## Berekent de variantie op basis van de volledige populatie van geselecteerde databasegegevens + + +## +## Date and time functions Datum- en tijdfuncties +## +DATE = DATUM ## Geeft als resultaat het seriële getal van een opgegeven datum +DATEVALUE = DATUMWAARDE ## Converteert een datum in de vorm van tekst naar een serieel getal +DAY = DAG ## Converteert een serieel getal naar een dag van de maand +DAYS360 = DAGEN360 ## Berekent het aantal dagen tussen twee datums op basis van een jaar met 360 dagen +EDATE = ZELFDE.DAG ## Geeft als resultaat het seriële getal van een datum die het opgegeven aantal maanden voor of na de begindatum ligt +EOMONTH = LAATSTE.DAG ## Geeft als resultaat het seriële getal van de laatste dag van de maand voor of na het opgegeven aantal maanden +HOUR = UUR ## Converteert een serieel getal naar uren +MINUTE = MINUUT ## Converteert een serieel naar getal minuten +MONTH = MAAND ## Converteert een serieel getal naar een maand +NETWORKDAYS = NETTO.WERKDAGEN ## Geeft als resultaat het aantal hele werkdagen tussen twee datums +NOW = NU ## Geeft als resultaat het seriële getal van de huidige datum en tijd +SECOND = SECONDE ## Converteert een serieel getal naar seconden +TIME = TIJD ## Geeft als resultaat het seriële getal van een bepaald tijdstip +TIMEVALUE = TIJDWAARDE ## Converteert de tijd in de vorm van tekst naar een serieel getal +TODAY = VANDAAG ## Geeft als resultaat het seriële getal van de huidige datum +WEEKDAY = WEEKDAG ## Converteert een serieel getal naar een weekdag +WEEKNUM = WEEKNUMMER ## Converteert een serieel getal naar een weeknummer +WORKDAY = WERKDAG ## Geeft als resultaat het seriële getal van de datum voor of na een bepaald aantal werkdagen +YEAR = JAAR ## Converteert een serieel getal naar een jaar +YEARFRAC = JAAR.DEEL ## Geeft als resultaat het gedeelte van het jaar, uitgedrukt in het aantal hele dagen tussen begindatum en einddatum + + +## +## Engineering functions Technische functies +## +BESSELI = BESSEL.Y ## Geeft als resultaat de gewijzigde Bessel-functie In(x) +BESSELJ = BESSEL.J ## Geeft als resultaat de Bessel-functie Jn(x) +BESSELK = BESSEL.K ## Geeft als resultaat de gewijzigde Bessel-functie Kn(x) +BESSELY = BESSEL.Y ## Geeft als resultaat de gewijzigde Bessel-functie Yn(x) +BIN2DEC = BIN.N.DEC ## Converteert een binair getal naar een decimaal getal +BIN2HEX = BIN.N.HEX ## Converteert een binair getal naar een hexadecimaal getal +BIN2OCT = BIN.N.OCT ## Converteert een binair getal naar een octaal getal +COMPLEX = COMPLEX ## Converteert reële en imaginaire coëfficiënten naar een complex getal +CONVERT = CONVERTEREN ## Converteert een getal in de ene maateenheid naar een getal in een andere maateenheid +DEC2BIN = DEC.N.BIN ## Converteert een decimaal getal naar een binair getal +DEC2HEX = DEC.N.HEX ## Converteert een decimaal getal naar een hexadecimaal getal +DEC2OCT = DEC.N.OCT ## Converteert een decimaal getal naar een octaal getal +DELTA = DELTA ## Test of twee waarden gelijk zijn +ERF = FOUTFUNCTIE ## Geeft als resultaat de foutfunctie +ERFC = FOUT.COMPLEMENT ## Geeft als resultaat de complementaire foutfunctie +GESTEP = GROTER.DAN ## Test of een getal groter is dan de drempelwaarde +HEX2BIN = HEX.N.BIN ## Converteert een hexadecimaal getal naar een binair getal +HEX2DEC = HEX.N.DEC ## Converteert een hexadecimaal getal naar een decimaal getal +HEX2OCT = HEX.N.OCT ## Converteert een hexadecimaal getal naar een octaal getal +IMABS = C.ABS ## Geeft als resultaat de absolute waarde (modulus) van een complex getal +IMAGINARY = C.IM.DEEL ## Geeft als resultaat de imaginaire coëfficiënt van een complex getal +IMARGUMENT = C.ARGUMENT ## Geeft als resultaat het argument thèta, een hoek uitgedrukt in radialen +IMCONJUGATE = C.TOEGEVOEGD ## Geeft als resultaat het complexe toegevoegde getal van een complex getal +IMCOS = C.COS ## Geeft als resultaat de cosinus van een complex getal +IMDIV = C.QUOTIENT ## Geeft als resultaat het quotiënt van twee complexe getallen +IMEXP = C.EXP ## Geeft als resultaat de exponent van een complex getal +IMLN = C.LN ## Geeft als resultaat de natuurlijke logaritme van een complex getal +IMLOG10 = C.LOG10 ## Geeft als resultaat de logaritme met grondtal 10 van een complex getal +IMLOG2 = C.LOG2 ## Geeft als resultaat de logaritme met grondtal 2 van een complex getal +IMPOWER = C.MACHT ## Geeft als resultaat een complex getal dat is verheven tot de macht van een geheel getal +IMPRODUCT = C.PRODUCT ## Geeft als resultaat het product van complexe getallen +IMREAL = C.REEEL.DEEL ## Geeft als resultaat de reële coëfficiënt van een complex getal +IMSIN = C.SIN ## Geeft als resultaat de sinus van een complex getal +IMSQRT = C.WORTEL ## Geeft als resultaat de vierkantswortel van een complex getal +IMSUB = C.VERSCHIL ## Geeft als resultaat het verschil tussen twee complexe getallen +IMSUM = C.SOM ## Geeft als resultaat de som van complexe getallen +OCT2BIN = OCT.N.BIN ## Converteert een octaal getal naar een binair getal +OCT2DEC = OCT.N.DEC ## Converteert een octaal getal naar een decimaal getal +OCT2HEX = OCT.N.HEX ## Converteert een octaal getal naar een hexadecimaal getal + + +## +## Financial functions Financiële functies +## +ACCRINT = SAMENG.RENTE ## Berekent de opgelopen rente voor een waardepapier waarvan de rente periodiek wordt uitgekeerd +ACCRINTM = SAMENG.RENTE.V ## Berekent de opgelopen rente voor een waardepapier waarvan de rente op de vervaldatum wordt uitgekeerd +AMORDEGRC = AMORDEGRC ## Geeft als resultaat de afschrijving voor elke boekingsperiode door een afschrijvingscoëfficiënt toe te passen +AMORLINC = AMORLINC ## Berekent de afschrijving voor elke boekingsperiode +COUPDAYBS = COUP.DAGEN.BB ## Berekent het aantal dagen vanaf het begin van de coupontermijn tot de stortingsdatum +COUPDAYS = COUP.DAGEN ## Geeft als resultaat het aantal dagen in de coupontermijn waarin de stortingsdatum valt +COUPDAYSNC = COUP.DAGEN.VV ## Geeft als resultaat het aantal dagen vanaf de stortingsdatum tot de volgende couponvervaldatum +COUPNCD = COUP.DATUM.NB ## Geeft als resultaat de volgende coupondatum na de stortingsdatum +COUPNUM = COUP.AANTAL ## Geeft als resultaat het aantal coupons dat nog moet worden uitbetaald tussen de stortingsdatum en de vervaldatum +COUPPCD = COUP.DATUM.VB ## Geeft als resultaat de vorige couponvervaldatum vóór de stortingsdatum +CUMIPMT = CUM.RENTE ## Geeft als resultaat de cumulatieve rente die tussen twee termijnen is uitgekeerd +CUMPRINC = CUM.HOOFDSOM ## Geeft als resultaat de cumulatieve hoofdsom van een lening die tussen twee termijnen is terugbetaald +DB = DB ## Geeft als resultaat de afschrijving van activa voor een bepaalde periode met behulp van de 'fixed declining balance'-methode +DDB = DDB ## Geeft als resultaat de afschrijving van activa over een bepaalde termijn met behulp van de 'double declining balance'-methode of een andere methode die u opgeeft +DISC = DISCONTO ## Geeft als resultaat het discontopercentage voor een waardepapier +DOLLARDE = EURO.DE ## Converteert een prijs in euro's, uitgedrukt in een breuk, naar een prijs in euro's, uitgedrukt in een decimaal getal +DOLLARFR = EURO.BR ## Converteert een prijs in euro's, uitgedrukt in een decimaal getal, naar een prijs in euro's, uitgedrukt in een breuk +DURATION = DUUR ## Geeft als resultaat de gewogen gemiddelde looptijd voor een waardepapier met periodieke rentebetalingen +EFFECT = EFFECT.RENTE ## Geeft als resultaat het effectieve jaarlijkse rentepercentage +FV = TW ## Geeft als resultaat de toekomstige waarde van een investering +FVSCHEDULE = TOEK.WAARDE2 ## Geeft als resultaat de toekomstige waarde van een bepaalde hoofdsom na het toepassen van een reeks samengestelde rentepercentages +INTRATE = RENTEPERCENTAGE ## Geeft als resultaat het rentepercentage voor een volgestort waardepapier +IPMT = IBET ## Geeft als resultaat de te betalen rente voor een investering over een bepaalde termijn +IRR = IR ## Geeft als resultaat de interne rentabiliteit voor een reeks cashflows +ISPMT = ISBET ## Geeft als resultaat de rente die is betaald tijdens een bepaalde termijn van een investering +MDURATION = AANG.DUUR ## Geeft als resultaat de aangepaste Macauley-looptijd voor een waardepapier, aangenomen dat de nominale waarde € 100 bedraagt +MIRR = GIR ## Geeft als resultaat de interne rentabiliteit voor een serie cashflows, waarbij voor betalingen een ander rentepercentage geldt dan voor inkomsten +NOMINAL = NOMINALE.RENTE ## Geeft als resultaat het nominale jaarlijkse rentepercentage +NPER = NPER ## Geeft als resultaat het aantal termijnen van een investering +NPV = NHW ## Geeft als resultaat de netto huidige waarde van een investering op basis van een reeks periodieke cashflows en een discontopercentage +ODDFPRICE = AFW.ET.PRIJS ## Geeft als resultaat de prijs per € 100 nominale waarde voor een waardepapier met een afwijkende eerste termijn +ODDFYIELD = AFW.ET.REND ## Geeft als resultaat het rendement voor een waardepapier met een afwijkende eerste termijn +ODDLPRICE = AFW.LT.PRIJS ## Geeft als resultaat de prijs per € 100 nominale waarde voor een waardepapier met een afwijkende laatste termijn +ODDLYIELD = AFW.LT.REND ## Geeft als resultaat het rendement voor een waardepapier met een afwijkende laatste termijn +PMT = BET ## Geeft als resultaat de periodieke betaling voor een annuïteit +PPMT = PBET ## Geeft als resultaat de afbetaling op de hoofdsom voor een bepaalde termijn +PRICE = PRIJS.NOM ## Geeft als resultaat de prijs per € 100 nominale waarde voor een waardepapier waarvan de rente periodiek wordt uitgekeerd +PRICEDISC = PRIJS.DISCONTO ## Geeft als resultaat de prijs per € 100 nominale waarde voor een verdisconteerd waardepapier +PRICEMAT = PRIJS.VERVALDAG ## Geeft als resultaat de prijs per € 100 nominale waarde voor een waardepapier waarvan de rente wordt uitgekeerd op de vervaldatum +PV = HW ## Geeft als resultaat de huidige waarde van een investering +RATE = RENTE ## Geeft als resultaat het periodieke rentepercentage voor een annuïteit +RECEIVED = OPBRENGST ## Geeft als resultaat het bedrag dat op de vervaldatum wordt uitgekeerd voor een volgestort waardepapier +SLN = LIN.AFSCHR ## Geeft als resultaat de lineaire afschrijving van activa over één termijn +SYD = SYD ## Geeft als resultaat de afschrijving van activa over een bepaalde termijn met behulp van de 'Sum-Of-Years-Digits'-methode +TBILLEQ = SCHATK.OBL ## Geeft als resultaat het rendement op schatkistpapier, dat op dezelfde manier wordt berekend als het rendement op obligaties +TBILLPRICE = SCHATK.PRIJS ## Bepaalt de prijs per € 100 nominale waarde voor schatkistpapier +TBILLYIELD = SCHATK.REND ## Berekent het rendement voor schatkistpapier +VDB = VDB ## Geeft als resultaat de afschrijving van activa over een gehele of gedeeltelijke termijn met behulp van de 'declining balance'-methode +XIRR = IR.SCHEMA ## Berekent de interne rentabiliteit voor een betalingsschema van cashflows +XNPV = NHW2 ## Berekent de huidige nettowaarde voor een betalingsschema van cashflows +YIELD = RENDEMENT ## Geeft als resultaat het rendement voor een waardepapier waarvan de rente periodiek wordt uitgekeerd +YIELDDISC = REND.DISCONTO ## Geeft als resultaat het jaarlijkse rendement voor een verdisconteerd waardepapier, bijvoorbeeld schatkistpapier +YIELDMAT = REND.VERVAL ## Geeft als resultaat het jaarlijkse rendement voor een waardepapier waarvan de rente wordt uitgekeerd op de vervaldatum + + +## +## Information functions Informatiefuncties +## +CELL = CEL ## Geeft als resultaat informatie over de opmaak, locatie of inhoud van een cel +ERROR.TYPE = TYPE.FOUT ## Geeft als resultaat een getal dat overeenkomt met een van de foutwaarden van Microsoft Excel +INFO = INFO ## Geeft als resultaat informatie over de huidige besturingsomgeving +ISBLANK = ISLEEG ## Geeft als resultaat WAAR als de waarde leeg is +ISERR = ISFOUT2 ## Geeft als resultaat WAAR als de waarde een foutwaarde is, met uitzondering van #N/B +ISERROR = ISFOUT ## Geeft als resultaat WAAR als de waarde een foutwaarde is +ISEVEN = IS.EVEN ## Geeft als resultaat WAAR als het getal even is +ISLOGICAL = ISLOGISCH ## Geeft als resultaat WAAR als de waarde een logische waarde is +ISNA = ISNB ## Geeft als resultaat WAAR als de waarde de foutwaarde #N/B is +ISNONTEXT = ISGEENTEKST ## Geeft als resultaat WAAR als de waarde geen tekst is +ISNUMBER = ISGETAL ## Geeft als resultaat WAAR als de waarde een getal is +ISODD = IS.ONEVEN ## Geeft als resultaat WAAR als het getal oneven is +ISREF = ISVERWIJZING ## Geeft als resultaat WAAR als de waarde een verwijzing is +ISTEXT = ISTEKST ## Geeft als resultaat WAAR als de waarde tekst is +N = N ## Geeft als resultaat een waarde die is geconverteerd naar een getal +NA = NB ## Geeft als resultaat de foutwaarde #N/B +TYPE = TYPE ## Geeft als resultaat een getal dat het gegevenstype van een waarde aangeeft + + +## +## Logical functions Logische functies +## +AND = EN ## Geeft als resultaat WAAR als alle argumenten WAAR zijn +FALSE = ONWAAR ## Geeft als resultaat de logische waarde ONWAAR +IF = ALS ## Geeft een logische test aan +IFERROR = ALS.FOUT ## Retourneert een waarde die u opgeeft als een formule een fout oplevert, anders wordt het resultaat van de formule geretourneerd +NOT = NIET ## Keert de logische waarde van het argument om +OR = OF ## Geeft als resultaat WAAR als minimaal een van de argumenten WAAR is +TRUE = WAAR ## Geeft als resultaat de logische waarde WAAR + + +## +## Lookup and reference functions Zoek- en verwijzingsfuncties +## +ADDRESS = ADRES ## Geeft als resultaat een verwijzing, in de vorm van tekst, naar één bepaalde cel in een werkblad +AREAS = BEREIKEN ## Geeft als resultaat het aantal bereiken in een verwijzing +CHOOSE = KIEZEN ## Kiest een waarde uit een lijst met waarden +COLUMN = KOLOM ## Geeft als resultaat het kolomnummer van een verwijzing +COLUMNS = KOLOMMEN ## Geeft als resultaat het aantal kolommen in een verwijzing +HLOOKUP = HORIZ.ZOEKEN ## Zoekt in de bovenste rij van een matrix naar een bepaalde waarde en geeft als resultaat de gevonden waarde in de opgegeven cel +HYPERLINK = HYPERLINK ## Maakt een snelkoppeling of een sprong waarmee een document wordt geopend dat is opgeslagen op een netwerkserver, een intranet of op internet +INDEX = INDEX ## Kiest met een index een waarde uit een verwijzing of een matrix +INDIRECT = INDIRECT ## Geeft als resultaat een verwijzing die wordt aangegeven met een tekstwaarde +LOOKUP = ZOEKEN ## Zoekt naar bepaalde waarden in een vector of een matrix +MATCH = VERGELIJKEN ## Zoekt naar bepaalde waarden in een verwijzing of een matrix +OFFSET = VERSCHUIVING ## Geeft als resultaat een nieuwe verwijzing die is verschoven ten opzichte van een bepaalde verwijzing +ROW = RIJ ## Geeft als resultaat het rijnummer van een verwijzing +ROWS = RIJEN ## Geeft als resultaat het aantal rijen in een verwijzing +RTD = RTG ## Haalt realtimegegevens op uit een programma dat COM-automatisering (automatisering: een methode waarmee de ene toepassing objecten van een andere toepassing of ontwikkelprogramma kan besturen. Automatisering werd vroeger OLE-automatisering genoemd. Automatisering is een industrienorm die deel uitmaakt van het Component Object Model (COM).) ondersteunt +TRANSPOSE = TRANSPONEREN ## Geeft als resultaat de getransponeerde van een matrix +VLOOKUP = VERT.ZOEKEN ## Zoekt in de meest linkse kolom van een matrix naar een bepaalde waarde en geeft als resultaat de waarde in de opgegeven cel + + +## +## Math and trigonometry functions Wiskundige en trigonometrische functies +## +ABS = ABS ## Geeft als resultaat de absolute waarde van een getal +ACOS = BOOGCOS ## Geeft als resultaat de boogcosinus van een getal +ACOSH = BOOGCOSH ## Geeft als resultaat de inverse cosinus hyperbolicus van een getal +ASIN = BOOGSIN ## Geeft als resultaat de boogsinus van een getal +ASINH = BOOGSINH ## Geeft als resultaat de inverse sinus hyperbolicus van een getal +ATAN = BOOGTAN ## Geeft als resultaat de boogtangens van een getal +ATAN2 = BOOGTAN2 ## Geeft als resultaat de boogtangens van de x- en y-coördinaten +ATANH = BOOGTANH ## Geeft als resultaat de inverse tangens hyperbolicus van een getal +CEILING = AFRONDEN.BOVEN ## Rondt de absolute waarde van een getal naar boven af op het dichtstbijzijnde gehele getal of het dichtstbijzijnde significante veelvoud +COMBIN = COMBINATIES ## Geeft als resultaat het aantal combinaties voor een bepaald aantal objecten +COS = COS ## Geeft als resultaat de cosinus van een getal +COSH = COSH ## Geeft als resultaat de cosinus hyperbolicus van een getal +DEGREES = GRADEN ## Converteert radialen naar graden +EVEN = EVEN ## Rondt het getal af op het dichtstbijzijnde gehele even getal +EXP = EXP ## Verheft e tot de macht van een bepaald getal +FACT = FACULTEIT ## Geeft als resultaat de faculteit van een getal +FACTDOUBLE = DUBBELE.FACULTEIT ## Geeft als resultaat de dubbele faculteit van een getal +FLOOR = AFRONDEN.BENEDEN ## Rondt de absolute waarde van een getal naar beneden af +GCD = GGD ## Geeft als resultaat de grootste gemene deler +INT = INTEGER ## Rondt een getal naar beneden af op het dichtstbijzijnde gehele getal +LCM = KGV ## Geeft als resultaat het kleinste gemene veelvoud +LN = LN ## Geeft als resultaat de natuurlijke logaritme van een getal +LOG = LOG ## Geeft als resultaat de logaritme met het opgegeven grondtal van een getal +LOG10 = LOG10 ## Geeft als resultaat de logaritme met grondtal 10 van een getal +MDETERM = DETERMINANTMAT ## Geeft als resultaat de determinant van een matrix +MINVERSE = INVERSEMAT ## Geeft als resultaat de inverse van een matrix +MMULT = PRODUCTMAT ## Geeft als resultaat het product van twee matrices +MOD = REST ## Geeft als resultaat het restgetal van een deling +MROUND = AFRONDEN.N.VEELVOUD ## Geeft als resultaat een getal afgerond op het gewenste veelvoud +MULTINOMIAL = MULTINOMIAAL ## Geeft als resultaat de multinomiaalcoëfficiënt van een reeks getallen +ODD = ONEVEN ## Rondt de absolute waarde van het getal naar boven af op het dichtstbijzijnde gehele oneven getal +PI = PI ## Geeft als resultaat de waarde van pi +POWER = MACHT ## Verheft een getal tot een macht +PRODUCT = PRODUCT ## Vermenigvuldigt de argumenten met elkaar +QUOTIENT = QUOTIENT ## Geeft als resultaat de uitkomst van een deling als geheel getal +RADIANS = RADIALEN ## Converteert graden naar radialen +RAND = ASELECT ## Geeft als resultaat een willekeurig getal tussen 0 en 1 +RANDBETWEEN = ASELECTTUSSEN ## Geeft een willekeurig getal tussen de getallen die u hebt opgegeven +ROMAN = ROMEINS ## Converteert een Arabisch getal naar een Romeins getal en geeft het resultaat weer in de vorm van tekst +ROUND = AFRONDEN ## Rondt een getal af op het opgegeven aantal decimalen +ROUNDDOWN = AFRONDEN.NAAR.BENEDEN ## Rondt de absolute waarde van een getal naar beneden af +ROUNDUP = AFRONDEN.NAAR.BOVEN ## Rondt de absolute waarde van een getal naar boven af +SERIESSUM = SOM.MACHTREEKS ## Geeft als resultaat de som van een machtreeks die is gebaseerd op de formule +SIGN = POS.NEG ## Geeft als resultaat het teken van een getal +SIN = SIN ## Geeft als resultaat de sinus van de opgegeven hoek +SINH = SINH ## Geeft als resultaat de sinus hyperbolicus van een getal +SQRT = WORTEL ## Geeft als resultaat de positieve vierkantswortel van een getal +SQRTPI = WORTEL.PI ## Geeft als resultaat de vierkantswortel van (getal * pi) +SUBTOTAL = SUBTOTAAL ## Geeft als resultaat een subtotaal voor een bereik +SUM = SOM ## Telt de argumenten op +SUMIF = SOM.ALS ## Telt de getallen bij elkaar op die voldoen aan een bepaald criterium +SUMIFS = SOMMEN.ALS ## Telt de cellen in een bereik op die aan meerdere criteria voldoen +SUMPRODUCT = SOMPRODUCT ## Geeft als resultaat de som van de producten van de corresponderende matrixelementen +SUMSQ = KWADRATENSOM ## Geeft als resultaat de som van de kwadraten van de argumenten +SUMX2MY2 = SOM.X2MINY2 ## Geeft als resultaat de som van het verschil tussen de kwadraten van corresponderende waarden in twee matrices +SUMX2PY2 = SOM.X2PLUSY2 ## Geeft als resultaat de som van de kwadratensom van corresponderende waarden in twee matrices +SUMXMY2 = SOM.XMINY.2 ## Geeft als resultaat de som van de kwadraten van de verschillen tussen de corresponderende waarden in twee matrices +TAN = TAN ## Geeft als resultaat de tangens van een getal +TANH = TANH ## Geeft als resultaat de tangens hyperbolicus van een getal +TRUNC = GEHEEL ## Kapt een getal af tot een geheel getal + + +## +## Statistical functions Statistische functies +## +AVEDEV = GEM.DEVIATIE ## Geeft als resultaat het gemiddelde van de absolute deviaties van gegevenspunten ten opzichte van hun gemiddelde waarde +AVERAGE = GEMIDDELDE ## Geeft als resultaat het gemiddelde van de argumenten +AVERAGEA = GEMIDDELDEA ## Geeft als resultaat het gemiddelde van de argumenten, inclusief getallen, tekst en logische waarden +AVERAGEIF = GEMIDDELDE.ALS ## Geeft het gemiddelde (rekenkundig gemiddelde) als resultaat van alle cellen in een bereik die voldoen aan de opgegeven criteria +AVERAGEIFS = GEMIDDELDEN.ALS ## Geeft het gemiddelde (rekenkundig gemiddelde) als resultaat van alle cellen die aan meerdere criteria voldoen +BETADIST = BETA.VERD ## Geeft als resultaat de cumulatieve bèta-verdelingsfunctie +BETAINV = BETA.INV ## Geeft als resultaat de inverse van de cumulatieve verdelingsfunctie voor een gegeven bèta-verdeling +BINOMDIST = BINOMIALE.VERD ## Geeft als resultaat de binomiale verdeling +CHIDIST = CHI.KWADRAAT ## Geeft als resultaat de eenzijdige kans van de chi-kwadraatverdeling +CHIINV = CHI.KWADRAAT.INV ## Geeft als resultaat de inverse van een eenzijdige kans van de chi-kwadraatverdeling +CHITEST = CHI.TOETS ## Geeft als resultaat de onafhankelijkheidstoets +CONFIDENCE = BETROUWBAARHEID ## Geeft als resultaat het betrouwbaarheidsinterval van een gemiddelde waarde voor de elementen van een populatie +CORREL = CORRELATIE ## Geeft als resultaat de correlatiecoëfficiënt van twee gegevensverzamelingen +COUNT = AANTAL ## Telt het aantal getallen in de argumentenlijst +COUNTA = AANTALARG ## Telt het aantal waarden in de argumentenlijst +COUNTBLANK = AANTAL.LEGE.CELLEN ## Telt het aantal lege cellen in een bereik +COUNTIF = AANTAL.ALS ## Telt in een bereik het aantal cellen die voldoen aan een bepaald criterium +COUNTIFS = AANTALLEN.ALS ## Telt in een bereik het aantal cellen die voldoen aan meerdere criteria +COVAR = COVARIANTIE ## Geeft als resultaat de covariantie, het gemiddelde van de producten van de gepaarde deviaties +CRITBINOM = CRIT.BINOM ## Geeft als resultaat de kleinste waarde waarvoor de binomiale verdeling kleiner is dan of gelijk is aan het criterium +DEVSQ = DEV.KWAD ## Geeft als resultaat de som van de deviaties in het kwadraat +EXPONDIST = EXPON.VERD ## Geeft als resultaat de exponentiële verdeling +FDIST = F.VERDELING ## Geeft als resultaat de F-verdeling +FINV = F.INVERSE ## Geeft als resultaat de inverse van de F-verdeling +FISHER = FISHER ## Geeft als resultaat de Fisher-transformatie +FISHERINV = FISHER.INV ## Geeft als resultaat de inverse van de Fisher-transformatie +FORECAST = VOORSPELLEN ## Geeft als resultaat een waarde op basis van een lineaire trend +FREQUENCY = FREQUENTIE ## Geeft als resultaat een frequentieverdeling in de vorm van een verticale matrix +FTEST = F.TOETS ## Geeft als resultaat een F-toets +GAMMADIST = GAMMA.VERD ## Geeft als resultaat de gamma-verdeling +GAMMAINV = GAMMA.INV ## Geeft als resultaat de inverse van de cumulatieve gamma-verdeling +GAMMALN = GAMMA.LN ## Geeft als resultaat de natuurlijke logaritme van de gamma-functie, G(x) +GEOMEAN = MEETK.GEM ## Geeft als resultaat het meetkundige gemiddelde +GROWTH = GROEI ## Geeft als resultaat de waarden voor een exponentiële trend +HARMEAN = HARM.GEM ## Geeft als resultaat het harmonische gemiddelde +HYPGEOMDIST = HYPERGEO.VERD ## Geeft als resultaat de hypergeometrische verdeling +INTERCEPT = SNIJPUNT ## Geeft als resultaat het snijpunt van de lineaire regressielijn met de y-as +KURT = KURTOSIS ## Geeft als resultaat de kurtosis van een gegevensverzameling +LARGE = GROOTSTE ## Geeft als resultaat de op k-1 na grootste waarde in een gegevensverzameling +LINEST = LIJNSCH ## Geeft als resultaat de parameters van een lineaire trend +LOGEST = LOGSCH ## Geeft als resultaat de parameters van een exponentiële trend +LOGINV = LOG.NORM.INV ## Geeft als resultaat de inverse van de logaritmische normale verdeling +LOGNORMDIST = LOG.NORM.VERD ## Geeft als resultaat de cumulatieve logaritmische normale verdeling +MAX = MAX ## Geeft als resultaat de maximumwaarde in een lijst met argumenten +MAXA = MAXA ## Geeft als resultaat de maximumwaarde in een lijst met argumenten, inclusief getallen, tekst en logische waarden +MEDIAN = MEDIAAN ## Geeft als resultaat de mediaan van de opgegeven getallen +MIN = MIN ## Geeft als resultaat de minimumwaarde in een lijst met argumenten +MINA = MINA ## Geeft als resultaat de minimumwaarde in een lijst met argumenten, inclusief getallen, tekst en logische waarden +MODE = MODUS ## Geeft als resultaat de meest voorkomende waarde in een gegevensverzameling +NEGBINOMDIST = NEG.BINOM.VERD ## Geeft als resultaat de negatieve binomiaalverdeling +NORMDIST = NORM.VERD ## Geeft als resultaat de cumulatieve normale verdeling +NORMINV = NORM.INV ## Geeft als resultaat de inverse van de cumulatieve standaardnormale verdeling +NORMSDIST = STAND.NORM.VERD ## Geeft als resultaat de cumulatieve standaardnormale verdeling +NORMSINV = STAND.NORM.INV ## Geeft als resultaat de inverse van de cumulatieve normale verdeling +PEARSON = PEARSON ## Geeft als resultaat de correlatiecoëfficiënt van Pearson +PERCENTILE = PERCENTIEL ## Geeft als resultaat het k-de percentiel van waarden in een bereik +PERCENTRANK = PERCENT.RANG ## Geeft als resultaat de positie, in procenten uitgedrukt, van een waarde in de rangorde van een gegevensverzameling +PERMUT = PERMUTATIES ## Geeft als resultaat het aantal permutaties voor een gegeven aantal objecten +POISSON = POISSON ## Geeft als resultaat de Poisson-verdeling +PROB = KANS ## Geeft als resultaat de kans dat waarden zich tussen twee grenzen bevinden +QUARTILE = KWARTIEL ## Geeft als resultaat het kwartiel van een gegevensverzameling +RANK = RANG ## Geeft als resultaat het rangnummer van een getal in een lijst getallen +RSQ = R.KWADRAAT ## Geeft als resultaat het kwadraat van de Pearson-correlatiecoëfficiënt +SKEW = SCHEEFHEID ## Geeft als resultaat de mate van asymmetrie van een verdeling +SLOPE = RICHTING ## Geeft als resultaat de richtingscoëfficiënt van een lineaire regressielijn +SMALL = KLEINSTE ## Geeft als resultaat de op k-1 na kleinste waarde in een gegevensverzameling +STANDARDIZE = NORMALISEREN ## Geeft als resultaat een genormaliseerde waarde +STDEV = STDEV ## Maakt een schatting van de standaarddeviatie op basis van een steekproef +STDEVA = STDEVA ## Maakt een schatting van de standaarddeviatie op basis van een steekproef, inclusief getallen, tekst en logische waarden +STDEVP = STDEVP ## Berekent de standaarddeviatie op basis van de volledige populatie +STDEVPA = STDEVPA ## Berekent de standaarddeviatie op basis van de volledige populatie, inclusief getallen, tekst en logische waarden +STEYX = STAND.FOUT.YX ## Geeft als resultaat de standaardfout in de voorspelde y-waarde voor elke x in een regressie +TDIST = T.VERD ## Geeft als resultaat de Student T-verdeling +TINV = T.INV ## Geeft als resultaat de inverse van de Student T-verdeling +TREND = TREND ## Geeft als resultaat de waarden voor een lineaire trend +TRIMMEAN = GETRIMD.GEM ## Geeft als resultaat het gemiddelde van waarden in een gegevensverzameling +TTEST = T.TOETS ## Geeft als resultaat de kans met behulp van de Student T-toets +VAR = VAR ## Maakt een schatting van de variantie op basis van een steekproef +VARA = VARA ## Maakt een schatting van de variantie op basis van een steekproef, inclusief getallen, tekst en logische waarden +VARP = VARP ## Berekent de variantie op basis van de volledige populatie +VARPA = VARPA ## Berekent de standaarddeviatie op basis van de volledige populatie, inclusief getallen, tekst en logische waarden +WEIBULL = WEIBULL ## Geeft als resultaat de Weibull-verdeling +ZTEST = Z.TOETS ## Geeft als resultaat de eenzijdige kanswaarde van een Z-toets + + +## +## Text functions Tekstfuncties +## +ASC = ASC ## Wijzigt Nederlandse letters of katakanatekens over de volle breedte (dubbel-bytetekens) binnen een tekenreeks in tekens over de halve breedte (enkel-bytetekens) +BAHTTEXT = BAHT.TEKST ## Converteert een getal naar tekst met de valutanotatie ß (baht) +CHAR = TEKEN ## Geeft als resultaat het teken dat hoort bij de opgegeven code +CLEAN = WISSEN.CONTROL ## Verwijdert alle niet-afdrukbare tekens uit een tekst +CODE = CODE ## Geeft als resultaat de numerieke code voor het eerste teken in een tekenreeks +CONCATENATE = TEKST.SAMENVOEGEN ## Voegt verschillende tekstfragmenten samen tot één tekstfragment +DOLLAR = EURO ## Converteert een getal naar tekst met de valutanotatie € (euro) +EXACT = GELIJK ## Controleert of twee tekenreeksen identiek zijn +FIND = VIND.ALLES ## Zoekt een bepaalde tekenreeks in een tekst (waarbij onderscheid wordt gemaakt tussen hoofdletters en kleine letters) +FINDB = VIND.ALLES.B ## Zoekt een bepaalde tekenreeks in een tekst (waarbij onderscheid wordt gemaakt tussen hoofdletters en kleine letters) +FIXED = VAST ## Maakt een getal als tekst met een vast aantal decimalen op +JIS = JIS ## Wijzigt Nederlandse letters of katakanatekens over de halve breedte (enkel-bytetekens) binnen een tekenreeks in tekens over de volle breedte (dubbel-bytetekens) +LEFT = LINKS ## Geeft als resultaat de meest linkse tekens in een tekenreeks +LEFTB = LINKSB ## Geeft als resultaat de meest linkse tekens in een tekenreeks +LEN = LENGTE ## Geeft als resultaat het aantal tekens in een tekenreeks +LENB = LENGTEB ## Geeft als resultaat het aantal tekens in een tekenreeks +LOWER = KLEINE.LETTERS ## Zet tekst om in kleine letters +MID = MIDDEN ## Geeft als resultaat een bepaald aantal tekens van een tekenreeks vanaf de positie die u opgeeft +MIDB = DEELB ## Geeft als resultaat een bepaald aantal tekens van een tekenreeks vanaf de positie die u opgeeft +PHONETIC = FONETISCH ## Haalt de fonetische tekens (furigana) uit een tekenreeks op +PROPER = BEGINLETTERS ## Zet de eerste letter van elk woord in een tekst om in een hoofdletter +REPLACE = VERVANG ## Vervangt tekens binnen een tekst +REPLACEB = VERVANGENB ## Vervangt tekens binnen een tekst +REPT = HERHALING ## Herhaalt een tekst een aantal malen +RIGHT = RECHTS ## Geeft als resultaat de meest rechtse tekens in een tekenreeks +RIGHTB = RECHTSB ## Geeft als resultaat de meest rechtse tekens in een tekenreeks +SEARCH = VIND.SPEC ## Zoekt een bepaalde tekenreeks in een tekst (waarbij geen onderscheid wordt gemaakt tussen hoofdletters en kleine letters) +SEARCHB = VIND.SPEC.B ## Zoekt een bepaalde tekenreeks in een tekst (waarbij geen onderscheid wordt gemaakt tussen hoofdletters en kleine letters) +SUBSTITUTE = SUBSTITUEREN ## Vervangt oude tekst door nieuwe tekst in een tekenreeks +T = T ## Converteert de argumenten naar tekst +TEXT = TEKST ## Maakt een getal op en converteert het getal naar tekst +TRIM = SPATIES.WISSEN ## Verwijdert de spaties uit een tekst +UPPER = HOOFDLETTERS ## Zet tekst om in hoofdletters +VALUE = WAARDE ## Converteert tekst naar een getal diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/locale/no/config b/vendor/phpoffice/phpexcel/Classes/PHPExcel/locale/no/config new file mode 100644 index 00000000..bf2d34a7 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/locale/no/config @@ -0,0 +1,47 @@ +## +## PHPExcel +## +## Copyright (c) 2006 - 2013 PHPExcel +## +## This library is free software; you can redistribute it and/or +## modify it under the terms of the GNU Lesser General Public +## License as published by the Free Software Foundation; either +## version 2.1 of the License, or (at your option) any later version. +## +## This library is distributed in the hope that it will be useful, +## but WITHOUT ANY WARRANTY; without even the implied warranty of +## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +## Lesser General Public License for more details. +## +## You should have received a copy of the GNU Lesser General Public +## License along with this library; if not, write to the Free Software +## Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +## +## @category PHPExcel +## @package PHPExcel_Settings +## @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel) +## @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL +## @version ##VERSION##, ##DATE## +## +## + + +ArgumentSeparator = ; + + +## +## (For future use) +## +currencySymbol = kr + + +## +## Excel Error Codes (For future use) +## +NULL = #NULL! +DIV0 = #DIV/0! +VALUE = #VERDI! +REF = #REF! +NAME = #NAVN? +NUM = #NUM! +NA = #I/T diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/locale/no/functions b/vendor/phpoffice/phpexcel/Classes/PHPExcel/locale/no/functions new file mode 100644 index 00000000..10d0a207 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/locale/no/functions @@ -0,0 +1,438 @@ +## +## PHPExcel +## +## Copyright (c) 2006 - 2013 PHPExcel +## +## This library is free software; you can redistribute it and/or +## modify it under the terms of the GNU Lesser General Public +## License as published by the Free Software Foundation; either +## version 2.1 of the License, or (at your option) any later version. +## +## This library is distributed in the hope that it will be useful, +## but WITHOUT ANY WARRANTY; without even the implied warranty of +## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +## Lesser General Public License for more details. +## +## You should have received a copy of the GNU Lesser General Public +## License along with this library; if not, write to the Free Software +## Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +## +## @category PHPExcel +## @package PHPExcel_Calculation +## @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel) +## @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL +## @version ##VERSION##, ##DATE## +## +## Data in this file derived from http://www.piuha.fi/excel-function-name-translation/ +## +## + + +## +## Add-in and Automation functions Funksjonene Tillegg og Automatisering +## +GETPIVOTDATA = HENTPIVOTDATA ## Returnerer data som er lagret i en pivottabellrapport + + +## +## Cube functions Kubefunksjoner +## +CUBEKPIMEMBER = KUBEKPIMEDLEM ## Returnerer navnet, egenskapen og målet for en viktig ytelsesindikator (KPI), og viser navnet og egenskapen i cellen. En KPI er en målbar enhet, for eksempel månedlig bruttoinntjening eller kvartalsvis inntjening per ansatt, og brukes til å overvåke ytelsen i en organisasjon. +CUBEMEMBER = KUBEMEDLEM ## Returnerer et medlem eller en tuppel i et kubehierarki. Brukes til å validere at medlemmet eller tuppelen finnes i kuben. +CUBEMEMBERPROPERTY = KUBEMEDLEMEGENSKAP ## Returnerer verdien til en medlemsegenskap i kuben. Brukes til å validere at et medlemsnavn finnes i kuben, og til å returnere den angitte egenskapen for dette medlemmet. +CUBERANKEDMEMBER = KUBERANGERTMEDLEM ## Returnerer det n-te, eller rangerte, medlemmet i et sett. Brukes til å returnere ett eller flere elementer i et sett, for eksempel de 10 beste studentene. +CUBESET = KUBESETT ## Definerer et beregnet sett av medlemmer eller tuppeler ved å sende et settuttrykk til kuben på serveren, noe som oppretter settet og deretter returnerer dette settet til Microsoft Office Excel. +CUBESETCOUNT = KUBESETTANTALL ## Returnerer antallet elementer i et sett. +CUBEVALUE = KUBEVERDI ## Returnerer en aggregert verdi fra en kube. + + +## +## Database functions Databasefunksjoner +## +DAVERAGE = DGJENNOMSNITT ## Returnerer gjennomsnittet av merkede databaseposter +DCOUNT = DANTALL ## Teller celler som inneholder tall i en database +DCOUNTA = DANTALLA ## Teller celler som ikke er tomme i en database +DGET = DHENT ## Trekker ut fra en database en post som oppfyller angitte vilkår +DMAX = DMAKS ## Returnerer maksimumsverdien fra merkede databaseposter +DMIN = DMIN ## Returnerer minimumsverdien fra merkede databaseposter +DPRODUCT = DPRODUKT ## Multipliserer verdiene i et bestemt felt med poster som oppfyller vilkårene i en database +DSTDEV = DSTDAV ## Estimerer standardavviket basert på et utvalg av merkede databaseposter +DSTDEVP = DSTAVP ## Beregner standardavviket basert på at merkede databaseposter utgjør hele populasjonen +DSUM = DSUMMER ## Legger til tallene i feltkolonnen med poster, i databasen som oppfyller vilkårene +DVAR = DVARIANS ## Estimerer variansen basert på et utvalg av merkede databaseposter +DVARP = DVARIANSP ## Beregner variansen basert på at merkede databaseposter utgjør hele populasjonen + + +## +## Date and time functions Dato- og tidsfunksjoner +## +DATE = DATO ## Returnerer serienummeret som svarer til en bestemt dato +DATEVALUE = DATOVERDI ## Konverterer en dato med tekstformat til et serienummer +DAY = DAG ## Konverterer et serienummer til en dag i måneden +DAYS360 = DAGER360 ## Beregner antall dager mellom to datoer basert på et år med 360 dager +EDATE = DAG.ETTER ## Returnerer serienummeret som svarer til datoen som er det indikerte antall måneder før eller etter startdatoen +EOMONTH = MÅNEDSSLUTT ## Returnerer serienummeret som svarer til siste dag i måneden, før eller etter et angitt antall måneder +HOUR = TIME ## Konverterer et serienummer til en time +MINUTE = MINUTT ## Konverterer et serienummer til et minutt +MONTH = MÅNED ## Konverterer et serienummer til en måned +NETWORKDAYS = NETT.ARBEIDSDAGER ## Returnerer antall hele arbeidsdager mellom to datoer +NOW = NÅ ## Returnerer serienummeret som svarer til gjeldende dato og klokkeslett +SECOND = SEKUND ## Konverterer et serienummer til et sekund +TIME = TID ## Returnerer serienummeret som svarer til et bestemt klokkeslett +TIMEVALUE = TIDSVERDI ## Konverterer et klokkeslett i tekstformat til et serienummer +TODAY = IDAG ## Returnerer serienummeret som svarer til dagens dato +WEEKDAY = UKEDAG ## Konverterer et serienummer til en ukedag +WEEKNUM = UKENR ## Konverterer et serienummer til et tall som representerer hvilket nummer uken har i et år +WORKDAY = ARBEIDSDAG ## Returnerer serienummeret som svarer til datoen før eller etter et angitt antall arbeidsdager +YEAR = ÅR ## Konverterer et serienummer til et år +YEARFRAC = ÅRDEL ## Returnerer brøkdelen for året, som svarer til antall hele dager mellom startdato og sluttdato + + +## +## Engineering functions Tekniske funksjoner +## +BESSELI = BESSELI ## Returnerer den endrede Bessel-funksjonen In(x) +BESSELJ = BESSELJ ## Returnerer Bessel-funksjonen Jn(x) +BESSELK = BESSELK ## Returnerer den endrede Bessel-funksjonen Kn(x) +BESSELY = BESSELY ## Returnerer Bessel-funksjonen Yn(x) +BIN2DEC = BINTILDES ## Konverterer et binært tall til et desimaltall +BIN2HEX = BINTILHEKS ## Konverterer et binært tall til et heksadesimaltall +BIN2OCT = BINTILOKT ## Konverterer et binært tall til et oktaltall +COMPLEX = KOMPLEKS ## Konverterer reelle og imaginære koeffisienter til et komplekst tall +CONVERT = KONVERTER ## Konverterer et tall fra ett målsystem til et annet +DEC2BIN = DESTILBIN ## Konverterer et desimaltall til et binærtall +DEC2HEX = DESTILHEKS ## Konverterer et heltall i 10-tallsystemet til et heksadesimalt tall +DEC2OCT = DESTILOKT ## Konverterer et heltall i 10-tallsystemet til et oktaltall +DELTA = DELTA ## Undersøker om to verdier er like +ERF = FEILF ## Returnerer feilfunksjonen +ERFC = FEILFK ## Returnerer den komplementære feilfunksjonen +GESTEP = GRENSEVERDI ## Tester om et tall er større enn en terskelverdi +HEX2BIN = HEKSTILBIN ## Konverterer et heksadesimaltall til et binært tall +HEX2DEC = HEKSTILDES ## Konverterer et heksadesimalt tall til et heltall i 10-tallsystemet +HEX2OCT = HEKSTILOKT ## Konverterer et heksadesimalt tall til et oktaltall +IMABS = IMABS ## Returnerer absoluttverdien (koeffisienten) til et komplekst tall +IMAGINARY = IMAGINÆR ## Returnerer den imaginære koeffisienten til et komplekst tall +IMARGUMENT = IMARGUMENT ## Returnerer argumentet theta, som er en vinkel uttrykt i radianer +IMCONJUGATE = IMKONJUGERT ## Returnerer den komplekse konjugaten til et komplekst tall +IMCOS = IMCOS ## Returnerer cosinus til et komplekst tall +IMDIV = IMDIV ## Returnerer kvotienten til to komplekse tall +IMEXP = IMEKSP ## Returnerer eksponenten til et komplekst tall +IMLN = IMLN ## Returnerer den naturlige logaritmen for et komplekst tall +IMLOG10 = IMLOG10 ## Returnerer logaritmen med grunntall 10 for et komplekst tall +IMLOG2 = IMLOG2 ## Returnerer logaritmen med grunntall 2 for et komplekst tall +IMPOWER = IMOPPHØY ## Returnerer et komplekst tall opphøyd til en heltallspotens +IMPRODUCT = IMPRODUKT ## Returnerer produktet av komplekse tall +IMREAL = IMREELL ## Returnerer den reelle koeffisienten til et komplekst tall +IMSIN = IMSIN ## Returnerer sinus til et komplekst tall +IMSQRT = IMROT ## Returnerer kvadratroten av et komplekst tall +IMSUB = IMSUB ## Returnerer differansen mellom to komplekse tall +IMSUM = IMSUMMER ## Returnerer summen av komplekse tall +OCT2BIN = OKTTILBIN ## Konverterer et oktaltall til et binært tall +OCT2DEC = OKTTILDES ## Konverterer et oktaltall til et desimaltall +OCT2HEX = OKTTILHEKS ## Konverterer et oktaltall til et heksadesimaltall + + +## +## Financial functions Økonomiske funksjoner +## +ACCRINT = PÅLØPT.PERIODISK.RENTE ## Returnerer påløpte renter for et verdipapir som betaler periodisk rente +ACCRINTM = PÅLØPT.FORFALLSRENTE ## Returnerer den påløpte renten for et verdipapir som betaler rente ved forfall +AMORDEGRC = AMORDEGRC ## Returnerer avskrivningen for hver regnskapsperiode ved hjelp av en avskrivingskoeffisient +AMORLINC = AMORLINC ## Returnerer avskrivingen for hver regnskapsperiode +COUPDAYBS = OBLIG.DAGER.FF ## Returnerer antall dager fra begynnelsen av den rentebærende perioden til innløsningsdatoen +COUPDAYS = OBLIG.DAGER ## Returnerer antall dager i den rentebærende perioden som inneholder innløsningsdatoen +COUPDAYSNC = OBLIG.DAGER.NF ## Returnerer antall dager fra betalingsdato til neste renteinnbetalingsdato +COUPNCD = OBLIG.DAGER.EF ## Returnerer obligasjonsdatoen som kommer etter oppgjørsdatoen +COUPNUM = OBLIG.ANTALL ## Returnerer antall obligasjoner som skal betales mellom oppgjørsdatoen og forfallsdatoen +COUPPCD = OBLIG.DAG.FORRIGE ## Returnerer obligasjonsdatoen som kommer før oppgjørsdatoen +CUMIPMT = SAMLET.RENTE ## Returnerer den kumulative renten som er betalt mellom to perioder +CUMPRINC = SAMLET.HOVEDSTOL ## Returnerer den kumulative hovedstolen som er betalt for et lån mellom to perioder +DB = DAVSKR ## Returnerer avskrivningen for et aktivum i en angitt periode, foretatt med fast degressiv avskrivning +DDB = DEGRAVS ## Returnerer avskrivningen for et aktivum for en gitt periode, ved hjelp av dobbel degressiv avskrivning eller en metode som du selv angir +DISC = DISKONTERT ## Returnerer diskonteringsraten for et verdipapir +DOLLARDE = DOLLARDE ## Konverterer en valutapris uttrykt som en brøk, til en valutapris uttrykt som et desimaltall +DOLLARFR = DOLLARBR ## Konverterer en valutapris uttrykt som et desimaltall, til en valutapris uttrykt som en brøk +DURATION = VARIGHET ## Returnerer årlig varighet for et verdipapir med renter som betales periodisk +EFFECT = EFFEKTIV.RENTE ## Returnerer den effektive årlige rentesatsen +FV = SLUTTVERDI ## Returnerer fremtidig verdi for en investering +FVSCHEDULE = SVPLAN ## Returnerer den fremtidige verdien av en inngående hovedstol etter å ha anvendt en serie med sammensatte rentesatser +INTRATE = RENTESATS ## Returnerer rentefoten av et fullfinansiert verdipapir +IPMT = RAVDRAG ## Returnerer betalte renter på en investering for en gitt periode +IRR = IR ## Returnerer internrenten for en serie kontantstrømmer +ISPMT = ER.AVDRAG ## Beregner renten som er betalt for en investering i løpet av en bestemt periode +MDURATION = MVARIGHET ## Returnerer Macauleys modifiserte varighet for et verdipapir med en antatt pålydende verdi på kr 100,00 +MIRR = MODIR ## Returnerer internrenten der positive og negative kontantstrømmer finansieres med forskjellige satser +NOMINAL = NOMINELL ## Returnerer årlig nominell rentesats +NPER = PERIODER ## Returnerer antall perioder for en investering +NPV = NNV ## Returnerer netto nåverdi for en investering, basert på en serie periodiske kontantstrømmer og en rentesats +ODDFPRICE = AVVIKFP.PRIS ## Returnerer pris pålydende kr 100 for et verdipapir med en odde første periode +ODDFYIELD = AVVIKFP.AVKASTNING ## Returnerer avkastingen for et verdipapir med en odde første periode +ODDLPRICE = AVVIKSP.PRIS ## Returnerer pris pålydende kr 100 for et verdipapir med en odde siste periode +ODDLYIELD = AVVIKSP.AVKASTNING ## Returnerer avkastingen for et verdipapir med en odde siste periode +PMT = AVDRAG ## Returnerer periodisk betaling for en annuitet +PPMT = AMORT ## Returnerer betalingen på hovedstolen for en investering i en gitt periode +PRICE = PRIS ## Returnerer prisen per pålydende kr 100 for et verdipapir som gir periodisk avkastning +PRICEDISC = PRIS.DISKONTERT ## Returnerer prisen per pålydende kr 100 for et diskontert verdipapir +PRICEMAT = PRIS.FORFALL ## Returnerer prisen per pålydende kr 100 av et verdipapir som betaler rente ved forfall +PV = NÅVERDI ## Returnerer nåverdien av en investering +RATE = RENTE ## Returnerer rentesatsen per periode for en annuitet +RECEIVED = MOTTATT.AVKAST ## Returnerer summen som mottas ved forfallsdato for et fullinvestert verdipapir +SLN = LINAVS ## Returnerer den lineære avskrivningen for et aktivum i én periode +SYD = ÅRSAVS ## Returnerer årsavskrivningen for et aktivum i en angitt periode +TBILLEQ = TBILLEKV ## Returnerer den obligasjonsekvivalente avkastningen for en statsobligasjon +TBILLPRICE = TBILLPRIS ## Returnerer prisen per pålydende kr 100 for en statsobligasjon +TBILLYIELD = TBILLAVKASTNING ## Returnerer avkastningen til en statsobligasjon +VDB = VERDIAVS ## Returnerer avskrivningen for et aktivum i en angitt periode eller delperiode, ved hjelp av degressiv avskrivning +XIRR = XIR ## Returnerer internrenten for en serie kontantstrømmer som ikke nødvendigvis er periodiske +XNPV = XNNV ## Returnerer netto nåverdi for en serie kontantstrømmer som ikke nødvendigvis er periodiske +YIELD = AVKAST ## Returnerer avkastningen på et verdipapir som betaler periodisk rente +YIELDDISC = AVKAST.DISKONTERT ## Returnerer årlig avkastning for et diskontert verdipapir, for eksempel en statskasseveksel +YIELDMAT = AVKAST.FORFALL ## Returnerer den årlige avkastningen for et verdipapir som betaler rente ved forfallsdato + + +## +## Information functions Informasjonsfunksjoner +## +CELL = CELLE ## Returnerer informasjon om formatering, plassering eller innholdet til en celle +ERROR.TYPE = FEIL.TYPE ## Returnerer et tall som svarer til en feiltype +INFO = INFO ## Returnerer informasjon om gjeldende operativmiljø +ISBLANK = ERTOM ## Returnerer SANN hvis verdien er tom +ISERR = ERFEIL ## Returnerer SANN hvis verdien er en hvilken som helst annen feilverdi enn #I/T +ISERROR = ERFEIL ## Returnerer SANN hvis verdien er en hvilken som helst feilverdi +ISEVEN = ERPARTALL ## Returnerer SANN hvis tallet er et partall +ISLOGICAL = ERLOGISK ## Returnerer SANN hvis verdien er en logisk verdi +ISNA = ERIT ## Returnerer SANN hvis verdien er feilverdien #I/T +ISNONTEXT = ERIKKETEKST ## Returnerer SANN hvis verdien ikke er tekst +ISNUMBER = ERTALL ## Returnerer SANN hvis verdien er et tall +ISODD = ERODDETALL ## Returnerer SANN hvis tallet er et oddetall +ISREF = ERREF ## Returnerer SANN hvis verdien er en referanse +ISTEXT = ERTEKST ## Returnerer SANN hvis verdien er tekst +N = N ## Returnerer en verdi som er konvertert til et tall +NA = IT ## Returnerer feilverdien #I/T +TYPE = VERDITYPE ## Returnerer et tall som indikerer datatypen til en verdi + + +## +## Logical functions Logiske funksjoner +## +AND = OG ## Returnerer SANN hvis alle argumentene er lik SANN +FALSE = USANN ## Returnerer den logiske verdien USANN +IF = HVIS ## Angir en logisk test som skal utføres +IFERROR = HVISFEIL ## Returnerer en verdi du angir hvis en formel evaluerer til en feil. Ellers returnerer den resultatet av formelen. +NOT = IKKE ## Reverserer logikken til argumentet +OR = ELLER ## Returnerer SANN hvis ett eller flere argumenter er lik SANN +TRUE = SANN ## Returnerer den logiske verdien SANN + + +## +## Lookup and reference functions Oppslag- og referansefunksjoner +## +ADDRESS = ADRESSE ## Returnerer en referanse som tekst til en enkelt celle i et regneark +AREAS = OMRÅDER ## Returnerer antall områder i en referanse +CHOOSE = VELG ## Velger en verdi fra en liste med verdier +COLUMN = KOLONNE ## Returnerer kolonnenummeret for en referanse +COLUMNS = KOLONNER ## Returnerer antall kolonner i en referanse +HLOOKUP = FINN.KOLONNE ## Leter i den øverste raden i en matrise og returnerer verdien for den angitte cellen +HYPERLINK = HYPERKOBLING ## Oppretter en snarvei eller et hopp som åpner et dokument som er lagret på en nettverksserver, et intranett eller Internett +INDEX = INDEKS ## Bruker en indeks til å velge en verdi fra en referanse eller matrise +INDIRECT = INDIREKTE ## Returnerer en referanse angitt av en tekstverdi +LOOKUP = SLÅ.OPP ## Slår opp verdier i en vektor eller matrise +MATCH = SAMMENLIGNE ## Slår opp verdier i en referanse eller matrise +OFFSET = FORSKYVNING ## Returnerer en referanseforskyvning fra en gitt referanse +ROW = RAD ## Returnerer radnummeret for en referanse +ROWS = RADER ## Returnerer antall rader i en referanse +RTD = RTD ## Henter sanntidsdata fra et program som støtter COM-automatisering (automatisering: En måte å arbeide på med programobjekter fra et annet program- eller utviklingsverktøy. Tidligere kalt OLE-automatisering. Automatisering er en bransjestandard og en funksjon i Component Object Model (COM).) +TRANSPOSE = TRANSPONER ## Returnerer transponeringen av en matrise +VLOOKUP = FINN.RAD ## Leter i den første kolonnen i en matrise og flytter bortover raden for å returnere verdien til en celle + + +## +## Math and trigonometry functions Matematikk- og trigonometrifunksjoner +## +ABS = ABS ## Returnerer absoluttverdien til et tall +ACOS = ARCCOS ## Returnerer arcus cosinus til et tall +ACOSH = ARCCOSH ## Returnerer den inverse hyperbolske cosinus til et tall +ASIN = ARCSIN ## Returnerer arcus sinus til et tall +ASINH = ARCSINH ## Returnerer den inverse hyperbolske sinus til et tall +ATAN = ARCTAN ## Returnerer arcus tangens til et tall +ATAN2 = ARCTAN2 ## Returnerer arcus tangens fra x- og y-koordinater +ATANH = ARCTANH ## Returnerer den inverse hyperbolske tangens til et tall +CEILING = AVRUND.GJELDENDE.MULTIPLUM ## Runder av et tall til nærmeste heltall eller til nærmeste signifikante multiplum +COMBIN = KOMBINASJON ## Returnerer antall kombinasjoner for ett gitt antall objekter +COS = COS ## Returnerer cosinus til et tall +COSH = COSH ## Returnerer den hyperbolske cosinus til et tall +DEGREES = GRADER ## Konverterer radianer til grader +EVEN = AVRUND.TIL.PARTALL ## Runder av et tall oppover til nærmeste heltall som er et partall +EXP = EKSP ## Returnerer e opphøyd i en angitt potens +FACT = FAKULTET ## Returnerer fakultet til et tall +FACTDOUBLE = DOBBELFAKT ## Returnerer et talls doble fakultet +FLOOR = AVRUND.GJELDENDE.MULTIPLUM.NED ## Avrunder et tall nedover, mot null +GCD = SFF ## Returnerer høyeste felles divisor +INT = HELTALL ## Avrunder et tall nedover til nærmeste heltall +LCM = MFM ## Returnerer minste felles multiplum +LN = LN ## Returnerer den naturlige logaritmen til et tall +LOG = LOG ## Returnerer logaritmen for et tall til et angitt grunntall +LOG10 = LOG10 ## Returnerer logaritmen med grunntall 10 for et tall +MDETERM = MDETERM ## Returnerer matrisedeterminanten til en matrise +MINVERSE = MINVERS ## Returnerer den inverse matrisen til en matrise +MMULT = MMULT ## Returnerer matriseproduktet av to matriser +MOD = REST ## Returnerer resten fra en divisjon +MROUND = MRUND ## Returnerer et tall avrundet til det ønskede multiplum +MULTINOMIAL = MULTINOMINELL ## Returnerer det multinominelle for et sett med tall +ODD = AVRUND.TIL.ODDETALL ## Runder av et tall oppover til nærmeste heltall som er et oddetall +PI = PI ## Returnerer verdien av pi +POWER = OPPHØYD.I ## Returnerer resultatet av et tall opphøyd i en potens +PRODUCT = PRODUKT ## Multipliserer argumentene +QUOTIENT = KVOTIENT ## Returnerer heltallsdelen av en divisjon +RADIANS = RADIANER ## Konverterer grader til radianer +RAND = TILFELDIG ## Returnerer et tilfeldig tall mellom 0 og 1 +RANDBETWEEN = TILFELDIGMELLOM ## Returnerer et tilfeldig tall innenfor et angitt område +ROMAN = ROMERTALL ## Konverterer vanlige tall til romertall, som tekst +ROUND = AVRUND ## Avrunder et tall til et angitt antall sifre +ROUNDDOWN = AVRUND.NED ## Avrunder et tall nedover, mot null +ROUNDUP = AVRUND.OPP ## Runder av et tall oppover, bort fra null +SERIESSUM = SUMMER.REKKE ## Returnerer summen av en geometrisk rekke, basert på formelen +SIGN = FORTEGN ## Returnerer fortegnet for et tall +SIN = SIN ## Returnerer sinus til en gitt vinkel +SINH = SINH ## Returnerer den hyperbolske sinus til et tall +SQRT = ROT ## Returnerer en positiv kvadratrot +SQRTPI = ROTPI ## Returnerer kvadratroten av (tall * pi) +SUBTOTAL = DELSUM ## Returnerer en delsum i en liste eller database +SUM = SUMMER ## Legger sammen argumentene +SUMIF = SUMMERHVIS ## Legger sammen cellene angitt ved et gitt vilkår +SUMIFS = SUMMER.HVIS.SETT ## Legger sammen cellene i et område som oppfyller flere vilkår +SUMPRODUCT = SUMMERPRODUKT ## Returnerer summen av produktene av tilsvarende matrisekomponenter +SUMSQ = SUMMERKVADRAT ## Returnerer kvadratsummen av argumentene +SUMX2MY2 = SUMMERX2MY2 ## Returnerer summen av differansen av kvadratene for tilsvarende verdier i to matriser +SUMX2PY2 = SUMMERX2PY2 ## Returnerer summen av kvadratsummene for tilsvarende verdier i to matriser +SUMXMY2 = SUMMERXMY2 ## Returnerer summen av kvadratene av differansen for tilsvarende verdier i to matriser +TAN = TAN ## Returnerer tangens for et tall +TANH = TANH ## Returnerer den hyperbolske tangens for et tall +TRUNC = AVKORT ## Korter av et tall til et heltall + + +## +## Statistical functions Statistiske funksjoner +## +AVEDEV = GJENNOMSNITTSAVVIK ## Returnerer datapunktenes gjennomsnittlige absoluttavvik fra middelverdien +AVERAGE = GJENNOMSNITT ## Returnerer gjennomsnittet for argumentene +AVERAGEA = GJENNOMSNITTA ## Returnerer gjennomsnittet for argumentene, inkludert tall, tekst og logiske verdier +AVERAGEIF = GJENNOMSNITTHVIS ## Returnerer gjennomsnittet (aritmetisk gjennomsnitt) av alle cellene i et område som oppfyller et bestemt vilkår +AVERAGEIFS = GJENNOMSNITT.HVIS.SETT ## Returnerer gjennomsnittet (aritmetisk middelverdi) av alle celler som oppfyller flere vilkår. +BETADIST = BETA.FORDELING ## Returnerer den kumulative betafordelingsfunksjonen +BETAINV = INVERS.BETA.FORDELING ## Returnerer den inverse verdien til fordelingsfunksjonen for en angitt betafordeling +BINOMDIST = BINOM.FORDELING ## Returnerer den individuelle binomiske sannsynlighetsfordelingen +CHIDIST = KJI.FORDELING ## Returnerer den ensidige sannsynligheten for en kjikvadrert fordeling +CHIINV = INVERS.KJI.FORDELING ## Returnerer den inverse av den ensidige sannsynligheten for den kjikvadrerte fordelingen +CHITEST = KJI.TEST ## Utfører testen for uavhengighet +CONFIDENCE = KONFIDENS ## Returnerer konfidensintervallet til gjennomsnittet for en populasjon +CORREL = KORRELASJON ## Returnerer korrelasjonskoeffisienten mellom to datasett +COUNT = ANTALL ## Teller hvor mange tall som er i argumentlisten +COUNTA = ANTALLA ## Teller hvor mange verdier som er i argumentlisten +COUNTBLANK = TELLBLANKE ## Teller antall tomme celler i et område. +COUNTIF = ANTALL.HVIS ## Teller antall celler i et område som oppfyller gitte vilkår +COUNTIFS = ANTALL.HVIS.SETT ## Teller antallet ikke-tomme celler i et område som oppfyller flere vilkår +COVAR = KOVARIANS ## Returnerer kovariansen, gjennomsnittet av produktene av parvise avvik +CRITBINOM = GRENSE.BINOM ## Returnerer den minste verdien der den kumulative binomiske fordelingen er mindre enn eller lik en vilkårsverdi +DEVSQ = AVVIK.KVADRERT ## Returnerer summen av kvadrerte avvik +EXPONDIST = EKSP.FORDELING ## Returnerer eksponentialfordelingen +FDIST = FFORDELING ## Returnerer F-sannsynlighetsfordelingen +FINV = FFORDELING.INVERS ## Returnerer den inverse av den sannsynlige F-fordelingen +FISHER = FISHER ## Returnerer Fisher-transformasjonen +FISHERINV = FISHERINV ## Returnerer den inverse av Fisher-transformasjonen +FORECAST = PROGNOSE ## Returnerer en verdi langs en lineær trend +FREQUENCY = FREKVENS ## Returnerer en frekvensdistribusjon som en loddrett matrise +FTEST = FTEST ## Returnerer resultatet av en F-test +GAMMADIST = GAMMAFORDELING ## Returnerer gammafordelingen +GAMMAINV = GAMMAINV ## Returnerer den inverse av den gammakumulative fordelingen +GAMMALN = GAMMALN ## Returnerer den naturlige logaritmen til gammafunksjonen G(x) +GEOMEAN = GJENNOMSNITT.GEOMETRISK ## Returnerer den geometriske middelverdien +GROWTH = VEKST ## Returnerer verdier langs en eksponentiell trend +HARMEAN = GJENNOMSNITT.HARMONISK ## Returnerer den harmoniske middelverdien +HYPGEOMDIST = HYPGEOM.FORDELING ## Returnerer den hypergeometriske fordelingen +INTERCEPT = SKJÆRINGSPUNKT ## Returnerer skjæringspunktet til den lineære regresjonslinjen +KURT = KURT ## Returnerer kurtosen til et datasett +LARGE = N.STØRST ## Returnerer den n-te største verdien i et datasett +LINEST = RETTLINJE ## Returnerer parameterne til en lineær trend +LOGEST = KURVE ## Returnerer parameterne til en eksponentiell trend +LOGINV = LOGINV ## Returnerer den inverse lognormale fordelingen +LOGNORMDIST = LOGNORMFORD ## Returnerer den kumulative lognormale fordelingen +MAX = STØRST ## Returnerer maksimumsverdien i en argumentliste +MAXA = MAKSA ## Returnerer maksimumsverdien i en argumentliste, inkludert tall, tekst og logiske verdier +MEDIAN = MEDIAN ## Returnerer medianen til tallene som er gitt +MIN = MIN ## Returnerer minimumsverdien i en argumentliste +MINA = MINA ## Returnerer den minste verdien i en argumentliste, inkludert tall, tekst og logiske verdier +MODE = MODUS ## Returnerer den vanligste verdien i et datasett +NEGBINOMDIST = NEGBINOM.FORDELING ## Returnerer den negative binomiske fordelingen +NORMDIST = NORMALFORDELING ## Returnerer den kumulative normalfordelingen +NORMINV = NORMINV ## Returnerer den inverse kumulative normalfordelingen +NORMSDIST = NORMSFORDELING ## Returnerer standard kumulativ normalfordeling +NORMSINV = NORMSINV ## Returnerer den inverse av den den kumulative standard normalfordelingen +PEARSON = PEARSON ## Returnerer produktmomentkorrelasjonskoeffisienten, Pearson +PERCENTILE = PERSENTIL ## Returnerer den n-te persentil av verdiene i et område +PERCENTRANK = PROSENTDEL ## Returnerer prosentrangeringen av en verdi i et datasett +PERMUT = PERMUTER ## Returnerer antall permutasjoner for et gitt antall objekter +POISSON = POISSON ## Returnerer Poissons sannsynlighetsfordeling +PROB = SANNSYNLIG ## Returnerer sannsynligheten for at verdier i et område ligger mellom to grenser +QUARTILE = KVARTIL ## Returnerer kvartilen til et datasett +RANK = RANG ## Returnerer rangeringen av et tall, eller plassen tallet har i en rekke +RSQ = RKVADRAT ## Returnerer kvadratet av produktmomentkorrelasjonskoeffisienten (Pearsons r) +SKEW = SKJEVFORDELING ## Returnerer skjevheten i en fordeling +SLOPE = STIGNINGSTALL ## Returnerer stigningtallet for den lineære regresjonslinjen +SMALL = N.MINST ## Returnerer den n-te minste verdien i et datasett +STANDARDIZE = NORMALISER ## Returnerer en normalisert verdi +STDEV = STDAV ## Estimere standardavvik på grunnlag av et utvalg +STDEVA = STDAVVIKA ## Estimerer standardavvik basert på et utvalg, inkludert tall, tekst og logiske verdier +STDEVP = STDAVP ## Beregner standardavvik basert på hele populasjonen +STDEVPA = STDAVVIKPA ## Beregner standardavvik basert på hele populasjonen, inkludert tall, tekst og logiske verdier +STEYX = STANDARDFEIL ## Returnerer standardfeilen for den predikerte y-verdien for hver x i regresjonen +TDIST = TFORDELING ## Returnerer en Student t-fordeling +TINV = TINV ## Returnerer den inverse Student t-fordelingen +TREND = TREND ## Returnerer verdier langs en lineær trend +TRIMMEAN = TRIMMET.GJENNOMSNITT ## Returnerer den interne middelverdien til et datasett +TTEST = TTEST ## Returnerer sannsynligheten assosiert med en Student t-test +VAR = VARIANS ## Estimerer varians basert på et utvalg +VARA = VARIANSA ## Estimerer varians basert på et utvalg, inkludert tall, tekst og logiske verdier +VARP = VARIANSP ## Beregner varians basert på hele populasjonen +VARPA = VARIANSPA ## Beregner varians basert på hele populasjonen, inkludert tall, tekst og logiske verdier +WEIBULL = WEIBULL.FORDELING ## Returnerer Weibull-fordelingen +ZTEST = ZTEST ## Returnerer den ensidige sannsynlighetsverdien for en z-test + + +## +## Text functions Tekstfunksjoner +## +ASC = STIGENDE ## Endrer fullbreddes (dobbeltbyte) engelske bokstaver eller katakana i en tegnstreng, til halvbreddes (enkeltbyte) tegn +BAHTTEXT = BAHTTEKST ## Konverterer et tall til tekst, og bruker valutaformatet ß (baht) +CHAR = TEGNKODE ## Returnerer tegnet som svarer til kodenummeret +CLEAN = RENSK ## Fjerner alle tegn som ikke kan skrives ut, fra teksten +CODE = KODE ## Returnerer en numerisk kode for det første tegnet i en tekststreng +CONCATENATE = KJEDE.SAMMEN ## Slår sammen flere tekstelementer til ett tekstelement +DOLLAR = VALUTA ## Konverterer et tall til tekst, og bruker valutaformatet $ (dollar) +EXACT = EKSAKT ## Kontrollerer om to tekstverdier er like +FIND = FINN ## Finner en tekstverdi inne i en annen (skiller mellom store og små bokstaver) +FINDB = FINNB ## Finner en tekstverdi inne i en annen (skiller mellom store og små bokstaver) +FIXED = FASTSATT ## Formaterer et tall som tekst med et bestemt antall desimaler +JIS = JIS ## Endrer halvbreddes (enkeltbyte) engelske bokstaver eller katakana i en tegnstreng, til fullbreddes (dobbeltbyte) tegn +LEFT = VENSTRE ## Returnerer tegnene lengst til venstre i en tekstverdi +LEFTB = VENSTREB ## Returnerer tegnene lengst til venstre i en tekstverdi +LEN = LENGDE ## Returnerer antall tegn i en tekststreng +LENB = LENGDEB ## Returnerer antall tegn i en tekststreng +LOWER = SMÅ ## Konverterer tekst til små bokstaver +MID = DELTEKST ## Returnerer et angitt antall tegn fra en tekststreng, og begynner fra posisjonen du angir +MIDB = DELTEKSTB ## Returnerer et angitt antall tegn fra en tekststreng, og begynner fra posisjonen du angir +PHONETIC = FURIGANA ## Trekker ut fonetiske tegn (furigana) fra en tekststreng +PROPER = STOR.FORBOKSTAV ## Gir den første bokstaven i hvert ord i en tekstverdi stor forbokstav +REPLACE = ERSTATT ## Erstatter tegn i en tekst +REPLACEB = ERSTATTB ## Erstatter tegn i en tekst +REPT = GJENTA ## Gjentar tekst et gitt antall ganger +RIGHT = HØYRE ## Returnerer tegnene lengst til høyre i en tekstverdi +RIGHTB = HØYREB ## Returnerer tegnene lengst til høyre i en tekstverdi +SEARCH = SØK ## Finner en tekstverdi inne i en annen (skiller ikke mellom store og små bokstaver) +SEARCHB = SØKB ## Finner en tekstverdi inne i en annen (skiller ikke mellom store og små bokstaver) +SUBSTITUTE = BYTT.UT ## Bytter ut gammel tekst med ny tekst i en tekststreng +T = T ## Konverterer argumentene til tekst +TEXT = TEKST ## Formaterer et tall og konverterer det til tekst +TRIM = TRIMME ## Fjerner mellomrom fra tekst +UPPER = STORE ## Konverterer tekst til store bokstaver +VALUE = VERDI ## Konverterer et tekstargument til et tall diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/locale/pl/config b/vendor/phpoffice/phpexcel/Classes/PHPExcel/locale/pl/config new file mode 100644 index 00000000..4dd75bee --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/locale/pl/config @@ -0,0 +1,47 @@ +## +## PHPExcel +## +## Copyright (c) 2006 - 2013 PHPExcel +## +## This library is free software; you can redistribute it and/or +## modify it under the terms of the GNU Lesser General Public +## License as published by the Free Software Foundation; either +## version 2.1 of the License, or (at your option) any later version. +## +## This library is distributed in the hope that it will be useful, +## but WITHOUT ANY WARRANTY; without even the implied warranty of +## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +## Lesser General Public License for more details. +## +## You should have received a copy of the GNU Lesser General Public +## License along with this library; if not, write to the Free Software +## Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +## +## @category PHPExcel +## @package PHPExcel_Settings +## @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel) +## @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL +## @version ##VERSION##, ##DATE## +## +## + + +ArgumentSeparator = ; + + +## +## (For future use) +## +currencySymbol = zł + + +## +## Excel Error Codes (For future use) +## +NULL = #ZERO! +DIV0 = #DZIEL/0! +VALUE = #ARG! +REF = #ADR! +NAME = #NAZWA? +NUM = #LICZBA! +NA = #N/D! diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/locale/pl/functions b/vendor/phpoffice/phpexcel/Classes/PHPExcel/locale/pl/functions new file mode 100644 index 00000000..1881a71e --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/locale/pl/functions @@ -0,0 +1,438 @@ +## +## PHPExcel +## +## Copyright (c) 2006 - 2013 PHPExcel +## +## This library is free software; you can redistribute it and/or +## modify it under the terms of the GNU Lesser General Public +## License as published by the Free Software Foundation; either +## version 2.1 of the License, or (at your option) any later version. +## +## This library is distributed in the hope that it will be useful, +## but WITHOUT ANY WARRANTY; without even the implied warranty of +## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +## Lesser General Public License for more details. +## +## You should have received a copy of the GNU Lesser General Public +## License along with this library; if not, write to the Free Software +## Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +## +## @category PHPExcel +## @package PHPExcel_Calculation +## @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel) +## @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL +## @version ##VERSION##, ##DATE## +## +## Data in this file derived from http://www.piuha.fi/excel-function-name-translation/ +## +## + + +## +## Add-in and Automation functions Funkcje dodatków i automatyzacji +## +GETPIVOTDATA = WEŹDANETABELI ## Zwraca dane przechowywane w raporcie tabeli przestawnej. + + +## +## Cube functions Funkcje modułów +## +CUBEKPIMEMBER = ELEMENT.KPI.MODUŁU ## Zwraca nazwę, właściwość i miarę kluczowego wskaźnika wydajności (KPI) oraz wyświetla nazwę i właściwość w komórce. Wskaźnik KPI jest miarą ilościową, taką jak miesięczny zysk brutto lub kwartalna fluktuacja pracowników, używaną do monitorowania wydajności organizacji. +CUBEMEMBER = ELEMENT.MODUŁU ## Zwraca element lub krotkę z hierarchii modułu. Służy do sprawdzania, czy element lub krotka istnieje w module. +CUBEMEMBERPROPERTY = WŁAŚCIWOŚĆ.ELEMENTU.MODUŁU ## Zwraca wartość właściwości elementu w module. Służy do sprawdzania, czy nazwa elementu istnieje w module, i zwracania określonej właściwości dla tego elementu. +CUBERANKEDMEMBER = USZEREGOWANY.ELEMENT.MODUŁU ## Zwraca n-ty (albo uszeregowany) element zestawu. Służy do zwracania elementu lub elementów zestawu, na przykład najlepszego sprzedawcy lub 10 najlepszych studentów. +CUBESET = ZESTAW.MODUŁÓW ## Definiuje obliczony zestaw elementów lub krotek, wysyłając wyrażenie zestawu do serwera modułu, który tworzy zestaw i zwraca go do programu Microsoft Office Excel. +CUBESETCOUNT = LICZNIK.MODUŁÓW.ZESTAWU ## Zwraca liczbę elementów zestawu. +CUBEVALUE = WARTOŚĆ.MODUŁU ## Zwraca zagregowaną wartość z modułu. + + +## +## Database functions Funkcje baz danych +## +DAVERAGE = BD.ŚREDNIA ## Zwraca wartość średniej wybranych wpisów bazy danych. +DCOUNT = BD.ILE.REKORDÓW ## Zlicza komórki zawierające liczby w bazie danych. +DCOUNTA = BD.ILE.REKORDÓW.A ## Zlicza niepuste komórki w bazie danych. +DGET = BD.POLE ## Wyodrębnia z bazy danych jeden rekord spełniający określone kryteria. +DMAX = BD.MAX ## Zwraca wartość maksymalną z wybranych wpisów bazy danych. +DMIN = BD.MIN ## Zwraca wartość minimalną z wybranych wpisów bazy danych. +DPRODUCT = BD.ILOCZYN ## Mnoży wartości w konkretnym, spełniającym kryteria polu rekordów bazy danych. +DSTDEV = BD.ODCH.STANDARD ## Szacuje odchylenie standardowe na podstawie próbki z wybranych wpisów bazy danych. +DSTDEVP = BD.ODCH.STANDARD.POPUL ## Oblicza odchylenie standardowe na podstawie całej populacji wybranych wpisów bazy danych. +DSUM = BD.SUMA ## Dodaje liczby w kolumnie pól rekordów bazy danych, które spełniają kryteria. +DVAR = BD.WARIANCJA ## Szacuje wariancję na podstawie próbki z wybranych wpisów bazy danych. +DVARP = BD.WARIANCJA.POPUL ## Oblicza wariancję na podstawie całej populacji wybranych wpisów bazy danych. + + +## +## Date and time functions Funkcje dat, godzin i czasu +## +DATE = DATA ## Zwraca liczbę seryjną dla wybranej daty. +DATEVALUE = DATA.WARTOŚĆ ## Konwertuje datę w formie tekstu na liczbę seryjną. +DAY = DZIEŃ ## Konwertuje liczbę seryjną na dzień miesiąca. +DAYS360 = DNI.360 ## Oblicza liczbę dni między dwiema datami na podstawie roku 360-dniowego. +EDATE = UPŁDNI ## Zwraca liczbę seryjną daty jako wskazaną liczbę miesięcy przed określoną datą początkową lub po niej. +EOMONTH = EOMONTH ## Zwraca liczbę seryjną ostatniego dnia miesiąca przed określoną liczbą miesięcy lub po niej. +HOUR = GODZINA ## Konwertuje liczbę seryjną na godzinę. +MINUTE = MINUTA ## Konwertuje liczbę seryjną na minutę. +MONTH = MIESIĄC ## Konwertuje liczbę seryjną na miesiąc. +NETWORKDAYS = NETWORKDAYS ## Zwraca liczbę pełnych dni roboczych między dwiema datami. +NOW = TERAZ ## Zwraca liczbę seryjną bieżącej daty i godziny. +SECOND = SEKUNDA ## Konwertuje liczbę seryjną na sekundę. +TIME = CZAS ## Zwraca liczbę seryjną określonego czasu. +TIMEVALUE = CZAS.WARTOŚĆ ## Konwertuje czas w formie tekstu na liczbę seryjną. +TODAY = DZIŚ ## Zwraca liczbę seryjną dla daty bieżącej. +WEEKDAY = DZIEŃ.TYG ## Konwertuje liczbę seryjną na dzień tygodnia. +WEEKNUM = WEEKNUM ## Konwertuje liczbę seryjną na liczbę reprezentującą numer tygodnia w roku. +WORKDAY = WORKDAY ## Zwraca liczbę seryjną dla daty przed określoną liczbą dni roboczych lub po niej. +YEAR = ROK ## Konwertuje liczbę seryjną na rok. +YEARFRAC = YEARFRAC ## Zwraca część roku reprezentowaną przez pełną liczbę dni między datą początkową a datą końcową. + + +## +## Engineering functions Funkcje inżynierskie +## +BESSELI = BESSELI ## Zwraca wartość zmodyfikowanej funkcji Bessela In(x). +BESSELJ = BESSELJ ## Zwraca wartość funkcji Bessela Jn(x). +BESSELK = BESSELK ## Zwraca wartość zmodyfikowanej funkcji Bessela Kn(x). +BESSELY = BESSELY ## Zwraca wartość funkcji Bessela Yn(x). +BIN2DEC = BIN2DEC ## Konwertuje liczbę w postaci dwójkowej na liczbę w postaci dziesiętnej. +BIN2HEX = BIN2HEX ## Konwertuje liczbę w postaci dwójkowej na liczbę w postaci szesnastkowej. +BIN2OCT = BIN2OCT ## Konwertuje liczbę w postaci dwójkowej na liczbę w postaci ósemkowej. +COMPLEX = COMPLEX ## Konwertuje część rzeczywistą i urojoną na liczbę zespoloną. +CONVERT = CONVERT ## Konwertuje liczbę z jednego systemu miar na inny. +DEC2BIN = DEC2BIN ## Konwertuje liczbę w postaci dziesiętnej na postać dwójkową. +DEC2HEX = DEC2HEX ## Konwertuje liczbę w postaci dziesiętnej na liczbę w postaci szesnastkowej. +DEC2OCT = DEC2OCT ## Konwertuje liczbę w postaci dziesiętnej na liczbę w postaci ósemkowej. +DELTA = DELTA ## Sprawdza, czy dwie wartości są równe. +ERF = ERF ## Zwraca wartość funkcji błędu. +ERFC = ERFC ## Zwraca wartość komplementarnej funkcji błędu. +GESTEP = GESTEP ## Sprawdza, czy liczba jest większa niż wartość progowa. +HEX2BIN = HEX2BIN ## Konwertuje liczbę w postaci szesnastkowej na liczbę w postaci dwójkowej. +HEX2DEC = HEX2DEC ## Konwertuje liczbę w postaci szesnastkowej na liczbę w postaci dziesiętnej. +HEX2OCT = HEX2OCT ## Konwertuje liczbę w postaci szesnastkowej na liczbę w postaci ósemkowej. +IMABS = IMABS ## Zwraca wartość bezwzględną (moduł) liczby zespolonej. +IMAGINARY = IMAGINARY ## Zwraca wartość części urojonej liczby zespolonej. +IMARGUMENT = IMARGUMENT ## Zwraca wartość argumentu liczby zespolonej, przy czym kąt wyrażony jest w radianach. +IMCONJUGATE = IMCONJUGATE ## Zwraca wartość liczby sprzężonej danej liczby zespolonej. +IMCOS = IMCOS ## Zwraca wartość cosinusa liczby zespolonej. +IMDIV = IMDIV ## Zwraca wartość ilorazu dwóch liczb zespolonych. +IMEXP = IMEXP ## Zwraca postać wykładniczą liczby zespolonej. +IMLN = IMLN ## Zwraca wartość logarytmu naturalnego liczby zespolonej. +IMLOG10 = IMLOG10 ## Zwraca wartość logarytmu dziesiętnego liczby zespolonej. +IMLOG2 = IMLOG2 ## Zwraca wartość logarytmu liczby zespolonej przy podstawie 2. +IMPOWER = IMPOWER ## Zwraca wartość liczby zespolonej podniesionej do potęgi całkowitej. +IMPRODUCT = IMPRODUCT ## Zwraca wartość iloczynu liczb zespolonych. +IMREAL = IMREAL ## Zwraca wartość części rzeczywistej liczby zespolonej. +IMSIN = IMSIN ## Zwraca wartość sinusa liczby zespolonej. +IMSQRT = IMSQRT ## Zwraca wartość pierwiastka kwadratowego z liczby zespolonej. +IMSUB = IMSUB ## Zwraca wartość różnicy dwóch liczb zespolonych. +IMSUM = IMSUM ## Zwraca wartość sumy liczb zespolonych. +OCT2BIN = OCT2BIN ## Konwertuje liczbę w postaci ósemkowej na liczbę w postaci dwójkowej. +OCT2DEC = OCT2DEC ## Konwertuje liczbę w postaci ósemkowej na liczbę w postaci dziesiętnej. +OCT2HEX = OCT2HEX ## Konwertuje liczbę w postaci ósemkowej na liczbę w postaci szesnastkowej. + + +## +## Financial functions Funkcje finansowe +## +ACCRINT = ACCRINT ## Zwraca narosłe odsetki dla papieru wartościowego z oprocentowaniem okresowym. +ACCRINTM = ACCRINTM ## Zwraca narosłe odsetki dla papieru wartościowego z oprocentowaniem w terminie wykupu. +AMORDEGRC = AMORDEGRC ## Zwraca amortyzację dla każdego okresu rozliczeniowego z wykorzystaniem współczynnika amortyzacji. +AMORLINC = AMORLINC ## Zwraca amortyzację dla każdego okresu rozliczeniowego. +COUPDAYBS = COUPDAYBS ## Zwraca liczbę dni od początku okresu dywidendy do dnia rozliczeniowego. +COUPDAYS = COUPDAYS ## Zwraca liczbę dni w okresie dywidendy, z uwzględnieniem dnia rozliczeniowego. +COUPDAYSNC = COUPDAYSNC ## Zwraca liczbę dni od dnia rozliczeniowego do daty następnego dnia dywidendy. +COUPNCD = COUPNCD ## Zwraca dzień następnej dywidendy po dniu rozliczeniowym. +COUPNUM = COUPNUM ## Zwraca liczbę dywidend płatnych między dniem rozliczeniowym a dniem wykupu. +COUPPCD = COUPPCD ## Zwraca dzień poprzedniej dywidendy przed dniem rozliczeniowym. +CUMIPMT = CUMIPMT ## Zwraca wartość procentu składanego płatnego między dwoma okresami. +CUMPRINC = CUMPRINC ## Zwraca wartość kapitału skumulowanego spłaty pożyczki między dwoma okresami. +DB = DB ## Zwraca amortyzację środka trwałego w danym okresie metodą degresywną z zastosowaniem stałej bazowej. +DDB = DDB ## Zwraca amortyzację środka trwałego za podany okres metodą degresywną z zastosowaniem podwójnej bazowej lub metodą określoną przez użytkownika. +DISC = DISC ## Zwraca wartość stopy dyskontowej papieru wartościowego. +DOLLARDE = DOLLARDE ## Konwertuje cenę w postaci ułamkowej na cenę wyrażoną w postaci dziesiętnej. +DOLLARFR = DOLLARFR ## Konwertuje cenę wyrażoną w postaci dziesiętnej na cenę wyrażoną w postaci ułamkowej. +DURATION = DURATION ## Zwraca wartość rocznego przychodu z papieru wartościowego o okresowych wypłatach oprocentowania. +EFFECT = EFFECT ## Zwraca wartość efektywnej rocznej stopy procentowej. +FV = FV ## Zwraca przyszłą wartość lokaty. +FVSCHEDULE = FVSCHEDULE ## Zwraca przyszłą wartość kapitału początkowego wraz z szeregiem procentów składanych. +INTRATE = INTRATE ## Zwraca wartość stopy procentowej papieru wartościowego całkowicie ulokowanego. +IPMT = IPMT ## Zwraca wysokość spłaty oprocentowania lokaty za dany okres. +IRR = IRR ## Zwraca wartość wewnętrznej stopy zwrotu dla serii przepływów gotówkowych. +ISPMT = ISPMT ## Oblicza wysokość spłaty oprocentowania za dany okres lokaty. +MDURATION = MDURATION ## Zwraca wartość zmodyfikowanego okresu Macauleya dla papieru wartościowego o założonej wartości nominalnej 100 zł. +MIRR = MIRR ## Zwraca wartość wewnętrznej stopy zwrotu dla przypadku, gdy dodatnie i ujemne przepływy gotówkowe mają różne stopy. +NOMINAL = NOMINAL ## Zwraca wysokość nominalnej rocznej stopy procentowej. +NPER = NPER ## Zwraca liczbę okresów dla lokaty. +NPV = NPV ## Zwraca wartość bieżącą netto lokaty na podstawie szeregu okresowych przepływów gotówkowych i stopy dyskontowej. +ODDFPRICE = ODDFPRICE ## Zwraca cenę za 100 zł wartości nominalnej papieru wartościowego z nietypowym pierwszym okresem. +ODDFYIELD = ODDFYIELD ## Zwraca rentowność papieru wartościowego z nietypowym pierwszym okresem. +ODDLPRICE = ODDLPRICE ## Zwraca cenę za 100 zł wartości nominalnej papieru wartościowego z nietypowym ostatnim okresem. +ODDLYIELD = ODDLYIELD ## Zwraca rentowność papieru wartościowego z nietypowym ostatnim okresem. +PMT = PMT ## Zwraca wartość okresowej płatności raty rocznej. +PPMT = PPMT ## Zwraca wysokość spłaty kapitału w przypadku lokaty dla danego okresu. +PRICE = PRICE ## Zwraca cenę za 100 zł wartości nominalnej papieru wartościowego z oprocentowaniem okresowym. +PRICEDISC = PRICEDISC ## Zwraca cenę za 100 zł wartości nominalnej papieru wartościowego zdyskontowanego. +PRICEMAT = PRICEMAT ## Zwraca cenę za 100 zł wartości nominalnej papieru wartościowego z oprocentowaniem w terminie wykupu. +PV = PV ## Zwraca wartość bieżącą lokaty. +RATE = RATE ## Zwraca wysokość stopy procentowej w okresie raty rocznej. +RECEIVED = RECEIVED ## Zwraca wartość kapitału otrzymanego przy wykupie papieru wartościowego całkowicie ulokowanego. +SLN = SLN ## Zwraca amortyzację środka trwałego za jeden okres metodą liniową. +SYD = SYD ## Zwraca amortyzację środka trwałego za dany okres metodą sumy cyfr lat amortyzacji. +TBILLEQ = TBILLEQ ## Zwraca rentowność ekwiwalentu obligacji dla bonu skarbowego. +TBILLPRICE = TBILLPRICE ## Zwraca cenę za 100 zł wartości nominalnej bonu skarbowego. +TBILLYIELD = TBILLYIELD ## Zwraca rentowność bonu skarbowego. +VDB = VDB ## Oblicza amortyzację środka trwałego w danym okresie lub jego części metodą degresywną. +XIRR = XIRR ## Zwraca wartość wewnętrznej stopy zwrotu dla serii rozłożonych w czasie przepływów gotówkowych, niekoniecznie okresowych. +XNPV = XNPV ## Zwraca wartość bieżącą netto dla serii rozłożonych w czasie przepływów gotówkowych, niekoniecznie okresowych. +YIELD = YIELD ## Zwraca rentowność papieru wartościowego z oprocentowaniem okresowym. +YIELDDISC = YIELDDISC ## Zwraca roczną rentowność zdyskontowanego papieru wartościowego, na przykład bonu skarbowego. +YIELDMAT = YIELDMAT ## Zwraca roczną rentowność papieru wartościowego oprocentowanego przy wykupie. + + +## +## Information functions Funkcje informacyjne +## +CELL = KOMÓRKA ## Zwraca informacje o formacie, położeniu lub zawartości komórki. +ERROR.TYPE = NR.BŁĘDU ## Zwraca liczbę odpowiadającą typowi błędu. +INFO = INFO ## Zwraca informację o aktualnym środowisku pracy. +ISBLANK = CZY.PUSTA ## Zwraca wartość PRAWDA, jeśli wartość jest pusta. +ISERR = CZY.BŁ ## Zwraca wartość PRAWDA, jeśli wartość jest dowolną wartością błędu, z wyjątkiem #N/D!. +ISERROR = CZY.BŁĄD ## Zwraca wartość PRAWDA, jeśli wartość jest dowolną wartością błędu. +ISEVEN = ISEVEN ## Zwraca wartość PRAWDA, jeśli liczba jest parzysta. +ISLOGICAL = CZY.LOGICZNA ## Zwraca wartość PRAWDA, jeśli wartość jest wartością logiczną. +ISNA = CZY.BRAK ## Zwraca wartość PRAWDA, jeśli wartość jest wartością błędu #N/D!. +ISNONTEXT = CZY.NIE.TEKST ## Zwraca wartość PRAWDA, jeśli wartość nie jest tekstem. +ISNUMBER = CZY.LICZBA ## Zwraca wartość PRAWDA, jeśli wartość jest liczbą. +ISODD = ISODD ## Zwraca wartość PRAWDA, jeśli liczba jest nieparzysta. +ISREF = CZY.ADR ## Zwraca wartość PRAWDA, jeśli wartość jest odwołaniem. +ISTEXT = CZY.TEKST ## Zwraca wartość PRAWDA, jeśli wartość jest tekstem. +N = L ## Zwraca wartość przekonwertowaną na postać liczbową. +NA = BRAK ## Zwraca wartość błędu #N/D!. +TYPE = TYP ## Zwraca liczbę wskazującą typ danych wartości. + + +## +## Logical functions Funkcje logiczne +## +AND = ORAZ ## Zwraca wartość PRAWDA, jeśli wszystkie argumenty mają wartość PRAWDA. +FALSE = FAŁSZ ## Zwraca wartość logiczną FAŁSZ. +IF = JEŻELI ## Określa warunek logiczny do sprawdzenia. +IFERROR = JEŻELI.BŁĄD ## Zwraca określoną wartość, jeśli wynikiem obliczenia formuły jest błąd; w przeciwnym przypadku zwraca wynik formuły. +NOT = NIE ## Odwraca wartość logiczną argumentu. +OR = LUB ## Zwraca wartość PRAWDA, jeśli co najmniej jeden z argumentów ma wartość PRAWDA. +TRUE = PRAWDA ## Zwraca wartość logiczną PRAWDA. + + +## +## Lookup and reference functions Funkcje wyszukiwania i odwołań +## +ADDRESS = ADRES ## Zwraca odwołanie do jednej komórki w arkuszu jako wartość tekstową. +AREAS = OBSZARY ## Zwraca liczbę obszarów występujących w odwołaniu. +CHOOSE = WYBIERZ ## Wybiera wartość z listy wartości. +COLUMN = NR.KOLUMNY ## Zwraca numer kolumny z odwołania. +COLUMNS = LICZBA.KOLUMN ## Zwraca liczbę kolumn dla danego odwołania. +HLOOKUP = WYSZUKAJ.POZIOMO ## Przegląda górny wiersz tablicy i zwraca wartość wskazanej komórki. +HYPERLINK = HIPERŁĄCZE ## Tworzy skrót lub skok, który pozwala otwierać dokument przechowywany na serwerze sieciowym, w sieci intranet lub w Internecie. +INDEX = INDEKS ## Używa indeksu do wybierania wartości z odwołania lub tablicy. +INDIRECT = ADR.POŚR ## Zwraca odwołanie określone przez wartość tekstową. +LOOKUP = WYSZUKAJ ## Wyszukuje wartości w wektorze lub tablicy. +MATCH = PODAJ.POZYCJĘ ## Wyszukuje wartości w odwołaniu lub w tablicy. +OFFSET = PRZESUNIĘCIE ## Zwraca adres przesunięty od danego odwołania. +ROW = WIERSZ ## Zwraca numer wiersza odwołania. +ROWS = ILE.WIERSZY ## Zwraca liczbę wierszy dla danego odwołania. +RTD = RTD ## Pobiera dane w czasie rzeczywistym z programu obsługującego automatyzację COM (Automatyzacja: Sposób pracy z obiektami aplikacji pochodzącymi z innej aplikacji lub narzędzia projektowania. Nazywana wcześniej Automatyzacją OLE, Automatyzacja jest standardem przemysłowym i funkcją obiektowego modelu składników (COM, Component Object Model).). +TRANSPOSE = TRANSPONUJ ## Zwraca transponowaną tablicę. +VLOOKUP = WYSZUKAJ.PIONOWO ## Przeszukuje pierwszą kolumnę tablicy i przechodzi wzdłuż wiersza, aby zwrócić wartość komórki. + + +## +## Math and trigonometry functions Funkcje matematyczne i trygonometryczne +## +ABS = MODUŁ.LICZBY ## Zwraca wartość absolutną liczby. +ACOS = ACOS ## Zwraca arcus cosinus liczby. +ACOSH = ACOSH ## Zwraca arcus cosinus hiperboliczny liczby. +ASIN = ASIN ## Zwraca arcus sinus liczby. +ASINH = ASINH ## Zwraca arcus sinus hiperboliczny liczby. +ATAN = ATAN ## Zwraca arcus tangens liczby. +ATAN2 = ATAN2 ## Zwraca arcus tangens liczby na podstawie współrzędnych x i y. +ATANH = ATANH ## Zwraca arcus tangens hiperboliczny liczby. +CEILING = ZAOKR.W.GÓRĘ ## Zaokrągla liczbę do najbliższej liczby całkowitej lub do najbliższej wielokrotności dokładności. +COMBIN = KOMBINACJE ## Zwraca liczbę kombinacji dla danej liczby obiektów. +COS = COS ## Zwraca cosinus liczby. +COSH = COSH ## Zwraca cosinus hiperboliczny liczby. +DEGREES = STOPNIE ## Konwertuje radiany na stopnie. +EVEN = ZAOKR.DO.PARZ ## Zaokrągla liczbę w górę do najbliższej liczby parzystej. +EXP = EXP ## Zwraca wartość liczby e podniesionej do potęgi określonej przez podaną liczbę. +FACT = SILNIA ## Zwraca silnię liczby. +FACTDOUBLE = FACTDOUBLE ## Zwraca podwójną silnię liczby. +FLOOR = ZAOKR.W.DÓŁ ## Zaokrągla liczbę w dół, w kierunku zera. +GCD = GCD ## Zwraca największy wspólny dzielnik. +INT = ZAOKR.DO.CAŁK ## Zaokrągla liczbę w dół do najbliższej liczby całkowitej. +LCM = LCM ## Zwraca najmniejszą wspólną wielokrotność. +LN = LN ## Zwraca logarytm naturalny podanej liczby. +LOG = LOG ## Zwraca logarytm danej liczby przy zadanej podstawie. +LOG10 = LOG10 ## Zwraca logarytm dziesiętny liczby. +MDETERM = WYZNACZNIK.MACIERZY ## Zwraca wyznacznik macierzy tablicy. +MINVERSE = MACIERZ.ODW ## Zwraca odwrotność macierzy tablicy. +MMULT = MACIERZ.ILOCZYN ## Zwraca iloczyn macierzy dwóch tablic. +MOD = MOD ## Zwraca resztę z dzielenia. +MROUND = MROUND ## Zwraca liczbę zaokrągloną do żądanej wielokrotności. +MULTINOMIAL = MULTINOMIAL ## Zwraca wielomian dla zbioru liczb. +ODD = ZAOKR.DO.NPARZ ## Zaokrągla liczbę w górę do najbliższej liczby nieparzystej. +PI = PI ## Zwraca wartość liczby Pi. +POWER = POTĘGA ## Zwraca liczbę podniesioną do potęgi. +PRODUCT = ILOCZYN ## Mnoży argumenty. +QUOTIENT = QUOTIENT ## Zwraca iloraz (całkowity). +RADIANS = RADIANY ## Konwertuje stopnie na radiany. +RAND = LOS ## Zwraca liczbę pseudolosową z zakresu od 0 do 1. +RANDBETWEEN = RANDBETWEEN ## Zwraca liczbę pseudolosową z zakresu określonego przez podane argumenty. +ROMAN = RZYMSKIE ## Konwertuje liczbę arabską na rzymską jako tekst. +ROUND = ZAOKR ## Zaokrągla liczbę do określonej liczby cyfr. +ROUNDDOWN = ZAOKR.DÓŁ ## Zaokrągla liczbę w dół, w kierunku zera. +ROUNDUP = ZAOKR.GÓRA ## Zaokrągla liczbę w górę, w kierunku od zera. +SERIESSUM = SERIESSUM ## Zwraca sumę szeregu potęgowego na podstawie wzoru. +SIGN = ZNAK.LICZBY ## Zwraca znak liczby. +SIN = SIN ## Zwraca sinus danego kąta. +SINH = SINH ## Zwraca sinus hiperboliczny liczby. +SQRT = PIERWIASTEK ## Zwraca dodatni pierwiastek kwadratowy. +SQRTPI = SQRTPI ## Zwraca pierwiastek kwadratowy iloczynu (liczba * Pi). +SUBTOTAL = SUMY.POŚREDNIE ## Zwraca sumę częściową listy lub bazy danych. +SUM = SUMA ## Dodaje argumenty. +SUMIF = SUMA.JEŻELI ## Dodaje komórki określone przez podane kryterium. +SUMIFS = SUMA.WARUNKÓW ## Dodaje komórki w zakresie, które spełniają wiele kryteriów. +SUMPRODUCT = SUMA.ILOCZYNÓW ## Zwraca sumę iloczynów odpowiednich elementów tablicy. +SUMSQ = SUMA.KWADRATÓW ## Zwraca sumę kwadratów argumentów. +SUMX2MY2 = SUMA.X2.M.Y2 ## Zwraca sumę różnic kwadratów odpowiednich wartości w dwóch tablicach. +SUMX2PY2 = SUMA.X2.P.Y2 ## Zwraca sumę sum kwadratów odpowiednich wartości w dwóch tablicach. +SUMXMY2 = SUMA.XMY.2 ## Zwraca sumę kwadratów różnic odpowiednich wartości w dwóch tablicach. +TAN = TAN ## Zwraca tangens liczby. +TANH = TANH ## Zwraca tangens hiperboliczny liczby. +TRUNC = LICZBA.CAŁK ## Przycina liczbę do wartości całkowitej. + + +## +## Statistical functions Funkcje statystyczne +## +AVEDEV = ODCH.ŚREDNIE ## Zwraca średnią wartość odchyleń absolutnych punktów danych od ich wartości średniej. +AVERAGE = ŚREDNIA ## Zwraca wartość średnią argumentów. +AVERAGEA = ŚREDNIA.A ## Zwraca wartość średnią argumentów, z uwzględnieniem liczb, tekstów i wartości logicznych. +AVERAGEIF = ŚREDNIA.JEŻELI ## Zwraca średnią (średnią arytmetyczną) wszystkich komórek w zakresie, które spełniają podane kryteria. +AVERAGEIFS = ŚREDNIA.WARUNKÓW ## Zwraca średnią (średnią arytmetyczną) wszystkich komórek, które spełniają jedno lub więcej kryteriów. +BETADIST = ROZKŁAD.BETA ## Zwraca skumulowaną funkcję gęstości prawdopodobieństwa beta. +BETAINV = ROZKŁAD.BETA.ODW ## Zwraca odwrotność skumulowanej funkcji gęstości prawdopodobieństwa beta. +BINOMDIST = ROZKŁAD.DWUM ## Zwraca pojedynczy składnik dwumianowego rozkładu prawdopodobieństwa. +CHIDIST = ROZKŁAD.CHI ## Zwraca wartość jednostronnego prawdopodobieństwa rozkładu chi-kwadrat. +CHIINV = ROZKŁAD.CHI.ODW ## Zwraca odwrotność wartości jednostronnego prawdopodobieństwa rozkładu chi-kwadrat. +CHITEST = TEST.CHI ## Zwraca test niezależności. +CONFIDENCE = UFNOŚĆ ## Zwraca interwał ufności dla średniej populacji. +CORREL = WSP.KORELACJI ## Zwraca współczynnik korelacji dwóch zbiorów danych. +COUNT = ILE.LICZB ## Zlicza liczby znajdujące się na liście argumentów. +COUNTA = ILE.NIEPUSTYCH ## Zlicza wartości znajdujące się na liście argumentów. +COUNTBLANK = LICZ.PUSTE ## Zwraca liczbę pustych komórek w pewnym zakresie. +COUNTIF = LICZ.JEŻELI ## Zlicza komórki wewnątrz zakresu, które spełniają podane kryteria. +COUNTIFS = LICZ.WARUNKI ## Zlicza komórki wewnątrz zakresu, które spełniają wiele kryteriów. +COVAR = KOWARIANCJA ## Zwraca kowariancję, czyli średnią wartość iloczynów odpowiednich odchyleń. +CRITBINOM = PRÓG.ROZKŁAD.DWUM ## Zwraca najmniejszą wartość, dla której skumulowany rozkład dwumianowy jest mniejszy niż wartość kryterium lub równy jej. +DEVSQ = ODCH.KWADRATOWE ## Zwraca sumę kwadratów odchyleń. +EXPONDIST = ROZKŁAD.EXP ## Zwraca rozkład wykładniczy. +FDIST = ROZKŁAD.F ## Zwraca rozkład prawdopodobieństwa F. +FINV = ROZKŁAD.F.ODW ## Zwraca odwrotność rozkładu prawdopodobieństwa F. +FISHER = ROZKŁAD.FISHER ## Zwraca transformację Fishera. +FISHERINV = ROZKŁAD.FISHER.ODW ## Zwraca odwrotność transformacji Fishera. +FORECAST = REGLINX ## Zwraca wartość trendu liniowego. +FREQUENCY = CZĘSTOŚĆ ## Zwraca rozkład częstotliwości jako tablicę pionową. +FTEST = TEST.F ## Zwraca wynik testu F. +GAMMADIST = ROZKŁAD.GAMMA ## Zwraca rozkład gamma. +GAMMAINV = ROZKŁAD.GAMMA.ODW ## Zwraca odwrotność skumulowanego rozkładu gamma. +GAMMALN = ROZKŁAD.LIN.GAMMA ## Zwraca logarytm naturalny funkcji gamma, Γ(x). +GEOMEAN = ŚREDNIA.GEOMETRYCZNA ## Zwraca średnią geometryczną. +GROWTH = REGEXPW ## Zwraca wartości trendu wykładniczego. +HARMEAN = ŚREDNIA.HARMONICZNA ## Zwraca średnią harmoniczną. +HYPGEOMDIST = ROZKŁAD.HIPERGEOM ## Zwraca rozkład hipergeometryczny. +INTERCEPT = ODCIĘTA ## Zwraca punkt przecięcia osi pionowej z linią regresji liniowej. +KURT = KURTOZA ## Zwraca kurtozę zbioru danych. +LARGE = MAX.K ## Zwraca k-tą największą wartość ze zbioru danych. +LINEST = REGLINP ## Zwraca parametry trendu liniowego. +LOGEST = REGEXPP ## Zwraca parametry trendu wykładniczego. +LOGINV = ROZKŁAD.LOG.ODW ## Zwraca odwrotność rozkładu logarytmu naturalnego. +LOGNORMDIST = ROZKŁAD.LOG ## Zwraca skumulowany rozkład logarytmu naturalnego. +MAX = MAX ## Zwraca maksymalną wartość listy argumentów. +MAXA = MAX.A ## Zwraca maksymalną wartość listy argumentów, z uwzględnieniem liczb, tekstów i wartości logicznych. +MEDIAN = MEDIANA ## Zwraca medianę podanych liczb. +MIN = MIN ## Zwraca minimalną wartość listy argumentów. +MINA = MIN.A ## Zwraca najmniejszą wartość listy argumentów, z uwzględnieniem liczb, tekstów i wartości logicznych. +MODE = WYST.NAJCZĘŚCIEJ ## Zwraca wartość najczęściej występującą w zbiorze danych. +NEGBINOMDIST = ROZKŁAD.DWUM.PRZEC ## Zwraca ujemny rozkład dwumianowy. +NORMDIST = ROZKŁAD.NORMALNY ## Zwraca rozkład normalny skumulowany. +NORMINV = ROZKŁAD.NORMALNY.ODW ## Zwraca odwrotność rozkładu normalnego skumulowanego. +NORMSDIST = ROZKŁAD.NORMALNY.S ## Zwraca standardowy rozkład normalny skumulowany. +NORMSINV = ROZKŁAD.NORMALNY.S.ODW ## Zwraca odwrotność standardowego rozkładu normalnego skumulowanego. +PEARSON = PEARSON ## Zwraca współczynnik korelacji momentu iloczynu Pearsona. +PERCENTILE = PERCENTYL ## Wyznacza k-ty percentyl wartości w zakresie. +PERCENTRANK = PROCENT.POZYCJA ## Zwraca procentową pozycję wartości w zbiorze danych. +PERMUT = PERMUTACJE ## Zwraca liczbę permutacji dla danej liczby obiektów. +POISSON = ROZKŁAD.POISSON ## Zwraca rozkład Poissona. +PROB = PRAWDPD ## Zwraca prawdopodobieństwo, że wartości w zakresie leżą pomiędzy dwiema granicami. +QUARTILE = KWARTYL ## Wyznacza kwartyl zbioru danych. +RANK = POZYCJA ## Zwraca pozycję liczby na liście liczb. +RSQ = R.KWADRAT ## Zwraca kwadrat współczynnika korelacji momentu iloczynu Pearsona. +SKEW = SKOŚNOŚĆ ## Zwraca skośność rozkładu. +SLOPE = NACHYLENIE ## Zwraca nachylenie linii regresji liniowej. +SMALL = MIN.K ## Zwraca k-tą najmniejszą wartość ze zbioru danych. +STANDARDIZE = NORMALIZUJ ## Zwraca wartość znormalizowaną. +STDEV = ODCH.STANDARDOWE ## Szacuje odchylenie standardowe na podstawie próbki. +STDEVA = ODCH.STANDARDOWE.A ## Szacuje odchylenie standardowe na podstawie próbki, z uwzględnieniem liczb, tekstów i wartości logicznych. +STDEVP = ODCH.STANDARD.POPUL ## Oblicza odchylenie standardowe na podstawie całej populacji. +STDEVPA = ODCH.STANDARD.POPUL.A ## Oblicza odchylenie standardowe na podstawie całej populacji, z uwzględnieniem liczb, teksów i wartości logicznych. +STEYX = REGBŁSTD ## Zwraca błąd standardowy przewidzianej wartości y dla każdej wartości x w regresji. +TDIST = ROZKŁAD.T ## Zwraca rozkład t-Studenta. +TINV = ROZKŁAD.T.ODW ## Zwraca odwrotność rozkładu t-Studenta. +TREND = REGLINW ## Zwraca wartości trendu liniowego. +TRIMMEAN = ŚREDNIA.WEWN ## Zwraca średnią wartość dla wnętrza zbioru danych. +TTEST = TEST.T ## Zwraca prawdopodobieństwo związane z testem t-Studenta. +VAR = WARIANCJA ## Szacuje wariancję na podstawie próbki. +VARA = WARIANCJA.A ## Szacuje wariancję na podstawie próbki, z uwzględnieniem liczb, tekstów i wartości logicznych. +VARP = WARIANCJA.POPUL ## Oblicza wariancję na podstawie całej populacji. +VARPA = WARIANCJA.POPUL.A ## Oblicza wariancję na podstawie całej populacji, z uwzględnieniem liczb, tekstów i wartości logicznych. +WEIBULL = ROZKŁAD.WEIBULL ## Zwraca rozkład Weibulla. +ZTEST = TEST.Z ## Zwraca wartość jednostronnego prawdopodobieństwa testu z. + + +## +## Text functions Funkcje tekstowe +## +ASC = ASC ## Zamienia litery angielskie lub katakana o pełnej szerokości (dwubajtowe) w ciągu znaków na znaki o szerokości połówkowej (jednobajtowe). +BAHTTEXT = BAHTTEXT ## Konwertuje liczbę na tekst, stosując format walutowy ß (baht). +CHAR = ZNAK ## Zwraca znak o podanym numerze kodu. +CLEAN = OCZYŚĆ ## Usuwa z tekstu wszystkie znaki, które nie mogą być drukowane. +CODE = KOD ## Zwraca kod numeryczny pierwszego znaku w ciągu tekstowym. +CONCATENATE = ZŁĄCZ.TEKSTY ## Łączy kilka oddzielnych tekstów w jeden tekst. +DOLLAR = KWOTA ## Konwertuje liczbę na tekst, stosując format walutowy $ (dolar). +EXACT = PORÓWNAJ ## Sprawdza identyczność dwóch wartości tekstowych. +FIND = ZNAJDŹ ## Znajduje jedną wartość tekstową wewnątrz innej (z uwzględnieniem wielkich i małych liter). +FINDB = ZNAJDŹB ## Znajduje jedną wartość tekstową wewnątrz innej (z uwzględnieniem wielkich i małych liter). +FIXED = ZAOKR.DO.TEKST ## Formatuje liczbę jako tekst przy stałej liczbie miejsc dziesiętnych. +JIS = JIS ## Zmienia litery angielskie lub katakana o szerokości połówkowej (jednobajtowe) w ciągu znaków na znaki o pełnej szerokości (dwubajtowe). +LEFT = LEWY ## Zwraca skrajne lewe znaki z wartości tekstowej. +LEFTB = LEWYB ## Zwraca skrajne lewe znaki z wartości tekstowej. +LEN = DŁ ## Zwraca liczbę znaków ciągu tekstowego. +LENB = DŁ.B ## Zwraca liczbę znaków ciągu tekstowego. +LOWER = LITERY.MAŁE ## Konwertuje wielkie litery tekstu na małe litery. +MID = FRAGMENT.TEKSTU ## Zwraca określoną liczbę znaków z ciągu tekstowego, zaczynając od zadanej pozycji. +MIDB = FRAGMENT.TEKSTU.B ## Zwraca określoną liczbę znaków z ciągu tekstowego, zaczynając od zadanej pozycji. +PHONETIC = PHONETIC ## Wybiera znaki fonetyczne (furigana) z ciągu tekstowego. +PROPER = Z.WIELKIEJ.LITERY ## Zastępuje pierwszą literę każdego wyrazu tekstu wielką literą. +REPLACE = ZASTĄP ## Zastępuje znaki w tekście. +REPLACEB = ZASTĄP.B ## Zastępuje znaki w tekście. +REPT = POWT ## Powiela tekst daną liczbę razy. +RIGHT = PRAWY ## Zwraca skrajne prawe znaki z wartości tekstowej. +RIGHTB = PRAWYB ## Zwraca skrajne prawe znaki z wartości tekstowej. +SEARCH = SZUKAJ.TEKST ## Wyszukuje jedną wartość tekstową wewnątrz innej (bez uwzględniania wielkości liter). +SEARCHB = SZUKAJ.TEKST.B ## Wyszukuje jedną wartość tekstową wewnątrz innej (bez uwzględniania wielkości liter). +SUBSTITUTE = PODSTAW ## Podstawia nowy tekst w miejsce poprzedniego tekstu w ciągu tekstowym. +T = T ## Konwertuje argumenty na tekst. +TEXT = TEKST ## Formatuje liczbę i konwertuje ją na tekst. +TRIM = USUŃ.ZBĘDNE.ODSTĘPY ## Usuwa spacje z tekstu. +UPPER = LITERY.WIELKIE ## Konwertuje znaki tekstu na wielkie litery. +VALUE = WARTOŚĆ ## Konwertuje argument tekstowy na liczbę. diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/locale/pt/br/config b/vendor/phpoffice/phpexcel/Classes/PHPExcel/locale/pt/br/config new file mode 100644 index 00000000..45b6fbd9 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/locale/pt/br/config @@ -0,0 +1,47 @@ +## +## PHPExcel +## +## Copyright (c) 2006 - 2013 PHPExcel +## +## This library is free software; you can redistribute it and/or +## modify it under the terms of the GNU Lesser General Public +## License as published by the Free Software Foundation; either +## version 2.1 of the License, or (at your option) any later version. +## +## This library is distributed in the hope that it will be useful, +## but WITHOUT ANY WARRANTY; without even the implied warranty of +## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +## Lesser General Public License for more details. +## +## You should have received a copy of the GNU Lesser General Public +## License along with this library; if not, write to the Free Software +## Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +## +## @category PHPExcel +## @package PHPExcel_Settings +## @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel) +## @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL +## @version ##VERSION##, ##DATE## +## +## + + +ArgumentSeparator = ; + + +## +## (For future use) +## +currencySymbol = R$ + + +## +## Excel Error Codes (For future use) +## +NULL = #NULO! +DIV0 = #DIV/0! +VALUE = #VALOR! +REF = #REF! +NAME = #NOME? +NUM = #NÚM! +NA = #N/D diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/locale/pt/br/functions b/vendor/phpoffice/phpexcel/Classes/PHPExcel/locale/pt/br/functions new file mode 100644 index 00000000..f3ba3a35 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/locale/pt/br/functions @@ -0,0 +1,408 @@ +## +## Add-in and Automation functions Funções Suplemento e Automação +## +GETPIVOTDATA = INFODADOSTABELADINÂMICA ## Retorna os dados armazenados em um relatório de tabela dinâmica + + +## +## Cube functions Funções de Cubo +## +CUBEKPIMEMBER = MEMBROKPICUBO ## Retorna o nome de um KPI (indicador de desempenho-chave), uma propriedade e uma medida e exibe o nome e a propriedade na célula. Um KPI é uma medida quantificável, como o lucro bruto mensal ou a rotatividade trimestral dos funcionários, usada para monitorar o desempenho de uma organização. +CUBEMEMBER = MEMBROCUBO ## Retorna um membro ou tupla em uma hierarquia de cubo. Use para validar se o membro ou tupla existe no cubo. +CUBEMEMBERPROPERTY = PROPRIEDADEMEMBROCUBO ## Retorna o valor da propriedade de um membro no cubo. Usada para validar a existência do nome do membro no cubo e para retornar a propriedade especificada para esse membro. +CUBERANKEDMEMBER = MEMBROCLASSIFICADOCUBO ## Retorna o enésimo membro, ou o membro ordenado, em um conjunto. Use para retornar um ou mais elementos em um conjunto, assim como o melhor vendedor ou os dez melhores alunos. +CUBESET = CONJUNTOCUBO ## Define um conjunto calculado de membros ou tuplas enviando uma expressão do conjunto para o cubo no servidor, que cria o conjunto e o retorna para o Microsoft Office Excel. +CUBESETCOUNT = CONTAGEMCONJUNTOCUBO ## Retorna o número de itens em um conjunto. +CUBEVALUE = VALORCUBO ## Retorna um valor agregado de um cubo. + + +## +## Database functions Funções de banco de dados +## +DAVERAGE = BDMÉDIA ## Retorna a média das entradas selecionadas de um banco de dados +DCOUNT = BDCONTAR ## Conta as células que contêm números em um banco de dados +DCOUNTA = BDCONTARA ## Conta células não vazias em um banco de dados +DGET = BDEXTRAIR ## Extrai de um banco de dados um único registro que corresponde a um critério específico +DMAX = BDMÁX ## Retorna o valor máximo de entradas selecionadas de um banco de dados +DMIN = BDMÍN ## Retorna o valor mínimo de entradas selecionadas de um banco de dados +DPRODUCT = BDMULTIPL ## Multiplica os valores em um campo específico de registros que correspondem ao critério em um banco de dados +DSTDEV = BDEST ## Estima o desvio padrão com base em uma amostra de entradas selecionadas de um banco de dados +DSTDEVP = BDDESVPA ## Calcula o desvio padrão com base na população inteira de entradas selecionadas de um banco de dados +DSUM = BDSOMA ## Adiciona os números à coluna de campos de registros do banco de dados que correspondem ao critério +DVAR = BDVAREST ## Estima a variância com base em uma amostra de entradas selecionadas de um banco de dados +DVARP = BDVARP ## Calcula a variância com base na população inteira de entradas selecionadas de um banco de dados + + +## +## Date and time functions Funções de data e hora +## +DATE = DATA ## Retorna o número de série de uma data específica +DATEVALUE = DATA.VALOR ## Converte uma data na forma de texto para um número de série +DAY = DIA ## Converte um número de série em um dia do mês +DAYS360 = DIAS360 ## Calcula o número de dias entre duas datas com base em um ano de 360 dias +EDATE = DATAM ## Retorna o número de série da data que é o número indicado de meses antes ou depois da data inicial +EOMONTH = FIMMÊS ## Retorna o número de série do último dia do mês antes ou depois de um número especificado de meses +HOUR = HORA ## Converte um número de série em uma hora +MINUTE = MINUTO ## Converte um número de série em um minuto +MONTH = MÊS ## Converte um número de série em um mês +NETWORKDAYS = DIATRABALHOTOTAL ## Retorna o número de dias úteis inteiros entre duas datas +NOW = AGORA ## Retorna o número de série seqüencial da data e hora atuais +SECOND = SEGUNDO ## Converte um número de série em um segundo +TIME = HORA ## Retorna o número de série de uma hora específica +TIMEVALUE = VALOR.TEMPO ## Converte um horário na forma de texto para um número de série +TODAY = HOJE ## Retorna o número de série da data de hoje +WEEKDAY = DIA.DA.SEMANA ## Converte um número de série em um dia da semana +WEEKNUM = NÚMSEMANA ## Converte um número de série em um número que representa onde a semana cai numericamente em um ano +WORKDAY = DIATRABALHO ## Retorna o número de série da data antes ou depois de um número específico de dias úteis +YEAR = ANO ## Converte um número de série em um ano +YEARFRAC = FRAÇÃOANO ## Retorna a fração do ano que representa o número de dias entre data_inicial e data_final + + +## +## Engineering functions Funções de engenharia +## +BESSELI = BESSELI ## Retorna a função de Bessel In(x) modificada +BESSELJ = BESSELJ ## Retorna a função de Bessel Jn(x) +BESSELK = BESSELK ## Retorna a função de Bessel Kn(x) modificada +BESSELY = BESSELY ## Retorna a função de Bessel Yn(x) +BIN2DEC = BIN2DEC ## Converte um número binário em decimal +BIN2HEX = BIN2HEX ## Converte um número binário em hexadecimal +BIN2OCT = BIN2OCT ## Converte um número binário em octal +COMPLEX = COMPLEX ## Converte coeficientes reais e imaginários e um número complexo +CONVERT = CONVERTER ## Converte um número de um sistema de medida para outro +DEC2BIN = DECABIN ## Converte um número decimal em binário +DEC2HEX = DECAHEX ## Converte um número decimal em hexadecimal +DEC2OCT = DECAOCT ## Converte um número decimal em octal +DELTA = DELTA ## Testa se dois valores são iguais +ERF = FUNERRO ## Retorna a função de erro +ERFC = FUNERROCOMPL ## Retorna a função de erro complementar +GESTEP = DEGRAU ## Testa se um número é maior do que um valor limite +HEX2BIN = HEXABIN ## Converte um número hexadecimal em binário +HEX2DEC = HEXADEC ## Converte um número hexadecimal em decimal +HEX2OCT = HEXAOCT ## Converte um número hexadecimal em octal +IMABS = IMABS ## Retorna o valor absoluto (módulo) de um número complexo +IMAGINARY = IMAGINÁRIO ## Retorna o coeficiente imaginário de um número complexo +IMARGUMENT = IMARG ## Retorna o argumento teta, um ângulo expresso em radianos +IMCONJUGATE = IMCONJ ## Retorna o conjugado complexo de um número complexo +IMCOS = IMCOS ## Retorna o cosseno de um número complexo +IMDIV = IMDIV ## Retorna o quociente de dois números complexos +IMEXP = IMEXP ## Retorna o exponencial de um número complexo +IMLN = IMLN ## Retorna o logaritmo natural de um número complexo +IMLOG10 = IMLOG10 ## Retorna o logaritmo de base 10 de um número complexo +IMLOG2 = IMLOG2 ## Retorna o logaritmo de base 2 de um número complexo +IMPOWER = IMPOT ## Retorna um número complexo elevado a uma potência inteira +IMPRODUCT = IMPROD ## Retorna o produto de números complexos +IMREAL = IMREAL ## Retorna o coeficiente real de um número complexo +IMSIN = IMSENO ## Retorna o seno de um número complexo +IMSQRT = IMRAIZ ## Retorna a raiz quadrada de um número complexo +IMSUB = IMSUBTR ## Retorna a diferença entre dois números complexos +IMSUM = IMSOMA ## Retorna a soma de números complexos +OCT2BIN = OCTABIN ## Converte um número octal em binário +OCT2DEC = OCTADEC ## Converte um número octal em decimal +OCT2HEX = OCTAHEX ## Converte um número octal em hexadecimal + + +## +## Financial functions Funções financeiras +## +ACCRINT = JUROSACUM ## Retorna a taxa de juros acumulados de um título que paga uma taxa periódica de juros +ACCRINTM = JUROSACUMV ## Retorna os juros acumulados de um título que paga juros no vencimento +AMORDEGRC = AMORDEGRC ## Retorna a depreciação para cada período contábil usando o coeficiente de depreciação +AMORLINC = AMORLINC ## Retorna a depreciação para cada período contábil +COUPDAYBS = CUPDIASINLIQ ## Retorna o número de dias do início do período de cupom até a data de liquidação +COUPDAYS = CUPDIAS ## Retorna o número de dias no período de cupom que contém a data de quitação +COUPDAYSNC = CUPDIASPRÓX ## Retorna o número de dias da data de liquidação até a data do próximo cupom +COUPNCD = CUPDATAPRÓX ## Retorna a próxima data de cupom após a data de quitação +COUPNUM = CUPNÚM ## Retorna o número de cupons pagáveis entre as datas de quitação e vencimento +COUPPCD = CUPDATAANT ## Retorna a data de cupom anterior à data de quitação +CUMIPMT = PGTOJURACUM ## Retorna os juros acumulados pagos entre dois períodos +CUMPRINC = PGTOCAPACUM ## Retorna o capital acumulado pago sobre um empréstimo entre dois períodos +DB = BD ## Retorna a depreciação de um ativo para um período especificado, usando o método de balanço de declínio fixo +DDB = BDD ## Retorna a depreciação de um ativo com relação a um período especificado usando o método de saldos decrescentes duplos ou qualquer outro método especificado por você +DISC = DESC ## Retorna a taxa de desconto de um título +DOLLARDE = MOEDADEC ## Converte um preço em formato de moeda, na forma fracionária, em um preço na forma decimal +DOLLARFR = MOEDAFRA ## Converte um preço, apresentado na forma decimal, em um preço apresentado na forma fracionária +DURATION = DURAÇÃO ## Retorna a duração anual de um título com pagamentos de juros periódicos +EFFECT = EFETIVA ## Retorna a taxa de juros anual efetiva +FV = VF ## Retorna o valor futuro de um investimento +FVSCHEDULE = VFPLANO ## Retorna o valor futuro de um capital inicial após a aplicação de uma série de taxas de juros compostas +INTRATE = TAXAJUROS ## Retorna a taxa de juros de um título totalmente investido +IPMT = IPGTO ## Retorna o pagamento de juros para um investimento em um determinado período +IRR = TIR ## Retorna a taxa interna de retorno de uma série de fluxos de caixa +ISPMT = ÉPGTO ## Calcula os juros pagos durante um período específico de um investimento +MDURATION = MDURAÇÃO ## Retorna a duração de Macauley modificada para um título com um valor de paridade equivalente a R$ 100 +MIRR = MTIR ## Calcula a taxa interna de retorno em que fluxos de caixa positivos e negativos são financiados com diferentes taxas +NOMINAL = NOMINAL ## Retorna a taxa de juros nominal anual +NPER = NPER ## Retorna o número de períodos de um investimento +NPV = VPL ## Retorna o valor líquido atual de um investimento com base em uma série de fluxos de caixa periódicos e em uma taxa de desconto +ODDFPRICE = PREÇOPRIMINC ## Retorna o preço por R$ 100 de valor nominal de um título com um primeiro período indefinido +ODDFYIELD = LUCROPRIMINC ## Retorna o rendimento de um título com um primeiro período indefinido +ODDLPRICE = PREÇOÚLTINC ## Retorna o preço por R$ 100 de valor nominal de um título com um último período de cupom indefinido +ODDLYIELD = LUCROÚLTINC ## Retorna o rendimento de um título com um último período indefinido +PMT = PGTO ## Retorna o pagamento periódico de uma anuidade +PPMT = PPGTO ## Retorna o pagamento de capital para determinado período de investimento +PRICE = PREÇO ## Retorna a preço por R$ 100,00 de valor nominal de um título que paga juros periódicos +PRICEDISC = PREÇODESC ## Retorna o preço por R$ 100,00 de valor nominal de um título descontado +PRICEMAT = PREÇOVENC ## Retorna o preço por R$ 100,00 de valor nominal de um título que paga juros no vencimento +PV = VP ## Retorna o valor presente de um investimento +RATE = TAXA ## Retorna a taxa de juros por período de uma anuidade +RECEIVED = RECEBER ## Retorna a quantia recebida no vencimento de um título totalmente investido +SLN = DPD ## Retorna a depreciação em linha reta de um ativo durante um período +SYD = SDA ## Retorna a depreciação dos dígitos da soma dos anos de um ativo para um período especificado +TBILLEQ = OTN ## Retorna o rendimento de um título equivalente a uma obrigação do Tesouro +TBILLPRICE = OTNVALOR ## Retorna o preço por R$ 100,00 de valor nominal de uma obrigação do Tesouro +TBILLYIELD = OTNLUCRO ## Retorna o rendimento de uma obrigação do Tesouro +VDB = BDV ## Retorna a depreciação de um ativo para um período especificado ou parcial usando um método de balanço declinante +XIRR = XTIR ## Fornece a taxa interna de retorno para um programa de fluxos de caixa que não é necessariamente periódico +XNPV = XVPL ## Retorna o valor presente líquido de um programa de fluxos de caixa que não é necessariamente periódico +YIELD = LUCRO ## Retorna o lucro de um título que paga juros periódicos +YIELDDISC = LUCRODESC ## Retorna o rendimento anual de um título descontado. Por exemplo, uma obrigação do Tesouro +YIELDMAT = LUCROVENC ## Retorna o lucro anual de um título que paga juros no vencimento + + +## +## Information functions Funções de informação +## +CELL = CÉL ## Retorna informações sobre formatação, localização ou conteúdo de uma célula +ERROR.TYPE = TIPO.ERRO ## Retorna um número correspondente a um tipo de erro +INFO = INFORMAÇÃO ## Retorna informações sobre o ambiente operacional atual +ISBLANK = ÉCÉL.VAZIA ## Retorna VERDADEIRO se o valor for vazio +ISERR = ÉERRO ## Retorna VERDADEIRO se o valor for um valor de erro diferente de #N/D +ISERROR = ÉERROS ## Retorna VERDADEIRO se o valor for um valor de erro +ISEVEN = ÉPAR ## Retorna VERDADEIRO se o número for par +ISLOGICAL = ÉLÓGICO ## Retorna VERDADEIRO se o valor for um valor lógico +ISNA = É.NÃO.DISP ## Retorna VERDADEIRO se o valor for o valor de erro #N/D +ISNONTEXT = É.NÃO.TEXTO ## Retorna VERDADEIRO se o valor for diferente de texto +ISNUMBER = ÉNÚM ## Retorna VERDADEIRO se o valor for um número +ISODD = ÉIMPAR ## Retorna VERDADEIRO se o número for ímpar +ISREF = ÉREF ## Retorna VERDADEIRO se o valor for uma referência +ISTEXT = ÉTEXTO ## Retorna VERDADEIRO se o valor for texto +N = N ## Retorna um valor convertido em um número +NA = NÃO.DISP ## Retorna o valor de erro #N/D +TYPE = TIPO ## Retorna um número indicando o tipo de dados de um valor + + +## +## Logical functions Funções lógicas +## +AND = E ## Retorna VERDADEIRO se todos os seus argumentos forem VERDADEIROS +FALSE = FALSO ## Retorna o valor lógico FALSO +IF = SE ## Especifica um teste lógico a ser executado +IFERROR = SEERRO ## Retornará um valor que você especifica se uma fórmula for avaliada para um erro; do contrário, retornará o resultado da fórmula +NOT = NÃO ## Inverte o valor lógico do argumento +OR = OU ## Retorna VERDADEIRO se um dos argumentos for VERDADEIRO +TRUE = VERDADEIRO ## Retorna o valor lógico VERDADEIRO + + +## +## Lookup and reference functions Funções de pesquisa e referência +## +ADDRESS = ENDEREÇO ## Retorna uma referência como texto para uma única célula em uma planilha +AREAS = ÁREAS ## Retorna o número de áreas em uma referência +CHOOSE = ESCOLHER ## Escolhe um valor a partir de uma lista de valores +COLUMN = COL ## Retorna o número da coluna de uma referência +COLUMNS = COLS ## Retorna o número de colunas em uma referência +HLOOKUP = PROCH ## Procura na linha superior de uma matriz e retorna o valor da célula especificada +HYPERLINK = HYPERLINK ## Cria um atalho ou salto que abre um documento armazenado em um servidor de rede, uma intranet ou na Internet +INDEX = ÍNDICE ## Usa um índice para escolher um valor de uma referência ou matriz +INDIRECT = INDIRETO ## Retorna uma referência indicada por um valor de texto +LOOKUP = PROC ## Procura valores em um vetor ou em uma matriz +MATCH = CORRESP ## Procura valores em uma referência ou em uma matriz +OFFSET = DESLOC ## Retorna um deslocamento de referência com base em uma determinada referência +ROW = LIN ## Retorna o número da linha de uma referência +ROWS = LINS ## Retorna o número de linhas em uma referência +RTD = RTD ## Recupera dados em tempo real de um programa que ofereça suporte a automação COM (automação: uma forma de trabalhar com objetos de um aplicativo a partir de outro aplicativo ou ferramenta de desenvolvimento. Chamada inicialmente de automação OLE, a automação é um padrão industrial e um recurso do modelo de objeto componente (COM).) +TRANSPOSE = TRANSPOR ## Retorna a transposição de uma matriz +VLOOKUP = PROCV ## Procura na primeira coluna de uma matriz e move ao longo da linha para retornar o valor de uma célula + + +## +## Math and trigonometry functions Funções matemáticas e trigonométricas +## +ABS = ABS ## Retorna o valor absoluto de um número +ACOS = ACOS ## Retorna o arco cosseno de um número +ACOSH = ACOSH ## Retorna o cosseno hiperbólico inverso de um número +ASIN = ASEN ## Retorna o arco seno de um número +ASINH = ASENH ## Retorna o seno hiperbólico inverso de um número +ATAN = ATAN ## Retorna o arco tangente de um número +ATAN2 = ATAN2 ## Retorna o arco tangente das coordenadas x e y especificadas +ATANH = ATANH ## Retorna a tangente hiperbólica inversa de um número +CEILING = TETO ## Arredonda um número para o inteiro mais próximo ou para o múltiplo mais próximo de significância +COMBIN = COMBIN ## Retorna o número de combinações de um determinado número de objetos +COS = COS ## Retorna o cosseno de um número +COSH = COSH ## Retorna o cosseno hiperbólico de um número +DEGREES = GRAUS ## Converte radianos em graus +EVEN = PAR ## Arredonda um número para cima até o inteiro par mais próximo +EXP = EXP ## Retorna e elevado à potência de um número especificado +FACT = FATORIAL ## Retorna o fatorial de um número +FACTDOUBLE = FATDUPLO ## Retorna o fatorial duplo de um número +FLOOR = ARREDMULTB ## Arredonda um número para baixo até zero +GCD = MDC ## Retorna o máximo divisor comum +INT = INT ## Arredonda um número para baixo até o número inteiro mais próximo +LCM = MMC ## Retorna o mínimo múltiplo comum +LN = LN ## Retorna o logaritmo natural de um número +LOG = LOG ## Retorna o logaritmo de um número de uma base especificada +LOG10 = LOG10 ## Retorna o logaritmo de base 10 de um número +MDETERM = MATRIZ.DETERM ## Retorna o determinante de uma matriz de uma variável do tipo matriz +MINVERSE = MATRIZ.INVERSO ## Retorna a matriz inversa de uma matriz +MMULT = MATRIZ.MULT ## Retorna o produto de duas matrizes +MOD = RESTO ## Retorna o resto da divisão +MROUND = MARRED ## Retorna um número arredondado ao múltiplo desejado +MULTINOMIAL = MULTINOMIAL ## Retorna o multinomial de um conjunto de números +ODD = ÍMPAR ## Arredonda um número para cima até o inteiro ímpar mais próximo +PI = PI ## Retorna o valor de Pi +POWER = POTÊNCIA ## Fornece o resultado de um número elevado a uma potência +PRODUCT = MULT ## Multiplica seus argumentos +QUOTIENT = QUOCIENTE ## Retorna a parte inteira de uma divisão +RADIANS = RADIANOS ## Converte graus em radianos +RAND = ALEATÓRIO ## Retorna um número aleatório entre 0 e 1 +RANDBETWEEN = ALEATÓRIOENTRE ## Retorna um número aleatório entre os números especificados +ROMAN = ROMANO ## Converte um algarismo arábico em romano, como texto +ROUND = ARRED ## Arredonda um número até uma quantidade especificada de dígitos +ROUNDDOWN = ARREDONDAR.PARA.BAIXO ## Arredonda um número para baixo até zero +ROUNDUP = ARREDONDAR.PARA.CIMA ## Arredonda um número para cima, afastando-o de zero +SERIESSUM = SOMASEQÜÊNCIA ## Retorna a soma de uma série polinomial baseada na fórmula +SIGN = SINAL ## Retorna o sinal de um número +SIN = SEN ## Retorna o seno de um ângulo dado +SINH = SENH ## Retorna o seno hiperbólico de um número +SQRT = RAIZ ## Retorna uma raiz quadrada positiva +SQRTPI = RAIZPI ## Retorna a raiz quadrada de (núm* pi) +SUBTOTAL = SUBTOTAL ## Retorna um subtotal em uma lista ou em um banco de dados +SUM = SOMA ## Soma seus argumentos +SUMIF = SOMASE ## Adiciona as células especificadas por um determinado critério +SUMIFS = SOMASE ## Adiciona as células em um intervalo que atende a vários critérios +SUMPRODUCT = SOMARPRODUTO ## Retorna a soma dos produtos de componentes correspondentes de matrizes +SUMSQ = SOMAQUAD ## Retorna a soma dos quadrados dos argumentos +SUMX2MY2 = SOMAX2DY2 ## Retorna a soma da diferença dos quadrados dos valores correspondentes em duas matrizes +SUMX2PY2 = SOMAX2SY2 ## Retorna a soma da soma dos quadrados dos valores correspondentes em duas matrizes +SUMXMY2 = SOMAXMY2 ## Retorna a soma dos quadrados das diferenças dos valores correspondentes em duas matrizes +TAN = TAN ## Retorna a tangente de um número +TANH = TANH ## Retorna a tangente hiperbólica de um número +TRUNC = TRUNCAR ## Trunca um número para um inteiro + + +## +## Statistical functions Funções estatísticas +## +AVEDEV = DESV.MÉDIO ## Retorna a média aritmética dos desvios médios dos pontos de dados a partir de sua média +AVERAGE = MÉDIA ## Retorna a média dos argumentos +AVERAGEA = MÉDIAA ## Retorna a média dos argumentos, inclusive números, texto e valores lógicos +AVERAGEIF = MÉDIASE ## Retorna a média (média aritmética) de todas as células em um intervalo que atendem a um determinado critério +AVERAGEIFS = MÉDIASES ## Retorna a média (média aritmética) de todas as células que atendem a múltiplos critérios. +BETADIST = DISTBETA ## Retorna a função de distribuição cumulativa beta +BETAINV = BETA.ACUM.INV ## Retorna o inverso da função de distribuição cumulativa para uma distribuição beta especificada +BINOMDIST = DISTRBINOM ## Retorna a probabilidade de distribuição binomial do termo individual +CHIDIST = DIST.QUI ## Retorna a probabilidade unicaudal da distribuição qui-quadrada +CHIINV = INV.QUI ## Retorna o inverso da probabilidade uni-caudal da distribuição qui-quadrada +CHITEST = TESTE.QUI ## Retorna o teste para independência +CONFIDENCE = INT.CONFIANÇA ## Retorna o intervalo de confiança para uma média da população +CORREL = CORREL ## Retorna o coeficiente de correlação entre dois conjuntos de dados +COUNT = CONT.NÚM ## Calcula quantos números há na lista de argumentos +COUNTA = CONT.VALORES ## Calcula quantos valores há na lista de argumentos +COUNTBLANK = CONTAR.VAZIO ## Conta o número de células vazias no intervalo especificado +COUNTIF = CONT.SE ## Calcula o número de células não vazias em um intervalo que corresponde a determinados critérios +COUNTIFS = CONT.SES ## Conta o número de células dentro de um intervalo que atende a múltiplos critérios +COVAR = COVAR ## Retorna a covariância, a média dos produtos dos desvios pares +CRITBINOM = CRIT.BINOM ## Retorna o menor valor para o qual a distribuição binomial cumulativa é menor ou igual ao valor padrão +DEVSQ = DESVQ ## Retorna a soma dos quadrados dos desvios +EXPONDIST = DISTEXPON ## Retorna a distribuição exponencial +FDIST = DISTF ## Retorna a distribuição de probabilidade F +FINV = INVF ## Retorna o inverso da distribuição de probabilidades F +FISHER = FISHER ## Retorna a transformação Fisher +FISHERINV = FISHERINV ## Retorna o inverso da transformação Fisher +FORECAST = PREVISÃO ## Retorna um valor ao longo de uma linha reta +FREQUENCY = FREQÜÊNCIA ## Retorna uma distribuição de freqüência como uma matriz vertical +FTEST = TESTEF ## Retorna o resultado de um teste F +GAMMADIST = DISTGAMA ## Retorna a distribuição gama +GAMMAINV = INVGAMA ## Retorna o inverso da distribuição cumulativa gama +GAMMALN = LNGAMA ## Retorna o logaritmo natural da função gama, G(x) +GEOMEAN = MÉDIA.GEOMÉTRICA ## Retorna a média geométrica +GROWTH = CRESCIMENTO ## Retorna valores ao longo de uma tendência exponencial +HARMEAN = MÉDIA.HARMÔNICA ## Retorna a média harmônica +HYPGEOMDIST = DIST.HIPERGEOM ## Retorna a distribuição hipergeométrica +INTERCEPT = INTERCEPÇÃO ## Retorna a intercepção da linha de regressão linear +KURT = CURT ## Retorna a curtose de um conjunto de dados +LARGE = MAIOR ## Retorna o maior valor k-ésimo de um conjunto de dados +LINEST = PROJ.LIN ## Retorna os parâmetros de uma tendência linear +LOGEST = PROJ.LOG ## Retorna os parâmetros de uma tendência exponencial +LOGINV = INVLOG ## Retorna o inverso da distribuição lognormal +LOGNORMDIST = DIST.LOGNORMAL ## Retorna a distribuição lognormal cumulativa +MAX = MÁXIMO ## Retorna o valor máximo em uma lista de argumentos +MAXA = MÁXIMOA ## Retorna o maior valor em uma lista de argumentos, inclusive números, texto e valores lógicos +MEDIAN = MED ## Retorna a mediana dos números indicados +MIN = MÍNIMO ## Retorna o valor mínimo em uma lista de argumentos +MINA = MÍNIMOA ## Retorna o menor valor em uma lista de argumentos, inclusive números, texto e valores lógicos +MODE = MODO ## Retorna o valor mais comum em um conjunto de dados +NEGBINOMDIST = DIST.BIN.NEG ## Retorna a distribuição binomial negativa +NORMDIST = DIST.NORM ## Retorna a distribuição cumulativa normal +NORMINV = INV.NORM ## Retorna o inverso da distribuição cumulativa normal +NORMSDIST = DIST.NORMP ## Retorna a distribuição cumulativa normal padrão +NORMSINV = INV.NORMP ## Retorna o inverso da distribuição cumulativa normal padrão +PEARSON = PEARSON ## Retorna o coeficiente de correlação do momento do produto Pearson +PERCENTILE = PERCENTIL ## Retorna o k-ésimo percentil de valores em um intervalo +PERCENTRANK = ORDEM.PORCENTUAL ## Retorna a ordem percentual de um valor em um conjunto de dados +PERMUT = PERMUT ## Retorna o número de permutações de um determinado número de objetos +POISSON = POISSON ## Retorna a distribuição Poisson +PROB = PROB ## Retorna a probabilidade de valores em um intervalo estarem entre dois limites +QUARTILE = QUARTIL ## Retorna o quartil do conjunto de dados +RANK = ORDEM ## Retorna a posição de um número em uma lista de números +RSQ = RQUAD ## Retorna o quadrado do coeficiente de correlação do momento do produto de Pearson +SKEW = DISTORÇÃO ## Retorna a distorção de uma distribuição +SLOPE = INCLINAÇÃO ## Retorna a inclinação da linha de regressão linear +SMALL = MENOR ## Retorna o menor valor k-ésimo do conjunto de dados +STANDARDIZE = PADRONIZAR ## Retorna um valor normalizado +STDEV = DESVPAD ## Estima o desvio padrão com base em uma amostra +STDEVA = DESVPADA ## Estima o desvio padrão com base em uma amostra, inclusive números, texto e valores lógicos +STDEVP = DESVPADP ## Calcula o desvio padrão com base na população total +STDEVPA = DESVPADPA ## Calcula o desvio padrão com base na população total, inclusive números, texto e valores lógicos +STEYX = EPADYX ## Retorna o erro padrão do valor-y previsto para cada x da regressão +TDIST = DISTT ## Retorna a distribuição t de Student +TINV = INVT ## Retorna o inverso da distribuição t de Student +TREND = TENDÊNCIA ## Retorna valores ao longo de uma tendência linear +TRIMMEAN = MÉDIA.INTERNA ## Retorna a média do interior de um conjunto de dados +TTEST = TESTET ## Retorna a probabilidade associada ao teste t de Student +VAR = VAR ## Estima a variância com base em uma amostra +VARA = VARA ## Estima a variância com base em uma amostra, inclusive números, texto e valores lógicos +VARP = VARP ## Calcula a variância com base na população inteira +VARPA = VARPA ## Calcula a variância com base na população total, inclusive números, texto e valores lógicos +WEIBULL = WEIBULL ## Retorna a distribuição Weibull +ZTEST = TESTEZ ## Retorna o valor de probabilidade uni-caudal de um teste-z + + +## +## Text functions Funções de texto +## +ASC = ASC ## Altera letras do inglês ou katakana de largura total (bytes duplos) dentro de uma seqüência de caracteres para caracteres de meia largura (byte único) +BAHTTEXT = BAHTTEXT ## Converte um número em um texto, usando o formato de moeda ß (baht) +CHAR = CARACT ## Retorna o caractere especificado pelo número de código +CLEAN = TIRAR ## Remove todos os caracteres do texto que não podem ser impressos +CODE = CÓDIGO ## Retorna um código numérico para o primeiro caractere de uma seqüência de caracteres de texto +CONCATENATE = CONCATENAR ## Agrupa vários itens de texto em um único item de texto +DOLLAR = MOEDA ## Converte um número em texto, usando o formato de moeda $ (dólar) +EXACT = EXATO ## Verifica se dois valores de texto são idênticos +FIND = PROCURAR ## Procura um valor de texto dentro de outro (diferencia maiúsculas de minúsculas) +FINDB = PROCURARB ## Procura um valor de texto dentro de outro (diferencia maiúsculas de minúsculas) +FIXED = DEF.NÚM.DEC ## Formata um número como texto com um número fixo de decimais +JIS = JIS ## Altera letras do inglês ou katakana de meia largura (byte único) dentro de uma seqüência de caracteres para caracteres de largura total (bytes duplos) +LEFT = ESQUERDA ## Retorna os caracteres mais à esquerda de um valor de texto +LEFTB = ESQUERDAB ## Retorna os caracteres mais à esquerda de um valor de texto +LEN = NÚM.CARACT ## Retorna o número de caracteres em uma seqüência de texto +LENB = NÚM.CARACTB ## Retorna o número de caracteres em uma seqüência de texto +LOWER = MINÚSCULA ## Converte texto para minúsculas +MID = EXT.TEXTO ## Retorna um número específico de caracteres de uma seqüência de texto começando na posição especificada +MIDB = EXT.TEXTOB ## Retorna um número específico de caracteres de uma seqüência de texto começando na posição especificada +PHONETIC = FONÉTICA ## Extrai os caracteres fonéticos (furigana) de uma seqüência de caracteres de texto +PROPER = PRI.MAIÚSCULA ## Coloca a primeira letra de cada palavra em maiúscula em um valor de texto +REPLACE = MUDAR ## Muda os caracteres dentro do texto +REPLACEB = MUDARB ## Muda os caracteres dentro do texto +REPT = REPT ## Repete o texto um determinado número de vezes +RIGHT = DIREITA ## Retorna os caracteres mais à direita de um valor de texto +RIGHTB = DIREITAB ## Retorna os caracteres mais à direita de um valor de texto +SEARCH = LOCALIZAR ## Localiza um valor de texto dentro de outro (não diferencia maiúsculas de minúsculas) +SEARCHB = LOCALIZARB ## Localiza um valor de texto dentro de outro (não diferencia maiúsculas de minúsculas) +SUBSTITUTE = SUBSTITUIR ## Substitui um novo texto por um texto antigo em uma seqüência de texto +T = T ## Converte os argumentos em texto +TEXT = TEXTO ## Formata um número e o converte em texto +TRIM = ARRUMAR ## Remove espaços do texto +UPPER = MAIÚSCULA ## Converte o texto em maiúsculas +VALUE = VALOR ## Converte um argumento de texto em um número diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/locale/pt/config b/vendor/phpoffice/phpexcel/Classes/PHPExcel/locale/pt/config new file mode 100644 index 00000000..8bb8d8b8 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/locale/pt/config @@ -0,0 +1,47 @@ +## +## PHPExcel +## +## Copyright (c) 2006 - 2013 PHPExcel +## +## This library is free software; you can redistribute it and/or +## modify it under the terms of the GNU Lesser General Public +## License as published by the Free Software Foundation; either +## version 2.1 of the License, or (at your option) any later version. +## +## This library is distributed in the hope that it will be useful, +## but WITHOUT ANY WARRANTY; without even the implied warranty of +## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +## Lesser General Public License for more details. +## +## You should have received a copy of the GNU Lesser General Public +## License along with this library; if not, write to the Free Software +## Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +## +## @category PHPExcel +## @package PHPExcel_Settings +## @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel) +## @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL +## @version ##VERSION##, ##DATE## +## +## + + +ArgumentSeparator = ; + + +## +## (For future use) +## +currencySymbol = € + + +## +## Excel Error Codes (For future use) +## +NULL = #NULO! +DIV0 = #DIV/0! +VALUE = #VALOR! +REF = #REF! +NAME = #NOME? +NUM = #NÚM! +NA = #N/D diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/locale/pt/functions b/vendor/phpoffice/phpexcel/Classes/PHPExcel/locale/pt/functions new file mode 100644 index 00000000..7fe9e3b5 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/locale/pt/functions @@ -0,0 +1,408 @@ +## +## Add-in and Automation functions Funções de Suplemento e Automatização +## +GETPIVOTDATA = OBTERDADOSDIN ## Devolve dados armazenados num relatório de Tabela Dinâmica + + +## +## Cube functions Funções de cubo +## +CUBEKPIMEMBER = MEMBROKPICUBO ## Devolve o nome, propriedade e medição de um KPI (key performance indicator) e apresenta o nome e a propriedade na célula. Um KPI é uma medida quantificável, como, por exemplo, o lucro mensal bruto ou a rotatividade trimestral de pessoal, utilizada para monitorizar o desempenho de uma organização. +CUBEMEMBER = MEMBROCUBO ## Devolve um membro ou cadeia de identificação numa hierarquia de cubo. Utilizada para validar a existência do membro ou cadeia de identificação no cubo. +CUBEMEMBERPROPERTY = PROPRIEDADEMEMBROCUBO ## Devolve o valor de uma propriedade de membro no cubo. Utilizada para validar a existência de um nome de membro no cubo e para devolver a propriedade especificada para esse membro. +CUBERANKEDMEMBER = MEMBROCLASSIFICADOCUBO ## Devolve o enésimo ou a classificação mais alta num conjunto. Utilizada para devolver um ou mais elementos num conjunto, tal como o melhor vendedor ou os 10 melhores alunos. +CUBESET = CONJUNTOCUBO ## Define um conjunto calculado de membros ou cadeias de identificação enviando uma expressão de conjunto para o cubo no servidor, que cria o conjunto e, em seguida, devolve o conjunto ao Microsoft Office Excel. +CUBESETCOUNT = CONTARCONJUNTOCUBO ## Devolve o número de itens num conjunto. +CUBEVALUE = VALORCUBO ## Devolve um valor agregado do cubo. + + +## +## Database functions Funções de base de dados +## +DAVERAGE = BDMÉDIA ## Devolve a média das entradas da base de dados seleccionadas +DCOUNT = BDCONTAR ## Conta as células que contêm números numa base de dados +DCOUNTA = BDCONTAR.VAL ## Conta as células que não estejam em branco numa base de dados +DGET = BDOBTER ## Extrai de uma base de dados um único registo que corresponde aos critérios especificados +DMAX = BDMÁX ## Devolve o valor máximo das entradas da base de dados seleccionadas +DMIN = BDMÍN ## Devolve o valor mínimo das entradas da base de dados seleccionadas +DPRODUCT = BDMULTIPL ## Multiplica os valores de um determinado campo de registos que correspondem aos critérios numa base de dados +DSTDEV = BDDESVPAD ## Calcula o desvio-padrão com base numa amostra de entradas da base de dados seleccionadas +DSTDEVP = BDDESVPADP ## Calcula o desvio-padrão com base na população total das entradas da base de dados seleccionadas +DSUM = BDSOMA ## Adiciona os números na coluna de campo dos registos de base de dados que correspondem aos critérios +DVAR = BDVAR ## Calcula a variância com base numa amostra das entradas de base de dados seleccionadas +DVARP = BDVARP ## Calcula a variância com base na população total das entradas de base de dados seleccionadas + + +## +## Date and time functions Funções de data e hora +## +DATE = DATA ## Devolve o número de série de uma determinada data +DATEVALUE = DATA.VALOR ## Converte uma data em forma de texto num número de série +DAY = DIA ## Converte um número de série num dia do mês +DAYS360 = DIAS360 ## Calcula o número de dias entre duas datas com base num ano com 360 dias +EDATE = DATAM ## Devolve um número de série de data que corresponde ao número de meses indicado antes ou depois da data de início +EOMONTH = FIMMÊS ## Devolve o número de série do último dia do mês antes ou depois de um número de meses especificado +HOUR = HORA ## Converte um número de série numa hora +MINUTE = MINUTO ## Converte um número de série num minuto +MONTH = MÊS ## Converte um número de série num mês +NETWORKDAYS = DIATRABALHOTOTAL ## Devolve o número total de dias úteis entre duas datas +NOW = AGORA ## Devolve o número de série da data e hora actuais +SECOND = SEGUNDO ## Converte um número de série num segundo +TIME = TEMPO ## Devolve o número de série de um determinado tempo +TIMEVALUE = VALOR.TEMPO ## Converte um tempo em forma de texto num número de série +TODAY = HOJE ## Devolve o número de série da data actual +WEEKDAY = DIA.SEMANA ## Converte um número de série num dia da semana +WEEKNUM = NÚMSEMANA ## Converte um número de série num número que representa o número da semana num determinado ano +WORKDAY = DIA.TRABALHO ## Devolve o número de série da data antes ou depois de um número de dias úteis especificado +YEAR = ANO ## Converte um número de série num ano +YEARFRAC = FRACÇÃOANO ## Devolve a fracção de ano que representa o número de dias inteiros entre a data_de_início e a data_de_fim + + +## +## Engineering functions Funções de engenharia +## +BESSELI = BESSELI ## Devolve a função de Bessel modificada In(x) +BESSELJ = BESSELJ ## Devolve a função de Bessel Jn(x) +BESSELK = BESSELK ## Devolve a função de Bessel modificada Kn(x) +BESSELY = BESSELY ## Devolve a função de Bessel Yn(x) +BIN2DEC = BINADEC ## Converte um número binário em decimal +BIN2HEX = BINAHEX ## Converte um número binário em hexadecimal +BIN2OCT = BINAOCT ## Converte um número binário em octal +COMPLEX = COMPLEXO ## Converte coeficientes reais e imaginários num número complexo +CONVERT = CONVERTER ## Converte um número de um sistema de medida noutro +DEC2BIN = DECABIN ## Converte um número decimal em binário +DEC2HEX = DECAHEX ## Converte um número decimal em hexadecimal +DEC2OCT = DECAOCT ## Converte um número decimal em octal +DELTA = DELTA ## Testa se dois valores são iguais +ERF = FUNCERRO ## Devolve a função de erro +ERFC = FUNCERROCOMPL ## Devolve a função de erro complementar +GESTEP = DEGRAU ## Testa se um número é maior do que um valor limite +HEX2BIN = HEXABIN ## Converte um número hexadecimal em binário +HEX2DEC = HEXADEC ## Converte um número hexadecimal em decimal +HEX2OCT = HEXAOCT ## Converte um número hexadecimal em octal +IMABS = IMABS ## Devolve o valor absoluto (módulo) de um número complexo +IMAGINARY = IMAGINÁRIO ## Devolve o coeficiente imaginário de um número complexo +IMARGUMENT = IMARG ## Devolve o argumento Teta, um ângulo expresso em radianos +IMCONJUGATE = IMCONJ ## Devolve o conjugado complexo de um número complexo +IMCOS = IMCOS ## Devolve o co-seno de um número complexo +IMDIV = IMDIV ## Devolve o quociente de dois números complexos +IMEXP = IMEXP ## Devolve o exponencial de um número complexo +IMLN = IMLN ## Devolve o logaritmo natural de um número complexo +IMLOG10 = IMLOG10 ## Devolve o logaritmo de base 10 de um número complexo +IMLOG2 = IMLOG2 ## Devolve o logaritmo de base 2 de um número complexo +IMPOWER = IMPOT ## Devolve um número complexo elevado a uma potência inteira +IMPRODUCT = IMPROD ## Devolve o produto de números complexos +IMREAL = IMREAL ## Devolve o coeficiente real de um número complexo +IMSIN = IMSENO ## Devolve o seno de um número complexo +IMSQRT = IMRAIZ ## Devolve a raiz quadrada de um número complexo +IMSUB = IMSUBTR ## Devolve a diferença entre dois números complexos +IMSUM = IMSOMA ## Devolve a soma de números complexos +OCT2BIN = OCTABIN ## Converte um número octal em binário +OCT2DEC = OCTADEC ## Converte um número octal em decimal +OCT2HEX = OCTAHEX ## Converte um número octal em hexadecimal + + +## +## Financial functions Funções financeiras +## +ACCRINT = JUROSACUM ## Devolve os juros acumulados de um título que paga juros periódicos +ACCRINTM = JUROSACUMV ## Devolve os juros acumulados de um título que paga juros no vencimento +AMORDEGRC = AMORDEGRC ## Devolve a depreciação correspondente a cada período contabilístico utilizando um coeficiente de depreciação +AMORLINC = AMORLINC ## Devolve a depreciação correspondente a cada período contabilístico +COUPDAYBS = CUPDIASINLIQ ## Devolve o número de dias entre o início do período do cupão e a data de regularização +COUPDAYS = CUPDIAS ## Devolve o número de dias no período do cupão que contém a data de regularização +COUPDAYSNC = CUPDIASPRÓX ## Devolve o número de dias entre a data de regularização e a data do cupão seguinte +COUPNCD = CUPDATAPRÓX ## Devolve a data do cupão seguinte após a data de regularização +COUPNUM = CUPNÚM ## Devolve o número de cupões a serem pagos entre a data de regularização e a data de vencimento +COUPPCD = CUPDATAANT ## Devolve a data do cupão anterior antes da data de regularização +CUMIPMT = PGTOJURACUM ## Devolve os juros cumulativos pagos entre dois períodos +CUMPRINC = PGTOCAPACUM ## Devolve o capital cumulativo pago a título de empréstimo entre dois períodos +DB = BD ## Devolve a depreciação de um activo relativo a um período especificado utilizando o método das quotas degressivas fixas +DDB = BDD ## Devolve a depreciação de um activo relativo a um período especificado utilizando o método das quotas degressivas duplas ou qualquer outro método especificado +DISC = DESC ## Devolve a taxa de desconto de um título +DOLLARDE = MOEDADEC ## Converte um preço em unidade monetária, expresso como uma fracção, num preço em unidade monetária, expresso como um número decimal +DOLLARFR = MOEDAFRA ## Converte um preço em unidade monetária, expresso como um número decimal, num preço em unidade monetária, expresso como uma fracção +DURATION = DURAÇÃO ## Devolve a duração anual de um título com pagamentos de juros periódicos +EFFECT = EFECTIVA ## Devolve a taxa de juros anual efectiva +FV = VF ## Devolve o valor futuro de um investimento +FVSCHEDULE = VFPLANO ## Devolve o valor futuro de um capital inicial após a aplicação de uma série de taxas de juro compostas +INTRATE = TAXAJUROS ## Devolve a taxa de juros de um título investido na totalidade +IPMT = IPGTO ## Devolve o pagamento dos juros de um investimento durante um determinado período +IRR = TIR ## Devolve a taxa de rentabilidade interna para uma série de fluxos monetários +ISPMT = É.PGTO ## Calcula os juros pagos durante um período específico de um investimento +MDURATION = MDURAÇÃO ## Devolve a duração modificada de Macauley de um título com um valor de paridade equivalente a € 100 +MIRR = MTIR ## Devolve a taxa interna de rentabilidade em que os fluxos monetários positivos e negativos são financiados com taxas diferentes +NOMINAL = NOMINAL ## Devolve a taxa de juros nominal anual +NPER = NPER ## Devolve o número de períodos de um investimento +NPV = VAL ## Devolve o valor actual líquido de um investimento com base numa série de fluxos monetários periódicos e numa taxa de desconto +ODDFPRICE = PREÇOPRIMINC ## Devolve o preço por € 100 do valor nominal de um título com um período inicial incompleto +ODDFYIELD = LUCROPRIMINC ## Devolve o lucro de um título com um período inicial incompleto +ODDLPRICE = PREÇOÚLTINC ## Devolve o preço por € 100 do valor nominal de um título com um período final incompleto +ODDLYIELD = LUCROÚLTINC ## Devolve o lucro de um título com um período final incompleto +PMT = PGTO ## Devolve o pagamento periódico de uma anuidade +PPMT = PPGTO ## Devolve o pagamento sobre o capital de um investimento num determinado período +PRICE = PREÇO ## Devolve o preço por € 100 do valor nominal de um título que paga juros periódicos +PRICEDISC = PREÇODESC ## Devolve o preço por € 100 do valor nominal de um título descontado +PRICEMAT = PREÇOVENC ## Devolve o preço por € 100 do valor nominal de um título que paga juros no vencimento +PV = VA ## Devolve o valor actual de um investimento +RATE = TAXA ## Devolve a taxa de juros por período de uma anuidade +RECEIVED = RECEBER ## Devolve o montante recebido no vencimento de um título investido na totalidade +SLN = AMORT ## Devolve uma depreciação linear de um activo durante um período +SYD = AMORTD ## Devolve a depreciação por algarismos da soma dos anos de um activo durante um período especificado +TBILLEQ = OTN ## Devolve o lucro de um título equivalente a uma Obrigação do Tesouro +TBILLPRICE = OTNVALOR ## Devolve o preço por € 100 de valor nominal de uma Obrigação do Tesouro +TBILLYIELD = OTNLUCRO ## Devolve o lucro de uma Obrigação do Tesouro +VDB = BDV ## Devolve a depreciação de um activo relativo a um período específico ou parcial utilizando um método de quotas degressivas +XIRR = XTIR ## Devolve a taxa interna de rentabilidade de um plano de fluxos monetários que não seja necessariamente periódica +XNPV = XVAL ## Devolve o valor actual líquido de um plano de fluxos monetários que não seja necessariamente periódico +YIELD = LUCRO ## Devolve o lucro de um título que paga juros periódicos +YIELDDISC = LUCRODESC ## Devolve o lucro anual de um título emitido abaixo do valor nominal, por exemplo, uma Obrigação do Tesouro +YIELDMAT = LUCROVENC ## Devolve o lucro anual de um título que paga juros na data de vencimento + + +## +## Information functions Funções de informação +## +CELL = CÉL ## Devolve informações sobre a formatação, localização ou conteúdo de uma célula +ERROR.TYPE = TIPO.ERRO ## Devolve um número correspondente a um tipo de erro +INFO = INFORMAÇÃO ## Devolve informações sobre o ambiente de funcionamento actual +ISBLANK = É.CÉL.VAZIA ## Devolve VERDADEIRO se o valor estiver em branco +ISERR = É.ERROS ## Devolve VERDADEIRO se o valor for um valor de erro diferente de #N/D +ISERROR = É.ERRO ## Devolve VERDADEIRO se o valor for um valor de erro +ISEVEN = ÉPAR ## Devolve VERDADEIRO se o número for par +ISLOGICAL = É.LÓGICO ## Devolve VERDADEIRO se o valor for lógico +ISNA = É.NÃO.DISP ## Devolve VERDADEIRO se o valor for o valor de erro #N/D +ISNONTEXT = É.NÃO.TEXTO ## Devolve VERDADEIRO se o valor não for texto +ISNUMBER = É.NÚM ## Devolve VERDADEIRO se o valor for um número +ISODD = ÉÍMPAR ## Devolve VERDADEIRO se o número for ímpar +ISREF = É.REF ## Devolve VERDADEIRO se o valor for uma referência +ISTEXT = É.TEXTO ## Devolve VERDADEIRO se o valor for texto +N = N ## Devolve um valor convertido num número +NA = NÃO.DISP ## Devolve o valor de erro #N/D +TYPE = TIPO ## Devolve um número que indica o tipo de dados de um valor + + +## +## Logical functions Funções lógicas +## +AND = E ## Devolve VERDADEIRO se todos os respectivos argumentos corresponderem a VERDADEIRO +FALSE = FALSO ## Devolve o valor lógico FALSO +IF = SE ## Especifica um teste lógico a ser executado +IFERROR = SE.ERRO ## Devolve um valor definido pelo utilizador se ocorrer um erro na fórmula, e devolve o resultado da fórmula se não ocorrer nenhum erro +NOT = NÃO ## Inverte a lógica do respectivo argumento +OR = OU ## Devolve VERDADEIRO se qualquer argumento for VERDADEIRO +TRUE = VERDADEIRO ## Devolve o valor lógico VERDADEIRO + + +## +## Lookup and reference functions Funções de pesquisa e referência +## +ADDRESS = ENDEREÇO ## Devolve uma referência a uma única célula numa folha de cálculo como texto +AREAS = ÁREAS ## Devolve o número de áreas numa referência +CHOOSE = SELECCIONAR ## Selecciona um valor a partir de uma lista de valores +COLUMN = COL ## Devolve o número da coluna de uma referência +COLUMNS = COLS ## Devolve o número de colunas numa referência +HLOOKUP = PROCH ## Procura na linha superior de uma matriz e devolve o valor da célula indicada +HYPERLINK = HIPERLIGAÇÃO ## Cria um atalho ou hiperligação que abre um documento armazenado num servidor de rede, numa intranet ou na Internet +INDEX = ÍNDICE ## Utiliza um índice para escolher um valor de uma referência ou de uma matriz +INDIRECT = INDIRECTO ## Devolve uma referência indicada por um valor de texto +LOOKUP = PROC ## Procura valores num vector ou numa matriz +MATCH = CORRESP ## Procura valores numa referência ou numa matriz +OFFSET = DESLOCAMENTO ## Devolve o deslocamento de referência de uma determinada referência +ROW = LIN ## Devolve o número da linha de uma referência +ROWS = LINS ## Devolve o número de linhas numa referência +RTD = RTD ## Obtém dados em tempo real a partir de um programa que suporte automatização COM (automatização: modo de trabalhar com objectos de uma aplicação a partir de outra aplicação ou ferramenta de desenvolvimento. Anteriormente conhecida como automatização OLE, a automatização é uma norma da indústria de software e uma funcionalidade COM (Component Object Model).) +TRANSPOSE = TRANSPOR ## Devolve a transposição de uma matriz +VLOOKUP = PROCV ## Procura na primeira coluna de uma matriz e percorre a linha para devolver o valor de uma célula + + +## +## Math and trigonometry functions Funções matemáticas e trigonométricas +## +ABS = ABS ## Devolve o valor absoluto de um número +ACOS = ACOS ## Devolve o arco de co-seno de um número +ACOSH = ACOSH ## Devolve o co-seno hiperbólico inverso de um número +ASIN = ASEN ## Devolve o arco de seno de um número +ASINH = ASENH ## Devolve o seno hiperbólico inverso de um número +ATAN = ATAN ## Devolve o arco de tangente de um número +ATAN2 = ATAN2 ## Devolve o arco de tangente das coordenadas x e y +ATANH = ATANH ## Devolve a tangente hiperbólica inversa de um número +CEILING = ARRED.EXCESSO ## Arredonda um número para o número inteiro mais próximo ou para o múltiplo de significância mais próximo +COMBIN = COMBIN ## Devolve o número de combinações de um determinado número de objectos +COS = COS ## Devolve o co-seno de um número +COSH = COSH ## Devolve o co-seno hiperbólico de um número +DEGREES = GRAUS ## Converte radianos em graus +EVEN = PAR ## Arredonda um número por excesso para o número inteiro mais próximo +EXP = EXP ## Devolve e elevado à potência de um determinado número +FACT = FACTORIAL ## Devolve o factorial de um número +FACTDOUBLE = FACTDUPLO ## Devolve o factorial duplo de um número +FLOOR = ARRED.DEFEITO ## Arredonda um número por defeito até zero +GCD = MDC ## Devolve o maior divisor comum +INT = INT ## Arredonda um número por defeito para o número inteiro mais próximo +LCM = MMC ## Devolve o mínimo múltiplo comum +LN = LN ## Devolve o logaritmo natural de um número +LOG = LOG ## Devolve o logaritmo de um número com uma base especificada +LOG10 = LOG10 ## Devolve o logaritmo de base 10 de um número +MDETERM = MATRIZ.DETERM ## Devolve o determinante matricial de uma matriz +MINVERSE = MATRIZ.INVERSA ## Devolve o inverso matricial de uma matriz +MMULT = MATRIZ.MULT ## Devolve o produto matricial de duas matrizes +MOD = RESTO ## Devolve o resto da divisão +MROUND = MARRED ## Devolve um número arredondado para o múltiplo pretendido +MULTINOMIAL = POLINOMIAL ## Devolve o polinomial de um conjunto de números +ODD = ÍMPAR ## Arredonda por excesso um número para o número inteiro ímpar mais próximo +PI = PI ## Devolve o valor de pi +POWER = POTÊNCIA ## Devolve o resultado de um número elevado a uma potência +PRODUCT = PRODUTO ## Multiplica os respectivos argumentos +QUOTIENT = QUOCIENTE ## Devolve a parte inteira de uma divisão +RADIANS = RADIANOS ## Converte graus em radianos +RAND = ALEATÓRIO ## Devolve um número aleatório entre 0 e 1 +RANDBETWEEN = ALEATÓRIOENTRE ## Devolve um número aleatório entre os números especificados +ROMAN = ROMANO ## Converte um número árabe em romano, como texto +ROUND = ARRED ## Arredonda um número para um número de dígitos especificado +ROUNDDOWN = ARRED.PARA.BAIXO ## Arredonda um número por defeito até zero +ROUNDUP = ARRED.PARA.CIMA ## Arredonda um número por excesso, afastando-o de zero +SERIESSUM = SOMASÉRIE ## Devolve a soma de uma série de potências baseada na fórmula +SIGN = SINAL ## Devolve o sinal de um número +SIN = SEN ## Devolve o seno de um determinado ângulo +SINH = SENH ## Devolve o seno hiperbólico de um número +SQRT = RAIZQ ## Devolve uma raiz quadrada positiva +SQRTPI = RAIZPI ## Devolve a raiz quadrada de (núm * pi) +SUBTOTAL = SUBTOTAL ## Devolve um subtotal numa lista ou base de dados +SUM = SOMA ## Adiciona os respectivos argumentos +SUMIF = SOMA.SE ## Adiciona as células especificadas por um determinado critério +SUMIFS = SOMA.SE.S ## Adiciona as células num intervalo que cumpre vários critérios +SUMPRODUCT = SOMARPRODUTO ## Devolve a soma dos produtos de componentes de matrizes correspondentes +SUMSQ = SOMARQUAD ## Devolve a soma dos quadrados dos argumentos +SUMX2MY2 = SOMAX2DY2 ## Devolve a soma da diferença dos quadrados dos valores correspondentes em duas matrizes +SUMX2PY2 = SOMAX2SY2 ## Devolve a soma da soma dos quadrados dos valores correspondentes em duas matrizes +SUMXMY2 = SOMAXMY2 ## Devolve a soma dos quadrados da diferença dos valores correspondentes em duas matrizes +TAN = TAN ## Devolve a tangente de um número +TANH = TANH ## Devolve a tangente hiperbólica de um número +TRUNC = TRUNCAR ## Trunca um número para um número inteiro + + +## +## Statistical functions Funções estatísticas +## +AVEDEV = DESV.MÉDIO ## Devolve a média aritmética dos desvios absolutos à média dos pontos de dados +AVERAGE = MÉDIA ## Devolve a média dos respectivos argumentos +AVERAGEA = MÉDIAA ## Devolve uma média dos respectivos argumentos, incluindo números, texto e valores lógicos +AVERAGEIF = MÉDIA.SE ## Devolve a média aritmética de todas as células num intervalo que cumprem determinado critério +AVERAGEIFS = MÉDIA.SE.S ## Devolve a média aritmética de todas as células que cumprem múltiplos critérios +BETADIST = DISTBETA ## Devolve a função de distribuição cumulativa beta +BETAINV = BETA.ACUM.INV ## Devolve o inverso da função de distribuição cumulativa relativamente a uma distribuição beta específica +BINOMDIST = DISTRBINOM ## Devolve a probabilidade de distribuição binomial de termo individual +CHIDIST = DIST.CHI ## Devolve a probabilidade unicaudal da distribuição qui-quadrada +CHIINV = INV.CHI ## Devolve o inverso da probabilidade unicaudal da distribuição qui-quadrada +CHITEST = TESTE.CHI ## Devolve o teste para independência +CONFIDENCE = INT.CONFIANÇA ## Devolve o intervalo de confiança correspondente a uma média de população +CORREL = CORREL ## Devolve o coeficiente de correlação entre dois conjuntos de dados +COUNT = CONTAR ## Conta os números que existem na lista de argumentos +COUNTA = CONTAR.VAL ## Conta os valores que existem na lista de argumentos +COUNTBLANK = CONTAR.VAZIO ## Conta o número de células em branco num intervalo +COUNTIF = CONTAR.SE ## Calcula o número de células num intervalo que corresponde aos critérios determinados +COUNTIFS = CONTAR.SE.S ## Conta o número de células num intervalo que cumprem múltiplos critérios +COVAR = COVAR ## Devolve a covariância, que é a média dos produtos de desvios de pares +CRITBINOM = CRIT.BINOM ## Devolve o menor valor em que a distribuição binomial cumulativa é inferior ou igual a um valor de critério +DEVSQ = DESVQ ## Devolve a soma dos quadrados dos desvios +EXPONDIST = DISTEXPON ## Devolve a distribuição exponencial +FDIST = DISTF ## Devolve a distribuição da probabilidade F +FINV = INVF ## Devolve o inverso da distribuição da probabilidade F +FISHER = FISHER ## Devolve a transformação Fisher +FISHERINV = FISHERINV ## Devolve o inverso da transformação Fisher +FORECAST = PREVISÃO ## Devolve um valor ao longo de uma tendência linear +FREQUENCY = FREQUÊNCIA ## Devolve uma distribuição de frequência como uma matriz vertical +FTEST = TESTEF ## Devolve o resultado de um teste F +GAMMADIST = DISTGAMA ## Devolve a distribuição gama +GAMMAINV = INVGAMA ## Devolve o inverso da distribuição gama cumulativa +GAMMALN = LNGAMA ## Devolve o logaritmo natural da função gama, Γ(x) +GEOMEAN = MÉDIA.GEOMÉTRICA ## Devolve a média geométrica +GROWTH = CRESCIMENTO ## Devolve valores ao longo de uma tendência exponencial +HARMEAN = MÉDIA.HARMÓNICA ## Devolve a média harmónica +HYPGEOMDIST = DIST.HIPERGEOM ## Devolve a distribuição hipergeométrica +INTERCEPT = INTERCEPTAR ## Devolve a intercepção da linha de regressão linear +KURT = CURT ## Devolve a curtose de um conjunto de dados +LARGE = MAIOR ## Devolve o maior valor k-ésimo de um conjunto de dados +LINEST = PROJ.LIN ## Devolve os parâmetros de uma tendência linear +LOGEST = PROJ.LOG ## Devolve os parâmetros de uma tendência exponencial +LOGINV = INVLOG ## Devolve o inverso da distribuição normal logarítmica +LOGNORMDIST = DIST.NORMALLOG ## Devolve a distribuição normal logarítmica cumulativa +MAX = MÁXIMO ## Devolve o valor máximo numa lista de argumentos +MAXA = MÁXIMOA ## Devolve o valor máximo numa lista de argumentos, incluindo números, texto e valores lógicos +MEDIAN = MED ## Devolve a mediana dos números indicados +MIN = MÍNIMO ## Devolve o valor mínimo numa lista de argumentos +MINA = MÍNIMOA ## Devolve o valor mínimo numa lista de argumentos, incluindo números, texto e valores lógicos +MODE = MODA ## Devolve o valor mais comum num conjunto de dados +NEGBINOMDIST = DIST.BIN.NEG ## Devolve a distribuição binominal negativa +NORMDIST = DIST.NORM ## Devolve a distribuição cumulativa normal +NORMINV = INV.NORM ## Devolve o inverso da distribuição cumulativa normal +NORMSDIST = DIST.NORMP ## Devolve a distribuição cumulativa normal padrão +NORMSINV = INV.NORMP ## Devolve o inverso da distribuição cumulativa normal padrão +PEARSON = PEARSON ## Devolve o coeficiente de correlação momento/produto de Pearson +PERCENTILE = PERCENTIL ## Devolve o k-ésimo percentil de valores num intervalo +PERCENTRANK = ORDEM.PERCENTUAL ## Devolve a ordem percentual de um valor num conjunto de dados +PERMUT = PERMUTAR ## Devolve o número de permutações de um determinado número de objectos +POISSON = POISSON ## Devolve a distribuição de Poisson +PROB = PROB ## Devolve a probabilidade dos valores num intervalo se encontrarem entre dois limites +QUARTILE = QUARTIL ## Devolve o quartil de um conjunto de dados +RANK = ORDEM ## Devolve a ordem de um número numa lista numérica +RSQ = RQUAD ## Devolve o quadrado do coeficiente de correlação momento/produto de Pearson +SKEW = DISTORÇÃO ## Devolve a distorção de uma distribuição +SLOPE = DECLIVE ## Devolve o declive da linha de regressão linear +SMALL = MENOR ## Devolve o menor valor de k-ésimo de um conjunto de dados +STANDARDIZE = NORMALIZAR ## Devolve um valor normalizado +STDEV = DESVPAD ## Calcula o desvio-padrão com base numa amostra +STDEVA = DESVPADA ## Calcula o desvio-padrão com base numa amostra, incluindo números, texto e valores lógicos +STDEVP = DESVPADP ## Calcula o desvio-padrão com base na população total +STDEVPA = DESVPADPA ## Calcula o desvio-padrão com base na população total, incluindo números, texto e valores lógicos +STEYX = EPADYX ## Devolve o erro-padrão do valor de y previsto para cada x na regressão +TDIST = DISTT ## Devolve a distribuição t de Student +TINV = INVT ## Devolve o inverso da distribuição t de Student +TREND = TENDÊNCIA ## Devolve valores ao longo de uma tendência linear +TRIMMEAN = MÉDIA.INTERNA ## Devolve a média do interior de um conjunto de dados +TTEST = TESTET ## Devolve a probabilidade associada ao teste t de Student +VAR = VAR ## Calcula a variância com base numa amostra +VARA = VARA ## Calcula a variância com base numa amostra, incluindo números, texto e valores lógicos +VARP = VARP ## Calcula a variância com base na população total +VARPA = VARPA ## Calcula a variância com base na população total, incluindo números, texto e valores lógicos +WEIBULL = WEIBULL ## Devolve a distribuição Weibull +ZTEST = TESTEZ ## Devolve o valor de probabilidade unicaudal de um teste-z + + +## +## Text functions Funções de texto +## +ASC = ASC ## Altera letras ou katakana de largura total (byte duplo) numa cadeia de caracteres para caracteres de largura média (byte único) +BAHTTEXT = TEXTO.BAHT ## Converte um número em texto, utilizando o formato monetário ß (baht) +CHAR = CARÁCT ## Devolve o carácter especificado pelo número de código +CLEAN = LIMPAR ## Remove do texto todos os caracteres não imprimíveis +CODE = CÓDIGO ## Devolve um código numérico correspondente ao primeiro carácter numa cadeia de texto +CONCATENATE = CONCATENAR ## Agrupa vários itens de texto num único item de texto +DOLLAR = MOEDA ## Converte um número em texto, utilizando o formato monetário € (Euro) +EXACT = EXACTO ## Verifica se dois valores de texto são idênticos +FIND = LOCALIZAR ## Localiza um valor de texto dentro de outro (sensível às maiúsculas e minúsculas) +FINDB = LOCALIZARB ## Localiza um valor de texto dentro de outro (sensível às maiúsculas e minúsculas) +FIXED = FIXA ## Formata um número como texto com um número fixo de decimais +JIS = JIS ## Altera letras ou katakana de largura média (byte único) numa cadeia de caracteres para caracteres de largura total (byte duplo) +LEFT = ESQUERDA ## Devolve os caracteres mais à esquerda de um valor de texto +LEFTB = ESQUERDAB ## Devolve os caracteres mais à esquerda de um valor de texto +LEN = NÚM.CARACT ## Devolve o número de caracteres de uma cadeia de texto +LENB = NÚM.CARACTB ## Devolve o número de caracteres de uma cadeia de texto +LOWER = MINÚSCULAS ## Converte o texto em minúsculas +MID = SEG.TEXTO ## Devolve um número específico de caracteres de uma cadeia de texto, a partir da posição especificada +MIDB = SEG.TEXTOB ## Devolve um número específico de caracteres de uma cadeia de texto, a partir da posição especificada +PHONETIC = FONÉTICA ## Retira os caracteres fonéticos (furigana) de uma cadeia de texto +PROPER = INICIAL.MAIÚSCULA ## Coloca em maiúsculas a primeira letra de cada palavra de um valor de texto +REPLACE = SUBSTITUIR ## Substitui caracteres no texto +REPLACEB = SUBSTITUIRB ## Substitui caracteres no texto +REPT = REPETIR ## Repete texto um determinado número de vezes +RIGHT = DIREITA ## Devolve os caracteres mais à direita de um valor de texto +RIGHTB = DIREITAB ## Devolve os caracteres mais à direita de um valor de texto +SEARCH = PROCURAR ## Localiza um valor de texto dentro de outro (não sensível a maiúsculas e minúsculas) +SEARCHB = PROCURARB ## Localiza um valor de texto dentro de outro (não sensível a maiúsculas e minúsculas) +SUBSTITUTE = SUBST ## Substitui texto novo por texto antigo numa cadeia de texto +T = T ## Converte os respectivos argumentos em texto +TEXT = TEXTO ## Formata um número e converte-o em texto +TRIM = COMPACTAR ## Remove espaços do texto +UPPER = MAIÚSCULAS ## Converte texto em maiúsculas +VALUE = VALOR ## Converte um argumento de texto num número diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/locale/ru/config b/vendor/phpoffice/phpexcel/Classes/PHPExcel/locale/ru/config new file mode 100644 index 00000000..56e45bfd --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/locale/ru/config @@ -0,0 +1,47 @@ +## +## PHPExcel +## +## Copyright (c) 2006 - 2013 PHPExcel +## +## This library is free software; you can redistribute it and/or +## modify it under the terms of the GNU Lesser General Public +## License as published by the Free Software Foundation; either +## version 2.1 of the License, or (at your option) any later version. +## +## This library is distributed in the hope that it will be useful, +## but WITHOUT ANY WARRANTY; without even the implied warranty of +## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +## Lesser General Public License for more details. +## +## You should have received a copy of the GNU Lesser General Public +## License along with this library; if not, write to the Free Software +## Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +## +## @category PHPExcel +## @package PHPExcel_Settings +## @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel) +## @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL +## @version ##VERSION##, ##DATE## +## +## + + +ArgumentSeparator = ; + + +## +## (For future use) +## +currencySymbol = р + + +## +## Excel Error Codes (For future use) +## +NULL = #ПУСТО! +DIV0 = #ДЕЛ/0! +VALUE = #ЗНАЧ! +REF = #ССЫЛ! +NAME = #ИМЯ? +NUM = #ЧИСЛО! +NA = #Н/Д diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/locale/ru/functions b/vendor/phpoffice/phpexcel/Classes/PHPExcel/locale/ru/functions new file mode 100644 index 00000000..5ff6d4fb --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/locale/ru/functions @@ -0,0 +1,438 @@ +## +## PHPExcel +## +## Copyright (c) 2006 - 2013 PHPExcel +## +## This library is free software; you can redistribute it and/or +## modify it under the terms of the GNU Lesser General Public +## License as published by the Free Software Foundation; either +## version 2.1 of the License, or (at your option) any later version. +## +## This library is distributed in the hope that it will be useful, +## but WITHOUT ANY WARRANTY; without even the implied warranty of +## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +## Lesser General Public License for more details. +## +## You should have received a copy of the GNU Lesser General Public +## License along with this library; if not, write to the Free Software +## Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +## +## @category PHPExcel +## @package PHPExcel_Calculation +## @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel) +## @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL +## @version ##VERSION##, ##DATE## +## +## Data in this file derived from information provided by web-junior (http://www.web-junior.net/) +## +## + + +## +## Add-in and Automation functions Функции надстроек и автоматизации +## +GETPIVOTDATA = ПОЛУЧИТЬ.ДАННЫЕ.СВОДНОЙ.ТАБЛИЦЫ ## Возвращает данные, хранящиеся в отчете сводной таблицы. + + +## +## Cube functions Функции Куб +## +CUBEKPIMEMBER = КУБЭЛЕМЕНТКИП ## Возвращает свойство ключевого индикатора производительности «(КИП)» и отображает имя «КИП» в ячейке. «КИП» представляет собой количественную величину, такую как ежемесячная валовая прибыль или ежеквартальная текучесть кадров, используемой для контроля эффективности работы организации. +CUBEMEMBER = КУБЭЛЕМЕНТ ## Возвращает элемент или кортеж из куба. Используется для проверки существования элемента или кортежа в кубе. +CUBEMEMBERPROPERTY = КУБСВОЙСТВОЭЛЕМЕНТА ## Возвращает значение свойства элемента из куба. Используется для проверки существования имени элемента в кубе и возвращает указанное свойство для этого элемента. +CUBERANKEDMEMBER = КУБПОРЭЛЕМЕНТ ## Возвращает n-ый или ранжированный элемент в множество. Используется для возвращения одного или нескольких элементов в множество, например, лучшего продавца или 10 лучших студентов. +CUBESET = КУБМНОЖ ## Определяет вычислительное множество элементов или кортежей, отправляя на сервер выражение, которое создает множество, а затем возвращает его в Microsoft Office Excel. +CUBESETCOUNT = КУБЧИСЛОЭЛМНОЖ ## Возвращает число элементов множества. +CUBEVALUE = КУБЗНАЧЕНИЕ ## Возвращает обобщенное значение из куба. + + +## +## Database functions Функции для работы с базами данных +## +DAVERAGE = ДСРЗНАЧ ## Возвращает среднее значение выбранных записей базы данных. +DCOUNT = БСЧЁТ ## Подсчитывает количество числовых ячеек в базе данных. +DCOUNTA = БСЧЁТА ## Подсчитывает количество непустых ячеек в базе данных. +DGET = БИЗВЛЕЧЬ ## Извлекает из базы данных одну запись, удовлетворяющую заданному условию. +DMAX = ДМАКС ## Возвращает максимальное значение среди выделенных записей базы данных. +DMIN = ДМИН ## Возвращает минимальное значение среди выделенных записей базы данных. +DPRODUCT = БДПРОИЗВЕД ## Перемножает значения определенного поля в записях базы данных, удовлетворяющих условию. +DSTDEV = ДСТАНДОТКЛ ## Оценивает стандартное отклонение по выборке для выделенных записей базы данных. +DSTDEVP = ДСТАНДОТКЛП ## Вычисляет стандартное отклонение по генеральной совокупности для выделенных записей базы данных +DSUM = БДСУММ ## Суммирует числа в поле для записей базы данных, удовлетворяющих условию. +DVAR = БДДИСП ## Оценивает дисперсию по выборке из выделенных записей базы данных +DVARP = БДДИСПП ## Вычисляет дисперсию по генеральной совокупности для выделенных записей базы данных + + +## +## Date and time functions Функции даты и времени +## +DATE = ДАТА ## Возвращает заданную дату в числовом формате. +DATEVALUE = ДАТАЗНАЧ ## Преобразует дату из текстового формата в числовой формат. +DAY = ДЕНЬ ## Преобразует дату в числовом формате в день месяца. +DAYS360 = ДНЕЙ360 ## Вычисляет количество дней между двумя датами на основе 360-дневного года. +EDATE = ДАТАМЕС ## Возвращает дату в числовом формате, отстоящую на заданное число месяцев вперед или назад от начальной даты. +EOMONTH = КОНМЕСЯЦА ## Возвращает дату в числовом формате для последнего дня месяца, отстоящего вперед или назад на заданное число месяцев. +HOUR = ЧАС ## Преобразует дату в числовом формате в часы. +MINUTE = МИНУТЫ ## Преобразует дату в числовом формате в минуты. +MONTH = МЕСЯЦ ## Преобразует дату в числовом формате в месяцы. +NETWORKDAYS = ЧИСТРАБДНИ ## Возвращает количество рабочих дней между двумя датами. +NOW = ТДАТА ## Возвращает текущую дату и время в числовом формате. +SECOND = СЕКУНДЫ ## Преобразует дату в числовом формате в секунды. +TIME = ВРЕМЯ ## Возвращает заданное время в числовом формате. +TIMEVALUE = ВРЕМЗНАЧ ## Преобразует время из текстового формата в числовой формат. +TODAY = СЕГОДНЯ ## Возвращает текущую дату в числовом формате. +WEEKDAY = ДЕНЬНЕД ## Преобразует дату в числовом формате в день недели. +WEEKNUM = НОМНЕДЕЛИ ## Преобразует числовое представление в число, которое указывает, на какую неделю года приходится указанная дата. +WORKDAY = РАБДЕНЬ ## Возвращает дату в числовом формате, отстоящую вперед или назад на заданное количество рабочих дней. +YEAR = ГОД ## Преобразует дату в числовом формате в год. +YEARFRAC = ДОЛЯГОДА ## Возвращает долю года, которую составляет количество дней между начальной и конечной датами. + + +## +## Engineering functions Инженерные функции +## +BESSELI = БЕССЕЛЬ.I ## Возвращает модифицированную функцию Бесселя In(x). +BESSELJ = БЕССЕЛЬ.J ## Возвращает функцию Бесселя Jn(x). +BESSELK = БЕССЕЛЬ.K ## Возвращает модифицированную функцию Бесселя Kn(x). +BESSELY = БЕССЕЛЬ.Y ## Возвращает функцию Бесселя Yn(x). +BIN2DEC = ДВ.В.ДЕС ## Преобразует двоичное число в десятичное. +BIN2HEX = ДВ.В.ШЕСТН ## Преобразует двоичное число в шестнадцатеричное. +BIN2OCT = ДВ.В.ВОСЬМ ## Преобразует двоичное число в восьмеричное. +COMPLEX = КОМПЛЕКСН ## Преобразует коэффициенты при вещественной и мнимой частях комплексного числа в комплексное число. +CONVERT = ПРЕОБР ## Преобразует число из одной системы единиц измерения в другую. +DEC2BIN = ДЕС.В.ДВ ## Преобразует десятичное число в двоичное. +DEC2HEX = ДЕС.В.ШЕСТН ## Преобразует десятичное число в шестнадцатеричное. +DEC2OCT = ДЕС.В.ВОСЬМ ## Преобразует десятичное число в восьмеричное. +DELTA = ДЕЛЬТА ## Проверяет равенство двух значений. +ERF = ФОШ ## Возвращает функцию ошибки. +ERFC = ДФОШ ## Возвращает дополнительную функцию ошибки. +GESTEP = ПОРОГ ## Проверяет, не превышает ли данное число порогового значения. +HEX2BIN = ШЕСТН.В.ДВ ## Преобразует шестнадцатеричное число в двоичное. +HEX2DEC = ШЕСТН.В.ДЕС ## Преобразует шестнадцатеричное число в десятичное. +HEX2OCT = ШЕСТН.В.ВОСЬМ ## Преобразует шестнадцатеричное число в восьмеричное. +IMABS = МНИМ.ABS ## Возвращает абсолютную величину (модуль) комплексного числа. +IMAGINARY = МНИМ.ЧАСТЬ ## Возвращает коэффициент при мнимой части комплексного числа. +IMARGUMENT = МНИМ.АРГУМЕНТ ## Возвращает значение аргумента комплексного числа (тета) — угол, выраженный в радианах. +IMCONJUGATE = МНИМ.СОПРЯЖ ## Возвращает комплексно-сопряженное комплексное число. +IMCOS = МНИМ.COS ## Возвращает косинус комплексного числа. +IMDIV = МНИМ.ДЕЛ ## Возвращает частное от деления двух комплексных чисел. +IMEXP = МНИМ.EXP ## Возвращает экспоненту комплексного числа. +IMLN = МНИМ.LN ## Возвращает натуральный логарифм комплексного числа. +IMLOG10 = МНИМ.LOG10 ## Возвращает обычный (десятичный) логарифм комплексного числа. +IMLOG2 = МНИМ.LOG2 ## Возвращает двоичный логарифм комплексного числа. +IMPOWER = МНИМ.СТЕПЕНЬ ## Возвращает комплексное число, возведенное в целую степень. +IMPRODUCT = МНИМ.ПРОИЗВЕД ## Возвращает произведение от 2 до 29 комплексных чисел. +IMREAL = МНИМ.ВЕЩ ## Возвращает коэффициент при вещественной части комплексного числа. +IMSIN = МНИМ.SIN ## Возвращает синус комплексного числа. +IMSQRT = МНИМ.КОРЕНЬ ## Возвращает значение квадратного корня из комплексного числа. +IMSUB = МНИМ.РАЗН ## Возвращает разность двух комплексных чисел. +IMSUM = МНИМ.СУММ ## Возвращает сумму комплексных чисел. +OCT2BIN = ВОСЬМ.В.ДВ ## Преобразует восьмеричное число в двоичное. +OCT2DEC = ВОСЬМ.В.ДЕС ## Преобразует восьмеричное число в десятичное. +OCT2HEX = ВОСЬМ.В.ШЕСТН ## Преобразует восьмеричное число в шестнадцатеричное. + + +## +## Financial functions Финансовые функции +## +ACCRINT = НАКОПДОХОД ## Возвращает накопленный процент по ценным бумагам с периодической выплатой процентов. +ACCRINTM = НАКОПДОХОДПОГАШ ## Возвращает накопленный процент по ценным бумагам, проценты по которым выплачиваются в срок погашения. +AMORDEGRC = АМОРУМ ## Возвращает величину амортизации для каждого периода, используя коэффициент амортизации. +AMORLINC = АМОРУВ ## Возвращает величину амортизации для каждого периода. +COUPDAYBS = ДНЕЙКУПОНДО ## Возвращает количество дней от начала действия купона до даты соглашения. +COUPDAYS = ДНЕЙКУПОН ## Возвращает число дней в периоде купона, содержащем дату соглашения. +COUPDAYSNC = ДНЕЙКУПОНПОСЛЕ ## Возвращает число дней от даты соглашения до срока следующего купона. +COUPNCD = ДАТАКУПОНПОСЛЕ ## Возвращает следующую дату купона после даты соглашения. +COUPNUM = ЧИСЛКУПОН ## Возвращает количество купонов, которые могут быть оплачены между датой соглашения и сроком вступления в силу. +COUPPCD = ДАТАКУПОНДО ## Возвращает предыдущую дату купона перед датой соглашения. +CUMIPMT = ОБЩПЛАТ ## Возвращает общую выплату, произведенную между двумя периодическими выплатами. +CUMPRINC = ОБЩДОХОД ## Возвращает общую выплату по займу между двумя периодами. +DB = ФУО ## Возвращает величину амортизации актива для заданного периода, рассчитанную методом фиксированного уменьшения остатка. +DDB = ДДОБ ## Возвращает величину амортизации актива за данный период, используя метод двойного уменьшения остатка или иной явно указанный метод. +DISC = СКИДКА ## Возвращает норму скидки для ценных бумаг. +DOLLARDE = РУБЛЬ.ДЕС ## Преобразует цену в рублях, выраженную в виде дроби, в цену в рублях, выраженную десятичным числом. +DOLLARFR = РУБЛЬ.ДРОБЬ ## Преобразует цену в рублях, выраженную десятичным числом, в цену в рублях, выраженную в виде дроби. +DURATION = ДЛИТ ## Возвращает ежегодную продолжительность действия ценных бумаг с периодическими выплатами по процентам. +EFFECT = ЭФФЕКТ ## Возвращает действующие ежегодные процентные ставки. +FV = БС ## Возвращает будущую стоимость инвестиции. +FVSCHEDULE = БЗРАСПИС ## Возвращает будущую стоимость первоначальной основной суммы после начисления ряда сложных процентов. +INTRATE = ИНОРМА ## Возвращает процентную ставку для полностью инвестированных ценных бумаг. +IPMT = ПРПЛТ ## Возвращает величину выплаты прибыли на вложения за данный период. +IRR = ВСД ## Возвращает внутреннюю ставку доходности для ряда потоков денежных средств. +ISPMT = ПРОЦПЛАТ ## Вычисляет выплаты за указанный период инвестиции. +MDURATION = МДЛИТ ## Возвращает модифицированную длительность Маколея для ценных бумаг с предполагаемой номинальной стоимостью 100 рублей. +MIRR = МВСД ## Возвращает внутреннюю ставку доходности, при которой положительные и отрицательные денежные потоки имеют разные значения ставки. +NOMINAL = НОМИНАЛ ## Возвращает номинальную годовую процентную ставку. +NPER = КПЕР ## Возвращает общее количество периодов выплаты для данного вклада. +NPV = ЧПС ## Возвращает чистую приведенную стоимость инвестиции, основанной на серии периодических денежных потоков и ставке дисконтирования. +ODDFPRICE = ЦЕНАПЕРВНЕРЕГ ## Возвращает цену за 100 рублей нарицательной стоимости ценных бумаг с нерегулярным первым периодом. +ODDFYIELD = ДОХОДПЕРВНЕРЕГ ## Возвращает доход по ценным бумагам с нерегулярным первым периодом. +ODDLPRICE = ЦЕНАПОСЛНЕРЕГ ## Возвращает цену за 100 рублей нарицательной стоимости ценных бумаг с нерегулярным последним периодом. +ODDLYIELD = ДОХОДПОСЛНЕРЕГ ## Возвращает доход по ценным бумагам с нерегулярным последним периодом. +PMT = ПЛТ ## Возвращает величину выплаты за один период аннуитета. +PPMT = ОСПЛТ ## Возвращает величину выплат в погашение основной суммы по инвестиции за заданный период. +PRICE = ЦЕНА ## Возвращает цену за 100 рублей нарицательной стоимости ценных бумаг, по которым производится периодическая выплата процентов. +PRICEDISC = ЦЕНАСКИДКА ## Возвращает цену за 100 рублей номинальной стоимости ценных бумаг, на которые сделана скидка. +PRICEMAT = ЦЕНАПОГАШ ## Возвращает цену за 100 рублей номинальной стоимости ценных бумаг, проценты по которым выплачиваются в срок погашения. +PV = ПС ## Возвращает приведенную (к текущему моменту) стоимость инвестиции. +RATE = СТАВКА ## Возвращает процентную ставку по аннуитету за один период. +RECEIVED = ПОЛУЧЕНО ## Возвращает сумму, полученную к сроку погашения полностью обеспеченных ценных бумаг. +SLN = АПЛ ## Возвращает величину линейной амортизации актива за один период. +SYD = АСЧ ## Возвращает величину амортизации актива за данный период, рассчитанную методом суммы годовых чисел. +TBILLEQ = РАВНОКЧЕК ## Возвращает эквивалентный облигации доход по казначейскому чеку. +TBILLPRICE = ЦЕНАКЧЕК ## Возвращает цену за 100 рублей нарицательной стоимости для казначейского чека. +TBILLYIELD = ДОХОДКЧЕК ## Возвращает доход по казначейскому чеку. +VDB = ПУО ## Возвращает величину амортизации актива для указанного или частичного периода при использовании метода сокращающегося баланса. +XIRR = ЧИСТВНДОХ ## Возвращает внутреннюю ставку доходности для графика денежных потоков, которые не обязательно носят периодический характер. +XNPV = ЧИСТНЗ ## Возвращает чистую приведенную стоимость для денежных потоков, которые не обязательно являются периодическими. +YIELD = ДОХОД ## Возвращает доход от ценных бумаг, по которым производятся периодические выплаты процентов. +YIELDDISC = ДОХОДСКИДКА ## Возвращает годовой доход по ценным бумагам, на которые сделана скидка (пример — казначейские чеки). +YIELDMAT = ДОХОДПОГАШ ## Возвращает годовой доход от ценных бумаг, проценты по которым выплачиваются в срок погашения. + + +## +## Information functions Информационные функции +## +CELL = ЯЧЕЙКА ## Возвращает информацию о формате, расположении или содержимом ячейки. +ERROR.TYPE = ТИП.ОШИБКИ ## Возвращает числовой код, соответствующий типу ошибки. +INFO = ИНФОРМ ## Возвращает информацию о текущей операционной среде. +ISBLANK = ЕПУСТО ## Возвращает значение ИСТИНА, если аргумент является ссылкой на пустую ячейку. +ISERR = ЕОШ ## Возвращает значение ИСТИНА, если аргумент ссылается на любое значение ошибки, кроме #Н/Д. +ISERROR = ЕОШИБКА ## Возвращает значение ИСТИНА, если аргумент ссылается на любое значение ошибки. +ISEVEN = ЕЧЁТН ## Возвращает значение ИСТИНА, если значение аргумента является четным числом. +ISLOGICAL = ЕЛОГИЧ ## Возвращает значение ИСТИНА, если аргумент ссылается на логическое значение. +ISNA = ЕНД ## Возвращает значение ИСТИНА, если аргумент ссылается на значение ошибки #Н/Д. +ISNONTEXT = ЕНЕТЕКСТ ## Возвращает значение ИСТИНА, если значение аргумента не является текстом. +ISNUMBER = ЕЧИСЛО ## Возвращает значение ИСТИНА, если аргумент ссылается на число. +ISODD = ЕНЕЧЁТ ## Возвращает значение ИСТИНА, если значение аргумента является нечетным числом. +ISREF = ЕССЫЛКА ## Возвращает значение ИСТИНА, если значение аргумента является ссылкой. +ISTEXT = ЕТЕКСТ ## Возвращает значение ИСТИНА, если значение аргумента является текстом. +N = Ч ## Возвращает значение, преобразованное в число. +NA = НД ## Возвращает значение ошибки #Н/Д. +TYPE = ТИП ## Возвращает число, обозначающее тип данных значения. + + +## +## Logical functions Логические функции +## +AND = И ## Renvoie VRAI si tous ses arguments sont VRAI. +FALSE = ЛОЖЬ ## Возвращает логическое значение ЛОЖЬ. +IF = ЕСЛИ ## Выполняет проверку условия. +IFERROR = ЕСЛИОШИБКА ## Возвращает введённое значение, если вычисление по формуле вызывает ошибку; в противном случае функция возвращает результат вычисления. +NOT = НЕ ## Меняет логическое значение своего аргумента на противоположное. +OR = ИЛИ ## Возвращает значение ИСТИНА, если хотя бы один аргумент имеет значение ИСТИНА. +TRUE = ИСТИНА ## Возвращает логическое значение ИСТИНА. + + +## +## Lookup and reference functions Функции ссылки и поиска +## +ADDRESS = АДРЕС ## Возвращает ссылку на отдельную ячейку листа в виде текста. +AREAS = ОБЛАСТИ ## Возвращает количество областей в ссылке. +CHOOSE = ВЫБОР ## Выбирает значение из списка значений по индексу. +COLUMN = СТОЛБЕЦ ## Возвращает номер столбца, на который указывает ссылка. +COLUMNS = ЧИСЛСТОЛБ ## Возвращает количество столбцов в ссылке. +HLOOKUP = ГПР ## Ищет в первой строке массива и возвращает значение отмеченной ячейки +HYPERLINK = ГИПЕРССЫЛКА ## Создает ссылку, открывающую документ, который находится на сервере сети, в интрасети или в Интернете. +INDEX = ИНДЕКС ## Использует индекс для выбора значения из ссылки или массива. +INDIRECT = ДВССЫЛ ## Возвращает ссылку, заданную текстовым значением. +LOOKUP = ПРОСМОТР ## Ищет значения в векторе или массиве. +MATCH = ПОИСКПОЗ ## Ищет значения в ссылке или массиве. +OFFSET = СМЕЩ ## Возвращает смещение ссылки относительно заданной ссылки. +ROW = СТРОКА ## Возвращает номер строки, определяемой ссылкой. +ROWS = ЧСТРОК ## Возвращает количество строк в ссылке. +RTD = ДРВ ## Извлекает данные реального времени из программ, поддерживающих автоматизацию COM (Программирование объектов. Стандартное средство для работы с объектами некоторого приложения из другого приложения или средства разработки. Программирование объектов (ранее называемое программированием OLE) является функцией модели COM (Component Object Model, модель компонентных объектов).). +TRANSPOSE = ТРАНСП ## Возвращает транспонированный массив. +VLOOKUP = ВПР ## Ищет значение в первом столбце массива и возвращает значение из ячейки в найденной строке и указанном столбце. + + +## +## Math and trigonometry functions Математические и тригонометрические функции +## +ABS = ABS ## Возвращает модуль (абсолютную величину) числа. +ACOS = ACOS ## Возвращает арккосинус числа. +ACOSH = ACOSH ## Возвращает гиперболический арккосинус числа. +ASIN = ASIN ## Возвращает арксинус числа. +ASINH = ASINH ## Возвращает гиперболический арксинус числа. +ATAN = ATAN ## Возвращает арктангенс числа. +ATAN2 = ATAN2 ## Возвращает арктангенс для заданных координат x и y. +ATANH = ATANH ## Возвращает гиперболический арктангенс числа. +CEILING = ОКРВВЕРХ ## Округляет число до ближайшего целого или до ближайшего кратного указанному значению. +COMBIN = ЧИСЛКОМБ ## Возвращает количество комбинаций для заданного числа объектов. +COS = COS ## Возвращает косинус числа. +COSH = COSH ## Возвращает гиперболический косинус числа. +DEGREES = ГРАДУСЫ ## Преобразует радианы в градусы. +EVEN = ЧЁТН ## Округляет число до ближайшего четного целого. +EXP = EXP ## Возвращает число e, возведенное в указанную степень. +FACT = ФАКТР ## Возвращает факториал числа. +FACTDOUBLE = ДВФАКТР ## Возвращает двойной факториал числа. +FLOOR = ОКРВНИЗ ## Округляет число до ближайшего меньшего по модулю значения. +GCD = НОД ## Возвращает наибольший общий делитель. +INT = ЦЕЛОЕ ## Округляет число до ближайшего меньшего целого. +LCM = НОК ## Возвращает наименьшее общее кратное. +LN = LN ## Возвращает натуральный логарифм числа. +LOG = LOG ## Возвращает логарифм числа по заданному основанию. +LOG10 = LOG10 ## Возвращает десятичный логарифм числа. +MDETERM = МОПРЕД ## Возвращает определитель матрицы массива. +MINVERSE = МОБР ## Возвращает обратную матрицу массива. +MMULT = МУМНОЖ ## Возвращает произведение матриц двух массивов. +MOD = ОСТАТ ## Возвращает остаток от деления. +MROUND = ОКРУГЛТ ## Возвращает число, округленное с требуемой точностью. +MULTINOMIAL = МУЛЬТИНОМ ## Возвращает мультиномиальный коэффициент множества чисел. +ODD = НЕЧЁТ ## Округляет число до ближайшего нечетного целого. +PI = ПИ ## Возвращает число пи. +POWER = СТЕПЕНЬ ## Возвращает результат возведения числа в степень. +PRODUCT = ПРОИЗВЕД ## Возвращает произведение аргументов. +QUOTIENT = ЧАСТНОЕ ## Возвращает целую часть частного при делении. +RADIANS = РАДИАНЫ ## Преобразует градусы в радианы. +RAND = СЛЧИС ## Возвращает случайное число в интервале от 0 до 1. +RANDBETWEEN = СЛУЧМЕЖДУ ## Возвращает случайное число в интервале между двумя заданными числами. +ROMAN = РИМСКОЕ ## Преобразует арабские цифры в римские в виде текста. +ROUND = ОКРУГЛ ## Округляет число до указанного количества десятичных разрядов. +ROUNDDOWN = ОКРУГЛВНИЗ ## Округляет число до ближайшего меньшего по модулю значения. +ROUNDUP = ОКРУГЛВВЕРХ ## Округляет число до ближайшего большего по модулю значения. +SERIESSUM = РЯД.СУММ ## Возвращает сумму степенного ряда, вычисленную по формуле. +SIGN = ЗНАК ## Возвращает знак числа. +SIN = SIN ## Возвращает синус заданного угла. +SINH = SINH ## Возвращает гиперболический синус числа. +SQRT = КОРЕНЬ ## Возвращает положительное значение квадратного корня. +SQRTPI = КОРЕНЬПИ ## Возвращает квадратный корень из значения выражения (число * ПИ). +SUBTOTAL = ПРОМЕЖУТОЧНЫЕ.ИТОГИ ## Возвращает промежуточный итог в списке или базе данных. +SUM = СУММ ## Суммирует аргументы. +SUMIF = СУММЕСЛИ ## Суммирует ячейки, удовлетворяющие заданному условию. +SUMIFS = СУММЕСЛИМН ## Суммирует диапазон ячеек, удовлетворяющих нескольким условиям. +SUMPRODUCT = СУММПРОИЗВ ## Возвращает сумму произведений соответствующих элементов массивов. +SUMSQ = СУММКВ ## Возвращает сумму квадратов аргументов. +SUMX2MY2 = СУММРАЗНКВ ## Возвращает сумму разностей квадратов соответствующих значений в двух массивах. +SUMX2PY2 = СУММСУММКВ ## Возвращает сумму сумм квадратов соответствующих элементов двух массивов. +SUMXMY2 = СУММКВРАЗН ## Возвращает сумму квадратов разностей соответствующих значений в двух массивах. +TAN = TAN ## Возвращает тангенс числа. +TANH = TANH ## Возвращает гиперболический тангенс числа. +TRUNC = ОТБР ## Отбрасывает дробную часть числа. + + +## +## Statistical functions Статистические функции +## +AVEDEV = СРОТКЛ ## Возвращает среднее арифметическое абсолютных значений отклонений точек данных от среднего. +AVERAGE = СРЗНАЧ ## Возвращает среднее арифметическое аргументов. +AVERAGEA = СРЗНАЧА ## Возвращает среднее арифметическое аргументов, включая числа, текст и логические значения. +AVERAGEIF = СРЗНАЧЕСЛИ ## Возвращает среднее значение (среднее арифметическое) всех ячеек в диапазоне, которые удовлетворяют данному условию. +AVERAGEIFS = СРЗНАЧЕСЛИМН ## Возвращает среднее значение (среднее арифметическое) всех ячеек, которые удовлетворяют нескольким условиям. +BETADIST = БЕТАРАСП ## Возвращает интегральную функцию бета-распределения. +BETAINV = БЕТАОБР ## Возвращает обратную интегральную функцию указанного бета-распределения. +BINOMDIST = БИНОМРАСП ## Возвращает отдельное значение биномиального распределения. +CHIDIST = ХИ2РАСП ## Возвращает одностороннюю вероятность распределения хи-квадрат. +CHIINV = ХИ2ОБР ## Возвращает обратное значение односторонней вероятности распределения хи-квадрат. +CHITEST = ХИ2ТЕСТ ## Возвращает тест на независимость. +CONFIDENCE = ДОВЕРИТ ## Возвращает доверительный интервал для среднего значения по генеральной совокупности. +CORREL = КОРРЕЛ ## Возвращает коэффициент корреляции между двумя множествами данных. +COUNT = СЧЁТ ## Подсчитывает количество чисел в списке аргументов. +COUNTA = СЧЁТЗ ## Подсчитывает количество значений в списке аргументов. +COUNTBLANK = СЧИТАТЬПУСТОТЫ ## Подсчитывает количество пустых ячеек в диапазоне +COUNTIF = СЧЁТЕСЛИ ## Подсчитывает количество ячеек в диапазоне, удовлетворяющих заданному условию +COUNTIFS = СЧЁТЕСЛИМН ## Подсчитывает количество ячеек внутри диапазона, удовлетворяющих нескольким условиям. +COVAR = КОВАР ## Возвращает ковариацию, среднее произведений парных отклонений +CRITBINOM = КРИТБИНОМ ## Возвращает наименьшее значение, для которого интегральное биномиальное распределение меньше или равно заданному критерию. +DEVSQ = КВАДРОТКЛ ## Возвращает сумму квадратов отклонений. +EXPONDIST = ЭКСПРАСП ## Возвращает экспоненциальное распределение. +FDIST = FРАСП ## Возвращает F-распределение вероятности. +FINV = FРАСПОБР ## Возвращает обратное значение для F-распределения вероятности. +FISHER = ФИШЕР ## Возвращает преобразование Фишера. +FISHERINV = ФИШЕРОБР ## Возвращает обратное преобразование Фишера. +FORECAST = ПРЕДСКАЗ ## Возвращает значение линейного тренда. +FREQUENCY = ЧАСТОТА ## Возвращает распределение частот в виде вертикального массива. +FTEST = ФТЕСТ ## Возвращает результат F-теста. +GAMMADIST = ГАММАРАСП ## Возвращает гамма-распределение. +GAMMAINV = ГАММАОБР ## Возвращает обратное гамма-распределение. +GAMMALN = ГАММАНЛОГ ## Возвращает натуральный логарифм гамма функции, Γ(x). +GEOMEAN = СРГЕОМ ## Возвращает среднее геометрическое. +GROWTH = РОСТ ## Возвращает значения в соответствии с экспоненциальным трендом. +HARMEAN = СРГАРМ ## Возвращает среднее гармоническое. +HYPGEOMDIST = ГИПЕРГЕОМЕТ ## Возвращает гипергеометрическое распределение. +INTERCEPT = ОТРЕЗОК ## Возвращает отрезок, отсекаемый на оси линией линейной регрессии. +KURT = ЭКСЦЕСС ## Возвращает эксцесс множества данных. +LARGE = НАИБОЛЬШИЙ ## Возвращает k-ое наибольшее значение в множестве данных. +LINEST = ЛИНЕЙН ## Возвращает параметры линейного тренда. +LOGEST = ЛГРФПРИБЛ ## Возвращает параметры экспоненциального тренда. +LOGINV = ЛОГНОРМОБР ## Возвращает обратное логарифмическое нормальное распределение. +LOGNORMDIST = ЛОГНОРМРАСП ## Возвращает интегральное логарифмическое нормальное распределение. +MAX = МАКС ## Возвращает наибольшее значение в списке аргументов. +MAXA = МАКСА ## Возвращает наибольшее значение в списке аргументов, включая числа, текст и логические значения. +MEDIAN = МЕДИАНА ## Возвращает медиану заданных чисел. +MIN = МИН ## Возвращает наименьшее значение в списке аргументов. +MINA = МИНА ## Возвращает наименьшее значение в списке аргументов, включая числа, текст и логические значения. +MODE = МОДА ## Возвращает значение моды множества данных. +NEGBINOMDIST = ОТРБИНОМРАСП ## Возвращает отрицательное биномиальное распределение. +NORMDIST = НОРМРАСП ## Возвращает нормальную функцию распределения. +NORMINV = НОРМОБР ## Возвращает обратное нормальное распределение. +NORMSDIST = НОРМСТРАСП ## Возвращает стандартное нормальное интегральное распределение. +NORMSINV = НОРМСТОБР ## Возвращает обратное значение стандартного нормального распределения. +PEARSON = ПИРСОН ## Возвращает коэффициент корреляции Пирсона. +PERCENTILE = ПЕРСЕНТИЛЬ ## Возвращает k-ую персентиль для значений диапазона. +PERCENTRANK = ПРОЦЕНТРАНГ ## Возвращает процентную норму значения в множестве данных. +PERMUT = ПЕРЕСТ ## Возвращает количество перестановок для заданного числа объектов. +POISSON = ПУАССОН ## Возвращает распределение Пуассона. +PROB = ВЕРОЯТНОСТЬ ## Возвращает вероятность того, что значение из диапазона находится внутри заданных пределов. +QUARTILE = КВАРТИЛЬ ## Возвращает квартиль множества данных. +RANK = РАНГ ## Возвращает ранг числа в списке чисел. +RSQ = КВПИРСОН ## Возвращает квадрат коэффициента корреляции Пирсона. +SKEW = СКОС ## Возвращает асимметрию распределения. +SLOPE = НАКЛОН ## Возвращает наклон линии линейной регрессии. +SMALL = НАИМЕНЬШИЙ ## Возвращает k-ое наименьшее значение в множестве данных. +STANDARDIZE = НОРМАЛИЗАЦИЯ ## Возвращает нормализованное значение. +STDEV = СТАНДОТКЛОН ## Оценивает стандартное отклонение по выборке. +STDEVA = СТАНДОТКЛОНА ## Оценивает стандартное отклонение по выборке, включая числа, текст и логические значения. +STDEVP = СТАНДОТКЛОНП ## Вычисляет стандартное отклонение по генеральной совокупности. +STDEVPA = СТАНДОТКЛОНПА ## Вычисляет стандартное отклонение по генеральной совокупности, включая числа, текст и логические значения. +STEYX = СТОШYX ## Возвращает стандартную ошибку предсказанных значений y для каждого значения x в регрессии. +TDIST = СТЬЮДРАСП ## Возвращает t-распределение Стьюдента. +TINV = СТЬЮДРАСПОБР ## Возвращает обратное t-распределение Стьюдента. +TREND = ТЕНДЕНЦИЯ ## Возвращает значения в соответствии с линейным трендом. +TRIMMEAN = УРЕЗСРЕДНЕЕ ## Возвращает среднее внутренности множества данных. +TTEST = ТТЕСТ ## Возвращает вероятность, соответствующую критерию Стьюдента. +VAR = ДИСП ## Оценивает дисперсию по выборке. +VARA = ДИСПА ## Оценивает дисперсию по выборке, включая числа, текст и логические значения. +VARP = ДИСПР ## Вычисляет дисперсию для генеральной совокупности. +VARPA = ДИСПРА ## Вычисляет дисперсию для генеральной совокупности, включая числа, текст и логические значения. +WEIBULL = ВЕЙБУЛЛ ## Возвращает распределение Вейбулла. +ZTEST = ZТЕСТ ## Возвращает двустороннее P-значение z-теста. + + +## +## Text functions Текстовые функции +## +ASC = ASC ## Для языков с двухбайтовыми наборами знаков (например, катакана) преобразует полноширинные (двухбайтовые) знаки в полуширинные (однобайтовые). +BAHTTEXT = БАТТЕКСТ ## Преобразует число в текст, используя денежный формат ß (БАТ). +CHAR = СИМВОЛ ## Возвращает знак с заданным кодом. +CLEAN = ПЕЧСИМВ ## Удаляет все непечатаемые знаки из текста. +CODE = КОДСИМВ ## Возвращает числовой код первого знака в текстовой строке. +CONCATENATE = СЦЕПИТЬ ## Объединяет несколько текстовых элементов в один. +DOLLAR = РУБЛЬ ## Преобразует число в текст, используя денежный формат. +EXACT = СОВПАД ## Проверяет идентичность двух текстовых значений. +FIND = НАЙТИ ## Ищет вхождения одного текстового значения в другом (с учетом регистра). +FINDB = НАЙТИБ ## Ищет вхождения одного текстового значения в другом (с учетом регистра). +FIXED = ФИКСИРОВАННЫЙ ## Форматирует число и преобразует его в текст с заданным числом десятичных знаков. +JIS = JIS ## Для языков с двухбайтовыми наборами знаков (например, катакана) преобразует полуширинные (однобайтовые) знаки в текстовой строке в полноширинные (двухбайтовые). +LEFT = ЛЕВСИМВ ## Возвращает крайние слева знаки текстового значения. +LEFTB = ЛЕВБ ## Возвращает крайние слева знаки текстового значения. +LEN = ДЛСТР ## Возвращает количество знаков в текстовой строке. +LENB = ДЛИНБ ## Возвращает количество знаков в текстовой строке. +LOWER = СТРОЧН ## Преобразует все буквы текста в строчные. +MID = ПСТР ## Возвращает заданное число знаков из строки текста, начиная с указанной позиции. +MIDB = ПСТРБ ## Возвращает заданное число знаков из строки текста, начиная с указанной позиции. +PHONETIC = PHONETIC ## Извлекает фонетические (фуригана) знаки из текстовой строки. +PROPER = ПРОПНАЧ ## Преобразует первую букву в каждом слове текста в прописную. +REPLACE = ЗАМЕНИТЬ ## Заменяет знаки в тексте. +REPLACEB = ЗАМЕНИТЬБ ## Заменяет знаки в тексте. +REPT = ПОВТОР ## Повторяет текст заданное число раз. +RIGHT = ПРАВСИМВ ## Возвращает крайние справа знаки текстовой строки. +RIGHTB = ПРАВБ ## Возвращает крайние справа знаки текстовой строки. +SEARCH = ПОИСК ## Ищет вхождения одного текстового значения в другом (без учета регистра). +SEARCHB = ПОИСКБ ## Ищет вхождения одного текстового значения в другом (без учета регистра). +SUBSTITUTE = ПОДСТАВИТЬ ## Заменяет в текстовой строке старый текст новым. +T = Т ## Преобразует аргументы в текст. +TEXT = ТЕКСТ ## Форматирует число и преобразует его в текст. +TRIM = СЖПРОБЕЛЫ ## Удаляет из текста пробелы. +UPPER = ПРОПИСН ## Преобразует все буквы текста в прописные. +VALUE = ЗНАЧЕН ## Преобразует текстовый аргумент в число. diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/locale/sv/config b/vendor/phpoffice/phpexcel/Classes/PHPExcel/locale/sv/config new file mode 100644 index 00000000..726f7716 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/locale/sv/config @@ -0,0 +1,47 @@ +## +## PHPExcel +## +## Copyright (c) 2006 - 2013 PHPExcel +## +## This library is free software; you can redistribute it and/or +## modify it under the terms of the GNU Lesser General Public +## License as published by the Free Software Foundation; either +## version 2.1 of the License, or (at your option) any later version. +## +## This library is distributed in the hope that it will be useful, +## but WITHOUT ANY WARRANTY; without even the implied warranty of +## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +## Lesser General Public License for more details. +## +## You should have received a copy of the GNU Lesser General Public +## License along with this library; if not, write to the Free Software +## Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +## +## @category PHPExcel +## @package PHPExcel_Settings +## @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel) +## @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL +## @version ##VERSION##, ##DATE## +## +## + + +ArgumentSeparator = ; + + +## +## (For future use) +## +currencySymbol = kr + + +## +## Excel Error Codes (For future use) +## +NULL = #Skärning! +DIV0 = #Division/0! +VALUE = #Värdefel! +REF = #Referens! +NAME = #Namn? +NUM = #Ogiltigt! +NA = #Saknas! diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/locale/sv/functions b/vendor/phpoffice/phpexcel/Classes/PHPExcel/locale/sv/functions new file mode 100644 index 00000000..9af37d8e --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/locale/sv/functions @@ -0,0 +1,408 @@ +## +## Add-in and Automation functions Tilläggs- och automatiseringsfunktioner +## +GETPIVOTDATA = HÄMTA.PIVOTDATA ## Returnerar data som lagrats i en pivottabellrapport + + +## +## Cube functions Kubfunktioner +## +CUBEKPIMEMBER = KUBKPIMEDLEM ## Returnerar namn, egenskap och mått för en KPI och visar namnet och egenskapen i cellen. En KPI, eller prestandaindikator, är ett kvantifierbart mått, t.ex. månatlig bruttovinst eller personalomsättning per kvartal, som används för att analysera ett företags resultat. +CUBEMEMBER = KUBMEDLEM ## Returnerar en medlem eller ett par i en kubhierarki. Används för att verifiera att medlemmen eller paret finns i kuben. +CUBEMEMBERPROPERTY = KUBMEDLEMSEGENSKAP ## Returnerar värdet för en medlemsegenskap i kuben. Används för att verifiera att ett medlemsnamn finns i kuben, samt för att returnera den angivna egenskapen för medlemmen. +CUBERANKEDMEMBER = KUBRANGORDNADMEDLEM ## Returnerar den n:te, eller rangordnade, medlemmen i en uppsättning. Används för att returnera ett eller flera element i en uppsättning, till exempelvis den bästa försäljaren eller de tio bästa eleverna. +CUBESET = KUBINSTÄLLNING ## Definierar en beräknad uppsättning medlemmar eller par genom att skicka ett bestämt uttryck till kuben på servern, som skapar uppsättningen och sedan returnerar den till Microsoft Office Excel. +CUBESETCOUNT = KUBINSTÄLLNINGANTAL ## Returnerar antalet objekt i en uppsättning. +CUBEVALUE = KUBVÄRDE ## Returnerar ett mängdvärde från en kub. + + +## +## Database functions Databasfunktioner +## +DAVERAGE = DMEDEL ## Returnerar medelvärdet av databasposterna +DCOUNT = DANTAL ## Räknar antalet celler som innehåller tal i en databas +DCOUNTA = DANTALV ## Räknar ifyllda celler i en databas +DGET = DHÄMTA ## Hämtar en enstaka post från en databas som uppfyller de angivna villkoren +DMAX = DMAX ## Returnerar det största värdet från databasposterna +DMIN = DMIN ## Returnerar det minsta värdet från databasposterna +DPRODUCT = DPRODUKT ## Multiplicerar värdena i ett visst fält i poster som uppfyller villkoret +DSTDEV = DSTDAV ## Uppskattar standardavvikelsen baserat på ett urval av databasposterna +DSTDEVP = DSTDAVP ## Beräknar standardavvikelsen utifrån hela populationen av valda databasposter +DSUM = DSUMMA ## Summerar talen i kolumnfält i databasposter som uppfyller villkoret +DVAR = DVARIANS ## Uppskattar variansen baserat på ett urval av databasposterna +DVARP = DVARIANSP ## Beräknar variansen utifrån hela populationen av valda databasposter + + +## +## Date and time functions Tid- och datumfunktioner +## +DATE = DATUM ## Returnerar ett serienummer för ett visst datum +DATEVALUE = DATUMVÄRDE ## Konverterar ett datum i textformat till ett serienummer +DAY = DAG ## Konverterar ett serienummer till dag i månaden +DAYS360 = DAGAR360 ## Beräknar antalet dagar mellan två datum baserat på ett 360-dagarsår +EDATE = EDATUM ## Returnerar serienumret för ett datum som infaller ett visst antal månader före eller efter startdatumet +EOMONTH = SLUTMÅNAD ## Returnerar serienumret för sista dagen i månaden ett visst antal månader tidigare eller senare +HOUR = TIMME ## Konverterar ett serienummer till en timme +MINUTE = MINUT ## Konverterar ett serienummer till en minut +MONTH = MÅNAD ## Konverterar ett serienummer till en månad +NETWORKDAYS = NETTOARBETSDAGAR ## Returnerar antalet hela arbetsdagar mellan två datum +NOW = NU ## Returnerar serienumret för dagens datum och aktuell tid +SECOND = SEKUND ## Konverterar ett serienummer till en sekund +TIME = KLOCKSLAG ## Returnerar serienumret för en viss tid +TIMEVALUE = TIDVÄRDE ## Konverterar en tid i textformat till ett serienummer +TODAY = IDAG ## Returnerar serienumret för dagens datum +WEEKDAY = VECKODAG ## Konverterar ett serienummer till en dag i veckan +WEEKNUM = VECKONR ## Konverterar ett serienummer till ett veckonummer +WORKDAY = ARBETSDAGAR ## Returnerar serienumret för ett datum ett visst antal arbetsdagar tidigare eller senare +YEAR = ÅR ## Konverterar ett serienummer till ett år +YEARFRAC = ÅRDEL ## Returnerar en del av ett år som representerar antalet hela dagar mellan start- och slutdatum + + +## +## Engineering functions Tekniska funktioner +## +BESSELI = BESSELI ## Returnerar den modifierade Bessel-funktionen In(x) +BESSELJ = BESSELJ ## Returnerar Bessel-funktionen Jn(x) +BESSELK = BESSELK ## Returnerar den modifierade Bessel-funktionen Kn(x) +BESSELY = BESSELY ## Returnerar Bessel-funktionen Yn(x) +BIN2DEC = BIN.TILL.DEC ## Omvandlar ett binärt tal till decimalt +BIN2HEX = BIN.TILL.HEX ## Omvandlar ett binärt tal till hexadecimalt +BIN2OCT = BIN.TILL.OKT ## Omvandlar ett binärt tal till oktalt +COMPLEX = KOMPLEX ## Omvandlar reella och imaginära koefficienter till ett komplext tal +CONVERT = KONVERTERA ## Omvandlar ett tal från ett måttsystem till ett annat +DEC2BIN = DEC.TILL.BIN ## Omvandlar ett decimalt tal till binärt +DEC2HEX = DEC.TILL.HEX ## Omvandlar ett decimalt tal till hexadecimalt +DEC2OCT = DEC.TILL.OKT ## Omvandlar ett decimalt tal till oktalt +DELTA = DELTA ## Testar om två värden är lika +ERF = FELF ## Returnerar felfunktionen +ERFC = FELFK ## Returnerar den komplementära felfunktionen +GESTEP = SLSTEG ## Testar om ett tal är större än ett tröskelvärde +HEX2BIN = HEX.TILL.BIN ## Omvandlar ett hexadecimalt tal till binärt +HEX2DEC = HEX.TILL.DEC ## Omvandlar ett hexadecimalt tal till decimalt +HEX2OCT = HEX.TILL.OKT ## Omvandlar ett hexadecimalt tal till oktalt +IMABS = IMABS ## Returnerar absolutvärdet (modulus) för ett komplext tal +IMAGINARY = IMAGINÄR ## Returnerar den imaginära koefficienten för ett komplext tal +IMARGUMENT = IMARGUMENT ## Returnerar det komplexa talets argument, en vinkel uttryckt i radianer +IMCONJUGATE = IMKONJUGAT ## Returnerar det komplexa talets konjugat +IMCOS = IMCOS ## Returnerar cosinus för ett komplext tal +IMDIV = IMDIV ## Returnerar kvoten för två komplexa tal +IMEXP = IMEUPPHÖJT ## Returnerar exponenten för ett komplext tal +IMLN = IMLN ## Returnerar den naturliga logaritmen för ett komplext tal +IMLOG10 = IMLOG10 ## Returnerar 10-logaritmen för ett komplext tal +IMLOG2 = IMLOG2 ## Returnerar 2-logaritmen för ett komplext tal +IMPOWER = IMUPPHÖJT ## Returnerar ett komplext tal upphöjt till en exponent +IMPRODUCT = IMPRODUKT ## Returnerar produkten av komplexa tal +IMREAL = IMREAL ## Returnerar den reella koefficienten för ett komplext tal +IMSIN = IMSIN ## Returnerar sinus för ett komplext tal +IMSQRT = IMROT ## Returnerar kvadratroten av ett komplext tal +IMSUB = IMDIFF ## Returnerar differensen mellan två komplexa tal +IMSUM = IMSUM ## Returnerar summan av komplexa tal +OCT2BIN = OKT.TILL.BIN ## Omvandlar ett oktalt tal till binärt +OCT2DEC = OKT.TILL.DEC ## Omvandlar ett oktalt tal till decimalt +OCT2HEX = OKT.TILL.HEX ## Omvandlar ett oktalt tal till hexadecimalt + + +## +## Financial functions Finansiella funktioner +## +ACCRINT = UPPLRÄNTA ## Returnerar den upplupna räntan för värdepapper med periodisk ränta +ACCRINTM = UPPLOBLRÄNTA ## Returnerar den upplupna räntan för ett värdepapper som ger avkastning på förfallodagen +AMORDEGRC = AMORDEGRC ## Returnerar avskrivningen för varje redovisningsperiod med hjälp av en avskrivningskoefficient +AMORLINC = AMORLINC ## Returnerar avskrivningen för varje redovisningsperiod +COUPDAYBS = KUPDAGBB ## Returnerar antal dagar från början av kupongperioden till likviddagen +COUPDAYS = KUPDAGARS ## Returnerar antalet dagar i kupongperioden som innehåller betalningsdatumet +COUPDAYSNC = KUPDAGNK ## Returnerar antalet dagar från betalningsdatumet till nästa kupongdatum +COUPNCD = KUPNKD ## Returnerar nästa kupongdatum efter likviddagen +COUPNUM = KUPANT ## Returnerar kuponger som förfaller till betalning mellan likviddagen och förfallodagen +COUPPCD = KUPFKD ## Returnerar föregående kupongdatum före likviddagen +CUMIPMT = KUMRÄNTA ## Returnerar den ackumulerade räntan som betalats mellan två perioder +CUMPRINC = KUMPRIS ## Returnerar det ackumulerade kapitalbeloppet som betalats på ett lån mellan två perioder +DB = DB ## Returnerar avskrivningen för en tillgång under en angiven tid enligt metoden för fast degressiv avskrivning +DDB = DEGAVSKR ## Returnerar en tillgångs värdeminskning under en viss period med hjälp av dubbel degressiv avskrivning eller någon annan metod som du anger +DISC = DISK ## Returnerar diskonteringsräntan för ett värdepapper +DOLLARDE = DECTAL ## Omvandlar ett pris uttryckt som ett bråk till ett decimaltal +DOLLARFR = BRÅK ## Omvandlar ett pris i kronor uttryckt som ett decimaltal till ett bråk +DURATION = LÖPTID ## Returnerar den årliga löptiden för en säkerhet med periodiska räntebetalningar +EFFECT = EFFRÄNTA ## Returnerar den årliga effektiva räntesatsen +FV = SLUTVÄRDE ## Returnerar det framtida värdet på en investering +FVSCHEDULE = FÖRRÄNTNING ## Returnerar det framtida värdet av ett begynnelsekapital beräknat på olika räntenivåer +INTRATE = ÅRSRÄNTA ## Returnerar räntesatsen för ett betalt värdepapper +IPMT = RBETALNING ## Returnerar räntedelen av en betalning för en given period +IRR = IR ## Returnerar internräntan för en serie betalningar +ISPMT = RALÅN ## Beräknar räntan som har betalats under en specifik betalningsperiod +MDURATION = MLÖPTID ## Returnerar den modifierade Macauley-löptiden för ett värdepapper med det antagna nominella värdet 100 kr +MIRR = MODIR ## Returnerar internräntan där positiva och negativa betalningar finansieras med olika räntor +NOMINAL = NOMRÄNTA ## Returnerar den årliga nominella räntesatsen +NPER = PERIODER ## Returnerar antalet perioder för en investering +NPV = NETNUVÄRDE ## Returnerar nuvärdet av en serie periodiska betalningar vid en given diskonteringsränta +ODDFPRICE = UDDAFPRIS ## Returnerar priset per 100 kr nominellt värde för ett värdepapper med en udda första period +ODDFYIELD = UDDAFAVKASTNING ## Returnerar avkastningen för en säkerhet med en udda första period +ODDLPRICE = UDDASPRIS ## Returnerar priset per 100 kr nominellt värde för ett värdepapper med en udda sista period +ODDLYIELD = UDDASAVKASTNING ## Returnerar avkastningen för en säkerhet med en udda sista period +PMT = BETALNING ## Returnerar den periodiska betalningen för en annuitet +PPMT = AMORT ## Returnerar amorteringsdelen av en annuitetsbetalning för en given period +PRICE = PRIS ## Returnerar priset per 100 kr nominellt värde för ett värdepapper som ger periodisk ränta +PRICEDISC = PRISDISK ## Returnerar priset per 100 kr nominellt värde för ett diskonterat värdepapper +PRICEMAT = PRISFÖRF ## Returnerar priset per 100 kr nominellt värde för ett värdepapper som ger ränta på förfallodagen +PV = PV ## Returnerar nuvärdet av en serie lika stora periodiska betalningar +RATE = RÄNTA ## Returnerar räntesatsen per period i en annuitet +RECEIVED = BELOPP ## Returnerar beloppet som utdelas på förfallodagen för ett betalat värdepapper +SLN = LINAVSKR ## Returnerar den linjära avskrivningen för en tillgång under en period +SYD = ÅRSAVSKR ## Returnerar den årliga avskrivningssumman för en tillgång under en angiven period +TBILLEQ = SSVXEKV ## Returnerar avkastningen motsvarande en obligation för en statsskuldväxel +TBILLPRICE = SSVXPRIS ## Returnerar priset per 100 kr nominellt värde för en statsskuldväxel +TBILLYIELD = SSVXRÄNTA ## Returnerar avkastningen för en statsskuldväxel +VDB = VDEGRAVSKR ## Returnerar avskrivningen för en tillgång under en angiven period (med degressiv avskrivning) +XIRR = XIRR ## Returnerar internräntan för en serie betalningar som inte nödvändigtvis är periodiska +XNPV = XNUVÄRDE ## Returnerar det nuvarande nettovärdet för en serie betalningar som inte nödvändigtvis är periodiska +YIELD = NOMAVK ## Returnerar avkastningen för ett värdepapper som ger periodisk ränta +YIELDDISC = NOMAVKDISK ## Returnerar den årliga avkastningen för diskonterade värdepapper, exempelvis en statsskuldväxel +YIELDMAT = NOMAVKFÖRF ## Returnerar den årliga avkastningen för ett värdepapper som ger ränta på förfallodagen + + +## +## Information functions Informationsfunktioner +## +CELL = CELL ## Returnerar information om formatering, plats och innehåll i en cell +ERROR.TYPE = FEL.TYP ## Returnerar ett tal som motsvarar ett felvärde +INFO = INFO ## Returnerar information om operativsystemet +ISBLANK = ÄRREF ## Returnerar SANT om värdet är tomt +ISERR = Ä ## Returnerar SANT om värdet är ett felvärde annat än #SAKNAS! +ISERROR = ÄRFEL ## Returnerar SANT om värdet är ett felvärde +ISEVEN = ÄRJÄMN ## Returnerar SANT om talet är jämnt +ISLOGICAL = ÄREJTEXT ## Returnerar SANT om värdet är ett logiskt värde +ISNA = ÄRLOGISK ## Returnerar SANT om värdet är felvärdet #SAKNAS! +ISNONTEXT = ÄRSAKNAD ## Returnerar SANT om värdet inte är text +ISNUMBER = ÄRTAL ## Returnerar SANT om värdet är ett tal +ISODD = ÄRUDDA ## Returnerar SANT om talet är udda +ISREF = ÄRTOM ## Returnerar SANT om värdet är en referens +ISTEXT = ÄRTEXT ## Returnerar SANT om värdet är text +N = N ## Returnerar ett värde omvandlat till ett tal +NA = SAKNAS ## Returnerar felvärdet #SAKNAS! +TYPE = VÄRDETYP ## Returnerar ett tal som anger värdets datatyp + + +## +## Logical functions Logiska funktioner +## +AND = OCH ## Returnerar SANT om alla argument är sanna +FALSE = FALSKT ## Returnerar det logiska värdet FALSKT +IF = OM ## Anger vilket logiskt test som ska utföras +IFERROR = OMFEL ## Returnerar ett värde som du anger om en formel utvärderar till ett fel; annars returneras resultatet av formeln +NOT = ICKE ## Inverterar logiken för argumenten +OR = ELLER ## Returnerar SANT om något argument är SANT +TRUE = SANT ## Returnerar det logiska värdet SANT + + +## +## Lookup and reference functions Sök- och referensfunktioner +## +ADDRESS = ADRESS ## Returnerar en referens som text till en enstaka cell i ett kalkylblad +AREAS = OMRÅDEN ## Returnerar antalet områden i en referens +CHOOSE = VÄLJ ## Väljer ett värde i en lista över värden +COLUMN = KOLUMN ## Returnerar kolumnnumret för en referens +COLUMNS = KOLUMNER ## Returnerar antalet kolumner i en referens +HLOOKUP = LETAKOLUMN ## Söker i den översta raden i en matris och returnerar värdet för angiven cell +HYPERLINK = HYPERLÄNK ## Skapar en genväg eller ett hopp till ett dokument i nätverket, i ett intranät eller på Internet +INDEX = INDEX ## Använder ett index för ett välja ett värde i en referens eller matris +INDIRECT = INDIREKT ## Returnerar en referens som anges av ett textvärde +LOOKUP = LETAUPP ## Letar upp värden i en vektor eller matris +MATCH = PASSA ## Letar upp värden i en referens eller matris +OFFSET = FÖRSKJUTNING ## Returnerar en referens förskjuten i förhållande till en given referens +ROW = RAD ## Returnerar radnumret för en referens +ROWS = RADER ## Returnerar antalet rader i en referens +RTD = RTD ## Hämtar realtidsdata från ett program som stöder COM-automation (Automation: Ett sätt att arbeta med ett programs objekt från ett annat program eller utvecklingsverktyg. Detta kallades tidigare för OLE Automation, och är en branschstandard och ingår i Component Object Model (COM).) +TRANSPOSE = TRANSPONERA ## Transponerar en matris +VLOOKUP = LETARAD ## Letar i den första kolumnen i en matris och flyttar över raden för att returnera värdet för en cell + + +## +## Math and trigonometry functions Matematiska och trigonometriska funktioner +## +ABS = ABS ## Returnerar absolutvärdet av ett tal +ACOS = ARCCOS ## Returnerar arcus cosinus för ett tal +ACOSH = ARCCOSH ## Returnerar inverterad hyperbolisk cosinus för ett tal +ASIN = ARCSIN ## Returnerar arcus cosinus för ett tal +ASINH = ARCSINH ## Returnerar hyperbolisk arcus sinus för ett tal +ATAN = ARCTAN ## Returnerar arcus tangens för ett tal +ATAN2 = ARCTAN2 ## Returnerar arcus tangens för en x- och en y- koordinat +ATANH = ARCTANH ## Returnerar hyperbolisk arcus tangens för ett tal +CEILING = RUNDA.UPP ## Avrundar ett tal till närmaste heltal eller närmaste signifikanta multipel +COMBIN = KOMBIN ## Returnerar antalet kombinationer för ett givet antal objekt +COS = COS ## Returnerar cosinus för ett tal +COSH = COSH ## Returnerar hyperboliskt cosinus för ett tal +DEGREES = GRADER ## Omvandlar radianer till grader +EVEN = JÄMN ## Avrundar ett tal uppåt till närmaste heltal +EXP = EXP ## Returnerar e upphöjt till ett givet tal +FACT = FAKULTET ## Returnerar fakulteten för ett tal +FACTDOUBLE = DUBBELFAKULTET ## Returnerar dubbelfakulteten för ett tal +FLOOR = RUNDA.NED ## Avrundar ett tal nedåt mot noll +GCD = SGD ## Returnerar den största gemensamma nämnaren +INT = HELTAL ## Avrundar ett tal nedåt till närmaste heltal +LCM = MGM ## Returnerar den minsta gemensamma multipeln +LN = LN ## Returnerar den naturliga logaritmen för ett tal +LOG = LOG ## Returnerar logaritmen för ett tal för en given bas +LOG10 = LOG10 ## Returnerar 10-logaritmen för ett tal +MDETERM = MDETERM ## Returnerar matrisen som är avgörandet av en matris +MINVERSE = MINVERT ## Returnerar matrisinversen av en matris +MMULT = MMULT ## Returnerar matrisprodukten av två matriser +MOD = REST ## Returnerar resten vid en division +MROUND = MAVRUNDA ## Returnerar ett tal avrundat till en given multipel +MULTINOMIAL = MULTINOMIAL ## Returnerar multinomialen för en uppsättning tal +ODD = UDDA ## Avrundar ett tal uppåt till närmaste udda heltal +PI = PI ## Returnerar värdet pi +POWER = UPPHÖJT.TILL ## Returnerar resultatet av ett tal upphöjt till en exponent +PRODUCT = PRODUKT ## Multiplicerar argumenten +QUOTIENT = KVOT ## Returnerar heltalsdelen av en division +RADIANS = RADIANER ## Omvandlar grader till radianer +RAND = SLUMP ## Returnerar ett slumptal mellan 0 och 1 +RANDBETWEEN = SLUMP.MELLAN ## Returnerar ett slumptal mellan de tal som du anger +ROMAN = ROMERSK ## Omvandlar vanliga (arabiska) siffror till romerska som text +ROUND = AVRUNDA ## Avrundar ett tal till ett angivet antal siffror +ROUNDDOWN = AVRUNDA.NEDÅT ## Avrundar ett tal nedåt mot noll +ROUNDUP = AVRUNDA.UPPÅT ## Avrundar ett tal uppåt, från noll +SERIESSUM = SERIESUMMA ## Returnerar summan av en potensserie baserat på formeln +SIGN = TECKEN ## Returnerar tecknet för ett tal +SIN = SIN ## Returnerar sinus för en given vinkel +SINH = SINH ## Returnerar hyperbolisk sinus för ett tal +SQRT = ROT ## Returnerar den positiva kvadratroten +SQRTPI = ROTPI ## Returnerar kvadratroten för (tal * pi) +SUBTOTAL = DELSUMMA ## Returnerar en delsumma i en lista eller databas +SUM = SUMMA ## Summerar argumenten +SUMIF = SUMMA.OM ## Summerar celler enligt ett angivet villkor +SUMIFS = SUMMA.OMF ## Lägger till cellerna i ett område som uppfyller flera kriterier +SUMPRODUCT = PRODUKTSUMMA ## Returnerar summan av produkterna i motsvarande matriskomponenter +SUMSQ = KVADRATSUMMA ## Returnerar summan av argumentens kvadrater +SUMX2MY2 = SUMMAX2MY2 ## Returnerar summan av differensen mellan kvadraterna för motsvarande värden i två matriser +SUMX2PY2 = SUMMAX2PY2 ## Returnerar summan av summan av kvadraterna av motsvarande värden i två matriser +SUMXMY2 = SUMMAXMY2 ## Returnerar summan av kvadraten av skillnaden mellan motsvarande värden i två matriser +TAN = TAN ## Returnerar tangens för ett tal +TANH = TANH ## Returnerar hyperbolisk tangens för ett tal +TRUNC = AVKORTA ## Avkortar ett tal till ett heltal + + +## +## Statistical functions Statistiska funktioner +## +AVEDEV = MEDELAVV ## Returnerar medelvärdet för datapunkters absoluta avvikelse från deras medelvärde +AVERAGE = MEDEL ## Returnerar medelvärdet av argumenten +AVERAGEA = AVERAGEA ## Returnerar medelvärdet av argumenten, inklusive tal, text och logiska värden +AVERAGEIF = MEDELOM ## Returnerar medelvärdet (aritmetiskt medelvärde) för alla celler i ett område som uppfyller ett givet kriterium +AVERAGEIFS = MEDELOMF ## Returnerar medelvärdet (det aritmetiska medelvärdet) för alla celler som uppfyller flera villkor. +BETADIST = BETAFÖRD ## Returnerar den kumulativa betafördelningsfunktionen +BETAINV = BETAINV ## Returnerar inversen till den kumulativa fördelningsfunktionen för en viss betafördelning +BINOMDIST = BINOMFÖRD ## Returnerar den individuella binomialfördelningen +CHIDIST = CHI2FÖRD ## Returnerar den ensidiga sannolikheten av c2-fördelningen +CHIINV = CHI2INV ## Returnerar inversen av chi2-fördelningen +CHITEST = CHI2TEST ## Returnerar oberoendetesten +CONFIDENCE = KONFIDENS ## Returnerar konfidensintervallet för en populations medelvärde +CORREL = KORREL ## Returnerar korrelationskoefficienten mellan två datamängder +COUNT = ANTAL ## Räknar hur många tal som finns bland argumenten +COUNTA = ANTALV ## Räknar hur många värden som finns bland argumenten +COUNTBLANK = ANTAL.TOMMA ## Räknar antalet tomma celler i ett område +COUNTIF = ANTAL.OM ## Räknar antalet celler i ett område som uppfyller angivna villkor. +COUNTIFS = ANTAL.OMF ## Räknar antalet celler i ett område som uppfyller flera villkor. +COVAR = KOVAR ## Returnerar kovariansen, d.v.s. medelvärdet av produkterna för parade avvikelser +CRITBINOM = KRITBINOM ## Returnerar det minsta värdet för vilket den kumulativa binomialfördelningen är mindre än eller lika med ett villkorsvärde +DEVSQ = KVADAVV ## Returnerar summan av kvadrater på avvikelser +EXPONDIST = EXPONFÖRD ## Returnerar exponentialfördelningen +FDIST = FFÖRD ## Returnerar F-sannolikhetsfördelningen +FINV = FINV ## Returnerar inversen till F-sannolikhetsfördelningen +FISHER = FISHER ## Returnerar Fisher-transformationen +FISHERINV = FISHERINV ## Returnerar inversen till Fisher-transformationen +FORECAST = PREDIKTION ## Returnerar ett värde längs en linjär trendlinje +FREQUENCY = FREKVENS ## Returnerar en frekvensfördelning som en lodrät matris +FTEST = FTEST ## Returnerar resultatet av en F-test +GAMMADIST = GAMMAFÖRD ## Returnerar gammafördelningen +GAMMAINV = GAMMAINV ## Returnerar inversen till den kumulativa gammafördelningen +GAMMALN = GAMMALN ## Returnerar den naturliga logaritmen för gammafunktionen, G(x) +GEOMEAN = GEOMEDEL ## Returnerar det geometriska medelvärdet +GROWTH = EXPTREND ## Returnerar värden längs en exponentiell trend +HARMEAN = HARMMEDEL ## Returnerar det harmoniska medelvärdet +HYPGEOMDIST = HYPGEOMFÖRD ## Returnerar den hypergeometriska fördelningen +INTERCEPT = SKÄRNINGSPUNKT ## Returnerar skärningspunkten för en linjär regressionslinje +KURT = TOPPIGHET ## Returnerar toppigheten av en mängd data +LARGE = STÖRSTA ## Returnerar det n:te största värdet i en mängd data +LINEST = REGR ## Returnerar parametrar till en linjär trendlinje +LOGEST = EXPREGR ## Returnerar parametrarna i en exponentiell trend +LOGINV = LOGINV ## Returnerar inversen till den lognormala fördelningen +LOGNORMDIST = LOGNORMFÖRD ## Returnerar den kumulativa lognormala fördelningen +MAX = MAX ## Returnerar det största värdet i en lista av argument +MAXA = MAXA ## Returnerar det största värdet i en lista av argument, inklusive tal, text och logiska värden +MEDIAN = MEDIAN ## Returnerar medianen för angivna tal +MIN = MIN ## Returnerar det minsta värdet i en lista med argument +MINA = MINA ## Returnerar det minsta värdet i en lista över argument, inklusive tal, text och logiska värden +MODE = TYPVÄRDE ## Returnerar det vanligaste värdet i en datamängd +NEGBINOMDIST = NEGBINOMFÖRD ## Returnerar den negativa binomialfördelningen +NORMDIST = NORMFÖRD ## Returnerar den kumulativa normalfördelningen +NORMINV = NORMINV ## Returnerar inversen till den kumulativa normalfördelningen +NORMSDIST = NORMSFÖRD ## Returnerar den kumulativa standardnormalfördelningen +NORMSINV = NORMSINV ## Returnerar inversen till den kumulativa standardnormalfördelningen +PEARSON = PEARSON ## Returnerar korrelationskoefficienten till Pearsons momentprodukt +PERCENTILE = PERCENTIL ## Returnerar den n:te percentilen av värden i ett område +PERCENTRANK = PROCENTRANG ## Returnerar procentrangen för ett värde i en datamängd +PERMUT = PERMUT ## Returnerar antal permutationer för ett givet antal objekt +POISSON = POISSON ## Returnerar Poisson-fördelningen +PROB = SANNOLIKHET ## Returnerar sannolikheten att värden i ett område ligger mellan två gränser +QUARTILE = KVARTIL ## Returnerar kvartilen av en mängd data +RANK = RANG ## Returnerar rangordningen för ett tal i en lista med tal +RSQ = RKV ## Returnerar kvadraten av Pearsons produktmomentkorrelationskoefficient +SKEW = SNEDHET ## Returnerar snedheten för en fördelning +SLOPE = LUTNING ## Returnerar lutningen på en linjär regressionslinje +SMALL = MINSTA ## Returnerar det n:te minsta värdet i en mängd data +STANDARDIZE = STANDARDISERA ## Returnerar ett normaliserat värde +STDEV = STDAV ## Uppskattar standardavvikelsen baserat på ett urval +STDEVA = STDEVA ## Uppskattar standardavvikelsen baserat på ett urval, inklusive tal, text och logiska värden +STDEVP = STDAVP ## Beräknar standardavvikelsen baserat på hela populationen +STDEVPA = STDEVPA ## Beräknar standardavvikelsen baserat på hela populationen, inklusive tal, text och logiska värden +STEYX = STDFELYX ## Returnerar standardfelet för ett förutspått y-värde för varje x-värde i regressionen +TDIST = TFÖRD ## Returnerar Students t-fördelning +TINV = TINV ## Returnerar inversen till Students t-fördelning +TREND = TREND ## Returnerar värden längs en linjär trend +TRIMMEAN = TRIMMEDEL ## Returnerar medelvärdet av mittpunkterna i en datamängd +TTEST = TTEST ## Returnerar sannolikheten beräknad ur Students t-test +VAR = VARIANS ## Uppskattar variansen baserat på ett urval +VARA = VARA ## Uppskattar variansen baserat på ett urval, inklusive tal, text och logiska värden +VARP = VARIANSP ## Beräknar variansen baserat på hela populationen +VARPA = VARPA ## Beräknar variansen baserat på hela populationen, inklusive tal, text och logiska värden +WEIBULL = WEIBULL ## Returnerar Weibull-fördelningen +ZTEST = ZTEST ## Returnerar det ensidiga sannolikhetsvärdet av ett z-test + + +## +## Text functions Textfunktioner +## +ASC = ASC ## Ändrar helbredds (dubbel byte) engelska bokstäver eller katakana inom en teckensträng till tecken med halvt breddsteg (enkel byte) +BAHTTEXT = BAHTTEXT ## Omvandlar ett tal till text med valutaformatet ß (baht) +CHAR = TECKENKOD ## Returnerar tecknet som anges av kod +CLEAN = STÄDA ## Tar bort alla icke utskrivbara tecken i en text +CODE = KOD ## Returnerar en numerisk kod för det första tecknet i en textsträng +CONCATENATE = SAMMANFOGA ## Sammanfogar flera textdelar till en textsträng +DOLLAR = VALUTA ## Omvandlar ett tal till text med valutaformat +EXACT = EXAKT ## Kontrollerar om två textvärden är identiska +FIND = HITTA ## Hittar en text i en annan (skiljer på gemener och versaler) +FINDB = HITTAB ## Hittar en text i en annan (skiljer på gemener och versaler) +FIXED = FASTTAL ## Formaterar ett tal som text med ett fast antal decimaler +JIS = JIS ## Ändrar halvbredds (enkel byte) engelska bokstäver eller katakana inom en teckensträng till tecken med helt breddsteg (dubbel byte) +LEFT = VÄNSTER ## Returnerar tecken längst till vänster i en sträng +LEFTB = VÄNSTERB ## Returnerar tecken längst till vänster i en sträng +LEN = LÄNGD ## Returnerar antalet tecken i en textsträng +LENB = LÄNGDB ## Returnerar antalet tecken i en textsträng +LOWER = GEMENER ## Omvandlar text till gemener +MID = EXTEXT ## Returnerar angivet antal tecken från en text med början vid den position som du anger +MIDB = EXTEXTB ## Returnerar angivet antal tecken från en text med början vid den position som du anger +PHONETIC = PHONETIC ## Returnerar de fonetiska (furigana) tecknen i en textsträng +PROPER = INITIAL ## Ändrar första bokstaven i varje ord i ett textvärde till versal +REPLACE = ERSÄTT ## Ersätter tecken i text +REPLACEB = ERSÄTTB ## Ersätter tecken i text +REPT = REP ## Upprepar en text ett bestämt antal gånger +RIGHT = HÖGER ## Returnerar tecken längst till höger i en sträng +RIGHTB = HÖGERB ## Returnerar tecken längst till höger i en sträng +SEARCH = SÖK ## Hittar ett textvärde i ett annat (skiljer inte på gemener och versaler) +SEARCHB = SÖKB ## Hittar ett textvärde i ett annat (skiljer inte på gemener och versaler) +SUBSTITUTE = BYT.UT ## Ersätter gammal text med ny text i en textsträng +T = T ## Omvandlar argumenten till text +TEXT = TEXT ## Formaterar ett tal och omvandlar det till text +TRIM = RENSA ## Tar bort blanksteg från text +UPPER = VERSALER ## Omvandlar text till versaler +VALUE = TEXTNUM ## Omvandlar ett textargument till ett tal diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/locale/tr/config b/vendor/phpoffice/phpexcel/Classes/PHPExcel/locale/tr/config new file mode 100644 index 00000000..b69d4257 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/locale/tr/config @@ -0,0 +1,47 @@ +## +## PHPExcel +## +## Copyright (c) 2006 - 2013 PHPExcel +## +## This library is free software; you can redistribute it and/or +## modify it under the terms of the GNU Lesser General Public +## License as published by the Free Software Foundation; either +## version 2.1 of the License, or (at your option) any later version. +## +## This library is distributed in the hope that it will be useful, +## but WITHOUT ANY WARRANTY; without even the implied warranty of +## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +## Lesser General Public License for more details. +## +## You should have received a copy of the GNU Lesser General Public +## License along with this library; if not, write to the Free Software +## Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +## +## @category PHPExcel +## @package PHPExcel_Settings +## @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel) +## @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL +## @version ##VERSION##, ##DATE## +## +## + + +ArgumentSeparator = ; + + +## +## (For future use) +## +currencySymbol = YTL + + +## +## Excel Error Codes (For future use) +## +NULL = #BOŞ! +DIV0 = #SAYI/0! +VALUE = #DEĞER! +REF = #BAŞV! +NAME = #AD? +NUM = #SAYI! +NA = #YOK diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/locale/tr/functions b/vendor/phpoffice/phpexcel/Classes/PHPExcel/locale/tr/functions new file mode 100644 index 00000000..45d7df1f --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/locale/tr/functions @@ -0,0 +1,438 @@ +## +## PHPExcel +## +## Copyright (c) 2006 - 2013 PHPExcel +## +## This library is free software; you can redistribute it and/or +## modify it under the terms of the GNU Lesser General Public +## License as published by the Free Software Foundation; either +## version 2.1 of the License, or (at your option) any later version. +## +## This library is distributed in the hope that it will be useful, +## but WITHOUT ANY WARRANTY; without even the implied warranty of +## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +## Lesser General Public License for more details. +## +## You should have received a copy of the GNU Lesser General Public +## License along with this library; if not, write to the Free Software +## Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +## +## @category PHPExcel +## @package PHPExcel_Calculation +## @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel) +## @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL +## @version ##VERSION##, ##DATE## +## +## Data in this file derived from http://www.piuha.fi/excel-function-name-translation/ +## +## + + +## +## Add-in and Automation functions Eklenti ve Otomasyon fonksiyonları +## +GETPIVOTDATA = ÖZETVERİAL ## Bir Özet Tablo raporunda saklanan verileri verir. + + +## +## Cube functions Küp işlevleri +## +CUBEKPIMEMBER = KÜPKPIÜYE ## Kilit performans göstergesi (KPI-Key Performance Indicator) adını, özelliğini ve ölçüsünü verir ve hücredeki ad ve özelliği gösterir. KPI, bir kurumun performansını izlemek için kullanılan aylık brüt kâr ya da üç aylık çalışan giriş çıkışları gibi ölçülebilen bir birimdir. +CUBEMEMBER = KÜPÜYE ## Bir küp hiyerarşisinde bir üyeyi veya kaydı verir. Üye veya kaydın küpte varolduğunu doğrulamak için kullanılır. +CUBEMEMBERPROPERTY = KÜPÜYEÖZELLİĞİ ## Bir küpte bir üyenin özelliğinin değerini verir. Küp içinde üye adının varlığını doğrulamak ve bu üyenin belli özelliklerini getirmek için kullanılır. +CUBERANKEDMEMBER = KÜPÜYESIRASI ## Bir küme içindeki üyenin derecesini veya kaçıncı olduğunu verir. En iyi satış elemanı, veya en iyi on öğrenci gibi bir kümedeki bir veya daha fazla öğeyi getirmek için kullanılır. +CUBESET = KÜPKÜME ## Kümeyi oluşturan ve ardından bu kümeyi Microsoft Office Excel'e getiren sunucudaki küpe küme ifadelerini göndererek hesaplanan üye veya kayıt kümesini tanımlar. +CUBESETCOUNT = KÜPKÜMESAY ## Bir kümedeki öğelerin sayısını getirir. +CUBEVALUE = KÜPDEĞER ## Bir küpten toplam değeri getirir. + + +## +## Database functions Veritabanı işlevleri +## +DAVERAGE = VSEÇORT ## Seçili veritabanı girdilerinin ortalamasını verir. +DCOUNT = VSEÇSAY ## Veritabanında sayı içeren hücre sayısını hesaplar. +DCOUNTA = VSEÇSAYDOLU ## Veritabanındaki boş olmayan hücreleri sayar. +DGET = VAL ## Veritabanından, belirtilen ölçütlerle eşleşen tek bir rapor çıkarır. +DMAX = VSEÇMAK ## Seçili veritabanı girişlerinin en yüksek değerini verir. +DMIN = VSEÇMİN ## Seçili veritabanı girişlerinin en düşük değerini verir. +DPRODUCT = VSEÇÇARP ## Kayıtların belli bir alanında bulunan, bir veritabanındaki ölçütlerle eşleşen değerleri çarpar. +DSTDEV = VSEÇSTDSAPMA ## Seçili veritabanı girişlerinden oluşan bir örneğe dayanarak, standart sapmayı tahmin eder. +DSTDEVP = VSEÇSTDSAPMAS ## Standart sapmayı, seçili veritabanı girişlerinin tüm popülasyonunu esas alarak hesaplar. +DSUM = VSEÇTOPLA ## Kayıtların alan sütununda bulunan, ölçütle eşleşen sayıları toplar. +DVAR = VSEÇVAR ## Seçili veritabanı girişlerinden oluşan bir örneği esas alarak farkı tahmin eder. +DVARP = VSEÇVARS ## Seçili veritabanı girişlerinin tüm popülasyonunu esas alarak farkı hesaplar. + + +## +## Date and time functions Tarih ve saat işlevleri +## +DATE = TARİH ## Belirli bir tarihin seri numarasını verir. +DATEVALUE = TARİHSAYISI ## Metin biçimindeki bir tarihi seri numarasına dönüştürür. +DAY = GÜN ## Seri numarasını, ayın bir gününe dönüştürür. +DAYS360 = GÜN360 ## İki tarih arasındaki gün sayısını, 360 günlük yılı esas alarak hesaplar. +EDATE = SERİTARİH ## Başlangıç tarihinden itibaren, belirtilen ay sayısından önce veya sonraki tarihin seri numarasını verir. +EOMONTH = SERİAY ## Belirtilen sayıda ay önce veya sonraki ayın son gününün seri numarasını verir. +HOUR = SAAT ## Bir seri numarasını saate dönüştürür. +MINUTE = DAKİKA ## Bir seri numarasını dakikaya dönüştürür. +MONTH = AY ## Bir seri numarasını aya dönüştürür. +NETWORKDAYS = TAMİŞGÜNÜ ## İki tarih arasındaki tam çalışma günlerinin sayısını verir. +NOW = ŞİMDİ ## Geçerli tarihin ve saatin seri numarasını verir. +SECOND = SANİYE ## Bir seri numarasını saniyeye dönüştürür. +TIME = ZAMAN ## Belirli bir zamanın seri numarasını verir. +TIMEVALUE = ZAMANSAYISI ## Metin biçimindeki zamanı seri numarasına dönüştürür. +TODAY = BUGÜN ## Bugünün tarihini seri numarasına dönüştürür. +WEEKDAY = HAFTANINGÜNÜ ## Bir seri numarasını, haftanın gününe dönüştürür. +WEEKNUM = HAFTASAY ## Dizisel değerini, haftanın yıl içinde bulunduğu konumu sayısal olarak gösteren sayıya dönüştürür. +WORKDAY = İŞGÜNÜ ## Belirtilen sayıda çalışma günü öncesinin ya da sonrasının tarihinin seri numarasını verir. +YEAR = YIL ## Bir seri numarasını yıla dönüştürür. +YEARFRAC = YILORAN ## Başlangıç_tarihi ve bitiş_tarihi arasındaki tam günleri gösteren yıl kesrini verir. + + +## +## Engineering functions Mühendislik işlevleri +## +BESSELI = BESSELI ## Değiştirilmiş Bessel fonksiyonu In(x)'i verir. +BESSELJ = BESSELJ ## Bessel fonksiyonu Jn(x)'i verir. +BESSELK = BESSELK ## Değiştirilmiş Bessel fonksiyonu Kn(x)'i verir. +BESSELY = BESSELY ## Bessel fonksiyonu Yn(x)'i verir. +BIN2DEC = BIN2DEC ## İkili bir sayıyı, ondalık sayıya dönüştürür. +BIN2HEX = BIN2HEX ## İkili bir sayıyı, onaltılıya dönüştürür. +BIN2OCT = BIN2OCT ## İkili bir sayıyı, sekizliye dönüştürür. +COMPLEX = KARMAŞIK ## Gerçek ve sanal katsayıları, karmaşık sayıya dönüştürür. +CONVERT = ÇEVİR ## Bir sayıyı, bir ölçüm sisteminden bir başka ölçüm sistemine dönüştürür. +DEC2BIN = DEC2BIN ## Ondalık bir sayıyı, ikiliye dönüştürür. +DEC2HEX = DEC2HEX ## Ondalık bir sayıyı, onaltılıya dönüştürür. +DEC2OCT = DEC2OCT ## Ondalık bir sayıyı sekizliğe dönüştürür. +DELTA = DELTA ## İki değerin eşit olup olmadığını sınar. +ERF = HATAİŞLEV ## Hata işlevini verir. +ERFC = TÜMHATAİŞLEV ## Tümleyici hata işlevini verir. +GESTEP = BESINIR ## Bir sayının eşik değerinden büyük olup olmadığını sınar. +HEX2BIN = HEX2BIN ## Onaltılı bir sayıyı ikiliye dönüştürür. +HEX2DEC = HEX2DEC ## Onaltılı bir sayıyı ondalığa dönüştürür. +HEX2OCT = HEX2OCT ## Onaltılı bir sayıyı sekizliğe dönüştürür. +IMABS = SANMUTLAK ## Karmaşık bir sayının mutlak değerini (modül) verir. +IMAGINARY = SANAL ## Karmaşık bir sayının sanal katsayısını verir. +IMARGUMENT = SANBAĞ_DEĞİŞKEN ## Radyanlarla belirtilen bir açı olan teta bağımsız değişkenini verir. +IMCONJUGATE = SANEŞLENEK ## Karmaşık bir sayının karmaşık eşleniğini verir. +IMCOS = SANCOS ## Karmaşık bir sayının kosinüsünü verir. +IMDIV = SANBÖL ## İki karmaşık sayının bölümünü verir. +IMEXP = SANÜS ## Karmaşık bir sayının üssünü verir. +IMLN = SANLN ## Karmaşık bir sayının doğal logaritmasını verir. +IMLOG10 = SANLOG10 ## Karmaşık bir sayının, 10 tabanında logaritmasını verir. +IMLOG2 = SANLOG2 ## Karmaşık bir sayının 2 tabanında logaritmasını verir. +IMPOWER = SANÜSSÜ ## Karmaşık bir sayıyı, bir tamsayı üssüne yükseltilmiş olarak verir. +IMPRODUCT = SANÇARP ## Karmaşık sayıların çarpımını verir. +IMREAL = SANGERÇEK ## Karmaşık bir sayının, gerçek katsayısını verir. +IMSIN = SANSIN ## Karmaşık bir sayının sinüsünü verir. +IMSQRT = SANKAREKÖK ## Karmaşık bir sayının karekökünü verir. +IMSUB = SANÇIKAR ## İki karmaşık sayının farkını verir. +IMSUM = SANTOPLA ## Karmaşık sayıların toplamını verir. +OCT2BIN = OCT2BIN ## Sekizli bir sayıyı ikiliye dönüştürür. +OCT2DEC = OCT2DEC ## Sekizli bir sayıyı ondalığa dönüştürür. +OCT2HEX = OCT2HEX ## Sekizli bir sayıyı onaltılıya dönüştürür. + + +## +## Financial functions Finansal fonksiyonlar +## +ACCRINT = GERÇEKFAİZ ## Dönemsel faiz ödeyen hisse senedine ilişkin tahakkuk eden faizi getirir. +ACCRINTM = GERÇEKFAİZV ## Vadesinde ödeme yapan bir tahvilin tahakkuk etmiş faizini verir. +AMORDEGRC = AMORDEGRC ## Yıpranma katsayısı kullanarak her hesap döneminin değer kaybını verir. +AMORLINC = AMORLINC ## Her hesap dönemi içindeki yıpranmayı verir. +COUPDAYBS = KUPONGÜNBD ## Kupon süresinin başlangıcından alış tarihine kadar olan süredeki gün sayısını verir. +COUPDAYS = KUPONGÜN ## Kupon süresindeki, gün sayısını, alış tarihini de içermek üzere, verir. +COUPDAYSNC = KUPONGÜNDSK ## Alış tarihinden bir sonraki kupon tarihine kadar olan gün sayısını verir. +COUPNCD = KUPONGÜNSKT ## Alış tarihinden bir sonraki kupon tarihini verir. +COUPNUM = KUPONSAYI ## Alış tarihiyle vade tarihi arasında ödenecek kuponların sayısını verir. +COUPPCD = KUPONGÜNÖKT ## Alış tarihinden bir önceki kupon tarihini verir. +CUMIPMT = AİÇVERİMORANI ## İki dönem arasında ödenen kümülatif faizi verir. +CUMPRINC = ANA_PARA_ÖDEMESİ ## İki dönem arasında bir borç üzerine ödenen birikimli temeli verir. +DB = AZALANBAKİYE ## Bir malın belirtilen bir süre içindeki yıpranmasını, sabit azalan bakiye yöntemini kullanarak verir. +DDB = ÇİFTAZALANBAKİYE ## Bir malın belirtilen bir süre içindeki yıpranmasını, çift azalan bakiye yöntemi ya da sizin belirttiğiniz başka bir yöntemi kullanarak verir. +DISC = İNDİRİM ## Bir tahvilin indirim oranını verir. +DOLLARDE = LİRAON ## Kesir olarak tanımlanmış lira fiyatını, ondalık sayı olarak tanımlanmış lira fiyatına dönüştürür. +DOLLARFR = LİRAKES ## Ondalık sayı olarak tanımlanmış lira fiyatını, kesir olarak tanımlanmış lira fiyatına dönüştürür. +DURATION = SÜRE ## Belli aralıklarla faiz ödemesi yapan bir tahvilin yıllık süresini verir. +EFFECT = ETKİN ## Efektif yıllık faiz oranını verir. +FV = ANBD ## Bir yatırımın gelecekteki değerini verir. +FVSCHEDULE = GDPROGRAM ## Bir seri birleşik faiz oranı uyguladıktan sonra, bir başlangıçtaki anaparanın gelecekteki değerini verir. +INTRATE = FAİZORANI ## Tam olarak yatırım yapılmış bir tahvilin faiz oranını verir. +IPMT = FAİZTUTARI ## Bir yatırımın verilen bir süre için faiz ödemesini verir. +IRR = İÇ_VERİM_ORANI ## Bir para akışı serisi için, iç verim oranını verir. +ISPMT = ISPMT ## Yatırımın belirli bir dönemi boyunca ödenen faizi hesaplar. +MDURATION = MSÜRE ## Varsayılan par değeri 10.000.000 lira olan bir tahvil için Macauley değiştirilmiş süreyi verir. +MIRR = D_İÇ_VERİM_ORANI ## Pozitif ve negatif para akışlarının farklı oranlarda finanse edildiği durumlarda, iç verim oranını verir. +NOMINAL = NOMİNAL ## Yıllık nominal faiz oranını verir. +NPER = DÖNEM_SAYISI ## Bir yatırımın dönem sayısını verir. +NPV = NBD ## Bir yatırımın bugünkü net değerini, bir dönemsel para akışları serisine ve bir indirim oranına bağlı olarak verir. +ODDFPRICE = TEKYDEĞER ## Tek bir ilk dönemi olan bir tahvilin değerini, her 100.000.000 lirada bir verir. +ODDFYIELD = TEKYÖDEME ## Tek bir ilk dönemi olan bir tahvilin ödemesini verir. +ODDLPRICE = TEKSDEĞER ## Tek bir son dönemi olan bir tahvilin fiyatını her 10.000.000 lirada bir verir. +ODDLYIELD = TEKSÖDEME ## Tek bir son dönemi olan bir tahvilin ödemesini verir. +PMT = DEVRESEL_ÖDEME ## Bir yıllık dönemsel ödemeyi verir. +PPMT = ANA_PARA_ÖDEMESİ ## Verilen bir süre için, bir yatırımın anaparasına dayanan ödemeyi verir. +PRICE = DEĞER ## Dönemsel faiz ödeyen bir tahvilin fiyatını 10.000.00 liralık değer başına verir. +PRICEDISC = DEĞERİND ## İndirimli bir tahvilin fiyatını 10.000.000 liralık nominal değer başına verir. +PRICEMAT = DEĞERVADE ## Faizini vade sonunda ödeyen bir tahvilin fiyatını 10.000.000 nominal değer başına verir. +PV = BD ## Bir yatırımın bugünkü değerini verir. +RATE = FAİZ_ORANI ## Bir yıllık dönem başına düşen faiz oranını verir. +RECEIVED = GETİRİ ## Tam olarak yatırılmış bir tahvilin vadesinin bitiminde alınan miktarı verir. +SLN = DA ## Bir malın bir dönem içindeki doğrusal yıpranmasını verir. +SYD = YAT ## Bir malın belirli bir dönem için olan amortismanını verir. +TBILLEQ = HTAHEŞ ## Bir Hazine bonosunun bono eşdeğeri ödemesini verir. +TBILLPRICE = HTAHDEĞER ## Bir Hazine bonosunun değerini, 10.000.000 liralık nominal değer başına verir. +TBILLYIELD = HTAHÖDEME ## Bir Hazine bonosunun ödemesini verir. +VDB = DAB ## Bir malın amortismanını, belirlenmiş ya da kısmi bir dönem için, bir azalan bakiye yöntemi kullanarak verir. +XIRR = AİÇVERİMORANI ## Dönemsel olması gerekmeyen bir para akışları programı için, iç verim oranını verir. +XNPV = ANBD ## Dönemsel olması gerekmeyen bir para akışları programı için, bugünkü net değeri verir. +YIELD = ÖDEME ## Belirli aralıklarla faiz ödeyen bir tahvilin ödemesini verir. +YIELDDISC = ÖDEMEİND ## İndirimli bir tahvilin yıllık ödemesini verir; örneğin, bir Hazine bonosunun. +YIELDMAT = ÖDEMEVADE ## Vadesinin bitiminde faiz ödeyen bir tahvilin yıllık ödemesini verir. + + +## +## Information functions Bilgi fonksiyonları +## +CELL = HÜCRE ## Bir hücrenin biçimlendirmesi, konumu ya da içeriği hakkında bilgi verir. +ERROR.TYPE = HATA.TİPİ ## Bir hata türüne ilişkin sayıları verir. +INFO = BİLGİ ## Geçerli işletim ortamı hakkında bilgi verir. +ISBLANK = EBOŞSA ## Değer boşsa, DOĞRU verir. +ISERR = EHATA ## Değer, #YOK dışındaki bir hata değeriyse, DOĞRU verir. +ISERROR = EHATALIYSA ## Değer, herhangi bir hata değeriyse, DOĞRU verir. +ISEVEN = ÇİFTTİR ## Sayı çiftse, DOĞRU verir. +ISLOGICAL = EMANTIKSALSA ## Değer, mantıksal bir değerse, DOĞRU verir. +ISNA = EYOKSA ## Değer, #YOK hata değeriyse, DOĞRU verir. +ISNONTEXT = EMETİNDEĞİLSE ## Değer, metin değilse, DOĞRU verir. +ISNUMBER = ESAYIYSA ## Değer, bir sayıysa, DOĞRU verir. +ISODD = TEKTİR ## Sayı tekse, DOĞRU verir. +ISREF = EREFSE ## Değer bir başvuruysa, DOĞRU verir. +ISTEXT = EMETİNSE ## Değer bir metinse DOĞRU verir. +N = N ## Sayıya dönüştürülmüş bir değer verir. +NA = YOKSAY ## #YOK hata değerini verir. +TYPE = TİP ## Bir değerin veri türünü belirten bir sayı verir. + + +## +## Logical functions Mantıksal fonksiyonlar +## +AND = VE ## Bütün bağımsız değişkenleri DOĞRU ise, DOĞRU verir. +FALSE = YANLIŞ ## YANLIŞ mantıksal değerini verir. +IF = EĞER ## Gerçekleştirilecek bir mantıksal sınama belirtir. +IFERROR = EĞERHATA ## Formül hatalıysa belirttiğiniz değeri verir; bunun dışındaki durumlarda formülün sonucunu verir. +NOT = DEĞİL ## Bağımsız değişkeninin mantığını tersine çevirir. +OR = YADA ## Bağımsız değişkenlerden herhangi birisi DOĞRU ise, DOĞRU verir. +TRUE = DOĞRU ## DOĞRU mantıksal değerini verir. + + +## +## Lookup and reference functions Arama ve Başvuru fonksiyonları +## +ADDRESS = ADRES ## Bir başvuruyu, çalışma sayfasındaki tek bir hücreye metin olarak verir. +AREAS = ALANSAY ## Renvoie le nombre de zones dans une référence. +CHOOSE = ELEMAN ## Değerler listesinden bir değer seçer. +COLUMN = SÜTUN ## Bir başvurunun sütun sayısını verir. +COLUMNS = SÜTUNSAY ## Bir başvurudaki sütunların sayısını verir. +HLOOKUP = YATAYARA ## Bir dizinin en üst satırına bakar ve belirtilen hücrenin değerini verir. +HYPERLINK = KÖPRÜ ## Bir ağ sunucusunda, bir intranette ya da Internet'te depolanan bir belgeyi açan bir kısayol ya da atlama oluşturur. +INDEX = İNDİS ## Başvurudan veya diziden bir değer seçmek için, bir dizin kullanır. +INDIRECT = DOLAYLI ## Metin değeriyle belirtilen bir başvuru verir. +LOOKUP = ARA ## Bir vektördeki veya dizideki değerleri arar. +MATCH = KAÇINCI ## Bir başvurudaki veya dizideki değerleri arar. +OFFSET = KAYDIR ## Verilen bir başvurudan, bir başvuru kaydırmayı verir. +ROW = SATIR ## Bir başvurunun satır sayısını verir. +ROWS = SATIRSAY ## Bir başvurudaki satırların sayısını verir. +RTD = RTD ## COM otomasyonunu destekleyen programdan gerçek zaman verileri alır. +TRANSPOSE = DEVRİK_DÖNÜŞÜM ## Bir dizinin devrik dönüşümünü verir. +VLOOKUP = DÜŞEYARA ## Bir dizinin ilk sütununa bakar ve bir hücrenin değerini vermek için satır boyunca hareket eder. + + +## +## Math and trigonometry functions Matematik ve trigonometri fonksiyonları +## +ABS = MUTLAK ## Bir sayının mutlak değerini verir. +ACOS = ACOS ## Bir sayının ark kosinüsünü verir. +ACOSH = ACOSH ## Bir sayının ters hiperbolik kosinüsünü verir. +ASIN = ASİN ## Bir sayının ark sinüsünü verir. +ASINH = ASİNH ## Bir sayının ters hiperbolik sinüsünü verir. +ATAN = ATAN ## Bir sayının ark tanjantını verir. +ATAN2 = ATAN2 ## Ark tanjantı, x- ve y- koordinatlarından verir. +ATANH = ATANH ## Bir sayının ters hiperbolik tanjantını verir. +CEILING = TAVANAYUVARLA ## Bir sayıyı, en yakın tamsayıya ya da en yakın katına yuvarlar. +COMBIN = KOMBİNASYON ## Verilen sayıda öğenin kombinasyon sayısını verir. +COS = COS ## Bir sayının kosinüsünü verir. +COSH = COSH ## Bir sayının hiperbolik kosinüsünü verir. +DEGREES = DERECE ## Radyanları dereceye dönüştürür. +EVEN = ÇİFT ## Bir sayıyı, en yakın daha büyük çift tamsayıya yuvarlar. +EXP = ÜS ## e'yi, verilen bir sayının üssüne yükseltilmiş olarak verir. +FACT = ÇARPINIM ## Bir sayının faktörünü verir. +FACTDOUBLE = ÇİFTFAKTÖR ## Bir sayının çift çarpınımını verir. +FLOOR = TABANAYUVARLA ## Bir sayıyı, daha küçük sayıya, sıfıra yakınsayarak yuvarlar. +GCD = OBEB ## En büyük ortak böleni verir. +INT = TAMSAYI ## Bir sayıyı aşağıya doğru en yakın tamsayıya yuvarlar. +LCM = OKEK ## En küçük ortak katı verir. +LN = LN ## Bir sayının doğal logaritmasını verir. +LOG = LOG ## Bir sayının, belirtilen bir tabandaki logaritmasını verir. +LOG10 = LOG10 ## Bir sayının 10 tabanında logaritmasını verir. +MDETERM = DETERMİNANT ## Bir dizinin dizey determinantını verir. +MINVERSE = DİZEY_TERS ## Bir dizinin dizey tersini verir. +MMULT = DÇARP ## İki dizinin dizey çarpımını verir. +MOD = MODÜLO ## Bölmeden kalanı verir. +MROUND = KYUVARLA ## İstenen kata yuvarlanmış bir sayı verir. +MULTINOMIAL = ÇOKTERİMLİ ## Bir sayılar kümesinin çok terimlisini verir. +ODD = TEK ## Bir sayıyı en yakın daha büyük tek sayıya yuvarlar. +PI = Pİ ## Pi değerini verir. +POWER = KUVVET ## Bir üsse yükseltilmiş sayının sonucunu verir. +PRODUCT = ÇARPIM ## Bağımsız değişkenlerini çarpar. +QUOTIENT = BÖLÜM ## Bir bölme işleminin tamsayı kısmını verir. +RADIANS = RADYAN ## Dereceleri radyanlara dönüştürür. +RAND = S_SAYI_ÜRET ## 0 ile 1 arasında rastgele bir sayı verir. +RANDBETWEEN = RASTGELEARALIK ## Belirttiğiniz sayılar arasında rastgele bir sayı verir. +ROMAN = ROMEN ## Bir normal rakamı, metin olarak, romen rakamına çevirir. +ROUND = YUVARLA ## Bir sayıyı, belirtilen basamak sayısına yuvarlar. +ROUNDDOWN = AŞAĞIYUVARLA ## Bir sayıyı, daha küçük sayıya, sıfıra yakınsayarak yuvarlar. +ROUNDUP = YUKARIYUVARLA ## Bir sayıyı daha büyük sayıya, sıfırdan ıraksayarak yuvarlar. +SERIESSUM = SERİTOPLA ## Bir üs serisinin toplamını, formüle bağlı olarak verir. +SIGN = İŞARET ## Bir sayının işaretini verir. +SIN = SİN ## Verilen bir açının sinüsünü verir. +SINH = SİNH ## Bir sayının hiperbolik sinüsünü verir. +SQRT = KAREKÖK ## Pozitif bir karekök verir. +SQRTPI = KAREKÖKPİ ## (* Pi sayısının) kare kökünü verir. +SUBTOTAL = ALTTOPLAM ## Bir listedeki ya da veritabanındaki bir alt toplamı verir. +SUM = TOPLA ## Bağımsız değişkenlerini toplar. +SUMIF = ETOPLA ## Verilen ölçütle belirlenen hücreleri toplar. +SUMIFS = SUMIFS ## Bir aralıktaki, birden fazla ölçüte uyan hücreleri ekler. +SUMPRODUCT = TOPLA.ÇARPIM ## İlişkili dizi bileşenlerinin çarpımlarının toplamını verir. +SUMSQ = TOPKARE ## Bağımsız değişkenlerin karelerinin toplamını verir. +SUMX2MY2 = TOPX2EY2 ## İki dizideki ilişkili değerlerin farkının toplamını verir. +SUMX2PY2 = TOPX2AY2 ## İki dizideki ilişkili değerlerin karelerinin toplamının toplamını verir. +SUMXMY2 = TOPXEY2 ## İki dizideki ilişkili değerlerin farklarının karelerinin toplamını verir. +TAN = TAN ## Bir sayının tanjantını verir. +TANH = TANH ## Bir sayının hiperbolik tanjantını verir. +TRUNC = NSAT ## Bir sayının, tamsayı durumuna gelecek şekilde, fazlalıklarını atar. + + +## +## Statistical functions İstatistiksel fonksiyonlar +## +AVEDEV = ORTSAP ## Veri noktalarının ortalamalarından mutlak sapmalarının ortalamasını verir. +AVERAGE = ORTALAMA ## Bağımsız değişkenlerinin ortalamasını verir. +AVERAGEA = ORTALAMAA ## Bağımsız değişkenlerinin, sayılar, metin ve mantıksal değerleri içermek üzere ortalamasını verir. +AVERAGEIF = EĞERORTALAMA ## Verili ölçütü karşılayan bir aralıktaki bütün hücrelerin ortalamasını (aritmetik ortalama) hesaplar. +AVERAGEIFS = EĞERLERORTALAMA ## Birden çok ölçüte uyan tüm hücrelerin ortalamasını (aritmetik ortalama) hesaplar. +BETADIST = BETADAĞ ## Beta birikimli dağılım fonksiyonunu verir. +BETAINV = BETATERS ## Belirli bir beta dağılımı için birikimli dağılım fonksiyonunun tersini verir. +BINOMDIST = BİNOMDAĞ ## Tek terimli binom dağılımı olasılığını verir. +CHIDIST = KİKAREDAĞ ## Kikare dağılımın tek kuyruklu olasılığını verir. +CHIINV = KİKARETERS ## Kikare dağılımın kuyruklu olasılığının tersini verir. +CHITEST = KİKARETEST ## Bağımsızlık sınamalarını verir. +CONFIDENCE = GÜVENİRLİK ## Bir popülasyon ortalaması için güvenirlik aralığını verir. +CORREL = KORELASYON ## İki veri kümesi arasındaki bağlantı katsayısını verir. +COUNT = BAĞ_DEĞ_SAY ## Bağımsız değişkenler listesinde kaç tane sayı bulunduğunu sayar. +COUNTA = BAĞ_DEĞ_DOLU_SAY ## Bağımsız değişkenler listesinde kaç tane değer bulunduğunu sayar. +COUNTBLANK = BOŞLUKSAY ## Aralıktaki boş hücre sayısını hesaplar. +COUNTIF = EĞERSAY ## Verilen ölçütlere uyan bir aralık içindeki hücreleri sayar. +COUNTIFS = ÇOKEĞERSAY ## Birden çok ölçüte uyan bir aralık içindeki hücreleri sayar. +COVAR = KOVARYANS ## Eşleştirilmiş sapmaların ortalaması olan kovaryansı verir. +CRITBINOM = KRİTİKBİNOM ## Birikimli binom dağılımının bir ölçüt değerinden küçük veya ölçüt değerine eşit olduğu en küçük değeri verir. +DEVSQ = SAPKARE ## Sapmaların karelerinin toplamını verir. +EXPONDIST = ÜSTELDAĞ ## Üstel dağılımı verir. +FDIST = FDAĞ ## F olasılık dağılımını verir. +FINV = FTERS ## F olasılık dağılımının tersini verir. +FISHER = FISHER ## Fisher dönüşümünü verir. +FISHERINV = FISHERTERS ## Fisher dönüşümünün tersini verir. +FORECAST = TAHMİN ## Bir doğrusal eğilim boyunca bir değer verir. +FREQUENCY = SIKLIK ## Bir sıklık dağılımını, dikey bir dizi olarak verir. +FTEST = FTEST ## Bir F-test'in sonucunu verir. +GAMMADIST = GAMADAĞ ## Gama dağılımını verir. +GAMMAINV = GAMATERS ## Gama kümülatif dağılımının tersini verir. +GAMMALN = GAMALN ## Gama fonksiyonunun (?(x)) doğal logaritmasını verir. +GEOMEAN = GEOORT ## Geometrik ortayı verir. +GROWTH = BÜYÜME ## Üstel bir eğilim boyunca değerler verir. +HARMEAN = HARORT ## Harmonik ortayı verir. +HYPGEOMDIST = HİPERGEOMDAĞ ## Hipergeometrik dağılımı verir. +INTERCEPT = KESMENOKTASI ## Doğrusal çakıştırma çizgisinin kesişme noktasını verir. +KURT = BASIKLIK ## Bir veri kümesinin basıklığını verir. +LARGE = BÜYÜK ## Bir veri kümesinde k. en büyük değeri verir. +LINEST = DOT ## Doğrusal bir eğilimin parametrelerini verir. +LOGEST = LOT ## Üstel bir eğilimin parametrelerini verir. +LOGINV = LOGTERS ## Bir lognormal dağılımının tersini verir. +LOGNORMDIST = LOGNORMDAĞ ## Birikimli lognormal dağılımını verir. +MAX = MAK ## Bir bağımsız değişkenler listesindeki en büyük değeri verir. +MAXA = MAKA ## Bir bağımsız değişkenler listesindeki, sayılar, metin ve mantıksal değerleri içermek üzere, en büyük değeri verir. +MEDIAN = ORTANCA ## Belirtilen sayıların orta değerini verir. +MIN = MİN ## Bir bağımsız değişkenler listesindeki en küçük değeri verir. +MINA = MİNA ## Bir bağımsız değişkenler listesindeki, sayılar, metin ve mantıksal değerleri de içermek üzere, en küçük değeri verir. +MODE = ENÇOK_OLAN ## Bir veri kümesindeki en sık rastlanan değeri verir. +NEGBINOMDIST = NEGBİNOMDAĞ ## Negatif binom dağılımını verir. +NORMDIST = NORMDAĞ ## Normal birikimli dağılımı verir. +NORMINV = NORMTERS ## Normal kümülatif dağılımın tersini verir. +NORMSDIST = NORMSDAĞ ## Standart normal birikimli dağılımı verir. +NORMSINV = NORMSTERS ## Standart normal birikimli dağılımın tersini verir. +PEARSON = PEARSON ## Pearson çarpım moment korelasyon katsayısını verir. +PERCENTILE = YÜZDEBİRLİK ## Bir aralık içerisinde bulunan değerlerin k. frekans toplamını verir. +PERCENTRANK = YÜZDERANK ## Bir veri kümesindeki bir değerin yüzde mertebesini verir. +PERMUT = PERMÜTASYON ## Verilen sayıda nesne için permütasyon sayısını verir. +POISSON = POISSON ## Poisson dağılımını verir. +PROB = OLASILIK ## Bir aralıktaki değerlerin iki sınır arasında olması olasılığını verir. +QUARTILE = DÖRTTEBİRLİK ## Bir veri kümesinin dörtte birliğini verir. +RANK = RANK ## Bir sayılar listesinde bir sayının mertebesini verir. +RSQ = RKARE ## Pearson çarpım moment korelasyon katsayısının karesini verir. +SKEW = ÇARPIKLIK ## Bir dağılımın çarpıklığını verir. +SLOPE = EĞİM ## Doğrusal çakışma çizgisinin eğimini verir. +SMALL = KÜÇÜK ## Bir veri kümesinde k. en küçük değeri verir. +STANDARDIZE = STANDARTLAŞTIRMA ## Normalleştirilmiş bir değer verir. +STDEV = STDSAPMA ## Bir örneğe dayanarak standart sapmayı tahmin eder. +STDEVA = STDSAPMAA ## Standart sapmayı, sayılar, metin ve mantıksal değerleri içermek üzere, bir örneğe bağlı olarak tahmin eder. +STDEVP = STDSAPMAS ## Standart sapmayı, tüm popülasyona bağlı olarak hesaplar. +STDEVPA = STDSAPMASA ## Standart sapmayı, sayılar, metin ve mantıksal değerleri içermek üzere, tüm popülasyona bağlı olarak hesaplar. +STEYX = STHYX ## Regresyondaki her x için tahmini y değerinin standart hatasını verir. +TDIST = TDAĞ ## T-dağılımını verir. +TINV = TTERS ## T-dağılımının tersini verir. +TREND = EĞİLİM ## Doğrusal bir eğilim boyunca değerler verir. +TRIMMEAN = KIRPORTALAMA ## Bir veri kümesinin içinin ortalamasını verir. +TTEST = TTEST ## T-test'le ilişkilendirilmiş olasılığı verir. +VAR = VAR ## Varyansı, bir örneğe bağlı olarak tahmin eder. +VARA = VARA ## Varyansı, sayılar, metin ve mantıksal değerleri içermek üzere, bir örneğe bağlı olarak tahmin eder. +VARP = VARS ## Varyansı, tüm popülasyona dayanarak hesaplar. +VARPA = VARSA ## Varyansı, sayılar, metin ve mantıksal değerleri içermek üzere, tüm popülasyona bağlı olarak hesaplar. +WEIBULL = WEIBULL ## Weibull dağılımını hesaplar. +ZTEST = ZTEST ## Z-testinin tek kuyruklu olasılık değerini hesaplar. + + +## +## Text functions Metin fonksiyonları +## +ASC = ASC ## Bir karakter dizesindeki çift enli (iki bayt) İngilizce harfleri veya katakanayı yarım enli (tek bayt) karakterlerle değiştirir. +BAHTTEXT = BAHTTEXT ## Sayıyı, ß (baht) para birimi biçimini kullanarak metne dönüştürür. +CHAR = DAMGA ## Kod sayısıyla belirtilen karakteri verir. +CLEAN = TEMİZ ## Metindeki bütün yazdırılamaz karakterleri kaldırır. +CODE = KOD ## Bir metin dizesindeki ilk karakter için sayısal bir kod verir. +CONCATENATE = BİRLEŞTİR ## Pek çok metin öğesini bir metin öğesi olarak birleştirir. +DOLLAR = LİRA ## Bir sayıyı YTL (yeni Türk lirası) para birimi biçimini kullanarak metne dönüştürür. +EXACT = ÖZDEŞ ## İki metin değerinin özdeş olup olmadığını anlamak için, değerleri denetler. +FIND = BUL ## Bir metin değerini, bir başkasının içinde bulur (büyük küçük harf duyarlıdır). +FINDB = BULB ## Bir metin değerini, bir başkasının içinde bulur (büyük küçük harf duyarlıdır). +FIXED = SAYIDÜZENLE ## Bir sayıyı, sabit sayıda ondalıkla, metin olarak biçimlendirir. +JIS = JIS ## Bir karakter dizesindeki tek enli (tek bayt) İngilizce harfleri veya katakanayı çift enli (iki bayt) karakterlerle değiştirir. +LEFT = SOL ## Bir metin değerinden en soldaki karakterleri verir. +LEFTB = SOLB ## Bir metin değerinden en soldaki karakterleri verir. +LEN = UZUNLUK ## Bir metin dizesindeki karakter sayısını verir. +LENB = UZUNLUKB ## Bir metin dizesindeki karakter sayısını verir. +LOWER = KÜÇÜKHARF ## Metni küçük harfe çevirir. +MID = ORTA ## Bir metin dizesinden belirli sayıda karakteri, belirttiğiniz konumdan başlamak üzere verir. +MIDB = ORTAB ## Bir metin dizesinden belirli sayıda karakteri, belirttiğiniz konumdan başlamak üzere verir. +PHONETIC = SES ## Metin dizesinden ses (furigana) karakterlerini ayıklar. +PROPER = YAZIM.DÜZENİ ## Bir metin değerinin her bir sözcüğünün ilk harfini büyük harfe çevirir. +REPLACE = DEĞİŞTİR ## Metnin içindeki karakterleri değiştirir. +REPLACEB = DEĞİŞTİRB ## Metnin içindeki karakterleri değiştirir. +REPT = YİNELE ## Metni belirtilen sayıda yineler. +RIGHT = SAĞ ## Bir metin değerinden en sağdaki karakterleri verir. +RIGHTB = SAĞB ## Bir metin değerinden en sağdaki karakterleri verir. +SEARCH = BUL ## Bir metin değerini, bir başkasının içinde bulur (büyük küçük harf duyarlı değildir). +SEARCHB = BULB ## Bir metin değerini, bir başkasının içinde bulur (büyük küçük harf duyarlı değildir). +SUBSTITUTE = YERİNEKOY ## Bir metin dizesinde, eski metnin yerine yeni metin koyar. +T = M ## Bağımsız değerlerini metne dönüştürür. +TEXT = METNEÇEVİR ## Bir sayıyı biçimlendirir ve metne dönüştürür. +TRIM = KIRP ## Metindeki boşlukları kaldırır. +UPPER = BÜYÜKHARF ## Metni büyük harfe çevirir. +VALUE = SAYIYAÇEVİR ## Bir metin bağımsız değişkenini sayıya dönüştürür. diff --git a/vendor/phpoffice/phpexcel/Examples/.gitignore b/vendor/phpoffice/phpexcel/Examples/.gitignore new file mode 100644 index 00000000..1888a98f --- /dev/null +++ b/vendor/phpoffice/phpexcel/Examples/.gitignore @@ -0,0 +1,3 @@ + +*.xls +*.xlsx \ No newline at end of file diff --git a/vendor/phpoffice/phpexcel/Examples/01pharSimple.php b/vendor/phpoffice/phpexcel/Examples/01pharSimple.php new file mode 100644 index 00000000..a8804770 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Examples/01pharSimple.php @@ -0,0 +1,112 @@ +<?php +/** + * PHPExcel + * + * Copyright (C) 2006 - 2014 PHPExcel + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * @category PHPExcel + * @package PHPExcel + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @version ##VERSION##, ##DATE## + */ + +/** Error reporting */ +error_reporting(E_ALL); +ini_set('display_errors', TRUE); +ini_set('display_startup_errors', TRUE); +date_default_timezone_set('Europe/London'); + +define('EOL',(PHP_SAPI == 'cli') ? PHP_EOL : '<br />'); + +/** Include PHPExcel */ +require_once '../Build/PHPExcel.phar'; + + +// Create new PHPExcel object +echo date('H:i:s') , " Create new PHPExcel object" , EOL; +$objPHPExcel = new PHPExcel(); + +// Set document properties +echo date('H:i:s') , " Set document properties" , EOL; +$objPHPExcel->getProperties()->setCreator("Maarten Balliauw") + ->setLastModifiedBy("Maarten Balliauw") + ->setTitle("PHPExcel Test Document") + ->setSubject("PHPExcel Test Document") + ->setDescription("Test document for PHPExcel, generated using PHP classes.") + ->setKeywords("office PHPExcel php") + ->setCategory("Test result file"); + + +// Add some data +echo date('H:i:s') , " Add some data" , EOL; +$objPHPExcel->setActiveSheetIndex(0) + ->setCellValue('A1', 'Hello') + ->setCellValue('B2', 'world!') + ->setCellValue('C1', 'Hello') + ->setCellValue('D2', 'world!'); + +// Miscellaneous glyphs, UTF-8 +$objPHPExcel->setActiveSheetIndex(0) + ->setCellValue('A4', 'Miscellaneous glyphs') + ->setCellValue('A5', 'éàèùâêîôûëïüÿäöüç'); + +// Rename worksheet +echo date('H:i:s') , " Rename worksheet" , EOL; +$objPHPExcel->getActiveSheet()->setTitle('Simple'); + + +// Set active sheet index to the first sheet, so Excel opens this as the first sheet +$objPHPExcel->setActiveSheetIndex(0); + + +// Save Excel 2007 file +echo date('H:i:s') , " Write to Excel2007 format" , EOL; +$callStartTime = microtime(true); + +$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007'); +$objWriter->save(str_replace('.php', '.xlsx', __FILE__)); +$callEndTime = microtime(true); +$callTime = $callEndTime - $callStartTime; + +echo date('H:i:s') , " File written to " , str_replace('.php', '.xlsx', pathinfo(__FILE__, PATHINFO_BASENAME)) , EOL; +echo 'Call time to write Workbook was ' , sprintf('%.4f',$callTime) , " seconds" , EOL; +// Echo memory usage +echo date('H:i:s') , ' Current memory usage: ' , (memory_get_usage(true) / 1024 / 1024) , " MB" , EOL; + + +// Save Excel5 file +echo date('H:i:s') , " Write to Excel5 format" , EOL; +$callStartTime = microtime(true); + +$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5'); +$objWriter->save(str_replace('.php', '.xls', __FILE__)); +$callEndTime = microtime(true); +$callTime = $callEndTime - $callStartTime; + +echo date('H:i:s') , " File written to " , str_replace('.php', '.xls', pathinfo(__FILE__, PATHINFO_BASENAME)) , EOL; +echo 'Call time to write Workbook was ' , sprintf('%.4f',$callTime) , " seconds" , EOL; +// Echo memory usage +echo date('H:i:s') , ' Current memory usage: ' , (memory_get_usage(true) / 1024 / 1024) , " MB" , EOL; + + +// Echo memory peak usage +echo date('H:i:s') , " Peak memory usage: " , (memory_get_peak_usage(true) / 1024 / 1024) , " MB" , EOL; + +// Echo done +echo date('H:i:s') , " Done writing files" , EOL; +echo 'Files have been created in ' , getcwd() , EOL; diff --git a/vendor/phpoffice/phpexcel/Examples/01simple-download-ods.php b/vendor/phpoffice/phpexcel/Examples/01simple-download-ods.php new file mode 100644 index 00000000..574fb011 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Examples/01simple-download-ods.php @@ -0,0 +1,89 @@ +<?php +/** + * PHPExcel + * + * Copyright (C) 2006 - 2014 PHPExcel + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * @category PHPExcel + * @package PHPExcel + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @version ##VERSION##, ##DATE## + */ + +/** Error reporting */ +error_reporting(E_ALL); +ini_set('display_errors', TRUE); +ini_set('display_startup_errors', TRUE); +date_default_timezone_set('Europe/London'); + +if (PHP_SAPI == 'cli') + die('This example should only be run from a Web Browser'); + +/** Include PHPExcel */ +require_once dirname(__FILE__) . '/../Classes/PHPExcel.php'; + + +// Create new PHPExcel object +$objPHPExcel = new PHPExcel(); + +// Set document properties +$objPHPExcel->getProperties()->setCreator("Maarten Balliauw") + ->setLastModifiedBy("Maarten Balliauw") + ->setTitle("Office 2007 XLSX Test Document") + ->setSubject("Office 2007 XLSX Test Document") + ->setDescription("Test document for Office 2007 XLSX, generated using PHP classes.") + ->setKeywords("office 2007 openxml php") + ->setCategory("Test result file"); + + +// Add some data +$objPHPExcel->setActiveSheetIndex(0) + ->setCellValue('A1', 'Hello') + ->setCellValue('B2', 'world!') + ->setCellValue('C1', 'Hello') + ->setCellValue('D2', 'world!'); + +// Miscellaneous glyphs, UTF-8 +$objPHPExcel->setActiveSheetIndex(0) + ->setCellValue('A4', 'Miscellaneous glyphs') + ->setCellValue('A5', 'éàèùâêîôûëïüÿäöüç'); + +// Rename worksheet +$objPHPExcel->getActiveSheet()->setTitle('Simple'); + + +// Set active sheet index to the first sheet, so Excel opens this as the first sheet +$objPHPExcel->setActiveSheetIndex(0); + + +// Redirect output to a client’s web browser (OpenDocument) +header('Content-Type: application/vnd.oasis.opendocument.spreadsheet'); +header('Content-Disposition: attachment;filename="01simple.ods"'); +header('Cache-Control: max-age=0'); +// If you're serving to IE 9, then the following may be needed +header('Cache-Control: max-age=1'); + +// If you're serving to IE over SSL, then the following may be needed +header ('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); // Date in the past +header ('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT'); // always modified +header ('Cache-Control: cache, must-revalidate'); // HTTP/1.1 +header ('Pragma: public'); // HTTP/1.0 + +$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'OpenDocument'); +$objWriter->save('php://output'); +exit; diff --git a/vendor/phpoffice/phpexcel/Examples/01simple-download-pdf.php b/vendor/phpoffice/phpexcel/Examples/01simple-download-pdf.php new file mode 100644 index 00000000..287b0e89 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Examples/01simple-download-pdf.php @@ -0,0 +1,104 @@ +<?php +/** + * PHPExcel + * + * Copyright (C) 2006 - 2014 PHPExcel + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * @category PHPExcel + * @package PHPExcel + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @version ##VERSION##, ##DATE## + */ + +/** Error reporting */ +error_reporting(E_ALL); +ini_set('display_errors', TRUE); +ini_set('display_startup_errors', TRUE); +date_default_timezone_set('Europe/London'); + +if (PHP_SAPI == 'cli') + die('This example should only be run from a Web Browser'); + +/** Include PHPExcel */ +require_once dirname(__FILE__) . '/../Classes/PHPExcel.php'; + + +// Change these values to select the Rendering library that you wish to use +// and its directory location on your server +//$rendererName = PHPExcel_Settings::PDF_RENDERER_TCPDF; +$rendererName = PHPExcel_Settings::PDF_RENDERER_MPDF; +//$rendererName = PHPExcel_Settings::PDF_RENDERER_DOMPDF; +//$rendererLibrary = 'tcPDF5.9'; +$rendererLibrary = 'mPDF5.4'; +//$rendererLibrary = 'domPDF0.6.0beta3'; +$rendererLibraryPath = dirname(__FILE__).'/../../../libraries/PDF/' . $rendererLibrary; + + +// Create new PHPExcel object +$objPHPExcel = new PHPExcel(); + +// Set document properties +$objPHPExcel->getProperties()->setCreator("Maarten Balliauw") + ->setLastModifiedBy("Maarten Balliauw") + ->setTitle("PDF Test Document") + ->setSubject("PDF Test Document") + ->setDescription("Test document for PDF, generated using PHP classes.") + ->setKeywords("pdf php") + ->setCategory("Test result file"); + + +// Add some data +$objPHPExcel->setActiveSheetIndex(0) + ->setCellValue('A1', 'Hello') + ->setCellValue('B2', 'world!') + ->setCellValue('C1', 'Hello') + ->setCellValue('D2', 'world!'); + +// Miscellaneous glyphs, UTF-8 +$objPHPExcel->setActiveSheetIndex(0) + ->setCellValue('A4', 'Miscellaneous glyphs') + ->setCellValue('A5', 'éàèùâêîôûëïüÿäöüç'); + +// Rename worksheet +$objPHPExcel->getActiveSheet()->setTitle('Simple'); +$objPHPExcel->getActiveSheet()->setShowGridLines(false); + +// Set active sheet index to the first sheet, so Excel opens this as the first sheet +$objPHPExcel->setActiveSheetIndex(0); + + +if (!PHPExcel_Settings::setPdfRenderer( + $rendererName, + $rendererLibraryPath + )) { + die( + 'NOTICE: Please set the $rendererName and $rendererLibraryPath values' . + '<br />' . + 'at the top of this script as appropriate for your directory structure' + ); +} + + +// Redirect output to a client’s web browser (PDF) +header('Content-Type: application/pdf'); +header('Content-Disposition: attachment;filename="01simple.pdf"'); +header('Cache-Control: max-age=0'); + +$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'PDF'); +$objWriter->save('php://output'); +exit; diff --git a/vendor/phpoffice/phpexcel/Examples/01simple-download-xls.php b/vendor/phpoffice/phpexcel/Examples/01simple-download-xls.php new file mode 100644 index 00000000..60fc901b --- /dev/null +++ b/vendor/phpoffice/phpexcel/Examples/01simple-download-xls.php @@ -0,0 +1,89 @@ +<?php +/** + * PHPExcel + * + * Copyright (C) 2006 - 2014 PHPExcel + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * @category PHPExcel + * @package PHPExcel + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @version ##VERSION##, ##DATE## + */ + +/** Error reporting */ +error_reporting(E_ALL); +ini_set('display_errors', TRUE); +ini_set('display_startup_errors', TRUE); +date_default_timezone_set('Europe/London'); + +if (PHP_SAPI == 'cli') + die('This example should only be run from a Web Browser'); + +/** Include PHPExcel */ +require_once dirname(__FILE__) . '/../Classes/PHPExcel.php'; + + +// Create new PHPExcel object +$objPHPExcel = new PHPExcel(); + +// Set document properties +$objPHPExcel->getProperties()->setCreator("Maarten Balliauw") + ->setLastModifiedBy("Maarten Balliauw") + ->setTitle("Office 2007 XLSX Test Document") + ->setSubject("Office 2007 XLSX Test Document") + ->setDescription("Test document for Office 2007 XLSX, generated using PHP classes.") + ->setKeywords("office 2007 openxml php") + ->setCategory("Test result file"); + + +// Add some data +$objPHPExcel->setActiveSheetIndex(0) + ->setCellValue('A1', 'Hello') + ->setCellValue('B2', 'world!') + ->setCellValue('C1', 'Hello') + ->setCellValue('D2', 'world!'); + +// Miscellaneous glyphs, UTF-8 +$objPHPExcel->setActiveSheetIndex(0) + ->setCellValue('A4', 'Miscellaneous glyphs') + ->setCellValue('A5', 'éàèùâêîôûëïüÿäöüç'); + +// Rename worksheet +$objPHPExcel->getActiveSheet()->setTitle('Simple'); + + +// Set active sheet index to the first sheet, so Excel opens this as the first sheet +$objPHPExcel->setActiveSheetIndex(0); + + +// Redirect output to a client’s web browser (Excel5) +header('Content-Type: application/vnd.ms-excel'); +header('Content-Disposition: attachment;filename="01simple.xls"'); +header('Cache-Control: max-age=0'); +// If you're serving to IE 9, then the following may be needed +header('Cache-Control: max-age=1'); + +// If you're serving to IE over SSL, then the following may be needed +header ('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); // Date in the past +header ('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT'); // always modified +header ('Cache-Control: cache, must-revalidate'); // HTTP/1.1 +header ('Pragma: public'); // HTTP/1.0 + +$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5'); +$objWriter->save('php://output'); +exit; diff --git a/vendor/phpoffice/phpexcel/Examples/01simple-download-xlsx.php b/vendor/phpoffice/phpexcel/Examples/01simple-download-xlsx.php new file mode 100644 index 00000000..538888ea --- /dev/null +++ b/vendor/phpoffice/phpexcel/Examples/01simple-download-xlsx.php @@ -0,0 +1,89 @@ +<?php +/** + * PHPExcel + * + * Copyright (C) 2006 - 2014 PHPExcel + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * @category PHPExcel + * @package PHPExcel + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @version ##VERSION##, ##DATE## + */ + +/** Error reporting */ +error_reporting(E_ALL); +ini_set('display_errors', TRUE); +ini_set('display_startup_errors', TRUE); +date_default_timezone_set('Europe/London'); + +if (PHP_SAPI == 'cli') + die('This example should only be run from a Web Browser'); + +/** Include PHPExcel */ +require_once dirname(__FILE__) . '/../Classes/PHPExcel.php'; + + +// Create new PHPExcel object +$objPHPExcel = new PHPExcel(); + +// Set document properties +$objPHPExcel->getProperties()->setCreator("Maarten Balliauw") + ->setLastModifiedBy("Maarten Balliauw") + ->setTitle("Office 2007 XLSX Test Document") + ->setSubject("Office 2007 XLSX Test Document") + ->setDescription("Test document for Office 2007 XLSX, generated using PHP classes.") + ->setKeywords("office 2007 openxml php") + ->setCategory("Test result file"); + + +// Add some data +$objPHPExcel->setActiveSheetIndex(0) + ->setCellValue('A1', 'Hello') + ->setCellValue('B2', 'world!') + ->setCellValue('C1', 'Hello') + ->setCellValue('D2', 'world!'); + +// Miscellaneous glyphs, UTF-8 +$objPHPExcel->setActiveSheetIndex(0) + ->setCellValue('A4', 'Miscellaneous glyphs') + ->setCellValue('A5', 'éàèùâêîôûëïüÿäöüç'); + +// Rename worksheet +$objPHPExcel->getActiveSheet()->setTitle('Simple'); + + +// Set active sheet index to the first sheet, so Excel opens this as the first sheet +$objPHPExcel->setActiveSheetIndex(0); + + +// Redirect output to a client’s web browser (Excel2007) +header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'); +header('Content-Disposition: attachment;filename="01simple.xlsx"'); +header('Cache-Control: max-age=0'); +// If you're serving to IE 9, then the following may be needed +header('Cache-Control: max-age=1'); + +// If you're serving to IE over SSL, then the following may be needed +header ('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); // Date in the past +header ('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT'); // always modified +header ('Cache-Control: cache, must-revalidate'); // HTTP/1.1 +header ('Pragma: public'); // HTTP/1.0 + +$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007'); +$objWriter->save('php://output'); +exit; diff --git a/vendor/phpoffice/phpexcel/Examples/01simple.php b/vendor/phpoffice/phpexcel/Examples/01simple.php new file mode 100644 index 00000000..965fefaf --- /dev/null +++ b/vendor/phpoffice/phpexcel/Examples/01simple.php @@ -0,0 +1,118 @@ +<?php +/** + * PHPExcel + * + * Copyright (C) 2006 - 2014 PHPExcel + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * @category PHPExcel + * @package PHPExcel + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @version ##VERSION##, ##DATE## + */ + +/** Error reporting */ +error_reporting(E_ALL); +ini_set('display_errors', TRUE); +ini_set('display_startup_errors', TRUE); +date_default_timezone_set('Europe/London'); + +define('EOL',(PHP_SAPI == 'cli') ? PHP_EOL : '<br />'); + +/** Include PHPExcel */ +require_once dirname(__FILE__) . '/../Classes/PHPExcel.php'; + + +// Create new PHPExcel object +echo date('H:i:s') , " Create new PHPExcel object" , EOL; +$objPHPExcel = new PHPExcel(); + +// Set document properties +echo date('H:i:s') , " Set document properties" , EOL; +$objPHPExcel->getProperties()->setCreator("Maarten Balliauw") + ->setLastModifiedBy("Maarten Balliauw") + ->setTitle("PHPExcel Test Document") + ->setSubject("PHPExcel Test Document") + ->setDescription("Test document for PHPExcel, generated using PHP classes.") + ->setKeywords("office PHPExcel php") + ->setCategory("Test result file"); + + +// Add some data +echo date('H:i:s') , " Add some data" , EOL; +$objPHPExcel->setActiveSheetIndex(0) + ->setCellValue('A1', 'Hello') + ->setCellValue('B2', 'world!') + ->setCellValue('C1', 'Hello') + ->setCellValue('D2', 'world!'); + +// Miscellaneous glyphs, UTF-8 +$objPHPExcel->setActiveSheetIndex(0) + ->setCellValue('A4', 'Miscellaneous glyphs') + ->setCellValue('A5', 'éàèùâêîôûëïüÿäöüç'); + + +$objPHPExcel->getActiveSheet()->setCellValue('A8',"Hello\nWorld"); +$objPHPExcel->getActiveSheet()->getRowDimension(8)->setRowHeight(-1); +$objPHPExcel->getActiveSheet()->getStyle('A8')->getAlignment()->setWrapText(true); + + +// Rename worksheet +echo date('H:i:s') , " Rename worksheet" , EOL; +$objPHPExcel->getActiveSheet()->setTitle('Simple'); + + +// Set active sheet index to the first sheet, so Excel opens this as the first sheet +$objPHPExcel->setActiveSheetIndex(0); + + +// Save Excel 2007 file +echo date('H:i:s') , " Write to Excel2007 format" , EOL; +$callStartTime = microtime(true); + +$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007'); +$objWriter->save(str_replace('.php', '.xlsx', __FILE__)); +$callEndTime = microtime(true); +$callTime = $callEndTime - $callStartTime; + +echo date('H:i:s') , " File written to " , str_replace('.php', '.xlsx', pathinfo(__FILE__, PATHINFO_BASENAME)) , EOL; +echo 'Call time to write Workbook was ' , sprintf('%.4f',$callTime) , " seconds" , EOL; +// Echo memory usage +echo date('H:i:s') , ' Current memory usage: ' , (memory_get_usage(true) / 1024 / 1024) , " MB" , EOL; + + +// Save Excel 95 file +echo date('H:i:s') , " Write to Excel5 format" , EOL; +$callStartTime = microtime(true); + +$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5'); +$objWriter->save(str_replace('.php', '.xls', __FILE__)); +$callEndTime = microtime(true); +$callTime = $callEndTime - $callStartTime; + +echo date('H:i:s') , " File written to " , str_replace('.php', '.xls', pathinfo(__FILE__, PATHINFO_BASENAME)) , EOL; +echo 'Call time to write Workbook was ' , sprintf('%.4f',$callTime) , " seconds" , EOL; +// Echo memory usage +echo date('H:i:s') , ' Current memory usage: ' , (memory_get_usage(true) / 1024 / 1024) , " MB" , EOL; + + +// Echo memory peak usage +echo date('H:i:s') , " Peak memory usage: " , (memory_get_peak_usage(true) / 1024 / 1024) , " MB" , EOL; + +// Echo done +echo date('H:i:s') , " Done writing files" , EOL; +echo 'Files have been created in ' , getcwd() , EOL; diff --git a/vendor/phpoffice/phpexcel/Examples/01simplePCLZip.php b/vendor/phpoffice/phpexcel/Examples/01simplePCLZip.php new file mode 100644 index 00000000..0b7a46c1 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Examples/01simplePCLZip.php @@ -0,0 +1,106 @@ +<?php +/** + * PHPExcel + * + * Copyright (C) 2006 - 2014 PHPExcel + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * @category PHPExcel + * @package PHPExcel + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @version ##VERSION##, ##DATE## + */ + +/** Error reporting */ +error_reporting(E_ALL); +ini_set('display_errors', TRUE); +ini_set('display_startup_errors', TRUE); +date_default_timezone_set('Europe/London'); + +define('EOL',(PHP_SAPI == 'cli') ? PHP_EOL : '<br />'); + +/** Include PHPExcel */ +require_once dirname(__FILE__) . '/../Classes/PHPExcel.php'; + + +// Create new PHPExcel object +echo date('H:i:s') , " Create new PHPExcel object" , EOL; +$objPHPExcel = new PHPExcel(); + +// Set document properties +echo date('H:i:s') , " Set document properties" , EOL; +$objPHPExcel->getProperties()->setCreator("Maarten Balliauw") + ->setLastModifiedBy("Maarten Balliauw") + ->setTitle("PHPExcel Test Document") + ->setSubject("PHPExcel Test Document") + ->setDescription("Test document for PHPExcel, generated using PHP classes.") + ->setKeywords("office PHPExcel php") + ->setCategory("Test result file"); + + +// Add some data +echo date('H:i:s') , " Add some data" , EOL; +$objPHPExcel->setActiveSheetIndex(0) + ->setCellValue('A1', 'Hello') + ->setCellValue('B2', 'world!') + ->setCellValue('C1', 'Hello') + ->setCellValue('D2', 'world!'); + +// Miscellaneous glyphs, UTF-8 +$objPHPExcel->setActiveSheetIndex(0) + ->setCellValue('A4', 'Miscellaneous glyphs') + ->setCellValue('A5', 'éàèùâêîôûëïüÿäöüç'); + + +$objPHPExcel->getActiveSheet()->setCellValue('A8',"Hello\nWorld"); +$objPHPExcel->getActiveSheet()->getRowDimension(8)->setRowHeight(-1); +$objPHPExcel->getActiveSheet()->getStyle('A8')->getAlignment()->setWrapText(true); + + +// Rename worksheet +echo date('H:i:s') , " Rename worksheet" , EOL; +$objPHPExcel->getActiveSheet()->setTitle('Simple'); + + +// Set active sheet index to the first sheet, so Excel opens this as the first sheet +$objPHPExcel->setActiveSheetIndex(0); + + +// Save Excel 2007 file +echo date('H:i:s') , " Write to Excel2007 format" , EOL; +$callStartTime = microtime(true); + +// Use PCLZip rather than ZipArchive to create the Excel2007 OfficeOpenXML file +PHPExcel_Settings::setZipClass(PHPExcel_Settings::PCLZIP); + +$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007'); +$objWriter->save(str_replace('.php', '.xlsx', __FILE__)); +$callEndTime = microtime(true); +$callTime = $callEndTime - $callStartTime; + +echo date('H:i:s') , " File written to " , str_replace('.php', '.xlsx', pathinfo(__FILE__, PATHINFO_BASENAME)) , EOL; +echo 'Call time to write Workbook was ' , sprintf('%.4f',$callTime) , " seconds" , EOL; +// Echo memory usage +echo date('H:i:s') , ' Current memory usage: ' , (memory_get_usage(true) / 1024 / 1024) , " MB" , EOL; + + +// Echo memory peak usage +echo date('H:i:s') , " Peak memory usage: " , (memory_get_peak_usage(true) / 1024 / 1024) , " MB" , EOL; + +// Echo done +echo date('H:i:s') , " Done writing files" , EOL; +echo 'Files have been created in ' , getcwd() , EOL; diff --git a/vendor/phpoffice/phpexcel/Examples/02types-xls.php b/vendor/phpoffice/phpexcel/Examples/02types-xls.php new file mode 100644 index 00000000..cc1dc374 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Examples/02types-xls.php @@ -0,0 +1,183 @@ +<?php +/** + * PHPExcel + * + * Copyright (C) 2006 - 2014 PHPExcel + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * @category PHPExcel + * @package PHPExcel + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @version ##VERSION##, ##DATE## + */ + +/** Error reporting */ +error_reporting(E_ALL); +ini_set('display_errors', TRUE); +ini_set('display_startup_errors', TRUE); +date_default_timezone_set('Europe/London'); + +define('EOL',(PHP_SAPI == 'cli') ? PHP_EOL : '<br />'); + +/** Include PHPExcel */ +require_once dirname(__FILE__) . '/../Classes/PHPExcel.php'; + + +// Create new PHPExcel object +echo date('H:i:s') , " Create new PHPExcel object" , EOL; +$objPHPExcel = new PHPExcel(); + +// Set document properties +echo date('H:i:s') , " Set document properties" , EOL; +$objPHPExcel->getProperties()->setCreator("Maarten Balliauw") + ->setLastModifiedBy("Maarten Balliauw") + ->setTitle("Office 2007 XLSX Test Document") + ->setSubject("Office 2007 XLSX Test Document") + ->setDescription("Test document for Office 2007 XLSX, generated using PHP classes.") + ->setKeywords("office 2007 openxml php") + ->setCategory("Test result file"); + +// Set default font +echo date('H:i:s') , " Set default font" , EOL; +$objPHPExcel->getDefaultStyle()->getFont()->setName('Arial') + ->setSize(10); + +// Add some data, resembling some different data types +echo date('H:i:s') , " Add some data" , EOL; +$objPHPExcel->getActiveSheet()->setCellValue('A1', 'String') + ->setCellValue('B1', 'Simple') + ->setCellValue('C1', 'PHPExcel'); + +$objPHPExcel->getActiveSheet()->setCellValue('A2', 'String') + ->setCellValue('B2', 'Symbols') + ->setCellValue('C2', '!+&=()~§±æþ'); + +$objPHPExcel->getActiveSheet()->setCellValue('A3', 'String') + ->setCellValue('B3', 'UTF-8') + ->setCellValue('C3', 'Создать MS Excel Книги из PHP скриптов'); + +$objPHPExcel->getActiveSheet()->setCellValue('A4', 'Number') + ->setCellValue('B4', 'Integer') + ->setCellValue('C4', 12); + +$objPHPExcel->getActiveSheet()->setCellValue('A5', 'Number') + ->setCellValue('B5', 'Float') + ->setCellValue('C5', 34.56); + +$objPHPExcel->getActiveSheet()->setCellValue('A6', 'Number') + ->setCellValue('B6', 'Negative') + ->setCellValue('C6', -7.89); + +$objPHPExcel->getActiveSheet()->setCellValue('A7', 'Boolean') + ->setCellValue('B7', 'True') + ->setCellValue('C7', true); + +$objPHPExcel->getActiveSheet()->setCellValue('A8', 'Boolean') + ->setCellValue('B8', 'False') + ->setCellValue('C8', false); + +$dateTimeNow = time(); +$objPHPExcel->getActiveSheet()->setCellValue('A9', 'Date/Time') + ->setCellValue('B9', 'Date') + ->setCellValue('C9', PHPExcel_Shared_Date::PHPToExcel( $dateTimeNow )); +$objPHPExcel->getActiveSheet()->getStyle('C9')->getNumberFormat()->setFormatCode(PHPExcel_Style_NumberFormat::FORMAT_DATE_YYYYMMDD2); + +$objPHPExcel->getActiveSheet()->setCellValue('A10', 'Date/Time') + ->setCellValue('B10', 'Time') + ->setCellValue('C10', PHPExcel_Shared_Date::PHPToExcel( $dateTimeNow )); +$objPHPExcel->getActiveSheet()->getStyle('C10')->getNumberFormat()->setFormatCode(PHPExcel_Style_NumberFormat::FORMAT_DATE_TIME4); + +$objPHPExcel->getActiveSheet()->setCellValue('A11', 'Date/Time') + ->setCellValue('B11', 'Date and Time') + ->setCellValue('C11', PHPExcel_Shared_Date::PHPToExcel( $dateTimeNow )); +$objPHPExcel->getActiveSheet()->getStyle('C11')->getNumberFormat()->setFormatCode(PHPExcel_Style_NumberFormat::FORMAT_DATE_DATETIME); + +$objPHPExcel->getActiveSheet()->setCellValue('A12', 'NULL') + ->setCellValue('C12', NULL); + +$objRichText = new PHPExcel_RichText(); +$objRichText->createText('你好 '); +$objPayable = $objRichText->createTextRun('你 好 吗?'); +$objPayable->getFont()->setBold(true); +$objPayable->getFont()->setItalic(true); +$objPayable->getFont()->setColor( new PHPExcel_Style_Color( PHPExcel_Style_Color::COLOR_DARKGREEN ) ); + +$objRichText->createText(', unless specified otherwise on the invoice.'); + +$objPHPExcel->getActiveSheet()->setCellValue('A13', 'Rich Text') + ->setCellValue('C13', $objRichText); + + +$objRichText2 = new PHPExcel_RichText(); +$objRichText2->createText("black text\n"); + +$objRed = $objRichText2->createTextRun("red text"); +$objRed->getFont()->setColor( new PHPExcel_Style_Color(PHPExcel_Style_Color::COLOR_RED ) ); + +$objPHPExcel->getActiveSheet()->getCell("C14")->setValue($objRichText2); +$objPHPExcel->getActiveSheet()->getStyle("C14")->getAlignment()->setWrapText(true); + + +$objPHPExcel->getActiveSheet()->getColumnDimension('B')->setAutoSize(true); +$objPHPExcel->getActiveSheet()->getColumnDimension('C')->setAutoSize(true); + +// Rename worksheet +echo date('H:i:s') , " Rename worksheet" , EOL; +$objPHPExcel->getActiveSheet()->setTitle('Datatypes'); + + +// Set active sheet index to the first sheet, so Excel opens this as the first sheet +$objPHPExcel->setActiveSheetIndex(0); + + +// Save Excel 95 file +echo date('H:i:s') , " Write to Excel5 format" , EOL; +$callStartTime = microtime(true); + +$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5'); +$objWriter->save(str_replace('.php', '.xls', __FILE__)); +echo date('H:i:s') , " File written to " , str_replace('.php', '.xls', pathinfo(__FILE__, PATHINFO_BASENAME)) , EOL; +$callEndTime = microtime(true); +$callTime = $callEndTime - $callStartTime; + +echo date('H:i:s') , " File written to " , str_replace('.php', '.xlsx', pathinfo(__FILE__, PATHINFO_BASENAME)) , EOL; +echo 'Call time to write Workbook was ' , sprintf('%.4f',$callTime) , " seconds" , EOL; +// Echo memory usage +echo date('H:i:s') , ' Current memory usage: ' , (memory_get_usage(true) / 1024 / 1024) , " MB" , EOL; + + +echo date('H:i:s') , " Reload workbook from saved file" , EOL; +$callStartTime = microtime(true); + +$objPHPExcel = PHPExcel_IOFactory::load(str_replace('.php', '.xls', __FILE__)); + +$callEndTime = microtime(true); +$callTime = $callEndTime - $callStartTime; +echo 'Call time to reload Workbook was ' , sprintf('%.4f',$callTime) , " seconds" , EOL; +// Echo memory usage +echo date('H:i:s') , ' Current memory usage: ' , (memory_get_usage(true) / 1024 / 1024) , " MB" , EOL; + + +var_dump($objPHPExcel->getActiveSheet()->toArray()); + + +// Echo memory peak usage +echo date('H:i:s') , " Peak memory usage: " , (memory_get_peak_usage(true) / 1024 / 1024) , " MB" , EOL; + +// Echo done +echo date('H:i:s') , " Done testing file" , EOL; +echo 'File has been created in ' , getcwd() , EOL; diff --git a/vendor/phpoffice/phpexcel/Examples/02types.php b/vendor/phpoffice/phpexcel/Examples/02types.php new file mode 100644 index 00000000..ff5421e4 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Examples/02types.php @@ -0,0 +1,183 @@ +<?php +/** + * PHPExcel + * + * Copyright (C) 2006 - 2014 PHPExcel + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * @category PHPExcel + * @package PHPExcel + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @version ##VERSION##, ##DATE## + */ + +/** Error reporting */ +error_reporting(E_ALL); +ini_set('display_errors', TRUE); +ini_set('display_startup_errors', TRUE); +date_default_timezone_set('Europe/London'); + +define('EOL',(PHP_SAPI == 'cli') ? PHP_EOL : '<br />'); + +/** Include PHPExcel */ +require_once dirname(__FILE__) . '/../Classes/PHPExcel.php'; + + +// Create new PHPExcel object +echo date('H:i:s') , " Create new PHPExcel object" , EOL; +$objPHPExcel = new PHPExcel(); + +// Set document properties +echo date('H:i:s') , " Set document properties" , EOL; +$objPHPExcel->getProperties()->setCreator("Maarten Balliauw") + ->setLastModifiedBy("Maarten Balliauw") + ->setTitle("Office 2007 XLSX Test Document") + ->setSubject("Office 2007 XLSX Test Document") + ->setDescription("Test document for Office 2007 XLSX, generated using PHP classes.") + ->setKeywords("office 2007 openxml php") + ->setCategory("Test result file"); + +// Set default font +echo date('H:i:s') , " Set default font" , EOL; +$objPHPExcel->getDefaultStyle()->getFont()->setName('Arial') + ->setSize(10); + +// Add some data, resembling some different data types +echo date('H:i:s') , " Add some data" , EOL; +$objPHPExcel->getActiveSheet()->setCellValue('A1', 'String') + ->setCellValue('B1', 'Simple') + ->setCellValue('C1', 'PHPExcel'); + +$objPHPExcel->getActiveSheet()->setCellValue('A2', 'String') + ->setCellValue('B2', 'Symbols') + ->setCellValue('C2', '!+&=()~§±æþ'); + +$objPHPExcel->getActiveSheet()->setCellValue('A3', 'String') + ->setCellValue('B3', 'UTF-8') + ->setCellValue('C3', 'Создать MS Excel Книги из PHP скриптов'); + +$objPHPExcel->getActiveSheet()->setCellValue('A4', 'Number') + ->setCellValue('B4', 'Integer') + ->setCellValue('C4', 12); + +$objPHPExcel->getActiveSheet()->setCellValue('A5', 'Number') + ->setCellValue('B5', 'Float') + ->setCellValue('C5', 34.56); + +$objPHPExcel->getActiveSheet()->setCellValue('A6', 'Number') + ->setCellValue('B6', 'Negative') + ->setCellValue('C6', -7.89); + +$objPHPExcel->getActiveSheet()->setCellValue('A7', 'Boolean') + ->setCellValue('B7', 'True') + ->setCellValue('C7', true); + +$objPHPExcel->getActiveSheet()->setCellValue('A8', 'Boolean') + ->setCellValue('B8', 'False') + ->setCellValue('C8', false); + +$dateTimeNow = time(); +$objPHPExcel->getActiveSheet()->setCellValue('A9', 'Date/Time') + ->setCellValue('B9', 'Date') + ->setCellValue('C9', PHPExcel_Shared_Date::PHPToExcel( $dateTimeNow )); +$objPHPExcel->getActiveSheet()->getStyle('C9')->getNumberFormat()->setFormatCode(PHPExcel_Style_NumberFormat::FORMAT_DATE_YYYYMMDD2); + +$objPHPExcel->getActiveSheet()->setCellValue('A10', 'Date/Time') + ->setCellValue('B10', 'Time') + ->setCellValue('C10', PHPExcel_Shared_Date::PHPToExcel( $dateTimeNow )); +$objPHPExcel->getActiveSheet()->getStyle('C10')->getNumberFormat()->setFormatCode(PHPExcel_Style_NumberFormat::FORMAT_DATE_TIME4); + +$objPHPExcel->getActiveSheet()->setCellValue('A11', 'Date/Time') + ->setCellValue('B11', 'Date and Time') + ->setCellValue('C11', PHPExcel_Shared_Date::PHPToExcel( $dateTimeNow )); +$objPHPExcel->getActiveSheet()->getStyle('C11')->getNumberFormat()->setFormatCode(PHPExcel_Style_NumberFormat::FORMAT_DATE_DATETIME); + +$objPHPExcel->getActiveSheet()->setCellValue('A12', 'NULL') + ->setCellValue('C12', NULL); + +$objRichText = new PHPExcel_RichText(); +$objRichText->createText('你好 '); + +$objPayable = $objRichText->createTextRun('你 好 吗?'); +$objPayable->getFont()->setBold(true); +$objPayable->getFont()->setItalic(true); +$objPayable->getFont()->setColor( new PHPExcel_Style_Color( PHPExcel_Style_Color::COLOR_DARKGREEN ) ); + +$objRichText->createText(', unless specified otherwise on the invoice.'); + +$objPHPExcel->getActiveSheet()->setCellValue('A13', 'Rich Text') + ->setCellValue('C13', $objRichText); + + +$objRichText2 = new PHPExcel_RichText(); +$objRichText2->createText("black text\n"); + +$objRed = $objRichText2->createTextRun("red text"); +$objRed->getFont()->setColor( new PHPExcel_Style_Color(PHPExcel_Style_Color::COLOR_RED ) ); + +$objPHPExcel->getActiveSheet()->getCell("C14")->setValue($objRichText2); +$objPHPExcel->getActiveSheet()->getStyle("C14")->getAlignment()->setWrapText(true); + + +$objPHPExcel->getActiveSheet()->getColumnDimension('B')->setAutoSize(true); +$objPHPExcel->getActiveSheet()->getColumnDimension('C')->setAutoSize(true); + +// Rename worksheet +echo date('H:i:s') , " Rename worksheet" , EOL; +$objPHPExcel->getActiveSheet()->setTitle('Datatypes'); + + +// Set active sheet index to the first sheet, so Excel opens this as the first sheet +$objPHPExcel->setActiveSheetIndex(0); + + +// Save Excel 2007 file +echo date('H:i:s') , " Write to Excel2007 format" , EOL; +$callStartTime = microtime(true); + +$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007'); +$objWriter->save(str_replace('.php', '.xlsx', __FILE__)); +$callEndTime = microtime(true); +$callTime = $callEndTime - $callStartTime; + +echo date('H:i:s') , " File written to " , str_replace('.php', '.xlsx', pathinfo(__FILE__, PATHINFO_BASENAME)) , EOL; +echo 'Call time to write Workbook was ' , sprintf('%.4f',$callTime) , " seconds" , EOL; +// Echo memory usage +echo date('H:i:s') , ' Current memory usage: ' , (memory_get_usage(true) / 1024 / 1024) , " MB" , EOL; + + +echo date('H:i:s') , " Reload workbook from saved file" , EOL; +$callStartTime = microtime(true); + +$objPHPExcel = PHPExcel_IOFactory::load(str_replace('.php', '.xlsx', __FILE__)); + +$callEndTime = microtime(true); +$callTime = $callEndTime - $callStartTime; +echo 'Call time to reload Workbook was ' , sprintf('%.4f',$callTime) , " seconds" , EOL; +// Echo memory usage +echo date('H:i:s') , ' Current memory usage: ' , (memory_get_usage(true) / 1024 / 1024) , " MB" , EOL; + + +var_dump($objPHPExcel->getActiveSheet()->toArray()); + + +// Echo memory peak usage +echo date('H:i:s') , " Peak memory usage: " , (memory_get_peak_usage(true) / 1024 / 1024) , " MB" , EOL; + +// Echo done +echo date('H:i:s') , " Done testing file" , EOL; +echo 'File has been created in ' , getcwd() , EOL; diff --git a/vendor/phpoffice/phpexcel/Examples/03formulas.php b/vendor/phpoffice/phpexcel/Examples/03formulas.php new file mode 100644 index 00000000..1396717d --- /dev/null +++ b/vendor/phpoffice/phpexcel/Examples/03formulas.php @@ -0,0 +1,149 @@ +<?php +/** + * PHPExcel + * + * Copyright (C) 2006 - 2014 PHPExcel + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * @category PHPExcel + * @package PHPExcel + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @version ##VERSION##, ##DATE## + */ + +/** Error reporting */ +error_reporting(E_ALL); +ini_set('display_errors', TRUE); +ini_set('display_startup_errors', TRUE); +date_default_timezone_set('Europe/London'); + +define('EOL',(PHP_SAPI == 'cli') ? PHP_EOL : '<br />'); + +/** Include PHPExcel */ +require_once dirname(__FILE__) . '/../Classes/PHPExcel.php'; + + +// Create new PHPExcel object +echo date('H:i:s') , " Create new PHPExcel object" , EOL; +$objPHPExcel = new PHPExcel(); + +// Set document properties +echo date('H:i:s') , " Set document properties" , EOL; +$objPHPExcel->getProperties()->setCreator("Maarten Balliauw") + ->setLastModifiedBy("Maarten Balliauw") + ->setTitle("Office 2007 XLSX Test Document") + ->setSubject("Office 2007 XLSX Test Document") + ->setDescription("Test document for Office 2007 XLSX, generated using PHP classes.") + ->setKeywords("office 2007 openxml php") + ->setCategory("Test result file"); + + +// Add some data, we will use some formulas here +echo date('H:i:s') , " Add some data" , EOL; +$objPHPExcel->getActiveSheet()->setCellValue('A5', 'Sum:'); + +$objPHPExcel->getActiveSheet()->setCellValue('B1', 'Range #1') + ->setCellValue('B2', 3) + ->setCellValue('B3', 7) + ->setCellValue('B4', 13) + ->setCellValue('B5', '=SUM(B2:B4)'); +echo date('H:i:s') , " Sum of Range #1 is " , + $objPHPExcel->getActiveSheet()->getCell('B5')->getCalculatedValue() , EOL; + +$objPHPExcel->getActiveSheet()->setCellValue('C1', 'Range #2') + ->setCellValue('C2', 5) + ->setCellValue('C3', 11) + ->setCellValue('C4', 17) + ->setCellValue('C5', '=SUM(C2:C4)'); +echo date('H:i:s') , " Sum of Range #2 is " , + $objPHPExcel->getActiveSheet()->getCell('C5')->getCalculatedValue() , EOL; + +$objPHPExcel->getActiveSheet()->setCellValue('A7', 'Total of both ranges:'); +$objPHPExcel->getActiveSheet()->setCellValue('B7', '=SUM(B5:C5)'); +echo date('H:i:s') , " Sum of both Ranges is " , + $objPHPExcel->getActiveSheet()->getCell('B7')->getCalculatedValue() , EOL; + +$objPHPExcel->getActiveSheet()->setCellValue('A8', 'Minimum of both ranges:'); +$objPHPExcel->getActiveSheet()->setCellValue('B8', '=MIN(B2:C4)'); +echo date('H:i:s') , " Minimum value in either Range is " , + $objPHPExcel->getActiveSheet()->getCell('B8')->getCalculatedValue() , EOL; + +$objPHPExcel->getActiveSheet()->setCellValue('A9', 'Maximum of both ranges:'); +$objPHPExcel->getActiveSheet()->setCellValue('B9', '=MAX(B2:C4)'); +echo date('H:i:s') , " Maximum value in either Range is " , + $objPHPExcel->getActiveSheet()->getCell('B9')->getCalculatedValue() , EOL; + +$objPHPExcel->getActiveSheet()->setCellValue('A10', 'Average of both ranges:'); +$objPHPExcel->getActiveSheet()->setCellValue('B10', '=AVERAGE(B2:C4)'); +echo date('H:i:s') , " Average value of both Ranges is " , + $objPHPExcel->getActiveSheet()->getCell('B10')->getCalculatedValue() , EOL; + + +// Rename worksheet +echo date('H:i:s') , " Rename worksheet" , EOL; +$objPHPExcel->getActiveSheet()->setTitle('Formulas'); + + +// Set active sheet index to the first sheet, so Excel opens this as the first sheet +$objPHPExcel->setActiveSheetIndex(0); + + +// Save Excel 2007 file +echo date('H:i:s') , " Write to Excel2007 format" , EOL; +$callStartTime = microtime(true); + +$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007'); + +// +// If we set Pre Calculated Formulas to true then PHPExcel will calculate all formulae in the +// workbook before saving. This adds time and memory overhead, and can cause some problems with formulae +// using functions or features (such as array formulae) that aren't yet supported by the calculation engine +// If the value is false (the default) for the Excel2007 Writer, then MS Excel (or the application used to +// open the file) will need to recalculate values itself to guarantee that the correct results are available. +// +//$objWriter->setPreCalculateFormulas(true); +$objWriter->save(str_replace('.php', '.xlsx', __FILE__)); +$callEndTime = microtime(true); +$callTime = $callEndTime - $callStartTime; + +echo date('H:i:s') , " File written to " , str_replace('.php', '.xlsx', pathinfo(__FILE__, PATHINFO_BASENAME)) , EOL; +echo 'Call time to write Workbook was ' , sprintf('%.4f',$callTime) , " seconds" , EOL; +// Echo memory usage +echo date('H:i:s') , ' Current memory usage: ' , (memory_get_usage(true) / 1024 / 1024) , " MB" , EOL; + + +// Save Excel 95 file +echo date('H:i:s') , " Write to Excel5 format" , EOL; +$callStartTime = microtime(true); + +$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5'); +$objWriter->save(str_replace('.php', '.xls', __FILE__)); +$callEndTime = microtime(true); +$callTime = $callEndTime - $callStartTime; + +echo date('H:i:s') , " File written to " , str_replace('.php', '.xls', pathinfo(__FILE__, PATHINFO_BASENAME)) , EOL; +echo 'Call time to write Workbook was ' , sprintf('%.4f',$callTime) , " seconds" , EOL; +// Echo memory usage +echo date('H:i:s') , ' Current memory usage: ' , (memory_get_usage(true) / 1024 / 1024) , " MB" , EOL; + + +// Echo memory peak usage +echo date('H:i:s') , " Peak memory usage: " , (memory_get_peak_usage(true) / 1024 / 1024) , " MB" , EOL; + +// Echo done +echo date('H:i:s') , " Done writing files" , EOL; +echo 'Files have been created in ' , getcwd() , EOL; diff --git a/vendor/phpoffice/phpexcel/Examples/04printing.php b/vendor/phpoffice/phpexcel/Examples/04printing.php new file mode 100644 index 00000000..14358b05 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Examples/04printing.php @@ -0,0 +1,125 @@ +<?php +/** + * PHPExcel + * + * Copyright (C) 2006 - 2014 PHPExcel + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * @category PHPExcel + * @package PHPExcel + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @version ##VERSION##, ##DATE## + */ + +/** Error reporting */ +error_reporting(E_ALL); +ini_set('display_errors', TRUE); +ini_set('display_startup_errors', TRUE); + +define('EOL',(PHP_SAPI == 'cli') ? PHP_EOL : '<br />'); + +date_default_timezone_set('Europe/London'); + +/** Include PHPExcel */ +require_once dirname(__FILE__) . '/../Classes/PHPExcel.php'; + + +// Create new PHPExcel object +echo date('H:i:s') , " Create new PHPExcel object" , EOL; +$objPHPExcel = new PHPExcel(); + +// Set document properties +echo date('H:i:s') , " Set document properties" , EOL; +$objPHPExcel->getProperties()->setCreator("Maarten Balliauw") + ->setLastModifiedBy("Maarten Balliauw") + ->setTitle("Office 2007 XLSX Test Document") + ->setSubject("Office 2007 XLSX Test Document") + ->setDescription("Test document for Office 2007 XLSX, generated using PHP classes.") + ->setKeywords("office 2007 openxml php") + ->setCategory("Test result file"); + + +// Add some data, we will use printing features +echo date('H:i:s') , " Add some data" , EOL; +for ($i = 1; $i < 200; $i++) { + $objPHPExcel->getActiveSheet()->setCellValue('A' . $i, $i); + $objPHPExcel->getActiveSheet()->setCellValue('B' . $i, 'Test value'); +} + +// Set header and footer. When no different headers for odd/even are used, odd header is assumed. +echo date('H:i:s') , " Set header/footer" , EOL; +$objPHPExcel->getActiveSheet()->getHeaderFooter()->setOddHeader('&L&G&C&HPlease treat this document as confidential!'); +$objPHPExcel->getActiveSheet()->getHeaderFooter()->setOddFooter('&L&B' . $objPHPExcel->getProperties()->getTitle() . '&RPage &P of &N'); + +// Add a drawing to the header +echo date('H:i:s') , " Add a drawing to the header" , EOL; +$objDrawing = new PHPExcel_Worksheet_HeaderFooterDrawing(); +$objDrawing->setName('PHPExcel logo'); +$objDrawing->setPath('./images/phpexcel_logo.gif'); +$objDrawing->setHeight(36); +$objPHPExcel->getActiveSheet()->getHeaderFooter()->addImage($objDrawing, PHPExcel_Worksheet_HeaderFooter::IMAGE_HEADER_LEFT); + +// Set page orientation and size +echo date('H:i:s') , " Set page orientation and size" , EOL; +$objPHPExcel->getActiveSheet()->getPageSetup()->setOrientation(PHPExcel_Worksheet_PageSetup::ORIENTATION_LANDSCAPE); +$objPHPExcel->getActiveSheet()->getPageSetup()->setPaperSize(PHPExcel_Worksheet_PageSetup::PAPERSIZE_A4); + +// Rename worksheet +echo date('H:i:s') , " Rename worksheet" , EOL; +$objPHPExcel->getActiveSheet()->setTitle('Printing'); + + +// Set active sheet index to the first sheet, so Excel opens this as the first sheet +$objPHPExcel->setActiveSheetIndex(0); + + +// Save Excel 2007 file +echo date('H:i:s') , " Write to Excel2007 format" , EOL; +$callStartTime = microtime(true); + +$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007'); +$objWriter->save(str_replace('.php', '.xlsx', __FILE__)); +$callEndTime = microtime(true); +$callTime = $callEndTime - $callStartTime; + +echo date('H:i:s') , " File written to " , str_replace('.php', '.xlsx', pathinfo(__FILE__, PATHINFO_BASENAME)) , EOL; +echo 'Call time to write Workbook was ' , sprintf('%.4f',$callTime) , " seconds" , EOL; +// Echo memory usage +echo date('H:i:s') , ' Current memory usage: ' , (memory_get_usage(true) / 1024 / 1024) , " MB" , EOL; + + +// Save Excel 95 file +echo date('H:i:s') , " Write to Excel5 format" , EOL; +$callStartTime = microtime(true); + +$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5'); +$objWriter->save(str_replace('.php', '.xls', __FILE__)); +$callEndTime = microtime(true); +$callTime = $callEndTime - $callStartTime; + +echo date('H:i:s') , " File written to " , str_replace('.php', '.xls', pathinfo(__FILE__, PATHINFO_BASENAME)) , EOL; +echo 'Call time to write Workbook was ' , sprintf('%.4f',$callTime) , " seconds" , EOL; +// Echo memory usage +echo date('H:i:s') , ' Current memory usage: ' , (memory_get_usage(true) / 1024 / 1024) , " MB" , EOL; + + +// Echo memory peak usage +echo date('H:i:s') , " Peak memory usage: " , (memory_get_peak_usage(true) / 1024 / 1024) , " MB" , EOL; + +// Echo done +echo date('H:i:s') , " Done writing files" , EOL; +echo 'Files have been created in ' , getcwd() , EOL; diff --git a/vendor/phpoffice/phpexcel/Examples/05featuredemo.inc.php b/vendor/phpoffice/phpexcel/Examples/05featuredemo.inc.php new file mode 100644 index 00000000..b543ca46 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Examples/05featuredemo.inc.php @@ -0,0 +1,394 @@ +<?php +/** + * PHPExcel + * + * Copyright (C) 2006 - 2014 PHPExcel + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * @category PHPExcel + * @package PHPExcel + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @version ##VERSION##, ##DATE## + */ + +/** Error reporting */ +error_reporting(E_ALL); + +/** Include PHPExcel */ +require_once dirname(__FILE__) . '/../Classes/PHPExcel.php'; + + +// Create new PHPExcel object +echo date('H:i:s') , " Create new PHPExcel object" , EOL; +$objPHPExcel = new PHPExcel(); + +// Set document properties +echo date('H:i:s') , " Set document properties" , EOL; +$objPHPExcel->getProperties()->setCreator("Maarten Balliauw") + ->setLastModifiedBy("Maarten Balliauw") + ->setTitle("Office 2007 XLSX Test Document") + ->setSubject("Office 2007 XLSX Test Document") + ->setDescription("Test document for Office 2007 XLSX, generated using PHP classes.") + ->setKeywords("office 2007 openxml php") + ->setCategory("Test result file"); + + +// Create a first sheet, representing sales data +echo date('H:i:s') , " Add some data" , EOL; +$objPHPExcel->setActiveSheetIndex(0); +$objPHPExcel->getActiveSheet()->setCellValue('B1', 'Invoice'); +$objPHPExcel->getActiveSheet()->setCellValue('D1', PHPExcel_Shared_Date::PHPToExcel( gmmktime(0,0,0,date('m'),date('d'),date('Y')) )); +$objPHPExcel->getActiveSheet()->getStyle('D1')->getNumberFormat()->setFormatCode(PHPExcel_Style_NumberFormat::FORMAT_DATE_XLSX15); +$objPHPExcel->getActiveSheet()->setCellValue('E1', '#12566'); + +$objPHPExcel->getActiveSheet()->setCellValue('A3', 'Product Id'); +$objPHPExcel->getActiveSheet()->setCellValue('B3', 'Description'); +$objPHPExcel->getActiveSheet()->setCellValue('C3', 'Price'); +$objPHPExcel->getActiveSheet()->setCellValue('D3', 'Amount'); +$objPHPExcel->getActiveSheet()->setCellValue('E3', 'Total'); + +$objPHPExcel->getActiveSheet()->setCellValue('A4', '1001'); +$objPHPExcel->getActiveSheet()->setCellValue('B4', 'PHP for dummies'); +$objPHPExcel->getActiveSheet()->setCellValue('C4', '20'); +$objPHPExcel->getActiveSheet()->setCellValue('D4', '1'); +$objPHPExcel->getActiveSheet()->setCellValue('E4', '=IF(D4<>"",C4*D4,"")'); + +$objPHPExcel->getActiveSheet()->setCellValue('A5', '1012'); +$objPHPExcel->getActiveSheet()->setCellValue('B5', 'OpenXML for dummies'); +$objPHPExcel->getActiveSheet()->setCellValue('C5', '22'); +$objPHPExcel->getActiveSheet()->setCellValue('D5', '2'); +$objPHPExcel->getActiveSheet()->setCellValue('E5', '=IF(D5<>"",C5*D5,"")'); + +$objPHPExcel->getActiveSheet()->setCellValue('E6', '=IF(D6<>"",C6*D6,"")'); +$objPHPExcel->getActiveSheet()->setCellValue('E7', '=IF(D7<>"",C7*D7,"")'); +$objPHPExcel->getActiveSheet()->setCellValue('E8', '=IF(D8<>"",C8*D8,"")'); +$objPHPExcel->getActiveSheet()->setCellValue('E9', '=IF(D9<>"",C9*D9,"")'); + +$objPHPExcel->getActiveSheet()->setCellValue('D11', 'Total excl.:'); +$objPHPExcel->getActiveSheet()->setCellValue('E11', '=SUM(E4:E9)'); + +$objPHPExcel->getActiveSheet()->setCellValue('D12', 'VAT:'); +$objPHPExcel->getActiveSheet()->setCellValue('E12', '=E11*0.21'); + +$objPHPExcel->getActiveSheet()->setCellValue('D13', 'Total incl.:'); +$objPHPExcel->getActiveSheet()->setCellValue('E13', '=E11+E12'); + +// Add comment +echo date('H:i:s') , " Add comments" , EOL; + +$objPHPExcel->getActiveSheet()->getComment('E11')->setAuthor('PHPExcel'); +$objCommentRichText = $objPHPExcel->getActiveSheet()->getComment('E11')->getText()->createTextRun('PHPExcel:'); +$objCommentRichText->getFont()->setBold(true); +$objPHPExcel->getActiveSheet()->getComment('E11')->getText()->createTextRun("\r\n"); +$objPHPExcel->getActiveSheet()->getComment('E11')->getText()->createTextRun('Total amount on the current invoice, excluding VAT.'); + +$objPHPExcel->getActiveSheet()->getComment('E12')->setAuthor('PHPExcel'); +$objCommentRichText = $objPHPExcel->getActiveSheet()->getComment('E12')->getText()->createTextRun('PHPExcel:'); +$objCommentRichText->getFont()->setBold(true); +$objPHPExcel->getActiveSheet()->getComment('E12')->getText()->createTextRun("\r\n"); +$objPHPExcel->getActiveSheet()->getComment('E12')->getText()->createTextRun('Total amount of VAT on the current invoice.'); + +$objPHPExcel->getActiveSheet()->getComment('E13')->setAuthor('PHPExcel'); +$objCommentRichText = $objPHPExcel->getActiveSheet()->getComment('E13')->getText()->createTextRun('PHPExcel:'); +$objCommentRichText->getFont()->setBold(true); +$objPHPExcel->getActiveSheet()->getComment('E13')->getText()->createTextRun("\r\n"); +$objPHPExcel->getActiveSheet()->getComment('E13')->getText()->createTextRun('Total amount on the current invoice, including VAT.'); +$objPHPExcel->getActiveSheet()->getComment('E13')->setWidth('100pt'); +$objPHPExcel->getActiveSheet()->getComment('E13')->setHeight('100pt'); +$objPHPExcel->getActiveSheet()->getComment('E13')->setMarginLeft('150pt'); +$objPHPExcel->getActiveSheet()->getComment('E13')->getFillColor()->setRGB('EEEEEE'); + + +// Add rich-text string +echo date('H:i:s') , " Add rich-text string" , EOL; +$objRichText = new PHPExcel_RichText(); +$objRichText->createText('This invoice is '); + +$objPayable = $objRichText->createTextRun('payable within thirty days after the end of the month'); +$objPayable->getFont()->setBold(true); +$objPayable->getFont()->setItalic(true); +$objPayable->getFont()->setColor( new PHPExcel_Style_Color( PHPExcel_Style_Color::COLOR_DARKGREEN ) ); + +$objRichText->createText(', unless specified otherwise on the invoice.'); + +$objPHPExcel->getActiveSheet()->getCell('A18')->setValue($objRichText); + +// Merge cells +echo date('H:i:s') , " Merge cells" , EOL; +$objPHPExcel->getActiveSheet()->mergeCells('A18:E22'); +$objPHPExcel->getActiveSheet()->mergeCells('A28:B28'); // Just to test... +$objPHPExcel->getActiveSheet()->unmergeCells('A28:B28'); // Just to test... + +// Protect cells +echo date('H:i:s') , " Protect cells" , EOL; +$objPHPExcel->getActiveSheet()->getProtection()->setSheet(true); // Needs to be set to true in order to enable any worksheet protection! +$objPHPExcel->getActiveSheet()->protectCells('A3:E13', 'PHPExcel'); + +// Set cell number formats +echo date('H:i:s') , " Set cell number formats" , EOL; +$objPHPExcel->getActiveSheet()->getStyle('E4:E13')->getNumberFormat()->setFormatCode(PHPExcel_Style_NumberFormat::FORMAT_CURRENCY_EUR_SIMPLE); + +// Set column widths +echo date('H:i:s') , " Set column widths" , EOL; +$objPHPExcel->getActiveSheet()->getColumnDimension('B')->setAutoSize(true); +$objPHPExcel->getActiveSheet()->getColumnDimension('D')->setWidth(12); +$objPHPExcel->getActiveSheet()->getColumnDimension('E')->setWidth(12); + +// Set fonts +echo date('H:i:s') , " Set fonts" , EOL; +$objPHPExcel->getActiveSheet()->getStyle('B1')->getFont()->setName('Candara'); +$objPHPExcel->getActiveSheet()->getStyle('B1')->getFont()->setSize(20); +$objPHPExcel->getActiveSheet()->getStyle('B1')->getFont()->setBold(true); +$objPHPExcel->getActiveSheet()->getStyle('B1')->getFont()->setUnderline(PHPExcel_Style_Font::UNDERLINE_SINGLE); +$objPHPExcel->getActiveSheet()->getStyle('B1')->getFont()->getColor()->setARGB(PHPExcel_Style_Color::COLOR_WHITE); + +$objPHPExcel->getActiveSheet()->getStyle('D1')->getFont()->getColor()->setARGB(PHPExcel_Style_Color::COLOR_WHITE); +$objPHPExcel->getActiveSheet()->getStyle('E1')->getFont()->getColor()->setARGB(PHPExcel_Style_Color::COLOR_WHITE); + +$objPHPExcel->getActiveSheet()->getStyle('D13')->getFont()->setBold(true); +$objPHPExcel->getActiveSheet()->getStyle('E13')->getFont()->setBold(true); + +// Set alignments +echo date('H:i:s') , " Set alignments" , EOL; +$objPHPExcel->getActiveSheet()->getStyle('D11')->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_RIGHT); +$objPHPExcel->getActiveSheet()->getStyle('D12')->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_RIGHT); +$objPHPExcel->getActiveSheet()->getStyle('D13')->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_RIGHT); + +$objPHPExcel->getActiveSheet()->getStyle('A18')->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_JUSTIFY); +$objPHPExcel->getActiveSheet()->getStyle('A18')->getAlignment()->setVertical(PHPExcel_Style_Alignment::VERTICAL_CENTER); + +$objPHPExcel->getActiveSheet()->getStyle('B5')->getAlignment()->setShrinkToFit(true); + +// Set thin black border outline around column +echo date('H:i:s') , " Set thin black border outline around column" , EOL; +$styleThinBlackBorderOutline = array( + 'borders' => array( + 'outline' => array( + 'style' => PHPExcel_Style_Border::BORDER_THIN, + 'color' => array('argb' => 'FF000000'), + ), + ), +); +$objPHPExcel->getActiveSheet()->getStyle('A4:E10')->applyFromArray($styleThinBlackBorderOutline); + + +// Set thick brown border outline around "Total" +echo date('H:i:s') , " Set thick brown border outline around Total" , EOL; +$styleThickBrownBorderOutline = array( + 'borders' => array( + 'outline' => array( + 'style' => PHPExcel_Style_Border::BORDER_THICK, + 'color' => array('argb' => 'FF993300'), + ), + ), +); +$objPHPExcel->getActiveSheet()->getStyle('D13:E13')->applyFromArray($styleThickBrownBorderOutline); + +// Set fills +echo date('H:i:s') , " Set fills" , EOL; +$objPHPExcel->getActiveSheet()->getStyle('A1:E1')->getFill()->setFillType(PHPExcel_Style_Fill::FILL_SOLID); +$objPHPExcel->getActiveSheet()->getStyle('A1:E1')->getFill()->getStartColor()->setARGB('FF808080'); + +// Set style for header row using alternative method +echo date('H:i:s') , " Set style for header row using alternative method" , EOL; +$objPHPExcel->getActiveSheet()->getStyle('A3:E3')->applyFromArray( + array( + 'font' => array( + 'bold' => true + ), + 'alignment' => array( + 'horizontal' => PHPExcel_Style_Alignment::HORIZONTAL_RIGHT, + ), + 'borders' => array( + 'top' => array( + 'style' => PHPExcel_Style_Border::BORDER_THIN + ) + ), + 'fill' => array( + 'type' => PHPExcel_Style_Fill::FILL_GRADIENT_LINEAR, + 'rotation' => 90, + 'startcolor' => array( + 'argb' => 'FFA0A0A0' + ), + 'endcolor' => array( + 'argb' => 'FFFFFFFF' + ) + ) + ) +); + +$objPHPExcel->getActiveSheet()->getStyle('A3')->applyFromArray( + array( + 'alignment' => array( + 'horizontal' => PHPExcel_Style_Alignment::HORIZONTAL_LEFT, + ), + 'borders' => array( + 'left' => array( + 'style' => PHPExcel_Style_Border::BORDER_THIN + ) + ) + ) +); + +$objPHPExcel->getActiveSheet()->getStyle('B3')->applyFromArray( + array( + 'alignment' => array( + 'horizontal' => PHPExcel_Style_Alignment::HORIZONTAL_LEFT, + ) + ) +); + +$objPHPExcel->getActiveSheet()->getStyle('E3')->applyFromArray( + array( + 'borders' => array( + 'right' => array( + 'style' => PHPExcel_Style_Border::BORDER_THIN + ) + ) + ) +); + +// Unprotect a cell +echo date('H:i:s') , " Unprotect a cell" , EOL; +$objPHPExcel->getActiveSheet()->getStyle('B1')->getProtection()->setLocked(PHPExcel_Style_Protection::PROTECTION_UNPROTECTED); + +// Add a hyperlink to the sheet +echo date('H:i:s') , " Add a hyperlink to an external website" , EOL; +$objPHPExcel->getActiveSheet()->setCellValue('E26', 'www.phpexcel.net'); +$objPHPExcel->getActiveSheet()->getCell('E26')->getHyperlink()->setUrl('http://www.phpexcel.net'); +$objPHPExcel->getActiveSheet()->getCell('E26')->getHyperlink()->setTooltip('Navigate to website'); +$objPHPExcel->getActiveSheet()->getStyle('E26')->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_RIGHT); + +echo date('H:i:s') , " Add a hyperlink to another cell on a different worksheet within the workbook" , EOL; +$objPHPExcel->getActiveSheet()->setCellValue('E27', 'Terms and conditions'); +$objPHPExcel->getActiveSheet()->getCell('E27')->getHyperlink()->setUrl("sheet://'Terms and conditions'!A1"); +$objPHPExcel->getActiveSheet()->getCell('E27')->getHyperlink()->setTooltip('Review terms and conditions'); +$objPHPExcel->getActiveSheet()->getStyle('E27')->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_RIGHT); + +// Add a drawing to the worksheet +echo date('H:i:s') , " Add a drawing to the worksheet" , EOL; +$objDrawing = new PHPExcel_Worksheet_Drawing(); +$objDrawing->setName('Logo'); +$objDrawing->setDescription('Logo'); +$objDrawing->setPath('./images/officelogo.jpg'); +$objDrawing->setHeight(36); +$objDrawing->setWorksheet($objPHPExcel->getActiveSheet()); + +// Add a drawing to the worksheet +echo date('H:i:s') , " Add a drawing to the worksheet" , EOL; +$objDrawing = new PHPExcel_Worksheet_Drawing(); +$objDrawing->setName('Paid'); +$objDrawing->setDescription('Paid'); +$objDrawing->setPath('./images/paid.png'); +$objDrawing->setCoordinates('B15'); +$objDrawing->setOffsetX(110); +$objDrawing->setRotation(25); +$objDrawing->getShadow()->setVisible(true); +$objDrawing->getShadow()->setDirection(45); +$objDrawing->setWorksheet($objPHPExcel->getActiveSheet()); + +// Add a drawing to the worksheet +echo date('H:i:s') , " Add a drawing to the worksheet" , EOL; +$objDrawing = new PHPExcel_Worksheet_Drawing(); +$objDrawing->setName('PHPExcel logo'); +$objDrawing->setDescription('PHPExcel logo'); +$objDrawing->setPath('./images/phpexcel_logo.gif'); +$objDrawing->setHeight(36); +$objDrawing->setCoordinates('D24'); +$objDrawing->setOffsetX(10); +$objDrawing->setWorksheet($objPHPExcel->getActiveSheet()); + +// Play around with inserting and removing rows and columns +echo date('H:i:s') , " Play around with inserting and removing rows and columns" , EOL; +$objPHPExcel->getActiveSheet()->insertNewRowBefore(6, 10); +$objPHPExcel->getActiveSheet()->removeRow(6, 10); +$objPHPExcel->getActiveSheet()->insertNewColumnBefore('E', 5); +$objPHPExcel->getActiveSheet()->removeColumn('E', 5); + +// Set header and footer. When no different headers for odd/even are used, odd header is assumed. +echo date('H:i:s') , " Set header/footer" , EOL; +$objPHPExcel->getActiveSheet()->getHeaderFooter()->setOddHeader('&L&BInvoice&RPrinted on &D'); +$objPHPExcel->getActiveSheet()->getHeaderFooter()->setOddFooter('&L&B' . $objPHPExcel->getProperties()->getTitle() . '&RPage &P of &N'); + +// Set page orientation and size +echo date('H:i:s') , " Set page orientation and size" , EOL; +$objPHPExcel->getActiveSheet()->getPageSetup()->setOrientation(PHPExcel_Worksheet_PageSetup::ORIENTATION_PORTRAIT); +$objPHPExcel->getActiveSheet()->getPageSetup()->setPaperSize(PHPExcel_Worksheet_PageSetup::PAPERSIZE_A4); + +// Rename first worksheet +echo date('H:i:s') , " Rename first worksheet" , EOL; +$objPHPExcel->getActiveSheet()->setTitle('Invoice'); + + +// Create a new worksheet, after the default sheet +echo date('H:i:s') , " Create a second Worksheet object" , EOL; +$objPHPExcel->createSheet(); + +// Llorem ipsum... +$sLloremIpsum = 'Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Vivamus eget ante. Sed cursus nunc semper tortor. Aliquam luctus purus non elit. Fusce vel elit commodo sapien dignissim dignissim. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Curabitur accumsan magna sed massa. Nullam bibendum quam ac ipsum. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Proin augue. Praesent malesuada justo sed orci. Pellentesque lacus ligula, sodales quis, ultricies a, ultricies vitae, elit. Sed luctus consectetuer dolor. Vivamus vel sem ut nisi sodales accumsan. Nunc et felis. Suspendisse semper viverra odio. Morbi at odio. Integer a orci a purus venenatis molestie. Nam mattis. Praesent rhoncus, nisi vel mattis auctor, neque nisi faucibus sem, non dapibus elit pede ac nisl. Cras turpis.'; + +// Add some data to the second sheet, resembling some different data types +echo date('H:i:s') , " Add some data" , EOL; +$objPHPExcel->setActiveSheetIndex(1); +$objPHPExcel->getActiveSheet()->setCellValue('A1', 'Terms and conditions'); +$objPHPExcel->getActiveSheet()->setCellValue('A3', $sLloremIpsum); +$objPHPExcel->getActiveSheet()->setCellValue('A4', $sLloremIpsum); +$objPHPExcel->getActiveSheet()->setCellValue('A5', $sLloremIpsum); +$objPHPExcel->getActiveSheet()->setCellValue('A6', $sLloremIpsum); + +// Set the worksheet tab color +echo date('H:i:s') , " Set the worksheet tab color" , EOL; +$objPHPExcel->getActiveSheet()->getTabColor()->setARGB('FF0094FF');; + +// Set alignments +echo date('H:i:s') , " Set alignments" , EOL; +$objPHPExcel->getActiveSheet()->getStyle('A3:A6')->getAlignment()->setWrapText(true); + +// Set column widths +echo date('H:i:s') , " Set column widths" , EOL; +$objPHPExcel->getActiveSheet()->getColumnDimension('A')->setWidth(80); + +// Set fonts +echo date('H:i:s') , " Set fonts" , EOL; +$objPHPExcel->getActiveSheet()->getStyle('A1')->getFont()->setName('Candara'); +$objPHPExcel->getActiveSheet()->getStyle('A1')->getFont()->setSize(20); +$objPHPExcel->getActiveSheet()->getStyle('A1')->getFont()->setBold(true); +$objPHPExcel->getActiveSheet()->getStyle('A1')->getFont()->setUnderline(PHPExcel_Style_Font::UNDERLINE_SINGLE); + +$objPHPExcel->getActiveSheet()->getStyle('A3:A6')->getFont()->setSize(8); + +// Add a drawing to the worksheet +echo date('H:i:s') , " Add a drawing to the worksheet" , EOL; +$objDrawing = new PHPExcel_Worksheet_Drawing(); +$objDrawing->setName('Terms and conditions'); +$objDrawing->setDescription('Terms and conditions'); +$objDrawing->setPath('./images/termsconditions.jpg'); +$objDrawing->setCoordinates('B14'); +$objDrawing->setWorksheet($objPHPExcel->getActiveSheet()); + +// Set page orientation and size +echo date('H:i:s') , " Set page orientation and size" , EOL; +$objPHPExcel->getActiveSheet()->getPageSetup()->setOrientation(PHPExcel_Worksheet_PageSetup::ORIENTATION_LANDSCAPE); +$objPHPExcel->getActiveSheet()->getPageSetup()->setPaperSize(PHPExcel_Worksheet_PageSetup::PAPERSIZE_A4); + +// Rename second worksheet +echo date('H:i:s') , " Rename second worksheet" , EOL; +$objPHPExcel->getActiveSheet()->setTitle('Terms and conditions'); + + +// Set active sheet index to the first sheet, so Excel opens this as the first sheet +$objPHPExcel->setActiveSheetIndex(0); diff --git a/vendor/phpoffice/phpexcel/Examples/05featuredemo.php b/vendor/phpoffice/phpexcel/Examples/05featuredemo.php new file mode 100644 index 00000000..66d4980e --- /dev/null +++ b/vendor/phpoffice/phpexcel/Examples/05featuredemo.php @@ -0,0 +1,78 @@ +<?php +/** + * PHPExcel + * + * Copyright (C) 2006 - 2014 PHPExcel + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * @category PHPExcel + * @package PHPExcel + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @version ##VERSION##, ##DATE## + */ + +/** Error reporting */ +error_reporting(E_ALL); +ini_set('display_errors', TRUE); +ini_set('display_startup_errors', TRUE); + +define('EOL',(PHP_SAPI == 'cli') ? PHP_EOL : '<br />'); + +date_default_timezone_set('Europe/London'); + +include "05featuredemo.inc.php"; + +/** Include PHPExcel_IOFactory */ +require_once dirname(__FILE__) . '/../Classes/PHPExcel/IOFactory.php'; + + +// Save Excel 2007 file +echo date('H:i:s') , " Write to Excel2007 format" , EOL; +$callStartTime = microtime(true); + +$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007'); +$objWriter->save(str_replace('.php', '.xlsx', __FILE__)); +$callEndTime = microtime(true); +$callTime = $callEndTime - $callStartTime; + +echo date('H:i:s') , " File written to " , str_replace('.php', '.xlsx', pathinfo(__FILE__, PATHINFO_BASENAME)) , EOL; +echo 'Call time to write Workbook was ' , sprintf('%.4f',$callTime) , " seconds" , EOL; +// Echo memory usage +echo date('H:i:s') , ' Current memory usage: ' , (memory_get_usage(true) / 1024 / 1024) , " MB" , EOL; + + +// Save Excel 95 file +echo date('H:i:s') , " Write to Excel5 format" , EOL; +$callStartTime = microtime(true); + +$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5'); +$objWriter->save(str_replace('.php', '.xls', __FILE__)); +$callEndTime = microtime(true); +$callTime = $callEndTime - $callStartTime; + +echo date('H:i:s') , " File written to " , str_replace('.php', '.xls', pathinfo(__FILE__, PATHINFO_BASENAME)) , EOL; +echo 'Call time to write Workbook was ' , sprintf('%.4f',$callTime) , " seconds" , EOL; +// Echo memory usage +echo date('H:i:s') , ' Current memory usage: ' , (memory_get_usage(true) / 1024 / 1024) , " MB" , EOL; + + +// Echo memory peak usage +echo date('H:i:s') , " Peak memory usage: " , (memory_get_peak_usage(true) / 1024 / 1024) , " MB" , EOL; + +// Echo done +echo date('H:i:s') , " Done writing files" , EOL; +echo 'Files have been created in ' , getcwd() , EOL; diff --git a/vendor/phpoffice/phpexcel/Examples/06largescale-with-cellcaching-sqlite.php b/vendor/phpoffice/phpexcel/Examples/06largescale-with-cellcaching-sqlite.php new file mode 100644 index 00000000..cbdb59b9 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Examples/06largescale-with-cellcaching-sqlite.php @@ -0,0 +1,129 @@ +<?php +/** + * PHPExcel + * + * Copyright (C) 2006 - 2014 PHPExcel + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * @category PHPExcel + * @package PHPExcel + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @version ##VERSION##, ##DATE## + */ + +/** Error reporting */ +error_reporting(E_ALL); +ini_set('display_errors', TRUE); +ini_set('display_startup_errors', TRUE); + +define('EOL',(PHP_SAPI == 'cli') ? PHP_EOL : '<br />'); + +date_default_timezone_set('Europe/London'); + +/** Include PHPExcel */ +require_once dirname(__FILE__) . '/../Classes/PHPExcel.php'; + +$cacheMethod = PHPExcel_CachedObjectStorageFactory::cache_to_sqlite; +if (PHPExcel_Settings::setCacheStorageMethod($cacheMethod)) { + echo date('H:i:s') , " Enable Cell Caching using " , $cacheMethod , " method" , EOL; +} else { + echo date('H:i:s') , " Unable to set Cell Caching using " , $cacheMethod , " method, reverting to memory" , EOL; +} + + +// Create new PHPExcel object +echo date('H:i:s') , " Create new PHPExcel object" , EOL; +$objPHPExcel = new PHPExcel(); + +// Set document properties +echo date('H:i:s') , " Set properties" , EOL; +$objPHPExcel->getProperties()->setCreator("Maarten Balliauw") + ->setLastModifiedBy("Maarten Balliauw") + ->setTitle("Office 2007 XLSX Test Document") + ->setSubject("Office 2007 XLSX Test Document") + ->setDescription("Test document for Office 2007 XLSX, generated using PHP classes.") + ->setKeywords("office 2007 openxml php") + ->setCategory("Test result file"); + + +// Create a first sheet +echo date('H:i:s') , " Add data" , EOL; +$objPHPExcel->setActiveSheetIndex(0); +$objPHPExcel->getActiveSheet()->setCellValue('A1', "Firstname"); +$objPHPExcel->getActiveSheet()->setCellValue('B1', "Lastname"); +$objPHPExcel->getActiveSheet()->setCellValue('C1', "Phone"); +$objPHPExcel->getActiveSheet()->setCellValue('D1', "Fax"); +$objPHPExcel->getActiveSheet()->setCellValue('E1', "Is Client ?"); + + +// Hide "Phone" and "fax" column +echo date('H:i:s') , " Hide 'Phone' and 'fax' columns" , EOL; +$objPHPExcel->getActiveSheet()->getColumnDimension('C')->setVisible(false); +$objPHPExcel->getActiveSheet()->getColumnDimension('D')->setVisible(false); + + +// Set outline levels +echo date('H:i:s') , " Set outline levels" , EOL; +$objPHPExcel->getActiveSheet()->getColumnDimension('E')->setOutlineLevel(1) + ->setVisible(false) + ->setCollapsed(true); + +// Freeze panes +echo date('H:i:s') , " Freeze panes" , EOL; +$objPHPExcel->getActiveSheet()->freezePane('A2'); + + +// Rows to repeat at top +echo date('H:i:s') , " Rows to repeat at top" , EOL; +$objPHPExcel->getActiveSheet()->getPageSetup()->setRowsToRepeatAtTopByStartAndEnd(1, 1); + + +// Add data +for ($i = 2; $i <= 5000; $i++) { + $objPHPExcel->getActiveSheet()->setCellValue('A' . $i, "FName $i") + ->setCellValue('B' . $i, "LName $i") + ->setCellValue('C' . $i, "PhoneNo $i") + ->setCellValue('D' . $i, "FaxNo $i") + ->setCellValue('E' . $i, true); +} + + +// Set active sheet index to the first sheet, so Excel opens this as the first sheet +$objPHPExcel->setActiveSheetIndex(0); + + +// Save Excel 2007 file +echo date('H:i:s') , " Write to Excel2007 format" , EOL; +$callStartTime = microtime(true); + +$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007'); +$objWriter->save(str_replace('.php', '.xlsx', __FILE__)); +$callEndTime = microtime(true); +$callTime = $callEndTime - $callStartTime; + +echo date('H:i:s') , " File written to " , str_replace('.php', '.xlsx', pathinfo(__FILE__, PATHINFO_BASENAME)) , EOL; +echo 'Call time to write Workbook was ' , sprintf('%.4f',$callTime) , " seconds" , EOL; +// Echo memory usage +echo date('H:i:s') , ' Current memory usage: ' , (memory_get_usage(true) / 1024 / 1024) , " MB" , EOL; + + +// Echo memory peak usage +echo date('H:i:s') , " Peak memory usage: " , (memory_get_peak_usage(true) / 1024 / 1024) , " MB" , EOL; + +// Echo done +echo date('H:i:s') , " Done writing file" , EOL; +echo 'File has been created in ' , getcwd() , EOL; diff --git a/vendor/phpoffice/phpexcel/Examples/06largescale-with-cellcaching-sqlite3.php b/vendor/phpoffice/phpexcel/Examples/06largescale-with-cellcaching-sqlite3.php new file mode 100644 index 00000000..ca04f85e --- /dev/null +++ b/vendor/phpoffice/phpexcel/Examples/06largescale-with-cellcaching-sqlite3.php @@ -0,0 +1,129 @@ +<?php +/** + * PHPExcel + * + * Copyright (C) 2006 - 2014 PHPExcel + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * @category PHPExcel + * @package PHPExcel + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @version ##VERSION##, ##DATE## + */ + +/** Error reporting */ +error_reporting(E_ALL); +ini_set('display_errors', TRUE); +ini_set('display_startup_errors', TRUE); + +define('EOL',(PHP_SAPI == 'cli') ? PHP_EOL : '<br />'); + +date_default_timezone_set('Europe/London'); + +/** Include PHPExcel */ +require_once dirname(__FILE__) . '/../Classes/PHPExcel.php'; + +$cacheMethod = PHPExcel_CachedObjectStorageFactory::cache_to_sqlite3; +if (PHPExcel_Settings::setCacheStorageMethod($cacheMethod)) { + echo date('H:i:s') , " Enable Cell Caching using " , $cacheMethod , " method" , EOL; +} else { + echo date('H:i:s') , " Unable to set Cell Caching using " , $cacheMethod , " method, reverting to memory" , EOL; +} + + +// Create new PHPExcel object +echo date('H:i:s') , " Create new PHPExcel object" , EOL; +$objPHPExcel = new PHPExcel(); + +// Set document properties +echo date('H:i:s') , " Set properties" , EOL; +$objPHPExcel->getProperties()->setCreator("Maarten Balliauw") + ->setLastModifiedBy("Maarten Balliauw") + ->setTitle("Office 2007 XLSX Test Document") + ->setSubject("Office 2007 XLSX Test Document") + ->setDescription("Test document for Office 2007 XLSX, generated using PHP classes.") + ->setKeywords("office 2007 openxml php") + ->setCategory("Test result file"); + + +// Create a first sheet +echo date('H:i:s') , " Add data" , EOL; +$objPHPExcel->setActiveSheetIndex(0); +$objPHPExcel->getActiveSheet()->setCellValue('A1', "Firstname"); +$objPHPExcel->getActiveSheet()->setCellValue('B1', "Lastname"); +$objPHPExcel->getActiveSheet()->setCellValue('C1', "Phone"); +$objPHPExcel->getActiveSheet()->setCellValue('D1', "Fax"); +$objPHPExcel->getActiveSheet()->setCellValue('E1', "Is Client ?"); + + +// Hide "Phone" and "fax" column +echo date('H:i:s') , " Hide 'Phone' and 'fax' columns" , EOL; +$objPHPExcel->getActiveSheet()->getColumnDimension('C')->setVisible(false); +$objPHPExcel->getActiveSheet()->getColumnDimension('D')->setVisible(false); + + +// Set outline levels +echo date('H:i:s') , " Set outline levels" , EOL; +$objPHPExcel->getActiveSheet()->getColumnDimension('E')->setOutlineLevel(1) + ->setVisible(false) + ->setCollapsed(true); + +// Freeze panes +echo date('H:i:s') , " Freeze panes" , EOL; +$objPHPExcel->getActiveSheet()->freezePane('A2'); + + +// Rows to repeat at top +echo date('H:i:s') , " Rows to repeat at top" , EOL; +$objPHPExcel->getActiveSheet()->getPageSetup()->setRowsToRepeatAtTopByStartAndEnd(1, 1); + + +// Add data +for ($i = 2; $i <= 5000; $i++) { + $objPHPExcel->getActiveSheet()->setCellValue('A' . $i, "FName $i") + ->setCellValue('B' . $i, "LName $i") + ->setCellValue('C' . $i, "PhoneNo $i") + ->setCellValue('D' . $i, "FaxNo $i") + ->setCellValue('E' . $i, true); +} + + +// Set active sheet index to the first sheet, so Excel opens this as the first sheet +$objPHPExcel->setActiveSheetIndex(0); + + +// Save Excel 2007 file +echo date('H:i:s') , " Write to Excel2007 format" , EOL; +$callStartTime = microtime(true); + +$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007'); +$objWriter->save(str_replace('.php', '.xlsx', __FILE__)); +$callEndTime = microtime(true); +$callTime = $callEndTime - $callStartTime; + +echo date('H:i:s') , " File written to " , str_replace('.php', '.xlsx', pathinfo(__FILE__, PATHINFO_BASENAME)) , EOL; +echo 'Call time to write Workbook was ' , sprintf('%.4f',$callTime) , " seconds" , EOL; +// Echo memory usage +echo date('H:i:s') , ' Current memory usage: ' , (memory_get_usage(true) / 1024 / 1024) , " MB" , EOL; + + +// Echo memory peak usage +echo date('H:i:s') , " Peak memory usage: " , (memory_get_peak_usage(true) / 1024 / 1024) , " MB" , EOL; + +// Echo done +echo date('H:i:s') , " Done writing file" , EOL; +echo 'File has been created in ' , getcwd() , EOL; diff --git a/vendor/phpoffice/phpexcel/Examples/06largescale-with-cellcaching.php b/vendor/phpoffice/phpexcel/Examples/06largescale-with-cellcaching.php new file mode 100644 index 00000000..aa23b8cb --- /dev/null +++ b/vendor/phpoffice/phpexcel/Examples/06largescale-with-cellcaching.php @@ -0,0 +1,128 @@ +<?php +/** + * PHPExcel + * + * Copyright (C) 2006 - 2014 PHPExcel + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * @category PHPExcel + * @package PHPExcel + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @version ##VERSION##, ##DATE## + */ + +/** Error reporting */ +error_reporting(E_ALL); +ini_set('display_errors', TRUE); +ini_set('display_startup_errors', TRUE); + +define('EOL',(PHP_SAPI == 'cli') ? PHP_EOL : '<br />'); + +date_default_timezone_set('Europe/London'); + +/** Include PHPExcel */ +require_once dirname(__FILE__) . '/../Classes/PHPExcel.php'; + +$cacheMethod = PHPExcel_CachedObjectStorageFactory::cache_in_memory_gzip; +if (!PHPExcel_Settings::setCacheStorageMethod($cacheMethod)) { + die($cacheMethod . " caching method is not available" . EOL); +} +echo date('H:i:s') , " Enable Cell Caching using " , $cacheMethod , " method" , EOL; + + +// Create new PHPExcel object +echo date('H:i:s') , " Create new PHPExcel object" , EOL; +$objPHPExcel = new PHPExcel(); + +// Set document properties +echo date('H:i:s') , " Set properties" , EOL; +$objPHPExcel->getProperties()->setCreator("Maarten Balliauw") + ->setLastModifiedBy("Maarten Balliauw") + ->setTitle("Office 2007 XLSX Test Document") + ->setSubject("Office 2007 XLSX Test Document") + ->setDescription("Test document for Office 2007 XLSX, generated using PHP classes.") + ->setKeywords("office 2007 openxml php") + ->setCategory("Test result file"); + + +// Create a first sheet +echo date('H:i:s') , " Add data" , EOL; +$objPHPExcel->setActiveSheetIndex(0); +$objPHPExcel->getActiveSheet()->setCellValue('A1', "Firstname"); +$objPHPExcel->getActiveSheet()->setCellValue('B1', "Lastname"); +$objPHPExcel->getActiveSheet()->setCellValue('C1', "Phone"); +$objPHPExcel->getActiveSheet()->setCellValue('D1', "Fax"); +$objPHPExcel->getActiveSheet()->setCellValue('E1', "Is Client ?"); + + +// Hide "Phone" and "fax" column +echo date('H:i:s') , " Hide 'Phone' and 'fax' columns" , EOL; +$objPHPExcel->getActiveSheet()->getColumnDimension('C')->setVisible(false); +$objPHPExcel->getActiveSheet()->getColumnDimension('D')->setVisible(false); + + +// Set outline levels +echo date('H:i:s') , " Set outline levels" , EOL; +$objPHPExcel->getActiveSheet()->getColumnDimension('E')->setOutlineLevel(1) + ->setVisible(false) + ->setCollapsed(true); + +// Freeze panes +echo date('H:i:s') , " Freeze panes" , EOL; +$objPHPExcel->getActiveSheet()->freezePane('A2'); + + +// Rows to repeat at top +echo date('H:i:s') , " Rows to repeat at top" , EOL; +$objPHPExcel->getActiveSheet()->getPageSetup()->setRowsToRepeatAtTopByStartAndEnd(1, 1); + + +// Add data +for ($i = 2; $i <= 5000; $i++) { + $objPHPExcel->getActiveSheet()->setCellValue('A' . $i, "FName $i") + ->setCellValue('B' . $i, "LName $i") + ->setCellValue('C' . $i, "PhoneNo $i") + ->setCellValue('D' . $i, "FaxNo $i") + ->setCellValue('E' . $i, true); +} + + +// Set active sheet index to the first sheet, so Excel opens this as the first sheet +$objPHPExcel->setActiveSheetIndex(0); + + +// Save Excel 2007 file +echo date('H:i:s') , " Write to Excel2007 format" , EOL; +$callStartTime = microtime(true); + +$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007'); +$objWriter->save(str_replace('.php', '.xlsx', __FILE__)); +$callEndTime = microtime(true); +$callTime = $callEndTime - $callStartTime; + +echo date('H:i:s') , " File written to " , str_replace('.php', '.xlsx', pathinfo(__FILE__, PATHINFO_BASENAME)) , EOL; +echo 'Call time to write Workbook was ' , sprintf('%.4f',$callTime) , " seconds" , EOL; +// Echo memory usage +echo date('H:i:s') , ' Current memory usage: ' , (memory_get_usage(true) / 1024 / 1024) , " MB" , EOL; + + +// Echo memory peak usage +echo date('H:i:s') , " Peak memory usage: " , (memory_get_peak_usage(true) / 1024 / 1024) , " MB" , EOL; + +// Echo done +echo date('H:i:s') , " Done writing file" , EOL; +echo 'File has been created in ' , getcwd() , EOL; diff --git a/vendor/phpoffice/phpexcel/Examples/06largescale-xls.php b/vendor/phpoffice/phpexcel/Examples/06largescale-xls.php new file mode 100644 index 00000000..00137ad8 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Examples/06largescale-xls.php @@ -0,0 +1,136 @@ +<?php +/** + * PHPExcel + * + * Copyright (C) 2006 - 2014 PHPExcel + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * @category PHPExcel + * @package PHPExcel + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @version ##VERSION##, ##DATE## + */ + +/** Error reporting */ +error_reporting(E_ALL); +ini_set('display_errors', TRUE); +ini_set('display_startup_errors', TRUE); + +define('EOL',(PHP_SAPI == 'cli') ? PHP_EOL : '<br />'); + +date_default_timezone_set('Europe/London'); + +/** Include PHPExcel */ +require_once dirname(__FILE__) . '/../Classes/PHPExcel.php'; + + +/* +After doing some test, I've got these results benchmarked +for writing to Excel2007: + + Number of rows Seconds to generate + 200 3 + 500 4 + 1000 6 + 2000 12 + 4000 36 + 8000 64 + 15000 465 +*/ + +// Create new PHPExcel object +echo date('H:i:s') , " Create new PHPExcel object" , EOL; +$objPHPExcel = new PHPExcel(); + +// Set document properties +echo date('H:i:s') , " Set properties" , EOL; +$objPHPExcel->getProperties()->setCreator("Maarten Balliauw") + ->setLastModifiedBy("Maarten Balliauw") + ->setTitle("Office 2007 XLSX Test Document") + ->setSubject("Office 2007 XLSX Test Document") + ->setDescription("Test document for Office 2007 XLSX, generated using PHP classes.") + ->setKeywords("office 2007 openxml php") + ->setCategory("Test result file"); + + +// Create a first sheet +echo date('H:i:s') , " Add data" , EOL; +$objPHPExcel->setActiveSheetIndex(0); +$objPHPExcel->getActiveSheet()->setCellValue('A1', "Firstname"); +$objPHPExcel->getActiveSheet()->setCellValue('B1', "Lastname"); +$objPHPExcel->getActiveSheet()->setCellValue('C1', "Phone"); +$objPHPExcel->getActiveSheet()->setCellValue('D1', "Fax"); +$objPHPExcel->getActiveSheet()->setCellValue('E1', "Is Client ?"); + + +// Hide "Phone" and "fax" column +echo date('H:i:s') , " Hide 'Phone' and 'fax' columns" , EOL; +$objPHPExcel->getActiveSheet()->getColumnDimension('C')->setVisible(false); +$objPHPExcel->getActiveSheet()->getColumnDimension('D')->setVisible(false); + + +// Set outline levels +echo date('H:i:s') , " Set outline levels" , EOL; +$objPHPExcel->getActiveSheet()->getColumnDimension('E')->setOutlineLevel(1) + ->setVisible(false) + ->setCollapsed(true); + +// Freeze panes +echo date('H:i:s') , " Freeze panes" , EOL; +$objPHPExcel->getActiveSheet()->freezePane('A2'); + + +// Rows to repeat at top +echo date('H:i:s') , " Rows to repeat at top" , EOL; +$objPHPExcel->getActiveSheet()->getPageSetup()->setRowsToRepeatAtTopByStartAndEnd(1, 1); + + +// Add data +for ($i = 2; $i <= 5000; $i++) { + $objPHPExcel->getActiveSheet()->setCellValue('A' . $i, "FName $i") + ->setCellValue('B' . $i, "LName $i") + ->setCellValue('C' . $i, "PhoneNo $i") + ->setCellValue('D' . $i, "FaxNo $i") + ->setCellValue('E' . $i, true); +} + + +// Set active sheet index to the first sheet, so Excel opens this as the first sheet +$objPHPExcel->setActiveSheetIndex(0); + + +// Save Excel 95 file +echo date('H:i:s') , " Write to Excel5 format" , EOL; +$callStartTime = microtime(true); + +$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5'); +$objWriter->save(str_replace('.php', '.xls', __FILE__)); +$callEndTime = microtime(true); +$callTime = $callEndTime - $callStartTime; + +echo date('H:i:s') , " File written to " , str_replace('.php', '.xls', pathinfo(__FILE__, PATHINFO_BASENAME)) , EOL; +echo 'Call time to write Workbook was ' , sprintf('%.4f',$callTime) , " seconds" , EOL; +// Echo memory usage +echo date('H:i:s') , ' Current memory usage: ' , (memory_get_usage(true) / 1024 / 1024) , " MB" , EOL; + + +// Echo memory peak usage +echo date('H:i:s') , " Peak memory usage: " , (memory_get_peak_usage(true) / 1024 / 1024) , " MB" , EOL; + +// Echo done +echo date('H:i:s') , " Done writing file" , EOL; +echo 'File has been created in ' , getcwd() , EOL; diff --git a/vendor/phpoffice/phpexcel/Examples/06largescale.php b/vendor/phpoffice/phpexcel/Examples/06largescale.php new file mode 100644 index 00000000..b0fa4404 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Examples/06largescale.php @@ -0,0 +1,136 @@ +<?php +/** + * PHPExcel + * + * Copyright (C) 2006 - 2014 PHPExcel + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * @category PHPExcel + * @package PHPExcel + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @version ##VERSION##, ##DATE## + */ + +/** Error reporting */ +error_reporting(E_ALL); +ini_set('display_errors', TRUE); +ini_set('display_startup_errors', TRUE); + +define('EOL',(PHP_SAPI == 'cli') ? PHP_EOL : '<br />'); + +date_default_timezone_set('Europe/London'); + +/** Include PHPExcel */ +require_once dirname(__FILE__) . '/../Classes/PHPExcel.php'; + + +/* +After doing some test, I've got these results benchmarked +for writing to Excel2007: + + Number of rows Seconds to generate + 200 3 + 500 4 + 1000 6 + 2000 12 + 4000 36 + 8000 64 + 15000 465 +*/ + +// Create new PHPExcel object +echo date('H:i:s') , " Create new PHPExcel object" , EOL; +$objPHPExcel = new PHPExcel(); + +// Set document properties +echo date('H:i:s') , " Set properties" , EOL; +$objPHPExcel->getProperties()->setCreator("Maarten Balliauw") + ->setLastModifiedBy("Maarten Balliauw") + ->setTitle("Office 2007 XLSX Test Document") + ->setSubject("Office 2007 XLSX Test Document") + ->setDescription("Test document for Office 2007 XLSX, generated using PHP classes.") + ->setKeywords("office 2007 openxml php") + ->setCategory("Test result file"); + + +// Create a first sheet +echo date('H:i:s') , " Add data" , EOL; +$objPHPExcel->setActiveSheetIndex(0); +$objPHPExcel->getActiveSheet()->setCellValue('A1', "Firstname"); +$objPHPExcel->getActiveSheet()->setCellValue('B1', "Lastname"); +$objPHPExcel->getActiveSheet()->setCellValue('C1', "Phone"); +$objPHPExcel->getActiveSheet()->setCellValue('D1', "Fax"); +$objPHPExcel->getActiveSheet()->setCellValue('E1', "Is Client ?"); + + +// Hide "Phone" and "fax" column +echo date('H:i:s') , " Hide 'Phone' and 'fax' columns" , EOL; +$objPHPExcel->getActiveSheet()->getColumnDimension('C')->setVisible(false); +$objPHPExcel->getActiveSheet()->getColumnDimension('D')->setVisible(false); + + +// Set outline levels +echo date('H:i:s') , " Set outline levels" , EOL; +$objPHPExcel->getActiveSheet()->getColumnDimension('E')->setOutlineLevel(1) + ->setVisible(false) + ->setCollapsed(true); + +// Freeze panes +echo date('H:i:s') , " Freeze panes" , EOL; +$objPHPExcel->getActiveSheet()->freezePane('A2'); + + +// Rows to repeat at top +echo date('H:i:s') , " Rows to repeat at top" , EOL; +$objPHPExcel->getActiveSheet()->getPageSetup()->setRowsToRepeatAtTopByStartAndEnd(1, 1); + + +// Add data +for ($i = 2; $i <= 5000; $i++) { + $objPHPExcel->getActiveSheet()->setCellValue('A' . $i, "FName $i") + ->setCellValue('B' . $i, "LName $i") + ->setCellValue('C' . $i, "PhoneNo $i") + ->setCellValue('D' . $i, "FaxNo $i") + ->setCellValue('E' . $i, true); +} + + +// Set active sheet index to the first sheet, so Excel opens this as the first sheet +$objPHPExcel->setActiveSheetIndex(0); + + +// Save Excel 2007 file +echo date('H:i:s') , " Write to Excel2007 format" , EOL; +$callStartTime = microtime(true); + +$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007'); +$objWriter->save(str_replace('.php', '.xlsx', __FILE__)); +$callEndTime = microtime(true); +$callTime = $callEndTime - $callStartTime; + +echo date('H:i:s') , " File written to " , str_replace('.php', '.xlsx', pathinfo(__FILE__, PATHINFO_BASENAME)) , EOL; +echo 'Call time to write Workbook was ' , sprintf('%.4f',$callTime) , " seconds" , EOL; +// Echo memory usage +echo date('H:i:s') , ' Current memory usage: ' , (memory_get_usage(true) / 1024 / 1024) , " MB" , EOL; + + +// Echo memory peak usage +echo date('H:i:s') , " Peak memory usage: " , (memory_get_peak_usage(true) / 1024 / 1024) , " MB" , EOL; + +// Echo done +echo date('H:i:s') , " Done writing file" , EOL; +echo 'File has been created in ' , getcwd() , EOL; diff --git a/vendor/phpoffice/phpexcel/Examples/07reader.php b/vendor/phpoffice/phpexcel/Examples/07reader.php new file mode 100644 index 00000000..616b6622 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Examples/07reader.php @@ -0,0 +1,76 @@ +<?php +/** + * PHPExcel + * + * Copyright (C) 2006 - 2014 PHPExcel + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * @category PHPExcel + * @package PHPExcel + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @version ##VERSION##, ##DATE## + */ + +error_reporting(E_ALL); +ini_set('display_errors', TRUE); +ini_set('display_startup_errors', TRUE); + +define('EOL',(PHP_SAPI == 'cli') ? PHP_EOL : '<br />'); + +date_default_timezone_set('Europe/London'); + +/** Include PHPExcel_IOFactory */ +require_once dirname(__FILE__) . '/../Classes/PHPExcel/IOFactory.php'; + + +if (!file_exists("05featuredemo.xlsx")) { + exit("Please run 05featuredemo.php first." . EOL); +} + +echo date('H:i:s') , " Load from Excel2007 file" , EOL; +$callStartTime = microtime(true); + +$objPHPExcel = PHPExcel_IOFactory::load("05featuredemo.xlsx"); + +$callEndTime = microtime(true); +$callTime = $callEndTime - $callStartTime; +echo 'Call time to read Workbook was ' , sprintf('%.4f',$callTime) , " seconds" , EOL; +// Echo memory usage +echo date('H:i:s') , ' Current memory usage: ' , (memory_get_usage(true) / 1024 / 1024) , " MB" , EOL; + + +echo date('H:i:s') , " Write to Excel2007 format" , EOL; +$callStartTime = microtime(true); + +$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007'); +$objWriter->save(str_replace('.php', '.xlsx', __FILE__)); + +$callEndTime = microtime(true); +$callTime = $callEndTime - $callStartTime; + +echo date('H:i:s') , " File written to " , str_replace('.php', '.xlsx', pathinfo(__FILE__, PATHINFO_BASENAME)) , EOL; +echo 'Call time to write Workbook was ' , sprintf('%.4f',$callTime) , " seconds" , EOL; +// Echo memory usage +echo date('H:i:s') , ' Current memory usage: ' , (memory_get_usage(true) / 1024 / 1024) , " MB" , EOL; + + +// Echo memory peak usage +echo date('H:i:s') , " Peak memory usage: " , (memory_get_peak_usage(true) / 1024 / 1024) , " MB" , EOL; + +// Echo done +echo date('H:i:s') , " Done writing file" , EOL; +echo 'File has been created in ' , getcwd() , EOL; diff --git a/vendor/phpoffice/phpexcel/Examples/07readerPCLZip.php b/vendor/phpoffice/phpexcel/Examples/07readerPCLZip.php new file mode 100644 index 00000000..90e85905 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Examples/07readerPCLZip.php @@ -0,0 +1,79 @@ +<?php +/** + * PHPExcel + * + * Copyright (C) 2006 - 2014 PHPExcel + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * @category PHPExcel + * @package PHPExcel + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @version ##VERSION##, ##DATE## + */ + +error_reporting(E_ALL); +ini_set('display_errors', TRUE); +ini_set('display_startup_errors', TRUE); + +define('EOL',(PHP_SAPI == 'cli') ? PHP_EOL : '<br />'); + +date_default_timezone_set('Europe/London'); + +/** Include PHPExcel_IOFactory */ +require_once dirname(__FILE__) . '/../Classes/PHPExcel/IOFactory.php'; + + +if (!file_exists("05featuredemo.xlsx")) { + exit("Please run 05featuredemo.php first." . EOL); +} + +// Use PCLZip rather than ZipArchive to read the Excel2007 OfficeOpenXML file +PHPExcel_Settings::setZipClass(PHPExcel_Settings::PCLZIP); + +echo date('H:i:s') , " Load from Excel2007 file" , EOL; +$callStartTime = microtime(true); + +$objPHPExcel = PHPExcel_IOFactory::load("05featuredemo.xlsx"); + +$callEndTime = microtime(true); +$callTime = $callEndTime - $callStartTime; +echo 'Call time to read Workbook was ' , sprintf('%.4f',$callTime) , " seconds" , EOL; +// Echo memory usage +echo date('H:i:s') , ' Current memory usage: ' , (memory_get_usage(true) / 1024 / 1024) , " MB" , EOL; + + +echo date('H:i:s') , " Write to Excel2007 format" , EOL; +$callStartTime = microtime(true); + +$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007'); +$objWriter->save(str_replace('.php', '.xlsx', __FILE__)); + +$callEndTime = microtime(true); +$callTime = $callEndTime - $callStartTime; + +echo date('H:i:s') , " File written to " , str_replace('.php', '.xlsx', pathinfo(__FILE__, PATHINFO_BASENAME)) , EOL; +echo 'Call time to write Workbook was ' , sprintf('%.4f',$callTime) , " seconds" , EOL; +// Echo memory usage +echo date('H:i:s') , ' Current memory usage: ' , (memory_get_usage(true) / 1024 / 1024) , " MB" , EOL; + + +// Echo memory peak usage +echo date('H:i:s') , " Peak memory usage: " , (memory_get_peak_usage(true) / 1024 / 1024) , " MB" , EOL; + +// Echo done +echo date('H:i:s') , " Done writing file" , EOL; +echo 'File has been created in ' , getcwd() , EOL; diff --git a/vendor/phpoffice/phpexcel/Examples/08conditionalformatting.php b/vendor/phpoffice/phpexcel/Examples/08conditionalformatting.php new file mode 100644 index 00000000..f65ec9ef --- /dev/null +++ b/vendor/phpoffice/phpexcel/Examples/08conditionalformatting.php @@ -0,0 +1,189 @@ +<?php +/** + * PHPExcel + * + * Copyright (C) 2006 - 2014 PHPExcel + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * @category PHPExcel + * @package PHPExcel + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @version ##VERSION##, ##DATE## + */ + +/** Error reporting */ +error_reporting(E_ALL); +ini_set('display_errors', TRUE); +ini_set('display_startup_errors', TRUE); + +define('EOL',(PHP_SAPI == 'cli') ? PHP_EOL : '<br />'); + +date_default_timezone_set('Europe/London'); + +/** Include PHPExcel */ +require_once dirname(__FILE__) . '/../Classes/PHPExcel.php'; + + +// Create new PHPExcel object +echo date('H:i:s') , " Create new PHPExcel object" , EOL; +$objPHPExcel = new PHPExcel(); + +// Set document properties +echo date('H:i:s') , " Set document properties" , EOL; +$objPHPExcel->getProperties()->setCreator("Maarten Balliauw") + ->setLastModifiedBy("Maarten Balliauw") + ->setTitle("Office 2007 XLSX Test Document") + ->setSubject("Office 2007 XLSX Test Document") + ->setDescription("Test document for Office 2007 XLSX, generated using PHP classes.") + ->setKeywords("office 2007 openxml php") + ->setCategory("Test result file"); + + +// Create a first sheet, representing sales data +echo date('H:i:s') , " Add some data" , EOL; +$objPHPExcel->setActiveSheetIndex(0); +$objPHPExcel->getActiveSheet()->setCellValue('A1', 'Description') + ->setCellValue('B1', 'Amount'); + +$objPHPExcel->getActiveSheet()->setCellValue('A2', 'Paycheck received') + ->setCellValue('B2', 100); + +$objPHPExcel->getActiveSheet()->setCellValue('A3', 'Cup of coffee bought') + ->setCellValue('B3', -1.5); + +$objPHPExcel->getActiveSheet()->setCellValue('A4', 'Cup of coffee bought') + ->setCellValue('B4', -1.5); + +$objPHPExcel->getActiveSheet()->setCellValue('A5', 'Cup of tea bought') + ->setCellValue('B5', -1.2); + +$objPHPExcel->getActiveSheet()->setCellValue('A6', 'Found some money') + ->setCellValue('B6', 8); + +$objPHPExcel->getActiveSheet()->setCellValue('A7', 'Total:') + ->setCellValue('B7', '=SUM(B2:B6)'); + + +// Set column widths +echo date('H:i:s') , " Set column widths" , EOL; +$objPHPExcel->getActiveSheet()->getColumnDimension('A')->setWidth(30); +$objPHPExcel->getActiveSheet()->getColumnDimension('B')->setWidth(12); + + +// Add conditional formatting +echo date('H:i:s') , " Add conditional formatting" , EOL; +$objConditional1 = new PHPExcel_Style_Conditional(); +$objConditional1->setConditionType(PHPExcel_Style_Conditional::CONDITION_CELLIS) + ->setOperatorType(PHPExcel_Style_Conditional::OPERATOR_BETWEEN) + ->addCondition('200') + ->addCondition('400'); +$objConditional1->getStyle()->getFont()->getColor()->setARGB(PHPExcel_Style_Color::COLOR_YELLOW); +$objConditional1->getStyle()->getFont()->setBold(true); +$objConditional1->getStyle()->getNumberFormat()->setFormatCode(PHPExcel_Style_NumberFormat::FORMAT_CURRENCY_EUR_SIMPLE); + +$objConditional2 = new PHPExcel_Style_Conditional(); +$objConditional2->setConditionType(PHPExcel_Style_Conditional::CONDITION_CELLIS) + ->setOperatorType(PHPExcel_Style_Conditional::OPERATOR_LESSTHAN) + ->addCondition('0'); +$objConditional2->getStyle()->getFont()->getColor()->setARGB(PHPExcel_Style_Color::COLOR_RED); +$objConditional2->getStyle()->getFont()->setItalic(true); +$objConditional2->getStyle()->getNumberFormat()->setFormatCode(PHPExcel_Style_NumberFormat::FORMAT_CURRENCY_EUR_SIMPLE); + +$objConditional3 = new PHPExcel_Style_Conditional(); +$objConditional3->setConditionType(PHPExcel_Style_Conditional::CONDITION_CELLIS) + ->setOperatorType(PHPExcel_Style_Conditional::OPERATOR_GREATERTHANOREQUAL) + ->addCondition('0'); +$objConditional3->getStyle()->getFont()->getColor()->setARGB(PHPExcel_Style_Color::COLOR_GREEN); +$objConditional3->getStyle()->getFont()->setItalic(true); +$objConditional3->getStyle()->getNumberFormat()->setFormatCode(PHPExcel_Style_NumberFormat::FORMAT_CURRENCY_EUR_SIMPLE); + +$conditionalStyles = $objPHPExcel->getActiveSheet()->getStyle('B2')->getConditionalStyles(); +array_push($conditionalStyles, $objConditional1); +array_push($conditionalStyles, $objConditional2); +array_push($conditionalStyles, $objConditional3); +$objPHPExcel->getActiveSheet()->getStyle('B2')->setConditionalStyles($conditionalStyles); + + +// duplicate the conditional styles across a range of cells +echo date('H:i:s') , " Duplicate the conditional formatting across a range of cells" , EOL; +$objPHPExcel->getActiveSheet()->duplicateConditionalStyle( + $objPHPExcel->getActiveSheet()->getStyle('B2')->getConditionalStyles(), + 'B3:B7' + ); + + +// Set fonts +echo date('H:i:s') , " Set fonts" , EOL; +$objPHPExcel->getActiveSheet()->getStyle('A1:B1')->getFont()->setBold(true); +//$objPHPExcel->getActiveSheet()->getStyle('B1')->getFont()->setBold(true); +$objPHPExcel->getActiveSheet()->getStyle('A7:B7')->getFont()->setBold(true); +//$objPHPExcel->getActiveSheet()->getStyle('B7')->getFont()->setBold(true); + + +// Set header and footer. When no different headers for odd/even are used, odd header is assumed. +echo date('H:i:s') , " Set header/footer" , EOL; +$objPHPExcel->getActiveSheet()->getHeaderFooter()->setOddHeader('&L&BPersonal cash register&RPrinted on &D'); +$objPHPExcel->getActiveSheet()->getHeaderFooter()->setOddFooter('&L&B' . $objPHPExcel->getProperties()->getTitle() . '&RPage &P of &N'); + + +// Set page orientation and size +echo date('H:i:s') , " Set page orientation and size" , EOL; +$objPHPExcel->getActiveSheet()->getPageSetup()->setOrientation(PHPExcel_Worksheet_PageSetup::ORIENTATION_PORTRAIT); +$objPHPExcel->getActiveSheet()->getPageSetup()->setPaperSize(PHPExcel_Worksheet_PageSetup::PAPERSIZE_A4); + + +// Rename worksheet +echo date('H:i:s') , " Rename worksheet" , EOL; +$objPHPExcel->getActiveSheet()->setTitle('Invoice'); + + +// Set active sheet index to the first sheet, so Excel opens this as the first sheet +$objPHPExcel->setActiveSheetIndex(0); + + +// Save Excel 2007 file +echo date('H:i:s') , " Write to Excel2007 format" , EOL; +$callStartTime = microtime(true); + +$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007'); +$objWriter->save(str_replace('.php', '.xlsx', __FILE__)); +$callEndTime = microtime(true); +$callTime = $callEndTime - $callStartTime; + +echo date('H:i:s') , " File written to " , str_replace('.php', '.xlsx', pathinfo(__FILE__, PATHINFO_BASENAME)) , EOL; +echo 'Call time to write Workbook was ' , sprintf('%.4f',$callTime) , " seconds" , EOL; +// Save Excel5 file +echo date('H:i:s') , " Write to Excel5 format" , EOL; +$callStartTime = microtime(true); + +$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5'); +$objWriter->save(str_replace('.php', '.xls', __FILE__)); +$callEndTime = microtime(true); +$callTime = $callEndTime - $callStartTime; + +echo date('H:i:s') , " File written to " , str_replace('.php', '.xls', pathinfo(__FILE__, PATHINFO_BASENAME)) , EOL; +echo 'Call time to write Workbook was ' , sprintf('%.4f',$callTime) , " seconds" , EOL; +// Echo memory usage +echo date('H:i:s') , ' Current memory usage: ' , (memory_get_usage(true) / 1024 / 1024) , " MB" , EOL; + + +// Echo memory peak usage +echo date('H:i:s') , " Peak memory usage: " , (memory_get_peak_usage(true) / 1024 / 1024) , " MB" , EOL; + +// Echo done +echo date('H:i:s') , " Done writing file" , EOL; +echo 'File has been created in ' , getcwd() , EOL; diff --git a/vendor/phpoffice/phpexcel/Examples/08conditionalformatting2.php b/vendor/phpoffice/phpexcel/Examples/08conditionalformatting2.php new file mode 100644 index 00000000..bbe084a2 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Examples/08conditionalformatting2.php @@ -0,0 +1,136 @@ +<?php +/** + * PHPExcel + * + * Copyright (C) 2006 - 2014 PHPExcel + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * @category PHPExcel + * @package PHPExcel + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @version ##VERSION##, ##DATE## + */ + +/** Error reporting */ +error_reporting(E_ALL); +ini_set('display_errors', TRUE); +ini_set('display_startup_errors', TRUE); + +define('EOL',(PHP_SAPI == 'cli') ? PHP_EOL : '<br />'); + +date_default_timezone_set('Europe/London'); + +/** Include PHPExcel */ +require_once dirname(__FILE__) . '/../Classes/PHPExcel.php'; + + +// Create new PHPExcel object +echo date('H:i:s') , " Create new PHPExcel object" , EOL; +$objPHPExcel = new PHPExcel(); + +// Set document properties +echo date('H:i:s') , " Set document properties" , EOL; +$objPHPExcel->getProperties()->setCreator("Maarten Balliauw") + ->setLastModifiedBy("Maarten Balliauw") + ->setTitle("Office 2007 XLSX Test Document") + ->setSubject("Office 2007 XLSX Test Document") + ->setDescription("Test document for Office 2007 XLSX, generated using PHP classes.") + ->setKeywords("office 2007 openxml php") + ->setCategory("Test result file"); + + +// Create a first sheet, representing sales data +echo date('H:i:s') , " Add some data" , EOL; +$objPHPExcel->setActiveSheetIndex(0); +$objPHPExcel->getActiveSheet() + ->setCellValue('A1', '-0.5') + ->setCellValue('A2', '-0.25') + ->setCellValue('A3', '0.0') + ->setCellValue('A4', '0.25') + ->setCellValue('A5', '0.5') + ->setCellValue('A6', '0.75') + ->setCellValue('A7', '1.0') + ->setCellValue('A8', '1.25') +; + +$objPHPExcel->getActiveSheet()->getStyle('A1:A8') + ->getNumberFormat() + ->setFormatCode( + PHPExcel_Style_NumberFormat::FORMAT_PERCENTAGE_00 + ); + + +// Add conditional formatting +echo date('H:i:s') , " Add conditional formatting" , EOL; +$objConditional1 = new PHPExcel_Style_Conditional(); +$objConditional1->setConditionType(PHPExcel_Style_Conditional::CONDITION_CELLIS) + ->setOperatorType(PHPExcel_Style_Conditional::OPERATOR_LESSTHAN) + ->addCondition('0'); +$objConditional1->getStyle()->getFont()->getColor()->setARGB(PHPExcel_Style_Color::COLOR_RED); + +$objConditional3 = new PHPExcel_Style_Conditional(); +$objConditional3->setConditionType(PHPExcel_Style_Conditional::CONDITION_CELLIS) + ->setOperatorType(PHPExcel_Style_Conditional::OPERATOR_GREATERTHANOREQUAL) + ->addCondition('1'); +$objConditional3->getStyle()->getFont()->getColor()->setARGB(PHPExcel_Style_Color::COLOR_GREEN); + +$conditionalStyles = $objPHPExcel->getActiveSheet()->getStyle('A1')->getConditionalStyles(); +array_push($conditionalStyles, $objConditional1); +array_push($conditionalStyles, $objConditional3); +$objPHPExcel->getActiveSheet()->getStyle('A1')->setConditionalStyles($conditionalStyles); + + +// duplicate the conditional styles across a range of cells +echo date('H:i:s') , " Duplicate the conditional formatting across a range of cells" , EOL; +$objPHPExcel->getActiveSheet()->duplicateConditionalStyle( + $objPHPExcel->getActiveSheet()->getStyle('A1')->getConditionalStyles(), + 'A2:A8' + ); + + +// Save Excel 2007 file +echo date('H:i:s') , " Write to Excel2007 format" , EOL; +$callStartTime = microtime(true); + +$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007'); +$objWriter->save(str_replace('.php', '.xlsx', __FILE__)); +$callEndTime = microtime(true); +$callTime = $callEndTime - $callStartTime; + +echo date('H:i:s') , " File written to " , str_replace('.php', '.xlsx', pathinfo(__FILE__, PATHINFO_BASENAME)) , EOL; +echo 'Call time to write Workbook was ' , sprintf('%.4f',$callTime) , " seconds" , EOL; +// Save Excel5 file +echo date('H:i:s') , " Write to Excel5 format" , EOL; +$callStartTime = microtime(true); + +$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5'); +$objWriter->save(str_replace('.php', '.xls', __FILE__)); +$callEndTime = microtime(true); +$callTime = $callEndTime - $callStartTime; + +echo date('H:i:s') , " File written to " , str_replace('.php', '.xls', pathinfo(__FILE__, PATHINFO_BASENAME)) , EOL; +echo 'Call time to write Workbook was ' , sprintf('%.4f',$callTime) , " seconds" , EOL; +// Echo memory usage +echo date('H:i:s') , ' Current memory usage: ' , (memory_get_usage(true) / 1024 / 1024) , " MB" , EOL; + + +// Echo memory peak usage +echo date('H:i:s') , " Peak memory usage: " , (memory_get_peak_usage(true) / 1024 / 1024) , " MB" , EOL; + +// Echo done +echo date('H:i:s') , " Done writing file" , EOL; +echo 'File has been created in ' , getcwd() , EOL; diff --git a/vendor/phpoffice/phpexcel/Examples/09pagebreaks.php b/vendor/phpoffice/phpexcel/Examples/09pagebreaks.php new file mode 100644 index 00000000..6b8c185e --- /dev/null +++ b/vendor/phpoffice/phpexcel/Examples/09pagebreaks.php @@ -0,0 +1,134 @@ +<?php +/** + * PHPExcel + * + * Copyright (C) 2006 - 2014 PHPExcel + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * @category PHPExcel + * @package PHPExcel + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @version ##VERSION##, ##DATE## + */ + +/** Error reporting */ +error_reporting(E_ALL); +ini_set('display_errors', TRUE); +ini_set('display_startup_errors', TRUE); + +define('EOL',(PHP_SAPI == 'cli') ? PHP_EOL : '<br />'); + +date_default_timezone_set('Europe/London'); + +/** Include PHPExcel */ +require_once dirname(__FILE__) . '/../Classes/PHPExcel.php'; + + +// Create new PHPExcel object +echo date('H:i:s') , " Create new PHPExcel object" , EOL; +$objPHPExcel = new PHPExcel(); + +// Set document properties +echo date('H:i:s') , " Set document properties" , EOL; +$objPHPExcel->getProperties()->setCreator("Maarten Balliauw") + ->setLastModifiedBy("Maarten Balliauw") + ->setTitle("Office 2007 XLSX Test Document") + ->setSubject("Office 2007 XLSX Test Document") + ->setDescription("Test document for Office 2007 XLSX, generated using PHP classes.") + ->setKeywords("office 2007 openxml php") + ->setCategory("Test result file"); + + +// Create a first sheet +echo date('H:i:s') , " Add data and page breaks" , EOL; +$objPHPExcel->setActiveSheetIndex(0); +$objPHPExcel->getActiveSheet()->setCellValue('A1', "Firstname") + ->setCellValue('B1', "Lastname") + ->setCellValue('C1', "Phone") + ->setCellValue('D1', "Fax") + ->setCellValue('E1', "Is Client ?"); + + +// Add data +for ($i = 2; $i <= 50; $i++) { + $objPHPExcel->getActiveSheet()->setCellValue('A' . $i, "FName $i"); + $objPHPExcel->getActiveSheet()->setCellValue('B' . $i, "LName $i"); + $objPHPExcel->getActiveSheet()->setCellValue('C' . $i, "PhoneNo $i"); + $objPHPExcel->getActiveSheet()->setCellValue('D' . $i, "FaxNo $i"); + $objPHPExcel->getActiveSheet()->setCellValue('E' . $i, true); + + // Add page breaks every 10 rows + if ($i % 10 == 0) { + // Add a page break + $objPHPExcel->getActiveSheet()->setBreak( 'A' . $i, PHPExcel_Worksheet::BREAK_ROW ); + } +} + +// Set active sheet index to the first sheet, so Excel opens this as the first sheet +$objPHPExcel->setActiveSheetIndex(0); +$objPHPExcel->getActiveSheet()->setTitle('Printing Options'); + +// Set print headers +$objPHPExcel->getActiveSheet() + ->getHeaderFooter()->setOddHeader('&C&24&K0000FF&B&U&A'); +$objPHPExcel->getActiveSheet() + ->getHeaderFooter()->setEvenHeader('&C&24&K0000FF&B&U&A'); + +// Set print footers +$objPHPExcel->getActiveSheet() + ->getHeaderFooter()->setOddFooter('&R&D &T&C&F&LPage &P / &N'); +$objPHPExcel->getActiveSheet() + ->getHeaderFooter()->setEvenFooter('&L&D &T&C&F&RPage &P / &N'); + + + +// Save Excel 2007 file +echo date('H:i:s') , " Write to Excel2007 format" , EOL; +$callStartTime = microtime(true); + +$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007'); +$objWriter->save(str_replace('.php', '.xlsx', __FILE__)); +$callEndTime = microtime(true); +$callTime = $callEndTime - $callStartTime; + +echo date('H:i:s') , " File written to " , str_replace('.php', '.xlsx', pathinfo(__FILE__, PATHINFO_BASENAME)) , EOL; +echo 'Call time to write Workbook was ' , sprintf('%.4f',$callTime) , " seconds" , EOL; +// Echo memory usage +echo date('H:i:s') , ' Current memory usage: ' , (memory_get_usage(true) / 1024 / 1024) , " MB" , EOL; + + +// Save Excel 95 file +echo date('H:i:s') , " Write to Excel5 format" , EOL; +$callStartTime = microtime(true); + +$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5'); +$objWriter->save(str_replace('.php', '.xls', __FILE__)); +$callEndTime = microtime(true); +$callTime = $callEndTime - $callStartTime; + +echo date('H:i:s') , " File written to " , str_replace('.php', '.xls', pathinfo(__FILE__, PATHINFO_BASENAME)) , EOL; +echo 'Call time to write Workbook was ' , sprintf('%.4f',$callTime) , " seconds" , EOL; +// Echo memory usage +echo date('H:i:s') , ' Current memory usage: ' , (memory_get_usage(true) / 1024 / 1024) , " MB" , EOL; + + +// Echo memory peak usage +echo date('H:i:s') , " Peak memory usage: " , (memory_get_peak_usage(true) / 1024 / 1024) , " MB" , EOL; + +// Echo done +echo date('H:i:s') , " Done writing files" , EOL; +echo 'Files have been created in ' , getcwd() , EOL; diff --git a/vendor/phpoffice/phpexcel/Examples/10autofilter-selection-1.php b/vendor/phpoffice/phpexcel/Examples/10autofilter-selection-1.php new file mode 100644 index 00000000..7542a529 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Examples/10autofilter-selection-1.php @@ -0,0 +1,221 @@ +<?php +/** + * PHPExcel + * + * Copyright (C) 2006 - 2014 PHPExcel + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * @category PHPExcel + * @package PHPExcel + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @version ##VERSION##, ##DATE## + */ + +/** Error reporting */ +error_reporting(E_ALL); +ini_set('display_errors', TRUE); +ini_set('display_startup_errors', TRUE); +date_default_timezone_set('Europe/London'); + +define('EOL',(PHP_SAPI == 'cli') ? PHP_EOL : '<br />'); + +/** Include PHPExcel */ +require_once dirname(__FILE__) . '/../Classes/PHPExcel.php'; + + +// Create new PHPExcel object +echo date('H:i:s').' Create new PHPExcel object'.EOL; +$objPHPExcel = new PHPExcel(); + +// Set document properties +echo date('H:i:s').' Set document properties'.EOL; +$objPHPExcel->getProperties()->setCreator('Maarten Balliauw') + ->setLastModifiedBy('Maarten Balliauw') + ->setTitle('PHPExcel Test Document') + ->setSubject('PHPExcel Test Document') + ->setDescription('Test document for PHPExcel, generated using PHP classes.') + ->setKeywords('office PHPExcel php') + ->setCategory('Test result file'); + +// Create the worksheet +echo date('H:i:s').' Add data'.EOL; +$objPHPExcel->setActiveSheetIndex(0); +$objPHPExcel->getActiveSheet()->setCellValue('A1', 'Financial Year') + ->setCellValue('B1', 'Financial Period') + ->setCellValue('C1', 'Country') + ->setCellValue('D1', 'Date') + ->setCellValue('E1', 'Sales Value') + ->setCellValue('F1', 'Expenditure') + ; +$startYear = $endYear = $currentYear = date('Y'); +$startYear--; +$endYear++; + +$years = range($startYear,$endYear); +$periods = range(1,12); +$countries = array( 'United States', 'UK', 'France', 'Germany', + 'Italy', 'Spain', 'Portugal', 'Japan' + ); + +$row = 2; +foreach($years as $year) { + foreach($periods as $period) { + foreach($countries as $country) { + $endDays = date('t',mktime(0,0,0,$period,1,$year)); + for($i = 1; $i <= $endDays; ++$i) { + $eDate = PHPExcel_Shared_Date::FormattedPHPToExcel( + $year, + $period, + $i + ); + $value = rand(500,1000) * (1 + rand(-0.25,+0.25)); + $salesValue = $invoiceValue = NULL; + $incomeOrExpenditure = rand(-1,1); + if ($incomeOrExpenditure == -1) { + $expenditure = rand(-500,-1000) * (1 + rand(-0.25,+0.25)); + $income = NULL; + } elseif ($incomeOrExpenditure == 1) { + $expenditure = rand(-500,-1000) * (1 + rand(-0.25,+0.25)); + $income = rand(500,1000) * (1 + rand(-0.25,+0.25));; + } else { + $expenditure = NULL; + $income = rand(500,1000) * (1 + rand(-0.25,+0.25));; + } + $dataArray = array( $year, + $period, + $country, + $eDate, + $income, + $expenditure, + ); + $objPHPExcel->getActiveSheet()->fromArray($dataArray, NULL, 'A'.$row++); + } + } + } +} +$row--; + + +// Set styling +echo date('H:i:s').' Set styling'.EOL; +$objPHPExcel->getActiveSheet()->getStyle('A1:F1')->getFont()->setBold(true); +$objPHPExcel->getActiveSheet()->getStyle('A1:F1')->getAlignment()->setWrapText(TRUE); +$objPHPExcel->getActiveSheet()->getColumnDimension('C')->setWidth(12.5); +$objPHPExcel->getActiveSheet()->getColumnDimension('D')->setWidth(10.5); +$objPHPExcel->getActiveSheet()->getStyle('D2:D'.$row)->getNumberFormat()->setFormatCode(PHPExcel_Style_NumberFormat::FORMAT_DATE_YYYYMMDD2); +$objPHPExcel->getActiveSheet()->getStyle('E2:F'.$row)->getNumberFormat()->setFormatCode(PHPExcel_Style_NumberFormat::FORMAT_CURRENCY_USD_SIMPLE); +$objPHPExcel->getActiveSheet()->getColumnDimension('F')->setWidth(14); +$objPHPExcel->getActiveSheet()->freezePane('A2'); + + + +// Set autofilter range +echo date('H:i:s').' Set autofilter range'.EOL; +// Always include the complete filter range! +// Excel does support setting only the caption +// row, but that's not a best practise... +$objPHPExcel->getActiveSheet()->setAutoFilter($objPHPExcel->getActiveSheet()->calculateWorksheetDimension()); + +// Set active filters +$autoFilter = $objPHPExcel->getActiveSheet()->getAutoFilter(); +echo date('H:i:s').' Set active filters'.EOL; +// Filter the Country column on a filter value of countries beginning with the letter U (or Japan) +// We use * as a wildcard, so specify as U* and using a wildcard requires customFilter +$autoFilter->getColumn('C') + ->setFilterType(PHPExcel_Worksheet_AutoFilter_Column::AUTOFILTER_FILTERTYPE_CUSTOMFILTER) + ->createRule() + ->setRule( + PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_COLUMN_RULE_EQUAL, + 'u*' + ) + ->setRuleType(PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_RULETYPE_CUSTOMFILTER); +$autoFilter->getColumn('C') + ->createRule() + ->setRule( + PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_COLUMN_RULE_EQUAL, + 'japan' + ) + ->setRuleType(PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_RULETYPE_CUSTOMFILTER); +// Filter the Date column on a filter value of the first day of every period of the current year +// We us a dateGroup ruletype for this, although it is still a standard filter +foreach($periods as $period) { + $endDate = date('t',mktime(0,0,0,$period,1,$currentYear)); + + $autoFilter->getColumn('D') + ->setFilterType(PHPExcel_Worksheet_AutoFilter_Column::AUTOFILTER_FILTERTYPE_FILTER) + ->createRule() + ->setRule( + PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_COLUMN_RULE_EQUAL, + array( + 'year' => $currentYear, + 'month' => $period, + 'day' => $endDate + ) + ) + ->setRuleType(PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_RULETYPE_DATEGROUP); +} +// Display only sales values that are blank +// Standard filter, operator equals, and value of NULL +$autoFilter->getColumn('E') + ->setFilterType(PHPExcel_Worksheet_AutoFilter_Column::AUTOFILTER_FILTERTYPE_FILTER) + ->createRule() + ->setRule( + PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_COLUMN_RULE_EQUAL, + '' + ); + + +// Set active sheet index to the first sheet, so Excel opens this as the first sheet +$objPHPExcel->setActiveSheetIndex(0); + + +// Save Excel 2007 file +echo date('H:i:s') , " Write to Excel2007 format" , EOL; +$callStartTime = microtime(true); + +$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007'); +$objWriter->save(str_replace('.php', '.xlsx', __FILE__)); +$callEndTime = microtime(true); +$callTime = $callEndTime - $callStartTime; + +echo date('H:i:s') , " File written to " , str_replace('.php', '.xlsx', pathinfo(__FILE__, PATHINFO_BASENAME)) , EOL; +echo 'Call time to write Workbook was ' , sprintf('%.4f',$callTime) , " seconds" , EOL; +// Echo memory usage +echo date('H:i:s') , ' Current memory usage: ' , (memory_get_usage(true) / 1024 / 1024) , " MB" , EOL; + + +// Save Excel 95 file +echo date('H:i:s') , " Write to Excel5 format" , EOL; +$callStartTime = microtime(true); + +$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5'); +$objWriter->save(str_replace('.php', '.xls', __FILE__)); +$callEndTime = microtime(true); +$callTime = $callEndTime - $callStartTime; + +echo date('H:i:s') , " File written to " , str_replace('.php', '.xls', pathinfo(__FILE__, PATHINFO_BASENAME)) , EOL; +echo 'Call time to write Workbook was ' , sprintf('%.4f',$callTime) , " seconds" , EOL; +// Echo memory usage +echo date('H:i:s') , ' Current memory usage: ' , (memory_get_usage(true) / 1024 / 1024) , " MB" , EOL; + + +// Echo memory peak usage +echo date('H:i:s').' Peak memory usage: '.(memory_get_peak_usage(true) / 1024 / 1024).' MB'.EOL; + +// Echo done +echo date('H:i:s').' Done writing files'.EOL; +echo 'Files have been created in ' , getcwd() , EOL; diff --git a/vendor/phpoffice/phpexcel/Examples/10autofilter-selection-2.php b/vendor/phpoffice/phpexcel/Examples/10autofilter-selection-2.php new file mode 100644 index 00000000..c89173f5 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Examples/10autofilter-selection-2.php @@ -0,0 +1,213 @@ +<?php +/** + * PHPExcel + * + * Copyright (C) 2006 - 2014 PHPExcel + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * @category PHPExcel + * @package PHPExcel + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @version ##VERSION##, ##DATE## + */ + +/** Error reporting */ +error_reporting(E_ALL); +ini_set('display_errors', TRUE); +ini_set('display_startup_errors', TRUE); +date_default_timezone_set('Europe/London'); + +define('EOL',(PHP_SAPI == 'cli') ? PHP_EOL : '<br />'); + +/** Include PHPExcel */ +require_once dirname(__FILE__) . '/../Classes/PHPExcel.php'; + + +// Create new PHPExcel object +echo date('H:i:s').' Create new PHPExcel object'.EOL; +$objPHPExcel = new PHPExcel(); + +// Set document properties +echo date('H:i:s').' Set document properties'.EOL; +$objPHPExcel->getProperties()->setCreator('Maarten Balliauw') + ->setLastModifiedBy('Maarten Balliauw') + ->setTitle('PHPExcel Test Document') + ->setSubject('PHPExcel Test Document') + ->setDescription('Test document for PHPExcel, generated using PHP classes.') + ->setKeywords('office PHPExcel php') + ->setCategory('Test result file'); + +// Create the worksheet +echo date('H:i:s').' Add data'.EOL; +$objPHPExcel->setActiveSheetIndex(0); +$objPHPExcel->getActiveSheet()->setCellValue('A1', 'Financial Year') + ->setCellValue('B1', 'Financial Period') + ->setCellValue('C1', 'Country') + ->setCellValue('D1', 'Date') + ->setCellValue('E1', 'Sales Value') + ->setCellValue('F1', 'Expenditure') + ; +$startYear = $endYear = $currentYear = date('Y'); +$startYear--; +$endYear++; + +$years = range($startYear,$endYear); +$periods = range(1,12); +$countries = array( 'United States', 'UK', 'France', 'Germany', + 'Italy', 'Spain', 'Portugal', 'Japan' + ); + +$row = 2; +foreach($years as $year) { + foreach($periods as $period) { + foreach($countries as $country) { + $endDays = date('t',mktime(0,0,0,$period,1,$year)); + for($i = 1; $i <= $endDays; ++$i) { + $eDate = PHPExcel_Shared_Date::FormattedPHPToExcel( + $year, + $period, + $i + ); + $value = rand(500,1000) * (1 + rand(-0.25,+0.25)); + $salesValue = $invoiceValue = NULL; + $incomeOrExpenditure = rand(-1,1); + if ($incomeOrExpenditure == -1) { + $expenditure = rand(-500,-1000) * (1 + rand(-0.25,+0.25)); + $income = NULL; + } elseif ($incomeOrExpenditure == 1) { + $expenditure = rand(-500,-1000) * (1 + rand(-0.25,+0.25)); + $income = rand(500,1000) * (1 + rand(-0.25,+0.25));; + } else { + $expenditure = NULL; + $income = rand(500,1000) * (1 + rand(-0.25,+0.25));; + } + $dataArray = array( $year, + $period, + $country, + $eDate, + $income, + $expenditure, + ); + $objPHPExcel->getActiveSheet()->fromArray($dataArray, NULL, 'A'.$row++); + } + } + } +} +$row--; + + +// Set styling +echo date('H:i:s').' Set styling'.EOL; +$objPHPExcel->getActiveSheet()->getStyle('A1:F1')->getFont()->setBold(true); +$objPHPExcel->getActiveSheet()->getStyle('A1:F1')->getAlignment()->setWrapText(TRUE); +$objPHPExcel->getActiveSheet()->getColumnDimension('C')->setWidth(12.5); +$objPHPExcel->getActiveSheet()->getColumnDimension('D')->setWidth(10.5); +$objPHPExcel->getActiveSheet()->getStyle('D2:D'.$row)->getNumberFormat()->setFormatCode(PHPExcel_Style_NumberFormat::FORMAT_DATE_YYYYMMDD2); +$objPHPExcel->getActiveSheet()->getStyle('E2:F'.$row)->getNumberFormat()->setFormatCode(PHPExcel_Style_NumberFormat::FORMAT_CURRENCY_USD_SIMPLE); +$objPHPExcel->getActiveSheet()->getColumnDimension('F')->setWidth(14); +$objPHPExcel->getActiveSheet()->freezePane('A2'); + + + +// Set autofilter range +echo date('H:i:s').' Set autofilter range'.EOL; +// Always include the complete filter range! +// Excel does support setting only the caption +// row, but that's not a best practise... +$objPHPExcel->getActiveSheet()->setAutoFilter($objPHPExcel->getActiveSheet()->calculateWorksheetDimension()); + +// Set active filters +$autoFilter = $objPHPExcel->getActiveSheet()->getAutoFilter(); +echo date('H:i:s').' Set active filters'.EOL; +// Filter the Country column on a filter value of Germany +// As it's just a simple value filter, we can use FILTERTYPE_FILTER +$autoFilter->getColumn('C') + ->setFilterType(PHPExcel_Worksheet_AutoFilter_Column::AUTOFILTER_FILTERTYPE_FILTER) + ->createRule() + ->setRule( + PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_COLUMN_RULE_EQUAL, + 'Germany' + ); +// Filter the Date column on a filter value of the year to date +$autoFilter->getColumn('D') + ->setFilterType(PHPExcel_Worksheet_AutoFilter_Column::AUTOFILTER_FILTERTYPE_DYNAMICFILTER) + ->createRule() + ->setRule( + PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_COLUMN_RULE_EQUAL, + NULL, + PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_RULETYPE_DYNAMIC_YEARTODATE + ) + ->setRuleType(PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_RULETYPE_DYNAMICFILTER); +// Display only sales values that are between 400 and 600 +$autoFilter->getColumn('E') + ->setFilterType(PHPExcel_Worksheet_AutoFilter_Column::AUTOFILTER_FILTERTYPE_CUSTOMFILTER) + ->createRule() + ->setRule( + PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_COLUMN_RULE_GREATERTHANOREQUAL, + 400 + ) + ->setRuleType(PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_RULETYPE_CUSTOMFILTER); +$autoFilter->getColumn('E') + ->setJoin(PHPExcel_Worksheet_AutoFilter_Column::AUTOFILTER_COLUMN_JOIN_AND) + ->createRule() + ->setRule( + PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_COLUMN_RULE_LESSTHANOREQUAL, + 600 + ) + ->setRuleType(PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_RULETYPE_CUSTOMFILTER); + + +// Set active sheet index to the first sheet, so Excel opens this as the first sheet +$objPHPExcel->setActiveSheetIndex(0); + + +// Save Excel 2007 file +echo date('H:i:s') , " Write to Excel2007 format" , EOL; +$callStartTime = microtime(true); + +$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007'); +$objWriter->save(str_replace('.php', '.xlsx', __FILE__)); +$callEndTime = microtime(true); +$callTime = $callEndTime - $callStartTime; + +echo date('H:i:s') , " File written to " , str_replace('.php', '.xlsx', pathinfo(__FILE__, PATHINFO_BASENAME)) , EOL; +echo 'Call time to write Workbook was ' , sprintf('%.4f',$callTime) , " seconds" , EOL; +// Echo memory usage +echo date('H:i:s') , ' Current memory usage: ' , (memory_get_usage(true) / 1024 / 1024) , " MB" , EOL; + + +// Save Excel 95 file +echo date('H:i:s') , " Write to Excel5 format" , EOL; +$callStartTime = microtime(true); + +$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5'); +$objWriter->save(str_replace('.php', '.xls', __FILE__)); +$callEndTime = microtime(true); +$callTime = $callEndTime - $callStartTime; + +echo date('H:i:s') , " File written to " , str_replace('.php', '.xls', pathinfo(__FILE__, PATHINFO_BASENAME)) , EOL; +echo 'Call time to write Workbook was ' , sprintf('%.4f',$callTime) , " seconds" , EOL; +// Echo memory usage +echo date('H:i:s') , ' Current memory usage: ' , (memory_get_usage(true) / 1024 / 1024) , " MB" , EOL; + + +// Echo memory peak usage +echo date('H:i:s').' Peak memory usage: '.(memory_get_peak_usage(true) / 1024 / 1024).' MB'.EOL; + +// Echo done +echo date('H:i:s').' Done writing files'.EOL; +echo 'Files have been created in ' , getcwd() , EOL; diff --git a/vendor/phpoffice/phpexcel/Examples/10autofilter-selection-display.php b/vendor/phpoffice/phpexcel/Examples/10autofilter-selection-display.php new file mode 100644 index 00000000..cf2b8acf --- /dev/null +++ b/vendor/phpoffice/phpexcel/Examples/10autofilter-selection-display.php @@ -0,0 +1,198 @@ +<?php +/** + * PHPExcel + * + * Copyright (C) 2006 - 2014 PHPExcel + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * @category PHPExcel + * @package PHPExcel + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @version ##VERSION##, ##DATE## + */ + +/** Error reporting */ +error_reporting(E_ALL); +ini_set('display_errors', TRUE); +ini_set('display_startup_errors', TRUE); +date_default_timezone_set('Europe/London'); + +define('EOL',(PHP_SAPI == 'cli') ? PHP_EOL : '<br />'); + +/** Include PHPExcel */ +require_once dirname(__FILE__) . '/../Classes/PHPExcel.php'; + + +// Create new PHPExcel object +echo date('H:i:s').' Create new PHPExcel object'.EOL; +$objPHPExcel = new PHPExcel(); + +// Set document properties +echo date('H:i:s').' Set document properties'.EOL; +$objPHPExcel->getProperties()->setCreator('Maarten Balliauw') + ->setLastModifiedBy('Maarten Balliauw') + ->setTitle('PHPExcel Test Document') + ->setSubject('PHPExcel Test Document') + ->setDescription('Test document for PHPExcel, generated using PHP classes.') + ->setKeywords('office PHPExcel php') + ->setCategory('Test result file'); + +// Create the worksheet +echo date('H:i:s').' Add data'.EOL; +$objPHPExcel->setActiveSheetIndex(0); +$objPHPExcel->getActiveSheet()->setCellValue('A1', 'Financial Year') + ->setCellValue('B1', 'Financial Period') + ->setCellValue('C1', 'Country') + ->setCellValue('D1', 'Date') + ->setCellValue('E1', 'Sales Value') + ->setCellValue('F1', 'Expenditure') + ; +$startYear = $endYear = $currentYear = date('Y'); +$startYear--; +$endYear++; + +$years = range($startYear,$endYear); +$periods = range(1,12); +$countries = array( 'United States', 'UK', 'France', 'Germany', + 'Italy', 'Spain', 'Portugal', 'Japan' + ); + +$row = 2; +foreach($years as $year) { + foreach($periods as $period) { + foreach($countries as $country) { + $endDays = date('t',mktime(0,0,0,$period,1,$year)); + for($i = 1; $i <= $endDays; ++$i) { + $eDate = PHPExcel_Shared_Date::FormattedPHPToExcel( + $year, + $period, + $i + ); + $value = rand(500,1000) * (1 + rand(-0.25,+0.25)); + $salesValue = $invoiceValue = NULL; + $incomeOrExpenditure = rand(-1,1); + if ($incomeOrExpenditure == -1) { + $expenditure = rand(-500,-1000) * (1 + rand(-0.25,+0.25)); + $income = NULL; + } elseif ($incomeOrExpenditure == 1) { + $expenditure = rand(-500,-1000) * (1 + rand(-0.25,+0.25)); + $income = rand(500,1000) * (1 + rand(-0.25,+0.25));; + } else { + $expenditure = NULL; + $income = rand(500,1000) * (1 + rand(-0.25,+0.25));; + } + $dataArray = array( $year, + $period, + $country, + $eDate, + $income, + $expenditure, + ); + $objPHPExcel->getActiveSheet()->fromArray($dataArray, NULL, 'A'.$row++); + } + } + } +} +$row--; + + +// Set styling +echo date('H:i:s').' Set styling'.EOL; +$objPHPExcel->getActiveSheet()->getStyle('A1:F1')->getFont()->setBold(true); +$objPHPExcel->getActiveSheet()->getStyle('A1:F1')->getAlignment()->setWrapText(TRUE); +$objPHPExcel->getActiveSheet()->getColumnDimension('C')->setWidth(12.5); +$objPHPExcel->getActiveSheet()->getColumnDimension('D')->setWidth(10.5); +$objPHPExcel->getActiveSheet()->getStyle('D2:D'.$row)->getNumberFormat()->setFormatCode(PHPExcel_Style_NumberFormat::FORMAT_DATE_YYYYMMDD2); +$objPHPExcel->getActiveSheet()->getStyle('E2:F'.$row)->getNumberFormat()->setFormatCode(PHPExcel_Style_NumberFormat::FORMAT_CURRENCY_USD_SIMPLE); +$objPHPExcel->getActiveSheet()->getColumnDimension('F')->setWidth(14); +$objPHPExcel->getActiveSheet()->freezePane('A2'); + + + +// Set autofilter range +echo date('H:i:s').' Set autofilter range'.EOL; +// Always include the complete filter range! +// Excel does support setting only the caption +// row, but that's not a best practise... +$objPHPExcel->getActiveSheet()->setAutoFilter($objPHPExcel->getActiveSheet()->calculateWorksheetDimension()); + +// Set active filters +$autoFilter = $objPHPExcel->getActiveSheet()->getAutoFilter(); +echo date('H:i:s').' Set active filters'.EOL; +// Filter the Country column on a filter value of countries beginning with the letter U (or Japan) +// We use * as a wildcard, so specify as U* and using a wildcard requires customFilter +$autoFilter->getColumn('C') + ->setFilterType(PHPExcel_Worksheet_AutoFilter_Column::AUTOFILTER_FILTERTYPE_CUSTOMFILTER) + ->createRule() + ->setRule( + PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_COLUMN_RULE_EQUAL, + 'u*' + ) + ->setRuleType(PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_RULETYPE_CUSTOMFILTER); +$autoFilter->getColumn('C') + ->createRule() + ->setRule( + PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_COLUMN_RULE_EQUAL, + 'japan' + ) + ->setRuleType(PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_RULETYPE_CUSTOMFILTER); +// Filter the Date column on a filter value of the first day of every period of the current year +// We us a dateGroup ruletype for this, although it is still a standard filter +foreach($periods as $period) { + $endDate = date('t',mktime(0,0,0,$period,1,$currentYear)); + + $autoFilter->getColumn('D') + ->setFilterType(PHPExcel_Worksheet_AutoFilter_Column::AUTOFILTER_FILTERTYPE_FILTER) + ->createRule() + ->setRule( + PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_COLUMN_RULE_EQUAL, + array( + 'year' => $currentYear, + 'month' => $period, + 'day' => $endDate + ) + ) + ->setRuleType(PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_RULETYPE_DATEGROUP); +} +// Display only sales values that are blank +// Standard filter, operator equals, and value of NULL +$autoFilter->getColumn('E') + ->setFilterType(PHPExcel_Worksheet_AutoFilter_Column::AUTOFILTER_FILTERTYPE_FILTER) + ->createRule() + ->setRule( + PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_COLUMN_RULE_EQUAL, + '' + ); + +// Execute filtering +echo date('H:i:s').' Execute filtering'.EOL; +$autoFilter->showHideRows(); + +// Set active sheet index to the first sheet, so Excel opens this as the first sheet +$objPHPExcel->setActiveSheetIndex(0); + + +// Display Results of filtering +echo date('H:i:s').' Display filtered rows'.EOL; +foreach ($objPHPExcel->getActiveSheet()->getRowIterator() as $row) { + if ($objPHPExcel->getActiveSheet()->getRowDimension($row->getRowIndex())->getVisible()) { + echo ' Row number - ' , $row->getRowIndex() , ' '; + echo $objPHPExcel->getActiveSheet()->getCell('C'.$row->getRowIndex())->getValue(), ' '; + echo $objPHPExcel->getActiveSheet()->getCell('D'.$row->getRowIndex())->getFormattedValue(), ' '; + echo EOL; + } +} diff --git a/vendor/phpoffice/phpexcel/Examples/10autofilter.php b/vendor/phpoffice/phpexcel/Examples/10autofilter.php new file mode 100644 index 00000000..ea3f7634 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Examples/10autofilter.php @@ -0,0 +1,171 @@ +<?php +/** + * PHPExcel + * + * Copyright (C) 2006 - 2014 PHPExcel + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * @category PHPExcel + * @package PHPExcel + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @version ##VERSION##, ##DATE## + */ + +/** Error reporting */ +error_reporting(E_ALL); +ini_set('display_errors', TRUE); +ini_set('display_startup_errors', TRUE); + +define('EOL',(PHP_SAPI == 'cli') ? PHP_EOL : '<br />'); + +date_default_timezone_set('Europe/London'); + +/** Include PHPExcel */ +require_once dirname(__FILE__) . '/../Classes/PHPExcel.php'; + +// Create new PHPExcel object +echo date('H:i:s').' Create new PHPExcel object'.EOL; +$objPHPExcel = new PHPExcel(); + +// Set document properties +echo date('H:i:s').' Set document properties'.EOL; +$objPHPExcel->getProperties()->setCreator('Maarten Balliauw') + ->setLastModifiedBy('Maarten Balliauw') + ->setTitle('PHPExcel Test Document') + ->setSubject('PHPExcel Test Document') + ->setDescription('Test document for PHPExcel, generated using PHP classes.') + ->setKeywords('office PHPExcel php') + ->setCategory('Test result file'); + +// Create the worksheet +echo date('H:i:s').' Add data'.EOL; +$objPHPExcel->setActiveSheetIndex(0); +$objPHPExcel->getActiveSheet()->setCellValue('A1', 'Year') + ->setCellValue('B1', 'Quarter') + ->setCellValue('C1', 'Country') + ->setCellValue('D1', 'Sales'); + +$dataArray = array(array('2010', 'Q1', 'United States', 790), + array('2010', 'Q2', 'United States', 730), + array('2010', 'Q3', 'United States', 860), + array('2010', 'Q4', 'United States', 850), + array('2011', 'Q1', 'United States', 800), + array('2011', 'Q2', 'United States', 700), + array('2011', 'Q3', 'United States', 900), + array('2011', 'Q4', 'United States', 950), + array('2010', 'Q1', 'Belgium', 380), + array('2010', 'Q2', 'Belgium', 390), + array('2010', 'Q3', 'Belgium', 420), + array('2010', 'Q4', 'Belgium', 460), + array('2011', 'Q1', 'Belgium', 400), + array('2011', 'Q2', 'Belgium', 350), + array('2011', 'Q3', 'Belgium', 450), + array('2011', 'Q4', 'Belgium', 500), + array('2010', 'Q1', 'UK', 690), + array('2010', 'Q2', 'UK', 610), + array('2010', 'Q3', 'UK', 620), + array('2010', 'Q4', 'UK', 600), + array('2011', 'Q1', 'UK', 720), + array('2011', 'Q2', 'UK', 650), + array('2011', 'Q3', 'UK', 580), + array('2011', 'Q4', 'UK', 510), + array('2010', 'Q1', 'France', 510), + array('2010', 'Q2', 'France', 490), + array('2010', 'Q3', 'France', 460), + array('2010', 'Q4', 'France', 590), + array('2011', 'Q1', 'France', 620), + array('2011', 'Q2', 'France', 650), + array('2011', 'Q3', 'France', 415), + array('2011', 'Q4', 'France', 570), + array('2010', 'Q1', 'Germany', 720), + array('2010', 'Q2', 'Germany', 680), + array('2010', 'Q3', 'Germany', 640), + array('2010', 'Q4', 'Germany', 660), + array('2011', 'Q1', 'Germany', 680), + array('2011', 'Q2', 'Germany', 620), + array('2011', 'Q3', 'Germany', 710), + array('2011', 'Q4', 'Germany', 690), + array('2010', 'Q1', 'Spain', 510), + array('2010', 'Q2', 'Spain', 490), + array('2010', 'Q3', 'Spain', 470), + array('2010', 'Q4', 'Spain', 420), + array('2011', 'Q1', 'Spain', 460), + array('2011', 'Q2', 'Spain', 390), + array('2011', 'Q3', 'Spain', 430), + array('2011', 'Q4', 'Spain', 415), + array('2010', 'Q1', 'Italy', 440), + array('2010', 'Q2', 'Italy', 410), + array('2010', 'Q3', 'Italy', 420), + array('2010', 'Q4', 'Italy', 450), + array('2011', 'Q1', 'Italy', 430), + array('2011', 'Q2', 'Italy', 370), + array('2011', 'Q3', 'Italy', 350), + array('2011', 'Q4', 'Italy', 335), + ); +$objPHPExcel->getActiveSheet()->fromArray($dataArray, NULL, 'A2'); + +// Set title row bold +echo date('H:i:s').' Set title row bold'.EOL; +$objPHPExcel->getActiveSheet()->getStyle('A1:D1')->getFont()->setBold(true); + +// Set autofilter +echo date('H:i:s').' Set autofilter'.EOL; +// Always include the complete filter range! +// Excel does support setting only the caption +// row, but that's not a best practise... +$objPHPExcel->getActiveSheet()->setAutoFilter($objPHPExcel->getActiveSheet()->calculateWorksheetDimension()); + +// Set active sheet index to the first sheet, so Excel opens this as the first sheet +$objPHPExcel->setActiveSheetIndex(0); + + +// Save Excel 2007 file +echo date('H:i:s') , " Write to Excel2007 format" , EOL; +$callStartTime = microtime(true); + +$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007'); +$objWriter->save(str_replace('.php', '.xlsx', __FILE__)); +$callEndTime = microtime(true); +$callTime = $callEndTime - $callStartTime; + +echo date('H:i:s') , " File written to " , str_replace('.php', '.xlsx', pathinfo(__FILE__, PATHINFO_BASENAME)) , EOL; +echo 'Call time to write Workbook was ' , sprintf('%.4f',$callTime) , " seconds" , EOL; +// Echo memory usage +echo date('H:i:s') , ' Current memory usage: ' , (memory_get_usage(true) / 1024 / 1024) , " MB" , EOL; + + +// Save Excel 95 file +echo date('H:i:s') , " Write to Excel5 format" , EOL; +$callStartTime = microtime(true); + +$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5'); +$objWriter->save(str_replace('.php', '.xls', __FILE__)); +$callEndTime = microtime(true); +$callTime = $callEndTime - $callStartTime; + +echo date('H:i:s') , " File written to " , str_replace('.php', '.xls', pathinfo(__FILE__, PATHINFO_BASENAME)) , EOL; +echo 'Call time to write Workbook was ' , sprintf('%.4f',$callTime) , " seconds" , EOL; +// Echo memory usage +echo date('H:i:s') , ' Current memory usage: ' , (memory_get_usage(true) / 1024 / 1024) , " MB" , EOL; + + +// Echo memory peak usage +echo date('H:i:s').' Peak memory usage: '.(memory_get_peak_usage(true) / 1024 / 1024).' MB'.EOL; + +// Echo done +echo date('H:i:s').' Done writing files'.EOL; +echo 'Files have been created in ' , getcwd() , EOL; diff --git a/vendor/phpoffice/phpexcel/Examples/11documentsecurity-xls.php b/vendor/phpoffice/phpexcel/Examples/11documentsecurity-xls.php new file mode 100644 index 00000000..b104c7b8 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Examples/11documentsecurity-xls.php @@ -0,0 +1,109 @@ +<?php +/** + * PHPExcel + * + * Copyright (C) 2006 - 2014 PHPExcel + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * @category PHPExcel + * @package PHPExcel + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @version ##VERSION##, ##DATE## + */ + +/** Error reporting */ +error_reporting(E_ALL); +ini_set('display_errors', TRUE); +ini_set('display_startup_errors', TRUE); + +define('EOL',(PHP_SAPI == 'cli') ? PHP_EOL : '<br />'); + +date_default_timezone_set('Europe/London'); + +/** Include PHPExcel */ +require_once dirname(__FILE__) . '/../Classes/PHPExcel.php'; + + +// Create new PHPExcel object +echo date('H:i:s') , " Create new PHPExcel object" , EOL; +$objPHPExcel = new PHPExcel(); + +// Set document properties +echo date('H:i:s') , " Set document properties" , EOL; +$objPHPExcel->getProperties()->setCreator("Maarten Balliauw") + ->setLastModifiedBy("Maarten Balliauw") + ->setTitle("Office 2007 XLSX Test Document") + ->setSubject("Office 2007 XLSX Test Document") + ->setDescription("Test document for Office 2007 XLSX, generated using PHP classes.") + ->setKeywords("office 2007 openxml php") + ->setCategory("Test result file"); + + +// Add some data +echo date('H:i:s') , " Add some data" , EOL; +$objPHPExcel->setActiveSheetIndex(0); +$objPHPExcel->getActiveSheet()->setCellValue('A1', 'Hello'); +$objPHPExcel->getActiveSheet()->setCellValue('B2', 'world!'); +$objPHPExcel->getActiveSheet()->setCellValue('C1', 'Hello'); +$objPHPExcel->getActiveSheet()->setCellValue('D2', 'world!'); + +// Rename worksheet +echo date('H:i:s') , " Rename worksheet" , EOL; +$objPHPExcel->getActiveSheet()->setTitle('Simple'); + + +// Set document security +echo date('H:i:s') , " Set document security" , EOL; +$objPHPExcel->getSecurity()->setLockWindows(true); +$objPHPExcel->getSecurity()->setLockStructure(true); +$objPHPExcel->getSecurity()->setWorkbookPassword("PHPExcel"); + + +// Set sheet security +echo date('H:i:s') , " Set sheet security" , EOL; +$objPHPExcel->getActiveSheet()->getProtection()->setPassword('PHPExcel'); +$objPHPExcel->getActiveSheet()->getProtection()->setSheet(true); // This should be enabled in order to enable any of the following! +$objPHPExcel->getActiveSheet()->getProtection()->setSort(true); +$objPHPExcel->getActiveSheet()->getProtection()->setInsertRows(true); +$objPHPExcel->getActiveSheet()->getProtection()->setFormatCells(true); + + +// Set active sheet index to the first sheet, so Excel opens this as the first sheet +$objPHPExcel->setActiveSheetIndex(0); + + +// Save Excel 95 file +echo date('H:i:s') , " Write to Excel5 format" , EOL; +$callStartTime = microtime(true); + +$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5'); +$objWriter->save(str_replace('.php', '.xls', __FILE__)); +$callEndTime = microtime(true); +$callTime = $callEndTime - $callStartTime; + +echo date('H:i:s') , " File written to " , str_replace('.php', '.xls', pathinfo(__FILE__, PATHINFO_BASENAME)) , EOL; +echo 'Call time to write Workbook was ' , sprintf('%.4f',$callTime) , " seconds" , EOL; +// Echo memory usage +echo date('H:i:s') , ' Current memory usage: ' , (memory_get_usage(true) / 1024 / 1024) , " MB" , EOL; + + +// Echo memory peak usage +echo date('H:i:s') , " Peak memory usage: " , (memory_get_peak_usage(true) / 1024 / 1024) , " MB" , EOL; + +// Echo done +echo date('H:i:s') , " Done writing file" , EOL; +echo 'File has been created in ' , getcwd() , EOL; diff --git a/vendor/phpoffice/phpexcel/Examples/11documentsecurity.php b/vendor/phpoffice/phpexcel/Examples/11documentsecurity.php new file mode 100644 index 00000000..96f5d993 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Examples/11documentsecurity.php @@ -0,0 +1,109 @@ +<?php +/** + * PHPExcel + * + * Copyright (C) 2006 - 2014 PHPExcel + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * @category PHPExcel + * @package PHPExcel + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @version ##VERSION##, ##DATE## + */ + +/** Error reporting */ +error_reporting(E_ALL); +ini_set('display_errors', TRUE); +ini_set('display_startup_errors', TRUE); + +define('EOL',(PHP_SAPI == 'cli') ? PHP_EOL : '<br />'); + +date_default_timezone_set('Europe/London'); + +/** Include PHPExcel */ +require_once dirname(__FILE__) . '/../Classes/PHPExcel.php'; + + +// Create new PHPExcel object +echo date('H:i:s') , " Create new PHPExcel object" , EOL; +$objPHPExcel = new PHPExcel(); + +// Set document properties +echo date('H:i:s') , " Set document properties" , EOL; +$objPHPExcel->getProperties()->setCreator("Maarten Balliauw") + ->setLastModifiedBy("Maarten Balliauw") + ->setTitle("Office 2007 XLSX Test Document") + ->setSubject("Office 2007 XLSX Test Document") + ->setDescription("Test document for Office 2007 XLSX, generated using PHP classes.") + ->setKeywords("office 2007 openxml php") + ->setCategory("Test result file"); + + +// Add some data +echo date('H:i:s') , " Add some data" , EOL; +$objPHPExcel->setActiveSheetIndex(0); +$objPHPExcel->getActiveSheet()->setCellValue('A1', 'Hello'); +$objPHPExcel->getActiveSheet()->setCellValue('B2', 'world!'); +$objPHPExcel->getActiveSheet()->setCellValue('C1', 'Hello'); +$objPHPExcel->getActiveSheet()->setCellValue('D2', 'world!'); + +// Rename worksheet +echo date('H:i:s') , " Rename worksheet" , EOL; +$objPHPExcel->getActiveSheet()->setTitle('Simple'); + + +// Set document security +echo date('H:i:s') , " Set document security" , EOL; +$objPHPExcel->getSecurity()->setLockWindows(true); +$objPHPExcel->getSecurity()->setLockStructure(true); +$objPHPExcel->getSecurity()->setWorkbookPassword("PHPExcel"); + + +// Set sheet security +echo date('H:i:s') , " Set sheet security" , EOL; +$objPHPExcel->getActiveSheet()->getProtection()->setPassword('PHPExcel'); +$objPHPExcel->getActiveSheet()->getProtection()->setSheet(true); // This should be enabled in order to enable any of the following! +$objPHPExcel->getActiveSheet()->getProtection()->setSort(true); +$objPHPExcel->getActiveSheet()->getProtection()->setInsertRows(true); +$objPHPExcel->getActiveSheet()->getProtection()->setFormatCells(true); + + +// Set active sheet index to the first sheet, so Excel opens this as the first sheet +$objPHPExcel->setActiveSheetIndex(0); + + +// Save Excel 2007 file +echo date('H:i:s') , " Write to Excel2007 format" , EOL; +$callStartTime = microtime(true); + +$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007'); +$objWriter->save(str_replace('.php', '.xlsx', __FILE__)); +$callEndTime = microtime(true); +$callTime = $callEndTime - $callStartTime; + +echo date('H:i:s') , " File written to " , str_replace('.php', '.xlsx', pathinfo(__FILE__, PATHINFO_BASENAME)) , EOL; +echo 'Call time to write Workbook was ' , sprintf('%.4f',$callTime) , " seconds" , EOL; +// Echo memory usage +echo date('H:i:s') , ' Current memory usage: ' , (memory_get_usage(true) / 1024 / 1024) , " MB" , EOL; + + +// Echo memory peak usage +echo date('H:i:s') , " Peak memory usage: " , (memory_get_peak_usage(true) / 1024 / 1024) , " MB" , EOL; + +// Echo done +echo date('H:i:s') , " Done writing file" , EOL; +echo 'File has been created in ' , getcwd() , EOL; diff --git a/vendor/phpoffice/phpexcel/Examples/12cellProtection.php b/vendor/phpoffice/phpexcel/Examples/12cellProtection.php new file mode 100644 index 00000000..77bfee4c --- /dev/null +++ b/vendor/phpoffice/phpexcel/Examples/12cellProtection.php @@ -0,0 +1,107 @@ +<?php +/** + * PHPExcel + * + * Copyright (C) 2006 - 2014 PHPExcel + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * @category PHPExcel + * @package PHPExcel + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @version ##VERSION##, ##DATE## + */ + +/** Error reporting */ +error_reporting(E_ALL); +ini_set('display_errors', TRUE); +ini_set('display_startup_errors', TRUE); + +define('EOL',(PHP_SAPI == 'cli') ? PHP_EOL : '<br />'); + +date_default_timezone_set('Europe/London'); + +/** Include PHPExcel */ +require_once dirname(__FILE__) . '/../Classes/PHPExcel.php'; + + +// Create new PHPExcel object +echo date('H:i:s') , " Create new PHPExcel object" , EOL; +$objPHPExcel = new PHPExcel(); + +// Set document properties +echo date('H:i:s') , " Set document properties" , EOL; +$objPHPExcel->getProperties()->setCreator("Mark Baker") + ->setLastModifiedBy("Mark Baker") + ->setTitle("Office 2007 XLSX Test Document") + ->setSubject("Office 2007 XLSX Test Document") + ->setDescription("Test document for Office 2007 XLSX, generated using PHP classes.") + ->setKeywords("office 2007 openxml php") + ->setCategory("Test result file"); + + +// Add some data +echo date('H:i:s') , " Add some data" , EOL; +$objPHPExcel->setActiveSheetIndex(0); +$objPHPExcel->getActiveSheet()->setCellValue('A1', 'Crouching'); +$objPHPExcel->getActiveSheet()->setCellValue('B1', 'Tiger'); +$objPHPExcel->getActiveSheet()->setCellValue('A2', 'Hidden'); +$objPHPExcel->getActiveSheet()->setCellValue('B2', 'Dragon'); + +// Rename worksheet +echo date('H:i:s') , " Rename worksheet" , EOL; +$objPHPExcel->getActiveSheet()->setTitle('Simple'); + + +// Set document security +echo date('H:i:s') , " Set cell protection" , EOL; + + +// Set sheet security +echo date('H:i:s') , " Set sheet security" , EOL; +$objPHPExcel->getActiveSheet()->getProtection()->setSheet(true); +$objPHPExcel->getActiveSheet() + ->getStyle('A2:B2') + ->getProtection()->setLocked( + PHPExcel_Style_Protection::PROTECTION_UNPROTECTED + ); + + +// Set active sheet index to the first sheet, so Excel opens this as the first sheet +$objPHPExcel->setActiveSheetIndex(0); + + +// Save Excel 2007 file +echo date('H:i:s') , " Write to Excel2007 format" , EOL; +$callStartTime = microtime(true); + +$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007'); +$objWriter->save(str_replace('.php', '.xlsx', __FILE__)); +$callEndTime = microtime(true); +$callTime = $callEndTime - $callStartTime; + +echo date('H:i:s') , " File written to " , str_replace('.php', '.xlsx', pathinfo(__FILE__, PATHINFO_BASENAME)) , EOL; +echo 'Call time to write Workbook was ' , sprintf('%.4f',$callTime) , " seconds" , EOL; +// Echo memory usage +echo date('H:i:s') , ' Current memory usage: ' , (memory_get_usage(true) / 1024 / 1024) , " MB" , EOL; + + +// Echo memory peak usage +echo date('H:i:s') , " Peak memory usage: " , (memory_get_peak_usage(true) / 1024 / 1024) , " MB" , EOL; + +// Echo done +echo date('H:i:s') , " Done writing file" , EOL; +echo 'File has been created in ' , getcwd() , EOL; diff --git a/vendor/phpoffice/phpexcel/Examples/13calculation.php b/vendor/phpoffice/phpexcel/Examples/13calculation.php new file mode 100644 index 00000000..01e63ea7 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Examples/13calculation.php @@ -0,0 +1,235 @@ +<?php +/** + * PHPExcel + * + * Copyright (C) 2006 - 2014 PHPExcel + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * @category PHPExcel + * @package PHPExcel + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @version ##VERSION##, ##DATE## + */ + +/** Error reporting */ +error_reporting(E_ALL); +ini_set('display_errors', TRUE); +ini_set('display_startup_errors', TRUE); +date_default_timezone_set('Europe/London'); + +define('EOL',(PHP_SAPI == 'cli') ? PHP_EOL : '<br />'); + +date_default_timezone_set('Europe/London'); +mt_srand(1234567890); + +/** Include PHPExcel */ +require_once dirname(__FILE__) . '/../Classes/PHPExcel.php'; + + +// List functions +echo date('H:i:s') , " List implemented functions" , EOL; +$objCalc = PHPExcel_Calculation::getInstance(); +print_r($objCalc->listFunctionNames()); + +// Create new PHPExcel object +echo date('H:i:s') , " Create new PHPExcel object" , EOL; +$objPHPExcel = new PHPExcel(); + +// Add some data, we will use some formulas here +echo date('H:i:s') , " Add some data and formulas" , EOL; +$objPHPExcel->getActiveSheet()->setCellValue('A14', 'Count:') + ->setCellValue('A15', 'Sum:') + ->setCellValue('A16', 'Max:') + ->setCellValue('A17', 'Min:') + ->setCellValue('A18', 'Average:') + ->setCellValue('A19', 'Median:') + ->setCellValue('A20', 'Mode:'); + +$objPHPExcel->getActiveSheet()->setCellValue('A22', 'CountA:') + ->setCellValue('A23', 'MaxA:') + ->setCellValue('A24', 'MinA:'); + +$objPHPExcel->getActiveSheet()->setCellValue('A26', 'StDev:') + ->setCellValue('A27', 'StDevA:') + ->setCellValue('A28', 'StDevP:') + ->setCellValue('A29', 'StDevPA:'); + +$objPHPExcel->getActiveSheet()->setCellValue('A31', 'DevSq:') + ->setCellValue('A32', 'Var:') + ->setCellValue('A33', 'VarA:') + ->setCellValue('A34', 'VarP:') + ->setCellValue('A35', 'VarPA:'); + +$objPHPExcel->getActiveSheet()->setCellValue('A37', 'Date:'); + + +$objPHPExcel->getActiveSheet()->setCellValue('B1', 'Range 1') + ->setCellValue('B2', 2) + ->setCellValue('B3', 8) + ->setCellValue('B4', 10) + ->setCellValue('B5', True) + ->setCellValue('B6', False) + ->setCellValue('B7', 'Text String') + ->setCellValue('B9', '22') + ->setCellValue('B10', 4) + ->setCellValue('B11', 6) + ->setCellValue('B12', 12); + +$objPHPExcel->getActiveSheet()->setCellValue('B14', '=COUNT(B2:B12)') + ->setCellValue('B15', '=SUM(B2:B12)') + ->setCellValue('B16', '=MAX(B2:B12)') + ->setCellValue('B17', '=MIN(B2:B12)') + ->setCellValue('B18', '=AVERAGE(B2:B12)') + ->setCellValue('B19', '=MEDIAN(B2:B12)') + ->setCellValue('B20', '=MODE(B2:B12)'); + +$objPHPExcel->getActiveSheet()->setCellValue('B22', '=COUNTA(B2:B12)') + ->setCellValue('B23', '=MAXA(B2:B12)') + ->setCellValue('B24', '=MINA(B2:B12)'); + +$objPHPExcel->getActiveSheet()->setCellValue('B26', '=STDEV(B2:B12)') + ->setCellValue('B27', '=STDEVA(B2:B12)') + ->setCellValue('B28', '=STDEVP(B2:B12)') + ->setCellValue('B29', '=STDEVPA(B2:B12)'); + +$objPHPExcel->getActiveSheet()->setCellValue('B31', '=DEVSQ(B2:B12)') + ->setCellValue('B32', '=VAR(B2:B12)') + ->setCellValue('B33', '=VARA(B2:B12)') + ->setCellValue('B34', '=VARP(B2:B12)') + ->setCellValue('B35', '=VARPA(B2:B12)'); + +$objPHPExcel->getActiveSheet()->setCellValue('B37', '=DATE(2007, 12, 21)') + ->setCellValue('B38', '=DATEDIF( DATE(2007, 12, 21), DATE(2007, 12, 22), "D" )') + ->setCellValue('B39', '=DATEVALUE("01-Feb-2006 10:06 AM")') + ->setCellValue('B40', '=DAY( DATE(2006, 1, 2) )') + ->setCellValue('B41', '=DAYS360( DATE(2002, 2, 3), DATE(2005, 5, 31) )'); + + +$objPHPExcel->getActiveSheet()->setCellValue('C1', 'Range 2') + ->setCellValue('C2', 1) + ->setCellValue('C3', 2) + ->setCellValue('C4', 2) + ->setCellValue('C5', 3) + ->setCellValue('C6', 3) + ->setCellValue('C7', 3) + ->setCellValue('C8', '0') + ->setCellValue('C9', 4) + ->setCellValue('C10', 4) + ->setCellValue('C11', 4) + ->setCellValue('C12', 4); + +$objPHPExcel->getActiveSheet()->setCellValue('C14', '=COUNT(C2:C12)') + ->setCellValue('C15', '=SUM(C2:C12)') + ->setCellValue('C16', '=MAX(C2:C12)') + ->setCellValue('C17', '=MIN(C2:C12)') + ->setCellValue('C18', '=AVERAGE(C2:C12)') + ->setCellValue('C19', '=MEDIAN(C2:C12)') + ->setCellValue('C20', '=MODE(C2:C12)'); + +$objPHPExcel->getActiveSheet()->setCellValue('C22', '=COUNTA(C2:C12)') + ->setCellValue('C23', '=MAXA(C2:C12)') + ->setCellValue('C24', '=MINA(C2:C12)'); + +$objPHPExcel->getActiveSheet()->setCellValue('C26', '=STDEV(C2:C12)') + ->setCellValue('C27', '=STDEVA(C2:C12)') + ->setCellValue('C28', '=STDEVP(C2:C12)') + ->setCellValue('C29', '=STDEVPA(C2:C12)'); + +$objPHPExcel->getActiveSheet()->setCellValue('C31', '=DEVSQ(C2:C12)') + ->setCellValue('C32', '=VAR(C2:C12)') + ->setCellValue('C33', '=VARA(C2:C12)') + ->setCellValue('C34', '=VARP(C2:C12)') + ->setCellValue('C35', '=VARPA(C2:C12)'); + + +$objPHPExcel->getActiveSheet()->setCellValue('D1', 'Range 3') + ->setCellValue('D2', 2) + ->setCellValue('D3', 3) + ->setCellValue('D4', 4); + +$objPHPExcel->getActiveSheet()->setCellValue('D14', '=((D2 * D3) + D4) & " should be 10"'); + +$objPHPExcel->getActiveSheet()->setCellValue('E12', 'Other functions') + ->setCellValue('E14', '=PI()') + ->setCellValue('E15', '=RAND()') + ->setCellValue('E16', '=RANDBETWEEN(5, 10)'); + +$objPHPExcel->getActiveSheet()->setCellValue('E17', 'Count of both ranges:') + ->setCellValue('F17', '=COUNT(B2:C12)'); + +$objPHPExcel->getActiveSheet()->setCellValue('E18', 'Total of both ranges:') + ->setCellValue('F18', '=SUM(B2:C12)'); + +$objPHPExcel->getActiveSheet()->setCellValue('E19', 'Maximum of both ranges:') + ->setCellValue('F19', '=MAX(B2:C12)'); + +$objPHPExcel->getActiveSheet()->setCellValue('E20', 'Minimum of both ranges:') + ->setCellValue('F20', '=MIN(B2:C12)'); + +$objPHPExcel->getActiveSheet()->setCellValue('E21', 'Average of both ranges:') + ->setCellValue('F21', '=AVERAGE(B2:C12)'); + +$objPHPExcel->getActiveSheet()->setCellValue('E22', 'Median of both ranges:') + ->setCellValue('F22', '=MEDIAN(B2:C12)'); + +$objPHPExcel->getActiveSheet()->setCellValue('E23', 'Mode of both ranges:') + ->setCellValue('F23', '=MODE(B2:C12)'); + + +// Calculated data +echo date('H:i:s') , " Calculated data" , EOL; +for ($col = 'B'; $col != 'G'; ++$col) { + for($row = 14; $row <= 41; ++$row) { + if ((!is_null($formula = $objPHPExcel->getActiveSheet()->getCell($col.$row)->getValue())) && + ($formula[0] == '=')) { + echo 'Value of ' , $col , $row , ' [' , $formula , ']: ' , + $objPHPExcel->getActiveSheet()->getCell($col.$row)->getCalculatedValue() . EOL; + } + } +} + + +// Save Excel 2007 file +echo date('H:i:s') , " Write to Excel2007 format" , EOL; +$callStartTime = microtime(true); + +$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007'); + +// +// If we set Pre Calculated Formulas to true then PHPExcel will calculate all formulae in the +// workbook before saving. This adds time and memory overhead, and can cause some problems with formulae +// using functions or features (such as array formulae) that aren't yet supported by the calculation engine +// If the value is false (the default) for the Excel2007 Writer, then MS Excel (or the application used to +// open the file) will need to recalculate values itself to guarantee that the correct results are available. +// +//$objWriter->setPreCalculateFormulas(true); +$objWriter->save(str_replace('.php', '.xlsx', __FILE__)); +$callEndTime = microtime(true); +$callTime = $callEndTime - $callStartTime; + +echo date('H:i:s') , " File written to " , str_replace('.php', '.xlsx', pathinfo(__FILE__, PATHINFO_BASENAME)) , EOL; +echo 'Call time to write Workbook was ' , sprintf('%.4f',$callTime) , " seconds" , EOL; +// Echo memory usage +echo date('H:i:s') , ' Current memory usage: ' , (memory_get_usage(true) / 1024 / 1024) , " MB" , EOL; + + +// Echo memory peak usage +echo date('H:i:s') , " Peak memory usage: " , (memory_get_peak_usage(true) / 1024 / 1024) , " MB" , EOL; + +// Echo done +echo date('H:i:s') , " Done writing file" , EOL; +echo 'File has been created in ' , getcwd() , EOL; diff --git a/vendor/phpoffice/phpexcel/Examples/14excel5.php b/vendor/phpoffice/phpexcel/Examples/14excel5.php new file mode 100644 index 00000000..3fd3d69f --- /dev/null +++ b/vendor/phpoffice/phpexcel/Examples/14excel5.php @@ -0,0 +1,63 @@ +<?php +/** + * PHPExcel + * + * Copyright (C) 2006 - 2014 PHPExcel + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * @category PHPExcel + * @package PHPExcel + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @version ##VERSION##, ##DATE## + */ + +/** Error reporting */ +error_reporting(E_ALL); +ini_set('display_errors', TRUE); +ini_set('display_startup_errors', TRUE); + +define('EOL',(PHP_SAPI == 'cli') ? PHP_EOL : '<br />'); + +date_default_timezone_set('Europe/London'); + +include "05featuredemo.inc.php"; + +/** PHPExcel_IOFactory */ +require_once dirname(__FILE__) . '/../Classes/PHPExcel/IOFactory.php'; + + +// Save Excel 95 file +echo date('H:i:s') , " Write to Excel5 format" , EOL; +$callStartTime = microtime(true); + +$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5'); +$objWriter->save(str_replace('.php', '.xls', __FILE__)); +$callEndTime = microtime(true); +$callTime = $callEndTime - $callStartTime; + +echo date('H:i:s') , " File written to " , str_replace('.php', '.xls', pathinfo(__FILE__, PATHINFO_BASENAME)) , EOL; +echo 'Call time to write Workbook was ' , sprintf('%.4f',$callTime) , " seconds" , EOL; +// Echo memory usage +echo date('H:i:s') , ' Current memory usage: ' , (memory_get_usage(true) / 1024 / 1024) , " MB" , EOL; + + +// Echo memory peak usage +echo date('H:i:s') , " Peak memory usage: " , (memory_get_peak_usage(true) / 1024 / 1024) , " MB" , EOL; + +// Echo done +echo date('H:i:s') , " Done writing file" , EOL; +echo 'File has been created in ' , getcwd() , EOL; diff --git a/vendor/phpoffice/phpexcel/Examples/15datavalidation-xls.php b/vendor/phpoffice/phpexcel/Examples/15datavalidation-xls.php new file mode 100644 index 00000000..2f8fa5ee --- /dev/null +++ b/vendor/phpoffice/phpexcel/Examples/15datavalidation-xls.php @@ -0,0 +1,142 @@ +<?php +/** + * PHPExcel + * + * Copyright (C) 2006 - 2014 PHPExcel + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * @category PHPExcel + * @package PHPExcel + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @version ##VERSION##, ##DATE## + */ + +/** Error reporting */ +error_reporting(E_ALL); +ini_set('display_errors', TRUE); +ini_set('display_startup_errors', TRUE); +date_default_timezone_set('Europe/London'); + +define('EOL',(PHP_SAPI == 'cli') ? PHP_EOL : '<br />'); + +date_default_timezone_set('Europe/London'); + +/** Include PHPExcel */ +require_once dirname(__FILE__) . '/../Classes/PHPExcel.php'; + + +// Create new PHPExcel object +echo date('H:i:s') , " Create new PHPExcel object" , EOL; +$objPHPExcel = new PHPExcel(); + + +// Set document properties +echo date('H:i:s') , " Set document properties" , EOL; +$objPHPExcel->getProperties()->setCreator("Maarten Balliauw") + ->setLastModifiedBy("Maarten Balliauw") + ->setTitle("Office 2007 XLSX Test Document") + ->setSubject("Office 2007 XLSX Test Document") + ->setDescription("Test document for Office 2007 XLSX, generated using PHP classes.") + ->setKeywords("office 2007 openxml php") + ->setCategory("Test result file"); + + +// Create a first sheet +echo date('H:i:s') , " Add data" , EOL; +$objPHPExcel->setActiveSheetIndex(0); +$objPHPExcel->getActiveSheet()->setCellValue('A1', "Cell B3 and B5 contain data validation...") + ->setCellValue('A3', "Number:") + ->setCellValue('B3', "10") + ->setCellValue('A5', "List:") + ->setCellValue('B5', "Item A") + ->setCellValue('A7', "List #2:") + ->setCellValue('B7', "Item #2") + ->setCellValue('D2', "Item #1") + ->setCellValue('D3', "Item #2") + ->setCellValue('D4', "Item #3") + ->setCellValue('D5', "Item #4") + ->setCellValue('D6', "Item #5") + ; + + +// Set data validation +echo date('H:i:s') , " Set data validation" , EOL; +$objValidation = $objPHPExcel->getActiveSheet()->getCell('B3')->getDataValidation(); +$objValidation->setType( PHPExcel_Cell_DataValidation::TYPE_WHOLE ); +$objValidation->setErrorStyle( PHPExcel_Cell_DataValidation::STYLE_STOP ); +$objValidation->setAllowBlank(true); +$objValidation->setShowInputMessage(true); +$objValidation->setShowErrorMessage(true); +$objValidation->setErrorTitle('Input error'); +$objValidation->setError('Only numbers between 10 and 20 are allowed!'); +$objValidation->setPromptTitle('Allowed input'); +$objValidation->setPrompt('Only numbers between 10 and 20 are allowed.'); +$objValidation->setFormula1(10); +$objValidation->setFormula2(20); + +$objValidation = $objPHPExcel->getActiveSheet()->getCell('B5')->getDataValidation(); +$objValidation->setType( PHPExcel_Cell_DataValidation::TYPE_LIST ); +$objValidation->setErrorStyle( PHPExcel_Cell_DataValidation::STYLE_INFORMATION ); +$objValidation->setAllowBlank(false); +$objValidation->setShowInputMessage(true); +$objValidation->setShowErrorMessage(true); +$objValidation->setShowDropDown(true); +$objValidation->setErrorTitle('Input error'); +$objValidation->setError('Value is not in list.'); +$objValidation->setPromptTitle('Pick from list'); +$objValidation->setPrompt('Please pick a value from the drop-down list.'); +$objValidation->setFormula1('"Item A,Item B,Item C"'); // Make sure to put the list items between " and " !!! + +$objValidation = $objPHPExcel->getActiveSheet()->getCell('B7')->getDataValidation(); +$objValidation->setType( PHPExcel_Cell_DataValidation::TYPE_LIST ); +$objValidation->setErrorStyle( PHPExcel_Cell_DataValidation::STYLE_INFORMATION ); +$objValidation->setAllowBlank(false); +$objValidation->setShowInputMessage(true); +$objValidation->setShowErrorMessage(true); +$objValidation->setShowDropDown(true); +$objValidation->setErrorTitle('Input error'); +$objValidation->setError('Value is not in list.'); +$objValidation->setPromptTitle('Pick from list'); +$objValidation->setPrompt('Please pick a value from the drop-down list.'); +$objValidation->setFormula1('$D$2:$D$6'); // Make sure NOT to put a range of cells or a formula between " and " !!! + + +// Set active sheet index to the first sheet, so Excel opens this as the first sheet +$objPHPExcel->setActiveSheetIndex(0); + + +// Save Excel 95 file +echo date('H:i:s') , " Write to Excel5 format" , EOL; +$callStartTime = microtime(true); + +$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5'); +$objWriter->save(str_replace('.php', '.xls', __FILE__)); +$callEndTime = microtime(true); +$callTime = $callEndTime - $callStartTime; + +echo date('H:i:s') , " File written to " , str_replace('.php', '.xls', pathinfo(__FILE__, PATHINFO_BASENAME)) , EOL; +echo 'Call time to write Workbook was ' , sprintf('%.4f',$callTime) , " seconds" , EOL; +// Echo memory usage +echo date('H:i:s') , ' Current memory usage: ' , (memory_get_usage(true) / 1024 / 1024) , " MB" , EOL; + + +// Echo memory peak usage +echo date('H:i:s') , " Peak memory usage: " , (memory_get_peak_usage(true) / 1024 / 1024) , " MB" , EOL; + +// Echo done +echo date('H:i:s') , " Done writing file" , EOL; +echo 'File has been created in ' , getcwd() , EOL; diff --git a/vendor/phpoffice/phpexcel/Examples/15datavalidation.php b/vendor/phpoffice/phpexcel/Examples/15datavalidation.php new file mode 100644 index 00000000..932bacc6 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Examples/15datavalidation.php @@ -0,0 +1,143 @@ +<?php +/** + * PHPExcel + * + * Copyright (C) 2006 - 2014 PHPExcel + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * @category PHPExcel + * @package PHPExcel + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @version ##VERSION##, ##DATE## + */ + +/** Error reporting */ +error_reporting(E_ALL); +ini_set('display_errors', TRUE); +ini_set('display_startup_errors', TRUE); +date_default_timezone_set('Europe/London'); + +define('EOL',(PHP_SAPI == 'cli') ? PHP_EOL : '<br />'); + +date_default_timezone_set('Europe/London'); + +/** Include PHPExcel */ +require_once dirname(__FILE__) . '/../Classes/PHPExcel.php'; + + +// Create new PHPExcel object +echo date('H:i:s') , " Create new PHPExcel object" , EOL; +$objPHPExcel = new PHPExcel(); + + +// Set document properties +echo date('H:i:s') , " Set document properties" , EOL; +$objPHPExcel->getProperties()->setCreator("Maarten Balliauw") + ->setLastModifiedBy("Maarten Balliauw") + ->setTitle("Office 2007 XLSX Test Document") + ->setSubject("Office 2007 XLSX Test Document") + ->setDescription("Test document for Office 2007 XLSX, generated using PHP classes.") + ->setKeywords("office 2007 openxml php") + ->setCategory("Test result file"); + + +// Create a first sheet +echo date('H:i:s') , " Add data" , EOL; +$objPHPExcel->setActiveSheetIndex(0); +$objPHPExcel->getActiveSheet()->setCellValue('A1', "Cell B3 and B5 contain data validation...") + ->setCellValue('A3', "Number:") + ->setCellValue('B3', "10") + ->setCellValue('A5', "List:") + ->setCellValue('B5', "Item A") + ->setCellValue('A7', "List #2:") + ->setCellValue('B7', "Item #2") + ->setCellValue('D2', "Item #1") + ->setCellValue('D3', "Item #2") + ->setCellValue('D4', "Item #3") + ->setCellValue('D5', "Item #4") + ->setCellValue('D6', "Item #5") + ; + + +// Set data validation +echo date('H:i:s') , " Set data validation" , EOL; +$objValidation = $objPHPExcel->getActiveSheet()->getCell('B3')->getDataValidation(); +$objValidation->setType( PHPExcel_Cell_DataValidation::TYPE_WHOLE ); +$objValidation->setErrorStyle( PHPExcel_Cell_DataValidation::STYLE_STOP ); +$objValidation->setAllowBlank(true); +$objValidation->setShowInputMessage(true); +$objValidation->setShowErrorMessage(true); +$objValidation->setErrorTitle('Input error'); +$objValidation->setError('Only numbers between 10 and 20 are allowed!'); +$objValidation->setPromptTitle('Allowed input'); +$objValidation->setPrompt('Only numbers between 10 and 20 are allowed.'); +$objValidation->setFormula1(10); +$objValidation->setFormula2(20); + +$objValidation = $objPHPExcel->getActiveSheet()->getCell('B5')->getDataValidation(); +$objValidation->setType( PHPExcel_Cell_DataValidation::TYPE_LIST ); +$objValidation->setErrorStyle( PHPExcel_Cell_DataValidation::STYLE_INFORMATION ); +$objValidation->setAllowBlank(false); +$objValidation->setShowInputMessage(true); +$objValidation->setShowErrorMessage(true); +$objValidation->setShowDropDown(true); +$objValidation->setErrorTitle('Input error'); +$objValidation->setError('Value is not in list.'); +$objValidation->setPromptTitle('Pick from list'); +$objValidation->setPrompt('Please pick a value from the drop-down list.'); +$objValidation->setFormula1('"Item A,Item B,Item C"'); // Make sure to put the list items between " and " if your list is simply a comma-separated list of values !!! + + +$objValidation = $objPHPExcel->getActiveSheet()->getCell('B7')->getDataValidation(); +$objValidation->setType( PHPExcel_Cell_DataValidation::TYPE_LIST ); +$objValidation->setErrorStyle( PHPExcel_Cell_DataValidation::STYLE_INFORMATION ); +$objValidation->setAllowBlank(false); +$objValidation->setShowInputMessage(true); +$objValidation->setShowErrorMessage(true); +$objValidation->setShowDropDown(true); +$objValidation->setErrorTitle('Input error'); +$objValidation->setError('Value is not in list.'); +$objValidation->setPromptTitle('Pick from list'); +$objValidation->setPrompt('Please pick a value from the drop-down list.'); +$objValidation->setFormula1('$D$2:$D$6'); // Make sure NOT to put a range of cells or a formula between " and " !!! + + +// Set active sheet index to the first sheet, so Excel opens this as the first sheet +$objPHPExcel->setActiveSheetIndex(0); + + +// Save Excel 2007 file +echo date('H:i:s') , " Write to Excel2007 format" , EOL; +$callStartTime = microtime(true); + +$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007'); +$objWriter->save(str_replace('.php', '.xlsx', __FILE__)); +$callEndTime = microtime(true); +$callTime = $callEndTime - $callStartTime; + +echo date('H:i:s') , " File written to " , str_replace('.php', '.xlsx', pathinfo(__FILE__, PATHINFO_BASENAME)) , EOL; +echo 'Call time to write Workbook was ' , sprintf('%.4f',$callTime) , " seconds" , EOL; +// Echo memory usage +echo date('H:i:s') , ' Current memory usage: ' , (memory_get_usage(true) / 1024 / 1024) , " MB" , EOL; + + +// Echo memory peak usage +echo date('H:i:s') , " Peak memory usage: " , (memory_get_peak_usage(true) / 1024 / 1024) , " MB" , EOL; + +// Echo done +echo date('H:i:s') , " Done writing file" , EOL; +echo 'File has been created in ' , getcwd() , EOL; diff --git a/vendor/phpoffice/phpexcel/Examples/16csv.php b/vendor/phpoffice/phpexcel/Examples/16csv.php new file mode 100644 index 00000000..71ebfd00 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Examples/16csv.php @@ -0,0 +1,107 @@ +<?php +/** + * PHPExcel + * + * Copyright (C) 2006 - 2014 PHPExcel + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * @category PHPExcel + * @package PHPExcel + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @version ##VERSION##, ##DATE## + */ + +/** Error reporting */ +error_reporting(E_ALL); +ini_set('display_errors', TRUE); +ini_set('display_startup_errors', TRUE); +date_default_timezone_set('Europe/London'); + +define('EOL',(PHP_SAPI == 'cli') ? PHP_EOL : '<br />'); + +date_default_timezone_set('Europe/London'); + +include "05featuredemo.inc.php"; + +/** PHPExcel_IOFactory */ +require_once '../Classes/PHPExcel/IOFactory.php'; + + +echo date('H:i:s') , " Write to CSV format" , EOL; +$callStartTime = microtime(true); + +$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'CSV')->setDelimiter(',') + ->setEnclosure('"') + ->setLineEnding("\r\n") + ->setSheetIndex(0) + ->save(str_replace('.php', '.csv', __FILE__)); +$callEndTime = microtime(true); +$callTime = $callEndTime - $callStartTime; +echo date('H:i:s') , " File written to " , str_replace('.php', '.csv', pathinfo(__FILE__, PATHINFO_BASENAME)) , EOL; +echo 'Call time to write Workbook was ' , sprintf('%.4f',$callTime) , " seconds" , EOL; +// Echo memory usage +echo date('H:i:s') , ' Current memory usage: ' , (memory_get_usage(true) / 1024 / 1024) , " MB" , EOL; + + +echo date('H:i:s') , " Read from CSV format" , EOL; +$callStartTime = microtime(true); +$objReader = PHPExcel_IOFactory::createReader('CSV')->setDelimiter(',') + ->setEnclosure('"') + ->setLineEnding("\r\n") + ->setSheetIndex(0); +$objPHPExcelFromCSV = $objReader->load(str_replace('.php', '.csv', __FILE__)); + +$callEndTime = microtime(true); +$callTime = $callEndTime - $callStartTime; +echo 'Call time to reload Workbook was ' , sprintf('%.4f',$callTime) , " seconds" , EOL; +// Echo memory usage +echo date('H:i:s') , ' Current memory usage: ' , (memory_get_usage(true) / 1024 / 1024) , " MB" , EOL; + + +echo date('H:i:s') , " Write to Excel2007 format" , EOL; +$callStartTime = microtime(true); + +$objWriter2007 = PHPExcel_IOFactory::createWriter($objPHPExcelFromCSV, 'Excel2007'); +$objWriter2007->save(str_replace('.php', '.xlsx', __FILE__)); +$callEndTime = microtime(true); +$callTime = $callEndTime - $callStartTime; +echo date('H:i:s') , " File written to " , str_replace('.php', '.xlsx', pathinfo(__FILE__, PATHINFO_BASENAME)) , EOL; +echo 'Call time to write Workbook was ' , sprintf('%.4f',$callTime) , " seconds" , EOL; +// Echo memory usage +echo date('H:i:s') , ' Current memory usage: ' , (memory_get_usage(true) / 1024 / 1024) , " MB" , EOL; + + +echo date('H:i:s') , " Write to CSV format" , EOL; +$callStartTime = microtime(true); + +$objWriterCSV = PHPExcel_IOFactory::createWriter($objPHPExcelFromCSV, 'CSV'); +$objWriterCSV->setExcelCompatibility(true); +$objWriterCSV->save(str_replace('.php', '_excel.csv', __FILE__)); +$callEndTime = microtime(true); +$callTime = $callEndTime - $callStartTime; +echo date('H:i:s') , " File written to " , str_replace('.php', '_excel.csv', pathinfo(__FILE__, PATHINFO_BASENAME)) , EOL; +echo 'Call time to write Workbook was ' , sprintf('%.4f',$callTime) , " seconds" , EOL; +// Echo memory usage +echo date('H:i:s') , ' Current memory usage: ' , (memory_get_usage(true) / 1024 / 1024) , " MB" , EOL; + + +// Echo memory peak usage +echo date('H:i:s') , " Peak memory usage: " , (memory_get_peak_usage(true) / 1024 / 1024) , " MB" , EOL; + +// Echo done +echo date('H:i:s') , " Done writing files" , EOL; +echo 'Files have been created in ' , getcwd() , EOL; diff --git a/vendor/phpoffice/phpexcel/Examples/17html.php b/vendor/phpoffice/phpexcel/Examples/17html.php new file mode 100644 index 00000000..0dc825b0 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Examples/17html.php @@ -0,0 +1,64 @@ +<?php +/** + * PHPExcel + * + * Copyright (C) 2006 - 2014 PHPExcel + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * @category PHPExcel + * @package PHPExcel + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @version ##VERSION##, ##DATE## + */ + +/** Error reporting */ +error_reporting(E_ALL); +ini_set('display_errors', TRUE); +ini_set('display_startup_errors', TRUE); +date_default_timezone_set('Europe/London'); + +define('EOL',(PHP_SAPI == 'cli') ? PHP_EOL : '<br />'); + +date_default_timezone_set('Europe/London'); + +include "05featuredemo.inc.php"; + +/** PHPExcel_IOFactory */ +require_once dirname(__FILE__) . '/../Classes/PHPExcel/IOFactory.php'; + + +echo date('H:i:s') , " Write to HTML format" , EOL; +$callStartTime = microtime(true); + +$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'HTML'); +$objWriter->setSheetIndex(0); +//$objWriter->setImagesRoot('http://www.example.com'); +$objWriter->save(str_replace('.php', '.htm', __FILE__)); +$callEndTime = microtime(true); +$callTime = $callEndTime - $callStartTime; +echo date('H:i:s') , " File written to " , str_replace('.php', '.htm', pathinfo(__FILE__, PATHINFO_BASENAME)) , EOL; +echo 'Call time to write Workbook was ' , sprintf('%.4f',$callTime) , " seconds" , EOL; +// Echo memory usage +echo date('H:i:s') , ' Current memory usage: ' , (memory_get_usage(true) / 1024 / 1024) , " MB" , EOL; + + +// Echo memory peak usage +echo date('H:i:s') , " Peak memory usage: " , (memory_get_peak_usage(true) / 1024 / 1024) , " MB" , EOL; + +// Echo done +echo date('H:i:s') , " Done writing file" , EOL; +echo 'File has been created in ' , getcwd() , EOL; diff --git a/vendor/phpoffice/phpexcel/Examples/18extendedcalculation.php b/vendor/phpoffice/phpexcel/Examples/18extendedcalculation.php new file mode 100644 index 00000000..3c6fcb49 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Examples/18extendedcalculation.php @@ -0,0 +1,108 @@ +<?php +/** + * PHPExcel + * + * Copyright (C) 2006 - 2014 PHPExcel + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * @category PHPExcel + * @package PHPExcel + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @version ##VERSION##, ##DATE## + */ + +/** Error reporting */ +error_reporting(E_ALL); +ini_set('display_errors', TRUE); +ini_set('display_startup_errors', TRUE); +date_default_timezone_set('Europe/London'); + +define('EOL',(PHP_SAPI == 'cli') ? PHP_EOL : '<br />'); + +date_default_timezone_set('Europe/London'); + +/** PHPExcel */ +require_once dirname(__FILE__) . '/../Classes/PHPExcel.php'; + + +// List functions +echo date('H:i:s') . " List implemented functions\n"; +$objCalc = PHPExcel_Calculation::getInstance(); +print_r($objCalc->listFunctionNames()); + +// Create new PHPExcel object +echo date('H:i:s') . " Create new PHPExcel object\n"; +$objPHPExcel = new PHPExcel(); + +// Add some data, we will use some formulas here +echo date('H:i:s') . " Add some data\n"; +$objPHPExcel->getActiveSheet()->setCellValue('A14', 'Count:'); + +$objPHPExcel->getActiveSheet()->setCellValue('B1', 'Range 1'); +$objPHPExcel->getActiveSheet()->setCellValue('B2', 2); +$objPHPExcel->getActiveSheet()->setCellValue('B3', 8); +$objPHPExcel->getActiveSheet()->setCellValue('B4', 10); +$objPHPExcel->getActiveSheet()->setCellValue('B5', True); +$objPHPExcel->getActiveSheet()->setCellValue('B6', False); +$objPHPExcel->getActiveSheet()->setCellValue('B7', 'Text String'); +$objPHPExcel->getActiveSheet()->setCellValue('B9', '22'); +$objPHPExcel->getActiveSheet()->setCellValue('B10', 4); +$objPHPExcel->getActiveSheet()->setCellValue('B11', 6); +$objPHPExcel->getActiveSheet()->setCellValue('B12', 12); + +$objPHPExcel->getActiveSheet()->setCellValue('B14', '=COUNT(B2:B12)'); + +$objPHPExcel->getActiveSheet()->setCellValue('C1', 'Range 2'); +$objPHPExcel->getActiveSheet()->setCellValue('C2', 1); +$objPHPExcel->getActiveSheet()->setCellValue('C3', 2); +$objPHPExcel->getActiveSheet()->setCellValue('C4', 2); +$objPHPExcel->getActiveSheet()->setCellValue('C5', 3); +$objPHPExcel->getActiveSheet()->setCellValue('C6', 3); +$objPHPExcel->getActiveSheet()->setCellValue('C7', 3); +$objPHPExcel->getActiveSheet()->setCellValue('C8', '0'); +$objPHPExcel->getActiveSheet()->setCellValue('C9', 4); +$objPHPExcel->getActiveSheet()->setCellValue('C10', 4); +$objPHPExcel->getActiveSheet()->setCellValue('C11', 4); +$objPHPExcel->getActiveSheet()->setCellValue('C12', 4); + +$objPHPExcel->getActiveSheet()->setCellValue('C14', '=COUNT(C2:C12)'); + +$objPHPExcel->getActiveSheet()->setCellValue('D1', 'Range 3'); +$objPHPExcel->getActiveSheet()->setCellValue('D2', 2); +$objPHPExcel->getActiveSheet()->setCellValue('D3', 3); +$objPHPExcel->getActiveSheet()->setCellValue('D4', 4); + +$objPHPExcel->getActiveSheet()->setCellValue('D5', '=((D2 * D3) + D4) & " should be 10"'); + +$objPHPExcel->getActiveSheet()->setCellValue('E1', 'Other functions'); +$objPHPExcel->getActiveSheet()->setCellValue('E2', '=PI()'); +$objPHPExcel->getActiveSheet()->setCellValue('E3', '=RAND()'); +$objPHPExcel->getActiveSheet()->setCellValue('E4', '=RANDBETWEEN(5, 10)'); + +$objPHPExcel->getActiveSheet()->setCellValue('E14', 'Count of both ranges:'); +$objPHPExcel->getActiveSheet()->setCellValue('F14', '=COUNT(B2:C12)'); + +// Calculated data +echo date('H:i:s') . " Calculated data\n"; +echo 'Value of B14 [=COUNT(B2:B12)]: ' . $objPHPExcel->getActiveSheet()->getCell('B14')->getCalculatedValue() . "\r\n"; + + +// Echo memory peak usage +echo date('H:i:s') . " Peak memory usage: " . (memory_get_peak_usage(true) / 1024 / 1024) . " MB\r\n"; + +// Echo done +echo date('H:i:s') . " Done" , EOL; diff --git a/vendor/phpoffice/phpexcel/Examples/19namedrange.php b/vendor/phpoffice/phpexcel/Examples/19namedrange.php new file mode 100644 index 00000000..acea22b6 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Examples/19namedrange.php @@ -0,0 +1,129 @@ +<?php +/** + * PHPExcel + * + * Copyright (C) 2006 - 2014 PHPExcel + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * @category PHPExcel + * @package PHPExcel + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @version ##VERSION##, ##DATE## + */ + +/** Error reporting */ +error_reporting(E_ALL); +ini_set('display_errors', TRUE); +ini_set('display_startup_errors', TRUE); +date_default_timezone_set('Europe/London'); + +define('EOL',(PHP_SAPI == 'cli') ? PHP_EOL : '<br />'); + +date_default_timezone_set('Europe/London'); + +/** Include PHPExcel */ +require_once dirname(__FILE__) . '/../Classes/PHPExcel.php'; + + +// Create new PHPExcel object +echo date('H:i:s') , " Create new PHPExcel object" , EOL; +$objPHPExcel = new PHPExcel(); + +// Set document properties +echo date('H:i:s') , " Set document properties" , EOL; +$objPHPExcel->getProperties()->setCreator("Maarten Balliauw") + ->setLastModifiedBy("Maarten Balliauw") + ->setTitle("Office 2007 XLSX Test Document") + ->setSubject("Office 2007 XLSX Test Document") + ->setDescription("Test document for Office 2007 XLSX, generated using PHP classes.") + ->setKeywords("office 2007 openxml php") + ->setCategory("Test result file"); + + +// Add some data +echo date('H:i:s') , " Add some data" , EOL; +$objPHPExcel->setActiveSheetIndex(0); +$objPHPExcel->getActiveSheet()->setCellValue('A1', 'Firstname:') + ->setCellValue('A2', 'Lastname:') + ->setCellValue('A3', 'Fullname:') + ->setCellValue('B1', 'Maarten') + ->setCellValue('B2', 'Balliauw') + ->setCellValue('B3', '=B1 & " " & B2'); + +// Define named ranges +echo date('H:i:s') , " Define named ranges" , EOL; +$objPHPExcel->addNamedRange( new PHPExcel_NamedRange('PersonName', $objPHPExcel->getActiveSheet(), 'B1') ); +$objPHPExcel->addNamedRange( new PHPExcel_NamedRange('PersonLN', $objPHPExcel->getActiveSheet(), 'B2') ); + +// Rename named ranges +echo date('H:i:s') , " Rename named ranges" , EOL; +$objPHPExcel->getNamedRange('PersonName')->setName('PersonFN'); + +// Rename worksheet +echo date('H:i:s') , " Rename worksheet" , EOL; +$objPHPExcel->getActiveSheet()->setTitle('Person'); + + +// Create a new worksheet, after the default sheet +echo date('H:i:s') , " Create new Worksheet object" , EOL; +$objPHPExcel->createSheet(); + +// Add some data to the second sheet, resembling some different data types +echo date('H:i:s') , " Add some data" , EOL; +$objPHPExcel->setActiveSheetIndex(1); +$objPHPExcel->getActiveSheet()->setCellValue('A1', 'Firstname:') + ->setCellValue('A2', 'Lastname:') + ->setCellValue('A3', 'Fullname:') + ->setCellValue('B1', '=PersonFN') + ->setCellValue('B2', '=PersonLN') + ->setCellValue('B3', '=PersonFN & " " & PersonLN'); + +// Resolve range +echo date('H:i:s') , " Resolve range" , EOL; +echo 'Cell B1 {=PersonFN}: ' , $objPHPExcel->getActiveSheet()->getCell('B1')->getCalculatedValue() , EOL; +echo 'Cell B3 {=PersonFN & " " & PersonLN}: ' , $objPHPExcel->getActiveSheet()->getCell('B3')->getCalculatedValue() , EOL; +echo 'Cell Person!B1: ' , $objPHPExcel->getActiveSheet()->getCell('Person!B1')->getCalculatedValue() , EOL; + +// Rename worksheet +echo date('H:i:s') , " Rename worksheet" , EOL; +$objPHPExcel->getActiveSheet()->setTitle('Person (cloned)'); + +// Set active sheet index to the first sheet, so Excel opens this as the first sheet +$objPHPExcel->setActiveSheetIndex(0); + + +// Save Excel 2007 file +echo date('H:i:s') , " Write to Excel2007 format" , EOL; +$callStartTime = microtime(true); + +$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007'); +$objWriter->save(str_replace('.php', '.xlsx', __FILE__)); +$callEndTime = microtime(true); +$callTime = $callEndTime - $callStartTime; + +echo date('H:i:s') , " File written to " , str_replace('.php', '.xlsx', pathinfo(__FILE__, PATHINFO_BASENAME)) , EOL; +echo 'Call time to write Workbook was ' , sprintf('%.4f',$callTime) , " seconds" , EOL; +// Echo memory usage +echo date('H:i:s') , ' Current memory usage: ' , (memory_get_usage(true) / 1024 / 1024) , " MB" , EOL; + + +// Echo memory peak usage +echo date('H:i:s') , " Peak memory usage: " , (memory_get_peak_usage(true) / 1024 / 1024) , " MB" , EOL; + +// Echo done +echo date('H:i:s') , " Done writing file" , EOL; +echo 'File has been created in ' , getcwd() , EOL; diff --git a/vendor/phpoffice/phpexcel/Examples/20readexcel5.php b/vendor/phpoffice/phpexcel/Examples/20readexcel5.php new file mode 100644 index 00000000..d99b2306 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Examples/20readexcel5.php @@ -0,0 +1,79 @@ +<?php +/** + * PHPExcel + * + * Copyright (C) 2006 - 2014 PHPExcel + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * @category PHPExcel + * @package PHPExcel + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @version ##VERSION##, ##DATE## + */ + +/** Error reporting */ +error_reporting(E_ALL); +ini_set('display_errors', TRUE); +ini_set('display_startup_errors', TRUE); +date_default_timezone_set('Europe/London'); + +define('EOL',(PHP_SAPI == 'cli') ? PHP_EOL : '<br />'); + +date_default_timezone_set('Europe/London'); + +/** Include PHPExcel_IOFactory */ +require_once dirname(__FILE__) . '/../Classes/PHPExcel/IOFactory.php'; + + +if (!file_exists("14excel5.xls")) { + exit("Please run 14excel5.php first.\n"); +} + +echo date('H:i:s') , " Load workbook from Excel5 file" , EOL; +$callStartTime = microtime(true); + +$objPHPExcel = PHPExcel_IOFactory::load("14excel5.xls"); + +$callEndTime = microtime(true); +$callTime = $callEndTime - $callStartTime; + +echo 'Call time to load Workbook was ' , sprintf('%.4f',$callTime) , " seconds" , EOL; +// Echo memory usage +echo date('H:i:s') , ' Current memory usage: ' , (memory_get_usage(true) / 1024 / 1024) , " MB" , EOL; + + +// Save Excel 2007 file +echo date('H:i:s') , " Write to Excel2007 format" , EOL; +$callStartTime = microtime(true); + +$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007'); +$objWriter->save(str_replace('.php', '.xlsx', __FILE__)); +$callEndTime = microtime(true); +$callTime = $callEndTime - $callStartTime; + +echo date('H:i:s') , " File written to " , str_replace('.php', '.xlsx', pathinfo(__FILE__, PATHINFO_BASENAME)) , EOL; +echo 'Call time to write Workbook was ' , sprintf('%.4f',$callTime) , " seconds" , EOL; +// Echo memory usage +echo date('H:i:s') , ' Current memory usage: ' , (memory_get_usage(true) / 1024 / 1024) , " MB" , EOL; + + +// Echo memory peak usage +echo date('H:i:s') , " Peak memory usage: " , (memory_get_peak_usage(true) / 1024 / 1024) , " MB" , EOL; + +// Echo done +echo date('H:i:s') , " Done reading file" , EOL; +echo 'File has been created in ' , getcwd() , EOL; diff --git a/vendor/phpoffice/phpexcel/Examples/21pdf.php b/vendor/phpoffice/phpexcel/Examples/21pdf.php new file mode 100644 index 00000000..11c56b2c --- /dev/null +++ b/vendor/phpoffice/phpexcel/Examples/21pdf.php @@ -0,0 +1,94 @@ +<?php +/** + * PHPExcel + * + * Copyright (C) 2006 - 2014 PHPExcel + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * @category PHPExcel + * @package PHPExcel + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @version ##VERSION##, ##DATE## + */ + +/** Error reporting */ +error_reporting(E_ALL); +ini_set('display_errors', TRUE); +ini_set('display_startup_errors', TRUE); +date_default_timezone_set('Europe/London'); + +define('EOL',(PHP_SAPI == 'cli') ? PHP_EOL : '<br />'); + +date_default_timezone_set('Europe/London'); + +include "05featuredemo.inc.php"; + +/** PHPExcel_IOFactory */ +require_once dirname(__FILE__) . '/../Classes/PHPExcel/IOFactory.php'; + + +// Change these values to select the Rendering library that you wish to use +// and its directory location on your server +//$rendererName = PHPExcel_Settings::PDF_RENDERER_TCPDF; +//$rendererName = PHPExcel_Settings::PDF_RENDERER_MPDF; +$rendererName = PHPExcel_Settings::PDF_RENDERER_DOMPDF; +//$rendererLibrary = 'tcPDF5.9'; +//$rendererLibrary = 'mPDF5.4'; +$rendererLibrary = 'domPDF0.6.0beta3'; +$rendererLibraryPath = '/php/libraries/PDF/' . $rendererLibrary; + + +echo date('H:i:s') , " Hide grid lines" , EOL; +$objPHPExcel->getActiveSheet()->setShowGridLines(false); + +echo date('H:i:s') , " Set orientation to landscape" , EOL; +$objPHPExcel->getActiveSheet()->getPageSetup()->setOrientation(PHPExcel_Worksheet_PageSetup::ORIENTATION_LANDSCAPE); + + +echo date('H:i:s') , " Write to PDF format using {$rendererName}" , EOL; + +if (!PHPExcel_Settings::setPdfRenderer( + $rendererName, + $rendererLibraryPath + )) { + die( + 'NOTICE: Please set the $rendererName and $rendererLibraryPath values' . + EOL . + 'at the top of this script as appropriate for your directory structure' + ); +} + + +$callStartTime = microtime(true); + +$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'PDF'); +$objWriter->setSheetIndex(0); +$objWriter->save(str_replace('.php', '_'.$rendererName.'.pdf', __FILE__)); +$callEndTime = microtime(true); +$callTime = $callEndTime - $callStartTime; +echo date('H:i:s') , " File written to " , str_replace('.php', '_'.$rendererName.'.pdf', pathinfo(__FILE__, PATHINFO_BASENAME)) , EOL; +echo 'Call time to write Workbook was ' , sprintf('%.4f',$callTime) , " seconds" , EOL; +// Echo memory usage +echo date('H:i:s') , ' Current memory usage: ' , (memory_get_usage(true) / 1024 / 1024) , " MB" , EOL; + + +// Echo memory peak usage +echo date('H:i:s') , " Peak memory usage: " , (memory_get_peak_usage(true) / 1024 / 1024) , " MB" , EOL; + +// Echo done +echo date('H:i:s') , " Done writing files" , EOL; +echo 'File has been created in ' , getcwd() , EOL; diff --git a/vendor/phpoffice/phpexcel/Examples/22heavilyformatted.php b/vendor/phpoffice/phpexcel/Examples/22heavilyformatted.php new file mode 100644 index 00000000..c17bc868 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Examples/22heavilyformatted.php @@ -0,0 +1,116 @@ +<?php +/** + * PHPExcel + * + * Copyright (C) 2006 - 2014 PHPExcel + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * @category PHPExcel + * @package PHPExcel + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @version ##VERSION##, ##DATE## + */ + +/** Error reporting */ +error_reporting(E_ALL); +ini_set('display_errors', TRUE); +ini_set('display_startup_errors', TRUE); +date_default_timezone_set('Europe/London'); + +define('EOL',(PHP_SAPI == 'cli') ? PHP_EOL : '<br />'); + +date_default_timezone_set('Europe/London'); + +/** Include PHPExcel */ +require_once dirname(__FILE__) . '/../Classes/PHPExcel.php'; + + +// Create new PHPExcel object +echo date('H:i:s') , " Create new PHPExcel object" , EOL; +$objPHPExcel = new PHPExcel(); + +// Set document properties +echo date('H:i:s') , " Set document properties" , EOL; +$objPHPExcel->getProperties()->setCreator("Maarten Balliauw") + ->setLastModifiedBy("Maarten Balliauw") + ->setTitle("Office 2007 XLSX Test Document") + ->setSubject("Office 2007 XLSX Test Document") + ->setDescription("Test document for Office 2007 XLSX, generated using PHP classes.") + ->setKeywords("office 2007 openxml php") + ->setCategory("Test result file"); + + +// Add some data +echo date('H:i:s') , " Add some data" , EOL; +$objPHPExcel->setActiveSheetIndex(0); + +$objPHPExcel->getActiveSheet()->getStyle('A1:T100')->applyFromArray( + array('fill' => array( + 'type' => PHPExcel_Style_Fill::FILL_SOLID, + 'color' => array('argb' => 'FFCCFFCC') + ), + 'borders' => array( + 'bottom' => array('style' => PHPExcel_Style_Border::BORDER_THIN), + 'right' => array('style' => PHPExcel_Style_Border::BORDER_MEDIUM) + ) + ) + ); + +$objPHPExcel->getActiveSheet()->getStyle('C5:R95')->applyFromArray( + array('fill' => array( + 'type' => PHPExcel_Style_Fill::FILL_SOLID, + 'color' => array('argb' => 'FFFFFF00') + ), + ) + ); + +// Save Excel 2007 file +echo date('H:i:s') , " Write to Excel2007 format" , EOL; +$callStartTime = microtime(true); + +$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007'); +$objWriter->save(str_replace('.php', '.xlsx', __FILE__)); +$callEndTime = microtime(true); +$callTime = $callEndTime - $callStartTime; + +echo date('H:i:s') , " File written to " , str_replace('.php', '.xlsx', pathinfo(__FILE__, PATHINFO_BASENAME)) , EOL; +echo 'Call time to write Workbook was ' , sprintf('%.4f',$callTime) , " seconds" , EOL; +// Echo memory usage +echo date('H:i:s') , ' Current memory usage: ' , (memory_get_usage(true) / 1024 / 1024) , " MB" , EOL; + + +// Save Excel 95 file +echo date('H:i:s') , " Write to Excel5 format" , EOL; +$callStartTime = microtime(true); + +$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5'); +$objWriter->save(str_replace('.php', '.xls', __FILE__)); +$callEndTime = microtime(true); +$callTime = $callEndTime - $callStartTime; + +echo date('H:i:s') , " File written to " , str_replace('.php', '.xls', pathinfo(__FILE__, PATHINFO_BASENAME)) , EOL; +echo 'Call time to write Workbook was ' , sprintf('%.4f',$callTime) , " seconds" , EOL; +// Echo memory usage +echo date('H:i:s') , ' Current memory usage: ' , (memory_get_usage(true) / 1024 / 1024) , " MB" , EOL; + + +// Echo memory peak usage +echo date('H:i:s') , " Peak memory usage: " , (memory_get_peak_usage(true) / 1024 / 1024) , " MB" , EOL; + +// Echo done +echo date('H:i:s') , " Done writing file" , EOL; +echo 'File has been created in ' , getcwd() , EOL; diff --git a/vendor/phpoffice/phpexcel/Examples/23sharedstyles.php b/vendor/phpoffice/phpexcel/Examples/23sharedstyles.php new file mode 100644 index 00000000..652b4ed2 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Examples/23sharedstyles.php @@ -0,0 +1,124 @@ +<?php +/** + * PHPExcel + * + * Copyright (C) 2006 - 2014 PHPExcel + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * @category PHPExcel + * @package PHPExcel + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @version ##VERSION##, ##DATE## + */ + +/** Error reporting */ +error_reporting(E_ALL); +ini_set('display_errors', TRUE); +ini_set('display_startup_errors', TRUE); +date_default_timezone_set('Europe/London'); + +define('EOL',(PHP_SAPI == 'cli') ? PHP_EOL : '<br />'); + +date_default_timezone_set('Europe/London'); + +/** Include PHPExcel */ +require_once dirname(__FILE__) . '/../Classes/PHPExcel.php'; + + +// Create new PHPExcel object +echo date('H:i:s') , " Create new PHPExcel object" , EOL; +$objPHPExcel = new PHPExcel(); + +// Set document properties +echo date('H:i:s') , " Set document properties" , EOL; +$objPHPExcel->getProperties()->setCreator("Maarten Balliauw") + ->setLastModifiedBy("Maarten Balliauw") + ->setTitle("Office 2007 XLSX Test Document") + ->setSubject("Office 2007 XLSX Test Document") + ->setDescription("Test document for Office 2007 XLSX, generated using PHP classes.") + ->setKeywords("office 2007 openxml php") + ->setCategory("Test result file"); + + +// Add some data +echo date('H:i:s') , " Add some data" , EOL; +$objPHPExcel->setActiveSheetIndex(0); + +$sharedStyle1 = new PHPExcel_Style(); +$sharedStyle2 = new PHPExcel_Style(); + +$sharedStyle1->applyFromArray( + array('fill' => array( + 'type' => PHPExcel_Style_Fill::FILL_SOLID, + 'color' => array('argb' => 'FFCCFFCC') + ), + 'borders' => array( + 'bottom' => array('style' => PHPExcel_Style_Border::BORDER_THIN), + 'right' => array('style' => PHPExcel_Style_Border::BORDER_MEDIUM) + ) + )); + +$sharedStyle2->applyFromArray( + array('fill' => array( + 'type' => PHPExcel_Style_Fill::FILL_SOLID, + 'color' => array('argb' => 'FFFFFF00') + ), + 'borders' => array( + 'bottom' => array('style' => PHPExcel_Style_Border::BORDER_THIN), + 'right' => array('style' => PHPExcel_Style_Border::BORDER_MEDIUM) + ) + )); + +$objPHPExcel->getActiveSheet()->setSharedStyle($sharedStyle1, "A1:T100"); +$objPHPExcel->getActiveSheet()->setSharedStyle($sharedStyle2, "C5:R95"); + +// Save Excel 2007 file +echo date('H:i:s') , " Write to Excel2007 format" , EOL; +$callStartTime = microtime(true); + +$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007'); +$objWriter->save(str_replace('.php', '.xlsx', __FILE__)); +$callEndTime = microtime(true); +$callTime = $callEndTime - $callStartTime; + +echo date('H:i:s') , " File written to " , str_replace('.php', '.xlsx', pathinfo(__FILE__, PATHINFO_BASENAME)) , EOL; +echo 'Call time to write Workbook was ' , sprintf('%.4f',$callTime) , " seconds" , EOL; +// Echo memory usage +echo date('H:i:s') , ' Current memory usage: ' , (memory_get_usage(true) / 1024 / 1024) , " MB" , EOL; + + +// Save Excel 95 file +echo date('H:i:s') , " Write to Excel5 format" , EOL; +$callStartTime = microtime(true); + +$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5'); +$objWriter->save(str_replace('.php', '.xls', __FILE__)); +$callEndTime = microtime(true); +$callTime = $callEndTime - $callStartTime; + +echo date('H:i:s') , " File written to " , str_replace('.php', '.xls', pathinfo(__FILE__, PATHINFO_BASENAME)) , EOL; +echo 'Call time to write Workbook was ' , sprintf('%.4f',$callTime) , " seconds" , EOL; +// Echo memory usage +echo date('H:i:s') , ' Current memory usage: ' , (memory_get_usage(true) / 1024 / 1024) , " MB" , EOL; + + +// Echo memory peak usage +echo date('H:i:s') , " Peak memory usage: " , (memory_get_peak_usage(true) / 1024 / 1024) , " MB" , EOL; + +// Echo done +echo date('H:i:s') , " Done writing file" , EOL; +echo 'File has been created in ' , getcwd() , EOL; diff --git a/vendor/phpoffice/phpexcel/Examples/24readfilter.php b/vendor/phpoffice/phpexcel/Examples/24readfilter.php new file mode 100644 index 00000000..afa6d0c4 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Examples/24readfilter.php @@ -0,0 +1,77 @@ +<?php +/** + * PHPExcel + * + * Copyright (C) 2006 - 2014 PHPExcel + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * @category PHPExcel + * @package PHPExcel + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @version ##VERSION##, ##DATE## + */ + +error_reporting(E_ALL); +ini_set('display_errors', TRUE); +ini_set('display_startup_errors', TRUE); + +define('EOL',(PHP_SAPI == 'cli') ? PHP_EOL : '<br />'); + +date_default_timezone_set('Europe/London'); + +/** PHPExcel_IOFactory */ +require_once dirname(__FILE__) . '/../Classes/PHPExcel/IOFactory.php'; + + +// Check prerequisites +if (!file_exists("06largescale.xlsx")) { + exit("Please run 06largescale.php first.\n"); +} + +class MyReadFilter implements PHPExcel_Reader_IReadFilter +{ + public function readCell($column, $row, $worksheetName = '') { + // Read title row and rows 20 - 30 + if ($row == 1 || ($row >= 20 && $row <= 30)) { + return true; + } + + return false; + } +} + + +echo date('H:i:s') , " Load from Excel2007 file" , EOL; +$objReader = PHPExcel_IOFactory::createReader('Excel2007'); +$objReader->setReadFilter( new MyReadFilter() ); +$objPHPExcel = $objReader->load("06largescale.xlsx"); + +echo date('H:i:s') , " Remove unnecessary rows" , EOL; +$objPHPExcel->getActiveSheet()->removeRow(2, 18); + +echo date('H:i:s') , " Write to Excel2007 format" , EOL; +$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007'); +$objWriter->save(str_replace('.php', '.xlsx', __FILE__)); +echo date('H:i:s') , " File written to " , str_replace('.php', '.xlsx', pathinfo(__FILE__, PATHINFO_BASENAME)) , EOL; + + +// Echo memory peak usage +echo date('H:i:s') , " Peak memory usage: " , (memory_get_peak_usage(true) / 1024 / 1024) , " MB" , EOL; + +// Echo done +echo date('H:i:s') , " Done writing file" , EOL; +echo 'File has been created in ' , getcwd() , EOL; diff --git a/vendor/phpoffice/phpexcel/Examples/25inmemoryimage.php b/vendor/phpoffice/phpexcel/Examples/25inmemoryimage.php new file mode 100644 index 00000000..7a3424e2 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Examples/25inmemoryimage.php @@ -0,0 +1,83 @@ +<?php +/** + * PHPExcel + * + * Copyright (C) 2006 - 2014 PHPExcel + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * @category PHPExcel + * @package PHPExcel + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @version ##VERSION##, ##DATE## + */ + +/** Error reporting */ +error_reporting(E_ALL); +ini_set('display_errors', TRUE); +ini_set('display_startup_errors', TRUE); + +define('EOL',(PHP_SAPI == 'cli') ? PHP_EOL : '<br />'); + +date_default_timezone_set('Europe/London'); + +/** Include PHPExcel */ +require_once dirname(__FILE__) . '/../Classes/PHPExcel.php'; + + +// Create new PHPExcel object +echo date('H:i:s') , " Create new PHPExcel object" , EOL; +$objPHPExcel = new PHPExcel(); + +// Set document properties +echo date('H:i:s') , " Set document properties" , EOL; +$objPHPExcel->getProperties()->setCreator("Maarten Balliauw") + ->setLastModifiedBy("Maarten Balliauw") + ->setTitle("Office 2007 XLSX Test Document") + ->setSubject("Office 2007 XLSX Test Document") + ->setDescription("Test document for Office 2007 XLSX, generated using PHP classes.") + ->setKeywords("office 2007 openxml php") + ->setCategory("Test result file"); + +// Generate an image +echo date('H:i:s') , " Generate an image" , EOL; +$gdImage = @imagecreatetruecolor(120, 20) or die('Cannot Initialize new GD image stream'); +$textColor = imagecolorallocate($gdImage, 255, 255, 255); +imagestring($gdImage, 1, 5, 5, 'Created with PHPExcel', $textColor); + +// Add a drawing to the worksheet +echo date('H:i:s') , " Add a drawing to the worksheet" , EOL; +$objDrawing = new PHPExcel_Worksheet_MemoryDrawing(); +$objDrawing->setName('Sample image'); +$objDrawing->setDescription('Sample image'); +$objDrawing->setImageResource($gdImage); +$objDrawing->setRenderingFunction(PHPExcel_Worksheet_MemoryDrawing::RENDERING_JPEG); +$objDrawing->setMimeType(PHPExcel_Worksheet_MemoryDrawing::MIMETYPE_DEFAULT); +$objDrawing->setHeight(36); +$objDrawing->setWorksheet($objPHPExcel->getActiveSheet()); + +echo date('H:i:s') , " Write to Excel2007 format" , EOL; +$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007'); +$objWriter->save(str_replace('.php', '.xlsx', __FILE__)); +echo date('H:i:s') , " File written to " , str_replace('.php', '.xlsx', pathinfo(__FILE__, PATHINFO_BASENAME)) , EOL; + + +// Echo memory peak usage +echo date('H:i:s') , " Peak memory usage: " , (memory_get_peak_usage(true) / 1024 / 1024) , " MB" , EOL; + +// Echo done +echo date('H:i:s') , " Done writing file" , EOL; +echo 'File has been created in ' , getcwd() , EOL; diff --git a/vendor/phpoffice/phpexcel/Examples/26utf8.php b/vendor/phpoffice/phpexcel/Examples/26utf8.php new file mode 100644 index 00000000..ad0b4005 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Examples/26utf8.php @@ -0,0 +1,122 @@ +<?php +/** + * PHPExcel + * + * Copyright (C) 2006 - 2014 PHPExcel + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * @category PHPExcel + * @package PHPExcel + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @version ##VERSION##, ##DATE## + */ + +/** Error reporting */ +error_reporting(E_ALL); +ini_set('display_errors', TRUE); +ini_set('display_startup_errors', TRUE); + +define('EOL',(PHP_SAPI == 'cli') ? PHP_EOL : '<br />'); + +date_default_timezone_set('Europe/London'); + +/** Include PHPExcel */ +require_once dirname(__FILE__) . '/../Classes/PHPExcel.php'; + + +// Change these values to select the PDF Rendering library that you wish to use +// and its directory location on your server +//$rendererName = PHPExcel_Settings::PDF_RENDERER_TCPDF; +//$rendererName = PHPExcel_Settings::PDF_RENDERER_MPDF; +$rendererName = PHPExcel_Settings::PDF_RENDERER_DOMPDF; +//$rendererLibrary = 'tcPDF5.9'; +//$rendererLibrary = 'mPDF5.4'; +$rendererLibrary = 'domPDF0.6.0beta3'; +$rendererLibraryPath = '/php/libraries/PDF/' . $rendererLibrary; + + +// Read from Excel2007 (.xlsx) template +echo date('H:i:s') , " Load Excel2007 template file" , EOL; +$objReader = PHPExcel_IOFactory::createReader('Excel2007'); +$objPHPExcel = $objReader->load("templates/26template.xlsx"); + +/** at this point, we could do some manipulations with the template, but we skip this step */ + +// Export to Excel2007 (.xlsx) +echo date('H:i:s') , " Write to Excel5 format" , EOL; +$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007'); +$objWriter->save(str_replace('.php', '.xlsx', __FILE__)); +echo date('H:i:s') , " File written to " , str_replace('.php', '.xlsx', pathinfo(__FILE__, PATHINFO_BASENAME)) , EOL; + +// Export to Excel5 (.xls) +echo date('H:i:s') , " Write to Excel5 format" , EOL; +$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5'); +$objWriter->save(str_replace('.php', '.xls', __FILE__)); +echo date('H:i:s') , " File written to " , str_replace('.php', '.xls', pathinfo(__FILE__, PATHINFO_BASENAME)) , EOL; + +// Export to HTML (.html) +echo date('H:i:s') , " Write to HTML format" , EOL; +$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'HTML'); +$objWriter->save(str_replace('.php', '.htm', __FILE__)); +echo date('H:i:s') , " File written to " , str_replace('.php', '.htm', pathinfo(__FILE__, PATHINFO_BASENAME)) , EOL; + +// Export to PDF (.pdf) +echo date('H:i:s') , " Write to PDF format" , EOL; +try { + if (!PHPExcel_Settings::setPdfRenderer( + $rendererName, + $rendererLibraryPath + )) { + echo ( + 'NOTICE: Please set the $rendererName and $rendererLibraryPath values' . + EOL . + 'at the top of this script as appropriate for your directory structure' . + EOL + ); + } else { + $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'PDF'); + $objWriter->save(str_replace('.php', '.pdf', __FILE__)); + echo date('H:i:s') , " File written to " , str_replace('.php', '.pdf', pathinfo(__FILE__, PATHINFO_BASENAME)) , EOL; + } +} catch (Exception $e) { + echo date('H:i:s') , ' EXCEPTION: ', $e->getMessage() , EOL; +} + +// Remove first two rows with field headers before exporting to CSV +echo date('H:i:s') , " Removing first two heading rows for CSV export" , EOL; +$objWorksheet = $objPHPExcel->getActiveSheet(); +$objWorksheet->removeRow(1, 2); + +// Export to CSV (.csv) +echo date('H:i:s') , " Write to CSV format" , EOL; +$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'CSV'); +$objWriter->save(str_replace('.php', '.csv', __FILE__)); +echo date('H:i:s') , " File written to " , str_replace('.php', '.csv', pathinfo(__FILE__, PATHINFO_BASENAME)) , EOL; + +// Export to CSV with BOM (.csv) +echo date('H:i:s') , " Write to CSV format (with BOM)" , EOL; +$objWriter->setUseBOM(true); +$objWriter->save(str_replace('.php', '-bom.csv', __FILE__)); +echo date('H:i:s') , " File written to " , str_replace('.php', '-bom.csv', pathinfo(__FILE__, PATHINFO_BASENAME)) , EOL; + + +// Echo memory peak usage +echo date('H:i:s') , " Peak memory usage: " , (memory_get_peak_usage(true) / 1024 / 1024) , " MB" , EOL; + +// Echo done +echo date('H:i:s') , " Done writing files" , EOL; +echo 'Files have been created in ' , getcwd() , EOL; diff --git a/vendor/phpoffice/phpexcel/Examples/27imagesexcel5.php b/vendor/phpoffice/phpexcel/Examples/27imagesexcel5.php new file mode 100644 index 00000000..17db771c --- /dev/null +++ b/vendor/phpoffice/phpexcel/Examples/27imagesexcel5.php @@ -0,0 +1,64 @@ +<?php +/** + * PHPExcel + * + * Copyright (C) 2006 - 2014 PHPExcel + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * @category PHPExcel + * @package PHPExcel + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @version ##VERSION##, ##DATE## + */ + +/** Error reporting */ +error_reporting(E_ALL); +ini_set('display_errors', TRUE); +ini_set('display_startup_errors', TRUE); + +define('EOL',(PHP_SAPI == 'cli') ? PHP_EOL : '<br />'); + +date_default_timezone_set('Europe/London'); + +/** Include PHPExcel */ +require_once dirname(__FILE__) . '/../Classes/PHPExcel.php'; + + +// Read from Excel5 (.xls) template +echo date('H:i:s') , " Load Excel2007 template file" , EOL; +$objReader = PHPExcel_IOFactory::createReader('Excel5'); +$objPHPExcel = $objReader->load("templates/27template.xls"); + +// Export to Excel2007 (.xlsx) +echo date('H:i:s') , " Write to Excel5 format" , EOL; +$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007'); +$objWriter->save(str_replace('.php', '.xlsx', __FILE__)); +echo date('H:i:s') , " File written to " , str_replace('.php', '.xlsx', pathinfo(__FILE__, PATHINFO_BASENAME)) , EOL; + +// Export to Excel5 (.xls) +echo date('H:i:s') , " Write to Excel5 format" , EOL; +$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5'); +$objWriter->save(str_replace('.php', '.xls', __FILE__)); +echo date('H:i:s') , " File written to " , str_replace('.php', '.xls', pathinfo(__FILE__, PATHINFO_BASENAME)) , EOL; + + +// Echo memory peak usage +echo date('H:i:s') , " Peak memory usage: " , (memory_get_peak_usage(true) / 1024 / 1024) , " MB" , EOL; + +// Echo done +echo date('H:i:s') , " Done writing files" , EOL; +echo 'Files have been created in ' , getcwd() , EOL; diff --git a/vendor/phpoffice/phpexcel/Examples/28iterator.php b/vendor/phpoffice/phpexcel/Examples/28iterator.php new file mode 100644 index 00000000..3e1e681d --- /dev/null +++ b/vendor/phpoffice/phpexcel/Examples/28iterator.php @@ -0,0 +1,68 @@ +<?php +/** + * PHPExcel + * + * Copyright (C) 2006 - 2014 PHPExcel + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * @category PHPExcel + * @package PHPExcel + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @version ##VERSION##, ##DATE## + */ + +/** Error reporting */ +error_reporting(E_ALL); +ini_set('display_errors', TRUE); +ini_set('display_startup_errors', TRUE); + +define('EOL',(PHP_SAPI == 'cli') ? PHP_EOL : '<br />'); + +date_default_timezone_set('Europe/London'); + +/** PHPExcel_IOFactory */ +require_once dirname(__FILE__) . '/../Classes/PHPExcel/IOFactory.php'; + + +if (!file_exists("05featuredemo.xlsx")) { + exit("Please run 05featuredemo.php first." . EOL); +} + +echo date('H:i:s') , " Load from Excel2007 file" , EOL; +$objReader = PHPExcel_IOFactory::createReader('Excel2007'); +$objPHPExcel = $objReader->load("05featuredemo.xlsx"); + +echo date('H:i:s') , " Iterate worksheets" , EOL; +foreach ($objPHPExcel->getWorksheetIterator() as $worksheet) { + echo 'Worksheet - ' , $worksheet->getTitle() , EOL; + + foreach ($worksheet->getRowIterator() as $row) { + echo ' Row number - ' , $row->getRowIndex() , EOL; + + $cellIterator = $row->getCellIterator(); + $cellIterator->setIterateOnlyExistingCells(false); // Loop all cells, even if it is not set + foreach ($cellIterator as $cell) { + if (!is_null($cell)) { + echo ' Cell - ' , $cell->getCoordinate() , ' - ' , $cell->getCalculatedValue() , EOL; + } + } + } +} + + +// Echo memory peak usage +echo date('H:i:s') , " Peak memory usage: " , (memory_get_peak_usage(true) / 1024 / 1024) , " MB" , EOL; diff --git a/vendor/phpoffice/phpexcel/Examples/29advancedvaluebinder.php b/vendor/phpoffice/phpexcel/Examples/29advancedvaluebinder.php new file mode 100644 index 00000000..bb387f9c --- /dev/null +++ b/vendor/phpoffice/phpexcel/Examples/29advancedvaluebinder.php @@ -0,0 +1,183 @@ +<?php +/** + * PHPExcel + * + * Copyright (C) 2006 - 2014 PHPExcel + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * @category PHPExcel + * @package PHPExcel + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @version ##VERSION##, ##DATE## + */ + +/** Error reporting */ +error_reporting(E_ALL); +ini_set('display_errors', TRUE); +ini_set('display_startup_errors', TRUE); + +define('EOL',(PHP_SAPI == 'cli') ? PHP_EOL : '<br />'); + +/** PHPExcel */ +require_once dirname(__FILE__) . '/../Classes/PHPExcel.php'; + + +// Set timezone +echo date('H:i:s') , " Set timezone" , EOL; +date_default_timezone_set('UTC'); + +// Set value binder +echo date('H:i:s') , " Set value binder" , EOL; +PHPExcel_Cell::setValueBinder( new PHPExcel_Cell_AdvancedValueBinder() ); + +// Create new PHPExcel object +echo date('H:i:s') , " Create new PHPExcel object" , EOL; +$objPHPExcel = new PHPExcel(); + +// Set document properties +echo date('H:i:s') , " Set document properties" , EOL; +$objPHPExcel->getProperties()->setCreator("Maarten Balliauw") + ->setLastModifiedBy("Maarten Balliauw") + ->setTitle("Office 2007 XLSX Test Document") + ->setSubject("Office 2007 XLSX Test Document") + ->setDescription("Test document for Office 2007 XLSX, generated using PHP classes.") + ->setKeywords("office 2007 openxml php") + ->setCategory("Test result file"); + +// Set default font +echo date('H:i:s') , " Set default font" , EOL; +$objPHPExcel->getActiveSheet()->getDefaultStyle()->getFont()->setName('Arial'); +$objPHPExcel->getActiveSheet()->getDefaultStyle()->getFont()->setSize(10); + +// Set column widths +echo date('H:i:s') , " Set column widths" , EOL; +$objPHPExcel->getActiveSheet()->getColumnDimension('A')->setAutoSize(true); +$objPHPExcel->getActiveSheet()->getColumnDimension('B')->setWidth(14); + +// Add some data, resembling some different data types +echo date('H:i:s') , " Add some data" , EOL; +$objPHPExcel->getActiveSheet()->setCellValue('A1', 'String value:') + ->setCellValue('B1', 'Mark Baker'); + +$objPHPExcel->getActiveSheet()->setCellValue('A2', 'Numeric value #1:') + ->setCellValue('B2', 12345); + +$objPHPExcel->getActiveSheet()->setCellValue('A3', 'Numeric value #2:') + ->setCellValue('B3', -12.345); + +$objPHPExcel->getActiveSheet()->setCellValue('A4', 'Numeric value #3:') + ->setCellValue('B4', .12345); + +$objPHPExcel->getActiveSheet()->setCellValue('A5', 'Numeric value #4:') + ->setCellValue('B5', '12345'); + +$objPHPExcel->getActiveSheet()->setCellValue('A6', 'Numeric value #5:') + ->setCellValue('B6', '1.2345'); + +$objPHPExcel->getActiveSheet()->setCellValue('A7', 'Numeric value #6:') + ->setCellValue('B7', '.12345'); + +$objPHPExcel->getActiveSheet()->setCellValue('A8', 'Numeric value #7:') + ->setCellValue('B8', '1.234e-5'); + +$objPHPExcel->getActiveSheet()->setCellValue('A9', 'Numeric value #8:') + ->setCellValue('B9', '-1.234e+5'); + +$objPHPExcel->getActiveSheet()->setCellValue('A10', 'Boolean value:') + ->setCellValue('B10', 'TRUE'); + +$objPHPExcel->getActiveSheet()->setCellValue('A11', 'Percentage value #1:') + ->setCellValue('B11', '10%'); + +$objPHPExcel->getActiveSheet()->setCellValue('A12', 'Percentage value #2:') + ->setCellValue('B12', '12.5%'); + +$objPHPExcel->getActiveSheet()->setCellValue('A13', 'Fraction value #1:') + ->setCellValue('B13', '-1/2'); + +$objPHPExcel->getActiveSheet()->setCellValue('A14', 'Fraction value #2:') + ->setCellValue('B14', '3 1/2'); + +$objPHPExcel->getActiveSheet()->setCellValue('A15', 'Fraction value #3:') + ->setCellValue('B15', '-12 3/4'); + +$objPHPExcel->getActiveSheet()->setCellValue('A16', 'Fraction value #4:') + ->setCellValue('B16', '13/4'); + +$objPHPExcel->getActiveSheet()->setCellValue('A17', 'Currency value #1:') + ->setCellValue('B17', '$12345'); + +$objPHPExcel->getActiveSheet()->setCellValue('A18', 'Currency value #2:') + ->setCellValue('B18', '$12345.67'); + +$objPHPExcel->getActiveSheet()->setCellValue('A19', 'Currency value #3:') + ->setCellValue('B19', '$12,345.67'); + +$objPHPExcel->getActiveSheet()->setCellValue('A20', 'Date value #1:') + ->setCellValue('B20', '21 December 1983'); + +$objPHPExcel->getActiveSheet()->setCellValue('A21', 'Date value #2:') + ->setCellValue('B21', '19-Dec-1960'); + +$objPHPExcel->getActiveSheet()->setCellValue('A22', 'Date value #3:') + ->setCellValue('B22', '07/12/1982'); + +$objPHPExcel->getActiveSheet()->setCellValue('A23', 'Date value #4:') + ->setCellValue('B23', '24-11-1950'); + +$objPHPExcel->getActiveSheet()->setCellValue('A24', 'Date value #5:') + ->setCellValue('B24', '17-Mar'); + +$objPHPExcel->getActiveSheet()->setCellValue('A25', 'Time value #1:') + ->setCellValue('B25', '01:30'); + +$objPHPExcel->getActiveSheet()->setCellValue('A26', 'Time value #2:') + ->setCellValue('B26', '01:30:15'); + +$objPHPExcel->getActiveSheet()->setCellValue('A27', 'Date/Time value:') + ->setCellValue('B27', '19-Dec-1960 01:30'); + +$objPHPExcel->getActiveSheet()->setCellValue('A28', 'Formula:') + ->setCellValue('B28', '=SUM(B2:B9)'); + +// Rename worksheet +echo date('H:i:s') , " Rename worksheet" , EOL; +$objPHPExcel->getActiveSheet()->setTitle('Advanced value binder'); + + +// Set active sheet index to the first sheet, so Excel opens this as the first sheet +$objPHPExcel->setActiveSheetIndex(0); + + +// Save Excel 2007 file +echo date('H:i:s') , " Write to Excel2007 format" , EOL; +$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007'); +$objWriter->save(str_replace('.php', '.xlsx', __FILE__)); +echo date('H:i:s') , " File written to " , str_replace('.php', '.xlsx', pathinfo(__FILE__, PATHINFO_BASENAME)) , EOL; +// Save Excel5 file +echo date('H:i:s') , " Write to Excel5 format" , EOL; +$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5'); +$objWriter->save(str_replace('.php', '.xls', __FILE__)); +echo date('H:i:s') , " File written to " , str_replace('.php', '.xls', pathinfo(__FILE__, PATHINFO_BASENAME)) , EOL; + + +// Echo memory peak usage +echo date('H:i:s') , " Peak memory usage: " , (memory_get_peak_usage(true) / 1024 / 1024) , " MB" , EOL; + +// Echo done +echo date('H:i:s') , " Done writing file" , EOL; +echo 'File has been created in ' , getcwd() , EOL; diff --git a/vendor/phpoffice/phpexcel/Examples/30template.php b/vendor/phpoffice/phpexcel/Examples/30template.php new file mode 100644 index 00000000..33d553f7 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Examples/30template.php @@ -0,0 +1,91 @@ +<?php +/** + * PHPExcel + * + * Copyright (C) 2006 - 2014 PHPExcel + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * @category PHPExcel + * @package PHPExcel + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @version ##VERSION##, ##DATE## + */ + +/** Error reporting */ +error_reporting(E_ALL); +ini_set('display_errors', TRUE); +ini_set('display_startup_errors', TRUE); + +define('EOL',(PHP_SAPI == 'cli') ? PHP_EOL : '<br />'); + +date_default_timezone_set('Europe/London'); + +/** PHPExcel_IOFactory */ +require_once dirname(__FILE__) . '/../Classes/PHPExcel/IOFactory.php'; + + + +echo date('H:i:s') , " Load from Excel5 template" , EOL; +$objReader = PHPExcel_IOFactory::createReader('Excel5'); +$objPHPExcel = $objReader->load("templates/30template.xls"); + + + + +echo date('H:i:s') , " Add new data to the template" , EOL; +$data = array(array('title' => 'Excel for dummies', + 'price' => 17.99, + 'quantity' => 2 + ), + array('title' => 'PHP for dummies', + 'price' => 15.99, + 'quantity' => 1 + ), + array('title' => 'Inside OOP', + 'price' => 12.95, + 'quantity' => 1 + ) + ); + +$objPHPExcel->getActiveSheet()->setCellValue('D1', PHPExcel_Shared_Date::PHPToExcel(time())); + +$baseRow = 5; +foreach($data as $r => $dataRow) { + $row = $baseRow + $r; + $objPHPExcel->getActiveSheet()->insertNewRowBefore($row,1); + + $objPHPExcel->getActiveSheet()->setCellValue('A'.$row, $r+1) + ->setCellValue('B'.$row, $dataRow['title']) + ->setCellValue('C'.$row, $dataRow['price']) + ->setCellValue('D'.$row, $dataRow['quantity']) + ->setCellValue('E'.$row, '=C'.$row.'*D'.$row); +} +$objPHPExcel->getActiveSheet()->removeRow($baseRow-1,1); + + +echo date('H:i:s') , " Write to Excel5 format" , EOL; +$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5'); +$objWriter->save(str_replace('.php', '.xls', __FILE__)); +echo date('H:i:s') , " File written to " , str_replace('.php', '.xls', pathinfo(__FILE__, PATHINFO_BASENAME)) , EOL; + + +// Echo memory peak usage +echo date('H:i:s') , " Peak memory usage: " , (memory_get_peak_usage(true) / 1024 / 1024) , " MB" , EOL; + +// Echo done +echo date('H:i:s') , " Done writing file" , EOL; +echo 'File has been created in ' , getcwd() , EOL; diff --git a/vendor/phpoffice/phpexcel/Examples/31docproperties_write-xls.php b/vendor/phpoffice/phpexcel/Examples/31docproperties_write-xls.php new file mode 100644 index 00000000..cbb9aa35 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Examples/31docproperties_write-xls.php @@ -0,0 +1,119 @@ +<?php +/** + * PHPExcel + * + * Copyright (C) 2006 - 2014 PHPExcel + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * @category PHPExcel + * @package PHPExcel + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @version ##VERSION##, ##DATE## + */ + +/** Error reporting */ +error_reporting(E_ALL); +ini_set('display_errors', TRUE); +ini_set('display_startup_errors', TRUE); + +define('EOL',(PHP_SAPI == 'cli') ? PHP_EOL : '<br />'); + +date_default_timezone_set('Europe/London'); + +/** Include PHPExcel */ +require_once dirname(__FILE__) . '/../Classes/PHPExcel.php'; + + +$inputFileType = 'Excel5'; +$inputFileName = 'templates/31docproperties.xls'; + + +echo date('H:i:s') , " Load Tests from $inputFileType file" , EOL; +$callStartTime = microtime(true); + +$objPHPExcelReader = PHPExcel_IOFactory::createReader($inputFileType); +$objPHPExcel = $objPHPExcelReader->load($inputFileName); + +$callEndTime = microtime(true); +$callTime = $callEndTime - $callStartTime; +echo 'Call time to read Workbook was ' , sprintf('%.4f',$callTime) , " seconds" , EOL; +// Echo memory usage +echo date('H:i:s') , ' Current memory usage: ' , (memory_get_usage(true) / 1024 / 1024) , " MB" , EOL; + + +echo date('H:i:s') , " Adjust properties" , EOL; +$objPHPExcel->getProperties()->setTitle("Office 95 XLS Test Document") + ->setSubject("Office 95 XLS Test Document") + ->setDescription("Test XLS document, generated using PHPExcel") + ->setKeywords("office 95 biff php"); + + +// Save Excel 95 file +echo date('H:i:s') , " Write to Excel5 format" , EOL; +$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5'); +$objWriter->save(str_replace('.php', '.xls', __FILE__)); +echo date('H:i:s') , " File written to " , str_replace('.php', '.xls', pathinfo(__FILE__, PATHINFO_BASENAME)) , EOL; + + +// Echo memory peak usage +echo date('H:i:s') , " Peak memory usage: " . (memory_get_peak_usage(true) / 1024 / 1024) . " MB" , EOL; + + +echo EOL; +// Reread File +echo date('H:i:s') , " Reread Excel5 file" , EOL; +$objPHPExcelRead = PHPExcel_IOFactory::load(str_replace('.php', '.xls', __FILE__)); + +// Set properties +echo date('H:i:s') , " Get properties" , EOL; + +echo 'Core Properties:' , EOL; +echo ' Created by - ' , $objPHPExcel->getProperties()->getCreator() , EOL; +echo ' Created on - ' , date('d-M-Y',$objPHPExcel->getProperties()->getCreated()) , ' at ' , + date('H:i:s',$objPHPExcel->getProperties()->getCreated()) , EOL; +echo ' Last Modified by - ' , $objPHPExcel->getProperties()->getLastModifiedBy() , EOL; +echo ' Last Modified on - ' , date('d-M-Y',$objPHPExcel->getProperties()->getModified()) , ' at ' , + date('H:i:s',$objPHPExcel->getProperties()->getModified()) , EOL; +echo ' Title - ' , $objPHPExcel->getProperties()->getTitle() , EOL; +echo ' Subject - ' , $objPHPExcel->getProperties()->getSubject() , EOL; +echo ' Description - ' , $objPHPExcel->getProperties()->getDescription() , EOL; +echo ' Keywords: - ' , $objPHPExcel->getProperties()->getKeywords() , EOL; + + +echo 'Extended (Application) Properties:' , EOL; +echo ' Category - ' , $objPHPExcel->getProperties()->getCategory() , EOL; +echo ' Company - ' , $objPHPExcel->getProperties()->getCompany() , EOL; +echo ' Manager - ' , $objPHPExcel->getProperties()->getManager() , EOL; + + +echo 'Custom Properties:' , EOL; +$customProperties = $objPHPExcel->getProperties()->getCustomProperties(); +foreach($customProperties as $customProperty) { + $propertyValue = $objPHPExcel->getProperties()->getCustomPropertyValue($customProperty); + $propertyType = $objPHPExcel->getProperties()->getCustomPropertyType($customProperty); + echo ' ' , $customProperty , ' - (' , $propertyType , ') - '; + if ($propertyType == PHPExcel_DocumentProperties::PROPERTY_TYPE_DATE) { + echo date('d-M-Y H:i:s',$propertyValue) , EOL; + } elseif ($propertyType == PHPExcel_DocumentProperties::PROPERTY_TYPE_BOOLEAN) { + echo (($propertyValue) ? 'TRUE' : 'FALSE') , EOL; + } else { + echo $propertyValue , EOL; + } +} + +// Echo memory peak usage +echo date('H:i:s') , " Peak memory usage: " , (memory_get_peak_usage(true) / 1024 / 1024) . " MB" , EOL; diff --git a/vendor/phpoffice/phpexcel/Examples/31docproperties_write.php b/vendor/phpoffice/phpexcel/Examples/31docproperties_write.php new file mode 100644 index 00000000..1b01f6fe --- /dev/null +++ b/vendor/phpoffice/phpexcel/Examples/31docproperties_write.php @@ -0,0 +1,119 @@ +<?php +/** + * PHPExcel + * + * Copyright (C) 2006 - 2014 PHPExcel + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * @category PHPExcel + * @package PHPExcel + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @version ##VERSION##, ##DATE## + */ + +/** Error reporting */ +error_reporting(E_ALL); +ini_set('display_errors', TRUE); +ini_set('display_startup_errors', TRUE); + +define('EOL',(PHP_SAPI == 'cli') ? PHP_EOL : '<br />'); + +date_default_timezone_set('Europe/London'); + +/** Include PHPExcel */ +require_once dirname(__FILE__) . '/../Classes/PHPExcel.php'; + + +$inputFileType = 'Excel2007'; +$inputFileName = 'templates/31docproperties.xlsx'; + + +echo date('H:i:s') , " Load Tests from $inputFileType file" , EOL; +$callStartTime = microtime(true); + +$objPHPExcelReader = PHPExcel_IOFactory::createReader($inputFileType); +$objPHPExcel = $objPHPExcelReader->load($inputFileName); + +$callEndTime = microtime(true); +$callTime = $callEndTime - $callStartTime; +echo 'Call time to read Workbook was ' , sprintf('%.4f',$callTime) , " seconds" , EOL; +// Echo memory usage +echo date('H:i:s') , ' Current memory usage: ' , (memory_get_usage(true) / 1024 / 1024) , " MB" , EOL; + + +echo date('H:i:s') , " Adjust properties" , EOL; +$objPHPExcel->getProperties()->setTitle("Office 2007 XLSX Test Document") + ->setSubject("Office 2007 XLSX Test Document") + ->setDescription("Test XLSX document, generated using PHPExcel") + ->setKeywords("office 2007 openxml php"); + + +// Save Excel 2007 file +echo date('H:i:s') , " Write to Excel2007 format" , EOL; +$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007'); +$objWriter->save(str_replace('.php', '.xlsx', __FILE__)); +echo date('H:i:s') , " File written to " , str_replace('.php', '.xlsx', pathinfo(__FILE__, PATHINFO_BASENAME)) , EOL; + + +// Echo memory peak usage +echo date('H:i:s') , " Peak memory usage: " . (memory_get_peak_usage(true) / 1024 / 1024) . " MB" , EOL; + + +echo EOL; +// Reread File +echo date('H:i:s') , " Reread Excel2007 file" , EOL; +$objPHPExcelRead = PHPExcel_IOFactory::load(str_replace('.php', '.xlsx', __FILE__)); + +// Set properties +echo date('H:i:s') , " Get properties" , EOL; + +echo 'Core Properties:' , EOL; +echo ' Created by - ' , $objPHPExcel->getProperties()->getCreator() , EOL; +echo ' Created on - ' , date('d-M-Y',$objPHPExcel->getProperties()->getCreated()) , ' at ' , + date('H:i:s',$objPHPExcel->getProperties()->getCreated()) , EOL; +echo ' Last Modified by - ' , $objPHPExcel->getProperties()->getLastModifiedBy() , EOL; +echo ' Last Modified on - ' , date('d-M-Y',$objPHPExcel->getProperties()->getModified()) , ' at ' , + date('H:i:s',$objPHPExcel->getProperties()->getModified()) , EOL; +echo ' Title - ' , $objPHPExcel->getProperties()->getTitle() , EOL; +echo ' Subject - ' , $objPHPExcel->getProperties()->getSubject() , EOL; +echo ' Description - ' , $objPHPExcel->getProperties()->getDescription() , EOL; +echo ' Keywords: - ' , $objPHPExcel->getProperties()->getKeywords() , EOL; + + +echo 'Extended (Application) Properties:' , EOL; +echo ' Category - ' , $objPHPExcel->getProperties()->getCategory() , EOL; +echo ' Company - ' , $objPHPExcel->getProperties()->getCompany() , EOL; +echo ' Manager - ' , $objPHPExcel->getProperties()->getManager() , EOL; + + +echo 'Custom Properties:' , EOL; +$customProperties = $objPHPExcel->getProperties()->getCustomProperties(); +foreach($customProperties as $customProperty) { + $propertyValue = $objPHPExcel->getProperties()->getCustomPropertyValue($customProperty); + $propertyType = $objPHPExcel->getProperties()->getCustomPropertyType($customProperty); + echo ' ' , $customProperty , ' - (' , $propertyType , ') - '; + if ($propertyType == PHPExcel_DocumentProperties::PROPERTY_TYPE_DATE) { + echo date('d-M-Y H:i:s',$propertyValue) , EOL; + } elseif ($propertyType == PHPExcel_DocumentProperties::PROPERTY_TYPE_BOOLEAN) { + echo (($propertyValue) ? 'TRUE' : 'FALSE') , EOL; + } else { + echo $propertyValue , EOL; + } +} + +// Echo memory peak usage +echo date('H:i:s') , " Peak memory usage: " , (memory_get_peak_usage(true) / 1024 / 1024) . " MB" , EOL; diff --git a/vendor/phpoffice/phpexcel/Examples/32chartreadwrite.php b/vendor/phpoffice/phpexcel/Examples/32chartreadwrite.php new file mode 100644 index 00000000..e4c249d3 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Examples/32chartreadwrite.php @@ -0,0 +1,131 @@ +<?php + +/** Error reporting */ +error_reporting(E_ALL); +ini_set('display_errors', TRUE); +ini_set('display_startup_errors', TRUE); +date_default_timezone_set('Europe/London'); + +define('EOL',(PHP_SAPI == 'cli') ? PHP_EOL : '<br />'); + +date_default_timezone_set('Europe/London'); + +/** + * PHPExcel + * + * Copyright (C) 2006 - 2014 PHPExcel + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * @category PHPExcel + * @package PHPExcel + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @version ##VERSION##, ##DATE## + */ + +/** Include path **/ +set_include_path(get_include_path() . PATH_SEPARATOR . dirname(__FILE__) . '/../Classes/'); + +/** PHPExcel_IOFactory */ +include 'PHPExcel/IOFactory.php'; + +$inputFileType = 'Excel2007'; +$inputFileNames = 'templates/32readwrite*[0-9].xlsx'; + +if ((isset($argc)) && ($argc > 1)) { + $inputFileNames = array(); + for($i = 1; $i < $argc; ++$i) { + $inputFileNames[] = dirname(__FILE__) . '/templates/' . $argv[$i]; + } +} else { + $inputFileNames = glob($inputFileNames); +} +foreach($inputFileNames as $inputFileName) { + $inputFileNameShort = basename($inputFileName); + + if (!file_exists($inputFileName)) { + echo date('H:i:s') , " File " , $inputFileNameShort , ' does not exist' , EOL; + continue; + } + + echo date('H:i:s') , " Load Test from $inputFileType file " , $inputFileNameShort , EOL; + + $objReader = PHPExcel_IOFactory::createReader($inputFileType); + $objReader->setIncludeCharts(TRUE); + $objPHPExcel = $objReader->load($inputFileName); + + + echo date('H:i:s') , " Iterate worksheets looking at the charts" , EOL; + foreach ($objPHPExcel->getWorksheetIterator() as $worksheet) { + $sheetName = $worksheet->getTitle(); + echo 'Worksheet: ' , $sheetName , EOL; + + $chartNames = $worksheet->getChartNames(); + if(empty($chartNames)) { + echo ' There are no charts in this worksheet' , EOL; + } else { + natsort($chartNames); + foreach($chartNames as $i => $chartName) { + $chart = $worksheet->getChartByName($chartName); + if (!is_null($chart->getTitle())) { + $caption = '"' . implode(' ',$chart->getTitle()->getCaption()) . '"'; + } else { + $caption = 'Untitled'; + } + echo ' ' , $chartName , ' - ' , $caption , EOL; + echo str_repeat(' ',strlen($chartName)+3); + $groupCount = $chart->getPlotArea()->getPlotGroupCount(); + if ($groupCount == 1) { + $chartType = $chart->getPlotArea()->getPlotGroupByIndex(0)->getPlotType(); + echo ' ' , $chartType , EOL; + } else { + $chartTypes = array(); + for($i = 0; $i < $groupCount; ++$i) { + $chartTypes[] = $chart->getPlotArea()->getPlotGroupByIndex($i)->getPlotType(); + } + $chartTypes = array_unique($chartTypes); + if (count($chartTypes) == 1) { + $chartType = 'Multiple Plot ' . array_pop($chartTypes); + echo ' ' , $chartType , EOL; + } elseif (count($chartTypes) == 0) { + echo ' *** Type not yet implemented' , EOL; + } else { + echo ' Combination Chart' , EOL; + } + } + } + } + } + + + $outputFileName = basename($inputFileName); + + echo date('H:i:s') , " Write Tests to Excel2007 file " , EOL; + $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007'); + $objWriter->setIncludeCharts(TRUE); + $objWriter->save($outputFileName); + echo date('H:i:s') , " File written to " , $outputFileName , EOL; + + $objPHPExcel->disconnectWorksheets(); + unset($objPHPExcel); +} + +// Echo memory peak usage +echo date('H:i:s') , ' Peak memory usage: ' , (memory_get_peak_usage(true) / 1024 / 1024) , " MB" , EOL; + +// Echo done +echo date('H:i:s') , " Done writing files" , EOL; +echo 'Files have been created in ' , getcwd() , EOL; diff --git a/vendor/phpoffice/phpexcel/Examples/33chartcreate-area.php b/vendor/phpoffice/phpexcel/Examples/33chartcreate-area.php new file mode 100644 index 00000000..53fe5239 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Examples/33chartcreate-area.php @@ -0,0 +1,142 @@ +<?php + +/** Error reporting */ +error_reporting(E_ALL); +ini_set('display_errors', TRUE); +ini_set('display_startup_errors', TRUE); +date_default_timezone_set('Europe/London'); + +define('EOL',(PHP_SAPI == 'cli') ? PHP_EOL : '<br />'); + +date_default_timezone_set('Europe/London'); + +/** + * PHPExcel + * + * Copyright (C) 2006 - 2014 PHPExcel + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * @category PHPExcel + * @package PHPExcel + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @version ##VERSION##, ##DATE## + */ + +/** PHPExcel */ +require_once dirname(__FILE__) . '/../Classes/PHPExcel.php'; + + +$objPHPExcel = new PHPExcel(); +$objWorksheet = $objPHPExcel->getActiveSheet(); +$objWorksheet->fromArray( + array( + array('', 2010, 2011, 2012), + array('Q1', 12, 15, 21), + array('Q2', 56, 73, 86), + array('Q3', 52, 61, 69), + array('Q4', 30, 32, 0), + ) +); + +// Set the Labels for each data series we want to plot +// Datatype +// Cell reference for data +// Format Code +// Number of datapoints in series +// Data values +// Data Marker +$dataSeriesLabels = array( + new PHPExcel_Chart_DataSeriesValues('String', 'Worksheet!$B$1', NULL, 1), // 2010 + new PHPExcel_Chart_DataSeriesValues('String', 'Worksheet!$C$1', NULL, 1), // 2011 + new PHPExcel_Chart_DataSeriesValues('String', 'Worksheet!$D$1', NULL, 1), // 2012 +); +// Set the X-Axis Labels +// Datatype +// Cell reference for data +// Format Code +// Number of datapoints in series +// Data values +// Data Marker +$xAxisTickValues = array( + new PHPExcel_Chart_DataSeriesValues('String', 'Worksheet!$A$2:$A$5', NULL, 4), // Q1 to Q4 +); +// Set the Data values for each data series we want to plot +// Datatype +// Cell reference for data +// Format Code +// Number of datapoints in series +// Data values +// Data Marker +$dataSeriesValues = array( + new PHPExcel_Chart_DataSeriesValues('Number', 'Worksheet!$B$2:$B$5', NULL, 4), + new PHPExcel_Chart_DataSeriesValues('Number', 'Worksheet!$C$2:$C$5', NULL, 4), + new PHPExcel_Chart_DataSeriesValues('Number', 'Worksheet!$D$2:$D$5', NULL, 4), +); + +// Build the dataseries +$series = new PHPExcel_Chart_DataSeries( + PHPExcel_Chart_DataSeries::TYPE_AREACHART, // plotType + PHPExcel_Chart_DataSeries::GROUPING_PERCENT_STACKED, // plotGrouping + range(0, count($dataSeriesValues)-1), // plotOrder + $dataSeriesLabels, // plotLabel + $xAxisTickValues, // plotCategory + $dataSeriesValues // plotValues +); + +// Set the series in the plot area +$plotArea = new PHPExcel_Chart_PlotArea(NULL, array($series)); +// Set the chart legend +$legend = new PHPExcel_Chart_Legend(PHPExcel_Chart_Legend::POSITION_TOPRIGHT, NULL, false); + +$title = new PHPExcel_Chart_Title('Test %age-Stacked Area Chart'); +$yAxisLabel = new PHPExcel_Chart_Title('Value ($k)'); + + +// Create the chart +$chart = new PHPExcel_Chart( + 'chart1', // name + $title, // title + $legend, // legend + $plotArea, // plotArea + true, // plotVisibleOnly + 0, // displayBlanksAs + NULL, // xAxisLabel + $yAxisLabel // yAxisLabel +); + +// Set the position where the chart should appear in the worksheet +$chart->setTopLeftPosition('A7'); +$chart->setBottomRightPosition('H20'); + +// Add the chart to the worksheet +$objWorksheet->addChart($chart); + + +// Save Excel 2007 file +echo date('H:i:s') , " Write to Excel2007 format" , EOL; +$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007'); +$objWriter->setIncludeCharts(TRUE); +$objWriter->save(str_replace('.php', '.xlsx', __FILE__)); +echo date('H:i:s') , " File written to " , str_replace('.php', '.xlsx', pathinfo(__FILE__, PATHINFO_BASENAME)) , EOL; + + +// Echo memory peak usage +echo date('H:i:s') , " Peak memory usage: " , (memory_get_peak_usage(true) / 1024 / 1024) , " MB" , EOL; + +// Echo done +echo date('H:i:s') , " Done writing file" , EOL; +echo 'File has been created in ' , getcwd() , EOL; diff --git a/vendor/phpoffice/phpexcel/Examples/33chartcreate-bar-stacked.php b/vendor/phpoffice/phpexcel/Examples/33chartcreate-bar-stacked.php new file mode 100644 index 00000000..cac29f29 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Examples/33chartcreate-bar-stacked.php @@ -0,0 +1,145 @@ +<?php + +/** Error reporting */ +error_reporting(E_ALL); +ini_set('display_errors', TRUE); +ini_set('display_startup_errors', TRUE); +date_default_timezone_set('Europe/London'); + +define('EOL',(PHP_SAPI == 'cli') ? PHP_EOL : '<br />'); + +date_default_timezone_set('Europe/London'); + +/** + * PHPExcel + * + * Copyright (C) 2006 - 2014 PHPExcel + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * @category PHPExcel + * @package PHPExcel + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @version ##VERSION##, ##DATE## + */ + +/** PHPExcel */ +require_once dirname(__FILE__) . '/../Classes/PHPExcel.php'; + + +$objPHPExcel = new PHPExcel(); +$objWorksheet = $objPHPExcel->getActiveSheet(); +$objWorksheet->fromArray( + array( + array('', 2010, 2011, 2012), + array('Q1', 12, 15, 21), + array('Q2', 56, 73, 86), + array('Q3', 52, 61, 69), + array('Q4', 30, 32, 0), + ) +); + +// Set the Labels for each data series we want to plot +// Datatype +// Cell reference for data +// Format Code +// Number of datapoints in series +// Data values +// Data Marker +$dataSeriesLabels = array( + new PHPExcel_Chart_DataSeriesValues('String', 'Worksheet!$B$1', NULL, 1), // 2010 + new PHPExcel_Chart_DataSeriesValues('String', 'Worksheet!$C$1', NULL, 1), // 2011 + new PHPExcel_Chart_DataSeriesValues('String', 'Worksheet!$D$1', NULL, 1), // 2012 +); +// Set the X-Axis Labels +// Datatype +// Cell reference for data +// Format Code +// Number of datapoints in series +// Data values +// Data Marker +$xAxisTickValues = array( + new PHPExcel_Chart_DataSeriesValues('String', 'Worksheet!$A$2:$A$5', NULL, 4), // Q1 to Q4 +); +// Set the Data values for each data series we want to plot +// Datatype +// Cell reference for data +// Format Code +// Number of datapoints in series +// Data values +// Data Marker +$dataSeriesValues = array( + new PHPExcel_Chart_DataSeriesValues('Number', 'Worksheet!$B$2:$B$5', NULL, 4), + new PHPExcel_Chart_DataSeriesValues('Number', 'Worksheet!$C$2:$C$5', NULL, 4), + new PHPExcel_Chart_DataSeriesValues('Number', 'Worksheet!$D$2:$D$5', NULL, 4), +); + +// Build the dataseries +$series = new PHPExcel_Chart_DataSeries( + PHPExcel_Chart_DataSeries::TYPE_BARCHART, // plotType + PHPExcel_Chart_DataSeries::GROUPING_STACKED, // plotGrouping + range(0, count($dataSeriesValues)-1), // plotOrder + $dataSeriesLabels, // plotLabel + $xAxisTickValues, // plotCategory + $dataSeriesValues // plotValues +); +// Set additional dataseries parameters +// Make it a horizontal bar rather than a vertical column graph +$series->setPlotDirection(PHPExcel_Chart_DataSeries::DIRECTION_BAR); + +// Set the series in the plot area +$plotArea = new PHPExcel_Chart_PlotArea(NULL, array($series)); +// Set the chart legend +$legend = new PHPExcel_Chart_Legend(PHPExcel_Chart_Legend::POSITION_RIGHT, NULL, false); + +$title = new PHPExcel_Chart_Title('Test Chart'); +$yAxisLabel = new PHPExcel_Chart_Title('Value ($k)'); + + +// Create the chart +$chart = new PHPExcel_Chart( + 'chart1', // name + $title, // title + $legend, // legend + $plotArea, // plotArea + true, // plotVisibleOnly + 0, // displayBlanksAs + NULL, // xAxisLabel + $yAxisLabel // yAxisLabel +); + +// Set the position where the chart should appear in the worksheet +$chart->setTopLeftPosition('A7'); +$chart->setBottomRightPosition('H20'); + +// Add the chart to the worksheet +$objWorksheet->addChart($chart); + + +// Save Excel 2007 file +echo date('H:i:s') , " Write to Excel2007 format" , EOL; +$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007'); +$objWriter->setIncludeCharts(TRUE); +$objWriter->save(str_replace('.php', '.xlsx', __FILE__)); +echo date('H:i:s') , " File written to " , str_replace('.php', '.xlsx', pathinfo(__FILE__, PATHINFO_BASENAME)) , EOL; + + +// Echo memory peak usage +echo date('H:i:s') , " Peak memory usage: " , (memory_get_peak_usage(true) / 1024 / 1024) , " MB" , EOL; + +// Echo done +echo date('H:i:s') , " Done writing file" , EOL; +echo 'File has been created in ' , getcwd() , EOL; diff --git a/vendor/phpoffice/phpexcel/Examples/33chartcreate-bar.php b/vendor/phpoffice/phpexcel/Examples/33chartcreate-bar.php new file mode 100644 index 00000000..14fd5d48 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Examples/33chartcreate-bar.php @@ -0,0 +1,145 @@ +<?php + +/** Error reporting */ +error_reporting(E_ALL); +ini_set('display_errors', TRUE); +ini_set('display_startup_errors', TRUE); +date_default_timezone_set('Europe/London'); + +define('EOL',(PHP_SAPI == 'cli') ? PHP_EOL : '<br />'); + +date_default_timezone_set('Europe/London'); + +/** + * PHPExcel + * + * Copyright (C) 2006 - 2014 PHPExcel + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * @category PHPExcel + * @package PHPExcel + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @version ##VERSION##, ##DATE## + */ + +/** PHPExcel */ +require_once dirname(__FILE__) . '/../Classes/PHPExcel.php'; + + +$objPHPExcel = new PHPExcel(); +$objWorksheet = $objPHPExcel->getActiveSheet(); +$objWorksheet->fromArray( + array( + array('', 2010, 2011, 2012), + array('Q1', 12, 15, 21), + array('Q2', 56, 73, 86), + array('Q3', 52, 61, 69), + array('Q4', 30, 32, 0), + ) +); + +// Set the Labels for each data series we want to plot +// Datatype +// Cell reference for data +// Format Code +// Number of datapoints in series +// Data values +// Data Marker +$dataSeriesLabels = array( + new PHPExcel_Chart_DataSeriesValues('String', 'Worksheet!$B$1', NULL, 1), // 2010 + new PHPExcel_Chart_DataSeriesValues('String', 'Worksheet!$C$1', NULL, 1), // 2011 + new PHPExcel_Chart_DataSeriesValues('String', 'Worksheet!$D$1', NULL, 1), // 2012 +); +// Set the X-Axis Labels +// Datatype +// Cell reference for data +// Format Code +// Number of datapoints in series +// Data values +// Data Marker +$xAxisTickValues = array( + new PHPExcel_Chart_DataSeriesValues('String', 'Worksheet!$A$2:$A$5', NULL, 4), // Q1 to Q4 +); +// Set the Data values for each data series we want to plot +// Datatype +// Cell reference for data +// Format Code +// Number of datapoints in series +// Data values +// Data Marker +$dataSeriesValues = array( + new PHPExcel_Chart_DataSeriesValues('Number', 'Worksheet!$B$2:$B$5', NULL, 4), + new PHPExcel_Chart_DataSeriesValues('Number', 'Worksheet!$C$2:$C$5', NULL, 4), + new PHPExcel_Chart_DataSeriesValues('Number', 'Worksheet!$D$2:$D$5', NULL, 4), +); + +// Build the dataseries +$series = new PHPExcel_Chart_DataSeries( + PHPExcel_Chart_DataSeries::TYPE_BARCHART, // plotType + PHPExcel_Chart_DataSeries::GROUPING_CLUSTERED, // plotGrouping + range(0, count($dataSeriesValues)-1), // plotOrder + $dataSeriesLabels, // plotLabel + $xAxisTickValues, // plotCategory + $dataSeriesValues // plotValues +); +// Set additional dataseries parameters +// Make it a horizontal bar rather than a vertical column graph +$series->setPlotDirection(PHPExcel_Chart_DataSeries::DIRECTION_BAR); + +// Set the series in the plot area +$plotArea = new PHPExcel_Chart_PlotArea(NULL, array($series)); +// Set the chart legend +$legend = new PHPExcel_Chart_Legend(PHPExcel_Chart_Legend::POSITION_RIGHT, NULL, false); + +$title = new PHPExcel_Chart_Title('Test Bar Chart'); +$yAxisLabel = new PHPExcel_Chart_Title('Value ($k)'); + + +// Create the chart +$chart = new PHPExcel_Chart( + 'chart1', // name + $title, // title + $legend, // legend + $plotArea, // plotArea + true, // plotVisibleOnly + 0, // displayBlanksAs + NULL, // xAxisLabel + $yAxisLabel // yAxisLabel +); + +// Set the position where the chart should appear in the worksheet +$chart->setTopLeftPosition('A7'); +$chart->setBottomRightPosition('H20'); + +// Add the chart to the worksheet +$objWorksheet->addChart($chart); + + +// Save Excel 2007 file +echo date('H:i:s') , " Write to Excel2007 format" , EOL; +$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007'); +$objWriter->setIncludeCharts(TRUE); +$objWriter->save(str_replace('.php', '.xlsx', __FILE__)); +echo date('H:i:s') , " File written to " , str_replace('.php', '.xlsx', pathinfo(__FILE__, PATHINFO_BASENAME)) , EOL; + + +// Echo memory peak usage +echo date('H:i:s') , " Peak memory usage: " , (memory_get_peak_usage(true) / 1024 / 1024) , " MB" , EOL; + +// Echo done +echo date('H:i:s') , " Done writing file" , EOL; +echo 'File has been created in ' , getcwd() , EOL; diff --git a/vendor/phpoffice/phpexcel/Examples/33chartcreate-column-2.php b/vendor/phpoffice/phpexcel/Examples/33chartcreate-column-2.php new file mode 100644 index 00000000..00bf0d71 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Examples/33chartcreate-column-2.php @@ -0,0 +1,154 @@ +<?php + +/** Error reporting */ +error_reporting(E_ALL); +ini_set('display_errors', TRUE); +ini_set('display_startup_errors', TRUE); +date_default_timezone_set('Europe/London'); + +define('EOL',(PHP_SAPI == 'cli') ? PHP_EOL : '<br />'); + +date_default_timezone_set('Europe/London'); + +/** + * PHPExcel + * + * Copyright (C) 2006 - 2014 PHPExcel + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * @category PHPExcel + * @package PHPExcel + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @version ##VERSION##, ##DATE## + */ + +/** PHPExcel */ +require_once dirname(__FILE__) . '/../Classes/PHPExcel.php'; + + +$objPHPExcel = new PHPExcel(); +$objWorksheet = $objPHPExcel->getActiveSheet(); +$objWorksheet->fromArray( + array( + array('', '', 'Budget', 'Forecast', 'Actual'), + array('2010', 'Q1', 47, 44, 43 ), + array('', 'Q2', 56, 53, 50 ), + array('', 'Q3', 52, 46, 45 ), + array('', 'Q4', 45, 40, 40 ), + array('2011', 'Q1', 51, 42, 46 ), + array('', 'Q2', 53, 58, 56 ), + array('', 'Q3', 64, 66, 69 ), + array('', 'Q4', 54, 55, 56 ), + array('2012', 'Q1', 49, 52, 58 ), + array('', 'Q2', 68, 73, 86 ), + array('', 'Q3', 72, 78, 0 ), + array('', 'Q4', 50, 60, 0 ), + ) +); + +// Set the Labels for each data series we want to plot +// Datatype +// Cell reference for data +// Format Code +// Number of datapoints in series +// Data values +// Data Marker +$dataSeriesLabels = array( + new PHPExcel_Chart_DataSeriesValues('String', 'Worksheet!$C$1', NULL, 1), // 'Budget' + new PHPExcel_Chart_DataSeriesValues('String', 'Worksheet!$D$1', NULL, 1), // 'Forecast' + new PHPExcel_Chart_DataSeriesValues('String', 'Worksheet!$E$1', NULL, 1), // 'Actual' +); +// Set the X-Axis Labels +// Datatype +// Cell reference for data +// Format Code +// Number of datapoints in series +// Data values +// Data Marker +$xAxisTickValues = array( + new PHPExcel_Chart_DataSeriesValues('String', 'Worksheet!$A$2:$B$13', NULL, 12), // Q1 to Q4 for 2010 to 2012 +); +// Set the Data values for each data series we want to plot +// Datatype +// Cell reference for data +// Format Code +// Number of datapoints in series +// Data values +// Data Marker +$dataSeriesValues = array( + new PHPExcel_Chart_DataSeriesValues('Number', 'Worksheet!$C$2:$C$13', NULL, 12), + new PHPExcel_Chart_DataSeriesValues('Number', 'Worksheet!$D$2:$D$13', NULL, 12), + new PHPExcel_Chart_DataSeriesValues('Number', 'Worksheet!$E$2:$E$13', NULL, 12), +); + +// Build the dataseries +$series = new PHPExcel_Chart_DataSeries( + PHPExcel_Chart_DataSeries::TYPE_BARCHART, // plotType + PHPExcel_Chart_DataSeries::GROUPING_CLUSTERED, // plotGrouping + range(0, count($dataSeriesValues)-1), // plotOrder + $dataSeriesLabels, // plotLabel + $xAxisTickValues, // plotCategory + $dataSeriesValues // plotValues +); +// Set additional dataseries parameters +// Make it a vertical column rather than a horizontal bar graph +$series->setPlotDirection(PHPExcel_Chart_DataSeries::DIRECTION_COL); + +// Set the series in the plot area +$plotArea = new PHPExcel_Chart_PlotArea(NULL, array($series)); +// Set the chart legend +$legend = new PHPExcel_Chart_Legend(PHPExcel_Chart_Legend::POSITION_BOTTOM, NULL, false); + +$title = new PHPExcel_Chart_Title('Test Grouped Column Chart'); +$xAxisLabel = new PHPExcel_Chart_Title('Financial Period'); +$yAxisLabel = new PHPExcel_Chart_Title('Value ($k)'); + + +// Create the chart +$chart = new PHPExcel_Chart( + 'chart1', // name + $title, // title + $legend, // legend + $plotArea, // plotArea + true, // plotVisibleOnly + 0, // displayBlanksAs + $xAxisLabel, // xAxisLabel + $yAxisLabel // yAxisLabel +); + +// Set the position where the chart should appear in the worksheet +$chart->setTopLeftPosition('G2'); +$chart->setBottomRightPosition('P20'); + +// Add the chart to the worksheet +$objWorksheet->addChart($chart); + + +// Save Excel 2007 file +echo date('H:i:s') , " Write to Excel2007 format" , EOL; +$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007'); +$objWriter->setIncludeCharts(TRUE); +$objWriter->save(str_replace('.php', '.xlsx', __FILE__)); +echo date('H:i:s') , " File written to " , str_replace('.php', '.xlsx', pathinfo(__FILE__, PATHINFO_BASENAME)) , EOL; + + +// Echo memory peak usage +echo date('H:i:s') , " Peak memory usage: " , (memory_get_peak_usage(true) / 1024 / 1024) , " MB" , EOL; + +// Echo done +echo date('H:i:s') , " Done writing file" , EOL; +echo 'File has been created in ' , getcwd() , EOL; diff --git a/vendor/phpoffice/phpexcel/Examples/33chartcreate-column.php b/vendor/phpoffice/phpexcel/Examples/33chartcreate-column.php new file mode 100644 index 00000000..ae9c6185 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Examples/33chartcreate-column.php @@ -0,0 +1,145 @@ +<?php + +/** Error reporting */ +error_reporting(E_ALL); +ini_set('display_errors', TRUE); +ini_set('display_startup_errors', TRUE); +date_default_timezone_set('Europe/London'); + +define('EOL',(PHP_SAPI == 'cli') ? PHP_EOL : '<br />'); + +date_default_timezone_set('Europe/London'); + +/** + * PHPExcel + * + * Copyright (C) 2006 - 2014 PHPExcel + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * @category PHPExcel + * @package PHPExcel + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @version ##VERSION##, ##DATE## + */ + +/** PHPExcel */ +require_once dirname(__FILE__) . '/../Classes/PHPExcel.php'; + + +$objPHPExcel = new PHPExcel(); +$objWorksheet = $objPHPExcel->getActiveSheet(); +$objWorksheet->fromArray( + array( + array('', 2010, 2011, 2012), + array('Q1', 12, 15, 21), + array('Q2', 56, 73, 86), + array('Q3', 52, 61, 69), + array('Q4', 30, 32, 0), + ) +); + +// Set the Labels for each data series we want to plot +// Datatype +// Cell reference for data +// Format Code +// Number of datapoints in series +// Data values +// Data Marker +$dataSeriesLabels = array( + new PHPExcel_Chart_DataSeriesValues('String', 'Worksheet!$B$1', NULL, 1), // 2010 + new PHPExcel_Chart_DataSeriesValues('String', 'Worksheet!$C$1', NULL, 1), // 2011 + new PHPExcel_Chart_DataSeriesValues('String', 'Worksheet!$D$1', NULL, 1), // 2012 +); +// Set the X-Axis Labels +// Datatype +// Cell reference for data +// Format Code +// Number of datapoints in series +// Data values +// Data Marker +$xAxisTickValues = array( + new PHPExcel_Chart_DataSeriesValues('String', 'Worksheet!$A$2:$A$5', NULL, 4), // Q1 to Q4 +); +// Set the Data values for each data series we want to plot +// Datatype +// Cell reference for data +// Format Code +// Number of datapoints in series +// Data values +// Data Marker +$dataSeriesValues = array( + new PHPExcel_Chart_DataSeriesValues('Number', 'Worksheet!$B$2:$B$5', NULL, 4), + new PHPExcel_Chart_DataSeriesValues('Number', 'Worksheet!$C$2:$C$5', NULL, 4), + new PHPExcel_Chart_DataSeriesValues('Number', 'Worksheet!$D$2:$D$5', NULL, 4), +); + +// Build the dataseries +$series = new PHPExcel_Chart_DataSeries( + PHPExcel_Chart_DataSeries::TYPE_BARCHART, // plotType + PHPExcel_Chart_DataSeries::GROUPING_STANDARD, // plotGrouping + range(0, count($dataSeriesValues)-1), // plotOrder + $dataSeriesLabels, // plotLabel + $xAxisTickValues, // plotCategory + $dataSeriesValues // plotValues +); +// Set additional dataseries parameters +// Make it a vertical column rather than a horizontal bar graph +$series->setPlotDirection(PHPExcel_Chart_DataSeries::DIRECTION_COL); + +// Set the series in the plot area +$plotArea = new PHPExcel_Chart_PlotArea(NULL, array($series)); +// Set the chart legend +$legend = new PHPExcel_Chart_Legend(PHPExcel_Chart_Legend::POSITION_RIGHT, NULL, false); + +$title = new PHPExcel_Chart_Title('Test Column Chart'); +$yAxisLabel = new PHPExcel_Chart_Title('Value ($k)'); + + +// Create the chart +$chart = new PHPExcel_Chart( + 'chart1', // name + $title, // title + $legend, // legend + $plotArea, // plotArea + true, // plotVisibleOnly + 0, // displayBlanksAs + NULL, // xAxisLabel + $yAxisLabel // yAxisLabel +); + +// Set the position where the chart should appear in the worksheet +$chart->setTopLeftPosition('A7'); +$chart->setBottomRightPosition('H20'); + +// Add the chart to the worksheet +$objWorksheet->addChart($chart); + + +// Save Excel 2007 file +echo date('H:i:s') , " Write to Excel2007 format" , EOL; +$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007'); +$objWriter->setIncludeCharts(TRUE); +$objWriter->save(str_replace('.php', '.xlsx', __FILE__)); +echo date('H:i:s') , " File written to " , str_replace('.php', '.xlsx', pathinfo(__FILE__, PATHINFO_BASENAME)) , EOL; + + +// Echo memory peak usage +echo date('H:i:s') , " Peak memory usage: " , (memory_get_peak_usage(true) / 1024 / 1024) , " MB" , EOL; + +// Echo done +echo date('H:i:s') , " Done writing file" , EOL; +echo 'File has been created in ' , getcwd() , EOL; diff --git a/vendor/phpoffice/phpexcel/Examples/33chartcreate-composite.php b/vendor/phpoffice/phpexcel/Examples/33chartcreate-composite.php new file mode 100644 index 00000000..8ea72126 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Examples/33chartcreate-composite.php @@ -0,0 +1,203 @@ +<?php + +/** Error reporting */ +error_reporting(E_ALL); +ini_set('display_errors', TRUE); +ini_set('display_startup_errors', TRUE); +date_default_timezone_set('Europe/London'); + +define('EOL',(PHP_SAPI == 'cli') ? PHP_EOL : '<br />'); + +date_default_timezone_set('Europe/London'); + +/** + * PHPExcel + * + * Copyright (C) 2006 - 2014 PHPExcel + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * @category PHPExcel + * @package PHPExcel + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @version ##VERSION##, ##DATE## + */ + +/** PHPExcel */ +require_once dirname(__FILE__) . '/../Classes/PHPExcel.php'; + + +$objPHPExcel = new PHPExcel(); +$objWorksheet = $objPHPExcel->getActiveSheet(); +$objWorksheet->fromArray( + array( + array('', 'Rainfall (mm)', 'Temperature (°F)', 'Humidity (%)'), + array('Jan', 78, 52, 61), + array('Feb', 64, 54, 62), + array('Mar', 62, 57, 63), + array('Apr', 21, 62, 59), + array('May', 11, 75, 60), + array('Jun', 1, 75, 57), + array('Jul', 1, 79, 56), + array('Aug', 1, 79, 59), + array('Sep', 10, 75, 60), + array('Oct', 40, 68, 63), + array('Nov', 69, 62, 64), + array('Dec', 89, 57, 66), + ) +); + + +// Set the Labels for each data series we want to plot +// Datatype +// Cell reference for data +// Format Code +// Number of datapoints in series +// Data values +// Data Marker +$dataSeriesLabels1 = array( + new PHPExcel_Chart_DataSeriesValues('String', 'Worksheet!$B$1', NULL, 1), // Temperature +); +$dataSeriesLabels2 = array( + new PHPExcel_Chart_DataSeriesValues('String', 'Worksheet!$C$1', NULL, 1), // Rainfall +); +$dataSeriesLabels3 = array( + new PHPExcel_Chart_DataSeriesValues('String', 'Worksheet!$D$1', NULL, 1), // Humidity +); + +// Set the X-Axis Labels +// Datatype +// Cell reference for data +// Format Code +// Number of datapoints in series +// Data values +// Data Marker +$xAxisTickValues = array( + new PHPExcel_Chart_DataSeriesValues('String', 'Worksheet!$A$2:$A$13', NULL, 12), // Jan to Dec +); + + +// Set the Data values for each data series we want to plot +// Datatype +// Cell reference for data +// Format Code +// Number of datapoints in series +// Data values +// Data Marker +$dataSeriesValues1 = array( + new PHPExcel_Chart_DataSeriesValues('Number', 'Worksheet!$B$2:$B$13', NULL, 12), +); + +// Build the dataseries +$series1 = new PHPExcel_Chart_DataSeries( + PHPExcel_Chart_DataSeries::TYPE_BARCHART, // plotType + PHPExcel_Chart_DataSeries::GROUPING_CLUSTERED, // plotGrouping + range(0, count($dataSeriesValues1)-1), // plotOrder + $dataSeriesLabels1, // plotLabel + $xAxisTickValues, // plotCategory + $dataSeriesValues1 // plotValues +); +// Set additional dataseries parameters +// Make it a vertical column rather than a horizontal bar graph +$series1->setPlotDirection(PHPExcel_Chart_DataSeries::DIRECTION_COL); + + +// Set the Data values for each data series we want to plot +// Datatype +// Cell reference for data +// Format Code +// Number of datapoints in series +// Data values +// Data Marker +$dataSeriesValues2 = array( + new PHPExcel_Chart_DataSeriesValues('Number', 'Worksheet!$C$2:$C$13', NULL, 12), +); + +// Build the dataseries +$series2 = new PHPExcel_Chart_DataSeries( + PHPExcel_Chart_DataSeries::TYPE_LINECHART, // plotType + PHPExcel_Chart_DataSeries::GROUPING_STANDARD, // plotGrouping + range(0, count($dataSeriesValues2)-1), // plotOrder + $dataSeriesLabels2, // plotLabel + NULL, // plotCategory + $dataSeriesValues2 // plotValues +); + + +// Set the Data values for each data series we want to plot +// Datatype +// Cell reference for data +// Format Code +// Number of datapoints in series +// Data values +// Data Marker +$dataSeriesValues3 = array( + new PHPExcel_Chart_DataSeriesValues('Number', 'Worksheet!$D$2:$D$13', NULL, 12), +); + +// Build the dataseries +$series3 = new PHPExcel_Chart_DataSeries( + PHPExcel_Chart_DataSeries::TYPE_AREACHART, // plotType + PHPExcel_Chart_DataSeries::GROUPING_STANDARD, // plotGrouping + range(0, count($dataSeriesValues2)-1), // plotOrder + $dataSeriesLabels3, // plotLabel + NULL, // plotCategory + $dataSeriesValues3 // plotValues +); + + +// Set the series in the plot area +$plotArea = new PHPExcel_Chart_PlotArea(NULL, array($series1, $series2, $series3)); +// Set the chart legend +$legend = new PHPExcel_Chart_Legend(PHPExcel_Chart_Legend::POSITION_RIGHT, NULL, false); + +$title = new PHPExcel_Chart_Title('Average Weather Chart for Crete'); + + +// Create the chart +$chart = new PHPExcel_Chart( + 'chart1', // name + $title, // title + $legend, // legend + $plotArea, // plotArea + true, // plotVisibleOnly + 0, // displayBlanksAs + NULL, // xAxisLabel + NULL // yAxisLabel +); + +// Set the position where the chart should appear in the worksheet +$chart->setTopLeftPosition('F2'); +$chart->setBottomRightPosition('O16'); + +// Add the chart to the worksheet +$objWorksheet->addChart($chart); + + +// Save Excel 2007 file +echo date('H:i:s') , " Write to Excel2007 format" , EOL; +$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007'); +$objWriter->setIncludeCharts(TRUE); +$objWriter->save(str_replace('.php', '.xlsx', __FILE__)); +echo date('H:i:s') , " File written to " , str_replace('.php', '.xlsx', pathinfo(__FILE__, PATHINFO_BASENAME)) , EOL; + + +// Echo memory peak usage +echo date('H:i:s') , " Peak memory usage: " , (memory_get_peak_usage(true) / 1024 / 1024) , " MB" , EOL; + +// Echo done +echo date('H:i:s') , " Done writing file" , EOL; +echo 'File has been created in ' , getcwd() , EOL; diff --git a/vendor/phpoffice/phpexcel/Examples/33chartcreate-line.php b/vendor/phpoffice/phpexcel/Examples/33chartcreate-line.php new file mode 100644 index 00000000..145ae72e --- /dev/null +++ b/vendor/phpoffice/phpexcel/Examples/33chartcreate-line.php @@ -0,0 +1,142 @@ +<?php + +/** Error reporting */ +error_reporting(E_ALL); +ini_set('display_errors', TRUE); +ini_set('display_startup_errors', TRUE); +date_default_timezone_set('Europe/London'); + +define('EOL',(PHP_SAPI == 'cli') ? PHP_EOL : '<br />'); + +date_default_timezone_set('Europe/London'); + +/** + * PHPExcel + * + * Copyright (C) 2006 - 2014 PHPExcel + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * @category PHPExcel + * @package PHPExcel + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @version ##VERSION##, ##DATE## + */ + +/** PHPExcel */ +require_once dirname(__FILE__) . '/../Classes/PHPExcel.php'; + + +$objPHPExcel = new PHPExcel(); +$objWorksheet = $objPHPExcel->getActiveSheet(); +$objWorksheet->fromArray( + array( + array('', 2010, 2011, 2012), + array('Q1', 12, 15, 21), + array('Q2', 56, 73, 86), + array('Q3', 52, 61, 69), + array('Q4', 30, 32, 0), + ) +); + +// Set the Labels for each data series we want to plot +// Datatype +// Cell reference for data +// Format Code +// Number of datapoints in series +// Data values +// Data Marker +$dataSeriesLabels = array( + new PHPExcel_Chart_DataSeriesValues('String', 'Worksheet!$B$1', NULL, 1), // 2010 + new PHPExcel_Chart_DataSeriesValues('String', 'Worksheet!$C$1', NULL, 1), // 2011 + new PHPExcel_Chart_DataSeriesValues('String', 'Worksheet!$D$1', NULL, 1), // 2012 +); +// Set the X-Axis Labels +// Datatype +// Cell reference for data +// Format Code +// Number of datapoints in series +// Data values +// Data Marker +$xAxisTickValues = array( + new PHPExcel_Chart_DataSeriesValues('String', 'Worksheet!$A$2:$A$5', NULL, 4), // Q1 to Q4 +); +// Set the Data values for each data series we want to plot +// Datatype +// Cell reference for data +// Format Code +// Number of datapoints in series +// Data values +// Data Marker +$dataSeriesValues = array( + new PHPExcel_Chart_DataSeriesValues('Number', 'Worksheet!$B$2:$B$5', NULL, 4), + new PHPExcel_Chart_DataSeriesValues('Number', 'Worksheet!$C$2:$C$5', NULL, 4), + new PHPExcel_Chart_DataSeriesValues('Number', 'Worksheet!$D$2:$D$5', NULL, 4), +); + +// Build the dataseries +$series = new PHPExcel_Chart_DataSeries( + PHPExcel_Chart_DataSeries::TYPE_LINECHART, // plotType + PHPExcel_Chart_DataSeries::GROUPING_STACKED, // plotGrouping + range(0, count($dataSeriesValues)-1), // plotOrder + $dataSeriesLabels, // plotLabel + $xAxisTickValues, // plotCategory + $dataSeriesValues // plotValues +); + +// Set the series in the plot area +$plotArea = new PHPExcel_Chart_PlotArea(NULL, array($series)); +// Set the chart legend +$legend = new PHPExcel_Chart_Legend(PHPExcel_Chart_Legend::POSITION_TOPRIGHT, NULL, false); + +$title = new PHPExcel_Chart_Title('Test Stacked Line Chart'); +$yAxisLabel = new PHPExcel_Chart_Title('Value ($k)'); + + +// Create the chart +$chart = new PHPExcel_Chart( + 'chart1', // name + $title, // title + $legend, // legend + $plotArea, // plotArea + true, // plotVisibleOnly + 0, // displayBlanksAs + NULL, // xAxisLabel + $yAxisLabel // yAxisLabel +); + +// Set the position where the chart should appear in the worksheet +$chart->setTopLeftPosition('A7'); +$chart->setBottomRightPosition('H20'); + +// Add the chart to the worksheet +$objWorksheet->addChart($chart); + + +// Save Excel 2007 file +echo date('H:i:s') , " Write to Excel2007 format" , EOL; +$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007'); +$objWriter->setIncludeCharts(TRUE); +$objWriter->save(str_replace('.php', '.xlsx', __FILE__)); +echo date('H:i:s') , " File written to " , str_replace('.php', '.xlsx', pathinfo(__FILE__, PATHINFO_BASENAME)) , EOL; + + +// Echo memory peak usage +echo date('H:i:s') , " Peak memory usage: " , (memory_get_peak_usage(true) / 1024 / 1024) , " MB" , EOL; + +// Echo done +echo date('H:i:s') , " Done writing file" , EOL; +echo 'File has been created in ' , getcwd() , EOL; diff --git a/vendor/phpoffice/phpexcel/Examples/33chartcreate-multiple-charts.php b/vendor/phpoffice/phpexcel/Examples/33chartcreate-multiple-charts.php new file mode 100644 index 00000000..a95c2763 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Examples/33chartcreate-multiple-charts.php @@ -0,0 +1,220 @@ +<?php + +/** Error reporting */ +error_reporting(E_ALL); +ini_set('display_errors', TRUE); +ini_set('display_startup_errors', TRUE); +date_default_timezone_set('Europe/London'); + +define('EOL',(PHP_SAPI == 'cli') ? PHP_EOL : '<br />'); + +date_default_timezone_set('Europe/London'); + +/** + * PHPExcel + * + * Copyright (C) 2006 - 2014 PHPExcel + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * @category PHPExcel + * @package PHPExcel + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @version ##VERSION##, ##DATE## + */ + +/** PHPExcel */ +require_once dirname(__FILE__) . '/../Classes/PHPExcel.php'; + + +$objPHPExcel = new PHPExcel(); +$objWorksheet = $objPHPExcel->getActiveSheet(); +$objWorksheet->fromArray( + array( + array('', 2010, 2011, 2012), + array('Q1', 12, 15, 21), + array('Q2', 56, 73, 86), + array('Q3', 52, 61, 69), + array('Q4', 30, 32, 0), + ) +); + + +// Set the Labels for each data series we want to plot +// Datatype +// Cell reference for data +// Format Code +// Number of datapoints in series +// Data values +// Data Marker +$dataSeriesLabels1 = array( + new PHPExcel_Chart_DataSeriesValues('String', 'Worksheet!$B$1', NULL, 1), // 2010 + new PHPExcel_Chart_DataSeriesValues('String', 'Worksheet!$C$1', NULL, 1), // 2011 + new PHPExcel_Chart_DataSeriesValues('String', 'Worksheet!$D$1', NULL, 1), // 2012 +); +// Set the X-Axis Labels +// Datatype +// Cell reference for data +// Format Code +// Number of datapoints in series +// Data values +// Data Marker +$xAxisTickValues1 = array( + new PHPExcel_Chart_DataSeriesValues('String', 'Worksheet!$A$2:$A$5', NULL, 4), // Q1 to Q4 +); +// Set the Data values for each data series we want to plot +// Datatype +// Cell reference for data +// Format Code +// Number of datapoints in series +// Data values +// Data Marker +$dataSeriesValues1 = array( + new PHPExcel_Chart_DataSeriesValues('Number', 'Worksheet!$B$2:$B$5', NULL, 4), + new PHPExcel_Chart_DataSeriesValues('Number', 'Worksheet!$C$2:$C$5', NULL, 4), + new PHPExcel_Chart_DataSeriesValues('Number', 'Worksheet!$D$2:$D$5', NULL, 4), +); + +// Build the dataseries +$series1 = new PHPExcel_Chart_DataSeries( + PHPExcel_Chart_DataSeries::TYPE_AREACHART, // plotType + PHPExcel_Chart_DataSeries::GROUPING_PERCENT_STACKED, // plotGrouping + range(0, count($dataSeriesValues1)-1), // plotOrder + $dataSeriesLabels1, // plotLabel + $xAxisTickValues1, // plotCategory + $dataSeriesValues1 // plotValues +); + +// Set the series in the plot area +$plotArea1 = new PHPExcel_Chart_PlotArea(NULL, array($series1)); +// Set the chart legend +$legend1 = new PHPExcel_Chart_Legend(PHPExcel_Chart_Legend::POSITION_TOPRIGHT, NULL, false); + +$title1 = new PHPExcel_Chart_Title('Test %age-Stacked Area Chart'); +$yAxisLabel1 = new PHPExcel_Chart_Title('Value ($k)'); + + +// Create the chart +$chart1 = new PHPExcel_Chart( + 'chart1', // name + $title1, // title + $legend1, // legend + $plotArea1, // plotArea + true, // plotVisibleOnly + 0, // displayBlanksAs + NULL, // xAxisLabel + $yAxisLabel1 // yAxisLabel +); + +// Set the position where the chart should appear in the worksheet +$chart1->setTopLeftPosition('A7'); +$chart1->setBottomRightPosition('H20'); + +// Add the chart to the worksheet +$objWorksheet->addChart($chart1); + + +// Set the Labels for each data series we want to plot +// Datatype +// Cell reference for data +// Format Code +// Number of datapoints in series +// Data values +// Data Marker +$dataSeriesLabels2 = array( + new PHPExcel_Chart_DataSeriesValues('String', 'Worksheet!$B$1', NULL, 1), // 2010 + new PHPExcel_Chart_DataSeriesValues('String', 'Worksheet!$C$1', NULL, 1), // 2011 + new PHPExcel_Chart_DataSeriesValues('String', 'Worksheet!$D$1', NULL, 1), // 2012 +); +// Set the X-Axis Labels +// Datatype +// Cell reference for data +// Format Code +// Number of datapoints in series +// Data values +// Data Marker +$xAxisTickValues2 = array( + new PHPExcel_Chart_DataSeriesValues('String', 'Worksheet!$A$2:$A$5', NULL, 4), // Q1 to Q4 +); +// Set the Data values for each data series we want to plot +// Datatype +// Cell reference for data +// Format Code +// Number of datapoints in series +// Data values +// Data Marker +$dataSeriesValues2 = array( + new PHPExcel_Chart_DataSeriesValues('Number', 'Worksheet!$B$2:$B$5', NULL, 4), + new PHPExcel_Chart_DataSeriesValues('Number', 'Worksheet!$C$2:$C$5', NULL, 4), + new PHPExcel_Chart_DataSeriesValues('Number', 'Worksheet!$D$2:$D$5', NULL, 4), +); + +// Build the dataseries +$series2 = new PHPExcel_Chart_DataSeries( + PHPExcel_Chart_DataSeries::TYPE_BARCHART, // plotType + PHPExcel_Chart_DataSeries::GROUPING_STANDARD, // plotGrouping + range(0, count($dataSeriesValues2)-1), // plotOrder + $dataSeriesLabels2, // plotLabel + $xAxisTickValues2, // plotCategory + $dataSeriesValues2 // plotValues +); +// Set additional dataseries parameters +// Make it a vertical column rather than a horizontal bar graph +$series2->setPlotDirection(PHPExcel_Chart_DataSeries::DIRECTION_COL); + +// Set the series in the plot area +$plotArea2 = new PHPExcel_Chart_PlotArea(NULL, array($series2)); +// Set the chart legend +$legend2 = new PHPExcel_Chart_Legend(PHPExcel_Chart_Legend::POSITION_RIGHT, NULL, false); + +$title2 = new PHPExcel_Chart_Title('Test Column Chart'); +$yAxisLabel2 = new PHPExcel_Chart_Title('Value ($k)'); + + +// Create the chart +$chart2 = new PHPExcel_Chart( + 'chart2', // name + $title2, // title + $legend2, // legend + $plotArea2, // plotArea + true, // plotVisibleOnly + 0, // displayBlanksAs + NULL, // xAxisLabel + $yAxisLabel2 // yAxisLabel +); + +// Set the position where the chart should appear in the worksheet +$chart2->setTopLeftPosition('I7'); +$chart2->setBottomRightPosition('P20'); + +// Add the chart to the worksheet +$objWorksheet->addChart($chart2); + + +// Save Excel 2007 file +echo date('H:i:s') , " Write to Excel2007 format" , EOL; +$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007'); +$objWriter->setIncludeCharts(TRUE); +$objWriter->save(str_replace('.php', '.xlsx', __FILE__)); +echo date('H:i:s') , " File written to " , str_replace('.php', '.xlsx', pathinfo(__FILE__, PATHINFO_BASENAME)) , EOL; + + +// Echo memory peak usage +echo date('H:i:s') , " Peak memory usage: " , (memory_get_peak_usage(true) / 1024 / 1024) , " MB" , EOL; + +// Echo done +echo date('H:i:s') , " Done writing file" , EOL; +echo 'File has been created in ' , getcwd() , EOL; diff --git a/vendor/phpoffice/phpexcel/Examples/33chartcreate-pie.php b/vendor/phpoffice/phpexcel/Examples/33chartcreate-pie.php new file mode 100644 index 00000000..5af02905 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Examples/33chartcreate-pie.php @@ -0,0 +1,215 @@ +<?php + +/** Error reporting */ +error_reporting(E_ALL); +ini_set('display_errors', TRUE); +ini_set('display_startup_errors', TRUE); +date_default_timezone_set('Europe/London'); + +define('EOL',(PHP_SAPI == 'cli') ? PHP_EOL : '<br />'); + +date_default_timezone_set('Europe/London'); + +/** + * PHPExcel + * + * Copyright (C) 2006 - 2014 PHPExcel + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * @category PHPExcel + * @package PHPExcel + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @version ##VERSION##, ##DATE## + */ + +/** PHPExcel */ +require_once dirname(__FILE__) . '/../Classes/PHPExcel.php'; + + +$objPHPExcel = new PHPExcel(); +$objWorksheet = $objPHPExcel->getActiveSheet(); +$objWorksheet->fromArray( + array( + array('', 2010, 2011, 2012), + array('Q1', 12, 15, 21), + array('Q2', 56, 73, 86), + array('Q3', 52, 61, 69), + array('Q4', 30, 32, 0), + ) +); + + +// Set the Labels for each data series we want to plot +// Datatype +// Cell reference for data +// Format Code +// Number of datapoints in series +// Data values +// Data Marker +$dataSeriesLabels1 = array( + new PHPExcel_Chart_DataSeriesValues('String', 'Worksheet!$C$1', NULL, 1), // 2011 +); +// Set the X-Axis Labels +// Datatype +// Cell reference for data +// Format Code +// Number of datapoints in series +// Data values +// Data Marker +$xAxisTickValues1 = array( + new PHPExcel_Chart_DataSeriesValues('String', 'Worksheet!$A$2:$A$5', NULL, 4), // Q1 to Q4 +); +// Set the Data values for each data series we want to plot +// Datatype +// Cell reference for data +// Format Code +// Number of datapoints in series +// Data values +// Data Marker +$dataSeriesValues1 = array( + new PHPExcel_Chart_DataSeriesValues('Number', 'Worksheet!$C$2:$C$5', NULL, 4), +); + +// Build the dataseries +$series1 = new PHPExcel_Chart_DataSeries( + PHPExcel_Chart_DataSeries::TYPE_PIECHART, // plotType + NULL, // plotGrouping (Pie charts don't have any grouping) + range(0, count($dataSeriesValues1)-1), // plotOrder + $dataSeriesLabels1, // plotLabel + $xAxisTickValues1, // plotCategory + $dataSeriesValues1 // plotValues +); + +// Set up a layout object for the Pie chart +$layout1 = new PHPExcel_Chart_Layout(); +$layout1->setShowVal(TRUE); +$layout1->setShowPercent(TRUE); + +// Set the series in the plot area +$plotArea1 = new PHPExcel_Chart_PlotArea($layout1, array($series1)); +// Set the chart legend +$legend1 = new PHPExcel_Chart_Legend(PHPExcel_Chart_Legend::POSITION_RIGHT, NULL, false); + +$title1 = new PHPExcel_Chart_Title('Test Pie Chart'); + + +// Create the chart +$chart1 = new PHPExcel_Chart( + 'chart1', // name + $title1, // title + $legend1, // legend + $plotArea1, // plotArea + true, // plotVisibleOnly + 0, // displayBlanksAs + NULL, // xAxisLabel + NULL // yAxisLabel - Pie charts don't have a Y-Axis +); + +// Set the position where the chart should appear in the worksheet +$chart1->setTopLeftPosition('A7'); +$chart1->setBottomRightPosition('H20'); + +// Add the chart to the worksheet +$objWorksheet->addChart($chart1); + + +// Set the Labels for each data series we want to plot +// Datatype +// Cell reference for data +// Format Code +// Number of datapoints in series +// Data values +// Data Marker +$dataSeriesLabels2 = array( + new PHPExcel_Chart_DataSeriesValues('String', 'Worksheet!$C$1', NULL, 1), // 2011 +); +// Set the X-Axis Labels +// Datatype +// Cell reference for data +// Format Code +// Number of datapoints in series +// Data values +// Data Marker +$xAxisTickValues2 = array( + new PHPExcel_Chart_DataSeriesValues('String', 'Worksheet!$A$2:$A$5', NULL, 4), // Q1 to Q4 +); +// Set the Data values for each data series we want to plot +// Datatype +// Cell reference for data +// Format Code +// Number of datapoints in series +// Data values +// Data Marker +$dataSeriesValues2 = array( + new PHPExcel_Chart_DataSeriesValues('Number', 'Worksheet!$C$2:$C$5', NULL, 4), +); + +// Build the dataseries +$series2 = new PHPExcel_Chart_DataSeries( + PHPExcel_Chart_DataSeries::TYPE_DONUTCHART, // plotType + NULL, // plotGrouping (Donut charts don't have any grouping) + range(0, count($dataSeriesValues2)-1), // plotOrder + $dataSeriesLabels2, // plotLabel + $xAxisTickValues2, // plotCategory + $dataSeriesValues2 // plotValues +); + +// Set up a layout object for the Pie chart +$layout2 = new PHPExcel_Chart_Layout(); +$layout2->setShowVal(TRUE); +$layout2->setShowCatName(TRUE); + +// Set the series in the plot area +$plotArea2 = new PHPExcel_Chart_PlotArea($layout2, array($series2)); + +$title2 = new PHPExcel_Chart_Title('Test Donut Chart'); + + +// Create the chart +$chart2 = new PHPExcel_Chart( + 'chart2', // name + $title2, // title + NULL, // legend + $plotArea2, // plotArea + true, // plotVisibleOnly + 0, // displayBlanksAs + NULL, // xAxisLabel + NULL // yAxisLabel - Like Pie charts, Donut charts don't have a Y-Axis +); + +// Set the position where the chart should appear in the worksheet +$chart2->setTopLeftPosition('I7'); +$chart2->setBottomRightPosition('P20'); + +// Add the chart to the worksheet +$objWorksheet->addChart($chart2); + + +// Save Excel 2007 file +echo date('H:i:s') , " Write to Excel2007 format" , EOL; +$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007'); +$objWriter->setIncludeCharts(TRUE); +$objWriter->save(str_replace('.php', '.xlsx', __FILE__)); +echo date('H:i:s') , " File written to " , str_replace('.php', '.xlsx', pathinfo(__FILE__, PATHINFO_BASENAME)) , EOL; + + +// Echo memory peak usage +echo date('H:i:s') , " Peak memory usage: " , (memory_get_peak_usage(true) / 1024 / 1024) , " MB" , EOL; + +// Echo done +echo date('H:i:s') , " Done writing file" , EOL; +echo 'File has been created in ' , getcwd() , EOL; diff --git a/vendor/phpoffice/phpexcel/Examples/33chartcreate-radar.php b/vendor/phpoffice/phpexcel/Examples/33chartcreate-radar.php new file mode 100644 index 00000000..b8b427f3 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Examples/33chartcreate-radar.php @@ -0,0 +1,154 @@ +<?php + +/** Error reporting */ +error_reporting(E_ALL); +ini_set('display_errors', TRUE); +ini_set('display_startup_errors', TRUE); +date_default_timezone_set('Europe/London'); + +define('EOL',(PHP_SAPI == 'cli') ? PHP_EOL : '<br />'); + +date_default_timezone_set('Europe/London'); + +/** + * PHPExcel + * + * Copyright (C) 2006 - 2014 PHPExcel + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * @category PHPExcel + * @package PHPExcel + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @version ##VERSION##, ##DATE## + */ + +/** PHPExcel */ +require_once dirname(__FILE__) . '/../Classes/PHPExcel.php'; + + +$objPHPExcel = new PHPExcel(); +$objWorksheet = $objPHPExcel->getActiveSheet(); +$objWorksheet->fromArray( + array( + array('', 2010, 2011, 2012), + array('Jan', 47, 45, 71), + array('Feb', 56, 73, 86), + array('Mar', 52, 61, 69), + array('Apr', 40, 52, 60), + array('May', 42, 55, 71), + array('Jun', 58, 63, 76), + array('Jul', 53, 61, 89), + array('Aug', 46, 69, 85), + array('Sep', 62, 75, 81), + array('Oct', 51, 70, 96), + array('Nov', 55, 66, 89), + array('Dec', 68, 62, 0), + ) +); + + +// Set the Labels for each data series we want to plot +// Datatype +// Cell reference for data +// Format Code +// Number of datapoints in series +// Data values +// Data Marker +$dataSeriesLabels = array( + new PHPExcel_Chart_DataSeriesValues('String', 'Worksheet!$C$1', NULL, 1), // 2011 + new PHPExcel_Chart_DataSeriesValues('String', 'Worksheet!$D$1', NULL, 1), // 2012 +); +// Set the X-Axis Labels +// Datatype +// Cell reference for data +// Format Code +// Number of datapoints in series +// Data values +// Data Marker +$xAxisTickValues = array( + new PHPExcel_Chart_DataSeriesValues('String', 'Worksheet!$A$2:$A$13', NULL, 12), // Jan to Dec + new PHPExcel_Chart_DataSeriesValues('String', 'Worksheet!$A$2:$A$13', NULL, 12), // Jan to Dec +); +// Set the Data values for each data series we want to plot +// Datatype +// Cell reference for data +// Format Code +// Number of datapoints in series +// Data values +// Data Marker +$dataSeriesValues = array( + new PHPExcel_Chart_DataSeriesValues('Number', 'Worksheet!$C$2:$C$13', NULL, 12), + new PHPExcel_Chart_DataSeriesValues('Number', 'Worksheet!$D$2:$D$13', NULL, 12), +); + +// Build the dataseries +$series = new PHPExcel_Chart_DataSeries( + PHPExcel_Chart_DataSeries::TYPE_RADARCHART, // plotType + NULL, // plotGrouping (Radar charts don't have any grouping) + range(0, count($dataSeriesValues)-1), // plotOrder + $dataSeriesLabels, // plotLabel + $xAxisTickValues, // plotCategory + $dataSeriesValues, // plotValues + NULL, // smooth line + PHPExcel_Chart_DataSeries::STYLE_MARKER // plotStyle +); + +// Set up a layout object for the Pie chart +$layout = new PHPExcel_Chart_Layout(); + +// Set the series in the plot area +$plotArea = new PHPExcel_Chart_PlotArea($layout, array($series)); +// Set the chart legend +$legend = new PHPExcel_Chart_Legend(PHPExcel_Chart_Legend::POSITION_RIGHT, NULL, false); + +$title = new PHPExcel_Chart_Title('Test Radar Chart'); + + +// Create the chart +$chart = new PHPExcel_Chart( + 'chart1', // name + $title, // title + $legend, // legend + $plotArea, // plotArea + true, // plotVisibleOnly + 0, // displayBlanksAs + NULL, // xAxisLabel + NULL // yAxisLabel - Radar charts don't have a Y-Axis +); + +// Set the position where the chart should appear in the worksheet +$chart->setTopLeftPosition('F2'); +$chart->setBottomRightPosition('M15'); + +// Add the chart to the worksheet +$objWorksheet->addChart($chart); + + +// Save Excel 2007 file +echo date('H:i:s') , " Write to Excel2007 format" , EOL; +$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007'); +$objWriter->setIncludeCharts(TRUE); +$objWriter->save(str_replace('.php', '.xlsx', __FILE__)); +echo date('H:i:s') , " File written to " , str_replace('.php', '.xlsx', pathinfo(__FILE__, PATHINFO_BASENAME)) , EOL; + + +// Echo memory peak usage +echo date('H:i:s') , " Peak memory usage: " , (memory_get_peak_usage(true) / 1024 / 1024) , " MB" , EOL; + +// Echo done +echo date('H:i:s') , " Done writing file" , EOL; +echo 'File has been created in ' , getcwd() , EOL; diff --git a/vendor/phpoffice/phpexcel/Examples/33chartcreate-scatter.php b/vendor/phpoffice/phpexcel/Examples/33chartcreate-scatter.php new file mode 100644 index 00000000..250c61d7 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Examples/33chartcreate-scatter.php @@ -0,0 +1,138 @@ +<?php + +/** Error reporting */ +error_reporting(E_ALL); +ini_set('display_errors', TRUE); +ini_set('display_startup_errors', TRUE); +date_default_timezone_set('Europe/London'); + +define('EOL',(PHP_SAPI == 'cli') ? PHP_EOL : '<br />'); + +date_default_timezone_set('Europe/London'); + +/** + * PHPExcel + * + * Copyright (C) 2006 - 2014 PHPExcel + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * @category PHPExcel + * @package PHPExcel + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @version ##VERSION##, ##DATE## + */ + +/** PHPExcel */ +require_once dirname(__FILE__) . '/../Classes/PHPExcel.php'; + + +$objPHPExcel = new PHPExcel(); +$objWorksheet = $objPHPExcel->getActiveSheet(); +$objWorksheet->fromArray( + array( + array('', 2010, 2011, 2012), + array('Q1', 12, 15, 21), + array('Q2', 56, 73, 86), + array('Q3', 52, 61, 69), + array('Q4', 30, 32, 0), + ) +); + +// Set the Labels for each data series we want to plot +// Datatype +// Cell reference for data +// Format Code +// Number of datapoints in series +// Data values +// Data Marker +$dataSeriesLabels = array( + new PHPExcel_Chart_DataSeriesValues('String', 'Worksheet!$B$1', NULL, 1), // 2010 + new PHPExcel_Chart_DataSeriesValues('String', 'Worksheet!$C$1', NULL, 1), // 2011 + new PHPExcel_Chart_DataSeriesValues('String', 'Worksheet!$D$1', NULL, 1), // 2012 +); +// Set the X-Axis Labels +$xAxisTickValues = array( + new PHPExcel_Chart_DataSeriesValues('String', 'Worksheet!$A$2:$A$5', NULL, 4), // Q1 to Q4 +); +// Set the Data values for each data series we want to plot +// Datatype +// Cell reference for data +// Format Code +// Number of datapoints in series +// Data values +// Data Marker +$dataSeriesValues = array( + new PHPExcel_Chart_DataSeriesValues('Number', 'Worksheet!$B$2:$B$5', NULL, 4), + new PHPExcel_Chart_DataSeriesValues('Number', 'Worksheet!$C$2:$C$5', NULL, 4), + new PHPExcel_Chart_DataSeriesValues('Number', 'Worksheet!$D$2:$D$5', NULL, 4), +); + +// Build the dataseries +$series = new PHPExcel_Chart_DataSeries( + PHPExcel_Chart_DataSeries::TYPE_SCATTERCHART, // plotType + NULL, // plotGrouping (Scatter charts don't have any grouping) + range(0, count($dataSeriesValues)-1), // plotOrder + $dataSeriesLabels, // plotLabel + $xAxisTickValues, // plotCategory + $dataSeriesValues, // plotValues + NULL, // smooth line + PHPExcel_Chart_DataSeries::STYLE_LINEMARKER // plotStyle +); + +// Set the series in the plot area +$plotArea = new PHPExcel_Chart_PlotArea(NULL, array($series)); +// Set the chart legend +$legend = new PHPExcel_Chart_Legend(PHPExcel_Chart_Legend::POSITION_TOPRIGHT, NULL, false); + +$title = new PHPExcel_Chart_Title('Test Scatter Chart'); +$yAxisLabel = new PHPExcel_Chart_Title('Value ($k)'); + + +// Create the chart +$chart = new PHPExcel_Chart( + 'chart1', // name + $title, // title + $legend, // legend + $plotArea, // plotArea + true, // plotVisibleOnly + 0, // displayBlanksAs + NULL, // xAxisLabel + $yAxisLabel // yAxisLabel +); + +// Set the position where the chart should appear in the worksheet +$chart->setTopLeftPosition('A7'); +$chart->setBottomRightPosition('H20'); + +// Add the chart to the worksheet +$objWorksheet->addChart($chart); + + +// Save Excel 2007 file +echo date('H:i:s') , " Write to Excel2007 format" , EOL; +$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007'); +$objWriter->setIncludeCharts(TRUE); +$objWriter->save(str_replace('.php', '.xlsx', __FILE__)); +echo date('H:i:s') , " File written to " , str_replace('.php', '.xlsx', pathinfo(__FILE__, PATHINFO_BASENAME)) , EOL; + + +// Echo memory peak usage +echo date('H:i:s') , " Peak memory usage: " , (memory_get_peak_usage(true) / 1024 / 1024) , " MB" , EOL; + +// Echo done +echo date('H:i:s') , " Done writing file" , EOL; +echo 'File has been created in ' , getcwd() , EOL; diff --git a/vendor/phpoffice/phpexcel/Examples/33chartcreate-stock.php b/vendor/phpoffice/phpexcel/Examples/33chartcreate-stock.php new file mode 100644 index 00000000..b38fd518 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Examples/33chartcreate-stock.php @@ -0,0 +1,151 @@ +<?php + +/** Error reporting */ +error_reporting(E_ALL); +ini_set('display_errors', TRUE); +ini_set('display_startup_errors', TRUE); +date_default_timezone_set('Europe/London'); + +define('EOL',(PHP_SAPI == 'cli') ? PHP_EOL : '<br />'); + +date_default_timezone_set('Europe/London'); + +/** + * PHPExcel + * + * Copyright (C) 2006 - 2014 PHPExcel + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * @category PHPExcel + * @package PHPExcel + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @version ##VERSION##, ##DATE## + */ + +/** PHPExcel */ +require_once dirname(__FILE__) . '/../Classes/PHPExcel.php'; + + +$objPHPExcel = new PHPExcel(); +$objWorksheet = $objPHPExcel->getActiveSheet(); +$objWorksheet->fromArray( + array( + array('Counts', 'Max', 'Min', 'Min Threshold', 'Max Threshold' ), + array(10, 10, 5, 0, 50 ), + array(30, 20, 10, 0, 50 ), + array(20, 30, 15, 0, 50 ), + array(40, 10, 0, 0, 50 ), + array(100, 40, 5, 0, 50 ), + ), null, 'A1', true +); +$objWorksheet->getStyle('B2:E6')->getNumberFormat()->setFormatCode(PHPExcel_Style_NumberFormat::FORMAT_NUMBER_00); + + +// Set the Labels for each data series we want to plot +// Datatype +// Cell reference for data +// Format Code +// Number of datapoints in series +// Data values +// Data Marker +$dataSeriesLabels = array( + new PHPExcel_Chart_DataSeriesValues('String', 'Worksheet!$B$1', NULL, 1), //Max / Open + new PHPExcel_Chart_DataSeriesValues('String', 'Worksheet!$C$1', NULL, 1), //Min / Close + new PHPExcel_Chart_DataSeriesValues('String', 'Worksheet!$D$1', NULL, 1), //Min Threshold / Min + new PHPExcel_Chart_DataSeriesValues('String', 'Worksheet!$E$1', NULL, 1), //Max Threshold / Max +); +// Set the X-Axis Labels +// Datatype +// Cell reference for data +// Format Code +// Number of datapoints in series +// Data values +// Data Marker +$xAxisTickValues = array( + new PHPExcel_Chart_DataSeriesValues('String', 'Worksheet!$A$2:$A$6', NULL, 5), // Counts +); +// Set the Data values for each data series we want to plot +// Datatype +// Cell reference for data +// Format Code +// Number of datapoints in series +// Data values +// Data Marker +$dataSeriesValues = array( + new PHPExcel_Chart_DataSeriesValues('Number', 'Worksheet!$B$2:$B$6', NULL, 5), + new PHPExcel_Chart_DataSeriesValues('Number', 'Worksheet!$C$2:$C$6', NULL, 5), + new PHPExcel_Chart_DataSeriesValues('Number', 'Worksheet!$D$2:$D$6', NULL, 5), + new PHPExcel_Chart_DataSeriesValues('Number', 'Worksheet!$E$2:$E$6', NULL, 5), +); + +// Build the dataseries +$series = new PHPExcel_Chart_DataSeries( + PHPExcel_Chart_DataSeries::TYPE_STOCKCHART, // plotType + null, // plotGrouping - if we set this to not null, then xlsx throws error + range(0, count($dataSeriesValues)-1), // plotOrder + $dataSeriesLabels, // plotLabel + $xAxisTickValues, // plotCategory + $dataSeriesValues // plotValues +); + +// Set the series in the plot area +$plotArea = new PHPExcel_Chart_PlotArea(NULL, array($series)); +// Set the chart legend +$legend = new PHPExcel_Chart_Legend(PHPExcel_Chart_Legend::POSITION_RIGHT, NULL, false); + +$title = new PHPExcel_Chart_Title('Test Stock Chart'); +$xAxisLabel = new PHPExcel_Chart_Title('Counts'); +$yAxisLabel = new PHPExcel_Chart_Title('Values'); + +// Create the chart +$chart = new PHPExcel_Chart( + 'stock-chart', // name + $title, // title + $legend, // legend + $plotArea, // plotArea + true, // plotVisibleOnly + 0, // displayBlanksAs + $xAxisLabel, // xAxisLabel + $yAxisLabel // yAxisLabel +); + +// Set the position where the chart should appear in the worksheet +$chart->setTopLeftPosition('A7'); +$chart->setBottomRightPosition('H20'); + +// Add the chart to the worksheet +$objWorksheet->addChart($chart); + + +// Save Excel 2007 file +echo date('H:i:s') , " Write to Excel2007 format" , EOL; +$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007'); +$objWriter->setIncludeCharts(TRUE); +$filename = str_replace('.php', '.xlsx', __FILE__); +if(file_exists($filename)) { + unlink($filename); +} +$objWriter->save($filename); +echo date('H:i:s') , " File written to " , str_replace('.php', '.xlsx', pathinfo(__FILE__, PATHINFO_BASENAME)) , EOL; + + +// Echo memory peak usage +echo date('H:i:s') , " Peak memory usage: " , (memory_get_peak_usage(true) / 1024 / 1024) , " MB" , EOL; + +// Echo done +echo date('H:i:s') , " Done writing file" , EOL; +echo 'File has been created in ' , getcwd() , EOL; diff --git a/vendor/phpoffice/phpexcel/Examples/34chartupdate.php b/vendor/phpoffice/phpexcel/Examples/34chartupdate.php new file mode 100644 index 00000000..cb586a31 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Examples/34chartupdate.php @@ -0,0 +1,78 @@ +<?php + +/** Error reporting */ +error_reporting(E_ALL); +ini_set('display_errors', TRUE); +ini_set('display_startup_errors', TRUE); +date_default_timezone_set('Europe/London'); + +define('EOL',(PHP_SAPI == 'cli') ? PHP_EOL : '<br />'); + +date_default_timezone_set('Europe/London'); + +/** + * PHPExcel + * + * Copyright (C) 2006 - 2014 PHPExcel + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * @category PHPExcel + * @package PHPExcel + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @version ##VERSION##, ##DATE## + */ + +/** PHPExcel */ +require_once dirname(__FILE__) . '/../Classes/PHPExcel.php'; + +if (!file_exists("33chartcreate-bar.xlsx")) { + exit("Please run 33chartcreate-bar.php first." . EOL); +} + +echo date('H:i:s') , " Load from Excel2007 file" , EOL; +$objReader = PHPExcel_IOFactory::createReader("Excel2007"); +$objReader->setIncludeCharts(TRUE); +$objPHPExcel = $objReader->load("33chartcreate-bar.xlsx"); + + +echo date('H:i:s') , " Update cell data values that are displayed in the chart" , EOL; +$objWorksheet = $objPHPExcel->getActiveSheet(); +$objWorksheet->fromArray( + array( + array(50-12, 50-15, 50-21), + array(50-56, 50-73, 50-86), + array(50-52, 50-61, 50-69), + array(50-30, 50-32, 50), + ), + NULL, + 'B2' +); + +// Save Excel 2007 file +echo date('H:i:s') , " Write to Excel2007 format" , EOL; +$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007'); +$objWriter->setIncludeCharts(TRUE); +$objWriter->save(str_replace('.php', '.xlsx', __FILE__)); +echo date('H:i:s') , " File written to " , str_replace('.php', '.xlsx', pathinfo(__FILE__, PATHINFO_BASENAME)) , EOL; + + +// Echo memory peak usage +echo date('H:i:s') , " Peak memory usage: " , (memory_get_peak_usage(true) / 1024 / 1024) , " MB" , EOL; + +// Echo done +echo date('H:i:s') , " Done writing file" , EOL; +echo 'File has been created in ' , getcwd() , EOL; diff --git a/vendor/phpoffice/phpexcel/Examples/35chartrender.php b/vendor/phpoffice/phpexcel/Examples/35chartrender.php new file mode 100644 index 00000000..f0e79636 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Examples/35chartrender.php @@ -0,0 +1,134 @@ +<?php + +/** Error reporting */ +error_reporting(E_ALL); +ini_set('display_errors', TRUE); +ini_set('display_startup_errors', TRUE); +date_default_timezone_set('Europe/London'); + +define('EOL',(PHP_SAPI == 'cli') ? PHP_EOL : '<br />'); + +date_default_timezone_set('Europe/London'); + +/** + * PHPExcel + * + * Copyright (C) 2006 - 2014 PHPExcel + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * @category PHPExcel + * @package PHPExcel + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @version ##VERSION##, ##DATE## + */ + +/** Include path **/ +set_include_path(get_include_path() . PATH_SEPARATOR . dirname(__FILE__) . '/../Classes/'); + +/** PHPExcel_IOFactory */ +include 'PHPExcel/IOFactory.php'; + + +// Change these values to select the Rendering library that you wish to use +// and its directory location on your server +$rendererName = PHPExcel_Settings::CHART_RENDERER_JPGRAPH; +$rendererLibrary = 'jpgraph3.5.0b1/src/'; +$rendererLibraryPath = '/php/libraries/Charts/' . $rendererLibrary; + + +if (!PHPExcel_Settings::setChartRenderer( + $rendererName, + $rendererLibraryPath + )) { + die( + 'NOTICE: Please set the $rendererName and $rendererLibraryPath values' . + EOL . + 'at the top of this script as appropriate for your directory structure' + ); +} + + +$inputFileType = 'Excel2007'; +$inputFileNames = 'templates/32readwrite*[0-9].xlsx'; + + if ((isset($argc)) && ($argc > 1)) { + $inputFileNames = array(); + for($i = 1; $i < $argc; ++$i) { + $inputFileNames[] = dirname(__FILE__) . '/templates/' . $argv[$i]; + } +} else { + $inputFileNames = glob($inputFileNames); +} +foreach($inputFileNames as $inputFileName) { + $inputFileNameShort = basename($inputFileName); + + if (!file_exists($inputFileName)) { + echo date('H:i:s') , " File " , $inputFileNameShort , ' does not exist' , EOL; + continue; + } + + echo date('H:i:s') , " Load Test from $inputFileType file " , $inputFileNameShort , EOL; + + $objReader = PHPExcel_IOFactory::createReader($inputFileType); + $objReader->setIncludeCharts(TRUE); + $objPHPExcel = $objReader->load($inputFileName); + + + echo date('H:i:s') , " Iterate worksheets looking at the charts" , EOL; + foreach ($objPHPExcel->getWorksheetIterator() as $worksheet) { + $sheetName = $worksheet->getTitle(); + echo 'Worksheet: ' , $sheetName , EOL; + + $chartNames = $worksheet->getChartNames(); + if(empty($chartNames)) { + echo ' There are no charts in this worksheet' , EOL; + } else { + natsort($chartNames); + foreach($chartNames as $i => $chartName) { + $chart = $worksheet->getChartByName($chartName); + if (!is_null($chart->getTitle())) { + $caption = '"' . implode(' ',$chart->getTitle()->getCaption()) . '"'; + } else { + $caption = 'Untitled'; + } + echo ' ' , $chartName , ' - ' , $caption , EOL; + echo str_repeat(' ',strlen($chartName)+3); + + $jpegFile = '35'.str_replace('.xlsx', '.jpg', substr($inputFileNameShort,2)); + if (file_exists($jpegFile)) { + unlink($jpegFile); + } + try { + $chart->render($jpegFile); + } catch (Exception $e) { + echo 'Error rendering chart: ',$e->getMessage(); + } + } + } + } + + + $objPHPExcel->disconnectWorksheets(); + unset($objPHPExcel); +} + +// Echo memory peak usage +echo date('H:i:s') , ' Peak memory usage: ' , (memory_get_peak_usage(true) / 1024 / 1024) , " MB" , EOL; + +// Echo done +echo date('H:i:s') , " Done rendering charts as images" , EOL; +echo 'Image files have been created in ' , getcwd() , EOL; diff --git a/vendor/phpoffice/phpexcel/Examples/36chartreadwriteHTML.php b/vendor/phpoffice/phpexcel/Examples/36chartreadwriteHTML.php new file mode 100644 index 00000000..b4bae11c --- /dev/null +++ b/vendor/phpoffice/phpexcel/Examples/36chartreadwriteHTML.php @@ -0,0 +1,151 @@ +<?php + +/** Error reporting */ +error_reporting(E_ALL); +ini_set('display_errors', TRUE); +ini_set('display_startup_errors', TRUE); +date_default_timezone_set('Europe/London'); + +define('EOL',(PHP_SAPI == 'cli') ? PHP_EOL : '<br />'); + +date_default_timezone_set('Europe/London'); + +/** + * PHPExcel + * + * Copyright (C) 2006 - 2014 PHPExcel + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * @category PHPExcel + * @package PHPExcel + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @version ##VERSION##, ##DATE## + */ + +/** Include path **/ +set_include_path(get_include_path() . PATH_SEPARATOR . dirname(__FILE__) . '/../Classes/'); + +/** PHPExcel_IOFactory */ +include 'PHPExcel/IOFactory.php'; + + +// Change these values to select the Rendering library that you wish to use +// and its directory location on your server +$rendererName = PHPExcel_Settings::CHART_RENDERER_JPGRAPH; +$rendererLibrary = 'jpgraph3.5.0b1/src'; +$rendererLibraryPath = '/php/libraries/Charts/' . $rendererLibrary; + + +if (!PHPExcel_Settings::setChartRenderer( + $rendererName, + $rendererLibraryPath + )) { + die( + 'NOTICE: Please set the $rendererName and $rendererLibraryPath values' . + EOL . + 'at the top of this script as appropriate for your directory structure' + ); +} + + +$inputFileType = 'Excel2007'; +$inputFileNames = 'templates/36write*.xlsx'; + +if ((isset($argc)) && ($argc > 1)) { + $inputFileNames = array(); + for($i = 1; $i < $argc; ++$i) { + $inputFileNames[] = dirname(__FILE__) . '/templates/' . $argv[$i]; + } +} else { + $inputFileNames = glob($inputFileNames); +} +foreach($inputFileNames as $inputFileName) { + $inputFileNameShort = basename($inputFileName); + + if (!file_exists($inputFileName)) { + echo date('H:i:s') , " File " , $inputFileNameShort , ' does not exist' , EOL; + continue; + } + + echo date('H:i:s') , " Load Test from $inputFileType file " , $inputFileNameShort , EOL; + + $objReader = PHPExcel_IOFactory::createReader($inputFileType); + $objReader->setIncludeCharts(TRUE); + $objPHPExcel = $objReader->load($inputFileName); + + + echo date('H:i:s') , " Iterate worksheets looking at the charts" , EOL; + foreach ($objPHPExcel->getWorksheetIterator() as $worksheet) { + $sheetName = $worksheet->getTitle(); + echo 'Worksheet: ' , $sheetName , EOL; + + $chartNames = $worksheet->getChartNames(); + if(empty($chartNames)) { + echo ' There are no charts in this worksheet' , EOL; + } else { + natsort($chartNames); + foreach($chartNames as $i => $chartName) { + $chart = $worksheet->getChartByName($chartName); + if (!is_null($chart->getTitle())) { + $caption = '"' . implode(' ',$chart->getTitle()->getCaption()) . '"'; + } else { + $caption = 'Untitled'; + } + echo ' ' , $chartName , ' - ' , $caption , EOL; + echo str_repeat(' ',strlen($chartName)+3); + $groupCount = $chart->getPlotArea()->getPlotGroupCount(); + if ($groupCount == 1) { + $chartType = $chart->getPlotArea()->getPlotGroupByIndex(0)->getPlotType(); + echo ' ' , $chartType , EOL; + } else { + $chartTypes = array(); + for($i = 0; $i < $groupCount; ++$i) { + $chartTypes[] = $chart->getPlotArea()->getPlotGroupByIndex($i)->getPlotType(); + } + $chartTypes = array_unique($chartTypes); + if (count($chartTypes) == 1) { + $chartType = 'Multiple Plot ' . array_pop($chartTypes); + echo ' ' , $chartType , EOL; + } elseif (count($chartTypes) == 0) { + echo ' *** Type not yet implemented' , EOL; + } else { + echo ' Combination Chart' , EOL; + } + } + } + } + } + + + $outputFileName = str_replace('.xlsx', '.html', basename($inputFileName)); + + echo date('H:i:s') , " Write Tests to HTML file " , EOL; + $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'HTML'); + $objWriter->setIncludeCharts(TRUE); + $objWriter->save($outputFileName); + echo date('H:i:s') , " File written to " , $outputFileName , EOL; + + $objPHPExcel->disconnectWorksheets(); + unset($objPHPExcel); +} + +// Echo memory peak usage +echo date('H:i:s') , ' Peak memory usage: ' , (memory_get_peak_usage(true) / 1024 / 1024) , " MB" , EOL; + +// Echo done +echo date('H:i:s') , " Done writing files" , EOL; +echo 'Files have been created in ' , getcwd() , EOL; diff --git a/vendor/phpoffice/phpexcel/Examples/36chartreadwritePDF.php b/vendor/phpoffice/phpexcel/Examples/36chartreadwritePDF.php new file mode 100644 index 00000000..10d62cd0 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Examples/36chartreadwritePDF.php @@ -0,0 +1,174 @@ +<?php + +/** Error reporting */ +error_reporting(E_ALL); +ini_set('display_errors', TRUE); +ini_set('display_startup_errors', TRUE); +date_default_timezone_set('Europe/London'); + +define('EOL',(PHP_SAPI == 'cli') ? PHP_EOL : '<br />'); + +date_default_timezone_set('Europe/London'); + +/** + * PHPExcel + * + * Copyright (C) 2006 - 2014 PHPExcel + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * @category PHPExcel + * @package PHPExcel + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @version ##VERSION##, ##DATE## + */ + +/** Include path **/ +set_include_path(get_include_path() . PATH_SEPARATOR . dirname(__FILE__) . '/../Classes/'); + +/** PHPExcel_IOFactory */ +include 'PHPExcel/IOFactory.php'; + + +// Change these values to select the Rendering library that you wish to use +// for PDF files, and its directory location on your server +//$rendererName = PHPExcel_Settings::PDF_RENDERER_TCPDF; +$rendererName = PHPExcel_Settings::PDF_RENDERER_MPDF; +//$rendererName = PHPExcel_Settings::PDF_RENDERER_DOMPDF; +//$rendererLibrary = 'tcPDF5.9'; +$rendererLibrary = 'mPDF5.4'; +//$rendererLibrary = 'domPDF0.6.0beta3'; +$rendererLibraryPath = '/php/libraries/PDF/' . $rendererLibrary; + + +if (!PHPExcel_Settings::setPdfRenderer( + $rendererName, + $rendererLibraryPath + )) { + die( + 'NOTICE: Please set the $rendererName and $rendererLibraryPath values' . + EOL . + 'at the top of this script as appropriate for your directory structure' + ); +} + + +// Change these values to select the Rendering library that you wish to use +// for Chart images, and its directory location on your server +$rendererName = PHPExcel_Settings::CHART_RENDERER_JPGRAPH; +$rendererLibrary = 'jpgraph3.5.0b1/src'; +$rendererLibraryPath = '/php/libraries/Charts/' . $rendererLibrary; + + +if (!PHPExcel_Settings::setChartRenderer( + $rendererName, + $rendererLibraryPath + )) { + die( + 'NOTICE: Please set the $rendererName and $rendererLibraryPath values' . + EOL . + 'at the top of this script as appropriate for your directory structure' + ); +} + + +$inputFileType = 'Excel2007'; +$inputFileNames = 'templates/36write*.xlsx'; + +if ((isset($argc)) && ($argc > 1)) { + $inputFileNames = array(); + for($i = 1; $i < $argc; ++$i) { + $inputFileNames[] = dirname(__FILE__) . '/templates/' . $argv[$i]; + } +} else { + $inputFileNames = glob($inputFileNames); +} +foreach($inputFileNames as $inputFileName) { + $inputFileNameShort = basename($inputFileName); + + if (!file_exists($inputFileName)) { + echo date('H:i:s') , " File " , $inputFileNameShort , ' does not exist' , EOL; + continue; + } + + echo date('H:i:s') , " Load Test from $inputFileType file " , $inputFileNameShort , EOL; + + $objReader = PHPExcel_IOFactory::createReader($inputFileType); + $objReader->setIncludeCharts(TRUE); + $objPHPExcel = $objReader->load($inputFileName); + + + echo date('H:i:s') , " Iterate worksheets looking at the charts" , EOL; + foreach ($objPHPExcel->getWorksheetIterator() as $worksheet) { + $sheetName = $worksheet->getTitle(); + echo 'Worksheet: ' , $sheetName , EOL; + + $chartNames = $worksheet->getChartNames(); + if(empty($chartNames)) { + echo ' There are no charts in this worksheet' , EOL; + } else { + natsort($chartNames); + foreach($chartNames as $i => $chartName) { + $chart = $worksheet->getChartByName($chartName); + if (!is_null($chart->getTitle())) { + $caption = '"' . implode(' ',$chart->getTitle()->getCaption()) . '"'; + } else { + $caption = 'Untitled'; + } + echo ' ' , $chartName , ' - ' , $caption , EOL; + echo str_repeat(' ',strlen($chartName)+3); + $groupCount = $chart->getPlotArea()->getPlotGroupCount(); + if ($groupCount == 1) { + $chartType = $chart->getPlotArea()->getPlotGroupByIndex(0)->getPlotType(); + echo ' ' , $chartType , EOL; + } else { + $chartTypes = array(); + for($i = 0; $i < $groupCount; ++$i) { + $chartTypes[] = $chart->getPlotArea()->getPlotGroupByIndex($i)->getPlotType(); + } + $chartTypes = array_unique($chartTypes); + if (count($chartTypes) == 1) { + $chartType = 'Multiple Plot ' . array_pop($chartTypes); + echo ' ' , $chartType , EOL; + } elseif (count($chartTypes) == 0) { + echo ' *** Type not yet implemented' , EOL; + } else { + echo ' Combination Chart' , EOL; + } + } + } + } + } + + + $outputFileName = str_replace('.xlsx', '.pdf', basename($inputFileName)); + + echo date('H:i:s') , " Write Tests to HTML file " , EOL; + $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'PDF'); + $objWriter->setIncludeCharts(TRUE); + $objWriter->save($outputFileName); + echo date('H:i:s') , " File written to " , $outputFileName , EOL; + + $objPHPExcel->disconnectWorksheets(); + unset($objPHPExcel); +} + +// Echo memory peak usage +echo date('H:i:s') , ' Peak memory usage: ' , (memory_get_peak_usage(true) / 1024 / 1024) , " MB" , EOL; + +// Echo done +echo date('H:i:s') , " Done writing files" , EOL; +echo 'Files have been created in ' , getcwd() , EOL; diff --git a/vendor/phpoffice/phpexcel/Examples/37page_layout_view.php b/vendor/phpoffice/phpexcel/Examples/37page_layout_view.php new file mode 100644 index 00000000..070f512a --- /dev/null +++ b/vendor/phpoffice/phpexcel/Examples/37page_layout_view.php @@ -0,0 +1,83 @@ +<?php +/** + * PHPExcel + * + * Copyright (C) 2006 - 2014 PHPExcel + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * @category PHPExcel + * @package PHPExcel + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @version ##VERSION##, ##DATE## + */ + +/** Error reporting */ +error_reporting(E_ALL); +ini_set('display_errors', TRUE); +ini_set('display_startup_errors', TRUE); +date_default_timezone_set('Europe/London'); + +define('EOL',(PHP_SAPI == 'cli') ? PHP_EOL : '<br />'); + +/** Include PHPExcel */ +require_once dirname(__FILE__) . '/../Classes/PHPExcel.php'; + + +// Create new PHPExcel object +echo date('H:i:s') , " Create new PHPExcel object" , EOL; +$objPHPExcel = new PHPExcel(); + +// Set document properties +echo date('H:i:s') , " Set document properties" , EOL; +$objPHPExcel->getProperties()->setCreator("PHPOffice") + ->setLastModifiedBy("PHPOffice") + ->setTitle("PHPExcel Test Document") + ->setSubject("PHPExcel Test Document") + ->setDescription("Test document for PHPExcel, generated using PHP classes.") + ->setKeywords("Office PHPExcel php") + ->setCategory("Test result file"); + + +// Add some data +echo date('H:i:s') , " Add some data" , EOL; +$objPHPExcel->setActiveSheetIndex(0) + ->setCellValue('A1', 'Hello') + ->setCellValue('B2', 'world!'); + +// Set active sheet index to the first sheet, so Excel opens this as the first sheet +$objPHPExcel->setActiveSheetIndex(0); + +// Set the page layout view as page layout +$objPHPExcel->getActiveSheet()->getSheetView()->setView(PHPExcel_Worksheet_SheetView::SHEETVIEW_PAGE_LAYOUT); + +// Save Excel 2007 file +echo date('H:i:s') , " Write to Excel2007 format" , EOL; +$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007'); +$objWriter->save(str_replace('.php', '.xlsx', __FILE__)); +echo date('H:i:s') , " File written to " , str_replace('.php', '.xlsx', pathinfo(__FILE__, PATHINFO_BASENAME)) , EOL; +// Save Excel5 file +echo date('H:i:s') , " Write to Excel5 format" , EOL; +$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5'); +$objWriter->save(str_replace('.php', '.xls', __FILE__)); +echo date('H:i:s') , " File written to " , str_replace('.php', '.xls', pathinfo(__FILE__, PATHINFO_BASENAME)) , EOL; + +// Echo memory peak usage +echo date('H:i:s') , " Peak memory usage: " , (memory_get_peak_usage(true) / 1024 / 1024) , " MB" , EOL; + +// Echo done +echo date('H:i:s') , " Done writing files" , EOL; +echo 'Files have been created in ' , getcwd() , EOL; diff --git a/vendor/phpoffice/phpexcel/Examples/38cloneWorksheet.php b/vendor/phpoffice/phpexcel/Examples/38cloneWorksheet.php new file mode 100644 index 00000000..901b887e --- /dev/null +++ b/vendor/phpoffice/phpexcel/Examples/38cloneWorksheet.php @@ -0,0 +1,118 @@ +<?php +/** + * PHPExcel + * + * Copyright (C) 2006 - 2014 PHPExcel + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * @category PHPExcel + * @package PHPExcel + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @version ##VERSION##, ##DATE## + */ + +/** Error reporting */ +error_reporting(E_ALL); +ini_set('display_errors', TRUE); +ini_set('display_startup_errors', TRUE); +date_default_timezone_set('Europe/London'); + +define('EOL',(PHP_SAPI == 'cli') ? PHP_EOL : '<br />'); + +/** Include PHPExcel */ +require_once dirname(__FILE__) . '/../Classes/PHPExcel.php'; + + +// Create new PHPExcel object +echo date('H:i:s') , " Create new PHPExcel object" , EOL; +$objPHPExcel = new PHPExcel(); + +// Set document properties +echo date('H:i:s') , " Set document properties" , EOL; +$objPHPExcel->getProperties()->setCreator("Maarten Balliauw") + ->setLastModifiedBy("Maarten Balliauw") + ->setTitle("PHPExcel Test Document") + ->setSubject("PHPExcel Test Document") + ->setDescription("Test document for PHPExcel, generated using PHP classes.") + ->setKeywords("office PHPExcel php") + ->setCategory("Test result file"); + + +// Add some data +echo date('H:i:s') , " Add some data" , EOL; +$objPHPExcel->setActiveSheetIndex(0) + ->setCellValue('A1', 'Hello') + ->setCellValue('B2', 'world!') + ->setCellValue('C1', 'Hello') + ->setCellValue('D2', 'world!'); + +// Miscellaneous glyphs, UTF-8 +$objPHPExcel->setActiveSheetIndex(0) + ->setCellValue('A4', 'Miscellaneous glyphs') + ->setCellValue('A5', 'éàèùâêîôûëïüÿäöüç'); + + +$objPHPExcel->getActiveSheet()->setCellValue('A8',"Hello\nWorld"); +$objPHPExcel->getActiveSheet()->getRowDimension(8)->setRowHeight(-1); +$objPHPExcel->getActiveSheet()->getStyle('A8')->getAlignment()->setWrapText(true); + + +// Rename worksheet +echo date('H:i:s') , " Rename worksheet" , EOL; +$objPHPExcel->getActiveSheet()->setTitle('Simple'); + + +// Clone worksheet +echo date('H:i:s') , " Clone worksheet" , EOL; +$clonedSheet = clone $objPHPExcel->getActiveSheet(); +$clonedSheet + ->setCellValue('A1', 'Goodbye') + ->setCellValue('A2', 'cruel') + ->setCellValue('C1', 'Goodbye') + ->setCellValue('C2', 'cruel'); + +// Rename cloned worksheet +echo date('H:i:s') , " Rename cloned worksheet" , EOL; +$clonedSheet->setTitle('Simple Clone'); +$objPHPExcel->addSheet($clonedSheet); + + +// Set active sheet index to the first sheet, so Excel opens this as the first sheet +$objPHPExcel->setActiveSheetIndex(0); + + +// Save Excel 2007 file +echo date('H:i:s') , " Write to Excel2007 format" , EOL; +$callStartTime = microtime(true); + +$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007'); +$objWriter->save(str_replace('.php', '.xlsx', __FILE__)); +$callEndTime = microtime(true); +$callTime = $callEndTime - $callStartTime; + +echo date('H:i:s') , " File written to " , str_replace('.php', '.xlsx', pathinfo(__FILE__, PATHINFO_BASENAME)) , EOL; +echo 'Call time to write Workbook was ' , sprintf('%.4f',$callTime) , " seconds" , EOL; +// Echo memory usage +echo date('H:i:s') , ' Current memory usage: ' , (memory_get_usage(true) / 1024 / 1024) , " MB" , EOL; + + +// Echo memory peak usage +echo date('H:i:s') , " Peak memory usage: " , (memory_get_peak_usage(true) / 1024 / 1024) , " MB" , EOL; + +// Echo done +echo date('H:i:s') , " Done writing files" , EOL; +echo 'File has been created in ' , getcwd() , EOL; diff --git a/vendor/phpoffice/phpexcel/Examples/39dropdown.php b/vendor/phpoffice/phpexcel/Examples/39dropdown.php new file mode 100644 index 00000000..5dadc099 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Examples/39dropdown.php @@ -0,0 +1,175 @@ +<?php +/** + * PHPExcel + * + * Copyright (C) 2006 - 2014 PHPExcel + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * @category PHPExcel + * @package PHPExcel + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @version ##VERSION##, ##DATE## + */ + +/** Error reporting */ +error_reporting(E_ALL); +ini_set('display_errors', TRUE); +ini_set('display_startup_errors', TRUE); +date_default_timezone_set('Europe/London'); + +define('EOL',(PHP_SAPI == 'cli') ? PHP_EOL : '<br />'); + +/** Include PHPExcel */ +require_once dirname(__FILE__) . '/../Classes/PHPExcel.php'; + + +// Create new PHPExcel object +echo date('H:i:s') , " Create new PHPExcel object" , EOL; +$objPHPExcel = new PHPExcel(); + +// Set document properties +echo date('H:i:s') , " Set document properties" , EOL; +$objPHPExcel->getProperties() + ->setCreator("PHPOffice") + ->setLastModifiedBy("PHPOffice") + ->setTitle("PHPExcel Test Document") + ->setSubject("PHPExcel Test Document") + ->setDescription("Test document for PHPExcel, generated using PHP classes.") + ->setKeywords("Office PHPExcel php") + ->setCategory("Test result file"); + + +function transpose($value) { + return array($value); +} + +// Add some data +$continentColumn = 'D'; +$column = 'F'; + +// Set data for dropdowns +foreach(glob('./data/continents/*') as $key => $filename) { + $continent = pathinfo($filename, PATHINFO_FILENAME); + echo "Loading $continent", EOL; + $continent = str_replace(' ','_',$continent); + $countries = file($filename, FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES); + $countryCount = count($countries); + + // Transpose $countries from a row to a column array + $countries = array_map('transpose', $countries); + $objPHPExcel->getActiveSheet() + ->fromArray($countries, null, $column . '1'); + $objPHPExcel->addNamedRange( + new PHPExcel_NamedRange( + $continent, + $objPHPExcel->getActiveSheet(), $column . '1:' . $column . $countryCount + ) + ); + $objPHPExcel->getActiveSheet() + ->getColumnDimension($column) + ->setVisible(false); + + $objPHPExcel->getActiveSheet() + ->setCellValue($continentColumn . ($key+1), $continent); + + ++$column; +} + +// Hide the dropdown data +$objPHPExcel->getActiveSheet() + ->getColumnDimension($continentColumn) + ->setVisible(false); + +$objPHPExcel->addNamedRange( + new PHPExcel_NamedRange( + 'Continents', + $objPHPExcel->getActiveSheet(), $continentColumn . '1:' . $continentColumn . ($key+1) + ) +); + + +// Set selection cells +$objPHPExcel->getActiveSheet() + ->setCellValue('A1', 'Continent:'); +$objPHPExcel->getActiveSheet() + ->setCellValue('B1', 'Select continent'); +$objPHPExcel->getActiveSheet() + ->setCellValue('B3', '=' . $column . 1); +$objPHPExcel->getActiveSheet() + ->setCellValue('B3', 'Select country'); +$objPHPExcel->getActiveSheet() + ->getStyle('A1:A3') + ->getFont()->setBold(true); + +// Set linked validators +$objValidation = $objPHPExcel->getActiveSheet() + ->getCell('B1') + ->getDataValidation(); +$objValidation->setType( PHPExcel_Cell_DataValidation::TYPE_LIST ) + ->setErrorStyle( PHPExcel_Cell_DataValidation::STYLE_INFORMATION ) + ->setAllowBlank(false) + ->setShowInputMessage(true) + ->setShowErrorMessage(true) + ->setShowDropDown(true) + ->setErrorTitle('Input error') + ->setError('Continent is not in the list.') + ->setPromptTitle('Pick from the list') + ->setPrompt('Please pick a continent from the drop-down list.') + ->setFormula1('=Continents'); + +$objPHPExcel->getActiveSheet() + ->setCellValue('A3', 'Country:'); +$objPHPExcel->getActiveSheet() + ->getStyle('A3') + ->getFont()->setBold(true); + +$objValidation = $objPHPExcel->getActiveSheet() + ->getCell('B3') + ->getDataValidation(); +$objValidation->setType( PHPExcel_Cell_DataValidation::TYPE_LIST ) + ->setErrorStyle( PHPExcel_Cell_DataValidation::STYLE_INFORMATION ) + ->setAllowBlank(false) + ->setShowInputMessage(true) + ->setShowErrorMessage(true) + ->setShowDropDown(true) + ->setErrorTitle('Input error') + ->setError('Country is not in the list.') + ->setPromptTitle('Pick from the list') + ->setPrompt('Please pick a country from the drop-down list.') + ->setFormula1('=INDIRECT($B$1)'); + + +$objPHPExcel->getActiveSheet()->getColumnDimension('A')->setWidth(12); +$objPHPExcel->getActiveSheet()->getColumnDimension('B')->setWidth(30); + + +// Set active sheet index to the first sheet, so Excel opens this as the first sheet +$objPHPExcel->setActiveSheetIndex(0); + +// Save Excel 2007 file +// This linked validation list method only seems to work for Excel2007, not for Excel5 +echo date('H:i:s') , " Write to Excel2007 format" , EOL; +$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007'); +$objWriter->save(str_replace('.php', '.xlsx', __FILE__)); +echo date('H:i:s') , " File written to " , str_replace('.php', '.xlsx', pathinfo(__FILE__, PATHINFO_BASENAME)) , EOL; + +// Echo memory peak usage +echo date('H:i:s') , " Peak memory usage: " , (memory_get_peak_usage(true) / 1024 / 1024) , " MB" , EOL; + +// Echo done +echo date('H:i:s') , " Done writing files" , EOL; +echo 'Files have been created in ' , getcwd() , EOL; diff --git a/vendor/phpoffice/phpexcel/Examples/40duplicateStyle.php b/vendor/phpoffice/phpexcel/Examples/40duplicateStyle.php new file mode 100644 index 00000000..be31951a --- /dev/null +++ b/vendor/phpoffice/phpexcel/Examples/40duplicateStyle.php @@ -0,0 +1,51 @@ +<?php +/** Error reporting */ +error_reporting(E_ALL); +ini_set('display_errors', TRUE); +ini_set('display_startup_errors', TRUE); +date_default_timezone_set('Europe/London'); + +define('EOL',(PHP_SAPI == 'cli') ? PHP_EOL : '<br />'); + +date_default_timezone_set('Europe/London'); + +/** Include PHPExcel */ +require_once dirname(__FILE__) . '/../Classes/PHPExcel.php'; + +echo date('H:i:s') , " Create new PHPExcel object" , EOL; +$objPHPExcel = new PHPExcel(); +$worksheet = $objPHPExcel->getActiveSheet(); + +echo date('H:i:s') , " Create styles array" , EOL; +$styles = array(); +for ($i = 0; $i < 10; $i++) { + $style = new PHPExcel_Style(); + $style->getFont()->setSize($i + 4); + $styles[] = $style; +} + +echo date('H:i:s') , " Add data (begin)" , EOL; +$t = microtime(true); +for ($col = 0; $col < 50; $col++) { + for ($row = 0; $row < 100; $row++) { + $str = ($row + $col); + $style = $styles[$row % 10]; + $coord = PHPExcel_Cell::stringFromColumnIndex($col) . ($row + 1); + $worksheet->setCellValue($coord, $str); + $worksheet->duplicateStyle($style, $coord); + } +} +$d = microtime(true) - $t; +echo date('H:i:s') , " Add data (end), time: " . round($d, 2) . " s", EOL; + + +echo date('H:i:s') , " Write to Excel2007 format" , EOL; +$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007'); +$objWriter->save(str_replace('.php', '.xlsx', __FILE__)); +echo date('H:i:s') , " File written to " , str_replace('.php', '.xlsx', pathinfo(__FILE__, PATHINFO_BASENAME)) , EOL; + + +echo date('H:i:s') , " Peak memory usage: " , (memory_get_peak_usage(true) / 1024 / 1024) , " MB" , EOL; + +echo date('H:i:s') , " Done writing file" , EOL; +echo 'File has been created in ' , getcwd() , EOL; diff --git a/vendor/phpoffice/phpexcel/Examples/41password.php b/vendor/phpoffice/phpexcel/Examples/41password.php new file mode 100644 index 00000000..7b03e4f9 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Examples/41password.php @@ -0,0 +1,84 @@ +<?php +/** + * PHPExcel + * + * Copyright (C) 2006 - 2014 PHPExcel + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * @category PHPExcel + * @package PHPExcel + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @version ##VERSION##, ##DATE## + */ + +/** Error reporting */ +error_reporting(E_ALL); +ini_set('display_errors', TRUE); +ini_set('display_startup_errors', TRUE); + +define('EOL',(PHP_SAPI == 'cli') ? PHP_EOL : '<br />'); + +date_default_timezone_set('Europe/London'); + +include "05featuredemo.inc.php"; + +/** Include PHPExcel_IOFactory */ +require_once dirname(__FILE__) . '/../Classes/PHPExcel/IOFactory.php'; + + +// Set password against the spreadsheet file +$objPHPExcel->getSecurity()->setLockWindows(true); +$objPHPExcel->getSecurity()->setLockStructure(true); +$objPHPExcel->getSecurity()->setWorkbookPassword('secret'); + + +// Save Excel 2007 file +echo date('H:i:s') , " Write to Excel2007 format" , EOL; +$callStartTime = microtime(true); + +$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007'); +$objWriter->save(str_replace('.php', '.xlsx', __FILE__)); +$callEndTime = microtime(true); +$callTime = $callEndTime - $callStartTime; + +echo date('H:i:s') , " File written to " , str_replace('.php', '.xlsx', pathinfo(__FILE__, PATHINFO_BASENAME)) , EOL; +echo 'Call time to write Workbook was ' , sprintf('%.4f',$callTime) , " seconds" , EOL; +// Echo memory usage +echo date('H:i:s') , ' Current memory usage: ' , (memory_get_usage(true) / 1024 / 1024) , " MB" , EOL; + + +// Save Excel 95 file +echo date('H:i:s') , " Write to Excel5 format" , EOL; +$callStartTime = microtime(true); + +$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5'); +$objWriter->save(str_replace('.php', '.xls', __FILE__)); +$callEndTime = microtime(true); +$callTime = $callEndTime - $callStartTime; + +echo date('H:i:s') , " File written to " , str_replace('.php', '.xls', pathinfo(__FILE__, PATHINFO_BASENAME)) , EOL; +echo 'Call time to write Workbook was ' , sprintf('%.4f',$callTime) , " seconds" , EOL; +// Echo memory usage +echo date('H:i:s') , ' Current memory usage: ' , (memory_get_usage(true) / 1024 / 1024) , " MB" , EOL; + + +// Echo memory peak usage +echo date('H:i:s') , " Peak memory usage: " , (memory_get_peak_usage(true) / 1024 / 1024) , " MB" , EOL; + +// Echo done +echo date('H:i:s') , " Done writing files" , EOL; +echo 'Files have been created in ' , getcwd() , EOL; diff --git a/vendor/phpoffice/phpexcel/Examples/42richText.php b/vendor/phpoffice/phpexcel/Examples/42richText.php new file mode 100644 index 00000000..4e99b853 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Examples/42richText.php @@ -0,0 +1,159 @@ +<?php +/** + * PHPExcel + * + * Copyright (C) 2006 - 2014 PHPExcel + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * @category PHPExcel + * @package PHPExcel + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @version ##VERSION##, ##DATE## + */ + +/** Error reporting */ +error_reporting(E_ALL); +ini_set('display_errors', TRUE); +ini_set('display_startup_errors', TRUE); +date_default_timezone_set('Europe/London'); + +define('EOL',(PHP_SAPI == 'cli') ? PHP_EOL : '<br />'); + +/** Include PHPExcel */ +require_once dirname(__FILE__) . '/../Classes/PHPExcel.php'; + + +// Create new PHPExcel object +echo date('H:i:s') , " Create new PHPExcel object" , EOL; +$objPHPExcel = new PHPExcel(); + +// Set document properties +echo date('H:i:s') , " Set document properties" , EOL; +$objPHPExcel->getProperties()->setCreator("Maarten Balliauw") + ->setLastModifiedBy("Maarten Balliauw") + ->setTitle("PHPExcel Test Document") + ->setSubject("PHPExcel Test Document") + ->setDescription("Test document for PHPExcel, generated using PHP classes.") + ->setKeywords("office PHPExcel php") + ->setCategory("Test result file"); + + +// Add some data +echo date('H:i:s') , " Add some data" , EOL; + +$html1='<font color="#0000ff"> +<h1 align="center">My very first example of rich text<br />generated from html markup</h1> +<p> +<font size="14" COLOR="rgb(0,255,128)"> +<b>This block</b> contains an <i>italicized</i> word; +while this block uses an <u>underline</u>. +</font> +</p> +<p align="right"><font size="9" color="red"> +I want to eat <ins><del>healthy food</del><strong>pizza</strong></ins>. +</font> +'; + +$html2='<p> +<font color="#ff0000"> + 100&deg;C is a hot temperature +</font> +<br> +<font color="#0080ff"> + 10&deg;F is cold +</font> +</p>'; + +$html3='2<sup>3</sup> equals 8'; + +$html4='H<sub>2</sub>SO<sub>4</sub> is the chemical formula for Sulphuric acid'; + + +$wizard = new PHPExcel_Helper_HTML; +$richText = $wizard->toRichTextObject($html1); + +$objPHPExcel->setActiveSheetIndex(0) + ->setCellValue('A1', $richText); + +$objPHPExcel->getActiveSheet()->getColumnDimension('A')->setWidth(48); +$objPHPExcel->getActiveSheet()->getRowDimension(1)->setRowHeight(-1); +$objPHPExcel->getActiveSheet()->getStyle('A1') + ->getAlignment() + ->setWrapText(true); + +$richText = $wizard->toRichTextObject($html2); + +$objPHPExcel->setActiveSheetIndex(0) + ->setCellValue('A2', $richText); + +$objPHPExcel->getActiveSheet()->getRowDimension(1)->setRowHeight(-1); +$objPHPExcel->getActiveSheet()->getStyle('A2') + ->getAlignment() + ->setWrapText(true); + +$objPHPExcel->setActiveSheetIndex(0) + ->setCellValue('A3', $wizard->toRichTextObject($html3)); + +$objPHPExcel->setActiveSheetIndex(0) + ->setCellValue('A4', $wizard->toRichTextObject($html4)); + + +// Rename worksheet +echo date('H:i:s') , " Rename worksheet" , EOL; +$objPHPExcel->getActiveSheet()->setTitle('Simple'); + + +// Set active sheet index to the first sheet, so Excel opens this as the first sheet +$objPHPExcel->setActiveSheetIndex(0); + + +// Save Excel 2007 file +echo date('H:i:s') , " Write to Excel2007 format" , EOL; +$callStartTime = microtime(true); + +$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007'); +$objWriter->save(str_replace('.php', '.xlsx', __FILE__)); +$callEndTime = microtime(true); +$callTime = $callEndTime - $callStartTime; + +echo date('H:i:s') , " File written to " , str_replace('.php', '.xlsx', pathinfo(__FILE__, PATHINFO_BASENAME)) , EOL; +echo 'Call time to write Workbook was ' , sprintf('%.4f',$callTime) , " seconds" , EOL; +// Echo memory usage +echo date('H:i:s') , ' Current memory usage: ' , (memory_get_usage(true) / 1024 / 1024) , " MB" , EOL; + + +// Save Excel 95 file +echo date('H:i:s') , " Write to Excel5 format" , EOL; +$callStartTime = microtime(true); + +$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5'); +$objWriter->save(str_replace('.php', '.xls', __FILE__)); +$callEndTime = microtime(true); +$callTime = $callEndTime - $callStartTime; + +echo date('H:i:s') , " File written to " , str_replace('.php', '.xls', pathinfo(__FILE__, PATHINFO_BASENAME)) , EOL; +echo 'Call time to write Workbook was ' , sprintf('%.4f',$callTime) , " seconds" , EOL; +// Echo memory usage +echo date('H:i:s') , ' Current memory usage: ' , (memory_get_usage(true) / 1024 / 1024) , " MB" , EOL; + + +// Echo memory peak usage +echo date('H:i:s') , " Peak memory usage: " , (memory_get_peak_usage(true) / 1024 / 1024) , " MB" , EOL; + +// Echo done +echo date('H:i:s') , " Done writing files" , EOL; +echo 'Files have been created in ' , getcwd() , EOL; diff --git a/vendor/phpoffice/phpexcel/Examples/Excel2003XMLReader.php b/vendor/phpoffice/phpexcel/Examples/Excel2003XMLReader.php new file mode 100644 index 00000000..00d96ddd --- /dev/null +++ b/vendor/phpoffice/phpexcel/Examples/Excel2003XMLReader.php @@ -0,0 +1,61 @@ +<?php +/** + * PHPExcel + * + * Copyright (C) 2006 - 2014 PHPExcel + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * @category PHPExcel + * @package PHPExcel + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @version ##VERSION##, ##DATE## + */ + +/** Error reporting */ +error_reporting(E_ALL); + +date_default_timezone_set('Europe/London'); + +/** PHPExcel_IOFactory */ +require_once dirname(__FILE__) . '/../Classes/PHPExcel/IOFactory.php'; + + +echo date('H:i:s') , " Load from Excel2003XML file" , PHP_EOL; +$callStartTime = microtime(true); + +$objReader = PHPExcel_IOFactory::createReader('Excel2003XML'); +$objPHPExcel = $objReader->load("Excel2003XMLTest.xml"); + + +$callEndTime = microtime(true); +$callTime = $callEndTime - $callStartTime; +echo 'Call time to read Workbook was ' , sprintf('%.4f',$callTime) , " seconds" , PHP_EOL; +// Echo memory usage +echo date('H:i:s') , ' Current memory usage: ' , (memory_get_usage(true) / 1024 / 1024) , " MB" , PHP_EOL; + + +echo date('H:i:s') , " Write to Excel5 format" , PHP_EOL; +$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5'); +$objWriter->save(str_replace('.php', '.xls', __FILE__)); +echo date('H:i:s') , " File written to " , str_replace('.php', '.xls', __FILE__) , PHP_EOL; + + +// Echo memory peak usage +echo date('H:i:s') , " Peak memory usage: " , (memory_get_peak_usage(true) / 1024 / 1024) , " MB" , PHP_EOL; + +// Echo done +echo date('H:i:s') , " Done writing file" , PHP_EOL; diff --git a/vendor/phpoffice/phpexcel/Examples/Excel2003XMLTest.xml b/vendor/phpoffice/phpexcel/Examples/Excel2003XMLTest.xml new file mode 100644 index 00000000..fb2d305c --- /dev/null +++ b/vendor/phpoffice/phpexcel/Examples/Excel2003XMLTest.xml @@ -0,0 +1 @@ +<?xml version="1.0" encoding="UTF-8"?><?mso-application progid="Excel.Sheet"?><Workbook xmlns:c="urn:schemas-microsoft-com:office:component:spreadsheet" xmlns:html="http://www.w3.org/TR/REC-html40" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="urn:schemas-microsoft-com:office:spreadsheet" xmlns:x2="http://schemas.microsoft.com/office/excel/2003/xml" xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet" xmlns:x="urn:schemas-microsoft-com:office:excel"><OfficeDocumentSettings xmlns="urn:schemas-microsoft-com:office:office"><Colors><Color><Index>3</Index><RGB>#000000</RGB></Color><Color><Index>4</Index><RGB>#0000ff</RGB></Color><Color><Index>5</Index><RGB>#008000</RGB></Color><Color><Index>6</Index><RGB>#00ccff</RGB></Color><Color><Index>7</Index><RGB>#800080</RGB></Color><Color><Index>8</Index><RGB>#993366</RGB></Color><Color><Index>9</Index><RGB>#c0c0c0</RGB></Color><Color><Index>10</Index><RGB>#c47512</RGB></Color><Color><Index>11</Index><RGB>#ccffcc</RGB></Color><Color><Index>12</Index><RGB>#ddbc7d</RGB></Color><Color><Index>13</Index><RGB>#ff0000</RGB></Color><Color><Index>14</Index><RGB>#ff00ff</RGB></Color><Color><Index>15</Index><RGB>#ff6600</RGB></Color><Color><Index>16</Index><RGB>#ff9900</RGB></Color><Color><Index>17</Index><RGB>#ff99cc</RGB></Color><Color><Index>18</Index><RGB>#ffff00</RGB></Color></Colors></OfficeDocumentSettings><ExcelWorkbook xmlns="urn:schemas-microsoft-com:office:excel"><WindowHeight>9000</WindowHeight><WindowWidth>13860</WindowWidth><WindowTopX>240</WindowTopX><WindowTopY>75</WindowTopY><ProtectStructure>False</ProtectStructure><ProtectWindows>False</ProtectWindows></ExcelWorkbook><Styles><Style ss:ID="Default" ss:Name="Default"/><Style ss:ID="Result" ss:Name="Result"><Font ss:Bold="1" ss:Italic="1" ss:Underline="Single"/></Style><Style ss:ID="Result2" ss:Name="Result2"><Font ss:Bold="1" ss:Italic="1" ss:Underline="Single"/><NumberFormat ss:Format="Currency"/></Style><Style ss:ID="Heading" ss:Name="Heading"><Font ss:Bold="1" ss:Italic="1" ss:Size="16"/></Style><Style ss:ID="Heading1" ss:Name="Heading1"><Font ss:Bold="1" ss:Italic="1" ss:Size="16"/></Style><Style ss:ID="Gnumeric-default" ss:Name="Gnumeric-default"><Font ss:Color="#000000" ss:FontName="Sans" ss:Size="10"/></Style><Style ss:ID="co1"/><Style ss:ID="co2"/><Style ss:ID="co3"/><Style ss:ID="co4"/><Style ss:ID="co5"/><Style ss:ID="co6"/><Style ss:ID="co7"/><Style ss:ID="co8"/><Style ss:ID="co9"/><Style ss:ID="ta1"/><Style ss:ID="ce1"><Alignment ss:Vertical="Bottom" ss:Rotate="0"/><Borders/><Font ss:Bold="1" ss:Color="#ff0000" ss:FontName="Arial1" ss:Size="11"/></Style><Style ss:ID="ce2"><Alignment ss:Vertical="Bottom" ss:Rotate="0"/><Borders/><Font ss:Bold="1" ss:Color="#000000" ss:FontName="Arial1" ss:Italic="1" ss:Size="11"/></Style><Style ss:ID="ce3"><Alignment ss:Vertical="Bottom" ss:Rotate="0"/><Borders/><Font ss:Color="#000000" ss:FontName="Arial1" ss:Size="11" ss:Underline="Single"/></Style><Style ss:ID="ce4"><Alignment ss:Vertical="Bottom" ss:Rotate="0"/><Borders/><Font ss:Color="#000000" ss:FontName="Arial1" ss:Size="11"/></Style><Style ss:ID="ce5"><Alignment ss:Vertical="Bottom" ss:Rotate="0"/><Borders/><Font ss:Color="#000000" ss:FontName="Calibri" ss:Size="11"/></Style><Style ss:ID="ce6"><Alignment ss:Vertical="Bottom" ss:Rotate="0"/><Borders/><Font ss:Color="#000000" ss:FontName="Calibri" ss:Size="11" ss:Underline="Single"/></Style><Style ss:ID="ce7"><Alignment ss:Vertical="Bottom" ss:Rotate="0"/><Borders/><Font ss:Color="#000000" ss:FontName="Calibri" ss:Size="11" ss:Underline="Double"/></Style><Style ss:ID="ce8"><Alignment ss:Vertical="Bottom" ss:Rotate="0"/><Borders/><Font ss:Color="#000000" ss:FontName="Calibri" ss:Size="11" ss:StrikeThrough="1"/></Style><Style ss:ID="ce9"><Alignment ss:Vertical="Bottom" ss:Rotate="0"/><Borders/><Font ss:Color="#000000" ss:FontName="Arial1" ss:Size="11"/><NumberFormat ss:Format="Short Date"/></Style><Style ss:ID="ce10"><Alignment ss:Vertical="Bottom" ss:Rotate="0"/><Borders/><Font ss:Color="#000000" ss:FontName="Arial1" ss:Size="11"/><NumberFormat ss:Format="Fixed"/></Style><Style ss:ID="ce11"><Alignment ss:Vertical="Bottom" ss:Rotate="0"/><Borders/><Font ss:Color="#000000" ss:FontName="Calibri" ss:Size="11"/><NumberFormat ss:Format="Short Time"/></Style><Style ss:ID="ce12"><Alignment ss:Vertical="Bottom" ss:Rotate="0"/><Borders/><Font ss:Color="#000000" ss:FontName="Calibri" ss:Size="11"/><NumberFormat ss:Format="General Date"/></Style><Style ss:ID="ce13"><Alignment ss:Vertical="Bottom" ss:Rotate="0"/><Borders/><Font ss:Color="#000000" ss:FontName="Sans" ss:Size="10"/></Style><Style ss:ID="ce14"><Alignment ss:Vertical="Bottom" ss:Rotate="0"/><Borders/><Font ss:Color="#000000" ss:FontName="Sans" ss:Size="10" ss:Underline="Single"/></Style><Style ss:ID="ce15"><Alignment ss:Vertical="Bottom" ss:Rotate="0"/><Borders/><Font ss:Color="#000000" ss:FontName="Sans" ss:Size="10" ss:Underline="Double"/></Style><Style ss:ID="ce16"><Alignment ss:Vertical="Bottom" ss:WrapText="1" ss:Rotate="0"/><Borders/><Font ss:Color="#000000" ss:FontName="Sans" ss:Size="10"/></Style><Style ss:ID="ce17"><Alignment ss:Vertical="Bottom" ss:Rotate="0"/><Borders/><Font ss:Color="#0000ff" ss:FontName="Sans" ss:Size="10" ss:Underline="Single"/></Style><Style ss:ID="ce18"><Alignment ss:Horizontal="Center" ss:Vertical="Center" ss:Rotate="0"/><Borders><Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="3" ss:Color="#00b050"/><Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="3" ss:Color="#0070c0"/><Border ss:Position="Right" ss:LineStyle="Continuous" ss:Weight="3" ss:Color="#ffff00"/><Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="3" ss:Color="#ff0000"/></Borders><Font ss:Color="#000000" ss:FontName="Arial1" ss:Size="11"/></Style><Style ss:ID="ce19"><Alignment ss:Vertical="Bottom" ss:Rotate="0"/><Borders><Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="2" ss:Color="#000000"/></Borders><Font ss:Color="#000000" ss:FontName="Arial1" ss:Size="11"/></Style><Style ss:ID="ce20"><Alignment ss:Vertical="Bottom" ss:Rotate="0"/><Borders><Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="2" ss:Color="#000000"/></Borders><Font ss:Color="#000000" ss:FontName="Arial1" ss:Size="11"/></Style><Style ss:ID="ce21"><Alignment ss:Vertical="Bottom" ss:Rotate="0"/><Borders><Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="2" ss:Color="#000000"/></Borders><Font ss:Color="#000000" ss:FontName="Arial1" ss:Size="11"/></Style><Style ss:ID="ce22"><Alignment ss:Vertical="Bottom" ss:Rotate="0"/><Borders><Border ss:Position="Right" ss:LineStyle="Continuous" ss:Weight="2" ss:Color="#000000"/></Borders><Font ss:Color="#000000" ss:FontName="Arial1" ss:Size="11"/></Style><Style ss:ID="ce23"><Alignment ss:Horizontal="Center" ss:Vertical="Center" ss:Rotate="90"/><Borders/><Font ss:Color="#000000" ss:FontName="Sans" ss:Size="10"/></Style><Style ss:ID="ce24"><Alignment ss:Vertical="Bottom" ss:Rotate="0"/><Borders/><Font ss:Color="#000000" ss:FontName="Arial1" ss:Size="11"/><NumberFormat ss:Format="General"/></Style><Style ss:ID="ce25"><Alignment ss:Vertical="Bottom" ss:Rotate="0"/><Borders/><Font ss:Color="#000000" ss:FontName="Calibri" ss:Size="11"/><NumberFormat ss:Format="General"/></Style><Style ss:ID="ce26"><Alignment ss:Vertical="Bottom" ss:Rotate="0"/><Borders/><Font ss:Bold="1" ss:Color="#000000" ss:FontName="Arial1" ss:Size="11"/></Style><Style ss:ID="ce27"><Alignment ss:Vertical="Bottom" ss:Rotate="0"/><Borders/><Font ss:Color="#000000" ss:FontName="Arial1" ss:Italic="1" ss:Size="11"/></Style><Style ss:ID="ce28"><Alignment ss:Horizontal="Center" ss:Vertical="Center" ss:Rotate="45"/><Borders/><Font ss:Color="#000000" ss:FontName="Sans" ss:Size="10"/></Style><Style ss:ID="ce29"><Alignment ss:Vertical="Top" ss:WrapText="1" ss:Rotate="0"/><Borders/><Font ss:Color="#000000" ss:FontName="Calibri" ss:Size="11"/></Style><Style ss:ID="ce30"><Alignment ss:Vertical="Bottom" ss:WrapText="1" ss:Rotate="0"/><Borders/><Font ss:Color="#000000" ss:FontName="Calibri" ss:Size="11"/></Style><Style ss:ID="ce31"><Alignment ss:Horizontal="Center" ss:Vertical="Center" ss:Rotate="-90"/><Borders/><Font ss:Color="#000000" ss:FontName="Sans" ss:Size="10"/></Style><Style ss:ID="ce32"><Alignment ss:Horizontal="Center" ss:Vertical="Center" ss:WrapText="1" ss:Rotate="0"/><Borders/><Font ss:Color="#000000" ss:FontName="Calibri" ss:Size="11"/></Style><Style ss:ID="ce33"><Alignment ss:Vertical="Bottom" ss:WrapText="1" ss:Rotate="0"/><Borders/><Font ss:Color="#000000" ss:FontName="Calibri" ss:Size="11"/></Style><Style ss:ID="ce34"><Alignment ss:Vertical="Bottom" ss:WrapText="1" ss:Rotate="0"/><Borders/><Font ss:Color="#000000" ss:FontName="Calibri" ss:Size="11"/></Style><Style ss:ID="ce35"><Alignment ss:Horizontal="Center" ss:Vertical="Center" ss:Rotate="-45"/><Borders/><Font ss:Color="#000000" ss:FontName="Sans" ss:Size="10"/></Style><Style ss:ID="ce36"><Alignment ss:Vertical="Bottom" ss:Rotate="0"/><Borders/><Font ss:Color="#000000" ss:FontName="Calibri" ss:Size="11"/></Style><Style ss:ID="ce37"><Alignment ss:Vertical="Bottom" ss:Rotate="0"/><Borders/><Font ss:Color="#000000" ss:FontName="Calibri" ss:Size="11"/><Interior ss:Color="#ff0000" ss:Pattern="Solid"/></Style><Style ss:ID="ce38"><Alignment ss:Vertical="Bottom" ss:Rotate="0"/><Borders/><Font ss:Color="#000000" ss:FontName="Calibri" ss:Size="11"/><Interior ss:Color="#ff9900" ss:Pattern="Solid"/></Style><Style ss:ID="ce39"><Alignment ss:Vertical="Bottom" ss:Rotate="0"/><Borders/><Font ss:Color="#000000" ss:FontName="Calibri" ss:Size="11"/><Interior ss:Color="#ffff00" ss:Pattern="Solid"/></Style><Style ss:ID="ce40"><Alignment ss:Vertical="Bottom" ss:Rotate="0"/><Borders/><Font ss:Color="#000000" ss:FontName="Calibri" ss:Size="11"/><Interior ss:Color="#008000" ss:Pattern="Solid"/></Style><Style ss:ID="ce41"><Alignment ss:Vertical="Bottom" ss:Rotate="0"/><Borders/><Font ss:Color="#000000" ss:FontName="Calibri" ss:Size="11"/><Interior ss:Color="#0000ff" ss:Pattern="Solid"/></Style><Style ss:ID="ce42"><Alignment ss:Vertical="Bottom" ss:Rotate="0"/><Borders/><Font ss:Color="#000000" ss:FontName="Calibri" ss:Size="11"/><Interior ss:Color="#993366" ss:Pattern="Solid"/></Style><Style ss:ID="ce43"><Alignment ss:Vertical="Bottom" ss:Rotate="0"/><Borders/><Font ss:Color="#000000" ss:FontName="Calibri" ss:Size="11"/><Interior ss:Color="#ff99cc" ss:Pattern="Solid"/></Style><Style ss:ID="ce44"><Alignment ss:Vertical="Bottom" ss:Rotate="0"/><Borders/><Font ss:Color="#000000" ss:FontName="Calibri" ss:Size="11"/><Interior ss:Color="#ddbc7d" ss:Pattern="Solid"/></Style><Style ss:ID="ce45"><Alignment ss:Horizontal="Center" ss:Vertical="Center" ss:Rotate="0"/><Borders/><Font ss:Color="#000000" ss:FontName="Calibri" ss:Size="11"/><Interior ss:Color="#00ccff" ss:Pattern="Solid"/></Style><Style ss:ID="ce46"><Alignment ss:Vertical="Bottom" ss:Rotate="0"/><Borders/><Font ss:Color="#ff0000" ss:FontName="Calibri" ss:Size="11"/></Style><Style ss:ID="ce47"><Alignment ss:Vertical="Bottom" ss:Rotate="0"/><Borders/><Font ss:Color="#ff6600" ss:FontName="Calibri" ss:Size="11"/></Style><Style ss:ID="ce48"><Alignment ss:Vertical="Bottom" ss:Rotate="0"/><Borders/><Font ss:Color="#ffff00" ss:FontName="Calibri" ss:Size="11"/></Style><Style ss:ID="ce49"><Alignment ss:Vertical="Bottom" ss:Rotate="0"/><Borders/><Font ss:Color="#008000" ss:FontName="Calibri" ss:Size="11"/></Style><Style ss:ID="ce50"><Alignment ss:Vertical="Bottom" ss:Rotate="0"/><Borders/><Font ss:Color="#0000ff" ss:FontName="Calibri" ss:Size="11"/></Style><Style ss:ID="ce51"><Alignment ss:Vertical="Bottom" ss:Rotate="0"/><Borders/><Font ss:Color="#800080" ss:FontName="Calibri" ss:Size="11"/></Style><Style ss:ID="ce52"><Alignment ss:Vertical="Bottom" ss:Rotate="0"/><Borders/><Font ss:Color="#ff00ff" ss:FontName="Calibri" ss:Size="11"/></Style><Style ss:ID="ce53"><Alignment ss:Vertical="Bottom" ss:Rotate="0"/><Borders/><Font ss:Color="#c47512" ss:FontName="Calibri" ss:Size="11"/></Style><Style ss:ID="ce54"><Alignment ss:Horizontal="Center" ss:Vertical="Center" ss:WrapText="1" ss:Rotate="0"/><Borders/><Font ss:Color="#ccffcc" ss:FontName="Calibri" ss:Size="11"/><Interior ss:Color="#ff0000" ss:Pattern="Solid"/></Style><Style ss:ID="ce55"><Alignment ss:Vertical="Bottom" ss:Rotate="0"/><Borders><Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="1" ss:Color="#000000"/></Borders><Font ss:Color="#000000" ss:FontName="Calibri" ss:Size="11"/></Style><Style ss:ID="ce56"><Alignment ss:Vertical="Bottom" ss:Rotate="0"/><Borders><Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="1" ss:Color="#000000"/></Borders><Font ss:Color="#000000" ss:FontName="Calibri" ss:Size="11"/></Style><Style ss:ID="ce57"><Alignment ss:Vertical="Bottom" ss:Rotate="0"/><Borders><Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="1" ss:Color="#000000"/></Borders><Font ss:Color="#000000" ss:FontName="Calibri" ss:Size="11"/></Style><Style ss:ID="ce58"><Alignment ss:Vertical="Bottom" ss:Rotate="0"/><Borders><Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="1" ss:Color="#000000"/></Borders><Font ss:Color="#000000" ss:FontName="Calibri" ss:Size="11"/></Style><Style ss:ID="ce59"><Alignment ss:Vertical="Bottom" ss:Rotate="0"/><Borders><Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="2" ss:Color="#000000"/></Borders><Font ss:Color="#000000" ss:FontName="Calibri" ss:Size="11"/></Style><Style ss:ID="ce60"><Alignment ss:Vertical="Bottom" ss:Rotate="0"/><Borders><Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="2" ss:Color="#000000"/></Borders><Font ss:Color="#000000" ss:FontName="Calibri" ss:Size="11"/></Style><Style ss:ID="ce61"><Alignment ss:Vertical="Bottom" ss:Rotate="0"/><Borders><Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="2" ss:Color="#000000"/></Borders><Font ss:Color="#000000" ss:FontName="Calibri" ss:Size="11"/></Style><Style ss:ID="ce62"><Alignment ss:Vertical="Bottom" ss:Rotate="0"/><Borders><Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="2" ss:Color="#000000"/></Borders><Font ss:Color="#000000" ss:FontName="Calibri" ss:Size="11"/></Style><Style ss:ID="ce63"><Alignment ss:Vertical="Bottom" ss:Rotate="0"/><Borders><Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="2" ss:Color="#000000"/></Borders><Font ss:Color="#000000" ss:FontName="Calibri" ss:Size="11"/></Style><Style ss:ID="ce64"><Alignment ss:Vertical="Bottom" ss:Rotate="0"/><Borders><Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="3" ss:Color="#000000"/></Borders><Font ss:Color="#000000" ss:FontName="Calibri" ss:Size="11"/></Style><Style ss:ID="ce65"><Alignment ss:Vertical="Bottom" ss:Rotate="0"/><Borders><Border ss:Position="Bottom" ss:LineStyle="Double" ss:Weight="3" ss:Color="#000000"/></Borders><Font ss:Color="#000000" ss:FontName="Calibri" ss:Size="11"/></Style><Style ss:ID="ce66"><Alignment ss:Horizontal="Center" ss:Vertical="Bottom" ss:WrapText="1" ss:Rotate="0"/><Borders/><Font ss:Bold="1" ss:Color="#000000" ss:FontName="Arial1" ss:Size="12"/></Style><Style ss:ID="ce67"><Alignment ss:Vertical="Bottom" ss:Rotate="0"/><Borders/><Font ss:Color="#000000" ss:FontName="Arial1" ss:Size="11"/><NumberFormat ss:Format="General"/></Style><Style ss:ID="ce68"><Alignment ss:Vertical="Bottom" ss:Rotate="0"/><Borders/><Font ss:Color="#000000" ss:FontName="Arial1" ss:Size="11"/><NumberFormat ss:Format="Medium Date"/></Style><Style ss:ID="ce69"><Alignment ss:Vertical="Bottom" ss:Rotate="0"/><Borders/><Font ss:Color="#000000" ss:FontName="Arial1" ss:Size="11"/><NumberFormat ss:Format="Medium Time"/></Style><Style ss:ID="gr1"/><Style ss:ID="gr2"/><Style ss:ID="ta_extref"/><Style ss:ID="P1"><Font ss:FontName="Sans" ss:Size="10"/></Style><Style ss:ID="T1"/></Styles><ss:Worksheet ss:Name="Sample Data"><Table ss:StyleID="ta1"><Column ss:Width="96.4913"/><Column ss:Span="1" ss:Width="48.3874"/><Column ss:Index="4" ss:Width="35.8866"/><Column ss:Span="6" ss:Width="48.3874"/><Column ss:Index="12" ss:Width="50.2583"/><Column ss:Span="1011" ss:Width="48.3874"/><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:StyleID="ce1"><ss:Data xmlns="http://www.w3.org/TR/REC-html40" ss:Type="String">Test String 1</ss:Data><Comment><ss:Data xmlns="http://www.w3.org/TR/REC-html40"><Font html:Face="Sans" html:Size="10">Test for a simple colour-formatted string</Font></ss:Data></Comment></Cell><Cell ss:StyleID="ce4"><Data ss:Type="Number">1</Data></Cell><Cell ss:StyleID="ce4"><Data ss:Type="Number">5</Data></Cell><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce2"><Data ss:Type="String">A</Data></Cell><Cell ss:StyleID="ce26"><Data ss:Type="String">E</Data></Cell><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5" ss:Formula="of:=[.B1]+[.C1]"><Data ss:Type="Number">6</Data></Cell><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5" ss:Formula="of:=[.E1]&amp;[.F1]"><Data ss:Type="String">AE</Data></Cell><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:StyleID="ce2"><Data ss:Type="String">Test - String 2</Data></Cell><Cell ss:StyleID="ce5"><Data ss:Type="Number">2</Data></Cell><Cell ss:StyleID="ce4"><Data ss:Type="Number">6</Data></Cell><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"><Data ss:Type="String">B</Data></Cell><Cell ss:StyleID="ce5"><Data ss:Type="String">F</Data></Cell><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5" ss:Formula="of:=[.B2]+[.C2]"><Data ss:Type="Number">8</Data></Cell><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5" ss:Formula="of:=[.E2]&amp;[.F2]"><Data ss:Type="String">BF</Data></Cell><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce55"><Data ss:Type="String">Dot</Data></Cell><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:StyleID="ce3"><Data ss:Type="String">Test #3</Data></Cell><Cell ss:StyleID="ce4"><Data ss:Type="Number">3</Data></Cell><Cell ss:StyleID="ce4"><Data ss:Type="Number">7</Data></Cell><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce26"><Data ss:Type="String">C</Data></Cell><Cell ss:StyleID="ce2"><Data ss:Type="String">G</Data></Cell><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5" ss:Formula="of:=[.B3]+[.C3]"><Data ss:Type="Number">10</Data></Cell><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5" ss:Formula="of:=[.E3]&amp;[.F3]"><Data ss:Type="String">CG</Data></Cell><Cell ss:StyleID="ce37"><Data ss:Type="String">Red</Data></Cell><Cell ss:StyleID="ce46"><Data ss:Type="String">Red</Data></Cell><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce56"><Data ss:Type="String">Dash</Data></Cell><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:StyleID="ce4"><Data ss:Type="String">Test with (") in string</Data></Cell><Cell ss:StyleID="ce5"><Data ss:Type="Number">4</Data></Cell><Cell ss:StyleID="ce4"><Data ss:Type="Number">8</Data></Cell><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce27"><Data ss:Type="String">D</Data></Cell><Cell ss:StyleID="ce5"><Data ss:Type="String">H</Data></Cell><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5" ss:Formula="of:=[.B4]+[.C4]"><Data ss:Type="Number">12</Data></Cell><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5" ss:Formula="of:=[.E4]&amp;[.F4]"><Data ss:Type="String">DH</Data></Cell><Cell ss:StyleID="ce38"><Data ss:Type="String">Orange</Data></Cell><Cell ss:StyleID="ce47"><Data ss:Type="String">Orange</Data></Cell><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce57"><Data ss:Type="String">Dash/Dot/Dot</Data></Cell><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5" ss:Formula="of:=SUM([.B1:.B4])"><Data ss:Type="Number">10</Data></Cell><Cell ss:StyleID="ce5" ss:Formula="of:=SUM([.C1:.C4])"><Data ss:Type="Number">26</Data></Cell><Cell ss:StyleID="ce5" ss:Formula="of:=SUM([.B1:.C4])"><Data ss:Type="Number">36</Data></Cell><Cell ss:StyleID="ce39"><Data ss:Type="String">Yellow</Data></Cell><Cell ss:StyleID="ce48"><Data ss:Type="String">Yellow</Data></Cell><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce58"><Data ss:Type="String">Dash/Dot</Data></Cell><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:StyleID="ce6"><Data ss:Type="String">Test #3</Data></Cell><Cell ss:StyleID="ce5"><Data ss:Type="Number">1.23</Data></Cell><Cell ss:StyleID="ce5" ss:Formula="of:=TRUE()"><Data ss:Type="Boolean">1</Data></Cell><Cell ss:StyleID="ce24"><Data ss:Type="Boolean">1</Data></Cell><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce40"><Data ss:Type="String">Green</Data></Cell><Cell ss:StyleID="ce49"><Data ss:Type="String">Green</Data></Cell><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce56"><Data ss:Type="String">Thin Line</Data></Cell><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:StyleID="ce7"><Data ss:Type="String">Test #3</Data></Cell><Cell ss:StyleID="ce5"><Data ss:Type="Number">2.34</Data></Cell><Cell ss:StyleID="ce5" ss:Formula="of:=FALSE()"><Data ss:Type="Boolean">0</Data></Cell><Cell ss:StyleID="ce25"><Data ss:Type="Boolean">0</Data></Cell><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5" ss:Formula="of:=SUM(marksrange)"><Data ss:Type="Number">0</Data></Cell><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce41"><Data ss:Type="String">Blue</Data></Cell><Cell ss:StyleID="ce50"><Data ss:Type="String">Blue</Data></Cell><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce59"><Data ss:Type="String">Thick Dash/Dot/Dot</Data></Cell><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/></Row><Row ss:Index="8" ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:StyleID="ce8"><Data ss:Type="String">Test #3</Data></Cell><Cell ss:StyleID="ce5"><Data ss:Type="Number">3.45</Data></Cell><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce42"><Data ss:Type="String">Purple</Data></Cell><Cell ss:StyleID="ce51"><Data ss:Type="String">Purple</Data></Cell><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce60"><Data ss:Type="String">Variant Thick Dash/Dot/Dot</Data></Cell><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/></Row><Row ss:AutoFitHeight="0" ss:Height="13.4929"><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce43"><Data ss:Type="String">Pink</Data></Cell><Cell ss:StyleID="ce52"><Data ss:Type="String">Pink</Data></Cell><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce61"><Data ss:Type="String">Thick Dash/Dot</Data></Cell><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:StyleID="ce9"><Data ss:Type="DateTime">1960-12-19T00:00:00.000</Data></Cell><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce19"><Data ss:Type="String">TOP</Data></Cell><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"><Data ss:Type="Number">0</Data></Cell><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce44"><Data ss:Type="String">Brown</Data></Cell><Cell ss:StyleID="ce53"><Data ss:Type="String">Brown</Data></Cell><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce62"><Data ss:Type="String">Thick Dash</Data></Cell><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:StyleID="ce10"><Data ss:Type="Number">1.5</Data></Cell><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5" ss:Formula="of:=12/0"><Data ss:Type="Number">0</Data></Cell><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce63"><Data ss:Type="String">Thick Line</Data></Cell><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/></Row><Row ss:AutoFitHeight="0" ss:Height="13.4929"><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce20"><Data ss:Type="String">BOTTOM</Data></Cell><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce64"><Data ss:Type="String">Extra Thick Line</Data></Cell><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:StyleID="ce11"><Data ss:Type="DateTime">1899-12-31T02:30:00.000</Data></Cell><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"><ss:Data xmlns="http://www.w3.org/TR/REC-html40" ss:Type="String">Мойва сушеная</ss:Data><Comment><ss:Data xmlns="http://www.w3.org/TR/REC-html40"><Font html:Face="Sans" html:Size="10">Tests for UTF-8 content</Font></ss:Data></Comment></Cell><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce65"><Data ss:Type="String">Double Line</Data></Cell><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce21"><Data ss:Type="String">LEFT</Data></Cell><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"><Data ss:Type="String">Ärendetext</Data></Cell><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:StyleID="ce12"><Data ss:Type="DateTime">1960-12-19T01:30:00.000</Data></Cell><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"><Data ss:Type="String">Højde</Data></Cell><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/></Row><Row ss:Index="16" ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce22"><Data ss:Type="String">RIGHT</Data></Cell><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/></Row><Row ss:AutoFitHeight="0" ss:Height="13.4929"><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/></Row><Row ss:Height="41.7543"><Cell ss:StyleID="ce5"/><Cell ss:MergeAcross="1" ss:MergeDown="1" ss:StyleID="ce18"><Data ss:Type="String">BOX</Data></Cell><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce29"><Data ss:Type="String">Test Column 1</Data></Cell><Cell ss:StyleID="ce30"/><Cell ss:StyleID="ce33"/><Cell ss:StyleID="ce36"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/></Row><Row ss:Height="41.7543"><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce30"/><Cell ss:StyleID="ce32"><Data ss:Type="String">Test Column 2</Data></Cell><Cell ss:StyleID="ce30"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce45"><Data ss:Type="String">Patterned</Data></Cell><Cell ss:StyleID="ce54"><Data ss:Type="String">Patterned 2</Data></Cell><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/></Row><Row ss:Height="41.7543"><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce30"/><Cell ss:StyleID="ce30"/><Cell ss:StyleID="ce34"><Data ss:Type="String">Test Column 3</Data></Cell><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/></Row><Row ss:Height="12.8409"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:Height="12.8409"><Cell ss:StyleID="ce13"><Data ss:Type="String">Underline None</Data></Cell><Cell ss:Index="3" ss:MergeAcross="1" ss:MergeDown="4" ss:StyleID="ce23"><Data ss:Type="String">Rotate 90</Data></Cell><Cell ss:MergeAcross="1" ss:MergeDown="4" ss:StyleID="ce28"><Data ss:Type="String">Rotate 45</Data></Cell><Cell ss:MergeAcross="1" ss:MergeDown="4" ss:StyleID="ce31"><Data ss:Type="String">Rotate -90</Data></Cell><Cell ss:MergeAcross="1" ss:MergeDown="4" ss:StyleID="ce35"><Data ss:Type="String">Rotate -45</Data></Cell><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:Height="12.8409"><Cell ss:StyleID="ce14"><Data ss:Type="String">Underline 1</Data></Cell><Cell ss:StyleID="ce13"><Data ss:Type="String">Subscript</Data></Cell><Cell ss:Index="1016" ss:StyleID="ce13"/></Row><Row ss:Index="24" ss:Height="12.8409"><Cell ss:StyleID="ce15"><Data ss:Type="String">Underline 2</Data></Cell><Cell ss:StyleID="ce13"><Data ss:Type="String">Superscript</Data></Cell><Cell ss:Index="1016" ss:StyleID="ce13"/></Row><Row ss:Height="12.8409"><Cell ss:StyleID="ce14"><Data ss:Type="String">Underline 3</Data></Cell><Cell ss:Index="1016" ss:StyleID="ce13"/></Row><Row ss:Height="12.8409"><Cell ss:StyleID="ce15"><Data ss:Type="String">Underline 4</Data></Cell><Cell ss:Index="1016" ss:StyleID="ce13"/></Row><Row ss:Height="12.8409"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:Height="49.2378"><Cell ss:MergeAcross="2" ss:StyleID="ce16"><ss:Data xmlns="http://www.w3.org/TR/REC-html40" ss:Type="String">I don't know if Gnumeric supports <B><Font html:Face="Sans" html:Color="#000000" html:Size="10">Rich Text</Font></B> in the same way as <B><Font html:Face="Sans" html:Color="#000000" html:Size="10">Excel</Font></B>, And this row should be autofit height with text wrap</ss:Data></Cell><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/><Cell ss:StyleID="ce16"/></Row><Row ss:Height="13.4079"><Cell ss:MergeAcross="2" ss:HRef="http://www.phpexcel.net/" ss:StyleID="ce17"><Data ss:Type="String">PHPExcel</Data></Cell><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:Height="12.8409"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:Height="12.8409"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:Height="12.8409"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:Height="12.8409"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:Height="12.8409"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:Height="12.8409"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:Height="12.8409"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:Height="12.8409"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:Height="12.8409"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:Height="12.8409"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:Height="12.8409"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:Height="12.8409"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:Height="12.8409"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:Height="12.8409"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:Height="12.8409"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:Height="12.8409"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:Height="12.8409"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:Height="12.8409"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:Height="12.8409"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:Height="12.8409"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:Height="12.8409"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:Height="12.8409"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:Height="12.8409"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:Height="12.8409"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:Height="12.8409"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:Height="12.8409"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:Height="12.8409"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:Height="12.8409"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:Height="12.8409"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:Height="12.8409"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:Height="12.8409"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:Height="12.8409"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:Height="12.8409"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:Height="12.8409"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:Height="12.8409"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:Height="12.8409"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:Height="12.8409"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:Height="12.8409"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:Height="12.8409"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:Height="12.8409"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:Height="12.8409"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:Height="12.8409"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:Height="12.8409"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:Height="12.8409"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:Height="12.8409"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:Height="12.8409"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:Height="12.8409"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:Height="12.8409"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:Height="12.8409"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:Height="12.8409"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:Height="12.8409"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:Height="12.8409"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:Height="12.8409"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:Height="12.8409"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:Height="12.8409"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:Height="12.8409"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:Height="12.8409"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:Height="12.8409"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:Height="12.8409"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:Height="12.8409"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:Height="12.8409"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:Height="12.8409"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:Height="12.8409"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:Height="12.8409"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:Height="12.8409"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:Height="12.8409"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:Height="12.8409"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:Height="12.8409"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:Height="12.8409"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:Height="12.8409"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:Height="12.8409"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:Height="12.8409"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:Height="12.8409"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:Height="12.8409"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:Height="12.8409"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:Height="12.8409"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:Height="12.8409"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:Height="12.8409"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:Height="12.8409"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:Height="12.8409"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:Height="12.8409"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:Height="12.8409"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:Height="12.8409"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:Height="12.8409"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:Height="12.8409"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:Height="12.8409"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:Height="12.8409"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:Height="12.8409"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:Height="12.8409"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:Height="12.8409"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:Height="12.8409"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:Height="12.8409"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:Height="12.8409"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:Height="12.8409"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:Height="12.8409"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:Height="12.8409"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:Height="12.8409"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:Height="12.8409"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:Height="12.8409"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:Height="12.8409"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:Height="12.8409"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:Height="12.8409"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:Height="12.8409"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:Height="12.8409"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:Height="12.8409"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:Height="12.8409"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:Height="12.8409"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:Height="12.8409"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:Height="12.8409"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:Height="12.8409"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:Height="12.8409"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:Height="12.8409"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:Height="12.8409"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:Height="12.8409"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:Height="12.8409"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:Height="12.8409"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:Height="12.8409"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:Height="12.8409"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:Height="12.8409"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:Height="12.8409"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:Height="12.8409"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:Height="12.8409"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:Height="12.8409"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:Height="12.8409"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:Height="12.8409"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:Height="12.8409"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:Height="12.8409"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:Height="12.8409"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:Height="12.8409"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:Height="12.8409"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:Height="12.8409"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:Height="12.8409"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:Height="12.8409"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:Height="12.8409"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:Height="12.8409"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:Height="12.8409"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:Height="12.8409"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:Height="12.8409"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:Height="12.8409"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:Height="12.8409"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:Height="12.8409"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:Height="12.8409"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:Height="12.8409"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:Height="12.8409"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:Height="12.8409"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:Height="12.8409"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:Height="12.8409"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:Height="12.8409"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:Height="12.8409"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:Height="12.8409"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:Height="12.8409"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:Height="12.8409"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:Height="12.8409"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:Height="12.8409"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:Height="12.8409"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:Height="12.8409"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:Height="12.8409"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:Height="12.8409"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:Height="12.8409"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:Height="12.8409"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:Height="12.8409"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:Height="12.8409"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:Height="12.8409"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:Height="12.8409"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:Height="12.8409"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:Height="12.8409"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:Height="12.8409"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:Height="12.8409"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:Height="12.8409"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:Height="12.8409"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:Height="12.8409"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:Height="12.8409"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:Height="12.8409"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:Height="12.8409"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:Height="12.8409"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:Height="12.8409"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:Height="12.8409"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:Height="12.8409"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:Height="12.8409"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:Height="12.8409"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:Height="12.8409"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:Height="12.8409"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:Height="12.8409"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:Height="12.8409"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:Height="12.8409"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:Height="12.8409"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:Height="12.8409"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:Height="12.8409"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:Height="12.8409"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:Height="12.8409"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:Height="12.8409"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:Height="12.8409"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:Height="12.8409"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:Height="12.8409"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:Height="12.8409"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:Height="12.8409"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:Height="12.8409"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:Height="12.8409"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:Height="12.8409"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:Height="12.8409"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:Height="12.8409"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:Height="12.8409"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:Height="12.8409"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:Height="12.8409"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:Height="12.8409"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:Height="12.8409"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:Height="12.8409"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:Height="12.8409"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:Height="12.8409"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:Height="12.8409"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:Height="12.8409"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:Height="12.8409"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:Height="12.8409"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:Height="12.8409"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:Height="12.8409"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:Height="12.8409"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:Height="12.8409"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:Height="12.8409"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:Height="12.8409"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:Height="12.8409"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:Height="12.8409"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:Height="12.8409"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:Height="12.8409"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:Height="12.8409"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:Height="12.8409"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:Height="12.8409"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:Index="65536" ss:Height="12.8409"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row></Table><x:WorksheetOptions/></ss:Worksheet><ss:Worksheet ss:Name="Report Data"><Table ss:StyleID="ta1"><Column ss:Span="2" ss:Width="56.2394"/><Column ss:Index="4" ss:Width="78.7465"/><Column ss:Width="58.5071"/><Column ss:Width="27.4961"/><Column ss:Width="78.7465"/><Column ss:Width="68.5984"/><Column ss:Span="1015" ss:Width="48.3874"/><Column ss:Index="1025"/><Column ss:Span="1"/><Row ss:AutoFitHeight="0" ss:Height="31.4929"><Cell ss:StyleID="ce66"/><Cell ss:StyleID="ce66"/><Cell ss:StyleID="ce66"/><Cell ss:StyleID="ce66"/><Cell ss:StyleID="ce66"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce66"/><Cell ss:StyleID="ce66"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/></Row><Row ss:AutoFitHeight="0" ss:Height="31.4929"><Cell ss:StyleID="ce66"><Data ss:Type="String">Heading 1</Data></Cell><Cell ss:StyleID="ce66"><Data ss:Type="String">Heading 2</Data></Cell><Cell ss:StyleID="ce66"><Data ss:Type="String">Third Heading</Data></Cell><Cell ss:StyleID="ce66"><Data ss:Type="String">Date Heading</Data></Cell><Cell ss:StyleID="ce66"><Data ss:Type="String">Time Heading</Data></Cell><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce66"><Data ss:Type="String">Adjusted Date</Data></Cell><Cell ss:StyleID="ce66"><Data ss:Type="String">Adjusted Number</Data></Cell><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce13"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/></Row><Row><Cell ss:StyleID="ce13"><Data ss:Type="String"/></Cell><Cell ss:StyleID="ce13"><Data ss:Type="String">Adjusted Number</Data></Cell><Cell ss:StyleID="ce13"><Data ss:Type="String">Third Heading</Data></Cell></Row><Row><Cell ss:StyleID="ce13"><Data ss:Type="String">1</Data></Cell><Cell ss:StyleID="ce13"><Data ss:Type="Number">1.11</Data></Cell><Cell ss:StyleID="ce13"><Data ss:Type="Number">1.11</Data></Cell></Row><Row><Cell ss:StyleID="ce13"><Data ss:Type="String">2</Data></Cell><Cell ss:StyleID="ce13"><Data ss:Type="Number">4.44</Data></Cell><Cell ss:StyleID="ce13"><Data ss:Type="Number">2.22</Data></Cell></Row><Row><Cell ss:StyleID="ce13"><Data ss:Type="String">3</Data></Cell><Cell ss:StyleID="ce13"><Data ss:Type="Number">9.99</Data></Cell><Cell ss:StyleID="ce13"><Data ss:Type="Number">3.33</Data></Cell></Row><Row><Cell ss:StyleID="ce13"><Data ss:Type="String">4</Data></Cell><Cell ss:StyleID="ce13"><Data ss:Type="Number">17.76</Data></Cell><Cell ss:StyleID="ce13"><Data ss:Type="Number">4.44</Data></Cell></Row><Row ss:Index="8"><Cell ss:StyleID="ce13"><Data ss:Type="String">5</Data></Cell><Cell ss:StyleID="ce13"><Data ss:Type="Number">27.75</Data></Cell><Cell ss:StyleID="ce13"><Data ss:Type="Number">5.55</Data></Cell></Row><Row><Cell ss:StyleID="ce13"><Data ss:Type="String">6</Data></Cell><Cell ss:StyleID="ce13"><Data ss:Type="Number">39.96</Data></Cell><Cell ss:StyleID="ce13"><Data ss:Type="Number">6.66</Data></Cell></Row><Row><Cell ss:StyleID="ce13"><Data ss:Type="String">7</Data></Cell><Cell ss:StyleID="ce13"><Data ss:Type="Number">54.39</Data></Cell><Cell ss:StyleID="ce13"><Data ss:Type="Number">7.77</Data></Cell></Row><Row><Cell ss:StyleID="ce13"><Data ss:Type="String">8</Data></Cell><Cell ss:StyleID="ce13"><Data ss:Type="Number">71.04</Data></Cell><Cell ss:StyleID="ce13"><Data ss:Type="Number">8.88</Data></Cell></Row><Row><Cell ss:StyleID="ce13"><Data ss:Type="String">9</Data></Cell><Cell ss:StyleID="ce13"><Data ss:Type="Number">89.91</Data></Cell><Cell ss:StyleID="ce13"><Data ss:Type="Number">9.99</Data></Cell></Row><Row><Cell ss:StyleID="ce13"><Data ss:Type="String">10</Data></Cell><Cell ss:StyleID="ce13"><Data ss:Type="Number">111</Data></Cell><Cell ss:StyleID="ce13"><Data ss:Type="Number">11.1</Data></Cell></Row><Row><Cell ss:StyleID="ce13"><Data ss:Type="String">11</Data></Cell><Cell ss:StyleID="ce13"><Data ss:Type="Number">134.31</Data></Cell><Cell ss:StyleID="ce13"><Data ss:Type="Number">12.21</Data></Cell></Row><Row><Cell ss:StyleID="ce13"><Data ss:Type="String">12</Data></Cell><Cell ss:StyleID="ce13"><Data ss:Type="Number">159.84</Data></Cell><Cell ss:StyleID="ce13"><Data ss:Type="Number">13.32</Data></Cell></Row><Row ss:Index="16"><Cell ss:StyleID="ce13"><Data ss:Type="String">13</Data></Cell><Cell ss:StyleID="ce13"><Data ss:Type="Number">1.11</Data></Cell><Cell ss:StyleID="ce13"><Data ss:Type="Number">-1.11</Data></Cell></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:StyleID="ce5"><Data ss:Type="String">ABC</Data></Cell><Cell ss:StyleID="ce5"><Data ss:Type="Number">1</Data></Cell><Cell ss:StyleID="ce67"><Data ss:Type="Number">1.11</Data></Cell><Cell ss:StyleID="ce68"><Data ss:Type="DateTime">2001-01-01T00:00:00.000</Data></Cell><Cell ss:StyleID="ce69"><Data ss:Type="DateTime">1899-12-31T01:00:00.000</Data></Cell><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce68" ss:Formula="of:=[.D3]-[.B3]"><Data ss:Type="DateTime">2000-12-31T00:00:00.000</Data></Cell><Cell ss:StyleID="ce67" ss:Formula="of:=[.B3]*[.C3]"><Data ss:Type="Number">1.11</Data></Cell><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"><Data ss:Type="String">A</Data></Cell><Cell ss:StyleID="ce5" ss:Formula="of:=[.B3]&amp;[.J3]"><Data ss:Type="String">1A</Data></Cell><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:StyleID="ce5"><Data ss:Type="String">BCD</Data></Cell><Cell ss:StyleID="ce5"><Data ss:Type="Number">2</Data></Cell><Cell ss:StyleID="ce67"><Data ss:Type="Number">2.22</Data></Cell><Cell ss:StyleID="ce68"><Data ss:Type="DateTime">2002-02-02T00:00:00.000</Data></Cell><Cell ss:StyleID="ce69"><Data ss:Type="DateTime">1899-12-31T02:00:00.000</Data></Cell><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce68" ss:Formula="of:=[.D4]-[.B4]"><Data ss:Type="DateTime">2002-01-31T00:00:00.000</Data></Cell><Cell ss:StyleID="ce67" ss:Formula="of:=[.B4]*[.C4]"><Data ss:Type="Number">4.44</Data></Cell><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"><Data ss:Type="String">B</Data></Cell><Cell ss:StyleID="ce5" ss:Formula="of:=[.B4]&amp;[.J4]"><Data ss:Type="String">2B</Data></Cell><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:StyleID="ce5"><Data ss:Type="String">CDE</Data></Cell><Cell ss:StyleID="ce5"><Data ss:Type="Number">3</Data></Cell><Cell ss:StyleID="ce67"><Data ss:Type="Number">3.33</Data></Cell><Cell ss:StyleID="ce68"><Data ss:Type="DateTime">2003-03-03T00:00:00.000</Data></Cell><Cell ss:StyleID="ce69"><Data ss:Type="DateTime">1899-12-31T03:00:00.000</Data></Cell><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce68" ss:Formula="of:=[.D5]-[.B5]"><Data ss:Type="DateTime">2003-02-28T00:00:00.000</Data></Cell><Cell ss:StyleID="ce67" ss:Formula="of:=[.B5]*[.C5]"><Data ss:Type="Number">9.99</Data></Cell><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"><Data ss:Type="String">C</Data></Cell><Cell ss:StyleID="ce5" ss:Formula="of:=[.B5]&amp;[.J5]"><Data ss:Type="String">3C</Data></Cell><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:StyleID="ce5"><Data ss:Type="String">DEF</Data></Cell><Cell ss:StyleID="ce5"><Data ss:Type="Number">4</Data></Cell><Cell ss:StyleID="ce67"><Data ss:Type="Number">4.44</Data></Cell><Cell ss:StyleID="ce68"><Data ss:Type="DateTime">2004-04-03T23:00:00.000</Data></Cell><Cell ss:StyleID="ce69"><Data ss:Type="DateTime">1899-12-31T04:00:00.000</Data></Cell><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce68" ss:Formula="of:=[.D6]-[.B6]"><Data ss:Type="DateTime">2004-03-30T23:00:00.000</Data></Cell><Cell ss:StyleID="ce67" ss:Formula="of:=[.B6]*[.C6]"><Data ss:Type="Number">17.76</Data></Cell><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"><Data ss:Type="String">D</Data></Cell><Cell ss:StyleID="ce5" ss:Formula="of:=[.B6]&amp;[.J6]"><Data ss:Type="String">4D</Data></Cell><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:StyleID="ce5"><Data ss:Type="String">EFG</Data></Cell><Cell ss:StyleID="ce5"><Data ss:Type="Number">5</Data></Cell><Cell ss:StyleID="ce67"><Data ss:Type="Number">5.55</Data></Cell><Cell ss:StyleID="ce68"><Data ss:Type="DateTime">2005-05-04T23:00:00.000</Data></Cell><Cell ss:StyleID="ce69"><Data ss:Type="DateTime">1899-12-31T05:00:00.000</Data></Cell><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce68" ss:Formula="of:=[.D7]-[.B7]"><Data ss:Type="DateTime">2005-04-29T23:00:00.000</Data></Cell><Cell ss:StyleID="ce67" ss:Formula="of:=[.B7]*[.C7]"><Data ss:Type="Number">27.75</Data></Cell><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"><Data ss:Type="String">E</Data></Cell><Cell ss:StyleID="ce5" ss:Formula="of:=[.B7]&amp;[.J7]"><Data ss:Type="String">5E</Data></Cell><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:StyleID="ce5"><Data ss:Type="String">FGH</Data></Cell><Cell ss:StyleID="ce5"><Data ss:Type="Number">6</Data></Cell><Cell ss:StyleID="ce67"><Data ss:Type="Number">6.66</Data></Cell><Cell ss:StyleID="ce68"><Data ss:Type="DateTime">2006-06-05T23:00:00.000</Data></Cell><Cell ss:StyleID="ce69"><Data ss:Type="DateTime">1899-12-31T06:00:00.000</Data></Cell><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce68" ss:Formula="of:=[.D8]-[.B8]"><Data ss:Type="DateTime">2006-05-30T23:00:00.000</Data></Cell><Cell ss:StyleID="ce67" ss:Formula="of:=[.B8]*[.C8]"><Data ss:Type="Number">39.96</Data></Cell><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"><Data ss:Type="String">F</Data></Cell><Cell ss:StyleID="ce5" ss:Formula="of:=[.B8]&amp;[.J8]"><Data ss:Type="String">6F</Data></Cell><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:StyleID="ce5"><Data ss:Type="String">GHI</Data></Cell><Cell ss:StyleID="ce5"><Data ss:Type="Number">7</Data></Cell><Cell ss:StyleID="ce67"><Data ss:Type="Number">7.77</Data></Cell><Cell ss:StyleID="ce68"><Data ss:Type="DateTime">2007-07-06T23:00:00.000</Data></Cell><Cell ss:StyleID="ce69"><Data ss:Type="DateTime">1899-12-31T07:00:00.000</Data></Cell><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce68" ss:Formula="of:=[.D9]-[.B9]"><Data ss:Type="DateTime">2007-06-29T23:00:00.000</Data></Cell><Cell ss:StyleID="ce67" ss:Formula="of:=[.B9]*[.C9]"><Data ss:Type="Number">54.39</Data></Cell><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"><Data ss:Type="String">G</Data></Cell><Cell ss:StyleID="ce5" ss:Formula="of:=[.B9]&amp;[.J9]"><Data ss:Type="String">7G</Data></Cell><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/></Row><Row ss:Index="24" ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:StyleID="ce5"><Data ss:Type="String">HIJ</Data></Cell><Cell ss:StyleID="ce5"><Data ss:Type="Number">8</Data></Cell><Cell ss:StyleID="ce67"><Data ss:Type="Number">8.88</Data></Cell><Cell ss:StyleID="ce68"><Data ss:Type="DateTime">2008-08-07T23:00:00.000</Data></Cell><Cell ss:StyleID="ce69"><Data ss:Type="DateTime">1899-12-31T08:00:00.000</Data></Cell><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce68" ss:Formula="of:=[.D10]-[.B10]"><Data ss:Type="DateTime">2008-07-30T23:00:00.000</Data></Cell><Cell ss:StyleID="ce67" ss:Formula="of:=[.B10]*[.C10]"><Data ss:Type="Number">71.04</Data></Cell><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"><Data ss:Type="String">H</Data></Cell><Cell ss:StyleID="ce5" ss:Formula="of:=[.B10]&amp;[.J10]"><Data ss:Type="String">8H</Data></Cell><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:StyleID="ce5"><Data ss:Type="String">IJK</Data></Cell><Cell ss:StyleID="ce5"><Data ss:Type="Number">9</Data></Cell><Cell ss:StyleID="ce67"><Data ss:Type="Number">9.99</Data></Cell><Cell ss:StyleID="ce68"><Data ss:Type="DateTime">2009-09-08T23:00:00.000</Data></Cell><Cell ss:StyleID="ce69"><Data ss:Type="DateTime">1899-12-31T09:00:00.000</Data></Cell><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce68" ss:Formula="of:=[.D11]-[.B11]"><Data ss:Type="DateTime">2009-08-30T23:00:00.000</Data></Cell><Cell ss:StyleID="ce67" ss:Formula="of:=[.B11]*[.C11]"><Data ss:Type="Number">89.91</Data></Cell><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"><Data ss:Type="String">I</Data></Cell><Cell ss:StyleID="ce5" ss:Formula="of:=[.B11]&amp;[.J11]"><Data ss:Type="String">9I</Data></Cell><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:StyleID="ce5"><Data ss:Type="String">JKL</Data></Cell><Cell ss:StyleID="ce5"><Data ss:Type="Number">10</Data></Cell><Cell ss:StyleID="ce67"><Data ss:Type="Number">11.1</Data></Cell><Cell ss:StyleID="ce68"><Data ss:Type="DateTime">2010-10-09T23:00:00.000</Data></Cell><Cell ss:StyleID="ce69"><Data ss:Type="DateTime">1899-12-31T10:00:00.000</Data></Cell><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce68" ss:Formula="of:=[.D12]-[.B12]"><Data ss:Type="DateTime">2010-09-29T23:00:00.000</Data></Cell><Cell ss:StyleID="ce67" ss:Formula="of:=[.B12]*[.C12]"><Data ss:Type="Number">111</Data></Cell><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"><Data ss:Type="String">J</Data></Cell><Cell ss:StyleID="ce5" ss:Formula="of:=[.B12]&amp;[.J12]"><Data ss:Type="String">10J</Data></Cell><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:StyleID="ce5"><Data ss:Type="String">KLM</Data></Cell><Cell ss:StyleID="ce5"><Data ss:Type="Number">11</Data></Cell><Cell ss:StyleID="ce67"><Data ss:Type="Number">12.21</Data></Cell><Cell ss:StyleID="ce68"><Data ss:Type="DateTime">2011-11-11T00:00:00.000</Data></Cell><Cell ss:StyleID="ce69"><Data ss:Type="DateTime">1899-12-31T11:00:00.000</Data></Cell><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce68" ss:Formula="of:=[.D13]-[.B13]"><Data ss:Type="DateTime">2011-10-31T00:00:00.000</Data></Cell><Cell ss:StyleID="ce67" ss:Formula="of:=[.B13]*[.C13]"><Data ss:Type="Number">134.31</Data></Cell><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"><Data ss:Type="String">K</Data></Cell><Cell ss:StyleID="ce5" ss:Formula="of:=[.B13]&amp;[.J13]"><Data ss:Type="String">11K</Data></Cell><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:StyleID="ce5"><Data ss:Type="String">LMN</Data></Cell><Cell ss:StyleID="ce5"><Data ss:Type="Number">12</Data></Cell><Cell ss:StyleID="ce67"><Data ss:Type="Number">13.32</Data></Cell><Cell ss:StyleID="ce68"><Data ss:Type="DateTime">2012-12-12T00:00:00.000</Data></Cell><Cell ss:StyleID="ce69"><Data ss:Type="DateTime">1899-12-31T288:00:00.000</Data></Cell><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce68" ss:Formula="of:=[.D14]-[.B14]"><Data ss:Type="DateTime">2012-11-30T00:00:00.000</Data></Cell><Cell ss:StyleID="ce67" ss:Formula="of:=[.B14]*[.C14]"><Data ss:Type="Number">159.84</Data></Cell><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"><Data ss:Type="String">L</Data></Cell><Cell ss:StyleID="ce5" ss:Formula="of:=[.B14]&amp;[.J14]"><Data ss:Type="String">12L</Data></Cell><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:StyleID="ce5"><Data ss:Type="String">ZYX</Data></Cell><Cell ss:StyleID="ce5"><Data ss:Type="Number">-1</Data></Cell><Cell ss:StyleID="ce67"><Data ss:Type="Number">-1.11</Data></Cell><Cell ss:StyleID="ce68"><Data ss:Type="DateTime">1999-12-01T00:00:00.000</Data></Cell><Cell ss:StyleID="ce69"><Data ss:Type="DateTime">1899-12-31T23:00:00.000</Data></Cell><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce68" ss:Formula="of:=[.D15]-[.B15]"><Data ss:Type="DateTime">1999-12-02T00:00:00.000</Data></Cell><Cell ss:StyleID="ce67" ss:Formula="of:=[.B15]*[.C15]"><Data ss:Type="Number">1.11</Data></Cell><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"><Data ss:Type="String">M</Data></Cell><Cell ss:StyleID="ce5" ss:Formula="of:=[.B15]&amp;[.J15]"><Data ss:Type="String">-1M</Data></Cell><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/><Cell ss:StyleID="ce5"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:AutoFitHeight="0" ss:Height="14.9953"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row><Row ss:Index="65550" ss:Height="12.8409"><Cell ss:Index="1024" ss:StyleID="ce13"/></Row></Table><x:WorksheetOptions/></ss:Worksheet></Workbook> \ No newline at end of file diff --git a/vendor/phpoffice/phpexcel/Examples/GnumericReader.php b/vendor/phpoffice/phpexcel/Examples/GnumericReader.php new file mode 100644 index 00000000..7ddd74df --- /dev/null +++ b/vendor/phpoffice/phpexcel/Examples/GnumericReader.php @@ -0,0 +1,60 @@ +<?php +/** + * PHPExcel + * + * Copyright (C) 2006 - 2014 PHPExcel + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * @category PHPExcel + * @package PHPExcel + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @version ##VERSION##, ##DATE## + */ + +/** Error reporting */ +error_reporting(E_ALL); + +date_default_timezone_set('Europe/London'); + +/** PHPExcel_IOFactory */ +require_once dirname(__FILE__) . '/../Classes/PHPExcel/IOFactory.php'; + +echo date('H:i:s') , " Load from Gnumeric file" , PHP_EOL; +$callStartTime = microtime(true); + +$objReader = PHPExcel_IOFactory::createReader('Gnumeric'); +$objPHPExcel = $objReader->load("GnumericTest.gnumeric"); + + +$callEndTime = microtime(true); +$callTime = $callEndTime - $callStartTime; +echo 'Call time to read Workbook was ' , sprintf('%.4f',$callTime) , " seconds" , PHP_EOL; +// Echo memory usage +echo date('H:i:s') , ' Current memory usage: ' , (memory_get_usage(true) / 1024 / 1024) , " MB" , PHP_EOL; + + +echo date('H:i:s') , " Write to Excel2007 format" , PHP_EOL; +$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007'); +$objWriter->save(str_replace('.php', '.xlsx', __FILE__)); +echo date('H:i:s') , " File written to " , str_replace('.php', '.xlsx', __FILE__) , PHP_EOL; + + +// Echo memory peak usage +echo date('H:i:s') , " Peak memory usage: " , (memory_get_peak_usage(true) / 1024 / 1024) , " MB" , PHP_EOL; + +// Echo done +echo date('H:i:s') , " Done writing file" , PHP_EOL; diff --git a/vendor/phpoffice/phpexcel/Examples/GnumericTest.gnumeric b/vendor/phpoffice/phpexcel/Examples/GnumericTest.gnumeric new file mode 100644 index 0000000000000000000000000000000000000000..ea2fac379e51e707060c8c8d5314899c60bad287 GIT binary patch literal 7823 zcmV;A9&q6wiwFQYV1-No1MOYia_hEszV3MnM#&`Sw3WnvkxHx_|J#YZx5xJ0IY}m? zp+!hyOp!VywQc9F(_ZwhFVKfL)0xh+7wt`7VCRhrfE2|aKmxS=Lre6@NkkB90mS!V z0aySRzxnol;tC%?5IVlM(~w$XLjc~uw;gY^(|C7%)HE93_WtnA$eVP3@PpeM-@g^0 zh!=KY(oSO>MbmD(eRp@)8hNt`2%JI74@T_|lGw5%yOHF*51m}zI|b*GMNw-1<^1ew zFa{H=>3Csec>@5YLZ=(z#4~?jMYwL%qRiHPXg7L)5CmM!_wmCBhf{wrhL6+`&aGel z0RDo{cJ6rSr`ZsWX0D4K7*^D5v{UKbC<>gLSp-6qR7{N1lGNy73VP}{?eur{re{q+ zZ{A|>9dOs}hGYM(KlTIXH{Xjaw;v7y-*s=SAXb4TvMN4U?hN#<FW();8RF}>R&7GH z9=ocL6_GP|1r_!D2%w~XWZi_-tE27rty$#v2mWO00z~HO)zJz2(*QQ(AOiN%+8ynl zT`^U!kc7L_H~w(w3;=AA0qnqD)SQ6GN=!t2Yo{>_ysmGBPKav|cB4Vpp8{_#(#_`X zVtbXC7}xP`Nk&F8O|y;f&a>KsG~aX<xHy+RXag6Z62dk#3hjAbR72KEp}g5D`M#eP zgtEt#o?AY(9bY$u<Y6*aSZXBgn%qK~Q!wm7cMt$8@`K*F72FDY)-8ZtGn1UjX<HBu zS(L=4Xf{RtT9&%1*p)gzVF7$Mn;XEs?o1I!dsqGh2#~Y5O$6)4pG8762ExV3#o_$` zxWaK_g@sFC*&z5kAy%1DG1rV6<`z8M`GMV|$qUyYjD+vwT(BGGgmRi@Aqbi_7&;!X z1)PFV*=fMir?VT^3CAF4#5WN4cN!rip*L!zMJLL$da|t$&Tf8%J)wsyl-4pG{;uNN z_-W@^Gt!Y0xu91TyGH3)D9*w3NTYDrg##cM`N6}|M<Tc8ej>W;fmfD4u{>);Y0-1b z3L@Y^4!W*m&F)qfgeeNS(aaN5zLv$VYIGIzr$j|QV@?OKod}lR96StMXjs%lqL54! zv1b9++Pk<G#S>9Im&L1sc$y`rU<5o6;Li0H_T;yVo~*Q_FMe=5MHccmkUd4zXe*L9 zk)$v7W{zt&O~o{m@)jC%1vwt9hUGR%U7VO9F~9{&ktXD9Z92`_x7@+Z#m@<+N8ZeG zF996tp<#s9>(H}qTyPqJAenmMIn;fc5Tdyh%$Fuy`!4+DA@eP^;G7Q5u3X=WE-l-+ z-)YFn<$*JDA}FgVnfcb$7=Y*v<l3ocgZs?5mfjF>eSH^~Dyt2Aed*u9YhBY6z0td} z(7-AjSdkTvI;re>`YyrL4<eerLQ-09Tnb9b&K%zqM^QYiB22?e%Nv2EW9?U&2m9)? zFZRBWx?k*np_WG9L}==V4kqrd6lX~jGGlc9Dbng<1;+rI{3v)3esJsvO`R28ZwM#A z8I2<dn`stt3ybY595~_BwH}WAU;^nCVmh5THuwnyetK~nICgpgkvPE?D@}n|WKt51 zZ)Xu4!a<11m|R>vOl}~Kd%*SY2<ew`y<z%$Cv<Kc*NGl>8pm(W`&TE2hu8i0r&p(Y zr)Q_vKgK`L4jTfh8mtjoBZyu2zecWwapRTPR>Bze6{w>pDe?W}vXBElWluKK9OyEe z<0s#r^b#EL?_xbt14m$5o^2P<R7d??XfDcZD=_Z!%fqA32>fE@Sea)`HN@QMCj;b) zDt`IbnIC<f0U=I!^hy^xNU99C=BYP?47Un8Vkm<VT*sE`5cyN#!iS=W!7}9aMF58H zpef&JOeS%^%H_ZDqsX6diMU`Gr2-v!W&Qy54<3PWJhR}C82WHc!6q^935Dj1Z3`Tl zfDq3-rXU!=;SA158p7gtJR-FVav#uLSU#o&vL?k0<5d|(&>qn5f)Bv!JHx*3xexs? zdVtdodgh7m`GawQX4TX@c3?paskiaOaY+$yr3u%<aOMG<o1P2Kr$NxO`*1Sv^^-My zoL0=|pvJ`{M+0JDIng}#;!a*BHr&D)q~cBkxm#@8g_ZaccGs_ezTVyYr6D9{xm2yA zm@7rm3y7`|%U|psA1+ZawICmQp4Eqo><A<e7ANNVG_426RKqA1`G*oO!3fQk!U)cI zp*_cg6TY}aqYw6*+4FSxGf6FV39L&v*>#;!JhOVA{DghuhrpU%gZl{UxEjNH-d_7h zPJDgoN6B;y--PXqf1&w@7w0(h2e-h+O5r#PlW{5>i($?q_=g8HIF}sUCfDh|V7IhT zn|Zmh4~fDif@3D0s=B#{Nl}ATi~F+#%iZ(cxB{n<<vQ_n@*S*UfX3yx=5Xb33$9^D zn2pA93SKYb#@Y?w%r-I7NOP|B+G+C@twshPe&i$~a#CfG6JG*0sq(PNMA+mlgiWON zHmQQJDMZ+m8n$ZpHkAmQTEoT;+ddS!37qG}O(Wu_)wr=+$rr&*C*r2pxGiv#tB6~N zh+C(|ZJC{vULH4th?`O4R`K!8B;san0B*M3o=n;g@NY9`l#)nZcUQ+{vOad73*U<E zZ@(2c6gi5=WE)*3ugh9WWT%O=30{-&INk{A#{Zd2a+hJasgRN#DpKuHsXTIIpNg~z zP8B$Jfm0Wu)F(F;O0t_p+Jt%NW_Ln4GYge6+X!1Umk~c1xhu;HpBXmF?$0JnWF8H+ zRgTRUfQ>v^k+*2FvKqEke$5wvjXYD4H({poXs{{OgN-~Zk+*2~XEkhU^<X3K{m5Ii z`SU8LB$=%rNlZq%`JFY9lWOFi1G&uRkDP(6TDw0nMz3=|IX@iwFa^OGY?tIH@3A*I zL6`3?&l&=RV+5ky3w+b@6rgvTS{{fBhl`(z3grDHxmpYP4W`23x#hSEGECrA<aZ}l zaQkN$y)V<U!Nm7k1HU!9h1s0xPGj+c)bnse5s4g8YL`K!t-O+P86^I?WI9~Whbs-7 ztm(9wl`5Jwc$EeZB1A<Gy=_^;S2g$~%3CcN@AxJh(Wt~}?WDl>P_G@oi;de6KkGG~ z7onG0r}1mzSn;mw`geP9Ds&saqY;9Gz@OUwUEC`870R8)>6`bvXQv0kn|J4XhnEfE z9E2f$N$x#*Crp^k!brFQg5?R07l9E7;8k=7fG0>W(H5lQ$(5v{hxgL}s)7|2=kKOw zla`A}JxMIeNQKsD=bPg>C@v8xzD1L{C*HZMIsWn-m&u!)HOFf+z9|$}h!o$Vjm6rG zZ#>6U@>FGuHill$DWm)xvqRirkXG(67z^aoZAXq_1jdcGSBPbixqt0X=VnW52+8x{ z2Stz6Cd%x^fmljnVs}s66T6zI(IinM3zA$%?1<fcai1oK<6BVb8CSL_n4xI->7R_$ zCYjXL+AFCzsb9n#$&~fL7A*)q(HYm2UcwtElP9_L@i}JPUIsSuysbXaQ*Gb3Odj9r zecsB!CR4U7<k}HX`?@y64<J+g02zu`>$qCQDgIpZ?i_C90i|9qy_gd~&aBD_9)Ras zR_92Pjf;?7R@a;ERqx)}xCmL~wrIjwi4LCk*j2KR%Vef(kpt$n_Hl)bT)n<{-ael7 ztyi*#ljrCg5!_+Jd$>kMZi`N;R-%XJcEKvy#dR`Kw#cpfO1rq6Sz?(Phx`^TvBX#C z*_AWvtL*EwD=qU{rzp%Cx5vUwCwI3kGL)|bHifd0l6~cBdq8_VqgxI)jfmSOOkX!J zByJ8lorqk0psMm+E*n82`)+Z4R-kf2oJtwu)a`z~QL6Z-pH#{#dzsF*MSbn{m`RoL z8d|2iZR4hgRPkwvN_n*^1KXDGcvRm?szlgo_hjYGWcF>LEOPZ%gdX{2#+6$T;6wAk zu|~dUx$~U}o%OvTe!=J3#mJM*Ad{_LbXMI=$mD786S>1xt%}gSl0~ORS#)akqO;1g zV2!eP(dxxZm1n^kW$~ib!&|k7H=SZ8&3gIrih#>5Uv!@3i@ZQidfid5Un_D38M(EM zWsTf3A(veXbe?=IAa^Q>-78rPbZEx1^BBIKy30Kmat0Z>wPX6!$UPTwCK<VUn5!Ui z2F+R;wY994XI!er8GVChqzxV;T@&V|yShn6Zl#e{Yvf)Qx$IiReDbx3BGnrc>jP)f zMpyGOM%UWqw%+Jk(UH}pjjU$vSg*EyM&^k8Q4gs;KlzG~%f{^#pKlXV`UK?g^)_Rs zkTHAe<CC9)nF;^49X6E=+f%>(_9?K%{cXEp)5x$r_1kZ2!X|bN(b#$msgp5#>Ye_z zF%#>VNTWl>?5UTEYhs26GzI>3b@;d4$Qfkho;rHyC(lRr;oo*6XOfY7>J|5z$Q{7H z?%w|1ez$YbIoNLGvN1h#OYYjWR(<R!2J^{3-qTrkeu69|6}UKkTd*@J{jT;>RvtS! zYcq4-jjjU+Rc;>%v5f4dl%CH`$qw7XGg<e$B6tcJyz0E}jd4QjxEenaekvKi>cs8J z`6_Gtiuh?{{HhecYwonH!7GBNlfkRjge8Wl2CoQShYVhI*64A+!`-jOuZ*8T#;-cx zMM|cfb^jydM_H^_XRW@k?yKF7*3r6>j6UH}Ls*1RqV&Nhe=A032XXElOLi2NpH<0C zRyP+!+7}e1`oqpuhmIDrS;~0KwlTQKD??5qBUc~FeCD&)`HzQns&Vo<PZgO=mFl=x zw~{Jq6{(_-sZt$h?p9Jos>ll+d9J8ru2jcyyp>!rt4I}%OqDA6sJD<Rm9#24nJU%t zh;JWND)K?SJXbnou2jbXznxrBs>l_C%$4dm`?r%TVimb!lDSg*GhdV|Mir@&JE@)Z z!__X-7bQz2=PMG;X<K`3Uz99bCCNf@+e)?H_C?8}SCT9g$8Eg_Tgja~+D8TR?=95e zRT8{>AZ3Gwo~&(=dsD2;YbTi-VVZ`L;PZvT0T@~{H@b3u0~b-a(@>3;lI>;loTuK< z7vA{EL!d`A^_FU8jeRMrG|w6<g`>m_K_f2}QszR6)-smsSIPQ2%PW=EN)ubMwmh$r zFQJ`pQ`CUD7KJn~x2U8Qn-gX$Hz$h1cVY!Ll1n_%_-Tw%4YT4#Dy|?javGM&nX8H| zgOn9tG$LoYXb!i$V0F2?zHY&txuD!>b+oiNWvP@bWviQrlz4z(&+*_2xL|;cQz-1u zg3u4JHAE{gd{x>(&I@Hst4!I7ma{w2h1x6%&(-Pe&95*yEV3QA?!G^nK$|JVIriW~ zLbG**xF4sy9S%c)nm`Z*`2U7*-~@3AakK8uqA@a*=T>mr5MqOU4Z<iChJGNtyFO|f z!T_2uSVp<G(aPVIKDBsUx+R3pWC}-^0W{{bpgF`=JOVasS2&)Gij7xjrL>Nub`$24 z6$}ad?|aLgf$N7UniE3<jw^A6ixHA<_8_s9nxvd26>8#<mP^tahqPLHid_zAtt5TO zAq}xSyq^ZA2l&v|&YtuS`#cYBF2v!2aOY6^(wa=aK4MWJEyu7qM^Wa`RYs9Vx{RXE zAzemsk3+hQ;t_{*4n<OT&u7n}wmLhqN`=ZD_z^?(<mC{5u5jomL(3ywhPJ~YU50j_ zL%Iy@F^4oGv@##GX{(l@xdb*3EYhbcAdt%n#|#>j<?On1qOtJDFaJ98qp$xYI9@XN za40TQPUVm;Q_kR!E>rG+L%K}46Ao!c$|-!5Q|Od?8(7{5@E}uW9ls7T@!HU|wb{&@ zT5c~m!Q2UFlRxfB-97bB96F4w4tgW1X`83z>~obvX#F2yCjX8{N4fR+b<kU%L5ubX z1B*uO<x)%LQGg~sQ7{94WWixBlz)5~)%@}u%fwBi19=<(;PI#^<H)U|4CD0}+S)V6 zW9f_fBjBi0ag<w%V&?uh)FD)dmK(Ccs#9S-+C95s!BtO<N!+v1$|}4>HjSrz0xS05 z6_188DR?yyIWf2uIL&M45y;V@l0#{!nwb4#St)er&3rKn;F6a|N4cT-b(EX>y%jhX zT-dMG<i?WcbG%y~4TPuT)Ub+147yArg|KaqWu3(wn5j7^Rp#vlhrC{@fyg0E>ehjO z$6~3?CH<OL#WF-#R;y&UO+4hXI80InIy91!+-7OQREAo6#<5Bwy9sbZzP-MFd(NYS zP?^K~D6j;+Dv=l1m|ZPNR3$z0$Fks+=xf%G|NilRKmPZ}|M>Vf;rD;~{hxpT*N^}C z@qa%4?e~A<QA_kB%x+x3{KVwd6;gC|cy!I9q5O#d_b&nPY!HEa7TY4J%Z*D*)MX}8 ztJDge{NI25YBM#9Ms1eM)8iASb|DXyF}?r7qd+H**YMtK;xRd8rTG}pS*nW3x3_Fa zi?<w^+!fNYfo-mbtwwWmYAk&?Chr#Ahnntr3U7R-o+Z=G8{YK=g2`fTWx6{wQKPbS zid0RROo^H%Uv<ijJ=eolAG#}Z(b6o`mdXB1r08mP6XKm{7BzI|*P=cwY?R5)uDCu^ z5U|&XY!34^Vj?wtalcT+;)s)}3yAn~ez@SzKM(MsgW>RA6yZNzxhu)P{CtB>5=bpk zRJw}VRh3_oY&g&TaM;zAu5RS=#VL*6sbKrwSCMe*`FDad6pp>w1O(1N2xrr&A4H*W z=?unr+YC7-qcIRdYXXEj>p`$W;qZO{+<z2yJsaL~LIF<GgmCQ7TwAySf;Ef$p%V#X z;EcwJn-dLL!d+lZS(?S5w(rHs1una+Ws#EKraK402-xx2hvIe}zSrB8&F;ROOts@A zayA2IGgf8Wm*wt(tgp&;2(uln&UOs5ovhAw3bTE;I@_KEA3-8LX(p-IR`D+M7=Y-^ zdhlm(-R4ivz%as_vF&^=-~9jr;oP@@8)F6$ya;?aeVU}#=hpqTGf8L;FHYgega$tm zUc!;!4H)6Be&E24jRkfgovsF!o2nZH*5ndhB&8=C+^C94LVAtVOkL{%^`x0=g;>Rj zV}qYS;HMYIfn%o^ka;J-vO$ohKvHH>5{++X5$fk5u55B~^)P{bE!+ccvN@GczeL?3 zwqs7{+&HciJ?u1&-<<caP7V*R`|nS$PWMjFPOpEAf1VvS1XQ)$iKASDzkz+ScL`9B zg-e{sidzDw=K6qj4|VjUWIReP3pwCZ_H<2C)HD-H$!7Y=_b2mBXZ*WZm16(ORwPaI zP~t`4cu{{h07;cSQqB*k@Ap2xJUsd=&J`yVvrYZbLHqu_-K1`5!lE{%c3D|NOrQR> z6V2TnOR5-e;bd@#6CS<Ni<Ert#I1==r=a1Yd_M2o3Pw)W_$BF)KNT)~D2hld<Guxk z@wt}CB!6BP=f8>1_wtCi&`_iT9eHK`0FM|P0%P1Uc_fCuA2CYIdqSc4V)KG5k`Q65 z24^7y;6>I5G=#-(Y}86SB_GgTSU#pj#)vJRXjO(0Gzs*(-~;gb&am%$?n6Js$NT7+ zC%)$o#(@t<c4{6wupoxi+Y#y^ONy}lzUN2%DWWJnS9}88?!$?O*AL=$FPsWb@;Rt+ zG09PH3oIv^=U&{&%fz-@h{r5A<T$pC#u9uE<mc<%y<ZwaVwp?TI*Pec6up4x3bFjf z?(yLg1yc+1q32nB7oZhb($#Tdu20i?a7?w_A<b-J>Cml6IWVnqL_W$yjC<uDdY0#> zZKZWj+wKOA<t7&T3C~K4v@k>&*y?y86+Gmg15V0>@91QZtIxMr?XwDb*mNRn^?L~w z$4%CB+B+qxXx89W8a#*)6+N^Ht>LR0d@^N@B5&9nMQn-U*FRqZ`xo@<>8C2sG{vMv zx>Pm{KHF|iCX?m^{M#7pR0?+LhG91z$BwgZ{GZ80*gbDwoNo+{8fA5^Z5WOlx6IQi zz;$Z3N|pPYPO+Q%hV{2i9P>I9>^d8U-G)v#4YtS~n}FcPjdljjsaXf^sK6pUbK_A1 zcW8P`UKRjhpA?OwW1y%BOwl+rqqRJzmI=kMJg3fHd>Y?DH(L7AoMt|#N6In63x?TP zAma1I0#T$=Yzwxy94n)1Adg!qV#Fm|{0cD_zd|fN$rT}fg-973#O#-KJ|%tyKD-g% zI)+APoDU*#CU<{Q<YFKRIQ%N2A&4zglZEs`)QXWMay|FhAH`adlK}7<7g#hW)4-pC zAbJqcDH6EQ#V6yM(<p58RHf6BbxD)OZ`$*0%cbueI~vErdZ*J;b@Xx&t8g?16VODz z8@+^wtfEuPwjFO2m)vQIhOSF0t1v!_&{#ARHeiKjf>M5bVoI>B5L!^r_n-_qPuPqT zAZ78>W3CJ`2EB_6J<gb<O8KK7SozR#-J}K?&2a+M?1W8}fPdpVLp-*WG_gLi<qgJu z(C9_}w22PFFw3D46U9Dh^iYkdVhi#GK021LKZbp(+@uBV4^uzH@Ai<jej@Da0$+kY z^j*h(JnZx6PvaQ@GXcul&~wI05|v4Phl}Y5uGUR5Bk9inAy%!8>Q-t<<|c*(qjP!G z>_wuWLxm&+)<ljAJ1ND^P`ifQh5u%P@9_cTgYZD?#{ZBZq=C2$Mt&gMDUvHO{!4TB z-U%5{o><dlI6!YWSpiRdIT-SkT^n%&&DBeiD0QcSX5NC4=n3PK#56tVoO<8I2c3x> z_0h0|0=5-d<w1%A;~#5`UnRx_D9^25{eWVZKLryGR9fnKxIEs(YBd1sK(M4karCtd z*N-wSzGtD;4^CW7lZU2-`|0v}7KHBC5&B>S4^7OD=FLMBE}7zKWD?@xF^OGlpDPeJ zfMkox$`M;IIU2o(rXM&X$K%8t9gv>-E_N6-dhSY__K7{{iD#y`j7Oi`@J(;b{jRxB zpP^!PlnKtG_t?a2Qfgs4kkcV@D4>^ino<g)H#vTbUcNvl^DVgS`YQ86##f)6$ltV6 zQ6|-8&F>-I{jz4Idm?Eow8PuPM_OWn>Q1(SolKF?JDAVY$>eA6WcyFn$@Z1*{!?@^ zo+-c?7y*xI;e2OBgK;zGIMG_VZptRtXrAZ^o!<bf_vMq_H_zk-SbGidl0JYHZk(mP z_fZxv&*4j;+#n`r-n`9t+w+cl{@BU%m=WkzF4nlo<cPajE$c_#O+xbowvg!J&_oI= z7=bkumE%{S_o~-WRE}V=YyUb6Q8;W=H4aVXXeg<sH?zsj`~|q>Z~s%#-`(R0YP(*% zY<f6esU=CdaBMv4l#)6{H%zAR7eut<07`}UNxIGybYg+}Jf5f8=<OUR%{`uY#hH+z z8Vbv;{QW+UxVctD@oZ4wdFeVX9lwqF9ZL=9aY^>}c_P@Z7s;C*dslABGIzK?h0d>z zY_NonBZu=%_+==$Kbc2ij$f;T?&kQ!6w-H%Smp|mKdXb;mbtQjz!EZ3rE-OZsVbE# zN=s3=ZIQZ!E4sl`Are<4rch!kA2|r|i<gl@rILeX;7~cqL5~7-aL5uGpB~<q#f+2V zsbT4ss^-YSqmDohLp0E#h}0Iad~!fr#uUBq$DxmrHyR&rG%9ac1_X_hH}sIghes@N z_vzt;S$d#O<&D<T)LblLmT2(gu);BK)Q--}8+{3H<ic>oLTjCmH##40bSiIn;wiK8 zh8}JB=$IvVK0VSf3o;!lZ}gU~a}P$HCA={@3NLRu%Xq`mEjoNe>F^PyLnR8!K+)kO z3O#(<@yRJec?OjzED>4_Dp5MEj-E3xEXW#kqL?U#DJM~kWkfOaLletv*Wlxg!N(he z${Ut}!r<f$ITkhcn4EscP@YNU4a-PEj$@6bTZWM{Fg)r=ywUXzFK^5xyip2&EcVaj z<BiG38<WZ#mVv_L<P9ZiHY)D)yYE@tM<SIuEPXH)FH;BF2a|hIo$4!d2TrVYm6toI zJ|cNKoN>jO_>$&lButvW%ovstV*wy5W#~TM@4i1{DUtp`wRxCBHhF@hPiiswm&p#@ zm?f&ty=0Qee%+WQMMob~w~#nFL-<zPQqD+J&ajLY3j|p?L-!1Sf5sHseu-<C3GpS) zVYwwsymMfQ?j2S|Lt`1`q-E}5RWrE9C5h-BW&nkiG;{|r(?~(~052(z?(RK1f5TED z-QO!Q4JLGtucWjTE)@ixNV3K>e$d^#d{4nj3r@GLMEC15jRw4qUCO5sP<cQ7$n-4% zx@)(|)X(V7-R4?5P0|wguCAI~-+3Sz6SH7Um_F9Q>F$*{{k;<1;mb50tnm0QRImiY zE`7QAC;;F$aAA2M6pjM_H{fL>XAAGVVIi^n&E`cx`3h7b&UWS!w-2t`yHj*tN4Uao h>jC@Px=D^Q#JPX)gWDV5zwQ0u{{d5_Ag>{D0RR<NQ?392 literal 0 HcmV?d00001 diff --git a/vendor/phpoffice/phpexcel/Examples/OOCalcReader.php b/vendor/phpoffice/phpexcel/Examples/OOCalcReader.php new file mode 100644 index 00000000..b96dcbbc --- /dev/null +++ b/vendor/phpoffice/phpexcel/Examples/OOCalcReader.php @@ -0,0 +1,61 @@ +<?php +/** + * PHPExcel + * + * Copyright (C) 2006 - 2014 PHPExcel + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * @category PHPExcel + * @package PHPExcel + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @version ##VERSION##, ##DATE## + */ + +/** Error reporting */ +error_reporting(E_ALL); + +date_default_timezone_set('Europe/London'); + +/** PHPExcel_IOFactory */ +require_once dirname(__FILE__) . '/../Classes/PHPExcel/IOFactory.php'; + +echo date('H:i:s') , " Load from OOCalc file" , PHP_EOL; +$callStartTime = microtime(true); + +$objReader = PHPExcel_IOFactory::createReader('OOCalc'); +$objPHPExcel = $objReader->load("OOCalcTest.ods"); + + +$callEndTime = microtime(true); +$callTime = $callEndTime - $callStartTime; +echo 'Call time to read Workbook was ' , sprintf('%.4f',$callTime) , " seconds" , PHP_EOL; +// Echo memory usage +echo date('H:i:s') , ' Current memory usage: ' , (memory_get_usage(true) / 1024 / 1024) , " MB" , PHP_EOL; + + +echo date('H:i:s') , " Write to Excel2007 format" , PHP_EOL; +$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007'); +$objWriter->save(str_replace('.php', '.xlsx', __FILE__)); +echo date('H:i:s') , " File written to " , str_replace('.php', '.xlsx', __FILE__) , PHP_EOL; + + +// Echo memory peak usage +echo date('H:i:s') , " Peak memory usage: " , (memory_get_peak_usage(true) / 1024 / 1024) , " MB" , PHP_EOL; + +// Echo done +echo date('H:i:s') , " Done writing file" , PHP_EOL; + diff --git a/vendor/phpoffice/phpexcel/Examples/OOCalcReaderPCLZip.php b/vendor/phpoffice/phpexcel/Examples/OOCalcReaderPCLZip.php new file mode 100644 index 00000000..45a5cdac --- /dev/null +++ b/vendor/phpoffice/phpexcel/Examples/OOCalcReaderPCLZip.php @@ -0,0 +1,64 @@ +<?php +/** + * PHPExcel + * + * Copyright (C) 2006 - 2014 PHPExcel + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * @category PHPExcel + * @package PHPExcel + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @version ##VERSION##, ##DATE## + */ + +/** Error reporting */ +error_reporting(E_ALL); + +date_default_timezone_set('Europe/London'); + +/** PHPExcel_IOFactory */ +require_once dirname(__FILE__) . '/../Classes/PHPExcel/IOFactory.php'; + +// Use PCLZip rather than ZipArchive to read the Excel2007 OfficeOpenXML file +PHPExcel_Settings::setZipClass(PHPExcel_Settings::PCLZIP); + +echo date('H:i:s') , " Load from OOCalc file" , PHP_EOL; +$callStartTime = microtime(true); + +$objReader = PHPExcel_IOFactory::createReader('OOCalc'); +$objPHPExcel = $objReader->load("OOCalcTest.ods"); + + +$callEndTime = microtime(true); +$callTime = $callEndTime - $callStartTime; +echo 'Call time to read Workbook was ' , sprintf('%.4f',$callTime) , " seconds" , PHP_EOL; +// Echo memory usage +echo date('H:i:s') , ' Current memory usage: ' , (memory_get_usage(true) / 1024 / 1024) , " MB" , PHP_EOL; + + +echo date('H:i:s') , " Write to Excel2007 format" , PHP_EOL; +$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007'); +$objWriter->save(str_replace('.php', '.xlsx', __FILE__)); +echo date('H:i:s') , " File written to " , str_replace('.php', '.xlsx', __FILE__) , PHP_EOL; + + +// Echo memory peak usage +echo date('H:i:s') , " Peak memory usage: " , (memory_get_peak_usage(true) / 1024 / 1024) , " MB" , PHP_EOL; + +// Echo done +echo date('H:i:s') , " Done writing file" , PHP_EOL; + diff --git a/vendor/phpoffice/phpexcel/Examples/OOCalcTest.ods b/vendor/phpoffice/phpexcel/Examples/OOCalcTest.ods new file mode 100644 index 0000000000000000000000000000000000000000..b29db7663dbdbba6f8bb42145b7a0cd9590c7f05 GIT binary patch literal 17931 zcma*P19WBEwly5vHY=*AV%xTD+pgHI*tTukwq3EE{HgoiedoUWpZnT3()Mn1wY7Vn zV`|OW))?us62KrR0Dnx?f}AVRk}ZtptNiB!@%6DXvodmYvo+GQwY4-e&~r4iv8Hvl zHl(r9b1-wDv9UF>HncHtvNE!Eq;asdH_|h7Ff}rAl>J|vUo`(?SYIUp8*5`T6DRwB zusP7vIymY%Iyva;+0*_P4&tlkKfe4A=&L~XH#j{510zeLFB%(rS_3D0`#(;&T3G@E z$V!0!@f`r@&)1jzXLm5Z?*6+w#+EjEjz<4<<`4ego%y>)*xJ}S*?#qd(|<SO?{GMO zQ=6^5jfuUH!@o5D?~s4z=by^{>a_n?l%tJ}<^PSs{~IsOtn^Hb9BBE?9If<h9sZAT zg8l*<*jPLM_gI{3twrszx_3?~kmKq8NE2*?<Cal@Ep026nOoR6uGBue(5;pgtFJIq zyAij?J){w(u}?xD7N7zG5v7Ss^YYDPffB=&)W{99pP@fL>`pch&40Q*dh~g7^S<fZ zSXZ#-#c1*MnVnrzmjLX<Wv%4lGV^M6uY}X!N&nc0*QK|!`r!=Z!3OSKzUqtL*99ec zF0%LSF24ch-A-4?n(?86Eo88U3l6P&N<MOA*&tozhBWMw>u{fyK7}33h0a1B#f7@U zX(E#$O0v+I|1^<_E(|(BoHPrhJoJ)CCIdwF^fnN+4O@QQt@86ZpDBEApn0yPqr++| z^_(Ex`EJH^z9*-p+ZoTM28Ih~tcIf-n7pnyujyVI%>_<BT!|Yc31viQvWjoG9E-9M zs-YEv4<xU9mq@qPD@3v`s49(uq1Cz&g=vj}(r^$nsvQn>PA@p@B*yGWnKN(xvf2R> z`1+G(tK1fKQtg)CZb{K7_`<IxS<I5&3jw61n4C}lOjT20t~FynCB#bu^PSnz00C*{ zeDt{SV5Mcy-z{ZUm$L)dpm-aMkDG-kKO`is`}kXr+x~El_X~WI4fiU;k0#~VjbP%k zO8kMuuG#T<og{B4DX4(T$T_e{!9YPU&;C{1^7mhgOUZAHdFT15xzZo{Kqnd*s?4&u zx*jtp@%?W%OX4>Xr62iDXswAwO(>>VY7s4`8%KZ{zxSu8raIs@;_lRjf$^VApXJ2N z-(Gz4RrwF%FMH8o$&>IUxNj>OAaXBRh)HcUMpuXAfSjN_72(M$j=95nJgG-}BdttJ zSkT_E45Ned+iHygd&T$)Ik#(CTukpXI-3&d#>t(nP<_b2fj&M{%bl~2QVQgE4-w)D zn$lk@s7RjWwF0I^`<6jt=^+P~2&=ivmH<+b-Uvq7U-hxx7o8AhQqC(E8;(@H`P09z zL=+m%tpQuf$}rcltweZtWm;~4-826<9a*%HZk(wm-F%T6G3M=nJsn{-m1eHcQLyRz zLagSc8nc^ATWRG*nG#02^=&%~&^!g9e23(xHR;Zn)Xz`Mr1MKr8EcF9iAAOFV(s=l z#a-VGv6z@OFtG`#o#U8=j5V;X2|+X1FHHj)FL+GdUg61;Bk(abKCSm&<HSQ34l6!w z7S0m#>hMm=jJR>Osq$0`)7UaWLGQudny-je5q%M*SS-xpM@^!3yWIC&!I9*sJz?mn zRvFY3Z`gY-EuYd!y`=5@gFtgnEfglq6O6uGzy|WGwaU%Wy>UMy42l!rD9|pfCxyG2 zGlpsv7k2MiLj1bwmQz}Ts}Oj>ZaB~22Vd!&Z}8}o%K|&UZs1iNoam}(gl~$<34pDX zV#G{WOy5M+#K1U?=#qQ$qd1)QAh0aLVFtJyDB+ZMUeud`-vB-~LimQop%TaJa6#~@ z-{|c;R!x5$ZL57aLIV2C0(pPT!X<j+@N;&#uCBfj#a^r9p-v)Z-@pGnG9rYg6a?;j z%9(wV%_S<5?06lJgym<!?ozOkZMJg5?o>==2V>rkzQgYxDS+5mIKFFT<EUhU^%Uh@ z%ESsLqvp8^*Q0~kgb?_lKs}Yg&&3y$XLo@;rUAs%sk0x;Uk!j3YsYVyj6(f-%NTIK zL(oJA5i6UBPx8B$&RW32cLgzW?a4PRGd`d1_$REHt}pU^x48&uE-G+L@o8u-rs9|h z6Wn}g8<O?!sUh08=drqPeA+`PyLGf$;C49UD*l+Ngr}W0>a{kc$gm$xg=|yzIi<$3 zz;h|7t4tKwc&V!RrhfSSHpGuAPs&T^bk{Vm{19t#4H4Nvd?5}RV<Zx;Y0PX(zDM)N z=m4wJegT~U+>l;U77#DiFoAVxKe?^;#rbvkeQ2jm^xny@G=q^yaD5458xV=9ktR_- z+f0Q@5SY$Fm`A^#i>}62J1cGm%!Bh-Vd(hj_+{Zg-HI9aOv|K^#~mjfqocnAy~x(9 zNtubx#=y<R$R1?Wr|XJI>W1i9)T_ChS<EgrRyQyavjSvAHX;SUeqaukFRMfQlv#M0 zVb3zdwa`{sw9&zGetxGGP#@e;AKWt@E=lxViWVJ<NwjMg(0$o6o~C>&$*G4m!w$B> zwhz<l^?AIKah|r))mdYCIH+&#|M1n*=?+EIlCG9uU?*Zga#0sdihq_;OJ!up;bdZa zrb)w4K9eEk*VPe}kqU6T$5AntuQEL<sk}dL@nb6NW^Z3~PnCUOw!6go!MFe%-z<m= zJh3=zs@JIJLcM9|_rQJLEvbSz)RX&7qqbp%aiiswb)Sw=7IP6L(Y;Zxi!y^a{pGm7 zpvr~x$ZqbltyW$>lpn(=FH+Y$%?-CIZ8r*Q*zdp$IOAIo$XjnqjNfX)b#nu7o5j1h zg%Z~42Mo0s!FkwBrQmWJ?HXkmt(rK^Y$aUJ*Yy+ad8zcR;!2`K8&ZGeeq1mYjJ0AD zU7iSr0NZFFo*ROF%!cc_eF%(apppGkb#Y!D78}T?QUhkR#vXx{!0O<2B_Y#(EePZ% zu^E;*{v??SspuJW;QP7E(VE}0kg6;J!i&(cxQoZyUMJ2$Ev42PjbL)G%_dF1ma!V# z8LO)2fOQ*1uV*vwKD7$6kI*u@-lRIgS@?D{1~40Bwae51ir(z=FswnBbo4Ycp{2)l z!vv;<)x_D1GQH^0$*FT@=cL!|E|JP^Jx-CmL94BFXUW*k$UDdL5UZZXNlgd?${o{` zKIEEg$d6DBsDjAz1b#+hrw9Rl9mnJFAN~^lAEw`OXmh$4zOKY1{JC3_biO8T7VTXd zk>q=#fX-ad>`v_T7Ve!;@^b-S7H7NYpW6&ymuu9)AEt(>@10+h|061!w)c&?Bh6wB z=>_S9!><#fuHj(XCEdbfTl84s_!8oUND^Sq(`yZFe90sgZxj7+43Xw;zN%W;E~2hW zzw(vmOjytB;@WhZw%4#K;FGYsYm0~fDg4I{<&F=;71<F%G}s4`<cs)IIQ-|m+pvMJ zk4!+Q4&<l6&rbsyc|^3Yn;(B}`t-l|?HTwWlKv!l8wlpPd5eyD7fJ?6yh6wSaCVuV zi_G)yYDVq>y09<d!FHZk&@*kEZH%7$CYVA%qX}66e~=)1BVOFcM1^>mECCzdDWZy% z$Vhb!D-p1AD&H5EgdyI?ZrF#Ur`<kY%}nE;7(@blS`8x+fcZF!W&v_O3YmD-mKK!Y z3tO_c=(M|%3Jw`x@g93fK5?x(UPG$_fb$Gkm4<+BF2{L5gltfi^mK>cL`49sz2nTH zwG=g_yI(%jY4c=O-{QI+2iR(63T%co%Lup1h}V?<(;Q1nKs~5FqOT#sOx3oi`t@X$ zt#Zypo=n<wBkD-`3G?AJcNxk+vGqrD2H;rehoz}c5I%Lk82eGNigmWND;?*x#Vu4n zB55VK6bO7VqRrx@b{$iBP~gGWF;40wMO{P04WTNOt~D|yUqjO~%Q<2WAl-$rE`9qU zpUD9i{K<lLL6<(1w|q09U>N9f3D^ocEf9+6i8h<v8lnPs4e~GmD?!!tNsaP)Fj7-c zV_LgH61m0G!Z%cVtZz2;JRx{e-m=mU7$e{#M|}o}A!AZ|`4P1H(5q0{h&F7WqgZ=b z?jfi~|F$)V$Y+zWXKgwXk@V0PST;z3mkegtsybqZh2`a^W^};=fdWkqCmA(}sHCz4 z4_uBqw^#m+_+rlZm8L1e?;0t$Q9+gB3EOw0>WJfkqJeQI0J~jvZ}FT_vaJR^sDqn5 zb;0~(D*fEddSwMzBfYN81AmB;%GwyekN84vcoJxd;~XL&v`x4}Xn0=z=33*P_3uy_ zBIKwX@YIN$@OdH90doOGf;|l&hv6v+0F^O(5S-|e5QgK~;lQ4hlRJ}^vnm5LT;m-| zGeis#1daqpt;`t28d(BcJ<^Iu8QfyPmB2^bJ|Sp?=559R{Y5g>WZ)|+bxGR0PP{k5 z5BL;nvLMvJPl$$rX$fv*zGX0EG>+k%r&z8t!s#TE_<j^`p2dC~$u1~8mN%*?5HyzX zH2`Mx%hH2m5Gm~L{YHgjsa_zTJny{1<i(>24#yLXH?&phtIM+*E&8MgsG<iu=~Sw^ zw8Xuzg1+H_E>-LV{F#RO(`-->Y_ek=>8~U$tG=0#d*8HOb|tC?09)1e{DmL*eAv2z ztc8)7<dI#_SjnjUT@sCNjWDhzYukd|kFAp^?${*kVSqat2yxz2Q%nK$X+U2}mw?|V zFdoPYDT%8+dCq<EwQ;Xu&-nJ5#Nx$4^i&Rv*`+s#^SE##uV7F-lh}mZ*Ki){l41fU z9!&F1rXKT$65PVW0i1yJ6q%wmkTOZRymprju<bQ)0*aER*S^j~+S$CzMW99Oza$r6 z7v?J&ts;C_iQqi_pqRDEpQePLrK@;Rh{0s3NbKn<2(~;iOG8l0F%~Q1Op)bLKVW*s zTa@dl;;Ov*uTe8ZYt)h=8rG;QHbT)=uiYVTcpV5+Cz_i^n;)MdJV5L62N+9Zv!LuB zTw^1+6{OLn&^nW9VEHL5S!LAu5SI7ivsPv9vp%nj9vI$D9<a`;pk~nX5YS(ywtAUA zUb9xGC_u#;vOr0q&DFE(pn(81e;??5Tq18uPM)WaWWwGg`_D%N!q5zu1jf}M`3np( zshUP(7#GJCwUq`;L}Z5Rb;-a=@(aTvVO2uWp?on5OY{HoQ;eIQI}&_%C`k$yEk2%= z?-~dyyd|&>;*10vo--tyvKbd{8Phb{vK;hR8uS;|VquQ{jS0RLNs))Hk1(l#Tvw>( z&vcy{J$}B_Pd*r!a!Xo3p3we$2I>m{$K-#ZVbI+TzHM90#jNWvQYNfaBj#i+RJWJ& zYL7)#@T$R*NwMYinq-9F^T{!AACBu?$*oaB=%PaJglz@<aNvSzY3#Q7>*!4$=Eie% zz>2p?8k^U#)sbd{3(ks{#RiyMsKgR@QU?iQTbAK?mk$i49h%w)iZvM@yV1?4DLye9 zIOB6t&Itf7(csE--{;No85heRn^@pugZsVt`*SAWbLK+a6v3bh3=J?9{7F@&Cn;gp z2p_kj7O{WM8)6~6H5&pLHqZ5_wMl>-r(ut>wRIjS6Q@vz6#_8Wv6;)E>;2B$fXjig z>pxDwoK#+u>bC9m4h3XSxNsTI_D#<4ahwse+;yQjr*vwA<op1haFTt(mg)9;(u^t$ z%Um9NFPiP7bjd*zD(m2L7*_GeiMd4^bQ8CAEci|Nsh%Tp?4W*~{l1o?s14|9&2aB3 zuG*$vLU({p;^xiT0Y@(rYjtDc_*isO&hB2ifs)Ju!2YZdlY<B8^afQ9!ci$L4<-k! z96pwC58SGYmM)<rjK?LA74R#tAy#k)@AR6koU#+fRqM5TR)Sqk{7W|m2LO>H+bnUp z7H3cTX~|xfFIjA+F^J=y^lQ|7(9vYZ_B5CA*$ruK0Pe%-R9^E-)A}-Af_MHRxEsgW zF{GzbCZ|$b9Uipl$jyNsLk^m80)(xW3Z62AoNkUrE2d#8)@^xFdpWQj>uZG(sff~v zmB+Z;r$qSEeS1Z-1SJdPBrE6~KKHLt50CnhP76S%d@#4RcPY!S^<V}pw;Kx!ZDXX0 zs(l-$HTV5A7rWE)a1an@<w~19p&QSmYkcr2O}8K74BDxy1%+PUQuPfiNz*i)s}gCd z2BzD#BJyL?qNlwT^D6Ga`mOV=J#-Z<Mb!srw_@`PPq0@K0$ixSXH{mF36OBL_!V2f z;N{bPULSmRzD*^4zTK!CH2Hj->v+F5(SF_^_;kJ9H~H8AQ85)xuXrBa?vMBH?E+Lr z0<QfWNee$x(T^Ojtr&Y*>k8_20dO}Le9K%E#FpiT>6zZ^n7s>lW@+p6lIr0DUm!BH zxcqq7>SCQpb|GFETWDVqF6VA{zpll6y-3k_9qSM|Yi3wE(8Yr)y|WmTK&IBc?P!eT zi3B*%h9=Q`;rXFhi@W|4f%W(Id}o$leNPcRtgJzYnwcbNmuzR6%qwj~q#kPHSYGQJ z)@U1GtwNl(Rs$`Bh0+@f%g||l;e8=8uz)Kmd1H&Bog%@A0o+Ly#FoTGZc*vXh&-lf z8^Ys$TefHcz&rx<7H6trh!YM6IzkOFjbDA*q3%3an`Atky(qI%qcggeZ7dVt!d0Hm z=lUy{H^Rz?w-1mPv&Ipm@ew&<!;NF0_D4m?awnCs5qPSD+B~jGgxX5-6%EW|>PqC4 zVh=yIG$%HA)o^ZM-{{qO^w{Yz+y>~FsfbrsrTNNKr_<CSScRj`9EINOJ5Yd5$-^m8 zSLWq)NM*>dcp3DHJ9KfhkXhUHo%?u$VoSreFX>FVB~qxsk~W3(wvPq1-|?&J^O-=- zM(EAO2E$lgf@zB?h#n4wnBlK>)^i6?o`;?WlhFn9V(bA<A&%KSOj#lfsg{Nd)YBb! zt#v-982o3lgK?K_lXX!(s7T|US%+U1+1UbgWY*>16ii37U4KdP9i?9efUdL&79ZjT zOcMtYzm6l6YBqI4^N;9AwD@aYyKzF#oYdE`YDaKntgWp*=r;lstFLi~a8%4a(r(2! zSY|M5tF@K<vQB9Y*>tNaQkvKB?-;dW__kH<#r#S%c?Zn<i*OyYiK@@b3`V=C>cPz? z=GC`OU?-e&bttxZtt8OcANa7M4L*8wK`m(rE1pmzGw-)(hsLcMwN|a<Hqh9P<G$4d z4qJpI!=WpagMf(GtrgXh1LNeZW1-4Lx<TQ+WC&k7!%>n^0GzS#sF@^%Tcu5n*o77K z+e!RBRtka>cpUFfYg+zwb2d2ku+RJiM?naDBDa~3_!MLo@c>$n8FyE)_21N;2SN<W zOBrvat<}&T!Bq_3)oM-3X~!AX1UfWWN!yp0U%_e^;SVg3C~qB~I3*Jocd(T!eE^-; z#j@60m_RMO?b>ePhJFg&QDKk!;)`S`W06$wdZxQPz&*HH%cujGua0P|Ik)#Oae;iK zb&FT(s-7q>msGNk$*S7E|LS84cbcpsP^Pi_v3b+uF^UI}F^<D+H{5k7P9reqi24~a z(BAs8dZUEW&zF6pR#<v4@FHR5;8w%E$aoMjwrXd5GnG<eo4VZcTo)ESR9<1xZa(?V z(dzeaw(8hQw(?)6r;4#T)t|DDR8zR!@sE6qI8k#|oS%$bj2HLJ;K9F50v=qU)cN+f z^i1DQ>N0Q>mb=9+olMtFu?-Ke%xD>{i=RX;Mr5=6Ed;4KK}u!zgkuL`YfRh2&C=}& z_JLa$S<E=C=-GUug~hZa_ne~k&KleH^(wE#II)f#@By_<Fe7ao9*VAi{jkpT!vl%r z;W%>8Mz}p84v=D!*fU=H#t<yykz=PYz~jd#bw3M**l>kV%pI8~gvBzDdyQ9kt?h-y zA{TFlKqigdS3a^2!i`08|07aCkS6e`n2RVXiC1QKhBYgS<4;WrcgkXWhYY>VZcy$B zjNaZoM}z3bMgCW;sRh?s%^Vujt|~%2x1&Gey&5e%y&JndCk1L>JU6Lt+*GKzFAcaa zmyR6r?dn@viX9cku;ip|^J5k9kvW7OZuAoQJb2U5BJl_EoVhdHS{Lcfi%cuyR@;sO zdTvqf2#Vi#*^*BElCMV}y(ie`H!U8A$9Lwmi#v*Pb($hp+hU9^5XY`!%DEdJ!{#@U z!&kwRSHbT~aLqKCgh|9%gw;GoA)^@MuyoCfhPAorAzIRTsk~95SKaU+Gz%LdRw+`; z@*nW*9L%e7(i8@A9*$_6*Ma&YR63Iq7jquG+hmO4vL5))y-?rXjpjEMbZD;uXyHeG zD|mE?o_p04dxeyEsb;Ol4pO#1cxa1PWj_!WI)|Md<OSwEgtYI0a)pVUb5^-g&#4Qa zqf98tdt^07H*O7k)f36Rh9^~F6*zaQlr82sAK%5K^c8i;zVZrnd1E#_5;k~*7`cin zXRU$@nd65DofAu*=e^8FF-qUB&OQ7>#xeWG)H^R7+tHr3VwKh}%kig8&yFuA>SM(j zxh>-6_y{V8aIRmYHUDw5a4KAqaT!_SRP42k7x!QF$O?7wVK%_e*BzkL!2D^@YqjXP zKuxjM(vPM-p0#2x-utyVv;<@VGe*z>;WO#@&UO5mH7q)TfUl8q;l}-h>M(kfp3@@f zfe(GP4dxW$g7EXXe;E>n%uIi@N!)g+Io5^t!!J2zp(1|Dc|oK?nENwIJ<(wxJV+7S z_W|4YFCfv5(j-syS_dGa-{npqdld3%AH@lzLkm)#<T(9~=H9EOHKealHk6Rwj#2d< z{;Q7ny|k}79<A0Im<dm;?32JfcL{l|qL!FYKk939fQAJw&s2r%9(t}@mA75BkR$dY z1NI_UaiX21adX5{m9<0i?Gs{cIfdMz%$Infy`F?GSM>8^H{{!Ea$UoImo|}^Rf!4S zqC60YehjgAR_5vjQ-v-EiEVzZ+lOO2TB@qDClPagFYI-K#Fa5^g^uPWMRd!ml1xkH zh0{xBq0&X>CW-<n3Nirs5sDRSapYE<eB&l5s5H)SkyB6hPt?>gGp{nOqL=7ziEdCH z2=yO_H&%7^)-mm?KPu9!;>Yp0E&>-}Ju$~qNoTFjH5KL479;iS_O;M0Z%Z=IxED@s zc!XLPl^nb{Nv(uj+TRsr9<pWwXhh6x=JAk-FGlKI+b4^rbaGnKmzq|BO0jK3ss6Oa z^<Botu*ED0zp5;NESLGLvWzGlCNDZ}42VTKh_61%?}7hxprbgn=|dYwS%x|9x06fW z;i@)Iw{Ko!nJU*xlsNK>u1xTb+mdC;qP_5zu}EpDP8`bI@IZ64;obcdx=b$<Bl`*d zx>)l{Lg5S%NFwqCK!^%$74VVw{XWP867F+h;bU&*2hX1{-y!4vxz<-aZY3J<zr%cg z7d?dfib^>+x>*`I{0R_lsJ}<8F(Z9;$q*Lv&Hx>V-&n^t)IH?72+i@N5)2OkPa{zy z=ZN~|FP?TvZ|!HE1?7{Uj@8DUY0)GBhzU-@1b018*bbj<yc_iRffJ#kdg79**kK@K zhDF?X;(EJ&a<sx;vTSXHZbTItCWO|1hgcFlAtwF~U{tAWZI7!QR|TT1SiwpYqJH8? zBHr6ETT0zgE75{zVOiOVYHeY0Q+)ItdnJlyb5dsos;Pk?6y6~rl1g_~c`LMKG&(FN zgSUiSyxeRmTtxVJ$f<d$Ra0nY$F`YWQwK6dWW>HD;>>c-c6B%*!BF|T1aWVOnxxQ( z5|Z1BpDE`O5Am9FsLDX%@XEAqB)A+ki5vmY8dH0^NpZ#8&XNFknil*sX7U_YVx60D zV4Gsg<e|a=yTvJ*>g81bBeOeb{6n;gPo^tLc#8$*3Y=m|{=u0Q`$=ObLayBcd9z{D z1<mdgsr?r9NnidGpS+Zz1ZM_{44njazYrZ5)-Va8D8Y>``DKB_X2PUzui)(b?-0x2 zY+D5DFhfHZ4fGo6o%N^hEy%KjF03Tv#1sl?977kzthQTVD^5>k`N<@D0OPkvphiQ+ zM5)T3WX6t^Cn23#ExOydhvtH7a5}OLcwqRffwz7jRhyB?&wxq%9mmkEGe3?oSfI$s z*1J357Uaz29R<Zp6+{ETVHOG4Xx$$1E`@wWJk3cv9q*4d+fVIWMBQl_YWq;jqNQzG zoJa7e$w?vtwci*6#32onQhR+*r3&i1fAr|efu6N-`^xEuI)skB%fd?b{>~M|RKjv_ zFeFn6*O}eTw}Kna$=%RRqv5F0Pd-AO)C;lYhzSd`fJ}S7qB%PyBqvFZrXPfIH_*PQ z8WQ1AO1o#!w54aX5oacjeqUxbPJ2e|n@DG}>Saf&V&khXo~sYlecuS0a|EPp7)oI! zAP6PG>gl~+VCvVkyg4Q_30&%jQ&BHQN?V?dfFKJ~Yq8;_pv?R|iWhebFxTyDj$q20 zm!4hm4I>q*fDpGni*5nK9Yc}#YEcie+nI>ZO?Vtr??u3(|4Hw47}q$gKE=wcSXwpu z+&ncdfd~TYyMKZfC#odxP>zuh6}Cv}v<DQK+Epr!UsE?CcOHZoF^d{#Y5~goSpHn@ zd{!c^@RWmxox*RjVF-&_z5C)BvSIM0y@d*GGJMS(S1Y*wC|Ow_)L+0Vj3a!sd29=X zek*~(mdwnv;^NIII75lzyJ;*nTSNZ3yw-Dz8uSqutY{iN?JOIjZff`yNuLlbpD%6K z<tBUMV6O*mh|)G2Q-|`31yUHNZqTt8he!HInG%F!B5AZ+m(Fx=^cD-uk!N5`lxtHq znEb)KzGFd$oOu_@*FV*Syx&fOHM>+<?s|+y%z5R4wUhb)(J|@q!c6oej*l}cE;}Tz z+VOvyasq(vKYrXUM1!zE2vor|U`aSw$7=F&aST+Nuwk9q3?^pz{7#&*t*kR*P|$M@ zyMO`yoRHdbW`2jH^GbcXF9+FEe#nh87v@zqc`In2-B0(0T%N>76>EPhSHCx6+M5k! z*s(#<;kM~4bQn=P>ZFM2gCoo;PF`D{s2jKomnbCt+TDXVUMHC3rKXtMfrXC}wvd=A zPTM@G(p=Q%wOsr_Dt#O=rI?Iu)68^ezMEbYSe$1>AVnCP2*NQkTq+;(+Y9Fwu9x`m zG|YkX-*#vRPZJte;N1b$!le(G<jjFCwu`}~{w!&J<EwUK@Ja2K)O_C{iJnO(26b9r zzjdxZ*&)&Ft_DQDiLvmxPVM9b+9%69{Q)XOG}Q%hN5eVw8+r=Ep_3|^DR;z#?{^;^ zxID#rJe?o&Vslr-5yx|_H<{qdK)!eC)6p5kj{n{!k7FJ<Lsn{GafZ3JMm$PP)hA!7 zCN;?cb!M}LgOpd8Lr+e>4d!gEN0;RxqvYeEaI)Dc`Rq`fB=Y<Zqwu-tLXV@B6PoB2 zds{WgTUB4d6LCiLhwI)FsFc`DmiO$zKFFcR#<*2rD*RY9QxTcTgLc)9{Q>+g_Q1In zb>K^CtH4G5-LC-u@Zf_AIGYCIJs!gFBX_JYew(_D?YUrt2vRIGq{+P_q>II!Lc=1? zKHt2@YB>+=E!0mYA@AOJF0zoFykbW(t5G6I5yK$IOKvv0(7OkaE4;XNpY=rp4#0pU zt~;sV+A0<d9j;Fjx+-g9oH3k2jFptoi|q1&wmh2o!7v~0$jLUv*BjLJ`COdqno}9Z zklurB>W?hHrAmTpB~OnuG~aUzKT;{a-2RkT9y<gv>yFiIW3Q~iLl=J;382-(beLrN z<x>{kf={J>8e|T3jjG?FKxKmg>>G$@*)@y{!%Yr)s)y;1X&kS_5JvA!tH`?nERT<m zE^<EAcoZHOcl<WJ%Q(|e*2Y78M@QLa%032-@;(?<8v{o1PxtBu!07EIaEI|Ug1{KG zgs+Le_@#l`FaS=mBi3;)2D4=P*`H=c%u3ZX`n^6GyL0N~O@@tSZJciL>>sQFSrUaI zRth0$7VVJoTtmmx<UO$m#)c#2wJ~}orhHv6+GVVj!%fQ4jw0s_&Q4w)7sycst@vJL z+tp~+{H)J-1UtUAt-R|jyVW=BKRZ4)AMRc&H~;`K$v+c&{%*(rNA8l5qu!tWKI4~; z&FT-7fvhGOJvA>_X`u5E(2{xcxx$iM^^_M@%-1+~R_5A_8Sht8XC%PVhfBK0kI9xJ zZGN<+sRsV8Zg#UfB$Id);^}pWk}{Hy&W~T?*G|vgdW{+*zEFK>SoJdIS1=9o=cbm_ zb_PsL<6<IAWj%6JB`f}T-|mtN^<>LADN9@=-uB-!k?dJ<NP|!Mm%|K&<YK0AWqU-d zw^UKddmzb=Nm=8h=;^Dqdb?m3YKCGX==QSVqI3G1Ii*a#aU0CjI@ovGH!GQ_)A%`o zVo}`=CYCK)Iqfs2Xmg5lP0X0>4Q-}ob#t|(7Tq5VND(K9hH*}z?T_0Mvfj^9lB<+y z6tcQAIycc72QO+l@eO*5K-sR3cG%1%!WV+|OW{ffFAp-}J(KZ1W?k}dJIEHZyn#vn z^a}P{sNpj?PL)ck)AYYR=Ijx$1ls`^^cSV>F#NuQ){EvcelZQZ=6jCL37$*E*^r0a z!}-fCwLnb$n_1^11AE$>*-V*COZ8KzZs(*iV^?k+yj=+|=mDHI++f(vIdOLN;nHxk z_cB2!7{TgxtN0VN%J%3O9y?`LZEg*rwOdzbdm1XdNoozQQY3I1#IiUnP@wpuIjvpW zaOVp7NoM!1o$uzU>K%C2s1=0`tvu$dpN~h#TINd^CevK`@7zr~W3J<eM-}nf!>dbY zox8<sOj0gp?}Bt2_@nlH#0Seff}O${?@$Mv@N;YP@&gsGg@7ifVv~%oK(bDJQ)kEl z<)2CStsy3g=PR8|2K4`$bbqq66iuD1^sV*GEFEYa|5>E5wKl0xF;R_Qs}*J;&^=ZX zO#Ovm4ggq!1knM?f2k!NgT*d-sg%D20EM{x^Nv(11_>2~0x=H=EOxUX)AfPdCF^J% z|LEeV<#ehkQ>|{X{4yiO#h3*1xI{s|S{?xrQO?}F7z?SBK~PX7WLOlEAyY5ZL{L!D zF12*@Dtk8)>0K~L?yPty$pT@Q<M|Q!ym)wTg+O$5BX1C#RFiYUi_1AZCq-HL2VH6j zhPtu(CIK+-v}Vf$LBNhKx}fubyR;B^w*j28u=IeS+#zLxj@-3YT_ntaPgPaL7F9C5 z3tw=$&~k-0t=1ZqX4}(G4|Vt4tO;Zpf2_y=mM3d<HgdeAGD-+LI`))qRFnt#%<E>Y z_I+K{Dkjyj>I=%rA(R3qBD!Zexq`V!M@Z5%YY*gHvD*sd=T$de<W_x$<>h|&t@JzK zPO|g5XM@xz=AOy4Ar1+#!zqz;*SV2G)Z{#Y#@Aa+(2hQQ62=Cdyi`LKDCpH+JOY(R z{sPge?{G^?sIJRiJoLM8-qVaFfyMgTNyA*Jsi{C=MSDcjffF7AKrf>K-;}nqZoftL zvT$6_nG~S~#?JS@7`0ijdahtYiKOS|rLuE-ose*7)KtqDduQd0ktgh((x2F%A7w;| zGE4;oFy2}lg1Af>;V;)_Fp&~+|B8P%MXn1W!E7ICZDhVFs59E3YK|$rnT|eFT9rBx zGt*4YliGjoF`3C|J{_Mk2{tZ!Od?6aKz${?@qIuaN-)`jRAl*v(m@KY4|fGU)IS(| zV<553nb5tMy>B2LA<6mJEa|Ug!pwi-`MGiPkVMFG+%%M~LkMJt?Hp+E!p?r6gi>!- zyEol@@|u}xr8JSz<87ri*n+36S|S?@>W>n^WN8&dW57C^YF|UPJoWhM$aFNx<qIt2 zLIK!2Ajx3FZZFT9Tx?9S3finFwbnC}7CCCPh@ENyZH^OrlLIT{;Aj<*ew?^8P$7i{ zb7_F7zK8^~flpOEq2@jfiyb#l$1@nlTgz+{Ra?6t*H&n{8J+@V84_6s&10^y+b?A% z+(2FVxNEgV2QHn4QQpr;6C8(WN^Nd{&dK@1u7H}vtI|fC%`3Ign$sysdqSzI<6*`Y ze*9ce%h9VR8weK+Fu~=V>?SC$WtzM%Lb7)C39D8e3rx7u4%n6IN)F0>{`%(R?cs#* zp@;ZHhOfy+*^K}jl9wdnyi!uNaLBV=`dO>x-OL#_R?umj$y~Wkw<ZqXKsJsNl{IQ0 z{lsJ!3W~(63$VE4T1-AHtRT}N5_q5%5G60?1V_B!hHvfN(#5N6yN1tz!~Tre3c~U? z_ZnxWz+l^_fy|HhaMY}4IDC;U{{~D#!iEu+0T*1U-_*v|ul=S!RkWf*`dqZ>k#moJ z)lXQ-l_&I5KhW>ndU@BTtnrllSkrt~ewvfA5rJZ$FU0pW^uKRD(fe)39chPa>EY}{ zx;Y@awEWD;bWZN&xD5?{V67Yah8_nXy8V*=-da1lF&62(ej2MWc5d&R_Uz>q=J8Z3 znnask+J`MOMl|T8%Q*W};NW$5m-6f*dua?_ZBc4DT~(FHrWv&TT+HKsI!_`gI*X@} zcYCbDgRGBD9<Vrmt^z&z#QePD3g=<3<z|_@*d+&itBj+PhQ<QXZ9t&6B8B4MBSViT zjl<s=r@6)9p^^LEojlVDek4n&)I_p#PK6)g;^K{BKe&2^L7v;|8CS{Kj8eqKC8l;< zir&$qtzOp)U2I_&d4nj#-N?Pes4cv>D@f3Z5Jf!6J~%(fn^fS02p_r)sEXxB`7(&% zCKWhfWLD44q1Xg|zXE(jm0^YRv0C;+S#e92R?MrgYQI@h5dLHqXvVZ1uGq40W|J}X z^Y3-aRy-Yfw8k_P>ppNznu;Cd9pUUs6oe+<3H_?27>E>>+b4+&V}<&}uKOG<g-C-$ z^ui4;9v&|H_tFyFJxsP($}{>kT`Bd*68lUaRxOPpgrrPEIg0zU+&TufA?Ot;X5u#Q zG&YYB^q;pmFb+OL4Q)j#RPlk^NbdWjS#TVlX13o))m$+dMusiQg;**DDswOi1~%T6 z(H2t*o6^G+ds@(hUu*Q8!Td%NE7M*c8|JHyI&Q?}8r3&=@V<v+E<y^FLGq<0urzBx z9V7KX#H8cx@qgq=TE`H)oO67q2UKJTOB(`#@Y_#rnqPjmwDe$-7!M>UxH;ii%P3Yb zImcC<03zQvBx~`HjioXa-5@8s%V=DP5#r6h9oAr)D*i5q%Pz4PNS%S@j7bkA!LpWP zbJrq|TA4&sY`IW4ldCuV^Ot>M-jfNpeKfsF6k(w#8j9CUIN<!_`S(;o-L!B1>!%`b zFZmP#Hd|P~e))$w5asHW0-w^H!D8%TOT)8}3f~G^x{qsakx@`9WWdt<th?K(sdwx9 zXfdIt{|59Kzlj1%*<zh?h>34+RCy8(br#Mb<{Z+51pv6>g_j)vUXu<fJHZJhc1sFg zT%x89bQF@$W6YN*&k5lj_!#>F*Z`fYN2xXi0paJ*!)(`!x>?G^bN`#%MJB>1>@NKx zT=@Z}XV^1Lrtn_(+@9}O47=cx;)4B#emR1!E{c9W-Q`8Au^X*OgH<drK{Md@tUeV3 zGA%)mdjcLL?b*TMP&-B{_IN7~A<xG3!$TNeCW8g@c6MWcI!Q)nGP|RLg^y^2pF!;P z+8Njq2f0i?0oB%|t00mG+u@4~f`7;v*bnP^hJptDBx~K?A@}hHS%v_CB-Ei$jt_CU zD55plteC7@NiedzrL|N0J@H1k_2aQWWK6Lf)TE>8H@RalP+36CHf$}<JX$?xAeipW zz}b~Y2Yg*9_F(!VO6y%`wok-$5+vk`$La1OQM!w8a&a)6n2KfP4zhEKtM&{k3yJob zj}N-#y>o0|&WW^AT>H$+>;@oa<@*RYAX2+YDnMA-(3<yAHCube!6s8m1@zh#umJ^; zxJotcwj$~K=y#Xpa@{aTjbcCNlU~cXj^{P}x~?*wuI#b98AwXt`ssqVANid<cFK6z zdbNkSLc^({Vsjt7nomp`v!^2t!Pu&AqpTB}VWv9X(zDI(MlpBRcT&*J0``)P<(Tkk zsi~_po5ME_k8$u5QhAhF>O5(HB#=k#a;<02Egx@@teroD9APzf1|LV*n0vGB^3VH9 zXh7DSg@jXPppxY1F?2IyaGmR0ir*G;W=|n&EVMh930af6yz^ccv`khpwv%#LV9_6N z@)8&LvwjTVkd3B77nd3u0q0`3K5jwo!%t<iOpNT&Prm9ChO-+eN?b?#IPOLJUy=B- zCvOQ51HgeFPKW+PS;QT;eQc#t#S@K}_lCdfFBW^ChisWBM?k~F%bf4s!f**IvYQ9v zDclL=rK4w#`p%CPGdik98j5zM%4%g#A9-8FSy4>rKakg~Wb?KK!bP-qdh0a}*QH3e z?h?T$eRE?eqf`1*m>;Jc7X#(jXOv9Y)?C5&s&6WNwWX3Dt8c*fG4b+&WE#l6J@coo zdh4Si^QxfrdKO+MvOT|D%A`c^c5n;pKw3OVD0WkwI5;@^3e?4ScUJ;#nAZ_0@IIU~ ziE}*F*zAB<*&gXxfA`L_byZjYu$6xVy&0JUKMo%e%jnZkT-+nQ#6~y3(=fPxQ9!>3 z9khoVUokr;JAV+k&Rn9@w(EBZ*9rB+=4)JV`Q7lm^8B{njYGc;452V`XSH7CmM2xT zP^|IoAR?ZU0+il(1s-oj!c%V*cOFkn>fF11A~XUjsB-wQ#QT6A^c?ENGp&7RE-Qi2 zx84{>zk=aID!MFmrlDR?MrV__SdsZAm+X{LOflm&$i#>l%XaXSdnUifeDjm_f|#cU zcKjpJ%thxrZL-7-sf^Z!bKBJH@V=BDvk*9xoAW?*0_(T#n1G^hGRtv{^xRMN$`b)Z z$^xGlNDmd=3DV?Av&>?45)4Aw4|>ttDv+t>SEM`_DavB7Q)j$t7PR*=>=DDuKWys8 zPj?z(!ZuZrk<0||TjtvG-_fiZvrdlH8#{F0&9Zw(PD*rMfg-aL2an)K2<9B3iRb-E zKgz6gr;&m_q)ZUEWaAg}0)BC;qim~xd-eh84?5>6OA{BtB|*eCPF28`5mwcO*zBo{ znsTW@R@2&Ar|WBojv^;VOj3b$xO++Trf48F|K$X3bB}kQpU(~j9KGAFoh$3}olQS_ zq(fSr%QZ(T6ka2=LB6cvR@3|Rl>D@FG>MYg)w;@-<FI`b=Az3&;kxJ?(C_uMOj(Fv zamq6zFSa+Yy7%TCO_Dx7Q1A2vU!5=~hY}C25cq-XLdNP@3dW;XCKeHg>lLn+v%RKf zYOGVBp5cxg66tcpZ!saAcCR2p21;_O<KSYkX2R69XHS15SFl2f1eH1gVf41nJGuF~ z${`-Uxe-GR8Wf^fwiQ`+hos)aMsCKZS6<iEX8n8KoX}kJ)sa|mnBaY1x_KVetz})% zIDxN*jMsv*hlc@6kFVf-RAT($5e%p|4_TcXdCN;)Zf>!#gL>{-8JIz)fjxv=%%?Z~ zQ5svHAc1o5dcgIvFn?}tIuLo3%M?S=D_jg?t|$uih~h_smzUd0i6_lk0a3y8&h;Gz zo+3Dkc&^CeY#xBDY3@@OmOLuPxeqGF5rM!f_0IwO-vLbDi|NKAJXF&F7tX|)?_PJx zR6-A@v}U~<f(|P#2CZ5Y45FVNFVtsNV6;)cAFQ9MZ#id@Ftt^Ti0pKW+C@w;F6yvk zf%teiJ8`NNw~#7N_MJH`k~B67$VDfoT*JJzuqSbnA9FN^fF5zi+bXPv53E}Re9xO1 z4{n|;blF*`Mq{&f;;T2o?j=KF_ZD+4WK1)lp_TTDMsnb6H>Q1LvN$dAPT3q85o4fH zSb=l7;zm1)ik1?boYm;*=)m2-F@;4#VuOrE33hY_Rhz-1*Z1hhMrC(Ce`H%sgr`(< zikN4TYSW5cq`wD33*(J%1aF>288w#)XM$+Yz3GlvgrY(E^(!H+yyyAK%xt(h#!5$q zn0@uhL@5Vxu1LG2r4j%>9~}(crzciYfvLLQqKscb-auE*+Acx8iqv~kHME7Ktfz2E ze-YZ%YwVCTr=tuBFgYE@>inVg(f@g7r~CI{lGoC~1&!%zUTqE=N6hGEvg7V*{NxSe zleVXvso-them&SIxK_8i4WnmOta!5s7u4PPnpZ*CXc>c7w)+5^mJ&@2jy4mq$@Pxj z52=TTyLjU)2i{627WxXxb!MMQku)zdm@<Q)SrcA671V@JvL+vRU#`lePj^K8gX7PG ziT(UJvos)dbYpk0gYag<uUC8{gIf1YjG3=Zi{Gjg@&#e;FUKcRT0FJ1vy0NuYSDz# zT!}>ya}Yv=P@pDAQ1hOa>SOzT{56djVKZmDEj0l&hm`18NXr_oLL67R4c^s0ztd*l z5jg31;}z;Qzk=H@9WjIUiIwQp4ZRFP7B`fY3Qja`=^8wdPrNet-En-c{z(bjltRH! z|3kU!x)y;9!a^)eCwMZZ|AH2`LRzVC?^_ISeMm=B)AB));=MVOSXcc|e0=L+NuQKD zIo%(|AC~qM6!5KkNx}pv@F8@BV0%eG7TkUwOtzmgF?e<pL(viGo$tQLSf&lMmbXW^ z6!ixF-b%e>oyBLEShi@9!HHg#A*-8d@`1ToBq^J4=hqw&AM+beZfR%H%^p7(ASlmh zB-I+!B%k-o3@qGn6ETON2@bVzuHK6YMvDhNUea&W1cSL+G%j3co7Jsl_{>T+UozCC zgWm6a?b^n|Z&}}D<VO;m6`y!yupD?bg*+zMATTnWMQMBx<5@*Kp`0^OTPrK<u=}IY z8Z8YFLte|*7dNf3=spyi*NG55TfbS7VxUWkD80K%uvb&f6*M*vQb00qk9vCuqj{*K ztGl1x&qzfqQ9|hXQk^XFaQR6GwP&yRzQJ=KY_CW;ulBmb24~=1;B>BUh4NQm*6J?? zzDF!1SMr&Za=79L7TLFj(_<V-70D||)_wY_qQ_dDTFl+9kp!5=^dz5=4Do|^eh#n? z%Dyi0bd#X-$?S)+4-!YPcYvIajO3^)A*m2vW;8!5_tKgU4Gpm@S=R&l)a+jCij!ls z#o|LJ&@};9n|#wSdXpT&W1^w{HYUcaT9mKb+S*FlJRF|&q<j84v-|)qRL7hHk(Rx( z`KBQ%Ba_1mH(MPvW7vzAtJ!mOofdCs-C`w%(!LV<$bzQMVZ#vAdZ6CuQL$`TY4Zp^ ze7$medySdx1~cOz!r%GknHQdeCB{$!q7k^zgqWSlz%T=kh*}*toki)^p;Nww8*9u~ z&TERQ*`4$$U@sRxG6b}G(%<;4LaazrZ%nf{{MYKhK;RVp@Y~a_BeaA4Ro<h7Lat6~ zk<eX5AEtuFc(xRaJch^o2o?EhpaNZvtP?Td*0qz;oa<&Tv<$YdmG^JzQuvkj&IN?? z1OOw?$o;27GV|TfnvIycirQLv!t*4)9N)^v@Zc0uV+05<RXh7a6__yW{YX56SC&$f zQ*B!ss3)R41r-yRv@=*Pq&zwI_&D4L6iV;#7@l{@-voClFmyH=P~m`;3w?^QX3k29 zI~&`yT~N!|7|x`A1FKl0eXb`H2asy_)6;BJlAG;wODmZL<IzTm{tjUXq>j$qD(@gQ zyZr~ykU@J8Yvlq)ssQKD&u%9Ad%*U-<yR*V{OxS1yJc54C|2n~%2~1WR-7+aHdIP; z@ap=nv`m(VdM89)0P=R@_i=c`Nk)o=33f44Pf6Nb{Z&t;<0xl7v0Gb~UZ0f!h8Re@ zwGjI;0@9UJJV)^D$llKFd-eAvF0>tzbea#Zi-~v9@b^642VD60Tl)`<$xLsn0*dzB z(Z&#DkDh*yRjZAH82iDpDJ>Jx8AvVy50|grxTHxj2@CS1p~56}`^o#Es?qoj$mZy5 zpchyaW+A_ha1bpIKzm>sC(F%bMO0XLYf{L3vn7O?i-o+y?Owk7U(^2#`;9H#CAhev zD<DK5{e+-bjoA9mX5RS@2+m&n4Og)Y#=lTKv&=D`IAFU-uL;9~CIIq2+UHupqAkcm z2$rSlX9_B+poAGMt_Lc=mCNp7bEVzhB_sByjvuCV;MkaG*$QI920CgK<NT-kMjaDt z@K!b!<QV}Gj8t)^IdDJC3;v%MuUY~k?hL2^0G(+6*Naz}Kk<DdM@KVjlYd0`&r|-q z@ki+1dZduuH2Ya;83~1Iw7Occ_MN}2!iJQsyL2zyGWeJG3maq!fm9>oH~2JH{{Dwc znxoryyU9s>u0?g<7?kJkV?3t_G+S`3QFP!v=a-uIO;-F)w!Y_dcHNd^5Ioz3#Oz<0 zL>lgFNy_w`KY)6uzr~4%Bg5wx;6QtApU_))G@?RFWOCAv;)4y!Q*6;s{D6t>-6KYU zuJdqrHy_M9Q3QWZrx^_sH?|4q?>FI_@e@o@RjrzHvmpJ9TofL`or6)}$gkqzT!Rqx zURCr(Uny*G!zp3@Q7>vCMCjR=8rx*;GJ%`mIH>#Wr{oOFEMLRJJ;A{!hV$fjQjCgk zm0o2k;b(TG`eBX-*~Z?*=95HrxKZWrjYqQgx!SizkvHZ88cx5o1W>&XngNS?pHL^v zNWyk|26J(edT5M3)9QK>{SrjRyrW;H;crqi8zjhAa>a|_xuTFPIN<!b&3s}B+@L%b zcZpgzRahfQ<j2VNLdoY0rJcFZD_pAP$cm2+2x06}GYqRmV5PU|)~8zlKKtaYe#zW~ zo^raG+DxvcHWM|J1JYqYW0~vj2Cm{Ayam%9psYtbS-|RYC^ex+3{PaaqE-5xYyq(X z7++uC_3}+wX>>=eJvCQR=A|`eOfKhkAPg;q1?@&&Ds$Z~5j#o_=iMubk8$<*5>pks zGD<Uf(GXDceexeEd(TONVt+zwweYM%gsA7h_yi6Av^8KQljL`zdnEX=sDlP6OSJ6& z39F=VEaPXa5r{R6=oA4X1UB)5U1UT1vw4Z*WU0CeR`noGw8DM+8Zsz}S92qjg{WT} zh#c1%D_dve(pUeNf5(IIa6arxxokK>8nRCqG7+jFOKVho!q2MxLSP%oUXc9F%U&co zk)|+2^6;q&<i~-vp78?8@6ZcXkeOAUN=sr_c_QD>nOqWq*u4Cpe2ewPs$0B9vIzJR zx^yM*K>P%;-%`^W1va0iZU&hS;F~%nP*7ZyhJt@Nii!pQy3;Aj?-IiTg&GQA1Dwmr z^?r-IP`dZ<ob$O^Q>|kZ$eJNodzuOf_*jD;4OLCzi}cK@uptR~nyh?i!lex*h+1@t z$fV^JwwCj_^&si`xlJqv*#+602NdUUq$oivrfi$!`TROL1Y?AZNID{i59+RP^=6!I z+n+4m7>n*TxRPuOt_lo^9?CJZg21MsQmvqOV$%7vYL4a=jQ0WdXI(?lF8gEx0|1QR z{a@?)YvBV(2`TbXi%AR9TIpGv85=qL<A3}c5+uy~ejxBZas|$8Dz7Qg*#S}Cft&!6 z-Yg>?2OFcrt*OB6&oTchRONsby^IvbGOJnDP&oe)_fUx}Gm%$3O|fOc;=F6{uH6-~ zaHFT!a{?H;HkUnmij&bNoqwzjpI_pn8>_Bd0e|dX6(=-wzVv)<sLrj3ew7Wo=%&x9 zh>rPyWzG$91`?oK4>ajEnsJ(zSJtA;h(g3KqalcfJ{%KK0({koEI-_q-b7)u3F|I- zoea$-p}#GN9b$Bqje<3v6D?nWQIv70kLH4k2r~$5K<Ii!80d*CPw07PAo$&7R^j)+ z_E`r7*b<uXx98Fo{_NZ+j+Lz}SaIv$nWQJeTF@VfeHr$HTw^6FHobLOpG)Ii4x#X1 zX3ph8K`VHf_slDiz*eF+X3HQfldxG$)x+tZ0}f{BH$zR$Zy<jLVH`}#m>&=TK<+D? zDk}j9gaYuNg&@90;$Q5avJn4{`j?*o{835x%M`zg|E{#~ufh-iRr|k&a{sB`@JIUL zFN^pp{yWcq5Q6x>ocj~1`^)yeivLdfmkh-J?wG$&0RPrR%&)Hecb0#Zh4{}re}p0a zGP%Fw`Cl>-|C#B3w=4W_nEsND_<v>T`5TtMWF-DG%O4?$zwGgESpI*q68}Z^&sp%V z$$fu>CH^wTugPKXm(0XJNBW<@f6Wp2ll%9Vjed3YUzvdaj{Daz?>`ho{s-9p?Mn;g zzw-(H9rdqgl>goTbYFA#KLv#Uo#kJjh=0yAe_1K#|32OPJMv$b@t-H=U*^aAAD*AG W5};szeg^;bck%TY2Iv2C_5T5<3-_=9 literal 0 HcmV?d00001 diff --git a/vendor/phpoffice/phpexcel/Examples/Quadratic.php b/vendor/phpoffice/phpexcel/Examples/Quadratic.php new file mode 100644 index 00000000..11a712e5 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Examples/Quadratic.php @@ -0,0 +1,68 @@ +<html> +<head> +<title>Quadratic Equation Solver</title> +</head> +<body> +<?php + +/** Error reporting **/ +error_reporting(E_ALL); + +/** Include path **/ +set_include_path(get_include_path() . PATH_SEPARATOR . dirname(__FILE__) . '/../Classes/'); + +?> +<h1>Quadratic Equation Solver</h1> +<form action="Quadratic.php" method="POST"> +Enter the coefficients for the Ax<sup>2</sup> + Bx + C = 0 +<table border="0" cellpadding="0" cellspacing="0"> + <tr><td><b>A&nbsp;</b></td> + <td><input name="A" type="text" size="8" value="<?php echo (isset($_POST['A'])) ? htmlentities($_POST['A']) : ''; ?>"></td> + </tr> + <tr><td><b>B&nbsp;</b></td> + <td><input name="B" type="text" size="8" value="<?php echo (isset($_POST['B'])) ? htmlentities($_POST['B']) : ''; ?>"></td> + </tr> + <tr><td><b>C&nbsp;</b></td> + <td><input name="C" type="text" size="8" value="<?php echo (isset($_POST['C'])) ? htmlentities($_POST['C']) : ''; ?>"></td> + </tr> +</table> +<input name="submit" type="submit" value="calculate"><br /> +If A=0, the equation is not quadratic. +</form> + +<?php +/** If the user has submitted the form, then we need to execute a calculation **/ +if (isset($_POST['submit'])) { + if ($_POST['A'] == 0) { + echo 'The equation is not quadratic'; + } else { + /** So we include PHPExcel to perform the calculations **/ + include 'PHPExcel/IOFactory.php'; + + /** Load the quadratic equation solver worksheet into memory **/ + $objPHPExcel = PHPExcel_IOFactory::load('./Quadratic.xlsx'); + + /** Set our A, B and C values **/ + $objPHPExcel->getActiveSheet()->setCellValue('A1', $_POST['A']); + $objPHPExcel->getActiveSheet()->setCellValue('B1', $_POST['B']); + $objPHPExcel->getActiveSheet()->setCellValue('C1', $_POST['C']); + + + /** Calculate and Display the results **/ + echo '<hr /><b>Roots:</b><br />'; + + $callStartTime = microtime(true); + echo $objPHPExcel->getActiveSheet()->getCell('B5')->getCalculatedValue().'<br />'; + echo $objPHPExcel->getActiveSheet()->getCell('B6')->getCalculatedValue().'<br />'; + $callEndTime = microtime(true); + $callTime = $callEndTime - $callStartTime; + + echo '<hr />Call time for Quadratic Equation Solution was '.sprintf('%.4f',$callTime).' seconds<br /><hr />'; + echo ' Peak memory usage: '.(memory_get_peak_usage(true) / 1024 / 1024).' MB<br />'; + } +} + +?> + +</body> +<html> diff --git a/vendor/phpoffice/phpexcel/Examples/Quadratic2.php b/vendor/phpoffice/phpexcel/Examples/Quadratic2.php new file mode 100644 index 00000000..5f6013ea --- /dev/null +++ b/vendor/phpoffice/phpexcel/Examples/Quadratic2.php @@ -0,0 +1,65 @@ +<html> +<head> +<title>Quadratic Equation Solver</title> +</head> +<body> +<?php + +/** Error reporting **/ +error_reporting(E_ALL); + +/** Include path **/ +set_include_path(get_include_path() . PATH_SEPARATOR . dirname(__FILE__) . '/../Classes/'); + +?> +<h1>Quadratic Equation Solver</h1> +<form action="Quadratic2.php" method="POST"> +Enter the coefficients for the Ax<sup>2</sup> + Bx + C = 0 +<table border="0" cellpadding="0" cellspacing="0"> + <tr><td><b>A&nbsp;</b></td> + <td><input name="A" type="text" size="8" value="<?php echo (isset($_POST['A'])) ? htmlentities($_POST['A']) : ''; ?>"></td> + </tr> + <tr><td><b>B&nbsp;</b></td> + <td><input name="B" type="text" size="8" value="<?php echo (isset($_POST['B'])) ? htmlentities($_POST['B']) : ''; ?>"></td> + </tr> + <tr><td><b>C&nbsp;</b></td> + <td><input name="C" type="text" size="8" value="<?php echo (isset($_POST['C'])) ? htmlentities($_POST['C']) : ''; ?>"></td> + </tr> +</table> +<input name="submit" type="submit" value="calculate"><br /> +If A=0, the equation is not quadratic. +</form> + +<?php +/** If the user has submitted the form, then we need to execute a calculation **/ +if (isset($_POST['submit'])) { + if ($_POST['A'] == 0) { + echo 'The equation is not quadratic'; + } else { + /** So we include PHPExcel to perform the calculations **/ + include 'PHPExcel/Calculation.php'; + + /** Calculate and Display the results **/ + echo '<hr /><b>Roots:</b><br />'; + + $callStartTime = microtime(true); + $discriminantFormula = '=POWER('.$_POST['B'].',2) - (4 * '.$_POST['A'].' * '.$_POST['C'].')'; + $discriminant = PHPExcel_Calculation::getInstance()->calculateFormula($discriminantFormula); + + $r1Formula = '=IMDIV(IMSUM(-'.$_POST['B'].',IMSQRT('.$discriminant.')),2 * '.$_POST['A'].')'; + $r2Formula = '=IF('.$discriminant.'=0,"Only one root",IMDIV(IMSUB(-'.$_POST['B'].',IMSQRT('.$discriminant.')),2 * '.$_POST['A'].'))'; + + echo PHPExcel_Calculation::getInstance()->calculateFormula($r1Formula).'<br />'; + echo PHPExcel_Calculation::getInstance()->calculateFormula($r2Formula).'<br />'; + $callEndTime = microtime(true); + $callTime = $callEndTime - $callStartTime; + + echo '<hr />Call time for Quadratic Equation Solution was '.sprintf('%.4f',$callTime).' seconds<br /><hr />'; + echo ' Peak memory usage: '.(memory_get_peak_usage(true) / 1024 / 1024).' MB<br />'; + } +} + +?> + +</body> +<html> diff --git a/vendor/phpoffice/phpexcel/Examples/SylkReader.php b/vendor/phpoffice/phpexcel/Examples/SylkReader.php new file mode 100644 index 00000000..ab144e0a --- /dev/null +++ b/vendor/phpoffice/phpexcel/Examples/SylkReader.php @@ -0,0 +1,50 @@ +<?php +/** + * PHPExcel + * + * Copyright (C) 2006 - 2014 PHPExcel + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * @category PHPExcel + * @package PHPExcel + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @version ##VERSION##, ##DATE## + */ + +/** Error reporting */ +error_reporting(E_ALL); + +date_default_timezone_set('Europe/London'); + +/** PHPExcel_IOFactory */ +require_once dirname(__FILE__) . '/../Classes/PHPExcel/IOFactory.php'; + + +echo date('H:i:s') , " Load from SYLK file" , PHP_EOL; +$objPHPExcel = PHPExcel_IOFactory::load("SylkTest.slk"); + +echo date('H:i:s') , " Write to Excel2007 format" , PHP_EOL; +$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007'); +$objWriter->save(str_replace('.php', '.xlsx', __FILE__)); +echo date('H:i:s') , " File written to " , str_replace('.php', '.xlsx', __FILE__) , PHP_EOL; + + +// Echo memory peak usage +echo date('H:i:s') , " Peak memory usage: " , (memory_get_peak_usage(true) / 1024 / 1024) , " MB" , PHP_EOL; + +// Echo done +echo date('H:i:s') , " Done writing file" , PHP_EOL; diff --git a/vendor/phpoffice/phpexcel/Examples/SylkTest.slk b/vendor/phpoffice/phpexcel/Examples/SylkTest.slk new file mode 100644 index 00000000..d5dd5bbe --- /dev/null +++ b/vendor/phpoffice/phpexcel/Examples/SylkTest.slk @@ -0,0 +1,152 @@ +ID;PWXL;N;E +P;PGeneral +P;P0 +P;P0.00 +P;P#,##0 +P;P#,##0.00 +P;P#,##0;;\-#,##0 +P;P#,##0;;[Red]\-#,##0 +P;P#,##0.00;;\-#,##0.00 +P;P#,##0.00;;[Red]\-#,##0.00 +P;P"$"#,##0;;\-"$"#,##0 +P;P"$"#,##0;;[Red]\-"$"#,##0 +P;P"$"#,##0.00;;\-"$"#,##0.00 +P;P"$"#,##0.00;;[Red]\-"$"#,##0.00 +P;P0% +P;P0.00% +P;P0.00E+00 +P;P##0.0E+0 +P;P#\ ?/? +P;P#\ ??/?? +P;Pdd/mm/yyyy +P;Pdd\-mmm\-yy +P;Pdd\-mmm +P;Pmmm\-yy +P;Ph:mm\ AM/PM +P;Ph:mm:ss\ AM/PM +P;Phh:mm +P;Phh:mm:ss +P;Pdd/mm/yyyy\ hh:mm +P;Pmm:ss +P;Pmm:ss.0 +P;P@ +P;P[h]:mm:ss +P;P_-"$"* #,##0_-;;\-"$"* #,##0_-;;_-"$"* "-"_-;;_-@_- +P;P_-* #,##0_-;;\-* #,##0_-;;_-* "-"_-;;_-@_- +P;P_-"$"* #,##0.00_-;;\-"$"* #,##0.00_-;;_-"$"* "-"??_-;;_-@_- +P;P_-* #,##0.00_-;;\-* #,##0.00_-;;_-* "-"??_-;;_-@_- +P;FArial;M200 +P;FArial;M200 +P;FArial;M200 +P;FArial;M200 +P;EArial;M200 +P;EArial;M200 +P;EArial;M200 +P;EArial;M200;SB +P;EArial;M200;SBI +P;EArial;M200;SI +P;EArial;M200;SU +P;EArial;M200;L11 +P;EArial;M200;SB +P;EArial;M200 +P;EArial;M200;SI +P;EArial;M200;SBI +P;EArial;M200;SBU +P;EArial;M200;SBIU +P;EArial;M200 +P;EArial;M200;SI +F;P0;DG0G8;M255 +B;Y18;X10;D0 0 17 9 +O;L;D;V0;K47;G100 0.001 +F;W1 1 17 +F;W4 6 6 +F;M270;R9 +F;M270;R12 +F;M270;R17 +F;M270;R18 +F;SM12;Y1;X1 +C;K"Test String 1" +F;SM19;X2 +C;K1 +F;SM19;X3 +C;K5 +F;SIDM18;X5 +C;K"A" +F;SDM17;X6 +C;K"E" +C;X8;K6;ERC[-6]+RC[-5] +C;X10;K"AE";ERC[-5]&RC[-4] +F;SSM0;Y2;X1 +C;K"Test - String 2" +C;X2;K2 +F;SM19;X3 +C;K6 +C;X5;K"B" +C;X6;K"F" +C;X8;K8;ERC[-6]+RC[-5] +C;X10;K"BF";ERC[-5]&RC[-4] +C;Y3;X1;K"Test #3" +F;SM19;X2 +C;K3 +F;SM19;X3 +C;K7 +F;SDM13;X5 +C;K"C" +F;SIDM16;X6 +C;K"G" +C;X8;K10;ERC[-6]+RC[-5] +C;X10;K"CG";ERC[-5]&RC[-4] +F;SM11;Y4;X1 +C;K"Test with (;;) in string" +C;X2;K4 +F;SM19;X3 +C;K8 +F;SIM15;X5 +C;K"D" +C;X6;K"H" +C;X8;K12;ERC[-6]+RC[-5] +C;X10;K"DH";ERC[-5]&RC[-4] +C;Y5;X8;K10;ESUM(R[-4]C[-6]:R[-1]C[-6]) +C;X9;K26;ESUM(R[-4]C[-6]:R[-1]C[-6]) +C;X10;K36;ESUM(R[-4]C[-8]:R[-1]C[-7]) +C;Y6;X2;K1.23 +C;X3;KTRUE +F;P19;FG0G;X4 +C;Y7;X2;K2.34 +C;X3;KFALSE +C;Y8;X2;K3.45 +F;Y9;X1 +F;X2 +F;X3 +F;X4 +F;X5 +F;X6 +F;X7 +F;X8 +F;X9 +F;X10 +F;P19;FG0G;Y10;X1 +C;K22269 +F;STM0;X3 +C;K"TOP" +F;P17;FG0G;Y11;X1 +C;K1.5 +F;Y12 +F;X2 +F;SBM0;X3 +C;K"BOTTOM" +F;X4 +F;X5 +F;X6 +F;X7 +F;X8 +F;X9 +F;X10 +F;SLM0;Y14;X3 +C;K"LEFT" +F;SRM0;Y16 +C;K"RIGHT" +F;Y17 +F;SLRTBM0;Y18 +C;K"BOX" +E diff --git a/vendor/phpoffice/phpexcel/Examples/XMLReader.php b/vendor/phpoffice/phpexcel/Examples/XMLReader.php new file mode 100644 index 00000000..33eda282 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Examples/XMLReader.php @@ -0,0 +1,60 @@ +<?php +/** + * PHPExcel + * + * Copyright (C) 2006 - 2014 PHPExcel + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * @category PHPExcel + * @package PHPExcel + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @version ##VERSION##, ##DATE## + */ + +/** Error reporting */ +error_reporting(E_ALL); + +date_default_timezone_set('Europe/London'); + +/** PHPExcel_IOFactory */ +require_once dirname(__FILE__) . '/../Classes/PHPExcel/IOFactory.php'; + + +echo date('H:i:s') , " Load from XML file" , PHP_EOL; +$inputFileName = "XMLTest.xml"; + +/** Identify the type of $inputFileName **/ +$inputFileType = PHPExcel_IOFactory::identify($inputFileName); +echo 'Loading ' , $inputFileName , ' using ' , $inputFileType , " Reader" , PHP_EOL; + +/** Create a new Reader of the type that has been identified **/ +$objReader = PHPExcel_IOFactory::createReader($inputFileType); +/** Load $inputFileName to a PHPExcel Object **/ +$objPHPExcel = $objReader->load($inputFileName); + + +echo date('H:i:s') , " Write to Excel2007 format" , PHP_EOL; +$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007'); +$objWriter->save(str_replace('.php', '.xlsx', __FILE__)); +echo date('H:i:s') , " File written to " , str_replace('.php', '.xlsx', __FILE__) , PHP_EOL; + + +// Echo memory peak usage +echo date('H:i:s') , " Peak memory usage: " , (memory_get_peak_usage(true) / 1024 / 1024) , " MB" , PHP_EOL; + +// Echo done +echo date('H:i:s') , " Done writing file" , PHP_EOL; diff --git a/vendor/phpoffice/phpexcel/Examples/XMLTest.xml b/vendor/phpoffice/phpexcel/Examples/XMLTest.xml new file mode 100644 index 00000000..95921bcb --- /dev/null +++ b/vendor/phpoffice/phpexcel/Examples/XMLTest.xml @@ -0,0 +1,450 @@ +<?xml version="1.0"?> +<?mso-application progid="Excel.Sheet"?> +<Workbook xmlns="urn:schemas-microsoft-com:office:spreadsheet" + xmlns:o="urn:schemas-microsoft-com:office:office" + xmlns:x="urn:schemas-microsoft-com:office:excel" + xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet" + xmlns:html="http://www.w3.org/TR/REC-html40"> + <DocumentProperties xmlns="urn:schemas-microsoft-com:office:office"> + <Title>Excel 2003 XML Test Workbook</Title> + <Subject>This is a test workbook saved as Excel 2003 XML</Subject> + <Author>Mark Baker</Author> + <Keywords>PHPExcel Excel 2003 XML Reader</Keywords> + <Description>This is a test for the PHPExcel Reader for workbooks saved using Excel 2003's XML Format</Description> + <LastAuthor>Mark Baker</LastAuthor> + <Created>2009-09-11T08:26:08Z</Created> + <LastSaved>2009-09-17T22:53:09Z</LastSaved> + <Category>Reader</Category> + <Company>PHPExcel</Company> + <Version>14.00</Version> + </DocumentProperties> + <OfficeDocumentSettings xmlns="urn:schemas-microsoft-com:office:office"> + <AllowPNG/> + </OfficeDocumentSettings> + <ExcelWorkbook xmlns="urn:schemas-microsoft-com:office:excel"> + <WindowHeight>13176</WindowHeight> + <WindowWidth>28452</WindowWidth> + <WindowTopX>240</WindowTopX> + <WindowTopY>516</WindowTopY> + <ProtectStructure>False</ProtectStructure> + <ProtectWindows>False</ProtectWindows> + </ExcelWorkbook> + <Styles> + <Style ss:ID="Default" ss:Name="Normal"> + <Alignment ss:Vertical="Bottom"/> + <Borders/> + <Font ss:FontName="Calibri" ss:Size="11" ss:Color="#000000"/> + <Interior/> + <NumberFormat/> + <Protection/> + </Style> + <Style ss:ID="m42221568"> + <Alignment ss:Horizontal="Center" ss:Vertical="Center"/> + <Borders> + <Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="3" + ss:Color="#00B050"/> + <Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="3" + ss:Color="#0070C0"/> + <Border ss:Position="Right" ss:LineStyle="Continuous" ss:Weight="3" + ss:Color="#FFFF00"/> + <Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="3" + ss:Color="#FF0000"/> + </Borders> + <Font ss:FontName="Arial" ss:Size="11" ss:Color="#000000"/> + </Style> + <Style ss:ID="s62"> + <Font ss:FontName="Arial" ss:Size="11" ss:Color="#FF0000" ss:Bold="1"/> + </Style> + <Style ss:ID="s63"> + <Font ss:FontName="Arial" ss:Size="11" ss:Color="#000000"/> + </Style> + <Style ss:ID="s64"> + <Font ss:FontName="Arial" ss:Size="11" ss:Color="#000000" ss:Bold="1" + ss:Italic="1" ss:Underline="Single"/> + </Style> + <Style ss:ID="s65"> + <Font ss:FontName="Arial" ss:Size="11" ss:Color="#000000" ss:Bold="1" + ss:Underline="Single"/> + </Style> + <Style ss:ID="s66"> + <Font ss:FontName="Arial" ss:Size="11" ss:Color="#000000" ss:Bold="1"/> + <Interior/> + </Style> + <Style ss:ID="s67"> + <Font ss:FontName="Arial" ss:Size="11" ss:Color="#000000"/> + <Interior/> + </Style> + <Style ss:ID="s68"> + <Font ss:FontName="Arial" ss:Size="11" ss:Color="#000000" ss:Bold="1"/> + </Style> + <Style ss:ID="s69"> + <Font ss:FontName="Arial" ss:Size="11" ss:Color="#000000" ss:Bold="1" + ss:Italic="1"/> + </Style> + <Style ss:ID="s70"> + <Font ss:FontName="Arial" ss:Size="11" ss:Color="#000000" ss:Underline="Single"/> + </Style> + <Style ss:ID="s71"> + <Font ss:FontName="Arial" ss:Size="11" ss:Color="#000000" ss:Italic="1"/> + </Style> + <Style ss:ID="s72"> + <Font ss:FontName="Arial" ss:Size="11" ss:Color="#000000"/> + <NumberFormat ss:Format="Short Date"/> + </Style> + <Style ss:ID="s73"> + <Borders> + <Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="2" + ss:Color="#000000"/> + </Borders> + <Font ss:FontName="Arial" ss:Size="11" ss:Color="#000000"/> + </Style> + <Style ss:ID="s74"> + <Font ss:FontName="Arial" ss:Size="11" ss:Color="#000000"/> + <NumberFormat ss:Format="#\ ?/?"/> + </Style> + <Style ss:ID="s75"> + <Borders> + <Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="2" + ss:Color="#000000"/> + </Borders> + <Font ss:FontName="Arial" ss:Size="11" ss:Color="#000000"/> + </Style> + <Style ss:ID="s76"> + <Borders> + <Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="2" + ss:Color="#000000"/> + </Borders> + <Font ss:FontName="Arial" ss:Size="11" ss:Color="#000000"/> + </Style> + <Style ss:ID="s77"> + <Borders> + <Border ss:Position="Right" ss:LineStyle="Continuous" ss:Weight="2" + ss:Color="#000000"/> + </Borders> + <Font ss:FontName="Arial" ss:Size="11" ss:Color="#000000"/> + </Style> + <Style ss:ID="s85"> + <Borders> + <Border ss:Position="DiagonalLeft" ss:LineStyle="Double" ss:Weight="3" + ss:Color="#FF0000"/> + <Border ss:Position="DiagonalRight" ss:LineStyle="Double" ss:Weight="3" + ss:Color="#FF0000"/> + </Borders> + </Style> + <Style ss:ID="s86"> + <Alignment ss:Horizontal="Center" ss:Vertical="Bottom" ss:WrapText="1"/> + <Font ss:FontName="Arial" ss:Size="12" ss:Color="#000000" ss:Bold="1" + ss:Underline="Single"/> + </Style> + <Style ss:ID="s87"> + <Font ss:FontName="Arial" ss:Size="11" ss:Color="#000000"/> + <NumberFormat ss:Format="0.00;[Red]0.00"/> + </Style> + <Style ss:ID="s88"> + <Font ss:FontName="Arial" ss:Size="11" ss:Color="#000000"/> + <NumberFormat ss:Format="dd\-mmm\-yyyy"/> + </Style> + </Styles> + <Worksheet ss:Name="Sample Data"> + <Table ss:ExpandedColumnCount="10" ss:ExpandedRowCount="20" x:FullColumns="1" + x:FullRows="1" ss:DefaultRowHeight="15"> + <Column ss:AutoFitWidth="0" ss:Width="90.6"/> + <Column ss:Index="4" ss:AutoFitWidth="0" ss:Width="33.6"/> + <Row ss:AutoFitHeight="0"> + <Cell ss:StyleID="s62"><Data ss:Type="String">Test String 1</Data></Cell> + <Cell ss:StyleID="s63"><Data ss:Type="Number">1</Data></Cell> + <Cell ss:StyleID="s63"><Data ss:Type="Number">5</Data></Cell> + <Cell ss:Index="5" ss:StyleID="s64"><Data ss:Type="String">A</Data></Cell> + <Cell ss:StyleID="s65"><Data ss:Type="String">E</Data></Cell> + <Cell ss:Index="8" ss:Formula="=RC[-6]+RC[-5]"><Data ss:Type="Number">6</Data></Cell> + <Cell ss:Index="10" ss:Formula="=RC[-5]&amp;RC[-4]"><Data ss:Type="String">AE</Data></Cell> + </Row> + <Row ss:AutoFitHeight="0"> + <Cell ss:StyleID="s66"><Data ss:Type="String">Test - String 2</Data></Cell> + <Cell><Data ss:Type="Number">2</Data></Cell> + <Cell ss:StyleID="s63"><Data ss:Type="Number">6</Data></Cell> + <Cell ss:Index="5"><Data ss:Type="String">B</Data></Cell> + <Cell><Data ss:Type="String">F</Data></Cell> + <Cell ss:Index="8" ss:Formula="=RC[-6]+RC[-5]"><Data ss:Type="Number">8</Data></Cell> + <Cell ss:Index="10" ss:Formula="=RC[-5]&amp;RC[-4]"><Data ss:Type="String">BF</Data></Cell> + </Row> + <Row ss:AutoFitHeight="0"> + <Cell ss:StyleID="s67"><Data ss:Type="String">Test #3</Data></Cell> + <Cell ss:StyleID="s63"><Data ss:Type="Number">3</Data></Cell> + <Cell ss:StyleID="s63"><Data ss:Type="Number">7</Data></Cell> + <Cell ss:Index="5" ss:StyleID="s68"><Data ss:Type="String">C</Data></Cell> + <Cell ss:StyleID="s69"><Data ss:Type="String">G</Data></Cell> + <Cell ss:Index="8" ss:Formula="=RC[-6]+RC[-5]"><Data ss:Type="Number">10</Data></Cell> + <Cell ss:Index="10" ss:Formula="=RC[-5]&amp;RC[-4]"><Data ss:Type="String">CG</Data></Cell> + </Row> + <Row ss:AutoFitHeight="0"> + <Cell ss:StyleID="s70"><Data ss:Type="String">Test with (&quot;) in string</Data></Cell> + <Cell><Data ss:Type="Number">4</Data></Cell> + <Cell ss:StyleID="s63"><Data ss:Type="Number">8</Data></Cell> + <Cell ss:Index="5" ss:StyleID="s71"><Data ss:Type="String">D</Data></Cell> + <Cell><Data ss:Type="String">H</Data></Cell> + <Cell ss:Index="8" ss:Formula="=RC[-6]+RC[-5]"><Data ss:Type="Number">12</Data></Cell> + <Cell ss:Index="10" ss:Formula="=RC[-5]&amp;RC[-4]"><Data ss:Type="String">DH</Data></Cell> + </Row> + <Row ss:AutoFitHeight="0"> + <Cell ss:Index="8" ss:Formula="=SUM(R[-4]C[-6]:R[-1]C[-6])"><Data + ss:Type="Number">10</Data></Cell> + <Cell ss:Formula="=SUM(R[-4]C[-6]:R[-1]C[-6])"><Data ss:Type="Number">26</Data></Cell> + <Cell ss:Formula="=SUM(R[-4]C[-8]:R[-1]C[-7])"><Data ss:Type="Number">36</Data></Cell> + </Row> + <Row ss:AutoFitHeight="0"> + <Cell ss:Index="2"><Data ss:Type="Number">1.23</Data></Cell> + <Cell><Data ss:Type="Boolean">1</Data></Cell> + <Cell ss:StyleID="s72"/> + </Row> + <Row ss:AutoFitHeight="0"> + <Cell ss:Index="2"><Data ss:Type="Number">2.34</Data></Cell> + <Cell><Data ss:Type="Boolean">0</Data></Cell> + </Row> + <Row ss:AutoFitHeight="0"> + <Cell ss:Index="2"><Data ss:Type="Number">3.45</Data></Cell> + </Row> + <Row ss:AutoFitHeight="0" ss:Height="13.5"/> + <Row ss:AutoFitHeight="0"> + <Cell ss:StyleID="s72"><Data ss:Type="DateTime">1960-12-19T00:00:00.000</Data></Cell> + <Cell ss:Index="3" ss:StyleID="s73"><Data ss:Type="String">TOP</Data></Cell> + <Cell ss:Index="7" ss:Formula="=#N/A"><Data ss:Type="Error">#N/A</Data></Cell> + </Row> + <Row ss:AutoFitHeight="0"> + <Cell ss:StyleID="s74"><Data ss:Type="Number">1.5</Data></Cell> + <Cell ss:Index="7" ss:Formula="=12/0"><Data ss:Type="Error">#DIV/0!</Data></Cell> + </Row> + <Row ss:AutoFitHeight="0" ss:Height="13.5"> + <Cell ss:Index="3" ss:StyleID="s75"><Data ss:Type="String">BOTTOM</Data></Cell> + </Row> + <Row ss:Index="14" ss:AutoFitHeight="0"> + <Cell ss:Index="3" ss:StyleID="s76"><Data ss:Type="String">LEFT</Data></Cell> + </Row> + <Row ss:Index="16" ss:AutoFitHeight="0"> + <Cell ss:Index="3" ss:StyleID="s77"><Data ss:Type="String">RIGHT</Data></Cell> + </Row> + <Row ss:AutoFitHeight="0" ss:Height="13.5"/> + <Row ss:AutoFitHeight="0" ss:Height="13.5"> + <Cell ss:Index="2" ss:MergeAcross="1" ss:MergeDown="1" ss:StyleID="m42221568"><Data + ss:Type="String">BOX</Data></Cell> + <Cell ss:Index="5" ss:StyleID="s85"/> + <Cell ss:Index="7"><Data ss:Type="String">Test Column 1</Data></Cell> + </Row> + <Row ss:AutoFitHeight="0"> + <Cell ss:Index="8"><Data ss:Type="String">Test Column 2</Data></Cell> + </Row> + <Row ss:AutoFitHeight="0"> + <Cell ss:Index="9"><Data ss:Type="String">Test Column 3</Data></Cell> + </Row> + </Table> + <WorksheetOptions xmlns="urn:schemas-microsoft-com:office:excel"> + <PageSetup> + <Header x:Margin="0.3"/> + <Footer x:Margin="0.3"/> + <PageMargins x:Bottom="0.75" x:Left="0.7" x:Right="0.7" x:Top="0.75"/> + </PageSetup> + <Unsynced/> + <Print> + <ValidPrinterInfo/> + <HorizontalResolution>600</HorizontalResolution> + <VerticalResolution>600</VerticalResolution> + </Print> + <Selected/> + <Panes> + <Pane> + <Number>3</Number> + <ActiveRow>17</ActiveRow> + <ActiveCol>4</ActiveCol> + </Pane> + </Panes> + <ProtectObjects>False</ProtectObjects> + <ProtectScenarios>False</ProtectScenarios> + <AllowFormatCells/> + <AllowSizeCols/> + <AllowSizeRows/> + <AllowInsertCols/> + <AllowInsertRows/> + <AllowInsertHyperlinks/> + <AllowDeleteCols/> + <AllowDeleteRows/> + <AllowSort/> + <AllowFilter/> + <AllowUsePivotTables/> + </WorksheetOptions> + </Worksheet> + <Worksheet ss:Name="Report Data"> + <Table ss:ExpandedColumnCount="7" ss:ExpandedRowCount="14" x:FullColumns="1" + x:FullRows="1" ss:DefaultRowHeight="15"> + <Column ss:AutoFitWidth="0" ss:Width="66.600000000000009"/> + <Column ss:AutoFitWidth="0" ss:Width="68.399999999999991"/> + <Column ss:AutoFitWidth="0" ss:Width="62.400000000000006"/> + <Column ss:Width="69.599999999999994"/> + <Column ss:Index="6" ss:Width="69.599999999999994"/> + <Column ss:AutoFitWidth="0" ss:Width="64.8"/> + <Row ss:AutoFitHeight="0" ss:Height="31.5"> + <Cell ss:StyleID="s86"><Data ss:Type="String">Heading 1</Data></Cell> + <Cell ss:StyleID="s86"><Data ss:Type="String">Heading 2</Data></Cell> + <Cell ss:StyleID="s86"><Data ss:Type="String">Third Heading</Data></Cell> + <Cell ss:StyleID="s86"><Data ss:Type="String">Date Heading</Data></Cell> + <Cell ss:Index="6" ss:StyleID="s86"><Data ss:Type="String">Adjusted Date</Data></Cell> + <Cell ss:StyleID="s86"><Data ss:Type="String">Adjusted Number</Data></Cell> + </Row> + <Row ss:AutoFitHeight="0"> + <Cell><Data ss:Type="String">ABC</Data></Cell> + <Cell><Data ss:Type="Number">1</Data></Cell> + <Cell ss:StyleID="s87"><Data ss:Type="Number">1.1100000000000001</Data></Cell> + <Cell ss:StyleID="s88"><Data ss:Type="DateTime">2001-01-01T00:00:00.000</Data></Cell> + <Cell ss:Index="6" ss:StyleID="s88" ss:Formula="=RC[-2]-RC[-4]"><Data + ss:Type="DateTime">2000-12-31T00:00:00.000</Data></Cell> + <Cell ss:StyleID="s87" ss:Formula="=RC[-5]*RC[-4]"><Data ss:Type="Number">1.1100000000000001</Data></Cell> + </Row> + <Row ss:AutoFitHeight="0"> + <Cell><Data ss:Type="String">BCD</Data></Cell> + <Cell><Data ss:Type="Number">2</Data></Cell> + <Cell ss:StyleID="s87"><Data ss:Type="Number">2.2200000000000002</Data></Cell> + <Cell ss:StyleID="s88"><Data ss:Type="DateTime">2002-02-02T00:00:00.000</Data></Cell> + <Cell ss:Index="6" ss:StyleID="s88" ss:Formula="=RC[-2]-RC[-4]"><Data + ss:Type="DateTime">2002-01-31T00:00:00.000</Data></Cell> + <Cell ss:StyleID="s87" ss:Formula="=RC[-5]*RC[-4]"><Data ss:Type="Number">4.4400000000000004</Data></Cell> + </Row> + <Row ss:AutoFitHeight="0"> + <Cell><Data ss:Type="String">CDE</Data></Cell> + <Cell><Data ss:Type="Number">3</Data></Cell> + <Cell ss:StyleID="s87"><Data ss:Type="Number">3.33</Data></Cell> + <Cell ss:StyleID="s88"><Data ss:Type="DateTime">2003-03-03T00:00:00.000</Data></Cell> + <Cell ss:Index="6" ss:StyleID="s88" ss:Formula="=RC[-2]-RC[-4]"><Data + ss:Type="DateTime">2003-02-28T00:00:00.000</Data></Cell> + <Cell ss:StyleID="s87" ss:Formula="=RC[-5]*RC[-4]"><Data ss:Type="Number">9.99</Data></Cell> + </Row> + <Row ss:AutoFitHeight="0"> + <Cell><Data ss:Type="String">DEF</Data></Cell> + <Cell><Data ss:Type="Number">4</Data></Cell> + <Cell ss:StyleID="s87"><Data ss:Type="Number">4.4400000000000004</Data></Cell> + <Cell ss:StyleID="s88"><Data ss:Type="DateTime">2004-04-03T23:00:00.000</Data></Cell> + <Cell ss:Index="6" ss:StyleID="s88" ss:Formula="=RC[-2]-RC[-4]"><Data + ss:Type="DateTime">2004-03-30T23:00:00.000</Data></Cell> + <Cell ss:StyleID="s87" ss:Formula="=RC[-5]*RC[-4]"><Data ss:Type="Number">17.760000000000002</Data></Cell> + </Row> + <Row ss:AutoFitHeight="0"> + <Cell><Data ss:Type="String">EFG</Data></Cell> + <Cell><Data ss:Type="Number">5</Data></Cell> + <Cell ss:StyleID="s87"><Data ss:Type="Number">5.55</Data></Cell> + <Cell ss:StyleID="s88"><Data ss:Type="DateTime">2005-05-04T23:00:00.000</Data></Cell> + <Cell ss:Index="6" ss:StyleID="s88" ss:Formula="=RC[-2]-RC[-4]"><Data + ss:Type="DateTime">2005-04-29T23:00:00.000</Data></Cell> + <Cell ss:StyleID="s87" ss:Formula="=RC[-5]*RC[-4]"><Data ss:Type="Number">27.75</Data></Cell> + </Row> + <Row ss:AutoFitHeight="0"> + <Cell><Data ss:Type="String">FGH</Data></Cell> + <Cell><Data ss:Type="Number">6</Data></Cell> + <Cell ss:StyleID="s87"><Data ss:Type="Number">6.66</Data></Cell> + <Cell ss:StyleID="s88"><Data ss:Type="DateTime">2006-06-05T23:00:00.000</Data></Cell> + <Cell ss:Index="6" ss:StyleID="s88" ss:Formula="=RC[-2]-RC[-4]"><Data + ss:Type="DateTime">2006-05-30T23:00:00.000</Data></Cell> + <Cell ss:StyleID="s87" ss:Formula="=RC[-5]*RC[-4]"><Data ss:Type="Number">39.96</Data></Cell> + </Row> + <Row ss:AutoFitHeight="0"> + <Cell><Data ss:Type="String">GHI</Data></Cell> + <Cell><Data ss:Type="Number">7</Data></Cell> + <Cell ss:StyleID="s87"><Data ss:Type="Number">7.77</Data></Cell> + <Cell ss:StyleID="s88"><Data ss:Type="DateTime">2007-07-06T23:00:00.000</Data></Cell> + <Cell ss:Index="6" ss:StyleID="s88" ss:Formula="=RC[-2]-RC[-4]"><Data + ss:Type="DateTime">2007-06-29T23:00:00.000</Data></Cell> + <Cell ss:StyleID="s87" ss:Formula="=RC[-5]*RC[-4]"><Data ss:Type="Number">54.39</Data></Cell> + </Row> + <Row ss:AutoFitHeight="0"> + <Cell><Data ss:Type="String">HIJ</Data></Cell> + <Cell><Data ss:Type="Number">8</Data></Cell> + <Cell ss:StyleID="s87"><Data ss:Type="Number">8.8800000000000008</Data></Cell> + <Cell ss:StyleID="s88"><Data ss:Type="DateTime">2008-08-07T23:00:00.000</Data></Cell> + <Cell ss:Index="6" ss:StyleID="s88" ss:Formula="=RC[-2]-RC[-4]"><Data + ss:Type="DateTime">2008-07-30T23:00:00.000</Data></Cell> + <Cell ss:StyleID="s87" ss:Formula="=RC[-5]*RC[-4]"><Data ss:Type="Number">71.040000000000006</Data></Cell> + </Row> + <Row ss:AutoFitHeight="0"> + <Cell><Data ss:Type="String">IJK</Data></Cell> + <Cell><Data ss:Type="Number">9</Data></Cell> + <Cell ss:StyleID="s87"><Data ss:Type="Number">9.99</Data></Cell> + <Cell ss:StyleID="s88"><Data ss:Type="DateTime">2009-09-08T23:00:00.000</Data></Cell> + <Cell ss:Index="6" ss:StyleID="s88" ss:Formula="=RC[-2]-RC[-4]"><Data + ss:Type="DateTime">2009-08-30T23:00:00.000</Data></Cell> + <Cell ss:StyleID="s87" ss:Formula="=RC[-5]*RC[-4]"><Data ss:Type="Number">89.91</Data></Cell> + </Row> + <Row ss:AutoFitHeight="0"> + <Cell><Data ss:Type="String">JKL</Data></Cell> + <Cell><Data ss:Type="Number">10</Data></Cell> + <Cell ss:StyleID="s87"><Data ss:Type="Number">11.1</Data></Cell> + <Cell ss:StyleID="s88"><Data ss:Type="DateTime">2010-10-09T23:00:00.000</Data></Cell> + <Cell ss:Index="6" ss:StyleID="s88" ss:Formula="=RC[-2]-RC[-4]"><Data + ss:Type="DateTime">2010-09-29T23:00:00.000</Data></Cell> + <Cell ss:StyleID="s87" ss:Formula="=RC[-5]*RC[-4]"><Data ss:Type="Number">111</Data></Cell> + </Row> + <Row ss:AutoFitHeight="0"> + <Cell><Data ss:Type="String">KLM</Data></Cell> + <Cell><Data ss:Type="Number">11</Data></Cell> + <Cell ss:StyleID="s87"><Data ss:Type="Number">12.21</Data></Cell> + <Cell ss:StyleID="s88"><Data ss:Type="DateTime">2011-11-11T00:00:00.000</Data></Cell> + <Cell ss:Index="6" ss:StyleID="s88" ss:Formula="=RC[-2]-RC[-4]"><Data + ss:Type="DateTime">2011-10-31T00:00:00.000</Data></Cell> + <Cell ss:StyleID="s87" ss:Formula="=RC[-5]*RC[-4]"><Data ss:Type="Number">134.31</Data></Cell> + </Row> + <Row ss:AutoFitHeight="0"> + <Cell><Data ss:Type="String">LMN</Data></Cell> + <Cell><Data ss:Type="Number">12</Data></Cell> + <Cell ss:StyleID="s87"><Data ss:Type="Number">13.32</Data></Cell> + <Cell ss:StyleID="s88"><Data ss:Type="DateTime">2012-12-12T00:00:00.000</Data></Cell> + <Cell ss:Index="6" ss:StyleID="s88" ss:Formula="=RC[-2]-RC[-4]"><Data + ss:Type="DateTime">2012-11-30T00:00:00.000</Data></Cell> + <Cell ss:StyleID="s87" ss:Formula="=RC[-5]*RC[-4]"><Data ss:Type="Number">159.84</Data></Cell> + </Row> + <Row ss:AutoFitHeight="0"> + <Cell><Data ss:Type="String">ZYX</Data></Cell> + <Cell><Data ss:Type="Number">-1</Data></Cell> + <Cell ss:StyleID="s87"><Data ss:Type="Number">-1.1100000000000001</Data></Cell> + <Cell ss:StyleID="s88"><Data ss:Type="DateTime">1999-12-01T00:00:00.000</Data></Cell> + <Cell ss:Index="6" ss:StyleID="s88" ss:Formula="=RC[-2]-RC[-4]"><Data + ss:Type="DateTime">1999-12-02T00:00:00.000</Data></Cell> + <Cell ss:StyleID="s87" ss:Formula="=RC[-5]*RC[-4]"><Data ss:Type="Number">1.1100000000000001</Data></Cell> + </Row> + </Table> + <WorksheetOptions xmlns="urn:schemas-microsoft-com:office:excel"> + <PageSetup> + <Header x:Margin="0.3"/> + <Footer x:Margin="0.3"/> + <PageMargins x:Bottom="0.75" x:Left="0.7" x:Right="0.7" x:Top="0.75"/> + </PageSetup> + <Unsynced/> + <Print> + <ValidPrinterInfo/> + <HorizontalResolution>600</HorizontalResolution> + <VerticalResolution>600</VerticalResolution> + </Print> + <ProtectObjects>False</ProtectObjects> + <ProtectScenarios>False</ProtectScenarios> + <AllowFormatCells/> + <AllowSizeCols/> + <AllowSizeRows/> + <AllowInsertCols/> + <AllowInsertRows/> + <AllowInsertHyperlinks/> + <AllowDeleteCols/> + <AllowDeleteRows/> + <AllowSort/> + <AllowFilter/> + <AllowUsePivotTables/> + </WorksheetOptions> + <ConditionalFormatting xmlns="urn:schemas-microsoft-com:office:excel"> + <Range>R2C3:R14C3</Range> + <Condition> + <Qualifier>Greater</Qualifier> + <Value1>0</Value1> + <Format Style='color:#006100;background:#C6EFCE'/> + </Condition> + <Condition> + <Qualifier>Less</Qualifier> + <Value1>0</Value1> + <Format Style='color:#9C0006;background:#FFC7CE'/> + </Condition> + </ConditionalFormatting> + </Worksheet> +</Workbook> diff --git a/vendor/phpoffice/phpexcel/Examples/data/continents/Africa.txt b/vendor/phpoffice/phpexcel/Examples/data/continents/Africa.txt new file mode 100644 index 00000000..407fa769 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Examples/data/continents/Africa.txt @@ -0,0 +1,54 @@ +Algeria +Angola +Benin +Botswana +Burkina +Burundi +Cameroon +Cape Verde +Central African Republic +Chad +Comoros +Congo +Congo, Democratic Republic of +Djibouti +Egypt +Equatorial Guinea +Eritrea +Ethiopia +Gabon +Gambia +Ghana +Guinea +Guinea-Bissau +Ivory Coast +Kenya +Lesotho +Liberia +Libya +Madagascar +Malawi +Mali +Mauritania +Mauritius +Morocco +Mozambique +Namibia +Niger +Nigeria +Rwanda +Sao Tome and Principe +Senegal +Seychelles +Sierra Leone +Somalia +South Africa +South Sudan +Sudan +Swaziland +Tanzania +Togo +Tunisia +Uganda +Zambia +Zimbabwe diff --git a/vendor/phpoffice/phpexcel/Examples/data/continents/Asia.txt b/vendor/phpoffice/phpexcel/Examples/data/continents/Asia.txt new file mode 100644 index 00000000..9ce006c5 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Examples/data/continents/Asia.txt @@ -0,0 +1,44 @@ +Afghanistan +Bahrain +Bangladesh +Bhutan +Brunei +Burma (Myanmar) +Cambodia +China +East Timor +India +Indonesia +Iran +Iraq +Israel +Japan +Jordan +Kazakhstan +Korea, North +Korea, South +Kuwait +Kyrgyzstan +Laos +Lebanon +Malaysia +Maldives +Mongolia +Nepal +Oman +Pakistan +Philippines +Qatar +Russian Federation +Saudi Arabia +Singapore +Sri Lanka +Syria +Tajikistan +Thailand +Turkey +Turkmenistan +United Arab Emirates +Uzbekistan +Vietnam +Yemen diff --git a/vendor/phpoffice/phpexcel/Examples/data/continents/Europe.txt b/vendor/phpoffice/phpexcel/Examples/data/continents/Europe.txt new file mode 100644 index 00000000..70c11607 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Examples/data/continents/Europe.txt @@ -0,0 +1,47 @@ +Albania +Andorra +Armenia +Austria +Azerbaijan +Belarus +Belgium +Bosnia and Herzegovina +Bulgaria +Croatia +Cyprus +Czech Republic +Denmark +Estonia +Finland +France +Georgia +Germany +Greece +Hungary +Iceland +Ireland +Italy +Latvia +Liechtenstein +Lithuania +Luxembourg +Macedonia +Malta +Moldova +Monaco +Montenegro +Netherlands +Norway +Poland +Portugal +Romania +San Marino +Serbia +Slovakia +Slovenia +Spain +Sweden +Switzerland +Ukraine +United Kingdom +Vatican City diff --git a/vendor/phpoffice/phpexcel/Examples/data/continents/North America.txt b/vendor/phpoffice/phpexcel/Examples/data/continents/North America.txt new file mode 100644 index 00000000..5881ae13 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Examples/data/continents/North America.txt @@ -0,0 +1,23 @@ +Antigua and Barbuda +Bahamas +Barbados +Belize +Canada +Costa Rica +Cuba +Dominica +Dominican Republic +El Salvador +Grenada +Guatemala +Haiti +Honduras +Jamaica +Mexico +Nicaragua +Panama +Saint Kitts and Nevis +Saint Lucia +Saint Vincent and the Grenadines +Trinidad and Tobago +United States diff --git a/vendor/phpoffice/phpexcel/Examples/data/continents/Oceania.txt b/vendor/phpoffice/phpexcel/Examples/data/continents/Oceania.txt new file mode 100644 index 00000000..cbdc896c --- /dev/null +++ b/vendor/phpoffice/phpexcel/Examples/data/continents/Oceania.txt @@ -0,0 +1,14 @@ +Australia +Fiji +Kiribati +Marshall Islands +Micronesia +Nauru +New Zealand +Palau +Papua New Guinea +Samoa +Solomon Islands +Tonga +Tuvalu +Vanuatu diff --git a/vendor/phpoffice/phpexcel/Examples/data/continents/South America.txt b/vendor/phpoffice/phpexcel/Examples/data/continents/South America.txt new file mode 100644 index 00000000..777ffbfb --- /dev/null +++ b/vendor/phpoffice/phpexcel/Examples/data/continents/South America.txt @@ -0,0 +1,12 @@ +Argentina +Bolivia +Brazil +Chile +Colombia +Ecuador +Guyana +Paraguay +Peru +Suriname +Uruguay +Venezuela diff --git a/vendor/phpoffice/phpexcel/Examples/images/officelogo.jpg b/vendor/phpoffice/phpexcel/Examples/images/officelogo.jpg new file mode 100644 index 0000000000000000000000000000000000000000..7e0133d13462f2aa206ac0463c3bdbb5e04e66e5 GIT binary patch literal 5597 zcmYjU1yodB*S<3#jm$9QpyW`)&<)bv4$>fql(aM=AxcY^Gz>XNC?%bOG}4m703w1S zsiGqP;QPPd_wBRSI(O}T&b@c7=h=0!aIp?RwAHoL0T2iTXyO-eu?(mH<Rl~{q$Cui zq!dtcGIA&l6$J$q4L$Xx&@;ej@B(9?gEL)Yg440HBM|KD0+%B6AGv%9h=PIw0)fy& zq4W$iFd7DCrfb)jm=Vm(EX>RZUJh2gaPV^RAP@*1E<Qe9UOvA6T>t0cq7Q(Q0MCGU z0uU4cLqP;k&_zE02LLbu{%8M32*CtbKty;SBk0oiKOX#95CP$pizR>pZwEsNAOHaJ z&p)dy_JSD>#P*8E_BFW6w0jNxy+cJ`_`<Mrm=0xDXAg_ad7&9r5v^AB*LB0uquVv# zsn@Tv2X`Y?$}>(@?uJEz*`*J(CF0j^>Av^j)1nywdN#h$W;STRlzFqgS{Wt|!&r*d z6Q>Q#@9K9=IF@BR0vPjFT{y>m4}J8t;q>>abIM96_e9KvjuwK-+^gDiD;*R8A{*Je zv92K~tC<u@OKjIdx?rVx;jPr=*JH;&JG7>Ee44C_0FZI;PTlw7PgdKe({Bi<)TC>J zf}dG42jtIg(0A&RvP)5VzSY;s)bW$tQ2$Bew=^CaGRJwBTkw<j?LfPYr6ziFa^VLs zM${+AeZEOO_$sqYTipkXu4v}Ga~hM$YK8JqKOBST`~oqM7SSXw3>LOCFiv9}t1UUQ zC3-q<6PpFRVsb4TegwFNAdmMqbV97o&Qh`BeqA1ja46g8;@%3yAFcvEs_Rz?+l+1{ zF8P?PxguMU>Xi9o6>@wrkD3-`f7P~#2Fk40`!@&+_tX!xq-UD>y&}|fadai^iIT~* z^Kq|D%NUrmXb9;@(gnc5?Kn%x`LQUY8aq?>)MP4!sPv_PZ)TsQe&-wWDZCpx=>eP$ z#Z6Ug)`kjXD%GZUEcP^+18B7xe_r>OVaOXds&YORkrTorkRWdO#s7#iF2~rTsSIJ^ zQx#Vb!d2m$cQy3+o})nR<Yz(}r-o#?cf+@7x6xK`TTxQJ>@R7b1OuMHxFUJ$Z))lH zPJ&;F2br^EX|ulsu12PzBKjbXruK?>!nsq)SpVe=F`kj!5CB8~CIbJLmSDVrnuZVp zg^7r=39|~ZbEqie`ALGOH0TO=U}K^^cK-KXkV89iHN!)*Dur;LwBuYffQ#O!t!z%9 zai|5yavDPYogh@1w#vb!hS5T#{FwlQK8tE6W|VRd$8Db{l<&lk#LbOX477FmQEZAj z2;TF4?e#-z!n%XS+}p1e?oGHWazDG!s`Lv>ptS<&?W&ArPvUv2@;wTa>O7iP=}~v- z1FeOZ9ih~{*Pg%Ogcv3Yi@P8tW>5y6CrKQi6;=8C)!JNrXQ}rG5fKAjZV_2g=2~&v z>Rcff>r=96-S!U*u5;o7E#k0f2IugArNZ766yG1%p1I8H_DNOLDY(iz@W|iEsZYHI zWT9TYY2t<5z(7bFa2)7Jo*unIVkT@~h5$3KaXgRE7dYKiJ;yN`8Ed3ntZXbiq-$9k zxoelcu#d18thy0h`}t{*8pWKWRTuPEZtv`p?YZ9iSgx)D^}(4dMtIAraFSB5anE7$ z&F3w!yBiNUU6HFs36LrQiMtKuYJ|C`9ED1SN@vR%r_#^Gk95x1zpZi*l>DA@EWi*d zJv^>lx{aCe82q-VHP&ML<0H465mLWjB)O`@)SI2(=3K(ipDjJoO0yPWO4Kx`fTd#> zH>}LieeQ6JXL0M<gjsUw(QyGbRw>1{B%mq5LcNB=q$mo0OClRmC%QghUf<y0I5M7* z%huN*b+ym{&lesj00I+UA^dNKyG&^is4z8*RRm2VYUsr#WUEB@moWG<3ZQV{7Ocyq zKD)=<?U0;5?@Hzbc+?4W2d|zW)yG%Yo}8*I$dMWw8zG+$-B#b1U7Ml0a{{f8rHQ^7 zMt}1H7?@T4eOuRHV7C9auAil0<gCYLSJp$~qJ(t!kGgUgiCsyrp|+>+F|&Do$Tup@ zMfLsbLf;}rv8#g|rTWZMpJ-WHzTgeLM<oH*5~h?eH#vN{sqUQeoDVwNn~FN$HnK*G zi%Y74>zDgieYwU<X7edaXRBY`uV1RqDHbJoiM`)T&RHg9D~6LEuoHP>zt|g#HrOc~ z!5HzK-<~e|qR7)Z_|Ty351Vtddawa!A^or)H24|%@0NndDNN1TSVsLQFl4VH2+W`* z%52DpK(X191FAQtgdaaevGc?l=bNzS?2f;hfq6TWo)18=dap=|H;rSe9TlhS0%WkT z+K6RmrX4#qIv~CZ^G@0QWlC3+ds=OL#Q0>c8^RNlYrmK7iPC|Z#YZgLqF&<ve5rm} z^0pKbiFAqj8W%!z0a)8*I-8d{X5^SSt8Jaz;DO}51o8?2zBK(?tNsBJCQL1YCS+yv zV&@Q2vZWFIizN6GNuM%fY>h^0Q-SvU{-s7UJW)yN_d!1Y7GLhp61k{<v#9Y^#kXqF zNQbyl+H#)aL{_%+@sfjf9;_v?oBIbz-dttM=dWt2w5NTXCGAJ(dY73V=#6+xMsaGj zJLeubkl*=|&{6(DlEhY$&$88Gb;R}{kz%doSGwGj#zxvAO={XfAE`hM;#s^cIqq=d z`L8q6wGrsr2+?ztX>>9fv>+V&+*SD%ryCpY8q2K&iYGQx8D!JOWI(yCI*S<CV=_Bd zmPhM7{2_mHq<aTHCGMWf<Rav%Nz@_hy;|99VrZn-?_#aD_8vt~%DT%!epekzn{If& z=+2=0xpaMGmt(+98FY|6*Z(5@oeS*;d5$I;_BM5nstm7{s>BZ}u{Ok_aiN0`jWdi* zbuIwbwy5h4MDQds=AL4z6h*cOoQi~_*Wkie7rLzlR5@){FrUy5MbJ7svQaV??M%&2 z%%>7)uyRXO>h<<l7lt#o@I_|Per1pfHjGnj)>v+THW&k4!AN@WX6K=g<!2<>5+|@B zwR$6ty`NN9>{m$h3Y}Z?^aht0Rj%i2{vx|~l-(F)uwu_4ZSCFmNm4X)lke*vyb7Ku z{OF#%05;@<(~0r;Oh2XiMtdnR)s6b7j<<c-446f3IP!`jwsJ|ianAYqjB$CDo=HxG zMA87BI7kQp1_-Z!iT>NjfWY_!z{)0~<b@6=pk^0R_O`{~{$UOXAW{H_vP5SHjJwTW zs_yK#?x|zkFX8jNYD;o9>#;CL_L_r~BYBOXGa5#!2A0K`+Xr>Y>8*BJrIQY6tNQX* z&w^1g5y7KqKOXp=*1%}G+(F&8qRc5nr??o$NWChH?TCOC=4<qPO{*gsiEuO@FJM{l zewuA>)sgO>6YC)(dgGmveEEPm?mSvhV!~9w>Ou0+AWz^m%zCMQ62@1FLV9X0(a2vU zV)C9CoG`Umjon!6I#e@3q2VA1SEX_G=dG$(EgAcV(Pv0QW4P`v_iU^8$4tI)+`glg z3U(+^H19_C@UWlL$)AxFWR5}auCZ99qvbd8NvrXAE8AA|wn>>2J>tfA%6$PL=>dV6 znCR?&wVsxqt(ewK^*00NRH9F_(M+})`2hoDmX05{mjrFSkW+AU85~^>L-J0erZV)# z@iMZO`eN~)nhm~;-7Eh_F22WuvI#?!&?yJDUKrN!I^3a9@4q!$flVvIdE688^X@O< zkfE*<8+*Yn`W41z1tSsF4E?u1j&fq*FPr+N?oPsDNgEYjmg947VD_^b%^8}OovUB^ z6*LH>vyO9Iz5LBLy9+n+;s;i46l!U_zF~UAyI$(ukP^GK;yT<t^^9_PBM;SIbR43$ z&P;yBw;#hP@OqNcGSKk!R93e5#(Ia_C~?Lo*79loxg^Hl@u~N`8E-m}H5xah4>l>; z3o<mf6Ml3=Jb0fjr*RjZXz-o)E{}3|4%4dnzJyWa<IikAB0CoZHn%jx4M@X^d$<}` zmWt_~*S5uflG60l9Wkd%#;PlUjh1inyQkhfQHfL^SfKlUXFkMVpp?7RH#cAYLuA8P ztizqWDp?Y(c)uN5=M`_C<PW+f)KA;dN&6A$WOhjWh1powa=n)JJl!oPm~{5iD_+%> zO<(a9SEM3_okm+Ajlxx#NArnGW1#(!z7Nmh$EWqsom6onB&07f#uTA#G8PBcP2=yq zO=@YMYUU>;9XePmuY^dIRLT~6#clhx_;t5?TC*P7>*_hS=6RHGs_kty9TTb!aovZs zeuCuJ(i_!y2nu4aFMO-l#2^IXK~hs{gtKFoF&lQ3F)W_3&4Y_Kh%t0py+G2e1_INQ zh27**b$OF`5Q2RfG8MiV!mjhIduaK!ugKlwsHF{eT=?esRTCE284D<tSLqMiAGUbx zs=4eneNuX?El;0+;?Qc@TwP@6lNrBxo0FK+=vq13UAouKVwzgjn^&n*)es~O_qo^} z#!Z_B)7OVk4J#1-7CnxbtlWtxz4N|OgxmP)M*=Cvo(ZD+B8d_v8AQ7ZNqFY{on`<6 ze47bbdBY-v-?ODydH{eV5Xq>B-|m1C0w@$U9ufB|KYF|c0Cf^r(mO!F!$%Mhg}ivl z3{ZFN{i4`og0!JkQo9?VrqT`D_a4N?e!e<~>marGn+&Jb;sBA4BK^x*fGoO)h9DUj z((uZruMa*HVP-Y3<WdTAQ#{gQ!+%%-A2D3``3yuraM`u|JAHwm5H{h<Xu(H~P~G7H z?w^3U>{%d5s<k@x8aS5ZQ1qDwj_Nn&0*Jq3bMm9RW+VAXWw<)3OZ|zRd8<>OLc;o( zf_f9nF#LT~1*URG*qq^;hmSnVW}qmGL8aZwHhDv9;{v}}h4^|`Wr%fI#5QB+Cotrl zF|I5As;PFpy_-*bZWaj&u2#ZnO}^vyL9n)9R;%bFN@ml3#P_SX$!S;A5F3BeH+XRB zl8Amo7Sz&|Lscc@P1DgNVudsyKvUo7Od@L8do07GYi41~TjPmXR=J52C<N-tXw2@- zM!|G-;%QL%Oon5ESG72Ef<_5?C&(@T&Gf;zDS>-yfG0{_TQ!~&ej`U&%MOF)(47$* zhkIqXTiLPSphyvCvU6de64&u(eM}-k<&i;80@)ecdsBS>ow)k4_mL<8+N?w?$4IpH zdX(cDCeod<Ga_nob@Yl=l;0-Bc(*#zVa2tsodLNm@`5b8d1pW$os}ALABTP`+1laB z)Q5Ih$_|h{2a`}&7pNWFXqZn{B7{!n>Z2Roa=C`<-C|3af-hT@zv$s-6oS8m!bAH1 z`3`OCm4abC5K^iO#~uEsPl5Q{$EFBMjxsr(*^LF)T>ycD=Oqf0PQP@sL{@`Mo0;HA zgu)e(PcR2fmI>+zQ@h!5?%|>{u|jtK2(y))U_q15jeBPgnbuj1Q(6-3MLDvTzdSt_ z(JxH;$p1B>>1C|FO0T1Corj~Ieo|b!!7N{b{HOzV6g2Kt&9J>Y@rr-wb=Bs5GiL;b z&VbUXS2k&dS~(K4t5Hd9yw*#t2_R4(S|?)+>b7#3W|6{JujD2|E%IIly6W{PXE<uw zzDy%nvfLfLkZiWV0iq9}HhP|XB*5Y#>=I19r2Z(?NO?g^d6bE=J__sBT|(+>@Pv}8 zVRr7sB}h(4Bg<j{4Ar8ExS8V{X~^kJ3RCvgEi`5KF3p^EP4M~(OOl2@OY7Nzb!4kV zLwf@RP~1vY=JDxf3wF24wEEuvXgJ#{&W4G2`6%C0g(xd~7&<2qCGP6cMn1}}poTP{ z?1sr;*be4XPPzr-3W>yiA_s)6h*oTC+KRK*$E3izbwp89bEK<hAKD@xz4W@Y?kl+& zCiC(9`|B(?jn;S9KSR*kOk9I89T5<opZ6Z7>}s^aoY3`YM83zi1<Jt@eN=hosgyKK z@JJyEhgh;1O2T{WjQB;T(@UvR*E!rdjOWct?n)vTci2-rGk75QrWFJx0^v*HKY<Mb z@Rd*ra!HMY%St$f6FU5FDTGY!zw`DcyZ|t{Z@I$s3g?}^1r{z9&f&D9^LyKTzR)H6 z!#OH`{45BC_wx9@R!A-!*ALhrxD~w>7Ss63vc7xZi!6>ERn8bBEi5;(+n_LguJirS zz`USA;MjTXyLM-FSmyiX?(q7bu57cvp@ydi?Nur{BvEU(i!J5+3rc^hip&4dJ};9w zl{q}AnNIvVXOkLAdfXvD7G%|;4X;i6o?TfBx>@$#PSdEa-a9aeYll}l1g*j))YQ0Q zm#9x5Y98km`C1tIzzTA2x4@#c@HFh6ec!F*u7h{&1;RT_E!NG2(>C&)*HKHfaQ)`Y zL;0h}z+&;OrOlB)IxoyZ8WsI<cY};*`!|=r-+wf$$`^tT8<qo+m+7d!M*DuG7ZcjH zW9F$%zV(idk@JhGPWl@pS+?&Y(9kViy7GmykKfqcl|gRi0!U4iBT8_!c5HsHu*-c) z_~NwUcRGDSUeSv!s#TaWwxJ}ZzdU|5&0sZ?qs(qB$z0Kg^5~k)JuIj}J!rsrL%kUs z`oVWIf}trLA)@7rGU}2;oyhyV-xjaYv2Obw^~jw#Zx;2&LUDbDlHg8Owa6`lRK)KS z2E!ung``B<EZ2-&{j?F<u?*K$|LD%ywnMnK%Y%mMANd;nyYj4y!V^UlOx)&%ZNeHn z;Q5+5;V#*+y9_)@!Wi(Mtx0F*VIKy^+w3=$-W?JXdG3S-o2K+IL(mg6bdhoK=T|&_ zEU_3h(RY~WN_8E2Do@x6mH5Sv+^xI-!a*+d6dLkZo*C(Krw<(CwhRjtTgDZeSU>AG ze2_^>pGv72uTOc=_TZ%QVWnNlHt}abxq?e)Nntt6hYeK3`uI;-#R%t8lJ(2To+lwP z4g1}h_Z}V`Eq?4a$Q<G$q`ey?&Dmur608^#11gS@-7mV6-{{&+ug;v*v9=bS_Ezer zW|v^UNFnS<yL~a6E^s2LHYoHsAe320VE<2Yu+4^8<HY;S0$aL~#q?j4s?5<9f&5hZ zhZ4<BCi2}6+PkT^(p7!6_2c_{$R)U23Q~iHB2USAZwXugM|~sXl%1~3_G@pSzjem- zC`Y%DjdC?3yU4RMzh-V+nF`+tPTmSmD>*V~80K+_e(&&f`vdV$>1!{<k9$+rUYz_y zeF^LTQ}pg?nN3Xa**e+}NxK%r6y)gl+vmk*e%Q6WA0KT7LGDG+`I6ca&>w}1#s32y C48*Ab literal 0 HcmV?d00001 diff --git a/vendor/phpoffice/phpexcel/Examples/images/paid.png b/vendor/phpoffice/phpexcel/Examples/images/paid.png new file mode 100644 index 0000000000000000000000000000000000000000..a4355bd6de59bcba25c7092654086f7e3898745c GIT binary patch literal 1605 zcmV-L2D<r)P)<h;3K|Lk000e1NJLTq005W(001fo1^@s6Pr#C200001b5ch_0Itp) z=>Px#1ZP1_K>z@;j|==^1poj5AY({UO#lFTCIA3{ga82g0001h=l}q9FaQARU;qF* zm;eA5aGbhPJOBUy32;bRa{vGi!vFvd!vV){sAK>D02g#cSaefwW^{L9a%BKeVQFr3 zE>1;MAa*k@FwHMlMgRZ>i%CR5RCr$PUE6V;Fc8K6H=p@P18KnDnQ<ZMARVLyx8NGw zgu8GXDc}ZOnFxWTbM}D(_-2Ng*nqU!J$v?nzz^5!bvXUMhcB<=8o%DwdHwU_^y}Tz z0<Xj6y>PsZzhjTm{k1Wl1E9Mf!)2WH-|@cL{AFDRT`;=Lb;jx`jXm8zU#sQ+(|E5I zeGMPrvIwHNcRM354HFHJ%g7o}dfjp!%g?2`hs*1X3^aPT+!FvN23um2XoxU~REVXA zN<8V!;vLkz<@JaaMb0%bl|%<Qy9PVdfGxMpdhFryJlgp8csz~A<9Pi1_&NNZ#Q<%$ za=0paeQ9yX!?|&2VJRceWg0FoRfj>cd!5Ii2w>z=hd9;*-g($Xq!8{IZzj`|2)Z@% zuh;T|#;oT<jA9spIYGB#lolgH<sjuz=W$f9%Mn9o3uL;KBmxaZwI)Hd0EPzUg=Rp; zfK__U7D|`P(AJ}LJYD$YZMDu}FSp!Fsmne93qoT?^bM6*DI)=qA;WSVVgSq7c{<?F zU~IZEh3>*yS^z^aSmqT-(LqQrWk*0G1`Y=C1$9Y&#NJ+ORx*r8=V&bjef9)cJ>gEu z@yo?9V@8knGH^X~AxGsBd?aTdfPEtzH_Ive0gMZiGFGe`m0_<br1*jQ><kud_zR{x zGd-LYV6A*)dCmvaS_VVR#GdcLV3RC@P<cLp<-M=iW5VImCro_?1{1Q_838sAj{#gv z-mo2uA#Z0H3SHNe!MGyoRzS4?hLUo*Q81Ip$6P8tpX2*2iEnlEr|Xdcwdc<ZFjTzU z3aIwZ22Za*ijH&H67GDC)Pji5-B4b(P0IqUTMOK_V{M;j#^;$xr_VhBhATU(vh&{8 zudD@u482v$0?lh(b4t8h#<oX>HJ~Y{?E^3-L<MkIl$|H@>#^c<HRN$N2K_8aeoQ;U zP7I{a_w513fy>_T%-O396x`jnfxHZ`V?T>*IX%`Vcot{P!BBWe<J<F}T-K)|8**Ux zZCM~ASXg_0uhmu>IndfhnS2;5-)Sk`Z07;4`P2S73vtQ5FN+}~Xbf9s%Dy=m*Q#&> z7}LxwDZmb{^+MYWgbePT?4$Ya0Ba<2IYr|tG10g;OU%I=dtbGKE3f^M{X4*##%Naw zWvVW{n2@&ldU<Rr&*u$4%!s`^`*(mj1I!yhXuNfD%e+R1%4>U7n;hU?MXKLoLB`+u zJXaNBFqJDXpD=z_2J6rV^Yd~o5Rvh4BT$|KNM%JbO2@0`mVK*8vLd&%DfR%cq*SS) zxNSW4WdFPXW1dC692a2uOC7p!hKz50e8u#Nq>iy42HSi$#s6in92~mtJM-od`%-M( z@aIhON#{H=gH7R4$6l$*Lq&jf{PO{f%fD_fe;gBFx%c4SSG)0w8^o3{hCJOe_Wa(S z&mwX4{?93o3NU?gzclF9$^Kpd78=YRU}hTCvw4mOu;oh~K1xF@rVo=n0LJZFd2|98 z`iwvpQH}_(IT-A1gjnezrRfWr{Qyi?2<2fIy%V`|#3KUCFFf)&Oqf&0V*3G@>=RDw zR6-1{<0bidD9{;P+fLAK<3Udo`h@t&DMRl{mW#!l3o(4v7M9o6^kGA*)ZAF!0K<(# z>Bmx-0z#{c)Mi1i7cSc{fyqJ_z74eD^8Mp=Ka`&ezYi9bf(D&?gsn}$D7ao0^Ir#S zw<;KLr8Og&WjYLNkn52D+-0rL7w3&f09-f%Q?Z}Xq#S(yjaC*^s4*GN+mdhH$8O^` z9c28N)U!%NYfa#YPT-}(@;Xqs?Q=e?k^U-U1Q;%JmwT*`;;jHH8H$sE16WJ`(tfh` z^>rO;_onR)U^<o^^)dl0c%Pi68DrkB>Hl{DcBJ#a;GlB~WE_RR00000NkvXXu0mjf D4Ug;C literal 0 HcmV?d00001 diff --git a/vendor/phpoffice/phpexcel/Examples/images/phpexcel_logo.gif b/vendor/phpoffice/phpexcel/Examples/images/phpexcel_logo.gif new file mode 100644 index 0000000000000000000000000000000000000000..6e1b5ee45266afddac77bc2b71b3e65f0a3e4037 GIT binary patch literal 6104 zcmV;}7boaPNk%w1VO;@G0QUd@0000G5D+OTDMwo}M`bQcX*5r5I#X;kQ*S*~b1hbK zHCT5uU3E8EbURsjH(h=?VS773KtNDXP+N9LX@62=WMp83J7j}7WQ0Fti9KnIK4y?R zXPi7~kw0sdKXj5he4RILpf_r!K6$1&e6Bcnzc_xoJ7<PQVt`0$kx6ZtKyRKwZkR}L zhE{c-MtYM@eVIUYo=|^_Yj37UZ>d3UtwC(CKyjf#a-l?Wr9yO~LUpD>a;rpjszY|E zMRu=3bgx8ts6%_KLwK!3b+klxut{^iLV2-5d9g)#v_gBdM18PEd$>Y)xJG@tM18$O zf4)V1wN!Y)LVd$Te8EeLr$2zQIEK4EjkY?GtUrR9T8x@?f}lczuR?{ZR)V)ki?K(B zw^xy}Ly)#em$ONby+W6{Mw7frnYBcmxJjM1U5~nDmZ^NDx^#!dIgrOcfx<z7!bXC` zMuo#ghQ&gJ#Ycz7MS{Xeg2hOH#Z895NrlBqhsH~X$V!dGLyN#ph{Z{Y#!8CCOpd}z zkHAih#!HUJO^e7zh{IBh%u$xcM3Bczlf+Gyz)X|MM3>D+lFLYv$xW5WNtVh^mCa3> z!$FwFO_|J2oyks}&P<idP@2S2naWU_%2S!lQJKtEoy}35%~YDpT9d<JnaXFR$wQ;d zQlZXMqt8{R%U7k&Ql`&UtIt-U&_boqPNLCSs?k@b&u*#AW3kkJfPjFHkB^R;hM1g- zpP`JOrIMeZpQyT+udlDIwxh1Mw6nCXv%IOgzPG=>zqP`Fzt@bt&aT7Gy3gdY#>~je z#?8yj%E`{i&d<-z&eG1*!pqUo%hlA+(9+G()Xvw|&e7P;*xJ#~)6vh?+0WI`($CS+ z($Uk>(9qS>(AUw@)Y8+{(bCq?)zQ+_*3{I|*4EP0)z{L|+0xV4($d@0)Y;V2+0@n9 z)YaP8)Z5k8*w)wC)z;h9)ZEtB+}GLE)!EzF(%IkN-_z6J+0)_I;=|wV%;)se@9*#b z|Nj6000000A^8LW00930EC2ui09^r4000R80Q(6XNU)&6g9sBUT*$DY!-o(fN}Ncs zqQ#3CGiuz(v7^V2AVZ2ANwTELlPFWFT*<Pf%a<@?%AARDpT3(obL!lAlcvv~K!ax7 zM{JhSqey4PBBqZa(N(KVnL0%klvPiivUb9%wJWKmO@)dbOExGmMQ<EAlEk*{qB3Q$ zw8^*d7$#SEU1i#v>Cq!dfFT_kJlKw5J9OaC@gs^@*~gG0qnzdEuO?BKE=}5OsnMCZ zYW684)(VzsSWv5i^2CYL=17KO7b+x(4<AH(;FORPE3D+-z=Knq^@b9pNu64==G579 znJR5WBP8aEm33B7RZRtj>5}V7k-|s+T2#nTp+I!%?7>r_#4O?P<I6WVtBfW}+%tRH z%*gYZMq+@_Mnc4_Vj5Jdph8tBtL+Egc#DuXTOfeY!N(tZ*zv>{vCQY;hmujo$t9Gy z<{fkXoneL;Fla&7LDaDV3w8;r=G|-IEh5`_fbg+L9dZN-#S`y=XylPUQRWGWoGjPe z8Bm&0#Ro6EXi$tZLZ#p-R^9mEcso+)BalKqu|zRQrm1F2B2H3bYbZiF#u!pk>CAMl zm`3B4U4AE?j^^<=W{`Ibd4v~MuBqsvAQ87&iOD^A#++twp}`Br;CWzbHoEqwjuQgX z<Bx<w;RF*Qu)*l6tZGEuh?I2yVu_@4j*$io7n}f$Im|Ru5OtfbVxwkXMi?lCJ(7t> zp-%h|LJXO<DlMb@R3HEV*a9E`EepM>*(QyI3+1G9k^#d5x|*|1Gvp8i?4HBo2;qdt z0s>?l%bHrmv%82h?Z0Z$lI_3%2%`{Xv-X!Fxnqby#s>?au<JJGjN@*e2=WO^X7WZz zuc-FQfp4Kq_z=PhY#`$+M7q%8^2;#4EDSRgF;hVVIM-4UFB0G^0WS@;9P`k$%na~P z0uzj_!3oWBMYsyfIVTukI1I7G>T+Z8K)@nM6_*<m`)Q~k-<vNJL9C!c8_S^c%|jI^ zE%(3?)M5`r5fIF@L`pON6!+Y7*L}A_!Vqov;rtxUP|`~8eb6je3_^&ClTIo|!&zj3 z#s>~i01P(YXp@e+t-NBounbb7Iwj%7W=J227~+Q@h}pJBka)y#st+8fzy>qiWb+W< z#A91Q;tl0Ju;UQ*y-@MQACC~@&=aq-;tEl}{AgleF~%8UFibVoX^^3T0-k?!PB!Nd zbc`jftdfc;s?6^SCir7A>#ULt0tjt@IK-&rkULYMjRPL|9XPV#4u@0^Z~*`sLzI^- z<_(Wv40+((B6yGhXpndkz+U#|W<i4NV-{j41C+$T!WKHrTo7=;33~C2YGh*_CL~5B zN}-oh`0$57{GlTM0%03LREQ5iDxedRz`F!8V}0Im;0NWViwWwDBF<CD6sc&CEe1}6 z3DI5!7qX9GWC06c$U+skzy%n%5e6TCKn!)2j%hH19`xD78#ECKwJ<^vfD9yBD)9(O z%%KlPOivQy@B}6#VFw)O!0*zLjc7=5V1|ppwdN+lgivs4Sj6D-2$soB%B_<E@uJ)! z0LJN&upw;#!3R8`feSof0k~X10u%s&1W+It?Z`$pMpuv%`oRu;paUK3FokALK?=~6 zf(gn{2|x6K5B4Hc9CW7yCFmfMY*5DfxN*sBDa0OsBUk{ChmcPeER+MwpePZ7PPwg< zAgWXvD_d#*5HW%hmRbmC3kFJ1f>OX1$*9LXzVSAL=z|!e2!li=8ig=K;i4Gz0vZ(I zBRi04o2Kff3pOB0afXAO4as6cnBhT!RX`!`EMZFLnGlsCgr!P*=|J*HN`Ch9l@4)+ zP=oP{q87Cmzvu-pmQjyvgyS0JNQg6vQ4C=0;;LB9>Mqn!hCJ-S4S5LCHXEq~B#cx8 zzdOfC%ZaUq;FMtOG)PS0Y0go`lOb;%7&`$c0G#>tuYkqb;Cwm|f4);9;DE<Ez~K&c z;Da6KxCb}L0gY?C!>#DZ>^aUM4sm=V9@rSh6%bJfu!?M~OgMsBH;{ozu63q&Wk@ZQ zR>gMzUU4EeJxFd5GFyVxwjY3#DPbF8Sm7!p8`>zxHnu^IZKw|%;P}Qiq7hYwD8m~J zWvDl>%Z_HW;R<+Ij~xieNGB*E2}i&|22Q|+WvD|ND3xby8DdIoh0wO!!!1n_vRj1I z7XbGKE>MRnk>XCI8`kK?HLQ^hZ*-O$*wuzI9KwufL_-_eu&{-j;a%|Z0S|K^ZzIur zgd1c41MPipeC=A-hNKf)0`TN*`L<u();J+A*49o3Okju@cp~H&hmfJW-EEYk9NN%G z8?3O056?k~jy%E-R&e4J!<Vf9c!)0g+mE^GcfS0+F+#RH&*1(>7($~(ErbzQi7=!8 za4%bPn-|C9pA5qa;hn;h<6tThPuT(}b}xpp{19Pq*~>HrvyBy<5JQ)_&JeMO1pXTU z2@Liil5T0XBrs=!@Ix2w9GC!V(dkB4K+{SSKm{&6Lb(|iCU*`mi0{D2DF0vxE3g0r zQoM~M!?wi?aWta^g6N2FdB?*(h_G91W{NDEVEe?c(n{SATA&(&+zNK60VlnM{5UAX zAi?dH#jGTtcL+mJfv&f(jCAyx&<=TamZkmAL<2j_$u@|*k=;0p{5QY)o|{e$Vvm0p zFTe=NarFW~vsU+8DB&JApHGzpB-}dP>uxu4;Z0m<%NXFs7BfCY{!_Z~d&U$0k$1MD zU65@DfYk!Y>j!^p5DBP~;SNVRLh^Bpp8Ndg$MB6u+8}OxO`OC-=s^!W@Bj#~TOAw! zbz2=`^MMUqt~$S9zEer^f>b?Q18;Ukwq5Ums2l*<E{Hv@t--VxMByKNc^Dy05PigA z6PWmfC_=&azVkg3Me<0v^8g1q=)t_`y|vPr?sWHV0~{P*2tR21@iBh+-iyXOLMHFq zlY@LB%-}25m3Gh3d(rKMC0<`ONj#Pp<l8VZgeqKt3RNH|L8!=mCK%xu!IOaSQ-H#G zk09lwFTLqc-^Ply*!9%Iwer|nvoNMl{pwr4`p4$_)}60c&s*LiaK{$^&Ch<lg7g-G zI5Rlv`(Y2jMWEpVv4>#~Tk?k^Bo=;{k^WC(o$Tzs_Z$&!R3Haazy!mmcs-B<jF)`N zS5wW`5At?(rpHrqBVU>qa4t1+`Gjx;$96DA5Ze}G2Eh*=h%FJoJi1U{>lc0!I1pr} zPp;%@3K0vB01K%g3)V3sG=d<R@CLls5dz3a-6Ul{pmaH)fXL@~4Tx_SND#unb}$Em z6bLvLICX>rg&LSoQOJEtlWk{5b1ukj2~i6zRetd|HyrqSa}$NIXAm?fKeCVt2%-vf zNQbb%36S6hqyU6gkOxp;fW(J@N7w-lzyJ&wc?1V{>(_EqI5$=QIB)c%hy^i)#>Ec? z2LSgJg8ubI=M({QM-Ya!g#y8OlvjUQM-Xoa3$K8Cxwj<?vIulQ3POhwcSZ%LQdUxC zgo9X!Tc8Z;;0;Tdc}sJByg&<NCxS55h!x0U!)SfQc#K^{fv@(0U3hjS)P8i=5C(^g z&<A!0(S`*P3y$Clst^jQkb7SPHlT0{kYES07=Ttl1x!E$OOT5Rc!W1Vh=!;P@c@ii zHbnwJZ397eQ}~DgIcJneUmLV-t`~-K!;KI@iaoUuaMzI4mW=`t3z0yFub>L)$ahwe z6^`HrqmU@HXa!A>1VliDx_ARPK!^>{i}COckSBFh)NKp@QEbiAd_0AdS*S{)Xm(R1 zQ{lIW4Z#bXL}#S;jTqSvu^<WScnYDQj#hCMmtYA~fC$FWKpGKlO`rrsV0`zO12>S5 z4iJ;euntjYkkumquO@|`r*%!}eQhaR6ljqLL6AAsjo%j$hE)NF^D<<|lroqQPYDW{ z016CJm0fZPOTq|QX$;uK43~8g#9#$PfCNBbd`C!@H?RU4aF*=G4r|Gb)$=nEp_6iH zg%0>ZsL6bVsS(&%J)(GtL8%bo$5Vu9e+O}xiRlSplNrM437!xMk$GXw;4hYmnVQL& zp1A^`DVobbn!fgkfrT?__LlTUe<8Ph`gEPy`HyA)ml3&Xb+DOz$*7E)2ac%d2$zrv zO|l$tvKgMB36QCk+Q3lNWf7OTnLrQ(WBHlTnE}$t4ufWsAEBCvD2$M35n`ti5(zj# zNre=lm#Vazr#KMeI3mP3pPR86e6$Espq0`PI{R4>#6SWyFa$gh1UulF0;&Q8ssN*T zppTfK8G56pnGp|~5!5J#t%;s|Nr4b45bUX;k}wJ0p$Q+_q>;c!hA^VW5M9)T5h=Q& zJn*8=sWvjI05m$CSB9V-p`c=Vo~&6BJ&F;Rs5GKTp%Y=DQ^Y~07?-HH2ui96Oe!zo z0i{w34&o3E4aJ{UKm$FHrT7S)Dv+od;H5SH8jR7neQ%nhJ36Tsk){?ge@c^vbO`{r zIivs}eb*PN)mLgqnvs4m36c;VdO9BCF$hwS2UE&W$|<Nc-~%-9q5{gL9<Zoi8V_Nr zqa8t}z#61yN>`E^5hVCQGIfdCc@W{(tPWACPU#1c014u8t>R$_n@|QO5C+B24c{OQ zvx=f5AObva13G{MpP8sC-~k?B0Sa&cjk=&2A*_^2tPP5$O&Jm4SAuv+c1Ed`N@Io? zA+7jVt)CJh3Y!Roa0Mmct=|w1))1)VN&_>117wM)?dq=ZDzEMKtM|GQ_G+g2%Ah>D zuMaVs&^CXlG!Wreqz-|Ua?^sB+LZYJX9$Y`Aqu;*iNFX~kOba(4%F}sCrS~rFakM% z11@kfy6UbS(6Q{64j@aiI7+8wimxXdn-@WLY*vCWdwy)%5X_^p0}}uoVX%H+2!{|G zJ3AW_!U%()1YS@K?Qjpx5Jmji1!Z{yOWU*_&;d^yuTeX-SUaZ2TDVk;5tb?uXSYxD z2ZrqDev+3r1bc~)TM=lhwyqN>Zd(X|un2?j1z|7@#b6A}unZKT5BV?)T_6H8@R>Nk zr5g*lf$OnS>!_3XfD$pXh}*mRs<jottfN?hrAH8JO0xpN3oXTg{R)2!!4JY^uyjxe zhtRoh8wl8I8=|5Ih%gGIFbdxPOA6vUzU2G8qp$|(o4#S-1tSmw7F(7Y>$J4{00-c) z28y@CDzb;mgvI)(bGe!W1FE8GePhOnMhZCVhp8u65WMh7t`~Y6^p-q>EiKE1Rx1#s za0P;J2!epU9_+y(BL{t82XIir%@j@1WCSX#!Zy&tEnEX45W_Ki0~WgiA;1FcD!(0| z0UAKRwrisys}a1*za{Ix{cCSMIf5nVILT^HZPvu-hcl}*f%>Ei&iiJ@IFWPOmj;o+ z8*D@%6UG4~KzcAH%d!WwwjObyXK?U`-LwStXpcRx13M4{Gq3_600Jz~J373>JzT$o zTb)5%ulsAVgN(%aRHTOg)sXYof|v?D4GF<hXq3|01}1O_dQb>WW*a`T2cG=NpL_>F za$0v#%FJ?JN<e(*CYCRnuCeR4e+#%8kO3J00R~V2y@(F}c(wX_!H4{lMU2S#q;`Pg zyra0LFt?_Vd=OxpPn6u0mW&66KnHlh$)J4Ar98@~#b>61c*KVULm-Gpr~~jDzdFpr zv<v|SfXm|ac=U=9Lu|;2TdB(Ub^=$xXgGq(Ogu(eo)1K@7R<#3VaZg02-I8$2%XRf zjRy?f(A)ITP+&mjW^Ssibh>z`8oRNvyaDK(&g<NZ=dca<`^y#)&qf@~z?`)ODU@rN z5Nm2dmbgU$IffMfxP_H$0#u*})U3_gyiE>GYkc+uw@A@}D3$@5t2r#c96igli~$U= z&N843@DL7`q>ZBX5ij<M5>a0;TM%4L$WzFTWQV*0@uLHysnzm9K6wz#0H>=Iy-i6B zS0D#-KnG#P(_*zvKpoKrbYAF%1VwGpbBvEjt<kZ(!?b*27=Qr^0M*JM4^;gSZ)P+g zVGq=I5tD7qD>Z$ZT{CW7JZ89!w@G%I8h@vzdaG7wrwz$=vk)=|V*;rUYG4I)AO}>? z(Bx*yAl1!?N6|>|+dqJSbgZT73Y~sSyNKP?i%q{Dtqkk{s67T0mR)_FI*QjPkY+~< zH{(|oPz#;^O<}b_3q9jk5<m;O0Il&istrL5U0?!J0Mxt9*H6&R-Q?G*bp)#{*jh@? zg{{%F+tIWPXcn*l2e8h#a1QAp4LB6t3@#k808MZZd_yuMPaxDxV1P-G%1e;S#fNSd z-I*|I+==S0I?U0Dt=Jgw010pa1W*9IpbqJfSPeeoz;S0L&;)<T1WteiM9>6|MAX3z z1VYXOJU{~=9^x5o*c-6q0G<IBZ~+<s0rg7&1n^7pkPh5HOf<gbWpP3z00vzU=1cGe zUqAwH4994G1VXUpYaRqaAOvns$2!2@F}krVaM*|q<r;7T5YX7`Yyi0s4(X5%>(D-2 ze&}QWp$}~^0%0x$VO|B09_g7g>6BjSY82^f#71rOMjz1WozBBNd;tvL=Pf<}GGGkz zfZ&^j=&UXj`mhGj=>sn50x*E6B+lgMd;z+?>$@&TzAi@$5bVM}>RuYJ@mk>POyw2O z3-b^Ski`w-+Un9S6N>Hv9B}Q|-T_OV*cQ<37VrQL-~hRlOU3S`2w(u{p6<82&g{<a zRKCswPyiF43k<{!*N_h0Ajs3c?=Z0oTEGGT&jKkh@F{Qt29E(Kknjq>@DtGR4&ML} zAMp^602E*G6tC_EFafmS3*{gV+8_^E9u1Yr?<D^c%b*Lnkn$;y3o5_zxbX5Y|MIuB zF!MBD^EQ9;Gj9vGU<<a83&HRV?BEW~ke?o}?<IfqE71(ku=GqX4Nfl&-0<{L@AOMA z_1tjvSby~zw)N3q4c2fC-Ovr{;11(ZqVFIL+c05BzxFNh4bk9W?(h!o&{^VeWOje| zc%S!rzxR0WVBgRyY#;b-9}UdVD;UQ0h@be1zxat?_*^OYkiQb;5clpd`R;J}n4kHY ezxkZs`IsO1pdb38Kl-F!`lf&SsQ)1W0RTH`1uvEW literal 0 HcmV?d00001 diff --git a/vendor/phpoffice/phpexcel/Examples/images/termsconditions.jpg b/vendor/phpoffice/phpexcel/Examples/images/termsconditions.jpg new file mode 100644 index 0000000000000000000000000000000000000000..1f21302e4265ddae9dde9cac249634da1008ddef GIT binary patch literal 528 zcmex=<NpH&0WUXCHwH#V1_nkTWcYuZ!I^=Jot=Z7jf;bWgPV(sn@>W3kC&HER#Z$- zLRnr_MM+*sQBB)iUrp0QQ&Gvl(a^-w+Rn~SRnNuK*~Y`%*3KGa2qPCaHy<ybjDUcQ zwT6<0HOb)r0R}-11~CRPW=16jCP7AKLB{__7$iYXWd=GF0a%%s*;#;6+5!wrjLghT z%$zW3MkZzk7C}}vLm@>Gr9gIJBge$T#)%6*02NCxG5{r!0W&KD6UZ1jK?WuuK$2u+ zVi06z5i(X(D*S(ofd^<ilOVGogFVB`X}jB`mn+Jt*+^`@^s3hSoBgTDJM{B}G}Atm z^K~3Q7qjC10p_>=OtZe{yfpv3<<qS%r~WetA3N&#H-tBJw#VgXTO!pelqa;7e=bvy zNq;%ZeUF*pqwm?`AI?_n5c{A$JLOf>v4xdofydi=8NLTwCav+$sVY0G?Y~(~_?6U> z2YsT22cP^|>GRb}>_Ksv<V7vH?c3u+UmL`q%t|>P^`+g-CY`;xE2!tkWratNj!10` mPD<WZwshO=$XS;2DxV*Z=`sAlG-YW7!=jd!Njc~L-vj`%mYv1` literal 0 HcmV?d00001 diff --git a/vendor/phpoffice/phpexcel/Examples/runall.php b/vendor/phpoffice/phpexcel/Examples/runall.php new file mode 100644 index 00000000..b2af1ccd --- /dev/null +++ b/vendor/phpoffice/phpexcel/Examples/runall.php @@ -0,0 +1,130 @@ +<?php +/** + * PHPExcel + * + * Copyright (C) 2006 - 2014 PHPExcel + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * @category PHPExcel + * @package PHPExcel + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @version ##VERSION##, ##DATE## + */ + +/** Error reporting */ +error_reporting(E_ALL); + +if (PHP_SAPI != 'cli') { + die ('This script executes all tests, and should only be run from the command line'); +} + +// List of tests +$aTests = array( + '01simple.php' + , '01simplePCLZip.php' + , '02types.php' + , '02types-xls.php' + , '03formulas.php' + , '04printing.php' + , '05featuredemo.php' + , '06largescale.php' + , '06largescale-with-cellcaching.php' + , '06largescale-with-cellcaching-sqlite.php' + , '06largescale-with-cellcaching-sqlite3.php' + , '06largescale-xls.php' + , '07reader.php' + , '07readerPCLZip.php' + , '08conditionalformatting.php' + , '08conditionalformatting2.php' + , '09pagebreaks.php' + , '10autofilter.php' + , '10autofilter-selection-1.php' + , '10autofilter-selection-2.php' + , '10autofilter-selection-display.php' + , '11documentsecurity.php' + , '11documentsecurity-xls.php' + , '12cellProtection.php' + , '13calculation.php' + , '13calculationCyclicFormulae.php' + , '14excel5.php' + , '15datavalidation.php' + , '15datavalidation-xls.php' + , '16csv.php' + , '17html.php' + , '18extendedcalculation.php' + , '19namedrange.php' + , '20readexcel5.php' + , '21pdf.php' + , '22heavilyformatted.php' + , '23sharedstyles.php' + , '24readfilter.php' + , '25inmemoryimage.php' + , '26utf8.php' + , '27imagesexcel5.php' + , '28iterator.php' + , '29advancedvaluebinder.php' + , '30template.php' + , '31docproperties_write.php' + , '31docproperties_write-xls.php' + , '32chartreadwrite.php' + , '33chartcreate-area.php' + , '33chartcreate-bar.php' + , '33chartcreate-bar-stacked.php' + , '33chartcreate-column.php' + , '33chartcreate-column-2.php' + , '33chartcreate-line.php' + , '33chartcreate-pie.php' + , '33chartcreate-radar.php' + , '33chartcreate-stock.php' + , '33chartcreate-multiple-charts.php' + , '33chartcreate-composite.php' + , '34chartupdate.php' + , '35chartrender.php' + , '36chartreadwriteHTML.php' + , '36chartreadwritePDF.php' + , '37page_layout_view.php' + , '38cloneWorksheet.php' + , '39dropdown.php' + , '40duplicateStyle.php' + , '41password.php' + , '42richText.php' + , 'OOCalcReader.php' + , 'OOCalcReaderPCLZip.php' + , 'SylkReader.php' + , 'Excel2003XMLReader.php' + , 'XMLReader.php' + , 'GnumericReader.php' +); + +// First, clear all previous run results +foreach ($aTests as $sTest) { + @unlink( str_replace('.php', '.xls', $sTest) ); + @unlink( str_replace('.php', '.xlsx', $sTest) ); + @unlink( str_replace('.php', '.csv', $sTest) ); + @unlink( str_replace('.php', '.htm', $sTest) ); + @unlink( str_replace('.php', '.pdf', $sTest) ); +} + +// Run all tests +foreach ($aTests as $sTest) { + echo '============== TEST ==============' . "\r\n"; + echo 'Test name: ' . $sTest . "\r\n"; + echo "\r\n"; + echo shell_exec('php ' . $sTest); + echo "\r\n"; + echo "\r\n"; +} diff --git a/vendor/phpoffice/phpexcel/changelog.txt b/vendor/phpoffice/phpexcel/changelog.txt new file mode 100644 index 00000000..29377308 --- /dev/null +++ b/vendor/phpoffice/phpexcel/changelog.txt @@ -0,0 +1,1430 @@ +************************************************************************************** +* PHPExcel +* +* Copyright (c) 2006 - 2014 PHPExcel +* +* This library is free software; you can redistribute it and/or +* modify it under the terms of the GNU Lesser General Public +* License as published by the Free Software Foundation; either +* version 2.1 of the License, or (at your option) any later version. +* +* This library is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +* Lesser General Public License for more details. +* +* You should have received a copy of the GNU Lesser General Public +* License along with this library; if not, write to the Free Software +* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +* +* @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) +* @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL +* @version 1.8.1, 2015-04-30 +************************************************************************************** + +2015-04-30 (v1.8.1): +- Bugfix: (goncons) Work Item GH-397 - Fix for Writing an Open Document cell with non-numeric formula +- Bugfix: (sarciszewski) Work Item GH-329 - Avoid potential divide by zero in basedrawing +- Bugfix: (ymaerschalck) Work Item GH-405 - XML External Entity (XXE) Processing, different behaviour between simplexml_load_string() and simplexml_load_file(). +- Bugfix: (MBaker) - Fix to ensure that current cell is maintained when executing formula calculations +- Bugfix: (MBaker) Work Item GH-350 - Keep/set the value on Reader _loadSheetsOnly as NULL, courtesy of Restless-ET +- Bugfix: (MBaker) Work Item CP18105 - Loading an Excel 2007 spreadsheet throws an "Autofilter must be set on a range of cells" exception +- Bugfix: (MBaker) Work Item GH-388 - Fix to autoloader registration for backward compatibility with PHP 5.2.0 not accepting the prepend flag +- Bugfix: (MBaker) Work Item GH-384 - DOM loadHTMLFile() failing with options flags when using PHP < 5.4.0 +- Bugfix: (MBaker) - Fix for percentage operator in formulae for BIFF Writer +- Bugfix: (MBaker) - Fix to getStyle() call for cell object +- Bugfix: (MBaker) - Discard Autofilters in Excel2007 Reader when filter range isn't a valid range +- Bugfix: (frozenstupidity) Work Item GH-423 - Fix invalid NA return in VLOOKUP +- Bugfix: (wiseloren) Work Item CP21454 - "No Impact" conditional formatting fix for NumberFormat +- Bugfix: (bobwitlox) Work Item GH-467 - Bug in Excel2003XML reader, parsing merged cells +- Bugfix: (MBaker) Work Item GH-302 - Fix for CEIL() and FLOOR() when number argument is zero +- Bugfix: (MBaker) - Remove cells cleanly when calling RemoveRow() or RemoveColumn() +- General: (MBaker) - Small performance improvement for autosize columns +- General: (frost-nzcr4) Work Item GH-379 - Change the getter/setter for zeroHeight to camel case +- General: (MBaker) Work Item GH-394 - DefaultValueBinder is too much aggressive when converting string to numeric +- General: (MBaker) - Default precalculate formulas to false for writers +- General: (MBaker) - Set default Cyclic Reference behaviour to 1 to eliminate exception when using a single cyclic iteration in formulae +- General: (MBaker) Work Item GH-396 - Some Excel writer libraries erroneously use Codepage 21010 for UTF-16LE +- Feature: (WiktrzGE) Work Item GH-404 - Methods to manage most of the existing options for Chart Axis, Major Grid-lines and Minor Grid-lines +- Feature: (frost-nzcr4) Work Item GH-403 - ODS read/write comments in the cell +- Feature: (CQD) Work Item GH-389 - Additional Mac CJK codepage definitions +- Feature: (bolovincev) Work Item GH-269 - Update Worksheet.php getStyleByColumnAndRow() to allow a range of cells rather than just a single cell +- Feature: (MBaker) - New methods added for testing cell status within merge groups +- Feature: (cifren/MBaker) Work Item GH-205 - Handling merge cells in HTML Reader +- Feature: (MBaker) - Helper to convert basic HTML markup to a Rich Text object +- Feature: (MBaker) - Improved Iterators + New Column Iterator + Support for row and column ranges + Improved handling for next/prev +- Security: (MBaker) - XML filescan in XML-based Readers to prevent XML Entity Expansion (XEE) + (see http://projects.webappsec.org/w/page/13247002/XML%20Entity%20Expansion for an explanation of XEE injection) attacks + Reference CVE-2015-3542 - Identification of problem courtesy of Dawid Golunski (Pentest Ltd.) + + + 2014-03-02 (v1.8.0): +- Bugfix: (MBaker) Work item CP19830 - Undefined variable: fileHandle in CSV Reader +- Bugfix: (MBaker) Work item CP19968 - Out of memory in style/supervisor.php +- Bugfix: (MBaker) - Style error with merged cells in PDF Writer +- Bugfix: (MBaker) - Problem with cloning worksheets +- Bugfix: (tavoarcila) Work Item GH-259 - Bug fix reading Open Office files +- Bugfix: (MBaker) Work item CP20397 - Serious bug in absolute cell reference used in shared formula + Would also have affected insert/delete column/row +- Bugfix: (RomanSyroeshko) Work Item GH-267 - CHOOSE() returns "#VALUE!" if the 1st entry is chosen +- Bugfix: (Gemorroj) Work Item GH-268 - When duplicating styles, styles shifted by one column to the right + Fix also applied to duplicating conditional styles +- Bugfix: (IndrekHaav) Work Item GH-212 - Fix for formulae that reference a sheet whose name begins with a digit: + these were erroneously identified as numeric values, causing the parser to throw an undefined variable error. +- Bugfix: (IndrekHaav) Work Item CP16208 - Fixed undefined variable error due to $styleArray being used before it's initialised +- Bugfix: (PowerKiKi) Work Item GH-273 - ISTEXT() return wrong result if referencing an empty but formatted cell +- Bugfix: (PowerKiKi) Work Item GH-270/GH-31 - Binary comparison of strings are case insensitive +- Bugfix: (MBaker) Work Item GH-275 - Insert New Row/Column Before is not correctly updating formula references +- Bugfix: (MBaker) Work Item GH-257 - Passing an array of cells to _generateRow() in the HTML/PDF Writer causes caching problems with last cell in the range +- Bugfix: (MBaker) Work Item GH-193 - Fix to empty worksheet garbage collection when using cell caching +- Bugfix: (Jazzo) Work Item GH-248 - Excel2007 does not correctly mark rows as hidden +- Bugfix: (Roy Shahbazian) Work Item GH-299 - Fixed typo in Chart/Layout set/getYMode() +- Bugfix: (EliuFlorez) Work item GH-279 - Fatal error: Call to a member function cellExists() line: 3327 in calculation.php if referenced worksheet doesn't exist +- Bugfix: (MBaker) Work Item GH-290 - AdvancedValueBinder "Division by zero"-error +- Bugfix: (MBaker) Work Item CP20604 - Adding Sheet to Workbook Bug +- Bugfix: (MBaker) Work item CP20703 - Calculation engine incorrectly evaluates empty cells as #VALUE +- Bugfix: (MBaker) Work item CP20760 - Formula references to cell on another sheet in ODS files +- Bugfix: (MBaker) Work item GH321,GH158,CP17824 - LibreOffice created XLSX files results in an empty file. +- Feature: (amerov) - Implementation of the Excel HLOOKUP() function +- Feature: (MBaker) - Added "Quote Prefix" to style settings (Excel2007 Reader and Writer only) +- Feature: (MBaker) - Added Horizontal FILL alignment for Excel5 and Excel2007 Readers/Writers, and Horizontal DISTRIBUTED alignment for Excel2007 Reader/Writer +- Feature: (trvrnrth) Work Item GH-261 - Add support for reading protected (RC4 encrypted) .xls files +- Feature: (LWol) Work Item GH-252 - Adding support for macros, Ribbon in Excel 2007 +- General: (cdhutch) Work item CP20055 - Remove array_shift in ReferenceHelper::insertNewBefore improves column or row delete speed +- General: (MBaker) - Improve stock chart handling and rendering, with help from Swashata Ghosh +- General: (MBaker) - Fix to calculation properties for Excel2007 so that the opening application will only recalculate on load if it's actually required +- General: (MBaker) - Modified Excel2007 Writer to default preCalculateFormulas to false + Note that autosize columns will still recalculate affected formulae internally +- General: (dresenhista) Work Item GH-242 - Functionality to getHighestRow() for a specified column, and getHighestColumn() for a specified row +- General: (adamriyadi) Work Item GH-247 - Modify PHPExcel_Reader_Excel2007 to use zipClass from PHPExcel_Settings::getZipClass() + This allows the use of PCLZip when reading for people that don't have access to ZipArchive +- General: (infojunkie) Work Item GH-276 - Convert properties to string in OOCalc reader +- Security: (maartenba) Work Item GH-322 - Disable libxml external entity loading by default. + This is to prevent XML External Entity Processing (XXE) injection attacks (see http://websec.io/2012/08/27/Preventing-XEE-in-PHP.html for an explanation of XXE injection). + Reference CVE-2014-2054 + + +2013-06-02 (v1.7.9): +- Feature: (MBaker) Include charts option for HTML Writer +- Feature: (MBaker) Added composer file +- Feature: (MBaker) Added getStyle() method to Cell object +- Bugfix: (Asker) Work item 18777 - Error in PHPEXCEL/Calculation.php script on line 2976 (stack pop check) +- Bugfix: (MBaker) Work item 18794 - CSV files without a file extension being identified as HTML +- Bugfix: (AndreKR) Work item GH-66 - Wrong check for maximum number of rows in Excel5 Writer +- Bugfix: (MBaker) Work item GH-67 - Cache directory for DiscISAM cache storage cannot be set +- Bugfix: (MBaker) Work item 17976 - Fix to Excel2007 Reader for hyperlinks with an anchor fragment (following a #), otherwise they were treated as sheet references +- Bugfix: (MBaker) Work item 18963 - getSheetNames() fails on numeric (floating point style) names with trailing zeroes +- Bugfix: (MBaker) Work item GH-130 - Single cell print area +- General: (kea) Work item GH-69 - Improved AdvancedValueBinder for currency +- General: (MBaker) Work items 17936 and 17840 - Fix for environments where there is no access to /tmp but to upload_tmp_dir + Provided an option to set the sys_get_temp_dir() call to use the upload_tmp_dir; though by default the standard temp directory will still be used +- General: (amironov ) Work item GH-84 - Search style by identity in PHPExcel_Worksheet::duplicateStyle() +- General: (karak) Work item GH-85 - Fill SheetView IO in Excel5 +- General: (cfhay) Work item 18958 - Memory and Speed improvements in PHPExcel_Reader_Excel5 +- General: (MBaker) Work item GH-78 - Modify listWorksheetNames() and listWorksheetInfo to use XMLReader with streamed XML rather than SimpleXML +- General: (dbonsch) Restructuring of PHPExcel Exceptions +- General: (MBaker) Work items 16926 and 15145 - Refactor Calculation Engine from singleton to a Multiton + Ensures that calculation cache is maintained independently for different workbooks +- General: (MBaker) Modify cell's getCalculatedValue() method to return the content of RichText objects rather than the RichText object itself +- Bugfix: (techhead) Work item GH-70 - Fixed formula/formatting bug when removing rows +- Bugfix: (alexgann) Work item GH-63 - Fix to cellExists for non-existent namedRanges +- Bugfix: (MBaker) Work item 18844 - cache_in_memory_gzip "eats" last worksheet line, cache_in_memory doesn't +- Feature: (Progi1984) Work item GH-22 - Sheet View in Excel5 Writer +- Bugfix: (amironov) Work item GH-82 - PHPExcel_Worksheet::getCellCollection() may not return last cached cell +- Bugfix: (teso) Work item 18551 - Rich Text containing UTF-8 characters creating unreadable content with Excel5 Writer +- Bugfix: (MBaker) Work item GH-104 - echo statements in HTML.php +- Feature: (Progi1984) Work item GH-8/CP11704 : Conditional formatting in Excel 5 Writer +- Bugfix: (MBaker) Work item GH-113 - canRead() Error for GoogleDocs ODS files: in ODS files from Google Docs there is no mimetype file +- Bugfix: (MBaker) Work item GH-80 - "Sheet index is out of bounds." Exception +- Bugfix: (ccorliss) Work item GH-105 - Fixed number format fatal error +- Bugfix: (MBaker) - Add DROP TABLE in destructor for SQLite and SQLite3 cache controllers +- Bugfix: (alexgann) Work item GH-154 - Fix merged-cell borders on HTML/PDF output +- Bugfix: (Shanto) Work item GH-161 - Fix: Hyperlinks break when removing rows +- Bugfix: (neclimdul) Work item GH-166 - Fix Extra Table Row From Images and Charts + + +2012-10-12 (v1.7.8): +- Special: (kkamkou) Phar builder script to add phar file as a distribution option +- Feature: (MBaker) Refactor PDF Writer to allow use with a choice of PDF Rendering library + rather than restricting to tcPDF + Current options are tcPDF, mPDF, DomPDF + tcPDF Library has now been removed from the deployment bundle +- Feature: (MBaker) Initial version of HTML Reader +- Feature: (Progi1984) & (blazzy) Work items 9605 - Implement support for AutoFilter in PHPExcel_Writer_Excel5 +- Feature: (MBaker) Modified ERF and ERFC Engineering functions to accept Excel 2010's modified acceptance of negative arguments +- Feature: (k1LoW) Support SheetView `view` attribute (Excel2007) +- Feature: (MBaker) Excel compatibility option added for writing CSV files + While Excel 2010 can read CSV files with a simple UTF-8 BOM, Excel2007 and earlier require UTF-16LE encoded tab-separated files. + The new setExcelCompatibility(TRUE) option for the CSV Writer will generate files with this formatting for easy import into Excel2007 and below. +- Feature: (MBaker) Language implementations for Turkish (tr) +- Feature: (MBaker) Added fraction tests to advanced value binder +- Feature: (MBaker) Allow call to font setUnderline() for underline format to specify a simple boolean for UNDERLINE_NONE or UNDERLINE_SINGLE +- General: (alexgann) Add Currency detection to the Advanced Value Binder +- General: (MBaker) Work item 18404 - setCellValueExplicitByColumnAndRow() do not return PHPExcel_Worksheet +- General: (MBaker) Work item 18324 - Reader factory doesn't read anymore XLTX and XLT files +- General: (MBaker) Magic __toString() method added to Cell object to return raw data value as a string +- General: (alexgann) Add cell indent to html rendering +- General: (Raghav1981) ZeroHeight for rows in sheet format +- Bugfix: (cyberconte) Patch 12318 - OOCalc cells containing <text:span> inside the <text:p> tag +- Bugfix: (schir1964) Fix to listWorksheetInfo() method for OOCalc Reader +- Bugfix: (MBaker) Support for "e" (epoch) date format mask + Rendered as a 4-digit CE year in non-Excel outputs +- Bugfix: (MBaker) Work items 15799 and 18278 - Background color cell is always black when editing cell +- Bugfix: (MBaker) Work items 15905 and 18183 - Allow "no impact" to formats on Conditional Formatting +- Bugfix: (wackonline) OOCalc Reader fix for NULL cells +- Bugfix: (seltzlab) Fix to excel2007 Chart Writer when a $plotSeriesValues is empty +- Bugfix: (MBaker) Various fixes to Chart handling +- Bugfix: (MBaker) Work item 18370 - Error loading xlsx file with column breaks +- Bugfix: (MBaker) OOCalc Reader now handles percentage and currency data types +- Bugfix: (MBaker) Work Item 18415 - mb_stripos empty delimiter +- Bugfix: (takaakik) Work Item 15455 - getNestingLevel() Error on Excel5 Read +- Bugfix: (MBaker) Fix to Excel5 Reader when cell annotations are defined before their referenced text objects +- Bugfix: (MBaker) OOCalc Reader modified to process number-rows-repeated +- Bugfix: (MBaker) Work item 18377 - Chart Title compatibility on Excel 2007 +- Bugfix: (MBaker) Work item 18146 - Chart Refresh returning cell reference rather than values +- Bugfix: (MBaker) Work item 18145 - Autoshape being identified in twoCellAnchor when includeCharts is TRUE triggering load error +- Bugfix: (MBaker) Work item 18325 - v-type texts for series labels now recognised and parsed correctly +- Bugfix: (wolf5x) Work item 18492 - load file failed if the file has no extensionType +- Bugfix: (dverspui) Pattern fill colours in Excel2007 Style Writer +- Bugfix: (MBaker) Excel2007 Writer order of font style elements to conform with Excel2003 using compatibility pack +- Bugfix: (MBaker) Work item 18425 - Problems with $_activeSheetIndex when decreased below 0. +- Bugfix: (MBaker) Work item 18597 - PHPExcel_CachedObjectStorage_SQLite3::cacheMethodIsAvailable() uses class_exists - autoloader throws error +- Bugfix: (MBaker) Work item 18598 - Cannot access private property PHPExcel_CachedObjectStorageFactory::$_cacheStorageMethod +- Bugfix: (MBaker) Work item 18397 - Data titles for charts + PHPExcel_Chart_Layout now has methods for getting/setting switches for displaying/hiding chart data labels +- Bugfix: (MBaker) Discard single cell merge ranges when reading (stupid that Excel allows them in the first place) +- Bugfix: (MBaker) Discard hidden autoFilter named ranges + + +2012-05-19 (v1.7.7): +- Bugfix: (Progi1984) Work item 8916 - Support for Rich-Text in PHPExcel_Writer_Excel5 +- Bugfix: (cyberconte) Work item 17471 - OOCalc cells contain same data bug? +- Feature: (schir1964) listWorksheetInfo() method added to Readers... courtesy of Christopher Mullins +- Feature: (MBaker) Options for cell caching using Igbinary and SQLite/SQlite3. +- Feature: (MBaker) Additional row iterator options: allow a start row to be defined in the constructor; seek(), and prev() methods added. +- Feature: (Progi1984) Work item 9759 - Implement document properties in Excel5 writer +- Feature: (MBaker) Work item 16 - Implement chart functionality (EXPERIMENTAL) + Initial definition of chart objects. + Reading Chart definitions through the Excel2007 Reader + Facility to render charts to images using the 3rd-party jpgraph library + Writing Charts using the Excel2007 Writer +- General: (MBaker) Fix to build to ensure that Examples are included with the documentation +- General: (MBaker) Reduce cell caching overhead using dirty flag to ensure that cells are only rewritten to the cache if they have actually been changed +- General: (MBaker) Improved memory usage in CSV Writer +- General: (MBaker) Improved speed and memory usage in Excel5 Writer +- General: (MBaker) Experimental - + Added getHighestDataColumn(), getHighestDataRow(), getHighestRowAndColumn() and calculateWorksheetDataDimension() methods for the worksheet that return the highest row and column that have cell records +- General: (MBaker) Change iterators to implement Iterator rather than extend CachingIterator, as a fix for PHP 5.4. changes in SPL +- Bugfix: (MBaker) Work item 15459 - Invalid cell coordinate in Autofilter for Excel2007 Writer +- Bugfix: (MBaker) Work item 15518 - PCLZip library issue +- Bugfix: (MBaker) Work item 15537 - Excel2007 Reader canRead function bug +- Bugfix: (MBaker) Support for Excel functions whose return can be used as either a value or as a cell reference depending on its context within a formula +- Bugfix: (gilles06) Work item 15707 - ini_set() call in Calculation class destructor +- Bugfix: (MBaker) Work item 15786 - RangeToArray strange array keys +- Bugfix: (MBaker) Work item 15762 - INDIRECT() function doesn't work with named ranges +- Bugfix: (MBaker) Locale-specific fix to text functions when passing a boolean argument instead of a string +- Bugfix: (MBaker) Work item 16246 - reader/CSV fails on this file + auto_detect_line_endings now set in CSV reader +- Bugfix: (MBaker) Work item 16212 - $arguments improperly used in CachedObjectStorage/PHPTemp.php +- Bugfix: (MBaker) Work item 16643 - Bug In Cache System (cell reference when throwing caching errors) +- Bugfix: (MBaker) Work item 16895 - PHP Invalid index notice on writing excel file when active sheet has been deleted +- Bugfix: (MBaker) Work item 16956 - External links in Excel2010 files cause Fatal error +- Bugfix: (MBaker) Work item 16960 - Previous calculation engine error conditions trigger cyclic reference errors +- Bugfix: (mkopinsky) Work item 16266 - PHPExcel_Style::applyFromArray() returns null rather than style object in advanced mode +- Bugfix: (fauvel) Work item 16958 - Cell::getFormattedValue returns RichText object instead of string +- Bugfix: (MBaker) Work item 17166 - Indexed colors do not refer to Excel's indexed colors? +- Bugfix: (MBaker) Work item 17199 - Indexed colors should be consistent with Excel and start from 1 (current index starts at 0) +- Bugfix: (MBaker) Work item 17262 - Named Range definition in .xls when sheet reeference is quote wrapped +- Bugfix: (MBaker) Work item 17403 - duplicateStyle() method doesn't duplicate conditional formats + Added an equivalent duplicateConditionalStyle() method for duplicating conditional styles +- Bugfix: (bnr) Work item 17501 - =sumproduct(A,B) <> =sumproduct(B,A) in xlsx +- Bugfix: (Progi1984) Work item 8916 - Support for Rich-Text in PHPExcel_Writer_Excel5 +- General: (MBaker) Work item 15405 - Two easy to fix Issues concerning PHPExcel_Token_Stack (l10n/UC) +- General: (MBaker) Work item 15461 - Locale file paths not fit for windows +- General: (MBaker) Work item 16643 - Add file directory as a cache option for cache_to_discISAM +- General: (MBaker) Work item 16923 - Datatype.php & constant TYPE_NULL +- General: (MBaker) Ensure use of system temp directory for all temporary work files, unless explicitly specified +- General: (char101) Work item 16359 - [Patch] faster stringFromColumnIndex() +- General: (whit1206) Work item 16028 - Fix for projects that still use old autoloaders +- General: (atz) Work item 17024 - Unknown codepage: 10007 + Additional Mac codepages + + +2011-02-27 (v1.7.6): +- Feature: (MBaker) Provide option to use PCLZip as an alternative to ZipArchive. + This allows the writing of Excel2007 files, even without ZipArchive enabled (it does require zlib), or when php_zip is one of the buggy PHP 5.2.6 or 5.2.8 versions + It can be enabled using PHPExcel_Settings::setZipClass(PHPExcel_Settings::PCLZIP); + Note that it is not yet implemented as an alternative to ZipArchive for those Readers that are extracting from zips +- Feature: (MBaker) Work item 14979 - Added listWorksheetNames() method to Readers that support multiple worksheets in a workbook, allowing a user to extract a list of all the worksheet names from a file without parsing/loading the whole file. +- Feature: (MBaker) Speed boost and memory reduction in the Worksheet toArray() method. +- Feature: (MBaker) Added new rangeToArray() and namedRangeToArray() methods to the PHPExcel_Worksheet object. + Functionally, these are identical to the toArray() method, except that they take an additional first parameter of a Range (e.g. 'B2:C3') or a Named Range name. + Modified the toArray() method so that it actually uses rangeToArray(). +- Feature: (MBaker) Added support for cell comments in the OOCalc, Gnumeric and Excel2003XML Readers, and in the Excel5 Reader +- Feature: (MBaker) Improved toFormattedString() handling for Currency and Accounting formats to render currency symbols +- Feature: (MBaker) Work Item 2346 - Implement more Excel calculation functions + Implemented the DAVERAGE(), DCOUNT(), DCOUNTA(), DGET(), DMAX(), DMIN(), DPRODUCT(), DSTDEV(), DSTDEVP(), DSUM(), DVAR() and DVARP() Database functions +- Bugfix: (MBaker) Work item 14888 - Simple =IF() formula disappears +- Bugfix: (MBaker) Work item 14898 - PHP Warning: preg_match(): Compilation failed: PCRE does not support \\L, \\l, \\N, \\P, \\p, \\U, \\u, or \\X +- Bugfix: (MBaker) Work item 14901 - VLOOKUP choking on parameters in PHPExcel.1.7.5/PHPExcel_Writer_Excel2007 +- Bugfix: (MBaker) Work item 14973 - PHPExcel_Cell::isInRange() incorrect results - offset by one column +- Bugfix: (MBaker) Treat CodePage of 0 as CP1251 (for .xls files written by applications that don't set the CodePage correctly, such as Apple Numbers) +- Bugfix: (MB) Work item 11583 - Need method for removing autoFilter +- Bugfix: (MBaker) Work item 15029 - coordinateFromString throws exception for rows greater than 99,999 +- Bugfix: (MBaker) Work item 14999 - PHPExcel Excel2007 Reader colour problems with solidfill +- Bugfix: (MBaker) Work item 13215 - Formatting get lost and edit a template XLSX file +- Bugfix: (MBaker) Work item 14029 - Excel 2007 Reader /writer lost fontcolor +- Bugfix: (MBaker) Work item 13374 - file that makes cells go black +- Bugfix: (MBaker) Minor patchfix for Excel2003XML Reader when XML is defined with a charset attribute +- Bugfix: (MBaker) Work item 15089 - PHPExcel_Worksheet->toArray() index problem +- Bugfix: (MBaker) Work item 15094 - Merge cells 'un-merge' when using an existing spreadsheet +- Bugfix: (MBaker) Work item 15129 - Worksheet fromArray() only working with 2-D arrays +- Bugfix: (xkeshav) Work item 15172 - rangeToarray function modified for non-existent cells +- Bugfix: (MBaker) Work item 14980 - Images not getting copyied with the ->clone function +- Bugfix: (MBaker) Work item 11576 - AdvancedValueBinder.php: String sometimes becomes a date when it shouldn't +- Bugfix: (MBaker) Fix Excel5 Writer so that it only writes column dimensions for columns that are actually used rather than the full range (A to IV) +- Bugfix: (MBaker) Work item 15198 - FreezePane causing damaged or modified error + The freezePaneByColumnAndRow() method row argument should default to 1 rather than 0. + Default row argument for all __ByColumnAndRow() methods should be 1 +- Bugfix: (MBaker) Work item 15121 - Column reference rather than cell reference in Print Area definition + Fix Excel2007 Writer to handle print areas that are defined as row or column ranges rather than just as cell ranges +- Bugfix: (MBaker) Reduced false positives from isDateTimeFormatCode() method by suppressing testing within quoted strings +- Bugfix: (MBaker) Work item 15312 - Caching and tmp partition exhaustion +- Bugfix: (MBaker) Work item 15308 - Writing to Variable No Longer Works. $_tmp_dir Missing in PHPExcel\PHPExcel\Shared\OLE\PPS\Root.php +- Bugfix: (MBaker) Work item 15379 - Named ranges with dot don't get parsed properly +- Bugfix: (MBaker) Work item 15096 - insertNewRowBefore fails to consistently update references +- Bugfix: (MBaker) "i" is not a valid character for Excel date format masks (in isDateTimeFormatCode() method) +- Bugfix: (MKunert) Work item 15421 - PHPExcel_ReferenceHelper::insertNewBefore() is missing an 'Update worksheet: comments' section +- Bugfix: (MBaker) Work item 15409 - Full column/row references in named ranges not supported by updateCellReference() +- General: (MBaker) Improved performance (speed), for building the Shared Strings table in the Excel2007 Writer. +- General: (MBaker) Improved performance (speed), for PHP to Excel date conversions +- General: (MBaker) Enhanced SheetViews element structures in the Excel2007 Writer for frozen panes. +- General: (MBaker) Removed Serialized Reader/Writer as these no longer work. + + +2010-12-10 (v1.7.5): +- Feature: (MBaker) Work item 8769 - Implement Gnumeric File Format + Initial work on Gnumeric Reader (Worksheet Data, Document Properties and basic Formatting) +- Feature: (MBaker) (incorporating part of Workitem 9759) - Support for Extended Workbook Properties in Excel2007, Excel5 and OOCalc Readers; support for User-defined Workbook Properties in Excel2007 and OOCalc Readers +- Feature: (MBaker) Support for Extended and User-defined Workbook Properties in Excel2007 Writer +- Feature: (MBaker) Provided a setGenerateSheetNavigationBlock(false); option to suppress generation of the sheet navigation block when writing multiple worksheets to HTML +- Feature: (MBaker) Advanced Value Binder now recognises TRUE/FALSE strings (locale-specific) and converts to boolean +- Feature: (MBaker) Work item 14301 - PHPExcel_Worksheet->toArray() is returning truncated values +- Feature: (MBaker) Configure PDF Writer margins based on Excel Worksheet Margin Settings value +- Feature: (MBaker) Added Contiguous flag for the CSV Reader, when working with Read Filters +- Feature: (MBaker) Added getFormattedValue() method for cell object +- Feature: (MBaker) Added strictNullComparison argument to the worksheet fromArray() method +- Feature: (MBaker) Fix to toFormattedString() method in PHPExcel_Style_NumberFormat to handle fractions with a # code for the integer part +- Bugfix: (MB) Work item 14143 - NA() doesn't propagate in matrix calc - quick fix in JAMA/Matrix.php +- Bugfix: (Progi1984) Work item 7895 - Excel5 : Formula : String constant containing double quotation mark +- Bugfix: (Progi1984) Work item 7895 - Excel5 : Formula : Percent +- Bugfix: (Progi1984) Work item 7895 - Excel5 : Formula : Error constant +- Bugfix: (Progi1984) Work item 7895 - Excel5 : Formula : Concatenation operator +- Bugfix: (MBaker) Work item 14146 - Worksheet clone broken for CachedObjectStorage_Memory +- Bugfix: (MBaker) Work item 12998 - PHPExcel_Reader_Excel2007 fails when gradient fill without type is present in a file +- Bugfix: (MBaker) Work item 14176 - @ format for numeric strings in XLSX to CSV conversion +- Bugfix: (MBaker) Work item 14223 - Advanced Value Binder Not Working? +- Bugfix: (MBaker) Work item 14226 - unassigned object variable in PHPExcel->removeCellXfByIndex +- Bugfix: (MBaker) Work item 14236 - problem with getting cell values from another worksheet... (if cell doesn't exist) +- Bugfix: (MBaker) Work items 14260 & 14233 - Setting cell values to one char strings & Trouble reading one character string (thanks gorfou) +- Bugfix: (MBaker) Work item 14256 - Worksheet title exception when duplicate worksheet is being renamed but exceeds the 31 character limit +- Bugfix: (MBaker) Work item 14086 - Named range with sheet name that contains the $ throws exception when getting the cell +- Bugfix: (MBaker) Added autoloader to DefaultValueBinder and AdvancedValueBinder +- Bugfix: (MBaker) Modified PHPExcel_Shared_Date::isDateTimeFormatCode() to return false if format code begins with "_" or with "0 " to prevent false positives + These leading characters are most commonly associated with number, currency or accounting (or occasionally fraction) formats +- Bugfix: (MBaker) Work item 14374 - BUG : Excel5 and setReadFilter ? +- Bugfix: (MBaker) Work item 14425 - Wrong exception message while deleting column +- Bugfix: (MBaker) Work item 14679 - Formula evaluation fails with Japanese sheet refs +- Bugfix: (MBaker) Work item 13559 - PHPExcel_Writer_PDF does not handle cell borders correctly +- Bugfix: (MBaker) Work item 14831 - Style : applyFromArray() for 'allborders' not working +- Bugfix: (MBaker) Work item 14837 - Using $this when not in object context in Excel5 Reader +- General: (MBaker) Applied patch 6609 - Removes a unnecessary loop through each cell when applying conditional formatting to a range. +- General: (MBaker) Applied patch 7169 - Removed spurious PHP end tags (?>) +- General: (MBaker) Improved performance (speed) and reduced memory overheads, particularly for the Writers, but across the whole library. + + +2010-08-26 (v1.7.4): +- Bugfix: (Progi1984) Work item 7895 - Excel5 : Formula : Power +- Bugfix: (Progi1984) Work item 7895 - Excel5 : Formula : Unary plus +- Bugfix: (Progi1984) Excel5 : Just write the Escher stream if necessary in Worksheet +- Bugfix: (MBaker) Work item 13433 - Syntax errors in memcache.php 1.7.3c +- Bugfix: (MBaker) Work item 13450 - Standard Deviation functions returning DIV/0 Error when Standard Deviation is zero +- Feature: (MBaker) Support for print area with several ranges in the Excel2007 reader, and improved features for editing print area with several ranges +- Feature: (MBaker) Work item 13769 - Improved Cell Exception Reporting +- Feature: (MBaker) Support for row or column ranges in the calculation engine, e.g. =SUM(C:C) or =SUM(1:2) + Also support in the calculation engine for absolute row or column ranges e.g. =SUM($C:$E) or =SUM($3:5) +- Bugfix: (ET) Work item 13455 - Picture problem with Excel 2003 +- Bugfix: (MBaker) Work item 13484 - Wrong variable used in addExternalSheet in PHPExcel.php +- Bugfix: (MBaker) Work item 13515 - "Invalid cell coordinate" error when formula access data from an other sheet +- Bugfix: (MBaker) (related to Work item 13515) Calculation engine confusing cell range worksheet when referencing cells in a different worksheet to the formula +- Bugfix: (MBaker) Work item 13752 - Wrong var naming in Worksheet->garbageCollect() +- Bugfix: (MBaker) Work item 13764 - PHPExcel_Style_*::__clone() methods cause cloning loops? +- Bugfix: (MBaker) Work item 11488 - Recent builds causing problems loading xlsx files? (ZipArchive issue?) +- Bugfix: (MBaker) Work item 13856 - cache_to_apc causes fatal error when processing large data sets +- Bugfix: (MBaker) Work item 13880 - OOCalc reader misses first line if it's a 'table-header-row' +- Bugfix: (MBaker) Work item 14011 - using cache with copy or clone bug? + Fixed $worksheet->copy() or clone $worksheet when using cache_in_memory, cache_in_memory_gzip, cache_in_memory_serialized, cache_to_discISAM, cache_to_phpTemp, cache_to_apc and cache_to_memcache; + Fixed but untested when using cache_to_wincache. +- Bugfix: (MBaker) Fixed problems with reading Excel2007 Properties +- General: (MB) Applied patch 6324 - PHP Strict Standards: Non-static method PHPExcel_Shared_String::utf16_decode() should not be called statically +- General: (MBaker) Applied patch 6360 - Array functions were ignored when loading an existing file containing them, and as a result, they would lose their 'cse' status. +- General: (MBaker) Minor memory tweaks to Excel2007 Writer +- General: (MBaker) Modified ReferenceHelper updateFormulaReferences() method to handle updates to row and column cell ranges (including absolute references e.g. =SUM(A:$E) or =SUM($5:5), and range/cell references that reference a worksheet by name), and to provide both performance and memory improvements. +- General: (MBaker) Modified Excel2007 Reader so that ReferenceHelper class is instantiated only once rather than for every shared formula in a workbook. +- General: (MBaker) Correct handling for additional (synonym) formula tokens in Excel5 Reader +- General: (MBaker) Additional reading of some Excel2007 Extended Properties (Company, Manager) + + +2010-06-01 (v1.7.3c): +- Bugfix: (MB) Work item 13012 - Fatal error: Class 'ZipArchive' not found... ...Reader/Excel2007.php on line 217 +- Bugfix: (MBaker) Work item 13398 - PHPExcel_Writer_Excel2007 error after 1.7.3b + + +2010-05-31 (v1.7.3b): +- Bugfix: (MBaker) Work item 12903 - Infinite loop when reading +- Bugfix: (MB) Work item 13381 - Wrong method chaining on PHPExcel_Worksheet class + + +2010-05-17 (v1.7.3): +- General: (ET) Applied patch 4990 (modified) +- General: (MB) Applied patch 5568 (modified) +- General: (MB) Applied patch 5943 +- General: (MB) Work item 13042 - Upgrade build script to use Phing +- General: (ET) Work item 11586 - Replacing var with public/private +- General: (MBaker) Applied Anthony's Sterling's Class Autoloader to reduce memory overhead by "Lazy Loading" of classes +- General: (MBaker) Modification to functions that accept a date parameter to support string values containing ordinals as per Excel (English language only) +- General: (MBaker) Modify PHPExcel_Style_NumberFormat::toFormattedString() to handle dates that fall outside of PHP's 32-bit date range +- General: (MBaker) Applied patch 5207 +- General: (ET) Work item 11970 - PHPExcel developer documentation: Set page margins +- Feature: (ET) Work item 11038 - Special characters and accents in SYLK reader +- Feature: (MBaker) Work Item 2346 - Implement more Excel calculation functions + - Implemented the COUPDAYS(), COUPDAYBS(), COUPDAYSNC(), COUPNCD(), COUPPCD() and PRICE() Financial functions + - Implemented the N() and TYPE() Information functions + - Implemented the HYPERLINK() Lookup and Reference function +- Feature: (ET) Work item 11526 - Horizontal page break support in PHPExcel_Writer_PDF +- Feature: (ET) Work item 11529 - Introduce method setActiveSheetIndexByName() +- Feature: (ET) Work item 11550 - AdvancedValueBinder.php: Automatically wrap text when there is new line in string (ALT+"Enter") +- Feature: (ET) Work item 10300 - Data validation support in PHPExcel_Reader_Excel5 and PHPExcel_Writer_Excel5 +- Feature: (MB) Work item 11616 - Improve autosize calculation +- Feature: (MBaker) Methods to translate locale-specific function names in formulae + - Language implementations for Czech (cs), Danish (da), German (de), English (uk), Spanish (es), Finnish (fi), French (fr), Hungarian (hu), Italian (it), Dutch (nl), Norwegian (no), Polish (pl), Portuguese (pt), Brazilian Portuguese (pt_br), Russian (ru) and Swedish (sv) +- Feature: (ET) Work item 9759 - Implement document properties in Excel5 reader/writer + - Fixed so far for PHPExcel_Reader_Excel5 +- Feature: (ET) Work item 11849 - Show/hide row and column headers in worksheet +- Feature: (ET) Work item 11919 - Can't set font on writing PDF (by key) +- Feature: (ET) Work item 12096 - Thousands scale (1000^n) support in PHPExcel_Style_NumberFormat::toFormattedString +- Feature: (ET) Work item 6911 - Implement repeating rows in PDF and HTML writer +- Feature: (ET) Work item 12289 - Sheet tabs in PHPExcel_Writer_HTML +- Feature: (MB) Work item 13041 - Add Wincache CachedObjectProvider +- Feature: (MBaker) Configure PDF Writer paper size based on Excel Page Settings value, and provided methods to override paper size and page orientation with the writer + - Note PHPExcel defaults to Letter size, while the previous PDF writer enforced A4 size, so PDF writer will now default to Letter +- Feature: (MBaker) Initial implementation of cell caching: allowing larger workbooks to be managed, but at a cost in speed +- Feature: (MBaker) Added an identify() method to the IO Factory that identifies the reader which will be used to load a particular file without actually loading it. +- Bugfix: (MBaker) Work item 10979 - Warning messages with INDEX function having 2 arguments +- Bugfix: (ET) Work item 11473 - setValue('=') should result in string instead of formula +- Bugfix: (MBaker) Work item 11471 - method _raiseFormulaError should no be private +- Bugfix: (ET) Work item 11485 - Fatal error: Call to undefined function mb_substr() in ...Classes\PHPExcel\Reader\Excel5.php on line 2903 +- Bugfix: (ET) Work item 11487 - getBold(), getItallic(), getStrikeThrough() not always working with PHPExcel_Reader_Excel2007 +- Bugfix: (ET) Work item 11492 - AdvancedValueBinder.php not working correctly for $cell->setValue('hh:mm:ss') +- Bugfix: (MBaker) Fixed leap year handling for the YEARFRAC() Date/Time function when basis ia 1 (Actual/actual) +- Bugfix: (MBaker) Work item 11490 - Warning messages + - Calculation Engine code modified to enforce strict standards for pass by reference +- Bugfix: (ET) Work item 11483 - PHPExcel_Cell_AdvancedValueBinder doesnt work for dates in far future +- Bugfix: (ET) Work item 11528 - MSODRAWING bug with long CONTINUE record in PHPExcel_Reader_Excel5 +- Bugfix: (ET) Work item 11571 - PHPExcel_Reader_Excel2007 reads print titles as named range when there is more than one sheet +- Bugfix: (ET) Work item 11561 - missing @return in phpdocblock in reader classes +- Bugfix: (ET) Work item 11576 - AdvancedValueBinder.php: String sometimes becomes a date when it shouldn't +- Bugfix: (ET) Work item 11588 - Small numbers escape treatment in PHPExcel_Style_NumberFormat::toFormattedString() +- Bugfix: (ET) Work item 11590 - Blank styled cells are not blank in output by HTML writer due to &nbsp; +- Bugfix: (MBaker) Work item 11587 - Calculation engine bug: Existing, blank cell + number gives #NUM +- Bugfix: (ET) Work item 11608 - AutoSize only measures length of first line in cell with multiple lines (ALT+Enter) +- Bugfix: (ET) Work item 11608 - Fatal error running Tests/12serializedfileformat.php (PHPExcel 1.7.2) +- Bugfix: (MBaker) Fixed various errors in the WORKDAY() and NETWORKDAYS() Date/Time functions (particularly related to holidays) +- Bugfix: (ET) Work item 11660 - Uncaught exception 'Exception' with message 'Valid scale is between 10 and 400.' in Classes/PHPExcel/Worksheet/SheetView.php:115 +- Bugfix: (ET) Work item 11551 - "Unrecognized token 39 in formula" with PHPExcel_Reader_Excel5 (occuring with add-in functions) +- Bugfix: (ET) Work item 11668 - Excel2007 reader not reading PHPExcel_Style_Conditional::CONDITION_EXPRESSION +- Bugfix: (MBaker) Fix to the BESSELI(), BESSELJ(), BESSELK(), BESSELY() and COMPLEX() Engineering functions to use correct default values for parameters +- Bugfix: (MBaker) Work item 11525 - DATEVALUE function not working for pure time values + allow DATEVALUE() function to handle partial dates (e.g. "1-Jun" or "12/2010") +- Bugfix: (MBaker) Fix for empty quoted strings in formulae +- Bugfix: (MBaker) Trap for division by zero in Bessel functions +- Bugfix: (MBaker) Fix to OOCalc Reader to convert semi-colon (;) argument separator in formulae to a comma (,) +- Bugfix: (ET) Work item 11693 - PHPExcel_Writer_Excel5_Parser cannot parse formula like =SUM(C$5:C5) +- Bugfix: (MBaker) Fix to OOCalc Reader to handle dates that fall outside 32-bit PHP's date range +- Bugfix: (ET) Work item 11692 - File->sys_get_temp_dir() can fail in safe mode +- Bugfix: (ET) Work item 11727 - Sheet references in Excel5 writer do not work when referenced sheet title contains non-Latin symbols +- Bugfix: (ET) Work item 11743 - Bug in HTML writer can result in missing rows in output +- Bugfix: (ET) Work item 11674 - setShowGridLines(true) not working with PHPExcel_Writer_PDF +- Bugfix: (ET) Work item 11836 - PHPExcel_Worksheet_RowIterator initial position incorrect +- Bugfix: (ET) Work item 11835 - PHPExcel_Worksheet_HeaderFooterDrawing Strict Exception thrown (by jshaw86) +- Bugfix: (ET) Work item 11850 - Parts of worksheet lost when there are embedded charts (Excel5 reader) +- Bugfix: (MBaker) VLOOKUP() function error when lookup value is passed as a cell reference rather than an absolute value +- Bugfix: (ET) Work item 12041 - First segment of Rich-Text not read correctly by PHPExcel_Reader_Excel2007 +- Bugfix: (MBaker) Work item 12048 - Fatal Error with getCell('name') when name matches the pattern for a cell reference +- Bugfix: (ET) Work item 12039 - excel5 writer appears to be swapping image locations +- Bugfix: (ET) Work item 11954 - Undefined index: host in ZipStreamWrapper.php, line 94 and line 101 +- Bugfix: (ET) Work item 11672 - BIFF8 File Format problem (too short COLINFO record) +- Bugfix: (ET) Work item 12121 - Column width sometimes changed after read/write with Excel2007 reader/writer +- Bugfix: (ET) Work item 11964 - Worksheet.php throws a fatal error when styling is turned off via setReadDataOnly on the reader +- Bugfix: (MBaker) Work item 11851 - Checking for Circular References in Formulae + - Calculation Engine code now traps for cyclic references, raising an error or throwing an exception, or allows 1 or more iterations through cyclic references, based on a configuration setting +- Bugfix: (ET) Work item 12244 - PNG transparency using Excel2007 writer +- Bugfix: (ET) Work item 12221 - Custom readfilter error when cell formulas reference excluded cells (Excel5 reader) +- Bugfix: (ET) Work item 12288 - Protection problem in XLS +- Bugfix: (ET) Work item 12300 - getColumnDimension()->setAutoSize() incorrect on cells with Number Formatting +- Bugfix: (ET) Work item 12378 - Notices reading Excel file with Add-in funcitons (PHPExcel_Reader_Excel5) +- Bugfix: (ET) Work item 12380 - Excel5 reader not reading formulas with deleted sheet references +- Bugfix: (ET) Work item 12404 - Named range (defined name) scope problems for in PHPExcel +- Bugfix: (ET) Work item 12423 - PHP Parse error: syntax error, unexpected T_PUBLIC in PHPExcel/Calculation.php on line 3482 +- Bugfix: (ET) Work item 12505 - Named ranges don't appear in name box using Excel5 writer +- Bugfix: (ET) Work item 12509 - Many merged cells + autoSize column -> slows down the writer +- Bugfix: (ET) Work item 12539 - Incorrect fallback order comment in Shared/Strings.php ConvertEncoding() +- Bugfix: (ET) Work item 12538 - IBM AIX iconv() will not work, should revert to mbstring etc. instead +- Bugfix: (ET) Work item 12568 - Excel5 writer and mbstring functions overload +- Bugfix: (MBaker) Work item 12672 - OFFSET needs to flattenSingleValue the $rows and $columns args +- Bugfix: (MBaker) Work item 12546 - Formula with DMAX(): Notice: Undefined offset: 2 in ...\PHPExcel\Calculation.php on line 2365 + - Note that the Database functions have not yet been implemented +- Bugfix: (MBaker) Work item 12839 - Call to a member function getParent() on a non-object in Classes\\PHPExcel\\Calculation.php Title is required +- Bugfix: (MBaker) Work item 12935 - Cyclic Reference in Formula +- Bugfix: (MBaker) Work item 13025 - Memory error...data validation? + + +2010/01/11 (v1.7.2): +- General: (ET) Applied patch 4362 +- General: (ET) Applied patch 4363 (modified) +- General: (MBaker) Work item 10874 - 1.7.1 Extremely Slow - Refactored PHPExcel_Calculation_Functions::flattenArray() method and set calculation cache timer default to 2.5 seconds +- General: (MBaker) Allow formulae to contain line breaks +- General: (ET) Work item 10910 - split() function deprecated in PHP 5.3.0 +- General: (ET) sys_get_temp_dir() requires PHP 5.2.1, not PHP 5.2 [provide fallback function for PHP 5.2.0] +- General: (MBaker) Applied patch 4640 - Implementation of the ISPMT() Financial function by Matt Groves +- General: (MBaker) Work item 11052 - Put the example of formula with more arguments in documentation +- General: (MBaker) Improved accuracy for the GAMMAINV() Statistical Function +- Feature: (ET) Work item 10409 - XFEXT record support to fix colors change from Excel5 reader, and copy/paste color change with Excel5 writer + - Excel5 reader reads RGB color information in XFEXT records for borders, font color and fill color +- Feature: (MBaker) Work Item 2346 - Implement more Excel calculation functions + - Implemented the FVSCHEDULE(), XNPV(), IRR(), MIRR(), XIRR() and RATE() Financial functions + - Implemented the SUMPRODUCT() Mathematical function + - Implemented the ZTEST() Statistical Function +- Feature: (ET) Work item 10919 - Multiple print areas in one sheet +- Feature: (ET) Work item 10930 - Store calculated values in output by PHPExcel_Writer_Excel5 +- Feature: (ET) Work item 10939 - Sheet protection options in Excel5 reader/writer +- Feature: (MBaker) Modification of the COUNT(), AVERAGE(), AVERAGEA(), DEVSQ, AVEDEV(), STDEV(), STDEVA(), STDEVP(), STDEVPA(), VARA() and VARPA() SKEW() and KURT() functions to correctly handle boolean values depending on whether they're passed in as values, values within a matrix or values within a range of cells. +- Feature: (ET) Work item 9932 - Cell range selection +- Feature: (MB) Work item 10266 - Root-relative path handling +- Feature: (ET) Work item 11315 - Named Ranges not working with PHPExcel_Writer_Excel5 +- Bugfix: (MB) Work item 11206 - Excel2007 Reader fails to load Apache POI generated Excel +- Bugfix: (MB) Work item 11154 - Number format is broken when system's thousands separator is empty +- Bugfix: (MB) Work item 11401 - ReferenceHelper::updateNamedFormulas throws errors if oldName is empty +- Bugfix: (MB) Work item 11296 - parse_url() fails to parse path to an image in xlsx +- Bugfix: (ET) Work item 10876 - Workaround for iconv_substr() bug in PHP 5.2.0 +- Bugfix: (ET) Work item 10877 - 1 pixel error for image width and height with PHPExcel_Writer_Excel5 +- Bugfix: (MBaker) Fix to GEOMEAN() Statistical function +- Bugfix: (ET) Work item 10884 - setValue('-') and setValue('.') sets numeric 0 instead of 1-character string +- Bugfix: (ET) Work item 10885 - Row height sometimes much too low after read with PHPExcel_Reader_Excel5 +- Bugfix: (ET) Work item 10888 - Diagonal border. Miscellaneous missing support. + - Constant PHPExcel_Style_Borders::DIAGONAL_BOTH added to support double-diagonal (cross) + - PHPExcel_Reader_Excel2007 not always reading diagonal borders (only recognizes 'true' and not '1') + - PHPExcel_Reader_Excel5 support for diagonal borders + - PHPExcel_Writer_Excel5 support for diagonal borders +- Bugfix: (ET) Work item 10894 - Session bug: Fatal error: Call to a member function bindValue() on a non-object in ...\Classes\PHPExcel\Cell.php on line 217 +- Bugfix: (ET) Work item 10896 - Colors messed up saving twice with same instance of PHPExcel_Writer_Excel5 (regression since 1.7.0) +- Bugfix: (ET) Work item 10917 - Method PHPExcel_Worksheet::setDefaultStyle is not working +- Bugfix: (ET) Work item 10897 - PHPExcel_Reader_CSV::canRead() sometimes says false when it shouldn't +- Bugfix: (ET) Work item 10922 - Changes in workbook not picked up between two saves with PHPExcel_Writer_Excel2007 +- Bugfix: (ET) Work item 10913 - Decimal and thousands separators missing in HTML and PDF output +- Bugfix: (ET) Work item 10936 - Notices with PHPExcel_Reader_Excel5 and named array constants +- Bugfix: (MBaker) Work item 10938 - Calculation engine limitation on 32-bit platform with integers > 2147483647 +- Bugfix: (ET) Work item 10959 - Shared(?) formulae containing absolute cell references not read correctly using Excel5 Reader +- Bugfix: (MBaker) Work item 10962 - Warning messages with intersection operator involving single cell +- Bugfix: (ET) Work item 10980 - Infinite loop in Excel5 reader caused by zero-length string in SST +- Bugfix: (ET) Work item 10983 - Remove unnecessary cell sorting to improve speed by approx. 18% in HTML and PDF writers +- Bugfix: (MBaker) Work item 10977 - Cannot read A1 cell content - OO_Reader +- Bugfix: (ET) Work item 11000 - Transliteration failed, invalid encoding + + +2009/11/02 (v1.7.1): +- General: (ET) Work item 10687 - ereg() function deprecated in PHP 5.3.0 +- General: (MB) Work item 10739 - Writer Interface Inconsequence - setTempDir and setUseDiskCaching +- General: (ET) Upgrade to TCPDF 4.8.009 +- Feature: (ET) Work item 7333 - Support for row and column styles (feature request) + - Basic implementation for Excel2007/Excel5 reader/writer +- Feature: (ET) Work item 10459 - Hyperlink to local file in Excel5 reader/writer +- Feature: (MB) Work item 10472 - Color Tab (Color Sheet's name) +- Feature: (ET) Work item 10488 - Border style "double" support in PHPExcel_Writer_HTML +- Feature: (ET) Work item 10492 - Multi-section number format support in HTML/PDF/CSV writers +- Feature: (MBaker) - Some additional performance tweaks in the calculation engine +- Feature: (MBaker) - Fix result of DB() and DDB() Financial functions to 2dp when in Gnumeric Compatibility mode +- Feature: (MBaker) - Added AMORDEGRC(), AMORLINC() and COUPNUM() Financial function (no validation of parameters yet) +- Feature: (MBaker) - Improved accuracy of TBILLEQ(), TBILLPRICE() and TBILLYIELD() Financial functions when in Excel or Gnumeric mode +- Feature: (MBaker) - Added INDIRECT() Lookup/Reference function (only supports full addresses at the moment) +- Feature: (MB) Work item 10498 - PHPExcel_Reader_CSV::canRead() improvements +- Feature: (ET) Work item 10500 - Input encoding option for PHPExcel_Reader_CSV +- Feature: (ET) Work item 10493 - Colored number format support, e.g. [Red], in HTML/PDF output +- Feature: (ET) Work item 10559 - Color Tab (Color Sheet's name) [Excel5 reader/writer support] +- Feature: (MBaker) Initial version of SYLK (slk) and Excel 2003 XML Readers (Cell data and basic cell formatting) +- Feature: (MBaker) Initial version of Open Office Calc (ods) Reader (Cell data only) +- Feature: (MBaker) Initial use of "pass by reference" in the calculation engine for ROW() and COLUMN() Lookup/Reference functions +- Feature: (MBaker) Work item 2346 - COLUMNS() and ROWS() Lookup/Reference functions, and SUBSTITUTE() Text function +- Feature: (ET) Work item 10502 - AdvancedValueBinder(): Re-enable zero-padded string-to-number conversion, e.g '0004' -> 4 +- Feature: (ET) Work item 10600 - Make PHP type match Excel datatype +- Feature: (MB) Work item 10630 - Change first page number on header +- Feature: (MB) Applied patch 3941 +- Feature: (MB,ET) Work item 10745 - Hidden sheets +- Feature: (ET) Work item 10761 - mbstring fallback when iconv is broken +- Feature: (MBaker) Added support for matrix/value comparisons (e.g. ={1,2;3,4}>=3 or 2<>{1,2;3,4}) - Note, can't yet handle comparison of two matrices +- Feature: (MBaker) Improved handling for validation and error trapping in a number of functions +- Feature: (MBaker) Improved support for fraction number formatting +- Feature: (ET) Work item 10455 - Support Reading CSV with Byte Order Mark (BOM) +- Feature: (ET) Work item 10860 - addExternalSheet() at specified index +- Bugfix: (MBaker) Work item 10684 - Named range can no longer be passed to worksheet->getCell() +- Bugfix: (ET) Work item 10455 - RichText HTML entities no longer working in PHPExcel 1.7.0 +- Bugfix: (ET) Work item 7610 - Fit-to-width value of 1 is lost after read/write of Excel2007 spreadsheet [+ support for simultaneous scale/fitToPage] +- Bugfix: (MB) Work item 10469 - Performance issue identified by profiling +- Bugfix: (ET) Work item 10473 - setSelectedCell is wrong +- Bugfix: (ET) Work item 10481 - Images get squeezed/stretched with (Mac) Verdana 10 Excel files using Excel5 reader/writer +- Bugfix: (MBaker) Work item 10482 - Error in argument count for DATEDIF() function +- Bugfix: (MBaker) Work item 10452 - updateFormulaReferences is buggy +- Bugfix: (MB) Work item 10485 - CellIterator returns null Cell if onlyExistingCells is set and key() is in use +- Bugfix: (MBaker) Work item 10453 - Wrong RegEx for parsing cell references in formulas +- Bugfix: (MB) Work item 10486 - Optimisation subverted to devastating effect if IterateOnlyExistingCells is clear +- Bugfix: (ET) Work item 10494 - Fatal error: Uncaught exception 'Exception' with message 'Unrecognized token 6C in formula'... with PHPExcel_Reader_Excel5 +- Bugfix: (MBaker) Work item 10490 - Fractions stored as text are not treated as numbers by PHPExcel's calculation engine +- Bugfix: (ET) Work item 10503 - AutoFit (autosize) row height not working in PHPExcel_Writer_Excel5 +- Bugfix: (MBaker) Fixed problem with null values breaking the calculation stack +- Bugfix: (ET) Work item 10524 - Date number formats sometimes fail with PHPExcel_Style_NumberFormat::toFormattedString, e.g. [$-40047]mmmm d yyyy +- Bugfix: (MBaker) Fixed minor problem with DATEDIFF YM calculation +- Bugfix: (MB) Applied patch 3695 +- Bugfix: (ET) Work item 10536 - setAutosize() and Date cells not working properly +- Bugfix: (ET) Work item 10556 - Time value hour offset in output by HTML/PDF/CSV writers (system timezone problem) +- Bugfix: (ET) Work item 10558 - Control characters 0x14-0x1F are not treated by PHPExcel +- Bugfix: (ET) Work item 10560 - PHPExcel_Writer_Excel5 not working when open_basedir restriction is in effect +- Bugfix: (MBaker) Work item 10563 - IF formula calculation problem in PHPExcel 1.7.0 (string comparisons) +- Bugfix: (MBaker) Improved CODE() Text function result for UTF-8 characters +- Bugfix: (ET) Work item 10568 - Empty rows are collapsed with HTML/PDF writer +- Bugfix: (ET) Work item 10569 - Gaps between rows in output by PHPExcel_Writer_PDF (Upgrading to TCPDF 4.7.003) +- Bugfix: (ET) Work item 10575 - Problem reading formulas (Excel5 reader problem with "fake" shared formulas) +- Bugfix: (MBaker) Work item 10588 - Error type in formula: "_raiseFormulaError message is Formula Error: An unexpected error occured" +- Bugfix: (ET) Work item 10599 - Miscellaneous column width problems in Excel5/Excel2007 writer +- Bugfix: (ET) Work item 10615 - Reader/Excel5 'Unrecognized token 2D in formula' in latest version +- Bugfix: (ET) Work item 10623 - on php 5.3 PHPExcel 1.7 Excel 5 reader fails in _getNextToken, token = 2C, throws exception +- Bugfix: (ET) Work item 10617 - Fatal error when altering styles after workbook has been saved +- Bugfix: (ET) Work item 10661 - Images vertically stretched or squeezed when default font size is changed (PHPExcel_Writer_Excel5) +- Bugfix: (ET) Work item 10676 - Styles not read in "manipulated" Excel2007 workbook +- Bugfix: (ET) Work item 10059 - Windows 7 says corrupt file by PHPExcel_Writer_Excel5 when opening in Excel +- Bugfix: (MBaker) Work item 10708 - Calculations sometimes not working with cell references to other sheets +- Bugfix: (ET) Work item 10706 - Problem with merged cells after insertNewRowBefore() +- Bugfix: (MBaker) Applied patch 4023 +- Bugfix: (MBaker) Fix to SUMIF() and COUNTIF() Statistical functions for when condition is a match against a string value +- Bugfix: (ET) Work item 10721 - PHPExcel_Cell::coordinateFromString should throw exception for bad string parameter +- Bugfix: (ET) Work item 10723 - EucrosiaUPC (Thai font) not working with PHPExcel_Writer_Excel5 +- Bugfix: (MBaker) Improved the return of calculated results when the result value is an array +- Bugfix: (MBaker) Allow calculation engine to support Functions prefixed with @ within formulae +- Bugfix: (MBaker) Work item 10632 - Intersection operator (space operator) fatal error with calculation engine +- Bugfix: (ET) Work item 10742 - Chinese, Japanese, Korean characters show as squares in PDF +- Bugfix: (ET) Work item 10756 - sheet title allows invalid characters +- Bugfix: (ET) Work item 10757 - Sheet!$A$1 as function argument in formula causes infinite loop in Excel5 writer +- Bugfix: (MBaker) Work item 10740 - Cell range involving name not working with calculation engine - Modified calculation parser to handle range operator (:), but doesn't currently handle worksheet references with spaces or other non-alphameric characters, or trap erroneous references +- Bugfix: (MBaker) Work item 10798 - DATE function problem with calculation engine (says too few arguments given) +- Bugfix: (MBaker) Work item 10799 - Blank cell can cause wrong calculated value +- Bugfix: (MBaker) Modified ROW() and COLUMN() Lookup/Reference Functions to return an array when passed a cell range, plus some additional work on INDEX() +- Bugfix: (ET) Work item 10817 - Images not showing in Excel 97 using PHPExcel_Writer_Excel5 (patch by Jordi Gutiérrez Hermoso) +- Bugfix: (ET) Work item 10785 - When figures are contained in the excel sheet, Reader was stopped +- Bugfix: (MBaker) Work item 10818 - Formulas changed after insertNewRowBefore() +- Bugfix: (ET) Work item 10825 - Cell range row offset problem with shared formulas using PHPExcel_Reader_Excel5 +- Bugfix: (MBaker) Work item 10832 - Warning: Call-time pass-by-reference has been deprecated +- Bugfix: (ET) Work item 10849 - Image should "Move but don't size with cells" instead of "Move and size with cells" with PHPExcel_Writer_Excel5 +- Bugfix: (ET) Work item 10856 - Opening a Excel5 generated XLS in Excel 2007 results in header/footer entry not showing on input +- Bugfix: (ET) Work item 10859 - addExternalSheet() not returning worksheet +- Bugfix: (MBaker) Work item 10629 - Invalid results in formulas with named ranges + + +2009/08/10 (v1.7.0): +- General: (ET) Work item 9893 - Expand documentation: Number formats +- General: (ET) Work item 9941 - Class 'PHPExcel_Cell_AdvancedValueBinder' not found +- General: (MB) Work item 9960 - Change return type of date functions to PHPExcel_Calculation_Functions::RETURNDATE_EXCEL +- Feature: (MBaker) - New RPN and stack-based calculation engine for improved performance of formula calculation + - Faster (anything between 2 and 12 times faster than the old parser, depending on the complexity and nature of the formula) + - Significantly more memory efficient when formulae reference cells across worksheets + - Correct behaviour when referencing Named Ranges that exist on several worksheets + - Support for Excel ^ (Exponential) and % (Percentage) operators + - Support for matrices within basic arithmetic formulae (e.g. ={1,2,3;4,5,6;7,8,9}/2) + - Better trapping/handling of NaN and infinity results (return #NUM! error) + - Improved handling of empty parameters for Excel functions + - Optional logging of calculation steps +- Feature: (MBaker) - New calculation engine can be accessed independently of workbooks (for use as a standalone calculator) +- Feature: (MBaker) Work Item 2346 - Implement more Excel calculation functions + - Initial implementation of the COUNTIF() and SUMIF() Statistical functions + - Added ACCRINT() Financial function +- Feature: (MBaker) - Modifications to number format handling for dddd and ddd masks in dates, use of thousand separators even when locale only implements it for money, and basic fraction masks (0 ?/? and ?/?) +- Feature: (ET) Work item 9794 - Support arbitrary fixed number of decimals in PHPExcel_Style_NumberFormat::toFormattedString() +- Feature: (ET) Work item 6857 - Improving performance and memory on data dumps + - Various style optimizations (merging from branch wi6857-memory) + - Moving hyperlink and dataValidation properties from cell to worksheet for lower PHP memory usage +- Feature: (MB) Work item 9869 - Provide fluent interfaces where possible +- Feature: (ET) Work item 9899 - Make easy way to apply a border to a rectangular selection +- Feature: (ET) Work item 9906 - Support for system window colors in PHPExcel_Reader_Excel5 +- Feature: (ET) Work item 9911 - Horizontal center across selection +- Feature: (ET) Work item 9919 - Merged cells record, write to full record size in PHPExcel_Writer_Excel5 +- Feature: (MB) Work item 9895 - Add page break between sheets in exported PDF +- Feature: (ET) Work item 9902 - Sanitization of UTF-8 input for cell values +- Feature: (ET) Work item 9930 - Read cached calculated value with PHPExcel_Reader_Excel5 +- Feature: (ET) Work item 9896 - Miscellaneous CSS improvements for PHPExcel_Writer_HTML +- Feature: (ET) Work item 9947 - getProperties: setCompany feature request +- Feature: (MB) Patch 2981 - Insert worksheet at a specified index +- Feature: (MB) Patch 3018 - Change worksheet index +- Feature: (MB) Patch 3039 - Readfilter for CSV reader +- Feature: (ET) Work item 10172 - Check value of mbstring.func_overload when saving with PHPExcel_Writer_Excel5 +- Feature: (ET) Work item 10251 - Eliminate dependency of an include path pointing to class directory +- Feature: (ET) Work item 10292 - Method for getting the correct reader for a certain file (contribution) +- Feature: (ET) Work item 10287 - Choosing specific row in fromArray method +- Feature: (ET) Work item 10319 - Shared formula support in PHPExcel_Reader_Excel5 +- Feature: (MB,ET) Work item 10345 - Right-to-left column direction in worksheet +- Bugfix: (ET) Work item 9824 - PHPExcel_Reader_Excel5 not reading PHPExcel_Style_NumberFormat::FORMAT_NUMBER ('0') +- Bugfix: (ET) Work item 9858 - Fractional row height in locale other than English results in corrupt output using PHPExcel_Writer_Excel2007 +- Bugfix: (ET) Work item 9846 - Fractional (decimal) numbers not inserted correctly when locale is other than English +- Bugfix: (ET) Work item 9863 - Fractional calculated value in locale other than English results in corrupt output using PHPExcel_Writer_Excel2007 +- Bugfix: (ET) Work item 9830 - Locale aware decimal and thousands separator in exported formats HTML, CSV, PDF +- Bugfix: (MB) Work item 9819 - Cannot Add Image with Space on its Name +- Bugfix: (ET) Work item 9884 - Black line at top of every page in output by PHPExcel_Writer_PDF +- Bugfix: (ET) Work item 9885 - Border styles and border colors not showing in HTML output (regression since 1.6.4) +- Bugfix: (ET) Work item 9888 - Hidden screen gridlines setting in worksheet not read by PHPExcel_Reader_Excel2007 +- Bugfix: (MB) Work item 9913 - Some valid sheet names causes corrupt output using PHPExcel_Writer_Excel2007 +- Bugfix: (ET) Work item 9934 - More than 32,767 characters in a cell gives corrupt Excel file +- Bugfix: (ET) Work item 9937 - Images not getting copyied with the ->copy() function +- Bugfix: (ET) Work item 9940 - Bad calculation of column width setAutoSize(true) function +- Bugfix: (ET) Work item 9968 - Dates are sometimes offset by 1 day in output by HTML and PDF writers depending on system timezone setting +- Bugfix: (ET) Work item 10003 - Wingdings symbol fonts not working with PHPExcel_Writer_Excel5 +- Bugfix: (MB) Work item 10010 - White space string prefix stripped by PHPExcel_Writer_Excel2007 +- Bugfix: (ET) Work item 10023 - The name of the Workbook stream MUST be "Workbook", not "Book" +- Bugfix: (ET) Work item 10030 - Avoid message "Microsoft Excel recalculates formulas..." when closing xls file from Excel +- Bugfix: (ET) Work item 10031 - Non-unique newline representation causes problems with LEN formula +- Bugfix: (ET) Work item 10033 - Newline in cell not showing with PHPExcel_Writer_HTML and PHPExcel_Writer_PDF +- Bugfix: (ET) Work item 10046 - Rich-Text strings get prefixed by &nbsp; when output by HTML writer +- Bugfix: (ET) Work item 10052 - Leading spaces do not appear in output by HTML/PDF writers +- Bugfix: (MB) Work item 10061 - Empty Apache POI-generated file can not be read +- Bugfix: (ET) Work item 10068 - Column width not scaling correctly with font size in HTML and PDF writers +- Bugfix: (ET) Work item 10069 - Inaccurate row heights with HTML writer +- Bugfix: (MB) Patch 2992 - Reference helper +- Bugfix: (MBaker) - Excel 5 Named ranges should not be local to the worksheet, but accessible from all worksheets +- Bugfix: (ET) Work item 10088 - Row heights are ignored by PHPExcel_Writer_PDF +- Bugfix: (MB) Patch 3003 - Write raw XML +- Bugfix: (ET) Work item 10098 - removeRow(), removeColumn() not always clearing cell values +- Bugfix: (ET) Work item 10142 - Problem reading certain hyperlink records with PHPExcel_Reader_Excel5 +- Bugfix: (ET) Work item 10143 - Hyperlink cell range read failure with PHPExcel_Reader_Excel2007 +- Bugfix: (MB) Work item 10149 - 'Column string index can not be empty.' +- Bugfix: (ET) Work item 10204 - getHighestColumn() sometimes says there are 256 columns with PHPExcel_Reader_Excel5 +- Bugfix: (ET) Work item 10220 - extractSheetTitle fails when sheet title contains exclamation mark (!) +- Bugfix: (ET) Work item 10221 - setTitle() sometimes erroneously appends integer to sheet name +- Bugfix: (ET) Work item 10229 - Mac BIFF5 Excel file read failure (missing support for Mac OS Roman character set) +- Bugfix: (ET) Work item 10230 - BIFF5 header and footer incorrectly read by PHPExcel_Reader_Excel5 +- Bugfix: (ET) Work item 10259 - iconv notices when reading hyperlinks with PHPExcel_Reader_Excel5 +- Bugfix: (ET) Work item 10252 - Excel5 reader OLE read failure with small Mac BIFF5 Excel files +- Bugfix: (ET) Work item 10272 - Problem in reading formula : IF( IF ) with PHPExcel_Reader_Excel5 +- Bugfix: (ET) Work item 10274 - Error reading formulas referencing external sheets with PHPExcel_Reader_Excel5 +- Bugfix: (ET) Work item 10291 - Image horizontally stretched when default font size is increased (PHPExcel_Writer_Excel5) +- Bugfix: (ET) Work item 10333 - Undefined offset in Reader\Excel5.php on line 3572 +- Bugfix: (MB) Work item 10340 - PDF output different then XLS (copied data) +- Bugfix: (ET) Work item 10352 - Internal hyperlinks with UTF-8 sheet names not working in PHPExcel_Writer_Excel5 +- Bugfix: (ET) Work item 10361 - String shared formula result read error with PHPExcel_Reader_Excel5 +- Bugfix: (ET) Work item 10363 - Uncaught exception 'Exception' with message 'Valid scale is between 10 and 400.' in Classes/PHPExcel/Worksheet/PageSetup.php:338 +- Bugfix: (ET) Work item 10355 - Using setLoadSheetsOnly fails if you do not use setReadDataOnly(true) and sheet is not the first sheet +- Bugfix: (MB) Work item 10362 - getCalculatedValue() sometimes incorrect with IF formula and 0-values +- Bugfix: (MBaker) Work Item 10198 - Excel Reader 2007 problem with "shared" formulae when "master" is an error +- Bugfix: (MBaker) Work Item 10106 - Named Range Bug, using the same range name on different worksheets +- Bugfix: (MBaker) Work Item 10004 - Java code in JAMA classes +- Bugfix: (MBaker) Work Item 9659 - getCalculatedValue() not working with some formulas involving error types +- Bugfix: (MBaker) Work Item 9447 - evaluation of both return values in an IF() statement returning an error if either result was an error, irrespective of the IF evaluation +- Bugfix: (MBaker) Work Item 6203 - Power in formulas: new calculation engine no longer treats ^ as a bitwise XOR operator +- Bugfix: (MBaker) - Bugfixes and improvements to many of the Excel functions in PHPExcel + - Added optional "places" parameter in the BIN2HEX(), BIN2OCT, DEC2BIN(), DEC2OCT(), DEC2HEX(), HEX2BIN(), HEX2OCT(), OCT2BIN() and OCT2HEX() Engineering Functions + - Trap for unbalanced matrix sizes in MDETERM() and MINVERSE() Mathematic and Trigonometric functions + - Fix for default characters parameter value for LEFT() and RIGHT() Text functions + - Fix for GCD() and LCB() Mathematical functions when the parameters include a zero (0) value + - Fix for BIN2OCT() Engineering Function for 2s complement values (which were returning hex values) + - Fix for BESSELK() and BESSELY() Engineering functions + - Fix for IMDIV() Engineering Function when result imaginary component is positive (wasn't setting the sign) + - Fix for ERF() Engineering Function when called with an upper limit value for the integration + - Fix to DATE() Date/Time Function for year value of 0 + - Set ISPMT() function as category FINANCIAL + - Fix for DOLLARDE() and DOLLARFR() Financial functions + - Fix to EFFECT() Financial function (treating $nominal_rate value as a variable name rather than a value) + - Fix to CRITBINOM() Statistical function (CurrentValue and EssentiallyZero treated as constants rather than variables) + Note that an Error in the function logic can still lead to a permanent loop + - Fix to MOD() Mathematical function to work with floating point results + - Fix for QUOTIENT() Mathematical function + - Fix to HOUR(), MINUTE() and SECOND() Date/Time functions to return an error when passing in a floating point value of 1.0 or greater, or less than 0 + - LOG() Function now correctly returns base-10 log when called with only one parameter, rather than the natural log as the default base + - Modified text functions to handle multibyte character set (UTF-8). + + +2009/04/22 (v1.6.7): +- General: (MB) Work item 9416 - Deprecate misspelled setStriketrough() and getStriketrough() methods +- General: (MB) Work item 9526 - Performance improvement when saving file +- Feature: (MB) Work item 9598 - Check that sheet title has maximum 31 characters +- Feature: (MB, ET) Work item 9631 - True support for Excel built-in number format codes +- Feature: (ET) Work item 9683 - Ability to read defect BIFF5 Excel file without CODEPAGE record +- Feature: (MB) Work item 9701 - Auto-detect which reader to invoke +- Feature: (ET) Work item 9214 - Deprecate insertion of dates using PHP-time (Unix time) [request for removal of feature] +- Feature: (ET) Work item 9747 - Support for entering time values like '9:45', '09:45' using AdvancedValueBinder +- Feature: (ET) Work item 9797 - DataType dependent horizontal alignment in HTML and PDF writer +- Bugfix: (MB) Work item 9375 - Cloning data validation object causes script to stop +- Bugfix: (ET) Work item 9400 - Simultaneous repeating rows and repeating columns not working with PHPExcel_Writer_Excel5 +- Bugfix: (MB) Work item 9399 - Simultaneous repeating rows and repeating columns not working with PHPExcel_Writer_Excel2007 +- Bugfix: (ET) Work item 9437 - Row outline level not working with PHPExcel_Writer_Excel5 +- Bugfix: (ET) Work item 9452 - Occasional notices with PHPExcel_Reader_Excel5 when Excel file contains drawing elements +- Bugfix: (ET) Work item 9453 - PHPExcel_Reader_Excel5 fails as a whole when workbook contains images other than JPEG/PNG +- Bugfix: (ET) Work item 9444 - Excel5 writer checks for iconv but does not necessarily use it +- Bugfix: (ET) Work item 9463 - Altering a style on copied worksheet alters also the original +- Bugfix: (MB) Work item 9480 - Formulas are incorrectly updated when a sheet is renamed +- Bugfix: (MB) Work item 9513 - PHPExcel_Worksheet::extractSheetTitle not treating single quotes correctly +- Bugfix: (MB) Work item 9477 - PHP Warning raised in function array_key_exists +- Bugfix: (MB) Work item 9599 - getAlignWithMargins() gives wrong value when using PHPExcel_Reader_Excel2007 +- Bugfix: (MB) Work item 9600 - getScaleWithDocument() gives wrong value when using PHPExcel_Reader_Excel2007 +- Bugfix: (MB) Work item 9630 - PHPExcel_Reader_Excel2007 not reading the first user-defined number format +- Bugfix: (MB) Work item 9647 - Print area converted to uppercase after read with PHPExcel_Reader_Excel2007 +- Bugfix: (MB) Work item 9661 - Incorrect reading of scope for named range using PHPExcel_Reader_Excel2007 +- Bugfix: (MB) Work item 9690 - Error with pattern (getFillType) and rbg (getRGB) +- Bugfix: (ET) Work item 9712 - AdvancedValueBinder affected by system timezone setting when inserting date values +- Bugfix: (ET) Work item 9743 - PHPExcel_Reader_Excel2007 not reading value of active sheet index +- Bugfix: (ET) Work item 9742 - getARGB() sometimes returns SimpleXMLElement object instead of string with PHPExcel_Reader_Excel2007 +- Bugfix: (ET) Work item 9731 - Negative image offset causes defects in 14excel5.xls and 20readexcel5.xlsx +- Bugfix: (ET) Work item 9758 - HTML & PDF Writer not working with mergeCells (regression since 1.6.5) +- Bugfix: (ET) Work item 9774 - Too wide columns with HTML and PDF writer +- Bugfix: (MB) Work item 9775 - PDF and cyrillic fonts +- Bugfix: (ET) Work item 9793 - Percentages not working correctly with HTML and PDF writers (shows 0.25% instead of 25%) +- Bugfix: (ET) Work item 9791 - PHPExcel_Writer_HTML creates extra borders around cell contents using setUseInlineCss(true) +- Bugfix: (ET) Work item 9784 - Problem with text wrap + merged cells in HTML and PDF writer +- Bugfix: (ET) Work item 9814 - Adjacent path separators in include_path causing IOFactory to violate open_basedir restriction + + +-------------------------------------------------------------------------------- +BREAKING CHANGE! In previous versions of PHPExcel up to and including 1.6.6, +when a cell had a date-like number format code, it was possible to enter a date +directly using an integer PHP-time without converting to Excel date format. + +Starting with PHPExcel 1.6.7 this is no longer supported. Refer to the developer +documentation for more information on entering dates into a cell. +-------------------------------------------------------------------------------- + + +2009/03/02 (v1.6.6): +- General: (MB) Work item 9102 - Improve support for built-in number formats in PHPExcel_Reader_Excel2007 +- General: (ET) Work item 9281 - Source files are in both UNIX and DOS formats - changed to UNIX +- General: (MB) Work item 9338 - Update documentation: Which language to write formulas in? +- Feature: (ET) Work item 8817 - Ignore DEFCOLWIDTH records with value 8 in PHPExcel_Reader_Excel5 +- Feature: (ET) Work item 8847 - Support for width, height, offsetX, offsetY for images in PHPExcel_Reader_Excel5 +- Feature: (MB) Work item 8870 - Disk Caching in specific folder +- Feature: (MBaker) Work item 2346 - Added SUMX2MY2, SUMX2PY2, SUMXMY2, MDETERM and MINVERSE Mathematical and Trigonometric Functions +- Feature: (MBaker) Work item 2346 - Added CONVERT Engineering Function +- Feature: (MBaker) Work item 2346 - Added DB, DDB, DISC, DOLLARDE, DOLLARFR, INTRATE, IPMT, PPMT, PRICEDISC, PRICEMAT and RECEIVED Financial Functions +- Feature: (MBaker) Work item 2346 - Added ACCRINTM, CUMIPMT, CUMPRINC, TBILLEQ, TBILLPRICE, TBILLYIELD, YIELDDISC and YIELDMAT Financial Functions +- Feature: (MBaker) Work item 2346 - Added DOLLAR Text Function +- Feature: (MBaker) Work item 2346 - Added CORREL, COVAR, FORECAST, INTERCEPT, RSQ, SLOPE and STEYX Statistical Functions +- Feature: (MBaker) Work item 2346 - Added PEARSON Statistical Functions as a synonym for CORREL +- Feature: (MBaker) Work item 2346 - Added LINEST, LOGEST (currently only valid for stats = false), TREND and GROWTH Statistical Functions +- Feature: (MBaker) Work item 2346 - Added RANK and PERCENTRANK Statistical Functions +- Feature: (MBaker) Work item 2346 - Added ROMAN Mathematical Function (Classic form only) +- Feature: (MB) Work item 8931 - Update documentation to show example of getCellByColumnAndRow($col, $row) +- Feature: (MB) Work item 8770 - Implement worksheet, row and cell iterators +- Feature: (MB) Work item 9001 - Support for arbitrary defined names (named range) +- Feature: (MB, ET) Work item 9016 - Update formulas when sheet title / named range title changes +- Feature: (MB) Work item 9103 - Ability to read cached calculated value +- Feature: (MBaker, ET) Work item 8483 - Support for Excel 1904 calendar date mode (Mac) +- Feature: (ET) Work item 9194 - PHPExcel_Writer_Excel5 improvements writing shared strings table +- Feature: (ET) Work item 9248 - PHPExcel_Writer_Excel5 iconv fallback when mbstring extension is not enabled +- Feature: (ET) Work item 9253 - UTF-8 support in font names in PHPExcel_Writer_Excel5 +- Feature: (MB) Work item 9215 - Implement value binding architecture +- Feature: (MB) Work item 6742 - PDF writer not working with UTF-8 +- Feature: (ET) Work item 9355 - Eliminate duplicate style entries in multisheet workbook written by PHPExcel_Writer_Excel5 +- Bugfix: (ET) Work item 8810 - Redirect to client browser fails due to trailing white space in class definitions +- Bugfix: (MB) Work item 8816 - Spurious column dimension element introduced in blank worksheet after using PHPExcel_Writer_Excel2007 +- Bugfix: (ET) Work item 8830 - Image gets slightly narrower than expected when using PHPExcel_Writer_Excel5 +- Bugfix: (ET) Work item 8831 - Image laid over non-visible row gets squeezed in height when using PHPExcel_Writer_Excel5 +- Bugfix: (ET) Work item 8860 - PHPExcel_Reader_Excel5 fails when there are 10 or more images in the workbook +- Bugfix: (MB) Work item 8909 - Different header/footer images in different sheets not working with PHPExcel_Writer_Excel2007 +- Bugfix: (MB, ET) Work item 8924 - Fractional seconds disappear when using PHPExcel_Reader_Excel2007 and PHPExcel_Reader_Excel5 +- Bugfix: (ET) Work item 7994 - Images not showing in OpenOffice when using PHPExcel_Writer_Excel5 +- Bugfix: (ET) Work item 9047 - Images not showing on print using PHPExcel_Writer_Excel5 +- Bugfix: (ET) Work item 9085 - PHPExcel_Writer_Excel5 maximum allowed record size 4 bytes too short +- Bugfix: (MB) Work item 9119 - Not numeric strings are formatted as dates and numbers using worksheet's toArray method +- Bugfix: (ET) Work item 9132 - Excel5 simple formula parsing error +- Bugfix: (ET) Work item 9206 - Problems writing dates with CSV +- Bugfix: (ET) Work item 9203 - PHPExcel_Reader_Excel5 reader fails with fatal error when reading group shapes +- Bugfix: (ET) Work item 9231 - PHPExcel_Writer_Excel5 fails completely when workbook contains more than 57 colors +- Bugfix: (ET) Work item 9244 - PHPExcel_Writer_PDF not compatible with autoload +- Bugfix: (ET) Work item 9250 - Fatal error: Call to a member function getNestingLevel() on a non-object in PHPExcel/Reader/Excel5.php on line 690 +- Bugfix: (MB) Work item 9246 - Notices when running test 04printing.php on PHP 5.2.8 +- Bugfix: (MB) Work item 9294 - insertColumn() spawns creation of spurious RowDimension +- BugFix: (MBaker) Work item 9296 - Fix declarations for methods in extended Trend classes +- Bugfix: (MBaker) Work item 2346 - Fix to parameters for the FORECAST Statistical Function +- Bugfix: (MB) Work item 7083 - PDF writer problems with cell height and text wrapping +- Bugfix: (MBaker) Work Item 9337 - Fix test for calculated value in case the returned result is an array +- Bugfix: (ET) Work Item 9354 - Column greater than 256 results in corrupt Excel file using PHPExcel_Writer_Excel5 +- Bugfix: (MB) Work item 9351 - Excel Numberformat 0.00 results in non internal decimal places values in toArray() Method +- Bugfix: (MB,ET) Work item 9356 - setAutoSize not taking into account text rotation +- Bugfix: (ET) Work item 9372 - Call to undefined method PHPExcel_Worksheet_MemoryDrawing::getPath() in PHPExcel/Writer/HTML.php + + +2009/01/05 (v1.6.5): +- General: (MB) Applied patch 2063 +- General: (MB) Applied patch from work item 8073 - Optimise Shared Strings +- General: (MB) Applied patch from work item 8074 - Optimise Cell Sorting +- General: (MB) Applied patch from work item 8075 - Optimise Style Hashing +- General: (ET) Applied patch from work item 8245 - UTF-8 enhancements +- General: (ET) Applied patch from work item 8283 - PHPExcel_Writer_HTML validation errors against strict HTML 4.01 / CSS 2.1 +- General: (MB) Documented work items 6203 and 8110 in manual +- General: (ET) Restructure package hierachy so classes can be found more easily in auto-generated API (from work item 8468) +- General: (MB) Work item 8806 - Redirect output to a client's browser: Update recommendation in documentation +- Feature: (ET) Work item 7897 - PHPExcel_Reader_Excel5 support for print gridlines +- Feature: (ET) Work item 7899 - Screen gridlines support in Excel5 reader/writer +- Feature: (MB, ET) Work item 7552 - Option for adding image to spreadsheet from image resource in memory +- Feature: (ET) Work item 7862 - PHPExcel_Reader_Excel5 style support for BIFF5 files (Excel 5.0 - Excel 95) +- Feature: (ET) Work item 7918 - PHPExcel_Reader_Excel5 support for user-defined colors and special built-in colors +- Feature: (ET) Work item 7992 - Support for freeze panes in PHPExcel_Reader_Excel5 +- Feature: (ET) Work item 7996 - Support for header and footer margins in PHPExcel_Reader_Excel5 +- Feature: (ET) Work item 7997 - Support for active sheet index in Excel5 reader/writer +- Feature: (MB) Work item 7991 - Freeze panes not read by PHPExcel_Reader_Excel2007 +- Feature: (MB, ET) Work item 7993 - Support for screen zoom level (feature request) +- Feature: (ET) Work item 8012 - Support for default style in PHPExcel_Reader_Excel5 +- Feature: (MB) Work item 8094 - Apple iWork / Numbers.app incompatibility +- Feature: (MB) Work item 7931 - Support "between rule" in conditional formatting +- Feature: (MB) Work item 8308 - Comment size, width and height control (feature request) +- Feature: (ET) Work item 8418 - Improve method for storing MERGEDCELLS records in PHPExcel_Writer_Excel5 +- Feature: (ET) Work item 8435 - Support for protectCells() in Excel5 reader/writer +- Feature: (ET) Work item 8472 - Support for fitToWidth and fitToHeight pagesetup properties in PHPExcel_Reader_Excel5 +- Feature: (ET) Work item 8489 - Support for setShowSummaryBelow() and setShowSummaryRight() in PHPExcel_Writer_Excel5 +- Feature: (MB) Work item 8483 - Support for Excel 1904 calendar date mode (Mac) +- Feature: (ET) Work item 7538 - Excel5 reader: Support for reading images (bitmaps) +- Feature: (ET) Work item 8787 - Support for default style in PHPExcel_Writer_Excel5 +- Feature: (MBaker) Modified calculate() method to return either an array or the first value from the array for those functions that return arrays rather than single values (e.g the MMULT and TRANSPOSE function). This performance can be modified based on the $returnArrayAsType which can be set/retrieved by calling the setArrayReturnType() and getArrayReturnType() methods of the PHPExcel_Calculation class. +- Feature: (MBaker) Work item 2346 - Added ERROR.TYPE Information Function, MMULT Mathematical and Trigonometry Function, and TRANSPOSE Lookup and Reference Function +- Bugfix: (ET) Work item 7896 - setPrintGridlines(true) not working with PHPExcel_Writer_Excel5 +- Bugfix: (ET) Work item 7907 - Incorrect mapping of fill patterns in PHPExcel_Writer_Excel5 +- Bugfix: (MB) Work item 7898 - setShowGridlines(false) not working with PHPExcel_Writer_Excel2007 +- Bugfix: (MB) Work item 7905 - getShowGridlines() gives inverted value when reading sheet with PHPExcel_Reader_Excel2007 +- Bugfix: (ET) Work item 7944 - User-defined column width becomes slightly larger after read/write with Excel5 +- Bugfix: (ET) Work item 7949 - Incomplete border style support in PHPExcel_Writer_Excel5 +- Bugfix: (MB) Work item 7928 - Conditional formatting "containsText" read/write results in MS Office Excel 2007 crash +- Bugfix: (MB) Work item 7995 - All sheets are always selected in output when using PHPExcel_Writer_Excel2007 +- Bugfix: (MB) Work item 8013 - COLUMN function warning message during plain read/write +- Bugfix: (MB) Work item 8155 - setValue(0) results in string data type '0' +- Bugfix: (MB) Work item 8226 - Styles not removed when removing rows from sheet +- Bugfix: (MB) Work item 8301 - =IF formula causes fatal error during $objWriter->save() in Excel2007 format +- Bugfix: (ET) Work item 8333 - Exception thrown reading valid xls file: "Excel file is corrupt. Didn't find CONTINUE record while reading shared strings" +- Bugfix: (ET) Work item 8320 - MS Outlook corrupts files generated by PHPExcel_Writer_Excel5 +- Bugfix: (MB) Work item 8351 - Undefined method PHPExcel_Worksheet::setFreezePane() in ReferenceHelper.php on line 271 +- Bugfix: (MB) Work item 8401 - Ampersands (&), left and right angles (<, >) in Rich-Text strings leads to corrupt output using PHPExcel_Writer_Excel2007 +- Bugfix: (ET) Work item 8408 - Print header and footer not supporting UTF-8 in PHPExcel_Writer_Excel5 +- Bugfix: (ET) Work item 8463 - Vertical page breaks not working with PHPExcel_Writer_Excel5 +- Bugfix: (ET) Work item 8476 - Missing support for accounting underline types in PHPExcel_Writer_Excel5 +- Bugfix: (ET) Work item 8482 - Infinite loops when reading corrupt xls file using PHPExcel_Reader_Excel5 +- Bugfix: (ET) Work item 8566 - Sheet protection password not working with PHPExcel_Writer_Excel5 +- Bugfix: (ET) Work item 8596 - PHPExcel_Style_NumberFormat::FORMAT_NUMBER ignored by PHPExcel_Writer_Excel5 +- Bugfix: (ET) Work item 8781 - PHPExcel_Reader_Excel5 fails a whole when workbook contains a chart +- Bugfix: (ET) Work item 8788 - Occasional loss of column widths using PHPExcel_Writer_Excel5 +- Bugfix: (ET) Work item 8795 - Notices while reading formulas with deleted sheet references using PHPExcel_Reader_Excel5 +- Bugfix: (MB) Work item 8807 - Default style not read by PHPExcel_Reader_Excel2007 +- Bugfix: (MB) Work item 9341 - Blank rows occupy too much space in file generated by PHPExcel_Writer_Excel2007 + + +2008/10/27 (v1.6.4): +- General: (ET) Work item 7882 - RK record number error in MS developer documentation: 0x007E should be 0x027E +- Feature: (MBaker) Work item 7878 - getHighestColumn() returning "@" for blank worksheet causes corrupt output +- Feature: (MBaker) Work item 2346 - Implement ROW and COLUMN Lookup/Reference Functions (when specified with a parameter) +- Feature: (MBaker) Work item 2346 - Implement initial work on OFFSET Lookup/Reference Function (returning address rather than value at address) +- Feature: (ET) Work item 7416 - Excel5 reader: Page margins +- Feature: (ET) Work item 7417 - Excel5 reader: Header & Footer +- Feature: (ET) Work item 7449 - Excel5 reader support for page setup (paper size etc.) +- Feature: (MB) Work item 7445 - Improve speed and memory consumption of PHPExcel_Writer_CSV +- Feature: (MB) Work item 7432 - Better recognition of number format in HTML, CSV, and PDF writer +- Feature: (MB) Work item 7485 - Font support: Superscript and Subscript +- Feature: (ET) Work item 7509 - Excel5 reader font support: Super- and subscript +- Feature: (ET) Work item 7521 - Excel5 reader style support: Text rotation and stacked text +- Feature: (ET) Work item 7530 - Excel5 reader: Support for hyperlinks +- Feature: (MB, ET) Work item 7557 - Import sheet by request +- Feature: (ET) Work item 7607 - PHPExcel_Reader_Excel5 support for page breaks +- Feature: (ET) Work item 7622 - PHPExcel_Reader_Excel5 support for shrink-to-fit +- Feature: (MB, ET) Work item 7675 - Support for error types +- Feature: (ET) Work item 7388 - Excel5 reader true formula support +- Feature: (ET) Work item 7701 - Support for named ranges (defined names) in PHPExcel_Reader_Excel5 +- Feature: (ET) Work item 7781 - Support for repeating rows and repeating columns (print titles) in PHPExcel_Reader_Excel5 +- Feature: (ET) Work item 7783 - Support for print area in PHPExcel_Reader_Excel5 +- Feature: (ET) Work item 7795 - Excel5 reader and writer support for horizontal and vertical centering of page +- Feature: (MB) Applied patch 1962 +- Feature: (ET) Work item 7866 - Excel5 reader and writer support for hidden cells (formulas) +- Feature: (MB, ET) Work item 7612 - Support for indentation in cells (feature request) +- Feature: (MB, ET) Work item 7828 - Option for reading only specified interval of rows in a sheet +- Bugfix: (MBaker) Work item 7367 - PHPExcel_Calculation_Functions::DATETIMENOW() and PHPExcel_Calculation_Functions::DATENOW() to force UTC +- Bugfix: (MBaker) Work item 7395 - Modified PHPExcel_Shared_Date::FormattedPHPToExcel() and PHPExcel_Shared_Date::ExcelToPHP to force datatype for return values +- Bugfix: (ET) Work item 7450 - Excel5 reader not producing UTF-8 strings with BIFF5 files +- Bugfix: (MB) Work item 7470 - Array constant in formula gives run-time notice with Excel2007 writer +- Bugfix: (MB) Work item 7494 - PHPExcel_Reader_Excel2007 setReadDataOnly(true) returns Rich-Text +- Bugfix: (ET) Work item 7496 - PHPExcel_Reader_Excel5 setReadDataOnly(true) returns Rich-Text +- Bugfix: (MB) Work item 7497 - Characters before superscript or subscript losing style +- Bugfix: (MB) Work item 7507 - Subscript not working with HTML writer +- Bugfix: (MB) Work item 7508 - DefaultColumnDimension not working on first column (A) +- Bugfix: (MB) Work item 7527 - Negative numbers are stored as text in PHPExcel_Writer_2007 +- Bugfix: (ET) Work item 7531 - Text rotation and stacked text not working with PHPExcel_Writer_Excel5 +- Bugfix: (MB) Work item 7536 - PHPExcel_Shared_Date::isDateTimeFormatCode erroneously says true +- Bugfix: (MB) Work item 7559 - Different images with same filename in separate directories become duplicates +- Bugfix: (ET) Work item 7568 - PHPExcel_Reader_Excel5 not returning sheet names as UTF-8 using for Excel 95 files +- Bugfix: (MB) Work item 7575 - setAutoSize(true) on empty column gives column width of 10 using PHPExcel_Writer_Excel2007 +- Bugfix: (MB, ET) Work item 7573 - setAutoSize(true) on empty column gives column width of 255 using PHPExcel_Writer_Excel5 +- Bugfix: (MB) Work item 7514 - Worksheet_Drawing bug +- Bugfix: (MB) Work item 7593 - getCalculatedValue() with REPT function causes script to stop +- Bugfix: (MB) Work item 7594 - getCalculatedValue() with LEN function causes script to stop +- Bugfix: (MB) Work item 7600 - Explicit fit-to-width (page setup) results in fit-to-height becoming 1 +- Bugfix: (MB) Work item 7610 - Fit-to-width value of 1 is lost after read/write of Excel2007 spreadsheet +- Bugfix: (MB) Work item 7516 - Conditional styles not read properly using PHPExcel_Reader_Excel2007 +- Bugfix: (MB) Work item 7611 - PHPExcel_Writer_2007: Default worksheet style works only for first sheet +- Bugfix: (ET) Work item 6940 - Cannot Lock Cells using PHPExcel_Writer_Excel5 +- Bugfix: (ET) Work item 7621 - Incorrect cell protection values found when using Excel5 reader +- Bugfix: (ET) Work item 7623 - Default row height not working above highest row using PHPExcel_Writer_Excel5 +- Bugfix: (ET) Work item 7637 - Default column width does not get applied when using PHPExcel_Writer_Excel5 +- Bugfix: (ET) Work item 7642 - Broken support for UTF-8 string formula results in PHPExcel_Reader_Excel5 +- Bugfix: (ET) Work item 7643 - UTF-8 sheet names not working with PHPExcel_Writer_Excel5 +- Bugfix: (MB) Work item 7631 - getCalculatedValue() with ISNONTEXT function causes script to stop +- Bugfix: (ET) Work item 7652 - Missing BIFF3 functions in PHPExcel_Writer_Excel5: USDOLLAR (YEN), FINDB, SEARCHB, REPLACEB, LEFTB, RIGHTB, MIDB, LENB, ASC, DBCS (JIS) +- Bugfix: (ET) Work item 7663 - Excel5 reader doesn't read numbers correctly in 64-bit systems +- Bugfix: (ET) Work item 7667 - Missing BIFF5 functions in PHPExcel_Writer_Excel5: ISPMT, DATEDIF, DATESTRING, NUMBERSTRING +- Bugfix: (ET) Work item 7668 - Missing BIFF8 functions in PHPExcel_Writer_Excel5: GETPIVOTDATA, HYPERLINK, PHONETIC, AVERAGEA, MAXA, MINA, STDEVPA, VARPA, STDEVA, VARA +- Bugfix: (MB) Work item 7657 - Wrong host value in PHPExcel_Shared_ZipStreamWrapper::stream_open() +- Bugfix: (ET) Work item 7676 - PHPExcel_Reader_Excel5 not reading explicitly entered error types in cells +- Bugfix: (ET) Work item 7678 - Boolean and error data types not preserved for formula results in PHPExcel_Reader_Excel5 +- Bugfix: (MB) Work item 7695 - PHPExcel_Reader_Excel2007 ignores cell data type +- Bugfix: (ET) Work item 7712 - PHPExcel_Reader_Excel5 ignores cell data type +- Bugfix: (ET) Work item 7587 - PHPExcel_Writer_Excel5 not aware of data type +- Bugfix: (ET) Work item 7713 - Long strings sometimes truncated when using PHPExcel_Reader_Excel5 +- Bugfix: (ET) Work item 7727 - Direct entry of boolean or error type in cell not supported by PHPExcel_Writer_Excel5 +- Bugfix: (MB) Work item 7714 - PHPExcel_Reader_Excel2007: Error reading cell with data type string, date number format, and numeric-like cell value +- Bugfix: (ET) Work item 7735 - Row and column outlines (group indent level) not showing after using PHPExcel_Writer_Excel5 +- Bugfix: (ET) Work item 7737 - Missing UTF-8 support in number format codes for PHPExcel_Writer_Excel5 +- Bugfix: (ET) Work item 7750 - Missing UTF-8 support with PHPExcel_Writer_Excel5 for explicit string in formula +- Bugfix: (MB) Work item 7726 - Problem with class constants in PHPExcel_Style_NumberFormat +- Bugfix: (ET) Work item 7758 - Sometimes errors with PHPExcel_Reader_Excel5 reading hyperlinks +- Bugfix: (ET) Work item 7759 - Hyperlink in cell always results in string data type when using PHPExcel_Writer_Excel5 +- Bugfix: (ET) Work item 7771 - Excel file with blank sheet seen as broken in MS Office Excel 2007 when created by PHPExcel_Writer_Excel5 +- Bugfix: (ET) Work item 7785 - PHPExcel_Reader_Excel5: Incorrect reading of formula with explicit string containing (escaped) double-quote +- Bugfix: (MB) Work item 7787 - getCalculatedValue() fails on formula with sheet name containing (escaped) single-quote +- Bugfix: (MB) Work item 7786 - getCalculatedValue() fails on formula with explicit string containing (escaped) double-quote +- Bugfix: (MB) Work item 7780 - Problems with simultaneous repeatRowsAtTop and repeatColumnsAtLeft using Excel2007 reader and writer +- Bugfix: (ET) Work item 7802 - PHPExcel_Reader_Excel5: Error reading formulas with sheet reference containing special characters +- Bugfix: (ET) Work item 7831 - Off-sheet references sheet!A1 not working with PHPExcel_Writer_Excel5 +- Bugfix: (ET) Work item 7834 - Repeating rows/columns (print titles), print area not working with PHPExcel_Writer_Excel5 +- Bugfix: (ET) Work item 7849 - Formula having datetime number format shows as text when using PHPExcel_Writer_Excel5 +- Bugfix: (MBaker) Work item 7863 - Cannot set formula to hidden using applyFromArray() +- Bugfix: (MBaker) Work item 7805 - HTML/PDF Writers limited to 26 columns by calculateWorksheetDimension (erroneous comparison in getHighestColumn() method) +- Bugfix: (MB) Work item 7873 - Formula returning error type is lost when read by PHPExcel_Reader_Excel2007 +- Bugfix: (ET) Work item 7883 - PHPExcel_Reader_Excel5: Cell style lost for last column in group of blank cells +- Bugfix: (MB) Work item 7886 - Column width sometimes collapses to auto size using Excel2007 reader/writer +- Bugfix: (MB) Work item 9343 - Data Validation Formula = 0 crashes Excel + + +2008/08/25 (v1.6.3): +- Bugfix: (MBaker) Work item 7367 - Modified PHPExcel_Shared_Date::PHPToExcel() to force UTC +- General: (MB) Applied patch 1629 +- General: (MB) Applied patch 1644 +- General: (MB) Work item 6485 - Implement repeatRow and repeatColumn in Excel5 writer +- General: (MB) Work item 6838 - Remove scene3d filter in Excel2007 drawing +- Feature: (MBaker) Work item 2346 - Implement CHOOSE and INDEX Lookup/Reference Functions +- Feature: (MBaker) Work item 2346 - Implement CLEAN Text Functions +- Feature: (MBaker) Work item 2346 - Implement YEARFRAC Date/Time Functions +- Feature: (MB) Work item 6508 - Implement 2 options for print/show gridlines +- Feature: (MB) Work item 7270 - Add VLOOKUP function (contribution) +- Feature: (MB) Work item 7182 - Implemented: ShrinkToFit +- Feature: (MB) Work item 7218 - Row heights not updated correctly when inserting new rows +- Feature: (MB) Work item 7157 - Copy worksheets within the same workbook +- Feature: (ET) Work item 7290 - Excel5 reader style support: horizontal and vertical alignment plus text wrap +- Feature: (ET) Work item 7294 - Excel5 reader support for merged cells +- Feature: (ET) Work item 7296 - Excel5 reader: Sheet Protection +- Feature: (ET) Work item 7297 - Excel5 reader: Password for sheet protection +- Feature: (ET) Work item 7299 - Excel5 reader: Column width +- Feature: (ET) Work item 7301 - Excel5 reader: Row height +- Feature: (ET) Work item 7304 - Excel5 reader: Font support +- Feature: (ET) Work item 7324 - Excel5 reader: support for locked cells +- Feature: (ET) Work item 7330 - Excel5 reader style support: Fill (background colors and patterns) +- Feature: (ET) Work item 7332 - Excel5 reader style support: Borders (style and color) +- Feature: (ET) Work item 7346 - Excel5 reader: Rich-Text support +- Feature: (MB) Work item 7313 - Read Excel built-in number formats with Excel 2007 reader +- Feature: (ET) Work item 7317 - Excel5 reader: Number format support +- Feature: (MB) Work item 7362 - Creating a copy of PHPExcel object +- Feature: (ET) Work item 7373 - Excel5 reader: support for row / column outline (group) +- Feature: (MB) Work item 7380 - Implement default row/column sizes +- Feature: (MB) Work item 7364 - Writer HTML - option to return styles and table separately +- Feature: (ET) Work item 7393 - Excel5 reader: Support for remaining built-in number formats +- Bugfix: (MBaker) Fixed rounding in HOUR MINUTE and SECOND Time functions, and improved performance for these +- Bugfix: (MBaker) Fix to TRIM function +- Bugfix: (MBaker) Fixed range validation in TIME Functions.php +- Bugfix: (MBaker) EDATE and EOMONTH functions now return date values based on the returnDateType flag +- Bugfix: (MBaker) Write date values that are the result of a calculation function correctly as Excel serialized dates rather than PHP serialized date values +- Bugfix: (MB) Work item 6690 - Excel2007 reader not always reading boolean correctly +- Bugfix: (MB) Work item 6275 - Columns above IZ +- Bugfix: (MB) Work item 6853 - Other locale than English causes Excel2007 writer to produce broken xlsx +- Bugfix: (MB) Work item 7061 - Typo: Number_fromat in NumberFormat.php +- Bugfix: (MB) Work item 6865 - Bug in Worksheet_BaseDrawing setWidth() +- Bugfix: (MB) Work item 6891 - PDF writer collapses column width for merged cells +- Bugfix: (MB) Work item 6867 - Issues with drawings filenames +- Bugfix: (MB) Work item 7073 - fromArray() local variable isn't defined +- Bugfix: (MB) Work item 7276 - PHPExcel_Writer_Excel5->setTempDir() not passed to all classes involved in writing to a file +- Bugfix: (MB) Work item 7277 - Excel5 reader not handling UTF-8 properly +- Bugfix: (MB) Work item 7327 - If you write a 0 value in cell, cell shows as empty +- Bugfix: (MB) Work item 7302 - Excel2007 writer: Row height ignored for empty rows +- Bugfix: (MB) Work item 7281 - Excel2007 (comments related error) +- Bugfix: (MB) Work item 7345 - Column width in other locale +- Bugfix: (MB) Work item 7347 - Excel2007 reader not reading underlined Rich-Text +- Bugfix: (ET) Work item 7357 - Excel5 reader converting booleans to strings +- Bugfix: (MB) Work item 7365 - Recursive Object Memory Leak +- Bugfix: (MB) Work item 7372 - Excel2007 writer ignoring row dimensions without cells +- Bugfix: (ET) Work item 7382 - Excel5 reader is converting formatted numbers / dates to strings + + +2008/06/23 (v1.6.2): +- General: (MB) Work item 6088 - Document style array values +- General: (MB) Applied patch 1195 +- General: (MB) Work item 6178 - Redirecting output to a client’s web browser - http headers +- General: (MB) Work item 6187 - Improve worksheet garbage collection +- General: (MBaker) Functions that return date values can now be configured to return as Excel serialized date/time, PHP serialized date/time, or a PHP date/time object. +- General: (MBaker) Functions that explicitly accept dates as parameters now permit values as Excel serialized date/time, PHP serialized date/time, a valid date string, or a PHP date/time object. +- General: (MBaker) Implement ACOSH, ASINH and ATANH functions for those operating platforms/PHP versions that don't include these functions +- General: (MBaker) Implement ATAN2 logic reversing the arguments as per Excel +- General: (MBaker) Additional validation of parameters for COMBIN +- General: (MBaker) Fixed validation for CEILING and FLOOR when the value and significance parameters have different signs; and allowed default value of 1 or -1 for significance when in GNUMERIC compatibility mode +- Feature: (MBaker) Work item 2346 - Implement ADDRESS, ISLOGICAL, ISTEXT and ISNONTEXT functions +- Feature: (MBaker) Work item 2346 - Implement COMPLEX, IMAGINARY, IMREAL, IMARGUMENT, IMCONJUGATE, IMABS, IMSUB, IMDIV, IMSUM, IMPRODUCT, IMSQRT, IMEXP, IMLN, IMLOG10, IMLOG2, IMPOWER IMCOS and IMSIN Engineering functions +- Feature: (MBaker) Work item 2346 - Implement NETWORKDAYS and WORKDAY Date/Time functions +- Feature: (MB) Work item 6100 - Make cell column AAA available +- Feature: (MB) Work item 6095 - Mark particular cell as selected when opening Excel +- Feature: (MB) Work item 6120 - Multiple sheets in PDF and HTML +- Feature: (MB) Work item 6227 - Implement PHPExcel_ReaderFactory and PHPExcel_WriterFactory +- Feature: (MB) Work item 6249 - Set image root of PHPExcel_Writer_HTML +- Feature: (MB) Work item 6264 - Enable/disable calculation cache +- Feature: (MB) Work item 6259 - PDF writer and multi-line text +- Feature: (MB) Work item 6350 - Feature request - setCacheExpirationTime() +- Feature: (JB) Work item 6370 - Implement late-binding mechanisms to reduce memory footprint +- Feature: (JB) Work item 6430 - Implement shared styles +- Feature: (MB) Work item 6391 - Copy sheet from external Workbook to active Workbook +- Feature: (MB) Work item 6428 - Functions in Conditional Formatting +- Bugfix: (MB) Work item 6096 - Default Style in Excel5 +- Bugfix: (MB) Work item 6150 - Numbers starting with '+' cause Excel 2007 errors +- Bugfix: (MB) Work item 6092 - ExcelWriter5 is not PHP5 compatible, using it with E_STRICT results in a bunch of errors (applied patches) +- Bugfix: (MB) Work item 6179 - Error Reader Excel2007 line 653 foreach ($relsDrawing->Relationship as $ele) +- Bugfix: (MB) Work item 6229 - Worksheet toArray() screws up DATE +- Bugfix: (MB) Work item 6253 - References to a Richtext cell in a formula +- Bugfix: (MB) Work item 6285 - insertNewColumnBefore Bug +- Bugfix: (MB) Work item 6319 - Error reading Excel2007 file with shapes +- Bugfix: (MBaker) Work item 6302 - Determine whether date values need conversion from PHP dates to Excel dates before writing to file, based on the data type (float or integer) +- Bugfix: (MBaker) Fixes to DATE function when it is given negative input parameters +- Bugfix: (MB) Work item 6347 - PHPExcel handles empty cells other than Excel +- Bugfix: (MB) Work item 6348 - PHPExcel handles 0 and "" as being the same +- Bugfix: (MB) Work item 6357 - Problem Using Excel2007 Reader for Spreadsheets containing images +- Bugfix: (MB) Work item 6359 - ShowGridLines ignored when reading/writing Excel 2007 +- Bugfix: (MB) Work item 6426 - Bug With Word Wrap in Excel 2007 Reader + + +2008/04/28 (v1.6.1): +- General: (MB) Work item 5532 - Fix documentation printing +- General: (MB) Work item 5586 - Memory usage improvements +- General: (MB) Applied patch 990 +- General: (MB) Applied patch 991 +- Feature: (BM) Work item 2841 - Implement PHPExcel_Reader_Excel5 +- Feature: (MB) Work item 5564 - Implement "toArray" and "fromArray" method +- Feature: (MB) Work item 5665 - Read shared formula +- Feature: (MB) Work item 5681 - Read image twoCellAnchor +- Feature: (MB) Work item 4446 - &G Image as bg for headerfooter +- Feature: (MB) Work item 5834 - Implement page layout functionality for Excel5 format +- Feature: (MB) Work item 6039 - Feature request: PHPExcel_Writer_PDF +- Bugfix: (MB) Work item 5517 - DefinedNames null check +- Bugfix: (MB) Work item 5463 - Hyperlinks should not always have trailing slash +- Bugfix: (MB) Work item 5592 - Saving Error - Uncaught exception (#REF! named range) +- Bugfix: (MB) Work item 5634 - Error when creating Zip file on Linux System (Not Windows) +- Bugfix: (MB) Work item 5876 - Time incorrecly formated +- Bugfix: (MB) Work item 5914 - Conditional formatting - second rule not applied +- Bugfix: (MB) Work item 5978 - PHPExcel_Reader_Excel2007 cannot load PHPExcel_Shared_File +- Bugfix: (MB) Work item 6020 - Output redirection to web browser + + +2008/02/14 (v1.6.0): +- General: (MB) Work item 3156 - Use PHPExcel datatypes in formula calculation +- Feature: (MB) Work item 5019 - Center on page when printing +- Feature: (MB) Work item 5099 - Hyperlink to other spreadsheet +- Feature: (MB) Work item 5104 - Set the print area of a worksheet +- Feature: (MB) Work item 5118 - Read "definedNames" property of worksheet +- Feature: (MB) Work item 5338 - Set default style for all cells +- Feature: (MB) Work item 4216 - Named Ranges +- Feature: (MB) Work item 5398 - Implement worksheet references (Sheet1!A1) +- Bugfix: (MB) Work item 4967 - Redirect output to a client's web browser +- Bugfix: (MB) Work item 5008 - "File Error: data may have been lost." seen in Excel 2007 and Excel 2003 SP3 when opening XLS file +- Bugfix: (MB) Work item 5165 - Bug in style's getHashCode() +- Bugfix: (MB) Work item 5165 - PHPExcel_Reader not correctly reading numeric values +- Bugfix: (MB) Work item 5324 - Text rotation is read incorrectly +- Bugfix: (MB) Work item 5326 - Enclosure " and data " result a bad data : \" instead of "" +- Bugfix: (MB) Work item 5332 - Formula parser - IF statement returning array instead of scalar +- Bugfix: (MB) Work item 5351 - setFitToWidth(nbpage) & setFitToWidth(nbpage) work partially +- Bugfix: (MB) Work item 5361 - Worksheet::setTitle() causes unwanted renaming +- Bugfix: (MB) Work item 5407 - Hyperlinks not working. Results in broken xlsx file. + + +2007/12/24 (v1.5.5): +- General: (MB) Work item 4135 - Grouping Rows +- General: (MB) Work item 4427 - Semi-nightly builds +- Feature: (MB) Work item 3155 - Implement "date" datatype +- Feature: (MB) Work item 4150 - Date format not honored in CSV writer +- Feature: (MB) Work item 4199 - RichText and sharedStrings +- Feature: (MB) Work item 2346 - Implement more Excel calculation functions + - Addition of DATE, DATEDIF, DATEVALUE, DAY, DAYS360 +- Feature: (MBaker) Work item 2346 - Implement more Excel calculation functions + - Addition of AVEDEV, HARMEAN and GEOMEAN + - Addition of the BINOMDIST (Non-cumulative only), COUNTBLANK, EXPONDIST, FISHER, FISHERINV, NORMDIST, NORMSDIST, PERMUT, POISSON (Non-cumulative only) and STANDARDIZE Statistical Functions + - Addition of the CEILING, COMBIN, EVEN, FACT, FACTDOUBLE, FLOOR, MULTINOMIAL, ODD, ROUNDDOWN, ROUNDUP, SIGN, SQRTPI and SUMSQ Mathematical Functions + - Addition of the NORMINV, NORMSINV, CONFIDENCE and SKEW Statistical Functions + - Addition of the CRITBINOM, HYPGEOMDIST, KURT, LOGINV, LOGNORMDIST, NEGBINOMDIST and WEIBULL Statistical Functions + - Addition of the LARGE, PERCENTILE, QUARTILE, SMALL and TRIMMEAN Statistical Functions + - Addition of the BIN2HEX, BIN2OCT, DELTA, ERF, ERFC, GESTEP, HEX2BIN, HEX2DEC, HEX2OCT, OCT2BIN and OCT2HEX Engineering Functions + - Addition of the CHIDIST, GAMMADIST and GAMMALN Statistical Functions + - Addition of the GCD, LCM, MROUND and SUBTOTAL Mathematical Functions + - Addition of the LOWER, PROPER and UPPER Text Functions + - Addition of the BETADIST and BETAINV Statistical Functions + - Addition of the CHIINV and GAMMAINV Statistical Functions + - Addition of the SERIESSUM Mathematical Function + - Addition of the CHAR, CODE, FIND, LEN, REPT, SEARCH, T, TRIM Text Functions + - Addition of the FALSE and TRUE Boolean Functions + - Addition of the TDIST and TINV Statistical Functions + - Addition of the EDATE, EOMONTH, YEAR, MONTH, TIME, TIMEVALUE, HOUR, MINUTE, SECOND, WEEKDAY, WEEKNUM, NOW, TODAY and Date/Time Function + - Addition of the BESSELI, BESSELJ, BESSELK and BESSELY Engineering Functions + - Addition of the SLN and SYD Financial Functions + - reworked MODE calculation to handle floating point numbers + - Improved error trapping for invalid input values + - Fix to SMALL, LARGE, PERCENTILE and TRIMMEAN to eliminate non-numeric values + - Added CDF to BINOMDIST and POISSON + - Fix to a potential endless loop in CRITBINOM, together with other bugfixes to the algorithm + - Fix to SQRTPI so that it will work with a real value parameter rather than just integers + - Trap for passing negative values to FACT + - Improved accuracy of the NORMDIST cumulative function, and of the ERF and ERFC functions + - Replicated Excel data-type and error handling for BIN, DEC, OCT and HEX conversion functions + - Replicated Excel data-type and error handling for AND and OR Boolean functions + - Bugfix to MROUND + - Rework of the DATE, DATEVALUE, DAY, DAYS360 and DATEDIF date/Time functions to use Excel dates rather than straight PHP dates + - Rework of the AND, OR Boolean functions to ignore string values + - Rework of the BIN2DEC, BIN2HEX, BIN2OCT, DEC2BIN, DEC2HEX, DEC2OCT Engineering functions to handle two's complement + - Excel, Gnumeric and OpenOffice Calc compatibility flag for functions + Note, not all functions have yet been written to work with the Gnumeric and OpenOffice Calc compatibility flags + - 1900 or 1904 Calendar flag for date functions + - Reworked ExcelToPHP date method to handle the Excel 1900 leap year + Note that this will not correctly return values prior to 13-Dec-1901 20:45:52 as this is the minimum value that PHP date serial values can handle. If you need to work with dates prior to this, then an ExcelToPHPObject method has been added which will work correctly with values between Excel's 1900 calendar base date of 1-Jan-1900, and 13-Dec-1901 + - Addition of ExcelToPHPObject date method to return a PHP DateTime object from an Excel date serial value + - PHPToExcel method modified to accept either PHP date serial numbers or PHP DateTime objects + - Addition of FormattedPHPToExcel which will accept a date and time broken to into year, month, day, hour, minute, second and return an Excel date serial value +- Feature: (MB) Work item 4485 - Control characters in Excel 2007 +- Feature: (MB) Work item 4796 - BaseDrawing::setWidthAndHeight method request +- Feature: (MB) Work item 4798 - Page Setup -> Print Titles -> Sheet -> 'Rows to repeat at top' +- Feature: (MB) Work item 4433 - Comment functionality +- Bugfix: (MB) Work item 4124 - Undefined variable in PHPExcel_Writer_Serialized +- Bugfix: (MB) Work item 4125 - Notice: Object of class PHPExcel_RichText could not be converted to int +- Bugfix: (MB) Work item 4126 - Excel5Writer: utf8 string not converted to utf16 +- Bugfix: (MB) Work item 4180 - PHPExcel_RichText and autosize +- Bugfix: (MB) Work item 4574 - Excel5Writer produces broken xls files after change mentioned in work item 4126 +- Bugfix: (MB) Work item 4797 - Small bug in PHPExcel_Reader_Excel2007 function _readStyle + + +2007/10/23 (v 1.5.0): +- General: (MB) Work item 3265 - Refactor PHPExcel Drawing +- Feature: (CS) Work item 3079 - Update Shared/OLE.php to latest version from PEAR +- Feature: (MB) Work item 3217 - Excel2007 vs Excel2003 compatibility pack +- Feature: (MB) Work item 3234 - Cell protection (lock/unlock) +- Feature: (MB) Work item 3543 - Create clickable links (hyperlinks) +- Feature: (MB) Work item 3241 - Additional page setup parameters +- Feature: (MB) Work item 3300 - Make temporary file path configurable (Excel5) +- Feature: (MB) Work item 3306 - Small addition to applyFromArray for font +- Feature: (MB) Work item 3373 - Better feedback when save of file is not possible +- Bugfix: (MB) Work item 3181 - Text Rotation +- Bugfix: (MB) Work item 3237 - Small bug in Page Orientation +- Bugfix: (MB) Work item 3812 - insertNewColumnBeforeByColumn undefined +- Bugfix: (MB) Work item 3893 - Sheet references not working in formula (Excel5 Writer) + + +2007/08/23 (v 1.4.5): +- General: (MB) Work item 3003 - Class file endings +- General: (MB) Work item 3081 - Different calculation engine improvements +- General: (MB) Work item 3082 - Different improvements in PHPExcel_Reader_Excel2007 +- General: (MB) Work item 3146 - Set XML indentation in PHPExcel_Writer_Excel2007 +- Feature: (MB) Work item 3159 - Optionally store temporary Excel2007 writer data in file instead of memory +- Feature: (MB) Work item 3063 - Implement show/hide gridlines +- Feature: (MB) Work item 3064 - Implement option to read only data +- Feature: (MB) Work item 3080 - Optionally disable formula precalculation +- Feature: (MB) Work item 3154 - Explicitly set cell datatype +- Feature: (MBaker) Work item 2346 - Implement more Excel calculation functions + - Addition of MINA, MAXA, COUNTA, AVERAGEA, MEDIAN, MODE, DEVSQ, STDEV, STDEVA, STDEVP, STDEVPA, VAR, VARA, VARP and VARPA Excel Functions + - Fix to SUM, PRODUCT, QUOTIENT, MIN, MAX, COUNT and AVERAGE functions when cell contains a numeric value in a string datatype, bringing it in line with MS Excel behaviour +- Bugfix: (MB) Work item 2881 - File_exists on ZIP fails on some installations +- Bugfix: (MB) Work item 2879 - Argument in textRotation should be -90..90 +- Bugfix: (MB) Work item 2883 - Excel2007 reader/writer not implementing OpenXML/SpreadsheetML styles 100% correct +- Bugfix: (MB) Work item 2513 - Active sheet index not read/saved +- Bugfix: (MB) Work item 2935 - Print and print preview of generated XLSX causes Excel2007 to crash +- Bugfix: (MB) Work item 2952 - Error in Calculations - COUNT() function +- Bugfix: (MB) Work item 3002 - HTML and CSV writer not writing last row +- Bugfix: (MB) Work item 3017 - Memory leak in Excel5 writer +- Bugfix: (MB) Work item 3044 - Printing (PHPExcel_Writer_Excel5) +- Bugfix: (MB) Work item 3046 - Problems reading zip:// +- Bugfix: (MB) Work item 3047 - Error reading conditional formatting +- Bugfix: (MB) Work item 3067 - Bug in Excel5 writer (storePanes) +- Bugfix: (MB) Work item 3077 - Memory leak in PHPExcel_Style_Color + + +2007/07/23 (v 1.4.0): +- General: (MB) Work item 2687 - Coding convention / code cleanup +- General: (MB) Work item 2717 - Use set_include_path in tests +- General: (MB) Work item 2812 - Move PHPExcel_Writer_Excel5 OLE to PHPExcel_Shared_OLE +- Feature: (MB) Work item 2679 - Hide/Unhide Column or Row +- Feature: (MB) Work item 2271 - Implement multi-cell styling +- Feature: (MB) Work item 2720 - Implement CSV file format (reader/writer) +- Feature: (MB) Work item 2845 - Implement HTML file format +- Bugfix: (MB) Work item 2513 - Active sheet index not read/saved +- Bugfix: (MB) Work item 2678 - Freeze Panes with PHPExcel_Writer_Excel5 +- Bugfix: (MB) Work item 2680 - OLE.php +- Bugfix: (MB) Work item 2736 - Copy and pasting multiple drop-down list cells breaks reader +- Bugfix: (MB) Work item 2775 - Function setAutoFilterByColumnAndRow takes wrong arguments +- Bugfix: (MB) Work item 2858 - Simplexml_load_file fails on ZipArchive + + +2007/06/27 (v 1.3.5): +- General: (MB) Work item 15 - Documentation +- Feature: (JV) PHPExcel_Writer_Excel5 +- Feature: (JV) PHPExcel_Reader_Excel2007: Image shadows +- Feature: (MB) Work item 2385 - Data validation +- Feature: (MB) Work item 187 - Implement richtext strings +- Bugfix: (MB) Work item 2443 - Empty relations when adding image to any sheet but the first one +- Bugfix: (MB) Work item 2536 - Excel2007 crashes on print preview + + +2007/06/05 (v 1.3.0): +- General: (MB) Work item 1942 - Create PEAR package +- General: (MB) Work item 2331 - Replace *->duplicate() by __clone() +- Feature: (JV) PHPExcel_Reader_Excel2007: Column auto-size, Protection, Merged cells, Wrap text, Page breaks, Auto filter, Images +- Feature: (MB) Work item 245 - Implement "freezing" panes +- Feature: (MB) Work item 2273 - Cell addressing alternative +- Feature: (MB) Work item 2270 - Implement cell word-wrap attribute +- Feature: (MB) Work item 2282 - Auto-size column +- Feature: (MB) Work item 241 - Implement formula calculation +- Feature: (MB) Work item 2375 - Insert/remove row/column +- Bugfix: (MB) Work item 1931 - PHPExcel_Worksheet::getCell() should not accept absolute coordinates +- Bugfix: (MB) Work item 2272 - Cell reference without row number +- Bugfix: (MB) Work item 2276 - Styles with same coordinate but different worksheet +- Bugfix: (MB) Work item 2290 - PHPExcel_Worksheet->getCellCollection() usort error +- Bugfix: (SS) Work item 2353 - Bug in PHPExcel_Cell::stringFromColumnIndex +- Bugfix: (JV) Work item 2353 - Reader: numFmts can be missing, use cellStyleXfs instead of cellXfs in styles + + +2007/04/26 (v 1.2.0): +- General: (MB) Stringtable attribute "count" not necessary, provides wrong info to Excel sometimes... +- General: (MB) Updated tests to address more document properties +- General: (MB) Some refactoring in PHPExcel_Writer_Excel2007_Workbook +- General: (MB) New package: PHPExcel_Shared +- General: (MB) Password hashing algorithm implemented in PHPExcel_Shared_PasswordHasher +- General: (MB) Moved pixel conversion functions to PHPExcel_Shared_Drawing +- General: (MB) Work item 244 - Switch over to LGPL license +- General: (MB) Work item 5 - Include PHPExcel version in file headers +- Feature: (MB) Work item 6 - Autofilter +- Feature: (MB) Work item 7 - Extra document property: keywords +- Feature: (MB) Work item 8 - Extra document property: category +- Feature: (MB) Work item 9 - Document security +- Feature: (MB) Work item 10 - PHPExcel_Writer_Serialized and PHPExcel_Reader_Serialized +- Feature: (MB) Work item 11 - Alternative syntax: Addressing a cell +- Feature: (MB) Work item 12 - Merge cells +- Feature: (MB) Work item 13 - Protect ranges of cells with a password +- Bugfix: (JV) Work item 14 - (style/fill/patternFill/fgColor or bgColor can be empty) + + +2007/03/26 (v 1.1.1): +- Bugfix: (MB) Work item 1250 - Syntax error in "Classes/PHPExcel/Writer/Excel2007.php" on line 243 +- General: (MB) Work item 1282 - Reader should check if file exists and throws an exception when it doesn't + + +2007/03/22 (v 1.1.0): +- Changed filenames of tests +- Bugfix: (MB) Work item 836 - Style information lost after passing trough Excel2007_Reader +- Bugfix: (MB) Work item 913 - Number of columns > AZ fails fixed in PHPExcel_Cell::columnIndexFromString +- General: (MB) Added a brief file with installation instructions +- Feature: (MB) Page breaks (horizontal and vertical) +- Feature: (MB) Image shadows + + + +2007/02/22 (v 1.0.0): +- Changelog now includes developer initials +- Bugfix: (JV) PHPExcel->removeSheetByIndex now re-orders sheets after deletion, so no array indexes are lost +- Bugfix: (JV) PHPExcel_Writer_Excel2007_Worksheet::_writeCols() used direct assignment to $pSheet->getColumnDimension('A')->Width instead of $pSheet->getColumnDimension('A')->setWidth() +- Bugfix: (JV) DocumentProperties used $this->LastModifiedBy instead of $this->_lastModifiedBy. +- Bugfix: (JV) Only first = should be removed when writing formula in PHPExcel_Writer_Excel2007_Worksheet. +- General: (JV) Consistency of method names to camelCase +- General: (JV) Updated tests to match consistency changes +- General: (JV) Detection of mime-types now with image_type_to_mime_type() +- General: (JV) Constants now hold string value used in Excel 2007 +- General: (MB) Fixed folder name case (WorkSheet -> Worksheet) +- Feature: (MB) PHPExcel classes (not the Writer classes) can be duplicated, using a duplicate() method. +- Feature: (MB) Cell styles can now be duplicated to a range of cells using PHPExcel_Worksheet->duplicateStyle() +- Feature: (MB) Conditional formatting +- Feature: (JV) Reader for Excel 2007 (not supporting full specification yet!) + + + +2007/01/31 (v 1.0.0 RC): +- Project name has been changed to PHPExcel +- Project homepage is now http://www.codeplex.com/PHPExcel +- Started versioning at number: PHPExcel 1.0.0 RC + + + +2007/01/22: +- Fixed some performance issues on large-scale worksheets (mainly loops vs. indexed arrays) +- Performance on creating StringTable has been increased +- Performance on writing Excel2007 worksheet has been increased + + + +2007/01/18: +- Images can now be rotated +- Fixed bug: When drawings have full path specified, no mime type can be deducted +- Fixed bug: Only one drawing can be added to a worksheet + + + +2007/01/12: +- Refactoring of some classes to use ArrayObject instead of array() +- Cell style now has support for number format (i.e. #,##0) +- Implemented embedding images + + + +2007/01/02: +- Cell style now has support for fills, including gradient fills +- Cell style now has support for fonts +- Cell style now has support for border colors +- Cell style now has support for font colors +- Cell style now has support for alignment + + + +2006/12/21: +- Support for cell style borders +- Support for cell styles +- Refactoring of Excel2007 Writer into multiple classes in package SpreadSheet_Writer_Excel2007 +- Refactoring of all classes, changed public members to public properties using getter/setter +- Worksheet names are now unique. On duplicate worksheet names, a number is appended. +- Worksheet now has parent SpreadSheet object +- Worksheet now has support for page header and footer +- Worksheet now has support for page margins +- Worksheet now has support for page setup (only Paper size and Orientation) +- Worksheet properties now accessible by using getProperties() +- Worksheet now has support for row and column dimensions (height / width) +- Exceptions thrown have a more clear description + + + +Initial version: +- Create a Spreadsheet object +- Add one or more Worksheet objects +- Add cells to Worksheet objects +- Export Spreadsheet object to Excel 2007 OpenXML format +- Each cell supports the following data formats: string, number, formula, boolean. \ No newline at end of file diff --git a/vendor/phpoffice/phpexcel/composer.json b/vendor/phpoffice/phpexcel/composer.json new file mode 100644 index 00000000..ff18cb84 --- /dev/null +++ b/vendor/phpoffice/phpexcel/composer.json @@ -0,0 +1,38 @@ +{ + "name": "phpoffice/phpexcel", + "description": "PHPExcel - OpenXML - Read, Create and Write Spreadsheet documents in PHP - Spreadsheet engine", + "keywords": ["PHP","Excel","OpenXML","xlsx","xls","spreadsheet"], + "homepage": "http://phpexcel.codeplex.com", + "type": "library", + "license": "LGPL", + "authors": [ + { + "name": "Maarten Balliauw", + "homepage": "http://blog.maartenballiauw.be" + }, + { + "name": "Mark Baker" + }, + { + "name": "Franck Lefevre", + "homepage": "http://blog.rootslabs.net" + }, + { + "name": "Erik Tilt" + } + ], + "require": { + "php": ">=5.2.0", + "ext-xml": "*", + "ext-xmlwriter": "*" + }, + "recommend": { + "ext-zip": "*", + "ext-gd2": "*" + }, + "autoload": { + "psr-0": { + "PHPExcel": "Classes/" + } + } +} diff --git a/vendor/phpoffice/phpexcel/install.txt b/vendor/phpoffice/phpexcel/install.txt new file mode 100644 index 00000000..1a999d25 --- /dev/null +++ b/vendor/phpoffice/phpexcel/install.txt @@ -0,0 +1,75 @@ +************************************************************************************** +* PHPExcel +* +* Copyright (c) 2006 - 2011 PHPExcel +* +* This library is free software; you can redistribute it and/or +* modify it under the terms of the GNU Lesser General Public +* License as published by the Free Software Foundation; either +* version 2.1 of the License, or (at your option) any later version. +* +* This library is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +* Lesser General Public License for more details. +* +* You should have received a copy of the GNU Lesser General Public +* License along with this library; if not, write to the Free Software +* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +* +* @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel) +* @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL +* @version ##VERSION##, ##DATE## +************************************************************************************** + +Requirements +------------ + +The following requirements should be met prior to using PHPExcel: +* PHP version 5.2.0 or higher +* PHP extension php_zip enabled *) +* PHP extension php_xml enabled +* PHP extension php_gd2 enabled (if not compiled in) + +*) php_zip is only needed by PHPExcel_Reader_Excel2007, PHPExcel_Writer_Excel2007, + PHPExcel_Reader_OOCalc. In other words, if you need PHPExcel to handle .xlsx or .ods + files you will need the zip extension, but otherwise not. + + + +Installation instructions +------------------------- + +Installation is quite easy: copy the contents of the Classes folder to any location +in your application required. + +Example: + +If your web root folder is /var/www/ you may want to create a subfolder called +/var/www/Classes/ and copy the files into that folder so you end up with files: + +/var/www/Classes/PHPExcel.php +/var/www/Classes/PHPExcel/Calculation.php +/var/www/Classes/PHPExcel/Cell.php +... + + + +Getting started +--------------- + +A good way to get started is to run some of the tests included in the download. +Copy the "Examples" folder next to your "Classes" folder from above so you end up with: + +/var/www/Examples/01simple.php +/var/www/Examples/02types.php +... + +Start running the test by pointing your browser to the test scripts: + +http://example.com/Examples/01simple.php +http://example.com/Examples/02types.php +... + +Note: It may be necessary to modify the include/require statements at the beginning of +each of the test scripts if your "Classes" folder from above is named differently. diff --git a/vendor/phpoffice/phpexcel/license.md b/vendor/phpoffice/phpexcel/license.md new file mode 100644 index 00000000..57b74d4c --- /dev/null +++ b/vendor/phpoffice/phpexcel/license.md @@ -0,0 +1,345 @@ +GNU LESSER GENERAL PUBLIC LICENSE + + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License Agreement applies to any software library or other +program which contains a notice placed by the copyright holder or +other authorized party saying it may be distributed under the terms of +this Lesser General Public License (also called "this License"). +Each licensee is addressed as "you". + + A "library" means a collection of software functions and/or data +prepared so as to be conveniently linked with application programs +(which use some of those functions and data) to form executables. + + The "Library", below, refers to any such software library or work +which has been distributed under these terms. A "work based on the +Library" means either the Library or any derivative work under +copyright law: that is to say, a work containing the Library or a +portion of it, either verbatim or with modifications and/or translated +straightforwardly into another language. (Hereinafter, translation is +included without limitation in the term "modification".) + + "Source code" for a work means the preferred form of the work for +making modifications to it. For a library, complete source code means +all the source code for all modules it contains, plus any associated +interface definition files, plus the scripts used to control compilation +and installation of the library. + + Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running a program using the Library is not restricted, and output from +such a program is covered only if its contents constitute a work based +on the Library (independent of the use of the Library in a tool for +writing it). Whether that is true depends on what the Library does +and what the program that uses the Library does. + + 1. You may copy and distribute verbatim copies of the Library's +complete source code as you receive it, in any medium, provided that +you conspicuously and appropriately publish on each copy an +appropriate copyright notice and disclaimer of warranty; keep intact +all the notices that refer to this License and to the absence of any +warranty; and distribute a copy of this License along with the +Library. + + You may charge a fee for the physical act of transferring a copy, +and you may at your option offer warranty protection in exchange for a +fee. + + 2. You may modify your copy or copies of the Library or any portion +of it, thus forming a work based on the Library, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) The modified work must itself be a software library. + + b) You must cause the files modified to carry prominent notices + stating that you changed the files and the date of any change. + + c) You must cause the whole of the work to be licensed at no + charge to all third parties under the terms of this License. + + d) If a facility in the modified Library refers to a function or a + table of data to be supplied by an application program that uses + the facility, other than as an argument passed when the facility + is invoked, then you must make a good faith effort to ensure that, + in the event an application does not supply such function or + table, the facility still operates, and performs whatever part of + its purpose remains meaningful. + + (For example, a function in a library to compute square roots has + a purpose that is entirely well-defined independent of the + application. Therefore, Subsection 2d requires that any + application-supplied function or table used by this function must + be optional: if the application does not supply it, the square + root function must still compute square roots.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Library, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Library, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote +it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Library. + +In addition, mere aggregation of another work not based on the Library +with the Library (or with a work based on the Library) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may opt to apply the terms of the ordinary GNU General Public +License instead of this License to a given copy of the Library. To do +this, you must alter all the notices that refer to this License, so +that they refer to the ordinary GNU General Public License, version 2, +instead of to this License. (If a newer version than version 2 of the +ordinary GNU General Public License has appeared, then you can specify +that version instead if you wish.) Do not make any other change in +these notices. + + Once this change is made in a given copy, it is irreversible for +that copy, so the ordinary GNU General Public License applies to all +subsequent copies and derivative works made from that copy. + + This option is useful when you wish to copy part of the code of +the Library into a program that is not a library. + + 4. You may copy and distribute the Library (or a portion or +derivative of it, under Section 2) in object code or executable form +under the terms of Sections 1 and 2 above provided that you accompany +it with the complete corresponding machine-readable source code, which +must be distributed under the terms of Sections 1 and 2 above on a +medium customarily used for software interchange. + + If distribution of object code is made by offering access to copy +from a designated place, then offering equivalent access to copy the +source code from the same place satisfies the requirement to +distribute the source code, even though third parties are not +compelled to copy the source along with the object code. + + 5. A program that contains no derivative of any portion of the +Library, but is designed to work with the Library by being compiled or +linked with it, is called a "work that uses the Library". Such a +work, in isolation, is not a derivative work of the Library, and +therefore falls outside the scope of this License. + + However, linking a "work that uses the Library" with the Library +creates an executable that is a derivative of the Library (because it +contains portions of the Library), rather than a "work that uses the +library". The executable is therefore covered by this License. +Section 6 states terms for distribution of such executables. + + When a "work that uses the Library" uses material from a header file +that is part of the Library, the object code for the work may be a +derivative work of the Library even though the source code is not. +Whether this is true is especially significant if the work can be +linked without the Library, or if the work is itself a library. The +threshold for this to be true is not precisely defined by law. + + If such an object file uses only numerical parameters, data +structure layouts and accessors, and small macros and small inline +functions (ten lines or less in length), then the use of the object +file is unrestricted, regardless of whether it is legally a derivative +work. (Executables containing this object code plus portions of the +Library will still fall under Section 6.) + + Otherwise, if the work is a derivative of the Library, you may +distribute the object code for the work under the terms of Section 6. +Any executables containing that work also fall under Section 6, +whether or not they are linked directly with the Library itself. + + 6. As an exception to the Sections above, you may also combine or +link a "work that uses the Library" with the Library to produce a +work containing portions of the Library, and distribute that work +under terms of your choice, provided that the terms permit +modification of the work for the customer's own use and reverse +engineering for debugging such modifications. + + You must give prominent notice with each copy of the work that the +Library is used in it and that the Library and its use are covered by +this License. You must supply a copy of this License. If the work +during execution displays copyright notices, you must include the +copyright notice for the Library among them, as well as a reference +directing the user to the copy of this License. Also, you must do one +of these things: + + a) Accompany the work with the complete corresponding + machine-readable source code for the Library including whatever + changes were used in the work (which must be distributed under + Sections 1 and 2 above); and, if the work is an executable linked + with the Library, with the complete machine-readable "work that + uses the Library", as object code and/or source code, so that the + user can modify the Library and then relink to produce a modified + executable containing the modified Library. (It is understood + that the user who changes the contents of definitions files in the + Library will not necessarily be able to recompile the application + to use the modified definitions.) + + b) Use a suitable shared library mechanism for linking with the + Library. A suitable mechanism is one that (1) uses at run time a + copy of the library already present on the user's computer system, + rather than copying library functions into the executable, and (2) + will operate properly with a modified version of the library, if + the user installs one, as long as the modified version is + interface-compatible with the version that the work was made with. + + c) Accompany the work with a written offer, valid for at + least three years, to give the same user the materials + specified in Subsection 6a, above, for a charge no more + than the cost of performing this distribution. + + d) If distribution of the work is made by offering access to copy + from a designated place, offer equivalent access to copy the above + specified materials from the same place. + + e) Verify that the user has already received a copy of these + materials or that you have already sent this user a copy. + + For an executable, the required form of the "work that uses the +Library" must include any data and utility programs needed for +reproducing the executable from it. However, as a special exception, +the materials to be distributed need not include anything that is +normally distributed (in either source or binary form) with the major +components (compiler, kernel, and so on) of the operating system on +which the executable runs, unless that component itself accompanies +the executable. + + It may happen that this requirement contradicts the license +restrictions of other proprietary libraries that do not normally +accompany the operating system. Such a contradiction means you cannot +use both them and the Library together in an executable that you +distribute. + + 7. You may place library facilities that are a work based on the +Library side-by-side in a single library together with other library +facilities not covered by this License, and distribute such a combined +library, provided that the separate distribution of the work based on +the Library and of the other library facilities is otherwise +permitted, and provided that you do these two things: + + a) Accompany the combined library with a copy of the same work + based on the Library, uncombined with any other library + facilities. This must be distributed under the terms of the + Sections above. + + b) Give prominent notice with the combined library of the fact + that part of it is a work based on the Library, and explaining + where to find the accompanying uncombined form of the same work. + + 8. You may not copy, modify, sublicense, link with, or distribute +the Library except as expressly provided under this License. Any +attempt otherwise to copy, modify, sublicense, link with, or +distribute the Library is void, and will automatically terminate your +rights under this License. However, parties who have received copies, +or rights, from you under this License will not have their licenses +terminated so long as such parties remain in full compliance. + + 9. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Library or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Library (or any work based on the +Library), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Library or works based on it. + + 10. Each time you redistribute the Library (or any work based on the +Library), the recipient automatically receives a license from the +original licensor to copy, distribute, link with or modify the Library +subject to these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties with +this License. + + 11. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Library at all. For example, if a patent +license would not permit royalty-free redistribution of the Library by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Library. + +If any portion of this section is held invalid or unenforceable under any +particular circumstance, the balance of the section is intended to apply, +and the section as a whole is intended to apply in other circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 12. If the distribution and/or use of the Library is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Library under this License may add +an explicit geographical distribution limitation excluding those countries, +so that distribution is permitted only in or among countries not thus +excluded. In such case, this License incorporates the limitation as if +written in the body of this License. + + 13. The Free Software Foundation may publish revised and/or new +versions of the Lesser General Public License from time to time. +Such new versions will be similar in spirit to the present version, +but may differ in detail to address new problems or concerns. + +Each version is given a distinguishing version number. If the Library +specifies a version number of this License which applies to it and +"any later version", you have the option of following the terms and +conditions either of that version or of any later version published by +the Free Software Foundation. If the Library does not specify a +license version number, you may choose any version ever published by +the Free Software Foundation. + + 14. If you wish to incorporate parts of the Library into other free +programs whose distribution conditions are incompatible with these, +write to the author to ask for permission. For software which is +copyrighted by the Free Software Foundation, write to the Free +Software Foundation; we sometimes make exceptions for this. Our +decision will be guided by the two goals of preserving the free status +of all derivatives of our free software and of promoting the sharing +and reuse of software generally. + +NO WARRANTY + + 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO +WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. +EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR +OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY +KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE +LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME +THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN +WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY +AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU +FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR +CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE +LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING +RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A +FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF +SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGES. + +END OF TERMS AND CONDITIONS \ No newline at end of file diff --git a/vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/AutoloaderTest.php b/vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/AutoloaderTest.php new file mode 100644 index 00000000..286ef627 --- /dev/null +++ b/vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/AutoloaderTest.php @@ -0,0 +1,56 @@ +<?php + + +class AutoloaderTest extends PHPUnit_Framework_TestCase +{ + + public function setUp() + { + if (!defined('PHPEXCEL_ROOT')) + { + define('PHPEXCEL_ROOT', APPLICATION_PATH . '/'); + } + require_once(PHPEXCEL_ROOT . 'PHPExcel/Autoloader.php'); + } + + public function testAutoloaderNonPHPExcelClass() + { + $className = 'InvalidClass'; + + $result = PHPExcel_Autoloader::Load($className); + // Must return a boolean... + $this->assertTrue(is_bool($result)); + // ... indicating failure + $this->assertFalse($result); + } + + public function testAutoloaderInvalidPHPExcelClass() + { + $className = 'PHPExcel_Invalid_Class'; + + $result = PHPExcel_Autoloader::Load($className); + // Must return a boolean... + $this->assertTrue(is_bool($result)); + // ... indicating failure + $this->assertFalse($result); + } + + public function testAutoloadValidPHPExcelClass() + { + $className = 'PHPExcel_IOFactory'; + + $result = PHPExcel_Autoloader::Load($className); + // Check that class has been loaded + $this->assertTrue(class_exists($className)); + } + + public function testAutoloadInstantiateSuccess() + { + $result = new PHPExcel_Calculation_Function(1,2,3); + // Must return an object... + $this->assertTrue(is_object($result)); + // ... of the correct type + $this->assertTrue(is_a($result,'PHPExcel_Calculation_Function')); + } + +} \ No newline at end of file diff --git a/vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Calculation/DateTimeTest.php b/vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Calculation/DateTimeTest.php new file mode 100644 index 00000000..d4bdc5ab --- /dev/null +++ b/vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Calculation/DateTimeTest.php @@ -0,0 +1,466 @@ +<?php + + +require_once 'testDataFileIterator.php'; + +class DateTimeTest extends PHPUnit_Framework_TestCase +{ + + public function setUp() + { + if (!defined('PHPEXCEL_ROOT')) + { + define('PHPEXCEL_ROOT', APPLICATION_PATH . '/'); + } + require_once(PHPEXCEL_ROOT . 'PHPExcel/Autoloader.php'); + + PHPExcel_Calculation_Functions::setCompatibilityMode(PHPExcel_Calculation_Functions::COMPATIBILITY_EXCEL); + } + + /** + * @dataProvider providerDATE + */ + public function testDATE() + { + $args = func_get_args(); + $expectedResult = array_pop($args); + $result = call_user_func_array(array('PHPExcel_Calculation_DateTime','DATE'),$args); + $this->assertEquals($expectedResult, $result, NULL, 1E-8); + } + + public function providerDATE() + { + return new testDataFileIterator('rawTestData/Calculation/DateTime/DATE.data'); + } + + public function testDATEtoPHP() + { + PHPExcel_Calculation_Functions::setReturnDateType(PHPExcel_Calculation_Functions::RETURNDATE_PHP_NUMERIC); + $result = PHPExcel_Calculation_DateTime::DATE(2012,1,31); + PHPExcel_Calculation_Functions::setReturnDateType(PHPExcel_Calculation_Functions::RETURNDATE_EXCEL); + $this->assertEquals(1327968000, $result, NULL, 1E-8); + } + + public function testDATEtoPHPObject() + { + PHPExcel_Calculation_Functions::setReturnDateType(PHPExcel_Calculation_Functions::RETURNDATE_PHP_OBJECT); + $result = PHPExcel_Calculation_DateTime::DATE(2012,1,31); + PHPExcel_Calculation_Functions::setReturnDateType(PHPExcel_Calculation_Functions::RETURNDATE_EXCEL); + // Must return an object... + $this->assertTrue(is_object($result)); + // ... of the correct type + $this->assertTrue(is_a($result,'DateTime')); + // ... with the correct value + $this->assertEquals($result->format('d-M-Y'),'31-Jan-2012'); + } + + public function testDATEwith1904Calendar() + { + PHPExcel_Shared_Date::setExcelCalendar(PHPExcel_Shared_Date::CALENDAR_MAC_1904); + $result = PHPExcel_Calculation_DateTime::DATE(1918,11,11); + PHPExcel_Shared_Date::setExcelCalendar(PHPExcel_Shared_Date::CALENDAR_WINDOWS_1900); + $this->assertEquals($result,5428); + } + + public function testDATEwith1904CalendarError() + { + PHPExcel_Shared_Date::setExcelCalendar(PHPExcel_Shared_Date::CALENDAR_MAC_1904); + $result = PHPExcel_Calculation_DateTime::DATE(1901,1,31); + PHPExcel_Shared_Date::setExcelCalendar(PHPExcel_Shared_Date::CALENDAR_WINDOWS_1900); + $this->assertEquals($result,'#NUM!'); + } + + /** + * @dataProvider providerDATEVALUE + */ + public function testDATEVALUE() + { + $args = func_get_args(); + $expectedResult = array_pop($args); + $result = call_user_func_array(array('PHPExcel_Calculation_DateTime','DATEVALUE'),$args); + $this->assertEquals($expectedResult, $result, NULL, 1E-8); + } + + public function providerDATEVALUE() + { + return new testDataFileIterator('rawTestData/Calculation/DateTime/DATEVALUE.data'); + } + + public function testDATEVALUEtoPHP() + { + PHPExcel_Calculation_Functions::setReturnDateType(PHPExcel_Calculation_Functions::RETURNDATE_PHP_NUMERIC); + $result = PHPExcel_Calculation_DateTime::DATEVALUE('2012-1-31'); + PHPExcel_Calculation_Functions::setReturnDateType(PHPExcel_Calculation_Functions::RETURNDATE_EXCEL); + $this->assertEquals(1327968000, $result, NULL, 1E-8); + } + + public function testDATEVALUEtoPHPObject() + { + PHPExcel_Calculation_Functions::setReturnDateType(PHPExcel_Calculation_Functions::RETURNDATE_PHP_OBJECT); + $result = PHPExcel_Calculation_DateTime::DATEVALUE('2012-1-31'); + PHPExcel_Calculation_Functions::setReturnDateType(PHPExcel_Calculation_Functions::RETURNDATE_EXCEL); + // Must return an object... + $this->assertTrue(is_object($result)); + // ... of the correct type + $this->assertTrue(is_a($result,'DateTime')); + // ... with the correct value + $this->assertEquals($result->format('d-M-Y'),'31-Jan-2012'); + } + + /** + * @dataProvider providerYEAR + */ + public function testYEAR() + { + $args = func_get_args(); + $expectedResult = array_pop($args); + $result = call_user_func_array(array('PHPExcel_Calculation_DateTime','YEAR'),$args); + $this->assertEquals($expectedResult, $result, NULL, 1E-8); + } + + public function providerYEAR() + { + return new testDataFileIterator('rawTestData/Calculation/DateTime/YEAR.data'); + } + + /** + * @dataProvider providerMONTH + */ + public function testMONTH() + { + $args = func_get_args(); + $expectedResult = array_pop($args); + $result = call_user_func_array(array('PHPExcel_Calculation_DateTime','MONTHOFYEAR'),$args); + $this->assertEquals($expectedResult, $result, NULL, 1E-8); + } + + public function providerMONTH() + { + return new testDataFileIterator('rawTestData/Calculation/DateTime/MONTH.data'); + } + + /** + * @dataProvider providerWEEKNUM + */ + public function testWEEKNUM() + { + $args = func_get_args(); + $expectedResult = array_pop($args); + $result = call_user_func_array(array('PHPExcel_Calculation_DateTime','WEEKOFYEAR'),$args); + $this->assertEquals($expectedResult, $result, NULL, 1E-8); + } + + public function providerWEEKNUM() + { + return new testDataFileIterator('rawTestData/Calculation/DateTime/WEEKNUM.data'); + } + + /** + * @dataProvider providerWEEKDAY + */ + public function testWEEKDAY() + { + $args = func_get_args(); + $expectedResult = array_pop($args); + $result = call_user_func_array(array('PHPExcel_Calculation_DateTime','DAYOFWEEK'),$args); + $this->assertEquals($expectedResult, $result, NULL, 1E-8); + } + + public function providerWEEKDAY() + { + return new testDataFileIterator('rawTestData/Calculation/DateTime/WEEKDAY.data'); + } + + /** + * @dataProvider providerDAY + */ + public function testDAY() + { + $args = func_get_args(); + $expectedResult = array_pop($args); + $result = call_user_func_array(array('PHPExcel_Calculation_DateTime','DAYOFMONTH'),$args); + $this->assertEquals($expectedResult, $result, NULL, 1E-8); + } + + public function providerDAY() + { + return new testDataFileIterator('rawTestData/Calculation/DateTime/DAY.data'); + } + + /** + * @dataProvider providerTIME + */ + public function testTIME() + { + $args = func_get_args(); + $expectedResult = array_pop($args); + $result = call_user_func_array(array('PHPExcel_Calculation_DateTime','TIME'),$args); + $this->assertEquals($expectedResult, $result, NULL, 1E-8); + } + + public function providerTIME() + { + return new testDataFileIterator('rawTestData/Calculation/DateTime/TIME.data'); + } + + public function testTIMEtoPHP() + { + PHPExcel_Calculation_Functions::setReturnDateType(PHPExcel_Calculation_Functions::RETURNDATE_PHP_NUMERIC); + $result = PHPExcel_Calculation_DateTime::TIME(7,30,20); + PHPExcel_Calculation_Functions::setReturnDateType(PHPExcel_Calculation_Functions::RETURNDATE_EXCEL); + $this->assertEquals(27020, $result, NULL, 1E-8); + } + + public function testTIMEtoPHPObject() + { + PHPExcel_Calculation_Functions::setReturnDateType(PHPExcel_Calculation_Functions::RETURNDATE_PHP_OBJECT); + $result = PHPExcel_Calculation_DateTime::TIME(7,30,20); + PHPExcel_Calculation_Functions::setReturnDateType(PHPExcel_Calculation_Functions::RETURNDATE_EXCEL); + // Must return an object... + $this->assertTrue(is_object($result)); + // ... of the correct type + $this->assertTrue(is_a($result,'DateTime')); + // ... with the correct value + $this->assertEquals($result->format('H:i:s'),'07:30:20'); + } + + /** + * @dataProvider providerTIMEVALUE + */ + public function testTIMEVALUE() + { + $args = func_get_args(); + $expectedResult = array_pop($args); + $result = call_user_func_array(array('PHPExcel_Calculation_DateTime','TIMEVALUE'),$args); + $this->assertEquals($expectedResult, $result, NULL, 1E-8); + } + + public function providerTIMEVALUE() + { + return new testDataFileIterator('rawTestData/Calculation/DateTime/TIMEVALUE.data'); + } + + public function testTIMEVALUEtoPHP() + { + PHPExcel_Calculation_Functions::setReturnDateType(PHPExcel_Calculation_Functions::RETURNDATE_PHP_NUMERIC); + $result = PHPExcel_Calculation_DateTime::TIMEVALUE('7:30:20'); + PHPExcel_Calculation_Functions::setReturnDateType(PHPExcel_Calculation_Functions::RETURNDATE_EXCEL); + $this->assertEquals(23420, $result, NULL, 1E-8); + } + + public function testTIMEVALUEtoPHPObject() + { + PHPExcel_Calculation_Functions::setReturnDateType(PHPExcel_Calculation_Functions::RETURNDATE_PHP_OBJECT); + $result = PHPExcel_Calculation_DateTime::TIMEVALUE('7:30:20'); + PHPExcel_Calculation_Functions::setReturnDateType(PHPExcel_Calculation_Functions::RETURNDATE_EXCEL); + // Must return an object... + $this->assertTrue(is_object($result)); + // ... of the correct type + $this->assertTrue(is_a($result,'DateTime')); + // ... with the correct value + $this->assertEquals($result->format('H:i:s'),'07:30:20'); + } + + /** + * @dataProvider providerHOUR + */ + public function testHOUR() + { + $args = func_get_args(); + $expectedResult = array_pop($args); + $result = call_user_func_array(array('PHPExcel_Calculation_DateTime','HOUROFDAY'),$args); + $this->assertEquals($expectedResult, $result, NULL, 1E-8); + } + + public function providerHOUR() + { + return new testDataFileIterator('rawTestData/Calculation/DateTime/HOUR.data'); + } + + /** + * @dataProvider providerMINUTE + */ + public function testMINUTE() + { + $args = func_get_args(); + $expectedResult = array_pop($args); + $result = call_user_func_array(array('PHPExcel_Calculation_DateTime','MINUTEOFHOUR'),$args); + $this->assertEquals($expectedResult, $result, NULL, 1E-8); + } + + public function providerMINUTE() + { + return new testDataFileIterator('rawTestData/Calculation/DateTime/MINUTE.data'); + } + + /** + * @dataProvider providerSECOND + */ + public function testSECOND() + { + $args = func_get_args(); + $expectedResult = array_pop($args); + $result = call_user_func_array(array('PHPExcel_Calculation_DateTime','SECONDOFMINUTE'),$args); + $this->assertEquals($expectedResult, $result, NULL, 1E-8); + } + + public function providerSECOND() + { + return new testDataFileIterator('rawTestData/Calculation/DateTime/SECOND.data'); + } + + /** + * @dataProvider providerNETWORKDAYS + */ + public function testNETWORKDAYS() + { + $args = func_get_args(); + $expectedResult = array_pop($args); + $result = call_user_func_array(array('PHPExcel_Calculation_DateTime','NETWORKDAYS'),$args); + $this->assertEquals($expectedResult, $result, NULL, 1E-8); + } + + public function providerNETWORKDAYS() + { + return new testDataFileIterator('rawTestData/Calculation/DateTime/NETWORKDAYS.data'); + } + + /** + * @dataProvider providerWORKDAY + */ + public function testWORKDAY() + { + $args = func_get_args(); + $expectedResult = array_pop($args); + $result = call_user_func_array(array('PHPExcel_Calculation_DateTime','WORKDAY'),$args); + $this->assertEquals($expectedResult, $result, NULL, 1E-8); + } + + public function providerWORKDAY() + { + return new testDataFileIterator('rawTestData/Calculation/DateTime/WORKDAY.data'); + } + + /** + * @dataProvider providerEDATE + */ + public function testEDATE() + { + $args = func_get_args(); + $expectedResult = array_pop($args); + $result = call_user_func_array(array('PHPExcel_Calculation_DateTime','EDATE'),$args); + $this->assertEquals($expectedResult, $result, NULL, 1E-8); + } + + public function providerEDATE() + { + return new testDataFileIterator('rawTestData/Calculation/DateTime/EDATE.data'); + } + + public function testEDATEtoPHP() + { + PHPExcel_Calculation_Functions::setReturnDateType(PHPExcel_Calculation_Functions::RETURNDATE_PHP_NUMERIC); + $result = PHPExcel_Calculation_DateTime::EDATE('2012-1-26',-1); + PHPExcel_Calculation_Functions::setReturnDateType(PHPExcel_Calculation_Functions::RETURNDATE_EXCEL); + $this->assertEquals(1324857600, $result, NULL, 1E-8); + } + + public function testEDATEtoPHPObject() + { + PHPExcel_Calculation_Functions::setReturnDateType(PHPExcel_Calculation_Functions::RETURNDATE_PHP_OBJECT); + $result = PHPExcel_Calculation_DateTime::EDATE('2012-1-26',-1); + PHPExcel_Calculation_Functions::setReturnDateType(PHPExcel_Calculation_Functions::RETURNDATE_EXCEL); + // Must return an object... + $this->assertTrue(is_object($result)); + // ... of the correct type + $this->assertTrue(is_a($result,'DateTime')); + // ... with the correct value + $this->assertEquals($result->format('d-M-Y'),'26-Dec-2011'); + } + + /** + * @dataProvider providerEOMONTH + */ + public function testEOMONTH() + { + $args = func_get_args(); + $expectedResult = array_pop($args); + $result = call_user_func_array(array('PHPExcel_Calculation_DateTime','EOMONTH'),$args); + $this->assertEquals($expectedResult, $result, NULL, 1E-8); + } + + public function providerEOMONTH() + { + return new testDataFileIterator('rawTestData/Calculation/DateTime/EOMONTH.data'); + } + + public function testEOMONTHtoPHP() + { + PHPExcel_Calculation_Functions::setReturnDateType(PHPExcel_Calculation_Functions::RETURNDATE_PHP_NUMERIC); + $result = PHPExcel_Calculation_DateTime::EOMONTH('2012-1-26',-1); + PHPExcel_Calculation_Functions::setReturnDateType(PHPExcel_Calculation_Functions::RETURNDATE_EXCEL); + $this->assertEquals(1325289600, $result, NULL, 1E-8); + } + + public function testEOMONTHtoPHPObject() + { + PHPExcel_Calculation_Functions::setReturnDateType(PHPExcel_Calculation_Functions::RETURNDATE_PHP_OBJECT); + $result = PHPExcel_Calculation_DateTime::EOMONTH('2012-1-26',-1); + PHPExcel_Calculation_Functions::setReturnDateType(PHPExcel_Calculation_Functions::RETURNDATE_EXCEL); + // Must return an object... + $this->assertTrue(is_object($result)); + // ... of the correct type + $this->assertTrue(is_a($result,'DateTime')); + // ... with the correct value + $this->assertEquals($result->format('d-M-Y'),'31-Dec-2011'); + } + + /** + * @dataProvider providerDATEDIF + */ + public function testDATEDIF() + { + $args = func_get_args(); + $expectedResult = array_pop($args); + $result = call_user_func_array(array('PHPExcel_Calculation_DateTime','DATEDIF'),$args); + $this->assertEquals($expectedResult, $result, NULL, 1E-8); + } + + public function providerDATEDIF() + { + return new testDataFileIterator('rawTestData/Calculation/DateTime/DATEDIF.data'); + } + + /** + * @dataProvider providerDAYS360 + */ + public function testDAYS360() + { + $args = func_get_args(); + $expectedResult = array_pop($args); + $result = call_user_func_array(array('PHPExcel_Calculation_DateTime','DAYS360'),$args); + $this->assertEquals($expectedResult, $result, NULL, 1E-8); + } + + public function providerDAYS360() + { + return new testDataFileIterator('rawTestData/Calculation/DateTime/DAYS360.data'); + } + + /** + * @dataProvider providerYEARFRAC + */ + public function testYEARFRAC() + { + $args = func_get_args(); + $expectedResult = array_pop($args); + $result = call_user_func_array(array('PHPExcel_Calculation_DateTime','YEARFRAC'),$args); + $this->assertEquals($expectedResult, $result, NULL, 1E-8); + } + + public function providerYEARFRAC() + { + return new testDataFileIterator('rawTestData/Calculation/DateTime/YEARFRAC.data'); + } + +} diff --git a/vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Calculation/EngineeringTest.php b/vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Calculation/EngineeringTest.php new file mode 100644 index 00000000..1f511ffa --- /dev/null +++ b/vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Calculation/EngineeringTest.php @@ -0,0 +1,698 @@ +<?php + +// Custom assertion class for handling precision of Complex numbers +require_once 'custom/complexAssert.php'; + +// Data Provider handler +require_once 'testDataFileIterator.php'; + + +class EngineeringTest extends PHPUnit_Framework_TestCase +{ + + public function setUp() + { + if (!defined('PHPEXCEL_ROOT')) + { + define('PHPEXCEL_ROOT', APPLICATION_PATH . '/'); + } + require_once(PHPEXCEL_ROOT . 'PHPExcel/Autoloader.php'); + + PHPExcel_Calculation_Functions::setCompatibilityMode(PHPExcel_Calculation_Functions::COMPATIBILITY_EXCEL); + } + + /** + * @dataProvider providerBESSELI + */ + public function testBESSELI() + { + $args = func_get_args(); + $expectedResult = array_pop($args); + $result = call_user_func_array(array('PHPExcel_Calculation_Engineering','BESSELI'),$args); + $this->assertEquals($expectedResult, $result, NULL, 1E-8); + } + + public function providerBESSELI() + { + return new testDataFileIterator('rawTestData/Calculation/Engineering/BESSELI.data'); + } + + /** + * @dataProvider providerBESSELJ + */ + public function testBESSELJ() + { + $args = func_get_args(); + $expectedResult = array_pop($args); + $result = call_user_func_array(array('PHPExcel_Calculation_Engineering','BESSELJ'),$args); + $this->assertEquals($expectedResult, $result, NULL, 1E-8); + } + + public function providerBESSELJ() + { + return new testDataFileIterator('rawTestData/Calculation/Engineering/BESSELJ.data'); + } + + /** + * @dataProvider providerBESSELK + */ + public function testBESSELK() + { + $args = func_get_args(); + $expectedResult = array_pop($args); + $result = call_user_func_array(array('PHPExcel_Calculation_Engineering','BESSELK'),$args); + $this->assertEquals($expectedResult, $result, NULL, 1E-8); + } + + public function providerBESSELK() + { + return new testDataFileIterator('rawTestData/Calculation/Engineering/BESSELK.data'); + } + + /** + * @dataProvider providerBESSELY + */ + public function testBESSELY() + { + $args = func_get_args(); + $expectedResult = array_pop($args); + $result = call_user_func_array(array('PHPExcel_Calculation_Engineering','BESSELY'),$args); + $this->assertEquals($expectedResult, $result, NULL, 1E-8); + } + + public function providerBESSELY() + { + return new testDataFileIterator('rawTestData/Calculation/Engineering/BESSELY.data'); + } + + /** + * @dataProvider providerCOMPLEX + */ + public function testCOMPLEX() + { + $args = func_get_args(); + $expectedResult = array_pop($args); + $result = call_user_func_array(array('PHPExcel_Calculation_Engineering','COMPLEX'),$args); + $this->assertEquals($expectedResult, $result); + } + + public function providerCOMPLEX() + { + return new testDataFileIterator('rawTestData/Calculation/Engineering/COMPLEX.data'); + } + + /** + * @dataProvider providerIMAGINARY + */ + public function testIMAGINARY() + { + $args = func_get_args(); + $expectedResult = array_pop($args); + $result = call_user_func_array(array('PHPExcel_Calculation_Engineering','IMAGINARY'),$args); + $this->assertEquals($expectedResult, $result, NULL, 1E-8); + } + + public function providerIMAGINARY() + { + return new testDataFileIterator('rawTestData/Calculation/Engineering/IMAGINARY.data'); + } + + /** + * @dataProvider providerIMREAL + */ + public function testIMREAL() + { + $args = func_get_args(); + $expectedResult = array_pop($args); + $result = call_user_func_array(array('PHPExcel_Calculation_Engineering','IMREAL'),$args); + $this->assertEquals($expectedResult, $result, NULL, 1E-8); + } + + public function providerIMREAL() + { + return new testDataFileIterator('rawTestData/Calculation/Engineering/IMREAL.data'); + } + + /** + * @dataProvider providerIMABS + */ + public function testIMABS() + { + $args = func_get_args(); + $expectedResult = array_pop($args); + $result = call_user_func_array(array('PHPExcel_Calculation_Engineering','IMABS'),$args); + $this->assertEquals($expectedResult, $result, NULL, 1E-8); + } + + public function providerIMABS() + { + return new testDataFileIterator('rawTestData/Calculation/Engineering/IMABS.data'); + } + + /** + * @dataProvider providerIMARGUMENT + */ + public function testIMARGUMENT() + { + $args = func_get_args(); + $expectedResult = array_pop($args); + $result = call_user_func_array(array('PHPExcel_Calculation_Engineering','IMARGUMENT'),$args); + $this->assertEquals($expectedResult, $result, NULL, 1E-8); + } + + public function providerIMARGUMENT() + { + return new testDataFileIterator('rawTestData/Calculation/Engineering/IMARGUMENT.data'); + } + + /** + * @dataProvider providerIMCONJUGATE + */ + public function testIMCONJUGATE() + { + $args = func_get_args(); + $expectedResult = array_pop($args); + $result = call_user_func_array(array('PHPExcel_Calculation_Engineering','IMCONJUGATE'),$args); + $complexAssert = new complexAssert(); + $this->assertTrue($complexAssert->assertComplexEquals($expectedResult, $result, 1E-8), + $complexAssert->getErrorMessage()); + } + + public function providerIMCONJUGATE() + { + return new testDataFileIterator('rawTestData/Calculation/Engineering/IMCONJUGATE.data'); + } + + /** + * @dataProvider providerIMCOS + */ + public function testIMCOS() + { + $args = func_get_args(); + $expectedResult = array_pop($args); + $result = call_user_func_array(array('PHPExcel_Calculation_Engineering','IMCOS'),$args); + $complexAssert = new complexAssert(); + $this->assertTrue($complexAssert->assertComplexEquals($expectedResult, $result, 1E-8), + $complexAssert->getErrorMessage()); + } + + public function providerIMCOS() + { + return new testDataFileIterator('rawTestData/Calculation/Engineering/IMCOS.data'); + } + + /** + * @dataProvider providerIMDIV + */ + public function testIMDIV() + { + $args = func_get_args(); + $expectedResult = array_pop($args); + $result = call_user_func_array(array('PHPExcel_Calculation_Engineering','IMDIV'),$args); + $complexAssert = new complexAssert(); + $this->assertTrue($complexAssert->assertComplexEquals($expectedResult, $result, 1E-8), + $complexAssert->getErrorMessage()); + } + + public function providerIMDIV() + { + return new testDataFileIterator('rawTestData/Calculation/Engineering/IMDIV.data'); + } + + /** + * @dataProvider providerIMEXP + */ + public function testIMEXP() + { + $args = func_get_args(); + $expectedResult = array_pop($args); + $result = call_user_func_array(array('PHPExcel_Calculation_Engineering','IMEXP'),$args); + $complexAssert = new complexAssert(); + $this->assertTrue($complexAssert->assertComplexEquals($expectedResult, $result, 1E-8), + $complexAssert->getErrorMessage()); + } + + public function providerIMEXP() + { + return new testDataFileIterator('rawTestData/Calculation/Engineering/IMEXP.data'); + } + + /** + * @dataProvider providerIMLN + */ + public function testIMLN() + { + $args = func_get_args(); + $expectedResult = array_pop($args); + $result = call_user_func_array(array('PHPExcel_Calculation_Engineering','IMLN'),$args); + $complexAssert = new complexAssert(); + $this->assertTrue($complexAssert->assertComplexEquals($expectedResult, $result, 1E-8), + $complexAssert->getErrorMessage()); + } + + public function providerIMLN() + { + return new testDataFileIterator('rawTestData/Calculation/Engineering/IMLN.data'); + } + + /** + * @dataProvider providerIMLOG2 + */ + public function testIMLOG2() + { + $args = func_get_args(); + $expectedResult = array_pop($args); + $result = call_user_func_array(array('PHPExcel_Calculation_Engineering','IMLOG2'),$args); + $complexAssert = new complexAssert(); + $this->assertTrue($complexAssert->assertComplexEquals($expectedResult, $result, 1E-8), + $complexAssert->getErrorMessage()); + } + + public function providerIMLOG2() + { + return new testDataFileIterator('rawTestData/Calculation/Engineering/IMLOG2.data'); + } + + /** + * @dataProvider providerIMLOG10 + */ + public function testIMLOG10() + { + $args = func_get_args(); + $expectedResult = array_pop($args); + $result = call_user_func_array(array('PHPExcel_Calculation_Engineering','IMLOG10'),$args); + $complexAssert = new complexAssert(); + $this->assertTrue($complexAssert->assertComplexEquals($expectedResult, $result, 1E-8), + $complexAssert->getErrorMessage()); + } + + public function providerIMLOG10() + { + return new testDataFileIterator('rawTestData/Calculation/Engineering/IMLOG10.data'); + } + + /** + * @dataProvider providerIMPOWER + */ + public function testIMPOWER() + { + $args = func_get_args(); + $expectedResult = array_pop($args); + $result = call_user_func_array(array('PHPExcel_Calculation_Engineering','IMPOWER'),$args); + $complexAssert = new complexAssert(); + $this->assertTrue($complexAssert->assertComplexEquals($expectedResult, $result, 1E-8), + $complexAssert->getErrorMessage()); + } + + public function providerIMPOWER() + { + return new testDataFileIterator('rawTestData/Calculation/Engineering/IMPOWER.data'); + } + + /** + * @dataProvider providerIMPRODUCT + */ + public function testIMPRODUCT() + { + $args = func_get_args(); + $expectedResult = array_pop($args); + $result = call_user_func_array(array('PHPExcel_Calculation_Engineering','IMPRODUCT'),$args); + $complexAssert = new complexAssert(); + $this->assertTrue($complexAssert->assertComplexEquals($expectedResult, $result, 1E-8), + $complexAssert->getErrorMessage()); + } + + public function providerIMPRODUCT() + { + return new testDataFileIterator('rawTestData/Calculation/Engineering/IMPRODUCT.data'); + } + + /** + * @dataProvider providerIMSIN + */ + public function testIMSIN() + { + $args = func_get_args(); + $expectedResult = array_pop($args); + $result = call_user_func_array(array('PHPExcel_Calculation_Engineering','IMSIN'),$args); + $complexAssert = new complexAssert(); + $this->assertTrue($complexAssert->assertComplexEquals($expectedResult, $result, 1E-8), + $complexAssert->getErrorMessage()); + } + + public function providerIMSIN() + { + return new testDataFileIterator('rawTestData/Calculation/Engineering/IMSIN.data'); + } + + /** + * @dataProvider providerIMSQRT + */ + public function testIMSQRT() + { + $args = func_get_args(); + $expectedResult = array_pop($args); + $result = call_user_func_array(array('PHPExcel_Calculation_Engineering','IMSQRT'),$args); + $complexAssert = new complexAssert(); + $this->assertTrue($complexAssert->assertComplexEquals($expectedResult, $result, 1E-8), + $complexAssert->getErrorMessage()); + } + + public function providerIMSQRT() + { + return new testDataFileIterator('rawTestData/Calculation/Engineering/IMSQRT.data'); + } + + /** + * @dataProvider providerIMSUB + */ + public function testIMSUB() + { + $args = func_get_args(); + $expectedResult = array_pop($args); + $result = call_user_func_array(array('PHPExcel_Calculation_Engineering','IMSUB'),$args); + $complexAssert = new complexAssert(); + $this->assertTrue($complexAssert->assertComplexEquals($expectedResult, $result, 1E-8), + $complexAssert->getErrorMessage()); + } + + public function providerIMSUB() + { + return new testDataFileIterator('rawTestData/Calculation/Engineering/IMSUB.data'); + } + + /** + * @dataProvider providerIMSUM + */ + public function testIMSUM() + { + $args = func_get_args(); + $expectedResult = array_pop($args); + $result = call_user_func_array(array('PHPExcel_Calculation_Engineering','IMSUM'),$args); + $complexAssert = new complexAssert(); + $this->assertTrue($complexAssert->assertComplexEquals($expectedResult, $result, 1E-8), + $complexAssert->getErrorMessage()); + } + + public function providerIMSUM() + { + return new testDataFileIterator('rawTestData/Calculation/Engineering/IMSUM.data'); + } + + /** + * @dataProvider providerERF + */ + public function testERF() + { + $args = func_get_args(); + $expectedResult = array_pop($args); + $result = call_user_func_array(array('PHPExcel_Calculation_Engineering','ERF'),$args); + $this->assertEquals($expectedResult, $result, NULL, 1E-12); + } + + public function providerERF() + { + return new testDataFileIterator('rawTestData/Calculation/Engineering/ERF.data'); + } + + /** + * @dataProvider providerERFC + */ + public function testERFC() + { + $args = func_get_args(); + $expectedResult = array_pop($args); + $result = call_user_func_array(array('PHPExcel_Calculation_Engineering','ERFC'),$args); + $this->assertEquals($expectedResult, $result, NULL, 1E-12); + } + + public function providerERFC() + { + return new testDataFileIterator('rawTestData/Calculation/Engineering/ERFC.data'); + } + + /** + * @dataProvider providerBIN2DEC + */ + public function testBIN2DEC() + { + $args = func_get_args(); + $expectedResult = array_pop($args); + $result = call_user_func_array(array('PHPExcel_Calculation_Engineering','BINTODEC'),$args); + $this->assertEquals($expectedResult, $result); + } + + public function providerBIN2DEC() + { + return new testDataFileIterator('rawTestData/Calculation/Engineering/BIN2DEC.data'); + } + + /** + * @dataProvider providerBIN2HEX + */ + public function testBIN2HEX() + { + $args = func_get_args(); + $expectedResult = array_pop($args); + $result = call_user_func_array(array('PHPExcel_Calculation_Engineering','BINTOHEX'),$args); + $this->assertEquals($expectedResult, $result); + } + + public function providerBIN2HEX() + { + return new testDataFileIterator('rawTestData/Calculation/Engineering/BIN2HEX.data'); + } + + /** + * @dataProvider providerBIN2OCT + */ + public function testBIN2OCT() + { + $args = func_get_args(); + $expectedResult = array_pop($args); + $result = call_user_func_array(array('PHPExcel_Calculation_Engineering','BINTOOCT'),$args); + $this->assertEquals($expectedResult, $result); + } + + public function providerBIN2OCT() + { + return new testDataFileIterator('rawTestData/Calculation/Engineering/BIN2OCT.data'); + } + + /** + * @dataProvider providerDEC2BIN + */ + public function testDEC2BIN() + { + $args = func_get_args(); + $expectedResult = array_pop($args); + $result = call_user_func_array(array('PHPExcel_Calculation_Engineering','DECTOBIN'),$args); + $this->assertEquals($expectedResult, $result, NULL); + } + + public function providerDEC2BIN() + { + return new testDataFileIterator('rawTestData/Calculation/Engineering/DEC2BIN.data'); + } + + /** + * @dataProvider providerDEC2HEX + */ + public function testDEC2HEX() + { + $args = func_get_args(); + $expectedResult = array_pop($args); + $result = call_user_func_array(array('PHPExcel_Calculation_Engineering','DECTOHEX'),$args); + $this->assertEquals($expectedResult, $result, NULL); + } + + public function providerDEC2HEX() + { + return new testDataFileIterator('rawTestData/Calculation/Engineering/DEC2HEX.data'); + } + + /** + * @dataProvider providerDEC2OCT + */ + public function testDEC2OCT() + { + $args = func_get_args(); + $expectedResult = array_pop($args); + $result = call_user_func_array(array('PHPExcel_Calculation_Engineering','DECTOOCT'),$args); + $this->assertEquals($expectedResult, $result, NULL); + } + + public function providerDEC2OCT() + { + return new testDataFileIterator('rawTestData/Calculation/Engineering/DEC2OCT.data'); + } + + /** + * @dataProvider providerHEX2BIN + */ + public function testHEX2BIN() + { + $args = func_get_args(); + $expectedResult = array_pop($args); + $result = call_user_func_array(array('PHPExcel_Calculation_Engineering','HEXTOBIN'),$args); + $this->assertEquals($expectedResult, $result, NULL); + } + + public function providerHEX2BIN() + { + return new testDataFileIterator('rawTestData/Calculation/Engineering/HEX2BIN.data'); + } + + /** + * @dataProvider providerHEX2DEC + */ + public function testHEX2DEC() + { + $args = func_get_args(); + $expectedResult = array_pop($args); + $result = call_user_func_array(array('PHPExcel_Calculation_Engineering','HEXTODEC'),$args); + $this->assertEquals($expectedResult, $result, NULL); + } + + public function providerHEX2DEC() + { + return new testDataFileIterator('rawTestData/Calculation/Engineering/HEX2DEC.data'); + } + + /** + * @dataProvider providerHEX2OCT + */ + public function testHEX2OCT() + { + $args = func_get_args(); + $expectedResult = array_pop($args); + $result = call_user_func_array(array('PHPExcel_Calculation_Engineering','HEXTOOCT'),$args); + $this->assertEquals($expectedResult, $result, NULL); + } + + public function providerHEX2OCT() + { + return new testDataFileIterator('rawTestData/Calculation/Engineering/HEX2OCT.data'); + } + + /** + * @dataProvider providerOCT2BIN + */ + public function testOCT2BIN() + { + $args = func_get_args(); + $expectedResult = array_pop($args); + $result = call_user_func_array(array('PHPExcel_Calculation_Engineering','OCTTOBIN'),$args); + $this->assertEquals($expectedResult, $result, NULL); + } + + public function providerOCT2BIN() + { + return new testDataFileIterator('rawTestData/Calculation/Engineering/OCT2BIN.data'); + } + + /** + * @dataProvider providerOCT2DEC + */ + public function testOCT2DEC() + { + $args = func_get_args(); + $expectedResult = array_pop($args); + $result = call_user_func_array(array('PHPExcel_Calculation_Engineering','OCTTODEC'),$args); + $this->assertEquals($expectedResult, $result, NULL); + } + + public function providerOCT2DEC() + { + return new testDataFileIterator('rawTestData/Calculation/Engineering/OCT2DEC.data'); + } + + /** + * @dataProvider providerOCT2HEX + */ + public function testOCT2HEX() + { + $args = func_get_args(); + $expectedResult = array_pop($args); + $result = call_user_func_array(array('PHPExcel_Calculation_Engineering','OCTTOHEX'),$args); + $this->assertEquals($expectedResult, $result, NULL); + } + + public function providerOCT2HEX() + { + return new testDataFileIterator('rawTestData/Calculation/Engineering/OCT2HEX.data'); + } + + /** + * @dataProvider providerDELTA + */ + public function testDELTA() + { + $args = func_get_args(); + $expectedResult = array_pop($args); + $result = call_user_func_array(array('PHPExcel_Calculation_Engineering','DELTA'),$args); + $this->assertEquals($expectedResult, $result, NULL); + } + + public function providerDELTA() + { + return new testDataFileIterator('rawTestData/Calculation/Engineering/DELTA.data'); + } + + /** + * @dataProvider providerGESTEP + */ + public function testGESTEP() + { + $args = func_get_args(); + $expectedResult = array_pop($args); + $result = call_user_func_array(array('PHPExcel_Calculation_Engineering','GESTEP'),$args); + $this->assertEquals($expectedResult, $result, NULL); + } + + public function providerGESTEP() + { + return new testDataFileIterator('rawTestData/Calculation/Engineering/GESTEP.data'); + } + + public function testGetConversionGroups() + { + $result = PHPExcel_Calculation_Engineering::getConversionGroups(); + $this->assertInternalType('array', $result); + } + + public function testGetConversionGroupUnits() + { + $result = PHPExcel_Calculation_Engineering::getConversionGroupUnits(); + $this->assertInternalType('array', $result); + } + + public function testGetConversionGroupUnitDetails() + { + $result = PHPExcel_Calculation_Engineering::getConversionGroupUnitDetails(); + $this->assertInternalType('array', $result); + } + + public function testGetConversionMultipliers() + { + $result = PHPExcel_Calculation_Engineering::getConversionMultipliers(); + $this->assertInternalType('array', $result); + } + + /** + * @dataProvider providerCONVERTUOM + */ + public function testCONVERTUOM() + { + $args = func_get_args(); + $expectedResult = array_pop($args); + $result = call_user_func_array(array('PHPExcel_Calculation_Engineering','CONVERTUOM'),$args); + $this->assertEquals($expectedResult, $result, NULL); + } + + public function providerCONVERTUOM() + { + return new testDataFileIterator('rawTestData/Calculation/Engineering/CONVERTUOM.data'); + } + +} diff --git a/vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Calculation/FinancialTest.php b/vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Calculation/FinancialTest.php new file mode 100644 index 00000000..f5689c95 --- /dev/null +++ b/vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Calculation/FinancialTest.php @@ -0,0 +1,516 @@ +<?php + + +require_once 'testDataFileIterator.php'; + +class FinancialTest extends PHPUnit_Framework_TestCase +{ + + public function setUp() + { + if (!defined('PHPEXCEL_ROOT')) + { + define('PHPEXCEL_ROOT', APPLICATION_PATH . '/'); + } + require_once(PHPEXCEL_ROOT . 'PHPExcel/Autoloader.php'); + + PHPExcel_Calculation_Functions::setCompatibilityMode(PHPExcel_Calculation_Functions::COMPATIBILITY_EXCEL); + } + + /** + * @dataProvider providerACCRINT + */ + public function testACCRINT() + { + $args = func_get_args(); + $expectedResult = array_pop($args); + $result = call_user_func_array(array('PHPExcel_Calculation_Financial','ACCRINT'),$args); + $this->assertEquals($expectedResult, $result, NULL, 1E-8); + } + + public function providerACCRINT() + { + return new testDataFileIterator('rawTestData/Calculation/Financial/ACCRINT.data'); + } + + /** + * @dataProvider providerACCRINTM + */ + public function testACCRINTM() + { + $args = func_get_args(); + $expectedResult = array_pop($args); + $result = call_user_func_array(array('PHPExcel_Calculation_Financial','ACCRINTM'),$args); + $this->assertEquals($expectedResult, $result, NULL, 1E-8); + } + + public function providerACCRINTM() + { + return new testDataFileIterator('rawTestData/Calculation/Financial/ACCRINTM.data'); + } + + /** + * @dataProvider providerAMORDEGRC + */ + public function testAMORDEGRC() + { + $args = func_get_args(); + $expectedResult = array_pop($args); + $result = call_user_func_array(array('PHPExcel_Calculation_Financial','AMORDEGRC'),$args); + $this->assertEquals($expectedResult, $result, NULL, 1E-8); + } + + public function providerAMORDEGRC() + { + return new testDataFileIterator('rawTestData/Calculation/Financial/AMORDEGRC.data'); + } + + /** + * @dataProvider providerAMORLINC + */ + public function testAMORLINC() + { + $args = func_get_args(); + $expectedResult = array_pop($args); + $result = call_user_func_array(array('PHPExcel_Calculation_Financial','AMORLINC'),$args); + $this->assertEquals($expectedResult, $result, NULL, 1E-8); + } + + public function providerAMORLINC() + { + return new testDataFileIterator('rawTestData/Calculation/Financial/AMORLINC.data'); + } + + /** + * @dataProvider providerCOUPDAYBS + */ + public function testCOUPDAYBS() + { + $args = func_get_args(); + $expectedResult = array_pop($args); + $result = call_user_func_array(array('PHPExcel_Calculation_Financial','COUPDAYBS'),$args); + $this->assertEquals($expectedResult, $result, NULL, 1E-8); + } + + public function providerCOUPDAYBS() + { + return new testDataFileIterator('rawTestData/Calculation/Financial/COUPDAYBS.data'); + } + + /** + * @dataProvider providerCOUPDAYS + */ + public function testCOUPDAYS() + { + $args = func_get_args(); + $expectedResult = array_pop($args); + $result = call_user_func_array(array('PHPExcel_Calculation_Financial','COUPDAYS'),$args); + $this->assertEquals($expectedResult, $result, NULL, 1E-8); + } + + public function providerCOUPDAYS() + { + return new testDataFileIterator('rawTestData/Calculation/Financial/COUPDAYS.data'); + } + + /** + * @dataProvider providerCOUPDAYSNC + */ + public function testCOUPDAYSNC() + { + $args = func_get_args(); + $expectedResult = array_pop($args); + $result = call_user_func_array(array('PHPExcel_Calculation_Financial','COUPDAYSNC'),$args); + $this->assertEquals($expectedResult, $result, NULL, 1E-8); + } + + public function providerCOUPDAYSNC() + { + return new testDataFileIterator('rawTestData/Calculation/Financial/COUPDAYSNC.data'); + } + + /** + * @dataProvider providerCOUPNCD + */ + public function testCOUPNCD() + { + $args = func_get_args(); + $expectedResult = array_pop($args); + $result = call_user_func_array(array('PHPExcel_Calculation_Financial','COUPNCD'),$args); + $this->assertEquals($expectedResult, $result, NULL, 1E-8); + } + + public function providerCOUPNCD() + { + return new testDataFileIterator('rawTestData/Calculation/Financial/COUPNCD.data'); + } + + /** + * @dataProvider providerCOUPNUM + */ + public function testCOUPNUM() + { + $args = func_get_args(); + $expectedResult = array_pop($args); + $result = call_user_func_array(array('PHPExcel_Calculation_Financial','COUPNUM'),$args); + $this->assertEquals($expectedResult, $result, NULL, 1E-8); + } + + public function providerCOUPNUM() + { + return new testDataFileIterator('rawTestData/Calculation/Financial/COUPNUM.data'); + } + + /** + * @dataProvider providerCOUPPCD + */ + public function testCOUPPCD() + { + $args = func_get_args(); + $expectedResult = array_pop($args); + $result = call_user_func_array(array('PHPExcel_Calculation_Financial','COUPPCD'),$args); + $this->assertEquals($expectedResult, $result, NULL, 1E-8); + } + + public function providerCOUPPCD() + { + return new testDataFileIterator('rawTestData/Calculation/Financial/COUPPCD.data'); + } + + /** + * @dataProvider providerCUMIPMT + */ + public function testCUMIPMT() + { + $args = func_get_args(); + $expectedResult = array_pop($args); + $result = call_user_func_array(array('PHPExcel_Calculation_Financial','CUMIPMT'),$args); + $this->assertEquals($expectedResult, $result, NULL, 1E-8); + } + + public function providerCUMIPMT() + { + return new testDataFileIterator('rawTestData/Calculation/Financial/CUMIPMT.data'); + } + + /** + * @dataProvider providerCUMPRINC + */ + public function testCUMPRINC() + { + $args = func_get_args(); + $expectedResult = array_pop($args); + $result = call_user_func_array(array('PHPExcel_Calculation_Financial','CUMPRINC'),$args); + $this->assertEquals($expectedResult, $result, NULL, 1E-8); + } + + public function providerCUMPRINC() + { + return new testDataFileIterator('rawTestData/Calculation/Financial/CUMPRINC.data'); + } + + /** + * @dataProvider providerDB + */ + public function testDB() + { + $args = func_get_args(); + $expectedResult = array_pop($args); + $result = call_user_func_array(array('PHPExcel_Calculation_Financial','DB'),$args); + $this->assertEquals($expectedResult, $result, NULL, 1E-8); + } + + public function providerDB() + { + return new testDataFileIterator('rawTestData/Calculation/Financial/DB.data'); + } + + /** + * @dataProvider providerDDB + */ + public function testDDB() + { + $args = func_get_args(); + $expectedResult = array_pop($args); + $result = call_user_func_array(array('PHPExcel_Calculation_Financial','DDB'),$args); + $this->assertEquals($expectedResult, $result, NULL, 1E-8); + } + + public function providerDDB() + { + return new testDataFileIterator('rawTestData/Calculation/Financial/DDB.data'); + } + + /** + * @dataProvider providerDISC + */ + public function testDISC() + { + $args = func_get_args(); + $expectedResult = array_pop($args); + $result = call_user_func_array(array('PHPExcel_Calculation_Financial','DISC'),$args); + $this->assertEquals($expectedResult, $result, NULL, 1E-8); + } + + public function providerDISC() + { + return new testDataFileIterator('rawTestData/Calculation/Financial/DISC.data'); + } + + /** + * @dataProvider providerDOLLARDE + */ + public function testDOLLARDE() + { + $args = func_get_args(); + $expectedResult = array_pop($args); + $result = call_user_func_array(array('PHPExcel_Calculation_Financial','DOLLARDE'),$args); + $this->assertEquals($expectedResult, $result, NULL, 1E-8); + } + + public function providerDOLLARDE() + { + return new testDataFileIterator('rawTestData/Calculation/Financial/DOLLARDE.data'); + } + + /** + * @dataProvider providerDOLLARFR + */ + public function testDOLLARFR() + { + $args = func_get_args(); + $expectedResult = array_pop($args); + $result = call_user_func_array(array('PHPExcel_Calculation_Financial','DOLLARFR'),$args); + $this->assertEquals($expectedResult, $result, NULL, 1E-8); + } + + public function providerDOLLARFR() + { + return new testDataFileIterator('rawTestData/Calculation/Financial/DOLLARFR.data'); + } + + /** + * @dataProvider providerEFFECT + */ + public function testEFFECT() + { + $args = func_get_args(); + $expectedResult = array_pop($args); + $result = call_user_func_array(array('PHPExcel_Calculation_Financial','EFFECT'),$args); + $this->assertEquals($expectedResult, $result, NULL, 1E-8); + } + + public function providerEFFECT() + { + return new testDataFileIterator('rawTestData/Calculation/Financial/EFFECT.data'); + } + + /** + * @dataProvider providerFV + */ + public function testFV() + { + $args = func_get_args(); + $expectedResult = array_pop($args); + $result = call_user_func_array(array('PHPExcel_Calculation_Financial','FV'),$args); + $this->assertEquals($expectedResult, $result, NULL, 1E-8); + } + + public function providerFV() + { + return new testDataFileIterator('rawTestData/Calculation/Financial/FV.data'); + } + + /** + * @dataProvider providerFVSCHEDULE + */ + public function testFVSCHEDULE() + { + $args = func_get_args(); + $expectedResult = array_pop($args); + $result = call_user_func_array(array('PHPExcel_Calculation_Financial','FVSCHEDULE'),$args); + $this->assertEquals($expectedResult, $result, NULL, 1E-8); + } + + public function providerFVSCHEDULE() + { + return new testDataFileIterator('rawTestData/Calculation/Financial/FVSCHEDULE.data'); + } + + /** + * @dataProvider providerINTRATE + */ + public function testINTRATE() + { + $args = func_get_args(); + $expectedResult = array_pop($args); + $result = call_user_func_array(array('PHPExcel_Calculation_Financial','INTRATE'),$args); + $this->assertEquals($expectedResult, $result, NULL, 1E-8); + } + + public function providerINTRATE() + { + return new testDataFileIterator('rawTestData/Calculation/Financial/INTRATE.data'); + } + + /** + * @dataProvider providerIPMT + */ + public function testIPMT() + { + $args = func_get_args(); + $expectedResult = array_pop($args); + $result = call_user_func_array(array('PHPExcel_Calculation_Financial','IPMT'),$args); + $this->assertEquals($expectedResult, $result, NULL, 1E-8); + } + + public function providerIPMT() + { + return new testDataFileIterator('rawTestData/Calculation/Financial/IPMT.data'); + } + + /** + * @dataProvider providerIRR + */ + public function testIRR() + { + $args = func_get_args(); + $expectedResult = array_pop($args); + $result = call_user_func_array(array('PHPExcel_Calculation_Financial','IRR'),$args); + $this->assertEquals($expectedResult, $result, NULL, 1E-8); + } + + public function providerIRR() + { + return new testDataFileIterator('rawTestData/Calculation/Financial/IRR.data'); + } + + /** + * @dataProvider providerISPMT + */ + public function testISPMT() + { + $args = func_get_args(); + $expectedResult = array_pop($args); + $result = call_user_func_array(array('PHPExcel_Calculation_Financial','ISPMT'),$args); + $this->assertEquals($expectedResult, $result, NULL, 1E-8); + } + + public function providerISPMT() + { + return new testDataFileIterator('rawTestData/Calculation/Financial/ISPMT.data'); + } + + /** + * @dataProvider providerMIRR + */ + public function testMIRR() + { + $args = func_get_args(); + $expectedResult = array_pop($args); + $result = call_user_func_array(array('PHPExcel_Calculation_Financial','MIRR'),$args); + $this->assertEquals($expectedResult, $result, NULL, 1E-8); + } + + public function providerMIRR() + { + return new testDataFileIterator('rawTestData/Calculation/Financial/MIRR.data'); + } + + /** + * @dataProvider providerNOMINAL + */ + public function testNOMINAL() + { + $args = func_get_args(); + $expectedResult = array_pop($args); + $result = call_user_func_array(array('PHPExcel_Calculation_Financial','NOMINAL'),$args); + $this->assertEquals($expectedResult, $result, NULL, 1E-8); + } + + public function providerNOMINAL() + { + return new testDataFileIterator('rawTestData/Calculation/Financial/NOMINAL.data'); + } + + /** + * @dataProvider providerNPER + */ + public function testNPER() + { + $args = func_get_args(); + $expectedResult = array_pop($args); + $result = call_user_func_array(array('PHPExcel_Calculation_Financial','NPER'),$args); + $this->assertEquals($expectedResult, $result, NULL, 1E-8); + } + + public function providerNPER() + { + return new testDataFileIterator('rawTestData/Calculation/Financial/NPER.data'); + } + + /** + * @dataProvider providerNPV + */ + public function testNPV() + { + $args = func_get_args(); + $expectedResult = array_pop($args); + $result = call_user_func_array(array('PHPExcel_Calculation_Financial','NPV'),$args); + $this->assertEquals($expectedResult, $result, NULL, 1E-8); + } + + public function providerNPV() + { + return new testDataFileIterator('rawTestData/Calculation/Financial/NPV.data'); + } + + /** + * @dataProvider providerPRICE + */ + public function testPRICE() + { + $args = func_get_args(); + $expectedResult = array_pop($args); + $result = call_user_func_array(array('PHPExcel_Calculation_Financial','PRICE'),$args); + $this->assertEquals($expectedResult, $result, NULL, 1E-8); + } + + public function providerPRICE() + { + return new testDataFileIterator('rawTestData/Calculation/Financial/PRICE.data'); + } + + /** + * @dataProvider providerRATE + */ + public function testRATE() + { + $args = func_get_args(); + $expectedResult = array_pop($args); + $result = call_user_func_array(array('PHPExcel_Calculation_Financial','RATE'),$args); + $this->assertEquals($expectedResult, $result, NULL, 1E-8); + } + + public function providerRATE() + { + return new testDataFileIterator('rawTestData/Calculation/Financial/RATE.data'); + } + + /** + * @dataProvider providerXIRR + */ + public function testXIRR() + { + $args = func_get_args(); + $expectedResult = array_pop($args); + $result = call_user_func_array(array('PHPExcel_Calculation_Financial','XIRR'),$args); + $this->assertEquals($expectedResult, $result, NULL, 1E-8); + } + + public function providerXIRR() + { + return new testDataFileIterator('rawTestData/Calculation/Financial/XIRR.data'); + } + +} diff --git a/vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Calculation/FunctionsTest.php b/vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Calculation/FunctionsTest.php new file mode 100644 index 00000000..01333294 --- /dev/null +++ b/vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Calculation/FunctionsTest.php @@ -0,0 +1,276 @@ +<?php + + +require_once 'testDataFileIterator.php'; + +class FunctionsTest extends PHPUnit_Framework_TestCase +{ + + public function setUp() + { + if (!defined('PHPEXCEL_ROOT')) + { + define('PHPEXCEL_ROOT', APPLICATION_PATH . '/'); + } + require_once(PHPEXCEL_ROOT . 'PHPExcel/Autoloader.php'); + + PHPExcel_Calculation_Functions::setCompatibilityMode(PHPExcel_Calculation_Functions::COMPATIBILITY_EXCEL); + } + + public function testDUMMY() + { + $result = PHPExcel_Calculation_Functions::DUMMY(); + $this->assertEquals('#Not Yet Implemented', $result); + } + + public function testDIV0() + { + $result = PHPExcel_Calculation_Functions::DIV0(); + $this->assertEquals('#DIV/0!', $result); + } + + public function testNA() + { + $result = PHPExcel_Calculation_Functions::NA(); + $this->assertEquals('#N/A', $result); + } + + public function testNaN() + { + $result = PHPExcel_Calculation_Functions::NaN(); + $this->assertEquals('#NUM!', $result); + } + + public function testNAME() + { + $result = PHPExcel_Calculation_Functions::NAME(); + $this->assertEquals('#NAME?', $result); + } + + public function testREF() + { + $result = PHPExcel_Calculation_Functions::REF(); + $this->assertEquals('#REF!', $result); + } + + public function testNULL() + { + $result = PHPExcel_Calculation_Functions::NULL(); + $this->assertEquals('#NULL!', $result); + } + + public function testVALUE() + { + $result = PHPExcel_Calculation_Functions::VALUE(); + $this->assertEquals('#VALUE!', $result); + } + + /** + * @dataProvider providerIS_BLANK + */ + public function testIS_BLANK() + { + $args = func_get_args(); + $expectedResult = array_pop($args); + $result = call_user_func_array(array('PHPExcel_Calculation_Functions','IS_BLANK'),$args); + $this->assertEquals($expectedResult, $result, NULL, 1E-8); + } + + public function providerIS_BLANK() + { + return new testDataFileIterator('rawTestData/Calculation/Functions/IS_BLANK.data'); + } + + /** + * @dataProvider providerIS_ERR + */ + public function testIS_ERR() + { + $args = func_get_args(); + $expectedResult = array_pop($args); + $result = call_user_func_array(array('PHPExcel_Calculation_Functions','IS_ERR'),$args); + $this->assertEquals($expectedResult, $result, NULL, 1E-8); + } + + public function providerIS_ERR() + { + return new testDataFileIterator('rawTestData/Calculation/Functions/IS_ERR.data'); + } + + /** + * @dataProvider providerIS_ERROR + */ + public function testIS_ERROR() + { + $args = func_get_args(); + $expectedResult = array_pop($args); + $result = call_user_func_array(array('PHPExcel_Calculation_Functions','IS_ERROR'),$args); + $this->assertEquals($expectedResult, $result, NULL, 1E-8); + } + + public function providerIS_ERROR() + { + return new testDataFileIterator('rawTestData/Calculation/Functions/IS_ERROR.data'); + } + + /** + * @dataProvider providerERROR_TYPE + */ + public function testERROR_TYPE() + { + $args = func_get_args(); + $expectedResult = array_pop($args); + $result = call_user_func_array(array('PHPExcel_Calculation_Functions','ERROR_TYPE'),$args); + $this->assertEquals($expectedResult, $result, NULL, 1E-8); + } + + public function providerERROR_TYPE() + { + return new testDataFileIterator('rawTestData/Calculation/Functions/ERROR_TYPE.data'); + } + + /** + * @dataProvider providerIS_LOGICAL + */ + public function testIS_LOGICAL() + { + $args = func_get_args(); + $expectedResult = array_pop($args); + $result = call_user_func_array(array('PHPExcel_Calculation_Functions','IS_LOGICAL'),$args); + $this->assertEquals($expectedResult, $result, NULL, 1E-8); + } + + public function providerIS_LOGICAL() + { + return new testDataFileIterator('rawTestData/Calculation/Functions/IS_LOGICAL.data'); + } + + /** + * @dataProvider providerIS_NA + */ + public function testIS_NA() + { + $args = func_get_args(); + $expectedResult = array_pop($args); + $result = call_user_func_array(array('PHPExcel_Calculation_Functions','IS_NA'),$args); + $this->assertEquals($expectedResult, $result, NULL, 1E-8); + } + + public function providerIS_NA() + { + return new testDataFileIterator('rawTestData/Calculation/Functions/IS_NA.data'); + } + + /** + * @dataProvider providerIS_NUMBER + */ + public function testIS_NUMBER() + { + $args = func_get_args(); + $expectedResult = array_pop($args); + $result = call_user_func_array(array('PHPExcel_Calculation_Functions','IS_NUMBER'),$args); + $this->assertEquals($expectedResult, $result, NULL, 1E-8); + } + + public function providerIS_NUMBER() + { + return new testDataFileIterator('rawTestData/Calculation/Functions/IS_NUMBER.data'); + } + + /** + * @dataProvider providerIS_TEXT + */ + public function testIS_TEXT() + { + $args = func_get_args(); + $expectedResult = array_pop($args); + $result = call_user_func_array(array('PHPExcel_Calculation_Functions','IS_TEXT'),$args); + $this->assertEquals($expectedResult, $result, NULL, 1E-8); + } + + public function providerIS_TEXT() + { + return new testDataFileIterator('rawTestData/Calculation/Functions/IS_TEXT.data'); + } + + /** + * @dataProvider providerIS_NONTEXT + */ + public function testIS_NONTEXT() + { + $args = func_get_args(); + $expectedResult = array_pop($args); + $result = call_user_func_array(array('PHPExcel_Calculation_Functions','IS_NONTEXT'),$args); + $this->assertEquals($expectedResult, $result, NULL, 1E-8); + } + + public function providerIS_NONTEXT() + { + return new testDataFileIterator('rawTestData/Calculation/Functions/IS_NONTEXT.data'); + } + + /** + * @dataProvider providerIS_EVEN + */ + public function testIS_EVEN() + { + $args = func_get_args(); + $expectedResult = array_pop($args); + $result = call_user_func_array(array('PHPExcel_Calculation_Functions','IS_EVEN'),$args); + $this->assertEquals($expectedResult, $result, NULL, 1E-8); + } + + public function providerIS_EVEN() + { + return new testDataFileIterator('rawTestData/Calculation/Functions/IS_EVEN.data'); + } + + /** + * @dataProvider providerIS_ODD + */ + public function testIS_ODD() + { + $args = func_get_args(); + $expectedResult = array_pop($args); + $result = call_user_func_array(array('PHPExcel_Calculation_Functions','IS_ODD'),$args); + $this->assertEquals($expectedResult, $result, NULL, 1E-8); + } + + public function providerIS_ODD() + { + return new testDataFileIterator('rawTestData/Calculation/Functions/IS_ODD.data'); + } + + /** + * @dataProvider providerTYPE + */ + public function testTYPE() + { + $args = func_get_args(); + $expectedResult = array_pop($args); + $result = call_user_func_array(array('PHPExcel_Calculation_Functions','TYPE'),$args); + $this->assertEquals($expectedResult, $result, NULL, 1E-8); + } + + public function providerTYPE() + { + return new testDataFileIterator('rawTestData/Calculation/Functions/TYPE.data'); + } + + /** + * @dataProvider providerN + */ + public function testN() + { + $args = func_get_args(); + $expectedResult = array_pop($args); + $result = call_user_func_array(array('PHPExcel_Calculation_Functions','N'),$args); + $this->assertEquals($expectedResult, $result, NULL, 1E-8); + } + + public function providerN() + { + return new testDataFileIterator('rawTestData/Calculation/Functions/N.data'); + } + +} diff --git a/vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Calculation/LogicalTest.php b/vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Calculation/LogicalTest.php new file mode 100644 index 00000000..cc8f8b33 --- /dev/null +++ b/vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Calculation/LogicalTest.php @@ -0,0 +1,112 @@ +<?php + + +require_once 'testDataFileIterator.php'; + +class LogicalTest extends PHPUnit_Framework_TestCase +{ + + public function setUp() + { + if (!defined('PHPEXCEL_ROOT')) + { + define('PHPEXCEL_ROOT', APPLICATION_PATH . '/'); + } + require_once(PHPEXCEL_ROOT . 'PHPExcel/Autoloader.php'); + + PHPExcel_Calculation_Functions::setCompatibilityMode(PHPExcel_Calculation_Functions::COMPATIBILITY_EXCEL); + } + + public function testTRUE() + { + $result = PHPExcel_Calculation_Logical::TRUE(); + $this->assertEquals(TRUE, $result); + } + + public function testFALSE() + { + $result = PHPExcel_Calculation_Logical::FALSE(); + $this->assertEquals(FALSE, $result); + } + + /** + * @dataProvider providerAND + */ + public function testAND() + { + $args = func_get_args(); + $expectedResult = array_pop($args); + $result = call_user_func_array(array('PHPExcel_Calculation_Logical','LOGICAL_AND'),$args); + $this->assertEquals($expectedResult, $result); + } + + public function providerAND() + { + return new testDataFileIterator('rawTestData/Calculation/Logical/AND.data'); + } + + /** + * @dataProvider providerOR + */ + public function testOR() + { + $args = func_get_args(); + $expectedResult = array_pop($args); + $result = call_user_func_array(array('PHPExcel_Calculation_Logical','LOGICAL_OR'),$args); + $this->assertEquals($expectedResult, $result); + } + + public function providerOR() + { + return new testDataFileIterator('rawTestData/Calculation/Logical/OR.data'); + } + + /** + * @dataProvider providerNOT + */ + public function testNOT() + { + $args = func_get_args(); + $expectedResult = array_pop($args); + $result = call_user_func_array(array('PHPExcel_Calculation_Logical','NOT'),$args); + $this->assertEquals($expectedResult, $result); + } + + public function providerNOT() + { + return new testDataFileIterator('rawTestData/Calculation/Logical/NOT.data'); + } + + /** + * @dataProvider providerIF + */ + public function testIF() + { + $args = func_get_args(); + $expectedResult = array_pop($args); + $result = call_user_func_array(array('PHPExcel_Calculation_Logical','STATEMENT_IF'),$args); + $this->assertEquals($expectedResult, $result); + } + + public function providerIF() + { + return new testDataFileIterator('rawTestData/Calculation/Logical/IF.data'); + } + + /** + * @dataProvider providerIFERROR + */ + public function testIFERROR() + { + $args = func_get_args(); + $expectedResult = array_pop($args); + $result = call_user_func_array(array('PHPExcel_Calculation_Logical','IFERROR'),$args); + $this->assertEquals($expectedResult, $result); + } + + public function providerIFERROR() + { + return new testDataFileIterator('rawTestData/Calculation/Logical/IFERROR.data'); + } + +} diff --git a/vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Calculation/LookupRefTest.php b/vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Calculation/LookupRefTest.php new file mode 100644 index 00000000..6450b082 --- /dev/null +++ b/vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Calculation/LookupRefTest.php @@ -0,0 +1,52 @@ +<?php + + +require_once 'testDataFileIterator.php'; + +class LookupRefTest extends PHPUnit_Framework_TestCase +{ + + public function setUp() + { + if (!defined('PHPEXCEL_ROOT')) + { + define('PHPEXCEL_ROOT', APPLICATION_PATH . '/'); + } + require_once(PHPEXCEL_ROOT . 'PHPExcel/Autoloader.php'); + + PHPExcel_Calculation_Functions::setCompatibilityMode(PHPExcel_Calculation_Functions::COMPATIBILITY_EXCEL); + } + + /** + * @dataProvider providerHLOOKUP + */ + public function testHLOOKUP() + { + $args = func_get_args(); + $expectedResult = array_pop($args); + $result = call_user_func_array(array('PHPExcel_Calculation_LookupRef','HLOOKUP'),$args); + $this->assertEquals($expectedResult, $result); + } + + public function providerHLOOKUP() + { + return new testDataFileIterator('rawTestData/Calculation/LookupRef/HLOOKUP.data'); + } + + /** + * @dataProvider providerVLOOKUP + */ + public function testVLOOKUP() + { + $args = func_get_args(); + $expectedResult = array_pop($args); + $result = call_user_func_array(array('PHPExcel_Calculation_LookupRef','VLOOKUP'),$args); + $this->assertEquals($expectedResult, $result); + } + + public function providerVLOOKUP() + { + return new testDataFileIterator('rawTestData/Calculation/LookupRef/VLOOKUP.data'); + } + +} diff --git a/vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Calculation/MathTrigTest.php b/vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Calculation/MathTrigTest.php new file mode 100644 index 00000000..0059ed08 --- /dev/null +++ b/vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Calculation/MathTrigTest.php @@ -0,0 +1,560 @@ +<?php + + +require_once 'testDataFileIterator.php'; + +class MathTrigTest extends PHPUnit_Framework_TestCase +{ + + public function setUp() + { + if (!defined('PHPEXCEL_ROOT')) + { + define('PHPEXCEL_ROOT', APPLICATION_PATH . '/'); + } + require_once(PHPEXCEL_ROOT . 'PHPExcel/Autoloader.php'); + + PHPExcel_Calculation_Functions::setCompatibilityMode(PHPExcel_Calculation_Functions::COMPATIBILITY_EXCEL); + } + + /** + * @dataProvider providerATAN2 + */ + public function testATAN2() + { + $args = func_get_args(); + $expectedResult = array_pop($args); + $result = call_user_func_array(array('PHPExcel_Calculation_MathTrig','ATAN2'),$args); + $this->assertEquals($expectedResult, $result, NULL, 1E-12); + } + + public function providerATAN2() + { + return new testDataFileIterator('rawTestData/Calculation/MathTrig/ATAN2.data'); + } + + /** + * @dataProvider providerCEILING + */ + public function testCEILING() + { + $args = func_get_args(); + $expectedResult = array_pop($args); + $result = call_user_func_array(array('PHPExcel_Calculation_MathTrig','CEILING'),$args); + $this->assertEquals($expectedResult, $result, NULL, 1E-12); + } + + public function providerCEILING() + { + return new testDataFileIterator('rawTestData/Calculation/MathTrig/CEILING.data'); + } + + /** + * @dataProvider providerCOMBIN + */ + public function testCOMBIN() + { + $args = func_get_args(); + $expectedResult = array_pop($args); + $result = call_user_func_array(array('PHPExcel_Calculation_MathTrig','COMBIN'),$args); + $this->assertEquals($expectedResult, $result, NULL, 1E-12); + } + + public function providerCOMBIN() + { + return new testDataFileIterator('rawTestData/Calculation/MathTrig/COMBIN.data'); + } + + /** + * @dataProvider providerEVEN + */ + public function testEVEN() + { + $args = func_get_args(); + $expectedResult = array_pop($args); + $result = call_user_func_array(array('PHPExcel_Calculation_MathTrig','EVEN'),$args); + $this->assertEquals($expectedResult, $result, NULL, 1E-12); + } + + public function providerEVEN() + { + return new testDataFileIterator('rawTestData/Calculation/MathTrig/EVEN.data'); + } + + /** + * @dataProvider providerODD + */ + public function testODD() + { + $args = func_get_args(); + $expectedResult = array_pop($args); + $result = call_user_func_array(array('PHPExcel_Calculation_MathTrig','ODD'),$args); + $this->assertEquals($expectedResult, $result, NULL, 1E-12); + } + + public function providerODD() + { + return new testDataFileIterator('rawTestData/Calculation/MathTrig/ODD.data'); + } + + /** + * @dataProvider providerFACT + */ + public function testFACT() + { + $args = func_get_args(); + $expectedResult = array_pop($args); + $result = call_user_func_array(array('PHPExcel_Calculation_MathTrig','FACT'),$args); + $this->assertEquals($expectedResult, $result, NULL, 1E-12); + } + + public function providerFACT() + { + return new testDataFileIterator('rawTestData/Calculation/MathTrig/FACT.data'); + } + + /** + * @dataProvider providerFACTDOUBLE + */ + public function testFACTDOUBLE() + { + $args = func_get_args(); + $expectedResult = array_pop($args); + $result = call_user_func_array(array('PHPExcel_Calculation_MathTrig','FACTDOUBLE'),$args); + $this->assertEquals($expectedResult, $result, NULL, 1E-12); + } + + public function providerFACTDOUBLE() + { + return new testDataFileIterator('rawTestData/Calculation/MathTrig/FACTDOUBLE.data'); + } + + /** + * @dataProvider providerFLOOR + */ + public function testFLOOR() + { + $args = func_get_args(); + $expectedResult = array_pop($args); + $result = call_user_func_array(array('PHPExcel_Calculation_MathTrig','FLOOR'),$args); + $this->assertEquals($expectedResult, $result, NULL, 1E-12); + } + + public function providerFLOOR() + { + return new testDataFileIterator('rawTestData/Calculation/MathTrig/FLOOR.data'); + } + + /** + * @dataProvider providerGCD + */ + public function testGCD() + { + $args = func_get_args(); + $expectedResult = array_pop($args); + $result = call_user_func_array(array('PHPExcel_Calculation_MathTrig','GCD'),$args); + $this->assertEquals($expectedResult, $result, NULL, 1E-12); + } + + public function providerGCD() + { + return new testDataFileIterator('rawTestData/Calculation/MathTrig/GCD.data'); + } + + /** + * @dataProvider providerLCM + */ + public function testLCM() + { + $args = func_get_args(); + $expectedResult = array_pop($args); + $result = call_user_func_array(array('PHPExcel_Calculation_MathTrig','LCM'),$args); + $this->assertEquals($expectedResult, $result, NULL, 1E-12); + } + + public function providerLCM() + { + return new testDataFileIterator('rawTestData/Calculation/MathTrig/LCM.data'); + } + + /** + * @dataProvider providerINT + */ + public function testINT() + { + $args = func_get_args(); + $expectedResult = array_pop($args); + $result = call_user_func_array(array('PHPExcel_Calculation_MathTrig','INT'),$args); + $this->assertEquals($expectedResult, $result); + } + + public function providerINT() + { + return new testDataFileIterator('rawTestData/Calculation/MathTrig/INT.data'); + } + + /** + * @dataProvider providerSIGN + */ + public function testSIGN() + { + $args = func_get_args(); + $expectedResult = array_pop($args); + $result = call_user_func_array(array('PHPExcel_Calculation_MathTrig','SIGN'),$args); + $this->assertEquals($expectedResult, $result, NULL, 1E-12); + } + + public function providerSIGN() + { + return new testDataFileIterator('rawTestData/Calculation/MathTrig/SIGN.data'); + } + + /** + * @dataProvider providerPOWER + */ + public function testPOWER() + { + $args = func_get_args(); + $expectedResult = array_pop($args); + $result = call_user_func_array(array('PHPExcel_Calculation_MathTrig','POWER'),$args); + $this->assertEquals($expectedResult, $result, NULL, 1E-12); + } + + public function providerPOWER() + { + return new testDataFileIterator('rawTestData/Calculation/MathTrig/POWER.data'); + } + + /** + * @dataProvider providerLOG + */ + public function testLOG() + { + $args = func_get_args(); + $expectedResult = array_pop($args); + $result = call_user_func_array(array('PHPExcel_Calculation_MathTrig','LOG_BASE'),$args); + $this->assertEquals($expectedResult, $result, NULL, 1E-12); + } + + public function providerLOG() + { + return new testDataFileIterator('rawTestData/Calculation/MathTrig/LOG.data'); + } + + /** + * @dataProvider providerMOD + */ + public function testMOD() + { + $args = func_get_args(); + $expectedResult = array_pop($args); + $result = call_user_func_array(array('PHPExcel_Calculation_MathTrig','MOD'),$args); + $this->assertEquals($expectedResult, $result, NULL, 1E-12); + } + + public function providerMOD() + { + return new testDataFileIterator('rawTestData/Calculation/MathTrig/MOD.data'); + } + + /** + * @dataProvider providerMDETERM + */ + public function testMDETERM() + { + $args = func_get_args(); + $expectedResult = array_pop($args); + $result = call_user_func_array(array('PHPExcel_Calculation_MathTrig','MDETERM'),$args); + $this->assertEquals($expectedResult, $result, NULL, 1E-12); + } + + public function providerMDETERM() + { + return new testDataFileIterator('rawTestData/Calculation/MathTrig/MDETERM.data'); + } + + /** + * @dataProvider providerMINVERSE + */ + public function testMINVERSE() + { + $args = func_get_args(); + $expectedResult = array_pop($args); + $result = call_user_func_array(array('PHPExcel_Calculation_MathTrig','MINVERSE'),$args); + $this->assertEquals($expectedResult, $result, NULL, 1E-12); + } + + public function providerMINVERSE() + { + return new testDataFileIterator('rawTestData/Calculation/MathTrig/MINVERSE.data'); + } + + /** + * @dataProvider providerMMULT + */ + public function testMMULT() + { + $args = func_get_args(); + $expectedResult = array_pop($args); + $result = call_user_func_array(array('PHPExcel_Calculation_MathTrig','MMULT'),$args); + $this->assertEquals($expectedResult, $result, NULL, 1E-12); + } + + public function providerMMULT() + { + return new testDataFileIterator('rawTestData/Calculation/MathTrig/MMULT.data'); + } + + /** + * @dataProvider providerMULTINOMIAL + */ + public function testMULTINOMIAL() + { + $args = func_get_args(); + $expectedResult = array_pop($args); + $result = call_user_func_array(array('PHPExcel_Calculation_MathTrig','MULTINOMIAL'),$args); + $this->assertEquals($expectedResult, $result, NULL, 1E-12); + } + + public function providerMULTINOMIAL() + { + return new testDataFileIterator('rawTestData/Calculation/MathTrig/MULTINOMIAL.data'); + } + + /** + * @dataProvider providerMROUND + */ + public function testMROUND() + { + $args = func_get_args(); + $expectedResult = array_pop($args); + PHPExcel_Calculation::setArrayReturnType(PHPExcel_Calculation::RETURN_ARRAY_AS_VALUE); + $result = call_user_func_array(array('PHPExcel_Calculation_MathTrig','MROUND'),$args); + PHPExcel_Calculation::setArrayReturnType(PHPExcel_Calculation::RETURN_ARRAY_AS_ARRAY); + $this->assertEquals($expectedResult, $result, NULL, 1E-12); + } + + public function providerMROUND() + { + return new testDataFileIterator('rawTestData/Calculation/MathTrig/MROUND.data'); + } + + /** + * @dataProvider providerPRODUCT + */ + public function testPRODUCT() + { + $args = func_get_args(); + $expectedResult = array_pop($args); + $result = call_user_func_array(array('PHPExcel_Calculation_MathTrig','PRODUCT'),$args); + $this->assertEquals($expectedResult, $result, NULL, 1E-12); + } + + public function providerPRODUCT() + { + return new testDataFileIterator('rawTestData/Calculation/MathTrig/PRODUCT.data'); + } + + /** + * @dataProvider providerQUOTIENT + */ + public function testQUOTIENT() + { + $args = func_get_args(); + $expectedResult = array_pop($args); + $result = call_user_func_array(array('PHPExcel_Calculation_MathTrig','QUOTIENT'),$args); + $this->assertEquals($expectedResult, $result, NULL, 1E-12); + } + + public function providerQUOTIENT() + { + return new testDataFileIterator('rawTestData/Calculation/MathTrig/QUOTIENT.data'); + } + + /** + * @dataProvider providerROUNDUP + */ + public function testROUNDUP() + { + $args = func_get_args(); + $expectedResult = array_pop($args); + $result = call_user_func_array(array('PHPExcel_Calculation_MathTrig','ROUNDUP'),$args); + $this->assertEquals($expectedResult, $result, NULL, 1E-12); + } + + public function providerROUNDUP() + { + return new testDataFileIterator('rawTestData/Calculation/MathTrig/ROUNDUP.data'); + } + + /** + * @dataProvider providerROUNDDOWN + */ + public function testROUNDDOWN() + { + $args = func_get_args(); + $expectedResult = array_pop($args); + $result = call_user_func_array(array('PHPExcel_Calculation_MathTrig','ROUNDDOWN'),$args); + $this->assertEquals($expectedResult, $result, NULL, 1E-12); + } + + public function providerROUNDDOWN() + { + return new testDataFileIterator('rawTestData/Calculation/MathTrig/ROUNDDOWN.data'); + } + + /** + * @dataProvider providerSERIESSUM + */ + public function testSERIESSUM() + { + $args = func_get_args(); + $expectedResult = array_pop($args); + $result = call_user_func_array(array('PHPExcel_Calculation_MathTrig','SERIESSUM'),$args); + $this->assertEquals($expectedResult, $result, NULL, 1E-12); + } + + public function providerSERIESSUM() + { + return new testDataFileIterator('rawTestData/Calculation/MathTrig/SERIESSUM.data'); + } + + /** + * @dataProvider providerSUMSQ + */ + public function testSUMSQ() + { + $args = func_get_args(); + $expectedResult = array_pop($args); + $result = call_user_func_array(array('PHPExcel_Calculation_MathTrig','SUMSQ'),$args); + $this->assertEquals($expectedResult, $result, NULL, 1E-12); + } + + public function providerSUMSQ() + { + return new testDataFileIterator('rawTestData/Calculation/MathTrig/SUMSQ.data'); + } + + /** + * @dataProvider providerTRUNC + */ + public function testTRUNC() + { + $args = func_get_args(); + $expectedResult = array_pop($args); + $result = call_user_func_array(array('PHPExcel_Calculation_MathTrig','TRUNC'),$args); + $this->assertEquals($expectedResult, $result, NULL, 1E-12); + } + + public function providerTRUNC() + { + return new testDataFileIterator('rawTestData/Calculation/MathTrig/TRUNC.data'); + } + + /** + * @dataProvider providerROMAN + */ + public function testROMAN() + { + $args = func_get_args(); + $expectedResult = array_pop($args); + $result = call_user_func_array(array('PHPExcel_Calculation_MathTrig','ROMAN'),$args); + $this->assertEquals($expectedResult, $result); + } + + public function providerROMAN() + { + return new testDataFileIterator('rawTestData/Calculation/MathTrig/ROMAN.data'); + } + + /** + * @dataProvider providerSQRTPI + */ + public function testSQRTPI() + { + $args = func_get_args(); + $expectedResult = array_pop($args); + $result = call_user_func_array(array('PHPExcel_Calculation_MathTrig','SQRTPI'),$args); + $this->assertEquals($expectedResult, $result, NULL, 1E-12); + } + + public function providerSQRTPI() + { + return new testDataFileIterator('rawTestData/Calculation/MathTrig/SQRTPI.data'); + } + + /** + * @dataProvider providerSUMIF + */ + public function testSUMIF() + { + $args = func_get_args(); + $expectedResult = array_pop($args); + $result = call_user_func_array(array('PHPExcel_Calculation_MathTrig', 'SUMIF'), $args); + $this->assertEquals($expectedResult, $result, NULL, 1E-12); + } + + public function providerSUMIF() + { + return array( + array( + array( + array(1), + array(5), + array(10), + ), + '>=5', + 15, + ), + array( + array( + array('text'), + array(2), + ), + '=text', + array( + array(10), + array(100), + ), + 10, + ), + array( + array( + array('"text with quotes"'), + array(2), + ), + '="text with quotes"', + array( + array(10), + array(100), + ), + 10, + ), + array( + array( + array('"text with quotes"'), + array(''), + ), + '>"', // Compare to the single characater " (double quote) + array( + array(10), + array(100), + ), + 10 + ), + array( + array( + array(''), + array('anything'), + ), + '>"', // Compare to the single characater " (double quote) + array( + array(10), + array(100), + ), + 100 + ), + ); + } + +} diff --git a/vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Calculation/TextDataTest.php b/vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Calculation/TextDataTest.php new file mode 100644 index 00000000..4b1caf51 --- /dev/null +++ b/vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Calculation/TextDataTest.php @@ -0,0 +1,365 @@ +<?php + + +require_once 'testDataFileIterator.php'; + +class TextDataTest extends PHPUnit_Framework_TestCase +{ + + public function setUp() + { + if (!defined('PHPEXCEL_ROOT')) + { + define('PHPEXCEL_ROOT', APPLICATION_PATH . '/'); + } + require_once(PHPEXCEL_ROOT . 'PHPExcel/Autoloader.php'); + + PHPExcel_Calculation_Functions::setCompatibilityMode(PHPExcel_Calculation_Functions::COMPATIBILITY_EXCEL); + } + + /** + * @dataProvider providerCHAR + */ + public function testCHAR() + { + $args = func_get_args(); + $expectedResult = array_pop($args); + $result = call_user_func_array(array('PHPExcel_Calculation_TextData','CHARACTER'),$args); + $this->assertEquals($expectedResult, $result); + } + + public function providerCHAR() + { + return new testDataFileIterator('rawTestData/Calculation/TextData/CHAR.data'); + } + + /** + * @dataProvider providerCODE + */ + public function testCODE() + { + $args = func_get_args(); + $expectedResult = array_pop($args); + $result = call_user_func_array(array('PHPExcel_Calculation_TextData','ASCIICODE'),$args); + $this->assertEquals($expectedResult, $result); + } + + public function providerCODE() + { + return new testDataFileIterator('rawTestData/Calculation/TextData/CODE.data'); + } + + /** + * @dataProvider providerCONCATENATE + */ + public function testCONCATENATE() + { + $args = func_get_args(); + $expectedResult = array_pop($args); + $result = call_user_func_array(array('PHPExcel_Calculation_TextData','CONCATENATE'),$args); + $this->assertEquals($expectedResult, $result); + } + + public function providerCONCATENATE() + { + return new testDataFileIterator('rawTestData/Calculation/TextData/CONCATENATE.data'); + } + + /** + * @dataProvider providerLEFT + */ + public function testLEFT() + { + $args = func_get_args(); + $expectedResult = array_pop($args); + $result = call_user_func_array(array('PHPExcel_Calculation_TextData','LEFT'),$args); + $this->assertEquals($expectedResult, $result); + } + + public function providerLEFT() + { + return new testDataFileIterator('rawTestData/Calculation/TextData/LEFT.data'); + } + + /** + * @dataProvider providerMID + */ + public function testMID() + { + $args = func_get_args(); + $expectedResult = array_pop($args); + $result = call_user_func_array(array('PHPExcel_Calculation_TextData','MID'),$args); + $this->assertEquals($expectedResult, $result); + } + + public function providerMID() + { + return new testDataFileIterator('rawTestData/Calculation/TextData/MID.data'); + } + + /** + * @dataProvider providerRIGHT + */ + public function testRIGHT() + { + $args = func_get_args(); + $expectedResult = array_pop($args); + $result = call_user_func_array(array('PHPExcel_Calculation_TextData','RIGHT'),$args); + $this->assertEquals($expectedResult, $result); + } + + public function providerRIGHT() + { + return new testDataFileIterator('rawTestData/Calculation/TextData/RIGHT.data'); + } + + /** + * @dataProvider providerLOWER + */ + public function testLOWER() + { + $args = func_get_args(); + $expectedResult = array_pop($args); + $result = call_user_func_array(array('PHPExcel_Calculation_TextData','LOWERCASE'),$args); + $this->assertEquals($expectedResult, $result); + } + + public function providerLOWER() + { + return new testDataFileIterator('rawTestData/Calculation/TextData/LOWER.data'); + } + + /** + * @dataProvider providerUPPER + */ + public function testUPPER() + { + $args = func_get_args(); + $expectedResult = array_pop($args); + $result = call_user_func_array(array('PHPExcel_Calculation_TextData','UPPERCASE'),$args); + $this->assertEquals($expectedResult, $result); + } + + public function providerUPPER() + { + return new testDataFileIterator('rawTestData/Calculation/TextData/UPPER.data'); + } + + /** + * @dataProvider providerPROPER + */ + public function testPROPER() + { + $args = func_get_args(); + $expectedResult = array_pop($args); + $result = call_user_func_array(array('PHPExcel_Calculation_TextData','PROPERCASE'),$args); + $this->assertEquals($expectedResult, $result); + } + + public function providerPROPER() + { + return new testDataFileIterator('rawTestData/Calculation/TextData/PROPER.data'); + } + + /** + * @dataProvider providerLEN + */ + public function testLEN() + { + $args = func_get_args(); + $expectedResult = array_pop($args); + $result = call_user_func_array(array('PHPExcel_Calculation_TextData','STRINGLENGTH'),$args); + $this->assertEquals($expectedResult, $result); + } + + public function providerLEN() + { + return new testDataFileIterator('rawTestData/Calculation/TextData/LEN.data'); + } + + /** + * @dataProvider providerSEARCH + */ + public function testSEARCH() + { + $args = func_get_args(); + $expectedResult = array_pop($args); + $result = call_user_func_array(array('PHPExcel_Calculation_TextData','SEARCHINSENSITIVE'),$args); + $this->assertEquals($expectedResult, $result); + } + + public function providerSEARCH() + { + return new testDataFileIterator('rawTestData/Calculation/TextData/SEARCH.data'); + } + + /** + * @dataProvider providerFIND + */ + public function testFIND() + { + $args = func_get_args(); + $expectedResult = array_pop($args); + $result = call_user_func_array(array('PHPExcel_Calculation_TextData','SEARCHSENSITIVE'),$args); + $this->assertEquals($expectedResult, $result); + } + + public function providerFIND() + { + return new testDataFileIterator('rawTestData/Calculation/TextData/FIND.data'); + } + + /** + * @dataProvider providerREPLACE + */ + public function testREPLACE() + { + $args = func_get_args(); + $expectedResult = array_pop($args); + $result = call_user_func_array(array('PHPExcel_Calculation_TextData','REPLACE'),$args); + $this->assertEquals($expectedResult, $result); + } + + public function providerREPLACE() + { + return new testDataFileIterator('rawTestData/Calculation/TextData/REPLACE.data'); + } + + /** + * @dataProvider providerSUBSTITUTE + */ + public function testSUBSTITUTE() + { + $args = func_get_args(); + $expectedResult = array_pop($args); + $result = call_user_func_array(array('PHPExcel_Calculation_TextData','SUBSTITUTE'),$args); + $this->assertEquals($expectedResult, $result); + } + + public function providerSUBSTITUTE() + { + return new testDataFileIterator('rawTestData/Calculation/TextData/SUBSTITUTE.data'); + } + + /** + * @dataProvider providerTRIM + */ + public function testTRIM() + { + $args = func_get_args(); + $expectedResult = array_pop($args); + $result = call_user_func_array(array('PHPExcel_Calculation_TextData','TRIMSPACES'),$args); + $this->assertEquals($expectedResult, $result); + } + + public function providerTRIM() + { + return new testDataFileIterator('rawTestData/Calculation/TextData/TRIM.data'); + } + + /** + * @dataProvider providerCLEAN + */ + public function testCLEAN() + { + $args = func_get_args(); + $expectedResult = array_pop($args); + $result = call_user_func_array(array('PHPExcel_Calculation_TextData','TRIMNONPRINTABLE'),$args); + $this->assertEquals($expectedResult, $result); + } + + public function providerCLEAN() + { + return new testDataFileIterator('rawTestData/Calculation/TextData/CLEAN.data'); + } + + /** + * @dataProvider providerDOLLAR + */ + public function testDOLLAR() + { + $args = func_get_args(); + $expectedResult = array_pop($args); + $result = call_user_func_array(array('PHPExcel_Calculation_TextData','DOLLAR'),$args); + $this->assertEquals($expectedResult, $result); + } + + public function providerDOLLAR() + { + return new testDataFileIterator('rawTestData/Calculation/TextData/DOLLAR.data'); + } + + /** + * @dataProvider providerFIXED + */ + public function testFIXED() + { + $args = func_get_args(); + $expectedResult = array_pop($args); + $result = call_user_func_array(array('PHPExcel_Calculation_TextData','FIXEDFORMAT'),$args); + $this->assertEquals($expectedResult, $result); + } + + public function providerFIXED() + { + return new testDataFileIterator('rawTestData/Calculation/TextData/FIXED.data'); + } + + /** + * @dataProvider providerT + */ + public function testT() + { + $args = func_get_args(); + $expectedResult = array_pop($args); + $result = call_user_func_array(array('PHPExcel_Calculation_TextData','RETURNSTRING'),$args); + $this->assertEquals($expectedResult, $result); + } + + public function providerT() + { + return new testDataFileIterator('rawTestData/Calculation/TextData/T.data'); + } + + /** + * @dataProvider providerTEXT + */ + public function testTEXT() + { + // Enforce decimal and thousands separator values to UK/US, and currency code to USD + call_user_func(array('PHPExcel_Shared_String','setDecimalSeparator'),'.'); + call_user_func(array('PHPExcel_Shared_String','setThousandsSeparator'),','); + call_user_func(array('PHPExcel_Shared_String','setCurrencyCode'),'$'); + + $args = func_get_args(); + $expectedResult = array_pop($args); + $result = call_user_func_array(array('PHPExcel_Calculation_TextData','TEXTFORMAT'),$args); + $this->assertEquals($expectedResult, $result); + } + + public function providerTEXT() + { + return new testDataFileIterator('rawTestData/Calculation/TextData/TEXT.data'); + } + + /** + * @dataProvider providerVALUE + */ + public function testVALUE() + { + call_user_func(array('PHPExcel_Shared_String','setDecimalSeparator'),'.'); + call_user_func(array('PHPExcel_Shared_String','setThousandsSeparator'),' '); + call_user_func(array('PHPExcel_Shared_String','setCurrencyCode'),'$'); + + $args = func_get_args(); + $expectedResult = array_pop($args); + $result = call_user_func_array(array('PHPExcel_Calculation_TextData','VALUE'),$args); + $this->assertEquals($expectedResult, $result, NULL, 1E-8); + } + + public function providerVALUE() + { + return new testDataFileIterator('rawTestData/Calculation/TextData/VALUE.data'); + } + +} diff --git a/vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/CalculationTest.php b/vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/CalculationTest.php new file mode 100644 index 00000000..1de827ca --- /dev/null +++ b/vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/CalculationTest.php @@ -0,0 +1,37 @@ +<?php + +require_once 'testDataFileIterator.php'; + +class CalculationTest extends PHPUnit_Framework_TestCase +{ + + public function setUp() + { + if (!defined('PHPEXCEL_ROOT')) { + define('PHPEXCEL_ROOT', APPLICATION_PATH . '/'); + } + require_once(PHPEXCEL_ROOT . 'PHPExcel/Autoloader.php'); + + PHPExcel_Calculation_Functions::setCompatibilityMode(PHPExcel_Calculation_Functions::COMPATIBILITY_EXCEL); + } + + /** + * @dataProvider providerBinaryComparisonOperation + */ + public function testBinaryComparisonOperation($formula, $expectedResultExcel, $expectedResultOpenOffice) + { + PHPExcel_Calculation_Functions::setCompatibilityMode(PHPExcel_Calculation_Functions::COMPATIBILITY_EXCEL); + $resultExcel = \PHPExcel_Calculation::getInstance()->_calculateFormulaValue($formula); + $this->assertEquals($expectedResultExcel, $resultExcel, 'should be Excel compatible'); + + PHPExcel_Calculation_Functions::setCompatibilityMode(PHPExcel_Calculation_Functions::COMPATIBILITY_OPENOFFICE); + $resultOpenOffice = \PHPExcel_Calculation::getInstance()->_calculateFormulaValue($formula); + $this->assertEquals($expectedResultOpenOffice, $resultOpenOffice, 'should be OpenOffice compatible'); + } + + public function providerBinaryComparisonOperation() + { + return new testDataFileIterator('rawTestData/CalculationBinaryComparisonOperation.data'); + } + +} diff --git a/vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Cell/AdvancedValueBinderTest.php b/vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Cell/AdvancedValueBinderTest.php new file mode 100644 index 00000000..0a6ca54d --- /dev/null +++ b/vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Cell/AdvancedValueBinderTest.php @@ -0,0 +1,73 @@ +<?php + +class AdvancedValueBinderTest extends PHPUnit_Framework_TestCase +{ + public function setUp() + { + if (!defined('PHPEXCEL_ROOT')) { + define('PHPEXCEL_ROOT', APPLICATION_PATH . '/'); + } + require_once(PHPEXCEL_ROOT . 'PHPExcel/Autoloader.php'); + } + + public function provider() + { + if (!class_exists('PHPExcel_Style_NumberFormat')) { + $this->setUp(); + } + $currencyUSD = PHPExcel_Style_NumberFormat::FORMAT_CURRENCY_USD_SIMPLE; + $currencyEURO = str_replace('$', '€', PHPExcel_Style_NumberFormat::FORMAT_CURRENCY_USD_SIMPLE); + + return array( + array('10%', 0.1, PHPExcel_Style_NumberFormat::FORMAT_PERCENTAGE_00, ',', '.', '$'), + array('$10.11', 10.11, $currencyUSD, ',', '.', '$'), + array('$1,010.12', 1010.12, $currencyUSD, ',', '.', '$'), + array('$20,20', 20.2, $currencyUSD, '.', ',', '$'), + array('$2.020,20', 2020.2, $currencyUSD, '.', ',', '$'), + array('€2.020,20', 2020.2, $currencyEURO, '.', ',', '€'), + array('€ 2.020,20', 2020.2, $currencyEURO, '.', ',', '€'), + array('€2,020.22', 2020.22, $currencyEURO, ',', '.', '€'), + ); + } + + /** + * @dataProvider provider + */ + public function testCurrency($value, $valueBinded, $format, $thousandsSeparator, $decimalSeparator, $currencyCode) + { + $sheet = $this->getMock( + 'PHPExcel_Worksheet', + array('getStyle', 'getNumberFormat', 'setFormatCode','getCellCacheController') + ); + $cache = $this->getMockBuilder('PHPExcel_CachedObjectStorage_Memory') + ->disableOriginalConstructor() + ->getMock(); + $cache->expects($this->any()) + ->method('getParent') + ->will($this->returnValue($sheet)); + + $sheet->expects($this->once()) + ->method('getStyle') + ->will($this->returnSelf()); + $sheet->expects($this->once()) + ->method('getNumberFormat') + ->will($this->returnSelf()); + $sheet->expects($this->once()) + ->method('setFormatCode') + ->with($format) + ->will($this->returnSelf()); + $sheet->expects($this->any()) + ->method('getCellCacheController') + ->will($this->returnValue($cache)); + + PHPExcel_Shared_String::setCurrencyCode($currencyCode); + PHPExcel_Shared_String::setDecimalSeparator($decimalSeparator); + PHPExcel_Shared_String::setThousandsSeparator($thousandsSeparator); + + $cell = new PHPExcel_Cell(NULL, PHPExcel_Cell_DataType::TYPE_STRING, $sheet); + + $binder = new PHPExcel_Cell_AdvancedValueBinder(); + $binder->bindValue($cell, $value); + $this->assertEquals($valueBinded, $cell->getValue()); + } +} \ No newline at end of file diff --git a/vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Cell/DataTypeTest.php b/vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Cell/DataTypeTest.php new file mode 100644 index 00000000..c17c5d0f --- /dev/null +++ b/vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Cell/DataTypeTest.php @@ -0,0 +1,24 @@ +<?php + + +class DataTypeTest extends PHPUnit_Framework_TestCase +{ + + public function setUp() + { + if (!defined('PHPEXCEL_ROOT')) + { + define('PHPEXCEL_ROOT', APPLICATION_PATH . '/'); + } + require_once(PHPEXCEL_ROOT . 'PHPExcel/Autoloader.php'); + } + + public function testGetErrorCodes() + { + $result = call_user_func(array('PHPExcel_Cell_DataType','getErrorCodes')); + $this->assertInternalType('array', $result); + $this->assertGreaterThan(0, count($result)); + $this->assertArrayHasKey('#NULL!', $result); + } + +} diff --git a/vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Cell/DefaultValueBinderTest.php b/vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Cell/DefaultValueBinderTest.php new file mode 100644 index 00000000..1c74d96f --- /dev/null +++ b/vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Cell/DefaultValueBinderTest.php @@ -0,0 +1,85 @@ +<?php + +require_once 'testDataFileIterator.php'; + +class DefaultValueBinderTest extends PHPUnit_Framework_TestCase +{ + protected $cellStub; + + public function setUp() + { + if (!defined('PHPEXCEL_ROOT')) + { + define('PHPEXCEL_ROOT', APPLICATION_PATH . '/'); + } + require_once(PHPEXCEL_ROOT . 'PHPExcel/Autoloader.php'); + } + + protected function createCellStub() + { + // Create a stub for the Cell class. + $this->cellStub = $this->getMockBuilder('PHPExcel_Cell') + ->disableOriginalConstructor() + ->getMock(); + // Configure the stub. + $this->cellStub->expects($this->any()) + ->method('setValueExplicit') + ->will($this->returnValue(true)); + + } + + /** + * @dataProvider binderProvider + */ + public function testBindValue($value) + { + $this->createCellStub(); + $binder = new PHPExcel_Cell_DefaultValueBinder(); + $result = $binder->bindValue($this->cellStub, $value); + $this->assertTrue($result); + } + + public function binderProvider() + { + return array( + array(null), + array(''), + array('ABC'), + array('=SUM(A1:B2)'), + array(true), + array(false), + array(123), + array(-123.456), + array('123'), + array('-123.456'), + array('#REF!'), + array(new DateTime()), + ); + } + + /** + * @dataProvider providerDataTypeForValue + */ + public function testDataTypeForValue() + { + $args = func_get_args(); + $expectedResult = array_pop($args); + $result = call_user_func_array(array('PHPExcel_Cell_DefaultValueBinder','dataTypeForValue'), $args); + $this->assertEquals($expectedResult, $result); + } + + public function providerDataTypeForValue() + { + return new testDataFileIterator('rawTestData/Cell/DefaultValueBinder.data'); + } + + public function testDataTypeForRichTextObject() + { + $objRichText = new PHPExcel_RichText(); + $objRichText->createText('Hello World'); + + $expectedResult = PHPExcel_Cell_DataType::TYPE_INLINE; + $result = call_user_func(array('PHPExcel_Cell_DefaultValueBinder','dataTypeForValue'), $objRichText); + $this->assertEquals($expectedResult, $result); + } +} diff --git a/vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Cell/HyperlinkTest.php b/vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Cell/HyperlinkTest.php new file mode 100644 index 00000000..54910cfd --- /dev/null +++ b/vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Cell/HyperlinkTest.php @@ -0,0 +1,88 @@ +<?php + + +class HyperlinkTest extends PHPUnit_Framework_TestCase +{ + + public function setUp() + { + if (!defined('PHPEXCEL_ROOT')) + { + define('PHPEXCEL_ROOT', APPLICATION_PATH . '/'); + } + require_once(PHPEXCEL_ROOT . 'PHPExcel/Autoloader.php'); + } + + public function testGetUrl() + { + $urlValue = 'http://www.phpexcel.net'; + + $testInstance = new PHPExcel_Cell_Hyperlink($urlValue); + + $result = $testInstance->getUrl(); + $this->assertEquals($urlValue,$result); + } + + public function testSetUrl() + { + $initialUrlValue = 'http://www.phpexcel.net'; + $newUrlValue = 'http://github.com/PHPOffice/PHPExcel'; + + $testInstance = new PHPExcel_Cell_Hyperlink($initialUrlValue); + $result = $testInstance->setUrl($newUrlValue); + $this->assertTrue($result instanceof PHPExcel_Cell_Hyperlink); + + $result = $testInstance->getUrl(); + $this->assertEquals($newUrlValue,$result); + } + + public function testGetTooltip() + { + $tooltipValue = 'PHPExcel Web Site'; + + $testInstance = new PHPExcel_Cell_Hyperlink(NULL, $tooltipValue); + + $result = $testInstance->getTooltip(); + $this->assertEquals($tooltipValue,$result); + } + + public function testSetTooltip() + { + $initialTooltipValue = 'PHPExcel Web Site'; + $newTooltipValue = 'PHPExcel Repository on Github'; + + $testInstance = new PHPExcel_Cell_Hyperlink(NULL, $initialTooltipValue); + $result = $testInstance->setTooltip($newTooltipValue); + $this->assertTrue($result instanceof PHPExcel_Cell_Hyperlink); + + $result = $testInstance->getTooltip(); + $this->assertEquals($newTooltipValue,$result); + } + + public function testIsInternal() + { + $initialUrlValue = 'http://www.phpexcel.net'; + $newUrlValue = 'sheet://Worksheet1!A1'; + + $testInstance = new PHPExcel_Cell_Hyperlink($initialUrlValue); + $result = $testInstance->isInternal(); + $this->assertFalse($result); + + $testInstance->setUrl($newUrlValue); + $result = $testInstance->isInternal(); + $this->assertTrue($result); + } + + public function testGetHashCode() + { + $urlValue = 'http://www.phpexcel.net'; + $tooltipValue = 'PHPExcel Web Site'; + $initialExpectedHash = 'd84d713aed1dbbc8a7c5af183d6c7dbb'; + + $testInstance = new PHPExcel_Cell_Hyperlink($urlValue, $tooltipValue); + + $result = $testInstance->getHashCode(); + $this->assertEquals($initialExpectedHash,$result); + } + +} diff --git a/vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/CellTest.php b/vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/CellTest.php new file mode 100644 index 00000000..11df404c --- /dev/null +++ b/vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/CellTest.php @@ -0,0 +1,295 @@ +<?php + + +require_once 'testDataFileIterator.php'; + +class CellTest extends PHPUnit_Framework_TestCase +{ + + public function setUp() + { + if (!defined('PHPEXCEL_ROOT')) { + define('PHPEXCEL_ROOT', APPLICATION_PATH . '/'); + } + require_once(PHPEXCEL_ROOT . 'PHPExcel/Autoloader.php'); + } + + /** + * @dataProvider providerColumnString + */ + public function testColumnIndexFromString() + { + $args = func_get_args(); + $expectedResult = array_pop($args); + $result = call_user_func_array(array('PHPExcel_Cell','columnIndexFromString'),$args); + $this->assertEquals($expectedResult, $result); + } + + public function providerColumnString() + { + return new testDataFileIterator('rawTestData/ColumnString.data'); + } + + public function testColumnIndexFromStringTooLong() + { + $cellAddress = 'ABCD'; + try { + $result = call_user_func(array('PHPExcel_Cell','columnIndexFromString'),$cellAddress); + } catch (PHPExcel_Exception $e) { + $this->assertEquals($e->getMessage(), 'Column string index can not be longer than 3 characters'); + return; + } + $this->fail('An expected exception has not been raised.'); + } + + public function testColumnIndexFromStringTooShort() + { + $cellAddress = ''; + try { + $result = call_user_func(array('PHPExcel_Cell','columnIndexFromString'),$cellAddress); + } catch (PHPExcel_Exception $e) { + $this->assertEquals($e->getMessage(), 'Column string index can not be empty'); + return; + } + $this->fail('An expected exception has not been raised.'); + } + + /** + * @dataProvider providerColumnIndex + */ + public function testStringFromColumnIndex() + { + $args = func_get_args(); + $expectedResult = array_pop($args); + $result = call_user_func_array(array('PHPExcel_Cell','stringFromColumnIndex'),$args); + $this->assertEquals($expectedResult, $result); + } + + public function providerColumnIndex() + { + return new testDataFileIterator('rawTestData/ColumnIndex.data'); + } + + /** + * @dataProvider providerCoordinates + */ + public function testCoordinateFromString() + { + $args = func_get_args(); + $expectedResult = array_pop($args); + $result = call_user_func_array(array('PHPExcel_Cell','coordinateFromString'),$args); + $this->assertEquals($expectedResult, $result); + } + + public function providerCoordinates() + { + return new testDataFileIterator('rawTestData/CellCoordinates.data'); + } + + public function testCoordinateFromStringWithRangeAddress() + { + $cellAddress = 'A1:AI2012'; + try { + $result = call_user_func(array('PHPExcel_Cell','coordinateFromString'),$cellAddress); + } catch (PHPExcel_Exception $e) { + $this->assertEquals($e->getMessage(), 'Cell coordinate string can not be a range of cells'); + return; + } + $this->fail('An expected exception has not been raised.'); + } + + public function testCoordinateFromStringWithEmptyAddress() + { + $cellAddress = ''; + try { + $result = call_user_func(array('PHPExcel_Cell','coordinateFromString'),$cellAddress); + } catch (PHPExcel_Exception $e) { + $this->assertEquals($e->getMessage(), 'Cell coordinate can not be zero-length string'); + return; + } + $this->fail('An expected exception has not been raised.'); + } + + public function testCoordinateFromStringWithInvalidAddress() + { + $cellAddress = 'AI'; + try { + $result = call_user_func(array('PHPExcel_Cell','coordinateFromString'),$cellAddress); + } catch (PHPExcel_Exception $e) { + $this->assertEquals($e->getMessage(), 'Invalid cell coordinate '.$cellAddress); + return; + } + $this->fail('An expected exception has not been raised.'); + } + + /** + * @dataProvider providerAbsoluteCoordinates + */ + public function testAbsoluteCoordinateFromString() + { + $args = func_get_args(); + $expectedResult = array_pop($args); + $result = call_user_func_array(array('PHPExcel_Cell','absoluteCoordinate'),$args); + $this->assertEquals($expectedResult, $result); + } + + public function providerAbsoluteCoordinates() + { + return new testDataFileIterator('rawTestData/CellAbsoluteCoordinate.data'); + } + + public function testAbsoluteCoordinateFromStringWithRangeAddress() + { + $cellAddress = 'A1:AI2012'; + try { + $result = call_user_func(array('PHPExcel_Cell','absoluteCoordinate'),$cellAddress); + } catch (PHPExcel_Exception $e) { + $this->assertEquals($e->getMessage(), 'Cell coordinate string can not be a range of cells'); + return; + } + $this->fail('An expected exception has not been raised.'); + } + + /** + * @dataProvider providerAbsoluteReferences + */ + public function testAbsoluteReferenceFromString() + { + $args = func_get_args(); + $expectedResult = array_pop($args); + $result = call_user_func_array(array('PHPExcel_Cell','absoluteReference'),$args); + $this->assertEquals($expectedResult, $result); + } + + public function providerAbsoluteReferences() + { + return new testDataFileIterator('rawTestData/CellAbsoluteReference.data'); + } + + public function testAbsoluteReferenceFromStringWithRangeAddress() + { + $cellAddress = 'A1:AI2012'; + try { + $result = call_user_func(array('PHPExcel_Cell','absoluteReference'),$cellAddress); + } catch (PHPExcel_Exception $e) { + $this->assertEquals($e->getMessage(), 'Cell coordinate string can not be a range of cells'); + return; + } + $this->fail('An expected exception has not been raised.'); + } + + /** + * @dataProvider providerSplitRange + */ + public function testSplitRange() + { + $args = func_get_args(); + $expectedResult = array_pop($args); + $result = call_user_func_array(array('PHPExcel_Cell','splitRange'),$args); + foreach($result as $key => $split) { + if (!is_array($expectedResult[$key])) { + $this->assertEquals($expectedResult[$key], $split[0]); + } else { + $this->assertEquals($expectedResult[$key], $split); + } + } + } + + public function providerSplitRange() + { + return new testDataFileIterator('rawTestData/CellSplitRange.data'); + } + + /** + * @dataProvider providerBuildRange + */ + public function testBuildRange() + { + $args = func_get_args(); + $expectedResult = array_pop($args); + $result = call_user_func_array(array('PHPExcel_Cell','buildRange'),$args); + $this->assertEquals($expectedResult, $result); + } + + public function providerBuildRange() + { + return new testDataFileIterator('rawTestData/CellBuildRange.data'); + } + + public function testBuildRangeInvalid() + { + $cellRange = ''; + try { + $result = call_user_func(array('PHPExcel_Cell','buildRange'),$cellRange); + } catch (PHPExcel_Exception $e) { + $this->assertEquals($e->getMessage(), 'Range does not contain any information'); + return; + } + $this->fail('An expected exception has not been raised.'); + } + + /** + * @dataProvider providerRangeBoundaries + */ + public function testRangeBoundaries() + { + $args = func_get_args(); + $expectedResult = array_pop($args); + $result = call_user_func_array(array('PHPExcel_Cell','rangeBoundaries'),$args); + $this->assertEquals($expectedResult, $result); + } + + public function providerRangeBoundaries() + { + return new testDataFileIterator('rawTestData/CellRangeBoundaries.data'); + } + + /** + * @dataProvider providerRangeDimension + */ + public function testRangeDimension() + { + $args = func_get_args(); + $expectedResult = array_pop($args); + $result = call_user_func_array(array('PHPExcel_Cell','rangeDimension'),$args); + $this->assertEquals($expectedResult, $result); + } + + public function providerRangeDimension() + { + return new testDataFileIterator('rawTestData/CellRangeDimension.data'); + } + + /** + * @dataProvider providerGetRangeBoundaries + */ + public function testGetRangeBoundaries() + { + $args = func_get_args(); + $expectedResult = array_pop($args); + $result = call_user_func_array(array('PHPExcel_Cell','getRangeBoundaries'),$args); + $this->assertEquals($expectedResult, $result); + } + + public function providerGetRangeBoundaries() + { + return new testDataFileIterator('rawTestData/CellGetRangeBoundaries.data'); + } + + /** + * @dataProvider providerExtractAllCellReferencesInRange + */ + public function testExtractAllCellReferencesInRange() + { + $args = func_get_args(); + $expectedResult = array_pop($args); + $result = call_user_func_array(array('PHPExcel_Cell','extractAllCellReferencesInRange'),$args); + $this->assertEquals($expectedResult, $result); + } + + public function providerExtractAllCellReferencesInRange() + { + return new testDataFileIterator('rawTestData/CellExtractAllCellReferencesInRange.data'); + } + +} diff --git a/vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Chart/DataSeriesValuesTest.php b/vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Chart/DataSeriesValuesTest.php new file mode 100644 index 00000000..38284de9 --- /dev/null +++ b/vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Chart/DataSeriesValuesTest.php @@ -0,0 +1,55 @@ +<?php + + +class DataSeriesValuesTest extends PHPUnit_Framework_TestCase +{ + + public function setUp() + { + if (!defined('PHPEXCEL_ROOT')) + { + define('PHPEXCEL_ROOT', APPLICATION_PATH . '/'); + } + require_once(PHPEXCEL_ROOT . 'PHPExcel/Autoloader.php'); + } + + public function testSetDataType() + { + $dataTypeValues = array( + 'Number', + 'String' + ); + + $testInstance = new PHPExcel_Chart_DataSeriesValues; + + foreach($dataTypeValues as $dataTypeValue) { + $result = $testInstance->setDataType($dataTypeValue); + $this->assertTrue($result instanceof PHPExcel_Chart_DataSeriesValues); + } + } + + public function testSetInvalidDataTypeThrowsException() + { + $testInstance = new PHPExcel_Chart_DataSeriesValues; + + try { + $result = $testInstance->setDataType('BOOLEAN'); + } catch (Exception $e) { + $this->assertEquals($e->getMessage(), 'Invalid datatype for chart data series values'); + return; + } + $this->fail('An expected exception has not been raised.'); + } + + public function testGetDataType() + { + $dataTypeValue = 'String'; + + $testInstance = new PHPExcel_Chart_DataSeriesValues; + $setValue = $testInstance->setDataType($dataTypeValue); + + $result = $testInstance->getDataType(); + $this->assertEquals($dataTypeValue,$result); + } + +} diff --git a/vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Chart/LayoutTest.php b/vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Chart/LayoutTest.php new file mode 100644 index 00000000..f24e01c3 --- /dev/null +++ b/vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Chart/LayoutTest.php @@ -0,0 +1,37 @@ +<?php + + +class LayoutTest extends PHPUnit_Framework_TestCase +{ + + public function setUp() + { + if (!defined('PHPEXCEL_ROOT')) + { + define('PHPEXCEL_ROOT', APPLICATION_PATH . '/'); + } + require_once(PHPEXCEL_ROOT . 'PHPExcel/Autoloader.php'); + } + + public function testSetLayoutTarget() + { + $LayoutTargetValue = 'String'; + + $testInstance = new PHPExcel_Chart_Layout; + + $result = $testInstance->setLayoutTarget($LayoutTargetValue); + $this->assertTrue($result instanceof PHPExcel_Chart_Layout); + } + + public function testGetLayoutTarget() + { + $LayoutTargetValue = 'String'; + + $testInstance = new PHPExcel_Chart_Layout; + $setValue = $testInstance->setLayoutTarget($LayoutTargetValue); + + $result = $testInstance->getLayoutTarget(); + $this->assertEquals($LayoutTargetValue,$result); + } + +} diff --git a/vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Chart/LegendTest.php b/vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Chart/LegendTest.php new file mode 100644 index 00000000..4c4f8df8 --- /dev/null +++ b/vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Chart/LegendTest.php @@ -0,0 +1,134 @@ +<?php + + +class LegendTest extends PHPUnit_Framework_TestCase +{ + + public function setUp() + { + if (!defined('PHPEXCEL_ROOT')) + { + define('PHPEXCEL_ROOT', APPLICATION_PATH . '/'); + } + require_once(PHPEXCEL_ROOT . 'PHPExcel/Autoloader.php'); + } + + public function testSetPosition() + { + $positionValues = array( + PHPExcel_Chart_Legend::POSITION_RIGHT, + PHPExcel_Chart_Legend::POSITION_LEFT, + PHPExcel_Chart_Legend::POSITION_TOP, + PHPExcel_Chart_Legend::POSITION_BOTTOM, + PHPExcel_Chart_Legend::POSITION_TOPRIGHT, + ); + + $testInstance = new PHPExcel_Chart_Legend; + + foreach($positionValues as $positionValue) { + $result = $testInstance->setPosition($positionValue); + $this->assertTrue($result); + } + } + + public function testSetInvalidPositionReturnsFalse() + { + $testInstance = new PHPExcel_Chart_Legend; + + $result = $testInstance->setPosition('BottomLeft'); + $this->assertFalse($result); + // Ensure that value is unchanged + $result = $testInstance->getPosition(); + $this->assertEquals(PHPExcel_Chart_Legend::POSITION_RIGHT,$result); + } + + public function testGetPosition() + { + $PositionValue = PHPExcel_Chart_Legend::POSITION_BOTTOM; + + $testInstance = new PHPExcel_Chart_Legend; + $setValue = $testInstance->setPosition($PositionValue); + + $result = $testInstance->getPosition(); + $this->assertEquals($PositionValue,$result); + } + + public function testSetPositionXL() + { + $positionValues = array( + PHPExcel_Chart_Legend::xlLegendPositionBottom, + PHPExcel_Chart_Legend::xlLegendPositionCorner, + PHPExcel_Chart_Legend::xlLegendPositionCustom, + PHPExcel_Chart_Legend::xlLegendPositionLeft, + PHPExcel_Chart_Legend::xlLegendPositionRight, + PHPExcel_Chart_Legend::xlLegendPositionTop, + ); + + $testInstance = new PHPExcel_Chart_Legend; + + foreach($positionValues as $positionValue) { + $result = $testInstance->setPositionXL($positionValue); + $this->assertTrue($result); + } + } + + public function testSetInvalidXLPositionReturnsFalse() + { + $testInstance = new PHPExcel_Chart_Legend; + + $result = $testInstance->setPositionXL(999); + $this->assertFalse($result); + // Ensure that value is unchanged + $result = $testInstance->getPositionXL(); + $this->assertEquals(PHPExcel_Chart_Legend::xlLegendPositionRight,$result); + } + + public function testGetPositionXL() + { + $PositionValue = PHPExcel_Chart_Legend::xlLegendPositionCorner; + + $testInstance = new PHPExcel_Chart_Legend; + $setValue = $testInstance->setPositionXL($PositionValue); + + $result = $testInstance->getPositionXL(); + $this->assertEquals($PositionValue,$result); + } + + public function testSetOverlay() + { + $overlayValues = array( + TRUE, + FALSE, + ); + + $testInstance = new PHPExcel_Chart_Legend; + + foreach($overlayValues as $overlayValue) { + $result = $testInstance->setOverlay($overlayValue); + $this->assertTrue($result); + } + } + + public function testSetInvalidOverlayReturnsFalse() + { + $testInstance = new PHPExcel_Chart_Legend; + + $result = $testInstance->setOverlay('INVALID'); + $this->assertFalse($result); + + $result = $testInstance->getOverlay(); + $this->assertFalse($result); + } + + public function testGetOverlay() + { + $OverlayValue = TRUE; + + $testInstance = new PHPExcel_Chart_Legend; + $setValue = $testInstance->setOverlay($OverlayValue); + + $result = $testInstance->getOverlay(); + $this->assertEquals($OverlayValue,$result); + } + +} diff --git a/vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Reader/XEEValidatorTest.php b/vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Reader/XEEValidatorTest.php new file mode 100644 index 00000000..f635dbb8 --- /dev/null +++ b/vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Reader/XEEValidatorTest.php @@ -0,0 +1,55 @@ +<?php + + +class XEEValidatorTest extends PHPUnit_Framework_TestCase +{ + + public function setUp() + { + if (!defined('PHPEXCEL_ROOT')) { + define('PHPEXCEL_ROOT', APPLICATION_PATH . '/'); + } + require_once(PHPEXCEL_ROOT . 'PHPExcel/Autoloader.php'); + } + + /** + * @dataProvider providerInvalidXML + * @expectedException PHPExcel_Reader_Exception + */ + public function testInvalidXML($filename) + { + $reader = $this->getMockForAbstractClass('PHPExcel_Reader_Abstract'); + $expectedResult = 'FAILURE: Should throw an Exception rather than return a value'; + $result = $reader->securityScanFile($filename); + $this->assertEquals($expectedResult, $result); + } + + public function providerInvalidXML() + { + $tests = []; + foreach(glob('rawTestData/Reader/XEETestInvalid*.xml') as $file) { + $tests[] = [realpath($file), true]; + } + return $tests; + } + + /** + * @dataProvider providerValidXML + */ + public function testValidXML($filename, $expectedResult) + { + $reader = $this->getMockForAbstractClass('PHPExcel_Reader_Abstract'); + $result = $reader->securityScanFile($filename); + $this->assertEquals($expectedResult, $result); + } + + public function providerValidXML() + { + $tests = []; + foreach(glob('rawTestData/Reader/XEETestValid*.xml') as $file) { + $tests[] = [realpath($file), file_get_contents($file)]; + } + return $tests; + } + +} diff --git a/vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/ReferenceHelperTest.php b/vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/ReferenceHelperTest.php new file mode 100644 index 00000000..f37db692 --- /dev/null +++ b/vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/ReferenceHelperTest.php @@ -0,0 +1,58 @@ +<?php + + +class ReferenceHelperTest extends PHPUnit_Framework_TestCase +{ + + public function setUp() + { + if (!defined('PHPEXCEL_ROOT')) { + define('PHPEXCEL_ROOT', APPLICATION_PATH . '/'); + } + require_once(PHPEXCEL_ROOT . 'PHPExcel/Autoloader.php'); + } + + public function testColumnSort() + { + $columnBase = $columnExpectedResult = array( + 'A','B','Z', + 'AA','AB','AZ', + 'BA','BB','BZ', + 'ZA','ZB','ZZ', + 'AAA','AAB','AAZ', + 'ABA','ABB','ABZ', + 'AZA','AZB','AZZ', + 'BAA','BAB','BAZ', + 'BBA','BBB','BBZ', + 'BZA','BZB','BZZ' + ); + shuffle($columnBase); + usort($columnBase, array('PHPExcel_ReferenceHelper','columnSort')); + foreach($columnBase as $key => $value) { + $this->assertEquals($columnExpectedResult[$key], $value); + } + } + + public function testColumnReverseSort() + { + $columnBase = $columnExpectedResult = array( + 'A','B','Z', + 'AA','AB','AZ', + 'BA','BB','BZ', + 'ZA','ZB','ZZ', + 'AAA','AAB','AAZ', + 'ABA','ABB','ABZ', + 'AZA','AZB','AZZ', + 'BAA','BAB','BAZ', + 'BBA','BBB','BBZ', + 'BZA','BZB','BZZ' + ); + shuffle($columnBase); + $columnExpectedResult = array_reverse($columnExpectedResult); + usort($columnBase, array('PHPExcel_ReferenceHelper','columnReverseSort')); + foreach($columnBase as $key => $value) { + $this->assertEquals($columnExpectedResult[$key], $value); + } + } + +} diff --git a/vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Shared/CodePageTest.php b/vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Shared/CodePageTest.php new file mode 100644 index 00000000..ae4aeecc --- /dev/null +++ b/vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Shared/CodePageTest.php @@ -0,0 +1,57 @@ +<?php + + +require_once 'testDataFileIterator.php'; + +class CodePageTest extends PHPUnit_Framework_TestCase +{ + + public function setUp() + { + if (!defined('PHPEXCEL_ROOT')) { + define('PHPEXCEL_ROOT', APPLICATION_PATH . '/'); + } + require_once(PHPEXCEL_ROOT . 'PHPExcel/Autoloader.php'); + } + + /** + * @dataProvider providerCodePage + */ + public function testCodePageNumberToName() + { + $args = func_get_args(); + $expectedResult = array_pop($args); + $result = call_user_func_array(array('PHPExcel_Shared_CodePage','NumberToName'),$args); + $this->assertEquals($expectedResult, $result); + } + + public function providerCodePage() + { + return new testDataFileIterator('rawTestData/Shared/CodePage.data'); + } + + public function testNumberToNameWithInvalidCodePage() + { + $invalidCodePage = 12345; + try { + $result = call_user_func(array('PHPExcel_Shared_CodePage','NumberToName'),$invalidCodePage); + } catch (Exception $e) { + $this->assertEquals($e->getMessage(), 'Unknown codepage: 12345'); + return; + } + $this->fail('An expected exception has not been raised.'); + } + + public function testNumberToNameWithUnsupportedCodePage() + { + $unsupportedCodePage = 720; + try { + $result = call_user_func(array('PHPExcel_Shared_CodePage','NumberToName'),$unsupportedCodePage); + } catch (Exception $e) { + $this->assertEquals($e->getMessage(), 'Code page 720 not supported.'); + return; + } + $this->fail('An expected exception has not been raised.'); + } + +} diff --git a/vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Shared/DateTest.php b/vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Shared/DateTest.php new file mode 100644 index 00000000..80b77d3c --- /dev/null +++ b/vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Shared/DateTest.php @@ -0,0 +1,188 @@ +<?php + + +require_once 'testDataFileIterator.php'; + +class DateTest extends PHPUnit_Framework_TestCase +{ + + public function setUp() + { + if (!defined('PHPEXCEL_ROOT')) { + define('PHPEXCEL_ROOT', APPLICATION_PATH . '/'); + } + require_once(PHPEXCEL_ROOT . 'PHPExcel/Autoloader.php'); + } + + public function testSetExcelCalendar() + { + $calendarValues = array( + PHPExcel_Shared_Date::CALENDAR_MAC_1904, + PHPExcel_Shared_Date::CALENDAR_WINDOWS_1900, + ); + + foreach($calendarValues as $calendarValue) { + $result = call_user_func(array('PHPExcel_Shared_Date','setExcelCalendar'),$calendarValue); + $this->assertTrue($result); + } + } + + public function testSetExcelCalendarWithInvalidValue() + { + $unsupportedCalendar = '2012'; + $result = call_user_func(array('PHPExcel_Shared_Date','setExcelCalendar'),$unsupportedCalendar); + $this->assertFalse($result); + } + + /** + * @dataProvider providerDateTimeExcelToPHP1900 + */ + public function testDateTimeExcelToPHP1900() + { + $result = call_user_func( + array('PHPExcel_Shared_Date','setExcelCalendar'), + PHPExcel_Shared_Date::CALENDAR_WINDOWS_1900 + ); + + $args = func_get_args(); + $expectedResult = array_pop($args); + if ($args[0] < 1) { + $expectedResult += gmmktime(0,0,0); + } + $result = call_user_func_array(array('PHPExcel_Shared_Date','ExcelToPHP'),$args); + $this->assertEquals($expectedResult, $result); + } + + public function providerDateTimeExcelToPHP1900() + { + return new testDataFileIterator('rawTestData/Shared/DateTimeExcelToPHP1900.data'); + } + + /** + * @dataProvider providerDateTimePHPToExcel1900 + */ + public function testDateTimePHPToExcel1900() + { + $result = call_user_func( + array('PHPExcel_Shared_Date','setExcelCalendar'), + PHPExcel_Shared_Date::CALENDAR_WINDOWS_1900 + ); + + $args = func_get_args(); + $expectedResult = array_pop($args); + $result = call_user_func_array(array('PHPExcel_Shared_Date','PHPToExcel'),$args); + $this->assertEquals($expectedResult, $result, NULL, 1E-5); + } + + public function providerDateTimePHPToExcel1900() + { + return new testDataFileIterator('rawTestData/Shared/DateTimePHPToExcel1900.data'); + } + + /** + * @dataProvider providerDateTimeFormattedPHPToExcel1900 + */ + public function testDateTimeFormattedPHPToExcel1900() + { + $result = call_user_func( + array('PHPExcel_Shared_Date','setExcelCalendar'), + PHPExcel_Shared_Date::CALENDAR_WINDOWS_1900 + ); + + $args = func_get_args(); + $expectedResult = array_pop($args); + $result = call_user_func_array(array('PHPExcel_Shared_Date','FormattedPHPToExcel'),$args); + $this->assertEquals($expectedResult, $result, NULL, 1E-5); + } + + public function providerDateTimeFormattedPHPToExcel1900() + { + return new testDataFileIterator('rawTestData/Shared/DateTimeFormattedPHPToExcel1900.data'); + } + + /** + * @dataProvider providerDateTimeExcelToPHP1904 + */ + public function testDateTimeExcelToPHP1904() + { + $result = call_user_func( + array('PHPExcel_Shared_Date','setExcelCalendar'), + PHPExcel_Shared_Date::CALENDAR_MAC_1904 + ); + + $args = func_get_args(); + $expectedResult = array_pop($args); + if ($args[0] < 1) { + $expectedResult += gmmktime(0,0,0); + } + $result = call_user_func_array(array('PHPExcel_Shared_Date','ExcelToPHP'),$args); + $this->assertEquals($expectedResult, $result); + } + + public function providerDateTimeExcelToPHP1904() + { + return new testDataFileIterator('rawTestData/Shared/DateTimeExcelToPHP1904.data'); + } + + /** + * @dataProvider providerDateTimePHPToExcel1904 + */ + public function testDateTimePHPToExcel1904() + { + $result = call_user_func( + array('PHPExcel_Shared_Date','setExcelCalendar'), + PHPExcel_Shared_Date::CALENDAR_MAC_1904 + ); + + $args = func_get_args(); + $expectedResult = array_pop($args); + $result = call_user_func_array(array('PHPExcel_Shared_Date','PHPToExcel'),$args); + $this->assertEquals($expectedResult, $result, NULL, 1E-5); + } + + public function providerDateTimePHPToExcel1904() + { + return new testDataFileIterator('rawTestData/Shared/DateTimePHPToExcel1904.data'); + } + + /** + * @dataProvider providerIsDateTimeFormatCode + */ + public function testIsDateTimeFormatCode() + { + $args = func_get_args(); + $expectedResult = array_pop($args); + $result = call_user_func_array(array('PHPExcel_Shared_Date','isDateTimeFormatCode'),$args); + $this->assertEquals($expectedResult, $result); + } + + public function providerIsDateTimeFormatCode() + { + return new testDataFileIterator('rawTestData/Shared/DateTimeFormatCodes.data'); + } + + /** + * @dataProvider providerDateTimeExcelToPHP1900Timezone + */ + public function testDateTimeExcelToPHP1900Timezone() + { + $result = call_user_func( + array('PHPExcel_Shared_Date','setExcelCalendar'), + PHPExcel_Shared_Date::CALENDAR_WINDOWS_1900 + ); + + $args = func_get_args(); + $expectedResult = array_pop($args); + if ($args[0] < 1) { + $expectedResult += gmmktime(0,0,0); + } + $result = call_user_func_array(array('PHPExcel_Shared_Date','ExcelToPHP'),$args); + $this->assertEquals($expectedResult, $result); + } + + public function providerDateTimeExcelToPHP1900Timezone() + { + return new testDataFileIterator('rawTestData/Shared/DateTimeExcelToPHP1900Timezone.data'); + } + +} diff --git a/vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Shared/FileTest.php b/vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Shared/FileTest.php new file mode 100644 index 00000000..9deb401d --- /dev/null +++ b/vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Shared/FileTest.php @@ -0,0 +1,39 @@ +<?php + + +require_once 'testDataFileIterator.php'; + +class FileTest extends PHPUnit_Framework_TestCase +{ + + public function setUp() + { + if (!defined('PHPEXCEL_ROOT')) { + define('PHPEXCEL_ROOT', APPLICATION_PATH . '/'); + } + require_once(PHPEXCEL_ROOT . 'PHPExcel/Autoloader.php'); + } + + public function testGetUseUploadTempDirectory() + { + $expectedResult = FALSE; + + $result = call_user_func(array('PHPExcel_Shared_File','getUseUploadTempDirectory')); + $this->assertEquals($expectedResult, $result); + } + + public function testSetUseUploadTempDirectory() + { + $useUploadTempDirectoryValues = array( + TRUE, + FALSE, + ); + + foreach($useUploadTempDirectoryValues as $useUploadTempDirectoryValue) { + call_user_func(array('PHPExcel_Shared_File','setUseUploadTempDirectory'),$useUploadTempDirectoryValue); + + $result = call_user_func(array('PHPExcel_Shared_File','getUseUploadTempDirectory')); + $this->assertEquals($useUploadTempDirectoryValue, $result); + } + } +} diff --git a/vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Shared/FontTest.php b/vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Shared/FontTest.php new file mode 100644 index 00000000..6ce5a026 --- /dev/null +++ b/vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Shared/FontTest.php @@ -0,0 +1,94 @@ +<?php + + +require_once 'testDataFileIterator.php'; + +class FontTest extends PHPUnit_Framework_TestCase +{ + + public function setUp() + { + if (!defined('PHPEXCEL_ROOT')) { + define('PHPEXCEL_ROOT', APPLICATION_PATH . '/'); + } + require_once(PHPEXCEL_ROOT . 'PHPExcel/Autoloader.php'); + } + + public function testGetAutoSizeMethod() + { + $expectedResult = PHPExcel_Shared_Font::AUTOSIZE_METHOD_APPROX; + + $result = call_user_func(array('PHPExcel_Shared_Font','getAutoSizeMethod')); + $this->assertEquals($expectedResult, $result); + } + + public function testSetAutoSizeMethod() + { + $autosizeMethodValues = array( + PHPExcel_Shared_Font::AUTOSIZE_METHOD_EXACT, + PHPExcel_Shared_Font::AUTOSIZE_METHOD_APPROX, + ); + + foreach($autosizeMethodValues as $autosizeMethodValue) { + $result = call_user_func(array('PHPExcel_Shared_Font','setAutoSizeMethod'),$autosizeMethodValue); + $this->assertTrue($result); + } + } + + public function testSetAutoSizeMethodWithInvalidValue() + { + $unsupportedAutosizeMethod = 'guess'; + + $result = call_user_func(array('PHPExcel_Shared_Font','setAutoSizeMethod'),$unsupportedAutosizeMethod); + $this->assertFalse($result); + } + + /** + * @dataProvider providerFontSizeToPixels + */ + public function testFontSizeToPixels() + { + $args = func_get_args(); + $expectedResult = array_pop($args); + $result = call_user_func_array(array('PHPExcel_Shared_Font','fontSizeToPixels'),$args); + $this->assertEquals($expectedResult, $result); + } + + public function providerFontSizeToPixels() + { + return new testDataFileIterator('rawTestData/Shared/FontSizeToPixels.data'); + } + + /** + * @dataProvider providerInchSizeToPixels + */ + public function testInchSizeToPixels() + { + $args = func_get_args(); + $expectedResult = array_pop($args); + $result = call_user_func_array(array('PHPExcel_Shared_Font','inchSizeToPixels'),$args); + $this->assertEquals($expectedResult, $result); + } + + public function providerInchSizeToPixels() + { + return new testDataFileIterator('rawTestData/Shared/InchSizeToPixels.data'); + } + + /** + * @dataProvider providerCentimeterSizeToPixels + */ + public function testCentimeterSizeToPixels() + { + $args = func_get_args(); + $expectedResult = array_pop($args); + $result = call_user_func_array(array('PHPExcel_Shared_Font','centimeterSizeToPixels'),$args); + $this->assertEquals($expectedResult, $result); + } + + public function providerCentimeterSizeToPixels() + { + return new testDataFileIterator('rawTestData/Shared/CentimeterSizeToPixels.data'); + } + +} diff --git a/vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Shared/PasswordHasherTest.php b/vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Shared/PasswordHasherTest.php new file mode 100644 index 00000000..24a26178 --- /dev/null +++ b/vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Shared/PasswordHasherTest.php @@ -0,0 +1,33 @@ +<?php + + +require_once 'testDataFileIterator.php'; + +class PasswordHasherTest extends PHPUnit_Framework_TestCase +{ + + public function setUp() + { + if (!defined('PHPEXCEL_ROOT')) { + define('PHPEXCEL_ROOT', APPLICATION_PATH . '/'); + } + require_once(PHPEXCEL_ROOT . 'PHPExcel/Autoloader.php'); + } + + /** + * @dataProvider providerHashPassword + */ + public function testHashPassword() + { + $args = func_get_args(); + $expectedResult = array_pop($args); + $result = call_user_func_array(array('PHPExcel_Shared_PasswordHasher','hashPassword'),$args); + $this->assertEquals($expectedResult, $result); + } + + public function providerHashPassword() + { + return new testDataFileIterator('rawTestData/Shared/PasswordHashes.data'); + } + +} diff --git a/vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Shared/StringTest.php b/vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Shared/StringTest.php new file mode 100644 index 00000000..9a34729d --- /dev/null +++ b/vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Shared/StringTest.php @@ -0,0 +1,83 @@ +<?php + + +require_once 'testDataFileIterator.php'; + +class StringTest extends PHPUnit_Framework_TestCase +{ + + public function setUp() + { + if (!defined('PHPEXCEL_ROOT')) { + define('PHPEXCEL_ROOT', APPLICATION_PATH . '/'); + } + require_once(PHPEXCEL_ROOT . 'PHPExcel/Autoloader.php'); + } + + public function testGetIsMbStringEnabled() + { + $result = call_user_func(array('PHPExcel_Shared_String','getIsMbstringEnabled')); + $this->assertTrue($result); + } + + public function testGetIsIconvEnabled() + { + $result = call_user_func(array('PHPExcel_Shared_String','getIsIconvEnabled')); + $this->assertTrue($result); + } + + public function testGetDecimalSeparator() + { + $localeconv = localeconv(); + + $expectedResult = (!empty($localeconv['decimal_point'])) ? $localeconv['decimal_point'] : ','; + $result = call_user_func(array('PHPExcel_Shared_String','getDecimalSeparator')); + $this->assertEquals($expectedResult, $result); + } + + public function testSetDecimalSeparator() + { + $expectedResult = ','; + $result = call_user_func(array('PHPExcel_Shared_String','setDecimalSeparator'),$expectedResult); + + $result = call_user_func(array('PHPExcel_Shared_String','getDecimalSeparator')); + $this->assertEquals($expectedResult, $result); + } + + public function testGetThousandsSeparator() + { + $localeconv = localeconv(); + + $expectedResult = (!empty($localeconv['thousands_sep'])) ? $localeconv['thousands_sep'] : ','; + $result = call_user_func(array('PHPExcel_Shared_String','getThousandsSeparator')); + $this->assertEquals($expectedResult, $result); + } + + public function testSetThousandsSeparator() + { + $expectedResult = ' '; + $result = call_user_func(array('PHPExcel_Shared_String','setThousandsSeparator'),$expectedResult); + + $result = call_user_func(array('PHPExcel_Shared_String','getThousandsSeparator')); + $this->assertEquals($expectedResult, $result); + } + + public function testGetCurrencyCode() + { + $localeconv = localeconv(); + + $expectedResult = (!empty($localeconv['currency_symbol'])) ? $localeconv['currency_symbol'] : '$'; + $result = call_user_func(array('PHPExcel_Shared_String','getCurrencyCode')); + $this->assertEquals($expectedResult, $result); + } + + public function testSetCurrencyCode() + { + $expectedResult = '£'; + $result = call_user_func(array('PHPExcel_Shared_String','setCurrencyCode'),$expectedResult); + + $result = call_user_func(array('PHPExcel_Shared_String','getCurrencyCode')); + $this->assertEquals($expectedResult, $result); + } + +} diff --git a/vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Shared/TimeZoneTest.php b/vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Shared/TimeZoneTest.php new file mode 100644 index 00000000..0e44ceb6 --- /dev/null +++ b/vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Shared/TimeZoneTest.php @@ -0,0 +1,39 @@ +<?php + + +class TimeZoneTest extends PHPUnit_Framework_TestCase +{ + + public function setUp() + { + if (!defined('PHPEXCEL_ROOT')) { + define('PHPEXCEL_ROOT', APPLICATION_PATH . '/'); + } + require_once(PHPEXCEL_ROOT . 'PHPExcel/Autoloader.php'); + } + + public function testSetTimezone() + { + $timezoneValues = array( + 'Europe/Prague', + 'Asia/Tokyo', + 'America/Indiana/Indianapolis', + 'Pacific/Honolulu', + 'Atlantic/St_Helena', + ); + + foreach($timezoneValues as $timezoneValue) { + $result = call_user_func(array('PHPExcel_Shared_TimeZone','setTimezone'),$timezoneValue); + $this->assertTrue($result); + } + + } + + public function testSetTimezoneWithInvalidValue() + { + $unsupportedTimezone = 'Etc/GMT+10'; + $result = call_user_func(array('PHPExcel_Shared_TimeZone','setTimezone'),$unsupportedTimezone); + $this->assertFalse($result); + } + +} diff --git a/vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Style/ColorTest.php b/vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Style/ColorTest.php new file mode 100644 index 00000000..f157b1a3 --- /dev/null +++ b/vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Style/ColorTest.php @@ -0,0 +1,81 @@ +<?php + + +require_once 'testDataFileIterator.php'; + +class ColorTest extends PHPUnit_Framework_TestCase +{ + + public function setUp() + { + if (!defined('PHPEXCEL_ROOT')) { + define('PHPEXCEL_ROOT', APPLICATION_PATH . '/'); + } + require_once(PHPEXCEL_ROOT . 'PHPExcel/Autoloader.php'); + } + + /** + * @dataProvider providerColorGetRed + */ + public function testGetRed() + { + $args = func_get_args(); + $expectedResult = array_pop($args); + $result = call_user_func_array(array('PHPExcel_Style_Color','getRed'),$args); + $this->assertEquals($expectedResult, $result); + } + + public function providerColorGetRed() + { + return new testDataFileIterator('rawTestData/Style/ColorGetRed.data'); + } + + /** + * @dataProvider providerColorGetGreen + */ + public function testGetGreen() + { + $args = func_get_args(); + $expectedResult = array_pop($args); + $result = call_user_func_array(array('PHPExcel_Style_Color','getGreen'),$args); + $this->assertEquals($expectedResult, $result); + } + + public function providerColorGetGreen() + { + return new testDataFileIterator('rawTestData/Style/ColorGetGreen.data'); + } + + /** + * @dataProvider providerColorGetBlue + */ + public function testGetBlue() + { + $args = func_get_args(); + $expectedResult = array_pop($args); + $result = call_user_func_array(array('PHPExcel_Style_Color','getBlue'),$args); + $this->assertEquals($expectedResult, $result); + } + + public function providerColorGetBlue() + { + return new testDataFileIterator('rawTestData/Style/ColorGetBlue.data'); + } + + /** + * @dataProvider providerColorChangeBrightness + */ + public function testChangeBrightness() + { + $args = func_get_args(); + $expectedResult = array_pop($args); + $result = call_user_func_array(array('PHPExcel_Style_Color','changeBrightness'),$args); + $this->assertEquals($expectedResult, $result); + } + + public function providerColorChangeBrightness() + { + return new testDataFileIterator('rawTestData/Style/ColorChangeBrightness.data'); + } + +} diff --git a/vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Style/NumberFormatTest.php b/vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Style/NumberFormatTest.php new file mode 100644 index 00000000..13fc3ede --- /dev/null +++ b/vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Style/NumberFormatTest.php @@ -0,0 +1,36 @@ +<?php + + +require_once 'testDataFileIterator.php'; + +class NumberFormatTest extends PHPUnit_Framework_TestCase +{ + + public function setUp() + { + if (!defined('PHPEXCEL_ROOT')) { + define('PHPEXCEL_ROOT', APPLICATION_PATH . '/'); + } + require_once(PHPEXCEL_ROOT . 'PHPExcel/Autoloader.php'); + + PHPExcel_Shared_String::setDecimalSeparator('.'); + PHPExcel_Shared_String::setThousandsSeparator(','); + } + + /** + * @dataProvider providerNumberFormat + */ + public function testFormatValueWithMask() + { + $args = func_get_args(); + $expectedResult = array_pop($args); + $result = call_user_func_array(array('PHPExcel_Style_NumberFormat','toFormattedString'),$args); + $this->assertEquals($expectedResult, $result); + } + + public function providerNumberFormat() + { + return new testDataFileIterator('rawTestData/Style/NumberFormat.data'); + } + +} diff --git a/vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Worksheet/AutoFilter/Column/RuleTest.php b/vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Worksheet/AutoFilter/Column/RuleTest.php new file mode 100644 index 00000000..65d0a85c --- /dev/null +++ b/vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Worksheet/AutoFilter/Column/RuleTest.php @@ -0,0 +1,109 @@ +<?php + + +class RuleTest extends PHPUnit_Framework_TestCase +{ + private $_testAutoFilterRuleObject; + + private $_mockAutoFilterColumnObject; + + public function setUp() + { + if (!defined('PHPEXCEL_ROOT')) { + define('PHPEXCEL_ROOT', APPLICATION_PATH . '/'); + } + require_once(PHPEXCEL_ROOT . 'PHPExcel/Autoloader.php'); + + $this->_mockAutoFilterColumnObject = $this->getMockBuilder('PHPExcel_Worksheet_AutoFilter_Column') + ->disableOriginalConstructor() + ->getMock(); + + $this->_mockAutoFilterColumnObject->expects($this->any()) + ->method('testColumnInRange') + ->will($this->returnValue(3)); + + $this->_testAutoFilterRuleObject = new PHPExcel_Worksheet_AutoFilter_Column_Rule( + $this->_mockAutoFilterColumnObject + ); + } + + public function testGetRuleType() + { + $result = $this->_testAutoFilterRuleObject->getRuleType(); + $this->assertEquals(PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_RULETYPE_FILTER, $result); + } + + public function testSetRuleType() + { + $expectedResult = PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_RULETYPE_DATEGROUP; + + // Setters return the instance to implement the fluent interface + $result = $this->_testAutoFilterRuleObject->setRuleType($expectedResult); + $this->assertInstanceOf('PHPExcel_Worksheet_AutoFilter_Column_Rule', $result); + + $result = $this->_testAutoFilterRuleObject->getRuleType(); + $this->assertEquals($expectedResult, $result); + } + + public function testSetValue() + { + $expectedResult = 100; + + // Setters return the instance to implement the fluent interface + $result = $this->_testAutoFilterRuleObject->setValue($expectedResult); + $this->assertInstanceOf('PHPExcel_Worksheet_AutoFilter_Column_Rule', $result); + + $result = $this->_testAutoFilterRuleObject->getValue(); + $this->assertEquals($expectedResult, $result); + } + + public function testGetOperator() + { + $result = $this->_testAutoFilterRuleObject->getOperator(); + $this->assertEquals(PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_COLUMN_RULE_EQUAL, $result); + } + + public function testSetOperator() + { + $expectedResult = PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_COLUMN_RULE_LESSTHAN; + + // Setters return the instance to implement the fluent interface + $result = $this->_testAutoFilterRuleObject->setOperator($expectedResult); + $this->assertInstanceOf('PHPExcel_Worksheet_AutoFilter_Column_Rule', $result); + + $result = $this->_testAutoFilterRuleObject->getOperator(); + $this->assertEquals($expectedResult, $result); + } + + public function testSetGrouping() + { + $expectedResult = PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_RULETYPE_DATEGROUP_MONTH; + + // Setters return the instance to implement the fluent interface + $result = $this->_testAutoFilterRuleObject->setGrouping($expectedResult); + $this->assertInstanceOf('PHPExcel_Worksheet_AutoFilter_Column_Rule', $result); + + $result = $this->_testAutoFilterRuleObject->getGrouping(); + $this->assertEquals($expectedResult, $result); + } + + public function testGetParent() + { + $result = $this->_testAutoFilterRuleObject->getParent(); + $this->assertInstanceOf('PHPExcel_Worksheet_AutoFilter_Column', $result); + } + + public function testSetParent() + { + // Setters return the instance to implement the fluent interface + $result = $this->_testAutoFilterRuleObject->setParent($this->_mockAutoFilterColumnObject); + $this->assertInstanceOf('PHPExcel_Worksheet_AutoFilter_Column_Rule', $result); + } + + public function testClone() + { + $result = clone $this->_testAutoFilterRuleObject; + $this->assertInstanceOf('PHPExcel_Worksheet_AutoFilter_Column_Rule', $result); + } + +} diff --git a/vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Worksheet/AutoFilter/ColumnTest.php b/vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Worksheet/AutoFilter/ColumnTest.php new file mode 100644 index 00000000..3c1821ba --- /dev/null +++ b/vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Worksheet/AutoFilter/ColumnTest.php @@ -0,0 +1,173 @@ +<?php + + +class AutofilterColumnTest extends PHPUnit_Framework_TestCase +{ + private $_testInitialColumn = 'H'; + + private $_testAutoFilterColumnObject; + + private $_mockAutoFilterObject; + + public function setUp() + { + if (!defined('PHPEXCEL_ROOT')) { + define('PHPEXCEL_ROOT', APPLICATION_PATH . '/'); + } + require_once(PHPEXCEL_ROOT . 'PHPExcel/Autoloader.php'); + + $this->_mockAutoFilterObject = $this->getMockBuilder('PHPExcel_Worksheet_AutoFilter') + ->disableOriginalConstructor() + ->getMock(); + + $this->_mockAutoFilterObject->expects($this->any()) + ->method('testColumnInRange') + ->will($this->returnValue(3)); + + $this->_testAutoFilterColumnObject = new PHPExcel_Worksheet_AutoFilter_Column( + $this->_testInitialColumn, + $this->_mockAutoFilterObject + ); + } + + public function testGetColumnIndex() + { + $result = $this->_testAutoFilterColumnObject->getColumnIndex(); + $this->assertEquals($this->_testInitialColumn, $result); + } + + public function testSetColumnIndex() + { + $expectedResult = 'L'; + + // Setters return the instance to implement the fluent interface + $result = $this->_testAutoFilterColumnObject->setColumnIndex($expectedResult); + $this->assertInstanceOf('PHPExcel_Worksheet_AutoFilter_Column', $result); + + $result = $this->_testAutoFilterColumnObject->getColumnIndex(); + $this->assertEquals($expectedResult, $result); + } + + public function testGetParent() + { + $result = $this->_testAutoFilterColumnObject->getParent(); + $this->assertInstanceOf('PHPExcel_Worksheet_AutoFilter', $result); + } + + public function testSetParent() + { + // Setters return the instance to implement the fluent interface + $result = $this->_testAutoFilterColumnObject->setParent($this->_mockAutoFilterObject); + $this->assertInstanceOf('PHPExcel_Worksheet_AutoFilter_Column', $result); + } + + public function testGetFilterType() + { + $result = $this->_testAutoFilterColumnObject->getFilterType(); + $this->assertEquals(PHPExcel_Worksheet_AutoFilter_Column::AUTOFILTER_FILTERTYPE_FILTER, $result); + } + + public function testSetFilterType() + { + $result = $this->_testAutoFilterColumnObject->setFilterType(PHPExcel_Worksheet_AutoFilter_Column::AUTOFILTER_FILTERTYPE_DYNAMICFILTER); + $this->assertInstanceOf('PHPExcel_Worksheet_AutoFilter_Column', $result); + + $result = $this->_testAutoFilterColumnObject->getFilterType(); + $this->assertEquals(PHPExcel_Worksheet_AutoFilter_Column::AUTOFILTER_FILTERTYPE_DYNAMICFILTER, $result); + } + + /** + * @expectedException PHPExcel_Exception + */ + public function testSetInvalidFilterTypeThrowsException() + { + $expectedResult = 'Unfiltered'; + + $result = $this->_testAutoFilterColumnObject->setFilterType($expectedResult); + } + + public function testGetJoin() + { + $result = $this->_testAutoFilterColumnObject->getJoin(); + $this->assertEquals(PHPExcel_Worksheet_AutoFilter_Column::AUTOFILTER_COLUMN_JOIN_OR, $result); + } + + public function testSetJoin() + { + $result = $this->_testAutoFilterColumnObject->setJoin(PHPExcel_Worksheet_AutoFilter_Column::AUTOFILTER_COLUMN_JOIN_AND); + $this->assertInstanceOf('PHPExcel_Worksheet_AutoFilter_Column', $result); + + $result = $this->_testAutoFilterColumnObject->getJoin(); + $this->assertEquals(PHPExcel_Worksheet_AutoFilter_Column::AUTOFILTER_COLUMN_JOIN_AND, $result); + } + + /** + * @expectedException PHPExcel_Exception + */ + public function testSetInvalidJoinThrowsException() + { + $expectedResult = 'Neither'; + + $result = $this->_testAutoFilterColumnObject->setJoin($expectedResult); + } + + public function testSetAttributes() + { + $attributeSet = array( 'val' => 100, + 'maxVal' => 200 + ); + + // Setters return the instance to implement the fluent interface + $result = $this->_testAutoFilterColumnObject->setAttributes($attributeSet); + $this->assertInstanceOf('PHPExcel_Worksheet_AutoFilter_Column', $result); + } + + public function testGetAttributes() + { + $attributeSet = array( 'val' => 100, + 'maxVal' => 200 + ); + + $this->_testAutoFilterColumnObject->setAttributes($attributeSet); + + $result = $this->_testAutoFilterColumnObject->getAttributes(); + $this->assertTrue(is_array($result)); + $this->assertEquals(count($attributeSet), count($result)); + } + + public function testSetAttribute() + { + $attributeSet = array( 'val' => 100, + 'maxVal' => 200 + ); + + foreach($attributeSet as $attributeName => $attributeValue) { + // Setters return the instance to implement the fluent interface + $result = $this->_testAutoFilterColumnObject->setAttribute($attributeName,$attributeValue); + $this->assertInstanceOf('PHPExcel_Worksheet_AutoFilter_Column', $result); + } + } + + public function testGetAttribute() + { + $attributeSet = array( 'val' => 100, + 'maxVal' => 200 + ); + + $this->_testAutoFilterColumnObject->setAttributes($attributeSet); + + foreach($attributeSet as $attributeName => $attributeValue) { + $result = $this->_testAutoFilterColumnObject->getAttribute($attributeName); + $this->assertEquals($attributeValue, $result); + } + $result = $this->_testAutoFilterColumnObject->getAttribute('nonExistentAttribute'); + $this->assertNull($result); + } + + public function testClone() + { + $result = clone $this->_testAutoFilterColumnObject; + $this->assertInstanceOf('PHPExcel_Worksheet_AutoFilter_Column', $result); + } + +} diff --git a/vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Worksheet/AutoFilterTest.php b/vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Worksheet/AutoFilterTest.php new file mode 100644 index 00000000..9907eabc --- /dev/null +++ b/vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Worksheet/AutoFilterTest.php @@ -0,0 +1,340 @@ +<?php + + +class AutoFilterTest extends PHPUnit_Framework_TestCase +{ + private $_testInitialRange = 'H2:O256'; + + private $_testAutoFilterObject; + + + public function setUp() + { + if (!defined('PHPEXCEL_ROOT')) { + define('PHPEXCEL_ROOT', APPLICATION_PATH . '/'); + } + require_once(PHPEXCEL_ROOT . 'PHPExcel/Autoloader.php'); + + $this->_mockWorksheetObject = $this->getMockBuilder('PHPExcel_Worksheet') + ->disableOriginalConstructor() + ->getMock(); + $this->_mockCacheController = $this->getMockBuilder('PHPExcel_CachedObjectStorage_Memory') + ->disableOriginalConstructor() + ->getMock(); + $this->_mockWorksheetObject->expects($this->any()) + ->method('getCellCacheController') + ->will($this->returnValue($this->_mockCacheController)); + + $this->_testAutoFilterObject = new PHPExcel_Worksheet_AutoFilter( + $this->_testInitialRange, + $this->_mockWorksheetObject + ); + } + + public function testToString() + { + $expectedResult = $this->_testInitialRange; + + // magic __toString should return the active autofilter range + $result = $this->_testAutoFilterObject; + $this->assertEquals($expectedResult, $result); + } + + public function testGetParent() + { + $result = $this->_testAutoFilterObject->getParent(); + $this->assertInstanceOf('PHPExcel_Worksheet', $result); + } + + public function testSetParent() + { + // Setters return the instance to implement the fluent interface + $result = $this->_testAutoFilterObject->setParent($this->_mockWorksheetObject); + $this->assertInstanceOf('PHPExcel_Worksheet_AutoFilter', $result); + } + + public function testGetRange() + { + $expectedResult = $this->_testInitialRange; + + // Result should be the active autofilter range + $result = $this->_testAutoFilterObject->getRange(); + $this->assertEquals($expectedResult, $result); + } + + public function testSetRange() + { + $ranges = array('G1:J512' => 'Worksheet1!G1:J512', + 'K1:N20' => 'K1:N20' + ); + + foreach($ranges as $actualRange => $fullRange) { + // Setters return the instance to implement the fluent interface + $result = $this->_testAutoFilterObject->setRange($fullRange); + $this->assertInstanceOf('PHPExcel_Worksheet_AutoFilter', $result); + + // Result should be the new autofilter range + $result = $this->_testAutoFilterObject->getRange(); + $this->assertEquals($actualRange, $result); + } + } + + public function testClearRange() + { + $expectedResult = ''; + + // Setters return the instance to implement the fluent interface + $result = $this->_testAutoFilterObject->setRange(); + $this->assertInstanceOf('PHPExcel_Worksheet_AutoFilter', $result); + + // Result should be a clear range + $result = $this->_testAutoFilterObject->getRange(); + $this->assertEquals($expectedResult, $result); + } + + /** + * @expectedException PHPExcel_Exception + */ + public function testSetRangeInvalidRange() + { + $expectedResult = 'A1'; + + $result = $this->_testAutoFilterObject->setRange($expectedResult); + } + + public function testGetColumnsEmpty() + { + // There should be no columns yet defined + $result = $this->_testAutoFilterObject->getColumns(); + $this->assertInternalType('array', $result); + $this->assertEquals(0, count($result)); + } + + public function testGetColumnOffset() + { + $columnIndexes = array( 'H' => 0, + 'K' => 3, + 'M' => 5 + ); + + // If we request a specific column by its column ID, we should get an + // integer returned representing the column offset within the range + foreach($columnIndexes as $columnIndex => $columnOffset) { + $result = $this->_testAutoFilterObject->getColumnOffset($columnIndex); + $this->assertEquals($columnOffset, $result); + } + } + + /** + * @expectedException PHPExcel_Exception + */ + public function testGetInvalidColumnOffset() + { + $invalidColumn = 'G'; + + $result = $this->_testAutoFilterObject->getColumnOffset($invalidColumn); + } + + public function testSetColumnWithString() + { + $expectedResult = 'L'; + + // Setters return the instance to implement the fluent interface + $result = $this->_testAutoFilterObject->setColumn($expectedResult); + $this->assertInstanceOf('PHPExcel_Worksheet_AutoFilter', $result); + + $result = $this->_testAutoFilterObject->getColumns(); + // Result should be an array of PHPExcel_Worksheet_AutoFilter_Column + // objects for each column we set indexed by the column ID + $this->assertInternalType('array', $result); + $this->assertEquals(1, count($result)); + $this->assertArrayHasKey($expectedResult,$result); + $this->assertInstanceOf('PHPExcel_Worksheet_AutoFilter_Column', $result[$expectedResult]); + } + + /** + * @expectedException PHPExcel_Exception + */ + public function testSetInvalidColumnWithString() + { + $invalidColumn = 'A'; + + $result = $this->_testAutoFilterObject->setColumn($invalidColumn); + } + + public function testSetColumnWithColumnObject() + { + $expectedResult = 'M'; + $columnObject = new PHPExcel_Worksheet_AutoFilter_Column($expectedResult); + + // Setters return the instance to implement the fluent interface + $result = $this->_testAutoFilterObject->setColumn($columnObject); + $this->assertInstanceOf('PHPExcel_Worksheet_AutoFilter', $result); + + $result = $this->_testAutoFilterObject->getColumns(); + // Result should be an array of PHPExcel_Worksheet_AutoFilter_Column + // objects for each column we set indexed by the column ID + $this->assertInternalType('array', $result); + $this->assertEquals(1, count($result)); + $this->assertArrayHasKey($expectedResult,$result); + $this->assertInstanceOf('PHPExcel_Worksheet_AutoFilter_Column', $result[$expectedResult]); + } + + /** + * @expectedException PHPExcel_Exception + */ + public function testSetInvalidColumnWithObject() + { + $invalidColumn = 'E'; + $columnObject = new PHPExcel_Worksheet_AutoFilter_Column($invalidColumn); + + $result = $this->_testAutoFilterObject->setColumn($invalidColumn); + } + + /** + * @expectedException PHPExcel_Exception + */ + public function testSetColumnWithInvalidDataType() + { + $invalidColumn = 123.456; + $columnObject = new PHPExcel_Worksheet_AutoFilter_Column($invalidColumn); + + $result = $this->_testAutoFilterObject->setColumn($invalidColumn); + } + + public function testGetColumns() + { + $columnIndexes = array('L','M'); + + foreach($columnIndexes as $columnIndex) { + $this->_testAutoFilterObject->setColumn($columnIndex); + } + + $result = $this->_testAutoFilterObject->getColumns(); + // Result should be an array of PHPExcel_Worksheet_AutoFilter_Column + // objects for each column we set indexed by the column ID + $this->assertInternalType('array', $result); + $this->assertEquals(count($columnIndexes), count($result)); + foreach($columnIndexes as $columnIndex) { + $this->assertArrayHasKey($columnIndex,$result); + $this->assertInstanceOf('PHPExcel_Worksheet_AutoFilter_Column', $result[$columnIndex]); + } + } + + public function testGetColumn() + { + $columnIndexes = array('L','M'); + + foreach($columnIndexes as $columnIndex) { + $this->_testAutoFilterObject->setColumn($columnIndex); + } + + // If we request a specific column by its column ID, we should + // get a PHPExcel_Worksheet_AutoFilter_Column object returned + foreach($columnIndexes as $columnIndex) { + $result = $this->_testAutoFilterObject->getColumn($columnIndex); + $this->assertInstanceOf('PHPExcel_Worksheet_AutoFilter_Column', $result); + } + } + + public function testGetColumnByOffset() + { + $columnIndexes = array( 0 => 'H', + 3 => 'K', + 5 => 'M' + ); + + // If we request a specific column by its offset, we should + // get a PHPExcel_Worksheet_AutoFilter_Column object returned + foreach($columnIndexes as $columnIndex => $columnID) { + $result = $this->_testAutoFilterObject->getColumnByOffset($columnIndex); + $this->assertInstanceOf('PHPExcel_Worksheet_AutoFilter_Column', $result); + $this->assertEquals($result->getColumnIndex(),$columnID); + } + } + + public function testGetColumnIfNotSet() + { + // If we request a specific column by its column ID, we should + // get a PHPExcel_Worksheet_AutoFilter_Column object returned + $result = $this->_testAutoFilterObject->getColumn('K'); + $this->assertInstanceOf('PHPExcel_Worksheet_AutoFilter_Column', $result); + } + + /** + * @expectedException PHPExcel_Exception + */ + public function testGetColumnWithoutRangeSet() + { + // Clear the range + $result = $this->_testAutoFilterObject->setRange(); + + $result = $this->_testAutoFilterObject->getColumn('A'); + } + + public function testClearRangeWithExistingColumns() + { + $expectedResult = ''; + + $columnIndexes = array('L','M','N'); + foreach($columnIndexes as $columnIndex) { + $this->_testAutoFilterObject->setColumn($columnIndex); + } + + // Setters return the instance to implement the fluent interface + $result = $this->_testAutoFilterObject->setRange(); + $this->assertInstanceOf('PHPExcel_Worksheet_AutoFilter', $result); + + // Range should be cleared + $result = $this->_testAutoFilterObject->getRange(); + $this->assertEquals($expectedResult, $result); + + // Column array should be cleared + $result = $this->_testAutoFilterObject->getColumns(); + $this->assertInternalType('array', $result); + $this->assertEquals(0, count($result)); + } + + public function testSetRangeWithExistingColumns() + { + $expectedResult = 'G1:J512'; + + // These columns should be retained + $columnIndexes1 = array('I','J'); + foreach($columnIndexes1 as $columnIndex) { + $this->_testAutoFilterObject->setColumn($columnIndex); + } + // These columns should be discarded + $columnIndexes2 = array('K','L','M'); + foreach($columnIndexes2 as $columnIndex) { + $this->_testAutoFilterObject->setColumn($columnIndex); + } + + // Setters return the instance to implement the fluent interface + $result = $this->_testAutoFilterObject->setRange($expectedResult); + $this->assertInstanceOf('PHPExcel_Worksheet_AutoFilter', $result); + + // Range should be correctly set + $result = $this->_testAutoFilterObject->getRange(); + $this->assertEquals($expectedResult, $result); + + // Only columns that existed in the original range and that + // still fall within the new range should be retained + $result = $this->_testAutoFilterObject->getColumns(); + $this->assertInternalType('array', $result); + $this->assertEquals(count($columnIndexes1), count($result)); + } + + public function testClone() + { + $columnIndexes = array('L','M'); + + foreach($columnIndexes as $columnIndex) { + $this->_testAutoFilterObject->setColumn($columnIndex); + } + + $result = clone $this->_testAutoFilterObject; + $this->assertInstanceOf('PHPExcel_Worksheet_AutoFilter', $result); + } + +} diff --git a/vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Worksheet/CellCollectionTest.php b/vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Worksheet/CellCollectionTest.php new file mode 100644 index 00000000..c2c130d7 --- /dev/null +++ b/vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Worksheet/CellCollectionTest.php @@ -0,0 +1,31 @@ +<?php + +class CellCollectionTest extends PHPUnit_Framework_TestCase +{ + + public function setUp() + { + if (!defined('PHPEXCEL_ROOT')) + { + define('PHPEXCEL_ROOT', APPLICATION_PATH . '/'); + } + require_once(PHPEXCEL_ROOT . 'PHPExcel/Autoloader.php'); + } + + + public function testCacheLastCell() + { + $methods = PHPExcel_CachedObjectStorageFactory::getCacheStorageMethods(); + foreach ($methods as $method) { + PHPExcel_CachedObjectStorageFactory::initialize($method); + $workbook = new PHPExcel(); + $cells = array('A1', 'A2'); + $worksheet = $workbook->getActiveSheet(); + $worksheet->setCellValue('A1', 1); + $worksheet->setCellValue('A2', 2); + $this->assertEquals($cells, $worksheet->getCellCollection(), "Cache method \"$method\"."); + PHPExcel_CachedObjectStorageFactory::finalize(); + } + } + +} diff --git a/vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Worksheet/ColumnCellIteratorTest.php b/vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Worksheet/ColumnCellIteratorTest.php new file mode 100644 index 00000000..bef500ca --- /dev/null +++ b/vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Worksheet/ColumnCellIteratorTest.php @@ -0,0 +1,87 @@ +<?php + +class ColumnCellIteratorTest extends PHPUnit_Framework_TestCase +{ + public $mockWorksheet; + public $mockColumnCell; + + public function setUp() + { + if (!defined('PHPEXCEL_ROOT')) { + define('PHPEXCEL_ROOT', APPLICATION_PATH . '/'); + } + require_once(PHPEXCEL_ROOT . 'PHPExcel/Autoloader.php'); + + $this->mockCell = $this->getMockBuilder('PHPExcel_Cell') + ->disableOriginalConstructor() + ->getMock(); + + $this->mockWorksheet = $this->getMockBuilder('PHPExcel_Worksheet') + ->disableOriginalConstructor() + ->getMock(); + + $this->mockWorksheet->expects($this->any()) + ->method('getHighestRow') + ->will($this->returnValue(5)); + $this->mockWorksheet->expects($this->any()) + ->method('getCellByColumnAndRow') + ->will($this->returnValue($this->mockCell)); + } + + + public function testIteratorFullRange() + { + $iterator = new PHPExcel_Worksheet_ColumnCellIterator($this->mockWorksheet, 'A'); + $ColumnCellIndexResult = 1; + $this->assertEquals($ColumnCellIndexResult, $iterator->key()); + + foreach($iterator as $key => $ColumnCell) { + $this->assertEquals($ColumnCellIndexResult++, $key); + $this->assertInstanceOf('PHPExcel_Cell', $ColumnCell); + } + } + + public function testIteratorStartEndRange() + { + $iterator = new PHPExcel_Worksheet_ColumnCellIterator($this->mockWorksheet, 'A', 2, 4); + $ColumnCellIndexResult = 2; + $this->assertEquals($ColumnCellIndexResult, $iterator->key()); + + foreach($iterator as $key => $ColumnCell) { + $this->assertEquals($ColumnCellIndexResult++, $key); + $this->assertInstanceOf('PHPExcel_Cell', $ColumnCell); + } + } + + public function testIteratorSeekAndPrev() + { + $iterator = new PHPExcel_Worksheet_ColumnCellIterator($this->mockWorksheet, 'A', 2, 4); + $columnIndexResult = 4; + $iterator->seek(4); + $this->assertEquals($columnIndexResult, $iterator->key()); + + for($i = 1; $i < $columnIndexResult-1; $i++) { + $iterator->prev(); + $this->assertEquals($columnIndexResult - $i, $iterator->key()); + } + } + + /** + * @expectedException PHPExcel_Exception + */ + public function testSeekOutOfRange() + { + $iterator = new PHPExcel_Worksheet_ColumnCellIterator($this->mockWorksheet, 'A', 2, 4); + $iterator->seek(1); + } + + /** + * @expectedException PHPExcel_Exception + */ + public function testPrevOutOfRange() + { + $iterator = new PHPExcel_Worksheet_ColumnCellIterator($this->mockWorksheet, 'A', 2, 4); + $iterator->prev(); + } + +} diff --git a/vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Worksheet/ColumnIteratorTest.php b/vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Worksheet/ColumnIteratorTest.php new file mode 100644 index 00000000..7d78b617 --- /dev/null +++ b/vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Worksheet/ColumnIteratorTest.php @@ -0,0 +1,89 @@ +<?php + +class ColumnIteratorTest extends PHPUnit_Framework_TestCase +{ + public $mockWorksheet; + public $mockColumn; + + public function setUp() + { + if (!defined('PHPEXCEL_ROOT')) { + define('PHPEXCEL_ROOT', APPLICATION_PATH . '/'); + } + require_once(PHPEXCEL_ROOT . 'PHPExcel/Autoloader.php'); + + $this->mockColumn = $this->getMockBuilder('PHPExcel_Worksheet_Column') + ->disableOriginalConstructor() + ->getMock(); + + $this->mockWorksheet = $this->getMockBuilder('PHPExcel_Worksheet') + ->disableOriginalConstructor() + ->getMock(); + + $this->mockWorksheet->expects($this->any()) + ->method('getHighestColumn') + ->will($this->returnValue('E')); + $this->mockWorksheet->expects($this->any()) + ->method('current') + ->will($this->returnValue($this->mockColumn)); + } + + + public function testIteratorFullRange() + { + $iterator = new PHPExcel_Worksheet_ColumnIterator($this->mockWorksheet); + $columnIndexResult = 'A'; + $this->assertEquals($columnIndexResult, $iterator->key()); + + foreach($iterator as $key => $column) { + $this->assertEquals($columnIndexResult++, $key); + $this->assertInstanceOf('PHPExcel_Worksheet_Column', $column); + } + } + + public function testIteratorStartEndRange() + { + $iterator = new PHPExcel_Worksheet_ColumnIterator($this->mockWorksheet, 'B', 'D'); + $columnIndexResult = 'B'; + $this->assertEquals($columnIndexResult, $iterator->key()); + + foreach($iterator as $key => $column) { + $this->assertEquals($columnIndexResult++, $key); + $this->assertInstanceOf('PHPExcel_Worksheet_Column', $column); + } + } + + public function testIteratorSeekAndPrev() + { + $ranges = range('A','E'); + $iterator = new PHPExcel_Worksheet_ColumnIterator($this->mockWorksheet, 'B', 'D'); + $columnIndexResult = 'D'; + $iterator->seek('D'); + $this->assertEquals($columnIndexResult, $iterator->key()); + + for($i = 1; $i < array_search($columnIndexResult, $ranges); $i++) { + $iterator->prev(); + $expectedResult = $ranges[array_search($columnIndexResult, $ranges) - $i]; + $this->assertEquals($expectedResult, $iterator->key()); + } + } + + /** + * @expectedException PHPExcel_Exception + */ + public function testSeekOutOfRange() + { + $iterator = new PHPExcel_Worksheet_ColumnIterator($this->mockWorksheet, 'B', 'D'); + $iterator->seek('A'); + } + + /** + * @expectedException PHPExcel_Exception + */ + public function testPrevOutOfRange() + { + $iterator = new PHPExcel_Worksheet_ColumnIterator($this->mockWorksheet, 'B', 'D'); + $iterator->prev(); + } + +} diff --git a/vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Worksheet/RowCellIteratorTest.php b/vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Worksheet/RowCellIteratorTest.php new file mode 100644 index 00000000..cdd3c84d --- /dev/null +++ b/vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Worksheet/RowCellIteratorTest.php @@ -0,0 +1,89 @@ +<?php + +class RowCellIteratorTest extends PHPUnit_Framework_TestCase +{ + public $mockWorksheet; + public $mockRowCell; + + public function setUp() + { + if (!defined('PHPEXCEL_ROOT')) { + define('PHPEXCEL_ROOT', APPLICATION_PATH . '/'); + } + require_once(PHPEXCEL_ROOT . 'PHPExcel/Autoloader.php'); + + $this->mockCell = $this->getMockBuilder('PHPExcel_Cell') + ->disableOriginalConstructor() + ->getMock(); + + $this->mockWorksheet = $this->getMockBuilder('PHPExcel_Worksheet') + ->disableOriginalConstructor() + ->getMock(); + + $this->mockWorksheet->expects($this->any()) + ->method('getHighestColumn') + ->will($this->returnValue('E')); + $this->mockWorksheet->expects($this->any()) + ->method('getCellByColumnAndRow') + ->will($this->returnValue($this->mockCell)); + } + + + public function testIteratorFullRange() + { + $iterator = new PHPExcel_Worksheet_RowCellIterator($this->mockWorksheet); + $RowCellIndexResult = 'A'; + $this->assertEquals($RowCellIndexResult, $iterator->key()); + + foreach($iterator as $key => $RowCell) { + $this->assertEquals($RowCellIndexResult++, $key); + $this->assertInstanceOf('PHPExcel_Cell', $RowCell); + } + } + + public function testIteratorStartEndRange() + { + $iterator = new PHPExcel_Worksheet_RowCellIterator($this->mockWorksheet, 2, 'B', 'D'); + $RowCellIndexResult = 'B'; + $this->assertEquals($RowCellIndexResult, $iterator->key()); + + foreach($iterator as $key => $RowCell) { + $this->assertEquals($RowCellIndexResult++, $key); + $this->assertInstanceOf('PHPExcel_Cell', $RowCell); + } + } + + public function testIteratorSeekAndPrev() + { + $ranges = range('A','E'); + $iterator = new PHPExcel_Worksheet_RowCellIterator($this->mockWorksheet, 2, 'B', 'D'); + $RowCellIndexResult = 'D'; + $iterator->seek('D'); + $this->assertEquals($RowCellIndexResult, $iterator->key()); + + for($i = 1; $i < array_search($RowCellIndexResult, $ranges); $i++) { + $iterator->prev(); + $expectedResult = $ranges[array_search($RowCellIndexResult, $ranges) - $i]; + $this->assertEquals($expectedResult, $iterator->key()); + } + } + + /** + * @expectedException PHPExcel_Exception + */ + public function testSeekOutOfRange() + { + $iterator = new PHPExcel_Worksheet_RowCellIterator($this->mockWorksheet, 2, 'B', 'D'); + $iterator->seek(1); + } + + /** + * @expectedException PHPExcel_Exception + */ + public function testPrevOutOfRange() + { + $iterator = new PHPExcel_Worksheet_RowCellIterator($this->mockWorksheet, 2, 'B', 'D'); + $iterator->prev(); + } + +} diff --git a/vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Worksheet/RowIteratorTest.php b/vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Worksheet/RowIteratorTest.php new file mode 100644 index 00000000..48d8b6bb --- /dev/null +++ b/vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Worksheet/RowIteratorTest.php @@ -0,0 +1,87 @@ +<?php + +class RowIteratorTest extends PHPUnit_Framework_TestCase +{ + public $mockWorksheet; + public $mockRow; + + public function setUp() + { + if (!defined('PHPEXCEL_ROOT')) { + define('PHPEXCEL_ROOT', APPLICATION_PATH . '/'); + } + require_once(PHPEXCEL_ROOT . 'PHPExcel/Autoloader.php'); + + $this->mockRow = $this->getMockBuilder('PHPExcel_Worksheet_Row') + ->disableOriginalConstructor() + ->getMock(); + + $this->mockWorksheet = $this->getMockBuilder('PHPExcel_Worksheet') + ->disableOriginalConstructor() + ->getMock(); + + $this->mockWorksheet->expects($this->any()) + ->method('getHighestRow') + ->will($this->returnValue(5)); + $this->mockWorksheet->expects($this->any()) + ->method('current') + ->will($this->returnValue($this->mockRow)); + } + + + public function testIteratorFullRange() + { + $iterator = new PHPExcel_Worksheet_RowIterator($this->mockWorksheet); + $rowIndexResult = 1; + $this->assertEquals($rowIndexResult, $iterator->key()); + + foreach($iterator as $key => $row) { + $this->assertEquals($rowIndexResult++, $key); + $this->assertInstanceOf('PHPExcel_Worksheet_Row', $row); + } + } + + public function testIteratorStartEndRange() + { + $iterator = new PHPExcel_Worksheet_RowIterator($this->mockWorksheet, 2, 4); + $rowIndexResult = 2; + $this->assertEquals($rowIndexResult, $iterator->key()); + + foreach($iterator as $key => $row) { + $this->assertEquals($rowIndexResult++, $key); + $this->assertInstanceOf('PHPExcel_Worksheet_Row', $row); + } + } + + public function testIteratorSeekAndPrev() + { + $iterator = new PHPExcel_Worksheet_RowIterator($this->mockWorksheet, 2, 4); + $columnIndexResult = 4; + $iterator->seek(4); + $this->assertEquals($columnIndexResult, $iterator->key()); + + for($i = 1; $i < $columnIndexResult-1; $i++) { + $iterator->prev(); + $this->assertEquals($columnIndexResult - $i, $iterator->key()); + } + } + + /** + * @expectedException PHPExcel_Exception + */ + public function testSeekOutOfRange() + { + $iterator = new PHPExcel_Worksheet_RowIterator($this->mockWorksheet, 2, 4); + $iterator->seek(1); + } + + /** + * @expectedException PHPExcel_Exception + */ + public function testPrevOutOfRange() + { + $iterator = new PHPExcel_Worksheet_RowIterator($this->mockWorksheet, 2, 4); + $iterator->prev(); + } + +} diff --git a/vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Worksheet/WorksheetColumnTest.php b/vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Worksheet/WorksheetColumnTest.php new file mode 100644 index 00000000..c70c38d3 --- /dev/null +++ b/vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Worksheet/WorksheetColumnTest.php @@ -0,0 +1,46 @@ +<?php + +class WorksheetColumnTest extends PHPUnit_Framework_TestCase +{ + public $mockWorksheet; + public $mockColumn; + + public function setUp() + { + if (!defined('PHPEXCEL_ROOT')) { + define('PHPEXCEL_ROOT', APPLICATION_PATH . '/'); + } + require_once(PHPEXCEL_ROOT . 'PHPExcel/Autoloader.php'); + + $this->mockWorksheet = $this->getMockBuilder('PHPExcel_Worksheet') + ->disableOriginalConstructor() + ->getMock(); + $this->mockWorksheet->expects($this->any()) + ->method('getHighestRow') + ->will($this->returnValue(5)); + } + + + public function testInstantiateColumnDefault() + { + $column = new PHPExcel_Worksheet_Column($this->mockWorksheet); + $this->assertInstanceOf('PHPExcel_Worksheet_Column', $column); + $columnIndex = $column->getColumnIndex(); + $this->assertEquals('A', $columnIndex); + } + + public function testInstantiateColumnSpecified() + { + $column = new PHPExcel_Worksheet_Column($this->mockWorksheet, 'E'); + $this->assertInstanceOf('PHPExcel_Worksheet_Column', $column); + $columnIndex = $column->getColumnIndex(); + $this->assertEquals('E', $columnIndex); + } + + public function testGetCellIterator() + { + $column = new PHPExcel_Worksheet_Column($this->mockWorksheet); + $cellIterator = $column->getCellIterator(); + $this->assertInstanceOf('PHPExcel_Worksheet_ColumnCellIterator', $cellIterator); + } +} diff --git a/vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Worksheet/WorksheetRowTest.php b/vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Worksheet/WorksheetRowTest.php new file mode 100644 index 00000000..2761b52b --- /dev/null +++ b/vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Worksheet/WorksheetRowTest.php @@ -0,0 +1,46 @@ +<?php + +class WorksheetRowTest extends PHPUnit_Framework_TestCase +{ + public $mockWorksheet; + public $mockRow; + + public function setUp() + { + if (!defined('PHPEXCEL_ROOT')) { + define('PHPEXCEL_ROOT', APPLICATION_PATH . '/'); + } + require_once(PHPEXCEL_ROOT . 'PHPExcel/Autoloader.php'); + + $this->mockWorksheet = $this->getMockBuilder('PHPExcel_Worksheet') + ->disableOriginalConstructor() + ->getMock(); + $this->mockWorksheet->expects($this->any()) + ->method('getHighestColumn') + ->will($this->returnValue('E')); + } + + + public function testInstantiateRowDefault() + { + $row = new PHPExcel_Worksheet_Row($this->mockWorksheet); + $this->assertInstanceOf('PHPExcel_Worksheet_Row', $row); + $rowIndex = $row->getRowIndex(); + $this->assertEquals(1, $rowIndex); + } + + public function testInstantiateRowSpecified() + { + $row = new PHPExcel_Worksheet_Row($this->mockWorksheet, 5); + $this->assertInstanceOf('PHPExcel_Worksheet_Row', $row); + $rowIndex = $row->getRowIndex(); + $this->assertEquals(5, $rowIndex); + } + + public function testGetCellIterator() + { + $row = new PHPExcel_Worksheet_Row($this->mockWorksheet); + $cellIterator = $row->getCellIterator(); + $this->assertInstanceOf('PHPExcel_Worksheet_RowCellIterator', $cellIterator); + } +} diff --git a/vendor/phpoffice/phpexcel/unitTests/bootstrap.php b/vendor/phpoffice/phpexcel/unitTests/bootstrap.php new file mode 100644 index 00000000..8e8cdb39 --- /dev/null +++ b/vendor/phpoffice/phpexcel/unitTests/bootstrap.php @@ -0,0 +1,49 @@ +<?php +/** + * $Id: bootstrap.php 2892 2011-08-14 15:11:50Z markbaker@phpexcel.net $ + * + * @copyright Copyright (C) 2011-2014 PHPExcel. All rights reserved. + * @package PHPExcel + * @subpackage PHPExcel Unit Tests + * @author Mark Baker + */ + +chdir(dirname(__FILE__)); + +setlocale(LC_ALL, 'en_US.utf8'); + +// PHP 5.3 Compat +date_default_timezone_set('Europe/London'); + +// Define path to application directory +defined('APPLICATION_PATH') + || define('APPLICATION_PATH', realpath(dirname(__FILE__) . '/../Classes')); + +// Define path to application tests directory +defined('APPLICATION_TESTS_PATH') + || define('APPLICATION_TESTS_PATH', realpath(dirname(__FILE__) )); + +// Define application environment +defined('APPLICATION_ENV') || define('APPLICATION_ENV', 'ci'); + +// Ensure library/ is on include_path +set_include_path(implode(PATH_SEPARATOR, array( + realpath(APPLICATION_PATH . '/../Classes'), + './', + dirname(__FILE__), + get_include_path(), +))); + + +/** + * @todo Sort out xdebug in vagrant so that this works in all sandboxes + * For now, it is safer to test for it rather then remove it. + */ +echo "PHPExcel tests beginning\n"; + +if(extension_loaded('xdebug')) { + echo "Xdebug extension loaded and running\n"; + xdebug_enable(); +} else { + echo 'Xdebug not found, you should run the following at the command line: echo "zend_extension=/usr/lib64/php/modules/xdebug.so" > /etc/php.d/xdebug.ini' . "\n"; +} diff --git a/vendor/phpoffice/phpexcel/unitTests/custom/Complex.php b/vendor/phpoffice/phpexcel/unitTests/custom/Complex.php new file mode 100644 index 00000000..c827baeb --- /dev/null +++ b/vendor/phpoffice/phpexcel/unitTests/custom/Complex.php @@ -0,0 +1,114 @@ +<?php + +class Complex { + + private $realPart = 0; + private $imaginaryPart = 0; + private $suffix = NULL; + + public static function _parseComplex($complexNumber) + { + // Test for real number, with no imaginary part + if (is_numeric($complexNumber)) + return array( $complexNumber, 0, NULL ); + + // Fix silly human errors + if (strpos($complexNumber,'+-') !== FALSE) + $complexNumber = str_replace('+-','-',$complexNumber); + if (strpos($complexNumber,'++') !== FALSE) + $complexNumber = str_replace('++','+',$complexNumber); + if (strpos($complexNumber,'--') !== FALSE) + $complexNumber = str_replace('--','-',$complexNumber); + + // Basic validation of string, to parse out real and imaginary parts, and any suffix + $validComplex = preg_match('/^([\-\+]?(\d+\.?\d*|\d*\.?\d+)([Ee][\-\+]?[0-2]?\d{1,3})?)([\-\+]?(\d+\.?\d*|\d*\.?\d+)([Ee][\-\+]?[0-2]?\d{1,3})?)?(([\-\+]?)([ij]?))$/ui',$complexNumber,$complexParts); + + if (!$validComplex) { + // Neither real nor imaginary part, so test to see if we actually have a suffix + $validComplex = preg_match('/^([\-\+]?)([ij])$/ui',$complexNumber,$complexParts); + if (!$validComplex) { + throw new Exception('COMPLEX: Invalid complex number'); + } + // We have a suffix, so set the real to 0, the imaginary to either 1 or -1 (as defined by the sign) + $imaginary = 1; + if ($complexParts[1] === '-') { + $imaginary = 0 - $imaginary; + } + return array(0, $imaginary, $complexParts[2]); + } + + // If we don't have an imaginary part, identify whether it should be +1 or -1... + if (($complexParts[4] === '') && ($complexParts[9] !== '')) { + if ($complexParts[7] !== $complexParts[9]) { + $complexParts[4] = 1; + if ($complexParts[8] === '-') { + $complexParts[4] = -1; + } + // ... or if we have only the real and no imaginary part (in which case our real should be the imaginary) + } else { + $complexParts[4] = $complexParts[1]; + $complexParts[1] = 0; + } + } + + // Return real and imaginary parts and suffix as an array, and set a default suffix if user input lazily + return array( $complexParts[1], + $complexParts[4], + !empty($complexParts[9]) ? $complexParts[9] : 'i' + ); + } // function _parseComplex() + + + public function __construct($realPart, $imaginaryPart = null, $suffix = 'i') + { + if ($imaginaryPart === null) { + if (is_array($realPart)) { + // We have an array of (potentially) real and imaginary parts, and any suffix + list ($realPart, $imaginaryPart, $suffix) = array_values($realPart) + array(0.0, 0.0, 'i'); + } elseif((is_string($realPart)) || (is_numeric($realPart))) { + // We've been given a string to parse to extract the real and imaginary parts, and any suffix + list ($realPart, $imaginaryPart, $suffix) = self::_parseComplex($realPart); + } + } + + // Set parsed values in our properties + $this->realPart = (float) $realPart; + $this->imaginaryPart = (float) $imaginaryPart; + $this->suffix = strtolower($suffix); + } + + public function getReal() + { + return $this->realPart; + } + + public function getImaginary() + { + return $this->imaginaryPart; + } + + public function getSuffix() + { + return $this->suffix; + } + + public function __toString() { + $str = ""; + if ($this->imaginaryPart != 0.0) { + if (abs($this->imaginaryPart) != 1.0) { + $str .= $this->imaginaryPart . $this->suffix; + } else { + $str .= (($this->imaginaryPart < 0.0) ? '-' : ''). $this->suffix; + } + } + if ($this->realPart != 0.0) { + if (($str) && ($this->imaginaryPart > 0.0)) + $str = "+" . $str; + $str = $this->realPart . $str; + } + if (!$str) + $str = "0.0"; + return $str; + } + +} diff --git a/vendor/phpoffice/phpexcel/unitTests/custom/complexAssert.php b/vendor/phpoffice/phpexcel/unitTests/custom/complexAssert.php new file mode 100644 index 00000000..5b813d25 --- /dev/null +++ b/vendor/phpoffice/phpexcel/unitTests/custom/complexAssert.php @@ -0,0 +1,62 @@ +<?php + +include_once dirname(__FILE__).'/Complex.php'; + + +class complexAssert { + + private $_errorMessage = ''; + + public function assertComplexEquals($expected, $actual, $delta = 0) + { + if ($expected{0} === '#') { + // Expecting an error, so we do a straight string comparison + if ($expected === $actual) { + return TRUE; + } + $this->_errorMessage = 'Expected Error: ' . + $actual . ' !== ' . $expected; + return FALSE; + } + + $expectedComplex = new Complex($expected); + $actualComplex = new Complex($actual); + + if (!is_numeric($actualComplex->getReal()) || !is_numeric($expectedComplex->getReal())) { + if ($actualComplex->getReal() !== $expectedComplex->getReal()) { + $this->_errorMessage = 'Mismatched String: ' . + $actualComplex->getReal() . ' !== ' . $expectedComplex->getReal(); + return FALSE; + } + return TRUE; + } + + if ($actualComplex->getReal() < ($expectedComplex->getReal() - $delta) || + $actualComplex->getReal() > ($expectedComplex->getReal() + $delta)) { + $this->_errorMessage = 'Mismatched Real part: ' . + $actualComplex->getReal() . ' != ' . $expectedComplex->getReal(); + return FALSE; + } + + if ($actualComplex->getImaginary() < ($expectedComplex->getImaginary() - $delta) || + $actualComplex->getImaginary() > ($expectedComplex->getImaginary() + $delta)) { + $this->_errorMessage = 'Mismatched Imaginary part: ' . + $actualComplex->getImaginary() . ' != ' . $expectedComplex->getImaginary(); + return FALSE; + } + + if ($actualComplex->getSuffix() !== $actualComplex->getSuffix()) { + $this->_errorMessage = 'Mismatched Suffix: ' . + $actualComplex->getSuffix() . ' != ' . $expectedComplex->getSuffix(); + return FALSE; + } + + return TRUE; + } + + + public function getErrorMessage() { + return $this->_errorMessage; + } + +} diff --git a/vendor/phpoffice/phpexcel/unitTests/phpunit-cc.xml b/vendor/phpoffice/phpexcel/unitTests/phpunit-cc.xml new file mode 100644 index 00000000..8cb6cf56 --- /dev/null +++ b/vendor/phpoffice/phpexcel/unitTests/phpunit-cc.xml @@ -0,0 +1,40 @@ +<?xml version="1.0" encoding="UTF-8"?> +<phpunit bootstrap="./bootstrap.php" + backupGlobals="true" + colors="true" + convertErrorsToExceptions="true" + convertNoticesToExceptions="true" + convertWarningsToExceptions="true" + processIsolation="false" + syntaxCheck="true" + verbose="true" + strict="true" + stopOnError="false" + stopOnFailure="false" + stopOnIncomplete="false" + stopOnSkipped="false"> + <php> + <ini name="memory_limit" value="2048M"/> + </php> + <testsuite name="PHPExcel Unit Test Suite"> + <directory suffix="Test.php">./Classes</directory> + </testsuite> + <filter> + <whitelist> + <directory suffix=".php">../Classes</directory> + <exclude> + <directory>../Classes/PHPExcel/Shared/PCLZip</directory> + <directory>../Classes/PHPExcel/Shared/JAMA</directory> + <directory>../Classes/PHPExcel/Writer/PDF</directory> + </exclude> + </whitelist> + </filter> + <logging> + <log type="coverage-html" target="./codeCoverage" charset="UTF-8" + yui="true" highlight="false" + lowUpperBound="35" highLowerBound="70"/> + <log type="coverage-clover" target="./codeCoverage/codeCoverage.xml"/> + <log type="metrics-xml" target="./metrics/metrics.xml"/> + <log type="test-xml" target="./testResults/logfile.xml" logIncompleteSkipped="false"/> + </logging> +</phpunit> diff --git a/vendor/phpoffice/phpexcel/unitTests/phpunit.xml b/vendor/phpoffice/phpexcel/unitTests/phpunit.xml new file mode 100644 index 00000000..d024c28f --- /dev/null +++ b/vendor/phpoffice/phpexcel/unitTests/phpunit.xml @@ -0,0 +1,32 @@ +<?xml version="1.0" encoding="UTF-8"?> +<phpunit bootstrap="./bootstrap.php" + backupGlobals="true" + colors="true" + convertErrorsToExceptions="true" + convertNoticesToExceptions="true" + convertWarningsToExceptions="true" + processIsolation="false" + syntaxCheck="true" + verbose="true" + strict="true" + stopOnError="false" + stopOnFailure="false" + stopOnIncomplete="false" + stopOnSkipped="false"> + <php> + <ini name="memory_limit" value="2048M"/> + </php> + <testsuite name="PHPExcel Unit Test Suite"> + <directory suffix="Test.php">./Classes</directory> + </testsuite> + <filter> + <whitelist> + <directory suffix=".php">../Classes</directory> + <exclude> + <directory>../Classes/PHPExcel/Shared/PCLZip</directory> + <directory>../Classes/PHPExcel/Shared/JAMA</directory> + <directory>../Classes/PHPExcel/Writer/PDF</directory> + </exclude> + </whitelist> + </filter> +</phpunit> diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/DateTime/DATE.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/DateTime/DATE.data new file mode 100644 index 00000000..d7031e8f --- /dev/null +++ b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/DateTime/DATE.data @@ -0,0 +1,79 @@ +# Year Month Day Result Comments +18, 11, 11, 6890 +1900, 1, 1, 1 // Excel 1900 Calendar Base Date +1900, 2, 28, 59 // Day before Excel mythical 1900 leap day +1900, 2, 29, 60 // Excel mythical 1900 leap day +1900, 3, 1, 61 // Day after Excel mythical 1900 leap day +1901, 12, 13, 713 // Day after Excel mythical 1900 leap day +1901, 12, 14, 714 // PHP 32-bit Earliest Date +1903, 12, 31, 1461 +1904, 1, 1, 1462 // Excel 1904 Calendar Base Date +1904, 1, 2, 1463 +1960, 12, 19, 22269 +1970, 1, 1, 25569 // PHP Base Date +1982, 12, 7, 30292 +2008, 6, 12, 39611 +2038, 1, 19, 50424 // PHP 32-bit Latest Date +2038, 1, 20, 50425 // Day after PHP 32-bit Latest Date +2008, 1, 1, 39448 +2008, 1, , 39447 +2008, 1, -1, 39446 +2008, 1, -30, 39417 +2008, 1, -31, 39416 +2008, 1, -365, 39082 +2008, 3, 1, 39508 +2008, 3, , 39507 +2008, 3, -1, 39506 +2008, 3, -365, 39142 +2008, , 1, 39417 +2008, -1, 1, 39387 +2008, -11, 1, 39083 +2008, -12, 1, 39052 +2008, -13, 1, 39022 +2008, -13, 30, 39051 +2008, -13, , 39021 +2008, -13, -30, 38991 +2008, -13, -31, 38990 +2008, 13, 1, 39814 +2007, 15, , 39507 +2008, 26, 1, 40210 +2008, 26, -10, 40199 +2008, -26, 61, 38686 +2010, -15, -50, 39641 +2010, -15, 50, 39741 +2010, 15, -50, 40552 +2010, 15, 50, 40652 +2010, 1.5, 1, 40179 +2010, 1.5, 0, 40178 +2010, 0, 1.5, 40148 +2010, 1, 1.5, 40179 +2012, 6, 15, 41075 +2012, 6, , 41060 +2012, , 15, 40892 +, 6, 15, 167 +10, 6, 15, 3819 +10, , , 3622 +, 10, , 274 +, , 10, "#NUM!" +-20, , , "#NUM!" +-20, 6, 15, "#NUM!" +9999, 12, 31, 2958465 // Excel Maximum Date +10000, 1, 1, "#NUM!" // Exceeded Excel Maximum Date +2008, 8, 10, 39670 +2008, 12, 31, 39813 +2008, 8, 32, 39692 +2008, 13, 31, 39844 +2009, 1, 0, 39813 +2009, 1, -1, 39812 +2009, 0, 0, 39782 +2009, 0, -1, 39781 +2009, -1, 0, 39752 +2009, -1, -1, 39751 +2010, 0, -1, 40146 +2010, 5, 31, 40329 +2010, 1, '21st', 40199 // MS Excel will fail with a #VALUE return, but PHPExcel can parse this date +2010, "March",'21st', 40258 // MS Excel will fail with a #VALUE return, but PHPExcel can parse this date +2010, "March",21, 40258 // MS Excel will fail with a #VALUE return, but PHPExcel can parse this date +"ABC", 1, 21, "#VALUE!" +2010, "DEF", 21, "#VALUE!" +2010, 3, "GHI", "#VALUE!" diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/DateTime/DATEDIF.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/DateTime/DATEDIF.data new file mode 100644 index 00000000..29c36d43 --- /dev/null +++ b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/DateTime/DATEDIF.data @@ -0,0 +1,96 @@ +"ABC", "2007-1-10", "Y", "#VALUE!" +"2007-1-1", "DEF", "Y", "#VALUE!" +"2007-1-1", "2007-1-10", "XYZ", "#VALUE!" +"2007-1-10", "2007-1-1", "Y", "#NUM!" +"2007-12-31", "2008-1-10", "Y", 0 +"2007-1-1", "2007-1-10", "Y", 0 +"2007-1-1", "2007-1-10", "M", 0 +"2007-1-1", "2007-1-10", "D", 9 +"2007-1-1", "2007-1-10", "YM", 0 +"2007-1-1", "2007-1-10", "YD", 9 +"2007-1-1", "2007-1-10", "MD", 9 +"2007-1-1", "2007-12-31", "Y", 0 +"2007-1-1", "2007-12-31", "M", 11 +"2007-1-1", "2007-12-31", "D", 364 +"2007-1-1", "2007-12-31", "YM", 11 +"2007-1-1", "2007-12-31", "YD", 364 +"2007-1-1", "2007-12-31", "MD", 30 +"2007-1-1", "2008-7-1", "Y", 1 +"2007-1-1", "2008-7-1", "M", 18 +"2007-1-1", "2008-7-1", "D", 547 +"2007-1-1", "2008-7-1", "YM", 6 +"2007-1-1", "2008-7-1", "YD", 181 +"2007-1-1", "2008-7-1", "MD", 0 +"2007-1-1", "2007-1-31", "Y", 0 +"2007-1-1", "2007-1-31", "M", 0 +"2007-1-1", "2007-1-31", "D", 30 +"2007-1-1", "2007-1-31", "YM", 0 +"2007-1-1", "2007-1-31", "YD", 30 +"2007-1-1", "2007-1-31", "MD", 30 +"2007-1-1", "2007-2-1", "Y", 0 +"2007-1-1", "2007-2-1", "M", 1 +"2007-1-1", "2007-2-1", "D", 31 +"2007-1-1", "2007-2-1", "YM", 1 +"2007-1-1", "2007-2-1", "YD", 31 +"2007-1-1", "2007-2-1", "MD", 0 +"2007-1-1", "2007-2-28", "Y", 0 +"2007-1-1", "2007-2-28", "M", 1 +"2007-1-1", "2007-2-28", "D", 58 +"2007-1-1", "2007-2-28", "YM", 1 +"2007-1-1", "2007-2-28", "YD", 58 +"2007-1-1", "2007-2-28", "MD", 27 +"2007-1-31", "2007-2-1", "Y", 0 +"2007-1-31", "2007-2-1", "M", 0 +"2007-1-31", "2007-2-1", "D", 1 +"2007-1-31", "2007-2-1", "YM", 0 +"2007-1-31", "2007-2-1", "YD", 1 +"2007-1-31", "2007-2-1", "MD", 1 +"2007-1-31", "2007-3-1", "Y", 0 +"2007-1-31", "2007-3-1", "M", 1 +"2007-1-31", "2007-3-1", "D", 29 +"2007-1-31", "2007-3-1", "YM", 1 +"2007-1-31", "2007-3-1", "YD", 29 +"2007-1-31", "2007-3-1", "MD", -2 +"2007-1-31", "2007-3-31", "Y", 0 +"2007-1-31", "2007-3-31", "M", 2 +"2007-1-31", "2007-3-31", "D", 59 +"2007-1-31", "2007-3-31", "YM", 2 +"2007-1-31", "2007-3-31", "YD", 59 +"2007-1-31", "2007-3-31", "MD", 0 +"2008-1-1", "2008-9-1", "Y", 0 +"2008-1-1", "2008-9-1", "M", 8 +"2008-1-1", "2008-9-1", "D", 244 +"2008-1-1", "2008-9-1", "YM", 8 +"2008-1-1", "2008-9-1", "YD", 244 +"2008-1-1", "2008-9-1", "MD", 0 +"2007-2-1", "2008-4-1", "Y", 1 +"2007-2-1", "2008-4-1", "M", 14 +"2007-2-1", "2008-4-1", "D", 425 +"2007-2-1", "2008-4-1", "YM", 2 +"2007-2-1", "2008-4-1", "YD", 59 +"2007-2-1", "2008-4-1", "MD", 0 +"1960-12-19", "2008-6-28", "Y", 47 +"1960-12-19", "2008-6-28", "M", 570 +"1960-12-19", "2008-6-28", "D", 17358 +"1960-12-19", "2008-6-28", "YM", 6 +"1960-12-19", "2008-6-28", "YD", 191 +"1960-12-19", "2008-6-28", "MD", 9 +"1982-12-7", "2008-6-28", "Y", 25 +"1982-12-7", "2008-6-28", "M", 306 +"1982-12-7", "2008-6-28", "D", 9335 +"1982-12-7", "2008-6-28", "YM", 6 +"1982-12-7", "2008-6-28", "YD", 203 +"1982-12-7", "2008-6-28", "MD", 21 +"2007-12-25", "2010-3-17", "Y", 2 +"2007-12-25", "2010-3-17", "M", 26 +"2007-12-25", "2010-3-17", "D", 813 +"2007-12-25", "2010-3-17", "YM", 2 +"2007-12-25", "2010-3-17", "YD", 82 +"2007-12-25", "2010-3-17", "MD", 20 +"19-12-1960", "26-01-2012" "Y", 51 +"19-12-1960", "26-01-2012" "M", 613 +"19-12-1960", "26-01-2012" "D", 18665 +"19-12-1960", "26-01-2012" "YM", 1 +"19-12-1960", "26-01-2012" "YD", 38 +"19-12-1960", "26-01-2012" "MD", 7 +"19-12-1960", "12-12-2012" "Y", 50 diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/DateTime/DATEVALUE.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/DateTime/DATEVALUE.data new file mode 100644 index 00000000..43970c28 --- /dev/null +++ b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/DateTime/DATEVALUE.data @@ -0,0 +1,66 @@ +# Date String Result +"25-Dec-1899", "#VALUE!" +"31-Dec-1899", "#VALUE!" +"1-Jan-1900", 1 +"1900/2/28", 59 +"29-02-1900", 60 +"29th February 1900", 60 // MS Excel will fail with a #VALUE return, but PHPExcel can parse this date +"1900/3/1", 61 +"13-12-1901", 713 +"14-12-1901", 714 +"1903/12/31", 1461 +"1-Jan-1904", 1462 +"2nd-Jan-1904", 1463 // MS Excel will fail with a #VALUE return, but PHPExcel can parse this date +"19-12-1960", 22269 +"1st January 1970", 25569 // MS Excel will fail with a #VALUE return, but PHPExcel can parse this date +"7-Dec-1982", 30292 +"1-1-2008", 39448 +"2038-01-19", 50424 +"2-6-2008", 39601 +"December 25th 2008", 39807 // MS Excel will fail with a #VALUE return, but PHPExcel can parse this date +"1 Jan-2008", 39448 +"12-31-2008", 39813 // MS Excel success or failure dependent on country settings +"31-12-2008", 39813 // PHPExcel tries to handle both US and UK formats, irrespective of country settings +"8/22/2008", 39682 // MS Excel success or failure dependent on country settings +"22/8/2008", 39682 // PHPExcel tries to handle both US and UK formats, irrespective of country settings +"22/8/08", 39682 +"22-AUG-2008", 39682 +"2008/02/23", 39501 +"6-7-2008", 39635 +"28-2-2007", 39141 // MS Excel success or failure dependent on country settings +"2-28-2007", 39141 // PHPExcel tries to handle both US and UK formats, irrespective of country settings +"29-2-2007", "#VALUE!" // Should fail because it's an invalid date, but PHPExcel currently adjusts to 1-3-2007 - FIX NEEDED +"1/1/1999", 36161 +"1954-07-20", 19925 +"22 August 98", 36029 +"1st March 2007", 39142 // MS Excel will fail with a #VALUE return, but PHPExcel can parse this date +"The 1st day of March 2007", "#VALUE!" +"1 Jan", 41275 +"31/12", 41639 +"12/31", 11658 // Excel reads as 1st December 1931, not 31st December in current year +"5-JUL", 41460 +"5 Jul", 41460 +"12/2008", 39783 +"10/32", 11963 +11, "#VALUE!" +TRUE, "#VALUE!" +FALSE, "#VALUE!" +1, "#VALUE!" +12345, "#VALUE!" +12, "#VALUE!" +"12-Feb-2010", 40221 +"Feb-12-2010", 40221 // MS Excel will fail with a #VALUE return, but PHPExcel can parse this date +"February-12-2010", 40221 // MS Excel will fail with a #VALUE return, but PHPExcel can parse this date +"February 12 2010", 40221 // MS Excel will fail with a #VALUE return, but PHPExcel can parse this date +"18 Feb 2010", 40227 +"17th 3rd 2010", 40254 // MS Excel will fail with a #VALUE return, but PHPExcel can parse this date +"Feb 18th 2010", 40227 // MS Excel will fail with a #VALUE return, but PHPExcel can parse this date +"1st Feb 2010", 40210 // MS Excel will fail with a #VALUE return, but PHPExcel can parse this date +"1st-Feb-2010", 40210 // MS Excel will fail with a #VALUE return, but PHPExcel can parse this date +"1me Fev 2010", "#VALUE!" +"February 1st 2010", 40210 // MS Excel will fail with a #VALUE return, but PHPExcel can parse this date +"2nd Feb 2010", 40211 // MS Excel will fail with a #VALUE return, but PHPExcel can parse this date +"Second Feb 2010", "#VALUE!" +"First August 2010", "#VALUE!" +"1st August 2010", 40391 // MS Excel will fail with a #VALUE return, but PHPExcel can parse this date +"15:30:25", 0 diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/DateTime/DAY.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/DateTime/DAY.data new file mode 100644 index 00000000..e49059c2 --- /dev/null +++ b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/DateTime/DAY.data @@ -0,0 +1,8 @@ +# Date Value Result +22269, 19 +30348, 1 +30843, 10 +"11-Nov-1918", 11 +"28-Feb-1904", 28 +"Invalid", "#VALUE!" +-1, "#NUM!" diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/DateTime/DAYS360.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/DateTime/DAYS360.data new file mode 100644 index 00000000..7f36686a --- /dev/null +++ b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/DateTime/DAYS360.data @@ -0,0 +1,34 @@ +"ABC", "2007-1-10", FALSE, "#VALUE!" +"2007-1-1", "DEF", TRUE, "#VALUE!" +"2007-1-1", "2007-1-10", "XYZ", "#VALUE!" +"2007-1-10", "2007-1-1", "Y", "#VALUE!" +"2007-1-1", "2007-1-10", FALSE, 9 +"2007-1-1", "2007-1-10", TRUE, 9 +"2007-1-1", "2007-12-31", FALSE, 360 +"2007-1-1", "2007-12-31", TRUE, 359 +"2007-1-1", "2008-7-1", FALSE, 540 +"2007-1-1", "2008-7-1", TRUE, 540 +"2007-1-1", "2007-1-31", FALSE, 30 +"2007-1-1", "2007-1-31", TRUE, 29 +"2007-1-1", "2007-2-1", FALSE, 30 +"2007-1-1", "2007-2-1", TRUE, 30 +"2007-1-1", "2007-2-28", FALSE, 57 +"2007-1-1", "2007-2-28", TRUE, 57 +"2007-1-31", "2007-2-1", FALSE, 1 +"2007-1-31", "2007-2-1", TRUE, 1 +"2007-1-31", "2007-3-1", FALSE, 31 +"2007-1-31", "2007-3-1", TRUE, 31 +"2007-1-31", "2007-3-31", FALSE, 60 +"2007-1-31", "2007-3-31", TRUE, 60 +"2008-1-1", "2008-9-1", FALSE, 240 +"2008-1-1", "2008-9-1", TRUE, 240 +"2007-2-1", "2008-4-1", FALSE, 420 +"2007-2-1", "2008-4-1", TRUE, 420 +"1960-12-19", "2008-6-28", FALSE, 17109 +"1960-12-19", "2008-6-28", TRUE, 17109 +"1982-12-7", "2008-6-28", FALSE, 9201 +"1982-12-7", "2008-6-28", TRUE, 9201 +"2000-2-28", "2000-3-31", FALSE, 33 +"2000-2-28", "2000-3-31", TRUE, 32 +"2000-2-29", "2000-3-31", FALSE, 30 +"2000-2-29", "2000-3-31", TRUE, 31 diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/DateTime/EDATE.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/DateTime/EDATE.data new file mode 100644 index 00000000..711c4ed0 --- /dev/null +++ b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/DateTime/EDATE.data @@ -0,0 +1,15 @@ +"15-Jan-2008", 1, 39493 +"15-Jan-2008", -1, 39431 +"15-Jan-2008", 2, 39522 +"31-Mar-2007", 1, 39202 +"31-Mar-2007", -1, 39141 +"31-Mar-2008", -1, 39507 +"31-Mar-2008", -4, 39416 +"29-Feb-2008", -12, 39141 +"15-Mar-2007", 3, 39248 +22269.0, 0, 22269 +22269.0, 2, 22331 +22269.0, 110, 25618 +22269.0, -110, 18920 +"15-Mar-2007", "ABC", "#VALUE!" +"Invalid", 12, "#VALUE!" diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/DateTime/EOMONTH.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/DateTime/EOMONTH.data new file mode 100644 index 00000000..641228c3 --- /dev/null +++ b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/DateTime/EOMONTH.data @@ -0,0 +1,17 @@ +"15-Jan-2008", 1, 39507 +"15-Jan-2008", -1, 39447 +"15-Jan-2008", 2, 39538 +"31-Mar-2007", 1, 39202 +"31-Mar-2007", -1, 39141 +"31-Mar-2008", -1, 39507 +"31-Mar-2008", -4, 39416 +"29-Feb-2008", -12, 39141 +"15-Mar-2007", 3, 39263 +22269.0, 0, 22281 +22269.0, 2, 22340 +22269.0, 110, 25627 +22269.0, -110, 18932 +22269.0, 3, 22371 +22269.0, 3.75, 22371 +"15-Mar-2007", "ABC", "#VALUE!" +"Invalid", 12, "#VALUE!" diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/DateTime/HOUR.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/DateTime/HOUR.data new file mode 100644 index 00000000..76276fd4 --- /dev/null +++ b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/DateTime/HOUR.data @@ -0,0 +1,12 @@ +0.25, 6 +0.75, 18 +0.5, 12 +0.6, 14 +"11-Nov-1918 11:11", 11 +"11:59 PM", 23 +"23:59:59", 23 +3600, 2 +-3600, 0 +7200, 3 +65535, 19 +"1 O'Clock", "#VALUE!" diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/DateTime/MINUTE.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/DateTime/MINUTE.data new file mode 100644 index 00000000..4de34c8a --- /dev/null +++ b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/DateTime/MINUTE.data @@ -0,0 +1,12 @@ +0.2, 48 +0.4, 36 +0.6, 24 +0.8, 12 +"11-Nov-1918 11:15", 15 +"11:59 PM", 59 +"23:59:59", 59 +3600, 0 +-3600, 0 +12500, 28 +65535, 12 +"Half past 1 O'Clock", "#VALUE!" diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/DateTime/MONTH.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/DateTime/MONTH.data new file mode 100644 index 00000000..3635b956 --- /dev/null +++ b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/DateTime/MONTH.data @@ -0,0 +1,12 @@ +, 1 +0, 1 +22269.0, 12 +30348.0, 2 +30843.0, 6 +"11-Nov-1918", 11 +"28-Feb-1904", 2 +"01 Jul 2003", 7 +38094, 4 +"Dec 2003", 12 +-10, "#NUM!" +"ABCD", "#VALUE!" diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/DateTime/NETWORKDAYS.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/DateTime/NETWORKDAYS.data new file mode 100644 index 00000000..a46a2880 --- /dev/null +++ b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/DateTime/NETWORKDAYS.data @@ -0,0 +1,18 @@ +"1-Jan-2007", "10-Jan-2007", 8 +"18-Jun-2008", "20-Jun-2008", 3 +"16-Jun-2008", "20-Jun-2008", 5 +"14-Jun-2008", "20-Jun-2008", 5 +"20-Jun-2008", "20-Jun-2008", 1 +"21-Jun-2008", "21-Jun-2008", 0 +"20-Jun-2008", "20-Jun-2008", "20-Jun-2008", 0 +"20-Jun-2008", "20-Jun-2008", "20-Jun-2008", "20-Jun-2008", 0 +"14-Jun-2008", "25-Jun-2008", 8 +"19-Dec-1960", "10-Jan-1961", 17 +"10-Jan-1961", "19-Dec-1960", -17 +"19-Dec-1960", "10-Jan-1961", "25-Dec-1960", "26-Dec-1960", "01-Jan-1961", 16 +"10-Jan-1961", "19-Dec-1960", "25-Dec-1960", "26-Dec-1960", "01-Jan-1961", -16 +"1-Jan-2007", "31-Mar-2007", 65 +"1-Jan-2007", "31-Jan-2007", 23 +"1-Jan-2007", "1-Feb-2007", 24 +"1-Jan-2007", "28-Feb-2007", 43 +"31-Jan-2007", "1-Feb-2007", 2 diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/DateTime/SECOND.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/DateTime/SECOND.data new file mode 100644 index 00000000..d242875e --- /dev/null +++ b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/DateTime/SECOND.data @@ -0,0 +1,12 @@ +0.2339930556, 57 +0.4202893519, 13 +0.6078935185, 22 +0.8022106481, 11 +"11-Nov-1918 11:15:35", 35 +"11:59 PM", 0 +"23:59:59", 59 +3600, 0 +-3601, 59 +12500, 20 +65535, 15 +"Half past 1 O'Clock", "#VALUE!" diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/DateTime/TIME.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/DateTime/TIME.data new file mode 100644 index 00000000..e97d14ac --- /dev/null +++ b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/DateTime/TIME.data @@ -0,0 +1,22 @@ +18, 11, 11, 0.757766203704 +6, 15, 5, 0.260474537037 +12, 30, 10, 0.520949074074 +18, 45, 25, 0.781539351852 +15, 32, 50, 0.647800925926 +12, , 61, 0.500706018519 +11, , -1, 0.458321759259 +10, , -67, 0.415891203704 +13, 62, 5, 0.584780092593 +9, -80, 17, 0.319641203704 +8, -162, , 0.220833333333 +2, -120, -1, "#NUM!" +2, -120, , 0.000000000000 +2, -120, 1, 0.000011574074 +36, 1, 2, 0.500717592593 +-1, 2, 3, "#NUM!" +-1, 61, 29, 0.001030092593 +-1, 61, -60, 0.000000000000 +"A", , , "#VALUE!" +11, 59, 0, 0.499305555556 +12, 0, 0, 0.500000000000 +16, 48, 10, 0.700115740741 diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/DateTime/TIMEVALUE.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/DateTime/TIMEVALUE.data new file mode 100644 index 00000000..1fc4a226 --- /dev/null +++ b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/DateTime/TIMEVALUE.data @@ -0,0 +1,13 @@ +"12:00:00 am", 0 +"12:01:02 am", 0.000717593 +"12:03 pm", 0.502083333 +"12:7:11 pm", 0.504988426 +"4:13:39", 0.176145833 +"6:20:17 pm", 0.764085648 +"18:33:27", 0.773229167 +"31/12/2007 03:27:15", 0.143923611 +"9:44:55 pm", 0.90619213 +12, "#VALUE!" +"13:01", 0.542361111 +"33:45", 0.40625 +"13:01PM", "#VALUE!" diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/DateTime/WEEKDAY.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/DateTime/WEEKDAY.data new file mode 100644 index 00000000..29159f56 --- /dev/null +++ b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/DateTime/WEEKDAY.data @@ -0,0 +1,27 @@ +"24-Oct-1968", 5 +"24-Oct-1968", 2, 4 +"24-Oct-1968", 3, 3 +"2000-06-14", 4 +"2000-06-14", 2, 3 +"2000-06-14", 3, 2 +"1996-07-24", 4 +"1996-07-24", 2, 3 +"1996-07-24", 3, 2 +"1996-07-27", 7 +"1996-07-27", 2, 6 +"1996-07-27", 3, 5 +"1977-7-31", 1 +"1977-7-31", 2, 7 +"1977-7-31", 3, 6 +"1977-8-1", 2 +"1977-8-1", 2, 1 +"1977-8-1", 3, 0 +"1900-2-5", 2, 7 +"1900-2-1", 1 +38093, 6 +38093, 2, 5 +38093, 3, 4 +"3/7/1977", "A", "#VALUE!" +"3/7/1977", 0, "#NUM!" +"Invalid", 1, "#VALUE!" +-1, "#NUM!" diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/DateTime/WEEKNUM.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/DateTime/WEEKNUM.data new file mode 100644 index 00000000..c0011887 --- /dev/null +++ b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/DateTime/WEEKNUM.data @@ -0,0 +1,7 @@ +"21-Dec-2000", 1, 52 +"1995-01-01", 1, 1 +"3/7/1977", 27 +"3/7/1977", "A", "#VALUE!" +"3/7/1977", 0, "#NUM!" +"Invalid", 1, "#VALUE!" +-1, "#NUM!" diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/DateTime/WORKDAY.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/DateTime/WORKDAY.data new file mode 100644 index 00000000..b1443380 --- /dev/null +++ b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/DateTime/WORKDAY.data @@ -0,0 +1,13 @@ +"1-Jan-2007", "ABC", "#VALUE!" +"1-Jan-2007", 9, 39094 +"18-Jun-2008", 2, 39619 +"16-Jun-2008", 4, 39619 +"14-Jun-2008", 6, 39622 +"14-Jun-2008", 11, 39629 +"14-Jun-2008", -2, 39611 +"14-Jun-2008", -6, 39605 +"19-Dec-2008", 10, 39815 +"19-Dec-2008", 10, "25-Dec-2008", "26-Dec-2008", "01-Jan-2009", 39820 +"19-Dec-2008", 10, {"25-Dec-2008"|"26-Dec-2008"|"01-Jan-2009"}, 39820 +39820, -10, {"25-Dec-2008"|"26-Dec-2008"|"01-Jan-2009"}, 39801 +"5-Apr-2012", 3, {"6-Apr-2012"|"9-Apr-2012"}, 41010 diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/DateTime/YEAR.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/DateTime/YEAR.data new file mode 100644 index 00000000..5bbbae04 --- /dev/null +++ b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/DateTime/YEAR.data @@ -0,0 +1,11 @@ +, 1900 +1, 1900 +33333.33, 1991 +22269.0, 1960 +30348.0, 1983 +30843.0, 1984 +"01 Jan 2525", 2525 +"11-Nov-1918", 1918 +"28-Feb-1904", 1904 +-10, "#NUM!" +"ABCD", "#VALUE!" diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/DateTime/YEARFRAC.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/DateTime/YEARFRAC.data new file mode 100644 index 00000000..c56804da --- /dev/null +++ b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/DateTime/YEARFRAC.data @@ -0,0 +1,65 @@ +"2007-1-1", "2007-1-10", 0, 0.025 +"2007-1-1", "2007-1-10", 1, 0.02465753424658 +"2007-1-1", "2007-1-10", 2, 0.025 +"2007-1-1", "2007-1-10", 3, 0.02465753424658 +"2007-1-1", "2007-1-10", 4, 0.025 +"2007-1-1", "2007-12-31", 0, 1.0 +"2007-1-1", "2007-12-31", 1, 0.99726027397260 +"2007-1-1", "2007-12-31", 2, 1.01111111111111 +"2007-1-1", "2007-12-31", 3, 0.99726027397260 +"2007-1-1", "2007-12-31", 4, 0.99722222222222 +"2007-1-1", "2008-7-1", 0, 1.5 +"2007-1-1", "2008-7-1", 1, 1.49658002735978 +"2007-1-1", "2008-7-1", 2, 1.51944444444444 +"2007-1-1", "2008-7-1", 3, 1.49863013698630 +"2007-1-1", "2008-7-1", 4, 1.5 +"2007-1-1", "2007-1-31", 0, 0.08333333333333 +"2007-1-1", "2007-1-31", 1, 0.08219178082192 +"2007-1-1", "2007-1-31", 2, 0.08333333333333 +"2007-1-1", "2007-1-31", 3, 0.08219178082192 +"2007-1-1", "2007-1-31", 4, 0.08055555555556 +"2007-1-1", "2007-2-1", 0, 0.08333333333333 +"2007-1-1", "2007-2-1", 1, 0.08493150684932 +"2007-1-1", "2007-2-1", 2, 0.08611111111111 +"2007-1-1", "2007-2-1", 3, 0.08493150684932 +"2007-1-1", "2007-2-1", 4, 0.08333333333333 +"2007-1-1", "2007-2-28", 0, 0.15833333333333 +"2007-1-1", "2007-2-28", 1, 0.15890410958904 +"2007-1-1", "2007-2-28", 2, 0.16111111111111 +"2007-1-1", "2007-2-28", 3, 0.15890410958904 +"2007-1-1", "2007-2-28", 4, 0.15833333333333 +"2007-1-31", "2007-2-1", 0, 0.00277777777778 +"2007-1-31", "2007-2-1", 1, 0.00273972602740 +"2007-1-31", "2007-2-1", 2, 0.00277777777778 +"2007-1-31", "2007-2-1", 3, 0.00273972602740 +"2007-1-31", "2007-2-1", 4, 0.00277777777778 +"2007-1-31", "2007-3-1", 0, 0.08611111111111 +"2007-1-31", "2007-3-1", 1, 0.07945205479452 +"2007-1-31", "2007-3-1", 2, 0.08055555555556 +"2007-1-31", "2007-3-1", 3, 0.07945205479452 +"2007-1-31", "2007-3-1", 4, 0.08611111111111 +"2007-1-31", "2007-3-31", 0, 0.16666666666667 +"2007-1-31", "2007-3-31", 1, 0.16164383561644 +"2007-1-31", "2007-3-31", 2, 0.16388888888889 +"2007-1-31", "2007-3-31", 3, 0.16164383561644 +"2007-1-31", "2007-3-31", 4, 0.16666666666667 +"2008-1-1", "2008-9-1", 0, 0.66666666666667 +"2008-1-1", "2008-9-1", 1, 0.66666666666667 +"2008-1-1", "2008-9-1", 2, 0.67777777777778 +"2008-1-1", "2008-9-1", 3, 0.66849315068493 +"2008-1-1", "2008-9-1", 4, 0.66666666666667 +"2007-2-1", "2008-4-1", 0, 1.16666666666667 +"2007-2-1", "2008-4-1", 1, 1.16279069767442 +"2007-2-1", "2008-4-1", 2, 1.18055555555556 +"2007-2-1", "2008-4-1", 3, 1.16438356164384 +"2007-2-1", "2008-4-1", 4, 1.16666666666667 +"1960-12-19", "2008-6-28", 0, 47.525 +"1960-12-19", "2008-6-28", 1, 47.52162252765670 +"1960-12-19", "2008-6-28", 2, 48.21666666666670 +"1960-12-19", "2008-6-28", 3, 47.55616438356160 +"1960-12-19", "2008-6-28", 4, 47.525 +"1982-12-7", "2008-6-28", 0, 25.55833333333330 +"1982-12-7", "2008-6-28", 1, 25.55718921111340 +"1982-12-7", "2008-6-28", 2, 25.93055555555560 +"1982-12-7", "2008-6-28", 3, 25.57534246575340 +"1982-12-7", "2008-6-28", 4, 25.55833333333330 diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/BESSELI.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/BESSELI.data new file mode 100644 index 00000000..c5d347e8 --- /dev/null +++ b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/BESSELI.data @@ -0,0 +1,59 @@ +1.5, -1, "#NUM!" +-1, 6, 2.2488660949282200E-05 +0, 3, 0.0 +3, 0, 4.8807925650332900 +1, 5, 2.7146314958504900E-04 +1.5, 1, 9.8166642847516600E-01 +-1.5, 2.5, 3.3783462087443800E-01 +-1.5, 14.99, 2.1218581758012900E-13 +1, 30, 3.5395005050254700E-42 +2.5, 1, 2.5167162420253600 +2.5, 1.5, 2.5167162420253600 +-2.5, 1.5, -2.5167162420253600 +3.5, 1, 6.2058349320630000 +0.7, 3, 7.3673733669342700E-03 +3.5, 2, 3.8320120716293600 +35, 2, 1.0129348967887200E+14 +-35, 2, 1.0129348967887200E+14 +-35, 3, -9.4217724797020600E+13 +-35, 4, 8.5141821583727800E+13 +1.5, "XYZ", "#VALUE!" +"ABC", 3, "#VALUE!" +-9, 1, -1.0309147086534900E+03 +-3.5, 1, -6.2058349320630000 +-0.735, 1, -3.9288151661176300E-01 +0, 1, 0.0 +0.035, 1, 1.7502679823335300E-02 +1, 1, 5.6515909758194300E-01 +1.5, 1, 9.8166642847516600E-01 +2.5, 1, 2.5167162420253600 +3.5, 1, 6.2058349320630000 +-9, 2, 8.6449622063929800E+02 +-3.5, 2, 3.8320120716293600 +-0.735, 2, 7.0619941066585700E-02 +0, 2, 0.0 +0.035, 2, 1.5314063208086000E-04 +0.9, 2, 1.0825972222234100E-01 +1, 2, 1.3574766658069900E-01 +1.9, 2, 6.0327243548745000E-01 +2.5, 2, 1.2764661588156100 +3.5, 2, 3.8320120716293600 +4, 2, 6.4221894991960900 +0.035, 3, 8.9329755645604500E-07 +0.7, 3, 7.3673733669342700E-03 +0.89, 3, 1.5428502532466100E-02 +4, 3, 3.3372758428109200 +4, 5, 5.0472437285149600E-01 +1.5, 7, 2.8406417355214300E-05 +3, 9, 1.3237298826652200E-04 +-3.5, 0, 7.3782034775718600 +-1.5, 0, 1.6467232021476800 +0, 0, 1.0 +1, 0, 1.2660658480342600 +1.5, 0, 1.6467232021476800 +2.5, 0, 3.2898391723912900 +3.5, 0, 7.3782034775718600 +-3.5, -1, "#NUM!" +TRUE, 1, "#VALUE!" +1, TRUE, "#VALUE!" +21, 2, 1.0477785626593200E+08 diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/BESSELJ.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/BESSELJ.data new file mode 100644 index 00000000..f0d32bdb --- /dev/null +++ b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/BESSELJ.data @@ -0,0 +1,37 @@ +1.5, -1, "#NUM!" +0, 1, 0.0 +1, 1, 4.4005058567713000E-01 +1, 5, 2.4975773021123400E-04 +1.9, 2, 3.2992582866978500E-01 +-2.5, 1.5, -4.9709410250442200E-01 +3.5, 1, 1.3737752717818600E-01 +0.89, 3, 1.3974004027880800E-02 +3.5, 2, 4.5862918476829000E-01 +35, 2, 1.2935945082689100E-01 +-35, 2, 1.2935945082689100E-01 +-35, 3, 2.9207004782372000E-02 +-35, 4, -1.3436636593244100E-01 +1.5, "XYZ", "#VALUE!" +"ABC", 3, "#VALUE!" +-3.5, 1, -1.3737752717818600E-01 +-0.735, 1, -3.4323577520309400E-01 +0, 1, 0.0 +0.035, 1, 1.7497320451918700E-02 +1.5, 1, 5.5793650789080400E-01 +2.5, 1, 4.9709410250442200E-01 +3.5, 1, 1.3737752717818600E-01 +-9, 2, 1.4484636919412800E-01 +-0.735, 2, 6.4538955636373900E-02 +0, 2, 0.0 +0.9, 2, 9.4586304292255000E-02 +1.9, 2, 3.2992582866978500E-01 +0.035, 2, 1.5310936908796500E-04 +3.5, 2, 4.5862918476829000E-01 +4, 2, 3.6412814319431200E-01 +0.035, 3, 8.9316078090293600E-07 +0.7, 3, 6.9296548267509400E-03 +0.89, 3, 1.3974004027880800E-02 +4, 3, 4.3017147115339600E-01 +4, 5, 1.3208665605594800E-01 +1.5, 7, 2.4679795788287900E-05 +3, 9, 8.4395021309091800E-05 diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/BESSELK.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/BESSELK.data new file mode 100644 index 00000000..992d8945 --- /dev/null +++ b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/BESSELK.data @@ -0,0 +1,38 @@ +1.5, -1, "#NUM!" +0, 2, "#NUM!" +0.1, 3, 7.9900124326586500E+03 +1, 0, 4.2102442108341800E-01 +1.5, 0, 2.1380556932365400E-01 +-1.5, 2, "#NUM!" +1.5, 1, 2.7738780363225900E-01 +1.5, 2, 5.8365597416666600E-01 +2.3, 1.5, 9.4982447142959400E-02 +2.5, 1, 7.3890815650266900E-02 +3.5, 1, 2.2239393224640700E-02 +3.5, 3, 5.9161817991348200E-02 +3, 9, 3.9795880106238500E+02 +3.5, 2, 3.2307121670869000E-02 +1.5, "XYZ", "#VALUE!" +"ABC", 3, "#VALUE!" +-3.5, 1, "#NUM!" +-0.735, 1, "#NUM!" +0, 1, "#NUM!" +0.035, 1, 2.8501970000186900E+01 +1.5, 1, 2.7738780363225900E-01 +2.5, 1, 7.3890815650266900E-02 +3.5, 1, 2.2239393224640700E-02 +-9, 2, "#NUM!" +-0.735, 2, "#NUM!" +0, 2, "#NUM!" +0.9, 2, 2.0790271301014400 +1.9, 2, 2.9690930137427500E-01 +0.035, 2, 1.6321537072931900E+03 +3.5, 2, 3.2307121670869000E-02 +4, 2, 1.7401425543547400E-02 +0.035, 3, 1.8656035423207900E+05 +0.7, 3, 2.1972168909566600E+01 +0.89, 3, 1.0317473075007600E+01 +4, 3, 2.9884924431707800E-02 +4, 5, 1.5434254881392600E-01 +1.5, 7, 2.4577004526116700E+03 +3, 9, 3.9795880106238500E+02 diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/BESSELY.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/BESSELY.data new file mode 100644 index 00000000..90aea973 --- /dev/null +++ b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/BESSELY.data @@ -0,0 +1,37 @@ +1.5, -1, "#NUM!" +1.23, 45.67, -2.7027311261175000E+63 +2.5, 0, 4.9807035844668900E-01 +2.5, 1, 1.4591813750831300E-01 +2.5, 2, -3.8133584844003800E-01 +3.5, 1, 4.1018841662769800E-01 +3.5, 3, -3.5833534643622900E-01 +4, 2, 2.1590359910699000E-01 +3.5, 2, 4.5371436417535000E-02 +12.5, 0, -1.7121430684466900E-01 +12.5, 1, -1.5383825635163900E-01 +12.5, 2, 1.4660018586805400E-01 +12.5, 22, -3.5760343503878700E+02 +1.5, "XYZ", "#VALUE!" +"ABC", 3, "#VALUE!" +-3.5, 1, "#NUM!" +-0.735, 1, "#NUM!" +0, 1, "#NUM!" +0.035, 1, -1.8233338940000000E+01 +1.5, 1, -4.1230862700000000E-01 +2.5, 1, 1.4591813800000000E-01 +3.5, 1, 4.1018841700000000E-01 +-9, 2, "#NUM!" +-0.735, 2, "#NUM!" +0, 2, "#NUM!" +0.9, 2, -1.9459096070000000 +1.9, 2, -6.6987867400000000E-01 +0.035, 2, -1.0396979410000000E+03 +3.5, 2, 4.5371436000000000E-02 +4, 2, 2.1590359900000000E-01 +0.035, 3, -1.1880438840000000E+05 +0.7, 3, -1.5819479070000000E+01 +0.89, 3, -8.0204412520000000 +4, 3, -1.8202211000000000E-01 +4, 5, -7.9585141800000000E-01 +1.5, 7, -1.8873970340000000E+03 +3, 9, -4.4495950710000000E+02 diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/BIN2DEC.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/BIN2DEC.data new file mode 100644 index 00000000..74f9159b --- /dev/null +++ b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/BIN2DEC.data @@ -0,0 +1,10 @@ +"10110010", "178" +"1100100", "100" +"111001010101", "#NUM!" // Too large +"101", "5" +"10", "2" +"0", "0" +"21", "#NUM!" // Invalid binary number +TRUE, "#VALUE!" // Non string +"1110010101", "-107" // 2's Complement +"1111111111", "-1" // 2's Complement diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/BIN2HEX.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/BIN2HEX.data new file mode 100644 index 00000000..13af46ff --- /dev/null +++ b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/BIN2HEX.data @@ -0,0 +1,14 @@ +"10110010", "B2" +"111001010101", "#NUM!" // Too large +"11111011", 4, "00FB" // Leading places +"11111011", 3.75, "0FB" // Leading places as a float +"11111011", -1, "#NUM!" // Leading places negative +"11111011", "ABC", "#VALUE!" // Leading places non-numeric +"1110", "E" +"101", "5" +"10", "2" +"0", "0" +"21", "#NUM!" // Invalid binary number +TRUE, "#VALUE!" // Non string +"1110010101", "FFFFFFFF95" // 2's Complement +"1111111111", "FFFFFFFFFF" // 2's Complement diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/BIN2OCT.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/BIN2OCT.data new file mode 100644 index 00000000..fa1f5d5b --- /dev/null +++ b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/BIN2OCT.data @@ -0,0 +1,15 @@ +"1100100", "144" +"10110010", "262" +"111001010101", "#NUM!" // Too large +"1001", 3, "011" // Leading places +"1001", 4.75, "0011" // Leading places as a float +"1001", -1, "#NUM!" // Leading places negative +"1001", "ABC", "#VALUE!" // Leading places non-numeric +"00000010", "2" +"00000101", "5" +"00001101", "15" +"0", "0" +"21", "#NUM!" // Invalid binary number +TRUE, "#VALUE!" // Non string +"1110010101", "7777777625" // 2's Complement +"1111111111", "7777777777" // 2's Complement diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/COMPLEX.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/COMPLEX.data new file mode 100644 index 00000000..a1883443 --- /dev/null +++ b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/COMPLEX.data @@ -0,0 +1,547 @@ +3, 4, "3+4i" +3, 4, "j", "3+4j" +12.34, 5.67, "j", "12.34+5.67j" +3.5, "A", "#VALUE!" +1.234E-5, 6.78E9, "1.234E-5+6780000000i" +1.234E5, 6.78E-9, "123400+6.78E-9i" +3.5, 2.5, "3.5+2.5i" +3.5, 1, "3.5+i" +3.5, 0, 3.5 +3.5, -1, "3.5-i" +3.5, -2.5, "3.5-2.5i" +1, 2.5, "1+2.5i" +1, 1, "1+i" +1, 0, 1 +1, -1, "1-i" +1, -2.5, "1-2.5i" +0, 2.5, "2.5i" +0, 1, "i" +0, 0, 0 +0, -1, "-i" +0, -2.5, "-2.5i" +-1, 2.5, "-1+2.5i" +-1, 1, "-1+i" +-1, 0, -1 +-1, -1, "-1-i" +-1, -2.5, "-1-2.5i" +-3.5, 2.5, "-3.5+2.5i" +-3.5, 1, "-3.5+i" +-3.5, 0, "-3.5" +-3.5, -1, "-3.5-i" +-3.5, -2.5, "-3.5-2.5i" +-2.5, -2.5, "-2.5-2.5i" +-2.5, -2.5, "-2.5-2.5i" +-1.5, -2.5, "-1.5-2.5i" +-1.5, -2.5, "-1.5-2.5i" +-0.5, -2.5, "-0.5-2.5i" +0, -2.5, "-2.5i" +0.5, -2.5, "0.5-2.5i" +1, -2.5, "1-2.5i" +1.5, -2.5, "1.5-2.5i" +2, -2.5, "2-2.5i" +2.5, -2.5, "2.5-2.5i" +3, -2.5, "3-2.5i" +3.5, -2.5, "3.5-2.5i" +-2.5, -2.5, "-2.5-2.5i" +-2.5, -2.5, "-2.5-2.5i" +-1.5, -2.5, "-1.5-2.5i" +-1.5, -2.5, "-1.5-2.5i" +-0.5, -2.5, "-0.5-2.5i" +0, -2.5, "-2.5i" +0.5, -2.5, "0.5-2.5i" +1, -2.5, "1-2.5i" +1.5, -2.5, "1.5-2.5i" +2, -2.5, "2-2.5i" +2.5, -2.5, "2.5-2.5i" +3, -2.5, "3-2.5i" +3.5, -2.5, "3.5-2.5i" +-2.5, -1.5, "-2.5-1.5i" +-2.5, -1.5, "-2.5-1.5i" +-1.5, -1.5, "-1.5-1.5i" +-1.5, -1.5, "-1.5-1.5i" +-0.5, -1.5, "-0.5-1.5i" +0, -1.5, "-1.5i" +0.5, -1.5, "0.5-1.5i" +1, -1.5, "1-1.5i" +1.5, -1.5, "1.5-1.5i" +2, -1.5, "2-1.5i" +2.5, -1.5, "2.5-1.5i" +3, -1.5, "3-1.5i" +3.5, -1.5, "3.5-1.5i" +-2.5, -1.5, "-2.5-1.5i" +-2.5, -1.5, "-2.5-1.5i" +-1.5, -1.5, "-1.5-1.5i" +-1.5, -1.5, "-1.5-1.5i" +-0.5, -1.5, "-0.5-1.5i" +0, -1.5, "-1.5i" +0.5, -1.5, "0.5-1.5i" +1, -1.5, "1-1.5i" +1.5, -1.5, "1.5-1.5i" +2, -1.5, "2-1.5i" +2.5, -1.5, "2.5-1.5i" +3, -1.5, "3-1.5i" +3.5, -1.5, "3.5-1.5i" +-2.5, -0.5, "-2.5-0.5i" +-2.5, -0.5, "-2.5-0.5i" +-1.5, -0.5, "-1.5-0.5i" +-1.5, -0.5, "-1.5-0.5i" +-0.5, -0.5, "-0.5-0.5i" +0, -0.5, "-0.5i" +0.5, -0.5, "0.5-0.5i" +1, -0.5, "1-0.5i" +1.5, -0.5, "1.5-0.5i" +2, -0.5, "2-0.5i" +2.5, -0.5, "2.5-0.5i" +3, -0.5, "3-0.5i" +3.5, -0.5, "3.5-0.5i" +-2.5, 0, -2.5 +-2.5, 0, -2.5 +-1.5, 0, -1.5 +-1.5, 0, -1.5 +-0.5, 0, -0.5 +0, 0, 0 +0.5, 0, 0.5 +1, 0, 1 +1.5, 0, 1.5 +2, 0, 2 +2.5, 0, 2.5 +3, 0, 3 +3.5, 0, 3.5 +-2.5, 0.5, "-2.5+0.5i" +-2.5, 0.5, "-2.5+0.5i" +-1.5, 0.5, "-1.5+0.5i" +-1.5, 0.5, "-1.5+0.5i" +-0.5, 0.5, "-0.5+0.5i" +0, 0.5, "0.5i" +0.5, 0.5, "0.5+0.5i" +1, 0.5, "1+0.5i" +1.5, 0.5, "1.5+0.5i" +2, 0.5, "2+0.5i" +2.5, 0.5, "2.5+0.5i" +3, 0.5, "3+0.5i" +3.5, 0.5, "3.5+0.5i" +-2.5, 1, "-2.5+i" +-2.5, 1, "-2.5+i" +-1.5, 1, "-1.5+i" +-1.5, 1, "-1.5+i" +-0.5, 1, "-0.5+i" +0, 1, "i" +0.5, 1, "0.5+i" +1, 1, "1+i" +1.5, 1, "1.5+i" +2, 1, "2+i" +2.5, 1, "2.5+i" +3, 1, "3+i" +3.5, 1, "3.5+i" +-2.5, 1.5, "-2.5+1.5i" +-2.5, 1.5, "-2.5+1.5i" +-1.5, 1.5, "-1.5+1.5i" +-1.5, 1.5, "-1.5+1.5i" +-0.5, 1.5, "-0.5+1.5i" +0, 1.5, "1.5i" +0.5, 1.5, "0.5+1.5i" +1, 1.5, "1+1.5i" +1.5, 1.5, "1.5+1.5i" +2, 1.5, "2+1.5i" +2.5, 1.5, "2.5+1.5i" +3, 1.5, "3+1.5i" +3.5, 1.5, "3.5+1.5i" +-2.5, 2, "-2.5+2i" +-2.5, 2, "-2.5+2i" +-1.5, 2, "-1.5+2i" +-1.5, 2, "-1.5+2i" +-0.5, 2, "-0.5+2i" +0, 2, "2i" +0.5, 2, "0.5+2i" +1, 2, "1+2i" +1.5, 2, "1.5+2i" +2, 2, "2+2i" +2.5, 2, "2.5+2i" +3, 2, "3+2i" +3.5, 2, "3.5+2i" +-2.5, 2.5, "-2.5+2.5i" +-2.5, 2.5, "-2.5+2.5i" +-1.5, 2.5, "-1.5+2.5i" +-1.5, 2.5, "-1.5+2.5i" +-0.5, 2.5, "-0.5+2.5i" +0, 2.5, "2.5i" +0.5, 2.5, "0.5+2.5i" +1, 2.5, "1+2.5i" +1.5, 2.5, "1.5+2.5i" +2, 2.5, "2+2.5i" +2.5, 2.5, "2.5+2.5i" +3, 2.5, "3+2.5i" +3.5, 2.5, "3.5+2.5i" +-2.5, 3, "-2.5+3i" +-2.5, 3, "-2.5+3i" +-1.5, 3, "-1.5+3i" +-1.5, 3, "-1.5+3i" +-0.5, 3, "-0.5+3i" +0, 3, "3i" +0.5, 3, "0.5+3i" +1, 3, "1+3i" +1.5, 3, "1.5+3i" +2, 3, "2+3i" +2.5, 3, "2.5+3i" +3, 3, "3+3i" +3.5, 3, "3.5+3i" +-2.5, 3.5, "-2.5+3.5i" +-2.5, 3.5, "-2.5+3.5i" +-1.5, 3.5, "-1.5+3.5i" +-1.5, 3.5, "-1.5+3.5i" +-0.5, 3.5, "-0.5+3.5i" +0, 3.5, "3.5i" +0.5, 3.5, "0.5+3.5i" +1, 3.5, "1+3.5i" +1.5, 3.5, "1.5+3.5i" +2, 3.5, "2+3.5i" +2.5, 3.5, "2.5+3.5i" +3, 3.5, "3+3.5i" +3.5, 3.5, "3.5+3.5i" +-2.5, -2.5, "i", "-2.5-2.5i" +-2.5, -2.5, "i", "-2.5-2.5i" +-1.5, -2.5, "i", "-1.5-2.5i" +-1.5, -2.5, "i", "-1.5-2.5i" +-0.5, -2.5, "i", "-0.5-2.5i" +0, -2.5, "i", "-2.5i" +0.5, -2.5, "i", "0.5-2.5i" +1, -2.5, "i", "1-2.5i" +1.5, -2.5, "i", "1.5-2.5i" +2, -2.5, "i", "2-2.5i" +2.5, -2.5, "i", "2.5-2.5i" +3, -2.5, "i", "3-2.5i" +3.5, -2.5, "i", "3.5-2.5i" +-2.5, -2.5, "i", "-2.5-2.5i" +-2.5, -2.5, "i", "-2.5-2.5i" +-1.5, -2.5, "i", "-1.5-2.5i" +-1.5, -2.5, "i", "-1.5-2.5i" +-0.5, -2.5, "i", "-0.5-2.5i" +0, -2.5, "i", "-2.5i" +0.5, -2.5, "i", "0.5-2.5i" +1, -2.5, "i", "1-2.5i" +1.5, -2.5, "i", "1.5-2.5i" +2, -2.5, "i", "2-2.5i" +2.5, -2.5, "i", "2.5-2.5i" +3, -2.5, "i", "3-2.5i" +3.5, -2.5, "i", "3.5-2.5i" +-2.5, -1.5, "i", "-2.5-1.5i" +-2.5, -1.5, "i", "-2.5-1.5i" +-1.5, -1.5, "i", "-1.5-1.5i" +-1.5, -1.5, "i", "-1.5-1.5i" +-0.5, -1.5, "i", "-0.5-1.5i" +0, -1.5, "i", "-1.5i" +0.5, -1.5, "i", "0.5-1.5i" +1, -1.5, "i", "1-1.5i" +1.5, -1.5, "i", "1.5-1.5i" +2, -1.5, "i", "2-1.5i" +2.5, -1.5, "i", "2.5-1.5i" +3, -1.5, "i", "3-1.5i" +3.5, -1.5, "i", "3.5-1.5i" +-2.5, -1.5, "i", "-2.5-1.5i" +-2.5, -1.5, "i", "-2.5-1.5i" +-1.5, -1.5, "i", "-1.5-1.5i" +-1.5, -1.5, "i", "-1.5-1.5i" +-0.5, -1.5, "i", "-0.5-1.5i" +0, -1.5, "i", "-1.5i" +0.5, -1.5, "i", "0.5-1.5i" +1, -1.5, "i", "1-1.5i" +1.5, -1.5, "i", "1.5-1.5i" +2, -1.5, "i", "2-1.5i" +2.5, -1.5, "i", "2.5-1.5i" +3, -1.5, "i", "3-1.5i" +3.5, -1.5, "i", "3.5-1.5i" +-2.5, -0.5, "i", "-2.5-0.5i" +-2.5, -0.5, "i", "-2.5-0.5i" +-1.5, -0.5, "i", "-1.5-0.5i" +-1.5, -0.5, "i", "-1.5-0.5i" +-0.5, -0.5, "i", "-0.5-0.5i" +0, -0.5, "i", "-0.5i" +0.5, -0.5, "i", "0.5-0.5i" +1, -0.5, "i", "1-0.5i" +1.5, -0.5, "i", "1.5-0.5i" +2, -0.5, "i", "2-0.5i" +2.5, -0.5, "i", "2.5-0.5i" +3, -0.5, "i", "3-0.5i" +3.5, -0.5, "i", "3.5-0.5i" +-2.5, 0, "i", -2.5 +-2.5, 0, "i", -2.5 +-1.5, 0, "i", -1.5 +-1.5, 0, "i", -1.5 +-0.5, 0, "i", -0.5 +0, 0, "i", 0 +0.5, 0, "i", 0.5 +1, 0, "i", 1 +1.5, 0, "i", 1.5 +2, 0, "i", 2 +2.5, 0, "i", 2.5 +3, 0, "i", 3 +3.5, 0, "i", 3.5 +-2.5, 0.5, "i", "-2.5+0.5i" +-2.5, 0.5, "i", "-2.5+0.5i" +-1.5, 0.5, "i", "-1.5+0.5i" +-1.5, 0.5, "i", "-1.5+0.5i" +-0.5, 0.5, "i", "-0.5+0.5i" +0, 0.5, "i", "0.5i" +0.5, 0.5, "i", "0.5+0.5i" +1, 0.5, "i", "1+0.5i" +1.5, 0.5, "i", "1.5+0.5i" +2, 0.5, "i", "2+0.5i" +2.5, 0.5, "i", "2.5+0.5i" +3, 0.5, "i", "3+0.5i" +3.5, 0.5, "i", "3.5+0.5i" +-2.5, 1, "i", "-2.5+i" +-2.5, 1, "i", "-2.5+i" +-1.5, 1, "i", "-1.5+i" +-1.5, 1, "i", "-1.5+i" +-0.5, 1, "i", "-0.5+i" +0, 1, "i", "i" +0.5, 1, "i", "0.5+i" +1, 1, "i", "1+i" +1.5, 1, "i", "1.5+i" +2, 1, "i", "2+i" +2.5, 1, "i", "2.5+i" +3, 1, "i", "3+i" +3.5, 1, "i", "3.5+i" +-2.5, 1.5, "i", "-2.5+1.5i" +-2.5, 1.5, "i", "-2.5+1.5i" +-1.5, 1.5, "i", "-1.5+1.5i" +-1.5, 1.5, "i", "-1.5+1.5i" +-0.5, 1.5, "i", "-0.5+1.5i" +0, 1.5, "i", "1.5i" +0.5, 1.5, "i", "0.5+1.5i" +1, 1.5, "i", "1+1.5i" +1.5, 1.5, "i", "1.5+1.5i" +2, 1.5, "i", "2+1.5i" +2.5, 1.5, "i", "2.5+1.5i" +3, 1.5, "i", "3+1.5i" +3.5, 1.5, "i", "3.5+1.5i" +-2.5, 2, "i", "-2.5+2i" +-2.5, 2, "i", "-2.5+2i" +-1.5, 2, "i", "-1.5+2i" +-1.5, 2, "i", "-1.5+2i" +-0.5, 2, "i", "-0.5+2i" +0, 2, "i", "2i" +0.5, 2, "i", "0.5+2i" +1, 2, "i", "1+2i" +1.5, 2, "i", "1.5+2i" +2, 2, "i", "2+2i" +2.5, 2, "i", "2.5+2i" +3, 2, "i", "3+2i" +3.5, 2, "i", "3.5+2i" +-2.5, 2.5, "i", "-2.5+2.5i" +-2.5, 2.5, "i", "-2.5+2.5i" +-1.5, 2.5, "i", "-1.5+2.5i" +-1.5, 2.5, "i", "-1.5+2.5i" +-0.5, 2.5, "i", "-0.5+2.5i" +0, 2.5, "i", "2.5i" +0.5, 2.5, "i", "0.5+2.5i" +1, 2.5, "i", "1+2.5i" +1.5, 2.5, "i", "1.5+2.5i" +2, 2.5, "i", "2+2.5i" +2.5, 2.5, "i", "2.5+2.5i" +3, 2.5, "i", "3+2.5i" +3.5, 2.5, "i", "3.5+2.5i" +-2.5, 3, "i", "-2.5+3i" +-2.5, 3, "i", "-2.5+3i" +-1.5, 3, "i", "-1.5+3i" +-1.5, 3, "i", "-1.5+3i" +-0.5, 3, "i", "-0.5+3i" +0, 3, "i", "3i" +0.5, 3, "i", "0.5+3i" +1, 3, "i", "1+3i" +1.5, 3, "i", "1.5+3i" +2, 3, "i", "2+3i" +2.5, 3, "i", "2.5+3i" +3, 3, "i", "3+3i" +3.5, 3, "i", "3.5+3i" +-2.5, 3.5, "i", "-2.5+3.5i" +-2.5, 3.5, "i", "-2.5+3.5i" +-1.5, 3.5, "i", "-1.5+3.5i" +-1.5, 3.5, "i", "-1.5+3.5i" +-0.5, 3.5, "i", "-0.5+3.5i" +0, 3.5, "i", "3.5i" +0.5, 3.5, "i", "0.5+3.5i" +1, 3.5, "i", "1+3.5i" +1.5, 3.5, "i", "1.5+3.5i" +2, 3.5, "i", "2+3.5i" +2.5, 3.5, "i", "2.5+3.5i" +3, 3.5, "i", "3+3.5i" +3.5, 3.5, "i", "3.5+3.5i" +-2.5, -2.5, "j", "-2.5-2.5j" +-2.5, -2.5, "j", "-2.5-2.5j" +-1.5, -2.5, "j", "-1.5-2.5j" +-1.5, -2.5, "j", "-1.5-2.5j" +-0.5, -2.5, "j", "-0.5-2.5j" +0, -2.5, "j", "-2.5j" +0.5, -2.5, "j", "0.5-2.5j" +1, -2.5, "j", "1-2.5j" +1.5, -2.5, "j", "1.5-2.5j" +2, -2.5, "j", "2-2.5j" +2.5, -2.5, "j", "2.5-2.5j" +3, -2.5, "j", "3-2.5j" +3.5, -2.5, "j", "3.5-2.5j" +-2.5, -2.5, "j", "-2.5-2.5j" +-2.5, -2.5, "j", "-2.5-2.5j" +-1.5, -2.5, "j", "-1.5-2.5j" +-1.5, -2.5, "j", "-1.5-2.5j" +-0.5, -2.5, "j", "-0.5-2.5j" +0, -2.5, "j", "-2.5j" +0.5, -2.5, "j", "0.5-2.5j" +1, -2.5, "j", "1-2.5j" +1.5, -2.5, "j", "1.5-2.5j" +2, -2.5, "j", "2-2.5j" +2.5, -2.5, "j", "2.5-2.5j" +3, -2.5, "j", "3-2.5j" +3.5, -2.5, "j", "3.5-2.5j" +-2.5, -1.5, "j", "-2.5-1.5j" +-2.5, -1.5, "j", "-2.5-1.5j" +-1.5, -1.5, "j", "-1.5-1.5j" +-1.5, -1.5, "j", "-1.5-1.5j" +-0.5, -1.5, "j", "-0.5-1.5j" +0, -1.5, "j", "-1.5j" +0.5, -1.5, "j", "0.5-1.5j" +1, -1.5, "j", "1-1.5j" +1.5, -1.5, "j", "1.5-1.5j" +2, -1.5, "j", "2-1.5j" +2.5, -1.5, "j", "2.5-1.5j" +3, -1.5, "j", "3-1.5j" +3.5, -1.5, "j", "3.5-1.5j" +-2.5, -1.5, "j", "-2.5-1.5j" +-2.5, -1.5, "j", "-2.5-1.5j" +-1.5, -1.5, "j", "-1.5-1.5j" +-1.5, -1.5, "j", "-1.5-1.5j" +-0.5, -1.5, "j", "-0.5-1.5j" +0, -1.5, "j", "-1.5j" +0.5, -1.5, "j", "0.5-1.5j" +1, -1.5, "j", "1-1.5j" +1.5, -1.5, "j", "1.5-1.5j" +2, -1.5, "j", "2-1.5j" +2.5, -1.5, "j", "2.5-1.5j" +3, -1.5, "j", "3-1.5j" +3.5, -1.5, "j", "3.5-1.5j" +-2.5, -0.5, "j", "-2.5-0.5j" +-2.5, -0.5, "j", "-2.5-0.5j" +-1.5, -0.5, "j", "-1.5-0.5j" +-1.5, -0.5, "j", "-1.5-0.5j" +-0.5, -0.5, "j", "-0.5-0.5j" +0, -0.5, "j", "-0.5j" +0.5, -0.5, "j", "0.5-0.5j" +1, -0.5, "j", "1-0.5j" +1.5, -0.5, "j", "1.5-0.5j" +2, -0.5, "j", "2-0.5j" +2.5, -0.5, "j", "2.5-0.5j" +3, -0.5, "j", "3-0.5j" +3.5, -0.5, "j", "3.5-0.5j" +-2.5, 0, "j", -2.5 +-2.5, 0, "j", -2.5 +-1.5, 0, "j", -1.5 +-1.5, 0, "j", -1.5 +-0.5, 0, "j", -0.5 +0, 0, "j", 0 +0.5, 0, "j", 0.5 +1, 0, "j", 1 +1.5, 0, "j", 1.5 +2, 0, "j", 2 +2.5, 0, "j", 2.5 +3, 0, "j", 3 +3.5, 0, "j", 3.5 +-2.5, 0.5, "j", "-2.5+0.5j" +-2.5, 0.5, "j", "-2.5+0.5j" +-1.5, 0.5, "j", "-1.5+0.5j" +-1.5, 0.5, "j", "-1.5+0.5j" +-0.5, 0.5, "j", "-0.5+0.5j" +0, 0.5, "j", "0.5j" +0.5, 0.5, "j", "0.5+0.5j" +1, 0.5, "j", "1+0.5j" +1.5, 0.5, "j", "1.5+0.5j" +2, 0.5, "j", "2+0.5j" +2.5, 0.5, "j", "2.5+0.5j" +3, 0.5, "j", "3+0.5j" +3.5, 0.5, "j", "3.5+0.5j" +-2.5, 1, "j", "-2.5+j" +-2.5, 1, "j", "-2.5+j" +-1.5, 1, "j", "-1.5+j" +-1.5, 1, "j", "-1.5+j" +-0.5, 1, "j", "-0.5+j" +0, 1, "j", "j" +0.5, 1, "j", "0.5+j" +1, 1, "j", "1+j" +1.5, 1, "j", "1.5+j" +2, 1, "j", "2+j" +2.5, 1, "j", "2.5+j" +3, 1, "j", "3+j" +3.5, 1, "j", "3.5+j" +-2.5, 1.5, "j", "-2.5+1.5j" +-2.5, 1.5, "j", "-2.5+1.5j" +-1.5, 1.5, "j", "-1.5+1.5j" +-1.5, 1.5, "j", "-1.5+1.5j" +-0.5, 1.5, "j", "-0.5+1.5j" +0, 1.5, "j", "1.5j" +0.5, 1.5, "j", "0.5+1.5j" +1, 1.5, "j", "1+1.5j" +1.5, 1.5, "j", "1.5+1.5j" +2, 1.5, "j", "2+1.5j" +2.5, 1.5, "j", "2.5+1.5j" +3, 1.5, "j", "3+1.5j" +3.5, 1.5, "j", "3.5+1.5j" +-2.5, 2, "j", "-2.5+2j" +-2.5, 2, "j", "-2.5+2j" +-1.5, 2, "j", "-1.5+2j" +-1.5, 2, "j", "-1.5+2j" +-0.5, 2, "j", "-0.5+2j" +0, 2, "j", "2j" +0.5, 2, "j", "0.5+2j" +1, 2, "j", "1+2j" +1.5, 2, "j", "1.5+2j" +2, 2, "j", "2+2j" +2.5, 2, "j", "2.5+2j" +3, 2, "j", "3+2j" +3.5, 2, "j", "3.5+2j" +-2.5, 2.5, "j", "-2.5+2.5j" +-2.5, 2.5, "j", "-2.5+2.5j" +-1.5, 2.5, "j", "-1.5+2.5j" +-1.5, 2.5, "j", "-1.5+2.5j" +-0.5, 2.5, "j", "-0.5+2.5j" +0, 2.5, "j", "2.5j" +0.5, 2.5, "j", "0.5+2.5j" +1, 2.5, "j", "1+2.5j" +1.5, 2.5, "j", "1.5+2.5j" +2, 2.5, "j", "2+2.5j" +2.5, 2.5, "j", "2.5+2.5j" +3, 2.5, "j", "3+2.5j" +3.5, 2.5, "j", "3.5+2.5j" +-2.5, 3, "j", "-2.5+3j" +-2.5, 3, "j", "-2.5+3j" +-1.5, 3, "j", "-1.5+3j" +-1.5, 3, "j", "-1.5+3j" +-0.5, 3, "j", "-0.5+3j" +0, 3, "j", "3j" +0.5, 3, "j", "0.5+3j" +1, 3, "j", "1+3j" +1.5, 3, "j", "1.5+3j" +2, 3, "j", "2+3j" +2.5, 3, "j", "2.5+3j" +3, 3, "j", "3+3j" +3.5, 3, "j", "3.5+3j" +-2.5, 3.5, "j", "-2.5+3.5j" +-2.5, 3.5, "j", "-2.5+3.5j" +-1.5, 3.5, "j", "-1.5+3.5j" +-1.5, 3.5, "j", "-1.5+3.5j" +-0.5, 3.5, "j", "-0.5+3.5j" +0, 3.5, "j", "3.5j" +0.5, 3.5, "j", "0.5+3.5j" +1, 3.5, "j", "1+3.5j" +1.5, 3.5, "j", "1.5+3.5j" +2, 3.5, "j", "2+3.5j" +2.5, 3.5, "j", "2.5+3.5j" +3, 3.5, "j", "3+3.5j" +3.5, 3.5, "j", "3.5+3.5j" +-1.23, -4.56, "-1.23-4.56i" +0, -3.21, "i", "-3.21i" +1.23, -2.34, "j", "1.23-2.34j" +-1.23, 0, -1.23 +0, 0, "i", 0 +1.23, 0, "j", 1.23 +-1.23, 4.56, "-1.23+4.56i" +0, 3.21, "i", "3.21i" +1.23, 2.34, "j", "1.23+2.34j" diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/CONVERTUOM.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/CONVERTUOM.data new file mode 100644 index 00000000..5cc8b38f --- /dev/null +++ b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/CONVERTUOM.data @@ -0,0 +1,24 @@ +1.0, "lbm", "kg", 0.45359230974881 +123.45, "kg", "kg", 123.45 +68, "F", "C", 20 +20, "C", "F", 68 +68, "F", "K", 293.15 +293.15, "K", "F", 68 +22, "C", "K", 295.15 +295.65, "K", "C", 22.5 +2.5, "ft", "sec", "#N/A" +12345, "m", "km", 12.345 +12.345, "km", "m", 12345 +1, "km", "mi", 0.62137119223733 +"three","ft", "yds", "#VALUE!" +123.45, "K", "kel", 123.45 +123.45, "C", "cel", 123.45 +123.45, "F", "fah", 123.45 +1, "ft", "day", "#N/A" +123.45, "m", "m", 123.45 +234.56, "km", "km", 234.56 +234.56, "kpt", "lt", "#N/A" +234.56, "sm", "m", "#N/A" +234.56, "lt", "kpt", "#N/A" +234.56, "m", "sm", "#N/A" +12.345, "km", "mm", 12345000 diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/DEC2BIN.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/DEC2BIN.data new file mode 100644 index 00000000..403ced63 --- /dev/null +++ b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/DEC2BIN.data @@ -0,0 +1,16 @@ +357, "101100101" +1357, "#NUM!" // Too large +9, 4, "1001" +9, 8, "00001001" +9, 6.75, "001001" // Leading places as a float +9, -1, "#NUM!" // Leading places negative +9, "ABC", "#VALUE!" // Leading places non-numeric +246, "11110110" +12345, "#NUM!" +123456789, "#NUM!" +123.45, "1111011" +0, "0" +"3579A", "#VALUE!" // Invalid decimal +TRUE, "#VALUE!" // Non string +-100, "1110011100" // 2's Complement +-107, "1110010101" // 2's Complement diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/DEC2HEX.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/DEC2HEX.data new file mode 100644 index 00000000..1d2796cd --- /dev/null +++ b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/DEC2HEX.data @@ -0,0 +1,15 @@ +"357", "165" +"1357", "54D" +"246", "F6" +"12345", "3039" +"123456789", "75BCD15" +"100", 4, "0064" +"100", 5.75, "00064" // Leading places as a float +"100", -1, "#NUM!" // Leading places negative +"100", "ABC", "#VALUE!" // Leading places non-numeric +"123.45", "7B" +"0", "0" +"3579A", "#VALUE!" // Invalid decimal +TRUE, "#VALUE!" // Non string +"-54", "FFFFFFFFCA" // 2's Complement +"-107", "FFFFFFFF95" // 2's Complement diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/DEC2OCT.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/DEC2OCT.data new file mode 100644 index 00000000..8a6b3f74 --- /dev/null +++ b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/DEC2OCT.data @@ -0,0 +1,12 @@ +"357", "545" +"1357", "2515" +"246", "366" +"12345", "30071" +"123456789", "726746425" +"123.45", "173" +"58, 3, "072" +"0", "0" +"3579A", "#VALUE!" // Invalid decimal +TRUE, "#VALUE!" // Non string +"-100", "7777777634" // 2's Complement +"-107", "7777777625" // 2's Complement diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/DELTA.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/DELTA.data new file mode 100644 index 00000000..6f1d4493 --- /dev/null +++ b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/DELTA.data @@ -0,0 +1,25 @@ +-1.5, -1.5, 1 +-0.75, -1.5, 0 +0, -1.5, 0 +0.75, -1.5, 0 +1.5, -1.5, 0 +-1.5, -0.75, 0 +-0.75, -0.75, 1 +0, -0.75, 0 +0.75, -0.75, 0 +1.5, -0.75, 0 +-1.5, 0, 0 +-0.75, 0, 0 +0, 0, 1 +0.75, 0, 0 +1.5, 0, 0 +-1.5, 0.75, 0 +-0.75, 0.75, 0 +0, 0.75, 0 +0.75, 0.75, 1 +1.5, 0.75, 0 +-1.5, 1.5, 0 +-0.75, 1.5, 0 +0, 1.5, 0 +0.75, 1.5, 0 +1.5, 1.5, 1 diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/ERF.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/ERF.data new file mode 100644 index 00000000..d52cf32c --- /dev/null +++ b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/ERF.data @@ -0,0 +1,124 @@ +# lower bound upper bound Result +0, 0.0 +0.01, 0.0112834155558496 +0.05, 0.0563719777970166 +0.1, 0.1124629160182850 +0.125, 0.1403162048013340 +0.15, 0.1679959714273630 +0.2, 0.2227025892104780 +0.25, 0.2763263901682370 +0.3, 0.3286267594591270 +0.35, 0.3793820535623100 +0.4, 0.4283923550466680 +0.45, 0.4754817197869240 +0.5, 0.5204998778130470 +0.6, 0.6038560908479260 +0.7, 0.6778011938374180 +0.8, 0.7421009647076610 +0.9, 0.7969082124228320 +1, 0.8427007929497150 +1.1, 0.8802050695740820 +1.2, 0.9103139782296350 +1.3, 0.9340079449406520 +1.4, 0.9522851197626490 +1.5, 0.9661051464753110 +1.75, 0.9866716712191820 +2, 0.9953222650189530 +2.5, 0.9995930479825550 +3, 0.9999779095030010 +3.5, 0.9999992569016280 +4, 0.9999999845827420 +4.5, 0.9999999998033840 +5, 0.9999999999984630 +5.5, 0.9999999999999930 +6, 1.0 +32, 1.0 +-0.1, -0.1124629160182850 +-1, -0.8427007929497150 +TRUE, "#VALUE!" +FALSE, "#VALUE!" +"2", 0.9953222650189530 +"TWO", "#VALUE!" +-1.5, -1.5, 0.0 +-0.75, -1.5, -0.2549495128217960 +0, -1.5, -0.9661051464753110 +0.75, -1.5, -1.6772607801288300 +1.5, -1.5, -1.9322102929506200 +2.25, -1.5, -1.9646424298886300 +3, -1.5, -1.9660830559783100 +3.75, -1.5, -1.9661050327480500 +4.5, -1.5, -1.9661051462786900 +-1.5, -0.75, 0.2549495128217960 +-0.75, -0.75, 0.0 +0, -0.75, -0.7111556336535150 +0.75, -0.75, -1.4223112673070300 +1.5, -0.75, -1.6772607801288300 +2.25, -0.75, -1.7096929170668300 +3, -0.75, -1.7111335431565200 +3.75, -0.75, -1.7111555199262600 +4.5, -0.75, -1.7111556334569000 +-1.5, 0, 0.9661051464753110 +-0.75, 0, 0.7111556336535150 +0, 0, 0.0 +0.75, 0, -0.7111556336535150 +1.5, 0, -0.9661051464753110 +2.25, 0, -0.9985372834133190 +3, 0, -0.9999779095030010 +3.75, 0, -0.9999998862727430 +4.5, 0, -0.9999999998033840 +-1.5, 0.75, 1.6772607801288300 +-0.75, 0.75, 1.4223112673070300 +0, 0.75, 0.7111556336535150 +0.75, 0.75, 0.0 +1.5, 0.75, -0.2549495128217960 +2.25, 0.75, -0.2873816497598040 +3, 0.75, -0.2888222758494860 +3.75, 0.75, -0.2888442526192280 +4.5, 0.75, -0.2888443661498690 +-1.5, 1.5, 1.9322102929506200 +-0.75, 1.5, 1.6772607801288300 +0, 1.5, 0.9661051464753110 +0.75, 1.5, 0.2549495128217960 +1.5, 1.5, 0.0 +2.25, 1.5, -0.0324321369380081 +3, 1.5, -0.0338727630276906 +3.75, 1.5, -0.0338947397974326 +4.5, 1.5, -0.0338948533280732 +-1.5, 2.25, 1.9646424298886300 +-0.75, 2.25, 1.7096929170668300 +0, 2.25, 0.9985372834133190 +0.75, 2.25, 0.2873816497598040 +1.5, 2.25, 0.0324321369380081 +2.25, 2.25, 0.0 +3, 2.25, -0.0014406260896825 +3.75, 2.25, -0.0014626028594246 +4.5, 2.25, -0.0014627163900651 +-1.5, 3, 1.9660830559783100 +-0.75, 3, 1.7111335431565200 +0, 3, 0.9999779095030010 +0.75, 3, 0.2888222758494860 +1.5, 3, 0.0338727630276906 +2.25, 3, 0.0014406260896825 +3, 3, 0.0 +3.75, 3, -0.0000219767697420 +4.5, 3, -0.0000220903003826 +-1.5, 3.75, 1.9661050327480500 +-0.75, 3.75, 1.7111555199262600 +0, 3.75, 0.9999998862727430 +0.75, 3.75, 0.2888442526192280 +1.5, 3.75, 0.0338947397974326 +2.25, 3.75, 0.0014626028594246 +3, 3.75, 0.0000219767697420 +3.75, 3.75, 0.0 +4.5, 3.75, -0.0000001135306406 +-1.5, 4.5, 1.9661051462786900 +-0.75, 4.5, 1.7111556334569000 +0, 4.5, 0.9999999998033840 +0.75, 4.5, 0.2888443661498690 +1.5, 4.5, 0.0338948533280732 +2.25, 4.5, 0.0014627163900651 +3, 4.5, 0.0000220903003826 +3.75, 4.5, 0.0000001135306406 +4.5, 4.5, 0.0 +5, -1, -1.8427007929481800 +-5, 1, 1.8427007929481800 diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/ERFC.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/ERFC.data new file mode 100644 index 00000000..3cdc3d5b --- /dev/null +++ b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/ERFC.data @@ -0,0 +1,41 @@ +# x value Result +0, 1.0 +0.01, 0.9887165844441500 +0.05, 0.9436280222029830 +0.1, 0.8875370839817150 +0.125, 0.8596837951986660 +0.15, 0.8320040285726360 +0.2, 0.7772974107895220 +0.25, 0.7236736098317630 +0.3, 0.6713732405408730 +0.35, 0.6206179464376900 +0.4, 0.5716076449533320 +0.45, 0.5245182802130760 +0.5, 0.4795001221869530 +0.6, 0.3961439091520740 +0.7, 0.3221988061625820 +0.8, 0.2578990352923390 +0.9, 0.2030917875771680 +1, 0.1572992070502850 +1.1, 0.1197949304259180 +1.2, 0.0896860217703646 +1.3, 0.0659920550593475 +1.4, 0.0477148802373512 +1.5, 0.0338948535246893 +1.75, 0.0133283287808176 +2, 0.0046777349810473 +2.5, 0.0004069520174450 +3, 0.0000220904969986 +3.5, 0.0000007430983723 +4, 0.0000000154172579 +4.5, 0.0000000001966160 +5, 0.0000000000015375 +5.5, 0.0000000000000074 +6, 0.0 +32, 0.0 +-0.1, 1.1124629160182900 +-1, 1.8427007929497100 +TRUE, "#VALUE!" +FALSE, "#VALUE!" +"2", 0.0046777349810473 +"TWO", "#VALUE!" diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/GESTEP.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/GESTEP.data new file mode 100644 index 00000000..9b77a8ea --- /dev/null +++ b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/GESTEP.data @@ -0,0 +1,81 @@ +-1.5, -1.5, 1 +-0.75, -1.5, 1 +0, -1.5, 1 +0.75, -1.5, 1 +1.5, -1.5, 1 +2.25, -1.5, 1 +3, -1.5, 1 +3.75, -1.5, 1 +4.5, -1.5, 1 +-1.5, -0.75, 0 +-0.75, -0.75, 1 +0, -0.75, 1 +0.75, -0.75, 1 +1.5, -0.75, 1 +2.25, -0.75, 1 +3, -0.75, 1 +3.75, -0.75, 1 +4.5, -0.75, 1 +-1.5, 0, 0 +-0.75, 0, 0 +0, 0, 1 +0.75, 0, 1 +1.5, 0, 1 +2.25, 0, 1 +3, 0, 1 +3.75, 0, 1 +4.5, 0, 1 +-1.5, 0.75, 0 +-0.75, 0.75, 0 +0, 0.75, 0 +0.75, 0.75, 1 +1.5, 0.75, 1 +2.25, 0.75, 1 +3, 0.75, 1 +3.75, 0.75, 1 +4.5, 0.75, 1 +-1.5, 1.5, 0 +-0.75, 1.5, 0 +0, 1.5, 0 +0.75, 1.5, 0 +1.5, 1.5, 1 +2.25, 1.5, 1 +3, 1.5, 1 +3.75, 1.5, 1 +4.5, 1.5, 1 +-1.5, 2.25, 0 +-0.75, 2.25, 0 +0, 2.25, 0 +0.75, 2.25, 0 +1.5, 2.25, 0 +2.25, 2.25, 1 +3, 2.25, 1 +3.75, 2.25, 1 +4.5, 2.25, 1 +-1.5, 3, 0 +-0.75, 3, 0 +0, 3, 0 +0.75, 3, 0 +1.5, 3, 0 +2.25, 3, 0 +3, 3, 1 +3.75, 3, 1 +4.5, 3, 1 +-1.5, 3.75, 0 +-0.75, 3.75, 0 +0, 3.75, 0 +0.75, 3.75, 0 +1.5, 3.75, 0 +2.25, 3.75, 0 +3, 3.75, 0 +3.75, 3.75, 1 +4.5, 3.75, 1 +-1.5, 4.5, 0 +-0.75, 4.5, 0 +0, 4.5, 0 +0.75, 4.5, 0 +1.5, 4.5, 0 +2.25, 4.5, 0 +3, 4.5, 0 +3.75, 4.5, 0 +4.5, 4.5, 1 diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/HEX2BIN.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/HEX2BIN.data new file mode 100644 index 00000000..b4a5e71e --- /dev/null +++ b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/HEX2BIN.data @@ -0,0 +1,13 @@ +"01AB", "110101011" +"ABCD", "#NUM!" +"F6", "11110110" +"F", 8, "00001111" +"B7", "10110111" +"12345", "#NUM!" +"123456789", "#NUM!" +"123.45", "#NUM!" +"0", "0" +"G3579A", "#NUM!" +TRUE, "#VALUE!" +"-107", "#NUM!" +"FFFFFFFFFF", "1111111111" // 2's Complement diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/HEX2DEC.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/HEX2DEC.data new file mode 100644 index 00000000..84dd3391 --- /dev/null +++ b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/HEX2DEC.data @@ -0,0 +1,13 @@ +"01AB", "427" +"ABCD", "43981" +"F6", "246" +"12345", "74565" +"123456789", "4886718345" +"123.45", "#NUM!" +"0", "0" +"G3579A", "#NUM!" +TRUE, "#VALUE!" +"-107", "#NUM!" +"A5", "165" +"FFFFFFFF5B", "-165" +"3DA408B9", "1034160313" // 2's Complement diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/HEX2OCT.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/HEX2OCT.data new file mode 100644 index 00000000..2ab2786a --- /dev/null +++ b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/HEX2OCT.data @@ -0,0 +1,13 @@ +"01AB", "653" +"ABCD", "125715" +"F6", "366" +"3B4E", "35516" +"F", 3, "017" +"12345", "221505" +"123456789", "#NUM!" +"123.45", "#NUM!" +"0", "0" +"G3579A", "#NUM!" +TRUE, "#VALUE!" +"-107", "#NUM!" +"FFFFFFFF00", "7777777400" // 2's Complement diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/IMABS.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/IMABS.data new file mode 100644 index 00000000..9de11d10 --- /dev/null +++ b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/IMABS.data @@ -0,0 +1,27 @@ +"12.34+5.67j", 13.580298229420 +"1.234E-5+6.78E9i", 6.78E9 +"3.5+2.5i", 4.301162633521 +"3.5+i", 3.640054944640 +"3.5", 3.5 +"3.5-i", 3.640054944640 +"3.5-2.5i", 4.301162633521 +"1+2.5i", 2.692582403567 +"1+i", 1.414213562373 +"1", 1 +"1-i", 1.414213562373 +"1-2.5i", 2.692582403567 +"2.5i", 2.5 +"i", 1 +"0", 0 +"-i", 1 +"-2.5i", 2.5 +"-1+2.5i", 2.692582403567 +"-1+i", 1.414213562373 +"-1", 1 +"-1-i", 1.414213562373 +"-1-2.5i", 2.692582403567 +"-3.5+2.5i", 4.301162633521 +"-3.5+i", 3.640054944640 +"-3.5", 3.5 +"-3.5-i", 3.640054944640 +"-3.5-2.5i", 4.301162633521 diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/IMAGINARY.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/IMAGINARY.data new file mode 100644 index 00000000..85e64f27 --- /dev/null +++ b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/IMAGINARY.data @@ -0,0 +1,30 @@ +"12.34+5.67j", 5.67 +"1.234E-5+6.78E9i", 6.78E9 +"3.5+2.5i", 2.5 +"3.5+i", 1 +"3.5", 0 +"3.5-i", -1 +"3.5-2.5i", -2.5 +"1+2.5i", 2.5 +"1+i", 1 +"1", 0 +1, 0 +"1-i", -1 +"1-2.5i", -2.5 +"2.5i", 2.5 +"i", 1 +"0", 0 +0, 0 +0.0, 0 +"-i", -1 +"-2.5i", -2.5 +"-1+2.5i", 2.5 +"-1+i", 1 +"-1", 0 +"-1-i", -1 +"-1-2.5i", -2.5 +"-3.5+2.5i", 2.5 +"-3.5+i", 1 +"-3.5", 0 +"-3.5-i", -1 +"-3.5-2.5i", -2.5 diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/IMARGUMENT.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/IMARGUMENT.data new file mode 100644 index 00000000..21cd497f --- /dev/null +++ b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/IMARGUMENT.data @@ -0,0 +1,26 @@ +"12.34+5.67j", 0.430710595550 +"3.5+2.5i", 0.620249485983 +"3.5+i", 0.278299659005 +"3.5", 0 +"3.5-i", -0.278299659005 +"3.5-2.5i", -0.620249485983 +"1+2.5i", 1.190289949683 +"1+i", 0.785398163397 +"1", 0 +"1-i", -0.785398163397 +"1-2.5i", -1.190289949683 +"2.5i", 1.570796326795 +"i", 1.570796326795 +"0", "#DIV/0!" +"-i", -1.570796326795 +"-2.5i", -1.570796326795 +"-1+2.5i", 1.951302703907 +"-1+i", 2.356194490192 +"-1", 3.141592653590 +"-1-i", -2.356194490192 +"-1-2.5i", -1.951302703907 +"-3.5+2.5i", 2.521343167607 +"-3.5+i", 2.863292994585 +"-3.5", 3.141592653590 +"-3.5-i", -2.863292994585 +"-3.5-2.5i", -2.521343167607 diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/IMCONJUGATE.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/IMCONJUGATE.data new file mode 100644 index 00000000..9dc5f2b4 --- /dev/null +++ b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/IMCONJUGATE.data @@ -0,0 +1,26 @@ +"12.34+5.67j", "12.34-5.67j" +"3.5+2.5i", "3.5-2.5i" +"3.5+i", "3.5-i" +"3.5", "3.5" +"3.5-i", "3.5+i" +"3.5-2.5i", "3.5+2.5i" +"1+2.5i", "1-2.5i" +"1+i", "1-i" +"1", "1" +"1-i", "1+i" +"1-2.5i", "1+2.5i" +"2.5i", "-2.5i" +"i", "-i" +"0", "0" +"-i", "i" +"-2.5i", "2.5i" +"-1+2.5i", "-1-2.5i" +"-1+i", "-1-i" +"-1", "-1" +"-1-i", "-1+i" +"-1-2.5i", "-1+2.5i" +"-3.5+2.5i", "-3.5-2.5i" +"-3.5+i", "-3.5-i" +"-3.5", "-3.5" +"-3.5-i", "-3.5+i" +"-3.5-2.5i", "-3.5+2.5i" diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/IMCOS.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/IMCOS.data new file mode 100644 index 00000000..4f00d2ef --- /dev/null +++ b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/IMCOS.data @@ -0,0 +1,27 @@ +"12.34+5.67j", "141.319179436356+32.547610312508j" +"3.5+2.5i", "-5.74262349163406+2.12231025604134i" +"3.5+i", "-1.44502817950166+0.412240867891067i" +"3.5", "-0.936456687290796" +"3.5-i", "-1.44502817950166-0.412240867891067i" +"3.5-2.5i", "-5.74262349163406-2.12231025604134i" +"1+2.5i", "3.31329014611322-5.0910715229497i" +"1+i", "0.833730025131149-0.988897705762865i" +"1", "0.54030230586814" +"1-i", "0.833730025131149+0.988897705762865i" +"1-2.5i", "3.31329014611322+5.0910715229497i" +"2.5i", "6.13228947966369" +"i", "1.54308063481524" +"0", "1" +"-i", "1.54308063481524" +"-2.5i", "6.13228947966369" +"-1+2.5i", "3.31329014611322+5.0910715229497i" +"-1+i", "0.833730025131149+0.988897705762865i" +"-1", "0.54030230586814" +"-1-i", "0.833730025131149-0.988897705762865i" +"-1-2.5i", "3.31329014611322-5.0910715229497i" +"-3.5+2.5i", "-5.74262349163406-2.12231025604134i" +"-3.5+i", "-1.44502817950166-0.412240867891067i" +"-3.5", "-0.936456687290796" +"-3.5-i", "-1.44502817950166+0.412240867891067i" +"-3.5-2.5i", "-5.74262349163406+2.12231025604134i" +"3", "-0.989992496600445" diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/IMDIV.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/IMDIV.data new file mode 100644 index 00000000..f7a6991a --- /dev/null +++ b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/IMDIV.data @@ -0,0 +1,20 @@ +"12.34+5.67j", "123.45+67.89i", "#NUM!" +"12.34+5.67j", "123.45+67.89j", "0.0961415519586104-0.00694248653276682j" +"-12.34+5.67i", "-123.45+67.89i", "0.0961415519586104+0.00694248653276682i" +"-12.34-5.67i", "-123.45+67.89i", "0.0573549954111941+0.0774712890924744i" +"-12.34+5.67i", "-123.45-67.89i", "0.0573549954111941-0.0774712890924744i" +"-12.34-5.67i", "-123.45-67.89i", "0.0961415519586104-0.00694248653276682i" +"12.34+5.67i", "-123.45+67.89i", "-0.0573549954111941-0.0774712890924744i" +"12.34-5.67i", "-123.45+67.89i", "-0.0961415519586104-0.00694248653276682i" +"12.34+5.67i", "-123.45-67.89i", "-0.0961415519586104+0.00694248653276682i" +"12.34-5.67i", "-123.45-67.89i", "-0.0573549954111941+0.0774712890924744i" +"-12.34+5.67i", "123.45+67.89i", "-0.0573549954111941+0.0774712890924744i" +"-12.34-5.67i", "123.45+67.89i", "-0.0961415519586104+0.00694248653276682i" +"-12.34+5.67i", "123.45-67.89i", "-0.0961415519586104-0.00694248653276682i" +"-12.34-5.67i", "123.45-67.89i", "-0.0573549954111941-0.0774712890924744i" +"-12.34-5.67i", "123.45-67.89", "#NUM!" +"-12.34-5.67j", "123.45-67.89", "#NUM!" +"-12.34-5.67", "123.45-67.89j", "#NUM!" +"-12.34-5.67i", "-12.34-5.67i", "1" +"-12.34", "123.45-67.89i", "-0.0767482736849023-0.0422068878126206i" +"-12.34-5.67i", "-12.34", "1+0.459481361426256i" diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/IMEXP.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/IMEXP.data new file mode 100644 index 00000000..d0eaadd3 --- /dev/null +++ b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/IMEXP.data @@ -0,0 +1,27 @@ +"12.34+5.67j", "187004.11273906-131589.323796073j" +"-12.34E-5+6.78E9i", "1.79747131321615E+308+1.79747131321615E+308i" +"3.5+2.5i", "-26.5302329126575+19.8186755366902i" +"3.5+i", "17.8923550531471+27.8656919720394i" +"3.5", "33.1154519586923" +"3.5-i", "17.8923550531471-27.8656919720394i" +"3.5-2.5i", "-26.5302329126575-19.8186755366902i" +"1+2.5i", "-2.17773413212721+1.62681595415671i" +"1+i", "1.46869393991589+2.28735528717884i" +"1", "2.71828182845905" +"1-i", "1.46869393991589-2.28735528717884i" +"1-2.5i", "-2.17773413212721-1.62681595415671i" +"2.5i", "-0.801143615546934+0.598472144103957i" +"i", "0.54030230586814+0.841470984807897i" +"0", "1" +"-i", "0.54030230586814-0.841470984807897i" +"-2.5i", "-0.801143615546934-0.598472144103957i" +"-1+2.5i", "-0.294724265585475+0.220165597929638i" +"-1+i", "0.198766110346413+0.309559875653112i" +"-1", "0.367879441171442" +"-1-i", "0.198766110346413-0.309559875653112i" +"-1-2.5i", "-0.294724265585475-0.220165597929638i" +"-3.5+2.5i", "-0.0241924409350133+0.0180722928030842i" +"-3.5+i", "0.016315715894263+0.025410221967i" +"-3.5", "0.0301973834223185" +"-3.5-i", "0.016315715894263-0.025410221967i" +"-3.5-2.5i", "-0.0241924409350133-0.0180722928030842i" diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/IMLN.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/IMLN.data new file mode 100644 index 00000000..33daf6dc --- /dev/null +++ b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/IMLN.data @@ -0,0 +1,27 @@ +"12.34+5.67j", "2.60862008281875+0.430710595550204j" +"-1.234E-5+6.78E9i", "22.6372429388987+1.5707963267949i" +"3.5+2.5i", "1.45888536604214+0.620249485982821i" +"3.5+i", "1.29199877621612+0.278299659005111i" +"3.5", "1.25276296849537" +"3.5-i", "1.29199877621612-0.278299659005111i" +"3.5-2.5i", "1.45888536604214-0.620249485982821i" +"1+2.5i", "0.990500734433292+1.19028994968253i" +"1+i", "0.346573590279973+0.785398163397448i" +"1", "0" +"1-i", "0.346573590279973-0.785398163397448i" +"1-2.5i", "0.990500734433292-1.19028994968253i" +"2.5i", "0.916290731874155+1.5707963267949i" +"i", "1.5707963267949i" +"0", "#NUM!" +"-i", "-1.5707963267949i" +"-2.5i", "0.916290731874155-1.5707963267949i" +"-1+2.5i", "0.990500734433292+1.95130270390726i" +"-1+i", "0.346573590279973+2.35619449019234i" +"-1", "3.14159265358979i" +"-1-i", "0.346573590279973-2.35619449019234i" +"-1-2.5i", "0.990500734433292-1.95130270390726i" +"-3.5+2.5i", "1.45888536604214+2.52134316760697i" +"-3.5+i", "1.29199877621612+2.86329299458468i" +"-3.5", "1.25276296849537+3.14159265358979i" +"-3.5-i", "1.29199877621612-2.86329299458468i" +"-3.5-2.5i", "1.45888536604214-2.52134316760697i" diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/IMLOG10.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/IMLOG10.data new file mode 100644 index 00000000..5832e8a8 --- /dev/null +++ b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/IMLOG10.data @@ -0,0 +1,27 @@ +"12.34+5.67j", "1.13290930735019+0.187055234944717j" +"-12.34E-5+6.78E9i", "9.83122969386706+0.682188176920927i" +"3.5+2.5i", "0.633585864201507+0.269370929165668i" +"3.5+i", "0.561107939136413+0.120864006221476i" +"3.5", "0.544068044350276" +"3.5-i", "0.561107939136413-0.120864006221476i" +"3.5-2.5i", "0.633585864201507-0.269370929165668i" +"1+2.5i", "0.430169003285497+0.516936357012023i" +"1+i", "0.150514997831991+0.34109408846046i" +"1", "0" +"1-i", "0.150514997831991-0.34109408846046i" +"1-2.5i", "0.430169003285497-0.516936357012023i" +"2.5i", "0.397940008672038+0.68218817692092i" +"i", "0.68218817692092i" +"0", "#NUM!" +"-i", "-0.68218817692092i" +"-2.5i", "0.397940008672038-0.68218817692092i" +"-1+2.5i", "0.430169003285497+0.847439996829817i" +"-1+i", "0.150514997831991+1.02328226538138i" +"-1", "1.36437635384184i" +"-1-i", "0.150514997831991-1.02328226538138i" +"-1-2.5i", "0.430169003285497-0.847439996829817i" +"-3.5+2.5i", "0.633585864201507+1.09500542467617i" +"-3.5+i", "0.561107939136413+1.24351234762036i" +"-3.5", "0.544068044350276+1.36437635384184i" +"-3.5-i", "0.561107939136413-1.24351234762036i" +"-3.5-2.5i", "0.633585864201507-1.09500542467617i" diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/IMLOG2.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/IMLOG2.data new file mode 100644 index 00000000..1f8e5eb0 --- /dev/null +++ b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/IMLOG2.data @@ -0,0 +1,27 @@ +"12.34+5.67j", "3.76344325733562+0.621384040306436j" +"-12.34E-5+6.78E9i", "32.6586381298614+2.26618007108803i" +"3.5+2.5i", "2.10472668297646+0.894830857610216i" +"3.5+i", "1.86396022742506+0.401501537958665i" +"3.5", "1.80735492219671" +"3.5-i", "1.86396022742506-0.401501537958665i" +"3.5-2.5i", "2.10472668297646-0.894830857610216i" +"1+2.5i", "1.42899049767377+1.71722540775913i" +"1+i", "0.500000000038482+1.13309003554401i" +"1", "0" +"1-i", "0.500000000038482-1.13309003554401i" +"1-2.5i", "1.42899049767377-1.71722540775913i" +"2.5i", "1.3219280949891+2.26618007108801i" +"i", "2.26618007108801i" +"0", "#NUM!" +"-i", "-2.26618007108801i" +"-2.5i", "1.3219280949891-2.26618007108801i" +"-1+2.5i", "1.42899049767377+2.81513473441689i" +"-1+i", "0.500000000038482+3.39927010663201i" +"-1", "4.53236014217602i" +"-1-i", "0.500000000038482-3.39927010663201i" +"-1-2.5i", "1.42899049767377-2.81513473441689i" +"-3.5+2.5i", "2.10472668297646+3.63752928456581i" +"-3.5+i", "1.86396022742506+4.13085860421736i" +"-3.5", "1.80735492219671+4.53236014217602i" +"-3.5-i", "1.86396022742506-4.13085860421736i" +"-3.5-2.5i", "2.10472668297646-3.63752928456581i" diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/IMPOWER.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/IMPOWER.data new file mode 100644 index 00000000..d9acf508 --- /dev/null +++ b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/IMPOWER.data @@ -0,0 +1,18 @@ +"12.34+5.67j", 2, "120.1267+139.9356j" +"12.34+5.67j", 3, "688.928626+2407.923693j" +"12.34+5.67j", -1, "6.69108496973016E-002-3.07442883131037E-002j" +"12.34+5.67j", -2, "3.53185054333564E-003-4.11425290873718E-003j" +"12.34+5.67j", 0.5, "3.60002071031685+0.787495469644252j" +"12.34+5.67j", -0.25, "0.517904976730581-5.59833234375533E-002j" +"12.34+5.67j", 0, "1" +"-i", 2, "-1-1.34451369308841E-014i" +"1-i", 2, "1.22460635382238E-016-2i" +"2.5i", 2, "-6.25+8.40321058180257E-014i" +"2.5i", "2.5", "-6.98771242968685-6.98771242968684i" +"2.5i", "2.5i", "#VALUE!" +"2.5", "2.5", 9.88211768802619 +"2", "2", 4 +"-12.34-5.67i", "-12.34", "-4.69972844488573E-15+9.35464904349343E-15i" +"12.34-5.67i", "-12.34", "5.93343000067521E-15-8.62503997728057E-15i" +"-12.34-5.67i", "12.34", "-42881944468901.9-85355046682682.3i" +"12.34-5.67i", "12.34", "54138663282971.3+78697841733874.3i" diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/IMPRODUCT.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/IMPRODUCT.data new file mode 100644 index 00000000..99149562 --- /dev/null +++ b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/IMPRODUCT.data @@ -0,0 +1,15 @@ +"12.34+5.67j", "123.45+67.89i", "#NUM!" +"12.34+5.67j", "12.34+5.67j" +"12.34+5.67i", "123.45+67.89i", "5.67", "6454.936089+8718.895647i" +"12.34+5.67j", "123.45+67.89j", "5.67", "6454.936089+8718.895647j" +"12.34+5.67j", "123.45+67.89j", "1138.4367+1537.7241j" +"12.34-5.67i", "123.45+67.89i", "1908.3093+137.8011i" +"12.34+5.67i", "123.45-67.89i", "1908.3093-137.8011i" +"12.34-5.67i", "123.45-67.89i", "1138.4367-1537.7241i" +"-12.34+5.67i", "123.45+67.89i", "-1908.3093-137.8011i" +"-12.34-5.67i", "123.45+67.89i", "-1138.4367-1537.7241i" +"12.34+5.67i", "-123.45+67.89i", "-1908.3093+137.8011i" +"-12.34+5.67i", "-123.45+67.89i", "1138.4367-1537.7241i" +"-12.34-5.67i", "-123.45-67.89i", "1138.4367+1537.7241i" +"-12.34", "123.45-67.89i", "-1523.373+837.7626i" +"-12.34-5.67i", "-12.34", "152.2756+69.9678i" diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/IMREAL.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/IMREAL.data new file mode 100644 index 00000000..3a9ba847 --- /dev/null +++ b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/IMREAL.data @@ -0,0 +1,30 @@ +12.34+5.67j", 12.34 +"-1.234E-5+6.78E9i", -1.234E-5 +"3.5+2.5i", 3.5 +"3.5+i", 3.5 +"3.5", 3.5 +3.5, 3.5 +"3.5-i", 3.5 +"3.5-2.5i", 3.5 +"1+2.5i", 1 +"1+i", 1 +"1", 1 +1, 1 +"1-i", 1 +"1-2.5i", 1 +"2.5i", 0 +"i", 0 +"0", 0 +0, 0 +"-i", 0 +"-2.5i", 0 +"-1+2.5i", -1 +"-1+i", -1 +"-1", -1 +"-1-i", -1 +"-1-2.5i", -1 +"-3.5+2.5i", -3.5 +"-3.5+i", -3.5 +"-3.5", -3.5 +"-3.5-i", -3.5 +"-3.5-2.5i", -3.5 diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/IMSIN.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/IMSIN.data new file mode 100644 index 00000000..171e1a6d --- /dev/null +++ b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/IMSIN.data @@ -0,0 +1,27 @@ +"12.34+5.67j", "-32.5483841590412+141.315819535092j" +"3.5+2.5i", "-2.15110429680353-5.66575444574645i" +"3.5+i", "-0.541286805665839-1.10052501669986i" +"3.5", "-0.35078322768962" +"3.5-i", "-0.541286805665839+1.10052501669986i" +"3.5-2.5i", "-2.15110429680353+5.66575444574645i" +"1+2.5i", "5.16014366757971+3.26893943207955i" +"1+i", "1.29845758141598+0.634963914784736i" +"1", "0.841470984807897" +"1-i", "1.29845758141598-0.634963914784736i" +"1-2.5i", "5.16014366757971-3.26893943207955i" +"2.5i", "6.05020448103979i" +"i", "1.1752011936438i" +"0", "0" +"-i", "-1.1752011936438i" +"-2.5i", "-6.05020448103979i" +"-1+2.5i", "-5.16014366757971+3.26893943207955i" +"-1+i", "-1.29845758141598+0.634963914784736i" +"-1", "-0.841470984807897" +"-1-i", "-1.29845758141598-0.634963914784736i" +"-1-2.5i", "-5.16014366757971-3.26893943207955i" +"-3.5+2.5i", "2.15110429680353-5.66575444574645i" +"-3.5+i", "0.541286805665839-1.10052501669986i" +"-3.5", "0.35078322768962" +"-3.5-i", "0.541286805665839+1.10052501669986i" +"-3.5-2.5i", "2.15110429680353+5.66575444574645i" +"3", "0.141120008059867" diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/IMSQRT.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/IMSQRT.data new file mode 100644 index 00000000..cf0c0db3 --- /dev/null +++ b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/IMSQRT.data @@ -0,0 +1,28 @@ +"12.34+5.67j", "3.60002071031685+0.787495469644252j" +"-1.234E-5+6.78E9i", "58223.7065120385+58223.7065120386i" +"3.5+2.5i", "1.9749889409211+0.632914936433528i" +"3.5+i", "1.88945163270197+0.264627043818521i" +"3.5", "1.87082869338697" +"3.5-i", "1.88945163270197-0.264627043818521i" +"3.5-2.5i", "1.9749889409211-0.632914936433528i" +"1+2.5i", "1.35878298553655+0.919940868634298i" +"1+i", "1.09868411346781+0.455089860562227i" +"1", "1" +"1-i", "1.09868411346781-0.455089860562227i" +"1-2.5i", "1.35878298553655-0.919940868634298i" +"2.5i", "1.11803398874989+1.11803398874989i" +"i", "0.707106781186548+0.707106781186547i" +"0", "0" +"-i", "0.707106781186548-0.707106781186547i" +"-2.5i", "1.11803398874989-1.11803398874989i" +"-1+2.5i", "0.919940868634298+1.35878298553655i" +"-1+i", "0.455089860562227+1.09868411346781i" +"-1", "6.12303176911189E-017+i" +"-1-i", "0.455089860562227-1.09868411346781i" +"-1-2.5i", "0.919940868634298-1.35878298553655i" +"-3.5+2.5i", "0.632914936433528+1.9749889409211i" +"-3.5+i", "0.264627043818521+1.88945163270197i" +"-3.5", "1.14551435241745E-016+1.87082869338697i" +"-3.5-i", "0.264627043818521-1.88945163270197i" +"-3.5-2.5i", "0.632914936433528-1.9749889409211i" +"9", "3" diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/IMSUB.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/IMSUB.data new file mode 100644 index 00000000..fb0b85c3 --- /dev/null +++ b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/IMSUB.data @@ -0,0 +1,10 @@ +"12.34+5.67j", "123.45+67.89i", "#NUM!" +"123.45+67.89j", "12.34+5.67j", "111.11+62.22j" +"12.34+5.67j", "123.45+67.89j", "-111.11-62.22j" +"12.34+5.67i", "123.45+67.89i", "123.45+67.89i", "-111.11-62.22i" +"-12.34-5.67i", "123.45-67.89i", "-135.79+62.22i" +"12.34-5.67i", "-123.45-67.89i", "135.79+62.22i" +"-12.34-5.67i", "-123.45-67.89i", "111.11+62.22i" +"-12.34-5.67i", "-123.45-67.89", "#NUM!" +"-12.34-5.67j", "-123.45-67.89", "#NUM!" +"-12.34-5.67", "-123.45-67.89j", "#NUM!" diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/IMSUM.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/IMSUM.data new file mode 100644 index 00000000..70f5cccd --- /dev/null +++ b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/IMSUM.data @@ -0,0 +1,10 @@ +"12.34+5.67j", "123.45+67.89i", "#NUM!" +"12.34+5.67j", "123.45+67.89j", "135.79+73.56j" +"12.34-5.67i", "123.45+67.89i", "135.79+62.22i" +"12.34+5.67i", "123.45-67.89i", "135.79-62.22i" +"12.34-5.67i", "123.45-67.89i", "135.79-73.56i" +"12.34+5.67i", "123.45+67.89i", "123.45+67.89i", "259.24+141.45i" +"12.34+5.67i", "123.45+67.89i", "123.45+67.89j", "#NUM!" +"-12.34-5.67i", "123.45-67.89i", "111.11-73.56i" +"12.34-5.67i", "-123.45-67.89i", "-111.11-73.56i" +"-12.34-5.67i", "-123.45-67.89i", "-135.79-73.56i" diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/OCT2BIN.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/OCT2BIN.data new file mode 100644 index 00000000..58a49e9e --- /dev/null +++ b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/OCT2BIN.data @@ -0,0 +1,9 @@ +"1357", "#NUM!" +"246", "10100110" +"3", 3, "011" +"12345", "#NUM!" +"123.45", "#NUM!" +"0", "0" +TRUE, "#VALUE!" +"3579", "#NUM!" +"7777777000", "1000000000" // 2's Complement diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/OCT2DEC.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/OCT2DEC.data new file mode 100644 index 00000000..d2fb32c9 --- /dev/null +++ b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/OCT2DEC.data @@ -0,0 +1,9 @@ +"1357", "751" +"246", "166" +"12345", "5349" +"123.45", "#NUM!" +"0", "0" +TRUE, "#VALUE!" +"3579", "#NUM!" +"54", "44" +"7777777533", "-165" // 2's Complement diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/OCT2HEX.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/OCT2HEX.data new file mode 100644 index 00000000..24771e89 --- /dev/null +++ b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/OCT2HEX.data @@ -0,0 +1,9 @@ +"1357", "2EF" +"246", "A6" +"12345", "14E5" +"100", 4, "0040" +"123.45", "#NUM!" +"0", "0" +TRUE, "#VALUE!" +"3579", "#NUM!" +"7777777533", "FFFFFFFF5B" // 2's Complement diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Financial/ACCRINT.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Financial/ACCRINT.data new file mode 100644 index 00000000..351fe27e --- /dev/null +++ b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Financial/ACCRINT.data @@ -0,0 +1,8 @@ +#Issue date 1st Interest Settlement Rate Par Freq Basis Result +"2008-03-01", "2008-08-31", "2008-05-01", 0.10, 1000, 2, 0, 16.666666666667 +"2008-03-05", "2008-08-31", "2008-05-01", 0.10, 1000, 2, 0, 15.555555555556 +"2010-01-01", "2010-06-30", "2010-04-01", 0.08, 10000, 4, 202.222222222222 +"2008-03-05", "2008-08-31", "2008-05-01", -0.10, 1000, 2, 0, "#NUM!" +"Invalid Date", "2008-08-31", "2008-05-01", 0.10, 1000, 2, 0, "#VALUE!" +"2008-03-01", "2008-08-31", "2008-05-01", "ABC", 1000, 2, 0, "#VALUE!" +"2008-03-01", "2008-08-31", "2008-05-01", 0.10, 1000, 2, "ABC", "#VALUE!" diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Financial/ACCRINTM.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Financial/ACCRINTM.data new file mode 100644 index 00000000..ea77e1b3 --- /dev/null +++ b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Financial/ACCRINTM.data @@ -0,0 +1,6 @@ +#Issue date Settlement Rate Par Basis Result +"2008-04-01", "2008-06-15", 0.10, 1000, 3, 20.547945205479 +"2010-01-01", "2010-12-31", 0.08, 10000, 800 +"2008-03-05", "2008-08-31", -0.10, 1000, 2, "#NUM!" +"Invalid Date", "2008-08-31", 0.10, 1000, 2, "#VALUE!" +"2008-03-01", "2008-08-31", "ABC", 1000, 2, "#VALUE!" diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Financial/AMORDEGRC.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Financial/AMORDEGRC.data new file mode 100644 index 00000000..be2abd5c --- /dev/null +++ b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Financial/AMORDEGRC.data @@ -0,0 +1,3 @@ +#Cost Date purchased End of the 1st period Salvage Period Depreciation Basis Result +2400, "2008-08-19", "2008-12-31", 300, 1, 0.15, 1, 776 +150, "2011-01-01", "2011-09-30", 20, 1, 0.2, 4, 42 diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Financial/AMORLINC.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Financial/AMORLINC.data new file mode 100644 index 00000000..42bfa4b8 --- /dev/null +++ b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Financial/AMORLINC.data @@ -0,0 +1,3 @@ +#Cost Date purchased End of the 1st period Salvage Period Depreciation Basis Result +2400, "2008-08-19", "2008-12-31", 300, 1, 0.15, 1, 360 +150, "2011-01-01", "2011-09-30", 20, 1, 0.2, 4, 30 diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Financial/COUPDAYBS.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Financial/COUPDAYBS.data new file mode 100644 index 00000000..7b239560 --- /dev/null +++ b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Financial/COUPDAYBS.data @@ -0,0 +1,6 @@ +#Settlement Maturity Frequency Basis Result +"25-Jan-2007", "15-Nov-2008", 2, 1, 71 +"2011-01-01", "2012-10-25", 4, 66 +"Invalid Date", "15-Nov-2008", 2, 1, "#VALUE!" +"25-Jan-2007", "Invalid Date", 2, 1, "#VALUE!" +"25-Jan-2007", "15-Nov-2008", 3, 1, "#NUM!" diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Financial/COUPDAYS.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Financial/COUPDAYS.data new file mode 100644 index 00000000..f7e9baf3 --- /dev/null +++ b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Financial/COUPDAYS.data @@ -0,0 +1,6 @@ +#Settlement Maturity Frequency Basis Result +"25-Jan-2007", "15-Nov-2008", 2, 1, 181 +"2011-01-01", "2012-10-25", 4, 90 +"Invalid Date", "15-Nov-2008", 2, 1, "#VALUE!" +"25-Jan-2007", "Invalid Date", 2, 1, "#VALUE!" +"25-Jan-2007", "15-Nov-2008", 3, 1, "#NUM!" diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Financial/COUPDAYSNC.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Financial/COUPDAYSNC.data new file mode 100644 index 00000000..2bd5263a --- /dev/null +++ b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Financial/COUPDAYSNC.data @@ -0,0 +1,6 @@ +#Settlement Maturity Frequency Basis Result +"25-Jan-2007", "15-Nov-2008", 2, 1, 110 +"2011-01-01", "2012-10-25", 4, 24 +"Invalid Date", "15-Nov-2008", 2, 1, "#VALUE!" +"25-Jan-2007", "Invalid Date", 2, 1, "#VALUE!" +"25-Jan-2007", "15-Nov-2008", 3, 1, "#NUM!" diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Financial/COUPNCD.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Financial/COUPNCD.data new file mode 100644 index 00000000..8bdaa7f2 --- /dev/null +++ b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Financial/COUPNCD.data @@ -0,0 +1,6 @@ +#Settlement Maturity Frequency Basis Result +"25-Jan-2007", "15-Nov-2008", 2, 1, 39217 +"2011-01-01", "2012-10-25", 4, 40568 +"Invalid Date", "15-Nov-2008", 2, 1, "#VALUE!" +"25-Jan-2007", "Invalid Date", 2, 1, "#VALUE!" +"25-Jan-2007", "15-Nov-2008", 3, 1, "#NUM!" diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Financial/COUPNUM.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Financial/COUPNUM.data new file mode 100644 index 00000000..e3f7e82f --- /dev/null +++ b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Financial/COUPNUM.data @@ -0,0 +1,7 @@ +#Settlement Maturity Frequency Basis Result +"25-Jan-2007", "15-Nov-2008", 2, 1, 4 +"2011-01-01", "2012-10-25", 4, 0, 8 +"Invalid Date", "15-Nov-2008", 2, 1, "#VALUE!" +"25-Jan-2007", "Invalid Date", 2, 1, "#VALUE!" +"25-Jan-2007", "15-Nov-2008", 3, 1, "#NUM!" +"01-Jan-2008", "31-Dec-2012", 1, 1, 5 diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Financial/COUPPCD.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Financial/COUPPCD.data new file mode 100644 index 00000000..f6b23bd7 --- /dev/null +++ b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Financial/COUPPCD.data @@ -0,0 +1,6 @@ +#Settlement Maturity Frequency Basis Result +"25-Jan-2007", "15-Nov-2008", 2, 1, 39036 +"2011-01-01", "2012-10-25", 4, 40476 +"Invalid Date", "15-Nov-2008", 2, 1, "#VALUE!" +"25-Jan-2007", "Invalid Date", 2, 1, "#VALUE!" +"25-Jan-2007", "15-Nov-2008", 3, 1, "#NUM!" diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Financial/CUMIPMT.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Financial/CUMIPMT.data new file mode 100644 index 00000000..cf6b6763 --- /dev/null +++ b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Financial/CUMIPMT.data @@ -0,0 +1,10 @@ +#rate nper pv start_period end_period type result +0.0075, 360, 125000, 13, 24, 0, -11135.232130751 +0.0075, 360, 125000, 1, 1, 0, -937.50 +0.004166666667, 60, 50000, 1, 12, 0, -2294.9775375121 +0.004166666667, 60, 50000, 13, 24, 0, -1833.1000667254 +0.004166666667, 60, 50000, 25, 36, 0, -1347.5920679425 +0.004166666667, 60, 50000, 37, 48, 0, -837.24455850309 +0.004166666667, 60, 50000, 49, 60, 0, -300.78670189939 +0.0075, 360, 125000, 24, 13, 0, "#VALUE!" +0.0075, 360, 125000, 24, 13, 2, "#NUM!" diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Financial/CUMPRINC.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Financial/CUMPRINC.data new file mode 100644 index 00000000..ca340c78 --- /dev/null +++ b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Financial/CUMPRINC.data @@ -0,0 +1,10 @@ +#rate nper pv start_period end_period type result +0.0075, 360, 125000, 13, 24, 0, -934.10712342088 +0.0075, 360, 125000, 1, 1, 0, -68.278271180977 +0.004166666667, 60, 50000, 1, 12, 0, -9027.7626490046 +0.004166666667, 60, 50000, 13, 24, 0, -9489.6401197913 +0.004166666667, 60, 50000, 25, 36, 0, -9975.1481185741 +0.004166666667, 60, 50000, 37, 48, 0, -10485.495628014 +0.004166666667, 60, 50000, 49, 60, 0, -11021.953484617 +0.0075, 360, 125000, 24, 13, 0, "#VALUE!" +0.0075, 360, 125000, 24, 13, 2, "#NUM!" diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Financial/DB.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Financial/DB.data new file mode 100644 index 00000000..eb38638d --- /dev/null +++ b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Financial/DB.data @@ -0,0 +1,17 @@ +#cost salvage life period month result +1000000, 100000, 6, 1, 7, 186083.33333333 +1000000, 100000, 6, 2, 7, 259639.41666667 +1000000, 100000, 6, 3, 7, 176814.44275 +1000000, 100000, 6, 4, 7, 120410.63551275 +1000000, 100000, 6, 5, 7, 81999.642784183 +1000000, 100000, 6, 6, 7, 55841.756736028 +1000000, 100000, 6, 7, 7, 15845.098473848 +10000, 1000, 5, 1, 6, 1845.00 +10000, 1000, 5, 2, 6, 3009.195 +10000, 1000, 5, 3, 6, 1898.802045 +10000, 1000, 5, 4, 6, 1198.144090395 +10000, 1000, 5, 5, 6, 756.02892103925 +10000, 1000, 5, 6, 6, 238.52712458788 +0, 0, 5, 6, 6, 0.0 +-1000, 100, 5, 6, 6, "#NUM!" +"ABC", 100, 5, 6, 6, "#VALUE!" diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Financial/DDB.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Financial/DDB.data new file mode 100644 index 00000000..c8002f77 --- /dev/null +++ b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Financial/DDB.data @@ -0,0 +1,16 @@ +#cost salvage life period month result +2400, 300, 36500, 1, 0.13150684931507 +2400, 300, 36500, 2, 0.13149964346031 +2400, 300, 36500, 7, 0.13146362010871 +2400, 300, 36500, 7, 14, 0.91843145432708 +2400, 300, 120, 1, 2, 40.00 +2400, 300, 10, 1, 2, 480.00 +2400, 300, 10, 2, 1.5, 306.00 +2400, 300, 10, 10, 22.12254720000030 +10000, 1000, 5, 1, 4000.00 +10000, 1000, 5, 2, 2400.00 +10000, 1000, 5, 3, 1440.00 +10000, 1000, 5, 4, 864.00 +10000, 1000, 5, 5, 296.00 +-2400, 300, 36500, 1, "#NUM!" +"ABC", 300, 36500, 1, "#VALUE!" diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Financial/DISC.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Financial/DISC.data new file mode 100644 index 00000000..d14b1980 --- /dev/null +++ b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Financial/DISC.data @@ -0,0 +1,6 @@ +#settlement maturity price redemption basis result +"2007-01-25", "2007-06-15", 97.975, 100, 1, 0.052420213 +"2010-04-01", "2015-03-31", 95, 100, 0.01 +"2010-04-01", "2015-03-31", 0, 100, "#NUM!" +"2010-04-01", "2015-03-31", "ABC", 100, "#VALUE!" +"Invalid Date", "2007-06-15", 97.975, 100, 1, "#VALUE!" diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Financial/DOLLARDE.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Financial/DOLLARDE.data new file mode 100644 index 00000000..c11b9fc4 --- /dev/null +++ b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Financial/DOLLARDE.data @@ -0,0 +1,10 @@ +#fractional_dollar fraction result +1.02, 16, 1.125 +1.1, 32, 1.3125 +1.01, 16, 1.0625 +1.1, 16, 1.625 +1.03, 32, 1.09375 +1.3, 32, 1.9375 +1.12, 32, 1.375 +1.2345, 0, "#DIV/0!" +1.2345, -2, "#NUM!" diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Financial/DOLLARFR.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Financial/DOLLARFR.data new file mode 100644 index 00000000..2a3dead6 --- /dev/null +++ b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Financial/DOLLARFR.data @@ -0,0 +1,10 @@ +#decimal_dollar fraction result +1.125, 16, 1.02 +1.125, 32, 1.04 +1.0625, 16, 1.01 +1.625, 16, 1.1 +1.09375, 32, 1.03 +1.9375, 32, 1.3 +1.375, 32, 1.12 +1.2345, 0, "#DIV/0!" +1.2345, -2, "#NUM!" diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Financial/EFFECT.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Financial/EFFECT.data new file mode 100644 index 00000000..1969a9d3 --- /dev/null +++ b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Financial/EFFECT.data @@ -0,0 +1,6 @@ +#nominal_rate npery Result +0.0525, 4, 0.053542667370758 +0.10, 4, 0.103812890625 +0.10, 2, 0.1025 +0.025, 2, 0.02515625 +1, 0, "#NUM!" diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Financial/FV.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Financial/FV.data new file mode 100644 index 00000000..3687cf8e --- /dev/null +++ b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Financial/FV.data @@ -0,0 +1,9 @@ +#rate nper pmt pv type Result +0.005, 10, -200, -500, 1, 2581.4033740601 +0.01, 12, -1000, 12682.503013197 +0.009166666667, 35, -2000, , 1, 82846.246372418 +0.005, 12, -100, -1000, 1, 2301.4018303409 +0.004166666667, 60, -1000, 68006.082841536 +0.025, 16, -2000, 0, 1, 39729.460894166 +0.1, 12, -100, 0, 2, "#NUM!" +0.0, 12, -100, -100, 1300 diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Financial/FVSCHEDULE.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Financial/FVSCHEDULE.data new file mode 100644 index 00000000..98a7bc1b --- /dev/null +++ b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Financial/FVSCHEDULE.data @@ -0,0 +1,4 @@ +#principal schedule Result +1, {0.09|0.11|0.1}, 1.33089 +10, {0.09;0.11;0.1}, 13.3089 +10000, {0.05|0.05|0.035|0.035|0.035}, 12223.614571875 diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Financial/INTRATE.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Financial/INTRATE.data new file mode 100644 index 00000000..dad80359 --- /dev/null +++ b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Financial/INTRATE.data @@ -0,0 +1,6 @@ +#Settlement Maturity Investment Redemption Basis Result +"2008-02-15", "2008-05-15", 1000000, 1014420, 2, 0.05768 +"2005-04-01", "2010-03-31", 1000, 2125, 0.225 +"2008-02-15", "2008-05-15", 1000000, 1014420, "ABC", "#VALUE!" +"2008-02-15", "2008-05-15", 1000000, -1014420, 2, "#NUM!" +"Invalid Date", "2008-05-15", 1000000, 1014420, 2, "#VALUE!" diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Financial/IPMT.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Financial/IPMT.data new file mode 100644 index 00000000..777108d4 --- /dev/null +++ b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Financial/IPMT.data @@ -0,0 +1,9 @@ +#rate per nper pv fv type Result +0.008333333333, 3, 3, 8000, -22.406893015021 +0.10, 3, 3, 8000, -292.44712990937 +0.004166666667, 1, 60, 50000, -208.33333335 +0.004166666667, 2, 60, 50000, -205.26988189617 +0.00875, 1, 8, 10000, 5000, 1, 0.00 +0.00875, 2, 8, 10000, 5000, 1, -70.968650395559 +0.005, 2, 8, 2500, 200, 6, "#NUM!" +0.005, 8, 2, 2500, 200, 1, "#VALUE!" diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Financial/IRR.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Financial/IRR.data new file mode 100644 index 00000000..f032f786 --- /dev/null +++ b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Financial/IRR.data @@ -0,0 +1,6 @@ +#values guess Result +{-70000;12000;15000;18000;21000}, -0.021244848273410 +{-70000;12000;15000;18000;21000;26000}, 0.08663094803652 +{-70000;12000;15000;18000}, 0.10, -0.18213746414550 +{-100;20|24|28.80}, -0.13618951095869 +{-100;20|24|28.80|34.56|41.47}, 0.130575756371527 diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Financial/ISPMT.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Financial/ISPMT.data new file mode 100644 index 00000000..60cf73fd --- /dev/null +++ b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Financial/ISPMT.data @@ -0,0 +1,5 @@ +#rate per nper pv result +0.008333333333, 1, 36, 8000000, -64814.814812222 +0.10, 1, 3, 8000000, -533333.33333333 +0.004166666667, 1, 60, 50000, -204.8611111275 +0.004166666667, 2, 60, 50000, -201.388888905 diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Financial/MIRR.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Financial/MIRR.data new file mode 100644 index 00000000..0faa2b7d --- /dev/null +++ b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Financial/MIRR.data @@ -0,0 +1,6 @@ +#values finance_rate reinvestment_rate Result +{-120000;39000|30000|21000|37000|46000}, 0.10, 0.12, 0.12609413036591 +{-120000;39000|30000|21000}, 0.10, 0.12, -0.048044655249981 +{-120000;39000|30000|21000|37000|46000}, 0.10, 0.14, 0.13475911082831 +{-100;12|14|11}, 5.5, 5, 0.74021752686287 +{-100;12|14|11|13|16}, 5.5, 5, 1.8579321744785 diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Financial/NOMINAL.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Financial/NOMINAL.data new file mode 100644 index 00000000..932628c2 --- /dev/null +++ b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Financial/NOMINAL.data @@ -0,0 +1,6 @@ +#effect_rate npery result +0.053543, 4, 0.052500319868356 +0.10, 4, 0.09645475633778 +0.10, 2, 0.097617696340303 +0.025, 12, 0.024718035238113 +-0.025, 12, "#NUM!" diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Financial/NPER.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Financial/NPER.data new file mode 100644 index 00000000..0e0495a6 --- /dev/null +++ b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Financial/NPER.data @@ -0,0 +1,10 @@ +#rate pmt pv fv type result +0.01, -100, -1000, 10000, 1, 59.673865674295 +0.01, -100, -1000, 10000, 60.082122853762 +0.01, -100, -1000, -9.5785940398132 +0.003333333333, -1000, 50000, 54.78757726 +0.015, -1200, 9000, 5000, 1, 11.90373729 +0.015, -1200, 9000, 5000, 2, "#NUM!" +0.015, 0.0, 0.0, 5000, 1, "#NUM!" +0.0, 0.0, -500, 5000, 1, "#NUM!" +0.0, -50, -250, 150, 1, -2.0 diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Financial/NPV.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Financial/NPV.data new file mode 100644 index 00000000..41cd8012 --- /dev/null +++ b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Financial/NPV.data @@ -0,0 +1,5 @@ +#rate values result +0.10, -10000, 3000, 4200, 6800, 1188.4434123352 +0.08, 8000, 9200, 10000, 12000, 14500, 41922.061554932 +0.08, 8000, 9200, 10000, 12000, 14500, -9000, 36250.534912984 +0.05, 2000, 2400, 2900, 3500, 4100, 12678.677633095 diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Financial/PRICE.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Financial/PRICE.data new file mode 100644 index 00000000..a1e1edb9 --- /dev/null +++ b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Financial/PRICE.data @@ -0,0 +1,10 @@ +#Settlement Maturity Rate Yield Redemption Frequency Basis Result +"15-Feb-2008", "15-Nov-2017", 0.0575, 0.065, 100, 2, 0, 94.6343616213221 +"15-Feb-2008", "15-Nov-2017", 0.0575, 0.065, 100, 2, 1, 94.6354492078772 +"15-Feb-2008", "15-Nov-2017", 0.0575, 0.065, 100, 2, 2, 94.6365640300251 +"15-Feb-2008", "15-Nov-2017", 0.0575, 0.065, 100, 2, 3, 94.6351747967845 +"01-Apr-2012", "31-Mar-2020", 0.12, 0.10, 100, 2, NULL, 110.8344835932160 +"01-Apr-2012", "31-Mar-2020", 0.12, 0.10, 100, 2, 1, 110.8345373958590 +"01-Apr-2012", "31-Mar-2020", 0.12, 0.10, 100, 2, 2, 110.8344835932160 +"01-Apr-2012", "31-Mar-2020", 0.12, 0.10, 100, 2, 3, 110.8345285514390 +"01-Apr-2012", "31-Mar-2020", 0.12, 0.10, 100, 4, 3, 110.9217329631980 diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Financial/RATE.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Financial/RATE.data new file mode 100644 index 00000000..3bfe174c --- /dev/null +++ b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Financial/RATE.data @@ -0,0 +1,11 @@ +#Periods Payment Present Value Future Value Type Guess Result +48, -200, 8000, 0.0077014724882014 +60, -6000, 120000, 0.0467819164224934 +60, -1000, 120000, -0.0204429522193565 +24, -250, 5000, 0.0151308439023434 +24, -250, 5000, NULL, 1, 0.0165501190667120 +208, -700, 8000, 0.0874999976840937 +10, -1000, 6500, 0.0871137556058636 +6, -1000, 100000, -126068, 0.0484721272835728 +6, 1000, 100000, -126068, 0.0302728738275435 +6, -1000, -100000, 126068, 0, 0.0302728738275437 diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Financial/XIRR.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Financial/XIRR.data new file mode 100644 index 00000000..7e3faeee --- /dev/null +++ b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Financial/XIRR.data @@ -0,0 +1,4 @@ +#values dates guess Result +{-10000;2750|4250|3250|2750|46000}, {"2008-01-01";"2008-03-01"|"2008-10-30"|"2009-02-15"|"2009-04-01"}, 0.10, 0.373362535 +{-100;20|40|25}, {"2010-01-01";"2010-04-01"|"2010-10-01"|"2011-02-01"}, -0.3024 +{-100;20|40|25|8|15}, {"2010-01-01";"2010-04-01"|"2010-10-01"|"2011-02-01"|"2011-03-01"|"2011-06-01"}, 0.2095 diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Functions/ERROR_TYPE.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Functions/ERROR_TYPE.data new file mode 100644 index 00000000..5f7a25da --- /dev/null +++ b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Functions/ERROR_TYPE.data @@ -0,0 +1,14 @@ + "#N/A" +NULL, "#N/A" +-1, "#N/A" +1.25, "#N/A" +"", "#N/A" +"2.5", "#N/A" +TRUE, "#N/A" +"#NULL!", 1 +"#DIV/0!", 2 +"#VALUE!", 3 +"#REF!", 4 +"#NAME?", 5 +"#NUM!", 6 +"#N/A", 7 diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Functions/IS_BLANK.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Functions/IS_BLANK.data new file mode 100644 index 00000000..13368fea --- /dev/null +++ b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Functions/IS_BLANK.data @@ -0,0 +1,16 @@ + TRUE +NULL, TRUE +-1, FALSE +0, FALSE +9, FALSE +1.5, FALSE +"", FALSE +"-1", FALSE +"2", FALSE +"-1.5", FALSE +"ABC", FALSE +"#VALUE!", FALSE +"#N/A", FALSE +"TRUE", FALSE +TRUE, FALSE +FALSE, FALSE diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Functions/IS_ERR.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Functions/IS_ERR.data new file mode 100644 index 00000000..570af432 --- /dev/null +++ b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Functions/IS_ERR.data @@ -0,0 +1,16 @@ + FALSE +NULL, FALSE +-1, FALSE +0, FALSE +9, FALSE +1.5, FALSE +"", FALSE +"-1", FALSE +"2", FALSE +"-1.5", FALSE +"ABC", FALSE +"#VALUE!", TRUE +"#N/A", FALSE +"TRUE", FALSE +TRUE, FALSE +FALSE, FALSE diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Functions/IS_ERROR.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Functions/IS_ERROR.data new file mode 100644 index 00000000..e1453eb6 --- /dev/null +++ b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Functions/IS_ERROR.data @@ -0,0 +1,16 @@ + FALSE +NULL, FALSE +-1, FALSE +0, FALSE +9, FALSE +1.5, FALSE +"", FALSE +"-1", FALSE +"2", FALSE +"-1.5", FALSE +"ABC", FALSE +"#VALUE!", TRUE +"#N/A", TRUE +"TRUE", FALSE +TRUE, FALSE +FALSE, FALSE diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Functions/IS_EVEN.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Functions/IS_EVEN.data new file mode 100644 index 00000000..2c8c708d --- /dev/null +++ b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Functions/IS_EVEN.data @@ -0,0 +1,20 @@ + "#NAME?" +NULL, "#NAME?" +-1, FALSE +0, TRUE +9, FALSE +1.25, FALSE +1.5, FALSE +2.25, TRUE +2.5, TRUE +"", "#VALUE!" +"-1", FALSE +"2", TRUE +"-1.5", FALSE +"2.5", TRUE +"ABC", "#VALUE!" +"#VALUE!", "#VALUE!" +"#N/A", "#VALUE!" +"TRUE", "#VALUE!" +TRUE, "#VALUE!" +FALSE, "#VALUE!" diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Functions/IS_LOGICAL.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Functions/IS_LOGICAL.data new file mode 100644 index 00000000..0587b68a --- /dev/null +++ b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Functions/IS_LOGICAL.data @@ -0,0 +1,16 @@ + FALSE +NULL, FALSE +-1, FALSE +0, FALSE +9, FALSE +1.5, FALSE +"", FALSE +"-1", FALSE +"2", FALSE +"-1.5", FALSE +"ABC", FALSE +"#VALUE!", FALSE +"#N/A", FALSE +"TRUE", FALSE +TRUE, TRUE +FALSE, TRUE diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Functions/IS_NA.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Functions/IS_NA.data new file mode 100644 index 00000000..5af30133 --- /dev/null +++ b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Functions/IS_NA.data @@ -0,0 +1,16 @@ + FALSE +NULL, FALSE +-1, FALSE +0, FALSE +9, FALSE +1.5, FALSE +"", FALSE +"-1", FALSE +"2", FALSE +"-1.5", FALSE +"ABC", FALSE +"#VALUE!", FALSE +"#N/A", TRUE +"TRUE", FALSE +TRUE, FALSE +FALSE, FALSE diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Functions/IS_NONTEXT.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Functions/IS_NONTEXT.data new file mode 100644 index 00000000..3af6f307 --- /dev/null +++ b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Functions/IS_NONTEXT.data @@ -0,0 +1,16 @@ + TRUE +NULL, TRUE +-1, TRUE +0, TRUE +9, TRUE +1.5, TRUE +"", FALSE +"-1", FALSE +"2", FALSE +"-1.5", FALSE +"ABC", FALSE +"#VALUE!", TRUE +"#N/A", TRUE +"TRUE", FALSE +TRUE, TRUE +FALSE, TRUE diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Functions/IS_NUMBER.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Functions/IS_NUMBER.data new file mode 100644 index 00000000..33449f54 --- /dev/null +++ b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Functions/IS_NUMBER.data @@ -0,0 +1,16 @@ + FALSE +NULL, FALSE +-1, TRUE +0, TRUE +9, TRUE +1.5, TRUE +"", FALSE +"-1", FALSE +"2", FALSE +"-1.5", FALSE +"ABC", FALSE +"#VALUE!", FALSE +"#N/A", FALSE +"TRUE", FALSE +TRUE, FALSE +FALSE, FALSE diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Functions/IS_ODD.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Functions/IS_ODD.data new file mode 100644 index 00000000..34962f54 --- /dev/null +++ b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Functions/IS_ODD.data @@ -0,0 +1,20 @@ + "#NAME?" +NULL, "#NAME?" +-1, TRUE +0, FALSE +9, TRUE +1.25, TRUE +1.5, TRUE +2.25, FALSE +2.5, FALSE +"", "#VALUE!" +"-1", TRUE +"2", FALSE +"-1.5", TRUE +"2.5", FALSE +"ABC", "#VALUE!" +"#VALUE!", "#VALUE!" +"#N/A", "#VALUE!" +"TRUE", "#VALUE!" +TRUE, "#VALUE!" +FALSE, "#VALUE!" diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Functions/IS_TEXT.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Functions/IS_TEXT.data new file mode 100644 index 00000000..6c3cb2e1 --- /dev/null +++ b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Functions/IS_TEXT.data @@ -0,0 +1,16 @@ + FALSE +NULL, FALSE +-1, FALSE +0, FALSE +9, FALSE +1.5, FALSE +"", TRUE +"-1", TRUE +"2", TRUE +"-1.5", TRUE +"ABC", TRUE +"#VALUE!", FALSE +"#N/A", FALSE +"TRUE", TRUE +TRUE, FALSE +FALSE, FALSE diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Functions/N.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Functions/N.data new file mode 100644 index 00000000..107fa4fd --- /dev/null +++ b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Functions/N.data @@ -0,0 +1,20 @@ + 0 +NULL, 0 +-1, -1 +1.25, 1.25 +"", 0 +"2.5", 0 +"TRUE", 0 +"ABCDE", 0 +TRUE, 1 +"#DIV/0!", "#DIV/0!" +"#NUM!", "#NUM!" +{}, 0 +{123}, 123 +{123|456}, 123 +{123|"A"}, 123 +{"A"|123}, 0 +{"A"|123;456|789}, 0 +{123|"A";456|789}, 123 +{123|456;"A"|789}, 123 +{123|456;789|"A"}, 123 diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Functions/TYPE.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Functions/TYPE.data new file mode 100644 index 00000000..9ad5a51e --- /dev/null +++ b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Functions/TYPE.data @@ -0,0 +1,16 @@ + 1 +NULL, 1 +-1, 1 +1.25, 1 +"", 2 +"2.5", 2 +"TRUE", 2 +"ABCDE", 2 +TRUE, 4 +"#DIV/0!", 16 +"#NUM!", 16 +{}, 1 +{1}, 1 +{1;2;3}, 64 +{1|2|3;4|5|6;7|8|9}, 64 +{|;|}, 64 diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Logical/AND.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Logical/AND.data new file mode 100644 index 00000000..b024b335 --- /dev/null +++ b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Logical/AND.data @@ -0,0 +1,21 @@ +"#VALUE!" // No arguments +NULL, TRUE // NULL +TRUE, NULL, TRUE // Boolean TRUE and NULL +FALSE, NULL, FALSE // Boolean FALSE and NULL +TRUE, TRUE, TRUE // Both TRUE Booleans +TRUE, FALSE, FALSE // Mixed Booleans +FALSE, TRUE, FALSE // Mixed Booleans +FALSE, FALSE, FALSE // Both FALSE Booleans +TRUE, TRUE, FALSE, FALSE // Multiple Mixed Booleans +TRUE, TRUE, TRUE, TRUE // Multiple TRUE Booleans +FALSE, FALSE, FALSE, FALSE, FALSE // Multiple FALSE Booleans +-1, -2, TRUE +0, 0, FALSE +0, 1, FALSE +1, 1, TRUE +"1",1, "#VALUE!" +"TRUE", 1, TRUE // 'TRUE' String +"FALSE",TRUE, FALSE // 'FALSE' String +"ABCD", 1, "#VALUE!" // Non-numeric String +-2, 1, TRUE +-2, 0, FALSE diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Logical/IF.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Logical/IF.data new file mode 100644 index 00000000..304c7f2a --- /dev/null +++ b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Logical/IF.data @@ -0,0 +1,7 @@ +0 +TRUE, 0 +FALSE, FALSE +TRUE, "ABC", "ABC" +FALSE, "ABC", FALSE +TRUE, "ABC", "XYZ", "ABC" +FALSE, "ABC", "XYZ", "XYZ" diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Logical/IFERROR.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Logical/IFERROR.data new file mode 100644 index 00000000..69a85839 --- /dev/null +++ b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Logical/IFERROR.data @@ -0,0 +1,8 @@ +, "Error", NULL +TRUE, "Error", TRUE +42, "Error", 42 +"", "Error", "" +"ABC", "Error", "ABC" +"#VALUE!", "Error", "Error" +"#NAME?", "Error", "Error" +"#N/A", "Error", "Error" diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Logical/NOT.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Logical/NOT.data new file mode 100644 index 00000000..bed6da05 --- /dev/null +++ b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Logical/NOT.data @@ -0,0 +1,20 @@ +TRUE +NULL, TRUE +-1, FALSE +0, TRUE +1, FALSE +2, FALSE +-1.5, FALSE +1.5, FALSE +"-1", "#VALUE!" +"0", "#VALUE!" +"1", "#VALUE!" +"2", "#VALUE!" +"-1.5", "#VALUE!" +"1.5", "#VALUE!" +"", "#VALUE!" +"ABC", "#VALUE!" +"FALSE",TRUE +"TRUE", FALSE +TRUE, FALSE +FALSE, TRUE diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Logical/OR.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Logical/OR.data new file mode 100644 index 00000000..9c2a7d08 --- /dev/null +++ b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Logical/OR.data @@ -0,0 +1,20 @@ +"#VALUE!" // No arguments +NULL, FALSE // NULL +TRUE, NULL, TRUE // Boolean TRUE and NULL +FALSE, NULL, FALSE // Boolean FALSE and NULL +TRUE, TRUE, TRUE // Both TRUE Booleans +TRUE, FALSE, TRUE // Mixed Booleans +FALSE, TRUE, TRUE // Mixed Booleans +FALSE, FALSE, FALSE // Both FALSE Booleans +TRUE, TRUE, FALSE, TRUE // Multiple Mixed Booleans +TRUE, TRUE, TRUE, TRUE // Multiple TRUE Booleans +FALSE, FALSE, FALSE, FALSE, FALSE // Multiple FALSE Booleans +-1, -2, TRUE +0, 0, FALSE +0, 1, TRUE +1, 1, TRUE +"TRUE", 1, TRUE // 'TRUE' String +"FALSE",TRUE, TRUE // 'FALSE' String +"ABCD", 1, "#VALUE!" // Non-numeric String +-2, 1, TRUE +-2, 0, TRUE diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/LookupRef/HLOOKUP.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/LookupRef/HLOOKUP.data new file mode 100644 index 00000000..c29fdc95 --- /dev/null +++ b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/LookupRef/HLOOKUP.data @@ -0,0 +1,9 @@ +10251, {"Order ID"|10247|10249|10250|10251|10252|10253;"Unit Price"|14.00|18.60|7.70|16.80|16.80|64.80;"Quantity"|12|9|10|6|20|40}, 2, FALSE, 16.8 +10251, {"Order ID"|10247|10249|10250|10251|10252|10253;"Unit Price"|14.00|18.60|7.70|16.80|16.80|64.80;"Quantity"|12|9|10|6|20|40}, 3, FALSE, 6.0 +10248, {"Order ID"|10247|10249|10250|10251|10252|10253;"Unit Price"|14.00|18.60|7.70|16.80|16.80|64.80;"Quantity"|12|9|10|6|20|40}, 2, FALSE, "#N/A" +10248, {"Order ID"|10247|10249|10250|10251|10252|10253;"Unit Price"|14.00|18.60|7.70|16.80|16.80|64.80;"Quantity"|12|9|10|6|20|40}, 2, TRUE, 14.0 +"Axles", {"Axles"|"Bearings"|"Bolts";4|4|9;5|7|10;6|8|11}, 2, TRUE, 4 +"Bearings", {"Axles"|"Bearings"|"Bolts";4|4|9;5|7|10;6|8|11}, 3, FALSE, 7 +"B", {"Axles"|"Bearings"|"Bolts";4|4|9;5|7|10;6|8|11}, 3, TRUE, 5 +"Bolts", {"Axles"|"Bearings"|"Bolts";4|4|9;5|7|10;6|8|11}, 4, 11 +3, {1|2|3;"a"|"b"|"c";"d"|"e"|"f"}, 2, TRUE, "c" diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/LookupRef/VLOOKUP.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/LookupRef/VLOOKUP.data new file mode 100644 index 00000000..8fefc6cc --- /dev/null +++ b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/LookupRef/VLOOKUP.data @@ -0,0 +1,5 @@ +1, {"Density"|"Viscosity"|"Temperature";0.457|3.55|500;0.525|3.25|400;0.616|2.93|300;0.675|2.75|250;0.746|2.57|200;0.835|2.38|150;0.946|2.17|100;1.09|1.95|50;1.29|1.71|0}, 2, FALSE, 2.17 +1, {"Density"|"Viscosity"|"Temperature";0.457|3.55|500;0.525|3.25|400;0.616|2.93|300;0.675|2.75|250;0.746|2.57|200;0.835|2.38|150;0.946|2.17|100;1.09|1.95|50;1.29|1.71|0}, 3, TRUE, 100 +.7, {"Density"|"Viscosity"|"Temperature";0.457|3.55|500;0.525|3.25|400;0.616|2.93|300;0.675|2.75|250;0.746|2.57|200;0.835|2.38|150;0.946|2.17|100;1.09|1.95|50;1.29|1.71|0}, 3, FALSE, "#N/A" +0.1, {"Density"|"Viscosity"|"Temperature";0.457|3.55|500;0.525|3.25|400;0.616|2.93|300;0.675|2.75|250;0.746|2.57|200;0.835|2.38|150;0.946|2.17|100;1.09|1.95|50;1.29|1.71|0}, 2, TRUE, "#N/A" +2, {"Density"|"Viscosity"|"Temperature";0.457|3.55|500;0.525|3.25|400;0.616|2.93|300;0.675|2.75|250;0.746|2.57|200;0.835|2.38|150;0.946|2.17|100;1.09|1.95|50;1.29|1.71|0}, 2, TRUE, 1.71 diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/MathTrig/ATAN2.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/MathTrig/ATAN2.data new file mode 100644 index 00000000..614645ca --- /dev/null +++ b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/MathTrig/ATAN2.data @@ -0,0 +1,17 @@ +#x_num y_num Result +0, 0, "#DIV/0!" +1, 1, 0.785398163397 +-1, -1, -2.356194490192 +-1, 1, 2.356194490192 +1, -1, -0.785398163397 +0.5, 1, 1.107148717794 +-0.5, 2, 1.815774989922 +1, 0.8, 0.674740942224 +0.8, -0.6, -0.643501108793 +1, -9, -1.460139105621 +0.2, 0, 0.0 +0.1, 0.2, 1.107148717794 +0, 0.2, 1.570796326795 +"A", 0.2, "#VALUE!" +TRUE, 1, 0.785398163397 +FALSE, -2.5, -1.570796326795 diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/MathTrig/CEILING.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/MathTrig/CEILING.data new file mode 100644 index 00000000..23c263a0 --- /dev/null +++ b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/MathTrig/CEILING.data @@ -0,0 +1,21 @@ +#number significance result +2.5, 1, 3.0 +-2.5, -2, -4.0 +1.5, 0.1, 1.5 +0.234, 0.01, 0.24 +-2.341, -0.1, -2.4 +8, 0, 0.0 +8, 1.5, 9.0 +8, -1.5, "#NUM!" +-8, 1.5, "#NUM!" +-8, -1.5, -9.0 +8.26, 0.05, 8.3 +2.341, 0.05, 2.35 +123.456, "#VALUE!" +"PHPExcel", "#VALUE!" +210.67, 1, 211.0 +210.67, 0.05, 210.70 +210.63, 0.05, 210.65 +2.98, 2, 4.0 +-2.98, 2, "#NUM!" +-4.5, -1, -5.0 diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/MathTrig/COMBIN.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/MathTrig/COMBIN.data new file mode 100644 index 00000000..0b34f757 --- /dev/null +++ b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/MathTrig/COMBIN.data @@ -0,0 +1,25 @@ +#NumObjs NumInSet Result +7, 3, 35 +8, 2, 28 +8, 3, 56 +8, 4, 70 +100, 3, 161700 +-7, -10, "#NUM!" +-7, 10, "#NUM!" +7, -10, "#NUM!" +2, 3, "#NUM!" +2, 2, 1 +2, 1, 2 +2, 0, 1 +2.5, 2, 1 +"ABCD", "EFGH", "#VALUE!" +10, 5, 252 +10, 3, 120 +21, 5, 20349 +6, 1, 6 +6, 2, 15 +6, 3, 20 +6, 4, 15 +6, 5, 6 +6, 6, 1 +6, 7, "#NUM!" diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/MathTrig/EVEN.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/MathTrig/EVEN.data new file mode 100644 index 00000000..9254a74d --- /dev/null +++ b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/MathTrig/EVEN.data @@ -0,0 +1,17 @@ +, 0 +5.4, 6 +-5.4, -6 +1.5, 2 +0.1, 2 +3, 4 +2, 2 +-2, -2 +-1, -2 +"ABC", "#VALUE!" +TRUE, 2 +FALSE, 0 +0, 0 +210.61, 212 +2.98, 4 +-2.98, -4 +6, 6 diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/MathTrig/FACT.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/MathTrig/FACT.data new file mode 100644 index 00000000..423971dc --- /dev/null +++ b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/MathTrig/FACT.data @@ -0,0 +1,10 @@ +5, 120 +1.9, 1 +0, 1 +-4, "#NUM!" +1, 1 +3, 6 +6, 720 +10, 3628800 +3.2, 6 +"ABC", "#VALUE!" diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/MathTrig/FACTDOUBLE.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/MathTrig/FACTDOUBLE.data new file mode 100644 index 00000000..03c3108a --- /dev/null +++ b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/MathTrig/FACTDOUBLE.data @@ -0,0 +1,8 @@ +0, 1 +6, 48 +7, 105 +5, 15 +8, 384 +13, 135135 +-1, "#NUM!" +"ABC", "#VALUE!" diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/MathTrig/FLOOR.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/MathTrig/FLOOR.data new file mode 100644 index 00000000..9bcf1dad --- /dev/null +++ b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/MathTrig/FLOOR.data @@ -0,0 +1,11 @@ +2.5, 1, 2 +-2.5, -2, -2 +-2.5, 2, "#NUM!" +2.5, -2, "#NUM!" +123.456,0, "#DIV/0!" +1.5, 0.1, 1.5 +0.234, 0.01, 0.23 +123.456, "#VALUE!" +"ABC", "#VALUE!" +17, 3, 15 +19, 4, 16 diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/MathTrig/GCD.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/MathTrig/GCD.data new file mode 100644 index 00000000..68d1deb7 --- /dev/null +++ b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/MathTrig/GCD.data @@ -0,0 +1,20 @@ +5, 2, 1 +24, 36, 12 +7, 1, 1 +5, 0, 5 +30, 15, 10, 5 +42, 56, 140, 14 +24, 28, 40, 4 +27, 45, 54, 9 +84, 126, 196, 14 +3, 5, 7, 1 +3, 5, 0, 1 +3, 5, -7, "#NUM!" +3, 6, 12, 3 +3, 6, "12", 3 +3, 6, "ABC", "#VALUE!" +3, 3 +15, 10, 25, 5 +0, 8, 12, 4 +7, 2, 1 +0, 0, 0 diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/MathTrig/INT.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/MathTrig/INT.data new file mode 100644 index 00000000..e05797e4 --- /dev/null +++ b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/MathTrig/INT.data @@ -0,0 +1,19 @@ +, 0 +5.4, 5 +-5.4, -6 +-3.2, -4 +1.5, 1 +0.1, 0 +-0.1, -1 +3, 3 +2, 2 +-2.01, -3 +-2, -2 +-1, -1 +"ABC", "#VALUE!" +TRUE, 1 +FALSE, 0 +0, 0 +"-3.5", -4 +8.9, 8 +-8.9, -9 diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/MathTrig/LCM.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/MathTrig/LCM.data new file mode 100644 index 00000000..327253fa --- /dev/null +++ b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/MathTrig/LCM.data @@ -0,0 +1,12 @@ +5, 2, 10 +24, 36, 72 +3, 7, 12, 84 +24.9, 36.9, 72 +6, 22, 121, 726 +6, "ABC", "#VALUE!" +24, -12, "#NUM!" +3, 0, 0 +1, 5, 5 +15, 10, 25, 150 +1, 8, 12, 24 +7, 2, 14 diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/MathTrig/LOG.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/MathTrig/LOG.data new file mode 100644 index 00000000..bfea379f --- /dev/null +++ b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/MathTrig/LOG.data @@ -0,0 +1,70 @@ +#number base result +"ABC", "#VALUE!" +"123ABC", "#VALUE!" +1.2345, 0.0914910942679511 +-1.5, -0.75, "#NUM!" +0, -0.75, "#NUM!" +3.75, -0.75, "#NUM!" +-1.5, 0, "#NUM!" +0, 0, "#NUM!" +3.75, 0, "#NUM!" +-0.75, 0.75, "#NUM!" +0, 0.75, "#NUM!" +0.75, 0.75, 1.0 +1.5, 0.75, -1.4094208396532100 +2.25, 0.75, -2.8188416793064200 +3, 0.75, -3.8188416793064200 +3.75, 0.75, -4.5945019399978900 +4.5, 0.75, -5.2282625189596300 +-0.75, 1.5, "#NUM!" +0, 1.5, "#NUM!" +0.75, 1.5, -0.7095112913514550 +1.5, 1.5, 1.0 +2.25, 1.5, 2.0 +3, 1.5, 2.7095112913514500 +3.75, 1.5, 3.2598510045646600 +4.5, 1.5, 3.7095112913514500 +-0.75, 2.25, "#NUM!" +0, 2.25, "#NUM!" +0.75, 2.25, -0.3547556456757270 +1.5, 2.25, 0.5 +2.25, 2.25, 1.0 +3, 2.25, 1.3547556456757300 +3.75, 2.25, 1.6299255022823300 +4.5, 2.25, 1.8547556456757300 +-0.75, 3, "#NUM!" +0, 3, "#NUM!" +0.75, 3, -0.2618595071429150 +1.5, 3, 0.3690702464285430 +2.25, 3, 0.7381404928570850 +3, 3, 1.0 +3.75, 3, 1.2031140135750100 +4.5, 3, 1.3690702464285400 +-0.75, 3.75, "#NUM!" +0, 3.75, "#NUM!" +0.75, 3.75, -0.2176514479827300 +1.5, 3.75, 0.3067624865675560 +2.25, 3.75, 0.6135249731351110 +3, 3.75, 0.8311764211178410 +3.75, 3.75, 1.0 +4.5, 3.75, 1.1379389076854000 +-0.75, 4.5, "#NUM!" +0, 4.5, "#NUM!" +0.75, 4.5, -0.1912681309275550 +1.5, 4.5, 0.2695772896908150 +2.25, 4.5, 0.5391545793816300 +3, 4.5, 0.7304227103091850 +3.75, 4.5, 0.8787817986064220 +4.5, 4.5, 1.0 +64, 2, 6 +100, 2 +4, 0.5, -2 +500, 2.698970004336 +10, 1 +8, 2, 3 +86, 2.7182818, 4.454347342888 +20, 1.301029995664 +20, 10, 1.301029995664 +20, 25, 0.930676558073 +25, 5.1, 1.975690971574 +200, 3, 4.822736302150 diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/MathTrig/MDETERM.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/MathTrig/MDETERM.data new file mode 100644 index 00000000..c1d3a3fa --- /dev/null +++ b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/MathTrig/MDETERM.data @@ -0,0 +1,14 @@ +{1|2|3;4|5|6;7|8|9}, 6.661338147750940E-16 +{1.1|2.2|3.3;4.4|5.5|6.6;7.7|8.8|9.9}, 1.61204383175573E-15 +{10|20|30;40|50|60;70|80|90}, -4.26325641456060E-12 +{8|1|6;3|5|7;4|9|2}, -3.6E+02 +{5|2;7|1}, -9 +{6|4|2;3|5|3;2|3|4}, 40 +{0.2|1;0.35|10.8}, 1.81 +{0.2|1|-0.9;0.35|10.8|4;-3.15|5|}, "#VALUE!" +{1|2;3|4}, -2 +{1|2|1;3|4|2;1|1|2}, -3 +{1|3|8|5;1|3|6|1;1|1|1|0;7|3|10|2}, 88 +{3|6|1;1|1|0;3|10|2}, 1 +{3|6;1|1}, -3 +{1|3|8|5;1|3|6|1}, "#VALUE!" diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/MathTrig/MINVERSE.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/MathTrig/MINVERSE.data new file mode 100644 index 00000000..40ee4284 --- /dev/null +++ b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/MathTrig/MINVERSE.data @@ -0,0 +1,15 @@ +{1|2|3;4|5|6;7|8|9}, {-4.50359962737050E+15|9.00719925474099E+15|-4.50359962737050E+15;9.00719925474100E+15|-1.80143985094820E+16|9.00719925474099E+15;-4.50359962737050E+15|9.00719925474099E+15|-4.50359962737050E+15} +{10|20|30;40|50|60;70|80|90}, {7.03687441776639E+13|-1.40737488355328E+14|7.03687441776640E+13;-1.40737488355328E+14|2.81474976710656E+14|-1.40737488355328E+14;7.03687441776641E+13|-1.40737488355328E+14|7.03687441776640E+13} +{8|1|6;3|5|7;4|9|2}, {1.47222222222222E-01|-1.44444444444444E-01|6.38888888888889E-02;-6.11111111111111E-02|2.22222222222222E-02|1.05555555555556E-01;-1.94444444444444E-02|1.88888888888889E-01|-1.02777777777778E-01} +{4|-1;2|0}, {0|0.5;-1|2} +{1|2|1;3|4|-1;0|2|0}, {0.25|0.25|-0.75;0|0|0.5;0.75|-0.25|-0.25} +{1|4|1|1;1|4|0|1;2|3|1|2;3|2|6|4}, {3.2|-4.8|2.8|-1;0.2|0.2|0.2|0;1|-1|0|0;-4|5|-2|1} +{0.2|1;0.35|10.8}, {5.96685082872928|-0.55248618784530;-0.19337016574586|0.11049723756906} +{0.2|1|-0.9;0.35|10.8|4;-3.15|5}, "#VALUE!" +{1|2;3|4}, {-2|1;1.5|-0.5} +{1|2|1;3|4|2;1|1|2}, {-2|1|0;1.33333333333333|-0.33333333333333|-0.33333333333333;0.33333333333333|-0.33333333333333|0.66666666666667} +{2|3;4|5}, {-2.5|1.5;2|-1} +{5|8;7|9}, {-0.818181818181818|0.727272727272727;0.636363636363636|-0.454545454545455} +{45|78;17|50}, {0.054112554112554|-0.084415584415584;-0.018398268398268|0.048701298701299} +{2|2;2|1}, {-0.5|1.0;1|-1} +{1|4|6;7|4|10;15|16|20}, {-0.2941176470588230|0.0588235294117647|0.0588235294117647;0.0367647058823529|-0.2573529411764710|0.1176470588235290;0.1911764705882350|0.1617647058823530|-0.0882352941176471} \ No newline at end of file diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/MathTrig/MMULT.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/MathTrig/MMULT.data new file mode 100644 index 00000000..06af83a0 --- /dev/null +++ b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/MathTrig/MMULT.data @@ -0,0 +1,12 @@ +{1|2;3|4}, {1|2;3|4}, {7|10;15|22} +{1|2|3;4|5|6;7|8|9}, {1|2|3;4|5|6;7|8|9}, {30|36|42;66|81|96;102|126|150} +{1|2;3|4}, 2, "#VALUE!" // Mismatched dimensions +{1|2;3|4}, {2}, "#VALUE!" // Mismatched dimensions +{1.2;2.4}, {3.6|4.5}, {14.43|14.43;14.43|14.43} +2, {1|2;3|4}, "#VALUE!" // Mismatched dimensions +{2}, {1|2;3|4}, "#VALUE!" // Mismatched dimensions +{1|2;3|4}, {2|4}, "#VALUE!" +{1|2;3|4}, {2;4}, {{10};{22}} +{2|4}, {1|2;3|4}, {14|20} +{2;4}, {1|2;3|4}, "#VALUE!" // Mismatched dimensions +{1|2;3|4;5|6}, {1|2|3;4|5|6}, {9|12|15;19|26|33;29|40|51} diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/MathTrig/MOD.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/MathTrig/MOD.data new file mode 100644 index 00000000..efcd4880 --- /dev/null +++ b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/MathTrig/MOD.data @@ -0,0 +1,9 @@ +19, 17, 2 +19, -13, -7 +34, 17, 0 +34, 0, "#DIV/0!" +3, 2, 1 +-3, 2, 1 +3, -2, -1 +-3, -2, -1 +2.5, 1.3, 1.2 diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/MathTrig/MROUND.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/MathTrig/MROUND.data new file mode 100644 index 00000000..3a9a5603 --- /dev/null +++ b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/MathTrig/MROUND.data @@ -0,0 +1,11 @@ +10, 3, 9 +-10, -3, -9 +1.3, 0.2, 1.4 +5, 0, 0 +3.14159, 0.002, 3.142 +-3.14159, -.02, -3.14 +31415.92654, 10, 31420 +31415.92654, 1, 31416 +5, -2, "#NUM!" +"ABC", 1, "#VALUE!" +1.234, "ABC", "#VALUE!" diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/MathTrig/MULTINOMIAL.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/MathTrig/MULTINOMIAL.data new file mode 100644 index 00000000..bb742bb2 --- /dev/null +++ b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/MathTrig/MULTINOMIAL.data @@ -0,0 +1,2 @@ +2, 3, 4, 1260 +3, 1, 2, 5, 27720 diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/MathTrig/ODD.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/MathTrig/ODD.data new file mode 100644 index 00000000..37e05464 --- /dev/null +++ b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/MathTrig/ODD.data @@ -0,0 +1,13 @@ +, 1 +5.4, 7 +-5.4, -7 +1.5, 3 +0.1, 1 +3, 3 +2, 3 +-2, -3 +-1, -1 +"ABC", "#VALUE!" +TRUE, 1 +FALSE, 1 +0, 1 diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/MathTrig/POWER.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/MathTrig/POWER.data new file mode 100644 index 00000000..46dca916 --- /dev/null +++ b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/MathTrig/POWER.data @@ -0,0 +1,81 @@ +-1.5, -1.5, "#NUM!" +-0.75, -1.5, "#NUM!" +0, -1.5, "#DIV/0!" +0.75, -1.5, 1.539600717839 +1.5, -1.5, 0.54433105395182 +2.25, -1.5, 0.2962962962963 +3, -1.5, 0.19245008972988 +3.75, -1.5, 0.13770607453182 +4.5, -1.5, 0.10475656017579 +-1.5, -0.75, "#NUM!" +-0.75, -0.75, "#NUM!" +0, -0.75, "#DIV/0!" +0.75, -0.75, 1.2408064788028 +1.5, -0.75, 0.73778794646688 +2.25, -0.75, 0.54433105395182 +3, -0.75, 0.43869133765083 +3.75, -0.75, 0.37108769116183 +4.5, -0.75, 0.32366118113822 +-1.5, 0, 1 +-0.75, 0, 1 +0, 0, "#NUM!" +0.75, 0, 1 +1.5, 0, 1 +2.25, 0, 1 +3, 0, 1 +3.75, 0, 1 +4.5, 0, 1 +-1.5, 0.75, "#NUM!" +-0.75, 0.75, "#NUM!" +0, 0.75, 0 +0.75, 0.75, 0.80592744886766 +1.5, 0.75, 1.35540300541477 +2.25, 0.75, 1.83711730708738 +3, 0.75, 2.27950705695478 +3.75, 0.75, 2.69478083972313 +4.5, 0.75, 3.08965071586068 +-1.5, 1.5, "#NUM!" +-0.75, 1.5, "#NUM!" +0, 1.5, 0 +0.75, 1.5, 0.64951905283833 +1.5, 1.5, 1.83711730708738 +2.25, 1.5, 3.375 +3, 1.5, 5.19615242270663 +3.75, 1.5, 7.26184377413891 +4.5, 1.5, 9.54594154601839 +-1.5, 2.25, "#NUM!" +-0.75, 2.25, "#NUM!" +0, 2.25, 0 +0.75, 2.25, 0.52346523324493 +1.5, 2.25, 2.49003431932572 +2.25, 2.25, 6.20027091141992 +3, 2.25, 11.8446661165724 +3.75, 2.25, 19.5690774636122 +4.5, 2.25, 29.4936251312199 +-1.5, 3, -3.375 +-0.75, 3, -0.421875 +0, 3, 0 +0.75, 3, 0.421875 +1.5, 3, 3.375 +2.25, 3, 11.390625 +3, 3, 27 +3.75, 3, 52.734375 +4.5, 3, 91.125 +-1.5, 3.75, "#NUM!" +-0.75, 3.75, "#NUM!" +0, 3.75, 0 +0.75, 3.75, 0.34000064249104 +1.5, 3.75, 4.57448514327484 +2.25, 3.75, 20.9259143260422 +3, 3.75, 61.546690537779 +3.75, 3.75, 142.107583344775 +4.5, 3.75, 281.544421482804 +-1.5, 4.5, "#NUM!" +-0.75, 4.5, "#NUM!" +0, 4.5, 0 +0.75, 4.5, 0.27401585041617 +1.5, 4.5, 6.20027091141992 +2.25, 4.5, 38.443359375 +3, 4.5, 140.296115413079 +3.75, 4.5, 382.948792776857 +4.5, 4.5, 869.873923380926 diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/MathTrig/PRODUCT.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/MathTrig/PRODUCT.data new file mode 100644 index 00000000..dc203a02 --- /dev/null +++ b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/MathTrig/PRODUCT.data @@ -0,0 +1,7 @@ +5, 15, 30, 2250 +5, 15, 30, 2, 4500 +3, 6, 2, 8, 5, 1440 +3, 4, 12 +3, 4, 4.5, 54 +3, 4, 4.5, -6.78, -366.12 +3, 4, 4.5, -6.78, -2, 732.24 diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/MathTrig/QUOTIENT.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/MathTrig/QUOTIENT.data new file mode 100644 index 00000000..5992a4cf --- /dev/null +++ b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/MathTrig/QUOTIENT.data @@ -0,0 +1,6 @@ +5, 2, 2 +4.5, 3.1, 1 +-10, 3, -3 +10, 2.2, 4 +5.5, 2.667, 2 +-7, 2, -4 diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/MathTrig/ROMAN.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/MathTrig/ROMAN.data new file mode 100644 index 00000000..3ab436ad --- /dev/null +++ b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/MathTrig/ROMAN.data @@ -0,0 +1,5 @@ +49, "XLIX" +50, "L" +2012, "MMXII" +999, "CMXCIX" +499, "CDXCIX" diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/MathTrig/ROUNDDOWN.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/MathTrig/ROUNDDOWN.data new file mode 100644 index 00000000..54301439 --- /dev/null +++ b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/MathTrig/ROUNDDOWN.data @@ -0,0 +1,14 @@ +662.79, 0, 662 +662.79, 1, 662.7 +54.1, -1, 50 +55.1, -1, 50 +-23.67, 1, -23.6 +3.2, 0, 3 +3.2, 0.01, 3 +76.9, 0, 76 +3.14159, 3, 3.141 +-3.14159, 1, -3.1 +31415.92654, -2, 31400 +31415.92654, -1, 31410 +"ABC", 1, "#VALUE!" +1.234, "ABC", "#VALUE!" diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/MathTrig/ROUNDUP.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/MathTrig/ROUNDUP.data new file mode 100644 index 00000000..69f2bcdb --- /dev/null +++ b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/MathTrig/ROUNDUP.data @@ -0,0 +1,14 @@ +662.79, 0, 663 +662.79, 1, 662.8 +54.1, -1, 60 +55.1, -1, 60 +-23.62, 1, -23.7 +3.2, 0, 4 +3.2, 0.01, 4 +76.9, 0, 77 +3.14159, 3, 3.142 +-3.14159, 1, -3.2 +31415.92654, -2, 31500 +31415.92654, -1, 31420 +"ABC", 1, "#VALUE!" +1.234, "ABC", "#VALUE!" diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/MathTrig/SERIESSUM.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/MathTrig/SERIESSUM.data new file mode 100644 index 00000000..9b9f386b --- /dev/null +++ b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/MathTrig/SERIESSUM.data @@ -0,0 +1,2 @@ +5, 1, 1, {1|1|1|1|1}, 3905 +2, 1, 2, {1|2|3|4|5}, 3186 diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/MathTrig/SIGN.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/MathTrig/SIGN.data new file mode 100644 index 00000000..a22a1e30 --- /dev/null +++ b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/MathTrig/SIGN.data @@ -0,0 +1,13 @@ +-1.5, -1 +-1, -1 +-0.5, -1 +0, 0 +0.5, 1 +1, 1 +1.5, 1 +2, 1 +2.5, 1 +"ABC", "#VALUE!" +TRUE, 1 +FALSE, 0 +"-3.5", -1 diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/MathTrig/SQRTPI.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/MathTrig/SQRTPI.data new file mode 100644 index 00000000..002519f7 --- /dev/null +++ b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/MathTrig/SQRTPI.data @@ -0,0 +1,15 @@ +"ABC", "#VALUE!" +-1.5, "#NUM!" +-1, "#NUM!" +-0.5, "#NUM!" +0, 0.000000000000000000 +0.5, 1.253314137315500000 +1, 1.772453850905520000 +1.5, 2.170803763674800000 +2, 2.506628274631000000 +2.5, 2.802495608198960000 +3, 3.069980123839470000 +3.5, 3.315957521978270000 +4, 3.544907701811030000 +4.5, 3.759942411946500000 +5, 3.963327297606010000 diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/MathTrig/SUMSQ.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/MathTrig/SUMSQ.data new file mode 100644 index 00000000..c57ab9c1 --- /dev/null +++ b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/MathTrig/SUMSQ.data @@ -0,0 +1,7 @@ +3, 4, 25 +5, 2, 1, 3, 39 +5, 2, 1, 6, 66 +1, 3, 10 +1, 3, 2, 4, 30 +3, 5, 7, 83 +1, 2, 3, 14 diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/MathTrig/TRUNC.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/MathTrig/TRUNC.data new file mode 100644 index 00000000..7c7548d1 --- /dev/null +++ b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/MathTrig/TRUNC.data @@ -0,0 +1,19 @@ +3.14159, 2, 3.14 +3.14159, 3, 3.141 +-3.14159, 2, -3.14 +-3.14159, 3, -3.141 +31415.92654, 10, 31415.92654 +-31415.92654, 10, -31415.92654 +31415.92654, 2, 31415.92 +31415.92654, -2, 31400 +31415.92654, -10, 0 +-31415.92654, -10, 0 +12345.6789, -3, 12000 +12345.6789, -2, 12300 +12345.6789, -1, 12340 +12345.6789, 0, 12345 +12345.6789, 1, 12345.6 +12345.6789, 2, 12345.67 +12345.6789, 3, 12345.678 +"ABC", 2, "#VALUE!" +31415.92654, "ABC", "#VALUE!" diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/TextData/CHAR.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/TextData/CHAR.data new file mode 100644 index 00000000..f4cbee5d --- /dev/null +++ b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/TextData/CHAR.data @@ -0,0 +1,5 @@ +"ABC", "#VALUE!" +-5, "#VALUE!" +65, "A" +123, "{" +126, "~" diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/TextData/CLEAN.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/TextData/CLEAN.data new file mode 100644 index 00000000..21f0c0d1 --- /dev/null +++ b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/TextData/CLEAN.data @@ -0,0 +1,5 @@ +"HELLO ", "HELLO " +" HELLO", "HELLO" +"HELLO WORLD", "HELLO WORLD" +TRUE, "TRUE" +NULL, NULL diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/TextData/CODE.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/TextData/CODE.data new file mode 100644 index 00000000..d251fb6e --- /dev/null +++ b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/TextData/CODE.data @@ -0,0 +1,12 @@ +, "#VALUE!" +"", "#VALUE!" +"ABC", 65 +123, 49 +TRUE, 84 +"DEF", 68 +"PHPExcel", 80 +1.5, 49 +"Mark Baker", 77 +"mark baker", 109 +"£125.00", 163 +"Бензин", 1234 \ No newline at end of file diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/TextData/CONCATENATE.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/TextData/CONCATENATE.data new file mode 100644 index 00000000..7b898462 --- /dev/null +++ b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/TextData/CONCATENATE.data @@ -0,0 +1,3 @@ +"ABCDE", "FGHIJ", "ABCDEFGHIJ" +1, 2, 3, "123" +"Boolean", "-", TRUE, "Boolean-TRUE" diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/TextData/DOLLAR.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/TextData/DOLLAR.data new file mode 100644 index 00000000..aee1b006 --- /dev/null +++ b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/TextData/DOLLAR.data @@ -0,0 +1,6 @@ +123.456, 2, '"$123.46"' +123.321, 2, '"$123.32"' +1234567, -3, '"$1,235,000"' +1234567, -5, '"$1,200,000"' +"ABC", 2, "#NUM!" +123.456, "ABC", "#NUM!" diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/TextData/FIND.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/TextData/FIND.data new file mode 100644 index 00000000..411150da --- /dev/null +++ b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/TextData/FIND.data @@ -0,0 +1,13 @@ +"E", "QWERTYUIOP", 3 +"D", "ABCDEFGHI", 4 +"E", TRUE, 4 +"E", FALSE, 5 +"A", "Mark Baker", "#VALUE!" +"A", "MARK BAKER", 2 +"a", "Mark Baker", 2, 2 +"k", "Mark Baker", 2, 4 +"k", "Mark Baker", 5, 8 +"a", "Mark Baker", 3, 7 +"BITE", "BIT", "#VALUE!" +"", "Mark Baker", 1 +"", "Mark Baker", 8, 8 diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/TextData/FIXED.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/TextData/FIXED.data new file mode 100644 index 00000000..cd7d57bb --- /dev/null +++ b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/TextData/FIXED.data @@ -0,0 +1,5 @@ +123456.789, 2, FALSE, '"123,456.79"' +123456.789, 1, TRUE, '"123456.8"' +123456.789, 2, TRUE, '"123456.79"' +"ABC", 2, NULL, "#NUM!" +123.456, "ABC", NULL, "#NUM!" diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/TextData/LEFT.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/TextData/LEFT.data new file mode 100644 index 00000000..e76e009c --- /dev/null +++ b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/TextData/LEFT.data @@ -0,0 +1,6 @@ +, 1, "" +"", 1, "" +"QWERTYUIOP", -1, "#VALUE!" +"ABCDEFGHI", 3, "ABC" +TRUE, 2, "TR" +FALSE, 2, "FA" diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/TextData/LEN.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/TextData/LEN.data new file mode 100644 index 00000000..09676eae --- /dev/null +++ b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/TextData/LEN.data @@ -0,0 +1,6 @@ +, 0 +"", 0 +"AbCdEfGhI", 9 +"MARK BAKER", 10 +TRUE, 4 +FALSE, 5 diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/TextData/LOWER.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/TextData/LOWER.data new file mode 100644 index 00000000..04148f0b --- /dev/null +++ b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/TextData/LOWER.data @@ -0,0 +1,4 @@ +"AbCdEfGhI", "abcdefghi" +"MARK BAKER", "mark baker" +TRUE, "true" +FALSE, "false" diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/TextData/MID.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/TextData/MID.data new file mode 100644 index 00000000..5d9b503c --- /dev/null +++ b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/TextData/MID.data @@ -0,0 +1,9 @@ +, 1, 1, "" +"", 1, 1, "" +"QWERTYUIOP", -1, 1, "#VALUE!" +"QWERTYUIOP", 5, -1, "#VALUE!" +"QWERTYUIOP", 5, "" +"QWERTYUIOP", 8, 20, "IOP" +"ABCDEFGHI", 4, 3, "DEF" +TRUE, 2, 1, "R" +FALSE, 2, 2, "AL" diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/TextData/PROPER.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/TextData/PROPER.data new file mode 100644 index 00000000..ca142494 --- /dev/null +++ b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/TextData/PROPER.data @@ -0,0 +1,3 @@ +"MARK BAKER", "Mark Baker" +TRUE, "True" +FALSE, "False" diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/TextData/REPLACE.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/TextData/REPLACE.data new file mode 100644 index 00000000..7c8f414b --- /dev/null +++ b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/TextData/REPLACE.data @@ -0,0 +1,4 @@ +"QWERTYUIOP", 3, 3, "DFG", "QWDFGYUIOP" +"QWERTYUIOP", 5, 3, "DFG", "QWERDFGIOP" +"QWERTYUIOP", 3, 0, "DFG", "QWDFGERTYUIOP" +"QWERTYUIOP", 5, 0, "DFG", "QWERDFGTYUIOP" diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/TextData/RIGHT.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/TextData/RIGHT.data new file mode 100644 index 00000000..02bf3332 --- /dev/null +++ b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/TextData/RIGHT.data @@ -0,0 +1,6 @@ +, 1, "" +"", 1, "" +"QWERTYUIOP", -1, "#VALUE!" +"ABCDEFGHI", 3, "GHI" +TRUE, 2, "UE" +FALSE, 2, "SE" diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/TextData/SEARCH.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/TextData/SEARCH.data new file mode 100644 index 00000000..9925e699 --- /dev/null +++ b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/TextData/SEARCH.data @@ -0,0 +1,11 @@ +"E", "QWERTYUIOP", 3 +"D", "ABCDEFGHI", 4 +"E", TRUE, 4 +"E", FALSE, 5 +"A", "Mark Baker", 2 +"C", "Mark Baker", "#VALUE!" +"A", "Mark Baker", 3, 7 +"K", "Mark Baker", 4 +"K", "Mark Baker", 5, 8 +"A", "Mark Baker", 2, 2 +"BITE", "BIT", "#VALUE!" diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/TextData/SUBSTITUTE.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/TextData/SUBSTITUTE.data new file mode 100644 index 00000000..be15c941 --- /dev/null +++ b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/TextData/SUBSTITUTE.data @@ -0,0 +1,4 @@ +"QWERTYUIOP", "ERT", "DFG", "QWDFGYUIOP" +"Mark Baker", "a", "x", "Mxrk Bxker" +"Mark Baker", "a", "x", 1, "Mxrk Baker" +"Mark Baker", "x", "a", 1, "Mark Baker" diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/TextData/T.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/TextData/T.data new file mode 100644 index 00000000..87f67e99 --- /dev/null +++ b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/TextData/T.data @@ -0,0 +1,5 @@ +123456.789, NULL +"123456.789", "123456.789" +"Mark Baker", "Mark Baker" +NULL, NULL +TRUE, NULL diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/TextData/TEXT.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/TextData/TEXT.data new file mode 100644 index 00000000..da18defa --- /dev/null +++ b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/TextData/TEXT.data @@ -0,0 +1,13 @@ +123.456, '"$#,##0.00"', "$123.46" +-123.456, '"$#,##0.00"', "$-123.46" +123.456, '"#,##0.00"', "123.46" +123.456, '"#,##0"', "123" +123.456, "00000", "00123" +123456.789, '"$#,##0.00"', '"$123,456.79"' +123456.789, '"#,##0.00"', '"123,456.79"' +123456.789, "0.00E+00", "1.23E05" +-123456.789, "0.00E+00", "-1.23E05" +0.000012345, "0.00E+00", "1.23E-05" +"19-Dec-1960", "yyyy-mm-dd", "1960-12-19" +"1-Jan-2012", "yyyy-mm-dd", "2012-01-01" +1.75, "# ?/?", "1 3/4" diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/TextData/TRIM.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/TextData/TRIM.data new file mode 100644 index 00000000..ea800963 --- /dev/null +++ b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/TextData/TRIM.data @@ -0,0 +1,7 @@ +"HELLO ", "HELLO" +" HELLO", "HELLO" +" HELLO ", "HELLO" +" HELLO", " HELLO" +"HELLO WORLD", "HELLO WORLD" +TRUE, "TRUE" +NULL, NULL diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/TextData/UPPER.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/TextData/UPPER.data new file mode 100644 index 00000000..8ebf1d12 --- /dev/null +++ b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/TextData/UPPER.data @@ -0,0 +1,4 @@ +"AbCdEfGhI", "ABCDEFGHI" +"mark baker", "MARK BAKER" +TRUE, "TRUE" +FALSE, "FALSE" diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/TextData/VALUE.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/TextData/VALUE.data new file mode 100644 index 00000000..505c2915 --- /dev/null +++ b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/TextData/VALUE.data @@ -0,0 +1,10 @@ +"1000", "1000" +"1 000", "1000" +"$1 000", "1000" +"£1 000", "#VALUE!" +"1.1", "1.1" +"1 000.1", "1000.1" +"13 Monkeys", "#VALUE!" +"1-Jan-2014", "41640" +"12:34:56", "0.524259259259259" +"2:46 AM", "0.11527777777778" diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/CalculationBinaryComparisonOperation.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/CalculationBinaryComparisonOperation.data new file mode 100644 index 00000000..de04cbf7 --- /dev/null +++ b/vendor/phpoffice/phpexcel/unitTests/rawTestData/CalculationBinaryComparisonOperation.data @@ -0,0 +1,53 @@ +# formula, expectedResultExcel, expectedResultOpenOffice +'=TRUE', TRUE, TRUE +'=1 + 2.5', 3.5, 3.5 +'=2.5 + 1', 3.5, 3.5 +'=1 - 2.5', -1.5, -1.5 +'=2.5 - 1', 1.5, 1.5 +'=3 > 1', TRUE, TRUE +'=3 > 3', FALSE, FALSE +'=1 > 3', FALSE, FALSE +'=3 < 1', FALSE, FALSE +'=3 < 3', FALSE, FALSE +'=1 < 3', TRUE, TRUE +'=3 = 1', FALSE, FALSE +'=3 = 3', TRUE, TRUE +'=1 = 1.0', TRUE, TRUE +'=3 >= 1', TRUE, TRUE +'=3 >= 3', TRUE, TRUE +'=1 >= 3', FALSE, FALSE +'=3 <= 1', FALSE, FALSE +'=3 <= 3', TRUE, TRUE +'=1 <= 3', TRUE, TRUE +'=3 <> 1', TRUE, TRUE +'=3 <> 3', FALSE, FALSE +'=1 <> 1.0', FALSE, FALSE +'="a" > "a"', FALSE, FALSE +'="A" > "A"', FALSE, FALSE +'="A" > "a"', FALSE, TRUE +'="a" > "A"', FALSE, FALSE +'="a" < "a"', FALSE, FALSE +'="A" < "A"', FALSE, FALSE +'="A" < "a"', FALSE, FALSE +'="a" < "A"', FALSE, TRUE +'="a" = "a"', TRUE, TRUE +'="A" = "A"', TRUE, TRUE +'="A" = "a"', TRUE, FALSE +'="a" = "A"', TRUE, FALSE +'="a" <= "a"', TRUE, TRUE +'="A" <= "A"', TRUE, TRUE +'="A" <= "a"', TRUE, FALSE +'="a" <= "A"', TRUE, TRUE +'="a" >= "a"', TRUE, TRUE +'="A" >= "A"', TRUE, TRUE +'="A" >= "a"', TRUE, TRUE +'="a" >= "A"', TRUE, FALSE +'="a" <> "a"', FALSE, FALSE +'="A" <> "A"', FALSE, FALSE +'="A" <> "a"', FALSE, TRUE +'="a" <> "A"', FALSE, TRUE +'="A" > "b"', FALSE, TRUE +'="a" > "b"', FALSE, FALSE +'="b" > "a"', TRUE, TRUE +'="b" > "A"', TRUE, FALSE +'="a2" > "a10"', TRUE, TRUE // Test natural sorting is not used diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Cell/DefaultValueBinder.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Cell/DefaultValueBinder.data new file mode 100644 index 00000000..446ded6c --- /dev/null +++ b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Cell/DefaultValueBinder.data @@ -0,0 +1,19 @@ +NULL, "null" +, "null" +"#NULL!", "e" +FALSE, "b" +TRUE, "b" +"FALSE", "s" +"TRUE", "s" +"", "s" +"ABC", "s" +"123", "n" +123, "n" +0.123, "n" +"-123", "n" +"1.23E4", "n" +"-1.23E4", "n" +"1.23E-4", "n" +"000123", "s" +"=123", "f" +"#DIV/0!", "e" diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/CellAbsoluteCoordinate.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/CellAbsoluteCoordinate.data new file mode 100644 index 00000000..ad642947 --- /dev/null +++ b/vendor/phpoffice/phpexcel/unitTests/rawTestData/CellAbsoluteCoordinate.data @@ -0,0 +1,12 @@ +"A1", "$A$1" +"A12", "$A$12" +"J1", "$J$1" +"J20", "$J$20" +"AI1", "$AI$1" +"AI2012", "$AI$2012" +"'Worksheet1'!AI256", "'Worksheet1'!$AI$256" +"Worksheet1!AI256", "Worksheet1!$AI$256" +"'Data Worksheet'!AI256", "'Data Worksheet'!$AI$256" +"'Worksheet1'!$AI256", "'Worksheet1'!$AI$256" +"'Worksheet1'!AI$256", "'Worksheet1'!$AI$256" +"'Worksheet1'!$AI$256", "'Worksheet1'!$AI$256" diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/CellAbsoluteReference.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/CellAbsoluteReference.data new file mode 100644 index 00000000..8aa314a2 --- /dev/null +++ b/vendor/phpoffice/phpexcel/unitTests/rawTestData/CellAbsoluteReference.data @@ -0,0 +1,16 @@ +"A1", "$A$1" +"A12", "$A$12" +"J1", "$J$1" +"J20", "$J$20" +"AI1", "$AI$1" +"AI2012", "$AI$2012" +"'Worksheet1'!AI256", "'Worksheet1'!$AI$256" +"Worksheet1!AI256", "Worksheet1!$AI$256" +"'Data Worksheet'!AI256", "'Data Worksheet'!$AI$256" +"AI", "$AI" +2012, "$2012" +"Worksheet1!AI", "Worksheet1!$AI" +"Worksheet1!256", "Worksheet1!$256" +"'Worksheet1'!$AI256", "'Worksheet1'!$AI$256" +"'Worksheet1'!AI$256", "'Worksheet1'!$AI$256" +"'Worksheet1'!$AI$256", "'Worksheet1'!$AI$256" diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/CellBuildRange.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/CellBuildRange.data new file mode 100644 index 00000000..8d6efbff --- /dev/null +++ b/vendor/phpoffice/phpexcel/unitTests/rawTestData/CellBuildRange.data @@ -0,0 +1,2 @@ +{"B4"|"E9"}, "B4:E9" +{"B4"|"E9";"H2"|"O11"}, '"B4:E9,H2:O11"' diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/CellCoordinates.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/CellCoordinates.data new file mode 100644 index 00000000..e64ce559 --- /dev/null +++ b/vendor/phpoffice/phpexcel/unitTests/rawTestData/CellCoordinates.data @@ -0,0 +1,6 @@ +"A1", {"A";1} +"A12", {"A";12} +"J1", {"J";1} +"J20", {"J";20} +"AI1", {"AI";1} +"AI2012", {"AI";2012} diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/CellExtractAllCellReferencesInRange.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/CellExtractAllCellReferencesInRange.data new file mode 100644 index 00000000..4b44a83a --- /dev/null +++ b/vendor/phpoffice/phpexcel/unitTests/rawTestData/CellExtractAllCellReferencesInRange.data @@ -0,0 +1,9 @@ +"B4:B6", {"B4";"B5";"B6"} +'"B4:B6,D4:D6"', {"B4";"B5";"B6";"D4";"D5";"D6"} +'"B4:B6 D4:D6"', {"B4";"B5";"B6";"D4";"D5";"D6"} +"B4:D6", {"B4";"B5";"B6";"C4";"C5";"C6";"D4";"D5";"D6"} +'"B4:D6,C5:E7"', {"B4";"B5";"B6";"C4";"C5";"C6";"C7";"D4";"D5";"D6";"D7";"E5";"E6";"E7"} +'"B4:D6 C5:E7"', {"B4";"B5";"B6";"C4";"C5";"C6";"C7";"D4";"D5";"D6";"D7";"E5";"E6";"E7"} +"B2:D4 C5:D5 E3:E5 D6:E6 F4:F6", {"B2";"B3";"B4";"C2";"C3";"C4";"C5";"D2";"D3";"D4";"D5";"D6";"E3";"E4";"E5";"E6";"F4";"F5";"F6"} +"B2:D4 C3:E5 D4:F6", {"B2";"B3";"B4";"C2";"C3";"C4";"C5";"D2";"D3";"D4";"D5";"D6";"E3";"E4";"E5";"E6";"F4";"F5";"F6"} +"B4:B6 B8", {"B4";"B5";"B6";"B8"} diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/CellGetRangeBoundaries.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/CellGetRangeBoundaries.data new file mode 100644 index 00000000..f01a5fd9 --- /dev/null +++ b/vendor/phpoffice/phpexcel/unitTests/rawTestData/CellGetRangeBoundaries.data @@ -0,0 +1,2 @@ +"B4:E9", {"B"|4;"E"|9} +"B4", {"B"|4;"B"|4} diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/CellRangeBoundaries.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/CellRangeBoundaries.data new file mode 100644 index 00000000..2fca6dc2 --- /dev/null +++ b/vendor/phpoffice/phpexcel/unitTests/rawTestData/CellRangeBoundaries.data @@ -0,0 +1,2 @@ +"B4:E9", {2|4;5|9} +"B4", {2|4;2|4} diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/CellRangeDimension.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/CellRangeDimension.data new file mode 100644 index 00000000..1718f121 --- /dev/null +++ b/vendor/phpoffice/phpexcel/unitTests/rawTestData/CellRangeDimension.data @@ -0,0 +1,2 @@ +"B4:E9", {4;6} +"B4", {1;1} diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/CellSplitRange.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/CellSplitRange.data new file mode 100644 index 00000000..215fce25 --- /dev/null +++ b/vendor/phpoffice/phpexcel/unitTests/rawTestData/CellSplitRange.data @@ -0,0 +1,3 @@ +"B4:E9", {"B4"|"E9"} +"B4", {"B4"} +'"B4:E9,H2:O11"', {"B4"|"E9";"H2"|"O11"} diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/ColumnIndex.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/ColumnIndex.data new file mode 100644 index 00000000..9a1679b6 --- /dev/null +++ b/vendor/phpoffice/phpexcel/unitTests/rawTestData/ColumnIndex.data @@ -0,0 +1,9 @@ +0, "A" +25, "Z" +26, "AA" +27, "AB" +51, "AZ" +52, "BA" +701, "ZZ" +702, "AAA" +1378, "BAA" diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/ColumnString.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/ColumnString.data new file mode 100644 index 00000000..5573759e --- /dev/null +++ b/vendor/phpoffice/phpexcel/unitTests/rawTestData/ColumnString.data @@ -0,0 +1,9 @@ +"A", 1 +"Z", 26 +"AA", 27 +"AB", 28 +"AZ", 52 +"BA", 53 +"ZZ", 702 +"AAA", 703 +"BAA", 1379 diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Reader/XEETestInvalidUTF-16.xml b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Reader/XEETestInvalidUTF-16.xml new file mode 100644 index 0000000000000000000000000000000000000000..94eaedfc2aec6c1eb2e723c914acf0afcdbbfd65 GIT binary patch literal 276 zcmX|*O%K697=)iIiT|*A5Dut|gO57+NL-NMAmSj}h@{#?MfmfW?v`w_?`G$jnfLu+ zz=$VTVhj%=Ze(0YNf_eMp@pw$q$Hg5A4*L)TXoBZ8BI}L%VgX+N)2_#HY2j!OYTg> zh=2-Zbyk_MWGw%V6;tKk#HaEb_Lebvxs%gV7Gmd?H`>>i<|!j(t?5z^#dHn7Jg1eE VobPa_Cug0S&FIr8_G$n7gD--qCxrk2 literal 0 HcmV?d00001 diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Reader/XEETestInvalidUTF-16BE.xml b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Reader/XEETestInvalidUTF-16BE.xml new file mode 100644 index 0000000000000000000000000000000000000000..1d186ff443435bec745501c2d7bfc81271e4c3c5 GIT binary patch literal 278 zcmX|*!4APd6h+UL#6JuRVS(CMP;G)rY>;3fVj<dyq}oIq;qTo}OD35&nS0)O4;P;| z4`K{2BA#U2NlBQ}Vn`oH)hJ20>OWMPaI@)wJxh9`M$8B-myvT35$cYuC$j8EhD?Ny zM}s;pO%`mJ%W-6@Zll?$POjI<GDffR6m-B^?8@>+J3Go+a-{53OY6C+<%FNF%xW?h UJLHVj*`aM66S~ztga3T*3-^U44*&oF literal 0 HcmV?d00001 diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Reader/XEETestInvalidUTF-16LE.xml b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Reader/XEETestInvalidUTF-16LE.xml new file mode 100644 index 0000000000000000000000000000000000000000..c3913f71bb84e44fb3659848c69c0434945a2642 GIT binary patch literal 278 zcmX|*!4APd6h+UL#6JuRVS(CMQ0;<BB!UDB5ev~qB-JL`2!HQ(S~AJJ$=vhKdoDh2 z9>f@4L_Ep3laer{#gIOZs!@_~)qkio;bzkVdlvLWjaU&_E+gk6BGesQPh{DT44DWY zj|O#In#|cSljF!%-A1!hom{VzWsF|sDd>Q;*rnx-c6OAt<Ve}6mezAs%LzYUnbl-2 UcE}m4vqRfDCUmQP2LJgUUnQ<482|tP literal 0 HcmV?d00001 diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Reader/XEETestInvalidUTF-8.xml b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Reader/XEETestInvalidUTF-8.xml new file mode 100644 index 00000000..212003fd --- /dev/null +++ b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Reader/XEETestInvalidUTF-8.xml @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="UTF-8" standalone="yes"?> +<!DOCTYPE root [ + <!ENTITY x0 "DoS"> +]> + +<root> + test: (&x0;) +</root> \ No newline at end of file diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Reader/XEETestValidUTF-16.xml b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Reader/XEETestValidUTF-16.xml new file mode 100644 index 0000000000000000000000000000000000000000..6473fe6b6382c7f6993f3c9f0187bd0636613a98 GIT binary patch literal 176 zcmYL?I}U<S5JgWbiF+XSfHoF}Psa+--T*Nq@JM)s$mZ4SP|(cpoSFH2Nhx?U&=a!I zGU4eMab%ph5OY=zMI5!}ji}>g^iD-dB<pI9XXYu|DE4-vHE-3nmr;;&B+$=Ebd<gI U2UUM#=B7^%+wOE_bCccv0lPUJ1^@s6 literal 0 HcmV?d00001 diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Reader/XEETestValidUTF-16BE.xml b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Reader/XEETestValidUTF-16BE.xml new file mode 100644 index 0000000000000000000000000000000000000000..677e712f99d0619ab707c616cfc7789095e37ee7 GIT binary patch literal 178 zcmYL?%?g505QV?3f$t#gQ`@u%OAz!4ti7a!U{~l~BH!NA6vV*%oo~)iQ1a%%M8b=K zC!UcR$B8X_QgYQqisPnzFV%53^+HR-PSk;l+Bi?36VWSA<}(<($ia&!ITN#?(5G1u VesiSmLj;cccD3tKE?+kL(<{O}8;}41 literal 0 HcmV?d00001 diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Reader/XEETestValidUTF-16LE.xml b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Reader/XEETestValidUTF-16LE.xml new file mode 100644 index 0000000000000000000000000000000000000000..64353bfbab10e9caa40b2910d956468a7161ed40 GIT binary patch literal 178 zcmYj~O$&lh5Jk_{!2claQ`@u%%ayKNT6;+e!Jg22ME-kkQ;QgwuY2ZBLCKp36A3Q{ zo_I!P94EHyNy$|cDUO@=y;R5D)C(;&J5dK3D&stXPDHOfna^PCA_p&`<V?(lLZ4<u W_|1{J4-q)(+tsc|xqR8|k6r=c?;Dx` literal 0 HcmV?d00001 diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Reader/XEETestValidUTF-8.xml b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Reader/XEETestValidUTF-8.xml new file mode 100644 index 00000000..c400ae88 --- /dev/null +++ b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Reader/XEETestValidUTF-8.xml @@ -0,0 +1,4 @@ +<?xml version="1.0" encoding="UTF-8" standalone="yes"?> +<root> + test: Valid +</root> \ No newline at end of file diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Shared/CentimeterSizeToPixels.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Shared/CentimeterSizeToPixels.data new file mode 100644 index 00000000..fc48f21a --- /dev/null +++ b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Shared/CentimeterSizeToPixels.data @@ -0,0 +1,5 @@ +0.1, 3.7795275591 +0.2, 7.5590551182 +0.5, 18.8976377955 +1.0, 37.795275591 +2.0, 75.590551182 diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Shared/CodePage.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Shared/CodePage.data new file mode 100644 index 00000000..68ceda1f --- /dev/null +++ b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Shared/CodePage.data @@ -0,0 +1,43 @@ +367, "ASCII" // ASCII +437, "CP437" // OEM US +737, "CP737" // OEM Greek +775, "CP775" // OEM Baltic +850, "CP850" // OEM Latin I +852, "CP852" // OEM Latin II (Central European) +855, "CP855" // OEM Cyrillic +857, "CP857" // OEM Turkish +858, "CP858" // OEM Multilingual Latin I with Euro +860, "CP860" // OEM Portugese +861, "CP861" // OEM Icelandic +862, "CP862" // OEM Hebrew +863, "CP863" // OEM Canadian (French) +864, "CP864" // OEM Arabic +865, "CP865" // OEM Nordic +866, "CP866" // OEM Cyrillic (Russian) +869, "CP869" // OEM Greek (Modern) +874, "CP874" // ANSI Thai +932, "CP932" // ANSI Japanese Shift-JIS +936, "CP936" // ANSI Chinese Simplified GBK +949, "CP949" // ANSI Korean (Wansung) +950, "CP950" // ANSI Chinese Traditional BIG5 +1200, "UTF-16LE" // UTF-16 (BIFF8) +1250, "CP1250" // ANSI Latin II (Central European) +1251, "CP1251" // ANSI Cyrillic +0, "CP1252" // ANSI Latin I (BIFF4-BIFF7) +1252, "CP1252" // ANSI Latin I (BIFF4-BIFF7) +1253, "CP1253" // ANSI Greek +1254, "CP1254" // ANSI Turkish +1255, "CP1255" // ANSI Hebrew +1256, "CP1256" // ANSI Arabic +1257, "CP1257" // ANSI Baltic +1258, "CP1258" // ANSI Vietnamese +1361, "CP1361" // ANSI Korean (Johab) +10000, "MAC" // Apple Roman +10006, "MACGREEK" // Macintosh Greek +10007, "MACCYRILLIC" // Macintosh Cyrillic +10029, "MACCENTRALEUROPE" // Macintosh Central Europe +10079, "MACICELAND" // Macintosh Icelandic +10081, "MACTURKISH" // Macintosh Turkish +32768, "MAC" // Apple Roman +65000, "UTF-7" // Unicode (UTF-7) +65001, "UTF-8" // Unicode (UTF-8) diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Shared/DateTimeExcelToPHP1900.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Shared/DateTimeExcelToPHP1900.data new file mode 100644 index 00000000..d348b0aa --- /dev/null +++ b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Shared/DateTimeExcelToPHP1900.data @@ -0,0 +1,15 @@ +#Excel DateTimeStamp Result Comments +714, -2147472000 // PHP 32-bit Earliest Date 14-Dec-1901 +1461, -2082931200 // 31-Dec-1903 +1462, -2082844800 // Excel 1904 Calendar Base Date 01-Jan-1904 +1463, -2082758400 // 02-Jan-1904 +22269, -285120000 // 19-Dec-1960 +25569, 0 // PHP Base Date 01-Jan-1970 +30292, 408067200 // 07-Dec-1982 +39611, 1213228800 // 12-Jun-2008 +50424, 2147472000 // PHP 32-bit Latest Date 19-Jan-2038 +1234.56789, -2102494934 // 18-May-1903 13:37:46 +12345.6789, -1142494943 // 18-Oct-1933 16:17:37 +0.5, 43200 // 12:00:00 +0.75, 64800 // 18:00.00 +0.12345, 10666 // 02:57:46 diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Shared/DateTimeExcelToPHP1900Timezone.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Shared/DateTimeExcelToPHP1900Timezone.data new file mode 100644 index 00000000..e106b5fe --- /dev/null +++ b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Shared/DateTimeExcelToPHP1900Timezone.data @@ -0,0 +1,23 @@ +#Excel DateTimeStamp Adjust Timezone Result Comments +22269, TRUE, 'America/New_York', -285138000 // 19-Dec-1960 00:00:00 UST +25569, TRUE, 'America/New_York', -18000 // PHP Base Date 01-Jan-1970 00:00:00 UST +30292, TRUE, 'America/New_York', 408049200 // 07-Dec-1982 00:00:00 UST +39611, TRUE, 'America/New_York', 1213214400 // 12-Jun-2008 00:00:00 UST +50424, TRUE, 'America/New_York', 2147454000 // PHP 32-bit Latest Date 19-Jan-2038 00:00:00 UST +22345.56789, TRUE, 'America/New_York', -278522534 // 18-May-1903 13:37:46 UST +22345.6789, TRUE, 'America/New_York', -278512943 // 18-Oct-1933 16:17:37 UST +0.5, TRUE, 'America/New_York', 25200 // 12:00:00 UST +0.75, TRUE, 'America/New_York', 46800 // 18:00.00 UST +0.12345, TRUE, 'America/New_York', -7334 // 02:57:46 UST +41215, TRUE, 'America/New_York', 1351800000 // 02-Nov-2012 00:00:00 UST +22269, TRUE, 'Pacific/Auckland', -285076800 // 19-Dec-1960 00:00:00 UST +25569, TRUE, 'Pacific/Auckland', 43200 // PHP Base Date 01-Jan-1970 00:00:00 UST +30292, TRUE, 'Pacific/Auckland', 408114000 // 07-Dec-1982 00:00:00 UST +39611, TRUE, 'Pacific/Auckland', 1213272000 // 12-Jun-2008 00:00:00 UST +50423.5, TRUE, 'Pacific/Auckland', 2147475600 // PHP 32-bit Latest Date 19-Jan-2038 00:00:00 UST +22345.56789, TRUE, 'Pacific/Auckland', -278461334 // 18-May-1903 13:37:46 UST +22345.6789, TRUE, 'Pacific/Auckland', -278451743 // 18-Oct-1933 16:17:37 UST +0.5, TRUE, 'Pacific/Auckland', 90000 // 12:00:00 UST +0.75, TRUE, 'Pacific/Auckland', 111600 // 18:00.00 UST +0.12345, TRUE, 'Pacific/Auckland', 57466 // 02:57:46 UST +41215, TRUE, 'Pacific/Auckland', 1351861200 // 02-Nov-2012 00:00:00 UST diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Shared/DateTimeExcelToPHP1904.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Shared/DateTimeExcelToPHP1904.data new file mode 100644 index 00000000..5501ad17 --- /dev/null +++ b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Shared/DateTimeExcelToPHP1904.data @@ -0,0 +1,10 @@ +#Excel DateTimeStamp Result +1462, -1956528000 +1463, -1956441600 +22269, -158803200 +25569, 126316800 +30292, 534384000 +39611, 1339545600 +0.25, 21600 // 06:00:00 +0.3333333333333333333, 28800 // 08:00.00 +0.54321, 46933 // 02:57:46 diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Shared/DateTimeFormatCodes.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Shared/DateTimeFormatCodes.data new file mode 100644 index 00000000..73420470 --- /dev/null +++ b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Shared/DateTimeFormatCodes.data @@ -0,0 +1,37 @@ +#Excel Format Code Result +"General", FALSE +"@", FALSE +"0", FALSE +"0.00", FALSE +"#,##0.00", FALSE +"#,##0.00_-", FALSE +"0%", FALSE +"0.00%", FALSE +"yyyy-mm-dd", TRUE +"yy-mm-dd", TRUE +"dd/mm/yy", TRUE +"d/m/y", TRUE +"d-m-y", TRUE +"d-m", TRUE +"m-y", TRUE +"mm-dd-yy", TRUE +"d-mmm-yy", TRUE +"d-mmm", TRUE +"mmm-yy", TRUE +"m/d/yy h:mm", TRUE +"d/m/y h:mm", TRUE +"h:mm AM/PM", TRUE +"h:mm:ss AM/PM", TRUE +"h:mm", TRUE +"h:mm:ss", TRUE +"mm:ss", TRUE +"h:mm:ss", TRUE +"i:s.S", TRUE +"h:mm:ss;@", TRUE +"yy/mm/dd;@", TRUE +"\"$\"#,##0.00_-", FALSE +"$#,##0_-", FALSE +"[$EUR ]#,##0.00_-", FALSE +"_[$EUR ]#,##0.00_-", FALSE +"[Green]#,##0.00;[Red]#,##0.00_-", FALSE +"#,##0.00 \"dollars\"", FALSE diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Shared/DateTimeFormattedPHPToExcel1900.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Shared/DateTimeFormattedPHPToExcel1900.data new file mode 100644 index 00000000..bb6ed3f4 --- /dev/null +++ b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Shared/DateTimeFormattedPHPToExcel1900.data @@ -0,0 +1,12 @@ +#Year Month Day Hours Minutes Seconds Result Comments +1901, 12, 14, 714 // PHP 32-bit Earliest Date 14-Dec-1901 +1903, 12, 31, 1461 // 31-Dec-1903 +1904, 1, 1, 1462 // Excel 1904 Calendar Base Date 01-Jan-1904 +1904, 1, 2, 1463 // 02-Jan-1904 +1960, 12, 19, 22269 // 19-Dec-1960 +1970, 1, 1, 25569 // PHP Base Date 01-Jan-1970 +1982, 12, 7, 30292 // 07-Dec-1982 +2008, 6, 12, 39611 // 12-Jun-2008 +2038, 1, 19, 50424 // PHP 32-bit Latest Date 19-Jan-2038 +1903, 5, 18, 13, 37, 46, 1234.56789 // 18-May-1903 13:37:46 +1933, 10, 18, 16, 17, 37, 12345.6789 // 18-Oct-1933 16:17:37 diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Shared/DateTimePHPToExcel1900.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Shared/DateTimePHPToExcel1900.data new file mode 100644 index 00000000..dc6a9d90 --- /dev/null +++ b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Shared/DateTimePHPToExcel1900.data @@ -0,0 +1,12 @@ +#Excel DateTimeStamp Result Comments +-2147472000, 714 // PHP 32-bit Earliest Date 14-Dec-1901 +-2082931200, 1461 // 31-Dec-1903 +-2082844800, 1462 // Excel 1904 Calendar Base Date 01-Jan-1904 +-2082758400, 1463 // 02-Jan-1904 +-285120000, 22269 // 19-Dec-1960 +0, 25569 // PHP Base Date 01-Jan-1970 +408067200, 30292 // 07-Dec-1982 +1213228800, 39611 // 12-Jun-2008 +2147472000, 50424 // PHP 32-bit Latest Date 19-Jan-2038 +-2102494934, 1234.56789 // 18-May-1903 13:37:46 +-1142494943, 12345.6789 // 18-Oct-1933 16:17:37 diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Shared/DateTimePHPToExcel1904.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Shared/DateTimePHPToExcel1904.data new file mode 100644 index 00000000..98fa4951 --- /dev/null +++ b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Shared/DateTimePHPToExcel1904.data @@ -0,0 +1,7 @@ +#Excel DateTimeStamp Result +-1956528000, 1462 +-1956441600, 1463 +-158803200, 22269 +126316800, 25569 +534384000, 30292 +1339545600, 39611 diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Shared/FontSizeToPixels.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Shared/FontSizeToPixels.data new file mode 100644 index 00000000..af89196d --- /dev/null +++ b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Shared/FontSizeToPixels.data @@ -0,0 +1,16 @@ +6, 8 +7, 9 +8, 10 +9, 12 +10, 13 +11, 14 +12, 16 +14, 18 +16, 21 +18, 24 +20, 26 +22, 29 +24, 32 +36, 48 +48, 64 +60, 80 diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Shared/InchSizeToPixels.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Shared/InchSizeToPixels.data new file mode 100644 index 00000000..147eaa98 --- /dev/null +++ b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Shared/InchSizeToPixels.data @@ -0,0 +1,5 @@ +0.1, 9.6 +0.2, 19.2 +0.5, 48.0 +1.0, 96.0 +2.0, 192.0 diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Shared/PasswordHashes.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Shared/PasswordHashes.data new file mode 100644 index 00000000..c6846812 --- /dev/null +++ b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Shared/PasswordHashes.data @@ -0,0 +1,9 @@ +"PHPExcel", "8053" +"Mark Baker", "877D" +"!+&=()~§±æþ", "C0EA" +"μυστικό κωδικό πρόσβασης", "FFFF26DD" +"গোপন পাসওয়ার্ড", "E858" +"Секретный пароль", "EA5F" +"秘密口令", "C07E" +"leyndarmál lykilorð", "99E8" +"", "CE4B" diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Style/ColorChangeBrightness.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Style/ColorChangeBrightness.data new file mode 100644 index 00000000..de5eeaf5 --- /dev/null +++ b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Style/ColorChangeBrightness.data @@ -0,0 +1,14 @@ +"FFAABBCC", 0.1, "FFB2C1D1" // RGBA +"FFAABBCC", -0.1, "FF99A8B7" // RGBA +"AABBCC", 0.1, "B2C1D1" // RGB +"AABBCC", -0.1, "99A8B7" // RGB +"FF0000", 0.1, "FF1919" +"FF0000", -0.1, "E50000" +"FF8080", 0.1, "FF8C8C" +"FF8080", -0.1, "E57373" +"FF0000", 0.15, "FF2626" +"FF0000", -0.15, "D80000" +"FF8080", 0.15, "FF9393" +"FF8080", -0.15, "D86C6C" +"FFF008", 0.5, "FFF783" +"FFF008", -0.5, "7F7804" diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Style/ColorGetBlue.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Style/ColorGetBlue.data new file mode 100644 index 00000000..4e01d1c7 --- /dev/null +++ b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Style/ColorGetBlue.data @@ -0,0 +1,6 @@ +"FFAABBCC", "CC" // RGBA (hex) +"FFAABBCC", FALSE, 204 // RGBA (decimal) +"AABBCC", "CC" // RGB (hex) +"AABBCC", FALSE, 204 // RGB (decimal) +"FFFF00", "00" +"FFFF00", FALSE, 0 diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Style/ColorGetGreen.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Style/ColorGetGreen.data new file mode 100644 index 00000000..0ace6103 --- /dev/null +++ b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Style/ColorGetGreen.data @@ -0,0 +1,6 @@ +"FFAABBCC", "BB" // RGBA (hex) +"FFAABBCC", FALSE, 187 // RGBA (decimal) +"AABBCC", "BB" // RGB (hex) +"AABBCC", FALSE, 187 // RGB (decimal) +"FF00FF", "00" +"FF00FF", FALSE, 0 diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Style/ColorGetRed.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Style/ColorGetRed.data new file mode 100644 index 00000000..1692a6ad --- /dev/null +++ b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Style/ColorGetRed.data @@ -0,0 +1,6 @@ +"FFAABBCC", "AA" // RGBA (hex) +"FFAABBCC", FALSE, 170 // RGBA (decimal) +"AABBCC", "AA" // RGB (hex) +"AABBCC", FALSE, 170 // RGB (decimal) +"00FFFF", "00" +"00FFFF", FALSE, 0 diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Style/NumberFormat.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Style/NumberFormat.data new file mode 100644 index 00000000..49acaccf --- /dev/null +++ b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Style/NumberFormat.data @@ -0,0 +1,37 @@ +# value format result +0.0, "0.0", "0.0" +0.0, "0", "0" +0, "0.0", "0.0" +0, "0", "0" +0, "##0", "000" +12, "#.0#", "12.0" +0.1, "0.0", "0.1" +0.1, "0", "0" +5.5555, "0.###", "5.556" +5.5555, "0.0##", "5.556" +5.5555, "0.00#", "5.556" +5.5555, "0.000", "5.556" +5.5555, "0.0000", "5.5555" +12345.6789, '"#,##0.00"', '"12,345.68"' +12345.6789, '"#,##0.000"', '"12,345.679"' +12345.6789, '"£ #,##0.00"', '"£ 12,345.68"' +12345.6789, '"$ #,##0.000"', '"$ 12,345.679"' +5.6789, '"#,##0.00"', '"5.68"' +12000, '"#,###"', '"12,000"' +12000, '"#,"', '12' +12200000, '"0.0,,"', '12.2' // Scaling test +0.08, "0%", "8%" +0.8, "0%", "80%" +2.8, "0%", "280%" +125.74, '$0.00" Surplus";$-0.00" Shortage"', "$125.74 Surplus" +-125.74, '$0.00" Surplus";$-0.00" Shortage"', "$-125.74 Shortage" +-125.74, '$0.00" Surplus";$0.00" Shortage"', "$125.74 Shortage" +5.25, '# ???/???', "5 1/4" // Fraction +5.3, '# ???/???', "5 3/10" // Vulgar Fraction +5.25, '???/???', "21/4" +123456789, '(000) 0-0000-000', "(001) 2-3456-789" +123456789, '0 (+00) 0000 00 00 00', "0 (+00) 0123 45 67 89" +123456789, '0000:00:00', "12345:67:89" +-123456789, '0000:00:00', "-12345:67:89" +1234567.89, '0000:00.00', "12345:67.89" +-1234567.89,'0000:00.00', "-12345:67.89" diff --git a/vendor/phpoffice/phpexcel/unitTests/testDataFileIterator.php b/vendor/phpoffice/phpexcel/unitTests/testDataFileIterator.php new file mode 100644 index 00000000..9eabe09d --- /dev/null +++ b/vendor/phpoffice/phpexcel/unitTests/testDataFileIterator.php @@ -0,0 +1,131 @@ +<?php + +class testDataFileIterator implements Iterator +{ + + protected $file; + protected $key = 0; + protected $current; + + public function __construct($file) + { + $this->file = fopen($file, 'r'); + } + + public function __destruct() + { + fclose($this->file); + } + + public function rewind() + { + rewind($this->file); + $this->current = $this->_parseNextDataset(); + $this->key = 0; + } + + public function valid() + { + return !feof($this->file); + } + + public function key() + { + return $this->key; + } + + public function current() + { + return $this->current; + } + + public function next() + { + $this->current = $this->_parseNextDataset(); + $this->key++; + } + + private function _parseNextDataset() + { + // Read a line of test data from the file + do { + // Only take lines that contain test data and that aren't commented out + $testDataRow = trim(fgets($this->file)); + } while (($testDataRow > '') && ($testDataRow{0} === '#')); + + // Discard any comments at the end of the line + list($testData) = explode('//',$testDataRow); + + // Split data into an array of individual values and a result + $dataSet = $this->_getcsv($testData, ',', "'"); + foreach($dataSet as &$dataValue) { + $dataValue = $this->_parseDataValue($dataValue); + } + unset($dataValue); + + return $dataSet; + } + + private function _getcsv($input, $delimiter, $enclosure) + { + if (function_exists('str_getcsv')) { + return str_getcsv($input, $delimiter, $enclosure); + } + + $temp = fopen('php://memory', 'rw'); + fwrite($temp, $input); + rewind($temp); + $data = fgetcsv($temp, strlen($input), $delimiter, $enclosure); + fclose($temp); + + if ($data === false) { + $data = array(null); + } + + return $data; + } + + private function _parseDataValue($dataValue) { + // discard any white space + $dataValue = trim($dataValue); + // test for the required datatype and convert accordingly + if (!is_numeric($dataValue)) { + if($dataValue == '') { + $dataValue = NULL; + } elseif($dataValue == '""') { + $dataValue = ''; + } elseif(($dataValue[0] == '"') && ($dataValue[strlen($dataValue)-1] == '"')) { + $dataValue = substr($dataValue,1,-1); + } elseif(($dataValue[0] == '{') && ($dataValue[strlen($dataValue)-1] == '}')) { + $dataValue = explode(';',substr($dataValue,1,-1)); + foreach($dataValue as &$dataRow) { + if (strpos($dataRow,'|') !== FALSE) { + $dataRow = explode('|',$dataRow); + foreach($dataRow as &$dataCell) { + $dataCell = $this->_parseDataValue($dataCell); + } + unset($dataCell); + } else { + $dataRow = $this->_parseDataValue($dataRow); + } + } + unset($dataRow); + } else { + switch (strtoupper($dataValue)) { + case 'NULL' : $dataValue = NULL; break; + case 'TRUE' : $dataValue = TRUE; break; + case 'FALSE' : $dataValue = FALSE; break; + } + } + } else { + if (strpos($dataValue,'.') !== FALSE) { + $dataValue = (float) $dataValue; + } else { + $dataValue = (int) $dataValue; + } + } + + return $dataValue; + } + +} diff --git a/vendor/phpseclib/phpseclib/AUTHORS b/vendor/phpseclib/phpseclib/AUTHORS new file mode 100644 index 00000000..a08b3099 --- /dev/null +++ b/vendor/phpseclib/phpseclib/AUTHORS @@ -0,0 +1,6 @@ +phpseclib Lead Developer: TerraFrost (Jim Wigginton) + +phpseclib Developers: monnerat (Patrick Monnerat) + bantu (Andreas Fischer) + petrich (Hans-Jürgen Petrich) + GrahamCampbell (Graham Campbell) diff --git a/vendor/phpseclib/phpseclib/LICENSE b/vendor/phpseclib/phpseclib/LICENSE new file mode 100644 index 00000000..a8ec8ebd --- /dev/null +++ b/vendor/phpseclib/phpseclib/LICENSE @@ -0,0 +1,21 @@ +Copyright 2007-2016 TerraFrost and other contributors +http://phpseclib.sourceforge.net/ + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/vendor/phpseclib/phpseclib/README.md b/vendor/phpseclib/phpseclib/README.md new file mode 100644 index 00000000..a6bde111 --- /dev/null +++ b/vendor/phpseclib/phpseclib/README.md @@ -0,0 +1,65 @@ +# phpseclib - PHP Secure Communications Library + +[![Build Status](https://travis-ci.org/phpseclib/phpseclib.svg?branch=2.0)](https://travis-ci.org/phpseclib/phpseclib) + +MIT-licensed pure-PHP implementations of an arbitrary-precision integer +arithmetic library, fully PKCS#1 (v2.1) compliant RSA, DES, 3DES, RC4, Rijndael, +AES, Blowfish, Twofish, SSH-1, SSH-2, SFTP, and X.509 + +* [Download (1.0.4)](http://sourceforge.net/projects/phpseclib/files/phpseclib1.0.4.zip/download) +* [Browse Git](https://github.com/phpseclib/phpseclib) +* [Code Coverage Report](http://phpseclib.bantux.org/code_coverage/2.0/latest/) + +<img src="http://phpseclib.sourceforge.net/pear-icon.png" alt="PEAR Channel" width="16" height="16"> +PEAR Channel: [phpseclib.sourceforge.net](http://phpseclib.sourceforge.net/pear.htm) + +## Documentation + +* [Documentation / Manual](http://phpseclib.sourceforge.net/) +* [API Documentation](http://phpseclib.bantux.org/api/2.0/) (generated by Sami) + +## Support + +Need Support? + +* [Checkout Questions and Answers on Stack Overflow](http://stackoverflow.com/questions/tagged/phpseclib) +* [Create a Support Ticket on GitHub](https://github.com/phpseclib/phpseclib/issues/new) +* [Browse the Support Forum](http://www.frostjedi.com/phpbb/viewforum.php?f=46) (no longer in use) + +## Installing Development Dependencies + +Dependencies are managed via Composer. + +1. Download the [`composer.phar`](https://getcomposer.org/composer.phar) executable as per the + [Composer Download Instructions](https://getcomposer.org/download/), e.g. by running + + ``` sh + curl -sS https://getcomposer.org/installer | php + ``` + +2. Install Dependencies + + ``` sh + php composer.phar install + ``` + +## Contributing + +1. Fork the Project + +2. Install Development Dependencies + +3. Create a Feature Branch + +4. (Recommended) Run the Test Suite + + ``` sh + vendor/bin/phpunit + ``` +5. (Recommended) Check whether your code conforms to our Coding Standards by running + + ``` sh + vendor/bin/phing -f build/build.xml sniff + ``` + +6. Send us a Pull Request diff --git a/vendor/phpseclib/phpseclib/composer.json b/vendor/phpseclib/phpseclib/composer.json new file mode 100644 index 00000000..4b84b110 --- /dev/null +++ b/vendor/phpseclib/phpseclib/composer.json @@ -0,0 +1,76 @@ +{ + "name": "phpseclib/phpseclib", + "type": "library", + "description": "PHP Secure Communications Library - Pure-PHP implementations of RSA, AES, SSH2, SFTP, X.509 etc.", + "keywords": [ + "security", + "crypto", + "cryptography", + "encryption", + "signature", + "signing", + "rsa", + "aes", + "blowfish", + "twofish", + "ssh", + "sftp", + "x509", + "x.509", + "asn1", + "asn.1", + "BigInteger" + ], + "homepage": "http://phpseclib.sourceforge.net", + "license": "MIT", + "authors": [ + { + "name": "Jim Wigginton", + "email": "terrafrost@php.net", + "role": "Lead Developer" + }, + { + "name": "Patrick Monnerat", + "email": "pm@datasphere.ch", + "role": "Developer" + }, + { + "name": "Andreas Fischer", + "email": "bantu@phpbb.com", + "role": "Developer" + }, + { + "name": "Hans-Jürgen Petrich", + "email": "petrich@tronic-media.com", + "role": "Developer" + }, + { + "name": "Graham Campbell", + "email": "graham@alt-three.com", + "role": "Developer" + } + ], + "require": { + "php": ">=5.3.3" + }, + "require-dev": { + "phing/phing": "~2.7", + "phpunit/phpunit": "~4.0", + "sami/sami": "~2.0", + "squizlabs/php_codesniffer": "~2.0" + }, + "suggest": { + "ext-libsodium": "SSH2/SFTP can make use of some algorithms provided by the libsodium-php extension.", + "ext-openssl": "Install the OpenSSL extension in order to speed up a wide variety of cryptographic operations.", + "ext-mcrypt": "Install the Mcrypt extension in order to speed up a few other cryptographic operations.", + "ext-gmp": "Install the GMP (GNU Multiple Precision) extension in order to speed up arbitrary precision integer arithmetic operations." + }, + "autoload": { + "files": [ + "phpseclib/bootstrap.php" + ], + "psr-4": { + "phpseclib\\": "phpseclib/" + } + } +} diff --git a/vendor/phpseclib/phpseclib/composer.lock b/vendor/phpseclib/phpseclib/composer.lock new file mode 100644 index 00000000..beda2d64 --- /dev/null +++ b/vendor/phpseclib/phpseclib/composer.lock @@ -0,0 +1,1819 @@ +{ + "_readme": [ + "This file locks the dependencies of your project to a known state", + "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file", + "This file is @generated automatically" + ], + "hash": "8599992bf6058a9da82372eb8bcae2c2", + "content-hash": "fde47c84178c55c06de858a2128e3d07", + "packages": [], + "packages-dev": [ + { + "name": "doctrine/instantiator", + "version": "1.0.5", + "source": { + "type": "git", + "url": "https://github.com/doctrine/instantiator.git", + "reference": "8e884e78f9f0eb1329e445619e04456e64d8051d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/instantiator/zipball/8e884e78f9f0eb1329e445619e04456e64d8051d", + "reference": "8e884e78f9f0eb1329e445619e04456e64d8051d", + "shasum": "" + }, + "require": { + "php": ">=5.3,<8.0-DEV" + }, + "require-dev": { + "athletic/athletic": "~0.1.8", + "ext-pdo": "*", + "ext-phar": "*", + "phpunit/phpunit": "~4.0", + "squizlabs/php_codesniffer": "~2.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Doctrine\\Instantiator\\": "src/Doctrine/Instantiator/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Marco Pivetta", + "email": "ocramius@gmail.com", + "homepage": "http://ocramius.github.com/" + } + ], + "description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors", + "homepage": "https://github.com/doctrine/instantiator", + "keywords": [ + "constructor", + "instantiate" + ], + "time": "2015-06-14 21:17:01" + }, + { + "name": "michelf/php-markdown", + "version": "1.6.0", + "source": { + "type": "git", + "url": "https://github.com/michelf/php-markdown.git", + "reference": "156e56ee036505ec637d761ee62dc425d807183c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/michelf/php-markdown/zipball/156e56ee036505ec637d761ee62dc425d807183c", + "reference": "156e56ee036505ec637d761ee62dc425d807183c", + "shasum": "" + }, + "require": { + "php": ">=5.3.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-lib": "1.4.x-dev" + } + }, + "autoload": { + "psr-0": { + "Michelf": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Michel Fortin", + "email": "michel.fortin@michelf.ca", + "homepage": "https://michelf.ca/", + "role": "Developer" + }, + { + "name": "John Gruber", + "homepage": "https://daringfireball.net/" + } + ], + "description": "PHP Markdown", + "homepage": "https://michelf.ca/projects/php-markdown/", + "keywords": [ + "markdown" + ], + "time": "2015-12-24 01:37:31" + }, + { + "name": "nikic/php-parser", + "version": "v0.9.5", + "source": { + "type": "git", + "url": "https://github.com/nikic/PHP-Parser.git", + "reference": "ef70767475434bdb3615b43c327e2cae17ef12eb" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/ef70767475434bdb3615b43c327e2cae17ef12eb", + "reference": "ef70767475434bdb3615b43c327e2cae17ef12eb", + "shasum": "" + }, + "require": { + "ext-tokenizer": "*", + "php": ">=5.2" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "0.9-dev" + } + }, + "autoload": { + "psr-0": { + "PHPParser": "lib/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Nikita Popov" + } + ], + "description": "A PHP parser written in PHP", + "keywords": [ + "parser", + "php" + ], + "time": "2014-07-23 18:24:17" + }, + { + "name": "phing/phing", + "version": "2.14.0", + "source": { + "type": "git", + "url": "https://github.com/phingofficial/phing.git", + "reference": "7dd73c83c377623def54b58121f46b4dcb35dd61" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phingofficial/phing/zipball/7dd73c83c377623def54b58121f46b4dcb35dd61", + "reference": "7dd73c83c377623def54b58121f46b4dcb35dd61", + "shasum": "" + }, + "require": { + "php": ">=5.2.0" + }, + "require-dev": { + "ext-pdo_sqlite": "*", + "lastcraft/simpletest": "@dev", + "mikey179/vfsstream": "^1.6", + "pdepend/pdepend": "2.x", + "pear/archive_tar": "1.4.x", + "pear/http_request2": "dev-trunk", + "pear/net_growl": "dev-trunk", + "pear/pear-core-minimal": "1.10.1", + "pear/versioncontrol_git": "@dev", + "pear/versioncontrol_svn": "~0.5", + "phpdocumentor/phpdocumentor": "2.x", + "phploc/phploc": "~2.0.6", + "phpmd/phpmd": "~2.2", + "phpunit/phpunit": ">=3.7", + "sebastian/git": "~1.0", + "sebastian/phpcpd": "2.x", + "squizlabs/php_codesniffer": "~2.2", + "symfony/yaml": "~2.7" + }, + "suggest": { + "pdepend/pdepend": "PHP version of JDepend", + "pear/archive_tar": "Tar file management class", + "pear/versioncontrol_git": "A library that provides OO interface to handle Git repository", + "pear/versioncontrol_svn": "A simple OO-style interface for Subversion, the free/open-source version control system", + "phpdocumentor/phpdocumentor": "Documentation Generator for PHP", + "phploc/phploc": "A tool for quickly measuring the size of a PHP project", + "phpmd/phpmd": "PHP version of PMD tool", + "phpunit/php-code-coverage": "Library that provides collection, processing, and rendering functionality for PHP code coverage information", + "phpunit/phpunit": "The PHP Unit Testing Framework", + "sebastian/phpcpd": "Copy/Paste Detector (CPD) for PHP code", + "tedivm/jshrink": "Javascript Minifier built in PHP" + }, + "bin": [ + "bin/phing" + ], + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.14.x-dev" + } + }, + "autoload": { + "classmap": [ + "classes/phing/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "include-path": [ + "classes" + ], + "license": [ + "LGPL-3.0" + ], + "authors": [ + { + "name": "Michiel Rook", + "email": "mrook@php.net" + }, + { + "name": "Phing Community", + "homepage": "https://www.phing.info/trac/wiki/Development/Contributors" + } + ], + "description": "PHing Is Not GNU make; it's a PHP project build system or build tool based on Apache Ant.", + "homepage": "https://www.phing.info/", + "keywords": [ + "build", + "phing", + "task", + "tool" + ], + "time": "2016-03-10 21:39:23" + }, + { + "name": "phpdocumentor/reflection-common", + "version": "1.0", + "source": { + "type": "git", + "url": "https://github.com/phpDocumentor/ReflectionCommon.git", + "reference": "144c307535e82c8fdcaacbcfc1d6d8eeb896687c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phpDocumentor/ReflectionCommon/zipball/144c307535e82c8fdcaacbcfc1d6d8eeb896687c", + "reference": "144c307535e82c8fdcaacbcfc1d6d8eeb896687c", + "shasum": "" + }, + "require": { + "php": ">=5.5" + }, + "require-dev": { + "phpunit/phpunit": "^4.6" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "phpDocumentor\\Reflection\\": [ + "src" + ] + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jaap van Otterdijk", + "email": "opensource@ijaap.nl" + } + ], + "description": "Common reflection classes used by phpdocumentor to reflect the code structure", + "homepage": "http://www.phpdoc.org", + "keywords": [ + "FQSEN", + "phpDocumentor", + "phpdoc", + "reflection", + "static analysis" + ], + "time": "2015-12-27 11:43:31" + }, + { + "name": "phpdocumentor/reflection-docblock", + "version": "3.1.0", + "source": { + "type": "git", + "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git", + "reference": "9270140b940ff02e58ec577c237274e92cd40cdd" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/9270140b940ff02e58ec577c237274e92cd40cdd", + "reference": "9270140b940ff02e58ec577c237274e92cd40cdd", + "shasum": "" + }, + "require": { + "php": ">=5.5", + "phpdocumentor/reflection-common": "^1.0@dev", + "phpdocumentor/type-resolver": "^0.2.0", + "webmozart/assert": "^1.0" + }, + "require-dev": { + "mockery/mockery": "^0.9.4", + "phpunit/phpunit": "^4.4" + }, + "type": "library", + "autoload": { + "psr-4": { + "phpDocumentor\\Reflection\\": [ + "src/" + ] + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Mike van Riel", + "email": "me@mikevanriel.com" + } + ], + "description": "With this component, a library can provide support for annotations via DocBlocks or otherwise retrieve information that is embedded in a DocBlock.", + "time": "2016-06-10 09:48:41" + }, + { + "name": "phpdocumentor/type-resolver", + "version": "0.2", + "source": { + "type": "git", + "url": "https://github.com/phpDocumentor/TypeResolver.git", + "reference": "b39c7a5b194f9ed7bd0dd345c751007a41862443" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/b39c7a5b194f9ed7bd0dd345c751007a41862443", + "reference": "b39c7a5b194f9ed7bd0dd345c751007a41862443", + "shasum": "" + }, + "require": { + "php": ">=5.5", + "phpdocumentor/reflection-common": "^1.0" + }, + "require-dev": { + "mockery/mockery": "^0.9.4", + "phpunit/phpunit": "^5.2||^4.8.24" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "phpDocumentor\\Reflection\\": [ + "src/" + ] + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Mike van Riel", + "email": "me@mikevanriel.com" + } + ], + "time": "2016-06-10 07:14:17" + }, + { + "name": "phpspec/prophecy", + "version": "v1.6.1", + "source": { + "type": "git", + "url": "https://github.com/phpspec/prophecy.git", + "reference": "58a8137754bc24b25740d4281399a4a3596058e0" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phpspec/prophecy/zipball/58a8137754bc24b25740d4281399a4a3596058e0", + "reference": "58a8137754bc24b25740d4281399a4a3596058e0", + "shasum": "" + }, + "require": { + "doctrine/instantiator": "^1.0.2", + "php": "^5.3|^7.0", + "phpdocumentor/reflection-docblock": "^2.0|^3.0.2", + "sebastian/comparator": "^1.1", + "sebastian/recursion-context": "^1.0" + }, + "require-dev": { + "phpspec/phpspec": "^2.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.6.x-dev" + } + }, + "autoload": { + "psr-0": { + "Prophecy\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Konstantin Kudryashov", + "email": "ever.zet@gmail.com", + "homepage": "http://everzet.com" + }, + { + "name": "Marcello Duarte", + "email": "marcello.duarte@gmail.com" + } + ], + "description": "Highly opinionated mocking framework for PHP 5.3+", + "homepage": "https://github.com/phpspec/prophecy", + "keywords": [ + "Double", + "Dummy", + "fake", + "mock", + "spy", + "stub" + ], + "time": "2016-06-07 08:13:47" + }, + { + "name": "phpunit/php-code-coverage", + "version": "2.2.4", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/php-code-coverage.git", + "reference": "eabf68b476ac7d0f73793aada060f1c1a9bf8979" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/eabf68b476ac7d0f73793aada060f1c1a9bf8979", + "reference": "eabf68b476ac7d0f73793aada060f1c1a9bf8979", + "shasum": "" + }, + "require": { + "php": ">=5.3.3", + "phpunit/php-file-iterator": "~1.3", + "phpunit/php-text-template": "~1.2", + "phpunit/php-token-stream": "~1.3", + "sebastian/environment": "^1.3.2", + "sebastian/version": "~1.0" + }, + "require-dev": { + "ext-xdebug": ">=2.1.4", + "phpunit/phpunit": "~4" + }, + "suggest": { + "ext-dom": "*", + "ext-xdebug": ">=2.2.1", + "ext-xmlwriter": "*" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.2.x-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sb@sebastian-bergmann.de", + "role": "lead" + } + ], + "description": "Library that provides collection, processing, and rendering functionality for PHP code coverage information.", + "homepage": "https://github.com/sebastianbergmann/php-code-coverage", + "keywords": [ + "coverage", + "testing", + "xunit" + ], + "time": "2015-10-06 15:47:00" + }, + { + "name": "phpunit/php-file-iterator", + "version": "1.4.1", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/php-file-iterator.git", + "reference": "6150bf2c35d3fc379e50c7602b75caceaa39dbf0" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/6150bf2c35d3fc379e50c7602b75caceaa39dbf0", + "reference": "6150bf2c35d3fc379e50c7602b75caceaa39dbf0", + "shasum": "" + }, + "require": { + "php": ">=5.3.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.4.x-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sb@sebastian-bergmann.de", + "role": "lead" + } + ], + "description": "FilterIterator implementation that filters files based on a list of suffixes.", + "homepage": "https://github.com/sebastianbergmann/php-file-iterator/", + "keywords": [ + "filesystem", + "iterator" + ], + "time": "2015-06-21 13:08:43" + }, + { + "name": "phpunit/php-text-template", + "version": "1.2.1", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/php-text-template.git", + "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/31f8b717e51d9a2afca6c9f046f5d69fc27c8686", + "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686", + "shasum": "" + }, + "require": { + "php": ">=5.3.3" + }, + "type": "library", + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Simple template engine.", + "homepage": "https://github.com/sebastianbergmann/php-text-template/", + "keywords": [ + "template" + ], + "time": "2015-06-21 13:50:34" + }, + { + "name": "phpunit/php-timer", + "version": "1.0.8", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/php-timer.git", + "reference": "38e9124049cf1a164f1e4537caf19c99bf1eb260" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/38e9124049cf1a164f1e4537caf19c99bf1eb260", + "reference": "38e9124049cf1a164f1e4537caf19c99bf1eb260", + "shasum": "" + }, + "require": { + "php": ">=5.3.3" + }, + "require-dev": { + "phpunit/phpunit": "~4|~5" + }, + "type": "library", + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sb@sebastian-bergmann.de", + "role": "lead" + } + ], + "description": "Utility class for timing", + "homepage": "https://github.com/sebastianbergmann/php-timer/", + "keywords": [ + "timer" + ], + "time": "2016-05-12 18:03:57" + }, + { + "name": "phpunit/php-token-stream", + "version": "1.4.8", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/php-token-stream.git", + "reference": "3144ae21711fb6cac0b1ab4cbe63b75ce3d4e8da" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/php-token-stream/zipball/3144ae21711fb6cac0b1ab4cbe63b75ce3d4e8da", + "reference": "3144ae21711fb6cac0b1ab4cbe63b75ce3d4e8da", + "shasum": "" + }, + "require": { + "ext-tokenizer": "*", + "php": ">=5.3.3" + }, + "require-dev": { + "phpunit/phpunit": "~4.2" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.4-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + } + ], + "description": "Wrapper around PHP's tokenizer extension.", + "homepage": "https://github.com/sebastianbergmann/php-token-stream/", + "keywords": [ + "tokenizer" + ], + "time": "2015-09-15 10:49:45" + }, + { + "name": "phpunit/phpunit", + "version": "4.8.26", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/phpunit.git", + "reference": "fc1d8cd5b5de11625979125c5639347896ac2c74" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/fc1d8cd5b5de11625979125c5639347896ac2c74", + "reference": "fc1d8cd5b5de11625979125c5639347896ac2c74", + "shasum": "" + }, + "require": { + "ext-dom": "*", + "ext-json": "*", + "ext-pcre": "*", + "ext-reflection": "*", + "ext-spl": "*", + "php": ">=5.3.3", + "phpspec/prophecy": "^1.3.1", + "phpunit/php-code-coverage": "~2.1", + "phpunit/php-file-iterator": "~1.4", + "phpunit/php-text-template": "~1.2", + "phpunit/php-timer": "^1.0.6", + "phpunit/phpunit-mock-objects": "~2.3", + "sebastian/comparator": "~1.1", + "sebastian/diff": "~1.2", + "sebastian/environment": "~1.3", + "sebastian/exporter": "~1.2", + "sebastian/global-state": "~1.0", + "sebastian/version": "~1.0", + "symfony/yaml": "~2.1|~3.0" + }, + "suggest": { + "phpunit/php-invoker": "~1.1" + }, + "bin": [ + "phpunit" + ], + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.8.x-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "The PHP Unit Testing framework.", + "homepage": "https://phpunit.de/", + "keywords": [ + "phpunit", + "testing", + "xunit" + ], + "time": "2016-05-17 03:09:28" + }, + { + "name": "phpunit/phpunit-mock-objects", + "version": "2.3.8", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/phpunit-mock-objects.git", + "reference": "ac8e7a3db35738d56ee9a76e78a4e03d97628983" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit-mock-objects/zipball/ac8e7a3db35738d56ee9a76e78a4e03d97628983", + "reference": "ac8e7a3db35738d56ee9a76e78a4e03d97628983", + "shasum": "" + }, + "require": { + "doctrine/instantiator": "^1.0.2", + "php": ">=5.3.3", + "phpunit/php-text-template": "~1.2", + "sebastian/exporter": "~1.2" + }, + "require-dev": { + "phpunit/phpunit": "~4.4" + }, + "suggest": { + "ext-soap": "*" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.3.x-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sb@sebastian-bergmann.de", + "role": "lead" + } + ], + "description": "Mock Object library for PHPUnit", + "homepage": "https://github.com/sebastianbergmann/phpunit-mock-objects/", + "keywords": [ + "mock", + "xunit" + ], + "time": "2015-10-02 06:51:40" + }, + { + "name": "pimple/pimple", + "version": "v2.1.1", + "source": { + "type": "git", + "url": "https://github.com/silexphp/Pimple.git", + "reference": "ea22fb2880faf7b7b0e17c9809c6fe25b071fd76" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/silexphp/Pimple/zipball/ea22fb2880faf7b7b0e17c9809c6fe25b071fd76", + "reference": "ea22fb2880faf7b7b0e17c9809c6fe25b071fd76", + "shasum": "" + }, + "require": { + "php": ">=5.3.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.1.x-dev" + } + }, + "autoload": { + "psr-0": { + "Pimple": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + } + ], + "description": "Pimple is a simple Dependency Injection Container for PHP 5.3", + "homepage": "http://pimple.sensiolabs.org", + "keywords": [ + "container", + "dependency injection" + ], + "time": "2014-07-24 07:10:08" + }, + { + "name": "sami/sami", + "version": "v2.0.0", + "source": { + "type": "git", + "url": "https://github.com/FriendsOfPHP/Sami.git", + "reference": "fa58b324f41aa2aefe21dac4f22d8c98965fc012" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/FriendsOfPHP/Sami/zipball/fa58b324f41aa2aefe21dac4f22d8c98965fc012", + "reference": "fa58b324f41aa2aefe21dac4f22d8c98965fc012", + "shasum": "" + }, + "require": { + "michelf/php-markdown": "~1.3", + "nikic/php-parser": "0.9.*", + "php": ">=5.3.0", + "pimple/pimple": "2.*", + "symfony/console": "~2.1", + "symfony/filesystem": "~2.1", + "symfony/finder": "~2.1", + "symfony/process": "~2.1", + "symfony/yaml": "~2.1", + "twig/twig": "1.*" + }, + "bin": [ + "sami.php" + ], + "type": "application", + "extra": { + "branch-alias": { + "dev-master": "2.0-dev" + } + }, + "autoload": { + "psr-0": { + "Sami": "." + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + } + ], + "description": "Sami, an API documentation generator", + "homepage": "http://sami.sensiolabs.org", + "keywords": [ + "phpdoc" + ], + "time": "2014-06-25 12:05:18" + }, + { + "name": "sebastian/comparator", + "version": "1.2.0", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/comparator.git", + "reference": "937efb279bd37a375bcadf584dec0726f84dbf22" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/937efb279bd37a375bcadf584dec0726f84dbf22", + "reference": "937efb279bd37a375bcadf584dec0726f84dbf22", + "shasum": "" + }, + "require": { + "php": ">=5.3.3", + "sebastian/diff": "~1.2", + "sebastian/exporter": "~1.2" + }, + "require-dev": { + "phpunit/phpunit": "~4.4" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.2.x-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Jeff Welch", + "email": "whatthejeff@gmail.com" + }, + { + "name": "Volker Dusch", + "email": "github@wallbash.com" + }, + { + "name": "Bernhard Schussek", + "email": "bschussek@2bepublished.at" + }, + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + } + ], + "description": "Provides the functionality to compare PHP values for equality", + "homepage": "http://www.github.com/sebastianbergmann/comparator", + "keywords": [ + "comparator", + "compare", + "equality" + ], + "time": "2015-07-26 15:48:44" + }, + { + "name": "sebastian/diff", + "version": "1.4.1", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/diff.git", + "reference": "13edfd8706462032c2f52b4b862974dd46b71c9e" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/13edfd8706462032c2f52b4b862974dd46b71c9e", + "reference": "13edfd8706462032c2f52b4b862974dd46b71c9e", + "shasum": "" + }, + "require": { + "php": ">=5.3.3" + }, + "require-dev": { + "phpunit/phpunit": "~4.8" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.4-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Kore Nordmann", + "email": "mail@kore-nordmann.de" + }, + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + } + ], + "description": "Diff implementation", + "homepage": "https://github.com/sebastianbergmann/diff", + "keywords": [ + "diff" + ], + "time": "2015-12-08 07:14:41" + }, + { + "name": "sebastian/environment", + "version": "1.3.7", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/environment.git", + "reference": "4e8f0da10ac5802913afc151413bc8c53b6c2716" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/4e8f0da10ac5802913afc151413bc8c53b6c2716", + "reference": "4e8f0da10ac5802913afc151413bc8c53b6c2716", + "shasum": "" + }, + "require": { + "php": ">=5.3.3" + }, + "require-dev": { + "phpunit/phpunit": "~4.4" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.3.x-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + } + ], + "description": "Provides functionality to handle HHVM/PHP environments", + "homepage": "http://www.github.com/sebastianbergmann/environment", + "keywords": [ + "Xdebug", + "environment", + "hhvm" + ], + "time": "2016-05-17 03:18:57" + }, + { + "name": "sebastian/exporter", + "version": "1.2.2", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/exporter.git", + "reference": "42c4c2eec485ee3e159ec9884f95b431287edde4" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/42c4c2eec485ee3e159ec9884f95b431287edde4", + "reference": "42c4c2eec485ee3e159ec9884f95b431287edde4", + "shasum": "" + }, + "require": { + "php": ">=5.3.3", + "sebastian/recursion-context": "~1.0" + }, + "require-dev": { + "ext-mbstring": "*", + "phpunit/phpunit": "~4.4" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.3.x-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Jeff Welch", + "email": "whatthejeff@gmail.com" + }, + { + "name": "Volker Dusch", + "email": "github@wallbash.com" + }, + { + "name": "Bernhard Schussek", + "email": "bschussek@2bepublished.at" + }, + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + }, + { + "name": "Adam Harvey", + "email": "aharvey@php.net" + } + ], + "description": "Provides the functionality to export PHP variables for visualization", + "homepage": "http://www.github.com/sebastianbergmann/exporter", + "keywords": [ + "export", + "exporter" + ], + "time": "2016-06-17 09:04:28" + }, + { + "name": "sebastian/global-state", + "version": "1.1.1", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/global-state.git", + "reference": "bc37d50fea7d017d3d340f230811c9f1d7280af4" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/bc37d50fea7d017d3d340f230811c9f1d7280af4", + "reference": "bc37d50fea7d017d3d340f230811c9f1d7280af4", + "shasum": "" + }, + "require": { + "php": ">=5.3.3" + }, + "require-dev": { + "phpunit/phpunit": "~4.2" + }, + "suggest": { + "ext-uopz": "*" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + } + ], + "description": "Snapshotting of global state", + "homepage": "http://www.github.com/sebastianbergmann/global-state", + "keywords": [ + "global state" + ], + "time": "2015-10-12 03:26:01" + }, + { + "name": "sebastian/recursion-context", + "version": "1.0.2", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/recursion-context.git", + "reference": "913401df809e99e4f47b27cdd781f4a258d58791" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/913401df809e99e4f47b27cdd781f4a258d58791", + "reference": "913401df809e99e4f47b27cdd781f4a258d58791", + "shasum": "" + }, + "require": { + "php": ">=5.3.3" + }, + "require-dev": { + "phpunit/phpunit": "~4.4" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Jeff Welch", + "email": "whatthejeff@gmail.com" + }, + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + }, + { + "name": "Adam Harvey", + "email": "aharvey@php.net" + } + ], + "description": "Provides functionality to recursively process PHP variables", + "homepage": "http://www.github.com/sebastianbergmann/recursion-context", + "time": "2015-11-11 19:50:13" + }, + { + "name": "sebastian/version", + "version": "1.0.6", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/version.git", + "reference": "58b3a85e7999757d6ad81c787a1fbf5ff6c628c6" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/58b3a85e7999757d6ad81c787a1fbf5ff6c628c6", + "reference": "58b3a85e7999757d6ad81c787a1fbf5ff6c628c6", + "shasum": "" + }, + "type": "library", + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Library that helps with managing the version number of Git-hosted PHP projects", + "homepage": "https://github.com/sebastianbergmann/version", + "time": "2015-06-21 13:59:46" + }, + { + "name": "squizlabs/php_codesniffer", + "version": "2.6.1", + "source": { + "type": "git", + "url": "https://github.com/squizlabs/PHP_CodeSniffer.git", + "reference": "fb72ed32f8418db5e7770be1653e62e0d6f5dd3d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/squizlabs/PHP_CodeSniffer/zipball/fb72ed32f8418db5e7770be1653e62e0d6f5dd3d", + "reference": "fb72ed32f8418db5e7770be1653e62e0d6f5dd3d", + "shasum": "" + }, + "require": { + "ext-simplexml": "*", + "ext-tokenizer": "*", + "ext-xmlwriter": "*", + "php": ">=5.1.2" + }, + "require-dev": { + "phpunit/phpunit": "~4.0" + }, + "bin": [ + "scripts/phpcs", + "scripts/phpcbf" + ], + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.x-dev" + } + }, + "autoload": { + "classmap": [ + "CodeSniffer.php", + "CodeSniffer/CLI.php", + "CodeSniffer/Exception.php", + "CodeSniffer/File.php", + "CodeSniffer/Fixer.php", + "CodeSniffer/Report.php", + "CodeSniffer/Reporting.php", + "CodeSniffer/Sniff.php", + "CodeSniffer/Tokens.php", + "CodeSniffer/Reports/", + "CodeSniffer/Tokenizers/", + "CodeSniffer/DocGenerators/", + "CodeSniffer/Standards/AbstractPatternSniff.php", + "CodeSniffer/Standards/AbstractScopeSniff.php", + "CodeSniffer/Standards/AbstractVariableSniff.php", + "CodeSniffer/Standards/IncorrectPatternException.php", + "CodeSniffer/Standards/Generic/Sniffs/", + "CodeSniffer/Standards/MySource/Sniffs/", + "CodeSniffer/Standards/PEAR/Sniffs/", + "CodeSniffer/Standards/PSR1/Sniffs/", + "CodeSniffer/Standards/PSR2/Sniffs/", + "CodeSniffer/Standards/Squiz/Sniffs/", + "CodeSniffer/Standards/Zend/Sniffs/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Greg Sherwood", + "role": "lead" + } + ], + "description": "PHP_CodeSniffer tokenizes PHP, JavaScript and CSS files and detects violations of a defined set of coding standards.", + "homepage": "http://www.squizlabs.com/php-codesniffer", + "keywords": [ + "phpcs", + "standards" + ], + "time": "2016-05-30 22:24:32" + }, + { + "name": "symfony/console", + "version": "v2.8.7", + "source": { + "type": "git", + "url": "https://github.com/symfony/console.git", + "reference": "5ac8bc9aa77bb2edf06af3a1bb6bc1020d23acd3" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/console/zipball/5ac8bc9aa77bb2edf06af3a1bb6bc1020d23acd3", + "reference": "5ac8bc9aa77bb2edf06af3a1bb6bc1020d23acd3", + "shasum": "" + }, + "require": { + "php": ">=5.3.9", + "symfony/polyfill-mbstring": "~1.0" + }, + "require-dev": { + "psr/log": "~1.0", + "symfony/event-dispatcher": "~2.1|~3.0.0", + "symfony/process": "~2.1|~3.0.0" + }, + "suggest": { + "psr/log": "For using the console logger", + "symfony/event-dispatcher": "", + "symfony/process": "" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.8-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\Console\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony Console Component", + "homepage": "https://symfony.com", + "time": "2016-06-06 15:06:25" + }, + { + "name": "symfony/filesystem", + "version": "v2.8.7", + "source": { + "type": "git", + "url": "https://github.com/symfony/filesystem.git", + "reference": "dee379131dceed90a429e951546b33edfe7dccbb" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/filesystem/zipball/dee379131dceed90a429e951546b33edfe7dccbb", + "reference": "dee379131dceed90a429e951546b33edfe7dccbb", + "shasum": "" + }, + "require": { + "php": ">=5.3.9" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.8-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\Filesystem\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony Filesystem Component", + "homepage": "https://symfony.com", + "time": "2016-04-12 18:01:21" + }, + { + "name": "symfony/finder", + "version": "v2.8.7", + "source": { + "type": "git", + "url": "https://github.com/symfony/finder.git", + "reference": "3ec095fab1800222732ca522a95dce8fa124007b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/finder/zipball/3ec095fab1800222732ca522a95dce8fa124007b", + "reference": "3ec095fab1800222732ca522a95dce8fa124007b", + "shasum": "" + }, + "require": { + "php": ">=5.3.9" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.8-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\Finder\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony Finder Component", + "homepage": "https://symfony.com", + "time": "2016-06-06 11:11:27" + }, + { + "name": "symfony/polyfill-mbstring", + "version": "v1.2.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-mbstring.git", + "reference": "dff51f72b0706335131b00a7f49606168c582594" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/dff51f72b0706335131b00a7f49606168c582594", + "reference": "dff51f72b0706335131b00a7f49606168c582594", + "shasum": "" + }, + "require": { + "php": ">=5.3.3" + }, + "suggest": { + "ext-mbstring": "For best performance" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.2-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Polyfill\\Mbstring\\": "" + }, + "files": [ + "bootstrap.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill for the Mbstring extension", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "mbstring", + "polyfill", + "portable", + "shim" + ], + "time": "2016-05-18 14:26:46" + }, + { + "name": "symfony/process", + "version": "v2.8.7", + "source": { + "type": "git", + "url": "https://github.com/symfony/process.git", + "reference": "115347d00c342198cdc52a7bd8bc15b5ab43500c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/process/zipball/115347d00c342198cdc52a7bd8bc15b5ab43500c", + "reference": "115347d00c342198cdc52a7bd8bc15b5ab43500c", + "shasum": "" + }, + "require": { + "php": ">=5.3.9" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.8-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\Process\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony Process Component", + "homepage": "https://symfony.com", + "time": "2016-06-06 11:11:27" + }, + { + "name": "symfony/yaml", + "version": "v2.8.7", + "source": { + "type": "git", + "url": "https://github.com/symfony/yaml.git", + "reference": "815fabf3f48c7d1df345a69d1ad1a88f59757b34" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/yaml/zipball/815fabf3f48c7d1df345a69d1ad1a88f59757b34", + "reference": "815fabf3f48c7d1df345a69d1ad1a88f59757b34", + "shasum": "" + }, + "require": { + "php": ">=5.3.9" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.8-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\Yaml\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony Yaml Component", + "homepage": "https://symfony.com", + "time": "2016-06-06 11:11:27" + }, + { + "name": "twig/twig", + "version": "v1.24.1", + "source": { + "type": "git", + "url": "https://github.com/twigphp/Twig.git", + "reference": "3566d311a92aae4deec6e48682dc5a4528c4a512" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/twigphp/Twig/zipball/3566d311a92aae4deec6e48682dc5a4528c4a512", + "reference": "3566d311a92aae4deec6e48682dc5a4528c4a512", + "shasum": "" + }, + "require": { + "php": ">=5.2.7" + }, + "require-dev": { + "symfony/debug": "~2.7", + "symfony/phpunit-bridge": "~2.7" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.24-dev" + } + }, + "autoload": { + "psr-0": { + "Twig_": "lib/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com", + "homepage": "http://fabien.potencier.org", + "role": "Lead Developer" + }, + { + "name": "Armin Ronacher", + "email": "armin.ronacher@active-4.com", + "role": "Project Founder" + }, + { + "name": "Twig Team", + "homepage": "http://twig.sensiolabs.org/contributors", + "role": "Contributors" + } + ], + "description": "Twig, the flexible, fast, and secure template language for PHP", + "homepage": "http://twig.sensiolabs.org", + "keywords": [ + "templating" + ], + "time": "2016-05-30 09:11:59" + }, + { + "name": "webmozart/assert", + "version": "1.0.2", + "source": { + "type": "git", + "url": "https://github.com/webmozart/assert.git", + "reference": "30eed06dd6bc88410a4ff7f77b6d22f3ce13dbde" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/webmozart/assert/zipball/30eed06dd6bc88410a4ff7f77b6d22f3ce13dbde", + "reference": "30eed06dd6bc88410a4ff7f77b6d22f3ce13dbde", + "shasum": "" + }, + "require": { + "php": ">=5.3.3" + }, + "require-dev": { + "phpunit/phpunit": "^4.6" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0-dev" + } + }, + "autoload": { + "psr-4": { + "Webmozart\\Assert\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Bernhard Schussek", + "email": "bschussek@gmail.com" + } + ], + "description": "Assertions to validate method input/output with nice error messages.", + "keywords": [ + "assert", + "check", + "validate" + ], + "time": "2015-08-24 13:29:44" + } + ], + "aliases": [], + "minimum-stability": "stable", + "stability-flags": [], + "prefer-stable": false, + "prefer-lowest": false, + "platform": { + "php": ">=5.3.3" + }, + "platform-dev": [] +} diff --git a/vendor/phpseclib/phpseclib/phpseclib/Crypt/AES.php b/vendor/phpseclib/phpseclib/phpseclib/Crypt/AES.php new file mode 100644 index 00000000..7d8cb8b0 --- /dev/null +++ b/vendor/phpseclib/phpseclib/phpseclib/Crypt/AES.php @@ -0,0 +1,126 @@ +<?php + +/** + * Pure-PHP implementation of AES. + * + * Uses mcrypt, if available/possible, and an internal implementation, otherwise. + * + * PHP version 5 + * + * NOTE: Since AES.php is (for compatibility and phpseclib-historical reasons) virtually + * just a wrapper to Rijndael.php you may consider using Rijndael.php instead of + * to save one include_once(). + * + * If {@link self::setKeyLength() setKeyLength()} isn't called, it'll be calculated from + * {@link self::setKey() setKey()}. ie. if the key is 128-bits, the key length will be 128-bits. If it's 136-bits + * it'll be null-padded to 192-bits and 192 bits will be the key length until {@link self::setKey() setKey()} + * is called, again, at which point, it'll be recalculated. + * + * Since \phpseclib\Crypt\AES extends \phpseclib\Crypt\Rijndael, some functions are available to be called that, in the context of AES, don't + * make a whole lot of sense. {@link self::setBlockLength() setBlockLength()}, for instance. Calling that function, + * however possible, won't do anything (AES has a fixed block length whereas Rijndael has a variable one). + * + * Here's a short example of how to use this library: + * <code> + * <?php + * include 'vendor/autoload.php'; + * + * $aes = new \phpseclib\Crypt\AES(); + * + * $aes->setKey('abcdefghijklmnop'); + * + * $size = 10 * 1024; + * $plaintext = ''; + * for ($i = 0; $i < $size; $i++) { + * $plaintext.= 'a'; + * } + * + * echo $aes->decrypt($aes->encrypt($plaintext)); + * ?> + * </code> + * + * @category Crypt + * @package AES + * @author Jim Wigginton <terrafrost@php.net> + * @copyright 2008 Jim Wigginton + * @license http://www.opensource.org/licenses/mit-license.html MIT License + * @link http://phpseclib.sourceforge.net + */ + +namespace phpseclib\Crypt; + +/** + * Pure-PHP implementation of AES. + * + * @package AES + * @author Jim Wigginton <terrafrost@php.net> + * @access public + */ +class AES extends Rijndael +{ + /** + * Dummy function + * + * Since \phpseclib\Crypt\AES extends \phpseclib\Crypt\Rijndael, this function is, technically, available, but it doesn't do anything. + * + * @see \phpseclib\Crypt\Rijndael::setBlockLength() + * @access public + * @param int $length + */ + function setBlockLength($length) + { + return; + } + + /** + * Sets the key length + * + * Valid key lengths are 128, 192, and 256. If the length is less than 128, it will be rounded up to + * 128. If the length is greater than 128 and invalid, it will be rounded down to the closest valid amount. + * + * @see \phpseclib\Crypt\Rijndael:setKeyLength() + * @access public + * @param int $length + */ + function setKeyLength($length) + { + switch ($length) { + case 160: + $length = 192; + break; + case 224: + $length = 256; + } + parent::setKeyLength($length); + } + + /** + * Sets the key. + * + * Rijndael supports five different key lengths, AES only supports three. + * + * @see \phpseclib\Crypt\Rijndael:setKey() + * @see setKeyLength() + * @access public + * @param string $key + */ + function setKey($key) + { + parent::setKey($key); + + if (!$this->explicit_key_length) { + $length = strlen($key); + switch (true) { + case $length <= 16: + $this->key_length = 16; + break; + case $length <= 24: + $this->key_length = 24; + break; + default: + $this->key_length = 32; + } + $this->_setEngine(); + } + } +} diff --git a/vendor/phpseclib/phpseclib/phpseclib/Crypt/Base.php b/vendor/phpseclib/phpseclib/phpseclib/Crypt/Base.php new file mode 100644 index 00000000..fd99c44f --- /dev/null +++ b/vendor/phpseclib/phpseclib/phpseclib/Crypt/Base.php @@ -0,0 +1,2553 @@ +<?php + +/** + * Base Class for all \phpseclib\Crypt\* cipher classes + * + * PHP version 5 + * + * Internally for phpseclib developers: + * If you plan to add a new cipher class, please note following rules: + * + * - The new \phpseclib\Crypt\* cipher class should extend \phpseclib\Crypt\Base + * + * - Following methods are then required to be overridden/overloaded: + * + * - _encryptBlock() + * + * - _decryptBlock() + * + * - _setupKey() + * + * - All other methods are optional to be overridden/overloaded + * + * - Look at the source code of the current ciphers how they extend \phpseclib\Crypt\Base + * and take one of them as a start up for the new cipher class. + * + * - Please read all the other comments/notes/hints here also for each class var/method + * + * @category Crypt + * @package Base + * @author Jim Wigginton <terrafrost@php.net> + * @author Hans-Juergen Petrich <petrich@tronic-media.com> + * @copyright 2007 Jim Wigginton + * @license http://www.opensource.org/licenses/mit-license.html MIT License + * @link http://phpseclib.sourceforge.net + */ + +namespace phpseclib\Crypt; + +/** + * Base Class for all \phpseclib\Crypt\* cipher classes + * + * @package Base + * @author Jim Wigginton <terrafrost@php.net> + * @author Hans-Juergen Petrich <petrich@tronic-media.com> + */ +abstract class Base +{ + /**#@+ + * @access public + * @see \phpseclib\Crypt\Base::encrypt() + * @see \phpseclib\Crypt\Base::decrypt() + */ + /** + * Encrypt / decrypt using the Counter mode. + * + * Set to -1 since that's what Crypt/Random.php uses to index the CTR mode. + * + * @link http://en.wikipedia.org/wiki/Block_cipher_modes_of_operation#Counter_.28CTR.29 + */ + const MODE_CTR = -1; + /** + * Encrypt / decrypt using the Electronic Code Book mode. + * + * @link http://en.wikipedia.org/wiki/Block_cipher_modes_of_operation#Electronic_codebook_.28ECB.29 + */ + const MODE_ECB = 1; + /** + * Encrypt / decrypt using the Code Book Chaining mode. + * + * @link http://en.wikipedia.org/wiki/Block_cipher_modes_of_operation#Cipher-block_chaining_.28CBC.29 + */ + const MODE_CBC = 2; + /** + * Encrypt / decrypt using the Cipher Feedback mode. + * + * @link http://en.wikipedia.org/wiki/Block_cipher_modes_of_operation#Cipher_feedback_.28CFB.29 + */ + const MODE_CFB = 3; + /** + * Encrypt / decrypt using the Output Feedback mode. + * + * @link http://en.wikipedia.org/wiki/Block_cipher_modes_of_operation#Output_feedback_.28OFB.29 + */ + const MODE_OFB = 4; + /** + * Encrypt / decrypt using streaming mode. + */ + const MODE_STREAM = 5; + /**#@-*/ + + /** + * Whirlpool available flag + * + * @see \phpseclib\Crypt\Base::_hashInlineCryptFunction() + * @var bool + * @access private + */ + static $WHIRLPOOL_AVAILABLE; + + /**#@+ + * @access private + * @see \phpseclib\Crypt\Base::__construct() + */ + /** + * Base value for the internal implementation $engine switch + */ + const ENGINE_INTERNAL = 1; + /** + * Base value for the mcrypt implementation $engine switch + */ + const ENGINE_MCRYPT = 2; + /** + * Base value for the mcrypt implementation $engine switch + */ + const ENGINE_OPENSSL = 3; + /**#@-*/ + + /** + * The Encryption Mode + * + * @see self::__construct() + * @var int + * @access private + */ + var $mode; + + /** + * The Block Length of the block cipher + * + * @var int + * @access private + */ + var $block_size = 16; + + /** + * The Key + * + * @see self::setKey() + * @var string + * @access private + */ + var $key = "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"; + + /** + * The Initialization Vector + * + * @see self::setIV() + * @var string + * @access private + */ + var $iv; + + /** + * A "sliding" Initialization Vector + * + * @see self::enableContinuousBuffer() + * @see self::_clearBuffers() + * @var string + * @access private + */ + var $encryptIV; + + /** + * A "sliding" Initialization Vector + * + * @see self::enableContinuousBuffer() + * @see self::_clearBuffers() + * @var string + * @access private + */ + var $decryptIV; + + /** + * Continuous Buffer status + * + * @see self::enableContinuousBuffer() + * @var bool + * @access private + */ + var $continuousBuffer = false; + + /** + * Encryption buffer for CTR, OFB and CFB modes + * + * @see self::encrypt() + * @see self::_clearBuffers() + * @var array + * @access private + */ + var $enbuffer; + + /** + * Decryption buffer for CTR, OFB and CFB modes + * + * @see self::decrypt() + * @see self::_clearBuffers() + * @var array + * @access private + */ + var $debuffer; + + /** + * mcrypt resource for encryption + * + * The mcrypt resource can be recreated every time something needs to be created or it can be created just once. + * Since mcrypt operates in continuous mode, by default, it'll need to be recreated when in non-continuous mode. + * + * @see self::encrypt() + * @var resource + * @access private + */ + var $enmcrypt; + + /** + * mcrypt resource for decryption + * + * The mcrypt resource can be recreated every time something needs to be created or it can be created just once. + * Since mcrypt operates in continuous mode, by default, it'll need to be recreated when in non-continuous mode. + * + * @see self::decrypt() + * @var resource + * @access private + */ + var $demcrypt; + + /** + * Does the enmcrypt resource need to be (re)initialized? + * + * @see \phpseclib\Crypt\Twofish::setKey() + * @see \phpseclib\Crypt\Twofish::setIV() + * @var bool + * @access private + */ + var $enchanged = true; + + /** + * Does the demcrypt resource need to be (re)initialized? + * + * @see \phpseclib\Crypt\Twofish::setKey() + * @see \phpseclib\Crypt\Twofish::setIV() + * @var bool + * @access private + */ + var $dechanged = true; + + /** + * mcrypt resource for CFB mode + * + * mcrypt's CFB mode, in (and only in) buffered context, + * is broken, so phpseclib implements the CFB mode by it self, + * even when the mcrypt php extension is available. + * + * In order to do the CFB-mode work (fast) phpseclib + * use a separate ECB-mode mcrypt resource. + * + * @link http://phpseclib.sourceforge.net/cfb-demo.phps + * @see self::encrypt() + * @see self::decrypt() + * @see self::_setupMcrypt() + * @var resource + * @access private + */ + var $ecb; + + /** + * Optimizing value while CFB-encrypting + * + * Only relevant if $continuousBuffer enabled + * and $engine == self::ENGINE_MCRYPT + * + * It's faster to re-init $enmcrypt if + * $buffer bytes > $cfb_init_len than + * using the $ecb resource furthermore. + * + * This value depends of the chosen cipher + * and the time it would be needed for it's + * initialization [by mcrypt_generic_init()] + * which, typically, depends on the complexity + * on its internaly Key-expanding algorithm. + * + * @see self::encrypt() + * @var int + * @access private + */ + var $cfb_init_len = 600; + + /** + * Does internal cipher state need to be (re)initialized? + * + * @see self::setKey() + * @see self::setIV() + * @see self::disableContinuousBuffer() + * @var bool + * @access private + */ + var $changed = true; + + /** + * Padding status + * + * @see self::enablePadding() + * @var bool + * @access private + */ + var $padding = true; + + /** + * Is the mode one that is paddable? + * + * @see self::__construct() + * @var bool + * @access private + */ + var $paddable = false; + + /** + * Holds which crypt engine internaly should be use, + * which will be determined automatically on __construct() + * + * Currently available $engines are: + * - self::ENGINE_OPENSSL (very fast, php-extension: openssl, extension_loaded('openssl') required) + * - self::ENGINE_MCRYPT (fast, php-extension: mcrypt, extension_loaded('mcrypt') required) + * - self::ENGINE_INTERNAL (slower, pure php-engine, no php-extension required) + * + * @see self::_setEngine() + * @see self::encrypt() + * @see self::decrypt() + * @var int + * @access private + */ + var $engine; + + /** + * Holds the preferred crypt engine + * + * @see self::_setEngine() + * @see self::setPreferredEngine() + * @var int + * @access private + */ + var $preferredEngine; + + /** + * The mcrypt specific name of the cipher + * + * Only used if $engine == self::ENGINE_MCRYPT + * + * @link http://www.php.net/mcrypt_module_open + * @link http://www.php.net/mcrypt_list_algorithms + * @see self::_setupMcrypt() + * @var string + * @access private + */ + var $cipher_name_mcrypt; + + /** + * The openssl specific name of the cipher + * + * Only used if $engine == self::ENGINE_OPENSSL + * + * @link http://www.php.net/openssl-get-cipher-methods + * @var string + * @access private + */ + var $cipher_name_openssl; + + /** + * The openssl specific name of the cipher in ECB mode + * + * If OpenSSL does not support the mode we're trying to use (CTR) + * it can still be emulated with ECB mode. + * + * @link http://www.php.net/openssl-get-cipher-methods + * @var string + * @access private + */ + var $cipher_name_openssl_ecb; + + /** + * The default salt used by setPassword() + * + * @see self::setPassword() + * @var string + * @access private + */ + var $password_default_salt = 'phpseclib/salt'; + + /** + * The name of the performance-optimized callback function + * + * Used by encrypt() / decrypt() + * only if $engine == self::ENGINE_INTERNAL + * + * @see self::encrypt() + * @see self::decrypt() + * @see self::_setupInlineCrypt() + * @see self::$use_inline_crypt + * @var Callback + * @access private + */ + var $inline_crypt; + + /** + * Holds whether performance-optimized $inline_crypt() can/should be used. + * + * @see self::encrypt() + * @see self::decrypt() + * @see self::inline_crypt + * @var mixed + * @access private + */ + var $use_inline_crypt; + + /** + * If OpenSSL can be used in ECB but not in CTR we can emulate CTR + * + * @see self::_openssl_ctr_process() + * @var bool + * @access private + */ + var $openssl_emulate_ctr = false; + + /** + * Determines what options are passed to openssl_encrypt/decrypt + * + * @see self::isValidEngine() + * @var mixed + * @access private + */ + var $openssl_options; + + /** + * Has the key length explicitly been set or should it be derived from the key, itself? + * + * @see self::setKeyLength() + * @var bool + * @access private + */ + var $explicit_key_length = false; + + /** + * Don't truncate / null pad key + * + * @see self::_clearBuffers() + * @var bool + * @access private + */ + var $skip_key_adjustment = false; + + /** + * Default Constructor. + * + * Determines whether or not the mcrypt extension should be used. + * + * $mode could be: + * + * - self::MODE_ECB + * + * - self::MODE_CBC + * + * - self::MODE_CTR + * + * - self::MODE_CFB + * + * - self::MODE_OFB + * + * If not explicitly set, self::MODE_CBC will be used. + * + * @param int $mode + * @access public + */ + function __construct($mode = self::MODE_CBC) + { + // $mode dependent settings + switch ($mode) { + case self::MODE_ECB: + $this->paddable = true; + $this->mode = self::MODE_ECB; + break; + case self::MODE_CTR: + case self::MODE_CFB: + case self::MODE_OFB: + case self::MODE_STREAM: + $this->mode = $mode; + break; + case self::MODE_CBC: + default: + $this->paddable = true; + $this->mode = self::MODE_CBC; + } + + $this->_setEngine(); + + // Determining whether inline crypting can be used by the cipher + if ($this->use_inline_crypt !== false && function_exists('create_function')) { + $this->use_inline_crypt = true; + } + } + + /** + * Sets the initialization vector. (optional) + * + * SetIV is not required when self::MODE_ECB (or ie for AES: \phpseclib\Crypt\AES::MODE_ECB) is being used. If not explicitly set, it'll be assumed + * to be all zero's. + * + * @access public + * @param string $iv + * @internal Can be overwritten by a sub class, but does not have to be + */ + function setIV($iv) + { + if ($this->mode == self::MODE_ECB) { + return; + } + + $this->iv = $iv; + $this->changed = true; + } + + /** + * Sets the key length. + * + * Keys with explicitly set lengths need to be treated accordingly + * + * @access public + * @param int $length + */ + function setKeyLength($length) + { + $this->explicit_key_length = true; + $this->changed = true; + $this->_setEngine(); + } + + /** + * Returns the current key length in bits + * + * @access public + * @return int + */ + function getKeyLength() + { + return $this->key_length << 3; + } + + /** + * Returns the current block length in bits + * + * @access public + * @return int + */ + function getBlockLength() + { + return $this->block_size << 3; + } + + /** + * Sets the key. + * + * The min/max length(s) of the key depends on the cipher which is used. + * If the key not fits the length(s) of the cipher it will paded with null bytes + * up to the closest valid key length. If the key is more than max length, + * we trim the excess bits. + * + * If the key is not explicitly set, it'll be assumed to be all null bytes. + * + * @access public + * @param string $key + * @internal Could, but not must, extend by the child Crypt_* class + */ + function setKey($key) + { + if (!$this->explicit_key_length) { + $this->setKeyLength(strlen($key) << 3); + $this->explicit_key_length = false; + } + + $this->key = $key; + $this->changed = true; + $this->_setEngine(); + } + + /** + * Sets the password. + * + * Depending on what $method is set to, setPassword()'s (optional) parameters are as follows: + * {@link http://en.wikipedia.org/wiki/PBKDF2 pbkdf2} or pbkdf1: + * $hash, $salt, $count, $dkLen + * + * Where $hash (default = sha1) currently supports the following hashes: see: Crypt/Hash.php + * + * @see Crypt/Hash.php + * @param string $password + * @param string $method + * @return bool + * @access public + * @internal Could, but not must, extend by the child Crypt_* class + */ + function setPassword($password, $method = 'pbkdf2') + { + $key = ''; + + switch ($method) { + default: // 'pbkdf2' or 'pbkdf1' + $func_args = func_get_args(); + + // Hash function + $hash = isset($func_args[2]) ? $func_args[2] : 'sha1'; + + // WPA and WPA2 use the SSID as the salt + $salt = isset($func_args[3]) ? $func_args[3] : $this->password_default_salt; + + // RFC2898#section-4.2 uses 1,000 iterations by default + // WPA and WPA2 use 4,096. + $count = isset($func_args[4]) ? $func_args[4] : 1000; + + // Keylength + if (isset($func_args[5])) { + $dkLen = $func_args[5]; + } else { + $dkLen = $method == 'pbkdf1' ? 2 * $this->key_length : $this->key_length; + } + + switch (true) { + case $method == 'pbkdf1': + $hashObj = new Hash(); + $hashObj->setHash($hash); + if ($dkLen > $hashObj->getLength()) { + user_error('Derived key too long'); + return false; + } + $t = $password . $salt; + for ($i = 0; $i < $count; ++$i) { + $t = $hashObj->hash($t); + } + $key = substr($t, 0, $dkLen); + + $this->setKey(substr($key, 0, $dkLen >> 1)); + $this->setIV(substr($key, $dkLen >> 1)); + + return true; + // Determining if php[>=5.5.0]'s hash_pbkdf2() function avail- and useable + case !function_exists('hash_pbkdf2'): + case !function_exists('hash_algos'): + case !in_array($hash, hash_algos()): + $i = 1; + while (strlen($key) < $dkLen) { + $hmac = new Hash(); + $hmac->setHash($hash); + $hmac->setKey($password); + $f = $u = $hmac->hash($salt . pack('N', $i++)); + for ($j = 2; $j <= $count; ++$j) { + $u = $hmac->hash($u); + $f^= $u; + } + $key.= $f; + } + $key = substr($key, 0, $dkLen); + break; + default: + $key = hash_pbkdf2($hash, $password, $salt, $count, $dkLen, true); + } + } + + $this->setKey($key); + + return true; + } + + /** + * Encrypts a message. + * + * $plaintext will be padded with additional bytes such that it's length is a multiple of the block size. Other cipher + * implementations may or may not pad in the same manner. Other common approaches to padding and the reasons why it's + * necessary are discussed in the following + * URL: + * + * {@link http://www.di-mgt.com.au/cryptopad.html http://www.di-mgt.com.au/cryptopad.html} + * + * An alternative to padding is to, separately, send the length of the file. This is what SSH, in fact, does. + * strlen($plaintext) will still need to be a multiple of the block size, however, arbitrary values can be added to make it that + * length. + * + * @see self::decrypt() + * @access public + * @param string $plaintext + * @return string $ciphertext + * @internal Could, but not must, extend by the child Crypt_* class + */ + function encrypt($plaintext) + { + if ($this->paddable) { + $plaintext = $this->_pad($plaintext); + } + + if ($this->engine === self::ENGINE_OPENSSL) { + if ($this->changed) { + $this->_clearBuffers(); + $this->changed = false; + } + switch ($this->mode) { + case self::MODE_STREAM: + return openssl_encrypt($plaintext, $this->cipher_name_openssl, $this->key, $this->openssl_options); + case self::MODE_ECB: + $result = openssl_encrypt($plaintext, $this->cipher_name_openssl, $this->key, $this->openssl_options); + return !defined('OPENSSL_RAW_DATA') ? substr($result, 0, -$this->block_size) : $result; + case self::MODE_CBC: + $result = openssl_encrypt($plaintext, $this->cipher_name_openssl, $this->key, $this->openssl_options, $this->encryptIV); + if (!defined('OPENSSL_RAW_DATA')) { + $result = substr($result, 0, -$this->block_size); + } + if ($this->continuousBuffer) { + $this->encryptIV = substr($result, -$this->block_size); + } + return $result; + case self::MODE_CTR: + return $this->_openssl_ctr_process($plaintext, $this->encryptIV, $this->enbuffer); + case self::MODE_CFB: + // cfb loosely routines inspired by openssl's: + // {@link http://cvs.openssl.org/fileview?f=openssl/crypto/modes/cfb128.c&v=1.3.2.2.2.1} + $ciphertext = ''; + if ($this->continuousBuffer) { + $iv = &$this->encryptIV; + $pos = &$this->enbuffer['pos']; + } else { + $iv = $this->encryptIV; + $pos = 0; + } + $len = strlen($plaintext); + $i = 0; + if ($pos) { + $orig_pos = $pos; + $max = $this->block_size - $pos; + if ($len >= $max) { + $i = $max; + $len-= $max; + $pos = 0; + } else { + $i = $len; + $pos+= $len; + $len = 0; + } + // ie. $i = min($max, $len), $len-= $i, $pos+= $i, $pos%= $blocksize + $ciphertext = substr($iv, $orig_pos) ^ $plaintext; + $iv = substr_replace($iv, $ciphertext, $orig_pos, $i); + $plaintext = substr($plaintext, $i); + } + + $overflow = $len % $this->block_size; + + if ($overflow) { + $ciphertext.= openssl_encrypt(substr($plaintext, 0, -$overflow) . str_repeat("\0", $this->block_size), $this->cipher_name_openssl, $this->key, $this->openssl_options, $iv); + $iv = $this->_string_pop($ciphertext, $this->block_size); + + $size = $len - $overflow; + $block = $iv ^ substr($plaintext, -$overflow); + $iv = substr_replace($iv, $block, 0, $overflow); + $ciphertext.= $block; + $pos = $overflow; + } elseif ($len) { + $ciphertext = openssl_encrypt($plaintext, $this->cipher_name_openssl, $this->key, $this->openssl_options, $iv); + $iv = substr($ciphertext, -$this->block_size); + } + + return $ciphertext; + case self::MODE_OFB: + return $this->_openssl_ofb_process($plaintext, $this->encryptIV, $this->enbuffer); + } + } + + if ($this->engine === self::ENGINE_MCRYPT) { + if ($this->changed) { + $this->_setupMcrypt(); + $this->changed = false; + } + if ($this->enchanged) { + @mcrypt_generic_init($this->enmcrypt, $this->key, $this->encryptIV); + $this->enchanged = false; + } + + // re: {@link http://phpseclib.sourceforge.net/cfb-demo.phps} + // using mcrypt's default handing of CFB the above would output two different things. using phpseclib's + // rewritten CFB implementation the above outputs the same thing twice. + if ($this->mode == self::MODE_CFB && $this->continuousBuffer) { + $block_size = $this->block_size; + $iv = &$this->encryptIV; + $pos = &$this->enbuffer['pos']; + $len = strlen($plaintext); + $ciphertext = ''; + $i = 0; + if ($pos) { + $orig_pos = $pos; + $max = $block_size - $pos; + if ($len >= $max) { + $i = $max; + $len-= $max; + $pos = 0; + } else { + $i = $len; + $pos+= $len; + $len = 0; + } + $ciphertext = substr($iv, $orig_pos) ^ $plaintext; + $iv = substr_replace($iv, $ciphertext, $orig_pos, $i); + $this->enbuffer['enmcrypt_init'] = true; + } + if ($len >= $block_size) { + if ($this->enbuffer['enmcrypt_init'] === false || $len > $this->cfb_init_len) { + if ($this->enbuffer['enmcrypt_init'] === true) { + @mcrypt_generic_init($this->enmcrypt, $this->key, $iv); + $this->enbuffer['enmcrypt_init'] = false; + } + $ciphertext.= @mcrypt_generic($this->enmcrypt, substr($plaintext, $i, $len - $len % $block_size)); + $iv = substr($ciphertext, -$block_size); + $len%= $block_size; + } else { + while ($len >= $block_size) { + $iv = @mcrypt_generic($this->ecb, $iv) ^ substr($plaintext, $i, $block_size); + $ciphertext.= $iv; + $len-= $block_size; + $i+= $block_size; + } + } + } + + if ($len) { + $iv = @mcrypt_generic($this->ecb, $iv); + $block = $iv ^ substr($plaintext, -$len); + $iv = substr_replace($iv, $block, 0, $len); + $ciphertext.= $block; + $pos = $len; + } + + return $ciphertext; + } + + $ciphertext = @mcrypt_generic($this->enmcrypt, $plaintext); + + if (!$this->continuousBuffer) { + @mcrypt_generic_init($this->enmcrypt, $this->key, $this->encryptIV); + } + + return $ciphertext; + } + + if ($this->changed) { + $this->_setup(); + $this->changed = false; + } + if ($this->use_inline_crypt) { + $inline = $this->inline_crypt; + return $inline('encrypt', $this, $plaintext); + } + + $buffer = &$this->enbuffer; + $block_size = $this->block_size; + $ciphertext = ''; + switch ($this->mode) { + case self::MODE_ECB: + for ($i = 0; $i < strlen($plaintext); $i+=$block_size) { + $ciphertext.= $this->_encryptBlock(substr($plaintext, $i, $block_size)); + } + break; + case self::MODE_CBC: + $xor = $this->encryptIV; + for ($i = 0; $i < strlen($plaintext); $i+=$block_size) { + $block = substr($plaintext, $i, $block_size); + $block = $this->_encryptBlock($block ^ $xor); + $xor = $block; + $ciphertext.= $block; + } + if ($this->continuousBuffer) { + $this->encryptIV = $xor; + } + break; + case self::MODE_CTR: + $xor = $this->encryptIV; + if (strlen($buffer['ciphertext'])) { + for ($i = 0; $i < strlen($plaintext); $i+=$block_size) { + $block = substr($plaintext, $i, $block_size); + if (strlen($block) > strlen($buffer['ciphertext'])) { + $buffer['ciphertext'].= $this->_encryptBlock($xor); + } + $this->_increment_str($xor); + $key = $this->_string_shift($buffer['ciphertext'], $block_size); + $ciphertext.= $block ^ $key; + } + } else { + for ($i = 0; $i < strlen($plaintext); $i+=$block_size) { + $block = substr($plaintext, $i, $block_size); + $key = $this->_encryptBlock($xor); + $this->_increment_str($xor); + $ciphertext.= $block ^ $key; + } + } + if ($this->continuousBuffer) { + $this->encryptIV = $xor; + if ($start = strlen($plaintext) % $block_size) { + $buffer['ciphertext'] = substr($key, $start) . $buffer['ciphertext']; + } + } + break; + case self::MODE_CFB: + // cfb loosely routines inspired by openssl's: + // {@link http://cvs.openssl.org/fileview?f=openssl/crypto/modes/cfb128.c&v=1.3.2.2.2.1} + if ($this->continuousBuffer) { + $iv = &$this->encryptIV; + $pos = &$buffer['pos']; + } else { + $iv = $this->encryptIV; + $pos = 0; + } + $len = strlen($plaintext); + $i = 0; + if ($pos) { + $orig_pos = $pos; + $max = $block_size - $pos; + if ($len >= $max) { + $i = $max; + $len-= $max; + $pos = 0; + } else { + $i = $len; + $pos+= $len; + $len = 0; + } + // ie. $i = min($max, $len), $len-= $i, $pos+= $i, $pos%= $blocksize + $ciphertext = substr($iv, $orig_pos) ^ $plaintext; + $iv = substr_replace($iv, $ciphertext, $orig_pos, $i); + } + while ($len >= $block_size) { + $iv = $this->_encryptBlock($iv) ^ substr($plaintext, $i, $block_size); + $ciphertext.= $iv; + $len-= $block_size; + $i+= $block_size; + } + if ($len) { + $iv = $this->_encryptBlock($iv); + $block = $iv ^ substr($plaintext, $i); + $iv = substr_replace($iv, $block, 0, $len); + $ciphertext.= $block; + $pos = $len; + } + break; + case self::MODE_OFB: + $xor = $this->encryptIV; + if (strlen($buffer['xor'])) { + for ($i = 0; $i < strlen($plaintext); $i+=$block_size) { + $block = substr($plaintext, $i, $block_size); + if (strlen($block) > strlen($buffer['xor'])) { + $xor = $this->_encryptBlock($xor); + $buffer['xor'].= $xor; + } + $key = $this->_string_shift($buffer['xor'], $block_size); + $ciphertext.= $block ^ $key; + } + } else { + for ($i = 0; $i < strlen($plaintext); $i+=$block_size) { + $xor = $this->_encryptBlock($xor); + $ciphertext.= substr($plaintext, $i, $block_size) ^ $xor; + } + $key = $xor; + } + if ($this->continuousBuffer) { + $this->encryptIV = $xor; + if ($start = strlen($plaintext) % $block_size) { + $buffer['xor'] = substr($key, $start) . $buffer['xor']; + } + } + break; + case self::MODE_STREAM: + $ciphertext = $this->_encryptBlock($plaintext); + break; + } + + return $ciphertext; + } + + /** + * Decrypts a message. + * + * If strlen($ciphertext) is not a multiple of the block size, null bytes will be added to the end of the string until + * it is. + * + * @see self::encrypt() + * @access public + * @param string $ciphertext + * @return string $plaintext + * @internal Could, but not must, extend by the child Crypt_* class + */ + function decrypt($ciphertext) + { + if ($this->paddable) { + // we pad with chr(0) since that's what mcrypt_generic does. to quote from {@link http://www.php.net/function.mcrypt-generic}: + // "The data is padded with "\0" to make sure the length of the data is n * blocksize." + $ciphertext = str_pad($ciphertext, strlen($ciphertext) + ($this->block_size - strlen($ciphertext) % $this->block_size) % $this->block_size, chr(0)); + } + + if ($this->engine === self::ENGINE_OPENSSL) { + if ($this->changed) { + $this->_clearBuffers(); + $this->changed = false; + } + switch ($this->mode) { + case self::MODE_STREAM: + $plaintext = openssl_decrypt($ciphertext, $this->cipher_name_openssl, $this->key, $this->openssl_options); + break; + case self::MODE_ECB: + if (!defined('OPENSSL_RAW_DATA')) { + $ciphertext.= openssl_encrypt('', $this->cipher_name_openssl_ecb, $this->key, true); + } + $plaintext = openssl_decrypt($ciphertext, $this->cipher_name_openssl, $this->key, $this->openssl_options); + break; + case self::MODE_CBC: + if (!defined('OPENSSL_RAW_DATA')) { + $padding = str_repeat(chr($this->block_size), $this->block_size) ^ substr($ciphertext, -$this->block_size); + $ciphertext.= substr(openssl_encrypt($padding, $this->cipher_name_openssl_ecb, $this->key, true), 0, $this->block_size); + $offset = 2 * $this->block_size; + } else { + $offset = $this->block_size; + } + $plaintext = openssl_decrypt($ciphertext, $this->cipher_name_openssl, $this->key, $this->openssl_options, $this->decryptIV); + if ($this->continuousBuffer) { + $this->decryptIV = substr($ciphertext, -$offset, $this->block_size); + } + break; + case self::MODE_CTR: + $plaintext = $this->_openssl_ctr_process($ciphertext, $this->decryptIV, $this->debuffer); + break; + case self::MODE_CFB: + // cfb loosely routines inspired by openssl's: + // {@link http://cvs.openssl.org/fileview?f=openssl/crypto/modes/cfb128.c&v=1.3.2.2.2.1} + $plaintext = ''; + if ($this->continuousBuffer) { + $iv = &$this->decryptIV; + $pos = &$this->buffer['pos']; + } else { + $iv = $this->decryptIV; + $pos = 0; + } + $len = strlen($ciphertext); + $i = 0; + if ($pos) { + $orig_pos = $pos; + $max = $this->block_size - $pos; + if ($len >= $max) { + $i = $max; + $len-= $max; + $pos = 0; + } else { + $i = $len; + $pos+= $len; + $len = 0; + } + // ie. $i = min($max, $len), $len-= $i, $pos+= $i, $pos%= $this->blocksize + $plaintext = substr($iv, $orig_pos) ^ $ciphertext; + $iv = substr_replace($iv, substr($ciphertext, 0, $i), $orig_pos, $i); + $ciphertext = substr($ciphertext, $i); + } + $overflow = $len % $this->block_size; + if ($overflow) { + $plaintext.= openssl_decrypt(substr($ciphertext, 0, -$overflow), $this->cipher_name_openssl, $this->key, $this->openssl_options, $iv); + if ($len - $overflow) { + $iv = substr($ciphertext, -$overflow - $this->block_size, -$overflow); + } + $iv = openssl_encrypt(str_repeat("\0", $this->block_size), $this->cipher_name_openssl, $this->key, $this->openssl_options, $iv); + $plaintext.= $iv ^ substr($ciphertext, -$overflow); + $iv = substr_replace($iv, substr($ciphertext, -$overflow), 0, $overflow); + $pos = $overflow; + } elseif ($len) { + $plaintext.= openssl_decrypt($ciphertext, $this->cipher_name_openssl, $this->key, $this->openssl_options, $iv); + $iv = substr($ciphertext, -$this->block_size); + } + break; + case self::MODE_OFB: + $plaintext = $this->_openssl_ofb_process($ciphertext, $this->decryptIV, $this->debuffer); + } + + return $this->paddable ? $this->_unpad($plaintext) : $plaintext; + } + + if ($this->engine === self::ENGINE_MCRYPT) { + $block_size = $this->block_size; + if ($this->changed) { + $this->_setupMcrypt(); + $this->changed = false; + } + if ($this->dechanged) { + @mcrypt_generic_init($this->demcrypt, $this->key, $this->decryptIV); + $this->dechanged = false; + } + + if ($this->mode == self::MODE_CFB && $this->continuousBuffer) { + $iv = &$this->decryptIV; + $pos = &$this->debuffer['pos']; + $len = strlen($ciphertext); + $plaintext = ''; + $i = 0; + if ($pos) { + $orig_pos = $pos; + $max = $block_size - $pos; + if ($len >= $max) { + $i = $max; + $len-= $max; + $pos = 0; + } else { + $i = $len; + $pos+= $len; + $len = 0; + } + // ie. $i = min($max, $len), $len-= $i, $pos+= $i, $pos%= $blocksize + $plaintext = substr($iv, $orig_pos) ^ $ciphertext; + $iv = substr_replace($iv, substr($ciphertext, 0, $i), $orig_pos, $i); + } + if ($len >= $block_size) { + $cb = substr($ciphertext, $i, $len - $len % $block_size); + $plaintext.= @mcrypt_generic($this->ecb, $iv . $cb) ^ $cb; + $iv = substr($cb, -$block_size); + $len%= $block_size; + } + if ($len) { + $iv = @mcrypt_generic($this->ecb, $iv); + $plaintext.= $iv ^ substr($ciphertext, -$len); + $iv = substr_replace($iv, substr($ciphertext, -$len), 0, $len); + $pos = $len; + } + + return $plaintext; + } + + $plaintext = @mdecrypt_generic($this->demcrypt, $ciphertext); + + if (!$this->continuousBuffer) { + @mcrypt_generic_init($this->demcrypt, $this->key, $this->decryptIV); + } + + return $this->paddable ? $this->_unpad($plaintext) : $plaintext; + } + + if ($this->changed) { + $this->_setup(); + $this->changed = false; + } + if ($this->use_inline_crypt) { + $inline = $this->inline_crypt; + return $inline('decrypt', $this, $ciphertext); + } + + $block_size = $this->block_size; + + $buffer = &$this->debuffer; + $plaintext = ''; + switch ($this->mode) { + case self::MODE_ECB: + for ($i = 0; $i < strlen($ciphertext); $i+=$block_size) { + $plaintext.= $this->_decryptBlock(substr($ciphertext, $i, $block_size)); + } + break; + case self::MODE_CBC: + $xor = $this->decryptIV; + for ($i = 0; $i < strlen($ciphertext); $i+=$block_size) { + $block = substr($ciphertext, $i, $block_size); + $plaintext.= $this->_decryptBlock($block) ^ $xor; + $xor = $block; + } + if ($this->continuousBuffer) { + $this->decryptIV = $xor; + } + break; + case self::MODE_CTR: + $xor = $this->decryptIV; + if (strlen($buffer['ciphertext'])) { + for ($i = 0; $i < strlen($ciphertext); $i+=$block_size) { + $block = substr($ciphertext, $i, $block_size); + if (strlen($block) > strlen($buffer['ciphertext'])) { + $buffer['ciphertext'].= $this->_encryptBlock($xor); + $this->_increment_str($xor); + } + $key = $this->_string_shift($buffer['ciphertext'], $block_size); + $plaintext.= $block ^ $key; + } + } else { + for ($i = 0; $i < strlen($ciphertext); $i+=$block_size) { + $block = substr($ciphertext, $i, $block_size); + $key = $this->_encryptBlock($xor); + $this->_increment_str($xor); + $plaintext.= $block ^ $key; + } + } + if ($this->continuousBuffer) { + $this->decryptIV = $xor; + if ($start = strlen($ciphertext) % $block_size) { + $buffer['ciphertext'] = substr($key, $start) . $buffer['ciphertext']; + } + } + break; + case self::MODE_CFB: + if ($this->continuousBuffer) { + $iv = &$this->decryptIV; + $pos = &$buffer['pos']; + } else { + $iv = $this->decryptIV; + $pos = 0; + } + $len = strlen($ciphertext); + $i = 0; + if ($pos) { + $orig_pos = $pos; + $max = $block_size - $pos; + if ($len >= $max) { + $i = $max; + $len-= $max; + $pos = 0; + } else { + $i = $len; + $pos+= $len; + $len = 0; + } + // ie. $i = min($max, $len), $len-= $i, $pos+= $i, $pos%= $blocksize + $plaintext = substr($iv, $orig_pos) ^ $ciphertext; + $iv = substr_replace($iv, substr($ciphertext, 0, $i), $orig_pos, $i); + } + while ($len >= $block_size) { + $iv = $this->_encryptBlock($iv); + $cb = substr($ciphertext, $i, $block_size); + $plaintext.= $iv ^ $cb; + $iv = $cb; + $len-= $block_size; + $i+= $block_size; + } + if ($len) { + $iv = $this->_encryptBlock($iv); + $plaintext.= $iv ^ substr($ciphertext, $i); + $iv = substr_replace($iv, substr($ciphertext, $i), 0, $len); + $pos = $len; + } + break; + case self::MODE_OFB: + $xor = $this->decryptIV; + if (strlen($buffer['xor'])) { + for ($i = 0; $i < strlen($ciphertext); $i+=$block_size) { + $block = substr($ciphertext, $i, $block_size); + if (strlen($block) > strlen($buffer['xor'])) { + $xor = $this->_encryptBlock($xor); + $buffer['xor'].= $xor; + } + $key = $this->_string_shift($buffer['xor'], $block_size); + $plaintext.= $block ^ $key; + } + } else { + for ($i = 0; $i < strlen($ciphertext); $i+=$block_size) { + $xor = $this->_encryptBlock($xor); + $plaintext.= substr($ciphertext, $i, $block_size) ^ $xor; + } + $key = $xor; + } + if ($this->continuousBuffer) { + $this->decryptIV = $xor; + if ($start = strlen($ciphertext) % $block_size) { + $buffer['xor'] = substr($key, $start) . $buffer['xor']; + } + } + break; + case self::MODE_STREAM: + $plaintext = $this->_decryptBlock($ciphertext); + break; + } + return $this->paddable ? $this->_unpad($plaintext) : $plaintext; + } + + /** + * OpenSSL CTR Processor + * + * PHP's OpenSSL bindings do not operate in continuous mode so we'll wrap around it. Since the keystream + * for CTR is the same for both encrypting and decrypting this function is re-used by both Base::encrypt() + * and Base::decrypt(). Also, OpenSSL doesn't implement CTR for all of it's symmetric ciphers so this + * function will emulate CTR with ECB when necessary. + * + * @see self::encrypt() + * @see self::decrypt() + * @param string $plaintext + * @param string $encryptIV + * @param array $buffer + * @return string + * @access private + */ + function _openssl_ctr_process($plaintext, &$encryptIV, &$buffer) + { + $ciphertext = ''; + + $block_size = $this->block_size; + $key = $this->key; + + if ($this->openssl_emulate_ctr) { + $xor = $encryptIV; + if (strlen($buffer['ciphertext'])) { + for ($i = 0; $i < strlen($plaintext); $i+=$block_size) { + $block = substr($plaintext, $i, $block_size); + if (strlen($block) > strlen($buffer['ciphertext'])) { + $result = openssl_encrypt($xor, $this->cipher_name_openssl_ecb, $key, $this->openssl_options); + $result = !defined('OPENSSL_RAW_DATA') ? substr($result, 0, -$this->block_size) : $result; + $buffer['ciphertext'].= $result; + } + $this->_increment_str($xor); + $otp = $this->_string_shift($buffer['ciphertext'], $block_size); + $ciphertext.= $block ^ $otp; + } + } else { + for ($i = 0; $i < strlen($plaintext); $i+=$block_size) { + $block = substr($plaintext, $i, $block_size); + $otp = openssl_encrypt($xor, $this->cipher_name_openssl_ecb, $key, $this->openssl_options); + $otp = !defined('OPENSSL_RAW_DATA') ? substr($otp, 0, -$this->block_size) : $otp; + $this->_increment_str($xor); + $ciphertext.= $block ^ $otp; + } + } + if ($this->continuousBuffer) { + $encryptIV = $xor; + if ($start = strlen($plaintext) % $block_size) { + $buffer['ciphertext'] = substr($key, $start) . $buffer['ciphertext']; + } + } + + return $ciphertext; + } + + if (strlen($buffer['ciphertext'])) { + $ciphertext = $plaintext ^ $this->_string_shift($buffer['ciphertext'], strlen($plaintext)); + $plaintext = substr($plaintext, strlen($ciphertext)); + + if (!strlen($plaintext)) { + return $ciphertext; + } + } + + $overflow = strlen($plaintext) % $block_size; + if ($overflow) { + $plaintext2 = $this->_string_pop($plaintext, $overflow); // ie. trim $plaintext to a multiple of $block_size and put rest of $plaintext in $plaintext2 + $encrypted = openssl_encrypt($plaintext . str_repeat("\0", $block_size), $this->cipher_name_openssl, $key, $this->openssl_options, $encryptIV); + $temp = $this->_string_pop($encrypted, $block_size); + $ciphertext.= $encrypted . ($plaintext2 ^ $temp); + if ($this->continuousBuffer) { + $buffer['ciphertext'] = substr($temp, $overflow); + $encryptIV = $temp; + } + } elseif (!strlen($buffer['ciphertext'])) { + $ciphertext.= openssl_encrypt($plaintext . str_repeat("\0", $block_size), $this->cipher_name_openssl, $key, $this->openssl_options, $encryptIV); + $temp = $this->_string_pop($ciphertext, $block_size); + if ($this->continuousBuffer) { + $encryptIV = $temp; + } + } + if ($this->continuousBuffer) { + if (!defined('OPENSSL_RAW_DATA')) { + $encryptIV.= openssl_encrypt('', $this->cipher_name_openssl_ecb, $key, $this->openssl_options); + } + $encryptIV = openssl_decrypt($encryptIV, $this->cipher_name_openssl_ecb, $key, $this->openssl_options); + if ($overflow) { + $this->_increment_str($encryptIV); + } + } + + return $ciphertext; + } + + /** + * OpenSSL OFB Processor + * + * PHP's OpenSSL bindings do not operate in continuous mode so we'll wrap around it. Since the keystream + * for OFB is the same for both encrypting and decrypting this function is re-used by both Base::encrypt() + * and Base::decrypt(). + * + * @see self::encrypt() + * @see self::decrypt() + * @param string $plaintext + * @param string $encryptIV + * @param array $buffer + * @return string + * @access private + */ + function _openssl_ofb_process($plaintext, &$encryptIV, &$buffer) + { + if (strlen($buffer['xor'])) { + $ciphertext = $plaintext ^ $buffer['xor']; + $buffer['xor'] = substr($buffer['xor'], strlen($ciphertext)); + $plaintext = substr($plaintext, strlen($ciphertext)); + } else { + $ciphertext = ''; + } + + $block_size = $this->block_size; + + $len = strlen($plaintext); + $key = $this->key; + $overflow = $len % $block_size; + + if (strlen($plaintext)) { + if ($overflow) { + $ciphertext.= openssl_encrypt(substr($plaintext, 0, -$overflow) . str_repeat("\0", $block_size), $this->cipher_name_openssl, $key, $this->openssl_options, $encryptIV); + $xor = $this->_string_pop($ciphertext, $block_size); + if ($this->continuousBuffer) { + $encryptIV = $xor; + } + $ciphertext.= $this->_string_shift($xor, $overflow) ^ substr($plaintext, -$overflow); + if ($this->continuousBuffer) { + $buffer['xor'] = $xor; + } + } else { + $ciphertext = openssl_encrypt($plaintext, $this->cipher_name_openssl, $key, $this->openssl_options, $encryptIV); + if ($this->continuousBuffer) { + $encryptIV = substr($ciphertext, -$block_size) ^ substr($plaintext, -$block_size); + } + } + } + + return $ciphertext; + } + + /** + * phpseclib <-> OpenSSL Mode Mapper + * + * May need to be overwritten by classes extending this one in some cases + * + * @return int + * @access private + */ + function _openssl_translate_mode() + { + switch ($this->mode) { + case self::MODE_ECB: + return 'ecb'; + case self::MODE_CBC: + return 'cbc'; + case self::MODE_CTR: + return 'ctr'; + case self::MODE_CFB: + return 'cfb'; + case self::MODE_OFB: + return 'ofb'; + } + } + + /** + * Pad "packets". + * + * Block ciphers working by encrypting between their specified [$this->]block_size at a time + * If you ever need to encrypt or decrypt something that isn't of the proper length, it becomes necessary to + * pad the input so that it is of the proper length. + * + * Padding is enabled by default. Sometimes, however, it is undesirable to pad strings. Such is the case in SSH, + * where "packets" are padded with random bytes before being encrypted. Unpad these packets and you risk stripping + * away characters that shouldn't be stripped away. (SSH knows how many bytes are added because the length is + * transmitted separately) + * + * @see self::disablePadding() + * @access public + */ + function enablePadding() + { + $this->padding = true; + } + + /** + * Do not pad packets. + * + * @see self::enablePadding() + * @access public + */ + function disablePadding() + { + $this->padding = false; + } + + /** + * Treat consecutive "packets" as if they are a continuous buffer. + * + * Say you have a 32-byte plaintext $plaintext. Using the default behavior, the two following code snippets + * will yield different outputs: + * + * <code> + * echo $rijndael->encrypt(substr($plaintext, 0, 16)); + * echo $rijndael->encrypt(substr($plaintext, 16, 16)); + * </code> + * <code> + * echo $rijndael->encrypt($plaintext); + * </code> + * + * The solution is to enable the continuous buffer. Although this will resolve the above discrepancy, it creates + * another, as demonstrated with the following: + * + * <code> + * $rijndael->encrypt(substr($plaintext, 0, 16)); + * echo $rijndael->decrypt($rijndael->encrypt(substr($plaintext, 16, 16))); + * </code> + * <code> + * echo $rijndael->decrypt($rijndael->encrypt(substr($plaintext, 16, 16))); + * </code> + * + * With the continuous buffer disabled, these would yield the same output. With it enabled, they yield different + * outputs. The reason is due to the fact that the initialization vector's change after every encryption / + * decryption round when the continuous buffer is enabled. When it's disabled, they remain constant. + * + * Put another way, when the continuous buffer is enabled, the state of the \phpseclib\Crypt\*() object changes after each + * encryption / decryption round, whereas otherwise, it'd remain constant. For this reason, it's recommended that + * continuous buffers not be used. They do offer better security and are, in fact, sometimes required (SSH uses them), + * however, they are also less intuitive and more likely to cause you problems. + * + * @see self::disableContinuousBuffer() + * @access public + * @internal Could, but not must, extend by the child Crypt_* class + */ + function enableContinuousBuffer() + { + if ($this->mode == self::MODE_ECB) { + return; + } + + $this->continuousBuffer = true; + + $this->_setEngine(); + } + + /** + * Treat consecutive packets as if they are a discontinuous buffer. + * + * The default behavior. + * + * @see self::enableContinuousBuffer() + * @access public + * @internal Could, but not must, extend by the child Crypt_* class + */ + function disableContinuousBuffer() + { + if ($this->mode == self::MODE_ECB) { + return; + } + if (!$this->continuousBuffer) { + return; + } + + $this->continuousBuffer = false; + $this->changed = true; + + $this->_setEngine(); + } + + /** + * Test for engine validity + * + * @see self::__construct() + * @param int $engine + * @access public + * @return bool + */ + function isValidEngine($engine) + { + switch ($engine) { + case self::ENGINE_OPENSSL: + if ($this->mode == self::MODE_STREAM && $this->continuousBuffer) { + return false; + } + $this->openssl_emulate_ctr = false; + $result = $this->cipher_name_openssl && + extension_loaded('openssl') && + // PHP 5.3.0 - 5.3.2 did not let you set IV's + version_compare(PHP_VERSION, '5.3.3', '>='); + if (!$result) { + return false; + } + + // prior to PHP 5.4.0 OPENSSL_RAW_DATA and OPENSSL_ZERO_PADDING were not defined. instead of expecting an integer + // $options openssl_encrypt expected a boolean $raw_data. + if (!defined('OPENSSL_RAW_DATA')) { + $this->openssl_options = true; + } else { + $this->openssl_options = OPENSSL_RAW_DATA | OPENSSL_ZERO_PADDING; + } + + $methods = openssl_get_cipher_methods(); + if (in_array($this->cipher_name_openssl, $methods)) { + return true; + } + // not all of openssl's symmetric cipher's support ctr. for those + // that don't we'll emulate it + switch ($this->mode) { + case self::MODE_CTR: + if (in_array($this->cipher_name_openssl_ecb, $methods)) { + $this->openssl_emulate_ctr = true; + return true; + } + } + return false; + case self::ENGINE_MCRYPT: + return $this->cipher_name_mcrypt && + extension_loaded('mcrypt') && + in_array($this->cipher_name_mcrypt, @mcrypt_list_algorithms()); + case self::ENGINE_INTERNAL: + return true; + } + + return false; + } + + /** + * Sets the preferred crypt engine + * + * Currently, $engine could be: + * + * - \phpseclib\Crypt\Base::ENGINE_OPENSSL [very fast] + * + * - \phpseclib\Crypt\Base::ENGINE_MCRYPT [fast] + * + * - \phpseclib\Crypt\Base::ENGINE_INTERNAL [slow] + * + * If the preferred crypt engine is not available the fastest available one will be used + * + * @see self::__construct() + * @param int $engine + * @access public + */ + function setPreferredEngine($engine) + { + switch ($engine) { + //case self::ENGINE_OPENSSL; + case self::ENGINE_MCRYPT: + case self::ENGINE_INTERNAL: + $this->preferredEngine = $engine; + break; + default: + $this->preferredEngine = self::ENGINE_OPENSSL; + } + + $this->_setEngine(); + } + + /** + * Returns the engine currently being utilized + * + * @see self::_setEngine() + * @access public + */ + function getEngine() + { + return $this->engine; + } + + /** + * Sets the engine as appropriate + * + * @see self::__construct() + * @access private + */ + function _setEngine() + { + $this->engine = null; + + $candidateEngines = array( + $this->preferredEngine, + self::ENGINE_OPENSSL, + self::ENGINE_MCRYPT + ); + foreach ($candidateEngines as $engine) { + if ($this->isValidEngine($engine)) { + $this->engine = $engine; + break; + } + } + if (!$this->engine) { + $this->engine = self::ENGINE_INTERNAL; + } + + if ($this->engine != self::ENGINE_MCRYPT && $this->enmcrypt) { + // Closing the current mcrypt resource(s). _mcryptSetup() will, if needed, + // (re)open them with the module named in $this->cipher_name_mcrypt + @mcrypt_module_close($this->enmcrypt); + @mcrypt_module_close($this->demcrypt); + $this->enmcrypt = null; + $this->demcrypt = null; + + if ($this->ecb) { + @mcrypt_module_close($this->ecb); + $this->ecb = null; + } + } + + $this->changed = true; + } + + /** + * Encrypts a block + * + * Note: Must be extended by the child \phpseclib\Crypt\* class + * + * @access private + * @param string $in + * @return string + */ + abstract function _encryptBlock($in); + + /** + * Decrypts a block + * + * Note: Must be extended by the child \phpseclib\Crypt\* class + * + * @access private + * @param string $in + * @return string + */ + abstract function _decryptBlock($in); + + /** + * Setup the key (expansion) + * + * Only used if $engine == self::ENGINE_INTERNAL + * + * Note: Must extend by the child \phpseclib\Crypt\* class + * + * @see self::_setup() + * @access private + */ + abstract function _setupKey(); + + /** + * Setup the self::ENGINE_INTERNAL $engine + * + * (re)init, if necessary, the internal cipher $engine and flush all $buffers + * Used (only) if $engine == self::ENGINE_INTERNAL + * + * _setup() will be called each time if $changed === true + * typically this happens when using one or more of following public methods: + * + * - setKey() + * + * - setIV() + * + * - disableContinuousBuffer() + * + * - First run of encrypt() / decrypt() with no init-settings + * + * @see self::setKey() + * @see self::setIV() + * @see self::disableContinuousBuffer() + * @access private + * @internal _setup() is always called before en/decryption. + * @internal Could, but not must, extend by the child Crypt_* class + */ + function _setup() + { + $this->_clearBuffers(); + $this->_setupKey(); + + if ($this->use_inline_crypt) { + $this->_setupInlineCrypt(); + } + } + + /** + * Setup the self::ENGINE_MCRYPT $engine + * + * (re)init, if necessary, the (ext)mcrypt resources and flush all $buffers + * Used (only) if $engine = self::ENGINE_MCRYPT + * + * _setupMcrypt() will be called each time if $changed === true + * typically this happens when using one or more of following public methods: + * + * - setKey() + * + * - setIV() + * + * - disableContinuousBuffer() + * + * - First run of encrypt() / decrypt() + * + * @see self::setKey() + * @see self::setIV() + * @see self::disableContinuousBuffer() + * @access private + * @internal Could, but not must, extend by the child Crypt_* class + */ + function _setupMcrypt() + { + $this->_clearBuffers(); + $this->enchanged = $this->dechanged = true; + + if (!isset($this->enmcrypt)) { + static $mcrypt_modes = array( + self::MODE_CTR => 'ctr', + self::MODE_ECB => MCRYPT_MODE_ECB, + self::MODE_CBC => MCRYPT_MODE_CBC, + self::MODE_CFB => 'ncfb', + self::MODE_OFB => MCRYPT_MODE_NOFB, + self::MODE_STREAM => MCRYPT_MODE_STREAM, + ); + + $this->demcrypt = @mcrypt_module_open($this->cipher_name_mcrypt, '', $mcrypt_modes[$this->mode], ''); + $this->enmcrypt = @mcrypt_module_open($this->cipher_name_mcrypt, '', $mcrypt_modes[$this->mode], ''); + + // we need the $ecb mcrypt resource (only) in MODE_CFB with enableContinuousBuffer() + // to workaround mcrypt's broken ncfb implementation in buffered mode + // see: {@link http://phpseclib.sourceforge.net/cfb-demo.phps} + if ($this->mode == self::MODE_CFB) { + $this->ecb = @mcrypt_module_open($this->cipher_name_mcrypt, '', MCRYPT_MODE_ECB, ''); + } + } // else should mcrypt_generic_deinit be called? + + if ($this->mode == self::MODE_CFB) { + @mcrypt_generic_init($this->ecb, $this->key, str_repeat("\0", $this->block_size)); + } + } + + /** + * Pads a string + * + * Pads a string using the RSA PKCS padding standards so that its length is a multiple of the blocksize. + * $this->block_size - (strlen($text) % $this->block_size) bytes are added, each of which is equal to + * chr($this->block_size - (strlen($text) % $this->block_size) + * + * If padding is disabled and $text is not a multiple of the blocksize, the string will be padded regardless + * and padding will, hence forth, be enabled. + * + * @see self::_unpad() + * @param string $text + * @access private + * @return string + */ + function _pad($text) + { + $length = strlen($text); + + if (!$this->padding) { + if ($length % $this->block_size == 0) { + return $text; + } else { + user_error("The plaintext's length ($length) is not a multiple of the block size ({$this->block_size})"); + $this->padding = true; + } + } + + $pad = $this->block_size - ($length % $this->block_size); + + return str_pad($text, $length + $pad, chr($pad)); + } + + /** + * Unpads a string. + * + * If padding is enabled and the reported padding length is invalid the encryption key will be assumed to be wrong + * and false will be returned. + * + * @see self::_pad() + * @param string $text + * @access private + * @return string + */ + function _unpad($text) + { + if (!$this->padding) { + return $text; + } + + $length = ord($text[strlen($text) - 1]); + + if (!$length || $length > $this->block_size) { + return false; + } + + return substr($text, 0, -$length); + } + + /** + * Clears internal buffers + * + * Clearing/resetting the internal buffers is done everytime + * after disableContinuousBuffer() or on cipher $engine (re)init + * ie after setKey() or setIV() + * + * @access public + * @internal Could, but not must, extend by the child Crypt_* class + */ + function _clearBuffers() + { + $this->enbuffer = $this->debuffer = array('ciphertext' => '', 'xor' => '', 'pos' => 0, 'enmcrypt_init' => true); + + // mcrypt's handling of invalid's $iv: + // $this->encryptIV = $this->decryptIV = strlen($this->iv) == $this->block_size ? $this->iv : str_repeat("\0", $this->block_size); + $this->encryptIV = $this->decryptIV = str_pad(substr($this->iv, 0, $this->block_size), $this->block_size, "\0"); + + if (!$this->skip_key_adjustment) { + $this->key = str_pad(substr($this->key, 0, $this->key_length), $this->key_length, "\0"); + } + } + + /** + * String Shift + * + * Inspired by array_shift + * + * @param string $string + * @param int $index + * @access private + * @return string + */ + function _string_shift(&$string, $index = 1) + { + $substr = substr($string, 0, $index); + $string = substr($string, $index); + return $substr; + } + + /** + * String Pop + * + * Inspired by array_pop + * + * @param string $string + * @param int $index + * @access private + * @return string + */ + function _string_pop(&$string, $index = 1) + { + $substr = substr($string, -$index); + $string = substr($string, 0, -$index); + return $substr; + } + + /** + * Increment the current string + * + * @see self::decrypt() + * @see self::encrypt() + * @param string $var + * @access private + */ + function _increment_str(&$var) + { + for ($i = 4; $i <= strlen($var); $i+= 4) { + $temp = substr($var, -$i, 4); + switch ($temp) { + case "\xFF\xFF\xFF\xFF": + $var = substr_replace($var, "\x00\x00\x00\x00", -$i, 4); + break; + case "\x7F\xFF\xFF\xFF": + $var = substr_replace($var, "\x80\x00\x00\x00", -$i, 4); + return; + default: + $temp = unpack('Nnum', $temp); + $var = substr_replace($var, pack('N', $temp['num'] + 1), -$i, 4); + return; + } + } + + $remainder = strlen($var) % 4; + + if ($remainder == 0) { + return; + } + + $temp = unpack('Nnum', str_pad(substr($var, 0, $remainder), 4, "\0", STR_PAD_LEFT)); + $temp = substr(pack('N', $temp['num'] + 1), -$remainder); + $var = substr_replace($var, $temp, 0, $remainder); + } + + /** + * Setup the performance-optimized function for de/encrypt() + * + * Stores the created (or existing) callback function-name + * in $this->inline_crypt + * + * Internally for phpseclib developers: + * + * _setupInlineCrypt() would be called only if: + * + * - $engine == self::ENGINE_INTERNAL and + * + * - $use_inline_crypt === true + * + * - each time on _setup(), after(!) _setupKey() + * + * + * This ensures that _setupInlineCrypt() has always a + * full ready2go initializated internal cipher $engine state + * where, for example, the keys allready expanded, + * keys/block_size calculated and such. + * + * It is, each time if called, the responsibility of _setupInlineCrypt(): + * + * - to set $this->inline_crypt to a valid and fully working callback function + * as a (faster) replacement for encrypt() / decrypt() + * + * - NOT to create unlimited callback functions (for memory reasons!) + * no matter how often _setupInlineCrypt() would be called. At some + * point of amount they must be generic re-useable. + * + * - the code of _setupInlineCrypt() it self, + * and the generated callback code, + * must be, in following order: + * - 100% safe + * - 100% compatible to encrypt()/decrypt() + * - using only php5+ features/lang-constructs/php-extensions if + * compatibility (down to php4) or fallback is provided + * - readable/maintainable/understandable/commented and... not-cryptic-styled-code :-) + * - >= 10% faster than encrypt()/decrypt() [which is, by the way, + * the reason for the existence of _setupInlineCrypt() :-)] + * - memory-nice + * - short (as good as possible) + * + * Note: - _setupInlineCrypt() is using _createInlineCryptFunction() to create the full callback function code. + * - In case of using inline crypting, _setupInlineCrypt() must extend by the child \phpseclib\Crypt\* class. + * - The following variable names are reserved: + * - $_* (all variable names prefixed with an underscore) + * - $self (object reference to it self. Do not use $this, but $self instead) + * - $in (the content of $in has to en/decrypt by the generated code) + * - The callback function should not use the 'return' statement, but en/decrypt'ing the content of $in only + * + * + * @see self::_setup() + * @see self::_createInlineCryptFunction() + * @see self::encrypt() + * @see self::decrypt() + * @access private + * @internal If a Crypt_* class providing inline crypting it must extend _setupInlineCrypt() + */ + function _setupInlineCrypt() + { + // If, for any reason, an extending \phpseclib\Crypt\Base() \phpseclib\Crypt\* class + // not using inline crypting then it must be ensured that: $this->use_inline_crypt = false + // ie in the class var declaration of $use_inline_crypt in general for the \phpseclib\Crypt\* class, + // in the constructor at object instance-time + // or, if it's runtime-specific, at runtime + + $this->use_inline_crypt = false; + } + + /** + * Creates the performance-optimized function for en/decrypt() + * + * Internally for phpseclib developers: + * + * _createInlineCryptFunction(): + * + * - merge the $cipher_code [setup'ed by _setupInlineCrypt()] + * with the current [$this->]mode of operation code + * + * - create the $inline function, which called by encrypt() / decrypt() + * as its replacement to speed up the en/decryption operations. + * + * - return the name of the created $inline callback function + * + * - used to speed up en/decryption + * + * + * + * The main reason why can speed up things [up to 50%] this way are: + * + * - using variables more effective then regular. + * (ie no use of expensive arrays but integers $k_0, $k_1 ... + * or even, for example, the pure $key[] values hardcoded) + * + * - avoiding 1000's of function calls of ie _encryptBlock() + * but inlining the crypt operations. + * in the mode of operation for() loop. + * + * - full loop unroll the (sometimes key-dependent) rounds + * avoiding this way ++$i counters and runtime-if's etc... + * + * The basic code architectur of the generated $inline en/decrypt() + * lambda function, in pseudo php, is: + * + * <code> + * +----------------------------------------------------------------------------------------------+ + * | callback $inline = create_function: | + * | lambda_function_0001_crypt_ECB($action, $text) | + * | { | + * | INSERT PHP CODE OF: | + * | $cipher_code['init_crypt']; // general init code. | + * | // ie: $sbox'es declarations used for | + * | // encrypt and decrypt'ing. | + * | | + * | switch ($action) { | + * | case 'encrypt': | + * | INSERT PHP CODE OF: | + * | $cipher_code['init_encrypt']; // encrypt sepcific init code. | + * | ie: specified $key or $box | + * | declarations for encrypt'ing. | + * | | + * | foreach ($ciphertext) { | + * | $in = $block_size of $ciphertext; | + * | | + * | INSERT PHP CODE OF: | + * | $cipher_code['encrypt_block']; // encrypt's (string) $in, which is always: | + * | // strlen($in) == $this->block_size | + * | // here comes the cipher algorithm in action | + * | // for encryption. | + * | // $cipher_code['encrypt_block'] has to | + * | // encrypt the content of the $in variable | + * | | + * | $plaintext .= $in; | + * | } | + * | return $plaintext; | + * | | + * | case 'decrypt': | + * | INSERT PHP CODE OF: | + * | $cipher_code['init_decrypt']; // decrypt sepcific init code | + * | ie: specified $key or $box | + * | declarations for decrypt'ing. | + * | foreach ($plaintext) { | + * | $in = $block_size of $plaintext; | + * | | + * | INSERT PHP CODE OF: | + * | $cipher_code['decrypt_block']; // decrypt's (string) $in, which is always | + * | // strlen($in) == $this->block_size | + * | // here comes the cipher algorithm in action | + * | // for decryption. | + * | // $cipher_code['decrypt_block'] has to | + * | // decrypt the content of the $in variable | + * | $ciphertext .= $in; | + * | } | + * | return $ciphertext; | + * | } | + * | } | + * +----------------------------------------------------------------------------------------------+ + * </code> + * + * See also the \phpseclib\Crypt\*::_setupInlineCrypt()'s for + * productive inline $cipher_code's how they works. + * + * Structure of: + * <code> + * $cipher_code = array( + * 'init_crypt' => (string) '', // optional + * 'init_encrypt' => (string) '', // optional + * 'init_decrypt' => (string) '', // optional + * 'encrypt_block' => (string) '', // required + * 'decrypt_block' => (string) '' // required + * ); + * </code> + * + * @see self::_setupInlineCrypt() + * @see self::encrypt() + * @see self::decrypt() + * @param array $cipher_code + * @access private + * @return string (the name of the created callback function) + */ + function _createInlineCryptFunction($cipher_code) + { + $block_size = $this->block_size; + + // optional + $init_crypt = isset($cipher_code['init_crypt']) ? $cipher_code['init_crypt'] : ''; + $init_encrypt = isset($cipher_code['init_encrypt']) ? $cipher_code['init_encrypt'] : ''; + $init_decrypt = isset($cipher_code['init_decrypt']) ? $cipher_code['init_decrypt'] : ''; + // required + $encrypt_block = $cipher_code['encrypt_block']; + $decrypt_block = $cipher_code['decrypt_block']; + + // Generating mode of operation inline code, + // merged with the $cipher_code algorithm + // for encrypt- and decryption. + switch ($this->mode) { + case self::MODE_ECB: + $encrypt = $init_encrypt . ' + $_ciphertext = ""; + $_plaintext_len = strlen($_text); + + for ($_i = 0; $_i < $_plaintext_len; $_i+= '.$block_size.') { + $in = substr($_text, $_i, '.$block_size.'); + '.$encrypt_block.' + $_ciphertext.= $in; + } + + return $_ciphertext; + '; + + $decrypt = $init_decrypt . ' + $_plaintext = ""; + $_text = str_pad($_text, strlen($_text) + ('.$block_size.' - strlen($_text) % '.$block_size.') % '.$block_size.', chr(0)); + $_ciphertext_len = strlen($_text); + + for ($_i = 0; $_i < $_ciphertext_len; $_i+= '.$block_size.') { + $in = substr($_text, $_i, '.$block_size.'); + '.$decrypt_block.' + $_plaintext.= $in; + } + + return $self->_unpad($_plaintext); + '; + break; + case self::MODE_CTR: + $encrypt = $init_encrypt . ' + $_ciphertext = ""; + $_plaintext_len = strlen($_text); + $_xor = $self->encryptIV; + $_buffer = &$self->enbuffer; + if (strlen($_buffer["ciphertext"])) { + for ($_i = 0; $_i < $_plaintext_len; $_i+= '.$block_size.') { + $_block = substr($_text, $_i, '.$block_size.'); + if (strlen($_block) > strlen($_buffer["ciphertext"])) { + $in = $_xor; + '.$encrypt_block.' + $self->_increment_str($_xor); + $_buffer["ciphertext"].= $in; + } + $_key = $self->_string_shift($_buffer["ciphertext"], '.$block_size.'); + $_ciphertext.= $_block ^ $_key; + } + } else { + for ($_i = 0; $_i < $_plaintext_len; $_i+= '.$block_size.') { + $_block = substr($_text, $_i, '.$block_size.'); + $in = $_xor; + '.$encrypt_block.' + $self->_increment_str($_xor); + $_key = $in; + $_ciphertext.= $_block ^ $_key; + } + } + if ($self->continuousBuffer) { + $self->encryptIV = $_xor; + if ($_start = $_plaintext_len % '.$block_size.') { + $_buffer["ciphertext"] = substr($_key, $_start) . $_buffer["ciphertext"]; + } + } + + return $_ciphertext; + '; + + $decrypt = $init_encrypt . ' + $_plaintext = ""; + $_ciphertext_len = strlen($_text); + $_xor = $self->decryptIV; + $_buffer = &$self->debuffer; + + if (strlen($_buffer["ciphertext"])) { + for ($_i = 0; $_i < $_ciphertext_len; $_i+= '.$block_size.') { + $_block = substr($_text, $_i, '.$block_size.'); + if (strlen($_block) > strlen($_buffer["ciphertext"])) { + $in = $_xor; + '.$encrypt_block.' + $self->_increment_str($_xor); + $_buffer["ciphertext"].= $in; + } + $_key = $self->_string_shift($_buffer["ciphertext"], '.$block_size.'); + $_plaintext.= $_block ^ $_key; + } + } else { + for ($_i = 0; $_i < $_ciphertext_len; $_i+= '.$block_size.') { + $_block = substr($_text, $_i, '.$block_size.'); + $in = $_xor; + '.$encrypt_block.' + $self->_increment_str($_xor); + $_key = $in; + $_plaintext.= $_block ^ $_key; + } + } + if ($self->continuousBuffer) { + $self->decryptIV = $_xor; + if ($_start = $_ciphertext_len % '.$block_size.') { + $_buffer["ciphertext"] = substr($_key, $_start) . $_buffer["ciphertext"]; + } + } + + return $_plaintext; + '; + break; + case self::MODE_CFB: + $encrypt = $init_encrypt . ' + $_ciphertext = ""; + $_buffer = &$self->enbuffer; + + if ($self->continuousBuffer) { + $_iv = &$self->encryptIV; + $_pos = &$_buffer["pos"]; + } else { + $_iv = $self->encryptIV; + $_pos = 0; + } + $_len = strlen($_text); + $_i = 0; + if ($_pos) { + $_orig_pos = $_pos; + $_max = '.$block_size.' - $_pos; + if ($_len >= $_max) { + $_i = $_max; + $_len-= $_max; + $_pos = 0; + } else { + $_i = $_len; + $_pos+= $_len; + $_len = 0; + } + $_ciphertext = substr($_iv, $_orig_pos) ^ $_text; + $_iv = substr_replace($_iv, $_ciphertext, $_orig_pos, $_i); + } + while ($_len >= '.$block_size.') { + $in = $_iv; + '.$encrypt_block.'; + $_iv = $in ^ substr($_text, $_i, '.$block_size.'); + $_ciphertext.= $_iv; + $_len-= '.$block_size.'; + $_i+= '.$block_size.'; + } + if ($_len) { + $in = $_iv; + '.$encrypt_block.' + $_iv = $in; + $_block = $_iv ^ substr($_text, $_i); + $_iv = substr_replace($_iv, $_block, 0, $_len); + $_ciphertext.= $_block; + $_pos = $_len; + } + return $_ciphertext; + '; + + $decrypt = $init_encrypt . ' + $_plaintext = ""; + $_buffer = &$self->debuffer; + + if ($self->continuousBuffer) { + $_iv = &$self->decryptIV; + $_pos = &$_buffer["pos"]; + } else { + $_iv = $self->decryptIV; + $_pos = 0; + } + $_len = strlen($_text); + $_i = 0; + if ($_pos) { + $_orig_pos = $_pos; + $_max = '.$block_size.' - $_pos; + if ($_len >= $_max) { + $_i = $_max; + $_len-= $_max; + $_pos = 0; + } else { + $_i = $_len; + $_pos+= $_len; + $_len = 0; + } + $_plaintext = substr($_iv, $_orig_pos) ^ $_text; + $_iv = substr_replace($_iv, substr($_text, 0, $_i), $_orig_pos, $_i); + } + while ($_len >= '.$block_size.') { + $in = $_iv; + '.$encrypt_block.' + $_iv = $in; + $cb = substr($_text, $_i, '.$block_size.'); + $_plaintext.= $_iv ^ $cb; + $_iv = $cb; + $_len-= '.$block_size.'; + $_i+= '.$block_size.'; + } + if ($_len) { + $in = $_iv; + '.$encrypt_block.' + $_iv = $in; + $_plaintext.= $_iv ^ substr($_text, $_i); + $_iv = substr_replace($_iv, substr($_text, $_i), 0, $_len); + $_pos = $_len; + } + + return $_plaintext; + '; + break; + case self::MODE_OFB: + $encrypt = $init_encrypt . ' + $_ciphertext = ""; + $_plaintext_len = strlen($_text); + $_xor = $self->encryptIV; + $_buffer = &$self->enbuffer; + + if (strlen($_buffer["xor"])) { + for ($_i = 0; $_i < $_plaintext_len; $_i+= '.$block_size.') { + $_block = substr($_text, $_i, '.$block_size.'); + if (strlen($_block) > strlen($_buffer["xor"])) { + $in = $_xor; + '.$encrypt_block.' + $_xor = $in; + $_buffer["xor"].= $_xor; + } + $_key = $self->_string_shift($_buffer["xor"], '.$block_size.'); + $_ciphertext.= $_block ^ $_key; + } + } else { + for ($_i = 0; $_i < $_plaintext_len; $_i+= '.$block_size.') { + $in = $_xor; + '.$encrypt_block.' + $_xor = $in; + $_ciphertext.= substr($_text, $_i, '.$block_size.') ^ $_xor; + } + $_key = $_xor; + } + if ($self->continuousBuffer) { + $self->encryptIV = $_xor; + if ($_start = $_plaintext_len % '.$block_size.') { + $_buffer["xor"] = substr($_key, $_start) . $_buffer["xor"]; + } + } + return $_ciphertext; + '; + + $decrypt = $init_encrypt . ' + $_plaintext = ""; + $_ciphertext_len = strlen($_text); + $_xor = $self->decryptIV; + $_buffer = &$self->debuffer; + + if (strlen($_buffer["xor"])) { + for ($_i = 0; $_i < $_ciphertext_len; $_i+= '.$block_size.') { + $_block = substr($_text, $_i, '.$block_size.'); + if (strlen($_block) > strlen($_buffer["xor"])) { + $in = $_xor; + '.$encrypt_block.' + $_xor = $in; + $_buffer["xor"].= $_xor; + } + $_key = $self->_string_shift($_buffer["xor"], '.$block_size.'); + $_plaintext.= $_block ^ $_key; + } + } else { + for ($_i = 0; $_i < $_ciphertext_len; $_i+= '.$block_size.') { + $in = $_xor; + '.$encrypt_block.' + $_xor = $in; + $_plaintext.= substr($_text, $_i, '.$block_size.') ^ $_xor; + } + $_key = $_xor; + } + if ($self->continuousBuffer) { + $self->decryptIV = $_xor; + if ($_start = $_ciphertext_len % '.$block_size.') { + $_buffer["xor"] = substr($_key, $_start) . $_buffer["xor"]; + } + } + return $_plaintext; + '; + break; + case self::MODE_STREAM: + $encrypt = $init_encrypt . ' + $_ciphertext = ""; + '.$encrypt_block.' + return $_ciphertext; + '; + $decrypt = $init_decrypt . ' + $_plaintext = ""; + '.$decrypt_block.' + return $_plaintext; + '; + break; + // case self::MODE_CBC: + default: + $encrypt = $init_encrypt . ' + $_ciphertext = ""; + $_plaintext_len = strlen($_text); + + $in = $self->encryptIV; + + for ($_i = 0; $_i < $_plaintext_len; $_i+= '.$block_size.') { + $in = substr($_text, $_i, '.$block_size.') ^ $in; + '.$encrypt_block.' + $_ciphertext.= $in; + } + + if ($self->continuousBuffer) { + $self->encryptIV = $in; + } + + return $_ciphertext; + '; + + $decrypt = $init_decrypt . ' + $_plaintext = ""; + $_text = str_pad($_text, strlen($_text) + ('.$block_size.' - strlen($_text) % '.$block_size.') % '.$block_size.', chr(0)); + $_ciphertext_len = strlen($_text); + + $_iv = $self->decryptIV; + + for ($_i = 0; $_i < $_ciphertext_len; $_i+= '.$block_size.') { + $in = $_block = substr($_text, $_i, '.$block_size.'); + '.$decrypt_block.' + $_plaintext.= $in ^ $_iv; + $_iv = $_block; + } + + if ($self->continuousBuffer) { + $self->decryptIV = $_iv; + } + + return $self->_unpad($_plaintext); + '; + break; + } + + // Create the $inline function and return its name as string. Ready to run! + return create_function('$_action, &$self, $_text', $init_crypt . 'if ($_action == "encrypt") { ' . $encrypt . ' } else { ' . $decrypt . ' }'); + } + + /** + * Holds the lambda_functions table (classwide) + * + * Each name of the lambda function, created from + * _setupInlineCrypt() && _createInlineCryptFunction() + * is stored, classwide (!), here for reusing. + * + * The string-based index of $function is a classwide + * unique value representing, at least, the $mode of + * operation (or more... depends of the optimizing level) + * for which $mode the lambda function was created. + * + * @access private + * @return array &$functions + */ + function &_getLambdaFunctions() + { + static $functions = array(); + return $functions; + } + + /** + * Generates a digest from $bytes + * + * @see self::_setupInlineCrypt() + * @access private + * @param $bytes + * @return string + */ + function _hashInlineCryptFunction($bytes) + { + if (!isset(self::$WHIRLPOOL_AVAILABLE)) { + self::$WHIRLPOOL_AVAILABLE = extension_loaded('hash') && in_array('whirlpool', hash_algos()); + } + + $result = ''; + $hash = $bytes; + + switch (true) { + case self::$WHIRLPOOL_AVAILABLE: + foreach (str_split($bytes, 64) as $t) { + $hash = hash('whirlpool', $hash, true); + $result .= $t ^ $hash; + } + return $result . hash('whirlpool', $hash, true); + default: + $len = strlen($bytes); + for ($i = 0; $i < $len; $i+=20) { + $t = substr($bytes, $i, 20); + $hash = pack('H*', sha1($hash)); + $result .= $t ^ $hash; + } + return $result . pack('H*', sha1($hash)); + } + } +} diff --git a/vendor/phpseclib/phpseclib/phpseclib/Crypt/Blowfish.php b/vendor/phpseclib/phpseclib/phpseclib/Crypt/Blowfish.php new file mode 100644 index 00000000..3949e812 --- /dev/null +++ b/vendor/phpseclib/phpseclib/phpseclib/Crypt/Blowfish.php @@ -0,0 +1,574 @@ +<?php + +/** + * Pure-PHP implementation of Blowfish. + * + * Uses mcrypt, if available, and an internal implementation, otherwise. + * + * PHP version 5 + * + * Useful resources are as follows: + * + * - {@link http://en.wikipedia.org/wiki/Blowfish_(cipher) Wikipedia description of Blowfish} + * + * Here's a short example of how to use this library: + * <code> + * <?php + * include 'vendor/autoload.php'; + * + * $blowfish = new \phpseclib\Crypt\Blowfish(); + * + * $blowfish->setKey('12345678901234567890123456789012'); + * + * $plaintext = str_repeat('a', 1024); + * + * echo $blowfish->decrypt($blowfish->encrypt($plaintext)); + * ?> + * </code> + * + * @category Crypt + * @package Blowfish + * @author Jim Wigginton <terrafrost@php.net> + * @author Hans-Juergen Petrich <petrich@tronic-media.com> + * @copyright 2007 Jim Wigginton + * @license http://www.opensource.org/licenses/mit-license.html MIT License + * @link http://phpseclib.sourceforge.net + */ + +namespace phpseclib\Crypt; + +/** + * Pure-PHP implementation of Blowfish. + * + * @package Blowfish + * @author Jim Wigginton <terrafrost@php.net> + * @author Hans-Juergen Petrich <petrich@tronic-media.com> + * @access public + */ +class Blowfish extends Base +{ + /** + * Block Length of the cipher + * + * @see \phpseclib\Crypt\Base::block_size + * @var int + * @access private + */ + var $block_size = 8; + + /** + * The mcrypt specific name of the cipher + * + * @see \phpseclib\Crypt\Base::cipher_name_mcrypt + * @var string + * @access private + */ + var $cipher_name_mcrypt = 'blowfish'; + + /** + * Optimizing value while CFB-encrypting + * + * @see \phpseclib\Crypt\Base::cfb_init_len + * @var int + * @access private + */ + var $cfb_init_len = 500; + + /** + * The fixed subkeys boxes ($sbox0 - $sbox3) with 256 entries each + * + * S-Box 0 + * + * @access private + * @var array + */ + var $sbox0 = array( + 0xd1310ba6, 0x98dfb5ac, 0x2ffd72db, 0xd01adfb7, 0xb8e1afed, 0x6a267e96, 0xba7c9045, 0xf12c7f99, + 0x24a19947, 0xb3916cf7, 0x0801f2e2, 0x858efc16, 0x636920d8, 0x71574e69, 0xa458fea3, 0xf4933d7e, + 0x0d95748f, 0x728eb658, 0x718bcd58, 0x82154aee, 0x7b54a41d, 0xc25a59b5, 0x9c30d539, 0x2af26013, + 0xc5d1b023, 0x286085f0, 0xca417918, 0xb8db38ef, 0x8e79dcb0, 0x603a180e, 0x6c9e0e8b, 0xb01e8a3e, + 0xd71577c1, 0xbd314b27, 0x78af2fda, 0x55605c60, 0xe65525f3, 0xaa55ab94, 0x57489862, 0x63e81440, + 0x55ca396a, 0x2aab10b6, 0xb4cc5c34, 0x1141e8ce, 0xa15486af, 0x7c72e993, 0xb3ee1411, 0x636fbc2a, + 0x2ba9c55d, 0x741831f6, 0xce5c3e16, 0x9b87931e, 0xafd6ba33, 0x6c24cf5c, 0x7a325381, 0x28958677, + 0x3b8f4898, 0x6b4bb9af, 0xc4bfe81b, 0x66282193, 0x61d809cc, 0xfb21a991, 0x487cac60, 0x5dec8032, + 0xef845d5d, 0xe98575b1, 0xdc262302, 0xeb651b88, 0x23893e81, 0xd396acc5, 0x0f6d6ff3, 0x83f44239, + 0x2e0b4482, 0xa4842004, 0x69c8f04a, 0x9e1f9b5e, 0x21c66842, 0xf6e96c9a, 0x670c9c61, 0xabd388f0, + 0x6a51a0d2, 0xd8542f68, 0x960fa728, 0xab5133a3, 0x6eef0b6c, 0x137a3be4, 0xba3bf050, 0x7efb2a98, + 0xa1f1651d, 0x39af0176, 0x66ca593e, 0x82430e88, 0x8cee8619, 0x456f9fb4, 0x7d84a5c3, 0x3b8b5ebe, + 0xe06f75d8, 0x85c12073, 0x401a449f, 0x56c16aa6, 0x4ed3aa62, 0x363f7706, 0x1bfedf72, 0x429b023d, + 0x37d0d724, 0xd00a1248, 0xdb0fead3, 0x49f1c09b, 0x075372c9, 0x80991b7b, 0x25d479d8, 0xf6e8def7, + 0xe3fe501a, 0xb6794c3b, 0x976ce0bd, 0x04c006ba, 0xc1a94fb6, 0x409f60c4, 0x5e5c9ec2, 0x196a2463, + 0x68fb6faf, 0x3e6c53b5, 0x1339b2eb, 0x3b52ec6f, 0x6dfc511f, 0x9b30952c, 0xcc814544, 0xaf5ebd09, + 0xbee3d004, 0xde334afd, 0x660f2807, 0x192e4bb3, 0xc0cba857, 0x45c8740f, 0xd20b5f39, 0xb9d3fbdb, + 0x5579c0bd, 0x1a60320a, 0xd6a100c6, 0x402c7279, 0x679f25fe, 0xfb1fa3cc, 0x8ea5e9f8, 0xdb3222f8, + 0x3c7516df, 0xfd616b15, 0x2f501ec8, 0xad0552ab, 0x323db5fa, 0xfd238760, 0x53317b48, 0x3e00df82, + 0x9e5c57bb, 0xca6f8ca0, 0x1a87562e, 0xdf1769db, 0xd542a8f6, 0x287effc3, 0xac6732c6, 0x8c4f5573, + 0x695b27b0, 0xbbca58c8, 0xe1ffa35d, 0xb8f011a0, 0x10fa3d98, 0xfd2183b8, 0x4afcb56c, 0x2dd1d35b, + 0x9a53e479, 0xb6f84565, 0xd28e49bc, 0x4bfb9790, 0xe1ddf2da, 0xa4cb7e33, 0x62fb1341, 0xcee4c6e8, + 0xef20cada, 0x36774c01, 0xd07e9efe, 0x2bf11fb4, 0x95dbda4d, 0xae909198, 0xeaad8e71, 0x6b93d5a0, + 0xd08ed1d0, 0xafc725e0, 0x8e3c5b2f, 0x8e7594b7, 0x8ff6e2fb, 0xf2122b64, 0x8888b812, 0x900df01c, + 0x4fad5ea0, 0x688fc31c, 0xd1cff191, 0xb3a8c1ad, 0x2f2f2218, 0xbe0e1777, 0xea752dfe, 0x8b021fa1, + 0xe5a0cc0f, 0xb56f74e8, 0x18acf3d6, 0xce89e299, 0xb4a84fe0, 0xfd13e0b7, 0x7cc43b81, 0xd2ada8d9, + 0x165fa266, 0x80957705, 0x93cc7314, 0x211a1477, 0xe6ad2065, 0x77b5fa86, 0xc75442f5, 0xfb9d35cf, + 0xebcdaf0c, 0x7b3e89a0, 0xd6411bd3, 0xae1e7e49, 0x00250e2d, 0x2071b35e, 0x226800bb, 0x57b8e0af, + 0x2464369b, 0xf009b91e, 0x5563911d, 0x59dfa6aa, 0x78c14389, 0xd95a537f, 0x207d5ba2, 0x02e5b9c5, + 0x83260376, 0x6295cfa9, 0x11c81968, 0x4e734a41, 0xb3472dca, 0x7b14a94a, 0x1b510052, 0x9a532915, + 0xd60f573f, 0xbc9bc6e4, 0x2b60a476, 0x81e67400, 0x08ba6fb5, 0x571be91f, 0xf296ec6b, 0x2a0dd915, + 0xb6636521, 0xe7b9f9b6, 0xff34052e, 0xc5855664, 0x53b02d5d, 0xa99f8fa1, 0x08ba4799, 0x6e85076a + ); + + /** + * S-Box 1 + * + * @access private + * @var array + */ + var $sbox1 = array( + 0x4b7a70e9, 0xb5b32944, 0xdb75092e, 0xc4192623, 0xad6ea6b0, 0x49a7df7d, 0x9cee60b8, 0x8fedb266, + 0xecaa8c71, 0x699a17ff, 0x5664526c, 0xc2b19ee1, 0x193602a5, 0x75094c29, 0xa0591340, 0xe4183a3e, + 0x3f54989a, 0x5b429d65, 0x6b8fe4d6, 0x99f73fd6, 0xa1d29c07, 0xefe830f5, 0x4d2d38e6, 0xf0255dc1, + 0x4cdd2086, 0x8470eb26, 0x6382e9c6, 0x021ecc5e, 0x09686b3f, 0x3ebaefc9, 0x3c971814, 0x6b6a70a1, + 0x687f3584, 0x52a0e286, 0xb79c5305, 0xaa500737, 0x3e07841c, 0x7fdeae5c, 0x8e7d44ec, 0x5716f2b8, + 0xb03ada37, 0xf0500c0d, 0xf01c1f04, 0x0200b3ff, 0xae0cf51a, 0x3cb574b2, 0x25837a58, 0xdc0921bd, + 0xd19113f9, 0x7ca92ff6, 0x94324773, 0x22f54701, 0x3ae5e581, 0x37c2dadc, 0xc8b57634, 0x9af3dda7, + 0xa9446146, 0x0fd0030e, 0xecc8c73e, 0xa4751e41, 0xe238cd99, 0x3bea0e2f, 0x3280bba1, 0x183eb331, + 0x4e548b38, 0x4f6db908, 0x6f420d03, 0xf60a04bf, 0x2cb81290, 0x24977c79, 0x5679b072, 0xbcaf89af, + 0xde9a771f, 0xd9930810, 0xb38bae12, 0xdccf3f2e, 0x5512721f, 0x2e6b7124, 0x501adde6, 0x9f84cd87, + 0x7a584718, 0x7408da17, 0xbc9f9abc, 0xe94b7d8c, 0xec7aec3a, 0xdb851dfa, 0x63094366, 0xc464c3d2, + 0xef1c1847, 0x3215d908, 0xdd433b37, 0x24c2ba16, 0x12a14d43, 0x2a65c451, 0x50940002, 0x133ae4dd, + 0x71dff89e, 0x10314e55, 0x81ac77d6, 0x5f11199b, 0x043556f1, 0xd7a3c76b, 0x3c11183b, 0x5924a509, + 0xf28fe6ed, 0x97f1fbfa, 0x9ebabf2c, 0x1e153c6e, 0x86e34570, 0xeae96fb1, 0x860e5e0a, 0x5a3e2ab3, + 0x771fe71c, 0x4e3d06fa, 0x2965dcb9, 0x99e71d0f, 0x803e89d6, 0x5266c825, 0x2e4cc978, 0x9c10b36a, + 0xc6150eba, 0x94e2ea78, 0xa5fc3c53, 0x1e0a2df4, 0xf2f74ea7, 0x361d2b3d, 0x1939260f, 0x19c27960, + 0x5223a708, 0xf71312b6, 0xebadfe6e, 0xeac31f66, 0xe3bc4595, 0xa67bc883, 0xb17f37d1, 0x018cff28, + 0xc332ddef, 0xbe6c5aa5, 0x65582185, 0x68ab9802, 0xeecea50f, 0xdb2f953b, 0x2aef7dad, 0x5b6e2f84, + 0x1521b628, 0x29076170, 0xecdd4775, 0x619f1510, 0x13cca830, 0xeb61bd96, 0x0334fe1e, 0xaa0363cf, + 0xb5735c90, 0x4c70a239, 0xd59e9e0b, 0xcbaade14, 0xeecc86bc, 0x60622ca7, 0x9cab5cab, 0xb2f3846e, + 0x648b1eaf, 0x19bdf0ca, 0xa02369b9, 0x655abb50, 0x40685a32, 0x3c2ab4b3, 0x319ee9d5, 0xc021b8f7, + 0x9b540b19, 0x875fa099, 0x95f7997e, 0x623d7da8, 0xf837889a, 0x97e32d77, 0x11ed935f, 0x16681281, + 0x0e358829, 0xc7e61fd6, 0x96dedfa1, 0x7858ba99, 0x57f584a5, 0x1b227263, 0x9b83c3ff, 0x1ac24696, + 0xcdb30aeb, 0x532e3054, 0x8fd948e4, 0x6dbc3128, 0x58ebf2ef, 0x34c6ffea, 0xfe28ed61, 0xee7c3c73, + 0x5d4a14d9, 0xe864b7e3, 0x42105d14, 0x203e13e0, 0x45eee2b6, 0xa3aaabea, 0xdb6c4f15, 0xfacb4fd0, + 0xc742f442, 0xef6abbb5, 0x654f3b1d, 0x41cd2105, 0xd81e799e, 0x86854dc7, 0xe44b476a, 0x3d816250, + 0xcf62a1f2, 0x5b8d2646, 0xfc8883a0, 0xc1c7b6a3, 0x7f1524c3, 0x69cb7492, 0x47848a0b, 0x5692b285, + 0x095bbf00, 0xad19489d, 0x1462b174, 0x23820e00, 0x58428d2a, 0x0c55f5ea, 0x1dadf43e, 0x233f7061, + 0x3372f092, 0x8d937e41, 0xd65fecf1, 0x6c223bdb, 0x7cde3759, 0xcbee7460, 0x4085f2a7, 0xce77326e, + 0xa6078084, 0x19f8509e, 0xe8efd855, 0x61d99735, 0xa969a7aa, 0xc50c06c2, 0x5a04abfc, 0x800bcadc, + 0x9e447a2e, 0xc3453484, 0xfdd56705, 0x0e1e9ec9, 0xdb73dbd3, 0x105588cd, 0x675fda79, 0xe3674340, + 0xc5c43465, 0x713e38d8, 0x3d28f89e, 0xf16dff20, 0x153e21e7, 0x8fb03d4a, 0xe6e39f2b, 0xdb83adf7 + ); + + /** + * S-Box 2 + * + * @access private + * @var array + */ + var $sbox2 = array( + 0xe93d5a68, 0x948140f7, 0xf64c261c, 0x94692934, 0x411520f7, 0x7602d4f7, 0xbcf46b2e, 0xd4a20068, + 0xd4082471, 0x3320f46a, 0x43b7d4b7, 0x500061af, 0x1e39f62e, 0x97244546, 0x14214f74, 0xbf8b8840, + 0x4d95fc1d, 0x96b591af, 0x70f4ddd3, 0x66a02f45, 0xbfbc09ec, 0x03bd9785, 0x7fac6dd0, 0x31cb8504, + 0x96eb27b3, 0x55fd3941, 0xda2547e6, 0xabca0a9a, 0x28507825, 0x530429f4, 0x0a2c86da, 0xe9b66dfb, + 0x68dc1462, 0xd7486900, 0x680ec0a4, 0x27a18dee, 0x4f3ffea2, 0xe887ad8c, 0xb58ce006, 0x7af4d6b6, + 0xaace1e7c, 0xd3375fec, 0xce78a399, 0x406b2a42, 0x20fe9e35, 0xd9f385b9, 0xee39d7ab, 0x3b124e8b, + 0x1dc9faf7, 0x4b6d1856, 0x26a36631, 0xeae397b2, 0x3a6efa74, 0xdd5b4332, 0x6841e7f7, 0xca7820fb, + 0xfb0af54e, 0xd8feb397, 0x454056ac, 0xba489527, 0x55533a3a, 0x20838d87, 0xfe6ba9b7, 0xd096954b, + 0x55a867bc, 0xa1159a58, 0xcca92963, 0x99e1db33, 0xa62a4a56, 0x3f3125f9, 0x5ef47e1c, 0x9029317c, + 0xfdf8e802, 0x04272f70, 0x80bb155c, 0x05282ce3, 0x95c11548, 0xe4c66d22, 0x48c1133f, 0xc70f86dc, + 0x07f9c9ee, 0x41041f0f, 0x404779a4, 0x5d886e17, 0x325f51eb, 0xd59bc0d1, 0xf2bcc18f, 0x41113564, + 0x257b7834, 0x602a9c60, 0xdff8e8a3, 0x1f636c1b, 0x0e12b4c2, 0x02e1329e, 0xaf664fd1, 0xcad18115, + 0x6b2395e0, 0x333e92e1, 0x3b240b62, 0xeebeb922, 0x85b2a20e, 0xe6ba0d99, 0xde720c8c, 0x2da2f728, + 0xd0127845, 0x95b794fd, 0x647d0862, 0xe7ccf5f0, 0x5449a36f, 0x877d48fa, 0xc39dfd27, 0xf33e8d1e, + 0x0a476341, 0x992eff74, 0x3a6f6eab, 0xf4f8fd37, 0xa812dc60, 0xa1ebddf8, 0x991be14c, 0xdb6e6b0d, + 0xc67b5510, 0x6d672c37, 0x2765d43b, 0xdcd0e804, 0xf1290dc7, 0xcc00ffa3, 0xb5390f92, 0x690fed0b, + 0x667b9ffb, 0xcedb7d9c, 0xa091cf0b, 0xd9155ea3, 0xbb132f88, 0x515bad24, 0x7b9479bf, 0x763bd6eb, + 0x37392eb3, 0xcc115979, 0x8026e297, 0xf42e312d, 0x6842ada7, 0xc66a2b3b, 0x12754ccc, 0x782ef11c, + 0x6a124237, 0xb79251e7, 0x06a1bbe6, 0x4bfb6350, 0x1a6b1018, 0x11caedfa, 0x3d25bdd8, 0xe2e1c3c9, + 0x44421659, 0x0a121386, 0xd90cec6e, 0xd5abea2a, 0x64af674e, 0xda86a85f, 0xbebfe988, 0x64e4c3fe, + 0x9dbc8057, 0xf0f7c086, 0x60787bf8, 0x6003604d, 0xd1fd8346, 0xf6381fb0, 0x7745ae04, 0xd736fccc, + 0x83426b33, 0xf01eab71, 0xb0804187, 0x3c005e5f, 0x77a057be, 0xbde8ae24, 0x55464299, 0xbf582e61, + 0x4e58f48f, 0xf2ddfda2, 0xf474ef38, 0x8789bdc2, 0x5366f9c3, 0xc8b38e74, 0xb475f255, 0x46fcd9b9, + 0x7aeb2661, 0x8b1ddf84, 0x846a0e79, 0x915f95e2, 0x466e598e, 0x20b45770, 0x8cd55591, 0xc902de4c, + 0xb90bace1, 0xbb8205d0, 0x11a86248, 0x7574a99e, 0xb77f19b6, 0xe0a9dc09, 0x662d09a1, 0xc4324633, + 0xe85a1f02, 0x09f0be8c, 0x4a99a025, 0x1d6efe10, 0x1ab93d1d, 0x0ba5a4df, 0xa186f20f, 0x2868f169, + 0xdcb7da83, 0x573906fe, 0xa1e2ce9b, 0x4fcd7f52, 0x50115e01, 0xa70683fa, 0xa002b5c4, 0x0de6d027, + 0x9af88c27, 0x773f8641, 0xc3604c06, 0x61a806b5, 0xf0177a28, 0xc0f586e0, 0x006058aa, 0x30dc7d62, + 0x11e69ed7, 0x2338ea63, 0x53c2dd94, 0xc2c21634, 0xbbcbee56, 0x90bcb6de, 0xebfc7da1, 0xce591d76, + 0x6f05e409, 0x4b7c0188, 0x39720a3d, 0x7c927c24, 0x86e3725f, 0x724d9db9, 0x1ac15bb4, 0xd39eb8fc, + 0xed545578, 0x08fca5b5, 0xd83d7cd3, 0x4dad0fc4, 0x1e50ef5e, 0xb161e6f8, 0xa28514d9, 0x6c51133c, + 0x6fd5c7e7, 0x56e14ec4, 0x362abfce, 0xddc6c837, 0xd79a3234, 0x92638212, 0x670efa8e, 0x406000e0 + ); + + /** + * S-Box 3 + * + * @access private + * @var array + */ + var $sbox3 = array( + 0x3a39ce37, 0xd3faf5cf, 0xabc27737, 0x5ac52d1b, 0x5cb0679e, 0x4fa33742, 0xd3822740, 0x99bc9bbe, + 0xd5118e9d, 0xbf0f7315, 0xd62d1c7e, 0xc700c47b, 0xb78c1b6b, 0x21a19045, 0xb26eb1be, 0x6a366eb4, + 0x5748ab2f, 0xbc946e79, 0xc6a376d2, 0x6549c2c8, 0x530ff8ee, 0x468dde7d, 0xd5730a1d, 0x4cd04dc6, + 0x2939bbdb, 0xa9ba4650, 0xac9526e8, 0xbe5ee304, 0xa1fad5f0, 0x6a2d519a, 0x63ef8ce2, 0x9a86ee22, + 0xc089c2b8, 0x43242ef6, 0xa51e03aa, 0x9cf2d0a4, 0x83c061ba, 0x9be96a4d, 0x8fe51550, 0xba645bd6, + 0x2826a2f9, 0xa73a3ae1, 0x4ba99586, 0xef5562e9, 0xc72fefd3, 0xf752f7da, 0x3f046f69, 0x77fa0a59, + 0x80e4a915, 0x87b08601, 0x9b09e6ad, 0x3b3ee593, 0xe990fd5a, 0x9e34d797, 0x2cf0b7d9, 0x022b8b51, + 0x96d5ac3a, 0x017da67d, 0xd1cf3ed6, 0x7c7d2d28, 0x1f9f25cf, 0xadf2b89b, 0x5ad6b472, 0x5a88f54c, + 0xe029ac71, 0xe019a5e6, 0x47b0acfd, 0xed93fa9b, 0xe8d3c48d, 0x283b57cc, 0xf8d56629, 0x79132e28, + 0x785f0191, 0xed756055, 0xf7960e44, 0xe3d35e8c, 0x15056dd4, 0x88f46dba, 0x03a16125, 0x0564f0bd, + 0xc3eb9e15, 0x3c9057a2, 0x97271aec, 0xa93a072a, 0x1b3f6d9b, 0x1e6321f5, 0xf59c66fb, 0x26dcf319, + 0x7533d928, 0xb155fdf5, 0x03563482, 0x8aba3cbb, 0x28517711, 0xc20ad9f8, 0xabcc5167, 0xccad925f, + 0x4de81751, 0x3830dc8e, 0x379d5862, 0x9320f991, 0xea7a90c2, 0xfb3e7bce, 0x5121ce64, 0x774fbe32, + 0xa8b6e37e, 0xc3293d46, 0x48de5369, 0x6413e680, 0xa2ae0810, 0xdd6db224, 0x69852dfd, 0x09072166, + 0xb39a460a, 0x6445c0dd, 0x586cdecf, 0x1c20c8ae, 0x5bbef7dd, 0x1b588d40, 0xccd2017f, 0x6bb4e3bb, + 0xdda26a7e, 0x3a59ff45, 0x3e350a44, 0xbcb4cdd5, 0x72eacea8, 0xfa6484bb, 0x8d6612ae, 0xbf3c6f47, + 0xd29be463, 0x542f5d9e, 0xaec2771b, 0xf64e6370, 0x740e0d8d, 0xe75b1357, 0xf8721671, 0xaf537d5d, + 0x4040cb08, 0x4eb4e2cc, 0x34d2466a, 0x0115af84, 0xe1b00428, 0x95983a1d, 0x06b89fb4, 0xce6ea048, + 0x6f3f3b82, 0x3520ab82, 0x011a1d4b, 0x277227f8, 0x611560b1, 0xe7933fdc, 0xbb3a792b, 0x344525bd, + 0xa08839e1, 0x51ce794b, 0x2f32c9b7, 0xa01fbac9, 0xe01cc87e, 0xbcc7d1f6, 0xcf0111c3, 0xa1e8aac7, + 0x1a908749, 0xd44fbd9a, 0xd0dadecb, 0xd50ada38, 0x0339c32a, 0xc6913667, 0x8df9317c, 0xe0b12b4f, + 0xf79e59b7, 0x43f5bb3a, 0xf2d519ff, 0x27d9459c, 0xbf97222c, 0x15e6fc2a, 0x0f91fc71, 0x9b941525, + 0xfae59361, 0xceb69ceb, 0xc2a86459, 0x12baa8d1, 0xb6c1075e, 0xe3056a0c, 0x10d25065, 0xcb03a442, + 0xe0ec6e0e, 0x1698db3b, 0x4c98a0be, 0x3278e964, 0x9f1f9532, 0xe0d392df, 0xd3a0342b, 0x8971f21e, + 0x1b0a7441, 0x4ba3348c, 0xc5be7120, 0xc37632d8, 0xdf359f8d, 0x9b992f2e, 0xe60b6f47, 0x0fe3f11d, + 0xe54cda54, 0x1edad891, 0xce6279cf, 0xcd3e7e6f, 0x1618b166, 0xfd2c1d05, 0x848fd2c5, 0xf6fb2299, + 0xf523f357, 0xa6327623, 0x93a83531, 0x56cccd02, 0xacf08162, 0x5a75ebb5, 0x6e163697, 0x88d273cc, + 0xde966292, 0x81b949d0, 0x4c50901b, 0x71c65614, 0xe6c6c7bd, 0x327a140a, 0x45e1d006, 0xc3f27b9a, + 0xc9aa53fd, 0x62a80f00, 0xbb25bfe2, 0x35bdd2f6, 0x71126905, 0xb2040222, 0xb6cbcf7c, 0xcd769c2b, + 0x53113ec0, 0x1640e3d3, 0x38abbd60, 0x2547adf0, 0xba38209c, 0xf746ce76, 0x77afa1c5, 0x20756060, + 0x85cbfe4e, 0x8ae88dd8, 0x7aaaf9b0, 0x4cf9aa7e, 0x1948c25c, 0x02fb8a8c, 0x01c36ae4, 0xd6ebe1f9, + 0x90d4f869, 0xa65cdea0, 0x3f09252d, 0xc208e69f, 0xb74e6132, 0xce77e25b, 0x578fdfe3, 0x3ac372e6 + ); + + /** + * P-Array consists of 18 32-bit subkeys + * + * @var array + * @access private + */ + var $parray = array( + 0x243f6a88, 0x85a308d3, 0x13198a2e, 0x03707344, 0xa4093822, 0x299f31d0, + 0x082efa98, 0xec4e6c89, 0x452821e6, 0x38d01377, 0xbe5466cf, 0x34e90c6c, + 0xc0ac29b7, 0xc97c50dd, 0x3f84d5b5, 0xb5470917, 0x9216d5d9, 0x8979fb1b + ); + + /** + * The BCTX-working Array + * + * Holds the expanded key [p] and the key-depended s-boxes [sb] + * + * @var array + * @access private + */ + var $bctx; + + /** + * Holds the last used key + * + * @var array + * @access private + */ + var $kl; + + /** + * The Key Length (in bytes) + * + * @see \phpseclib\Crypt\Base::setKeyLength() + * @var int + * @access private + * @internal The max value is 256 / 8 = 32, the min value is 128 / 8 = 16. Exists in conjunction with $Nk + * because the encryption / decryption / key schedule creation requires this number and not $key_length. We could + * derive this from $key_length or vice versa, but that'd mean we'd have to do multiple shift operations, so in lieu + * of that, we'll just precompute it once. + */ + var $key_length = 16; + + /** + * Sets the key length. + * + * Key lengths can be between 32 and 448 bits. + * + * @access public + * @param int $length + */ + function setKeyLength($length) + { + if ($length < 32) { + $this->key_length = 7; + } elseif ($length > 448) { + $this->key_length = 56; + } else { + $this->key_length = $length >> 3; + } + + parent::setKeyLength($length); + } + + /** + * Test for engine validity + * + * This is mainly just a wrapper to set things up for \phpseclib\Crypt\Base::isValidEngine() + * + * @see \phpseclib\Crypt\Base::isValidEngine() + * @param int $engine + * @access public + * @return bool + */ + function isValidEngine($engine) + { + if ($engine == self::ENGINE_OPENSSL) { + if ($this->key_length != 16) { + return false; + } + $this->cipher_name_openssl_ecb = 'bf-ecb'; + $this->cipher_name_openssl = 'bf-' . $this->_openssl_translate_mode(); + } + + return parent::isValidEngine($engine); + } + + /** + * Setup the key (expansion) + * + * @see \phpseclib\Crypt\Base::_setupKey() + * @access private + */ + function _setupKey() + { + if (isset($this->kl['key']) && $this->key === $this->kl['key']) { + // already expanded + return; + } + $this->kl = array('key' => $this->key); + + /* key-expanding p[] and S-Box building sb[] */ + $this->bctx = array( + 'p' => array(), + 'sb' => array( + $this->sbox0, + $this->sbox1, + $this->sbox2, + $this->sbox3 + ) + ); + + // unpack binary string in unsigned chars + $key = array_values(unpack('C*', $this->key)); + $keyl = count($key); + for ($j = 0, $i = 0; $i < 18; ++$i) { + // xor P1 with the first 32-bits of the key, xor P2 with the second 32-bits ... + for ($data = 0, $k = 0; $k < 4; ++$k) { + $data = ($data << 8) | $key[$j]; + if (++$j >= $keyl) { + $j = 0; + } + } + $this->bctx['p'][] = $this->parray[$i] ^ $data; + } + + // encrypt the zero-string, replace P1 and P2 with the encrypted data, + // encrypt P3 and P4 with the new P1 and P2, do it with all P-array and subkeys + $data = "\0\0\0\0\0\0\0\0"; + for ($i = 0; $i < 18; $i += 2) { + list($l, $r) = array_values(unpack('N*', $data = $this->_encryptBlock($data))); + $this->bctx['p'][$i ] = $l; + $this->bctx['p'][$i + 1] = $r; + } + for ($i = 0; $i < 4; ++$i) { + for ($j = 0; $j < 256; $j += 2) { + list($l, $r) = array_values(unpack('N*', $data = $this->_encryptBlock($data))); + $this->bctx['sb'][$i][$j ] = $l; + $this->bctx['sb'][$i][$j + 1] = $r; + } + } + } + + /** + * Encrypts a block + * + * @access private + * @param string $in + * @return string + */ + function _encryptBlock($in) + { + $p = $this->bctx["p"]; + // extract($this->bctx["sb"], EXTR_PREFIX_ALL, "sb"); // slower + $sb_0 = $this->bctx["sb"][0]; + $sb_1 = $this->bctx["sb"][1]; + $sb_2 = $this->bctx["sb"][2]; + $sb_3 = $this->bctx["sb"][3]; + + $in = unpack("N*", $in); + $l = $in[1]; + $r = $in[2]; + + for ($i = 0; $i < 16; $i+= 2) { + $l^= $p[$i]; + $r^= ($sb_0[$l >> 24 & 0xff] + + $sb_1[$l >> 16 & 0xff] ^ + $sb_2[$l >> 8 & 0xff]) + + $sb_3[$l & 0xff]; + + $r^= $p[$i + 1]; + $l^= ($sb_0[$r >> 24 & 0xff] + + $sb_1[$r >> 16 & 0xff] ^ + $sb_2[$r >> 8 & 0xff]) + + $sb_3[$r & 0xff]; + } + return pack("N*", $r ^ $p[17], $l ^ $p[16]); + } + + /** + * Decrypts a block + * + * @access private + * @param string $in + * @return string + */ + function _decryptBlock($in) + { + $p = $this->bctx["p"]; + $sb_0 = $this->bctx["sb"][0]; + $sb_1 = $this->bctx["sb"][1]; + $sb_2 = $this->bctx["sb"][2]; + $sb_3 = $this->bctx["sb"][3]; + + $in = unpack("N*", $in); + $l = $in[1]; + $r = $in[2]; + + for ($i = 17; $i > 2; $i-= 2) { + $l^= $p[$i]; + $r^= ($sb_0[$l >> 24 & 0xff] + + $sb_1[$l >> 16 & 0xff] ^ + $sb_2[$l >> 8 & 0xff]) + + $sb_3[$l & 0xff]; + + $r^= $p[$i - 1]; + $l^= ($sb_0[$r >> 24 & 0xff] + + $sb_1[$r >> 16 & 0xff] ^ + $sb_2[$r >> 8 & 0xff]) + + $sb_3[$r & 0xff]; + } + return pack("N*", $r ^ $p[0], $l ^ $p[1]); + } + + /** + * Setup the performance-optimized function for de/encrypt() + * + * @see \phpseclib\Crypt\Base::_setupInlineCrypt() + * @access private + */ + function _setupInlineCrypt() + { + $lambda_functions =& self::_getLambdaFunctions(); + + // We create max. 10 hi-optimized code for memory reason. Means: For each $key one ultra fast inline-crypt function. + // (Currently, for Blowfish, one generated $lambda_function cost on php5.5@32bit ~100kb unfreeable mem and ~180kb on php5.5@64bit) + // After that, we'll still create very fast optimized code but not the hi-ultimative code, for each $mode one. + $gen_hi_opt_code = (bool)(count($lambda_functions) < 10); + + // Generation of a unique hash for our generated code + $code_hash = "Crypt_Blowfish, {$this->mode}"; + if ($gen_hi_opt_code) { + $code_hash = str_pad($code_hash, 32) . $this->_hashInlineCryptFunction($this->key); + } + + if (!isset($lambda_functions[$code_hash])) { + switch (true) { + case $gen_hi_opt_code: + $p = $this->bctx['p']; + $init_crypt = ' + static $sb_0, $sb_1, $sb_2, $sb_3; + if (!$sb_0) { + $sb_0 = $self->bctx["sb"][0]; + $sb_1 = $self->bctx["sb"][1]; + $sb_2 = $self->bctx["sb"][2]; + $sb_3 = $self->bctx["sb"][3]; + } + '; + break; + default: + $p = array(); + for ($i = 0; $i < 18; ++$i) { + $p[] = '$p_' . $i; + } + $init_crypt = ' + list($sb_0, $sb_1, $sb_2, $sb_3) = $self->bctx["sb"]; + list(' . implode(',', $p) . ') = $self->bctx["p"]; + + '; + } + + // Generating encrypt code: + $encrypt_block = ' + $in = unpack("N*", $in); + $l = $in[1]; + $r = $in[2]; + '; + for ($i = 0; $i < 16; $i+= 2) { + $encrypt_block.= ' + $l^= ' . $p[$i] . '; + $r^= ($sb_0[$l >> 24 & 0xff] + + $sb_1[$l >> 16 & 0xff] ^ + $sb_2[$l >> 8 & 0xff]) + + $sb_3[$l & 0xff]; + + $r^= ' . $p[$i + 1] . '; + $l^= ($sb_0[$r >> 24 & 0xff] + + $sb_1[$r >> 16 & 0xff] ^ + $sb_2[$r >> 8 & 0xff]) + + $sb_3[$r & 0xff]; + '; + } + $encrypt_block.= ' + $in = pack("N*", + $r ^ ' . $p[17] . ', + $l ^ ' . $p[16] . ' + ); + '; + + // Generating decrypt code: + $decrypt_block = ' + $in = unpack("N*", $in); + $l = $in[1]; + $r = $in[2]; + '; + + for ($i = 17; $i > 2; $i-= 2) { + $decrypt_block.= ' + $l^= ' . $p[$i] . '; + $r^= ($sb_0[$l >> 24 & 0xff] + + $sb_1[$l >> 16 & 0xff] ^ + $sb_2[$l >> 8 & 0xff]) + + $sb_3[$l & 0xff]; + + $r^= ' . $p[$i - 1] . '; + $l^= ($sb_0[$r >> 24 & 0xff] + + $sb_1[$r >> 16 & 0xff] ^ + $sb_2[$r >> 8 & 0xff]) + + $sb_3[$r & 0xff]; + '; + } + + $decrypt_block.= ' + $in = pack("N*", + $r ^ ' . $p[0] . ', + $l ^ ' . $p[1] . ' + ); + '; + + $lambda_functions[$code_hash] = $this->_createInlineCryptFunction( + array( + 'init_crypt' => $init_crypt, + 'init_encrypt' => '', + 'init_decrypt' => '', + 'encrypt_block' => $encrypt_block, + 'decrypt_block' => $decrypt_block + ) + ); + } + $this->inline_crypt = $lambda_functions[$code_hash]; + } +} diff --git a/vendor/phpseclib/phpseclib/phpseclib/Crypt/DES.php b/vendor/phpseclib/phpseclib/phpseclib/Crypt/DES.php new file mode 100644 index 00000000..51220469 --- /dev/null +++ b/vendor/phpseclib/phpseclib/phpseclib/Crypt/DES.php @@ -0,0 +1,1443 @@ +<?php + +/** + * Pure-PHP implementation of DES. + * + * Uses mcrypt, if available, and an internal implementation, otherwise. + * + * PHP version 5 + * + * Useful resources are as follows: + * + * - {@link http://en.wikipedia.org/wiki/DES_supplementary_material Wikipedia: DES supplementary material} + * - {@link http://www.itl.nist.gov/fipspubs/fip46-2.htm FIPS 46-2 - (DES), Data Encryption Standard} + * - {@link http://www.cs.eku.edu/faculty/styer/460/Encrypt/JS-DES.html JavaScript DES Example} + * + * Here's a short example of how to use this library: + * <code> + * <?php + * include 'vendor/autoload.php'; + * + * $des = new \phpseclib\Crypt\DES(); + * + * $des->setKey('abcdefgh'); + * + * $size = 10 * 1024; + * $plaintext = ''; + * for ($i = 0; $i < $size; $i++) { + * $plaintext.= 'a'; + * } + * + * echo $des->decrypt($des->encrypt($plaintext)); + * ?> + * </code> + * + * @category Crypt + * @package DES + * @author Jim Wigginton <terrafrost@php.net> + * @copyright 2007 Jim Wigginton + * @license http://www.opensource.org/licenses/mit-license.html MIT License + * @link http://phpseclib.sourceforge.net + */ + +namespace phpseclib\Crypt; + +/** + * Pure-PHP implementation of DES. + * + * @package DES + * @author Jim Wigginton <terrafrost@php.net> + * @access public + */ +class DES extends Base +{ + /**#@+ + * @access private + * @see \phpseclib\Crypt\DES::_setupKey() + * @see \phpseclib\Crypt\DES::_processBlock() + */ + /** + * Contains $keys[self::ENCRYPT] + */ + const ENCRYPT = 0; + /** + * Contains $keys[self::DECRYPT] + */ + const DECRYPT = 1; + /**#@-*/ + + /** + * Block Length of the cipher + * + * @see \phpseclib\Crypt\Base::block_size + * @var int + * @access private + */ + var $block_size = 8; + + /** + * Key Length (in bytes) + * + * @see \phpseclib\Crypt\Base::setKeyLength() + * @var int + * @access private + */ + var $key_length = 8; + + /** + * The mcrypt specific name of the cipher + * + * @see \phpseclib\Crypt\Base::cipher_name_mcrypt + * @var string + * @access private + */ + var $cipher_name_mcrypt = 'des'; + + /** + * The OpenSSL names of the cipher / modes + * + * @see \phpseclib\Crypt\Base::openssl_mode_names + * @var array + * @access private + */ + var $openssl_mode_names = array( + self::MODE_ECB => 'des-ecb', + self::MODE_CBC => 'des-cbc', + self::MODE_CFB => 'des-cfb', + self::MODE_OFB => 'des-ofb' + // self::MODE_CTR is undefined for DES + ); + + /** + * Optimizing value while CFB-encrypting + * + * @see \phpseclib\Crypt\Base::cfb_init_len + * @var int + * @access private + */ + var $cfb_init_len = 500; + + /** + * Switch for DES/3DES encryption + * + * Used only if $engine == self::ENGINE_INTERNAL + * + * @see self::_setupKey() + * @see self::_processBlock() + * @var int + * @access private + */ + var $des_rounds = 1; + + /** + * max possible size of $key + * + * @see self::setKey() + * @var string + * @access private + */ + var $key_length_max = 8; + + /** + * The Key Schedule + * + * @see self::_setupKey() + * @var array + * @access private + */ + var $keys; + + /** + * Shuffle table. + * + * For each byte value index, the entry holds an 8-byte string + * with each byte containing all bits in the same state as the + * corresponding bit in the index value. + * + * @see self::_processBlock() + * @see self::_setupKey() + * @var array + * @access private + */ + var $shuffle = array( + "\x00\x00\x00\x00\x00\x00\x00\x00", "\x00\x00\x00\x00\x00\x00\x00\xFF", + "\x00\x00\x00\x00\x00\x00\xFF\x00", "\x00\x00\x00\x00\x00\x00\xFF\xFF", + "\x00\x00\x00\x00\x00\xFF\x00\x00", "\x00\x00\x00\x00\x00\xFF\x00\xFF", + "\x00\x00\x00\x00\x00\xFF\xFF\x00", "\x00\x00\x00\x00\x00\xFF\xFF\xFF", + "\x00\x00\x00\x00\xFF\x00\x00\x00", "\x00\x00\x00\x00\xFF\x00\x00\xFF", + "\x00\x00\x00\x00\xFF\x00\xFF\x00", "\x00\x00\x00\x00\xFF\x00\xFF\xFF", + "\x00\x00\x00\x00\xFF\xFF\x00\x00", "\x00\x00\x00\x00\xFF\xFF\x00\xFF", + "\x00\x00\x00\x00\xFF\xFF\xFF\x00", "\x00\x00\x00\x00\xFF\xFF\xFF\xFF", + "\x00\x00\x00\xFF\x00\x00\x00\x00", "\x00\x00\x00\xFF\x00\x00\x00\xFF", + "\x00\x00\x00\xFF\x00\x00\xFF\x00", "\x00\x00\x00\xFF\x00\x00\xFF\xFF", + "\x00\x00\x00\xFF\x00\xFF\x00\x00", "\x00\x00\x00\xFF\x00\xFF\x00\xFF", + "\x00\x00\x00\xFF\x00\xFF\xFF\x00", "\x00\x00\x00\xFF\x00\xFF\xFF\xFF", + "\x00\x00\x00\xFF\xFF\x00\x00\x00", "\x00\x00\x00\xFF\xFF\x00\x00\xFF", + "\x00\x00\x00\xFF\xFF\x00\xFF\x00", "\x00\x00\x00\xFF\xFF\x00\xFF\xFF", + "\x00\x00\x00\xFF\xFF\xFF\x00\x00", "\x00\x00\x00\xFF\xFF\xFF\x00\xFF", + "\x00\x00\x00\xFF\xFF\xFF\xFF\x00", "\x00\x00\x00\xFF\xFF\xFF\xFF\xFF", + "\x00\x00\xFF\x00\x00\x00\x00\x00", "\x00\x00\xFF\x00\x00\x00\x00\xFF", + "\x00\x00\xFF\x00\x00\x00\xFF\x00", "\x00\x00\xFF\x00\x00\x00\xFF\xFF", + "\x00\x00\xFF\x00\x00\xFF\x00\x00", "\x00\x00\xFF\x00\x00\xFF\x00\xFF", + "\x00\x00\xFF\x00\x00\xFF\xFF\x00", "\x00\x00\xFF\x00\x00\xFF\xFF\xFF", + "\x00\x00\xFF\x00\xFF\x00\x00\x00", "\x00\x00\xFF\x00\xFF\x00\x00\xFF", + "\x00\x00\xFF\x00\xFF\x00\xFF\x00", "\x00\x00\xFF\x00\xFF\x00\xFF\xFF", + "\x00\x00\xFF\x00\xFF\xFF\x00\x00", "\x00\x00\xFF\x00\xFF\xFF\x00\xFF", + "\x00\x00\xFF\x00\xFF\xFF\xFF\x00", "\x00\x00\xFF\x00\xFF\xFF\xFF\xFF", + "\x00\x00\xFF\xFF\x00\x00\x00\x00", "\x00\x00\xFF\xFF\x00\x00\x00\xFF", + "\x00\x00\xFF\xFF\x00\x00\xFF\x00", "\x00\x00\xFF\xFF\x00\x00\xFF\xFF", + "\x00\x00\xFF\xFF\x00\xFF\x00\x00", "\x00\x00\xFF\xFF\x00\xFF\x00\xFF", + "\x00\x00\xFF\xFF\x00\xFF\xFF\x00", "\x00\x00\xFF\xFF\x00\xFF\xFF\xFF", + "\x00\x00\xFF\xFF\xFF\x00\x00\x00", "\x00\x00\xFF\xFF\xFF\x00\x00\xFF", + "\x00\x00\xFF\xFF\xFF\x00\xFF\x00", "\x00\x00\xFF\xFF\xFF\x00\xFF\xFF", + "\x00\x00\xFF\xFF\xFF\xFF\x00\x00", "\x00\x00\xFF\xFF\xFF\xFF\x00\xFF", + "\x00\x00\xFF\xFF\xFF\xFF\xFF\x00", "\x00\x00\xFF\xFF\xFF\xFF\xFF\xFF", + "\x00\xFF\x00\x00\x00\x00\x00\x00", "\x00\xFF\x00\x00\x00\x00\x00\xFF", + "\x00\xFF\x00\x00\x00\x00\xFF\x00", "\x00\xFF\x00\x00\x00\x00\xFF\xFF", + "\x00\xFF\x00\x00\x00\xFF\x00\x00", "\x00\xFF\x00\x00\x00\xFF\x00\xFF", + "\x00\xFF\x00\x00\x00\xFF\xFF\x00", "\x00\xFF\x00\x00\x00\xFF\xFF\xFF", + "\x00\xFF\x00\x00\xFF\x00\x00\x00", "\x00\xFF\x00\x00\xFF\x00\x00\xFF", + "\x00\xFF\x00\x00\xFF\x00\xFF\x00", "\x00\xFF\x00\x00\xFF\x00\xFF\xFF", + "\x00\xFF\x00\x00\xFF\xFF\x00\x00", "\x00\xFF\x00\x00\xFF\xFF\x00\xFF", + "\x00\xFF\x00\x00\xFF\xFF\xFF\x00", "\x00\xFF\x00\x00\xFF\xFF\xFF\xFF", + "\x00\xFF\x00\xFF\x00\x00\x00\x00", "\x00\xFF\x00\xFF\x00\x00\x00\xFF", + "\x00\xFF\x00\xFF\x00\x00\xFF\x00", "\x00\xFF\x00\xFF\x00\x00\xFF\xFF", + "\x00\xFF\x00\xFF\x00\xFF\x00\x00", "\x00\xFF\x00\xFF\x00\xFF\x00\xFF", + "\x00\xFF\x00\xFF\x00\xFF\xFF\x00", "\x00\xFF\x00\xFF\x00\xFF\xFF\xFF", + "\x00\xFF\x00\xFF\xFF\x00\x00\x00", "\x00\xFF\x00\xFF\xFF\x00\x00\xFF", + "\x00\xFF\x00\xFF\xFF\x00\xFF\x00", "\x00\xFF\x00\xFF\xFF\x00\xFF\xFF", + "\x00\xFF\x00\xFF\xFF\xFF\x00\x00", "\x00\xFF\x00\xFF\xFF\xFF\x00\xFF", + "\x00\xFF\x00\xFF\xFF\xFF\xFF\x00", "\x00\xFF\x00\xFF\xFF\xFF\xFF\xFF", + "\x00\xFF\xFF\x00\x00\x00\x00\x00", "\x00\xFF\xFF\x00\x00\x00\x00\xFF", + "\x00\xFF\xFF\x00\x00\x00\xFF\x00", "\x00\xFF\xFF\x00\x00\x00\xFF\xFF", + "\x00\xFF\xFF\x00\x00\xFF\x00\x00", "\x00\xFF\xFF\x00\x00\xFF\x00\xFF", + "\x00\xFF\xFF\x00\x00\xFF\xFF\x00", "\x00\xFF\xFF\x00\x00\xFF\xFF\xFF", + "\x00\xFF\xFF\x00\xFF\x00\x00\x00", "\x00\xFF\xFF\x00\xFF\x00\x00\xFF", + "\x00\xFF\xFF\x00\xFF\x00\xFF\x00", "\x00\xFF\xFF\x00\xFF\x00\xFF\xFF", + "\x00\xFF\xFF\x00\xFF\xFF\x00\x00", "\x00\xFF\xFF\x00\xFF\xFF\x00\xFF", + "\x00\xFF\xFF\x00\xFF\xFF\xFF\x00", "\x00\xFF\xFF\x00\xFF\xFF\xFF\xFF", + "\x00\xFF\xFF\xFF\x00\x00\x00\x00", "\x00\xFF\xFF\xFF\x00\x00\x00\xFF", + "\x00\xFF\xFF\xFF\x00\x00\xFF\x00", "\x00\xFF\xFF\xFF\x00\x00\xFF\xFF", + "\x00\xFF\xFF\xFF\x00\xFF\x00\x00", "\x00\xFF\xFF\xFF\x00\xFF\x00\xFF", + "\x00\xFF\xFF\xFF\x00\xFF\xFF\x00", "\x00\xFF\xFF\xFF\x00\xFF\xFF\xFF", + "\x00\xFF\xFF\xFF\xFF\x00\x00\x00", "\x00\xFF\xFF\xFF\xFF\x00\x00\xFF", + "\x00\xFF\xFF\xFF\xFF\x00\xFF\x00", "\x00\xFF\xFF\xFF\xFF\x00\xFF\xFF", + "\x00\xFF\xFF\xFF\xFF\xFF\x00\x00", "\x00\xFF\xFF\xFF\xFF\xFF\x00\xFF", + "\x00\xFF\xFF\xFF\xFF\xFF\xFF\x00", "\x00\xFF\xFF\xFF\xFF\xFF\xFF\xFF", + "\xFF\x00\x00\x00\x00\x00\x00\x00", "\xFF\x00\x00\x00\x00\x00\x00\xFF", + "\xFF\x00\x00\x00\x00\x00\xFF\x00", "\xFF\x00\x00\x00\x00\x00\xFF\xFF", + "\xFF\x00\x00\x00\x00\xFF\x00\x00", "\xFF\x00\x00\x00\x00\xFF\x00\xFF", + "\xFF\x00\x00\x00\x00\xFF\xFF\x00", "\xFF\x00\x00\x00\x00\xFF\xFF\xFF", + "\xFF\x00\x00\x00\xFF\x00\x00\x00", "\xFF\x00\x00\x00\xFF\x00\x00\xFF", + "\xFF\x00\x00\x00\xFF\x00\xFF\x00", "\xFF\x00\x00\x00\xFF\x00\xFF\xFF", + "\xFF\x00\x00\x00\xFF\xFF\x00\x00", "\xFF\x00\x00\x00\xFF\xFF\x00\xFF", + "\xFF\x00\x00\x00\xFF\xFF\xFF\x00", "\xFF\x00\x00\x00\xFF\xFF\xFF\xFF", + "\xFF\x00\x00\xFF\x00\x00\x00\x00", "\xFF\x00\x00\xFF\x00\x00\x00\xFF", + "\xFF\x00\x00\xFF\x00\x00\xFF\x00", "\xFF\x00\x00\xFF\x00\x00\xFF\xFF", + "\xFF\x00\x00\xFF\x00\xFF\x00\x00", "\xFF\x00\x00\xFF\x00\xFF\x00\xFF", + "\xFF\x00\x00\xFF\x00\xFF\xFF\x00", "\xFF\x00\x00\xFF\x00\xFF\xFF\xFF", + "\xFF\x00\x00\xFF\xFF\x00\x00\x00", "\xFF\x00\x00\xFF\xFF\x00\x00\xFF", + "\xFF\x00\x00\xFF\xFF\x00\xFF\x00", "\xFF\x00\x00\xFF\xFF\x00\xFF\xFF", + "\xFF\x00\x00\xFF\xFF\xFF\x00\x00", "\xFF\x00\x00\xFF\xFF\xFF\x00\xFF", + "\xFF\x00\x00\xFF\xFF\xFF\xFF\x00", "\xFF\x00\x00\xFF\xFF\xFF\xFF\xFF", + "\xFF\x00\xFF\x00\x00\x00\x00\x00", "\xFF\x00\xFF\x00\x00\x00\x00\xFF", + "\xFF\x00\xFF\x00\x00\x00\xFF\x00", "\xFF\x00\xFF\x00\x00\x00\xFF\xFF", + "\xFF\x00\xFF\x00\x00\xFF\x00\x00", "\xFF\x00\xFF\x00\x00\xFF\x00\xFF", + "\xFF\x00\xFF\x00\x00\xFF\xFF\x00", "\xFF\x00\xFF\x00\x00\xFF\xFF\xFF", + "\xFF\x00\xFF\x00\xFF\x00\x00\x00", "\xFF\x00\xFF\x00\xFF\x00\x00\xFF", + "\xFF\x00\xFF\x00\xFF\x00\xFF\x00", "\xFF\x00\xFF\x00\xFF\x00\xFF\xFF", + "\xFF\x00\xFF\x00\xFF\xFF\x00\x00", "\xFF\x00\xFF\x00\xFF\xFF\x00\xFF", + "\xFF\x00\xFF\x00\xFF\xFF\xFF\x00", "\xFF\x00\xFF\x00\xFF\xFF\xFF\xFF", + "\xFF\x00\xFF\xFF\x00\x00\x00\x00", "\xFF\x00\xFF\xFF\x00\x00\x00\xFF", + "\xFF\x00\xFF\xFF\x00\x00\xFF\x00", "\xFF\x00\xFF\xFF\x00\x00\xFF\xFF", + "\xFF\x00\xFF\xFF\x00\xFF\x00\x00", "\xFF\x00\xFF\xFF\x00\xFF\x00\xFF", + "\xFF\x00\xFF\xFF\x00\xFF\xFF\x00", "\xFF\x00\xFF\xFF\x00\xFF\xFF\xFF", + "\xFF\x00\xFF\xFF\xFF\x00\x00\x00", "\xFF\x00\xFF\xFF\xFF\x00\x00\xFF", + "\xFF\x00\xFF\xFF\xFF\x00\xFF\x00", "\xFF\x00\xFF\xFF\xFF\x00\xFF\xFF", + "\xFF\x00\xFF\xFF\xFF\xFF\x00\x00", "\xFF\x00\xFF\xFF\xFF\xFF\x00\xFF", + "\xFF\x00\xFF\xFF\xFF\xFF\xFF\x00", "\xFF\x00\xFF\xFF\xFF\xFF\xFF\xFF", + "\xFF\xFF\x00\x00\x00\x00\x00\x00", "\xFF\xFF\x00\x00\x00\x00\x00\xFF", + "\xFF\xFF\x00\x00\x00\x00\xFF\x00", "\xFF\xFF\x00\x00\x00\x00\xFF\xFF", + "\xFF\xFF\x00\x00\x00\xFF\x00\x00", "\xFF\xFF\x00\x00\x00\xFF\x00\xFF", + "\xFF\xFF\x00\x00\x00\xFF\xFF\x00", "\xFF\xFF\x00\x00\x00\xFF\xFF\xFF", + "\xFF\xFF\x00\x00\xFF\x00\x00\x00", "\xFF\xFF\x00\x00\xFF\x00\x00\xFF", + "\xFF\xFF\x00\x00\xFF\x00\xFF\x00", "\xFF\xFF\x00\x00\xFF\x00\xFF\xFF", + "\xFF\xFF\x00\x00\xFF\xFF\x00\x00", "\xFF\xFF\x00\x00\xFF\xFF\x00\xFF", + "\xFF\xFF\x00\x00\xFF\xFF\xFF\x00", "\xFF\xFF\x00\x00\xFF\xFF\xFF\xFF", + "\xFF\xFF\x00\xFF\x00\x00\x00\x00", "\xFF\xFF\x00\xFF\x00\x00\x00\xFF", + "\xFF\xFF\x00\xFF\x00\x00\xFF\x00", "\xFF\xFF\x00\xFF\x00\x00\xFF\xFF", + "\xFF\xFF\x00\xFF\x00\xFF\x00\x00", "\xFF\xFF\x00\xFF\x00\xFF\x00\xFF", + "\xFF\xFF\x00\xFF\x00\xFF\xFF\x00", "\xFF\xFF\x00\xFF\x00\xFF\xFF\xFF", + "\xFF\xFF\x00\xFF\xFF\x00\x00\x00", "\xFF\xFF\x00\xFF\xFF\x00\x00\xFF", + "\xFF\xFF\x00\xFF\xFF\x00\xFF\x00", "\xFF\xFF\x00\xFF\xFF\x00\xFF\xFF", + "\xFF\xFF\x00\xFF\xFF\xFF\x00\x00", "\xFF\xFF\x00\xFF\xFF\xFF\x00\xFF", + "\xFF\xFF\x00\xFF\xFF\xFF\xFF\x00", "\xFF\xFF\x00\xFF\xFF\xFF\xFF\xFF", + "\xFF\xFF\xFF\x00\x00\x00\x00\x00", "\xFF\xFF\xFF\x00\x00\x00\x00\xFF", + "\xFF\xFF\xFF\x00\x00\x00\xFF\x00", "\xFF\xFF\xFF\x00\x00\x00\xFF\xFF", + "\xFF\xFF\xFF\x00\x00\xFF\x00\x00", "\xFF\xFF\xFF\x00\x00\xFF\x00\xFF", + "\xFF\xFF\xFF\x00\x00\xFF\xFF\x00", "\xFF\xFF\xFF\x00\x00\xFF\xFF\xFF", + "\xFF\xFF\xFF\x00\xFF\x00\x00\x00", "\xFF\xFF\xFF\x00\xFF\x00\x00\xFF", + "\xFF\xFF\xFF\x00\xFF\x00\xFF\x00", "\xFF\xFF\xFF\x00\xFF\x00\xFF\xFF", + "\xFF\xFF\xFF\x00\xFF\xFF\x00\x00", "\xFF\xFF\xFF\x00\xFF\xFF\x00\xFF", + "\xFF\xFF\xFF\x00\xFF\xFF\xFF\x00", "\xFF\xFF\xFF\x00\xFF\xFF\xFF\xFF", + "\xFF\xFF\xFF\xFF\x00\x00\x00\x00", "\xFF\xFF\xFF\xFF\x00\x00\x00\xFF", + "\xFF\xFF\xFF\xFF\x00\x00\xFF\x00", "\xFF\xFF\xFF\xFF\x00\x00\xFF\xFF", + "\xFF\xFF\xFF\xFF\x00\xFF\x00\x00", "\xFF\xFF\xFF\xFF\x00\xFF\x00\xFF", + "\xFF\xFF\xFF\xFF\x00\xFF\xFF\x00", "\xFF\xFF\xFF\xFF\x00\xFF\xFF\xFF", + "\xFF\xFF\xFF\xFF\xFF\x00\x00\x00", "\xFF\xFF\xFF\xFF\xFF\x00\x00\xFF", + "\xFF\xFF\xFF\xFF\xFF\x00\xFF\x00", "\xFF\xFF\xFF\xFF\xFF\x00\xFF\xFF", + "\xFF\xFF\xFF\xFF\xFF\xFF\x00\x00", "\xFF\xFF\xFF\xFF\xFF\xFF\x00\xFF", + "\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x00", "\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF" + ); + + /** + * IP mapping helper table. + * + * Indexing this table with each source byte performs the initial bit permutation. + * + * @var array + * @access private + */ + var $ipmap = array( + 0x00, 0x10, 0x01, 0x11, 0x20, 0x30, 0x21, 0x31, + 0x02, 0x12, 0x03, 0x13, 0x22, 0x32, 0x23, 0x33, + 0x40, 0x50, 0x41, 0x51, 0x60, 0x70, 0x61, 0x71, + 0x42, 0x52, 0x43, 0x53, 0x62, 0x72, 0x63, 0x73, + 0x04, 0x14, 0x05, 0x15, 0x24, 0x34, 0x25, 0x35, + 0x06, 0x16, 0x07, 0x17, 0x26, 0x36, 0x27, 0x37, + 0x44, 0x54, 0x45, 0x55, 0x64, 0x74, 0x65, 0x75, + 0x46, 0x56, 0x47, 0x57, 0x66, 0x76, 0x67, 0x77, + 0x80, 0x90, 0x81, 0x91, 0xA0, 0xB0, 0xA1, 0xB1, + 0x82, 0x92, 0x83, 0x93, 0xA2, 0xB2, 0xA3, 0xB3, + 0xC0, 0xD0, 0xC1, 0xD1, 0xE0, 0xF0, 0xE1, 0xF1, + 0xC2, 0xD2, 0xC3, 0xD3, 0xE2, 0xF2, 0xE3, 0xF3, + 0x84, 0x94, 0x85, 0x95, 0xA4, 0xB4, 0xA5, 0xB5, + 0x86, 0x96, 0x87, 0x97, 0xA6, 0xB6, 0xA7, 0xB7, + 0xC4, 0xD4, 0xC5, 0xD5, 0xE4, 0xF4, 0xE5, 0xF5, + 0xC6, 0xD6, 0xC7, 0xD7, 0xE6, 0xF6, 0xE7, 0xF7, + 0x08, 0x18, 0x09, 0x19, 0x28, 0x38, 0x29, 0x39, + 0x0A, 0x1A, 0x0B, 0x1B, 0x2A, 0x3A, 0x2B, 0x3B, + 0x48, 0x58, 0x49, 0x59, 0x68, 0x78, 0x69, 0x79, + 0x4A, 0x5A, 0x4B, 0x5B, 0x6A, 0x7A, 0x6B, 0x7B, + 0x0C, 0x1C, 0x0D, 0x1D, 0x2C, 0x3C, 0x2D, 0x3D, + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4C, 0x5C, 0x4D, 0x5D, 0x6C, 0x7C, 0x6D, 0x7D, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x88, 0x98, 0x89, 0x99, 0xA8, 0xB8, 0xA9, 0xB9, + 0x8A, 0x9A, 0x8B, 0x9B, 0xAA, 0xBA, 0xAB, 0xBB, + 0xC8, 0xD8, 0xC9, 0xD9, 0xE8, 0xF8, 0xE9, 0xF9, + 0xCA, 0xDA, 0xCB, 0xDB, 0xEA, 0xFA, 0xEB, 0xFB, + 0x8C, 0x9C, 0x8D, 0x9D, 0xAC, 0xBC, 0xAD, 0xBD, + 0x8E, 0x9E, 0x8F, 0x9F, 0xAE, 0xBE, 0xAF, 0xBF, + 0xCC, 0xDC, 0xCD, 0xDD, 0xEC, 0xFC, 0xED, 0xFD, + 0xCE, 0xDE, 0xCF, 0xDF, 0xEE, 0xFE, 0xEF, 0xFF + ); + + /** + * Inverse IP mapping helper table. + * Indexing this table with a byte value reverses the bit order. + * + * @var array + * @access private + */ + var $invipmap = array( + 0x00, 0x80, 0x40, 0xC0, 0x20, 0xA0, 0x60, 0xE0, + 0x10, 0x90, 0x50, 0xD0, 0x30, 0xB0, 0x70, 0xF0, + 0x08, 0x88, 0x48, 0xC8, 0x28, 0xA8, 0x68, 0xE8, + 0x18, 0x98, 0x58, 0xD8, 0x38, 0xB8, 0x78, 0xF8, + 0x04, 0x84, 0x44, 0xC4, 0x24, 0xA4, 0x64, 0xE4, + 0x14, 0x94, 0x54, 0xD4, 0x34, 0xB4, 0x74, 0xF4, + 0x0C, 0x8C, 0x4C, 0xCC, 0x2C, 0xAC, 0x6C, 0xEC, + 0x1C, 0x9C, 0x5C, 0xDC, 0x3C, 0xBC, 0x7C, 0xFC, + 0x02, 0x82, 0x42, 0xC2, 0x22, 0xA2, 0x62, 0xE2, + 0x12, 0x92, 0x52, 0xD2, 0x32, 0xB2, 0x72, 0xF2, + 0x0A, 0x8A, 0x4A, 0xCA, 0x2A, 0xAA, 0x6A, 0xEA, + 0x1A, 0x9A, 0x5A, 0xDA, 0x3A, 0xBA, 0x7A, 0xFA, + 0x06, 0x86, 0x46, 0xC6, 0x26, 0xA6, 0x66, 0xE6, + 0x16, 0x96, 0x56, 0xD6, 0x36, 0xB6, 0x76, 0xF6, + 0x0E, 0x8E, 0x4E, 0xCE, 0x2E, 0xAE, 0x6E, 0xEE, + 0x1E, 0x9E, 0x5E, 0xDE, 0x3E, 0xBE, 0x7E, 0xFE, + 0x01, 0x81, 0x41, 0xC1, 0x21, 0xA1, 0x61, 0xE1, + 0x11, 0x91, 0x51, 0xD1, 0x31, 0xB1, 0x71, 0xF1, + 0x09, 0x89, 0x49, 0xC9, 0x29, 0xA9, 0x69, 0xE9, + 0x19, 0x99, 0x59, 0xD9, 0x39, 0xB9, 0x79, 0xF9, + 0x05, 0x85, 0x45, 0xC5, 0x25, 0xA5, 0x65, 0xE5, + 0x15, 0x95, 0x55, 0xD5, 0x35, 0xB5, 0x75, 0xF5, + 0x0D, 0x8D, 0x4D, 0xCD, 0x2D, 0xAD, 0x6D, 0xED, + 0x1D, 0x9D, 0x5D, 0xDD, 0x3D, 0xBD, 0x7D, 0xFD, + 0x03, 0x83, 0x43, 0xC3, 0x23, 0xA3, 0x63, 0xE3, + 0x13, 0x93, 0x53, 0xD3, 0x33, 0xB3, 0x73, 0xF3, + 0x0B, 0x8B, 0x4B, 0xCB, 0x2B, 0xAB, 0x6B, 0xEB, + 0x1B, 0x9B, 0x5B, 0xDB, 0x3B, 0xBB, 0x7B, 0xFB, + 0x07, 0x87, 0x47, 0xC7, 0x27, 0xA7, 0x67, 0xE7, + 0x17, 0x97, 0x57, 0xD7, 0x37, 0xB7, 0x77, 0xF7, + 0x0F, 0x8F, 0x4F, 0xCF, 0x2F, 0xAF, 0x6F, 0xEF, + 0x1F, 0x9F, 0x5F, 0xDF, 0x3F, 0xBF, 0x7F, 0xFF + ); + + /** + * Pre-permuted S-box1 + * + * Each box ($sbox1-$sbox8) has been vectorized, then each value pre-permuted using the + * P table: concatenation can then be replaced by exclusive ORs. + * + * @var array + * @access private + */ + var $sbox1 = array( + 0x00808200, 0x00000000, 0x00008000, 0x00808202, + 0x00808002, 0x00008202, 0x00000002, 0x00008000, + 0x00000200, 0x00808200, 0x00808202, 0x00000200, + 0x00800202, 0x00808002, 0x00800000, 0x00000002, + 0x00000202, 0x00800200, 0x00800200, 0x00008200, + 0x00008200, 0x00808000, 0x00808000, 0x00800202, + 0x00008002, 0x00800002, 0x00800002, 0x00008002, + 0x00000000, 0x00000202, 0x00008202, 0x00800000, + 0x00008000, 0x00808202, 0x00000002, 0x00808000, + 0x00808200, 0x00800000, 0x00800000, 0x00000200, + 0x00808002, 0x00008000, 0x00008200, 0x00800002, + 0x00000200, 0x00000002, 0x00800202, 0x00008202, + 0x00808202, 0x00008002, 0x00808000, 0x00800202, + 0x00800002, 0x00000202, 0x00008202, 0x00808200, + 0x00000202, 0x00800200, 0x00800200, 0x00000000, + 0x00008002, 0x00008200, 0x00000000, 0x00808002 + ); + + /** + * Pre-permuted S-box2 + * + * @var array + * @access private + */ + var $sbox2 = array( + 0x40084010, 0x40004000, 0x00004000, 0x00084010, + 0x00080000, 0x00000010, 0x40080010, 0x40004010, + 0x40000010, 0x40084010, 0x40084000, 0x40000000, + 0x40004000, 0x00080000, 0x00000010, 0x40080010, + 0x00084000, 0x00080010, 0x40004010, 0x00000000, + 0x40000000, 0x00004000, 0x00084010, 0x40080000, + 0x00080010, 0x40000010, 0x00000000, 0x00084000, + 0x00004010, 0x40084000, 0x40080000, 0x00004010, + 0x00000000, 0x00084010, 0x40080010, 0x00080000, + 0x40004010, 0x40080000, 0x40084000, 0x00004000, + 0x40080000, 0x40004000, 0x00000010, 0x40084010, + 0x00084010, 0x00000010, 0x00004000, 0x40000000, + 0x00004010, 0x40084000, 0x00080000, 0x40000010, + 0x00080010, 0x40004010, 0x40000010, 0x00080010, + 0x00084000, 0x00000000, 0x40004000, 0x00004010, + 0x40000000, 0x40080010, 0x40084010, 0x00084000 + ); + + /** + * Pre-permuted S-box3 + * + * @var array + * @access private + */ + var $sbox3 = array( + 0x00000104, 0x04010100, 0x00000000, 0x04010004, + 0x04000100, 0x00000000, 0x00010104, 0x04000100, + 0x00010004, 0x04000004, 0x04000004, 0x00010000, + 0x04010104, 0x00010004, 0x04010000, 0x00000104, + 0x04000000, 0x00000004, 0x04010100, 0x00000100, + 0x00010100, 0x04010000, 0x04010004, 0x00010104, + 0x04000104, 0x00010100, 0x00010000, 0x04000104, + 0x00000004, 0x04010104, 0x00000100, 0x04000000, + 0x04010100, 0x04000000, 0x00010004, 0x00000104, + 0x00010000, 0x04010100, 0x04000100, 0x00000000, + 0x00000100, 0x00010004, 0x04010104, 0x04000100, + 0x04000004, 0x00000100, 0x00000000, 0x04010004, + 0x04000104, 0x00010000, 0x04000000, 0x04010104, + 0x00000004, 0x00010104, 0x00010100, 0x04000004, + 0x04010000, 0x04000104, 0x00000104, 0x04010000, + 0x00010104, 0x00000004, 0x04010004, 0x00010100 + ); + + /** + * Pre-permuted S-box4 + * + * @var array + * @access private + */ + var $sbox4 = array( + 0x80401000, 0x80001040, 0x80001040, 0x00000040, + 0x00401040, 0x80400040, 0x80400000, 0x80001000, + 0x00000000, 0x00401000, 0x00401000, 0x80401040, + 0x80000040, 0x00000000, 0x00400040, 0x80400000, + 0x80000000, 0x00001000, 0x00400000, 0x80401000, + 0x00000040, 0x00400000, 0x80001000, 0x00001040, + 0x80400040, 0x80000000, 0x00001040, 0x00400040, + 0x00001000, 0x00401040, 0x80401040, 0x80000040, + 0x00400040, 0x80400000, 0x00401000, 0x80401040, + 0x80000040, 0x00000000, 0x00000000, 0x00401000, + 0x00001040, 0x00400040, 0x80400040, 0x80000000, + 0x80401000, 0x80001040, 0x80001040, 0x00000040, + 0x80401040, 0x80000040, 0x80000000, 0x00001000, + 0x80400000, 0x80001000, 0x00401040, 0x80400040, + 0x80001000, 0x00001040, 0x00400000, 0x80401000, + 0x00000040, 0x00400000, 0x00001000, 0x00401040 + ); + + /** + * Pre-permuted S-box5 + * + * @var array + * @access private + */ + var $sbox5 = array( + 0x00000080, 0x01040080, 0x01040000, 0x21000080, + 0x00040000, 0x00000080, 0x20000000, 0x01040000, + 0x20040080, 0x00040000, 0x01000080, 0x20040080, + 0x21000080, 0x21040000, 0x00040080, 0x20000000, + 0x01000000, 0x20040000, 0x20040000, 0x00000000, + 0x20000080, 0x21040080, 0x21040080, 0x01000080, + 0x21040000, 0x20000080, 0x00000000, 0x21000000, + 0x01040080, 0x01000000, 0x21000000, 0x00040080, + 0x00040000, 0x21000080, 0x00000080, 0x01000000, + 0x20000000, 0x01040000, 0x21000080, 0x20040080, + 0x01000080, 0x20000000, 0x21040000, 0x01040080, + 0x20040080, 0x00000080, 0x01000000, 0x21040000, + 0x21040080, 0x00040080, 0x21000000, 0x21040080, + 0x01040000, 0x00000000, 0x20040000, 0x21000000, + 0x00040080, 0x01000080, 0x20000080, 0x00040000, + 0x00000000, 0x20040000, 0x01040080, 0x20000080 + ); + + /** + * Pre-permuted S-box6 + * + * @var array + * @access private + */ + var $sbox6 = array( + 0x10000008, 0x10200000, 0x00002000, 0x10202008, + 0x10200000, 0x00000008, 0x10202008, 0x00200000, + 0x10002000, 0x00202008, 0x00200000, 0x10000008, + 0x00200008, 0x10002000, 0x10000000, 0x00002008, + 0x00000000, 0x00200008, 0x10002008, 0x00002000, + 0x00202000, 0x10002008, 0x00000008, 0x10200008, + 0x10200008, 0x00000000, 0x00202008, 0x10202000, + 0x00002008, 0x00202000, 0x10202000, 0x10000000, + 0x10002000, 0x00000008, 0x10200008, 0x00202000, + 0x10202008, 0x00200000, 0x00002008, 0x10000008, + 0x00200000, 0x10002000, 0x10000000, 0x00002008, + 0x10000008, 0x10202008, 0x00202000, 0x10200000, + 0x00202008, 0x10202000, 0x00000000, 0x10200008, + 0x00000008, 0x00002000, 0x10200000, 0x00202008, + 0x00002000, 0x00200008, 0x10002008, 0x00000000, + 0x10202000, 0x10000000, 0x00200008, 0x10002008 + ); + + /** + * Pre-permuted S-box7 + * + * @var array + * @access private + */ + var $sbox7 = array( + 0x00100000, 0x02100001, 0x02000401, 0x00000000, + 0x00000400, 0x02000401, 0x00100401, 0x02100400, + 0x02100401, 0x00100000, 0x00000000, 0x02000001, + 0x00000001, 0x02000000, 0x02100001, 0x00000401, + 0x02000400, 0x00100401, 0x00100001, 0x02000400, + 0x02000001, 0x02100000, 0x02100400, 0x00100001, + 0x02100000, 0x00000400, 0x00000401, 0x02100401, + 0x00100400, 0x00000001, 0x02000000, 0x00100400, + 0x02000000, 0x00100400, 0x00100000, 0x02000401, + 0x02000401, 0x02100001, 0x02100001, 0x00000001, + 0x00100001, 0x02000000, 0x02000400, 0x00100000, + 0x02100400, 0x00000401, 0x00100401, 0x02100400, + 0x00000401, 0x02000001, 0x02100401, 0x02100000, + 0x00100400, 0x00000000, 0x00000001, 0x02100401, + 0x00000000, 0x00100401, 0x02100000, 0x00000400, + 0x02000001, 0x02000400, 0x00000400, 0x00100001 + ); + + /** + * Pre-permuted S-box8 + * + * @var array + * @access private + */ + var $sbox8 = array( + 0x08000820, 0x00000800, 0x00020000, 0x08020820, + 0x08000000, 0x08000820, 0x00000020, 0x08000000, + 0x00020020, 0x08020000, 0x08020820, 0x00020800, + 0x08020800, 0x00020820, 0x00000800, 0x00000020, + 0x08020000, 0x08000020, 0x08000800, 0x00000820, + 0x00020800, 0x00020020, 0x08020020, 0x08020800, + 0x00000820, 0x00000000, 0x00000000, 0x08020020, + 0x08000020, 0x08000800, 0x00020820, 0x00020000, + 0x00020820, 0x00020000, 0x08020800, 0x00000800, + 0x00000020, 0x08020020, 0x00000800, 0x00020820, + 0x08000800, 0x00000020, 0x08000020, 0x08020000, + 0x08020020, 0x08000000, 0x00020000, 0x08000820, + 0x00000000, 0x08020820, 0x00020020, 0x08000020, + 0x08020000, 0x08000800, 0x08000820, 0x00000000, + 0x08020820, 0x00020800, 0x00020800, 0x00000820, + 0x00000820, 0x00020020, 0x08000000, 0x08020800 + ); + + /** + * Test for engine validity + * + * This is mainly just a wrapper to set things up for \phpseclib\Crypt\Base::isValidEngine() + * + * @see \phpseclib\Crypt\Base::isValidEngine() + * @param int $engine + * @access public + * @return bool + */ + function isValidEngine($engine) + { + if ($this->key_length_max == 8) { + if ($engine == self::ENGINE_OPENSSL) { + $this->cipher_name_openssl_ecb = 'des-ecb'; + $this->cipher_name_openssl = 'des-' . $this->_openssl_translate_mode(); + } + } + + return parent::isValidEngine($engine); + } + + /** + * Sets the key. + * + * Keys can be of any length. DES, itself, uses 64-bit keys (eg. strlen($key) == 8), however, we + * only use the first eight, if $key has more then eight characters in it, and pad $key with the + * null byte if it is less then eight characters long. + * + * DES also requires that every eighth bit be a parity bit, however, we'll ignore that. + * + * If the key is not explicitly set, it'll be assumed to be all zero's. + * + * @see \phpseclib\Crypt\Base::setKey() + * @access public + * @param string $key + */ + function setKey($key) + { + // We check/cut here only up to max length of the key. + // Key padding to the proper length will be done in _setupKey() + if (strlen($key) > $this->key_length_max) { + $key = substr($key, 0, $this->key_length_max); + } + + // Sets the key + parent::setKey($key); + } + + /** + * Encrypts a block + * + * @see \phpseclib\Crypt\Base::_encryptBlock() + * @see \phpseclib\Crypt\Base::encrypt() + * @see self::encrypt() + * @access private + * @param string $in + * @return string + */ + function _encryptBlock($in) + { + return $this->_processBlock($in, self::ENCRYPT); + } + + /** + * Decrypts a block + * + * @see \phpseclib\Crypt\Base::_decryptBlock() + * @see \phpseclib\Crypt\Base::decrypt() + * @see self::decrypt() + * @access private + * @param string $in + * @return string + */ + function _decryptBlock($in) + { + return $this->_processBlock($in, self::DECRYPT); + } + + /** + * Encrypts or decrypts a 64-bit block + * + * $mode should be either self::ENCRYPT or self::DECRYPT. See + * {@link http://en.wikipedia.org/wiki/Image:Feistel.png Feistel.png} to get a general + * idea of what this function does. + * + * @see self::_encryptBlock() + * @see self::_decryptBlock() + * @access private + * @param string $block + * @param int $mode + * @return string + */ + function _processBlock($block, $mode) + { + static $sbox1, $sbox2, $sbox3, $sbox4, $sbox5, $sbox6, $sbox7, $sbox8, $shuffleip, $shuffleinvip; + if (!$sbox1) { + $sbox1 = array_map("intval", $this->sbox1); + $sbox2 = array_map("intval", $this->sbox2); + $sbox3 = array_map("intval", $this->sbox3); + $sbox4 = array_map("intval", $this->sbox4); + $sbox5 = array_map("intval", $this->sbox5); + $sbox6 = array_map("intval", $this->sbox6); + $sbox7 = array_map("intval", $this->sbox7); + $sbox8 = array_map("intval", $this->sbox8); + /* Merge $shuffle with $[inv]ipmap */ + for ($i = 0; $i < 256; ++$i) { + $shuffleip[] = $this->shuffle[$this->ipmap[$i]]; + $shuffleinvip[] = $this->shuffle[$this->invipmap[$i]]; + } + } + + $keys = $this->keys[$mode]; + $ki = -1; + + // Do the initial IP permutation. + $t = unpack('Nl/Nr', $block); + list($l, $r) = array($t['l'], $t['r']); + $block = ($shuffleip[ $r & 0xFF] & "\x80\x80\x80\x80\x80\x80\x80\x80") | + ($shuffleip[($r >> 8) & 0xFF] & "\x40\x40\x40\x40\x40\x40\x40\x40") | + ($shuffleip[($r >> 16) & 0xFF] & "\x20\x20\x20\x20\x20\x20\x20\x20") | + ($shuffleip[($r >> 24) & 0xFF] & "\x10\x10\x10\x10\x10\x10\x10\x10") | + ($shuffleip[ $l & 0xFF] & "\x08\x08\x08\x08\x08\x08\x08\x08") | + ($shuffleip[($l >> 8) & 0xFF] & "\x04\x04\x04\x04\x04\x04\x04\x04") | + ($shuffleip[($l >> 16) & 0xFF] & "\x02\x02\x02\x02\x02\x02\x02\x02") | + ($shuffleip[($l >> 24) & 0xFF] & "\x01\x01\x01\x01\x01\x01\x01\x01"); + + // Extract L0 and R0. + $t = unpack('Nl/Nr', $block); + list($l, $r) = array($t['l'], $t['r']); + + for ($des_round = 0; $des_round < $this->des_rounds; ++$des_round) { + // Perform the 16 steps. + for ($i = 0; $i < 16; $i++) { + // start of "the Feistel (F) function" - see the following URL: + // http://en.wikipedia.org/wiki/Image:Data_Encryption_Standard_InfoBox_Diagram.png + // Merge key schedule. + $b1 = (($r >> 3) & 0x1FFFFFFF) ^ ($r << 29) ^ $keys[++$ki]; + $b2 = (($r >> 31) & 0x00000001) ^ ($r << 1) ^ $keys[++$ki]; + + // S-box indexing. + $t = $sbox1[($b1 >> 24) & 0x3F] ^ $sbox2[($b2 >> 24) & 0x3F] ^ + $sbox3[($b1 >> 16) & 0x3F] ^ $sbox4[($b2 >> 16) & 0x3F] ^ + $sbox5[($b1 >> 8) & 0x3F] ^ $sbox6[($b2 >> 8) & 0x3F] ^ + $sbox7[ $b1 & 0x3F] ^ $sbox8[ $b2 & 0x3F] ^ $l; + // end of "the Feistel (F) function" + + $l = $r; + $r = $t; + } + + // Last step should not permute L & R. + $t = $l; + $l = $r; + $r = $t; + } + + // Perform the inverse IP permutation. + return ($shuffleinvip[($r >> 24) & 0xFF] & "\x80\x80\x80\x80\x80\x80\x80\x80") | + ($shuffleinvip[($l >> 24) & 0xFF] & "\x40\x40\x40\x40\x40\x40\x40\x40") | + ($shuffleinvip[($r >> 16) & 0xFF] & "\x20\x20\x20\x20\x20\x20\x20\x20") | + ($shuffleinvip[($l >> 16) & 0xFF] & "\x10\x10\x10\x10\x10\x10\x10\x10") | + ($shuffleinvip[($r >> 8) & 0xFF] & "\x08\x08\x08\x08\x08\x08\x08\x08") | + ($shuffleinvip[($l >> 8) & 0xFF] & "\x04\x04\x04\x04\x04\x04\x04\x04") | + ($shuffleinvip[ $r & 0xFF] & "\x02\x02\x02\x02\x02\x02\x02\x02") | + ($shuffleinvip[ $l & 0xFF] & "\x01\x01\x01\x01\x01\x01\x01\x01"); + } + + /** + * Creates the key schedule + * + * @see \phpseclib\Crypt\Base::_setupKey() + * @access private + */ + function _setupKey() + { + if (isset($this->kl['key']) && $this->key === $this->kl['key'] && $this->des_rounds === $this->kl['des_rounds']) { + // already expanded + return; + } + $this->kl = array('key' => $this->key, 'des_rounds' => $this->des_rounds); + + static $shifts = array( // number of key bits shifted per round + 1, 1, 2, 2, 2, 2, 2, 2, 1, 2, 2, 2, 2, 2, 2, 1 + ); + + static $pc1map = array( + 0x00, 0x00, 0x08, 0x08, 0x04, 0x04, 0x0C, 0x0C, + 0x02, 0x02, 0x0A, 0x0A, 0x06, 0x06, 0x0E, 0x0E, + 0x10, 0x10, 0x18, 0x18, 0x14, 0x14, 0x1C, 0x1C, + 0x12, 0x12, 0x1A, 0x1A, 0x16, 0x16, 0x1E, 0x1E, + 0x20, 0x20, 0x28, 0x28, 0x24, 0x24, 0x2C, 0x2C, + 0x22, 0x22, 0x2A, 0x2A, 0x26, 0x26, 0x2E, 0x2E, + 0x30, 0x30, 0x38, 0x38, 0x34, 0x34, 0x3C, 0x3C, + 0x32, 0x32, 0x3A, 0x3A, 0x36, 0x36, 0x3E, 0x3E, + 0x40, 0x40, 0x48, 0x48, 0x44, 0x44, 0x4C, 0x4C, + 0x42, 0x42, 0x4A, 0x4A, 0x46, 0x46, 0x4E, 0x4E, + 0x50, 0x50, 0x58, 0x58, 0x54, 0x54, 0x5C, 0x5C, + 0x52, 0x52, 0x5A, 0x5A, 0x56, 0x56, 0x5E, 0x5E, + 0x60, 0x60, 0x68, 0x68, 0x64, 0x64, 0x6C, 0x6C, + 0x62, 0x62, 0x6A, 0x6A, 0x66, 0x66, 0x6E, 0x6E, + 0x70, 0x70, 0x78, 0x78, 0x74, 0x74, 0x7C, 0x7C, + 0x72, 0x72, 0x7A, 0x7A, 0x76, 0x76, 0x7E, 0x7E, + 0x80, 0x80, 0x88, 0x88, 0x84, 0x84, 0x8C, 0x8C, + 0x82, 0x82, 0x8A, 0x8A, 0x86, 0x86, 0x8E, 0x8E, + 0x90, 0x90, 0x98, 0x98, 0x94, 0x94, 0x9C, 0x9C, + 0x92, 0x92, 0x9A, 0x9A, 0x96, 0x96, 0x9E, 0x9E, + 0xA0, 0xA0, 0xA8, 0xA8, 0xA4, 0xA4, 0xAC, 0xAC, + 0xA2, 0xA2, 0xAA, 0xAA, 0xA6, 0xA6, 0xAE, 0xAE, + 0xB0, 0xB0, 0xB8, 0xB8, 0xB4, 0xB4, 0xBC, 0xBC, + 0xB2, 0xB2, 0xBA, 0xBA, 0xB6, 0xB6, 0xBE, 0xBE, + 0xC0, 0xC0, 0xC8, 0xC8, 0xC4, 0xC4, 0xCC, 0xCC, + 0xC2, 0xC2, 0xCA, 0xCA, 0xC6, 0xC6, 0xCE, 0xCE, + 0xD0, 0xD0, 0xD8, 0xD8, 0xD4, 0xD4, 0xDC, 0xDC, + 0xD2, 0xD2, 0xDA, 0xDA, 0xD6, 0xD6, 0xDE, 0xDE, + 0xE0, 0xE0, 0xE8, 0xE8, 0xE4, 0xE4, 0xEC, 0xEC, + 0xE2, 0xE2, 0xEA, 0xEA, 0xE6, 0xE6, 0xEE, 0xEE, + 0xF0, 0xF0, 0xF8, 0xF8, 0xF4, 0xF4, 0xFC, 0xFC, + 0xF2, 0xF2, 0xFA, 0xFA, 0xF6, 0xF6, 0xFE, 0xFE + ); + + // Mapping tables for the PC-2 transformation. + static $pc2mapc1 = array( + 0x00000000, 0x00000400, 0x00200000, 0x00200400, + 0x00000001, 0x00000401, 0x00200001, 0x00200401, + 0x02000000, 0x02000400, 0x02200000, 0x02200400, + 0x02000001, 0x02000401, 0x02200001, 0x02200401 + ); + static $pc2mapc2 = array( + 0x00000000, 0x00000800, 0x08000000, 0x08000800, + 0x00010000, 0x00010800, 0x08010000, 0x08010800, + 0x00000000, 0x00000800, 0x08000000, 0x08000800, + 0x00010000, 0x00010800, 0x08010000, 0x08010800, + 0x00000100, 0x00000900, 0x08000100, 0x08000900, + 0x00010100, 0x00010900, 0x08010100, 0x08010900, + 0x00000100, 0x00000900, 0x08000100, 0x08000900, + 0x00010100, 0x00010900, 0x08010100, 0x08010900, + 0x00000010, 0x00000810, 0x08000010, 0x08000810, + 0x00010010, 0x00010810, 0x08010010, 0x08010810, + 0x00000010, 0x00000810, 0x08000010, 0x08000810, + 0x00010010, 0x00010810, 0x08010010, 0x08010810, + 0x00000110, 0x00000910, 0x08000110, 0x08000910, + 0x00010110, 0x00010910, 0x08010110, 0x08010910, + 0x00000110, 0x00000910, 0x08000110, 0x08000910, + 0x00010110, 0x00010910, 0x08010110, 0x08010910, + 0x00040000, 0x00040800, 0x08040000, 0x08040800, + 0x00050000, 0x00050800, 0x08050000, 0x08050800, + 0x00040000, 0x00040800, 0x08040000, 0x08040800, + 0x00050000, 0x00050800, 0x08050000, 0x08050800, + 0x00040100, 0x00040900, 0x08040100, 0x08040900, + 0x00050100, 0x00050900, 0x08050100, 0x08050900, + 0x00040100, 0x00040900, 0x08040100, 0x08040900, + 0x00050100, 0x00050900, 0x08050100, 0x08050900, + 0x00040010, 0x00040810, 0x08040010, 0x08040810, + 0x00050010, 0x00050810, 0x08050010, 0x08050810, + 0x00040010, 0x00040810, 0x08040010, 0x08040810, + 0x00050010, 0x00050810, 0x08050010, 0x08050810, + 0x00040110, 0x00040910, 0x08040110, 0x08040910, + 0x00050110, 0x00050910, 0x08050110, 0x08050910, + 0x00040110, 0x00040910, 0x08040110, 0x08040910, + 0x00050110, 0x00050910, 0x08050110, 0x08050910, + 0x01000000, 0x01000800, 0x09000000, 0x09000800, + 0x01010000, 0x01010800, 0x09010000, 0x09010800, + 0x01000000, 0x01000800, 0x09000000, 0x09000800, + 0x01010000, 0x01010800, 0x09010000, 0x09010800, + 0x01000100, 0x01000900, 0x09000100, 0x09000900, + 0x01010100, 0x01010900, 0x09010100, 0x09010900, + 0x01000100, 0x01000900, 0x09000100, 0x09000900, + 0x01010100, 0x01010900, 0x09010100, 0x09010900, + 0x01000010, 0x01000810, 0x09000010, 0x09000810, + 0x01010010, 0x01010810, 0x09010010, 0x09010810, + 0x01000010, 0x01000810, 0x09000010, 0x09000810, + 0x01010010, 0x01010810, 0x09010010, 0x09010810, + 0x01000110, 0x01000910, 0x09000110, 0x09000910, + 0x01010110, 0x01010910, 0x09010110, 0x09010910, + 0x01000110, 0x01000910, 0x09000110, 0x09000910, + 0x01010110, 0x01010910, 0x09010110, 0x09010910, + 0x01040000, 0x01040800, 0x09040000, 0x09040800, + 0x01050000, 0x01050800, 0x09050000, 0x09050800, + 0x01040000, 0x01040800, 0x09040000, 0x09040800, + 0x01050000, 0x01050800, 0x09050000, 0x09050800, + 0x01040100, 0x01040900, 0x09040100, 0x09040900, + 0x01050100, 0x01050900, 0x09050100, 0x09050900, + 0x01040100, 0x01040900, 0x09040100, 0x09040900, + 0x01050100, 0x01050900, 0x09050100, 0x09050900, + 0x01040010, 0x01040810, 0x09040010, 0x09040810, + 0x01050010, 0x01050810, 0x09050010, 0x09050810, + 0x01040010, 0x01040810, 0x09040010, 0x09040810, + 0x01050010, 0x01050810, 0x09050010, 0x09050810, + 0x01040110, 0x01040910, 0x09040110, 0x09040910, + 0x01050110, 0x01050910, 0x09050110, 0x09050910, + 0x01040110, 0x01040910, 0x09040110, 0x09040910, + 0x01050110, 0x01050910, 0x09050110, 0x09050910 + ); + static $pc2mapc3 = array( + 0x00000000, 0x00000004, 0x00001000, 0x00001004, + 0x00000000, 0x00000004, 0x00001000, 0x00001004, + 0x10000000, 0x10000004, 0x10001000, 0x10001004, + 0x10000000, 0x10000004, 0x10001000, 0x10001004, + 0x00000020, 0x00000024, 0x00001020, 0x00001024, + 0x00000020, 0x00000024, 0x00001020, 0x00001024, + 0x10000020, 0x10000024, 0x10001020, 0x10001024, + 0x10000020, 0x10000024, 0x10001020, 0x10001024, + 0x00080000, 0x00080004, 0x00081000, 0x00081004, + 0x00080000, 0x00080004, 0x00081000, 0x00081004, + 0x10080000, 0x10080004, 0x10081000, 0x10081004, + 0x10080000, 0x10080004, 0x10081000, 0x10081004, + 0x00080020, 0x00080024, 0x00081020, 0x00081024, + 0x00080020, 0x00080024, 0x00081020, 0x00081024, + 0x10080020, 0x10080024, 0x10081020, 0x10081024, + 0x10080020, 0x10080024, 0x10081020, 0x10081024, + 0x20000000, 0x20000004, 0x20001000, 0x20001004, + 0x20000000, 0x20000004, 0x20001000, 0x20001004, + 0x30000000, 0x30000004, 0x30001000, 0x30001004, + 0x30000000, 0x30000004, 0x30001000, 0x30001004, + 0x20000020, 0x20000024, 0x20001020, 0x20001024, + 0x20000020, 0x20000024, 0x20001020, 0x20001024, + 0x30000020, 0x30000024, 0x30001020, 0x30001024, + 0x30000020, 0x30000024, 0x30001020, 0x30001024, + 0x20080000, 0x20080004, 0x20081000, 0x20081004, + 0x20080000, 0x20080004, 0x20081000, 0x20081004, + 0x30080000, 0x30080004, 0x30081000, 0x30081004, + 0x30080000, 0x30080004, 0x30081000, 0x30081004, + 0x20080020, 0x20080024, 0x20081020, 0x20081024, + 0x20080020, 0x20080024, 0x20081020, 0x20081024, + 0x30080020, 0x30080024, 0x30081020, 0x30081024, + 0x30080020, 0x30080024, 0x30081020, 0x30081024, + 0x00000002, 0x00000006, 0x00001002, 0x00001006, + 0x00000002, 0x00000006, 0x00001002, 0x00001006, + 0x10000002, 0x10000006, 0x10001002, 0x10001006, + 0x10000002, 0x10000006, 0x10001002, 0x10001006, + 0x00000022, 0x00000026, 0x00001022, 0x00001026, + 0x00000022, 0x00000026, 0x00001022, 0x00001026, + 0x10000022, 0x10000026, 0x10001022, 0x10001026, + 0x10000022, 0x10000026, 0x10001022, 0x10001026, + 0x00080002, 0x00080006, 0x00081002, 0x00081006, + 0x00080002, 0x00080006, 0x00081002, 0x00081006, + 0x10080002, 0x10080006, 0x10081002, 0x10081006, + 0x10080002, 0x10080006, 0x10081002, 0x10081006, + 0x00080022, 0x00080026, 0x00081022, 0x00081026, + 0x00080022, 0x00080026, 0x00081022, 0x00081026, + 0x10080022, 0x10080026, 0x10081022, 0x10081026, + 0x10080022, 0x10080026, 0x10081022, 0x10081026, + 0x20000002, 0x20000006, 0x20001002, 0x20001006, + 0x20000002, 0x20000006, 0x20001002, 0x20001006, + 0x30000002, 0x30000006, 0x30001002, 0x30001006, + 0x30000002, 0x30000006, 0x30001002, 0x30001006, + 0x20000022, 0x20000026, 0x20001022, 0x20001026, + 0x20000022, 0x20000026, 0x20001022, 0x20001026, + 0x30000022, 0x30000026, 0x30001022, 0x30001026, + 0x30000022, 0x30000026, 0x30001022, 0x30001026, + 0x20080002, 0x20080006, 0x20081002, 0x20081006, + 0x20080002, 0x20080006, 0x20081002, 0x20081006, + 0x30080002, 0x30080006, 0x30081002, 0x30081006, + 0x30080002, 0x30080006, 0x30081002, 0x30081006, + 0x20080022, 0x20080026, 0x20081022, 0x20081026, + 0x20080022, 0x20080026, 0x20081022, 0x20081026, + 0x30080022, 0x30080026, 0x30081022, 0x30081026, + 0x30080022, 0x30080026, 0x30081022, 0x30081026 + ); + static $pc2mapc4 = array( + 0x00000000, 0x00100000, 0x00000008, 0x00100008, + 0x00000200, 0x00100200, 0x00000208, 0x00100208, + 0x00000000, 0x00100000, 0x00000008, 0x00100008, + 0x00000200, 0x00100200, 0x00000208, 0x00100208, + 0x04000000, 0x04100000, 0x04000008, 0x04100008, + 0x04000200, 0x04100200, 0x04000208, 0x04100208, + 0x04000000, 0x04100000, 0x04000008, 0x04100008, + 0x04000200, 0x04100200, 0x04000208, 0x04100208, + 0x00002000, 0x00102000, 0x00002008, 0x00102008, + 0x00002200, 0x00102200, 0x00002208, 0x00102208, + 0x00002000, 0x00102000, 0x00002008, 0x00102008, + 0x00002200, 0x00102200, 0x00002208, 0x00102208, + 0x04002000, 0x04102000, 0x04002008, 0x04102008, + 0x04002200, 0x04102200, 0x04002208, 0x04102208, + 0x04002000, 0x04102000, 0x04002008, 0x04102008, + 0x04002200, 0x04102200, 0x04002208, 0x04102208, + 0x00000000, 0x00100000, 0x00000008, 0x00100008, + 0x00000200, 0x00100200, 0x00000208, 0x00100208, + 0x00000000, 0x00100000, 0x00000008, 0x00100008, + 0x00000200, 0x00100200, 0x00000208, 0x00100208, + 0x04000000, 0x04100000, 0x04000008, 0x04100008, + 0x04000200, 0x04100200, 0x04000208, 0x04100208, + 0x04000000, 0x04100000, 0x04000008, 0x04100008, + 0x04000200, 0x04100200, 0x04000208, 0x04100208, + 0x00002000, 0x00102000, 0x00002008, 0x00102008, + 0x00002200, 0x00102200, 0x00002208, 0x00102208, + 0x00002000, 0x00102000, 0x00002008, 0x00102008, + 0x00002200, 0x00102200, 0x00002208, 0x00102208, + 0x04002000, 0x04102000, 0x04002008, 0x04102008, + 0x04002200, 0x04102200, 0x04002208, 0x04102208, + 0x04002000, 0x04102000, 0x04002008, 0x04102008, + 0x04002200, 0x04102200, 0x04002208, 0x04102208, + 0x00020000, 0x00120000, 0x00020008, 0x00120008, + 0x00020200, 0x00120200, 0x00020208, 0x00120208, + 0x00020000, 0x00120000, 0x00020008, 0x00120008, + 0x00020200, 0x00120200, 0x00020208, 0x00120208, + 0x04020000, 0x04120000, 0x04020008, 0x04120008, + 0x04020200, 0x04120200, 0x04020208, 0x04120208, + 0x04020000, 0x04120000, 0x04020008, 0x04120008, + 0x04020200, 0x04120200, 0x04020208, 0x04120208, + 0x00022000, 0x00122000, 0x00022008, 0x00122008, + 0x00022200, 0x00122200, 0x00022208, 0x00122208, + 0x00022000, 0x00122000, 0x00022008, 0x00122008, + 0x00022200, 0x00122200, 0x00022208, 0x00122208, + 0x04022000, 0x04122000, 0x04022008, 0x04122008, + 0x04022200, 0x04122200, 0x04022208, 0x04122208, + 0x04022000, 0x04122000, 0x04022008, 0x04122008, + 0x04022200, 0x04122200, 0x04022208, 0x04122208, + 0x00020000, 0x00120000, 0x00020008, 0x00120008, + 0x00020200, 0x00120200, 0x00020208, 0x00120208, + 0x00020000, 0x00120000, 0x00020008, 0x00120008, + 0x00020200, 0x00120200, 0x00020208, 0x00120208, + 0x04020000, 0x04120000, 0x04020008, 0x04120008, + 0x04020200, 0x04120200, 0x04020208, 0x04120208, + 0x04020000, 0x04120000, 0x04020008, 0x04120008, + 0x04020200, 0x04120200, 0x04020208, 0x04120208, + 0x00022000, 0x00122000, 0x00022008, 0x00122008, + 0x00022200, 0x00122200, 0x00022208, 0x00122208, + 0x00022000, 0x00122000, 0x00022008, 0x00122008, + 0x00022200, 0x00122200, 0x00022208, 0x00122208, + 0x04022000, 0x04122000, 0x04022008, 0x04122008, + 0x04022200, 0x04122200, 0x04022208, 0x04122208, + 0x04022000, 0x04122000, 0x04022008, 0x04122008, + 0x04022200, 0x04122200, 0x04022208, 0x04122208 + ); + static $pc2mapd1 = array( + 0x00000000, 0x00000001, 0x08000000, 0x08000001, + 0x00200000, 0x00200001, 0x08200000, 0x08200001, + 0x00000002, 0x00000003, 0x08000002, 0x08000003, + 0x00200002, 0x00200003, 0x08200002, 0x08200003 + ); + static $pc2mapd2 = array( + 0x00000000, 0x00100000, 0x00000800, 0x00100800, + 0x00000000, 0x00100000, 0x00000800, 0x00100800, + 0x04000000, 0x04100000, 0x04000800, 0x04100800, + 0x04000000, 0x04100000, 0x04000800, 0x04100800, + 0x00000004, 0x00100004, 0x00000804, 0x00100804, + 0x00000004, 0x00100004, 0x00000804, 0x00100804, + 0x04000004, 0x04100004, 0x04000804, 0x04100804, + 0x04000004, 0x04100004, 0x04000804, 0x04100804, + 0x00000000, 0x00100000, 0x00000800, 0x00100800, + 0x00000000, 0x00100000, 0x00000800, 0x00100800, + 0x04000000, 0x04100000, 0x04000800, 0x04100800, + 0x04000000, 0x04100000, 0x04000800, 0x04100800, + 0x00000004, 0x00100004, 0x00000804, 0x00100804, + 0x00000004, 0x00100004, 0x00000804, 0x00100804, + 0x04000004, 0x04100004, 0x04000804, 0x04100804, + 0x04000004, 0x04100004, 0x04000804, 0x04100804, + 0x00000200, 0x00100200, 0x00000A00, 0x00100A00, + 0x00000200, 0x00100200, 0x00000A00, 0x00100A00, + 0x04000200, 0x04100200, 0x04000A00, 0x04100A00, + 0x04000200, 0x04100200, 0x04000A00, 0x04100A00, + 0x00000204, 0x00100204, 0x00000A04, 0x00100A04, + 0x00000204, 0x00100204, 0x00000A04, 0x00100A04, + 0x04000204, 0x04100204, 0x04000A04, 0x04100A04, + 0x04000204, 0x04100204, 0x04000A04, 0x04100A04, + 0x00000200, 0x00100200, 0x00000A00, 0x00100A00, + 0x00000200, 0x00100200, 0x00000A00, 0x00100A00, + 0x04000200, 0x04100200, 0x04000A00, 0x04100A00, + 0x04000200, 0x04100200, 0x04000A00, 0x04100A00, + 0x00000204, 0x00100204, 0x00000A04, 0x00100A04, + 0x00000204, 0x00100204, 0x00000A04, 0x00100A04, + 0x04000204, 0x04100204, 0x04000A04, 0x04100A04, + 0x04000204, 0x04100204, 0x04000A04, 0x04100A04, + 0x00020000, 0x00120000, 0x00020800, 0x00120800, + 0x00020000, 0x00120000, 0x00020800, 0x00120800, + 0x04020000, 0x04120000, 0x04020800, 0x04120800, + 0x04020000, 0x04120000, 0x04020800, 0x04120800, + 0x00020004, 0x00120004, 0x00020804, 0x00120804, + 0x00020004, 0x00120004, 0x00020804, 0x00120804, + 0x04020004, 0x04120004, 0x04020804, 0x04120804, + 0x04020004, 0x04120004, 0x04020804, 0x04120804, + 0x00020000, 0x00120000, 0x00020800, 0x00120800, + 0x00020000, 0x00120000, 0x00020800, 0x00120800, + 0x04020000, 0x04120000, 0x04020800, 0x04120800, + 0x04020000, 0x04120000, 0x04020800, 0x04120800, + 0x00020004, 0x00120004, 0x00020804, 0x00120804, + 0x00020004, 0x00120004, 0x00020804, 0x00120804, + 0x04020004, 0x04120004, 0x04020804, 0x04120804, + 0x04020004, 0x04120004, 0x04020804, 0x04120804, + 0x00020200, 0x00120200, 0x00020A00, 0x00120A00, + 0x00020200, 0x00120200, 0x00020A00, 0x00120A00, + 0x04020200, 0x04120200, 0x04020A00, 0x04120A00, + 0x04020200, 0x04120200, 0x04020A00, 0x04120A00, + 0x00020204, 0x00120204, 0x00020A04, 0x00120A04, + 0x00020204, 0x00120204, 0x00020A04, 0x00120A04, + 0x04020204, 0x04120204, 0x04020A04, 0x04120A04, + 0x04020204, 0x04120204, 0x04020A04, 0x04120A04, + 0x00020200, 0x00120200, 0x00020A00, 0x00120A00, + 0x00020200, 0x00120200, 0x00020A00, 0x00120A00, + 0x04020200, 0x04120200, 0x04020A00, 0x04120A00, + 0x04020200, 0x04120200, 0x04020A00, 0x04120A00, + 0x00020204, 0x00120204, 0x00020A04, 0x00120A04, + 0x00020204, 0x00120204, 0x00020A04, 0x00120A04, + 0x04020204, 0x04120204, 0x04020A04, 0x04120A04, + 0x04020204, 0x04120204, 0x04020A04, 0x04120A04 + ); + static $pc2mapd3 = array( + 0x00000000, 0x00010000, 0x02000000, 0x02010000, + 0x00000020, 0x00010020, 0x02000020, 0x02010020, + 0x00040000, 0x00050000, 0x02040000, 0x02050000, + 0x00040020, 0x00050020, 0x02040020, 0x02050020, + 0x00002000, 0x00012000, 0x02002000, 0x02012000, + 0x00002020, 0x00012020, 0x02002020, 0x02012020, + 0x00042000, 0x00052000, 0x02042000, 0x02052000, + 0x00042020, 0x00052020, 0x02042020, 0x02052020, + 0x00000000, 0x00010000, 0x02000000, 0x02010000, + 0x00000020, 0x00010020, 0x02000020, 0x02010020, + 0x00040000, 0x00050000, 0x02040000, 0x02050000, + 0x00040020, 0x00050020, 0x02040020, 0x02050020, + 0x00002000, 0x00012000, 0x02002000, 0x02012000, + 0x00002020, 0x00012020, 0x02002020, 0x02012020, + 0x00042000, 0x00052000, 0x02042000, 0x02052000, + 0x00042020, 0x00052020, 0x02042020, 0x02052020, + 0x00000010, 0x00010010, 0x02000010, 0x02010010, + 0x00000030, 0x00010030, 0x02000030, 0x02010030, + 0x00040010, 0x00050010, 0x02040010, 0x02050010, + 0x00040030, 0x00050030, 0x02040030, 0x02050030, + 0x00002010, 0x00012010, 0x02002010, 0x02012010, + 0x00002030, 0x00012030, 0x02002030, 0x02012030, + 0x00042010, 0x00052010, 0x02042010, 0x02052010, + 0x00042030, 0x00052030, 0x02042030, 0x02052030, + 0x00000010, 0x00010010, 0x02000010, 0x02010010, + 0x00000030, 0x00010030, 0x02000030, 0x02010030, + 0x00040010, 0x00050010, 0x02040010, 0x02050010, + 0x00040030, 0x00050030, 0x02040030, 0x02050030, + 0x00002010, 0x00012010, 0x02002010, 0x02012010, + 0x00002030, 0x00012030, 0x02002030, 0x02012030, + 0x00042010, 0x00052010, 0x02042010, 0x02052010, + 0x00042030, 0x00052030, 0x02042030, 0x02052030, + 0x20000000, 0x20010000, 0x22000000, 0x22010000, + 0x20000020, 0x20010020, 0x22000020, 0x22010020, + 0x20040000, 0x20050000, 0x22040000, 0x22050000, + 0x20040020, 0x20050020, 0x22040020, 0x22050020, + 0x20002000, 0x20012000, 0x22002000, 0x22012000, + 0x20002020, 0x20012020, 0x22002020, 0x22012020, + 0x20042000, 0x20052000, 0x22042000, 0x22052000, + 0x20042020, 0x20052020, 0x22042020, 0x22052020, + 0x20000000, 0x20010000, 0x22000000, 0x22010000, + 0x20000020, 0x20010020, 0x22000020, 0x22010020, + 0x20040000, 0x20050000, 0x22040000, 0x22050000, + 0x20040020, 0x20050020, 0x22040020, 0x22050020, + 0x20002000, 0x20012000, 0x22002000, 0x22012000, + 0x20002020, 0x20012020, 0x22002020, 0x22012020, + 0x20042000, 0x20052000, 0x22042000, 0x22052000, + 0x20042020, 0x20052020, 0x22042020, 0x22052020, + 0x20000010, 0x20010010, 0x22000010, 0x22010010, + 0x20000030, 0x20010030, 0x22000030, 0x22010030, + 0x20040010, 0x20050010, 0x22040010, 0x22050010, + 0x20040030, 0x20050030, 0x22040030, 0x22050030, + 0x20002010, 0x20012010, 0x22002010, 0x22012010, + 0x20002030, 0x20012030, 0x22002030, 0x22012030, + 0x20042010, 0x20052010, 0x22042010, 0x22052010, + 0x20042030, 0x20052030, 0x22042030, 0x22052030, + 0x20000010, 0x20010010, 0x22000010, 0x22010010, + 0x20000030, 0x20010030, 0x22000030, 0x22010030, + 0x20040010, 0x20050010, 0x22040010, 0x22050010, + 0x20040030, 0x20050030, 0x22040030, 0x22050030, + 0x20002010, 0x20012010, 0x22002010, 0x22012010, + 0x20002030, 0x20012030, 0x22002030, 0x22012030, + 0x20042010, 0x20052010, 0x22042010, 0x22052010, + 0x20042030, 0x20052030, 0x22042030, 0x22052030 + ); + static $pc2mapd4 = array( + 0x00000000, 0x00000400, 0x01000000, 0x01000400, + 0x00000000, 0x00000400, 0x01000000, 0x01000400, + 0x00000100, 0x00000500, 0x01000100, 0x01000500, + 0x00000100, 0x00000500, 0x01000100, 0x01000500, + 0x10000000, 0x10000400, 0x11000000, 0x11000400, + 0x10000000, 0x10000400, 0x11000000, 0x11000400, + 0x10000100, 0x10000500, 0x11000100, 0x11000500, + 0x10000100, 0x10000500, 0x11000100, 0x11000500, + 0x00080000, 0x00080400, 0x01080000, 0x01080400, + 0x00080000, 0x00080400, 0x01080000, 0x01080400, + 0x00080100, 0x00080500, 0x01080100, 0x01080500, + 0x00080100, 0x00080500, 0x01080100, 0x01080500, + 0x10080000, 0x10080400, 0x11080000, 0x11080400, + 0x10080000, 0x10080400, 0x11080000, 0x11080400, + 0x10080100, 0x10080500, 0x11080100, 0x11080500, + 0x10080100, 0x10080500, 0x11080100, 0x11080500, + 0x00000008, 0x00000408, 0x01000008, 0x01000408, + 0x00000008, 0x00000408, 0x01000008, 0x01000408, + 0x00000108, 0x00000508, 0x01000108, 0x01000508, + 0x00000108, 0x00000508, 0x01000108, 0x01000508, + 0x10000008, 0x10000408, 0x11000008, 0x11000408, + 0x10000008, 0x10000408, 0x11000008, 0x11000408, + 0x10000108, 0x10000508, 0x11000108, 0x11000508, + 0x10000108, 0x10000508, 0x11000108, 0x11000508, + 0x00080008, 0x00080408, 0x01080008, 0x01080408, + 0x00080008, 0x00080408, 0x01080008, 0x01080408, + 0x00080108, 0x00080508, 0x01080108, 0x01080508, + 0x00080108, 0x00080508, 0x01080108, 0x01080508, + 0x10080008, 0x10080408, 0x11080008, 0x11080408, + 0x10080008, 0x10080408, 0x11080008, 0x11080408, + 0x10080108, 0x10080508, 0x11080108, 0x11080508, + 0x10080108, 0x10080508, 0x11080108, 0x11080508, + 0x00001000, 0x00001400, 0x01001000, 0x01001400, + 0x00001000, 0x00001400, 0x01001000, 0x01001400, + 0x00001100, 0x00001500, 0x01001100, 0x01001500, + 0x00001100, 0x00001500, 0x01001100, 0x01001500, + 0x10001000, 0x10001400, 0x11001000, 0x11001400, + 0x10001000, 0x10001400, 0x11001000, 0x11001400, + 0x10001100, 0x10001500, 0x11001100, 0x11001500, + 0x10001100, 0x10001500, 0x11001100, 0x11001500, + 0x00081000, 0x00081400, 0x01081000, 0x01081400, + 0x00081000, 0x00081400, 0x01081000, 0x01081400, + 0x00081100, 0x00081500, 0x01081100, 0x01081500, + 0x00081100, 0x00081500, 0x01081100, 0x01081500, + 0x10081000, 0x10081400, 0x11081000, 0x11081400, + 0x10081000, 0x10081400, 0x11081000, 0x11081400, + 0x10081100, 0x10081500, 0x11081100, 0x11081500, + 0x10081100, 0x10081500, 0x11081100, 0x11081500, + 0x00001008, 0x00001408, 0x01001008, 0x01001408, + 0x00001008, 0x00001408, 0x01001008, 0x01001408, + 0x00001108, 0x00001508, 0x01001108, 0x01001508, + 0x00001108, 0x00001508, 0x01001108, 0x01001508, + 0x10001008, 0x10001408, 0x11001008, 0x11001408, + 0x10001008, 0x10001408, 0x11001008, 0x11001408, + 0x10001108, 0x10001508, 0x11001108, 0x11001508, + 0x10001108, 0x10001508, 0x11001108, 0x11001508, + 0x00081008, 0x00081408, 0x01081008, 0x01081408, + 0x00081008, 0x00081408, 0x01081008, 0x01081408, + 0x00081108, 0x00081508, 0x01081108, 0x01081508, + 0x00081108, 0x00081508, 0x01081108, 0x01081508, + 0x10081008, 0x10081408, 0x11081008, 0x11081408, + 0x10081008, 0x10081408, 0x11081008, 0x11081408, + 0x10081108, 0x10081508, 0x11081108, 0x11081508, + 0x10081108, 0x10081508, 0x11081108, 0x11081508 + ); + + $keys = array(); + for ($des_round = 0; $des_round < $this->des_rounds; ++$des_round) { + // pad the key and remove extra characters as appropriate. + $key = str_pad(substr($this->key, $des_round * 8, 8), 8, "\0"); + + // Perform the PC/1 transformation and compute C and D. + $t = unpack('Nl/Nr', $key); + list($l, $r) = array($t['l'], $t['r']); + $key = ($this->shuffle[$pc1map[ $r & 0xFF]] & "\x80\x80\x80\x80\x80\x80\x80\x00") | + ($this->shuffle[$pc1map[($r >> 8) & 0xFF]] & "\x40\x40\x40\x40\x40\x40\x40\x00") | + ($this->shuffle[$pc1map[($r >> 16) & 0xFF]] & "\x20\x20\x20\x20\x20\x20\x20\x00") | + ($this->shuffle[$pc1map[($r >> 24) & 0xFF]] & "\x10\x10\x10\x10\x10\x10\x10\x00") | + ($this->shuffle[$pc1map[ $l & 0xFF]] & "\x08\x08\x08\x08\x08\x08\x08\x00") | + ($this->shuffle[$pc1map[($l >> 8) & 0xFF]] & "\x04\x04\x04\x04\x04\x04\x04\x00") | + ($this->shuffle[$pc1map[($l >> 16) & 0xFF]] & "\x02\x02\x02\x02\x02\x02\x02\x00") | + ($this->shuffle[$pc1map[($l >> 24) & 0xFF]] & "\x01\x01\x01\x01\x01\x01\x01\x00"); + $key = unpack('Nc/Nd', $key); + $c = ( $key['c'] >> 4) & 0x0FFFFFFF; + $d = (($key['d'] >> 4) & 0x0FFFFFF0) | ($key['c'] & 0x0F); + + $keys[$des_round] = array( + self::ENCRYPT => array(), + self::DECRYPT => array_fill(0, 32, 0) + ); + for ($i = 0, $ki = 31; $i < 16; ++$i, $ki-= 2) { + $c <<= $shifts[$i]; + $c = ($c | ($c >> 28)) & 0x0FFFFFFF; + $d <<= $shifts[$i]; + $d = ($d | ($d >> 28)) & 0x0FFFFFFF; + + // Perform the PC-2 transformation. + $cp = $pc2mapc1[ $c >> 24 ] | $pc2mapc2[($c >> 16) & 0xFF] | + $pc2mapc3[($c >> 8) & 0xFF] | $pc2mapc4[ $c & 0xFF]; + $dp = $pc2mapd1[ $d >> 24 ] | $pc2mapd2[($d >> 16) & 0xFF] | + $pc2mapd3[($d >> 8) & 0xFF] | $pc2mapd4[ $d & 0xFF]; + + // Reorder: odd bytes/even bytes. Push the result in key schedule. + $val1 = ( $cp & 0xFF000000) | (($cp << 8) & 0x00FF0000) | + (($dp >> 16) & 0x0000FF00) | (($dp >> 8) & 0x000000FF); + $val2 = (($cp << 8) & 0xFF000000) | (($cp << 16) & 0x00FF0000) | + (($dp >> 8) & 0x0000FF00) | ( $dp & 0x000000FF); + $keys[$des_round][self::ENCRYPT][ ] = $val1; + $keys[$des_round][self::DECRYPT][$ki - 1] = $val1; + $keys[$des_round][self::ENCRYPT][ ] = $val2; + $keys[$des_round][self::DECRYPT][$ki ] = $val2; + } + } + + switch ($this->des_rounds) { + case 3: // 3DES keys + $this->keys = array( + self::ENCRYPT => array_merge( + $keys[0][self::ENCRYPT], + $keys[1][self::DECRYPT], + $keys[2][self::ENCRYPT] + ), + self::DECRYPT => array_merge( + $keys[2][self::DECRYPT], + $keys[1][self::ENCRYPT], + $keys[0][self::DECRYPT] + ) + ); + break; + // case 1: // DES keys + default: + $this->keys = array( + self::ENCRYPT => $keys[0][self::ENCRYPT], + self::DECRYPT => $keys[0][self::DECRYPT] + ); + } + } + + /** + * Setup the performance-optimized function for de/encrypt() + * + * @see \phpseclib\Crypt\Base::_setupInlineCrypt() + * @access private + */ + function _setupInlineCrypt() + { + $lambda_functions =& self::_getLambdaFunctions(); + + // Engine configuration for: + // - DES ($des_rounds == 1) or + // - 3DES ($des_rounds == 3) + $des_rounds = $this->des_rounds; + + // We create max. 10 hi-optimized code for memory reason. Means: For each $key one ultra fast inline-crypt function. + // (Currently, for DES, one generated $lambda_function cost on php5.5@32bit ~135kb unfreeable mem and ~230kb on php5.5@64bit) + // (Currently, for TripleDES, one generated $lambda_function cost on php5.5@32bit ~240kb unfreeable mem and ~340kb on php5.5@64bit) + // After that, we'll still create very fast optimized code but not the hi-ultimative code, for each $mode one + $gen_hi_opt_code = (bool)( count($lambda_functions) < 10 ); + + // Generation of a unique hash for our generated code + $code_hash = "Crypt_DES, $des_rounds, {$this->mode}"; + if ($gen_hi_opt_code) { + // For hi-optimized code, we create for each combination of + // $mode, $des_rounds and $this->key its own encrypt/decrypt function. + // After max 10 hi-optimized functions, we create generic + // (still very fast.. but not ultra) functions for each $mode/$des_rounds + // Currently 2 * 5 generic functions will be then max. possible. + $code_hash = str_pad($code_hash, 32) . $this->_hashInlineCryptFunction($this->key); + } + + // Is there a re-usable $lambda_functions in there? If not, we have to create it. + if (!isset($lambda_functions[$code_hash])) { + // Init code for both, encrypt and decrypt. + $init_crypt = 'static $sbox1, $sbox2, $sbox3, $sbox4, $sbox5, $sbox6, $sbox7, $sbox8, $shuffleip, $shuffleinvip; + if (!$sbox1) { + $sbox1 = array_map("intval", $self->sbox1); + $sbox2 = array_map("intval", $self->sbox2); + $sbox3 = array_map("intval", $self->sbox3); + $sbox4 = array_map("intval", $self->sbox4); + $sbox5 = array_map("intval", $self->sbox5); + $sbox6 = array_map("intval", $self->sbox6); + $sbox7 = array_map("intval", $self->sbox7); + $sbox8 = array_map("intval", $self->sbox8);' + /* Merge $shuffle with $[inv]ipmap */ . ' + for ($i = 0; $i < 256; ++$i) { + $shuffleip[] = $self->shuffle[$self->ipmap[$i]]; + $shuffleinvip[] = $self->shuffle[$self->invipmap[$i]]; + } + } + '; + + switch (true) { + case $gen_hi_opt_code: + // In Hi-optimized code mode, we use our [3]DES key schedule as hardcoded integers. + // No futher initialisation of the $keys schedule is necessary. + // That is the extra performance boost. + $k = array( + self::ENCRYPT => $this->keys[self::ENCRYPT], + self::DECRYPT => $this->keys[self::DECRYPT] + ); + $init_encrypt = ''; + $init_decrypt = ''; + break; + default: + // In generic optimized code mode, we have to use, as the best compromise [currently], + // our key schedule as $ke/$kd arrays. (with hardcoded indexes...) + $k = array( + self::ENCRYPT => array(), + self::DECRYPT => array() + ); + for ($i = 0, $c = count($this->keys[self::ENCRYPT]); $i < $c; ++$i) { + $k[self::ENCRYPT][$i] = '$ke[' . $i . ']'; + $k[self::DECRYPT][$i] = '$kd[' . $i . ']'; + } + $init_encrypt = '$ke = $self->keys[self::ENCRYPT];'; + $init_decrypt = '$kd = $self->keys[self::DECRYPT];'; + break; + } + + // Creating code for en- and decryption. + $crypt_block = array(); + foreach (array(self::ENCRYPT, self::DECRYPT) as $c) { + /* Do the initial IP permutation. */ + $crypt_block[$c] = ' + $in = unpack("N*", $in); + $l = $in[1]; + $r = $in[2]; + $in = unpack("N*", + ($shuffleip[ $r & 0xFF] & "\x80\x80\x80\x80\x80\x80\x80\x80") | + ($shuffleip[($r >> 8) & 0xFF] & "\x40\x40\x40\x40\x40\x40\x40\x40") | + ($shuffleip[($r >> 16) & 0xFF] & "\x20\x20\x20\x20\x20\x20\x20\x20") | + ($shuffleip[($r >> 24) & 0xFF] & "\x10\x10\x10\x10\x10\x10\x10\x10") | + ($shuffleip[ $l & 0xFF] & "\x08\x08\x08\x08\x08\x08\x08\x08") | + ($shuffleip[($l >> 8) & 0xFF] & "\x04\x04\x04\x04\x04\x04\x04\x04") | + ($shuffleip[($l >> 16) & 0xFF] & "\x02\x02\x02\x02\x02\x02\x02\x02") | + ($shuffleip[($l >> 24) & 0xFF] & "\x01\x01\x01\x01\x01\x01\x01\x01") + ); + ' . /* Extract L0 and R0 */ ' + $l = $in[1]; + $r = $in[2]; + '; + + $l = '$l'; + $r = '$r'; + + // Perform DES or 3DES. + for ($ki = -1, $des_round = 0; $des_round < $des_rounds; ++$des_round) { + // Perform the 16 steps. + for ($i = 0; $i < 16; ++$i) { + // start of "the Feistel (F) function" - see the following URL: + // http://en.wikipedia.org/wiki/Image:Data_Encryption_Standard_InfoBox_Diagram.png + // Merge key schedule. + $crypt_block[$c].= ' + $b1 = ((' . $r . ' >> 3) & 0x1FFFFFFF) ^ (' . $r . ' << 29) ^ ' . $k[$c][++$ki] . '; + $b2 = ((' . $r . ' >> 31) & 0x00000001) ^ (' . $r . ' << 1) ^ ' . $k[$c][++$ki] . ';' . + /* S-box indexing. */ + $l . ' = $sbox1[($b1 >> 24) & 0x3F] ^ $sbox2[($b2 >> 24) & 0x3F] ^ + $sbox3[($b1 >> 16) & 0x3F] ^ $sbox4[($b2 >> 16) & 0x3F] ^ + $sbox5[($b1 >> 8) & 0x3F] ^ $sbox6[($b2 >> 8) & 0x3F] ^ + $sbox7[ $b1 & 0x3F] ^ $sbox8[ $b2 & 0x3F] ^ ' . $l . '; + '; + // end of "the Feistel (F) function" + + // swap L & R + list($l, $r) = array($r, $l); + } + list($l, $r) = array($r, $l); + } + + // Perform the inverse IP permutation. + $crypt_block[$c].= '$in = + ($shuffleinvip[($l >> 24) & 0xFF] & "\x80\x80\x80\x80\x80\x80\x80\x80") | + ($shuffleinvip[($r >> 24) & 0xFF] & "\x40\x40\x40\x40\x40\x40\x40\x40") | + ($shuffleinvip[($l >> 16) & 0xFF] & "\x20\x20\x20\x20\x20\x20\x20\x20") | + ($shuffleinvip[($r >> 16) & 0xFF] & "\x10\x10\x10\x10\x10\x10\x10\x10") | + ($shuffleinvip[($l >> 8) & 0xFF] & "\x08\x08\x08\x08\x08\x08\x08\x08") | + ($shuffleinvip[($r >> 8) & 0xFF] & "\x04\x04\x04\x04\x04\x04\x04\x04") | + ($shuffleinvip[ $l & 0xFF] & "\x02\x02\x02\x02\x02\x02\x02\x02") | + ($shuffleinvip[ $r & 0xFF] & "\x01\x01\x01\x01\x01\x01\x01\x01"); + '; + } + + // Creates the inline-crypt function + $lambda_functions[$code_hash] = $this->_createInlineCryptFunction( + array( + 'init_crypt' => $init_crypt, + 'init_encrypt' => $init_encrypt, + 'init_decrypt' => $init_decrypt, + 'encrypt_block' => $crypt_block[self::ENCRYPT], + 'decrypt_block' => $crypt_block[self::DECRYPT] + ) + ); + } + + // Set the inline-crypt function as callback in: $this->inline_crypt + $this->inline_crypt = $lambda_functions[$code_hash]; + } +} diff --git a/vendor/phpseclib/phpseclib/phpseclib/Crypt/Hash.php b/vendor/phpseclib/phpseclib/phpseclib/Crypt/Hash.php new file mode 100644 index 00000000..07665a16 --- /dev/null +++ b/vendor/phpseclib/phpseclib/phpseclib/Crypt/Hash.php @@ -0,0 +1,824 @@ +<?php + +/** + * Pure-PHP implementations of keyed-hash message authentication codes (HMACs) and various cryptographic hashing functions. + * + * Uses hash() or mhash() if available and an internal implementation, otherwise. Currently supports the following: + * + * md2, md5, md5-96, sha1, sha1-96, sha256, sha256-96, sha384, and sha512, sha512-96 + * + * If {@link self::setKey() setKey()} is called, {@link self::hash() hash()} will return the HMAC as opposed to + * the hash. If no valid algorithm is provided, sha1 will be used. + * + * PHP version 5 + * + * {@internal The variable names are the same as those in + * {@link http://tools.ietf.org/html/rfc2104#section-2 RFC2104}.}} + * + * Here's a short example of how to use this library: + * <code> + * <?php + * include 'vendor/autoload.php'; + * + * $hash = new \phpseclib\Crypt\Hash('sha1'); + * + * $hash->setKey('abcdefg'); + * + * echo base64_encode($hash->hash('abcdefg')); + * ?> + * </code> + * + * @category Crypt + * @package Hash + * @author Jim Wigginton <terrafrost@php.net> + * @copyright 2007 Jim Wigginton + * @license http://www.opensource.org/licenses/mit-license.html MIT License + * @link http://phpseclib.sourceforge.net + */ + +namespace phpseclib\Crypt; + +use phpseclib\Math\BigInteger; + +/** + * Pure-PHP implementations of keyed-hash message authentication codes (HMACs) and various cryptographic hashing functions. + * + * @package Hash + * @author Jim Wigginton <terrafrost@php.net> + * @access public + */ +class Hash +{ + /**#@+ + * @access private + * @see \phpseclib\Crypt\Hash::__construct() + */ + /** + * Toggles the internal implementation + */ + const MODE_INTERNAL = 1; + /** + * Toggles the mhash() implementation, which has been deprecated on PHP 5.3.0+. + */ + const MODE_MHASH = 2; + /** + * Toggles the hash() implementation, which works on PHP 5.1.2+. + */ + const MODE_HASH = 3; + /**#@-*/ + + /** + * Hash Parameter + * + * @see self::setHash() + * @var int + * @access private + */ + var $hashParam; + + /** + * Byte-length of compression blocks / key (Internal HMAC) + * + * @see self::setAlgorithm() + * @var int + * @access private + */ + var $b; + + /** + * Byte-length of hash output (Internal HMAC) + * + * @see self::setHash() + * @var int + * @access private + */ + var $l = false; + + /** + * Hash Algorithm + * + * @see self::setHash() + * @var string + * @access private + */ + var $hash; + + /** + * Key + * + * @see self::setKey() + * @var string + * @access private + */ + var $key = false; + + /** + * Outer XOR (Internal HMAC) + * + * @see self::setKey() + * @var string + * @access private + */ + var $opad; + + /** + * Inner XOR (Internal HMAC) + * + * @see self::setKey() + * @var string + * @access private + */ + var $ipad; + + /** + * Default Constructor. + * + * @param string $hash + * @return \phpseclib\Crypt\Hash + * @access public + */ + function __construct($hash = 'sha1') + { + if (!defined('CRYPT_HASH_MODE')) { + switch (true) { + case extension_loaded('hash'): + define('CRYPT_HASH_MODE', self::MODE_HASH); + break; + case extension_loaded('mhash'): + define('CRYPT_HASH_MODE', self::MODE_MHASH); + break; + default: + define('CRYPT_HASH_MODE', self::MODE_INTERNAL); + } + } + + $this->setHash($hash); + } + + /** + * Sets the key for HMACs + * + * Keys can be of any length. + * + * @access public + * @param string $key + */ + function setKey($key = false) + { + $this->key = $key; + } + + /** + * Gets the hash function. + * + * As set by the constructor or by the setHash() method. + * + * @access public + * @return string + */ + function getHash() + { + return $this->hashParam; + } + + /** + * Sets the hash function. + * + * @access public + * @param string $hash + */ + function setHash($hash) + { + $this->hashParam = $hash = strtolower($hash); + switch ($hash) { + case 'md5-96': + case 'sha1-96': + case 'sha256-96': + case 'sha512-96': + $hash = substr($hash, 0, -3); + $this->l = 12; // 96 / 8 = 12 + break; + case 'md2': + case 'md5': + $this->l = 16; + break; + case 'sha1': + $this->l = 20; + break; + case 'sha256': + $this->l = 32; + break; + case 'sha384': + $this->l = 48; + break; + case 'sha512': + $this->l = 64; + } + + switch ($hash) { + case 'md2': + $mode = CRYPT_HASH_MODE == self::MODE_HASH && in_array('md2', hash_algos()) ? + self::MODE_HASH : self::MODE_INTERNAL; + break; + case 'sha384': + case 'sha512': + $mode = CRYPT_HASH_MODE == self::MODE_MHASH ? self::MODE_INTERNAL : CRYPT_HASH_MODE; + break; + default: + $mode = CRYPT_HASH_MODE; + } + + switch ($mode) { + case self::MODE_MHASH: + switch ($hash) { + case 'md5': + $this->hash = MHASH_MD5; + break; + case 'sha256': + $this->hash = MHASH_SHA256; + break; + case 'sha1': + default: + $this->hash = MHASH_SHA1; + } + return; + case self::MODE_HASH: + switch ($hash) { + case 'md5': + $this->hash = 'md5'; + return; + case 'md2': + case 'sha256': + case 'sha384': + case 'sha512': + $this->hash = $hash; + return; + case 'sha1': + default: + $this->hash = 'sha1'; + } + return; + } + + switch ($hash) { + case 'md2': + $this->b = 16; + $this->hash = array($this, '_md2'); + break; + case 'md5': + $this->b = 64; + $this->hash = array($this, '_md5'); + break; + case 'sha256': + $this->b = 64; + $this->hash = array($this, '_sha256'); + break; + case 'sha384': + case 'sha512': + $this->b = 128; + $this->hash = array($this, '_sha512'); + break; + case 'sha1': + default: + $this->b = 64; + $this->hash = array($this, '_sha1'); + } + + $this->ipad = str_repeat(chr(0x36), $this->b); + $this->opad = str_repeat(chr(0x5C), $this->b); + } + + /** + * Compute the HMAC. + * + * @access public + * @param string $text + * @return string + */ + function hash($text) + { + $mode = is_array($this->hash) ? self::MODE_INTERNAL : CRYPT_HASH_MODE; + + if (!empty($this->key) || is_string($this->key)) { + switch ($mode) { + case self::MODE_MHASH: + $output = mhash($this->hash, $text, $this->key); + break; + case self::MODE_HASH: + $output = hash_hmac($this->hash, $text, $this->key, true); + break; + case self::MODE_INTERNAL: + /* "Applications that use keys longer than B bytes will first hash the key using H and then use the + resultant L byte string as the actual key to HMAC." + + -- http://tools.ietf.org/html/rfc2104#section-2 */ + $key = strlen($this->key) > $this->b ? call_user_func($this->hash, $this->key) : $this->key; + + $key = str_pad($key, $this->b, chr(0)); // step 1 + $temp = $this->ipad ^ $key; // step 2 + $temp .= $text; // step 3 + $temp = call_user_func($this->hash, $temp); // step 4 + $output = $this->opad ^ $key; // step 5 + $output.= $temp; // step 6 + $output = call_user_func($this->hash, $output); // step 7 + } + } else { + switch ($mode) { + case self::MODE_MHASH: + $output = mhash($this->hash, $text); + break; + case self::MODE_HASH: + $output = hash($this->hash, $text, true); + break; + case self::MODE_INTERNAL: + $output = call_user_func($this->hash, $text); + } + } + + return substr($output, 0, $this->l); + } + + /** + * Returns the hash length (in bytes) + * + * @access public + * @return int + */ + function getLength() + { + return $this->l; + } + + /** + * Wrapper for MD5 + * + * @access private + * @param string $m + */ + function _md5($m) + { + return pack('H*', md5($m)); + } + + /** + * Wrapper for SHA1 + * + * @access private + * @param string $m + */ + function _sha1($m) + { + return pack('H*', sha1($m)); + } + + /** + * Pure-PHP implementation of MD2 + * + * See {@link http://tools.ietf.org/html/rfc1319 RFC1319}. + * + * @access private + * @param string $m + */ + function _md2($m) + { + static $s = array( + 41, 46, 67, 201, 162, 216, 124, 1, 61, 54, 84, 161, 236, 240, 6, + 19, 98, 167, 5, 243, 192, 199, 115, 140, 152, 147, 43, 217, 188, + 76, 130, 202, 30, 155, 87, 60, 253, 212, 224, 22, 103, 66, 111, 24, + 138, 23, 229, 18, 190, 78, 196, 214, 218, 158, 222, 73, 160, 251, + 245, 142, 187, 47, 238, 122, 169, 104, 121, 145, 21, 178, 7, 63, + 148, 194, 16, 137, 11, 34, 95, 33, 128, 127, 93, 154, 90, 144, 50, + 39, 53, 62, 204, 231, 191, 247, 151, 3, 255, 25, 48, 179, 72, 165, + 181, 209, 215, 94, 146, 42, 172, 86, 170, 198, 79, 184, 56, 210, + 150, 164, 125, 182, 118, 252, 107, 226, 156, 116, 4, 241, 69, 157, + 112, 89, 100, 113, 135, 32, 134, 91, 207, 101, 230, 45, 168, 2, 27, + 96, 37, 173, 174, 176, 185, 246, 28, 70, 97, 105, 52, 64, 126, 15, + 85, 71, 163, 35, 221, 81, 175, 58, 195, 92, 249, 206, 186, 197, + 234, 38, 44, 83, 13, 110, 133, 40, 132, 9, 211, 223, 205, 244, 65, + 129, 77, 82, 106, 220, 55, 200, 108, 193, 171, 250, 36, 225, 123, + 8, 12, 189, 177, 74, 120, 136, 149, 139, 227, 99, 232, 109, 233, + 203, 213, 254, 59, 0, 29, 57, 242, 239, 183, 14, 102, 88, 208, 228, + 166, 119, 114, 248, 235, 117, 75, 10, 49, 68, 80, 180, 143, 237, + 31, 26, 219, 153, 141, 51, 159, 17, 131, 20 + ); + + // Step 1. Append Padding Bytes + $pad = 16 - (strlen($m) & 0xF); + $m.= str_repeat(chr($pad), $pad); + + $length = strlen($m); + + // Step 2. Append Checksum + $c = str_repeat(chr(0), 16); + $l = chr(0); + for ($i = 0; $i < $length; $i+= 16) { + for ($j = 0; $j < 16; $j++) { + // RFC1319 incorrectly states that C[j] should be set to S[c xor L] + //$c[$j] = chr($s[ord($m[$i + $j] ^ $l)]); + // per <http://www.rfc-editor.org/errata_search.php?rfc=1319>, however, C[j] should be set to S[c xor L] xor C[j] + $c[$j] = chr($s[ord($m[$i + $j] ^ $l)] ^ ord($c[$j])); + $l = $c[$j]; + } + } + $m.= $c; + + $length+= 16; + + // Step 3. Initialize MD Buffer + $x = str_repeat(chr(0), 48); + + // Step 4. Process Message in 16-Byte Blocks + for ($i = 0; $i < $length; $i+= 16) { + for ($j = 0; $j < 16; $j++) { + $x[$j + 16] = $m[$i + $j]; + $x[$j + 32] = $x[$j + 16] ^ $x[$j]; + } + $t = chr(0); + for ($j = 0; $j < 18; $j++) { + for ($k = 0; $k < 48; $k++) { + $x[$k] = $t = $x[$k] ^ chr($s[ord($t)]); + //$t = $x[$k] = $x[$k] ^ chr($s[ord($t)]); + } + $t = chr(ord($t) + $j); + } + } + + // Step 5. Output + return substr($x, 0, 16); + } + + /** + * Pure-PHP implementation of SHA256 + * + * See {@link http://en.wikipedia.org/wiki/SHA_hash_functions#SHA-256_.28a_SHA-2_variant.29_pseudocode SHA-256 (a SHA-2 variant) pseudocode - Wikipedia}. + * + * @access private + * @param string $m + */ + function _sha256($m) + { + if (extension_loaded('suhosin')) { + return pack('H*', sha256($m)); + } + + // Initialize variables + $hash = array( + 0x6a09e667, 0xbb67ae85, 0x3c6ef372, 0xa54ff53a, 0x510e527f, 0x9b05688c, 0x1f83d9ab, 0x5be0cd19 + ); + // Initialize table of round constants + // (first 32 bits of the fractional parts of the cube roots of the first 64 primes 2..311) + static $k = array( + 0x428a2f98, 0x71374491, 0xb5c0fbcf, 0xe9b5dba5, 0x3956c25b, 0x59f111f1, 0x923f82a4, 0xab1c5ed5, + 0xd807aa98, 0x12835b01, 0x243185be, 0x550c7dc3, 0x72be5d74, 0x80deb1fe, 0x9bdc06a7, 0xc19bf174, + 0xe49b69c1, 0xefbe4786, 0x0fc19dc6, 0x240ca1cc, 0x2de92c6f, 0x4a7484aa, 0x5cb0a9dc, 0x76f988da, + 0x983e5152, 0xa831c66d, 0xb00327c8, 0xbf597fc7, 0xc6e00bf3, 0xd5a79147, 0x06ca6351, 0x14292967, + 0x27b70a85, 0x2e1b2138, 0x4d2c6dfc, 0x53380d13, 0x650a7354, 0x766a0abb, 0x81c2c92e, 0x92722c85, + 0xa2bfe8a1, 0xa81a664b, 0xc24b8b70, 0xc76c51a3, 0xd192e819, 0xd6990624, 0xf40e3585, 0x106aa070, + 0x19a4c116, 0x1e376c08, 0x2748774c, 0x34b0bcb5, 0x391c0cb3, 0x4ed8aa4a, 0x5b9cca4f, 0x682e6ff3, + 0x748f82ee, 0x78a5636f, 0x84c87814, 0x8cc70208, 0x90befffa, 0xa4506ceb, 0xbef9a3f7, 0xc67178f2 + ); + + // Pre-processing + $length = strlen($m); + // to round to nearest 56 mod 64, we'll add 64 - (length + (64 - 56)) % 64 + $m.= str_repeat(chr(0), 64 - (($length + 8) & 0x3F)); + $m[$length] = chr(0x80); + // we don't support hashing strings 512MB long + $m.= pack('N2', 0, $length << 3); + + // Process the message in successive 512-bit chunks + $chunks = str_split($m, 64); + foreach ($chunks as $chunk) { + $w = array(); + for ($i = 0; $i < 16; $i++) { + extract(unpack('Ntemp', $this->_string_shift($chunk, 4))); + $w[] = $temp; + } + + // Extend the sixteen 32-bit words into sixty-four 32-bit words + for ($i = 16; $i < 64; $i++) { + // @codingStandardsIgnoreStart + $s0 = $this->_rightRotate($w[$i - 15], 7) ^ + $this->_rightRotate($w[$i - 15], 18) ^ + $this->_rightShift( $w[$i - 15], 3); + $s1 = $this->_rightRotate($w[$i - 2], 17) ^ + $this->_rightRotate($w[$i - 2], 19) ^ + $this->_rightShift( $w[$i - 2], 10); + // @codingStandardsIgnoreEnd + $w[$i] = $this->_add($w[$i - 16], $s0, $w[$i - 7], $s1); + } + + // Initialize hash value for this chunk + list($a, $b, $c, $d, $e, $f, $g, $h) = $hash; + + // Main loop + for ($i = 0; $i < 64; $i++) { + $s0 = $this->_rightRotate($a, 2) ^ + $this->_rightRotate($a, 13) ^ + $this->_rightRotate($a, 22); + $maj = ($a & $b) ^ + ($a & $c) ^ + ($b & $c); + $t2 = $this->_add($s0, $maj); + + $s1 = $this->_rightRotate($e, 6) ^ + $this->_rightRotate($e, 11) ^ + $this->_rightRotate($e, 25); + $ch = ($e & $f) ^ + ($this->_not($e) & $g); + $t1 = $this->_add($h, $s1, $ch, $k[$i], $w[$i]); + + $h = $g; + $g = $f; + $f = $e; + $e = $this->_add($d, $t1); + $d = $c; + $c = $b; + $b = $a; + $a = $this->_add($t1, $t2); + } + + // Add this chunk's hash to result so far + $hash = array( + $this->_add($hash[0], $a), + $this->_add($hash[1], $b), + $this->_add($hash[2], $c), + $this->_add($hash[3], $d), + $this->_add($hash[4], $e), + $this->_add($hash[5], $f), + $this->_add($hash[6], $g), + $this->_add($hash[7], $h) + ); + } + + // Produce the final hash value (big-endian) + return pack('N8', $hash[0], $hash[1], $hash[2], $hash[3], $hash[4], $hash[5], $hash[6], $hash[7]); + } + + /** + * Pure-PHP implementation of SHA384 and SHA512 + * + * @access private + * @param string $m + */ + function _sha512($m) + { + static $init384, $init512, $k; + + if (!isset($k)) { + // Initialize variables + $init384 = array( // initial values for SHA384 + 'cbbb9d5dc1059ed8', '629a292a367cd507', '9159015a3070dd17', '152fecd8f70e5939', + '67332667ffc00b31', '8eb44a8768581511', 'db0c2e0d64f98fa7', '47b5481dbefa4fa4' + ); + $init512 = array( // initial values for SHA512 + '6a09e667f3bcc908', 'bb67ae8584caa73b', '3c6ef372fe94f82b', 'a54ff53a5f1d36f1', + '510e527fade682d1', '9b05688c2b3e6c1f', '1f83d9abfb41bd6b', '5be0cd19137e2179' + ); + + for ($i = 0; $i < 8; $i++) { + $init384[$i] = new BigInteger($init384[$i], 16); + $init384[$i]->setPrecision(64); + $init512[$i] = new BigInteger($init512[$i], 16); + $init512[$i]->setPrecision(64); + } + + // Initialize table of round constants + // (first 64 bits of the fractional parts of the cube roots of the first 80 primes 2..409) + $k = array( + '428a2f98d728ae22', '7137449123ef65cd', 'b5c0fbcfec4d3b2f', 'e9b5dba58189dbbc', + '3956c25bf348b538', '59f111f1b605d019', '923f82a4af194f9b', 'ab1c5ed5da6d8118', + 'd807aa98a3030242', '12835b0145706fbe', '243185be4ee4b28c', '550c7dc3d5ffb4e2', + '72be5d74f27b896f', '80deb1fe3b1696b1', '9bdc06a725c71235', 'c19bf174cf692694', + 'e49b69c19ef14ad2', 'efbe4786384f25e3', '0fc19dc68b8cd5b5', '240ca1cc77ac9c65', + '2de92c6f592b0275', '4a7484aa6ea6e483', '5cb0a9dcbd41fbd4', '76f988da831153b5', + '983e5152ee66dfab', 'a831c66d2db43210', 'b00327c898fb213f', 'bf597fc7beef0ee4', + 'c6e00bf33da88fc2', 'd5a79147930aa725', '06ca6351e003826f', '142929670a0e6e70', + '27b70a8546d22ffc', '2e1b21385c26c926', '4d2c6dfc5ac42aed', '53380d139d95b3df', + '650a73548baf63de', '766a0abb3c77b2a8', '81c2c92e47edaee6', '92722c851482353b', + 'a2bfe8a14cf10364', 'a81a664bbc423001', 'c24b8b70d0f89791', 'c76c51a30654be30', + 'd192e819d6ef5218', 'd69906245565a910', 'f40e35855771202a', '106aa07032bbd1b8', + '19a4c116b8d2d0c8', '1e376c085141ab53', '2748774cdf8eeb99', '34b0bcb5e19b48a8', + '391c0cb3c5c95a63', '4ed8aa4ae3418acb', '5b9cca4f7763e373', '682e6ff3d6b2b8a3', + '748f82ee5defb2fc', '78a5636f43172f60', '84c87814a1f0ab72', '8cc702081a6439ec', + '90befffa23631e28', 'a4506cebde82bde9', 'bef9a3f7b2c67915', 'c67178f2e372532b', + 'ca273eceea26619c', 'd186b8c721c0c207', 'eada7dd6cde0eb1e', 'f57d4f7fee6ed178', + '06f067aa72176fba', '0a637dc5a2c898a6', '113f9804bef90dae', '1b710b35131c471b', + '28db77f523047d84', '32caab7b40c72493', '3c9ebe0a15c9bebc', '431d67c49c100d4c', + '4cc5d4becb3e42b6', '597f299cfc657e2a', '5fcb6fab3ad6faec', '6c44198c4a475817' + ); + + for ($i = 0; $i < 80; $i++) { + $k[$i] = new BigInteger($k[$i], 16); + } + } + + $hash = $this->l == 48 ? $init384 : $init512; + + // Pre-processing + $length = strlen($m); + // to round to nearest 112 mod 128, we'll add 128 - (length + (128 - 112)) % 128 + $m.= str_repeat(chr(0), 128 - (($length + 16) & 0x7F)); + $m[$length] = chr(0x80); + // we don't support hashing strings 512MB long + $m.= pack('N4', 0, 0, 0, $length << 3); + + // Process the message in successive 1024-bit chunks + $chunks = str_split($m, 128); + foreach ($chunks as $chunk) { + $w = array(); + for ($i = 0; $i < 16; $i++) { + $temp = new BigInteger($this->_string_shift($chunk, 8), 256); + $temp->setPrecision(64); + $w[] = $temp; + } + + // Extend the sixteen 32-bit words into eighty 32-bit words + for ($i = 16; $i < 80; $i++) { + $temp = array( + $w[$i - 15]->bitwise_rightRotate(1), + $w[$i - 15]->bitwise_rightRotate(8), + $w[$i - 15]->bitwise_rightShift(7) + ); + $s0 = $temp[0]->bitwise_xor($temp[1]); + $s0 = $s0->bitwise_xor($temp[2]); + $temp = array( + $w[$i - 2]->bitwise_rightRotate(19), + $w[$i - 2]->bitwise_rightRotate(61), + $w[$i - 2]->bitwise_rightShift(6) + ); + $s1 = $temp[0]->bitwise_xor($temp[1]); + $s1 = $s1->bitwise_xor($temp[2]); + $w[$i] = $w[$i - 16]->copy(); + $w[$i] = $w[$i]->add($s0); + $w[$i] = $w[$i]->add($w[$i - 7]); + $w[$i] = $w[$i]->add($s1); + } + + // Initialize hash value for this chunk + $a = $hash[0]->copy(); + $b = $hash[1]->copy(); + $c = $hash[2]->copy(); + $d = $hash[3]->copy(); + $e = $hash[4]->copy(); + $f = $hash[5]->copy(); + $g = $hash[6]->copy(); + $h = $hash[7]->copy(); + + // Main loop + for ($i = 0; $i < 80; $i++) { + $temp = array( + $a->bitwise_rightRotate(28), + $a->bitwise_rightRotate(34), + $a->bitwise_rightRotate(39) + ); + $s0 = $temp[0]->bitwise_xor($temp[1]); + $s0 = $s0->bitwise_xor($temp[2]); + $temp = array( + $a->bitwise_and($b), + $a->bitwise_and($c), + $b->bitwise_and($c) + ); + $maj = $temp[0]->bitwise_xor($temp[1]); + $maj = $maj->bitwise_xor($temp[2]); + $t2 = $s0->add($maj); + + $temp = array( + $e->bitwise_rightRotate(14), + $e->bitwise_rightRotate(18), + $e->bitwise_rightRotate(41) + ); + $s1 = $temp[0]->bitwise_xor($temp[1]); + $s1 = $s1->bitwise_xor($temp[2]); + $temp = array( + $e->bitwise_and($f), + $g->bitwise_and($e->bitwise_not()) + ); + $ch = $temp[0]->bitwise_xor($temp[1]); + $t1 = $h->add($s1); + $t1 = $t1->add($ch); + $t1 = $t1->add($k[$i]); + $t1 = $t1->add($w[$i]); + + $h = $g->copy(); + $g = $f->copy(); + $f = $e->copy(); + $e = $d->add($t1); + $d = $c->copy(); + $c = $b->copy(); + $b = $a->copy(); + $a = $t1->add($t2); + } + + // Add this chunk's hash to result so far + $hash = array( + $hash[0]->add($a), + $hash[1]->add($b), + $hash[2]->add($c), + $hash[3]->add($d), + $hash[4]->add($e), + $hash[5]->add($f), + $hash[6]->add($g), + $hash[7]->add($h) + ); + } + + // Produce the final hash value (big-endian) + // (\phpseclib\Crypt\Hash::hash() trims the output for hashes but not for HMACs. as such, we trim the output here) + $temp = $hash[0]->toBytes() . $hash[1]->toBytes() . $hash[2]->toBytes() . $hash[3]->toBytes() . + $hash[4]->toBytes() . $hash[5]->toBytes(); + if ($this->l != 48) { + $temp.= $hash[6]->toBytes() . $hash[7]->toBytes(); + } + + return $temp; + } + + /** + * Right Rotate + * + * @access private + * @param int $int + * @param int $amt + * @see self::_sha256() + * @return int + */ + function _rightRotate($int, $amt) + { + $invamt = 32 - $amt; + $mask = (1 << $invamt) - 1; + return (($int << $invamt) & 0xFFFFFFFF) | (($int >> $amt) & $mask); + } + + /** + * Right Shift + * + * @access private + * @param int $int + * @param int $amt + * @see self::_sha256() + * @return int + */ + function _rightShift($int, $amt) + { + $mask = (1 << (32 - $amt)) - 1; + return ($int >> $amt) & $mask; + } + + /** + * Not + * + * @access private + * @param int $int + * @see self::_sha256() + * @return int + */ + function _not($int) + { + return ~$int & 0xFFFFFFFF; + } + + /** + * Add + * + * _sha256() adds multiple unsigned 32-bit integers. Since PHP doesn't support unsigned integers and since the + * possibility of overflow exists, care has to be taken. BigInteger could be used but this should be faster. + * + * @param int $... + * @return int + * @see self::_sha256() + * @access private + */ + function _add() + { + static $mod; + if (!isset($mod)) { + $mod = pow(2, 32); + } + + $result = 0; + $arguments = func_get_args(); + foreach ($arguments as $argument) { + $result+= $argument < 0 ? ($argument & 0x7FFFFFFF) + 0x80000000 : $argument; + } + + return fmod($result, $mod); + } + + /** + * String Shift + * + * Inspired by array_shift + * + * @param string $string + * @param int $index + * @return string + * @access private + */ + function _string_shift(&$string, $index = 1) + { + $substr = substr($string, 0, $index); + $string = substr($string, $index); + return $substr; + } +} diff --git a/vendor/phpseclib/phpseclib/phpseclib/Crypt/RC2.php b/vendor/phpseclib/phpseclib/phpseclib/Crypt/RC2.php new file mode 100644 index 00000000..e9cfa3f8 --- /dev/null +++ b/vendor/phpseclib/phpseclib/phpseclib/Crypt/RC2.php @@ -0,0 +1,688 @@ +<?php + +/** + * Pure-PHP implementation of RC2. + * + * Uses mcrypt, if available, and an internal implementation, otherwise. + * + * PHP version 5 + * + * Useful resources are as follows: + * + * - {@link http://tools.ietf.org/html/rfc2268} + * + * Here's a short example of how to use this library: + * <code> + * <?php + * include 'vendor/autoload.php'; + * + * $rc2 = new \phpseclib\Crypt\RC2(); + * + * $rc2->setKey('abcdefgh'); + * + * $plaintext = str_repeat('a', 1024); + * + * echo $rc2->decrypt($rc2->encrypt($plaintext)); + * ?> + * </code> + * + * @category Crypt + * @package RC2 + * @author Patrick Monnerat <pm@datasphere.ch> + * @license http://www.opensource.org/licenses/mit-license.html MIT License + * @link http://phpseclib.sourceforge.net + */ + +namespace phpseclib\Crypt; + +/** + * Pure-PHP implementation of RC2. + * + * @package RC2 + * @access public + */ +class RC2 extends Base +{ + /** + * Block Length of the cipher + * + * @see \phpseclib\Crypt\Base::block_size + * @var int + * @access private + */ + var $block_size = 8; + + /** + * The Key + * + * @see \phpseclib\Crypt\Base::key + * @see self::setKey() + * @var string + * @access private + */ + var $key; + + /** + * The Original (unpadded) Key + * + * @see \phpseclib\Crypt\Base::key + * @see self::setKey() + * @see self::encrypt() + * @see self::decrypt() + * @var string + * @access private + */ + var $orig_key; + + /** + * Don't truncate / null pad key + * + * @see \phpseclib\Crypt\Base::_clearBuffers() + * @var bool + * @access private + */ + var $skip_key_adjustment = true; + + /** + * Key Length (in bytes) + * + * @see \phpseclib\Crypt\RC2::setKeyLength() + * @var int + * @access private + */ + var $key_length = 16; // = 128 bits + + /** + * The mcrypt specific name of the cipher + * + * @see \phpseclib\Crypt\Base::cipher_name_mcrypt + * @var string + * @access private + */ + var $cipher_name_mcrypt = 'rc2'; + + /** + * Optimizing value while CFB-encrypting + * + * @see \phpseclib\Crypt\Base::cfb_init_len + * @var int + * @access private + */ + var $cfb_init_len = 500; + + /** + * The key length in bits. + * + * @see self::setKeyLength() + * @see self::setKey() + * @var int + * @access private + * @internal Should be in range [1..1024]. + * @internal Changing this value after setting the key has no effect. + */ + var $default_key_length = 1024; + + /** + * The key length in bits. + * + * @see self::isValidEnine() + * @see self::setKey() + * @var int + * @access private + * @internal Should be in range [1..1024]. + */ + var $current_key_length; + + /** + * The Key Schedule + * + * @see self::_setupKey() + * @var array + * @access private + */ + var $keys; + + /** + * Key expansion randomization table. + * Twice the same 256-value sequence to save a modulus in key expansion. + * + * @see self::setKey() + * @var array + * @access private + */ + var $pitable = array( + 0xD9, 0x78, 0xF9, 0xC4, 0x19, 0xDD, 0xB5, 0xED, + 0x28, 0xE9, 0xFD, 0x79, 0x4A, 0xA0, 0xD8, 0x9D, + 0xC6, 0x7E, 0x37, 0x83, 0x2B, 0x76, 0x53, 0x8E, + 0x62, 0x4C, 0x64, 0x88, 0x44, 0x8B, 0xFB, 0xA2, + 0x17, 0x9A, 0x59, 0xF5, 0x87, 0xB3, 0x4F, 0x13, + 0x61, 0x45, 0x6D, 0x8D, 0x09, 0x81, 0x7D, 0x32, + 0xBD, 0x8F, 0x40, 0xEB, 0x86, 0xB7, 0x7B, 0x0B, + 0xF0, 0x95, 0x21, 0x22, 0x5C, 0x6B, 0x4E, 0x82, + 0x54, 0xD6, 0x65, 0x93, 0xCE, 0x60, 0xB2, 0x1C, + 0x73, 0x56, 0xC0, 0x14, 0xA7, 0x8C, 0xF1, 0xDC, + 0x12, 0x75, 0xCA, 0x1F, 0x3B, 0xBE, 0xE4, 0xD1, + 0x42, 0x3D, 0xD4, 0x30, 0xA3, 0x3C, 0xB6, 0x26, + 0x6F, 0xBF, 0x0E, 0xDA, 0x46, 0x69, 0x07, 0x57, + 0x27, 0xF2, 0x1D, 0x9B, 0xBC, 0x94, 0x43, 0x03, + 0xF8, 0x11, 0xC7, 0xF6, 0x90, 0xEF, 0x3E, 0xE7, + 0x06, 0xC3, 0xD5, 0x2F, 0xC8, 0x66, 0x1E, 0xD7, + 0x08, 0xE8, 0xEA, 0xDE, 0x80, 0x52, 0xEE, 0xF7, + 0x84, 0xAA, 0x72, 0xAC, 0x35, 0x4D, 0x6A, 0x2A, + 0x96, 0x1A, 0xD2, 0x71, 0x5A, 0x15, 0x49, 0x74, + 0x4B, 0x9F, 0xD0, 0x5E, 0x04, 0x18, 0xA4, 0xEC, + 0xC2, 0xE0, 0x41, 0x6E, 0x0F, 0x51, 0xCB, 0xCC, + 0x24, 0x91, 0xAF, 0x50, 0xA1, 0xF4, 0x70, 0x39, + 0x99, 0x7C, 0x3A, 0x85, 0x23, 0xB8, 0xB4, 0x7A, + 0xFC, 0x02, 0x36, 0x5B, 0x25, 0x55, 0x97, 0x31, + 0x2D, 0x5D, 0xFA, 0x98, 0xE3, 0x8A, 0x92, 0xAE, + 0x05, 0xDF, 0x29, 0x10, 0x67, 0x6C, 0xBA, 0xC9, + 0xD3, 0x00, 0xE6, 0xCF, 0xE1, 0x9E, 0xA8, 0x2C, + 0x63, 0x16, 0x01, 0x3F, 0x58, 0xE2, 0x89, 0xA9, + 0x0D, 0x38, 0x34, 0x1B, 0xAB, 0x33, 0xFF, 0xB0, + 0xBB, 0x48, 0x0C, 0x5F, 0xB9, 0xB1, 0xCD, 0x2E, + 0xC5, 0xF3, 0xDB, 0x47, 0xE5, 0xA5, 0x9C, 0x77, + 0x0A, 0xA6, 0x20, 0x68, 0xFE, 0x7F, 0xC1, 0xAD, + 0xD9, 0x78, 0xF9, 0xC4, 0x19, 0xDD, 0xB5, 0xED, + 0x28, 0xE9, 0xFD, 0x79, 0x4A, 0xA0, 0xD8, 0x9D, + 0xC6, 0x7E, 0x37, 0x83, 0x2B, 0x76, 0x53, 0x8E, + 0x62, 0x4C, 0x64, 0x88, 0x44, 0x8B, 0xFB, 0xA2, + 0x17, 0x9A, 0x59, 0xF5, 0x87, 0xB3, 0x4F, 0x13, + 0x61, 0x45, 0x6D, 0x8D, 0x09, 0x81, 0x7D, 0x32, + 0xBD, 0x8F, 0x40, 0xEB, 0x86, 0xB7, 0x7B, 0x0B, + 0xF0, 0x95, 0x21, 0x22, 0x5C, 0x6B, 0x4E, 0x82, + 0x54, 0xD6, 0x65, 0x93, 0xCE, 0x60, 0xB2, 0x1C, + 0x73, 0x56, 0xC0, 0x14, 0xA7, 0x8C, 0xF1, 0xDC, + 0x12, 0x75, 0xCA, 0x1F, 0x3B, 0xBE, 0xE4, 0xD1, + 0x42, 0x3D, 0xD4, 0x30, 0xA3, 0x3C, 0xB6, 0x26, + 0x6F, 0xBF, 0x0E, 0xDA, 0x46, 0x69, 0x07, 0x57, + 0x27, 0xF2, 0x1D, 0x9B, 0xBC, 0x94, 0x43, 0x03, + 0xF8, 0x11, 0xC7, 0xF6, 0x90, 0xEF, 0x3E, 0xE7, + 0x06, 0xC3, 0xD5, 0x2F, 0xC8, 0x66, 0x1E, 0xD7, + 0x08, 0xE8, 0xEA, 0xDE, 0x80, 0x52, 0xEE, 0xF7, + 0x84, 0xAA, 0x72, 0xAC, 0x35, 0x4D, 0x6A, 0x2A, + 0x96, 0x1A, 0xD2, 0x71, 0x5A, 0x15, 0x49, 0x74, + 0x4B, 0x9F, 0xD0, 0x5E, 0x04, 0x18, 0xA4, 0xEC, + 0xC2, 0xE0, 0x41, 0x6E, 0x0F, 0x51, 0xCB, 0xCC, + 0x24, 0x91, 0xAF, 0x50, 0xA1, 0xF4, 0x70, 0x39, + 0x99, 0x7C, 0x3A, 0x85, 0x23, 0xB8, 0xB4, 0x7A, + 0xFC, 0x02, 0x36, 0x5B, 0x25, 0x55, 0x97, 0x31, + 0x2D, 0x5D, 0xFA, 0x98, 0xE3, 0x8A, 0x92, 0xAE, + 0x05, 0xDF, 0x29, 0x10, 0x67, 0x6C, 0xBA, 0xC9, + 0xD3, 0x00, 0xE6, 0xCF, 0xE1, 0x9E, 0xA8, 0x2C, + 0x63, 0x16, 0x01, 0x3F, 0x58, 0xE2, 0x89, 0xA9, + 0x0D, 0x38, 0x34, 0x1B, 0xAB, 0x33, 0xFF, 0xB0, + 0xBB, 0x48, 0x0C, 0x5F, 0xB9, 0xB1, 0xCD, 0x2E, + 0xC5, 0xF3, 0xDB, 0x47, 0xE5, 0xA5, 0x9C, 0x77, + 0x0A, 0xA6, 0x20, 0x68, 0xFE, 0x7F, 0xC1, 0xAD + ); + + /** + * Inverse key expansion randomization table. + * + * @see self::setKey() + * @var array + * @access private + */ + var $invpitable = array( + 0xD1, 0xDA, 0xB9, 0x6F, 0x9C, 0xC8, 0x78, 0x66, + 0x80, 0x2C, 0xF8, 0x37, 0xEA, 0xE0, 0x62, 0xA4, + 0xCB, 0x71, 0x50, 0x27, 0x4B, 0x95, 0xD9, 0x20, + 0x9D, 0x04, 0x91, 0xE3, 0x47, 0x6A, 0x7E, 0x53, + 0xFA, 0x3A, 0x3B, 0xB4, 0xA8, 0xBC, 0x5F, 0x68, + 0x08, 0xCA, 0x8F, 0x14, 0xD7, 0xC0, 0xEF, 0x7B, + 0x5B, 0xBF, 0x2F, 0xE5, 0xE2, 0x8C, 0xBA, 0x12, + 0xE1, 0xAF, 0xB2, 0x54, 0x5D, 0x59, 0x76, 0xDB, + 0x32, 0xA2, 0x58, 0x6E, 0x1C, 0x29, 0x64, 0xF3, + 0xE9, 0x96, 0x0C, 0x98, 0x19, 0x8D, 0x3E, 0x26, + 0xAB, 0xA5, 0x85, 0x16, 0x40, 0xBD, 0x49, 0x67, + 0xDC, 0x22, 0x94, 0xBB, 0x3C, 0xC1, 0x9B, 0xEB, + 0x45, 0x28, 0x18, 0xD8, 0x1A, 0x42, 0x7D, 0xCC, + 0xFB, 0x65, 0x8E, 0x3D, 0xCD, 0x2A, 0xA3, 0x60, + 0xAE, 0x93, 0x8A, 0x48, 0x97, 0x51, 0x15, 0xF7, + 0x01, 0x0B, 0xB7, 0x36, 0xB1, 0x2E, 0x11, 0xFD, + 0x84, 0x2D, 0x3F, 0x13, 0x88, 0xB3, 0x34, 0x24, + 0x1B, 0xDE, 0xC5, 0x1D, 0x4D, 0x2B, 0x17, 0x31, + 0x74, 0xA9, 0xC6, 0x43, 0x6D, 0x39, 0x90, 0xBE, + 0xC3, 0xB0, 0x21, 0x6B, 0xF6, 0x0F, 0xD5, 0x99, + 0x0D, 0xAC, 0x1F, 0x5C, 0x9E, 0xF5, 0xF9, 0x4C, + 0xD6, 0xDF, 0x89, 0xE4, 0x8B, 0xFF, 0xC7, 0xAA, + 0xE7, 0xED, 0x46, 0x25, 0xB6, 0x06, 0x5E, 0x35, + 0xB5, 0xEC, 0xCE, 0xE8, 0x6C, 0x30, 0x55, 0x61, + 0x4A, 0xFE, 0xA0, 0x79, 0x03, 0xF0, 0x10, 0x72, + 0x7C, 0xCF, 0x52, 0xA6, 0xA7, 0xEE, 0x44, 0xD3, + 0x9A, 0x57, 0x92, 0xD0, 0x5A, 0x7A, 0x41, 0x7F, + 0x0E, 0x00, 0x63, 0xF2, 0x4F, 0x05, 0x83, 0xC9, + 0xA1, 0xD4, 0xDD, 0xC4, 0x56, 0xF4, 0xD2, 0x77, + 0x81, 0x09, 0x82, 0x33, 0x9F, 0x07, 0x86, 0x75, + 0x38, 0x4E, 0x69, 0xF1, 0xAD, 0x23, 0x73, 0x87, + 0x70, 0x02, 0xC2, 0x1E, 0xB8, 0x0A, 0xFC, 0xE6 + ); + + /** + * Test for engine validity + * + * This is mainly just a wrapper to set things up for \phpseclib\Crypt\Base::isValidEngine() + * + * @see \phpseclib\Crypt\Base::__construct() + * @param int $engine + * @access public + * @return bool + */ + function isValidEngine($engine) + { + switch ($engine) { + case self::ENGINE_OPENSSL: + if ($this->current_key_length != 128 || strlen($this->orig_key) < 16) { + return false; + } + $this->cipher_name_openssl_ecb = 'rc2-ecb'; + $this->cipher_name_openssl = 'rc2-' . $this->_openssl_translate_mode(); + } + + return parent::isValidEngine($engine); + } + + /** + * Sets the key length. + * + * Valid key lengths are 8 to 1024. + * Calling this function after setting the key has no effect until the next + * \phpseclib\Crypt\RC2::setKey() call. + * + * @access public + * @param int $length in bits + */ + function setKeyLength($length) + { + if ($length < 8) { + $this->default_key_length = 8; + } elseif ($length > 1024) { + $this->default_key_length = 128; + } else { + $this->default_key_length = $length; + } + $this->current_key_length = $this->default_key_length; + + parent::setKeyLength($length); + } + + /** + * Returns the current key length + * + * @access public + * @return int + */ + function getKeyLength() + { + return $this->current_key_length; + } + + /** + * Sets the key. + * + * Keys can be of any length. RC2, itself, uses 8 to 1024 bit keys (eg. + * strlen($key) <= 128), however, we only use the first 128 bytes if $key + * has more then 128 bytes in it, and set $key to a single null byte if + * it is empty. + * + * If the key is not explicitly set, it'll be assumed to be a single + * null byte. + * + * @see \phpseclib\Crypt\Base::setKey() + * @access public + * @param string $key + * @param int $t1 optional Effective key length in bits. + */ + function setKey($key, $t1 = 0) + { + $this->orig_key = $key; + + if ($t1 <= 0) { + $t1 = $this->default_key_length; + } elseif ($t1 > 1024) { + $t1 = 1024; + } + $this->current_key_length = $t1; + // Key byte count should be 1..128. + $key = strlen($key) ? substr($key, 0, 128) : "\x00"; + $t = strlen($key); + + // The mcrypt RC2 implementation only supports effective key length + // of 1024 bits. It is however possible to handle effective key + // lengths in range 1..1024 by expanding the key and applying + // inverse pitable mapping to the first byte before submitting it + // to mcrypt. + + // Key expansion. + $l = array_values(unpack('C*', $key)); + $t8 = ($t1 + 7) >> 3; + $tm = 0xFF >> (8 * $t8 - $t1); + + // Expand key. + $pitable = $this->pitable; + for ($i = $t; $i < 128; $i++) { + $l[$i] = $pitable[$l[$i - 1] + $l[$i - $t]]; + } + $i = 128 - $t8; + $l[$i] = $pitable[$l[$i] & $tm]; + while ($i--) { + $l[$i] = $pitable[$l[$i + 1] ^ $l[$i + $t8]]; + } + + // Prepare the key for mcrypt. + $l[0] = $this->invpitable[$l[0]]; + array_unshift($l, 'C*'); + + parent::setKey(call_user_func_array('pack', $l)); + } + + /** + * Encrypts a message. + * + * Mostly a wrapper for \phpseclib\Crypt\Base::encrypt, with some additional OpenSSL handling code + * + * @see self::decrypt() + * @access public + * @param string $plaintext + * @return string $ciphertext + */ + function encrypt($plaintext) + { + if ($this->engine == self::ENGINE_OPENSSL) { + $temp = $this->key; + $this->key = $this->orig_key; + $result = parent::encrypt($plaintext); + $this->key = $temp; + return $result; + } + + return parent::encrypt($plaintext); + } + + /** + * Decrypts a message. + * + * Mostly a wrapper for \phpseclib\Crypt\Base::decrypt, with some additional OpenSSL handling code + * + * @see self::encrypt() + * @access public + * @param string $ciphertext + * @return string $plaintext + */ + function decrypt($ciphertext) + { + if ($this->engine == self::ENGINE_OPENSSL) { + $temp = $this->key; + $this->key = $this->orig_key; + $result = parent::decrypt($ciphertext); + $this->key = $temp; + return $result; + } + + return parent::decrypt($ciphertext); + } + + /** + * Encrypts a block + * + * @see \phpseclib\Crypt\Base::_encryptBlock() + * @see \phpseclib\Crypt\Base::encrypt() + * @access private + * @param string $in + * @return string + */ + function _encryptBlock($in) + { + list($r0, $r1, $r2, $r3) = array_values(unpack('v*', $in)); + $keys = $this->keys; + $limit = 20; + $actions = array($limit => 44, 44 => 64); + $j = 0; + + for (;;) { + // Mixing round. + $r0 = (($r0 + $keys[$j++] + ((($r1 ^ $r2) & $r3) ^ $r1)) & 0xFFFF) << 1; + $r0 |= $r0 >> 16; + $r1 = (($r1 + $keys[$j++] + ((($r2 ^ $r3) & $r0) ^ $r2)) & 0xFFFF) << 2; + $r1 |= $r1 >> 16; + $r2 = (($r2 + $keys[$j++] + ((($r3 ^ $r0) & $r1) ^ $r3)) & 0xFFFF) << 3; + $r2 |= $r2 >> 16; + $r3 = (($r3 + $keys[$j++] + ((($r0 ^ $r1) & $r2) ^ $r0)) & 0xFFFF) << 5; + $r3 |= $r3 >> 16; + + if ($j === $limit) { + if ($limit === 64) { + break; + } + + // Mashing round. + $r0 += $keys[$r3 & 0x3F]; + $r1 += $keys[$r0 & 0x3F]; + $r2 += $keys[$r1 & 0x3F]; + $r3 += $keys[$r2 & 0x3F]; + $limit = $actions[$limit]; + } + } + + return pack('vvvv', $r0, $r1, $r2, $r3); + } + + /** + * Decrypts a block + * + * @see \phpseclib\Crypt\Base::_decryptBlock() + * @see \phpseclib\Crypt\Base::decrypt() + * @access private + * @param string $in + * @return string + */ + function _decryptBlock($in) + { + list($r0, $r1, $r2, $r3) = array_values(unpack('v*', $in)); + $keys = $this->keys; + $limit = 44; + $actions = array($limit => 20, 20 => 0); + $j = 64; + + for (;;) { + // R-mixing round. + $r3 = ($r3 | ($r3 << 16)) >> 5; + $r3 = ($r3 - $keys[--$j] - ((($r0 ^ $r1) & $r2) ^ $r0)) & 0xFFFF; + $r2 = ($r2 | ($r2 << 16)) >> 3; + $r2 = ($r2 - $keys[--$j] - ((($r3 ^ $r0) & $r1) ^ $r3)) & 0xFFFF; + $r1 = ($r1 | ($r1 << 16)) >> 2; + $r1 = ($r1 - $keys[--$j] - ((($r2 ^ $r3) & $r0) ^ $r2)) & 0xFFFF; + $r0 = ($r0 | ($r0 << 16)) >> 1; + $r0 = ($r0 - $keys[--$j] - ((($r1 ^ $r2) & $r3) ^ $r1)) & 0xFFFF; + + if ($j === $limit) { + if ($limit === 0) { + break; + } + + // R-mashing round. + $r3 = ($r3 - $keys[$r2 & 0x3F]) & 0xFFFF; + $r2 = ($r2 - $keys[$r1 & 0x3F]) & 0xFFFF; + $r1 = ($r1 - $keys[$r0 & 0x3F]) & 0xFFFF; + $r0 = ($r0 - $keys[$r3 & 0x3F]) & 0xFFFF; + $limit = $actions[$limit]; + } + } + + return pack('vvvv', $r0, $r1, $r2, $r3); + } + + /** + * Setup the \phpseclib\Crypt\Base::ENGINE_MCRYPT $engine + * + * @see \phpseclib\Crypt\Base::_setupMcrypt() + * @access private + */ + function _setupMcrypt() + { + if (!isset($this->key)) { + $this->setKey(''); + } + + parent::_setupMcrypt(); + } + + /** + * Creates the key schedule + * + * @see \phpseclib\Crypt\Base::_setupKey() + * @access private + */ + function _setupKey() + { + if (!isset($this->key)) { + $this->setKey(''); + } + + // Key has already been expanded in \phpseclib\Crypt\RC2::setKey(): + // Only the first value must be altered. + $l = unpack('Ca/Cb/v*', $this->key); + array_unshift($l, $this->pitable[$l['a']] | ($l['b'] << 8)); + unset($l['a']); + unset($l['b']); + $this->keys = $l; + } + + /** + * Setup the performance-optimized function for de/encrypt() + * + * @see \phpseclib\Crypt\Base::_setupInlineCrypt() + * @access private + */ + function _setupInlineCrypt() + { + $lambda_functions =& self::_getLambdaFunctions(); + + // The first 10 generated $lambda_functions will use the $keys hardcoded as integers + // for the mixing rounds, for better inline crypt performance [~20% faster]. + // But for memory reason we have to limit those ultra-optimized $lambda_functions to an amount of 10. + // (Currently, for Crypt_RC2, one generated $lambda_function cost on php5.5@32bit ~60kb unfreeable mem and ~100kb on php5.5@64bit) + $gen_hi_opt_code = (bool)(count($lambda_functions) < 10); + + // Generation of a unique hash for our generated code + $code_hash = "Crypt_RC2, {$this->mode}"; + if ($gen_hi_opt_code) { + $code_hash = str_pad($code_hash, 32) . $this->_hashInlineCryptFunction($this->key); + } + + // Is there a re-usable $lambda_functions in there? + // If not, we have to create it. + if (!isset($lambda_functions[$code_hash])) { + // Init code for both, encrypt and decrypt. + $init_crypt = '$keys = $self->keys;'; + + switch (true) { + case $gen_hi_opt_code: + $keys = $this->keys; + default: + $keys = array(); + foreach ($this->keys as $k => $v) { + $keys[$k] = '$keys[' . $k . ']'; + } + } + + // $in is the current 8 bytes block which has to be en/decrypt + $encrypt_block = $decrypt_block = ' + $in = unpack("v4", $in); + $r0 = $in[1]; + $r1 = $in[2]; + $r2 = $in[3]; + $r3 = $in[4]; + '; + + // Create code for encryption. + $limit = 20; + $actions = array($limit => 44, 44 => 64); + $j = 0; + + for (;;) { + // Mixing round. + $encrypt_block .= ' + $r0 = (($r0 + ' . $keys[$j++] . ' + + ((($r1 ^ $r2) & $r3) ^ $r1)) & 0xFFFF) << 1; + $r0 |= $r0 >> 16; + $r1 = (($r1 + ' . $keys[$j++] . ' + + ((($r2 ^ $r3) & $r0) ^ $r2)) & 0xFFFF) << 2; + $r1 |= $r1 >> 16; + $r2 = (($r2 + ' . $keys[$j++] . ' + + ((($r3 ^ $r0) & $r1) ^ $r3)) & 0xFFFF) << 3; + $r2 |= $r2 >> 16; + $r3 = (($r3 + ' . $keys[$j++] . ' + + ((($r0 ^ $r1) & $r2) ^ $r0)) & 0xFFFF) << 5; + $r3 |= $r3 >> 16;'; + + if ($j === $limit) { + if ($limit === 64) { + break; + } + + // Mashing round. + $encrypt_block .= ' + $r0 += $keys[$r3 & 0x3F]; + $r1 += $keys[$r0 & 0x3F]; + $r2 += $keys[$r1 & 0x3F]; + $r3 += $keys[$r2 & 0x3F];'; + $limit = $actions[$limit]; + } + } + + $encrypt_block .= '$in = pack("v4", $r0, $r1, $r2, $r3);'; + + // Create code for decryption. + $limit = 44; + $actions = array($limit => 20, 20 => 0); + $j = 64; + + for (;;) { + // R-mixing round. + $decrypt_block .= ' + $r3 = ($r3 | ($r3 << 16)) >> 5; + $r3 = ($r3 - ' . $keys[--$j] . ' - + ((($r0 ^ $r1) & $r2) ^ $r0)) & 0xFFFF; + $r2 = ($r2 | ($r2 << 16)) >> 3; + $r2 = ($r2 - ' . $keys[--$j] . ' - + ((($r3 ^ $r0) & $r1) ^ $r3)) & 0xFFFF; + $r1 = ($r1 | ($r1 << 16)) >> 2; + $r1 = ($r1 - ' . $keys[--$j] . ' - + ((($r2 ^ $r3) & $r0) ^ $r2)) & 0xFFFF; + $r0 = ($r0 | ($r0 << 16)) >> 1; + $r0 = ($r0 - ' . $keys[--$j] . ' - + ((($r1 ^ $r2) & $r3) ^ $r1)) & 0xFFFF;'; + + if ($j === $limit) { + if ($limit === 0) { + break; + } + + // R-mashing round. + $decrypt_block .= ' + $r3 = ($r3 - $keys[$r2 & 0x3F]) & 0xFFFF; + $r2 = ($r2 - $keys[$r1 & 0x3F]) & 0xFFFF; + $r1 = ($r1 - $keys[$r0 & 0x3F]) & 0xFFFF; + $r0 = ($r0 - $keys[$r3 & 0x3F]) & 0xFFFF;'; + $limit = $actions[$limit]; + } + } + + $decrypt_block .= '$in = pack("v4", $r0, $r1, $r2, $r3);'; + + // Creates the inline-crypt function + $lambda_functions[$code_hash] = $this->_createInlineCryptFunction( + array( + 'init_crypt' => $init_crypt, + 'encrypt_block' => $encrypt_block, + 'decrypt_block' => $decrypt_block + ) + ); + } + + // Set the inline-crypt function as callback in: $this->inline_crypt + $this->inline_crypt = $lambda_functions[$code_hash]; + } +} diff --git a/vendor/phpseclib/phpseclib/phpseclib/Crypt/RC4.php b/vendor/phpseclib/phpseclib/phpseclib/Crypt/RC4.php new file mode 100644 index 00000000..1e768d7d --- /dev/null +++ b/vendor/phpseclib/phpseclib/phpseclib/Crypt/RC4.php @@ -0,0 +1,339 @@ +<?php + +/** + * Pure-PHP implementation of RC4. + * + * Uses mcrypt, if available, and an internal implementation, otherwise. + * + * PHP version 5 + * + * Useful resources are as follows: + * + * - {@link http://www.mozilla.org/projects/security/pki/nss/draft-kaukonen-cipher-arcfour-03.txt ARCFOUR Algorithm} + * - {@link http://en.wikipedia.org/wiki/RC4 - Wikipedia: RC4} + * + * RC4 is also known as ARCFOUR or ARC4. The reason is elaborated upon at Wikipedia. This class is named RC4 and not + * ARCFOUR or ARC4 because RC4 is how it is referred to in the SSH1 specification. + * + * Here's a short example of how to use this library: + * <code> + * <?php + * include 'vendor/autoload.php'; + * + * $rc4 = new \phpseclib\Crypt\RC4(); + * + * $rc4->setKey('abcdefgh'); + * + * $size = 10 * 1024; + * $plaintext = ''; + * for ($i = 0; $i < $size; $i++) { + * $plaintext.= 'a'; + * } + * + * echo $rc4->decrypt($rc4->encrypt($plaintext)); + * ?> + * </code> + * + * @category Crypt + * @package RC4 + * @author Jim Wigginton <terrafrost@php.net> + * @copyright 2007 Jim Wigginton + * @license http://www.opensource.org/licenses/mit-license.html MIT License + * @link http://phpseclib.sourceforge.net + */ + +namespace phpseclib\Crypt; + +/** + * Pure-PHP implementation of RC4. + * + * @package RC4 + * @author Jim Wigginton <terrafrost@php.net> + * @access public + */ +class RC4 extends Base +{ + /**#@+ + * @access private + * @see \phpseclib\Crypt\RC4::_crypt() + */ + const ENCRYPT = 0; + const DECRYPT = 1; + /**#@-*/ + + /** + * Block Length of the cipher + * + * RC4 is a stream cipher + * so we the block_size to 0 + * + * @see \phpseclib\Crypt\Base::block_size + * @var int + * @access private + */ + var $block_size = 0; + + /** + * Key Length (in bytes) + * + * @see \phpseclib\Crypt\RC4::setKeyLength() + * @var int + * @access private + */ + var $key_length = 128; // = 1024 bits + + /** + * The mcrypt specific name of the cipher + * + * @see \phpseclib\Crypt\Base::cipher_name_mcrypt + * @var string + * @access private + */ + var $cipher_name_mcrypt = 'arcfour'; + + /** + * Holds whether performance-optimized $inline_crypt() can/should be used. + * + * @see \phpseclib\Crypt\Base::inline_crypt + * @var mixed + * @access private + */ + var $use_inline_crypt = false; // currently not available + + /** + * The Key + * + * @see self::setKey() + * @var string + * @access private + */ + var $key = "\0"; + + /** + * The Key Stream for decryption and encryption + * + * @see self::setKey() + * @var array + * @access private + */ + var $stream; + + /** + * Default Constructor. + * + * Determines whether or not the mcrypt extension should be used. + * + * @see \phpseclib\Crypt\Base::__construct() + * @return \phpseclib\Crypt\RC4 + * @access public + */ + function __construct() + { + parent::__construct(Base::MODE_STREAM); + } + + /** + * Test for engine validity + * + * This is mainly just a wrapper to set things up for \phpseclib\Crypt\Base::isValidEngine() + * + * @see \phpseclib\Crypt\Base::__construct() + * @param int $engine + * @access public + * @return bool + */ + function isValidEngine($engine) + { + switch ($engine) { + case Base::ENGINE_OPENSSL: + switch (strlen($this->key)) { + case 5: + $this->cipher_name_openssl = 'rc4-40'; + break; + case 8: + $this->cipher_name_openssl = 'rc4-64'; + break; + case 16: + $this->cipher_name_openssl = 'rc4'; + break; + default: + return false; + } + } + + return parent::isValidEngine($engine); + } + + /** + * Dummy function. + * + * Some protocols, such as WEP, prepend an "initialization vector" to the key, effectively creating a new key [1]. + * If you need to use an initialization vector in this manner, feel free to prepend it to the key, yourself, before + * calling setKey(). + * + * [1] WEP's initialization vectors (IV's) are used in a somewhat insecure way. Since, in that protocol, + * the IV's are relatively easy to predict, an attack described by + * {@link http://www.drizzle.com/~aboba/IEEE/rc4_ksaproc.pdf Scott Fluhrer, Itsik Mantin, and Adi Shamir} + * can be used to quickly guess at the rest of the key. The following links elaborate: + * + * {@link http://www.rsa.com/rsalabs/node.asp?id=2009 http://www.rsa.com/rsalabs/node.asp?id=2009} + * {@link http://en.wikipedia.org/wiki/Related_key_attack http://en.wikipedia.org/wiki/Related_key_attack} + * + * @param string $iv + * @see self::setKey() + * @access public + */ + function setIV($iv) + { + } + + /** + * Sets the key length + * + * Keys can be between 1 and 256 bytes long. + * + * @access public + * @param int $length + */ + function setKeyLength($length) + { + if ($length < 8) { + $this->key_length = 1; + } elseif ($length > 2048) { + $this->key_length = 256; + } else { + $this->key_length = $length >> 3; + } + + parent::setKeyLength($length); + } + + /** + * Encrypts a message. + * + * @see \phpseclib\Crypt\Base::decrypt() + * @see self::_crypt() + * @access public + * @param string $plaintext + * @return string $ciphertext + */ + function encrypt($plaintext) + { + if ($this->engine != Base::ENGINE_INTERNAL) { + return parent::encrypt($plaintext); + } + return $this->_crypt($plaintext, self::ENCRYPT); + } + + /** + * Decrypts a message. + * + * $this->decrypt($this->encrypt($plaintext)) == $this->encrypt($this->encrypt($plaintext)). + * At least if the continuous buffer is disabled. + * + * @see \phpseclib\Crypt\Base::encrypt() + * @see self::_crypt() + * @access public + * @param string $ciphertext + * @return string $plaintext + */ + function decrypt($ciphertext) + { + if ($this->engine != Base::ENGINE_INTERNAL) { + return parent::decrypt($ciphertext); + } + return $this->_crypt($ciphertext, self::DECRYPT); + } + + /** + * Encrypts a block + * + * @access private + * @param string $in + */ + function _encryptBlock($in) + { + // RC4 does not utilize this method + } + + /** + * Decrypts a block + * + * @access private + * @param string $in + */ + function _decryptBlock($in) + { + // RC4 does not utilize this method + } + + /** + * Setup the key (expansion) + * + * @see \phpseclib\Crypt\Base::_setupKey() + * @access private + */ + function _setupKey() + { + $key = $this->key; + $keyLength = strlen($key); + $keyStream = range(0, 255); + $j = 0; + for ($i = 0; $i < 256; $i++) { + $j = ($j + $keyStream[$i] + ord($key[$i % $keyLength])) & 255; + $temp = $keyStream[$i]; + $keyStream[$i] = $keyStream[$j]; + $keyStream[$j] = $temp; + } + + $this->stream = array(); + $this->stream[self::DECRYPT] = $this->stream[self::ENCRYPT] = array( + 0, // index $i + 0, // index $j + $keyStream + ); + } + + /** + * Encrypts or decrypts a message. + * + * @see self::encrypt() + * @see self::decrypt() + * @access private + * @param string $text + * @param int $mode + * @return string $text + */ + function _crypt($text, $mode) + { + if ($this->changed) { + $this->_setup(); + $this->changed = false; + } + + $stream = &$this->stream[$mode]; + if ($this->continuousBuffer) { + $i = &$stream[0]; + $j = &$stream[1]; + $keyStream = &$stream[2]; + } else { + $i = $stream[0]; + $j = $stream[1]; + $keyStream = $stream[2]; + } + + $len = strlen($text); + for ($k = 0; $k < $len; ++$k) { + $i = ($i + 1) & 255; + $ksi = $keyStream[$i]; + $j = ($j + $ksi) & 255; + $ksj = $keyStream[$j]; + + $keyStream[$i] = $ksj; + $keyStream[$j] = $ksi; + $text[$k] = $text[$k] ^ chr($keyStream[($ksj + $ksi) & 255]); + } + + return $text; + } +} diff --git a/vendor/phpseclib/phpseclib/phpseclib/Crypt/RSA.php b/vendor/phpseclib/phpseclib/phpseclib/Crypt/RSA.php new file mode 100644 index 00000000..ef508a43 --- /dev/null +++ b/vendor/phpseclib/phpseclib/phpseclib/Crypt/RSA.php @@ -0,0 +1,3044 @@ +<?php + +/** + * Pure-PHP PKCS#1 (v2.1) compliant implementation of RSA. + * + * PHP version 5 + * + * Here's an example of how to encrypt and decrypt text with this library: + * <code> + * <?php + * include 'vendor/autoload.php'; + * + * $rsa = new \phpseclib\Crypt\RSA(); + * extract($rsa->createKey()); + * + * $plaintext = 'terrafrost'; + * + * $rsa->loadKey($privatekey); + * $ciphertext = $rsa->encrypt($plaintext); + * + * $rsa->loadKey($publickey); + * echo $rsa->decrypt($ciphertext); + * ?> + * </code> + * + * Here's an example of how to create signatures and verify signatures with this library: + * <code> + * <?php + * include 'vendor/autoload.php'; + * + * $rsa = new \phpseclib\Crypt\RSA(); + * extract($rsa->createKey()); + * + * $plaintext = 'terrafrost'; + * + * $rsa->loadKey($privatekey); + * $signature = $rsa->sign($plaintext); + * + * $rsa->loadKey($publickey); + * echo $rsa->verify($plaintext, $signature) ? 'verified' : 'unverified'; + * ?> + * </code> + * + * @category Crypt + * @package RSA + * @author Jim Wigginton <terrafrost@php.net> + * @copyright 2009 Jim Wigginton + * @license http://www.opensource.org/licenses/mit-license.html MIT License + * @link http://phpseclib.sourceforge.net + */ + +namespace phpseclib\Crypt; + +use phpseclib\Math\BigInteger; + +/** + * Pure-PHP PKCS#1 compliant implementation of RSA. + * + * @package RSA + * @author Jim Wigginton <terrafrost@php.net> + * @access public + */ +class RSA +{ + /**#@+ + * @access public + * @see self::encrypt() + * @see self::decrypt() + */ + /** + * Use {@link http://en.wikipedia.org/wiki/Optimal_Asymmetric_Encryption_Padding Optimal Asymmetric Encryption Padding} + * (OAEP) for encryption / decryption. + * + * Uses sha1 by default. + * + * @see self::setHash() + * @see self::setMGFHash() + */ + const ENCRYPTION_OAEP = 1; + /** + * Use PKCS#1 padding. + * + * Although self::ENCRYPTION_OAEP offers more security, including PKCS#1 padding is necessary for purposes of backwards + * compatibility with protocols (like SSH-1) written before OAEP's introduction. + */ + const ENCRYPTION_PKCS1 = 2; + /** + * Do not use any padding + * + * Although this method is not recommended it can none-the-less sometimes be useful if you're trying to decrypt some legacy + * stuff, if you're trying to diagnose why an encrypted message isn't decrypting, etc. + */ + const ENCRYPTION_NONE = 3; + /**#@-*/ + + /**#@+ + * @access public + * @see self::sign() + * @see self::verify() + * @see self::setHash() + */ + /** + * Use the Probabilistic Signature Scheme for signing + * + * Uses sha1 by default. + * + * @see self::setSaltLength() + * @see self::setMGFHash() + */ + const SIGNATURE_PSS = 1; + /** + * Use the PKCS#1 scheme by default. + * + * Although self::SIGNATURE_PSS offers more security, including PKCS#1 signing is necessary for purposes of backwards + * compatibility with protocols (like SSH-2) written before PSS's introduction. + */ + const SIGNATURE_PKCS1 = 2; + /**#@-*/ + + /**#@+ + * @access private + * @see \phpseclib\Crypt\RSA::createKey() + */ + /** + * ASN1 Integer + */ + const ASN1_INTEGER = 2; + /** + * ASN1 Bit String + */ + const ASN1_BITSTRING = 3; + /** + * ASN1 Octet String + */ + const ASN1_OCTETSTRING = 4; + /** + * ASN1 Object Identifier + */ + const ASN1_OBJECT = 6; + /** + * ASN1 Sequence (with the constucted bit set) + */ + const ASN1_SEQUENCE = 48; + /**#@-*/ + + /**#@+ + * @access private + * @see \phpseclib\Crypt\RSA::__construct() + */ + /** + * To use the pure-PHP implementation + */ + const MODE_INTERNAL = 1; + /** + * To use the OpenSSL library + * + * (if enabled; otherwise, the internal implementation will be used) + */ + const MODE_OPENSSL = 2; + /**#@-*/ + + /**#@+ + * @access public + * @see \phpseclib\Crypt\RSA::createKey() + * @see \phpseclib\Crypt\RSA::setPrivateKeyFormat() + */ + /** + * PKCS#1 formatted private key + * + * Used by OpenSSH + */ + const PRIVATE_FORMAT_PKCS1 = 0; + /** + * PuTTY formatted private key + */ + const PRIVATE_FORMAT_PUTTY = 1; + /** + * XML formatted private key + */ + const PRIVATE_FORMAT_XML = 2; + /** + * PKCS#8 formatted private key + */ + const PRIVATE_FORMAT_PKCS8 = 8; + /**#@-*/ + + /**#@+ + * @access public + * @see \phpseclib\Crypt\RSA::createKey() + * @see \phpseclib\Crypt\RSA::setPublicKeyFormat() + */ + /** + * Raw public key + * + * An array containing two \phpseclib\Math\BigInteger objects. + * + * The exponent can be indexed with any of the following: + * + * 0, e, exponent, publicExponent + * + * The modulus can be indexed with any of the following: + * + * 1, n, modulo, modulus + */ + const PUBLIC_FORMAT_RAW = 3; + /** + * PKCS#1 formatted public key (raw) + * + * Used by File/X509.php + * + * Has the following header: + * + * -----BEGIN RSA PUBLIC KEY----- + * + * Analogous to ssh-keygen's pem format (as specified by -m) + */ + const PUBLIC_FORMAT_PKCS1 = 4; + const PUBLIC_FORMAT_PKCS1_RAW = 4; + /** + * XML formatted public key + */ + const PUBLIC_FORMAT_XML = 5; + /** + * OpenSSH formatted public key + * + * Place in $HOME/.ssh/authorized_keys + */ + const PUBLIC_FORMAT_OPENSSH = 6; + /** + * PKCS#1 formatted public key (encapsulated) + * + * Used by PHP's openssl_public_encrypt() and openssl's rsautl (when -pubin is set) + * + * Has the following header: + * + * -----BEGIN PUBLIC KEY----- + * + * Analogous to ssh-keygen's pkcs8 format (as specified by -m). Although PKCS8 + * is specific to private keys it's basically creating a DER-encoded wrapper + * for keys. This just extends that same concept to public keys (much like ssh-keygen) + */ + const PUBLIC_FORMAT_PKCS8 = 7; + /**#@-*/ + + /** + * Precomputed Zero + * + * @var \phpseclib\Math\BigInteger + * @access private + */ + var $zero; + + /** + * Precomputed One + * + * @var \phpseclib\Math\BigInteger + * @access private + */ + var $one; + + /** + * Private Key Format + * + * @var int + * @access private + */ + var $privateKeyFormat = self::PRIVATE_FORMAT_PKCS1; + + /** + * Public Key Format + * + * @var int + * @access public + */ + var $publicKeyFormat = self::PUBLIC_FORMAT_PKCS8; + + /** + * Modulus (ie. n) + * + * @var \phpseclib\Math\BigInteger + * @access private + */ + var $modulus; + + /** + * Modulus length + * + * @var \phpseclib\Math\BigInteger + * @access private + */ + var $k; + + /** + * Exponent (ie. e or d) + * + * @var \phpseclib\Math\BigInteger + * @access private + */ + var $exponent; + + /** + * Primes for Chinese Remainder Theorem (ie. p and q) + * + * @var array + * @access private + */ + var $primes; + + /** + * Exponents for Chinese Remainder Theorem (ie. dP and dQ) + * + * @var array + * @access private + */ + var $exponents; + + /** + * Coefficients for Chinese Remainder Theorem (ie. qInv) + * + * @var array + * @access private + */ + var $coefficients; + + /** + * Hash name + * + * @var string + * @access private + */ + var $hashName; + + /** + * Hash function + * + * @var \phpseclib\Crypt\Hash + * @access private + */ + var $hash; + + /** + * Length of hash function output + * + * @var int + * @access private + */ + var $hLen; + + /** + * Length of salt + * + * @var int + * @access private + */ + var $sLen; + + /** + * Hash function for the Mask Generation Function + * + * @var \phpseclib\Crypt\Hash + * @access private + */ + var $mgfHash; + + /** + * Length of MGF hash function output + * + * @var int + * @access private + */ + var $mgfHLen; + + /** + * Encryption mode + * + * @var int + * @access private + */ + var $encryptionMode = self::ENCRYPTION_OAEP; + + /** + * Signature mode + * + * @var int + * @access private + */ + var $signatureMode = self::SIGNATURE_PSS; + + /** + * Public Exponent + * + * @var mixed + * @access private + */ + var $publicExponent = false; + + /** + * Password + * + * @var string + * @access private + */ + var $password = false; + + /** + * Components + * + * For use with parsing XML formatted keys. PHP's XML Parser functions use utilized - instead of PHP's DOM functions - + * because PHP's XML Parser functions work on PHP4 whereas PHP's DOM functions - although surperior - don't. + * + * @see self::_start_element_handler() + * @var array + * @access private + */ + var $components = array(); + + /** + * Current String + * + * For use with parsing XML formatted keys. + * + * @see self::_character_handler() + * @see self::_stop_element_handler() + * @var mixed + * @access private + */ + var $current; + + /** + * OpenSSL configuration file name. + * + * Set to null to use system configuration file. + * @see self::createKey() + * @var mixed + * @Access public + */ + var $configFile; + + /** + * Public key comment field. + * + * @var string + * @access private + */ + var $comment = 'phpseclib-generated-key'; + + /** + * The constructor + * + * If you want to make use of the openssl extension, you'll need to set the mode manually, yourself. The reason + * \phpseclib\Crypt\RSA doesn't do it is because OpenSSL doesn't fail gracefully. openssl_pkey_new(), in particular, requires + * openssl.cnf be present somewhere and, unfortunately, the only real way to find out is too late. + * + * @return \phpseclib\Crypt\RSA + * @access public + */ + function __construct() + { + $this->configFile = dirname(__FILE__) . '/../openssl.cnf'; + + if (!defined('CRYPT_RSA_MODE')) { + switch (true) { + // Math/BigInteger's openssl requirements are a little less stringent than Crypt/RSA's. in particular, + // Math/BigInteger doesn't require an openssl.cfg file whereas Crypt/RSA does. so if Math/BigInteger + // can't use OpenSSL it can be pretty trivially assumed, then, that Crypt/RSA can't either. + case defined('MATH_BIGINTEGER_OPENSSL_DISABLE'): + define('CRYPT_RSA_MODE', self::MODE_INTERNAL); + break; + case extension_loaded('openssl') && file_exists($this->configFile): + // some versions of XAMPP have mismatched versions of OpenSSL which causes it not to work + ob_start(); + @phpinfo(); + $content = ob_get_contents(); + ob_end_clean(); + + preg_match_all('#OpenSSL (Header|Library) Version(.*)#im', $content, $matches); + + $versions = array(); + if (!empty($matches[1])) { + for ($i = 0; $i < count($matches[1]); $i++) { + $fullVersion = trim(str_replace('=>', '', strip_tags($matches[2][$i]))); + + // Remove letter part in OpenSSL version + if (!preg_match('/(\d+\.\d+\.\d+)/i', $fullVersion, $m)) { + $versions[$matches[1][$i]] = $fullVersion; + } else { + $versions[$matches[1][$i]] = $m[0]; + } + } + } + + // it doesn't appear that OpenSSL versions were reported upon until PHP 5.3+ + switch (true) { + case !isset($versions['Header']): + case !isset($versions['Library']): + case $versions['Header'] == $versions['Library']: + case version_compare($versions['Header'], '1.0.0') >= 0 && version_compare($versions['Library'], '1.0.0') >= 0: + define('CRYPT_RSA_MODE', self::MODE_OPENSSL); + break; + default: + define('CRYPT_RSA_MODE', self::MODE_INTERNAL); + define('MATH_BIGINTEGER_OPENSSL_DISABLE', true); + } + break; + default: + define('CRYPT_RSA_MODE', self::MODE_INTERNAL); + } + } + + $this->zero = new BigInteger(); + $this->one = new BigInteger(1); + + $this->hash = new Hash('sha1'); + $this->hLen = $this->hash->getLength(); + $this->hashName = 'sha1'; + $this->mgfHash = new Hash('sha1'); + $this->mgfHLen = $this->mgfHash->getLength(); + } + + /** + * Create public / private key pair + * + * Returns an array with the following three elements: + * - 'privatekey': The private key. + * - 'publickey': The public key. + * - 'partialkey': A partially computed key (if the execution time exceeded $timeout). + * Will need to be passed back to \phpseclib\Crypt\RSA::createKey() as the third parameter for further processing. + * + * @access public + * @param int $bits + * @param int $timeout + * @param array $p + */ + function createKey($bits = 1024, $timeout = false, $partial = array()) + { + if (!defined('CRYPT_RSA_EXPONENT')) { + // http://en.wikipedia.org/wiki/65537_%28number%29 + define('CRYPT_RSA_EXPONENT', '65537'); + } + // per <http://cseweb.ucsd.edu/~hovav/dist/survey.pdf#page=5>, this number ought not result in primes smaller + // than 256 bits. as a consequence if the key you're trying to create is 1024 bits and you've set CRYPT_RSA_SMALLEST_PRIME + // to 384 bits then you're going to get a 384 bit prime and a 640 bit prime (384 + 1024 % 384). at least if + // CRYPT_RSA_MODE is set to self::MODE_INTERNAL. if CRYPT_RSA_MODE is set to self::MODE_OPENSSL then + // CRYPT_RSA_SMALLEST_PRIME is ignored (ie. multi-prime RSA support is more intended as a way to speed up RSA key + // generation when there's a chance neither gmp nor OpenSSL are installed) + if (!defined('CRYPT_RSA_SMALLEST_PRIME')) { + define('CRYPT_RSA_SMALLEST_PRIME', 4096); + } + + // OpenSSL uses 65537 as the exponent and requires RSA keys be 384 bits minimum + if (CRYPT_RSA_MODE == self::MODE_OPENSSL && $bits >= 384 && CRYPT_RSA_EXPONENT == 65537) { + $config = array(); + if (isset($this->configFile)) { + $config['config'] = $this->configFile; + } + $rsa = openssl_pkey_new(array('private_key_bits' => $bits) + $config); + openssl_pkey_export($rsa, $privatekey, null, $config); + $publickey = openssl_pkey_get_details($rsa); + $publickey = $publickey['key']; + + $privatekey = call_user_func_array(array($this, '_convertPrivateKey'), array_values($this->_parseKey($privatekey, self::PRIVATE_FORMAT_PKCS1))); + $publickey = call_user_func_array(array($this, '_convertPublicKey'), array_values($this->_parseKey($publickey, self::PUBLIC_FORMAT_PKCS1))); + + // clear the buffer of error strings stemming from a minimalistic openssl.cnf + while (openssl_error_string() !== false) { + } + + return array( + 'privatekey' => $privatekey, + 'publickey' => $publickey, + 'partialkey' => false + ); + } + + static $e; + if (!isset($e)) { + $e = new BigInteger(CRYPT_RSA_EXPONENT); + } + + extract($this->_generateMinMax($bits)); + $absoluteMin = $min; + $temp = $bits >> 1; // divide by two to see how many bits P and Q would be + if ($temp > CRYPT_RSA_SMALLEST_PRIME) { + $num_primes = floor($bits / CRYPT_RSA_SMALLEST_PRIME); + $temp = CRYPT_RSA_SMALLEST_PRIME; + } else { + $num_primes = 2; + } + extract($this->_generateMinMax($temp + $bits % $temp)); + $finalMax = $max; + extract($this->_generateMinMax($temp)); + + $generator = new BigInteger(); + + $n = $this->one->copy(); + if (!empty($partial)) { + extract(unserialize($partial)); + } else { + $exponents = $coefficients = $primes = array(); + $lcm = array( + 'top' => $this->one->copy(), + 'bottom' => false + ); + } + + $start = time(); + $i0 = count($primes) + 1; + + do { + for ($i = $i0; $i <= $num_primes; $i++) { + if ($timeout !== false) { + $timeout-= time() - $start; + $start = time(); + if ($timeout <= 0) { + return array( + 'privatekey' => '', + 'publickey' => '', + 'partialkey' => serialize(array( + 'primes' => $primes, + 'coefficients' => $coefficients, + 'lcm' => $lcm, + 'exponents' => $exponents + )) + ); + } + } + + if ($i == $num_primes) { + list($min, $temp) = $absoluteMin->divide($n); + if (!$temp->equals($this->zero)) { + $min = $min->add($this->one); // ie. ceil() + } + $primes[$i] = $generator->randomPrime($min, $finalMax, $timeout); + } else { + $primes[$i] = $generator->randomPrime($min, $max, $timeout); + } + + if ($primes[$i] === false) { // if we've reached the timeout + if (count($primes) > 1) { + $partialkey = ''; + } else { + array_pop($primes); + $partialkey = serialize(array( + 'primes' => $primes, + 'coefficients' => $coefficients, + 'lcm' => $lcm, + 'exponents' => $exponents + )); + } + + return array( + 'privatekey' => '', + 'publickey' => '', + 'partialkey' => $partialkey + ); + } + + // the first coefficient is calculated differently from the rest + // ie. instead of being $primes[1]->modInverse($primes[2]), it's $primes[2]->modInverse($primes[1]) + if ($i > 2) { + $coefficients[$i] = $n->modInverse($primes[$i]); + } + + $n = $n->multiply($primes[$i]); + + $temp = $primes[$i]->subtract($this->one); + + // textbook RSA implementations use Euler's totient function instead of the least common multiple. + // see http://en.wikipedia.org/wiki/Euler%27s_totient_function + $lcm['top'] = $lcm['top']->multiply($temp); + $lcm['bottom'] = $lcm['bottom'] === false ? $temp : $lcm['bottom']->gcd($temp); + + $exponents[$i] = $e->modInverse($temp); + } + + list($temp) = $lcm['top']->divide($lcm['bottom']); + $gcd = $temp->gcd($e); + $i0 = 1; + } while (!$gcd->equals($this->one)); + + $d = $e->modInverse($temp); + + $coefficients[2] = $primes[2]->modInverse($primes[1]); + + // from <http://tools.ietf.org/html/rfc3447#appendix-A.1.2>: + // RSAPrivateKey ::= SEQUENCE { + // version Version, + // modulus INTEGER, -- n + // publicExponent INTEGER, -- e + // privateExponent INTEGER, -- d + // prime1 INTEGER, -- p + // prime2 INTEGER, -- q + // exponent1 INTEGER, -- d mod (p-1) + // exponent2 INTEGER, -- d mod (q-1) + // coefficient INTEGER, -- (inverse of q) mod p + // otherPrimeInfos OtherPrimeInfos OPTIONAL + // } + + return array( + 'privatekey' => $this->_convertPrivateKey($n, $e, $d, $primes, $exponents, $coefficients), + 'publickey' => $this->_convertPublicKey($n, $e), + 'partialkey' => false + ); + } + + /** + * Convert a private key to the appropriate format. + * + * @access private + * @see self::setPrivateKeyFormat() + * @param string $RSAPrivateKey + * @return string + */ + function _convertPrivateKey($n, $e, $d, $primes, $exponents, $coefficients) + { + $signed = $this->privateKeyFormat != self::PRIVATE_FORMAT_XML; + $num_primes = count($primes); + $raw = array( + 'version' => $num_primes == 2 ? chr(0) : chr(1), // two-prime vs. multi + 'modulus' => $n->toBytes($signed), + 'publicExponent' => $e->toBytes($signed), + 'privateExponent' => $d->toBytes($signed), + 'prime1' => $primes[1]->toBytes($signed), + 'prime2' => $primes[2]->toBytes($signed), + 'exponent1' => $exponents[1]->toBytes($signed), + 'exponent2' => $exponents[2]->toBytes($signed), + 'coefficient' => $coefficients[2]->toBytes($signed) + ); + + // if the format in question does not support multi-prime rsa and multi-prime rsa was used, + // call _convertPublicKey() instead. + switch ($this->privateKeyFormat) { + case self::PRIVATE_FORMAT_XML: + if ($num_primes != 2) { + return false; + } + return "<RSAKeyValue>\r\n" . + ' <Modulus>' . base64_encode($raw['modulus']) . "</Modulus>\r\n" . + ' <Exponent>' . base64_encode($raw['publicExponent']) . "</Exponent>\r\n" . + ' <P>' . base64_encode($raw['prime1']) . "</P>\r\n" . + ' <Q>' . base64_encode($raw['prime2']) . "</Q>\r\n" . + ' <DP>' . base64_encode($raw['exponent1']) . "</DP>\r\n" . + ' <DQ>' . base64_encode($raw['exponent2']) . "</DQ>\r\n" . + ' <InverseQ>' . base64_encode($raw['coefficient']) . "</InverseQ>\r\n" . + ' <D>' . base64_encode($raw['privateExponent']) . "</D>\r\n" . + '</RSAKeyValue>'; + break; + case self::PRIVATE_FORMAT_PUTTY: + if ($num_primes != 2) { + return false; + } + $key = "PuTTY-User-Key-File-2: ssh-rsa\r\nEncryption: "; + $encryption = (!empty($this->password) || is_string($this->password)) ? 'aes256-cbc' : 'none'; + $key.= $encryption; + $key.= "\r\nComment: " . $this->comment . "\r\n"; + $public = pack( + 'Na*Na*Na*', + strlen('ssh-rsa'), + 'ssh-rsa', + strlen($raw['publicExponent']), + $raw['publicExponent'], + strlen($raw['modulus']), + $raw['modulus'] + ); + $source = pack( + 'Na*Na*Na*Na*', + strlen('ssh-rsa'), + 'ssh-rsa', + strlen($encryption), + $encryption, + strlen($this->comment), + $this->comment, + strlen($public), + $public + ); + $public = base64_encode($public); + $key.= "Public-Lines: " . ((strlen($public) + 63) >> 6) . "\r\n"; + $key.= chunk_split($public, 64); + $private = pack( + 'Na*Na*Na*Na*', + strlen($raw['privateExponent']), + $raw['privateExponent'], + strlen($raw['prime1']), + $raw['prime1'], + strlen($raw['prime2']), + $raw['prime2'], + strlen($raw['coefficient']), + $raw['coefficient'] + ); + if (empty($this->password) && !is_string($this->password)) { + $source.= pack('Na*', strlen($private), $private); + $hashkey = 'putty-private-key-file-mac-key'; + } else { + $private.= Random::string(16 - (strlen($private) & 15)); + $source.= pack('Na*', strlen($private), $private); + $sequence = 0; + $symkey = ''; + while (strlen($symkey) < 32) { + $temp = pack('Na*', $sequence++, $this->password); + $symkey.= pack('H*', sha1($temp)); + } + $symkey = substr($symkey, 0, 32); + $crypto = new AES(); + + $crypto->setKey($symkey); + $crypto->disablePadding(); + $private = $crypto->encrypt($private); + $hashkey = 'putty-private-key-file-mac-key' . $this->password; + } + + $private = base64_encode($private); + $key.= 'Private-Lines: ' . ((strlen($private) + 63) >> 6) . "\r\n"; + $key.= chunk_split($private, 64); + $hash = new Hash('sha1'); + $hash->setKey(pack('H*', sha1($hashkey))); + $key.= 'Private-MAC: ' . bin2hex($hash->hash($source)) . "\r\n"; + + return $key; + default: // eg. self::PRIVATE_FORMAT_PKCS1 + $components = array(); + foreach ($raw as $name => $value) { + $components[$name] = pack('Ca*a*', self::ASN1_INTEGER, $this->_encodeLength(strlen($value)), $value); + } + + $RSAPrivateKey = implode('', $components); + + if ($num_primes > 2) { + $OtherPrimeInfos = ''; + for ($i = 3; $i <= $num_primes; $i++) { + // OtherPrimeInfos ::= SEQUENCE SIZE(1..MAX) OF OtherPrimeInfo + // + // OtherPrimeInfo ::= SEQUENCE { + // prime INTEGER, -- ri + // exponent INTEGER, -- di + // coefficient INTEGER -- ti + // } + $OtherPrimeInfo = pack('Ca*a*', self::ASN1_INTEGER, $this->_encodeLength(strlen($primes[$i]->toBytes(true))), $primes[$i]->toBytes(true)); + $OtherPrimeInfo.= pack('Ca*a*', self::ASN1_INTEGER, $this->_encodeLength(strlen($exponents[$i]->toBytes(true))), $exponents[$i]->toBytes(true)); + $OtherPrimeInfo.= pack('Ca*a*', self::ASN1_INTEGER, $this->_encodeLength(strlen($coefficients[$i]->toBytes(true))), $coefficients[$i]->toBytes(true)); + $OtherPrimeInfos.= pack('Ca*a*', self::ASN1_SEQUENCE, $this->_encodeLength(strlen($OtherPrimeInfo)), $OtherPrimeInfo); + } + $RSAPrivateKey.= pack('Ca*a*', self::ASN1_SEQUENCE, $this->_encodeLength(strlen($OtherPrimeInfos)), $OtherPrimeInfos); + } + + $RSAPrivateKey = pack('Ca*a*', self::ASN1_SEQUENCE, $this->_encodeLength(strlen($RSAPrivateKey)), $RSAPrivateKey); + + if ($this->privateKeyFormat == self::PRIVATE_FORMAT_PKCS8) { + $rsaOID = pack('H*', '300d06092a864886f70d0101010500'); // hex version of MA0GCSqGSIb3DQEBAQUA + $RSAPrivateKey = pack( + 'Ca*a*Ca*a*', + self::ASN1_INTEGER, + "\01\00", + $rsaOID, + 4, + $this->_encodeLength(strlen($RSAPrivateKey)), + $RSAPrivateKey + ); + $RSAPrivateKey = pack('Ca*a*', self::ASN1_SEQUENCE, $this->_encodeLength(strlen($RSAPrivateKey)), $RSAPrivateKey); + if (!empty($this->password) || is_string($this->password)) { + $salt = Random::string(8); + $iterationCount = 2048; + + $crypto = new DES(); + $crypto->setPassword($this->password, 'pbkdf1', 'md5', $salt, $iterationCount); + $RSAPrivateKey = $crypto->encrypt($RSAPrivateKey); + + $parameters = pack( + 'Ca*a*Ca*N', + self::ASN1_OCTETSTRING, + $this->_encodeLength(strlen($salt)), + $salt, + self::ASN1_INTEGER, + $this->_encodeLength(4), + $iterationCount + ); + $pbeWithMD5AndDES_CBC = "\x2a\x86\x48\x86\xf7\x0d\x01\x05\x03"; + + $encryptionAlgorithm = pack( + 'Ca*a*Ca*a*', + self::ASN1_OBJECT, + $this->_encodeLength(strlen($pbeWithMD5AndDES_CBC)), + $pbeWithMD5AndDES_CBC, + self::ASN1_SEQUENCE, + $this->_encodeLength(strlen($parameters)), + $parameters + ); + + $RSAPrivateKey = pack( + 'Ca*a*Ca*a*', + self::ASN1_SEQUENCE, + $this->_encodeLength(strlen($encryptionAlgorithm)), + $encryptionAlgorithm, + self::ASN1_OCTETSTRING, + $this->_encodeLength(strlen($RSAPrivateKey)), + $RSAPrivateKey + ); + + $RSAPrivateKey = pack('Ca*a*', self::ASN1_SEQUENCE, $this->_encodeLength(strlen($RSAPrivateKey)), $RSAPrivateKey); + + $RSAPrivateKey = "-----BEGIN ENCRYPTED PRIVATE KEY-----\r\n" . + chunk_split(base64_encode($RSAPrivateKey), 64) . + '-----END ENCRYPTED PRIVATE KEY-----'; + } else { + $RSAPrivateKey = "-----BEGIN PRIVATE KEY-----\r\n" . + chunk_split(base64_encode($RSAPrivateKey), 64) . + '-----END PRIVATE KEY-----'; + } + return $RSAPrivateKey; + } + + if (!empty($this->password) || is_string($this->password)) { + $iv = Random::string(8); + $symkey = pack('H*', md5($this->password . $iv)); // symkey is short for symmetric key + $symkey.= substr(pack('H*', md5($symkey . $this->password . $iv)), 0, 8); + $des = new TripleDES(); + $des->setKey($symkey); + $des->setIV($iv); + $iv = strtoupper(bin2hex($iv)); + $RSAPrivateKey = "-----BEGIN RSA PRIVATE KEY-----\r\n" . + "Proc-Type: 4,ENCRYPTED\r\n" . + "DEK-Info: DES-EDE3-CBC,$iv\r\n" . + "\r\n" . + chunk_split(base64_encode($des->encrypt($RSAPrivateKey)), 64) . + '-----END RSA PRIVATE KEY-----'; + } else { + $RSAPrivateKey = "-----BEGIN RSA PRIVATE KEY-----\r\n" . + chunk_split(base64_encode($RSAPrivateKey), 64) . + '-----END RSA PRIVATE KEY-----'; + } + + return $RSAPrivateKey; + } + } + + /** + * Convert a public key to the appropriate format + * + * @access private + * @see self::setPublicKeyFormat() + * @param string $RSAPrivateKey + * @return string + */ + function _convertPublicKey($n, $e) + { + $signed = $this->publicKeyFormat != self::PUBLIC_FORMAT_XML; + + $modulus = $n->toBytes($signed); + $publicExponent = $e->toBytes($signed); + + switch ($this->publicKeyFormat) { + case self::PUBLIC_FORMAT_RAW: + return array('e' => $e->copy(), 'n' => $n->copy()); + case self::PUBLIC_FORMAT_XML: + return "<RSAKeyValue>\r\n" . + ' <Modulus>' . base64_encode($modulus) . "</Modulus>\r\n" . + ' <Exponent>' . base64_encode($publicExponent) . "</Exponent>\r\n" . + '</RSAKeyValue>'; + break; + case self::PUBLIC_FORMAT_OPENSSH: + // from <http://tools.ietf.org/html/rfc4253#page-15>: + // string "ssh-rsa" + // mpint e + // mpint n + $RSAPublicKey = pack('Na*Na*Na*', strlen('ssh-rsa'), 'ssh-rsa', strlen($publicExponent), $publicExponent, strlen($modulus), $modulus); + $RSAPublicKey = 'ssh-rsa ' . base64_encode($RSAPublicKey) . ' ' . $this->comment; + + return $RSAPublicKey; + default: // eg. self::PUBLIC_FORMAT_PKCS1_RAW or self::PUBLIC_FORMAT_PKCS1 + // from <http://tools.ietf.org/html/rfc3447#appendix-A.1.1>: + // RSAPublicKey ::= SEQUENCE { + // modulus INTEGER, -- n + // publicExponent INTEGER -- e + // } + $components = array( + 'modulus' => pack('Ca*a*', self::ASN1_INTEGER, $this->_encodeLength(strlen($modulus)), $modulus), + 'publicExponent' => pack('Ca*a*', self::ASN1_INTEGER, $this->_encodeLength(strlen($publicExponent)), $publicExponent) + ); + + $RSAPublicKey = pack( + 'Ca*a*a*', + self::ASN1_SEQUENCE, + $this->_encodeLength(strlen($components['modulus']) + strlen($components['publicExponent'])), + $components['modulus'], + $components['publicExponent'] + ); + + if ($this->publicKeyFormat == self::PUBLIC_FORMAT_PKCS1_RAW) { + $RSAPublicKey = "-----BEGIN RSA PUBLIC KEY-----\r\n" . + chunk_split(base64_encode($RSAPublicKey), 64) . + '-----END RSA PUBLIC KEY-----'; + } else { + // sequence(oid(1.2.840.113549.1.1.1), null)) = rsaEncryption. + $rsaOID = pack('H*', '300d06092a864886f70d0101010500'); // hex version of MA0GCSqGSIb3DQEBAQUA + $RSAPublicKey = chr(0) . $RSAPublicKey; + $RSAPublicKey = chr(3) . $this->_encodeLength(strlen($RSAPublicKey)) . $RSAPublicKey; + + $RSAPublicKey = pack( + 'Ca*a*', + self::ASN1_SEQUENCE, + $this->_encodeLength(strlen($rsaOID . $RSAPublicKey)), + $rsaOID . $RSAPublicKey + ); + + $RSAPublicKey = "-----BEGIN PUBLIC KEY-----\r\n" . + chunk_split(base64_encode($RSAPublicKey), 64) . + '-----END PUBLIC KEY-----'; + } + + return $RSAPublicKey; + } + } + + /** + * Break a public or private key down into its constituant components + * + * @access private + * @see self::_convertPublicKey() + * @see self::_convertPrivateKey() + * @param string $key + * @param int $type + * @return array + */ + function _parseKey($key, $type) + { + if ($type != self::PUBLIC_FORMAT_RAW && !is_string($key)) { + return false; + } + + switch ($type) { + case self::PUBLIC_FORMAT_RAW: + if (!is_array($key)) { + return false; + } + $components = array(); + switch (true) { + case isset($key['e']): + $components['publicExponent'] = $key['e']->copy(); + break; + case isset($key['exponent']): + $components['publicExponent'] = $key['exponent']->copy(); + break; + case isset($key['publicExponent']): + $components['publicExponent'] = $key['publicExponent']->copy(); + break; + case isset($key[0]): + $components['publicExponent'] = $key[0]->copy(); + } + switch (true) { + case isset($key['n']): + $components['modulus'] = $key['n']->copy(); + break; + case isset($key['modulo']): + $components['modulus'] = $key['modulo']->copy(); + break; + case isset($key['modulus']): + $components['modulus'] = $key['modulus']->copy(); + break; + case isset($key[1]): + $components['modulus'] = $key[1]->copy(); + } + return isset($components['modulus']) && isset($components['publicExponent']) ? $components : false; + case self::PRIVATE_FORMAT_PKCS1: + case self::PRIVATE_FORMAT_PKCS8: + case self::PUBLIC_FORMAT_PKCS1: + /* Although PKCS#1 proposes a format that public and private keys can use, encrypting them is + "outside the scope" of PKCS#1. PKCS#1 then refers you to PKCS#12 and PKCS#15 if you're wanting to + protect private keys, however, that's not what OpenSSL* does. OpenSSL protects private keys by adding + two new "fields" to the key - DEK-Info and Proc-Type. These fields are discussed here: + + http://tools.ietf.org/html/rfc1421#section-4.6.1.1 + http://tools.ietf.org/html/rfc1421#section-4.6.1.3 + + DES-EDE3-CBC as an algorithm, however, is not discussed anywhere, near as I can tell. + DES-CBC and DES-EDE are discussed in RFC1423, however, DES-EDE3-CBC isn't, nor is its key derivation + function. As is, the definitive authority on this encoding scheme isn't the IETF but rather OpenSSL's + own implementation. ie. the implementation *is* the standard and any bugs that may exist in that + implementation are part of the standard, as well. + + * OpenSSL is the de facto standard. It's utilized by OpenSSH and other projects */ + if (preg_match('#DEK-Info: (.+),(.+)#', $key, $matches)) { + $iv = pack('H*', trim($matches[2])); + $symkey = pack('H*', md5($this->password . substr($iv, 0, 8))); // symkey is short for symmetric key + $symkey.= pack('H*', md5($symkey . $this->password . substr($iv, 0, 8))); + // remove the Proc-Type / DEK-Info sections as they're no longer needed + $key = preg_replace('#^(?:Proc-Type|DEK-Info): .*#m', '', $key); + $ciphertext = $this->_extractBER($key); + if ($ciphertext === false) { + $ciphertext = $key; + } + switch ($matches[1]) { + case 'AES-256-CBC': + $crypto = new AES(); + break; + case 'AES-128-CBC': + $symkey = substr($symkey, 0, 16); + $crypto = new AES(); + break; + case 'DES-EDE3-CFB': + $crypto = new TripleDES(Base::MODE_CFB); + break; + case 'DES-EDE3-CBC': + $symkey = substr($symkey, 0, 24); + $crypto = new TripleDES(); + break; + case 'DES-CBC': + $crypto = new DES(); + break; + default: + return false; + } + $crypto->setKey($symkey); + $crypto->setIV($iv); + $decoded = $crypto->decrypt($ciphertext); + } else { + $decoded = $this->_extractBER($key); + } + + if ($decoded !== false) { + $key = $decoded; + } + + $components = array(); + + if (ord($this->_string_shift($key)) != self::ASN1_SEQUENCE) { + return false; + } + if ($this->_decodeLength($key) != strlen($key)) { + return false; + } + + $tag = ord($this->_string_shift($key)); + /* intended for keys for which OpenSSL's asn1parse returns the following: + + 0:d=0 hl=4 l= 631 cons: SEQUENCE + 4:d=1 hl=2 l= 1 prim: INTEGER :00 + 7:d=1 hl=2 l= 13 cons: SEQUENCE + 9:d=2 hl=2 l= 9 prim: OBJECT :rsaEncryption + 20:d=2 hl=2 l= 0 prim: NULL + 22:d=1 hl=4 l= 609 prim: OCTET STRING + + ie. PKCS8 keys*/ + + if ($tag == self::ASN1_INTEGER && substr($key, 0, 3) == "\x01\x00\x30") { + $this->_string_shift($key, 3); + $tag = self::ASN1_SEQUENCE; + } + + if ($tag == self::ASN1_SEQUENCE) { + $temp = $this->_string_shift($key, $this->_decodeLength($key)); + if (ord($this->_string_shift($temp)) != self::ASN1_OBJECT) { + return false; + } + $length = $this->_decodeLength($temp); + switch ($this->_string_shift($temp, $length)) { + case "\x2a\x86\x48\x86\xf7\x0d\x01\x01\x01": // rsaEncryption + break; + case "\x2a\x86\x48\x86\xf7\x0d\x01\x05\x03": // pbeWithMD5AndDES-CBC + /* + PBEParameter ::= SEQUENCE { + salt OCTET STRING (SIZE(8)), + iterationCount INTEGER } + */ + if (ord($this->_string_shift($temp)) != self::ASN1_SEQUENCE) { + return false; + } + if ($this->_decodeLength($temp) != strlen($temp)) { + return false; + } + $this->_string_shift($temp); // assume it's an octet string + $salt = $this->_string_shift($temp, $this->_decodeLength($temp)); + if (ord($this->_string_shift($temp)) != self::ASN1_INTEGER) { + return false; + } + $this->_decodeLength($temp); + list(, $iterationCount) = unpack('N', str_pad($temp, 4, chr(0), STR_PAD_LEFT)); + $this->_string_shift($key); // assume it's an octet string + $length = $this->_decodeLength($key); + if (strlen($key) != $length) { + return false; + } + + $crypto = new DES(); + $crypto->setPassword($this->password, 'pbkdf1', 'md5', $salt, $iterationCount); + $key = $crypto->decrypt($key); + if ($key === false) { + return false; + } + return $this->_parseKey($key, self::PRIVATE_FORMAT_PKCS1); + default: + return false; + } + /* intended for keys for which OpenSSL's asn1parse returns the following: + + 0:d=0 hl=4 l= 290 cons: SEQUENCE + 4:d=1 hl=2 l= 13 cons: SEQUENCE + 6:d=2 hl=2 l= 9 prim: OBJECT :rsaEncryption + 17:d=2 hl=2 l= 0 prim: NULL + 19:d=1 hl=4 l= 271 prim: BIT STRING */ + $tag = ord($this->_string_shift($key)); // skip over the BIT STRING / OCTET STRING tag + $this->_decodeLength($key); // skip over the BIT STRING / OCTET STRING length + // "The initial octet shall encode, as an unsigned binary integer wtih bit 1 as the least significant bit, the number of + // unused bits in the final subsequent octet. The number shall be in the range zero to seven." + // -- http://www.itu.int/ITU-T/studygroups/com17/languages/X.690-0207.pdf (section 8.6.2.2) + if ($tag == self::ASN1_BITSTRING) { + $this->_string_shift($key); + } + if (ord($this->_string_shift($key)) != self::ASN1_SEQUENCE) { + return false; + } + if ($this->_decodeLength($key) != strlen($key)) { + return false; + } + $tag = ord($this->_string_shift($key)); + } + if ($tag != self::ASN1_INTEGER) { + return false; + } + + $length = $this->_decodeLength($key); + $temp = $this->_string_shift($key, $length); + if (strlen($temp) != 1 || ord($temp) > 2) { + $components['modulus'] = new BigInteger($temp, 256); + $this->_string_shift($key); // skip over self::ASN1_INTEGER + $length = $this->_decodeLength($key); + $components[$type == self::PUBLIC_FORMAT_PKCS1 ? 'publicExponent' : 'privateExponent'] = new BigInteger($this->_string_shift($key, $length), 256); + + return $components; + } + if (ord($this->_string_shift($key)) != self::ASN1_INTEGER) { + return false; + } + $length = $this->_decodeLength($key); + $components['modulus'] = new BigInteger($this->_string_shift($key, $length), 256); + $this->_string_shift($key); + $length = $this->_decodeLength($key); + $components['publicExponent'] = new BigInteger($this->_string_shift($key, $length), 256); + $this->_string_shift($key); + $length = $this->_decodeLength($key); + $components['privateExponent'] = new BigInteger($this->_string_shift($key, $length), 256); + $this->_string_shift($key); + $length = $this->_decodeLength($key); + $components['primes'] = array(1 => new BigInteger($this->_string_shift($key, $length), 256)); + $this->_string_shift($key); + $length = $this->_decodeLength($key); + $components['primes'][] = new BigInteger($this->_string_shift($key, $length), 256); + $this->_string_shift($key); + $length = $this->_decodeLength($key); + $components['exponents'] = array(1 => new BigInteger($this->_string_shift($key, $length), 256)); + $this->_string_shift($key); + $length = $this->_decodeLength($key); + $components['exponents'][] = new BigInteger($this->_string_shift($key, $length), 256); + $this->_string_shift($key); + $length = $this->_decodeLength($key); + $components['coefficients'] = array(2 => new BigInteger($this->_string_shift($key, $length), 256)); + + if (!empty($key)) { + if (ord($this->_string_shift($key)) != self::ASN1_SEQUENCE) { + return false; + } + $this->_decodeLength($key); + while (!empty($key)) { + if (ord($this->_string_shift($key)) != self::ASN1_SEQUENCE) { + return false; + } + $this->_decodeLength($key); + $key = substr($key, 1); + $length = $this->_decodeLength($key); + $components['primes'][] = new BigInteger($this->_string_shift($key, $length), 256); + $this->_string_shift($key); + $length = $this->_decodeLength($key); + $components['exponents'][] = new BigInteger($this->_string_shift($key, $length), 256); + $this->_string_shift($key); + $length = $this->_decodeLength($key); + $components['coefficients'][] = new BigInteger($this->_string_shift($key, $length), 256); + } + } + + return $components; + case self::PUBLIC_FORMAT_OPENSSH: + $parts = explode(' ', $key, 3); + + $key = isset($parts[1]) ? base64_decode($parts[1]) : false; + if ($key === false) { + return false; + } + + $comment = isset($parts[2]) ? $parts[2] : false; + + $cleanup = substr($key, 0, 11) == "\0\0\0\7ssh-rsa"; + + if (strlen($key) <= 4) { + return false; + } + extract(unpack('Nlength', $this->_string_shift($key, 4))); + $publicExponent = new BigInteger($this->_string_shift($key, $length), -256); + if (strlen($key) <= 4) { + return false; + } + extract(unpack('Nlength', $this->_string_shift($key, 4))); + $modulus = new BigInteger($this->_string_shift($key, $length), -256); + + if ($cleanup && strlen($key)) { + if (strlen($key) <= 4) { + return false; + } + extract(unpack('Nlength', $this->_string_shift($key, 4))); + $realModulus = new BigInteger($this->_string_shift($key, $length), -256); + return strlen($key) ? false : array( + 'modulus' => $realModulus, + 'publicExponent' => $modulus, + 'comment' => $comment + ); + } else { + return strlen($key) ? false : array( + 'modulus' => $modulus, + 'publicExponent' => $publicExponent, + 'comment' => $comment + ); + } + // http://www.w3.org/TR/xmldsig-core/#sec-RSAKeyValue + // http://en.wikipedia.org/wiki/XML_Signature + case self::PRIVATE_FORMAT_XML: + case self::PUBLIC_FORMAT_XML: + $this->components = array(); + + $xml = xml_parser_create('UTF-8'); + xml_set_object($xml, $this); + xml_set_element_handler($xml, '_start_element_handler', '_stop_element_handler'); + xml_set_character_data_handler($xml, '_data_handler'); + // add <xml></xml> to account for "dangling" tags like <BitStrength>...</BitStrength> that are sometimes added + if (!xml_parse($xml, '<xml>' . $key . '</xml>')) { + return false; + } + + return isset($this->components['modulus']) && isset($this->components['publicExponent']) ? $this->components : false; + // from PuTTY's SSHPUBK.C + case self::PRIVATE_FORMAT_PUTTY: + $components = array(); + $key = preg_split('#\r\n|\r|\n#', $key); + $type = trim(preg_replace('#PuTTY-User-Key-File-2: (.+)#', '$1', $key[0])); + if ($type != 'ssh-rsa') { + return false; + } + $encryption = trim(preg_replace('#Encryption: (.+)#', '$1', $key[1])); + $comment = trim(preg_replace('#Comment: (.+)#', '$1', $key[2])); + + $publicLength = trim(preg_replace('#Public-Lines: (\d+)#', '$1', $key[3])); + $public = base64_decode(implode('', array_map('trim', array_slice($key, 4, $publicLength)))); + $public = substr($public, 11); + extract(unpack('Nlength', $this->_string_shift($public, 4))); + $components['publicExponent'] = new BigInteger($this->_string_shift($public, $length), -256); + extract(unpack('Nlength', $this->_string_shift($public, 4))); + $components['modulus'] = new BigInteger($this->_string_shift($public, $length), -256); + + $privateLength = trim(preg_replace('#Private-Lines: (\d+)#', '$1', $key[$publicLength + 4])); + $private = base64_decode(implode('', array_map('trim', array_slice($key, $publicLength + 5, $privateLength)))); + + switch ($encryption) { + case 'aes256-cbc': + $symkey = ''; + $sequence = 0; + while (strlen($symkey) < 32) { + $temp = pack('Na*', $sequence++, $this->password); + $symkey.= pack('H*', sha1($temp)); + } + $symkey = substr($symkey, 0, 32); + $crypto = new AES(); + } + + if ($encryption != 'none') { + $crypto->setKey($symkey); + $crypto->disablePadding(); + $private = $crypto->decrypt($private); + if ($private === false) { + return false; + } + } + + extract(unpack('Nlength', $this->_string_shift($private, 4))); + if (strlen($private) < $length) { + return false; + } + $components['privateExponent'] = new BigInteger($this->_string_shift($private, $length), -256); + extract(unpack('Nlength', $this->_string_shift($private, 4))); + if (strlen($private) < $length) { + return false; + } + $components['primes'] = array(1 => new BigInteger($this->_string_shift($private, $length), -256)); + extract(unpack('Nlength', $this->_string_shift($private, 4))); + if (strlen($private) < $length) { + return false; + } + $components['primes'][] = new BigInteger($this->_string_shift($private, $length), -256); + + $temp = $components['primes'][1]->subtract($this->one); + $components['exponents'] = array(1 => $components['publicExponent']->modInverse($temp)); + $temp = $components['primes'][2]->subtract($this->one); + $components['exponents'][] = $components['publicExponent']->modInverse($temp); + + extract(unpack('Nlength', $this->_string_shift($private, 4))); + if (strlen($private) < $length) { + return false; + } + $components['coefficients'] = array(2 => new BigInteger($this->_string_shift($private, $length), -256)); + + return $components; + } + } + + /** + * Returns the key size + * + * More specifically, this returns the size of the modulo in bits. + * + * @access public + * @return int + */ + function getSize() + { + return !isset($this->modulus) ? 0 : strlen($this->modulus->toBits()); + } + + /** + * Start Element Handler + * + * Called by xml_set_element_handler() + * + * @access private + * @param resource $parser + * @param string $name + * @param array $attribs + */ + function _start_element_handler($parser, $name, $attribs) + { + //$name = strtoupper($name); + switch ($name) { + case 'MODULUS': + $this->current = &$this->components['modulus']; + break; + case 'EXPONENT': + $this->current = &$this->components['publicExponent']; + break; + case 'P': + $this->current = &$this->components['primes'][1]; + break; + case 'Q': + $this->current = &$this->components['primes'][2]; + break; + case 'DP': + $this->current = &$this->components['exponents'][1]; + break; + case 'DQ': + $this->current = &$this->components['exponents'][2]; + break; + case 'INVERSEQ': + $this->current = &$this->components['coefficients'][2]; + break; + case 'D': + $this->current = &$this->components['privateExponent']; + } + $this->current = ''; + } + + /** + * Stop Element Handler + * + * Called by xml_set_element_handler() + * + * @access private + * @param resource $parser + * @param string $name + */ + function _stop_element_handler($parser, $name) + { + if (isset($this->current)) { + $this->current = new BigInteger(base64_decode($this->current), 256); + unset($this->current); + } + } + + /** + * Data Handler + * + * Called by xml_set_character_data_handler() + * + * @access private + * @param resource $parser + * @param string $data + */ + function _data_handler($parser, $data) + { + if (!isset($this->current) || is_object($this->current)) { + return; + } + $this->current.= trim($data); + } + + /** + * Loads a public or private key + * + * Returns true on success and false on failure (ie. an incorrect password was provided or the key was malformed) + * + * @access public + * @param string $key + * @param int $type optional + */ + function loadKey($key, $type = false) + { + if ($key instanceof RSA) { + $this->privateKeyFormat = $key->privateKeyFormat; + $this->publicKeyFormat = $key->publicKeyFormat; + $this->k = $key->k; + $this->hLen = $key->hLen; + $this->sLen = $key->sLen; + $this->mgfHLen = $key->mgfHLen; + $this->encryptionMode = $key->encryptionMode; + $this->signatureMode = $key->signatureMode; + $this->password = $key->password; + $this->configFile = $key->configFile; + $this->comment = $key->comment; + + if (is_object($key->hash)) { + $this->hash = new Hash($key->hash->getHash()); + } + if (is_object($key->mgfHash)) { + $this->mgfHash = new Hash($key->mgfHash->getHash()); + } + + if (is_object($key->modulus)) { + $this->modulus = $key->modulus->copy(); + } + if (is_object($key->exponent)) { + $this->exponent = $key->exponent->copy(); + } + if (is_object($key->publicExponent)) { + $this->publicExponent = $key->publicExponent->copy(); + } + + $this->primes = array(); + $this->exponents = array(); + $this->coefficients = array(); + + foreach ($this->primes as $prime) { + $this->primes[] = $prime->copy(); + } + foreach ($this->exponents as $exponent) { + $this->exponents[] = $exponent->copy(); + } + foreach ($this->coefficients as $coefficient) { + $this->coefficients[] = $coefficient->copy(); + } + + return true; + } + + if ($type === false) { + $types = array( + self::PUBLIC_FORMAT_RAW, + self::PRIVATE_FORMAT_PKCS1, + self::PRIVATE_FORMAT_XML, + self::PRIVATE_FORMAT_PUTTY, + self::PUBLIC_FORMAT_OPENSSH + ); + foreach ($types as $type) { + $components = $this->_parseKey($key, $type); + if ($components !== false) { + break; + } + } + } else { + $components = $this->_parseKey($key, $type); + } + + if ($components === false) { + return false; + } + + if (isset($components['comment']) && $components['comment'] !== false) { + $this->comment = $components['comment']; + } + $this->modulus = $components['modulus']; + $this->k = strlen($this->modulus->toBytes()); + $this->exponent = isset($components['privateExponent']) ? $components['privateExponent'] : $components['publicExponent']; + if (isset($components['primes'])) { + $this->primes = $components['primes']; + $this->exponents = $components['exponents']; + $this->coefficients = $components['coefficients']; + $this->publicExponent = $components['publicExponent']; + } else { + $this->primes = array(); + $this->exponents = array(); + $this->coefficients = array(); + $this->publicExponent = false; + } + + switch ($type) { + case self::PUBLIC_FORMAT_OPENSSH: + case self::PUBLIC_FORMAT_RAW: + $this->setPublicKey(); + break; + case self::PRIVATE_FORMAT_PKCS1: + switch (true) { + case strpos($key, '-BEGIN PUBLIC KEY-') !== false: + case strpos($key, '-BEGIN RSA PUBLIC KEY-') !== false: + $this->setPublicKey(); + } + } + + return true; + } + + /** + * Sets the password + * + * Private keys can be encrypted with a password. To unset the password, pass in the empty string or false. + * Or rather, pass in $password such that empty($password) && !is_string($password) is true. + * + * @see self::createKey() + * @see self::loadKey() + * @access public + * @param string $password + */ + function setPassword($password = false) + { + $this->password = $password; + } + + /** + * Defines the public key + * + * Some private key formats define the public exponent and some don't. Those that don't define it are problematic when + * used in certain contexts. For example, in SSH-2, RSA authentication works by sending the public key along with a + * message signed by the private key to the server. The SSH-2 server looks the public key up in an index of public keys + * and if it's present then proceeds to verify the signature. Problem is, if your private key doesn't include the public + * exponent this won't work unless you manually add the public exponent. phpseclib tries to guess if the key being used + * is the public key but in the event that it guesses incorrectly you might still want to explicitly set the key as being + * public. + * + * Do note that when a new key is loaded the index will be cleared. + * + * Returns true on success, false on failure + * + * @see self::getPublicKey() + * @access public + * @param string $key optional + * @param int $type optional + * @return bool + */ + function setPublicKey($key = false, $type = false) + { + // if a public key has already been loaded return false + if (!empty($this->publicExponent)) { + return false; + } + + if ($key === false && !empty($this->modulus)) { + $this->publicExponent = $this->exponent; + return true; + } + + if ($type === false) { + $types = array( + self::PUBLIC_FORMAT_RAW, + self::PUBLIC_FORMAT_PKCS1, + self::PUBLIC_FORMAT_XML, + self::PUBLIC_FORMAT_OPENSSH + ); + foreach ($types as $type) { + $components = $this->_parseKey($key, $type); + if ($components !== false) { + break; + } + } + } else { + $components = $this->_parseKey($key, $type); + } + + if ($components === false) { + return false; + } + + if (empty($this->modulus) || !$this->modulus->equals($components['modulus'])) { + $this->modulus = $components['modulus']; + $this->exponent = $this->publicExponent = $components['publicExponent']; + return true; + } + + $this->publicExponent = $components['publicExponent']; + + return true; + } + + /** + * Defines the private key + * + * If phpseclib guessed a private key was a public key and loaded it as such it might be desirable to force + * phpseclib to treat the key as a private key. This function will do that. + * + * Do note that when a new key is loaded the index will be cleared. + * + * Returns true on success, false on failure + * + * @see self::getPublicKey() + * @access public + * @param string $key optional + * @param int $type optional + * @return bool + */ + function setPrivateKey($key = false, $type = false) + { + if ($key === false && !empty($this->publicExponent)) { + $this->publicExponent = false; + return true; + } + + $rsa = new RSA(); + if (!$rsa->loadKey($key, $type)) { + return false; + } + $rsa->publicExponent = false; + + // don't overwrite the old key if the new key is invalid + $this->loadKey($rsa); + return true; + } + + /** + * Returns the public key + * + * The public key is only returned under two circumstances - if the private key had the public key embedded within it + * or if the public key was set via setPublicKey(). If the currently loaded key is supposed to be the public key this + * function won't return it since this library, for the most part, doesn't distinguish between public and private keys. + * + * @see self::getPublicKey() + * @access public + * @param string $key + * @param int $type optional + */ + function getPublicKey($type = self::PUBLIC_FORMAT_PKCS8) + { + if (empty($this->modulus) || empty($this->publicExponent)) { + return false; + } + + $oldFormat = $this->publicKeyFormat; + $this->publicKeyFormat = $type; + $temp = $this->_convertPublicKey($this->modulus, $this->publicExponent); + $this->publicKeyFormat = $oldFormat; + return $temp; + } + + /** + * Returns the public key's fingerprint + * + * The public key's fingerprint is returned, which is equivalent to running `ssh-keygen -lf rsa.pub`. If there is + * no public key currently loaded, false is returned. + * Example output (md5): "c1:b1:30:29:d7:b8:de:6c:97:77:10:d7:46:41:63:87" (as specified by RFC 4716) + * + * @access public + * @param string $algorithm The hashing algorithm to be used. Valid options are 'md5' and 'sha256'. False is returned + * for invalid values. + * @return mixed + */ + function getPublicKeyFingerprint($algorithm = 'md5') + { + if (empty($this->modulus) || empty($this->publicExponent)) { + return false; + } + + $modulus = $this->modulus->toBytes(true); + $publicExponent = $this->publicExponent->toBytes(true); + + $RSAPublicKey = pack('Na*Na*Na*', strlen('ssh-rsa'), 'ssh-rsa', strlen($publicExponent), $publicExponent, strlen($modulus), $modulus); + + switch ($algorithm) { + case 'sha256': + $hash = new Hash('sha256'); + $base = base64_encode($hash->hash($RSAPublicKey)); + return substr($base, 0, strlen($base) - 1); + case 'md5': + return substr(chunk_split(md5($RSAPublicKey), 2, ':'), 0, -1); + default: + return false; + } + } + + /** + * Returns the private key + * + * The private key is only returned if the currently loaded key contains the constituent prime numbers. + * + * @see self::getPublicKey() + * @access public + * @param string $key + * @param int $type optional + * @return mixed + */ + function getPrivateKey($type = self::PUBLIC_FORMAT_PKCS1) + { + if (empty($this->primes)) { + return false; + } + + $oldFormat = $this->privateKeyFormat; + $this->privateKeyFormat = $type; + $temp = $this->_convertPrivateKey($this->modulus, $this->publicExponent, $this->exponent, $this->primes, $this->exponents, $this->coefficients); + $this->privateKeyFormat = $oldFormat; + return $temp; + } + + /** + * Returns a minimalistic private key + * + * Returns the private key without the prime number constituants. Structurally identical to a public key that + * hasn't been set as the public key + * + * @see self::getPrivateKey() + * @access private + * @param string $key + * @param int $type optional + */ + function _getPrivatePublicKey($mode = self::PUBLIC_FORMAT_PKCS8) + { + if (empty($this->modulus) || empty($this->exponent)) { + return false; + } + + $oldFormat = $this->publicKeyFormat; + $this->publicKeyFormat = $mode; + $temp = $this->_convertPublicKey($this->modulus, $this->exponent); + $this->publicKeyFormat = $oldFormat; + return $temp; + } + + /** + * __toString() magic method + * + * @access public + * @return string + */ + function __toString() + { + $key = $this->getPrivateKey($this->privateKeyFormat); + if ($key !== false) { + return $key; + } + $key = $this->_getPrivatePublicKey($this->publicKeyFormat); + return $key !== false ? $key : ''; + } + + /** + * __clone() magic method + * + * @access public + * @return Crypt_RSA + */ + function __clone() + { + $key = new RSA(); + $key->loadKey($this); + return $key; + } + + /** + * Generates the smallest and largest numbers requiring $bits bits + * + * @access private + * @param int $bits + * @return array + */ + function _generateMinMax($bits) + { + $bytes = $bits >> 3; + $min = str_repeat(chr(0), $bytes); + $max = str_repeat(chr(0xFF), $bytes); + $msb = $bits & 7; + if ($msb) { + $min = chr(1 << ($msb - 1)) . $min; + $max = chr((1 << $msb) - 1) . $max; + } else { + $min[0] = chr(0x80); + } + + return array( + 'min' => new BigInteger($min, 256), + 'max' => new BigInteger($max, 256) + ); + } + + /** + * DER-decode the length + * + * DER supports lengths up to (2**8)**127, however, we'll only support lengths up to (2**8)**4. See + * {@link http://itu.int/ITU-T/studygroups/com17/languages/X.690-0207.pdf#p=13 X.690 paragraph 8.1.3} for more information. + * + * @access private + * @param string $string + * @return int + */ + function _decodeLength(&$string) + { + $length = ord($this->_string_shift($string)); + if ($length & 0x80) { // definite length, long form + $length&= 0x7F; + $temp = $this->_string_shift($string, $length); + list(, $length) = unpack('N', substr(str_pad($temp, 4, chr(0), STR_PAD_LEFT), -4)); + } + return $length; + } + + /** + * DER-encode the length + * + * DER supports lengths up to (2**8)**127, however, we'll only support lengths up to (2**8)**4. See + * {@link http://itu.int/ITU-T/studygroups/com17/languages/X.690-0207.pdf#p=13 X.690 paragraph 8.1.3} for more information. + * + * @access private + * @param int $length + * @return string + */ + function _encodeLength($length) + { + if ($length <= 0x7F) { + return chr($length); + } + + $temp = ltrim(pack('N', $length), chr(0)); + return pack('Ca*', 0x80 | strlen($temp), $temp); + } + + /** + * String Shift + * + * Inspired by array_shift + * + * @param string $string + * @param int $index + * @return string + * @access private + */ + function _string_shift(&$string, $index = 1) + { + $substr = substr($string, 0, $index); + $string = substr($string, $index); + return $substr; + } + + /** + * Determines the private key format + * + * @see self::createKey() + * @access public + * @param int $format + */ + function setPrivateKeyFormat($format) + { + $this->privateKeyFormat = $format; + } + + /** + * Determines the public key format + * + * @see self::createKey() + * @access public + * @param int $format + */ + function setPublicKeyFormat($format) + { + $this->publicKeyFormat = $format; + } + + /** + * Determines which hashing function should be used + * + * Used with signature production / verification and (if the encryption mode is self::ENCRYPTION_OAEP) encryption and + * decryption. If $hash isn't supported, sha1 is used. + * + * @access public + * @param string $hash + */ + function setHash($hash) + { + // \phpseclib\Crypt\Hash supports algorithms that PKCS#1 doesn't support. md5-96 and sha1-96, for example. + switch ($hash) { + case 'md2': + case 'md5': + case 'sha1': + case 'sha256': + case 'sha384': + case 'sha512': + $this->hash = new Hash($hash); + $this->hashName = $hash; + break; + default: + $this->hash = new Hash('sha1'); + $this->hashName = 'sha1'; + } + $this->hLen = $this->hash->getLength(); + } + + /** + * Determines which hashing function should be used for the mask generation function + * + * The mask generation function is used by self::ENCRYPTION_OAEP and self::SIGNATURE_PSS and although it's + * best if Hash and MGFHash are set to the same thing this is not a requirement. + * + * @access public + * @param string $hash + */ + function setMGFHash($hash) + { + // \phpseclib\Crypt\Hash supports algorithms that PKCS#1 doesn't support. md5-96 and sha1-96, for example. + switch ($hash) { + case 'md2': + case 'md5': + case 'sha1': + case 'sha256': + case 'sha384': + case 'sha512': + $this->mgfHash = new Hash($hash); + break; + default: + $this->mgfHash = new Hash('sha1'); + } + $this->mgfHLen = $this->mgfHash->getLength(); + } + + /** + * Determines the salt length + * + * To quote from {@link http://tools.ietf.org/html/rfc3447#page-38 RFC3447#page-38}: + * + * Typical salt lengths in octets are hLen (the length of the output + * of the hash function Hash) and 0. + * + * @access public + * @param int $format + */ + function setSaltLength($sLen) + { + $this->sLen = $sLen; + } + + /** + * Integer-to-Octet-String primitive + * + * See {@link http://tools.ietf.org/html/rfc3447#section-4.1 RFC3447#section-4.1}. + * + * @access private + * @param \phpseclib\Math\BigInteger $x + * @param int $xLen + * @return string + */ + function _i2osp($x, $xLen) + { + $x = $x->toBytes(); + if (strlen($x) > $xLen) { + user_error('Integer too large'); + return false; + } + return str_pad($x, $xLen, chr(0), STR_PAD_LEFT); + } + + /** + * Octet-String-to-Integer primitive + * + * See {@link http://tools.ietf.org/html/rfc3447#section-4.2 RFC3447#section-4.2}. + * + * @access private + * @param string $x + * @return \phpseclib\Math\BigInteger + */ + function _os2ip($x) + { + return new BigInteger($x, 256); + } + + /** + * Exponentiate with or without Chinese Remainder Theorem + * + * See {@link http://tools.ietf.org/html/rfc3447#section-5.1.1 RFC3447#section-5.1.2}. + * + * @access private + * @param \phpseclib\Math\BigInteger $x + * @return \phpseclib\Math\BigInteger + */ + function _exponentiate($x) + { + switch (true) { + case empty($this->primes): + case $this->primes[1]->equals($this->zero): + case empty($this->coefficients): + case $this->coefficients[2]->equals($this->zero): + case empty($this->exponents): + case $this->exponents[1]->equals($this->zero): + return $x->modPow($this->exponent, $this->modulus); + } + + $num_primes = count($this->primes); + + if (defined('CRYPT_RSA_DISABLE_BLINDING')) { + $m_i = array( + 1 => $x->modPow($this->exponents[1], $this->primes[1]), + 2 => $x->modPow($this->exponents[2], $this->primes[2]) + ); + $h = $m_i[1]->subtract($m_i[2]); + $h = $h->multiply($this->coefficients[2]); + list(, $h) = $h->divide($this->primes[1]); + $m = $m_i[2]->add($h->multiply($this->primes[2])); + + $r = $this->primes[1]; + for ($i = 3; $i <= $num_primes; $i++) { + $m_i = $x->modPow($this->exponents[$i], $this->primes[$i]); + + $r = $r->multiply($this->primes[$i - 1]); + + $h = $m_i->subtract($m); + $h = $h->multiply($this->coefficients[$i]); + list(, $h) = $h->divide($this->primes[$i]); + + $m = $m->add($r->multiply($h)); + } + } else { + $smallest = $this->primes[1]; + for ($i = 2; $i <= $num_primes; $i++) { + if ($smallest->compare($this->primes[$i]) > 0) { + $smallest = $this->primes[$i]; + } + } + + $one = new BigInteger(1); + + $r = $one->random($one, $smallest->subtract($one)); + + $m_i = array( + 1 => $this->_blind($x, $r, 1), + 2 => $this->_blind($x, $r, 2) + ); + $h = $m_i[1]->subtract($m_i[2]); + $h = $h->multiply($this->coefficients[2]); + list(, $h) = $h->divide($this->primes[1]); + $m = $m_i[2]->add($h->multiply($this->primes[2])); + + $r = $this->primes[1]; + for ($i = 3; $i <= $num_primes; $i++) { + $m_i = $this->_blind($x, $r, $i); + + $r = $r->multiply($this->primes[$i - 1]); + + $h = $m_i->subtract($m); + $h = $h->multiply($this->coefficients[$i]); + list(, $h) = $h->divide($this->primes[$i]); + + $m = $m->add($r->multiply($h)); + } + } + + return $m; + } + + /** + * Performs RSA Blinding + * + * Protects against timing attacks by employing RSA Blinding. + * Returns $x->modPow($this->exponents[$i], $this->primes[$i]) + * + * @access private + * @param \phpseclib\Math\BigInteger $x + * @param \phpseclib\Math\BigInteger $r + * @param int $i + * @return \phpseclib\Math\BigInteger + */ + function _blind($x, $r, $i) + { + $x = $x->multiply($r->modPow($this->publicExponent, $this->primes[$i])); + $x = $x->modPow($this->exponents[$i], $this->primes[$i]); + + $r = $r->modInverse($this->primes[$i]); + $x = $x->multiply($r); + list(, $x) = $x->divide($this->primes[$i]); + + return $x; + } + + /** + * Performs blinded RSA equality testing + * + * Protects against a particular type of timing attack described. + * + * See {@link http://codahale.com/a-lesson-in-timing-attacks/ A Lesson In Timing Attacks (or, Don't use MessageDigest.isEquals)} + * + * Thanks for the heads up singpolyma! + * + * @access private + * @param string $x + * @param string $y + * @return bool + */ + function _equals($x, $y) + { + if (strlen($x) != strlen($y)) { + return false; + } + + $result = 0; + for ($i = 0; $i < strlen($x); $i++) { + $result |= ord($x[$i]) ^ ord($y[$i]); + } + + return $result == 0; + } + + /** + * RSAEP + * + * See {@link http://tools.ietf.org/html/rfc3447#section-5.1.1 RFC3447#section-5.1.1}. + * + * @access private + * @param \phpseclib\Math\BigInteger $m + * @return \phpseclib\Math\BigInteger + */ + function _rsaep($m) + { + if ($m->compare($this->zero) < 0 || $m->compare($this->modulus) > 0) { + user_error('Message representative out of range'); + return false; + } + return $this->_exponentiate($m); + } + + /** + * RSADP + * + * See {@link http://tools.ietf.org/html/rfc3447#section-5.1.2 RFC3447#section-5.1.2}. + * + * @access private + * @param \phpseclib\Math\BigInteger $c + * @return \phpseclib\Math\BigInteger + */ + function _rsadp($c) + { + if ($c->compare($this->zero) < 0 || $c->compare($this->modulus) > 0) { + user_error('Ciphertext representative out of range'); + return false; + } + return $this->_exponentiate($c); + } + + /** + * RSASP1 + * + * See {@link http://tools.ietf.org/html/rfc3447#section-5.2.1 RFC3447#section-5.2.1}. + * + * @access private + * @param \phpseclib\Math\BigInteger $m + * @return \phpseclib\Math\BigInteger + */ + function _rsasp1($m) + { + if ($m->compare($this->zero) < 0 || $m->compare($this->modulus) > 0) { + user_error('Message representative out of range'); + return false; + } + return $this->_exponentiate($m); + } + + /** + * RSAVP1 + * + * See {@link http://tools.ietf.org/html/rfc3447#section-5.2.2 RFC3447#section-5.2.2}. + * + * @access private + * @param \phpseclib\Math\BigInteger $s + * @return \phpseclib\Math\BigInteger + */ + function _rsavp1($s) + { + if ($s->compare($this->zero) < 0 || $s->compare($this->modulus) > 0) { + user_error('Signature representative out of range'); + return false; + } + return $this->_exponentiate($s); + } + + /** + * MGF1 + * + * See {@link http://tools.ietf.org/html/rfc3447#appendix-B.2.1 RFC3447#appendix-B.2.1}. + * + * @access private + * @param string $mgfSeed + * @param int $mgfLen + * @return string + */ + function _mgf1($mgfSeed, $maskLen) + { + // if $maskLen would yield strings larger than 4GB, PKCS#1 suggests a "Mask too long" error be output. + + $t = ''; + $count = ceil($maskLen / $this->mgfHLen); + for ($i = 0; $i < $count; $i++) { + $c = pack('N', $i); + $t.= $this->mgfHash->hash($mgfSeed . $c); + } + + return substr($t, 0, $maskLen); + } + + /** + * RSAES-OAEP-ENCRYPT + * + * See {@link http://tools.ietf.org/html/rfc3447#section-7.1.1 RFC3447#section-7.1.1} and + * {http://en.wikipedia.org/wiki/Optimal_Asymmetric_Encryption_Padding OAES}. + * + * @access private + * @param string $m + * @param string $l + * @return string + */ + function _rsaes_oaep_encrypt($m, $l = '') + { + $mLen = strlen($m); + + // Length checking + + // if $l is larger than two million terrabytes and you're using sha1, PKCS#1 suggests a "Label too long" error + // be output. + + if ($mLen > $this->k - 2 * $this->hLen - 2) { + user_error('Message too long'); + return false; + } + + // EME-OAEP encoding + + $lHash = $this->hash->hash($l); + $ps = str_repeat(chr(0), $this->k - $mLen - 2 * $this->hLen - 2); + $db = $lHash . $ps . chr(1) . $m; + $seed = Random::string($this->hLen); + $dbMask = $this->_mgf1($seed, $this->k - $this->hLen - 1); + $maskedDB = $db ^ $dbMask; + $seedMask = $this->_mgf1($maskedDB, $this->hLen); + $maskedSeed = $seed ^ $seedMask; + $em = chr(0) . $maskedSeed . $maskedDB; + + // RSA encryption + + $m = $this->_os2ip($em); + $c = $this->_rsaep($m); + $c = $this->_i2osp($c, $this->k); + + // Output the ciphertext C + + return $c; + } + + /** + * RSAES-OAEP-DECRYPT + * + * See {@link http://tools.ietf.org/html/rfc3447#section-7.1.2 RFC3447#section-7.1.2}. The fact that the error + * messages aren't distinguishable from one another hinders debugging, but, to quote from RFC3447#section-7.1.2: + * + * Note. Care must be taken to ensure that an opponent cannot + * distinguish the different error conditions in Step 3.g, whether by + * error message or timing, or, more generally, learn partial + * information about the encoded message EM. Otherwise an opponent may + * be able to obtain useful information about the decryption of the + * ciphertext C, leading to a chosen-ciphertext attack such as the one + * observed by Manger [36]. + * + * As for $l... to quote from {@link http://tools.ietf.org/html/rfc3447#page-17 RFC3447#page-17}: + * + * Both the encryption and the decryption operations of RSAES-OAEP take + * the value of a label L as input. In this version of PKCS #1, L is + * the empty string; other uses of the label are outside the scope of + * this document. + * + * @access private + * @param string $c + * @param string $l + * @return string + */ + function _rsaes_oaep_decrypt($c, $l = '') + { + // Length checking + + // if $l is larger than two million terrabytes and you're using sha1, PKCS#1 suggests a "Label too long" error + // be output. + + if (strlen($c) != $this->k || $this->k < 2 * $this->hLen + 2) { + user_error('Decryption error'); + return false; + } + + // RSA decryption + + $c = $this->_os2ip($c); + $m = $this->_rsadp($c); + if ($m === false) { + user_error('Decryption error'); + return false; + } + $em = $this->_i2osp($m, $this->k); + + // EME-OAEP decoding + + $lHash = $this->hash->hash($l); + $y = ord($em[0]); + $maskedSeed = substr($em, 1, $this->hLen); + $maskedDB = substr($em, $this->hLen + 1); + $seedMask = $this->_mgf1($maskedDB, $this->hLen); + $seed = $maskedSeed ^ $seedMask; + $dbMask = $this->_mgf1($seed, $this->k - $this->hLen - 1); + $db = $maskedDB ^ $dbMask; + $lHash2 = substr($db, 0, $this->hLen); + $m = substr($db, $this->hLen); + if ($lHash != $lHash2) { + user_error('Decryption error'); + return false; + } + $m = ltrim($m, chr(0)); + if (ord($m[0]) != 1) { + user_error('Decryption error'); + return false; + } + + // Output the message M + + return substr($m, 1); + } + + /** + * Raw Encryption / Decryption + * + * Doesn't use padding and is not recommended. + * + * @access private + * @param string $m + * @return string + */ + function _raw_encrypt($m) + { + $temp = $this->_os2ip($m); + $temp = $this->_rsaep($temp); + return $this->_i2osp($temp, $this->k); + } + + /** + * RSAES-PKCS1-V1_5-ENCRYPT + * + * See {@link http://tools.ietf.org/html/rfc3447#section-7.2.1 RFC3447#section-7.2.1}. + * + * @access private + * @param string $m + * @return string + */ + function _rsaes_pkcs1_v1_5_encrypt($m) + { + $mLen = strlen($m); + + // Length checking + + if ($mLen > $this->k - 11) { + user_error('Message too long'); + return false; + } + + // EME-PKCS1-v1_5 encoding + + $psLen = $this->k - $mLen - 3; + $ps = ''; + while (strlen($ps) != $psLen) { + $temp = Random::string($psLen - strlen($ps)); + $temp = str_replace("\x00", '', $temp); + $ps.= $temp; + } + $type = 2; + // see the comments of _rsaes_pkcs1_v1_5_decrypt() to understand why this is being done + if (defined('CRYPT_RSA_PKCS15_COMPAT') && (!isset($this->publicExponent) || $this->exponent !== $this->publicExponent)) { + $type = 1; + // "The padding string PS shall consist of k-3-||D|| octets. ... for block type 01, they shall have value FF" + $ps = str_repeat("\xFF", $psLen); + } + $em = chr(0) . chr($type) . $ps . chr(0) . $m; + + // RSA encryption + $m = $this->_os2ip($em); + $c = $this->_rsaep($m); + $c = $this->_i2osp($c, $this->k); + + // Output the ciphertext C + + return $c; + } + + /** + * RSAES-PKCS1-V1_5-DECRYPT + * + * See {@link http://tools.ietf.org/html/rfc3447#section-7.2.2 RFC3447#section-7.2.2}. + * + * For compatibility purposes, this function departs slightly from the description given in RFC3447. + * The reason being that RFC2313#section-8.1 (PKCS#1 v1.5) states that ciphertext's encrypted by the + * private key should have the second byte set to either 0 or 1 and that ciphertext's encrypted by the + * public key should have the second byte set to 2. In RFC3447 (PKCS#1 v2.1), the second byte is supposed + * to be 2 regardless of which key is used. For compatibility purposes, we'll just check to make sure the + * second byte is 2 or less. If it is, we'll accept the decrypted string as valid. + * + * As a consequence of this, a private key encrypted ciphertext produced with \phpseclib\Crypt\RSA may not decrypt + * with a strictly PKCS#1 v1.5 compliant RSA implementation. Public key encrypted ciphertext's should but + * not private key encrypted ciphertext's. + * + * @access private + * @param string $c + * @return string + */ + function _rsaes_pkcs1_v1_5_decrypt($c) + { + // Length checking + + if (strlen($c) != $this->k) { // or if k < 11 + user_error('Decryption error'); + return false; + } + + // RSA decryption + + $c = $this->_os2ip($c); + $m = $this->_rsadp($c); + + if ($m === false) { + user_error('Decryption error'); + return false; + } + $em = $this->_i2osp($m, $this->k); + + // EME-PKCS1-v1_5 decoding + + if (ord($em[0]) != 0 || ord($em[1]) > 2) { + user_error('Decryption error'); + return false; + } + + $ps = substr($em, 2, strpos($em, chr(0), 2) - 2); + $m = substr($em, strlen($ps) + 3); + + if (strlen($ps) < 8) { + user_error('Decryption error'); + return false; + } + + // Output M + + return $m; + } + + /** + * EMSA-PSS-ENCODE + * + * See {@link http://tools.ietf.org/html/rfc3447#section-9.1.1 RFC3447#section-9.1.1}. + * + * @access private + * @param string $m + * @param int $emBits + */ + function _emsa_pss_encode($m, $emBits) + { + // if $m is larger than two million terrabytes and you're using sha1, PKCS#1 suggests a "Label too long" error + // be output. + + $emLen = ($emBits + 1) >> 3; // ie. ceil($emBits / 8) + $sLen = $this->sLen !== null ? $this->sLen : $this->hLen; + + $mHash = $this->hash->hash($m); + if ($emLen < $this->hLen + $sLen + 2) { + user_error('Encoding error'); + return false; + } + + $salt = Random::string($sLen); + $m2 = "\0\0\0\0\0\0\0\0" . $mHash . $salt; + $h = $this->hash->hash($m2); + $ps = str_repeat(chr(0), $emLen - $sLen - $this->hLen - 2); + $db = $ps . chr(1) . $salt; + $dbMask = $this->_mgf1($h, $emLen - $this->hLen - 1); + $maskedDB = $db ^ $dbMask; + $maskedDB[0] = ~chr(0xFF << ($emBits & 7)) & $maskedDB[0]; + $em = $maskedDB . $h . chr(0xBC); + + return $em; + } + + /** + * EMSA-PSS-VERIFY + * + * See {@link http://tools.ietf.org/html/rfc3447#section-9.1.2 RFC3447#section-9.1.2}. + * + * @access private + * @param string $m + * @param string $em + * @param int $emBits + * @return string + */ + function _emsa_pss_verify($m, $em, $emBits) + { + // if $m is larger than two million terrabytes and you're using sha1, PKCS#1 suggests a "Label too long" error + // be output. + + $emLen = ($emBits + 1) >> 3; // ie. ceil($emBits / 8); + $sLen = $this->sLen !== null ? $this->sLen : $this->hLen; + + $mHash = $this->hash->hash($m); + if ($emLen < $this->hLen + $sLen + 2) { + return false; + } + + if ($em[strlen($em) - 1] != chr(0xBC)) { + return false; + } + + $maskedDB = substr($em, 0, -$this->hLen - 1); + $h = substr($em, -$this->hLen - 1, $this->hLen); + $temp = chr(0xFF << ($emBits & 7)); + if ((~$maskedDB[0] & $temp) != $temp) { + return false; + } + $dbMask = $this->_mgf1($h, $emLen - $this->hLen - 1); + $db = $maskedDB ^ $dbMask; + $db[0] = ~chr(0xFF << ($emBits & 7)) & $db[0]; + $temp = $emLen - $this->hLen - $sLen - 2; + if (substr($db, 0, $temp) != str_repeat(chr(0), $temp) || ord($db[$temp]) != 1) { + return false; + } + $salt = substr($db, $temp + 1); // should be $sLen long + $m2 = "\0\0\0\0\0\0\0\0" . $mHash . $salt; + $h2 = $this->hash->hash($m2); + return $this->_equals($h, $h2); + } + + /** + * RSASSA-PSS-SIGN + * + * See {@link http://tools.ietf.org/html/rfc3447#section-8.1.1 RFC3447#section-8.1.1}. + * + * @access private + * @param string $m + * @return string + */ + function _rsassa_pss_sign($m) + { + // EMSA-PSS encoding + + $em = $this->_emsa_pss_encode($m, 8 * $this->k - 1); + + // RSA signature + + $m = $this->_os2ip($em); + $s = $this->_rsasp1($m); + $s = $this->_i2osp($s, $this->k); + + // Output the signature S + + return $s; + } + + /** + * RSASSA-PSS-VERIFY + * + * See {@link http://tools.ietf.org/html/rfc3447#section-8.1.2 RFC3447#section-8.1.2}. + * + * @access private + * @param string $m + * @param string $s + * @return string + */ + function _rsassa_pss_verify($m, $s) + { + // Length checking + + if (strlen($s) != $this->k) { + user_error('Invalid signature'); + return false; + } + + // RSA verification + + $modBits = 8 * $this->k; + + $s2 = $this->_os2ip($s); + $m2 = $this->_rsavp1($s2); + if ($m2 === false) { + user_error('Invalid signature'); + return false; + } + $em = $this->_i2osp($m2, $modBits >> 3); + if ($em === false) { + user_error('Invalid signature'); + return false; + } + + // EMSA-PSS verification + + return $this->_emsa_pss_verify($m, $em, $modBits - 1); + } + + /** + * EMSA-PKCS1-V1_5-ENCODE + * + * See {@link http://tools.ietf.org/html/rfc3447#section-9.2 RFC3447#section-9.2}. + * + * @access private + * @param string $m + * @param int $emLen + * @return string + */ + function _emsa_pkcs1_v1_5_encode($m, $emLen) + { + $h = $this->hash->hash($m); + if ($h === false) { + return false; + } + + // see http://tools.ietf.org/html/rfc3447#page-43 + switch ($this->hashName) { + case 'md2': + $t = pack('H*', '3020300c06082a864886f70d020205000410'); + break; + case 'md5': + $t = pack('H*', '3020300c06082a864886f70d020505000410'); + break; + case 'sha1': + $t = pack('H*', '3021300906052b0e03021a05000414'); + break; + case 'sha256': + $t = pack('H*', '3031300d060960864801650304020105000420'); + break; + case 'sha384': + $t = pack('H*', '3041300d060960864801650304020205000430'); + break; + case 'sha512': + $t = pack('H*', '3051300d060960864801650304020305000440'); + } + $t.= $h; + $tLen = strlen($t); + + if ($emLen < $tLen + 11) { + user_error('Intended encoded message length too short'); + return false; + } + + $ps = str_repeat(chr(0xFF), $emLen - $tLen - 3); + + $em = "\0\1$ps\0$t"; + + return $em; + } + + /** + * RSASSA-PKCS1-V1_5-SIGN + * + * See {@link http://tools.ietf.org/html/rfc3447#section-8.2.1 RFC3447#section-8.2.1}. + * + * @access private + * @param string $m + * @return string + */ + function _rsassa_pkcs1_v1_5_sign($m) + { + // EMSA-PKCS1-v1_5 encoding + + $em = $this->_emsa_pkcs1_v1_5_encode($m, $this->k); + if ($em === false) { + user_error('RSA modulus too short'); + return false; + } + + // RSA signature + + $m = $this->_os2ip($em); + $s = $this->_rsasp1($m); + $s = $this->_i2osp($s, $this->k); + + // Output the signature S + + return $s; + } + + /** + * RSASSA-PKCS1-V1_5-VERIFY + * + * See {@link http://tools.ietf.org/html/rfc3447#section-8.2.2 RFC3447#section-8.2.2}. + * + * @access private + * @param string $m + * @return string + */ + function _rsassa_pkcs1_v1_5_verify($m, $s) + { + // Length checking + + if (strlen($s) != $this->k) { + user_error('Invalid signature'); + return false; + } + + // RSA verification + + $s = $this->_os2ip($s); + $m2 = $this->_rsavp1($s); + if ($m2 === false) { + user_error('Invalid signature'); + return false; + } + $em = $this->_i2osp($m2, $this->k); + if ($em === false) { + user_error('Invalid signature'); + return false; + } + + // EMSA-PKCS1-v1_5 encoding + + $em2 = $this->_emsa_pkcs1_v1_5_encode($m, $this->k); + if ($em2 === false) { + user_error('RSA modulus too short'); + return false; + } + + // Compare + return $this->_equals($em, $em2); + } + + /** + * Set Encryption Mode + * + * Valid values include self::ENCRYPTION_OAEP and self::ENCRYPTION_PKCS1. + * + * @access public + * @param int $mode + */ + function setEncryptionMode($mode) + { + $this->encryptionMode = $mode; + } + + /** + * Set Signature Mode + * + * Valid values include self::SIGNATURE_PSS and self::SIGNATURE_PKCS1 + * + * @access public + * @param int $mode + */ + function setSignatureMode($mode) + { + $this->signatureMode = $mode; + } + + /** + * Set public key comment. + * + * @access public + * @param string $comment + */ + function setComment($comment) + { + $this->comment = $comment; + } + + /** + * Get public key comment. + * + * @access public + * @return string + */ + function getComment() + { + return $this->comment; + } + + /** + * Encryption + * + * Both self::ENCRYPTION_OAEP and self::ENCRYPTION_PKCS1 both place limits on how long $plaintext can be. + * If $plaintext exceeds those limits it will be broken up so that it does and the resultant ciphertext's will + * be concatenated together. + * + * @see self::decrypt() + * @access public + * @param string $plaintext + * @return string + */ + function encrypt($plaintext) + { + switch ($this->encryptionMode) { + case self::ENCRYPTION_NONE: + $plaintext = str_split($plaintext, $this->k); + $ciphertext = ''; + foreach ($plaintext as $m) { + $ciphertext.= $this->_raw_encrypt($m); + } + return $ciphertext; + case self::ENCRYPTION_PKCS1: + $length = $this->k - 11; + if ($length <= 0) { + return false; + } + + $plaintext = str_split($plaintext, $length); + $ciphertext = ''; + foreach ($plaintext as $m) { + $ciphertext.= $this->_rsaes_pkcs1_v1_5_encrypt($m); + } + return $ciphertext; + //case self::ENCRYPTION_OAEP: + default: + $length = $this->k - 2 * $this->hLen - 2; + if ($length <= 0) { + return false; + } + + $plaintext = str_split($plaintext, $length); + $ciphertext = ''; + foreach ($plaintext as $m) { + $ciphertext.= $this->_rsaes_oaep_encrypt($m); + } + return $ciphertext; + } + } + + /** + * Decryption + * + * @see self::encrypt() + * @access public + * @param string $plaintext + * @return string + */ + function decrypt($ciphertext) + { + if ($this->k <= 0) { + return false; + } + + $ciphertext = str_split($ciphertext, $this->k); + $ciphertext[count($ciphertext) - 1] = str_pad($ciphertext[count($ciphertext) - 1], $this->k, chr(0), STR_PAD_LEFT); + + $plaintext = ''; + + switch ($this->encryptionMode) { + case self::ENCRYPTION_NONE: + $decrypt = '_raw_encrypt'; + break; + case self::ENCRYPTION_PKCS1: + $decrypt = '_rsaes_pkcs1_v1_5_decrypt'; + break; + //case self::ENCRYPTION_OAEP: + default: + $decrypt = '_rsaes_oaep_decrypt'; + } + + foreach ($ciphertext as $c) { + $temp = $this->$decrypt($c); + if ($temp === false) { + return false; + } + $plaintext.= $temp; + } + + return $plaintext; + } + + /** + * Create a signature + * + * @see self::verify() + * @access public + * @param string $message + * @return string + */ + function sign($message) + { + if (empty($this->modulus) || empty($this->exponent)) { + return false; + } + + switch ($this->signatureMode) { + case self::SIGNATURE_PKCS1: + return $this->_rsassa_pkcs1_v1_5_sign($message); + //case self::SIGNATURE_PSS: + default: + return $this->_rsassa_pss_sign($message); + } + } + + /** + * Verifies a signature + * + * @see self::sign() + * @access public + * @param string $message + * @param string $signature + * @return bool + */ + function verify($message, $signature) + { + if (empty($this->modulus) || empty($this->exponent)) { + return false; + } + + switch ($this->signatureMode) { + case self::SIGNATURE_PKCS1: + return $this->_rsassa_pkcs1_v1_5_verify($message, $signature); + //case self::SIGNATURE_PSS: + default: + return $this->_rsassa_pss_verify($message, $signature); + } + } + + /** + * Extract raw BER from Base64 encoding + * + * @access private + * @param string $str + * @return string + */ + function _extractBER($str) + { + /* X.509 certs are assumed to be base64 encoded but sometimes they'll have additional things in them + * above and beyond the ceritificate. + * ie. some may have the following preceding the -----BEGIN CERTIFICATE----- line: + * + * Bag Attributes + * localKeyID: 01 00 00 00 + * subject=/O=organization/OU=org unit/CN=common name + * issuer=/O=organization/CN=common name + */ + $temp = preg_replace('#.*?^-+[^-]+-+[\r\n ]*$#ms', '', $str, 1); + // remove the -----BEGIN CERTIFICATE----- and -----END CERTIFICATE----- stuff + $temp = preg_replace('#-+[^-]+-+#', '', $temp); + // remove new lines + $temp = str_replace(array("\r", "\n", ' '), '', $temp); + $temp = preg_match('#^[a-zA-Z\d/+]*={0,2}$#', $temp) ? base64_decode($temp) : false; + return $temp != false ? $temp : $str; + } +} diff --git a/vendor/phpseclib/phpseclib/phpseclib/Crypt/Random.php b/vendor/phpseclib/phpseclib/phpseclib/Crypt/Random.php new file mode 100644 index 00000000..170d1c37 --- /dev/null +++ b/vendor/phpseclib/phpseclib/phpseclib/Crypt/Random.php @@ -0,0 +1,270 @@ +<?php + +/** + * Random Number Generator + * + * PHP version 5 + * + * Here's a short example of how to use this library: + * <code> + * <?php + * include 'vendor/autoload.php'; + * + * echo bin2hex(\phpseclib\Crypt\Random::string(8)); + * ?> + * </code> + * + * @category Crypt + * @package Random + * @author Jim Wigginton <terrafrost@php.net> + * @copyright 2007 Jim Wigginton + * @license http://www.opensource.org/licenses/mit-license.html MIT License + * @link http://phpseclib.sourceforge.net + */ + +namespace phpseclib\Crypt; + +/** + * Pure-PHP Random Number Generator + * + * @package Random + * @author Jim Wigginton <terrafrost@php.net> + * @access public + */ +class Random +{ + /** + * Generate a random string. + * + * Although microoptimizations are generally discouraged as they impair readability this function is ripe with + * microoptimizations because this function has the potential of being called a huge number of times. + * eg. for RSA key generation. + * + * @param int $length + * @return string + */ + static function string($length) + { + if (version_compare(PHP_VERSION, '7.0.0', '>=')) { + try { + return \random_bytes($length); + } catch (\Throwable $e) { + // If a sufficient source of randomness is unavailable, random_bytes() will throw an + // object that implements the Throwable interface (Exception, TypeError, Error). + // We don't actually need to do anything here. The string() method should just continue + // as normal. Note, however, that if we don't have a sufficient source of randomness for + // random_bytes(), most of the other calls here will fail too, so we'll end up using + // the PHP implementation. + } + } + + if (strtoupper(substr(PHP_OS, 0, 3)) === 'WIN') { + // method 1. prior to PHP 5.3 this would call rand() on windows hence the function_exists('class_alias') call. + // ie. class_alias is a function that was introduced in PHP 5.3 + if (extension_loaded('mcrypt') && function_exists('class_alias')) { + return mcrypt_create_iv($length); + } + // method 2. openssl_random_pseudo_bytes was introduced in PHP 5.3.0 but prior to PHP 5.3.4 there was, + // to quote <http://php.net/ChangeLog-5.php#5.3.4>, "possible blocking behavior". as of 5.3.4 + // openssl_random_pseudo_bytes and mcrypt_create_iv do the exact same thing on Windows. ie. they both + // call php_win32_get_random_bytes(): + // + // https://github.com/php/php-src/blob/7014a0eb6d1611151a286c0ff4f2238f92c120d6/ext/openssl/openssl.c#L5008 + // https://github.com/php/php-src/blob/7014a0eb6d1611151a286c0ff4f2238f92c120d6/ext/mcrypt/mcrypt.c#L1392 + // + // php_win32_get_random_bytes() is defined thusly: + // + // https://github.com/php/php-src/blob/7014a0eb6d1611151a286c0ff4f2238f92c120d6/win32/winutil.c#L80 + // + // we're calling it, all the same, in the off chance that the mcrypt extension is not available + if (extension_loaded('openssl') && version_compare(PHP_VERSION, '5.3.4', '>=')) { + return openssl_random_pseudo_bytes($length); + } + } else { + // method 1. the fastest + if (extension_loaded('openssl')) { + return openssl_random_pseudo_bytes($length); + } + // method 2 + static $fp = true; + if ($fp === true) { + // warning's will be output unles the error suppression operator is used. errors such as + // "open_basedir restriction in effect", "Permission denied", "No such file or directory", etc. + $fp = @fopen('/dev/urandom', 'rb'); + } + if ($fp !== true && $fp !== false) { // surprisingly faster than !is_bool() or is_resource() + return fread($fp, $length); + } + // method 3. pretty much does the same thing as method 2 per the following url: + // https://github.com/php/php-src/blob/7014a0eb6d1611151a286c0ff4f2238f92c120d6/ext/mcrypt/mcrypt.c#L1391 + // surprisingly slower than method 2. maybe that's because mcrypt_create_iv does a bunch of error checking that we're + // not doing. regardless, this'll only be called if this PHP script couldn't open /dev/urandom due to open_basedir + // restrictions or some such + if (extension_loaded('mcrypt')) { + return mcrypt_create_iv($length, MCRYPT_DEV_URANDOM); + } + } + // at this point we have no choice but to use a pure-PHP CSPRNG + + // cascade entropy across multiple PHP instances by fixing the session and collecting all + // environmental variables, including the previous session data and the current session + // data. + // + // mt_rand seeds itself by looking at the PID and the time, both of which are (relatively) + // easy to guess at. linux uses mouse clicks, keyboard timings, etc, as entropy sources, but + // PHP isn't low level to be able to use those as sources and on a web server there's not likely + // going to be a ton of keyboard or mouse action. web servers do have one thing that we can use + // however, a ton of people visiting the website. obviously you don't want to base your seeding + // soley on parameters a potential attacker sends but (1) not everything in $_SERVER is controlled + // by the user and (2) this isn't just looking at the data sent by the current user - it's based + // on the data sent by all users. one user requests the page and a hash of their info is saved. + // another user visits the page and the serialization of their data is utilized along with the + // server envirnment stuff and a hash of the previous http request data (which itself utilizes + // a hash of the session data before that). certainly an attacker should be assumed to have + // full control over his own http requests. he, however, is not going to have control over + // everyone's http requests. + static $crypto = false, $v; + if ($crypto === false) { + // save old session data + $old_session_id = session_id(); + $old_use_cookies = ini_get('session.use_cookies'); + $old_session_cache_limiter = session_cache_limiter(); + $_OLD_SESSION = isset($_SESSION) ? $_SESSION : false; + if ($old_session_id != '') { + session_write_close(); + } + + session_id(1); + ini_set('session.use_cookies', 0); + session_cache_limiter(''); + session_start(); + + $v = $seed = $_SESSION['seed'] = pack('H*', sha1( + (isset($_SERVER) ? phpseclib_safe_serialize($_SERVER) : '') . + (isset($_POST) ? phpseclib_safe_serialize($_POST) : '') . + (isset($_GET) ? phpseclib_safe_serialize($_GET) : '') . + (isset($_COOKIE) ? phpseclib_safe_serialize($_COOKIE) : '') . + phpseclib_safe_serialize($GLOBALS) . + phpseclib_safe_serialize($_SESSION) . + phpseclib_safe_serialize($_OLD_SESSION) + )); + if (!isset($_SESSION['count'])) { + $_SESSION['count'] = 0; + } + $_SESSION['count']++; + + session_write_close(); + + // restore old session data + if ($old_session_id != '') { + session_id($old_session_id); + session_start(); + ini_set('session.use_cookies', $old_use_cookies); + session_cache_limiter($old_session_cache_limiter); + } else { + if ($_OLD_SESSION !== false) { + $_SESSION = $_OLD_SESSION; + unset($_OLD_SESSION); + } else { + unset($_SESSION); + } + } + + // in SSH2 a shared secret and an exchange hash are generated through the key exchange process. + // the IV client to server is the hash of that "nonce" with the letter A and for the encryption key it's the letter C. + // if the hash doesn't produce enough a key or an IV that's long enough concat successive hashes of the + // original hash and the current hash. we'll be emulating that. for more info see the following URL: + // + // http://tools.ietf.org/html/rfc4253#section-7.2 + // + // see the is_string($crypto) part for an example of how to expand the keys + $key = pack('H*', sha1($seed . 'A')); + $iv = pack('H*', sha1($seed . 'C')); + + // ciphers are used as per the nist.gov link below. also, see this link: + // + // http://en.wikipedia.org/wiki/Cryptographically_secure_pseudorandom_number_generator#Designs_based_on_cryptographic_primitives + switch (true) { + case class_exists('\phpseclib\Crypt\AES'): + $crypto = new AES(Base::MODE_CTR); + break; + case class_exists('\phpseclib\Crypt\Twofish'): + $crypto = new Twofish(Base::MODE_CTR); + break; + case class_exists('\phpseclib\Crypt\Blowfish'): + $crypto = new Blowfish(Base::MODE_CTR); + break; + case class_exists('\phpseclib\Crypt\TripleDES'): + $crypto = new TripleDES(Base::MODE_CTR); + break; + case class_exists('\phpseclib\Crypt\DES'): + $crypto = new DES(Base::MODE_CTR); + break; + case class_exists('\phpseclib\Crypt\RC4'): + $crypto = new RC4(); + break; + default: + user_error(__CLASS__ . ' requires at least one symmetric cipher be loaded'); + return false; + } + + $crypto->setKey($key); + $crypto->setIV($iv); + $crypto->enableContinuousBuffer(); + } + + //return $crypto->encrypt(str_repeat("\0", $length)); + + // the following is based off of ANSI X9.31: + // + // http://csrc.nist.gov/groups/STM/cavp/documents/rng/931rngext.pdf + // + // OpenSSL uses that same standard for it's random numbers: + // + // http://www.opensource.apple.com/source/OpenSSL/OpenSSL-38/openssl/fips-1.0/rand/fips_rand.c + // (do a search for "ANS X9.31 A.2.4") + $result = ''; + while (strlen($result) < $length) { + $i = $crypto->encrypt(microtime()); // strlen(microtime()) == 21 + $r = $crypto->encrypt($i ^ $v); // strlen($v) == 20 + $v = $crypto->encrypt($r ^ $i); // strlen($r) == 20 + $result.= $r; + } + return substr($result, 0, $length); + } +} + +if (!function_exists('phpseclib_safe_serialize')) { + /** + * Safely serialize variables + * + * If a class has a private __sleep() method it'll give a fatal error on PHP 5.2 and earlier. + * PHP 5.3 will emit a warning. + * + * @param mixed $arr + * @access public + */ + function phpseclib_safe_serialize(&$arr) + { + if (is_object($arr)) { + return ''; + } + if (!is_array($arr)) { + return serialize($arr); + } + // prevent circular array recursion + if (isset($arr['__phpseclib_marker'])) { + return ''; + } + $safearr = array(); + $arr['__phpseclib_marker'] = true; + foreach (array_keys($arr) as $key) { + // do not recurse on the '__phpseclib_marker' key itself, for smaller memory usage + if ($key !== '__phpseclib_marker') { + $safearr[$key] = phpseclib_safe_serialize($arr[$key]); + } + } + unset($arr['__phpseclib_marker']); + return serialize($safearr); + } +} diff --git a/vendor/phpseclib/phpseclib/phpseclib/Crypt/Rijndael.php b/vendor/phpseclib/phpseclib/phpseclib/Crypt/Rijndael.php new file mode 100644 index 00000000..3648a197 --- /dev/null +++ b/vendor/phpseclib/phpseclib/phpseclib/Crypt/Rijndael.php @@ -0,0 +1,936 @@ +<?php + +/** + * Pure-PHP implementation of Rijndael. + * + * Uses mcrypt, if available/possible, and an internal implementation, otherwise. + * + * PHP version 5 + * + * If {@link self::setBlockLength() setBlockLength()} isn't called, it'll be assumed to be 128 bits. If + * {@link self::setKeyLength() setKeyLength()} isn't called, it'll be calculated from + * {@link self::setKey() setKey()}. ie. if the key is 128-bits, the key length will be 128-bits. If it's + * 136-bits it'll be null-padded to 192-bits and 192 bits will be the key length until + * {@link self::setKey() setKey()} is called, again, at which point, it'll be recalculated. + * + * Not all Rijndael implementations may support 160-bits or 224-bits as the block length / key length. mcrypt, for example, + * does not. AES, itself, only supports block lengths of 128 and key lengths of 128, 192, and 256. + * {@link http://csrc.nist.gov/archive/aes/rijndael/Rijndael-ammended.pdf#page=10 Rijndael-ammended.pdf#page=10} defines the + * algorithm for block lengths of 192 and 256 but not for block lengths / key lengths of 160 and 224. Indeed, 160 and 224 + * are first defined as valid key / block lengths in + * {@link http://csrc.nist.gov/archive/aes/rijndael/Rijndael-ammended.pdf#page=44 Rijndael-ammended.pdf#page=44}: + * Extensions: Other block and Cipher Key lengths. + * Note: Use of 160/224-bit Keys must be explicitly set by setKeyLength(160) respectively setKeyLength(224). + * + * {@internal The variable names are the same as those in + * {@link http://www.csrc.nist.gov/publications/fips/fips197/fips-197.pdf#page=10 fips-197.pdf#page=10}.}} + * + * Here's a short example of how to use this library: + * <code> + * <?php + * include 'vendor/autoload.php'; + * + * $rijndael = new \phpseclib\Crypt\Rijndael(); + * + * $rijndael->setKey('abcdefghijklmnop'); + * + * $size = 10 * 1024; + * $plaintext = ''; + * for ($i = 0; $i < $size; $i++) { + * $plaintext.= 'a'; + * } + * + * echo $rijndael->decrypt($rijndael->encrypt($plaintext)); + * ?> + * </code> + * + * @category Crypt + * @package Rijndael + * @author Jim Wigginton <terrafrost@php.net> + * @copyright 2008 Jim Wigginton + * @license http://www.opensource.org/licenses/mit-license.html MIT License + * @link http://phpseclib.sourceforge.net + */ + +namespace phpseclib\Crypt; + +/** + * Pure-PHP implementation of Rijndael. + * + * @package Rijndael + * @author Jim Wigginton <terrafrost@php.net> + * @access public + */ +class Rijndael extends Base +{ + /** + * The mcrypt specific name of the cipher + * + * Mcrypt is useable for 128/192/256-bit $block_size/$key_length. For 160/224 not. + * \phpseclib\Crypt\Rijndael determines automatically whether mcrypt is useable + * or not for the current $block_size/$key_length. + * In case of, $cipher_name_mcrypt will be set dynamically at run time accordingly. + * + * @see \phpseclib\Crypt\Base::cipher_name_mcrypt + * @see \phpseclib\Crypt\Base::engine + * @see self::isValidEngine() + * @var string + * @access private + */ + var $cipher_name_mcrypt = 'rijndael-128'; + + /** + * The default salt used by setPassword() + * + * @see \phpseclib\Crypt\Base::password_default_salt + * @see \phpseclib\Crypt\Base::setPassword() + * @var string + * @access private + */ + var $password_default_salt = 'phpseclib'; + + /** + * The Key Schedule + * + * @see self::_setup() + * @var array + * @access private + */ + var $w; + + /** + * The Inverse Key Schedule + * + * @see self::_setup() + * @var array + * @access private + */ + var $dw; + + /** + * The Block Length divided by 32 + * + * @see self::setBlockLength() + * @var int + * @access private + * @internal The max value is 256 / 32 = 8, the min value is 128 / 32 = 4. Exists in conjunction with $block_size + * because the encryption / decryption / key schedule creation requires this number and not $block_size. We could + * derive this from $block_size or vice versa, but that'd mean we'd have to do multiple shift operations, so in lieu + * of that, we'll just precompute it once. + */ + var $Nb = 4; + + /** + * The Key Length (in bytes) + * + * @see self::setKeyLength() + * @var int + * @access private + * @internal The max value is 256 / 8 = 32, the min value is 128 / 8 = 16. Exists in conjunction with $Nk + * because the encryption / decryption / key schedule creation requires this number and not $key_length. We could + * derive this from $key_length or vice versa, but that'd mean we'd have to do multiple shift operations, so in lieu + * of that, we'll just precompute it once. + */ + var $key_length = 16; + + /** + * The Key Length divided by 32 + * + * @see self::setKeyLength() + * @var int + * @access private + * @internal The max value is 256 / 32 = 8, the min value is 128 / 32 = 4 + */ + var $Nk = 4; + + /** + * The Number of Rounds + * + * @var int + * @access private + * @internal The max value is 14, the min value is 10. + */ + var $Nr; + + /** + * Shift offsets + * + * @var array + * @access private + */ + var $c; + + /** + * Holds the last used key- and block_size information + * + * @var array + * @access private + */ + var $kl; + + /** + * Sets the key length. + * + * Valid key lengths are 128, 160, 192, 224, and 256. If the length is less than 128, it will be rounded up to + * 128. If the length is greater than 128 and invalid, it will be rounded down to the closest valid amount. + * + * Note: phpseclib extends Rijndael (and AES) for using 160- and 224-bit keys but they are officially not defined + * and the most (if not all) implementations are not able using 160/224-bit keys but round/pad them up to + * 192/256 bits as, for example, mcrypt will do. + * + * That said, if you want be compatible with other Rijndael and AES implementations, + * you should not setKeyLength(160) or setKeyLength(224). + * + * Additional: In case of 160- and 224-bit keys, phpseclib will/can, for that reason, not use + * the mcrypt php extension, even if available. + * This results then in slower encryption. + * + * @access public + * @param int $length + */ + function setKeyLength($length) + { + switch (true) { + case $length <= 128: + $this->key_length = 16; + break; + case $length <= 160: + $this->key_length = 20; + break; + case $length <= 192: + $this->key_length = 24; + break; + case $length <= 224: + $this->key_length = 28; + break; + default: + $this->key_length = 32; + } + + parent::setKeyLength($length); + } + + /** + * Sets the block length + * + * Valid block lengths are 128, 160, 192, 224, and 256. If the length is less than 128, it will be rounded up to + * 128. If the length is greater than 128 and invalid, it will be rounded down to the closest valid amount. + * + * @access public + * @param int $length + */ + function setBlockLength($length) + { + $length >>= 5; + if ($length > 8) { + $length = 8; + } elseif ($length < 4) { + $length = 4; + } + $this->Nb = $length; + $this->block_size = $length << 2; + $this->changed = true; + $this->_setEngine(); + } + + /** + * Test for engine validity + * + * This is mainly just a wrapper to set things up for \phpseclib\Crypt\Base::isValidEngine() + * + * @see \phpseclib\Crypt\Base::__construct() + * @param int $engine + * @access public + * @return bool + */ + function isValidEngine($engine) + { + switch ($engine) { + case self::ENGINE_OPENSSL: + if ($this->block_size != 16) { + return false; + } + $this->cipher_name_openssl_ecb = 'aes-' . ($this->key_length << 3) . '-ecb'; + $this->cipher_name_openssl = 'aes-' . ($this->key_length << 3) . '-' . $this->_openssl_translate_mode(); + break; + case self::ENGINE_MCRYPT: + $this->cipher_name_mcrypt = 'rijndael-' . ($this->block_size << 3); + if ($this->key_length % 8) { // is it a 160/224-bit key? + // mcrypt is not usable for them, only for 128/192/256-bit keys + return false; + } + } + + return parent::isValidEngine($engine); + } + + /** + * Encrypts a block + * + * @access private + * @param string $in + * @return string + */ + function _encryptBlock($in) + { + static $tables; + if (empty($tables)) { + $tables = &$this->_getTables(); + } + $t0 = $tables[0]; + $t1 = $tables[1]; + $t2 = $tables[2]; + $t3 = $tables[3]; + $sbox = $tables[4]; + + $state = array(); + $words = unpack('N*', $in); + + $c = $this->c; + $w = $this->w; + $Nb = $this->Nb; + $Nr = $this->Nr; + + // addRoundKey + $wc = $Nb - 1; + foreach ($words as $word) { + $state[] = $word ^ $w[++$wc]; + } + + // fips-197.pdf#page=19, "Figure 5. Pseudo Code for the Cipher", states that this loop has four components - + // subBytes, shiftRows, mixColumns, and addRoundKey. fips-197.pdf#page=30, "Implementation Suggestions Regarding + // Various Platforms" suggests that performs enhanced implementations are described in Rijndael-ammended.pdf. + // Rijndael-ammended.pdf#page=20, "Implementation aspects / 32-bit processor", discusses such an optimization. + // Unfortunately, the description given there is not quite correct. Per aes.spec.v316.pdf#page=19 [1], + // equation (7.4.7) is supposed to use addition instead of subtraction, so we'll do that here, as well. + + // [1] http://fp.gladman.plus.com/cryptography_technology/rijndael/aes.spec.v316.pdf + $temp = array(); + for ($round = 1; $round < $Nr; ++$round) { + $i = 0; // $c[0] == 0 + $j = $c[1]; + $k = $c[2]; + $l = $c[3]; + + while ($i < $Nb) { + $temp[$i] = $t0[$state[$i] >> 24 & 0x000000FF] ^ + $t1[$state[$j] >> 16 & 0x000000FF] ^ + $t2[$state[$k] >> 8 & 0x000000FF] ^ + $t3[$state[$l] & 0x000000FF] ^ + $w[++$wc]; + ++$i; + $j = ($j + 1) % $Nb; + $k = ($k + 1) % $Nb; + $l = ($l + 1) % $Nb; + } + $state = $temp; + } + + // subWord + for ($i = 0; $i < $Nb; ++$i) { + $state[$i] = $sbox[$state[$i] & 0x000000FF] | + ($sbox[$state[$i] >> 8 & 0x000000FF] << 8) | + ($sbox[$state[$i] >> 16 & 0x000000FF] << 16) | + ($sbox[$state[$i] >> 24 & 0x000000FF] << 24); + } + + // shiftRows + addRoundKey + $i = 0; // $c[0] == 0 + $j = $c[1]; + $k = $c[2]; + $l = $c[3]; + while ($i < $Nb) { + $temp[$i] = ($state[$i] & 0xFF000000) ^ + ($state[$j] & 0x00FF0000) ^ + ($state[$k] & 0x0000FF00) ^ + ($state[$l] & 0x000000FF) ^ + $w[$i]; + ++$i; + $j = ($j + 1) % $Nb; + $k = ($k + 1) % $Nb; + $l = ($l + 1) % $Nb; + } + + switch ($Nb) { + case 8: + return pack('N*', $temp[0], $temp[1], $temp[2], $temp[3], $temp[4], $temp[5], $temp[6], $temp[7]); + case 7: + return pack('N*', $temp[0], $temp[1], $temp[2], $temp[3], $temp[4], $temp[5], $temp[6]); + case 6: + return pack('N*', $temp[0], $temp[1], $temp[2], $temp[3], $temp[4], $temp[5]); + case 5: + return pack('N*', $temp[0], $temp[1], $temp[2], $temp[3], $temp[4]); + default: + return pack('N*', $temp[0], $temp[1], $temp[2], $temp[3]); + } + } + + /** + * Decrypts a block + * + * @access private + * @param string $in + * @return string + */ + function _decryptBlock($in) + { + static $invtables; + if (empty($invtables)) { + $invtables = &$this->_getInvTables(); + } + $dt0 = $invtables[0]; + $dt1 = $invtables[1]; + $dt2 = $invtables[2]; + $dt3 = $invtables[3]; + $isbox = $invtables[4]; + + $state = array(); + $words = unpack('N*', $in); + + $c = $this->c; + $dw = $this->dw; + $Nb = $this->Nb; + $Nr = $this->Nr; + + // addRoundKey + $wc = $Nb - 1; + foreach ($words as $word) { + $state[] = $word ^ $dw[++$wc]; + } + + $temp = array(); + for ($round = $Nr - 1; $round > 0; --$round) { + $i = 0; // $c[0] == 0 + $j = $Nb - $c[1]; + $k = $Nb - $c[2]; + $l = $Nb - $c[3]; + + while ($i < $Nb) { + $temp[$i] = $dt0[$state[$i] >> 24 & 0x000000FF] ^ + $dt1[$state[$j] >> 16 & 0x000000FF] ^ + $dt2[$state[$k] >> 8 & 0x000000FF] ^ + $dt3[$state[$l] & 0x000000FF] ^ + $dw[++$wc]; + ++$i; + $j = ($j + 1) % $Nb; + $k = ($k + 1) % $Nb; + $l = ($l + 1) % $Nb; + } + $state = $temp; + } + + // invShiftRows + invSubWord + addRoundKey + $i = 0; // $c[0] == 0 + $j = $Nb - $c[1]; + $k = $Nb - $c[2]; + $l = $Nb - $c[3]; + + while ($i < $Nb) { + $word = ($state[$i] & 0xFF000000) | + ($state[$j] & 0x00FF0000) | + ($state[$k] & 0x0000FF00) | + ($state[$l] & 0x000000FF); + + $temp[$i] = $dw[$i] ^ ($isbox[$word & 0x000000FF] | + ($isbox[$word >> 8 & 0x000000FF] << 8) | + ($isbox[$word >> 16 & 0x000000FF] << 16) | + ($isbox[$word >> 24 & 0x000000FF] << 24)); + ++$i; + $j = ($j + 1) % $Nb; + $k = ($k + 1) % $Nb; + $l = ($l + 1) % $Nb; + } + + switch ($Nb) { + case 8: + return pack('N*', $temp[0], $temp[1], $temp[2], $temp[3], $temp[4], $temp[5], $temp[6], $temp[7]); + case 7: + return pack('N*', $temp[0], $temp[1], $temp[2], $temp[3], $temp[4], $temp[5], $temp[6]); + case 6: + return pack('N*', $temp[0], $temp[1], $temp[2], $temp[3], $temp[4], $temp[5]); + case 5: + return pack('N*', $temp[0], $temp[1], $temp[2], $temp[3], $temp[4]); + default: + return pack('N*', $temp[0], $temp[1], $temp[2], $temp[3]); + } + } + + /** + * Setup the key (expansion) + * + * @see \phpseclib\Crypt\Base::_setupKey() + * @access private + */ + function _setupKey() + { + // Each number in $rcon is equal to the previous number multiplied by two in Rijndael's finite field. + // See http://en.wikipedia.org/wiki/Finite_field_arithmetic#Multiplicative_inverse + static $rcon = array(0, + 0x01000000, 0x02000000, 0x04000000, 0x08000000, 0x10000000, + 0x20000000, 0x40000000, 0x80000000, 0x1B000000, 0x36000000, + 0x6C000000, 0xD8000000, 0xAB000000, 0x4D000000, 0x9A000000, + 0x2F000000, 0x5E000000, 0xBC000000, 0x63000000, 0xC6000000, + 0x97000000, 0x35000000, 0x6A000000, 0xD4000000, 0xB3000000, + 0x7D000000, 0xFA000000, 0xEF000000, 0xC5000000, 0x91000000 + ); + + if (isset($this->kl['key']) && $this->key === $this->kl['key'] && $this->key_length === $this->kl['key_length'] && $this->block_size === $this->kl['block_size']) { + // already expanded + return; + } + $this->kl = array('key' => $this->key, 'key_length' => $this->key_length, 'block_size' => $this->block_size); + + $this->Nk = $this->key_length >> 2; + // see Rijndael-ammended.pdf#page=44 + $this->Nr = max($this->Nk, $this->Nb) + 6; + + // shift offsets for Nb = 5, 7 are defined in Rijndael-ammended.pdf#page=44, + // "Table 8: Shift offsets in Shiftrow for the alternative block lengths" + // shift offsets for Nb = 4, 6, 8 are defined in Rijndael-ammended.pdf#page=14, + // "Table 2: Shift offsets for different block lengths" + switch ($this->Nb) { + case 4: + case 5: + case 6: + $this->c = array(0, 1, 2, 3); + break; + case 7: + $this->c = array(0, 1, 2, 4); + break; + case 8: + $this->c = array(0, 1, 3, 4); + } + + $w = array_values(unpack('N*words', $this->key)); + + $length = $this->Nb * ($this->Nr + 1); + for ($i = $this->Nk; $i < $length; $i++) { + $temp = $w[$i - 1]; + if ($i % $this->Nk == 0) { + // according to <http://php.net/language.types.integer>, "the size of an integer is platform-dependent". + // on a 32-bit machine, it's 32-bits, and on a 64-bit machine, it's 64-bits. on a 32-bit machine, + // 0xFFFFFFFF << 8 == 0xFFFFFF00, but on a 64-bit machine, it equals 0xFFFFFFFF00. as such, doing 'and' + // with 0xFFFFFFFF (or 0xFFFFFF00) on a 32-bit machine is unnecessary, but on a 64-bit machine, it is. + $temp = (($temp << 8) & 0xFFFFFF00) | (($temp >> 24) & 0x000000FF); // rotWord + $temp = $this->_subWord($temp) ^ $rcon[$i / $this->Nk]; + } elseif ($this->Nk > 6 && $i % $this->Nk == 4) { + $temp = $this->_subWord($temp); + } + $w[$i] = $w[$i - $this->Nk] ^ $temp; + } + + // convert the key schedule from a vector of $Nb * ($Nr + 1) length to a matrix with $Nr + 1 rows and $Nb columns + // and generate the inverse key schedule. more specifically, + // according to <http://csrc.nist.gov/archive/aes/rijndael/Rijndael-ammended.pdf#page=23> (section 5.3.3), + // "The key expansion for the Inverse Cipher is defined as follows: + // 1. Apply the Key Expansion. + // 2. Apply InvMixColumn to all Round Keys except the first and the last one." + // also, see fips-197.pdf#page=27, "5.3.5 Equivalent Inverse Cipher" + list($dt0, $dt1, $dt2, $dt3) = $this->_getInvTables(); + $temp = $this->w = $this->dw = array(); + for ($i = $row = $col = 0; $i < $length; $i++, $col++) { + if ($col == $this->Nb) { + if ($row == 0) { + $this->dw[0] = $this->w[0]; + } else { + // subWord + invMixColumn + invSubWord = invMixColumn + $j = 0; + while ($j < $this->Nb) { + $dw = $this->_subWord($this->w[$row][$j]); + $temp[$j] = $dt0[$dw >> 24 & 0x000000FF] ^ + $dt1[$dw >> 16 & 0x000000FF] ^ + $dt2[$dw >> 8 & 0x000000FF] ^ + $dt3[$dw & 0x000000FF]; + $j++; + } + $this->dw[$row] = $temp; + } + + $col = 0; + $row++; + } + $this->w[$row][$col] = $w[$i]; + } + + $this->dw[$row] = $this->w[$row]; + + // Converting to 1-dim key arrays (both ascending) + $this->dw = array_reverse($this->dw); + $w = array_pop($this->w); + $dw = array_pop($this->dw); + foreach ($this->w as $r => $wr) { + foreach ($wr as $c => $wc) { + $w[] = $wc; + $dw[] = $this->dw[$r][$c]; + } + } + $this->w = $w; + $this->dw = $dw; + } + + /** + * Performs S-Box substitutions + * + * @access private + * @param int $word + */ + function _subWord($word) + { + static $sbox; + if (empty($sbox)) { + list(, , , , $sbox) = $this->_getTables(); + } + + return $sbox[$word & 0x000000FF] | + ($sbox[$word >> 8 & 0x000000FF] << 8) | + ($sbox[$word >> 16 & 0x000000FF] << 16) | + ($sbox[$word >> 24 & 0x000000FF] << 24); + } + + /** + * Provides the mixColumns and sboxes tables + * + * @see self::_encryptBlock() + * @see self::_setupInlineCrypt() + * @see self::_subWord() + * @access private + * @return array &$tables + */ + function &_getTables() + { + static $tables; + if (empty($tables)) { + // according to <http://csrc.nist.gov/archive/aes/rijndael/Rijndael-ammended.pdf#page=19> (section 5.2.1), + // precomputed tables can be used in the mixColumns phase. in that example, they're assigned t0...t3, so + // those are the names we'll use. + $t3 = array_map('intval', array( + // with array_map('intval', ...) we ensure we have only int's and not + // some slower floats converted by php automatically on high values + 0x6363A5C6, 0x7C7C84F8, 0x777799EE, 0x7B7B8DF6, 0xF2F20DFF, 0x6B6BBDD6, 0x6F6FB1DE, 0xC5C55491, + 0x30305060, 0x01010302, 0x6767A9CE, 0x2B2B7D56, 0xFEFE19E7, 0xD7D762B5, 0xABABE64D, 0x76769AEC, + 0xCACA458F, 0x82829D1F, 0xC9C94089, 0x7D7D87FA, 0xFAFA15EF, 0x5959EBB2, 0x4747C98E, 0xF0F00BFB, + 0xADADEC41, 0xD4D467B3, 0xA2A2FD5F, 0xAFAFEA45, 0x9C9CBF23, 0xA4A4F753, 0x727296E4, 0xC0C05B9B, + 0xB7B7C275, 0xFDFD1CE1, 0x9393AE3D, 0x26266A4C, 0x36365A6C, 0x3F3F417E, 0xF7F702F5, 0xCCCC4F83, + 0x34345C68, 0xA5A5F451, 0xE5E534D1, 0xF1F108F9, 0x717193E2, 0xD8D873AB, 0x31315362, 0x15153F2A, + 0x04040C08, 0xC7C75295, 0x23236546, 0xC3C35E9D, 0x18182830, 0x9696A137, 0x05050F0A, 0x9A9AB52F, + 0x0707090E, 0x12123624, 0x80809B1B, 0xE2E23DDF, 0xEBEB26CD, 0x2727694E, 0xB2B2CD7F, 0x75759FEA, + 0x09091B12, 0x83839E1D, 0x2C2C7458, 0x1A1A2E34, 0x1B1B2D36, 0x6E6EB2DC, 0x5A5AEEB4, 0xA0A0FB5B, + 0x5252F6A4, 0x3B3B4D76, 0xD6D661B7, 0xB3B3CE7D, 0x29297B52, 0xE3E33EDD, 0x2F2F715E, 0x84849713, + 0x5353F5A6, 0xD1D168B9, 0x00000000, 0xEDED2CC1, 0x20206040, 0xFCFC1FE3, 0xB1B1C879, 0x5B5BEDB6, + 0x6A6ABED4, 0xCBCB468D, 0xBEBED967, 0x39394B72, 0x4A4ADE94, 0x4C4CD498, 0x5858E8B0, 0xCFCF4A85, + 0xD0D06BBB, 0xEFEF2AC5, 0xAAAAE54F, 0xFBFB16ED, 0x4343C586, 0x4D4DD79A, 0x33335566, 0x85859411, + 0x4545CF8A, 0xF9F910E9, 0x02020604, 0x7F7F81FE, 0x5050F0A0, 0x3C3C4478, 0x9F9FBA25, 0xA8A8E34B, + 0x5151F3A2, 0xA3A3FE5D, 0x4040C080, 0x8F8F8A05, 0x9292AD3F, 0x9D9DBC21, 0x38384870, 0xF5F504F1, + 0xBCBCDF63, 0xB6B6C177, 0xDADA75AF, 0x21216342, 0x10103020, 0xFFFF1AE5, 0xF3F30EFD, 0xD2D26DBF, + 0xCDCD4C81, 0x0C0C1418, 0x13133526, 0xECEC2FC3, 0x5F5FE1BE, 0x9797A235, 0x4444CC88, 0x1717392E, + 0xC4C45793, 0xA7A7F255, 0x7E7E82FC, 0x3D3D477A, 0x6464ACC8, 0x5D5DE7BA, 0x19192B32, 0x737395E6, + 0x6060A0C0, 0x81819819, 0x4F4FD19E, 0xDCDC7FA3, 0x22226644, 0x2A2A7E54, 0x9090AB3B, 0x8888830B, + 0x4646CA8C, 0xEEEE29C7, 0xB8B8D36B, 0x14143C28, 0xDEDE79A7, 0x5E5EE2BC, 0x0B0B1D16, 0xDBDB76AD, + 0xE0E03BDB, 0x32325664, 0x3A3A4E74, 0x0A0A1E14, 0x4949DB92, 0x06060A0C, 0x24246C48, 0x5C5CE4B8, + 0xC2C25D9F, 0xD3D36EBD, 0xACACEF43, 0x6262A6C4, 0x9191A839, 0x9595A431, 0xE4E437D3, 0x79798BF2, + 0xE7E732D5, 0xC8C8438B, 0x3737596E, 0x6D6DB7DA, 0x8D8D8C01, 0xD5D564B1, 0x4E4ED29C, 0xA9A9E049, + 0x6C6CB4D8, 0x5656FAAC, 0xF4F407F3, 0xEAEA25CF, 0x6565AFCA, 0x7A7A8EF4, 0xAEAEE947, 0x08081810, + 0xBABAD56F, 0x787888F0, 0x25256F4A, 0x2E2E725C, 0x1C1C2438, 0xA6A6F157, 0xB4B4C773, 0xC6C65197, + 0xE8E823CB, 0xDDDD7CA1, 0x74749CE8, 0x1F1F213E, 0x4B4BDD96, 0xBDBDDC61, 0x8B8B860D, 0x8A8A850F, + 0x707090E0, 0x3E3E427C, 0xB5B5C471, 0x6666AACC, 0x4848D890, 0x03030506, 0xF6F601F7, 0x0E0E121C, + 0x6161A3C2, 0x35355F6A, 0x5757F9AE, 0xB9B9D069, 0x86869117, 0xC1C15899, 0x1D1D273A, 0x9E9EB927, + 0xE1E138D9, 0xF8F813EB, 0x9898B32B, 0x11113322, 0x6969BBD2, 0xD9D970A9, 0x8E8E8907, 0x9494A733, + 0x9B9BB62D, 0x1E1E223C, 0x87879215, 0xE9E920C9, 0xCECE4987, 0x5555FFAA, 0x28287850, 0xDFDF7AA5, + 0x8C8C8F03, 0xA1A1F859, 0x89898009, 0x0D0D171A, 0xBFBFDA65, 0xE6E631D7, 0x4242C684, 0x6868B8D0, + 0x4141C382, 0x9999B029, 0x2D2D775A, 0x0F0F111E, 0xB0B0CB7B, 0x5454FCA8, 0xBBBBD66D, 0x16163A2C + )); + + foreach ($t3 as $t3i) { + $t0[] = (($t3i << 24) & 0xFF000000) | (($t3i >> 8) & 0x00FFFFFF); + $t1[] = (($t3i << 16) & 0xFFFF0000) | (($t3i >> 16) & 0x0000FFFF); + $t2[] = (($t3i << 8) & 0xFFFFFF00) | (($t3i >> 24) & 0x000000FF); + } + + $tables = array( + // The Precomputed mixColumns tables t0 - t3 + $t0, + $t1, + $t2, + $t3, + // The SubByte S-Box + array( + 0x63, 0x7C, 0x77, 0x7B, 0xF2, 0x6B, 0x6F, 0xC5, 0x30, 0x01, 0x67, 0x2B, 0xFE, 0xD7, 0xAB, 0x76, + 0xCA, 0x82, 0xC9, 0x7D, 0xFA, 0x59, 0x47, 0xF0, 0xAD, 0xD4, 0xA2, 0xAF, 0x9C, 0xA4, 0x72, 0xC0, + 0xB7, 0xFD, 0x93, 0x26, 0x36, 0x3F, 0xF7, 0xCC, 0x34, 0xA5, 0xE5, 0xF1, 0x71, 0xD8, 0x31, 0x15, + 0x04, 0xC7, 0x23, 0xC3, 0x18, 0x96, 0x05, 0x9A, 0x07, 0x12, 0x80, 0xE2, 0xEB, 0x27, 0xB2, 0x75, + 0x09, 0x83, 0x2C, 0x1A, 0x1B, 0x6E, 0x5A, 0xA0, 0x52, 0x3B, 0xD6, 0xB3, 0x29, 0xE3, 0x2F, 0x84, + 0x53, 0xD1, 0x00, 0xED, 0x20, 0xFC, 0xB1, 0x5B, 0x6A, 0xCB, 0xBE, 0x39, 0x4A, 0x4C, 0x58, 0xCF, + 0xD0, 0xEF, 0xAA, 0xFB, 0x43, 0x4D, 0x33, 0x85, 0x45, 0xF9, 0x02, 0x7F, 0x50, 0x3C, 0x9F, 0xA8, + 0x51, 0xA3, 0x40, 0x8F, 0x92, 0x9D, 0x38, 0xF5, 0xBC, 0xB6, 0xDA, 0x21, 0x10, 0xFF, 0xF3, 0xD2, + 0xCD, 0x0C, 0x13, 0xEC, 0x5F, 0x97, 0x44, 0x17, 0xC4, 0xA7, 0x7E, 0x3D, 0x64, 0x5D, 0x19, 0x73, + 0x60, 0x81, 0x4F, 0xDC, 0x22, 0x2A, 0x90, 0x88, 0x46, 0xEE, 0xB8, 0x14, 0xDE, 0x5E, 0x0B, 0xDB, + 0xE0, 0x32, 0x3A, 0x0A, 0x49, 0x06, 0x24, 0x5C, 0xC2, 0xD3, 0xAC, 0x62, 0x91, 0x95, 0xE4, 0x79, + 0xE7, 0xC8, 0x37, 0x6D, 0x8D, 0xD5, 0x4E, 0xA9, 0x6C, 0x56, 0xF4, 0xEA, 0x65, 0x7A, 0xAE, 0x08, + 0xBA, 0x78, 0x25, 0x2E, 0x1C, 0xA6, 0xB4, 0xC6, 0xE8, 0xDD, 0x74, 0x1F, 0x4B, 0xBD, 0x8B, 0x8A, + 0x70, 0x3E, 0xB5, 0x66, 0x48, 0x03, 0xF6, 0x0E, 0x61, 0x35, 0x57, 0xB9, 0x86, 0xC1, 0x1D, 0x9E, + 0xE1, 0xF8, 0x98, 0x11, 0x69, 0xD9, 0x8E, 0x94, 0x9B, 0x1E, 0x87, 0xE9, 0xCE, 0x55, 0x28, 0xDF, + 0x8C, 0xA1, 0x89, 0x0D, 0xBF, 0xE6, 0x42, 0x68, 0x41, 0x99, 0x2D, 0x0F, 0xB0, 0x54, 0xBB, 0x16 + ) + ); + } + return $tables; + } + + /** + * Provides the inverse mixColumns and inverse sboxes tables + * + * @see self::_decryptBlock() + * @see self::_setupInlineCrypt() + * @see self::_setupKey() + * @access private + * @return array &$tables + */ + function &_getInvTables() + { + static $tables; + if (empty($tables)) { + $dt3 = array_map('intval', array( + 0xF4A75051, 0x4165537E, 0x17A4C31A, 0x275E963A, 0xAB6BCB3B, 0x9D45F11F, 0xFA58ABAC, 0xE303934B, + 0x30FA5520, 0x766DF6AD, 0xCC769188, 0x024C25F5, 0xE5D7FC4F, 0x2ACBD7C5, 0x35448026, 0x62A38FB5, + 0xB15A49DE, 0xBA1B6725, 0xEA0E9845, 0xFEC0E15D, 0x2F7502C3, 0x4CF01281, 0x4697A38D, 0xD3F9C66B, + 0x8F5FE703, 0x929C9515, 0x6D7AEBBF, 0x5259DA95, 0xBE832DD4, 0x7421D358, 0xE0692949, 0xC9C8448E, + 0xC2896A75, 0x8E7978F4, 0x583E6B99, 0xB971DD27, 0xE14FB6BE, 0x88AD17F0, 0x20AC66C9, 0xCE3AB47D, + 0xDF4A1863, 0x1A3182E5, 0x51336097, 0x537F4562, 0x6477E0B1, 0x6BAE84BB, 0x81A01CFE, 0x082B94F9, + 0x48685870, 0x45FD198F, 0xDE6C8794, 0x7BF8B752, 0x73D323AB, 0x4B02E272, 0x1F8F57E3, 0x55AB2A66, + 0xEB2807B2, 0xB5C2032F, 0xC57B9A86, 0x3708A5D3, 0x2887F230, 0xBFA5B223, 0x036ABA02, 0x16825CED, + 0xCF1C2B8A, 0x79B492A7, 0x07F2F0F3, 0x69E2A14E, 0xDAF4CD65, 0x05BED506, 0x34621FD1, 0xA6FE8AC4, + 0x2E539D34, 0xF355A0A2, 0x8AE13205, 0xF6EB75A4, 0x83EC390B, 0x60EFAA40, 0x719F065E, 0x6E1051BD, + 0x218AF93E, 0xDD063D96, 0x3E05AEDD, 0xE6BD464D, 0x548DB591, 0xC45D0571, 0x06D46F04, 0x5015FF60, + 0x98FB2419, 0xBDE997D6, 0x4043CC89, 0xD99E7767, 0xE842BDB0, 0x898B8807, 0x195B38E7, 0xC8EEDB79, + 0x7C0A47A1, 0x420FE97C, 0x841EC9F8, 0x00000000, 0x80868309, 0x2BED4832, 0x1170AC1E, 0x5A724E6C, + 0x0EFFFBFD, 0x8538560F, 0xAED51E3D, 0x2D392736, 0x0FD9640A, 0x5CA62168, 0x5B54D19B, 0x362E3A24, + 0x0A67B10C, 0x57E70F93, 0xEE96D2B4, 0x9B919E1B, 0xC0C54F80, 0xDC20A261, 0x774B695A, 0x121A161C, + 0x93BA0AE2, 0xA02AE5C0, 0x22E0433C, 0x1B171D12, 0x090D0B0E, 0x8BC7ADF2, 0xB6A8B92D, 0x1EA9C814, + 0xF1198557, 0x75074CAF, 0x99DDBBEE, 0x7F60FDA3, 0x01269FF7, 0x72F5BC5C, 0x663BC544, 0xFB7E345B, + 0x4329768B, 0x23C6DCCB, 0xEDFC68B6, 0xE4F163B8, 0x31DCCAD7, 0x63851042, 0x97224013, 0xC6112084, + 0x4A247D85, 0xBB3DF8D2, 0xF93211AE, 0x29A16DC7, 0x9E2F4B1D, 0xB230F3DC, 0x8652EC0D, 0xC1E3D077, + 0xB3166C2B, 0x70B999A9, 0x9448FA11, 0xE9642247, 0xFC8CC4A8, 0xF03F1AA0, 0x7D2CD856, 0x3390EF22, + 0x494EC787, 0x38D1C1D9, 0xCAA2FE8C, 0xD40B3698, 0xF581CFA6, 0x7ADE28A5, 0xB78E26DA, 0xADBFA43F, + 0x3A9DE42C, 0x78920D50, 0x5FCC9B6A, 0x7E466254, 0x8D13C2F6, 0xD8B8E890, 0x39F75E2E, 0xC3AFF582, + 0x5D80BE9F, 0xD0937C69, 0xD52DA96F, 0x2512B3CF, 0xAC993BC8, 0x187DA710, 0x9C636EE8, 0x3BBB7BDB, + 0x267809CD, 0x5918F46E, 0x9AB701EC, 0x4F9AA883, 0x956E65E6, 0xFFE67EAA, 0xBCCF0821, 0x15E8E6EF, + 0xE79BD9BA, 0x6F36CE4A, 0x9F09D4EA, 0xB07CD629, 0xA4B2AF31, 0x3F23312A, 0xA59430C6, 0xA266C035, + 0x4EBC3774, 0x82CAA6FC, 0x90D0B0E0, 0xA7D81533, 0x04984AF1, 0xECDAF741, 0xCD500E7F, 0x91F62F17, + 0x4DD68D76, 0xEFB04D43, 0xAA4D54CC, 0x9604DFE4, 0xD1B5E39E, 0x6A881B4C, 0x2C1FB8C1, 0x65517F46, + 0x5EEA049D, 0x8C355D01, 0x877473FA, 0x0B412EFB, 0x671D5AB3, 0xDBD25292, 0x105633E9, 0xD647136D, + 0xD7618C9A, 0xA10C7A37, 0xF8148E59, 0x133C89EB, 0xA927EECE, 0x61C935B7, 0x1CE5EDE1, 0x47B13C7A, + 0xD2DF599C, 0xF2733F55, 0x14CE7918, 0xC737BF73, 0xF7CDEA53, 0xFDAA5B5F, 0x3D6F14DF, 0x44DB8678, + 0xAFF381CA, 0x68C43EB9, 0x24342C38, 0xA3405FC2, 0x1DC37216, 0xE2250CBC, 0x3C498B28, 0x0D9541FF, + 0xA8017139, 0x0CB3DE08, 0xB4E49CD8, 0x56C19064, 0xCB84617B, 0x32B670D5, 0x6C5C7448, 0xB85742D0 + )); + + foreach ($dt3 as $dt3i) { + $dt0[] = (($dt3i << 24) & 0xFF000000) | (($dt3i >> 8) & 0x00FFFFFF); + $dt1[] = (($dt3i << 16) & 0xFFFF0000) | (($dt3i >> 16) & 0x0000FFFF); + $dt2[] = (($dt3i << 8) & 0xFFFFFF00) | (($dt3i >> 24) & 0x000000FF); + }; + + $tables = array( + // The Precomputed inverse mixColumns tables dt0 - dt3 + $dt0, + $dt1, + $dt2, + $dt3, + // The inverse SubByte S-Box + array( + 0x52, 0x09, 0x6A, 0xD5, 0x30, 0x36, 0xA5, 0x38, 0xBF, 0x40, 0xA3, 0x9E, 0x81, 0xF3, 0xD7, 0xFB, + 0x7C, 0xE3, 0x39, 0x82, 0x9B, 0x2F, 0xFF, 0x87, 0x34, 0x8E, 0x43, 0x44, 0xC4, 0xDE, 0xE9, 0xCB, + 0x54, 0x7B, 0x94, 0x32, 0xA6, 0xC2, 0x23, 0x3D, 0xEE, 0x4C, 0x95, 0x0B, 0x42, 0xFA, 0xC3, 0x4E, + 0x08, 0x2E, 0xA1, 0x66, 0x28, 0xD9, 0x24, 0xB2, 0x76, 0x5B, 0xA2, 0x49, 0x6D, 0x8B, 0xD1, 0x25, + 0x72, 0xF8, 0xF6, 0x64, 0x86, 0x68, 0x98, 0x16, 0xD4, 0xA4, 0x5C, 0xCC, 0x5D, 0x65, 0xB6, 0x92, + 0x6C, 0x70, 0x48, 0x50, 0xFD, 0xED, 0xB9, 0xDA, 0x5E, 0x15, 0x46, 0x57, 0xA7, 0x8D, 0x9D, 0x84, + 0x90, 0xD8, 0xAB, 0x00, 0x8C, 0xBC, 0xD3, 0x0A, 0xF7, 0xE4, 0x58, 0x05, 0xB8, 0xB3, 0x45, 0x06, + 0xD0, 0x2C, 0x1E, 0x8F, 0xCA, 0x3F, 0x0F, 0x02, 0xC1, 0xAF, 0xBD, 0x03, 0x01, 0x13, 0x8A, 0x6B, + 0x3A, 0x91, 0x11, 0x41, 0x4F, 0x67, 0xDC, 0xEA, 0x97, 0xF2, 0xCF, 0xCE, 0xF0, 0xB4, 0xE6, 0x73, + 0x96, 0xAC, 0x74, 0x22, 0xE7, 0xAD, 0x35, 0x85, 0xE2, 0xF9, 0x37, 0xE8, 0x1C, 0x75, 0xDF, 0x6E, + 0x47, 0xF1, 0x1A, 0x71, 0x1D, 0x29, 0xC5, 0x89, 0x6F, 0xB7, 0x62, 0x0E, 0xAA, 0x18, 0xBE, 0x1B, + 0xFC, 0x56, 0x3E, 0x4B, 0xC6, 0xD2, 0x79, 0x20, 0x9A, 0xDB, 0xC0, 0xFE, 0x78, 0xCD, 0x5A, 0xF4, + 0x1F, 0xDD, 0xA8, 0x33, 0x88, 0x07, 0xC7, 0x31, 0xB1, 0x12, 0x10, 0x59, 0x27, 0x80, 0xEC, 0x5F, + 0x60, 0x51, 0x7F, 0xA9, 0x19, 0xB5, 0x4A, 0x0D, 0x2D, 0xE5, 0x7A, 0x9F, 0x93, 0xC9, 0x9C, 0xEF, + 0xA0, 0xE0, 0x3B, 0x4D, 0xAE, 0x2A, 0xF5, 0xB0, 0xC8, 0xEB, 0xBB, 0x3C, 0x83, 0x53, 0x99, 0x61, + 0x17, 0x2B, 0x04, 0x7E, 0xBA, 0x77, 0xD6, 0x26, 0xE1, 0x69, 0x14, 0x63, 0x55, 0x21, 0x0C, 0x7D + ) + ); + } + return $tables; + } + + /** + * Setup the performance-optimized function for de/encrypt() + * + * @see \phpseclib\Crypt\Base::_setupInlineCrypt() + * @access private + */ + function _setupInlineCrypt() + { + // Note: _setupInlineCrypt() will be called only if $this->changed === true + // So here we are'nt under the same heavy timing-stress as we are in _de/encryptBlock() or de/encrypt(). + // However...the here generated function- $code, stored as php callback in $this->inline_crypt, must work as fast as even possible. + + $lambda_functions =& self::_getLambdaFunctions(); + + // We create max. 10 hi-optimized code for memory reason. Means: For each $key one ultra fast inline-crypt function. + // (Currently, for Crypt_Rijndael/AES, one generated $lambda_function cost on php5.5@32bit ~80kb unfreeable mem and ~130kb on php5.5@64bit) + // After that, we'll still create very fast optimized code but not the hi-ultimative code, for each $mode one. + $gen_hi_opt_code = (bool)(count($lambda_functions) < 10); + + // Generation of a uniqe hash for our generated code + $code_hash = "Crypt_Rijndael, {$this->mode}, {$this->Nr}, {$this->Nb}"; + if ($gen_hi_opt_code) { + $code_hash = str_pad($code_hash, 32) . $this->_hashInlineCryptFunction($this->key); + } + + if (!isset($lambda_functions[$code_hash])) { + switch (true) { + case $gen_hi_opt_code: + // The hi-optimized $lambda_functions will use the key-words hardcoded for better performance. + $w = $this->w; + $dw = $this->dw; + $init_encrypt = ''; + $init_decrypt = ''; + break; + default: + for ($i = 0, $cw = count($this->w); $i < $cw; ++$i) { + $w[] = '$w[' . $i . ']'; + $dw[] = '$dw[' . $i . ']'; + } + $init_encrypt = '$w = $self->w;'; + $init_decrypt = '$dw = $self->dw;'; + } + + $Nr = $this->Nr; + $Nb = $this->Nb; + $c = $this->c; + + // Generating encrypt code: + $init_encrypt.= ' + static $tables; + if (empty($tables)) { + $tables = &$self->_getTables(); + } + $t0 = $tables[0]; + $t1 = $tables[1]; + $t2 = $tables[2]; + $t3 = $tables[3]; + $sbox = $tables[4]; + '; + + $s = 'e'; + $e = 's'; + $wc = $Nb - 1; + + // Preround: addRoundKey + $encrypt_block = '$in = unpack("N*", $in);'."\n"; + for ($i = 0; $i < $Nb; ++$i) { + $encrypt_block .= '$s'.$i.' = $in['.($i + 1).'] ^ '.$w[++$wc].";\n"; + } + + // Mainrounds: shiftRows + subWord + mixColumns + addRoundKey + for ($round = 1; $round < $Nr; ++$round) { + list($s, $e) = array($e, $s); + for ($i = 0; $i < $Nb; ++$i) { + $encrypt_block.= + '$'.$e.$i.' = + $t0[($'.$s.$i .' >> 24) & 0xff] ^ + $t1[($'.$s.(($i + $c[1]) % $Nb).' >> 16) & 0xff] ^ + $t2[($'.$s.(($i + $c[2]) % $Nb).' >> 8) & 0xff] ^ + $t3[ $'.$s.(($i + $c[3]) % $Nb).' & 0xff] ^ + '.$w[++$wc].";\n"; + } + } + + // Finalround: subWord + shiftRows + addRoundKey + for ($i = 0; $i < $Nb; ++$i) { + $encrypt_block.= + '$'.$e.$i.' = + $sbox[ $'.$e.$i.' & 0xff] | + ($sbox[($'.$e.$i.' >> 8) & 0xff] << 8) | + ($sbox[($'.$e.$i.' >> 16) & 0xff] << 16) | + ($sbox[($'.$e.$i.' >> 24) & 0xff] << 24);'."\n"; + } + $encrypt_block .= '$in = pack("N*"'."\n"; + for ($i = 0; $i < $Nb; ++$i) { + $encrypt_block.= ', + ($'.$e.$i .' & '.((int)0xFF000000).') ^ + ($'.$e.(($i + $c[1]) % $Nb).' & 0x00FF0000 ) ^ + ($'.$e.(($i + $c[2]) % $Nb).' & 0x0000FF00 ) ^ + ($'.$e.(($i + $c[3]) % $Nb).' & 0x000000FF ) ^ + '.$w[$i]."\n"; + } + $encrypt_block .= ');'; + + // Generating decrypt code: + $init_decrypt.= ' + static $invtables; + if (empty($invtables)) { + $invtables = &$self->_getInvTables(); + } + $dt0 = $invtables[0]; + $dt1 = $invtables[1]; + $dt2 = $invtables[2]; + $dt3 = $invtables[3]; + $isbox = $invtables[4]; + '; + + $s = 'e'; + $e = 's'; + $wc = $Nb - 1; + + // Preround: addRoundKey + $decrypt_block = '$in = unpack("N*", $in);'."\n"; + for ($i = 0; $i < $Nb; ++$i) { + $decrypt_block .= '$s'.$i.' = $in['.($i + 1).'] ^ '.$dw[++$wc].';'."\n"; + } + + // Mainrounds: shiftRows + subWord + mixColumns + addRoundKey + for ($round = 1; $round < $Nr; ++$round) { + list($s, $e) = array($e, $s); + for ($i = 0; $i < $Nb; ++$i) { + $decrypt_block.= + '$'.$e.$i.' = + $dt0[($'.$s.$i .' >> 24) & 0xff] ^ + $dt1[($'.$s.(($Nb + $i - $c[1]) % $Nb).' >> 16) & 0xff] ^ + $dt2[($'.$s.(($Nb + $i - $c[2]) % $Nb).' >> 8) & 0xff] ^ + $dt3[ $'.$s.(($Nb + $i - $c[3]) % $Nb).' & 0xff] ^ + '.$dw[++$wc].";\n"; + } + } + + // Finalround: subWord + shiftRows + addRoundKey + for ($i = 0; $i < $Nb; ++$i) { + $decrypt_block.= + '$'.$e.$i.' = + $isbox[ $'.$e.$i.' & 0xff] | + ($isbox[($'.$e.$i.' >> 8) & 0xff] << 8) | + ($isbox[($'.$e.$i.' >> 16) & 0xff] << 16) | + ($isbox[($'.$e.$i.' >> 24) & 0xff] << 24);'."\n"; + } + $decrypt_block .= '$in = pack("N*"'."\n"; + for ($i = 0; $i < $Nb; ++$i) { + $decrypt_block.= ', + ($'.$e.$i. ' & '.((int)0xFF000000).') ^ + ($'.$e.(($Nb + $i - $c[1]) % $Nb).' & 0x00FF0000 ) ^ + ($'.$e.(($Nb + $i - $c[2]) % $Nb).' & 0x0000FF00 ) ^ + ($'.$e.(($Nb + $i - $c[3]) % $Nb).' & 0x000000FF ) ^ + '.$dw[$i]."\n"; + } + $decrypt_block .= ');'; + + $lambda_functions[$code_hash] = $this->_createInlineCryptFunction( + array( + 'init_crypt' => '', + 'init_encrypt' => $init_encrypt, + 'init_decrypt' => $init_decrypt, + 'encrypt_block' => $encrypt_block, + 'decrypt_block' => $decrypt_block + ) + ); + } + $this->inline_crypt = $lambda_functions[$code_hash]; + } +} diff --git a/vendor/phpseclib/phpseclib/phpseclib/Crypt/TripleDES.php b/vendor/phpseclib/phpseclib/phpseclib/Crypt/TripleDES.php new file mode 100644 index 00000000..a2c41668 --- /dev/null +++ b/vendor/phpseclib/phpseclib/phpseclib/Crypt/TripleDES.php @@ -0,0 +1,460 @@ +<?php + +/** + * Pure-PHP implementation of Triple DES. + * + * Uses mcrypt, if available, and an internal implementation, otherwise. Operates in the EDE3 mode (encrypt-decrypt-encrypt). + * + * PHP version 5 + * + * Here's a short example of how to use this library: + * <code> + * <?php + * include 'vendor/autoload.php'; + * + * $des = new \phpseclib\Crypt\TripleDES(); + * + * $des->setKey('abcdefghijklmnopqrstuvwx'); + * + * $size = 10 * 1024; + * $plaintext = ''; + * for ($i = 0; $i < $size; $i++) { + * $plaintext.= 'a'; + * } + * + * echo $des->decrypt($des->encrypt($plaintext)); + * ?> + * </code> + * + * @category Crypt + * @package TripleDES + * @author Jim Wigginton <terrafrost@php.net> + * @copyright 2007 Jim Wigginton + * @license http://www.opensource.org/licenses/mit-license.html MIT License + * @link http://phpseclib.sourceforge.net + */ + +namespace phpseclib\Crypt; + +/** + * Pure-PHP implementation of Triple DES. + * + * @package TripleDES + * @author Jim Wigginton <terrafrost@php.net> + * @access public + */ +class TripleDES extends DES +{ + /** + * Encrypt / decrypt using inner chaining + * + * Inner chaining is used by SSH-1 and is generally considered to be less secure then outer chaining (self::MODE_CBC3). + */ + const MODE_3CBC = -2; + + /** + * Encrypt / decrypt using outer chaining + * + * Outer chaining is used by SSH-2 and when the mode is set to \phpseclib\Crypt\Base::MODE_CBC. + */ + const MODE_CBC3 = Base::MODE_CBC; + + /** + * Key Length (in bytes) + * + * @see \phpseclib\Crypt\TripleDES::setKeyLength() + * @var int + * @access private + */ + var $key_length = 24; + + /** + * The default salt used by setPassword() + * + * @see \phpseclib\Crypt\Base::password_default_salt + * @see \phpseclib\Crypt\Base::setPassword() + * @var string + * @access private + */ + var $password_default_salt = 'phpseclib'; + + /** + * The mcrypt specific name of the cipher + * + * @see \phpseclib\Crypt\DES::cipher_name_mcrypt + * @see \phpseclib\Crypt\Base::cipher_name_mcrypt + * @var string + * @access private + */ + var $cipher_name_mcrypt = 'tripledes'; + + /** + * Optimizing value while CFB-encrypting + * + * @see \phpseclib\Crypt\Base::cfb_init_len + * @var int + * @access private + */ + var $cfb_init_len = 750; + + /** + * max possible size of $key + * + * @see self::setKey() + * @see \phpseclib\Crypt\DES::setKey() + * @var string + * @access private + */ + var $key_length_max = 24; + + /** + * Internal flag whether using self::MODE_3CBC or not + * + * @var bool + * @access private + */ + var $mode_3cbc; + + /** + * The \phpseclib\Crypt\DES objects + * + * Used only if $mode_3cbc === true + * + * @var array + * @access private + */ + var $des; + + /** + * Default Constructor. + * + * Determines whether or not the mcrypt extension should be used. + * + * $mode could be: + * + * - \phpseclib\Crypt\Base::MODE_ECB + * + * - \phpseclib\Crypt\Base::MODE_CBC + * + * - \phpseclib\Crypt\Base::MODE_CTR + * + * - \phpseclib\Crypt\Base::MODE_CFB + * + * - \phpseclib\Crypt\Base::MODE_OFB + * + * - \phpseclib\Crypt\TripleDES::MODE_3CBC + * + * If not explicitly set, \phpseclib\Crypt\Base::MODE_CBC will be used. + * + * @see \phpseclib\Crypt\DES::__construct() + * @see \phpseclib\Crypt\Base::__construct() + * @param int $mode + * @access public + */ + function __construct($mode = Base::MODE_CBC) + { + switch ($mode) { + // In case of self::MODE_3CBC, we init as CRYPT_DES_MODE_CBC + // and additional flag us internally as 3CBC + case self::MODE_3CBC: + parent::__construct(Base::MODE_CBC); + $this->mode_3cbc = true; + + // This three $des'es will do the 3CBC work (if $key > 64bits) + $this->des = array( + new DES(Base::MODE_CBC), + new DES(Base::MODE_CBC), + new DES(Base::MODE_CBC), + ); + + // we're going to be doing the padding, ourselves, so disable it in the \phpseclib\Crypt\DES objects + $this->des[0]->disablePadding(); + $this->des[1]->disablePadding(); + $this->des[2]->disablePadding(); + break; + // If not 3CBC, we init as usual + default: + parent::__construct($mode); + } + } + + /** + * Test for engine validity + * + * This is mainly just a wrapper to set things up for \phpseclib\Crypt\Base::isValidEngine() + * + * @see \phpseclib\Crypt\Base::__construct() + * @param int $engine + * @access public + * @return bool + */ + function isValidEngine($engine) + { + if ($engine == self::ENGINE_OPENSSL) { + $this->cipher_name_openssl_ecb = 'des-ede3'; + $mode = $this->_openssl_translate_mode(); + $this->cipher_name_openssl = $mode == 'ecb' ? 'des-ede3' : 'des-ede3-' . $mode; + } + + return parent::isValidEngine($engine); + } + + /** + * Sets the initialization vector. (optional) + * + * SetIV is not required when \phpseclib\Crypt\Base::MODE_ECB is being used. If not explicitly set, it'll be assumed + * to be all zero's. + * + * @see \phpseclib\Crypt\Base::setIV() + * @access public + * @param string $iv + */ + function setIV($iv) + { + parent::setIV($iv); + if ($this->mode_3cbc) { + $this->des[0]->setIV($iv); + $this->des[1]->setIV($iv); + $this->des[2]->setIV($iv); + } + } + + /** + * Sets the key length. + * + * Valid key lengths are 64, 128 and 192 + * + * @see \phpseclib\Crypt\Base:setKeyLength() + * @access public + * @param int $length + */ + function setKeyLength($length) + { + $length >>= 3; + switch (true) { + case $length <= 8: + $this->key_length = 8; + break; + case $length <= 16: + $this->key_length = 16; + break; + default: + $this->key_length = 24; + } + + parent::setKeyLength($length); + } + + /** + * Sets the key. + * + * Keys can be of any length. Triple DES, itself, can use 128-bit (eg. strlen($key) == 16) or + * 192-bit (eg. strlen($key) == 24) keys. This function pads and truncates $key as appropriate. + * + * DES also requires that every eighth bit be a parity bit, however, we'll ignore that. + * + * If the key is not explicitly set, it'll be assumed to be all null bytes. + * + * @access public + * @see \phpseclib\Crypt\DES::setKey() + * @see \phpseclib\Crypt\Base::setKey() + * @param string $key + */ + function setKey($key) + { + $length = $this->explicit_key_length ? $this->key_length : strlen($key); + if ($length > 8) { + $key = str_pad(substr($key, 0, 24), 24, chr(0)); + // if $key is between 64 and 128-bits, use the first 64-bits as the last, per this: + // http://php.net/function.mcrypt-encrypt#47973 + $key = $length <= 16 ? substr_replace($key, substr($key, 0, 8), 16) : substr($key, 0, 24); + } else { + $key = str_pad($key, 8, chr(0)); + } + parent::setKey($key); + + // And in case of self::MODE_3CBC: + // if key <= 64bits we not need the 3 $des to work, + // because we will then act as regular DES-CBC with just a <= 64bit key. + // So only if the key > 64bits (> 8 bytes) we will call setKey() for the 3 $des. + if ($this->mode_3cbc && $length > 8) { + $this->des[0]->setKey(substr($key, 0, 8)); + $this->des[1]->setKey(substr($key, 8, 8)); + $this->des[2]->setKey(substr($key, 16, 8)); + } + } + + /** + * Encrypts a message. + * + * @see \phpseclib\Crypt\Base::encrypt() + * @access public + * @param string $plaintext + * @return string $cipertext + */ + function encrypt($plaintext) + { + // parent::en/decrypt() is able to do all the work for all modes and keylengths, + // except for: self::MODE_3CBC (inner chaining CBC) with a key > 64bits + + // if the key is smaller then 8, do what we'd normally do + if ($this->mode_3cbc && strlen($this->key) > 8) { + return $this->des[2]->encrypt( + $this->des[1]->decrypt( + $this->des[0]->encrypt( + $this->_pad($plaintext) + ) + ) + ); + } + + return parent::encrypt($plaintext); + } + + /** + * Decrypts a message. + * + * @see \phpseclib\Crypt\Base::decrypt() + * @access public + * @param string $ciphertext + * @return string $plaintext + */ + function decrypt($ciphertext) + { + if ($this->mode_3cbc && strlen($this->key) > 8) { + return $this->_unpad( + $this->des[0]->decrypt( + $this->des[1]->encrypt( + $this->des[2]->decrypt( + str_pad($ciphertext, (strlen($ciphertext) + 7) & 0xFFFFFFF8, "\0") + ) + ) + ) + ); + } + + return parent::decrypt($ciphertext); + } + + /** + * Treat consecutive "packets" as if they are a continuous buffer. + * + * Say you have a 16-byte plaintext $plaintext. Using the default behavior, the two following code snippets + * will yield different outputs: + * + * <code> + * echo $des->encrypt(substr($plaintext, 0, 8)); + * echo $des->encrypt(substr($plaintext, 8, 8)); + * </code> + * <code> + * echo $des->encrypt($plaintext); + * </code> + * + * The solution is to enable the continuous buffer. Although this will resolve the above discrepancy, it creates + * another, as demonstrated with the following: + * + * <code> + * $des->encrypt(substr($plaintext, 0, 8)); + * echo $des->decrypt($des->encrypt(substr($plaintext, 8, 8))); + * </code> + * <code> + * echo $des->decrypt($des->encrypt(substr($plaintext, 8, 8))); + * </code> + * + * With the continuous buffer disabled, these would yield the same output. With it enabled, they yield different + * outputs. The reason is due to the fact that the initialization vector's change after every encryption / + * decryption round when the continuous buffer is enabled. When it's disabled, they remain constant. + * + * Put another way, when the continuous buffer is enabled, the state of the \phpseclib\Crypt\DES() object changes after each + * encryption / decryption round, whereas otherwise, it'd remain constant. For this reason, it's recommended that + * continuous buffers not be used. They do offer better security and are, in fact, sometimes required (SSH uses them), + * however, they are also less intuitive and more likely to cause you problems. + * + * @see \phpseclib\Crypt\Base::enableContinuousBuffer() + * @see self::disableContinuousBuffer() + * @access public + */ + function enableContinuousBuffer() + { + parent::enableContinuousBuffer(); + if ($this->mode_3cbc) { + $this->des[0]->enableContinuousBuffer(); + $this->des[1]->enableContinuousBuffer(); + $this->des[2]->enableContinuousBuffer(); + } + } + + /** + * Treat consecutive packets as if they are a discontinuous buffer. + * + * The default behavior. + * + * @see \phpseclib\Crypt\Base::disableContinuousBuffer() + * @see self::enableContinuousBuffer() + * @access public + */ + function disableContinuousBuffer() + { + parent::disableContinuousBuffer(); + if ($this->mode_3cbc) { + $this->des[0]->disableContinuousBuffer(); + $this->des[1]->disableContinuousBuffer(); + $this->des[2]->disableContinuousBuffer(); + } + } + + /** + * Creates the key schedule + * + * @see \phpseclib\Crypt\DES::_setupKey() + * @see \phpseclib\Crypt\Base::_setupKey() + * @access private + */ + function _setupKey() + { + switch (true) { + // if $key <= 64bits we configure our internal pure-php cipher engine + // to act as regular [1]DES, not as 3DES. mcrypt.so::tripledes does the same. + case strlen($this->key) <= 8: + $this->des_rounds = 1; + break; + + // otherwise, if $key > 64bits, we configure our engine to work as 3DES. + default: + $this->des_rounds = 3; + + // (only) if 3CBC is used we have, of course, to setup the $des[0-2] keys also separately. + if ($this->mode_3cbc) { + $this->des[0]->_setupKey(); + $this->des[1]->_setupKey(); + $this->des[2]->_setupKey(); + + // because $des[0-2] will, now, do all the work we can return here + // not need unnecessary stress parent::_setupKey() with our, now unused, $key. + return; + } + } + // setup our key + parent::_setupKey(); + } + + /** + * Sets the internal crypt engine + * + * @see \phpseclib\Crypt\Base::__construct() + * @see \phpseclib\Crypt\Base::setPreferredEngine() + * @param int $engine + * @access public + * @return int + */ + function setPreferredEngine($engine) + { + if ($this->mode_3cbc) { + $this->des[0]->setPreferredEngine($engine); + $this->des[1]->setPreferredEngine($engine); + $this->des[2]->setPreferredEngine($engine); + } + + return parent::setPreferredEngine($engine); + } +} diff --git a/vendor/phpseclib/phpseclib/phpseclib/Crypt/Twofish.php b/vendor/phpseclib/phpseclib/phpseclib/Crypt/Twofish.php new file mode 100644 index 00000000..3dd4ea1d --- /dev/null +++ b/vendor/phpseclib/phpseclib/phpseclib/Crypt/Twofish.php @@ -0,0 +1,808 @@ +<?php + +/** + * Pure-PHP implementation of Twofish. + * + * Uses mcrypt, if available, and an internal implementation, otherwise. + * + * PHP version 5 + * + * Useful resources are as follows: + * + * - {@link http://en.wikipedia.org/wiki/Twofish Wikipedia description of Twofish} + * + * Here's a short example of how to use this library: + * <code> + * <?php + * include 'vendor/autoload.php'; + * + * $twofish = new \phpseclib\Crypt\Twofish(); + * + * $twofish->setKey('12345678901234567890123456789012'); + * + * $plaintext = str_repeat('a', 1024); + * + * echo $twofish->decrypt($twofish->encrypt($plaintext)); + * ?> + * </code> + * + * @category Crypt + * @package Twofish + * @author Jim Wigginton <terrafrost@php.net> + * @author Hans-Juergen Petrich <petrich@tronic-media.com> + * @copyright 2007 Jim Wigginton + * @license http://www.opensource.org/licenses/mit-license.html MIT License + * @link http://phpseclib.sourceforge.net + */ + +namespace phpseclib\Crypt; + +/** + * Pure-PHP implementation of Twofish. + * + * @package Twofish + * @author Jim Wigginton <terrafrost@php.net> + * @author Hans-Juergen Petrich <petrich@tronic-media.com> + * @access public + */ +class Twofish extends Base +{ + /** + * The mcrypt specific name of the cipher + * + * @see \phpseclib\Crypt\Base::cipher_name_mcrypt + * @var string + * @access private + */ + var $cipher_name_mcrypt = 'twofish'; + + /** + * Optimizing value while CFB-encrypting + * + * @see \phpseclib\Crypt\Base::cfb_init_len + * @var int + * @access private + */ + var $cfb_init_len = 800; + + /** + * Q-Table + * + * @var array + * @access private + */ + var $q0 = array( + 0xA9, 0x67, 0xB3, 0xE8, 0x04, 0xFD, 0xA3, 0x76, + 0x9A, 0x92, 0x80, 0x78, 0xE4, 0xDD, 0xD1, 0x38, + 0x0D, 0xC6, 0x35, 0x98, 0x18, 0xF7, 0xEC, 0x6C, + 0x43, 0x75, 0x37, 0x26, 0xFA, 0x13, 0x94, 0x48, + 0xF2, 0xD0, 0x8B, 0x30, 0x84, 0x54, 0xDF, 0x23, + 0x19, 0x5B, 0x3D, 0x59, 0xF3, 0xAE, 0xA2, 0x82, + 0x63, 0x01, 0x83, 0x2E, 0xD9, 0x51, 0x9B, 0x7C, + 0xA6, 0xEB, 0xA5, 0xBE, 0x16, 0x0C, 0xE3, 0x61, + 0xC0, 0x8C, 0x3A, 0xF5, 0x73, 0x2C, 0x25, 0x0B, + 0xBB, 0x4E, 0x89, 0x6B, 0x53, 0x6A, 0xB4, 0xF1, + 0xE1, 0xE6, 0xBD, 0x45, 0xE2, 0xF4, 0xB6, 0x66, + 0xCC, 0x95, 0x03, 0x56, 0xD4, 0x1C, 0x1E, 0xD7, + 0xFB, 0xC3, 0x8E, 0xB5, 0xE9, 0xCF, 0xBF, 0xBA, + 0xEA, 0x77, 0x39, 0xAF, 0x33, 0xC9, 0x62, 0x71, + 0x81, 0x79, 0x09, 0xAD, 0x24, 0xCD, 0xF9, 0xD8, + 0xE5, 0xC5, 0xB9, 0x4D, 0x44, 0x08, 0x86, 0xE7, + 0xA1, 0x1D, 0xAA, 0xED, 0x06, 0x70, 0xB2, 0xD2, + 0x41, 0x7B, 0xA0, 0x11, 0x31, 0xC2, 0x27, 0x90, + 0x20, 0xF6, 0x60, 0xFF, 0x96, 0x5C, 0xB1, 0xAB, + 0x9E, 0x9C, 0x52, 0x1B, 0x5F, 0x93, 0x0A, 0xEF, + 0x91, 0x85, 0x49, 0xEE, 0x2D, 0x4F, 0x8F, 0x3B, + 0x47, 0x87, 0x6D, 0x46, 0xD6, 0x3E, 0x69, 0x64, + 0x2A, 0xCE, 0xCB, 0x2F, 0xFC, 0x97, 0x05, 0x7A, + 0xAC, 0x7F, 0xD5, 0x1A, 0x4B, 0x0E, 0xA7, 0x5A, + 0x28, 0x14, 0x3F, 0x29, 0x88, 0x3C, 0x4C, 0x02, + 0xB8, 0xDA, 0xB0, 0x17, 0x55, 0x1F, 0x8A, 0x7D, + 0x57, 0xC7, 0x8D, 0x74, 0xB7, 0xC4, 0x9F, 0x72, + 0x7E, 0x15, 0x22, 0x12, 0x58, 0x07, 0x99, 0x34, + 0x6E, 0x50, 0xDE, 0x68, 0x65, 0xBC, 0xDB, 0xF8, + 0xC8, 0xA8, 0x2B, 0x40, 0xDC, 0xFE, 0x32, 0xA4, + 0xCA, 0x10, 0x21, 0xF0, 0xD3, 0x5D, 0x0F, 0x00, + 0x6F, 0x9D, 0x36, 0x42, 0x4A, 0x5E, 0xC1, 0xE0 + ); + + /** + * Q-Table + * + * @var array + * @access private + */ + var $q1 = array( + 0x75, 0xF3, 0xC6, 0xF4, 0xDB, 0x7B, 0xFB, 0xC8, + 0x4A, 0xD3, 0xE6, 0x6B, 0x45, 0x7D, 0xE8, 0x4B, + 0xD6, 0x32, 0xD8, 0xFD, 0x37, 0x71, 0xF1, 0xE1, + 0x30, 0x0F, 0xF8, 0x1B, 0x87, 0xFA, 0x06, 0x3F, + 0x5E, 0xBA, 0xAE, 0x5B, 0x8A, 0x00, 0xBC, 0x9D, + 0x6D, 0xC1, 0xB1, 0x0E, 0x80, 0x5D, 0xD2, 0xD5, + 0xA0, 0x84, 0x07, 0x14, 0xB5, 0x90, 0x2C, 0xA3, + 0xB2, 0x73, 0x4C, 0x54, 0x92, 0x74, 0x36, 0x51, + 0x38, 0xB0, 0xBD, 0x5A, 0xFC, 0x60, 0x62, 0x96, + 0x6C, 0x42, 0xF7, 0x10, 0x7C, 0x28, 0x27, 0x8C, + 0x13, 0x95, 0x9C, 0xC7, 0x24, 0x46, 0x3B, 0x70, + 0xCA, 0xE3, 0x85, 0xCB, 0x11, 0xD0, 0x93, 0xB8, + 0xA6, 0x83, 0x20, 0xFF, 0x9F, 0x77, 0xC3, 0xCC, + 0x03, 0x6F, 0x08, 0xBF, 0x40, 0xE7, 0x2B, 0xE2, + 0x79, 0x0C, 0xAA, 0x82, 0x41, 0x3A, 0xEA, 0xB9, + 0xE4, 0x9A, 0xA4, 0x97, 0x7E, 0xDA, 0x7A, 0x17, + 0x66, 0x94, 0xA1, 0x1D, 0x3D, 0xF0, 0xDE, 0xB3, + 0x0B, 0x72, 0xA7, 0x1C, 0xEF, 0xD1, 0x53, 0x3E, + 0x8F, 0x33, 0x26, 0x5F, 0xEC, 0x76, 0x2A, 0x49, + 0x81, 0x88, 0xEE, 0x21, 0xC4, 0x1A, 0xEB, 0xD9, + 0xC5, 0x39, 0x99, 0xCD, 0xAD, 0x31, 0x8B, 0x01, + 0x18, 0x23, 0xDD, 0x1F, 0x4E, 0x2D, 0xF9, 0x48, + 0x4F, 0xF2, 0x65, 0x8E, 0x78, 0x5C, 0x58, 0x19, + 0x8D, 0xE5, 0x98, 0x57, 0x67, 0x7F, 0x05, 0x64, + 0xAF, 0x63, 0xB6, 0xFE, 0xF5, 0xB7, 0x3C, 0xA5, + 0xCE, 0xE9, 0x68, 0x44, 0xE0, 0x4D, 0x43, 0x69, + 0x29, 0x2E, 0xAC, 0x15, 0x59, 0xA8, 0x0A, 0x9E, + 0x6E, 0x47, 0xDF, 0x34, 0x35, 0x6A, 0xCF, 0xDC, + 0x22, 0xC9, 0xC0, 0x9B, 0x89, 0xD4, 0xED, 0xAB, + 0x12, 0xA2, 0x0D, 0x52, 0xBB, 0x02, 0x2F, 0xA9, + 0xD7, 0x61, 0x1E, 0xB4, 0x50, 0x04, 0xF6, 0xC2, + 0x16, 0x25, 0x86, 0x56, 0x55, 0x09, 0xBE, 0x91 + ); + + /** + * M-Table + * + * @var array + * @access private + */ + var $m0 = array( + 0xBCBC3275, 0xECEC21F3, 0x202043C6, 0xB3B3C9F4, 0xDADA03DB, 0x02028B7B, 0xE2E22BFB, 0x9E9EFAC8, + 0xC9C9EC4A, 0xD4D409D3, 0x18186BE6, 0x1E1E9F6B, 0x98980E45, 0xB2B2387D, 0xA6A6D2E8, 0x2626B74B, + 0x3C3C57D6, 0x93938A32, 0x8282EED8, 0x525298FD, 0x7B7BD437, 0xBBBB3771, 0x5B5B97F1, 0x474783E1, + 0x24243C30, 0x5151E20F, 0xBABAC6F8, 0x4A4AF31B, 0xBFBF4887, 0x0D0D70FA, 0xB0B0B306, 0x7575DE3F, + 0xD2D2FD5E, 0x7D7D20BA, 0x666631AE, 0x3A3AA35B, 0x59591C8A, 0x00000000, 0xCDCD93BC, 0x1A1AE09D, + 0xAEAE2C6D, 0x7F7FABC1, 0x2B2BC7B1, 0xBEBEB90E, 0xE0E0A080, 0x8A8A105D, 0x3B3B52D2, 0x6464BAD5, + 0xD8D888A0, 0xE7E7A584, 0x5F5FE807, 0x1B1B1114, 0x2C2CC2B5, 0xFCFCB490, 0x3131272C, 0x808065A3, + 0x73732AB2, 0x0C0C8173, 0x79795F4C, 0x6B6B4154, 0x4B4B0292, 0x53536974, 0x94948F36, 0x83831F51, + 0x2A2A3638, 0xC4C49CB0, 0x2222C8BD, 0xD5D5F85A, 0xBDBDC3FC, 0x48487860, 0xFFFFCE62, 0x4C4C0796, + 0x4141776C, 0xC7C7E642, 0xEBEB24F7, 0x1C1C1410, 0x5D5D637C, 0x36362228, 0x6767C027, 0xE9E9AF8C, + 0x4444F913, 0x1414EA95, 0xF5F5BB9C, 0xCFCF18C7, 0x3F3F2D24, 0xC0C0E346, 0x7272DB3B, 0x54546C70, + 0x29294CCA, 0xF0F035E3, 0x0808FE85, 0xC6C617CB, 0xF3F34F11, 0x8C8CE4D0, 0xA4A45993, 0xCACA96B8, + 0x68683BA6, 0xB8B84D83, 0x38382820, 0xE5E52EFF, 0xADAD569F, 0x0B0B8477, 0xC8C81DC3, 0x9999FFCC, + 0x5858ED03, 0x19199A6F, 0x0E0E0A08, 0x95957EBF, 0x70705040, 0xF7F730E7, 0x6E6ECF2B, 0x1F1F6EE2, + 0xB5B53D79, 0x09090F0C, 0x616134AA, 0x57571682, 0x9F9F0B41, 0x9D9D803A, 0x111164EA, 0x2525CDB9, + 0xAFAFDDE4, 0x4545089A, 0xDFDF8DA4, 0xA3A35C97, 0xEAEAD57E, 0x353558DA, 0xEDEDD07A, 0x4343FC17, + 0xF8F8CB66, 0xFBFBB194, 0x3737D3A1, 0xFAFA401D, 0xC2C2683D, 0xB4B4CCF0, 0x32325DDE, 0x9C9C71B3, + 0x5656E70B, 0xE3E3DA72, 0x878760A7, 0x15151B1C, 0xF9F93AEF, 0x6363BFD1, 0x3434A953, 0x9A9A853E, + 0xB1B1428F, 0x7C7CD133, 0x88889B26, 0x3D3DA65F, 0xA1A1D7EC, 0xE4E4DF76, 0x8181942A, 0x91910149, + 0x0F0FFB81, 0xEEEEAA88, 0x161661EE, 0xD7D77321, 0x9797F5C4, 0xA5A5A81A, 0xFEFE3FEB, 0x6D6DB5D9, + 0x7878AEC5, 0xC5C56D39, 0x1D1DE599, 0x7676A4CD, 0x3E3EDCAD, 0xCBCB6731, 0xB6B6478B, 0xEFEF5B01, + 0x12121E18, 0x6060C523, 0x6A6AB0DD, 0x4D4DF61F, 0xCECEE94E, 0xDEDE7C2D, 0x55559DF9, 0x7E7E5A48, + 0x2121B24F, 0x03037AF2, 0xA0A02665, 0x5E5E198E, 0x5A5A6678, 0x65654B5C, 0x62624E58, 0xFDFD4519, + 0x0606F48D, 0x404086E5, 0xF2F2BE98, 0x3333AC57, 0x17179067, 0x05058E7F, 0xE8E85E05, 0x4F4F7D64, + 0x89896AAF, 0x10109563, 0x74742FB6, 0x0A0A75FE, 0x5C5C92F5, 0x9B9B74B7, 0x2D2D333C, 0x3030D6A5, + 0x2E2E49CE, 0x494989E9, 0x46467268, 0x77775544, 0xA8A8D8E0, 0x9696044D, 0x2828BD43, 0xA9A92969, + 0xD9D97929, 0x8686912E, 0xD1D187AC, 0xF4F44A15, 0x8D8D1559, 0xD6D682A8, 0xB9B9BC0A, 0x42420D9E, + 0xF6F6C16E, 0x2F2FB847, 0xDDDD06DF, 0x23233934, 0xCCCC6235, 0xF1F1C46A, 0xC1C112CF, 0x8585EBDC, + 0x8F8F9E22, 0x7171A1C9, 0x9090F0C0, 0xAAAA539B, 0x0101F189, 0x8B8BE1D4, 0x4E4E8CED, 0x8E8E6FAB, + 0xABABA212, 0x6F6F3EA2, 0xE6E6540D, 0xDBDBF252, 0x92927BBB, 0xB7B7B602, 0x6969CA2F, 0x3939D9A9, + 0xD3D30CD7, 0xA7A72361, 0xA2A2AD1E, 0xC3C399B4, 0x6C6C4450, 0x07070504, 0x04047FF6, 0x272746C2, + 0xACACA716, 0xD0D07625, 0x50501386, 0xDCDCF756, 0x84841A55, 0xE1E15109, 0x7A7A25BE, 0x1313EF91 + ); + + /** + * M-Table + * + * @var array + * @access private + */ + var $m1 = array( + 0xA9D93939, 0x67901717, 0xB3719C9C, 0xE8D2A6A6, 0x04050707, 0xFD985252, 0xA3658080, 0x76DFE4E4, + 0x9A084545, 0x92024B4B, 0x80A0E0E0, 0x78665A5A, 0xE4DDAFAF, 0xDDB06A6A, 0xD1BF6363, 0x38362A2A, + 0x0D54E6E6, 0xC6432020, 0x3562CCCC, 0x98BEF2F2, 0x181E1212, 0xF724EBEB, 0xECD7A1A1, 0x6C774141, + 0x43BD2828, 0x7532BCBC, 0x37D47B7B, 0x269B8888, 0xFA700D0D, 0x13F94444, 0x94B1FBFB, 0x485A7E7E, + 0xF27A0303, 0xD0E48C8C, 0x8B47B6B6, 0x303C2424, 0x84A5E7E7, 0x54416B6B, 0xDF06DDDD, 0x23C56060, + 0x1945FDFD, 0x5BA33A3A, 0x3D68C2C2, 0x59158D8D, 0xF321ECEC, 0xAE316666, 0xA23E6F6F, 0x82165757, + 0x63951010, 0x015BEFEF, 0x834DB8B8, 0x2E918686, 0xD9B56D6D, 0x511F8383, 0x9B53AAAA, 0x7C635D5D, + 0xA63B6868, 0xEB3FFEFE, 0xA5D63030, 0xBE257A7A, 0x16A7ACAC, 0x0C0F0909, 0xE335F0F0, 0x6123A7A7, + 0xC0F09090, 0x8CAFE9E9, 0x3A809D9D, 0xF5925C5C, 0x73810C0C, 0x2C273131, 0x2576D0D0, 0x0BE75656, + 0xBB7B9292, 0x4EE9CECE, 0x89F10101, 0x6B9F1E1E, 0x53A93434, 0x6AC4F1F1, 0xB499C3C3, 0xF1975B5B, + 0xE1834747, 0xE66B1818, 0xBDC82222, 0x450E9898, 0xE26E1F1F, 0xF4C9B3B3, 0xB62F7474, 0x66CBF8F8, + 0xCCFF9999, 0x95EA1414, 0x03ED5858, 0x56F7DCDC, 0xD4E18B8B, 0x1C1B1515, 0x1EADA2A2, 0xD70CD3D3, + 0xFB2BE2E2, 0xC31DC8C8, 0x8E195E5E, 0xB5C22C2C, 0xE9894949, 0xCF12C1C1, 0xBF7E9595, 0xBA207D7D, + 0xEA641111, 0x77840B0B, 0x396DC5C5, 0xAF6A8989, 0x33D17C7C, 0xC9A17171, 0x62CEFFFF, 0x7137BBBB, + 0x81FB0F0F, 0x793DB5B5, 0x0951E1E1, 0xADDC3E3E, 0x242D3F3F, 0xCDA47676, 0xF99D5555, 0xD8EE8282, + 0xE5864040, 0xC5AE7878, 0xB9CD2525, 0x4D049696, 0x44557777, 0x080A0E0E, 0x86135050, 0xE730F7F7, + 0xA1D33737, 0x1D40FAFA, 0xAA346161, 0xED8C4E4E, 0x06B3B0B0, 0x706C5454, 0xB22A7373, 0xD2523B3B, + 0x410B9F9F, 0x7B8B0202, 0xA088D8D8, 0x114FF3F3, 0x3167CBCB, 0xC2462727, 0x27C06767, 0x90B4FCFC, + 0x20283838, 0xF67F0404, 0x60784848, 0xFF2EE5E5, 0x96074C4C, 0x5C4B6565, 0xB1C72B2B, 0xAB6F8E8E, + 0x9E0D4242, 0x9CBBF5F5, 0x52F2DBDB, 0x1BF34A4A, 0x5FA63D3D, 0x9359A4A4, 0x0ABCB9B9, 0xEF3AF9F9, + 0x91EF1313, 0x85FE0808, 0x49019191, 0xEE611616, 0x2D7CDEDE, 0x4FB22121, 0x8F42B1B1, 0x3BDB7272, + 0x47B82F2F, 0x8748BFBF, 0x6D2CAEAE, 0x46E3C0C0, 0xD6573C3C, 0x3E859A9A, 0x6929A9A9, 0x647D4F4F, + 0x2A948181, 0xCE492E2E, 0xCB17C6C6, 0x2FCA6969, 0xFCC3BDBD, 0x975CA3A3, 0x055EE8E8, 0x7AD0EDED, + 0xAC87D1D1, 0x7F8E0505, 0xD5BA6464, 0x1AA8A5A5, 0x4BB72626, 0x0EB9BEBE, 0xA7608787, 0x5AF8D5D5, + 0x28223636, 0x14111B1B, 0x3FDE7575, 0x2979D9D9, 0x88AAEEEE, 0x3C332D2D, 0x4C5F7979, 0x02B6B7B7, + 0xB896CACA, 0xDA583535, 0xB09CC4C4, 0x17FC4343, 0x551A8484, 0x1FF64D4D, 0x8A1C5959, 0x7D38B2B2, + 0x57AC3333, 0xC718CFCF, 0x8DF40606, 0x74695353, 0xB7749B9B, 0xC4F59797, 0x9F56ADAD, 0x72DAE3E3, + 0x7ED5EAEA, 0x154AF4F4, 0x229E8F8F, 0x12A2ABAB, 0x584E6262, 0x07E85F5F, 0x99E51D1D, 0x34392323, + 0x6EC1F6F6, 0x50446C6C, 0xDE5D3232, 0x68724646, 0x6526A0A0, 0xBC93CDCD, 0xDB03DADA, 0xF8C6BABA, + 0xC8FA9E9E, 0xA882D6D6, 0x2BCF6E6E, 0x40507070, 0xDCEB8585, 0xFE750A0A, 0x328A9393, 0xA48DDFDF, + 0xCA4C2929, 0x10141C1C, 0x2173D7D7, 0xF0CCB4B4, 0xD309D4D4, 0x5D108A8A, 0x0FE25151, 0x00000000, + 0x6F9A1919, 0x9DE01A1A, 0x368F9494, 0x42E6C7C7, 0x4AECC9C9, 0x5EFDD2D2, 0xC1AB7F7F, 0xE0D8A8A8 + ); + + /** + * M-Table + * + * @var array + * @access private + */ + var $m2 = array( + 0xBC75BC32, 0xECF3EC21, 0x20C62043, 0xB3F4B3C9, 0xDADBDA03, 0x027B028B, 0xE2FBE22B, 0x9EC89EFA, + 0xC94AC9EC, 0xD4D3D409, 0x18E6186B, 0x1E6B1E9F, 0x9845980E, 0xB27DB238, 0xA6E8A6D2, 0x264B26B7, + 0x3CD63C57, 0x9332938A, 0x82D882EE, 0x52FD5298, 0x7B377BD4, 0xBB71BB37, 0x5BF15B97, 0x47E14783, + 0x2430243C, 0x510F51E2, 0xBAF8BAC6, 0x4A1B4AF3, 0xBF87BF48, 0x0DFA0D70, 0xB006B0B3, 0x753F75DE, + 0xD25ED2FD, 0x7DBA7D20, 0x66AE6631, 0x3A5B3AA3, 0x598A591C, 0x00000000, 0xCDBCCD93, 0x1A9D1AE0, + 0xAE6DAE2C, 0x7FC17FAB, 0x2BB12BC7, 0xBE0EBEB9, 0xE080E0A0, 0x8A5D8A10, 0x3BD23B52, 0x64D564BA, + 0xD8A0D888, 0xE784E7A5, 0x5F075FE8, 0x1B141B11, 0x2CB52CC2, 0xFC90FCB4, 0x312C3127, 0x80A38065, + 0x73B2732A, 0x0C730C81, 0x794C795F, 0x6B546B41, 0x4B924B02, 0x53745369, 0x9436948F, 0x8351831F, + 0x2A382A36, 0xC4B0C49C, 0x22BD22C8, 0xD55AD5F8, 0xBDFCBDC3, 0x48604878, 0xFF62FFCE, 0x4C964C07, + 0x416C4177, 0xC742C7E6, 0xEBF7EB24, 0x1C101C14, 0x5D7C5D63, 0x36283622, 0x672767C0, 0xE98CE9AF, + 0x441344F9, 0x149514EA, 0xF59CF5BB, 0xCFC7CF18, 0x3F243F2D, 0xC046C0E3, 0x723B72DB, 0x5470546C, + 0x29CA294C, 0xF0E3F035, 0x088508FE, 0xC6CBC617, 0xF311F34F, 0x8CD08CE4, 0xA493A459, 0xCAB8CA96, + 0x68A6683B, 0xB883B84D, 0x38203828, 0xE5FFE52E, 0xAD9FAD56, 0x0B770B84, 0xC8C3C81D, 0x99CC99FF, + 0x580358ED, 0x196F199A, 0x0E080E0A, 0x95BF957E, 0x70407050, 0xF7E7F730, 0x6E2B6ECF, 0x1FE21F6E, + 0xB579B53D, 0x090C090F, 0x61AA6134, 0x57825716, 0x9F419F0B, 0x9D3A9D80, 0x11EA1164, 0x25B925CD, + 0xAFE4AFDD, 0x459A4508, 0xDFA4DF8D, 0xA397A35C, 0xEA7EEAD5, 0x35DA3558, 0xED7AEDD0, 0x431743FC, + 0xF866F8CB, 0xFB94FBB1, 0x37A137D3, 0xFA1DFA40, 0xC23DC268, 0xB4F0B4CC, 0x32DE325D, 0x9CB39C71, + 0x560B56E7, 0xE372E3DA, 0x87A78760, 0x151C151B, 0xF9EFF93A, 0x63D163BF, 0x345334A9, 0x9A3E9A85, + 0xB18FB142, 0x7C337CD1, 0x8826889B, 0x3D5F3DA6, 0xA1ECA1D7, 0xE476E4DF, 0x812A8194, 0x91499101, + 0x0F810FFB, 0xEE88EEAA, 0x16EE1661, 0xD721D773, 0x97C497F5, 0xA51AA5A8, 0xFEEBFE3F, 0x6DD96DB5, + 0x78C578AE, 0xC539C56D, 0x1D991DE5, 0x76CD76A4, 0x3EAD3EDC, 0xCB31CB67, 0xB68BB647, 0xEF01EF5B, + 0x1218121E, 0x602360C5, 0x6ADD6AB0, 0x4D1F4DF6, 0xCE4ECEE9, 0xDE2DDE7C, 0x55F9559D, 0x7E487E5A, + 0x214F21B2, 0x03F2037A, 0xA065A026, 0x5E8E5E19, 0x5A785A66, 0x655C654B, 0x6258624E, 0xFD19FD45, + 0x068D06F4, 0x40E54086, 0xF298F2BE, 0x335733AC, 0x17671790, 0x057F058E, 0xE805E85E, 0x4F644F7D, + 0x89AF896A, 0x10631095, 0x74B6742F, 0x0AFE0A75, 0x5CF55C92, 0x9BB79B74, 0x2D3C2D33, 0x30A530D6, + 0x2ECE2E49, 0x49E94989, 0x46684672, 0x77447755, 0xA8E0A8D8, 0x964D9604, 0x284328BD, 0xA969A929, + 0xD929D979, 0x862E8691, 0xD1ACD187, 0xF415F44A, 0x8D598D15, 0xD6A8D682, 0xB90AB9BC, 0x429E420D, + 0xF66EF6C1, 0x2F472FB8, 0xDDDFDD06, 0x23342339, 0xCC35CC62, 0xF16AF1C4, 0xC1CFC112, 0x85DC85EB, + 0x8F228F9E, 0x71C971A1, 0x90C090F0, 0xAA9BAA53, 0x018901F1, 0x8BD48BE1, 0x4EED4E8C, 0x8EAB8E6F, + 0xAB12ABA2, 0x6FA26F3E, 0xE60DE654, 0xDB52DBF2, 0x92BB927B, 0xB702B7B6, 0x692F69CA, 0x39A939D9, + 0xD3D7D30C, 0xA761A723, 0xA21EA2AD, 0xC3B4C399, 0x6C506C44, 0x07040705, 0x04F6047F, 0x27C22746, + 0xAC16ACA7, 0xD025D076, 0x50865013, 0xDC56DCF7, 0x8455841A, 0xE109E151, 0x7ABE7A25, 0x139113EF + ); + + /** + * M-Table + * + * @var array + * @access private + */ + var $m3 = array( + 0xD939A9D9, 0x90176790, 0x719CB371, 0xD2A6E8D2, 0x05070405, 0x9852FD98, 0x6580A365, 0xDFE476DF, + 0x08459A08, 0x024B9202, 0xA0E080A0, 0x665A7866, 0xDDAFE4DD, 0xB06ADDB0, 0xBF63D1BF, 0x362A3836, + 0x54E60D54, 0x4320C643, 0x62CC3562, 0xBEF298BE, 0x1E12181E, 0x24EBF724, 0xD7A1ECD7, 0x77416C77, + 0xBD2843BD, 0x32BC7532, 0xD47B37D4, 0x9B88269B, 0x700DFA70, 0xF94413F9, 0xB1FB94B1, 0x5A7E485A, + 0x7A03F27A, 0xE48CD0E4, 0x47B68B47, 0x3C24303C, 0xA5E784A5, 0x416B5441, 0x06DDDF06, 0xC56023C5, + 0x45FD1945, 0xA33A5BA3, 0x68C23D68, 0x158D5915, 0x21ECF321, 0x3166AE31, 0x3E6FA23E, 0x16578216, + 0x95106395, 0x5BEF015B, 0x4DB8834D, 0x91862E91, 0xB56DD9B5, 0x1F83511F, 0x53AA9B53, 0x635D7C63, + 0x3B68A63B, 0x3FFEEB3F, 0xD630A5D6, 0x257ABE25, 0xA7AC16A7, 0x0F090C0F, 0x35F0E335, 0x23A76123, + 0xF090C0F0, 0xAFE98CAF, 0x809D3A80, 0x925CF592, 0x810C7381, 0x27312C27, 0x76D02576, 0xE7560BE7, + 0x7B92BB7B, 0xE9CE4EE9, 0xF10189F1, 0x9F1E6B9F, 0xA93453A9, 0xC4F16AC4, 0x99C3B499, 0x975BF197, + 0x8347E183, 0x6B18E66B, 0xC822BDC8, 0x0E98450E, 0x6E1FE26E, 0xC9B3F4C9, 0x2F74B62F, 0xCBF866CB, + 0xFF99CCFF, 0xEA1495EA, 0xED5803ED, 0xF7DC56F7, 0xE18BD4E1, 0x1B151C1B, 0xADA21EAD, 0x0CD3D70C, + 0x2BE2FB2B, 0x1DC8C31D, 0x195E8E19, 0xC22CB5C2, 0x8949E989, 0x12C1CF12, 0x7E95BF7E, 0x207DBA20, + 0x6411EA64, 0x840B7784, 0x6DC5396D, 0x6A89AF6A, 0xD17C33D1, 0xA171C9A1, 0xCEFF62CE, 0x37BB7137, + 0xFB0F81FB, 0x3DB5793D, 0x51E10951, 0xDC3EADDC, 0x2D3F242D, 0xA476CDA4, 0x9D55F99D, 0xEE82D8EE, + 0x8640E586, 0xAE78C5AE, 0xCD25B9CD, 0x04964D04, 0x55774455, 0x0A0E080A, 0x13508613, 0x30F7E730, + 0xD337A1D3, 0x40FA1D40, 0x3461AA34, 0x8C4EED8C, 0xB3B006B3, 0x6C54706C, 0x2A73B22A, 0x523BD252, + 0x0B9F410B, 0x8B027B8B, 0x88D8A088, 0x4FF3114F, 0x67CB3167, 0x4627C246, 0xC06727C0, 0xB4FC90B4, + 0x28382028, 0x7F04F67F, 0x78486078, 0x2EE5FF2E, 0x074C9607, 0x4B655C4B, 0xC72BB1C7, 0x6F8EAB6F, + 0x0D429E0D, 0xBBF59CBB, 0xF2DB52F2, 0xF34A1BF3, 0xA63D5FA6, 0x59A49359, 0xBCB90ABC, 0x3AF9EF3A, + 0xEF1391EF, 0xFE0885FE, 0x01914901, 0x6116EE61, 0x7CDE2D7C, 0xB2214FB2, 0x42B18F42, 0xDB723BDB, + 0xB82F47B8, 0x48BF8748, 0x2CAE6D2C, 0xE3C046E3, 0x573CD657, 0x859A3E85, 0x29A96929, 0x7D4F647D, + 0x94812A94, 0x492ECE49, 0x17C6CB17, 0xCA692FCA, 0xC3BDFCC3, 0x5CA3975C, 0x5EE8055E, 0xD0ED7AD0, + 0x87D1AC87, 0x8E057F8E, 0xBA64D5BA, 0xA8A51AA8, 0xB7264BB7, 0xB9BE0EB9, 0x6087A760, 0xF8D55AF8, + 0x22362822, 0x111B1411, 0xDE753FDE, 0x79D92979, 0xAAEE88AA, 0x332D3C33, 0x5F794C5F, 0xB6B702B6, + 0x96CAB896, 0x5835DA58, 0x9CC4B09C, 0xFC4317FC, 0x1A84551A, 0xF64D1FF6, 0x1C598A1C, 0x38B27D38, + 0xAC3357AC, 0x18CFC718, 0xF4068DF4, 0x69537469, 0x749BB774, 0xF597C4F5, 0x56AD9F56, 0xDAE372DA, + 0xD5EA7ED5, 0x4AF4154A, 0x9E8F229E, 0xA2AB12A2, 0x4E62584E, 0xE85F07E8, 0xE51D99E5, 0x39233439, + 0xC1F66EC1, 0x446C5044, 0x5D32DE5D, 0x72466872, 0x26A06526, 0x93CDBC93, 0x03DADB03, 0xC6BAF8C6, + 0xFA9EC8FA, 0x82D6A882, 0xCF6E2BCF, 0x50704050, 0xEB85DCEB, 0x750AFE75, 0x8A93328A, 0x8DDFA48D, + 0x4C29CA4C, 0x141C1014, 0x73D72173, 0xCCB4F0CC, 0x09D4D309, 0x108A5D10, 0xE2510FE2, 0x00000000, + 0x9A196F9A, 0xE01A9DE0, 0x8F94368F, 0xE6C742E6, 0xECC94AEC, 0xFDD25EFD, 0xAB7FC1AB, 0xD8A8E0D8 + ); + + /** + * The Key Schedule Array + * + * @var array + * @access private + */ + var $K = array(); + + /** + * The Key depended S-Table 0 + * + * @var array + * @access private + */ + var $S0 = array(); + + /** + * The Key depended S-Table 1 + * + * @var array + * @access private + */ + var $S1 = array(); + + /** + * The Key depended S-Table 2 + * + * @var array + * @access private + */ + var $S2 = array(); + + /** + * The Key depended S-Table 3 + * + * @var array + * @access private + */ + var $S3 = array(); + + /** + * Holds the last used key + * + * @var array + * @access private + */ + var $kl; + + /** + * The Key Length (in bytes) + * + * @see Crypt_Twofish::setKeyLength() + * @var int + * @access private + */ + var $key_length = 16; + + /** + * Sets the key length. + * + * Valid key lengths are 128, 192 or 256 bits + * + * @access public + * @param int $length + */ + function setKeyLength($length) + { + switch (true) { + case $length <= 128: + $this->key_length = 16; + break; + case $length <= 192: + $this->key_length = 24; + break; + default: + $this->key_length = 32; + } + + parent::setKeyLength($length); + } + + /** + * Setup the key (expansion) + * + * @see \phpseclib\Crypt\Base::_setupKey() + * @access private + */ + function _setupKey() + { + if (isset($this->kl['key']) && $this->key === $this->kl['key']) { + // already expanded + return; + } + $this->kl = array('key' => $this->key); + + /* Key expanding and generating the key-depended s-boxes */ + $le_longs = unpack('V*', $this->key); + $key = unpack('C*', $this->key); + $m0 = $this->m0; + $m1 = $this->m1; + $m2 = $this->m2; + $m3 = $this->m3; + $q0 = $this->q0; + $q1 = $this->q1; + + $K = $S0 = $S1 = $S2 = $S3 = array(); + + switch (strlen($this->key)) { + case 16: + list($s7, $s6, $s5, $s4) = $this->_mdsrem($le_longs[1], $le_longs[2]); + list($s3, $s2, $s1, $s0) = $this->_mdsrem($le_longs[3], $le_longs[4]); + for ($i = 0, $j = 1; $i < 40; $i+= 2, $j+= 2) { + $A = $m0[$q0[$q0[$i] ^ $key[ 9]] ^ $key[1]] ^ + $m1[$q0[$q1[$i] ^ $key[10]] ^ $key[2]] ^ + $m2[$q1[$q0[$i] ^ $key[11]] ^ $key[3]] ^ + $m3[$q1[$q1[$i] ^ $key[12]] ^ $key[4]]; + $B = $m0[$q0[$q0[$j] ^ $key[13]] ^ $key[5]] ^ + $m1[$q0[$q1[$j] ^ $key[14]] ^ $key[6]] ^ + $m2[$q1[$q0[$j] ^ $key[15]] ^ $key[7]] ^ + $m3[$q1[$q1[$j] ^ $key[16]] ^ $key[8]]; + $B = ($B << 8) | ($B >> 24 & 0xff); + $K[] = $A+= $B; + $K[] = (($A+= $B) << 9 | $A >> 23 & 0x1ff); + } + for ($i = 0; $i < 256; ++$i) { + $S0[$i] = $m0[$q0[$q0[$i] ^ $s4] ^ $s0]; + $S1[$i] = $m1[$q0[$q1[$i] ^ $s5] ^ $s1]; + $S2[$i] = $m2[$q1[$q0[$i] ^ $s6] ^ $s2]; + $S3[$i] = $m3[$q1[$q1[$i] ^ $s7] ^ $s3]; + } + break; + case 24: + list($sb, $sa, $s9, $s8) = $this->_mdsrem($le_longs[1], $le_longs[2]); + list($s7, $s6, $s5, $s4) = $this->_mdsrem($le_longs[3], $le_longs[4]); + list($s3, $s2, $s1, $s0) = $this->_mdsrem($le_longs[5], $le_longs[6]); + for ($i = 0, $j = 1; $i < 40; $i+= 2, $j+= 2) { + $A = $m0[$q0[$q0[$q1[$i] ^ $key[17]] ^ $key[ 9]] ^ $key[1]] ^ + $m1[$q0[$q1[$q1[$i] ^ $key[18]] ^ $key[10]] ^ $key[2]] ^ + $m2[$q1[$q0[$q0[$i] ^ $key[19]] ^ $key[11]] ^ $key[3]] ^ + $m3[$q1[$q1[$q0[$i] ^ $key[20]] ^ $key[12]] ^ $key[4]]; + $B = $m0[$q0[$q0[$q1[$j] ^ $key[21]] ^ $key[13]] ^ $key[5]] ^ + $m1[$q0[$q1[$q1[$j] ^ $key[22]] ^ $key[14]] ^ $key[6]] ^ + $m2[$q1[$q0[$q0[$j] ^ $key[23]] ^ $key[15]] ^ $key[7]] ^ + $m3[$q1[$q1[$q0[$j] ^ $key[24]] ^ $key[16]] ^ $key[8]]; + $B = ($B << 8) | ($B >> 24 & 0xff); + $K[] = $A+= $B; + $K[] = (($A+= $B) << 9 | $A >> 23 & 0x1ff); + } + for ($i = 0; $i < 256; ++$i) { + $S0[$i] = $m0[$q0[$q0[$q1[$i] ^ $s8] ^ $s4] ^ $s0]; + $S1[$i] = $m1[$q0[$q1[$q1[$i] ^ $s9] ^ $s5] ^ $s1]; + $S2[$i] = $m2[$q1[$q0[$q0[$i] ^ $sa] ^ $s6] ^ $s2]; + $S3[$i] = $m3[$q1[$q1[$q0[$i] ^ $sb] ^ $s7] ^ $s3]; + } + break; + default: // 32 + list($sf, $se, $sd, $sc) = $this->_mdsrem($le_longs[1], $le_longs[2]); + list($sb, $sa, $s9, $s8) = $this->_mdsrem($le_longs[3], $le_longs[4]); + list($s7, $s6, $s5, $s4) = $this->_mdsrem($le_longs[5], $le_longs[6]); + list($s3, $s2, $s1, $s0) = $this->_mdsrem($le_longs[7], $le_longs[8]); + for ($i = 0, $j = 1; $i < 40; $i+= 2, $j+= 2) { + $A = $m0[$q0[$q0[$q1[$q1[$i] ^ $key[25]] ^ $key[17]] ^ $key[ 9]] ^ $key[1]] ^ + $m1[$q0[$q1[$q1[$q0[$i] ^ $key[26]] ^ $key[18]] ^ $key[10]] ^ $key[2]] ^ + $m2[$q1[$q0[$q0[$q0[$i] ^ $key[27]] ^ $key[19]] ^ $key[11]] ^ $key[3]] ^ + $m3[$q1[$q1[$q0[$q1[$i] ^ $key[28]] ^ $key[20]] ^ $key[12]] ^ $key[4]]; + $B = $m0[$q0[$q0[$q1[$q1[$j] ^ $key[29]] ^ $key[21]] ^ $key[13]] ^ $key[5]] ^ + $m1[$q0[$q1[$q1[$q0[$j] ^ $key[30]] ^ $key[22]] ^ $key[14]] ^ $key[6]] ^ + $m2[$q1[$q0[$q0[$q0[$j] ^ $key[31]] ^ $key[23]] ^ $key[15]] ^ $key[7]] ^ + $m3[$q1[$q1[$q0[$q1[$j] ^ $key[32]] ^ $key[24]] ^ $key[16]] ^ $key[8]]; + $B = ($B << 8) | ($B >> 24 & 0xff); + $K[] = $A+= $B; + $K[] = (($A+= $B) << 9 | $A >> 23 & 0x1ff); + } + for ($i = 0; $i < 256; ++$i) { + $S0[$i] = $m0[$q0[$q0[$q1[$q1[$i] ^ $sc] ^ $s8] ^ $s4] ^ $s0]; + $S1[$i] = $m1[$q0[$q1[$q1[$q0[$i] ^ $sd] ^ $s9] ^ $s5] ^ $s1]; + $S2[$i] = $m2[$q1[$q0[$q0[$q0[$i] ^ $se] ^ $sa] ^ $s6] ^ $s2]; + $S3[$i] = $m3[$q1[$q1[$q0[$q1[$i] ^ $sf] ^ $sb] ^ $s7] ^ $s3]; + } + } + + $this->K = $K; + $this->S0 = $S0; + $this->S1 = $S1; + $this->S2 = $S2; + $this->S3 = $S3; + } + + /** + * _mdsrem function using by the twofish cipher algorithm + * + * @access private + * @param string $A + * @param string $B + * @return array + */ + function _mdsrem($A, $B) + { + // No gain by unrolling this loop. + for ($i = 0; $i < 8; ++$i) { + // Get most significant coefficient. + $t = 0xff & ($B >> 24); + + // Shift the others up. + $B = ($B << 8) | (0xff & ($A >> 24)); + $A<<= 8; + + $u = $t << 1; + + // Subtract the modular polynomial on overflow. + if ($t & 0x80) { + $u^= 0x14d; + } + + // Remove t * (a * x^2 + 1). + $B ^= $t ^ ($u << 16); + + // Form u = a*t + t/a = t*(a + 1/a). + $u^= 0x7fffffff & ($t >> 1); + + // Add the modular polynomial on underflow. + if ($t & 0x01) { + $u^= 0xa6 ; + } + + // Remove t * (a + 1/a) * (x^3 + x). + $B^= ($u << 24) | ($u << 8); + } + + return array( + 0xff & $B >> 24, + 0xff & $B >> 16, + 0xff & $B >> 8, + 0xff & $B); + } + + /** + * Encrypts a block + * + * @access private + * @param string $in + * @return string + */ + function _encryptBlock($in) + { + $S0 = $this->S0; + $S1 = $this->S1; + $S2 = $this->S2; + $S3 = $this->S3; + $K = $this->K; + + $in = unpack("V4", $in); + $R0 = $K[0] ^ $in[1]; + $R1 = $K[1] ^ $in[2]; + $R2 = $K[2] ^ $in[3]; + $R3 = $K[3] ^ $in[4]; + + $ki = 7; + while ($ki < 39) { + $t0 = $S0[ $R0 & 0xff] ^ + $S1[($R0 >> 8) & 0xff] ^ + $S2[($R0 >> 16) & 0xff] ^ + $S3[($R0 >> 24) & 0xff]; + $t1 = $S0[($R1 >> 24) & 0xff] ^ + $S1[ $R1 & 0xff] ^ + $S2[($R1 >> 8) & 0xff] ^ + $S3[($R1 >> 16) & 0xff]; + $R2^= $t0 + $t1 + $K[++$ki]; + $R2 = ($R2 >> 1 & 0x7fffffff) | ($R2 << 31); + $R3 = ((($R3 >> 31) & 1) | ($R3 << 1)) ^ ($t0 + ($t1 << 1) + $K[++$ki]); + + $t0 = $S0[ $R2 & 0xff] ^ + $S1[($R2 >> 8) & 0xff] ^ + $S2[($R2 >> 16) & 0xff] ^ + $S3[($R2 >> 24) & 0xff]; + $t1 = $S0[($R3 >> 24) & 0xff] ^ + $S1[ $R3 & 0xff] ^ + $S2[($R3 >> 8) & 0xff] ^ + $S3[($R3 >> 16) & 0xff]; + $R0^= ($t0 + $t1 + $K[++$ki]); + $R0 = ($R0 >> 1 & 0x7fffffff) | ($R0 << 31); + $R1 = ((($R1 >> 31) & 1) | ($R1 << 1)) ^ ($t0 + ($t1 << 1) + $K[++$ki]); + } + + // @codingStandardsIgnoreStart + return pack("V4", $K[4] ^ $R2, + $K[5] ^ $R3, + $K[6] ^ $R0, + $K[7] ^ $R1); + // @codingStandardsIgnoreEnd + } + + /** + * Decrypts a block + * + * @access private + * @param string $in + * @return string + */ + function _decryptBlock($in) + { + $S0 = $this->S0; + $S1 = $this->S1; + $S2 = $this->S2; + $S3 = $this->S3; + $K = $this->K; + + $in = unpack("V4", $in); + $R0 = $K[4] ^ $in[1]; + $R1 = $K[5] ^ $in[2]; + $R2 = $K[6] ^ $in[3]; + $R3 = $K[7] ^ $in[4]; + + $ki = 40; + while ($ki > 8) { + $t0 = $S0[$R0 & 0xff] ^ + $S1[$R0 >> 8 & 0xff] ^ + $S2[$R0 >> 16 & 0xff] ^ + $S3[$R0 >> 24 & 0xff]; + $t1 = $S0[$R1 >> 24 & 0xff] ^ + $S1[$R1 & 0xff] ^ + $S2[$R1 >> 8 & 0xff] ^ + $S3[$R1 >> 16 & 0xff]; + $R3^= $t0 + ($t1 << 1) + $K[--$ki]; + $R3 = $R3 >> 1 & 0x7fffffff | $R3 << 31; + $R2 = ($R2 >> 31 & 0x1 | $R2 << 1) ^ ($t0 + $t1 + $K[--$ki]); + + $t0 = $S0[$R2 & 0xff] ^ + $S1[$R2 >> 8 & 0xff] ^ + $S2[$R2 >> 16 & 0xff] ^ + $S3[$R2 >> 24 & 0xff]; + $t1 = $S0[$R3 >> 24 & 0xff] ^ + $S1[$R3 & 0xff] ^ + $S2[$R3 >> 8 & 0xff] ^ + $S3[$R3 >> 16 & 0xff]; + $R1^= $t0 + ($t1 << 1) + $K[--$ki]; + $R1 = $R1 >> 1 & 0x7fffffff | $R1 << 31; + $R0 = ($R0 >> 31 & 0x1 | $R0 << 1) ^ ($t0 + $t1 + $K[--$ki]); + } + + // @codingStandardsIgnoreStart + return pack("V4", $K[0] ^ $R2, + $K[1] ^ $R3, + $K[2] ^ $R0, + $K[3] ^ $R1); + // @codingStandardsIgnoreEnd + } + + /** + * Setup the performance-optimized function for de/encrypt() + * + * @see \phpseclib\Crypt\Base::_setupInlineCrypt() + * @access private + */ + function _setupInlineCrypt() + { + $lambda_functions =& self::_getLambdaFunctions(); + + // Max. 10 Ultra-Hi-optimized inline-crypt functions. After that, we'll (still) create very fast code, but not the ultimate fast one. + // (Currently, for Crypt_Twofish, one generated $lambda_function cost on php5.5@32bit ~140kb unfreeable mem and ~240kb on php5.5@64bit) + $gen_hi_opt_code = (bool)(count($lambda_functions) < 10); + + // Generation of a unique hash for our generated code + $code_hash = "Crypt_Twofish, {$this->mode}"; + if ($gen_hi_opt_code) { + $code_hash = str_pad($code_hash, 32) . $this->_hashInlineCryptFunction($this->key); + } + + if (!isset($lambda_functions[$code_hash])) { + switch (true) { + case $gen_hi_opt_code: + $K = $this->K; + $init_crypt = ' + static $S0, $S1, $S2, $S3; + if (!$S0) { + for ($i = 0; $i < 256; ++$i) { + $S0[] = (int)$self->S0[$i]; + $S1[] = (int)$self->S1[$i]; + $S2[] = (int)$self->S2[$i]; + $S3[] = (int)$self->S3[$i]; + } + } + '; + break; + default: + $K = array(); + for ($i = 0; $i < 40; ++$i) { + $K[] = '$K_' . $i; + } + $init_crypt = ' + $S0 = $self->S0; + $S1 = $self->S1; + $S2 = $self->S2; + $S3 = $self->S3; + list(' . implode(',', $K) . ') = $self->K; + '; + } + + // Generating encrypt code: + $encrypt_block = ' + $in = unpack("V4", $in); + $R0 = '.$K[0].' ^ $in[1]; + $R1 = '.$K[1].' ^ $in[2]; + $R2 = '.$K[2].' ^ $in[3]; + $R3 = '.$K[3].' ^ $in[4]; + '; + for ($ki = 7, $i = 0; $i < 8; ++$i) { + $encrypt_block.= ' + $t0 = $S0[ $R0 & 0xff] ^ + $S1[($R0 >> 8) & 0xff] ^ + $S2[($R0 >> 16) & 0xff] ^ + $S3[($R0 >> 24) & 0xff]; + $t1 = $S0[($R1 >> 24) & 0xff] ^ + $S1[ $R1 & 0xff] ^ + $S2[($R1 >> 8) & 0xff] ^ + $S3[($R1 >> 16) & 0xff]; + $R2^= ($t0 + $t1 + '.$K[++$ki].'); + $R2 = ($R2 >> 1 & 0x7fffffff) | ($R2 << 31); + $R3 = ((($R3 >> 31) & 1) | ($R3 << 1)) ^ ($t0 + ($t1 << 1) + '.$K[++$ki].'); + + $t0 = $S0[ $R2 & 0xff] ^ + $S1[($R2 >> 8) & 0xff] ^ + $S2[($R2 >> 16) & 0xff] ^ + $S3[($R2 >> 24) & 0xff]; + $t1 = $S0[($R3 >> 24) & 0xff] ^ + $S1[ $R3 & 0xff] ^ + $S2[($R3 >> 8) & 0xff] ^ + $S3[($R3 >> 16) & 0xff]; + $R0^= ($t0 + $t1 + '.$K[++$ki].'); + $R0 = ($R0 >> 1 & 0x7fffffff) | ($R0 << 31); + $R1 = ((($R1 >> 31) & 1) | ($R1 << 1)) ^ ($t0 + ($t1 << 1) + '.$K[++$ki].'); + '; + } + $encrypt_block.= ' + $in = pack("V4", '.$K[4].' ^ $R2, + '.$K[5].' ^ $R3, + '.$K[6].' ^ $R0, + '.$K[7].' ^ $R1); + '; + + // Generating decrypt code: + $decrypt_block = ' + $in = unpack("V4", $in); + $R0 = '.$K[4].' ^ $in[1]; + $R1 = '.$K[5].' ^ $in[2]; + $R2 = '.$K[6].' ^ $in[3]; + $R3 = '.$K[7].' ^ $in[4]; + '; + for ($ki = 40, $i = 0; $i < 8; ++$i) { + $decrypt_block.= ' + $t0 = $S0[$R0 & 0xff] ^ + $S1[$R0 >> 8 & 0xff] ^ + $S2[$R0 >> 16 & 0xff] ^ + $S3[$R0 >> 24 & 0xff]; + $t1 = $S0[$R1 >> 24 & 0xff] ^ + $S1[$R1 & 0xff] ^ + $S2[$R1 >> 8 & 0xff] ^ + $S3[$R1 >> 16 & 0xff]; + $R3^= $t0 + ($t1 << 1) + '.$K[--$ki].'; + $R3 = $R3 >> 1 & 0x7fffffff | $R3 << 31; + $R2 = ($R2 >> 31 & 0x1 | $R2 << 1) ^ ($t0 + $t1 + '.$K[--$ki].'); + + $t0 = $S0[$R2 & 0xff] ^ + $S1[$R2 >> 8 & 0xff] ^ + $S2[$R2 >> 16 & 0xff] ^ + $S3[$R2 >> 24 & 0xff]; + $t1 = $S0[$R3 >> 24 & 0xff] ^ + $S1[$R3 & 0xff] ^ + $S2[$R3 >> 8 & 0xff] ^ + $S3[$R3 >> 16 & 0xff]; + $R1^= $t0 + ($t1 << 1) + '.$K[--$ki].'; + $R1 = $R1 >> 1 & 0x7fffffff | $R1 << 31; + $R0 = ($R0 >> 31 & 0x1 | $R0 << 1) ^ ($t0 + $t1 + '.$K[--$ki].'); + '; + } + $decrypt_block.= ' + $in = pack("V4", '.$K[0].' ^ $R2, + '.$K[1].' ^ $R3, + '.$K[2].' ^ $R0, + '.$K[3].' ^ $R1); + '; + + $lambda_functions[$code_hash] = $this->_createInlineCryptFunction( + array( + 'init_crypt' => $init_crypt, + 'init_encrypt' => '', + 'init_decrypt' => '', + 'encrypt_block' => $encrypt_block, + 'decrypt_block' => $decrypt_block + ) + ); + } + $this->inline_crypt = $lambda_functions[$code_hash]; + } +} diff --git a/vendor/phpseclib/phpseclib/phpseclib/File/ANSI.php b/vendor/phpseclib/phpseclib/phpseclib/File/ANSI.php new file mode 100644 index 00000000..1f3eecb3 --- /dev/null +++ b/vendor/phpseclib/phpseclib/phpseclib/File/ANSI.php @@ -0,0 +1,574 @@ +<?php + +/** + * Pure-PHP ANSI Decoder + * + * PHP version 5 + * + * If you call read() in \phpseclib\Net\SSH2 you may get {@link http://en.wikipedia.org/wiki/ANSI_escape_code ANSI escape codes} back. + * They'd look like chr(0x1B) . '[00m' or whatever (0x1B = ESC). They tell a + * {@link http://en.wikipedia.org/wiki/Terminal_emulator terminal emulator} how to format the characters, what + * color to display them in, etc. \phpseclib\File\ANSI is a {@link http://en.wikipedia.org/wiki/VT100 VT100} terminal emulator. + * + * @category File + * @package ANSI + * @author Jim Wigginton <terrafrost@php.net> + * @copyright 2012 Jim Wigginton + * @license http://www.opensource.org/licenses/mit-license.html MIT License + * @link http://phpseclib.sourceforge.net + */ + +namespace phpseclib\File; + +/** + * Pure-PHP ANSI Decoder + * + * @package ANSI + * @author Jim Wigginton <terrafrost@php.net> + * @access public + */ +class ANSI +{ + /** + * Max Width + * + * @var int + * @access private + */ + var $max_x; + + /** + * Max Height + * + * @var int + * @access private + */ + var $max_y; + + /** + * Max History + * + * @var int + * @access private + */ + var $max_history; + + /** + * History + * + * @var array + * @access private + */ + var $history; + + /** + * History Attributes + * + * @var array + * @access private + */ + var $history_attrs; + + /** + * Current Column + * + * @var int + * @access private + */ + var $x; + + /** + * Current Row + * + * @var int + * @access private + */ + var $y; + + /** + * Old Column + * + * @var int + * @access private + */ + var $old_x; + + /** + * Old Row + * + * @var int + * @access private + */ + var $old_y; + + /** + * An empty attribute cell + * + * @var object + * @access private + */ + var $base_attr_cell; + + /** + * The current attribute cell + * + * @var object + * @access private + */ + var $attr_cell; + + /** + * An empty attribute row + * + * @var array + * @access private + */ + var $attr_row; + + /** + * The current screen text + * + * @var array + * @access private + */ + var $screen; + + /** + * The current screen attributes + * + * @var array + * @access private + */ + var $attrs; + + /** + * Current ANSI code + * + * @var string + * @access private + */ + var $ansi; + + /** + * Tokenization + * + * @var array + * @access private + */ + var $tokenization; + + /** + * Default Constructor. + * + * @return \phpseclib\File\ANSI + * @access public + */ + function __construct() + { + $attr_cell = new \stdClass(); + $attr_cell->bold = false; + $attr_cell->underline = false; + $attr_cell->blink = false; + $attr_cell->background = 'black'; + $attr_cell->foreground = 'white'; + $attr_cell->reverse = false; + $this->base_attr_cell = clone $attr_cell; + $this->attr_cell = clone $attr_cell; + + $this->setHistory(200); + $this->setDimensions(80, 24); + } + + /** + * Set terminal width and height + * + * Resets the screen as well + * + * @param int $x + * @param int $y + * @access public + */ + function setDimensions($x, $y) + { + $this->max_x = $x - 1; + $this->max_y = $y - 1; + $this->x = $this->y = 0; + $this->history = $this->history_attrs = array(); + $this->attr_row = array_fill(0, $this->max_x + 2, $this->base_attr_cell); + $this->screen = array_fill(0, $this->max_y + 1, ''); + $this->attrs = array_fill(0, $this->max_y + 1, $this->attr_row); + $this->ansi = ''; + } + + /** + * Set the number of lines that should be logged past the terminal height + * + * @param int $x + * @param int $y + * @access public + */ + function setHistory($history) + { + $this->max_history = $history; + } + + /** + * Load a string + * + * @param string $source + * @access public + */ + function loadString($source) + { + $this->setDimensions($this->max_x + 1, $this->max_y + 1); + $this->appendString($source); + } + + /** + * Appdend a string + * + * @param string $source + * @access public + */ + function appendString($source) + { + $this->tokenization = array(''); + for ($i = 0; $i < strlen($source); $i++) { + if (strlen($this->ansi)) { + $this->ansi.= $source[$i]; + $chr = ord($source[$i]); + // http://en.wikipedia.org/wiki/ANSI_escape_code#Sequence_elements + // single character CSI's not currently supported + switch (true) { + case $this->ansi == "\x1B=": + $this->ansi = ''; + continue 2; + case strlen($this->ansi) == 2 && $chr >= 64 && $chr <= 95 && $chr != ord('['): + case strlen($this->ansi) > 2 && $chr >= 64 && $chr <= 126: + break; + default: + continue 2; + } + $this->tokenization[] = $this->ansi; + $this->tokenization[] = ''; + // http://ascii-table.com/ansi-escape-sequences-vt-100.php + switch ($this->ansi) { + case "\x1B[H": // Move cursor to upper left corner + $this->old_x = $this->x; + $this->old_y = $this->y; + $this->x = $this->y = 0; + break; + case "\x1B[J": // Clear screen from cursor down + $this->history = array_merge($this->history, array_slice(array_splice($this->screen, $this->y + 1), 0, $this->old_y)); + $this->screen = array_merge($this->screen, array_fill($this->y, $this->max_y, '')); + + $this->history_attrs = array_merge($this->history_attrs, array_slice(array_splice($this->attrs, $this->y + 1), 0, $this->old_y)); + $this->attrs = array_merge($this->attrs, array_fill($this->y, $this->max_y, $this->attr_row)); + + if (count($this->history) == $this->max_history) { + array_shift($this->history); + array_shift($this->history_attrs); + } + case "\x1B[K": // Clear screen from cursor right + $this->screen[$this->y] = substr($this->screen[$this->y], 0, $this->x); + + array_splice($this->attrs[$this->y], $this->x + 1, $this->max_x - $this->x, array_fill($this->x, $this->max_x - $this->x - 1, $this->base_attr_cell)); + break; + case "\x1B[2K": // Clear entire line + $this->screen[$this->y] = str_repeat(' ', $this->x); + $this->attrs[$this->y] = $this->attr_row; + break; + case "\x1B[?1h": // set cursor key to application + case "\x1B[?25h": // show the cursor + case "\x1B(B": // set united states g0 character set + break; + case "\x1BE": // Move to next line + $this->_newLine(); + $this->x = 0; + break; + default: + switch (true) { + case preg_match('#\x1B\[(\d+)B#', $this->ansi, $match): // Move cursor down n lines + $this->old_y = $this->y; + $this->y+= $match[1]; + break; + case preg_match('#\x1B\[(\d+);(\d+)H#', $this->ansi, $match): // Move cursor to screen location v,h + $this->old_x = $this->x; + $this->old_y = $this->y; + $this->x = $match[2] - 1; + $this->y = $match[1] - 1; + break; + case preg_match('#\x1B\[(\d+)C#', $this->ansi, $match): // Move cursor right n lines + $this->old_x = $this->x; + $this->x+= $match[1]; + break; + case preg_match('#\x1B\[(\d+)D#', $this->ansi, $match): // Move cursor left n lines + $this->old_x = $this->x; + $this->x-= $match[1]; + break; + case preg_match('#\x1B\[(\d+);(\d+)r#', $this->ansi, $match): // Set top and bottom lines of a window + break; + case preg_match('#\x1B\[(\d*(?:;\d*)*)m#', $this->ansi, $match): // character attributes + $attr_cell = &$this->attr_cell; + $mods = explode(';', $match[1]); + foreach ($mods as $mod) { + switch ($mod) { + case 0: // Turn off character attributes + $attr_cell = clone $this->base_attr_cell; + break; + case 1: // Turn bold mode on + $attr_cell->bold = true; + break; + case 4: // Turn underline mode on + $attr_cell->underline = true; + break; + case 5: // Turn blinking mode on + $attr_cell->blink = true; + break; + case 7: // Turn reverse video on + $attr_cell->reverse = !$attr_cell->reverse; + $temp = $attr_cell->background; + $attr_cell->background = $attr_cell->foreground; + $attr_cell->foreground = $temp; + break; + default: // set colors + //$front = $attr_cell->reverse ? &$attr_cell->background : &$attr_cell->foreground; + $front = &$attr_cell->{ $attr_cell->reverse ? 'background' : 'foreground' }; + //$back = $attr_cell->reverse ? &$attr_cell->foreground : &$attr_cell->background; + $back = &$attr_cell->{ $attr_cell->reverse ? 'foreground' : 'background' }; + switch ($mod) { + // @codingStandardsIgnoreStart + case 30: $front = 'black'; break; + case 31: $front = 'red'; break; + case 32: $front = 'green'; break; + case 33: $front = 'yellow'; break; + case 34: $front = 'blue'; break; + case 35: $front = 'magenta'; break; + case 36: $front = 'cyan'; break; + case 37: $front = 'white'; break; + + case 40: $back = 'black'; break; + case 41: $back = 'red'; break; + case 42: $back = 'green'; break; + case 43: $back = 'yellow'; break; + case 44: $back = 'blue'; break; + case 45: $back = 'magenta'; break; + case 46: $back = 'cyan'; break; + case 47: $back = 'white'; break; + // @codingStandardsIgnoreEnd + + default: + //user_error('Unsupported attribute: ' . $mod); + $this->ansi = ''; + break 2; + } + } + } + break; + default: + //user_error("{$this->ansi} is unsupported\r\n"); + } + } + $this->ansi = ''; + continue; + } + + $this->tokenization[count($this->tokenization) - 1].= $source[$i]; + switch ($source[$i]) { + case "\r": + $this->x = 0; + break; + case "\n": + $this->_newLine(); + break; + case "\x08": // backspace + if ($this->x) { + $this->x--; + $this->attrs[$this->y][$this->x] = clone $this->base_attr_cell; + $this->screen[$this->y] = substr_replace( + $this->screen[$this->y], + $source[$i], + $this->x, + 1 + ); + } + break; + case "\x0F": // shift + break; + case "\x1B": // start ANSI escape code + $this->tokenization[count($this->tokenization) - 1] = substr($this->tokenization[count($this->tokenization) - 1], 0, -1); + //if (!strlen($this->tokenization[count($this->tokenization) - 1])) { + // array_pop($this->tokenization); + //} + $this->ansi.= "\x1B"; + break; + default: + $this->attrs[$this->y][$this->x] = clone $this->attr_cell; + if ($this->x > strlen($this->screen[$this->y])) { + $this->screen[$this->y] = str_repeat(' ', $this->x); + } + $this->screen[$this->y] = substr_replace( + $this->screen[$this->y], + $source[$i], + $this->x, + 1 + ); + + if ($this->x > $this->max_x) { + $this->x = 0; + $this->y++; + } else { + $this->x++; + } + } + } + } + + /** + * Add a new line + * + * Also update the $this->screen and $this->history buffers + * + * @access private + */ + function _newLine() + { + //if ($this->y < $this->max_y) { + // $this->y++; + //} + + while ($this->y >= $this->max_y) { + $this->history = array_merge($this->history, array(array_shift($this->screen))); + $this->screen[] = ''; + + $this->history_attrs = array_merge($this->history_attrs, array(array_shift($this->attrs))); + $this->attrs[] = $this->attr_row; + + if (count($this->history) >= $this->max_history) { + array_shift($this->history); + array_shift($this->history_attrs); + } + + $this->y--; + } + $this->y++; + } + + /** + * Returns the current coordinate without preformating + * + * @access private + * @return string + */ + function _processCoordinate($last_attr, $cur_attr, $char) + { + $output = ''; + + if ($last_attr != $cur_attr) { + $close = $open = ''; + if ($last_attr->foreground != $cur_attr->foreground) { + if ($cur_attr->foreground != 'white') { + $open.= '<span style="color: ' . $cur_attr->foreground . '">'; + } + if ($last_attr->foreground != 'white') { + $close = '</span>' . $close; + } + } + if ($last_attr->background != $cur_attr->background) { + if ($cur_attr->background != 'black') { + $open.= '<span style="background: ' . $cur_attr->background . '">'; + } + if ($last_attr->background != 'black') { + $close = '</span>' . $close; + } + } + if ($last_attr->bold != $cur_attr->bold) { + if ($cur_attr->bold) { + $open.= '<b>'; + } else { + $close = '</b>' . $close; + } + } + if ($last_attr->underline != $cur_attr->underline) { + if ($cur_attr->underline) { + $open.= '<u>'; + } else { + $close = '</u>' . $close; + } + } + if ($last_attr->blink != $cur_attr->blink) { + if ($cur_attr->blink) { + $open.= '<blink>'; + } else { + $close = '</blink>' . $close; + } + } + $output.= $close . $open; + } + + $output.= htmlspecialchars($char); + + return $output; + } + + /** + * Returns the current screen without preformating + * + * @access private + * @return string + */ + function _getScreen() + { + $output = ''; + $last_attr = $this->base_attr_cell; + for ($i = 0; $i <= $this->max_y; $i++) { + for ($j = 0; $j <= $this->max_x; $j++) { + $cur_attr = $this->attrs[$i][$j]; + $output.= $this->_processCoordinate($last_attr, $cur_attr, isset($this->screen[$i][$j]) ? $this->screen[$i][$j] : ''); + $last_attr = $this->attrs[$i][$j]; + } + $output.= "\r\n"; + } + $output = substr($output, 0, -2); + // close any remaining open tags + $output.= $this->_processCoordinate($last_attr, $this->base_attr_cell, ''); + return rtrim($output); + } + + /** + * Returns the current screen + * + * @access public + * @return string + */ + function getScreen() + { + return '<pre width="' . ($this->max_x + 1) . '" style="color: white; background: black">' . $this->_getScreen() . '</pre>'; + } + + /** + * Returns the current screen and the x previous lines + * + * @access public + * @return string + */ + function getHistory() + { + $scrollback = ''; + $last_attr = $this->base_attr_cell; + for ($i = 0; $i < count($this->history); $i++) { + for ($j = 0; $j <= $this->max_x + 1; $j++) { + $cur_attr = $this->history_attrs[$i][$j]; + $scrollback.= $this->_processCoordinate($last_attr, $cur_attr, isset($this->history[$i][$j]) ? $this->history[$i][$j] : ''); + $last_attr = $this->history_attrs[$i][$j]; + } + $scrollback.= "\r\n"; + } + $base_attr_cell = $this->base_attr_cell; + $this->base_attr_cell = $last_attr; + $scrollback.= $this->_getScreen(); + $this->base_attr_cell = $base_attr_cell; + + return '<pre width="' . ($this->max_x + 1) . '" style="color: white; background: black">' . $scrollback . '</span></pre>'; + } +} diff --git a/vendor/phpseclib/phpseclib/phpseclib/File/ASN1.php b/vendor/phpseclib/phpseclib/phpseclib/File/ASN1.php new file mode 100644 index 00000000..8308645b --- /dev/null +++ b/vendor/phpseclib/phpseclib/phpseclib/File/ASN1.php @@ -0,0 +1,1323 @@ +<?php + +/** + * Pure-PHP ASN.1 Parser + * + * PHP version 5 + * + * ASN.1 provides the semantics for data encoded using various schemes. The most commonly + * utilized scheme is DER or the "Distinguished Encoding Rules". PEM's are base64 encoded + * DER blobs. + * + * \phpseclib\File\ASN1 decodes and encodes DER formatted messages and places them in a semantic context. + * + * Uses the 1988 ASN.1 syntax. + * + * @category File + * @package ASN1 + * @author Jim Wigginton <terrafrost@php.net> + * @copyright 2012 Jim Wigginton + * @license http://www.opensource.org/licenses/mit-license.html MIT License + * @link http://phpseclib.sourceforge.net + */ + +namespace phpseclib\File; + +use phpseclib\File\ASN1\Element; +use phpseclib\Math\BigInteger; + +/** + * Pure-PHP ASN.1 Parser + * + * @package ASN1 + * @author Jim Wigginton <terrafrost@php.net> + * @access public + */ +class ASN1 +{ + /**#@+ + * Tag Classes + * + * @access private + * @link http://www.itu.int/ITU-T/studygroups/com17/languages/X.690-0207.pdf#page=12 + */ + const CLASS_UNIVERSAL = 0; + const CLASS_APPLICATION = 1; + const CLASS_CONTEXT_SPECIFIC = 2; + const CLASS_PRIVATE = 3; + /**#@-*/ + + /**#@+ + * Tag Classes + * + * @access private + * @link http://www.obj-sys.com/asn1tutorial/node124.html + */ + const TYPE_BOOLEAN = 1; + const TYPE_INTEGER = 2; + const TYPE_BIT_STRING = 3; + const TYPE_OCTET_STRING = 4; + const TYPE_NULL = 5; + const TYPE_OBJECT_IDENTIFIER = 6; + //const TYPE_OBJECT_DESCRIPTOR = 7; + //const TYPE_INSTANCE_OF = 8; // EXTERNAL + const TYPE_REAL = 9; + const TYPE_ENUMERATED = 10; + //const TYPE_EMBEDDED = 11; + const TYPE_UTF8_STRING = 12; + //const TYPE_RELATIVE_OID = 13; + const TYPE_SEQUENCE = 16; // SEQUENCE OF + const TYPE_SET = 17; // SET OF + /**#@-*/ + /**#@+ + * More Tag Classes + * + * @access private + * @link http://www.obj-sys.com/asn1tutorial/node10.html + */ + const TYPE_NUMERIC_STRING = 18; + const TYPE_PRINTABLE_STRING = 19; + const TYPE_TELETEX_STRING = 20; // T61String + const TYPE_VIDEOTEX_STRING = 21; + const TYPE_IA5_STRING = 22; + const TYPE_UTC_TIME = 23; + const TYPE_GENERALIZED_TIME = 24; + const TYPE_GRAPHIC_STRING = 25; + const TYPE_VISIBLE_STRING = 26; // ISO646String + const TYPE_GENERAL_STRING = 27; + const TYPE_UNIVERSAL_STRING = 28; + //const TYPE_CHARACTER_STRING = 29; + const TYPE_BMP_STRING = 30; + /**#@-*/ + + /**#@+ + * Tag Aliases + * + * These tags are kinda place holders for other tags. + * + * @access private + */ + const TYPE_CHOICE = -1; + const TYPE_ANY = -2; + /**#@-*/ + + /** + * ASN.1 object identifier + * + * @var array + * @access private + * @link http://en.wikipedia.org/wiki/Object_identifier + */ + var $oids = array(); + + /** + * Default date format + * + * @var string + * @access private + * @link http://php.net/class.datetime + */ + var $format = 'D, d M Y H:i:s O'; + + /** + * Default date format + * + * @var array + * @access private + * @see self::setTimeFormat() + * @see self::asn1map() + * @link http://php.net/class.datetime + */ + var $encoded; + + /** + * Filters + * + * If the mapping type is self::TYPE_ANY what do we actually encode it as? + * + * @var array + * @access private + * @see self::_encode_der() + */ + var $filters; + + /** + * Type mapping table for the ANY type. + * + * Structured or unknown types are mapped to a \phpseclib\File\ASN1\Element. + * Unambiguous types get the direct mapping (int/real/bool). + * Others are mapped as a choice, with an extra indexing level. + * + * @var array + * @access public + */ + var $ANYmap = array( + self::TYPE_BOOLEAN => true, + self::TYPE_INTEGER => true, + self::TYPE_BIT_STRING => 'bitString', + self::TYPE_OCTET_STRING => 'octetString', + self::TYPE_NULL => 'null', + self::TYPE_OBJECT_IDENTIFIER => 'objectIdentifier', + self::TYPE_REAL => true, + self::TYPE_ENUMERATED => 'enumerated', + self::TYPE_UTF8_STRING => 'utf8String', + self::TYPE_NUMERIC_STRING => 'numericString', + self::TYPE_PRINTABLE_STRING => 'printableString', + self::TYPE_TELETEX_STRING => 'teletexString', + self::TYPE_VIDEOTEX_STRING => 'videotexString', + self::TYPE_IA5_STRING => 'ia5String', + self::TYPE_UTC_TIME => 'utcTime', + self::TYPE_GENERALIZED_TIME => 'generalTime', + self::TYPE_GRAPHIC_STRING => 'graphicString', + self::TYPE_VISIBLE_STRING => 'visibleString', + self::TYPE_GENERAL_STRING => 'generalString', + self::TYPE_UNIVERSAL_STRING => 'universalString', + //self::TYPE_CHARACTER_STRING => 'characterString', + self::TYPE_BMP_STRING => 'bmpString' + ); + + /** + * String type to character size mapping table. + * + * Non-convertable types are absent from this table. + * size == 0 indicates variable length encoding. + * + * @var array + * @access public + */ + var $stringTypeSize = array( + self::TYPE_UTF8_STRING => 0, + self::TYPE_BMP_STRING => 2, + self::TYPE_UNIVERSAL_STRING => 4, + self::TYPE_PRINTABLE_STRING => 1, + self::TYPE_TELETEX_STRING => 1, + self::TYPE_IA5_STRING => 1, + self::TYPE_VISIBLE_STRING => 1, + ); + + /** + * Parse BER-encoding + * + * Serves a similar purpose to openssl's asn1parse + * + * @param string $encoded + * @return array + * @access public + */ + function decodeBER($encoded) + { + if ($encoded instanceof Element) { + $encoded = $encoded->element; + } + + $this->encoded = $encoded; + // encapsulate in an array for BC with the old decodeBER + return array($this->_decode_ber($encoded)); + } + + /** + * Parse BER-encoding (Helper function) + * + * Sometimes we want to get the BER encoding of a particular tag. $start lets us do that without having to reencode. + * $encoded is passed by reference for the recursive calls done for self::TYPE_BIT_STRING and + * self::TYPE_OCTET_STRING. In those cases, the indefinite length is used. + * + * @param string $encoded + * @param int $start + * @param int $encoded_pos + * @return array + * @access private + */ + function _decode_ber($encoded, $start = 0, $encoded_pos = 0) + { + $current = array('start' => $start); + + $type = ord($encoded[$encoded_pos++]); + $start++; + + $constructed = ($type >> 5) & 1; + + $tag = $type & 0x1F; + if ($tag == 0x1F) { + $tag = 0; + // process septets (since the eighth bit is ignored, it's not an octet) + do { + $loop = ord($encoded[0]) >> 7; + $tag <<= 7; + $tag |= ord($encoded[$encoded_pos++]) & 0x7F; + $start++; + } while ($loop); + } + + // Length, as discussed in paragraph 8.1.3 of X.690-0207.pdf#page=13 + $length = ord($encoded[$encoded_pos++]); + $start++; + if ($length == 0x80) { // indefinite length + // "[A sender shall] use the indefinite form (see 8.1.3.6) if the encoding is constructed and is not all + // immediately available." -- paragraph 8.1.3.2.c + $length = strlen($encoded) - $encoded_pos; + } elseif ($length & 0x80) { // definite length, long form + // technically, the long form of the length can be represented by up to 126 octets (bytes), but we'll only + // support it up to four. + $length&= 0x7F; + $temp = substr($encoded, $encoded_pos, $length); + $encoded_pos += $length; + // tags of indefinte length don't really have a header length; this length includes the tag + $current+= array('headerlength' => $length + 2); + $start+= $length; + extract(unpack('Nlength', substr(str_pad($temp, 4, chr(0), STR_PAD_LEFT), -4))); + } else { + $current+= array('headerlength' => 2); + } + + if ($length > (strlen($encoded) - $encoded_pos)) { + return false; + } + + $content = substr($encoded, $encoded_pos, $length); + $content_pos = 0; + + // at this point $length can be overwritten. it's only accurate for definite length things as is + + /* Class is UNIVERSAL, APPLICATION, PRIVATE, or CONTEXT-SPECIFIC. The UNIVERSAL class is restricted to the ASN.1 + built-in types. It defines an application-independent data type that must be distinguishable from all other + data types. The other three classes are user defined. The APPLICATION class distinguishes data types that + have a wide, scattered use within a particular presentation context. PRIVATE distinguishes data types within + a particular organization or country. CONTEXT-SPECIFIC distinguishes members of a sequence or set, the + alternatives of a CHOICE, or universally tagged set members. Only the class number appears in braces for this + data type; the term CONTEXT-SPECIFIC does not appear. + + -- http://www.obj-sys.com/asn1tutorial/node12.html */ + $class = ($type >> 6) & 3; + switch ($class) { + case self::CLASS_APPLICATION: + case self::CLASS_PRIVATE: + case self::CLASS_CONTEXT_SPECIFIC: + if (!$constructed) { + return array( + 'type' => $class, + 'constant' => $tag, + 'content' => $content, + 'length' => $length + $start - $current['start'] + ); + } + + $newcontent = array(); + $remainingLength = $length; + while ($remainingLength > 0) { + $temp = $this->_decode_ber($content, $start, $content_pos); + $length = $temp['length']; + // end-of-content octets - see paragraph 8.1.5 + if (substr($content, $content_pos + $length, 2) == "\0\0") { + $length+= 2; + $start+= $length; + $newcontent[] = $temp; + break; + } + $start+= $length; + $remainingLength-= $length; + $newcontent[] = $temp; + $content_pos += $length; + } + + return array( + 'type' => $class, + 'constant' => $tag, + // the array encapsulation is for BC with the old format + 'content' => $newcontent, + // the only time when $content['headerlength'] isn't defined is when the length is indefinite. + // the absence of $content['headerlength'] is how we know if something is indefinite or not. + // technically, it could be defined to be 2 and then another indicator could be used but whatever. + 'length' => $start - $current['start'] + ) + $current; + } + + $current+= array('type' => $tag); + + // decode UNIVERSAL tags + switch ($tag) { + case self::TYPE_BOOLEAN: + // "The contents octets shall consist of a single octet." -- paragraph 8.2.1 + //if (strlen($content) != 1) { + // return false; + //} + $current['content'] = (bool) ord($content[$content_pos]); + break; + case self::TYPE_INTEGER: + case self::TYPE_ENUMERATED: + $current['content'] = new BigInteger(substr($content, $content_pos), -256); + break; + case self::TYPE_REAL: // not currently supported + return false; + case self::TYPE_BIT_STRING: + // The initial octet shall encode, as an unsigned binary integer with bit 1 as the least significant bit, + // the number of unused bits in the final subsequent octet. The number shall be in the range zero to + // seven. + if (!$constructed) { + $current['content'] = substr($content, $content_pos); + } else { + $temp = $this->_decode_ber($content, $start, $content_pos); + $length-= (strlen($content) - $content_pos); + $last = count($temp) - 1; + for ($i = 0; $i < $last; $i++) { + // all subtags should be bit strings + //if ($temp[$i]['type'] != self::TYPE_BIT_STRING) { + // return false; + //} + $current['content'].= substr($temp[$i]['content'], 1); + } + // all subtags should be bit strings + //if ($temp[$last]['type'] != self::TYPE_BIT_STRING) { + // return false; + //} + $current['content'] = $temp[$last]['content'][0] . $current['content'] . substr($temp[$i]['content'], 1); + } + break; + case self::TYPE_OCTET_STRING: + if (!$constructed) { + $current['content'] = substr($content, $content_pos); + } else { + $current['content'] = ''; + $length = 0; + while (substr($content, $content_pos, 2) != "\0\0") { + $temp = $this->_decode_ber($content, $length + $start, $content_pos); + $content_pos += $temp['length']; + // all subtags should be octet strings + //if ($temp['type'] != self::TYPE_OCTET_STRING) { + // return false; + //} + $current['content'].= $temp['content']; + $length+= $temp['length']; + } + if (substr($content, $content_pos, 2) == "\0\0") { + $length+= 2; // +2 for the EOC + } + } + break; + case self::TYPE_NULL: + // "The contents octets shall not contain any octets." -- paragraph 8.8.2 + //if (strlen($content)) { + // return false; + //} + break; + case self::TYPE_SEQUENCE: + case self::TYPE_SET: + $offset = 0; + $current['content'] = array(); + $content_len = strlen($content); + while ($content_pos < $content_len) { + // if indefinite length construction was used and we have an end-of-content string next + // see paragraphs 8.1.1.3, 8.1.3.2, 8.1.3.6, 8.1.5, and (for an example) 8.6.4.2 + if (!isset($current['headerlength']) && substr($content, $content_pos, 2) == "\0\0") { + $length = $offset + 2; // +2 for the EOC + break 2; + } + $temp = $this->_decode_ber($content, $start + $offset, $content_pos); + $content_pos += $temp['length']; + $current['content'][] = $temp; + $offset+= $temp['length']; + } + break; + case self::TYPE_OBJECT_IDENTIFIER: + $temp = ord($content[$content_pos++]); + $current['content'] = sprintf('%d.%d', floor($temp / 40), $temp % 40); + $valuen = 0; + // process septets + $content_len = strlen($content); + while ($content_pos < $content_len) { + $temp = ord($content[$content_pos++]); + $valuen <<= 7; + $valuen |= $temp & 0x7F; + if (~$temp & 0x80) { + $current['content'].= ".$valuen"; + $valuen = 0; + } + } + // the eighth bit of the last byte should not be 1 + //if ($temp >> 7) { + // return false; + //} + break; + /* Each character string type shall be encoded as if it had been declared: + [UNIVERSAL x] IMPLICIT OCTET STRING + + -- X.690-0207.pdf#page=23 (paragraph 8.21.3) + + Per that, we're not going to do any validation. If there are any illegal characters in the string, + we don't really care */ + case self::TYPE_NUMERIC_STRING: + // 0,1,2,3,4,5,6,7,8,9, and space + case self::TYPE_PRINTABLE_STRING: + // Upper and lower case letters, digits, space, apostrophe, left/right parenthesis, plus sign, comma, + // hyphen, full stop, solidus, colon, equal sign, question mark + case self::TYPE_TELETEX_STRING: + // The Teletex character set in CCITT's T61, space, and delete + // see http://en.wikipedia.org/wiki/Teletex#Character_sets + case self::TYPE_VIDEOTEX_STRING: + // The Videotex character set in CCITT's T.100 and T.101, space, and delete + case self::TYPE_VISIBLE_STRING: + // Printing character sets of international ASCII, and space + case self::TYPE_IA5_STRING: + // International Alphabet 5 (International ASCII) + case self::TYPE_GRAPHIC_STRING: + // All registered G sets, and space + case self::TYPE_GENERAL_STRING: + // All registered C and G sets, space and delete + case self::TYPE_UTF8_STRING: + // ???? + case self::TYPE_BMP_STRING: + $current['content'] = substr($content, $content_pos); + break; + case self::TYPE_UTC_TIME: + case self::TYPE_GENERALIZED_TIME: + $current['content'] = $this->_decodeTime(substr($content, $content_pos), $tag); + default: + } + + $start+= $length; + + // ie. length is the length of the full TLV encoding - it's not just the length of the value + return $current + array('length' => $start - $current['start']); + } + + /** + * ASN.1 Map + * + * Provides an ASN.1 semantic mapping ($mapping) from a parsed BER-encoding to a human readable format. + * + * "Special" mappings may be applied on a per tag-name basis via $special. + * + * @param array $decoded + * @param array $mapping + * @param array $special + * @return array + * @access public + */ + function asn1map($decoded, $mapping, $special = array()) + { + if (isset($mapping['explicit']) && is_array($decoded['content'])) { + $decoded = $decoded['content'][0]; + } + + switch (true) { + case $mapping['type'] == self::TYPE_ANY: + $intype = $decoded['type']; + if (isset($decoded['constant']) || !isset($this->ANYmap[$intype]) || (ord($this->encoded[$decoded['start']]) & 0x20)) { + return new Element(substr($this->encoded, $decoded['start'], $decoded['length'])); + } + $inmap = $this->ANYmap[$intype]; + if (is_string($inmap)) { + return array($inmap => $this->asn1map($decoded, array('type' => $intype) + $mapping, $special)); + } + break; + case $mapping['type'] == self::TYPE_CHOICE: + foreach ($mapping['children'] as $key => $option) { + switch (true) { + case isset($option['constant']) && $option['constant'] == $decoded['constant']: + case !isset($option['constant']) && $option['type'] == $decoded['type']: + $value = $this->asn1map($decoded, $option, $special); + break; + case !isset($option['constant']) && $option['type'] == self::TYPE_CHOICE: + $v = $this->asn1map($decoded, $option, $special); + if (isset($v)) { + $value = $v; + } + } + if (isset($value)) { + if (isset($special[$key])) { + $value = call_user_func($special[$key], $value); + } + return array($key => $value); + } + } + return null; + case isset($mapping['implicit']): + case isset($mapping['explicit']): + case $decoded['type'] == $mapping['type']: + break; + default: + // if $decoded['type'] and $mapping['type'] are both strings, but different types of strings, + // let it through + switch (true) { + case $decoded['type'] < 18: // self::TYPE_NUMERIC_STRING == 18 + case $decoded['type'] > 30: // self::TYPE_BMP_STRING == 30 + case $mapping['type'] < 18: + case $mapping['type'] > 30: + return null; + } + } + + if (isset($mapping['implicit'])) { + $decoded['type'] = $mapping['type']; + } + + switch ($decoded['type']) { + case self::TYPE_SEQUENCE: + $map = array(); + + // ignore the min and max + if (isset($mapping['min']) && isset($mapping['max'])) { + $child = $mapping['children']; + foreach ($decoded['content'] as $content) { + if (($map[] = $this->asn1map($content, $child, $special)) === null) { + return null; + } + } + + return $map; + } + + $n = count($decoded['content']); + $i = 0; + + foreach ($mapping['children'] as $key => $child) { + $maymatch = $i < $n; // Match only existing input. + if ($maymatch) { + $temp = $decoded['content'][$i]; + + if ($child['type'] != self::TYPE_CHOICE) { + // Get the mapping and input class & constant. + $childClass = $tempClass = self::CLASS_UNIVERSAL; + $constant = null; + if (isset($temp['constant'])) { + $tempClass = isset($temp['class']) ? $temp['class'] : self::CLASS_CONTEXT_SPECIFIC; + } + if (isset($child['class'])) { + $childClass = $child['class']; + $constant = $child['cast']; + } elseif (isset($child['constant'])) { + $childClass = self::CLASS_CONTEXT_SPECIFIC; + $constant = $child['constant']; + } + + if (isset($constant) && isset($temp['constant'])) { + // Can only match if constants and class match. + $maymatch = $constant == $temp['constant'] && $childClass == $tempClass; + } else { + // Can only match if no constant expected and type matches or is generic. + $maymatch = !isset($child['constant']) && array_search($child['type'], array($temp['type'], self::TYPE_ANY, self::TYPE_CHOICE)) !== false; + } + } + } + + if ($maymatch) { + // Attempt submapping. + $candidate = $this->asn1map($temp, $child, $special); + $maymatch = $candidate !== null; + } + + if ($maymatch) { + // Got the match: use it. + if (isset($special[$key])) { + $candidate = call_user_func($special[$key], $candidate); + } + $map[$key] = $candidate; + $i++; + } elseif (isset($child['default'])) { + $map[$key] = $child['default']; // Use default. + } elseif (!isset($child['optional'])) { + return null; // Syntax error. + } + } + + // Fail mapping if all input items have not been consumed. + return $i < $n ? null: $map; + + // the main diff between sets and sequences is the encapsulation of the foreach in another for loop + case self::TYPE_SET: + $map = array(); + + // ignore the min and max + if (isset($mapping['min']) && isset($mapping['max'])) { + $child = $mapping['children']; + foreach ($decoded['content'] as $content) { + if (($map[] = $this->asn1map($content, $child, $special)) === null) { + return null; + } + } + + return $map; + } + + for ($i = 0; $i < count($decoded['content']); $i++) { + $temp = $decoded['content'][$i]; + $tempClass = self::CLASS_UNIVERSAL; + if (isset($temp['constant'])) { + $tempClass = isset($temp['class']) ? $temp['class'] : self::CLASS_CONTEXT_SPECIFIC; + } + + foreach ($mapping['children'] as $key => $child) { + if (isset($map[$key])) { + continue; + } + $maymatch = true; + if ($child['type'] != self::TYPE_CHOICE) { + $childClass = self::CLASS_UNIVERSAL; + $constant = null; + if (isset($child['class'])) { + $childClass = $child['class']; + $constant = $child['cast']; + } elseif (isset($child['constant'])) { + $childClass = self::CLASS_CONTEXT_SPECIFIC; + $constant = $child['constant']; + } + + if (isset($constant) && isset($temp['constant'])) { + // Can only match if constants and class match. + $maymatch = $constant == $temp['constant'] && $childClass == $tempClass; + } else { + // Can only match if no constant expected and type matches or is generic. + $maymatch = !isset($child['constant']) && array_search($child['type'], array($temp['type'], self::TYPE_ANY, self::TYPE_CHOICE)) !== false; + } + } + + if ($maymatch) { + // Attempt submapping. + $candidate = $this->asn1map($temp, $child, $special); + $maymatch = $candidate !== null; + } + + if (!$maymatch) { + break; + } + + // Got the match: use it. + if (isset($special[$key])) { + $candidate = call_user_func($special[$key], $candidate); + } + $map[$key] = $candidate; + break; + } + } + + foreach ($mapping['children'] as $key => $child) { + if (!isset($map[$key])) { + if (isset($child['default'])) { + $map[$key] = $child['default']; + } elseif (!isset($child['optional'])) { + return null; + } + } + } + return $map; + case self::TYPE_OBJECT_IDENTIFIER: + return isset($this->oids[$decoded['content']]) ? $this->oids[$decoded['content']] : $decoded['content']; + case self::TYPE_UTC_TIME: + case self::TYPE_GENERALIZED_TIME: + if (isset($mapping['implicit'])) { + $decoded['content'] = $this->_decodeTime($decoded['content'], $decoded['type']); + } + return @date($this->format, $decoded['content']); + case self::TYPE_BIT_STRING: + if (isset($mapping['mapping'])) { + $offset = ord($decoded['content'][0]); + $size = (strlen($decoded['content']) - 1) * 8 - $offset; + /* + From X.680-0207.pdf#page=46 (21.7): + + "When a "NamedBitList" is used in defining a bitstring type ASN.1 encoding rules are free to add (or remove) + arbitrarily any trailing 0 bits to (or from) values that are being encoded or decoded. Application designers should + therefore ensure that different semantics are not associated with such values which differ only in the number of trailing + 0 bits." + */ + $bits = count($mapping['mapping']) == $size ? array() : array_fill(0, count($mapping['mapping']) - $size, false); + for ($i = strlen($decoded['content']) - 1; $i > 0; $i--) { + $current = ord($decoded['content'][$i]); + for ($j = $offset; $j < 8; $j++) { + $bits[] = (bool) ($current & (1 << $j)); + } + $offset = 0; + } + $values = array(); + $map = array_reverse($mapping['mapping']); + foreach ($map as $i => $value) { + if ($bits[$i]) { + $values[] = $value; + } + } + return $values; + } + case self::TYPE_OCTET_STRING: + return base64_encode($decoded['content']); + case self::TYPE_NULL: + return ''; + case self::TYPE_BOOLEAN: + return $decoded['content']; + case self::TYPE_NUMERIC_STRING: + case self::TYPE_PRINTABLE_STRING: + case self::TYPE_TELETEX_STRING: + case self::TYPE_VIDEOTEX_STRING: + case self::TYPE_IA5_STRING: + case self::TYPE_GRAPHIC_STRING: + case self::TYPE_VISIBLE_STRING: + case self::TYPE_GENERAL_STRING: + case self::TYPE_UNIVERSAL_STRING: + case self::TYPE_UTF8_STRING: + case self::TYPE_BMP_STRING: + return $decoded['content']; + case self::TYPE_INTEGER: + case self::TYPE_ENUMERATED: + $temp = $decoded['content']; + if (isset($mapping['implicit'])) { + $temp = new BigInteger($decoded['content'], -256); + } + if (isset($mapping['mapping'])) { + $temp = (int) $temp->toString(); + return isset($mapping['mapping'][$temp]) ? + $mapping['mapping'][$temp] : + false; + } + return $temp; + } + } + + /** + * ASN.1 Encode + * + * DER-encodes an ASN.1 semantic mapping ($mapping). Some libraries would probably call this function + * an ASN.1 compiler. + * + * "Special" mappings can be applied via $special. + * + * @param string $source + * @param string $mapping + * @param int $idx + * @return string + * @access public + */ + function encodeDER($source, $mapping, $special = array()) + { + $this->location = array(); + return $this->_encode_der($source, $mapping, null, $special); + } + + /** + * ASN.1 Encode (Helper function) + * + * @param string $source + * @param string $mapping + * @param int $idx + * @return string + * @access private + */ + function _encode_der($source, $mapping, $idx = null, $special = array()) + { + if ($source instanceof Element) { + return $source->element; + } + + // do not encode (implicitly optional) fields with value set to default + if (isset($mapping['default']) && $source === $mapping['default']) { + return ''; + } + + if (isset($idx)) { + if (isset($special[$idx])) { + $source = call_user_func($special[$idx], $source); + } + $this->location[] = $idx; + } + + $tag = $mapping['type']; + + switch ($tag) { + case self::TYPE_SET: // Children order is not important, thus process in sequence. + case self::TYPE_SEQUENCE: + $tag|= 0x20; // set the constructed bit + + // ignore the min and max + if (isset($mapping['min']) && isset($mapping['max'])) { + $value = array(); + $child = $mapping['children']; + + foreach ($source as $content) { + $temp = $this->_encode_der($content, $child, null, $special); + if ($temp === false) { + return false; + } + $value[]= $temp; + } + /* "The encodings of the component values of a set-of value shall appear in ascending order, the encodings being compared + as octet strings with the shorter components being padded at their trailing end with 0-octets. + NOTE - The padding octets are for comparison purposes only and do not appear in the encodings." + + -- sec 11.6 of http://www.itu.int/ITU-T/studygroups/com17/languages/X.690-0207.pdf */ + if ($mapping['type'] == self::TYPE_SET) { + sort($value); + } + $value = implode($value, ''); + break; + } + + $value = ''; + foreach ($mapping['children'] as $key => $child) { + if (!array_key_exists($key, $source)) { + if (!isset($child['optional'])) { + return false; + } + continue; + } + + $temp = $this->_encode_der($source[$key], $child, $key, $special); + if ($temp === false) { + return false; + } + + // An empty child encoding means it has been optimized out. + // Else we should have at least one tag byte. + if ($temp === '') { + continue; + } + + // if isset($child['constant']) is true then isset($child['optional']) should be true as well + if (isset($child['constant'])) { + /* + From X.680-0207.pdf#page=58 (30.6): + + "The tagging construction specifies explicit tagging if any of the following holds: + ... + c) the "Tag Type" alternative is used and the value of "TagDefault" for the module is IMPLICIT TAGS or + AUTOMATIC TAGS, but the type defined by "Type" is an untagged choice type, an untagged open type, or + an untagged "DummyReference" (see ITU-T Rec. X.683 | ISO/IEC 8824-4, 8.3)." + */ + if (isset($child['explicit']) || $child['type'] == self::TYPE_CHOICE) { + $subtag = chr((self::CLASS_CONTEXT_SPECIFIC << 6) | 0x20 | $child['constant']); + $temp = $subtag . $this->_encodeLength(strlen($temp)) . $temp; + } else { + $subtag = chr((self::CLASS_CONTEXT_SPECIFIC << 6) | (ord($temp[0]) & 0x20) | $child['constant']); + $temp = $subtag . substr($temp, 1); + } + } + $value.= $temp; + } + break; + case self::TYPE_CHOICE: + $temp = false; + + foreach ($mapping['children'] as $key => $child) { + if (!isset($source[$key])) { + continue; + } + + $temp = $this->_encode_der($source[$key], $child, $key, $special); + if ($temp === false) { + return false; + } + + // An empty child encoding means it has been optimized out. + // Else we should have at least one tag byte. + if ($temp === '') { + continue; + } + + $tag = ord($temp[0]); + + // if isset($child['constant']) is true then isset($child['optional']) should be true as well + if (isset($child['constant'])) { + if (isset($child['explicit']) || $child['type'] == self::TYPE_CHOICE) { + $subtag = chr((self::CLASS_CONTEXT_SPECIFIC << 6) | 0x20 | $child['constant']); + $temp = $subtag . $this->_encodeLength(strlen($temp)) . $temp; + } else { + $subtag = chr((self::CLASS_CONTEXT_SPECIFIC << 6) | (ord($temp[0]) & 0x20) | $child['constant']); + $temp = $subtag . substr($temp, 1); + } + } + } + + if (isset($idx)) { + array_pop($this->location); + } + + if ($temp && isset($mapping['cast'])) { + $temp[0] = chr(($mapping['class'] << 6) | ($tag & 0x20) | $mapping['cast']); + } + + return $temp; + case self::TYPE_INTEGER: + case self::TYPE_ENUMERATED: + if (!isset($mapping['mapping'])) { + if (is_numeric($source)) { + $source = new BigInteger($source); + } + $value = $source->toBytes(true); + } else { + $value = array_search($source, $mapping['mapping']); + if ($value === false) { + return false; + } + $value = new BigInteger($value); + $value = $value->toBytes(true); + } + if (!strlen($value)) { + $value = chr(0); + } + break; + case self::TYPE_UTC_TIME: + case self::TYPE_GENERALIZED_TIME: + $format = $mapping['type'] == self::TYPE_UTC_TIME ? 'y' : 'Y'; + $format.= 'mdHis'; + $value = @gmdate($format, strtotime($source)) . 'Z'; + break; + case self::TYPE_BIT_STRING: + if (isset($mapping['mapping'])) { + $bits = array_fill(0, count($mapping['mapping']), 0); + $size = 0; + for ($i = 0; $i < count($mapping['mapping']); $i++) { + if (in_array($mapping['mapping'][$i], $source)) { + $bits[$i] = 1; + $size = $i; + } + } + + if (isset($mapping['min']) && $mapping['min'] >= 1 && $size < $mapping['min']) { + $size = $mapping['min'] - 1; + } + + $offset = 8 - (($size + 1) & 7); + $offset = $offset !== 8 ? $offset : 0; + + $value = chr($offset); + + for ($i = $size + 1; $i < count($mapping['mapping']); $i++) { + unset($bits[$i]); + } + + $bits = implode('', array_pad($bits, $size + $offset + 1, 0)); + $bytes = explode(' ', rtrim(chunk_split($bits, 8, ' '))); + foreach ($bytes as $byte) { + $value.= chr(bindec($byte)); + } + + break; + } + case self::TYPE_OCTET_STRING: + /* The initial octet shall encode, as an unsigned binary integer with bit 1 as the least significant bit, + the number of unused bits in the final subsequent octet. The number shall be in the range zero to seven. + + -- http://www.itu.int/ITU-T/studygroups/com17/languages/X.690-0207.pdf#page=16 */ + $value = base64_decode($source); + break; + case self::TYPE_OBJECT_IDENTIFIER: + $oid = preg_match('#(?:\d+\.)+#', $source) ? $source : array_search($source, $this->oids); + if ($oid === false) { + user_error('Invalid OID'); + return false; + } + $value = ''; + $parts = explode('.', $oid); + $value = chr(40 * $parts[0] + $parts[1]); + for ($i = 2; $i < count($parts); $i++) { + $temp = ''; + if (!$parts[$i]) { + $temp = "\0"; + } else { + while ($parts[$i]) { + $temp = chr(0x80 | ($parts[$i] & 0x7F)) . $temp; + $parts[$i] >>= 7; + } + $temp[strlen($temp) - 1] = $temp[strlen($temp) - 1] & chr(0x7F); + } + $value.= $temp; + } + break; + case self::TYPE_ANY: + $loc = $this->location; + if (isset($idx)) { + array_pop($this->location); + } + + switch (true) { + case !isset($source): + return $this->_encode_der(null, array('type' => self::TYPE_NULL) + $mapping, null, $special); + case is_int($source): + case $source instanceof BigInteger: + return $this->_encode_der($source, array('type' => self::TYPE_INTEGER) + $mapping, null, $special); + case is_float($source): + return $this->_encode_der($source, array('type' => self::TYPE_REAL) + $mapping, null, $special); + case is_bool($source): + return $this->_encode_der($source, array('type' => self::TYPE_BOOLEAN) + $mapping, null, $special); + case is_array($source) && count($source) == 1: + $typename = implode('', array_keys($source)); + $outtype = array_search($typename, $this->ANYmap, true); + if ($outtype !== false) { + return $this->_encode_der($source[$typename], array('type' => $outtype) + $mapping, null, $special); + } + } + + $filters = $this->filters; + foreach ($loc as $part) { + if (!isset($filters[$part])) { + $filters = false; + break; + } + $filters = $filters[$part]; + } + if ($filters === false) { + user_error('No filters defined for ' . implode('/', $loc)); + return false; + } + return $this->_encode_der($source, $filters + $mapping, null, $special); + case self::TYPE_NULL: + $value = ''; + break; + case self::TYPE_NUMERIC_STRING: + case self::TYPE_TELETEX_STRING: + case self::TYPE_PRINTABLE_STRING: + case self::TYPE_UNIVERSAL_STRING: + case self::TYPE_UTF8_STRING: + case self::TYPE_BMP_STRING: + case self::TYPE_IA5_STRING: + case self::TYPE_VISIBLE_STRING: + case self::TYPE_VIDEOTEX_STRING: + case self::TYPE_GRAPHIC_STRING: + case self::TYPE_GENERAL_STRING: + $value = $source; + break; + case self::TYPE_BOOLEAN: + $value = $source ? "\xFF" : "\x00"; + break; + default: + user_error('Mapping provides no type definition for ' . implode('/', $this->location)); + return false; + } + + if (isset($idx)) { + array_pop($this->location); + } + + if (isset($mapping['cast'])) { + if (isset($mapping['explicit']) || $mapping['type'] == self::TYPE_CHOICE) { + $value = chr($tag) . $this->_encodeLength(strlen($value)) . $value; + $tag = ($mapping['class'] << 6) | 0x20 | $mapping['cast']; + } else { + $tag = ($mapping['class'] << 6) | (ord($temp[0]) & 0x20) | $mapping['cast']; + } + } + + return chr($tag) . $this->_encodeLength(strlen($value)) . $value; + } + + /** + * DER-encode the length + * + * DER supports lengths up to (2**8)**127, however, we'll only support lengths up to (2**8)**4. See + * {@link http://itu.int/ITU-T/studygroups/com17/languages/X.690-0207.pdf#p=13 X.690 paragraph 8.1.3} for more information. + * + * @access private + * @param int $length + * @return string + */ + function _encodeLength($length) + { + if ($length <= 0x7F) { + return chr($length); + } + + $temp = ltrim(pack('N', $length), chr(0)); + return pack('Ca*', 0x80 | strlen($temp), $temp); + } + + /** + * BER-decode the time + * + * Called by _decode_ber() and in the case of implicit tags asn1map(). + * + * @access private + * @param string $content + * @param int $tag + * @return string + */ + function _decodeTime($content, $tag) + { + /* UTCTime: + http://tools.ietf.org/html/rfc5280#section-4.1.2.5.1 + http://www.obj-sys.com/asn1tutorial/node15.html + + GeneralizedTime: + http://tools.ietf.org/html/rfc5280#section-4.1.2.5.2 + http://www.obj-sys.com/asn1tutorial/node14.html */ + + $pattern = $tag == self::TYPE_UTC_TIME ? + '#(..)(..)(..)(..)(..)(..)(.*)#' : + '#(....)(..)(..)(..)(..)(..).*([Z+-].*)$#'; + + preg_match($pattern, $content, $matches); + + list(, $year, $month, $day, $hour, $minute, $second, $timezone) = $matches; + + if ($tag == self::TYPE_UTC_TIME) { + $year = $year >= 50 ? "19$year" : "20$year"; + } + + if ($timezone == 'Z') { + $mktime = 'gmmktime'; + $timezone = 0; + } elseif (preg_match('#([+-])(\d\d)(\d\d)#', $timezone, $matches)) { + $mktime = 'gmmktime'; + $timezone = 60 * $matches[3] + 3600 * $matches[2]; + if ($matches[1] == '-') { + $timezone = -$timezone; + } + } else { + $mktime = 'mktime'; + $timezone = 0; + } + + return @$mktime($hour, $minute, $second, $month, $day, $year) + $timezone; + } + + /** + * Set the time format + * + * Sets the time / date format for asn1map(). + * + * @access public + * @param string $format + */ + function setTimeFormat($format) + { + $this->format = $format; + } + + /** + * Load OIDs + * + * Load the relevant OIDs for a particular ASN.1 semantic mapping. + * + * @access public + * @param array $oids + */ + function loadOIDs($oids) + { + $this->oids = $oids; + } + + /** + * Load filters + * + * See \phpseclib\File\X509, etc, for an example. + * + * @access public + * @param array $filters + */ + function loadFilters($filters) + { + $this->filters = $filters; + } + + /** + * String Shift + * + * Inspired by array_shift + * + * @param string $string + * @param int $index + * @return string + * @access private + */ + function _string_shift(&$string, $index = 1) + { + $substr = substr($string, 0, $index); + $string = substr($string, $index); + return $substr; + } + + /** + * String type conversion + * + * This is a lazy conversion, dealing only with character size. + * No real conversion table is used. + * + * @param string $in + * @param int $from + * @param int $to + * @return string + * @access public + */ + function convert($in, $from = self::TYPE_UTF8_STRING, $to = self::TYPE_UTF8_STRING) + { + if (!isset($this->stringTypeSize[$from]) || !isset($this->stringTypeSize[$to])) { + return false; + } + $insize = $this->stringTypeSize[$from]; + $outsize = $this->stringTypeSize[$to]; + $inlength = strlen($in); + $out = ''; + + for ($i = 0; $i < $inlength;) { + if ($inlength - $i < $insize) { + return false; + } + + // Get an input character as a 32-bit value. + $c = ord($in[$i++]); + switch (true) { + case $insize == 4: + $c = ($c << 8) | ord($in[$i++]); + $c = ($c << 8) | ord($in[$i++]); + case $insize == 2: + $c = ($c << 8) | ord($in[$i++]); + case $insize == 1: + break; + case ($c & 0x80) == 0x00: + break; + case ($c & 0x40) == 0x00: + return false; + default: + $bit = 6; + do { + if ($bit > 25 || $i >= $inlength || (ord($in[$i]) & 0xC0) != 0x80) { + return false; + } + $c = ($c << 6) | (ord($in[$i++]) & 0x3F); + $bit += 5; + $mask = 1 << $bit; + } while ($c & $bit); + $c &= $mask - 1; + break; + } + + // Convert and append the character to output string. + $v = ''; + switch (true) { + case $outsize == 4: + $v .= chr($c & 0xFF); + $c >>= 8; + $v .= chr($c & 0xFF); + $c >>= 8; + case $outsize == 2: + $v .= chr($c & 0xFF); + $c >>= 8; + case $outsize == 1: + $v .= chr($c & 0xFF); + $c >>= 8; + if ($c) { + return false; + } + break; + case ($c & 0x80000000) != 0: + return false; + case $c >= 0x04000000: + $v .= chr(0x80 | ($c & 0x3F)); + $c = ($c >> 6) | 0x04000000; + case $c >= 0x00200000: + $v .= chr(0x80 | ($c & 0x3F)); + $c = ($c >> 6) | 0x00200000; + case $c >= 0x00010000: + $v .= chr(0x80 | ($c & 0x3F)); + $c = ($c >> 6) | 0x00010000; + case $c >= 0x00000800: + $v .= chr(0x80 | ($c & 0x3F)); + $c = ($c >> 6) | 0x00000800; + case $c >= 0x00000080: + $v .= chr(0x80 | ($c & 0x3F)); + $c = ($c >> 6) | 0x000000C0; + default: + $v .= chr($c); + break; + } + $out .= strrev($v); + } + return $out; + } +} diff --git a/vendor/phpseclib/phpseclib/phpseclib/File/ASN1/Element.php b/vendor/phpseclib/phpseclib/phpseclib/File/ASN1/Element.php new file mode 100644 index 00000000..68246e2b --- /dev/null +++ b/vendor/phpseclib/phpseclib/phpseclib/File/ASN1/Element.php @@ -0,0 +1,47 @@ +<?php +/** + * Pure-PHP ASN.1 Parser + * + * PHP version 5 + * + * @category File + * @package ASN1 + * @author Jim Wigginton <terrafrost@php.net> + * @copyright 2012 Jim Wigginton + * @license http://www.opensource.org/licenses/mit-license.html MIT License + * @link http://phpseclib.sourceforge.net + */ + +namespace phpseclib\File\ASN1; + +/** + * ASN.1 Element + * + * Bypass normal encoding rules in phpseclib\File\ASN1::encodeDER() + * + * @package ASN1 + * @author Jim Wigginton <terrafrost@php.net> + * @access public + */ +class Element +{ + /** + * Raw element value + * + * @var string + * @access private + */ + var $element; + + /** + * Constructor + * + * @param string $encoded + * @return \phpseclib\File\ASN1\Element + * @access public + */ + function __construct($encoded) + { + $this->element = $encoded; + } +} diff --git a/vendor/phpseclib/phpseclib/phpseclib/File/X509.php b/vendor/phpseclib/phpseclib/phpseclib/File/X509.php new file mode 100644 index 00000000..863d9e99 --- /dev/null +++ b/vendor/phpseclib/phpseclib/phpseclib/File/X509.php @@ -0,0 +1,4820 @@ +<?php + +/** + * Pure-PHP X.509 Parser + * + * PHP version 5 + * + * Encode and decode X.509 certificates. + * + * The extensions are from {@link http://tools.ietf.org/html/rfc5280 RFC5280} and + * {@link http://web.archive.org/web/19961027104704/http://www3.netscape.com/eng/security/cert-exts.html Netscape Certificate Extensions}. + * + * Note that loading an X.509 certificate and resaving it may invalidate the signature. The reason being that the signature is based on a + * portion of the certificate that contains optional parameters with default values. ie. if the parameter isn't there the default value is + * used. Problem is, if the parameter is there and it just so happens to have the default value there are two ways that that parameter can + * be encoded. It can be encoded explicitly or left out all together. This would effect the signature value and thus may invalidate the + * the certificate all together unless the certificate is re-signed. + * + * @category File + * @package X509 + * @author Jim Wigginton <terrafrost@php.net> + * @copyright 2012 Jim Wigginton + * @license http://www.opensource.org/licenses/mit-license.html MIT License + * @link http://phpseclib.sourceforge.net + */ + +namespace phpseclib\File; + +use phpseclib\Crypt\Hash; +use phpseclib\Crypt\Random; +use phpseclib\Crypt\RSA; +use phpseclib\File\ASN1\Element; +use phpseclib\Math\BigInteger; + +/** + * Pure-PHP X.509 Parser + * + * @package X509 + * @author Jim Wigginton <terrafrost@php.net> + * @access public + */ +class X509 +{ + /** + * Flag to only accept signatures signed by certificate authorities + * + * Not really used anymore but retained all the same to suppress E_NOTICEs from old installs + * + * @access public + */ + const VALIDATE_SIGNATURE_BY_CA = 1; + + /**#@+ + * @access public + * @see \phpseclib\File\X509::getDN() + */ + /** + * Return internal array representation + */ + const DN_ARRAY = 0; + /** + * Return string + */ + const DN_STRING = 1; + /** + * Return ASN.1 name string + */ + const DN_ASN1 = 2; + /** + * Return OpenSSL compatible array + */ + const DN_OPENSSL = 3; + /** + * Return canonical ASN.1 RDNs string + */ + const DN_CANON = 4; + /** + * Return name hash for file indexing + */ + const DN_HASH = 5; + /**#@-*/ + + /**#@+ + * @access public + * @see \phpseclib\File\X509::saveX509() + * @see \phpseclib\File\X509::saveCSR() + * @see \phpseclib\File\X509::saveCRL() + */ + /** + * Save as PEM + * + * ie. a base64-encoded PEM with a header and a footer + */ + const FORMAT_PEM = 0; + /** + * Save as DER + */ + const FORMAT_DER = 1; + /** + * Save as a SPKAC + * + * Only works on CSRs. Not currently supported. + */ + const FORMAT_SPKAC = 2; + /** + * Auto-detect the format + * + * Used only by the load*() functions + */ + const FORMAT_AUTO_DETECT = 3; + /**#@-*/ + + /** + * Attribute value disposition. + * If disposition is >= 0, this is the index of the target value. + */ + const ATTR_ALL = -1; // All attribute values (array). + const ATTR_APPEND = -2; // Add a value. + const ATTR_REPLACE = -3; // Clear first, then add a value. + + /** + * ASN.1 syntax for X.509 certificates + * + * @var array + * @access private + */ + var $Certificate; + + /**#@+ + * ASN.1 syntax for various extensions + * + * @access private + */ + var $DirectoryString; + var $PKCS9String; + var $AttributeValue; + var $Extensions; + var $KeyUsage; + var $ExtKeyUsageSyntax; + var $BasicConstraints; + var $KeyIdentifier; + var $CRLDistributionPoints; + var $AuthorityKeyIdentifier; + var $CertificatePolicies; + var $AuthorityInfoAccessSyntax; + var $SubjectAltName; + var $SubjectDirectoryAttributes; + var $PrivateKeyUsagePeriod; + var $IssuerAltName; + var $PolicyMappings; + var $NameConstraints; + + var $CPSuri; + var $UserNotice; + + var $netscape_cert_type; + var $netscape_comment; + var $netscape_ca_policy_url; + + var $Name; + var $RelativeDistinguishedName; + var $CRLNumber; + var $CRLReason; + var $IssuingDistributionPoint; + var $InvalidityDate; + var $CertificateIssuer; + var $HoldInstructionCode; + var $SignedPublicKeyAndChallenge; + /**#@-*/ + + /**#@+ + * ASN.1 syntax for various DN attributes + * + * @access private + */ + var $PostalAddress; + /**#@-*/ + + /** + * ASN.1 syntax for Certificate Signing Requests (RFC2986) + * + * @var array + * @access private + */ + var $CertificationRequest; + + /** + * ASN.1 syntax for Certificate Revocation Lists (RFC5280) + * + * @var array + * @access private + */ + var $CertificateList; + + /** + * Distinguished Name + * + * @var array + * @access private + */ + var $dn; + + /** + * Public key + * + * @var string + * @access private + */ + var $publicKey; + + /** + * Private key + * + * @var string + * @access private + */ + var $privateKey; + + /** + * Object identifiers for X.509 certificates + * + * @var array + * @access private + * @link http://en.wikipedia.org/wiki/Object_identifier + */ + var $oids; + + /** + * The certificate authorities + * + * @var array + * @access private + */ + var $CAs; + + /** + * The currently loaded certificate + * + * @var array + * @access private + */ + var $currentCert; + + /** + * The signature subject + * + * There's no guarantee \phpseclib\File\X509 is going to re-encode an X.509 cert in the same way it was originally + * encoded so we take save the portion of the original cert that the signature would have made for. + * + * @var string + * @access private + */ + var $signatureSubject; + + /** + * Certificate Start Date + * + * @var string + * @access private + */ + var $startDate; + + /** + * Certificate End Date + * + * @var string + * @access private + */ + var $endDate; + + /** + * Serial Number + * + * @var string + * @access private + */ + var $serialNumber; + + /** + * Key Identifier + * + * See {@link http://tools.ietf.org/html/rfc5280#section-4.2.1.1 RFC5280#section-4.2.1.1} and + * {@link http://tools.ietf.org/html/rfc5280#section-4.2.1.2 RFC5280#section-4.2.1.2}. + * + * @var string + * @access private + */ + var $currentKeyIdentifier; + + /** + * CA Flag + * + * @var bool + * @access private + */ + var $caFlag = false; + + /** + * SPKAC Challenge + * + * @var string + * @access private + */ + var $challenge; + + /** + * Default Constructor. + * + * @return \phpseclib\File\X509 + * @access public + */ + function __construct() + { + // Explicitly Tagged Module, 1988 Syntax + // http://tools.ietf.org/html/rfc5280#appendix-A.1 + + $this->DirectoryString = array( + 'type' => ASN1::TYPE_CHOICE, + 'children' => array( + 'teletexString' => array('type' => ASN1::TYPE_TELETEX_STRING), + 'printableString' => array('type' => ASN1::TYPE_PRINTABLE_STRING), + 'universalString' => array('type' => ASN1::TYPE_UNIVERSAL_STRING), + 'utf8String' => array('type' => ASN1::TYPE_UTF8_STRING), + 'bmpString' => array('type' => ASN1::TYPE_BMP_STRING) + ) + ); + + $this->PKCS9String = array( + 'type' => ASN1::TYPE_CHOICE, + 'children' => array( + 'ia5String' => array('type' => ASN1::TYPE_IA5_STRING), + 'directoryString' => $this->DirectoryString + ) + ); + + $this->AttributeValue = array('type' => ASN1::TYPE_ANY); + + $AttributeType = array('type' => ASN1::TYPE_OBJECT_IDENTIFIER); + + $AttributeTypeAndValue = array( + 'type' => ASN1::TYPE_SEQUENCE, + 'children' => array( + 'type' => $AttributeType, + 'value'=> $this->AttributeValue + ) + ); + + /* + In practice, RDNs containing multiple name-value pairs (called "multivalued RDNs") are rare, + but they can be useful at times when either there is no unique attribute in the entry or you + want to ensure that the entry's DN contains some useful identifying information. + + - https://www.opends.org/wiki/page/DefinitionRelativeDistinguishedName + */ + $this->RelativeDistinguishedName = array( + 'type' => ASN1::TYPE_SET, + 'min' => 1, + 'max' => -1, + 'children' => $AttributeTypeAndValue + ); + + // http://tools.ietf.org/html/rfc5280#section-4.1.2.4 + $RDNSequence = array( + 'type' => ASN1::TYPE_SEQUENCE, + // RDNSequence does not define a min or a max, which means it doesn't have one + 'min' => 0, + 'max' => -1, + 'children' => $this->RelativeDistinguishedName + ); + + $this->Name = array( + 'type' => ASN1::TYPE_CHOICE, + 'children' => array( + 'rdnSequence' => $RDNSequence + ) + ); + + // http://tools.ietf.org/html/rfc5280#section-4.1.1.2 + $AlgorithmIdentifier = array( + 'type' => ASN1::TYPE_SEQUENCE, + 'children' => array( + 'algorithm' => array('type' => ASN1::TYPE_OBJECT_IDENTIFIER), + 'parameters' => array( + 'type' => ASN1::TYPE_ANY, + 'optional' => true + ) + ) + ); + + /* + A certificate using system MUST reject the certificate if it encounters + a critical extension it does not recognize; however, a non-critical + extension may be ignored if it is not recognized. + + http://tools.ietf.org/html/rfc5280#section-4.2 + */ + $Extension = array( + 'type' => ASN1::TYPE_SEQUENCE, + 'children' => array( + 'extnId' => array('type' => ASN1::TYPE_OBJECT_IDENTIFIER), + 'critical' => array( + 'type' => ASN1::TYPE_BOOLEAN, + 'optional' => true, + 'default' => false + ), + 'extnValue' => array('type' => ASN1::TYPE_OCTET_STRING) + ) + ); + + $this->Extensions = array( + 'type' => ASN1::TYPE_SEQUENCE, + 'min' => 1, + // technically, it's MAX, but we'll assume anything < 0 is MAX + 'max' => -1, + // if 'children' isn't an array then 'min' and 'max' must be defined + 'children' => $Extension + ); + + $SubjectPublicKeyInfo = array( + 'type' => ASN1::TYPE_SEQUENCE, + 'children' => array( + 'algorithm' => $AlgorithmIdentifier, + 'subjectPublicKey' => array('type' => ASN1::TYPE_BIT_STRING) + ) + ); + + $UniqueIdentifier = array('type' => ASN1::TYPE_BIT_STRING); + + $Time = array( + 'type' => ASN1::TYPE_CHOICE, + 'children' => array( + 'utcTime' => array('type' => ASN1::TYPE_UTC_TIME), + 'generalTime' => array('type' => ASN1::TYPE_GENERALIZED_TIME) + ) + ); + + // http://tools.ietf.org/html/rfc5280#section-4.1.2.5 + $Validity = array( + 'type' => ASN1::TYPE_SEQUENCE, + 'children' => array( + 'notBefore' => $Time, + 'notAfter' => $Time + ) + ); + + $CertificateSerialNumber = array('type' => ASN1::TYPE_INTEGER); + + $Version = array( + 'type' => ASN1::TYPE_INTEGER, + 'mapping' => array('v1', 'v2', 'v3') + ); + + // assert($TBSCertificate['children']['signature'] == $Certificate['children']['signatureAlgorithm']) + $TBSCertificate = array( + 'type' => ASN1::TYPE_SEQUENCE, + 'children' => array( + // technically, default implies optional, but we'll define it as being optional, none-the-less, just to + // reenforce that fact + 'version' => array( + 'constant' => 0, + 'optional' => true, + 'explicit' => true, + 'default' => 'v1' + ) + $Version, + 'serialNumber' => $CertificateSerialNumber, + 'signature' => $AlgorithmIdentifier, + 'issuer' => $this->Name, + 'validity' => $Validity, + 'subject' => $this->Name, + 'subjectPublicKeyInfo' => $SubjectPublicKeyInfo, + // implicit means that the T in the TLV structure is to be rewritten, regardless of the type + 'issuerUniqueID' => array( + 'constant' => 1, + 'optional' => true, + 'implicit' => true + ) + $UniqueIdentifier, + 'subjectUniqueID' => array( + 'constant' => 2, + 'optional' => true, + 'implicit' => true + ) + $UniqueIdentifier, + // <http://tools.ietf.org/html/rfc2459#page-74> doesn't use the EXPLICIT keyword but if + // it's not IMPLICIT, it's EXPLICIT + 'extensions' => array( + 'constant' => 3, + 'optional' => true, + 'explicit' => true + ) + $this->Extensions + ) + ); + + $this->Certificate = array( + 'type' => ASN1::TYPE_SEQUENCE, + 'children' => array( + 'tbsCertificate' => $TBSCertificate, + 'signatureAlgorithm' => $AlgorithmIdentifier, + 'signature' => array('type' => ASN1::TYPE_BIT_STRING) + ) + ); + + $this->KeyUsage = array( + 'type' => ASN1::TYPE_BIT_STRING, + 'mapping' => array( + 'digitalSignature', + 'nonRepudiation', + 'keyEncipherment', + 'dataEncipherment', + 'keyAgreement', + 'keyCertSign', + 'cRLSign', + 'encipherOnly', + 'decipherOnly' + ) + ); + + $this->BasicConstraints = array( + 'type' => ASN1::TYPE_SEQUENCE, + 'children' => array( + 'cA' => array( + 'type' => ASN1::TYPE_BOOLEAN, + 'optional' => true, + 'default' => false + ), + 'pathLenConstraint' => array( + 'type' => ASN1::TYPE_INTEGER, + 'optional' => true + ) + ) + ); + + $this->KeyIdentifier = array('type' => ASN1::TYPE_OCTET_STRING); + + $OrganizationalUnitNames = array( + 'type' => ASN1::TYPE_SEQUENCE, + 'min' => 1, + 'max' => 4, // ub-organizational-units + 'children' => array('type' => ASN1::TYPE_PRINTABLE_STRING) + ); + + $PersonalName = array( + 'type' => ASN1::TYPE_SET, + 'children' => array( + 'surname' => array( + 'type' => ASN1::TYPE_PRINTABLE_STRING, + 'constant' => 0, + 'optional' => true, + 'implicit' => true + ), + 'given-name' => array( + 'type' => ASN1::TYPE_PRINTABLE_STRING, + 'constant' => 1, + 'optional' => true, + 'implicit' => true + ), + 'initials' => array( + 'type' => ASN1::TYPE_PRINTABLE_STRING, + 'constant' => 2, + 'optional' => true, + 'implicit' => true + ), + 'generation-qualifier' => array( + 'type' => ASN1::TYPE_PRINTABLE_STRING, + 'constant' => 3, + 'optional' => true, + 'implicit' => true + ) + ) + ); + + $NumericUserIdentifier = array('type' => ASN1::TYPE_NUMERIC_STRING); + + $OrganizationName = array('type' => ASN1::TYPE_PRINTABLE_STRING); + + $PrivateDomainName = array( + 'type' => ASN1::TYPE_CHOICE, + 'children' => array( + 'numeric' => array('type' => ASN1::TYPE_NUMERIC_STRING), + 'printable' => array('type' => ASN1::TYPE_PRINTABLE_STRING) + ) + ); + + $TerminalIdentifier = array('type' => ASN1::TYPE_PRINTABLE_STRING); + + $NetworkAddress = array('type' => ASN1::TYPE_NUMERIC_STRING); + + $AdministrationDomainName = array( + 'type' => ASN1::TYPE_CHOICE, + // if class isn't present it's assumed to be \phpseclib\File\ASN1::CLASS_UNIVERSAL or + // (if constant is present) \phpseclib\File\ASN1::CLASS_CONTEXT_SPECIFIC + 'class' => ASN1::CLASS_APPLICATION, + 'cast' => 2, + 'children' => array( + 'numeric' => array('type' => ASN1::TYPE_NUMERIC_STRING), + 'printable' => array('type' => ASN1::TYPE_PRINTABLE_STRING) + ) + ); + + $CountryName = array( + 'type' => ASN1::TYPE_CHOICE, + // if class isn't present it's assumed to be \phpseclib\File\ASN1::CLASS_UNIVERSAL or + // (if constant is present) \phpseclib\File\ASN1::CLASS_CONTEXT_SPECIFIC + 'class' => ASN1::CLASS_APPLICATION, + 'cast' => 1, + 'children' => array( + 'x121-dcc-code' => array('type' => ASN1::TYPE_NUMERIC_STRING), + 'iso-3166-alpha2-code' => array('type' => ASN1::TYPE_PRINTABLE_STRING) + ) + ); + + $AnotherName = array( + 'type' => ASN1::TYPE_SEQUENCE, + 'children' => array( + 'type-id' => array('type' => ASN1::TYPE_OBJECT_IDENTIFIER), + 'value' => array( + 'type' => ASN1::TYPE_ANY, + 'constant' => 0, + 'optional' => true, + 'explicit' => true + ) + ) + ); + + $ExtensionAttribute = array( + 'type' => ASN1::TYPE_SEQUENCE, + 'children' => array( + 'extension-attribute-type' => array( + 'type' => ASN1::TYPE_PRINTABLE_STRING, + 'constant' => 0, + 'optional' => true, + 'implicit' => true + ), + 'extension-attribute-value' => array( + 'type' => ASN1::TYPE_ANY, + 'constant' => 1, + 'optional' => true, + 'explicit' => true + ) + ) + ); + + $ExtensionAttributes = array( + 'type' => ASN1::TYPE_SET, + 'min' => 1, + 'max' => 256, // ub-extension-attributes + 'children' => $ExtensionAttribute + ); + + $BuiltInDomainDefinedAttribute = array( + 'type' => ASN1::TYPE_SEQUENCE, + 'children' => array( + 'type' => array('type' => ASN1::TYPE_PRINTABLE_STRING), + 'value' => array('type' => ASN1::TYPE_PRINTABLE_STRING) + ) + ); + + $BuiltInDomainDefinedAttributes = array( + 'type' => ASN1::TYPE_SEQUENCE, + 'min' => 1, + 'max' => 4, // ub-domain-defined-attributes + 'children' => $BuiltInDomainDefinedAttribute + ); + + $BuiltInStandardAttributes = array( + 'type' => ASN1::TYPE_SEQUENCE, + 'children' => array( + 'country-name' => array('optional' => true) + $CountryName, + 'administration-domain-name' => array('optional' => true) + $AdministrationDomainName, + 'network-address' => array( + 'constant' => 0, + 'optional' => true, + 'implicit' => true + ) + $NetworkAddress, + 'terminal-identifier' => array( + 'constant' => 1, + 'optional' => true, + 'implicit' => true + ) + $TerminalIdentifier, + 'private-domain-name' => array( + 'constant' => 2, + 'optional' => true, + 'explicit' => true + ) + $PrivateDomainName, + 'organization-name' => array( + 'constant' => 3, + 'optional' => true, + 'implicit' => true + ) + $OrganizationName, + 'numeric-user-identifier' => array( + 'constant' => 4, + 'optional' => true, + 'implicit' => true + ) + $NumericUserIdentifier, + 'personal-name' => array( + 'constant' => 5, + 'optional' => true, + 'implicit' => true + ) + $PersonalName, + 'organizational-unit-names' => array( + 'constant' => 6, + 'optional' => true, + 'implicit' => true + ) + $OrganizationalUnitNames + ) + ); + + $ORAddress = array( + 'type' => ASN1::TYPE_SEQUENCE, + 'children' => array( + 'built-in-standard-attributes' => $BuiltInStandardAttributes, + 'built-in-domain-defined-attributes' => array('optional' => true) + $BuiltInDomainDefinedAttributes, + 'extension-attributes' => array('optional' => true) + $ExtensionAttributes + ) + ); + + $EDIPartyName = array( + 'type' => ASN1::TYPE_SEQUENCE, + 'children' => array( + 'nameAssigner' => array( + 'constant' => 0, + 'optional' => true, + 'implicit' => true + ) + $this->DirectoryString, + // partyName is technically required but \phpseclib\File\ASN1 doesn't currently support non-optional constants and + // setting it to optional gets the job done in any event. + 'partyName' => array( + 'constant' => 1, + 'optional' => true, + 'implicit' => true + ) + $this->DirectoryString + ) + ); + + $GeneralName = array( + 'type' => ASN1::TYPE_CHOICE, + 'children' => array( + 'otherName' => array( + 'constant' => 0, + 'optional' => true, + 'implicit' => true + ) + $AnotherName, + 'rfc822Name' => array( + 'type' => ASN1::TYPE_IA5_STRING, + 'constant' => 1, + 'optional' => true, + 'implicit' => true + ), + 'dNSName' => array( + 'type' => ASN1::TYPE_IA5_STRING, + 'constant' => 2, + 'optional' => true, + 'implicit' => true + ), + 'x400Address' => array( + 'constant' => 3, + 'optional' => true, + 'implicit' => true + ) + $ORAddress, + 'directoryName' => array( + 'constant' => 4, + 'optional' => true, + 'explicit' => true + ) + $this->Name, + 'ediPartyName' => array( + 'constant' => 5, + 'optional' => true, + 'implicit' => true + ) + $EDIPartyName, + 'uniformResourceIdentifier' => array( + 'type' => ASN1::TYPE_IA5_STRING, + 'constant' => 6, + 'optional' => true, + 'implicit' => true + ), + 'iPAddress' => array( + 'type' => ASN1::TYPE_OCTET_STRING, + 'constant' => 7, + 'optional' => true, + 'implicit' => true + ), + 'registeredID' => array( + 'type' => ASN1::TYPE_OBJECT_IDENTIFIER, + 'constant' => 8, + 'optional' => true, + 'implicit' => true + ) + ) + ); + + $GeneralNames = array( + 'type' => ASN1::TYPE_SEQUENCE, + 'min' => 1, + 'max' => -1, + 'children' => $GeneralName + ); + + $this->IssuerAltName = $GeneralNames; + + $ReasonFlags = array( + 'type' => ASN1::TYPE_BIT_STRING, + 'mapping' => array( + 'unused', + 'keyCompromise', + 'cACompromise', + 'affiliationChanged', + 'superseded', + 'cessationOfOperation', + 'certificateHold', + 'privilegeWithdrawn', + 'aACompromise' + ) + ); + + $DistributionPointName = array( + 'type' => ASN1::TYPE_CHOICE, + 'children' => array( + 'fullName' => array( + 'constant' => 0, + 'optional' => true, + 'implicit' => true + ) + $GeneralNames, + 'nameRelativeToCRLIssuer' => array( + 'constant' => 1, + 'optional' => true, + 'implicit' => true + ) + $this->RelativeDistinguishedName + ) + ); + + $DistributionPoint = array( + 'type' => ASN1::TYPE_SEQUENCE, + 'children' => array( + 'distributionPoint' => array( + 'constant' => 0, + 'optional' => true, + 'explicit' => true + ) + $DistributionPointName, + 'reasons' => array( + 'constant' => 1, + 'optional' => true, + 'implicit' => true + ) + $ReasonFlags, + 'cRLIssuer' => array( + 'constant' => 2, + 'optional' => true, + 'implicit' => true + ) + $GeneralNames + ) + ); + + $this->CRLDistributionPoints = array( + 'type' => ASN1::TYPE_SEQUENCE, + 'min' => 1, + 'max' => -1, + 'children' => $DistributionPoint + ); + + $this->AuthorityKeyIdentifier = array( + 'type' => ASN1::TYPE_SEQUENCE, + 'children' => array( + 'keyIdentifier' => array( + 'constant' => 0, + 'optional' => true, + 'implicit' => true + ) + $this->KeyIdentifier, + 'authorityCertIssuer' => array( + 'constant' => 1, + 'optional' => true, + 'implicit' => true + ) + $GeneralNames, + 'authorityCertSerialNumber' => array( + 'constant' => 2, + 'optional' => true, + 'implicit' => true + ) + $CertificateSerialNumber + ) + ); + + $PolicyQualifierId = array('type' => ASN1::TYPE_OBJECT_IDENTIFIER); + + $PolicyQualifierInfo = array( + 'type' => ASN1::TYPE_SEQUENCE, + 'children' => array( + 'policyQualifierId' => $PolicyQualifierId, + 'qualifier' => array('type' => ASN1::TYPE_ANY) + ) + ); + + $CertPolicyId = array('type' => ASN1::TYPE_OBJECT_IDENTIFIER); + + $PolicyInformation = array( + 'type' => ASN1::TYPE_SEQUENCE, + 'children' => array( + 'policyIdentifier' => $CertPolicyId, + 'policyQualifiers' => array( + 'type' => ASN1::TYPE_SEQUENCE, + 'min' => 0, + 'max' => -1, + 'optional' => true, + 'children' => $PolicyQualifierInfo + ) + ) + ); + + $this->CertificatePolicies = array( + 'type' => ASN1::TYPE_SEQUENCE, + 'min' => 1, + 'max' => -1, + 'children' => $PolicyInformation + ); + + $this->PolicyMappings = array( + 'type' => ASN1::TYPE_SEQUENCE, + 'min' => 1, + 'max' => -1, + 'children' => array( + 'type' => ASN1::TYPE_SEQUENCE, + 'children' => array( + 'issuerDomainPolicy' => $CertPolicyId, + 'subjectDomainPolicy' => $CertPolicyId + ) + ) + ); + + $KeyPurposeId = array('type' => ASN1::TYPE_OBJECT_IDENTIFIER); + + $this->ExtKeyUsageSyntax = array( + 'type' => ASN1::TYPE_SEQUENCE, + 'min' => 1, + 'max' => -1, + 'children' => $KeyPurposeId + ); + + $AccessDescription = array( + 'type' => ASN1::TYPE_SEQUENCE, + 'children' => array( + 'accessMethod' => array('type' => ASN1::TYPE_OBJECT_IDENTIFIER), + 'accessLocation' => $GeneralName + ) + ); + + $this->AuthorityInfoAccessSyntax = array( + 'type' => ASN1::TYPE_SEQUENCE, + 'min' => 1, + 'max' => -1, + 'children' => $AccessDescription + ); + + $this->SubjectAltName = $GeneralNames; + + $this->PrivateKeyUsagePeriod = array( + 'type' => ASN1::TYPE_SEQUENCE, + 'children' => array( + 'notBefore' => array( + 'constant' => 0, + 'optional' => true, + 'implicit' => true, + 'type' => ASN1::TYPE_GENERALIZED_TIME), + 'notAfter' => array( + 'constant' => 1, + 'optional' => true, + 'implicit' => true, + 'type' => ASN1::TYPE_GENERALIZED_TIME) + ) + ); + + $BaseDistance = array('type' => ASN1::TYPE_INTEGER); + + $GeneralSubtree = array( + 'type' => ASN1::TYPE_SEQUENCE, + 'children' => array( + 'base' => $GeneralName, + 'minimum' => array( + 'constant' => 0, + 'optional' => true, + 'implicit' => true, + 'default' => new BigInteger(0) + ) + $BaseDistance, + 'maximum' => array( + 'constant' => 1, + 'optional' => true, + 'implicit' => true, + ) + $BaseDistance + ) + ); + + $GeneralSubtrees = array( + 'type' => ASN1::TYPE_SEQUENCE, + 'min' => 1, + 'max' => -1, + 'children' => $GeneralSubtree + ); + + $this->NameConstraints = array( + 'type' => ASN1::TYPE_SEQUENCE, + 'children' => array( + 'permittedSubtrees' => array( + 'constant' => 0, + 'optional' => true, + 'implicit' => true + ) + $GeneralSubtrees, + 'excludedSubtrees' => array( + 'constant' => 1, + 'optional' => true, + 'implicit' => true + ) + $GeneralSubtrees + ) + ); + + $this->CPSuri = array('type' => ASN1::TYPE_IA5_STRING); + + $DisplayText = array( + 'type' => ASN1::TYPE_CHOICE, + 'children' => array( + 'ia5String' => array('type' => ASN1::TYPE_IA5_STRING), + 'visibleString' => array('type' => ASN1::TYPE_VISIBLE_STRING), + 'bmpString' => array('type' => ASN1::TYPE_BMP_STRING), + 'utf8String' => array('type' => ASN1::TYPE_UTF8_STRING) + ) + ); + + $NoticeReference = array( + 'type' => ASN1::TYPE_SEQUENCE, + 'children' => array( + 'organization' => $DisplayText, + 'noticeNumbers' => array( + 'type' => ASN1::TYPE_SEQUENCE, + 'min' => 1, + 'max' => 200, + 'children' => array('type' => ASN1::TYPE_INTEGER) + ) + ) + ); + + $this->UserNotice = array( + 'type' => ASN1::TYPE_SEQUENCE, + 'children' => array( + 'noticeRef' => array( + 'optional' => true, + 'implicit' => true + ) + $NoticeReference, + 'explicitText' => array( + 'optional' => true, + 'implicit' => true + ) + $DisplayText + ) + ); + + // mapping is from <http://www.mozilla.org/projects/security/pki/nss/tech-notes/tn3.html> + $this->netscape_cert_type = array( + 'type' => ASN1::TYPE_BIT_STRING, + 'mapping' => array( + 'SSLClient', + 'SSLServer', + 'Email', + 'ObjectSigning', + 'Reserved', + 'SSLCA', + 'EmailCA', + 'ObjectSigningCA' + ) + ); + + $this->netscape_comment = array('type' => ASN1::TYPE_IA5_STRING); + $this->netscape_ca_policy_url = array('type' => ASN1::TYPE_IA5_STRING); + + // attribute is used in RFC2986 but we're using the RFC5280 definition + + $Attribute = array( + 'type' => ASN1::TYPE_SEQUENCE, + 'children' => array( + 'type' => $AttributeType, + 'value'=> array( + 'type' => ASN1::TYPE_SET, + 'min' => 1, + 'max' => -1, + 'children' => $this->AttributeValue + ) + ) + ); + + $this->SubjectDirectoryAttributes = array( + 'type' => ASN1::TYPE_SEQUENCE, + 'min' => 1, + 'max' => -1, + 'children' => $Attribute + ); + + // adapted from <http://tools.ietf.org/html/rfc2986> + + $Attributes = array( + 'type' => ASN1::TYPE_SET, + 'min' => 1, + 'max' => -1, + 'children' => $Attribute + ); + + $CertificationRequestInfo = array( + 'type' => ASN1::TYPE_SEQUENCE, + 'children' => array( + 'version' => array( + 'type' => ASN1::TYPE_INTEGER, + 'mapping' => array('v1') + ), + 'subject' => $this->Name, + 'subjectPKInfo' => $SubjectPublicKeyInfo, + 'attributes' => array( + 'constant' => 0, + 'optional' => true, + 'implicit' => true + ) + $Attributes, + ) + ); + + $this->CertificationRequest = array( + 'type' => ASN1::TYPE_SEQUENCE, + 'children' => array( + 'certificationRequestInfo' => $CertificationRequestInfo, + 'signatureAlgorithm' => $AlgorithmIdentifier, + 'signature' => array('type' => ASN1::TYPE_BIT_STRING) + ) + ); + + $RevokedCertificate = array( + 'type' => ASN1::TYPE_SEQUENCE, + 'children' => array( + 'userCertificate' => $CertificateSerialNumber, + 'revocationDate' => $Time, + 'crlEntryExtensions' => array( + 'optional' => true + ) + $this->Extensions + ) + ); + + $TBSCertList = array( + 'type' => ASN1::TYPE_SEQUENCE, + 'children' => array( + 'version' => array( + 'optional' => true, + 'default' => 'v1' + ) + $Version, + 'signature' => $AlgorithmIdentifier, + 'issuer' => $this->Name, + 'thisUpdate' => $Time, + 'nextUpdate' => array( + 'optional' => true + ) + $Time, + 'revokedCertificates' => array( + 'type' => ASN1::TYPE_SEQUENCE, + 'optional' => true, + 'min' => 0, + 'max' => -1, + 'children' => $RevokedCertificate + ), + 'crlExtensions' => array( + 'constant' => 0, + 'optional' => true, + 'explicit' => true + ) + $this->Extensions + ) + ); + + $this->CertificateList = array( + 'type' => ASN1::TYPE_SEQUENCE, + 'children' => array( + 'tbsCertList' => $TBSCertList, + 'signatureAlgorithm' => $AlgorithmIdentifier, + 'signature' => array('type' => ASN1::TYPE_BIT_STRING) + ) + ); + + $this->CRLNumber = array('type' => ASN1::TYPE_INTEGER); + + $this->CRLReason = array('type' => ASN1::TYPE_ENUMERATED, + 'mapping' => array( + 'unspecified', + 'keyCompromise', + 'cACompromise', + 'affiliationChanged', + 'superseded', + 'cessationOfOperation', + 'certificateHold', + // Value 7 is not used. + 8 => 'removeFromCRL', + 'privilegeWithdrawn', + 'aACompromise' + ) + ); + + $this->IssuingDistributionPoint = array('type' => ASN1::TYPE_SEQUENCE, + 'children' => array( + 'distributionPoint' => array( + 'constant' => 0, + 'optional' => true, + 'explicit' => true + ) + $DistributionPointName, + 'onlyContainsUserCerts' => array( + 'type' => ASN1::TYPE_BOOLEAN, + 'constant' => 1, + 'optional' => true, + 'default' => false, + 'implicit' => true + ), + 'onlyContainsCACerts' => array( + 'type' => ASN1::TYPE_BOOLEAN, + 'constant' => 2, + 'optional' => true, + 'default' => false, + 'implicit' => true + ), + 'onlySomeReasons' => array( + 'constant' => 3, + 'optional' => true, + 'implicit' => true + ) + $ReasonFlags, + 'indirectCRL' => array( + 'type' => ASN1::TYPE_BOOLEAN, + 'constant' => 4, + 'optional' => true, + 'default' => false, + 'implicit' => true + ), + 'onlyContainsAttributeCerts' => array( + 'type' => ASN1::TYPE_BOOLEAN, + 'constant' => 5, + 'optional' => true, + 'default' => false, + 'implicit' => true + ) + ) + ); + + $this->InvalidityDate = array('type' => ASN1::TYPE_GENERALIZED_TIME); + + $this->CertificateIssuer = $GeneralNames; + + $this->HoldInstructionCode = array('type' => ASN1::TYPE_OBJECT_IDENTIFIER); + + $PublicKeyAndChallenge = array( + 'type' => ASN1::TYPE_SEQUENCE, + 'children' => array( + 'spki' => $SubjectPublicKeyInfo, + 'challenge' => array('type' => ASN1::TYPE_IA5_STRING) + ) + ); + + $this->SignedPublicKeyAndChallenge = array( + 'type' => ASN1::TYPE_SEQUENCE, + 'children' => array( + 'publicKeyAndChallenge' => $PublicKeyAndChallenge, + 'signatureAlgorithm' => $AlgorithmIdentifier, + 'signature' => array('type' => ASN1::TYPE_BIT_STRING) + ) + ); + + $this->PostalAddress = array( + 'type' => ASN1::TYPE_SEQUENCE, + 'optional' => true, + 'min' => 1, + 'max' => -1, + 'children' => $this->DirectoryString + ); + + // OIDs from RFC5280 and those RFCs mentioned in RFC5280#section-4.1.1.2 + $this->oids = array( + '1.3.6.1.5.5.7' => 'id-pkix', + '1.3.6.1.5.5.7.1' => 'id-pe', + '1.3.6.1.5.5.7.2' => 'id-qt', + '1.3.6.1.5.5.7.3' => 'id-kp', + '1.3.6.1.5.5.7.48' => 'id-ad', + '1.3.6.1.5.5.7.2.1' => 'id-qt-cps', + '1.3.6.1.5.5.7.2.2' => 'id-qt-unotice', + '1.3.6.1.5.5.7.48.1' =>'id-ad-ocsp', + '1.3.6.1.5.5.7.48.2' => 'id-ad-caIssuers', + '1.3.6.1.5.5.7.48.3' => 'id-ad-timeStamping', + '1.3.6.1.5.5.7.48.5' => 'id-ad-caRepository', + '2.5.4' => 'id-at', + '2.5.4.41' => 'id-at-name', + '2.5.4.4' => 'id-at-surname', + '2.5.4.42' => 'id-at-givenName', + '2.5.4.43' => 'id-at-initials', + '2.5.4.44' => 'id-at-generationQualifier', + '2.5.4.3' => 'id-at-commonName', + '2.5.4.7' => 'id-at-localityName', + '2.5.4.8' => 'id-at-stateOrProvinceName', + '2.5.4.10' => 'id-at-organizationName', + '2.5.4.11' => 'id-at-organizationalUnitName', + '2.5.4.12' => 'id-at-title', + '2.5.4.13' => 'id-at-description', + '2.5.4.46' => 'id-at-dnQualifier', + '2.5.4.6' => 'id-at-countryName', + '2.5.4.5' => 'id-at-serialNumber', + '2.5.4.65' => 'id-at-pseudonym', + '2.5.4.17' => 'id-at-postalCode', + '2.5.4.9' => 'id-at-streetAddress', + '2.5.4.45' => 'id-at-uniqueIdentifier', + '2.5.4.72' => 'id-at-role', + '2.5.4.16' => 'id-at-postalAddress', + + '0.9.2342.19200300.100.1.25' => 'id-domainComponent', + '1.2.840.113549.1.9' => 'pkcs-9', + '1.2.840.113549.1.9.1' => 'pkcs-9-at-emailAddress', + '2.5.29' => 'id-ce', + '2.5.29.35' => 'id-ce-authorityKeyIdentifier', + '2.5.29.14' => 'id-ce-subjectKeyIdentifier', + '2.5.29.15' => 'id-ce-keyUsage', + '2.5.29.16' => 'id-ce-privateKeyUsagePeriod', + '2.5.29.32' => 'id-ce-certificatePolicies', + '2.5.29.32.0' => 'anyPolicy', + + '2.5.29.33' => 'id-ce-policyMappings', + '2.5.29.17' => 'id-ce-subjectAltName', + '2.5.29.18' => 'id-ce-issuerAltName', + '2.5.29.9' => 'id-ce-subjectDirectoryAttributes', + '2.5.29.19' => 'id-ce-basicConstraints', + '2.5.29.30' => 'id-ce-nameConstraints', + '2.5.29.36' => 'id-ce-policyConstraints', + '2.5.29.31' => 'id-ce-cRLDistributionPoints', + '2.5.29.37' => 'id-ce-extKeyUsage', + '2.5.29.37.0' => 'anyExtendedKeyUsage', + '1.3.6.1.5.5.7.3.1' => 'id-kp-serverAuth', + '1.3.6.1.5.5.7.3.2' => 'id-kp-clientAuth', + '1.3.6.1.5.5.7.3.3' => 'id-kp-codeSigning', + '1.3.6.1.5.5.7.3.4' => 'id-kp-emailProtection', + '1.3.6.1.5.5.7.3.8' => 'id-kp-timeStamping', + '1.3.6.1.5.5.7.3.9' => 'id-kp-OCSPSigning', + '2.5.29.54' => 'id-ce-inhibitAnyPolicy', + '2.5.29.46' => 'id-ce-freshestCRL', + '1.3.6.1.5.5.7.1.1' => 'id-pe-authorityInfoAccess', + '1.3.6.1.5.5.7.1.11' => 'id-pe-subjectInfoAccess', + '2.5.29.20' => 'id-ce-cRLNumber', + '2.5.29.28' => 'id-ce-issuingDistributionPoint', + '2.5.29.27' => 'id-ce-deltaCRLIndicator', + '2.5.29.21' => 'id-ce-cRLReasons', + '2.5.29.29' => 'id-ce-certificateIssuer', + '2.5.29.23' => 'id-ce-holdInstructionCode', + '1.2.840.10040.2' => 'holdInstruction', + '1.2.840.10040.2.1' => 'id-holdinstruction-none', + '1.2.840.10040.2.2' => 'id-holdinstruction-callissuer', + '1.2.840.10040.2.3' => 'id-holdinstruction-reject', + '2.5.29.24' => 'id-ce-invalidityDate', + + '1.2.840.113549.2.2' => 'md2', + '1.2.840.113549.2.5' => 'md5', + '1.3.14.3.2.26' => 'id-sha1', + '1.2.840.10040.4.1' => 'id-dsa', + '1.2.840.10040.4.3' => 'id-dsa-with-sha1', + '1.2.840.113549.1.1' => 'pkcs-1', + '1.2.840.113549.1.1.1' => 'rsaEncryption', + '1.2.840.113549.1.1.2' => 'md2WithRSAEncryption', + '1.2.840.113549.1.1.4' => 'md5WithRSAEncryption', + '1.2.840.113549.1.1.5' => 'sha1WithRSAEncryption', + '1.2.840.10046.2.1' => 'dhpublicnumber', + '2.16.840.1.101.2.1.1.22' => 'id-keyExchangeAlgorithm', + '1.2.840.10045' => 'ansi-X9-62', + '1.2.840.10045.4' => 'id-ecSigType', + '1.2.840.10045.4.1' => 'ecdsa-with-SHA1', + '1.2.840.10045.1' => 'id-fieldType', + '1.2.840.10045.1.1' => 'prime-field', + '1.2.840.10045.1.2' => 'characteristic-two-field', + '1.2.840.10045.1.2.3' => 'id-characteristic-two-basis', + '1.2.840.10045.1.2.3.1' => 'gnBasis', + '1.2.840.10045.1.2.3.2' => 'tpBasis', + '1.2.840.10045.1.2.3.3' => 'ppBasis', + '1.2.840.10045.2' => 'id-publicKeyType', + '1.2.840.10045.2.1' => 'id-ecPublicKey', + '1.2.840.10045.3' => 'ellipticCurve', + '1.2.840.10045.3.0' => 'c-TwoCurve', + '1.2.840.10045.3.0.1' => 'c2pnb163v1', + '1.2.840.10045.3.0.2' => 'c2pnb163v2', + '1.2.840.10045.3.0.3' => 'c2pnb163v3', + '1.2.840.10045.3.0.4' => 'c2pnb176w1', + '1.2.840.10045.3.0.5' => 'c2pnb191v1', + '1.2.840.10045.3.0.6' => 'c2pnb191v2', + '1.2.840.10045.3.0.7' => 'c2pnb191v3', + '1.2.840.10045.3.0.8' => 'c2pnb191v4', + '1.2.840.10045.3.0.9' => 'c2pnb191v5', + '1.2.840.10045.3.0.10' => 'c2pnb208w1', + '1.2.840.10045.3.0.11' => 'c2pnb239v1', + '1.2.840.10045.3.0.12' => 'c2pnb239v2', + '1.2.840.10045.3.0.13' => 'c2pnb239v3', + '1.2.840.10045.3.0.14' => 'c2pnb239v4', + '1.2.840.10045.3.0.15' => 'c2pnb239v5', + '1.2.840.10045.3.0.16' => 'c2pnb272w1', + '1.2.840.10045.3.0.17' => 'c2pnb304w1', + '1.2.840.10045.3.0.18' => 'c2pnb359v1', + '1.2.840.10045.3.0.19' => 'c2pnb368w1', + '1.2.840.10045.3.0.20' => 'c2pnb431r1', + '1.2.840.10045.3.1' => 'primeCurve', + '1.2.840.10045.3.1.1' => 'prime192v1', + '1.2.840.10045.3.1.2' => 'prime192v2', + '1.2.840.10045.3.1.3' => 'prime192v3', + '1.2.840.10045.3.1.4' => 'prime239v1', + '1.2.840.10045.3.1.5' => 'prime239v2', + '1.2.840.10045.3.1.6' => 'prime239v3', + '1.2.840.10045.3.1.7' => 'prime256v1', + '1.2.840.113549.1.1.7' => 'id-RSAES-OAEP', + '1.2.840.113549.1.1.9' => 'id-pSpecified', + '1.2.840.113549.1.1.10' => 'id-RSASSA-PSS', + '1.2.840.113549.1.1.8' => 'id-mgf1', + '1.2.840.113549.1.1.14' => 'sha224WithRSAEncryption', + '1.2.840.113549.1.1.11' => 'sha256WithRSAEncryption', + '1.2.840.113549.1.1.12' => 'sha384WithRSAEncryption', + '1.2.840.113549.1.1.13' => 'sha512WithRSAEncryption', + '2.16.840.1.101.3.4.2.4' => 'id-sha224', + '2.16.840.1.101.3.4.2.1' => 'id-sha256', + '2.16.840.1.101.3.4.2.2' => 'id-sha384', + '2.16.840.1.101.3.4.2.3' => 'id-sha512', + '1.2.643.2.2.4' => 'id-GostR3411-94-with-GostR3410-94', + '1.2.643.2.2.3' => 'id-GostR3411-94-with-GostR3410-2001', + '1.2.643.2.2.20' => 'id-GostR3410-2001', + '1.2.643.2.2.19' => 'id-GostR3410-94', + // Netscape Object Identifiers from "Netscape Certificate Extensions" + '2.16.840.1.113730' => 'netscape', + '2.16.840.1.113730.1' => 'netscape-cert-extension', + '2.16.840.1.113730.1.1' => 'netscape-cert-type', + '2.16.840.1.113730.1.13' => 'netscape-comment', + '2.16.840.1.113730.1.8' => 'netscape-ca-policy-url', + // the following are X.509 extensions not supported by phpseclib + '1.3.6.1.5.5.7.1.12' => 'id-pe-logotype', + '1.2.840.113533.7.65.0' => 'entrustVersInfo', + '2.16.840.1.113733.1.6.9' => 'verisignPrivate', + // for Certificate Signing Requests + // see http://tools.ietf.org/html/rfc2985 + '1.2.840.113549.1.9.2' => 'pkcs-9-at-unstructuredName', // PKCS #9 unstructured name + '1.2.840.113549.1.9.7' => 'pkcs-9-at-challengePassword', // Challenge password for certificate revocations + '1.2.840.113549.1.9.14' => 'pkcs-9-at-extensionRequest' // Certificate extension request + ); + } + + /** + * Load X.509 certificate + * + * Returns an associative array describing the X.509 cert or a false if the cert failed to load + * + * @param string $cert + * @param int $mode + * @access public + * @return mixed + */ + function loadX509($cert, $mode = self::FORMAT_AUTO_DETECT) + { + if (is_array($cert) && isset($cert['tbsCertificate'])) { + unset($this->currentCert); + unset($this->currentKeyIdentifier); + $this->dn = $cert['tbsCertificate']['subject']; + if (!isset($this->dn)) { + return false; + } + $this->currentCert = $cert; + + $currentKeyIdentifier = $this->getExtension('id-ce-subjectKeyIdentifier'); + $this->currentKeyIdentifier = is_string($currentKeyIdentifier) ? $currentKeyIdentifier : null; + + unset($this->signatureSubject); + + return $cert; + } + + $asn1 = new ASN1(); + + if ($mode != self::FORMAT_DER) { + $newcert = $this->_extractBER($cert); + if ($mode == self::FORMAT_PEM && $cert == $newcert) { + return false; + } + $cert = $newcert; + } + + if ($cert === false) { + $this->currentCert = false; + return false; + } + + $asn1->loadOIDs($this->oids); + $decoded = $asn1->decodeBER($cert); + + if (!empty($decoded)) { + $x509 = $asn1->asn1map($decoded[0], $this->Certificate); + } + if (!isset($x509) || $x509 === false) { + $this->currentCert = false; + return false; + } + + $this->signatureSubject = substr($cert, $decoded[0]['content'][0]['start'], $decoded[0]['content'][0]['length']); + + if ($this->_isSubArrayValid($x509, 'tbsCertificate/extensions')) { + $this->_mapInExtensions($x509, 'tbsCertificate/extensions', $asn1); + } + $this->_mapInDNs($x509, 'tbsCertificate/issuer/rdnSequence', $asn1); + $this->_mapInDNs($x509, 'tbsCertificate/subject/rdnSequence', $asn1); + + $key = &$x509['tbsCertificate']['subjectPublicKeyInfo']['subjectPublicKey']; + $key = $this->_reformatKey($x509['tbsCertificate']['subjectPublicKeyInfo']['algorithm']['algorithm'], $key); + + $this->currentCert = $x509; + $this->dn = $x509['tbsCertificate']['subject']; + + $currentKeyIdentifier = $this->getExtension('id-ce-subjectKeyIdentifier'); + $this->currentKeyIdentifier = is_string($currentKeyIdentifier) ? $currentKeyIdentifier : null; + + return $x509; + } + + /** + * Save X.509 certificate + * + * @param array $cert + * @param int $format optional + * @access public + * @return string + */ + function saveX509($cert, $format = self::FORMAT_PEM) + { + if (!is_array($cert) || !isset($cert['tbsCertificate'])) { + return false; + } + + switch (true) { + // "case !$a: case !$b: break; default: whatever();" is the same thing as "if ($a && $b) whatever()" + case !($algorithm = $this->_subArray($cert, 'tbsCertificate/subjectPublicKeyInfo/algorithm/algorithm')): + case is_object($cert['tbsCertificate']['subjectPublicKeyInfo']['subjectPublicKey']): + break; + default: + switch ($algorithm) { + case 'rsaEncryption': + $cert['tbsCertificate']['subjectPublicKeyInfo']['subjectPublicKey'] + = base64_encode("\0" . base64_decode(preg_replace('#-.+-|[\r\n]#', '', $cert['tbsCertificate']['subjectPublicKeyInfo']['subjectPublicKey']))); + /* "[For RSA keys] the parameters field MUST have ASN.1 type NULL for this algorithm identifier." + -- https://tools.ietf.org/html/rfc3279#section-2.3.1 + + given that and the fact that RSA keys appear ot be the only key type for which the parameters field can be blank, + it seems like perhaps the ASN.1 description ought not say the parameters field is OPTIONAL, but whatever. + */ + $cert['tbsCertificate']['subjectPublicKeyInfo']['algorithm']['parameters'] = null; + // https://tools.ietf.org/html/rfc3279#section-2.2.1 + $cert['signatureAlgorithm']['parameters'] = null; + $cert['tbsCertificate']['signature']['parameters'] = null; + } + } + + $asn1 = new ASN1(); + $asn1->loadOIDs($this->oids); + + $filters = array(); + $type_utf8_string = array('type' => ASN1::TYPE_UTF8_STRING); + $filters['tbsCertificate']['signature']['parameters'] = $type_utf8_string; + $filters['tbsCertificate']['signature']['issuer']['rdnSequence']['value'] = $type_utf8_string; + $filters['tbsCertificate']['issuer']['rdnSequence']['value'] = $type_utf8_string; + $filters['tbsCertificate']['subject']['rdnSequence']['value'] = $type_utf8_string; + $filters['tbsCertificate']['subjectPublicKeyInfo']['algorithm']['parameters'] = $type_utf8_string; + $filters['signatureAlgorithm']['parameters'] = $type_utf8_string; + $filters['authorityCertIssuer']['directoryName']['rdnSequence']['value'] = $type_utf8_string; + //$filters['policyQualifiers']['qualifier'] = $type_utf8_string; + $filters['distributionPoint']['fullName']['directoryName']['rdnSequence']['value'] = $type_utf8_string; + $filters['directoryName']['rdnSequence']['value'] = $type_utf8_string; + + /* in the case of policyQualifiers/qualifier, the type has to be \phpseclib\File\ASN1::TYPE_IA5_STRING. + \phpseclib\File\ASN1::TYPE_PRINTABLE_STRING will cause OpenSSL's X.509 parser to spit out random + characters. + */ + $filters['policyQualifiers']['qualifier'] + = array('type' => ASN1::TYPE_IA5_STRING); + + $asn1->loadFilters($filters); + + $this->_mapOutExtensions($cert, 'tbsCertificate/extensions', $asn1); + $this->_mapOutDNs($cert, 'tbsCertificate/issuer/rdnSequence', $asn1); + $this->_mapOutDNs($cert, 'tbsCertificate/subject/rdnSequence', $asn1); + + $cert = $asn1->encodeDER($cert, $this->Certificate); + + switch ($format) { + case self::FORMAT_DER: + return $cert; + // case self::FORMAT_PEM: + default: + return "-----BEGIN CERTIFICATE-----\r\n" . chunk_split(base64_encode($cert), 64) . '-----END CERTIFICATE-----'; + } + } + + /** + * Map extension values from octet string to extension-specific internal + * format. + * + * @param array ref $root + * @param string $path + * @param object $asn1 + * @access private + */ + function _mapInExtensions(&$root, $path, $asn1) + { + $extensions = &$this->_subArrayUnchecked($root, $path); + + if ($extensions) { + for ($i = 0; $i < count($extensions); $i++) { + $id = $extensions[$i]['extnId']; + $value = &$extensions[$i]['extnValue']; + $value = base64_decode($value); + $decoded = $asn1->decodeBER($value); + /* [extnValue] contains the DER encoding of an ASN.1 value + corresponding to the extension type identified by extnID */ + $map = $this->_getMapping($id); + if (!is_bool($map)) { + $mapped = $asn1->asn1map($decoded[0], $map, array('iPAddress' => array($this, '_decodeIP'))); + $value = $mapped === false ? $decoded[0] : $mapped; + + if ($id == 'id-ce-certificatePolicies') { + for ($j = 0; $j < count($value); $j++) { + if (!isset($value[$j]['policyQualifiers'])) { + continue; + } + for ($k = 0; $k < count($value[$j]['policyQualifiers']); $k++) { + $subid = $value[$j]['policyQualifiers'][$k]['policyQualifierId']; + $map = $this->_getMapping($subid); + $subvalue = &$value[$j]['policyQualifiers'][$k]['qualifier']; + if ($map !== false) { + $decoded = $asn1->decodeBER($subvalue); + $mapped = $asn1->asn1map($decoded[0], $map); + $subvalue = $mapped === false ? $decoded[0] : $mapped; + } + } + } + } + } else { + $value = base64_encode($value); + } + } + } + } + + /** + * Map extension values from extension-specific internal format to + * octet string. + * + * @param array ref $root + * @param string $path + * @param object $asn1 + * @access private + */ + function _mapOutExtensions(&$root, $path, $asn1) + { + $extensions = &$this->_subArray($root, $path); + + if (is_array($extensions)) { + $size = count($extensions); + for ($i = 0; $i < $size; $i++) { + if ($extensions[$i] instanceof Element) { + continue; + } + + $id = $extensions[$i]['extnId']; + $value = &$extensions[$i]['extnValue']; + + switch ($id) { + case 'id-ce-certificatePolicies': + for ($j = 0; $j < count($value); $j++) { + if (!isset($value[$j]['policyQualifiers'])) { + continue; + } + for ($k = 0; $k < count($value[$j]['policyQualifiers']); $k++) { + $subid = $value[$j]['policyQualifiers'][$k]['policyQualifierId']; + $map = $this->_getMapping($subid); + $subvalue = &$value[$j]['policyQualifiers'][$k]['qualifier']; + if ($map !== false) { + // by default \phpseclib\File\ASN1 will try to render qualifier as a \phpseclib\File\ASN1::TYPE_IA5_STRING since it's + // actual type is \phpseclib\File\ASN1::TYPE_ANY + $subvalue = new Element($asn1->encodeDER($subvalue, $map)); + } + } + } + break; + case 'id-ce-authorityKeyIdentifier': // use 00 as the serial number instead of an empty string + if (isset($value['authorityCertSerialNumber'])) { + if ($value['authorityCertSerialNumber']->toBytes() == '') { + $temp = chr((ASN1::CLASS_CONTEXT_SPECIFIC << 6) | 2) . "\1\0"; + $value['authorityCertSerialNumber'] = new Element($temp); + } + } + } + + /* [extnValue] contains the DER encoding of an ASN.1 value + corresponding to the extension type identified by extnID */ + $map = $this->_getMapping($id); + if (is_bool($map)) { + if (!$map) { + user_error($id . ' is not a currently supported extension'); + unset($extensions[$i]); + } + } else { + $temp = $asn1->encodeDER($value, $map, array('iPAddress' => array($this, '_encodeIP'))); + $value = base64_encode($temp); + } + } + } + } + + /** + * Map attribute values from ANY type to attribute-specific internal + * format. + * + * @param array ref $root + * @param string $path + * @param object $asn1 + * @access private + */ + function _mapInAttributes(&$root, $path, $asn1) + { + $attributes = &$this->_subArray($root, $path); + + if (is_array($attributes)) { + for ($i = 0; $i < count($attributes); $i++) { + $id = $attributes[$i]['type']; + /* $value contains the DER encoding of an ASN.1 value + corresponding to the attribute type identified by type */ + $map = $this->_getMapping($id); + if (is_array($attributes[$i]['value'])) { + $values = &$attributes[$i]['value']; + for ($j = 0; $j < count($values); $j++) { + $value = $asn1->encodeDER($values[$j], $this->AttributeValue); + $decoded = $asn1->decodeBER($value); + if (!is_bool($map)) { + $mapped = $asn1->asn1map($decoded[0], $map); + if ($mapped !== false) { + $values[$j] = $mapped; + } + if ($id == 'pkcs-9-at-extensionRequest' && $this->_isSubArrayValid($values, $j)) { + $this->_mapInExtensions($values, $j, $asn1); + } + } elseif ($map) { + $values[$j] = base64_encode($value); + } + } + } + } + } + } + + /** + * Map attribute values from attribute-specific internal format to + * ANY type. + * + * @param array ref $root + * @param string $path + * @param object $asn1 + * @access private + */ + function _mapOutAttributes(&$root, $path, $asn1) + { + $attributes = &$this->_subArray($root, $path); + + if (is_array($attributes)) { + $size = count($attributes); + for ($i = 0; $i < $size; $i++) { + /* [value] contains the DER encoding of an ASN.1 value + corresponding to the attribute type identified by type */ + $id = $attributes[$i]['type']; + $map = $this->_getMapping($id); + if ($map === false) { + user_error($id . ' is not a currently supported attribute', E_USER_NOTICE); + unset($attributes[$i]); + } elseif (is_array($attributes[$i]['value'])) { + $values = &$attributes[$i]['value']; + for ($j = 0; $j < count($values); $j++) { + switch ($id) { + case 'pkcs-9-at-extensionRequest': + $this->_mapOutExtensions($values, $j, $asn1); + break; + } + + if (!is_bool($map)) { + $temp = $asn1->encodeDER($values[$j], $map); + $decoded = $asn1->decodeBER($temp); + $values[$j] = $asn1->asn1map($decoded[0], $this->AttributeValue); + } + } + } + } + } + } + + /** + * Map DN values from ANY type to DN-specific internal + * format. + * + * @param array ref $root + * @param string $path + * @param object $asn1 + * @access private + */ + function _mapInDNs(&$root, $path, $asn1) + { + $dns = &$this->_subArray($root, $path); + + if (is_array($dns)) { + for ($i = 0; $i < count($dns); $i++) { + for ($j = 0; $j < count($dns[$i]); $j++) { + $type = $dns[$i][$j]['type']; + $value = &$dns[$i][$j]['value']; + if (is_object($value) && $value instanceof Element) { + $map = $this->_getMapping($type); + if (!is_bool($map)) { + $decoded = $asn1->decodeBER($value); + $value = $asn1->asn1map($decoded[0], $map); + } + } + } + } + } + } + + /** + * Map DN values from DN-specific internal format to + * ANY type. + * + * @param array ref $root + * @param string $path + * @param object $asn1 + * @access private + */ + function _mapOutDNs(&$root, $path, $asn1) + { + $dns = &$this->_subArray($root, $path); + + if (is_array($dns)) { + $size = count($dns); + for ($i = 0; $i < $size; $i++) { + for ($j = 0; $j < count($dns[$i]); $j++) { + $type = $dns[$i][$j]['type']; + $value = &$dns[$i][$j]['value']; + if (is_object($value) && $value instanceof Element) { + continue; + } + + $map = $this->_getMapping($type); + if (!is_bool($map)) { + $value = new Element($asn1->encodeDER($value, $map)); + } + } + } + } + } + + /** + * Associate an extension ID to an extension mapping + * + * @param string $extnId + * @access private + * @return mixed + */ + function _getMapping($extnId) + { + if (!is_string($extnId)) { // eg. if it's a \phpseclib\File\ASN1\Element object + return true; + } + + switch ($extnId) { + case 'id-ce-keyUsage': + return $this->KeyUsage; + case 'id-ce-basicConstraints': + return $this->BasicConstraints; + case 'id-ce-subjectKeyIdentifier': + return $this->KeyIdentifier; + case 'id-ce-cRLDistributionPoints': + return $this->CRLDistributionPoints; + case 'id-ce-authorityKeyIdentifier': + return $this->AuthorityKeyIdentifier; + case 'id-ce-certificatePolicies': + return $this->CertificatePolicies; + case 'id-ce-extKeyUsage': + return $this->ExtKeyUsageSyntax; + case 'id-pe-authorityInfoAccess': + return $this->AuthorityInfoAccessSyntax; + case 'id-ce-subjectAltName': + return $this->SubjectAltName; + case 'id-ce-subjectDirectoryAttributes': + return $this->SubjectDirectoryAttributes; + case 'id-ce-privateKeyUsagePeriod': + return $this->PrivateKeyUsagePeriod; + case 'id-ce-issuerAltName': + return $this->IssuerAltName; + case 'id-ce-policyMappings': + return $this->PolicyMappings; + case 'id-ce-nameConstraints': + return $this->NameConstraints; + + case 'netscape-cert-type': + return $this->netscape_cert_type; + case 'netscape-comment': + return $this->netscape_comment; + case 'netscape-ca-policy-url': + return $this->netscape_ca_policy_url; + + // since id-qt-cps isn't a constructed type it will have already been decoded as a string by the time it gets + // back around to asn1map() and we don't want it decoded again. + //case 'id-qt-cps': + // return $this->CPSuri; + case 'id-qt-unotice': + return $this->UserNotice; + + // the following OIDs are unsupported but we don't want them to give notices when calling saveX509(). + case 'id-pe-logotype': // http://www.ietf.org/rfc/rfc3709.txt + case 'entrustVersInfo': + // http://support.microsoft.com/kb/287547 + case '1.3.6.1.4.1.311.20.2': // szOID_ENROLL_CERTTYPE_EXTENSION + case '1.3.6.1.4.1.311.21.1': // szOID_CERTSRV_CA_VERSION + // "SET Secure Electronic Transaction Specification" + // http://www.maithean.com/docs/set_bk3.pdf + case '2.23.42.7.0': // id-set-hashedRootKey + return true; + + // CSR attributes + case 'pkcs-9-at-unstructuredName': + return $this->PKCS9String; + case 'pkcs-9-at-challengePassword': + return $this->DirectoryString; + case 'pkcs-9-at-extensionRequest': + return $this->Extensions; + + // CRL extensions. + case 'id-ce-cRLNumber': + return $this->CRLNumber; + case 'id-ce-deltaCRLIndicator': + return $this->CRLNumber; + case 'id-ce-issuingDistributionPoint': + return $this->IssuingDistributionPoint; + case 'id-ce-freshestCRL': + return $this->CRLDistributionPoints; + case 'id-ce-cRLReasons': + return $this->CRLReason; + case 'id-ce-invalidityDate': + return $this->InvalidityDate; + case 'id-ce-certificateIssuer': + return $this->CertificateIssuer; + case 'id-ce-holdInstructionCode': + return $this->HoldInstructionCode; + case 'id-at-postalAddress': + return $this->PostalAddress; + } + + return false; + } + + /** + * Load an X.509 certificate as a certificate authority + * + * @param string $cert + * @access public + * @return bool + */ + function loadCA($cert) + { + $olddn = $this->dn; + $oldcert = $this->currentCert; + $oldsigsubj = $this->signatureSubject; + $oldkeyid = $this->currentKeyIdentifier; + + $cert = $this->loadX509($cert); + if (!$cert) { + $this->dn = $olddn; + $this->currentCert = $oldcert; + $this->signatureSubject = $oldsigsubj; + $this->currentKeyIdentifier = $oldkeyid; + + return false; + } + + /* From RFC5280 "PKIX Certificate and CRL Profile": + + If the keyUsage extension is present, then the subject public key + MUST NOT be used to verify signatures on certificates or CRLs unless + the corresponding keyCertSign or cRLSign bit is set. */ + //$keyUsage = $this->getExtension('id-ce-keyUsage'); + //if ($keyUsage && !in_array('keyCertSign', $keyUsage)) { + // return false; + //} + + /* From RFC5280 "PKIX Certificate and CRL Profile": + + The cA boolean indicates whether the certified public key may be used + to verify certificate signatures. If the cA boolean is not asserted, + then the keyCertSign bit in the key usage extension MUST NOT be + asserted. If the basic constraints extension is not present in a + version 3 certificate, or the extension is present but the cA boolean + is not asserted, then the certified public key MUST NOT be used to + verify certificate signatures. */ + //$basicConstraints = $this->getExtension('id-ce-basicConstraints'); + //if (!$basicConstraints || !$basicConstraints['cA']) { + // return false; + //} + + $this->CAs[] = $cert; + + $this->dn = $olddn; + $this->currentCert = $oldcert; + $this->signatureSubject = $oldsigsubj; + + return true; + } + + /** + * Validate an X.509 certificate against a URL + * + * From RFC2818 "HTTP over TLS": + * + * Matching is performed using the matching rules specified by + * [RFC2459]. If more than one identity of a given type is present in + * the certificate (e.g., more than one dNSName name, a match in any one + * of the set is considered acceptable.) Names may contain the wildcard + * character * which is considered to match any single domain name + * component or component fragment. E.g., *.a.com matches foo.a.com but + * not bar.foo.a.com. f*.com matches foo.com but not bar.com. + * + * @param string $url + * @access public + * @return bool + */ + function validateURL($url) + { + if (!is_array($this->currentCert) || !isset($this->currentCert['tbsCertificate'])) { + return false; + } + + $components = parse_url($url); + if (!isset($components['host'])) { + return false; + } + + if ($names = $this->getExtension('id-ce-subjectAltName')) { + foreach ($names as $key => $value) { + $value = str_replace(array('.', '*'), array('\.', '[^.]*'), $value); + switch ($key) { + case 'dNSName': + /* From RFC2818 "HTTP over TLS": + + If a subjectAltName extension of type dNSName is present, that MUST + be used as the identity. Otherwise, the (most specific) Common Name + field in the Subject field of the certificate MUST be used. Although + the use of the Common Name is existing practice, it is deprecated and + Certification Authorities are encouraged to use the dNSName instead. */ + if (preg_match('#^' . $value . '$#', $components['host'])) { + return true; + } + break; + case 'iPAddress': + /* From RFC2818 "HTTP over TLS": + + In some cases, the URI is specified as an IP address rather than a + hostname. In this case, the iPAddress subjectAltName must be present + in the certificate and must exactly match the IP in the URI. */ + if (preg_match('#(?:\d{1-3}\.){4}#', $components['host'] . '.') && preg_match('#^' . $value . '$#', $components['host'])) { + return true; + } + } + } + return false; + } + + if ($value = $this->getDNProp('id-at-commonName')) { + $value = str_replace(array('.', '*'), array('\.', '[^.]*'), $value[0]); + return preg_match('#^' . $value . '$#', $components['host']); + } + + return false; + } + + /** + * Validate a date + * + * If $date isn't defined it is assumed to be the current date. + * + * @param int $date optional + * @access public + */ + function validateDate($date = null) + { + if (!is_array($this->currentCert) || !isset($this->currentCert['tbsCertificate'])) { + return false; + } + + if (!isset($date)) { + $date = time(); + } + + $notBefore = $this->currentCert['tbsCertificate']['validity']['notBefore']; + $notBefore = isset($notBefore['generalTime']) ? $notBefore['generalTime'] : $notBefore['utcTime']; + + $notAfter = $this->currentCert['tbsCertificate']['validity']['notAfter']; + $notAfter = isset($notAfter['generalTime']) ? $notAfter['generalTime'] : $notAfter['utcTime']; + + switch (true) { + case $date < @strtotime($notBefore): + case $date > @strtotime($notAfter): + return false; + } + + return true; + } + + /** + * Validate a signature + * + * Works on X.509 certs, CSR's and CRL's. + * Returns true if the signature is verified, false if it is not correct or null on error + * + * By default returns false for self-signed certs. Call validateSignature(false) to make this support + * self-signed. + * + * The behavior of this function is inspired by {@link http://php.net/openssl-verify openssl_verify}. + * + * @param bool $caonly optional + * @access public + * @return mixed + */ + function validateSignature($caonly = true) + { + if (!is_array($this->currentCert) || !isset($this->signatureSubject)) { + return null; + } + + /* TODO: + "emailAddress attribute values are not case-sensitive (e.g., "subscriber@example.com" is the same as "SUBSCRIBER@EXAMPLE.COM")." + -- http://tools.ietf.org/html/rfc5280#section-4.1.2.6 + + implement pathLenConstraint in the id-ce-basicConstraints extension */ + + switch (true) { + case isset($this->currentCert['tbsCertificate']): + // self-signed cert + switch (true) { + case !defined('FILE_X509_IGNORE_TYPE') && $this->currentCert['tbsCertificate']['issuer'] === $this->currentCert['tbsCertificate']['subject']: + case defined('FILE_X509_IGNORE_TYPE') && $this->getIssuerDN(self::DN_STRING) === $this->getDN(self::DN_STRING): + $authorityKey = $this->getExtension('id-ce-authorityKeyIdentifier'); + $subjectKeyID = $this->getExtension('id-ce-subjectKeyIdentifier'); + switch (true) { + case !is_array($authorityKey): + case is_array($authorityKey) && isset($authorityKey['keyIdentifier']) && $authorityKey['keyIdentifier'] === $subjectKeyID: + $signingCert = $this->currentCert; // working cert + } + } + + if (!empty($this->CAs)) { + for ($i = 0; $i < count($this->CAs); $i++) { + // even if the cert is a self-signed one we still want to see if it's a CA; + // if not, we'll conditionally return an error + $ca = $this->CAs[$i]; + switch (true) { + case !defined('FILE_X509_IGNORE_TYPE') && $this->currentCert['tbsCertificate']['issuer'] === $ca['tbsCertificate']['subject']: + case defined('FILE_X509_IGNORE_TYPE') && $this->getDN(self::DN_STRING, $this->currentCert['tbsCertificate']['issuer']) === $this->getDN(self::DN_STRING, $ca['tbsCertificate']['subject']): + $authorityKey = $this->getExtension('id-ce-authorityKeyIdentifier'); + $subjectKeyID = $this->getExtension('id-ce-subjectKeyIdentifier', $ca); + switch (true) { + case !is_array($authorityKey): + case is_array($authorityKey) && isset($authorityKey['keyIdentifier']) && $authorityKey['keyIdentifier'] === $subjectKeyID: + $signingCert = $ca; // working cert + break 3; + } + } + } + if (count($this->CAs) == $i && $caonly) { + return false; + } + } elseif (!isset($signingCert) || $caonly) { + return false; + } + return $this->_validateSignature( + $signingCert['tbsCertificate']['subjectPublicKeyInfo']['algorithm']['algorithm'], + $signingCert['tbsCertificate']['subjectPublicKeyInfo']['subjectPublicKey'], + $this->currentCert['signatureAlgorithm']['algorithm'], + substr(base64_decode($this->currentCert['signature']), 1), + $this->signatureSubject + ); + case isset($this->currentCert['certificationRequestInfo']): + return $this->_validateSignature( + $this->currentCert['certificationRequestInfo']['subjectPKInfo']['algorithm']['algorithm'], + $this->currentCert['certificationRequestInfo']['subjectPKInfo']['subjectPublicKey'], + $this->currentCert['signatureAlgorithm']['algorithm'], + substr(base64_decode($this->currentCert['signature']), 1), + $this->signatureSubject + ); + case isset($this->currentCert['publicKeyAndChallenge']): + return $this->_validateSignature( + $this->currentCert['publicKeyAndChallenge']['spki']['algorithm']['algorithm'], + $this->currentCert['publicKeyAndChallenge']['spki']['subjectPublicKey'], + $this->currentCert['signatureAlgorithm']['algorithm'], + substr(base64_decode($this->currentCert['signature']), 1), + $this->signatureSubject + ); + case isset($this->currentCert['tbsCertList']): + if (!empty($this->CAs)) { + for ($i = 0; $i < count($this->CAs); $i++) { + $ca = $this->CAs[$i]; + switch (true) { + case !defined('FILE_X509_IGNORE_TYPE') && $this->currentCert['tbsCertList']['issuer'] === $ca['tbsCertificate']['subject']: + case defined('FILE_X509_IGNORE_TYPE') && $this->getDN(self::DN_STRING, $this->currentCert['tbsCertList']['issuer']) === $this->getDN(self::DN_STRING, $ca['tbsCertificate']['subject']): + $authorityKey = $this->getExtension('id-ce-authorityKeyIdentifier'); + $subjectKeyID = $this->getExtension('id-ce-subjectKeyIdentifier', $ca); + switch (true) { + case !is_array($authorityKey): + case is_array($authorityKey) && isset($authorityKey['keyIdentifier']) && $authorityKey['keyIdentifier'] === $subjectKeyID: + $signingCert = $ca; // working cert + break 3; + } + } + } + } + if (!isset($signingCert)) { + return false; + } + return $this->_validateSignature( + $signingCert['tbsCertificate']['subjectPublicKeyInfo']['algorithm']['algorithm'], + $signingCert['tbsCertificate']['subjectPublicKeyInfo']['subjectPublicKey'], + $this->currentCert['signatureAlgorithm']['algorithm'], + substr(base64_decode($this->currentCert['signature']), 1), + $this->signatureSubject + ); + default: + return false; + } + } + + /** + * Validates a signature + * + * Returns true if the signature is verified, false if it is not correct or null on error + * + * @param string $publicKeyAlgorithm + * @param string $publicKey + * @param string $signatureAlgorithm + * @param string $signature + * @param string $signatureSubject + * @access private + * @return int + */ + function _validateSignature($publicKeyAlgorithm, $publicKey, $signatureAlgorithm, $signature, $signatureSubject) + { + switch ($publicKeyAlgorithm) { + case 'rsaEncryption': + $rsa = new RSA(); + $rsa->loadKey($publicKey); + + switch ($signatureAlgorithm) { + case 'md2WithRSAEncryption': + case 'md5WithRSAEncryption': + case 'sha1WithRSAEncryption': + case 'sha224WithRSAEncryption': + case 'sha256WithRSAEncryption': + case 'sha384WithRSAEncryption': + case 'sha512WithRSAEncryption': + $rsa->setHash(preg_replace('#WithRSAEncryption$#', '', $signatureAlgorithm)); + $rsa->setSignatureMode(RSA::SIGNATURE_PKCS1); + if (!@$rsa->verify($signatureSubject, $signature)) { + return false; + } + break; + default: + return null; + } + break; + default: + return null; + } + + return true; + } + + /** + * Reformat public keys + * + * Reformats a public key to a format supported by phpseclib (if applicable) + * + * @param string $algorithm + * @param string $key + * @access private + * @return string + */ + function _reformatKey($algorithm, $key) + { + switch ($algorithm) { + case 'rsaEncryption': + return + "-----BEGIN RSA PUBLIC KEY-----\r\n" . + // subjectPublicKey is stored as a bit string in X.509 certs. the first byte of a bit string represents how many bits + // in the last byte should be ignored. the following only supports non-zero stuff but as none of the X.509 certs Firefox + // uses as a cert authority actually use a non-zero bit I think it's safe to assume that none do. + chunk_split(base64_encode(substr(base64_decode($key), 1)), 64) . + '-----END RSA PUBLIC KEY-----'; + default: + return $key; + } + } + + /** + * Decodes an IP address + * + * Takes in a base64 encoded "blob" and returns a human readable IP address + * + * @param string $ip + * @access private + * @return string + */ + function _decodeIP($ip) + { + return inet_ntop(base64_decode($ip)); + } + + /** + * Encodes an IP address + * + * Takes a human readable IP address into a base64-encoded "blob" + * + * @param string $ip + * @access private + * @return string + */ + function _encodeIP($ip) + { + return base64_encode(inet_pton($ip)); + } + + /** + * "Normalizes" a Distinguished Name property + * + * @param string $propName + * @access private + * @return mixed + */ + function _translateDNProp($propName) + { + switch (strtolower($propName)) { + case 'id-at-countryname': + case 'countryname': + case 'c': + return 'id-at-countryName'; + case 'id-at-organizationname': + case 'organizationname': + case 'o': + return 'id-at-organizationName'; + case 'id-at-dnqualifier': + case 'dnqualifier': + return 'id-at-dnQualifier'; + case 'id-at-commonname': + case 'commonname': + case 'cn': + return 'id-at-commonName'; + case 'id-at-stateorprovincename': + case 'stateorprovincename': + case 'state': + case 'province': + case 'provincename': + case 'st': + return 'id-at-stateOrProvinceName'; + case 'id-at-localityname': + case 'localityname': + case 'l': + return 'id-at-localityName'; + case 'id-emailaddress': + case 'emailaddress': + return 'pkcs-9-at-emailAddress'; + case 'id-at-serialnumber': + case 'serialnumber': + return 'id-at-serialNumber'; + case 'id-at-postalcode': + case 'postalcode': + return 'id-at-postalCode'; + case 'id-at-streetaddress': + case 'streetaddress': + return 'id-at-streetAddress'; + case 'id-at-name': + case 'name': + return 'id-at-name'; + case 'id-at-givenname': + case 'givenname': + return 'id-at-givenName'; + case 'id-at-surname': + case 'surname': + case 'sn': + return 'id-at-surname'; + case 'id-at-initials': + case 'initials': + return 'id-at-initials'; + case 'id-at-generationqualifier': + case 'generationqualifier': + return 'id-at-generationQualifier'; + case 'id-at-organizationalunitname': + case 'organizationalunitname': + case 'ou': + return 'id-at-organizationalUnitName'; + case 'id-at-pseudonym': + case 'pseudonym': + return 'id-at-pseudonym'; + case 'id-at-title': + case 'title': + return 'id-at-title'; + case 'id-at-description': + case 'description': + return 'id-at-description'; + case 'id-at-role': + case 'role': + return 'id-at-role'; + case 'id-at-uniqueidentifier': + case 'uniqueidentifier': + case 'x500uniqueidentifier': + return 'id-at-uniqueIdentifier'; + case 'postaladdress': + case 'id-at-postaladdress': + return 'id-at-postalAddress'; + default: + return false; + } + } + + /** + * Set a Distinguished Name property + * + * @param string $propName + * @param mixed $propValue + * @param string $type optional + * @access public + * @return bool + */ + function setDNProp($propName, $propValue, $type = 'utf8String') + { + if (empty($this->dn)) { + $this->dn = array('rdnSequence' => array()); + } + + if (($propName = $this->_translateDNProp($propName)) === false) { + return false; + } + + foreach ((array) $propValue as $v) { + if (!is_array($v) && isset($type)) { + $v = array($type => $v); + } + $this->dn['rdnSequence'][] = array( + array( + 'type' => $propName, + 'value'=> $v + ) + ); + } + + return true; + } + + /** + * Remove Distinguished Name properties + * + * @param string $propName + * @access public + */ + function removeDNProp($propName) + { + if (empty($this->dn)) { + return; + } + + if (($propName = $this->_translateDNProp($propName)) === false) { + return; + } + + $dn = &$this->dn['rdnSequence']; + $size = count($dn); + for ($i = 0; $i < $size; $i++) { + if ($dn[$i][0]['type'] == $propName) { + unset($dn[$i]); + } + } + + $dn = array_values($dn); + } + + /** + * Get Distinguished Name properties + * + * @param string $propName + * @param array $dn optional + * @param bool $withType optional + * @return mixed + * @access public + */ + function getDNProp($propName, $dn = null, $withType = false) + { + if (!isset($dn)) { + $dn = $this->dn; + } + + if (empty($dn)) { + return false; + } + + if (($propName = $this->_translateDNProp($propName)) === false) { + return false; + } + + $asn1 = new ASN1(); + $asn1->loadOIDs($this->oids); + $filters = array(); + $filters['value'] = array('type' => ASN1::TYPE_UTF8_STRING); + $asn1->loadFilters($filters); + $this->_mapOutDNs($dn, 'rdnSequence', $asn1); + $dn = $dn['rdnSequence']; + $result = array(); + for ($i = 0; $i < count($dn); $i++) { + if ($dn[$i][0]['type'] == $propName) { + $v = $dn[$i][0]['value']; + if (!$withType) { + if (is_array($v)) { + foreach ($v as $type => $s) { + $type = array_search($type, $asn1->ANYmap, true); + if ($type !== false && isset($asn1->stringTypeSize[$type])) { + $s = $asn1->convert($s, $type); + if ($s !== false) { + $v = $s; + break; + } + } + } + if (is_array($v)) { + $v = array_pop($v); // Always strip data type. + } + } elseif (is_object($v) && $v instanceof Element) { + $map = $this->_getMapping($propName); + if (!is_bool($map)) { + $decoded = $asn1->decodeBER($v); + $v = $asn1->asn1map($decoded[0], $map); + } + } + } + $result[] = $v; + } + } + + return $result; + } + + /** + * Set a Distinguished Name + * + * @param mixed $dn + * @param bool $merge optional + * @param string $type optional + * @access public + * @return bool + */ + function setDN($dn, $merge = false, $type = 'utf8String') + { + if (!$merge) { + $this->dn = null; + } + + if (is_array($dn)) { + if (isset($dn['rdnSequence'])) { + $this->dn = $dn; // No merge here. + return true; + } + + // handles stuff generated by openssl_x509_parse() + foreach ($dn as $prop => $value) { + if (!$this->setDNProp($prop, $value, $type)) { + return false; + } + } + return true; + } + + // handles everything else + $results = preg_split('#((?:^|, *|/)(?:C=|O=|OU=|CN=|L=|ST=|SN=|postalCode=|streetAddress=|emailAddress=|serialNumber=|organizationalUnitName=|title=|description=|role=|x500UniqueIdentifier=|postalAddress=))#', $dn, -1, PREG_SPLIT_DELIM_CAPTURE); + for ($i = 1; $i < count($results); $i+=2) { + $prop = trim($results[$i], ', =/'); + $value = $results[$i + 1]; + if (!$this->setDNProp($prop, $value, $type)) { + return false; + } + } + + return true; + } + + /** + * Get the Distinguished Name for a certificates subject + * + * @param mixed $format optional + * @param array $dn optional + * @access public + * @return bool + */ + function getDN($format = self::DN_ARRAY, $dn = null) + { + if (!isset($dn)) { + $dn = isset($this->currentCert['tbsCertList']) ? $this->currentCert['tbsCertList']['issuer'] : $this->dn; + } + + switch ((int) $format) { + case self::DN_ARRAY: + return $dn; + case self::DN_ASN1: + $asn1 = new ASN1(); + $asn1->loadOIDs($this->oids); + $filters = array(); + $filters['rdnSequence']['value'] = array('type' => ASN1::TYPE_UTF8_STRING); + $asn1->loadFilters($filters); + $this->_mapOutDNs($dn, 'rdnSequence', $asn1); + return $asn1->encodeDER($dn, $this->Name); + case self::DN_CANON: + // No SEQUENCE around RDNs and all string values normalized as + // trimmed lowercase UTF-8 with all spacing as one blank. + // constructed RDNs will not be canonicalized + $asn1 = new ASN1(); + $asn1->loadOIDs($this->oids); + $filters = array(); + $filters['value'] = array('type' => ASN1::TYPE_UTF8_STRING); + $asn1->loadFilters($filters); + $result = ''; + $this->_mapOutDNs($dn, 'rdnSequence', $asn1); + foreach ($dn['rdnSequence'] as $rdn) { + foreach ($rdn as $i => $attr) { + $attr = &$rdn[$i]; + if (is_array($attr['value'])) { + foreach ($attr['value'] as $type => $v) { + $type = array_search($type, $asn1->ANYmap, true); + if ($type !== false && isset($asn1->stringTypeSize[$type])) { + $v = $asn1->convert($v, $type); + if ($v !== false) { + $v = preg_replace('/\s+/', ' ', $v); + $attr['value'] = strtolower(trim($v)); + break; + } + } + } + } + } + $result .= $asn1->encodeDER($rdn, $this->RelativeDistinguishedName); + } + return $result; + case self::DN_HASH: + $dn = $this->getDN(self::DN_CANON, $dn); + $hash = new Hash('sha1'); + $hash = $hash->hash($dn); + extract(unpack('Vhash', $hash)); + return strtolower(bin2hex(pack('N', $hash))); + } + + // Default is to return a string. + $start = true; + $output = ''; + + $result = array(); + $asn1 = new ASN1(); + $asn1->loadOIDs($this->oids); + $filters = array(); + $filters['rdnSequence']['value'] = array('type' => ASN1::TYPE_UTF8_STRING); + $asn1->loadFilters($filters); + $this->_mapOutDNs($dn, 'rdnSequence', $asn1); + + foreach ($dn['rdnSequence'] as $field) { + $prop = $field[0]['type']; + $value = $field[0]['value']; + + $delim = ', '; + switch ($prop) { + case 'id-at-countryName': + $desc = 'C'; + break; + case 'id-at-stateOrProvinceName': + $desc = 'ST'; + break; + case 'id-at-organizationName': + $desc = 'O'; + break; + case 'id-at-organizationalUnitName': + $desc = 'OU'; + break; + case 'id-at-commonName': + $desc = 'CN'; + break; + case 'id-at-localityName': + $desc = 'L'; + break; + case 'id-at-surname': + $desc = 'SN'; + break; + case 'id-at-uniqueIdentifier': + $delim = '/'; + $desc = 'x500UniqueIdentifier'; + break; + case 'id-at-postalAddress': + $delim = '/'; + $desc = 'postalAddress'; + break; + default: + $delim = '/'; + $desc = preg_replace('#.+-([^-]+)$#', '$1', $prop); + } + + if (!$start) { + $output.= $delim; + } + if (is_array($value)) { + foreach ($value as $type => $v) { + $type = array_search($type, $asn1->ANYmap, true); + if ($type !== false && isset($asn1->stringTypeSize[$type])) { + $v = $asn1->convert($v, $type); + if ($v !== false) { + $value = $v; + break; + } + } + } + if (is_array($value)) { + $value = array_pop($value); // Always strip data type. + } + } elseif (is_object($value) && $value instanceof Element) { + $callback = create_function('$x', 'return "\x" . bin2hex($x[0]);'); + $value = strtoupper(preg_replace_callback('#[^\x20-\x7E]#', $callback, $value->element)); + } + $output.= $desc . '=' . $value; + $result[$desc] = isset($result[$desc]) ? + array_merge((array) $dn[$prop], array($value)) : + $value; + $start = false; + } + + return $format == self::DN_OPENSSL ? $result : $output; + } + + /** + * Get the Distinguished Name for a certificate/crl issuer + * + * @param int $format optional + * @access public + * @return mixed + */ + function getIssuerDN($format = self::DN_ARRAY) + { + switch (true) { + case !isset($this->currentCert) || !is_array($this->currentCert): + break; + case isset($this->currentCert['tbsCertificate']): + return $this->getDN($format, $this->currentCert['tbsCertificate']['issuer']); + case isset($this->currentCert['tbsCertList']): + return $this->getDN($format, $this->currentCert['tbsCertList']['issuer']); + } + + return false; + } + + /** + * Get the Distinguished Name for a certificate/csr subject + * Alias of getDN() + * + * @param int $format optional + * @access public + * @return mixed + */ + function getSubjectDN($format = self::DN_ARRAY) + { + switch (true) { + case !empty($this->dn): + return $this->getDN($format); + case !isset($this->currentCert) || !is_array($this->currentCert): + break; + case isset($this->currentCert['tbsCertificate']): + return $this->getDN($format, $this->currentCert['tbsCertificate']['subject']); + case isset($this->currentCert['certificationRequestInfo']): + return $this->getDN($format, $this->currentCert['certificationRequestInfo']['subject']); + } + + return false; + } + + /** + * Get an individual Distinguished Name property for a certificate/crl issuer + * + * @param string $propName + * @param bool $withType optional + * @access public + * @return mixed + */ + function getIssuerDNProp($propName, $withType = false) + { + switch (true) { + case !isset($this->currentCert) || !is_array($this->currentCert): + break; + case isset($this->currentCert['tbsCertificate']): + return $this->getDNProp($propName, $this->currentCert['tbsCertificate']['issuer'], $withType); + case isset($this->currentCert['tbsCertList']): + return $this->getDNProp($propName, $this->currentCert['tbsCertList']['issuer'], $withType); + } + + return false; + } + + /** + * Get an individual Distinguished Name property for a certificate/csr subject + * + * @param string $propName + * @param bool $withType optional + * @access public + * @return mixed + */ + function getSubjectDNProp($propName, $withType = false) + { + switch (true) { + case !empty($this->dn): + return $this->getDNProp($propName, null, $withType); + case !isset($this->currentCert) || !is_array($this->currentCert): + break; + case isset($this->currentCert['tbsCertificate']): + return $this->getDNProp($propName, $this->currentCert['tbsCertificate']['subject'], $withType); + case isset($this->currentCert['certificationRequestInfo']): + return $this->getDNProp($propName, $this->currentCert['certificationRequestInfo']['subject'], $withType); + } + + return false; + } + + /** + * Get the certificate chain for the current cert + * + * @access public + * @return mixed + */ + function getChain() + { + $chain = array($this->currentCert); + + if (!is_array($this->currentCert) || !isset($this->currentCert['tbsCertificate'])) { + return false; + } + if (empty($this->CAs)) { + return $chain; + } + while (true) { + $currentCert = $chain[count($chain) - 1]; + for ($i = 0; $i < count($this->CAs); $i++) { + $ca = $this->CAs[$i]; + if ($currentCert['tbsCertificate']['issuer'] === $ca['tbsCertificate']['subject']) { + $authorityKey = $this->getExtension('id-ce-authorityKeyIdentifier', $currentCert); + $subjectKeyID = $this->getExtension('id-ce-subjectKeyIdentifier', $ca); + switch (true) { + case !is_array($authorityKey): + case is_array($authorityKey) && isset($authorityKey['keyIdentifier']) && $authorityKey['keyIdentifier'] === $subjectKeyID: + if ($currentCert === $ca) { + break 3; + } + $chain[] = $ca; + break 2; + } + } + } + if ($i == count($this->CAs)) { + break; + } + } + foreach ($chain as $key => $value) { + $chain[$key] = new X509(); + $chain[$key]->loadX509($value); + } + return $chain; + } + + /** + * Set public key + * + * Key needs to be a \phpseclib\Crypt\RSA object + * + * @param object $key + * @access public + * @return bool + */ + function setPublicKey($key) + { + $key->setPublicKey(); + $this->publicKey = $key; + } + + /** + * Set private key + * + * Key needs to be a \phpseclib\Crypt\RSA object + * + * @param object $key + * @access public + */ + function setPrivateKey($key) + { + $this->privateKey = $key; + } + + /** + * Set challenge + * + * Used for SPKAC CSR's + * + * @param string $challenge + * @access public + */ + function setChallenge($challenge) + { + $this->challenge = $challenge; + } + + /** + * Gets the public key + * + * Returns a \phpseclib\Crypt\RSA object or a false. + * + * @access public + * @return mixed + */ + function getPublicKey() + { + if (isset($this->publicKey)) { + return $this->publicKey; + } + + if (isset($this->currentCert) && is_array($this->currentCert)) { + foreach (array('tbsCertificate/subjectPublicKeyInfo', 'certificationRequestInfo/subjectPKInfo') as $path) { + $keyinfo = $this->_subArray($this->currentCert, $path); + if (!empty($keyinfo)) { + break; + } + } + } + if (empty($keyinfo)) { + return false; + } + + $key = $keyinfo['subjectPublicKey']; + + switch ($keyinfo['algorithm']['algorithm']) { + case 'rsaEncryption': + $publicKey = new RSA(); + $publicKey->loadKey($key); + $publicKey->setPublicKey(); + break; + default: + return false; + } + + return $publicKey; + } + + /** + * Load a Certificate Signing Request + * + * @param string $csr + * @access public + * @return mixed + */ + function loadCSR($csr, $mode = self::FORMAT_AUTO_DETECT) + { + if (is_array($csr) && isset($csr['certificationRequestInfo'])) { + unset($this->currentCert); + unset($this->currentKeyIdentifier); + unset($this->signatureSubject); + $this->dn = $csr['certificationRequestInfo']['subject']; + if (!isset($this->dn)) { + return false; + } + + $this->currentCert = $csr; + return $csr; + } + + // see http://tools.ietf.org/html/rfc2986 + + $asn1 = new ASN1(); + + if ($mode != self::FORMAT_DER) { + $newcsr = $this->_extractBER($csr); + if ($mode == self::FORMAT_PEM && $csr == $newcsr) { + return false; + } + $csr = $newcsr; + } + $orig = $csr; + + if ($csr === false) { + $this->currentCert = false; + return false; + } + + $asn1->loadOIDs($this->oids); + $decoded = $asn1->decodeBER($csr); + + if (empty($decoded)) { + $this->currentCert = false; + return false; + } + + $csr = $asn1->asn1map($decoded[0], $this->CertificationRequest); + if (!isset($csr) || $csr === false) { + $this->currentCert = false; + return false; + } + + $this->_mapInAttributes($csr, 'certificationRequestInfo/attributes', $asn1); + $this->_mapInDNs($csr, 'certificationRequestInfo/subject/rdnSequence', $asn1); + + $this->dn = $csr['certificationRequestInfo']['subject']; + + $this->signatureSubject = substr($orig, $decoded[0]['content'][0]['start'], $decoded[0]['content'][0]['length']); + + $algorithm = &$csr['certificationRequestInfo']['subjectPKInfo']['algorithm']['algorithm']; + $key = &$csr['certificationRequestInfo']['subjectPKInfo']['subjectPublicKey']; + $key = $this->_reformatKey($algorithm, $key); + + switch ($algorithm) { + case 'rsaEncryption': + $this->publicKey = new RSA(); + $this->publicKey->loadKey($key); + $this->publicKey->setPublicKey(); + break; + default: + $this->publicKey = null; + } + + $this->currentKeyIdentifier = null; + $this->currentCert = $csr; + + return $csr; + } + + /** + * Save CSR request + * + * @param array $csr + * @param int $format optional + * @access public + * @return string + */ + function saveCSR($csr, $format = self::FORMAT_PEM) + { + if (!is_array($csr) || !isset($csr['certificationRequestInfo'])) { + return false; + } + + switch (true) { + case !($algorithm = $this->_subArray($csr, 'certificationRequestInfo/subjectPKInfo/algorithm/algorithm')): + case is_object($csr['certificationRequestInfo']['subjectPKInfo']['subjectPublicKey']): + break; + default: + switch ($algorithm) { + case 'rsaEncryption': + $csr['certificationRequestInfo']['subjectPKInfo']['subjectPublicKey'] + = base64_encode("\0" . base64_decode(preg_replace('#-.+-|[\r\n]#', '', $csr['certificationRequestInfo']['subjectPKInfo']['subjectPublicKey']))); + $csr['certificationRequestInfo']['subjectPKInfo']['algorithm']['parameters'] = null; + $csr['signatureAlgorithm']['parameters'] = null; + $csr['certificationRequestInfo']['signature']['parameters'] = null; + } + } + + $asn1 = new ASN1(); + + $asn1->loadOIDs($this->oids); + + $filters = array(); + $filters['certificationRequestInfo']['subject']['rdnSequence']['value'] + = array('type' => ASN1::TYPE_UTF8_STRING); + + $asn1->loadFilters($filters); + + $this->_mapOutDNs($csr, 'certificationRequestInfo/subject/rdnSequence', $asn1); + $this->_mapOutAttributes($csr, 'certificationRequestInfo/attributes', $asn1); + $csr = $asn1->encodeDER($csr, $this->CertificationRequest); + + switch ($format) { + case self::FORMAT_DER: + return $csr; + // case self::FORMAT_PEM: + default: + return "-----BEGIN CERTIFICATE REQUEST-----\r\n" . chunk_split(base64_encode($csr), 64) . '-----END CERTIFICATE REQUEST-----'; + } + } + + /** + * Load a SPKAC CSR + * + * SPKAC's are produced by the HTML5 keygen element: + * + * https://developer.mozilla.org/en-US/docs/HTML/Element/keygen + * + * @param string $csr + * @access public + * @return mixed + */ + function loadSPKAC($spkac) + { + if (is_array($spkac) && isset($spkac['publicKeyAndChallenge'])) { + unset($this->currentCert); + unset($this->currentKeyIdentifier); + unset($this->signatureSubject); + $this->currentCert = $spkac; + return $spkac; + } + + // see http://www.w3.org/html/wg/drafts/html/master/forms.html#signedpublickeyandchallenge + + $asn1 = new ASN1(); + + // OpenSSL produces SPKAC's that are preceded by the string SPKAC= + $temp = preg_replace('#(?:SPKAC=)|[ \r\n\\\]#', '', $spkac); + $temp = preg_match('#^[a-zA-Z\d/+]*={0,2}$#', $temp) ? base64_decode($temp) : false; + if ($temp != false) { + $spkac = $temp; + } + $orig = $spkac; + + if ($spkac === false) { + $this->currentCert = false; + return false; + } + + $asn1->loadOIDs($this->oids); + $decoded = $asn1->decodeBER($spkac); + + if (empty($decoded)) { + $this->currentCert = false; + return false; + } + + $spkac = $asn1->asn1map($decoded[0], $this->SignedPublicKeyAndChallenge); + + if (!isset($spkac) || $spkac === false) { + $this->currentCert = false; + return false; + } + + $this->signatureSubject = substr($orig, $decoded[0]['content'][0]['start'], $decoded[0]['content'][0]['length']); + + $algorithm = &$spkac['publicKeyAndChallenge']['spki']['algorithm']['algorithm']; + $key = &$spkac['publicKeyAndChallenge']['spki']['subjectPublicKey']; + $key = $this->_reformatKey($algorithm, $key); + + switch ($algorithm) { + case 'rsaEncryption': + $this->publicKey = new RSA(); + $this->publicKey->loadKey($key); + $this->publicKey->setPublicKey(); + break; + default: + $this->publicKey = null; + } + + $this->currentKeyIdentifier = null; + $this->currentCert = $spkac; + + return $spkac; + } + + /** + * Save a SPKAC CSR request + * + * @param array $csr + * @param int $format optional + * @access public + * @return string + */ + function saveSPKAC($spkac, $format = self::FORMAT_PEM) + { + if (!is_array($spkac) || !isset($spkac['publicKeyAndChallenge'])) { + return false; + } + + $algorithm = $this->_subArray($spkac, 'publicKeyAndChallenge/spki/algorithm/algorithm'); + switch (true) { + case !$algorithm: + case is_object($spkac['publicKeyAndChallenge']['spki']['subjectPublicKey']): + break; + default: + switch ($algorithm) { + case 'rsaEncryption': + $spkac['publicKeyAndChallenge']['spki']['subjectPublicKey'] + = base64_encode("\0" . base64_decode(preg_replace('#-.+-|[\r\n]#', '', $spkac['publicKeyAndChallenge']['spki']['subjectPublicKey']))); + } + } + + $asn1 = new ASN1(); + + $asn1->loadOIDs($this->oids); + $spkac = $asn1->encodeDER($spkac, $this->SignedPublicKeyAndChallenge); + + switch ($format) { + case self::FORMAT_DER: + return $spkac; + // case self::FORMAT_PEM: + default: + // OpenSSL's implementation of SPKAC requires the SPKAC be preceded by SPKAC= and since there are pretty much + // no other SPKAC decoders phpseclib will use that same format + return 'SPKAC=' . base64_encode($spkac); + } + } + + /** + * Load a Certificate Revocation List + * + * @param string $crl + * @access public + * @return mixed + */ + function loadCRL($crl, $mode = self::FORMAT_AUTO_DETECT) + { + if (is_array($crl) && isset($crl['tbsCertList'])) { + $this->currentCert = $crl; + unset($this->signatureSubject); + return $crl; + } + + $asn1 = new ASN1(); + + if ($mode != self::FORMAT_DER) { + $newcrl = $this->_extractBER($crl); + if ($mode == self::FORMAT_PEM && $crl == $newcrl) { + return false; + } + $crl = $newcrl; + } + $orig = $crl; + + if ($crl === false) { + $this->currentCert = false; + return false; + } + + $asn1->loadOIDs($this->oids); + $decoded = $asn1->decodeBER($crl); + + if (empty($decoded)) { + $this->currentCert = false; + return false; + } + + $crl = $asn1->asn1map($decoded[0], $this->CertificateList); + if (!isset($crl) || $crl === false) { + $this->currentCert = false; + return false; + } + + $this->signatureSubject = substr($orig, $decoded[0]['content'][0]['start'], $decoded[0]['content'][0]['length']); + + $this->_mapInDNs($crl, 'tbsCertList/issuer/rdnSequence', $asn1); + if ($this->_isSubArrayValid($crl, 'tbsCertList/crlExtensions')) { + $this->_mapInExtensions($crl, 'tbsCertList/crlExtensions', $asn1); + } + if ($this->_isSubArrayValid($crl, 'tbsCertList/revokedCertificates')) { + $rclist_ref = &$this->_subArrayUnchecked($crl, 'tbsCertList/revokedCertificates'); + if ($rclist_ref) { + $rclist = $crl['tbsCertList']['revokedCertificates']; + foreach ($rclist as $i => $extension) { + if ($this->_isSubArrayValid($rclist, "$i/crlEntryExtensions", $asn1)) { + $this->_mapInExtensions($rclist_ref, "$i/crlEntryExtensions", $asn1); + } + } + } + } + + $this->currentKeyIdentifier = null; + $this->currentCert = $crl; + + return $crl; + } + + /** + * Save Certificate Revocation List. + * + * @param array $crl + * @param int $format optional + * @access public + * @return string + */ + function saveCRL($crl, $format = self::FORMAT_PEM) + { + if (!is_array($crl) || !isset($crl['tbsCertList'])) { + return false; + } + + $asn1 = new ASN1(); + + $asn1->loadOIDs($this->oids); + + $filters = array(); + $filters['tbsCertList']['issuer']['rdnSequence']['value'] + = array('type' => ASN1::TYPE_UTF8_STRING); + $filters['tbsCertList']['signature']['parameters'] + = array('type' => ASN1::TYPE_UTF8_STRING); + $filters['signatureAlgorithm']['parameters'] + = array('type' => ASN1::TYPE_UTF8_STRING); + + if (empty($crl['tbsCertList']['signature']['parameters'])) { + $filters['tbsCertList']['signature']['parameters'] + = array('type' => ASN1::TYPE_NULL); + } + + if (empty($crl['signatureAlgorithm']['parameters'])) { + $filters['signatureAlgorithm']['parameters'] + = array('type' => ASN1::TYPE_NULL); + } + + $asn1->loadFilters($filters); + + $this->_mapOutDNs($crl, 'tbsCertList/issuer/rdnSequence', $asn1); + $this->_mapOutExtensions($crl, 'tbsCertList/crlExtensions', $asn1); + $rclist = &$this->_subArray($crl, 'tbsCertList/revokedCertificates'); + if (is_array($rclist)) { + foreach ($rclist as $i => $extension) { + $this->_mapOutExtensions($rclist, "$i/crlEntryExtensions", $asn1); + } + } + + $crl = $asn1->encodeDER($crl, $this->CertificateList); + + switch ($format) { + case self::FORMAT_DER: + return $crl; + // case self::FORMAT_PEM: + default: + return "-----BEGIN X509 CRL-----\r\n" . chunk_split(base64_encode($crl), 64) . '-----END X509 CRL-----'; + } + } + + /** + * Helper function to build a time field according to RFC 3280 section + * - 4.1.2.5 Validity + * - 5.1.2.4 This Update + * - 5.1.2.5 Next Update + * - 5.1.2.6 Revoked Certificates + * by choosing utcTime iff year of date given is before 2050 and generalTime else. + * + * @param string $date in format date('D, d M Y H:i:s O') + * @access private + * @return array + */ + function _timeField($date) + { + $year = @gmdate("Y", @strtotime($date)); // the same way ASN1.php parses this + if ($year < 2050) { + return array('utcTime' => $date); + } else { + return array('generalTime' => $date); + } + } + + /** + * Sign an X.509 certificate + * + * $issuer's private key needs to be loaded. + * $subject can be either an existing X.509 cert (if you want to resign it), + * a CSR or something with the DN and public key explicitly set. + * + * @param \phpseclib\File\X509 $issuer + * @param \phpseclib\File\X509 $subject + * @param string $signatureAlgorithm optional + * @access public + * @return mixed + */ + function sign($issuer, $subject, $signatureAlgorithm = 'sha1WithRSAEncryption') + { + if (!is_object($issuer->privateKey) || empty($issuer->dn)) { + return false; + } + + if (isset($subject->publicKey) && !($subjectPublicKey = $subject->_formatSubjectPublicKey())) { + return false; + } + + $currentCert = isset($this->currentCert) ? $this->currentCert : null; + $signatureSubject = isset($this->signatureSubject) ? $this->signatureSubject: null; + + if (isset($subject->currentCert) && is_array($subject->currentCert) && isset($subject->currentCert['tbsCertificate'])) { + $this->currentCert = $subject->currentCert; + $this->currentCert['tbsCertificate']['signature']['algorithm'] = $signatureAlgorithm; + $this->currentCert['signatureAlgorithm']['algorithm'] = $signatureAlgorithm; + + if (!empty($this->startDate)) { + $this->currentCert['tbsCertificate']['validity']['notBefore'] = $this->_timeField($this->startDate); + } + if (!empty($this->endDate)) { + $this->currentCert['tbsCertificate']['validity']['notAfter'] = $this->_timeField($this->endDate); + } + if (!empty($this->serialNumber)) { + $this->currentCert['tbsCertificate']['serialNumber'] = $this->serialNumber; + } + if (!empty($subject->dn)) { + $this->currentCert['tbsCertificate']['subject'] = $subject->dn; + } + if (!empty($subject->publicKey)) { + $this->currentCert['tbsCertificate']['subjectPublicKeyInfo'] = $subjectPublicKey; + } + $this->removeExtension('id-ce-authorityKeyIdentifier'); + if (isset($subject->domains)) { + $this->removeExtension('id-ce-subjectAltName'); + } + } elseif (isset($subject->currentCert) && is_array($subject->currentCert) && isset($subject->currentCert['tbsCertList'])) { + return false; + } else { + if (!isset($subject->publicKey)) { + return false; + } + + $startDate = !empty($this->startDate) ? $this->startDate : @date('D, d M Y H:i:s O'); + $endDate = !empty($this->endDate) ? $this->endDate : @date('D, d M Y H:i:s O', strtotime('+1 year')); + /* "The serial number MUST be a positive integer" + "Conforming CAs MUST NOT use serialNumber values longer than 20 octets." + -- https://tools.ietf.org/html/rfc5280#section-4.1.2.2 + + for the integer to be positive the leading bit needs to be 0 hence the + application of a bitmap + */ + $serialNumber = !empty($this->serialNumber) ? + $this->serialNumber : + new BigInteger(Random::string(20) & ("\x7F" . str_repeat("\xFF", 19)), 256); + + $this->currentCert = array( + 'tbsCertificate' => + array( + 'version' => 'v3', + 'serialNumber' => $serialNumber, // $this->setserialNumber() + 'signature' => array('algorithm' => $signatureAlgorithm), + 'issuer' => false, // this is going to be overwritten later + 'validity' => array( + 'notBefore' => $this->_timeField($startDate), // $this->setStartDate() + 'notAfter' => $this->_timeField($endDate) // $this->setEndDate() + ), + 'subject' => $subject->dn, + 'subjectPublicKeyInfo' => $subjectPublicKey + ), + 'signatureAlgorithm' => array('algorithm' => $signatureAlgorithm), + 'signature' => false // this is going to be overwritten later + ); + + // Copy extensions from CSR. + $csrexts = $subject->getAttribute('pkcs-9-at-extensionRequest', 0); + + if (!empty($csrexts)) { + $this->currentCert['tbsCertificate']['extensions'] = $csrexts; + } + } + + $this->currentCert['tbsCertificate']['issuer'] = $issuer->dn; + + if (isset($issuer->currentKeyIdentifier)) { + $this->setExtension('id-ce-authorityKeyIdentifier', array( + //'authorityCertIssuer' => array( + // array( + // 'directoryName' => $issuer->dn + // ) + //), + 'keyIdentifier' => $issuer->currentKeyIdentifier + )); + //$extensions = &$this->currentCert['tbsCertificate']['extensions']; + //if (isset($issuer->serialNumber)) { + // $extensions[count($extensions) - 1]['authorityCertSerialNumber'] = $issuer->serialNumber; + //} + //unset($extensions); + } + + if (isset($subject->currentKeyIdentifier)) { + $this->setExtension('id-ce-subjectKeyIdentifier', $subject->currentKeyIdentifier); + } + + $altName = array(); + + if (isset($subject->domains) && count($subject->domains) > 1) { + $altName = array_map(array('X509', '_dnsName'), $subject->domains); + } + + if (isset($subject->ipAddresses) && count($subject->ipAddresses)) { + // should an IP address appear as the CN if no domain name is specified? idk + //$ips = count($subject->domains) ? $subject->ipAddresses : array_slice($subject->ipAddresses, 1); + $ipAddresses = array(); + foreach ($subject->ipAddresses as $ipAddress) { + $encoded = $subject->_ipAddress($ipAddress); + if ($encoded !== false) { + $ipAddresses[] = $encoded; + } + } + if (count($ipAddresses)) { + $altName = array_merge($altName, $ipAddresses); + } + } + + if (!empty($altName)) { + $this->setExtension('id-ce-subjectAltName', $altName); + } + + if ($this->caFlag) { + $keyUsage = $this->getExtension('id-ce-keyUsage'); + if (!$keyUsage) { + $keyUsage = array(); + } + + $this->setExtension( + 'id-ce-keyUsage', + array_values(array_unique(array_merge($keyUsage, array('cRLSign', 'keyCertSign')))) + ); + + $basicConstraints = $this->getExtension('id-ce-basicConstraints'); + if (!$basicConstraints) { + $basicConstraints = array(); + } + + $this->setExtension( + 'id-ce-basicConstraints', + array_unique(array_merge(array('cA' => true), $basicConstraints)), + true + ); + + if (!isset($subject->currentKeyIdentifier)) { + $this->setExtension('id-ce-subjectKeyIdentifier', base64_encode($this->computeKeyIdentifier($this->currentCert)), false, false); + } + } + + // resync $this->signatureSubject + // save $tbsCertificate in case there are any \phpseclib\File\ASN1\Element objects in it + $tbsCertificate = $this->currentCert['tbsCertificate']; + $this->loadX509($this->saveX509($this->currentCert)); + + $result = $this->_sign($issuer->privateKey, $signatureAlgorithm); + $result['tbsCertificate'] = $tbsCertificate; + + $this->currentCert = $currentCert; + $this->signatureSubject = $signatureSubject; + + return $result; + } + + /** + * Sign a CSR + * + * @access public + * @return mixed + */ + function signCSR($signatureAlgorithm = 'sha1WithRSAEncryption') + { + if (!is_object($this->privateKey) || empty($this->dn)) { + return false; + } + + $origPublicKey = $this->publicKey; + $class = get_class($this->privateKey); + $this->publicKey = new $class(); + $this->publicKey->loadKey($this->privateKey->getPublicKey()); + $this->publicKey->setPublicKey(); + if (!($publicKey = $this->_formatSubjectPublicKey())) { + return false; + } + $this->publicKey = $origPublicKey; + + $currentCert = isset($this->currentCert) ? $this->currentCert : null; + $signatureSubject = isset($this->signatureSubject) ? $this->signatureSubject: null; + + if (isset($this->currentCert) && is_array($this->currentCert) && isset($this->currentCert['certificationRequestInfo'])) { + $this->currentCert['signatureAlgorithm']['algorithm'] = $signatureAlgorithm; + if (!empty($this->dn)) { + $this->currentCert['certificationRequestInfo']['subject'] = $this->dn; + } + $this->currentCert['certificationRequestInfo']['subjectPKInfo'] = $publicKey; + } else { + $this->currentCert = array( + 'certificationRequestInfo' => + array( + 'version' => 'v1', + 'subject' => $this->dn, + 'subjectPKInfo' => $publicKey + ), + 'signatureAlgorithm' => array('algorithm' => $signatureAlgorithm), + 'signature' => false // this is going to be overwritten later + ); + } + + // resync $this->signatureSubject + // save $certificationRequestInfo in case there are any \phpseclib\File\ASN1\Element objects in it + $certificationRequestInfo = $this->currentCert['certificationRequestInfo']; + $this->loadCSR($this->saveCSR($this->currentCert)); + + $result = $this->_sign($this->privateKey, $signatureAlgorithm); + $result['certificationRequestInfo'] = $certificationRequestInfo; + + $this->currentCert = $currentCert; + $this->signatureSubject = $signatureSubject; + + return $result; + } + + /** + * Sign a SPKAC + * + * @access public + * @return mixed + */ + function signSPKAC($signatureAlgorithm = 'sha1WithRSAEncryption') + { + if (!is_object($this->privateKey)) { + return false; + } + + $origPublicKey = $this->publicKey; + $class = get_class($this->privateKey); + $this->publicKey = new $class(); + $this->publicKey->loadKey($this->privateKey->getPublicKey()); + $this->publicKey->setPublicKey(); + $publicKey = $this->_formatSubjectPublicKey(); + if (!$publicKey) { + return false; + } + $this->publicKey = $origPublicKey; + + $currentCert = isset($this->currentCert) ? $this->currentCert : null; + $signatureSubject = isset($this->signatureSubject) ? $this->signatureSubject: null; + + // re-signing a SPKAC seems silly but since everything else supports re-signing why not? + if (isset($this->currentCert) && is_array($this->currentCert) && isset($this->currentCert['publicKeyAndChallenge'])) { + $this->currentCert['signatureAlgorithm']['algorithm'] = $signatureAlgorithm; + $this->currentCert['publicKeyAndChallenge']['spki'] = $publicKey; + if (!empty($this->challenge)) { + // the bitwise AND ensures that the output is a valid IA5String + $this->currentCert['publicKeyAndChallenge']['challenge'] = $this->challenge & str_repeat("\x7F", strlen($this->challenge)); + } + } else { + $this->currentCert = array( + 'publicKeyAndChallenge' => + array( + 'spki' => $publicKey, + // quoting <https://developer.mozilla.org/en-US/docs/Web/HTML/Element/keygen>, + // "A challenge string that is submitted along with the public key. Defaults to an empty string if not specified." + // both Firefox and OpenSSL ("openssl spkac -key private.key") behave this way + // we could alternatively do this instead if we ignored the specs: + // Random::string(8) & str_repeat("\x7F", 8) + 'challenge' => !empty($this->challenge) ? $this->challenge : '' + ), + 'signatureAlgorithm' => array('algorithm' => $signatureAlgorithm), + 'signature' => false // this is going to be overwritten later + ); + } + + // resync $this->signatureSubject + // save $publicKeyAndChallenge in case there are any \phpseclib\File\ASN1\Element objects in it + $publicKeyAndChallenge = $this->currentCert['publicKeyAndChallenge']; + $this->loadSPKAC($this->saveSPKAC($this->currentCert)); + + $result = $this->_sign($this->privateKey, $signatureAlgorithm); + $result['publicKeyAndChallenge'] = $publicKeyAndChallenge; + + $this->currentCert = $currentCert; + $this->signatureSubject = $signatureSubject; + + return $result; + } + + /** + * Sign a CRL + * + * $issuer's private key needs to be loaded. + * + * @param \phpseclib\File\X509 $issuer + * @param \phpseclib\File\X509 $crl + * @param string $signatureAlgorithm optional + * @access public + * @return mixed + */ + function signCRL($issuer, $crl, $signatureAlgorithm = 'sha1WithRSAEncryption') + { + if (!is_object($issuer->privateKey) || empty($issuer->dn)) { + return false; + } + + $currentCert = isset($this->currentCert) ? $this->currentCert : null; + $signatureSubject = isset($this->signatureSubject) ? $this->signatureSubject : null; + $thisUpdate = !empty($this->startDate) ? $this->startDate : @date('D, d M Y H:i:s O'); + + if (isset($crl->currentCert) && is_array($crl->currentCert) && isset($crl->currentCert['tbsCertList'])) { + $this->currentCert = $crl->currentCert; + $this->currentCert['tbsCertList']['signature']['algorithm'] = $signatureAlgorithm; + $this->currentCert['signatureAlgorithm']['algorithm'] = $signatureAlgorithm; + } else { + $this->currentCert = array( + 'tbsCertList' => + array( + 'version' => 'v2', + 'signature' => array('algorithm' => $signatureAlgorithm), + 'issuer' => false, // this is going to be overwritten later + 'thisUpdate' => $this->_timeField($thisUpdate) // $this->setStartDate() + ), + 'signatureAlgorithm' => array('algorithm' => $signatureAlgorithm), + 'signature' => false // this is going to be overwritten later + ); + } + + $tbsCertList = &$this->currentCert['tbsCertList']; + $tbsCertList['issuer'] = $issuer->dn; + $tbsCertList['thisUpdate'] = $this->_timeField($thisUpdate); + + if (!empty($this->endDate)) { + $tbsCertList['nextUpdate'] = $this->_timeField($this->endDate); // $this->setEndDate() + } else { + unset($tbsCertList['nextUpdate']); + } + + if (!empty($this->serialNumber)) { + $crlNumber = $this->serialNumber; + } else { + $crlNumber = $this->getExtension('id-ce-cRLNumber'); + // "The CRL number is a non-critical CRL extension that conveys a + // monotonically increasing sequence number for a given CRL scope and + // CRL issuer. This extension allows users to easily determine when a + // particular CRL supersedes another CRL." + // -- https://tools.ietf.org/html/rfc5280#section-5.2.3 + $crlNumber = $crlNumber !== false ? $crlNumber->add(new BigInteger(1)) : null; + } + + $this->removeExtension('id-ce-authorityKeyIdentifier'); + $this->removeExtension('id-ce-issuerAltName'); + + // Be sure version >= v2 if some extension found. + $version = isset($tbsCertList['version']) ? $tbsCertList['version'] : 0; + if (!$version) { + if (!empty($tbsCertList['crlExtensions'])) { + $version = 1; // v2. + } elseif (!empty($tbsCertList['revokedCertificates'])) { + foreach ($tbsCertList['revokedCertificates'] as $cert) { + if (!empty($cert['crlEntryExtensions'])) { + $version = 1; // v2. + } + } + } + + if ($version) { + $tbsCertList['version'] = $version; + } + } + + // Store additional extensions. + if (!empty($tbsCertList['version'])) { // At least v2. + if (!empty($crlNumber)) { + $this->setExtension('id-ce-cRLNumber', $crlNumber); + } + + if (isset($issuer->currentKeyIdentifier)) { + $this->setExtension('id-ce-authorityKeyIdentifier', array( + //'authorityCertIssuer' => array( + // array( + // 'directoryName' => $issuer->dn + // ) + //), + 'keyIdentifier' => $issuer->currentKeyIdentifier + )); + //$extensions = &$tbsCertList['crlExtensions']; + //if (isset($issuer->serialNumber)) { + // $extensions[count($extensions) - 1]['authorityCertSerialNumber'] = $issuer->serialNumber; + //} + //unset($extensions); + } + + $issuerAltName = $this->getExtension('id-ce-subjectAltName', $issuer->currentCert); + + if ($issuerAltName !== false) { + $this->setExtension('id-ce-issuerAltName', $issuerAltName); + } + } + + if (empty($tbsCertList['revokedCertificates'])) { + unset($tbsCertList['revokedCertificates']); + } + + unset($tbsCertList); + + // resync $this->signatureSubject + // save $tbsCertList in case there are any \phpseclib\File\ASN1\Element objects in it + $tbsCertList = $this->currentCert['tbsCertList']; + $this->loadCRL($this->saveCRL($this->currentCert)); + + $result = $this->_sign($issuer->privateKey, $signatureAlgorithm); + $result['tbsCertList'] = $tbsCertList; + + $this->currentCert = $currentCert; + $this->signatureSubject = $signatureSubject; + + return $result; + } + + /** + * X.509 certificate signing helper function. + * + * @param object $key + * @param \phpseclib\File\X509 $subject + * @param string $signatureAlgorithm + * @access public + * @return mixed + */ + function _sign($key, $signatureAlgorithm) + { + if ($key instanceof RSA) { + switch ($signatureAlgorithm) { + case 'md2WithRSAEncryption': + case 'md5WithRSAEncryption': + case 'sha1WithRSAEncryption': + case 'sha224WithRSAEncryption': + case 'sha256WithRSAEncryption': + case 'sha384WithRSAEncryption': + case 'sha512WithRSAEncryption': + $key->setHash(preg_replace('#WithRSAEncryption$#', '', $signatureAlgorithm)); + $key->setSignatureMode(RSA::SIGNATURE_PKCS1); + + $this->currentCert['signature'] = base64_encode("\0" . $key->sign($this->signatureSubject)); + return $this->currentCert; + } + } + + return false; + } + + /** + * Set certificate start date + * + * @param string $date + * @access public + */ + function setStartDate($date) + { + $this->startDate = @date('D, d M Y H:i:s O', @strtotime($date)); + } + + /** + * Set certificate end date + * + * @param string $date + * @access public + */ + function setEndDate($date) + { + /* + To indicate that a certificate has no well-defined expiration date, + the notAfter SHOULD be assigned the GeneralizedTime value of + 99991231235959Z. + + -- http://tools.ietf.org/html/rfc5280#section-4.1.2.5 + */ + if (strtolower($date) == 'lifetime') { + $temp = '99991231235959Z'; + $asn1 = new ASN1(); + $temp = chr(ASN1::TYPE_GENERALIZED_TIME) . $asn1->_encodeLength(strlen($temp)) . $temp; + $this->endDate = new Element($temp); + } else { + $this->endDate = @date('D, d M Y H:i:s O', @strtotime($date)); + } + } + + /** + * Set Serial Number + * + * @param string $serial + * @param $base optional + * @access public + */ + function setSerialNumber($serial, $base = -256) + { + $this->serialNumber = new BigInteger($serial, $base); + } + + /** + * Turns the certificate into a certificate authority + * + * @access public + */ + function makeCA() + { + $this->caFlag = true; + } + + /** + * Check for validity of subarray + * + * This is intended for use in conjunction with _subArrayUnchecked(), + * implementing the checks included in _subArray() but without copying + * a potentially large array by passing its reference by-value to is_array(). + * + * @param array $root + * @param string $path + * @return boolean + * @access private + */ + function _isSubArrayValid($root, $path) + { + if (!is_array($root)) { + return false; + } + + foreach (explode('/', $path) as $i) { + if (!is_array($root)) { + return false; + } + + if (!isset($root[$i])) { + return true; + } + + $root = $root[$i]; + } + + return true; + } + + /** + * Get a reference to a subarray + * + * This variant of _subArray() does no is_array() checking, + * so $root should be checked with _isSubArrayValid() first. + * + * This is here for performance reasons: + * Passing a reference (i.e. $root) by-value (i.e. to is_array()) + * creates a copy. If $root is an especially large array, this is expensive. + * + * @param array $root + * @param string $path absolute path with / as component separator + * @param bool $create optional + * @access private + * @return array|false + */ + function &_subArrayUnchecked(&$root, $path, $create = false) + { + $false = false; + + foreach (explode('/', $path) as $i) { + if (!isset($root[$i])) { + if (!$create) { + return $false; + } + + $root[$i] = array(); + } + + $root = &$root[$i]; + } + + return $root; + } + + /** + * Get a reference to a subarray + * + * @param array $root + * @param string $path absolute path with / as component separator + * @param bool $create optional + * @access private + * @return array|false + */ + function &_subArray(&$root, $path, $create = false) + { + $false = false; + + if (!is_array($root)) { + return $false; + } + + foreach (explode('/', $path) as $i) { + if (!is_array($root)) { + return $false; + } + + if (!isset($root[$i])) { + if (!$create) { + return $false; + } + + $root[$i] = array(); + } + + $root = &$root[$i]; + } + + return $root; + } + + /** + * Get a reference to an extension subarray + * + * @param array $root + * @param string $path optional absolute path with / as component separator + * @param bool $create optional + * @access private + * @return array|false + */ + function &_extensions(&$root, $path = null, $create = false) + { + if (!isset($root)) { + $root = $this->currentCert; + } + + switch (true) { + case !empty($path): + case !is_array($root): + break; + case isset($root['tbsCertificate']): + $path = 'tbsCertificate/extensions'; + break; + case isset($root['tbsCertList']): + $path = 'tbsCertList/crlExtensions'; + break; + case isset($root['certificationRequestInfo']): + $pth = 'certificationRequestInfo/attributes'; + $attributes = &$this->_subArray($root, $pth, $create); + + if (is_array($attributes)) { + foreach ($attributes as $key => $value) { + if ($value['type'] == 'pkcs-9-at-extensionRequest') { + $path = "$pth/$key/value/0"; + break 2; + } + } + if ($create) { + $key = count($attributes); + $attributes[] = array('type' => 'pkcs-9-at-extensionRequest', 'value' => array()); + $path = "$pth/$key/value/0"; + } + } + break; + } + + $extensions = &$this->_subArray($root, $path, $create); + + if (!is_array($extensions)) { + $false = false; + return $false; + } + + return $extensions; + } + + /** + * Remove an Extension + * + * @param string $id + * @param string $path optional + * @access private + * @return bool + */ + function _removeExtension($id, $path = null) + { + $extensions = &$this->_extensions($this->currentCert, $path); + + if (!is_array($extensions)) { + return false; + } + + $result = false; + foreach ($extensions as $key => $value) { + if ($value['extnId'] == $id) { + unset($extensions[$key]); + $result = true; + } + } + + $extensions = array_values($extensions); + return $result; + } + + /** + * Get an Extension + * + * Returns the extension if it exists and false if not + * + * @param string $id + * @param array $cert optional + * @param string $path optional + * @access private + * @return mixed + */ + function _getExtension($id, $cert = null, $path = null) + { + $extensions = $this->_extensions($cert, $path); + + if (!is_array($extensions)) { + return false; + } + + foreach ($extensions as $key => $value) { + if ($value['extnId'] == $id) { + return $value['extnValue']; + } + } + + return false; + } + + /** + * Returns a list of all extensions in use + * + * @param array $cert optional + * @param string $path optional + * @access private + * @return array + */ + function _getExtensions($cert = null, $path = null) + { + $exts = $this->_extensions($cert, $path); + $extensions = array(); + + if (is_array($exts)) { + foreach ($exts as $extension) { + $extensions[] = $extension['extnId']; + } + } + + return $extensions; + } + + /** + * Set an Extension + * + * @param string $id + * @param mixed $value + * @param bool $critical optional + * @param bool $replace optional + * @param string $path optional + * @access private + * @return bool + */ + function _setExtension($id, $value, $critical = false, $replace = true, $path = null) + { + $extensions = &$this->_extensions($this->currentCert, $path, true); + + if (!is_array($extensions)) { + return false; + } + + $newext = array('extnId' => $id, 'critical' => $critical, 'extnValue' => $value); + + foreach ($extensions as $key => $value) { + if ($value['extnId'] == $id) { + if (!$replace) { + return false; + } + + $extensions[$key] = $newext; + return true; + } + } + + $extensions[] = $newext; + return true; + } + + /** + * Remove a certificate, CSR or CRL Extension + * + * @param string $id + * @access public + * @return bool + */ + function removeExtension($id) + { + return $this->_removeExtension($id); + } + + /** + * Get a certificate, CSR or CRL Extension + * + * Returns the extension if it exists and false if not + * + * @param string $id + * @param array $cert optional + * @access public + * @return mixed + */ + function getExtension($id, $cert = null) + { + return $this->_getExtension($id, $cert); + } + + /** + * Returns a list of all extensions in use in certificate, CSR or CRL + * + * @param array $cert optional + * @access public + * @return array + */ + function getExtensions($cert = null) + { + return $this->_getExtensions($cert); + } + + /** + * Set a certificate, CSR or CRL Extension + * + * @param string $id + * @param mixed $value + * @param bool $critical optional + * @param bool $replace optional + * @access public + * @return bool + */ + function setExtension($id, $value, $critical = false, $replace = true) + { + return $this->_setExtension($id, $value, $critical, $replace); + } + + /** + * Remove a CSR attribute. + * + * @param string $id + * @param int $disposition optional + * @access public + * @return bool + */ + function removeAttribute($id, $disposition = self::ATTR_ALL) + { + $attributes = &$this->_subArray($this->currentCert, 'certificationRequestInfo/attributes'); + + if (!is_array($attributes)) { + return false; + } + + $result = false; + foreach ($attributes as $key => $attribute) { + if ($attribute['type'] == $id) { + $n = count($attribute['value']); + switch (true) { + case $disposition == self::ATTR_APPEND: + case $disposition == self::ATTR_REPLACE: + return false; + case $disposition >= $n: + $disposition -= $n; + break; + case $disposition == self::ATTR_ALL: + case $n == 1: + unset($attributes[$key]); + $result = true; + break; + default: + unset($attributes[$key]['value'][$disposition]); + $attributes[$key]['value'] = array_values($attributes[$key]['value']); + $result = true; + break; + } + if ($result && $disposition != self::ATTR_ALL) { + break; + } + } + } + + $attributes = array_values($attributes); + return $result; + } + + /** + * Get a CSR attribute + * + * Returns the attribute if it exists and false if not + * + * @param string $id + * @param int $disposition optional + * @param array $csr optional + * @access public + * @return mixed + */ + function getAttribute($id, $disposition = self::ATTR_ALL, $csr = null) + { + if (empty($csr)) { + $csr = $this->currentCert; + } + + $attributes = $this->_subArray($csr, 'certificationRequestInfo/attributes'); + + if (!is_array($attributes)) { + return false; + } + + foreach ($attributes as $key => $attribute) { + if ($attribute['type'] == $id) { + $n = count($attribute['value']); + switch (true) { + case $disposition == self::ATTR_APPEND: + case $disposition == self::ATTR_REPLACE: + return false; + case $disposition == self::ATTR_ALL: + return $attribute['value']; + case $disposition >= $n: + $disposition -= $n; + break; + default: + return $attribute['value'][$disposition]; + } + } + } + + return false; + } + + /** + * Returns a list of all CSR attributes in use + * + * @param array $csr optional + * @access public + * @return array + */ + function getAttributes($csr = null) + { + if (empty($csr)) { + $csr = $this->currentCert; + } + + $attributes = $this->_subArray($csr, 'certificationRequestInfo/attributes'); + $attrs = array(); + + if (is_array($attributes)) { + foreach ($attributes as $attribute) { + $attrs[] = $attribute['type']; + } + } + + return $attrs; + } + + /** + * Set a CSR attribute + * + * @param string $id + * @param mixed $value + * @param bool $disposition optional + * @access public + * @return bool + */ + function setAttribute($id, $value, $disposition = self::ATTR_ALL) + { + $attributes = &$this->_subArray($this->currentCert, 'certificationRequestInfo/attributes', true); + + if (!is_array($attributes)) { + return false; + } + + switch ($disposition) { + case self::ATTR_REPLACE: + $disposition = self::ATTR_APPEND; + case self::ATTR_ALL: + $this->removeAttribute($id); + break; + } + + foreach ($attributes as $key => $attribute) { + if ($attribute['type'] == $id) { + $n = count($attribute['value']); + switch (true) { + case $disposition == self::ATTR_APPEND: + $last = $key; + break; + case $disposition >= $n: + $disposition -= $n; + break; + default: + $attributes[$key]['value'][$disposition] = $value; + return true; + } + } + } + + switch (true) { + case $disposition >= 0: + return false; + case isset($last): + $attributes[$last]['value'][] = $value; + break; + default: + $attributes[] = array('type' => $id, 'value' => $disposition == self::ATTR_ALL ? $value: array($value)); + break; + } + + return true; + } + + /** + * Sets the subject key identifier + * + * This is used by the id-ce-authorityKeyIdentifier and the id-ce-subjectKeyIdentifier extensions. + * + * @param string $value + * @access public + */ + function setKeyIdentifier($value) + { + if (empty($value)) { + unset($this->currentKeyIdentifier); + } else { + $this->currentKeyIdentifier = base64_encode($value); + } + } + + /** + * Compute a public key identifier. + * + * Although key identifiers may be set to any unique value, this function + * computes key identifiers from public key according to the two + * recommended methods (4.2.1.2 RFC 3280). + * Highly polymorphic: try to accept all possible forms of key: + * - Key object + * - \phpseclib\File\X509 object with public or private key defined + * - Certificate or CSR array + * - \phpseclib\File\ASN1\Element object + * - PEM or DER string + * + * @param mixed $key optional + * @param int $method optional + * @access public + * @return string binary key identifier + */ + function computeKeyIdentifier($key = null, $method = 1) + { + if (is_null($key)) { + $key = $this; + } + + switch (true) { + case is_string($key): + break; + case is_array($key) && isset($key['tbsCertificate']['subjectPublicKeyInfo']['subjectPublicKey']): + return $this->computeKeyIdentifier($key['tbsCertificate']['subjectPublicKeyInfo']['subjectPublicKey'], $method); + case is_array($key) && isset($key['certificationRequestInfo']['subjectPKInfo']['subjectPublicKey']): + return $this->computeKeyIdentifier($key['certificationRequestInfo']['subjectPKInfo']['subjectPublicKey'], $method); + case !is_object($key): + return false; + case $key instanceof Element: + // Assume the element is a bitstring-packed key. + $asn1 = new ASN1(); + $decoded = $asn1->decodeBER($key->element); + if (empty($decoded)) { + return false; + } + $raw = $asn1->asn1map($decoded[0], array('type' => ASN1::TYPE_BIT_STRING)); + if (empty($raw)) { + return false; + } + $raw = base64_decode($raw); + // If the key is private, compute identifier from its corresponding public key. + $key = new RSA(); + if (!$key->loadKey($raw)) { + return false; // Not an unencrypted RSA key. + } + if ($key->getPrivateKey() !== false) { // If private. + return $this->computeKeyIdentifier($key, $method); + } + $key = $raw; // Is a public key. + break; + case $key instanceof X509: + if (isset($key->publicKey)) { + return $this->computeKeyIdentifier($key->publicKey, $method); + } + if (isset($key->privateKey)) { + return $this->computeKeyIdentifier($key->privateKey, $method); + } + if (isset($key->currentCert['tbsCertificate']) || isset($key->currentCert['certificationRequestInfo'])) { + return $this->computeKeyIdentifier($key->currentCert, $method); + } + return false; + default: // Should be a key object (i.e.: \phpseclib\Crypt\RSA). + $key = $key->getPublicKey(RSA::PUBLIC_FORMAT_PKCS1); + break; + } + + // If in PEM format, convert to binary. + $key = $this->_extractBER($key); + + // Now we have the key string: compute its sha-1 sum. + $hash = new Hash('sha1'); + $hash = $hash->hash($key); + + if ($method == 2) { + $hash = substr($hash, -8); + $hash[0] = chr((ord($hash[0]) & 0x0F) | 0x40); + } + + return $hash; + } + + /** + * Format a public key as appropriate + * + * @access private + * @return array + */ + function _formatSubjectPublicKey() + { + if ($this->publicKey instanceof RSA) { + // the following two return statements do the same thing. i dunno.. i just prefer the later for some reason. + // the former is a good example of how to do fuzzing on the public key + //return new Element(base64_decode(preg_replace('#-.+-|[\r\n]#', '', $this->publicKey->getPublicKey()))); + return array( + 'algorithm' => array('algorithm' => 'rsaEncryption'), + 'subjectPublicKey' => $this->publicKey->getPublicKey(RSA::PUBLIC_FORMAT_PKCS1) + ); + } + + return false; + } + + /** + * Set the domain name's which the cert is to be valid for + * + * @access public + * @return array + */ + function setDomain() + { + $this->domains = func_get_args(); + $this->removeDNProp('id-at-commonName'); + $this->setDNProp('id-at-commonName', $this->domains[0]); + } + + /** + * Set the IP Addresses's which the cert is to be valid for + * + * @access public + * @param string $ipAddress optional + */ + function setIPAddress() + { + $this->ipAddresses = func_get_args(); + /* + if (!isset($this->domains)) { + $this->removeDNProp('id-at-commonName'); + $this->setDNProp('id-at-commonName', $this->ipAddresses[0]); + } + */ + } + + /** + * Helper function to build domain array + * + * @access private + * @param string $domain + * @return array + */ + function _dnsName($domain) + { + return array('dNSName' => $domain); + } + + /** + * Helper function to build IP Address array + * + * (IPv6 is not currently supported) + * + * @access private + * @param string $address + * @return array + */ + function _iPAddress($address) + { + return array('iPAddress' => $address); + } + + /** + * Get the index of a revoked certificate. + * + * @param array $rclist + * @param string $serial + * @param bool $create optional + * @access private + * @return int|false + */ + function _revokedCertificate(&$rclist, $serial, $create = false) + { + $serial = new BigInteger($serial); + + foreach ($rclist as $i => $rc) { + if (!($serial->compare($rc['userCertificate']))) { + return $i; + } + } + + if (!$create) { + return false; + } + + $i = count($rclist); + $rclist[] = array('userCertificate' => $serial, + 'revocationDate' => $this->_timeField(@date('D, d M Y H:i:s O'))); + return $i; + } + + /** + * Revoke a certificate. + * + * @param string $serial + * @param string $date optional + * @access public + * @return bool + */ + function revoke($serial, $date = null) + { + if (isset($this->currentCert['tbsCertList'])) { + if (is_array($rclist = &$this->_subArray($this->currentCert, 'tbsCertList/revokedCertificates', true))) { + if ($this->_revokedCertificate($rclist, $serial) === false) { // If not yet revoked + if (($i = $this->_revokedCertificate($rclist, $serial, true)) !== false) { + if (!empty($date)) { + $rclist[$i]['revocationDate'] = $this->_timeField($date); + } + + return true; + } + } + } + } + + return false; + } + + /** + * Unrevoke a certificate. + * + * @param string $serial + * @access public + * @return bool + */ + function unrevoke($serial) + { + if (is_array($rclist = &$this->_subArray($this->currentCert, 'tbsCertList/revokedCertificates'))) { + if (($i = $this->_revokedCertificate($rclist, $serial)) !== false) { + unset($rclist[$i]); + $rclist = array_values($rclist); + return true; + } + } + + return false; + } + + /** + * Get a revoked certificate. + * + * @param string $serial + * @access public + * @return mixed + */ + function getRevoked($serial) + { + if (is_array($rclist = $this->_subArray($this->currentCert, 'tbsCertList/revokedCertificates'))) { + if (($i = $this->_revokedCertificate($rclist, $serial)) !== false) { + return $rclist[$i]; + } + } + + return false; + } + + /** + * List revoked certificates + * + * @param array $crl optional + * @access public + * @return array + */ + function listRevoked($crl = null) + { + if (!isset($crl)) { + $crl = $this->currentCert; + } + + if (!isset($crl['tbsCertList'])) { + return false; + } + + $result = array(); + + if (is_array($rclist = $this->_subArray($crl, 'tbsCertList/revokedCertificates'))) { + foreach ($rclist as $rc) { + $result[] = $rc['userCertificate']->toString(); + } + } + + return $result; + } + + /** + * Remove a Revoked Certificate Extension + * + * @param string $serial + * @param string $id + * @access public + * @return bool + */ + function removeRevokedCertificateExtension($serial, $id) + { + if (is_array($rclist = &$this->_subArray($this->currentCert, 'tbsCertList/revokedCertificates'))) { + if (($i = $this->_revokedCertificate($rclist, $serial)) !== false) { + return $this->_removeExtension($id, "tbsCertList/revokedCertificates/$i/crlEntryExtensions"); + } + } + + return false; + } + + /** + * Get a Revoked Certificate Extension + * + * Returns the extension if it exists and false if not + * + * @param string $serial + * @param string $id + * @param array $crl optional + * @access public + * @return mixed + */ + function getRevokedCertificateExtension($serial, $id, $crl = null) + { + if (!isset($crl)) { + $crl = $this->currentCert; + } + + if (is_array($rclist = $this->_subArray($crl, 'tbsCertList/revokedCertificates'))) { + if (($i = $this->_revokedCertificate($rclist, $serial)) !== false) { + return $this->_getExtension($id, $crl, "tbsCertList/revokedCertificates/$i/crlEntryExtensions"); + } + } + + return false; + } + + /** + * Returns a list of all extensions in use for a given revoked certificate + * + * @param string $serial + * @param array $crl optional + * @access public + * @return array + */ + function getRevokedCertificateExtensions($serial, $crl = null) + { + if (!isset($crl)) { + $crl = $this->currentCert; + } + + if (is_array($rclist = $this->_subArray($crl, 'tbsCertList/revokedCertificates'))) { + if (($i = $this->_revokedCertificate($rclist, $serial)) !== false) { + return $this->_getExtensions($crl, "tbsCertList/revokedCertificates/$i/crlEntryExtensions"); + } + } + + return false; + } + + /** + * Set a Revoked Certificate Extension + * + * @param string $serial + * @param string $id + * @param mixed $value + * @param bool $critical optional + * @param bool $replace optional + * @access public + * @return bool + */ + function setRevokedCertificateExtension($serial, $id, $value, $critical = false, $replace = true) + { + if (isset($this->currentCert['tbsCertList'])) { + if (is_array($rclist = &$this->_subArray($this->currentCert, 'tbsCertList/revokedCertificates', true))) { + if (($i = $this->_revokedCertificate($rclist, $serial, true)) !== false) { + return $this->_setExtension($id, $value, $critical, $replace, "tbsCertList/revokedCertificates/$i/crlEntryExtensions"); + } + } + } + + return false; + } + + /** + * Extract raw BER from Base64 encoding + * + * @access private + * @param string $str + * @return string + */ + function _extractBER($str) + { + /* X.509 certs are assumed to be base64 encoded but sometimes they'll have additional things in them + * above and beyond the ceritificate. + * ie. some may have the following preceding the -----BEGIN CERTIFICATE----- line: + * + * Bag Attributes + * localKeyID: 01 00 00 00 + * subject=/O=organization/OU=org unit/CN=common name + * issuer=/O=organization/CN=common name + */ + $temp = preg_replace('#.*?^-+[^-]+-+[\r\n ]*$#ms', '', $str, 1); + // remove the -----BEGIN CERTIFICATE----- and -----END CERTIFICATE----- stuff + $temp = preg_replace('#-+[^-]+-+#', '', $temp); + // remove new lines + $temp = str_replace(array("\r", "\n", ' '), '', $temp); + $temp = preg_match('#^[a-zA-Z\d/+]*={0,2}$#', $temp) ? base64_decode($temp) : false; + return $temp != false ? $temp : $str; + } + + /** + * Returns the OID corresponding to a name + * + * What's returned in the associative array returned by loadX509() (or load*()) is either a name or an OID if + * no OID to name mapping is available. The problem with this is that what may be an unmapped OID in one version + * of phpseclib may not be unmapped in the next version, so apps that are looking at this OID may not be able + * to work from version to version. + * + * This method will return the OID if a name is passed to it and if no mapping is avialable it'll assume that + * what's being passed to it already is an OID and return that instead. A few examples. + * + * getOID('2.16.840.1.101.3.4.2.1') == '2.16.840.1.101.3.4.2.1' + * getOID('id-sha256') == '2.16.840.1.101.3.4.2.1' + * getOID('zzz') == 'zzz' + * + * @access public + * @return string + */ + function getOID($name) + { + static $reverseMap; + if (!isset($reverseMap)) { + $reverseMap = array_flip($this->oids); + } + return isset($reverseMap[$name]) ? $reverseMap[$name] : $name; + } +} diff --git a/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger.php b/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger.php new file mode 100644 index 00000000..4b13d7c6 --- /dev/null +++ b/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger.php @@ -0,0 +1,3755 @@ +<?php + +/** + * Pure-PHP arbitrary precision integer arithmetic library. + * + * Supports base-2, base-10, base-16, and base-256 numbers. Uses the GMP or BCMath extensions, if available, + * and an internal implementation, otherwise. + * + * PHP version 5 + * + * {@internal (all DocBlock comments regarding implementation - such as the one that follows - refer to the + * {@link self::MODE_INTERNAL self::MODE_INTERNAL} mode) + * + * BigInteger uses base-2**26 to perform operations such as multiplication and division and + * base-2**52 (ie. two base 2**26 digits) to perform addition and subtraction. Because the largest possible + * value when multiplying two base-2**26 numbers together is a base-2**52 number, double precision floating + * point numbers - numbers that should be supported on most hardware and whose significand is 53 bits - are + * used. As a consequence, bitwise operators such as >> and << cannot be used, nor can the modulo operator %, + * which only supports integers. Although this fact will slow this library down, the fact that such a high + * base is being used should more than compensate. + * + * Numbers are stored in {@link http://en.wikipedia.org/wiki/Endianness little endian} format. ie. + * (new \phpseclib\Math\BigInteger(pow(2, 26)))->value = array(0, 1) + * + * Useful resources are as follows: + * + * - {@link http://www.cacr.math.uwaterloo.ca/hac/about/chap14.pdf Handbook of Applied Cryptography (HAC)} + * - {@link http://math.libtomcrypt.com/files/tommath.pdf Multi-Precision Math (MPM)} + * - Java's BigInteger classes. See /j2se/src/share/classes/java/math in jdk-1_5_0-src-jrl.zip + * + * Here's an example of how to use this library: + * <code> + * <?php + * $a = new \phpseclib\Math\BigInteger(2); + * $b = new \phpseclib\Math\BigInteger(3); + * + * $c = $a->add($b); + * + * echo $c->toString(); // outputs 5 + * ?> + * </code> + * + * @category Math + * @package BigInteger + * @author Jim Wigginton <terrafrost@php.net> + * @copyright 2006 Jim Wigginton + * @license http://www.opensource.org/licenses/mit-license.html MIT License + * @link http://pear.php.net/package/Math_BigInteger + */ + +namespace phpseclib\Math; + +use phpseclib\Crypt\Random; + +/** + * Pure-PHP arbitrary precision integer arithmetic library. Supports base-2, base-10, base-16, and base-256 + * numbers. + * + * @package BigInteger + * @author Jim Wigginton <terrafrost@php.net> + * @access public + */ +class BigInteger +{ + /**#@+ + * Reduction constants + * + * @access private + * @see BigInteger::_reduce() + */ + /** + * @see BigInteger::_montgomery() + * @see BigInteger::_prepMontgomery() + */ + const MONTGOMERY = 0; + /** + * @see BigInteger::_barrett() + */ + const BARRETT = 1; + /** + * @see BigInteger::_mod2() + */ + const POWEROF2 = 2; + /** + * @see BigInteger::_remainder() + */ + const CLASSIC = 3; + /** + * @see BigInteger::__clone() + */ + const NONE = 4; + /**#@-*/ + + /**#@+ + * Array constants + * + * Rather than create a thousands and thousands of new BigInteger objects in repeated function calls to add() and + * multiply() or whatever, we'll just work directly on arrays, taking them in as parameters and returning them. + * + * @access private + */ + /** + * $result[self::VALUE] contains the value. + */ + const VALUE = 0; + /** + * $result[self::SIGN] contains the sign. + */ + const SIGN = 1; + /**#@-*/ + + /**#@+ + * @access private + * @see BigInteger::_montgomery() + * @see BigInteger::_barrett() + */ + /** + * Cache constants + * + * $cache[self::VARIABLE] tells us whether or not the cached data is still valid. + */ + const VARIABLE = 0; + /** + * $cache[self::DATA] contains the cached data. + */ + const DATA = 1; + /**#@-*/ + + /**#@+ + * Mode constants. + * + * @access private + * @see BigInteger::__construct() + */ + /** + * To use the pure-PHP implementation + */ + const MODE_INTERNAL = 1; + /** + * To use the BCMath library + * + * (if enabled; otherwise, the internal implementation will be used) + */ + const MODE_BCMATH = 2; + /** + * To use the GMP library + * + * (if present; otherwise, either the BCMath or the internal implementation will be used) + */ + const MODE_GMP = 3; + /**#@-*/ + + /** + * Karatsuba Cutoff + * + * At what point do we switch between Karatsuba multiplication and schoolbook long multiplication? + * + * @access private + */ + const KARATSUBA_CUTOFF = 25; + + /**#@+ + * Static properties used by the pure-PHP implementation. + * + * @see __construct() + */ + protected static $base; + protected static $baseFull; + protected static $maxDigit; + protected static $msb; + + /** + * $max10 in greatest $max10Len satisfying + * $max10 = 10**$max10Len <= 2**$base. + */ + protected static $max10; + + /** + * $max10Len in greatest $max10Len satisfying + * $max10 = 10**$max10Len <= 2**$base. + */ + protected static $max10Len; + protected static $maxDigit2; + /**#@-*/ + + /** + * Holds the BigInteger's value. + * + * @var array + * @access private + */ + var $value; + + /** + * Holds the BigInteger's magnitude. + * + * @var bool + * @access private + */ + var $is_negative = false; + + /** + * Precision + * + * @see self::setPrecision() + * @access private + */ + var $precision = -1; + + /** + * Precision Bitmask + * + * @see self::setPrecision() + * @access private + */ + var $bitmask = false; + + /** + * Mode independent value used for serialization. + * + * If the bcmath or gmp extensions are installed $this->value will be a non-serializable resource, hence the need for + * a variable that'll be serializable regardless of whether or not extensions are being used. Unlike $this->value, + * however, $this->hex is only calculated when $this->__sleep() is called. + * + * @see self::__sleep() + * @see self::__wakeup() + * @var string + * @access private + */ + var $hex; + + /** + * Converts base-2, base-10, base-16, and binary strings (base-256) to BigIntegers. + * + * If the second parameter - $base - is negative, then it will be assumed that the number's are encoded using + * two's compliment. The sole exception to this is -10, which is treated the same as 10 is. + * + * Here's an example: + * <code> + * <?php + * $a = new \phpseclib\Math\BigInteger('0x32', 16); // 50 in base-16 + * + * echo $a->toString(); // outputs 50 + * ?> + * </code> + * + * @param $x base-10 number or base-$base number if $base set. + * @param int $base + * @return \phpseclib\Math\BigInteger + * @access public + */ + function __construct($x = 0, $base = 10) + { + if (!defined('MATH_BIGINTEGER_MODE')) { + switch (true) { + case extension_loaded('gmp'): + define('MATH_BIGINTEGER_MODE', self::MODE_GMP); + break; + case extension_loaded('bcmath'): + define('MATH_BIGINTEGER_MODE', self::MODE_BCMATH); + break; + default: + define('MATH_BIGINTEGER_MODE', self::MODE_INTERNAL); + } + } + + if (extension_loaded('openssl') && !defined('MATH_BIGINTEGER_OPENSSL_DISABLE') && !defined('MATH_BIGINTEGER_OPENSSL_ENABLED')) { + // some versions of XAMPP have mismatched versions of OpenSSL which causes it not to work + ob_start(); + @phpinfo(); + $content = ob_get_contents(); + ob_end_clean(); + + preg_match_all('#OpenSSL (Header|Library) Version(.*)#im', $content, $matches); + + $versions = array(); + if (!empty($matches[1])) { + for ($i = 0; $i < count($matches[1]); $i++) { + $fullVersion = trim(str_replace('=>', '', strip_tags($matches[2][$i]))); + + // Remove letter part in OpenSSL version + if (!preg_match('/(\d+\.\d+\.\d+)/i', $fullVersion, $m)) { + $versions[$matches[1][$i]] = $fullVersion; + } else { + $versions[$matches[1][$i]] = $m[0]; + } + } + } + + // it doesn't appear that OpenSSL versions were reported upon until PHP 5.3+ + switch (true) { + case !isset($versions['Header']): + case !isset($versions['Library']): + case $versions['Header'] == $versions['Library']: + case version_compare($versions['Header'], '1.0.0') >= 0 && version_compare($versions['Library'], '1.0.0') >= 0: + define('MATH_BIGINTEGER_OPENSSL_ENABLED', true); + break; + default: + define('MATH_BIGINTEGER_OPENSSL_DISABLE', true); + } + } + + if (!defined('PHP_INT_SIZE')) { + define('PHP_INT_SIZE', 4); + } + + if (empty(self::$base) && MATH_BIGINTEGER_MODE == self::MODE_INTERNAL) { + switch (PHP_INT_SIZE) { + case 8: // use 64-bit integers if int size is 8 bytes + self::$base = 31; + self::$baseFull = 0x80000000; + self::$maxDigit = 0x7FFFFFFF; + self::$msb = 0x40000000; + self::$max10 = 1000000000; + self::$max10Len = 9; + self::$maxDigit2 = pow(2, 62); + break; + //case 4: // use 64-bit floats if int size is 4 bytes + default: + self::$base = 26; + self::$baseFull = 0x4000000; + self::$maxDigit = 0x3FFFFFF; + self::$msb = 0x2000000; + self::$max10 = 10000000; + self::$max10Len = 7; + self::$maxDigit2 = pow(2, 52); // pow() prevents truncation + } + } + + switch (MATH_BIGINTEGER_MODE) { + case self::MODE_GMP: + switch (true) { + case is_resource($x) && get_resource_type($x) == 'GMP integer': + // PHP 5.6 switched GMP from using resources to objects + case $x instanceof \GMP: + $this->value = $x; + return; + } + $this->value = gmp_init(0); + break; + case self::MODE_BCMATH: + $this->value = '0'; + break; + default: + $this->value = array(); + } + + // '0' counts as empty() but when the base is 256 '0' is equal to ord('0') or 48 + // '0' is the only value like this per http://php.net/empty + if (empty($x) && (abs($base) != 256 || $x !== '0')) { + return; + } + + switch ($base) { + case -256: + if (ord($x[0]) & 0x80) { + $x = ~$x; + $this->is_negative = true; + } + case 256: + switch (MATH_BIGINTEGER_MODE) { + case self::MODE_GMP: + $sign = $this->is_negative ? '-' : ''; + $this->value = gmp_init($sign . '0x' . bin2hex($x)); + break; + case self::MODE_BCMATH: + // round $len to the nearest 4 (thanks, DavidMJ!) + $len = (strlen($x) + 3) & 0xFFFFFFFC; + + $x = str_pad($x, $len, chr(0), STR_PAD_LEFT); + + for ($i = 0; $i < $len; $i+= 4) { + $this->value = bcmul($this->value, '4294967296', 0); // 4294967296 == 2**32 + $this->value = bcadd($this->value, 0x1000000 * ord($x[$i]) + ((ord($x[$i + 1]) << 16) | (ord($x[$i + 2]) << 8) | ord($x[$i + 3])), 0); + } + + if ($this->is_negative) { + $this->value = '-' . $this->value; + } + + break; + // converts a base-2**8 (big endian / msb) number to base-2**26 (little endian / lsb) + default: + while (strlen($x)) { + $this->value[] = $this->_bytes2int($this->_base256_rshift($x, self::$base)); + } + } + + if ($this->is_negative) { + if (MATH_BIGINTEGER_MODE != self::MODE_INTERNAL) { + $this->is_negative = false; + } + $temp = $this->add(new static('-1')); + $this->value = $temp->value; + } + break; + case 16: + case -16: + if ($base > 0 && $x[0] == '-') { + $this->is_negative = true; + $x = substr($x, 1); + } + + $x = preg_replace('#^(?:0x)?([A-Fa-f0-9]*).*#', '$1', $x); + + $is_negative = false; + if ($base < 0 && hexdec($x[0]) >= 8) { + $this->is_negative = $is_negative = true; + $x = bin2hex(~pack('H*', $x)); + } + + switch (MATH_BIGINTEGER_MODE) { + case self::MODE_GMP: + $temp = $this->is_negative ? '-0x' . $x : '0x' . $x; + $this->value = gmp_init($temp); + $this->is_negative = false; + break; + case self::MODE_BCMATH: + $x = (strlen($x) & 1) ? '0' . $x : $x; + $temp = new static(pack('H*', $x), 256); + $this->value = $this->is_negative ? '-' . $temp->value : $temp->value; + $this->is_negative = false; + break; + default: + $x = (strlen($x) & 1) ? '0' . $x : $x; + $temp = new static(pack('H*', $x), 256); + $this->value = $temp->value; + } + + if ($is_negative) { + $temp = $this->add(new static('-1')); + $this->value = $temp->value; + } + break; + case 10: + case -10: + // (?<!^)(?:-).*: find any -'s that aren't at the beginning and then any characters that follow that + // (?<=^|-)0*: find any 0's that are preceded by the start of the string or by a - (ie. octals) + // [^-0-9].*: find any non-numeric characters and then any characters that follow that + $x = preg_replace('#(?<!^)(?:-).*|(?<=^|-)0*|[^-0-9].*#', '', $x); + + switch (MATH_BIGINTEGER_MODE) { + case self::MODE_GMP: + $this->value = gmp_init($x); + break; + case self::MODE_BCMATH: + // explicitly casting $x to a string is necessary, here, since doing $x[0] on -1 yields different + // results then doing it on '-1' does (modInverse does $x[0]) + $this->value = $x === '-' ? '0' : (string) $x; + break; + default: + $temp = new static(); + + $multiplier = new static(); + $multiplier->value = array(self::$max10); + + if ($x[0] == '-') { + $this->is_negative = true; + $x = substr($x, 1); + } + + $x = str_pad($x, strlen($x) + ((self::$max10Len - 1) * strlen($x)) % self::$max10Len, 0, STR_PAD_LEFT); + while (strlen($x)) { + $temp = $temp->multiply($multiplier); + $temp = $temp->add(new static($this->_int2bytes(substr($x, 0, self::$max10Len)), 256)); + $x = substr($x, self::$max10Len); + } + + $this->value = $temp->value; + } + break; + case 2: // base-2 support originally implemented by Lluis Pamies - thanks! + case -2: + if ($base > 0 && $x[0] == '-') { + $this->is_negative = true; + $x = substr($x, 1); + } + + $x = preg_replace('#^([01]*).*#', '$1', $x); + $x = str_pad($x, strlen($x) + (3 * strlen($x)) % 4, 0, STR_PAD_LEFT); + + $str = '0x'; + while (strlen($x)) { + $part = substr($x, 0, 4); + $str.= dechex(bindec($part)); + $x = substr($x, 4); + } + + if ($this->is_negative) { + $str = '-' . $str; + } + + $temp = new static($str, 8 * $base); // ie. either -16 or +16 + $this->value = $temp->value; + $this->is_negative = $temp->is_negative; + + break; + default: + // base not supported, so we'll let $this == 0 + } + } + + /** + * Converts a BigInteger to a byte string (eg. base-256). + * + * Negative numbers are saved as positive numbers, unless $twos_compliment is set to true, at which point, they're + * saved as two's compliment. + * + * Here's an example: + * <code> + * <?php + * $a = new \phpseclib\Math\BigInteger('65'); + * + * echo $a->toBytes(); // outputs chr(65) + * ?> + * </code> + * + * @param bool $twos_compliment + * @return string + * @access public + * @internal Converts a base-2**26 number to base-2**8 + */ + function toBytes($twos_compliment = false) + { + if ($twos_compliment) { + $comparison = $this->compare(new static()); + if ($comparison == 0) { + return $this->precision > 0 ? str_repeat(chr(0), ($this->precision + 1) >> 3) : ''; + } + + $temp = $comparison < 0 ? $this->add(new static(1)) : $this->copy(); + $bytes = $temp->toBytes(); + + if (empty($bytes)) { // eg. if the number we're trying to convert is -1 + $bytes = chr(0); + } + + if (ord($bytes[0]) & 0x80) { + $bytes = chr(0) . $bytes; + } + + return $comparison < 0 ? ~$bytes : $bytes; + } + + switch (MATH_BIGINTEGER_MODE) { + case self::MODE_GMP: + if (gmp_cmp($this->value, gmp_init(0)) == 0) { + return $this->precision > 0 ? str_repeat(chr(0), ($this->precision + 1) >> 3) : ''; + } + + $temp = gmp_strval(gmp_abs($this->value), 16); + $temp = (strlen($temp) & 1) ? '0' . $temp : $temp; + $temp = pack('H*', $temp); + + return $this->precision > 0 ? + substr(str_pad($temp, $this->precision >> 3, chr(0), STR_PAD_LEFT), -($this->precision >> 3)) : + ltrim($temp, chr(0)); + case self::MODE_BCMATH: + if ($this->value === '0') { + return $this->precision > 0 ? str_repeat(chr(0), ($this->precision + 1) >> 3) : ''; + } + + $value = ''; + $current = $this->value; + + if ($current[0] == '-') { + $current = substr($current, 1); + } + + while (bccomp($current, '0', 0) > 0) { + $temp = bcmod($current, '16777216'); + $value = chr($temp >> 16) . chr($temp >> 8) . chr($temp) . $value; + $current = bcdiv($current, '16777216', 0); + } + + return $this->precision > 0 ? + substr(str_pad($value, $this->precision >> 3, chr(0), STR_PAD_LEFT), -($this->precision >> 3)) : + ltrim($value, chr(0)); + } + + if (!count($this->value)) { + return $this->precision > 0 ? str_repeat(chr(0), ($this->precision + 1) >> 3) : ''; + } + $result = $this->_int2bytes($this->value[count($this->value) - 1]); + + $temp = $this->copy(); + + for ($i = count($temp->value) - 2; $i >= 0; --$i) { + $temp->_base256_lshift($result, self::$base); + $result = $result | str_pad($temp->_int2bytes($temp->value[$i]), strlen($result), chr(0), STR_PAD_LEFT); + } + + return $this->precision > 0 ? + str_pad(substr($result, -(($this->precision + 7) >> 3)), ($this->precision + 7) >> 3, chr(0), STR_PAD_LEFT) : + $result; + } + + /** + * Converts a BigInteger to a hex string (eg. base-16)). + * + * Negative numbers are saved as positive numbers, unless $twos_compliment is set to true, at which point, they're + * saved as two's compliment. + * + * Here's an example: + * <code> + * <?php + * $a = new \phpseclib\Math\BigInteger('65'); + * + * echo $a->toHex(); // outputs '41' + * ?> + * </code> + * + * @param bool $twos_compliment + * @return string + * @access public + * @internal Converts a base-2**26 number to base-2**8 + */ + function toHex($twos_compliment = false) + { + return bin2hex($this->toBytes($twos_compliment)); + } + + /** + * Converts a BigInteger to a bit string (eg. base-2). + * + * Negative numbers are saved as positive numbers, unless $twos_compliment is set to true, at which point, they're + * saved as two's compliment. + * + * Here's an example: + * <code> + * <?php + * $a = new \phpseclib\Math\BigInteger('65'); + * + * echo $a->toBits(); // outputs '1000001' + * ?> + * </code> + * + * @param bool $twos_compliment + * @return string + * @access public + * @internal Converts a base-2**26 number to base-2**2 + */ + function toBits($twos_compliment = false) + { + $hex = $this->toHex($twos_compliment); + $bits = ''; + for ($i = strlen($hex) - 8, $start = strlen($hex) & 7; $i >= $start; $i-=8) { + $bits = str_pad(decbin(hexdec(substr($hex, $i, 8))), 32, '0', STR_PAD_LEFT) . $bits; + } + if ($start) { // hexdec('') == 0 + $bits = str_pad(decbin(hexdec(substr($hex, 0, $start))), 8, '0', STR_PAD_LEFT) . $bits; + } + $result = $this->precision > 0 ? substr($bits, -$this->precision) : ltrim($bits, '0'); + + if ($twos_compliment && $this->compare(new static()) > 0 && $this->precision <= 0) { + return '0' . $result; + } + + return $result; + } + + /** + * Converts a BigInteger to a base-10 number. + * + * Here's an example: + * <code> + * <?php + * $a = new \phpseclib\Math\BigInteger('50'); + * + * echo $a->toString(); // outputs 50 + * ?> + * </code> + * + * @return string + * @access public + * @internal Converts a base-2**26 number to base-10**7 (which is pretty much base-10) + */ + function toString() + { + switch (MATH_BIGINTEGER_MODE) { + case self::MODE_GMP: + return gmp_strval($this->value); + case self::MODE_BCMATH: + if ($this->value === '0') { + return '0'; + } + + return ltrim($this->value, '0'); + } + + if (!count($this->value)) { + return '0'; + } + + $temp = $this->copy(); + $temp->is_negative = false; + + $divisor = new static(); + $divisor->value = array(self::$max10); + $result = ''; + while (count($temp->value)) { + list($temp, $mod) = $temp->divide($divisor); + $result = str_pad(isset($mod->value[0]) ? $mod->value[0] : '', self::$max10Len, '0', STR_PAD_LEFT) . $result; + } + $result = ltrim($result, '0'); + if (empty($result)) { + $result = '0'; + } + + if ($this->is_negative) { + $result = '-' . $result; + } + + return $result; + } + + /** + * Copy an object + * + * PHP5 passes objects by reference while PHP4 passes by value. As such, we need a function to guarantee + * that all objects are passed by value, when appropriate. More information can be found here: + * + * {@link http://php.net/language.oop5.basic#51624} + * + * @access public + * @see self::__clone() + * @return \phpseclib\Math\BigInteger + */ + function copy() + { + $temp = new static(); + $temp->value = $this->value; + $temp->is_negative = $this->is_negative; + $temp->precision = $this->precision; + $temp->bitmask = $this->bitmask; + return $temp; + } + + /** + * __toString() magic method + * + * Will be called, automatically, if you're supporting just PHP5. If you're supporting PHP4, you'll need to call + * toString(). + * + * @access public + * @internal Implemented per a suggestion by Techie-Michael - thanks! + */ + function __toString() + { + return $this->toString(); + } + + /** + * __clone() magic method + * + * Although you can call BigInteger::__toString() directly in PHP5, you cannot call BigInteger::__clone() directly + * in PHP5. You can in PHP4 since it's not a magic method, but in PHP5, you have to call it by using the PHP5 + * only syntax of $y = clone $x. As such, if you're trying to write an application that works on both PHP4 and + * PHP5, call BigInteger::copy(), instead. + * + * @access public + * @see self::copy() + * @return \phpseclib\Math\BigInteger + */ + function __clone() + { + return $this->copy(); + } + + /** + * __sleep() magic method + * + * Will be called, automatically, when serialize() is called on a BigInteger object. + * + * @see self::__wakeup() + * @access public + */ + function __sleep() + { + $this->hex = $this->toHex(true); + $vars = array('hex'); + if ($this->precision > 0) { + $vars[] = 'precision'; + } + return $vars; + } + + /** + * __wakeup() magic method + * + * Will be called, automatically, when unserialize() is called on a BigInteger object. + * + * @see self::__sleep() + * @access public + */ + function __wakeup() + { + $temp = new static($this->hex, -16); + $this->value = $temp->value; + $this->is_negative = $temp->is_negative; + if ($this->precision > 0) { + // recalculate $this->bitmask + $this->setPrecision($this->precision); + } + } + + /** + * __debugInfo() magic method + * + * Will be called, automatically, when print_r() or var_dump() are called + * + * @access public + */ + function __debugInfo() + { + $opts = array(); + switch (MATH_BIGINTEGER_MODE) { + case self::MODE_GMP: + $engine = 'gmp'; + break; + case self::MODE_BCMATH: + $engine = 'bcmath'; + break; + case self::MODE_INTERNAL: + $engine = 'internal'; + $opts[] = PHP_INT_SIZE == 8 ? '64-bit' : '32-bit'; + } + if (MATH_BIGINTEGER_MODE != self::MODE_GMP && defined('MATH_BIGINTEGER_OPENSSL_ENABLED')) { + $opts[] = 'OpenSSL'; + } + if (!empty($opts)) { + $engine.= ' (' . implode($opts, ', ') . ')'; + } + return array( + 'value' => '0x' . $this->toHex(true), + 'engine' => $engine + ); + } + + /** + * Adds two BigIntegers. + * + * Here's an example: + * <code> + * <?php + * $a = new \phpseclib\Math\BigInteger('10'); + * $b = new \phpseclib\Math\BigInteger('20'); + * + * $c = $a->add($b); + * + * echo $c->toString(); // outputs 30 + * ?> + * </code> + * + * @param \phpseclib\Math\BigInteger $y + * @return \phpseclib\Math\BigInteger + * @access public + * @internal Performs base-2**52 addition + */ + function add($y) + { + switch (MATH_BIGINTEGER_MODE) { + case self::MODE_GMP: + $temp = new static(); + $temp->value = gmp_add($this->value, $y->value); + + return $this->_normalize($temp); + case self::MODE_BCMATH: + $temp = new static(); + $temp->value = bcadd($this->value, $y->value, 0); + + return $this->_normalize($temp); + } + + $temp = $this->_add($this->value, $this->is_negative, $y->value, $y->is_negative); + + $result = new static(); + $result->value = $temp[self::VALUE]; + $result->is_negative = $temp[self::SIGN]; + + return $this->_normalize($result); + } + + /** + * Performs addition. + * + * @param array $x_value + * @param bool $x_negative + * @param array $y_value + * @param bool $y_negative + * @return array + * @access private + */ + function _add($x_value, $x_negative, $y_value, $y_negative) + { + $x_size = count($x_value); + $y_size = count($y_value); + + if ($x_size == 0) { + return array( + self::VALUE => $y_value, + self::SIGN => $y_negative + ); + } elseif ($y_size == 0) { + return array( + self::VALUE => $x_value, + self::SIGN => $x_negative + ); + } + + // subtract, if appropriate + if ($x_negative != $y_negative) { + if ($x_value == $y_value) { + return array( + self::VALUE => array(), + self::SIGN => false + ); + } + + $temp = $this->_subtract($x_value, false, $y_value, false); + $temp[self::SIGN] = $this->_compare($x_value, false, $y_value, false) > 0 ? + $x_negative : $y_negative; + + return $temp; + } + + if ($x_size < $y_size) { + $size = $x_size; + $value = $y_value; + } else { + $size = $y_size; + $value = $x_value; + } + + $value[count($value)] = 0; // just in case the carry adds an extra digit + + $carry = 0; + for ($i = 0, $j = 1; $j < $size; $i+=2, $j+=2) { + $sum = $x_value[$j] * self::$baseFull + $x_value[$i] + $y_value[$j] * self::$baseFull + $y_value[$i] + $carry; + $carry = $sum >= self::$maxDigit2; // eg. floor($sum / 2**52); only possible values (in any base) are 0 and 1 + $sum = $carry ? $sum - self::$maxDigit2 : $sum; + + $temp = self::$base === 26 ? intval($sum / 0x4000000) : ($sum >> 31); + + $value[$i] = (int) ($sum - self::$baseFull * $temp); // eg. a faster alternative to fmod($sum, 0x4000000) + $value[$j] = $temp; + } + + if ($j == $size) { // ie. if $y_size is odd + $sum = $x_value[$i] + $y_value[$i] + $carry; + $carry = $sum >= self::$baseFull; + $value[$i] = $carry ? $sum - self::$baseFull : $sum; + ++$i; // ie. let $i = $j since we've just done $value[$i] + } + + if ($carry) { + for (; $value[$i] == self::$maxDigit; ++$i) { + $value[$i] = 0; + } + ++$value[$i]; + } + + return array( + self::VALUE => $this->_trim($value), + self::SIGN => $x_negative + ); + } + + /** + * Subtracts two BigIntegers. + * + * Here's an example: + * <code> + * <?php + * $a = new \phpseclib\Math\BigInteger('10'); + * $b = new \phpseclib\Math\BigInteger('20'); + * + * $c = $a->subtract($b); + * + * echo $c->toString(); // outputs -10 + * ?> + * </code> + * + * @param \phpseclib\Math\BigInteger $y + * @return \phpseclib\Math\BigInteger + * @access public + * @internal Performs base-2**52 subtraction + */ + function subtract($y) + { + switch (MATH_BIGINTEGER_MODE) { + case self::MODE_GMP: + $temp = new static(); + $temp->value = gmp_sub($this->value, $y->value); + + return $this->_normalize($temp); + case self::MODE_BCMATH: + $temp = new static(); + $temp->value = bcsub($this->value, $y->value, 0); + + return $this->_normalize($temp); + } + + $temp = $this->_subtract($this->value, $this->is_negative, $y->value, $y->is_negative); + + $result = new static(); + $result->value = $temp[self::VALUE]; + $result->is_negative = $temp[self::SIGN]; + + return $this->_normalize($result); + } + + /** + * Performs subtraction. + * + * @param array $x_value + * @param bool $x_negative + * @param array $y_value + * @param bool $y_negative + * @return array + * @access private + */ + function _subtract($x_value, $x_negative, $y_value, $y_negative) + { + $x_size = count($x_value); + $y_size = count($y_value); + + if ($x_size == 0) { + return array( + self::VALUE => $y_value, + self::SIGN => !$y_negative + ); + } elseif ($y_size == 0) { + return array( + self::VALUE => $x_value, + self::SIGN => $x_negative + ); + } + + // add, if appropriate (ie. -$x - +$y or +$x - -$y) + if ($x_negative != $y_negative) { + $temp = $this->_add($x_value, false, $y_value, false); + $temp[self::SIGN] = $x_negative; + + return $temp; + } + + $diff = $this->_compare($x_value, $x_negative, $y_value, $y_negative); + + if (!$diff) { + return array( + self::VALUE => array(), + self::SIGN => false + ); + } + + // switch $x and $y around, if appropriate. + if ((!$x_negative && $diff < 0) || ($x_negative && $diff > 0)) { + $temp = $x_value; + $x_value = $y_value; + $y_value = $temp; + + $x_negative = !$x_negative; + + $x_size = count($x_value); + $y_size = count($y_value); + } + + // at this point, $x_value should be at least as big as - if not bigger than - $y_value + + $carry = 0; + for ($i = 0, $j = 1; $j < $y_size; $i+=2, $j+=2) { + $sum = $x_value[$j] * self::$baseFull + $x_value[$i] - $y_value[$j] * self::$baseFull - $y_value[$i] - $carry; + $carry = $sum < 0; // eg. floor($sum / 2**52); only possible values (in any base) are 0 and 1 + $sum = $carry ? $sum + self::$maxDigit2 : $sum; + + $temp = self::$base === 26 ? intval($sum / 0x4000000) : ($sum >> 31); + + $x_value[$i] = (int) ($sum - self::$baseFull * $temp); + $x_value[$j] = $temp; + } + + if ($j == $y_size) { // ie. if $y_size is odd + $sum = $x_value[$i] - $y_value[$i] - $carry; + $carry = $sum < 0; + $x_value[$i] = $carry ? $sum + self::$baseFull : $sum; + ++$i; + } + + if ($carry) { + for (; !$x_value[$i]; ++$i) { + $x_value[$i] = self::$maxDigit; + } + --$x_value[$i]; + } + + return array( + self::VALUE => $this->_trim($x_value), + self::SIGN => $x_negative + ); + } + + /** + * Multiplies two BigIntegers + * + * Here's an example: + * <code> + * <?php + * $a = new \phpseclib\Math\BigInteger('10'); + * $b = new \phpseclib\Math\BigInteger('20'); + * + * $c = $a->multiply($b); + * + * echo $c->toString(); // outputs 200 + * ?> + * </code> + * + * @param \phpseclib\Math\BigInteger $x + * @return \phpseclib\Math\BigInteger + * @access public + */ + function multiply($x) + { + switch (MATH_BIGINTEGER_MODE) { + case self::MODE_GMP: + $temp = new static(); + $temp->value = gmp_mul($this->value, $x->value); + + return $this->_normalize($temp); + case self::MODE_BCMATH: + $temp = new static(); + $temp->value = bcmul($this->value, $x->value, 0); + + return $this->_normalize($temp); + } + + $temp = $this->_multiply($this->value, $this->is_negative, $x->value, $x->is_negative); + + $product = new static(); + $product->value = $temp[self::VALUE]; + $product->is_negative = $temp[self::SIGN]; + + return $this->_normalize($product); + } + + /** + * Performs multiplication. + * + * @param array $x_value + * @param bool $x_negative + * @param array $y_value + * @param bool $y_negative + * @return array + * @access private + */ + function _multiply($x_value, $x_negative, $y_value, $y_negative) + { + //if ( $x_value == $y_value ) { + // return array( + // self::VALUE => $this->_square($x_value), + // self::SIGN => $x_sign != $y_value + // ); + //} + + $x_length = count($x_value); + $y_length = count($y_value); + + if (!$x_length || !$y_length) { // a 0 is being multiplied + return array( + self::VALUE => array(), + self::SIGN => false + ); + } + + return array( + self::VALUE => min($x_length, $y_length) < 2 * self::KARATSUBA_CUTOFF ? + $this->_trim($this->_regularMultiply($x_value, $y_value)) : + $this->_trim($this->_karatsuba($x_value, $y_value)), + self::SIGN => $x_negative != $y_negative + ); + } + + /** + * Performs long multiplication on two BigIntegers + * + * Modeled after 'multiply' in MutableBigInteger.java. + * + * @param array $x_value + * @param array $y_value + * @return array + * @access private + */ + function _regularMultiply($x_value, $y_value) + { + $x_length = count($x_value); + $y_length = count($y_value); + + if (!$x_length || !$y_length) { // a 0 is being multiplied + return array(); + } + + if ($x_length < $y_length) { + $temp = $x_value; + $x_value = $y_value; + $y_value = $temp; + + $x_length = count($x_value); + $y_length = count($y_value); + } + + $product_value = $this->_array_repeat(0, $x_length + $y_length); + + // the following for loop could be removed if the for loop following it + // (the one with nested for loops) initially set $i to 0, but + // doing so would also make the result in one set of unnecessary adds, + // since on the outermost loops first pass, $product->value[$k] is going + // to always be 0 + + $carry = 0; + + for ($j = 0; $j < $x_length; ++$j) { // ie. $i = 0 + $temp = $x_value[$j] * $y_value[0] + $carry; // $product_value[$k] == 0 + $carry = self::$base === 26 ? intval($temp / 0x4000000) : ($temp >> 31); + $product_value[$j] = (int) ($temp - self::$baseFull * $carry); + } + + $product_value[$j] = $carry; + + // the above for loop is what the previous comment was talking about. the + // following for loop is the "one with nested for loops" + for ($i = 1; $i < $y_length; ++$i) { + $carry = 0; + + for ($j = 0, $k = $i; $j < $x_length; ++$j, ++$k) { + $temp = $product_value[$k] + $x_value[$j] * $y_value[$i] + $carry; + $carry = self::$base === 26 ? intval($temp / 0x4000000) : ($temp >> 31); + $product_value[$k] = (int) ($temp - self::$baseFull * $carry); + } + + $product_value[$k] = $carry; + } + + return $product_value; + } + + /** + * Performs Karatsuba multiplication on two BigIntegers + * + * See {@link http://en.wikipedia.org/wiki/Karatsuba_algorithm Karatsuba algorithm} and + * {@link http://math.libtomcrypt.com/files/tommath.pdf#page=120 MPM 5.2.3}. + * + * @param array $x_value + * @param array $y_value + * @return array + * @access private + */ + function _karatsuba($x_value, $y_value) + { + $m = min(count($x_value) >> 1, count($y_value) >> 1); + + if ($m < self::KARATSUBA_CUTOFF) { + return $this->_regularMultiply($x_value, $y_value); + } + + $x1 = array_slice($x_value, $m); + $x0 = array_slice($x_value, 0, $m); + $y1 = array_slice($y_value, $m); + $y0 = array_slice($y_value, 0, $m); + + $z2 = $this->_karatsuba($x1, $y1); + $z0 = $this->_karatsuba($x0, $y0); + + $z1 = $this->_add($x1, false, $x0, false); + $temp = $this->_add($y1, false, $y0, false); + $z1 = $this->_karatsuba($z1[self::VALUE], $temp[self::VALUE]); + $temp = $this->_add($z2, false, $z0, false); + $z1 = $this->_subtract($z1, false, $temp[self::VALUE], false); + + $z2 = array_merge(array_fill(0, 2 * $m, 0), $z2); + $z1[self::VALUE] = array_merge(array_fill(0, $m, 0), $z1[self::VALUE]); + + $xy = $this->_add($z2, false, $z1[self::VALUE], $z1[self::SIGN]); + $xy = $this->_add($xy[self::VALUE], $xy[self::SIGN], $z0, false); + + return $xy[self::VALUE]; + } + + /** + * Performs squaring + * + * @param array $x + * @return array + * @access private + */ + function _square($x = false) + { + return count($x) < 2 * self::KARATSUBA_CUTOFF ? + $this->_trim($this->_baseSquare($x)) : + $this->_trim($this->_karatsubaSquare($x)); + } + + /** + * Performs traditional squaring on two BigIntegers + * + * Squaring can be done faster than multiplying a number by itself can be. See + * {@link http://www.cacr.math.uwaterloo.ca/hac/about/chap14.pdf#page=7 HAC 14.2.4} / + * {@link http://math.libtomcrypt.com/files/tommath.pdf#page=141 MPM 5.3} for more information. + * + * @param array $value + * @return array + * @access private + */ + function _baseSquare($value) + { + if (empty($value)) { + return array(); + } + $square_value = $this->_array_repeat(0, 2 * count($value)); + + for ($i = 0, $max_index = count($value) - 1; $i <= $max_index; ++$i) { + $i2 = $i << 1; + + $temp = $square_value[$i2] + $value[$i] * $value[$i]; + $carry = self::$base === 26 ? intval($temp / 0x4000000) : ($temp >> 31); + $square_value[$i2] = (int) ($temp - self::$baseFull * $carry); + + // note how we start from $i+1 instead of 0 as we do in multiplication. + for ($j = $i + 1, $k = $i2 + 1; $j <= $max_index; ++$j, ++$k) { + $temp = $square_value[$k] + 2 * $value[$j] * $value[$i] + $carry; + $carry = self::$base === 26 ? intval($temp / 0x4000000) : ($temp >> 31); + $square_value[$k] = (int) ($temp - self::$baseFull * $carry); + } + + // the following line can yield values larger 2**15. at this point, PHP should switch + // over to floats. + $square_value[$i + $max_index + 1] = $carry; + } + + return $square_value; + } + + /** + * Performs Karatsuba "squaring" on two BigIntegers + * + * See {@link http://en.wikipedia.org/wiki/Karatsuba_algorithm Karatsuba algorithm} and + * {@link http://math.libtomcrypt.com/files/tommath.pdf#page=151 MPM 5.3.4}. + * + * @param array $value + * @return array + * @access private + */ + function _karatsubaSquare($value) + { + $m = count($value) >> 1; + + if ($m < self::KARATSUBA_CUTOFF) { + return $this->_baseSquare($value); + } + + $x1 = array_slice($value, $m); + $x0 = array_slice($value, 0, $m); + + $z2 = $this->_karatsubaSquare($x1); + $z0 = $this->_karatsubaSquare($x0); + + $z1 = $this->_add($x1, false, $x0, false); + $z1 = $this->_karatsubaSquare($z1[self::VALUE]); + $temp = $this->_add($z2, false, $z0, false); + $z1 = $this->_subtract($z1, false, $temp[self::VALUE], false); + + $z2 = array_merge(array_fill(0, 2 * $m, 0), $z2); + $z1[self::VALUE] = array_merge(array_fill(0, $m, 0), $z1[self::VALUE]); + + $xx = $this->_add($z2, false, $z1[self::VALUE], $z1[self::SIGN]); + $xx = $this->_add($xx[self::VALUE], $xx[self::SIGN], $z0, false); + + return $xx[self::VALUE]; + } + + /** + * Divides two BigIntegers. + * + * Returns an array whose first element contains the quotient and whose second element contains the + * "common residue". If the remainder would be positive, the "common residue" and the remainder are the + * same. If the remainder would be negative, the "common residue" is equal to the sum of the remainder + * and the divisor (basically, the "common residue" is the first positive modulo). + * + * Here's an example: + * <code> + * <?php + * $a = new \phpseclib\Math\BigInteger('10'); + * $b = new \phpseclib\Math\BigInteger('20'); + * + * list($quotient, $remainder) = $a->divide($b); + * + * echo $quotient->toString(); // outputs 0 + * echo "\r\n"; + * echo $remainder->toString(); // outputs 10 + * ?> + * </code> + * + * @param \phpseclib\Math\BigInteger $y + * @return array + * @access public + * @internal This function is based off of {@link http://www.cacr.math.uwaterloo.ca/hac/about/chap14.pdf#page=9 HAC 14.20}. + */ + function divide($y) + { + switch (MATH_BIGINTEGER_MODE) { + case self::MODE_GMP: + $quotient = new static(); + $remainder = new static(); + + list($quotient->value, $remainder->value) = gmp_div_qr($this->value, $y->value); + + if (gmp_sign($remainder->value) < 0) { + $remainder->value = gmp_add($remainder->value, gmp_abs($y->value)); + } + + return array($this->_normalize($quotient), $this->_normalize($remainder)); + case self::MODE_BCMATH: + $quotient = new static(); + $remainder = new static(); + + $quotient->value = bcdiv($this->value, $y->value, 0); + $remainder->value = bcmod($this->value, $y->value); + + if ($remainder->value[0] == '-') { + $remainder->value = bcadd($remainder->value, $y->value[0] == '-' ? substr($y->value, 1) : $y->value, 0); + } + + return array($this->_normalize($quotient), $this->_normalize($remainder)); + } + + if (count($y->value) == 1) { + list($q, $r) = $this->_divide_digit($this->value, $y->value[0]); + $quotient = new static(); + $remainder = new static(); + $quotient->value = $q; + $remainder->value = array($r); + $quotient->is_negative = $this->is_negative != $y->is_negative; + return array($this->_normalize($quotient), $this->_normalize($remainder)); + } + + static $zero; + if (!isset($zero)) { + $zero = new static(); + } + + $x = $this->copy(); + $y = $y->copy(); + + $x_sign = $x->is_negative; + $y_sign = $y->is_negative; + + $x->is_negative = $y->is_negative = false; + + $diff = $x->compare($y); + + if (!$diff) { + $temp = new static(); + $temp->value = array(1); + $temp->is_negative = $x_sign != $y_sign; + return array($this->_normalize($temp), $this->_normalize(new static())); + } + + if ($diff < 0) { + // if $x is negative, "add" $y. + if ($x_sign) { + $x = $y->subtract($x); + } + return array($this->_normalize(new static()), $this->_normalize($x)); + } + + // normalize $x and $y as described in HAC 14.23 / 14.24 + $msb = $y->value[count($y->value) - 1]; + for ($shift = 0; !($msb & self::$msb); ++$shift) { + $msb <<= 1; + } + $x->_lshift($shift); + $y->_lshift($shift); + $y_value = &$y->value; + + $x_max = count($x->value) - 1; + $y_max = count($y->value) - 1; + + $quotient = new static(); + $quotient_value = &$quotient->value; + $quotient_value = $this->_array_repeat(0, $x_max - $y_max + 1); + + static $temp, $lhs, $rhs; + if (!isset($temp)) { + $temp = new static(); + $lhs = new static(); + $rhs = new static(); + } + $temp_value = &$temp->value; + $rhs_value = &$rhs->value; + + // $temp = $y << ($x_max - $y_max-1) in base 2**26 + $temp_value = array_merge($this->_array_repeat(0, $x_max - $y_max), $y_value); + + while ($x->compare($temp) >= 0) { + // calculate the "common residue" + ++$quotient_value[$x_max - $y_max]; + $x = $x->subtract($temp); + $x_max = count($x->value) - 1; + } + + for ($i = $x_max; $i >= $y_max + 1; --$i) { + $x_value = &$x->value; + $x_window = array( + isset($x_value[$i]) ? $x_value[$i] : 0, + isset($x_value[$i - 1]) ? $x_value[$i - 1] : 0, + isset($x_value[$i - 2]) ? $x_value[$i - 2] : 0 + ); + $y_window = array( + $y_value[$y_max], + ($y_max > 0) ? $y_value[$y_max - 1] : 0 + ); + + $q_index = $i - $y_max - 1; + if ($x_window[0] == $y_window[0]) { + $quotient_value[$q_index] = self::$maxDigit; + } else { + $quotient_value[$q_index] = $this->_safe_divide( + $x_window[0] * self::$baseFull + $x_window[1], + $y_window[0] + ); + } + + $temp_value = array($y_window[1], $y_window[0]); + + $lhs->value = array($quotient_value[$q_index]); + $lhs = $lhs->multiply($temp); + + $rhs_value = array($x_window[2], $x_window[1], $x_window[0]); + + while ($lhs->compare($rhs) > 0) { + --$quotient_value[$q_index]; + + $lhs->value = array($quotient_value[$q_index]); + $lhs = $lhs->multiply($temp); + } + + $adjust = $this->_array_repeat(0, $q_index); + $temp_value = array($quotient_value[$q_index]); + $temp = $temp->multiply($y); + $temp_value = &$temp->value; + $temp_value = array_merge($adjust, $temp_value); + + $x = $x->subtract($temp); + + if ($x->compare($zero) < 0) { + $temp_value = array_merge($adjust, $y_value); + $x = $x->add($temp); + + --$quotient_value[$q_index]; + } + + $x_max = count($x_value) - 1; + } + + // unnormalize the remainder + $x->_rshift($shift); + + $quotient->is_negative = $x_sign != $y_sign; + + // calculate the "common residue", if appropriate + if ($x_sign) { + $y->_rshift($shift); + $x = $y->subtract($x); + } + + return array($this->_normalize($quotient), $this->_normalize($x)); + } + + /** + * Divides a BigInteger by a regular integer + * + * abc / x = a00 / x + b0 / x + c / x + * + * @param array $dividend + * @param array $divisor + * @return array + * @access private + */ + function _divide_digit($dividend, $divisor) + { + $carry = 0; + $result = array(); + + for ($i = count($dividend) - 1; $i >= 0; --$i) { + $temp = self::$baseFull * $carry + $dividend[$i]; + $result[$i] = $this->_safe_divide($temp, $divisor); + $carry = (int) ($temp - $divisor * $result[$i]); + } + + return array($result, $carry); + } + + /** + * Performs modular exponentiation. + * + * Here's an example: + * <code> + * <?php + * $a = new \phpseclib\Math\BigInteger('10'); + * $b = new \phpseclib\Math\BigInteger('20'); + * $c = new \phpseclib\Math\BigInteger('30'); + * + * $c = $a->modPow($b, $c); + * + * echo $c->toString(); // outputs 10 + * ?> + * </code> + * + * @param \phpseclib\Math\BigInteger $e + * @param \phpseclib\Math\BigInteger $n + * @return \phpseclib\Math\BigInteger + * @access public + * @internal The most naive approach to modular exponentiation has very unreasonable requirements, and + * and although the approach involving repeated squaring does vastly better, it, too, is impractical + * for our purposes. The reason being that division - by far the most complicated and time-consuming + * of the basic operations (eg. +,-,*,/) - occurs multiple times within it. + * + * Modular reductions resolve this issue. Although an individual modular reduction takes more time + * then an individual division, when performed in succession (with the same modulo), they're a lot faster. + * + * The two most commonly used modular reductions are Barrett and Montgomery reduction. Montgomery reduction, + * although faster, only works when the gcd of the modulo and of the base being used is 1. In RSA, when the + * base is a power of two, the modulo - a product of two primes - is always going to have a gcd of 1 (because + * the product of two odd numbers is odd), but what about when RSA isn't used? + * + * In contrast, Barrett reduction has no such constraint. As such, some bigint implementations perform a + * Barrett reduction after every operation in the modpow function. Others perform Barrett reductions when the + * modulo is even and Montgomery reductions when the modulo is odd. BigInteger.java's modPow method, however, + * uses a trick involving the Chinese Remainder Theorem to factor the even modulo into two numbers - one odd and + * the other, a power of two - and recombine them, later. This is the method that this modPow function uses. + * {@link http://islab.oregonstate.edu/papers/j34monex.pdf Montgomery Reduction with Even Modulus} elaborates. + */ + function modPow($e, $n) + { + $n = $this->bitmask !== false && $this->bitmask->compare($n) < 0 ? $this->bitmask : $n->abs(); + + if ($e->compare(new static()) < 0) { + $e = $e->abs(); + + $temp = $this->modInverse($n); + if ($temp === false) { + return false; + } + + return $this->_normalize($temp->modPow($e, $n)); + } + + if (MATH_BIGINTEGER_MODE == self::MODE_GMP) { + $temp = new static(); + $temp->value = gmp_powm($this->value, $e->value, $n->value); + + return $this->_normalize($temp); + } + + if ($this->compare(new static()) < 0 || $this->compare($n) > 0) { + list(, $temp) = $this->divide($n); + return $temp->modPow($e, $n); + } + + if (defined('MATH_BIGINTEGER_OPENSSL_ENABLED')) { + $components = array( + 'modulus' => $n->toBytes(true), + 'publicExponent' => $e->toBytes(true) + ); + + $components = array( + 'modulus' => pack('Ca*a*', 2, $this->_encodeASN1Length(strlen($components['modulus'])), $components['modulus']), + 'publicExponent' => pack('Ca*a*', 2, $this->_encodeASN1Length(strlen($components['publicExponent'])), $components['publicExponent']) + ); + + $RSAPublicKey = pack( + 'Ca*a*a*', + 48, + $this->_encodeASN1Length(strlen($components['modulus']) + strlen($components['publicExponent'])), + $components['modulus'], + $components['publicExponent'] + ); + + $rsaOID = pack('H*', '300d06092a864886f70d0101010500'); // hex version of MA0GCSqGSIb3DQEBAQUA + $RSAPublicKey = chr(0) . $RSAPublicKey; + $RSAPublicKey = chr(3) . $this->_encodeASN1Length(strlen($RSAPublicKey)) . $RSAPublicKey; + + $encapsulated = pack( + 'Ca*a*', + 48, + $this->_encodeASN1Length(strlen($rsaOID . $RSAPublicKey)), + $rsaOID . $RSAPublicKey + ); + + $RSAPublicKey = "-----BEGIN PUBLIC KEY-----\r\n" . + chunk_split(base64_encode($encapsulated)) . + '-----END PUBLIC KEY-----'; + + $plaintext = str_pad($this->toBytes(), strlen($n->toBytes(true)) - 1, "\0", STR_PAD_LEFT); + + if (openssl_public_encrypt($plaintext, $result, $RSAPublicKey, OPENSSL_NO_PADDING)) { + return new static($result, 256); + } + } + + if (MATH_BIGINTEGER_MODE == self::MODE_BCMATH) { + $temp = new static(); + $temp->value = bcpowmod($this->value, $e->value, $n->value, 0); + + return $this->_normalize($temp); + } + + if (empty($e->value)) { + $temp = new static(); + $temp->value = array(1); + return $this->_normalize($temp); + } + + if ($e->value == array(1)) { + list(, $temp) = $this->divide($n); + return $this->_normalize($temp); + } + + if ($e->value == array(2)) { + $temp = new static(); + $temp->value = $this->_square($this->value); + list(, $temp) = $temp->divide($n); + return $this->_normalize($temp); + } + + return $this->_normalize($this->_slidingWindow($e, $n, self::BARRETT)); + + // the following code, although not callable, can be run independently of the above code + // although the above code performed better in my benchmarks the following could might + // perform better under different circumstances. in lieu of deleting it it's just been + // made uncallable + + // is the modulo odd? + if ($n->value[0] & 1) { + return $this->_normalize($this->_slidingWindow($e, $n, self::MONTGOMERY)); + } + // if it's not, it's even + + // find the lowest set bit (eg. the max pow of 2 that divides $n) + for ($i = 0; $i < count($n->value); ++$i) { + if ($n->value[$i]) { + $temp = decbin($n->value[$i]); + $j = strlen($temp) - strrpos($temp, '1') - 1; + $j+= 26 * $i; + break; + } + } + // at this point, 2^$j * $n/(2^$j) == $n + + $mod1 = $n->copy(); + $mod1->_rshift($j); + $mod2 = new static(); + $mod2->value = array(1); + $mod2->_lshift($j); + + $part1 = ($mod1->value != array(1)) ? $this->_slidingWindow($e, $mod1, self::MONTGOMERY) : new static(); + $part2 = $this->_slidingWindow($e, $mod2, self::POWEROF2); + + $y1 = $mod2->modInverse($mod1); + $y2 = $mod1->modInverse($mod2); + + $result = $part1->multiply($mod2); + $result = $result->multiply($y1); + + $temp = $part2->multiply($mod1); + $temp = $temp->multiply($y2); + + $result = $result->add($temp); + list(, $result) = $result->divide($n); + + return $this->_normalize($result); + } + + /** + * Performs modular exponentiation. + * + * Alias for modPow(). + * + * @param \phpseclib\Math\BigInteger $e + * @param \phpseclib\Math\BigInteger $n + * @return \phpseclib\Math\BigInteger + * @access public + */ + function powMod($e, $n) + { + return $this->modPow($e, $n); + } + + /** + * Sliding Window k-ary Modular Exponentiation + * + * Based on {@link http://www.cacr.math.uwaterloo.ca/hac/about/chap14.pdf#page=27 HAC 14.85} / + * {@link http://math.libtomcrypt.com/files/tommath.pdf#page=210 MPM 7.7}. In a departure from those algorithims, + * however, this function performs a modular reduction after every multiplication and squaring operation. + * As such, this function has the same preconditions that the reductions being used do. + * + * @param \phpseclib\Math\BigInteger $e + * @param \phpseclib\Math\BigInteger $n + * @param int $mode + * @return \phpseclib\Math\BigInteger + * @access private + */ + function _slidingWindow($e, $n, $mode) + { + static $window_ranges = array(7, 25, 81, 241, 673, 1793); // from BigInteger.java's oddModPow function + //static $window_ranges = array(0, 7, 36, 140, 450, 1303, 3529); // from MPM 7.3.1 + + $e_value = $e->value; + $e_length = count($e_value) - 1; + $e_bits = decbin($e_value[$e_length]); + for ($i = $e_length - 1; $i >= 0; --$i) { + $e_bits.= str_pad(decbin($e_value[$i]), self::$base, '0', STR_PAD_LEFT); + } + + $e_length = strlen($e_bits); + + // calculate the appropriate window size. + // $window_size == 3 if $window_ranges is between 25 and 81, for example. + for ($i = 0, $window_size = 1; $i < count($window_ranges) && $e_length > $window_ranges[$i]; ++$window_size, ++$i) { + } + + $n_value = $n->value; + + // precompute $this^0 through $this^$window_size + $powers = array(); + $powers[1] = $this->_prepareReduce($this->value, $n_value, $mode); + $powers[2] = $this->_squareReduce($powers[1], $n_value, $mode); + + // we do every other number since substr($e_bits, $i, $j+1) (see below) is supposed to end + // in a 1. ie. it's supposed to be odd. + $temp = 1 << ($window_size - 1); + for ($i = 1; $i < $temp; ++$i) { + $i2 = $i << 1; + $powers[$i2 + 1] = $this->_multiplyReduce($powers[$i2 - 1], $powers[2], $n_value, $mode); + } + + $result = array(1); + $result = $this->_prepareReduce($result, $n_value, $mode); + + for ($i = 0; $i < $e_length;) { + if (!$e_bits[$i]) { + $result = $this->_squareReduce($result, $n_value, $mode); + ++$i; + } else { + for ($j = $window_size - 1; $j > 0; --$j) { + if (!empty($e_bits[$i + $j])) { + break; + } + } + + // eg. the length of substr($e_bits, $i, $j + 1) + for ($k = 0; $k <= $j; ++$k) { + $result = $this->_squareReduce($result, $n_value, $mode); + } + + $result = $this->_multiplyReduce($result, $powers[bindec(substr($e_bits, $i, $j + 1))], $n_value, $mode); + + $i += $j + 1; + } + } + + $temp = new static(); + $temp->value = $this->_reduce($result, $n_value, $mode); + + return $temp; + } + + /** + * Modular reduction + * + * For most $modes this will return the remainder. + * + * @see self::_slidingWindow() + * @access private + * @param array $x + * @param array $n + * @param int $mode + * @return array + */ + function _reduce($x, $n, $mode) + { + switch ($mode) { + case self::MONTGOMERY: + return $this->_montgomery($x, $n); + case self::BARRETT: + return $this->_barrett($x, $n); + case self::POWEROF2: + $lhs = new static(); + $lhs->value = $x; + $rhs = new static(); + $rhs->value = $n; + return $x->_mod2($n); + case self::CLASSIC: + $lhs = new static(); + $lhs->value = $x; + $rhs = new static(); + $rhs->value = $n; + list(, $temp) = $lhs->divide($rhs); + return $temp->value; + case self::NONE: + return $x; + default: + // an invalid $mode was provided + } + } + + /** + * Modular reduction preperation + * + * @see self::_slidingWindow() + * @access private + * @param array $x + * @param array $n + * @param int $mode + * @return array + */ + function _prepareReduce($x, $n, $mode) + { + if ($mode == self::MONTGOMERY) { + return $this->_prepMontgomery($x, $n); + } + return $this->_reduce($x, $n, $mode); + } + + /** + * Modular multiply + * + * @see self::_slidingWindow() + * @access private + * @param array $x + * @param array $y + * @param array $n + * @param int $mode + * @return array + */ + function _multiplyReduce($x, $y, $n, $mode) + { + if ($mode == self::MONTGOMERY) { + return $this->_montgomeryMultiply($x, $y, $n); + } + $temp = $this->_multiply($x, false, $y, false); + return $this->_reduce($temp[self::VALUE], $n, $mode); + } + + /** + * Modular square + * + * @see self::_slidingWindow() + * @access private + * @param array $x + * @param array $n + * @param int $mode + * @return array + */ + function _squareReduce($x, $n, $mode) + { + if ($mode == self::MONTGOMERY) { + return $this->_montgomeryMultiply($x, $x, $n); + } + return $this->_reduce($this->_square($x), $n, $mode); + } + + /** + * Modulos for Powers of Two + * + * Calculates $x%$n, where $n = 2**$e, for some $e. Since this is basically the same as doing $x & ($n-1), + * we'll just use this function as a wrapper for doing that. + * + * @see self::_slidingWindow() + * @access private + * @param \phpseclib\Math\BigInteger + * @return \phpseclib\Math\BigInteger + */ + function _mod2($n) + { + $temp = new static(); + $temp->value = array(1); + return $this->bitwise_and($n->subtract($temp)); + } + + /** + * Barrett Modular Reduction + * + * See {@link http://www.cacr.math.uwaterloo.ca/hac/about/chap14.pdf#page=14 HAC 14.3.3} / + * {@link http://math.libtomcrypt.com/files/tommath.pdf#page=165 MPM 6.2.5} for more information. Modified slightly, + * so as not to require negative numbers (initially, this script didn't support negative numbers). + * + * Employs "folding", as described at + * {@link http://www.cosic.esat.kuleuven.be/publications/thesis-149.pdf#page=66 thesis-149.pdf#page=66}. To quote from + * it, "the idea [behind folding] is to find a value x' such that x (mod m) = x' (mod m), with x' being smaller than x." + * + * Unfortunately, the "Barrett Reduction with Folding" algorithm described in thesis-149.pdf is not, as written, all that + * usable on account of (1) its not using reasonable radix points as discussed in + * {@link http://math.libtomcrypt.com/files/tommath.pdf#page=162 MPM 6.2.2} and (2) the fact that, even with reasonable + * radix points, it only works when there are an even number of digits in the denominator. The reason for (2) is that + * (x >> 1) + (x >> 1) != x / 2 + x / 2. If x is even, they're the same, but if x is odd, they're not. See the in-line + * comments for details. + * + * @see self::_slidingWindow() + * @access private + * @param array $n + * @param array $m + * @return array + */ + function _barrett($n, $m) + { + static $cache = array( + self::VARIABLE => array(), + self::DATA => array() + ); + + $m_length = count($m); + + // if ($this->_compare($n, $this->_square($m)) >= 0) { + if (count($n) > 2 * $m_length) { + $lhs = new static(); + $rhs = new static(); + $lhs->value = $n; + $rhs->value = $m; + list(, $temp) = $lhs->divide($rhs); + return $temp->value; + } + + // if (m.length >> 1) + 2 <= m.length then m is too small and n can't be reduced + if ($m_length < 5) { + return $this->_regularBarrett($n, $m); + } + + // n = 2 * m.length + + if (($key = array_search($m, $cache[self::VARIABLE])) === false) { + $key = count($cache[self::VARIABLE]); + $cache[self::VARIABLE][] = $m; + + $lhs = new static(); + $lhs_value = &$lhs->value; + $lhs_value = $this->_array_repeat(0, $m_length + ($m_length >> 1)); + $lhs_value[] = 1; + $rhs = new static(); + $rhs->value = $m; + + list($u, $m1) = $lhs->divide($rhs); + $u = $u->value; + $m1 = $m1->value; + + $cache[self::DATA][] = array( + 'u' => $u, // m.length >> 1 (technically (m.length >> 1) + 1) + 'm1'=> $m1 // m.length + ); + } else { + extract($cache[self::DATA][$key]); + } + + $cutoff = $m_length + ($m_length >> 1); + $lsd = array_slice($n, 0, $cutoff); // m.length + (m.length >> 1) + $msd = array_slice($n, $cutoff); // m.length >> 1 + $lsd = $this->_trim($lsd); + $temp = $this->_multiply($msd, false, $m1, false); + $n = $this->_add($lsd, false, $temp[self::VALUE], false); // m.length + (m.length >> 1) + 1 + + if ($m_length & 1) { + return $this->_regularBarrett($n[self::VALUE], $m); + } + + // (m.length + (m.length >> 1) + 1) - (m.length - 1) == (m.length >> 1) + 2 + $temp = array_slice($n[self::VALUE], $m_length - 1); + // if even: ((m.length >> 1) + 2) + (m.length >> 1) == m.length + 2 + // if odd: ((m.length >> 1) + 2) + (m.length >> 1) == (m.length - 1) + 2 == m.length + 1 + $temp = $this->_multiply($temp, false, $u, false); + // if even: (m.length + 2) - ((m.length >> 1) + 1) = m.length - (m.length >> 1) + 1 + // if odd: (m.length + 1) - ((m.length >> 1) + 1) = m.length - (m.length >> 1) + $temp = array_slice($temp[self::VALUE], ($m_length >> 1) + 1); + // if even: (m.length - (m.length >> 1) + 1) + m.length = 2 * m.length - (m.length >> 1) + 1 + // if odd: (m.length - (m.length >> 1)) + m.length = 2 * m.length - (m.length >> 1) + $temp = $this->_multiply($temp, false, $m, false); + + // at this point, if m had an odd number of digits, we'd be subtracting a 2 * m.length - (m.length >> 1) digit + // number from a m.length + (m.length >> 1) + 1 digit number. ie. there'd be an extra digit and the while loop + // following this comment would loop a lot (hence our calling _regularBarrett() in that situation). + + $result = $this->_subtract($n[self::VALUE], false, $temp[self::VALUE], false); + + while ($this->_compare($result[self::VALUE], $result[self::SIGN], $m, false) >= 0) { + $result = $this->_subtract($result[self::VALUE], $result[self::SIGN], $m, false); + } + + return $result[self::VALUE]; + } + + /** + * (Regular) Barrett Modular Reduction + * + * For numbers with more than four digits BigInteger::_barrett() is faster. The difference between that and this + * is that this function does not fold the denominator into a smaller form. + * + * @see self::_slidingWindow() + * @access private + * @param array $x + * @param array $n + * @return array + */ + function _regularBarrett($x, $n) + { + static $cache = array( + self::VARIABLE => array(), + self::DATA => array() + ); + + $n_length = count($n); + + if (count($x) > 2 * $n_length) { + $lhs = new static(); + $rhs = new static(); + $lhs->value = $x; + $rhs->value = $n; + list(, $temp) = $lhs->divide($rhs); + return $temp->value; + } + + if (($key = array_search($n, $cache[self::VARIABLE])) === false) { + $key = count($cache[self::VARIABLE]); + $cache[self::VARIABLE][] = $n; + $lhs = new static(); + $lhs_value = &$lhs->value; + $lhs_value = $this->_array_repeat(0, 2 * $n_length); + $lhs_value[] = 1; + $rhs = new static(); + $rhs->value = $n; + list($temp, ) = $lhs->divide($rhs); // m.length + $cache[self::DATA][] = $temp->value; + } + + // 2 * m.length - (m.length - 1) = m.length + 1 + $temp = array_slice($x, $n_length - 1); + // (m.length + 1) + m.length = 2 * m.length + 1 + $temp = $this->_multiply($temp, false, $cache[self::DATA][$key], false); + // (2 * m.length + 1) - (m.length - 1) = m.length + 2 + $temp = array_slice($temp[self::VALUE], $n_length + 1); + + // m.length + 1 + $result = array_slice($x, 0, $n_length + 1); + // m.length + 1 + $temp = $this->_multiplyLower($temp, false, $n, false, $n_length + 1); + // $temp == array_slice($temp->_multiply($temp, false, $n, false)->value, 0, $n_length + 1) + + if ($this->_compare($result, false, $temp[self::VALUE], $temp[self::SIGN]) < 0) { + $corrector_value = $this->_array_repeat(0, $n_length + 1); + $corrector_value[count($corrector_value)] = 1; + $result = $this->_add($result, false, $corrector_value, false); + $result = $result[self::VALUE]; + } + + // at this point, we're subtracting a number with m.length + 1 digits from another number with m.length + 1 digits + $result = $this->_subtract($result, false, $temp[self::VALUE], $temp[self::SIGN]); + while ($this->_compare($result[self::VALUE], $result[self::SIGN], $n, false) > 0) { + $result = $this->_subtract($result[self::VALUE], $result[self::SIGN], $n, false); + } + + return $result[self::VALUE]; + } + + /** + * Performs long multiplication up to $stop digits + * + * If you're going to be doing array_slice($product->value, 0, $stop), some cycles can be saved. + * + * @see self::_regularBarrett() + * @param array $x_value + * @param bool $x_negative + * @param array $y_value + * @param bool $y_negative + * @param int $stop + * @return array + * @access private + */ + function _multiplyLower($x_value, $x_negative, $y_value, $y_negative, $stop) + { + $x_length = count($x_value); + $y_length = count($y_value); + + if (!$x_length || !$y_length) { // a 0 is being multiplied + return array( + self::VALUE => array(), + self::SIGN => false + ); + } + + if ($x_length < $y_length) { + $temp = $x_value; + $x_value = $y_value; + $y_value = $temp; + + $x_length = count($x_value); + $y_length = count($y_value); + } + + $product_value = $this->_array_repeat(0, $x_length + $y_length); + + // the following for loop could be removed if the for loop following it + // (the one with nested for loops) initially set $i to 0, but + // doing so would also make the result in one set of unnecessary adds, + // since on the outermost loops first pass, $product->value[$k] is going + // to always be 0 + + $carry = 0; + + for ($j = 0; $j < $x_length; ++$j) { // ie. $i = 0, $k = $i + $temp = $x_value[$j] * $y_value[0] + $carry; // $product_value[$k] == 0 + $carry = self::$base === 26 ? intval($temp / 0x4000000) : ($temp >> 31); + $product_value[$j] = (int) ($temp - self::$baseFull * $carry); + } + + if ($j < $stop) { + $product_value[$j] = $carry; + } + + // the above for loop is what the previous comment was talking about. the + // following for loop is the "one with nested for loops" + + for ($i = 1; $i < $y_length; ++$i) { + $carry = 0; + + for ($j = 0, $k = $i; $j < $x_length && $k < $stop; ++$j, ++$k) { + $temp = $product_value[$k] + $x_value[$j] * $y_value[$i] + $carry; + $carry = self::$base === 26 ? intval($temp / 0x4000000) : ($temp >> 31); + $product_value[$k] = (int) ($temp - self::$baseFull * $carry); + } + + if ($k < $stop) { + $product_value[$k] = $carry; + } + } + + return array( + self::VALUE => $this->_trim($product_value), + self::SIGN => $x_negative != $y_negative + ); + } + + /** + * Montgomery Modular Reduction + * + * ($x->_prepMontgomery($n))->_montgomery($n) yields $x % $n. + * {@link http://math.libtomcrypt.com/files/tommath.pdf#page=170 MPM 6.3} provides insights on how this can be + * improved upon (basically, by using the comba method). gcd($n, 2) must be equal to one for this function + * to work correctly. + * + * @see self::_prepMontgomery() + * @see self::_slidingWindow() + * @access private + * @param array $x + * @param array $n + * @return array + */ + function _montgomery($x, $n) + { + static $cache = array( + self::VARIABLE => array(), + self::DATA => array() + ); + + if (($key = array_search($n, $cache[self::VARIABLE])) === false) { + $key = count($cache[self::VARIABLE]); + $cache[self::VARIABLE][] = $x; + $cache[self::DATA][] = $this->_modInverse67108864($n); + } + + $k = count($n); + + $result = array(self::VALUE => $x); + + for ($i = 0; $i < $k; ++$i) { + $temp = $result[self::VALUE][$i] * $cache[self::DATA][$key]; + $temp = $temp - self::$baseFull * (self::$base === 26 ? intval($temp / 0x4000000) : ($temp >> 31)); + $temp = $this->_regularMultiply(array($temp), $n); + $temp = array_merge($this->_array_repeat(0, $i), $temp); + $result = $this->_add($result[self::VALUE], false, $temp, false); + } + + $result[self::VALUE] = array_slice($result[self::VALUE], $k); + + if ($this->_compare($result, false, $n, false) >= 0) { + $result = $this->_subtract($result[self::VALUE], false, $n, false); + } + + return $result[self::VALUE]; + } + + /** + * Montgomery Multiply + * + * Interleaves the montgomery reduction and long multiplication algorithms together as described in + * {@link http://www.cacr.math.uwaterloo.ca/hac/about/chap14.pdf#page=13 HAC 14.36} + * + * @see self::_prepMontgomery() + * @see self::_montgomery() + * @access private + * @param array $x + * @param array $y + * @param array $m + * @return array + */ + function _montgomeryMultiply($x, $y, $m) + { + $temp = $this->_multiply($x, false, $y, false); + return $this->_montgomery($temp[self::VALUE], $m); + + // the following code, although not callable, can be run independently of the above code + // although the above code performed better in my benchmarks the following could might + // perform better under different circumstances. in lieu of deleting it it's just been + // made uncallable + + static $cache = array( + self::VARIABLE => array(), + self::DATA => array() + ); + + if (($key = array_search($m, $cache[self::VARIABLE])) === false) { + $key = count($cache[self::VARIABLE]); + $cache[self::VARIABLE][] = $m; + $cache[self::DATA][] = $this->_modInverse67108864($m); + } + + $n = max(count($x), count($y), count($m)); + $x = array_pad($x, $n, 0); + $y = array_pad($y, $n, 0); + $m = array_pad($m, $n, 0); + $a = array(self::VALUE => $this->_array_repeat(0, $n + 1)); + for ($i = 0; $i < $n; ++$i) { + $temp = $a[self::VALUE][0] + $x[$i] * $y[0]; + $temp = $temp - self::$baseFull * (self::$base === 26 ? intval($temp / 0x4000000) : ($temp >> 31)); + $temp = $temp * $cache[self::DATA][$key]; + $temp = $temp - self::$baseFull * (self::$base === 26 ? intval($temp / 0x4000000) : ($temp >> 31)); + $temp = $this->_add($this->_regularMultiply(array($x[$i]), $y), false, $this->_regularMultiply(array($temp), $m), false); + $a = $this->_add($a[self::VALUE], false, $temp[self::VALUE], false); + $a[self::VALUE] = array_slice($a[self::VALUE], 1); + } + if ($this->_compare($a[self::VALUE], false, $m, false) >= 0) { + $a = $this->_subtract($a[self::VALUE], false, $m, false); + } + return $a[self::VALUE]; + } + + /** + * Prepare a number for use in Montgomery Modular Reductions + * + * @see self::_montgomery() + * @see self::_slidingWindow() + * @access private + * @param array $x + * @param array $n + * @return array + */ + function _prepMontgomery($x, $n) + { + $lhs = new static(); + $lhs->value = array_merge($this->_array_repeat(0, count($n)), $x); + $rhs = new static(); + $rhs->value = $n; + + list(, $temp) = $lhs->divide($rhs); + return $temp->value; + } + + /** + * Modular Inverse of a number mod 2**26 (eg. 67108864) + * + * Based off of the bnpInvDigit function implemented and justified in the following URL: + * + * {@link http://www-cs-students.stanford.edu/~tjw/jsbn/jsbn.js} + * + * The following URL provides more info: + * + * {@link http://groups.google.com/group/sci.crypt/msg/7a137205c1be7d85} + * + * As for why we do all the bitmasking... strange things can happen when converting from floats to ints. For + * instance, on some computers, var_dump((int) -4294967297) yields int(-1) and on others, it yields + * int(-2147483648). To avoid problems stemming from this, we use bitmasks to guarantee that ints aren't + * auto-converted to floats. The outermost bitmask is present because without it, there's no guarantee that + * the "residue" returned would be the so-called "common residue". We use fmod, in the last step, because the + * maximum possible $x is 26 bits and the maximum $result is 16 bits. Thus, we have to be able to handle up to + * 40 bits, which only 64-bit floating points will support. + * + * Thanks to Pedro Gimeno Fortea for input! + * + * @see self::_montgomery() + * @access private + * @param array $x + * @return int + */ + function _modInverse67108864($x) // 2**26 == 67,108,864 + { + $x = -$x[0]; + $result = $x & 0x3; // x**-1 mod 2**2 + $result = ($result * (2 - $x * $result)) & 0xF; // x**-1 mod 2**4 + $result = ($result * (2 - ($x & 0xFF) * $result)) & 0xFF; // x**-1 mod 2**8 + $result = ($result * ((2 - ($x & 0xFFFF) * $result) & 0xFFFF)) & 0xFFFF; // x**-1 mod 2**16 + $result = fmod($result * (2 - fmod($x * $result, self::$baseFull)), self::$baseFull); // x**-1 mod 2**26 + return $result & self::$maxDigit; + } + + /** + * Calculates modular inverses. + * + * Say you have (30 mod 17 * x mod 17) mod 17 == 1. x can be found using modular inverses. + * + * Here's an example: + * <code> + * <?php + * $a = new \phpseclib\Math\BigInteger(30); + * $b = new \phpseclib\Math\BigInteger(17); + * + * $c = $a->modInverse($b); + * echo $c->toString(); // outputs 4 + * + * echo "\r\n"; + * + * $d = $a->multiply($c); + * list(, $d) = $d->divide($b); + * echo $d; // outputs 1 (as per the definition of modular inverse) + * ?> + * </code> + * + * @param \phpseclib\Math\BigInteger $n + * @return \phpseclib\Math\BigInteger|false + * @access public + * @internal See {@link http://www.cacr.math.uwaterloo.ca/hac/about/chap14.pdf#page=21 HAC 14.64} for more information. + */ + function modInverse($n) + { + switch (MATH_BIGINTEGER_MODE) { + case self::MODE_GMP: + $temp = new static(); + $temp->value = gmp_invert($this->value, $n->value); + + return ($temp->value === false) ? false : $this->_normalize($temp); + } + + static $zero, $one; + if (!isset($zero)) { + $zero = new static(); + $one = new static(1); + } + + // $x mod -$n == $x mod $n. + $n = $n->abs(); + + if ($this->compare($zero) < 0) { + $temp = $this->abs(); + $temp = $temp->modInverse($n); + return $this->_normalize($n->subtract($temp)); + } + + extract($this->extendedGCD($n)); + + if (!$gcd->equals($one)) { + return false; + } + + $x = $x->compare($zero) < 0 ? $x->add($n) : $x; + + return $this->compare($zero) < 0 ? $this->_normalize($n->subtract($x)) : $this->_normalize($x); + } + + /** + * Calculates the greatest common divisor and Bezout's identity. + * + * Say you have 693 and 609. The GCD is 21. Bezout's identity states that there exist integers x and y such that + * 693*x + 609*y == 21. In point of fact, there are actually an infinite number of x and y combinations and which + * combination is returned is dependent upon which mode is in use. See + * {@link http://en.wikipedia.org/wiki/B%C3%A9zout%27s_identity Bezout's identity - Wikipedia} for more information. + * + * Here's an example: + * <code> + * <?php + * $a = new \phpseclib\Math\BigInteger(693); + * $b = new \phpseclib\Math\BigInteger(609); + * + * extract($a->extendedGCD($b)); + * + * echo $gcd->toString() . "\r\n"; // outputs 21 + * echo $a->toString() * $x->toString() + $b->toString() * $y->toString(); // outputs 21 + * ?> + * </code> + * + * @param \phpseclib\Math\BigInteger $n + * @return \phpseclib\Math\BigInteger + * @access public + * @internal Calculates the GCD using the binary xGCD algorithim described in + * {@link http://www.cacr.math.uwaterloo.ca/hac/about/chap14.pdf#page=19 HAC 14.61}. As the text above 14.61 notes, + * the more traditional algorithim requires "relatively costly multiple-precision divisions". + */ + function extendedGCD($n) + { + switch (MATH_BIGINTEGER_MODE) { + case self::MODE_GMP: + extract(gmp_gcdext($this->value, $n->value)); + + return array( + 'gcd' => $this->_normalize(new static($g)), + 'x' => $this->_normalize(new static($s)), + 'y' => $this->_normalize(new static($t)) + ); + case self::MODE_BCMATH: + // it might be faster to use the binary xGCD algorithim here, as well, but (1) that algorithim works + // best when the base is a power of 2 and (2) i don't think it'd make much difference, anyway. as is, + // the basic extended euclidean algorithim is what we're using. + + $u = $this->value; + $v = $n->value; + + $a = '1'; + $b = '0'; + $c = '0'; + $d = '1'; + + while (bccomp($v, '0', 0) != 0) { + $q = bcdiv($u, $v, 0); + + $temp = $u; + $u = $v; + $v = bcsub($temp, bcmul($v, $q, 0), 0); + + $temp = $a; + $a = $c; + $c = bcsub($temp, bcmul($a, $q, 0), 0); + + $temp = $b; + $b = $d; + $d = bcsub($temp, bcmul($b, $q, 0), 0); + } + + return array( + 'gcd' => $this->_normalize(new static($u)), + 'x' => $this->_normalize(new static($a)), + 'y' => $this->_normalize(new static($b)) + ); + } + + $y = $n->copy(); + $x = $this->copy(); + $g = new static(); + $g->value = array(1); + + while (!(($x->value[0] & 1)|| ($y->value[0] & 1))) { + $x->_rshift(1); + $y->_rshift(1); + $g->_lshift(1); + } + + $u = $x->copy(); + $v = $y->copy(); + + $a = new static(); + $b = new static(); + $c = new static(); + $d = new static(); + + $a->value = $d->value = $g->value = array(1); + $b->value = $c->value = array(); + + while (!empty($u->value)) { + while (!($u->value[0] & 1)) { + $u->_rshift(1); + if ((!empty($a->value) && ($a->value[0] & 1)) || (!empty($b->value) && ($b->value[0] & 1))) { + $a = $a->add($y); + $b = $b->subtract($x); + } + $a->_rshift(1); + $b->_rshift(1); + } + + while (!($v->value[0] & 1)) { + $v->_rshift(1); + if ((!empty($d->value) && ($d->value[0] & 1)) || (!empty($c->value) && ($c->value[0] & 1))) { + $c = $c->add($y); + $d = $d->subtract($x); + } + $c->_rshift(1); + $d->_rshift(1); + } + + if ($u->compare($v) >= 0) { + $u = $u->subtract($v); + $a = $a->subtract($c); + $b = $b->subtract($d); + } else { + $v = $v->subtract($u); + $c = $c->subtract($a); + $d = $d->subtract($b); + } + } + + return array( + 'gcd' => $this->_normalize($g->multiply($v)), + 'x' => $this->_normalize($c), + 'y' => $this->_normalize($d) + ); + } + + /** + * Calculates the greatest common divisor + * + * Say you have 693 and 609. The GCD is 21. + * + * Here's an example: + * <code> + * <?php + * $a = new \phpseclib\Math\BigInteger(693); + * $b = new \phpseclib\Math\BigInteger(609); + * + * $gcd = a->extendedGCD($b); + * + * echo $gcd->toString() . "\r\n"; // outputs 21 + * ?> + * </code> + * + * @param \phpseclib\Math\BigInteger $n + * @return \phpseclib\Math\BigInteger + * @access public + */ + function gcd($n) + { + extract($this->extendedGCD($n)); + return $gcd; + } + + /** + * Absolute value. + * + * @return \phpseclib\Math\BigInteger + * @access public + */ + function abs() + { + $temp = new static(); + + switch (MATH_BIGINTEGER_MODE) { + case self::MODE_GMP: + $temp->value = gmp_abs($this->value); + break; + case self::MODE_BCMATH: + $temp->value = (bccomp($this->value, '0', 0) < 0) ? substr($this->value, 1) : $this->value; + break; + default: + $temp->value = $this->value; + } + + return $temp; + } + + /** + * Compares two numbers. + * + * Although one might think !$x->compare($y) means $x != $y, it, in fact, means the opposite. The reason for this is + * demonstrated thusly: + * + * $x > $y: $x->compare($y) > 0 + * $x < $y: $x->compare($y) < 0 + * $x == $y: $x->compare($y) == 0 + * + * Note how the same comparison operator is used. If you want to test for equality, use $x->equals($y). + * + * @param \phpseclib\Math\BigInteger $y + * @return int < 0 if $this is less than $y; > 0 if $this is greater than $y, and 0 if they are equal. + * @access public + * @see self::equals() + * @internal Could return $this->subtract($x), but that's not as fast as what we do do. + */ + function compare($y) + { + switch (MATH_BIGINTEGER_MODE) { + case self::MODE_GMP: + return gmp_cmp($this->value, $y->value); + case self::MODE_BCMATH: + return bccomp($this->value, $y->value, 0); + } + + return $this->_compare($this->value, $this->is_negative, $y->value, $y->is_negative); + } + + /** + * Compares two numbers. + * + * @param array $x_value + * @param bool $x_negative + * @param array $y_value + * @param bool $y_negative + * @return int + * @see self::compare() + * @access private + */ + function _compare($x_value, $x_negative, $y_value, $y_negative) + { + if ($x_negative != $y_negative) { + return (!$x_negative && $y_negative) ? 1 : -1; + } + + $result = $x_negative ? -1 : 1; + + if (count($x_value) != count($y_value)) { + return (count($x_value) > count($y_value)) ? $result : -$result; + } + $size = max(count($x_value), count($y_value)); + + $x_value = array_pad($x_value, $size, 0); + $y_value = array_pad($y_value, $size, 0); + + for ($i = count($x_value) - 1; $i >= 0; --$i) { + if ($x_value[$i] != $y_value[$i]) { + return ($x_value[$i] > $y_value[$i]) ? $result : -$result; + } + } + + return 0; + } + + /** + * Tests the equality of two numbers. + * + * If you need to see if one number is greater than or less than another number, use BigInteger::compare() + * + * @param \phpseclib\Math\BigInteger $x + * @return bool + * @access public + * @see self::compare() + */ + function equals($x) + { + switch (MATH_BIGINTEGER_MODE) { + case self::MODE_GMP: + return gmp_cmp($this->value, $x->value) == 0; + default: + return $this->value === $x->value && $this->is_negative == $x->is_negative; + } + } + + /** + * Set Precision + * + * Some bitwise operations give different results depending on the precision being used. Examples include left + * shift, not, and rotates. + * + * @param int $bits + * @access public + */ + function setPrecision($bits) + { + $this->precision = $bits; + if (MATH_BIGINTEGER_MODE != self::MODE_BCMATH) { + $this->bitmask = new static(chr((1 << ($bits & 0x7)) - 1) . str_repeat(chr(0xFF), $bits >> 3), 256); + } else { + $this->bitmask = new static(bcpow('2', $bits, 0)); + } + + $temp = $this->_normalize($this); + $this->value = $temp->value; + } + + /** + * Logical And + * + * @param \phpseclib\Math\BigInteger $x + * @access public + * @internal Implemented per a request by Lluis Pamies i Juarez <lluis _a_ pamies.cat> + * @return \phpseclib\Math\BigInteger + */ + function bitwise_and($x) + { + switch (MATH_BIGINTEGER_MODE) { + case self::MODE_GMP: + $temp = new static(); + $temp->value = gmp_and($this->value, $x->value); + + return $this->_normalize($temp); + case self::MODE_BCMATH: + $left = $this->toBytes(); + $right = $x->toBytes(); + + $length = max(strlen($left), strlen($right)); + + $left = str_pad($left, $length, chr(0), STR_PAD_LEFT); + $right = str_pad($right, $length, chr(0), STR_PAD_LEFT); + + return $this->_normalize(new static($left & $right, 256)); + } + + $result = $this->copy(); + + $length = min(count($x->value), count($this->value)); + + $result->value = array_slice($result->value, 0, $length); + + for ($i = 0; $i < $length; ++$i) { + $result->value[$i]&= $x->value[$i]; + } + + return $this->_normalize($result); + } + + /** + * Logical Or + * + * @param \phpseclib\Math\BigInteger $x + * @access public + * @internal Implemented per a request by Lluis Pamies i Juarez <lluis _a_ pamies.cat> + * @return \phpseclib\Math\BigInteger + */ + function bitwise_or($x) + { + switch (MATH_BIGINTEGER_MODE) { + case self::MODE_GMP: + $temp = new static(); + $temp->value = gmp_or($this->value, $x->value); + + return $this->_normalize($temp); + case self::MODE_BCMATH: + $left = $this->toBytes(); + $right = $x->toBytes(); + + $length = max(strlen($left), strlen($right)); + + $left = str_pad($left, $length, chr(0), STR_PAD_LEFT); + $right = str_pad($right, $length, chr(0), STR_PAD_LEFT); + + return $this->_normalize(new static($left | $right, 256)); + } + + $length = max(count($this->value), count($x->value)); + $result = $this->copy(); + $result->value = array_pad($result->value, $length, 0); + $x->value = array_pad($x->value, $length, 0); + + for ($i = 0; $i < $length; ++$i) { + $result->value[$i]|= $x->value[$i]; + } + + return $this->_normalize($result); + } + + /** + * Logical Exclusive-Or + * + * @param \phpseclib\Math\BigInteger $x + * @access public + * @internal Implemented per a request by Lluis Pamies i Juarez <lluis _a_ pamies.cat> + * @return \phpseclib\Math\BigInteger + */ + function bitwise_xor($x) + { + switch (MATH_BIGINTEGER_MODE) { + case self::MODE_GMP: + $temp = new static(); + $temp->value = gmp_xor($this->value, $x->value); + + return $this->_normalize($temp); + case self::MODE_BCMATH: + $left = $this->toBytes(); + $right = $x->toBytes(); + + $length = max(strlen($left), strlen($right)); + + $left = str_pad($left, $length, chr(0), STR_PAD_LEFT); + $right = str_pad($right, $length, chr(0), STR_PAD_LEFT); + + return $this->_normalize(new static($left ^ $right, 256)); + } + + $length = max(count($this->value), count($x->value)); + $result = $this->copy(); + $result->value = array_pad($result->value, $length, 0); + $x->value = array_pad($x->value, $length, 0); + + for ($i = 0; $i < $length; ++$i) { + $result->value[$i]^= $x->value[$i]; + } + + return $this->_normalize($result); + } + + /** + * Logical Not + * + * @access public + * @internal Implemented per a request by Lluis Pamies i Juarez <lluis _a_ pamies.cat> + * @return \phpseclib\Math\BigInteger + */ + function bitwise_not() + { + // calculuate "not" without regard to $this->precision + // (will always result in a smaller number. ie. ~1 isn't 1111 1110 - it's 0) + $temp = $this->toBytes(); + if ($temp == '') { + return ''; + } + $pre_msb = decbin(ord($temp[0])); + $temp = ~$temp; + $msb = decbin(ord($temp[0])); + if (strlen($msb) == 8) { + $msb = substr($msb, strpos($msb, '0')); + } + $temp[0] = chr(bindec($msb)); + + // see if we need to add extra leading 1's + $current_bits = strlen($pre_msb) + 8 * strlen($temp) - 8; + $new_bits = $this->precision - $current_bits; + if ($new_bits <= 0) { + return $this->_normalize(new static($temp, 256)); + } + + // generate as many leading 1's as we need to. + $leading_ones = chr((1 << ($new_bits & 0x7)) - 1) . str_repeat(chr(0xFF), $new_bits >> 3); + $this->_base256_lshift($leading_ones, $current_bits); + + $temp = str_pad($temp, strlen($leading_ones), chr(0), STR_PAD_LEFT); + + return $this->_normalize(new static($leading_ones | $temp, 256)); + } + + /** + * Logical Right Shift + * + * Shifts BigInteger's by $shift bits, effectively dividing by 2**$shift. + * + * @param int $shift + * @return \phpseclib\Math\BigInteger + * @access public + * @internal The only version that yields any speed increases is the internal version. + */ + function bitwise_rightShift($shift) + { + $temp = new static(); + + switch (MATH_BIGINTEGER_MODE) { + case self::MODE_GMP: + static $two; + + if (!isset($two)) { + $two = gmp_init('2'); + } + + $temp->value = gmp_div_q($this->value, gmp_pow($two, $shift)); + + break; + case self::MODE_BCMATH: + $temp->value = bcdiv($this->value, bcpow('2', $shift, 0), 0); + + break; + default: // could just replace _lshift with this, but then all _lshift() calls would need to be rewritten + // and I don't want to do that... + $temp->value = $this->value; + $temp->_rshift($shift); + } + + return $this->_normalize($temp); + } + + /** + * Logical Left Shift + * + * Shifts BigInteger's by $shift bits, effectively multiplying by 2**$shift. + * + * @param int $shift + * @return \phpseclib\Math\BigInteger + * @access public + * @internal The only version that yields any speed increases is the internal version. + */ + function bitwise_leftShift($shift) + { + $temp = new static(); + + switch (MATH_BIGINTEGER_MODE) { + case self::MODE_GMP: + static $two; + + if (!isset($two)) { + $two = gmp_init('2'); + } + + $temp->value = gmp_mul($this->value, gmp_pow($two, $shift)); + + break; + case self::MODE_BCMATH: + $temp->value = bcmul($this->value, bcpow('2', $shift, 0), 0); + + break; + default: // could just replace _rshift with this, but then all _lshift() calls would need to be rewritten + // and I don't want to do that... + $temp->value = $this->value; + $temp->_lshift($shift); + } + + return $this->_normalize($temp); + } + + /** + * Logical Left Rotate + * + * Instead of the top x bits being dropped they're appended to the shifted bit string. + * + * @param int $shift + * @return \phpseclib\Math\BigInteger + * @access public + */ + function bitwise_leftRotate($shift) + { + $bits = $this->toBytes(); + + if ($this->precision > 0) { + $precision = $this->precision; + if (MATH_BIGINTEGER_MODE == self::MODE_BCMATH) { + $mask = $this->bitmask->subtract(new static(1)); + $mask = $mask->toBytes(); + } else { + $mask = $this->bitmask->toBytes(); + } + } else { + $temp = ord($bits[0]); + for ($i = 0; $temp >> $i; ++$i) { + } + $precision = 8 * strlen($bits) - 8 + $i; + $mask = chr((1 << ($precision & 0x7)) - 1) . str_repeat(chr(0xFF), $precision >> 3); + } + + if ($shift < 0) { + $shift+= $precision; + } + $shift%= $precision; + + if (!$shift) { + return $this->copy(); + } + + $left = $this->bitwise_leftShift($shift); + $left = $left->bitwise_and(new static($mask, 256)); + $right = $this->bitwise_rightShift($precision - $shift); + $result = MATH_BIGINTEGER_MODE != self::MODE_BCMATH ? $left->bitwise_or($right) : $left->add($right); + return $this->_normalize($result); + } + + /** + * Logical Right Rotate + * + * Instead of the bottom x bits being dropped they're prepended to the shifted bit string. + * + * @param int $shift + * @return \phpseclib\Math\BigInteger + * @access public + */ + function bitwise_rightRotate($shift) + { + return $this->bitwise_leftRotate(-$shift); + } + + /** + * Generates a random BigInteger + * + * Byte length is equal to $length. Uses \phpseclib\Crypt\Random if it's loaded and mt_rand if it's not. + * + * @param int $length + * @return \phpseclib\Math\BigInteger + * @access private + */ + function _random_number_helper($size) + { + if (class_exists('\phpseclib\Crypt\Random')) { + $random = Random::string($size); + } else { + $random = ''; + + if ($size & 1) { + $random.= chr(mt_rand(0, 255)); + } + + $blocks = $size >> 1; + for ($i = 0; $i < $blocks; ++$i) { + // mt_rand(-2147483648, 0x7FFFFFFF) always produces -2147483648 on some systems + $random.= pack('n', mt_rand(0, 0xFFFF)); + } + } + + return new static($random, 256); + } + + /** + * Generate a random number + * + * Returns a random number between $min and $max where $min and $max + * can be defined using one of the two methods: + * + * $min->random($max) + * $max->random($min) + * + * @param \phpseclib\Math\BigInteger $arg1 + * @param \phpseclib\Math\BigInteger $arg2 + * @return \phpseclib\Math\BigInteger + * @access public + * @internal The API for creating random numbers used to be $a->random($min, $max), where $a was a BigInteger object. + * That method is still supported for BC purposes. + */ + function random($arg1, $arg2 = false) + { + if ($arg1 === false) { + return false; + } + + if ($arg2 === false) { + $max = $arg1; + $min = $this; + } else { + $min = $arg1; + $max = $arg2; + } + + $compare = $max->compare($min); + + if (!$compare) { + return $this->_normalize($min); + } elseif ($compare < 0) { + // if $min is bigger then $max, swap $min and $max + $temp = $max; + $max = $min; + $min = $temp; + } + + static $one; + if (!isset($one)) { + $one = new static(1); + } + + $max = $max->subtract($min->subtract($one)); + $size = strlen(ltrim($max->toBytes(), chr(0))); + + /* + doing $random % $max doesn't work because some numbers will be more likely to occur than others. + eg. if $max is 140 and $random's max is 255 then that'd mean both $random = 5 and $random = 145 + would produce 5 whereas the only value of random that could produce 139 would be 139. ie. + not all numbers would be equally likely. some would be more likely than others. + + creating a whole new random number until you find one that is within the range doesn't work + because, for sufficiently small ranges, the likelihood that you'd get a number within that range + would be pretty small. eg. with $random's max being 255 and if your $max being 1 the probability + would be pretty high that $random would be greater than $max. + + phpseclib works around this using the technique described here: + + http://crypto.stackexchange.com/questions/5708/creating-a-small-number-from-a-cryptographically-secure-random-string + */ + $random_max = new static(chr(1) . str_repeat("\0", $size), 256); + $random = $this->_random_number_helper($size); + + list($max_multiple) = $random_max->divide($max); + $max_multiple = $max_multiple->multiply($max); + + while ($random->compare($max_multiple) >= 0) { + $random = $random->subtract($max_multiple); + $random_max = $random_max->subtract($max_multiple); + $random = $random->bitwise_leftShift(8); + $random = $random->add($this->_random_number_helper(1)); + $random_max = $random_max->bitwise_leftShift(8); + list($max_multiple) = $random_max->divide($max); + $max_multiple = $max_multiple->multiply($max); + } + list(, $random) = $random->divide($max); + + return $this->_normalize($random->add($min)); + } + + /** + * Generate a random prime number. + * + * If there's not a prime within the given range, false will be returned. + * If more than $timeout seconds have elapsed, give up and return false. + * + * @param \phpseclib\Math\BigInteger $arg1 + * @param \phpseclib\Math\BigInteger $arg2 + * @param int $timeout + * @return Math_BigInteger|false + * @access public + * @internal See {@link http://www.cacr.math.uwaterloo.ca/hac/about/chap4.pdf#page=15 HAC 4.44}. + */ + function randomPrime($arg1, $arg2 = false, $timeout = false) + { + if ($arg1 === false) { + return false; + } + + if ($arg2 === false) { + $max = $arg1; + $min = $this; + } else { + $min = $arg1; + $max = $arg2; + } + + $compare = $max->compare($min); + + if (!$compare) { + return $min->isPrime() ? $min : false; + } elseif ($compare < 0) { + // if $min is bigger then $max, swap $min and $max + $temp = $max; + $max = $min; + $min = $temp; + } + + static $one, $two; + if (!isset($one)) { + $one = new static(1); + $two = new static(2); + } + + $start = time(); + + $x = $this->random($min, $max); + + // gmp_nextprime() requires PHP 5 >= 5.2.0 per <http://php.net/gmp-nextprime>. + if (MATH_BIGINTEGER_MODE == self::MODE_GMP && extension_loaded('gmp')) { + $p = new static(); + $p->value = gmp_nextprime($x->value); + + if ($p->compare($max) <= 0) { + return $p; + } + + if (!$min->equals($x)) { + $x = $x->subtract($one); + } + + return $x->randomPrime($min, $x); + } + + if ($x->equals($two)) { + return $x; + } + + $x->_make_odd(); + if ($x->compare($max) > 0) { + // if $x > $max then $max is even and if $min == $max then no prime number exists between the specified range + if ($min->equals($max)) { + return false; + } + $x = $min->copy(); + $x->_make_odd(); + } + + $initial_x = $x->copy(); + + while (true) { + if ($timeout !== false && time() - $start > $timeout) { + return false; + } + + if ($x->isPrime()) { + return $x; + } + + $x = $x->add($two); + + if ($x->compare($max) > 0) { + $x = $min->copy(); + if ($x->equals($two)) { + return $x; + } + $x->_make_odd(); + } + + if ($x->equals($initial_x)) { + return false; + } + } + } + + /** + * Make the current number odd + * + * If the current number is odd it'll be unchanged. If it's even, one will be added to it. + * + * @see self::randomPrime() + * @access private + */ + function _make_odd() + { + switch (MATH_BIGINTEGER_MODE) { + case self::MODE_GMP: + gmp_setbit($this->value, 0); + break; + case self::MODE_BCMATH: + if ($this->value[strlen($this->value) - 1] % 2 == 0) { + $this->value = bcadd($this->value, '1'); + } + break; + default: + $this->value[0] |= 1; + } + } + + /** + * Checks a numer to see if it's prime + * + * Assuming the $t parameter is not set, this function has an error rate of 2**-80. The main motivation for the + * $t parameter is distributability. BigInteger::randomPrime() can be distributed across multiple pageloads + * on a website instead of just one. + * + * @param \phpseclib\Math\BigInteger $t + * @return bool + * @access public + * @internal Uses the + * {@link http://en.wikipedia.org/wiki/Miller%E2%80%93Rabin_primality_test Miller-Rabin primality test}. See + * {@link http://www.cacr.math.uwaterloo.ca/hac/about/chap4.pdf#page=8 HAC 4.24}. + */ + function isPrime($t = false) + { + $length = strlen($this->toBytes()); + + if (!$t) { + // see HAC 4.49 "Note (controlling the error probability)" + // @codingStandardsIgnoreStart + if ($length >= 163) { $t = 2; } // floor(1300 / 8) + else if ($length >= 106) { $t = 3; } // floor( 850 / 8) + else if ($length >= 81 ) { $t = 4; } // floor( 650 / 8) + else if ($length >= 68 ) { $t = 5; } // floor( 550 / 8) + else if ($length >= 56 ) { $t = 6; } // floor( 450 / 8) + else if ($length >= 50 ) { $t = 7; } // floor( 400 / 8) + else if ($length >= 43 ) { $t = 8; } // floor( 350 / 8) + else if ($length >= 37 ) { $t = 9; } // floor( 300 / 8) + else if ($length >= 31 ) { $t = 12; } // floor( 250 / 8) + else if ($length >= 25 ) { $t = 15; } // floor( 200 / 8) + else if ($length >= 18 ) { $t = 18; } // floor( 150 / 8) + else { $t = 27; } + // @codingStandardsIgnoreEnd + } + + // ie. gmp_testbit($this, 0) + // ie. isEven() or !isOdd() + switch (MATH_BIGINTEGER_MODE) { + case self::MODE_GMP: + return gmp_prob_prime($this->value, $t) != 0; + case self::MODE_BCMATH: + if ($this->value === '2') { + return true; + } + if ($this->value[strlen($this->value) - 1] % 2 == 0) { + return false; + } + break; + default: + if ($this->value == array(2)) { + return true; + } + if (~$this->value[0] & 1) { + return false; + } + } + + static $primes, $zero, $one, $two; + + if (!isset($primes)) { + $primes = array( + 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, + 61, 67, 71, 73, 79, 83, 89, 97, 101, 103, 107, 109, 113, 127, 131, 137, + 139, 149, 151, 157, 163, 167, 173, 179, 181, 191, 193, 197, 199, 211, 223, 227, + 229, 233, 239, 241, 251, 257, 263, 269, 271, 277, 281, 283, 293, 307, 311, 313, + 317, 331, 337, 347, 349, 353, 359, 367, 373, 379, 383, 389, 397, 401, 409, 419, + 421, 431, 433, 439, 443, 449, 457, 461, 463, 467, 479, 487, 491, 499, 503, 509, + 521, 523, 541, 547, 557, 563, 569, 571, 577, 587, 593, 599, 601, 607, 613, 617, + 619, 631, 641, 643, 647, 653, 659, 661, 673, 677, 683, 691, 701, 709, 719, 727, + 733, 739, 743, 751, 757, 761, 769, 773, 787, 797, 809, 811, 821, 823, 827, 829, + 839, 853, 857, 859, 863, 877, 881, 883, 887, 907, 911, 919, 929, 937, 941, 947, + 953, 967, 971, 977, 983, 991, 997 + ); + + if (MATH_BIGINTEGER_MODE != self::MODE_INTERNAL) { + for ($i = 0; $i < count($primes); ++$i) { + $primes[$i] = new static($primes[$i]); + } + } + + $zero = new static(); + $one = new static(1); + $two = new static(2); + } + + if ($this->equals($one)) { + return false; + } + + // see HAC 4.4.1 "Random search for probable primes" + if (MATH_BIGINTEGER_MODE != self::MODE_INTERNAL) { + foreach ($primes as $prime) { + list(, $r) = $this->divide($prime); + if ($r->equals($zero)) { + return $this->equals($prime); + } + } + } else { + $value = $this->value; + foreach ($primes as $prime) { + list(, $r) = $this->_divide_digit($value, $prime); + if (!$r) { + return count($value) == 1 && $value[0] == $prime; + } + } + } + + $n = $this->copy(); + $n_1 = $n->subtract($one); + $n_2 = $n->subtract($two); + + $r = $n_1->copy(); + $r_value = $r->value; + // ie. $s = gmp_scan1($n, 0) and $r = gmp_div_q($n, gmp_pow(gmp_init('2'), $s)); + if (MATH_BIGINTEGER_MODE == self::MODE_BCMATH) { + $s = 0; + // if $n was 1, $r would be 0 and this would be an infinite loop, hence our $this->equals($one) check earlier + while ($r->value[strlen($r->value) - 1] % 2 == 0) { + $r->value = bcdiv($r->value, '2', 0); + ++$s; + } + } else { + for ($i = 0, $r_length = count($r_value); $i < $r_length; ++$i) { + $temp = ~$r_value[$i] & 0xFFFFFF; + for ($j = 1; ($temp >> $j) & 1; ++$j) { + } + if ($j != 25) { + break; + } + } + $s = 26 * $i + $j - 1; + $r->_rshift($s); + } + + for ($i = 0; $i < $t; ++$i) { + $a = $this->random($two, $n_2); + $y = $a->modPow($r, $n); + + if (!$y->equals($one) && !$y->equals($n_1)) { + for ($j = 1; $j < $s && !$y->equals($n_1); ++$j) { + $y = $y->modPow($two, $n); + if ($y->equals($one)) { + return false; + } + } + + if (!$y->equals($n_1)) { + return false; + } + } + } + return true; + } + + /** + * Logical Left Shift + * + * Shifts BigInteger's by $shift bits. + * + * @param int $shift + * @access private + */ + function _lshift($shift) + { + if ($shift == 0) { + return; + } + + $num_digits = (int) ($shift / self::$base); + $shift %= self::$base; + $shift = 1 << $shift; + + $carry = 0; + + for ($i = 0; $i < count($this->value); ++$i) { + $temp = $this->value[$i] * $shift + $carry; + $carry = self::$base === 26 ? intval($temp / 0x4000000) : ($temp >> 31); + $this->value[$i] = (int) ($temp - $carry * self::$baseFull); + } + + if ($carry) { + $this->value[count($this->value)] = $carry; + } + + while ($num_digits--) { + array_unshift($this->value, 0); + } + } + + /** + * Logical Right Shift + * + * Shifts BigInteger's by $shift bits. + * + * @param int $shift + * @access private + */ + function _rshift($shift) + { + if ($shift == 0) { + return; + } + + $num_digits = (int) ($shift / self::$base); + $shift %= self::$base; + $carry_shift = self::$base - $shift; + $carry_mask = (1 << $shift) - 1; + + if ($num_digits) { + $this->value = array_slice($this->value, $num_digits); + } + + $carry = 0; + + for ($i = count($this->value) - 1; $i >= 0; --$i) { + $temp = $this->value[$i] >> $shift | $carry; + $carry = ($this->value[$i] & $carry_mask) << $carry_shift; + $this->value[$i] = $temp; + } + + $this->value = $this->_trim($this->value); + } + + /** + * Normalize + * + * Removes leading zeros and truncates (if necessary) to maintain the appropriate precision + * + * @param \phpseclib\Math\BigInteger + * @return \phpseclib\Math\BigInteger + * @see self::_trim() + * @access private + */ + function _normalize($result) + { + $result->precision = $this->precision; + $result->bitmask = $this->bitmask; + + switch (MATH_BIGINTEGER_MODE) { + case self::MODE_GMP: + if ($this->bitmask !== false) { + $result->value = gmp_and($result->value, $result->bitmask->value); + } + + return $result; + case self::MODE_BCMATH: + if (!empty($result->bitmask->value)) { + $result->value = bcmod($result->value, $result->bitmask->value); + } + + return $result; + } + + $value = &$result->value; + + if (!count($value)) { + return $result; + } + + $value = $this->_trim($value); + + if (!empty($result->bitmask->value)) { + $length = min(count($value), count($this->bitmask->value)); + $value = array_slice($value, 0, $length); + + for ($i = 0; $i < $length; ++$i) { + $value[$i] = $value[$i] & $this->bitmask->value[$i]; + } + } + + return $result; + } + + /** + * Trim + * + * Removes leading zeros + * + * @param array $value + * @return \phpseclib\Math\BigInteger + * @access private + */ + function _trim($value) + { + for ($i = count($value) - 1; $i >= 0; --$i) { + if ($value[$i]) { + break; + } + unset($value[$i]); + } + + return $value; + } + + /** + * Array Repeat + * + * @param $input Array + * @param $multiplier mixed + * @return array + * @access private + */ + function _array_repeat($input, $multiplier) + { + return ($multiplier) ? array_fill(0, $multiplier, $input) : array(); + } + + /** + * Logical Left Shift + * + * Shifts binary strings $shift bits, essentially multiplying by 2**$shift. + * + * @param $x String + * @param $shift Integer + * @return string + * @access private + */ + function _base256_lshift(&$x, $shift) + { + if ($shift == 0) { + return; + } + + $num_bytes = $shift >> 3; // eg. floor($shift/8) + $shift &= 7; // eg. $shift % 8 + + $carry = 0; + for ($i = strlen($x) - 1; $i >= 0; --$i) { + $temp = ord($x[$i]) << $shift | $carry; + $x[$i] = chr($temp); + $carry = $temp >> 8; + } + $carry = ($carry != 0) ? chr($carry) : ''; + $x = $carry . $x . str_repeat(chr(0), $num_bytes); + } + + /** + * Logical Right Shift + * + * Shifts binary strings $shift bits, essentially dividing by 2**$shift and returning the remainder. + * + * @param $x String + * @param $shift Integer + * @return string + * @access private + */ + function _base256_rshift(&$x, $shift) + { + if ($shift == 0) { + $x = ltrim($x, chr(0)); + return ''; + } + + $num_bytes = $shift >> 3; // eg. floor($shift/8) + $shift &= 7; // eg. $shift % 8 + + $remainder = ''; + if ($num_bytes) { + $start = $num_bytes > strlen($x) ? -strlen($x) : -$num_bytes; + $remainder = substr($x, $start); + $x = substr($x, 0, -$num_bytes); + } + + $carry = 0; + $carry_shift = 8 - $shift; + for ($i = 0; $i < strlen($x); ++$i) { + $temp = (ord($x[$i]) >> $shift) | $carry; + $carry = (ord($x[$i]) << $carry_shift) & 0xFF; + $x[$i] = chr($temp); + } + $x = ltrim($x, chr(0)); + + $remainder = chr($carry >> $carry_shift) . $remainder; + + return ltrim($remainder, chr(0)); + } + + // one quirk about how the following functions are implemented is that PHP defines N to be an unsigned long + // at 32-bits, while java's longs are 64-bits. + + /** + * Converts 32-bit integers to bytes. + * + * @param int $x + * @return string + * @access private + */ + function _int2bytes($x) + { + return ltrim(pack('N', $x), chr(0)); + } + + /** + * Converts bytes to 32-bit integers + * + * @param string $x + * @return int + * @access private + */ + function _bytes2int($x) + { + $temp = unpack('Nint', str_pad($x, 4, chr(0), STR_PAD_LEFT)); + return $temp['int']; + } + + /** + * DER-encode an integer + * + * The ability to DER-encode integers is needed to create RSA public keys for use with OpenSSL + * + * @see self::modPow() + * @access private + * @param int $length + * @return string + */ + function _encodeASN1Length($length) + { + if ($length <= 0x7F) { + return chr($length); + } + + $temp = ltrim(pack('N', $length), chr(0)); + return pack('Ca*', 0x80 | strlen($temp), $temp); + } + + /** + * Single digit division + * + * Even if int64 is being used the division operator will return a float64 value + * if the dividend is not evenly divisible by the divisor. Since a float64 doesn't + * have the precision of int64 this is a problem so, when int64 is being used, + * we'll guarantee that the dividend is divisible by first subtracting the remainder. + * + * @access private + * @param int $x + * @param int $y + * @return int + */ + function _safe_divide($x, $y) + { + if (self::$base === 26) { + return (int) ($x / $y); + } + + // self::$base === 31 + return ($x - ($x % $y)) / $y; + } +} diff --git a/vendor/phpseclib/phpseclib/phpseclib/Net/SCP.php b/vendor/phpseclib/phpseclib/phpseclib/Net/SCP.php new file mode 100644 index 00000000..8784b543 --- /dev/null +++ b/vendor/phpseclib/phpseclib/phpseclib/Net/SCP.php @@ -0,0 +1,334 @@ +<?php + +/** + * Pure-PHP implementation of SCP. + * + * PHP version 5 + * + * The API for this library is modeled after the API from PHP's {@link http://php.net/book.ftp FTP extension}. + * + * Here's a short example of how to use this library: + * <code> + * <?php + * include 'vendor/autoload.php'; + * + * $ssh = new \phpseclib\Net\SSH2('www.domain.tld'); + * if (!$ssh->login('username', 'password')) { + * exit('bad login'); + * } + * $scp = new \phpseclib\Net\SCP($ssh); + * + * $scp->put('abcd', str_repeat('x', 1024*1024)); + * ?> + * </code> + * + * @category Net + * @package SCP + * @author Jim Wigginton <terrafrost@php.net> + * @copyright 2010 Jim Wigginton + * @license http://www.opensource.org/licenses/mit-license.html MIT License + * @link http://phpseclib.sourceforge.net + */ + +namespace phpseclib\Net; + +/** + * Pure-PHP implementations of SCP. + * + * @package SCP + * @author Jim Wigginton <terrafrost@php.net> + * @access public + */ +class SCP +{ + /**#@+ + * @access public + * @see \phpseclib\Net\SCP::put() + */ + /** + * Reads data from a local file. + */ + const SOURCE_LOCAL_FILE = 1; + /** + * Reads data from a string. + */ + const SOURCE_STRING = 2; + /**#@-*/ + + /**#@+ + * @access private + * @see \phpseclib\Net\SCP::_send() + * @see \phpseclib\Net\SCP::_receive() + */ + /** + * SSH1 is being used. + */ + const MODE_SSH1 = 1; + /** + * SSH2 is being used. + */ + const MODE_SSH2 = 2; + /**#@-*/ + + /** + * SSH Object + * + * @var object + * @access private + */ + var $ssh; + + /** + * Packet Size + * + * @var int + * @access private + */ + var $packet_size; + + /** + * Mode + * + * @var int + * @access private + */ + var $mode; + + /** + * Default Constructor. + * + * Connects to an SSH server + * + * @param \phpseclib\Net\SSH1|\phpseclin\Net\SSH2 $ssh + * @return \phpseclib\Net\SCP + * @access public + */ + function __construct($ssh) + { + if ($ssh instanceof SSH2) { + $this->mode = self::MODE_SSH2; + } elseif ($ssh instanceof SSH1) { + $this->packet_size = 50000; + $this->mode = self::MODE_SSH1; + } else { + return; + } + + $this->ssh = $ssh; + } + + /** + * Uploads a file to the SCP server. + * + * By default, \phpseclib\Net\SCP::put() does not read from the local filesystem. $data is dumped directly into $remote_file. + * So, for example, if you set $data to 'filename.ext' and then do \phpseclib\Net\SCP::get(), you will get a file, twelve bytes + * long, containing 'filename.ext' as its contents. + * + * Setting $mode to self::SOURCE_LOCAL_FILE will change the above behavior. With self::SOURCE_LOCAL_FILE, $remote_file will + * contain as many bytes as filename.ext does on your local filesystem. If your filename.ext is 1MB then that is how + * large $remote_file will be, as well. + * + * Currently, only binary mode is supported. As such, if the line endings need to be adjusted, you will need to take + * care of that, yourself. + * + * @param string $remote_file + * @param string $data + * @param int $mode + * @param callable $callback + * @return bool + * @access public + */ + function put($remote_file, $data, $mode = self::SOURCE_STRING, $callback = null) + { + if (!isset($this->ssh)) { + return false; + } + + if (!$this->ssh->exec('scp -t ' . escapeshellarg($remote_file), false)) { // -t = to + return false; + } + + $temp = $this->_receive(); + if ($temp !== chr(0)) { + return false; + } + + if ($this->mode == self::MODE_SSH2) { + $this->packet_size = $this->ssh->packet_size_client_to_server[SSH2::CHANNEL_EXEC] - 4; + } + + $remote_file = basename($remote_file); + + if ($mode == self::SOURCE_STRING) { + $size = strlen($data); + } else { + if (!is_file($data)) { + user_error("$data is not a valid file", E_USER_NOTICE); + return false; + } + + $fp = @fopen($data, 'rb'); + if (!$fp) { + return false; + } + $size = filesize($data); + } + + $this->_send('C0644 ' . $size . ' ' . $remote_file . "\n"); + + $temp = $this->_receive(); + if ($temp !== chr(0)) { + return false; + } + + $sent = 0; + while ($sent < $size) { + $temp = $mode & self::SOURCE_STRING ? substr($data, $sent, $this->packet_size) : fread($fp, $this->packet_size); + $this->_send($temp); + $sent+= strlen($temp); + + if (is_callable($callback)) { + call_user_func($callback, $sent); + } + } + $this->_close(); + + if ($mode != self::SOURCE_STRING) { + fclose($fp); + } + + return true; + } + + /** + * Downloads a file from the SCP server. + * + * Returns a string containing the contents of $remote_file if $local_file is left undefined or a boolean false if + * the operation was unsuccessful. If $local_file is defined, returns true or false depending on the success of the + * operation + * + * @param string $remote_file + * @param string $local_file + * @return mixed + * @access public + */ + function get($remote_file, $local_file = false) + { + if (!isset($this->ssh)) { + return false; + } + + if (!$this->ssh->exec('scp -f ' . escapeshellarg($remote_file), false)) { // -f = from + return false; + } + + $this->_send("\0"); + + if (!preg_match('#(?<perms>[^ ]+) (?<size>\d+) (?<name>.+)#', rtrim($this->_receive()), $info)) { + return false; + } + + $this->_send("\0"); + + $size = 0; + + if ($local_file !== false) { + $fp = @fopen($local_file, 'wb'); + if (!$fp) { + return false; + } + } + + $content = ''; + while ($size < $info['size']) { + $data = $this->_receive(); + // SCP usually seems to split stuff out into 16k chunks + $size+= strlen($data); + + if ($local_file === false) { + $content.= $data; + } else { + fputs($fp, $data); + } + } + + $this->_close(); + + if ($local_file !== false) { + fclose($fp); + return true; + } + + return $content; + } + + /** + * Sends a packet to an SSH server + * + * @param string $data + * @access private + */ + function _send($data) + { + switch ($this->mode) { + case self::MODE_SSH2: + $this->ssh->_send_channel_packet(SSH2::CHANNEL_EXEC, $data); + break; + case self::MODE_SSH1: + $data = pack('CNa*', NET_SSH1_CMSG_STDIN_DATA, strlen($data), $data); + $this->ssh->_send_binary_packet($data); + } + } + + /** + * Receives a packet from an SSH server + * + * @return string + * @access private + */ + function _receive() + { + switch ($this->mode) { + case self::MODE_SSH2: + return $this->ssh->_get_channel_packet(SSH2::CHANNEL_EXEC, true); + case self::MODE_SSH1: + if (!$this->ssh->bitmap) { + return false; + } + while (true) { + $response = $this->ssh->_get_binary_packet(); + switch ($response[SSH1::RESPONSE_TYPE]) { + case NET_SSH1_SMSG_STDOUT_DATA: + extract(unpack('Nlength', $response[SSH1::RESPONSE_DATA])); + return $this->ssh->_string_shift($response[SSH1::RESPONSE_DATA], $length); + case NET_SSH1_SMSG_STDERR_DATA: + break; + case NET_SSH1_SMSG_EXITSTATUS: + $this->ssh->_send_binary_packet(chr(NET_SSH1_CMSG_EXIT_CONFIRMATION)); + fclose($this->ssh->fsock); + $this->ssh->bitmap = 0; + return false; + default: + user_error('Unknown packet received', E_USER_NOTICE); + return false; + } + } + } + } + + /** + * Closes the connection to an SSH server + * + * @access private + */ + function _close() + { + switch ($this->mode) { + case self::MODE_SSH2: + $this->ssh->_close_channel(SSH2::CHANNEL_EXEC, true); + break; + case self::MODE_SSH1: + $this->ssh->disconnect(); + } + } +} diff --git a/vendor/phpseclib/phpseclib/phpseclib/Net/SFTP.php b/vendor/phpseclib/phpseclib/phpseclib/Net/SFTP.php new file mode 100644 index 00000000..053ad3b7 --- /dev/null +++ b/vendor/phpseclib/phpseclib/phpseclib/Net/SFTP.php @@ -0,0 +1,2959 @@ +<?php + +/** + * Pure-PHP implementation of SFTP. + * + * PHP version 5 + * + * Currently only supports SFTPv2 and v3, which, according to wikipedia.org, "is the most widely used version, + * implemented by the popular OpenSSH SFTP server". If you want SFTPv4/5/6 support, provide me with access + * to an SFTPv4/5/6 server. + * + * The API for this library is modeled after the API from PHP's {@link http://php.net/book.ftp FTP extension}. + * + * Here's a short example of how to use this library: + * <code> + * <?php + * include 'vendor/autoload.php'; + * + * $sftp = new \phpseclib\Net\SFTP('www.domain.tld'); + * if (!$sftp->login('username', 'password')) { + * exit('Login Failed'); + * } + * + * echo $sftp->pwd() . "\r\n"; + * $sftp->put('filename.ext', 'hello, world!'); + * print_r($sftp->nlist()); + * ?> + * </code> + * + * @category Net + * @package SFTP + * @author Jim Wigginton <terrafrost@php.net> + * @copyright 2009 Jim Wigginton + * @license http://www.opensource.org/licenses/mit-license.html MIT License + * @link http://phpseclib.sourceforge.net + */ + +namespace phpseclib\Net; + +/** + * Pure-PHP implementations of SFTP. + * + * @package SFTP + * @author Jim Wigginton <terrafrost@php.net> + * @access public + */ +class SFTP extends SSH2 +{ + /** + * SFTP channel constant + * + * \phpseclib\Net\SSH2::exec() uses 0 and \phpseclib\Net\SSH2::read() / \phpseclib\Net\SSH2::write() use 1. + * + * @see \phpseclib\Net\SSH2::_send_channel_packet() + * @see \phpseclib\Net\SSH2::_get_channel_packet() + * @access private + */ + const CHANNEL = 0x100; + + /**#@+ + * @access public + * @see \phpseclib\Net\SFTP::put() + */ + /** + * Reads data from a local file. + */ + const SOURCE_LOCAL_FILE = 1; + /** + * Reads data from a string. + */ + // this value isn't really used anymore but i'm keeping it reserved for historical reasons + const SOURCE_STRING = 2; + /** + * Reads data from callback: + * function callback($length) returns string to proceed, null for EOF + */ + const SOURCE_CALLBACK = 16; + /** + * Resumes an upload + */ + const RESUME = 4; + /** + * Append a local file to an already existing remote file + */ + const RESUME_START = 8; + /**#@-*/ + + /** + * Packet Types + * + * @see self::__construct() + * @var array + * @access private + */ + var $packet_types = array(); + + /** + * Status Codes + * + * @see self::__construct() + * @var array + * @access private + */ + var $status_codes = array(); + + /** + * The Request ID + * + * The request ID exists in the off chance that a packet is sent out-of-order. Of course, this library doesn't support + * concurrent actions, so it's somewhat academic, here. + * + * @var int + * @see self::_send_sftp_packet() + * @access private + */ + var $request_id = false; + + /** + * The Packet Type + * + * The request ID exists in the off chance that a packet is sent out-of-order. Of course, this library doesn't support + * concurrent actions, so it's somewhat academic, here. + * + * @var int + * @see self::_get_sftp_packet() + * @access private + */ + var $packet_type = -1; + + /** + * Packet Buffer + * + * @var string + * @see self::_get_sftp_packet() + * @access private + */ + var $packet_buffer = ''; + + /** + * Extensions supported by the server + * + * @var array + * @see self::_initChannel() + * @access private + */ + var $extensions = array(); + + /** + * Server SFTP version + * + * @var int + * @see self::_initChannel() + * @access private + */ + var $version; + + /** + * Current working directory + * + * @var string + * @see self::_realpath() + * @see self::chdir() + * @access private + */ + var $pwd = false; + + /** + * Packet Type Log + * + * @see self::getLog() + * @var array + * @access private + */ + var $packet_type_log = array(); + + /** + * Packet Log + * + * @see self::getLog() + * @var array + * @access private + */ + var $packet_log = array(); + + /** + * Error information + * + * @see self::getSFTPErrors() + * @see self::getLastSFTPError() + * @var string + * @access private + */ + var $sftp_errors = array(); + + /** + * Stat Cache + * + * Rather than always having to open a directory and close it immediately there after to see if a file is a directory + * we'll cache the results. + * + * @see self::_update_stat_cache() + * @see self::_remove_from_stat_cache() + * @see self::_query_stat_cache() + * @var array + * @access private + */ + var $stat_cache = array(); + + /** + * Max SFTP Packet Size + * + * @see self::__construct() + * @see self::get() + * @var array + * @access private + */ + var $max_sftp_packet; + + /** + * Stat Cache Flag + * + * @see self::disableStatCache() + * @see self::enableStatCache() + * @var bool + * @access private + */ + var $use_stat_cache = true; + + /** + * Sort Options + * + * @see self::_comparator() + * @see self::setListOrder() + * @var array + * @access private + */ + var $sortOptions = array(); + + /** + * Default Constructor. + * + * Connects to an SFTP server + * + * @param string $host + * @param int $port + * @param int $timeout + * @return \phpseclib\Net\SFTP + * @access public + */ + function __construct($host, $port = 22, $timeout = 10) + { + parent::__construct($host, $port, $timeout); + + $this->max_sftp_packet = 1 << 15; + + $this->packet_types = array( + 1 => 'NET_SFTP_INIT', + 2 => 'NET_SFTP_VERSION', + /* the format of SSH_FXP_OPEN changed between SFTPv4 and SFTPv5+: + SFTPv5+: http://tools.ietf.org/html/draft-ietf-secsh-filexfer-13#section-8.1.1 + pre-SFTPv5 : http://tools.ietf.org/html/draft-ietf-secsh-filexfer-04#section-6.3 */ + 3 => 'NET_SFTP_OPEN', + 4 => 'NET_SFTP_CLOSE', + 5 => 'NET_SFTP_READ', + 6 => 'NET_SFTP_WRITE', + 7 => 'NET_SFTP_LSTAT', + 9 => 'NET_SFTP_SETSTAT', + 11 => 'NET_SFTP_OPENDIR', + 12 => 'NET_SFTP_READDIR', + 13 => 'NET_SFTP_REMOVE', + 14 => 'NET_SFTP_MKDIR', + 15 => 'NET_SFTP_RMDIR', + 16 => 'NET_SFTP_REALPATH', + 17 => 'NET_SFTP_STAT', + /* the format of SSH_FXP_RENAME changed between SFTPv4 and SFTPv5+: + SFTPv5+: http://tools.ietf.org/html/draft-ietf-secsh-filexfer-13#section-8.3 + pre-SFTPv5 : http://tools.ietf.org/html/draft-ietf-secsh-filexfer-04#section-6.5 */ + 18 => 'NET_SFTP_RENAME', + 19 => 'NET_SFTP_READLINK', + 20 => 'NET_SFTP_SYMLINK', + + 101=> 'NET_SFTP_STATUS', + 102=> 'NET_SFTP_HANDLE', + /* the format of SSH_FXP_NAME changed between SFTPv3 and SFTPv4+: + SFTPv4+: http://tools.ietf.org/html/draft-ietf-secsh-filexfer-13#section-9.4 + pre-SFTPv4 : http://tools.ietf.org/html/draft-ietf-secsh-filexfer-02#section-7 */ + 103=> 'NET_SFTP_DATA', + 104=> 'NET_SFTP_NAME', + 105=> 'NET_SFTP_ATTRS', + + 200=> 'NET_SFTP_EXTENDED' + ); + $this->status_codes = array( + 0 => 'NET_SFTP_STATUS_OK', + 1 => 'NET_SFTP_STATUS_EOF', + 2 => 'NET_SFTP_STATUS_NO_SUCH_FILE', + 3 => 'NET_SFTP_STATUS_PERMISSION_DENIED', + 4 => 'NET_SFTP_STATUS_FAILURE', + 5 => 'NET_SFTP_STATUS_BAD_MESSAGE', + 6 => 'NET_SFTP_STATUS_NO_CONNECTION', + 7 => 'NET_SFTP_STATUS_CONNECTION_LOST', + 8 => 'NET_SFTP_STATUS_OP_UNSUPPORTED', + 9 => 'NET_SFTP_STATUS_INVALID_HANDLE', + 10 => 'NET_SFTP_STATUS_NO_SUCH_PATH', + 11 => 'NET_SFTP_STATUS_FILE_ALREADY_EXISTS', + 12 => 'NET_SFTP_STATUS_WRITE_PROTECT', + 13 => 'NET_SFTP_STATUS_NO_MEDIA', + 14 => 'NET_SFTP_STATUS_NO_SPACE_ON_FILESYSTEM', + 15 => 'NET_SFTP_STATUS_QUOTA_EXCEEDED', + 16 => 'NET_SFTP_STATUS_UNKNOWN_PRINCIPAL', + 17 => 'NET_SFTP_STATUS_LOCK_CONFLICT', + 18 => 'NET_SFTP_STATUS_DIR_NOT_EMPTY', + 19 => 'NET_SFTP_STATUS_NOT_A_DIRECTORY', + 20 => 'NET_SFTP_STATUS_INVALID_FILENAME', + 21 => 'NET_SFTP_STATUS_LINK_LOOP', + 22 => 'NET_SFTP_STATUS_CANNOT_DELETE', + 23 => 'NET_SFTP_STATUS_INVALID_PARAMETER', + 24 => 'NET_SFTP_STATUS_FILE_IS_A_DIRECTORY', + 25 => 'NET_SFTP_STATUS_BYTE_RANGE_LOCK_CONFLICT', + 26 => 'NET_SFTP_STATUS_BYTE_RANGE_LOCK_REFUSED', + 27 => 'NET_SFTP_STATUS_DELETE_PENDING', + 28 => 'NET_SFTP_STATUS_FILE_CORRUPT', + 29 => 'NET_SFTP_STATUS_OWNER_INVALID', + 30 => 'NET_SFTP_STATUS_GROUP_INVALID', + 31 => 'NET_SFTP_STATUS_NO_MATCHING_BYTE_RANGE_LOCK' + ); + // http://tools.ietf.org/html/draft-ietf-secsh-filexfer-13#section-7.1 + // the order, in this case, matters quite a lot - see \phpseclib\Net\SFTP::_parseAttributes() to understand why + $this->attributes = array( + 0x00000001 => 'NET_SFTP_ATTR_SIZE', + 0x00000002 => 'NET_SFTP_ATTR_UIDGID', // defined in SFTPv3, removed in SFTPv4+ + 0x00000004 => 'NET_SFTP_ATTR_PERMISSIONS', + 0x00000008 => 'NET_SFTP_ATTR_ACCESSTIME', + // 0x80000000 will yield a floating point on 32-bit systems and converting floating points to integers + // yields inconsistent behavior depending on how php is compiled. so we left shift -1 (which, in + // two's compliment, consists of all 1 bits) by 31. on 64-bit systems this'll yield 0xFFFFFFFF80000000. + // that's not a problem, however, and 'anded' and a 32-bit number, as all the leading 1 bits are ignored. + -1 << 31 => 'NET_SFTP_ATTR_EXTENDED' + ); + // http://tools.ietf.org/html/draft-ietf-secsh-filexfer-04#section-6.3 + // the flag definitions change somewhat in SFTPv5+. if SFTPv5+ support is added to this library, maybe name + // the array for that $this->open5_flags and similarly alter the constant names. + $this->open_flags = array( + 0x00000001 => 'NET_SFTP_OPEN_READ', + 0x00000002 => 'NET_SFTP_OPEN_WRITE', + 0x00000004 => 'NET_SFTP_OPEN_APPEND', + 0x00000008 => 'NET_SFTP_OPEN_CREATE', + 0x00000010 => 'NET_SFTP_OPEN_TRUNCATE', + 0x00000020 => 'NET_SFTP_OPEN_EXCL' + ); + // http://tools.ietf.org/html/draft-ietf-secsh-filexfer-04#section-5.2 + // see \phpseclib\Net\SFTP::_parseLongname() for an explanation + $this->file_types = array( + 1 => 'NET_SFTP_TYPE_REGULAR', + 2 => 'NET_SFTP_TYPE_DIRECTORY', + 3 => 'NET_SFTP_TYPE_SYMLINK', + 4 => 'NET_SFTP_TYPE_SPECIAL', + 5 => 'NET_SFTP_TYPE_UNKNOWN', + // the followin types were first defined for use in SFTPv5+ + // http://tools.ietf.org/html/draft-ietf-secsh-filexfer-05#section-5.2 + 6 => 'NET_SFTP_TYPE_SOCKET', + 7 => 'NET_SFTP_TYPE_CHAR_DEVICE', + 8 => 'NET_SFTP_TYPE_BLOCK_DEVICE', + 9 => 'NET_SFTP_TYPE_FIFO' + ); + $this->_define_array( + $this->packet_types, + $this->status_codes, + $this->attributes, + $this->open_flags, + $this->file_types + ); + + if (!defined('NET_SFTP_QUEUE_SIZE')) { + define('NET_SFTP_QUEUE_SIZE', 50); + } + } + + /** + * Login + * + * @param string $username + * @param string $password + * @return bool + * @access public + */ + function login($username) + { + $args = func_get_args(); + if (!call_user_func_array(array(&$this, '_login'), $args)) { + return false; + } + + $this->window_size_server_to_client[self::CHANNEL] = $this->window_size; + + $packet = pack( + 'CNa*N3', + NET_SSH2_MSG_CHANNEL_OPEN, + strlen('session'), + 'session', + self::CHANNEL, + $this->window_size, + 0x4000 + ); + + if (!$this->_send_binary_packet($packet)) { + return false; + } + + $this->channel_status[self::CHANNEL] = NET_SSH2_MSG_CHANNEL_OPEN; + + $response = $this->_get_channel_packet(self::CHANNEL); + if ($response === false) { + return false; + } + + $packet = pack( + 'CNNa*CNa*', + NET_SSH2_MSG_CHANNEL_REQUEST, + $this->server_channels[self::CHANNEL], + strlen('subsystem'), + 'subsystem', + 1, + strlen('sftp'), + 'sftp' + ); + if (!$this->_send_binary_packet($packet)) { + return false; + } + + $this->channel_status[self::CHANNEL] = NET_SSH2_MSG_CHANNEL_REQUEST; + + $response = $this->_get_channel_packet(self::CHANNEL); + if ($response === false) { + // from PuTTY's psftp.exe + $command = "test -x /usr/lib/sftp-server && exec /usr/lib/sftp-server\n" . + "test -x /usr/local/lib/sftp-server && exec /usr/local/lib/sftp-server\n" . + "exec sftp-server"; + // we don't do $this->exec($command, false) because exec() operates on a different channel and plus the SSH_MSG_CHANNEL_OPEN that exec() does + // is redundant + $packet = pack( + 'CNNa*CNa*', + NET_SSH2_MSG_CHANNEL_REQUEST, + $this->server_channels[self::CHANNEL], + strlen('exec'), + 'exec', + 1, + strlen($command), + $command + ); + if (!$this->_send_binary_packet($packet)) { + return false; + } + + $this->channel_status[self::CHANNEL] = NET_SSH2_MSG_CHANNEL_REQUEST; + + $response = $this->_get_channel_packet(self::CHANNEL); + if ($response === false) { + return false; + } + } + + $this->channel_status[self::CHANNEL] = NET_SSH2_MSG_CHANNEL_DATA; + + if (!$this->_send_sftp_packet(NET_SFTP_INIT, "\0\0\0\3")) { + return false; + } + + $response = $this->_get_sftp_packet(); + if ($this->packet_type != NET_SFTP_VERSION) { + user_error('Expected SSH_FXP_VERSION'); + return false; + } + + extract(unpack('Nversion', $this->_string_shift($response, 4))); + $this->version = $version; + while (!empty($response)) { + extract(unpack('Nlength', $this->_string_shift($response, 4))); + $key = $this->_string_shift($response, $length); + extract(unpack('Nlength', $this->_string_shift($response, 4))); + $value = $this->_string_shift($response, $length); + $this->extensions[$key] = $value; + } + + /* + SFTPv4+ defines a 'newline' extension. SFTPv3 seems to have unofficial support for it via 'newline@vandyke.com', + however, I'm not sure what 'newline@vandyke.com' is supposed to do (the fact that it's unofficial means that it's + not in the official SFTPv3 specs) and 'newline@vandyke.com' / 'newline' are likely not drop-in substitutes for + one another due to the fact that 'newline' comes with a SSH_FXF_TEXT bitmask whereas it seems unlikely that + 'newline@vandyke.com' would. + */ + /* + if (isset($this->extensions['newline@vandyke.com'])) { + $this->extensions['newline'] = $this->extensions['newline@vandyke.com']; + unset($this->extensions['newline@vandyke.com']); + } + */ + + $this->request_id = 1; + + /* + A Note on SFTPv4/5/6 support: + <http://tools.ietf.org/html/draft-ietf-secsh-filexfer-13#section-5.1> states the following: + + "If the client wishes to interoperate with servers that support noncontiguous version + numbers it SHOULD send '3'" + + Given that the server only sends its version number after the client has already done so, the above + seems to be suggesting that v3 should be the default version. This makes sense given that v3 is the + most popular. + + <http://tools.ietf.org/html/draft-ietf-secsh-filexfer-13#section-5.5> states the following; + + "If the server did not send the "versions" extension, or the version-from-list was not included, the + server MAY send a status response describing the failure, but MUST then close the channel without + processing any further requests." + + So what do you do if you have a client whose initial SSH_FXP_INIT packet says it implements v3 and + a server whose initial SSH_FXP_VERSION reply says it implements v4 and only v4? If it only implements + v4, the "versions" extension is likely not going to have been sent so version re-negotiation as discussed + in draft-ietf-secsh-filexfer-13 would be quite impossible. As such, what \phpseclib\Net\SFTP would do is close the + channel and reopen it with a new and updated SSH_FXP_INIT packet. + */ + switch ($this->version) { + case 2: + case 3: + break; + default: + return false; + } + + $this->pwd = $this->_realpath('.'); + + $this->_update_stat_cache($this->pwd, array()); + + return true; + } + + /** + * Disable the stat cache + * + * @access public + */ + function disableStatCache() + { + $this->use_stat_cache = false; + } + + /** + * Enable the stat cache + * + * @access public + */ + function enableStatCache() + { + $this->use_stat_cache = true; + } + + /** + * Clear the stat cache + * + * @access public + */ + function clearStatCache() + { + $this->stat_cache = array(); + } + + /** + * Returns the current directory name + * + * @return mixed + * @access public + */ + function pwd() + { + return $this->pwd; + } + + /** + * Logs errors + * + * @param string $response + * @param int $status + * @access public + */ + function _logError($response, $status = -1) + { + if ($status == -1) { + extract(unpack('Nstatus', $this->_string_shift($response, 4))); + } + + $error = $this->status_codes[$status]; + + if ($this->version > 2) { + extract(unpack('Nlength', $this->_string_shift($response, 4))); + $this->sftp_errors[] = $error . ': ' . $this->_string_shift($response, $length); + } else { + $this->sftp_errors[] = $error; + } + } + + /** + * Returns canonicalized absolute pathname + * + * realpath() expands all symbolic links and resolves references to '/./', '/../' and extra '/' characters in the input + * path and returns the canonicalized absolute pathname. + * + * @param string $path + * @return mixed + * @access public + */ + function realpath($path) + { + return $this->_realpath($path); + } + + /** + * Canonicalize the Server-Side Path Name + * + * SFTP doesn't provide a mechanism by which the current working directory can be changed, so we'll emulate it. Returns + * the absolute (canonicalized) path. + * + * @see self::chdir() + * @param string $path + * @return mixed + * @access private + */ + function _realpath($path) + { + if ($this->pwd === false) { + // http://tools.ietf.org/html/draft-ietf-secsh-filexfer-13#section-8.9 + if (!$this->_send_sftp_packet(NET_SFTP_REALPATH, pack('Na*', strlen($path), $path))) { + return false; + } + + $response = $this->_get_sftp_packet(); + switch ($this->packet_type) { + case NET_SFTP_NAME: + // although SSH_FXP_NAME is implemented differently in SFTPv3 than it is in SFTPv4+, the following + // should work on all SFTP versions since the only part of the SSH_FXP_NAME packet the following looks + // at is the first part and that part is defined the same in SFTP versions 3 through 6. + $this->_string_shift($response, 4); // skip over the count - it should be 1, anyway + extract(unpack('Nlength', $this->_string_shift($response, 4))); + return $this->_string_shift($response, $length); + case NET_SFTP_STATUS: + $this->_logError($response); + return false; + default: + user_error('Expected SSH_FXP_NAME or SSH_FXP_STATUS'); + return false; + } + } + + if ($path[0] != '/') { + $path = $this->pwd . '/' . $path; + } + + $path = explode('/', $path); + $new = array(); + foreach ($path as $dir) { + if (!strlen($dir)) { + continue; + } + switch ($dir) { + case '..': + array_pop($new); + case '.': + break; + default: + $new[] = $dir; + } + } + + return '/' . implode('/', $new); + } + + /** + * Changes the current directory + * + * @param string $dir + * @return bool + * @access public + */ + function chdir($dir) + { + if (!($this->bitmap & SSH2::MASK_LOGIN)) { + return false; + } + + // assume current dir if $dir is empty + if ($dir === '') { + $dir = './'; + // suffix a slash if needed + } elseif ($dir[strlen($dir) - 1] != '/') { + $dir.= '/'; + } + + $dir = $this->_realpath($dir); + + // confirm that $dir is, in fact, a valid directory + if ($this->use_stat_cache && is_array($this->_query_stat_cache($dir))) { + $this->pwd = $dir; + return true; + } + + // we could do a stat on the alleged $dir to see if it's a directory but that doesn't tell us + // the currently logged in user has the appropriate permissions or not. maybe you could see if + // the file's uid / gid match the currently logged in user's uid / gid but how there's no easy + // way to get those with SFTP + + if (!$this->_send_sftp_packet(NET_SFTP_OPENDIR, pack('Na*', strlen($dir), $dir))) { + return false; + } + + // see \phpseclib\Net\SFTP::nlist() for a more thorough explanation of the following + $response = $this->_get_sftp_packet(); + switch ($this->packet_type) { + case NET_SFTP_HANDLE: + $handle = substr($response, 4); + break; + case NET_SFTP_STATUS: + $this->_logError($response); + return false; + default: + user_error('Expected SSH_FXP_HANDLE or SSH_FXP_STATUS'); + return false; + } + + if (!$this->_close_handle($handle)) { + return false; + } + + $this->_update_stat_cache($dir, array()); + + $this->pwd = $dir; + return true; + } + + /** + * Returns a list of files in the given directory + * + * @param string $dir + * @param bool $recursive + * @return mixed + * @access public + */ + function nlist($dir = '.', $recursive = false) + { + return $this->_nlist_helper($dir, $recursive, ''); + } + + /** + * Helper method for nlist + * + * @param string $dir + * @param bool $recursive + * @param string $relativeDir + * @return mixed + * @access private + */ + function _nlist_helper($dir, $recursive, $relativeDir) + { + $files = $this->_list($dir, false); + + if (!$recursive || $files === false) { + return $files; + } + + $result = array(); + foreach ($files as $value) { + if ($value == '.' || $value == '..') { + if ($relativeDir == '') { + $result[] = $value; + } + continue; + } + if (is_array($this->_query_stat_cache($this->_realpath($dir . '/' . $value)))) { + $temp = $this->_nlist_helper($dir . '/' . $value, true, $relativeDir . $value . '/'); + $result = array_merge($result, $temp); + } else { + $result[] = $relativeDir . $value; + } + } + + return $result; + } + + /** + * Returns a detailed list of files in the given directory + * + * @param string $dir + * @param bool $recursive + * @return mixed + * @access public + */ + function rawlist($dir = '.', $recursive = false) + { + $files = $this->_list($dir, true); + if (!$recursive || $files === false) { + return $files; + } + + static $depth = 0; + + foreach ($files as $key => $value) { + if ($depth != 0 && $key == '..') { + unset($files[$key]); + continue; + } + if ($key != '.' && $key != '..' && is_array($this->_query_stat_cache($this->_realpath($dir . '/' . $key)))) { + $depth++; + $files[$key] = $this->rawlist($dir . '/' . $key, true); + $depth--; + } else { + $files[$key] = (object) $value; + } + } + + return $files; + } + + /** + * Reads a list, be it detailed or not, of files in the given directory + * + * @param string $dir + * @param bool $raw + * @return mixed + * @access private + */ + function _list($dir, $raw = true) + { + if (!($this->bitmap & SSH2::MASK_LOGIN)) { + return false; + } + + $dir = $this->_realpath($dir . '/'); + if ($dir === false) { + return false; + } + + // http://tools.ietf.org/html/draft-ietf-secsh-filexfer-13#section-8.1.2 + if (!$this->_send_sftp_packet(NET_SFTP_OPENDIR, pack('Na*', strlen($dir), $dir))) { + return false; + } + + $response = $this->_get_sftp_packet(); + switch ($this->packet_type) { + case NET_SFTP_HANDLE: + // http://tools.ietf.org/html/draft-ietf-secsh-filexfer-13#section-9.2 + // since 'handle' is the last field in the SSH_FXP_HANDLE packet, we'll just remove the first four bytes that + // represent the length of the string and leave it at that + $handle = substr($response, 4); + break; + case NET_SFTP_STATUS: + // presumably SSH_FX_NO_SUCH_FILE or SSH_FX_PERMISSION_DENIED + $this->_logError($response); + return false; + default: + user_error('Expected SSH_FXP_HANDLE or SSH_FXP_STATUS'); + return false; + } + + $this->_update_stat_cache($dir, array()); + + $contents = array(); + while (true) { + // http://tools.ietf.org/html/draft-ietf-secsh-filexfer-13#section-8.2.2 + // why multiple SSH_FXP_READDIR packets would be sent when the response to a single one can span arbitrarily many + // SSH_MSG_CHANNEL_DATA messages is not known to me. + if (!$this->_send_sftp_packet(NET_SFTP_READDIR, pack('Na*', strlen($handle), $handle))) { + return false; + } + + $response = $this->_get_sftp_packet(); + switch ($this->packet_type) { + case NET_SFTP_NAME: + extract(unpack('Ncount', $this->_string_shift($response, 4))); + for ($i = 0; $i < $count; $i++) { + extract(unpack('Nlength', $this->_string_shift($response, 4))); + $shortname = $this->_string_shift($response, $length); + extract(unpack('Nlength', $this->_string_shift($response, 4))); + $longname = $this->_string_shift($response, $length); + $attributes = $this->_parseAttributes($response); + if (!isset($attributes['type'])) { + $fileType = $this->_parseLongname($longname); + if ($fileType) { + $attributes['type'] = $fileType; + } + } + $contents[$shortname] = $attributes + array('filename' => $shortname); + + if (isset($attributes['type']) && $attributes['type'] == NET_SFTP_TYPE_DIRECTORY && ($shortname != '.' && $shortname != '..')) { + $this->_update_stat_cache($dir . '/' . $shortname, array()); + } else { + if ($shortname == '..') { + $temp = $this->_realpath($dir . '/..') . '/.'; + } else { + $temp = $dir . '/' . $shortname; + } + $this->_update_stat_cache($temp, (object) array('lstat' => $attributes)); + } + // SFTPv6 has an optional boolean end-of-list field, but we'll ignore that, since the + // final SSH_FXP_STATUS packet should tell us that, already. + } + break; + case NET_SFTP_STATUS: + extract(unpack('Nstatus', $this->_string_shift($response, 4))); + if ($status != NET_SFTP_STATUS_EOF) { + $this->_logError($response, $status); + return false; + } + break 2; + default: + user_error('Expected SSH_FXP_NAME or SSH_FXP_STATUS'); + return false; + } + } + + if (!$this->_close_handle($handle)) { + return false; + } + + if (count($this->sortOptions)) { + uasort($contents, array(&$this, '_comparator')); + } + + return $raw ? $contents : array_keys($contents); + } + + /** + * Compares two rawlist entries using parameters set by setListOrder() + * + * Intended for use with uasort() + * + * @param array $a + * @param array $b + * @return int + * @access private + */ + function _comparator($a, $b) + { + switch (true) { + case $a['filename'] === '.' || $b['filename'] === '.': + if ($a['filename'] === $b['filename']) { + return 0; + } + return $a['filename'] === '.' ? -1 : 1; + case $a['filename'] === '..' || $b['filename'] === '..': + if ($a['filename'] === $b['filename']) { + return 0; + } + return $a['filename'] === '..' ? -1 : 1; + case isset($a['type']) && $a['type'] === NET_SFTP_TYPE_DIRECTORY: + if (!isset($b['type'])) { + return 1; + } + if ($b['type'] !== $a['type']) { + return -1; + } + break; + case isset($b['type']) && $b['type'] === NET_SFTP_TYPE_DIRECTORY: + return 1; + } + foreach ($this->sortOptions as $sort => $order) { + if (!isset($a[$sort]) || !isset($b[$sort])) { + if (isset($a[$sort])) { + return -1; + } + if (isset($b[$sort])) { + return 1; + } + return 0; + } + switch ($sort) { + case 'filename': + $result = strcasecmp($a['filename'], $b['filename']); + if ($result) { + return $order === SORT_DESC ? -$result : $result; + } + break; + case 'permissions': + case 'mode': + $a[$sort]&= 07777; + $b[$sort]&= 07777; + default: + if ($a[$sort] === $b[$sort]) { + break; + } + return $order === SORT_ASC ? $a[$sort] - $b[$sort] : $b[$sort] - $a[$sort]; + } + } + } + + /** + * Defines how nlist() and rawlist() will be sorted - if at all. + * + * If sorting is enabled directories and files will be sorted independently with + * directories appearing before files in the resultant array that is returned. + * + * Any parameter returned by stat is a valid sort parameter for this function. + * Filename comparisons are case insensitive. + * + * Examples: + * + * $sftp->setListOrder('filename', SORT_ASC); + * $sftp->setListOrder('size', SORT_DESC, 'filename', SORT_ASC); + * $sftp->setListOrder(true); + * Separates directories from files but doesn't do any sorting beyond that + * $sftp->setListOrder(); + * Don't do any sort of sorting + * + * @access public + */ + function setListOrder() + { + $this->sortOptions = array(); + $args = func_get_args(); + if (empty($args)) { + return; + } + $len = count($args) & 0x7FFFFFFE; + for ($i = 0; $i < $len; $i+=2) { + $this->sortOptions[$args[$i]] = $args[$i + 1]; + } + if (!count($this->sortOptions)) { + $this->sortOptions = array('bogus' => true); + } + } + + /** + * Returns the file size, in bytes, or false, on failure + * + * Files larger than 4GB will show up as being exactly 4GB. + * + * @param string $filename + * @return mixed + * @access public + */ + function size($filename) + { + if (!($this->bitmap & SSH2::MASK_LOGIN)) { + return false; + } + + $result = $this->stat($filename); + if ($result === false) { + return false; + } + return isset($result['size']) ? $result['size'] : -1; + } + + /** + * Save files / directories to cache + * + * @param string $path + * @param mixed $value + * @access private + */ + function _update_stat_cache($path, $value) + { + if ($this->use_stat_cache === false) { + return; + } + + // preg_replace('#^/|/(?=/)|/$#', '', $dir) == str_replace('//', '/', trim($path, '/')) + $dirs = explode('/', preg_replace('#^/|/(?=/)|/$#', '', $path)); + + $temp = &$this->stat_cache; + $max = count($dirs) - 1; + foreach ($dirs as $i => $dir) { + // if $temp is an object that means one of two things. + // 1. a file was deleted and changed to a directory behind phpseclib's back + // 2. it's a symlink. when lstat is done it's unclear what it's a symlink to + if (is_object($temp)) { + $temp = array(); + } + if (!isset($temp[$dir])) { + $temp[$dir] = array(); + } + if ($i === $max) { + if (is_object($temp[$dir])) { + if (!isset($value->stat) && isset($temp[$dir]->stat)) { + $value->stat = $temp[$dir]->stat; + } + if (!isset($value->lstat) && isset($temp[$dir]->lstat)) { + $value->lstat = $temp[$dir]->lstat; + } + } + $temp[$dir] = $value; + break; + } + $temp = &$temp[$dir]; + } + } + + /** + * Remove files / directories from cache + * + * @param string $path + * @return bool + * @access private + */ + function _remove_from_stat_cache($path) + { + $dirs = explode('/', preg_replace('#^/|/(?=/)|/$#', '', $path)); + + $temp = &$this->stat_cache; + $max = count($dirs) - 1; + foreach ($dirs as $i => $dir) { + if ($i === $max) { + unset($temp[$dir]); + return true; + } + if (!isset($temp[$dir])) { + return false; + } + $temp = &$temp[$dir]; + } + } + + /** + * Checks cache for path + * + * Mainly used by file_exists + * + * @param string $dir + * @return mixed + * @access private + */ + function _query_stat_cache($path) + { + $dirs = explode('/', preg_replace('#^/|/(?=/)|/$#', '', $path)); + + $temp = &$this->stat_cache; + foreach ($dirs as $dir) { + if (!isset($temp[$dir])) { + return null; + } + $temp = &$temp[$dir]; + } + return $temp; + } + + /** + * Returns general information about a file. + * + * Returns an array on success and false otherwise. + * + * @param string $filename + * @return mixed + * @access public + */ + function stat($filename) + { + if (!($this->bitmap & SSH2::MASK_LOGIN)) { + return false; + } + + $filename = $this->_realpath($filename); + if ($filename === false) { + return false; + } + + if ($this->use_stat_cache) { + $result = $this->_query_stat_cache($filename); + if (is_array($result) && isset($result['.']) && isset($result['.']->stat)) { + return $result['.']->stat; + } + if (is_object($result) && isset($result->stat)) { + return $result->stat; + } + } + + $stat = $this->_stat($filename, NET_SFTP_STAT); + if ($stat === false) { + $this->_remove_from_stat_cache($filename); + return false; + } + if (isset($stat['type'])) { + if ($stat['type'] == NET_SFTP_TYPE_DIRECTORY) { + $filename.= '/.'; + } + $this->_update_stat_cache($filename, (object) array('stat' => $stat)); + return $stat; + } + + $pwd = $this->pwd; + $stat['type'] = $this->chdir($filename) ? + NET_SFTP_TYPE_DIRECTORY : + NET_SFTP_TYPE_REGULAR; + $this->pwd = $pwd; + + if ($stat['type'] == NET_SFTP_TYPE_DIRECTORY) { + $filename.= '/.'; + } + $this->_update_stat_cache($filename, (object) array('stat' => $stat)); + + return $stat; + } + + /** + * Returns general information about a file or symbolic link. + * + * Returns an array on success and false otherwise. + * + * @param string $filename + * @return mixed + * @access public + */ + function lstat($filename) + { + if (!($this->bitmap & SSH2::MASK_LOGIN)) { + return false; + } + + $filename = $this->_realpath($filename); + if ($filename === false) { + return false; + } + + if ($this->use_stat_cache) { + $result = $this->_query_stat_cache($filename); + if (is_array($result) && isset($result['.']) && isset($result['.']->lstat)) { + return $result['.']->lstat; + } + if (is_object($result) && isset($result->lstat)) { + return $result->lstat; + } + } + + $lstat = $this->_stat($filename, NET_SFTP_LSTAT); + if ($lstat === false) { + $this->_remove_from_stat_cache($filename); + return false; + } + if (isset($lstat['type'])) { + if ($lstat['type'] == NET_SFTP_TYPE_DIRECTORY) { + $filename.= '/.'; + } + $this->_update_stat_cache($filename, (object) array('lstat' => $lstat)); + return $lstat; + } + + $stat = $this->_stat($filename, NET_SFTP_STAT); + + if ($lstat != $stat) { + $lstat = array_merge($lstat, array('type' => NET_SFTP_TYPE_SYMLINK)); + $this->_update_stat_cache($filename, (object) array('lstat' => $lstat)); + return $stat; + } + + $pwd = $this->pwd; + $lstat['type'] = $this->chdir($filename) ? + NET_SFTP_TYPE_DIRECTORY : + NET_SFTP_TYPE_REGULAR; + $this->pwd = $pwd; + + if ($lstat['type'] == NET_SFTP_TYPE_DIRECTORY) { + $filename.= '/.'; + } + $this->_update_stat_cache($filename, (object) array('lstat' => $lstat)); + + return $lstat; + } + + /** + * Returns general information about a file or symbolic link + * + * Determines information without calling \phpseclib\Net\SFTP::_realpath(). + * The second parameter can be either NET_SFTP_STAT or NET_SFTP_LSTAT. + * + * @param string $filename + * @param int $type + * @return mixed + * @access private + */ + function _stat($filename, $type) + { + // SFTPv4+ adds an additional 32-bit integer field - flags - to the following: + $packet = pack('Na*', strlen($filename), $filename); + if (!$this->_send_sftp_packet($type, $packet)) { + return false; + } + + $response = $this->_get_sftp_packet(); + switch ($this->packet_type) { + case NET_SFTP_ATTRS: + return $this->_parseAttributes($response); + case NET_SFTP_STATUS: + $this->_logError($response); + return false; + } + + user_error('Expected SSH_FXP_ATTRS or SSH_FXP_STATUS'); + return false; + } + + /** + * Truncates a file to a given length + * + * @param string $filename + * @param int $new_size + * @return bool + * @access public + */ + function truncate($filename, $new_size) + { + $attr = pack('N3', NET_SFTP_ATTR_SIZE, $new_size / 4294967296, $new_size); // 4294967296 == 0x100000000 == 1<<32 + + return $this->_setstat($filename, $attr, false); + } + + /** + * Sets access and modification time of file. + * + * If the file does not exist, it will be created. + * + * @param string $filename + * @param int $time + * @param int $atime + * @return bool + * @access public + */ + function touch($filename, $time = null, $atime = null) + { + if (!($this->bitmap & SSH2::MASK_LOGIN)) { + return false; + } + + $filename = $this->_realpath($filename); + if ($filename === false) { + return false; + } + + if (!isset($time)) { + $time = time(); + } + if (!isset($atime)) { + $atime = $time; + } + + $flags = NET_SFTP_OPEN_WRITE | NET_SFTP_OPEN_CREATE | NET_SFTP_OPEN_EXCL; + $attr = pack('N3', NET_SFTP_ATTR_ACCESSTIME, $time, $atime); + $packet = pack('Na*Na*', strlen($filename), $filename, $flags, $attr); + if (!$this->_send_sftp_packet(NET_SFTP_OPEN, $packet)) { + return false; + } + + $response = $this->_get_sftp_packet(); + switch ($this->packet_type) { + case NET_SFTP_HANDLE: + return $this->_close_handle(substr($response, 4)); + case NET_SFTP_STATUS: + $this->_logError($response); + break; + default: + user_error('Expected SSH_FXP_HANDLE or SSH_FXP_STATUS'); + return false; + } + + return $this->_setstat($filename, $attr, false); + } + + /** + * Changes file or directory owner + * + * Returns true on success or false on error. + * + * @param string $filename + * @param int $uid + * @param bool $recursive + * @return bool + * @access public + */ + function chown($filename, $uid, $recursive = false) + { + // quoting from <http://www.kernel.org/doc/man-pages/online/pages/man2/chown.2.html>, + // "if the owner or group is specified as -1, then that ID is not changed" + $attr = pack('N3', NET_SFTP_ATTR_UIDGID, $uid, -1); + + return $this->_setstat($filename, $attr, $recursive); + } + + /** + * Changes file or directory group + * + * Returns true on success or false on error. + * + * @param string $filename + * @param int $gid + * @param bool $recursive + * @return bool + * @access public + */ + function chgrp($filename, $gid, $recursive = false) + { + $attr = pack('N3', NET_SFTP_ATTR_UIDGID, -1, $gid); + + return $this->_setstat($filename, $attr, $recursive); + } + + /** + * Set permissions on a file. + * + * Returns the new file permissions on success or false on error. + * If $recursive is true than this just returns true or false. + * + * @param int $mode + * @param string $filename + * @param bool $recursive + * @return mixed + * @access public + */ + function chmod($mode, $filename, $recursive = false) + { + if (is_string($mode) && is_int($filename)) { + $temp = $mode; + $mode = $filename; + $filename = $temp; + } + + $attr = pack('N2', NET_SFTP_ATTR_PERMISSIONS, $mode & 07777); + if (!$this->_setstat($filename, $attr, $recursive)) { + return false; + } + if ($recursive) { + return true; + } + + $filename = $this->_realPath($filename); + // rather than return what the permissions *should* be, we'll return what they actually are. this will also + // tell us if the file actually exists. + // incidentally, SFTPv4+ adds an additional 32-bit integer field - flags - to the following: + $packet = pack('Na*', strlen($filename), $filename); + if (!$this->_send_sftp_packet(NET_SFTP_STAT, $packet)) { + return false; + } + + $response = $this->_get_sftp_packet(); + switch ($this->packet_type) { + case NET_SFTP_ATTRS: + $attrs = $this->_parseAttributes($response); + return $attrs['permissions']; + case NET_SFTP_STATUS: + $this->_logError($response); + return false; + } + + user_error('Expected SSH_FXP_ATTRS or SSH_FXP_STATUS'); + return false; + } + + /** + * Sets information about a file + * + * @param string $filename + * @param string $attr + * @param bool $recursive + * @return bool + * @access private + */ + function _setstat($filename, $attr, $recursive) + { + if (!($this->bitmap & SSH2::MASK_LOGIN)) { + return false; + } + + $filename = $this->_realpath($filename); + if ($filename === false) { + return false; + } + + $this->_remove_from_stat_cache($filename); + + if ($recursive) { + $i = 0; + $result = $this->_setstat_recursive($filename, $attr, $i); + $this->_read_put_responses($i); + return $result; + } + + // SFTPv4+ has an additional byte field - type - that would need to be sent, as well. setting it to + // SSH_FILEXFER_TYPE_UNKNOWN might work. if not, we'd have to do an SSH_FXP_STAT before doing an SSH_FXP_SETSTAT. + if (!$this->_send_sftp_packet(NET_SFTP_SETSTAT, pack('Na*a*', strlen($filename), $filename, $attr))) { + return false; + } + + /* + "Because some systems must use separate system calls to set various attributes, it is possible that a failure + response will be returned, but yet some of the attributes may be have been successfully modified. If possible, + servers SHOULD avoid this situation; however, clients MUST be aware that this is possible." + + -- http://tools.ietf.org/html/draft-ietf-secsh-filexfer-13#section-8.6 + */ + $response = $this->_get_sftp_packet(); + if ($this->packet_type != NET_SFTP_STATUS) { + user_error('Expected SSH_FXP_STATUS'); + return false; + } + + extract(unpack('Nstatus', $this->_string_shift($response, 4))); + if ($status != NET_SFTP_STATUS_OK) { + $this->_logError($response, $status); + return false; + } + + return true; + } + + /** + * Recursively sets information on directories on the SFTP server + * + * Minimizes directory lookups and SSH_FXP_STATUS requests for speed. + * + * @param string $path + * @param string $attr + * @param int $i + * @return bool + * @access private + */ + function _setstat_recursive($path, $attr, &$i) + { + if (!$this->_read_put_responses($i)) { + return false; + } + $i = 0; + $entries = $this->_list($path, true); + + if ($entries === false) { + return $this->_setstat($path, $attr, false); + } + + // normally $entries would have at least . and .. but it might not if the directories + // permissions didn't allow reading + if (empty($entries)) { + return false; + } + + unset($entries['.'], $entries['..']); + foreach ($entries as $filename => $props) { + if (!isset($props['type'])) { + return false; + } + + $temp = $path . '/' . $filename; + if ($props['type'] == NET_SFTP_TYPE_DIRECTORY) { + if (!$this->_setstat_recursive($temp, $attr, $i)) { + return false; + } + } else { + if (!$this->_send_sftp_packet(NET_SFTP_SETSTAT, pack('Na*a*', strlen($temp), $temp, $attr))) { + return false; + } + + $i++; + + if ($i >= NET_SFTP_QUEUE_SIZE) { + if (!$this->_read_put_responses($i)) { + return false; + } + $i = 0; + } + } + } + + if (!$this->_send_sftp_packet(NET_SFTP_SETSTAT, pack('Na*a*', strlen($path), $path, $attr))) { + return false; + } + + $i++; + + if ($i >= NET_SFTP_QUEUE_SIZE) { + if (!$this->_read_put_responses($i)) { + return false; + } + $i = 0; + } + + return true; + } + + /** + * Return the target of a symbolic link + * + * @param string $link + * @return mixed + * @access public + */ + function readlink($link) + { + if (!($this->bitmap & SSH2::MASK_LOGIN)) { + return false; + } + + $link = $this->_realpath($link); + + if (!$this->_send_sftp_packet(NET_SFTP_READLINK, pack('Na*', strlen($link), $link))) { + return false; + } + + $response = $this->_get_sftp_packet(); + switch ($this->packet_type) { + case NET_SFTP_NAME: + break; + case NET_SFTP_STATUS: + $this->_logError($response); + return false; + default: + user_error('Expected SSH_FXP_NAME or SSH_FXP_STATUS'); + return false; + } + + extract(unpack('Ncount', $this->_string_shift($response, 4))); + // the file isn't a symlink + if (!$count) { + return false; + } + + extract(unpack('Nlength', $this->_string_shift($response, 4))); + return $this->_string_shift($response, $length); + } + + /** + * Create a symlink + * + * symlink() creates a symbolic link to the existing target with the specified name link. + * + * @param string $target + * @param string $link + * @return bool + * @access public + */ + function symlink($target, $link) + { + if (!($this->bitmap & SSH2::MASK_LOGIN)) { + return false; + } + + //$target = $this->_realpath($target); + $link = $this->_realpath($link); + + $packet = pack('Na*Na*', strlen($target), $target, strlen($link), $link); + if (!$this->_send_sftp_packet(NET_SFTP_SYMLINK, $packet)) { + return false; + } + + $response = $this->_get_sftp_packet(); + if ($this->packet_type != NET_SFTP_STATUS) { + user_error('Expected SSH_FXP_STATUS'); + return false; + } + + extract(unpack('Nstatus', $this->_string_shift($response, 4))); + if ($status != NET_SFTP_STATUS_OK) { + $this->_logError($response, $status); + return false; + } + + return true; + } + + /** + * Creates a directory. + * + * @param string $dir + * @return bool + * @access public + */ + function mkdir($dir, $mode = -1, $recursive = false) + { + if (!($this->bitmap & SSH2::MASK_LOGIN)) { + return false; + } + + $dir = $this->_realpath($dir); + // by not providing any permissions, hopefully the server will use the logged in users umask - their + // default permissions. + $attr = $mode == -1 ? "\0\0\0\0" : pack('N2', NET_SFTP_ATTR_PERMISSIONS, $mode & 07777); + + if ($recursive) { + $dirs = explode('/', preg_replace('#/(?=/)|/$#', '', $dir)); + if (empty($dirs[0])) { + array_shift($dirs); + $dirs[0] = '/' . $dirs[0]; + } + for ($i = 0; $i < count($dirs); $i++) { + $temp = array_slice($dirs, 0, $i + 1); + $temp = implode('/', $temp); + $result = $this->_mkdir_helper($temp, $attr); + } + return $result; + } + + return $this->_mkdir_helper($dir, $attr); + } + + /** + * Helper function for directory creation + * + * @param string $dir + * @return bool + * @access private + */ + function _mkdir_helper($dir, $attr) + { + if (!$this->_send_sftp_packet(NET_SFTP_MKDIR, pack('Na*a*', strlen($dir), $dir, $attr))) { + return false; + } + + $response = $this->_get_sftp_packet(); + if ($this->packet_type != NET_SFTP_STATUS) { + user_error('Expected SSH_FXP_STATUS'); + return false; + } + + extract(unpack('Nstatus', $this->_string_shift($response, 4))); + if ($status != NET_SFTP_STATUS_OK) { + $this->_logError($response, $status); + return false; + } + + return true; + } + + /** + * Removes a directory. + * + * @param string $dir + * @return bool + * @access public + */ + function rmdir($dir) + { + if (!($this->bitmap & SSH2::MASK_LOGIN)) { + return false; + } + + $dir = $this->_realpath($dir); + if ($dir === false) { + return false; + } + + if (!$this->_send_sftp_packet(NET_SFTP_RMDIR, pack('Na*', strlen($dir), $dir))) { + return false; + } + + $response = $this->_get_sftp_packet(); + if ($this->packet_type != NET_SFTP_STATUS) { + user_error('Expected SSH_FXP_STATUS'); + return false; + } + + extract(unpack('Nstatus', $this->_string_shift($response, 4))); + if ($status != NET_SFTP_STATUS_OK) { + // presumably SSH_FX_NO_SUCH_FILE or SSH_FX_PERMISSION_DENIED? + $this->_logError($response, $status); + return false; + } + + $this->_remove_from_stat_cache($dir); + // the following will do a soft delete, which would be useful if you deleted a file + // and then tried to do a stat on the deleted file. the above, in contrast, does + // a hard delete + //$this->_update_stat_cache($dir, false); + + return true; + } + + /** + * Uploads a file to the SFTP server. + * + * By default, \phpseclib\Net\SFTP::put() does not read from the local filesystem. $data is dumped directly into $remote_file. + * So, for example, if you set $data to 'filename.ext' and then do \phpseclib\Net\SFTP::get(), you will get a file, twelve bytes + * long, containing 'filename.ext' as its contents. + * + * Setting $mode to self::SOURCE_LOCAL_FILE will change the above behavior. With self::SOURCE_LOCAL_FILE, $remote_file will + * contain as many bytes as filename.ext does on your local filesystem. If your filename.ext is 1MB then that is how + * large $remote_file will be, as well. + * + * Setting $mode to self::SOURCE_CALLBACK will use $data as callback function, which gets only one parameter -- number of bytes to return, and returns a string if there is some data or null if there is no more data + * + * If $data is a resource then it'll be used as a resource instead. + * + * Currently, only binary mode is supported. As such, if the line endings need to be adjusted, you will need to take + * care of that, yourself. + * + * $mode can take an additional two parameters - self::RESUME and self::RESUME_START. These are bitwise AND'd with + * $mode. So if you want to resume upload of a 300mb file on the local file system you'd set $mode to the following: + * + * self::SOURCE_LOCAL_FILE | self::RESUME + * + * If you wanted to simply append the full contents of a local file to the full contents of a remote file you'd replace + * self::RESUME with self::RESUME_START. + * + * If $mode & (self::RESUME | self::RESUME_START) then self::RESUME_START will be assumed. + * + * $start and $local_start give you more fine grained control over this process and take precident over self::RESUME + * when they're non-negative. ie. $start could let you write at the end of a file (like self::RESUME) or in the middle + * of one. $local_start could let you start your reading from the end of a file (like self::RESUME_START) or in the + * middle of one. + * + * Setting $local_start to > 0 or $mode | self::RESUME_START doesn't do anything unless $mode | self::SOURCE_LOCAL_FILE. + * + * @param string $remote_file + * @param string|resource $data + * @param int $mode + * @param int $start + * @param int $local_start + * @param callable|null $progressCallback + * @return bool + * @access public + * @internal ASCII mode for SFTPv4/5/6 can be supported by adding a new function - \phpseclib\Net\SFTP::setMode(). + */ + function put($remote_file, $data, $mode = self::SOURCE_STRING, $start = -1, $local_start = -1, $progressCallback = null) + { + if (!($this->bitmap & SSH2::MASK_LOGIN)) { + return false; + } + + $remote_file = $this->_realpath($remote_file); + if ($remote_file === false) { + return false; + } + + $this->_remove_from_stat_cache($remote_file); + + $flags = NET_SFTP_OPEN_WRITE | NET_SFTP_OPEN_CREATE; + // according to the SFTP specs, NET_SFTP_OPEN_APPEND should "force all writes to append data at the end of the file." + // in practice, it doesn't seem to do that. + //$flags|= ($mode & self::RESUME) ? NET_SFTP_OPEN_APPEND : NET_SFTP_OPEN_TRUNCATE; + + if ($start >= 0) { + $offset = $start; + } elseif ($mode & self::RESUME) { + // if NET_SFTP_OPEN_APPEND worked as it should _size() wouldn't need to be called + $size = $this->size($remote_file); + $offset = $size !== false ? $size : 0; + } else { + $offset = 0; + $flags|= NET_SFTP_OPEN_TRUNCATE; + } + + $packet = pack('Na*N2', strlen($remote_file), $remote_file, $flags, 0); + if (!$this->_send_sftp_packet(NET_SFTP_OPEN, $packet)) { + return false; + } + + $response = $this->_get_sftp_packet(); + switch ($this->packet_type) { + case NET_SFTP_HANDLE: + $handle = substr($response, 4); + break; + case NET_SFTP_STATUS: + $this->_logError($response); + return false; + default: + user_error('Expected SSH_FXP_HANDLE or SSH_FXP_STATUS'); + return false; + } + + // http://tools.ietf.org/html/draft-ietf-secsh-filexfer-13#section-8.2.3 + $dataCallback = false; + switch (true) { + case $mode & self::SOURCE_CALLBACK: + if (!is_callable($data)) { + user_error("\$data should be is_callable() if you specify SOURCE_CALLBACK flag"); + } + $dataCallback = $data; + // do nothing + break; + case is_resource($data): + $mode = $mode & ~self::SOURCE_LOCAL_FILE; + $fp = $data; + break; + case $mode & self::SOURCE_LOCAL_FILE: + if (!is_file($data)) { + user_error("$data is not a valid file"); + return false; + } + $fp = @fopen($data, 'rb'); + if (!$fp) { + return false; + } + } + + if (isset($fp)) { + $stat = fstat($fp); + $size = $stat['size']; + + if ($local_start >= 0) { + fseek($fp, $local_start); + $size-= $local_start; + } + } elseif ($dataCallback) { + $size = 0; + } else { + $size = strlen($data); + } + + $sent = 0; + $size = $size < 0 ? ($size & 0x7FFFFFFF) + 0x80000000 : $size; + + $sftp_packet_size = 4096; // PuTTY uses 4096 + // make the SFTP packet be exactly 4096 bytes by including the bytes in the NET_SFTP_WRITE packets "header" + $sftp_packet_size-= strlen($handle) + 25; + $i = 0; + while ($dataCallback || ($size === 0 || $sent < $size)) { + if ($dataCallback) { + $temp = call_user_func($dataCallback, $sftp_packet_size); + if (is_null($temp)) { + break; + } + } else { + $temp = isset($fp) ? fread($fp, $sftp_packet_size) : substr($data, $sent, $sftp_packet_size); + if ($temp === false || $temp === '') { + break; + } + } + + $subtemp = $offset + $sent; + $packet = pack('Na*N3a*', strlen($handle), $handle, $subtemp / 4294967296, $subtemp, strlen($temp), $temp); + if (!$this->_send_sftp_packet(NET_SFTP_WRITE, $packet)) { + if ($mode & self::SOURCE_LOCAL_FILE) { + fclose($fp); + } + return false; + } + $sent+= strlen($temp); + if (is_callable($progressCallback)) { + call_user_func($progressCallback, $sent); + } + + $i++; + + if ($i == NET_SFTP_QUEUE_SIZE) { + if (!$this->_read_put_responses($i)) { + $i = 0; + break; + } + $i = 0; + } + } + + if (!$this->_read_put_responses($i)) { + if ($mode & self::SOURCE_LOCAL_FILE) { + fclose($fp); + } + $this->_close_handle($handle); + return false; + } + + if ($mode & self::SOURCE_LOCAL_FILE) { + fclose($fp); + } + + return $this->_close_handle($handle); + } + + /** + * Reads multiple successive SSH_FXP_WRITE responses + * + * Sending an SSH_FXP_WRITE packet and immediately reading its response isn't as efficient as blindly sending out $i + * SSH_FXP_WRITEs, in succession, and then reading $i responses. + * + * @param int $i + * @return bool + * @access private + */ + function _read_put_responses($i) + { + while ($i--) { + $response = $this->_get_sftp_packet(); + if ($this->packet_type != NET_SFTP_STATUS) { + user_error('Expected SSH_FXP_STATUS'); + return false; + } + + extract(unpack('Nstatus', $this->_string_shift($response, 4))); + if ($status != NET_SFTP_STATUS_OK) { + $this->_logError($response, $status); + break; + } + } + + return $i < 0; + } + + /** + * Close handle + * + * @param string $handle + * @return bool + * @access private + */ + function _close_handle($handle) + { + if (!$this->_send_sftp_packet(NET_SFTP_CLOSE, pack('Na*', strlen($handle), $handle))) { + return false; + } + + // "The client MUST release all resources associated with the handle regardless of the status." + // -- http://tools.ietf.org/html/draft-ietf-secsh-filexfer-13#section-8.1.3 + $response = $this->_get_sftp_packet(); + if ($this->packet_type != NET_SFTP_STATUS) { + user_error('Expected SSH_FXP_STATUS'); + return false; + } + + extract(unpack('Nstatus', $this->_string_shift($response, 4))); + if ($status != NET_SFTP_STATUS_OK) { + $this->_logError($response, $status); + return false; + } + + return true; + } + + /** + * Downloads a file from the SFTP server. + * + * Returns a string containing the contents of $remote_file if $local_file is left undefined or a boolean false if + * the operation was unsuccessful. If $local_file is defined, returns true or false depending on the success of the + * operation. + * + * $offset and $length can be used to download files in chunks. + * + * @param string $remote_file + * @param string $local_file + * @param int $offset + * @param int $length + * @return mixed + * @access public + */ + function get($remote_file, $local_file = false, $offset = 0, $length = -1) + { + if (!($this->bitmap & SSH2::MASK_LOGIN)) { + return false; + } + + $remote_file = $this->_realpath($remote_file); + if ($remote_file === false) { + return false; + } + + $packet = pack('Na*N2', strlen($remote_file), $remote_file, NET_SFTP_OPEN_READ, 0); + if (!$this->_send_sftp_packet(NET_SFTP_OPEN, $packet)) { + return false; + } + + $response = $this->_get_sftp_packet(); + switch ($this->packet_type) { + case NET_SFTP_HANDLE: + $handle = substr($response, 4); + break; + case NET_SFTP_STATUS: // presumably SSH_FX_NO_SUCH_FILE or SSH_FX_PERMISSION_DENIED + $this->_logError($response); + return false; + default: + user_error('Expected SSH_FXP_HANDLE or SSH_FXP_STATUS'); + return false; + } + + if (is_resource($local_file)) { + $fp = $local_file; + $stat = fstat($fp); + $res_offset = $stat['size']; + } else { + $res_offset = 0; + if ($local_file !== false) { + $fp = fopen($local_file, 'wb'); + if (!$fp) { + return false; + } + } else { + $content = ''; + } + } + + $fclose_check = $local_file !== false && !is_resource($local_file); + + $start = $offset; + $read = 0; + while (true) { + $i = 0; + + while ($i < NET_SFTP_QUEUE_SIZE && ($length < 0 || $read < $length)) { + $tempoffset = $start + $read; + + $packet_size = $length > 0 ? min($this->max_sftp_packet, $length - $read) : $this->max_sftp_packet; + + $packet = pack('Na*N3', strlen($handle), $handle, $tempoffset / 4294967296, $tempoffset, $packet_size); + if (!$this->_send_sftp_packet(NET_SFTP_READ, $packet)) { + if ($fclose_check) { + fclose($fp); + } + return false; + } + $packet = null; + $read+= $packet_size; + $i++; + } + + if (!$i) { + break; + } + + $clear_responses = false; + while ($i > 0) { + $i--; + + if ($clear_responses) { + $this->_get_sftp_packet(); + continue; + } else { + $response = $this->_get_sftp_packet(); + } + + switch ($this->packet_type) { + case NET_SFTP_DATA: + $temp = substr($response, 4); + $offset+= strlen($temp); + if ($local_file === false) { + $content.= $temp; + } else { + fputs($fp, $temp); + } + $temp = null; + break; + case NET_SFTP_STATUS: + // could, in theory, return false if !strlen($content) but we'll hold off for the time being + $this->_logError($response); + $clear_responses = true; // don't break out of the loop yet, so we can read the remaining responses + break; + default: + if ($fclose_check) { + fclose($fp); + } + user_error('Expected SSH_FX_DATA or SSH_FXP_STATUS'); + } + $response = null; + } + + if ($clear_responses) { + break; + } + } + + if ($length > 0 && $length <= $offset - $start) { + if ($local_file === false) { + $content = substr($content, 0, $length); + } else { + ftruncate($fp, $length + $res_offset); + } + } + + if ($fclose_check) { + fclose($fp); + } + + if (!$this->_close_handle($handle)) { + return false; + } + + // if $content isn't set that means a file was written to + return isset($content) ? $content : true; + } + + /** + * Deletes a file on the SFTP server. + * + * @param string $path + * @param bool $recursive + * @return bool + * @access public + */ + function delete($path, $recursive = true) + { + if (!($this->bitmap & SSH2::MASK_LOGIN)) { + return false; + } + + $path = $this->_realpath($path); + if ($path === false) { + return false; + } + + // http://tools.ietf.org/html/draft-ietf-secsh-filexfer-13#section-8.3 + if (!$this->_send_sftp_packet(NET_SFTP_REMOVE, pack('Na*', strlen($path), $path))) { + return false; + } + + $response = $this->_get_sftp_packet(); + if ($this->packet_type != NET_SFTP_STATUS) { + user_error('Expected SSH_FXP_STATUS'); + return false; + } + + // if $status isn't SSH_FX_OK it's probably SSH_FX_NO_SUCH_FILE or SSH_FX_PERMISSION_DENIED + extract(unpack('Nstatus', $this->_string_shift($response, 4))); + if ($status != NET_SFTP_STATUS_OK) { + $this->_logError($response, $status); + if (!$recursive) { + return false; + } + $i = 0; + $result = $this->_delete_recursive($path, $i); + $this->_read_put_responses($i); + return $result; + } + + $this->_remove_from_stat_cache($path); + + return true; + } + + /** + * Recursively deletes directories on the SFTP server + * + * Minimizes directory lookups and SSH_FXP_STATUS requests for speed. + * + * @param string $path + * @param int $i + * @return bool + * @access private + */ + function _delete_recursive($path, &$i) + { + if (!$this->_read_put_responses($i)) { + return false; + } + $i = 0; + $entries = $this->_list($path, true); + + // normally $entries would have at least . and .. but it might not if the directories + // permissions didn't allow reading + if (empty($entries)) { + return false; + } + + unset($entries['.'], $entries['..']); + foreach ($entries as $filename => $props) { + if (!isset($props['type'])) { + return false; + } + + $temp = $path . '/' . $filename; + if ($props['type'] == NET_SFTP_TYPE_DIRECTORY) { + if (!$this->_delete_recursive($temp, $i)) { + return false; + } + } else { + if (!$this->_send_sftp_packet(NET_SFTP_REMOVE, pack('Na*', strlen($temp), $temp))) { + return false; + } + $this->_remove_from_stat_cache($temp); + + $i++; + + if ($i >= NET_SFTP_QUEUE_SIZE) { + if (!$this->_read_put_responses($i)) { + return false; + } + $i = 0; + } + } + } + + if (!$this->_send_sftp_packet(NET_SFTP_RMDIR, pack('Na*', strlen($path), $path))) { + return false; + } + $this->_remove_from_stat_cache($path); + + $i++; + + if ($i >= NET_SFTP_QUEUE_SIZE) { + if (!$this->_read_put_responses($i)) { + return false; + } + $i = 0; + } + + return true; + } + + /** + * Checks whether a file or directory exists + * + * @param string $path + * @return bool + * @access public + */ + function file_exists($path) + { + if ($this->use_stat_cache) { + $path = $this->_realpath($path); + + $result = $this->_query_stat_cache($path); + + if (isset($result)) { + // return true if $result is an array or if it's an stdClass object + return $result !== false; + } + } + + return $this->stat($path) !== false; + } + + /** + * Tells whether the filename is a directory + * + * @param string $path + * @return bool + * @access public + */ + function is_dir($path) + { + $result = $this->_get_stat_cache_prop($path, 'type'); + if ($result === false) { + return false; + } + return $result === NET_SFTP_TYPE_DIRECTORY; + } + + /** + * Tells whether the filename is a regular file + * + * @param string $path + * @return bool + * @access public + */ + function is_file($path) + { + $result = $this->_get_stat_cache_prop($path, 'type'); + if ($result === false) { + return false; + } + return $result === NET_SFTP_TYPE_REGULAR; + } + + /** + * Tells whether the filename is a symbolic link + * + * @param string $path + * @return bool + * @access public + */ + function is_link($path) + { + $result = $this->_get_lstat_cache_prop($path, 'type'); + if ($result === false) { + return false; + } + return $result === NET_SFTP_TYPE_SYMLINK; + } + + /** + * Tells whether a file exists and is readable + * + * @param string $path + * @return bool + * @access public + */ + function is_readable($path) + { + $path = $this->_realpath($path); + + $packet = pack('Na*N2', strlen($path), $path, NET_SFTP_OPEN_READ, 0); + if (!$this->_send_sftp_packet(NET_SFTP_OPEN, $packet)) { + return false; + } + + $response = $this->_get_sftp_packet(); + switch ($this->packet_type) { + case NET_SFTP_HANDLE: + return true; + case NET_SFTP_STATUS: // presumably SSH_FX_NO_SUCH_FILE or SSH_FX_PERMISSION_DENIED + return false; + default: + user_error('Expected SSH_FXP_HANDLE or SSH_FXP_STATUS'); + return false; + } + } + + /** + * Tells whether the filename is writable + * + * @param string $path + * @return bool + * @access public + */ + function is_writable($path) + { + $path = $this->_realpath($path); + + $packet = pack('Na*N2', strlen($path), $path, NET_SFTP_OPEN_WRITE, 0); + if (!$this->_send_sftp_packet(NET_SFTP_OPEN, $packet)) { + return false; + } + + $response = $this->_get_sftp_packet(); + switch ($this->packet_type) { + case NET_SFTP_HANDLE: + return true; + case NET_SFTP_STATUS: // presumably SSH_FX_NO_SUCH_FILE or SSH_FX_PERMISSION_DENIED + return false; + default: + user_error('Expected SSH_FXP_HANDLE or SSH_FXP_STATUS'); + return false; + } + } + + /** + * Tells whether the filename is writeable + * + * Alias of is_writable + * + * @param string $path + * @return bool + * @access public + */ + function is_writeable($path) + { + return $this->is_writable($path); + } + + /** + * Gets last access time of file + * + * @param string $path + * @return mixed + * @access public + */ + function fileatime($path) + { + return $this->_get_stat_cache_prop($path, 'atime'); + } + + /** + * Gets file modification time + * + * @param string $path + * @return mixed + * @access public + */ + function filemtime($path) + { + return $this->_get_stat_cache_prop($path, 'mtime'); + } + + /** + * Gets file permissions + * + * @param string $path + * @return mixed + * @access public + */ + function fileperms($path) + { + return $this->_get_stat_cache_prop($path, 'permissions'); + } + + /** + * Gets file owner + * + * @param string $path + * @return mixed + * @access public + */ + function fileowner($path) + { + return $this->_get_stat_cache_prop($path, 'uid'); + } + + /** + * Gets file group + * + * @param string $path + * @return mixed + * @access public + */ + function filegroup($path) + { + return $this->_get_stat_cache_prop($path, 'gid'); + } + + /** + * Gets file size + * + * @param string $path + * @return mixed + * @access public + */ + function filesize($path) + { + return $this->_get_stat_cache_prop($path, 'size'); + } + + /** + * Gets file type + * + * @param string $path + * @return mixed + * @access public + */ + function filetype($path) + { + $type = $this->_get_stat_cache_prop($path, 'type'); + if ($type === false) { + return false; + } + + switch ($type) { + case NET_SFTP_TYPE_BLOCK_DEVICE: + return 'block'; + case NET_SFTP_TYPE_CHAR_DEVICE: + return 'char'; + case NET_SFTP_TYPE_DIRECTORY: + return 'dir'; + case NET_SFTP_TYPE_FIFO: + return 'fifo'; + case NET_SFTP_TYPE_REGULAR: + return 'file'; + case NET_SFTP_TYPE_SYMLINK: + return 'link'; + default: + return false; + } + } + + /** + * Return a stat properity + * + * Uses cache if appropriate. + * + * @param string $path + * @param string $prop + * @return mixed + * @access private + */ + function _get_stat_cache_prop($path, $prop) + { + return $this->_get_xstat_cache_prop($path, $prop, 'stat'); + } + + /** + * Return an lstat properity + * + * Uses cache if appropriate. + * + * @param string $path + * @param string $prop + * @return mixed + * @access private + */ + function _get_lstat_cache_prop($path, $prop) + { + return $this->_get_xstat_cache_prop($path, $prop, 'lstat'); + } + + /** + * Return a stat or lstat properity + * + * Uses cache if appropriate. + * + * @param string $path + * @param string $prop + * @return mixed + * @access private + */ + function _get_xstat_cache_prop($path, $prop, $type) + { + if ($this->use_stat_cache) { + $path = $this->_realpath($path); + + $result = $this->_query_stat_cache($path); + + if (is_object($result) && isset($result->$type)) { + return $result->{$type}[$prop]; + } + } + + $result = $this->$type($path); + + if ($result === false || !isset($result[$prop])) { + return false; + } + + return $result[$prop]; + } + + /** + * Renames a file or a directory on the SFTP server + * + * @param string $oldname + * @param string $newname + * @return bool + * @access public + */ + function rename($oldname, $newname) + { + if (!($this->bitmap & SSH2::MASK_LOGIN)) { + return false; + } + + $oldname = $this->_realpath($oldname); + $newname = $this->_realpath($newname); + if ($oldname === false || $newname === false) { + return false; + } + + // http://tools.ietf.org/html/draft-ietf-secsh-filexfer-13#section-8.3 + $packet = pack('Na*Na*', strlen($oldname), $oldname, strlen($newname), $newname); + if (!$this->_send_sftp_packet(NET_SFTP_RENAME, $packet)) { + return false; + } + + $response = $this->_get_sftp_packet(); + if ($this->packet_type != NET_SFTP_STATUS) { + user_error('Expected SSH_FXP_STATUS'); + return false; + } + + // if $status isn't SSH_FX_OK it's probably SSH_FX_NO_SUCH_FILE or SSH_FX_PERMISSION_DENIED + extract(unpack('Nstatus', $this->_string_shift($response, 4))); + if ($status != NET_SFTP_STATUS_OK) { + $this->_logError($response, $status); + return false; + } + + // don't move the stat cache entry over since this operation could very well change the + // atime and mtime attributes + //$this->_update_stat_cache($newname, $this->_query_stat_cache($oldname)); + $this->_remove_from_stat_cache($oldname); + $this->_remove_from_stat_cache($newname); + + return true; + } + + /** + * Parse Attributes + * + * See '7. File Attributes' of draft-ietf-secsh-filexfer-13 for more info. + * + * @param string $response + * @return array + * @access private + */ + function _parseAttributes(&$response) + { + $attr = array(); + extract(unpack('Nflags', $this->_string_shift($response, 4))); + // SFTPv4+ have a type field (a byte) that follows the above flag field + foreach ($this->attributes as $key => $value) { + switch ($flags & $key) { + case NET_SFTP_ATTR_SIZE: // 0x00000001 + // The size attribute is defined as an unsigned 64-bit integer. + // The following will use floats on 32-bit platforms, if necessary. + // As can be seen in the BigInteger class, floats are generally + // IEEE 754 binary64 "double precision" on such platforms and + // as such can represent integers of at least 2^50 without loss + // of precision. Interpreted in filesize, 2^50 bytes = 1024 TiB. + $attr['size'] = hexdec(bin2hex($this->_string_shift($response, 8))); + break; + case NET_SFTP_ATTR_UIDGID: // 0x00000002 (SFTPv3 only) + $attr+= unpack('Nuid/Ngid', $this->_string_shift($response, 8)); + break; + case NET_SFTP_ATTR_PERMISSIONS: // 0x00000004 + $attr+= unpack('Npermissions', $this->_string_shift($response, 4)); + // mode == permissions; permissions was the original array key and is retained for bc purposes. + // mode was added because that's the more industry standard terminology + $attr+= array('mode' => $attr['permissions']); + $fileType = $this->_parseMode($attr['permissions']); + if ($fileType !== false) { + $attr+= array('type' => $fileType); + } + break; + case NET_SFTP_ATTR_ACCESSTIME: // 0x00000008 + $attr+= unpack('Natime/Nmtime', $this->_string_shift($response, 8)); + break; + case NET_SFTP_ATTR_EXTENDED: // 0x80000000 + extract(unpack('Ncount', $this->_string_shift($response, 4))); + for ($i = 0; $i < $count; $i++) { + extract(unpack('Nlength', $this->_string_shift($response, 4))); + $key = $this->_string_shift($response, $length); + extract(unpack('Nlength', $this->_string_shift($response, 4))); + $attr[$key] = $this->_string_shift($response, $length); + } + } + } + return $attr; + } + + /** + * Attempt to identify the file type + * + * Quoting the SFTP RFC, "Implementations MUST NOT send bits that are not defined" but they seem to anyway + * + * @param int $mode + * @return int + * @access private + */ + function _parseMode($mode) + { + // values come from http://lxr.free-electrons.com/source/include/uapi/linux/stat.h#L12 + // see, also, http://linux.die.net/man/2/stat + switch ($mode & 0170000) {// ie. 1111 0000 0000 0000 + case 0000000: // no file type specified - figure out the file type using alternative means + return false; + case 0040000: + return NET_SFTP_TYPE_DIRECTORY; + case 0100000: + return NET_SFTP_TYPE_REGULAR; + case 0120000: + return NET_SFTP_TYPE_SYMLINK; + // new types introduced in SFTPv5+ + // http://tools.ietf.org/html/draft-ietf-secsh-filexfer-05#section-5.2 + case 0010000: // named pipe (fifo) + return NET_SFTP_TYPE_FIFO; + case 0020000: // character special + return NET_SFTP_TYPE_CHAR_DEVICE; + case 0060000: // block special + return NET_SFTP_TYPE_BLOCK_DEVICE; + case 0140000: // socket + return NET_SFTP_TYPE_SOCKET; + case 0160000: // whiteout + // "SPECIAL should be used for files that are of + // a known type which cannot be expressed in the protocol" + return NET_SFTP_TYPE_SPECIAL; + default: + return NET_SFTP_TYPE_UNKNOWN; + } + } + + /** + * Parse Longname + * + * SFTPv3 doesn't provide any easy way of identifying a file type. You could try to open + * a file as a directory and see if an error is returned or you could try to parse the + * SFTPv3-specific longname field of the SSH_FXP_NAME packet. That's what this function does. + * The result is returned using the + * {@link http://tools.ietf.org/html/draft-ietf-secsh-filexfer-04#section-5.2 SFTPv4 type constants}. + * + * If the longname is in an unrecognized format bool(false) is returned. + * + * @param string $longname + * @return mixed + * @access private + */ + function _parseLongname($longname) + { + // http://en.wikipedia.org/wiki/Unix_file_types + // http://en.wikipedia.org/wiki/Filesystem_permissions#Notation_of_traditional_Unix_permissions + if (preg_match('#^[^/]([r-][w-][xstST-]){3}#', $longname)) { + switch ($longname[0]) { + case '-': + return NET_SFTP_TYPE_REGULAR; + case 'd': + return NET_SFTP_TYPE_DIRECTORY; + case 'l': + return NET_SFTP_TYPE_SYMLINK; + default: + return NET_SFTP_TYPE_SPECIAL; + } + } + + return false; + } + + /** + * Sends SFTP Packets + * + * See '6. General Packet Format' of draft-ietf-secsh-filexfer-13 for more info. + * + * @param int $type + * @param string $data + * @see self::_get_sftp_packet() + * @see self::_send_channel_packet() + * @return bool + * @access private + */ + function _send_sftp_packet($type, $data) + { + $packet = $this->request_id !== false ? + pack('NCNa*', strlen($data) + 5, $type, $this->request_id, $data) : + pack('NCa*', strlen($data) + 1, $type, $data); + + $start = strtok(microtime(), ' ') + strtok(''); // http://php.net/microtime#61838 + $result = $this->_send_channel_packet(self::CHANNEL, $packet); + $stop = strtok(microtime(), ' ') + strtok(''); + + if (defined('NET_SFTP_LOGGING')) { + $packet_type = '-> ' . $this->packet_types[$type] . + ' (' . round($stop - $start, 4) . 's)'; + if (NET_SFTP_LOGGING == NET_SFTP_LOG_REALTIME) { + echo "<pre>\r\n" . $this->_format_log(array($data), array($packet_type)) . "\r\n</pre>\r\n"; + flush(); + ob_flush(); + } else { + $this->packet_type_log[] = $packet_type; + if (NET_SFTP_LOGGING == NET_SFTP_LOG_COMPLEX) { + $this->packet_log[] = $data; + } + } + } + + return $result; + } + + /** + * Receives SFTP Packets + * + * See '6. General Packet Format' of draft-ietf-secsh-filexfer-13 for more info. + * + * Incidentally, the number of SSH_MSG_CHANNEL_DATA messages has no bearing on the number of SFTP packets present. + * There can be one SSH_MSG_CHANNEL_DATA messages containing two SFTP packets or there can be two SSH_MSG_CHANNEL_DATA + * messages containing one SFTP packet. + * + * @see self::_send_sftp_packet() + * @return string + * @access private + */ + function _get_sftp_packet() + { + $this->curTimeout = false; + + $start = strtok(microtime(), ' ') + strtok(''); // http://php.net/microtime#61838 + + // SFTP packet length + while (strlen($this->packet_buffer) < 4) { + $temp = $this->_get_channel_packet(self::CHANNEL); + if (is_bool($temp)) { + $this->packet_type = false; + $this->packet_buffer = ''; + return false; + } + $this->packet_buffer.= $temp; + } + extract(unpack('Nlength', $this->_string_shift($this->packet_buffer, 4))); + $tempLength = $length; + $tempLength-= strlen($this->packet_buffer); + + // SFTP packet type and data payload + while ($tempLength > 0) { + $temp = $this->_get_channel_packet(self::CHANNEL); + if (is_bool($temp)) { + $this->packet_type = false; + $this->packet_buffer = ''; + return false; + } + $this->packet_buffer.= $temp; + $tempLength-= strlen($temp); + } + + $stop = strtok(microtime(), ' ') + strtok(''); + + $this->packet_type = ord($this->_string_shift($this->packet_buffer)); + + if ($this->request_id !== false) { + $this->_string_shift($this->packet_buffer, 4); // remove the request id + $length-= 5; // account for the request id and the packet type + } else { + $length-= 1; // account for the packet type + } + + $packet = $this->_string_shift($this->packet_buffer, $length); + + if (defined('NET_SFTP_LOGGING')) { + $packet_type = '<- ' . $this->packet_types[$this->packet_type] . + ' (' . round($stop - $start, 4) . 's)'; + if (NET_SFTP_LOGGING == NET_SFTP_LOG_REALTIME) { + echo "<pre>\r\n" . $this->_format_log(array($packet), array($packet_type)) . "\r\n</pre>\r\n"; + flush(); + ob_flush(); + } else { + $this->packet_type_log[] = $packet_type; + if (NET_SFTP_LOGGING == NET_SFTP_LOG_COMPLEX) { + $this->packet_log[] = $packet; + } + } + } + + return $packet; + } + + /** + * Returns a log of the packets that have been sent and received. + * + * Returns a string if NET_SFTP_LOGGING == NET_SFTP_LOG_COMPLEX, an array if NET_SFTP_LOGGING == NET_SFTP_LOG_SIMPLE and false if !defined('NET_SFTP_LOGGING') + * + * @access public + * @return string or Array + */ + function getSFTPLog() + { + if (!defined('NET_SFTP_LOGGING')) { + return false; + } + + switch (NET_SFTP_LOGGING) { + case NET_SFTP_LOG_COMPLEX: + return $this->_format_log($this->packet_log, $this->packet_type_log); + break; + //case NET_SFTP_LOG_SIMPLE: + default: + return $this->packet_type_log; + } + } + + /** + * Returns all errors + * + * @return string + * @access public + */ + function getSFTPErrors() + { + return $this->sftp_errors; + } + + /** + * Returns the last error + * + * @return string + * @access public + */ + function getLastSFTPError() + { + return count($this->sftp_errors) ? $this->sftp_errors[count($this->sftp_errors) - 1] : ''; + } + + /** + * Get supported SFTP versions + * + * @return array + * @access public + */ + function getSupportedVersions() + { + $temp = array('version' => $this->version); + if (isset($this->extensions['versions'])) { + $temp['extensions'] = $this->extensions['versions']; + } + return $temp; + } + + /** + * Disconnect + * + * @param int $reason + * @return bool + * @access private + */ + function _disconnect($reason) + { + $this->pwd = false; + parent::_disconnect($reason); + } +} diff --git a/vendor/phpseclib/phpseclib/phpseclib/Net/SFTP/Stream.php b/vendor/phpseclib/phpseclib/phpseclib/Net/SFTP/Stream.php new file mode 100644 index 00000000..08d726ca --- /dev/null +++ b/vendor/phpseclib/phpseclib/phpseclib/Net/SFTP/Stream.php @@ -0,0 +1,795 @@ +<?php + +/** + * SFTP Stream Wrapper + * + * Creates an sftp:// protocol handler that can be used with, for example, fopen(), dir(), etc. + * + * PHP version 5 + * + * @category Net + * @package SFTP + * @author Jim Wigginton <terrafrost@php.net> + * @copyright 2013 Jim Wigginton + * @license http://www.opensource.org/licenses/mit-license.html MIT License + * @link http://phpseclib.sourceforge.net + */ + +namespace phpseclib\Net\SFTP; + +use phpseclib\Crypt\RSA; +use phpseclib\Net\SFTP; + +/** + * SFTP Stream Wrapper + * + * @package SFTP + * @author Jim Wigginton <terrafrost@php.net> + * @access public + */ +class Stream +{ + /** + * SFTP instances + * + * Rather than re-create the connection we re-use instances if possible + * + * @var array + */ + static $instances; + + /** + * SFTP instance + * + * @var object + * @access private + */ + var $sftp; + + /** + * Path + * + * @var string + * @access private + */ + var $path; + + /** + * Mode + * + * @var string + * @access private + */ + var $mode; + + /** + * Position + * + * @var int + * @access private + */ + var $pos; + + /** + * Size + * + * @var int + * @access private + */ + var $size; + + /** + * Directory entries + * + * @var array + * @access private + */ + var $entries; + + /** + * EOF flag + * + * @var bool + * @access private + */ + var $eof; + + /** + * Context resource + * + * Technically this needs to be publically accessible so PHP can set it directly + * + * @var resource + * @access public + */ + var $context; + + /** + * Notification callback function + * + * @var callable + * @access public + */ + var $notification; + + /** + * Registers this class as a URL wrapper. + * + * @param string $protocol The wrapper name to be registered. + * @return bool True on success, false otherwise. + * @access public + */ + static function register($protocol = 'sftp') + { + if (in_array($protocol, stream_get_wrappers(), true)) { + return false; + } + return stream_wrapper_register($protocol, get_called_class()); + } + + /** + * The Constructor + * + * @access public + */ + function __construct() + { + if (defined('NET_SFTP_STREAM_LOGGING')) { + echo "__construct()\r\n"; + } + } + + /** + * Path Parser + * + * Extract a path from a URI and actually connect to an SSH server if appropriate + * + * If "notification" is set as a context parameter the message code for successful login is + * NET_SSH2_MSG_USERAUTH_SUCCESS. For a failed login it's NET_SSH2_MSG_USERAUTH_FAILURE. + * + * @param string $path + * @return string + * @access private + */ + function _parse_path($path) + { + $orig = $path; + extract(parse_url($path) + array('port' => 22)); + if (isset($query)) { + $path.= '?' . $query; + } elseif (preg_match('/(\?|\?#)$/', $orig)) { + $path.= '?'; + } + if (isset($fragment)) { + $path.= '#' . $fragment; + } elseif ($orig[strlen($orig) - 1] == '#') { + $path.= '#'; + } + + if (!isset($host)) { + return false; + } + + if (isset($this->context)) { + $context = stream_context_get_params($this->context); + if (isset($context['notification'])) { + $this->notification = $context['notification']; + } + } + + if ($host[0] == '$') { + $host = substr($host, 1); + global $$host; + if (($$host instanceof SFTP) === false) { + return false; + } + $this->sftp = $$host; + } else { + if (isset($this->context)) { + $context = stream_context_get_options($this->context); + } + if (isset($context[$scheme]['session'])) { + $sftp = $context[$scheme]['session']; + } + if (isset($context[$scheme]['sftp'])) { + $sftp = $context[$scheme]['sftp']; + } + if (isset($sftp) && $sftp instanceof SFTP) { + $this->sftp = $sftp; + return $path; + } + if (isset($context[$scheme]['username'])) { + $user = $context[$scheme]['username']; + } + if (isset($context[$scheme]['password'])) { + $pass = $context[$scheme]['password']; + } + if (isset($context[$scheme]['privkey']) && $context[$scheme]['privkey'] instanceof RSA) { + $pass = $context[$scheme]['privkey']; + } + + if (!isset($user) || !isset($pass)) { + return false; + } + + // casting $pass to a string is necessary in the event that it's a \phpseclib\Crypt\RSA object + if (isset(self::$instances[$host][$port][$user][(string) $pass])) { + $this->sftp = self::$instances[$host][$port][$user][(string) $pass]; + } else { + $this->sftp = new SFTP($host, $port); + $this->sftp->disableStatCache(); + if (isset($this->notification) && is_callable($this->notification)) { + /* if !is_callable($this->notification) we could do this: + + user_error('fopen(): failed to call user notifier', E_USER_WARNING); + + the ftp wrapper gives errors like that when the notifier isn't callable. + i've opted not to do that, however, since the ftp wrapper gives the line + on which the fopen occurred as the line number - not the line that the + user_error is on. + */ + call_user_func($this->notification, STREAM_NOTIFY_CONNECT, STREAM_NOTIFY_SEVERITY_INFO, '', 0, 0, 0); + call_user_func($this->notification, STREAM_NOTIFY_AUTH_REQUIRED, STREAM_NOTIFY_SEVERITY_INFO, '', 0, 0, 0); + if (!$this->sftp->login($user, $pass)) { + call_user_func($this->notification, STREAM_NOTIFY_AUTH_RESULT, STREAM_NOTIFY_SEVERITY_ERR, 'Login Failure', NET_SSH2_MSG_USERAUTH_FAILURE, 0, 0); + return false; + } + call_user_func($this->notification, STREAM_NOTIFY_AUTH_RESULT, STREAM_NOTIFY_SEVERITY_INFO, 'Login Success', NET_SSH2_MSG_USERAUTH_SUCCESS, 0, 0); + } else { + if (!$this->sftp->login($user, $pass)) { + return false; + } + } + self::$instances[$host][$port][$user][(string) $pass] = $this->sftp; + } + } + + return $path; + } + + /** + * Opens file or URL + * + * @param string $path + * @param string $mode + * @param int $options + * @param string $opened_path + * @return bool + * @access public + */ + function _stream_open($path, $mode, $options, &$opened_path) + { + $path = $this->_parse_path($path); + + if ($path === false) { + return false; + } + $this->path = $path; + + $this->size = $this->sftp->size($path); + $this->mode = preg_replace('#[bt]$#', '', $mode); + $this->eof = false; + + if ($this->size === false) { + if ($this->mode[0] == 'r') { + return false; + } else { + $this->sftp->touch($path); + $this->size = 0; + } + } else { + switch ($this->mode[0]) { + case 'x': + return false; + case 'w': + $this->sftp->truncate($path, 0); + $this->size = 0; + } + } + + $this->pos = $this->mode[0] != 'a' ? 0 : $this->size; + + return true; + } + + /** + * Read from stream + * + * @param int $count + * @return mixed + * @access public + */ + function _stream_read($count) + { + switch ($this->mode) { + case 'w': + case 'a': + case 'x': + case 'c': + return false; + } + + // commented out because some files - eg. /dev/urandom - will say their size is 0 when in fact it's kinda infinite + //if ($this->pos >= $this->size) { + // $this->eof = true; + // return false; + //} + + $result = $this->sftp->get($this->path, false, $this->pos, $count); + if (isset($this->notification) && is_callable($this->notification)) { + if ($result === false) { + call_user_func($this->notification, STREAM_NOTIFY_FAILURE, STREAM_NOTIFY_SEVERITY_ERR, $this->sftp->getLastSFTPError(), NET_SFTP_OPEN, 0, 0); + return 0; + } + // seems that PHP calls stream_read in 8k chunks + call_user_func($this->notification, STREAM_NOTIFY_PROGRESS, STREAM_NOTIFY_SEVERITY_INFO, '', 0, strlen($result), $this->size); + } + + if (empty($result)) { // ie. false or empty string + $this->eof = true; + return false; + } + $this->pos+= strlen($result); + + return $result; + } + + /** + * Write to stream + * + * @param string $data + * @return mixed + * @access public + */ + function _stream_write($data) + { + switch ($this->mode) { + case 'r': + return false; + } + + $result = $this->sftp->put($this->path, $data, SFTP::SOURCE_STRING, $this->pos); + if (isset($this->notification) && is_callable($this->notification)) { + if (!$result) { + call_user_func($this->notification, STREAM_NOTIFY_FAILURE, STREAM_NOTIFY_SEVERITY_ERR, $this->sftp->getLastSFTPError(), NET_SFTP_OPEN, 0, 0); + return 0; + } + // seems that PHP splits up strings into 8k blocks before calling stream_write + call_user_func($this->notification, STREAM_NOTIFY_PROGRESS, STREAM_NOTIFY_SEVERITY_INFO, '', 0, strlen($data), strlen($data)); + } + + if ($result === false) { + return false; + } + $this->pos+= strlen($data); + if ($this->pos > $this->size) { + $this->size = $this->pos; + } + $this->eof = false; + return strlen($data); + } + + /** + * Retrieve the current position of a stream + * + * @return int + * @access public + */ + function _stream_tell() + { + return $this->pos; + } + + /** + * Tests for end-of-file on a file pointer + * + * In my testing there are four classes functions that normally effect the pointer: + * fseek, fputs / fwrite, fgets / fread and ftruncate. + * + * Only fgets / fread, however, results in feof() returning true. do fputs($fp, 'aaa') on a blank file and feof() + * will return false. do fread($fp, 1) and feof() will then return true. do fseek($fp, 10) on ablank file and feof() + * will return false. do fread($fp, 1) and feof() will then return true. + * + * @return bool + * @access public + */ + function _stream_eof() + { + return $this->eof; + } + + /** + * Seeks to specific location in a stream + * + * @param int $offset + * @param int $whence + * @return bool + * @access public + */ + function _stream_seek($offset, $whence) + { + switch ($whence) { + case SEEK_SET: + if ($offset >= $this->size || $offset < 0) { + return false; + } + break; + case SEEK_CUR: + $offset+= $this->pos; + break; + case SEEK_END: + $offset+= $this->size; + } + + $this->pos = $offset; + $this->eof = false; + return true; + } + + /** + * Change stream options + * + * @param string $path + * @param int $option + * @param mixed $var + * @return bool + * @access public + */ + function _stream_metadata($path, $option, $var) + { + $path = $this->_parse_path($path); + if ($path === false) { + return false; + } + + // stream_metadata was introduced in PHP 5.4.0 but as of 5.4.11 the constants haven't been defined + // see http://www.php.net/streamwrapper.stream-metadata and https://bugs.php.net/64246 + // and https://github.com/php/php-src/blob/master/main/php_streams.h#L592 + switch ($option) { + case 1: // PHP_STREAM_META_TOUCH + return $this->sftp->touch($path, $var[0], $var[1]); + case 2: // PHP_STREAM_OWNER_NAME + case 3: // PHP_STREAM_GROUP_NAME + return false; + case 4: // PHP_STREAM_META_OWNER + return $this->sftp->chown($path, $var); + case 5: // PHP_STREAM_META_GROUP + return $this->sftp->chgrp($path, $var); + case 6: // PHP_STREAM_META_ACCESS + return $this->sftp->chmod($path, $var) !== false; + } + } + + /** + * Retrieve the underlaying resource + * + * @param int $cast_as + * @return resource + * @access public + */ + function _stream_cast($cast_as) + { + return $this->sftp->fsock; + } + + /** + * Advisory file locking + * + * @param int $operation + * @return bool + * @access public + */ + function _stream_lock($operation) + { + return false; + } + + /** + * Renames a file or directory + * + * Attempts to rename oldname to newname, moving it between directories if necessary. + * If newname exists, it will be overwritten. This is a departure from what \phpseclib\Net\SFTP + * does. + * + * @param string $path_from + * @param string $path_to + * @return bool + * @access public + */ + function _rename($path_from, $path_to) + { + $path1 = parse_url($path_from); + $path2 = parse_url($path_to); + unset($path1['path'], $path2['path']); + if ($path1 != $path2) { + return false; + } + + $path_from = $this->_parse_path($path_from); + $path_to = parse_url($path_to); + if ($path_from === false) { + return false; + } + + $path_to = $path_to['path']; // the $component part of parse_url() was added in PHP 5.1.2 + // "It is an error if there already exists a file with the name specified by newpath." + // -- http://tools.ietf.org/html/draft-ietf-secsh-filexfer-02#section-6.5 + if (!$this->sftp->rename($path_from, $path_to)) { + if ($this->sftp->stat($path_to)) { + return $this->sftp->delete($path_to, true) && $this->sftp->rename($path_from, $path_to); + } + return false; + } + + return true; + } + + /** + * Open directory handle + * + * The only $options is "whether or not to enforce safe_mode (0x04)". Since safe mode was deprecated in 5.3 and + * removed in 5.4 I'm just going to ignore it. + * + * Also, nlist() is the best that this function is realistically going to be able to do. When an SFTP client + * sends a SSH_FXP_READDIR packet you don't generally get info on just one file but on multiple files. Quoting + * the SFTP specs: + * + * The SSH_FXP_NAME response has the following format: + * + * uint32 id + * uint32 count + * repeats count times: + * string filename + * string longname + * ATTRS attrs + * + * @param string $path + * @param int $options + * @return bool + * @access public + */ + function _dir_opendir($path, $options) + { + $path = $this->_parse_path($path); + if ($path === false) { + return false; + } + $this->pos = 0; + $this->entries = $this->sftp->nlist($path); + return $this->entries !== false; + } + + /** + * Read entry from directory handle + * + * @return mixed + * @access public + */ + function _dir_readdir() + { + if (isset($this->entries[$this->pos])) { + return $this->entries[$this->pos++]; + } + return false; + } + + /** + * Rewind directory handle + * + * @return bool + * @access public + */ + function _dir_rewinddir() + { + $this->pos = 0; + return true; + } + + /** + * Close directory handle + * + * @return bool + * @access public + */ + function _dir_closedir() + { + return true; + } + + /** + * Create a directory + * + * Only valid $options is STREAM_MKDIR_RECURSIVE + * + * @param string $path + * @param int $mode + * @param int $options + * @return bool + * @access public + */ + function _mkdir($path, $mode, $options) + { + $path = $this->_parse_path($path); + if ($path === false) { + return false; + } + + return $this->sftp->mkdir($path, $mode, $options & STREAM_MKDIR_RECURSIVE); + } + + /** + * Removes a directory + * + * Only valid $options is STREAM_MKDIR_RECURSIVE per <http://php.net/streamwrapper.rmdir>, however, + * <http://php.net/rmdir> does not have a $recursive parameter as mkdir() does so I don't know how + * STREAM_MKDIR_RECURSIVE is supposed to be set. Also, when I try it out with rmdir() I get 8 as + * $options. What does 8 correspond to? + * + * @param string $path + * @param int $mode + * @param int $options + * @return bool + * @access public + */ + function _rmdir($path, $options) + { + $path = $this->_parse_path($path); + if ($path === false) { + return false; + } + + return $this->sftp->rmdir($path); + } + + /** + * Flushes the output + * + * See <http://php.net/fflush>. Always returns true because \phpseclib\Net\SFTP doesn't cache stuff before writing + * + * @return bool + * @access public + */ + function _stream_flush() + { + return true; + } + + /** + * Retrieve information about a file resource + * + * @return mixed + * @access public + */ + function _stream_stat() + { + $results = $this->sftp->stat($this->path); + if ($results === false) { + return false; + } + return $results; + } + + /** + * Delete a file + * + * @param string $path + * @return bool + * @access public + */ + function _unlink($path) + { + $path = $this->_parse_path($path); + if ($path === false) { + return false; + } + + return $this->sftp->delete($path, false); + } + + /** + * Retrieve information about a file + * + * Ignores the STREAM_URL_STAT_QUIET flag because the entirety of \phpseclib\Net\SFTP\Stream is quiet by default + * might be worthwhile to reconstruct bits 12-16 (ie. the file type) if mode doesn't have them but we'll + * cross that bridge when and if it's reached + * + * @param string $path + * @param int $flags + * @return mixed + * @access public + */ + function _url_stat($path, $flags) + { + $path = $this->_parse_path($path); + if ($path === false) { + return false; + } + + $results = $flags & STREAM_URL_STAT_LINK ? $this->sftp->lstat($path) : $this->sftp->stat($path); + if ($results === false) { + return false; + } + + return $results; + } + + /** + * Truncate stream + * + * @param int $new_size + * @return bool + * @access public + */ + function _stream_truncate($new_size) + { + if (!$this->sftp->truncate($this->path, $new_size)) { + return false; + } + + $this->eof = false; + $this->size = $new_size; + + return true; + } + + /** + * Change stream options + * + * STREAM_OPTION_WRITE_BUFFER isn't supported for the same reason stream_flush isn't. + * The other two aren't supported because of limitations in \phpseclib\Net\SFTP. + * + * @param int $option + * @param int $arg1 + * @param int $arg2 + * @return bool + * @access public + */ + function _stream_set_option($option, $arg1, $arg2) + { + return false; + } + + /** + * Close an resource + * + * @access public + */ + function _stream_close() + { + } + + /** + * __call Magic Method + * + * When you're utilizing an SFTP stream you're not calling the methods in this class directly - PHP is calling them for you. + * Which kinda begs the question... what methods is PHP calling and what parameters is it passing to them? This function + * lets you figure that out. + * + * If NET_SFTP_STREAM_LOGGING is defined all calls will be output on the screen and then (regardless of whether or not + * NET_SFTP_STREAM_LOGGING is enabled) the parameters will be passed through to the appropriate method. + * + * @param string + * @param array + * @return mixed + * @access public + */ + function __call($name, $arguments) + { + if (defined('NET_SFTP_STREAM_LOGGING')) { + echo $name . '('; + $last = count($arguments) - 1; + foreach ($arguments as $i => $argument) { + var_export($argument); + if ($i != $last) { + echo ','; + } + } + echo ")\r\n"; + } + $name = '_' . $name; + if (!method_exists($this, $name)) { + return false; + } + return call_user_func_array(array($this, $name), $arguments); + } +} diff --git a/vendor/phpseclib/phpseclib/phpseclib/Net/SSH1.php b/vendor/phpseclib/phpseclib/phpseclib/Net/SSH1.php new file mode 100644 index 00000000..cc108a94 --- /dev/null +++ b/vendor/phpseclib/phpseclib/phpseclib/Net/SSH1.php @@ -0,0 +1,1614 @@ +<?php + +/** + * Pure-PHP implementation of SSHv1. + * + * PHP version 5 + * + * Here's a short example of how to use this library: + * <code> + * <?php + * include 'vendor/autoload.php'; + * + * $ssh = new \phpseclib\Net\SSH1('www.domain.tld'); + * if (!$ssh->login('username', 'password')) { + * exit('Login Failed'); + * } + * + * echo $ssh->exec('ls -la'); + * ?> + * </code> + * + * Here's another short example: + * <code> + * <?php + * include 'vendor/autoload.php'; + * + * $ssh = new \phpseclib\Net\SSH1('www.domain.tld'); + * if (!$ssh->login('username', 'password')) { + * exit('Login Failed'); + * } + * + * echo $ssh->read('username@username:~$'); + * $ssh->write("ls -la\n"); + * echo $ssh->read('username@username:~$'); + * ?> + * </code> + * + * More information on the SSHv1 specification can be found by reading + * {@link http://www.snailbook.com/docs/protocol-1.5.txt protocol-1.5.txt}. + * + * @category Net + * @package SSH1 + * @author Jim Wigginton <terrafrost@php.net> + * @copyright 2007 Jim Wigginton + * @license http://www.opensource.org/licenses/mit-license.html MIT License + * @link http://phpseclib.sourceforge.net + */ + +namespace phpseclib\Net; + +use phpseclib\Crypt\DES; +use phpseclib\Crypt\Random; +use phpseclib\Crypt\TripleDES; +use phpseclib\Math\BigInteger; + +/** + * Pure-PHP implementation of SSHv1. + * + * @package SSH1 + * @author Jim Wigginton <terrafrost@php.net> + * @access public + */ +class SSH1 +{ + /**#@+ + * Encryption Methods + * + * @see \phpseclib\Net\SSH1::getSupportedCiphers() + * @access public + */ + /** + * No encryption + * + * Not supported. + */ + const CIPHER_NONE = 0; + /** + * IDEA in CFB mode + * + * Not supported. + */ + const CIPHER_IDEA = 1; + /** + * DES in CBC mode + */ + const CIPHER_DES = 2; + /** + * Triple-DES in CBC mode + * + * All implementations are required to support this + */ + const CIPHER_3DES = 3; + /** + * TRI's Simple Stream encryption CBC + * + * Not supported nor is it defined in the official SSH1 specs. OpenSSH, however, does define it (see cipher.h), + * although it doesn't use it (see cipher.c) + */ + const CIPHER_BROKEN_TSS = 4; + /** + * RC4 + * + * Not supported. + * + * @internal According to the SSH1 specs: + * + * "The first 16 bytes of the session key are used as the key for + * the server to client direction. The remaining 16 bytes are used + * as the key for the client to server direction. This gives + * independent 128-bit keys for each direction." + * + * This library currently only supports encryption when the same key is being used for both directions. This is + * because there's only one $crypto object. Two could be added ($encrypt and $decrypt, perhaps). + */ + const CIPHER_RC4 = 5; + /** + * Blowfish + * + * Not supported nor is it defined in the official SSH1 specs. OpenSSH, however, defines it (see cipher.h) and + * uses it (see cipher.c) + */ + const CIPHER_BLOWFISH = 6; + /**#@-*/ + + /**#@+ + * Authentication Methods + * + * @see \phpseclib\Net\SSH1::getSupportedAuthentications() + * @access public + */ + /** + * .rhosts or /etc/hosts.equiv + */ + const AUTH_RHOSTS = 1; + /** + * pure RSA authentication + */ + const AUTH_RSA = 2; + /** + * password authentication + * + * This is the only method that is supported by this library. + */ + const AUTH_PASSWORD = 3; + /** + * .rhosts with RSA host authentication + */ + const AUTH_RHOSTS_RSA = 4; + /**#@-*/ + + /**#@+ + * Terminal Modes + * + * @link http://3sp.com/content/developer/maverick-net/docs/Maverick.SSH.PseudoTerminalModesMembers.html + * @access private + */ + const TTY_OP_END = 0; + /**#@-*/ + + /** + * The Response Type + * + * @see \phpseclib\Net\SSH1::_get_binary_packet() + * @access private + */ + const RESPONSE_TYPE = 1; + + /** + * The Response Data + * + * @see \phpseclib\Net\SSH1::_get_binary_packet() + * @access private + */ + const RESPONSE_DATA = 2; + + /**#@+ + * Execution Bitmap Masks + * + * @see \phpseclib\Net\SSH1::bitmap + * @access private + */ + const MASK_CONSTRUCTOR = 0x00000001; + const MASK_CONNECTED = 0x00000002; + const MASK_LOGIN = 0x00000004; + const MASK_SHELL = 0x00000008; + /**#@-*/ + + /**#@+ + * @access public + * @see \phpseclib\Net\SSH1::getLog() + */ + /** + * Returns the message numbers + */ + const LOG_SIMPLE = 1; + /** + * Returns the message content + */ + const LOG_COMPLEX = 2; + /** + * Outputs the content real-time + */ + const LOG_REALTIME = 3; + /** + * Dumps the content real-time to a file + */ + const LOG_REALTIME_FILE = 4; + /**#@-*/ + + /**#@+ + * @access public + * @see \phpseclib\Net\SSH1::read() + */ + /** + * Returns when a string matching $expect exactly is found + */ + const READ_SIMPLE = 1; + /** + * Returns when a string matching the regular expression $expect is found + */ + const READ_REGEX = 2; + /**#@-*/ + + /** + * The SSH identifier + * + * @var string + * @access private + */ + var $identifier = 'SSH-1.5-phpseclib'; + + /** + * The Socket Object + * + * @var object + * @access private + */ + var $fsock; + + /** + * The cryptography object + * + * @var object + * @access private + */ + var $crypto = false; + + /** + * Execution Bitmap + * + * The bits that are set represent functions that have been called already. This is used to determine + * if a requisite function has been successfully executed. If not, an error should be thrown. + * + * @var int + * @access private + */ + var $bitmap = 0; + + /** + * The Server Key Public Exponent + * + * Logged for debug purposes + * + * @see self::getServerKeyPublicExponent() + * @var string + * @access private + */ + var $server_key_public_exponent; + + /** + * The Server Key Public Modulus + * + * Logged for debug purposes + * + * @see self::getServerKeyPublicModulus() + * @var string + * @access private + */ + var $server_key_public_modulus; + + /** + * The Host Key Public Exponent + * + * Logged for debug purposes + * + * @see self::getHostKeyPublicExponent() + * @var string + * @access private + */ + var $host_key_public_exponent; + + /** + * The Host Key Public Modulus + * + * Logged for debug purposes + * + * @see self::getHostKeyPublicModulus() + * @var string + * @access private + */ + var $host_key_public_modulus; + + /** + * Supported Ciphers + * + * Logged for debug purposes + * + * @see self::getSupportedCiphers() + * @var array + * @access private + */ + var $supported_ciphers = array( + self::CIPHER_NONE => 'No encryption', + self::CIPHER_IDEA => 'IDEA in CFB mode', + self::CIPHER_DES => 'DES in CBC mode', + self::CIPHER_3DES => 'Triple-DES in CBC mode', + self::CIPHER_BROKEN_TSS => 'TRI\'s Simple Stream encryption CBC', + self::CIPHER_RC4 => 'RC4', + self::CIPHER_BLOWFISH => 'Blowfish' + ); + + /** + * Supported Authentications + * + * Logged for debug purposes + * + * @see self::getSupportedAuthentications() + * @var array + * @access private + */ + var $supported_authentications = array( + self::AUTH_RHOSTS => '.rhosts or /etc/hosts.equiv', + self::AUTH_RSA => 'pure RSA authentication', + self::AUTH_PASSWORD => 'password authentication', + self::AUTH_RHOSTS_RSA => '.rhosts with RSA host authentication' + ); + + /** + * Server Identification + * + * @see self::getServerIdentification() + * @var string + * @access private + */ + var $server_identification = ''; + + /** + * Protocol Flags + * + * @see self::__construct() + * @var array + * @access private + */ + var $protocol_flags = array(); + + /** + * Protocol Flag Log + * + * @see self::getLog() + * @var array + * @access private + */ + var $protocol_flag_log = array(); + + /** + * Message Log + * + * @see self::getLog() + * @var array + * @access private + */ + var $message_log = array(); + + /** + * Real-time log file pointer + * + * @see self::_append_log() + * @var resource + * @access private + */ + var $realtime_log_file; + + /** + * Real-time log file size + * + * @see self::_append_log() + * @var int + * @access private + */ + var $realtime_log_size; + + /** + * Real-time log file wrap boolean + * + * @see self::_append_log() + * @var bool + * @access private + */ + var $realtime_log_wrap; + + /** + * Interactive Buffer + * + * @see self::read() + * @var array + * @access private + */ + var $interactiveBuffer = ''; + + /** + * Timeout + * + * @see self::setTimeout() + * @access private + */ + var $timeout; + + /** + * Current Timeout + * + * @see self::_get_channel_packet() + * @access private + */ + var $curTimeout; + + /** + * Log Boundary + * + * @see self::_format_log() + * @access private + */ + var $log_boundary = ':'; + + /** + * Log Long Width + * + * @see self::_format_log() + * @access private + */ + var $log_long_width = 65; + + /** + * Log Short Width + * + * @see self::_format_log() + * @access private + */ + var $log_short_width = 16; + + /** + * Hostname + * + * @see self::__construct() + * @see self::_connect() + * @var string + * @access private + */ + var $host; + + /** + * Port Number + * + * @see self::__construct() + * @see self::_connect() + * @var int + * @access private + */ + var $port; + + /** + * Timeout for initial connection + * + * Set by the constructor call. Calling setTimeout() is optional. If it's not called functions like + * exec() won't timeout unless some PHP setting forces it too. The timeout specified in the constructor, + * however, is non-optional. There will be a timeout, whether or not you set it. If you don't it'll be + * 10 seconds. It is used by fsockopen() in that function. + * + * @see self::__construct() + * @see self::_connect() + * @var int + * @access private + */ + var $connectionTimeout; + + /** + * Default cipher + * + * @see self::__construct() + * @see self::_connect() + * @var int + * @access private + */ + var $cipher; + + /** + * Default Constructor. + * + * Connects to an SSHv1 server + * + * @param string $host + * @param int $port + * @param int $timeout + * @param int $cipher + * @return \phpseclib\Net\SSH1 + * @access public + */ + function __construct($host, $port = 22, $timeout = 10, $cipher = self::CIPHER_3DES) + { + $this->protocol_flags = array( + 1 => 'NET_SSH1_MSG_DISCONNECT', + 2 => 'NET_SSH1_SMSG_PUBLIC_KEY', + 3 => 'NET_SSH1_CMSG_SESSION_KEY', + 4 => 'NET_SSH1_CMSG_USER', + 9 => 'NET_SSH1_CMSG_AUTH_PASSWORD', + 10 => 'NET_SSH1_CMSG_REQUEST_PTY', + 12 => 'NET_SSH1_CMSG_EXEC_SHELL', + 13 => 'NET_SSH1_CMSG_EXEC_CMD', + 14 => 'NET_SSH1_SMSG_SUCCESS', + 15 => 'NET_SSH1_SMSG_FAILURE', + 16 => 'NET_SSH1_CMSG_STDIN_DATA', + 17 => 'NET_SSH1_SMSG_STDOUT_DATA', + 18 => 'NET_SSH1_SMSG_STDERR_DATA', + 19 => 'NET_SSH1_CMSG_EOF', + 20 => 'NET_SSH1_SMSG_EXITSTATUS', + 33 => 'NET_SSH1_CMSG_EXIT_CONFIRMATION' + ); + + $this->_define_array($this->protocol_flags); + + $this->host = $host; + $this->port = $port; + $this->connectionTimeout = $timeout; + $this->cipher = $cipher; + } + + /** + * Connect to an SSHv1 server + * + * @return bool + * @access private + */ + function _connect() + { + $this->fsock = @fsockopen($this->host, $this->port, $errno, $errstr, $this->connectionTimeout); + if (!$this->fsock) { + user_error(rtrim("Cannot connect to {$this->host}:{$this->port}. Error $errno. $errstr")); + return false; + } + + $this->server_identification = $init_line = fgets($this->fsock, 255); + + if (defined('NET_SSH1_LOGGING')) { + $this->_append_log('<-', $this->server_identification); + $this->_append_log('->', $this->identifier . "\r\n"); + } + + if (!preg_match('#SSH-([0-9\.]+)-(.+)#', $init_line, $parts)) { + user_error('Can only connect to SSH servers'); + return false; + } + if ($parts[1][0] != 1) { + user_error("Cannot connect to SSH $parts[1] servers"); + return false; + } + + fputs($this->fsock, $this->identifier."\r\n"); + + $response = $this->_get_binary_packet(); + if ($response[self::RESPONSE_TYPE] != NET_SSH1_SMSG_PUBLIC_KEY) { + user_error('Expected SSH_SMSG_PUBLIC_KEY'); + return false; + } + + $anti_spoofing_cookie = $this->_string_shift($response[self::RESPONSE_DATA], 8); + + $this->_string_shift($response[self::RESPONSE_DATA], 4); + + $temp = unpack('nlen', $this->_string_shift($response[self::RESPONSE_DATA], 2)); + $server_key_public_exponent = new BigInteger($this->_string_shift($response[self::RESPONSE_DATA], ceil($temp['len'] / 8)), 256); + $this->server_key_public_exponent = $server_key_public_exponent; + + $temp = unpack('nlen', $this->_string_shift($response[self::RESPONSE_DATA], 2)); + $server_key_public_modulus = new BigInteger($this->_string_shift($response[self::RESPONSE_DATA], ceil($temp['len'] / 8)), 256); + $this->server_key_public_modulus = $server_key_public_modulus; + + $this->_string_shift($response[self::RESPONSE_DATA], 4); + + $temp = unpack('nlen', $this->_string_shift($response[self::RESPONSE_DATA], 2)); + $host_key_public_exponent = new BigInteger($this->_string_shift($response[self::RESPONSE_DATA], ceil($temp['len'] / 8)), 256); + $this->host_key_public_exponent = $host_key_public_exponent; + + $temp = unpack('nlen', $this->_string_shift($response[self::RESPONSE_DATA], 2)); + $host_key_public_modulus = new BigInteger($this->_string_shift($response[self::RESPONSE_DATA], ceil($temp['len'] / 8)), 256); + $this->host_key_public_modulus = $host_key_public_modulus; + + $this->_string_shift($response[self::RESPONSE_DATA], 4); + + // get a list of the supported ciphers + extract(unpack('Nsupported_ciphers_mask', $this->_string_shift($response[self::RESPONSE_DATA], 4))); + foreach ($this->supported_ciphers as $mask => $name) { + if (($supported_ciphers_mask & (1 << $mask)) == 0) { + unset($this->supported_ciphers[$mask]); + } + } + + // get a list of the supported authentications + extract(unpack('Nsupported_authentications_mask', $this->_string_shift($response[self::RESPONSE_DATA], 4))); + foreach ($this->supported_authentications as $mask => $name) { + if (($supported_authentications_mask & (1 << $mask)) == 0) { + unset($this->supported_authentications[$mask]); + } + } + + $session_id = pack('H*', md5($host_key_public_modulus->toBytes() . $server_key_public_modulus->toBytes() . $anti_spoofing_cookie)); + + $session_key = Random::string(32); + $double_encrypted_session_key = $session_key ^ str_pad($session_id, 32, chr(0)); + + if ($server_key_public_modulus->compare($host_key_public_modulus) < 0) { + $double_encrypted_session_key = $this->_rsa_crypt( + $double_encrypted_session_key, + array( + $server_key_public_exponent, + $server_key_public_modulus + ) + ); + $double_encrypted_session_key = $this->_rsa_crypt( + $double_encrypted_session_key, + array( + $host_key_public_exponent, + $host_key_public_modulus + ) + ); + } else { + $double_encrypted_session_key = $this->_rsa_crypt( + $double_encrypted_session_key, + array( + $host_key_public_exponent, + $host_key_public_modulus + ) + ); + $double_encrypted_session_key = $this->_rsa_crypt( + $double_encrypted_session_key, + array( + $server_key_public_exponent, + $server_key_public_modulus + ) + ); + } + + $cipher = isset($this->supported_ciphers[$this->cipher]) ? $this->cipher : self::CIPHER_3DES; + $data = pack('C2a*na*N', NET_SSH1_CMSG_SESSION_KEY, $cipher, $anti_spoofing_cookie, 8 * strlen($double_encrypted_session_key), $double_encrypted_session_key, 0); + + if (!$this->_send_binary_packet($data)) { + user_error('Error sending SSH_CMSG_SESSION_KEY'); + return false; + } + + switch ($cipher) { + //case self::CIPHER_NONE: + // $this->crypto = new \phpseclib\Crypt\Null(); + // break; + case self::CIPHER_DES: + $this->crypto = new DES(); + $this->crypto->disablePadding(); + $this->crypto->enableContinuousBuffer(); + $this->crypto->setKey(substr($session_key, 0, 8)); + break; + case self::CIPHER_3DES: + $this->crypto = new TripleDES(TripleDES::MODE_3CBC); + $this->crypto->disablePadding(); + $this->crypto->enableContinuousBuffer(); + $this->crypto->setKey(substr($session_key, 0, 24)); + break; + //case self::CIPHER_RC4: + // $this->crypto = new RC4(); + // $this->crypto->enableContinuousBuffer(); + // $this->crypto->setKey(substr($session_key, 0, 16)); + // break; + } + + $response = $this->_get_binary_packet(); + + if ($response[self::RESPONSE_TYPE] != NET_SSH1_SMSG_SUCCESS) { + user_error('Expected SSH_SMSG_SUCCESS'); + return false; + } + + $this->bitmap = self::MASK_CONNECTED; + + return true; + } + + /** + * Login + * + * @param string $username + * @param string $password + * @return bool + * @access public + */ + function login($username, $password = '') + { + if (!($this->bitmap & self::MASK_CONSTRUCTOR)) { + $this->bitmap |= self::MASK_CONSTRUCTOR; + if (!$this->_connect()) { + return false; + } + } + + if (!($this->bitmap & self::MASK_CONNECTED)) { + return false; + } + + $data = pack('CNa*', NET_SSH1_CMSG_USER, strlen($username), $username); + + if (!$this->_send_binary_packet($data)) { + user_error('Error sending SSH_CMSG_USER'); + return false; + } + + $response = $this->_get_binary_packet(); + + if ($response === true) { + return false; + } + if ($response[self::RESPONSE_TYPE] == NET_SSH1_SMSG_SUCCESS) { + $this->bitmap |= self::MASK_LOGIN; + return true; + } elseif ($response[self::RESPONSE_TYPE] != NET_SSH1_SMSG_FAILURE) { + user_error('Expected SSH_SMSG_SUCCESS or SSH_SMSG_FAILURE'); + return false; + } + + $data = pack('CNa*', NET_SSH1_CMSG_AUTH_PASSWORD, strlen($password), $password); + + if (!$this->_send_binary_packet($data)) { + user_error('Error sending SSH_CMSG_AUTH_PASSWORD'); + return false; + } + + // remove the username and password from the last logged packet + if (defined('NET_SSH1_LOGGING') && NET_SSH1_LOGGING == self::LOG_COMPLEX) { + $data = pack('CNa*', NET_SSH1_CMSG_AUTH_PASSWORD, strlen('password'), 'password'); + $this->message_log[count($this->message_log) - 1] = $data; + } + + $response = $this->_get_binary_packet(); + + if ($response === true) { + return false; + } + if ($response[self::RESPONSE_TYPE] == NET_SSH1_SMSG_SUCCESS) { + $this->bitmap |= self::MASK_LOGIN; + return true; + } elseif ($response[self::RESPONSE_TYPE] == NET_SSH1_SMSG_FAILURE) { + return false; + } else { + user_error('Expected SSH_SMSG_SUCCESS or SSH_SMSG_FAILURE'); + return false; + } + } + + /** + * Set Timeout + * + * $ssh->exec('ping 127.0.0.1'); on a Linux host will never return and will run indefinitely. setTimeout() makes it so it'll timeout. + * Setting $timeout to false or 0 will mean there is no timeout. + * + * @param mixed $timeout + */ + function setTimeout($timeout) + { + $this->timeout = $this->curTimeout = $timeout; + } + + /** + * Executes a command on a non-interactive shell, returns the output, and quits. + * + * An SSH1 server will close the connection after a command has been executed on a non-interactive shell. SSH2 + * servers don't, however, this isn't an SSH2 client. The way this works, on the server, is by initiating a + * shell with the -s option, as discussed in the following links: + * + * {@link http://www.faqs.org/docs/bashman/bashref_65.html http://www.faqs.org/docs/bashman/bashref_65.html} + * {@link http://www.faqs.org/docs/bashman/bashref_62.html http://www.faqs.org/docs/bashman/bashref_62.html} + * + * To execute further commands, a new \phpseclib\Net\SSH1 object will need to be created. + * + * Returns false on failure and the output, otherwise. + * + * @see self::interactiveRead() + * @see self::interactiveWrite() + * @param string $cmd + * @return mixed + * @access public + */ + function exec($cmd, $block = true) + { + if (!($this->bitmap & self::MASK_LOGIN)) { + user_error('Operation disallowed prior to login()'); + return false; + } + + $data = pack('CNa*', NET_SSH1_CMSG_EXEC_CMD, strlen($cmd), $cmd); + + if (!$this->_send_binary_packet($data)) { + user_error('Error sending SSH_CMSG_EXEC_CMD'); + return false; + } + + if (!$block) { + return true; + } + + $output = ''; + $response = $this->_get_binary_packet(); + + if ($response !== false) { + do { + $output.= substr($response[self::RESPONSE_DATA], 4); + $response = $this->_get_binary_packet(); + } while (is_array($response) && $response[self::RESPONSE_TYPE] != NET_SSH1_SMSG_EXITSTATUS); + } + + $data = pack('C', NET_SSH1_CMSG_EXIT_CONFIRMATION); + + // i don't think it's really all that important if this packet gets sent or not. + $this->_send_binary_packet($data); + + fclose($this->fsock); + + // reset the execution bitmap - a new \phpseclib\Net\SSH1 object needs to be created. + $this->bitmap = 0; + + return $output; + } + + /** + * Creates an interactive shell + * + * @see self::interactiveRead() + * @see self::interactiveWrite() + * @return bool + * @access private + */ + function _initShell() + { + // connect using the sample parameters in protocol-1.5.txt. + // according to wikipedia.org's entry on text terminals, "the fundamental type of application running on a text + // terminal is a command line interpreter or shell". thus, opening a terminal session to run the shell. + $data = pack('CNa*N4C', NET_SSH1_CMSG_REQUEST_PTY, strlen('vt100'), 'vt100', 24, 80, 0, 0, self::TTY_OP_END); + + if (!$this->_send_binary_packet($data)) { + user_error('Error sending SSH_CMSG_REQUEST_PTY'); + return false; + } + + $response = $this->_get_binary_packet(); + + if ($response === true) { + return false; + } + if ($response[self::RESPONSE_TYPE] != NET_SSH1_SMSG_SUCCESS) { + user_error('Expected SSH_SMSG_SUCCESS'); + return false; + } + + $data = pack('C', NET_SSH1_CMSG_EXEC_SHELL); + + if (!$this->_send_binary_packet($data)) { + user_error('Error sending SSH_CMSG_EXEC_SHELL'); + return false; + } + + $this->bitmap |= self::MASK_SHELL; + + //stream_set_blocking($this->fsock, 0); + + return true; + } + + /** + * Inputs a command into an interactive shell. + * + * @see self::interactiveWrite() + * @param string $cmd + * @return bool + * @access public + */ + function write($cmd) + { + return $this->interactiveWrite($cmd); + } + + /** + * Returns the output of an interactive shell when there's a match for $expect + * + * $expect can take the form of a string literal or, if $mode == self::READ__REGEX, + * a regular expression. + * + * @see self::write() + * @param string $expect + * @param int $mode + * @return bool + * @access public + */ + function read($expect, $mode = self::READ__SIMPLE) + { + if (!($this->bitmap & self::MASK_LOGIN)) { + user_error('Operation disallowed prior to login()'); + return false; + } + + if (!($this->bitmap & self::MASK_SHELL) && !$this->_initShell()) { + user_error('Unable to initiate an interactive shell session'); + return false; + } + + $match = $expect; + while (true) { + if ($mode == self::READ__REGEX) { + preg_match($expect, $this->interactiveBuffer, $matches); + $match = isset($matches[0]) ? $matches[0] : ''; + } + $pos = strlen($match) ? strpos($this->interactiveBuffer, $match) : false; + if ($pos !== false) { + return $this->_string_shift($this->interactiveBuffer, $pos + strlen($match)); + } + $response = $this->_get_binary_packet(); + + if ($response === true) { + return $this->_string_shift($this->interactiveBuffer, strlen($this->interactiveBuffer)); + } + $this->interactiveBuffer.= substr($response[self::RESPONSE_DATA], 4); + } + } + + /** + * Inputs a command into an interactive shell. + * + * @see self::interactiveRead() + * @param string $cmd + * @return bool + * @access public + */ + function interactiveWrite($cmd) + { + if (!($this->bitmap & self::MASK_LOGIN)) { + user_error('Operation disallowed prior to login()'); + return false; + } + + if (!($this->bitmap & self::MASK_SHELL) && !$this->_initShell()) { + user_error('Unable to initiate an interactive shell session'); + return false; + } + + $data = pack('CNa*', NET_SSH1_CMSG_STDIN_DATA, strlen($cmd), $cmd); + + if (!$this->_send_binary_packet($data)) { + user_error('Error sending SSH_CMSG_STDIN'); + return false; + } + + return true; + } + + /** + * Returns the output of an interactive shell when no more output is available. + * + * Requires PHP 4.3.0 or later due to the use of the stream_select() function. If you see stuff like + * "^[[00m", you're seeing ANSI escape codes. According to + * {@link http://support.microsoft.com/kb/101875 How to Enable ANSI.SYS in a Command Window}, "Windows NT + * does not support ANSI escape sequences in Win32 Console applications", so if you're a Windows user, + * there's not going to be much recourse. + * + * @see self::interactiveRead() + * @return string + * @access public + */ + function interactiveRead() + { + if (!($this->bitmap & self::MASK_LOGIN)) { + user_error('Operation disallowed prior to login()'); + return false; + } + + if (!($this->bitmap & self::MASK_SHELL) && !$this->_initShell()) { + user_error('Unable to initiate an interactive shell session'); + return false; + } + + $read = array($this->fsock); + $write = $except = null; + if (stream_select($read, $write, $except, 0)) { + $response = $this->_get_binary_packet(); + return substr($response[self::RESPONSE_DATA], 4); + } else { + return ''; + } + } + + /** + * Disconnect + * + * @access public + */ + function disconnect() + { + $this->_disconnect(); + } + + /** + * Destructor. + * + * Will be called, automatically, if you're supporting just PHP5. If you're supporting PHP4, you'll need to call + * disconnect(). + * + * @access public + */ + function __destruct() + { + $this->_disconnect(); + } + + /** + * Disconnect + * + * @param string $msg + * @access private + */ + function _disconnect($msg = 'Client Quit') + { + if ($this->bitmap) { + $data = pack('C', NET_SSH1_CMSG_EOF); + $this->_send_binary_packet($data); + /* + $response = $this->_get_binary_packet(); + if ($response === true) { + $response = array(self::RESPONSE_TYPE => -1); + } + switch ($response[self::RESPONSE_TYPE]) { + case NET_SSH1_SMSG_EXITSTATUS: + $data = pack('C', NET_SSH1_CMSG_EXIT_CONFIRMATION); + break; + default: + $data = pack('CNa*', NET_SSH1_MSG_DISCONNECT, strlen($msg), $msg); + } + */ + $data = pack('CNa*', NET_SSH1_MSG_DISCONNECT, strlen($msg), $msg); + + $this->_send_binary_packet($data); + fclose($this->fsock); + $this->bitmap = 0; + } + } + + /** + * Gets Binary Packets + * + * See 'The Binary Packet Protocol' of protocol-1.5.txt for more info. + * + * Also, this function could be improved upon by adding detection for the following exploit: + * http://www.securiteam.com/securitynews/5LP042K3FY.html + * + * @see self::_send_binary_packet() + * @return array + * @access private + */ + function _get_binary_packet() + { + if (feof($this->fsock)) { + //user_error('connection closed prematurely'); + return false; + } + + if ($this->curTimeout) { + $read = array($this->fsock); + $write = $except = null; + + $start = strtok(microtime(), ' ') + strtok(''); // http://php.net/microtime#61838 + $sec = floor($this->curTimeout); + $usec = 1000000 * ($this->curTimeout - $sec); + // on windows this returns a "Warning: Invalid CRT parameters detected" error + if (!@stream_select($read, $write, $except, $sec, $usec) && !count($read)) { + //$this->_disconnect('Timeout'); + return true; + } + $elapsed = strtok(microtime(), ' ') + strtok('') - $start; + $this->curTimeout-= $elapsed; + } + + $start = strtok(microtime(), ' ') + strtok(''); // http://php.net/microtime#61838 + $temp = unpack('Nlength', fread($this->fsock, 4)); + + $padding_length = 8 - ($temp['length'] & 7); + $length = $temp['length'] + $padding_length; + $raw = ''; + + while ($length > 0) { + $temp = fread($this->fsock, $length); + $raw.= $temp; + $length-= strlen($temp); + } + $stop = strtok(microtime(), ' ') + strtok(''); + + if (strlen($raw) && $this->crypto !== false) { + $raw = $this->crypto->decrypt($raw); + } + + $padding = substr($raw, 0, $padding_length); + $type = $raw[$padding_length]; + $data = substr($raw, $padding_length + 1, -4); + + $temp = unpack('Ncrc', substr($raw, -4)); + + //if ( $temp['crc'] != $this->_crc($padding . $type . $data) ) { + // user_error('Bad CRC in packet from server'); + // return false; + //} + + $type = ord($type); + + if (defined('NET_SSH1_LOGGING')) { + $temp = isset($this->protocol_flags[$type]) ? $this->protocol_flags[$type] : 'UNKNOWN'; + $temp = '<- ' . $temp . + ' (' . round($stop - $start, 4) . 's)'; + $this->_append_log($temp, $data); + } + + return array( + self::RESPONSE_TYPE => $type, + self::RESPONSE_DATA => $data + ); + } + + /** + * Sends Binary Packets + * + * Returns true on success, false on failure. + * + * @see self::_get_binary_packet() + * @param string $data + * @return bool + * @access private + */ + function _send_binary_packet($data) + { + if (feof($this->fsock)) { + //user_error('connection closed prematurely'); + return false; + } + + $length = strlen($data) + 4; + + $padding = Random::string(8 - ($length & 7)); + + $orig = $data; + $data = $padding . $data; + $data.= pack('N', $this->_crc($data)); + + if ($this->crypto !== false) { + $data = $this->crypto->encrypt($data); + } + + $packet = pack('Na*', $length, $data); + + $start = strtok(microtime(), ' ') + strtok(''); // http://php.net/microtime#61838 + $result = strlen($packet) == fputs($this->fsock, $packet); + $stop = strtok(microtime(), ' ') + strtok(''); + + if (defined('NET_SSH1_LOGGING')) { + $temp = isset($this->protocol_flags[ord($orig[0])]) ? $this->protocol_flags[ord($orig[0])] : 'UNKNOWN'; + $temp = '-> ' . $temp . + ' (' . round($stop - $start, 4) . 's)'; + $this->_append_log($temp, $orig); + } + + return $result; + } + + /** + * Cyclic Redundancy Check (CRC) + * + * PHP's crc32 function is implemented slightly differently than the one that SSH v1 uses, so + * we've reimplemented it. A more detailed discussion of the differences can be found after + * $crc_lookup_table's initialization. + * + * @see self::_get_binary_packet() + * @see self::_send_binary_packet() + * @param string $data + * @return int + * @access private + */ + function _crc($data) + { + static $crc_lookup_table = array( + 0x00000000, 0x77073096, 0xEE0E612C, 0x990951BA, + 0x076DC419, 0x706AF48F, 0xE963A535, 0x9E6495A3, + 0x0EDB8832, 0x79DCB8A4, 0xE0D5E91E, 0x97D2D988, + 0x09B64C2B, 0x7EB17CBD, 0xE7B82D07, 0x90BF1D91, + 0x1DB71064, 0x6AB020F2, 0xF3B97148, 0x84BE41DE, + 0x1ADAD47D, 0x6DDDE4EB, 0xF4D4B551, 0x83D385C7, + 0x136C9856, 0x646BA8C0, 0xFD62F97A, 0x8A65C9EC, + 0x14015C4F, 0x63066CD9, 0xFA0F3D63, 0x8D080DF5, + 0x3B6E20C8, 0x4C69105E, 0xD56041E4, 0xA2677172, + 0x3C03E4D1, 0x4B04D447, 0xD20D85FD, 0xA50AB56B, + 0x35B5A8FA, 0x42B2986C, 0xDBBBC9D6, 0xACBCF940, + 0x32D86CE3, 0x45DF5C75, 0xDCD60DCF, 0xABD13D59, + 0x26D930AC, 0x51DE003A, 0xC8D75180, 0xBFD06116, + 0x21B4F4B5, 0x56B3C423, 0xCFBA9599, 0xB8BDA50F, + 0x2802B89E, 0x5F058808, 0xC60CD9B2, 0xB10BE924, + 0x2F6F7C87, 0x58684C11, 0xC1611DAB, 0xB6662D3D, + 0x76DC4190, 0x01DB7106, 0x98D220BC, 0xEFD5102A, + 0x71B18589, 0x06B6B51F, 0x9FBFE4A5, 0xE8B8D433, + 0x7807C9A2, 0x0F00F934, 0x9609A88E, 0xE10E9818, + 0x7F6A0DBB, 0x086D3D2D, 0x91646C97, 0xE6635C01, + 0x6B6B51F4, 0x1C6C6162, 0x856530D8, 0xF262004E, + 0x6C0695ED, 0x1B01A57B, 0x8208F4C1, 0xF50FC457, + 0x65B0D9C6, 0x12B7E950, 0x8BBEB8EA, 0xFCB9887C, + 0x62DD1DDF, 0x15DA2D49, 0x8CD37CF3, 0xFBD44C65, + 0x4DB26158, 0x3AB551CE, 0xA3BC0074, 0xD4BB30E2, + 0x4ADFA541, 0x3DD895D7, 0xA4D1C46D, 0xD3D6F4FB, + 0x4369E96A, 0x346ED9FC, 0xAD678846, 0xDA60B8D0, + 0x44042D73, 0x33031DE5, 0xAA0A4C5F, 0xDD0D7CC9, + 0x5005713C, 0x270241AA, 0xBE0B1010, 0xC90C2086, + 0x5768B525, 0x206F85B3, 0xB966D409, 0xCE61E49F, + 0x5EDEF90E, 0x29D9C998, 0xB0D09822, 0xC7D7A8B4, + 0x59B33D17, 0x2EB40D81, 0xB7BD5C3B, 0xC0BA6CAD, + 0xEDB88320, 0x9ABFB3B6, 0x03B6E20C, 0x74B1D29A, + 0xEAD54739, 0x9DD277AF, 0x04DB2615, 0x73DC1683, + 0xE3630B12, 0x94643B84, 0x0D6D6A3E, 0x7A6A5AA8, + 0xE40ECF0B, 0x9309FF9D, 0x0A00AE27, 0x7D079EB1, + 0xF00F9344, 0x8708A3D2, 0x1E01F268, 0x6906C2FE, + 0xF762575D, 0x806567CB, 0x196C3671, 0x6E6B06E7, + 0xFED41B76, 0x89D32BE0, 0x10DA7A5A, 0x67DD4ACC, + 0xF9B9DF6F, 0x8EBEEFF9, 0x17B7BE43, 0x60B08ED5, + 0xD6D6A3E8, 0xA1D1937E, 0x38D8C2C4, 0x4FDFF252, + 0xD1BB67F1, 0xA6BC5767, 0x3FB506DD, 0x48B2364B, + 0xD80D2BDA, 0xAF0A1B4C, 0x36034AF6, 0x41047A60, + 0xDF60EFC3, 0xA867DF55, 0x316E8EEF, 0x4669BE79, + 0xCB61B38C, 0xBC66831A, 0x256FD2A0, 0x5268E236, + 0xCC0C7795, 0xBB0B4703, 0x220216B9, 0x5505262F, + 0xC5BA3BBE, 0xB2BD0B28, 0x2BB45A92, 0x5CB36A04, + 0xC2D7FFA7, 0xB5D0CF31, 0x2CD99E8B, 0x5BDEAE1D, + 0x9B64C2B0, 0xEC63F226, 0x756AA39C, 0x026D930A, + 0x9C0906A9, 0xEB0E363F, 0x72076785, 0x05005713, + 0x95BF4A82, 0xE2B87A14, 0x7BB12BAE, 0x0CB61B38, + 0x92D28E9B, 0xE5D5BE0D, 0x7CDCEFB7, 0x0BDBDF21, + 0x86D3D2D4, 0xF1D4E242, 0x68DDB3F8, 0x1FDA836E, + 0x81BE16CD, 0xF6B9265B, 0x6FB077E1, 0x18B74777, + 0x88085AE6, 0xFF0F6A70, 0x66063BCA, 0x11010B5C, + 0x8F659EFF, 0xF862AE69, 0x616BFFD3, 0x166CCF45, + 0xA00AE278, 0xD70DD2EE, 0x4E048354, 0x3903B3C2, + 0xA7672661, 0xD06016F7, 0x4969474D, 0x3E6E77DB, + 0xAED16A4A, 0xD9D65ADC, 0x40DF0B66, 0x37D83BF0, + 0xA9BCAE53, 0xDEBB9EC5, 0x47B2CF7F, 0x30B5FFE9, + 0xBDBDF21C, 0xCABAC28A, 0x53B39330, 0x24B4A3A6, + 0xBAD03605, 0xCDD70693, 0x54DE5729, 0x23D967BF, + 0xB3667A2E, 0xC4614AB8, 0x5D681B02, 0x2A6F2B94, + 0xB40BBE37, 0xC30C8EA1, 0x5A05DF1B, 0x2D02EF8D + ); + + // For this function to yield the same output as PHP's crc32 function, $crc would have to be + // set to 0xFFFFFFFF, initially - not 0x00000000 as it currently is. + $crc = 0x00000000; + $length = strlen($data); + + for ($i=0; $i<$length; $i++) { + // We AND $crc >> 8 with 0x00FFFFFF because we want the eight newly added bits to all + // be zero. PHP, unfortunately, doesn't always do this. 0x80000000 >> 8, as an example, + // yields 0xFF800000 - not 0x00800000. The following link elaborates: + // http://www.php.net/manual/en/language.operators.bitwise.php#57281 + $crc = (($crc >> 8) & 0x00FFFFFF) ^ $crc_lookup_table[($crc & 0xFF) ^ ord($data[$i])]; + } + + // In addition to having to set $crc to 0xFFFFFFFF, initially, the return value must be XOR'd with + // 0xFFFFFFFF for this function to return the same thing that PHP's crc32 function would. + return $crc; + } + + /** + * String Shift + * + * Inspired by array_shift + * + * @param string $string + * @param int $index + * @return string + * @access private + */ + function _string_shift(&$string, $index = 1) + { + $substr = substr($string, 0, $index); + $string = substr($string, $index); + return $substr; + } + + /** + * RSA Encrypt + * + * Returns mod(pow($m, $e), $n), where $n should be the product of two (large) primes $p and $q and where $e + * should be a number with the property that gcd($e, ($p - 1) * ($q - 1)) == 1. Could just make anything that + * calls this call modexp, instead, but I think this makes things clearer, maybe... + * + * @see self::__construct() + * @param BigInteger $m + * @param array $key + * @return BigInteger + * @access private + */ + function _rsa_crypt($m, $key) + { + /* + $rsa = new RSA(); + $rsa->loadKey($key, RSA::PUBLIC_FORMAT_RAW); + $rsa->setEncryptionMode(RSA::ENCRYPTION_PKCS1); + return $rsa->encrypt($m); + */ + + // To quote from protocol-1.5.txt: + // The most significant byte (which is only partial as the value must be + // less than the public modulus, which is never a power of two) is zero. + // + // The next byte contains the value 2 (which stands for public-key + // encrypted data in the PKCS standard [PKCS#1]). Then, there are non- + // zero random bytes to fill any unused space, a zero byte, and the data + // to be encrypted in the least significant bytes, the last byte of the + // data in the least significant byte. + + // Presumably the part of PKCS#1 they're refering to is "Section 7.2.1 Encryption Operation", + // under "7.2 RSAES-PKCS1-v1.5" and "7 Encryption schemes" of the following URL: + // ftp://ftp.rsasecurity.com/pub/pkcs/pkcs-1/pkcs-1v2-1.pdf + $modulus = $key[1]->toBytes(); + $length = strlen($modulus) - strlen($m) - 3; + $random = ''; + while (strlen($random) != $length) { + $block = Random::string($length - strlen($random)); + $block = str_replace("\x00", '', $block); + $random.= $block; + } + $temp = chr(0) . chr(2) . $random . chr(0) . $m; + + $m = new BigInteger($temp, 256); + $m = $m->modPow($key[0], $key[1]); + + return $m->toBytes(); + } + + /** + * Define Array + * + * Takes any number of arrays whose indices are integers and whose values are strings and defines a bunch of + * named constants from it, using the value as the name of the constant and the index as the value of the constant. + * If any of the constants that would be defined already exists, none of the constants will be defined. + * + * @param array $array + * @access private + */ + function _define_array() + { + $args = func_get_args(); + foreach ($args as $arg) { + foreach ($arg as $key => $value) { + if (!defined($value)) { + define($value, $key); + } else { + break 2; + } + } + } + } + + /** + * Returns a log of the packets that have been sent and received. + * + * Returns a string if NET_SSH1_LOGGING == self::LOG_COMPLEX, an array if NET_SSH1_LOGGING == self::LOG_SIMPLE and false if !defined('NET_SSH1_LOGGING') + * + * @access public + * @return array|false|string + */ + function getLog() + { + if (!defined('NET_SSH1_LOGGING')) { + return false; + } + + switch (NET_SSH1_LOGGING) { + case self::LOG_SIMPLE: + return $this->message_number_log; + break; + case self::LOG_COMPLEX: + return $this->_format_log($this->message_log, $this->protocol_flags_log); + break; + default: + return false; + } + } + + /** + * Formats a log for printing + * + * @param array $message_log + * @param array $message_number_log + * @access private + * @return string + */ + function _format_log($message_log, $message_number_log) + { + $output = ''; + for ($i = 0; $i < count($message_log); $i++) { + $output.= $message_number_log[$i] . "\r\n"; + $current_log = $message_log[$i]; + $j = 0; + do { + if (strlen($current_log)) { + $output.= str_pad(dechex($j), 7, '0', STR_PAD_LEFT) . '0 '; + } + $fragment = $this->_string_shift($current_log, $this->log_short_width); + $hex = substr(preg_replace_callback('#.#s', array($this, '_format_log_helper'), $fragment), strlen($this->log_boundary)); + // replace non ASCII printable characters with dots + // http://en.wikipedia.org/wiki/ASCII#ASCII_printable_characters + // also replace < with a . since < messes up the output on web browsers + $raw = preg_replace('#[^\x20-\x7E]|<#', '.', $fragment); + $output.= str_pad($hex, $this->log_long_width - $this->log_short_width, ' ') . $raw . "\r\n"; + $j++; + } while (strlen($current_log)); + $output.= "\r\n"; + } + + return $output; + } + + /** + * Helper function for _format_log + * + * For use with preg_replace_callback() + * + * @param array $matches + * @access private + * @return string + */ + function _format_log_helper($matches) + { + return $this->log_boundary . str_pad(dechex(ord($matches[0])), 2, '0', STR_PAD_LEFT); + } + + /** + * Return the server key public exponent + * + * Returns, by default, the base-10 representation. If $raw_output is set to true, returns, instead, + * the raw bytes. This behavior is similar to PHP's md5() function. + * + * @param bool $raw_output + * @return string + * @access public + */ + function getServerKeyPublicExponent($raw_output = false) + { + return $raw_output ? $this->server_key_public_exponent->toBytes() : $this->server_key_public_exponent->toString(); + } + + /** + * Return the server key public modulus + * + * Returns, by default, the base-10 representation. If $raw_output is set to true, returns, instead, + * the raw bytes. This behavior is similar to PHP's md5() function. + * + * @param bool $raw_output + * @return string + * @access public + */ + function getServerKeyPublicModulus($raw_output = false) + { + return $raw_output ? $this->server_key_public_modulus->toBytes() : $this->server_key_public_modulus->toString(); + } + + /** + * Return the host key public exponent + * + * Returns, by default, the base-10 representation. If $raw_output is set to true, returns, instead, + * the raw bytes. This behavior is similar to PHP's md5() function. + * + * @param bool $raw_output + * @return string + * @access public + */ + function getHostKeyPublicExponent($raw_output = false) + { + return $raw_output ? $this->host_key_public_exponent->toBytes() : $this->host_key_public_exponent->toString(); + } + + /** + * Return the host key public modulus + * + * Returns, by default, the base-10 representation. If $raw_output is set to true, returns, instead, + * the raw bytes. This behavior is similar to PHP's md5() function. + * + * @param bool $raw_output + * @return string + * @access public + */ + function getHostKeyPublicModulus($raw_output = false) + { + return $raw_output ? $this->host_key_public_modulus->toBytes() : $this->host_key_public_modulus->toString(); + } + + /** + * Return a list of ciphers supported by SSH1 server. + * + * Just because a cipher is supported by an SSH1 server doesn't mean it's supported by this library. If $raw_output + * is set to true, returns, instead, an array of constants. ie. instead of array('Triple-DES in CBC mode'), you'll + * get array(self::CIPHER_3DES). + * + * @param bool $raw_output + * @return array + * @access public + */ + function getSupportedCiphers($raw_output = false) + { + return $raw_output ? array_keys($this->supported_ciphers) : array_values($this->supported_ciphers); + } + + /** + * Return a list of authentications supported by SSH1 server. + * + * Just because a cipher is supported by an SSH1 server doesn't mean it's supported by this library. If $raw_output + * is set to true, returns, instead, an array of constants. ie. instead of array('password authentication'), you'll + * get array(self::AUTH_PASSWORD). + * + * @param bool $raw_output + * @return array + * @access public + */ + function getSupportedAuthentications($raw_output = false) + { + return $raw_output ? array_keys($this->supported_authentications) : array_values($this->supported_authentications); + } + + /** + * Return the server identification. + * + * @return string + * @access public + */ + function getServerIdentification() + { + return rtrim($this->server_identification); + } + + /** + * Logs data packets + * + * Makes sure that only the last 1MB worth of packets will be logged + * + * @param string $data + * @access private + */ + function _append_log($protocol_flags, $message) + { + switch (NET_SSH1_LOGGING) { + // useful for benchmarks + case self::LOG_SIMPLE: + $this->protocol_flags_log[] = $protocol_flags; + break; + // the most useful log for SSH1 + case self::LOG_COMPLEX: + $this->protocol_flags_log[] = $protocol_flags; + $this->_string_shift($message); + $this->log_size+= strlen($message); + $this->message_log[] = $message; + while ($this->log_size > self::LOG_MAX_SIZE) { + $this->log_size-= strlen(array_shift($this->message_log)); + array_shift($this->protocol_flags_log); + } + break; + // dump the output out realtime; packets may be interspersed with non packets, + // passwords won't be filtered out and select other packets may not be correctly + // identified + case self::LOG_REALTIME: + echo "<pre>\r\n" . $this->_format_log(array($message), array($protocol_flags)) . "\r\n</pre>\r\n"; + @flush(); + @ob_flush(); + break; + // basically the same thing as self::LOG_REALTIME with the caveat that self::LOG_REALTIME_FILE + // needs to be defined and that the resultant log file will be capped out at self::LOG_MAX_SIZE. + // the earliest part of the log file is denoted by the first <<< START >>> and is not going to necessarily + // at the beginning of the file + case self::LOG_REALTIME_FILE: + if (!isset($this->realtime_log_file)) { + // PHP doesn't seem to like using constants in fopen() + $filename = self::LOG_REALTIME_FILE; + $fp = fopen($filename, 'w'); + $this->realtime_log_file = $fp; + } + if (!is_resource($this->realtime_log_file)) { + break; + } + $entry = $this->_format_log(array($message), array($protocol_flags)); + if ($this->realtime_log_wrap) { + $temp = "<<< START >>>\r\n"; + $entry.= $temp; + fseek($this->realtime_log_file, ftell($this->realtime_log_file) - strlen($temp)); + } + $this->realtime_log_size+= strlen($entry); + if ($this->realtime_log_size > self::LOG_MAX_SIZE) { + fseek($this->realtime_log_file, 0); + $this->realtime_log_size = strlen($entry); + $this->realtime_log_wrap = true; + } + fputs($this->realtime_log_file, $entry); + } + } +} diff --git a/vendor/phpseclib/phpseclib/phpseclib/Net/SSH2.php b/vendor/phpseclib/phpseclib/phpseclib/Net/SSH2.php new file mode 100644 index 00000000..11580755 --- /dev/null +++ b/vendor/phpseclib/phpseclib/phpseclib/Net/SSH2.php @@ -0,0 +1,4188 @@ +<?php + +/** + * Pure-PHP implementation of SSHv2. + * + * PHP version 5 + * + * Here are some examples of how to use this library: + * <code> + * <?php + * include 'vendor/autoload.php'; + * + * $ssh = new \phpseclib\Net\SSH2('www.domain.tld'); + * if (!$ssh->login('username', 'password')) { + * exit('Login Failed'); + * } + * + * echo $ssh->exec('pwd'); + * echo $ssh->exec('ls -la'); + * ?> + * </code> + * + * <code> + * <?php + * include 'vendor/autoload.php'; + * + * $key = new \phpseclib\Crypt\RSA(); + * //$key->setPassword('whatever'); + * $key->loadKey(file_get_contents('privatekey')); + * + * $ssh = new \phpseclib\Net\SSH2('www.domain.tld'); + * if (!$ssh->login('username', $key)) { + * exit('Login Failed'); + * } + * + * echo $ssh->read('username@username:~$'); + * $ssh->write("ls -la\n"); + * echo $ssh->read('username@username:~$'); + * ?> + * </code> + * + * @category Net + * @package SSH2 + * @author Jim Wigginton <terrafrost@php.net> + * @copyright 2007 Jim Wigginton + * @license http://www.opensource.org/licenses/mit-license.html MIT License + * @link http://phpseclib.sourceforge.net + */ + +namespace phpseclib\Net; + +use phpseclib\Crypt\Base; +use phpseclib\Crypt\Blowfish; +use phpseclib\Crypt\Hash; +use phpseclib\Crypt\Random; +use phpseclib\Crypt\RC4; +use phpseclib\Crypt\Rijndael; +use phpseclib\Crypt\RSA; +use phpseclib\Crypt\TripleDES; +use phpseclib\Crypt\Twofish; +use phpseclib\Math\BigInteger; // Used to do Diffie-Hellman key exchange and DSA/RSA signature verification. +use phpseclib\System\SSH\Agent; + +/** + * Pure-PHP implementation of SSHv2. + * + * @package SSH2 + * @author Jim Wigginton <terrafrost@php.net> + * @access public + */ +class SSH2 +{ + /**#@+ + * Execution Bitmap Masks + * + * @see \phpseclib\Net\SSH2::bitmap + * @access private + */ + const MASK_CONSTRUCTOR = 0x00000001; + const MASK_CONNECTED = 0x00000002; + const MASK_LOGIN_REQ = 0x00000004; + const MASK_LOGIN = 0x00000008; + const MASK_SHELL = 0x00000010; + const MASK_WINDOW_ADJUST = 0x00000020; + /**#@-*/ + + /**#@+ + * Channel constants + * + * RFC4254 refers not to client and server channels but rather to sender and recipient channels. we don't refer + * to them in that way because RFC4254 toggles the meaning. the client sends a SSH_MSG_CHANNEL_OPEN message with + * a sender channel and the server sends a SSH_MSG_CHANNEL_OPEN_CONFIRMATION in response, with a sender and a + * recepient channel. at first glance, you might conclude that SSH_MSG_CHANNEL_OPEN_CONFIRMATION's sender channel + * would be the same thing as SSH_MSG_CHANNEL_OPEN's sender channel, but it's not, per this snipet: + * The 'recipient channel' is the channel number given in the original + * open request, and 'sender channel' is the channel number allocated by + * the other side. + * + * @see \phpseclib\Net\SSH2::_send_channel_packet() + * @see \phpseclib\Net\SSH2::_get_channel_packet() + * @access private + */ + const CHANNEL_EXEC = 0; // PuTTy uses 0x100 + const CHANNEL_SHELL = 1; + const CHANNEL_SUBSYSTEM = 2; + const CHANNEL_AGENT_FORWARD = 3; + /**#@-*/ + + /**#@+ + * @access public + * @see \phpseclib\Net\SSH2::getLog() + */ + /** + * Returns the message numbers + */ + const LOG_SIMPLE = 1; + /** + * Returns the message content + */ + const LOG_COMPLEX = 2; + /** + * Outputs the content real-time + */ + const LOG_REALTIME = 3; + /** + * Dumps the content real-time to a file + */ + const LOG_REALTIME_FILE = 4; + /**#@-*/ + + /**#@+ + * @access public + * @see \phpseclib\Net\SSH2::read() + */ + /** + * Returns when a string matching $expect exactly is found + */ + const READ_SIMPLE = 1; + /** + * Returns when a string matching the regular expression $expect is found + */ + const READ_REGEX = 2; + /** + * Make sure that the log never gets larger than this + */ + const LOG_MAX_SIZE = 1048576; // 1024 * 1024 + /**#@-*/ + + /** + * The SSH identifier + * + * @var string + * @access private + */ + var $identifier; + + /** + * The Socket Object + * + * @var object + * @access private + */ + var $fsock; + + /** + * Execution Bitmap + * + * The bits that are set represent functions that have been called already. This is used to determine + * if a requisite function has been successfully executed. If not, an error should be thrown. + * + * @var int + * @access private + */ + var $bitmap = 0; + + /** + * Error information + * + * @see self::getErrors() + * @see self::getLastError() + * @var string + * @access private + */ + var $errors = array(); + + /** + * Server Identifier + * + * @see self::getServerIdentification() + * @var array|false + * @access private + */ + var $server_identifier = false; + + /** + * Key Exchange Algorithms + * + * @see self::getKexAlgorithims() + * @var array|false + * @access private + */ + var $kex_algorithms = false; + + /** + * Minimum Diffie-Hellman Group Bit Size in RFC 4419 Key Exchange Methods + * + * @see self::_key_exchange() + * @var int + * @access private + */ + var $kex_dh_group_size_min = 1536; + + /** + * Preferred Diffie-Hellman Group Bit Size in RFC 4419 Key Exchange Methods + * + * @see self::_key_exchange() + * @var int + * @access private + */ + var $kex_dh_group_size_preferred = 2048; + + /** + * Maximum Diffie-Hellman Group Bit Size in RFC 4419 Key Exchange Methods + * + * @see self::_key_exchange() + * @var int + * @access private + */ + var $kex_dh_group_size_max = 4096; + + /** + * Server Host Key Algorithms + * + * @see self::getServerHostKeyAlgorithms() + * @var array|false + * @access private + */ + var $server_host_key_algorithms = false; + + /** + * Encryption Algorithms: Client to Server + * + * @see self::getEncryptionAlgorithmsClient2Server() + * @var array|false + * @access private + */ + var $encryption_algorithms_client_to_server = false; + + /** + * Encryption Algorithms: Server to Client + * + * @see self::getEncryptionAlgorithmsServer2Client() + * @var array|false + * @access private + */ + var $encryption_algorithms_server_to_client = false; + + /** + * MAC Algorithms: Client to Server + * + * @see self::getMACAlgorithmsClient2Server() + * @var array|false + * @access private + */ + var $mac_algorithms_client_to_server = false; + + /** + * MAC Algorithms: Server to Client + * + * @see self::getMACAlgorithmsServer2Client() + * @var array|false + * @access private + */ + var $mac_algorithms_server_to_client = false; + + /** + * Compression Algorithms: Client to Server + * + * @see self::getCompressionAlgorithmsClient2Server() + * @var array|false + * @access private + */ + var $compression_algorithms_client_to_server = false; + + /** + * Compression Algorithms: Server to Client + * + * @see self::getCompressionAlgorithmsServer2Client() + * @var array|false + * @access private + */ + var $compression_algorithms_server_to_client = false; + + /** + * Languages: Server to Client + * + * @see self::getLanguagesServer2Client() + * @var array|false + * @access private + */ + var $languages_server_to_client = false; + + /** + * Languages: Client to Server + * + * @see self::getLanguagesClient2Server() + * @var array|false + * @access private + */ + var $languages_client_to_server = false; + + /** + * Block Size for Server to Client Encryption + * + * "Note that the length of the concatenation of 'packet_length', + * 'padding_length', 'payload', and 'random padding' MUST be a multiple + * of the cipher block size or 8, whichever is larger. This constraint + * MUST be enforced, even when using stream ciphers." + * + * -- http://tools.ietf.org/html/rfc4253#section-6 + * + * @see self::__construct() + * @see self::_send_binary_packet() + * @var int + * @access private + */ + var $encrypt_block_size = 8; + + /** + * Block Size for Client to Server Encryption + * + * @see self::__construct() + * @see self::_get_binary_packet() + * @var int + * @access private + */ + var $decrypt_block_size = 8; + + /** + * Server to Client Encryption Object + * + * @see self::_get_binary_packet() + * @var object + * @access private + */ + var $decrypt = false; + + /** + * Client to Server Encryption Object + * + * @see self::_send_binary_packet() + * @var object + * @access private + */ + var $encrypt = false; + + /** + * Client to Server HMAC Object + * + * @see self::_send_binary_packet() + * @var object + * @access private + */ + var $hmac_create = false; + + /** + * Server to Client HMAC Object + * + * @see self::_get_binary_packet() + * @var object + * @access private + */ + var $hmac_check = false; + + /** + * Size of server to client HMAC + * + * We need to know how big the HMAC will be for the server to client direction so that we know how many bytes to read. + * For the client to server side, the HMAC object will make the HMAC as long as it needs to be. All we need to do is + * append it. + * + * @see self::_get_binary_packet() + * @var int + * @access private + */ + var $hmac_size = false; + + /** + * Server Public Host Key + * + * @see self::getServerPublicHostKey() + * @var string + * @access private + */ + var $server_public_host_key; + + /** + * Session identifier + * + * "The exchange hash H from the first key exchange is additionally + * used as the session identifier, which is a unique identifier for + * this connection." + * + * -- http://tools.ietf.org/html/rfc4253#section-7.2 + * + * @see self::_key_exchange() + * @var string + * @access private + */ + var $session_id = false; + + /** + * Exchange hash + * + * The current exchange hash + * + * @see self::_key_exchange() + * @var string + * @access private + */ + var $exchange_hash = false; + + /** + * Message Numbers + * + * @see self::__construct() + * @var array + * @access private + */ + var $message_numbers = array(); + + /** + * Disconnection Message 'reason codes' defined in RFC4253 + * + * @see self::__construct() + * @var array + * @access private + */ + var $disconnect_reasons = array(); + + /** + * SSH_MSG_CHANNEL_OPEN_FAILURE 'reason codes', defined in RFC4254 + * + * @see self::__construct() + * @var array + * @access private + */ + var $channel_open_failure_reasons = array(); + + /** + * Terminal Modes + * + * @link http://tools.ietf.org/html/rfc4254#section-8 + * @see self::__construct() + * @var array + * @access private + */ + var $terminal_modes = array(); + + /** + * SSH_MSG_CHANNEL_EXTENDED_DATA's data_type_codes + * + * @link http://tools.ietf.org/html/rfc4254#section-5.2 + * @see self::__construct() + * @var array + * @access private + */ + var $channel_extended_data_type_codes = array(); + + /** + * Send Sequence Number + * + * See 'Section 6.4. Data Integrity' of rfc4253 for more info. + * + * @see self::_send_binary_packet() + * @var int + * @access private + */ + var $send_seq_no = 0; + + /** + * Get Sequence Number + * + * See 'Section 6.4. Data Integrity' of rfc4253 for more info. + * + * @see self::_get_binary_packet() + * @var int + * @access private + */ + var $get_seq_no = 0; + + /** + * Server Channels + * + * Maps client channels to server channels + * + * @see self::_get_channel_packet() + * @see self::exec() + * @var array + * @access private + */ + var $server_channels = array(); + + /** + * Channel Buffers + * + * If a client requests a packet from one channel but receives two packets from another those packets should + * be placed in a buffer + * + * @see self::_get_channel_packet() + * @see self::exec() + * @var array + * @access private + */ + var $channel_buffers = array(); + + /** + * Channel Status + * + * Contains the type of the last sent message + * + * @see self::_get_channel_packet() + * @var array + * @access private + */ + var $channel_status = array(); + + /** + * Packet Size + * + * Maximum packet size indexed by channel + * + * @see self::_send_channel_packet() + * @var array + * @access private + */ + var $packet_size_client_to_server = array(); + + /** + * Message Number Log + * + * @see self::getLog() + * @var array + * @access private + */ + var $message_number_log = array(); + + /** + * Message Log + * + * @see self::getLog() + * @var array + * @access private + */ + var $message_log = array(); + + /** + * The Window Size + * + * Bytes the other party can send before it must wait for the window to be adjusted (0x7FFFFFFF = 2GB) + * + * @var int + * @see self::_send_channel_packet() + * @see self::exec() + * @access private + */ + var $window_size = 0x7FFFFFFF; + + /** + * Window size, server to client + * + * Window size indexed by channel + * + * @see self::_send_channel_packet() + * @var array + * @access private + */ + var $window_size_server_to_client = array(); + + /** + * Window size, client to server + * + * Window size indexed by channel + * + * @see self::_get_channel_packet() + * @var array + * @access private + */ + var $window_size_client_to_server = array(); + + /** + * Server signature + * + * Verified against $this->session_id + * + * @see self::getServerPublicHostKey() + * @var string + * @access private + */ + var $signature = ''; + + /** + * Server signature format + * + * ssh-rsa or ssh-dss. + * + * @see self::getServerPublicHostKey() + * @var string + * @access private + */ + var $signature_format = ''; + + /** + * Interactive Buffer + * + * @see self::read() + * @var array + * @access private + */ + var $interactiveBuffer = ''; + + /** + * Current log size + * + * Should never exceed self::LOG_MAX_SIZE + * + * @see self::_send_binary_packet() + * @see self::_get_binary_packet() + * @var int + * @access private + */ + var $log_size; + + /** + * Timeout + * + * @see self::setTimeout() + * @access private + */ + var $timeout; + + /** + * Current Timeout + * + * @see self::_get_channel_packet() + * @access private + */ + var $curTimeout; + + /** + * Real-time log file pointer + * + * @see self::_append_log() + * @var resource + * @access private + */ + var $realtime_log_file; + + /** + * Real-time log file size + * + * @see self::_append_log() + * @var int + * @access private + */ + var $realtime_log_size; + + /** + * Has the signature been validated? + * + * @see self::getServerPublicHostKey() + * @var bool + * @access private + */ + var $signature_validated = false; + + /** + * Real-time log file wrap boolean + * + * @see self::_append_log() + * @access private + */ + var $realtime_log_wrap; + + /** + * Flag to suppress stderr from output + * + * @see self::enableQuietMode() + * @access private + */ + var $quiet_mode = false; + + /** + * Time of first network activity + * + * @var int + * @access private + */ + var $last_packet; + + /** + * Exit status returned from ssh if any + * + * @var int + * @access private + */ + var $exit_status; + + /** + * Flag to request a PTY when using exec() + * + * @var bool + * @see self::enablePTY() + * @access private + */ + var $request_pty = false; + + /** + * Flag set while exec() is running when using enablePTY() + * + * @var bool + * @access private + */ + var $in_request_pty_exec = false; + + /** + * Flag set after startSubsystem() is called + * + * @var bool + * @access private + */ + var $in_subsystem; + + /** + * Contents of stdError + * + * @var string + * @access private + */ + var $stdErrorLog; + + /** + * The Last Interactive Response + * + * @see self::_keyboard_interactive_process() + * @var string + * @access private + */ + var $last_interactive_response = ''; + + /** + * Keyboard Interactive Request / Responses + * + * @see self::_keyboard_interactive_process() + * @var array + * @access private + */ + var $keyboard_requests_responses = array(); + + /** + * Banner Message + * + * Quoting from the RFC, "in some jurisdictions, sending a warning message before + * authentication may be relevant for getting legal protection." + * + * @see self::_filter() + * @see self::getBannerMessage() + * @var string + * @access private + */ + var $banner_message = ''; + + /** + * Did read() timeout or return normally? + * + * @see self::isTimeout() + * @var bool + * @access private + */ + var $is_timeout = false; + + /** + * Log Boundary + * + * @see self::_format_log() + * @var string + * @access private + */ + var $log_boundary = ':'; + + /** + * Log Long Width + * + * @see self::_format_log() + * @var int + * @access private + */ + var $log_long_width = 65; + + /** + * Log Short Width + * + * @see self::_format_log() + * @var int + * @access private + */ + var $log_short_width = 16; + + /** + * Hostname + * + * @see self::__construct() + * @see self::_connect() + * @var string + * @access private + */ + var $host; + + /** + * Port Number + * + * @see self::__construct() + * @see self::_connect() + * @var int + * @access private + */ + var $port; + + /** + * Number of columns for terminal window size + * + * @see self::getWindowColumns() + * @see self::setWindowColumns() + * @see self::setWindowSize() + * @var int + * @access private + */ + var $windowColumns = 80; + + /** + * Number of columns for terminal window size + * + * @see self::getWindowRows() + * @see self::setWindowRows() + * @see self::setWindowSize() + * @var int + * @access private + */ + var $windowRows = 24; + + /** + * Crypto Engine + * + * @see self::setCryptoEngine() + * @see self::_key_exchange() + * @var int + * @access private + */ + var $crypto_engine = false; + + /** + * A System_SSH_Agent for use in the SSH2 Agent Forwarding scenario + * + * @var System_SSH_Agent + * @access private + */ + var $agent; + + /** + * Default Constructor. + * + * $host can either be a string, representing the host, or a stream resource. + * + * @param mixed $host + * @param int $port + * @param int $timeout + * @see self::login() + * @return \phpseclib\Net\SSH2 + * @access public + */ + function __construct($host, $port = 22, $timeout = 10) + { + $this->message_numbers = array( + 1 => 'NET_SSH2_MSG_DISCONNECT', + 2 => 'NET_SSH2_MSG_IGNORE', + 3 => 'NET_SSH2_MSG_UNIMPLEMENTED', + 4 => 'NET_SSH2_MSG_DEBUG', + 5 => 'NET_SSH2_MSG_SERVICE_REQUEST', + 6 => 'NET_SSH2_MSG_SERVICE_ACCEPT', + 20 => 'NET_SSH2_MSG_KEXINIT', + 21 => 'NET_SSH2_MSG_NEWKEYS', + 30 => 'NET_SSH2_MSG_KEXDH_INIT', + 31 => 'NET_SSH2_MSG_KEXDH_REPLY', + 50 => 'NET_SSH2_MSG_USERAUTH_REQUEST', + 51 => 'NET_SSH2_MSG_USERAUTH_FAILURE', + 52 => 'NET_SSH2_MSG_USERAUTH_SUCCESS', + 53 => 'NET_SSH2_MSG_USERAUTH_BANNER', + + 80 => 'NET_SSH2_MSG_GLOBAL_REQUEST', + 81 => 'NET_SSH2_MSG_REQUEST_SUCCESS', + 82 => 'NET_SSH2_MSG_REQUEST_FAILURE', + 90 => 'NET_SSH2_MSG_CHANNEL_OPEN', + 91 => 'NET_SSH2_MSG_CHANNEL_OPEN_CONFIRMATION', + 92 => 'NET_SSH2_MSG_CHANNEL_OPEN_FAILURE', + 93 => 'NET_SSH2_MSG_CHANNEL_WINDOW_ADJUST', + 94 => 'NET_SSH2_MSG_CHANNEL_DATA', + 95 => 'NET_SSH2_MSG_CHANNEL_EXTENDED_DATA', + 96 => 'NET_SSH2_MSG_CHANNEL_EOF', + 97 => 'NET_SSH2_MSG_CHANNEL_CLOSE', + 98 => 'NET_SSH2_MSG_CHANNEL_REQUEST', + 99 => 'NET_SSH2_MSG_CHANNEL_SUCCESS', + 100 => 'NET_SSH2_MSG_CHANNEL_FAILURE' + ); + $this->disconnect_reasons = array( + 1 => 'NET_SSH2_DISCONNECT_HOST_NOT_ALLOWED_TO_CONNECT', + 2 => 'NET_SSH2_DISCONNECT_PROTOCOL_ERROR', + 3 => 'NET_SSH2_DISCONNECT_KEY_EXCHANGE_FAILED', + 4 => 'NET_SSH2_DISCONNECT_RESERVED', + 5 => 'NET_SSH2_DISCONNECT_MAC_ERROR', + 6 => 'NET_SSH2_DISCONNECT_COMPRESSION_ERROR', + 7 => 'NET_SSH2_DISCONNECT_SERVICE_NOT_AVAILABLE', + 8 => 'NET_SSH2_DISCONNECT_PROTOCOL_VERSION_NOT_SUPPORTED', + 9 => 'NET_SSH2_DISCONNECT_HOST_KEY_NOT_VERIFIABLE', + 10 => 'NET_SSH2_DISCONNECT_CONNECTION_LOST', + 11 => 'NET_SSH2_DISCONNECT_BY_APPLICATION', + 12 => 'NET_SSH2_DISCONNECT_TOO_MANY_CONNECTIONS', + 13 => 'NET_SSH2_DISCONNECT_AUTH_CANCELLED_BY_USER', + 14 => 'NET_SSH2_DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE', + 15 => 'NET_SSH2_DISCONNECT_ILLEGAL_USER_NAME' + ); + $this->channel_open_failure_reasons = array( + 1 => 'NET_SSH2_OPEN_ADMINISTRATIVELY_PROHIBITED' + ); + $this->terminal_modes = array( + 0 => 'NET_SSH2_TTY_OP_END' + ); + $this->channel_extended_data_type_codes = array( + 1 => 'NET_SSH2_EXTENDED_DATA_STDERR' + ); + + $this->_define_array( + $this->message_numbers, + $this->disconnect_reasons, + $this->channel_open_failure_reasons, + $this->terminal_modes, + $this->channel_extended_data_type_codes, + array(60 => 'NET_SSH2_MSG_USERAUTH_PASSWD_CHANGEREQ'), + array(60 => 'NET_SSH2_MSG_USERAUTH_PK_OK'), + array(60 => 'NET_SSH2_MSG_USERAUTH_INFO_REQUEST', + 61 => 'NET_SSH2_MSG_USERAUTH_INFO_RESPONSE'), + // RFC 4419 - diffie-hellman-group-exchange-sha{1,256} + array(30 => 'NET_SSH2_MSG_KEXDH_GEX_REQUEST_OLD', + 31 => 'NET_SSH2_MSG_KEXDH_GEX_GROUP', + 32 => 'NET_SSH2_MSG_KEXDH_GEX_INIT', + 33 => 'NET_SSH2_MSG_KEXDH_GEX_REPLY', + 34 => 'NET_SSH2_MSG_KEXDH_GEX_REQUEST'), + // RFC 5656 - Elliptic Curves (for curve25519-sha256@libssh.org) + array(30 => 'NET_SSH2_MSG_KEX_ECDH_INIT', + 31 => 'NET_SSH2_MSG_KEX_ECDH_REPLY') + ); + + if (is_resource($host)) { + $this->fsock = $host; + return; + } + + if (is_string($host)) { + $this->host = $host; + $this->port = $port; + $this->timeout = $timeout; + } + } + + /** + * Set Crypto Engine Mode + * + * Possible $engine values: + * CRYPT_MODE_INTERNAL, CRYPT_MODE_MCRYPT + * + * @param int $engine + * @access private + */ + function setCryptoEngine($engine) + { + $this->crypto_engine = $engine; + } + + /** + * Connect to an SSHv2 server + * + * @return bool + * @access private + */ + function _connect() + { + if ($this->bitmap & self::MASK_CONSTRUCTOR) { + return false; + } + + $this->bitmap |= self::MASK_CONSTRUCTOR; + + $this->curTimeout = $this->timeout; + + $this->last_packet = microtime(true); + + if (!is_resource($this->fsock)) { + $start = microtime(true); + $this->fsock = @fsockopen($this->host, $this->port, $errno, $errstr, $this->curTimeout); + if (!$this->fsock) { + $host = $this->host . ':' . $this->port; + user_error(rtrim("Cannot connect to $host. Error $errno. $errstr")); + return false; + } + $elapsed = microtime(true) - $start; + + $this->curTimeout-= $elapsed; + + if ($this->curTimeout <= 0) { + $this->is_timeout = true; + return false; + } + } + + /* According to the SSH2 specs, + + "The server MAY send other lines of data before sending the version + string. Each line SHOULD be terminated by a Carriage Return and Line + Feed. Such lines MUST NOT begin with "SSH-", and SHOULD be encoded + in ISO-10646 UTF-8 [RFC3629] (language is not specified). Clients + MUST be able to process such lines." */ + $data = ''; + while (!feof($this->fsock) && !preg_match('#(.*)^(SSH-(\d\.\d+).*)#ms', $data, $matches)) { + $line = ''; + while (true) { + if ($this->curTimeout) { + if ($this->curTimeout < 0) { + $this->is_timeout = true; + return false; + } + $read = array($this->fsock); + $write = $except = null; + $start = microtime(true); + $sec = floor($this->curTimeout); + $usec = 1000000 * ($this->curTimeout - $sec); + // on windows this returns a "Warning: Invalid CRT parameters detected" error + // the !count() is done as a workaround for <https://bugs.php.net/42682> + if (!@stream_select($read, $write, $except, $sec, $usec) && !count($read)) { + $this->is_timeout = true; + return false; + } + $elapsed = microtime(true) - $start; + $this->curTimeout-= $elapsed; + } + + $temp = stream_get_line($this->fsock, 255, "\n"); + if (strlen($temp) == 255) { + continue; + } + + $line.= "$temp\n"; + + // quoting RFC4253, "Implementers who wish to maintain + // compatibility with older, undocumented versions of this protocol may + // want to process the identification string without expecting the + // presence of the carriage return character for reasons described in + // Section 5 of this document." + + //if (substr($line, -2) == "\r\n") { + // break; + //} + + break; + } + + $data.= $line; + } + + if (feof($this->fsock)) { + user_error('Connection closed by server'); + return false; + } + + $extra = $matches[1]; + + $this->identifier = $this->_generate_identifier(); + + if (defined('NET_SSH2_LOGGING')) { + $this->_append_log('<-', $matches[0]); + $this->_append_log('->', $this->identifier . "\r\n"); + } + + $this->server_identifier = trim($temp, "\r\n"); + if (strlen($extra)) { + $this->errors[] = utf8_decode($data); + } + + if ($matches[3] != '1.99' && $matches[3] != '2.0') { + user_error("Cannot connect to SSH $matches[3] servers"); + return false; + } + + fputs($this->fsock, $this->identifier . "\r\n"); + + $response = $this->_get_binary_packet(); + if ($response === false) { + user_error('Connection closed by server'); + return false; + } + + if (ord($response[0]) != NET_SSH2_MSG_KEXINIT) { + user_error('Expected SSH_MSG_KEXINIT'); + return false; + } + + if (!$this->_key_exchange($response)) { + return false; + } + + $this->bitmap|= self::MASK_CONNECTED; + + return true; + } + + /** + * Generates the SSH identifier + * + * You should overwrite this method in your own class if you want to use another identifier + * + * @access protected + * @return string + */ + function _generate_identifier() + { + $identifier = 'SSH-2.0-phpseclib_2.0'; + + $ext = array(); + if (extension_loaded('libsodium')) { + $ext[] = 'libsodium'; + } + + if (extension_loaded('openssl')) { + $ext[] = 'openssl'; + } elseif (extension_loaded('mcrypt')) { + $ext[] = 'mcrypt'; + } + + if (extension_loaded('gmp')) { + $ext[] = 'gmp'; + } elseif (extension_loaded('bcmath')) { + $ext[] = 'bcmath'; + } + + if (!empty($ext)) { + $identifier .= ' (' . implode(', ', $ext) . ')'; + } + + return $identifier; + } + + /** + * Key Exchange + * + * @param string $kexinit_payload_server + * @access private + */ + function _key_exchange($kexinit_payload_server) + { + $kex_algorithms = array( + // Elliptic Curve Diffie-Hellman Key Agreement (ECDH) using + // Curve25519. See doc/curve25519-sha256@libssh.org.txt in the + // libssh repository for more information. + 'curve25519-sha256@libssh.org', + + // Diffie-Hellman Key Agreement (DH) using integer modulo prime + // groups. + 'diffie-hellman-group1-sha1', // REQUIRED + 'diffie-hellman-group14-sha1', // REQUIRED + 'diffie-hellman-group-exchange-sha1', // RFC 4419 + 'diffie-hellman-group-exchange-sha256', // RFC 4419 + ); + if (!function_exists('\\Sodium\\library_version_major')) { + $kex_algorithms = array_diff( + $kex_algorithms, + array('curve25519-sha256@libssh.org') + ); + } + + $server_host_key_algorithms = array( + 'ssh-rsa', // RECOMMENDED sign Raw RSA Key + 'ssh-dss' // REQUIRED sign Raw DSS Key + ); + + $encryption_algorithms = array( + // from <http://tools.ietf.org/html/rfc4345#section-4>: + 'arcfour256', + 'arcfour128', + + //'arcfour', // OPTIONAL the ARCFOUR stream cipher with a 128-bit key + + // CTR modes from <http://tools.ietf.org/html/rfc4344#section-4>: + 'aes128-ctr', // RECOMMENDED AES (Rijndael) in SDCTR mode, with 128-bit key + 'aes192-ctr', // RECOMMENDED AES with 192-bit key + 'aes256-ctr', // RECOMMENDED AES with 256-bit key + + 'twofish128-ctr', // OPTIONAL Twofish in SDCTR mode, with 128-bit key + 'twofish192-ctr', // OPTIONAL Twofish with 192-bit key + 'twofish256-ctr', // OPTIONAL Twofish with 256-bit key + + 'aes128-cbc', // RECOMMENDED AES with a 128-bit key + 'aes192-cbc', // OPTIONAL AES with a 192-bit key + 'aes256-cbc', // OPTIONAL AES in CBC mode, with a 256-bit key + + 'twofish128-cbc', // OPTIONAL Twofish with a 128-bit key + 'twofish192-cbc', // OPTIONAL Twofish with a 192-bit key + 'twofish256-cbc', + 'twofish-cbc', // OPTIONAL alias for "twofish256-cbc" + // (this is being retained for historical reasons) + + 'blowfish-ctr', // OPTIONAL Blowfish in SDCTR mode + + 'blowfish-cbc', // OPTIONAL Blowfish in CBC mode + + '3des-ctr', // RECOMMENDED Three-key 3DES in SDCTR mode + + '3des-cbc', // REQUIRED three-key 3DES in CBC mode + //'none' // OPTIONAL no encryption; NOT RECOMMENDED + ); + + if (extension_loaded('openssl') && !extension_loaded('mcrypt')) { + // OpenSSL does not support arcfour256 in any capacity and arcfour128 / arcfour support is limited to + // instances that do not use continuous buffers + $encryption_algorithms = array_diff( + $encryption_algorithms, + array('arcfour256', 'arcfour128', 'arcfour') + ); + } + + if (class_exists('\phpseclib\Crypt\RC4') === false) { + $encryption_algorithms = array_diff( + $encryption_algorithms, + array('arcfour256', 'arcfour128', 'arcfour') + ); + } + if (class_exists('\phpseclib\Crypt\Rijndael') === false) { + $encryption_algorithms = array_diff( + $encryption_algorithms, + array('aes128-ctr', 'aes192-ctr', 'aes256-ctr', 'aes128-cbc', 'aes192-cbc', 'aes256-cbc') + ); + } + if (class_exists('\phpseclib\Crypt\Twofish') === false) { + $encryption_algorithms = array_diff( + $encryption_algorithms, + array('twofish128-ctr', 'twofish192-ctr', 'twofish256-ctr', 'twofish128-cbc', 'twofish192-cbc', 'twofish256-cbc', 'twofish-cbc') + ); + } + if (class_exists('\phpseclib\Crypt\Blowfish') === false) { + $encryption_algorithms = array_diff( + $encryption_algorithms, + array('blowfish-ctr', 'blowfish-cbc') + ); + } + if (class_exists('\phpseclib\Crypt\TripleDES') === false) { + $encryption_algorithms = array_diff( + $encryption_algorithms, + array('3des-ctr', '3des-cbc') + ); + } + $encryption_algorithms = array_values($encryption_algorithms); + + $mac_algorithms = array( + // from <http://www.ietf.org/rfc/rfc6668.txt>: + 'hmac-sha2-256',// RECOMMENDED HMAC-SHA256 (digest length = key length = 32) + + 'hmac-sha1-96', // RECOMMENDED first 96 bits of HMAC-SHA1 (digest length = 12, key length = 20) + 'hmac-sha1', // REQUIRED HMAC-SHA1 (digest length = key length = 20) + 'hmac-md5-96', // OPTIONAL first 96 bits of HMAC-MD5 (digest length = 12, key length = 16) + 'hmac-md5', // OPTIONAL HMAC-MD5 (digest length = key length = 16) + //'none' // OPTIONAL no MAC; NOT RECOMMENDED + ); + + $compression_algorithms = array( + 'none' // REQUIRED no compression + //'zlib' // OPTIONAL ZLIB (LZ77) compression + ); + + // some SSH servers have buggy implementations of some of the above algorithms + switch ($this->server_identifier) { + case 'SSH-2.0-SSHD': + $mac_algorithms = array_values(array_diff( + $mac_algorithms, + array('hmac-sha1-96', 'hmac-md5-96') + )); + } + + $str_kex_algorithms = implode(',', $kex_algorithms); + $str_server_host_key_algorithms = implode(',', $server_host_key_algorithms); + $encryption_algorithms_server_to_client = $encryption_algorithms_client_to_server = implode(',', $encryption_algorithms); + $mac_algorithms_server_to_client = $mac_algorithms_client_to_server = implode(',', $mac_algorithms); + $compression_algorithms_server_to_client = $compression_algorithms_client_to_server = implode(',', $compression_algorithms); + + $client_cookie = Random::string(16); + + $response = $kexinit_payload_server; + $this->_string_shift($response, 1); // skip past the message number (it should be SSH_MSG_KEXINIT) + $server_cookie = $this->_string_shift($response, 16); + + $temp = unpack('Nlength', $this->_string_shift($response, 4)); + $this->kex_algorithms = explode(',', $this->_string_shift($response, $temp['length'])); + + $temp = unpack('Nlength', $this->_string_shift($response, 4)); + $this->server_host_key_algorithms = explode(',', $this->_string_shift($response, $temp['length'])); + + $temp = unpack('Nlength', $this->_string_shift($response, 4)); + $this->encryption_algorithms_client_to_server = explode(',', $this->_string_shift($response, $temp['length'])); + + $temp = unpack('Nlength', $this->_string_shift($response, 4)); + $this->encryption_algorithms_server_to_client = explode(',', $this->_string_shift($response, $temp['length'])); + + $temp = unpack('Nlength', $this->_string_shift($response, 4)); + $this->mac_algorithms_client_to_server = explode(',', $this->_string_shift($response, $temp['length'])); + + $temp = unpack('Nlength', $this->_string_shift($response, 4)); + $this->mac_algorithms_server_to_client = explode(',', $this->_string_shift($response, $temp['length'])); + + $temp = unpack('Nlength', $this->_string_shift($response, 4)); + $this->compression_algorithms_client_to_server = explode(',', $this->_string_shift($response, $temp['length'])); + + $temp = unpack('Nlength', $this->_string_shift($response, 4)); + $this->compression_algorithms_server_to_client = explode(',', $this->_string_shift($response, $temp['length'])); + + $temp = unpack('Nlength', $this->_string_shift($response, 4)); + $this->languages_client_to_server = explode(',', $this->_string_shift($response, $temp['length'])); + + $temp = unpack('Nlength', $this->_string_shift($response, 4)); + $this->languages_server_to_client = explode(',', $this->_string_shift($response, $temp['length'])); + + extract(unpack('Cfirst_kex_packet_follows', $this->_string_shift($response, 1))); + $first_kex_packet_follows = $first_kex_packet_follows != 0; + + // the sending of SSH2_MSG_KEXINIT could go in one of two places. this is the second place. + $kexinit_payload_client = pack( + 'Ca*Na*Na*Na*Na*Na*Na*Na*Na*Na*Na*CN', + NET_SSH2_MSG_KEXINIT, + $client_cookie, + strlen($str_kex_algorithms), + $str_kex_algorithms, + strlen($str_server_host_key_algorithms), + $str_server_host_key_algorithms, + strlen($encryption_algorithms_client_to_server), + $encryption_algorithms_client_to_server, + strlen($encryption_algorithms_server_to_client), + $encryption_algorithms_server_to_client, + strlen($mac_algorithms_client_to_server), + $mac_algorithms_client_to_server, + strlen($mac_algorithms_server_to_client), + $mac_algorithms_server_to_client, + strlen($compression_algorithms_client_to_server), + $compression_algorithms_client_to_server, + strlen($compression_algorithms_server_to_client), + $compression_algorithms_server_to_client, + 0, + '', + 0, + '', + 0, + 0 + ); + + if (!$this->_send_binary_packet($kexinit_payload_client)) { + return false; + } + // here ends the second place. + + // we need to decide upon the symmetric encryption algorithms before we do the diffie-hellman key exchange + // we don't initialize any crypto-objects, yet - we do that, later. for now, we need the lengths to make the + // diffie-hellman key exchange as fast as possible + $decrypt = $this->_array_intersect_first($encryption_algorithms, $this->encryption_algorithms_server_to_client); + $decryptKeyLength = $this->_encryption_algorithm_to_key_size($decrypt); + if ($decryptKeyLength === null) { + user_error('No compatible server to client encryption algorithms found'); + return $this->_disconnect(NET_SSH2_DISCONNECT_KEY_EXCHANGE_FAILED); + } + + $encrypt = $this->_array_intersect_first($encryption_algorithms, $this->encryption_algorithms_client_to_server); + $encryptKeyLength = $this->_encryption_algorithm_to_key_size($encrypt); + if ($encryptKeyLength === null) { + user_error('No compatible client to server encryption algorithms found'); + return $this->_disconnect(NET_SSH2_DISCONNECT_KEY_EXCHANGE_FAILED); + } + + // through diffie-hellman key exchange a symmetric key is obtained + $kex_algorithm = $this->_array_intersect_first($kex_algorithms, $this->kex_algorithms); + if ($kex_algorithm === false) { + user_error('No compatible key exchange algorithms found'); + return $this->_disconnect(NET_SSH2_DISCONNECT_KEY_EXCHANGE_FAILED); + } + + // Only relevant in diffie-hellman-group-exchange-sha{1,256}, otherwise empty. + $exchange_hash_rfc4419 = ''; + + if ($kex_algorithm === 'curve25519-sha256@libssh.org') { + $x = Random::string(32); + $eBytes = \Sodium\crypto_box_publickey_from_secretkey($x); + $clientKexInitMessage = NET_SSH2_MSG_KEX_ECDH_INIT; + $serverKexReplyMessage = NET_SSH2_MSG_KEX_ECDH_REPLY; + $kexHash = new Hash('sha256'); + } else { + if (strpos($kex_algorithm, 'diffie-hellman-group-exchange') === 0) { + $dh_group_sizes_packed = pack( + 'NNN', + $this->kex_dh_group_size_min, + $this->kex_dh_group_size_preferred, + $this->kex_dh_group_size_max + ); + $packet = pack( + 'Ca*', + NET_SSH2_MSG_KEXDH_GEX_REQUEST, + $dh_group_sizes_packed + ); + if (!$this->_send_binary_packet($packet)) { + return false; + } + + $response = $this->_get_binary_packet(); + if ($response === false) { + user_error('Connection closed by server'); + return false; + } + extract(unpack('Ctype', $this->_string_shift($response, 1))); + if ($type != NET_SSH2_MSG_KEXDH_GEX_GROUP) { + user_error('Expected SSH_MSG_KEX_DH_GEX_GROUP'); + return false; + } + + extract(unpack('NprimeLength', $this->_string_shift($response, 4))); + $primeBytes = $this->_string_shift($response, $primeLength); + $prime = new BigInteger($primeBytes, -256); + + extract(unpack('NgLength', $this->_string_shift($response, 4))); + $gBytes = $this->_string_shift($response, $gLength); + $g = new BigInteger($gBytes, -256); + + $exchange_hash_rfc4419 = pack( + 'a*Na*Na*', + $dh_group_sizes_packed, + $primeLength, + $primeBytes, + $gLength, + $gBytes + ); + + $clientKexInitMessage = NET_SSH2_MSG_KEXDH_GEX_INIT; + $serverKexReplyMessage = NET_SSH2_MSG_KEXDH_GEX_REPLY; + } else { + switch ($kex_algorithm) { + // see http://tools.ietf.org/html/rfc2409#section-6.2 and + // http://tools.ietf.org/html/rfc2412, appendex E + case 'diffie-hellman-group1-sha1': + $prime = 'FFFFFFFFFFFFFFFFC90FDAA22168C234C4C6628B80DC1CD129024E088A67CC74' . + '020BBEA63B139B22514A08798E3404DDEF9519B3CD3A431B302B0A6DF25F1437' . + '4FE1356D6D51C245E485B576625E7EC6F44C42E9A637ED6B0BFF5CB6F406B7ED' . + 'EE386BFB5A899FA5AE9F24117C4B1FE649286651ECE65381FFFFFFFFFFFFFFFF'; + break; + // see http://tools.ietf.org/html/rfc3526#section-3 + case 'diffie-hellman-group14-sha1': + $prime = 'FFFFFFFFFFFFFFFFC90FDAA22168C234C4C6628B80DC1CD129024E088A67CC74' . + '020BBEA63B139B22514A08798E3404DDEF9519B3CD3A431B302B0A6DF25F1437' . + '4FE1356D6D51C245E485B576625E7EC6F44C42E9A637ED6B0BFF5CB6F406B7ED' . + 'EE386BFB5A899FA5AE9F24117C4B1FE649286651ECE45B3DC2007CB8A163BF05' . + '98DA48361C55D39A69163FA8FD24CF5F83655D23DCA3AD961C62F356208552BB' . + '9ED529077096966D670C354E4ABC9804F1746C08CA18217C32905E462E36CE3B' . + 'E39E772C180E86039B2783A2EC07A28FB5C55DF06F4C52C9DE2BCBF695581718' . + '3995497CEA956AE515D2261898FA051015728E5A8AACAA68FFFFFFFFFFFFFFFF'; + break; + } + // For both diffie-hellman-group1-sha1 and diffie-hellman-group14-sha1 + // the generator field element is 2 (decimal) and the hash function is sha1. + $g = new BigInteger(2); + $prime = new BigInteger($prime, 16); + $clientKexInitMessage = NET_SSH2_MSG_KEXDH_INIT; + $serverKexReplyMessage = NET_SSH2_MSG_KEXDH_REPLY; + } + + switch ($kex_algorithm) { + case 'diffie-hellman-group-exchange-sha256': + $kexHash = new Hash('sha256'); + break; + default: + $kexHash = new Hash('sha1'); + } + + /* To increase the speed of the key exchange, both client and server may + reduce the size of their private exponents. It should be at least + twice as long as the key material that is generated from the shared + secret. For more details, see the paper by van Oorschot and Wiener + [VAN-OORSCHOT]. + + -- http://tools.ietf.org/html/rfc4419#section-6.2 */ + $one = new BigInteger(1); + $keyLength = min($kexHash->getLength(), max($encryptKeyLength, $decryptKeyLength)); + $max = $one->bitwise_leftShift(16 * $keyLength); // 2 * 8 * $keyLength + $max = $max->subtract($one); + + $x = $one->random($one, $max); + $e = $g->modPow($x, $prime); + + $eBytes = $e->toBytes(true); + } + $data = pack('CNa*', $clientKexInitMessage, strlen($eBytes), $eBytes); + + if (!$this->_send_binary_packet($data)) { + user_error('Connection closed by server'); + return false; + } + + $response = $this->_get_binary_packet(); + if ($response === false) { + user_error('Connection closed by server'); + return false; + } + extract(unpack('Ctype', $this->_string_shift($response, 1))); + + if ($type != $serverKexReplyMessage) { + user_error('Expected SSH_MSG_KEXDH_REPLY'); + return false; + } + + $temp = unpack('Nlength', $this->_string_shift($response, 4)); + $this->server_public_host_key = $server_public_host_key = $this->_string_shift($response, $temp['length']); + + $temp = unpack('Nlength', $this->_string_shift($server_public_host_key, 4)); + $public_key_format = $this->_string_shift($server_public_host_key, $temp['length']); + + $temp = unpack('Nlength', $this->_string_shift($response, 4)); + $fBytes = $this->_string_shift($response, $temp['length']); + + $temp = unpack('Nlength', $this->_string_shift($response, 4)); + $this->signature = $this->_string_shift($response, $temp['length']); + + $temp = unpack('Nlength', $this->_string_shift($this->signature, 4)); + $this->signature_format = $this->_string_shift($this->signature, $temp['length']); + + if ($kex_algorithm === 'curve25519-sha256@libssh.org') { + if (strlen($fBytes) !== 32) { + user_error('Received curve25519 public key of invalid length.'); + return false; + } + $key = new BigInteger(\Sodium\crypto_scalarmult($x, $fBytes), 256); + \Sodium\memzero($x); + } else { + $f = new BigInteger($fBytes, -256); + $key = $f->modPow($x, $prime); + } + $keyBytes = $key->toBytes(true); + + $this->exchange_hash = pack( + 'Na*Na*Na*Na*Na*a*Na*Na*Na*', + strlen($this->identifier), + $this->identifier, + strlen($this->server_identifier), + $this->server_identifier, + strlen($kexinit_payload_client), + $kexinit_payload_client, + strlen($kexinit_payload_server), + $kexinit_payload_server, + strlen($this->server_public_host_key), + $this->server_public_host_key, + $exchange_hash_rfc4419, + strlen($eBytes), + $eBytes, + strlen($fBytes), + $fBytes, + strlen($keyBytes), + $keyBytes + ); + + $this->exchange_hash = $kexHash->hash($this->exchange_hash); + + if ($this->session_id === false) { + $this->session_id = $this->exchange_hash; + } + + $server_host_key_algorithm = $this->_array_intersect_first($server_host_key_algorithms, $this->server_host_key_algorithms); + if ($server_host_key_algorithm === false) { + user_error('No compatible server host key algorithms found'); + return $this->_disconnect(NET_SSH2_DISCONNECT_KEY_EXCHANGE_FAILED); + } + + if ($public_key_format != $server_host_key_algorithm || $this->signature_format != $server_host_key_algorithm) { + user_error('Server Host Key Algorithm Mismatch'); + return $this->_disconnect(NET_SSH2_DISCONNECT_KEY_EXCHANGE_FAILED); + } + + $packet = pack( + 'C', + NET_SSH2_MSG_NEWKEYS + ); + + if (!$this->_send_binary_packet($packet)) { + return false; + } + + $response = $this->_get_binary_packet(); + + if ($response === false) { + user_error('Connection closed by server'); + return false; + } + + extract(unpack('Ctype', $this->_string_shift($response, 1))); + + if ($type != NET_SSH2_MSG_NEWKEYS) { + user_error('Expected SSH_MSG_NEWKEYS'); + return false; + } + + $keyBytes = pack('Na*', strlen($keyBytes), $keyBytes); + + $this->encrypt = $this->_encryption_algorithm_to_crypt_instance($encrypt); + if ($this->encrypt) { + if ($this->crypto_engine) { + $this->encrypt->setEngine($this->crypto_engine); + } + if ($this->encrypt->block_size) { + $this->encrypt_block_size = $this->encrypt->block_size; + } + $this->encrypt->enableContinuousBuffer(); + $this->encrypt->disablePadding(); + + $iv = $kexHash->hash($keyBytes . $this->exchange_hash . 'A' . $this->session_id); + while ($this->encrypt_block_size > strlen($iv)) { + $iv.= $kexHash->hash($keyBytes . $this->exchange_hash . $iv); + } + $this->encrypt->setIV(substr($iv, 0, $this->encrypt_block_size)); + + $key = $kexHash->hash($keyBytes . $this->exchange_hash . 'C' . $this->session_id); + while ($encryptKeyLength > strlen($key)) { + $key.= $kexHash->hash($keyBytes . $this->exchange_hash . $key); + } + $this->encrypt->setKey(substr($key, 0, $encryptKeyLength)); + } + + $this->decrypt = $this->_encryption_algorithm_to_crypt_instance($decrypt); + if ($this->decrypt) { + if ($this->crypto_engine) { + $this->decrypt->setEngine($this->crypto_engine); + } + if ($this->decrypt->block_size) { + $this->decrypt_block_size = $this->decrypt->block_size; + } + $this->decrypt->enableContinuousBuffer(); + $this->decrypt->disablePadding(); + + $iv = $kexHash->hash($keyBytes . $this->exchange_hash . 'B' . $this->session_id); + while ($this->decrypt_block_size > strlen($iv)) { + $iv.= $kexHash->hash($keyBytes . $this->exchange_hash . $iv); + } + $this->decrypt->setIV(substr($iv, 0, $this->decrypt_block_size)); + + $key = $kexHash->hash($keyBytes . $this->exchange_hash . 'D' . $this->session_id); + while ($decryptKeyLength > strlen($key)) { + $key.= $kexHash->hash($keyBytes . $this->exchange_hash . $key); + } + $this->decrypt->setKey(substr($key, 0, $decryptKeyLength)); + } + + /* The "arcfour128" algorithm is the RC4 cipher, as described in + [SCHNEIER], using a 128-bit key. The first 1536 bytes of keystream + generated by the cipher MUST be discarded, and the first byte of the + first encrypted packet MUST be encrypted using the 1537th byte of + keystream. + + -- http://tools.ietf.org/html/rfc4345#section-4 */ + if ($encrypt == 'arcfour128' || $encrypt == 'arcfour256') { + $this->encrypt->encrypt(str_repeat("\0", 1536)); + } + if ($decrypt == 'arcfour128' || $decrypt == 'arcfour256') { + $this->decrypt->decrypt(str_repeat("\0", 1536)); + } + + $mac_algorithm = $this->_array_intersect_first($mac_algorithms, $this->mac_algorithms_client_to_server); + if ($mac_algorithm === false) { + user_error('No compatible client to server message authentication algorithms found'); + return $this->_disconnect(NET_SSH2_DISCONNECT_KEY_EXCHANGE_FAILED); + } + + $createKeyLength = 0; // ie. $mac_algorithm == 'none' + switch ($mac_algorithm) { + case 'hmac-sha2-256': + $this->hmac_create = new Hash('sha256'); + $createKeyLength = 32; + break; + case 'hmac-sha1': + $this->hmac_create = new Hash('sha1'); + $createKeyLength = 20; + break; + case 'hmac-sha1-96': + $this->hmac_create = new Hash('sha1-96'); + $createKeyLength = 20; + break; + case 'hmac-md5': + $this->hmac_create = new Hash('md5'); + $createKeyLength = 16; + break; + case 'hmac-md5-96': + $this->hmac_create = new Hash('md5-96'); + $createKeyLength = 16; + } + + $mac_algorithm = $this->_array_intersect_first($mac_algorithms, $this->mac_algorithms_server_to_client); + if ($mac_algorithm === false) { + user_error('No compatible server to client message authentication algorithms found'); + return $this->_disconnect(NET_SSH2_DISCONNECT_KEY_EXCHANGE_FAILED); + } + + $checkKeyLength = 0; + $this->hmac_size = 0; + switch ($mac_algorithm) { + case 'hmac-sha2-256': + $this->hmac_check = new Hash('sha256'); + $checkKeyLength = 32; + $this->hmac_size = 32; + break; + case 'hmac-sha1': + $this->hmac_check = new Hash('sha1'); + $checkKeyLength = 20; + $this->hmac_size = 20; + break; + case 'hmac-sha1-96': + $this->hmac_check = new Hash('sha1-96'); + $checkKeyLength = 20; + $this->hmac_size = 12; + break; + case 'hmac-md5': + $this->hmac_check = new Hash('md5'); + $checkKeyLength = 16; + $this->hmac_size = 16; + break; + case 'hmac-md5-96': + $this->hmac_check = new Hash('md5-96'); + $checkKeyLength = 16; + $this->hmac_size = 12; + } + + $key = $kexHash->hash($keyBytes . $this->exchange_hash . 'E' . $this->session_id); + while ($createKeyLength > strlen($key)) { + $key.= $kexHash->hash($keyBytes . $this->exchange_hash . $key); + } + $this->hmac_create->setKey(substr($key, 0, $createKeyLength)); + + $key = $kexHash->hash($keyBytes . $this->exchange_hash . 'F' . $this->session_id); + while ($checkKeyLength > strlen($key)) { + $key.= $kexHash->hash($keyBytes . $this->exchange_hash . $key); + } + $this->hmac_check->setKey(substr($key, 0, $checkKeyLength)); + + $compression_algorithm = $this->_array_intersect_first($compression_algorithms, $this->compression_algorithms_server_to_client); + if ($compression_algorithm === false) { + user_error('No compatible server to client compression algorithms found'); + return $this->_disconnect(NET_SSH2_DISCONNECT_KEY_EXCHANGE_FAILED); + } + $this->decompress = $compression_algorithm == 'zlib'; + + $compression_algorithm = $this->_array_intersect_first($compression_algorithms, $this->compression_algorithms_client_to_server); + if ($compression_algorithm === false) { + user_error('No compatible client to server compression algorithms found'); + return $this->_disconnect(NET_SSH2_DISCONNECT_KEY_EXCHANGE_FAILED); + } + $this->compress = $compression_algorithm == 'zlib'; + + return true; + } + + /** + * Maps an encryption algorithm name to the number of key bytes. + * + * @param string $algorithm Name of the encryption algorithm + * @return int|null Number of bytes as an integer or null for unknown + * @access private + */ + function _encryption_algorithm_to_key_size($algorithm) + { + switch ($algorithm) { + case 'none': + return 0; + case 'aes128-cbc': + case 'aes128-ctr': + case 'arcfour': + case 'arcfour128': + case 'blowfish-cbc': + case 'blowfish-ctr': + case 'twofish128-cbc': + case 'twofish128-ctr': + return 16; + case '3des-cbc': + case '3des-ctr': + case 'aes192-cbc': + case 'aes192-ctr': + case 'twofish192-cbc': + case 'twofish192-ctr': + return 24; + case 'aes256-cbc': + case 'aes256-ctr': + case 'arcfour256': + case 'twofish-cbc': + case 'twofish256-cbc': + case 'twofish256-ctr': + return 32; + } + return null; + } + + /** + * Maps an encryption algorithm name to an instance of a subclass of + * \phpseclib\Crypt\Base. + * + * @param string $algorithm Name of the encryption algorithm + * @return mixed Instance of \phpseclib\Crypt\Base or null for unknown + * @access private + */ + function _encryption_algorithm_to_crypt_instance($algorithm) + { + switch ($algorithm) { + case '3des-cbc': + return new TripleDES(); + case '3des-ctr': + return new TripleDES(Base::MODE_CTR); + case 'aes256-cbc': + case 'aes192-cbc': + case 'aes128-cbc': + return new Rijndael(); + case 'aes256-ctr': + case 'aes192-ctr': + case 'aes128-ctr': + return new Rijndael(Base::MODE_CTR); + case 'blowfish-cbc': + return new Blowfish(); + case 'blowfish-ctr': + return new Blowfish(Base::MODE_CTR); + case 'twofish128-cbc': + case 'twofish192-cbc': + case 'twofish256-cbc': + case 'twofish-cbc': + return new Twofish(); + case 'twofish128-ctr': + case 'twofish192-ctr': + case 'twofish256-ctr': + return new Twofish(Base::MODE_CTR); + case 'arcfour': + case 'arcfour128': + case 'arcfour256': + return new RC4(); + } + return null; + } + + /** + * Login + * + * The $password parameter can be a plaintext password, a \phpseclib\Crypt\RSA object or an array + * + * @param string $username + * @param mixed $password + * @param mixed $... + * @return bool + * @see self::_login() + * @access public + */ + function login($username) + { + $args = func_get_args(); + return call_user_func_array(array(&$this, '_login'), $args); + } + + /** + * Login Helper + * + * @param string $username + * @param mixed $password + * @param mixed $... + * @return bool + * @see self::_login_helper() + * @access private + */ + function _login($username) + { + if (!($this->bitmap & self::MASK_CONSTRUCTOR)) { + if (!$this->_connect()) { + return false; + } + } + + $args = array_slice(func_get_args(), 1); + if (empty($args)) { + return $this->_login_helper($username); + } + + foreach ($args as $arg) { + if ($this->_login_helper($username, $arg)) { + return true; + } + } + return false; + } + + /** + * Login Helper + * + * @param string $username + * @param string $password + * @return bool + * @access private + * @internal It might be worthwhile, at some point, to protect against {@link http://tools.ietf.org/html/rfc4251#section-9.3.9 traffic analysis} + * by sending dummy SSH_MSG_IGNORE messages. + */ + function _login_helper($username, $password = null) + { + if (!($this->bitmap & self::MASK_CONNECTED)) { + return false; + } + + if (!($this->bitmap & self::MASK_LOGIN_REQ)) { + $packet = pack( + 'CNa*', + NET_SSH2_MSG_SERVICE_REQUEST, + strlen('ssh-userauth'), + 'ssh-userauth' + ); + + if (!$this->_send_binary_packet($packet)) { + return false; + } + + $response = $this->_get_binary_packet(); + if ($response === false) { + user_error('Connection closed by server'); + return false; + } + + extract(unpack('Ctype', $this->_string_shift($response, 1))); + + if ($type != NET_SSH2_MSG_SERVICE_ACCEPT) { + user_error('Expected SSH_MSG_SERVICE_ACCEPT'); + return false; + } + $this->bitmap |= self::MASK_LOGIN_REQ; + } + + if (strlen($this->last_interactive_response)) { + return !is_string($password) && !is_array($password) ? false : $this->_keyboard_interactive_process($password); + } + + if ($password instanceof RSA) { + return $this->_privatekey_login($username, $password); + } elseif ($password instanceof Agent) { + return $this->_ssh_agent_login($username, $password); + } + + if (is_array($password)) { + if ($this->_keyboard_interactive_login($username, $password)) { + $this->bitmap |= self::MASK_LOGIN; + return true; + } + return false; + } + + if (!isset($password)) { + $packet = pack( + 'CNa*Na*Na*', + NET_SSH2_MSG_USERAUTH_REQUEST, + strlen($username), + $username, + strlen('ssh-connection'), + 'ssh-connection', + strlen('none'), + 'none' + ); + + if (!$this->_send_binary_packet($packet)) { + return false; + } + + $response = $this->_get_binary_packet(); + if ($response === false) { + user_error('Connection closed by server'); + return false; + } + + extract(unpack('Ctype', $this->_string_shift($response, 1))); + + switch ($type) { + case NET_SSH2_MSG_USERAUTH_SUCCESS: + $this->bitmap |= self::MASK_LOGIN; + return true; + //case NET_SSH2_MSG_USERAUTH_FAILURE: + default: + return false; + } + } + + $packet = pack( + 'CNa*Na*Na*CNa*', + NET_SSH2_MSG_USERAUTH_REQUEST, + strlen($username), + $username, + strlen('ssh-connection'), + 'ssh-connection', + strlen('password'), + 'password', + 0, + strlen($password), + $password + ); + + // remove the username and password from the logged packet + if (!defined('NET_SSH2_LOGGING')) { + $logged = null; + } else { + $logged = pack( + 'CNa*Na*Na*CNa*', + NET_SSH2_MSG_USERAUTH_REQUEST, + strlen('username'), + 'username', + strlen('ssh-connection'), + 'ssh-connection', + strlen('password'), + 'password', + 0, + strlen('password'), + 'password' + ); + } + + if (!$this->_send_binary_packet($packet, $logged)) { + return false; + } + + $response = $this->_get_binary_packet(); + if ($response === false) { + user_error('Connection closed by server'); + return false; + } + + extract(unpack('Ctype', $this->_string_shift($response, 1))); + + switch ($type) { + case NET_SSH2_MSG_USERAUTH_PASSWD_CHANGEREQ: // in theory, the password can be changed + if (defined('NET_SSH2_LOGGING')) { + $this->message_number_log[count($this->message_number_log) - 1] = 'NET_SSH2_MSG_USERAUTH_PASSWD_CHANGEREQ'; + } + extract(unpack('Nlength', $this->_string_shift($response, 4))); + $this->errors[] = 'SSH_MSG_USERAUTH_PASSWD_CHANGEREQ: ' . utf8_decode($this->_string_shift($response, $length)); + return $this->_disconnect(NET_SSH2_DISCONNECT_AUTH_CANCELLED_BY_USER); + case NET_SSH2_MSG_USERAUTH_FAILURE: + // can we use keyboard-interactive authentication? if not then either the login is bad or the server employees + // multi-factor authentication + extract(unpack('Nlength', $this->_string_shift($response, 4))); + $auth_methods = explode(',', $this->_string_shift($response, $length)); + extract(unpack('Cpartial_success', $this->_string_shift($response, 1))); + $partial_success = $partial_success != 0; + + if (!$partial_success && in_array('keyboard-interactive', $auth_methods)) { + if ($this->_keyboard_interactive_login($username, $password)) { + $this->bitmap |= self::MASK_LOGIN; + return true; + } + return false; + } + return false; + case NET_SSH2_MSG_USERAUTH_SUCCESS: + $this->bitmap |= self::MASK_LOGIN; + return true; + } + + return false; + } + + /** + * Login via keyboard-interactive authentication + * + * See {@link http://tools.ietf.org/html/rfc4256 RFC4256} for details. This is not a full-featured keyboard-interactive authenticator. + * + * @param string $username + * @param string $password + * @return bool + * @access private + */ + function _keyboard_interactive_login($username, $password) + { + $packet = pack( + 'CNa*Na*Na*Na*Na*', + NET_SSH2_MSG_USERAUTH_REQUEST, + strlen($username), + $username, + strlen('ssh-connection'), + 'ssh-connection', + strlen('keyboard-interactive'), + 'keyboard-interactive', + 0, + '', + 0, + '' + ); + + if (!$this->_send_binary_packet($packet)) { + return false; + } + + return $this->_keyboard_interactive_process($password); + } + + /** + * Handle the keyboard-interactive requests / responses. + * + * @param string $responses... + * @return bool + * @access private + */ + function _keyboard_interactive_process() + { + $responses = func_get_args(); + + if (strlen($this->last_interactive_response)) { + $response = $this->last_interactive_response; + } else { + $orig = $response = $this->_get_binary_packet(); + if ($response === false) { + user_error('Connection closed by server'); + return false; + } + } + + extract(unpack('Ctype', $this->_string_shift($response, 1))); + + switch ($type) { + case NET_SSH2_MSG_USERAUTH_INFO_REQUEST: + extract(unpack('Nlength', $this->_string_shift($response, 4))); + $this->_string_shift($response, $length); // name; may be empty + extract(unpack('Nlength', $this->_string_shift($response, 4))); + $this->_string_shift($response, $length); // instruction; may be empty + extract(unpack('Nlength', $this->_string_shift($response, 4))); + $this->_string_shift($response, $length); // language tag; may be empty + extract(unpack('Nnum_prompts', $this->_string_shift($response, 4))); + + for ($i = 0; $i < count($responses); $i++) { + if (is_array($responses[$i])) { + foreach ($responses[$i] as $key => $value) { + $this->keyboard_requests_responses[$key] = $value; + } + unset($responses[$i]); + } + } + $responses = array_values($responses); + + if (isset($this->keyboard_requests_responses)) { + for ($i = 0; $i < $num_prompts; $i++) { + extract(unpack('Nlength', $this->_string_shift($response, 4))); + // prompt - ie. "Password: "; must not be empty + $prompt = $this->_string_shift($response, $length); + //$echo = $this->_string_shift($response) != chr(0); + foreach ($this->keyboard_requests_responses as $key => $value) { + if (substr($prompt, 0, strlen($key)) == $key) { + $responses[] = $value; + break; + } + } + } + } + + // see http://tools.ietf.org/html/rfc4256#section-3.2 + if (strlen($this->last_interactive_response)) { + $this->last_interactive_response = ''; + } elseif (defined('NET_SSH2_LOGGING')) { + $this->message_number_log[count($this->message_number_log) - 1] = str_replace( + 'UNKNOWN', + 'NET_SSH2_MSG_USERAUTH_INFO_REQUEST', + $this->message_number_log[count($this->message_number_log) - 1] + ); + } + + if (!count($responses) && $num_prompts) { + $this->last_interactive_response = $orig; + return false; + } + + /* + After obtaining the requested information from the user, the client + MUST respond with an SSH_MSG_USERAUTH_INFO_RESPONSE message. + */ + // see http://tools.ietf.org/html/rfc4256#section-3.4 + $packet = $logged = pack('CN', NET_SSH2_MSG_USERAUTH_INFO_RESPONSE, count($responses)); + for ($i = 0; $i < count($responses); $i++) { + $packet.= pack('Na*', strlen($responses[$i]), $responses[$i]); + $logged.= pack('Na*', strlen('dummy-answer'), 'dummy-answer'); + } + + if (!$this->_send_binary_packet($packet, $logged)) { + return false; + } + + if (defined('NET_SSH2_LOGGING') && NET_SSH2_LOGGING == self::LOG_COMPLEX) { + $this->message_number_log[count($this->message_number_log) - 1] = str_replace( + 'UNKNOWN', + 'NET_SSH2_MSG_USERAUTH_INFO_RESPONSE', + $this->message_number_log[count($this->message_number_log) - 1] + ); + } + + /* + After receiving the response, the server MUST send either an + SSH_MSG_USERAUTH_SUCCESS, SSH_MSG_USERAUTH_FAILURE, or another + SSH_MSG_USERAUTH_INFO_REQUEST message. + */ + // maybe phpseclib should force close the connection after x request / responses? unless something like that is done + // there could be an infinite loop of request / responses. + return $this->_keyboard_interactive_process(); + case NET_SSH2_MSG_USERAUTH_SUCCESS: + return true; + case NET_SSH2_MSG_USERAUTH_FAILURE: + return false; + } + + return false; + } + + /** + * Login with an ssh-agent provided key + * + * @param string $username + * @param \phpseclib\System\SSH\Agent $agent + * @return bool + * @access private + */ + function _ssh_agent_login($username, $agent) + { + $this->agent = $agent; + $keys = $agent->requestIdentities(); + foreach ($keys as $key) { + if ($this->_privatekey_login($username, $key)) { + return true; + } + } + + return false; + } + + /** + * Login with an RSA private key + * + * @param string $username + * @param \phpseclib\Crypt\RSA $password + * @return bool + * @access private + * @internal It might be worthwhile, at some point, to protect against {@link http://tools.ietf.org/html/rfc4251#section-9.3.9 traffic analysis} + * by sending dummy SSH_MSG_IGNORE messages. + */ + function _privatekey_login($username, $privatekey) + { + // see http://tools.ietf.org/html/rfc4253#page-15 + $publickey = $privatekey->getPublicKey(RSA::PUBLIC_FORMAT_RAW); + if ($publickey === false) { + return false; + } + + $publickey = array( + 'e' => $publickey['e']->toBytes(true), + 'n' => $publickey['n']->toBytes(true) + ); + $publickey = pack( + 'Na*Na*Na*', + strlen('ssh-rsa'), + 'ssh-rsa', + strlen($publickey['e']), + $publickey['e'], + strlen($publickey['n']), + $publickey['n'] + ); + + $part1 = pack( + 'CNa*Na*Na*', + NET_SSH2_MSG_USERAUTH_REQUEST, + strlen($username), + $username, + strlen('ssh-connection'), + 'ssh-connection', + strlen('publickey'), + 'publickey' + ); + $part2 = pack('Na*Na*', strlen('ssh-rsa'), 'ssh-rsa', strlen($publickey), $publickey); + + $packet = $part1 . chr(0) . $part2; + if (!$this->_send_binary_packet($packet)) { + return false; + } + + $response = $this->_get_binary_packet(); + if ($response === false) { + user_error('Connection closed by server'); + return false; + } + + extract(unpack('Ctype', $this->_string_shift($response, 1))); + + switch ($type) { + case NET_SSH2_MSG_USERAUTH_FAILURE: + extract(unpack('Nlength', $this->_string_shift($response, 4))); + $this->errors[] = 'SSH_MSG_USERAUTH_FAILURE: ' . $this->_string_shift($response, $length); + return false; + case NET_SSH2_MSG_USERAUTH_PK_OK: + // we'll just take it on faith that the public key blob and the public key algorithm name are as + // they should be + if (defined('NET_SSH2_LOGGING') && NET_SSH2_LOGGING == self::LOG_COMPLEX) { + $this->message_number_log[count($this->message_number_log) - 1] = str_replace( + 'UNKNOWN', + 'NET_SSH2_MSG_USERAUTH_PK_OK', + $this->message_number_log[count($this->message_number_log) - 1] + ); + } + } + + $packet = $part1 . chr(1) . $part2; + $privatekey->setSignatureMode(RSA::SIGNATURE_PKCS1); + $signature = $privatekey->sign(pack('Na*a*', strlen($this->session_id), $this->session_id, $packet)); + $signature = pack('Na*Na*', strlen('ssh-rsa'), 'ssh-rsa', strlen($signature), $signature); + $packet.= pack('Na*', strlen($signature), $signature); + + if (!$this->_send_binary_packet($packet)) { + return false; + } + + $response = $this->_get_binary_packet(); + if ($response === false) { + user_error('Connection closed by server'); + return false; + } + + extract(unpack('Ctype', $this->_string_shift($response, 1))); + + switch ($type) { + case NET_SSH2_MSG_USERAUTH_FAILURE: + // either the login is bad or the server employs multi-factor authentication + return false; + case NET_SSH2_MSG_USERAUTH_SUCCESS: + $this->bitmap |= self::MASK_LOGIN; + return true; + } + + return false; + } + + /** + * Set Timeout + * + * $ssh->exec('ping 127.0.0.1'); on a Linux host will never return and will run indefinitely. setTimeout() makes it so it'll timeout. + * Setting $timeout to false or 0 will mean there is no timeout. + * + * @param mixed $timeout + * @access public + */ + function setTimeout($timeout) + { + $this->timeout = $this->curTimeout = $timeout; + } + + /** + * Get the output from stdError + * + * @access public + */ + function getStdError() + { + return $this->stdErrorLog; + } + + /** + * Execute Command + * + * If $callback is set to false then \phpseclib\Net\SSH2::_get_channel_packet(self::CHANNEL_EXEC) will need to be called manually. + * In all likelihood, this is not a feature you want to be taking advantage of. + * + * @param string $command + * @param Callback $callback + * @return string + * @access public + */ + function exec($command, $callback = null) + { + $this->curTimeout = $this->timeout; + $this->is_timeout = false; + $this->stdErrorLog = ''; + + if (!($this->bitmap & self::MASK_LOGIN)) { + return false; + } + + // RFC4254 defines the (client) window size as "bytes the other party can send before it must wait for the window to + // be adjusted". 0x7FFFFFFF is, at 2GB, the max size. technically, it should probably be decremented, but, + // honestly, if you're transferring more than 2GB, you probably shouldn't be using phpseclib, anyway. + // see http://tools.ietf.org/html/rfc4254#section-5.2 for more info + $this->window_size_server_to_client[self::CHANNEL_EXEC] = $this->window_size; + // 0x8000 is the maximum max packet size, per http://tools.ietf.org/html/rfc4253#section-6.1, although since PuTTy + // uses 0x4000, that's what will be used here, as well. + $packet_size = 0x4000; + + $packet = pack( + 'CNa*N3', + NET_SSH2_MSG_CHANNEL_OPEN, + strlen('session'), + 'session', + self::CHANNEL_EXEC, + $this->window_size_server_to_client[self::CHANNEL_EXEC], + $packet_size + ); + + if (!$this->_send_binary_packet($packet)) { + return false; + } + + $this->channel_status[self::CHANNEL_EXEC] = NET_SSH2_MSG_CHANNEL_OPEN; + + $response = $this->_get_channel_packet(self::CHANNEL_EXEC); + if ($response === false) { + return false; + } + + if ($this->request_pty === true) { + $terminal_modes = pack('C', NET_SSH2_TTY_OP_END); + $packet = pack( + 'CNNa*CNa*N5a*', + NET_SSH2_MSG_CHANNEL_REQUEST, + $this->server_channels[self::CHANNEL_EXEC], + strlen('pty-req'), + 'pty-req', + 1, + strlen('vt100'), + 'vt100', + $this->windowColumns, + $this->windowRows, + 0, + 0, + strlen($terminal_modes), + $terminal_modes + ); + + if (!$this->_send_binary_packet($packet)) { + return false; + } + + $response = $this->_get_binary_packet(); + if ($response === false) { + user_error('Connection closed by server'); + return false; + } + + list(, $type) = unpack('C', $this->_string_shift($response, 1)); + + switch ($type) { + case NET_SSH2_MSG_CHANNEL_SUCCESS: + break; + case NET_SSH2_MSG_CHANNEL_FAILURE: + default: + user_error('Unable to request pseudo-terminal'); + return $this->_disconnect(NET_SSH2_DISCONNECT_BY_APPLICATION); + } + $this->in_request_pty_exec = true; + } + + // sending a pty-req SSH_MSG_CHANNEL_REQUEST message is unnecessary and, in fact, in most cases, slows things + // down. the one place where it might be desirable is if you're doing something like \phpseclib\Net\SSH2::exec('ping localhost &'). + // with a pty-req SSH_MSG_CHANNEL_REQUEST, exec() will return immediately and the ping process will then + // then immediately terminate. without such a request exec() will loop indefinitely. the ping process won't end but + // neither will your script. + + // although, in theory, the size of SSH_MSG_CHANNEL_REQUEST could exceed the maximum packet size established by + // SSH_MSG_CHANNEL_OPEN_CONFIRMATION, RFC4254#section-5.1 states that the "maximum packet size" refers to the + // "maximum size of an individual data packet". ie. SSH_MSG_CHANNEL_DATA. RFC4254#section-5.2 corroborates. + $packet = pack( + 'CNNa*CNa*', + NET_SSH2_MSG_CHANNEL_REQUEST, + $this->server_channels[self::CHANNEL_EXEC], + strlen('exec'), + 'exec', + 1, + strlen($command), + $command + ); + if (!$this->_send_binary_packet($packet)) { + return false; + } + + $this->channel_status[self::CHANNEL_EXEC] = NET_SSH2_MSG_CHANNEL_REQUEST; + + $response = $this->_get_channel_packet(self::CHANNEL_EXEC); + if ($response === false) { + return false; + } + + $this->channel_status[self::CHANNEL_EXEC] = NET_SSH2_MSG_CHANNEL_DATA; + + if ($callback === false || $this->in_request_pty_exec) { + return true; + } + + $output = ''; + while (true) { + $temp = $this->_get_channel_packet(self::CHANNEL_EXEC); + switch (true) { + case $temp === true: + return is_callable($callback) ? true : $output; + case $temp === false: + return false; + default: + if (is_callable($callback)) { + if (call_user_func($callback, $temp) === true) { + $this->_close_channel(self::CHANNEL_EXEC); + return true; + } + } else { + $output.= $temp; + } + } + } + } + + /** + * Creates an interactive shell + * + * @see self::read() + * @see self::write() + * @return bool + * @access private + */ + function _initShell() + { + if ($this->in_request_pty_exec === true) { + return true; + } + + $this->window_size_server_to_client[self::CHANNEL_SHELL] = $this->window_size; + $packet_size = 0x4000; + + $packet = pack( + 'CNa*N3', + NET_SSH2_MSG_CHANNEL_OPEN, + strlen('session'), + 'session', + self::CHANNEL_SHELL, + $this->window_size_server_to_client[self::CHANNEL_SHELL], + $packet_size + ); + + if (!$this->_send_binary_packet($packet)) { + return false; + } + + $this->channel_status[self::CHANNEL_SHELL] = NET_SSH2_MSG_CHANNEL_OPEN; + + $response = $this->_get_channel_packet(self::CHANNEL_SHELL); + if ($response === false) { + return false; + } + + $terminal_modes = pack('C', NET_SSH2_TTY_OP_END); + $packet = pack( + 'CNNa*CNa*N5a*', + NET_SSH2_MSG_CHANNEL_REQUEST, + $this->server_channels[self::CHANNEL_SHELL], + strlen('pty-req'), + 'pty-req', + 1, + strlen('vt100'), + 'vt100', + $this->windowColumns, + $this->windowRows, + 0, + 0, + strlen($terminal_modes), + $terminal_modes + ); + + if (!$this->_send_binary_packet($packet)) { + return false; + } + + $response = $this->_get_binary_packet(); + if ($response === false) { + user_error('Connection closed by server'); + return false; + } + + list(, $type) = unpack('C', $this->_string_shift($response, 1)); + + switch ($type) { + case NET_SSH2_MSG_CHANNEL_SUCCESS: + // if a pty can't be opened maybe commands can still be executed + case NET_SSH2_MSG_CHANNEL_FAILURE: + break; + default: + user_error('Unable to request pseudo-terminal'); + return $this->_disconnect(NET_SSH2_DISCONNECT_BY_APPLICATION); + } + + $packet = pack( + 'CNNa*C', + NET_SSH2_MSG_CHANNEL_REQUEST, + $this->server_channels[self::CHANNEL_SHELL], + strlen('shell'), + 'shell', + 1 + ); + if (!$this->_send_binary_packet($packet)) { + return false; + } + + $this->channel_status[self::CHANNEL_SHELL] = NET_SSH2_MSG_CHANNEL_REQUEST; + + $response = $this->_get_channel_packet(self::CHANNEL_SHELL); + if ($response === false) { + return false; + } + + $this->channel_status[self::CHANNEL_SHELL] = NET_SSH2_MSG_CHANNEL_DATA; + + $this->bitmap |= self::MASK_SHELL; + + return true; + } + + /** + * Return the channel to be used with read() / write() + * + * @see self::read() + * @see self::write() + * @return int + * @access public + */ + function _get_interactive_channel() + { + switch (true) { + case $this->in_subsystem: + return self::CHANNEL_SUBSYSTEM; + case $this->in_request_pty_exec: + return self::CHANNEL_EXEC; + default: + return self::CHANNEL_SHELL; + } + } + + /** + * Return an available open channel + * + * @return int + * @access public + */ + function _get_open_channel() + { + $channel = self::CHANNEL_EXEC; + do { + if (isset($this->channel_status[$channel]) && $this->channel_status[$channel] == NET_SSH2_MSG_CHANNEL_OPEN) { + return $channel; + } + } while ($channel++ < self::CHANNEL_SUBSYSTEM); + + return false; + } + + /** + * Returns the output of an interactive shell + * + * Returns when there's a match for $expect, which can take the form of a string literal or, + * if $mode == self::READ_REGEX, a regular expression. + * + * @see self::write() + * @param string $expect + * @param int $mode + * @return string + * @access public + */ + function read($expect = '', $mode = self::READ_SIMPLE) + { + $this->curTimeout = $this->timeout; + $this->is_timeout = false; + + if (!($this->bitmap & self::MASK_LOGIN)) { + user_error('Operation disallowed prior to login()'); + return false; + } + + if (!($this->bitmap & self::MASK_SHELL) && !$this->_initShell()) { + user_error('Unable to initiate an interactive shell session'); + return false; + } + + $channel = $this->_get_interactive_channel(); + + $match = $expect; + while (true) { + if ($mode == self::READ_REGEX) { + preg_match($expect, substr($this->interactiveBuffer, -1024), $matches); + $match = isset($matches[0]) ? $matches[0] : ''; + } + $pos = strlen($match) ? strpos($this->interactiveBuffer, $match) : false; + if ($pos !== false) { + return $this->_string_shift($this->interactiveBuffer, $pos + strlen($match)); + } + $response = $this->_get_channel_packet($channel); + if (is_bool($response)) { + $this->in_request_pty_exec = false; + return $response ? $this->_string_shift($this->interactiveBuffer, strlen($this->interactiveBuffer)) : false; + } + + $this->interactiveBuffer.= $response; + } + } + + /** + * Inputs a command into an interactive shell. + * + * @see self::read() + * @param string $cmd + * @return bool + * @access public + */ + function write($cmd) + { + if (!($this->bitmap & self::MASK_LOGIN)) { + user_error('Operation disallowed prior to login()'); + return false; + } + + if (!($this->bitmap & self::MASK_SHELL) && !$this->_initShell()) { + user_error('Unable to initiate an interactive shell session'); + return false; + } + + return $this->_send_channel_packet($this->_get_interactive_channel(), $cmd); + } + + /** + * Start a subsystem. + * + * Right now only one subsystem at a time is supported. To support multiple subsystem's stopSubsystem() could accept + * a string that contained the name of the subsystem, but at that point, only one subsystem of each type could be opened. + * To support multiple subsystem's of the same name maybe it'd be best if startSubsystem() generated a new channel id and + * returns that and then that that was passed into stopSubsystem() but that'll be saved for a future date and implemented + * if there's sufficient demand for such a feature. + * + * @see self::stopSubsystem() + * @param string $subsystem + * @return bool + * @access public + */ + function startSubsystem($subsystem) + { + $this->window_size_server_to_client[self::CHANNEL_SUBSYSTEM] = $this->window_size; + + $packet = pack( + 'CNa*N3', + NET_SSH2_MSG_CHANNEL_OPEN, + strlen('session'), + 'session', + self::CHANNEL_SUBSYSTEM, + $this->window_size, + 0x4000 + ); + + if (!$this->_send_binary_packet($packet)) { + return false; + } + + $this->channel_status[self::CHANNEL_SUBSYSTEM] = NET_SSH2_MSG_CHANNEL_OPEN; + + $response = $this->_get_channel_packet(self::CHANNEL_SUBSYSTEM); + if ($response === false) { + return false; + } + + $packet = pack( + 'CNNa*CNa*', + NET_SSH2_MSG_CHANNEL_REQUEST, + $this->server_channels[self::CHANNEL_SUBSYSTEM], + strlen('subsystem'), + 'subsystem', + 1, + strlen($subsystem), + $subsystem + ); + if (!$this->_send_binary_packet($packet)) { + return false; + } + + $this->channel_status[self::CHANNEL_SUBSYSTEM] = NET_SSH2_MSG_CHANNEL_REQUEST; + + $response = $this->_get_channel_packet(self::CHANNEL_SUBSYSTEM); + + if ($response === false) { + return false; + } + + $this->channel_status[self::CHANNEL_SUBSYSTEM] = NET_SSH2_MSG_CHANNEL_DATA; + + $this->bitmap |= self::MASK_SHELL; + $this->in_subsystem = true; + + return true; + } + + /** + * Stops a subsystem. + * + * @see self::startSubsystem() + * @return bool + * @access public + */ + function stopSubsystem() + { + $this->in_subsystem = false; + $this->_close_channel(self::CHANNEL_SUBSYSTEM); + return true; + } + + /** + * Closes a channel + * + * If read() timed out you might want to just close the channel and have it auto-restart on the next read() call + * + * @access public + */ + function reset() + { + $this->_close_channel($this->_get_interactive_channel()); + } + + /** + * Is timeout? + * + * Did exec() or read() return because they timed out or because they encountered the end? + * + * @access public + */ + function isTimeout() + { + return $this->is_timeout; + } + + /** + * Disconnect + * + * @access public + */ + function disconnect() + { + $this->_disconnect(NET_SSH2_DISCONNECT_BY_APPLICATION); + if (isset($this->realtime_log_file) && is_resource($this->realtime_log_file)) { + fclose($this->realtime_log_file); + } + } + + /** + * Destructor. + * + * Will be called, automatically, if you're supporting just PHP5. If you're supporting PHP4, you'll need to call + * disconnect(). + * + * @access public + */ + function __destruct() + { + $this->disconnect(); + } + + /** + * Is the connection still active? + * + * @return bool + * @access public + */ + function isConnected() + { + return (bool) ($this->bitmap & self::MASK_CONNECTED); + } + + /** + * Have you successfully been logged in? + * + * @return bool + * @access public + */ + function isAuthenticated() + { + return (bool) ($this->bitmap & self::MASK_LOGIN); + } + + /** + * Gets Binary Packets + * + * See '6. Binary Packet Protocol' of rfc4253 for more info. + * + * @see self::_send_binary_packet() + * @return string + * @access private + */ + function _get_binary_packet() + { + if (!is_resource($this->fsock) || feof($this->fsock)) { + user_error('Connection closed prematurely'); + $this->bitmap = 0; + return false; + } + + $start = microtime(true); + $raw = stream_get_contents($this->fsock, $this->decrypt_block_size); + + if (!strlen($raw)) { + return ''; + } + + if ($this->decrypt !== false) { + $raw = $this->decrypt->decrypt($raw); + } + if ($raw === false) { + user_error('Unable to decrypt content'); + return false; + } + + extract(unpack('Npacket_length/Cpadding_length', $this->_string_shift($raw, 5))); + + $remaining_length = $packet_length + 4 - $this->decrypt_block_size; + + // quoting <http://tools.ietf.org/html/rfc4253#section-6.1>, + // "implementations SHOULD check that the packet length is reasonable" + // PuTTY uses 0x9000 as the actual max packet size and so to shall we + if ($remaining_length < -$this->decrypt_block_size || $remaining_length > 0x9000 || $remaining_length % $this->decrypt_block_size != 0) { + user_error('Invalid size'); + return false; + } + + $buffer = ''; + while ($remaining_length > 0) { + $temp = stream_get_contents($this->fsock, $remaining_length); + if ($temp === false || feof($this->fsock)) { + user_error('Error reading from socket'); + $this->bitmap = 0; + return false; + } + $buffer.= $temp; + $remaining_length-= strlen($temp); + } + $stop = microtime(true); + if (strlen($buffer)) { + $raw.= $this->decrypt !== false ? $this->decrypt->decrypt($buffer) : $buffer; + } + + $payload = $this->_string_shift($raw, $packet_length - $padding_length - 1); + $padding = $this->_string_shift($raw, $padding_length); // should leave $raw empty + + if ($this->hmac_check !== false) { + $hmac = stream_get_contents($this->fsock, $this->hmac_size); + if ($hmac === false || strlen($hmac) != $this->hmac_size) { + user_error('Error reading socket'); + $this->bitmap = 0; + return false; + } elseif ($hmac != $this->hmac_check->hash(pack('NNCa*', $this->get_seq_no, $packet_length, $padding_length, $payload . $padding))) { + user_error('Invalid HMAC'); + return false; + } + } + + //if ($this->decompress) { + // $payload = gzinflate(substr($payload, 2)); + //} + + $this->get_seq_no++; + + if (defined('NET_SSH2_LOGGING')) { + $current = microtime(true); + $message_number = isset($this->message_numbers[ord($payload[0])]) ? $this->message_numbers[ord($payload[0])] : 'UNKNOWN (' . ord($payload[0]) . ')'; + $message_number = '<- ' . $message_number . + ' (since last: ' . round($current - $this->last_packet, 4) . ', network: ' . round($stop - $start, 4) . 's)'; + $this->_append_log($message_number, $payload); + $this->last_packet = $current; + } + + return $this->_filter($payload); + } + + /** + * Filter Binary Packets + * + * Because some binary packets need to be ignored... + * + * @see self::_get_binary_packet() + * @return string + * @access private + */ + function _filter($payload) + { + switch (ord($payload[0])) { + case NET_SSH2_MSG_DISCONNECT: + $this->_string_shift($payload, 1); + extract(unpack('Nreason_code/Nlength', $this->_string_shift($payload, 8))); + $this->errors[] = 'SSH_MSG_DISCONNECT: ' . $this->disconnect_reasons[$reason_code] . "\r\n" . utf8_decode($this->_string_shift($payload, $length)); + $this->bitmap = 0; + return false; + case NET_SSH2_MSG_IGNORE: + $payload = $this->_get_binary_packet(); + break; + case NET_SSH2_MSG_DEBUG: + $this->_string_shift($payload, 2); + extract(unpack('Nlength', $this->_string_shift($payload, 4))); + $this->errors[] = 'SSH_MSG_DEBUG: ' . utf8_decode($this->_string_shift($payload, $length)); + $payload = $this->_get_binary_packet(); + break; + case NET_SSH2_MSG_UNIMPLEMENTED: + return false; + case NET_SSH2_MSG_KEXINIT: + if ($this->session_id !== false) { + if (!$this->_key_exchange($payload)) { + $this->bitmap = 0; + return false; + } + $payload = $this->_get_binary_packet(); + } + } + + // see http://tools.ietf.org/html/rfc4252#section-5.4; only called when the encryption has been activated and when we haven't already logged in + if (($this->bitmap & self::MASK_CONNECTED) && !($this->bitmap & self::MASK_LOGIN) && ord($payload[0]) == NET_SSH2_MSG_USERAUTH_BANNER) { + $this->_string_shift($payload, 1); + extract(unpack('Nlength', $this->_string_shift($payload, 4))); + $this->banner_message = utf8_decode($this->_string_shift($payload, $length)); + $payload = $this->_get_binary_packet(); + } + + // only called when we've already logged in + if (($this->bitmap & self::MASK_CONNECTED) && ($this->bitmap & self::MASK_LOGIN)) { + switch (ord($payload[0])) { + case NET_SSH2_MSG_GLOBAL_REQUEST: // see http://tools.ietf.org/html/rfc4254#section-4 + extract(unpack('Nlength', $this->_string_shift($payload, 4))); + $this->errors[] = 'SSH_MSG_GLOBAL_REQUEST: ' . $this->_string_shift($payload, $length); + + if (!$this->_send_binary_packet(pack('C', NET_SSH2_MSG_REQUEST_FAILURE))) { + return $this->_disconnect(NET_SSH2_DISCONNECT_BY_APPLICATION); + } + + $payload = $this->_get_binary_packet(); + break; + case NET_SSH2_MSG_CHANNEL_OPEN: // see http://tools.ietf.org/html/rfc4254#section-5.1 + $this->_string_shift($payload, 1); + extract(unpack('Nlength', $this->_string_shift($payload, 4))); + $data = $this->_string_shift($payload, $length); + extract(unpack('Nserver_channel', $this->_string_shift($payload, 4))); + switch ($data) { + case 'auth-agent': + case 'auth-agent@openssh.com': + if (isset($this->agent)) { + $new_channel = self::CHANNEL_AGENT_FORWARD; + + extract(unpack('Nremote_window_size', $this->_string_shift($payload, 4))); + extract(unpack('Nremote_maximum_packet_size', $this->_string_shift($payload, 4))); + + $this->packet_size_client_to_server[$new_channel] = $remote_window_size; + $this->window_size_server_to_client[$new_channel] = $remote_maximum_packet_size; + $this->window_size_client_to_server[$new_channel] = $this->window_size; + + $packet_size = 0x4000; + + $packet = pack( + 'CN4', + NET_SSH2_MSG_CHANNEL_OPEN_CONFIRMATION, + $server_channel, + $new_channel, + $packet_size, + $packet_size + ); + + $this->server_channels[$new_channel] = $server_channel; + $this->channel_status[$new_channel] = NET_SSH2_MSG_CHANNEL_OPEN_CONFIRMATION; + if (!$this->_send_binary_packet($packet)) { + return false; + } + } + break; + default: + $packet = pack( + 'CN3a*Na*', + NET_SSH2_MSG_REQUEST_FAILURE, + $server_channel, + NET_SSH2_OPEN_ADMINISTRATIVELY_PROHIBITED, + 0, + '', + 0, + '' + ); + + if (!$this->_send_binary_packet($packet)) { + return $this->_disconnect(NET_SSH2_DISCONNECT_BY_APPLICATION); + } + } + $payload = $this->_get_binary_packet(); + break; + case NET_SSH2_MSG_CHANNEL_WINDOW_ADJUST: + $this->_string_shift($payload, 1); + extract(unpack('Nchannel', $this->_string_shift($payload, 4))); + extract(unpack('Nwindow_size', $this->_string_shift($payload, 4))); + $this->window_size_client_to_server[$channel]+= $window_size; + + $payload = ($this->bitmap & self::MASK_WINDOW_ADJUST) ? true : $this->_get_binary_packet(); + } + } + + return $payload; + } + + /** + * Enable Quiet Mode + * + * Suppress stderr from output + * + * @access public + */ + function enableQuietMode() + { + $this->quiet_mode = true; + } + + /** + * Disable Quiet Mode + * + * Show stderr in output + * + * @access public + */ + function disableQuietMode() + { + $this->quiet_mode = false; + } + + /** + * Returns whether Quiet Mode is enabled or not + * + * @see self::enableQuietMode() + * @see self::disableQuietMode() + * @access public + * @return bool + */ + function isQuietModeEnabled() + { + return $this->quiet_mode; + } + + /** + * Enable request-pty when using exec() + * + * @access public + */ + function enablePTY() + { + $this->request_pty = true; + } + + /** + * Disable request-pty when using exec() + * + * @access public + */ + function disablePTY() + { + $this->request_pty = false; + } + + /** + * Returns whether request-pty is enabled or not + * + * @see self::enablePTY() + * @see self::disablePTY() + * @access public + * @return bool + */ + function isPTYEnabled() + { + return $this->request_pty; + } + + /** + * Gets channel data + * + * Returns the data as a string if it's available and false if not. + * + * @param $client_channel + * @return mixed + * @access private + */ + function _get_channel_packet($client_channel, $skip_extended = false) + { + if (!empty($this->channel_buffers[$client_channel])) { + return array_shift($this->channel_buffers[$client_channel]); + } + + while (true) { + if ($this->curTimeout) { + if ($this->curTimeout < 0) { + $this->is_timeout = true; + return true; + } + + $read = array($this->fsock); + $write = $except = null; + + $start = microtime(true); + $sec = floor($this->curTimeout); + $usec = 1000000 * ($this->curTimeout - $sec); + // on windows this returns a "Warning: Invalid CRT parameters detected" error + if (!@stream_select($read, $write, $except, $sec, $usec) && !count($read)) { + $this->is_timeout = true; + return true; + } + $elapsed = microtime(true) - $start; + $this->curTimeout-= $elapsed; + } + + $response = $this->_get_binary_packet(); + if ($response === false) { + user_error('Connection closed by server'); + return false; + } + if ($client_channel == -1 && $response === true) { + return true; + } + if (!strlen($response)) { + return ''; + } + + extract(unpack('Ctype', $this->_string_shift($response, 1))); + + if ($type == NET_SSH2_MSG_CHANNEL_OPEN) { + extract(unpack('Nlength', $this->_string_shift($response, 4))); + } else { + extract(unpack('Nchannel', $this->_string_shift($response, 4))); + } + + // will not be setup yet on incoming channel open request + if (isset($channel) && isset($this->channel_status[$channel]) && isset($this->window_size_server_to_client[$channel])) { + $this->window_size_server_to_client[$channel]-= strlen($response); + + // resize the window, if appropriate + if ($this->window_size_server_to_client[$channel] < 0) { + $packet = pack('CNN', NET_SSH2_MSG_CHANNEL_WINDOW_ADJUST, $this->server_channels[$channel], $this->window_size); + if (!$this->_send_binary_packet($packet)) { + return false; + } + $this->window_size_server_to_client[$channel]+= $this->window_size; + } + + switch ($this->channel_status[$channel]) { + case NET_SSH2_MSG_CHANNEL_OPEN: + switch ($type) { + case NET_SSH2_MSG_CHANNEL_OPEN_CONFIRMATION: + extract(unpack('Nserver_channel', $this->_string_shift($response, 4))); + $this->server_channels[$channel] = $server_channel; + extract(unpack('Nwindow_size', $this->_string_shift($response, 4))); + if ($window_size < 0) { + $window_size&= 0x7FFFFFFF; + $window_size+= 0x80000000; + } + $this->window_size_client_to_server[$channel] = $window_size; + $temp = unpack('Npacket_size_client_to_server', $this->_string_shift($response, 4)); + $this->packet_size_client_to_server[$channel] = $temp['packet_size_client_to_server']; + $result = $client_channel == $channel ? true : $this->_get_channel_packet($client_channel, $skip_extended); + $this->_on_channel_open(); + return $result; + //case NET_SSH2_MSG_CHANNEL_OPEN_FAILURE: + default: + user_error('Unable to open channel'); + return $this->_disconnect(NET_SSH2_DISCONNECT_BY_APPLICATION); + } + break; + case NET_SSH2_MSG_CHANNEL_REQUEST: + switch ($type) { + case NET_SSH2_MSG_CHANNEL_SUCCESS: + return true; + case NET_SSH2_MSG_CHANNEL_FAILURE: + return false; + default: + user_error('Unable to fulfill channel request'); + return $this->_disconnect(NET_SSH2_DISCONNECT_BY_APPLICATION); + } + case NET_SSH2_MSG_CHANNEL_CLOSE: + return $type == NET_SSH2_MSG_CHANNEL_CLOSE ? true : $this->_get_channel_packet($client_channel, $skip_extended); + } + } + + // ie. $this->channel_status[$channel] == NET_SSH2_MSG_CHANNEL_DATA + + switch ($type) { + case NET_SSH2_MSG_CHANNEL_DATA: + /* + if ($channel == self::CHANNEL_EXEC) { + // SCP requires null packets, such as this, be sent. further, in the case of the ssh.com SSH server + // this actually seems to make things twice as fast. more to the point, the message right after + // SSH_MSG_CHANNEL_DATA (usually SSH_MSG_IGNORE) won't block for as long as it would have otherwise. + // in OpenSSH it slows things down but only by a couple thousandths of a second. + $this->_send_channel_packet($channel, chr(0)); + } + */ + extract(unpack('Nlength', $this->_string_shift($response, 4))); + $data = $this->_string_shift($response, $length); + + if ($channel == self::CHANNEL_AGENT_FORWARD) { + $agent_response = $this->agent->_forward_data($data); + if (!is_bool($agent_response)) { + $this->_send_channel_packet($channel, $agent_response); + } + break; + } + + if ($client_channel == $channel) { + return $data; + } + if (!isset($this->channel_buffers[$channel])) { + $this->channel_buffers[$channel] = array(); + } + $this->channel_buffers[$channel][] = $data; + break; + case NET_SSH2_MSG_CHANNEL_EXTENDED_DATA: + /* + if ($client_channel == self::CHANNEL_EXEC) { + $this->_send_channel_packet($client_channel, chr(0)); + } + */ + // currently, there's only one possible value for $data_type_code: NET_SSH2_EXTENDED_DATA_STDERR + extract(unpack('Ndata_type_code/Nlength', $this->_string_shift($response, 8))); + $data = $this->_string_shift($response, $length); + $this->stdErrorLog.= $data; + if ($skip_extended || $this->quiet_mode) { + break; + } + if ($client_channel == $channel) { + return $data; + } + if (!isset($this->channel_buffers[$channel])) { + $this->channel_buffers[$channel] = array(); + } + $this->channel_buffers[$channel][] = $data; + break; + case NET_SSH2_MSG_CHANNEL_REQUEST: + extract(unpack('Nlength', $this->_string_shift($response, 4))); + $value = $this->_string_shift($response, $length); + switch ($value) { + case 'exit-signal': + $this->_string_shift($response, 1); + extract(unpack('Nlength', $this->_string_shift($response, 4))); + $this->errors[] = 'SSH_MSG_CHANNEL_REQUEST (exit-signal): ' . $this->_string_shift($response, $length); + $this->_string_shift($response, 1); + extract(unpack('Nlength', $this->_string_shift($response, 4))); + if ($length) { + $this->errors[count($this->errors)].= "\r\n" . $this->_string_shift($response, $length); + } + + $this->_send_binary_packet(pack('CN', NET_SSH2_MSG_CHANNEL_EOF, $this->server_channels[$client_channel])); + $this->_send_binary_packet(pack('CN', NET_SSH2_MSG_CHANNEL_CLOSE, $this->server_channels[$channel])); + + $this->channel_status[$channel] = NET_SSH2_MSG_CHANNEL_EOF; + + break; + case 'exit-status': + extract(unpack('Cfalse/Nexit_status', $this->_string_shift($response, 5))); + $this->exit_status = $exit_status; + + // "The client MAY ignore these messages." + // -- http://tools.ietf.org/html/rfc4254#section-6.10 + + break; + default: + // "Some systems may not implement signals, in which case they SHOULD ignore this message." + // -- http://tools.ietf.org/html/rfc4254#section-6.9 + break; + } + break; + case NET_SSH2_MSG_CHANNEL_CLOSE: + $this->curTimeout = 0; + + if ($this->bitmap & self::MASK_SHELL) { + $this->bitmap&= ~self::MASK_SHELL; + } + if ($this->channel_status[$channel] != NET_SSH2_MSG_CHANNEL_EOF) { + $this->_send_binary_packet(pack('CN', NET_SSH2_MSG_CHANNEL_CLOSE, $this->server_channels[$channel])); + } + + $this->channel_status[$channel] = NET_SSH2_MSG_CHANNEL_CLOSE; + if ($client_channel == $channel) { + return true; + } + case NET_SSH2_MSG_CHANNEL_EOF: + break; + default: + user_error('Error reading channel data'); + return $this->_disconnect(NET_SSH2_DISCONNECT_BY_APPLICATION); + } + } + } + + /** + * Sends Binary Packets + * + * See '6. Binary Packet Protocol' of rfc4253 for more info. + * + * @param string $data + * @param string $logged + * @see self::_get_binary_packet() + * @return bool + * @access private + */ + function _send_binary_packet($data, $logged = null) + { + if (!is_resource($this->fsock) || feof($this->fsock)) { + user_error('Connection closed prematurely'); + $this->bitmap = 0; + return false; + } + + //if ($this->compress) { + // // the -4 removes the checksum: + // // http://php.net/function.gzcompress#57710 + // $data = substr(gzcompress($data), 0, -4); + //} + + // 4 (packet length) + 1 (padding length) + 4 (minimal padding amount) == 9 + $packet_length = strlen($data) + 9; + // round up to the nearest $this->encrypt_block_size + $packet_length+= (($this->encrypt_block_size - 1) * $packet_length) % $this->encrypt_block_size; + // subtracting strlen($data) is obvious - subtracting 5 is necessary because of packet_length and padding_length + $padding_length = $packet_length - strlen($data) - 5; + $padding = Random::string($padding_length); + + // we subtract 4 from packet_length because the packet_length field isn't supposed to include itself + $packet = pack('NCa*', $packet_length - 4, $padding_length, $data . $padding); + + $hmac = $this->hmac_create !== false ? $this->hmac_create->hash(pack('Na*', $this->send_seq_no, $packet)) : ''; + $this->send_seq_no++; + + if ($this->encrypt !== false) { + $packet = $this->encrypt->encrypt($packet); + } + + $packet.= $hmac; + + $start = microtime(true); + $result = strlen($packet) == fputs($this->fsock, $packet); + $stop = microtime(true); + + if (defined('NET_SSH2_LOGGING')) { + $current = microtime(true); + $message_number = isset($this->message_numbers[ord($data[0])]) ? $this->message_numbers[ord($data[0])] : 'UNKNOWN (' . ord($data[0]) . ')'; + $message_number = '-> ' . $message_number . + ' (since last: ' . round($current - $this->last_packet, 4) . ', network: ' . round($stop - $start, 4) . 's)'; + $this->_append_log($message_number, isset($logged) ? $logged : $data); + $this->last_packet = $current; + } + + return $result; + } + + /** + * Logs data packets + * + * Makes sure that only the last 1MB worth of packets will be logged + * + * @param string $data + * @access private + */ + function _append_log($message_number, $message) + { + // remove the byte identifying the message type from all but the first two messages (ie. the identification strings) + if (strlen($message_number) > 2) { + $this->_string_shift($message); + } + + switch (NET_SSH2_LOGGING) { + // useful for benchmarks + case self::LOG_SIMPLE: + $this->message_number_log[] = $message_number; + break; + // the most useful log for SSH2 + case self::LOG_COMPLEX: + $this->message_number_log[] = $message_number; + $this->log_size+= strlen($message); + $this->message_log[] = $message; + while ($this->log_size > self::LOG_MAX_SIZE) { + $this->log_size-= strlen(array_shift($this->message_log)); + array_shift($this->message_number_log); + } + break; + // dump the output out realtime; packets may be interspersed with non packets, + // passwords won't be filtered out and select other packets may not be correctly + // identified + case self::LOG_REALTIME: + switch (PHP_SAPI) { + case 'cli': + $start = $stop = "\r\n"; + break; + default: + $start = '<pre>'; + $stop = '</pre>'; + } + echo $start . $this->_format_log(array($message), array($message_number)) . $stop; + @flush(); + @ob_flush(); + break; + // basically the same thing as self::LOG_REALTIME with the caveat that self::LOG_REALTIME_FILE + // needs to be defined and that the resultant log file will be capped out at self::LOG_MAX_SIZE. + // the earliest part of the log file is denoted by the first <<< START >>> and is not going to necessarily + // at the beginning of the file + case self::LOG_REALTIME_FILE: + if (!isset($this->realtime_log_file)) { + // PHP doesn't seem to like using constants in fopen() + $filename = self::LOG_REALTIME_FILENAME; + $fp = fopen($filename, 'w'); + $this->realtime_log_file = $fp; + } + if (!is_resource($this->realtime_log_file)) { + break; + } + $entry = $this->_format_log(array($message), array($message_number)); + if ($this->realtime_log_wrap) { + $temp = "<<< START >>>\r\n"; + $entry.= $temp; + fseek($this->realtime_log_file, ftell($this->realtime_log_file) - strlen($temp)); + } + $this->realtime_log_size+= strlen($entry); + if ($this->realtime_log_size > self::LOG_MAX_SIZE) { + fseek($this->realtime_log_file, 0); + $this->realtime_log_size = strlen($entry); + $this->realtime_log_wrap = true; + } + fputs($this->realtime_log_file, $entry); + } + } + + /** + * Sends channel data + * + * Spans multiple SSH_MSG_CHANNEL_DATAs if appropriate + * + * @param int $client_channel + * @param string $data + * @return bool + * @access private + */ + function _send_channel_packet($client_channel, $data) + { + while (strlen($data)) { + if (!$this->window_size_client_to_server[$client_channel]) { + $this->bitmap^= self::MASK_WINDOW_ADJUST; + // using an invalid channel will let the buffers be built up for the valid channels + $this->_get_channel_packet(-1); + $this->bitmap^= self::MASK_WINDOW_ADJUST; + } + + /* The maximum amount of data allowed is determined by the maximum + packet size for the channel, and the current window size, whichever + is smaller. + -- http://tools.ietf.org/html/rfc4254#section-5.2 */ + $max_size = min( + $this->packet_size_client_to_server[$client_channel], + $this->window_size_client_to_server[$client_channel] + ); + + $temp = $this->_string_shift($data, $max_size); + $packet = pack( + 'CN2a*', + NET_SSH2_MSG_CHANNEL_DATA, + $this->server_channels[$client_channel], + strlen($temp), + $temp + ); + $this->window_size_client_to_server[$client_channel]-= strlen($temp); + if (!$this->_send_binary_packet($packet)) { + return false; + } + } + + return true; + } + + /** + * Closes and flushes a channel + * + * \phpseclib\Net\SSH2 doesn't properly close most channels. For exec() channels are normally closed by the server + * and for SFTP channels are presumably closed when the client disconnects. This functions is intended + * for SCP more than anything. + * + * @param int $client_channel + * @param bool $want_reply + * @return bool + * @access private + */ + function _close_channel($client_channel, $want_reply = false) + { + // see http://tools.ietf.org/html/rfc4254#section-5.3 + + $this->_send_binary_packet(pack('CN', NET_SSH2_MSG_CHANNEL_EOF, $this->server_channels[$client_channel])); + + if (!$want_reply) { + $this->_send_binary_packet(pack('CN', NET_SSH2_MSG_CHANNEL_CLOSE, $this->server_channels[$client_channel])); + } + + $this->channel_status[$client_channel] = NET_SSH2_MSG_CHANNEL_CLOSE; + + $this->curTimeout = 0; + + while (!is_bool($this->_get_channel_packet($client_channel))) { + } + + if ($want_reply) { + $this->_send_binary_packet(pack('CN', NET_SSH2_MSG_CHANNEL_CLOSE, $this->server_channels[$client_channel])); + } + + if ($this->bitmap & self::MASK_SHELL) { + $this->bitmap&= ~self::MASK_SHELL; + } + } + + /** + * Disconnect + * + * @param int $reason + * @return bool + * @access private + */ + function _disconnect($reason) + { + if ($this->bitmap & self::MASK_CONNECTED) { + $data = pack('CNNa*Na*', NET_SSH2_MSG_DISCONNECT, $reason, 0, '', 0, ''); + $this->_send_binary_packet($data); + $this->bitmap = 0; + fclose($this->fsock); + return false; + } + } + + /** + * String Shift + * + * Inspired by array_shift + * + * @param string $string + * @param int $index + * @return string + * @access private + */ + function _string_shift(&$string, $index = 1) + { + $substr = substr($string, 0, $index); + $string = substr($string, $index); + return $substr; + } + + /** + * Define Array + * + * Takes any number of arrays whose indices are integers and whose values are strings and defines a bunch of + * named constants from it, using the value as the name of the constant and the index as the value of the constant. + * If any of the constants that would be defined already exists, none of the constants will be defined. + * + * @param array $array + * @access private + */ + function _define_array() + { + $args = func_get_args(); + foreach ($args as $arg) { + foreach ($arg as $key => $value) { + if (!defined($value)) { + define($value, $key); + } else { + break 2; + } + } + } + } + + /** + * Returns a log of the packets that have been sent and received. + * + * Returns a string if NET_SSH2_LOGGING == self::LOG_COMPLEX, an array if NET_SSH2_LOGGING == self::LOG_SIMPLE and false if !defined('NET_SSH2_LOGGING') + * + * @access public + * @return array|false|string + */ + function getLog() + { + if (!defined('NET_SSH2_LOGGING')) { + return false; + } + + switch (NET_SSH2_LOGGING) { + case self::LOG_SIMPLE: + return $this->message_number_log; + break; + case self::LOG_COMPLEX: + return $this->_format_log($this->message_log, $this->message_number_log); + break; + default: + return false; + } + } + + /** + * Formats a log for printing + * + * @param array $message_log + * @param array $message_number_log + * @access private + * @return string + */ + function _format_log($message_log, $message_number_log) + { + $output = ''; + for ($i = 0; $i < count($message_log); $i++) { + $output.= $message_number_log[$i] . "\r\n"; + $current_log = $message_log[$i]; + $j = 0; + do { + if (strlen($current_log)) { + $output.= str_pad(dechex($j), 7, '0', STR_PAD_LEFT) . '0 '; + } + $fragment = $this->_string_shift($current_log, $this->log_short_width); + $hex = substr(preg_replace_callback('#.#s', array($this, '_format_log_helper'), $fragment), strlen($this->log_boundary)); + // replace non ASCII printable characters with dots + // http://en.wikipedia.org/wiki/ASCII#ASCII_printable_characters + // also replace < with a . since < messes up the output on web browsers + $raw = preg_replace('#[^\x20-\x7E]|<#', '.', $fragment); + $output.= str_pad($hex, $this->log_long_width - $this->log_short_width, ' ') . $raw . "\r\n"; + $j++; + } while (strlen($current_log)); + $output.= "\r\n"; + } + + return $output; + } + + /** + * Helper function for _format_log + * + * For use with preg_replace_callback() + * + * @param array $matches + * @access private + * @return string + */ + function _format_log_helper($matches) + { + return $this->log_boundary . str_pad(dechex(ord($matches[0])), 2, '0', STR_PAD_LEFT); + } + + /** + * Helper function for agent->_on_channel_open() + * + * Used when channels are created to inform agent + * of said channel opening. Must be called after + * channel open confirmation received + * + * @access private + */ + function _on_channel_open() + { + if (isset($this->agent)) { + $this->agent->_on_channel_open($this); + } + } + + /** + * Returns the first value of the intersection of two arrays or false if + * the intersection is empty. The order is defined by the first parameter. + * + * @param array $array1 + * @param array $array2 + * @return mixed False if intersection is empty, else intersected value. + * @access private + */ + function _array_intersect_first($array1, $array2) + { + foreach ($array1 as $value) { + if (in_array($value, $array2)) { + return $value; + } + } + return false; + } + + /** + * Returns all errors + * + * @return string[] + * @access public + */ + function getErrors() + { + return $this->errors; + } + + /** + * Returns the last error + * + * @return string + * @access public + */ + function getLastError() + { + $count = count($this->errors); + + if ($count > 0) { + return $this->errors[$count - 1]; + } + } + + /** + * Return the server identification. + * + * @return string + * @access public + */ + function getServerIdentification() + { + $this->_connect(); + + return $this->server_identifier; + } + + /** + * Return a list of the key exchange algorithms the server supports. + * + * @return array + * @access public + */ + function getKexAlgorithms() + { + $this->_connect(); + + return $this->kex_algorithms; + } + + /** + * Return a list of the host key (public key) algorithms the server supports. + * + * @return array + * @access public + */ + function getServerHostKeyAlgorithms() + { + $this->_connect(); + + return $this->server_host_key_algorithms; + } + + /** + * Return a list of the (symmetric key) encryption algorithms the server supports, when receiving stuff from the client. + * + * @return array + * @access public + */ + function getEncryptionAlgorithmsClient2Server() + { + $this->_connect(); + + return $this->encryption_algorithms_client_to_server; + } + + /** + * Return a list of the (symmetric key) encryption algorithms the server supports, when sending stuff to the client. + * + * @return array + * @access public + */ + function getEncryptionAlgorithmsServer2Client() + { + $this->_connect(); + + return $this->encryption_algorithms_server_to_client; + } + + /** + * Return a list of the MAC algorithms the server supports, when receiving stuff from the client. + * + * @return array + * @access public + */ + function getMACAlgorithmsClient2Server() + { + $this->_connect(); + + return $this->mac_algorithms_client_to_server; + } + + /** + * Return a list of the MAC algorithms the server supports, when sending stuff to the client. + * + * @return array + * @access public + */ + function getMACAlgorithmsServer2Client() + { + $this->_connect(); + + return $this->mac_algorithms_server_to_client; + } + + /** + * Return a list of the compression algorithms the server supports, when receiving stuff from the client. + * + * @return array + * @access public + */ + function getCompressionAlgorithmsClient2Server() + { + $this->_connect(); + + return $this->compression_algorithms_client_to_server; + } + + /** + * Return a list of the compression algorithms the server supports, when sending stuff to the client. + * + * @return array + * @access public + */ + function getCompressionAlgorithmsServer2Client() + { + $this->_connect(); + + return $this->compression_algorithms_server_to_client; + } + + /** + * Return a list of the languages the server supports, when sending stuff to the client. + * + * @return array + * @access public + */ + function getLanguagesServer2Client() + { + $this->_connect(); + + return $this->languages_server_to_client; + } + + /** + * Return a list of the languages the server supports, when receiving stuff from the client. + * + * @return array + * @access public + */ + function getLanguagesClient2Server() + { + $this->_connect(); + + return $this->languages_client_to_server; + } + + /** + * Returns the banner message. + * + * Quoting from the RFC, "in some jurisdictions, sending a warning message before + * authentication may be relevant for getting legal protection." + * + * @return string + * @access public + */ + function getBannerMessage() + { + return $this->banner_message; + } + + /** + * Returns the server public host key. + * + * Caching this the first time you connect to a server and checking the result on subsequent connections + * is recommended. Returns false if the server signature is not signed correctly with the public host key. + * + * @return mixed + * @access public + */ + function getServerPublicHostKey() + { + if (!($this->bitmap & self::MASK_CONSTRUCTOR)) { + if (!$this->_connect()) { + return false; + } + } + + $signature = $this->signature; + $server_public_host_key = $this->server_public_host_key; + + extract(unpack('Nlength', $this->_string_shift($server_public_host_key, 4))); + $this->_string_shift($server_public_host_key, $length); + + if ($this->signature_validated) { + return $this->bitmap ? + $this->signature_format . ' ' . base64_encode($this->server_public_host_key) : + false; + } + + $this->signature_validated = true; + + switch ($this->signature_format) { + case 'ssh-dss': + $zero = new BigInteger(); + + $temp = unpack('Nlength', $this->_string_shift($server_public_host_key, 4)); + $p = new BigInteger($this->_string_shift($server_public_host_key, $temp['length']), -256); + + $temp = unpack('Nlength', $this->_string_shift($server_public_host_key, 4)); + $q = new BigInteger($this->_string_shift($server_public_host_key, $temp['length']), -256); + + $temp = unpack('Nlength', $this->_string_shift($server_public_host_key, 4)); + $g = new BigInteger($this->_string_shift($server_public_host_key, $temp['length']), -256); + + $temp = unpack('Nlength', $this->_string_shift($server_public_host_key, 4)); + $y = new BigInteger($this->_string_shift($server_public_host_key, $temp['length']), -256); + + /* The value for 'dss_signature_blob' is encoded as a string containing + r, followed by s (which are 160-bit integers, without lengths or + padding, unsigned, and in network byte order). */ + $temp = unpack('Nlength', $this->_string_shift($signature, 4)); + if ($temp['length'] != 40) { + user_error('Invalid signature'); + return $this->_disconnect(NET_SSH2_DISCONNECT_KEY_EXCHANGE_FAILED); + } + + $r = new BigInteger($this->_string_shift($signature, 20), 256); + $s = new BigInteger($this->_string_shift($signature, 20), 256); + + switch (true) { + case $r->equals($zero): + case $r->compare($q) >= 0: + case $s->equals($zero): + case $s->compare($q) >= 0: + user_error('Invalid signature'); + return $this->_disconnect(NET_SSH2_DISCONNECT_KEY_EXCHANGE_FAILED); + } + + $w = $s->modInverse($q); + + $u1 = $w->multiply(new BigInteger(sha1($this->exchange_hash), 16)); + list(, $u1) = $u1->divide($q); + + $u2 = $w->multiply($r); + list(, $u2) = $u2->divide($q); + + $g = $g->modPow($u1, $p); + $y = $y->modPow($u2, $p); + + $v = $g->multiply($y); + list(, $v) = $v->divide($p); + list(, $v) = $v->divide($q); + + if (!$v->equals($r)) { + user_error('Bad server signature'); + return $this->_disconnect(NET_SSH2_DISCONNECT_HOST_KEY_NOT_VERIFIABLE); + } + + break; + case 'ssh-rsa': + $temp = unpack('Nlength', $this->_string_shift($server_public_host_key, 4)); + $e = new BigInteger($this->_string_shift($server_public_host_key, $temp['length']), -256); + + $temp = unpack('Nlength', $this->_string_shift($server_public_host_key, 4)); + $rawN = $this->_string_shift($server_public_host_key, $temp['length']); + $n = new BigInteger($rawN, -256); + $nLength = strlen(ltrim($rawN, "\0")); + + /* + $temp = unpack('Nlength', $this->_string_shift($signature, 4)); + $signature = $this->_string_shift($signature, $temp['length']); + + $rsa = new RSA(); + $rsa->setSignatureMode(RSA::SIGNATURE_PKCS1); + $rsa->loadKey(array('e' => $e, 'n' => $n), RSA::PUBLIC_FORMAT_RAW); + if (!$rsa->verify($this->exchange_hash, $signature)) { + user_error('Bad server signature'); + return $this->_disconnect(NET_SSH2_DISCONNECT_HOST_KEY_NOT_VERIFIABLE); + } + */ + + $temp = unpack('Nlength', $this->_string_shift($signature, 4)); + $s = new BigInteger($this->_string_shift($signature, $temp['length']), 256); + + // validate an RSA signature per "8.2 RSASSA-PKCS1-v1_5", "5.2.2 RSAVP1", and "9.1 EMSA-PSS" in the + // following URL: + // ftp://ftp.rsasecurity.com/pub/pkcs/pkcs-1/pkcs-1v2-1.pdf + + // also, see SSHRSA.c (rsa2_verifysig) in PuTTy's source. + + if ($s->compare(new BigInteger()) < 0 || $s->compare($n->subtract(new BigInteger(1))) > 0) { + user_error('Invalid signature'); + return $this->_disconnect(NET_SSH2_DISCONNECT_KEY_EXCHANGE_FAILED); + } + + $s = $s->modPow($e, $n); + $s = $s->toBytes(); + + $h = pack('N4H*', 0x00302130, 0x0906052B, 0x0E03021A, 0x05000414, sha1($this->exchange_hash)); + $h = chr(0x01) . str_repeat(chr(0xFF), $nLength - 2 - strlen($h)) . $h; + + if ($s != $h) { + user_error('Bad server signature'); + return $this->_disconnect(NET_SSH2_DISCONNECT_HOST_KEY_NOT_VERIFIABLE); + } + break; + default: + user_error('Unsupported signature format'); + return $this->_disconnect(NET_SSH2_DISCONNECT_HOST_KEY_NOT_VERIFIABLE); + } + + return $this->signature_format . ' ' . base64_encode($this->server_public_host_key); + } + + /** + * Returns the exit status of an SSH command or false. + * + * @return false|int + * @access public + */ + function getExitStatus() + { + if (is_null($this->exit_status)) { + return false; + } + return $this->exit_status; + } + + /** + * Returns the number of columns for the terminal window size. + * + * @return int + * @access public + */ + function getWindowColumns() + { + return $this->windowColumns; + } + + /** + * Returns the number of rows for the terminal window size. + * + * @return int + * @access public + */ + function getWindowRows() + { + return $this->windowRows; + } + + /** + * Sets the number of columns for the terminal window size. + * + * @param int $value + * @access public + */ + function setWindowColumns($value) + { + $this->windowColumns = $value; + } + + /** + * Sets the number of rows for the terminal window size. + * + * @param int $value + * @access public + */ + function setWindowRows($value) + { + $this->windowRows = $value; + } + + /** + * Sets the number of columns and rows for the terminal window size. + * + * @param int $columns + * @param int $rows + * @access public + */ + function setWindowSize($columns = 80, $rows = 24) + { + $this->windowColumns = $columns; + $this->windowRows = $rows; + } +} diff --git a/vendor/phpseclib/phpseclib/phpseclib/System/SSH/Agent.php b/vendor/phpseclib/phpseclib/phpseclib/System/SSH/Agent.php new file mode 100644 index 00000000..a4ff0549 --- /dev/null +++ b/vendor/phpseclib/phpseclib/phpseclib/System/SSH/Agent.php @@ -0,0 +1,308 @@ +<?php + +/** + * Pure-PHP ssh-agent client. + * + * PHP version 5 + * + * Here are some examples of how to use this library: + * <code> + * <?php + * include 'vendor/autoload.php'; + * + * $agent = new \phpseclib\System\SSH\Agent(); + * + * $ssh = new \phpseclib\Net\SSH2('www.domain.tld'); + * if (!$ssh->login('username', $agent)) { + * exit('Login Failed'); + * } + * + * echo $ssh->exec('pwd'); + * echo $ssh->exec('ls -la'); + * ?> + * </code> + * + * @category System + * @package SSH\Agent + * @author Jim Wigginton <terrafrost@php.net> + * @copyright 2014 Jim Wigginton + * @license http://www.opensource.org/licenses/mit-license.html MIT License + * @link http://phpseclib.sourceforge.net + * @internal See http://api.libssh.org/rfc/PROTOCOL.agent + */ + +namespace phpseclib\System\SSH; + +use phpseclib\Crypt\RSA; +use phpseclib\System\SSH\Agent\Identity; + +/** + * Pure-PHP ssh-agent client identity factory + * + * requestIdentities() method pumps out \phpseclib\System\SSH\Agent\Identity objects + * + * @package SSH\Agent + * @author Jim Wigginton <terrafrost@php.net> + * @access internal + */ +class Agent +{ + /**#@+ + * Message numbers + * + * @access private + */ + // to request SSH1 keys you have to use SSH_AGENTC_REQUEST_RSA_IDENTITIES (1) + const SSH_AGENTC_REQUEST_IDENTITIES = 11; + // this is the SSH2 response; the SSH1 response is SSH_AGENT_RSA_IDENTITIES_ANSWER (2). + const SSH_AGENT_IDENTITIES_ANSWER = 12; + // the SSH1 request is SSH_AGENTC_RSA_CHALLENGE (3) + const SSH_AGENTC_SIGN_REQUEST = 13; + // the SSH1 response is SSH_AGENT_RSA_RESPONSE (4) + const SSH_AGENT_SIGN_RESPONSE = 14; + /**#@-*/ + + /**@+ + * Agent forwarding status + * + * @access private + */ + // no forwarding requested and not active + const FORWARD_NONE = 0; + // request agent forwarding when opportune + const FORWARD_REQUEST = 1; + // forwarding has been request and is active + const FORWARD_ACTIVE = 2; + /**#@-*/ + + /** + * Unused + */ + const SSH_AGENT_FAILURE = 5; + + /** + * Socket Resource + * + * @var resource + * @access private + */ + var $fsock; + + /** + * Agent forwarding status + * + * @access private + */ + var $forward_status = self::FORWARD_NONE; + + /** + * Buffer for accumulating forwarded authentication + * agent data arriving on SSH data channel destined + * for agent unix socket + * + * @access private + */ + var $socket_buffer = ''; + + /** + * Tracking the number of bytes we are expecting + * to arrive for the agent socket on the SSH data + * channel + */ + var $expected_bytes = 0; + + /** + * Default Constructor + * + * @return \phpseclib\System\SSH\Agent + * @access public + */ + function __construct() + { + switch (true) { + case isset($_SERVER['SSH_AUTH_SOCK']): + $address = $_SERVER['SSH_AUTH_SOCK']; + break; + case isset($_ENV['SSH_AUTH_SOCK']): + $address = $_ENV['SSH_AUTH_SOCK']; + break; + default: + user_error('SSH_AUTH_SOCK not found'); + return false; + } + + $this->fsock = fsockopen('unix://' . $address, 0, $errno, $errstr); + if (!$this->fsock) { + user_error("Unable to connect to ssh-agent (Error $errno: $errstr)"); + } + } + + /** + * Request Identities + * + * See "2.5.2 Requesting a list of protocol 2 keys" + * Returns an array containing zero or more \phpseclib\System\SSH\Agent\Identity objects + * + * @return array + * @access public + */ + function requestIdentities() + { + if (!$this->fsock) { + return array(); + } + + $packet = pack('NC', 1, self::SSH_AGENTC_REQUEST_IDENTITIES); + if (strlen($packet) != fputs($this->fsock, $packet)) { + user_error('Connection closed while requesting identities'); + } + + $length = current(unpack('N', fread($this->fsock, 4))); + $type = ord(fread($this->fsock, 1)); + if ($type != self::SSH_AGENT_IDENTITIES_ANSWER) { + user_error('Unable to request identities'); + } + + $identities = array(); + $keyCount = current(unpack('N', fread($this->fsock, 4))); + for ($i = 0; $i < $keyCount; $i++) { + $length = current(unpack('N', fread($this->fsock, 4))); + $key_blob = fread($this->fsock, $length); + $key_str = 'ssh-rsa ' . base64_encode($key_blob); + $length = current(unpack('N', fread($this->fsock, 4))); + if ($length) { + $key_str.= ' ' . fread($this->fsock, $length); + } + $length = current(unpack('N', substr($key_blob, 0, 4))); + $key_type = substr($key_blob, 4, $length); + switch ($key_type) { + case 'ssh-rsa': + $key = new RSA(); + $key->loadKey($key_str); + break; + case 'ssh-dss': + // not currently supported + break; + } + // resources are passed by reference by default + if (isset($key)) { + $identity = new Identity($this->fsock); + $identity->setPublicKey($key); + $identity->setPublicKeyBlob($key_blob); + $identities[] = $identity; + unset($key); + } + } + + return $identities; + } + + /** + * Signal that agent forwarding should + * be requested when a channel is opened + * + * @param Net_SSH2 $ssh + * @return bool + * @access public + */ + function startSSHForwarding($ssh) + { + if ($this->forward_status == self::FORWARD_NONE) { + $this->forward_status = self::FORWARD_REQUEST; + } + } + + /** + * Request agent forwarding of remote server + * + * @param Net_SSH2 $ssh + * @return bool + * @access private + */ + function _request_forwarding($ssh) + { + $request_channel = $ssh->_get_open_channel(); + if ($request_channel === false) { + return false; + } + + $packet = pack( + 'CNNa*C', + NET_SSH2_MSG_CHANNEL_REQUEST, + $ssh->server_channels[$request_channel], + strlen('auth-agent-req@openssh.com'), + 'auth-agent-req@openssh.com', + 1 + ); + + $ssh->channel_status[$request_channel] = NET_SSH2_MSG_CHANNEL_REQUEST; + + if (!$ssh->_send_binary_packet($packet)) { + return false; + } + + $response = $ssh->_get_channel_packet($request_channel); + if ($response === false) { + return false; + } + + $ssh->channel_status[$request_channel] = NET_SSH2_MSG_CHANNEL_OPEN; + $this->forward_status = self::FORWARD_ACTIVE; + + return true; + } + + /** + * On successful channel open + * + * This method is called upon successful channel + * open to give the SSH Agent an opportunity + * to take further action. i.e. request agent forwarding + * + * @param Net_SSH2 $ssh + * @access private + */ + function _on_channel_open($ssh) + { + if ($this->forward_status == self::FORWARD_REQUEST) { + $this->_request_forwarding($ssh); + } + } + + /** + * Forward data to SSH Agent and return data reply + * + * @param string $data + * @return data from SSH Agent + * @access private + */ + function _forward_data($data) + { + if ($this->expected_bytes > 0) { + $this->socket_buffer.= $data; + $this->expected_bytes -= strlen($data); + } else { + $agent_data_bytes = current(unpack('N', $data)); + $current_data_bytes = strlen($data); + $this->socket_buffer = $data; + if ($current_data_bytes != $agent_data_bytes + 4) { + $this->expected_bytes = ($agent_data_bytes + 4) - $current_data_bytes; + return false; + } + } + + if (strlen($this->socket_buffer) != fwrite($this->fsock, $this->socket_buffer)) { + user_error('Connection closed attempting to forward data to SSH agent'); + } + + $this->socket_buffer = ''; + $this->expected_bytes = 0; + + $agent_reply_bytes = current(unpack('N', fread($this->fsock, 4))); + + $agent_reply_data = fread($this->fsock, $agent_reply_bytes); + $agent_reply_data = current(unpack('a*', $agent_reply_data)); + + return pack('Na*', $agent_reply_bytes, $agent_reply_data); + } +} diff --git a/vendor/phpseclib/phpseclib/phpseclib/System/SSH/Agent/Identity.php b/vendor/phpseclib/phpseclib/phpseclib/System/SSH/Agent/Identity.php new file mode 100644 index 00000000..b8cc6cde --- /dev/null +++ b/vendor/phpseclib/phpseclib/phpseclib/System/SSH/Agent/Identity.php @@ -0,0 +1,158 @@ +<?php +/** + * Pure-PHP ssh-agent client. + * + * PHP version 5 + * + * @category System + * @package SSH\Agent + * @author Jim Wigginton <terrafrost@php.net> + * @copyright 2009 Jim Wigginton + * @license http://www.opensource.org/licenses/mit-license.html MIT License + * @link http://phpseclib.sourceforge.net + * @internal See http://api.libssh.org/rfc/PROTOCOL.agent + */ + +namespace phpseclib\System\SSH\Agent; + +use phpseclib\System\SSH\Agent; + +/** + * Pure-PHP ssh-agent client identity object + * + * Instantiation should only be performed by \phpseclib\System\SSH\Agent class. + * This could be thought of as implementing an interface that phpseclib\Crypt\RSA + * implements. ie. maybe a Net_SSH_Auth_PublicKey interface or something. + * The methods in this interface would be getPublicKey and sign since those are the + * methods phpseclib looks for to perform public key authentication. + * + * @package SSH\Agent + * @author Jim Wigginton <terrafrost@php.net> + * @access internal + */ +class Identity +{ + /** + * Key Object + * + * @var \phpseclib\Crypt\RSA + * @access private + * @see self::getPublicKey() + */ + var $key; + + /** + * Key Blob + * + * @var string + * @access private + * @see self::sign() + */ + var $key_blob; + + /** + * Socket Resource + * + * @var resource + * @access private + * @see self::sign() + */ + var $fsock; + + /** + * Default Constructor. + * + * @param resource $fsock + * @return \phpseclib\System\SSH\Agent\Identity + * @access private + */ + function __construct($fsock) + { + $this->fsock = $fsock; + } + + /** + * Set Public Key + * + * Called by \phpseclib\System\SSH\Agent::requestIdentities() + * + * @param \phpseclib\Crypt\RSA $key + * @access private + */ + function setPublicKey($key) + { + $this->key = $key; + $this->key->setPublicKey(); + } + + /** + * Set Public Key + * + * Called by \phpseclib\System\SSH\Agent::requestIdentities(). The key blob could be extracted from $this->key + * but this saves a small amount of computation. + * + * @param string $key_blob + * @access private + */ + function setPublicKeyBlob($key_blob) + { + $this->key_blob = $key_blob; + } + + /** + * Get Public Key + * + * Wrapper for $this->key->getPublicKey() + * + * @param int $format optional + * @return mixed + * @access public + */ + function getPublicKey($format = null) + { + return !isset($format) ? $this->key->getPublicKey() : $this->key->getPublicKey($format); + } + + /** + * Set Signature Mode + * + * Doesn't do anything as ssh-agent doesn't let you pick and choose the signature mode. ie. + * ssh-agent's only supported mode is \phpseclib\Crypt\RSA::SIGNATURE_PKCS1 + * + * @param int $mode + * @access public + */ + function setSignatureMode($mode) + { + } + + /** + * Create a signature + * + * See "2.6.2 Protocol 2 private key signature request" + * + * @param string $message + * @return string + * @access public + */ + function sign($message) + { + // the last parameter (currently 0) is for flags and ssh-agent only defines one flag (for ssh-dss): SSH_AGENT_OLD_SIGNATURE + $packet = pack('CNa*Na*N', Agent::SSH_AGENTC_SIGN_REQUEST, strlen($this->key_blob), $this->key_blob, strlen($message), $message, 0); + $packet = pack('Na*', strlen($packet), $packet); + if (strlen($packet) != fputs($this->fsock, $packet)) { + user_error('Connection closed during signing'); + } + + $length = current(unpack('N', fread($this->fsock, 4))); + $type = ord(fread($this->fsock, 1)); + if ($type != Agent::SSH_AGENT_SIGN_RESPONSE) { + user_error('Unable to retrieve signature'); + } + + $signature_blob = fread($this->fsock, $length - 1); + // the only other signature format defined - ssh-dss - is the same length as ssh-rsa + // the + 12 is for the other various SSH added length fields + return substr($signature_blob, strlen('ssh-rsa') + 12); + } +} diff --git a/vendor/phpseclib/phpseclib/phpseclib/bootstrap.php b/vendor/phpseclib/phpseclib/phpseclib/bootstrap.php new file mode 100644 index 00000000..0da0999f --- /dev/null +++ b/vendor/phpseclib/phpseclib/phpseclib/bootstrap.php @@ -0,0 +1,16 @@ +<?php +/** + * Bootstrapping File for phpseclib + * + * @license http://www.opensource.org/licenses/mit-license.html MIT License + */ + +if (extension_loaded('mbstring')) { + // 2 - MB_OVERLOAD_STRING + if (ini_get('mbstring.func_overload') & 2) { + throw new \UnexpectedValueException( + 'Overloading of string functions using mbstring.func_overload ' . + 'is not supported by phpseclib.' + ); + } +} diff --git a/vendor/phpseclib/phpseclib/phpseclib/openssl.cnf b/vendor/phpseclib/phpseclib/phpseclib/openssl.cnf new file mode 100644 index 00000000..2b8b52f9 --- /dev/null +++ b/vendor/phpseclib/phpseclib/phpseclib/openssl.cnf @@ -0,0 +1,6 @@ +# minimalist openssl.cnf file for use with phpseclib + +HOME = . +RANDFILE = $ENV::HOME/.rnd + +[ v3_ca ] diff --git a/vendor/psr/cache/CHANGELOG.md b/vendor/psr/cache/CHANGELOG.md new file mode 100644 index 00000000..58ddab05 --- /dev/null +++ b/vendor/psr/cache/CHANGELOG.md @@ -0,0 +1,16 @@ +# Changelog + +All notable changes to this project will be documented in this file, in reverse chronological order by release. + +## 1.0.1 - 2016-08-06 + +### Fixed + +- Make spacing consistent in phpdoc annotations php-fig/cache#9 - chalasr +- Fix grammar in phpdoc annotations php-fig/cache#10 - chalasr +- Be more specific in docblocks that `getItems()` and `deleteItems()` take an array of strings (`string[]`) compared to just `array` php-fig/cache#8 - GrahamCampbell +- For `expiresAt()` and `expiresAfter()` in CacheItemInterface fix docblock to specify null as a valid parameters as well as an implementation of DateTimeInterface php-fig/cache#7 - GrahamCampbell + +## 1.0.0 - 2015-12-11 + +Initial stable release; reflects accepted PSR-6 specification diff --git a/vendor/psr/cache/LICENSE.txt b/vendor/psr/cache/LICENSE.txt new file mode 100644 index 00000000..b1c2c97b --- /dev/null +++ b/vendor/psr/cache/LICENSE.txt @@ -0,0 +1,19 @@ +Copyright (c) 2015 PHP Framework Interoperability Group + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/vendor/psr/cache/README.md b/vendor/psr/cache/README.md new file mode 100644 index 00000000..c8706cee --- /dev/null +++ b/vendor/psr/cache/README.md @@ -0,0 +1,9 @@ +PSR Cache +========= + +This repository holds all interfaces defined by +[PSR-6](http://www.php-fig.org/psr/psr-6/). + +Note that this is not a Cache implementation of its own. It is merely an +interface that describes a Cache implementation. See the specification for more +details. diff --git a/vendor/psr/cache/composer.json b/vendor/psr/cache/composer.json new file mode 100644 index 00000000..e828fec9 --- /dev/null +++ b/vendor/psr/cache/composer.json @@ -0,0 +1,25 @@ +{ + "name": "psr/cache", + "description": "Common interface for caching libraries", + "keywords": ["psr", "psr-6", "cache"], + "license": "MIT", + "authors": [ + { + "name": "PHP-FIG", + "homepage": "http://www.php-fig.org/" + } + ], + "require": { + "php": ">=5.3.0" + }, + "autoload": { + "psr-4": { + "Psr\\Cache\\": "src/" + } + }, + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + } +} diff --git a/vendor/psr/cache/src/CacheException.php b/vendor/psr/cache/src/CacheException.php new file mode 100644 index 00000000..e27f22f8 --- /dev/null +++ b/vendor/psr/cache/src/CacheException.php @@ -0,0 +1,10 @@ +<?php + +namespace Psr\Cache; + +/** + * Exception interface for all exceptions thrown by an Implementing Library. + */ +interface CacheException +{ +} diff --git a/vendor/psr/cache/src/CacheItemInterface.php b/vendor/psr/cache/src/CacheItemInterface.php new file mode 100644 index 00000000..63d05dd1 --- /dev/null +++ b/vendor/psr/cache/src/CacheItemInterface.php @@ -0,0 +1,105 @@ +<?php + +namespace Psr\Cache; + +/** + * CacheItemInterface defines an interface for interacting with objects inside a cache. + * + * Each Item object MUST be associated with a specific key, which can be set + * according to the implementing system and is typically passed by the + * Cache\CacheItemPoolInterface object. + * + * The Cache\CacheItemInterface object encapsulates the storage and retrieval of + * cache items. Each Cache\CacheItemInterface is generated by a + * Cache\CacheItemPoolInterface object, which is responsible for any required + * setup as well as associating the object with a unique Key. + * Cache\CacheItemInterface objects MUST be able to store and retrieve any type + * of PHP value defined in the Data section of the specification. + * + * Calling Libraries MUST NOT instantiate Item objects themselves. They may only + * be requested from a Pool object via the getItem() method. Calling Libraries + * SHOULD NOT assume that an Item created by one Implementing Library is + * compatible with a Pool from another Implementing Library. + */ +interface CacheItemInterface +{ + /** + * Returns the key for the current cache item. + * + * The key is loaded by the Implementing Library, but should be available to + * the higher level callers when needed. + * + * @return string + * The key string for this cache item. + */ + public function getKey(); + + /** + * Retrieves the value of the item from the cache associated with this object's key. + * + * The value returned must be identical to the value originally stored by set(). + * + * If isHit() returns false, this method MUST return null. Note that null + * is a legitimate cached value, so the isHit() method SHOULD be used to + * differentiate between "null value was found" and "no value was found." + * + * @return mixed + * The value corresponding to this cache item's key, or null if not found. + */ + public function get(); + + /** + * Confirms if the cache item lookup resulted in a cache hit. + * + * Note: This method MUST NOT have a race condition between calling isHit() + * and calling get(). + * + * @return bool + * True if the request resulted in a cache hit. False otherwise. + */ + public function isHit(); + + /** + * Sets the value represented by this cache item. + * + * The $value argument may be any item that can be serialized by PHP, + * although the method of serialization is left up to the Implementing + * Library. + * + * @param mixed $value + * The serializable value to be stored. + * + * @return static + * The invoked object. + */ + public function set($value); + + /** + * Sets the expiration time for this cache item. + * + * @param \DateTimeInterface|null $expiration + * The point in time after which the item MUST be considered expired. + * If null is passed explicitly, a default value MAY be used. If none is set, + * the value should be stored permanently or for as long as the + * implementation allows. + * + * @return static + * The called object. + */ + public function expiresAt($expiration); + + /** + * Sets the expiration time for this cache item. + * + * @param int|\DateInterval|null $time + * The period of time from the present after which the item MUST be considered + * expired. An integer parameter is understood to be the time in seconds until + * expiration. If null is passed explicitly, a default value MAY be used. + * If none is set, the value should be stored permanently or for as long as the + * implementation allows. + * + * @return static + * The called object. + */ + public function expiresAfter($time); +} diff --git a/vendor/psr/cache/src/CacheItemPoolInterface.php b/vendor/psr/cache/src/CacheItemPoolInterface.php new file mode 100644 index 00000000..03514196 --- /dev/null +++ b/vendor/psr/cache/src/CacheItemPoolInterface.php @@ -0,0 +1,138 @@ +<?php + +namespace Psr\Cache; + +/** + * CacheItemPoolInterface generates CacheItemInterface objects. + * + * The primary purpose of Cache\CacheItemPoolInterface is to accept a key from + * the Calling Library and return the associated Cache\CacheItemInterface object. + * It is also the primary point of interaction with the entire cache collection. + * All configuration and initialization of the Pool is left up to an + * Implementing Library. + */ +interface CacheItemPoolInterface +{ + /** + * Returns a Cache Item representing the specified key. + * + * This method must always return a CacheItemInterface object, even in case of + * a cache miss. It MUST NOT return null. + * + * @param string $key + * The key for which to return the corresponding Cache Item. + * + * @throws InvalidArgumentException + * If the $key string is not a legal value a \Psr\Cache\InvalidArgumentException + * MUST be thrown. + * + * @return CacheItemInterface + * The corresponding Cache Item. + */ + public function getItem($key); + + /** + * Returns a traversable set of cache items. + * + * @param string[] $keys + * An indexed array of keys of items to retrieve. + * + * @throws InvalidArgumentException + * If any of the keys in $keys are not a legal value a \Psr\Cache\InvalidArgumentException + * MUST be thrown. + * + * @return array|\Traversable + * A traversable collection of Cache Items keyed by the cache keys of + * each item. A Cache item will be returned for each key, even if that + * key is not found. However, if no keys are specified then an empty + * traversable MUST be returned instead. + */ + public function getItems(array $keys = array()); + + /** + * Confirms if the cache contains specified cache item. + * + * Note: This method MAY avoid retrieving the cached value for performance reasons. + * This could result in a race condition with CacheItemInterface::get(). To avoid + * such situation use CacheItemInterface::isHit() instead. + * + * @param string $key + * The key for which to check existence. + * + * @throws InvalidArgumentException + * If the $key string is not a legal value a \Psr\Cache\InvalidArgumentException + * MUST be thrown. + * + * @return bool + * True if item exists in the cache, false otherwise. + */ + public function hasItem($key); + + /** + * Deletes all items in the pool. + * + * @return bool + * True if the pool was successfully cleared. False if there was an error. + */ + public function clear(); + + /** + * Removes the item from the pool. + * + * @param string $key + * The key to delete. + * + * @throws InvalidArgumentException + * If the $key string is not a legal value a \Psr\Cache\InvalidArgumentException + * MUST be thrown. + * + * @return bool + * True if the item was successfully removed. False if there was an error. + */ + public function deleteItem($key); + + /** + * Removes multiple items from the pool. + * + * @param string[] $keys + * An array of keys that should be removed from the pool. + + * @throws InvalidArgumentException + * If any of the keys in $keys are not a legal value a \Psr\Cache\InvalidArgumentException + * MUST be thrown. + * + * @return bool + * True if the items were successfully removed. False if there was an error. + */ + public function deleteItems(array $keys); + + /** + * Persists a cache item immediately. + * + * @param CacheItemInterface $item + * The cache item to save. + * + * @return bool + * True if the item was successfully persisted. False if there was an error. + */ + public function save(CacheItemInterface $item); + + /** + * Sets a cache item to be persisted later. + * + * @param CacheItemInterface $item + * The cache item to save. + * + * @return bool + * False if the item could not be queued or if a commit was attempted and failed. True otherwise. + */ + public function saveDeferred(CacheItemInterface $item); + + /** + * Persists any deferred cache items. + * + * @return bool + * True if all not-yet-saved items were successfully saved or there were none. False otherwise. + */ + public function commit(); +} diff --git a/vendor/psr/cache/src/InvalidArgumentException.php b/vendor/psr/cache/src/InvalidArgumentException.php new file mode 100644 index 00000000..be7c6fa0 --- /dev/null +++ b/vendor/psr/cache/src/InvalidArgumentException.php @@ -0,0 +1,13 @@ +<?php + +namespace Psr\Cache; + +/** + * Exception interface for invalid cache arguments. + * + * Any time an invalid argument is passed into a method it must throw an + * exception class which implements Psr\Cache\InvalidArgumentException. + */ +interface InvalidArgumentException extends CacheException +{ +} diff --git a/vendor/psr/http-message/CHANGELOG.md b/vendor/psr/http-message/CHANGELOG.md new file mode 100644 index 00000000..74b1ef92 --- /dev/null +++ b/vendor/psr/http-message/CHANGELOG.md @@ -0,0 +1,36 @@ +# Changelog + +All notable changes to this project will be documented in this file, in reverse chronological order by release. + +## 1.0.1 - 2016-08-06 + +### Added + +- Nothing. + +### Deprecated + +- Nothing. + +### Removed + +- Nothing. + +### Fixed + +- Updated all `@return self` annotation references in interfaces to use + `@return static`, which more closelly follows the semantics of the + specification. +- Updated the `MessageInterface::getHeaders()` return annotation to use the + value `string[][]`, indicating the format is a nested array of strings. +- Updated the `@link` annotation for `RequestInterface::withRequestTarget()` + to point to the correct section of RFC 7230. +- Updated the `ServerRequestInterface::withUploadedFiles()` parameter annotation + to add the parameter name (`$uploadedFiles`). +- Updated a `@throws` annotation for the `UploadedFileInterface::moveTo()` + method to correctly reference the method parameter (it was referencing an + incorrect parameter name previously). + +## 1.0.0 - 2016-05-18 + +Initial stable release; reflects accepted PSR-7 specification. diff --git a/vendor/psr/http-message/LICENSE b/vendor/psr/http-message/LICENSE new file mode 100644 index 00000000..c2d8e452 --- /dev/null +++ b/vendor/psr/http-message/LICENSE @@ -0,0 +1,19 @@ +Copyright (c) 2014 PHP Framework Interoperability Group + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/vendor/psr/http-message/README.md b/vendor/psr/http-message/README.md new file mode 100644 index 00000000..28185338 --- /dev/null +++ b/vendor/psr/http-message/README.md @@ -0,0 +1,13 @@ +PSR Http Message +================ + +This repository holds all interfaces/classes/traits related to +[PSR-7](http://www.php-fig.org/psr/psr-7/). + +Note that this is not a HTTP message implementation of its own. It is merely an +interface that describes a HTTP message. See the specification for more details. + +Usage +----- + +We'll certainly need some stuff in here. \ No newline at end of file diff --git a/vendor/psr/http-message/composer.json b/vendor/psr/http-message/composer.json new file mode 100644 index 00000000..b0d2937a --- /dev/null +++ b/vendor/psr/http-message/composer.json @@ -0,0 +1,26 @@ +{ + "name": "psr/http-message", + "description": "Common interface for HTTP messages", + "keywords": ["psr", "psr-7", "http", "http-message", "request", "response"], + "homepage": "https://github.com/php-fig/http-message", + "license": "MIT", + "authors": [ + { + "name": "PHP-FIG", + "homepage": "http://www.php-fig.org/" + } + ], + "require": { + "php": ">=5.3.0" + }, + "autoload": { + "psr-4": { + "Psr\\Http\\Message\\": "src/" + } + }, + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + } +} diff --git a/vendor/psr/http-message/src/MessageInterface.php b/vendor/psr/http-message/src/MessageInterface.php new file mode 100644 index 00000000..dd46e5ec --- /dev/null +++ b/vendor/psr/http-message/src/MessageInterface.php @@ -0,0 +1,187 @@ +<?php + +namespace Psr\Http\Message; + +/** + * HTTP messages consist of requests from a client to a server and responses + * from a server to a client. This interface defines the methods common to + * each. + * + * Messages are considered immutable; all methods that might change state MUST + * be implemented such that they retain the internal state of the current + * message and return an instance that contains the changed state. + * + * @link http://www.ietf.org/rfc/rfc7230.txt + * @link http://www.ietf.org/rfc/rfc7231.txt + */ +interface MessageInterface +{ + /** + * Retrieves the HTTP protocol version as a string. + * + * The string MUST contain only the HTTP version number (e.g., "1.1", "1.0"). + * + * @return string HTTP protocol version. + */ + public function getProtocolVersion(); + + /** + * Return an instance with the specified HTTP protocol version. + * + * The version string MUST contain only the HTTP version number (e.g., + * "1.1", "1.0"). + * + * This method MUST be implemented in such a way as to retain the + * immutability of the message, and MUST return an instance that has the + * new protocol version. + * + * @param string $version HTTP protocol version + * @return static + */ + public function withProtocolVersion($version); + + /** + * Retrieves all message header values. + * + * The keys represent the header name as it will be sent over the wire, and + * each value is an array of strings associated with the header. + * + * // Represent the headers as a string + * foreach ($message->getHeaders() as $name => $values) { + * echo $name . ": " . implode(", ", $values); + * } + * + * // Emit headers iteratively: + * foreach ($message->getHeaders() as $name => $values) { + * foreach ($values as $value) { + * header(sprintf('%s: %s', $name, $value), false); + * } + * } + * + * While header names are not case-sensitive, getHeaders() will preserve the + * exact case in which headers were originally specified. + * + * @return string[][] Returns an associative array of the message's headers. Each + * key MUST be a header name, and each value MUST be an array of strings + * for that header. + */ + public function getHeaders(); + + /** + * Checks if a header exists by the given case-insensitive name. + * + * @param string $name Case-insensitive header field name. + * @return bool Returns true if any header names match the given header + * name using a case-insensitive string comparison. Returns false if + * no matching header name is found in the message. + */ + public function hasHeader($name); + + /** + * Retrieves a message header value by the given case-insensitive name. + * + * This method returns an array of all the header values of the given + * case-insensitive header name. + * + * If the header does not appear in the message, this method MUST return an + * empty array. + * + * @param string $name Case-insensitive header field name. + * @return string[] An array of string values as provided for the given + * header. If the header does not appear in the message, this method MUST + * return an empty array. + */ + public function getHeader($name); + + /** + * Retrieves a comma-separated string of the values for a single header. + * + * This method returns all of the header values of the given + * case-insensitive header name as a string concatenated together using + * a comma. + * + * NOTE: Not all header values may be appropriately represented using + * comma concatenation. For such headers, use getHeader() instead + * and supply your own delimiter when concatenating. + * + * If the header does not appear in the message, this method MUST return + * an empty string. + * + * @param string $name Case-insensitive header field name. + * @return string A string of values as provided for the given header + * concatenated together using a comma. If the header does not appear in + * the message, this method MUST return an empty string. + */ + public function getHeaderLine($name); + + /** + * Return an instance with the provided value replacing the specified header. + * + * While header names are case-insensitive, the casing of the header will + * be preserved by this function, and returned from getHeaders(). + * + * This method MUST be implemented in such a way as to retain the + * immutability of the message, and MUST return an instance that has the + * new and/or updated header and value. + * + * @param string $name Case-insensitive header field name. + * @param string|string[] $value Header value(s). + * @return static + * @throws \InvalidArgumentException for invalid header names or values. + */ + public function withHeader($name, $value); + + /** + * Return an instance with the specified header appended with the given value. + * + * Existing values for the specified header will be maintained. The new + * value(s) will be appended to the existing list. If the header did not + * exist previously, it will be added. + * + * This method MUST be implemented in such a way as to retain the + * immutability of the message, and MUST return an instance that has the + * new header and/or value. + * + * @param string $name Case-insensitive header field name to add. + * @param string|string[] $value Header value(s). + * @return static + * @throws \InvalidArgumentException for invalid header names or values. + */ + public function withAddedHeader($name, $value); + + /** + * Return an instance without the specified header. + * + * Header resolution MUST be done without case-sensitivity. + * + * This method MUST be implemented in such a way as to retain the + * immutability of the message, and MUST return an instance that removes + * the named header. + * + * @param string $name Case-insensitive header field name to remove. + * @return static + */ + public function withoutHeader($name); + + /** + * Gets the body of the message. + * + * @return StreamInterface Returns the body as a stream. + */ + public function getBody(); + + /** + * Return an instance with the specified message body. + * + * The body MUST be a StreamInterface object. + * + * This method MUST be implemented in such a way as to retain the + * immutability of the message, and MUST return a new instance that has the + * new body stream. + * + * @param StreamInterface $body Body. + * @return static + * @throws \InvalidArgumentException When the body is not valid. + */ + public function withBody(StreamInterface $body); +} diff --git a/vendor/psr/http-message/src/RequestInterface.php b/vendor/psr/http-message/src/RequestInterface.php new file mode 100644 index 00000000..a96d4fd6 --- /dev/null +++ b/vendor/psr/http-message/src/RequestInterface.php @@ -0,0 +1,129 @@ +<?php + +namespace Psr\Http\Message; + +/** + * Representation of an outgoing, client-side request. + * + * Per the HTTP specification, this interface includes properties for + * each of the following: + * + * - Protocol version + * - HTTP method + * - URI + * - Headers + * - Message body + * + * During construction, implementations MUST attempt to set the Host header from + * a provided URI if no Host header is provided. + * + * Requests are considered immutable; all methods that might change state MUST + * be implemented such that they retain the internal state of the current + * message and return an instance that contains the changed state. + */ +interface RequestInterface extends MessageInterface +{ + /** + * Retrieves the message's request target. + * + * Retrieves the message's request-target either as it will appear (for + * clients), as it appeared at request (for servers), or as it was + * specified for the instance (see withRequestTarget()). + * + * In most cases, this will be the origin-form of the composed URI, + * unless a value was provided to the concrete implementation (see + * withRequestTarget() below). + * + * If no URI is available, and no request-target has been specifically + * provided, this method MUST return the string "/". + * + * @return string + */ + public function getRequestTarget(); + + /** + * Return an instance with the specific request-target. + * + * If the request needs a non-origin-form request-target — e.g., for + * specifying an absolute-form, authority-form, or asterisk-form — + * this method may be used to create an instance with the specified + * request-target, verbatim. + * + * This method MUST be implemented in such a way as to retain the + * immutability of the message, and MUST return an instance that has the + * changed request target. + * + * @link http://tools.ietf.org/html/rfc7230#section-5.3 (for the various + * request-target forms allowed in request messages) + * @param mixed $requestTarget + * @return static + */ + public function withRequestTarget($requestTarget); + + /** + * Retrieves the HTTP method of the request. + * + * @return string Returns the request method. + */ + public function getMethod(); + + /** + * Return an instance with the provided HTTP method. + * + * While HTTP method names are typically all uppercase characters, HTTP + * method names are case-sensitive and thus implementations SHOULD NOT + * modify the given string. + * + * This method MUST be implemented in such a way as to retain the + * immutability of the message, and MUST return an instance that has the + * changed request method. + * + * @param string $method Case-sensitive method. + * @return static + * @throws \InvalidArgumentException for invalid HTTP methods. + */ + public function withMethod($method); + + /** + * Retrieves the URI instance. + * + * This method MUST return a UriInterface instance. + * + * @link http://tools.ietf.org/html/rfc3986#section-4.3 + * @return UriInterface Returns a UriInterface instance + * representing the URI of the request. + */ + public function getUri(); + + /** + * Returns an instance with the provided URI. + * + * This method MUST update the Host header of the returned request by + * default if the URI contains a host component. If the URI does not + * contain a host component, any pre-existing Host header MUST be carried + * over to the returned request. + * + * You can opt-in to preserving the original state of the Host header by + * setting `$preserveHost` to `true`. When `$preserveHost` is set to + * `true`, this method interacts with the Host header in the following ways: + * + * - If the Host header is missing or empty, and the new URI contains + * a host component, this method MUST update the Host header in the returned + * request. + * - If the Host header is missing or empty, and the new URI does not contain a + * host component, this method MUST NOT update the Host header in the returned + * request. + * - If a Host header is present and non-empty, this method MUST NOT update + * the Host header in the returned request. + * + * This method MUST be implemented in such a way as to retain the + * immutability of the message, and MUST return an instance that has the + * new UriInterface instance. + * + * @link http://tools.ietf.org/html/rfc3986#section-4.3 + * @param UriInterface $uri New request URI to use. + * @param bool $preserveHost Preserve the original state of the Host header. + * @return static + */ + public function withUri(UriInterface $uri, $preserveHost = false); +} diff --git a/vendor/psr/http-message/src/ResponseInterface.php b/vendor/psr/http-message/src/ResponseInterface.php new file mode 100644 index 00000000..c306514e --- /dev/null +++ b/vendor/psr/http-message/src/ResponseInterface.php @@ -0,0 +1,68 @@ +<?php + +namespace Psr\Http\Message; + +/** + * Representation of an outgoing, server-side response. + * + * Per the HTTP specification, this interface includes properties for + * each of the following: + * + * - Protocol version + * - Status code and reason phrase + * - Headers + * - Message body + * + * Responses are considered immutable; all methods that might change state MUST + * be implemented such that they retain the internal state of the current + * message and return an instance that contains the changed state. + */ +interface ResponseInterface extends MessageInterface +{ + /** + * Gets the response status code. + * + * The status code is a 3-digit integer result code of the server's attempt + * to understand and satisfy the request. + * + * @return int Status code. + */ + public function getStatusCode(); + + /** + * Return an instance with the specified status code and, optionally, reason phrase. + * + * If no reason phrase is specified, implementations MAY choose to default + * to the RFC 7231 or IANA recommended reason phrase for the response's + * status code. + * + * This method MUST be implemented in such a way as to retain the + * immutability of the message, and MUST return an instance that has the + * updated status and reason phrase. + * + * @link http://tools.ietf.org/html/rfc7231#section-6 + * @link http://www.iana.org/assignments/http-status-codes/http-status-codes.xhtml + * @param int $code The 3-digit integer result code to set. + * @param string $reasonPhrase The reason phrase to use with the + * provided status code; if none is provided, implementations MAY + * use the defaults as suggested in the HTTP specification. + * @return static + * @throws \InvalidArgumentException For invalid status code arguments. + */ + public function withStatus($code, $reasonPhrase = ''); + + /** + * Gets the response reason phrase associated with the status code. + * + * Because a reason phrase is not a required element in a response + * status line, the reason phrase value MAY be null. Implementations MAY + * choose to return the default RFC 7231 recommended reason phrase (or those + * listed in the IANA HTTP Status Code Registry) for the response's + * status code. + * + * @link http://tools.ietf.org/html/rfc7231#section-6 + * @link http://www.iana.org/assignments/http-status-codes/http-status-codes.xhtml + * @return string Reason phrase; must return an empty string if none present. + */ + public function getReasonPhrase(); +} diff --git a/vendor/psr/http-message/src/ServerRequestInterface.php b/vendor/psr/http-message/src/ServerRequestInterface.php new file mode 100644 index 00000000..02512340 --- /dev/null +++ b/vendor/psr/http-message/src/ServerRequestInterface.php @@ -0,0 +1,261 @@ +<?php + +namespace Psr\Http\Message; + +/** + * Representation of an incoming, server-side HTTP request. + * + * Per the HTTP specification, this interface includes properties for + * each of the following: + * + * - Protocol version + * - HTTP method + * - URI + * - Headers + * - Message body + * + * Additionally, it encapsulates all data as it has arrived to the + * application from the CGI and/or PHP environment, including: + * + * - The values represented in $_SERVER. + * - Any cookies provided (generally via $_COOKIE) + * - Query string arguments (generally via $_GET, or as parsed via parse_str()) + * - Upload files, if any (as represented by $_FILES) + * - Deserialized body parameters (generally from $_POST) + * + * $_SERVER values MUST be treated as immutable, as they represent application + * state at the time of request; as such, no methods are provided to allow + * modification of those values. The other values provide such methods, as they + * can be restored from $_SERVER or the request body, and may need treatment + * during the application (e.g., body parameters may be deserialized based on + * content type). + * + * Additionally, this interface recognizes the utility of introspecting a + * request to derive and match additional parameters (e.g., via URI path + * matching, decrypting cookie values, deserializing non-form-encoded body + * content, matching authorization headers to users, etc). These parameters + * are stored in an "attributes" property. + * + * Requests are considered immutable; all methods that might change state MUST + * be implemented such that they retain the internal state of the current + * message and return an instance that contains the changed state. + */ +interface ServerRequestInterface extends RequestInterface +{ + /** + * Retrieve server parameters. + * + * Retrieves data related to the incoming request environment, + * typically derived from PHP's $_SERVER superglobal. The data IS NOT + * REQUIRED to originate from $_SERVER. + * + * @return array + */ + public function getServerParams(); + + /** + * Retrieve cookies. + * + * Retrieves cookies sent by the client to the server. + * + * The data MUST be compatible with the structure of the $_COOKIE + * superglobal. + * + * @return array + */ + public function getCookieParams(); + + /** + * Return an instance with the specified cookies. + * + * The data IS NOT REQUIRED to come from the $_COOKIE superglobal, but MUST + * be compatible with the structure of $_COOKIE. Typically, this data will + * be injected at instantiation. + * + * This method MUST NOT update the related Cookie header of the request + * instance, nor related values in the server params. + * + * This method MUST be implemented in such a way as to retain the + * immutability of the message, and MUST return an instance that has the + * updated cookie values. + * + * @param array $cookies Array of key/value pairs representing cookies. + * @return static + */ + public function withCookieParams(array $cookies); + + /** + * Retrieve query string arguments. + * + * Retrieves the deserialized query string arguments, if any. + * + * Note: the query params might not be in sync with the URI or server + * params. If you need to ensure you are only getting the original + * values, you may need to parse the query string from `getUri()->getQuery()` + * or from the `QUERY_STRING` server param. + * + * @return array + */ + public function getQueryParams(); + + /** + * Return an instance with the specified query string arguments. + * + * These values SHOULD remain immutable over the course of the incoming + * request. They MAY be injected during instantiation, such as from PHP's + * $_GET superglobal, or MAY be derived from some other value such as the + * URI. In cases where the arguments are parsed from the URI, the data + * MUST be compatible with what PHP's parse_str() would return for + * purposes of how duplicate query parameters are handled, and how nested + * sets are handled. + * + * Setting query string arguments MUST NOT change the URI stored by the + * request, nor the values in the server params. + * + * This method MUST be implemented in such a way as to retain the + * immutability of the message, and MUST return an instance that has the + * updated query string arguments. + * + * @param array $query Array of query string arguments, typically from + * $_GET. + * @return static + */ + public function withQueryParams(array $query); + + /** + * Retrieve normalized file upload data. + * + * This method returns upload metadata in a normalized tree, with each leaf + * an instance of Psr\Http\Message\UploadedFileInterface. + * + * These values MAY be prepared from $_FILES or the message body during + * instantiation, or MAY be injected via withUploadedFiles(). + * + * @return array An array tree of UploadedFileInterface instances; an empty + * array MUST be returned if no data is present. + */ + public function getUploadedFiles(); + + /** + * Create a new instance with the specified uploaded files. + * + * This method MUST be implemented in such a way as to retain the + * immutability of the message, and MUST return an instance that has the + * updated body parameters. + * + * @param array $uploadedFiles An array tree of UploadedFileInterface instances. + * @return static + * @throws \InvalidArgumentException if an invalid structure is provided. + */ + public function withUploadedFiles(array $uploadedFiles); + + /** + * Retrieve any parameters provided in the request body. + * + * If the request Content-Type is either application/x-www-form-urlencoded + * or multipart/form-data, and the request method is POST, this method MUST + * return the contents of $_POST. + * + * Otherwise, this method may return any results of deserializing + * the request body content; as parsing returns structured content, the + * potential types MUST be arrays or objects only. A null value indicates + * the absence of body content. + * + * @return null|array|object The deserialized body parameters, if any. + * These will typically be an array or object. + */ + public function getParsedBody(); + + /** + * Return an instance with the specified body parameters. + * + * These MAY be injected during instantiation. + * + * If the request Content-Type is either application/x-www-form-urlencoded + * or multipart/form-data, and the request method is POST, use this method + * ONLY to inject the contents of $_POST. + * + * The data IS NOT REQUIRED to come from $_POST, but MUST be the results of + * deserializing the request body content. Deserialization/parsing returns + * structured data, and, as such, this method ONLY accepts arrays or objects, + * or a null value if nothing was available to parse. + * + * As an example, if content negotiation determines that the request data + * is a JSON payload, this method could be used to create a request + * instance with the deserialized parameters. + * + * This method MUST be implemented in such a way as to retain the + * immutability of the message, and MUST return an instance that has the + * updated body parameters. + * + * @param null|array|object $data The deserialized body data. This will + * typically be in an array or object. + * @return static + * @throws \InvalidArgumentException if an unsupported argument type is + * provided. + */ + public function withParsedBody($data); + + /** + * Retrieve attributes derived from the request. + * + * The request "attributes" may be used to allow injection of any + * parameters derived from the request: e.g., the results of path + * match operations; the results of decrypting cookies; the results of + * deserializing non-form-encoded message bodies; etc. Attributes + * will be application and request specific, and CAN be mutable. + * + * @return array Attributes derived from the request. + */ + public function getAttributes(); + + /** + * Retrieve a single derived request attribute. + * + * Retrieves a single derived request attribute as described in + * getAttributes(). If the attribute has not been previously set, returns + * the default value as provided. + * + * This method obviates the need for a hasAttribute() method, as it allows + * specifying a default value to return if the attribute is not found. + * + * @see getAttributes() + * @param string $name The attribute name. + * @param mixed $default Default value to return if the attribute does not exist. + * @return mixed + */ + public function getAttribute($name, $default = null); + + /** + * Return an instance with the specified derived request attribute. + * + * This method allows setting a single derived request attribute as + * described in getAttributes(). + * + * This method MUST be implemented in such a way as to retain the + * immutability of the message, and MUST return an instance that has the + * updated attribute. + * + * @see getAttributes() + * @param string $name The attribute name. + * @param mixed $value The value of the attribute. + * @return static + */ + public function withAttribute($name, $value); + + /** + * Return an instance that removes the specified derived request attribute. + * + * This method allows removing a single derived request attribute as + * described in getAttributes(). + * + * This method MUST be implemented in such a way as to retain the + * immutability of the message, and MUST return an instance that removes + * the attribute. + * + * @see getAttributes() + * @param string $name The attribute name. + * @return static + */ + public function withoutAttribute($name); +} diff --git a/vendor/psr/http-message/src/StreamInterface.php b/vendor/psr/http-message/src/StreamInterface.php new file mode 100644 index 00000000..f68f3912 --- /dev/null +++ b/vendor/psr/http-message/src/StreamInterface.php @@ -0,0 +1,158 @@ +<?php + +namespace Psr\Http\Message; + +/** + * Describes a data stream. + * + * Typically, an instance will wrap a PHP stream; this interface provides + * a wrapper around the most common operations, including serialization of + * the entire stream to a string. + */ +interface StreamInterface +{ + /** + * Reads all data from the stream into a string, from the beginning to end. + * + * This method MUST attempt to seek to the beginning of the stream before + * reading data and read the stream until the end is reached. + * + * Warning: This could attempt to load a large amount of data into memory. + * + * This method MUST NOT raise an exception in order to conform with PHP's + * string casting operations. + * + * @see http://php.net/manual/en/language.oop5.magic.php#object.tostring + * @return string + */ + public function __toString(); + + /** + * Closes the stream and any underlying resources. + * + * @return void + */ + public function close(); + + /** + * Separates any underlying resources from the stream. + * + * After the stream has been detached, the stream is in an unusable state. + * + * @return resource|null Underlying PHP stream, if any + */ + public function detach(); + + /** + * Get the size of the stream if known. + * + * @return int|null Returns the size in bytes if known, or null if unknown. + */ + public function getSize(); + + /** + * Returns the current position of the file read/write pointer + * + * @return int Position of the file pointer + * @throws \RuntimeException on error. + */ + public function tell(); + + /** + * Returns true if the stream is at the end of the stream. + * + * @return bool + */ + public function eof(); + + /** + * Returns whether or not the stream is seekable. + * + * @return bool + */ + public function isSeekable(); + + /** + * Seek to a position in the stream. + * + * @link http://www.php.net/manual/en/function.fseek.php + * @param int $offset Stream offset + * @param int $whence Specifies how the cursor position will be calculated + * based on the seek offset. Valid values are identical to the built-in + * PHP $whence values for `fseek()`. SEEK_SET: Set position equal to + * offset bytes SEEK_CUR: Set position to current location plus offset + * SEEK_END: Set position to end-of-stream plus offset. + * @throws \RuntimeException on failure. + */ + public function seek($offset, $whence = SEEK_SET); + + /** + * Seek to the beginning of the stream. + * + * If the stream is not seekable, this method will raise an exception; + * otherwise, it will perform a seek(0). + * + * @see seek() + * @link http://www.php.net/manual/en/function.fseek.php + * @throws \RuntimeException on failure. + */ + public function rewind(); + + /** + * Returns whether or not the stream is writable. + * + * @return bool + */ + public function isWritable(); + + /** + * Write data to the stream. + * + * @param string $string The string that is to be written. + * @return int Returns the number of bytes written to the stream. + * @throws \RuntimeException on failure. + */ + public function write($string); + + /** + * Returns whether or not the stream is readable. + * + * @return bool + */ + public function isReadable(); + + /** + * Read data from the stream. + * + * @param int $length Read up to $length bytes from the object and return + * them. Fewer than $length bytes may be returned if underlying stream + * call returns fewer bytes. + * @return string Returns the data read from the stream, or an empty string + * if no bytes are available. + * @throws \RuntimeException if an error occurs. + */ + public function read($length); + + /** + * Returns the remaining contents in a string + * + * @return string + * @throws \RuntimeException if unable to read or an error occurs while + * reading. + */ + public function getContents(); + + /** + * Get stream metadata as an associative array or retrieve a specific key. + * + * The keys returned are identical to the keys returned from PHP's + * stream_get_meta_data() function. + * + * @link http://php.net/manual/en/function.stream-get-meta-data.php + * @param string $key Specific metadata to retrieve. + * @return array|mixed|null Returns an associative array if no key is + * provided. Returns a specific key value if a key is provided and the + * value is found, or null if the key is not found. + */ + public function getMetadata($key = null); +} diff --git a/vendor/psr/http-message/src/UploadedFileInterface.php b/vendor/psr/http-message/src/UploadedFileInterface.php new file mode 100644 index 00000000..f8a6901e --- /dev/null +++ b/vendor/psr/http-message/src/UploadedFileInterface.php @@ -0,0 +1,123 @@ +<?php + +namespace Psr\Http\Message; + +/** + * Value object representing a file uploaded through an HTTP request. + * + * Instances of this interface are considered immutable; all methods that + * might change state MUST be implemented such that they retain the internal + * state of the current instance and return an instance that contains the + * changed state. + */ +interface UploadedFileInterface +{ + /** + * Retrieve a stream representing the uploaded file. + * + * This method MUST return a StreamInterface instance, representing the + * uploaded file. The purpose of this method is to allow utilizing native PHP + * stream functionality to manipulate the file upload, such as + * stream_copy_to_stream() (though the result will need to be decorated in a + * native PHP stream wrapper to work with such functions). + * + * If the moveTo() method has been called previously, this method MUST raise + * an exception. + * + * @return StreamInterface Stream representation of the uploaded file. + * @throws \RuntimeException in cases when no stream is available or can be + * created. + */ + public function getStream(); + + /** + * Move the uploaded file to a new location. + * + * Use this method as an alternative to move_uploaded_file(). This method is + * guaranteed to work in both SAPI and non-SAPI environments. + * Implementations must determine which environment they are in, and use the + * appropriate method (move_uploaded_file(), rename(), or a stream + * operation) to perform the operation. + * + * $targetPath may be an absolute path, or a relative path. If it is a + * relative path, resolution should be the same as used by PHP's rename() + * function. + * + * The original file or stream MUST be removed on completion. + * + * If this method is called more than once, any subsequent calls MUST raise + * an exception. + * + * When used in an SAPI environment where $_FILES is populated, when writing + * files via moveTo(), is_uploaded_file() and move_uploaded_file() SHOULD be + * used to ensure permissions and upload status are verified correctly. + * + * If you wish to move to a stream, use getStream(), as SAPI operations + * cannot guarantee writing to stream destinations. + * + * @see http://php.net/is_uploaded_file + * @see http://php.net/move_uploaded_file + * @param string $targetPath Path to which to move the uploaded file. + * @throws \InvalidArgumentException if the $targetPath specified is invalid. + * @throws \RuntimeException on any error during the move operation, or on + * the second or subsequent call to the method. + */ + public function moveTo($targetPath); + + /** + * Retrieve the file size. + * + * Implementations SHOULD return the value stored in the "size" key of + * the file in the $_FILES array if available, as PHP calculates this based + * on the actual size transmitted. + * + * @return int|null The file size in bytes or null if unknown. + */ + public function getSize(); + + /** + * Retrieve the error associated with the uploaded file. + * + * The return value MUST be one of PHP's UPLOAD_ERR_XXX constants. + * + * If the file was uploaded successfully, this method MUST return + * UPLOAD_ERR_OK. + * + * Implementations SHOULD return the value stored in the "error" key of + * the file in the $_FILES array. + * + * @see http://php.net/manual/en/features.file-upload.errors.php + * @return int One of PHP's UPLOAD_ERR_XXX constants. + */ + public function getError(); + + /** + * Retrieve the filename sent by the client. + * + * Do not trust the value returned by this method. A client could send + * a malicious filename with the intention to corrupt or hack your + * application. + * + * Implementations SHOULD return the value stored in the "name" key of + * the file in the $_FILES array. + * + * @return string|null The filename sent by the client or null if none + * was provided. + */ + public function getClientFilename(); + + /** + * Retrieve the media type sent by the client. + * + * Do not trust the value returned by this method. A client could send + * a malicious media type with the intention to corrupt or hack your + * application. + * + * Implementations SHOULD return the value stored in the "type" key of + * the file in the $_FILES array. + * + * @return string|null The media type sent by the client or null if none + * was provided. + */ + public function getClientMediaType(); +} diff --git a/vendor/psr/http-message/src/UriInterface.php b/vendor/psr/http-message/src/UriInterface.php new file mode 100644 index 00000000..9d7ab9ea --- /dev/null +++ b/vendor/psr/http-message/src/UriInterface.php @@ -0,0 +1,323 @@ +<?php +namespace Psr\Http\Message; + +/** + * Value object representing a URI. + * + * This interface is meant to represent URIs according to RFC 3986 and to + * provide methods for most common operations. Additional functionality for + * working with URIs can be provided on top of the interface or externally. + * Its primary use is for HTTP requests, but may also be used in other + * contexts. + * + * Instances of this interface are considered immutable; all methods that + * might change state MUST be implemented such that they retain the internal + * state of the current instance and return an instance that contains the + * changed state. + * + * Typically the Host header will be also be present in the request message. + * For server-side requests, the scheme will typically be discoverable in the + * server parameters. + * + * @link http://tools.ietf.org/html/rfc3986 (the URI specification) + */ +interface UriInterface +{ + /** + * Retrieve the scheme component of the URI. + * + * If no scheme is present, this method MUST return an empty string. + * + * The value returned MUST be normalized to lowercase, per RFC 3986 + * Section 3.1. + * + * The trailing ":" character is not part of the scheme and MUST NOT be + * added. + * + * @see https://tools.ietf.org/html/rfc3986#section-3.1 + * @return string The URI scheme. + */ + public function getScheme(); + + /** + * Retrieve the authority component of the URI. + * + * If no authority information is present, this method MUST return an empty + * string. + * + * The authority syntax of the URI is: + * + * <pre> + * [user-info@]host[:port] + * </pre> + * + * If the port component is not set or is the standard port for the current + * scheme, it SHOULD NOT be included. + * + * @see https://tools.ietf.org/html/rfc3986#section-3.2 + * @return string The URI authority, in "[user-info@]host[:port]" format. + */ + public function getAuthority(); + + /** + * Retrieve the user information component of the URI. + * + * If no user information is present, this method MUST return an empty + * string. + * + * If a user is present in the URI, this will return that value; + * additionally, if the password is also present, it will be appended to the + * user value, with a colon (":") separating the values. + * + * The trailing "@" character is not part of the user information and MUST + * NOT be added. + * + * @return string The URI user information, in "username[:password]" format. + */ + public function getUserInfo(); + + /** + * Retrieve the host component of the URI. + * + * If no host is present, this method MUST return an empty string. + * + * The value returned MUST be normalized to lowercase, per RFC 3986 + * Section 3.2.2. + * + * @see http://tools.ietf.org/html/rfc3986#section-3.2.2 + * @return string The URI host. + */ + public function getHost(); + + /** + * Retrieve the port component of the URI. + * + * If a port is present, and it is non-standard for the current scheme, + * this method MUST return it as an integer. If the port is the standard port + * used with the current scheme, this method SHOULD return null. + * + * If no port is present, and no scheme is present, this method MUST return + * a null value. + * + * If no port is present, but a scheme is present, this method MAY return + * the standard port for that scheme, but SHOULD return null. + * + * @return null|int The URI port. + */ + public function getPort(); + + /** + * Retrieve the path component of the URI. + * + * The path can either be empty or absolute (starting with a slash) or + * rootless (not starting with a slash). Implementations MUST support all + * three syntaxes. + * + * Normally, the empty path "" and absolute path "/" are considered equal as + * defined in RFC 7230 Section 2.7.3. But this method MUST NOT automatically + * do this normalization because in contexts with a trimmed base path, e.g. + * the front controller, this difference becomes significant. It's the task + * of the user to handle both "" and "/". + * + * The value returned MUST be percent-encoded, but MUST NOT double-encode + * any characters. To determine what characters to encode, please refer to + * RFC 3986, Sections 2 and 3.3. + * + * As an example, if the value should include a slash ("/") not intended as + * delimiter between path segments, that value MUST be passed in encoded + * form (e.g., "%2F") to the instance. + * + * @see https://tools.ietf.org/html/rfc3986#section-2 + * @see https://tools.ietf.org/html/rfc3986#section-3.3 + * @return string The URI path. + */ + public function getPath(); + + /** + * Retrieve the query string of the URI. + * + * If no query string is present, this method MUST return an empty string. + * + * The leading "?" character is not part of the query and MUST NOT be + * added. + * + * The value returned MUST be percent-encoded, but MUST NOT double-encode + * any characters. To determine what characters to encode, please refer to + * RFC 3986, Sections 2 and 3.4. + * + * As an example, if a value in a key/value pair of the query string should + * include an ampersand ("&") not intended as a delimiter between values, + * that value MUST be passed in encoded form (e.g., "%26") to the instance. + * + * @see https://tools.ietf.org/html/rfc3986#section-2 + * @see https://tools.ietf.org/html/rfc3986#section-3.4 + * @return string The URI query string. + */ + public function getQuery(); + + /** + * Retrieve the fragment component of the URI. + * + * If no fragment is present, this method MUST return an empty string. + * + * The leading "#" character is not part of the fragment and MUST NOT be + * added. + * + * The value returned MUST be percent-encoded, but MUST NOT double-encode + * any characters. To determine what characters to encode, please refer to + * RFC 3986, Sections 2 and 3.5. + * + * @see https://tools.ietf.org/html/rfc3986#section-2 + * @see https://tools.ietf.org/html/rfc3986#section-3.5 + * @return string The URI fragment. + */ + public function getFragment(); + + /** + * Return an instance with the specified scheme. + * + * This method MUST retain the state of the current instance, and return + * an instance that contains the specified scheme. + * + * Implementations MUST support the schemes "http" and "https" case + * insensitively, and MAY accommodate other schemes if required. + * + * An empty scheme is equivalent to removing the scheme. + * + * @param string $scheme The scheme to use with the new instance. + * @return static A new instance with the specified scheme. + * @throws \InvalidArgumentException for invalid or unsupported schemes. + */ + public function withScheme($scheme); + + /** + * Return an instance with the specified user information. + * + * This method MUST retain the state of the current instance, and return + * an instance that contains the specified user information. + * + * Password is optional, but the user information MUST include the + * user; an empty string for the user is equivalent to removing user + * information. + * + * @param string $user The user name to use for authority. + * @param null|string $password The password associated with $user. + * @return static A new instance with the specified user information. + */ + public function withUserInfo($user, $password = null); + + /** + * Return an instance with the specified host. + * + * This method MUST retain the state of the current instance, and return + * an instance that contains the specified host. + * + * An empty host value is equivalent to removing the host. + * + * @param string $host The hostname to use with the new instance. + * @return static A new instance with the specified host. + * @throws \InvalidArgumentException for invalid hostnames. + */ + public function withHost($host); + + /** + * Return an instance with the specified port. + * + * This method MUST retain the state of the current instance, and return + * an instance that contains the specified port. + * + * Implementations MUST raise an exception for ports outside the + * established TCP and UDP port ranges. + * + * A null value provided for the port is equivalent to removing the port + * information. + * + * @param null|int $port The port to use with the new instance; a null value + * removes the port information. + * @return static A new instance with the specified port. + * @throws \InvalidArgumentException for invalid ports. + */ + public function withPort($port); + + /** + * Return an instance with the specified path. + * + * This method MUST retain the state of the current instance, and return + * an instance that contains the specified path. + * + * The path can either be empty or absolute (starting with a slash) or + * rootless (not starting with a slash). Implementations MUST support all + * three syntaxes. + * + * If the path is intended to be domain-relative rather than path relative then + * it must begin with a slash ("/"). Paths not starting with a slash ("/") + * are assumed to be relative to some base path known to the application or + * consumer. + * + * Users can provide both encoded and decoded path characters. + * Implementations ensure the correct encoding as outlined in getPath(). + * + * @param string $path The path to use with the new instance. + * @return static A new instance with the specified path. + * @throws \InvalidArgumentException for invalid paths. + */ + public function withPath($path); + + /** + * Return an instance with the specified query string. + * + * This method MUST retain the state of the current instance, and return + * an instance that contains the specified query string. + * + * Users can provide both encoded and decoded query characters. + * Implementations ensure the correct encoding as outlined in getQuery(). + * + * An empty query string value is equivalent to removing the query string. + * + * @param string $query The query string to use with the new instance. + * @return static A new instance with the specified query string. + * @throws \InvalidArgumentException for invalid query strings. + */ + public function withQuery($query); + + /** + * Return an instance with the specified URI fragment. + * + * This method MUST retain the state of the current instance, and return + * an instance that contains the specified URI fragment. + * + * Users can provide both encoded and decoded fragment characters. + * Implementations ensure the correct encoding as outlined in getFragment(). + * + * An empty fragment value is equivalent to removing the fragment. + * + * @param string $fragment The fragment to use with the new instance. + * @return static A new instance with the specified fragment. + */ + public function withFragment($fragment); + + /** + * Return the string representation as a URI reference. + * + * Depending on which components of the URI are present, the resulting + * string is either a full URI or relative reference according to RFC 3986, + * Section 4.1. The method concatenates the various components of the URI, + * using the appropriate delimiters: + * + * - If a scheme is present, it MUST be suffixed by ":". + * - If an authority is present, it MUST be prefixed by "//". + * - The path can be concatenated without delimiters. But there are two + * cases where the path has to be adjusted to make the URI reference + * valid as PHP does not allow to throw an exception in __toString(): + * - If the path is rootless and an authority is present, the path MUST + * be prefixed by "/". + * - If the path is starting with more than one "/" and no authority is + * present, the starting slashes MUST be reduced to one. + * - If a query is present, it MUST be prefixed by "?". + * - If a fragment is present, it MUST be prefixed by "#". + * + * @see http://tools.ietf.org/html/rfc3986#section-4.1 + * @return string + */ + public function __toString(); +} diff --git a/vendor/psr/log/.gitignore b/vendor/psr/log/.gitignore new file mode 100644 index 00000000..22d0d82f --- /dev/null +++ b/vendor/psr/log/.gitignore @@ -0,0 +1 @@ +vendor diff --git a/vendor/psr/log/LICENSE b/vendor/psr/log/LICENSE new file mode 100644 index 00000000..474c952b --- /dev/null +++ b/vendor/psr/log/LICENSE @@ -0,0 +1,19 @@ +Copyright (c) 2012 PHP Framework Interoperability Group + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/vendor/psr/log/Psr/Log/AbstractLogger.php b/vendor/psr/log/Psr/Log/AbstractLogger.php new file mode 100644 index 00000000..90e721af --- /dev/null +++ b/vendor/psr/log/Psr/Log/AbstractLogger.php @@ -0,0 +1,128 @@ +<?php + +namespace Psr\Log; + +/** + * This is a simple Logger implementation that other Loggers can inherit from. + * + * It simply delegates all log-level-specific methods to the `log` method to + * reduce boilerplate code that a simple Logger that does the same thing with + * messages regardless of the error level has to implement. + */ +abstract class AbstractLogger implements LoggerInterface +{ + /** + * System is unusable. + * + * @param string $message + * @param array $context + * + * @return void + */ + public function emergency($message, array $context = array()) + { + $this->log(LogLevel::EMERGENCY, $message, $context); + } + + /** + * Action must be taken immediately. + * + * Example: Entire website down, database unavailable, etc. This should + * trigger the SMS alerts and wake you up. + * + * @param string $message + * @param array $context + * + * @return void + */ + public function alert($message, array $context = array()) + { + $this->log(LogLevel::ALERT, $message, $context); + } + + /** + * Critical conditions. + * + * Example: Application component unavailable, unexpected exception. + * + * @param string $message + * @param array $context + * + * @return void + */ + public function critical($message, array $context = array()) + { + $this->log(LogLevel::CRITICAL, $message, $context); + } + + /** + * Runtime errors that do not require immediate action but should typically + * be logged and monitored. + * + * @param string $message + * @param array $context + * + * @return void + */ + public function error($message, array $context = array()) + { + $this->log(LogLevel::ERROR, $message, $context); + } + + /** + * Exceptional occurrences that are not errors. + * + * Example: Use of deprecated APIs, poor use of an API, undesirable things + * that are not necessarily wrong. + * + * @param string $message + * @param array $context + * + * @return void + */ + public function warning($message, array $context = array()) + { + $this->log(LogLevel::WARNING, $message, $context); + } + + /** + * Normal but significant events. + * + * @param string $message + * @param array $context + * + * @return void + */ + public function notice($message, array $context = array()) + { + $this->log(LogLevel::NOTICE, $message, $context); + } + + /** + * Interesting events. + * + * Example: User logs in, SQL logs. + * + * @param string $message + * @param array $context + * + * @return void + */ + public function info($message, array $context = array()) + { + $this->log(LogLevel::INFO, $message, $context); + } + + /** + * Detailed debug information. + * + * @param string $message + * @param array $context + * + * @return void + */ + public function debug($message, array $context = array()) + { + $this->log(LogLevel::DEBUG, $message, $context); + } +} diff --git a/vendor/psr/log/Psr/Log/InvalidArgumentException.php b/vendor/psr/log/Psr/Log/InvalidArgumentException.php new file mode 100644 index 00000000..67f852d1 --- /dev/null +++ b/vendor/psr/log/Psr/Log/InvalidArgumentException.php @@ -0,0 +1,7 @@ +<?php + +namespace Psr\Log; + +class InvalidArgumentException extends \InvalidArgumentException +{ +} diff --git a/vendor/psr/log/Psr/Log/LogLevel.php b/vendor/psr/log/Psr/Log/LogLevel.php new file mode 100644 index 00000000..9cebcace --- /dev/null +++ b/vendor/psr/log/Psr/Log/LogLevel.php @@ -0,0 +1,18 @@ +<?php + +namespace Psr\Log; + +/** + * Describes log levels. + */ +class LogLevel +{ + const EMERGENCY = 'emergency'; + const ALERT = 'alert'; + const CRITICAL = 'critical'; + const ERROR = 'error'; + const WARNING = 'warning'; + const NOTICE = 'notice'; + const INFO = 'info'; + const DEBUG = 'debug'; +} diff --git a/vendor/psr/log/Psr/Log/LoggerAwareInterface.php b/vendor/psr/log/Psr/Log/LoggerAwareInterface.php new file mode 100644 index 00000000..4d64f478 --- /dev/null +++ b/vendor/psr/log/Psr/Log/LoggerAwareInterface.php @@ -0,0 +1,18 @@ +<?php + +namespace Psr\Log; + +/** + * Describes a logger-aware instance. + */ +interface LoggerAwareInterface +{ + /** + * Sets a logger instance on the object. + * + * @param LoggerInterface $logger + * + * @return void + */ + public function setLogger(LoggerInterface $logger); +} diff --git a/vendor/psr/log/Psr/Log/LoggerAwareTrait.php b/vendor/psr/log/Psr/Log/LoggerAwareTrait.php new file mode 100644 index 00000000..639f79bd --- /dev/null +++ b/vendor/psr/log/Psr/Log/LoggerAwareTrait.php @@ -0,0 +1,26 @@ +<?php + +namespace Psr\Log; + +/** + * Basic Implementation of LoggerAwareInterface. + */ +trait LoggerAwareTrait +{ + /** + * The logger instance. + * + * @var LoggerInterface + */ + protected $logger; + + /** + * Sets a logger. + * + * @param LoggerInterface $logger + */ + public function setLogger(LoggerInterface $logger) + { + $this->logger = $logger; + } +} diff --git a/vendor/psr/log/Psr/Log/LoggerInterface.php b/vendor/psr/log/Psr/Log/LoggerInterface.php new file mode 100644 index 00000000..5ea72438 --- /dev/null +++ b/vendor/psr/log/Psr/Log/LoggerInterface.php @@ -0,0 +1,123 @@ +<?php + +namespace Psr\Log; + +/** + * Describes a logger instance. + * + * The message MUST be a string or object implementing __toString(). + * + * The message MAY contain placeholders in the form: {foo} where foo + * will be replaced by the context data in key "foo". + * + * The context array can contain arbitrary data. The only assumption that + * can be made by implementors is that if an Exception instance is given + * to produce a stack trace, it MUST be in a key named "exception". + * + * See https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-3-logger-interface.md + * for the full interface specification. + */ +interface LoggerInterface +{ + /** + * System is unusable. + * + * @param string $message + * @param array $context + * + * @return void + */ + public function emergency($message, array $context = array()); + + /** + * Action must be taken immediately. + * + * Example: Entire website down, database unavailable, etc. This should + * trigger the SMS alerts and wake you up. + * + * @param string $message + * @param array $context + * + * @return void + */ + public function alert($message, array $context = array()); + + /** + * Critical conditions. + * + * Example: Application component unavailable, unexpected exception. + * + * @param string $message + * @param array $context + * + * @return void + */ + public function critical($message, array $context = array()); + + /** + * Runtime errors that do not require immediate action but should typically + * be logged and monitored. + * + * @param string $message + * @param array $context + * + * @return void + */ + public function error($message, array $context = array()); + + /** + * Exceptional occurrences that are not errors. + * + * Example: Use of deprecated APIs, poor use of an API, undesirable things + * that are not necessarily wrong. + * + * @param string $message + * @param array $context + * + * @return void + */ + public function warning($message, array $context = array()); + + /** + * Normal but significant events. + * + * @param string $message + * @param array $context + * + * @return void + */ + public function notice($message, array $context = array()); + + /** + * Interesting events. + * + * Example: User logs in, SQL logs. + * + * @param string $message + * @param array $context + * + * @return void + */ + public function info($message, array $context = array()); + + /** + * Detailed debug information. + * + * @param string $message + * @param array $context + * + * @return void + */ + public function debug($message, array $context = array()); + + /** + * Logs with an arbitrary level. + * + * @param mixed $level + * @param string $message + * @param array $context + * + * @return void + */ + public function log($level, $message, array $context = array()); +} diff --git a/vendor/psr/log/Psr/Log/LoggerTrait.php b/vendor/psr/log/Psr/Log/LoggerTrait.php new file mode 100644 index 00000000..867225df --- /dev/null +++ b/vendor/psr/log/Psr/Log/LoggerTrait.php @@ -0,0 +1,140 @@ +<?php + +namespace Psr\Log; + +/** + * This is a simple Logger trait that classes unable to extend AbstractLogger + * (because they extend another class, etc) can include. + * + * It simply delegates all log-level-specific methods to the `log` method to + * reduce boilerplate code that a simple Logger that does the same thing with + * messages regardless of the error level has to implement. + */ +trait LoggerTrait +{ + /** + * System is unusable. + * + * @param string $message + * @param array $context + * + * @return void + */ + public function emergency($message, array $context = array()) + { + $this->log(LogLevel::EMERGENCY, $message, $context); + } + + /** + * Action must be taken immediately. + * + * Example: Entire website down, database unavailable, etc. This should + * trigger the SMS alerts and wake you up. + * + * @param string $message + * @param array $context + * + * @return void + */ + public function alert($message, array $context = array()) + { + $this->log(LogLevel::ALERT, $message, $context); + } + + /** + * Critical conditions. + * + * Example: Application component unavailable, unexpected exception. + * + * @param string $message + * @param array $context + * + * @return void + */ + public function critical($message, array $context = array()) + { + $this->log(LogLevel::CRITICAL, $message, $context); + } + + /** + * Runtime errors that do not require immediate action but should typically + * be logged and monitored. + * + * @param string $message + * @param array $context + * + * @return void + */ + public function error($message, array $context = array()) + { + $this->log(LogLevel::ERROR, $message, $context); + } + + /** + * Exceptional occurrences that are not errors. + * + * Example: Use of deprecated APIs, poor use of an API, undesirable things + * that are not necessarily wrong. + * + * @param string $message + * @param array $context + * + * @return void + */ + public function warning($message, array $context = array()) + { + $this->log(LogLevel::WARNING, $message, $context); + } + + /** + * Normal but significant events. + * + * @param string $message + * @param array $context + * + * @return void + */ + public function notice($message, array $context = array()) + { + $this->log(LogLevel::NOTICE, $message, $context); + } + + /** + * Interesting events. + * + * Example: User logs in, SQL logs. + * + * @param string $message + * @param array $context + * + * @return void + */ + public function info($message, array $context = array()) + { + $this->log(LogLevel::INFO, $message, $context); + } + + /** + * Detailed debug information. + * + * @param string $message + * @param array $context + * + * @return void + */ + public function debug($message, array $context = array()) + { + $this->log(LogLevel::DEBUG, $message, $context); + } + + /** + * Logs with an arbitrary level. + * + * @param mixed $level + * @param string $message + * @param array $context + * + * @return void + */ + abstract public function log($level, $message, array $context = array()); +} diff --git a/vendor/psr/log/Psr/Log/NullLogger.php b/vendor/psr/log/Psr/Log/NullLogger.php new file mode 100644 index 00000000..d8cd682c --- /dev/null +++ b/vendor/psr/log/Psr/Log/NullLogger.php @@ -0,0 +1,28 @@ +<?php + +namespace Psr\Log; + +/** + * This Logger can be used to avoid conditional log calls. + * + * Logging should always be optional, and if no logger is provided to your + * library creating a NullLogger instance to have something to throw logs at + * is a good way to avoid littering your code with `if ($this->logger) { }` + * blocks. + */ +class NullLogger extends AbstractLogger +{ + /** + * Logs with an arbitrary level. + * + * @param mixed $level + * @param string $message + * @param array $context + * + * @return void + */ + public function log($level, $message, array $context = array()) + { + // noop + } +} diff --git a/vendor/psr/log/Psr/Log/Test/LoggerInterfaceTest.php b/vendor/psr/log/Psr/Log/Test/LoggerInterfaceTest.php new file mode 100644 index 00000000..a0391a52 --- /dev/null +++ b/vendor/psr/log/Psr/Log/Test/LoggerInterfaceTest.php @@ -0,0 +1,140 @@ +<?php + +namespace Psr\Log\Test; + +use Psr\Log\LoggerInterface; +use Psr\Log\LogLevel; + +/** + * Provides a base test class for ensuring compliance with the LoggerInterface. + * + * Implementors can extend the class and implement abstract methods to run this + * as part of their test suite. + */ +abstract class LoggerInterfaceTest extends \PHPUnit_Framework_TestCase +{ + /** + * @return LoggerInterface + */ + abstract public function getLogger(); + + /** + * This must return the log messages in order. + * + * The simple formatting of the messages is: "<LOG LEVEL> <MESSAGE>". + * + * Example ->error('Foo') would yield "error Foo". + * + * @return string[] + */ + abstract public function getLogs(); + + public function testImplements() + { + $this->assertInstanceOf('Psr\Log\LoggerInterface', $this->getLogger()); + } + + /** + * @dataProvider provideLevelsAndMessages + */ + public function testLogsAtAllLevels($level, $message) + { + $logger = $this->getLogger(); + $logger->{$level}($message, array('user' => 'Bob')); + $logger->log($level, $message, array('user' => 'Bob')); + + $expected = array( + $level.' message of level '.$level.' with context: Bob', + $level.' message of level '.$level.' with context: Bob', + ); + $this->assertEquals($expected, $this->getLogs()); + } + + public function provideLevelsAndMessages() + { + return array( + LogLevel::EMERGENCY => array(LogLevel::EMERGENCY, 'message of level emergency with context: {user}'), + LogLevel::ALERT => array(LogLevel::ALERT, 'message of level alert with context: {user}'), + LogLevel::CRITICAL => array(LogLevel::CRITICAL, 'message of level critical with context: {user}'), + LogLevel::ERROR => array(LogLevel::ERROR, 'message of level error with context: {user}'), + LogLevel::WARNING => array(LogLevel::WARNING, 'message of level warning with context: {user}'), + LogLevel::NOTICE => array(LogLevel::NOTICE, 'message of level notice with context: {user}'), + LogLevel::INFO => array(LogLevel::INFO, 'message of level info with context: {user}'), + LogLevel::DEBUG => array(LogLevel::DEBUG, 'message of level debug with context: {user}'), + ); + } + + /** + * @expectedException \Psr\Log\InvalidArgumentException + */ + public function testThrowsOnInvalidLevel() + { + $logger = $this->getLogger(); + $logger->log('invalid level', 'Foo'); + } + + public function testContextReplacement() + { + $logger = $this->getLogger(); + $logger->info('{Message {nothing} {user} {foo.bar} a}', array('user' => 'Bob', 'foo.bar' => 'Bar')); + + $expected = array('info {Message {nothing} Bob Bar a}'); + $this->assertEquals($expected, $this->getLogs()); + } + + public function testObjectCastToString() + { + if (method_exists($this, 'createPartialMock')) { + $dummy = $this->createPartialMock('Psr\Log\Test\DummyTest', array('__toString')); + } else { + $dummy = $this->getMock('Psr\Log\Test\DummyTest', array('__toString')); + } + $dummy->expects($this->once()) + ->method('__toString') + ->will($this->returnValue('DUMMY')); + + $this->getLogger()->warning($dummy); + + $expected = array('warning DUMMY'); + $this->assertEquals($expected, $this->getLogs()); + } + + public function testContextCanContainAnything() + { + $context = array( + 'bool' => true, + 'null' => null, + 'string' => 'Foo', + 'int' => 0, + 'float' => 0.5, + 'nested' => array('with object' => new DummyTest), + 'object' => new \DateTime, + 'resource' => fopen('php://memory', 'r'), + ); + + $this->getLogger()->warning('Crazy context data', $context); + + $expected = array('warning Crazy context data'); + $this->assertEquals($expected, $this->getLogs()); + } + + public function testContextExceptionKeyCanBeExceptionOrOtherValues() + { + $logger = $this->getLogger(); + $logger->warning('Random message', array('exception' => 'oops')); + $logger->critical('Uncaught Exception!', array('exception' => new \LogicException('Fail'))); + + $expected = array( + 'warning Random message', + 'critical Uncaught Exception!' + ); + $this->assertEquals($expected, $this->getLogs()); + } +} + +class DummyTest +{ + public function __toString() + { + } +} diff --git a/vendor/psr/log/README.md b/vendor/psr/log/README.md new file mode 100644 index 00000000..574bc1cb --- /dev/null +++ b/vendor/psr/log/README.md @@ -0,0 +1,45 @@ +PSR Log +======= + +This repository holds all interfaces/classes/traits related to +[PSR-3](https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-3-logger-interface.md). + +Note that this is not a logger of its own. It is merely an interface that +describes a logger. See the specification for more details. + +Usage +----- + +If you need a logger, you can use the interface like this: + +```php +<?php + +use Psr\Log\LoggerInterface; + +class Foo +{ + private $logger; + + public function __construct(LoggerInterface $logger = null) + { + $this->logger = $logger; + } + + public function doSomething() + { + if ($this->logger) { + $this->logger->info('Doing work'); + } + + // do something useful + } +} +``` + +You can then pick one of the implementations of the interface to get a logger. + +If you want to implement the interface, you can require this package and +implement `Psr\Log\LoggerInterface` in your code. Please read the +[specification text](https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-3-logger-interface.md) +for details. diff --git a/vendor/psr/log/composer.json b/vendor/psr/log/composer.json new file mode 100644 index 00000000..87934d70 --- /dev/null +++ b/vendor/psr/log/composer.json @@ -0,0 +1,26 @@ +{ + "name": "psr/log", + "description": "Common interface for logging libraries", + "keywords": ["psr", "psr-3", "log"], + "homepage": "https://github.com/php-fig/log", + "license": "MIT", + "authors": [ + { + "name": "PHP-FIG", + "homepage": "http://www.php-fig.org/" + } + ], + "require": { + "php": ">=5.3.0" + }, + "autoload": { + "psr-4": { + "Psr\\Log\\": "Psr/Log/" + } + }, + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + } +} diff --git a/vendor/stefangabos/zebra_form/README.md b/vendor/stefangabos/zebra_form/README.md new file mode 100644 index 00000000..f19ae27a --- /dev/null +++ b/vendor/stefangabos/zebra_form/README.md @@ -0,0 +1,134 @@ +# Zebra_Form + +#### A jQuery augmented PHP library for creating and validating HTML forms + +---- +[Packagist](https://packagist.org/) stats + +[![Latest Stable Version](https://poser.pugx.org/stefangabos/zebra_form/v/stable)](https://packagist.org/packages/stefangabos/zebra_form) [![Total Downloads](https://poser.pugx.org/stefangabos/zebra_form/downloads)](https://packagist.org/packages/stefangabos/zebra_form) [![Monthly Downloads](https://poser.pugx.org/stefangabos/zebra_form/d/monthly)](https://packagist.org/packages/stefangabos/zebra_form) [![Daily Downloads](https://poser.pugx.org/stefangabos/zebra_form/d/daily)](https://packagist.org/packages/stefangabos/zebra_form) [![License](https://poser.pugx.org/stefangabos/zebra_form/license)](https://packagist.org/packages/stefangabos/zebra_form) + +Zebra_Form is a PHP library that greatly simplifies the process of creating and validating HTML forms. Its object-oriented structure promotes rapid HTML forms development and encourages developers to write clean and easily maintainable code and it frees the developers from the repetitive task of writing the code for validating forms by offering powerful built-in client-side and server-side validation. + +Zebra_Form has integrated [cross-site scripting](http://en.wikipedia.org/wiki/Cross-site_scripting) (XSS) prevention mechanism that automatically strips out potentially malicious code from the submitted data, and also features protection against [cross-site request forgery](http://en.wikipedia.org/wiki/Cross-site_request_forgery) (CSRF) attacks. It also prevents automated SPAM posts, out of the box and without relying on CAPTCHA by using [honeypots](http://haacked.com/archive/2007/09/11/honeypot-captcha.aspx). + +Forms layout can be generated either automatically or manually – using templates. When generated automatically, the generated output validates as HTML 4.01 Strict, XHTML 1.0 Strict or HTML5, and has the same look & feel across all major browsers like Firefox, Chrome, Opera, Safari and Internet Explorer 6+. + +It provides all the controls you’d expect in an HTML form and, additionally, date/time pickers, CAPTCHA and advanced AJAX-like file upload controls – see the [documentation](http://stefangabos.ro/wp-content/docs/Zebra_Form/Generic/Zebra_Form_Control.html#methodset_rule) for validation rules that can be used out of the box. + +The client-side validation is done using jQuery 1.5.2+ + +Zebra\_Form's code is heavily commented and generates no warnings/errors/notices when PHP’s error reporting level is set to E_ALL. + +##Features + +- provides protection against cross-site scripting (XSS) and cross-site request forgery (CSRF) attacks out of the box +it automatically prevents automated SPAM posts using the “honeypot” technique (CAPTCHAs can also be used for even stronger protection) +- provides both server-side and client-side validation (client-side validation is done using jQuery 1.5.2+) and has a lot of predefined rules that can be used out of the box; custom validation rules (including AJAX-based) can easily be added +- forms’ layout can be generated either automatically or manually using templates +- generated output validates as HTML 4.01 Strict, XHTML 1.0 Strict or HTML5 +- works in all major browsers like Firefox, Chrome, Opera, Safari and Internet Explorer 6+ +- code is heavily commented and generates no warnings/errors/notices when PHP’s error reporting level is set to E_ALL +- has comprehensive documentation + +## Requirements + +PHP 5.0.2+ (preferably PHP 5.3.0 compiled with the “fileinfo” extension for more secure file uploads – read more at the change log for version 2.7.3) + +jQuery 1.5.2+ + +## How to use + +#####The HTML + +```html +<!-- must be in strict mode! --> +<!DOCTYPE html> + +<html> + + <head> + + <title>Zebra_Form Example</title> + + <meta charset="utf-8"> + + <!-- load Zebra_Form's stylesheet file --> + <link rel="stylesheet" href="path/to/zebra_form.css"> + + </head> + + <body> + + <!-- the PHP code below goes here --> + + <!-- load jQuery --> + <script src="path/to/jquery.js"></script> + + <!-- load Zebra_Form's JavaScript file --> + <script src="path/to/zebra_form.js"></script> + + </body> + +</html> +``` + +#####The PHP + +```php +<?php + +// include the Zebra_Form class +require 'path/to/Zebra_Form.php'; + +// instantiate a Zebra_Form object +$form = new Zebra_Form('form'); + +// the label for the "email" field +$form->add('label', 'label_email', 'email', 'Email'); + +// add the "email" field +$obj = $form->add('text', 'email', '', array('autocomplete' => 'off')); + +// set rules +$obj->set_rule(array( + + // error messages will be sent to a variable called "error", usable in custom templates + 'required' => array('error', 'Email is required!'), + 'email' => array('error', 'Email address seems to be invalid!'), + +)); + +// "password" +$form->add('label', 'label_password', 'password', 'Password'); + +$obj = $form->add('password', 'password', '', array('autocomplete' => 'off')); + +$obj->set_rule(array( + + 'required' => array('error', 'Password is required!'), + 'length' => array(6, 10, 'error', 'The password must have between 6 and 10 characters'), + +)); + +// "remember me" +$form->add('checkbox', 'remember_me', 'yes'); + +$form->add('label', 'label_remember_me_yes', 'remember_me_yes', 'Remember me'); + +// "submit" +$form->add('submit', 'btnsubmit', 'Submit'); + +// validate the form +if ($form->validate()) { + + // do stuff here + +} + +// auto generate output, labels above form elements +$form->render(); + +?> +``` + +For demos and more information visit the **[project's homepage](http://stefangabos.ro/php-libraries/zebra-form/)** diff --git a/vendor/stefangabos/zebra_form/Zebra_Form.php b/vendor/stefangabos/zebra_form/Zebra_Form.php new file mode 100644 index 00000000..bb0c42bf --- /dev/null +++ b/vendor/stefangabos/zebra_form/Zebra_Form.php @@ -0,0 +1,5092 @@ +<?php + +define('ZEBRA_FORM_UPLOAD_RANDOM_NAMES', false); + +/** + * Zebra_Form, a jQuery augmented PHP library for creating and validating HTML forms + * + * It provides an easy and intuitive way of creating template-driven, visually appealing forms, complex client-side and + * server-side validations and prevention against cross-site scripting (XSS) and cross-site request forgery (CSRF) attacks + * prevention. + * + * For the form validation part you can use the built-in rules (i.e. required fields, emails, minimum/maximum length, + * etc) and you can also define custom rules, with extreme ease, depending on your specific needs. + * + * All the basic controls that you would find in a form are available plus a few extra: text, textarea, submit, image, + * reset, button, file, password, radio buttons, checkboxes, hidden, captcha, date and time pickers. + * + * One additional note: this class is not a drag and drop utility - it is intended for coders who are comfortable with + * PHP, HTML, CSS and JavaScript/jQuery - you will have to build your forms when using this class, but it saves a great + * deal of time when it comes to validation and assures that your forms are secure and have a consistent look and feel + * throughout your projects! + * + * Requires PHP 5.3.0+ (compiled with the php_fileinfo extension), and jQuery 1.6.2+ + * + * Visit {@link http://stefangabos.ro/php-libraries/zebra-form/} for more information. + * + * For more resources visit {@link http://stefangabos.ro/} + * + * @author Stefan Gabos <contact@stefangabos.ro> + * @version 2.9.8 (last revision: May 18, 2016) + * @copyright (c) 2006 - 2016 Stefan Gabos + * @license http://www.gnu.org/licenses/lgpl-3.0.txt GNU LESSER GENERAL PUBLIC LICENSE + * @package Zebra_Form + */ + +class Zebra_Form +{ + + /** + * Array containing all the controls added to the form + * + * @var array + * + * @access private + */ + var $controls; + + /** + * Array containing all the error messages generated by the form + * + * @var array + * + * @access private + */ + var $errors; + + /** + * An associative array of items uploaded to the current script via the HTTP POST method. + * This property, available only if a file upload has occurred, will have the same values as + * {@link http://php.net/manual/en/reserved.variables.files.php $_FILES} plus some extra values: + * + * - <b>path</b> - the path where the file was uploaded to + * - <b>file_name</b> - the name the file was uploaded with + * - <b>imageinfo</b> - <b>available only if the uploaded file is an image!</b><br> + * an array of attributes specific to the uploaded image as returned by + * {@link http://www.php.net/manual/en/function.getimagesize.php getimagesize()} but + * with meaningful names:<br> + * <b>bits</b><br> + * <b>channels</b><br> + * <b>mime</b><br> + * <b>width</b><br> + * <b>height</b><br> + * <b>type</b> ({@link http://php.net/manual/en/function.exif-imagetype.php possible types})<br> + * <b>html</b><br> + * + * <b>Note that the file name can be different than the original name of the uploaded file!</b> + * + * By design, the script will append + * a number to the end of a file's name if at the path where the file is uploaded to there is another file with the + * same name (for example, if at the path where a file named "example.txt" is uploaded to, a file with the same name + * exists, the file's new name will be "example1.txt"). + * + * The file names can also be random-generated. See the {@link Zebra_Form_Control::set_rule() set_rule()} method and + * the <b>upload</b> rule + * + * @var array + */ + var $file_upload; + + /** + * Indicates the {@link http://en.wikipedia.org/wiki/Filesystem_permissions filesystem} permissions to be set for + * files uploaded through the {@link Zebra_Form_Control::set_rule() upload} rule. + * + * <code> + * $form->file_upload_permissions = '0777'; + * </code> + * + * The permissions are set using PHP's {@link http://php.net/manual/en/function.chmod.php chmod} function which may + * or may not be available or be disabled on your environment. If so, this action will fail silently (no errors or + * notices will be shown by the library). + * + * Better to leave this setting as it is. + * + * If you know what you are doing, here is how you can calculate the permission levels: + * + * - 400 Owner Read + * - 200 Owner Write + * - 100 Owner Execute + * - 40 Group Read + * - 20 Group Write + * - 10 Group Execute + * - 4 Global Read + * - 2 Global Write + * - 1 Global Execute + * + * Default is '0755' + * + * @var string + */ + var $file_upload_permissions; + + /** + * Array containing the variables to be made available in the template file (added through the {@link assign()} + * method) + * + * @var array + * + * @access private + */ + var $variables; + + /** + * Constructor of the class + * + * Initializes the form. + * + * <code> + * $form = new Zebra_Form('myform'); + * </code> + * + * @param string $name Name of the form + * + * @param string $method (Optional) Specifies which HTTP method will be used to submit the form data set. + * + * Possible (case-insensitive) values are <b>POST</b> an <b>GET</b> + * + * Default is <b>POST</b> + * + * @param string $action (Optional) An URI to where to submit the form data set. + * + * If left empty, the form will submit to itself. + * + * <samp>You should *always* submit the form to itself, or server-side validation + * will not take place and you will have a great security risk. Submit the form + * to itself, let it do the server-side validation, and then redirect accordingly!</samp> + * + * @param array $attributes (Optional) An array of attributes valid for a <form> tag (i.e. style) + * + * Note that the following attributes are automatically set when the control is + * created and should not be altered manually: + * + * <b>action</b>, <b>method</b>, <b>enctype</b>, <b>name</b> + * + * @return void + */ + function __construct($name, $method = 'POST', $action = '', $attributes = '') + { + + $this->controls = $this->variables = $this->errors = $this->master_labels = array(); + + // default filesysyem permissions for uploaded files + $this->file_upload_permissions = '0755'; + + // default values for the form's properties + $this->form_properties = array( + + 'action' => ($action == '' ? $_SERVER['REQUEST_URI'] : $action), + 'assets_server_path' => rtrim(dirname(__FILE__), '\\/') . DIRECTORY_SEPARATOR, + 'assets_url' => rtrim(str_replace('\\', '/', 'http' . (isset($_SERVER['HTTPS']) || (isset($_SERVER['HTTP_X_FORWARDED_PROTO']) && $_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https') ? 's' : '') . '://' . rtrim($_SERVER['HTTP_HOST'], '\\/') . '/' . substr(rtrim(dirname(__FILE__), '\\/'), strlen($_SERVER['DOCUMENT_ROOT']))), '\\/') . '/', + 'attributes' => $attributes, + 'auto_fill' => false, + 'captcha_storage' => 'cookie', + 'csrf_cookie_config' => array('path' => '/', 'domain' => '', 'secure' => false, 'httponly' => true), + 'csrf_cookie_name' => 'zebra_csrf_token_' . $name, + 'csrf_storage_method' => 'auto', + 'csrf_token' => '', + 'csrf_token_lifetime' => 0, + 'csrf_token_name' => 'zebra_csrf_token_' . $name, + 'doctype' => 'html', + 'has_upload' => false, + 'honeypot' => 'zebra_honeypot_' . $name, + 'identifier' => 'name_' . $name, + 'language' => array(), + 'method' => strtoupper($method), + 'name' => $name, + 'other_suffix' => '_other', + 'secret_key' => '', + 'show_all_error_messages' => false, + + ); + + // set default client-side validation properties + $this->clientside_validation(true); + + // get the maximum allowed file size for uploads + $upload_max_filesize = ini_get('upload_max_filesize'); + + // see what it is given in (G, M, K) + $unit = strtolower(substr($upload_max_filesize, -1)); + + // get the numeric value + $value = substr($upload_max_filesize, 0, -1); + + // convert to bytes + // notice that there is no break + switch (strtolower(substr($upload_max_filesize, -1))) { + + case 'g': + $value*=1024; + + case 'm': + $value*=1024; + + case 'k': + $value*=1024; + + } + + // set the form's respective property + $this->form_properties['max_file_size'] = $value; + + // include the XSS filter class - the Zebra_Form_Control class extends this class + require_once dirname(__FILE__) . '/includes/XSSClean.php'; + + // include the Control.php file which contains the Zebra_Form_Control class which is + // extended by all of the classes + require_once dirname(__FILE__) . '/includes/Control.php'; + + // load the default language file + $this->language('english'); + + // enable protection against CSRF attacks using the default values + // note that this has no effect if this method was already called before + $this->csrf(); + + } + + /** + * Adds a control to the form. + * + * <code> + * // create a new form + * $form = new Zebra_Form('my_form'); + * + * // add a text control to the form + * $obj = $form->add('text', 'my_text'); + * + * // make the text field required + * $obj->set_rule( + * 'required' => array( + * 'error', // variable to add the error message to + * 'Field is required' // error message if value doesn't validate + * ) + * ); + * + * // don't forget to always call this method before rendering the form + * if ($form->validate()) { + * // put code here + * } + * + * // output the form using an automatically generated template + * $form->render(); + * </code> + * + * @param string $type Type of the control to add. + * + * Controls that can be added to a form: + * + * - {@link Zebra_Form_Button buttons} + * - {@link Zebra_Form_Captcha CAPTCHAs} + * - {@link Zebra_Form_Checkbox checkboxes} + * - {@link Zebra_Form_Date date pickers} + * - {@link Zebra_Form_File file upload controls} + * - {@link Zebra_Form_Hidden hidden controls} + * - {@link Zebra_Form_Image image button controls} + * - {@link Zebra_Form_Label labels} + * - {@link Zebra_Form_Note notes} + * - {@link Zebra_Form_Password password controls} + * - {@link Zebra_Form_Radio radio buttons} + * - {@link Zebra_Form_Reset reset buttons} + * - {@link Zebra_Form_Select selects} + * - {@link Zebra_Form_Submit submit buttons} + * - {@link Zebra_Form_Text text box controls} + * - {@link Zebra_Form_Textarea textareas} + * - {@link Zebra_Form_Time time pickers} + * + * @param mixed $arguments A list of arguments as required by the control that is added. + * + * @return reference Returns a reference to the newly created object + */ + function &add($type) + { + + // if shortcut for multiple radio buttons or checkboxes + if ($type == 'radios' || $type == 'checkboxes') { + + // if there are less than 3 arguments + if (func_num_args() < 3) + + // trigger a warning + _zebra_form_show_error('For <strong>' . $type . '</strong>, the <strong>add()</strong> method requires at least 3 arguments', E_USER_WARNING); + + // if third argument is not an array + elseif (!is_array(func_get_arg(2))) + + // trigger a warning + _zebra_form_show_error('For <strong>' . $type . '</strong>, the <strong>add()</strong> method requires the 3rd argument to be an array', E_USER_WARNING); + + // if everything is ok + else { + + // controls' name + $name = func_get_arg(1); + + // the values and labels + $values = func_get_arg(2); + + // a 4th argument (the default option) was passed to the method + if (func_num_args() >= 4) { + + // save the default value + $default = func_get_arg(3); + + // if default value is not given as an array + // (makes sense for checkboxes when there may be multiple preselected values) + // make it an array + if (!is_array($default)) $default = array($default); + + } + + if (func_num_args() >= 5) $additional = func_get_arg(4); + + $counter = 0; + + // iterate through values and their respective labels + foreach ($values as $value => $caption) { + + // sanitize controls' name (remove square brackets) + $sanitize_name = preg_replace('/\[\]$/', '', $name); + + // santize the value + $value = preg_replace('/\_{1,}/', '_', preg_replace('/[^a-z0-9\_]/i', '_', $value)); + + // create control + $obj = & $this->add( + ($type == 'radios' ? 'radio' : 'checkbox'), $name, $value, + (isset($default) && in_array($value, $default) ? + (isset($additional) ? array_merge($additional, array('checked' => 'checked')) : array('checked' => 'checked')) : + (isset($additional) ? $additional :''))); + + // if this is the first control in the array + // we will later need to return a reference to it + if ($counter++ == 0) $pointer = &$obj; + + // add the label for the control + $this->add('label', 'label_' . $sanitize_name . '_' . $value, $sanitize_name . '_' . $value, $caption); + + } + + // if the array of values was not empty + // return reference to the first control + if (isset($pointer)) return $pointer; + + } + + // for all other controls + } else { + + $file_name = ucfirst(strtolower($type)); + + // the classes have the "Zebra_Form_" prefix + $class_name = 'Zebra_Form_' . ucfirst(strtolower($type)); + + // include the file containing the PHP class, if not already included + require_once dirname(__FILE__) . '/includes/' . $file_name . '.php'; + + // if included file contains such a class + if (class_exists($class_name)) { + + // prepare arguments passed to the add() method + // notice that first argument is ignored as it refers to the type of the control to add + // and we don't have to pass that to the class + $arguments = array_slice(func_get_args(), 1); + + // if name was not specified trigger an error + if (strlen(trim($arguments[0])) == 0) trigger_error('Name is required for control of type ' . $class_name, E_USER_ERROR); + + // use this method to instantiate the object with dynamic arguments + $obj = call_user_func_array(array(new ReflectionClass($class_name), 'newInstance'), $arguments); + + // make available the form's properties in the newly created object + $obj->form_properties = & $this->form_properties; + + // get some attributes for the newly created control + $attributes = $obj->get_attributes(array('id', 'name')); + + // perform some extra tasks for different types of controls + switch ($class_name) { + + // if the newly created control is a file upload control + case 'Zebra_Form_File': + + // set a flag to be used at rendering + $this->form_properties['has_upload'] = true; + + break; + + // if the newly created control is a radio button or a checkbox + case 'Zebra_Form_Radio': + case 'Zebra_Form_Checkbox': + + // radio buttons and checkboxes might have a "master label", a label that is tied to the radio buttons' or + // checkboxes' name rather than individual controls' IDs. (as grouped radio buttons and checkboxes share + // the same name but have different values) + // we use this so that, if the controls have the "required" rule set, the asterisk is attached to the master + // label rather than to one of the actual controls + + // therefore, we generate a "lookup" array of "master" labels for each group of radio buttons or + // checkboxes. this does not means that there will be an actual master label - we use this lookup + // array to easily determine if a master label exists when rendering the form + + // sanitize the control's name + $attributes['name'] = preg_replace('/\[\]$/', '', $attributes['name']); + + // if there isn't a master label for the group the current control is part of + if (!isset($this->master_labels[$attributes['name']])) + + // create the entry + // the "control" index will hold the actual label's name if a "master" label is added to the form + $this->master_labels[$attributes['name']] = array('control' => false); + + break; + + } + + // put the reference to the newly created object in the 'controls' array + $this->controls[$attributes['id']] = &$obj; + + // return the identifier to the newly created object + return $obj; + + } + + } + + } + + /** + * Appends a message to an already existing {@link Zebra_Form_Control::set_rule() error block} + * + * <code> + * // create a new form + * $form = new Zebra_Form('my_form'); + * + * // add a text control to the form + * $obj = $form->add('text', 'my_text'); + * + * // make the text field required + * $obj->set_rule( + * 'required' => array( + * 'error', // variable to add the error message to + * 'Field is required' // error message if value doesn't validate + * ) + * ); + * + * // don't forget to always call this method before rendering the form + * if ($form->validate()) { + * + * // for the purpose of this example, we will do a custom validation + * // after calling the "validate" method. + * // for custom validations, using the "custom" rule is recommended instead + * + * // check if value's is between 1 and 10 + * if ((int)$_POST['my_text']) < 1 || (int)$_POST['my_text']) > 10) { + * + * $form->add_error('error', 'Value must be an integer between 1 and 10!'); + * + * } else { + * + * // put code here that is to be executed when the form values are ok + * + * } + * + * } + * + * // output the form using an automatically generated template + * $form->render(); + * </code> + * + * @param string $error_block The name of the error block to append the error message to (also the name + * of the PHP variable that will be available in the template file). + * + * @param string $error_message The error message to append to the error block. + * + * @return void + */ + function add_error($error_block, $error_message) + { + + // if the error block was not yet created, create the error block + if (!isset($this->errors[$error_block])) $this->errors[$error_block] = array(); + + // if the same exact message doesn't already exists + if (!in_array(trim($error_message), $this->errors[$error_block])) + + // append the error message to the error block + $this->errors[$error_block][] = trim($error_message); + + } + + /** + * Set the server path and URL to the "process.php" and "mimes.json" files. + * + * These files are required for CAPTCHAs and uploads. + * + * By default, the location of these files is in the same folder as Zebra_Form.php and the script will automatically + * try to determine both the server path and the URL to these files. However, when the script is run on a virtual + * host, or if these files were moved, the script may not correctly determine the paths to these files. In these + * instances, use this method to correctly set the server path - needed by the script to correctly include these + * files, and the URL - needed by the client-side validation to include these files. + * + * Also, for security reasons, I recommend moving these two files by default to the root of your website (or another + * publicly accessible place) and manually set the paths, in order to prevent malicious users from finding out + * information about your directory structure. + * + * <samp>If you move these files don't forget to also move the font file from the "includes" folder, and to manually + * adjust the path to the font file in "process.php"!</samp> + * + * @param string $server_path The server path (the one similar to what is in $_SERVER['DOCUMENT_ROOT']) to + * the folder where the "process.php" and "mimes.json" files can be found. + * + * <i>With trailing slash!</i> + * + * @param string $url The URL to where the "process.php" and "mimes.json" files can be found. + * + * <i>With trailing slash!</i> + * + * @return void + */ + function assets_path($server_path, $url) + { + + // set values + $this->form_properties['assets_server_path'] = $server_path; + $this->form_properties['assets_url'] = $url; + + } + + /** + * Creates a PHP variable with the given value, available in the template file. + * + * <code> + * // create a new form + * $form = new Zebra_Form('my_form'); + * + * // make available the $my_value variable in the template file + * $form->assign('my_value', '100'); + * + * // don't forget to always call this method before rendering the form + * if ($form->validate()) { + * // put code here + * } + * + * // output the form + * // notice that we are using a custom template + * // my_template.php file is expected to be found + * // and in this file, you may now use the $my_value variable + * $form->render('my_template.php'); + * </code> + * + * @param string $variable_name Name by which the variable will be available in the template file. + * + * @param mixed $value The value to be assigned to the variable. + * + * @return void + */ + function assign($variable_name, $value) + { + + // save the variable in an array that we will make available in the template file upon rendering + $this->variables[$variable_name] = $value; + + } + + /** + * Call this method anytime *before* calling the {@link validate()} method (preferably, right after instantiating + * the class) to instruct the library to automatically fill out all of the form's fields with random content while + * obeying any rules that might be set for each control. + * + * You can also use this method to set defaults for the form's elements by setting the method's second argument to TRUE. + * + * <b>Notes:</b> + * + * - unless overridden, the value of {@link Zebra_Form_Password password} controls will always be "12345678"; + * - unless overridden, the value of controls having the "email" or "emails" {@link Zebra_Form_Control::set_rule() rule} + * set will be in the form of <i>random_text@random_text.com</i>; + * - unless overridden, the value of controls having the "url" {@link Zebra_Form_Control::set_rule() rule} set will + * be in the form of <i>random_text.com</i>, prefixed or not with "http://", depending on the rule's attributes; + * - {@link Zebra_Form_File file upload} controls and controls having the "captcha" or "regexp" + * {@link Zebra_Form_Control::set_rule() rule} set will *not* be autofilled; + * + * <samp>This method will produce results *only* if the form has not yet been submitted! Also, this method will fill + * elements with random content *only* if the element does not already has a default value! And finally, this method + * will produce no results unless at some point the form's {@link validate()} method is called.</samp> + * + * @param array $defaults An associative array in the form of <i>$element => $value</i> used for filling + * out specific fields with specific values instead of random ones. + * + * For elements that may have more than one value (checkboxes and selects with + * the "multiple" attribute set) you may set the value as an array. + * + * <code> + * // auto-fill all fields with random values + * $form->auto_fill(); + * + * // auto-fill all fields with random values + * // except the one called "email" which should have a custom value + * $form->auto_fill(array( + * 'email' => 'some@email.com', + * )); + * + * // auto-fill all fields with random values + * // except a checkboxes group where we select multiple values + * // note that we use "my_checkboxes" insteas of "my_checkboxes[]" + * // (the same goes for "selects" with the "multiple" attribute set) + * $form->auto_fill(array( + * 'my_checkboxes' => array('value_1', 'value_2'), + * )); + * </code> + * + * @param boolean $specifics_only (Optional) If set to TRUE only the fields given in the $defaults argument + * will be filled with the given values and the other fields will be skipped. + * + * Can be used as a handy shortcut for giving default values to elements instead + * of putting default values in the constructor or using the {@link set_attributes()} + * method. + * + * Default is FALSE. + * + * + * @since 2.8.9 + * + * @return void + */ + function auto_fill($defaults = array(), $specifics_only = false) + { + + $this->form_properties['auto_fill'] = array($defaults, $specifics_only); + + } + + /** + * Sets the storage method for CAPTCHA values. + * + * By default, captcha values are triple md5 hashed and stored in cookies, and when the user enters the captcha + * value the value is also triple md5 hashed and the two values are then compared. + * + * Sometimes, your users may have a very restrictive cookie policy and so cookies will not be set, and therefore, + * they will never be able to get past the CAPTCHA control. If it's the case, call this method and set the storage + * method to "session". + * + * In this case, call this method and set the the storage method to "session". + * + * @param string $method Storage method for CAPTCHA values. + * + * Valid values are "cookie" and "session". + * + * Default is "cookie". + * + * @since 2.8.9 + * + * @return void + */ + function captcha_storage($method) + { + + // if storage method is "session" + if ($method == 'session') + + // set the storage method + $this->form_properties['captcha_storage'] = 'session'; + + // "cookie" otherwise + else $this->form_properties['captcha_storage'] = 'cookie'; + + } + + /** + * Alias of {@link clientside_validation()} method. + * + * Deprecated since 2.8.9 + */ + function client_side_validation($properties) + { + + $this->clientside_validation($properties); + + } + + /** + * Sets properties for the client-side validation. + * + * Client-side validation, when enabled, occurs on the "onsubmit" event of the form. + * + * <code> + * // create a new form + * $form = new Zebra_Form('my_form'); + * + * // disable client-side validation + * $form->clientside_validation(false); + * + * // enable client-side validation using default properties + * $form->clientside_validation(true); + * + * // enable client-side validation using customized properties + * $form->clientside_validation(array( + * 'close_tips' => false, // don't show a "close" button on tips with error messages + * 'on_ready' => false, // no function to be executed when the form is ready + * 'disable_upload_validation' => true, // using a custom plugin for managing file uploads + * 'scroll_to_error' => false, // don't scroll the browser window to the error message + * 'tips_position' => 'right', // position tips with error messages to the right of the controls + * 'validate_on_the_fly' => false, // don't validate controls on the fly + * 'validate_all' => false, // show error messages one by one upon trying to submit an invalid form + * )); + * </code> + * + * To access the JavaScript object and use the public methods provided by it, use $('#formname').data('Zebra_Form') + * where <i>formname</i> is the form's name <b>with any dashes turned into underscores!</b> + * + * <i>Therefore, if a form's name is "my-form", the JavaScript object would be accessed like $('my_form').data('Zebra_Form').</i> + * + * From JavaScript, these are the methods that can be called on this object: + * + * - <b>attach_tip(element, message)</b> - displays a custom error message, attached to the specified jQuery + * element + * - <b>clear_errors()</b> - hides all error messages; + * - <b>submit()</b> - submits the form; + * - <b>validate()</b> - checks if the form is valid; returns TRUE or FALSE; + * <i>if called with the "false" boolean argument, error messages will + * not be shown in case form does not validate</i> + * + * Here's how you can use these methods, in JavaScript: + * + * <code> + * // let's submit the form when clicking on a random button + * + * // get a reference to the Zebra_Form object + * var $form = $('#formname').data('Zebra_Form'); + * + * // handle the onclick event on a random button + * $('#somebutton').bind('click', function(e) { + * + * // stop default action + * e.preventDefault(); + * + * // validate the form, and if the form validates + * if ($form.validate()) { + * + * // do your thing here + * + * // when you're done, submit the form + * $form.submit(); + * + * } + * + * // if the form is not valid, everything is handled automatically by the library + * + * }); + * </code> + * + * @param mixed $properties Can have the following values: + * + * - FALSE, disabling the client-side validation; + * <i>Note that the {@link Zebra_Form_Control::set_rule() dependencies} rule will + * still be checked client-side so that callback functions get called, if it is + * the case!</i> + * - TRUE, enabling the client-side validation with the default properties; + * + * - an associative array with customized properties for the client-side validation; + * + * In this last case, the available properties are: + * + * - <b>close_tips</b>, boolean, TRUE or FALSE<br> + * Specifies whether the tips with error messages should have a "close" button + * or not<br> + * Default is <b>TRUE</b>. + * + * - <b>disable_upload_validation</b>, boolean, TRUE or FALSE<br> + * Useful for disabling all client-side processing of file upload controls, so + * that custom plugins may be used for it (like, for instance, + * {@link http://blueimp.github.io/jQuery-File-Upload/basic.html this one}) + * Default is <b>FALSE</b>. + * + * - <b>on_ready</b>, JavaScript function to be executed when the form is loaded. + * Useful for getting a reference to the Zebra_Form object after everything is + * loaded. + * + * <code> + * $form->clientside_validation(array( + * // where $form is a global variable and 'id' is the form's id + * 'on_ready': 'function() { $form = $("#id").data('Zebra_Form'); }', + * )); + * </code> + * + * - <b>scroll_to_error</b>, boolean, TRUE or FALSE<br> + * Specifies whether the browser window should be scrolled to the error message + * or not.<br> + * Default is <b>TRUE</b>. + * + * - <b>tips_position</b>, string, <i>left</i>, <i>right</i> or <i>center</i><br> + * Specifies where the error message tip should be positioned relative to the + * control.<br> + * Default is <b>left</b>. + * + * - <b>validate_on_the_fly</b>, boolean, TRUE or FALSE<br> + * Specifies whether values should be validated as soon as the user leaves a + * field; if set to TRUE and the validation of the control fails, the error + * message will be shown right away<br> + * Default is <b>FALSE</b>. + * + * - <b>validate_all</b>, boolean, TRUE or FALSE<br> + * Specifies whether upon submitting the form, should all error messages be + * shown at once if there are any errors<br> + * Default is <b>FALSE</b>. + * + * @return void + */ + function clientside_validation($properties) + { + + // default properties of the client-side validation + $defaults = array( + 'clientside_disabled' => false, + 'close_tips' => true, + 'disable_upload_validation' => false, + 'on_ready' => false, + 'scroll_to_error' => true, + 'tips_position' => 'left', + 'validate_on_the_fly' => false, + 'validate_all' => false, + ); + + // set the default properties for the client-side validation + if (!isset($this->form_properties['clientside_validation'])) $this->form_properties['clientside_validation'] = $defaults; + + // if client-side validation needs to be disabled + if ($properties == false) $this->form_properties['clientside_validation']['clientside_disabled'] = true; + + // if custom settings for client-side validation + elseif (is_array($properties)) + + // merge the new settings with the old ones + $this->form_properties['clientside_validation'] = array_merge($this->form_properties['clientside_validation'], $properties); + + } + + /** + * By default, this class generates <b>HTML 4.01 Strict</b> markup. + * + * Use this method if you want the generated HTML markup to validate as <b>XHTML 1.0 Strict</b>. + * + * @param string $doctype (Optional) The DOCTYPE of the generated HTML markup. + * + * Possible (case-insensitive) values are <b>HTML</b> or <b>XHTML</b> + * + * Default is HTML. + * + * @return void + */ + function doctype($doctype = 'html') + { + + // set the doctype + $this->form_properties['doctype'] = (strtolower($doctype) == 'xhtml' ? 'xhtml' : 'html'); + + } + + /** + * Enables protection against {@link http://en.wikipedia.org/wiki/Cross-site_request_forgery Cross-site request + * forgery} (CSRF) attacks. + * + * Read more about specifics and a simple implementation on + * {@link http://shiflett.org/articles/cross-site-request-forgeries Chris Shiflett's website}. + * + * This method is automatically called by the library, so protection against CSRF attacks is enabled by default for + * all forms and the script will decide automatically on the method to use for storing the CSRF token: if a session + * is already started then the CSRF token will be stored in a session variable or, if a session is not started, the + * CSRF token will be stored in a session cookie (cookies that expire when the browser is closed) but, in this case, + * it offers a lower level of security. + * + * If cookies are used for storage, you'll have to make sure that Zebra_Form is instantiated before any output from + * your script (this is a protocol restriction) including &lt;html> and &lt;head> tags as well as any whitespace! + * A workaround is to turn output buffering on in php.ini. + * + * <i>You are encouraged to start a PHP session before instantiating this class in order to maximize the level of + * security of your forms.</i> + * + * The CSRF token is automatically regenerated when the form is submitted regardless if the form validated or not. + * A notable exception is that the form doesn't validate but was submitted via AJAX the CSRF token will not be + * regenerated - useful if you submit forms by AJAX. + * + * As an added benefit, protection against CSRF attacks prevents "double posts" by design. + * + * <samp>You only need to call this method if you want to change CSRF related settings. If you do call this method + * then you should call it right after instantiating the class and *before* calling the form's {@link validate()} + * and {@link render()} methods!</samp> + * + * <code> + * // recommended usage is: + * + * // call session_start() somewhere in your code but before outputting anything to the browser + * session_start(); + * + * // include the Zebra_Form + * require 'path/to/Zebra_Form.php'; + * + * // instantiate the class + * // protection against CSRF attack will be automatically enabled + * // but will be less secure if a session is not started (as it will + * // rely on cookies) + * $form = new Zebra_Form('my_form'); + * </code> + * + * @param string $csrf_storage_method (Optional) Sets whether the CSRF token should be stored in a cookie, in + * a session variable, or let the script to automatically decide and use + * sessions if available or a cookie otherwise. + * + * Possible values are "auto", "cookie", "session" or boolean FALSE. + * + * If value is "auto", the script will decide automatically on what to use: + * if a session is already started then the CSRF token will be stored in a + * session variable, or, if a session is not started, the CSRF token will be + * stored in a cookie with the parameters as specified by the + * <b>csrf_cookie_config</b> argument (read below). + * + * If value is "cookie" the CSRF token will be stored in a cookie with the + * parameters as specified by the <b>csrf_cookie_config</b> argument (read + * below). + * + * If value is "session" the CSRF token will be stored in a session variable + * and thus a session must be started before instantiating the library. + * + * If value is boolean FALSE (not recommended), protection against CSRF + * attack will be disabled. + * + * The stored value will be compared, upon for submission, with the value + * stored in the associated hidden field, and if the two values do not match + * the form will not validate. + * + * Default is "auto". + * + * @param integer $csrf_token_lifetime (Optional) The number of seconds after which the CSRF token is to be + * considered as expired. + * + * If set to "0" the tokens will expire at the end of the session (when the + * browser closes or session expires). + * + * <i>Note that if csrf_storage_method is set to "session" this value cannot + * be higher than the session's life time as, if idle, the session will time + * out regardless of this value!</i> + * + * Default is 0. + * + * @param array $csrf_cookie_config (Optional) An associative array containing the properties to be used when + * setting the cookie with the CSRF token (if <b>csrf_storage_method</b> is + * set to "cookie"). + * + * The properties that can be set are "path", "domain", "secure" and "httponly". + * where: + * + * - <b>path</b> - the path on the server in which the cookie will + * be available on. If set to "/", the cookie will + * be available within the entire domain. If set to + * '/foo/', the cookie will only be available within + * the /foo/ directory and all subdirectories such + * as /foo/bar/ of domain.<br> + * Default is "/" + * + * - <b>domain</b> - The domain that the cookie will be available on. + * To make the cookie available on all subdomains of + * example.com, domain should be set to to + * ".example.com". The . (dot) is not required but + * makes it compatible with more browsers. Setting + * it to "www.example.com" will make the cookie + * available only in the www subdomain. + * + * - <b>secure</b> - Indicates whether cookie information should only + * be transmitted over a HTTPS connection.<br> + * Default is FALSE. + * + * - <b>httponly</b> - When set to TRUE the cookie will be made accessible + * only through the HTTP protocol. This means that + * the cookie won't be accessible by scripting languages, + * such as JavaScript. It has been suggested that + * this setting can effectively help to reduce identity + * theft through XSS attacks (although it is not + * supported by all browsers), but that claim is often + * disputed. Available only in PHP 5.2.0+<br> + * Default is FALSE + * + * Available only for PHP 5.2.0+ and will be ignored + * if not available. + * + * Not all properties must be set - for the properties that are not set, the + * default values will be used instead. + * + * @since 2.8.4 + * + * @return void + */ + function csrf($csrf_storage_method = 'auto', $csrf_token_lifetime = 0, $csrf_cookie_config = array('path' => '/', 'domain' => '', 'secure' => false, 'httponly' => true)) + { + + // continue only if protection against CSRF attacks is not disabled and a token was not already generated + if ($csrf_storage_method !== false && (func_num_args() > 0 || $this->form_properties['csrf_token'] == '')) { + + // set the storage method for the CSRF token + $this->form_properties['csrf_storage_method'] = strtolower(trim($csrf_storage_method)); + + // if the script should decide what method to use and a session is already started + if ($this->form_properties['csrf_storage_method'] == 'auto') { + + // use sessions as storage method + if (isset($_SESSION)) $this->form_properties['csrf_storage_method'] = 'session'; + + // if a session is not already started, use cookies as storage method + else $this->form_properties['csrf_storage_method'] = 'cookie'; + + } + + // set the life time of the CSRF token + $this->form_properties['csrf_token_lifetime'] = ($csrf_token_lifetime <= 0 ? 0 : $csrf_token_lifetime); + + // set the configuration options for cookies + $this->form_properties['csrf_cookie_config'] = array_merge($this->form_properties['csrf_cookie_config'], $csrf_cookie_config); + + // generate a new CSRF token (if it is the case) + // (if this method is called with any arguments it means it is called by the user and therefore the + // token should be regenerated) + $this->_csrf_generate_token(func_num_args() > 0 ? true : false); + + // if protection against CSRF attacks is disabled, save the option for later use + } else $this->form_properties['csrf_storage_method'] = false; + + } + + /** + * Sets the language to be used by some of the form's controls (the date control, the select control, etc.) + * + * The default language is English. + * + * @param string $language The name of the language file to be used, from the "languages" folder. + * + * Must be specified without extension ("german" for the german language + * not "german.php")! + * + * @var string + * + * @return void + */ + function language($language) + { + + // include the language file + require rtrim(dirname(__FILE__), DIRECTORY_SEPARATOR) . DIRECTORY_SEPARATOR . 'languages/' . strtolower(trim($language)) . '.php'; + + // make the language available in the control + $this->form_properties['language'] = &$this->language; + + } + + /** + * Renders the form. + * + * @param string $template The output of the form can be generated automatically, can be given from a template + * file or can be generated programmatically by a callback function. + * + * For the automatically generated template there are two options: + * + * - when <i>$template</i> is an empty string or is "<i>*vertical</i>", the script + * will automatically generate an output where the labels are above the controls + * and controls come one under another (vertical view) + * + * - when <i>$template</i> is "<i>*horizontal</i>", the script will automatically + * generate an output where the labels are positioned to the left of the controls + * while the controls come one under another (horizontal view) + * + * When templates are user-defined, <i>$template</i> needs to be a string representing + * the <i>path/to/the/template.php</i>. + * + * The template file itself must be a plain PHP file where all the controls + * added to the form (except for the hidden controls, which are handled automatically) + * will be available as variables with the names as described in the documentation + * for each of the controls. Also, error messages will be available as described at + * {@link Zebra_Form_Control::set_rule() set_rule()}. + * + * A special variable will also be available in the template file - a variable with + * the name of the form and being an associative array containing all the controls + * added to the form, as objects. + * + * <i>The template file must not contain the <form> and </form> tags, nor any of the + * <hidden> controls added to the form as these are generated automatically!</i> + * + * There is a third method of generating the output and that is programmatically, + * through a callback function. In this case <i>$template</i> needs to be the name + * of an existing function. + * + * The function will be called with two arguments: + * + * - an associative array with the form's controls' ids and their respective + * generated HTML, ready for echo-ing (except for the hidden controls which will + * still be handled automatically); + * + * <i>note that this array will also contain variables assigned through the + * {@link assign()} method as well as any server-side error messages, as you + * would in a custom template (see {@link Zebra_Form_Control::set_rule() set_rule()} + * method and read until the second highlighted box, inclusive)</i> + * + * - an associative array with all the controls added to the form, as objects + * + * THE USER FUNCTION MUST RETURN THE GENERATED OUTPUT! + * + * @param boolean $return (Optional) If set to TRUE, the output will be returned instead of being printed + * to the screen. + * + * Default is FALSE. + * + * @param array $variables (Optional) An associative array in the form of "variable_name" => "value" + * representing variable names and their associated values, to be made available + * in custom template files. + * + * This represents a quicker alternative for assigning many variables at once + * instead of calling the {@link assign()} method for each variable. + * + * @return mixed Returns or displays the rendered form. + */ + function render($template = '', $return = false, $variables = '') + { + + // if + if ( + + // "process.php" file could not be found + !file_exists($this->form_properties['assets_server_path'] . 'process.php') || + + // or "mimes.json" file could not be found + !file_exists($this->form_properties['assets_server_path'] . 'mimes.json') + + ) + + // it means the most probably the script is run on a virtual host and that paths need to be set manually so + // we inform the user about that + _zebra_form_show_error('<strong>Zebra_Form</strong> could not automatically determine the correct path to the "process.php" + and "mimes.json" files - this may happen if the script is run on a virtual host. To fix this, use the <u>assets_path()</u> + method and manually set the correct <strong>server path</strong> and <strong>URL</strong> to these file!', E_USER_ERROR); + + // if variables is an array + if (is_array($variables)) + + // iterate through the values in the array + foreach ($variables as $name => $value) + + // make each value available in the template + $this->assign($name, $value); + + // start generating the output + $output = '<form ' . + ($this->form_properties['doctype'] == 'html' ? 'name="' . $this->form_properties['name'] . '" ' : '') . + 'id="' . $this->form_properties['name'] . '" ' . + 'action="' . htmlspecialchars($this->form_properties['action']) . '" ' . + 'method="' . strtolower($this->form_properties['method']) . '" ' . + 'novalidate="novalidate"'; + + // if custom classes are to be set for the form + if (isset($this->form_properties['attributes']['class'])) + + // add the "Zebra_Form" required class + $this->form_properties['attributes']['class'] .= ' Zebra_Form'; + + // if no custom classes are set, set the required "Zebra_Form" class + else $this->form_properties['attributes']['class'] = 'Zebra_Form'; + + // if any form attributes have been specified + if (is_array($this->form_properties['attributes'])) + + // iterate through the form's attributes + foreach ($this->form_properties['attributes'] as $attribute => $value) + + // write them + $output .= ' ' . $attribute . '="' . $value . '"'; + + // if the form has file upload controls + if ($this->form_properties['has_upload'] === true) { + + // add the enctype to the attributes of the <form> tag + $output .= ' enctype="multipart/form-data"'; + + // and add this required hidden field containing the maximum allowed file size + $this->add('hidden', 'MAX_FILE_SIZE', $this->form_properties['max_file_size']); + + // if client-side validation is not disabled + if (!$this->form_properties['clientside_validation']['clientside_disabled'] && !$this->form_properties['clientside_validation']['disable_upload_validation']) + + // add a new property for the client-side validation + $this->clientside_validation(array('assets_path' => rawurlencode($this->form_properties['assets_url']))); + + } + + $output .= '>'; + + // iterate through the form's controls + foreach ($this->controls as $key => $control) { + + // treat "email" and "number" types as "text" + if (in_array($control->attributes['type'], array('email', 'number'))) $control->attributes['type'] = 'text'; + + // get some attributes for each control + $attributes = $control->get_attributes(array('type', 'for', 'name', 'id', 'multiple', 'other', 'class', 'default_other', 'disable_zebra_datepicker')); + + // sanitize the control's name + $attributes['name'] = preg_replace('/\[\]/', '', $attributes['name']); + + // validate the control's name + switch ($attributes['name']) { + + // if control has the same name as the form + case $this->form_properties['name']: + // if control has the same name as the name of the honeypot's name + case $this->form_properties['honeypot']: + // if control has the same name as the name of the field containing the CSRF token + case $this->form_properties['csrf_token_name']: + // if control has the name "submit" + case 'submit': + + // stop the execution of the script + _zebra_form_show_error('You are not allowed to have a control named "<strong>' . + $attributes['name'] . '</strong>" in form "<strong>' . + $this->form_properties['name'] . '</strong>"', + E_USER_ERROR); + + break; + + } + + // if control name is not allowed because it looks like the automatically generated controls for <select> controls + // with the "other" option attached + if (preg_match('/' . preg_quote($this->form_properties['other_suffix']) . '$/', $attributes['name']) > 0) + + // stop the execution of the script + _zebra_form_show_error('You are not allowed to have a control with the name ending in "<strong>' . + $this->form_properties['other_suffix'] . '</strong>" in form "<strong>' . + $this->form_properties['name'] . '</strong>"', E_USER_ERROR); + + // if control has any rules attached to it + if (!empty($control->rules)) { + + // if client-side validation is not disabled and this variable not created yet, + // create the variable holding client-side error messages + if (!$this->form_properties['clientside_validation']['clientside_disabled'] && !isset($clientside_validation)) $clientside_validation = array(); + + // if we applied the "age" rule to an element not being of "date" type + if (isset($control->rules['age']) && !array_key_exists('pair', $control->attributes)) + + // trigger an error message + _zebra_form_show_error('The <strong>age</strong> rule can only be applied to a <strong>date</strong> element', E_USER_ERROR); + + // we need to make sure that rules are in propper order, the order of priority being "dependencies", + // "required" and "upload" + + // if the upload rule exists + if (isset($control->rules['upload'])) { + + // remove it from wherever it is + $rule = array_splice($control->rules, array_search('upload', array_keys($control->rules)), 1, array()); + + // and make sure it's the first rule + $control->rules = array_merge($rule, $control->rules); + + } + + // if the "required" rule exists + if (isset($control->rules['required'])) { + + // remove it from wherever it is + $rule = array_splice($control->rules, array_search('required', array_keys($control->rules)), 1, array()); + + // and make sure it's the first rule (it has to be checked prior to the "upload" rule) + $control->rules = array_merge($rule, $control->rules); + + } + + // if the "dependencies" rule exists + if (isset($control->rules['dependencies'])) { + + // remove it from wherever it is + $rule = array_splice($control->rules, array_search('dependencies', array_keys($control->rules)), 1, array()); + + // and make sure it's the first rule (it has to be checked prior to the "required" and "upload" rules) + $control->rules = array_merge($rule, $control->rules); + + } + + // iterate through the rules attached to the control + foreach ($control->rules as $rule => $properties) { + + // these rules are not checked client side + if ( + + $rule == 'captcha' || $rule == 'convert' || $rule == 'resize' || + + // also, if we're not checking files clientside, also ignore these rules + ( + !$this->form_properties['clientside_validation']['clientside_disabled'] && + $this->form_properties['clientside_validation']['disable_upload_validation'] && + in_array($rule, array('upload', 'filetype', 'filesize', 'image')) + ) + + ) continue; + + // we need to remove the error_block part as it is not needed for client-side validation + switch ($rule) { + + // for these rules + case 'age': + case 'alphabet': + case 'alphanumeric': + case 'compare': + case 'digits': + case 'filesize': + case 'filetype': + case 'float': + case 'number': + case 'range': + case 'regexp': + case 'url': + + // the error block is the second argument; remove it + array_splice($properties, 1, 1); + + break; + + // for these rules + case 'date': + case 'email': + case 'emails': + case 'image': + case 'required': + + // the error block is the first argument; remove it + array_splice($properties, 0, 1); + + break; + + // for these rules + case 'datecompare': + case 'length': + case 'upload': + + // the error block is the third argument; remove it + array_splice($properties, 2, 1); + + // for the "length" rule + if ($rule == 'length' && $properties[1] > 0) + + // we also set the "maxlength" attribute of the control + $this->controls[$key]->set_attributes(array('maxlength' => $properties[1])); + + // fot the "length" rule, for text and textarea elements + if ($rule == 'length' && in_array($attributes['type'], array('text', 'textarea')) && $properties[1] > 0) + + // make sure the default value, if there is one, is not longer than the maximum allowed length + $control->set_attributes(array('value' => mb_substr($control->attributes['value'], 0, $properties[1]))); + + break; + + // for the "custom" rule + case 'custom': + + // custom rules are always given as an array of rules + // so, iterate over the custom rules + foreach ($properties as $index => $values) + + // and remove the error block + array_splice($properties[$index], -2, 1); + + break; + + } + + // if client-side validation is not disabled + if (!$this->form_properties['clientside_validation']['clientside_disabled']) + + // this array will be fed to the JavaScript as a JSON + $clientside_validation[$attributes['name']][$rule] = $properties; + + } + + + } + + // if control is a select control, doesn't have the "multiple" attribute set and has the "other" attribute set + if (isset($attributes['type']) && $attributes['type'] == 'select' && !isset($attributes['multiple']) && isset($attributes['other'])) { + + // set a special class for the select control so that we know that it has a textbox attached to it + + // add a special class to the control + $this->controls[$key]->set_attributes(array('class' => 'other'), false); + + // add a text control + $obj = & $this->add('text', $attributes['id'] . $this->form_properties['other_suffix'], $attributes['default_other']); + + // set a special class for the control + $obj->set_attributes(array('class' => 'other'), false); + + // if the select control was not submitted OR it was submitted but the selected option is other than + // the "other" option + if (!isset($control->submitted_value) || $control->submitted_value != 'other') + + // hide the text box + $obj->set_attributes(array('class' => 'other-invisible'), false); + + // make sure the value in the control propagates + $obj->get_submitted_value(); + + // because we want this control to appear right beneath the select control when the form is auto-generated + // we need to have it after the select control in the "controls" property + + // as is we just added the control, it means it is at the end of the array + // we take it off the end of array + $obj = array_pop($this->controls); + + // find the position of the parent control + $parent_position = array_search($attributes['name'], array_keys($this->controls)); + + // insert the control right after the parent control + $this->controls = + + array_slice($this->controls, 0, $parent_position + 1, true) + + + array($attributes['id'] . $this->form_properties['other_suffix'] => $obj) + + + array_slice($this->controls, $parent_position + 1, count($this->controls) - $parent_position, true); + + + } + + // if control is a label and is a "master" label + if (isset($attributes['type']) && $attributes['type'] == 'label' && array_key_exists($attributes['for'], $this->master_labels)) + + // save the "master" label's name + $this->master_labels[$attributes['for']]['control'] = $attributes['name']; + + // if control is a date control + if (isset($attributes['type']) && $attributes['type'] == 'text' && preg_match('/\bdate\b/i', $attributes['class'])) { + + // if variable is not yet defined. define it + if (!isset($datepicker_javascript)) $datepicker_javascript = ''; + + // if Zebra_DatePicker is *not* disabled for this control + if (!$attributes['disable_zebra_datepicker']) { + + // append the new date picker object + $datepicker_javascript .= '$(\'#' . $attributes['id'] . '\').Zebra_DatePicker('; + + // take day names from the language file + $control->attributes['days'] = $this->form_properties['language']['days']; + + // if we have custom day name abbreviations, use them + if (is_array($this->form_properties['language']['days_abbr'])) $control->attributes['days_abbr'] = $this->form_properties['language']['days_abbr']; + + // take month names from the language file + $control->attributes['months'] = $this->form_properties['language']['months']; + + // if we have custom month abbreviations, use them + if (is_array($this->form_properties['language']['months_abbr'])) $control->attributes['months_abbr'] = $this->form_properties['language']['months_abbr']; + + // use the caption from the language file for the "Clear date" button + $control->attributes['lang_clear_date'] = $this->form_properties['language']['clear_date']; + + // if the "Today" button is not disabled use the caption from the language file + if ($control->attributes['show_select_today'] === null) $control->attributes['show_select_today'] = $this->form_properties['language']['today']; + + $properties = ''; + + // iterate through control's attributes + foreach ($control->attributes as $attribute => $value) { + + // if attribute is an attribute intended for the javascript object and is not null + if (in_array($attribute, $control->javascript_attributes) && ($control->attributes[$attribute] !== null || ($attribute == 'direction' && $value === false))) { + + // append to the properties list (we change "inside_icon" to "inside" as "inside" is reserved) + $properties .= ($properties != '' ? ',' : '') . ($attribute == 'inside_icon' ? 'inside' : $attribute) . ':'; + + // if value is an array + if (is_array($value)) { + + // assume we don't need to convert this to a JavaScript object + $is_object = false; + + // iterate through all the keys/values + foreach ($value as $key => $val) + + // if at least one of the keys is not numeric + if (preg_match('/[^0-9]/', $key) > 0) { + + // set this flag to true + $is_object = true; + + // don't look further + break; + + } + + // format accordingly + $properties .= ($is_object ? '{' : '['); + + // iterate through the values + foreach ($value as $key => $val) + + $properties .= (!is_numeric($key) ? '\'' . $key . '\':' : '') . ($val === true ? 'true' : ($val === false ? 'false' : (is_numeric($val) ? $val : (is_array($val) ? json_encode($val) : '\'' . $val . '\'')))) . ','; + + $properties = rtrim($properties, ',') . ($is_object ? '}' : ']'); + + // if value is a jQuery selector + } elseif (preg_match('/^\$\((\'|\").*?\1\)/', trim($value)) > 0) { + + // use it as it is + $properties .= $value; + + // if value is a string but is not a javascript object + } elseif (is_string($value) && !preg_match('/^\{.*\}$/', trim($value))) + + // format accordingly and escape single quotes or we'll kill JavaScript + $properties .= '\'' . addcslashes($value, '\'') . '\''; + + // for any other case (javascript object, boolean) + else + + // format accordingly + $properties .= ($value === true ? 'true' : ($value === false ? 'false' : (is_numeric($value) ? $value : '\'' . $value . '\''))); + + } + + } + + $properties .= ',onSelect:function(){$("#' . $this->form_properties['name'] . '").data("Zebra_Form").hide_error("' . $attributes['name'] . '")}'; + + // wrap up the javascript object + $datepicker_javascript .= ($properties != '' ? '{' . $properties . '}' : '') . ');'; + + // if Zebra_DatePicker is disabled + } else + + // in order to preserve client-side validation, + // we still need to pass some data to it + $datepicker_javascript .= '$(\'#' . $attributes['id'] . '\').data("Zebra_DatePicker", new Object({settings: {days: ["' . implode('","', $this->form_properties['language']['days']) . '"], months: ["' . implode('","', $this->form_properties['language']['months']) . '"], format: "' . $control->attributes['format'] . '"}}));'; + + } + + // if control has the "filetype" rule set, load MIME types now + if (isset($control->rules['filetype']) || isset($control->rules['image'])) $this->_load_mime_types(); + + } + + // we add automatically this hidden control to the form, used to know that the form was submitted + $this->add('hidden', $this->form_properties['identifier'], $this->form_properties['name']); + + // add a "honeypot" - a text field that we'll use to try and prevent spam-bots + // this field will be hidden from users and we expect only spam-bots to fill it. if this field will not be empty + // when submitting the form, we'll consider that the form was submitted by a spam-bot + $this->add('text', $this->form_properties['honeypot'], '', array('autocomplete' => 'off')); + + // if CSRF protection is enabled (is not boolean FALSE) + if ($this->form_properties['csrf_storage_method'] !== false) + + // add a hidden field to the form, containing the random token + // (we will later compare the value in this field with the value in the associated session/cookie) + $this->add('hidden', $this->form_properties['csrf_token_name'], $this->form_properties['csrf_token']); + + // start rendering the form's hidden controls + $output .= '<div class="hidden">'; + + // iterate through the controls assigned to the form, looking for hidden controls + // also, use this opportunity to see which labels are attached to "required" controls + foreach ($this->controls as $key => $control) { + + // get some attributes for each control + $attributes = $control->get_attributes(array('type', 'for', 'name', 'label', 'inside')); + + // sanitize the control's name + $attributes['name'] = preg_replace('/\[\]$/', '', $attributes['name']); + + // if control is a "hidden" control + if ($attributes['type'] == 'hidden') { + + // append the hidden control to the hidden control's block + $output .= $control->toHTML(); + + // take the control out of the controls array because we don't have to bother with it anymore + unset($this->controls[$key]); + + // if control is a text field and is the control intended for the "honeypot" + } elseif ($attributes['type'] == 'text' && $attributes['name'] == $this->form_properties['honeypot']) { + + // because http://www.w3.org/WAI/GL/WCAG20/WD-WCAG20-TECHS/html.html#H44 requires it, + // attach a label to the control + $output .= '<label for="' . $this->form_properties['honeypot'] . '" style="display:none">Leave this field blank</label>'; + + // append the control to the hidden control's block (it will not be visible) + $output .= $control->toHTML(); + + // take the control out of the controls array so we don't have to bother with it anymore + unset($this->controls[$key]); + + // if + } elseif ( + + // control is a label AND + $attributes['type'] == 'label' && + + // has the "for" attribute set + isset($attributes['for']) && + + ( + + // represents a label for a group of checkboxes or radio buttons + array_key_exists($attributes['for'], $this->master_labels) || + + // the label is attached to an existing control + array_key_exists($attributes['for'], $this->controls) + + ) + + ) { + + // if the label is attached to an existing control + if (array_key_exists($attributes['for'], $this->controls)) { + + // get some attributes of the control the label is attached to + $ctrl_attributes = $this->controls[$attributes['for']]->get_attributes(array('name', 'id', 'type')); + + // sanitize the control's name + $ctrl_attributes['name'] = preg_replace('/\[\]$/', '', $ctrl_attributes['name']); + + // if + if ( + + // the label has the "inside" attribute set + isset($attributes['inside']) && + + // the label's "inside" attribute is set to TRUE AND + $attributes['inside'] === true && + + // the type of the control the label is attached to is either text, textarea or password + (isset($ctrl_attributes['type']) && ( + + $ctrl_attributes['type'] == 'text' || + + $ctrl_attributes['type'] == 'textarea' || + + $ctrl_attributes['type'] == 'password' + + )) + + ) { + + // set some extra attributes for the control the label is attached to + $this->controls[$attributes['for']]->set_attributes(array( + + // for textareas we set the "title" attribute while for the text and password + // controls we set the "alt" attribute + 'title' => $attributes['label'], + + )); + + // set some extra attributes for the control the label is attached to + $this->controls[$attributes['for']]->set_attributes(array( + + // set a class, used by the JavaScript to set some extra attributes at runtime + 'class' => 'inside', + + ), false); + + // if the control the label is attached to a radio button or a checkbox + } elseif ($ctrl_attributes['type'] == 'radio' || $ctrl_attributes['type'] == 'checkbox') + + // set a specific class for the label control + $control->set_attributes(array('class' => 'option')); + + } + + // if the control the label is attached to has the "disabled" attribute set + if (isset($this->controls[$attributes['for']]->attributes['disabled'])) + + // set a special class for the label + $control->set_attributes(array('class' => 'disabled'), false); + + // if the control the label is attached to, has the "required" rule set + if (isset($this->controls[$attributes['for']]->rules['required'])) + + // if + if ( + + // a "master" label could exist for the control the label is attached to + array_key_exists($ctrl_attributes['name'], $this->master_labels) && + + // and a control that could be the "master" label exists + isset($this->controls[$this->master_labels[$ctrl_attributes['name']]['control']]) + + ) { + + // if asterisk is not already attached + if (strpos($this->controls[$this->master_labels[$ctrl_attributes['name']]['control']]->attributes['label'], '<span class="required">*</span>') === false) + + // attach the asterisk to the "master" label instead rather than to the current label + $this->controls[$this->master_labels[$ctrl_attributes['name']]['control']]->set_attributes(array('label' => $this->controls[$this->master_labels[$ctrl_attributes['name']]['control']]->attributes['label'] . '<span class="required">*</span>')); + + // otherwise + } else + + // attach the asterisk to the current label + $this->controls[$key]->set_attributes(array('label' => $attributes['label'] . '<span class="required">*</span>')); + + // if + } elseif ( + + // control is a label AND + $attributes['type'] == 'label' && + + // has the "for" attribute set + isset($attributes['for']) && + + // is neither a "master" label for a group of checkboxes or radio buttons + !array_key_exists($attributes['for'], $this->master_labels) && + + // nor is attached to an existing control + !array_key_exists($attributes['for'], $this->controls) && + + // we're not on autopilot (if we are, we will remove the "for" attribute later on) + ($template != '' && $template != '*horizontal' && $template != '*vertical') + + // remove the "for" attribute so that the form will pass the W3C validation + ) unset($this->controls[$key]->attributes['for']); + + } + + // finish building the hidden controls block + $output .= '</div>'; + + // if there are any error messages + if (!empty($this->errors)) + + // iterate through each error block + foreach ($this->errors as $error_block => $error_messages) { + + $content = ''; + + // iterate through each message of the error block + foreach ($error_messages as $error_message) { + + // render each message in block + $content .= '<span>' . $error_message . '</span>'; + + // if only one error message is to be show + // break out from the foreach loop + if ($this->form_properties['show_all_error_messages'] === false) break; + + } + + // switch the array entry with it's rendered form + $this->errors[$error_block] = '<div class="error"><div class="container">' . $content . '<div class="close"><a href="javascript:void(0)">close</a></div></div></div>'; + + } + + // if there are any SPAM or CSRF errors + if (isset($this->errors['zf_error_spam']) || isset($this->errors['zf_error_csrf'])) { + + // if there's a CSRF error leave only that + if (isset($this->errors['zf_error_csrf'])) $this->errors['zf_error'] = $this->errors['zf_error_csrf']; + + // else, if there's a SPAM error, leave just that + else $this->errors['zf_error'] = $this->errors['zf_error_spam']; + + // remove these two errors + // as now there will be only one, under the name of "zf_error" + unset($this->errors['zf_error_csrf']); + unset($this->errors['zf_error_spam']); + + } + + // if output is to be auto-generated + if ($template == '' || $template == '*horizontal' || $template == '*vertical') { + + $error_messages = ''; + + // iterate through any existing error blocks + // and render them at the top of the auto-generated output + foreach ($this->errors as $errors) $error_messages .= $errors; + + // group controls in master-label/control/label/note + // so, every block looks like + // - master label (if any) + // - label (if any) + // - control + // - (in case of radio buttons and checkboxes the above two may be repeated) + // - note (if any) + $blocks = array(); + + // iterate through the form's controls + foreach ($this->controls as $key => $control) { + + // get some attributes for the control + $attributes = $control->get_attributes(array('type', 'name', 'id', 'for', 'inside')); + + // if control is a label that is to be placed inside another control, we skip it + if ($attributes['type'] == 'label' && isset($attributes['inside'])) continue; + + // sanitize control's name + $attributes['name'] = preg_replace('/\[\]$/', '', $attributes['name']); + + // if the control is a text box that is to be shown when user selects "other" in a select control + if (preg_match('/(.*)' . preg_quote($this->form_properties['other_suffix']) . '$/', $attributes['name'], $matches) > 0) + + // the parent is the control to which the control is attached to + $parent = $matches[1]; + + // for other controls + else { + + // check the control's type + switch ($attributes['type']) { + + // if control is captcha, label, or note + case 'captcha': + case 'label': + case 'note': + + // save the control the current control is attached to + $parent = $attributes['for']; + + // if + if ( + + // parent control exist AND + isset($this->controls[$parent]) && + + // control is a checkbox or radio button + ($this->controls[$parent]->attributes['type'] == 'checkbox' || $this->controls[$parent]->attributes['type'] == 'radio') && + + // the parent control's ID is different the parent control's name + // (as is the case for radio buttons and checkboxes) + $this->controls[$parent]->attributes['id'] != $this->controls[$parent]->attributes['name'] + + ) + + // save both the "master" parent and, separated by a dot, the actual parent + $parent = preg_replace('/\[\]$/', '', $this->controls[$parent]->attributes['name']) . '.' . $parent; + + // if control is a label and the parent control doesn't exist (the label is most probably a "master" label) + elseif ($attributes['type'] == 'label' && !isset($this->controls[$parent])) + + // remove the "for" attribute so that the form will pass the W3C validation + unset($this->controls[$key]->attributes['for']); + + break; + + // for any other controls + default: + + // the parent is the control itself + $parent = $attributes['name']; + + } + + } + + // as some controls (labels for checkboxes) can have multiple parent - the checkbox control and a master + // label - and multiple parents are separated by a dot, explode by dot + $parents = explode('.', $parent); + + // iterate through the control's parents + foreach ($parents as $key => $parent) { + + // if first entry + // make $array a pointer to the $blocks array + if ($key == 0) $array = & $blocks; + + // if the parent control doesn't have its own key in the array + // (it may still be in the array but not as a "parent") + if (!isset($array[$parent])) { + + // initialize the entry + $array[$parent] = array(); + + // if we already have the entry but not as a key + if (($pos = array_search($parent, $array)) !== false) { + + // insert it in the newly created entry + $array[$parent][] = $array[$pos]; + + // and remove it from the old position + unset($array[$pos]); + + } + + } + + // make $array a pointer + $array = & $array[$parent]; + + // if we're at the last parent + if ($key == count($parents) - 1) + + // if control already exists in the parent's array as a key (remember that $array is a pointer!) + if (array_key_exists($attributes['id'], $array)) + + // add the control to the array + $array[$attributes['id']][] = $attributes['id']; + + // if control doesn't exists in the parent's array (remember that $array is a pointer!) + else + + // add the control to the array + $array[] = $attributes['id']; + + } + + } + + // if auto-generated output needs to be horizontal + if ($template == '*horizontal') { + + // the output will be enclosed in a table + $contents = '<table>'; + + // if there are errors to be displayed + if ($error_messages != '') + + // show the error messages + $contents .= '<tr><td colspan="2">' . $error_messages . '</td></tr>'; + + // keep track of odd/even rows + $counter = 0; + + // total number of rows to be displayed + $rows = count($blocks); + + // iterate through blocks + foreach ($blocks as $controls) { + + ++$counter; + + // each block is in its own row + $contents .= '<tr class="row' . ($counter % 2 == 0 ? ' even' : '') . ($counter == $rows ? ' last' : '') . '">'; + + // the first cell will hold the label (if any) + $contents .= '<td>'; + + // as of PHP 5.3, array_shift required the argument to be a variable and not the result + // of a function so we need this intermediary step + $labels = array_values($controls); + + // retrieve the first item in the block + $label = array_shift($labels); + + // item is a label + if (!is_array($label) && $this->controls[$label]->attributes['type'] == 'label') { + + // remove it from the block + array_shift($controls); + + // render it + $contents .= $this->controls[$label]->toHTML(); + + } + + // close the table cell + $contents .= '</td>'; + + // the second cell contains the actual controls + $contents .= '<td>'; + + // iterate through the controls to be rendered + foreach ($controls as $control) { + + // if array of controls + // (radio buttons/checkboxes and their labels) + if (is_array($control)) { + + // iterate through the array's items + foreach ($control as $ctrl) + + // and display them on the same line + $contents .= '<div class="cell">' . $this->controls[$ctrl]->toHTML() . '</div>'; + + // clear floats + $contents .= '<div class="clear"></div>'; + + // if not an array of controls + } else + + // if control is required but has the label as a tip inside the control + // we need to manually add the asterisk after the control + if (array_key_exists('required', $this->controls[$control]->rules) && preg_match('/\binside\b/', $this->controls[$control]->attributes['class'])) { + + // first, make sure the control is inline so that the asterisk will be placed to the right of the control + $this->controls[$control]->set_attributes(array('class' => 'inline'), false); + + // add the required symbol after the control + $contents .= $this->controls[$control]->toHTML() . '<span class="required">*</span>'; + + // else, render the control + } else $contents .= $this->controls[$control]->toHTML(); + + } + + // close the cell + $contents .= '</td>'; + + // add a "separator" row + $contents .= '</tr>'; + + } + + // finish rendering the table + $contents .= '</table>'; + + // if auto-generated output needs to be vertical + } else { + + $contents = ''; + + // if there are errors to be displayed, show the error messages + if ($error_messages != '') $contents .= $error_messages; + + $counter = 0; + + // total number of rows to be displayed + $rows = count($blocks); + + // iterate through blocks + foreach ($blocks as $controls) { + + // ...then block is contained in its own row + $contents .= '<div class="row' . (++$counter % 2 == 0 ? ' even' : '') . ($counter == $rows ? ' last' : '') . '">'; + + // iterate through the controls to be rendered + foreach ($controls as $control) { + + // if array of controls + // (radio buttons/checkboxes and their labels) + if (is_array($control)) { + + // iterate through the array's items + foreach ($control as $ctrl) + + // and display them on the same line + $contents .= '<div class="cell">' . $this->controls[$ctrl]->toHTML() . '</div>'; + + // clear floats + $contents .= '<div class="clear"></div>'; + + // if not an array of controls + } else + + // if control is required but has the label as a tip inside the control + // we need to manually add the asterisk after the control + if (array_key_exists('required', $this->controls[$control]->rules) && preg_match('/\binside\b/', $this->controls[$control]->attributes['class'])) { + + // first, make sure the control is inline so that the asterisk will be placed to the right of the control + $this->controls[$control]->set_attributes(array('class' => 'inline'), false); + + // add the required symbol after the control + $contents .= $this->controls[$control]->toHTML() . '<span class="required">*</span>'; + + // else, render the control + } else $contents .= $this->controls[$control]->toHTML(); + + } + + // ...finish rendering + $contents .= '</div>'; + + } + + } + + // if a function with the name given as $template, and the function exists + } elseif (is_callable($template)) { + + // this variable will contain all the rendered controls + $controls = array(); + + // iterate through the controls assigned to the form + foreach ($this->controls as $control) { + + // read some attributes of the control + $attributes = $control->get_attributes(array('id', 'inside')); + + // render the control if the control is not a label that is to be displayed inside the control as it's + // default value + if (!isset($attributes['inside'])) + + // if control is required but has the label as a tip inside the control + // we need to manually add the asterisk after the control + if (array_key_exists('required', $control->rules) && preg_match('/\binside\b/', $control->attributes['class'])) { + + // first, make sure the control is inline so that the asterisk will be placed to the right of the control + $control->set_attributes(array('class' => 'inline'), false); + + // add the required symbol after the control + // and add generated HTML code to the $controls array + $controls[$attributes['id']] = $control->toHTML() . '<span class="required">*</span>'; + + // otherwise, add generated HTML code to the $controls array + } else $controls[$attributes['id']] = $control->toHTML(); + + } + + // iterate through the variables assigned to the form + foreach ($this->variables as $variable_name => $variable_value) + + // make available the assigned variables + $controls[$variable_name] = $variable_value; + + // iterate through the error messages(if any) + foreach ($this->errors as $error_block => $error_message) + + // make the error message available + $controls[$error_block] = $error_message; + + // let the custom function generate the output + // we're passing two arguments + // an associative array with control ids and their respectively generated HTML + // and an array with all the form's objects + $contents = call_user_func_array($template, array($controls, &$this->controls)); + + // if a template was specified + } else { + + // this variable will contain all the rendered controls + $controls = array(); + + // iterate through the controls assigned to the form + foreach ($this->controls as $control) { + + // read some attributes of the control + $attributes = $control->get_attributes(array('id', 'inside')); + + // render the control if the control is not a label that is to be displayed inside the control as it's + // default value + if (!isset($attributes['inside'])) + + // if control is required but has the label as a tip inside the control + // we need to manually add the asterisk after the control + if (array_key_exists('required', $control->rules) && preg_match('/\binside\b/', $control->attributes['class'])) { + + // first, make sure the control is inline so that the asterisk will be placed to the right of the control + $control->set_attributes(array('class' => 'inline'), false); + + // add the required symbol after the control + // and add generated HTML code to the $controls array + $controls[$attributes['id']] = $control->toHTML() . '<span class="required">*</span>'; + + // otherwise, add generated HTML code to the $controls array + } else { + + // if element name was given as an array (i.e. car[name]) + if (preg_match('/^([^\[]+)\[([^\]]+)\]$/', $attributes['id'], $matches)) + + // assign the variable accordingly + $controls[$matches[1]][$matches[2]] = $control->toHTML(); + + // if element name was not given as an array, assign the variable accordingly + else $controls[$attributes['id']] = $control->toHTML(); + + } + + } + + //start output buffering + ob_start(); + + // make available in the template all the form's objects + $controls[$this->form_properties['name']] = &$this->controls; + + // make the user-defined variables available in the template file as PHP variables + extract($this->variables); + + // make the rendered controls available in the template file as PHP variables + extract($controls); + + // make the error messages available in the template file as PHP variables + extract($this->errors); + + // include the template file + include $template; + + // put the parsed content in a variable + $contents = ob_get_contents(); + + // clean buffers + ob_end_clean(); + + } + + // finish building the output + $output = $output . $contents . '</form>'; + + // this will hold the properties to be set for the JavaScript object + $javascript_object_properties = ''; + + // if client-side validation is disabled + if ($this->form_properties['clientside_validation']['clientside_disabled']) { + + // we still need to execute a function attached to the "on_ready" event (if any) + $javascript_object_properties .= 'on_ready:' . ($this->form_properties['clientside_validation']['on_ready'] === false ? 'false' : $this->form_properties['clientside_validation']['on_ready']); + + // so we don't break the JavaScript code, we need this, too + $javascript_object_properties .= ',validation_rules:{}'; + + // if client-side validation is not disabled + } else { + + // iterate through the properties + foreach ($this->form_properties['clientside_validation'] as $key => $value) + + // save property + $javascript_object_properties .= + ($javascript_object_properties != '' ? ',' : '') . $key . ':' . + ($value === true ? 'true' : ($value === false ? 'false' : ($key == 'on_ready' ? $value : '\'' . $value . '\''))); + + // save information about validation rules + $javascript_object_properties .= ($javascript_object_properties != '' ? ',' : '') . 'validation_rules:' . (isset($clientside_validation) ? json_encode($clientside_validation) : '{}'); + + } + + // function name for initializing client-side validation + $function_name = 'init_' . md5(strtolower($this->form_properties['name'] . microtime())); + + $output .= + '<script type="text/javascript">function ' . $function_name . '(){if(typeof jQuery=="undefined"||typeof jQuery.fn.Zebra_Form=="undefined"' . + (isset($datepicker_javascript) ? '|| jQuery.fn.Zebra_DatePicker=="undefined"' : '') . '){setTimeout("' . $function_name . '()",100);return}else{' . + '$(document).ready(function(){' . + (isset($datepicker_javascript) ? $datepicker_javascript : '') . + '$("#' . $this->form_properties['name'] . '").Zebra_Form(' . ($javascript_object_properties != '' ? '{' . $javascript_object_properties . '}' : '') . ')})}}' . + $function_name . '()</script>'; + + // if $return argument was TRUE, return the result + if ($return) return $output; + + // if $return argument was FALSE, output the content + else echo $output; + + } + + /** + * Resets the submitted values for all of the form's controls (also resets the POST/GET/FILES superglobals) + * + * @return void + */ + function reset() + { + + // iterate through the form's controls + foreach ($this->controls as $key => $control) { + + // reference to the control + $obj = & $this->controls[$key]; + + // reset + $obj->reset(); + + } + + } + + /** + * Sets how error messages generated upon server-side validation are displayed in an + * {@link Zebra_Form_Control::set_rule() error block}. + * + * Client-side validation is done on the "onsubmit" event of the form. See {@link clientside_validation()} for + * more information on client-side validation. + * + * <code> + * // create a new form + * $form = new Zebra_Form('my_form'); + * + * // display all error messages of error blocks + * $form->show_all_error_messages(true); + * </code> + * + * @param boolean $value Setting this argument to TRUE will display <i>all</i> error messages of an error block, + * while setting it to FALSE will display one error message at a time. + * + * Default is FALSE. + * + * + * @return void + */ + function show_all_error_messages($value = false) + { + + // set the property + $this->form_properties['show_all_error_messages'] = $value; + + } + + /** + * This method performs the server-side validation of all the form's controls, making sure that all the values + * comply to the rules set for these controls through the {@link Zebra_Form_Control::set_rule() set_rule()} method. + * + * Only by calling this method will the form's controls update their values. If this method is not called, all + * the controls will preserve their default values after submission even if these values were altered prior to + * submission. + * + * This method must be called <b>before</b> the {@link render()} method or error messages will not be + * available. + * + * After calling this method, if there are {@link Zebra_Form_File file} controls on the form, you might want to check + * for the existence of the {@link $file_upload} property to see the details of uploaded files and take actions + * accordingly. + * + * Client-side validation is done on the "onsubmit" event of the form. See {@link clientside_validation()} for + * more information on client-side validation. + * + * @return boolean Returns TRUE if every rule was obeyed, FALSE if not. + */ + function validate() + { + + // reference to the form submission method + global ${'_' . $this->form_properties['method']}; + + $method = & ${'_' . $this->form_properties['method']}; + + $this->proxies_cache = array(); + + // we assume the form is not valid (or it was not submitted) + $form_is_valid = false; + + // continue only if form was submitted + if ( + + isset($method[$this->form_properties['identifier']]) && + + $method[$this->form_properties['identifier']] == $this->form_properties['name'] + + ) { + + // if + if ( + + // the "honeypot" field was submitted AND + isset($method[$this->form_properties['honeypot']]) && + + // the "honeypot" field is empty + $method[$this->form_properties['honeypot']] == '' && + + // no possible CSRF attacks detected + ($csrf_status = $this->_csrf_validate()) + + ) { + + // remove the honeypot and csrf entries so that we don't polute the $_POST array + unset($method[$this->form_properties['honeypot']]); + unset($method[$this->form_properties['csrf_token_name']]); + + // by default, we assume that the form is valid + $form_is_valid = true; + + // iterate through the controls + foreach (array_keys($this->controls) as $key) { + + // reference to control + $control = & $this->controls[$key]; + + // get some attributes of the control + $attribute = $control->get_attributes(array('type')); + + // validate the control + $valid = $this->validate_control($key); + + // do some extra checkings and cleanup + if ( + + //if type is password OR + $attribute['type'] == 'password' || + + //if type is text and has the "captcha" rule set + ($attribute['type'] == 'text' && isset($control->rules['captcha'])) + + // clear the value in the field + ) $control->set_attributes(array('value' => '')); + + // if control is not valid, the form is not valid + if (!$valid) { + + // unless the element is a file upload control, add the "error" class to it so we can apply + // custom styles to erroneous fields + if ($attribute['type'] != 'file') $control->set_attributes(array('class' => 'error'), false); + + $form_is_valid = false; + + } + + } + + // after iterating through all the controls, + // check if the form is still valid + if ($form_is_valid) + + // if there are any actions to be performed when the form is valid + // (file upload, resize, convert) + if (isset($this->actions) && !empty($this->actions)) + + // iterate through the actions + foreach ($this->actions as $actions) + + // if the respective action (method) exists + if (method_exists($this, $actions[0])) { + + // if the method was erroneous + if (!call_user_func_array(array(&$this,$actions[0]), array_slice($actions, 1))) { + + // add error message to indicated error block + $this->add_error($actions['block'], $actions['message']); + + // set the form as not being valid + $form_is_valid = false; + + } + + // if the task (method) could not be found, trigger an error message + } else _zebra_form_show_error('Method ' . $actions[0] . ' does not exist!', E_USER_ERROR); + + // else if + } elseif ( + + // honeypot field was not submitted + !isset($method[$this->form_properties['honeypot']]) || + + // honeypot field is not empty + $method[$this->form_properties['honeypot']] != '' + + // show the appropriate error message to the user + ) $this->add_error('zf_error_spam', $this->form_properties['language']['spam_detected']); + + // else, if a possible CSRF attack was detected + // show the appropriate error message to the user + elseif (!$csrf_status) $this->add_error('zf_error_csrf', $this->form_properties['language']['csrf_detected']); + + // if + if ( + + // form is valid + $form_is_valid || + + // form is invalid and the from was not submitted via AJAX + !isset($_SERVER['HTTP_X_REQUESTED_WITH']) + + // regenerate the CSRF token + ) $this->_csrf_generate_token(true); + + // here's a special error check: + // due to a bug (?) when the POST/GET data is larger than allowed by upload_max_filesize/post_max_size the + // $_POST/$_GET/$_FILES superglobals are empty (see http://bugs.php.net/bug.php?id=49570) + // but still, we need to present the user with some error message... + } elseif (empty($method) && isset($_SERVER['CONTENT_LENGTH']) && (int)$_SERVER['CONTENT_LENGTH'] > 0) + + $form_is_valid = false; + + // if form was not submitted and fields are to be auto-filled + elseif ($this->form_properties['auto_fill'] !== false) { + + // we'll use this variable to keep track of groups of radio buttons/checkboxes + // where we've randomly selected a value + $checked = array(); + + // iterate through the form's controls + foreach ($this->controls as $key => $control) { + + // get some attributes for each control + $attributes = $control->get_attributes(array('type', 'name', 'value')); + + // sanitize controls' name (remove square brackets) + $attributes['name'] = preg_replace('/\[\]$/', '', $attributes['name']); + + // if we need to select predefined values for specific controls + if (isset($this->form_properties['auto_fill'][0][$attributes['name']])) { + + // the value/values that is/are to be preselected + $value = $this->form_properties['auto_fill'][0][$attributes['name']]; + + // if control is a radio button or a checkbox + if ($attributes['type'] == 'checkbox' || $attributes['type'] == 'radio') { + + // if + if ( + + // given value is not an array and the current element has that value OR + (!is_array($value) && $value == $attributes['value']) || + + // given value is an array and the current element's value is in that array + // also, make sure we don't select multiple values for radio buttons + (is_array($value) && $attributes['type'] != 'radio' && in_array($attributes['value'], $value)) + + // mark element as "checked" + ) $control->set_attributes(array('checked' => 'checked')); + + // for the other controls, simply set the value + } else $control->set_attributes(array('value' => $value)); + + // if no predefined value was given for the control and we don't auto-fill only specific controls + } elseif (!$this->form_properties['auto_fill'][1]) { + + // if control is a radio button or a checkbox + if ($attributes['type'] == 'checkbox' || $attributes['type'] == 'radio') { + + // if we've not already selected a random value for the group of radio buttons/checkboxes + // the current element is part of + if (!isset($checked[$attributes['name']])) { + + // this will hold the randomly selected elements + $tmp_checked = array(); + + // iterate through all the form's controls + foreach ($this->controls as $element) + + // if control is of the same type and has the same name + if ($element->attributes['type'] == $attributes['type'] && $element->attributes['name'] == $attributes['name']) { + + // if element is checked by default, from when creating the form + if (isset($element->attributes['checked'])) { + + // we will consider this group as checked + $checked[$attributes['name']] = true; + + // ...and look no further + break; + + // if element is not checked by default and we should select the current value, + // save it for later as we first need to check if an element of the group is not + // already checked + // (also, for radio buttons make sure we select a single option) + } elseif (rand(0, 1) == 1&& !($attributes['type'] == 'radio' && !empty($tmp_checked))) $tmp_checked[] = $element; + + } + + // if no element of the group was selected + if (!isset($checked[$attributes['name']])) { + + // if there are any randomly selected elements + if (!empty($tmp_checked)) + + // iterate through the selected elements and mark them as "checked" + foreach ($tmp_checked as $element) $element->set_attributes(array('checked' => 'checked')); + + // if there are no randomly selected elements then select the current (first) element + $control->set_attributes(array('checked' => 'checked')); + + } + + // flag this group of elements so we're only doing this once + $checked[$attributes['name']] = true; + + } + + // if control is a drop-down or a multiple select box and does not already has a value + } elseif ($attributes['type'] == 'select' && $attributes['value'] === '') { + + // select a random value + // (if "multiple" attribute is set, select from all the values, or select starting from the second value otherwise) + $keys = array_slice( + array_keys($control->attributes['options']), + (isset($control->attributes['multiple']) && strtolower(trim($control->attributes['multiple'])) == 'multiple' ? 0 : 1) + ); + + // if the select has any values, set a random value + if (!empty($keys)) $control->set_attributes(array('value' => $keys[array_rand($keys)])); + + // if control is "password" + } elseif ($attributes['type'] == 'password') { + + // set the value to "12345678" + $control->set_attributes(array('value' => '12345678')); + + // if control is "text" or "textarea" and does not already have a value + } elseif (in_array($attributes['type'], array('text', 'textarea', 'email', 'number')) && $attributes['value'] === '') { + + // if this is a "date" control + if (strtolower(get_class($control)) == 'zebra_form_date') { + + // get the date control's starting/ending date + $limits = $control->_init(); + + // set the value to the first selectabel date + $control->set_attributes(array('value' => date($control->attributes['format'], $limits[0] > 0 ? $limits[0] : time()))); + + // continue only if the control doesn't have the "regexp" or the "captcha" rule set + } elseif (!isset($control->rules['regexp']) && !isset($control->rules['captcha'])) { + + unset($value); + + // default character set to choose from + $characters = 'abcdefghijklmnopqrstuvwxyz'; + + // for controls having the "alphabet", "email" or "emails" rule set + if (isset($control->rules['alphabet']) || isset($control->rules['email']) || isset($control->rules['emails'])) + + // use these characters in the random string + $characters = 'abcdefghijklmnopqrstuvwxyz'; + + // for controls having the "alphanumeric" rule set + if (isset($control->rules['alphanumeric'])) + + // use these characters in the random string + $characters = 'abcdefghijklmnopqrstuvwxyz0123456789'; + + // for controls having the "digits" or "number" rule set + if (isset($control->rules['digits']) || isset($control->rules['number'])) + + // use these characters for the random value + $characters = '0123456789'; + + // for controls having the "float" rule set + if (isset($control->rules['float'])) + + // generate a random value + $value = number_format(mt_rand(0, 99999) / 100, 2); + + // if a value was not yet generated + if (!isset($value)) { + + $value = ''; + + // get a random length for our value + $length = rand( + + // if a length is specified and it has a lower limit, use that as rand()'s lower limit, or "10" otherwise + (isset($control->rules['length']) && $control->rules['length'][0] != 0 ? $control->rules['length'][0] : 10), + + // if a length is specified and it has an upper limit, use that as rand()'s upper limit, or "10" otherwise + // (for textareas not having an upper limit for length "100" will be used as rand()'s upper limit) + (isset($control->rules['length']) && $control->rules['length'][1] != 0 ? $control->rules['length'][1] : ($attributes['type'] == 'textarea' ? 100 : 10)) + ); + + // get a random character until we get to the length defined above + // for textareas include a space every once in a while + for ($i = 0; $i < $length; $i++) $value .= ($attributes['type'] == 'textarea' && in_array(rand(0, 10), array(4, 6)) ? ' ' : $characters[rand(0, strlen($characters) - 1)]); + + // if control has the "email" or "emails" rule set + if (isset($control->rules['email']) || isset($control->rules['emails'])) { + + // append an "@" to the already generated value + $value .= '@'; + + // and then generate six more random characters + for ($i = 0; $i < 6; $i++) $value .= $characters[rand(0, strlen($characters) - 1)]; + + // finish up with a ".com" + $value .= '.com'; + + // if control has the "url" rule set add the "http://" prefix (if required) and the ".com" suffix + } elseif (isset($control->rules['url'])) $value = ($control->rules['url'][0] ? 'http://' : '') . $value . '.com'; + + } + + // finally, if we have a random value for the control, set it + if (isset($value)) $control->set_attributes(array('value' => trim($value))); + + } + + // if control is "time" + } elseif ($attributes['type'] == 'time' && $attributes['value'] === '') + + // select random values, from the exiting ones + $control->set_attributes(array('value' => $control->attributes['hours'][array_rand($control->attributes['hours'])] . ':' . $control->attributes['minutes'][array_rand($control->attributes['minutes'])] . ':' . $control->attributes['seconds'][array_rand($control->attributes['seconds'])])); + + } + + } + + } + + // return the state of the form + return $form_is_valid; + + } + + /** + * This method performs the server-side validation of a control, making sure that the value complies to the rules + * set for the control through the {@link Zebra_Form_Control::set_rule() set_rule()} method. + * + * @param string $control Unique name that identifies the control in the form. + * + * @return boolean Returns TRUE if every rule was obeyed, FALSE if not. + */ + function validate_control($control) + { + + // reference to the form submission method + global ${'_' . $this->form_properties['method']}; + + $method = & ${'_' . $this->form_properties['method']}; + + // at this point, we assume that the control is not valid + $valid = false; + + // continue only if form was submitted + if ( + + isset($method[$this->form_properties['identifier']]) && + + $method[$this->form_properties['identifier']] == $this->form_properties['name'] + + ) { + + // at this point, we assume that the control is valid + $valid = true; + + // reference to control + $control = & $this->controls[$control]; + + // treat "email" and "number" types as "text" + if (in_array($control->attributes['type'], array('email', 'number'))) $control->attributes['type'] = 'text'; + + // manage submitted value + $control->get_submitted_value(); + + // get some attributes of the control + $attribute = $control->get_attributes(array('name', 'id', 'type', 'value', 'multiple', 'format', 'disable_spam_filter', 'other')); + + // if control doesn't have the SPAM filter disabled + if (!isset($attribute['disable_spam_filter']) || $attribute['disable_spam_filter'] !== true) { + + // check to see if there is SPAM/INJECTION attempt by checking if the values in select boxes, radio buttons + // and checkboxes are in the list of allowable values, as set when initializing the controls + + // check controls by type + switch ($attribute['type']) { + + // if control is a select box + case 'select': + + // if control was submitted + // (as there can also be no selections for a select box with the "multiple" attribute set, case in + // which there's no submission) + // (also, the isset() check is for when we "lock" controls) + if (isset($control->submitted_value) && $control->submitted_value) { + + // flatten array (in case we have select groups) + $values = $this->_extract_values($control->attributes['options']); + + // if the "other" attribute is set, then "other" is a valid option + if (isset($attribute['other'])) $values[] = 'other'; + + // we need to treat all values as strings + // or the in_array below will fail in strict mode + array_walk($values, create_function('&$value', '$value = (string)$value;')); + + // if an array was submitted and there are values that are not in the list allowable values + if (is_array($control->submitted_value) && $control->submitted_value != array_intersect($control->submitted_value, $values)) + + // set a flag accordingly + $valid = false; + + // if submitted value is not an array and submitted value is not in the list of allowable values + // we use strict mode or any string, when compared to 0, will be valid... + if (!is_array($control->submitted_value) && !in_array($control->submitted_value, $values, true)) + + // set a flag accordingly + $valid = false; + + } + + break; + + // if control is a checkbox control or a radio button + case 'checkbox': + case 'radio': + + // if control was submitted + if ($control->submitted_value) { + + $values = array(); + + // iterate through all the form's controls + foreach ($this->controls as $element) + + // if control is of the same type and has the same name + if ($element->attributes['type'] == $attribute['type'] && $element->attributes['name'] == $attribute['name']) + + // add the control's value to the list of valid values + $values[] = $element->attributes['value']; + + // if an array was submitted and there are values that are not in the list allowable values + if (is_array($control->submitted_value) && $control->submitted_value != array_intersect($control->submitted_value, $values)) + + // set a flag accordingly + $valid = false; + + // if submitted value is not an array and submitted value is not in the list of allowable values + if (!is_array($control->submitted_value) && !in_array($control->submitted_value, $values)) + + // set a flag accordingly + $valid = false; + + } + + break; + + } + + // if spam attempt was detected + if (!$valid) { + + // set the error message + $this->add_error('zf_error_spam', $this->form_properties['language']['spam_detected']); + + // don't look further + return false; + + } + + } + + // if + if ( + + // control was submitted and has rules assigned + isset($control->submitted_value) && !empty($control->rules) + + ) { + + // we need to make sure that rules are in propper order, the order of priority being "dependencies", + // "required" and "upload" + + // if the upload rule exists + if (isset($control->rules['upload'])) { + + // remove it from wherever it is + $rule = array_splice($control->rules, array_search('upload', array_keys($control->rules)), 1, array()); + + // and make sure it's the first rule + $control->rules = array_merge($rule, $control->rules); + + } + + // if the "required" rule exists + if (isset($control->rules['required'])) { + + // remove it from wherever it is + $rule = array_splice($control->rules, array_search('required', array_keys($control->rules)), 1, array()); + + // and make sure it's the first rule (it has to be checked prior to the "upload" rule) + $control->rules = array_merge($rule, $control->rules); + + } + + // if the "dependencies" rule exists + if (isset($control->rules['dependencies'])) { + + // remove it from wherever it is + $rule = array_splice($control->rules, array_search('dependencies', array_keys($control->rules)), 1, array()); + + // and make sure it's the first rule (it has to be checked prior to the "required" and "upload" rules) + $control->rules = array_merge($rule, $control->rules); + + } + + // iterate through rules assigned to the control + foreach ($control->rules as $rule_name => $rule_attributes) { + + // make sure the rule name is in lowercase + $rule_name = strtolower($rule_name); + + // check the rule's name + switch ($rule_name) { + + // if rule is "age" + case 'age': + + if ( + + // control is 'text' + $attribute['type'] == 'text' && + + // a value was entered + $attribute['value'] != '' && + + // control was validated + isset($control->attributes['date']) && + + // control contains a valid date + date('Y-m-d', strtotime($control->attributes['date'])) == $control->attributes['date'] + + ) { + + // the allowed age interval + $min_age = $rule_attributes[0][0]; + $max_age = $rule_attributes[0][1]; + + // compute age + $datetime1 = new DateTime(); + $datetime2 = new DateTime($control->attributes['date']); + $interval = $datetime1->diff($datetime2); + $age = $interval->format('%y'); + + // if age is invalid + if (!(($min_age == 0 || $age >= $min_age) && ($max_age == 0 || $age <= $max_age))) { + + // add error message to indicated error block + $this->add_error($rule_attributes[1], $rule_attributes[2]); + + // the control does not validate + $valid = false; + + // no further checking needs to be done for the control, making sure that only one + // error message is displayed at a time for each erroneous control + break 2; + + } + + } + + break; + + // if rule is 'alphabet' + case 'alphabet': + + if ( + + ( + // control is 'password' + $attribute['type'] == 'password' || + + // control is 'text' + $attribute['type'] == 'text' || + + // control is 'textarea' + $attribute['type'] == 'textarea' + + ) && + + // a value was entered + $attribute['value'] != '' && + + // control does not contain only letters from the alphabet (and other allowed characters, if any) + // we're also fixing a bug where in PHP prior to 5.3, preg_quote was not escaping dashes (-) + !preg_match('/^[a-z' . preg_replace('/\//', '\/', preg_replace('/(?<!\\\)\-/', '\-', preg_quote($rule_attributes[0]))) . ']+$/i', $attribute['value']) + + ) { + + // add error message to indicated error block + $this->add_error($rule_attributes[1], $rule_attributes[2]); + + // the control does not validate + $valid = false; + + // no further checking needs to be done for the control, making sure that only one + // error message is displayed at a time for each erroneous control + break 2; + + } + + break; + + // if rule is 'alphanumeric' + case 'alphanumeric': + + if ( + + ( + // control is 'password' + $attribute['type'] == 'password' || + + // control is 'text' + $attribute['type'] == 'text' || + + // control is 'textarea' + $attribute['type'] == 'textarea' + + ) && + + // a value was entered + $attribute['value'] != '' && + + // control does not contain only allowed characters + // we're also fixing a bug where in PHP prior to 5.3, preg_quote was not escaping dashes (-) + !preg_match('/^[a-z0-9' . preg_replace('/\//', '\/', preg_replace('/(?<!\\\)\-/', '\-', preg_quote($rule_attributes[0]))) . ']+$/i', $attribute['value']) + + ) { + + // add error message to indicated error block + $this->add_error($rule_attributes[1], $rule_attributes[2]); + + // the control does not validate + $valid = false; + + // no further checking needs to be done for the control, making sure that only one + // error message is displayed at a time for each erroneous control + break 2; + + } + + break; + + // if 'captcha' + case 'captcha': + + if ( + + // control is 'text' + $attribute['type'] == 'text' && + + // control's value is not the one showed in the picture + md5(md5(md5(strtolower($control->submitted_value)))) != ($this->form_properties['captcha_storage'] == 'session' ? @$_SESSION['captcha'] : @$_COOKIE['captcha']) + + ) { + + // add error message to indicated error block + $this->add_error($rule_attributes[0], $rule_attributes[1]); + + // the control does not validate + $valid = false; + + // no further checking needs to be done for the control, making sure that only one + // error message is displayed at a time for each erroneous control + break 2; + + } + + break; + + // if 'compare' + case 'compare': + + if ( + + ( + // control is 'password' + $attribute['type'] == 'password' || + + // control is 'text' + $attribute['type'] == 'text' || + + // control is 'textarea' + $attribute['type'] == 'textarea' + + ) && ( + + // the control to compare to was not submitted + !isset($method[$rule_attributes[0]]) || + + // OR + ( + + // the control to compare to was submitted + isset($method[$rule_attributes[0]]) && + + // and the values don't match + $control->submitted_value != $method[$rule_attributes[0]] + + ) + + ) + + ) { + + // add error message to indicated error block + $this->add_error($rule_attributes[1], $rule_attributes[2]); + + // the control does not validate + $valid = false; + + // no further checking needs to be done for the control, making sure that only one + // error message is displayed at a time for each erroneous control + break 2; + + } + + break; + + // if 'dependencies' + case 'dependencies': + + // if not all conditions are met, don't validate the control + if (!$this->_validate_dependencies($attribute['id'])) return true; + + break; + + // if 'convert' + case 'convert': + + if ( + + // control is 'file' + $attribute['type'] == 'file' && + + // and a file was uploaded + isset($_FILES[$attribute['name']]) && + + // and file was uploaded without any errors + $_FILES[$attribute['name']]['error'] == 0 + + ) { + + // as conversions are done only when the form is valid + // for now we only save some data that will be processed if the form is valid + // (we're adding keys so that we don't have duplicate actions if validate_control method is called repeatedly) + $this->actions[$attribute['name'] . '_convert'] = array( + + '_convert', // method to be called + $attribute['name'], // the file upload control's name + 'extension' => $rule_attributes[0], // extension to convert to + 'quality' => $rule_attributes[1], // quality (available only for JPEG files) + 'preserve_original_file' => $rule_attributes[2], // preserve original file? + 'overwrite' => $rule_attributes[3], // overwrite if file with new extension exists + 'block' => $rule_attributes[4], // error block + 'message' => $rule_attributes[5], // error message + + ); + + } + + break; + + // if 'custom' rule + case 'custom': + + // custom rules are stored as an array + // iterate through the custom rules + foreach ($rule_attributes as $custom_rule_attributes) { + + // if custom function exists + if (is_callable($custom_rule_attributes[0])) { + + // the arguments that we are passing to the custom function are the control's + // submitted value and all other arguments passed when setting the custom rule + // except the first one which is the custom function's and the last two which are + // the error block name and the error message respectively + $arguments = array_merge(array($control->submitted_value), array_slice($custom_rule_attributes, 1, -2)); + + // run the custom function + // and if the function returns false + if (!call_user_func_array($custom_rule_attributes[0], $arguments)) { + + // count the arguments passed when declaring the rules + $attributes_count = count($custom_rule_attributes); + + // add error message to indicated error block + $this->add_error($custom_rule_attributes[$attributes_count - 2], $custom_rule_attributes[$attributes_count - 1]); + + // the control does not validate + $valid = false; + + // no further checking needs to be done for the control, making sure that only one + // error message is displayed at a time for each erroneous control + break 3; + + } + + // if custom function doesn't exist, trigger an error message + } else _zebra_form_show_error('Function <strong>' . $custom_rule_attributes[0] . '()</strong> doesn\'t exist.', E_USER_ERROR); + + } + + break; + + // if date + case 'date': + + if ( + + // control is 'text' + $attribute['type'] == 'text' && + + // is a 'date' control + isset($attribute['format']) && + + // a value was entered + $attribute['value'] != '' + + ) { + + // if + if ( + + // initialize the datepicker's data for further calculations + $control->_init() && + + // date has an invalid format + !($timestamp = $control->_is_format_valid($attribute['value'])) || + + // or date is disabled + $control->_is_disabled(date('Y', $timestamp), date('n', $timestamp), date('d', $timestamp)) + + ) { + + // add error message to indicated error block + $this->add_error($rule_attributes[0], $rule_attributes[1]); + + // the control does not validate + $valid = false; + + // no further checking needs to be done for the control, making sure that only one + // error message is displayed at a time for each erroneous control + break 2; + + } + + } + + break; + + // if "datecompare" + case 'datecompare': + + if ( + + // control is 'text' + $attribute['type'] == 'text' && + + // is a 'date' control + isset($attribute['format']) && + + // a value was entered + $attribute['value'] != '' && + + // control to compare with, exists + isset($this->controls[$rule_attributes[0]]) && + + // control to compare with, is a 'text' control + $this->controls[$rule_attributes[0]]->attributes['type'] == 'text' && + + // control to compare with, is a 'date' control + ($this->controls[$rule_attributes[0]]->attributes['format']) && + + // control validates + $this->validate_control($this->controls[$rule_attributes[0]]->attributes['id']) + + ) { + + // we assume the control is invalid + $valid = false; + + // compare the controls according to the comparison operator + switch ($rule_attributes[1]) { + case '>': + $valid = ($control->attributes['date'] > $this->controls[$rule_attributes[0]]->attributes['date']); + break; + case '>=': + $valid = ($control->attributes['date'] >= $this->controls[$rule_attributes[0]]->attributes['date']); + break; + case '<': + $valid = ($control->attributes['date'] < $this->controls[$rule_attributes[0]]->attributes['date']); + break; + case '<=': + $valid = ($control->attributes['date'] <= $this->controls[$rule_attributes[0]]->attributes['date']); + break; + } + + // if invalid + if (!$valid) { + + // add error message to indicated error block + $this->add_error($rule_attributes[2], $rule_attributes[3]); + + // the control does not validate + $valid = false; + + // no further checking needs to be done for the control, making sure that only one + // error message is displayed at a time for each erroneous control + break 2; + + } + + } + + break; + + // if rule is 'digits' + case 'digits': + + if ( + + ( + // control is 'password' + $attribute['type'] == 'password' || + + // control is 'text' + $attribute['type'] == 'text' || + + // control is 'textarea' + $attribute['type'] == 'textarea' + + ) && + + // a value was entered + $attribute['value'] != '' && + + // but entered value does not contain digits only (and other allowed characters, if any) + // we're also fixing a bug where in PHP prior to 5.3, preg_quote was not escaping dashes (-) + !preg_match('/^[0-9' . preg_replace('/\//', '\/', preg_replace('/(?<!\\\)\-/', '\-', preg_quote($rule_attributes[0]))) . ']+$/', $attribute['value']) + + ) { + + // add error message to indicated error block + $this->add_error($rule_attributes[1], $rule_attributes[2]); + + // the control does not validate + $valid = false; + + // no further checking needs to be done for the control, making sure that only one + // error message is displayed at a time for each erroneous control + break 2; + + } + + break; + + // if "email" + case 'email': + + if ( + + ( + // control is 'password' + $attribute['type'] == 'password' || + + // control is 'text' + $attribute['type'] == 'text' || + + // control is 'textarea' + $attribute['type'] == 'textarea' + + ) && + + // a value was entered + $attribute['value'] != '' && ( + + // email address contains consecutive dots + preg_match('/\.{2,}/', $attribute['value']) || + + // email address is longer than the maximum allowed length + strlen($attribute['value']) > 254 || + + // email address has an invalid format + !preg_match('/^[^\.][a-z0-9_\-\+\~\^\{\}\.]{1,64}@[a-z0-9_\-\+\~\^\{\}\.]{1,255}\.[a-z0-9]{2,}$/i', $attribute['value']) + + ) + + ) { + + // add error message to indicated error block + $this->add_error($rule_attributes[0], $rule_attributes[1]); + + // the control does not validate + $valid = false; + + // no further checking needs to be done for the control, making sure that only one + // error message is displayed at a time for each erroneous control + break 2; + + } + + break; + + // if "list of emails" + case 'emails': + + if ( + + ( + // control is 'password' + $attribute['type'] == 'password' || + + // control is 'text' + $attribute['type'] == 'text' || + + // control is 'textarea' + $attribute['type'] == 'textarea' + + ) && + + // a value was entered + $attribute['value'] != '' + + ) { + + // convert string to an array of addresses + $addresses = explode(',', $attribute['value']); + + // iterate through the addresses + foreach ($addresses as $address) + + // not a valid email address + if (!preg_match('/^([a-zA-Z0-9_\-\+\~\^\{\}]+[\.]?)+@{1}([a-zA-Z0-9_\-\+\~\^\{\}]+[\.]?)+\.[A-Za-z0-9]{2,}$/', trim($address))) { + + // add error message to indicated error block + $this->add_error($rule_attributes[0], $rule_attributes[1]); + + // the control does not validate + $valid = false; + + // no further checking needs to be done for the control, making sure that only one + // error message is displayed at a time for each erroneous control + break 3; + + } + + } + + break; + + // if "filesize" + case 'filesize': + + if ( + + // control is 'file' + $attribute['type'] == 'file' && + + // and a file was uploaded + isset($_FILES[$attribute['name']]) && + + ( + + // uploaded file size exceeds the size imposed when creating the form + $_FILES[$attribute['name']]['size'] > $rule_attributes[0] || + + // the uploaded file exceeds the upload_max_filesize directive in php.ini + $_FILES[$attribute['name']]['error'] == 1 || + + // the uploaded file exceeds the MAX_FILE_SIZE directive that was specified + // in the HTML form + $_FILES[$attribute['name']]['error'] == 2 + + ) + + ) { + + // add error message to indicated error block + $this->add_error($rule_attributes[1], $rule_attributes[2]); + + // the control does not validate + $valid = false; + + // no further checking needs to be done for the control, making sure that only one + // error message is displayed at a time for each erroneous control + break 2; + + } + + break; + + // if "filetype" + case 'filetype': + + if ( + + // control is 'file' + $attribute['type'] == 'file' && + + // and a file was uploaded + isset($_FILES[$attribute['name']]) && + + // and file was uploaded without errors + $_FILES[$attribute['name']]['error'] == 0 + + ) { + + // if "finfo_open" function exists (from PHP 5.3.0) + if (function_exists('finfo_open')) { + + // determine the "true" mime type of the uploaded file + $finfo = finfo_open(FILEINFO_MIME_TYPE); + $mime = finfo_file($finfo, $_FILES[$attribute['name']]['tmp_name']); + finfo_close($finfo); + + // otherwise, rely on the information returned by $_FILES which uses the file's + // extension to determine the uploaded file's mime type and is therefore unreliable + } else $mime = $_FILES[$attribute['name']]['type']; + + // get the allowed file types + $allowed_file_types = array_map(create_function('$value', 'return trim($value);'), explode(',', $rule_attributes[0])); + + // this will contain an array of file types that match for the currently uploaded file's + // mime type + $matching_file_types = array(); + + // load mime file types + $this->_load_mime_types(); + + // iterate through the known mime types + foreach ($this->form_properties['mimes'] as $extension => $type) + + // if + if ( + + // there are more mime types associated with the file extension and + // the uploaded file's type is among them + is_array($type) && in_array($mime, $type) || + + // a single mime type is associated with the file extension and + // the uploaded file's type matches the mime type + !is_array($type) && $type == $mime + + // add file type to the list of file types that match for the currently uploaded + // file's mime type + ) $matching_file_types[] = $extension; + + // is the file allowed? + $matches = array_intersect($matching_file_types, $allowed_file_types); + + // if file is not allowed + if (empty($matches)) { + + // add error message to indicated error block + $this->add_error($rule_attributes[1], $rule_attributes[2]); + + // the control does not validate + $valid = false; + + // no further checking needs to be done for the control, making sure that only one + // error message is displayed at a time for each erroneous control + break 2; + + } + + } + + break; + + // if rule is 'float' + case 'float': + + if ( + + ( + // control is 'password' + $attribute['type'] == 'password' || + + // control is 'text' + $attribute['type'] == 'text' || + + // control is 'textarea' + $attribute['type'] == 'textarea' + + ) && + + // a value was entered + $attribute['value'] != '' && + + ( + + // only a dot given + trim($attribute['value']) == '.' || + + // only minus given + trim($attribute['value']) == '-' || + + // has too many minus sign + preg_match_all('/\-/', $attribute['value'], $matches) > 1 || + + // has too many dots in it + preg_match_all('/\./', $attribute['value'], $matches) > 1 || + + // not a floating point number + // we're also fixing a bug where in PHP prior to 5.3, preg_quote was not escaping dashes (-) + !preg_match('/^[0-9\-\.' . preg_replace('/\//', '\/', preg_replace('/(?<!\\\)\-/', '\-', preg_quote($rule_attributes[0]))) . ']+$/', $attribute['value']) || + + // has a minus sign in it but is not at the very beginning + (strpos($attribute['value'], '-') !== false && strpos($attribute['value'], '-') > 0) + + ) + + ) { + + // add error message to indicated error block + $this->add_error($rule_attributes[1], $rule_attributes[2]); + + // the control does not validate + $valid = false; + + // no further checking needs to be done for the control, making sure that only one + // error message is displayed at a time for each erroneous control + break 2; + + } + + break; + + // if "image" + case 'image': + + if ( + + // control is 'file' + $attribute['type'] == 'file' && + + // and a file was uploaded + isset($_FILES[$attribute['name']]) && + + // and file was uploaded without errors + $_FILES[$attribute['name']]['error'] == 0 + + ) { + + // get some information about the file + list($width, $height, $type, $attr) = @getimagesize($_FILES[$attribute['name']]['tmp_name']); + + // if file is not an image or image is not gif, png or jpeg + if ($type === false || $type < 1 || $type > 3) { + + // add error message to indicated error block + $this->add_error($rule_attributes[0], $rule_attributes[1]); + + // the control does not validate + $valid = false; + + // no further checking needs to be done for the control, making sure that only one + // error message is displayed at a time for each erroneous control + break 2; + + } + + } + + break; + + // if "length" + case 'length': + + // the rule will be considered as not obeyed when + if ( + + ( + // control is 'password' + $attribute['type'] == 'password' || + + // control is 'text' + $attribute['type'] == 'text' || + + // control is 'textarea' + $attribute['type'] == 'textarea' + + ) && + + // a value was entered + $attribute['value'] != '' && + + ( + // the length of the value exceeds boundaries + strlen(utf8_decode(html_entity_decode($attribute['value']))) < $rule_attributes[0] || + + // we use the utf8_decode because some characters have 2 bytes and some 3 bytes + // read more at http://globalizer.wordpress.com/2007/01/16/utf-8-and-string-length-limitations/ + ($rule_attributes[1] > 0 && strlen(utf8_decode(html_entity_decode($attribute['value']))) > $rule_attributes[1]) + + ) + + ) { + + // add error message to indicated error block + $this->add_error($rule_attributes[2], $rule_attributes[3]); + + // the control does not validate + $valid = false; + + // no further checking needs to be done for the control, making sure that only one + // error message is displayed at a time for each erroneous control + break 2; + + } + + break; + + // if rule is 'number' + case 'number': + + if ( + + ( + // control is 'password' + $attribute['type'] == 'password' || + + // control is 'text' + $attribute['type'] == 'text' || + + // control is 'textarea' + $attribute['type'] == 'textarea' + + ) && + + // a value was entered + $attribute['value'] != '' && + + ( + + // only minus given + trim($attribute['value']) == '-' || + + // has too many minus sign + preg_match_all('/\-/', $attribute['value'], $matches) > 1 || + + // not a number + // we're also fixing a bug where in PHP prior to 5.3, preg_quote was not escaping dashes (-) + !preg_match('/^[0-9\-' . preg_replace('/\//', '\/', preg_replace('/(?<!\\\)\-/', '\-', preg_quote($rule_attributes[0]))) . ']+$/', $attribute['value']) || + + // has a minus sign in it but is not at the very beginning + (strpos($attribute['value'], '-') !== false && strpos($attribute['value'], '-') > 0) + + ) + + ) { + + // add error message to indicated error block + $this->add_error($rule_attributes[1], $rule_attributes[2]); + + // the control does not validate + $valid = false; + + // no further checking needs to be done for the control, making sure that only one + // error message is displayed at a time for each erroneous control + break 2; + + } + + break; + + // if rule is "range" + case 'range': + + if ( + + // control is 'text' + $attribute['type'] == 'text' && + + // a value was entered + $attribute['value'] != '' + + ) { + + // get the allowed min and max + $min = $rule_attributes[0][0]; + $max = $rule_attributes[0][1]; + + // make sure the value is a number + $value = (float)$attribute['value']; + + + // if + if ( + + // parsed value is different than what the user entered + $value != $attribute['value'] || + + // or the value is not within range + !(($min == 0 || $value >= $min) && ($max == 0 || $value <= $max)) + + ) { + + // add error message to indicated error block + $this->add_error($rule_attributes[1], $rule_attributes[2]); + + // the control does not validate + $valid = false; + + // no further checking needs to be done for the control, making sure that only one + // error message is displayed at a time for each erroneous control + break 2; + + } + + } + + break; + + // if "regexp" + case 'regexp': + + if ( + + ( + // control is 'password' + $attribute['type'] == 'password' || + + // control is 'text' + $attribute['type'] == 'text' || + + // control is 'textarea' + $attribute['type'] == 'textarea' + + ) && + + // a value was entered + $attribute['value'] != '' && + + // value does not match regular expression + !preg_match('/' . $rule_attributes[0] . '/', $attribute['value']) + + ) { + + // add error message to indicated error block + $this->add_error($rule_attributes[1], $rule_attributes[2]); + + // the control does not validate + $valid = false; + + // no further checking needs to be done for the control, making sure that only one + // error message is displayed at a time for each erroneous control + break 2; + + } + + break; + + // if "required" + case 'required': + + // if it's a drop-down that is part of a time control + if ($attribute['type'] == 'time') { + + // if invalid format specified, revert to the default "hm" + if (preg_match('/^[hmsg]+$/i', $attribute['format']) == 0 || strlen(preg_replace('/([a-z]{2,})/i', '$1', $attribute['format'])) != strlen($attribute['format'])) $attribute['format'] = 'hm'; + + $regexp = ''; + + // build the regular expression for validating the time + for ($i = 0; $i < strlen($attribute['format']); $i++) { + + // for each characher in the format we use a particular regular expression + switch (strtolower(substr($attribute['format'], $i, 1))) { + + case 'h': + + // if 12 hour format is used use this expression... + if (strpos(strtolower($attribute['format']), 'g')) $regexp .= '0[1-9]|1[012]'; + + // ...and different expression for the 24 hour format + else $regexp .= '([0-1][0-9]|2[0-3])'; + + break; + + case 'm': + case 's': + + // regular expression for validating minutes and seconds + $regexp .= '[0-5][0-9]'; + + break; + + case 'g': + + // validate am/pm + $regexp .= '(am|pm)'; + + break; + + } + + } + + // if time does not validate + if (preg_match('/' . $regexp . '/i', str_replace(array(':', ' '), '', $attribute['value'])) == 0) { + + // add error message to indicated error block + $this->add_error($rule_attributes[0], $rule_attributes[1]); + + // the control does not validate + $valid = false; + + // no further checking needs to be done for the control, making sure that only one + // error message is displayed at a time for each erroneous control + break 2; + + } + + // for other controls + } else { + + // if control is 'select' + if ($attribute['type'] == 'select') { + + // as of PHP 5.3, array_shift required the argument to be a variable and not the result + // of a function so we need this intermediary step + $notSelectedIndex = array_keys($control->attributes['options']); + + // get the index which when selected indicated that 'nothing is selected' + $notSelectedIndex = array_shift($notSelectedIndex); + + } + + // the rule will be considered as not obeyed when + if ( + + // control is 'password' or 'text' or 'textarea' and the 'value' attribute is empty + (($attribute['type'] == 'password' || $attribute['type'] == 'text' || $attribute['type'] == 'textarea') && trim($attribute['value']) == '') || + + // control is 'file' and no file specified + ($attribute['type'] == 'file' && isset($_FILES[$attribute['name']]) && trim($_FILES[$attribute['name']]['name']) == '') || + + // control is 'checkbox' or 'radio' and the control was not submitted + (($attribute['type'] == 'checkbox' || $attribute['type'] == 'radio') && $control->submitted_value === false) || + + // control is 'select', the 'multiple' attribute is set and control was not submitted + ($attribute['type'] == 'select' && isset($attribute['multiple']) && $control->submitted_value === false) || + + // control is 'select', the 'multiple' attribute is not set and the select control's first value is selected + ($attribute['type'] == 'select' && !isset($attribute['multiple']) && (is_array($control->submitted_value) || strcmp($control->submitted_value, $notSelectedIndex) == 0)) || + + // control is 'select', the 'multiple' attribute is not set, the select control's value is "other" and the "other" control is empty + ($attribute['type'] == 'select' && !isset($attribute['multiple']) && $control->submitted_value == 'other' && trim($method[$attribute['name'] . $this->form_properties['other_suffix']]) == '') + + ) { + + // add error message to indicated error block + $this->add_error($rule_attributes[0], $rule_attributes[1]); + + // the control does not validate + $valid = false; + + // no further checking needs to be done for the control, making sure that only one + // error message is displayed at a time for each erroneous control + break 2; + + } + + } + + break; + + // if 'resize' + case 'resize': + + if ( + + // control is 'file' + $attribute['type'] == 'file' && + + // and a file was uploaded + isset($_FILES[$attribute['name']]) && + + // and file was uploaded without any errors + $_FILES[$attribute['name']]['error'] == 0 + + ) { + + // as of PHP 5.3, array_shift required the argument to be a variable and not the result + // of a function so we need this intermediary step + $tmp = array_values($rule_attributes); + + // if not multiple resize calls + // make it look like multiple resize call + if (!is_array(array_shift($tmp))) + + $rule_attributes = array($rule_attributes); + + // iterate through the resize calls + foreach ($rule_attributes as $index => $rule_attribute) + + // as resizes are done only when the form is valid and after the file has been + // uploaded, for now we only save some data that will be processed if the form is valid + // (we're adding keys so that we don't have duplicate actions if validate_control method is called repeatedly) + $this->actions[$attribute['name'] . '_resize_' . $index] = array( + + '_resize', // method that needs to be called + $attribute['name'], // the file upload control's name + $rule_attribute[0], // prefix for the resized file + $rule_attribute[1], // width + $rule_attribute[2], // height + $rule_attribute[3], // preserve aspect ratio? + $rule_attribute[4], // method, + $rule_attribute[5], // background color + $rule_attribute[6], // enlarge smaller images? + $rule_attribute[7], // jpeg quality + 'block' => $rule_attribute[8], // error block + 'message' => $rule_attribute[9], // error message + + ); + + } + + break; + + // if 'upload' + case 'upload': + + if ( + + // control is 'file' + $attribute['type'] == 'file' && + + // and a file was uploaded + isset($_FILES[$attribute['name']]) && + + // and file was uploaded without any errors + $_FILES[$attribute['name']]['error'] == 0 + + ) + + // as uploads are done only when the form is valid + // for now we only save some data that will be processed if the form is valid + // (we're adding keys so that we don't have duplicate actions if validate_control method is called repeatedly) + $this->actions[$attribute['name'] . '_upload'] = array( + + '_upload', // method to be called + $attribute['name'], // the file upload control's name + $rule_attributes[0], // the folder where the file to be uploaded to + $rule_attributes[1], // should the original file name be preserved + 'block' => $rule_attributes[2], // error block + 'message' => $rule_attributes[3], // error message + + ); + + break; + + // if "url" + case 'url': + + if ( + + ( + // control is 'password' + $attribute['type'] == 'password' || + + // control is 'text' + $attribute['type'] == 'text' || + + // control is 'textarea' + $attribute['type'] == 'textarea' + + ) && + + // a value was entered + $attribute['value'] != '' && + + // value does not match regular expression + !preg_match('/^(https?\:\/\/)' . ($rule_attributes[0] === true ? '' : '?') . '[^\s\.]+\..{2,}/i', $attribute['value']) + + ) { + + // add error message to indicated error block + $this->add_error($rule_attributes[1], $rule_attributes[2]); + + // the control does not validate + $valid = false; + + // no further checking needs to be done for the control, making sure that only one + // error message is displayed at a time for each erroneous control + break 2; + + } + + break; + + } + + } + + } + + } + + return $valid; + + } + + /** + * Generates a CSRF token, unique to the current form. + * + * Note that this will generate a new CSRF token only when the form is generated and not also when the form is + * submitted - unless the <b>$force</b> argument is set to TRUE. + * + * @param boolean $force (Optional) Instructs the method to forcefully generate a new CSRF token. + * + * This parameter will be TRUE when the method is called after an unsuccessful + * CSRF token validation or after a successful form validation. + * + * By default, this method will generate a new CSRF token *only* if the form + * is not being currently submitted (form information is not available in the $_POST + * superglobal). + * + * Default is FALSE. + * + * @return void + * + * @access private + */ + private function _csrf_generate_token($force = false) + { + + // if CSRF protection is enabled (is not boolean FALSE) and CSRF token was not already generated + if ($this->form_properties['csrf_storage_method'] !== false) { + + // reference to the form submission method + global ${'_' . $this->form_properties['method']}; + + $method = & ${'_' . $this->form_properties['method']}; + + // if + if ( + + // form was submitted and we don't need to forcefully generate a new token + isset($method[$this->form_properties['identifier']]) && $force === false && + // CSRF token is stored in a session variable + $this->form_properties['csrf_storage_method'] == 'session' && + // the session variable exists + isset($_SESSION[$this->form_properties['csrf_cookie_name']]) && + // the session variable holds an array + is_array($_SESSION[$this->form_properties['csrf_cookie_name']]) && + // the array has 2 entries + count($_SESSION[$this->form_properties['csrf_cookie_name']]) == 2 + + // use the already existing CSRF token + ) $this->form_properties['csrf_token'] = $_SESSION[$this->form_properties['csrf_cookie_name']][0]; + + // else if + elseif ( + + // form was submitted and we don't need to forcefully generate a new token + isset($method[$this->form_properties['identifier']]) && $force === false && + // CSRF token is stored in a cookie + $this->form_properties['csrf_storage_method'] == 'cookie' && + // the cookie exists + isset($_COOKIE[$this->form_properties['csrf_cookie_name']]) + + // use the already existing CSRF token + ) $this->form_properties['csrf_token'] = $_COOKIE[$this->form_properties['csrf_cookie_name']]; + + // else, if form was not submitted, or we force new token generation + elseif (!isset($method[$this->form_properties['identifier']])|| $force === true) { + + // generate a random token + $this->form_properties['csrf_token'] = md5(uniqid(rand(), true)); + + // compute token expiry timestamp + $csrf_token_expiry = $this->form_properties['csrf_token_lifetime'] == 0 ? 0 : time() + $this->form_properties['csrf_token_lifetime']; + + // if storage method is "session" + if ($this->form_properties['csrf_storage_method'] == 'session') { + + // if no session is started, trigger an error message + if (!isset($_SESSION)) _zebra_form_show_error('You have chosen to enable protection against cross-site request forgery (CSRF) attacks and to use sessions for storing the CSRF token, but a session is not started! Start a session prior to calling the "csrf()" method', E_USER_ERROR); + + // if sessions are on, store the CSRF token and the expiration data in session + $_SESSION[$this->form_properties['csrf_cookie_name']] = array($this->form_properties['csrf_token'], $csrf_token_expiry); + + // if storage method is "cookie" + } else { + + // if PHP version is 5.2.0+ + if (version_compare(PHP_VERSION, '5.2.0', '>=')) + + // store the CSRF token in a cookie and use also the httponly argument + if (!setcookie( + $this->form_properties['csrf_cookie_name'], + $this->form_properties['csrf_token'], + $csrf_token_expiry, + $this->form_properties['csrf_cookie_config']['path'], + $this->form_properties['csrf_cookie_config']['domain'], + $this->form_properties['csrf_cookie_config']['secure'], + $this->form_properties['csrf_cookie_config']['httponly'] + )) trigger_error('The library tried to store the CSRF token in a cookie but was unable to do so because there was output already sent to the browser. You should either start a session prior to instantiating the library (recommended), have no output (including <html> and <head> tags, as well as any whitespace) sent to the browser prior to instantiating the library, or turn output buffering on in php.ini.', E_USER_ERROR); + + // if PHP version is lower than 5.2.0 + else + + // store the CSRF token in a cookie without also using the httponly argument + if (!setcookie( + $this->form_properties['csrf_cookie_name'], + $this->form_properties['csrf_token'], + $csrf_token_expiry, + $this->form_properties['csrf_cookie_config']['path'], + $this->form_properties['csrf_cookie_config']['domain'], + $this->form_properties['csrf_cookie_config']['secure'] + )) trigger_error('The library tried to store the CSRF token in a cookie but was unable to do so because there was output already sent to the browser. You should either start a session prior to instantiating the library (recommended), have no output (including <html> and <head> tags, as well as any whitespace) sent to the browser prior to instantiating the library, or turn output buffering on in php.ini.', E_USER_ERROR); + + } + + } + + } + + } + + /** + * Validates CSRF token. + * + * @return boolean Returns TRUE if protection against CSRF attacks is disabled or it is enabled and the CSRF + * token validates, or FALSE otherwise. + * + * @access private + */ + private function _csrf_validate() + { + + // if CSRF protection is enabled (is not boolean FALSE) + if ($this->form_properties['csrf_storage_method'] !== false) { + + // reference to the form submission method + global ${'_' . $this->form_properties['method']}; + + $method = & ${'_' . $this->form_properties['method']}; + + // if + if ( + + // the hidden field with the CSRF token was submitted + isset($method[$this->form_properties['csrf_token_name']]) && ( + + // CSRF token is stored in a session variable + ($this->form_properties['csrf_storage_method'] == 'session' && + // the session variable exists + isset($_SESSION[$this->form_properties['csrf_cookie_name']]) && + // the session variable holds an array + is_array($_SESSION[$this->form_properties['csrf_cookie_name']]) && + // the array has 2 entries + count($_SESSION[$this->form_properties['csrf_cookie_name']]) == 2 && + // the value of the hidden field and the value in the session match + $method[$this->form_properties['csrf_token_name']] == $_SESSION[$this->form_properties['csrf_cookie_name']][0] && + // if CSRF token doesn't expire or it does but it didn't yet + ($_SESSION[$this->form_properties['csrf_cookie_name']][1] == 0 || $_SESSION[$this->form_properties['csrf_cookie_name']][1] > time())) + + || + + // CSRF token is stored in a cookie + ($this->form_properties['csrf_storage_method'] == 'cookie' && + // the cookie exists + isset($_COOKIE[$this->form_properties['csrf_cookie_name']]) && + // the value of the hidden field and the value in the cookie match + $method[$this->form_properties['csrf_token_name']] == $_COOKIE[$this->form_properties['csrf_cookie_name']]) + + ) + + // everything seems in order, then + ) return true; + + // if we get here something was fishy... + return false; + + } + + // if protection against CSRF attacks is not enabled, pretend nothing happened + return true; + + } + + /** + * Converts an image from one type to another. + * + * Note that this method will update the entries in the {@link $file_upload} property as the converted file will + * become the "uploaded" file! + * + * @param string $control The file upload control's name + * + * @param string $type Type to convert an image to. + * + * Can be (case-insensitive) JPG, PNG or GIF + * + * @param integer $jpeg_quality (Optional) Indicates the quality of the output image (better quality + * means bigger file size). + * + * Range is 0 - 100 + * + * Available only if <b>type</b> is "jpg". + * + * Default is 85. + * + * @param integer $preserve_original_file (Optional) Should the original file be preserved after the conversion + * is done? + * + * Default is FALSE. + * + * @param boolean $overwrite (Optional) If a file with the same name as the converted file already + * exists, should it be overwritten or should the name be automatically + * computed. + * + * If a file with the same name as the converted file already exists and + * this argument is FALSE, a suffix of "_n" (where n is an integer) will + * be appended to the file name. + * + * Default is FALSE + * + * @return boolean Returns TRUE on success or FALSE otherwise + * + * @access private + */ + private function _convert($control, $type, $jpeg_quality = 85, $preserve_original_file = false, $overwrite = false) + { + + // make sure the new extension is in lowercase + $type = strtolower($type); + + // if + if ( + + // file was uploaded + isset($this->file_upload[$control]) && + + // and file is indeed an image file + isset($this->file_upload[$control]['imageinfo']) && + + // we're trying to convert to a supported file type + ($type == 'gif' || $type == 'png' || $type == 'jpg') + + ) { + + // get file's current name + $current_file_name = substr($this->file_upload[$control]['file_name'], 0, strrpos($this->file_upload[$control]['file_name'], '.')); + + // get file's current extension + $current_file_extension = strtolower(substr($this->file_upload[$control]['file_name'], strrpos($this->file_upload[$control]['file_name'], '.') + 1)); + + // if extension is a variation of "jpeg", revert to default "jpg" + if ($current_file_extension == 'jpeg') $current_file_extension = 'jpg'; + + // if new extension is different than the file's current extension + if ($type != $current_file_extension) { + + // if no overwrite and a file with the same name as the converted file already exists + if (!$overwrite && is_file($this->file_upload[$control]['path'] . $current_file_name . '.' . $type)) { + + $suffix = ''; + + // knowing the suffix... + // loop as long as + while ( + + // a file with the same name exists in the upload folder + // (file_exists returns also TRUE if a folder with that name exists) + is_file($this->file_upload[$control]['path'] . $current_file_name . $suffix . '.' . $type) + + ) + + // if no suffix was yet set + if ($suffix === '') + + // start the suffix like this + $suffix = '_1'; + + // if suffix was already initialized + else { + + // drop the "_" from the suffix + $suffix = str_replace('_', '', $suffix); + + // increment the suffix + $suffix = '_' . ++$suffix; + + } + + // the final file name + $current_file_name = $current_file_name . $suffix; + + } + + // if the image transformation class was not already instantiated + if (!isset($this->Zebra_Image)) + + // create a new instance of the image transformation class + $this->Zebra_Image = new Zebra_Image(); + + // set the source file + $this->Zebra_Image->source_path = $this->file_upload[$control]['path'] . $this->file_upload[$control]['file_name']; + + // set the target file + $this->Zebra_Image->target_path = $this->file_upload[$control]['path'] . $current_file_name . '.' . $type; + + // set the quality of the output image (better quality means bigger file size) + // available only for jpeg files; ignored for other image types + $this->Zebra_Image->jpeg_quality = $jpeg_quality; + + // if there was an error when resizing the image, return false + if (!$this->Zebra_Image->resize(0, 0)) return false; + + // update entries in the file_upload property + + // get the size of the new file + $this->file_upload[$control]['size'] = filesize($this->Zebra_Image->target_path); + + // update the file name (the file was converted and has a new extension) + $this->file_upload[$control]['file_name'] = $current_file_name . '.' . $type; + + // get some info about the new file + $imageinfo = @getimagesize($this->Zebra_Image->target_path); + + // rename some of the attributes returned by getimagesize + $imageinfo['width'] = $imageinfo[0]; unset($imageinfo[0]); + + $imageinfo['height'] = $imageinfo[1]; unset($imageinfo[1]); + + $imageinfo['type'] = $imageinfo[2]; unset($imageinfo[2]); + + $imageinfo['html'] = $imageinfo[3]; unset($imageinfo[3]); + + // append image info to the file_upload property + $this->file_upload[$control]['imageinfo'] = $imageinfo; + + // update the mime type as returned by getimagesize + $this->file_upload[$control]['type'] = $imageinfo['mime']; + + // if original file is not to be preserved, delete original file + if (!$preserve_original_file && (!$overwrite || $type != $current_file_extension)) @unlink($this->Zebra_Image->source_path); + + } + + } + + // if the script gets this far, it means that everything went as planned and we return true + return true; + + } + + /** + * Helper method for validating select boxes. It extract all the values from an infinitely nested array and puts + * them in an uni-dimensional array so that we can check if the submitted value is allowed. + * + * @param array $array The array to transform. + * + * @return array Returns the flat array. + * + * @access private + */ + private function _extract_values($array) + { + + $result = array(); + + // iterate through the array's values + foreach ($array as $index => $value) + + // if entry is an array, flatten array recursively + if (is_array($value)) $result = array_merge($result, $this->_extract_values($value)); + + // otherwise, add the index to the result array + else $result[] = $index; + + // return found values + return $result; + + } + + /** + * Load MIME types from mimes.json + * + * @return void + * + * @access private + */ + private function _load_mime_types() + { + + // if file with mime types was not already loaded + if (!isset($this->form_properties['mimes'])) { + + // read file into an array + $rows = file($this->form_properties['assets_server_path'] . 'mimes.json'); + + // convert JSON to array + // i'm aware that in PHP 5.2+ there is json_decode, but i want this library to be + // as backward compatible as possible so, since the values in mimes.json has a + // specific structure, i wrote my own decoder + $this->form_properties['mimes'] = array(); + + // iterate through all the rows + foreach ($rows as $row) { + + // if valid row found + if (strpos($row, ':') !== false) { + + // explode the string by : + $items = explode(':', $row); + + // the file type (extension) + $index = trim(str_replace('"', '', $items[0])); + + // if there are more mime types attached + if (strpos($items[1], '[') !== false) + + // convert to array + $value = array_diff(array_map(create_function('&$value', 'return trim($value);'), explode(',', str_replace(array('[', ']', '"', '\/'), array('', '', '', '/'), $items[1]))), array('')); + + // if a single mime type is attached + else + + // convert to string + $value = trim(str_replace(array('"', ',', '\/'), array('', '', '/'), $items[1])); + + // save entry + $this->form_properties['mimes'][$index] = $value; + + } + + } + + } + + } + + /** + * Resize an uploaded image + * + * This method will do nothing if the file is not a supported image file. + * + * @param string $control The file upload control's name + * + * @param string $prefix If the resized image is to be saved as a new file and the originally + * uploaded file needs to be preserved, specify a prefix to be used for the + * new file. This way, the resized image will have the same name as the + * original file but prefixed with the given value (i.e. "thumb_"). + * + * Specifying an empty string as argument will instruct the script to apply + * the resizing to the uploaded image and therefore overwriting the + * originally uploaded file. + * + * @param integer $width The width to resize the image to. + * + * If set to <b>0</b>, the width will be automatically adjusted, depending + * on the value of the <b>height</b> argument so that the image preserves + * its aspect ratio. + * + * If <b>preserve_aspect_ratio</b> is set to TRUE and both this and the + * <b>height</b> arguments are values greater than <b>0</b>, the image will + * be resized to the exact required width and height and the aspect ratio + * will be preserved (see the description for the <b>method</b> argument + * below on how can this be done). + * + * If <b>preserve_aspect_ratio</b> is set to FALSE, the image will be + * resized to the required width and the aspect ratio will be ignored. + * + * If both <b>width</b> and <b>height</b> are set to <b>0</b>, a copy of + * the source image will be created (<b>jpeg_quality</b> will still apply). + * + * If either <b>width</b> or <b>height</b> are set to <b>0</b>, the script + * will consider the value of the {@link preserve_aspect_ratio} to bet set + * to TRUE regardless of its actual value! + * + * @param integer $height The height to resize the image to. + * + * If set to <b>0</b>, the height will be automatically adjusted, depending + * on the value of the <b>width</b> argument so that the image preserves + * its aspect ratio. + * + * If <b>preserve_aspect_ratio</b> is set to TRUE and both this and the + * <b>width</b> arguments are values greater than <b>0</b>, the image will + * be resized to the exact required width and height and the aspect ratio + * will be preserved (see the description for the <b>method</b> argument + * below on how can this be done). + * + * If <b>preserve_aspect_ratio</b> is set to FALSE, the image will be + * resized to the required height and the aspect ratio will be ignored. + * + * If both <b>height</b> and <b>width</b> are set to <b>0</b>, a copy of + * the source image will be created (<b>jpeg_quality</b> will still apply). + * + * If either <b>height</b> or <b>width</b> are set to <b>0</b>, the script + * will consider the value of the {@link preserve_aspect_ratio} to bet set + * to TRUE regardless of its actual value! + * + * @param boolean $preserve_aspect_ratio (Optional) If set to TRUE, the image will be resized to the given width + * and height and the aspect ratio will be preserved. + * + * Set this to FALSE if you want the image forcefully resized to the exact + * dimensions given by width and height ignoring the aspect ratio + * + * Default is TRUE. + * + * @param int $method (Optional) Method to use when resizing images to exact width and height + * while preserving aspect ratio. + * + * If the $preserve_aspect_ratio property is set to TRUE and both the + * <b>width</b> and <b>height</b> arguments are values greater than <b>0</b>, + * the image will be resized to the exact given width and height and the + * aspect ratio will be preserved by using on of the following methods: + * + * - <b>ZEBRA_IMAGE_BOXED</b> - the image will be scalled so that it will + * fit in a box with the given width and height (both width/height will + * be smaller or equal to the required width/height) and then it will + * be centered both horizontally and vertically. The blank area will be + * filled with the color specified by the <b>$background_color</b> + * argument. (the blank area will be filled only if the image is not + * transparent!) + * + * - <b>ZEBRA_IMAGE_NOT_BOXED</b> - the image will be scalled so that it + * <i>could</i> fit in a box with the given width and height but will + * not be enclosed in a box with given width and height. The new width/ + * height will be both smaller or equal to the required width/height + * + * - <b>ZEBRA_IMAGE_CROP_TOPLEFT</b> + * - <b>ZEBRA_IMAGE_CROP_TOPCENTER</b> + * - <b>ZEBRA_IMAGE_CROP_TOPRIGHT</b> + * - <b>ZEBRA_IMAGE_CROP_MIDDLELEFT</b> + * - <b>ZEBRA_IMAGE_CROP_CENTER</b> + * - <b>ZEBRA_IMAGE_CROP_MIDDLERIGHT</b> + * - <b>ZEBRA_IMAGE_CROP_BOTTOMLEFT</b> + * - <b>ZEBRA_IMAGE_CROP_BOTTOMCENTER</b> + * - <b>ZEBRA_IMAGE_CROP_BOTTOMRIGHT</b> + * + * For the methods involving crop, first the image is scaled so that both + * its sides are equal or greater than the respective sizes of the bounding + * box; next, a region of required width and height will be cropped from + * indicated region of the resulted image. + * + * Default is ZEBRA_IMAGE_BOXED + * + * @param boolean $background_color (Optional) The hexadecimal color of the blank area (without the #). + * See the <b>method</b> argument. + * + * Default is 'FFFFFF' + * + * @param boolean $enlarge_smaller_images (Optional) If set to FALSE, images having both width and height smaller + * than the required width and height, will be left untouched ({@link jpeg_quality} + * will still apply). + * + * Default is TRUE + * + * @param boolean $quality (Optional) Indicates the quality of the output image (better quality + * means bigger file size). + * + * Range is 0 - 100 + * + * Available only for JPEG files. + * + * Default is 85 + * + * @return boolean Returns TRUE on success or FALSE otherwise + * + * @access private + */ + private function _resize($control, $prefix, $width, $height, $preserve_aspect_ratio = true, $method = ZEBRA_IMAGE_BOXED, $background_color = 'FFFFFF', $enlarge_smaller_images = true, $jpeg_quality = 85) + { + + // if + if ( + + // file was uploaded + isset($this->file_upload[$control]) && + + // and file is indeed an image file + isset($this->file_upload[$control]['imageinfo']) + + ) { + + // if the image transformation class was not already instantiated + if (!isset($this->Zebra_Image)) + + // create a new instance of the image transformation class + $this->Zebra_Image = new Zebra_Image(); + + // set the file permissions as per Zebra_Form's settings + $this->Zebra_Image->chmod_value = $this->file_upload_permissions; + + // set the source file + $this->Zebra_Image->source_path = $this->file_upload[$control]['path'] . $this->file_upload[$control]['file_name']; + + // set the target file + $this->Zebra_Image->target_path = $this->file_upload[$control]['path'] . trim($prefix) . $this->file_upload[$control]['file_name']; + + // set whether aspect ratio should be maintained or not + $this->Zebra_Image->maintain_ratio = $preserve_aspect_ratio; + + // set the quality of the output image (better quality means bigger file size) + // available only for jpeg files; ignored for other image types + $this->Zebra_Image->jpeg_quality = $jpeg_quality; + + // should smaller images be enlarged? + $this->Zebra_Image->enlarge_smaller_images = $enlarge_smaller_images; + + // if there was an error when resizing the image, return false + if (!$this->Zebra_Image->resize($width, $height, $method, $background_color)) return false; + + } + + // if the script gets this far, it means that everything went as planned and we return true + return true; + + } + + /** + * Checks if all the conditions set by the "dependencies" rule are met or not. + * + * @param string $id The ID of the element to check. + * + * @param array $referer (Private) Used by the library to prevent entering an infinite loop of dependencies. + * + * @return boolean Returns TRUE if all the conditions are met or FALSE otherwise. + * + * @access private + */ + private function _validate_dependencies($id, $referer = array()) + { + + // reference to the form submission method + global ${'_' . $this->form_properties['method']}; + + $method = & ${'_' . $this->form_properties['method']}; + + // if the rule is applied to a radio button group or a checkbox group + // there will be no entry with the given id as all group's elements will have their ID in the form of [name]_[value] + if (!isset($this->controls[$id])) + + // ...therefore, we have to iterate over all the form's controls + foreach ($this->controls as $control) + + // and if we find the control we're looking for + if (preg_replace('/\[\]$/', '', $control->attributes['name']) == $id) { + + // get the ID of the control + $id = $control->attributes['id']; + + // don't look any further + break; + + } + + // if there are more than 2 entries in the referer array, remove the first one + if (count($referer) > 2) array_shift($referer); + + // if current element is the referer array + if (in_array($id, $referer)) + + // we're having a recursion and we're stopping execution + _zebra_form_show_error('Infinite recursion detected. The loop of dependencies is created by the following elements: "' . implode('", "', $referer) . '"', E_USER_ERROR); + + // add current element to the stack + array_push($referer, $id); + + $result = true; + + // if the control exists + if (isset($this->controls[$id])) { + + // if we're checking if a proxy depends on another proxy, but it doesn't, return TRUE now + if (!isset($this->controls[$id]->rules['dependencies'])) return true; + + // get all the conditions needed to validate the element + $conditions = $this->controls[$id]->rules['dependencies']; + + // if the name of a callback function is also given + // the actual conditions are in the first entry of the array + if (isset($conditions[1])) $conditions = $conditions[0]; + + // iterate through the elements the validation of the current element depends on (proxies) + foreach ($conditions as $proxy => $required_values) { + + // if we have a cached result of the result + if (isset($this->proxies_cache[$proxy][serialize($required_values)])) + + // get the result from cache + $result = $this->proxies_cache[$proxy][serialize($required_values)]; + + // if we don't have a cached result of the result + else { + + $is_radio_or_checkbox = false; + + // $this->controls[$proxy] will never be set for radio or checkbox controls (as $proxy is the ID, not the name) + if (!isset($this->controls[$proxy])) + + // iterate through all the controls + foreach ($this->controls as $control_properties) + + // if we found a control radio/checkbox element with the sought name + if ($control_properties->attributes['name'] == $proxy && ($control_properties->attributes['type'] == 'radio' || $control_properties->attributes['name'] == 'checkbox')) { + + // set this flag + $is_radio_or_checkbox = true; + + // don't look further + break; + + } + + $found = false; + + // a proxy may also depend on the values of or or more other proxies + // therefore, continue only if those conditions are met + if ( + (isset($this->controls[$proxy]) || $is_radio_or_checkbox) && + ((!$is_radio_or_checkbox && $this->controls[$proxy]->attributes['type'] == 'image' && isset($method[$proxy . '_x']) && isset($method[$proxy . '_y'])) || isset($method[$proxy])) && + $this->_validate_dependencies($proxy, $referer) + ) { + + // if proxy is a submit or an image submit button + if (!$is_radio_or_checkbox && in_array($this->controls[$proxy]->attributes['type'], array('image', 'submit'))) $current_values = array('click'); + + // otherwise, get the proxy's current value/values + // (we'll treat the values as an array even if there's only a single value) + else $current_values = !is_array($method[$proxy]) ? array($method[$proxy]) : $method[$proxy]; + + // if condition is not an array + if (!is_array($required_values)) { + + // iterate through the proxy's values + // (remember, we store it as an array even if there's a single value) + foreach ($current_values as $current_value) + + // if the value of the condition is amongst the proxy's values, flag it + if ($current_value == $required_values) $found = true; + + // if condition is given as an array + } else { + + // iterate through all the conditions + foreach ($required_values as $required_value) { + + $matches = 0; + + // iterate through the values of the proxy element + // (remember, we store it as an array even if there's a single value) + foreach ($current_values as $current_value) { + + // if current entry in the conditions list is not an array + // and its value is equal to the current value + if (!is_array($required_value) && $current_value == $required_value) $found = true; + + // if current entry in the conditions list is an array + // and the current value is part of that array + else if (is_array($required_value) && in_array($current_value, $required_value)) $matches++; + + } + + // if all conditions are met + if (!$found && $matches == count($required_values)) $result = true; + + } + + } + + // if not all conditions are met, don't check any further + if (!$found) { $result = false; break; } + + // if proxy is not submitted, or proxy's dependendecies are not ok, don't check the other conditions + } else $result = false; + + } + + // cache the result + if (!isset($this->proxies_cache[$proxy][serialize($required_values)])) + + $this->proxies_cache[$proxy][serialize($required_values)] = $result; + + } + + } + + // if script gets this far, consider all the conditions are met, and validate the other rules + return $result; + + } + + /** + * Uploads a file + * + * @param string $control The file upload control's name + * + * @param string $upload_path The path where the file to be uploaded to + * + * The path is relative to the script containing the form, unless the path + * starts with "/" when it is relative to the + * {@link http://php.net/manual/en/reserved.variables.server.php DOCUMENT_ROOT}. + * + * - <b>uploads</b> would upload the files in the "upload" folder, at the + * path with the script + * - <b>../uploads</b> would upload the files in the "upload" folder, one + * level up relative to the script's path + * - <b>/uploads</b> would upload the files in the "upload" folder, in the + * DOCUMENT_ROOT + * + * @param boolean $filename (Optional) Specifies whether the uploaded file's original name should be + * preserved, should it be prefixed with a string, or should it be randomly + * generated. + * + * Possible values can be + * + * - TRUE - the uploaded file's original name will be preserved; + * - FALSE (or, for better code readability, you should use the "ZEBRA_FORM_UPLOAD_RANDOM_NAMES" + * constant instead of "FALSE")- the uploaded file will have a randomly generated name; + * - a string - the uploaded file's original name will be preserved but + * it will be prefixed with the given string (i.e. "original_", or "tmp_") + * + * Note that when set to TRUE or a string, a suffix of "_n" (where n is an + * integer) will be appended to the file name if a file with the same name + * already exists at the given path. + * + * Default is TRUE + * + * @return boolean Returns TRUE on success or FALSE otherwise + * + * @access private + */ + private function _upload($control, $upload_path, $filename = true) + { + + // trim trailing slash from folder + $path = rtrim($upload_path, '\\/'); + + // if upload folder does not have a trailing slash, add the trailing slash + $path = $path . (substr($path, -1) != DIRECTORY_SEPARATOR ? DIRECTORY_SEPARATOR : ''); + + // if + if ( + + // the file upload control with the given name exists + isset($_FILES[$control]) && + + // file is ready to be uploaded + $_FILES[$control]['error'] == 0 && + + // the upload folder exists + is_dir($path) + + ) { + + // if file names should be random + if ($filename === ZEBRA_FORM_UPLOAD_RANDOM_NAMES) + + // generate a random name for the file we're about to upload + $file_name = md5(mt_rand() . microtime() . $_FILES[$control]['name']) . (strrpos($_FILES[$control]['name'], '.') !== false ? substr($_FILES[$control]['name'], strrpos($_FILES[$control]['name'], '.')) : ''); + + // if file names are to be preserved + else { + + // if the file we are about to upload does have an extension + if (strrpos($_FILES[$control]['name'], '.') !== false) { + + // split the file name into "file name"... + $file_name = substr($_FILES[$control]['name'], 0, strrpos($_FILES[$control]['name'], '.')); + + // ...and "file extension" + $file_extension = substr($_FILES[$control]['name'], strrpos($_FILES[$control]['name'], '.')); + + // if the file we are about to upload does not have an extension + } else { + + // the file name will be the actual file name... + $file_name = $_FILES[$control]['name']; + + // ...while the extension will be an empty string + $file_extension = ''; + + } + + // prefix the file name if required + $file_name = ($filename !== true ? $filename : '') . $file_name; + + $suffix = ''; + + // knowing the suffix... + // loop as long as + while ( + + // a file with the same name exists in the upload folder + // (file_exists returns also TRUE if a folder with that name exists) + is_file($path . $file_name . $suffix . $file_extension) + + ) { + + // if no suffix was yet set + if ($suffix === '') + + // start the suffix like this + $suffix = '_1'; + + // if suffix was already initialized + else { + + // drop the "_" from the suffix + $suffix = str_replace('_', '', $suffix); + + // increment the suffix + $suffix = '_' . ++$suffix; + + } + + } + + // the final file name + $file_name = $file_name . $suffix . $file_extension; + + } + + // if file could be uploaded + if (@move_uploaded_file($_FILES[$control]['tmp_name'], $path . $file_name)) { + + // get a list of functions disabled via configuration + $disabled_functions = @ini_get('disable_functions'); + + // if the 'chmod' function is not disabled via configuration + if ($disabled_functions != '' && strpos('chmod', $disabled_functions) === false) + + // chmod the file + chmod($path . $file_name, intval($this->file_upload_permissions, 8)); + + // set a special property + // the value of the property will be an array will information about the uploaded file + $this->file_upload[$control] = $_FILES[$control]; + + $this->file_upload[$control]['path'] = rtrim($upload_path, '/') . '/'; + + $this->file_upload[$control]['file_name'] = $file_name; + + // if uploaded file is an image + if ($imageinfo = @getimagesize($path . $this->file_upload[$control]['file_name'])) { + + // rename some of the attributes returned by getimagesize + $imageinfo['width'] = $imageinfo[0]; unset($imageinfo[0]); + + $imageinfo['height'] = $imageinfo[1]; unset($imageinfo[1]); + + $imageinfo['type'] = $imageinfo[2]; unset($imageinfo[2]); + + $imageinfo['html'] = $imageinfo[3]; unset($imageinfo[3]); + + // append image info to the file_upload property + $this->file_upload[$control]['imageinfo'] = $imageinfo; + + } + + // return true, as everything went as planned + return true; + + } + + } + + // if script gets this far, return false as something must've gone wrong + return false; + + } + +} + +/** + * A custom function for showing error messages in the Zebra_Form's environment. + * + * We need this so we show correct file/line number information when reporting errors as PHP's trigger_error() shows the + * file and the line number where the function is called and it is not what we need here (we always trigger the errors + * from one of the Zebra_Form's file but the errors come from user files). + * + * I didn't use a custom error handler so I don't interfere with the one you might be using. + * + * @param string $message The message to be shown to the user. + * + * @param mixed $type Severity of the error message. + * + * Can be E_USER_ERROR, E_USER_NOTICE or E_USER_WARNING. + * + * When set to E_USER_ERROR the execution of the script will be halted after the error + * message is displayed. + * + * @return void + * + * @access private + */ +function _zebra_form_show_error($message, $type) +{ + + // if error reporting is on + if (($type & error_reporting()) == $type) { + + // get backtrace information + $backtraceInfo = debug_backtrace(); + + // this is where the error actually occurred + // (produces a "Strict Standards" warning unless muted) + $errorInfo = @array_pop(array_slice($backtraceInfo, 2, 1)); + + // show error message + echo '<br><strong>' . ($type == E_USER_WARNING ? 'Warning' : ($type == E_USER_NOTICE ? 'Notice' : 'Fatal error')) . '</strong>:<br><br>' . $message . (isset($errorInfo['file']) ? '<br><br>in <strong>' . basename($errorInfo['file']) . '</strong> on line <strong>' . $errorInfo['line'] . '</strong>' : '') . '<br>'; + + // die if necessary + if ($type == E_USER_ERROR) die(); + + } + +} + +?> diff --git a/vendor/stefangabos/zebra_form/changelog.txt b/vendor/stefangabos/zebra_form/changelog.txt new file mode 100644 index 00000000..cbb74ac9 --- /dev/null +++ b/vendor/stefangabos/zebra_form/changelog.txt @@ -0,0 +1 @@ +See http://stefangabos.ro/php-libraries/zebra-form/#changelog \ No newline at end of file diff --git a/vendor/stefangabos/zebra_form/composer.json b/vendor/stefangabos/zebra_form/composer.json new file mode 100644 index 00000000..77dadaf4 --- /dev/null +++ b/vendor/stefangabos/zebra_form/composer.json @@ -0,0 +1,25 @@ +{ + "name": "stefangabos/zebra_form", + "type": "library", + "description": "A jQuery augmented PHP library for creating and validating HTML forms", + "keywords": ["form","validation", "csrf", "xss", "honeypot", "validate", "jquery validation", "client side validation", "server side validation"], + "homepage": "http://stefangabos.ro/php-libraries/zebra-form/", + "license": "LGPL-3.0", + "authors": [ + { + "name": "Stefan Gabos", + "email": "contact@stefangabos.ro", + "homepage": "http://stefangabos.ro/", + "role": "Developer" + } + ], + "require": { + "php": ">=5.3.0" + }, + "version": "2.9.8", + "autoload": { + "classmap": [ + "Zebra_Form.php" + ] + } +} diff --git a/vendor/stefangabos/zebra_form/documentation.txt b/vendor/stefangabos/zebra_form/documentation.txt new file mode 100644 index 00000000..af4ff396 --- /dev/null +++ b/vendor/stefangabos/zebra_form/documentation.txt @@ -0,0 +1 @@ +See http://stefangabos.ro/php-libraries/zebra-form/#documentation \ No newline at end of file diff --git a/vendor/stefangabos/zebra_form/examples/includes/contact-custom.php b/vendor/stefangabos/zebra_form/examples/includes/contact-custom.php new file mode 100644 index 00000000..81982b3d --- /dev/null +++ b/vendor/stefangabos/zebra_form/examples/includes/contact-custom.php @@ -0,0 +1,76 @@ +<h2>A contact form</h2> + +<p>Note the uneditable prefixes (text and images) for some of the fields.</p> + +<p>Check the "Template source" tab to see how it's done!</p> + +<?php + + // include the Zebra_Form class + require '../Zebra_Form.php'; + + // instantiate a Zebra_Form object + $form = new Zebra_Form('form'); + + // the label for the "name" element + $form->add('label', 'label_name', 'name', 'Your name:'); + + // add the "name" element + $obj = $form->add('text', 'name', '', array('style' => 'width: 195px', 'data-prefix' => 'img:public/images/user.png')); + + // set rules + $obj->set_rule(array( + + // error messages will be sent to a variable called "error", usable in custom templates + 'required' => array('error', 'Name is required!') + + )); + + // "email" + $form->add('label', 'label_email', 'email', 'Your email address:'); + $obj = $form->add('text', 'email', '', array('style' => 'width: 195px', 'data-prefix' => 'img:public/images/letter.png')); + $obj->set_rule(array( + 'required' => array('error', 'Email is required!'), + 'email' => array('error', 'Email address seems to be invalid!'), + )); + $form->add('note', 'note_email', 'email', 'Your email address will not be published.'); + + // "website" + $form->add('label', 'label_website', 'website', 'Your website:'); + $obj = $form->add('text', 'website', '', array('style' => 'width: 400px', 'data-prefix' => 'http://')); + $obj->set_rule(array( + 'url' => array(true, 'error', 'Invalid URL specified!'), + )); + $form->add('note', 'note_website', 'website', 'Enter the URL of your website, if you have one.'); + + // "subject" + $form->add('label', 'label_subject', 'subject', 'Subject'); + $obj = $form->add('text', 'subject', '', array('style' => 'width: 400px', 'data-prefix' => 'img:public/images/comment.png')); + $obj->set_rule(array( + 'required' => array('error', 'Subject is required!') + )); + + // "message" + $form->add('label', 'label_message', 'message', 'Message:'); + $obj = $form->add('textarea', 'message'); + $obj->set_rule(array( + 'required' => array('error', 'Message is required!'), + 'length' => array(0, 140, 'error', 'Maximum length is 140 characters!', true), + )); + + // "submit" + $form->add('submit', 'btnsubmit', 'Submit'); + + // if the form is valid + if ($form->validate()) { + + // show results + show_results(); + + // otherwise + } else + + // generate output using a custom template + $form->render('includes/custom-templates/contact.php'); + +?> \ No newline at end of file diff --git a/vendor/stefangabos/zebra_form/examples/includes/contact-horizontal.php b/vendor/stefangabos/zebra_form/examples/includes/contact-horizontal.php new file mode 100644 index 00000000..ce06b161 --- /dev/null +++ b/vendor/stefangabos/zebra_form/examples/includes/contact-horizontal.php @@ -0,0 +1,74 @@ +<h2>A contact form</h2> + +<p>Note the uneditable prefixes (text and images) for some of the fields.</p> + +<?php + + // include the Zebra_Form class + require '../Zebra_Form.php'; + + // instantiate a Zebra_Form object + $form = new Zebra_Form('form'); + + // the label for the "name" element + $form->add('label', 'label_name', 'name', 'Your name:'); + + // add the "name" element + $obj = $form->add('text', 'name', '', array('data-prefix' => 'img:public/images/user.png')); + + // set rules + $obj->set_rule(array( + + // error messages will be sent to a variable called "error", usable in custom templates + 'required' => array('error', 'Name is required!') + + )); + + // "email" + $form->add('label', 'label_email', 'email', 'Your email address:'); + $obj = $form->add('text', 'email', '', array('data-prefix' => 'img:public/images/letter.png')); + $obj->set_rule(array( + 'required' => array('error', 'Email is required!'), + 'email' => array('error', 'Email address seems to be invalid!'), + )); + $form->add('note', 'note_email', 'email', 'Your email address will not be published.'); + + // "website" + $form->add('label', 'label_website', 'website', 'Your website:'); + $obj = $form->add('text', 'website', '', array('data-prefix' => 'http://')); + $obj->set_rule(array( + 'url' => array(true, 'error', 'Invalid URL specified!'), + )); + $form->add('note', 'note_website', 'website', 'Enter the URL of your website, if you have one.'); + + // "subject" + $form->add('label', 'label_subject', 'subject', 'Subject'); + $obj = $form->add('text', 'subject', '', array('data-prefix' => 'img:public/images/comment.png')); + $obj->set_rule(array( + 'required' => array('error', 'Subject is required!') + )); + + // "message" + $form->add('label', 'label_message', 'message', 'Message:'); + $obj = $form->add('textarea', 'message'); + $obj->set_rule(array( + 'required' => array('error', 'Message is required!'), + 'length' => array(0, 140, 'error', 'Maximum length is 140 characters!', true), + )); + + // "submit" + $form->add('submit', 'btn_submit', 'Submit'); + + // if the form is valid + if ($form->validate()) { + + // show results + show_results(); + + // otherwise + } else + + // generate output using a custom template + $form->render('*horizontal'); + +?> \ No newline at end of file diff --git a/vendor/stefangabos/zebra_form/examples/includes/contact-vertical.php b/vendor/stefangabos/zebra_form/examples/includes/contact-vertical.php new file mode 100644 index 00000000..f7fba04b --- /dev/null +++ b/vendor/stefangabos/zebra_form/examples/includes/contact-vertical.php @@ -0,0 +1,74 @@ +<h2>A contact form</h2> + +<p>Note the uneditable prefixes (text and images) for some of the fields.</p> + +<?php + + // include the Zebra_Form class + require '../Zebra_Form.php'; + + // instantiate a Zebra_Form object + $form = new Zebra_Form('form'); + + // the label for the "name" element + $form->add('label', 'label_name', 'name', 'Your name:'); + + // add the "name" element + $obj = $form->add('text', 'name', '', array('data-prefix' => 'img:public/images/user.png')); + + // set rules + $obj->set_rule(array( + + // error messages will be sent to a variable called "error", usable in custom templates + 'required' => array('error', 'Name is required!') + + )); + + // "email" + $form->add('label', 'label_email', 'email', 'Your email address:'); + $obj = $form->add('text', 'email', '', array('data-prefix' => 'img:public/images/letter.png')); + $obj->set_rule(array( + 'required' => array('error', 'Email is required!'), + 'email' => array('error', 'Email address seems to be invalid!'), + )); + $form->add('note', 'note_email', 'email', 'Your email address will not be published.'); + + // "website" + $form->add('label', 'label_website', 'website', 'Your website:'); + $obj = $form->add('text', 'website', '', array('data-prefix' => 'http://')); + $obj->set_rule(array( + 'url' => array(true, 'error', 'Invalid URL specified!'), + )); + $form->add('note', 'note_website', 'website', 'Enter the URL of your website, if you have one.'); + + // "subject" + $form->add('label', 'label_subject', 'subject', 'Subject'); + $obj = $form->add('text', 'subject', '', array('style' => 'width:400px', 'data-prefix' => 'img:public/images/comment.png')); + $obj->set_rule(array( + 'required' => array('error', 'Subject is required!') + )); + + // "message" + $form->add('label', 'label_message', 'message', 'Message:'); + $obj = $form->add('textarea', 'message'); + $obj->set_rule(array( + 'required' => array('error', 'Message is required!'), + 'length' => array(0, 140, 'error', 'Maximum length is 140 characters!', true) + )); + + // "submit" + $form->add('submit', 'btnsubmit', 'Submit'); + + // if the form is valid + if ($form->validate()) { + + // show results + show_results(); + + // otherwise + } else + + // generate output using a custom template + $form->render(); + +?> \ No newline at end of file diff --git a/vendor/stefangabos/zebra_form/examples/includes/container-html/container.html b/vendor/stefangabos/zebra_form/examples/includes/container-html/container.html new file mode 100644 index 00000000..30ff0a75 --- /dev/null +++ b/vendor/stefangabos/zebra_form/examples/includes/container-html/container.html @@ -0,0 +1,36 @@ +<!-- must be in strict mode! --> +<!doctype html> + +<html> + + <head> + + <meta charset="utf-8"> + + <title>Zebra_Form Example</title> + + <!-- load Zebra_Form's stylesheet file --> + <link rel="stylesheet" href="path/to/zebra_form.css"> + + </head> + + <body> + + <!-- + + the content from the "PHP Source" tab goes here + + --> + + <!-- we're loading the JavaScript files at the bottom of the page so we don't delay page rendering --> + + <!-- try to load jQuery from CDN server and fallback to local source if not available --> + <script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script> + <script>window.jQuery || document.write('<script src="path/to/jquery-1.9.1.min.js"><\/script>')</script> + + <!-- load Zebra_Form's JavaScript file --> + <script src="path/to/zebra_form.js"></script> + + </body> + +</html> \ No newline at end of file diff --git a/vendor/stefangabos/zebra_form/examples/includes/custom-templates/contact.php b/vendor/stefangabos/zebra_form/examples/includes/custom-templates/contact.php new file mode 100644 index 00000000..d06704c7 --- /dev/null +++ b/vendor/stefangabos/zebra_form/examples/includes/custom-templates/contact.php @@ -0,0 +1,27 @@ +<?php + // don't forget about this for custom templates, or errors will not show for server-side validation + // $zf_error is automatically created by the library and it holds messages about SPAM or CSRF errors + // $error is the name of the variable used with the set_rule method + echo (isset($zf_error) ? $zf_error : (isset($error) ? $error : '')); +?> + +<!-- elements are grouped in "rows" --> +<div class="row"> + + <!-- things that need to be side-by-side go in "cells" and will be floated to the left --> + <div class="cell"><?php echo $label_name . $name?></div> + <div class="cell"><?php echo $label_email . $email . $note_email?></div> + +</div> + +<!-- notice the "even" class which is used to highlight even rows differently +from the odd rows --> +<div class="row even"><?php echo $label_website . $website . $note_website?></div> + +<div class="row"><?php echo $label_subject . $subject?></div> + +<div class="row even"><?php echo $label_message . $message?></div> + +<!-- the submit button goes in the last row; also, notice the "last" class which +removes the bottom border which is otherwise present for any row --> +<div class="row last"><?php echo $btnsubmit?></div> \ No newline at end of file diff --git a/vendor/stefangabos/zebra_form/examples/includes/custom-templates/divs-login.php b/vendor/stefangabos/zebra_form/examples/includes/custom-templates/divs-login.php new file mode 100644 index 00000000..3666dfe1 --- /dev/null +++ b/vendor/stefangabos/zebra_form/examples/includes/custom-templates/divs-login.php @@ -0,0 +1,28 @@ +<?php + // don't forget about this for custom templates, or errors will not show for server-side validation + // $zf_error is automatically created by the library and it holds messages about SPAM or CSRF errors + // $error is the name of the variable used with the set_rule method + echo (isset($zf_error) ? $zf_error : (isset($error) ? $error : '')); +?> + +<!-- elements are grouped in "rows" --> +<div class="row"> + + <!-- things that need to be side-by-side go in "cells" and will be floated to the left --> + <div class="cell"><?php echo $label_email . $email?></div> + <div class="cell"><?php echo $label_password . $password?></div> + + <div class="clear" style="margin-bottom:10px"></div> + + <!-- on the same row, but beneath the email and the password fields, + we place the "remember me" checkbox and attached label --> + <div class="cell"><?php echo $remember_me_yes?></div> + <div class="cell"><?php echo $label_remember_me_yes?></div> + +</div> + +<!-- the submit button goes in the last row; notice the "even" class which +is used to highlight even rows differently from the odd rows; also, notice +the "last" class which removes the bottom border which is otherwise present +for any row --> +<div class="row even last"><?php echo $btnsubmit?></div> diff --git a/vendor/stefangabos/zebra_form/examples/includes/custom-templates/example1-dependencies.php b/vendor/stefangabos/zebra_form/examples/includes/custom-templates/example1-dependencies.php new file mode 100644 index 00000000..15b5000e --- /dev/null +++ b/vendor/stefangabos/zebra_form/examples/includes/custom-templates/example1-dependencies.php @@ -0,0 +1,73 @@ +<!-- + in reality you'd have this in an external stylesheet; + i am using it like this for the sake of the example +--> +<style type="text/css"> + .Zebra_Form .optional { padding: 10px 50px; display: none } +</style> + +<!-- + again, in reality you'd have this in an external JavaScript file; + i am using it like this for the sake of the example +--> +<script type="text/javascript"> + var mycallback = function(value, segment) { + $segment = $('.optional' + segment); + if (value) $segment.show(); + else $segment.hide(); + } +</script> + +<?php echo (isset($zf_error) ? $zf_error : (isset($error) ? $error : ''))?> + +<div class="row"> + <?php echo $label_name . $name?> +</div> + +<div class="row"> + + <?php echo $label_notifications?> + <div class="cell"><?php echo $notifications_yes?></div> + <div class="cell"><?php echo $label_notifications_yes?></div> + <div class="clear"></div> + + <div class="optional optional1"> + + <?php echo $label_method?> + <div class="cell"><?php echo $method_email?></div> + <div class="cell"><?php echo $label_method_email?></div> + <div class="clear"></div> + + <div class="optional optional2"> + <?php echo $label_email . $email . $note_email?> + </div> + + <div class="cell"><?php echo $method_phone?></div> + <div class="cell"><?php echo $label_method_phone?></div> + <div class="clear"></div> + + <div class="optional optional3"> + <?php echo $label_phone . $phone . $note_phone?> + </div> + + <div class="cell"><?php echo $method_post?></div> + <div class="cell"><?php echo $label_method_post?></div> + <div class="clear"></div> + + <div class="optional optional4"> + <?php echo $label_post . $post . $note_post?> + </div> + + </div> + + <div class="cell"><?php echo $notifications_no?></div> + <div class="cell"><?php echo $label_notifications_no?></div> + <div class="clear"></div> + + <div class="optional optional5"> + <?php echo $label_why . $why?> + </div> + +</div> + +<div class="row last"><?php echo $btnsubmit?></div> \ No newline at end of file diff --git a/vendor/stefangabos/zebra_form/examples/includes/custom-templates/example2-dependencies.php b/vendor/stefangabos/zebra_form/examples/includes/custom-templates/example2-dependencies.php new file mode 100644 index 00000000..700141b6 --- /dev/null +++ b/vendor/stefangabos/zebra_form/examples/includes/custom-templates/example2-dependencies.php @@ -0,0 +1,15 @@ +<?php echo (isset($zf_error) ? $zf_error : (isset($error) ? $error : ''))?> + +<div class="row"> + <div class="cell"><?php echo $label_name . $name?></div> + <div class="cell"><?php echo $label_surname . $surname?></div> +</div> + +<div class="row even"> + <h6><strong>Add new person</strong></h6><br> + <div class="cell"><?php echo $label_add_name . $add_name?></div> + <div class="cell"><?php echo $label_add_surname . $add_surname?></div> + <div class="cell"><br><?php echo $btnadd?></div> +</div> + +<div class="row last"><?php echo $btnsubmit?></div> \ No newline at end of file diff --git a/vendor/stefangabos/zebra_form/examples/includes/custom-templates/registration.php b/vendor/stefangabos/zebra_form/examples/includes/custom-templates/registration.php new file mode 100644 index 00000000..e22415f7 --- /dev/null +++ b/vendor/stefangabos/zebra_form/examples/includes/custom-templates/registration.php @@ -0,0 +1,32 @@ +<?php + // don't forget about this for custom templates, or errors will not show for server-side validation + // $zf_error is automatically created by the library and it holds messages about SPAM or CSRF errors + // $error is the name of the variable used with the set_rule method + echo (isset($zf_error) ? $zf_error : (isset($error) ? $error : '')); +?> + +<!-- elements are grouped in "rows" --> +<div class="row"> + + <!-- things that need to be side-by-side go in "cells" and will be floated to the left --> + <div class="cell"><?php echo $label_firstname . $firstname?></div> + <div class="cell"><?php echo $label_lastname . $lastname?></div> + +</div> + +<!-- notice the "even" class which is used to highlight even rows differently +from the odd rows --> +<div class="row even"><?php echo $label_email . $email . $note_email?></div> + +<div class="row"> + <div class="cell"><?php echo $label_password . $password . $note_password?></div> + <div class="cell"><?php echo $label_confirm_password . $confirm_password?></div> +</div> + +<div class="row even"> + <?php echo $captcha_image . $label_captcha_code . $captcha_code . $note_captcha?> +</div> + +<!-- the submit button goes in the last row; also, notice the "last" class which +removes the bottom border which is otherwise present for any row --> +<div class="row even last"><?php echo $btnsubmit?></div> \ No newline at end of file diff --git a/vendor/stefangabos/zebra_form/examples/includes/custom-templates/reservation.php b/vendor/stefangabos/zebra_form/examples/includes/custom-templates/reservation.php new file mode 100644 index 00000000..c1db056e --- /dev/null +++ b/vendor/stefangabos/zebra_form/examples/includes/custom-templates/reservation.php @@ -0,0 +1,72 @@ +<?php + // don't forget about this for custom templates, or errors will not show for server-side validation + // $zf_error is automatically created by the library and it holds messages about SPAM or CSRF errors + // $error is the name of the variable used with the set_rule method + echo (isset($zf_error) ? $zf_error : (isset($error) ? $error : '')); +?> + +<!-- elements are grouped in "rows" --> +<div class="row"> + + <!-- things that need to be side-by-side go in "cells" and will be floated to the left --> + <div class="cell"><?php echo $label_name . $name?></div> + <div class="cell"><?php echo $label_email . $email?></div> + +</div> + +<!-- notice the "even" class which is used to highlight even rows differently +from the odd rows --> +<div class="row even"> + <?php echo $label_department . $department . $department_other?> +</div> + +<div class="row"> + + <div class="cell"> + + <?php echo $label_room?> + + <!-- this is the preffered way of displaying checkboxes and + radio buttons and their associated label --> + <div class="cell"><?php echo $room_A?></div> + <div class="cell"><?php echo $label_room_A?></div> + <div class="clear"></div> + + <div class="cell"><?php echo $room_B?></div> + <div class="cell"><?php echo $label_room_B?></div> + <div class="clear"></div> + + <div class="cell"><?php echo $room_C?></div> + <div class="cell"><?php echo $label_room_C?></div> + <div class="clear"></div> + + </div> + + <div class="cell" style="margin-left: 20px"> + + <?php echo $label_extra?> + + <div class="cell"><?php echo $extra_flipchard?></div> + <div class="cell"><?php echo $label_extra_flipchard?></div> + <div class="clear"></div> + + <div class="cell"><?php echo $extra_plasma?></div> + <div class="cell"><?php echo $label_extra_plasma?></div> + <div class="clear"></div> + + <div class="cell"><?php echo $extra_beverages?></div> + <div class="cell"><?php echo $label_extra_beverages?></div> + <div class="clear"></div> + + </div> + +</div> + +<div class="row even"> + <div class="cell"><?php echo $label_date . $date?></div> + <div class="cell" style="margin-left: 10px"><?php echo $label_time . $time?></div> +</div> + +<!-- the submit button goes in the last row; also, notice the "last" class which +removes the bottom border which is otherwise present for any row --> +<div class="row last"><?php echo $btnsubmit?></div> \ No newline at end of file diff --git a/vendor/stefangabos/zebra_form/examples/includes/custom-templates/tables-login.php b/vendor/stefangabos/zebra_form/examples/includes/custom-templates/tables-login.php new file mode 100644 index 00000000..3a9a360c --- /dev/null +++ b/vendor/stefangabos/zebra_form/examples/includes/custom-templates/tables-login.php @@ -0,0 +1,45 @@ +<?php + // don't forget about this for custom templates, or errors will not show for server-side validation + // $zf_error is automatically created by the library and it holds messages about SPAM or CSRF errors + // $error is the name of the variable used with the set_rule method + echo (isset($zf_error) ? $zf_error : (isset($error) ? $error : '')); +?> + +<table cellspacing="0" cellpadding="0"> + + <!-- elements are grouped in "rows" --> + <tr class="row"> + <td><?php echo $label_email?></td> + <td><?php echo $email?></td> + </tr> + + <!-- notice the "even" class which is used to highlight even rows differently + from the odd rows --> + <tr class="row even"> + <td><?php echo $label_password?></td> + <td><?php echo $password?></td> + </tr> + + <tr class="row"> + <td></td> + <td> + + <!-- this is the preffered way of displaying checkboxes and + radio buttons and their associated label --> + <div class="cell"><?php echo $remember_me_yes?></div> + <div class="cell"><?php echo $label_remember_me_yes?></div> + + <!-- once we're done with "cells" we *must* place a "clear" div --> + <div class="clear"></div> + + </td> + </tr> + + <!-- the submit button goes in the last row; also, notice the "last" class which + removes the bottom border which is otherwise present for any row --> + <tr class="row even last"> + <td></td> + <td><?php echo $btnsubmit?></td> + </tr> + +</table> \ No newline at end of file diff --git a/vendor/stefangabos/zebra_form/examples/includes/dependencies-example1-custom.php b/vendor/stefangabos/zebra_form/examples/includes/dependencies-example1-custom.php new file mode 100644 index 00000000..b13a347a --- /dev/null +++ b/vendor/stefangabos/zebra_form/examples/includes/dependencies-example1-custom.php @@ -0,0 +1,106 @@ +<h2>Dependencies</h2> + +<p>Showcasing how elements can be validated only if other elements meet certain conditions and how callback functions for the "dependencies" rule work.</p> + +<?php + + // include the Zebra_Form class + require '../Zebra_Form.php'; + + // instantiate a Zebra_Form object + $form = new Zebra_Form('form'); + + // add the "name" element + $form->add('label', 'label_name', 'name', 'Your name'); + $obj = $form->add('text', 'name'); + + // set rules + $obj->set_rule(array( + 'required' => array('error', 'Name is required!'), + )); + + // "notifications" + $form->add('label', 'label_notifications', 'notifications', 'Would you like to be informed about promotional offers?'); + $obj = $form->add('radios', 'notifications', array( + 'yes' => 'Yes', + 'no' => 'No', + )); + $obj->set_rule(array( + 'required' => array('error', 'Please select an answer!'), + )); + + // "method" + $form->add('label', 'label_method', 'method', 'Please specify how you would like to be notified about promotional offers:'); + $obj = $form->add('checkboxes', 'method[]', array( + 'email' => 'By e-mail', + 'phone' => 'By phone', + 'post' => 'By land mail', + )); + $obj->set_rule(array( + 'required' => array('error', 'Please specify how you would like to be notified about promotional offers!'), + 'dependencies' => array(array( + 'notifications' => 'yes', + // whenever the value of "notification" changes, call this function and pass as second argument the value "1" + ), 'mycallback, 1'), + )); + + // "email" + $form->add('label', 'label_email', 'email', 'Your email address:'); + $obj = $form->add('text', 'email'); + $obj->set_rule(array( + 'required' => array('error', 'Email is required!'), + 'email' => array('error', 'Email address seems to be invalid!'), + 'dependencies' => array(array( + 'method' => 'email', + ), 'mycallback, 2'), + )); + $form->add('note', 'note_email', 'email', 'Your email address will not be published.'); + + // "phone" + $form->add('label', 'label_phone', 'phone', 'Your telephone number:'); + $obj = $form->add('text', 'phone'); + $obj->set_rule(array( + 'required' => array('error', 'Phone number is required!'), + 'digits' => array('', 'error', 'Phone number must contain only digits!'), + 'dependencies' => array(array( + 'method' => 'phone', + ), 'mycallback, 3'), + )); + $form->add('note', 'note_phone', 'phone', 'Enter your phone number using digits only'); + + // "post" + $form->add('label', 'label_post', 'post', 'Your postal address:'); + $obj = $form->add('text', 'post'); + $obj->set_rule(array( + 'required' => array('error', 'Postal address is required!'), + 'dependencies' => array(array( + 'method' => 'post', + ), 'mycallback, 4'), + )); + $form->add('note', 'note_post', 'post', 'Enter the address where the notifications about promotional offers should be delivered'); + + // "why" + $form->add('label', 'label_why', 'why', 'Please tell us why:'); + $obj = $form->add('textarea', 'why'); + $obj->set_rule(array( + 'required' => array('error', 'Please leave us a message!'), + 'dependencies' => array(array( + 'notifications' => 'no', + ), 'mycallback, 5'), + )); + + // "submit" + $form->add('submit', 'btnsubmit', 'Submit'); + + // if the form is valid + if ($form->validate()) { + + // show results + show_results(); + + // otherwise + } else + + $form->render('includes/custom-templates/example1-dependencies.php'); + +?> diff --git a/vendor/stefangabos/zebra_form/examples/includes/dependencies-example2-custom.php b/vendor/stefangabos/zebra_form/examples/includes/dependencies-example2-custom.php new file mode 100644 index 00000000..b2ccf593 --- /dev/null +++ b/vendor/stefangabos/zebra_form/examples/includes/dependencies-example2-custom.php @@ -0,0 +1,75 @@ +<h2>Dependencies</h2> + +<p>Notice how the elements from the "Add new person" section are validated *only* when the "Add new" button is clicked</p> + +<?php + + // include the Zebra_Form class + require '../Zebra_Form.php'; + + // instantiate a Zebra_Form object + $form = new Zebra_Form('form'); + + // add the "name" element + $form->add('label', 'label_name', 'name', 'Name'); + $obj = $form->add('text', 'name'); + + // set rules + $obj->set_rule(array( + 'required' => array('error', 'Name is required!'), + )); + + // add the "surname" element + $form->add('label', 'label_surname', 'surname', 'Surname'); + $obj = $form->add('text', 'surname'); + + // set rules + $obj->set_rule(array( + 'required' => array('error', 'Surname is required!'), + )); + + // elements for adding a new person + + // add the "name" element + $form->add('label', 'label_add_name', 'add_name', 'Name'); + $obj = $form->add('text', 'add_name'); + + // set rules + // validate *only* if the "Add new" button is clicked + $obj->set_rule(array( + 'required' => array('error', 'Name is required!'), + 'dependencies' => array( + 'btnadd' => 'click', + ), + )); + + // add the "surname" element + $form->add('label', 'label_add_surname', 'add_surname', 'Surame'); + $obj = $form->add('text', 'add_surname'); + + // set rules + $obj->set_rule(array( + 'required' => array('error', 'Surname is required!'), + 'dependencies' => array( + 'btnadd' => 'click', + ), + )); + + // "add" + $form->add('submit', 'btnadd', 'Add new'); + + // "submit" + $form->add('submit', 'btnsubmit', 'Finish'); + + // if the form is valid + if ($form->validate()) { + + // show results + show_results(); + + // otherwise + } else + + $form->render('includes/custom-templates/example2-dependencies.php'); + +?> diff --git a/vendor/stefangabos/zebra_form/examples/includes/fileupload-basic-image-vertical.php b/vendor/stefangabos/zebra_form/examples/includes/fileupload-basic-image-vertical.php new file mode 100644 index 00000000..813d1d1b --- /dev/null +++ b/vendor/stefangabos/zebra_form/examples/includes/fileupload-basic-image-vertical.php @@ -0,0 +1,52 @@ +<h2>Basic image upload</h2> + +<p>We're checking for file types </p> + +<?php + + // include the Zebra_Form class + require '../Zebra_Form.php'; + + // instantiate a Zebra_Form object + $form = new Zebra_Form('form'); + + // the label for the "file" element + $form->add('label', 'label_file', 'file', 'Upload an image'); + + // add the "file" element + $obj = $form->add('file', 'file'); + + // set rules + $obj->set_rule(array( + + // error messages will be sent to a variable called "error", usable in custom templates + 'required' => array('error', 'An image is required!'), + 'upload' => array('tmp', ZEBRA_FORM_UPLOAD_RANDOM_NAMES, 'error', 'Could not upload file!<br>Check that the "tmp" folder exists inside the "examples" folder and that it is writable'), + + // notice how we use the "image" rule instead of the "filetype" rule (used in previous example); + // the "image" rule does a thorough checking aimed specially for images + 'image' => array('error', 'File must be a jpg, png or gif image!'), + 'filesize' => array(102400, 'error', 'File size must not exceed 100Kb!'), + + )); + + // attach a note + $form->add('note', 'note_file', 'file', 'File must have the .jpg, .jpeg, png or .gif extension, and no more than 100Kb!'); + + // "submit" + $form->add('submit', 'btnsubmit', 'Submit'); + + // validate the form + if ($form->validate()) { + + // do stuff here + print_r('<pre>'); + print_r($form->file_upload); + die(); + + } + + // auto generate output, labels above form elements + $form->render(); + +?> \ No newline at end of file diff --git a/vendor/stefangabos/zebra_form/examples/includes/fileupload-basic-vertical.php b/vendor/stefangabos/zebra_form/examples/includes/fileupload-basic-vertical.php new file mode 100644 index 00000000..f7a1ea4e --- /dev/null +++ b/vendor/stefangabos/zebra_form/examples/includes/fileupload-basic-vertical.php @@ -0,0 +1,49 @@ +<h2>Basic file upload</h2> + +<p>Once you upload the file, don't forget to look into the "tmp" folder inside the "examples" folder for the result.</p> + +<?php + + // include the Zebra_Form class + require '../Zebra_Form.php'; + + // instantiate a Zebra_Form object + $form = new Zebra_Form('form'); + + // the label for the "file" element + $form->add('label', 'label_file', 'file', 'Upload Microsoft Word document'); + + // add the "file" element + $obj = $form->add('file', 'file'); + + // set rules + $obj->set_rule(array( + + // error messages will be sent to a variable called "error", usable in custom templates + 'required' => array('error', 'A Microsoft Word document is required!'), + 'upload' => array('tmp', ZEBRA_FORM_UPLOAD_RANDOM_NAMES, 'error', 'Could not upload file!<br>Check that the "tmp" folder exists inside the "examples" folder and that it is writable'), + 'filetype' => array('doc, docx', 'error', 'File must be a Microsoft Word document!'), + 'filesize' => array(102400, 'error', 'File size must not exceed 100Kb!'), + + )); + + // attach a note + $form->add('note', 'note_file', 'file', 'File must have the .doc or .docx extension, and no more than 100Kb!'); + + // "submit" + $form->add('submit', 'btnsubmit', 'Submit'); + + // validate the form + if ($form->validate()) { + + // do stuff here + print_r('<pre>'); + print_r($form->file_upload); + die(); + + } + + // auto generate output, labels above form elements + $form->render(); + +?> \ No newline at end of file diff --git a/vendor/stefangabos/zebra_form/examples/includes/login-divs-custom.php b/vendor/stefangabos/zebra_form/examples/includes/login-divs-custom.php new file mode 100644 index 00000000..9037029d --- /dev/null +++ b/vendor/stefangabos/zebra_form/examples/includes/login-divs-custom.php @@ -0,0 +1,62 @@ +<h2>A login form</h2> + +<p>In this demo we're creating a custom template using only divs; this is suitable for creating "vertical" templates (when +a control's label is above the control), but when we want some elements to be side-by-side. Don't forget to check the +"Template source" tab to see how it's done.</p> + +<?php + + // include the Zebra_Form class + require '../Zebra_Form.php'; + + // instantiate a Zebra_Form object + $form = new Zebra_Form('form', 'post', '', array('autocomplete' => 'off')); + + // the label for the "email" element + $form->add('label', 'label_email', 'email', 'Email'); + + // add the "email" element + $obj = $form->add('text', 'email'); + + // set rules + $obj->set_rule(array( + + // error messages will be sent to a variable called "error", usable in custom templates + 'required' => array('error', 'Email is required!'), + 'email' => array('error', 'Email address seems to be invalid!'), + + )); + + // "password" + $form->add('label', 'label_password', 'password', 'Password'); + + $obj = $form->add('password', 'password'); + + $obj->set_rule(array( + + 'required' => array('error', 'Password is required!'), + 'length' => array(6, 10, 'error', 'The password must have between 6 and 10 characters!'), + + )); + + // "remember me" + $form->add('checkbox', 'remember_me', 'yes'); + + $form->add('label', 'label_remember_me_yes', 'remember_me_yes', 'Remember me', array('style' => 'font-weight:normal')); + + // "submit" + $form->add('submit', 'btnsubmit', 'Submit'); + + // if the form is valid + if ($form->validate()) { + + // show results + show_results(); + + // otherwise + } else + + // generate output using a custom template + $form->render('includes/custom-templates/divs-login.php'); + +?> diff --git a/vendor/stefangabos/zebra_form/examples/includes/login-horizontal.php b/vendor/stefangabos/zebra_form/examples/includes/login-horizontal.php new file mode 100644 index 00000000..992c4e2a --- /dev/null +++ b/vendor/stefangabos/zebra_form/examples/includes/login-horizontal.php @@ -0,0 +1,53 @@ +<h2>A login form</h2> + +<?php + + // include the Zebra_Form class + require '../Zebra_Form.php'; + + // instantiate a Zebra_Form object + $form = new Zebra_Form('form', 'post', '', array('autocomplete' => 'off')); + + // the label for the "email" element + $form->add('label', 'label_email', 'email', 'Email'); + + // add the "email" element + $obj = $form->add('text', 'email'); + + // set rules + $obj->set_rule(array( + + // error messages will be sent to a variable called "error", usable in custom templates + 'required' => array('error', 'Email is required!'), + 'email' => array('error', 'Email address seems to be invalid!'), + + )); + + // "password" + $form->add('label', 'label_password', 'password', 'Password'); + $obj = $form->add('password', 'password'); + $obj->set_rule(array( + 'required' => array('error', 'Password is required!'), + 'length' => array(6, 10, 'error', 'The password must have between 6 and 10 characters!'), + )); + + // "remember me" + $form->add('checkbox', 'remember_me', 'yes'); + $form->add('label', 'label_remember_me_yes', 'remember_me_yes', 'Remember me', array('style' => 'font-weight:normal')); + + // "submit" + $form->add('submit', 'btnsubmit', 'Submit'); + + // if the form is valid + if ($form->validate()) { + + // show results + show_results(); + + // otherwise + } else + + // generate output using a custom template + $form->render('*horizontal'); + +?> diff --git a/vendor/stefangabos/zebra_form/examples/includes/login-labels-inside.php b/vendor/stefangabos/zebra_form/examples/includes/login-labels-inside.php new file mode 100644 index 00000000..be139c4c --- /dev/null +++ b/vendor/stefangabos/zebra_form/examples/includes/login-labels-inside.php @@ -0,0 +1,53 @@ +<h2>A login form</h2> + +<?php + + // include the Zebra_Form class + require '../Zebra_Form.php'; + + // instantiate a Zebra_Form object + $form = new Zebra_Form('form', 'post', '', array('autocomplete' => 'off')); + + // the label for the "email" element + $form->add('label', 'label_email', 'email', 'Email address', array('inside' => true)); + + // add the "email" element + $obj = $form->add('text', 'email'); + + // set rules + $obj->set_rule(array( + + // error messages will be sent to a variable called "error", usable in custom templates + 'required' => array('error', 'Email is required!'), + 'email' => array('error', 'Email address seems to be invalid!'), + + )); + + // "password" + $form->add('label', 'label_password', 'password', 'Password', array('inside' => true)); + $obj = $form->add('password', 'password'); + $obj->set_rule(array( + 'required' => array('error', 'Password is required!'), + 'length' => array(6, 10, 'error', 'The password must have between 6 and 10 characters!'), + )); + + // "remember me" + $form->add('checkbox', 'remember_me', 'yes'); + $form->add('label', 'label_remember_me_yes', 'remember_me_yes', 'Remember me', array('style' => 'font-weight:normal')); + + // "submit" + $form->add('submit', 'btnsubmit', 'Submit'); + + // if the form is valid + if ($form->validate()) { + + // show results + show_results(); + + // otherwise + } else + + // generate output using a custom template + $form->render(); + +?> diff --git a/vendor/stefangabos/zebra_form/examples/includes/login-tables-custom.php b/vendor/stefangabos/zebra_form/examples/includes/login-tables-custom.php new file mode 100644 index 00000000..03eab761 --- /dev/null +++ b/vendor/stefangabos/zebra_form/examples/includes/login-tables-custom.php @@ -0,0 +1,56 @@ +<h2>A login form</h2> + +<p>In this demo we're creating a custom template using tables; this is suitable for creating "horizontal" templates (when +a control's label is to the left of the control). Don't forget to check the "Template source" tab to see how it's done.</p> + +<?php + + // include the Zebra_Form class + require '../Zebra_Form.php'; + + // instantiate a Zebra_Form object + $form = new Zebra_Form('form', 'post', '', array('autocomplete' => 'off')); + + // the label for the "email" element + $form->add('label', 'label_email', 'email', 'Email'); + + // add the "email" element + $obj = $form->add('text', 'email'); + + // set rules + $obj->set_rule(array( + + // error messages will be sent to a variable called "error", usable in custom templates + 'required' => array('error', 'Email is required!'), + 'email' => array('error', 'Email address seems to be invalid!'), + + )); + + // "password" + $form->add('label', 'label_password', 'password', 'Password'); + $obj = $form->add('password', 'password'); + $obj->set_rule(array( + 'required' => array('error', 'Password is required!'), + 'length' => array(6, 10, 'error', 'The password must have between 6 and 10 characters!'), + )); + + // "remember me" + $form->add('checkbox', 'remember_me', 'yes'); + $form->add('label', 'label_remember_me_yes', 'remember_me_yes', 'Remember me', array('style' => 'font-weight:normal')); + + // "submit" + $form->add('submit', 'btnsubmit', 'Submit'); + + // if the form is valid + if ($form->validate()) { + + // show results + show_results(); + + // otherwise + } else + + // generate output using a custom template + $form->render('includes/custom-templates/tables-login.php'); + +?> diff --git a/vendor/stefangabos/zebra_form/examples/includes/login-vertical.php b/vendor/stefangabos/zebra_form/examples/includes/login-vertical.php new file mode 100644 index 00000000..d2272dc0 --- /dev/null +++ b/vendor/stefangabos/zebra_form/examples/includes/login-vertical.php @@ -0,0 +1,53 @@ +<h2>A login form</h2> + +<?php + + // include the Zebra_Form class + require '../Zebra_Form.php'; + + // instantiate a Zebra_Form object + $form = new Zebra_Form('form', 'post', '', array('autocomplete' => 'off')); + + // the label for the "email" element + $form->add('label', 'label_email', 'email', 'Email'); + + // add the "email" element + $obj = $form->add('text', 'email'); + + // set rules + $obj->set_rule(array( + + // error messages will be sent to a variable called "error", usable in custom templates + 'required' => array('error', 'Email is required!'), + 'email' => array('error', 'Email address seems to be invalid!'), + + )); + + // "password" + $form->add('label', 'label_password', 'password', 'Password'); + $obj = $form->add('password', 'password'); + $obj->set_rule(array( + 'required' => array('error', 'Password is required!'), + 'length' => array(6, 10, 'error', 'The password must have between 6 and 10 characters!'), + )); + + // "remember me" + $form->add('checkbox', 'remember_me', 'yes'); + $form->add('label', 'label_remember_me_yes', 'remember_me_yes', 'Remember me', array('style' => 'font-weight:normal')); + + // "submit" + $form->add('submit', 'btnsubmit', 'Submit'); + + // if the form is valid + if ($form->validate()) { + + // show results + show_results(); + + // otherwise + } else + + // auto generate output, labels above form elements + $form->render(); + +?> diff --git a/vendor/stefangabos/zebra_form/examples/includes/registration-custom.php b/vendor/stefangabos/zebra_form/examples/includes/registration-custom.php new file mode 100644 index 00000000..2eac6cd7 --- /dev/null +++ b/vendor/stefangabos/zebra_form/examples/includes/registration-custom.php @@ -0,0 +1,88 @@ +<h2>A registration form</h2> + +<p>Check the "Template source" tab to see how it's done!</p> + +<?php + + // include the Zebra_Form class + require '../Zebra_Form.php'; + + // instantiate a Zebra_Form object + $form = new Zebra_Form('form', 'post', '', array('autocomplete' => 'off')); + + // the label for the "first name" element + $form->add('label', 'label_firstname', 'firstname', 'First name:'); + + // add the "first name" element + $obj = $form->add('text', 'firstname'); + + // set rules + $obj->set_rule(array( + + // error messages will be sent to a variable called "error", usable in custom templates + 'required' => array('error', 'First name is required!'), + + )); + + // "last name" + $form->add('label', 'label_lastname', 'lastname', 'Last name:'); + $obj = $form->add('text', 'lastname'); + $obj->set_rule(array( + 'required' => array('error', 'Last name is required!') + )); + + // "email" + $form->add('label', 'label_email', 'email', 'Email address:'); + $obj = $form->add('text', 'email'); + $obj->set_rule(array( + 'required' => array('error', 'Email is required!'), + 'email' => array('error', 'Email address seems to be invalid!') + )); + + // attach a note to the email element + $form->add('note', 'note_email', 'email', 'Please enter a valid email address. An email will be sent to this + address with a link you need to click on in order to activate your account', array('style'=>'width:200px')); + + // "password" + $form->add('label', 'label_password', 'password', 'Choose a password:'); + $obj = $form->add('password', 'password'); + $obj->set_rule(array( + 'required' => array('error', 'Password is required!'), + 'length' => array(6, 10, 'error', 'The password must have between 6 and 10 characters'), + )); + $form->add('note', 'note_password', 'password', 'Password must be have between 6 and 10 characters.', array('style' => 'width: 180px')); + + // "confirm password" + $form->add('label', 'label_confirm_password', 'confirm_password', 'Confirm password:'); + $obj = $form->add('password', 'confirm_password'); + $obj->set_rule(array( + 'compare' => array('password', 'error', 'Password not confirmed correctly!') + )); + + // "captcha" + $form->add('captcha', 'captcha_image', 'captcha_code'); + $form->add('label', 'label_captcha_code', 'captcha_code', 'Are you human?'); + $obj = $form->add('text', 'captcha_code'); + $form->add('note', 'note_captcha', 'captcha_code', 'You must enter the characters with black color that stand + out from the other characters', array('style'=>'width: 200px')); + $obj->set_rule(array( + 'required' => array('error', 'Enter the characters from the image above!'), + 'captcha' => array('error', 'Characters from image entered incorrectly!') + )); + + // "submit" + $form->add('submit', 'btnsubmit', 'Submit'); + + // if the form is valid + if ($form->validate()) { + + // show results + show_results(); + + // otherwise + } else + + // generate output using a custom template + $form->render('includes/custom-templates/registration.php'); + +?> \ No newline at end of file diff --git a/vendor/stefangabos/zebra_form/examples/includes/registration-horizontal.php b/vendor/stefangabos/zebra_form/examples/includes/registration-horizontal.php new file mode 100644 index 00000000..f79096cf --- /dev/null +++ b/vendor/stefangabos/zebra_form/examples/includes/registration-horizontal.php @@ -0,0 +1,86 @@ +<h2>A registration form</h2> + +<?php + + // include the Zebra_Form class + require '../Zebra_Form.php'; + + // instantiate a Zebra_Form object + $form = new Zebra_Form('form', 'post', '', array('autocomplete' => 'off')); + + // the label for the "first name" element + $form->add('label', 'label_firstname', 'firstname', 'First name:'); + + // add the "first name" element + $obj = $form->add('text', 'firstname'); + + // set rules + $obj->set_rule(array( + + // error messages will be sent to a variable called "error", usable in custom templates + 'required' => array('error', 'First name is required!'), + + )); + + // "last name" + $form->add('label', 'label_lastname', 'lastname', 'Last name:'); + $obj = $form->add('text', 'lastname'); + $obj->set_rule(array( + 'required' => array('error', 'Last name is required!') + )); + + // "email" + $form->add('label', 'label_email', 'email', 'Email address:'); + $obj = $form->add('text', 'email'); + $obj->set_rule(array( + 'required' => array('error', 'Email is required!'), + 'email' => array('error', 'Email address seems to be invalid!') + )); + + // attach a note to the email element + $form->add('note', 'note_email', 'email', 'Please enter a valid email address. An email will be sent to this + address with a link you need to click on in order to activate your account', array('style'=>'width:200px')); + + // "password" + $form->add('label', 'label_password', 'password', 'Choose a password:'); + $obj = $form->add('password', 'password'); + $obj->set_rule(array( + 'required' => array('error', 'Password is required!'), + 'length' => array(6, 10, 'error', 'The password must have between 6 and 10 characters'), + )); + $form->add('note', 'note_password', 'password', 'Password must be have between 6 and 10 characters.'); + + // "confirm password" + $form->add('label', 'label_confirm_password', 'confirm_password', 'Confirm password:'); + $obj = $form->add('password', 'confirm_password'); + $obj->set_rule(array( + 'compare' => array('password', 'error', 'Password not confirmed correctly!') + )); + + // "captcha" + $form->add('captcha', 'captcha_image', 'captcha_code'); + $form->add('label', 'label_captcha_code', 'captcha_code', 'Are you human?'); + $obj = $form->add('text', 'captcha_code'); + $form->add('note', 'note_captcha', 'captcha_code', 'You must enter the characters with black color that stand + out from the other characters', array('style'=>'width: 200px')); + $obj->set_rule(array( + 'required' => array('error', 'Enter the characters from the image above!'), + 'captcha' => array('error', 'Characters from image entered incorrectly!') + )); + + // "submit" + $form->add('submit', 'btnsubmit', 'Submit'); + + // if the form is valid + if ($form->validate()) { + + // show results + show_results(); + + // otherwise + } else + + // generate output using a custom template + $form->render('*horizontal'); + +?> \ No newline at end of file diff --git a/vendor/stefangabos/zebra_form/examples/includes/registration-vertical.php b/vendor/stefangabos/zebra_form/examples/includes/registration-vertical.php new file mode 100644 index 00000000..2aeb1e32 --- /dev/null +++ b/vendor/stefangabos/zebra_form/examples/includes/registration-vertical.php @@ -0,0 +1,86 @@ +<h2>A registration form</h2> + +<?php + + // include the Zebra_Form class + require '../Zebra_Form.php'; + + // instantiate a Zebra_Form object + $form = new Zebra_Form('form', 'post', '', array('autocomplete' => 'off')); + + // the label for the "first name" element + $form->add('label', 'label_firstname', 'firstname', 'First name:'); + + // add the "first name" element + $obj = $form->add('text', 'firstname'); + + // set rules + $obj->set_rule(array( + + // error messages will be sent to a variable called "error", usable in custom templates + 'required' => array('error', 'First name is required!'), + + )); + + // "last name" + $form->add('label', 'label_lastname', 'lastname', 'Last name:'); + $obj = $form->add('text', 'lastname'); + $obj->set_rule(array( + 'required' => array('error', 'Last name is required!') + )); + + // "email" + $form->add('label', 'label_email', 'email', 'Email address:'); + $obj = $form->add('text', 'email'); + $obj->set_rule(array( + 'required' => array('error', 'Email is required!'), + 'email' => array('error', 'Email address seems to be invalid!') + )); + + // attach a note to the email element + $form->add('note', 'note_email', 'email', 'Please enter a valid email address. An email will be sent to this + address with a link you need to click on in order to activate your account', array('style'=>'width:200px')); + + // "password" + $form->add('label', 'label_password', 'password', 'Choose a password:'); + $obj = $form->add('password', 'password'); + $obj->set_rule(array( + 'required' => array('error', 'Password is required!'), + 'length' => array(6, 10, 'error', 'The password must have between 6 and 10 characters'), + )); + $form->add('note', 'note_password', 'password', 'Password must be have between 6 and 10 characters.'); + + // "confirm password" + $form->add('label', 'label_confirm_password', 'confirm_password', 'Confirm password:'); + $obj = $form->add('password', 'confirm_password'); + $obj->set_rule(array( + 'compare' => array('password', 'error', 'Password not confirmed correctly!') + )); + + // "captcha" + $form->add('captcha', 'captcha_image', 'captcha_code'); + $form->add('label', 'label_captcha_code', 'captcha_code', 'Are you human?'); + $obj = $form->add('text', 'captcha_code'); + $form->add('note', 'note_captcha', 'captcha_code', 'You must enter the characters with black color that stand + out from the other characters', array('style'=>'width: 200px')); + $obj->set_rule(array( + 'required' => array('error', 'Enter the characters from the image above!'), + 'captcha' => array('error', 'Characters from image entered incorrectly!') + )); + + // "submit" + $form->add('submit', 'btnsubmit', 'Submit'); + + // if the form is valid + if ($form->validate()) { + + // show results + show_results(); + + // otherwise + } else + + // generate output using a custom template + $form->render(); + +?> \ No newline at end of file diff --git a/vendor/stefangabos/zebra_form/examples/includes/reservation-autofill-vertical.php b/vendor/stefangabos/zebra_form/examples/includes/reservation-autofill-vertical.php new file mode 100644 index 00000000..14f2ce71 --- /dev/null +++ b/vendor/stefangabos/zebra_form/examples/includes/reservation-autofill-vertical.php @@ -0,0 +1,116 @@ +<h2>A meeting room reservation form</h2> + +<p>All fields will be automatically filled with random values - very useful for when debugging forms. The random values will obey the rules set for each element!</p> + +<?php + + // include the Zebra_Form class + require '../Zebra_Form.php'; + + // instantiate a Zebra_Form object + $form = new Zebra_Form('form'); + + // auto-fill fields with random values + // very useful for when debugging forms + $form->auto_fill(); + + // the label for the "name" element + $form->add('label', 'label_name', 'name', 'Your name:'); + + // add the "name" element + $obj = $form->add('text', 'name'); + + // set rules + $obj->set_rule(array( + + // error messages will be sent to a variable called "error", usable in custom templates + 'required' => array('error', 'Name is required!') + + )); + + // "email" + $form->add('label', 'label_email', 'email', 'Your email address:'); + $obj = $form->add('text', 'email'); + $obj->set_rule(array( + 'required' => array('error', 'Email is required!'), + 'email' => array('error', 'Email address seems to be invalid!'), + )); + + // "department" + $form->add('label', 'label_department', 'department', 'Department:'); + $obj = $form->add('select', 'department', '', array('other' => true)); + $obj->add_options(array( + 'Marketing', + 'Operations', + 'Customer Service', + 'Human Resources', + 'Sales Department', + 'Accounting Department', + 'Legal Department', + )); + $obj->set_rule(array( + 'required' => array('error', 'Department is required!') + )); + + // "room" + $form->add('label', 'label_room', 'room', 'Which room would you like to reserve:'); + $obj = $form->add('radios', 'room', array( + 'A' => 'Room A', + 'B' => 'Room B', + 'C' => 'Room C', + )); + $obj->set_rule(array( + 'required' => array('error', 'Room selection is required!') + )); + + // "extra" + $form->add('label', 'label_extra', 'extra', 'Extra requirements:'); + $obj = $form->add('checkboxes', 'extra[]', array( + 'flipchard' => 'Flipchard and pens', + 'plasma' => 'Plasma TV screen', + 'beverages' => 'Coffee, tea and mineral water', + )); + + // "date" + $form->add('label', 'label_date', 'date', 'Reservation date'); + $date = $form->add('date', 'date'); + $date->set_rule(array( + 'required' => array('error', 'Date is required!'), + 'date' => array('error', 'Date is invalid!'), + )); + + // date format + // don't forget to use $date->get_date() if the form is valid to get the date in YYYY-MM-DD format ready to be used + // in a database or with PHP's strtotime function! + $date->format('M d, Y'); + + $form->add('note', 'note_date', 'date', 'Date format is M d, Y'); + + // "time" + $form->add('label', 'label_time', 'time', 'Reservation time :'); + $obj = $form->add('time', 'time', '', array( + 'format' => 'hm', + 'hours' => array(9, 10, 11, 12, 13, 14, 15, 16, 17), + 'minutes' => array(0, 30), + )); + + $obj->set_rule(array( + 'required' => array('error', 'Time is required!'), + )); + + // "submit" + $form->add('submit', 'btnsubmit', 'Submit'); + + // if the form is valid + if ($form->validate()) { + + // show results + show_results(); + + // otherwise + } else + + // generate output using a custom template + $form->render(); + +?> \ No newline at end of file diff --git a/vendor/stefangabos/zebra_form/examples/includes/reservation-custom.php b/vendor/stefangabos/zebra_form/examples/includes/reservation-custom.php new file mode 100644 index 00000000..88ddb906 --- /dev/null +++ b/vendor/stefangabos/zebra_form/examples/includes/reservation-custom.php @@ -0,0 +1,110 @@ +<h2>A meeting room reservation form</h2> + +<p>Check the "Template source" tab to see how it's done!</p> + +<?php + + // include the Zebra_Form class + require '../Zebra_Form.php'; + + // instantiate a Zebra_Form object + $form = new Zebra_Form('form'); + + // the label for the "name" element + $form->add('label', 'label_name', 'name', 'Your name:'); + + // add the "name" element + $obj = $form->add('text', 'name'); + + // set rules + $obj->set_rule(array( + + // error messages will be sent to a variable called "error", usable in custom templates + 'required' => array('error', 'Name is required!') + + )); + + // "email" + $form->add('label', 'label_email', 'email', 'Your email address:'); + $obj = $form->add('text', 'email'); + $obj->set_rule(array( + 'required' => array('error', 'Email is required!'), + 'email' => array('error', 'Email address seems to be invalid!'), + )); + + // "department" + $form->add('label', 'label_department', 'department', 'Department:'); + $obj = $form->add('select', 'department', '', array('other' => true)); + $obj->add_options(array( + 'Marketing', + 'Operations', + 'Customer Service', + 'Human Resources', + 'Sales Department', + 'Accounting Department', + 'Legal Department', + )); + $obj->set_rule(array( + 'required' => array('error', 'Department is required!') + )); + + // "room" + $form->add('label', 'label_room', 'room', 'Which room would you like to reserve:'); + $obj = $form->add('radios', 'room', array( + 'A' => 'Room A', + 'B' => 'Room B', + 'C' => 'Room C', + )); + $obj->set_rule(array( + 'required' => array('error', 'Room selection is required!') + )); + + // "extra" + $form->add('label', 'label_extra', 'extra', 'Extra requirements:'); + $obj = $form->add('checkboxes', 'extra[]', array( + 'flipchard' => 'Flipchard and pens', + 'plasma' => 'Plasma TV screen', + 'beverages' => 'Coffee, tea and mineral water', + )); + + // "date" + $form->add('label', 'label_date', 'date', 'Reservation date'); + $date = $form->add('date', 'date'); + $date->set_rule(array( + 'required' => array('error', 'Date is required!'), + 'date' => array('error', 'Date is invalid!'), + )); + + // date format + // don't forget to use $date->get_date() if the form is valid to get the date in YYYY-MM-DD format ready to be used + // in a database or with PHP's strtotime function! + $date->format('M d, Y'); + + // selectable dates are starting with the current day + $date->direction(1); + + $form->add('note', 'note_date', 'date', 'Date format is M d, Y'); + + // "time" + $form->add('label', 'label_time', 'time', 'Reservation time :'); + $form->add('time', 'time', '', array( + 'hours' => array(9, 10, 11, 12, 13, 14, 15, 16, 17), + 'minutes' => array(0, 30), + )); + + // "submit" + $form->add('submit', 'btnsubmit', 'Submit'); + + // if the form is valid + if ($form->validate()) { + + // show results + show_results(); + + // otherwise + } else + + // generate output using a custom template + $form->render('includes/custom-templates/reservation.php'); + +?> \ No newline at end of file diff --git a/vendor/stefangabos/zebra_form/examples/includes/reservation-horizontal.php b/vendor/stefangabos/zebra_form/examples/includes/reservation-horizontal.php new file mode 100644 index 00000000..31e2df37 --- /dev/null +++ b/vendor/stefangabos/zebra_form/examples/includes/reservation-horizontal.php @@ -0,0 +1,108 @@ +<h2>A meeting room reservation form</h2> + +<?php + + // include the Zebra_Form class + require '../Zebra_Form.php'; + + // instantiate a Zebra_Form object + $form = new Zebra_Form('form'); + + // the label for the "name" element + $form->add('label', 'label_name', 'name', 'Your name:'); + + // add the "name" element + $obj = $form->add('text', 'name'); + + // set rules + $obj->set_rule(array( + + // error messages will be sent to a variable called "error", usable in custom templates + 'required' => array('error', 'Name is required!') + + )); + + // "email" + $form->add('label', 'label_email', 'email', 'Your email address:'); + $obj = $form->add('text', 'email'); + $obj->set_rule(array( + 'required' => array('error', 'Email is required!'), + 'email' => array('error', 'Email address seems to be invalid!'), + )); + + // "department" + $form->add('label', 'label_department', 'department', 'Department:'); + $obj = $form->add('select', 'department', '', array('other' => true)); + $obj->add_options(array( + 'Marketing', + 'Operations', + 'Customer Service', + 'Human Resources', + 'Sales Department', + 'Accounting Department', + 'Legal Department', + )); + $obj->set_rule(array( + 'required' => array('error', 'Department is required!') + )); + + // "room" + $form->add('label', 'label_room', 'room', 'Which room would you like to reserve:'); + $obj = $form->add('radios', 'room', array( + 'A' => 'Room A', + 'B' => 'Room B', + 'C' => 'Room C', + )); + $obj->set_rule(array( + 'required' => array('error', 'Room selection is required!') + )); + + // "extra" + $form->add('label', 'label_extra', 'extra', 'Extra requirements:'); + $obj = $form->add('checkboxes', 'extra[]', array( + 'flipchard' => 'Flipchard and pens', + 'plasma' => 'Plasma TV screen', + 'beverages' => 'Coffee, tea and mineral water', + )); + + // "date" + $form->add('label', 'label_date', 'date', 'Reservation date'); + $date = $form->add('date', 'date'); + $date->set_rule(array( + 'required' => array('error', 'Date is required!'), + 'date' => array('error', 'Date is invalid!'), + )); + + // date format + // don't forget to use $date->get_date() if the form is valid to get the date in YYYY-MM-DD format ready to be used + // in a database or with PHP's strtotime function! + $date->format('M d, Y'); + + // selectable dates are starting with the current day + $date->direction(1); + + $form->add('note', 'note_date', 'date', 'Date format is M d, Y'); + + // "time" + $form->add('label', 'label_time', 'time', 'Reservation time :'); + $form->add('time', 'time', '', array( + 'hours' => array(9, 10, 11, 12, 13, 14, 15, 16, 17), + 'minutes' => array(0, 30), + )); + + // "submit" + $form->add('submit', 'btnsubmit', 'Submit'); + + // if the form is valid + if ($form->validate()) { + + // show results + show_results(); + + // otherwise + } else + + // generate output using a custom template + $form->render('*horizontal'); + +?> \ No newline at end of file diff --git a/vendor/stefangabos/zebra_form/examples/includes/reservation-vertical.php b/vendor/stefangabos/zebra_form/examples/includes/reservation-vertical.php new file mode 100644 index 00000000..94a0fd67 --- /dev/null +++ b/vendor/stefangabos/zebra_form/examples/includes/reservation-vertical.php @@ -0,0 +1,110 @@ +<h2>A meeting room reservation form</h2> + +<?php + + // include the Zebra_Form class + require '../Zebra_Form.php'; + + // instantiate a Zebra_Form object + $form = new Zebra_Form('form'); + + // the label for the "name" element + $form->add('label', 'label_name', 'name', 'Your name:'); + + // add the "name" element + $obj = $form->add('text', 'name'); + + // set rules + $obj->set_rule(array( + + // error messages will be sent to a variable called "error", usable in custom templates + 'required' => array('error', 'Name is required!') + + )); + + // "email" + $form->add('label', 'label_email', 'email', 'Your email address:'); + $obj = $form->add('text', 'email'); + $obj->set_rule(array( + 'required' => array('error', 'Email is required!'), + 'emails' => array('error', 'Email address seems to be invalid!'), + )); + + // "department" + $form->add('label', 'label_department', 'department', 'Department:'); + $obj = $form->add('select', 'department', '', array('other' => true)); + $obj->add_options(array( + 'Marketing', + 'Operations', + 'Customer Service', + 'Human Resources', + 'Sales Department', + 'Accounting Department', + 'Legal Department', + )); + $obj->set_rule(array( + 'required' => array('error', 'Department is required!') + )); + + // "room" + $form->add('label', 'label_room', 'room', 'Which room would you like to reserve:'); + $obj = $form->add('radios', 'room', array( + 'A' => 'Room A', + 'B' => 'Room B', + 'C' => 'Room C', + )); + $obj->set_rule(array( + 'required' => array('error', 'Room selection is required!') + )); + + // "extra" + $form->add('label', 'label_extra', 'extra', 'Extra requirements:'); + $obj = $form->add('checkboxes', 'extra[]', array( + 'flipchard' => 'Flipchard and pens', + 'plasma' => 'Plasma TV screen', + 'beverages' => 'Coffee, tea and mineral water', + )); + + // "date" + $form->add('label', 'label_date', 'date', 'Reservation date'); + $date = $form->add('date', 'date'); + $date->set_rule(array( + 'required' => array('error', 'Date is required!'), + 'date' => array('error', 'Date is invalid!'), + )); + + // date format + // don't forget to use $date->get_date() if the form is valid to get the date in YYYY-MM-DD format ready to be used + // in a database or with PHP's strtotime function! + $date->format('M d, Y'); + + $form->add('note', 'note_date', 'date', 'Date format is M d, Y'); + + // "time" + $form->add('label', 'label_time', 'time', 'Reservation time :'); + $obj = $form->add('time', 'time', '', array( + 'format' => 'hm', + 'hours' => array(9, 10, 11, 12, 13, 14, 15, 16, 17), + 'minutes' => array(0, 30), + )); + + $obj->set_rule(array( + 'required' => array('error', 'Time is required!'), + )); + + // "submit" + $form->add('submit', 'btnsubmit', 'Submit'); + + // if the form is valid + if ($form->validate()) { + + // show results + show_results(); + + // otherwise + } else + + // generate output using a custom template + $form->render(); + +?> \ No newline at end of file diff --git a/vendor/stefangabos/zebra_form/examples/includes/validation-vertical.php b/vendor/stefangabos/zebra_form/examples/includes/validation-vertical.php new file mode 100644 index 00000000..4eba2523 --- /dev/null +++ b/vendor/stefangabos/zebra_form/examples/includes/validation-vertical.php @@ -0,0 +1,107 @@ +<h2>More validation rules</h2> + +<?php + + // include the Zebra_Form class + require '../Zebra_Form.php'; + + // instantiate a Zebra_Form object + $form = new Zebra_Form('form'); + + // "alphabet" + $form->add('label', 'label_alphabet', 'alphabet', 'Alphabet:'); + + $obj = $form->add('text', 'alphabet'); + + // set rules + $obj->set_rule(array( + + // error messages will be sent to a variable called "error", usable in custom templates + 'required' => array('error', 'This field is required!'), + 'alphabet' => array('', 'error', 'Accepts only characters from the alphabet (case-insensitive a to z)') + + )); + + // attach a note + $form->add('note', 'note_alphabet', 'alphabet', 'Accepts only characters from the alphabet (case-insensitive a to z)'); + + // "alphanumeric" + $form->add('label', 'label_alphanumeric', 'alphanumeric', 'Alphanumeric:'); + $obj = $form->add('text', 'alphanumeric'); + $obj->set_rule(array( + 'required' => array('error', 'This field is required!'), + 'alphanumeric' => array('', 'error', 'Accepts only characters from the alphabet (case-insensitive a to z) and digits (0 to 9)') + )); + $form->add('note', 'note_alphanumeric', 'alphanumeric', 'Accepts only characters from the alphabet (case-insensitive a to z) and digits (0 to 9)'); + + // "digits" + $form->add('label', 'label_digits', 'digits', 'Digits:'); + $obj = $form->add('text', 'digits'); + $obj->set_rule(array( + 'required' => array('error', 'This field is required!'), + 'digits' => array('', 'error', 'Accepts only digits (0 to 9)') + )); + $form->add('note', 'note_digits', 'digits', 'Accepts only digits (0 to 9)'); + + // "float" + $form->add('label', 'label_float', 'float', 'Float:'); + $obj = $form->add('text', 'float'); + $obj->set_rule(array( + 'required' => array('error', 'This field is required!'), + 'float' => array('', 'error', 'Accepts only digits (0 to 9) and/or one dot (but not as the very first character) and/or one minus sign (but only if it is the very first character)') + )); + $form->add('note', 'note_float', 'float', 'Accepts only digits (0 to 9) and/or one dot (but not as the very first character) and/or one minus sign (but only if it is the very first character)'); + + // "length" + $form->add('label', 'label_length', 'length', 'Length:'); + $obj = $form->add('text', 'length'); + $obj->set_rule(array( + 'required' => array('error', 'This field is required!'), + 'length' => array(6, 12, 'error', 'Must contain between 6 and 12 characters!') + )); + $form->add('note', 'note_length', 'length', 'Must contain between 6 and 12 characters'); + + // "number" + $form->add('label', 'label_number', 'number', 'Number:'); + $obj = $form->add('text', 'number'); + $obj->set_rule(array( + 'required' => array('error', 'This field is required!'), + 'number' => array('', 'error', 'Accepts only digits (0 to 9) and/or one minus sign (but only if it is the very first character)') + )); + $form->add('note', 'note_number', 'number', 'Accepts only digits (0 to 9) and/or one minus sign (but only if it is the very first character)'); + + // "regular expression" + $form->add('label', 'label_regexp', 'regexp', 'Regular expression:'); + $obj = $form->add('text', 'regexp'); + $obj->set_rule(array( + 'required' => array('error', 'This field is required!'), + 'regexp' => array('^07[0-9]{8}$', 'error', 'Validates only if the value matches the following regular expression: ^07[0-9]{8}$') + )); + $form->add('note', 'note_regexp', 'regexp', 'Validates if the value satisfies the following regular expression: ^07[0-9]{8}$'); + + // "change case" + $form->add('label', 'label_case', 'case', 'Change case:'); + $obj = $form->add('text', 'case'); + $obj->set_rule(array( + 'required' => array('error', 'This field is required!'), + )); + // force all characters to be upper-case + $obj->change_case('upper'); + $form->add('note', 'note_case', 'case', 'All entered characters will be upper-case'); + + // "submit" + $form->add('submit', 'btnsubmit', 'Submit'); + + // if the form is valid + if ($form->validate()) { + + // show results + show_results(); + + // otherwise + } else + + // generate output using a custom template + $form->render(); + +?> \ No newline at end of file diff --git a/vendor/stefangabos/zebra_form/examples/index.html b/vendor/stefangabos/zebra_form/examples/index.html new file mode 100644 index 00000000..5fb34f4a --- /dev/null +++ b/vendor/stefangabos/zebra_form/examples/index.html @@ -0,0 +1,8 @@ +<html> +<head> + <title>403 Forbidden</title> +</head> +<body> + <p>Directory access is forbidden.</p> +</body> +</html> \ No newline at end of file diff --git a/vendor/stefangabos/zebra_form/examples/index.php b/vendor/stefangabos/zebra_form/examples/index.php new file mode 100644 index 00000000..6e680e3f --- /dev/null +++ b/vendor/stefangabos/zebra_form/examples/index.php @@ -0,0 +1,310 @@ +<?php + error_reporting(E_ALL); + session_start() +?> + +<?php +/** + * Dumps information about a variable in a human readable format + * + * @param mixed $variable Variable to print information about + * + * @param boolean $stop Whether to stop script execution after outputting the variable. + * + * Default is FALSE + * + * @return void + */ +function dump() +{ + // get the arguments passed to the function + $arguments = func_get_args(); + + // if last argument is boolean TRUE + if ($arguments[count($arguments) - 1] === true) + + // set a flag telling the script that it needs to die() after output + $stop = array_pop($arguments); + + // iterate through the arguments + foreach ($arguments as $argument) { + + // print each argument + print_r('<pre style="text-align:left">'); + print_r($argument); + print_r('</pre>'); + + } + + // if script needs to die() after output, die + if (isset($stop)) die(); + +} +?> + +<!doctype html> + +<html> + + <head> + + <meta charset="utf-8"> + + <title>Zebra_Form, a jQuery augmented PHP library for HTML form building and validation</title> + + <link rel="stylesheet" href="libraries/highlight/public/css/ir_black.css" type="text/css"> + <link rel="stylesheet" href="public/css/reset.css" type="text/css"> + <link rel="stylesheet" href="public/css/style.css" type="text/css"> + <link rel="stylesheet" href="../public/css/zebra_form.css" type="text/css"> + + </head> + + <body> + + <div class="header"><a href="http://stefangabos.ro/">Stefan Gabos | <span>webdeveloper</span></a></div> + + <div class="example"> + Example for: <a href="http://stefangabos.ro/php-libraries/zebra-form/">Zebra_Form, a jQuery augmented PHP + library for HTML form building and validation</a> + </div> + + <table> + + <tr> + + <td valign="top"> + + <?php + + function show_results() { + + echo '<table class="results"><thead><tr><td colspan="2">Submitted values</td></tr></thead>'; + + foreach ($_POST as $key => $value) { + + if (strpos($key, 'name_') !== 0 && strpos($key, 'timer_') !== 0 && strpos($key, 'response_') !== 0) + + echo '<tr><th>' . $key . '</th><td>' . (is_array($value) ? '<pre>' . print_r($value, true) . '</pre>' : $value) . '</td></tr>'; + + } + + echo '</table>'; + + } + + $demos = array( + 'A login form' => array('login', array( + 'Auto template, vertical' => 'vertical', + 'Auto template, horizontal' => 'horizontal', + 'Auto template, labels inside' => 'labels-inside', + 'Custom template - divs' => 'divs-custom', + 'Custom template - tables' => 'tables-custom', + )), + 'A contact form' => array('contact', array( + 'Auto template, vertical' => 'vertical', + 'Auto template, horizontal' => 'horizontal', + 'Custom template' => 'custom', + )), + 'A registration form' => array('registration', array( + 'Auto template, vertical' => 'vertical', + 'Auto template, horizontal' => 'horizontal', + 'Custom template' => 'custom', + )), + 'A reservation form' => array('reservation', array( + 'Auto template, vertical' => 'vertical', + 'Auto template, horizontal' => 'horizontal', + 'Custom template' => 'custom', + 'Auto-fill' => 'autofill-vertical', + )), + 'Dependencies' => array('dependencies', array( + 'Example 1' => 'example1-custom', + 'Example 2' => 'example2-custom', + )), + 'File upload' => array('fileupload', array( + 'Basic file upload' => 'basic-vertical', + 'Basic image upload' => 'basic-image-vertical', + )), + 'More rules' => array('validation', array( + 'Auto template, vertical' => 'vertical', + )), + ); + + $current_template = isset($_GET['template']) ? strtolower($_GET['template']) : ''; + + if (isset($_GET['example']) && is_file('includes/' . $_GET['example'] . '-' . $current_template . '.php')) { + + $current_example = strtolower($_GET['example']); + + } else { + + $current_template = 'vertical'; + + $current_example = 'login'; + + } + + ?> + + <ul class="navigation default"> + + <?php foreach ($demos as $title => $values):?> + + <li><?php echo $title?> + + <ul> + + <?php foreach ($values[1] as $example => $template):?> + + <li> + + <a href="?example=<?php echo $values[0]?>&amp;template=<?php echo $template?>"<?php echo ($current_example == $values[0] && $current_template == $template ? ' class="selected"' : '')?>><?php echo $example?></a> + + </li> + + <?php endforeach?> + + </ul> + + </li> + + <?php endforeach?> + </ul> + + </td> + + <td valign="top"> + + <?php if ($example != ''):?> + + <ul class="tabs float clearfix"> + + <li><a href="javascript:void(0)" class="selected">Demo</a></li> + + <li><a href="javascript:void(0)">PHP source</a></li> + + <li><a href="javascript:void(0)">Template source</a></li> + + <li><a href="javascript:void(0)">Container HTML</a></li> + + </ul> + + <?php for ($i = 0; $i < 5; $i++):?> + + <div class="tab clearfix"<?php echo $i == 0 ? ' style="display:block"' : ''?>> + + <?php if ($i == 0):?> + + <?php require 'includes/' . $current_example . '-' . $current_template . '.php'?> + + <?php elseif ($i == 1):?> + + <?php + + $php_source = file_get_contents('includes/' . $current_example . '-' . $current_template . '.php'); + + $patterns = array( + '/^.*?\<\?php/is', + '/require \'.*?Zebra\_Form\.php\'/', + '/\$form\-\>render\(\'includes\/custom\-templates\/.*?\'\)\;/', + ); + + $replacements = array( + '<?php', + 'require \'path/to/Zebra_Form.php\'', + '$form->render(\'path/to/custom-template.php\');', + ); + + $php_source = preg_replace($patterns, $replacements, $php_source); + + ?> + + <pre><code><?php + + echo trim(htmlentities($php_source)); + + ?></code></pre> + + <?php elseif ($i == 2):?> + + <?php if (strpos($current_template, 'custom') === false):?> + + <p>In this example, the output is automatically generated by Zebra_Form's <strong>render</strong> method.</p> + + <?php elseif (is_file('includes/custom-templates/' . str_replace('custom-', '', $current_template . '-' . $current_example) . '.php')):?> + + <pre><code><?php + + echo trim(htmlentities(file_get_contents('includes/custom-templates/' . str_replace('custom-', '', $current_template . '-' . $current_example) . '.php'))); + + ?></code></pre> + + <?php else:?> + + <?php echo 'includes/custom-templates/' . str_replace('custom-', '', $current_template . '-' . $current_example) . '.php' ?> + + <?php endif?> + + <?php elseif ($i == 3):?> + + <?php + + $html_container_source = file_get_contents('includes/container-html/container.html'); + + ?> + + <pre><code><?php + + echo trim(htmlentities($html_container_source)); + + ?></code></pre> + + <?php endif?> + + <?php if ($i == 0):?> + + <ul class="notes default"> + <li> + try clicking on the submit button without filling the form and then, as you fill the form, to see the + JavaScript validation in action + </li> + <li>for each example, notice how the PHP code of the form remains basically unchanged, despite the template variations</li> + <li> + disable JavaScript to see the server-side validation in action + </li> + <li> + although in all my examples I use HTML output, you can switch to XHTML output by using the + <strong>doctye</strong> method + </li> + <li> + try the example in another browser and see that it works, out of the box. including IE6! + </li> + </ul> + + <?php endif?> + + </div> + + <?php endfor?> + + <?php else:?> + + Use the links to the left to navigate between examples. + + <?php endif?> + + </td> + + </tr> + + </table> + + <div class="clear"></div> + + <script type="text/javascript" src="libraries/highlight/public/javascript/highlight.js"></script> + <script type="text/javascript" src="public/javascript/jquery-1.12.0.js"></script> + <script type="text/javascript" src="../public/javascript/zebra_form.js"></script> + <script type="text/javascript" src="public/javascript/core.js"></script> + + </body> + +</html> diff --git a/vendor/stefangabos/zebra_form/examples/libraries/highlight/public/AUTHORS.en.txt b/vendor/stefangabos/zebra_form/examples/libraries/highlight/public/AUTHORS.en.txt new file mode 100644 index 00000000..a771f9b3 --- /dev/null +++ b/vendor/stefangabos/zebra_form/examples/libraries/highlight/public/AUTHORS.en.txt @@ -0,0 +1,38 @@ +Syntax highlighting with language autodetection. + +URL: http://softwaremaniacs.org/soft/highlight/en/ + +Original author and current maintainer: +Ivan Sagalaev <Maniac@SoftwareManiacs.Org> + +Contributors: + +- Peter Leonov <gojpeg@gmail.com> +- Victor Karamzin <Victor.Karamzin@enterra-inc.com> +- Vsevolod Solovyov <vsevolod.solovyov@gmail.com> +- Anton Kovalyov <anton@kovalyov.net> +- Nikita Ledyaev <lenikita@yandex.ru> +- Konstantin Evdokimenko <qewerty@gmail.com> +- Dmitri Roudakov <dmitri@roudakov.ru> +- Yuri Ivanov <ivanov@supersoft.ru> +- Vladimir Ermakov <vooon341@mail.ru> +- Vladimir Gubarkov <xonixx@gmail.com> +- Brian Beck <exogen@gmail.com> +- MajestiC <majestic2k@gmail.com> +- Vasily Polovnyov <vast@whiteants.net> +- Vladimir Epifanov <voldmar@voldmar.ru> +- Alexander Makarov (http://rmcreative.ru/) +- Vah <vahtenberg@gmail.com> +- Shuen-Huei Guan <drake.guan@gmail.com> +- Jason Diamond <jason@diamond.name> +- Michal Gabrukiewicz <mgabru@gmail.com> +- Ruslan Keba <rukeba@gmail.com> +- Sergey Baranov <segyrn@yandex.ru> +- Zaripov Yura <yur4ik7@ukr.net> +- Oleg Volchkov <oleg@volchkov.net> +- Vasily Mikhailitchenko <vaskas@programica.ru> +- Jan Berkel <jan.berkel@gmail.com> +- Vladimir Moskva <vladmos@gmail.com> +- Loren Segal <lsegal@soen.ca> +- Andrew Fedorov <dmmdrs@mail.ru> +- Igor Kalnitsky <igor.kalnitsky@gmail.com> diff --git a/vendor/stefangabos/zebra_form/examples/libraries/highlight/public/LICENSE b/vendor/stefangabos/zebra_form/examples/libraries/highlight/public/LICENSE new file mode 100644 index 00000000..422deb73 --- /dev/null +++ b/vendor/stefangabos/zebra_form/examples/libraries/highlight/public/LICENSE @@ -0,0 +1,24 @@ +Copyright (c) 2006, Ivan Sagalaev +All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of highlight.js nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND ANY +EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE REGENTS AND CONTRIBUTORS BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/vendor/stefangabos/zebra_form/examples/libraries/highlight/public/css/dark.css b/vendor/stefangabos/zebra_form/examples/libraries/highlight/public/css/dark.css new file mode 100644 index 00000000..b9dc34ec --- /dev/null +++ b/vendor/stefangabos/zebra_form/examples/libraries/highlight/public/css/dark.css @@ -0,0 +1,100 @@ +/* + +Dark style from softwaremaniacs.org (c) Ivan Sagalaev <Maniac@SoftwareManiacs.Org> + +*/ + +pre code { + display: block; padding: 0.5em; + background: #444; +} + +pre .keyword, +pre .literal, +pre .change, +pre .winutils, +pre .flow, +pre .lisp .title, +pre .tex .special { + color: white; +} + +pre code, +pre .ruby .subst { + color: #DDD; +} + +pre .string, +pre .function .title, +pre .class .title, +pre .ini .title, +pre .tag .value, +pre .css .rules .value, +pre .preprocessor, +pre .ruby .symbol, +pre .ruby .symbol .string, +pre .ruby .symbol .keyword, +pre .ruby .symbol .keymethods, +pre .ruby .instancevar, +pre .ruby .class .parent, +pre .built_in, +pre .sql .aggregate, +pre .django .template_tag, +pre .django .variable, +pre .smalltalk .class, +pre .javadoc, +pre .ruby .string, +pre .django .filter .argument, +pre .smalltalk .localvars, +pre .smalltalk .array, +pre .attr_selector, +pre .pseudo, +pre .addition, +pre .stream, +pre .envvar, +pre .apache .tag, +pre .apache .cbracket, +pre .tex .command { + color: #D88; +} + +pre .comment, +pre .java .annotation, +pre .python .decorator, +pre .template_comment, +pre .pi, +pre .doctype, +pre .deletion, +pre .shebang, +pre .apache .sqbracket, +pre .tex .formula { + color: #777; +} + +pre .keyword, +pre .literal, +pre .css .id, +pre .phpdoc, +pre .function .title, +pre .class .title, +pre .vbscript .built_in, +pre .sql .aggregate, +pre .rsl .built_in, +pre .smalltalk .class, +pre .xml .tag .title, +pre .diff .header, +pre .chunk, +pre .winutils, +pre .bash .variable, +pre .lisp .title, +pre .apache .tag, +pre .tex .special { + font-weight: bold; +} + +pre .html .css, +pre .html .javascript, +pre .html .vbscript, +pre .tex .formula { + opacity: 0.5; +} diff --git a/vendor/stefangabos/zebra_form/examples/libraries/highlight/public/css/default.css b/vendor/stefangabos/zebra_form/examples/libraries/highlight/public/css/default.css new file mode 100644 index 00000000..9626e11a --- /dev/null +++ b/vendor/stefangabos/zebra_form/examples/libraries/highlight/public/css/default.css @@ -0,0 +1,115 @@ +/* + +Original style from softwaremaniacs.org (c) Ivan Sagalaev <Maniac@SoftwareManiacs.Org> + +*/ + +pre code { + display: block; padding: 0.5em; + background: #F0F0F0; +} + +pre code, +pre .ruby .subst, +pre .tag .title, +pre .lisp .title { + color: black; +} + +pre .string, +pre .title, +pre .constant, +pre .parent, +pre .tag .value, +pre .rules .value, +pre .rules .value .number, +pre .preprocessor, +pre .ruby .symbol, +pre .ruby .symbol .string, +pre .ruby .symbol .keyword, +pre .ruby .symbol .keymethods, +pre .instancevar, +pre .aggregate, +pre .template_tag, +pre .django .variable, +pre .smalltalk .class, +pre .addition, +pre .flow, +pre .stream, +pre .bash .variable, +pre .apache .tag, +pre .apache .cbracket, +pre .tex .command, +pre .tex .special { + color: #800; +} + +pre .comment, +pre .annotation, +pre .template_comment, +pre .diff .header, +pre .chunk { + color: #888; +} + +pre .number, +pre .date, +pre .regexp, +pre .literal, +pre .smalltalk .symbol, +pre .smalltalk .char, +pre .change { + color: #080; +} + +pre .label, +pre .javadoc, +pre .ruby .string, +pre .decorator, +pre .filter .argument, +pre .localvars, +pre .array, +pre .attr_selector, +pre .important, +pre .pseudo, +pre .pi, +pre .doctype, +pre .deletion, +pre .envvar, +pre .shebang, +pre .apache .sqbracket, +pre .nginx .built_in, +pre .tex .formula { + color: #88F; +} + +pre .javadoctag, +pre .phpdoc, +pre .yardoctag { + font-weight: bold; +} + +pre .keyword, +pre .id, +pre .phpdoc, +pre .title, +pre .built_in, +pre .aggregate, +pre .smalltalk .class, +pre .winutils, +pre .bash .variable, +pre .apache .tag, +pre .tex .command { + font-weight: bold; +} + +pre .nginx .built_in { + font-weight: normal; +} + +pre .html .css, +pre .html .javascript, +pre .html .vbscript, +pre .tex .formula { + opacity: 0.5; +} diff --git a/vendor/stefangabos/zebra_form/examples/libraries/highlight/public/css/ir_black.css b/vendor/stefangabos/zebra_form/examples/libraries/highlight/public/css/ir_black.css new file mode 100644 index 00000000..0d3e302a --- /dev/null +++ b/vendor/stefangabos/zebra_form/examples/libraries/highlight/public/css/ir_black.css @@ -0,0 +1,103 @@ +/* + IR_Black style (c) Vasily Mikhailitchenko <vaskas@programica.ru> +*/ + +pre code { + display: block; padding: 0.5em; + background: #222; color: #f8f8f8; + font-size: 11px +} + +pre .shebang, +pre .comment, +pre .template_comment, +pre .javadoc { + color: #7c7c7c; +} + +pre .keyword, +pre .tag, +pre .ruby .function .keyword, +pre .tex .command { + color: #96CBFE; +} + +pre .function .keyword, +pre .sub .keyword, +pre .method, +pre .list .title { + color: #FFFFB6; +} + +pre .string, +pre .tag .value, +pre .cdata, +pre .filter .argument, +pre .attr_selector, +pre .apache .cbracket, +pre .date { + color: #A8FF60; +} + +pre .subst { + color: #DAEFA3; +} + +pre .regexp { + color: #E9C062; +} + +pre .function .title, +pre .sub .identifier, +pre .pi, +pre .decorator, +pre .ini .title, +pre .tex .special { + color: #FFFFB6; +} + +pre .class .title, +pre .constant, +pre .smalltalk .class, +pre .javadoctag, +pre .yardoctag, +pre .phpdoc, +pre .nginx .built_in { + color: #FFFFB6; +} + +pre .symbol, +pre .ruby .symbol .string, +pre .ruby .symbol .keyword, +pre .ruby .symbol .keymethods, +pre .number, +pre .variable, +pre .vbscript, +pre .literal { + color: #C6C5FE; +} + +pre .css .keyword { + color: #96CBFE; +} + +pre .css .rule .keyword, +pre .css .id { + color: #FFFFB6; +} + +pre .css .class { + color: #FFF; +} + +pre .hexcolor { + color: #C6C5FE; +} + +pre .number { + color:#FF73FD; +} + +pre .tex .formula { + opacity: 0.7; +} diff --git a/vendor/stefangabos/zebra_form/examples/libraries/highlight/public/css/sunburst.css b/vendor/stefangabos/zebra_form/examples/libraries/highlight/public/css/sunburst.css new file mode 100644 index 00000000..c07aaaf7 --- /dev/null +++ b/vendor/stefangabos/zebra_form/examples/libraries/highlight/public/css/sunburst.css @@ -0,0 +1,145 @@ +/* + +Sunburst-like style (c) Vasily Polovnyov <vast@whiteants.net> + +*/ + +pre code { + display: block; padding: 0.5em; + font: 1em / 1.3em 'Lucida Console', 'courier new', monospace; + background: #000; color: #f8f8f8; +} + +pre .comment, +pre .template_comment, +pre .javadoc { + color: #aeaeae; + font-style: italic; +} + +pre .keyword, +pre .ruby .function .keyword { + color: #E28964; +} + +pre .function .keyword, +pre .sub .keyword, +pre .method, +pre .list .title { + color: #99CF50; +} + +pre .string, +pre .tag .value, +pre .cdata, +pre .filter .argument, +pre .attr_selector, +pre .apache .cbracket, +pre .date, +pre .tex .command { + color: #65B042; +} + +pre .subst { + color: #DAEFA3; +} + +pre .regexp { + color: #E9C062; +} + +pre .function .title, +pre .sub .identifier, +pre .pi, +pre .tag, +pre .tag .keyword, +pre .decorator, +pre .ini .title, +pre .shebang { + color: #89BDFF; +} + +pre .class .title, +pre .smalltalk .class, +pre .javadoctag, +pre .yardoctag, +pre .phpdoc { + text-decoration: underline; +} + +pre .symbol, +pre .ruby .symbol .string, +pre .ruby .symbol .keyword, +pre .ruby .symbol .keymethods, +pre .number { + color: #3387CC; +} + +pre .params, +pre .variable { + color: #3E87E3; +} + +pre .css .keyword, +pre .pseudo, +pre .tex .special { + color: #CDA869; +} + +pre .css .class { + color: #9B703F; +} + +pre .rules .keyword { + color: #C5AF75; +} + +pre .rules .value { + color: #CF6A4C; +} + +pre .css .id { + color: #8B98AB; +} + +pre .annotation, +pre .apache .sqbracket, +pre .nginx .built_in { + color: #9B859D; +} + +pre .preprocessor { + color: #8996A8; +} + +pre .hexcolor, +pre .css .value .number { + color: #DD7B3B; +} + +pre .css .function { + color: #DAD085; +} + +pre .diff .header, +pre .chunk, +pre .tex .formula { + background-color: #0E2231; + color: #F8F8F8; + font-style: italic; +} + +pre .diff .change { + background-color: #4A410D; + color: #F8F8F8; +} + +pre .addition { + background-color: #253B22; + color: #F8F8F8; +} + +pre .deletion { + background-color: #420E09; + color: #F8F8F8; +} diff --git a/vendor/stefangabos/zebra_form/examples/libraries/highlight/public/css/zenburn.css b/vendor/stefangabos/zebra_form/examples/libraries/highlight/public/css/zenburn.css new file mode 100644 index 00000000..cac08b58 --- /dev/null +++ b/vendor/stefangabos/zebra_form/examples/libraries/highlight/public/css/zenburn.css @@ -0,0 +1,112 @@ +/* + +Zenburn style from voldmar.ru (c) Vladimir Epifanov <voldmar@voldmar.ru> +based on dark.css by Ivan Sagalaev + +*/ + +pre code { + display: block; padding: 0.5em; + background: #3F3F3F; + color: #DCDCDC; +} + +pre .keyword, +pre .tag, +pre .django .tag, +pre .django .keyword, +pre .css .class, +pre .css .id, +pre .lisp .title { + color: #E3CEAB; +} + +pre .django .template_tag, +pre .django .variable, +pre .django .filter .argument { + color: #DCDCDC; +} + +pre .number, +pre .date { + color: #8CD0D3; +} + +pre .dos .envvar, +pre .dos .stream, +pre .variable, +pre .apache .sqbracket { + color: #EFDCBC; +} + +pre .dos .flow, +pre .diff .change, +pre .python .exception, +pre .python .built_in, +pre .literal, +pre .tex .special { + color: #EFEFAF; +} + +pre .diff .chunk, +pre .ruby .subst { + color: #8F8F8F; +} + +pre .dos .keyword, +pre .python .decorator, +pre .class .title, +pre .function .title, +pre .ini .title, +pre .diff .header, +pre .ruby .class .parent, +pre .apache .tag, +pre .nginx .built_in, +pre .tex .command { + color: #efef8f; +} + +pre .dos .winutils, +pre .ruby .symbol, +pre .ruby .symbol .string, +pre .ruby .symbol .keyword, +pre .ruby .symbol .keymethods, +pre .ruby .string, +pre .ruby .instancevar { + color: #DCA3A3; +} + +pre .diff .deletion, +pre .string, +pre .tag .value, +pre .preprocessor, +pre .built_in, +pre .sql .aggregate, +pre .javadoc, +pre .smalltalk .class, +pre .smalltalk .localvars, +pre .smalltalk .array, +pre .css .rules .value, +pre .attr_selector, +pre .pseudo, +pre .apache .cbracket, +pre .tex .formula { + color: #CC9393; +} + +pre .shebang, +pre .diff .addition, +pre .comment, +pre .java .annotation, +pre .template_comment, +pre .pi, +pre .doctype { + color: #7F9F7F; +} + +pre .html .css, +pre .html .javascript, +pre .tex .formula { + opacity: 0.5; +} + diff --git a/vendor/stefangabos/zebra_form/examples/libraries/highlight/public/javascript/css.js b/vendor/stefangabos/zebra_form/examples/libraries/highlight/public/javascript/css.js new file mode 100644 index 00000000..856f4586 --- /dev/null +++ b/vendor/stefangabos/zebra_form/examples/libraries/highlight/public/javascript/css.js @@ -0,0 +1,90 @@ +/* +Language: CSS +Requires: html-xml.js +*/ + +hljs.LANGUAGES.css = { + defaultMode: { + contains: ['at_rule', 'id', 'class', 'attr_selector', 'pseudo', 'rules', 'comment'], + keywords: hljs.HTML_TAGS, + lexems: [hljs.IDENT_RE], + illegal: '=' + }, + case_insensitive: true, + modes: [ + { + className: 'at_rule', + begin: '@', end: '[{;]', + excludeEnd: true, + lexems: [hljs.IDENT_RE], + keywords: {'import': 1, 'page': 1, 'media': 1, 'charset': 1, 'font-face': 1}, + contains: ['function', 'string', 'number', 'pseudo'] + }, + { + className: 'id', + begin: '\\#[A-Za-z0-9_-]+', end: hljs.IMMEDIATE_RE + }, + { + className: 'class', + begin: '\\.[A-Za-z0-9_-]+', end: hljs.IMMEDIATE_RE, + relevance: 0 + }, + { + className: 'attr_selector', + begin: '\\[', end: '\\]', + illegal: '$' + }, + { + className: 'pseudo', + begin: ':(:)?[a-zA-Z0-9\\_\\-\\+\\(\\)\\"\\\']+', end: hljs.IMMEDIATE_RE + }, + { + className: 'rules', + begin: '{', end: '}', + contains: [ + { + className: 'rule', + begin: '[A-Z\\_\\.\\-]+\\s*:', end: ';', endsWithParent: true, + lexems: ['[A-Za-z-]+'], + keywords: {'play-during': 1, 'counter-reset': 1, 'counter-increment': 1, 'min-height': 1, 'quotes': 1, 'border-top': 1, 'pitch': 1, 'font': 1, 'pause': 1, 'list-style-image': 1, 'border-width': 1, 'cue': 1, 'outline-width': 1, 'border-left': 1, 'elevation': 1, 'richness': 1, 'speech-rate': 1, 'border-bottom': 1, 'border-spacing': 1, 'background': 1, 'list-style-type': 1, 'text-align': 1, 'page-break-inside': 1, 'orphans': 1, 'page-break-before': 1, 'text-transform': 1, 'line-height': 1, 'padding-left': 1, 'font-size': 1, 'right': 1, 'word-spacing': 1, 'padding-top': 1, 'outline-style': 1, 'bottom': 1, 'content': 1, 'border-right-style': 1, 'padding-right': 1, 'border-left-style': 1, 'voice-family': 1, 'background-color': 1, 'border-bottom-color': 1, 'outline-color': 1, 'unicode-bidi': 1, 'max-width': 1, 'font-family': 1, 'caption-side': 1, 'border-right-width': 1, 'pause-before': 1, 'border-top-style': 1, 'color': 1, 'border-collapse': 1, 'border-bottom-width': 1, 'float': 1, 'height': 1, 'max-height': 1, 'margin-right': 1, 'border-top-width': 1, 'speak': 1, 'speak-header': 1, 'top': 1, 'cue-before': 1, 'min-width': 1, 'width': 1, 'font-variant': 1, 'border-top-color': 1, 'background-position': 1, 'empty-cells': 1, 'direction': 1, 'border-right': 1, 'visibility': 1, 'padding': 1, 'border-style': 1, 'background-attachment': 1, 'overflow': 1, 'border-bottom-style': 1, 'cursor': 1, 'margin': 1, 'display': 1, 'border-left-width': 1, 'letter-spacing': 1, 'vertical-align': 1, 'clip': 1, 'border-color': 1, 'list-style': 1, 'padding-bottom': 1, 'pause-after': 1, 'speak-numeral': 1, 'margin-left': 1, 'widows': 1, 'border': 1, 'font-style': 1, 'border-left-color': 1, 'pitch-range': 1, 'background-repeat': 1, 'table-layout': 1, 'margin-bottom': 1, 'speak-punctuation': 1, 'font-weight': 1, 'border-right-color': 1, 'page-break-after': 1, 'position': 1, 'white-space': 1, 'text-indent': 1, 'background-image': 1, 'volume': 1, 'stress': 1, 'outline': 1, 'clear': 1, 'z-index': 1, 'text-decoration': 1, 'margin-top': 1, 'azimuth': 1, 'cue-after': 1, 'left': 1, 'list-style-position': 1}, + contains: [ + { + className: 'value', + begin: hljs.IMMEDIATE_RE, endsWithParent: true, excludeEnd: true, + contains: ['function', 'number', 'hexcolor', 'string', 'important', 'comment'] + } + ] + }, + 'comment' + ], + illegal: '[^\\s]' + }, + hljs.C_BLOCK_COMMENT_MODE, + { + className: 'number', + begin: hljs.NUMBER_RE, end: hljs.IMMEDIATE_RE + }, + { + className: 'hexcolor', + begin: '\\#[0-9A-F]+', end: hljs.IMMEDIATE_RE + }, + { + className: 'function', + begin: hljs.IDENT_RE + '\\(', end: '\\)', + contains: [ + { + className: 'params', + begin: hljs.IMMEDIATE_RE, endsWithParent: true, excludeEnd: true, + contains: ['number', 'string'] + } + ] + }, + { + className: 'important', + begin: '!important', end: hljs.IMMEDIATE_RE + }, + hljs.APOS_STRING_MODE, + hljs.QUOTE_STRING_MODE, + hljs.BACKSLASH_ESCAPE + ] +}; diff --git a/vendor/stefangabos/zebra_form/examples/libraries/highlight/public/javascript/highlight.js b/vendor/stefangabos/zebra_form/examples/libraries/highlight/public/javascript/highlight.js new file mode 100644 index 00000000..d85a857d --- /dev/null +++ b/vendor/stefangabos/zebra_form/examples/libraries/highlight/public/javascript/highlight.js @@ -0,0 +1 @@ +var hljs=new function(){var p={};var a={};function n(c){return c.replace(/&/gm,"&amp;").replace(/</gm,"&lt;").replace(/>/gm,"&gt;")}function k(s,r){if(!s){return false}for(var c=0;c<s.length;c++){if(s[c]==r){return true}}return false}function e(s,r,c){var t="m"+(s.cI?"i":"")+(c?"g":"");return new RegExp(r,t)}function j(r){for(var c=0;c<r.childNodes.length;c++){node=r.childNodes[c];if(node.nodeName=="CODE"){return node}if(!(node.nodeType==3&&node.nodeValue.match(/\s+/))){return null}}}function h(u,t){var s="";for(var r=0;r<u.childNodes.length;r++){if(u.childNodes[r].nodeType==3){var c=u.childNodes[r].nodeValue;if(t){c=c.replace(/\n/g,"")}s+=c}else{if(u.childNodes[r].nodeName=="BR"){s+="\n"}else{s+=h(u.childNodes[r])}}}s=s.replace(/\r/g,"\n");return s}function b(t){var r=t.className.split(/\s+/);r=r.concat(t.parentNode.className.split(/\s+/));for(var c=0;c<r.length;c++){var s=r[c].replace(/^language-/,"");if(p[s]||s=="no-highlight"){return s}}}function d(c){var r=[];(function(t,u){for(var s=0;s<t.childNodes.length;s++){if(t.childNodes[s].nodeType==3){u+=t.childNodes[s].nodeValue.length}else{if(t.childNodes[s].nodeName=="BR"){u+=1}else{r.push({event:"start",offset:u,node:t.childNodes[s]});u=arguments.callee(t.childNodes[s],u);r.push({event:"stop",offset:u,node:t.childNodes[s]})}}}return u})(c,0);return r}function m(z,A,y){var s=0;var x="";var u=[];function v(){if(z.length&&A.length){if(z[0].offset!=A[0].offset){return(z[0].offset<A[0].offset)?z:A}else{return(z[0].event=="start"&&A[0].event=="stop")?A:z}}else{return z.length?z:A}}function t(E){var F="<"+E.nodeName.toLowerCase();for(var C=0;C<E.attributes.length;C++){var D=E.attributes[C];F+=" "+D.nodeName.toLowerCase();if(D.nodeValue!=undefined){F+='="'+n(D.nodeValue)+'"'}}return F+">"}function B(C){return"</"+C.nodeName.toLowerCase()+">"}while(z.length||A.length){var w=v().splice(0,1)[0];x+=n(y.substr(s,w.offset-s));s=w.offset;if(w.event=="start"){x+=t(w.node);u.push(w.node)}else{if(w.event=="stop"){var r=u.length;do{r--;var c=u[r];x+=B(c)}while(c!=w.node);u.splice(r,1);while(r<u.length){x+=t(u[r]);r++}}}}x+=y.substr(s);return x}function g(K,E){function A(r,N){for(var M=0;M<N.sm.length;M++){if(N.sm[M].bR.test(r)){return N.sm[M]}}return null}function x(M,r){if(D[M].e&&D[M].eR.test(r)){return 1}if(D[M].eW){var N=x(M-1,r);return N?N+1:0}return 0}function y(r,M){return M.iR&&M.iR.test(r)}function B(P,O){var N=[];for(var M=0;M<P.sm.length;M++){N.push(P.sm[M].b)}var r=D.length-1;do{if(D[r].e){N.push(D[r].e)}r--}while(D[r+1].eW);if(P.i){N.push(P.i)}return e(O,"("+N.join("|")+")",true)}function t(N,M){var O=D[D.length-1];if(!O.t){O.t=B(O,I)}O.t.lastIndex=M;var r=O.t.exec(N);if(r){return[N.substr(M,r.index-M),r[0],false]}else{return[N.substr(M),"",true]}}function c(P,r){var M=I.cI?r[0].toLowerCase():r[0];for(var O in P.keywordGroups){if(!P.keywordGroups.hasOwnProperty(O)){continue}var N=P.keywordGroups[O].hasOwnProperty(M);if(N){return[O,N]}}return false}function G(N,Q){if(!Q.k||!Q.l){return n(N)}if(!Q.lR){var P="("+Q.l.join("|")+")";Q.lR=e(I,P,true)}var O="";var R=0;Q.lR.lastIndex=0;var M=Q.lR.exec(N);while(M){O+=n(N.substr(R,M.index-R));var r=c(Q,M);if(r){u+=r[1];O+='<span class="'+r[0]+'">'+n(M[0])+"</span>"}else{O+=n(M[0])}R=Q.lR.lastIndex;M=Q.lR.exec(N)}O+=n(N.substr(R,N.length-R));return O}function L(r,N){if(N.subLanguage&&a[N.subLanguage]){var M=g(N.subLanguage,r);u+=M.keyword_count;C+=M.r;return M.value}else{return G(r,N)}}function J(N,r){var M=N.nM?"":'<span class="'+N.displayClassName+'">';if(N.rB){s+=M;N.buffer=""}else{if(N.eB){s+=n(r)+M;N.buffer=""}else{s+=M;N.buffer=r}}D[D.length]=N}function F(M,O,R){var P=D[D.length-1];if(R){s+=L(P.buffer+M,P);return false}var S=A(O,P);if(S){s+=L(P.buffer+M,P);J(S,O);C+=S.r;return S.rB}var r=x(D.length-1,O);if(r){var T=P.nM?"":"</span>";if(P.rE){s+=L(P.buffer+M,P)+T}else{if(P.eE){s+=L(P.buffer+M,P)+T+n(O)}else{s+=L(P.buffer+M+O,P)+T}}while(r>1){T=D[D.length-2].nM?"":"</span>";s+=T;r--;D.length--}var Q=D[D.length-1];D.length--;D[D.length-1].buffer="";if(Q.starts){for(var N=0;N<I.m.length;N++){if(I.m[N].cN==Q.starts){J(I.m[N],"");break}}}return P.rE}if(y(O,P)){throw"Illegal"}}var I=p[K];var D=[I.dM];var C=0;var u=0;var s="";try{var w=0;I.dM.buffer="";do{var z=t(E,w);var v=F(z[0],z[1],z[2]);w+=z[0].length;if(!v){w+=z[1].length}}while(!z[2]);if(D.length>1){throw"Illegal"}return{language:K,r:C,keyword_count:u,value:s}}catch(H){if(H=="Illegal"){return{language:null,r:0,keyword_count:0,value:n(E)}}else{throw H}}}function i(){function r(y,x){if(y.compiled){return}if(y.b){y.bR=e(x,"^"+y.b)}if(y.e){y.eR=e(x,"^"+y.e)}if(y.i){y.iR=e(x,"^(?:"+y.i+")")}if(y.r==undefined){y.r=1}if(!y.displayClassName){y.displayClassName=y.cN}if(!y.cN){y.nM=true}for(var w in y.k){if(!y.k.hasOwnProperty(w)){continue}if(y.k[w] instanceof Object){y.keywordGroups=y.k}else{y.keywordGroups={keyword:y.k}}break}y.sm=[];if(y.c){for(var v=0;v<y.c.length;v++){if(y.c[v] instanceof Object){y.sm.push(y.c[v])}else{for(var u=0;u<x.m.length;u++){if(x.m[u].cN==y.c[v]){y.sm.push(x.m[u])}}}}}y.compiled=true;for(var v=0;v<y.sm.length;v++){r(y.sm[v],x)}}for(var t in p){if(!p.hasOwnProperty(t)){continue}var c=[p[t].dM].concat(p[t].m);for(var s=0;s<c.length;s++){r(c[s],p[t])}}}function f(){if(f.called){return}f.called=true;i();a=p}function q(v,A,r){f();var C=h(v,r);var t=b(v);if(t=="no-highlight"){return}if(t){var y=g(t,C)}else{var y={language:"",keyword_count:0,r:0,value:n(C)};var z=y;for(var B in a){if(!a.hasOwnProperty(B)){continue}var w=g(B,C);if(w.keyword_count+w.r>z.keyword_count+z.r){z=w}if(w.keyword_count+w.r>y.keyword_count+y.r){z=y;y=w}}}var u=v.className;if(!u.match(y.language)){u=u?(u+" "+y.language):y.language}var c=d(v);if(c.length){var s=document.createElement("pre");s.innerHTML=y.value;y.value=m(c,d(s),C)}if(A){y.value=y.value.replace(/^((<[^>]+>|\t)+)/gm,function(D,G,F,E){return G.replace(/\t/g,A)})}if(r){y.value=y.value.replace(/\n/g,"<br>")}if(/MSIE [678]/.test(navigator.userAgent)&&v.tagName=="CODE"&&v.parentNode.tagName=="PRE"){var s=v.parentNode;var x=document.createElement("div");x.innerHTML="<pre><code>"+y.value+"</code></pre>";v=x.firstChild.firstChild;x.firstChild.cN=s.cN;s.parentNode.replaceChild(x.firstChild,s)}else{v.innerHTML=y.value}v.className=u;v.dataset={};v.dataset.result={language:y.language,kw:y.keyword_count,re:y.r};if(z&&z.language){v.dataset.second_best={language:z.language,kw:z.keyword_count,re:z.r}}}function l(){if(l.called){return}l.called=true;f();if(arguments.length){for(var c=0;c<arguments.length;c++){if(p[arguments[c]]){a[arguments[c]]=p[arguments[c]]}}}var s=document.getElementsByTagName("pre");for(var c=0;c<s.length;c++){var r=j(s[c]);if(r){q(r,hljs.tabReplace)}}}function o(){var c=arguments;var r=function(){l.apply(null,c)};if(window.addEventListener){window.addEventListener("DOMContentLoaded",r,false);window.addEventListener("load",r,false)}else{if(window.attachEvent){window.attachEvent("onload",r)}else{window.onload=r}}}this.LANGUAGES=p;this.initHighlightingOnLoad=o;this.highlightBlock=q;this.initHighlighting=l;this.IMR="\\b|\\B";this.IR="[a-zA-Z][a-zA-Z0-9_]*";this.UIR="[a-zA-Z_][a-zA-Z0-9_]*";this.NR="\\b\\d+(\\.\\d+)?";this.CNR="\\b(0x[A-Za-z0-9]+|\\d+(\\.\\d+)?)";this.RSR="!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|\\.|-|-=|/|/=|:|;|<|<<|<<=|<=|=|==|===|>|>=|>>|>>=|>>>|>>>=|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~";this.ASM={cN:"string",b:"'",e:"'",i:"\\n",c:["escape"],r:0};this.QSM={cN:"string",b:'"',e:'"',i:"\\n",c:["escape"],r:0};this.BE={cN:"escape",b:"\\\\.",e:this.IMR,nM:true,r:0};this.CLCM={cN:"comment",b:"//",e:"$",r:0};this.CBLCLM={cN:"comment",b:"/\\*",e:"\\*/"};this.HCM={cN:"comment",b:"#",e:"$"};this.NUMBER_MODE={cN:"number",b:this.NR,e:this.IMR,r:0};this.CNM={cN:"number",b:this.CNR,e:this.IMR,r:0};this.inherit=function(c,t){var s={};for(var r in c){s[r]=c[r]}if(t){for(var r in t){s[r]=t[r]}}return s}}();var initHighlightingOnLoad=hljs.initHighlightingOnLoad;(function(){var d="[A-Za-z0-9\\._:-]+";var k={cN:"pi",b:"<\\?",e:"\\?>",r:10};var i={cN:"doctype",b:"<!DOCTYPE",e:">",r:10};var j={cN:"comment",b:"<!--",e:"-->"};var g={cN:"tag",b:"</?",e:"/?>",c:["title","tag_internal"]};var e={cN:"title",b:d,e:hljs.IMR};var b={cN:"tag_internal",b:hljs.IMR,eW:true,nM:true,c:["attribute","value_container"],r:0};var f={cN:"attribute",b:d,e:hljs.IMR,r:0};var a={cN:"value_container",b:'="',rB:true,e:'"',nM:true,c:[{cN:"value",b:'"',eW:true}]};var c={cN:"value_container",b:"='",rB:true,e:"'",nM:true,c:[{cN:"value",b:"'",eW:true}]};hljs.LANGUAGES.xml={dM:{c:["pi","doctype","comment","cdata","tag"]},cI:true,m:[{cN:"cdata",b:"<\\!\\[CDATA\\[",e:"\\]\\]>",r:10},k,i,j,g,hljs.inherit(e,{r:1.75}),b,f,a,c]};var h={code:1,kbd:1,font:1,noscript:1,style:1,img:1,title:1,menu:1,tt:1,tr:1,param:1,li:1,tfoot:1,th:1,input:1,td:1,dl:1,blockquote:1,fieldset:1,big:1,dd:1,abbr:1,optgroup:1,dt:1,button:1,isindex:1,p:1,small:1,div:1,dir:1,em:1,frame:1,meta:1,sub:1,bdo:1,label:1,acronym:1,sup:1,body:1,basefont:1,base:1,br:1,address:1,strong:1,legend:1,ol:1,script:1,caption:1,s:1,col:1,h2:1,h3:1,h1:1,h6:1,h4:1,h5:1,table:1,select:1,noframes:1,span:1,area:1,dfn:1,strike:1,cite:1,thead:1,head:1,option:1,form:1,hr:1,"var":1,link:1,b:1,colgroup:1,ul:1,applet:1,del:1,iframe:1,pre:1,frameset:1,ins:1,tbody:1,html:1,samp:1,map:1,object:1,a:1,xmlns:1,center:1,textarea:1,i:1,q:1,u:1,section:1,nav:1,article:1,aside:1,hgroup:1,header:1,footer:1,figure:1,figurecaption:1,time:1,mark:1,wbr:1,embed:1,video:1,audio:1,source:1,canvas:1,datalist:1,keygen:1,output:1,progress:1,meter:1,details:1,summary:1,command:1};hljs.LANGUAGES.html={dM:{c:["comment","pi","doctype","vbscript","tag"]},cI:true,m:[{cN:"tag",b:"<style",e:">",l:[hljs.IR],k:{style:1},c:["tag_internal"],starts:"css"},{cN:"tag",b:"<script",e:">",l:[hljs.IR],k:{script:1},c:["tag_internal"],starts:"javascript"},{cN:"css",e:"</style>",rE:true,subLanguage:"css"},{cN:"javascript",e:"<\/script>",rE:true,subLanguage:"javascript"},{cN:"vbscript",b:"<%",e:"%>",subLanguage:"vbscript"},j,k,i,hljs.inherit(g),hljs.inherit(e,{l:[hljs.IR],k:h}),hljs.inherit(b),f,a,c,{cN:"value_container",b:"=",e:hljs.IMR,c:[{cN:"unquoted_value",displayClassName:"value",b:"[^\\s/>]+",e:hljs.IMR}]}]}})();hljs.LANGUAGES.javascript={dM:{l:[hljs.UIR],c:["string","comment","number","regexp_container","function"],k:{keyword:{"in":1,"if":1,"for":1,"while":1,"finally":1,"var":1,"new":1,"function":1,"do":1,"return":1,"void":1,"else":1,"break":1,"catch":1,"instanceof":1,"with":1,"throw":1,"case":1,"default":1,"try":1,"this":1,"switch":1,"continue":1,"typeof":1,"delete":1},literal:{"true":1,"false":1,"null":1}}},m:[hljs.CLCM,hljs.CBLCLM,hljs.CNM,hljs.ASM,hljs.QSM,hljs.BE,{cN:"regexp_container",b:"("+hljs.RSR+"|case|return|throw)\\s*",e:hljs.IMR,nM:true,l:[hljs.IR],k:{"return":1,"throw":1,"case":1},c:["comment",{cN:"regexp",b:"/.*?[^\\\\/]/[gim]*",e:hljs.IMR}],r:0},{cN:"function",b:"\\bfunction\\b",e:"{",l:[hljs.UIR],k:{"function":1},c:[{cN:"title",b:"[A-Za-z$_][0-9A-Za-z$_]*",e:hljs.IMR},{cN:"params",b:"\\(",e:"\\)",c:["string","comment"]}]}]};hljs.LANGUAGES.css={dM:{c:["at_rule","id","class","attr_selector","pseudo","rules","comment"],k:hljs.HTML_TAGS,l:[hljs.IR],i:"="},cI:true,m:[{cN:"at_rule",b:"@",e:"[{;]",eE:true,l:[hljs.IR],k:{"import":1,page:1,media:1,charset:1,"font-face":1},c:["function","string","number","pseudo"]},{cN:"id",b:"\\#[A-Za-z0-9_-]+",e:hljs.IMR},{cN:"class",b:"\\.[A-Za-z0-9_-]+",e:hljs.IMR,r:0},{cN:"attr_selector",b:"\\[",e:"\\]",i:"$"},{cN:"pseudo",b:":(:)?[a-zA-Z0-9\\_\\-\\+\\(\\)\\\"\\']+",e:hljs.IMR},{cN:"rules",b:"{",e:"}",c:[{cN:"rule",b:"[A-Z\\_\\.\\-]+\\s*:",e:";",eW:true,l:["[A-Za-z-]+"],k:{"play-during":1,"counter-reset":1,"counter-increment":1,"min-height":1,quotes:1,"border-top":1,pitch:1,font:1,pause:1,"list-style-image":1,"border-width":1,cue:1,"outline-width":1,"border-left":1,elevation:1,richness:1,"speech-rate":1,"border-bottom":1,"border-spacing":1,background:1,"list-style-type":1,"text-align":1,"page-break-inside":1,orphans:1,"page-break-before":1,"text-transform":1,"line-height":1,"padding-left":1,"font-size":1,right:1,"word-spacing":1,"padding-top":1,"outline-style":1,bottom:1,content:1,"border-right-style":1,"padding-right":1,"border-left-style":1,"voice-family":1,"background-color":1,"border-bottom-color":1,"outline-color":1,"unicode-bidi":1,"max-width":1,"font-family":1,"caption-side":1,"border-right-width":1,"pause-before":1,"border-top-style":1,color:1,"border-collapse":1,"border-bottom-width":1,"float":1,height:1,"max-height":1,"margin-right":1,"border-top-width":1,speak:1,"speak-header":1,top:1,"cue-before":1,"min-width":1,width:1,"font-variant":1,"border-top-color":1,"background-position":1,"empty-cells":1,direction:1,"border-right":1,visibility:1,padding:1,"border-style":1,"background-attachment":1,overflow:1,"border-bottom-style":1,cursor:1,margin:1,display:1,"border-left-width":1,"letter-spacing":1,"vertical-align":1,clip:1,"border-color":1,"list-style":1,"padding-bottom":1,"pause-after":1,"speak-numeral":1,"margin-left":1,widows:1,border:1,"font-style":1,"border-left-color":1,"pitch-range":1,"background-repeat":1,"table-layout":1,"margin-bottom":1,"speak-punctuation":1,"font-weight":1,"border-right-color":1,"page-break-after":1,position:1,"white-space":1,"text-indent":1,"background-image":1,volume:1,stress:1,outline:1,clear:1,"z-index":1,"text-decoration":1,"margin-top":1,azimuth:1,"cue-after":1,left:1,"list-style-position":1},c:[{cN:"value",b:hljs.IMR,eW:true,eE:true,c:["function","number","hexcolor","string","important","comment"]}]},"comment"],i:"[^\\s]"},hljs.CBLCLM,{cN:"number",b:hljs.NR,e:hljs.IMR},{cN:"hexcolor",b:"\\#[0-9A-F]+",e:hljs.IMR},{cN:"function",b:hljs.IR+"\\(",e:"\\)",c:[{cN:"params",b:hljs.IMR,eW:true,eE:true,c:["number","string"]}]},{cN:"important",b:"!important",e:hljs.IMR},hljs.ASM,hljs.QSM,hljs.BE]};hljs.LANGUAGES.php={dM:{l:[hljs.IR],c:["comment","number","string","variable","preprocessor"],k:{and:1,include_once:1,list:1,"abstract":1,global:1,"private":1,echo:1,"interface":1,as:1,"static":1,endswitch:1,array:1,"null":1,"if":1,endwhile:1,or:1,"const":1,"for":1,endforeach:1,self:1,"var":1,"while":1,isset:1,"public":1,"protected":1,exit:1,foreach:1,"throw":1,elseif:1,"extends":1,include:1,__FILE__:1,empty:1,require_once:1,"function":1,"do":1,xor:1,"return":1,"implements":1,parent:1,clone:1,use:1,__CLASS__:1,__LINE__:1,"else":1,"break":1,print:1,"eval":1,"new":1,"catch":1,__METHOD__:1,"class":1,"case":1,exception:1,php_user_filter:1,"default":1,die:1,require:1,__FUNCTION__:1,enddeclare:1,"final":1,"try":1,"this":1,"switch":1,"continue":1,endfor:1,endif:1,declare:1,unset:1,"true":1,"false":1,namespace:1}},cI:true,m:[hljs.CLCM,hljs.HCM,{cN:"comment",b:"/\\*",e:"\\*/",c:[{cN:"phpdoc",b:"\\s@[A-Za-z]+",e:hljs.IMR,r:10}]},hljs.CNM,{cN:"string",b:"'",e:"'",c:["escape"],r:0},{cN:"string",b:'"',e:'"',c:["escape"],r:0},hljs.BE,{cN:"variable",b:"\\$[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*",e:hljs.IMR},{cN:"preprocessor",b:"<\\?php",e:hljs.IMR,r:10},{cN:"preprocessor",b:"\\?>",e:hljs.IMR}]}; \ No newline at end of file diff --git a/vendor/stefangabos/zebra_form/examples/libraries/highlight/public/javascript/html-xml.js b/vendor/stefangabos/zebra_form/examples/libraries/highlight/public/javascript/html-xml.js new file mode 100644 index 00000000..454a2405 --- /dev/null +++ b/vendor/stefangabos/zebra_form/examples/libraries/highlight/public/javascript/html-xml.js @@ -0,0 +1,164 @@ +/* +Language: HTML, XML +*/ + +(function(){ + + var XML_IDENT_RE = '[A-Za-z0-9\\._:-]+'; + + var PI = { + className: 'pi', + begin: '<\\?', end: '\\?>', + relevance: 10 + }; + var DOCTYPE = { + className: 'doctype', + begin: '<!DOCTYPE', end: '>', + relevance: 10 + }; + var COMMENT = { + className: 'comment', + begin: '<!--', end: '-->' + }; + var TAG = { + className: 'tag', + begin: '</?', end: '/?>', + contains: ['title', 'tag_internal'] + }; + var TITLE = { + className: 'title', + begin: XML_IDENT_RE, end: hljs.IMMEDIATE_RE + }; + var TAG_INTERNAL = { + className: 'tag_internal', + begin: hljs.IMMEDIATE_RE, endsWithParent: true, noMarkup: true, + contains: ['attribute', 'value_container'], + relevance: 0 + }; + var ATTR = { + className: 'attribute', + begin: XML_IDENT_RE, end: hljs.IMMEDIATE_RE, + relevance: 0 + }; + var VALUE_CONTAINER_QUOT = { + className: 'value_container', + begin: '="', returnBegin: true, end: '"', noMarkup: true, + contains: [{ + className: 'value', + begin: '"', endsWithParent: true + }] + }; + var VALUE_CONTAINER_APOS = { + className: 'value_container', + begin: '=\'', returnBegin: true, end: '\'', noMarkup: true, + contains: [{ + className: 'value', + begin: '\'', endsWithParent: true + }] + }; + + hljs.LANGUAGES.xml = { + defaultMode: { + contains: ['pi', 'doctype', 'comment', 'cdata', 'tag'] + }, + case_insensitive: true, + modes: [ + { + className: 'cdata', + begin: '<\\!\\[CDATA\\[', end: '\\]\\]>', + relevance: 10 + }, + PI, + DOCTYPE, + COMMENT, + TAG, + hljs.inherit(TITLE, {relevance: 1.75}), + TAG_INTERNAL, + ATTR, + VALUE_CONTAINER_QUOT, + VALUE_CONTAINER_APOS + ] + }; + + var HTML_TAGS = { + 'code': 1, 'kbd': 1, 'font': 1, 'noscript': 1, 'style': 1, 'img': 1, + 'title': 1, 'menu': 1, 'tt': 1, 'tr': 1, 'param': 1, 'li': 1, 'tfoot': 1, + 'th': 1, 'input': 1, 'td': 1, 'dl': 1, 'blockquote': 1, 'fieldset': 1, + 'big': 1, 'dd': 1, 'abbr': 1, 'optgroup': 1, 'dt': 1, 'button': 1, + 'isindex': 1, 'p': 1, 'small': 1, 'div': 1, 'dir': 1, 'em': 1, 'frame': 1, + 'meta': 1, 'sub': 1, 'bdo': 1, 'label': 1, 'acronym': 1, 'sup': 1, 'body': 1, + 'basefont': 1, 'base': 1, 'br': 1, 'address': 1, 'strong': 1, 'legend': 1, + 'ol': 1, 'script': 1, 'caption': 1, 's': 1, 'col': 1, 'h2': 1, 'h3': 1, + 'h1': 1, 'h6': 1, 'h4': 1, 'h5': 1, 'table': 1, 'select': 1, 'noframes': 1, + 'span': 1, 'area': 1, 'dfn': 1, 'strike': 1, 'cite': 1, 'thead': 1, + 'head': 1, 'option': 1, 'form': 1, 'hr': 1, 'var': 1, 'link': 1, 'b': 1, + 'colgroup': 1, 'ul': 1, 'applet': 1, 'del': 1, 'iframe': 1, 'pre': 1, + 'frameset': 1, 'ins': 1, 'tbody': 1, 'html': 1, 'samp': 1, 'map': 1, + 'object': 1, 'a': 1, 'xmlns': 1, 'center': 1, 'textarea': 1, 'i': 1, 'q': 1, + 'u': 1, 'section': 1, 'nav': 1, 'article': 1, 'aside': 1, 'hgroup': 1, + 'header': 1, 'footer': 1, 'figure': 1, 'figurecaption': 1, 'time': 1, + 'mark': 1, 'wbr': 1, 'embed': 1, 'video': 1, 'audio': 1, 'source': 1, + 'canvas': 1, 'datalist': 1, 'keygen': 1, 'output': 1, 'progress': 1, + 'meter': 1, 'details': 1, 'summary': 1, 'command': 1 + }; + + hljs.LANGUAGES.html = { + defaultMode: { + contains: ['comment', 'pi', 'doctype', 'vbscript', 'tag'] + }, + case_insensitive: true, + modes: [ + { + className: 'tag', + begin: '<style', end: '>', + lexems: [hljs.IDENT_RE], keywords: {'style': 1}, + contains: ['tag_internal'], + starts: 'css' + }, + { + className: 'tag', + begin: '<script', end: '>', + lexems: [hljs.IDENT_RE], keywords: {'script': 1}, + contains: ['tag_internal'], + starts: 'javascript' + }, + { + className: 'css', + end: '</style>', returnEnd: true, + subLanguage: 'css' + }, + { + className: 'javascript', + end: '</script>', returnEnd: true, + subLanguage: 'javascript' + }, + { + className: 'vbscript', + begin: '<%', end: '%>', + subLanguage: 'vbscript' + }, + COMMENT, + PI, + DOCTYPE, + hljs.inherit(TAG), + hljs.inherit(TITLE, { + lexems: [hljs.IDENT_RE], keywords: HTML_TAGS + }), + hljs.inherit(TAG_INTERNAL), + ATTR, + VALUE_CONTAINER_QUOT, + VALUE_CONTAINER_APOS, + { + className: 'value_container', + begin: '=', end: hljs.IMMEDIATE_RE, + contains: [ + { + className: 'unquoted_value', displayClassName: 'value', + begin: '[^\\s/>]+', end: hljs.IMMEDIATE_RE + } + ] + } + ] + }; + +})(); diff --git a/vendor/stefangabos/zebra_form/examples/libraries/highlight/public/javascript/javascript.js b/vendor/stefangabos/zebra_form/examples/libraries/highlight/public/javascript/javascript.js new file mode 100644 index 00000000..9fa1d68c --- /dev/null +++ b/vendor/stefangabos/zebra_form/examples/libraries/highlight/public/javascript/javascript.js @@ -0,0 +1,53 @@ +/* +Language: Javascript +*/ + +hljs.LANGUAGES.javascript = { + defaultMode: { + lexems: [hljs.UNDERSCORE_IDENT_RE], + contains: ['string', 'comment', 'number', 'regexp_container', 'function'], + keywords: { + 'keyword': {'in': 1, 'if': 1, 'for': 1, 'while': 1, 'finally': 1, 'var': 1, 'new': 1, 'function': 1, 'do': 1, 'return': 1, 'void': 1, 'else': 1, 'break': 1, 'catch': 1, 'instanceof': 1, 'with': 1, 'throw': 1, 'case': 1, 'default': 1, 'try': 1, 'this': 1, 'switch': 1, 'continue': 1, 'typeof': 1, 'delete': 1}, + 'literal': {'true': 1, 'false': 1, 'null': 1} + } + }, + modes: [ + hljs.C_LINE_COMMENT_MODE, + hljs.C_BLOCK_COMMENT_MODE, + hljs.C_NUMBER_MODE, + hljs.APOS_STRING_MODE, + hljs.QUOTE_STRING_MODE, + hljs.BACKSLASH_ESCAPE, + { + className: 'regexp_container', + begin: '(' + hljs.RE_STARTERS_RE + '|case|return|throw)\\s*', end: hljs.IMMEDIATE_RE, noMarkup: true, + lexems: [hljs.IDENT_RE], + keywords: {'return': 1, 'throw': 1, 'case': 1}, + contains: [ + 'comment', + { + className: 'regexp', + begin: '/.*?[^\\\\/]/[gim]*', end: hljs.IMMEDIATE_RE + } + ], + relevance: 0 + }, + { + className: 'function', + begin: '\\bfunction\\b', end: '{', + lexems: [hljs.UNDERSCORE_IDENT_RE], + keywords: {'function': 1}, + contains: [ + { + className: 'title', + begin: '[A-Za-z$_][0-9A-Za-z$_]*', end: hljs.IMMEDIATE_RE + }, + { + className: 'params', + begin: '\\(', end: '\\)', + contains: ['string', 'comment'] + } + ] + } + ] +}; diff --git a/vendor/stefangabos/zebra_form/examples/libraries/highlight/public/javascript/php.js b/vendor/stefangabos/zebra_form/examples/libraries/highlight/public/javascript/php.js new file mode 100644 index 00000000..98c3b1e5 --- /dev/null +++ b/vendor/stefangabos/zebra_form/examples/libraries/highlight/public/javascript/php.js @@ -0,0 +1,68 @@ +/* +Language: PHP +Author: Victor Karamzin <Victor.Karamzin@enterra-inc.com> +*/ + +hljs.LANGUAGES.php = { + defaultMode: { + lexems: [hljs.IDENT_RE], + contains: ['comment', 'number', 'string', 'variable', 'preprocessor'], + keywords: { + 'and': 1, 'include_once': 1, 'list': 1, 'abstract': 1, 'global': 1, + 'private': 1, 'echo': 1, 'interface': 1, 'as': 1, 'static': 1, + 'endswitch': 1, 'array': 1, 'null': 1, 'if': 1, 'endwhile': 1, 'or': 1, + 'const': 1, 'for': 1, 'endforeach': 1, 'self': 1, 'var': 1, 'while': 1, + 'isset': 1, 'public': 1, 'protected': 1, 'exit': 1, 'foreach': 1, + 'throw': 1, 'elseif': 1, 'extends': 1, 'include': 1, '__FILE__': 1, + 'empty': 1, 'require_once': 1, 'function': 1, 'do': 1, 'xor': 1, + 'return': 1, 'implements': 1, 'parent': 1, 'clone': 1, 'use': 1, + '__CLASS__': 1, '__LINE__': 1, 'else': 1, 'break': 1, 'print': 1, + 'eval': 1, 'new': 1, 'catch': 1, '__METHOD__': 1, 'class': 1, 'case': 1, + 'exception': 1, 'php_user_filter': 1, 'default': 1, 'die': 1, + 'require': 1, '__FUNCTION__': 1, 'enddeclare': 1, 'final': 1, 'try': 1, + 'this': 1, 'switch': 1, 'continue': 1, 'endfor': 1, 'endif': 1, + 'declare': 1, 'unset': 1, 'true': 1, 'false': 1, 'namespace': 1 + } + }, + case_insensitive: true, + modes: [ + hljs.C_LINE_COMMENT_MODE, + hljs.HASH_COMMENT_MODE, + { + className: 'comment', + begin: '/\\*', end: '\\*/', + contains: [{ + className: 'phpdoc', + begin: '\\s@[A-Za-z]+', end: hljs.IMMEDIATE_RE, + relevance: 10 + }] + }, + hljs.C_NUMBER_MODE, + { + className: 'string', + begin: '\'', end: '\'', + contains: ['escape'], + relevance: 0 + }, + { + className: 'string', + begin: '"', end: '"', + contains: ['escape'], + relevance: 0 + }, + hljs.BACKSLASH_ESCAPE, + { + className: 'variable', + begin: '\\$[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*', end: hljs.IMMEDIATE_RE + }, + { + className: 'preprocessor', + begin: '<\\?php', end: hljs.IMMEDIATE_RE, + relevance: 10 + }, + { + className: 'preprocessor', + begin: '\\?>', end: hljs.IMMEDIATE_RE + } + ] +}; diff --git a/vendor/stefangabos/zebra_form/examples/libraries/highlight/public/readme.eng.txt b/vendor/stefangabos/zebra_form/examples/libraries/highlight/public/readme.eng.txt new file mode 100644 index 00000000..c8bf370a --- /dev/null +++ b/vendor/stefangabos/zebra_form/examples/libraries/highlight/public/readme.eng.txt @@ -0,0 +1,508 @@ +# Highlight.js + +Highlight.js highlights syntax in code examples on blogs, forums and +in fact on any web pages. It's very easy to use because it works +automatically: finds blocks of code, detects a language, highlights it. + +Autodetection can be fine tuned when it fails by itself (see "Heuristics"). + + +## Installation and usage + +Downloaded package includes file "highlight.pack.js" which is a full compressed +version of the library intended to use in production. All uncompressed source +files are also available, feel free to look into them! + +The script is installed by linking to a single file and making a single +initialization call: + + <script type="text/javascript" src="highlight.pack.js"></script> + <script type="text/javascript"> + hljs.initHighlightingOnLoad(); + </script> + +Also you can replaces TAB ('\x09') characters used for indentation in your code +with some fixed number of spaces or with a `<span>` to set them special styling: + + <script type="text/javascript"> + hljs.tabReplace = ' '; // 4 spaces + // ... or + hljs.tabReplace = '<span class="indent">\t</span>'; + + hljs.initHighlightingOnLoad(); + </script> + +Then the script looks in your page for fragments `<pre><code>...</code></pre>` +that are used traditionally to mark up code examples. Their content is +marked up by logical pieces with defined class names. + + +### Custom initialization + +If you use different markup for code blocks you can initialize them manually +with `highlightBlock(code, tabReplace)` function. It takes a DOM element +containing the code to highlight and optionally a string with which to replace +TAB characters. + +Initialization using for example jQuery might look like this: + + $(document).ready(function() { + $('pre code').each(function(i, e) {hljs.highlightBlock(e, ' ')}); + }); + +If your code container relies on `<br>` tags instead of line breaks (i.e. if +it's not `<pre>`) pass `true` into third parameter of `highlightBlock`: + + $('div.code').each(function(i, e) {hljs.highlightBlock(e, null, true)}); + + +### Styling + +Elements of code marked up with classes can be styled as desired: + + .comment { + color: gray; + } + + .keyword { + font-weight: bold; + } + + .python .string { + color: blue; + } + + .html .atribute .value { + color: green; + } + +Highligt.js comes with several style themes located in "styles" directory that +can be used directly or as a base for your own experiments. + +A full list of available classes is below ("Languages"). + + +## Export + +File export.html contains a little program that shows and allows to copy and paste +an HTML code generated by the highlighter for any code snippet. This can be useful +in situations when one can't use the script itself on a site. + + +## Languages + +This is a full list of available classes corresponding to languages' +syntactic structures. In parentheses after language names are identifiers +used as class names in `<code>` element. + +Python ("python"): + + keyword keyword + built_in built-in objects (None, False, True and Ellipsis) + number number + string string (of any type) + comment comment + decorator @-decorator for functions + function function header "def some_name(...):" + class class header "class SomeName(...):" + title name of a function or a class inside a header + params everything inside parentheses in a function's or class' header + +Python profiler results ("profile"): + + number number + string string + builtin builtin function entry + filename filename in an entry + summary profiling summary + header header of table of results + keyword column header + function function name in an entry (including parentheses) + title actual name of a function in an entry (excluding parentheses) + +Ruby ("ruby"): + + keyword keyword + string string + subst in-string substitution (#{...}) + comment comment + yardoctag YARD tag + function function header "def some_name(...):" + class class header "class SomeName(...):" + title name of a function or a class inside a header + parent name of a parent class + symbol symbol + instancevar instance variable + +Perl ("perl"): + + keyword keyword + comment comment + number number + string string + regexp regular expression + sub subroutine header (from "sub" till "{") + variable variable starting with "$", "%", "@" + operator operator + pod plain old doc + +PHP ("php"): + + keyword keyword + number number + string string (of any type) + comment comment + phpdoc phpdoc params in comments + variable variable starting with "$" + preprocessor preprocessor marks: "<?php" and "?>" + +Scala ("scala"): + + keyword keyword + number number + string string + comment comment + annotaion annotation + javadoc javadoc comment + javadoctag @-tag in javadoc + class class header + title class name inside a header + params everything in parentheses inside a class header + inheritance keywords "extends" and "with" inside class header + +XML ("xml"): + + tag any tag from "<" till ">" + comment comment + pi processing instruction (<? ... ?>) + cdata CDATA section + attribute attribute + value attribute's value + +HTML ("html"): + + keyword HTML tag + tag any tag from "<" till ">" + comment comment + doctype <!DOCTYPE ... > declaration + attribute tag's attribute with or without value + value attribute's value + +CSS ("css"): + + keyword HTML tag when in selectors, CSS keyword when in rules + id #some_name in selectors + class .some_name in selectors + at_rule @-rule till first "{" or ";" + attr_selector attribute selector (square brackets in a[href^=http://]) + pseudo pseudo classes and elemens (:after, ::after etc.) + comment comment + rules everything from "{" till "}" + value property's value inside a rule, from ":" till ";" or + till the end of rule block + number number within a value + string string within a value + hexcolor hex color (#FFFFFF) within a value + function CSS function within a value + params everything between "(" and ")" within a function + important "!important" symbol + +Django ("django"): + + keyword HTML tag in HTML, default tags and default filters in templates + tag any tag from "<" till ">" + comment comment + doctype <!DOCTYPE ... > declaration + attribute tag's attribute with or withou value + value attribute's value + template_tag template tag {% .. %} + variable template variable {{ .. }} + template_comment template comment, both {# .. #} and {% comment %} + filter filter from "|" till the next filter or the end of tag + argument filter argument + +Javascript ("javascript"): + + keyword keyword + comment comment + number number + literal special literal: "true", "false" and "null" + string string + regexp regular expression + function header of a function + title name of a function inside a header + params everything inside parentheses in a function's header + +VBScript ("vbscript"): + + keyword keyword + number number + string string + comment comment + built_in built-in function + +Lua ("lua"): + + keyword keyword + number number + string string + comment comment + built_in built-in operator + function header of a function + title name of a function inside a header + params everything inside parentheses in a function's header + long_brackets multiline string in [=[ .. ]=] + +Delphi ("delphi"): + + keyword keyword + comment comment (of any type) + number number + string string + function header of a function, procedure, constructor and destructor + title name of a function, procedure, constructor or destructor + inside a header + params everything inside parentheses in a function's header + class class' body from "= class" till "end;" + +Java ("java"): + + keyword keyword + number number + string string + comment commment + annotaion annotation + javadoc javadoc comment + class class header from "class" till "{" + title class name inside a header + params everything in parentheses inside a class header + inheritance keywords "extends" and "implements" inside class header + +C++ ("cpp"): + + keyword keyword + number number + string string and character + comment comment + preprocessor preprocessor directive + stl_container instantiation of STL containers ("vector<...>") + +C# ("cs"): + + keyword keyword + number number + string string + comment commment + xmlDocTag xmldoc tag ("///", "<!--", "-->", "<..>") + +RenderMan RSL ("rsl"): + + keyword keyword + number number + string string (including @"..") + comment comment + preprocessor preprocessor directive + shader sahder keywords + shading shading keywords + built_in built-in function + +RenderMan RIB ("rib"): + + keyword keyword + number number + string string + comment comment + commands command + +Maya Embedded Language ("mel"): + + keyword keyword + number number + string string + comment comment + variable variable + +SQL ("sql"): + + keyword keyword (mostly SQL'92 and SQL'99) + number number + string string (of any type: "..", '..', `..`) + comment comment + aggregate aggregate function + +Smalltalk ("smalltalk"): + + keyword keyword + number number + string string + comment commment + symbol symbol + array array + class name of a class + char char + localvars block of local variables + +Lisp ("lisp"): + + keyword keyword + number number + string string + comment commment + variable variable + literal b, t and nil + list non-quoted list + title first symbol in a non-quoted list + body remainder of the non-quoted list + quoted_list quoted list, both "(quote .. )" and "'(..)" + +Ini ("ini"): + + title title of a section + value value of a setting of any type + string string + number number + keyword boolean value keyword + +Apache ("apache"): + + keyword keyword + number number + comment commment + literal On and Off + sqbracket variables in rewrites "%{..}" + cbracket options in rewrites "[..]" + tag begin and end of a configuration section + +Nginx ("nginx"): + + keyword keyword + string string + number number + comment comment + built_in built-in constant + variable $-variable + +Diff ("diff"): + + header file header + chunk chunk header within a file + addition added lines + deletion deleted lines + change changed lines + +DOS ("dos"): + + keyword keyword + flow batch control keyword + stream DOS special files ("con", "prn", ...) + winutils some commands (see dos.js specifically) + envvar environment variables + +Bash ("bash"): + + keyword keyword + string string + number number + comment comment + literal special literal: "true" и "false" + variable variable + shebang script interpreter header + +CMake ("cmake") + + keyword keyword + number number + string string + comment commment + envvar $-variable + +Axapta ("axapta"): + + keyword keyword + number number + string string + comment commment + class class header from "class" till "{" + title class name inside a header + params everything in parentheses inside a class header + inheritance keywords "extends" and "implements" inside class header + preprocessor preprocessor directive + +1C ("1c"): + + keyword keyword + number number + date date + string string + comment commment + function header of function or procudure + title function name inside a header + params everything in parentheses inside a function header + preprocessor preprocessor directive + +AVR assembler ("avrasm"): + + keyword keyword + built_in pre-defined register + number number + string string + comment commment + label label + preprocessor preprocessor directive + localvars substitution in .macro + +VHDL ("vhdl") + + keyword keyword + number number + string string + comment commment + literal signal logical value + +Parser3 ("parser3"): + + keyword keyword + number number + comment commment + variable variable starting with "$" + preprocessor preprocessor directive + title user-defined name starting with "@" + +TeX ("tex"): + + comment comment + number number + command command + parameter parameter + formula formula + special special symbol + + +## Heuristics + +Autodetection of a code's language is done with a simple heuristics: +the program tries to highlight a fragment with all available languages and +counts all syntactic structures that it finds along the way. The language +with greatest count wins. + +This means that in short fragments the probability of an error is high +(and it really happens sometimes). In this cases you can set the fragment's +language explicitly by assigning a class to the `<code>` element: + + <pre><code class="html">...</code></pre> + +You can use class names recommended in HTML5: "language-html", +"language-php". Classes also can be assigned to the `<pre>` element. + +To disable highlighting of a fragment altogether use "no-highlight" class: + + <pre><code class="no-highlight">...</code></pre> + +## Contacts + +Version: 5.16 +URL: http://softwaremaniacs.org/soft/highlight/en/ +Author: Ivan Sagalaev (Maniac@SoftwareManiacs.Org) + +For the license terms see LICENSE files. +For the list of contributors see AUTHORS.en.txt file. diff --git a/vendor/stefangabos/zebra_form/examples/public/css/reset.css b/vendor/stefangabos/zebra_form/examples/public/css/reset.css new file mode 100644 index 00000000..1ee9faf5 --- /dev/null +++ b/vendor/stefangabos/zebra_form/examples/public/css/reset.css @@ -0,0 +1,102 @@ +/* = FONT STACKS +----------------------------------------------------------------------------------------------------------------------*/ +body { font-family: Geneva, 'Lucida Sans', 'Lucida Grande', 'Lucida Sans Unicode', Verdana, sans-serif } /* "wide" sans serif */ +/*body { font-family: Tahoma, Arial, Helvetica, sans-serif } /* "narrow" sans serif */ +/*body { font-family: Georgia, Utopia, Palatino, 'Palatino Linotype', serif } /* "wide" serif */ +/*body { font-family: 'Times New Roman', Times, serif } /* "narrow" serif */ + + +/* transform the font size so that 1em is 10px so that you can use em's + but think in pixels as now 1em is 10px, 1.2em is 12px and so on */ + +html { font-size: 62.5% } + +body { + font-size: 1.3em; + margin: 0; + padding: 0; + outline: 0; + border: 0; + text-align: center; /* this is for IE6 so that it will center the main wrapper */ + line-height: 1.2; /* unit-less line-height does not inherit a percentage value of its parent element */ + /* but instead is based on a multiplier of the font-size */ +} + +div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, aabbr, acronym, address, +big, cite, code, del, dfn, em, font, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, +center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td { + + margin: 0; + padding: 0; + outline: 0; + border: 0; + font-family: inherit; + font-weight: inherit; + font-style: inherit; + line-height: inherit; + +} + +a, blockquote, dd, div, dl, dt, fieldset, form, h1, h2, h3, h4, h5, h6, img, input, label, li, ol, p, pre, span, table, ul { + + position: relative + +} + +h1, h2, h3, h4, h5, h6 { font-weight: normal; line-height: 1 } + +p { font-size: 100% } +h1 { font-size: 220% } +h2 { font-size: 200% } +h3 { font-size: 180% } +h4 { font-size: 160% } +h5 { font-size: 140% } +h6 { font-size: 120% } + +small, +sup, +sub { font-size: 70% } + +p small { display: block; line-height: 1 } + +strong, b { font-weight: bold } +em, i { font-style: italic } + +/* = CLEARFIX +----------------------------------------------------------------------------------------------------------------------*/ +.clearfix:before, +.clearfix:after { content: "\0020"; display: block; height: 0; visibility: hidden; font-size: 0 } +.clearfix:after { clear: both } +.clearfix { *zoom: 1 } /* for IE only */ + +/* = TABLES +----------------------------------------------------------------------------------------------------------------------*/ +table { + + border-collapse: collapse; + border-spacing: 0; + /* tables still need cellspacing="0" */ + +} + +/* = LISTS +----------------------------------------------------------------------------------------------------------------------*/ +ul, ol { list-style: none } + +ul.float li, +ol.float li { float: left } + +ul.default, +ol.default, +ol.default ul, +ul.default ul, +ul.default ol, +ol.default ol { padding-left: 1.5em } + +ul.default, +ol.default ul, +ul.default ul { list-style-type: square } + +ol.default, +ul.default ol, +ol.default ol { list-style-type: decimal } \ No newline at end of file diff --git a/vendor/stefangabos/zebra_form/examples/public/css/style.css b/vendor/stefangabos/zebra_form/examples/public/css/style.css new file mode 100644 index 00000000..ecf40304 --- /dev/null +++ b/vendor/stefangabos/zebra_form/examples/public/css/style.css @@ -0,0 +1,62 @@ +body { text-align: left; margin: 20px } + +.header { background: #888; padding: 10px 5px; font-weight: bold } +.header a { color: #FFF; text-decoration: none } +.header span { font-weight: normal } +.example { background: #ABCDEF; padding: 10px 5px; font-weight: bold; margin: 0 0 20px } +.example a { color: #123456; font-weight: normal } + +h1 { margin-bottom: 1em } +h1 span { display: block; font-size: 11px; color: #666 } + +.navigation { border-right: 1px solid #DEDEDE; padding-right: 20px; margin-right: 20px } +.navigation li { font-weight: bold; margin: 0 } +.navigation li ul { color: #AAA; margin: 10px 0 } +.navigation a { color: #000066; white-space: nowrap; font-weight: normal; text-decoration: none; display: block; padding: 2px } +.navigation a.selected { color: #DDD; background: #222 } + +.tabs { } +.tabs a { display: block; background: #000; color: #FFF; padding: 4px 10px; text-decoration: none; margin-right: 1px; font-weight: bold } +.tabs a:hover, +.tabs a.selected { background: #DEDEDE; color: #222 } + +.tab { border: 1px solid #DEDEDE; padding: 20px; display: none } + +.tab h2 { font-weight: bold; margin: 0 0 20px } +.tab p { color: #999; margin: 0 0 20px; font-size: 12px } + +ul.notes { color: #999; font-size: 11px; margin: 20px 0 0 } + +table.results { border-collapse: collapse } +table.results th, +table.results td { padding: 5px; border: 1px solid #DEDEDE } +table.results th { font-weight: bold } +table.results thead td { background: #666; color: #FFF; font-weight: bold } + +img.Zebra_Form_Input_Prefix { width: 16px; height: 16px } + +.tab a { color: #0000FF; text-decoration: none } + +/* = MISCELLANEOUS +----------------------------------------------------------------------------------------------------------------------*/ +.align-center { text-align: center } +.align-left { text-align: left } +.align-right { text-align: right } +.block { display: block } +.bottom { margin-bottom: 0; padding-bottom: 0 } +.center { text-align: center } +.clear { clear: both } +.first { margin-left: 0; padding-left: 0 } +.hidden { visibility: hidden } +.highlight { background: #ccf } +.inline { display: inline } +.last { margin-right: 0; padding-right: 0 } +.left { float: left } +.none { display: none } +.nowrap { white-space: nowrap } +.right { float: right } +.stretch { width: 100% } +.top { margin-top: 0; padding-top: 0 } +.visible { visibility: visible } + +img.Zebra_Form_prefix { width: 16px; height: 16px } \ No newline at end of file diff --git a/vendor/stefangabos/zebra_form/examples/public/images/comment.png b/vendor/stefangabos/zebra_form/examples/public/images/comment.png new file mode 100644 index 0000000000000000000000000000000000000000..b616f6d9ab69906ec6330f1315406b559adff936 GIT binary patch literal 469 zcmV;`0V@89P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV00004b3#c}2nYxW zd<bNS00009a7bBm000W`000W`0Ya=am;e9(7<5HgbW?9;ba!ELWdK2BZ(?O2Mrm?o zcW-iQb5FA$P5=M_Q%OWYR5*>Llf5rPVHAg-bI+A(aU%>q2GWUvKR_^(h{R^WYV#ME zNW>~8MmCFxh?pc6iP#J#L=0#obZOJu+xHlHOMOHeeWo{W&iUm$=gli-Mk9C)bpw9o zaCG~)(4^j?RNeiCK~!{ZYbxEd10ZI`?)80FlX_2ulB1TAh>%c^$XWN?VBfP3@ER6_ z$P5gS8Z*Z=zDNL+16~TDt10^v2eI#4So}wSnTkTq$-h(Cln;;%i&Bq%b+g3fethwe zFO{yG*>F7pp2$^F^#S5%1eiWKPvxR$(izRw#R5rS#h@2JMb?wPt{zT|<h}&_#mwbR zXEyV6;LJun*gTyYTl(}dLqQc13Q2_)g;s?&g+L(y5}p0&)ac&v{`ldU8<?FB0ME=2 zE$6fY9Y7-9i(j7pW3N_%5XcQJuZ`SoZ(QUv&l!PiT?&8E@NawvFg|<NXVyB=00000 LNkvXXu0mjfIBUb7 literal 0 HcmV?d00001 diff --git a/vendor/stefangabos/zebra_form/examples/public/images/letter.png b/vendor/stefangabos/zebra_form/examples/public/images/letter.png new file mode 100644 index 0000000000000000000000000000000000000000..82be979fa12ad0d987783c18d72f53aa628b7804 GIT binary patch literal 303 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Ea{HEjtmUzPnffIy#(?lOI#yL zg7ec#$`gxH85~pclTsBta}(23gHjVyDhp4h+5i<D^mK6yskn6|*qX0JK|t25n%i4g zDl<c4Py6yGa$+VXmnKA1abDa}sUlRCTEFqe8*jH~XPd?6aOT`Lvufs^d*nUux*r*9 z_vg7>FV&G`2n`Lqy)B>rTdn_P6WMx4P0^#Nk@MI}-e`YQXmJSgGCFqTk6}Q2-<}ME z^Tj>OGEYR!wqTO^I#+(yj{6KB?g>AiGp9K7^0|#-%Nf?Z_Ihj)6now9_^j*)2IpUw yvsvi0R9G^;IBYP5*I-tS&HSdn|C4ud8Zdk-ZR_$;{KE+J41=eupUXO@geCyCEOo^I literal 0 HcmV?d00001 diff --git a/vendor/stefangabos/zebra_form/examples/public/images/user.png b/vendor/stefangabos/zebra_form/examples/public/images/user.png new file mode 100644 index 0000000000000000000000000000000000000000..c7a27fdfe49c71e27f7383083e1cfc92ce6f2fae GIT binary patch literal 416 zcmV;R0bl-!P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV00004XF*Lt006JZ zHwB960000PbVXQnQ*UN;cVTj606}DLVr3vnZDD6+Qe|Oed2z{QJOBUzGD$>1RCwBA z{Qv(y10{e3#+W%J1}@0QuZCgjr;oQ7VeIsrC71@FYj$^#f{X1u@C+=DYzPc6VRIHp z^PML=aExpiQ3l+6$indV?+*rTT^leB;u8!5Brh;%YUzR5zkhuKvdzHkckehr;Xs@V zjvl!LBpKlt!YAMY895&?z2So(Lx8}0pr(r`3c=z~H8{NhRP<lM(VgMu-SZ4Z4u){? zz60kOBn%B1HtgT|A80ruRxf}wi(5J}{QvQb;hnTLL+_q5K!3l3&_F&&93&4?htmcB zzx;r+-wCTR%s+9B;hm%w0|SycUN0!H{bRWI@i(0RMnIW?;rmZGUx}ZU;T4(zjL3N* zb<xiMX2#|?Z98@LB*W}DcSf8Bzzo4<0J>(Z29OGv7$^h)0R{kXvVr4<E~dc%0000< KMNUMnLSTZ~qpF$! literal 0 HcmV?d00001 diff --git a/vendor/stefangabos/zebra_form/examples/public/javascript/core.js b/vendor/stefangabos/zebra_form/examples/public/javascript/core.js new file mode 100644 index 00000000..9ecccc4c --- /dev/null +++ b/vendor/stefangabos/zebra_form/examples/public/javascript/core.js @@ -0,0 +1,25 @@ +$(document).ready(function() { + + hljs.initHighlightingOnLoad(); + + $('a').bind('click', function() { this.blur() }); + + var tab_selectors = $('.tabs a'); + + var tabs = $('.tab'); + + tab_selectors.each(function(index, selector) { + $(selector).bind('click', function(e) { + e.preventDefault(); + tab_selectors.removeClass('selected'); + $(this).addClass('selected'); + tabs.css('display', 'none'); + $(tabs[index]).css({ + 'opacity': 0, + 'display': 'block' + }); + $(tabs[index]).animate({'opacity': 1}, 250); + }); + }); + +}); \ No newline at end of file diff --git a/vendor/stefangabos/zebra_form/examples/public/javascript/jquery-1.12.0.js b/vendor/stefangabos/zebra_form/examples/public/javascript/jquery-1.12.0.js new file mode 100644 index 00000000..6c60672f --- /dev/null +++ b/vendor/stefangabos/zebra_form/examples/public/javascript/jquery-1.12.0.js @@ -0,0 +1,5 @@ +/*! jQuery v1.12.0 | (c) jQuery Foundation | jquery.org/license */ +!function(a,b){"object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof window?window:this,function(a,b){var c=[],d=a.document,e=c.slice,f=c.concat,g=c.push,h=c.indexOf,i={},j=i.toString,k=i.hasOwnProperty,l={},m="1.12.0",n=function(a,b){return new n.fn.init(a,b)},o=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,p=/^-ms-/,q=/-([\da-z])/gi,r=function(a,b){return b.toUpperCase()};n.fn=n.prototype={jquery:m,constructor:n,selector:"",length:0,toArray:function(){return e.call(this)},get:function(a){return null!=a?0>a?this[a+this.length]:this[a]:e.call(this)},pushStack:function(a){var b=n.merge(this.constructor(),a);return b.prevObject=this,b.context=this.context,b},each:function(a){return n.each(this,a)},map:function(a){return this.pushStack(n.map(this,function(b,c){return a.call(b,c,b)}))},slice:function(){return this.pushStack(e.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(a){var b=this.length,c=+a+(0>a?b:0);return this.pushStack(c>=0&&b>c?[this[c]]:[])},end:function(){return this.prevObject||this.constructor()},push:g,sort:c.sort,splice:c.splice},n.extend=n.fn.extend=function(){var a,b,c,d,e,f,g=arguments[0]||{},h=1,i=arguments.length,j=!1;for("boolean"==typeof g&&(j=g,g=arguments[h]||{},h++),"object"==typeof g||n.isFunction(g)||(g={}),h===i&&(g=this,h--);i>h;h++)if(null!=(e=arguments[h]))for(d in e)a=g[d],c=e[d],g!==c&&(j&&c&&(n.isPlainObject(c)||(b=n.isArray(c)))?(b?(b=!1,f=a&&n.isArray(a)?a:[]):f=a&&n.isPlainObject(a)?a:{},g[d]=n.extend(j,f,c)):void 0!==c&&(g[d]=c));return g},n.extend({expando:"jQuery"+(m+Math.random()).replace(/\D/g,""),isReady:!0,error:function(a){throw new Error(a)},noop:function(){},isFunction:function(a){return"function"===n.type(a)},isArray:Array.isArray||function(a){return"array"===n.type(a)},isWindow:function(a){return null!=a&&a==a.window},isNumeric:function(a){var b=a&&a.toString();return!n.isArray(a)&&b-parseFloat(b)+1>=0},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},isPlainObject:function(a){var b;if(!a||"object"!==n.type(a)||a.nodeType||n.isWindow(a))return!1;try{if(a.constructor&&!k.call(a,"constructor")&&!k.call(a.constructor.prototype,"isPrototypeOf"))return!1}catch(c){return!1}if(!l.ownFirst)for(b in a)return k.call(a,b);for(b in a);return void 0===b||k.call(a,b)},type:function(a){return null==a?a+"":"object"==typeof a||"function"==typeof a?i[j.call(a)]||"object":typeof a},globalEval:function(b){b&&n.trim(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},camelCase:function(a){return a.replace(p,"ms-").replace(q,r)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()},each:function(a,b){var c,d=0;if(s(a)){for(c=a.length;c>d;d++)if(b.call(a[d],d,a[d])===!1)break}else for(d in a)if(b.call(a[d],d,a[d])===!1)break;return a},trim:function(a){return null==a?"":(a+"").replace(o,"")},makeArray:function(a,b){var c=b||[];return null!=a&&(s(Object(a))?n.merge(c,"string"==typeof a?[a]:a):g.call(c,a)),c},inArray:function(a,b,c){var d;if(b){if(h)return h.call(b,a,c);for(d=b.length,c=c?0>c?Math.max(0,d+c):c:0;d>c;c++)if(c in b&&b[c]===a)return c}return-1},merge:function(a,b){var c=+b.length,d=0,e=a.length;while(c>d)a[e++]=b[d++];if(c!==c)while(void 0!==b[d])a[e++]=b[d++];return a.length=e,a},grep:function(a,b,c){for(var d,e=[],f=0,g=a.length,h=!c;g>f;f++)d=!b(a[f],f),d!==h&&e.push(a[f]);return e},map:function(a,b,c){var d,e,g=0,h=[];if(s(a))for(d=a.length;d>g;g++)e=b(a[g],g,c),null!=e&&h.push(e);else for(g in a)e=b(a[g],g,c),null!=e&&h.push(e);return f.apply([],h)},guid:1,proxy:function(a,b){var c,d,f;return"string"==typeof b&&(f=a[b],b=a,a=f),n.isFunction(a)?(c=e.call(arguments,2),d=function(){return a.apply(b||this,c.concat(e.call(arguments)))},d.guid=a.guid=a.guid||n.guid++,d):void 0},now:function(){return+new Date},support:l}),"function"==typeof Symbol&&(n.fn[Symbol.iterator]=c[Symbol.iterator]),n.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(a,b){i["[object "+b+"]"]=b.toLowerCase()});function s(a){var b=!!a&&"length"in a&&a.length,c=n.type(a);return"function"===c||n.isWindow(a)?!1:"array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a}var t=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u="sizzle"+1*new Date,v=a.document,w=0,x=0,y=ga(),z=ga(),A=ga(),B=function(a,b){return a===b&&(l=!0),0},C=1<<31,D={}.hasOwnProperty,E=[],F=E.pop,G=E.push,H=E.push,I=E.slice,J=function(a,b){for(var c=0,d=a.length;d>c;c++)if(a[c]===b)return c;return-1},K="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",L="[\\x20\\t\\r\\n\\f]",M="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",N="\\["+L+"*("+M+")(?:"+L+"*([*^$|!~]?=)"+L+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+M+"))|)"+L+"*\\]",O=":("+M+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+N+")*)|.*)\\)|)",P=new RegExp(L+"+","g"),Q=new RegExp("^"+L+"+|((?:^|[^\\\\])(?:\\\\.)*)"+L+"+$","g"),R=new RegExp("^"+L+"*,"+L+"*"),S=new RegExp("^"+L+"*([>+~]|"+L+")"+L+"*"),T=new RegExp("="+L+"*([^\\]'\"]*?)"+L+"*\\]","g"),U=new RegExp(O),V=new RegExp("^"+M+"$"),W={ID:new RegExp("^#("+M+")"),CLASS:new RegExp("^\\.("+M+")"),TAG:new RegExp("^("+M+"|[*])"),ATTR:new RegExp("^"+N),PSEUDO:new RegExp("^"+O),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+L+"*(even|odd|(([+-]|)(\\d*)n|)"+L+"*(?:([+-]|)"+L+"*(\\d+)|))"+L+"*\\)|)","i"),bool:new RegExp("^(?:"+K+")$","i"),needsContext:new RegExp("^"+L+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+L+"*((?:-\\d)?\\d*)"+L+"*\\)|)(?=[^-]|$)","i")},X=/^(?:input|select|textarea|button)$/i,Y=/^h\d$/i,Z=/^[^{]+\{\s*\[native \w/,$=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,_=/[+~]/,aa=/'|\\/g,ba=new RegExp("\\\\([\\da-f]{1,6}"+L+"?|("+L+")|.)","ig"),ca=function(a,b,c){var d="0x"+b-65536;return d!==d||c?b:0>d?String.fromCharCode(d+65536):String.fromCharCode(d>>10|55296,1023&d|56320)},da=function(){m()};try{H.apply(E=I.call(v.childNodes),v.childNodes),E[v.childNodes.length].nodeType}catch(ea){H={apply:E.length?function(a,b){G.apply(a,I.call(b))}:function(a,b){var c=a.length,d=0;while(a[c++]=b[d++]);a.length=c-1}}}function fa(a,b,d,e){var f,h,j,k,l,o,r,s,w=b&&b.ownerDocument,x=b?b.nodeType:9;if(d=d||[],"string"!=typeof a||!a||1!==x&&9!==x&&11!==x)return d;if(!e&&((b?b.ownerDocument||b:v)!==n&&m(b),b=b||n,p)){if(11!==x&&(o=$.exec(a)))if(f=o[1]){if(9===x){if(!(j=b.getElementById(f)))return d;if(j.id===f)return d.push(j),d}else if(w&&(j=w.getElementById(f))&&t(b,j)&&j.id===f)return d.push(j),d}else{if(o[2])return H.apply(d,b.getElementsByTagName(a)),d;if((f=o[3])&&c.getElementsByClassName&&b.getElementsByClassName)return H.apply(d,b.getElementsByClassName(f)),d}if(c.qsa&&!A[a+" "]&&(!q||!q.test(a))){if(1!==x)w=b,s=a;else if("object"!==b.nodeName.toLowerCase()){(k=b.getAttribute("id"))?k=k.replace(aa,"\\$&"):b.setAttribute("id",k=u),r=g(a),h=r.length,l=V.test(k)?"#"+k:"[id='"+k+"']";while(h--)r[h]=l+" "+qa(r[h]);s=r.join(","),w=_.test(a)&&oa(b.parentNode)||b}if(s)try{return H.apply(d,w.querySelectorAll(s)),d}catch(y){}finally{k===u&&b.removeAttribute("id")}}}return i(a.replace(Q,"$1"),b,d,e)}function ga(){var a=[];function b(c,e){return a.push(c+" ")>d.cacheLength&&delete b[a.shift()],b[c+" "]=e}return b}function ha(a){return a[u]=!0,a}function ia(a){var b=n.createElement("div");try{return!!a(b)}catch(c){return!1}finally{b.parentNode&&b.parentNode.removeChild(b),b=null}}function ja(a,b){var c=a.split("|"),e=c.length;while(e--)d.attrHandle[c[e]]=b}function ka(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&(~b.sourceIndex||C)-(~a.sourceIndex||C);if(d)return d;if(c)while(c=c.nextSibling)if(c===b)return-1;return a?1:-1}function la(a){return function(b){var c=b.nodeName.toLowerCase();return"input"===c&&b.type===a}}function ma(a){return function(b){var c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}}function na(a){return ha(function(b){return b=+b,ha(function(c,d){var e,f=a([],c.length,b),g=f.length;while(g--)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function oa(a){return a&&"undefined"!=typeof a.getElementsByTagName&&a}c=fa.support={},f=fa.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return b?"HTML"!==b.nodeName:!1},m=fa.setDocument=function(a){var b,e,g=a?a.ownerDocument||a:v;return g!==n&&9===g.nodeType&&g.documentElement?(n=g,o=n.documentElement,p=!f(n),(e=n.defaultView)&&e.top!==e&&(e.addEventListener?e.addEventListener("unload",da,!1):e.attachEvent&&e.attachEvent("onunload",da)),c.attributes=ia(function(a){return a.className="i",!a.getAttribute("className")}),c.getElementsByTagName=ia(function(a){return a.appendChild(n.createComment("")),!a.getElementsByTagName("*").length}),c.getElementsByClassName=Z.test(n.getElementsByClassName),c.getById=ia(function(a){return o.appendChild(a).id=u,!n.getElementsByName||!n.getElementsByName(u).length}),c.getById?(d.find.ID=function(a,b){if("undefined"!=typeof b.getElementById&&p){var c=b.getElementById(a);return c?[c]:[]}},d.filter.ID=function(a){var b=a.replace(ba,ca);return function(a){return a.getAttribute("id")===b}}):(delete d.find.ID,d.filter.ID=function(a){var b=a.replace(ba,ca);return function(a){var c="undefined"!=typeof a.getAttributeNode&&a.getAttributeNode("id");return c&&c.value===b}}),d.find.TAG=c.getElementsByTagName?function(a,b){return"undefined"!=typeof b.getElementsByTagName?b.getElementsByTagName(a):c.qsa?b.querySelectorAll(a):void 0}:function(a,b){var c,d=[],e=0,f=b.getElementsByTagName(a);if("*"===a){while(c=f[e++])1===c.nodeType&&d.push(c);return d}return f},d.find.CLASS=c.getElementsByClassName&&function(a,b){return"undefined"!=typeof b.getElementsByClassName&&p?b.getElementsByClassName(a):void 0},r=[],q=[],(c.qsa=Z.test(n.querySelectorAll))&&(ia(function(a){o.appendChild(a).innerHTML="<a id='"+u+"'></a><select id='"+u+"-\r\\' msallowcapture=''><option selected=''></option></select>",a.querySelectorAll("[msallowcapture^='']").length&&q.push("[*^$]="+L+"*(?:''|\"\")"),a.querySelectorAll("[selected]").length||q.push("\\["+L+"*(?:value|"+K+")"),a.querySelectorAll("[id~="+u+"-]").length||q.push("~="),a.querySelectorAll(":checked").length||q.push(":checked"),a.querySelectorAll("a#"+u+"+*").length||q.push(".#.+[+~]")}),ia(function(a){var b=n.createElement("input");b.setAttribute("type","hidden"),a.appendChild(b).setAttribute("name","D"),a.querySelectorAll("[name=d]").length&&q.push("name"+L+"*[*^$|!~]?="),a.querySelectorAll(":enabled").length||q.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),q.push(",.*:")})),(c.matchesSelector=Z.test(s=o.matches||o.webkitMatchesSelector||o.mozMatchesSelector||o.oMatchesSelector||o.msMatchesSelector))&&ia(function(a){c.disconnectedMatch=s.call(a,"div"),s.call(a,"[s!='']:x"),r.push("!=",O)}),q=q.length&&new RegExp(q.join("|")),r=r.length&&new RegExp(r.join("|")),b=Z.test(o.compareDocumentPosition),t=b||Z.test(o.contains)?function(a,b){var c=9===a.nodeType?a.documentElement:a,d=b&&b.parentNode;return a===d||!(!d||1!==d.nodeType||!(c.contains?c.contains(d):a.compareDocumentPosition&&16&a.compareDocumentPosition(d)))}:function(a,b){if(b)while(b=b.parentNode)if(b===a)return!0;return!1},B=b?function(a,b){if(a===b)return l=!0,0;var d=!a.compareDocumentPosition-!b.compareDocumentPosition;return d?d:(d=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1,1&d||!c.sortDetached&&b.compareDocumentPosition(a)===d?a===n||a.ownerDocument===v&&t(v,a)?-1:b===n||b.ownerDocument===v&&t(v,b)?1:k?J(k,a)-J(k,b):0:4&d?-1:1)}:function(a,b){if(a===b)return l=!0,0;var c,d=0,e=a.parentNode,f=b.parentNode,g=[a],h=[b];if(!e||!f)return a===n?-1:b===n?1:e?-1:f?1:k?J(k,a)-J(k,b):0;if(e===f)return ka(a,b);c=a;while(c=c.parentNode)g.unshift(c);c=b;while(c=c.parentNode)h.unshift(c);while(g[d]===h[d])d++;return d?ka(g[d],h[d]):g[d]===v?-1:h[d]===v?1:0},n):n},fa.matches=function(a,b){return fa(a,null,null,b)},fa.matchesSelector=function(a,b){if((a.ownerDocument||a)!==n&&m(a),b=b.replace(T,"='$1']"),c.matchesSelector&&p&&!A[b+" "]&&(!r||!r.test(b))&&(!q||!q.test(b)))try{var d=s.call(a,b);if(d||c.disconnectedMatch||a.document&&11!==a.document.nodeType)return d}catch(e){}return fa(b,n,null,[a]).length>0},fa.contains=function(a,b){return(a.ownerDocument||a)!==n&&m(a),t(a,b)},fa.attr=function(a,b){(a.ownerDocument||a)!==n&&m(a);var e=d.attrHandle[b.toLowerCase()],f=e&&D.call(d.attrHandle,b.toLowerCase())?e(a,b,!p):void 0;return void 0!==f?f:c.attributes||!p?a.getAttribute(b):(f=a.getAttributeNode(b))&&f.specified?f.value:null},fa.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},fa.uniqueSort=function(a){var b,d=[],e=0,f=0;if(l=!c.detectDuplicates,k=!c.sortStable&&a.slice(0),a.sort(B),l){while(b=a[f++])b===a[f]&&(e=d.push(f));while(e--)a.splice(d[e],1)}return k=null,a},e=fa.getText=function(a){var b,c="",d=0,f=a.nodeType;if(f){if(1===f||9===f||11===f){if("string"==typeof a.textContent)return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=e(a)}else if(3===f||4===f)return a.nodeValue}else while(b=a[d++])c+=e(b);return c},d=fa.selectors={cacheLength:50,createPseudo:ha,match:W,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(ba,ca),a[3]=(a[3]||a[4]||a[5]||"").replace(ba,ca),"~="===a[2]&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),"nth"===a[1].slice(0,3)?(a[3]||fa.error(a[0]),a[4]=+(a[4]?a[5]+(a[6]||1):2*("even"===a[3]||"odd"===a[3])),a[5]=+(a[7]+a[8]||"odd"===a[3])):a[3]&&fa.error(a[0]),a},PSEUDO:function(a){var b,c=!a[6]&&a[2];return W.CHILD.test(a[0])?null:(a[3]?a[2]=a[4]||a[5]||"":c&&U.test(c)&&(b=g(c,!0))&&(b=c.indexOf(")",c.length-b)-c.length)&&(a[0]=a[0].slice(0,b),a[2]=c.slice(0,b)),a.slice(0,3))}},filter:{TAG:function(a){var b=a.replace(ba,ca).toLowerCase();return"*"===a?function(){return!0}:function(a){return a.nodeName&&a.nodeName.toLowerCase()===b}},CLASS:function(a){var b=y[a+" "];return b||(b=new RegExp("(^|"+L+")"+a+"("+L+"|$)"))&&y(a,function(a){return b.test("string"==typeof a.className&&a.className||"undefined"!=typeof a.getAttribute&&a.getAttribute("class")||"")})},ATTR:function(a,b,c){return function(d){var e=fa.attr(d,a);return null==e?"!="===b:b?(e+="","="===b?e===c:"!="===b?e!==c:"^="===b?c&&0===e.indexOf(c):"*="===b?c&&e.indexOf(c)>-1:"$="===b?c&&e.slice(-c.length)===c:"~="===b?(" "+e.replace(P," ")+" ").indexOf(c)>-1:"|="===b?e===c||e.slice(0,c.length+1)===c+"-":!1):!0}},CHILD:function(a,b,c,d,e){var f="nth"!==a.slice(0,3),g="last"!==a.slice(-4),h="of-type"===b;return 1===d&&0===e?function(a){return!!a.parentNode}:function(b,c,i){var j,k,l,m,n,o,p=f!==g?"nextSibling":"previousSibling",q=b.parentNode,r=h&&b.nodeName.toLowerCase(),s=!i&&!h,t=!1;if(q){if(f){while(p){m=b;while(m=m[p])if(h?m.nodeName.toLowerCase()===r:1===m.nodeType)return!1;o=p="only"===a&&!o&&"nextSibling"}return!0}if(o=[g?q.firstChild:q.lastChild],g&&s){m=q,l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),j=k[a]||[],n=j[0]===w&&j[1],t=n&&j[2],m=n&&q.childNodes[n];while(m=++n&&m&&m[p]||(t=n=0)||o.pop())if(1===m.nodeType&&++t&&m===b){k[a]=[w,n,t];break}}else if(s&&(m=b,l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),j=k[a]||[],n=j[0]===w&&j[1],t=n),t===!1)while(m=++n&&m&&m[p]||(t=n=0)||o.pop())if((h?m.nodeName.toLowerCase()===r:1===m.nodeType)&&++t&&(s&&(l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),k[a]=[w,t]),m===b))break;return t-=e,t===d||t%d===0&&t/d>=0}}},PSEUDO:function(a,b){var c,e=d.pseudos[a]||d.setFilters[a.toLowerCase()]||fa.error("unsupported pseudo: "+a);return e[u]?e(b):e.length>1?(c=[a,a,"",b],d.setFilters.hasOwnProperty(a.toLowerCase())?ha(function(a,c){var d,f=e(a,b),g=f.length;while(g--)d=J(a,f[g]),a[d]=!(c[d]=f[g])}):function(a){return e(a,0,c)}):e}},pseudos:{not:ha(function(a){var b=[],c=[],d=h(a.replace(Q,"$1"));return d[u]?ha(function(a,b,c,e){var f,g=d(a,null,e,[]),h=a.length;while(h--)(f=g[h])&&(a[h]=!(b[h]=f))}):function(a,e,f){return b[0]=a,d(b,null,f,c),b[0]=null,!c.pop()}}),has:ha(function(a){return function(b){return fa(a,b).length>0}}),contains:ha(function(a){return a=a.replace(ba,ca),function(b){return(b.textContent||b.innerText||e(b)).indexOf(a)>-1}}),lang:ha(function(a){return V.test(a||"")||fa.error("unsupported lang: "+a),a=a.replace(ba,ca).toLowerCase(),function(b){var c;do if(c=p?b.lang:b.getAttribute("xml:lang")||b.getAttribute("lang"))return c=c.toLowerCase(),c===a||0===c.indexOf(a+"-");while((b=b.parentNode)&&1===b.nodeType);return!1}}),target:function(b){var c=a.location&&a.location.hash;return c&&c.slice(1)===b.id},root:function(a){return a===o},focus:function(a){return a===n.activeElement&&(!n.hasFocus||n.hasFocus())&&!!(a.type||a.href||~a.tabIndex)},enabled:function(a){return a.disabled===!1},disabled:function(a){return a.disabled===!0},checked:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&!!a.checked||"option"===b&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},empty:function(a){for(a=a.firstChild;a;a=a.nextSibling)if(a.nodeType<6)return!1;return!0},parent:function(a){return!d.pseudos.empty(a)},header:function(a){return Y.test(a.nodeName)},input:function(a){return X.test(a.nodeName)},button:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&"button"===a.type||"button"===b},text:function(a){var b;return"input"===a.nodeName.toLowerCase()&&"text"===a.type&&(null==(b=a.getAttribute("type"))||"text"===b.toLowerCase())},first:na(function(){return[0]}),last:na(function(a,b){return[b-1]}),eq:na(function(a,b,c){return[0>c?c+b:c]}),even:na(function(a,b){for(var c=0;b>c;c+=2)a.push(c);return a}),odd:na(function(a,b){for(var c=1;b>c;c+=2)a.push(c);return a}),lt:na(function(a,b,c){for(var d=0>c?c+b:c;--d>=0;)a.push(d);return a}),gt:na(function(a,b,c){for(var d=0>c?c+b:c;++d<b;)a.push(d);return a})}},d.pseudos.nth=d.pseudos.eq;for(b in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})d.pseudos[b]=la(b);for(b in{submit:!0,reset:!0})d.pseudos[b]=ma(b);function pa(){}pa.prototype=d.filters=d.pseudos,d.setFilters=new pa,g=fa.tokenize=function(a,b){var c,e,f,g,h,i,j,k=z[a+" "];if(k)return b?0:k.slice(0);h=a,i=[],j=d.preFilter;while(h){(!c||(e=R.exec(h)))&&(e&&(h=h.slice(e[0].length)||h),i.push(f=[])),c=!1,(e=S.exec(h))&&(c=e.shift(),f.push({value:c,type:e[0].replace(Q," ")}),h=h.slice(c.length));for(g in d.filter)!(e=W[g].exec(h))||j[g]&&!(e=j[g](e))||(c=e.shift(),f.push({value:c,type:g,matches:e}),h=h.slice(c.length));if(!c)break}return b?h.length:h?fa.error(a):z(a,i).slice(0)};function qa(a){for(var b=0,c=a.length,d="";c>b;b++)d+=a[b].value;return d}function ra(a,b,c){var d=b.dir,e=c&&"parentNode"===d,f=x++;return b.first?function(b,c,f){while(b=b[d])if(1===b.nodeType||e)return a(b,c,f)}:function(b,c,g){var h,i,j,k=[w,f];if(g){while(b=b[d])if((1===b.nodeType||e)&&a(b,c,g))return!0}else while(b=b[d])if(1===b.nodeType||e){if(j=b[u]||(b[u]={}),i=j[b.uniqueID]||(j[b.uniqueID]={}),(h=i[d])&&h[0]===w&&h[1]===f)return k[2]=h[2];if(i[d]=k,k[2]=a(b,c,g))return!0}}}function sa(a){return a.length>1?function(b,c,d){var e=a.length;while(e--)if(!a[e](b,c,d))return!1;return!0}:a[0]}function ta(a,b,c){for(var d=0,e=b.length;e>d;d++)fa(a,b[d],c);return c}function ua(a,b,c,d,e){for(var f,g=[],h=0,i=a.length,j=null!=b;i>h;h++)(f=a[h])&&(!c||c(f,d,e))&&(g.push(f),j&&b.push(h));return g}function va(a,b,c,d,e,f){return d&&!d[u]&&(d=va(d)),e&&!e[u]&&(e=va(e,f)),ha(function(f,g,h,i){var j,k,l,m=[],n=[],o=g.length,p=f||ta(b||"*",h.nodeType?[h]:h,[]),q=!a||!f&&b?p:ua(p,m,a,h,i),r=c?e||(f?a:o||d)?[]:g:q;if(c&&c(q,r,h,i),d){j=ua(r,n),d(j,[],h,i),k=j.length;while(k--)(l=j[k])&&(r[n[k]]=!(q[n[k]]=l))}if(f){if(e||a){if(e){j=[],k=r.length;while(k--)(l=r[k])&&j.push(q[k]=l);e(null,r=[],j,i)}k=r.length;while(k--)(l=r[k])&&(j=e?J(f,l):m[k])>-1&&(f[j]=!(g[j]=l))}}else r=ua(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):H.apply(g,r)})}function wa(a){for(var b,c,e,f=a.length,g=d.relative[a[0].type],h=g||d.relative[" "],i=g?1:0,k=ra(function(a){return a===b},h,!0),l=ra(function(a){return J(b,a)>-1},h,!0),m=[function(a,c,d){var e=!g&&(d||c!==j)||((b=c).nodeType?k(a,c,d):l(a,c,d));return b=null,e}];f>i;i++)if(c=d.relative[a[i].type])m=[ra(sa(m),c)];else{if(c=d.filter[a[i].type].apply(null,a[i].matches),c[u]){for(e=++i;f>e;e++)if(d.relative[a[e].type])break;return va(i>1&&sa(m),i>1&&qa(a.slice(0,i-1).concat({value:" "===a[i-2].type?"*":""})).replace(Q,"$1"),c,e>i&&wa(a.slice(i,e)),f>e&&wa(a=a.slice(e)),f>e&&qa(a))}m.push(c)}return sa(m)}function xa(a,b){var c=b.length>0,e=a.length>0,f=function(f,g,h,i,k){var l,o,q,r=0,s="0",t=f&&[],u=[],v=j,x=f||e&&d.find.TAG("*",k),y=w+=null==v?1:Math.random()||.1,z=x.length;for(k&&(j=g===n||g||k);s!==z&&null!=(l=x[s]);s++){if(e&&l){o=0,g||l.ownerDocument===n||(m(l),h=!p);while(q=a[o++])if(q(l,g||n,h)){i.push(l);break}k&&(w=y)}c&&((l=!q&&l)&&r--,f&&t.push(l))}if(r+=s,c&&s!==r){o=0;while(q=b[o++])q(t,u,g,h);if(f){if(r>0)while(s--)t[s]||u[s]||(u[s]=F.call(i));u=ua(u)}H.apply(i,u),k&&!f&&u.length>0&&r+b.length>1&&fa.uniqueSort(i)}return k&&(w=y,j=v),t};return c?ha(f):f}return h=fa.compile=function(a,b){var c,d=[],e=[],f=A[a+" "];if(!f){b||(b=g(a)),c=b.length;while(c--)f=wa(b[c]),f[u]?d.push(f):e.push(f);f=A(a,xa(e,d)),f.selector=a}return f},i=fa.select=function(a,b,e,f){var i,j,k,l,m,n="function"==typeof a&&a,o=!f&&g(a=n.selector||a);if(e=e||[],1===o.length){if(j=o[0]=o[0].slice(0),j.length>2&&"ID"===(k=j[0]).type&&c.getById&&9===b.nodeType&&p&&d.relative[j[1].type]){if(b=(d.find.ID(k.matches[0].replace(ba,ca),b)||[])[0],!b)return e;n&&(b=b.parentNode),a=a.slice(j.shift().value.length)}i=W.needsContext.test(a)?0:j.length;while(i--){if(k=j[i],d.relative[l=k.type])break;if((m=d.find[l])&&(f=m(k.matches[0].replace(ba,ca),_.test(j[0].type)&&oa(b.parentNode)||b))){if(j.splice(i,1),a=f.length&&qa(j),!a)return H.apply(e,f),e;break}}}return(n||h(a,o))(f,b,!p,e,!b||_.test(a)&&oa(b.parentNode)||b),e},c.sortStable=u.split("").sort(B).join("")===u,c.detectDuplicates=!!l,m(),c.sortDetached=ia(function(a){return 1&a.compareDocumentPosition(n.createElement("div"))}),ia(function(a){return a.innerHTML="<a href='#'></a>","#"===a.firstChild.getAttribute("href")})||ja("type|href|height|width",function(a,b,c){return c?void 0:a.getAttribute(b,"type"===b.toLowerCase()?1:2)}),c.attributes&&ia(function(a){return a.innerHTML="<input/>",a.firstChild.setAttribute("value",""),""===a.firstChild.getAttribute("value")})||ja("value",function(a,b,c){return c||"input"!==a.nodeName.toLowerCase()?void 0:a.defaultValue}),ia(function(a){return null==a.getAttribute("disabled")})||ja(K,function(a,b,c){var d;return c?void 0:a[b]===!0?b.toLowerCase():(d=a.getAttributeNode(b))&&d.specified?d.value:null}),fa}(a);n.find=t,n.expr=t.selectors,n.expr[":"]=n.expr.pseudos,n.uniqueSort=n.unique=t.uniqueSort,n.text=t.getText,n.isXMLDoc=t.isXML,n.contains=t.contains;var u=function(a,b,c){var d=[],e=void 0!==c;while((a=a[b])&&9!==a.nodeType)if(1===a.nodeType){if(e&&n(a).is(c))break;d.push(a)}return d},v=function(a,b){for(var c=[];a;a=a.nextSibling)1===a.nodeType&&a!==b&&c.push(a);return c},w=n.expr.match.needsContext,x=/^<([\w-]+)\s*\/?>(?:<\/\1>|)$/,y=/^.[^:#\[\.,]*$/;function z(a,b,c){if(n.isFunction(b))return n.grep(a,function(a,d){return!!b.call(a,d,a)!==c});if(b.nodeType)return n.grep(a,function(a){return a===b!==c});if("string"==typeof b){if(y.test(b))return n.filter(b,a,c);b=n.filter(b,a)}return n.grep(a,function(a){return n.inArray(a,b)>-1!==c})}n.filter=function(a,b,c){var d=b[0];return c&&(a=":not("+a+")"),1===b.length&&1===d.nodeType?n.find.matchesSelector(d,a)?[d]:[]:n.find.matches(a,n.grep(b,function(a){return 1===a.nodeType}))},n.fn.extend({find:function(a){var b,c=[],d=this,e=d.length;if("string"!=typeof a)return this.pushStack(n(a).filter(function(){for(b=0;e>b;b++)if(n.contains(d[b],this))return!0}));for(b=0;e>b;b++)n.find(a,d[b],c);return c=this.pushStack(e>1?n.unique(c):c),c.selector=this.selector?this.selector+" "+a:a,c},filter:function(a){return this.pushStack(z(this,a||[],!1))},not:function(a){return this.pushStack(z(this,a||[],!0))},is:function(a){return!!z(this,"string"==typeof a&&w.test(a)?n(a):a||[],!1).length}});var A,B=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,C=n.fn.init=function(a,b,c){var e,f;if(!a)return this;if(c=c||A,"string"==typeof a){if(e="<"===a.charAt(0)&&">"===a.charAt(a.length-1)&&a.length>=3?[null,a,null]:B.exec(a),!e||!e[1]&&b)return!b||b.jquery?(b||c).find(a):this.constructor(b).find(a);if(e[1]){if(b=b instanceof n?b[0]:b,n.merge(this,n.parseHTML(e[1],b&&b.nodeType?b.ownerDocument||b:d,!0)),x.test(e[1])&&n.isPlainObject(b))for(e in b)n.isFunction(this[e])?this[e](b[e]):this.attr(e,b[e]);return this}if(f=d.getElementById(e[2]),f&&f.parentNode){if(f.id!==e[2])return A.find(a);this.length=1,this[0]=f}return this.context=d,this.selector=a,this}return a.nodeType?(this.context=this[0]=a,this.length=1,this):n.isFunction(a)?"undefined"!=typeof c.ready?c.ready(a):a(n):(void 0!==a.selector&&(this.selector=a.selector,this.context=a.context),n.makeArray(a,this))};C.prototype=n.fn,A=n(d);var D=/^(?:parents|prev(?:Until|All))/,E={children:!0,contents:!0,next:!0,prev:!0};n.fn.extend({has:function(a){var b,c=n(a,this),d=c.length;return this.filter(function(){for(b=0;d>b;b++)if(n.contains(this,c[b]))return!0})},closest:function(a,b){for(var c,d=0,e=this.length,f=[],g=w.test(a)||"string"!=typeof a?n(a,b||this.context):0;e>d;d++)for(c=this[d];c&&c!==b;c=c.parentNode)if(c.nodeType<11&&(g?g.index(c)>-1:1===c.nodeType&&n.find.matchesSelector(c,a))){f.push(c);break}return this.pushStack(f.length>1?n.uniqueSort(f):f)},index:function(a){return a?"string"==typeof a?n.inArray(this[0],n(a)):n.inArray(a.jquery?a[0]:a,this):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(a,b){return this.pushStack(n.uniqueSort(n.merge(this.get(),n(a,b))))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}});function F(a,b){do a=a[b];while(a&&1!==a.nodeType);return a}n.each({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return u(a,"parentNode")},parentsUntil:function(a,b,c){return u(a,"parentNode",c)},next:function(a){return F(a,"nextSibling")},prev:function(a){return F(a,"previousSibling")},nextAll:function(a){return u(a,"nextSibling")},prevAll:function(a){return u(a,"previousSibling")},nextUntil:function(a,b,c){return u(a,"nextSibling",c)},prevUntil:function(a,b,c){return u(a,"previousSibling",c)},siblings:function(a){return v((a.parentNode||{}).firstChild,a)},children:function(a){return v(a.firstChild)},contents:function(a){return n.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:n.merge([],a.childNodes)}},function(a,b){n.fn[a]=function(c,d){var e=n.map(this,b,c);return"Until"!==a.slice(-5)&&(d=c),d&&"string"==typeof d&&(e=n.filter(d,e)),this.length>1&&(E[a]||(e=n.uniqueSort(e)),D.test(a)&&(e=e.reverse())),this.pushStack(e)}});var G=/\S+/g;function H(a){var b={};return n.each(a.match(G)||[],function(a,c){b[c]=!0}),b}n.Callbacks=function(a){a="string"==typeof a?H(a):n.extend({},a);var b,c,d,e,f=[],g=[],h=-1,i=function(){for(e=a.once,d=b=!0;g.length;h=-1){c=g.shift();while(++h<f.length)f[h].apply(c[0],c[1])===!1&&a.stopOnFalse&&(h=f.length,c=!1)}a.memory||(c=!1),b=!1,e&&(f=c?[]:"")},j={add:function(){return f&&(c&&!b&&(h=f.length-1,g.push(c)),function d(b){n.each(b,function(b,c){n.isFunction(c)?a.unique&&j.has(c)||f.push(c):c&&c.length&&"string"!==n.type(c)&&d(c)})}(arguments),c&&!b&&i()),this},remove:function(){return n.each(arguments,function(a,b){var c;while((c=n.inArray(b,f,c))>-1)f.splice(c,1),h>=c&&h--}),this},has:function(a){return a?n.inArray(a,f)>-1:f.length>0},empty:function(){return f&&(f=[]),this},disable:function(){return e=g=[],f=c="",this},disabled:function(){return!f},lock:function(){return e=!0,c||j.disable(),this},locked:function(){return!!e},fireWith:function(a,c){return e||(c=c||[],c=[a,c.slice?c.slice():c],g.push(c),b||i()),this},fire:function(){return j.fireWith(this,arguments),this},fired:function(){return!!d}};return j},n.extend({Deferred:function(a){var b=[["resolve","done",n.Callbacks("once memory"),"resolved"],["reject","fail",n.Callbacks("once memory"),"rejected"],["notify","progress",n.Callbacks("memory")]],c="pending",d={state:function(){return c},always:function(){return e.done(arguments).fail(arguments),this},then:function(){var a=arguments;return n.Deferred(function(c){n.each(b,function(b,f){var g=n.isFunction(a[b])&&a[b];e[f[1]](function(){var a=g&&g.apply(this,arguments);a&&n.isFunction(a.promise)?a.promise().progress(c.notify).done(c.resolve).fail(c.reject):c[f[0]+"With"](this===d?c.promise():this,g?[a]:arguments)})}),a=null}).promise()},promise:function(a){return null!=a?n.extend(a,d):d}},e={};return d.pipe=d.then,n.each(b,function(a,f){var g=f[2],h=f[3];d[f[1]]=g.add,h&&g.add(function(){c=h},b[1^a][2].disable,b[2][2].lock),e[f[0]]=function(){return e[f[0]+"With"](this===e?d:this,arguments),this},e[f[0]+"With"]=g.fireWith}),d.promise(e),a&&a.call(e,e),e},when:function(a){var b=0,c=e.call(arguments),d=c.length,f=1!==d||a&&n.isFunction(a.promise)?d:0,g=1===f?a:n.Deferred(),h=function(a,b,c){return function(d){b[a]=this,c[a]=arguments.length>1?e.call(arguments):d,c===i?g.notifyWith(b,c):--f||g.resolveWith(b,c)}},i,j,k;if(d>1)for(i=new Array(d),j=new Array(d),k=new Array(d);d>b;b++)c[b]&&n.isFunction(c[b].promise)?c[b].promise().progress(h(b,j,i)).done(h(b,k,c)).fail(g.reject):--f;return f||g.resolveWith(k,c),g.promise()}});var I;n.fn.ready=function(a){return n.ready.promise().done(a),this},n.extend({isReady:!1,readyWait:1,holdReady:function(a){a?n.readyWait++:n.ready(!0)},ready:function(a){(a===!0?--n.readyWait:n.isReady)||(n.isReady=!0,a!==!0&&--n.readyWait>0||(I.resolveWith(d,[n]),n.fn.triggerHandler&&(n(d).triggerHandler("ready"),n(d).off("ready"))))}});function J(){d.addEventListener?(d.removeEventListener("DOMContentLoaded",K),a.removeEventListener("load",K)):(d.detachEvent("onreadystatechange",K),a.detachEvent("onload",K))}function K(){(d.addEventListener||"load"===a.event.type||"complete"===d.readyState)&&(J(),n.ready())}n.ready.promise=function(b){if(!I)if(I=n.Deferred(),"complete"===d.readyState)a.setTimeout(n.ready);else if(d.addEventListener)d.addEventListener("DOMContentLoaded",K),a.addEventListener("load",K);else{d.attachEvent("onreadystatechange",K),a.attachEvent("onload",K);var c=!1;try{c=null==a.frameElement&&d.documentElement}catch(e){}c&&c.doScroll&&!function f(){if(!n.isReady){try{c.doScroll("left")}catch(b){return a.setTimeout(f,50)}J(),n.ready()}}()}return I.promise(b)},n.ready.promise();var L;for(L in n(l))break;l.ownFirst="0"===L,l.inlineBlockNeedsLayout=!1,n(function(){var a,b,c,e;c=d.getElementsByTagName("body")[0],c&&c.style&&(b=d.createElement("div"),e=d.createElement("div"),e.style.cssText="position:absolute;border:0;width:0;height:0;top:0;left:-9999px",c.appendChild(e).appendChild(b),"undefined"!=typeof b.style.zoom&&(b.style.cssText="display:inline;margin:0;border:0;padding:1px;width:1px;zoom:1",l.inlineBlockNeedsLayout=a=3===b.offsetWidth,a&&(c.style.zoom=1)),c.removeChild(e))}),function(){var a=d.createElement("div");l.deleteExpando=!0;try{delete a.test}catch(b){l.deleteExpando=!1}a=null}();var M=function(a){var b=n.noData[(a.nodeName+" ").toLowerCase()],c=+a.nodeType||1;return 1!==c&&9!==c?!1:!b||b!==!0&&a.getAttribute("classid")===b},N=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,O=/([A-Z])/g;function P(a,b,c){if(void 0===c&&1===a.nodeType){var d="data-"+b.replace(O,"-$1").toLowerCase();if(c=a.getAttribute(d),"string"==typeof c){try{c="true"===c?!0:"false"===c?!1:"null"===c?null:+c+""===c?+c:N.test(c)?n.parseJSON(c):c}catch(e){}n.data(a,b,c)}else c=void 0}return c}function Q(a){var b;for(b in a)if(("data"!==b||!n.isEmptyObject(a[b]))&&"toJSON"!==b)return!1; +return!0}function R(a,b,d,e){if(M(a)){var f,g,h=n.expando,i=a.nodeType,j=i?n.cache:a,k=i?a[h]:a[h]&&h;if(k&&j[k]&&(e||j[k].data)||void 0!==d||"string"!=typeof b)return k||(k=i?a[h]=c.pop()||n.guid++:h),j[k]||(j[k]=i?{}:{toJSON:n.noop}),("object"==typeof b||"function"==typeof b)&&(e?j[k]=n.extend(j[k],b):j[k].data=n.extend(j[k].data,b)),g=j[k],e||(g.data||(g.data={}),g=g.data),void 0!==d&&(g[n.camelCase(b)]=d),"string"==typeof b?(f=g[b],null==f&&(f=g[n.camelCase(b)])):f=g,f}}function S(a,b,c){if(M(a)){var d,e,f=a.nodeType,g=f?n.cache:a,h=f?a[n.expando]:n.expando;if(g[h]){if(b&&(d=c?g[h]:g[h].data)){n.isArray(b)?b=b.concat(n.map(b,n.camelCase)):b in d?b=[b]:(b=n.camelCase(b),b=b in d?[b]:b.split(" ")),e=b.length;while(e--)delete d[b[e]];if(c?!Q(d):!n.isEmptyObject(d))return}(c||(delete g[h].data,Q(g[h])))&&(f?n.cleanData([a],!0):l.deleteExpando||g!=g.window?delete g[h]:g[h]=void 0)}}}n.extend({cache:{},noData:{"applet ":!0,"embed ":!0,"object ":"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"},hasData:function(a){return a=a.nodeType?n.cache[a[n.expando]]:a[n.expando],!!a&&!Q(a)},data:function(a,b,c){return R(a,b,c)},removeData:function(a,b){return S(a,b)},_data:function(a,b,c){return R(a,b,c,!0)},_removeData:function(a,b){return S(a,b,!0)}}),n.fn.extend({data:function(a,b){var c,d,e,f=this[0],g=f&&f.attributes;if(void 0===a){if(this.length&&(e=n.data(f),1===f.nodeType&&!n._data(f,"parsedAttrs"))){c=g.length;while(c--)g[c]&&(d=g[c].name,0===d.indexOf("data-")&&(d=n.camelCase(d.slice(5)),P(f,d,e[d])));n._data(f,"parsedAttrs",!0)}return e}return"object"==typeof a?this.each(function(){n.data(this,a)}):arguments.length>1?this.each(function(){n.data(this,a,b)}):f?P(f,a,n.data(f,a)):void 0},removeData:function(a){return this.each(function(){n.removeData(this,a)})}}),n.extend({queue:function(a,b,c){var d;return a?(b=(b||"fx")+"queue",d=n._data(a,b),c&&(!d||n.isArray(c)?d=n._data(a,b,n.makeArray(c)):d.push(c)),d||[]):void 0},dequeue:function(a,b){b=b||"fx";var c=n.queue(a,b),d=c.length,e=c.shift(),f=n._queueHooks(a,b),g=function(){n.dequeue(a,b)};"inprogress"===e&&(e=c.shift(),d--),e&&("fx"===b&&c.unshift("inprogress"),delete f.stop,e.call(a,g,f)),!d&&f&&f.empty.fire()},_queueHooks:function(a,b){var c=b+"queueHooks";return n._data(a,c)||n._data(a,c,{empty:n.Callbacks("once memory").add(function(){n._removeData(a,b+"queue"),n._removeData(a,c)})})}}),n.fn.extend({queue:function(a,b){var c=2;return"string"!=typeof a&&(b=a,a="fx",c--),arguments.length<c?n.queue(this[0],a):void 0===b?this:this.each(function(){var c=n.queue(this,a,b);n._queueHooks(this,a),"fx"===a&&"inprogress"!==c[0]&&n.dequeue(this,a)})},dequeue:function(a){return this.each(function(){n.dequeue(this,a)})},clearQueue:function(a){return this.queue(a||"fx",[])},promise:function(a,b){var c,d=1,e=n.Deferred(),f=this,g=this.length,h=function(){--d||e.resolveWith(f,[f])};"string"!=typeof a&&(b=a,a=void 0),a=a||"fx";while(g--)c=n._data(f[g],a+"queueHooks"),c&&c.empty&&(d++,c.empty.add(h));return h(),e.promise(b)}}),function(){var a;l.shrinkWrapBlocks=function(){if(null!=a)return a;a=!1;var b,c,e;return c=d.getElementsByTagName("body")[0],c&&c.style?(b=d.createElement("div"),e=d.createElement("div"),e.style.cssText="position:absolute;border:0;width:0;height:0;top:0;left:-9999px",c.appendChild(e).appendChild(b),"undefined"!=typeof b.style.zoom&&(b.style.cssText="-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;display:block;margin:0;border:0;padding:1px;width:1px;zoom:1",b.appendChild(d.createElement("div")).style.width="5px",a=3!==b.offsetWidth),c.removeChild(e),a):void 0}}();var T=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,U=new RegExp("^(?:([+-])=|)("+T+")([a-z%]*)$","i"),V=["Top","Right","Bottom","Left"],W=function(a,b){return a=b||a,"none"===n.css(a,"display")||!n.contains(a.ownerDocument,a)};function X(a,b,c,d){var e,f=1,g=20,h=d?function(){return d.cur()}:function(){return n.css(a,b,"")},i=h(),j=c&&c[3]||(n.cssNumber[b]?"":"px"),k=(n.cssNumber[b]||"px"!==j&&+i)&&U.exec(n.css(a,b));if(k&&k[3]!==j){j=j||k[3],c=c||[],k=+i||1;do f=f||".5",k/=f,n.style(a,b,k+j);while(f!==(f=h()/i)&&1!==f&&--g)}return c&&(k=+k||+i||0,e=c[1]?k+(c[1]+1)*c[2]:+c[2],d&&(d.unit=j,d.start=k,d.end=e)),e}var Y=function(a,b,c,d,e,f,g){var h=0,i=a.length,j=null==c;if("object"===n.type(c)){e=!0;for(h in c)Y(a,b,h,c[h],!0,f,g)}else if(void 0!==d&&(e=!0,n.isFunction(d)||(g=!0),j&&(g?(b.call(a,d),b=null):(j=b,b=function(a,b,c){return j.call(n(a),c)})),b))for(;i>h;h++)b(a[h],c,g?d:d.call(a[h],h,b(a[h],c)));return e?a:j?b.call(a):i?b(a[0],c):f},Z=/^(?:checkbox|radio)$/i,$=/<([\w:-]+)/,_=/^$|\/(?:java|ecma)script/i,aa=/^\s+/,ba="abbr|article|aside|audio|bdi|canvas|data|datalist|details|dialog|figcaption|figure|footer|header|hgroup|main|mark|meter|nav|output|picture|progress|section|summary|template|time|video";function ca(a){var b=ba.split("|"),c=a.createDocumentFragment();if(c.createElement)while(b.length)c.createElement(b.pop());return c}!function(){var a=d.createElement("div"),b=d.createDocumentFragment(),c=d.createElement("input");a.innerHTML=" <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",l.leadingWhitespace=3===a.firstChild.nodeType,l.tbody=!a.getElementsByTagName("tbody").length,l.htmlSerialize=!!a.getElementsByTagName("link").length,l.html5Clone="<:nav></:nav>"!==d.createElement("nav").cloneNode(!0).outerHTML,c.type="checkbox",c.checked=!0,b.appendChild(c),l.appendChecked=c.checked,a.innerHTML="<textarea>x</textarea>",l.noCloneChecked=!!a.cloneNode(!0).lastChild.defaultValue,b.appendChild(a),c=d.createElement("input"),c.setAttribute("type","radio"),c.setAttribute("checked","checked"),c.setAttribute("name","t"),a.appendChild(c),l.checkClone=a.cloneNode(!0).cloneNode(!0).lastChild.checked,l.noCloneEvent=!!a.addEventListener,a[n.expando]=1,l.attributes=!a.getAttribute(n.expando)}();var da={option:[1,"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],area:[1,"<map>","</map>"],param:[1,"<object>","</object>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:l.htmlSerialize?[0,"",""]:[1,"X<div>","</div>"]};da.optgroup=da.option,da.tbody=da.tfoot=da.colgroup=da.caption=da.thead,da.th=da.td;function ea(a,b){var c,d,e=0,f="undefined"!=typeof a.getElementsByTagName?a.getElementsByTagName(b||"*"):"undefined"!=typeof a.querySelectorAll?a.querySelectorAll(b||"*"):void 0;if(!f)for(f=[],c=a.childNodes||a;null!=(d=c[e]);e++)!b||n.nodeName(d,b)?f.push(d):n.merge(f,ea(d,b));return void 0===b||b&&n.nodeName(a,b)?n.merge([a],f):f}function fa(a,b){for(var c,d=0;null!=(c=a[d]);d++)n._data(c,"globalEval",!b||n._data(b[d],"globalEval"))}var ga=/<|&#?\w+;/,ha=/<tbody/i;function ia(a){Z.test(a.type)&&(a.defaultChecked=a.checked)}function ja(a,b,c,d,e){for(var f,g,h,i,j,k,m,o=a.length,p=ca(b),q=[],r=0;o>r;r++)if(g=a[r],g||0===g)if("object"===n.type(g))n.merge(q,g.nodeType?[g]:g);else if(ga.test(g)){i=i||p.appendChild(b.createElement("div")),j=($.exec(g)||["",""])[1].toLowerCase(),m=da[j]||da._default,i.innerHTML=m[1]+n.htmlPrefilter(g)+m[2],f=m[0];while(f--)i=i.lastChild;if(!l.leadingWhitespace&&aa.test(g)&&q.push(b.createTextNode(aa.exec(g)[0])),!l.tbody){g="table"!==j||ha.test(g)?"<table>"!==m[1]||ha.test(g)?0:i:i.firstChild,f=g&&g.childNodes.length;while(f--)n.nodeName(k=g.childNodes[f],"tbody")&&!k.childNodes.length&&g.removeChild(k)}n.merge(q,i.childNodes),i.textContent="";while(i.firstChild)i.removeChild(i.firstChild);i=p.lastChild}else q.push(b.createTextNode(g));i&&p.removeChild(i),l.appendChecked||n.grep(ea(q,"input"),ia),r=0;while(g=q[r++])if(d&&n.inArray(g,d)>-1)e&&e.push(g);else if(h=n.contains(g.ownerDocument,g),i=ea(p.appendChild(g),"script"),h&&fa(i),c){f=0;while(g=i[f++])_.test(g.type||"")&&c.push(g)}return i=null,p}!function(){var b,c,e=d.createElement("div");for(b in{submit:!0,change:!0,focusin:!0})c="on"+b,(l[b]=c in a)||(e.setAttribute(c,"t"),l[b]=e.attributes[c].expando===!1);e=null}();var ka=/^(?:input|select|textarea)$/i,la=/^key/,ma=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,na=/^(?:focusinfocus|focusoutblur)$/,oa=/^([^.]*)(?:\.(.+)|)/;function pa(){return!0}function qa(){return!1}function ra(){try{return d.activeElement}catch(a){}}function sa(a,b,c,d,e,f){var g,h;if("object"==typeof b){"string"!=typeof c&&(d=d||c,c=void 0);for(h in b)sa(a,h,c,d,b[h],f);return a}if(null==d&&null==e?(e=c,d=c=void 0):null==e&&("string"==typeof c?(e=d,d=void 0):(e=d,d=c,c=void 0)),e===!1)e=qa;else if(!e)return a;return 1===f&&(g=e,e=function(a){return n().off(a),g.apply(this,arguments)},e.guid=g.guid||(g.guid=n.guid++)),a.each(function(){n.event.add(this,b,e,d,c)})}n.event={global:{},add:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=n._data(a);if(r){c.handler&&(i=c,c=i.handler,e=i.selector),c.guid||(c.guid=n.guid++),(g=r.events)||(g=r.events={}),(k=r.handle)||(k=r.handle=function(a){return"undefined"==typeof n||a&&n.event.triggered===a.type?void 0:n.event.dispatch.apply(k.elem,arguments)},k.elem=a),b=(b||"").match(G)||[""],h=b.length;while(h--)f=oa.exec(b[h])||[],o=q=f[1],p=(f[2]||"").split(".").sort(),o&&(j=n.event.special[o]||{},o=(e?j.delegateType:j.bindType)||o,j=n.event.special[o]||{},l=n.extend({type:o,origType:q,data:d,handler:c,guid:c.guid,selector:e,needsContext:e&&n.expr.match.needsContext.test(e),namespace:p.join(".")},i),(m=g[o])||(m=g[o]=[],m.delegateCount=0,j.setup&&j.setup.call(a,d,p,k)!==!1||(a.addEventListener?a.addEventListener(o,k,!1):a.attachEvent&&a.attachEvent("on"+o,k))),j.add&&(j.add.call(a,l),l.handler.guid||(l.handler.guid=c.guid)),e?m.splice(m.delegateCount++,0,l):m.push(l),n.event.global[o]=!0);a=null}},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=n.hasData(a)&&n._data(a);if(r&&(k=r.events)){b=(b||"").match(G)||[""],j=b.length;while(j--)if(h=oa.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o){l=n.event.special[o]||{},o=(d?l.delegateType:l.bindType)||o,m=k[o]||[],h=h[2]&&new RegExp("(^|\\.)"+p.join("\\.(?:.*\\.|)")+"(\\.|$)"),i=f=m.length;while(f--)g=m[f],!e&&q!==g.origType||c&&c.guid!==g.guid||h&&!h.test(g.namespace)||d&&d!==g.selector&&("**"!==d||!g.selector)||(m.splice(f,1),g.selector&&m.delegateCount--,l.remove&&l.remove.call(a,g));i&&!m.length&&(l.teardown&&l.teardown.call(a,p,r.handle)!==!1||n.removeEvent(a,o,r.handle),delete k[o])}else for(o in k)n.event.remove(a,o+b[j],c,d,!0);n.isEmptyObject(k)&&(delete r.handle,n._removeData(a,"events"))}},trigger:function(b,c,e,f){var g,h,i,j,l,m,o,p=[e||d],q=k.call(b,"type")?b.type:b,r=k.call(b,"namespace")?b.namespace.split("."):[];if(i=m=e=e||d,3!==e.nodeType&&8!==e.nodeType&&!na.test(q+n.event.triggered)&&(q.indexOf(".")>-1&&(r=q.split("."),q=r.shift(),r.sort()),h=q.indexOf(":")<0&&"on"+q,b=b[n.expando]?b:new n.Event(q,"object"==typeof b&&b),b.isTrigger=f?2:3,b.namespace=r.join("."),b.rnamespace=b.namespace?new RegExp("(^|\\.)"+r.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,b.result=void 0,b.target||(b.target=e),c=null==c?[b]:n.makeArray(c,[b]),l=n.event.special[q]||{},f||!l.trigger||l.trigger.apply(e,c)!==!1)){if(!f&&!l.noBubble&&!n.isWindow(e)){for(j=l.delegateType||q,na.test(j+q)||(i=i.parentNode);i;i=i.parentNode)p.push(i),m=i;m===(e.ownerDocument||d)&&p.push(m.defaultView||m.parentWindow||a)}o=0;while((i=p[o++])&&!b.isPropagationStopped())b.type=o>1?j:l.bindType||q,g=(n._data(i,"events")||{})[b.type]&&n._data(i,"handle"),g&&g.apply(i,c),g=h&&i[h],g&&g.apply&&M(i)&&(b.result=g.apply(i,c),b.result===!1&&b.preventDefault());if(b.type=q,!f&&!b.isDefaultPrevented()&&(!l._default||l._default.apply(p.pop(),c)===!1)&&M(e)&&h&&e[q]&&!n.isWindow(e)){m=e[h],m&&(e[h]=null),n.event.triggered=q;try{e[q]()}catch(s){}n.event.triggered=void 0,m&&(e[h]=m)}return b.result}},dispatch:function(a){a=n.event.fix(a);var b,c,d,f,g,h=[],i=e.call(arguments),j=(n._data(this,"events")||{})[a.type]||[],k=n.event.special[a.type]||{};if(i[0]=a,a.delegateTarget=this,!k.preDispatch||k.preDispatch.call(this,a)!==!1){h=n.event.handlers.call(this,a,j),b=0;while((f=h[b++])&&!a.isPropagationStopped()){a.currentTarget=f.elem,c=0;while((g=f.handlers[c++])&&!a.isImmediatePropagationStopped())(!a.rnamespace||a.rnamespace.test(g.namespace))&&(a.handleObj=g,a.data=g.data,d=((n.event.special[g.origType]||{}).handle||g.handler).apply(f.elem,i),void 0!==d&&(a.result=d)===!1&&(a.preventDefault(),a.stopPropagation()))}return k.postDispatch&&k.postDispatch.call(this,a),a.result}},handlers:function(a,b){var c,d,e,f,g=[],h=b.delegateCount,i=a.target;if(h&&i.nodeType&&("click"!==a.type||isNaN(a.button)||a.button<1))for(;i!=this;i=i.parentNode||this)if(1===i.nodeType&&(i.disabled!==!0||"click"!==a.type)){for(d=[],c=0;h>c;c++)f=b[c],e=f.selector+" ",void 0===d[e]&&(d[e]=f.needsContext?n(e,this).index(i)>-1:n.find(e,this,null,[i]).length),d[e]&&d.push(f);d.length&&g.push({elem:i,handlers:d})}return h<b.length&&g.push({elem:this,handlers:b.slice(h)}),g},fix:function(a){if(a[n.expando])return a;var b,c,e,f=a.type,g=a,h=this.fixHooks[f];h||(this.fixHooks[f]=h=ma.test(f)?this.mouseHooks:la.test(f)?this.keyHooks:{}),e=h.props?this.props.concat(h.props):this.props,a=new n.Event(g),b=e.length;while(b--)c=e[b],a[c]=g[c];return a.target||(a.target=g.srcElement||d),3===a.target.nodeType&&(a.target=a.target.parentNode),a.metaKey=!!a.metaKey,h.filter?h.filter(a,g):a},props:"altKey bubbles cancelable ctrlKey currentTarget detail eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(a,b){return null==a.which&&(a.which=null!=b.charCode?b.charCode:b.keyCode),a}},mouseHooks:{props:"button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(a,b){var c,e,f,g=b.button,h=b.fromElement;return null==a.pageX&&null!=b.clientX&&(e=a.target.ownerDocument||d,f=e.documentElement,c=e.body,a.pageX=b.clientX+(f&&f.scrollLeft||c&&c.scrollLeft||0)-(f&&f.clientLeft||c&&c.clientLeft||0),a.pageY=b.clientY+(f&&f.scrollTop||c&&c.scrollTop||0)-(f&&f.clientTop||c&&c.clientTop||0)),!a.relatedTarget&&h&&(a.relatedTarget=h===a.target?b.toElement:h),a.which||void 0===g||(a.which=1&g?1:2&g?3:4&g?2:0),a}},special:{load:{noBubble:!0},focus:{trigger:function(){if(this!==ra()&&this.focus)try{return this.focus(),!1}catch(a){}},delegateType:"focusin"},blur:{trigger:function(){return this===ra()&&this.blur?(this.blur(),!1):void 0},delegateType:"focusout"},click:{trigger:function(){return n.nodeName(this,"input")&&"checkbox"===this.type&&this.click?(this.click(),!1):void 0},_default:function(a){return n.nodeName(a.target,"a")}},beforeunload:{postDispatch:function(a){void 0!==a.result&&a.originalEvent&&(a.originalEvent.returnValue=a.result)}}},simulate:function(a,b,c){var d=n.extend(new n.Event,c,{type:a,isSimulated:!0});n.event.trigger(d,null,b),d.isDefaultPrevented()&&c.preventDefault()}},n.removeEvent=d.removeEventListener?function(a,b,c){a.removeEventListener&&a.removeEventListener(b,c)}:function(a,b,c){var d="on"+b;a.detachEvent&&("undefined"==typeof a[d]&&(a[d]=null),a.detachEvent(d,c))},n.Event=function(a,b){return this instanceof n.Event?(a&&a.type?(this.originalEvent=a,this.type=a.type,this.isDefaultPrevented=a.defaultPrevented||void 0===a.defaultPrevented&&a.returnValue===!1?pa:qa):this.type=a,b&&n.extend(this,b),this.timeStamp=a&&a.timeStamp||n.now(),void(this[n.expando]=!0)):new n.Event(a,b)},n.Event.prototype={constructor:n.Event,isDefaultPrevented:qa,isPropagationStopped:qa,isImmediatePropagationStopped:qa,preventDefault:function(){var a=this.originalEvent;this.isDefaultPrevented=pa,a&&(a.preventDefault?a.preventDefault():a.returnValue=!1)},stopPropagation:function(){var a=this.originalEvent;this.isPropagationStopped=pa,a&&!this.isSimulated&&(a.stopPropagation&&a.stopPropagation(),a.cancelBubble=!0)},stopImmediatePropagation:function(){var a=this.originalEvent;this.isImmediatePropagationStopped=pa,a&&a.stopImmediatePropagation&&a.stopImmediatePropagation(),this.stopPropagation()}},n.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(a,b){n.event.special[a]={delegateType:b,bindType:b,handle:function(a){var c,d=this,e=a.relatedTarget,f=a.handleObj;return(!e||e!==d&&!n.contains(d,e))&&(a.type=f.origType,c=f.handler.apply(this,arguments),a.type=b),c}}}),l.submit||(n.event.special.submit={setup:function(){return n.nodeName(this,"form")?!1:void n.event.add(this,"click._submit keypress._submit",function(a){var b=a.target,c=n.nodeName(b,"input")||n.nodeName(b,"button")?n.prop(b,"form"):void 0;c&&!n._data(c,"submit")&&(n.event.add(c,"submit._submit",function(a){a._submitBubble=!0}),n._data(c,"submit",!0))})},postDispatch:function(a){a._submitBubble&&(delete a._submitBubble,this.parentNode&&!a.isTrigger&&n.event.simulate("submit",this.parentNode,a))},teardown:function(){return n.nodeName(this,"form")?!1:void n.event.remove(this,"._submit")}}),l.change||(n.event.special.change={setup:function(){return ka.test(this.nodeName)?(("checkbox"===this.type||"radio"===this.type)&&(n.event.add(this,"propertychange._change",function(a){"checked"===a.originalEvent.propertyName&&(this._justChanged=!0)}),n.event.add(this,"click._change",function(a){this._justChanged&&!a.isTrigger&&(this._justChanged=!1),n.event.simulate("change",this,a)})),!1):void n.event.add(this,"beforeactivate._change",function(a){var b=a.target;ka.test(b.nodeName)&&!n._data(b,"change")&&(n.event.add(b,"change._change",function(a){!this.parentNode||a.isSimulated||a.isTrigger||n.event.simulate("change",this.parentNode,a)}),n._data(b,"change",!0))})},handle:function(a){var b=a.target;return this!==b||a.isSimulated||a.isTrigger||"radio"!==b.type&&"checkbox"!==b.type?a.handleObj.handler.apply(this,arguments):void 0},teardown:function(){return n.event.remove(this,"._change"),!ka.test(this.nodeName)}}),l.focusin||n.each({focus:"focusin",blur:"focusout"},function(a,b){var c=function(a){n.event.simulate(b,a.target,n.event.fix(a))};n.event.special[b]={setup:function(){var d=this.ownerDocument||this,e=n._data(d,b);e||d.addEventListener(a,c,!0),n._data(d,b,(e||0)+1)},teardown:function(){var d=this.ownerDocument||this,e=n._data(d,b)-1;e?n._data(d,b,e):(d.removeEventListener(a,c,!0),n._removeData(d,b))}}}),n.fn.extend({on:function(a,b,c,d){return sa(this,a,b,c,d)},one:function(a,b,c,d){return sa(this,a,b,c,d,1)},off:function(a,b,c){var d,e;if(a&&a.preventDefault&&a.handleObj)return d=a.handleObj,n(a.delegateTarget).off(d.namespace?d.origType+"."+d.namespace:d.origType,d.selector,d.handler),this;if("object"==typeof a){for(e in a)this.off(e,b,a[e]);return this}return(b===!1||"function"==typeof b)&&(c=b,b=void 0),c===!1&&(c=qa),this.each(function(){n.event.remove(this,a,c,b)})},trigger:function(a,b){return this.each(function(){n.event.trigger(a,b,this)})},triggerHandler:function(a,b){var c=this[0];return c?n.event.trigger(a,b,c,!0):void 0}});var ta=/ jQuery\d+="(?:null|\d+)"/g,ua=new RegExp("<(?:"+ba+")[\\s/>]","i"),va=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:-]+)[^>]*)\/>/gi,wa=/<script|<style|<link/i,xa=/checked\s*(?:[^=]|=\s*.checked.)/i,ya=/^true\/(.*)/,za=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g,Aa=ca(d),Ba=Aa.appendChild(d.createElement("div"));function Ca(a,b){return n.nodeName(a,"table")&&n.nodeName(11!==b.nodeType?b:b.firstChild,"tr")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function Da(a){return a.type=(null!==n.find.attr(a,"type"))+"/"+a.type,a}function Ea(a){var b=ya.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function Fa(a,b){if(1===b.nodeType&&n.hasData(a)){var c,d,e,f=n._data(a),g=n._data(b,f),h=f.events;if(h){delete g.handle,g.events={};for(c in h)for(d=0,e=h[c].length;e>d;d++)n.event.add(b,c,h[c][d])}g.data&&(g.data=n.extend({},g.data))}}function Ga(a,b){var c,d,e;if(1===b.nodeType){if(c=b.nodeName.toLowerCase(),!l.noCloneEvent&&b[n.expando]){e=n._data(b);for(d in e.events)n.removeEvent(b,d,e.handle);b.removeAttribute(n.expando)}"script"===c&&b.text!==a.text?(Da(b).text=a.text,Ea(b)):"object"===c?(b.parentNode&&(b.outerHTML=a.outerHTML),l.html5Clone&&a.innerHTML&&!n.trim(b.innerHTML)&&(b.innerHTML=a.innerHTML)):"input"===c&&Z.test(a.type)?(b.defaultChecked=b.checked=a.checked,b.value!==a.value&&(b.value=a.value)):"option"===c?b.defaultSelected=b.selected=a.defaultSelected:("input"===c||"textarea"===c)&&(b.defaultValue=a.defaultValue)}}function Ha(a,b,c,d){b=f.apply([],b);var e,g,h,i,j,k,m=0,o=a.length,p=o-1,q=b[0],r=n.isFunction(q);if(r||o>1&&"string"==typeof q&&!l.checkClone&&xa.test(q))return a.each(function(e){var f=a.eq(e);r&&(b[0]=q.call(this,e,f.html())),Ha(f,b,c,d)});if(o&&(k=ja(b,a[0].ownerDocument,!1,a,d),e=k.firstChild,1===k.childNodes.length&&(k=e),e||d)){for(i=n.map(ea(k,"script"),Da),h=i.length;o>m;m++)g=k,m!==p&&(g=n.clone(g,!0,!0),h&&n.merge(i,ea(g,"script"))),c.call(a[m],g,m);if(h)for(j=i[i.length-1].ownerDocument,n.map(i,Ea),m=0;h>m;m++)g=i[m],_.test(g.type||"")&&!n._data(g,"globalEval")&&n.contains(j,g)&&(g.src?n._evalUrl&&n._evalUrl(g.src):n.globalEval((g.text||g.textContent||g.innerHTML||"").replace(za,"")));k=e=null}return a}function Ia(a,b,c){for(var d,e=b?n.filter(b,a):a,f=0;null!=(d=e[f]);f++)c||1!==d.nodeType||n.cleanData(ea(d)),d.parentNode&&(c&&n.contains(d.ownerDocument,d)&&fa(ea(d,"script")),d.parentNode.removeChild(d));return a}n.extend({htmlPrefilter:function(a){return a.replace(va,"<$1></$2>")},clone:function(a,b,c){var d,e,f,g,h,i=n.contains(a.ownerDocument,a);if(l.html5Clone||n.isXMLDoc(a)||!ua.test("<"+a.nodeName+">")?f=a.cloneNode(!0):(Ba.innerHTML=a.outerHTML,Ba.removeChild(f=Ba.firstChild)),!(l.noCloneEvent&&l.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||n.isXMLDoc(a)))for(d=ea(f),h=ea(a),g=0;null!=(e=h[g]);++g)d[g]&&Ga(e,d[g]);if(b)if(c)for(h=h||ea(a),d=d||ea(f),g=0;null!=(e=h[g]);g++)Fa(e,d[g]);else Fa(a,f);return d=ea(f,"script"),d.length>0&&fa(d,!i&&ea(a,"script")),d=h=e=null,f},cleanData:function(a,b){for(var d,e,f,g,h=0,i=n.expando,j=n.cache,k=l.attributes,m=n.event.special;null!=(d=a[h]);h++)if((b||M(d))&&(f=d[i],g=f&&j[f])){if(g.events)for(e in g.events)m[e]?n.event.remove(d,e):n.removeEvent(d,e,g.handle);j[f]&&(delete j[f],k||"undefined"==typeof d.removeAttribute?d[i]=void 0:d.removeAttribute(i),c.push(f))}}}),n.fn.extend({domManip:Ha,detach:function(a){return Ia(this,a,!0)},remove:function(a){return Ia(this,a)},text:function(a){return Y(this,function(a){return void 0===a?n.text(this):this.empty().append((this[0]&&this[0].ownerDocument||d).createTextNode(a))},null,a,arguments.length)},append:function(){return Ha(this,arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=Ca(this,a);b.appendChild(a)}})},prepend:function(){return Ha(this,arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=Ca(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return Ha(this,arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return Ha(this,arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},empty:function(){for(var a,b=0;null!=(a=this[b]);b++){1===a.nodeType&&n.cleanData(ea(a,!1));while(a.firstChild)a.removeChild(a.firstChild);a.options&&n.nodeName(a,"select")&&(a.options.length=0)}return this},clone:function(a,b){return a=null==a?!1:a,b=null==b?a:b,this.map(function(){return n.clone(this,a,b)})},html:function(a){return Y(this,function(a){var b=this[0]||{},c=0,d=this.length;if(void 0===a)return 1===b.nodeType?b.innerHTML.replace(ta,""):void 0;if("string"==typeof a&&!wa.test(a)&&(l.htmlSerialize||!ua.test(a))&&(l.leadingWhitespace||!aa.test(a))&&!da[($.exec(a)||["",""])[1].toLowerCase()]){a=n.htmlPrefilter(a);try{for(;d>c;c++)b=this[c]||{},1===b.nodeType&&(n.cleanData(ea(b,!1)),b.innerHTML=a);b=0}catch(e){}}b&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(){var a=[];return Ha(this,arguments,function(b){var c=this.parentNode;n.inArray(this,a)<0&&(n.cleanData(ea(this)),c&&c.replaceChild(b,this))},a)}}),n.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){n.fn[a]=function(a){for(var c,d=0,e=[],f=n(a),h=f.length-1;h>=d;d++)c=d===h?this:this.clone(!0),n(f[d])[b](c),g.apply(e,c.get());return this.pushStack(e)}});var Ja,Ka={HTML:"block",BODY:"block"};function La(a,b){var c=n(b.createElement(a)).appendTo(b.body),d=n.css(c[0],"display");return c.detach(),d}function Ma(a){var b=d,c=Ka[a];return c||(c=La(a,b),"none"!==c&&c||(Ja=(Ja||n("<iframe frameborder='0' width='0' height='0'/>")).appendTo(b.documentElement),b=(Ja[0].contentWindow||Ja[0].contentDocument).document,b.write(),b.close(),c=La(a,b),Ja.detach()),Ka[a]=c),c}var Na=/^margin/,Oa=new RegExp("^("+T+")(?!px)[a-z%]+$","i"),Pa=function(a,b,c,d){var e,f,g={};for(f in b)g[f]=a.style[f],a.style[f]=b[f];e=c.apply(a,d||[]);for(f in b)a.style[f]=g[f];return e},Qa=d.documentElement;!function(){var b,c,e,f,g,h,i=d.createElement("div"),j=d.createElement("div");if(j.style){j.style.cssText="float:left;opacity:.5",l.opacity="0.5"===j.style.opacity,l.cssFloat=!!j.style.cssFloat,j.style.backgroundClip="content-box",j.cloneNode(!0).style.backgroundClip="",l.clearCloneStyle="content-box"===j.style.backgroundClip,i=d.createElement("div"),i.style.cssText="border:0;width:8px;height:0;top:0;left:-9999px;padding:0;margin-top:1px;position:absolute",j.innerHTML="",i.appendChild(j),l.boxSizing=""===j.style.boxSizing||""===j.style.MozBoxSizing||""===j.style.WebkitBoxSizing,n.extend(l,{reliableHiddenOffsets:function(){return null==b&&k(),f},boxSizingReliable:function(){return null==b&&k(),e},pixelMarginRight:function(){return null==b&&k(),c},pixelPosition:function(){return null==b&&k(),b},reliableMarginRight:function(){return null==b&&k(),g},reliableMarginLeft:function(){return null==b&&k(),h}});function k(){var k,l,m=d.documentElement;m.appendChild(i),j.style.cssText="-webkit-box-sizing:border-box;box-sizing:border-box;position:relative;display:block;margin:auto;border:1px;padding:1px;top:1%;width:50%",b=e=h=!1,c=g=!0,a.getComputedStyle&&(l=a.getComputedStyle(j),b="1%"!==(l||{}).top,h="2px"===(l||{}).marginLeft,e="4px"===(l||{width:"4px"}).width,j.style.marginRight="50%",c="4px"===(l||{marginRight:"4px"}).marginRight,k=j.appendChild(d.createElement("div")),k.style.cssText=j.style.cssText="-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;display:block;margin:0;border:0;padding:0",k.style.marginRight=k.style.width="0",j.style.width="1px",g=!parseFloat((a.getComputedStyle(k)||{}).marginRight),j.removeChild(k)),j.style.display="none",f=0===j.getClientRects().length,f&&(j.style.display="",j.innerHTML="<table><tr><td></td><td>t</td></tr></table>",k=j.getElementsByTagName("td"),k[0].style.cssText="margin:0;border:0;padding:0;display:none",f=0===k[0].offsetHeight,f&&(k[0].style.display="",k[1].style.display="none",f=0===k[0].offsetHeight)),m.removeChild(i)}}}();var Ra,Sa,Ta=/^(top|right|bottom|left)$/;a.getComputedStyle?(Ra=function(b){var c=b.ownerDocument.defaultView;return c.opener||(c=a),c.getComputedStyle(b)},Sa=function(a,b,c){var d,e,f,g,h=a.style;return c=c||Ra(a),g=c?c.getPropertyValue(b)||c[b]:void 0,c&&(""!==g||n.contains(a.ownerDocument,a)||(g=n.style(a,b)),!l.pixelMarginRight()&&Oa.test(g)&&Na.test(b)&&(d=h.width,e=h.minWidth,f=h.maxWidth,h.minWidth=h.maxWidth=h.width=g,g=c.width,h.width=d,h.minWidth=e,h.maxWidth=f)),void 0===g?g:g+""}):Qa.currentStyle&&(Ra=function(a){return a.currentStyle},Sa=function(a,b,c){var d,e,f,g,h=a.style;return c=c||Ra(a),g=c?c[b]:void 0,null==g&&h&&h[b]&&(g=h[b]),Oa.test(g)&&!Ta.test(b)&&(d=h.left,e=a.runtimeStyle,f=e&&e.left,f&&(e.left=a.currentStyle.left),h.left="fontSize"===b?"1em":g,g=h.pixelLeft+"px",h.left=d,f&&(e.left=f)),void 0===g?g:g+""||"auto"});function Ua(a,b){return{get:function(){return a()?void delete this.get:(this.get=b).apply(this,arguments)}}}var Va=/alpha\([^)]*\)/i,Wa=/opacity\s*=\s*([^)]*)/i,Xa=/^(none|table(?!-c[ea]).+)/,Ya=new RegExp("^("+T+")(.*)$","i"),Za={position:"absolute",visibility:"hidden",display:"block"},$a={letterSpacing:"0",fontWeight:"400"},_a=["Webkit","O","Moz","ms"],ab=d.createElement("div").style;function bb(a){if(a in ab)return a;var b=a.charAt(0).toUpperCase()+a.slice(1),c=_a.length;while(c--)if(a=_a[c]+b,a in ab)return a}function cb(a,b){for(var c,d,e,f=[],g=0,h=a.length;h>g;g++)d=a[g],d.style&&(f[g]=n._data(d,"olddisplay"),c=d.style.display,b?(f[g]||"none"!==c||(d.style.display=""),""===d.style.display&&W(d)&&(f[g]=n._data(d,"olddisplay",Ma(d.nodeName)))):(e=W(d),(c&&"none"!==c||!e)&&n._data(d,"olddisplay",e?c:n.css(d,"display"))));for(g=0;h>g;g++)d=a[g],d.style&&(b&&"none"!==d.style.display&&""!==d.style.display||(d.style.display=b?f[g]||"":"none"));return a}function db(a,b,c){var d=Ya.exec(b);return d?Math.max(0,d[1]-(c||0))+(d[2]||"px"):b}function eb(a,b,c,d,e){for(var f=c===(d?"border":"content")?4:"width"===b?1:0,g=0;4>f;f+=2)"margin"===c&&(g+=n.css(a,c+V[f],!0,e)),d?("content"===c&&(g-=n.css(a,"padding"+V[f],!0,e)),"margin"!==c&&(g-=n.css(a,"border"+V[f]+"Width",!0,e))):(g+=n.css(a,"padding"+V[f],!0,e),"padding"!==c&&(g+=n.css(a,"border"+V[f]+"Width",!0,e)));return g}function fb(b,c,e){var f=!0,g="width"===c?b.offsetWidth:b.offsetHeight,h=Ra(b),i=l.boxSizing&&"border-box"===n.css(b,"boxSizing",!1,h);if(d.msFullscreenElement&&a.top!==a&&b.getClientRects().length&&(g=Math.round(100*b.getBoundingClientRect()[c])),0>=g||null==g){if(g=Sa(b,c,h),(0>g||null==g)&&(g=b.style[c]),Oa.test(g))return g;f=i&&(l.boxSizingReliable()||g===b.style[c]),g=parseFloat(g)||0}return g+eb(b,c,e||(i?"border":"content"),f,h)+"px"}n.extend({cssHooks:{opacity:{get:function(a,b){if(b){var c=Sa(a,"opacity");return""===c?"1":c}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":l.cssFloat?"cssFloat":"styleFloat"},style:function(a,b,c,d){if(a&&3!==a.nodeType&&8!==a.nodeType&&a.style){var e,f,g,h=n.camelCase(b),i=a.style;if(b=n.cssProps[h]||(n.cssProps[h]=bb(h)||h),g=n.cssHooks[b]||n.cssHooks[h],void 0===c)return g&&"get"in g&&void 0!==(e=g.get(a,!1,d))?e:i[b];if(f=typeof c,"string"===f&&(e=U.exec(c))&&e[1]&&(c=X(a,b,e),f="number"),null!=c&&c===c&&("number"===f&&(c+=e&&e[3]||(n.cssNumber[h]?"":"px")),l.clearCloneStyle||""!==c||0!==b.indexOf("background")||(i[b]="inherit"),!(g&&"set"in g&&void 0===(c=g.set(a,c,d)))))try{i[b]=c}catch(j){}}},css:function(a,b,c,d){var e,f,g,h=n.camelCase(b);return b=n.cssProps[h]||(n.cssProps[h]=bb(h)||h),g=n.cssHooks[b]||n.cssHooks[h],g&&"get"in g&&(f=g.get(a,!0,c)),void 0===f&&(f=Sa(a,b,d)),"normal"===f&&b in $a&&(f=$a[b]),""===c||c?(e=parseFloat(f),c===!0||isFinite(e)?e||0:f):f}}),n.each(["height","width"],function(a,b){n.cssHooks[b]={get:function(a,c,d){return c?Xa.test(n.css(a,"display"))&&0===a.offsetWidth?Pa(a,Za,function(){return fb(a,b,d)}):fb(a,b,d):void 0},set:function(a,c,d){var e=d&&Ra(a);return db(a,c,d?eb(a,b,d,l.boxSizing&&"border-box"===n.css(a,"boxSizing",!1,e),e):0)}}}),l.opacity||(n.cssHooks.opacity={get:function(a,b){return Wa.test((b&&a.currentStyle?a.currentStyle.filter:a.style.filter)||"")?.01*parseFloat(RegExp.$1)+"":b?"1":""},set:function(a,b){var c=a.style,d=a.currentStyle,e=n.isNumeric(b)?"alpha(opacity="+100*b+")":"",f=d&&d.filter||c.filter||"";c.zoom=1,(b>=1||""===b)&&""===n.trim(f.replace(Va,""))&&c.removeAttribute&&(c.removeAttribute("filter"),""===b||d&&!d.filter)||(c.filter=Va.test(f)?f.replace(Va,e):f+" "+e)}}),n.cssHooks.marginRight=Ua(l.reliableMarginRight,function(a,b){return b?Pa(a,{display:"inline-block"},Sa,[a,"marginRight"]):void 0}),n.cssHooks.marginLeft=Ua(l.reliableMarginLeft,function(a,b){return b?(parseFloat(Sa(a,"marginLeft"))||(n.contains(a.ownerDocument,a)?a.getBoundingClientRect().left-Pa(a,{ +marginLeft:0},function(){return a.getBoundingClientRect().left}):0))+"px":void 0}),n.each({margin:"",padding:"",border:"Width"},function(a,b){n.cssHooks[a+b]={expand:function(c){for(var d=0,e={},f="string"==typeof c?c.split(" "):[c];4>d;d++)e[a+V[d]+b]=f[d]||f[d-2]||f[0];return e}},Na.test(a)||(n.cssHooks[a+b].set=db)}),n.fn.extend({css:function(a,b){return Y(this,function(a,b,c){var d,e,f={},g=0;if(n.isArray(b)){for(d=Ra(a),e=b.length;e>g;g++)f[b[g]]=n.css(a,b[g],!1,d);return f}return void 0!==c?n.style(a,b,c):n.css(a,b)},a,b,arguments.length>1)},show:function(){return cb(this,!0)},hide:function(){return cb(this)},toggle:function(a){return"boolean"==typeof a?a?this.show():this.hide():this.each(function(){W(this)?n(this).show():n(this).hide()})}});function gb(a,b,c,d,e){return new gb.prototype.init(a,b,c,d,e)}n.Tween=gb,gb.prototype={constructor:gb,init:function(a,b,c,d,e,f){this.elem=a,this.prop=c,this.easing=e||n.easing._default,this.options=b,this.start=this.now=this.cur(),this.end=d,this.unit=f||(n.cssNumber[c]?"":"px")},cur:function(){var a=gb.propHooks[this.prop];return a&&a.get?a.get(this):gb.propHooks._default.get(this)},run:function(a){var b,c=gb.propHooks[this.prop];return this.options.duration?this.pos=b=n.easing[this.easing](a,this.options.duration*a,0,1,this.options.duration):this.pos=b=a,this.now=(this.end-this.start)*b+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),c&&c.set?c.set(this):gb.propHooks._default.set(this),this}},gb.prototype.init.prototype=gb.prototype,gb.propHooks={_default:{get:function(a){var b;return 1!==a.elem.nodeType||null!=a.elem[a.prop]&&null==a.elem.style[a.prop]?a.elem[a.prop]:(b=n.css(a.elem,a.prop,""),b&&"auto"!==b?b:0)},set:function(a){n.fx.step[a.prop]?n.fx.step[a.prop](a):1!==a.elem.nodeType||null==a.elem.style[n.cssProps[a.prop]]&&!n.cssHooks[a.prop]?a.elem[a.prop]=a.now:n.style(a.elem,a.prop,a.now+a.unit)}}},gb.propHooks.scrollTop=gb.propHooks.scrollLeft={set:function(a){a.elem.nodeType&&a.elem.parentNode&&(a.elem[a.prop]=a.now)}},n.easing={linear:function(a){return a},swing:function(a){return.5-Math.cos(a*Math.PI)/2},_default:"swing"},n.fx=gb.prototype.init,n.fx.step={};var hb,ib,jb=/^(?:toggle|show|hide)$/,kb=/queueHooks$/;function lb(){return a.setTimeout(function(){hb=void 0}),hb=n.now()}function mb(a,b){var c,d={height:a},e=0;for(b=b?1:0;4>e;e+=2-b)c=V[e],d["margin"+c]=d["padding"+c]=a;return b&&(d.opacity=d.width=a),d}function nb(a,b,c){for(var d,e=(qb.tweeners[b]||[]).concat(qb.tweeners["*"]),f=0,g=e.length;g>f;f++)if(d=e[f].call(c,b,a))return d}function ob(a,b,c){var d,e,f,g,h,i,j,k,m=this,o={},p=a.style,q=a.nodeType&&W(a),r=n._data(a,"fxshow");c.queue||(h=n._queueHooks(a,"fx"),null==h.unqueued&&(h.unqueued=0,i=h.empty.fire,h.empty.fire=function(){h.unqueued||i()}),h.unqueued++,m.always(function(){m.always(function(){h.unqueued--,n.queue(a,"fx").length||h.empty.fire()})})),1===a.nodeType&&("height"in b||"width"in b)&&(c.overflow=[p.overflow,p.overflowX,p.overflowY],j=n.css(a,"display"),k="none"===j?n._data(a,"olddisplay")||Ma(a.nodeName):j,"inline"===k&&"none"===n.css(a,"float")&&(l.inlineBlockNeedsLayout&&"inline"!==Ma(a.nodeName)?p.zoom=1:p.display="inline-block")),c.overflow&&(p.overflow="hidden",l.shrinkWrapBlocks()||m.always(function(){p.overflow=c.overflow[0],p.overflowX=c.overflow[1],p.overflowY=c.overflow[2]}));for(d in b)if(e=b[d],jb.exec(e)){if(delete b[d],f=f||"toggle"===e,e===(q?"hide":"show")){if("show"!==e||!r||void 0===r[d])continue;q=!0}o[d]=r&&r[d]||n.style(a,d)}else j=void 0;if(n.isEmptyObject(o))"inline"===("none"===j?Ma(a.nodeName):j)&&(p.display=j);else{r?"hidden"in r&&(q=r.hidden):r=n._data(a,"fxshow",{}),f&&(r.hidden=!q),q?n(a).show():m.done(function(){n(a).hide()}),m.done(function(){var b;n._removeData(a,"fxshow");for(b in o)n.style(a,b,o[b])});for(d in o)g=nb(q?r[d]:0,d,m),d in r||(r[d]=g.start,q&&(g.end=g.start,g.start="width"===d||"height"===d?1:0))}}function pb(a,b){var c,d,e,f,g;for(c in a)if(d=n.camelCase(c),e=b[d],f=a[c],n.isArray(f)&&(e=f[1],f=a[c]=f[0]),c!==d&&(a[d]=f,delete a[c]),g=n.cssHooks[d],g&&"expand"in g){f=g.expand(f),delete a[d];for(c in f)c in a||(a[c]=f[c],b[c]=e)}else b[d]=e}function qb(a,b,c){var d,e,f=0,g=qb.prefilters.length,h=n.Deferred().always(function(){delete i.elem}),i=function(){if(e)return!1;for(var b=hb||lb(),c=Math.max(0,j.startTime+j.duration-b),d=c/j.duration||0,f=1-d,g=0,i=j.tweens.length;i>g;g++)j.tweens[g].run(f);return h.notifyWith(a,[j,f,c]),1>f&&i?c:(h.resolveWith(a,[j]),!1)},j=h.promise({elem:a,props:n.extend({},b),opts:n.extend(!0,{specialEasing:{},easing:n.easing._default},c),originalProperties:b,originalOptions:c,startTime:hb||lb(),duration:c.duration,tweens:[],createTween:function(b,c){var d=n.Tween(a,j.opts,b,c,j.opts.specialEasing[b]||j.opts.easing);return j.tweens.push(d),d},stop:function(b){var c=0,d=b?j.tweens.length:0;if(e)return this;for(e=!0;d>c;c++)j.tweens[c].run(1);return b?(h.notifyWith(a,[j,1,0]),h.resolveWith(a,[j,b])):h.rejectWith(a,[j,b]),this}}),k=j.props;for(pb(k,j.opts.specialEasing);g>f;f++)if(d=qb.prefilters[f].call(j,a,k,j.opts))return n.isFunction(d.stop)&&(n._queueHooks(j.elem,j.opts.queue).stop=n.proxy(d.stop,d)),d;return n.map(k,nb,j),n.isFunction(j.opts.start)&&j.opts.start.call(a,j),n.fx.timer(n.extend(i,{elem:a,anim:j,queue:j.opts.queue})),j.progress(j.opts.progress).done(j.opts.done,j.opts.complete).fail(j.opts.fail).always(j.opts.always)}n.Animation=n.extend(qb,{tweeners:{"*":[function(a,b){var c=this.createTween(a,b);return X(c.elem,a,U.exec(b),c),c}]},tweener:function(a,b){n.isFunction(a)?(b=a,a=["*"]):a=a.match(G);for(var c,d=0,e=a.length;e>d;d++)c=a[d],qb.tweeners[c]=qb.tweeners[c]||[],qb.tweeners[c].unshift(b)},prefilters:[ob],prefilter:function(a,b){b?qb.prefilters.unshift(a):qb.prefilters.push(a)}}),n.speed=function(a,b,c){var d=a&&"object"==typeof a?n.extend({},a):{complete:c||!c&&b||n.isFunction(a)&&a,duration:a,easing:c&&b||b&&!n.isFunction(b)&&b};return d.duration=n.fx.off?0:"number"==typeof d.duration?d.duration:d.duration in n.fx.speeds?n.fx.speeds[d.duration]:n.fx.speeds._default,(null==d.queue||d.queue===!0)&&(d.queue="fx"),d.old=d.complete,d.complete=function(){n.isFunction(d.old)&&d.old.call(this),d.queue&&n.dequeue(this,d.queue)},d},n.fn.extend({fadeTo:function(a,b,c,d){return this.filter(W).css("opacity",0).show().end().animate({opacity:b},a,c,d)},animate:function(a,b,c,d){var e=n.isEmptyObject(a),f=n.speed(b,c,d),g=function(){var b=qb(this,n.extend({},a),f);(e||n._data(this,"finish"))&&b.stop(!0)};return g.finish=g,e||f.queue===!1?this.each(g):this.queue(f.queue,g)},stop:function(a,b,c){var d=function(a){var b=a.stop;delete a.stop,b(c)};return"string"!=typeof a&&(c=b,b=a,a=void 0),b&&a!==!1&&this.queue(a||"fx",[]),this.each(function(){var b=!0,e=null!=a&&a+"queueHooks",f=n.timers,g=n._data(this);if(e)g[e]&&g[e].stop&&d(g[e]);else for(e in g)g[e]&&g[e].stop&&kb.test(e)&&d(g[e]);for(e=f.length;e--;)f[e].elem!==this||null!=a&&f[e].queue!==a||(f[e].anim.stop(c),b=!1,f.splice(e,1));(b||!c)&&n.dequeue(this,a)})},finish:function(a){return a!==!1&&(a=a||"fx"),this.each(function(){var b,c=n._data(this),d=c[a+"queue"],e=c[a+"queueHooks"],f=n.timers,g=d?d.length:0;for(c.finish=!0,n.queue(this,a,[]),e&&e.stop&&e.stop.call(this,!0),b=f.length;b--;)f[b].elem===this&&f[b].queue===a&&(f[b].anim.stop(!0),f.splice(b,1));for(b=0;g>b;b++)d[b]&&d[b].finish&&d[b].finish.call(this);delete c.finish})}}),n.each(["toggle","show","hide"],function(a,b){var c=n.fn[b];n.fn[b]=function(a,d,e){return null==a||"boolean"==typeof a?c.apply(this,arguments):this.animate(mb(b,!0),a,d,e)}}),n.each({slideDown:mb("show"),slideUp:mb("hide"),slideToggle:mb("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(a,b){n.fn[a]=function(a,c,d){return this.animate(b,a,c,d)}}),n.timers=[],n.fx.tick=function(){var a,b=n.timers,c=0;for(hb=n.now();c<b.length;c++)a=b[c],a()||b[c]!==a||b.splice(c--,1);b.length||n.fx.stop(),hb=void 0},n.fx.timer=function(a){n.timers.push(a),a()?n.fx.start():n.timers.pop()},n.fx.interval=13,n.fx.start=function(){ib||(ib=a.setInterval(n.fx.tick,n.fx.interval))},n.fx.stop=function(){a.clearInterval(ib),ib=null},n.fx.speeds={slow:600,fast:200,_default:400},n.fn.delay=function(b,c){return b=n.fx?n.fx.speeds[b]||b:b,c=c||"fx",this.queue(c,function(c,d){var e=a.setTimeout(c,b);d.stop=function(){a.clearTimeout(e)}})},function(){var a,b=d.createElement("input"),c=d.createElement("div"),e=d.createElement("select"),f=e.appendChild(d.createElement("option"));c=d.createElement("div"),c.setAttribute("className","t"),c.innerHTML=" <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",a=c.getElementsByTagName("a")[0],b.setAttribute("type","checkbox"),c.appendChild(b),a=c.getElementsByTagName("a")[0],a.style.cssText="top:1px",l.getSetAttribute="t"!==c.className,l.style=/top/.test(a.getAttribute("style")),l.hrefNormalized="/a"===a.getAttribute("href"),l.checkOn=!!b.value,l.optSelected=f.selected,l.enctype=!!d.createElement("form").enctype,e.disabled=!0,l.optDisabled=!f.disabled,b=d.createElement("input"),b.setAttribute("value",""),l.input=""===b.getAttribute("value"),b.value="t",b.setAttribute("type","radio"),l.radioValue="t"===b.value}();var rb=/\r/g;n.fn.extend({val:function(a){var b,c,d,e=this[0];{if(arguments.length)return d=n.isFunction(a),this.each(function(c){var e;1===this.nodeType&&(e=d?a.call(this,c,n(this).val()):a,null==e?e="":"number"==typeof e?e+="":n.isArray(e)&&(e=n.map(e,function(a){return null==a?"":a+""})),b=n.valHooks[this.type]||n.valHooks[this.nodeName.toLowerCase()],b&&"set"in b&&void 0!==b.set(this,e,"value")||(this.value=e))});if(e)return b=n.valHooks[e.type]||n.valHooks[e.nodeName.toLowerCase()],b&&"get"in b&&void 0!==(c=b.get(e,"value"))?c:(c=e.value,"string"==typeof c?c.replace(rb,""):null==c?"":c)}}}),n.extend({valHooks:{option:{get:function(a){var b=n.find.attr(a,"value");return null!=b?b:n.trim(n.text(a))}},select:{get:function(a){for(var b,c,d=a.options,e=a.selectedIndex,f="select-one"===a.type||0>e,g=f?null:[],h=f?e+1:d.length,i=0>e?h:f?e:0;h>i;i++)if(c=d[i],(c.selected||i===e)&&(l.optDisabled?!c.disabled:null===c.getAttribute("disabled"))&&(!c.parentNode.disabled||!n.nodeName(c.parentNode,"optgroup"))){if(b=n(c).val(),f)return b;g.push(b)}return g},set:function(a,b){var c,d,e=a.options,f=n.makeArray(b),g=e.length;while(g--)if(d=e[g],n.inArray(n.valHooks.option.get(d),f)>=0)try{d.selected=c=!0}catch(h){d.scrollHeight}else d.selected=!1;return c||(a.selectedIndex=-1),e}}}}),n.each(["radio","checkbox"],function(){n.valHooks[this]={set:function(a,b){return n.isArray(b)?a.checked=n.inArray(n(a).val(),b)>-1:void 0}},l.checkOn||(n.valHooks[this].get=function(a){return null===a.getAttribute("value")?"on":a.value})});var sb,tb,ub=n.expr.attrHandle,vb=/^(?:checked|selected)$/i,wb=l.getSetAttribute,xb=l.input;n.fn.extend({attr:function(a,b){return Y(this,n.attr,a,b,arguments.length>1)},removeAttr:function(a){return this.each(function(){n.removeAttr(this,a)})}}),n.extend({attr:function(a,b,c){var d,e,f=a.nodeType;if(3!==f&&8!==f&&2!==f)return"undefined"==typeof a.getAttribute?n.prop(a,b,c):(1===f&&n.isXMLDoc(a)||(b=b.toLowerCase(),e=n.attrHooks[b]||(n.expr.match.bool.test(b)?tb:sb)),void 0!==c?null===c?void n.removeAttr(a,b):e&&"set"in e&&void 0!==(d=e.set(a,c,b))?d:(a.setAttribute(b,c+""),c):e&&"get"in e&&null!==(d=e.get(a,b))?d:(d=n.find.attr(a,b),null==d?void 0:d))},attrHooks:{type:{set:function(a,b){if(!l.radioValue&&"radio"===b&&n.nodeName(a,"input")){var c=a.value;return a.setAttribute("type",b),c&&(a.value=c),b}}}},removeAttr:function(a,b){var c,d,e=0,f=b&&b.match(G);if(f&&1===a.nodeType)while(c=f[e++])d=n.propFix[c]||c,n.expr.match.bool.test(c)?xb&&wb||!vb.test(c)?a[d]=!1:a[n.camelCase("default-"+c)]=a[d]=!1:n.attr(a,c,""),a.removeAttribute(wb?c:d)}}),tb={set:function(a,b,c){return b===!1?n.removeAttr(a,c):xb&&wb||!vb.test(c)?a.setAttribute(!wb&&n.propFix[c]||c,c):a[n.camelCase("default-"+c)]=a[c]=!0,c}},n.each(n.expr.match.bool.source.match(/\w+/g),function(a,b){var c=ub[b]||n.find.attr;xb&&wb||!vb.test(b)?ub[b]=function(a,b,d){var e,f;return d||(f=ub[b],ub[b]=e,e=null!=c(a,b,d)?b.toLowerCase():null,ub[b]=f),e}:ub[b]=function(a,b,c){return c?void 0:a[n.camelCase("default-"+b)]?b.toLowerCase():null}}),xb&&wb||(n.attrHooks.value={set:function(a,b,c){return n.nodeName(a,"input")?void(a.defaultValue=b):sb&&sb.set(a,b,c)}}),wb||(sb={set:function(a,b,c){var d=a.getAttributeNode(c);return d||a.setAttributeNode(d=a.ownerDocument.createAttribute(c)),d.value=b+="","value"===c||b===a.getAttribute(c)?b:void 0}},ub.id=ub.name=ub.coords=function(a,b,c){var d;return c?void 0:(d=a.getAttributeNode(b))&&""!==d.value?d.value:null},n.valHooks.button={get:function(a,b){var c=a.getAttributeNode(b);return c&&c.specified?c.value:void 0},set:sb.set},n.attrHooks.contenteditable={set:function(a,b,c){sb.set(a,""===b?!1:b,c)}},n.each(["width","height"],function(a,b){n.attrHooks[b]={set:function(a,c){return""===c?(a.setAttribute(b,"auto"),c):void 0}}})),l.style||(n.attrHooks.style={get:function(a){return a.style.cssText||void 0},set:function(a,b){return a.style.cssText=b+""}});var yb=/^(?:input|select|textarea|button|object)$/i,zb=/^(?:a|area)$/i;n.fn.extend({prop:function(a,b){return Y(this,n.prop,a,b,arguments.length>1)},removeProp:function(a){return a=n.propFix[a]||a,this.each(function(){try{this[a]=void 0,delete this[a]}catch(b){}})}}),n.extend({prop:function(a,b,c){var d,e,f=a.nodeType;if(3!==f&&8!==f&&2!==f)return 1===f&&n.isXMLDoc(a)||(b=n.propFix[b]||b,e=n.propHooks[b]),void 0!==c?e&&"set"in e&&void 0!==(d=e.set(a,c,b))?d:a[b]=c:e&&"get"in e&&null!==(d=e.get(a,b))?d:a[b]},propHooks:{tabIndex:{get:function(a){var b=n.find.attr(a,"tabindex");return b?parseInt(b,10):yb.test(a.nodeName)||zb.test(a.nodeName)&&a.href?0:-1}}},propFix:{"for":"htmlFor","class":"className"}}),l.hrefNormalized||n.each(["href","src"],function(a,b){n.propHooks[b]={get:function(a){return a.getAttribute(b,4)}}}),l.optSelected||(n.propHooks.selected={get:function(a){var b=a.parentNode;return b&&(b.selectedIndex,b.parentNode&&b.parentNode.selectedIndex),null}}),n.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){n.propFix[this.toLowerCase()]=this}),l.enctype||(n.propFix.enctype="encoding");var Ab=/[\t\r\n\f]/g;function Bb(a){return n.attr(a,"class")||""}n.fn.extend({addClass:function(a){var b,c,d,e,f,g,h,i=0;if(n.isFunction(a))return this.each(function(b){n(this).addClass(a.call(this,b,Bb(this)))});if("string"==typeof a&&a){b=a.match(G)||[];while(c=this[i++])if(e=Bb(c),d=1===c.nodeType&&(" "+e+" ").replace(Ab," ")){g=0;while(f=b[g++])d.indexOf(" "+f+" ")<0&&(d+=f+" ");h=n.trim(d),e!==h&&n.attr(c,"class",h)}}return this},removeClass:function(a){var b,c,d,e,f,g,h,i=0;if(n.isFunction(a))return this.each(function(b){n(this).removeClass(a.call(this,b,Bb(this)))});if(!arguments.length)return this.attr("class","");if("string"==typeof a&&a){b=a.match(G)||[];while(c=this[i++])if(e=Bb(c),d=1===c.nodeType&&(" "+e+" ").replace(Ab," ")){g=0;while(f=b[g++])while(d.indexOf(" "+f+" ")>-1)d=d.replace(" "+f+" "," ");h=n.trim(d),e!==h&&n.attr(c,"class",h)}}return this},toggleClass:function(a,b){var c=typeof a;return"boolean"==typeof b&&"string"===c?b?this.addClass(a):this.removeClass(a):n.isFunction(a)?this.each(function(c){n(this).toggleClass(a.call(this,c,Bb(this),b),b)}):this.each(function(){var b,d,e,f;if("string"===c){d=0,e=n(this),f=a.match(G)||[];while(b=f[d++])e.hasClass(b)?e.removeClass(b):e.addClass(b)}else(void 0===a||"boolean"===c)&&(b=Bb(this),b&&n._data(this,"__className__",b),n.attr(this,"class",b||a===!1?"":n._data(this,"__className__")||""))})},hasClass:function(a){var b,c,d=0;b=" "+a+" ";while(c=this[d++])if(1===c.nodeType&&(" "+Bb(c)+" ").replace(Ab," ").indexOf(b)>-1)return!0;return!1}}),n.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "),function(a,b){n.fn[b]=function(a,c){return arguments.length>0?this.on(b,null,a,c):this.trigger(b)}}),n.fn.extend({hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)}});var Cb=a.location,Db=n.now(),Eb=/\?/,Fb=/(,)|(\[|{)|(}|])|"(?:[^"\\\r\n]|\\["\\\/bfnrt]|\\u[\da-fA-F]{4})*"\s*:?|true|false|null|-?(?!0\d)\d+(?:\.\d+|)(?:[eE][+-]?\d+|)/g;n.parseJSON=function(b){if(a.JSON&&a.JSON.parse)return a.JSON.parse(b+"");var c,d=null,e=n.trim(b+"");return e&&!n.trim(e.replace(Fb,function(a,b,e,f){return c&&b&&(d=0),0===d?a:(c=e||b,d+=!f-!e,"")}))?Function("return "+e)():n.error("Invalid JSON: "+b)},n.parseXML=function(b){var c,d;if(!b||"string"!=typeof b)return null;try{a.DOMParser?(d=new a.DOMParser,c=d.parseFromString(b,"text/xml")):(c=new a.ActiveXObject("Microsoft.XMLDOM"),c.async="false",c.loadXML(b))}catch(e){c=void 0}return c&&c.documentElement&&!c.getElementsByTagName("parsererror").length||n.error("Invalid XML: "+b),c};var Gb=/#.*$/,Hb=/([?&])_=[^&]*/,Ib=/^(.*?):[ \t]*([^\r\n]*)\r?$/gm,Jb=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,Kb=/^(?:GET|HEAD)$/,Lb=/^\/\//,Mb=/^([\w.+-]+:)(?:\/\/(?:[^\/?#]*@|)([^\/?#:]*)(?::(\d+)|)|)/,Nb={},Ob={},Pb="*/".concat("*"),Qb=Cb.href,Rb=Mb.exec(Qb.toLowerCase())||[];function Sb(a){return function(b,c){"string"!=typeof b&&(c=b,b="*");var d,e=0,f=b.toLowerCase().match(G)||[];if(n.isFunction(c))while(d=f[e++])"+"===d.charAt(0)?(d=d.slice(1)||"*",(a[d]=a[d]||[]).unshift(c)):(a[d]=a[d]||[]).push(c)}}function Tb(a,b,c,d){var e={},f=a===Ob;function g(h){var i;return e[h]=!0,n.each(a[h]||[],function(a,h){var j=h(b,c,d);return"string"!=typeof j||f||e[j]?f?!(i=j):void 0:(b.dataTypes.unshift(j),g(j),!1)}),i}return g(b.dataTypes[0])||!e["*"]&&g("*")}function Ub(a,b){var c,d,e=n.ajaxSettings.flatOptions||{};for(d in b)void 0!==b[d]&&((e[d]?a:c||(c={}))[d]=b[d]);return c&&n.extend(!0,a,c),a}function Vb(a,b,c){var d,e,f,g,h=a.contents,i=a.dataTypes;while("*"===i[0])i.shift(),void 0===e&&(e=a.mimeType||b.getResponseHeader("Content-Type"));if(e)for(g in h)if(h[g]&&h[g].test(e)){i.unshift(g);break}if(i[0]in c)f=i[0];else{for(g in c){if(!i[0]||a.converters[g+" "+i[0]]){f=g;break}d||(d=g)}f=f||d}return f?(f!==i[0]&&i.unshift(f),c[f]):void 0}function Wb(a,b,c,d){var e,f,g,h,i,j={},k=a.dataTypes.slice();if(k[1])for(g in a.converters)j[g.toLowerCase()]=a.converters[g];f=k.shift();while(f)if(a.responseFields[f]&&(c[a.responseFields[f]]=b),!i&&d&&a.dataFilter&&(b=a.dataFilter(b,a.dataType)),i=f,f=k.shift())if("*"===f)f=i;else if("*"!==i&&i!==f){if(g=j[i+" "+f]||j["* "+f],!g)for(e in j)if(h=e.split(" "),h[1]===f&&(g=j[i+" "+h[0]]||j["* "+h[0]])){g===!0?g=j[e]:j[e]!==!0&&(f=h[0],k.unshift(h[1]));break}if(g!==!0)if(g&&a["throws"])b=g(b);else try{b=g(b)}catch(l){return{state:"parsererror",error:g?l:"No conversion from "+i+" to "+f}}}return{state:"success",data:b}}n.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:Qb,type:"GET",isLocal:Jb.test(Rb[1]),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Pb,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":n.parseJSON,"text xml":n.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(a,b){return b?Ub(Ub(a,n.ajaxSettings),b):Ub(n.ajaxSettings,a)},ajaxPrefilter:Sb(Nb),ajaxTransport:Sb(Ob),ajax:function(b,c){"object"==typeof b&&(c=b,b=void 0),c=c||{};var d,e,f,g,h,i,j,k,l=n.ajaxSetup({},c),m=l.context||l,o=l.context&&(m.nodeType||m.jquery)?n(m):n.event,p=n.Deferred(),q=n.Callbacks("once memory"),r=l.statusCode||{},s={},t={},u=0,v="canceled",w={readyState:0,getResponseHeader:function(a){var b;if(2===u){if(!k){k={};while(b=Ib.exec(g))k[b[1].toLowerCase()]=b[2]}b=k[a.toLowerCase()]}return null==b?null:b},getAllResponseHeaders:function(){return 2===u?g:null},setRequestHeader:function(a,b){var c=a.toLowerCase();return u||(a=t[c]=t[c]||a,s[a]=b),this},overrideMimeType:function(a){return u||(l.mimeType=a),this},statusCode:function(a){var b;if(a)if(2>u)for(b in a)r[b]=[r[b],a[b]];else w.always(a[w.status]);return this},abort:function(a){var b=a||v;return j&&j.abort(b),y(0,b),this}};if(p.promise(w).complete=q.add,w.success=w.done,w.error=w.fail,l.url=((b||l.url||Qb)+"").replace(Gb,"").replace(Lb,Rb[1]+"//"),l.type=c.method||c.type||l.method||l.type,l.dataTypes=n.trim(l.dataType||"*").toLowerCase().match(G)||[""],null==l.crossDomain&&(d=Mb.exec(l.url.toLowerCase()),l.crossDomain=!(!d||d[1]===Rb[1]&&d[2]===Rb[2]&&(d[3]||("http:"===d[1]?"80":"443"))===(Rb[3]||("http:"===Rb[1]?"80":"443")))),l.data&&l.processData&&"string"!=typeof l.data&&(l.data=n.param(l.data,l.traditional)),Tb(Nb,l,c,w),2===u)return w;i=n.event&&l.global,i&&0===n.active++&&n.event.trigger("ajaxStart"),l.type=l.type.toUpperCase(),l.hasContent=!Kb.test(l.type),f=l.url,l.hasContent||(l.data&&(f=l.url+=(Eb.test(f)?"&":"?")+l.data,delete l.data),l.cache===!1&&(l.url=Hb.test(f)?f.replace(Hb,"$1_="+Db++):f+(Eb.test(f)?"&":"?")+"_="+Db++)),l.ifModified&&(n.lastModified[f]&&w.setRequestHeader("If-Modified-Since",n.lastModified[f]),n.etag[f]&&w.setRequestHeader("If-None-Match",n.etag[f])),(l.data&&l.hasContent&&l.contentType!==!1||c.contentType)&&w.setRequestHeader("Content-Type",l.contentType),w.setRequestHeader("Accept",l.dataTypes[0]&&l.accepts[l.dataTypes[0]]?l.accepts[l.dataTypes[0]]+("*"!==l.dataTypes[0]?", "+Pb+"; q=0.01":""):l.accepts["*"]);for(e in l.headers)w.setRequestHeader(e,l.headers[e]);if(l.beforeSend&&(l.beforeSend.call(m,w,l)===!1||2===u))return w.abort();v="abort";for(e in{success:1,error:1,complete:1})w[e](l[e]);if(j=Tb(Ob,l,c,w)){if(w.readyState=1,i&&o.trigger("ajaxSend",[w,l]),2===u)return w;l.async&&l.timeout>0&&(h=a.setTimeout(function(){w.abort("timeout")},l.timeout));try{u=1,j.send(s,y)}catch(x){if(!(2>u))throw x;y(-1,x)}}else y(-1,"No Transport");function y(b,c,d,e){var k,s,t,v,x,y=c;2!==u&&(u=2,h&&a.clearTimeout(h),j=void 0,g=e||"",w.readyState=b>0?4:0,k=b>=200&&300>b||304===b,d&&(v=Vb(l,w,d)),v=Wb(l,v,w,k),k?(l.ifModified&&(x=w.getResponseHeader("Last-Modified"),x&&(n.lastModified[f]=x),x=w.getResponseHeader("etag"),x&&(n.etag[f]=x)),204===b||"HEAD"===l.type?y="nocontent":304===b?y="notmodified":(y=v.state,s=v.data,t=v.error,k=!t)):(t=y,(b||!y)&&(y="error",0>b&&(b=0))),w.status=b,w.statusText=(c||y)+"",k?p.resolveWith(m,[s,y,w]):p.rejectWith(m,[w,y,t]),w.statusCode(r),r=void 0,i&&o.trigger(k?"ajaxSuccess":"ajaxError",[w,l,k?s:t]),q.fireWith(m,[w,y]),i&&(o.trigger("ajaxComplete",[w,l]),--n.active||n.event.trigger("ajaxStop")))}return w},getJSON:function(a,b,c){return n.get(a,b,c,"json")},getScript:function(a,b){return n.get(a,void 0,b,"script")}}),n.each(["get","post"],function(a,b){n[b]=function(a,c,d,e){return n.isFunction(c)&&(e=e||d,d=c,c=void 0),n.ajax(n.extend({url:a,type:b,dataType:e,data:c,success:d},n.isPlainObject(a)&&a))}}),n._evalUrl=function(a){return n.ajax({url:a,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,"throws":!0})},n.fn.extend({wrapAll:function(a){if(n.isFunction(a))return this.each(function(b){n(this).wrapAll(a.call(this,b))});if(this[0]){var b=n(a,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstChild&&1===a.firstChild.nodeType)a=a.firstChild;return a}).append(this)}return this},wrapInner:function(a){return n.isFunction(a)?this.each(function(b){n(this).wrapInner(a.call(this,b))}):this.each(function(){var b=n(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){var b=n.isFunction(a);return this.each(function(c){n(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(){return this.parent().each(function(){n.nodeName(this,"body")||n(this).replaceWith(this.childNodes)}).end()}});function Xb(a){return a.style&&a.style.display||n.css(a,"display")}function Yb(a){while(a&&1===a.nodeType){if("none"===Xb(a)||"hidden"===a.type)return!0;a=a.parentNode}return!1}n.expr.filters.hidden=function(a){return l.reliableHiddenOffsets()?a.offsetWidth<=0&&a.offsetHeight<=0&&!a.getClientRects().length:Yb(a)},n.expr.filters.visible=function(a){return!n.expr.filters.hidden(a)};var Zb=/%20/g,$b=/\[\]$/,_b=/\r?\n/g,ac=/^(?:submit|button|image|reset|file)$/i,bc=/^(?:input|select|textarea|keygen)/i;function cc(a,b,c,d){var e;if(n.isArray(b))n.each(b,function(b,e){c||$b.test(a)?d(a,e):cc(a+"["+("object"==typeof e&&null!=e?b:"")+"]",e,c,d)});else if(c||"object"!==n.type(b))d(a,b);else for(e in b)cc(a+"["+e+"]",b[e],c,d)}n.param=function(a,b){var c,d=[],e=function(a,b){b=n.isFunction(b)?b():null==b?"":b,d[d.length]=encodeURIComponent(a)+"="+encodeURIComponent(b)};if(void 0===b&&(b=n.ajaxSettings&&n.ajaxSettings.traditional),n.isArray(a)||a.jquery&&!n.isPlainObject(a))n.each(a,function(){e(this.name,this.value)});else for(c in a)cc(c,a[c],b,e);return d.join("&").replace(Zb,"+")},n.fn.extend({serialize:function(){return n.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var a=n.prop(this,"elements");return a?n.makeArray(a):this}).filter(function(){var a=this.type;return this.name&&!n(this).is(":disabled")&&bc.test(this.nodeName)&&!ac.test(a)&&(this.checked||!Z.test(a))}).map(function(a,b){var c=n(this).val();return null==c?null:n.isArray(c)?n.map(c,function(a){return{name:b.name,value:a.replace(_b,"\r\n")}}):{name:b.name,value:c.replace(_b,"\r\n")}}).get()}}),n.ajaxSettings.xhr=void 0!==a.ActiveXObject?function(){return this.isLocal?hc():d.documentMode>8?gc():/^(get|post|head|put|delete|options)$/i.test(this.type)&&gc()||hc()}:gc;var dc=0,ec={},fc=n.ajaxSettings.xhr();a.attachEvent&&a.attachEvent("onunload",function(){for(var a in ec)ec[a](void 0,!0)}),l.cors=!!fc&&"withCredentials"in fc,fc=l.ajax=!!fc,fc&&n.ajaxTransport(function(b){if(!b.crossDomain||l.cors){var c;return{send:function(d,e){var f,g=b.xhr(),h=++dc;if(g.open(b.type,b.url,b.async,b.username,b.password),b.xhrFields)for(f in b.xhrFields)g[f]=b.xhrFields[f];b.mimeType&&g.overrideMimeType&&g.overrideMimeType(b.mimeType),b.crossDomain||d["X-Requested-With"]||(d["X-Requested-With"]="XMLHttpRequest");for(f in d)void 0!==d[f]&&g.setRequestHeader(f,d[f]+"");g.send(b.hasContent&&b.data||null),c=function(a,d){var f,i,j;if(c&&(d||4===g.readyState))if(delete ec[h],c=void 0,g.onreadystatechange=n.noop,d)4!==g.readyState&&g.abort();else{j={},f=g.status,"string"==typeof g.responseText&&(j.text=g.responseText);try{i=g.statusText}catch(k){i=""}f||!b.isLocal||b.crossDomain?1223===f&&(f=204):f=j.text?200:404}j&&e(f,i,j,g.getAllResponseHeaders())},b.async?4===g.readyState?a.setTimeout(c):g.onreadystatechange=ec[h]=c:c()},abort:function(){c&&c(void 0,!0)}}}});function gc(){try{return new a.XMLHttpRequest}catch(b){}}function hc(){try{return new a.ActiveXObject("Microsoft.XMLHTTP")}catch(b){}}n.ajaxPrefilter(function(a){a.crossDomain&&(a.contents.script=!1)}),n.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(a){return n.globalEval(a),a}}}),n.ajaxPrefilter("script",function(a){void 0===a.cache&&(a.cache=!1),a.crossDomain&&(a.type="GET",a.global=!1)}),n.ajaxTransport("script",function(a){if(a.crossDomain){var b,c=d.head||n("head")[0]||d.documentElement;return{send:function(e,f){b=d.createElement("script"),b.async=!0,a.scriptCharset&&(b.charset=a.scriptCharset),b.src=a.url,b.onload=b.onreadystatechange=function(a,c){(c||!b.readyState||/loaded|complete/.test(b.readyState))&&(b.onload=b.onreadystatechange=null,b.parentNode&&b.parentNode.removeChild(b),b=null,c||f(200,"success"))},c.insertBefore(b,c.firstChild)},abort:function(){b&&b.onload(void 0,!0)}}}});var ic=[],jc=/(=)\?(?=&|$)|\?\?/;n.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var a=ic.pop()||n.expando+"_"+Db++;return this[a]=!0,a}}),n.ajaxPrefilter("json jsonp",function(b,c,d){var e,f,g,h=b.jsonp!==!1&&(jc.test(b.url)?"url":"string"==typeof b.data&&0===(b.contentType||"").indexOf("application/x-www-form-urlencoded")&&jc.test(b.data)&&"data");return h||"jsonp"===b.dataTypes[0]?(e=b.jsonpCallback=n.isFunction(b.jsonpCallback)?b.jsonpCallback():b.jsonpCallback,h?b[h]=b[h].replace(jc,"$1"+e):b.jsonp!==!1&&(b.url+=(Eb.test(b.url)?"&":"?")+b.jsonp+"="+e),b.converters["script json"]=function(){return g||n.error(e+" was not called"),g[0]},b.dataTypes[0]="json",f=a[e],a[e]=function(){g=arguments},d.always(function(){void 0===f?n(a).removeProp(e):a[e]=f,b[e]&&(b.jsonpCallback=c.jsonpCallback,ic.push(e)),g&&n.isFunction(f)&&f(g[0]),g=f=void 0}),"script"):void 0}),l.createHTMLDocument=function(){if(!d.implementation.createHTMLDocument)return!1;var a=d.implementation.createHTMLDocument("");return a.body.innerHTML="<form></form><form></form>",2===a.body.childNodes.length}(),n.parseHTML=function(a,b,c){if(!a||"string"!=typeof a)return null;"boolean"==typeof b&&(c=b,b=!1),b=b||(l.createHTMLDocument?d.implementation.createHTMLDocument(""):d);var e=x.exec(a),f=!c&&[];return e?[b.createElement(e[1])]:(e=ja([a],b,f),f&&f.length&&n(f).remove(),n.merge([],e.childNodes))};var kc=n.fn.load;n.fn.load=function(a,b,c){if("string"!=typeof a&&kc)return kc.apply(this,arguments);var d,e,f,g=this,h=a.indexOf(" ");return h>-1&&(d=n.trim(a.slice(h,a.length)),a=a.slice(0,h)),n.isFunction(b)?(c=b,b=void 0):b&&"object"==typeof b&&(e="POST"),g.length>0&&n.ajax({url:a,type:e||"GET",dataType:"html",data:b}).done(function(a){f=arguments,g.html(d?n("<div>").append(n.parseHTML(a)).find(d):a)}).always(c&&function(a,b){g.each(function(){c.apply(g,f||[a.responseText,b,a])})}),this},n.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(a,b){n.fn[b]=function(a){return this.on(b,a)}}),n.expr.filters.animated=function(a){return n.grep(n.timers,function(b){return a===b.elem}).length};function lc(a){return n.isWindow(a)?a:9===a.nodeType?a.defaultView||a.parentWindow:!1}n.offset={setOffset:function(a,b,c){var d,e,f,g,h,i,j,k=n.css(a,"position"),l=n(a),m={};"static"===k&&(a.style.position="relative"),h=l.offset(),f=n.css(a,"top"),i=n.css(a,"left"),j=("absolute"===k||"fixed"===k)&&n.inArray("auto",[f,i])>-1,j?(d=l.position(),g=d.top,e=d.left):(g=parseFloat(f)||0,e=parseFloat(i)||0),n.isFunction(b)&&(b=b.call(a,c,n.extend({},h))),null!=b.top&&(m.top=b.top-h.top+g),null!=b.left&&(m.left=b.left-h.left+e),"using"in b?b.using.call(a,m):l.css(m)}},n.fn.extend({offset:function(a){if(arguments.length)return void 0===a?this:this.each(function(b){n.offset.setOffset(this,a,b)});var b,c,d={top:0,left:0},e=this[0],f=e&&e.ownerDocument;if(f)return b=f.documentElement,n.contains(b,e)?("undefined"!=typeof e.getBoundingClientRect&&(d=e.getBoundingClientRect()),c=lc(f),{top:d.top+(c.pageYOffset||b.scrollTop)-(b.clientTop||0),left:d.left+(c.pageXOffset||b.scrollLeft)-(b.clientLeft||0)}):d},position:function(){if(this[0]){var a,b,c={top:0,left:0},d=this[0];return"fixed"===n.css(d,"position")?b=d.getBoundingClientRect():(a=this.offsetParent(),b=this.offset(),n.nodeName(a[0],"html")||(c=a.offset()),c.top+=n.css(a[0],"borderTopWidth",!0)-a.scrollTop(),c.left+=n.css(a[0],"borderLeftWidth",!0)-a.scrollLeft()),{top:b.top-c.top-n.css(d,"marginTop",!0),left:b.left-c.left-n.css(d,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var a=this.offsetParent;while(a&&!n.nodeName(a,"html")&&"static"===n.css(a,"position"))a=a.offsetParent;return a||Qa})}}),n.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(a,b){var c=/Y/.test(b);n.fn[a]=function(d){return Y(this,function(a,d,e){var f=lc(a);return void 0===e?f?b in f?f[b]:f.document.documentElement[d]:a[d]:void(f?f.scrollTo(c?n(f).scrollLeft():e,c?e:n(f).scrollTop()):a[d]=e)},a,d,arguments.length,null)}}),n.each(["top","left"],function(a,b){ +n.cssHooks[b]=Ua(l.pixelPosition,function(a,c){return c?(c=Sa(a,b),Oa.test(c)?n(a).position()[b]+"px":c):void 0})}),n.each({Height:"height",Width:"width"},function(a,b){n.each({padding:"inner"+a,content:b,"":"outer"+a},function(c,d){n.fn[d]=function(d,e){var f=arguments.length&&(c||"boolean"!=typeof d),g=c||(d===!0||e===!0?"margin":"border");return Y(this,function(b,c,d){var e;return n.isWindow(b)?b.document.documentElement["client"+a]:9===b.nodeType?(e=b.documentElement,Math.max(b.body["scroll"+a],e["scroll"+a],b.body["offset"+a],e["offset"+a],e["client"+a])):void 0===d?n.css(b,c,g):n.style(b,c,d,g)},b,f?d:void 0,f,null)}})}),n.fn.extend({bind:function(a,b,c){return this.on(a,null,b,c)},unbind:function(a,b){return this.off(a,null,b)},delegate:function(a,b,c,d){return this.on(b,a,c,d)},undelegate:function(a,b,c){return 1===arguments.length?this.off(a,"**"):this.off(b,a||"**",c)}}),n.fn.size=function(){return this.length},n.fn.andSelf=n.fn.addBack,"function"==typeof define&&define.amd&&define("jquery",[],function(){return n});var mc=a.jQuery,nc=a.$;return n.noConflict=function(b){return a.$===n&&(a.$=nc),b&&a.jQuery===n&&(a.jQuery=mc),n},b||(a.jQuery=a.$=n),n}); diff --git a/vendor/stefangabos/zebra_form/includes/Button.php b/vendor/stefangabos/zebra_form/includes/Button.php new file mode 100644 index 00000000..f2ff4c3a --- /dev/null +++ b/vendor/stefangabos/zebra_form/includes/Button.php @@ -0,0 +1,150 @@ +<?php + +/** + * Class for button controls. + * + * @author Stefan Gabos <contact@stefangabos.ro> + * @copyright (c) 2006 - 2016 Stefan Gabos + * @package Controls + */ +class Zebra_Form_Button extends Zebra_Form_Control +{ + + /** + * Constructor of the class + * + * Adds an <button> control to the form. + * + * <b>Do not instantiate this class directly! Use the {@link Zebra_Form::add() add()} method instead!</b> + * + * <code> + * // create a new form + * $form = new Zebra_Form('my_form'); + * + * // add a submit button to the form + * $obj = $form->add('button', 'my_button', 'Click me!', 'submit'); + * + * // don't forget to always call this method before rendering the form + * if ($form->validate()) { + * // put code here + * } + * + * // output the form using an automatically generated template + * $form->render(); + * </code> + * + * @param string $id Unique name to identify the control in the form. + * + * The control's <b>name</b> attribute will be the same as the <b>id</b> attribute! + * + * This is the name to be used when referring to the control's value in the + * POST/GET superglobals, after the form is submitted. + * + * This is also the name of the variable to be used in custom template files, in + * order to display the control. + * + * <code> + * // in a template file, in order to print the generated HTML + * // for a control named "my_button", one would use: + * echo $my_button; + * </code> + * + * @param string $caption Caption of the button control. + * + * Can be HTML markup. + * + * @param string $type (Optional) Type of the button: button, submit or reset. + * + * Default is "button". + * + * @param array $attributes (Optional) An array of attributes valid for + * {@link http://www.w3.org/TR/REC-html40/interact/forms.html#h-17.4 input} + * controls (size, readonly, style, etc) + * + * Must be specified as an associative array, in the form of <i>attribute => value</i>. + * <code> + * // setting the "disabled" attribute + * $obj = $form->add( + * 'button', + * 'my_button', + * 'Click me!', + * 'submit' // <- make this a submit button + * array( + * 'disabled' => 'disabled' + * ) + * ); + * </code> + * + * See {@link Zebra_Form_Control::set_attributes() set_attributes()} on how to set + * attributes, other than through the constructor. + * + * The following attributes are automatically set when the control is created and + * should not be altered manually:<br> + * <b>id</b>, <b>name</b>, <b>class</b> + * + * @return void + */ + function __construct($id, $caption, $type = 'button', $attributes = '') + { + + // call the constructor of the parent class + parent::__construct(); + + // set the private attributes of this control + // these attributes are private for this control and are for internal use only + // and will not be rendered by the _render_attributes() method + $this->private_attributes = array( + + 'disable_xss_filters', + 'locked', + 'value', + + ); + + // set the default attributes for the button control + // put them in the order you'd like them rendered + $this->set_attributes( + + array( + 'type' => $type, + 'name' => $id, + 'id' => $id, + 'value' => $caption, + 'class' => 'button' . ($type != 'button' ? ' ' . $type : ''), + ) + + ); + + // if "class" is amongst user specified attributes + if (is_array($attributes) && isset($attributes['class'])) { + + // we need to set the "class" attribute like this, so it doesn't overwrite previous values + $this->set_attributes(array('class' => $attributes['class']), false); + + // make sure we don't set it again below + unset($attributes['class']); + + } + + // sets user specified attributes for the control + $this->set_attributes($attributes); + + } + + /** + * Generates the control's HTML code. + * + * <i>This method is automatically called by the {@link Zebra_Form::render() render()} method!</i> + * + * @return string The control's HTML code + */ + function toHTML() + { + + return '<button ' . $this->_render_attributes() . ($this->form_properties['doctype'] == 'xhtml' ? '/' : '') . '>' . $this->attributes['value'] . '</button>'; + + } + +} + +?> \ No newline at end of file diff --git a/vendor/stefangabos/zebra_form/includes/Captcha.php b/vendor/stefangabos/zebra_form/includes/Captcha.php new file mode 100644 index 00000000..ee912acf --- /dev/null +++ b/vendor/stefangabos/zebra_form/includes/Captcha.php @@ -0,0 +1,123 @@ +<?php + +/** + * Class for CAPTCHA controls. + * + * @author Stefan Gabos <contact@stefangabos.ro> + * @copyright (c) 2006 - 2016 Stefan Gabos + * @package Controls + */ + +class Zebra_Form_Captcha extends Zebra_Form_Control +{ + + /** + * Adds a CAPTCHA image to the form. + * + * <b>Do not instantiate this class directly! Use the {@link Zebra_Form::add() add()} method instead!</b> + * + * <b>You must also place a {@link Zebra_Form_Text textbox} control on the form and set the "captcha" rule to it! + * (through {@link set_rule()})</b> + * + * Properties of the CAPTCHA image can be altered by editing the file includes/captcha.php. + * + * By default, captcha values are triple md5 hashed and stored in cookies, and when the user enters the captcha + * value the value is also triple md5 hashed and the two values are then compared. Sometimes, your users may have + * a very restrictive cookie policy and so cookies will not be set, and therefore they will never be able to get + * past the CAPTCHA control. If it's the case, call the {@link Zebra_Form::captcha_storage() captcha_storage} + * method and set the storage method to "session". + * + * <code> + * // create a new form + * $form = new Zebra_Form('my_form'); + * + * // add a CAPTCHA image + * $form->add('captcha', 'my_captcha', 'my_text'); + * + * // add a label for the textbox + * $form->add('label', 'label_my_text', 'my_text', 'Are you human?'); + * + * // add a CAPTCHA to the form + * $obj = $form->add('text', 'my_text'); + * + * // set the "captcha" rule to the textbox + * $obj->set_rule(array( + * 'captcha' => array('error', 'Characters not entered correctly!') + * )); + * + * // don't forget to always call this method before rendering the form + * if ($form->validate()) { + * // put code here + * } + * + * // output the form using an automatically generated template + * $form->render(); + * </code> + * + * @param string $id Unique name to identify the control in the form. + * + * This is the name of the variable to be used in the template file, containing + * the generated HTML for the control. + * + * <code> + * // in a template file, in order to print the generated HTML + * // for a control named "my_captcha", one would use: + * echo $my_captcha; + * </code> + * + * @param string $attach_to The <b>id</b> attribute of the {@link Zebra_Form_Text textbox} control to attach + * the CAPTCHA image to. + * + * @return void + */ + function __construct($id, $attach_to, $storage = 'cookie') + { + + // call the constructor of the parent class + parent::__construct(); + + // set the private attributes of this control + // these attributes are private for this control and are for internal use only + // and will not be rendered by the _render_attributes() method + $this->private_attributes = array( + + 'disable_xss_filters', + 'for', + 'locked', + + ); + + // set the default attributes for the text control + // put them in the order you'd like them rendered + $this->set_attributes( + + array( + + 'type' => 'captcha', + 'name' => $id, + 'id' => $id, + 'for' => $attach_to, + + ) + + ); + + } + + /** + * Generates the control's HTML code. + * + * <i>This method is automatically called by the {@link Zebra_Form::render() render()} method!</i> + * + * @return string The control's HTML code + */ + function toHTML() + { + + return '<div class="captcha-container"><img src="' . $this->form_properties['assets_url'] . 'process.php?captcha=' . ($this->form_properties['captcha_storage'] == 'session' ? 2 : 1) . '&amp;nocache=' . time() . '" alt=""' . ($this->form_properties['doctype'] == 'xhtml' ? '/' : '') . '><a href="javascript:void(0)" title="' . $this->form_properties['language']['new_captcha'] . '">' . $this->form_properties['language']['new_captcha'] . '</a></div>'; + + } + +} + +?> diff --git a/vendor/stefangabos/zebra_form/includes/Checkbox.php b/vendor/stefangabos/zebra_form/includes/Checkbox.php new file mode 100644 index 00000000..4d7dd9b7 --- /dev/null +++ b/vendor/stefangabos/zebra_form/includes/Checkbox.php @@ -0,0 +1,243 @@ +<?php + +/** + * Class for checkbox controls. + * + * @author Stefan Gabos <contact@stefangabos.ro> + * @copyright (c) 2006 - 2016 Stefan Gabos + * @package Controls + */ +class Zebra_Form_Checkbox extends Zebra_Form_Control +{ + + /** + * Constructor of the class + * + * Adds an <input type="checkbox"> control to the form. + * + * <b>Do not instantiate this class directly! Use the {@link Zebra_Form::add() add()} method instead!</b> + * + * <code> + * // create a new form + * $form = new Zebra_Form('my_form'); + * + * // single checkbox + * $obj = $form->add('checkbox', 'my_checkbox', 'my_checkbox_value'); + * + * // multiple checkboxes + * // notice that is "checkboxes" instead of "checkbox" + * // checkboxes values will be "0", "1" and "2", respectively, and will be available in a custom template like + * // "mycheckbox_0", "mycheckbox_1" and "mycheckbox_2". + * // label controls will be automatically created having the names "label_mycheckbox_0", "label_mycheckbox_1" and + * // "label_mycheckbox_2" (label + underscore + control name + underscore + value with anything else other than + * // letters and numbers replaced with underscores - also, note that multiple consecutive underscores will be + * // replaced by a single one) + * // $obj is a reference to the first checkbox + * $obj = $form->add('checkboxes', 'mycheckbox', + * array( + * 'Value 1', + * 'Value 2', + * 'Value 3' + * ) + * ); + * + * // multiple checkboxes with specific indexes + * // checkboxes values will be "v1", "v2" and "v3", respectively, and will be available in a custom template like + * // "mycheckbox_v1", "mycheckbox_v2" and "mycheckbox_v3". + * // label controls will be automatically created having the names "label_mycheckbox_v1", "label_mycheckbox_v2" and + * // "label_mycheckbox_v3" (label + underscore + control name + underscore + value with anything else other than + * // letters and numbers replaced with underscores - also, note that multiple consecutive underscores will be + * // replaced by a single one) + * $obj = $form->add('checkboxes', 'mycheckbox', + * array( + * 'v1' => 'Value 1', + * 'v2' => 'Value 2', + * 'v3' => 'Value 3' + * ) + * ); + * + * // multiple checkboxes with preselected value + * // "Value 2" will be the preselected value + * // note that for preselecting values you must use the actual indexes of the values, if available, (like + * // in the current example) or the default, zero-based index, otherwise (like in the next example) + * $obj = $form->add('checkboxes', 'mycheckbox', + * array( + * 'v1' => 'Value 1', + * 'v2' => 'Value 2', + * 'v3' => 'Value 3' + * ), + * 'v2' // note the index! + * ); + * + * // "Value 2" will be the preselected value. + * // note that for preselecting values you must use the actual indexes of the values, if available, (like + * // in the example above) or the default, zero-based index, otherwise (like in the current example) + * $obj = $form->add('checkboxes', 'mycheckbox', + * array( + * 'Value 1', + * 'Value 2', + * 'Value 3' + * ), + * 1 // note the index! + * ); + * + * // multiple checkboxes with multiple preselected values + * $obj = $form->add('checkboxes', 'mycheckbox[]', + * array( + * 'v1' => 'Value 1', + * 'v2' => 'Value 2', + * 'v3' => 'Value 3' + * ), + * array('v1', 'v2') + * ); + * + * // custom classes (or other attributes) can also be added to all of the elements by specifying a 4th argument; + * // this needs to be specified in the same way as you would by calling {@link set_attributes()} method: + * $obj = $form->add('checkboxes', 'mycheckbox[]', + * array( + * '1' => 'Value 1', + * '2' => 'Value 2', + * '3' => 'Value 3', + * ), + * '', // no default value + * array('class' => 'my_custom_class') + * ); + * + * // don't forget to always call this method before rendering the form + * if ($form->validate()) { + * // put code here + * } + * + * // output the form using an automatically generated template + * $form->render(); + * </code> + * + * <samp>By default, for checkboxes, radio buttons and select boxes, the library will prevent the submission of other + * values than those declared when creating the form, by triggering the error: "SPAM attempt detected!". Therefore, + * if you plan on adding/removing values dynamically, from JavaScript, you will have to call the + * {@link Zebra_Form_Control::disable_spam_filter() disable_spam_filter()} method to prevent that from happening!</samp> + * + * @param string $id Unique name to identify the control in the form. + * + * <b>$id needs to be suffixed with square brackets if there are more checkboxes + * sharing the same name, so that PHP treats them as an array!</b> + * + * The control's <b>name</b> attribute will be as indicated by <i>$id</i> + * argument while the control's <b>id</b> attribute will be <i>$id</i>, stripped of + * square brackets (if any), followed by an underscore and followed by <i>$value</i> + * with all the spaces replaced by <i>underscores</i>. + * + * So, if the <i>$id</i> arguments is "my_checkbox" and the <i>$value</i> argument + * is "value 1", the control's <b>id</b> attribute will be <b>my_checkbox_value_1</b>. + * + * This is the name to be used when referring to the control's value in the + * POST/GET superglobals, after the form is submitted. + * + * This is also the name of the variable to be used in custom template files, in + * order to display the control. + * + * <code> + * // in a template file, in order to print the generated HTML + * // for a control named "my_checkbox" and having the value of "value 1", + * // one would use: + * echo $my_checkbox_value_1; + * </code> + * + * <i>Note that when adding the required rule to a group of checkboxes (checkboxes + * sharing the same name), it is sufficient to add the rule to the first checkbox!</i> + * + * @param mixed $value Value of the checkbox. + * + * @param array $attributes (Optional) An array of attributes valid for + * {@link http://www.w3.org/TR/REC-html40/interact/forms.html#h-17.4 input} + * controls (disabled, readonly, style, etc) + * + * Must be specified as an associative array, in the form of <i>attribute => value</i>. + * <code> + * // setting the "checked" attribute + * $obj = $form->add( + * 'checkbox', + * 'my_checkbox', + * 'v1', + * array( + * 'checked' => 'checked' + * ) + * ); + * </code> + * + * See {@link Zebra_Form_Control::set_attributes() set_attributes()} on how to set + * attributes, other than through the constructor. + * + * The following attributes are automatically set when the control is created and + * should not be altered manually:<br> + * + * <b>type</b>, <b>id</b>, <b>name</b>, <b>value</b>, <b>class</b> + * + * @return void + */ + function __construct($id, $value, $attributes = '') + { + + // call the constructor of the parent class + parent::__construct(); + + // set the private attributes of this control + // these attributes are private for this control and are for internal use only + // and will not be rendered by the _render_attributes() method + $this->private_attributes = array( + + 'disable_spam_filter', + 'disable_xss_filters', + 'locked', + + ); + + // set the default attributes for the checkbox control + // put them in the order you'd like them rendered + $this->set_attributes( + + array( + + 'type' => 'checkbox', + 'name' => $id, + 'id' => str_replace(array(' ', '[', ']'), array('_', ''), $id) . '_' . str_replace(' ', '_', $value), + 'value' => $value, + 'class' => 'control checkbox', + + ) + + ); + + // if "class" is amongst user specified attributes + if (is_array($attributes) && isset($attributes['class'])) { + + // we need to set the "class" attribute like this, so it doesn't overwrite previous values + $this->set_attributes(array('class' => $attributes['class']), false); + + // make sure we don't set it again below + unset($attributes['class']); + + } + + // sets user specified attributes for the control + $this->set_attributes($attributes); + + } + + /** + * Generates the control's HTML code. + * + * <i>This method is automatically called by the {@link Zebra_Form::render() render()} method!</i> + * + * @return string The control's HTML code + */ + function toHTML() + { + + return '<input ' . $this->_render_attributes() . ($this->form_properties['doctype'] == 'xhtml' ? '/' : '') . '>'; + + } + +} + +?> diff --git a/vendor/stefangabos/zebra_form/includes/Control.php b/vendor/stefangabos/zebra_form/includes/Control.php new file mode 100644 index 00000000..533ab3ce --- /dev/null +++ b/vendor/stefangabos/zebra_form/includes/Control.php @@ -0,0 +1,2107 @@ +<?php + +/** + * A generic class containing common methods, shared by all the controls. + * + * @author Stefan Gabos <contact@stefangabos.ro> + * @copyright (c) 2006 - 2016 Stefan Gabos + * @package Generic + */ +class Zebra_Form_Control extends XSS_Clean +{ + + /** + * Array of HTML attributes of the element + * + * @var array + * + * @access private + */ + public $attributes; + + /** + * Array of HTML attributes that the control's {@link render_attributes()} method should skip + * + * @var array + * + * @access private + */ + public $private_attributes; + + /** + * Array of validation rules set for the control + * + * @var array + * + * @access private + */ + public $rules; + + /** + * Constructor of the class + * + * @return void + * + * @access private + */ + function __construct() + { + + $this->attributes = array( + + 'locked' => false, + 'disable_xss_filters' => false, + + ); + + $this->private_attributes = array(); + + $this->rules = array(); + + } + + /** + * Call this method to instruct the script to force all letters typed by the user, to either uppercase or lowercase, + * in real-time. + * + * Works only on {@link Zebra_Form_Text text}, {@link Zebra_Form_Textarea textarea} and + * {@link Zebra_Form_Password password} controls. + * + * <code> + * // create a new form + * $form = new Zebra_Form('my_form'); + * + * // add a text control to the form + * $obj = $form->add('text', 'my_text'); + * + * // entered characters will be upper-case + * $obj->change_case('upper'); + * + * // don't forget to always call this method before rendering the form + * if ($form->validate()) { + * // put code here + * } + * + * // output the form using an automatically generated template + * $form->render(); + * </code> + * + * @param string $case The case to convert all entered characters to. + * + * Can be (case-insensitive) "upper" or "lower". + * + * @since 2.8 + * + * @return void + */ + function change_case($case) + { + + // make sure the argument is lowercase + $case = strtolower($case); + + // if valid case specified + if ($case == 'upper' || $case == 'lower') + + // add an extra class to the element + $this->set_attributes(array('class' => 'modifier-' . $case . 'case'), false); + + } + + /** + * Disables the SPAM filter for the control. + * + * By default, for checkboxes, radio buttons and select boxes, the library will prevent the submission of other + * values than those declared when creating the form, by triggering the error: "SPAM attempt detected!". Therefore, + * if you plan on adding/removing values dynamically, from JavaScript, you will have to call this method to prevent + * that from happening. + * + * Works only for {@link Zebra_Form_Checkbox checkbox}, {@link Zebra_Form_Radio radio} and + * {@link Zebra_Form_Select select} controls. + * + * @return void + */ + function disable_spam_filter() + { + + // set the "disable_xss_filters" private attribute of the control + $this->set_attributes(array('disable_spam_filter' => true)); + + } + + /** + * Disables XSS filtering of the control's submitted value. + * + * By default, all submitted values are filtered for XSS (Cross Site Scripting) injections. The script will + * automatically remove possibly malicious content (event handlers, javascript code, etc). While in general this is + * the right thing to do, there may be the case where this behaviour is not wanted: for example, for a CMS where + * the WYSIWYG editor inserts JavaScript code. + * + * <code> + * // $obj is a reference to a control + * $obj->disable_xss_filters(); + * </code> + * + * @return void + */ + function disable_xss_filters() + { + + // set the "disable_xss_filters" private attribute of the control + $this->set_attributes(array('disable_xss_filters' => true)); + + } + + /** + * Returns the values of requested attributes. + * + * <code> + * // create a new form + * $form = new Zebra_Form('my_form'); + * + * // add a text field to the form + * $obj = $form->add('text', 'my_text'); + * + * // set some attributes for the text field + * $obj->set_attributes(array( + * 'readonly' => 'readonly', + * 'style' => 'font-size:20px', + * )); + * + * // retrieve the attributes + * $attributes = $obj->get_attributes(array('readonly', 'style')); + * + * // the result will be an associative array + * // + * // $attributes = Array( + * // [readonly] => "readonly", + * // [style] => "font-size:20px" + * // ) + * </code> + * + * @param mixed $attributes A single or an array of attributes for which the values to be returned. + * + * @return array Returns an associative array where keys are the attributes and the values are + * each attribute's value, respectively. + */ + function get_attributes($attributes) + { + + // initialize the array that will be returned + $result = array(); + + // if the request was for a single attribute, + // treat it as an array of attributes + if (!is_array($attributes)) $attributes = array($attributes); + + // iterate through the array of attributes to look for + foreach ($attributes as $attribute) + + // if attribute exists + if (array_key_exists($attribute, $this->attributes)) + + // populate the $result array + $result[$attribute] = $this->attributes[$attribute]; + + // return the results + return $result; + + } + + /** + * Returns the control's value <b>after</b> the form is submitted. + * + * <i>This method is automatically called by the form's {@link Zebra_Form::validate() validate()} method!</i> + * + * <code> + * // $obj is a reference to a control + * $obj->get_submitted_value(); + * </code> + * + * @return void + * + * @access private + */ + function get_submitted_value() + { + + // get some attributes of the control + $attribute = $this->get_attributes(array('name', 'type', 'value', 'disable_xss_filters', 'locked')); + + // if control's value is not locked to the default value + if ($attribute['locked'] !== true) { + + // strip any [] from the control's name (usually used in conjunction with multi-select select boxes and + // checkboxes) + $attribute['name'] = preg_replace('/\[\]/', '', $attribute['name']); + + // reference to the form submission method + global ${'_' . $this->form_properties['method']}; + + $method = & ${'_' . $this->form_properties['method']}; + + // if form was submitted + if ( + + isset($method[$this->form_properties['identifier']]) && + + $method[$this->form_properties['identifier']] == $this->form_properties['name'] + + ) { + + // if control is a time picker control + if ($attribute['type'] == 'time') { + + // combine hour, minutes and seconds into one single string (values separated by :) + // hours + $combined = (isset($method[$attribute['name'] . '_hours']) ? $method[$attribute['name'] . '_hours'] : ''); + // minutes + $combined .= (isset($method[$attribute['name'] . '_minutes']) ? ($combined != '' ? ':' : '') . $method[$attribute['name'] . '_minutes'] : ''); + // seconds + $combined .= (isset($method[$attribute['name'] . '_seconds']) ? ($combined != '' ? ':' : '') . $method[$attribute['name'] . '_seconds'] : ''); + // AM/PM + $combined .= (isset($method[$attribute['name'] . '_ampm']) ? ($combined != '' ? ' ' : '') . $method[$attribute['name'] . '_ampm'] : ''); + + // create a super global having the name of our time picker control + // (remember, we don't have a control with the time picker's control name but three other controls + // having the time picker's control name as prefix and _hours, _minutes and _seconds respectively + // as suffix) + // we need to do this so that the values will also be filtered for XSS injection + $method[$attribute['name']] = $combined; + + // unset the three temporary fields as we want to return to the user the result in a single field + // having the name he supplied + unset($method[$attribute['name'] . '_hours']); + unset($method[$attribute['name'] . '_minutes']); + unset($method[$attribute['name'] . '_seconds']); + unset($method[$attribute['name'] . '_ampm']); + + } + + // if control was submitted + if (isset($method[$attribute['name']])) { + + // create the submitted_value property for the control and + // assign to it the submitted value of the control + $this->submitted_value = $method[$attribute['name']]; + + // if submitted value is an array + if (is_array($this->submitted_value)) { + + // iterate through the submitted values + foreach ($this->submitted_value as $key => $value) + + // and also, if magic_quotes_gpc is on (meaning that + // both single and double quotes are escaped) + // strip those slashes + if (get_magic_quotes_gpc()) $this->submitted_value[$key] = stripslashes($value); + + // if submitted value is not an array + } else + + // and also, if magic_quotes_gpc is on (meaning that both + // single and double quotes are escaped) + // strip those slashes + if (get_magic_quotes_gpc()) $this->submitted_value = stripslashes($this->submitted_value); + + // if submitted value is an array + if (is_array($this->submitted_value)) + + // iterate through the submitted values + foreach ($this->submitted_value as $key => $value) + + // filter the control's value for XSS injection and/or convert applicable characters to their equivalent HTML entities + $this->submitted_value[$key] = htmlspecialchars(!$attribute['disable_xss_filters'] ? $this->sanitize($value) : $value); + + // if submitted value is not an array, filter the control's value for XSS injection and/or convert applicable characters to their equivalent HTML entities + else { + + // don't apply htmlspecialchars to URLs and don't use rawurldecode neither + if (isset($this->rules['url'])) $this->submitted_value = (!$attribute['disable_xss_filters'] ? $this->sanitize($this->submitted_value, false) : $this->submitted_value); + + // for all other values + else $this->submitted_value = htmlspecialchars(!$attribute['disable_xss_filters'] ? $this->sanitize($this->submitted_value) : $this->submitted_value); + + } + + // set the respective $_POST/$_GET value to the filtered value + $method[$attribute['name']] = $this->submitted_value; + + // if control is a file upload control and a file was indeed uploaded + } elseif ($attribute['type'] == 'file' && isset($_FILES[$attribute['name']])) + + $this->submitted_value = true; + + // if control was not submitted + // we set this for those controls that are not submitted even + // when the form they reside in is (i.e. unchecked checkboxes) + // so that we know that they were indeed submitted but they + // just don't have a value + else $this->submitted_value = false; + + if ( + + //if type is password, textarea or text OR + ($attribute['type'] == 'password' || $attribute['type'] == 'textarea' || $attribute['type'] == 'text') && + + // control has the "uppercase" or "lowercase" modifier set + preg_match('/\bmodifier\-uppercase\b|\bmodifier\-lowercase\b/i', $this->attributes['class'], $modifiers) + + ) { + + // if string must be uppercase, update the value accordingly + if ($modifiers[0] == 'modifier-uppercase') $this->submitted_value = strtoupper($this->submitted_value); + + // otherwise, string needs to be lowercase + else $this->submitted_value = strtolower($this->submitted_value); + + // set the respective $_POST/$_GET value to the updated value + $method[$attribute['name']] = $this->submitted_value; + + } + + } + + // if control was submitted + if (isset($this->submitted_value)) { + + // the assignment of the submitted value is type dependant + switch ($attribute['type']) { + + // if control is a checkbox + case 'checkbox': + + if ( + + ( + + // if is submitted value is an array + is_array($this->submitted_value) && + + // and the checkbox's value is in the array + in_array($attribute['value'], $this->submitted_value) + + // OR + ) || + + // assume submitted value is not an array and the + // checkbox's value is the same as the submitted value + $attribute['value'] == $this->submitted_value + + // set the "checked" attribute of the control + ) $this->set_attributes(array('checked' => 'checked')); + + // if checkbox was "submitted" as not checked + // and if control's default state is checked, uncheck it + elseif (isset($this->attributes['checked'])) unset($this->attributes['checked']); + + break; + + // if control is a radio button + case 'radio': + + if ( + + // if the radio button's value is the same as the + // submitted value + ($attribute['value'] == $this->submitted_value) + + // set the "checked" attribute of the control + ) $this->set_attributes(array('checked' => 'checked')); + + break; + + // if control is a select box + case 'select': + + // set the "value" private attribute of the control + // the attribute will be handled by the + // Zebra_Form_Select::_render_attributes() method + $this->set_attributes(array('value' => $this->submitted_value)); + + break; + + // if control is a file upload control, a hidden control, a password field, a text field or a textarea control + case 'file': + case 'hidden': + case 'password': + case 'text': + case 'textarea': + case 'time': + + // set the "value" standard HTML attribute of the control + $this->set_attributes(array('value' => $this->submitted_value)); + + break; + + } + + } + + } + + } + + /** + * Locks the control's value. A <i>locked</i> control will preserve its <b>default</b> value after the form is submitted + * even if the user altered it. + * + * <i>This doesn't mean that the submitted value will be the default one! It will still be the one selected by the + * user, but when and if the form is repainted, the value shown in the control will be the locked one, not the one + * selected by the user</i> + * + * <code> + * // $obj is a reference to a control + * $obj->lock(); + * </code> + * + * @return void + */ + function lock() { + + // set the "locked" private attribute of the control + $this->set_attributes(array('locked' => true)); + + } + + /** + * Resets the control's submitted value (empties text fields, unchecks radio buttons/checkboxes, etc). + * + * <i>This method also resets the associated POST/GET/FILES superglobals!</i> + * + * <code> + * // $obj is a reference to a control + * $obj->reset(); + * </code> + * + * @return void + */ + function reset() + { + + // reference to the form submission method + global ${'_' . $this->form_properties['method']}; + + $method = & ${'_' . $this->form_properties['method']}; + + // get some attributes of the control + $attributes = $this->get_attributes(array('type', 'name', 'other')); + + // sanitize the control's name + $attributes['name'] = preg_replace('/\[\]/', '', $attributes['name']); + + // see of what type is the current control + switch ($attributes['type']) { + + // control is any of the types below + case 'checkbox': + case 'radio': + + // unset the "checked" attribute + unset($this->attributes['checked']); + + // unset the associated superglobal + unset($method[$attributes['name']]); + + break; + + // control is any of the types below + case 'date': + case 'hidden': + case 'password': + case 'select': + case 'text': + case 'textarea': + + // simply empty the "value" attribute + $this->attributes['value'] = ''; + + // unset the associated superglobal + unset($method[$attributes['name']]); + + // if control has the "other" attribute set + if (isset($attributes['other'])) + + // clear the associated superglobal's value + unset($method[$attributes['name'] . '_other']); + + break; + + // control is a file upload control + case 'file': + + // unset the related superglobal + unset($_FILES[$attributes['name']]); + + break; + + // for any other control types + default: + + // as long as control is not label, note nor captcha + if ( + + $attributes['type'] != 'label' && + $attributes['type'] != 'note' && + $attributes['type'] != 'captcha' + + // unset the associated superglobal + ) unset($method[$attributes['name']]); + + } + + } + + /** + * Sets one or more of the control's attributes. + * + * <code> + * // create a new form + * $form = new Zebra_Form('my_form'); + * + * // add a text field to the form + * $obj = $form->add('text', 'my_text'); + * + * // set some attributes for the text field + * $obj->set_attributes(array( + * 'readonly' => 'readonly', + * 'style' => 'font-size:20px', + * )); + * + * // retrieve the attributes + * $attributes = $obj->get_attributes(array('readonly', 'style')); + * + * // the result will be an associative array + * // + * // $attributes = Array( + * // [readonly] => "readonly", + * // [style] => "font-size:20px" + * // ) + * </code> + * + * @param array $attributes An associative array, in the form of <i>attribute => value</i>. + * + * @param boolean $overwrite Setting this argument to FALSE will instruct the script to append the values + * of the attributes to the already existing ones (if any) rather then overwriting + * them. + * + * Useful, for adding an extra CSS class to the already existing ones. + * + * For example, the {@link Zebra_Form_Text text} control has, by default, the + * <b>class</b> attribute set and already containing some classes needed both + * for styling and for JavaScript functionality. If there's the need to add one + * more class to the existing ones, without breaking styles nor functionality, + * one would use: + * + * <code> + * // obj is a reference to a control + * $obj->set_attributes(array('class'=>'my_class'), false); + * </code> + * + * Default is TRUE + * + * @return void + */ + function set_attributes($attributes, $overwrite = true) + { + + // check if $attributes is given as an array + if (is_array($attributes)) + + // iterate through the given attributes array + foreach ($attributes as $attribute => $value) { + + // we need to url encode the prefix as it may contain HTML entities which would produce validation errors + if ($attribute == 'data-prefix') $value = urlencode($value); + + // if the value is to be appended to the already existing one + // and there is a value set for the specified attribute + // and the values do not represent an array + if (!$overwrite && isset($this->attributes[$attribute]) && !is_array($this->attributes[$attribute])) + + // append the value + $this->attributes[$attribute] = $this->attributes[$attribute] . ' ' . $value; + + // otherwise, add attribute to attributes array + else $this->attributes[$attribute] = $value; + + } + + } + + /** + * Sets a single or an array of validation rules for the control. + * + * <code> + * // $obj is a reference to a control + * $obj->set_rule(array( + * 'rule #1' => array($arg1, $arg2, ... $argn), + * 'rule #2' => array($arg1, $arg2, ... $argn), + * ... + * ... + * 'rule #n' => array($arg1, $arg2, ... $argn), + * )); + * // where 'rule #1', 'rule #2', 'rule #n' are any of the rules listed below + * // and $arg1, $arg2, $argn are arguments specific to each rule + * </code> + * + * When a validation rule is not passed, a variable becomes available in the template file, having the name + * as specified by the rule's <b>error_block</b> argument and having the value as specified by the rule's + * <b>error_message</b> argument. + * + * <samp>Validation rules are checked in the given order, the exceptions being the "dependencies", "required" and + * "upload" rules, which are *always* checked in the order of priority: "dependencies" has priority over "required" + * which in turn has priority over "upload".</samp> + * + * I usually have at the top of my custom templates something like (assuming all errors are sent to an error block + * named "error"): + * + * <code>echo (isset($zf_error) ? $zf_error : (isset($error) ? $error : ''));</code> + * + * <samp>The above code nees to be used only for custom templates, or when the output is generated via callback + * functions! For automatically generated templates it is all taken care for you automatically by the library! Notice + * the $zf_error variable which is automatically created by the library if there is a SPAM or a CSRF error! Unless + * you use it, these errors will not be visible for the user. Again, remember, we're talking about custom templates, + * or output generated via callback functions.</samp> + * + * One or all error messages can be displayed in an error block. + * See the {@link Zebra_Form::show_all_error_messages() show_all_error_messages()} method. + * + * <b>Everything related to error blocks applies only for server-side validation.</b><br> + * <b>See the {@link Zebra_Form::client_side_validation() client_side_validation()} method for configuring how errors + * are to be displayed to the user upon client-side validation.</b> + * + * Available rules are + * - age + * - alphabet + * - alphanumeric + * - captcha + * - compare + * - convert + * - custom + * - date + * - datecompare + * - dependencies + * - digits + * - email + * - emails + * - filesize + * - filetype + * - float + * - image + * - length + * - number + * - range + * - regexp + * - required + * - resize + * - upload + * - url + * + * Rules description: + * + * - <b>age</b> + * + * <code>'age' => array($range, $error_block, $error_message)</code> + * + * where + * + * - <i>range</i> is an array with 2 values, representing the minimum and maximum age allowed. 0 (zero) means + * "any age". Therefore, a range of array(21, 0) would validate ages above 20, array(6, 12) would + * validate ages between 6 and 12 (inclusive), while (0, 12) would validate ages below 13 + * + * - <i>error_block</i> is the PHP variable to append the error message to, in case the rule does not validate + * + * - <i>error_message</i> is the error message to be shown when rule is not obeyed + * + * Validates if the difference in years between the current date and the date entered in the control is whitin the + * allowed range + * + * Available for the following controls: {@link Zebra_Form_Text text} + * + * <code> + * // $obj is a reference to a control + * $obj->set_rule( + * 'age' => array( + * array(21, 0) // allow ages above 20 + * 'error', // variable to add the error message to + * 'Age must be above 20' // error message if value doesn't validate + * ) + * ); + * </code> + * + * - <b>alphabet</b> + * + * <code>'alphabet' => array($additional_characters, $error_block, $error_message)</code> + * + * where + * + * - <i>additional_characters</i> is a list of additionally allowed characters besides the alphabet (provide + * an empty string if none); note that if you want to use / (backslash) you need to specify it as three (3) + * backslashes ("///")! + * + * - <i>error_block</i> is the PHP variable to append the error message to, in case the rule does not validate + * + * - <i>error_message</i> is the error message to be shown when rule is not obeyed + * + * Validates if the value contains only characters from the alphabet (case-insensitive a to z) <b>plus</b> characters + * given as additional characters (if any). + * + * Available for the following controls: {@link Zebra_Form_Password password}, {@link Zebra_Form_Text text}, + * {@link Zebra_Form_Textarea textarea} + * + * <code> + * // $obj is a reference to a control + * $obj->set_rule( + * 'alphabet' => array( + * '-' // allow alphabet plus dash + * 'error', // variable to add the error message to + * 'Only alphabetic characters allowed!' // error message if value doesn't validate + * ) + * ); + * </code> + * + * - <b>alphanumeric</b> + * + * <code>'alphanumeric' => array($additional_characters, $error_block, $error_message)</code> + * + * where + * + * - <i>additional_characters</i> is a list of additionally allowed characters besides the alphabet and + * digits 0 to 9 (provide an empty string if none); note that if you want to use / (backslash) you need to + * specify it as three (3) backslashes ("///")! + * + * - <i>error_block</i> is the PHP variable to append the error message to, in case the rule does not validate + * + * - <i>error_message</i> is the error message to be shown when rule is not obeyed + * + * Validates if the value contains only characters from the alphabet (case-insensitive a to z) and digits (0 to 9) + * <b>plus</b> characters given as additional characters (if any). + * + * Available for the following controls: {@link Zebra_Form_Password password}, {@link Zebra_Form_Text text}, + * {@link Zebra_Form_Textarea textarea} + * + * <code> + * // $obj is a reference to a control + * $obj->set_rule( + * 'alphanumeric' => array( + * '-', // allow alphabet, digits and dash + * 'error', // variable to add the error message to + * 'Only alphanumeric characters allowed!' // error message if value doesn't validate + * ) + * ); + * </code> + * + * - <b>captcha</b> + * + * <code>'captcha' => array($error_block, $error_message)</code> + * + * where + * + * - <i>error_block</i> is the PHP variable to append the error message to, in case the rule does not validate + * + * - <i>error_message</i> is the error message to be shown when rule is not obeyed + * + * Validates if the value matches the characters seen in the {@link Zebra_Form_Captcha captcha} image + * (therefore, there must be a {@link Zebra_Form_Captcha captcha} image on the form) + * + * Available only for the {@link Zebra_Form_Text text} control + * + * <i>This rule is not available client-side!</i> + * + * <code> + * // $obj is a reference to a control + * $obj->set_rule( + * 'captcha' => array( + * 'error', // variable to add the error message to + * 'Characters not entered correctly!' // error message if value doesn't validate + * ) + * ); + * </code> + * + * - <b>compare</b> + * + * <code>'compare' => array($control, $error_block, $error_message)</code> + * + * where + * + * - <i>control</i> is the name of a control on the form to compare values with + * + * - <i>error_block</i> is the PHP variable to append the error message to, in case the rule does not validate + * + * - <i>error_message</i> is the error message to be shown when rule is not obeyed + * + * Validates if the value is the same as the value of the control indicated by <i>control</i>. + * + * Useful for password confirmation. + * + * Available for the following controls: {@link Zebra_Form_Password password}, {@link Zebra_Form_Text text}, + * {@link Zebra_Form_Textarea textarea} + * + * <code> + * // $obj is a reference to a control + * $obj->set_rule( + * 'compare' => array( + * 'password' // name of the control to compare values with + * 'error', // variable to add the error message to + * 'Password not confirmed correctly!' // error message if value doesn't validate + * ) + * ); + * </code> + * + * - <b>convert</b> + * + * <samp>This rule requires the prior inclusion of the {@link http://stefangabos.ro/php-libraries/zebra-image Zebra_Image} + * library!</samp> + * + * <code>'convert' => array($type, $jpeg_quality, $preserve_original_file, $overwrite, $error_block, $error_message)</code> + * + * where + * + * - <i>type</i> the type to convert the image to; can be (case-insensitive) JPG, PNG or GIF + * + * - <i>jpeg_quality</i>: Indicates the quality of the output image (better quality means bigger file size). + * + * Range is 0 - 100 + * + * Available only if <b>type</b> is "jpg". + * + * - <i>preserve_original_file</i>: Should the original file be preserved after the conversion is done? + * + * - <i>$overwrite</i>: If a file with the same name as the converted file already exists, should it be + * overwritten or should the name be automatically computed. + * + * If a file with the same name as the converted file already exists and this argument is FALSE, a suffix of + * "_n" (where n is an integer) will be appended to the file name. + * + * - <i>error_block</i> is the PHP variable to append the error message to, in case the rule does not validate + * + * - <i>error_message</i> is the error message to be shown when rule is not obeyed + * + * This rule will convert an image file uploaded using the <b>upload</b> rule from whatever its type (as long as is one + * of the supported types) to the type indicated by <i>type</i>. + * + * Validates if the uploaded file is an image file and <i>type</i> is valid. + * + * This is not actually a "rule", but because it can generate an error message it is included here + * + * You should use this rule in conjunction with the <b>upload</b> and <b>image</b> rules. + * + * If you are also using the <b>resize</b> rule, make sure you are using it AFTER the <b>convert</b> rule! + * + * Available only for the {@link Zebra_Form_File file} control + * + * <i>This rule is not available client-side!</i> + * + * <code> + * // $obj is a reference to a file upload control + * $obj->set_rule( + * 'convert' => array( + * 'jpg', // type to convert to + * 85, // converted file quality + * false, // preserve original file? + * false, // overwrite if converted file already exists? + * 'error', // variable to add the error message to + * 'File could not be uploaded!' // error message if value doesn't validate + * ) + * ); + * </code> + * + * - <b>custom</b> + * + * Using this rule, custom rules can be applied to the submitted values. + * + * <code>'custom'=>array($callback_function_name, [optional arguments to be passed to the function], $error_block, $error_message)</code> + * + * where + * + * - <i>callback_function_name</i> is the name of the callback function + * + * - <i>error_block</i> is the PHP variable to append the error message to, in case the rule does not validate + * + * - <i>error_message</i> is the error message to be shown when rule is not obeyed + * + * <i>The callback function's first argument must ALWAYS be the control's submitted value. The optional arguments to + * be passed to the callback function will start as of the second argument!</i> + * + * <i>The callback function MUST return TRUE on success or FALSE on failure!</i> + * + * Multiple custom rules can also be set through an array of callback functions: + * + * <code> + * 'custom' => array( + * + * array($callback_function_name1, [optional arguments to be passed to the function], $error_block, $error_message), + * array($callback_function_name1, [optional arguments to be passed to the function], $error_block, $error_message) + * + * ) + * </code> + * + * <b>If {@link Zebra_Form::client_side_validation() client-side validation} is enabled (enabled by default), the + * custom function needs to also be available in JavaScript, with the exact same name as the function in PHP!</b> + * + * For example, here's a custom rule for checking that an entered value is an integer, greater than 21: + * + * <code> + * // the custom function in JavaScript + * <script type="text/javascript"> + * function is_valid_number(value) + * { + * // return false if the value is less than 21 + * if (value < 21) return false; + * // return true otherwise + * return true; + * } + * <&92;script> + * </code> + * + * <code> + * // the callback function in PHP + * function is_valid_number($value) + * { + * // return false if the value is less than 21 + * if ($value < 21) return false; + * // return true otherwise + * return true; + * } + * + * // create a new form + * $form = new Zebra_Form('my_form'); + * + * // add a text control to the form + * $obj = $form->add('text', 'my_text'); + * + * // set two rules: + * // on that requires the value to be an integer + * // and a custom rule that requires the value to be greater than 21 + * $obj->set_rule( + * 'number' => array('', 'error', 'Value must be an integer!'), + * 'custom' => array( + * 'is_valid_number', + * 'error', + * 'Value must be greater than 21!' + * ) + * ); + * </code> + * + * And here's how I do validations using <b>AJAX</b>: + * + * In my website's main JavaScript file I have something like: + * + * <code> + * var valid = null; + * + * // I have functions like these for everything that I need checked through AJAX; note that they are in the global + * // namespace and outside the DOM-ready event + * + * // functions have to return TRUE in order for the rule to be considered as obeyed + * function username_not_taken(username) { + * $.ajax({data: 'username=' + username}); + * return valid; + * } + * + * function emailaddress_not_taken(email) { + * $.ajax({data: 'email=' + email}); + * return valid; + * } + * + * // in the DOM ready event + * $(document).ready(function() { + * + * // I setup an AJAX object that will handle all my AJAX calls + * $.ajaxSetup({ + * url: 'path/to/validator/', // actual work will be done in PHP + * type: 'post', + * dataType: 'text', + * async: false, // this is important! + * global: false, + * beforeSend: function() { + * valid = null; + * }, + * success: function(data, textStatus) { + * if (data == 'valid') valid = true; + * else valid = false; + * } + * }); + * + * // ...other JavaScript code for your website... + * + * } + * </code> + * + * I also have a "validation.php" "helper" file which contains the PHP functions that do the actual checkings. This + * file is included both in the page where I create the form (used by the server-side validation) and also by the + * file defined by the "url" property of the AJAX object (used for client-side validation). This might look something + * like: + * + * <code> + * function username_not_taken($username) { + * // check for username and return TRUE if it's NOT taken, or FALSE otherwise + * } + * + * function emailaddress_not_taken($email) { + * // check for email address and return TRUE if it's NOT taken, or FALSE otherwise + * } + * </code> + * + * As stated above, when I create a form I include this "helper" file at the top, because the functions in it will + * be used by the server-side validation, and set the custom rules like this: + * + * <code> + * $obj->set_rule(array( + * 'custom' => array( + * 'username_not_taken', + * 'error', + * 'This user name is already taken!' + * ), + * )); + * </code> + * + * ...and finally, at the "url" set in the AJAX object, I have something like: + * + * <code> + * // include the "helper" file + * require 'path/to/validation.php'; + * + * if ( + * + * // make sure it's an AJAX request + * isset($_SERVER['HTTP_X_REQUESTED_WITH']) && + * + * // make sure it has a referrer + * isset($_SERVER['HTTP_REFERER']) && + * + * // make sure it comes from your website + * strpos($_SERVER['HTTP_REFERER'], 'your/website/base/url') === 0 + * + * ) { + * + * if ( + * + * // i run functions depending on what's in the $_POST and also make some extra sanity checks + * (isset($_POST['username']) && count($_POST) == 1 && username_not_taken($_POST['username'])) || + * (isset($_POST['email']) && count($_POST) == 1 && emailaddress_not_taken($_POST['email'])) + * + * // if whatever I'm checking is OK, I just echo "valid" + * // (this will be later used by the AJAX object) + * ) echo 'valid'; + * + * } + * + * // do nothing for any other case + * + * </code> + * + * - <b>date</b> + * + * <code>'date' => array($error_block, $error_message)</code> + * + * where + * + * - <i>error_block</i> is the PHP variable to append the error message to, in case the rule does not validate + * + * - <i>error_message</i> is the error message to be shown when rule is not obeyed + * + * Validates if the value is a propper date, formated according to the format set through the + * {@link Zebra_Form_Date::format() format()} method. + * + * Available only for the {@link Zebra_Form_Date date} control. + * + * <i>Note that the validation is language dependant: if the form's language is other than English and month names + * are expected, the script will expect the month names to be given in that particular language, as set in the + * language file!</i> + * + * <code> + * // $obj is a reference to a control + * $obj->set_rule( + * 'date' => array( + * 'error', // variable to add the error message to + * 'Invalid date!' // error message if value doesn't validate + * ) + * ); + * </code> + * + * - <b>datecompare</b> + * + * <code>'datecompare' => array($control, $comparison_operator, $error_block, $error_message)</code> + * + * where + * + * - <i>control</i> is the name of a date control on the form to compare values with + * + * - <i>comparison_operator</i> indicates how the value should be, compared to the value of <i>control</i>.<br> + * Possible values are <, <=, >, >= + * + * - <i>error_block</i> is the PHP variable to append the error message to, in case the rule does not validate + * + * - <i>error_message</i> is the error message to be shown when rule is not obeyed + * + * Validates if the value satisfies the comparison operator when compared to the other date control's value. + * + * Available only for the {@link Zebra_Form_Date date} control. + * + * <code> + * // $obj is a reference to a control + * $obj->set_rule( + * 'datecompare' => array( + * 'another_date' // name of another date control on the form + * '>', // comparison operator + * 'error', // variable to add the error message to + * 'Date must be after another_date!' // error message if value doesn't validate + * ) + * ); + * </code> + * + * - <b>dependencies</b> + * + * <code>'dependencies' => array($conditions)</code> + * + * or + * + * <code>'dependencies' => array(array($conditions), 'callback_function_name[, arguments]')</code> + * + * where + * + * - <i>$conditions</i> an array of associative arrays where the keys represent the <b>names</b> of form controls + * (remember: <i>names</i>, not IDs, and without the square brackets ([]) used for checkbox groups and multiple + * selects), while the associated value/values represent the value/values that those controls need to have in + * order for the current control to be validated. Notable exceptions are the {@link Zebra_Form_Submit submit} + * and {@link Zebra_Form_Image image} elements, where the associated value must *always* be "click". + * + * <i>Only when all conditions are met, the control's other rules will be checked!</i> + * + * - <i>callback_function_name</i> is the name of an existing JavaScript function which will be executed whenever + * the value of any of the controls listed in the "dependencies" rule changes - useful for showing/hiding controls + * that depend on the values of other controls. + * + * An element's other existing rules will be checked only if this rule is passed. + * + * Conditions can be applied to an infinite depth and will be checked accordingly - so, a control may depend on + * another control which, in turn, may depend on another control and so on, and all this will be automatically taken + * care of: say control C depends on control B having the value "1", while control B depends on control A having the + * value "2"; now, even if B has the value "1", as long as A doesn't have the value "2", control C will not be + * validated. + * + * <samp>The library will terminate exection and will trigger an error message if an infinite loop of dependencies is + * detected. Also, dependencies on non-existing elements will be ignored. And finally, this rule should only be used + * with custom templates.</samp> + * + * Available for the following controls: {@link Zebra_Form_Checkbox checkbox}, {@link Zebra_Form_Date date}, + * {@link Zebra_Form_File file}, {@link Zebra_Form_Password password}, {@link Zebra_Form_Radio radio} + * {@link Zebra_Form_Select select}, {@link Zebra_Form_Text text}, {@link Zebra_Form_Textarea textarea}, + * {@link Zebra_Form_Time time}. + * + * <code> + * // $obj is a reference to a control + * $obj->set_rule(array( + * + * // any other rules will be checked only + * // if all of the following conditions are met + * 'dependencies' => array( + * + * // the value of the control named "input1" is "Value 1" + * 'input1' => 'Value 1', + * + * // the value of the control named "input2" is "Value 2" OR "Value 3" + * 'input2' => array('Value 2', 'Value 3'), + * + * // the value of the control named "radio1" is "Option 1" OR "Option 2" + * 'radio1' => array('Option 1', 'Option 2'), + * + * // the value of the control named "checkbox1" (where multiple options can + * // be checked, same as for multiple selects) is + * // 'Option 1' AND 'Option 2' + * // OR + * // 'Option 4' + * // OR + * // 'Option 1' AND 'Option 3' + * 'checkbox1' => array( + * array('Option 1', 'Option 2') + * 'Option 4', + * array('Option 1', 'Option 3') + * ), + * + * // the "submit" control having the "btnsubmit" ID is clicked + * 'btnsubmit' => 'click', + * + * ), + * + * // this rule will be checked only + * // if all of the conditions above are met + * 'required' => array('error', 'Value is required!'), + * )); + * </code> + * + * Whenever any of the elements in the "dependencies" rule changes value, the library will check if all the conditions + * are met and, if a callback function is attached, will execute the callback function. The callback function's first + * argument will be the boolean result of checking if all the conditions are met. Optionally, additional comma separated + * arguments may be passed to the callback function (separated with a comma from the function name). Optional arguments + * can be used for having a single callback function instead of more, and doing different actions depending on the + * optional argument/arguments + * + * To attach a callback function, declare the "dependencies" rule like this: + * + * <code> + * // $obj is a reference to a control + * $obj->set_rule(array( + * + * // notice an array of arrays... + * 'dependencies' => array(array( + * + * // conditions + * + * ), 'callback_function[, argument]'), + * + * )); + * </code> + * + * Here are some examples of how to define the callback function in JavaScript: + * + * <code> + * // in the global scope and outside the "domready" event + * var my_callback = function(valid) { + * // all conditions are met + * if (valid) {} + * // if not all conditions are met + * else {} + * } + * + * // ...here comes the rest of your code + * $(document).ready(function() {}); + * + * /* ======================================================{@*} + * + * // the same as above, again, outside the "domready" event + * function my_callback(valid) { + * // all conditions are met + * if (valid) {} + * // if not all conditions are met + * else {} + * } + * + * // ...here comes the rest of your code + * $(document).ready(function() {}); + * + * /* ======================================================{@*} + * + * // create a variable in the global scope + * var my_callback; + * + * // put your function inside the "doready" event + * $(document).ready(function() { + * + * // but tied to the variable from the global scope... + * my_callback = function(valid) { + * // all conditions are met + * if (valid) {} + * // if not all conditions are met + * else {} + * } + * + * }); + * + * /* ======================================================{@*} + * + * // don't pollute the global scope, use namespaces + * $(document).ready(function() { + * + * myNameSpace = { + * my_callback: function(valid) { + * // all conditions are met + * if (valid) {} + * // if not all conditions are met + * else {} + * } + * } + * + * }); + * + * // in PHP, refer to the callback function like myNameSpace.my_callback + * $obj->set_rule(array( + * + * // notice an array of arrays... + * 'dependencies' => array(array( + * // conditions + * ), 'myNameSpace.my_callback'), + * + * )); + * + * </code> + * + * - <b>digits</b> + * + * <code>'digits' => array($additional_characters, $error_block, $error_message)</code> + * + * where + * + * - <i>additional_characters</i> is a list of additionally allowed characters besides digits (provide + * an empty string if none); note that if you want to use / (backslash) you need to specify it as three (3) + * backslashes ("///")! + * + * - <i>error_block</i> is the PHP variable to append the error message to, in case the rule does not validate + * + * - <i>error_message</i> is the error message to be shown when rule is not obeyed + * + * Validates if the value contains only digits (0 to 9) <b>plus</b> characters given as additional characters (if any). + * + * <b>When this rule is set, element's "type" attribute will be automatically changed to "number", making + * the element more friendly to mobile users</b> + * + * Available for the following controls: {@link Zebra_Form_Password password}, {@link Zebra_Form_Text text}, + * {@link Zebra_Form_Textarea textarea} + * + * <code> + * // $obj is a reference to a control + * $obj->set_rule( + * 'digits' => array( + * '-' // allow digits and dash + * 'error', // variable to add the error message to + * 'Only digits are allowed!' // error message if value doesn't validate + * ) + * ); + * </code> + * + * - <b>email</b> + * + * <code>'email' => array($error_block, $error_message)</code> + * + * where + * + * - <i>error_block</i> is the PHP variable to append the error message to, in case the rule does not validate + * + * - <i>error_message</i> is the error message to be shown when rule is not obeyed + * + * Validates if the value is a properly formatted email address. + * + * <b>When this rule is set, element's "type" attribute will be automatically changed to "email", making + * the element more friendly to mobile users</b> + * + * Available for the following controls: {@link Zebra_Form_Password password}, {@link Zebra_Form_Text text}, + * {@link Zebra_Form_Textarea textarea} + * + * <code> + * // $obj is a reference to a control + * $obj->set_rule( + * 'email' => array( + * 'error', // variable to add the error message to + * 'Invalid email address!' // error message if value doesn't validate + * ) + * ); + * </code> + * + * - <b>emails</b> + * + * <code>'emails' => array($error_block, $error_message)</code> + * + * where + * + * - <i>error_block</i> is the PHP variable to append the error message to, in case the rule does not validate + * + * - <i>error_message</i> is the error message to be shown when rule is not obeyed + * + * Validates if the value is a properly formatted email address <b>or</b> a comma separated list of properly + * formatted email addresses. + * + * Available for the following controls: {@link Zebra_Form_Password password}, {@link Zebra_Form_Text text}, + * {@link Zebra_Form_Textarea textarea} + * + * <code> + * // $obj is a reference to a control + * $obj->set_rule( + * 'emails' => array( + * 'error', // variable to add the error message to + * 'Invalid email address(es)!' // error message if value doesn't validate + * ) + * ); + * </code> + * + * - <b>filesize</b> + * + * <code>'filesize' => array($file_size, $error_block, $error_message)</code> + * + * where + * + * - <i>file_size</i> is the allowed file size, in bytes + * + * - <i>error_block</i> is the PHP variable to append the error message to, in case the rule does not validate + * + * - <i>error_message</i> is the error message to be shown when rule is not obeyed + * + * Validates if the size (in bytes) of the uploaded file is not larger than the value (in bytes) specified by + * <i>file_size</i>. + * + * <b>Note that $file_size should be lesser or equal to the value of upload_max_filesize set in php.ini!</b> + * + * Available only for the {@link Zebra_Form_File file} control. + * + * <code> + * // $obj is a reference to a control + * $obj->set_rule( + * 'filesize' => array( + * '102400', // maximum allowed file size (in bytes) + * 'error', // variable to add the error message to + * 'File size must not exceed 100Kb!' // error message if value doesn't validate + * ) + * ); + * </code> + * + * - <b>filetype</b> + * + * <b>If you want to check for images use the dedicated "image" rule instead!</b> + * + * <code>'filetype' => array($file_types, $error_block, $error_message)</code> + * + * where + * + * - <i>file_types</i> is a string of comma separated file extensions representing uploadable file types + * + * - <i>error_block</i> is the PHP variable to append the error message to, in case the rule does not validate + * + * - <i>error_message</i> is the error message to be shown when rule is not obeyed + * + * Validates only if the uploaded file's MIME type matches the MIME types associated with the extensions set by + * <i>file_types</i> as defined in <i>mimes.json</i> file. + * + * Note that for PHP versions 5.3.0+, compiled with the "php_fileinfo" extension, the uploaded file's mime type is + * determined using PHP's {@link http://php.net/manual/en/function.finfo-file.php finfo_file} function; Otherwise, + * the library relies on information available in the $_FILES super-global for determining an uploaded file's MIME + * type, which, as it turns out, is determined solely by the file's extension, representing a potential security + * risk; + * + * Available only for the {@link Zebra_Form_File file} control. + * + * <code> + * // $obj is a reference to a control + * $obj->set_rule( + * 'filetype' => array( + * 'xls, xlsx' // allow only EXCEL files to be uploaded + * 'error', // variable to add the error message to + * 'Not a valid Excel file!' // error message if value doesn't validate + * ) + * ); + * </code> + * + * - <b>float</b> + * + * <code>'float' => array($additional_characters, $error_block, $error_message)</code> + * + * where + * + * - <i>additional_characters</i> is a list of additionally allowed characters besides digits, one dot and one + * minus sign (provide an empty string if none); note that if you want to use / (backslash) you need to specify + * it as three (3) backslashes ("///")! + * + * - <i>error_block</i> is the PHP variable to append the error message to, in case the rule does not validate + * + * - <i>error_message</i> is the error message to be shown when rule is not obeyed + * + * Validates if the value contains only digits (0 to 9) and/or <b>one</b> dot (but not as the very first character) + * and/or <b>one</b> minus sign (but only if it is the very first character) <b>plus</b> characters given as + * additional characters (if any). + * + * <b>When this rule is set, element's "type" attribute will be automatically changed to "number", making + * the element more friendly to mobile users</b> + * + * Available for the following controls: {@link Zebra_Form_Password password}, {@link Zebra_Form_Text text}, + * {@link Zebra_Form_Textarea textarea} + * + * <code> + * // $obj is a reference to a control + * $obj->set_rule( + * 'float' => array( + * '' // don't allow any extra characters + * 'error', // variable to add the error message to + * 'Invalid number!' // error message if value doesn't validate + * ) + * ); + * </code> + * + * - <b>image</b> + * + * <code>'image' => array($error_block, $error_message)</code> + * + * where + * + * - <i>error_block</i> is the PHP variable to append the error message to, in case the rule does not validate + * + * - <i>error_message</i> is the error message to be shown when rule is not obeyed + * + * + * Validates only if the uploaded file is a valid GIF, PNG or JPEG image file. + * + * Available only for the {@link Zebra_Form_File file} control. + * + * <code> + * // $obj is a reference to a control + * $obj->set_rule( + * 'image' => array( + * 'error', // variable to add the error message to + * 'Not a valid GIF, PNG or JPEG file!' // error message if value doesn't validate + * ) + * ); + * </code> + * + * - <b>length</b> + * + * <code>'length' => array($minimum_length, $maximum_length, $error_block, $error_message, $show_counter)</code> + * + * where + * + * - <i>minimum_length</i> is the minimum number of characters the values should contain + * + * - <i>maximum_length</i> is the maximum number of characters the values should contain + * + * - <i>error_block</i> is the PHP variable to append the error message to, in case the rule does not validate + * + * - <i>error_message</i> is the error message to be shown when rule is not obeyed + * + * - <i>show_counter</i> if set to TRUE, a counter showing the remaining characters will be displayed along with + * the element + * + * <i>If you want to change the counter's position, do so by setting margins for the .Zebra_Character_Counter + * class in the zebra_form.css file</i> + * + * + * Validates only if the number of characters of the value is between $minimum_length and $maximum_length. + * + * If an exact length is needed, set both $minimum_length and $maximum_length to the same value. + * + * Set $maximum_length to 0 (zero) if no upper limit needs to be set for the value's length. + * + * Available for the following controls: {@link Zebra_Form_Password password}, {@link Zebra_Form_Text text}, + * {@link Zebra_Form_Textarea textarea} + * + * <code> + * // $obj is a reference to a control + * $obj->set_rule( + * 'length' => array( + * 3, // minimum length + * 6, // maximum length + * 'error', // variable to add the error message to + * 'Value must have between 3 and 6 characters!' // error message if value doesn't validate + * ) + * ); + * </code> + * + * - <b>number</b> + * + * <code>'number' => array($additional_characters, $error_block, $error_message)</code> + * + * where + * + * - <i>additional_characters</i> is a list of additionally allowed characters besides digits and one + * minus sign (provide an empty string if none); note that if you want to use / (backslash) you need to specify + * it as three (3) backslashes ("///")! + * + * - <i>error_block</i> is the PHP variable to append the error message to, in case the rule does not validate + * + * - <i>error_message</i> is the error message to be shown when rule is not obeyed + * + * Validates if the value contains only digits (0 to 9) and/or <b>one</b> minus sign (but only if it is the very + * first character) <b>plus</b> characters given as additional characters (if any). + * + * <b>When this rule is set, element's "type" attribute will be automatically changed to "number", making + * the element more friendly to mobile users</b> + * + * Available for the following controls: {@link Zebra_Form_Password password}, {@link Zebra_Form_Text text}, + * {@link Zebra_Form_Textarea textarea} + * + * <code> + * // $obj is a reference to a control + * $obj->set_rule( + * 'number' => array( + * '' // don't allow any extra characters + * 'error', // variable to add the error message to + * 'Invalid integer!' // error message if value doesn't validate + * ) + * ); + * </code> + * + * - <b>range</b> + * + * <code>'range' => array($range, $error_block, $error_message)</code> + * + * where + * + * - <i>range</i> is an array with 2 values, representing the minimum and maximum allowed values. 0 (zero) means + * "any value". Therefore, a range of array(100, 0) would validate values of 100 and above, array(50, 100) + * would validate values between 50 and 100 (inclusive), while (0, 50) would validate values below 51 + * + * - <i>error_block</i> is the PHP variable to append the error message to, in case the rule does not validate + * + * - <i>error_message</i> is the error message to be shown when rule is not obeyed + * + * Validates if the value is within range + * + * Available for the following controls: {@link Zebra_Form_Text text} + * + * <code> + * // $obj is a reference to a control + * $obj->set_rule( + * 'range' => array( + * array(50, 100) // allow values between 50 and 100 (inclusive) + * 'error', // variable to add the error message to + * 'The entered value must be between 50 and 100 (inclusive)' // error message if value doesn't validate + * ) + * ); + * </code> + * + * - <b>regexp</b> + * + * <code>'regexp' => array($regular_expression, $error_block, $error_message)</code> + * + * where + * + * - <i>regular_expression</i> is the regular expression pattern (without delimiters) to be tested on the value + * + * - <i>error_block</i> is the PHP variable to append the error message to, in case the rule does not validate + * + * - <i>error_message</i> is the error message to be shown when rule is not obeyed + * + * Validates if the value satisfies the given regular expression + * + * Available for the following controls: {@link Zebra_Form_Password password}, {@link Zebra_Form_Text text}, + * {@link Zebra_Form_Textarea textarea} + * + * <code> + * // $obj is a reference to a control + * $obj->set_rule( + * 'regexp' => array( + * '^0123' // the regular expression + * 'error', // variable to add the error message to + * 'Value must begin with "0123"' // error message if value doesn't validate + * ) + * ); + * </code> + * + * - <b>required</b> + * + * <code>'required' => array($error_block, $error_message)</code> + * + * where + * + * - <i>error_block</i> is the PHP variable to append the error message to, in case the rule does not validate + * + * - <i>error_message</i> is the error message to be shown when rule is not obeyed + * + * + * Validates only if a value exists. + * + * Available for the following controls: {@link Zebra_Form_Checkbox checkbox}, {@link Zebra_Form_Date date}, + * {@link Zebra_Form_File file}, {@link Zebra_Form_Password password}, {@link Zebra_Form_Radio radio}, + * {@link Zebra_Form_Select select}, {@link Zebra_Form_Text text}, {@link Zebra_Form_Textarea textarea}, + * {@link Zebra_Form_Time time} + * + * <code> + * // $obj is a reference to a control + * $obj->set_rule( + * 'required' => array( + * 'error', // variable to add the error message to + * 'Field is required' // error message if value doesn't validate + * ) + * ); + * </code> + * + * - <b>resize</b> + * + * <samp>This rule requires the prior inclusion of the {@link http://stefangabos.ro/php-libraries/zebra-image Zebra_Image} + * library!</samp> + * + * <code>'resize' => array( + * $prefix, + * $width, + * $height, + * $preserve_aspect_ratio, + * $method, + * $background_color, + * $enlarge_smaller_images, + * $jpeg_quality, + * $error_block, + * $error_message, + * ) + * </code> + * + * where + * + * - <i>prefix</i>: If the resized image is to be saved as a new file and the originally uploaded file needs to be + * preserved, specify a prefix to be used for the new file. This way, the resized image will have the same name as + * the original file but prefixed with the given value (i.e. "thumb_"). + * + * Specifying an empty string as argument will instruct the script to apply the resizing to the uploaded image + * and therefore overwriting the originally uploaded file. + * + * - <i>width</i> is the width to resize the image to. + * + * If set to <b>0</b>, the width will be automatically adjusted, depending on the value of the <b>height</b> + * argument so that the image preserves its aspect ratio. + * + * If <b>preserve_aspect_ratio</b> is set to TRUE and both this and the <b>height</b> arguments are values + * greater than <b>0</b>, the image will be resized to the exact required width and height and the aspect ratio + * will be preserved (see the description for the <b>method</b> argument below on how can this be done). + * + * If <b>preserve_aspect_ratio</b> is set to FALSE, the image will be resized to the required width and the + * aspect ratio will be ignored. + * + * If both <b>width</b> and <b>height</b> are set to <b>0</b>, a copy of the source image will be created + * (<b>jpeg_quality</b> will still apply). + * + * If either <b>width</b> or <b>height</b> are set to <b>0</b>, the script will consider the value of the + * <b>preserve_aspect_ratio</b> to bet set to TRUE regardless of its actual value! + * + * - <i>height</i> is the height to resize the image to. + * + * If set to <b>0</b>, the height will be automatically adjusted, depending on the value of the <b>width</b> + * argument so that the image preserves its aspect ratio. + * + * If <b>preserve_aspect_ratio</b> is set to TRUE and both this and the <b>width</b> arguments are values greater + * than <b>0</b>, the image will be resized to the exact required width and height and the aspect ratio will be + * preserved (see the description for the <b>method</b> argument below on how can this be done). + * + * If <b>preserve_aspect_ratio</b> is set to FALSE, the image will be resized to the required height and the + * aspect ratio will be ignored. + * + * If both <b>height</b> and <b>width</b> are set to <b>0</b>, a copy of the source image will be created + * (<b>jpeg_quality</b> will still apply). + * + * If either <b>height</b> or <b>width</b> are set to <b>0</b>, the script will consider the value of the + * <b>preserve_aspect_ratio</b> to bet set to TRUE regardless of its actual value! + * + * - <i>preserve_aspect_ratio</i>: If set to TRUE, the image will be resized to the given width and height and the + * aspect ratio will be preserved. + * + * Set this to FALSE if you want the image forcefully resized to the exact dimensions given by width and height + * ignoring the aspect ratio + * + * - <i>method</i>: is the method to use when resizing images to exact width and height while preserving aspect + * ratio. + * + * If the <b>preserve_aspect_ratio</b> property is set to TRUE and both the <b>width</b> and <b>height</b> + * arguments are values greater than <b>0</b>, the image will be resized to the exact given width and height + * and the aspect ratio will be preserved by using on of the following methods: + * + * - <b>ZEBRA_IMAGE_BOXED</b> - the image will be scalled so that it will fit in a box with the given width and + * height (both width/height will be smaller or equal to the required width/height) and then it will be centered + * both horizontally and vertically. The blank area will be filled with the color specified by the + * <b>background_color</b> argument. (the blank area will be filled only if the image is not transparent!) + * + * - <b>ZEBRA_IMAGE_NOT_BOXED</b> - the image will be scalled so that it <i>could</i> fit in a box with the given + * width and height but will not be enclosed in a box with given width and height. The new width/height will be + * both smaller or equal to the required width/height + * + * - <b>ZEBRA_IMAGE_CROP_TOPLEFT</b> + * - <b>ZEBRA_IMAGE_CROP_TOPCENTER</b> + * - <b>ZEBRA_IMAGE_CROP_TOPRIGHT</b> + * - <b>ZEBRA_IMAGE_CROP_MIDDLELEFT</b> + * - <b>ZEBRA_IMAGE_CROP_CENTER</b> + * - <b>ZEBRA_IMAGE_CROP_MIDDLERIGHT</b> + * - <b>ZEBRA_IMAGE_CROP_BOTTOMLEFT</b> + * - <b>ZEBRA_IMAGE_CROP_BOTTOMCENTER</b> + * - <b>ZEBRA_IMAGE_CROP_BOTTOMRIGHT</b> + * + * For the methods involving crop, first the image is scaled so that both its sides are equal or greater than the + * respective sizes of the bounding box; next, a region of required width and height will be cropped from indicated + * region of the resulted image. + * + * - <i>background_color</i> is the hexadecimal color of the blank area (without the #). See the <b>method</b> + * argument. + * + * - <i>enlarge_smaller_images</i>: if set to FALSE, images having both width and height smaller than the required + * width and height, will be left untouched (<b>jpeg_quality</b> will still apply). + * + * - <i>jpeg_quality</i> indicates the quality of the output image (better quality means bigger file size). + * + * Range is 0 - 100 + * + * Available only for JPEG files. + * + * - <i>error_block</i> is the PHP variable to append the error message to, in case the rule does not validate + * + * - <i>error_message</i> is the error message to be shown when rule is not obeyed + * + * <i>This rule must come</i> <b>after</b> <i>the</i> <b>upload</b> <i>rule!</i> + * + * This is not an actual "rule", but because it can generate an error message it is included here. + * + * Available only for the {@link Zebra_Form_File file} control + * + * <i>This rule is not available client-side!</i> + * + * <code> + * // $obj is a reference to a control + * $obj->set_rule( + * 'resize' => array( + * 'thumb_', // prefix + * '150', // width + * '150', // height + * true, // preserve aspect ratio + * ZEBRA_IMAGE_BOXED, // method to be used + * 'FFFFFF', // background color + * true, // enlarge smaller images + * 85, // jpeg quality + * 'error', // variable to add the error message to + * 'Thumbnail could not be created!' // error message if value doesn't validate + * ) + * ); + * + * // for multiple resizes, use an array of arrays: + * $obj->set_rule( + * 'resize' => array( + * array('thumb1_', 150, 150, true, ZEBRA_IMAGE_BOXED, 'FFFFFF', true, 85, 'error', 'Error!'), + * array('thumb2_', 300, 300, true, ZEBRA_IMAGE_BOXED, 'FFFFFF', true, 85, 'error', 'Error!'), + * ) + * ); + * </code> + * + * - <b>upload</b> + * + * <code>'upload' => array($upload_path, $file_name, $error_block, $error_message)</code> + * + * where + * + * - <i>upload_path</i> the path where to upload the file to, relative to the currently running script. + * + * - <i>file_name</i>: specifies whether the uploaded file's original name should be preserved, should it be + * prefixed with a string, or should it be randomly generated. + * + * Possible values can be <b>TRUE</b>: the uploaded file's original name will be preserved; <b>FALSE</b> (or, + * for better code readability, you should use the "ZEBRA_FORM_UPLOAD_RANDOM_NAMES" constant instead of "FALSE") + * : the uploaded file will have a randomly generated name; <b>a string</b>: the uploaded file's original name + * will be preserved but it will be prefixed with the given string (i.e. "original_", or "tmp_"). + * + * Note that when set to TRUE or a string, a suffix of "_n" (where n is an integer) will be appended to the + * file name if a file with the same name already exists at the given path. + * + * - <i>error_block</i> is the PHP variable to append the error message to, in case the rule does not validate + * + * - <i>error_message</i> is the error message to be shown when rule is not obeyed + * + * Validates if the file was successfully uploaded to the folder specified by <b>upload_path</b>. + * + * <i>Remember to check the form's {@link Zebra_Form::$file_upload $file_upload} property for information about the + * uploaded file after the form is submitted!</i> + * + * <i>Remember to check the form's {@link Zebra_Form::$file_upload_permissions $file_upload_permissions} property + * for how to set the filesystem permissions of the uploaded files!</i> + * + * <i>Note that once this rule is run client-side, the DOM element the rule is attached to, will get a data-attribute + * called</i> <b>file_info</b> <i>which will contain information about the uploaded file, accessible via JavaScript.</i> + * + * <code> + * console.log($('#element_id').data('file_info')) + * </code> + * + * This is not actually a "rule", but because it can generate an error message it is included here + * + * You should use this rule in conjunction with the <b>filesize</b> rule + * + * Available only for the {@link Zebra_Form_File file} control + * + * <i>This rule is not available client-side!</i> + * + * <code> + * // $obj is a reference to a control + * $obj->set_rule( + * 'upload' => array( + * 'tmp', // path to upload file to + * ZEBRA_FORM_UPLOAD_RANDOM_NAMES, // upload file with random-generated name + * 'error', // variable to add the error message to + * 'File could not be uploaded!' // error message if value doesn't validate + * ) + * ); + * </code> + * + * - <b>url</b> + * + * <code>'url' => array($require_protocol, $error_block, $error_message)</code> + * + * where + * + * - <i>require_protocol</i> indicates whether the <i>http</i> or <i>https</i> prefix should be mandatory or not + * + * - <i>error_block</i> is the PHP variable to append the error message to, in case the rule does not validate + * + * - <i>error_message</i> is the error message to be shown when rule is not obeyed + * + * Validates if the value represents a valid URL + * + * The regular expression used is the following: + * + * <code>/^(http(s)?\:\/\/)?[^\s\.]+\..{2,}/i</code> + * + * Some example URLs that are considered valid by this rule are: + * - google.com (if the <i>require_protocol</i> attribut is set to FALSE) + * - http://google.com + * - http://www.google.com + * - http://www.google.com?foo=bar + * - http://www.google.com?foo=bar#anchor + * + * <samp>Note that this rule will only validate common URLs and does not attempt to be a validator for all possible + * valid URLs, and therefore it will fail on most of the more exotic URLs used in the tests {@link http://mathiasbynens.be/demo/url-regex here}. + * Keep that in mind when deciding on whether to use this rule or not. Nevertheless, this should be enough for + * validating most of the URLs you encountered on a daily basis.</samp> + * + * Available for the following controls: {@link Zebra_Form_Password password}, {@link Zebra_Form_Text text}, + * {@link Zebra_Form_Textarea textarea} + * + * <code> + * // $obj is a reference to a control + * $obj->set_rule( + * 'url' => array( + * true, // require users to start the URL with http:// or https:// in order for the URL to be valid + * 'error', // variable to add the error message to + * 'Not a valid URL!' // error message if value doesn't validate + * ) + * ); + * </code> + * + * @param array $rules An associative array + * + * See above how it needs to be specified for each rule + * + * @return void + */ + function set_rule($rules) + { + + // continue only if argument is an array + if (is_array($rules)) + + // iterate through the given rules + foreach ($rules as $rule_name => $rule_properties) { + + // make sure the rule's name is lowercase + $rule_name = strtolower($rule_name); + + // if custom rule + if ($rule_name == 'custom') + + // if more custom rules are specified at once + if (is_array($rule_properties[0]) && count($rule_properties[0]) >= 3) + + // iterate through the custom rules + // and add them one by one + foreach ($rule_properties as $rule) $this->rules[$rule_name][] = $rule; + + // if a single custom rule is specified + // save the custom rule to the "custom" rules array + else $this->rules[$rule_name][] = $rule_properties; + + // for all the other rules + // add the rule to the rules array + else $this->rules[$rule_name] = $rule_properties; + + // for some rules we do some additional settings + switch ($rule_name) { + + // we set a reserved attribute for the control by which we're telling the + // _render_attributes() method to append a special class to the control when rendering it + // so that we can also control user input from javascript + case 'alphabet': + case 'digits': + case 'alphanumeric': + case 'number': + case 'float': + + $this->set_attributes(array('onkeypress' => 'javascript:return $(\'#' . $this->form_properties['name'] . '\').data(\'Zebra_Form\').filter_input(\'' . $rule_name . '\', event' . ($rule_properties[0] != '' ? ', \'' . addcslashes($rule_properties[0], '\'') . '\'' : '') . ');')); + + // for controls having these rules, + if (in_array($rule_name, array('digits', 'number', 'float'))) + + // change the control's type to "number" + $this->set_attributes(array('type' => 'number')); + + break; + + // if the rule is about the length of the input + case 'length': + + // if there is a maximum of allowed characters + if ($rule_properties[1] > 0) { + + // set the maxlength attribute of the control + $this->set_attributes(array('maxlength' => $rule_properties[1])); + + // if there is a 5th argument to the rule, the argument is boolean true + if (isset($rule_properties[4]) && $rule_properties[4] === true) { + + // add an extra class so that the JavaScript library will know to show the character counter + $this->set_attributes(array('class' => 'show-character-counter'), false); + + } + + } + + break; + + // if the "email" rule is set + case 'email': + + // change the element's type to "email" + $this->set_attributes(array('type' => 'email')); + + break; + + } + + } + + } + + /** + * Converts the array with control's attributes to valid HTML markup interpreted by the {@link toHTML()} method + * + * Note that this method skips {@link $private_attributes} + * + * @return string Returns a string with the control's attributes + * + * @access private + */ + protected function _render_attributes() + { + + // the string to be returned + $attributes = ''; + + // if + if ( + + // control has the "disabled" attribute set + isset($this->attributes['disabled']) && + + $this->attributes['disabled'] == 'disabled' && + + // control is not a radio button + $this->attributes['type'] != 'radio' && + + // control is not a checkbox + $this->attributes['type'] != 'checkbox' + + // add another class to the control + ) $this->set_attributes(array('class' => 'disabled'), false); + + // iterates through the control's attributes + foreach ($this->attributes as $attribute => $value) + + if ( + + // if control has no private attributes or the attribute is not a private attribute + (!isset($this->private_attributes) || !in_array($attribute, $this->private_attributes)) && + + // and control has no private javascript attributes or the attribute is not in a javascript private attribute + (!isset($this->javascript_attributes) || !in_array($attribute, $this->javascript_attributes)) + + ) + + // add attribute => value pair to the return string + $attributes .= + + ($attributes != '' ? ' ' : '') . $attribute . '="' . preg_replace('/\"/', '&quot;', $value) . '"'; + + // returns string + return $attributes; + + } + +} + +?> \ No newline at end of file diff --git a/vendor/stefangabos/zebra_form/includes/Date.php b/vendor/stefangabos/zebra_form/includes/Date.php new file mode 100644 index 00000000..753f4bb7 --- /dev/null +++ b/vendor/stefangabos/zebra_form/includes/Date.php @@ -0,0 +1,1769 @@ +<?php + +/** + * Class for date controls. + * + * @author Stefan Gabos <contact@stefangabos.ro> + * @copyright (c) 2006 - 2016 Stefan Gabos + * @package Controls + */ +class Zebra_Form_Date extends Zebra_Form_Control +{ + + /** + * Adds a date control to the form. + * + * <b>Do not instantiate this class directly! Use the {@link Zebra_Form::add() add()} method instead!</b> + * + * The output of this control will be a {@link Zebra_Form_Text textbox} control with an icon to the right of it.<br> + * Clicking the icon will open an inline JavaScript date picker.<br> + * + * <code> + * // create a new form + * $form = new Zebra_Form('my_form'); + * + * // add a date control to the form + * $mydate = $form->add('date', 'my_date', date('Y-m-d')); + * + * // you *have* to set the "date" rule + * $mydate->set_rule(array( + * 'date' => array('error', 'Invalid date specified!'), + * )); + * + * // set the date's format + * $mydate->format('M d, Y'); + * + * // don't forget to always call this method before rendering the form + * if ($form->validate()) { + * + * // get the date in YYYY-MM-DD format so you can play with is easily + * $date = $mydate->get_date(); + * + * } + * + * // output the form using an automatically generated template + * $form->render(); + * </code> + * + * @param string $id Unique name to identify the control in the form. + * + * The control's <b>name</b> attribute will be the same as the <b>id</b> attribute! + * + * This is the name to be used when referring to the control's value in the + * POST/GET superglobals, after the form is submitted. + * + * This is also the name of the variable to be used in custom template files, in + * order to display the control. + * + * <code> + * // in a template file, in order to print the generated HTML + * // for a control named "my_date", one would use: + * echo $my_date; + * </code> + * + * @param string $default (Optional) Default date, formatted according to {@link format() format}. + * + * @param array $attributes (Optional) An array of attributes valid for + * {@link http://www.w3.org/TR/REC-html40/interact/forms.html#h-17.4 input} + * controls (size, readonly, style, etc) + * + * Must be specified as an associative array, in the form of <i>attribute => value</i>. + * <code> + * // setting the "readonly" attribute + * $obj = $form->add( + * 'date', + * 'my_date', + * '', + * array( + * 'readonly' => 'readonly' + * ) + * ); + * </code> + * + * See {@link Zebra_Form_Control::set_attributes() set_attributes()} on how to set + * attributes, other than through the constructor. + * + * The following attributes are automatically set when the control is created and + * should not be altered manually:<br> + * + * <b>type</b>, <b>id</b>, <b>name</b>, <b>value</b>, <b>class</b> + * + * @return void + */ + function __construct($id, $default = '', $attributes = '') + { + + // call the constructor of the parent class + parent::__construct(); + + // set the private attributes of this control + // these attributes are private for this control and are for internal use only + // and will not be rendered by the _render_attributes() method + $this->private_attributes = array( + + 'locked', + 'disable_xss_filters', + 'disable_zebra_datepicker', + 'date', + 'always_visible', + 'container', + 'custom_classes', + 'days', + 'days_abbr', + 'default_position', + 'direction', + 'disabled_dates', + 'enabled_dates', + 'first_day_of_week', + 'format', + 'header_captions', + 'header_navigation', + 'icon_position', + 'inside_icon', + 'lang_clear_date', + 'months', + 'months_abbr', + 'offset', + 'open_icon_only', + 'pair', + 'readonly_element', + 'show_clear_date', + 'show_icon', + 'show_other_months', + 'show_select_today', + 'show_week_number', + 'select_other_months', + 'start_date', + 'strict', + 'view', + 'weekend_days', + 'zero_pad', + + ); + + // set the javascript attributes of this control + // these attributes will be used by the JavaScript date picker object + $this->javascript_attributes = array( + + 'always_visible', + 'container', + 'custom_classes', + 'days', + 'days_abbr', + 'default_position', + 'direction', + 'disabled_dates', + 'enabled_dates', + 'first_day_of_week', + 'format', + 'header_captions', + 'header_navigation', + 'icon_position', + 'inside_icon', + 'lang_clear_date', + 'months', + 'months_abbr', + 'offset', + 'pair', + 'readonly_element', + 'show_clear_date', + 'show_icon', + 'show_other_months', + 'show_select_today', + 'show_week_number', + 'select_other_months', + 'start_date', + 'strict', + 'view', + 'weekend_days', + 'zero_pad', + + ); + + // set the default attributes for the text control + // put them in the order you'd like them rendered + $this->set_attributes( + + array( + + 'type' => 'text', + 'name' => $id, + 'id' => $id, + 'value' => $default, + 'class' => 'control text date', + + 'always_visible' => null, + 'days' => null, + 'days_abbr' => null, + 'direction' => null, + 'disable_zebra_datepicker' => false, + 'disabled_dates' => null, + 'enabled_dates' => null, + 'first_day_of_week' => null, + 'format' => 'Y-m-d', + 'header_captions' => null, + 'header_navigation' => null, + 'inside_icon' => null, + 'months' => null, + 'months_abbr' => null, + 'offset' => null, + 'pair' => null, + 'readonly_element' => null, + 'show_clear_date' => null, + 'show_other_months' => null, + 'show_select_today' => null, + 'show_week_number' => null, + 'select_other_months' => null, + 'start_date' => null, + 'strict' => null, + 'view' => null, + 'weekend_days' => null, + 'zero_pad' => null, + + ) + + ); + + // if "class" is amongst user specified attributes + if (is_array($attributes) && isset($attributes['class'])) { + + // we need to set the "class" attribute like this, so it doesn't overwrite previous values + $this->set_attributes(array('class' => $attributes['class']), false); + + // make sure we don't set it again below + unset($attributes['class']); + + } + + // sets user specified attributes for the control + $this->set_attributes($attributes); + + } + + /** + * Should the date picker be always visible? + * + * Setting this property to a jQuery element will result in the date picker being always visible, the indicated + * element acting as the date picker's container; + * + * Note that when this property is set to TRUE, the {@link always_show_clear()} will be automatically set to TRUE. + * + * <code> + * $date = $form->add('date', 'my_date'); + * + * // an element having the ID "container" + * // will be the date picker's container + * $date->always_visible('$("#container")'); + * </code> + * + * @param string $element A jQuery selector pointing to an existing element from the page to be used as the + * date picker's container. + * + * @return void + */ + function always_visible($element) + { + + // set the date picker's attribute + $this->set_attributes(array('always_visible' => $element)); + + } + + /** + * Use this method to instruct the library to open a date picker inside a specific element - useful when you want + * the date picker to open at a specific position. + * + * <code> + * $date = $form->add('date', 'my_date'); + * + * // the date picker will open inside this element + * $date->container('$("#container")'); + * </code> + * + * @param string $element A jQuery selector pointing to an existing element from the page to be used as the + * date picker's container. + * + * By default, all date pickers are placed at the end of the <body> element + * + * @since 2.9.8 + * + * @return void + */ + function container($element) + { + + // set the date picker's attribute + $this->set_attributes(array('container' => $element)); + + } + + /** + * Dates that should have custom classes applied to them. + * + * <code> + * $date = $form->add('date', 'my_date'); + * + * // apply "myclass1" custom class to the first day, of every month, of every year + * $date->custom_classes(array( + * 'myclass1' => array('01 * *'), + * )); + * </code> + * + * @param array $custom_classes An array in the form of + * + * <code> + * array( + * 'myclass1': array(dates_to_apply_myclass1_to), + * 'myclass2': array(dates_to_apply_myclass2_to), + * ) + * </code> + * + * ...where "dates_to_apply_myclassx_to" is an array of dates in the same format as + * required for {@link disabled_dates} property. + * + * Custom classes will be applied <b>only</b> in the day picker view and not on + * month/year views! Also note that the class name will have the “_disabled” suffix + * added if the day the class is applied to is disabled. + * + * In order for the styles in your custom classes to be applied, make sure you are + * using the following syntax: + * + * <code> + * .Zebra_DatePicker .dp_daypicker td.myclass1 { .. } + * .Zebra_DatePicker .dp_daypicker td.myclass1_disabled { .. } + * </code> + * + * Default is FALSE, no custom classes + * + * @since 2.9.8 + * + * @return void + */ + function custom_classes($custom_classes) + { + + // set the date picker's attribute + $this->set_attributes(array('custom_classes' => $custom_classes)); + + } + + /** + * The position of the date picker relative to the element it is attached to. + * + * Note that, regardless of this setting, the date picker's position will be automatically adjusted to fit in the + * view port, if needed. + * + * <i>This property will be ignored if {@link always_visible} or {@link container} properties are set</i> + * + * <code> + * $date = $form->add('date', 'my_date'); + * + * // the date picker will open *below* the element is attached to + * $date->default_position('below'); + * </code> + * + * @param string $position The position of the date picker relative to the element it is attached to. + * + * Possible values are "above" and "below". + * + * Default is "above" + * + * @since 2.9.8 + * + * @return void + */ + function default_position($position) + { + + // set the date picker's attribute + $this->set_attributes(array('default_position' => $position)); + + } + + /** + * Direction of the calendar. + * + * <code> + * $obj = $form->add('date', 'mydate') + * + * // calendar starts tomorrow and seven days after that are selectable + * $obj->direction(array(1, 7)); + * + * // calendar starts today and seven days after that are selectable + * $obj->direction(array(true, 7)); + * + * // calendar starts on January 1st 2013 and has no ending date + * // (assuming "format" is YYYY-MM-DD) + * $obj->direction(array('2013-01-01', false)); + * + * // calendar ends today and starts on January 1st 2012 + * // assuming "format" is YYYY-MM-DD) + * $obj->direction(array(false, '2012-01-01')); + * </code> + * + * @param mixed $direction A positive or negative integer: + * + * - n (a positive integer) creates a future-only calendar beginning at n days + * after today; + * + * - -n (a negative integer) creates a past-only calendar ending at n days + * before today; + * + * - if n is 0, the calendar has no restrictions. + * + * Use boolean TRUE for a future-only calendar starting with today and use boolean + * FALSE for a past-only calendar ending today. + * + * You may also set this property to an array with two elements in the following + * combinations: + * + * - first item is boolean TRUE (calendar starts today), an integer > 0 (calendar + * starts n days after today), or a valid date given in the format defined by + * the "format" attribute (calendar starts at the specified date), and the second + * item is boolean FALSE (the calendar has no ending date), an integer > 0 (calendar + * ends n days after the starting date), or a valid date given in the format + * defined by the "format" attribute and which occurs after the starting date + * (calendar ends at the specified date) + * + * - first item is boolean FALSE (calendar ends today), an integer < 0 (calendar + * ends n days before today), or a valid date given in the format defined by the + * "format" attribute (calendar ends at the specified date), and the second item + * is an integer > 0 (calendar ends n days before the ending date), or a valid + * date given in the format defined by the "format" attribute and which occurs + * before the starting date (calendar starts at the specified date) + * + * + * Note that {@link disabled_dates()} will still apply! + * + * Default is 0 (no restrictions). + * + * @return void + */ + function direction($direction) + { + + // set the date picker's attribute + $this->set_attributes(array('direction' => $direction)); + + } + + /** + * Disables selection of specific dates or range of dates in the calendar. + * + * <code> + * $obj = $form->add('date', 'mydate') + * + * // disable January 1, 2012 + * $obj->disabled_dates(array('1 1 2012')); + * + * // disable all days in January 2012 + * $obj->disabled_dates(array('* 1 2012')); + * + * // disable January 1 through 10 in 2012 + * $obj->disabled_dates(array('1-10 1 2012')); + * + * // disable January 1 and 10 in 2012 + * $obj->disabled_dates(array('1,10 1 2012')); + * + * // disable 1 through 10, and then 20th, 22nd and 24th + * // of January through March for every year + * $obj->disabled_dates(array('1-10,20,22,24 1-3 *')); + * + * // disable all Saturdays and Sundays + * $obj->disabled_dates(array('* * * 0,6')); + * + * // disable 1st and 2nd of July 2012, + * // and all of August of 2012; + * $obj->disabled_dates(array('01 07 2012', '02 07 2012', '* 08 2012')); + * </code> + * + * @param array $disabled_dates An array of strings representing disabled dates. Values in the string have + * to be in the following format: "day month year weekday" where "weekday" is + * optional and can be 0-6 (Saturday to Sunday); The syntax is similar to + * cron's syntax: the values are separated by spaces and may contain * (asterisk) + * -&nbsp;(dash) and , (comma) delimiters. + * + * Default is FALSE, no disabled dates. + * + * @return void + */ + function disabled_dates($disabled_dates) { + + // set the date picker's attribute + $this->set_attributes(array('disabled_dates' => $disabled_dates)); + + } + + /** + * By default, Zebra_Form relies on {@link http://stefangabos.ro/jquery/zebra-datepicker/ Zebra_DatePicker} for + * {@link Zebra_Form_Date Date} controls. If you want to use a different date picker, you have to disable the + * built-in one by calling this method. + * + * <samp>Make sure the language used by the custom date picker is the same as the {@link language() language} of the + * library, or validation of the date will fail! + * + * Also, note that {@link format() format}, {@link direction() direction} and {@link disabled_dates() disabled dates} + * will still apply and will be taken into account when validating the date, but the other properties will be ignored + * as are specific to Zebra_DatePicker!</samp> + * + * @since 2.8.7 + * + * @return void + */ + function disable_zebra_datepicker() { + + $this->set_attributes(array('disable_zebra_datepicker' => true)); + + } + + /** + * Enables selection of specific dates or range of dates in the calendar, after dates have been previously disabled + * via {@link disabled_dates()}. + * + * @param array $enabled_dates An array of enabled dates in the same format as required for as argument for + * the {@link disabled_dates()} method. To be used together with + * {@link disabled_dates()} by first setting "disabled_dates" to something like + * array('* * * *') (which will disable everything) and then setting "enabled_dates" + * to, say, array('* * * 0,6') to enable just weekends. + * + * Default is FALSE, all dates are enabled (unless, specificaly disabled via + * {@link disabled_dates()}). + * + * @since 2.9.3 + * + * @return void + */ + function enabled_dates($enabled_dates) { + + // set the date picker's attribute + $this->set_attributes(array('enabled_dates' => $enabled_dates)); + + } + + /** + * Week's starting day. + * + * @param integer $day Valid values are 0 to 6, Sunday to Saturday. + * + * Default is 1, Monday. + * + * @return void + */ + function first_day_of_week($day) + { + + // set the date picker's attribute + $this->set_attributes(array('first_day_of_week' => $day)); + + } + + /** + * Sets the format of the returned date. + * + * @param string $format Format of the returned date. + * + * Accepts the following characters for date formatting: d, D, j, l, N, w, S, F, m, M, + * n, Y, y borrowing syntax from ({@link http://www.php.net/manual/en/function.date.php + * PHP's date function}) + * + * Note that when setting a date format without days (‘d’, ‘j’), the users will be able + * to select only years and months, and when setting a format without months and days + * (‘F’, ‘m’, ‘M’, ‘n’, ‘t’, ‘d’, ‘j’), the users will be able to select only years. + * + * Also note that the value of the "view" property (see below) may be overridden if it + * is the case: a value of "days" for the "view" property makes no sense if the date + * format doesn’t allow the selection of days. + * + * Default format is <b>Y-m-d</b> + * + * @return void + */ + function format($format) { + + // set the date picker's attribute + $this->set_attributes(array('format' => $format)); + + } + + /** + * <b>To be used after the form is submitted!</b> + * + * Returns submitted date in the YYYY-MM-DD format so that it's directly usable with a database engine or with + * PHP's {@link http://php.net/manual/en/function.strtotime.php strtotime} function. + * + * @return string Returns submitted date in the YYYY-MM-DD format, or <b>an empty string</b> if control was + * submitted with no value (empty). + */ + function get_date() + { + + $result = $this->get_attributes('date'); + + // if control had a value return it, or return an empty string otherwise + return (isset($result['date'])) ? $result['date'] : ''; + + } + + /** + * Captions in the datepicker's header, for the 3 possible views: days, months, years. + * + * For each of the 3 views the following special characters may be used borrowing from PHP's "date" function's + * syntax: m, n, F, M, y and Y; any of these will be replaced at runtime with the appropriate date fragment, depending + * on the currently viewed date. two more special characters are also available Y1 and Y2 (upper case representing + * years with 4 digits, lowercase representing years with 2 digits) which represent "currently selected year - 7" + * and "currently selected year + 4" and which only make sense used in the "years" view. + * + * Even though any of these special characters may be used in any of the 3 views, you should use m, n, F, M for the + * "days" view and y, Y, Y1, Y2, y1, y2 for the "months" and "years" view or you may get unexpected results! + * + * Text and HTML can also be used, and will be rendered as it is, as in the example below (the library is smart + * enough to not replace special characters when used in words or HTML tags): + * + * <code> + * header_captions(array( + * 'days' => 'Departure:<br>F, Y', + * 'months' => 'Departure:<br>Y', + * 'years' => 'Departure:<br>Y1 - Y2' + * )); + * </code> + * + * Default is + * + * <code> + * header_captions(array( + * 'days' => 'F, Y', + * 'months' => 'Y', + * 'years' => 'Y1 - Y2' + * )); + * </code> + * + * @param $captions An associative array containing captions in the datepicker's header, for the 3 possible + * views: days, months, years. + * + * @return void + */ + function header_captions($captions) + { + + // set the date picker's attribute + $this->set_attributes(array('header_captions' => $captions)); + + } + + /** + * Sets the HTML to be used for the previous month/next month buttons. + * + * @param $navigation An array with 2 elements containing the HTML to be used for the previous month/next month + * buttons. + * + * Default is array('&#171;','&#187;') + * + * @return void + */ + function header_navigation($navigation) + { + + // set the date picker's attribute + $this->set_attributes(array('header_navigation' => $navigation)); + + } + + /** + * The position of the date picker's inside the element it is attached to. + * + * <code> + * $date = $form->add('date', 'my_date'); + * + * // position the date picker's icon to the left + * $date->icon_position('left'); + * </code> + * + * @param string $position The position of the date picker's inside the element it is attached to. + * + * Possible values are "left" and "right". + * + * Default is "right" + * + * @since 2.9.8 + * + * @return void + */ + function icon_position($position) + { + + // set the date picker's attribute + $this->set_attributes(array('icon_position' => $position)); + + } + + /** + * Sets whether the icon for opening the datepicker should be inside or outside the element. + * + * @param boolean $value If set to FALSE, the icon will be placed to the right of the parent element, while + * if set to TRUE it will be placed to the right of the parent element, but *inside* the + * element itself. + * + * Default is TRUE. + * + * @return void + */ + function inside($value) { + + // set the date picker's attribute + // ("inside" is a "reserved" attribute so we'll pick something else) + $this->set_attributes(array('inside_icon' => $value)); + + } + + /** + * Sets the offset, in pixels (x, y), to shift the date picker’s position relative to the top-left of the icon that + * toggles the date picker. + * + * @param array $value An array indicating the offset, in pixels (x, y), to shift the date picker’s position + * relative to the top-left of the icon that toggles the date picker. + * + * Default is array(5, -5). + * + * @return void + */ + function offset($value) { + + // set the date picker's attribute + $this->set_attributes(array('offset' => $value)); + + } + + /** + * Sets whether the date picker should be shown *only* when clicking the icon. + * + * @param array $value An array indicating the offset, in pixels (x, y), to shift the date picker’s position + * relative to the top-left of the icon that toggles the date picker. + * + * Default is FALSE. + * + * @return void + */ + function open_icon_only($value) { + + // set the date picker's attribute + $this->set_attributes(array('open_icon_only' => $value)); + + } + + /** + * Pairs the date element with another date element from the page, so that the other date element will use the current + * date element’s value as starting date. + * + * <code> + * // let's assume this will be the starting date + * $date1 = $form->add('date', 'starting_date'); + * + * // dates are selectable in the future, starting with today + * $date1->direction(true); + * + * // indicate another date element that will use this + * // element's value as starting date + * $date1->pair('ending_date'); + * + * // the other date element + * $date2 = $form->add('date', 'ending_date'); + * + * // start one day after the reference date + * // (that is, one day after whaterver is selected in the first element) + * $date2->direction(1); + * </code> + * + * @param string $value The ID of another "date" element which will use the current date element's value as + * starting date. + * + * Note that the rules set in the "direction" property will still apply, only that the + * reference date will not be the current system date but the value selected in the + * current date picker. + * + * Default is FALSE (not paired with another date picker) + * + * @return void + */ + function pair($value) { + + // set the date picker's attribute + $this->set_attributes(array('pair' => '$(\'#' . $value . '\')')); + + } + + /** + * Sets whether the element the calendar is attached to should be read-only. + * + * @param boolean $value The setting's value + * + * If set to TRUE, a date can be set only through the date picker and cannot be enetered + * manually. + * + * Default is TRUE. + * + * @return void + */ + function readonly_element($value) { + + // set the date picker's attribute + $this->set_attributes(array('readonly_element' => $value)); + + } + + /** + * Should days from previous and/or next month be selectable when visible? + * + * @param string $value The setting's value + * + * Note that if set to TRUE, the value of {@link show_other_months()} will be considered + * TRUE regardless of the actual value! + * + * Default is TRUE. + * + * @since 2.9.3 + * + * @return void + */ + function select_other_months($value) { + + // set the date picker's attribute + $this->set_attributes(array('select_other_months' => $value)); + + } + + /** + * Should the "Clear date" button be visible? + * + * @param string $value The setting's value + * + * Accepted values are: + * + * - 0 (zero) – the button for clearing a previously selected date is shown only if a + * previously selected date already exists; this means that if the input the date + * picker is attached to is empty, and the user selects a date for the first time, + * this button will not be visible; once the user picked a date and opens the date + * picker again, this time the button will be visible. + * + * - TRUE will make the button visible all the time + * + * - FALSE will disable the button + * + * Default is "0" (without quotes) + * + * @return void + */ + function show_clear_date($value = 0) + { + + // set the date picker's attribute + $this->set_attributes(array('show_clear_date' => $value)); + + } + + /** + * Should a calendar icon be added to the elements the plugin is attached to? + * + * <code> + * $date = $form->add('date', 'my_date'); + * + * // do not show the icon + * $date->show_icon(false); + * </code> + * + * @param boolean $visible When set to TRUE the plugin will attach a calendar icon to the elements the plugin + * is attached to. + * + * Default is TRUE + * + * @since 2.9.8 + * + * @return void + */ + function show_icon($visible) + { + + // set the date picker's attribute + $this->set_attributes(array('show_icon' => $visible)); + + } + + /** + * Should days from previous and/or next month be visible? + * + * @param string $value The setting's value + * + * Default is TRUE. + * + * @since 2.9.3 + * + * @return void + */ + function show_other_months($value = true) { + + // set the date picker's attribute + $this->set_attributes(array('show_other_months' => $value)); + + } + + /** + * Should the "Today" button be visible? + * + * @param string $value The setting's value + * + * Setting this property to anything but a boolean FALSE will enable the button and + * will use the property's value as caption for the button; setting it to FALSE will + * disable the button. + * + * Default is "Today" + * + * @since 2.9.4 + * + * @return void + */ + function show_select_today($value = 'Today') + { + + // set the date picker's attribute + $this->set_attributes(array('show_select_today' => $value)); + + } + + /** + * Sets whether an extra column should be shown, showing the number of each week. + * + * @param string $value Anything other than FALSE will enable this feature, and use the given value as column + * title. For example, show_week_number: ‘Wk’ would enable this feature and have "Wk" as + * the column’s title. + * + * Default is FALSE. + * + * @return void + */ + function show_week_number($value) { + + // set the date picker's attribute + $this->set_attributes(array('show_week_number' => $value)); + + } + + /** + * Sets a default date to start the date picker with. + * + * @param date $value A default date to start the date picker with, + * + * Must be specified in the format defined by the "format" property, or it will be + * ignored! + * + * Note that this value is used only if there is no value in the field the date picker + * is attached to! + * + * Default is FALSE. + * + * @return void + */ + function start_date($value) { + + // set the date picker's attribute + $this->set_attributes(array('start_date' => $value)); + + } + + /** + * Sets whether default values, in the input field the date picker is attached to, be deleted if they are not valid + * according to {@link direction() direction} and/or {@link disabled_dates() disabled_dates}. + * + * @param boolean $value If set to TRUE, default values, in the input field the date picker is attached to, + * will be deleted if they are not valid according to {@link direction() direction} + * and/or {@link disabled_dates() disabled_dates}. + * + * Default is FALSE. + * + * @return void + */ + function strict($value) { + + // set the date picker's attribute + $this->set_attributes(array('strict' => $value)); + + } + + /** + * Sets how should the date picker start. + * + * @param string $view How should the date picker start. + * + * Valid values are "days", "months" and "years". + * + * Note that the date picker is always cycling days-months-years when clicking in the + * date picker's header, and years-months-days when selecting dates (unless one or more + * of the views are missing due to the date's format) + * + * Also note that the value of the "view" property may be overridden if the date's format + * requires so! (i.e. "days" for the "view" property makes no sense if the date format + * doesn't allow the selection of days) + * + * Default is "days". + * + * @return void + */ + function view($view) { + + // set the date picker's attribute + $this->set_attributes(array('view' => $view)); + + } + + /** + * Sets the days of the week that are to be considered as "weekend days". + * + * @param array $days An array of days of the week that are to be considered as "weekend days". + * + * Valid values are 0 to 6 (Sunday to Saturday). + * + * Default is array(0,6) (Saturday and Sunday). + * + * @return void + */ + function weekend_days($days) { + + // set the date picker's attribute + $this->set_attributes(array('weekend_days' => $days)); + + } + + /** + * Should day numbers < 10 be padded with zero? + * + * @param boolean $state When set to TRUE, day numbers < 10 will be prefixed with 0. + * + * Default is FALSE. + * + * @return void + */ + function zero_pad($state) { + + // set the date picker's attribute + $this->set_attributes(array('zero_pad' => $state)); + + } + + /** + * Generates the control's HTML code. + * + * <i>This method is automatically called by the {@link Zebra_Form::render() render()} method!</i> + * + * @return string The control's HTML code + */ + function toHTML() + { + + // all date controls must have the "date" rule set or we trigger an error + if (!isset($this->rules['date'])) _zebra_form_show_error('The control named <strong>"' . $this->attributes['name'] . '"</strong> in form <strong>"' . $this->form_properties['name'] . '"</strong> must have the <em>"date"</em> rule set', E_USER_ERROR); + + return ' + <div> + <input ' . $this->_render_attributes() . ($this->form_properties['doctype'] == 'xhtml' ? '/' : '') . '> + <div class="clear"></div> + </div> + '; + + } + + /** + * Initializes the datepicker's data so calculations for disabled dates can be done. + * + * Returns an array with two values: the first and the last selectable dates, as UNIX timestamps. + * + * If a value does not apply (i.e. no starting or no ending date), the value will be "0". + * + * @return array Returns an array with two values: the first and the last selectable dates, + * as UNIX timestamps. + * + * @access private + */ + function _init() + { + + // do these calculations only once + if (!isset($this->limits)) { + + // get current system date + $system_date = time(); + + // check if the calendar has any restrictions + + // calendar is future-only, starting today + // it means we have a starting date (the current system date), but no ending date + if ($this->attributes['direction'] === true) $this->first_selectable_date = $system_date; + + // calendar is past only, ending today + // it means we have an ending date (the reference date), but no starting date + else if ($this->attributes['direction'] === false) $this->last_selectable_date = $system_date; + + else if ( + + // if direction is not given as an array and the value is an integer > 0 + (!is_array($this->attributes['direction']) && (int)($this->attributes['direction']) > 0) || + + // or direction is given as an array + (is_array($this->attributes['direction']) && ( + + // and first entry is boolean TRUE + $this->attributes['direction'][0] === true || + // or a valid date + ($tmp_start_date = $this->_is_format_valid($this->attributes['direction'][0])) || + // or an integer > 0 + (is_numeric($this->attributes['direction'][0]) && $this->attributes['direction'][0] > 0) + + ) && ( + + // and second entry is boolean FALSE + $this->attributes['direction'][1] === false || + // or a valid date + ($tmp_end_date = $this->_is_format_valid($this->attributes['direction'][1])) || + // or integer >= 0 + (is_numeric($this->attributes['direction'][1]) && $this->attributes['direction'][1] >= 0) + + )) + + ) { + + // if an exact starting date was given, use that as a starting date + if (isset($tmp_start_date)) $this->first_selectable_date = $tmp_start_date; + + // otherwise + else + + // figure out the starting date + $this->first_selectable_date = strtotime('+' . (!is_array($this->attributes['direction']) ? (int)($this->attributes['direction']) : (int)($this->attributes['direction'][0] === true ? 0 : $this->attributes['direction'][0])) . ' day', $system_date); + + // if an exact ending date was given and the date is after the starting date, use that as a ending date + if (isset($tmp_end_date) && $tmp_end_date >= $this->first_selectable_date) $this->last_selectable_date = $tmp_end_date; + + // if have information about the ending date + else if (!isset($tmp_end_date) && $this->attributes['direction'][1] !== false && is_array($this->attributes['direction'])) + + // figure out the ending date + $this->last_selectable_date = strtotime('+' . (int)($this->attributes['direction'][1]) . ' day', $system_date); + + } else if ( + + // if direction is not given as an array and the value is an integer < 0 + (!is_array($this->attributes['direction']) && is_numeric($this->attributes['direction']) && $this->attributes['direction'] < 0) || + + // or direction is given as an array + (is_array($this->attributes['direction']) && ( + + // and first entry is boolean FALSE + $this->attributes['direction'][0] === false || + // or an integer < 0 + (is_numeric($this->attributes['direction'][0]) && $this->attributes['direction'][0] < 0) + + ) && ( + + // and second entry is integer >= 0 + (is_numeric($this->attributes['direction'][1]) && $this->attributes['direction'][1] >= 0) || + // or a valid date + ($tmp_start_date = $this->_is_format_valid($this->attributes['direction'][1])) + + )) + + ) { + + // figure out the ending date + $this->last_selectable_date = strtotime('+' . (!is_array($this->attributes['direction']) ? (int)($this->attributes['direction']) : (int)($this->attributes['direction'][0] === false ? 0 : $this->attributes['direction'][0])) . ' day', $system_date); + + // if an exact starting date was given, and the date is before the ending date, use that as a starting date + if (isset($tmp_start_date) && $tmp_start_date < $this->last_selectable_date) $this->first_selectable_date = $tmp_start_date; + + // if have information about the starting date + else if (!isset($tmp_start_date) && is_array($this->attributes['direction'])) + + // figure out the staring date + $this->first_selectable_date = strtotime('-' . (int)($this->attributes['direction'][1]) . ' day'); + + } + + // if a first selectable date exists + if (isset($this->first_selectable_date)) { + + // extract the date parts + $first_selectable_year = date('Y', $this->first_selectable_date); + $first_selectable_month = date('m', $this->first_selectable_date); + $first_selectable_day = date('d', $this->first_selectable_date); + + } + + // if a last selectable date exists + if (isset($this->last_selectable_date)) { + + // extract the date parts + $last_selectable_year = date('Y', $this->last_selectable_date); + $last_selectable_month = date('m', $this->last_selectable_date); + $last_selectable_day = date('d', $this->last_selectable_date); + + } + + // if a first selectable date exists but is disabled, find the actual first selectable date + if (isset($this->first_selectable_date) && $this->_is_disabled($first_selectable_year, $first_selectable_month, $first_selectable_day)) { + + // loop until we find the first selectable year + while ($this->_is_disabled($first_selectable_year)) { + + // if calendar is past-only, decrement the year + if ($this->first_selectable_date < 0 || $this->first_selectable_date === false) $first_selectable_year--; + + // otherwise, increment the year + else $first_selectable_year++; + + // because we've changed years, reset the month to January + $first_selectable_month = 1; + + } + + // loop until we find the first selectable month + while ($this->_is_disabled($first_selectable_year, $first_selectable_month)) { + + // if calendar is past-only, decrement the month + if ($this->first_selectable_date < 0 || $this->first_selectable_date === false) $first_selectable_month--; + + // otherwise, increment the month + else $first_selectable_month++; + + // if we moved to a following year + if ($first_selectable_month > 12) { + + // increment the year + $first_selectable_year++; + + // reset the month to January + $first_selectable_month = 1; + + // if we moved to a previous year + } else if ($first_selectable_month < 1) { + + // decrement the year + $first_selectable_year--; + + // reset the month to January + $first_selectable_month = 1; + + } + + // because we've changed months, reset the day to the first day of the month + $first_selectable_day = 1; + + } + + // loop until we find the first selectable day + while ($this->_is_disabled($first_selectable_year, $first_selectable_month, $first_selectable_day)) + + // if calendar is past-only, decrement the day + if ($this->first_selectable_date < 0 || $this->first_selectable_date === false) $first_selectable_day--; + + // otherwise, increment the day + else $first_selectable_day++; + + // use mktime() to normalize the date + // for example, 2011 05 33 will be transformed to 2011 06 02 + $this->first_selectable_date = mktime(12, 0, 0, $first_selectable_month, $first_selectable_day, $first_selectable_year); + + // re-extract date parts from the normalized date + // as we use them in the current loop + // extract the date parts + $first_selectable_year = date('Y', $this->first_selectable_date); + $first_selectable_month = date('m', $this->first_selectable_date); + $first_selectable_day = date('d', $this->first_selectable_date); + + } + + // save first and last selectable dates, as UNIX timestamps (or "0" if does not apply) + $this->limits = array(isset($this->first_selectable_date) ? $this->first_selectable_date : 0, isset($this->last_selectable_date) ? $this->last_selectable_date : 0); + + } + + // return first and last selectable dates, as UNIX timestamps (or "0" if does not apply) + return $this->limits; + + } + + /** + * Checks if the enetered value is a valid date in the right format. + * + * @return mixed Returns the UNIX timestamp of the checked date, if the date has the correct format, + * or FALSE otherwise. + * + * @access private + */ + function _is_format_valid($date) + { + + // the format we expect the date to be + // escape characters that would make sense as regular expression + $format = preg_quote($this->attributes['format']); + + // parse the format and extract the characters that define the format + // (note that we're also capturing the offsets) + preg_match_all('/[dDjlNSwFmMnYyGHghaAisU]{1}/', $format, $matches, PREG_OFFSET_CAPTURE); + + $regexp = array(); + + // iterate through the found characters + // and create the regular expression that we will use to see if the entered date is ok + foreach ($matches[0] as $match) { + + switch ($match[0]) { + + // day of the month, 2 digits with leading zeros, 01 to 31 + case 'd': $regexp[] = '0[1-9]|[12][0-9]|3[01]'; break; + + // a textual representation of a day, three letters, mon through sun + case 'D': $regexp[] = '[a-z]{3}'; break; + + // day of the month without leading zeros, 1 to 31 + case 'j': $regexp[] = '[1-9]|[12][0-9]|3[01]'; break; + + // a full textual representation of the day of the week, sunday through saturday + case 'l': $regexp[] = '[a-z]+'; break; + + // ISO-8601 numeric representation of the day of the week (added in PHP 5.1.0), 1 (for Monday) through 7 (for Sunday) + case 'N': $regexp[] = '[1-7]'; break; + + // english ordinal suffix for the day of the month, 2 characters: st, nd, rd or th. works well with j + case 'S': $regexp[] = 'st|nd|rd|th'; break; + + // numeric representation of the day of the week, 0 (for sunday) through 6 (for saturday) + case 'w': $regexp[] = '[0-6]'; break; + + // a full textual representation of a month, such as january or march + case 'F': $regexp[] = '[a-z]+'; break; + + // numeric representation of a month, with leading zeros, 01 through 12 + case 'm': $regexp[] = '0[1-9]|1[012]+'; break; + + // a short textual representation of a month, three letters, jan through dec + case 'M': $regexp[] = '[a-z]{3}'; break; + + // numeric representation of a month, without leading zeros, 1 through 12 + case 'n': $regexp[] = '[1-9]|1[012]'; break; + + // a full numeric representation of a year, 4 digits examples: 1999 or 2003 + case 'Y': $regexp[] = '[0-9]{4}'; break; + + // a two digit representation of a year examples: 99 or 03 + case 'y': $regexp[] = '[0-9]{2}'; break; + + // 24-hour format of an hour without leading zeros, 0 through 23 + case 'G': $regexp[] = '[0-9]|1[0-9]|2[0-3]'; break; + + // 24-hour format of an hour with leading zeros, 00 through 23 + case 'H': $regexp[] = '0[0-9]|1[0-9]|2[0-3]'; break; + + // 12-hour format of an hour without leading zeros, 1 through 12 + case 'g': $regexp[] = '[0-9]|1[0-2]'; break; + + // 12-hour format of an hour with leading zeros, 01 through 12 + case 'h': $regexp[] = '0[0-9]|1[0-2]'; break; + + // lowercase ante meridiem and post meridiem am or pm + case 'a': + case 'A': $regexp[] = '(am|pm)'; break; + + // minutes with leading zeros, 00 to 59 + case 'i': $regexp[] = '[0-5][0-9]'; break; + + // seconds, with leading zeros 00 through 59 + case 's': $regexp[] = '[0-5][0-9]'; break; + + } + + } + + // if format is defined + if (!empty($regexp)) { + + // we will replace every format-related character in the format expression with + // the appropriate regular expression in order to see that valid data was entered + // as required by the character + // we are replacing from finish to start so that we don't mess up the offsets + // therefore, we need to reverse the array first + $matches[0] = array_reverse($matches[0]); + + // how many characters to replace + $chars = count($matches[0]); + + // iterate through the characters + foreach ($matches[0] as $index => $char) + + // and replace them with the appropriate regular expression + $format = substr_replace($format, '(' . $regexp[$chars - $index - 1] . ')', $matches[0][$index][1], 1); + + // the final regular expression to math the date against + $format = '/^' . str_replace('/', '\/', $format) . '$/i'; + + // if entered value seems to be ok + if (preg_match($format, $date, $segments)) { + + $original_day = $original_month = $original_year = 0; + $original_hour = $original_minute = $original_second = $original_format = -1; + + // english names for days and months + $english_days = array('Sunday','Monday','Tuesday','Wednesday','Thursday','Friday','Saturday'); + $english_months = array('January','February','March','April','May','June','July','August','September','October','November','December'); + + // reverse the characters in the format (remember that we reversed them above) + $matches[0] = array_reverse($matches[0]); + + $valid = true; + + // iterate through the characters in the format + // to see if years, months, days, hours, minutes and seconds are correct + // i.e. if for month we entered "abc" it would pass our regular expression but + // now we will check if the three letter text is an actual month + foreach ($matches[0] as $index => $match) { + + switch ($match[0]) { + + // numeric representation of a month, with leading zeros, 01 through 12 + case 'm': + // numeric representation of a month, without leading zeros, 1 through 12 + case 'n': + + $original_month = (int)($segments[$index + 1] - 1); + + break; + + // day of the month, 2 digits with leading zeros, 01 to 31 + case 'd': + // day of the month without leading zeros, 1 to 31 + case 'j': + + $original_day = (int)($segments[$index + 1]); + + break; + + // a textual representation of a day, three letters, mon through sun + case 'D': + // a full textual representation of the day of the week, sunday through saturday + case 'l': + // a full textual representation of a month, such as january or march + case 'F': + // a short textual representation of a month, three letters, jan through dec + case 'M': + + // by default, we assume that the text is invalid + $valid = false; + + // iterate through the values in the language file + foreach ($this->form_properties['language'][($match[0] == 'F' || $match[0] == 'M' ? 'months' : 'days')] as $key => $value) { + + // if value matches the value from the language file + if (strtolower($segments[$index + 1]) == strtolower(substr($value, 0, ($match[0] == 'D' || $match[0] == 'M' ? 3 : strlen($value))))) { + + // replace with the english value + // this is because later on we'll run strtotime of the entered value and strtotime parses english dates + switch ($match[0]) { + case 'D': $segments[$index + 1] = substr($english_days[$key], 0, 3); break; + case 'l': $segments[$index + 1] = $english_days[$key]; break; + case 'F': $segments[$index + 1] = $english_months[$key]; $original_month = $key; break; + case 'M': $segments[$index + 1] = substr($english_months[$key], 0, 3); $original_month = $key; break; + } + + // flag the value as valid + $valid = true; + + // don't look further + break; + + } + + } + + // if an invalid was found don't look any further + if (!$valid) break 2; + + break; + + // a full numeric representation of a year, 4 digits examples: 1999 or 2003 + case 'Y': + + $original_year = (int)($segments[$index + 1]); + + break; + + // a two digit representation of a year examples: 99 or 03 + case 'y': + + $original_year = (int)('19' . $segments[$index + 1]); + + break; + + // 24-hour format of an hour without leading zeros, 0 through 23 + case 'G': + // 24-hour format of an hour with leading zeros, 00 through 23 + case 'H': + // 12-hour format of an hour without leading zeros, 1 through 12 + case 'g': + // 12-hour format of an hour with leading zeros, 01 through 12 + case 'h': + + $original_hour = (int)($segments[$index + 1]); + + break; + + // lowercase ante meridiem and post meridiem am or pm + case 'a': + case 'A': + + $original_format = $segments[$index + 1]; + + break; + + // minutes with leading zeros, 00 to 59 + case 'i': + + $original_minute = (int)($segments[$index + 1]); + + break; + + // seconds, with leading zeros 00 through 59 + case 's': + + $original_second = (int)($segments[$index + 1]); + + break; + + } + + } + + // if entered value seems valid + if ($valid) { + + // if date format does not include day, make day = 1 + if ($original_day == 0) $original_day = 1; + + // if date format does not include month, make month = 0 (January) + if ($original_month == 0) $original_month = 0; + + // if date format does not include year, use the current year + if ($original_year == 0) $original_year = date('Y'); + + // if date is still valid after we process it with strtotime + // (we do this because, so far, a date like "Feb 31 2010" would be valid + // but strtotime would turn that to "Mar 03 2010") + if ( + + $english_months[$original_month] . ' ' . str_pad($original_day, 2, '0', STR_PAD_LEFT) . ', ' . $original_year == + date('F d, Y', strtotime($english_months[$original_month] . ' ' . $original_day . ', ' . $original_year)) + + ) { + + // make sure we also return the date as YYYY-MM-DD so that it can be + // easily used with a database or with PHP's strtotime function + $this->attributes['date'] = $original_year . '-' . str_pad($original_month + 1, 2, '0', STR_PAD_LEFT) . '-' . str_pad($original_day, 2, '0', STR_PAD_LEFT); + + return strtotime($original_year . '-' . ($original_month + 1) . '-' . $original_day); + + } + + } + + } + + } + + // if script gets this far, return FALSE as something must've been wrong + return false; + + } + + /** + * Checks if, according to the restrictions of the calendar and/or the values defined by the "disabled_dates" + * property, a day, a month or a year needs to be disabled. + * + * @param integer $year The year to check + * @param integer $month The month to check + * @param integer $day The day to check + * + * @return boolean Returns TRUE if the given value is not disabled or FALSE otherwise + * + * @access private + */ + function _is_disabled($year, $month = '', $day = '') + { + + // parse the rules for disabling dates and turn them into arrays of arrays + if (!isset($this->disabled_dates)) { + + // array that will hold the rules for disabling dates + $this->disabled_dates = array(); + + // if disabled dates is an array and is not empty + if (is_array($this->attributes['disabled_dates']) && !empty($this->attributes['disabled_dates'])) + + // iterate through the rules for disabling dates + foreach ($this->attributes['disabled_dates'] as $value) { + + // split the values in rule by white space + $rules = explode(' ', $value); + + // there can be a maximum of 4 rules (days, months, years and, optionally, day of the week) + for ($i = 0; $i < 4; $i++) { + + // if one of the values is not available + // replace it with a * (wildcard) + if (!isset($rules[$i])) $rules[$i] = '*'; + + // if rule contains a comma, create a new array by splitting the rule by commas + // if there are no commas create an array containing the rule's string + $rules[$i] = (strpos($rules[$i], ',') !== false ? explode(',', $rules[$i]) : (array)$rules[$i]); + + // iterate through the items in the rule + for ($j = 0; $j < count($rules[$i]); $j++) + + // if item contains a dash (defining a range) + if (strpos($rules[$i][$j], '-') !== false) { + + // get the lower and upper limits of the range + // if range is valid + if (preg_match('/^([0-9]+)\-([0-9]+)/', $rules[$i][$j], $limits) > 0) { + + // remove the range indicator + array_splice($rules[$i], $j, 1); + + // iterate through the range + for ($k = $limits[1]; $k <= $limits[2]; $k++) + + // if value is not already among the values of the rule + // add it to the rule + if (!in_array($k, $rules[$i])) $rules[$i][] = (int)$k; + + } + + // make sure to convert things like "01" to "1" + } elseif ($rules[$i][$j] != '*') $rules[$i][$j] = (int)$rules[$i][$j]; + + } + + // add to the list of processed rules + $this->disabled_dates[] = $rules; + + } + + } + + // if calendar has direction restrictions + if (!(!is_array($this->attributes['direction']) && (int)($this->attributes['direction']) === 0)) { + + // if a first selectable date exists + if (isset($this->first_selectable_date)) { + + // extract the date parts + $first_selectable_year = date('Y', $this->first_selectable_date); + $first_selectable_month = date('m', $this->first_selectable_date); + $first_selectable_day = date('d', $this->first_selectable_date); + + } + + // if a last selectable date exists + if (isset($this->last_selectable_date)) { + + // extract the date parts + $last_selectable_year = date('Y', $this->last_selectable_date); + $last_selectable_month = date('m', $this->last_selectable_date); + $last_selectable_day = date('d', $this->last_selectable_date); + + } + + // normalize and merge arguments then transform the result to an integer + $now = $year . ($month != '' ? str_pad($month, 2, '0', STR_PAD_LEFT) : '') . ($day != '' ? str_pad($day, 2, '0', STR_PAD_LEFT) : ''); + + // if we're checking days + if (strlen($now) == 8 && ( + + // day is before the first selectable date + (isset($this->first_selectable_date) && $now < $first_selectable_year . $first_selectable_month . $first_selectable_day) || + + // or day is after the last selectable date + (isset($this->last_selectable_date) && $now > $last_selectable_year . $last_selectable_month . $last_selectable_day) + + // day needs to be disabled + )) return true; + + // if we're checking months + else if (strlen($now) == 6 && ( + + // month is before the first selectable month + (isset($this->first_selectable_date) && $now < $first_selectable_year . $first_selectable_month) || + + // or month is after the last selectable month + (isset($this->last_selectable_date) && $now > $last_selectable_year . $last_selectable_month) + + // month needs to be disabled + )) return true; + + // if we're checking years + else if (strlen($now) == 4 && ( + + // year is before the first selectable year + (isset($this->first_selectable_date) && $now < $first_selectable_year) || + + // or year is after the last selectable year + (isset($this->last_selectable_date) && $now > $last_selectable_year) + + // year needs to be disabled + )) return true; + + } + + // if there are rules for disabling dates + if (isset($this->disabled_dates)) { + + // by default, we assume the day/month/year is not to be disabled + $disabled = false; + + // iterate through the rules for disabling dates + foreach ($this->disabled_dates as $rule) { + + // if the date is to be disabled, don't look any further + if ($disabled) return; + + // if the rules apply for the current year + if (in_array($year, $rule[2]) || in_array('*', $rule[2], true)) + + // if the rules apply for the current month + if (($month != '' && in_array($month, $rule[1])) || in_array('*', $rule[1], true)) + + // if the rules apply for the current day + if (($day != '' && in_array($day, $rule[0])) || in_array('*', $rule[0], true)) { + + + // if day is to be disabled whatever the day + // don't look any further + if (in_array('*', $rule[3], true)) return ($disabled = true); + + // get the weekday + $weekday = date('w', mktime(12, 0, 0, $month, $day, $year)); + + // if weekday is to be disabled + // don't look any further + if (in_array($weekday, $rule[3])) return ($disabled = true); + + } + + } + + // if the day/month/year needs to be disabled + if ($disabled) return true; + + } + + // if script gets this far it means that the day/month/year doesn't need to be disabled + return false; + + } + +} + +?> diff --git a/vendor/stefangabos/zebra_form/includes/File.php b/vendor/stefangabos/zebra_form/includes/File.php new file mode 100644 index 00000000..145192f5 --- /dev/null +++ b/vendor/stefangabos/zebra_form/includes/File.php @@ -0,0 +1,185 @@ +<?php + +/** + * Class for file upload controls. + * + * @author Stefan Gabos <contact@stefangabos.ro> + * @copyright (c) 2006 - 2016 Stefan Gabos + * @package Controls + */ +class Zebra_Form_File extends Zebra_Form_Control +{ + + /** + * Adds an <input type="file"> control to the form. + * + * <b>Do not instantiate this class directly! Use the {@link Zebra_Form::add() add()} method instead!</b> + * + * <code> + * // create a new form + * $form = new Zebra_Form('my_form'); + * + * // add a file upload control to the form + * $obj = $form->add('file', 'my_file_upload'); + * + * // don't forget to always call this method before rendering the form + * if ($form->validate()) { + * + * // all the information about the uploaded file will be + * // available in the "file_upload" property + * print_r('<pre>'); + * print_r($form->file_upload['my_file_upload']); + * + * } + * + * // output the form using an automatically generated template + * $form->render(); + * </code> + * + * @param string $id Unique name to identify the control in the form. + * + * The control's <b>name</b> attribute will be the same as the <b>id</b> attribute! + * + * This is the name to be used when referring to the control's value in the + * POST/GET superglobals, after the form is submitted. + * + * This is also the name of the variable to be used in custom template files, in + * order to display the control. + * + * <code> + * // in a template file, in order to print the generated HTML + * // for a control named "my_file_upload", one would use: + * echo $my_file_upload; + * </code> + * + * @param array $attributes (Optional) An array of attributes valid for + * {@link http://www.w3.org/TR/REC-html40/interact/forms.html#h-17.4 input} + * controls (size, readonly, style, etc) + * + * Must be specified as an associative array, in the form of <i>attribute => value</i>. + * <code> + * // setting the "disabled" attribute + * $obj = $form->add( + * 'file', + * 'my_file_upload', + * '', + * array( + * 'disabled' => 'disabled' + * ) + * ); + * </code> + * + * See {@link Zebra_Form_Control::set_attributes() set_attributes()} on how to set + * attributes, other than through the constructor. + * + * The following attributes are automatically set when the control is created and + * should not be altered manually:<br> + * + * <b>type</b>, <b>id</b>, <b>name</b>, <b>class</b> + * + * @return void + */ + function __construct($id, $attributes = '') + { + + // call the constructor of the parent class + parent::__construct(); + + // set the private attributes of this control + // these attributes are private for this control and are for internal use only + // and will not be rendered by the _render_attributes() method + $this->private_attributes = array( + + 'disable_xss_filters', + 'locked', + 'files', + + ); + + // set the default attributes for the text control + // put them in the order you'd like them rendered + $this->set_attributes( + + array( + + 'type' => 'file', + 'name' => $id, + 'id' => $id, + 'class' => 'control file', + + ) + + ); + + // if "class" is amongst user specified attributes + if (is_array($attributes) && isset($attributes['class'])) { + + // we need to set the "class" attribute like this, so it doesn't overwrite previous values + $this->set_attributes(array('class' => $attributes['class']), false); + + // make sure we don't set it again below + unset($attributes['class']); + + } + + // sets user specified attributes for the control + $this->set_attributes($attributes); + + } + + /** + * Generates the control's HTML code. + * + * <i>This method is automatically called by the {@link Zebra_Form::render() render()} method!</i> + * + * @return string The control's HTML code + */ + function toHTML() + { + + // all file upload controls must have the "upload" rule set or we trigger an error + if (!isset($this->rules['upload'])) _zebra_form_show_error('The control named <strong>"' . $this->attributes['name'] . '"</strong> in form <strong>"' . $this->form_properties['name'] . '"</strong> must have the <em>"upload"</em> rule set', E_USER_ERROR); + + // if the "image" rule is set + if (isset($this->rules['image'])) + + // these are the allowed file extensions + $allowed_file_types = array('jpe', 'jpg', 'jpeg', 'png', 'gif'); + + // if the "filetype" rule is set + elseif (isset($this->rules['filetype'])) + + // get the array of allowed file extensions + $allowed_file_types = array_map(create_function('$value', 'return trim($value);'), explode(',', $this->rules['filetype'][0])); + + // if file selection should be restricted to certain file types + if (isset($allowed_file_types)) { + + $mimes = array(); + + // iterate through allowed extensions + foreach ($allowed_file_types as $extension) + + // get the mime type for each extension + if (isset($this->form_properties['mimes'][$extension])) + + $mimes = array_merge($mimes, (array)$this->form_properties['mimes'][$extension]); + + // set the "accept" attribute + // see http://www.whatwg.org/specs/web-apps/current-work/multipage/states-of-the-type-attribute.html#file-upload-state-%28type=file%29 + // at the time of writing, on December 30, 2012, this was only working on Chrome 23 and IE 10 + $this->set_attributes(array('accept' => '.' . implode(',.', $allowed_file_types) . ',' . implode(',', $mimes))); + + } + + // show the file upload control + $output = '<input ' . $this->_render_attributes() . ($this->form_properties['doctype'] == 'xhtml' ? '/' : '') . '>'; + + // return the generated output + return $output; + + } + +} + +?> diff --git a/vendor/stefangabos/zebra_form/includes/Hidden.php b/vendor/stefangabos/zebra_form/includes/Hidden.php new file mode 100644 index 00000000..f6d29a49 --- /dev/null +++ b/vendor/stefangabos/zebra_form/includes/Hidden.php @@ -0,0 +1,102 @@ +<?php + +/** + * Class for hidden controls. + * + * @author Stefan Gabos <contact@stefangabos.ro> + * @copyright (c) 2006 - 2016 Stefan Gabos + * @package Controls + */ +class Zebra_Form_Hidden extends Zebra_Form_Control +{ + + /** + * Adds an <input type="hidden"> control to the form. + * + * <b>Do not instantiate this class directly! Use the {@link Zebra_Form::add() add()} method instead!</b> + * + * <code> + * // create a new form + * $form = new Zebra_Form('my_form'); + * + * // add a hidden control to the form + * $obj = $form->add('hidden', 'my_hidden', 'Secret value'); + * + * // don't forget to always call this method before rendering the form + * if ($form->validate()) { + * // put code here + * } + * + * // output the form using an automatically generated template + * $form->render(); + * </code> + * + * @param string $id Unique name to identify the control in the form. + * + * The control's <b>name</b> attribute will be the same as the <b>id</b> attribute! + * + * This is the name to be used when referring to the control's value in the + * POST/GET superglobals, after the form is submitted. + * + * <b>Hidden controls are automatically rendered when the {@link Zebra_Form::render() render()} + * method is called!</b><br> + * <b>Do not print them in template files!</b> + * + * @param string $default (Optional) Default value of the text box. + * + * @return void + */ + function __construct($id, $default = '') + { + + // call the constructor of the parent class + parent::__construct(); + + // set the private attributes of this control + // these attributes are private for this control and are for internal use only + // and will not be rendered by the _render_attributes() method + $this->private_attributes = array( + + 'disable_xss_filters', + 'locked', + + ); + + // set the default attributes for the hidden control + // put them in the order you'd like them rendered + + // notice that if control's name is 'MAX_FILE_SIZE' we'll generate a random ID attribute for the control + // as, with multiple forms having upload controls on them, this hidden control appears as many times as the + // forms do and we don't want to have the same ID assigned to multiple controls + $this->set_attributes( + + array( + + 'type' => 'hidden', + 'name' => $id, + 'id' => ($id != 'MAX_FILE_SIZE' ? $id : 'mfs_' . rand(0, 100000)), + 'value' => $default, + + ) + + ); + + } + + /** + * Generates the control's HTML code. + * + * <i>This method is automatically called by the {@link Zebra_Form::render() render()} method!</i> + * + * @return string The control's HTML code + */ + function toHTML() + { + + return '<input ' . $this->_render_attributes() . ($this->form_properties['doctype'] == 'xhtml' ? '/' : '') . '>'; + + } + +} + +?> diff --git a/vendor/stefangabos/zebra_form/includes/Image.php b/vendor/stefangabos/zebra_form/includes/Image.php new file mode 100644 index 00000000..fa64d020 --- /dev/null +++ b/vendor/stefangabos/zebra_form/includes/Image.php @@ -0,0 +1,144 @@ +<?php + +/** + * Class for image controls. + * + * @author Stefan Gabos <contact@stefangabos.ro> + * @copyright (c) 2006 - 2016 Stefan Gabos + * @package Controls + */ +class Zebra_Form_Image extends Zebra_Form_Control +{ + + /** + * Adds an <input type="image"> control to the form. + * + * <b>Do not instantiate this class directly! Use the {@link Zebra_Form::add() add()} method instead!</b> + * + * <code> + * // create a new form + * $form = new Zebra_Form('my_form'); + * + * // add an image control to the form + * $obj = $form->add('image', 'my_image', 'path/to/image'); + * + * // don't forget to always call this method before rendering the form + * if ($form->validate()) { + * // put code here + * } + * + * // output the form using an automatically generated template + * $form->render(); + * </code> + * + * @param string $id Unique name to identify the control in the form. + * + * The control's <b>name</b> attribute will be the same as the <b>id</b> attribute! + * + * This is the name to be used when referring to the control's value in the + * POST/GET superglobals, after the form is submitted. + * + * This is also the name of the variable to be used in custom template files, in + * order to display the control. + * + * <code> + * // in a template file, in order to print the generated HTML + * // for a control named "my_image", one would use: + * echo $my_image; + * </code> + * + * @param string $src (Optional) Path to an image file. + * + * @param array $attributes (Optional) An array of attributes valid for + * {@link http://www.w3.org/TR/REC-html40/interact/forms.html#h-17.4 input} + * controls (size, readonly, style, etc) + * + * Must be specified as an associative array, in the form of <i>attribute => value</i>. + * <code> + * // setting the "alt" attribute + * $obj = $form->add( + * 'image', + * 'my_image', + * 'path/to/image', + * array( + * 'alt' => 'Click to submit form' + * ) + * ); + * </code> + * + * See {@link Zebra_Form_Control::set_attributes() set_attributes()} on how to set + * attributes, other than through the constructor. + * + * The following attributes are automatically set when the control is created and + * should not be altered manually:<br> + * + * <b>type</b>, <b>id</b>, <b>name</b>, <b>src</b>, <b>class</b> + * + * @return void + */ + function __construct($id, $src, $attributes = '') + { + + // call the constructor of the parent class + parent::__construct(); + + // set the private attributes of this control + // these attributes are private for this control and are for internal use only + // and will not be rendered by the _render_attributes() method + $this->private_attributes = array( + + 'disable_xss_filters', + 'locked', + + ); + + // set the default attributes for the image control + // put them in the order you'd like them rendered + $this->set_attributes( + + array( + + 'alt' => $id, + 'class' => 'image', + 'id' => $id, + 'name' => $id, + 'src' => $src, + 'type' => 'image', + + ) + + ); + + // if "class" is amongst user specified attributes + if (is_array($attributes) && isset($attributes['class'])) { + + // we need to set the "class" attribute like this, so it doesn't overwrite previous values + $this->set_attributes(array('class' => $attributes['class']), false); + + // make sure we don't set it again below + unset($attributes['class']); + + } + + // sets user specified attributes for the table cell + $this->set_attributes($attributes); + + } + + /** + * Generates the control's HTML code. + * + * <i>This method is automatically called by the {@link Zebra_Form::render() render()} method!</i> + * + * @return string The control's HTML code + */ + function toHTML() + { + + return '<input ' . $this->_render_attributes() . ($this->form_properties['doctype'] == 'xhtml' ? '/' : '') . '>'; + + } + +} + +?> diff --git a/vendor/stefangabos/zebra_form/includes/Label.php b/vendor/stefangabos/zebra_form/includes/Label.php new file mode 100644 index 00000000..9ecbfa04 --- /dev/null +++ b/vendor/stefangabos/zebra_form/includes/Label.php @@ -0,0 +1,192 @@ +<?php + +/** + * Class for labels + * + * @author Stefan Gabos <contact@stefangabos.ro> + * @copyright (c) 2006 - 2016 Stefan Gabos + * @package Controls + */ +class Zebra_Form_Label extends Zebra_Form_Control +{ + + /** + * Add an <label> control to the form. + * + * <b>Do not instantiate this class directly! Use the {@link Zebra_Form::add() add()} method instead!</b> + * + * <code> + * // create a new form + * $form = new Zebra_Form('my_form'); + * + * // add a label, attached to a textbox control + * $form->add('label', 'label_my_text', 'my_text', 'Enter some text:'); + * + * // add a text control to the form + * $obj = $form->add('text', 'my_text'); + * + * // don't forget to always call this method before rendering the form + * if ($form->validate()) { + * // put code here + * } + * + * // output the form using an automatically generated template + * $form->render(); + * </code> + * + * @param string $id Unique name to identify the control in the form. + * + * This is the name of the variable to be used in the template file, containing + * the generated HTML for the control. + * + * <code> + * // in a template file, in order to print the generated HTML + * // for a control named "my_label", one would use: + * echo $my_label; + * </code> + * + * @param string $attach_to The <b>id</b> attribute of the control to attach the note to. + * + * <i>Notice that this must be the "id" attribute of the control you are attaching + * the label to, and not the "name" attribute!</i> + * + * This is important as while most of the controls have their <b>id</b> attribute + * set to the same value as their <b>name</b> attribute, for {@link Zebra_Form_Checkbox checkboxes}, + * {@link Zebra_Form_Select selects} and {@link Zebra_Form_Radio radio&nbsp;buttons} this + * is different. + * + * <b>Exception to the rule:</b> + * + * Just like in the case of {@link Zebra_Form_Note notes}, if you want a <b>master</b> + * label, a label that is attached to a <b>group</b> of checkboxes/radio buttons + * rather than individual controls, this attribute must instead refer to the <b>name</b> + * of the controls (which, for groups of checkboxes/radio buttons, is one and the same). + * This is important because if the group of checkboxes/radio buttons have the + * <i>required</i> rule set, this is the only way in which the "required" symbol + * (the red asterisk) will be attached to the master label instead of being attached + * to the first checkbox/radio button from the group. + * + * @param mixed $caption Caption of the label. + * + * <i>Putting a $ (dollar) sign before a character will turn that specific character into + * the accesskey.</i><br> + * <i>If you need the dollar sign in the label, escape it with</i> \ <i>(backslash)</i> + * + * @param array $attributes (Optional) An array of attributes valid for + * {@link http://www.w3.org/TR/REC-html40/interact/forms.html#edef-LABEL label} + * elements (style, etc) + * + * Must be specified as an associative array, in the form of <i>attribute => value</i>. + * <code> + * // setting the "style" attribute + * $obj = $form->add( + * 'label', + * 'label_my_text', + * 'my_text', + * 'My Label:' + * array( + * 'style' => 'font-weight: normal' + * ) + * ); + * </code> + * + * <b>Special attribute:</b> + * + * When setting the special attribute <b>inside</b> to <b>true</b>, the label will + * appear inside the control is attached to (if the control the label is attached to + * is a {@link Zebra_Form_Text textbox} or a {@link Zebra_Form_Textarea textarea}) and + * will disappear when the control will receive focus. When the "inside" attribute is + * set to TRUE, the label will not be available in the template file as it will be + * contained by the control the label is attached to! + * + * <code> + * $form->add('label', 'my_label', 'my_control', 'My Label:', array('inside' => true)); + * </code> + * + * <samp>Sometimes, when using floats, the inside-labels will not be correctly positioned + * as jQuery will return invalid numbers for the parent element's position; If this is + * the case, make sure you enclose the form in a div with position:relative to fix + * this issue.</samp> + * + * See {@link Zebra_Form_Control::set_attributes() set_attributes()} on how to set + * attributes, other than through the constructor. + * + * The following attributes are automatically set when the control is created and + * should not be altered manually:<br> + * <b>id</b>, <b>for</b> + * + * @return void + */ + function __construct($id, $attach_to, $caption, $attributes = '') + { + + // call the constructor of the parent class + parent::__construct(); + + // set the private attributes of this control + // these attributes are private for this control and are for internal use only + // set the private attributes of this control + // these attributes are private for this control and are for internal use only + $this->private_attributes = array( + + 'disable_xss_filters', + 'for_group', + 'inside', + 'label', + 'locked', + 'name', + 'type', + + ); + + // set the default attributes for the label + $this->set_attributes( + + array( + + 'for' => $attach_to, + 'id' => $id, + 'label' => $caption, + 'name' => $id, + 'type' => 'label', + + ) + + ); + + // sets user specified attributes for the table cell + $this->set_attributes($attributes); + + } + + /** + * Generates the control's HTML code. + * + * <i>This method is automatically called by the {@link Zebra_Form::render() render()} method!</i> + * + * @return string The control's HTML code + */ + function toHTML() + { + + // get private attributes + $attributes = $this->get_attributes('label'); + + // if access key needs to be showed + if (preg_match('/(?<!\\\)\$(.{1})/', $attributes['label'], $matches) > 0) { + + // set the requested accesskey + $this->set_attributes(array('accesskey' => strtolower($matches[1]))); + + // make the accesskey visible + $attributes['label'] = preg_replace('/\$(.{1})/', '<span class="underline">$1</span>', $attributes['label']); + + } + + return '<label ' . $this->_render_attributes() . '>' . preg_replace('/\\\\\$/', '$', $attributes['label']) . '</label>'; + + } + +} + +?> diff --git a/vendor/stefangabos/zebra_form/includes/Note.php b/vendor/stefangabos/zebra_form/includes/Note.php new file mode 100644 index 00000000..78fe0a5d --- /dev/null +++ b/vendor/stefangabos/zebra_form/includes/Note.php @@ -0,0 +1,163 @@ +<?php + +/** + * Class for notes attached to controls + * + * @author Stefan Gabos <contact@stefangabos.ro> + * @copyright (c) 2006 - 2016 Stefan Gabos + * @package Controls + */ +class Zebra_Form_Note extends Zebra_Form_Control +{ + + /** + * Adds a "note" to the form, attached to a control. + * + * <b>Do not instantiate this class directly! Use the {@link Zebra_Form::add() add()} method instead!</b> + * + * <code> + * // create a new form + * $form = new Zebra_Form('my_form'); + * + * // add a text control to the form + * $obj = $form->add('text', 'my_text'); + * + * // attach a note to the textbox control + * $form->add('note', 'note_my_text', 'my_text', 'Enter some text in the field above'); + * + * // don't forget to always call this method before rendering the form + * if ($form->validate()) { + * // put code here + * } + * + * // output the form using an automatically generated template + * $form->render(); + * </code> + * + * @param string $id Unique name to identify the control in the form. + * + * This is the name of the variable to be used in the template file, containing + * the generated HTML for the control. + * + * <code> + * // in a template file, in order to print the generated HTML + * // for a control named "my_note", one would use: + * echo $my_note; + * </code> + * + * @param string $attach_to The <b>id</b> attribute of the control to attach the note to. + * + * <i>Notice that this must be the "id" attribute of the control you are attaching + * the label to, and not the "name" attribute!</i> + * + * This is important as while most of the controls have their <b>id</b> attribute + * set to the same value as their <b>name</b> attribute, for {@link Zebra_Form_Checkbox checkboxes}, + * {@link Zebra_Form_Select selects} and {@link Zebra_Form_Radio radio&nbsp;buttons} this + * is different. + * + * <b>Exception to the rule:</b> + * + * Just like in the case of {@link Zebra_Form_Label labels}, if you want a <b>master</b> + * note, a note that is attached to a <b>group</b> of checkboxes/radio buttons rather than + * individual controls, this attribute must instead refer to the <b>name</b> of the + * controls (which, for groups of checkboxes/radio buttons, is one and the same). + * + * @param string $caption Content of the note (can be both plain text and/or HTML) + * + * @param array $attributes (Optional) An array of attributes valid for + * {@link http://www.w3.org/TR/REC-html40/struct/global.html#h-7.5.4 div} + * elements (style, etc) + * + * Must be specified as an associative array, in the form of <i>attribute => value</i>. + * <code> + * // setting the "style" attribute + * $obj = $form->add( + * 'note', + * 'note_my_text', + * 'my_text', + * array( + * 'style' => 'width:250px' + * ) + * ); + * </code> + * + * See {@link Zebra_Form_Control::set_attributes() set_attributes()} on how to set + * attributes, other than through the constructor. + * + * The following attributes are automatically set when the control is created and + * should not be altered manually:<br> + * <b>class</b> + * + * @return void + */ + function __construct($id, $attach_to, $caption, $attributes = '') + { + + // call the constructor of the parent class + parent::__construct(); + + // set the private attributes of this control + // these attributes are private for this control and are for internal use only + $this->private_attributes = array( + + 'caption', + 'disable_xss_filters', + 'locked', + 'for', + 'name', + 'type', + + ); + + + // set the default attributes for the HTML control + $this->set_attributes( + + array( + + 'class' => 'note', + 'caption' => $caption, + 'for' => $attach_to, + 'id' => $id, + 'name' => $id, + 'type' => 'note', + + ) + + ); + + // if "class" is amongst user specified attributes + if (is_array($attributes) && isset($attributes['class'])) { + + // we need to set the "class" attribute like this, so it doesn't overwrite previous values + $this->set_attributes(array('class' => $attributes['class']), false); + + // make sure we don't set it again below + unset($attributes['class']); + + } + + // sets user specified attributes for the control + $this->set_attributes($attributes); + + } + + /** + * Generates the control's HTML code. + * + * <i>This method is automatically called by the {@link Zebra_Form::render() render()} method!</i> + * + * @return string The control's HTML code + */ + function toHTML() + { + + $attributes = $this->get_attributes('caption'); + + return '<div ' . $this->_render_attributes() . '>' . $attributes['caption'] . '</div>'; + + } + +} + +?> diff --git a/vendor/stefangabos/zebra_form/includes/Password.php b/vendor/stefangabos/zebra_form/includes/Password.php new file mode 100644 index 00000000..6898ffb9 --- /dev/null +++ b/vendor/stefangabos/zebra_form/includes/Password.php @@ -0,0 +1,178 @@ +<?php + +/** + * Class for password controls. + * + * @author Stefan Gabos <contact@stefangabos.ro> + * @copyright (c) 2006 - 2016 Stefan Gabos + * @package Controls + */ +class Zebra_Form_Password extends Zebra_Form_Control +{ + + /** + * Adds an <input type="password"> control to the form. + * + * <b>Do not instantiate this class directly! Use the {@link Zebra_Form::add() add()} method instead!</b> + * + * <code> + * // create a new form + * $form = new Zebra_Form('my_form'); + * + * // add a password control to the form + * $obj = $form->add('password', 'my_password'); + * + * // don't forget to always call this method before rendering the form + * if ($form->validate()) { + * // put code here + * } + * + * // output the form using an automatically generated template + * $form->render(); + * </code> + * + * @param string $id Unique name to identify the control in the form. + * + * The control's <b>name</b> attribute will be the same as the <b>id</b> attribute! + * + * This is the name to be used when referring to the control's value in the + * POST/GET superglobals, after the form is submitted. + * + * This is also the name of the variable to be used in custom template files, in + * order to display the control. + * + * <code> + * // in a template file, in order to print the generated HTML + * // for a control named "my_password", one would use: + * echo $my_password; + * </code> + * + * @param string $default (Optional) Default value of the password field. + * + * @param array $attributes (Optional) An array of attributes valid for + * {@link http://www.w3.org/TR/REC-html40/interact/forms.html#h-17.4 input} + * controls (size, readonly, style, etc) + * + * Must be specified as an associative array, in the form of <i>attribute => value</i>. + * <code> + * // setting the "disabled" attribute + * $obj = $form->add( + * 'password', + * 'my_password', + * '', + * array( + * 'disabled' => 'disabled' + * ) + * ); + * </code> + * + * There's a special <b>data-prefix</b> attribute that you can use to add <i>uneditable + * prefixes</i> to input fields (text, images, or plain HTML), as seen in the image + * below. It works by injecting an absolutely positioned element into the DOM, right + * after the parent element, and then positioning it on the left side of the parent + * element and adjusting the width and the left padding of the parent element, so it + * looks like the prefix is part of the parent element. + * + * <i>If the prefix is plain text or HTML code, it will be contained in a <div> tag + * having the class </i> <b>Zebra_Form_Input_Prefix</b><i>; if the prefix is a path to an + * image, it will be an <img> tag having the class </i> <b>Zebra_Form_Input_Prefix</b><i>.</i> + * + * <samp>For anything other than plain text, you must use CSS to set the width and + * height of the prefix, or it will not be correctly positioned because when the image + * is not cached by the browser the code taking care of centering the image will + * be executed before the image is loaded by the browser and it will not know the + * image's width and height!</samp> + * + * {@img src=../media/zebra-form-prefix.jpg class=graphic} + * + * <code> + * // add simple text + * // style the text through the Zebra_Form_Input_Prefix class + * $form->add('password', 'my_password', '', array('data-prefix' => 'Hash:')); + * + * // add images + * // set the image's width and height through the img.Zebra_Form_Input_Prefix class + * // in your CSS or the image will not be correctly positioned! + * $form->add('password', 'my_password', '', array('data-prefix' => 'img:path/to/image')); + * + * // add html - useful when using sprites + * // again, make sure that you set somewhere the width and height of the prefix! + * $form->add('password', 'my_password', '', array('data-prefix' => '<div class="sprite image1"></div>')); + * $form->add('password', 'my_password', '', array('data-prefix' => '<div class="sprite image2"></div>')); + * </code> + * + * See {@link Zebra_Form_Control::set_attributes() set_attributes()} on how to set + * attributes, other than through the constructor. + * + * The following attributes are automatically set when the control is created and + * should not be altered manually:<br> + * + * <b>type</b>, <b>id</b>, <b>name</b>, <b>value</b>, <b>class</b> + * + * @return void + */ + function __construct($id, $default = '', $attributes = '') + { + + // call the constructor of the parent class + parent::__construct(); + + // set the private attributes of this control + // these attributes are private for this control and are for internal use only + // and will not be rendered by the _render_attributes() method + $this->private_attributes = array( + + 'default_value', + 'disable_xss_filters', + 'locked', + + ); + + // set the default attributes for the button control + $this->set_attributes( + + array( + + 'type' => 'password', + 'name' => $id, + 'id' => $id, + 'value' => $default, + 'class' => 'control password', + + ) + + ); + + // if "class" is amongst user specified attributes + if (is_array($attributes) && isset($attributes['class'])) { + + // we need to set the "class" attribute like this, so it doesn't overwrite previous values + $this->set_attributes(array('class' => $attributes['class']), false); + + // make sure we don't set it again below + unset($attributes['class']); + + } + + // sets user specified attributes for the control + $this->set_attributes($attributes); + + } + + /** + * Generates the control's HTML code. + * + * <i>This method is automatically called by the {@link Zebra_Form::render() render()} method!</i> + * + * @return string The control's HTML code + */ + function toHTML() + { + + return '<input ' . $this->_render_attributes() . ($this->form_properties['doctype'] == 'xhtml' ? '/' : '') . '>'; + + } + +} + +?> diff --git a/vendor/stefangabos/zebra_form/includes/Radio.php b/vendor/stefangabos/zebra_form/includes/Radio.php new file mode 100644 index 00000000..da12b425 --- /dev/null +++ b/vendor/stefangabos/zebra_form/includes/Radio.php @@ -0,0 +1,229 @@ +<?php + +/** + * Class for radio button controls. + * + * @author Stefan Gabos <contact@stefangabos.ro> + * @copyright (c) 2006 - 2016 Stefan Gabos + * @package Controls + */ +class Zebra_Form_Radio extends Zebra_Form_Control +{ + + /** + * Adds an <input type="radio"> control to the form. + * + * <b>Do not instantiate this class directly! Use the {@link Zebra_Form::add() add()} method instead!</b> + * + * <code> + * // create a new form + * $form = new Zebra_Form('my_form'); + * + * // single radio button + * $obj = $form->add('radio', 'myradio', 'my_radio_value'); + * + * // multiple radio buttons + * // notice that is "radios" instead of "radio" + * // radio buttons' values will be "0", "1" and "2", respectively, and will be available in a custom template like + * // "myradio_0", "myradio_1" and "myradio_2". + * // label controls will be automatically created having the names "label_myradio_0", "label_myradio_1" and + * // "label_myradio_2" (label + underscore + control name + underscore + value with anything else other than + * // letters and numbers replaced with underscores - also, note that multiple consecutive underscores will be + * // replaced by a single one) + * // $obj is a reference to the first radio button + * $obj = $form->add('radios', 'myradio', + * array( + * 'Value 1', + * 'Value 2', + * 'Value 3' + * ) + * ); + * + * // multiple radio buttons with specific indexes + * // radio buttons' values will be "v1", "v2" and "v3", respectively, and will be available in a custom template + * // like "myradio_v1", "myradio_v2" and "myradio_v3". + * // label controls will be automatically created having the names "label_myradio_v1", "label_myradio_v2" and + * // "label_myradio_v3" (label + underscore + control name + underscore + value with anything else other than + * // letters and numbers replaced with underscores - also, note that multiple consecutive underscores will be + * // replaced by a single one) + * $obj = $form->add('radios', 'myradio', + * array( + * 'v1' => 'Value 1', + * 'v2' => 'Value 2', + * 'v3' => 'Value 3' + * ) + * ); + * + * // multiple radio buttons with preselected value + * // "Value 2" will be the preselected value + * // note that for preselecting values you must use the actual indexes of the values, if available, (like + * // in the current example) or the default, zero-based index, otherwise (like in the next example) + * $obj = $form->add('radios', 'myradio', + * array( + * 'v1' => 'Value 1', + * 'v2' => 'Value 2', + * 'v3' => 'Value 3' + * ), + * 'v2' // note the index! + * ); + * + * // "Value 2" will be the preselected value. + * // note that for preselecting values you must use the actual indexes of the values, if available, (like + * // in the example above) or the default, zero-based index, otherwise (like in the current example) + * $obj = $form->add('radios', 'myradio', + * array( + * 'Value 1', + * 'Value 2', + * 'Value 3' + * ), + * 1 // note the index! + * ); + * + * // custom classes (or other attributes) can also be added to all of the elements by specifying a 4th argument; + * // this needs to be specified in the same way as you would by calling {@link set_attributes()} method: + * $obj = $form->add('radios', 'myradio', + * array( + * '1' => 'Value 1', + * '2' => 'Value 2', + * '3' => 'Value 3', + * ), + * '', // no default value + * array('class' => 'my_custom_class') + * ); + * + * // don't forget to always call this method before rendering the form + * if ($form->validate()) { + * // put code here + * } + * + * // output the form using an automatically generated template + * $form->render(); + * </code> + * + * <samp>By default, for checkboxes, radio buttons and select boxes, the library will prevent the submission of other + * values than those declared when creating the form, by triggering the error: "SPAM attempt detected!". Therefore, + * if you plan on adding/removing values dynamically, from JavaScript, you will have to call the + * {@link Zebra_Form_Control::disable_spam_filter() disable_spam_filter()} method to prevent that from happening!</samp> + * + * @param string $id Unique name to identify the control in the form. + * + * The control's <b>name</b> attribute will be as indicated by <i>$id</i> + * argument while the control's <b>id</b> attribute will be <i>$id</i> followd by an + * underscore and followed by <i>$value</i> with all the spaces replaced by + * <i>underscores</i>. + * + * So, if the <i>$id</i> arguments is "my_radio" and the <i>$value</i> argument + * is "value 1", the control's <b>id</b> attribute will be <b>my_radio_value_1</b>. + * + * This is the name to be used when referring to the control's value in the + * POST/GET superglobals, after the form is submitted. + * + * This is also the name of the variable to be used in custom template files, in + * order to display the control. + * + * <code> + * // in a template file, in order to print the generated HTML + * // for a control named "my_radio" and having the value of "value 1", + * // one would use: + * echo $my_radio_value_1; + * </code> + * + * <i>Note that when adding the required rule to a group of radio buttons (radio + * buttons sharing the same name), it is sufficient to add the rule to the first + * radio button!</i> + * + * @param mixed $value Value of the radio button. + * + * @param array $attributes (Optional) An array of attributes valid for + * {@link http://www.w3.org/TR/REC-html40/interact/forms.html#h-17.4 input} + * controls (disabled, readonly, style, etc) + * + * Must be specified as an associative array, in the form of <i>attribute => value</i>. + * <code> + * // setting the "checked" attribute + * $obj = $form->add( + * 'radio', + * 'my_radio', + * 'v1', + * array( + * 'checked' => 'checked' + * ) + * ); + * </code> + * + * See {@link Zebra_Form_Control::set_attributes() set_attributes()} on how to set + * attributes, other than through the constructor. + * + * The following attributes are automatically set when the control is created and + * should not be altered manually:<br> + * + * <b>type</b>, <b>id</b>, <b>name</b>, <b>value</b>, <b>class</b> + * + * @return void + */ + function __construct($id, $value, $attributes = '') + { + + // call the constructor of the parent class + parent::__construct(); + + // set the private attributes of this control + // these attributes are private for this control and are for internal use only + // and will not be rendered by the _render_attributes() method + $this->private_attributes = array( + + 'disable_spam_filter', + 'disable_xss_filters', + 'locked', + + ); + + // set the default attributes for the radio button control + // put them in the order you'd like them rendered + $this->set_attributes( + + array( + + 'type' => 'radio', + 'name' => $id, + 'id' => str_replace(' ', '_', $id) . '_' . str_replace(' ', '_', $value), + 'value' => $value, + 'class' => 'control radio', + + ) + + ); + + // if "class" is amongst user specified attributes + if (is_array($attributes) && isset($attributes['class'])) { + + // we need to set the "class" attribute like this, so it doesn't overwrite previous values + $this->set_attributes(array('class' => $attributes['class']), false); + + // make sure we don't set it again below + unset($attributes['class']); + + } + + // sets user specified attributes for the control + $this->set_attributes($attributes); + + } + + /** + * Generates the control's HTML code. + * + * <i>This method is automatically called by the {@link Zebra_Form::render() render()} method!</i> + * + * @return string The control's HTML code + */ + function toHTML() + { + + return '<input ' . $this->_render_attributes() . ($this->form_properties['doctype'] == 'xhtml' ? '/' : '') . '>'; + + } + +} + +?> diff --git a/vendor/stefangabos/zebra_form/includes/Reset.php b/vendor/stefangabos/zebra_form/includes/Reset.php new file mode 100644 index 00000000..2a35d04a --- /dev/null +++ b/vendor/stefangabos/zebra_form/includes/Reset.php @@ -0,0 +1,142 @@ +<?php + +/** + * Class for reset button controls. + * + * @author Stefan Gabos <contact@stefangabos.ro> + * @copyright (c) 2006 - 2016 Stefan Gabos + * @package Controls + */ +class Zebra_Form_Reset extends Zebra_Form_Control +{ + + /** + * Adds an <input type="reset"> control to the form. + * + * <b>Do not instantiate this class directly! Use the {@link Zebra_Form::add() add()} method instead!</b> + * + * <code> + * // create a new form + * $form = new Zebra_Form('my_form'); + * + * // add a reset control to the form + * $obj = $form->add('reset', 'my_reset', 'Reset'); + * + * // don't forget to always call this method before rendering the form + * if ($form->validate()) { + * // put code here + * } + * + * // output the form using an automatically generated template + * $form->render(); + * </code> + * + * @param string $id Unique name to identify the control in the form. + * + * The control's <b>name</b> attribute will be the same as the <b>id</b> attribute! + * + * This is the name to be used when referring to the control's value in the + * POST/GET superglobals, after the form is submitted. + * + * This is also the name of the variable to be used in custom template files, in + * order to display the control. + * + * <code> + * // in a template file, in order to print the generated HTML + * // for a control named "my_reset", one would use: + * echo $my_reset; + * </code> + * + * @param string $caption Caption of the reset button control. + * + * @param array $attributes (Optional) An array of attributes valid for + * {@link http://www.w3.org/TR/REC-html40/interact/forms.html#h-17.4 input} + * controls (size, readonly, style, etc) + * + * Must be specified as an associative array, in the form of <i>attribute => value</i>. + * <code> + * // setting the "alt" attribute + * $obj = $form->add( + * 'reset', + * 'my_reset', + * 'Reset', + * array( + * 'alt' => 'Click to reset values' + * ) + * ); + * </code> + * + * See {@link Zebra_Form_Control::set_attributes() set_attributes()} on how to set + * attributes, other than through the constructor. + * + * The following attributes are automatically set when the control is created and + * should not be altered manually:<br> + * <b>type</b>, <b>id</b>, <b>name</b>, <b>value</b>, <b>class</b> + * + * @return void + */ + function __construct($id, $caption, $attributes = '') + { + + // call the constructor of the parent class + parent::__construct(); + + // set the private attributes of this control + // these attributes are private for this control and are for internal use only + // and will not be rendered by the _render_attributes() method + $this->private_attributes = array( + + 'disable_xss_filters', + 'locked', + + ); + + // set the default attributes for the reset button control + // put them in the order you'd like them rendered + $this->set_attributes( + + array( + + 'type' => 'reset', + 'name' => $id, + 'id' => $id, + 'value' => $caption, + 'class' => 'reset', + + ) + + ); + + // if "class" is amongst user specified attributes + if (is_array($attributes) && isset($attributes['class'])) { + + // we need to set the "class" attribute like this, so it doesn't overwrite previous values + $this->set_attributes(array('class' => $attributes['class']), false); + + // make sure we don't set it again below + unset($attributes['class']); + + } + + // sets user specified attributes for the control + $this->set_attributes($attributes); + + } + + /** + * Generates the control's HTML code. + * + * <i>This method is automatically called by the {@link Zebra_Form::render() render()} method!</i> + * + * @return string The control's HTML code + */ + function toHTML() + { + + return '<input ' . $this->_render_attributes() . ($this->form_properties['doctype'] == 'xhtml' ? '/' : '') . '>'; + + } + +} + +?> diff --git a/vendor/stefangabos/zebra_form/includes/Select.php b/vendor/stefangabos/zebra_form/includes/Select.php new file mode 100644 index 00000000..1aad716e --- /dev/null +++ b/vendor/stefangabos/zebra_form/includes/Select.php @@ -0,0 +1,385 @@ +<?php + +/** + * Class for select box controls. + * + * @author Stefan Gabos <contact@stefangabos.ro> + * @copyright (c) 2006 - 2016 Stefan Gabos + * @package Controls + */ +class Zebra_Form_Select extends Zebra_Form_Control +{ + + /** + * Adds an <select> control to the form. + * + * <b>Do not instantiate this class directly! Use the {@link Zebra_Form::add() add()} method instead!</b> + * + * By default, unless the <b>multiple</b> attribute is set, the control will have a default first option added + * automatically inviting users to select one of the available options. Default value for English is + * "<i>-&nbsp;select&nbsp;-</i>" taken from the language file - see the {@link Zebra_Form::language() language()} + * method. If you don't want it or want to set it at runtime, set the <i>overwrite</i> argument to TRUE when calling + * the {@link add_options()} method. + * + * <code> + * // create a new form + * $form = new Zebra_Form('my_form'); + * + * // single-option select box + * $obj = $form->add('select', 'my_select'); + * + * // add selectable values with default indexes + * // values will be "0", "1" and "2", respectively + * // a default first value, "- select -" (language dependent) will also be added + * $obj->add_options(array( + * 'Value 1', + * 'Value 2', + * 'Value 3' + * )); + * + * // single-option select box + * $obj = $form->add('select', 'my_select2'); + * + * // add selectable values with specific indexes + * // values will be "v1", "v2" and "v3", respectively + * // a default first value, "- select -" (language dependent) will also be added + * $obj->add_options(array( + * 'v1' => 'Value 1', + * 'v2' => 'Value 2', + * 'v3' => 'Value 3' + * )); + * + * // single-option select box with the second value selected + * $obj = $form->add('select', 'my_select3', 'v2'); + * + * // add selectable values with specific indexes + * // values will be "v1", "v2" and "v3", respectively + * // also, overwrite the language-specific default first value (notice the boolean TRUE at the end) + * $obj->add_options(array( + * '' => '- select a value -', + * 'v1' => 'Value 1', + * 'v2' => 'Value 2', + * 'v3' => 'Value 3' + * ), true); + * + * // multi-option select box with the first two options selected + * $obj = $form->add('select', 'my_select4[]', array('v1', 'v2'), array('multiple' => 'multiple')); + * + * // add selectable values with specific indexes + * // values will be "v1", "v2" and "v3", respectively + * $obj->add_options(array( + * 'v1' => 'Value 1', + * 'v2' => 'Value 2', + * 'v3' => 'Value 3' + * )); + * + * // don't forget to always call this method before rendering the form + * if ($form->validate()) { + * // put code here + * } + * + * // output the form using an automatically generated template + * $form->render(); + * </code> + * + * <samp>By default, for checkboxes, radio buttons and select boxes, the library will prevent the submission of other + * values than those declared when creating the form, by triggering the error: "SPAM attempt detected!". Therefore, + * if you plan on adding/removing values dynamically, from JavaScript, you will have to call the + * {@link Zebra_Form_Control::disable_spam_filter() disable_spam_filter()} method to prevent that from happening!</samp> + * + * @param string $id Unique name to identify the control in the form. + * + * The control's <b>name</b> attribute will be as specified by the <i>$id</i> + * argument.<br> + * The <b>id</b> attribute will be as specified by the <i>$id</i> argument but with + * square brackets trimmed off (if any). + * + * This is the name to be used when referring to the control's value in the + * POST/GET superglobals, after the form is submitted. + * + * This is also the name of the variable (again, with square brackets trimmed off + * if it's the case) to be used in the template file, containing the generated HTML + * for the control. + * + * <code> + * // in a template file, in order to print the generated HTML + * // for a control named "my_select", one would use: + * echo $my_select; + * </code> + * + * @param mixed $default (Optional) Default selected option. + * + * This argument can also be an array in case the <b>multiple</b> attribute is set + * and multiple options need to be preselected by default. + * + * @param array $attributes (Optional) An array of attributes valid for + * {@link http://www.w3.org/TR/REC-html40/interact/forms.html#edef-SELECT select} + * controls (multiple, readonly, style, etc) + * + * Must be specified as an associative array, in the form of <i>attribute => value</i>. + * <code> + * // setting the "multiple" attribute + * $obj = $form->add( + * 'select', + * 'my_select', + * '', + * array( + * 'multiple' => 'multiple' + * ) + * ); + * </code> + * + * <b>Special attribute:</b> + * + * When setting the special attribute <b>other</b> to <b>true</b>, a + * {@link Zebra_Form_Text textbox} control will be automatically created having the + * name <i>[id]_other</i> where [id] is the select control's <b>id</b> attribute. + * The text box will be hidden until the user selects the automatically added + * <i>Other...</i> option (language dependent) from the selectable options. The + * option's value will be <b>other</b>. If the template is not automatically + * generated you will have to manually add the automatically generated control to + * the template. + * + * See {@link Zebra_Form_Control::set_attributes() set_attributes()} on how to set + * attributes, other than through the constructor. + * + * The following attributes are automatically set when the control is created and + * should not be altered manually:<br> + * + * <b>id</b>, <b>name</b> + * + * @param string $default_other The default value in the "other" field (if the "other" attribute is set to true, + * see above) + * + * @return void + */ + function __construct($id, $default = '', $attributes = '', $default_other = '') + { + + // call the constructor of the parent class + parent::__construct(); + + // set the private attributes of this control + // these attributes are private for this control and are for internal use only + // and will not be rendered by the _render_attributes() method + $this->private_attributes = array( + + 'default_other', + 'disable_spam_filter', + 'disable_xss_filters', + 'locked', + 'options', + 'other', + 'type', + 'value', + + ); + + // set the default attributes for the textarea control + // put them in the order you'd like them rendered + $this->set_attributes( + + array( + + 'name' => $id, + 'id' => str_replace(array('[', ']'), '', $id), + 'class' => 'control', + 'options' => array(), + 'type' => 'select', + 'value' => $default, + 'default_other' => $default_other, + + ) + + ); + + // if "class" is amongst user specified attributes + if (is_array($attributes) && isset($attributes['class'])) { + + // we need to set the "class" attribute like this, so it doesn't overwrite previous values + $this->set_attributes(array('class' => $attributes['class']), false); + + // make sure we don't set it again below + unset($attributes['class']); + + } + + // sets user specified attributes for the control + $this->set_attributes($attributes); + + } + + /** + * Adds options to the select box control + * + * <b>If the "multiple" attribute is not set, the first option will be always considered as the "nothing is selected" + * state of the control!</b> + * + * @param array $options An associative array of options where the key is the value of the option and the + * value is the actual text to be displayed for the option. + * + * <b>Option groups</b> can be set by giving an array of associative arrays as argument: + * + * <code> + * // add as groups: + * $obj->add_options(array( + * 'group' => array('option 1', 'option 2') + * )); + * </code> + * + * @param boolean $overwrite (Optional) By default, succesive calls of this method will appended the options + * given as arguments to the already existing options. + * + * Setting this argument to TRUE will instead overwrite the previously existing options. + * + * Default is FALSE + * + * @return void + */ + function add_options($options, $overwrite = false) + { + + // continue only if parameter is an array + if (is_array($options)) { + + // get some properties of the select control + $attributes = $this->get_attributes(array('options', 'multiple')); + + // if there are no options so far AND + // we're not overwriting existing options AND + // the "multiple" attribute is not set + if (empty($attributes['options']) && $overwrite === false && !isset($attributes['multiple'])) + + // add the default value + // we'll replace the value with the appropriate language + $options = array('' => $this->form_properties['language']['select']) + $options; + + // set the options attribute of the control + $this->set_attributes( + + array( + + 'options' => ($overwrite ? $options : $attributes['options'] + $options) + + ) + + ); + + // if options are not specified as an array + } else { + + // trigger an error message + _zebra_form_show_error(' + Selectable values for the <strong>' . $this->attributes['id'] . '</strong> control must be specified as + an array + '); + + } + + } + + /** + * Generates the control's HTML code. + * + * <i>This method is automatically called by the {@link Zebra_Form::render() render()} method!</i> + * + * @return string The control's HTML code + */ + function toHTML() + { + + // get the options of the select control + $attributes = $this->get_attributes(array('options', 'value', 'multiple', 'other')); + + // if select box is not "multi-select" and the "other" attribute is set + if (!isset($attributes['multiple']) && isset($attributes['other'])) + + // add an extra options to the already existing ones + $attributes['options'] += array('other' => $this->form_properties['language']['other']); + + // if the default value, as added when instantiating the object is still there + // or if no options were specified + if (($key = array_search('#replace-with-language#', $attributes['options'])) !== false || empty($attributes['options'])) + + // put the label from the language file + $attributes['options'][$key] = $this->form_properties['language']['select']; + + // use a private, recursive method to generate the select's content + $optContent = $this->_generate($attributes['options'], $attributes['value']); + + // return generated HTML + return '<select '. $this->_render_attributes() . '>' . $optContent . '</select>'; + + } + + /** + * Takes the options array and recursively generates options and optiongroups + * + * @return string Resulted HTML code + * + * @access private + */ + private function _generate(&$options, &$selected, $level = 0) + { + + $content = ''; + + // character(s) used for indenting levels + $indent = '&nbsp;&nbsp;'; + + // iterate through the available options + foreach ($options as $value => $caption) { + + // if option has child options + if (is_array($caption)) { + + // create a dummy option group (for valid HTML/XHTML we are not allowed to create nested option groups + // and also empty optiongroups are not allowed) + // BUT because in IE7 the "disabled" attribute is not supported and in all versions of IE these + // can't be styled, we will remove them from JavaScript + // having a dummy option in them (the option is disabled and, from CSS, rendered invisible) + $content .= ' + <optgroup label="' . str_repeat($indent, $level) . $value . '"> + <option disabled="disabled" class="dummy"></option> + </optgroup> + '; + + // call the method recursively to generate the output for the children options + $content .= $this->_generate($caption, $selected, $level + 1); + + // if entry is a standard option + } else { + + // create the appropriate code + $content .= '<option value="' . $value . '"' . + + // if anything was selected + ($selected !== '' && $value !== '' && + + ( + + // and the current option is selected + (is_array($selected) && in_array($value, $selected)) || + + (!is_array($selected) && (string)$value === (string)$selected) + + // set the appropriate attribute + ) ? ' selected="selected"' : '' + + ) . '>' . + + // indent appropriately + str_repeat($indent, $level) . $caption . '</option>'; + + } + + } + + // return generated content + return $content; + + } + +} + +?> diff --git a/vendor/stefangabos/zebra_form/includes/Submit.php b/vendor/stefangabos/zebra_form/includes/Submit.php new file mode 100644 index 00000000..1faa2f3f --- /dev/null +++ b/vendor/stefangabos/zebra_form/includes/Submit.php @@ -0,0 +1,142 @@ +<?php + +/** + * Class for submit controls. + * + * @author Stefan Gabos <contact@stefangabos.ro> + * @copyright (c) 2006 - 2016 Stefan Gabos + * @package Controls + */ +class Zebra_Form_Submit extends Zebra_Form_Control +{ + + /** + * Adds an <input type="submit"> control to the form. + * + * <b>Do not instantiate this class directly! Use the {@link Zebra_Form::add() add()} method instead!</b> + * + * <code> + * // create a new form + * $form = new Zebra_Form('my_form'); + * + * // add a submit control to the form + * $obj = $form->add('submit', 'my_submit', 'Submit'); + * + * // don't forget to always call this method before rendering the form + * if ($form->validate()) { + * // put code here + * } + * + * // output the form using an automatically generated template + * $form->render(); + * </code> + * + * @param string $id Unique name to identify the control in the form. + * + * The control's <b>name</b> attribute will be the same as the <b>id</b> attribute! + * + * This is the name to be used when referring to the control's value in the + * POST/GET superglobals, after the form is submitted. + * + * This is also the name of the variable to be used in custom template files, in + * order to display the control. + * + * <code> + * // in a template file, in order to print the generated HTML + * // for a control named "my_submit", one would use: + * echo $my_submit; + * </code> + * + * @param string $caption Caption of the submit button control. + * + * @param array $attributes (Optional) An array of attributes valid for + * {@link http://www.w3.org/TR/REC-html40/interact/forms.html#h-17.4 input} + * controls (size, readonly, style, etc) + * + * Must be specified as an associative array, in the form of <i>attribute => value</i>. + * <code> + * // setting the "alt" attribute + * $obj = $form->add( + * 'submit', + * 'my_submit', + * 'Submit', + * array( + * 'alt' => 'Click to submit values' + * ) + * ); + * </code> + * + * See {@link Zebra_Form_Control::set_attributes() set_attributes()} on how to set + * attributes, other than through the constructor. + * + * The following attributes are automatically set when the control is created and + * should not be altered manually:<br> + * <b>type</b>, <b>id</b>, <b>name</b>, <b>value</b>, <b>class</b> + * + * @return void + */ + function __construct($id, $caption, $attributes = '') + { + + // call the constructor of the parent class + parent::__construct(); + + // set the private attributes of this control + // these attributes are private for this control and are for internal use only + // and will not be rendered by the _render_attributes() method + $this->private_attributes = array( + + 'disable_xss_filters', + 'locked', + + ); + + // set the default attributes for the submit button control + // put them in the order you'd like them rendered + $this->set_attributes( + + array( + + 'type' => 'submit', + 'name' => $id, + 'id' => $id, + 'value' => $caption, + 'class' => 'submit', + + ) + + ); + + // if "class" is amongst user specified attributes + if (is_array($attributes) && isset($attributes['class'])) { + + // we need to set the "class" attribute like this, so it doesn't overwrite previous values + $this->set_attributes(array('class' => $attributes['class']), false); + + // make sure we don't set it again below + unset($attributes['class']); + + } + + // sets user specified attributes for the control + $this->set_attributes($attributes); + + } + + /** + * Generates the control's HTML code. + * + * <i>This method is automatically called by the {@link Zebra_Form::render() render()} method!</i> + * + * @return string The control's HTML code + */ + function toHTML() + { + + return '<input ' . $this->_render_attributes() . ($this->form_properties['doctype'] == 'xhtml' ? '/' : '') . '>'; + + } + +} + +?> diff --git a/vendor/stefangabos/zebra_form/includes/Text.php b/vendor/stefangabos/zebra_form/includes/Text.php new file mode 100644 index 00000000..cfb3dfd6 --- /dev/null +++ b/vendor/stefangabos/zebra_form/includes/Text.php @@ -0,0 +1,181 @@ +<?php + +/** + * Class for text controls. + * + * @author Stefan Gabos <contact@stefangabos.ro> + * @copyright (c) 2006 - 2016 Stefan Gabos + * @package Controls + */ +class Zebra_Form_Text extends Zebra_Form_Control +{ + + /** + * Adds an <input type="text"> control to the form. + * + * <b>Do not instantiate this class directly! Use the {@link Zebra_Form::add() add()} method instead!</b> + * + * <code> + * // create a new form + * $form = new Zebra_Form('my_form'); + * + * // add a text control to the form + * $obj = $form->add('text', 'my_text'); + * + * // don't forget to always call this method before rendering the form + * if ($form->validate()) { + * // put code here + * } + * + * // output the form using an automatically generated template + * $form->render(); + * </code> + * + * @param string $id Unique name to identify the control in the form. + * + * The control's <b>name</b> attribute will be the same as the <b>id</b> attribute! + * + * This is the name to be used when referring to the control's value in the + * POST/GET superglobals, after the form is submitted. + * + * This is also the name of the variable to be used in custom template files, in + * order to display the control. + * + * <code> + * // in a template file, in order to print the generated HTML + * // for a control named "my_text", one would use: + * echo $my_text; + * </code> + * + * @param string $default (Optional) Default value of the text box. + * + * @param array $attributes (Optional) An array of attributes valid for + * {@link http://www.w3.org/TR/REC-html40/interact/forms.html#h-17.4 input} + * controls (size, readonly, style, etc) + * + * Must be specified as an associative array, in the form of <i>attribute => value</i>. + * <code> + * // setting the "readonly" attribute + * $obj = $form->add( + * 'text', + * 'my_text', + * '', + * array( + * 'readonly' => 'readonly' + * ) + * ); + * </code> + * + * There's a special <b>data-prefix</b> attribute that you can use to add <i>uneditable + * prefixes</i> to input fields (text, images, or plain HTML), as seen in the image + * below. It works by injecting an absolutely positioned element into the DOM, right + * after the parent element, and then positioning it on the left side of the parent + * element and adjusting the width and the left padding of the parent element, so it + * looks like the prefix is part of the parent element. + * + * <i>If the prefix is plain text or HTML code, it will be contained in a <div> tag + * having the class </i> <b>Zebra_Form_Input_Prefix</b><i>; if the prefix is a path to an + * image, it will be an <img> tag having the class </i> <b>Zebra_Form_Input_Prefix</b><i>.</i> + * + * <samp>For anything other than plain text, you must use CSS to set the width and + * height of the prefix, or it will not be correctly positioned because when the image + * is not cached by the browser the code taking care of centering the image will + * be executed before the image is loaded by the browser and it will not know the + * image's width and height!</samp> + * + * {@img src=../media/zebra-form-prefix.jpg class=graphic} + * + * <code> + * // add simple text + * // style the text through the Zebra_Form_Input_Prefix class + * $form->add('text', 'my_text', '', array('data-prefix' => 'http://')); + * $form->add('text', 'my_text', '', array('data-prefix' => '(+1 917)')); + * + * // add images + * // set the image's width and height through the img.Zebra_Form_Input_Prefix class + * // in your CSS or the image will not be correctly positioned! + * $form->add('text', 'my_text', '', array('data-prefix' => 'img:path/to/image')); + * + * // add html - useful when using sprites + * // again, make sure that you set somewhere the width and height of the prefix! + * $form->add('text', 'my_text', '', array('data-prefix' => '<div class="sprite image1"></div>')); + * $form->add('text', 'my_text', '', array('data-prefix' => '<div class="sprite image2"></div>')); + * </code> + * + * See {@link Zebra_Form_Control::set_attributes() set_attributes()} on how to set + * attributes, other than through the constructor. + * + * The following attributes are automatically set when the control is created and + * should not be altered manually:<br> + * + * <b>type</b>, <b>id</b>, <b>name</b>, <b>value</b>, <b>class</b> + * + * @return void + */ + function __construct($id, $default = '', $attributes = '') + { + + // call the constructor of the parent class + parent::__construct(); + + // set the private attributes of this control + // these attributes are private for this control and are for internal use only + // and will not be rendered by the _render_attributes() method + $this->private_attributes = array( + + 'disable_xss_filters', + 'default_value', + 'locked', + + ); + + // set the default attributes for the text control + // put them in the order you'd like them rendered + $this->set_attributes( + + array( + + 'type' => 'text', + 'name' => $id, + 'id' => $id, + 'value' => $default, + 'class' => 'control text', + + ) + + ); + + // if "class" is amongst user specified attributes + if (is_array($attributes) && isset($attributes['class'])) { + + // we need to set the "class" attribute like this, so it doesn't overwrite previous values + $this->set_attributes(array('class' => $attributes['class']), false); + + // make sure we don't set it again below + unset($attributes['class']); + + } + + // sets user specified attributes for the control + $this->set_attributes($attributes); + + + } + + /** + * Generates the control's HTML code. + * + * <i>This method is automatically called by the {@link Zebra_Form::render() render()} method!</i> + * + * @return string The control's HTML code + */ + function toHTML() + { + + return '<input ' . $this->_render_attributes() . ($this->form_properties['doctype'] == 'xhtml' ? '/' : '') . '>'; + + } + +} + +?> diff --git a/vendor/stefangabos/zebra_form/includes/Textarea.php b/vendor/stefangabos/zebra_form/includes/Textarea.php new file mode 100644 index 00000000..df3bd2c5 --- /dev/null +++ b/vendor/stefangabos/zebra_form/includes/Textarea.php @@ -0,0 +1,151 @@ +<?php + +/** + * Class for textarea controls + * + * @author Stefan Gabos <contact@stefangabos.ro> + * @copyright (c) 2006 - 2016 Stefan Gabos + * @package Controls + */ +class Zebra_Form_Textarea extends Zebra_Form_Control +{ + + /** + * Adds an <textarea> control to the form. + * + * <b>Do not instantiate this class directly! Use the {@link Zebra_Form::add() add()} method instead!</b> + * + * <code> + * // create a new form + * $form = new Zebra_Form('my_form'); + * + * // add a textarea control to the form + * $obj = $form->add('textarea', 'my_textarea'); + * + * // don't forget to always call this method before rendering the form + * if ($form->validate()) { + * // put code here + * } + * + * // output the form using an automatically generated template + * $form->render(); + * </code> + * + * @param string $id Unique name to identify the control in the form. + * + * The control's <b>name</b> attribute will be the same as the <b>id</b> attribute! + * + * This is the name to be used when referring to the control's value in the + * POST/GET superglobals, after the form is submitted. + * + * This is also the name of the variable to be used in custom template files, in + * order to display the control. + * + * <code> + * // in a template file, in order to print the generated HTML + * // for a control named "my_textarea", one would use: + * echo $my_textarea; + * </code> + * + * @param string $default (Optional) Default value of the textarea. + * + * @param array $attributes (Optional) An array of attributes valid for + * <b>{@link http://www.w3.org/TR/REC-html40/interact/forms.html#h-17.7 textarea}</b> + * controls (rows, cols, style, etc) + * + * Must be specified as an associative array, in the form of <i>attribute => value</i>. + * <code> + * // setting the "rows" attribute + * $obj = $form->add( + * 'textarea', + * 'my_textarea', + * '', + * array( + * 'rows' => 10 + * ) + * ); + * </code> + * + * See {@link Zebra_Form_Control::set_attributes() set_attributes()} on how to set + * attributes, other than through the constructor. + * + * The following attributes are automatically set when the control is created and + * should not be altered manually:<br> + * + * <b>id</b>, <b>name</b>, <b>class</b> + * + * @return void + */ + function __construct($id, $default = '', $attributes = '') + { + + // call the constructor of the parent class + parent::__construct(); + + // set the private attributes of this control + // these attributes are private for this control and are for internal use only + // and will not be rendered by the _render_attributes() method + $this->private_attributes = array( + + 'default_value', + 'disable_xss_filters', + 'locked', + 'type', + 'value', + + ); + + // set the default attributes for the textarea control + // put them in the order you'd like them rendered + $this->set_attributes( + + array( + + 'name' => $id, + 'id' => $id, + 'rows' => 5, + 'cols' => '80', // used only for passing W3C validation + 'class' => 'control', + 'type' => 'textarea', + 'value' => $default, + + ) + + ); + + // if "class" is amongst user specified attributes + if (is_array($attributes) && isset($attributes['class'])) { + + // we need to set the "class" attribute like this, so it doesn't overwrite previous values + $this->set_attributes(array('class' => $attributes['class']), false); + + // make sure we don't set it again below + unset($attributes['class']); + + } + + // sets user specified attributes for the control + $this->set_attributes($attributes); + + } + + /** + * Generates the control's HTML code. + * + * <i>This method is automatically called by the {@link Zebra_Form::render() render()} method!</i> + * + * @return string The control's HTML code + */ + function toHTML() + { + + // get private attributes + $attributes = $this->get_attributes('value'); + + return '<textarea ' . $this->_render_attributes() . '>' . (isset($attributes['value']) ? $attributes['value'] : '') . '</textarea>'; + + } + +} + +?> diff --git a/vendor/stefangabos/zebra_form/includes/Time.php b/vendor/stefangabos/zebra_form/includes/Time.php new file mode 100644 index 00000000..0452135c --- /dev/null +++ b/vendor/stefangabos/zebra_form/includes/Time.php @@ -0,0 +1,292 @@ +<?php + +/** + * Class for time picker controls. + * + * @author Stefan Gabos <contact@stefangabos.ro> + * @copyright (c) 2006 - 2016 Stefan Gabos + * @package Controls + */ +class Zebra_Form_Time extends Zebra_Form_Control +{ + + /** + * Adds a time picker control to the form. + * + * <b>Do not instantiate this class directly! Use the {@link Zebra_Form::add() add()} method instead!</b> + * + * The output of this control will be one, two, three or four {@link Zebra_Form_Select select} controls for hour, + * minutes, seconds and AM/PM respectively, according to the given format as set by the <i>$attributes</i> argument. + * + * Note that even though there will be more select boxes, the submitted values will be available as a single merged + * value (in the form of hh:mm:ss AM/PM, depending on the format), with the name as given by the <i>id</i> argument. + * + * <code> + * // create a new form + * $form = new Zebra_Form('my_form'); + * + * // add a time picker control for hour and minutes + * $obj = $form->add('time', 'my_time', date('H:i'), array('format' => 'hm')); + * + * // don't forget to always call this method before rendering the form + * if ($form->validate()) { + * + * // note that even though there will be more select boxes, the submitted + * // values will be available as a single merged value (in the form of + * // mm:mm:ss AM/PM, depending on the format), with the name as given by + * // the "id" argument: + * echo $_POST['my_time']; + * + * } + * + * // output the form using an automatically generated template + * $form->render(); + * </code> + * + * @param string $id Unique name to identify the control in the form. + * + * The control's <b>name</b> attribute will be the same as the <b>id</b> attribute! + * + * This is the name to be used when referring to the control's value in the + * POST/GET superglobals, after the form is submitted. + * + * This is also the name of the variable to be used in custom template files, in + * order to display the control. + * + * <code> + * // in a template file, in order to print the generated HTML + * // for a control named "my_time", one would use: + * echo $my_time; + * </code> + * + * @param string $default (Optional) String representing the default time to be shown. Must be set according + * to the format of the time, as specified in <i>$attributes</i>. For example, for a + * time format of "hm", one would set the default time in the form of "hh:mm" while + * for a time format of "hms", one would set the time in the form of "hh:mm:ss". + * + * Default is current system time. + * + * @param array $attributes (Optional) An array of user specified attributes valid for an time picker + * control (format, hours, minutes, seconds, am/pm). + * + * Must be specified as an associative array, in the form of <i>attribute => value</i>. + * + * Available attributes are: + * + * - format - format of time; a string containing one, or a combination of the four + * allowed characters: "h" (hours), "m" (minutes) and "s" (seconds) and "g" for + * using 12-hours format instead of the default 23-hours format; (i.e. setting the + * format to "hm" would allow the selection of hours and minutes, setting the + * format to "hms" would allow the selection of hours, minutes and seconds, and + * setting the format to "hmg" would allow the selection of hours and minutes + * using the 12-hours format instead of the 24-hours format) + * + * - hours - an array of selectable hours (i.e. array(10, 11, 12)) + * + * - minutes - an array of selectable minutes (i.e. array(15, 30, 45)) + * + * - seconds - an array of selectable seconds + * + * See {@link Zebra_Form_Control::set_attributes() set_attributes()} on how to set + * attributes, other than through the constructor. + * + * @return void + */ + function __construct($id, $default = '', $attributes = '') + { + + // call the constructor of the parent class + parent::__construct(); + + // these will hold the default selectable hours, minutes and seconds + $hours = $minutes = $seconds = array(); + + // all the 24 hours are available by default + for ($i = 0; $i < 24; $i++) $hours[] = $i; + + // all the minutes and seconds are available by default + for ($i = 0; $i < 60; $i++) $minutes[] = $seconds[] = $i; + + // set the private attributes of this control + // these attributes are private for this control and are for internal use only + // and will not be rendered by the _render_attributes() method + $this->private_attributes = array( + + 'disable_xss_filters', + 'locked', + 'type', + 'name', + 'id', + 'format', + 'hours', + 'minutes', + 'seconds', + 'value', + + ); + + // set the default attributes for the text control + // put them in the order you'd like them rendered + $this->set_attributes( + + array( + + 'type' => 'time', + 'name' => $id, + 'id' => $id, + 'value' => $default, + 'class' => 'control time', + 'format' => 'hm', + 'hours' => $hours, + 'minutes' => $minutes, + 'seconds' => $seconds, + + ) + + ); + + // sets user specified attributes for the control + $this->set_attributes($attributes); + + } + + /** + * Generates and returns the control's HTML code. + * + * <i>This method is automatically called by the {@link Zebra_Form::render() render()} method!</i> + * + * @return string The control's HTML code + */ + function toHTML() + { + + // get some attributes of the control + $attributes = $this->get_attributes(array('name', 'value', 'class', 'format', 'hours', 'minutes', 'seconds')); + + // make sure format is in lower characters + $attributes['format'] = strtolower($attributes['format']); + + // if invalid format specified, revert to the default "hm" + if (preg_match('/^[hmsg]+$/i', $attributes['format']) == 0 || strlen(preg_replace('/([a-z]{2,})/i', '$1', $attributes['format'])) != strlen($attributes['format'])) $attributes['format'] = 'hm'; + + // see what have we sepcified as default time + $time = array_diff(explode(':', trim(str_replace(array('am', 'pm'), '', strtolower($attributes['value'])))), array('')); + + // if, according to the time format, we have to show the hours, and the hour is given in the default time + if (($hour_position = strpos($attributes['format'], 'h')) !== false && isset($time[$hour_position])) + + // the default selected hour + $selected_hour = $time[$hour_position]; + + // if, according to the time format, we have to show the minutes, and the minutes are given in the default time + if (($minutes_position = strpos($attributes['format'], 'm')) !== false && isset($time[$minutes_position])) + + // the default selected minute + $selected_minute = $time[$minutes_position]; + + // if, according to the time format, we have to show the seconds, and the seconds are given in the default time + if (($seconds_position = strpos($attributes['format'], 's')) !== false && isset($time[$seconds_position])) + + // the default selected minute + $selected_second = $time[$seconds_position]; + + // if 12-hours format is to be used + if (strpos($attributes['format'], 'g')) { + + // set a flag + $ampm = true; + + // if this is also present in the default time + if (preg_match('/\bam\b|\bpm\b/i', $attributes['value'], $matches)) + + // extract the format from the default time + $ampm = strtolower($matches[0]); + + } + + + $output = ''; + + // if the hour picker is to be shown + if ($hour_position !== false) { + + // generate the hour picker + $output .= ' + <select name="' . $attributes['name'] . '_hours" id="' . $attributes['name'] . '_hours" ' . $this->_render_attributes() . '> + <option value="">-</option>'; + + foreach ($attributes['hours'] as $hour) + + // show 12 or 24 hours depending on the format + if (!isset($ampm) || ($hour > 0 && $hour < 13)) + + $output .= '<option value="' . str_pad($hour, 2, '0', STR_PAD_LEFT) . '"' . (isset($selected_hour) && ltrim($selected_hour, '0') == ltrim($hour, '0') ? ' selected="selected"' : '') . '>' . str_pad($hour, 2, '0', STR_PAD_LEFT) . '</option>'; + + $output .= ' + </select> + '; + + } + + // if the minute picker is to be shown + if ($minutes_position !== false) { + + // generate the minute picker + $output .= ' + <select name="' . $attributes['name'] . '_minutes" id="' . $attributes['name'] . '_minutes" ' . $this->_render_attributes() . '> + <option value="">-</option>'; + + foreach ($attributes['minutes'] as $minute) + + $output .= '<option value="' . str_pad($minute, 2, '0', STR_PAD_LEFT) . '"' . (isset($selected_minute) && ltrim($selected_minute, '0') == ltrim($minute, '0') ? ' selected="selected"' : '') . '>' . str_pad($minute, 2, '0', STR_PAD_LEFT) . '</option>'; + + $output .= ' + </select> + '; + + } + + // if the seconds picker is to be shown + if ($seconds_position !== false) { + + // generate the seconds picker + $output .= ' + <select name="' . $attributes['name'] . '_seconds" id="' . $attributes['name'] . '_seconds" ' . $this->_render_attributes() . '> + <option value="">-</option>'; + + foreach ($attributes['seconds'] as $second) + + $output .= '<option value="' . str_pad($second, 2, '0', STR_PAD_LEFT) . '"' . (isset($selected_second) && ltrim($selected_second, '0') == ltrim($second, '0') ? ' selected="selected"' : '') . '>' . str_pad($second, 2, '0', STR_PAD_LEFT) . '</option>'; + + $output .= ' + </select> + '; + + } + + // if am/pm picker is to be shown + if (isset($ampm)) { + + // generate the AM/PM picker + $output .= ' + <select name="' . $attributes['name'] . '_ampm" id="' . $attributes['name'] . '_ampm" ' . $this->_render_attributes() . '> + <option value="">-</option>'; + + $output .= '<option value="AM"' . ($ampm === 'am' ? ' selected="selected"' : '') . '>AM</option>'; + $output .= '<option value="PM"' . ($ampm === 'pm' ? ' selected="selected"' : '') . '>PM</option>'; + + $output .= ' + </select> + '; + + } + + $output .= '<div class="clear"></div>'; + + return $output; + + } + +} + +?> diff --git a/vendor/stefangabos/zebra_form/includes/XSSClean.php b/vendor/stefangabos/zebra_form/includes/XSSClean.php new file mode 100644 index 00000000..b697d0af --- /dev/null +++ b/vendor/stefangabos/zebra_form/includes/XSSClean.php @@ -0,0 +1,605 @@ +<?php + +/** + * Sanitizes data so that Cross Site Scripting Hacks can be prevented. + * + * @package XSS_Clean + * @author EllisLab Dev Team + * @copyright Copyright (c) 2008 - 2012, EllisLab, Inc. (http://ellislab.com/) + * @license http://opensource.org/licenses/OSL-3.0 Open Software License (OSL 3.0) + * @link http://codeigniter.com + */ +class XSS_Clean +{ + + /** + * Random Hash for protecting URLs + * + * @var string + * + * @access private + */ + var $_xss_hash = ''; + + /** + * List of never allowed strings + * + * @var array + * + * @access private + */ + var $_never_allowed_str = array( + 'document.cookie' => '[removed]', + 'document.write' => '[removed]', + '.parentNode' => '[removed]', + '.innerHTML' => '[removed]', + 'window.location' => '[removed]', + '-moz-binding' => '[removed]', + '<!--' => '&lt;!--', + '-->' => '--&gt;', + '<![CDATA[' => '&lt;![CDATA[', + '<comment>' => '&lt;comment&gt;' + ); + + /** + * List of never allowed regex replacement + * + * @var array + * + * @access private + */ + var $_never_allowed_regex = array( + 'javascript\s*:', + 'expression\s*(\(|&\#40;)', // CSS and IE + 'vbscript\s*:', // IE, surprise! + 'Redirect\s+302', + "([\"'])?data\s*:[^\\1]*?base64[^\\1]*?,[^\\1]*?\\1?" + ); + + + /** + * Sanitizes submitted data so that Cross Site Scripting Hacks can be prevented. + * + * This class is taken from the {@link http://codeigniter.com/ CodeIgniter PHP Framework}, + * version 2.1.2. + * + * <i>This method is automatically run for each control when calling {@link Zebra_Form::validate() validate()}, unless + * specifically disabled by {@link Zebra_Form_Control::disable_xss_filters() disable_xss_filters()})!</i> + * + * <b>Following is the original documentation of the class, as found in CodeIgniter:</b> + * + * Sanitizes data so that Cross Site Scripting Hacks can be prevented. This function does a fair amount of work but + * it is extremely thorough, designed to prevent even the most obscure XSS attempts. Nothing is ever 100% foolproof, + * of course, but I haven't been able to get anything passed the filter. + * + * Note: This function should only be used to deal with data upon submission. It's not something that should be used + * for general runtime processing. + * + * This function was based in part on some code and ideas I got from Bitflux: + * {@link http://blog.bitflux.ch/wiki/XSS_Prevention} + * + * To help develop this script I used this great list of vulnerabilities along with a few other hacks I've + * harvested from examining vulnerabilities in other programs: {@link http://ha.ckers.org/xss.html} + * + * @param string $str String to be filtered + * + * @return string Returns filtered string + */ + function sanitize($str, $rawurldecode = true) + { + + // Remove Invisible Characters + $str = $this->_remove_invisible_characters($str); + + /* + * URL Decode + * + * Just in case stuff like this is submitted: + * + * <a href="http://%77%77%77%2E%67%6F%6F%67%6C%65%2E%63%6F%6D">Google</a> + * + * Note: Use rawurldecode() so it does not remove plus signs + */ + if ($rawurldecode) $str = rawurldecode($str); + + /* + * Convert character entities to ASCII + * + * This permits our tests below to work reliably. + * We only convert entities that are within tags since + * these are the ones that will pose security problems. + */ + $str = preg_replace_callback("/[a-z]+=([\'\"]).*?\\1/si", array($this, '_convert_attribute'), $str); + $str = preg_replace_callback('/<\w+.*?(?=>|<|$)/si', array($this, '_decode_entity'), $str); + + // Remove Invisible Characters Again! + $str = $this->_remove_invisible_characters($str); + + /* + * Convert all tabs to spaces + * + * This prevents strings like this: ja vascript + * NOTE: we deal with spaces between characters later. + * NOTE: preg_replace was found to be amazingly slow here on + * large blocks of data, so we use str_replace. + */ + $str = str_replace("\t", ' ', $str); + + // Capture converted string for later comparison + $converted_string = $str; + + // Remove Strings that are never allowed + $str = $this->_do_never_allowed($str); + + /* + * Makes PHP tags safe + * + * Note: XML tags are inadvertently replaced too: + * + * <?xml + * + * But it doesn't seem to pose a problem. + */ + $str = str_replace(array('<?', '?'.'>'), array('&lt;?', '?&gt;'), $str); + + /* + * Compact any exploded words + * + * This corrects words like: j a v a s c r i p t + * These words are compacted back to their correct state. + */ + $words = array( + 'javascript', 'expression', 'vbscript', 'script', 'base64', + 'applet', 'alert', 'document', 'write', 'cookie', 'window' + ); + + foreach ($words as $word) + { + $word = implode('\s*', str_split($word)).'\s*'; + + // We only want to do this when it is followed by a non-word character + // That way valid stuff like "dealer to" does not become "dealerto" + $str = preg_replace_callback('#('.substr($word, 0, -3).')(\W)#is', array($this, '_compact_exploded_words'), $str); + } + + /* + * Remove disallowed Javascript in links or img tags + * We used to do some version comparisons and use of stripos for PHP5, + * but it is dog slow compared to these simplified non-capturing + * preg_match(), especially if the pattern exists in the string + */ + do + { + $original = $str; + + if (preg_match('/<a/i', $str)) + { + $str = preg_replace_callback('#<a\s+([^>]*?)(?:>|$)#si', array($this, '_js_link_removal'), $str); + } + + if (preg_match('/<img/i', $str)) + { + $str = preg_replace_callback('#<img\s+([^>]*?)(?:\s?/?\>|$)#si', array($this, '_js_img_removal'), $str); + } + + if (preg_match('/script|xss/i', $str)) + { + $str = preg_replace('#</*(?:script|xss).*?\>#si', '[removed]', $str); + } + } + while ($original !== $str); + + unset($original); + + // Remove evil attributes such as style, onclick and xmlns + $str = $this->_remove_evil_attributes($str, false); + + /* + * Sanitize naughty HTML elements + * + * If a tag containing any of the words in the list + * below is found, the tag gets converted to entities. + * + * So this: <blink> + * Becomes: &lt;blink&gt; + */ + $naughty = 'alert|applet|audio|basefont|base|behavior|bgsound|blink|body|embed|expression|form|frameset|frame|head|html|ilayer|iframe|input|isindex|layer|link|meta|object|plaintext|style|script|textarea|title|video|xml|xss'; + $str = preg_replace_callback('#<(/*\s*)('.$naughty.')([^><]*)([><]*)#is', array($this, '_sanitize_naughty_html'), $str); + + /* + * Sanitize naughty scripting elements + * + * Similar to above, only instead of looking for + * tags it looks for PHP and JavaScript commands + * that are disallowed. Rather than removing the + * code, it simply converts the parenthesis to entities + * rendering the code un-executable. + * + * For example: eval('some code') + * Becomes: eval&#40;'some code'&#41; + */ + $str = preg_replace('#(alert|cmd|passthru|eval|exec|expression|system|fopen|fsockopen|file|file_get_contents|readfile|unlink)(\s*)\((.*?)\)#si', + '\\1\\2&#40;\\3&#41;', + $str); + + // Final clean up + // This adds a bit of extra precaution in case + // something got through the above filters + $str = $this->_do_never_allowed($str); + + return $str; + } + + // -------------------------------------------------------------------- + + /** + * Random Hash for protecting URLs + * + * @return string + * + * @access private + */ + function xss_hash() + { + if ($this->_xss_hash === '') + { + mt_srand(); + $this->_xss_hash = md5(time() + mt_rand(0, 1999999999)); + } + + return $this->_xss_hash; + } + + // -------------------------------------------------------------------- + + /** + * HTML Entities Decode + * + * This function is a replacement for html_entity_decode() + * + * The reason we are not using html_entity_decode() by itself is because + * while it is not technically correct to leave out the semicolon + * at the end of an entity most browsers will still interpret the entity + * correctly. html_entity_decode() does not convert entities without + * semicolons, so we are left with our own little solution here. Bummer. + * + * @param string + * @param string + * @return string + * + * @access private + */ + function entity_decode($str, $charset = NULL) + { + if (strpos($str, '&') === FALSE) + { + return $str; + } + + if (empty($charset)) + { + $charset = 'UTF-8'; + } + + $str = html_entity_decode($str, ENT_COMPAT, $charset); + $str = preg_replace('~&#x(0*[0-9a-f]{2,5})~ei', 'chr(hexdec("\\1"))', $str); + return preg_replace('~&#([0-9]{2,4})~e', 'chr(\\1)', $str); + } + + // ---------------------------------------------------------------- + + /** + * Compact Exploded Words + * + * Callback function for xss_clean() to remove whitespace from + * things like j a v a s c r i p t + * + * @param array + * @return string + * + * @access private + */ + function _compact_exploded_words($matches) + { + return preg_replace('/\s+/s', '', $matches[1]).$matches[2]; + } + + // -------------------------------------------------------------------- + + /** + * Remove Evil HTML Attributes (like event handlers and style) + * + * It removes the evil attribute and either: + * - Everything up until a space + * For example, everything between the pipes: + * <a |style=document.write('hello');alert('world');| class=link> + * - Everything inside the quotes + * For example, everything between the pipes: + * <a |style="document.write('hello'); alert('world');"| class="link"> + * + * @param string $str The string to check + * @param boolean $is_image TRUE if this is an image + * @return string The string with the evil attributes removed + * + * @access private + */ + function _remove_evil_attributes($str, $is_image) + { + // All javascript event handlers (e.g. onload, onclick, onmouseover), style, and xmlns + $evil_attributes = array('on\w*', 'style', 'xmlns', 'formaction'); + + if ($is_image === TRUE) + { + /* + * Adobe Photoshop puts XML metadata into JFIF images, + * including namespacing, so we have to allow this for images. + */ + unset($evil_attributes[array_search('xmlns', $evil_attributes)]); + } + + do { + $count = 0; + $attribs = array(); + + // find occurrences of illegal attribute strings without quotes + preg_match_all('/('.implode('|', $evil_attributes).')\s*=\s*([^\s>]*)/is', $str, $matches, PREG_SET_ORDER); + + foreach ($matches as $attr) + { + + $attribs[] = preg_quote($attr[0], '/'); + } + + // find occurrences of illegal attribute strings with quotes (042 and 047 are octal quotes) + preg_match_all('/('.implode('|', $evil_attributes).')\s*=\s*(\042|\047)([^\\2]*?)(\\2)/is', $str, $matches, PREG_SET_ORDER); + + foreach ($matches as $attr) + { + $attribs[] = preg_quote($attr[0], '/'); + } + + // replace illegal attribute strings that are inside an html tag + if (count($attribs) > 0) + { + $str = preg_replace('/<(\/?[^><]+?)([^A-Za-z<>\-])(.*?)('.implode('|', $attribs).')(.*?)([\s><])([><]*)/i', '<$1 $3$5$6$7', $str, -1, $count); + } + + } while ($count); + + return $str; + } + + // -------------------------------------------------------------------- + + /** + * Sanitize Naughty HTML + * + * Callback function for xss_clean() to remove naughty HTML elements + * + * @param array + * @return string + * + * @access private + */ + function _sanitize_naughty_html($matches) + { + return '&lt;'.$matches[1].$matches[2].$matches[3] // encode opening brace + // encode captured opening or closing brace to prevent recursive vectors: + .str_replace(array('>', '<'), array('&gt;', '&lt;'), $matches[4]); + } + + // -------------------------------------------------------------------- + + /** + * JS Link Removal + * + * Callback function for xss_clean() to sanitize links + * This limits the PCRE backtracks, making it more performance friendly + * and prevents PREG_BACKTRACK_LIMIT_ERROR from being triggered in + * PHP 5.2+ on link-heavy strings + * + * @param array + * @return string + * + * @access private + */ + function _js_link_removal($match) + { + return str_replace($match[1], + preg_replace('#href=.*?(?:alert\(|alert&\#40;|javascript:|livescript:|mocha:|charset=|window\.|document\.|\.cookie|<script|<xss|data\s*:)#si', + '', + $this->_filter_attributes(str_replace(array('<', '>'), '', $match[1])) + ), + $match[0]); + } + + // -------------------------------------------------------------------- + + /** + * JS Image Removal + * + * Callback function for xss_clean() to sanitize image tags + * This limits the PCRE backtracks, making it more performance friendly + * and prevents PREG_BACKTRACK_LIMIT_ERROR from being triggered in + * PHP 5.2+ on image tag heavy strings + * + * @param array + * @return string + * + * @access private + */ + function _js_img_removal($match) + { + return str_replace($match[1], + preg_replace('#src=.*?(?:alert\(|alert&\#40;|javascript:|livescript:|mocha:|charset=|window\.|document\.|\.cookie|<script|<xss|base64\s*,)#si', + '', + $this->_filter_attributes(str_replace(array('<', '>'), '', $match[1])) + ), + $match[0]); + } + + // -------------------------------------------------------------------- + + /** + * Attribute Conversion + * + * Used as a callback for XSS Clean + * + * @param array + * @return string + * + * @access private + */ + function _convert_attribute($match) + { + return str_replace(array('>', '<', '\\'), array('&gt;', '&lt;', '\\\\'), $match[0]); + } + + // -------------------------------------------------------------------- + + /** + * Filter Attributes + * + * Filters tag attributes for consistency and safety + * + * @param string + * @return string + * + * @access private + */ + function _filter_attributes($str) + { + $out = ''; + if (preg_match_all('#\s*[a-z\-]+\s*=\s*(\042|\047)([^\\1]*?)\\1#is', $str, $matches)) + { + foreach ($matches[0] as $match) + { + $out .= preg_replace('#/\*.*?\*/#s', '', $match); + } + } + + return $out; + } + + // -------------------------------------------------------------------- + + /** + * HTML Entity Decode Callback + * + * Used as a callback for XSS Clean + * + * @param array + * @return string + * + * @access private + */ + function _decode_entity($match) + { + return $this->entity_decode($match[0], strtoupper('UTF-8')); + } + + // -------------------------------------------------------------------- + + /** + * Validate URL entities + * + * Called by xss_clean() + * + * @param string + * @return string + * + * @access private + */ + function _validate_entities($str) + { + /* + * Protect GET variables in URLs + */ + + // 901119URL5918AMP18930PROTECT8198 + $str = preg_replace('|\&([a-z\_0-9\-]+)\=([a-z\_0-9\-]+)|i', $this->xss_hash().'\\1=\\2', $str); + + /* + * Validate standard character entities + * + * Add a semicolon if missing. We do this to enable + * the conversion of entities to ASCII later. + */ + $str = preg_replace('#(&\#?[0-9a-z]{2,})([\x00-\x20])*;?#i', '\\1;\\2', $str); + + /* + * Validate UTF16 two byte encoding (x00) + * + * Just as above, adds a semicolon if missing. + */ + $str = preg_replace('#(&\#x?)([0-9A-F]+);?#i', '\\1\\2;', $str); + + /* + * Un-Protect GET variables in URLs + */ + return str_replace($this->xss_hash(), '&', $str); + } + + // ---------------------------------------------------------------------- + + /** + * Do Never Allowed + * + * A utility function for xss_clean() + * + * @param string + * @return string + * + * @access private + */ + function _do_never_allowed($str) + { + $str = str_replace(array_keys($this->_never_allowed_str), $this->_never_allowed_str, $str); + + foreach ($this->_never_allowed_regex as $regex) + { + $str = preg_replace('#'.$regex.'#is', '[removed]', $str); + } + + return $str; + } + + /** + * Remove Invisible Characters + * + * This prevents sandwiching null characters + * between ascii characters, like Java\0script. + * + * @access private + * @param string + * @return string + */ + function _remove_invisible_characters($str) + { + static $non_displayables; + + if ( ! isset($non_displayables)) + { + // every control character except newline (dec 10), carriage return (dec 13), and horizontal tab (dec 09), + $non_displayables = array( + '/%0[0-8bcef]/', // url encoded 00-08, 11, 12, 14, 15 + '/%1[0-9a-f]/', // url encoded 16-31 + '/[\x00-\x08]/', // 00-08 + '/\x0b/', '/\x0c/', // 11, 12 + '/[\x0e-\x1f]/' // 14-31 + ); + } + + do + { + $cleaned = $str; + $str = preg_replace($non_displayables, '', $str); + } + while ($cleaned != $str); + + return $str; + } + +} + +?> \ No newline at end of file diff --git a/vendor/stefangabos/zebra_form/includes/babelsans-bold.ttf b/vendor/stefangabos/zebra_form/includes/babelsans-bold.ttf new file mode 100644 index 0000000000000000000000000000000000000000..b42412598c106aa451c0405865083e3c44df28eb GIT binary patch literal 49356 zcmb4M2Vh*q(SG|**L1zU>%HqFov!FqPt9tUC0WIiY}vBh3t&o!X$e08LJJTe3B@>= zBoHtJ0t7<BpYRhPl+Yc(U}9_xgc3>!9jv?m+r5)31Y`Nlt@gIe&d$!v&dxq@gyT2` zcLpco5`!bvN!{uHdnd<{I^+(lIA+;#H?%CP<T&wS<n3K^^eL-7UtAF7IQbloo4RoA zs%0x*y7lqfQ1(xFYS$t|a*Svk>5uRP)*f@>$-njLZbsenI8OBJQL9eaaHr;><2Y{3 z(;T<px}%R>v24xCGf-4IfimwLv+U&KL}KoTNL!HU*|6-GRZ6?7z;S;*5qWLL9s8XV z?~486c#gaG4;;tqIf^@;>mFM4=2A`5$DCF4CUUs{T`{(fe%^as^1ecIK_kkEu4ZLv zCjEyxqN@va+^FbHeBUO@9rP_N@iEK!m^+J;(qB2ALD_7A{zlgEf8xYQJdPiZxb}Un zriFP<Cc!7qm7Rgkkg@Mye;<+_PP|)N!r>zB0~7(~M8`?+^yBdn1y_d8MxrasaIbM~ z+?j=Da&=)ZefX2`{r!ax$qufDJXCm-dl@ah#?_MmXCsdmz9f%wI(`S|=KY+&UBg+? zjvtSmv~Vi2n{%UV677D3&nE8G!oN}8h^H5i9FG}o%oIO49X`<}&Erh0Jgtj1N{<Km zf~bRY@}a_e=r7I>adtcjq-)40T$(=}-wkm|)XkBrxpL%JqE03M8&<X&-&>KFV4p)= z4bm3Wlb{aLg%3p1!e@M-@D9@NAYX)bDk#qQ6p<fLd<$<9J;wDYr^OQ{n;EWZ@;6S) z?J9hMJSENN?&hN0?S&_RLkQ_G`VX=4kFvU9q*X+PysJ4SYx{3BUHF_ID*T6R292&R z<nbMkz7*W^Tr)nU<P}baw(O`Y#_vi|h8sXygGWnLg}wNlW8=|*Mj6hJvOzpHlr_-u z#DlRuTKJEs4s)q1e2OwXw13Q%K_ul2Y|NA&9tFMWoIF%`gFI4rhxPv`+R$+dep%ro zQUhG**k8e%)8F;rrCyBZK~7Kf;29l9@bvK4fmU}HKE(K%@Vf(#lf=Puk8(l&7S2(8 z3I*~hmqOo|&%+;4ZQ)(ajUD5nbG7f`UMm#PZWN#Y#Pc!e_94m@=a<g$0S|bG&bN`x zF`ehx2Xjo@#5`9q8W!i2&g;Ghe60eFC_nDYqiOW{8TxO;=R0^lrSp&c;=C5;nDR*R zp>+9#3*vXm1N$F3$FvSU`Rg!`D985#m;12}=yN$I=jU=>e3wA`8g577L(wu$M(#z~ z`#Bl%E!^v%{pDO4e_a77tbZz_IL-*pMT*$)NLUUMJTl9~lA?quX3FH{3Z+V|(dzUD zqsc5-tTwyD>2iC#K7Sw>3P+-`ig;yJb)qJjN@r@bb@dI6P0hKM*0%PJIh|eIJ-u`L z=JgK@&L0{c8C@_oKCy7o<l-e$OQ)ADU$Ju4>NRWEtv~AMW6;-zV~;!jgzudA-Hj)m zOnW}%)YHEA{nP*Fj31nN*4Z2+@Hyw6cm4%Gy6~cle|*WM++{!c>CY~|;>xQwUA_6| z*KE1=7r*?~b=Uv;h8wrubn|a+x%IcV-G0aK?!4>wcmLs!_x$gl{(SHM-S?OKA9(Pu z4?X<Iqknts@h6^q>gi{;{r%bJp5Ok$i#uNW$Ih2`?S5s?t6Ukk2ffB12g|r}tRfY6 zI`<o{Kt{+iax%G$e~ABw$LR5SLY{=D!Sfrh&u87O1&2Wup}dv*1$QeMCe!=M8ax(O zw!T!Bqh$+U6y7hqUU-cTu%OECoVj)8y4^={-0r^JogBAo=dPtMpXqrG^Ae*a*uTgD zX^!);ykzM+`av+GRGy#Aoy~3J&g4$vPUSWr=QQqn9P}D@0{0#6``k&;8}y$Gtu4a$ zmvPr|cX0P{pOF|@PtGL2A@|^C2ha0K{yY&US}8hJbh+pb(R*cOWsb5)S-Pyf?2@t@ z%l3$C#lzxD#IH#>$!f`;Bu`4-k>sU%X-K+W`kBlk8<1TrdqlQd_KCbsK3_g1KS%yc z`5p2X<o_;Dmai?pqx?NZPBC9`s^X`L2NiECCCZ4hLD{2Rq}-tVp7H|aKU6l=u<Byf z-&CKe=czZUFHqm9ep3ApjYBg>bEf8AEw2q|PtabY{hM}=u3Q(_Ez+H+`<w0seNsQA z->CnCevke$gW3=`<P85d&ND7H{@(bc@t-EGsll|!wAQrI^lQ`O=8(D8yxDxed5=&h z{8ZRuQCobLD=jx!wbn7~an>`eZ(2XGC2aF-C)@sDd&sW0r|qrw)%Mfvf3R<JlsV=) zu5rBPR63K+Dd(@9+gwIho$IHrJ6+pcpSW%ADtEhkk^2Pqo$il3O`fwoPkS4@=XkI6 ze&&n#CVUtA?(^;O+x#c`9}ffqX9T_oP6VF~%?)i1y&U$0SBGy6-yeQH{9Z&7nTXsJ zc`urbo*La9i^N)Em&6{7eO8gESX;5V;vaEid~SSw{OS1Hm1UI^l_yl5Q+a=tzN)oq ztm>ClyYaKPx(i$(;k&s4{{pAuID=nJ{Jv1w?-HewIleGQVsl!pl2(z{6?eNUU0VKy zkjEErXToN4ID@+Vd>?l={}*r-XUO<XcdzIBHf{u;`S=*OhyM>}fX3zw=_=muQ}ZUH zi>J+ojS_T{N!O;5<~>SFz#;@JDupFrMN(O3)En?mZ{#o52Al?i!>`o^Tn2;FuhlqR z8m+_0EEB$uB>A1_7ZQm0rKvC;k~}fJAhj_$%<sJHvP;3kgljDLxzAC`#BoA~jSbyq zG0Gw?wVykEYNJ^u>ygS7Lcl5{|98Nk_6hok%agSkBOZg1t_4z<;pY<z`h)yKZ(+ZX zB9^tm@R|ij^E-QcFJgVQK|5{cEtD35&ac}%sp5k(FBR)IL;JPyuhZ{{pQK3Jcz$Gp ze|-jGw6GT%bP4-T$_4N}=xEUSt)vQ50iyX$DII<?{xnFI0|CtfSu#1f$Qm+MCd_5c z&69(JgjX2#GLwlv>X>6@&ZFJ(yA{$%uE#x)kCN>JGObMGG^@oxpFf~K4@43$HT>6} zc-#Jt1_)n{j*JEsaJL`Qhlcf0MoGl^ph4UCe{t0Q&Pa14lddW&vVd6#n^Ku7QE@CT zFol|zn)tTwx1<%;aKpTsxhtD($+jPS5=yyLnn13)Iv3QaJ?Wro5uf|{L~wLyZk@O5 z=rbB7u4(2c*PG`IE{Mja=BG15OJlLofey<W^k4W8G`)v6!rlQry+sOwisYVree=|h zr^uhj$Md!1Z}eevS5t_SOEGtLMiG+{Sb_Rgz`L3FL3|fUC2O-La_J&<C>Zdo7B13& zMPgb^@kiEhs3)D78wy!IoH4$lGnoty+GgQR{!io)*g|y9fdhFY@8SQ{M=fZcs|T<A zihmKhgRVNvxY6t;sccRpLi$(h%Xm$jn(#c~SM!y>`Hes2-@8}ubU0>SIEE@f9(LHX z+?S}Ygw`(A7g9Nr&5<x`48MrJT&5D|L=v7a`=8}1aVsw=E8`cOeWthFWAbWrF4fs* zdODEwxWE%%f<Ny958CN^4QBjV@LSd|WsfN(1rJJ7S^9{ONA6nh>~HlAc~^J_y(g`6 z^tbwv_RjZ(oy#46Sp3_eXYg<2w&54>L1eey3JT~7SCA`3dM?6Maar_`4uz|Ls*4C& z`sp{RMIeEo!!J@~f<r(GDk8E5${#35uB@t6yR;TTJSpp%(-vt6>HGTv9?7`4ccd%U z6gIrp=JlK}*V*+U??Vl%T{4CEb7gHzJ9k>?_e(?B&hWr7#{9dg1!?2L<Fx|=l6cEJ zqW6r1TGaWlF&1=4_8QWlt(bEcUgUoUS{Secso+|;5zOBq5-f`~96ThC08y|EKg-yM z{T@;{)6sCssVH}(Vv&?fv3Gv{{t<Gk!j+Cjk}NwKO}iBNRw6e+0Llr$N;8=7xq--y zMgz@}7jt-*qq8|0ZS1hyyILw@&2#qb{o=j@v!czN<mal2sLK(Ks8kg(mm?I*pQx^g z9GHROVs3=OYrGWWjdB^T19O8p04IgjM2b%=+>-1z3;U#I7E>fLN~CmsP$6zmi;5$! z&GJ%bOs6%;7KtU|1r-hYK*k@a3mW}GeXq5qrz$hwrHi<3a@lo$r_FA+$OMO5Yw}xF zRlZt##_pLL7c3t2`R?%sS3|Yalghc{{l38Z-soU1lnx2i0zVz77KD12v$7_i(l`aR zB~)duY;!{9Sg|Hf#hSpHFRm!M2u@w5C~GgV{txYK0mkoy^B26_UW{1-SxrZg<BLkc zEbML0X<U`A?#{V$J9nM-?y2qH{m#br6W>1j`=1?yKJ2LXaj~8OJPbW)0v)jOKAt<L z*H!7(v@{QN^b*lo|2naK<9EK>e(JlYZTJ-RROIKxje4-k2&F6t><1A`?2ZfpIi=N* zBgAcRhIM=y86YBFAGH~saU)EdMy)|6H)(P@r^XcLd*><j<@N@DputvdQ1mO*Vq=An zu|@QTs4Z)Y>BVaF>*kInH}S(oIq1ha!%D{DA~$Us-?V9*q!vH$z~ToVq<lcQWMLI{ z+|!UL(3L31uo7LfBFyU@Hk(H;k*z((R;|sbeL=WU2=;0+ZWmck<r}5<u745P^5tl! z39{{4w1a%w&b2F5RA`aHzYA}0Z-NH2ykC@hbKs^yrU9uuGeZ7s;{O5pQ;(uWWl;tl zT?TuhENoOmc~q5Qn((`e7tAIj*(6d~E8426+A6Fnkw|H+XfLG~6R}bV*lYo_QcRFG z`)!`ES;iBx%rQ7R+#ZRvjf@UBodcu8ZAcG~4m$J=?d=(#FVo)Mpw~CFA)V-$YqOZB z@+Vv`bV)UED`&a^R54+$bfmgPSX3LEV^i^OHBEb0>8mU=udwoRl)n<?!&LWqQ8ou< zS6oF>fv%U5(u2q&SLWY0W^Arp(k)bXRn>G=TSSx988hr5o!zJN&uxyVmU-(P-md-y zHPL~lps#U$wX$_o?}-ZbbamVi9vEBJ036MQf0C=vXCsxZRr~=9mvUCIONk$BH`_a1 zuMoA&%p+IHu>`$tA>I~?<|-VL30Wj=beYN<+j+A^VF_B4YJ1pb@d=u;g(63FN4#ck z()zSDQyo#-=S71(4FOlWD{Rbm8(d*yU2cr$Euk8VEfuqwLrJH)qQBl7YagYy#|&t5 z71n4uG#}M7IzM3y8TK2<Rr7lCpMA1u@lSqo!y@uRJ~VOXor~d0Vl*{_Kd#}Qf{bG0 z^ZO)Hs3@;U*hkKT26T<7syk_^G}>RuKi{|@(Bz6*l}cO8DflevvPqFWF(+O-uSR$; zJl0*MR^GBW{{!_LM^(MU(VX;}f;A3#yuaR)99V+BdFZY;$km{21Rke-z2`tVGn5wu zpL&*2Vb~s`0<Jbx%&7@A3q)zF@P&i2g=Lmla|F|DSC@&^j;fC8RClFuvRnw-91$B( z4B71=OZjWT1w9F$Eilqu-C84ybf#Rfj<Jamx4VD-yrw|1Z=uiDknnhGn(VgPxWicm zjS3#Hfwr6Yr#Ur#fxY2Xiy)XpWK;eOqKS2;oMcg%FWbkTwqUAt^VXXOhi<#+8q^bk zcZzGz3;EwmM;JPQeW+HZy18h%iw+qeRnA4pPYqKSPc~H~Ltb-5TSY}{%;XJW5ta*y z-egU0!g8F#=r)+ZRSKia2<}ptRkpAV|5Yk$$YzV!Rgc%LbP97TgS~ZrUtM>wvd^N9 zBx>!kk@hIoDcNWYyYvQk)MN~~^hS3if3+<cwpybpn>EEgF;^yxWi#d~$~7}N!o$qi zzxAliQbiRi@jaC*2V=jv%n<eoweD0;+-Qi+Nd}wEyuw!LkNRZen7O9X%q=UogdFw| zov(=99uyShyP=7(0f*6)n7c3%!rXb;+%>1lBXg2YI(MT#w%1iT?eSWhy)otWB<g`H zm6Kawqq02=m7w(5vSP&w^6L#7^8FB+Jd?@AGTNe)rDaNzdCSTbD?+@kD4SWG;kC!u zt4acz%Kp`m{fp_IC77us8L^4nl;1)8`IA>Kzv}W;&&)^rZth`n6WLqDfpQHb7A^K& z@*_OgE?)fN<Rs-S54VbJEw)86L6eG@$kzNxB$$7R)DJ(i;>xR5fR)gm03M{aQ<Pf% zvsM#C5LU~6sh6VawrJ{-pV?}<DyuuIY-N*WYKz}y4p`Mjmrt!T$oYk3DvMF?5mXni z;H|N_S+BQopi=EhhXr#WZnjlMLIxoct9At|y)LsUTA7;pjG4#4!&&h1U-JLthPbu+ z@Sw|-Pr<0n9$=-h?FY5>i^irOHce?ogQ07olIeyOW_1v}BBkZ_8+iPe@v$>Tx{jM@ zi5e2CettAxw&;I`L&1699co$L8GsJ5$ZSfnTwa!4C^ysw15F9Ppwt8!;=VegG#Iic zB3^Ygod1Wy?6Z^`%S{fgMB}b@n_YStS=@Kgu^sWgRVSR%u;lvFx(!yVu3_c*gFTm@ z+Mgajw#n1kT5pmW)k>klOor0-us7S;(`j?f?@0zN4xio?G&GzYb9T08wNjZgme9M# z2I_2)8ahXX_pmo}Lk3H!q!5dsinA#}<Yxv5@BU!vD{FHvwJ+OZifQx}D*m4{wwEx; zo#*#-UqI(r#KkekAE3S(zAV@?v+^QTL3AJ)?7|9?q0?<BrOf1m>ZHee)a0%`>rXko zq4~Hq-h^B0Xl*^~<c^-FYNu_E!Pt_uGqw%nH@VnzGD}5%b9>!Kwdjl5TW|0|@DsQx z7@oB<i?ZfW;mZe?NUfnvptd8V)`aI|+?75-KBbH_&P$|+nqxLaxi#86T3a{L6nw)K z=}NomC)QL~uN<j0g=>Ab#9+PK+t4>U5s6KX^*8up-8eSlxddos!C3Y1elvcCJSmP7 z3{2$*c!K?I7F;48@~SIq&03z=9vk<2W0vx1sX5{`RG5!BN=O-8L6elMuR3=1e4R`* zV>7uNg9{gh{loK`)iN<35tnNkd-^fv8qoJ0^a<66)j0d3Bk$y|C*J%nGLRouP5ozT z$J7iwvM8TM`G-+nj$blf>~d)x@^Jo`X(G>m%AbaEq<?BBE9(S3n~U@m>%>sKUrE!F zrv@8dzB&K-4eCI&!dO4A(qO3Us}H1tR`~)&uyHs$eB2zDr{{#BXrE6-PA7}c)mZf9 zso~YB)asFx5YL63>9L%*``8OQ=A3)<oS+etNbyaArlQjL;C=Ao0nR#JG@XBcdYb6K zbNOwg3Ro}7{~G0UkdxP-JhdlL_L^zNl*P8nA@9fV9d^M%d{+|aVd<>GB4g9M%Iy%a zw#bAgm`l`m1j=6{AJ2Sltcf|z;j~ku56!LjL#Hy_DuJ7;gqz6VCk(f&fp>lR{;~PD zr<V^ss3N~7iTtn0BH%}s=C3W{fqLXR)DyEgLoIS${;g@%6n`F_Btq8=KZWnj_+ICS zX08&4>97qcgN~m%Szj3sD`jSz(`i?nJ$=!_3oyjCUu-!)Y9E?D>ZsKfGd5l|^C9^n zFF{+?Xp2W%m~ZO6q5cUSd<9eaH<wHiffDC^UWXdGnfHMl&sj0&eUODFE)G=oIbw<$ z{XiWEF-O-e->0(2b0g`YV_NO*j-&bpj&64?*T=dusjdn`nbNGYwM5fhF+EuoUASPN z!8h;33tF1b-q789{5j3ls~2Q5!^^82Z7uaCPoQob-k8!lA|C-~BijMd-M@$~8wd<0 zUEvXALW8a%@{z1uQ&HRM-!*-dxxOx`u?fot=Nx;EI;_%~)e=&$rL5s9ixl*aiZwQq ze<a${wwH({Ru9%FxWrm$FOApAB@Q34C@d8Yv|IkmsGGJ`Zj&C_$nz(xA79V=zHa<j z(|jw&@5BinCx#GVCKjmRrwf*vk}fgbQWvSfw;rvp@O1TAHIeFCSAOqwo5iV9cmhGM zMeOa!U4CP>PW8OM#b#JF(42AyjS|qJORAPvH+MEC%6V%`_AQvIl<zE9AMaqjGoK4A zesoM-Z*<d6JukDSk$|ly+sYQLBc}AoJKow3pU$H-hMc<gbgoe{DLQFI)x4|=`CjCk zLk?|k{oH=(IDgLZHS-%h4`=7rI2B@rSgN&nEt#6O9{DjRy0ZOMna(Olxwu>`GuVT+ z`sUFg`S;K8H4Otl3D(U^pbPcl!t$V=PV!Q|;+|=Ut*M!l`SVbw2K-C;-HI~%*La2| zi#*Kp(^6-BvMOzpF4ZI!56oL!qk;GI=KQ>>`Az;%%V3n;nP1R&;#5Q9(i0h73LjuT z%xDvPI^q{$PZt*X4JqEdY7@}ZU$O4hCH#vs|JDceoxFjGS?pgwL!E!24qecG2`>%t z;n@!Z4DGC0FQoW?t+3Y#rdH3<o)(9>*0%EMX{E>SRePE}i}@EX&VPK)xkP#4rTO>I zKcDC?nXzRrykc|DkMplyhW6h<`*yT%0Ea;K04dCt-youXJ<Jbp-}&VF=%CNt7d+vS zS5JzK1Oh`b6*-qI?Kr)y?evcP=KSe>7xna9)K_ZDing$qC;M6gae3>p@zGFdB>tUO zm+>zy*gQ1!^U?fh{vpy(<QEa<V>{~M6qfE?#aXtIAX3<S+w)ht+uK?jYV`Rr(x|bk z^Z!sSt608z_2NOts-?z=DW8O`h54!|#JLyI2Ids|f9ko`y*M&*>$Afm`S4yi(@^F> zUjR%G!<$<NZ?f`vxWiFjg!;Fa>g!<b;<^3Sk&$Obw+!$7bhwD89H(uo!PnH;%q$pz ztiG`G!e#wKWQ_bczv0u5iv7G<(BRa05!D^cvV{-!1LlH7KPtYDyO*6Ia0Ynv@2xv! zitoGZGF0R_El!)S=L6XDVdaRc_}bzQUQ#q=%}xRlPTgVVqLC;R#VE5OF<az%jY`Cq z``YV=mTSf&YLmy34EP88at4`Xu(z_q$xFq8!d~h31p+R2&Z!D4oLU^lp3~dESmOu@ z<;_W*x?CTL>qGjkg>HMfp#IRCOE{zcphqrOVCzhA3<Jk4pp%)N`xR|%iIfqXS*?d} zZ?@=SJy~~+VRB5L^oAN@4y|-jZjQKoVWU_sgk7GnNkY`&Wee)9#yvB(pvmq`G`F=H z9o@NDytUiz=xmC{b6s?f%;@`K&<7ItV7u%fu|lOgxp+dPGJDP5s7Wd_$Gm~Cd`vak z-!w0#)mF@FjJ3w?x2YV}eq*$`$K~p7jx<$k2B#awS5?GTEU5Qnu_MJ;)#&eBjMa!4 zp<2(hUv@Fa{DA_U>M(NdB16(s-xJg5DthWXNrOmc4!PW6K`t?dy}qbP0zLVv(bhDv zA`)IP-efWRiQLiA7>?z-9Ja2OcvU+(F7m+^jMG8AIl);sPSLukr9M*TcF6jR8yvDl zUpcR#X`o84uNrI`Tw<8iR7IWG+49?;;Wf4(oKhC`n}LeuquGY>)$ytoBblYc%IXGB zve`LqO-F6EXqwI~!RhaZ+zj~Jg<W51sB|UZC*uc~(I2X;&BBbuud7Z9JUs>)ATona zZZ`5eB;s&$kGFXCBb7*HO0`<h@Gws3n3M%C`4Qu7>d!ckmhi6CW|<8YsxF<7(bKv^ zcF8|lV9faHd*eEp&RJ0xbk`Wg@Sg{xWeXjNoUd~rTs|f<M?9X0St>V&UG9h=?<UWL z1xLf!iikaztB>0RqrIud>x;__;rgH+R>H^5&c;Zjsmn#@Akx@Lc`OWBbOGiZ@>Z;4 z4zwbB>u@Siv{XzwazVMbIpwQ0O)gQp6*jft)JariVW7VyVmD*!LedrUt+H~Xw?fGO z9Al4yu4kjo{d;bxk+UZ!C;4O7ub(-)bYRC9o`9eC3|6jmzJe1u9o;J)pdinfT(pQt zlnSX%uQj_g(MnSpzu~B(W=`T$GY>dqf>~Q88I?<-O>@|sav_Xo6WXM9y$FXZXfc(^ z8px(U{^F?1CzrT>s3J=qxu2XhV|yi-|Dsq2G~mu;cre@dOq?lVRQuZF*I*uD)$OAX z<&{|~6}L$yFbz94#Qs~yuTi*aaa>^3HOKt*#?d8Zx`4-EQI$=}j6R#isw66MqPwHc zU*YnH+}8NaOC$(uA_%{pDgRT_Wy{3u)?iGR-?DFh0#q;W>z|6B{oRoZ<euhKsL?dK zL~07UEl!PCMaBdDtx=baww-o1R=X_0Y9W6U=0=4z{ws{fM7?~ozJuaYD{Zz8+<lW@ z8LI{xn%P<#Xs)kuhmF!Da!ZBRTVa*UtrcER%vw%VmCJ`~>qb{qR<0VY^9jwJJuY`o zb2QT2&16la5z?$EOXK8P^v&eU;j;AbMR2V))>G$C8O9dt6OOvM75c?eQ^f0nqgif& zBn@G!R~}wI)@T!gGsf2q=H`VfBetH_%4k!k!_m_gkLSSSB8<7cG-m689+Q2e*1=dk z)amwBBi~l>bm9mGpTG5}iS^{+LrFjwZ(1>a*dFZM`9L1Rd9&3N70f}^*kWF3w<@e= zGNU*73{gyBM4wHElsLpBkSlMJ<Ix5p$CwZLzuB6QE;I&!9`-RMalAE>v??tMwcVtQ z`Tb$Zm~z3~Kts%I3D;PV?}%51;+4`d^~6Z1wbFWdBpWcx$|PlCh0d(=d!m)<(H=`h zqd$^CzF1OLjwz@}*BKU$+NxTCo2c+Ex0}BT_BSUmsT~SaF-pa0Mrxv>mD!TDyOlbf zOi|8@y1FKlX<lCuQ@i9-B3>p#Y?Fet_5DEny@C95&X%+f(v;GT>Lm;G1Jz2U{U^?o zO4g~s>;n@ycT#E!yWMW(B9X@JgeSPcgp=d^GtTCu+n=;MOr$=4gDsn>(i&X0O344u zAuBFMyUaeFwFFb-;wfjHMaVj)e>KEgR^Br;b<au~VL%H1f$i9a@<#kJYww{NHEIp8 z9aDVUq&aFb_>BuqQQiEhv!*)L0mBmBGJVIy#2wSqzgtL-#$*nS{Ca}P7T9MWk}J?2 zyp9LkqFHdm71#dkXls>#<EG;-{rT}L5=j;DlCrAdXl%GL|7rfUdlxUKIOPj|atYdi zxPpyMPYYqq&N^V(v}egBix(-RLe{?QnlhQzZidh#Mz1=Q^crQnCI7I`wd9`VGjC|B zD?MV#JcYQbV=gESy7R#AY_tvgR-6&T<bs{rNMNO&oqwnEjQ0HIM`HOI)hIvx(DJ_d z`LnUPC!7K@J&%2GJ+(`H63U(=2W}7Nc<@3t$D30bUkGL${tFQGQWM(}VPk~tQ7SLd z8+2ugGC~wim)9v1smgRlgVa!?_jsf-LPQ#m!|vALdm`4@EozTy*FwUJ#EROkq5e*@ zy??=YFlCTPco?WsWvwqTHyG_m*vUfPUfmwn2My*_BC3?a0;ae&1J@rz|Cf9oKOWvC zdT?)PPbV#SxX<xjj^n^F*v)0qVS466JyWJ+EvDNn7$sDM2x{JJqT}I1epAv6t%?6( zXoJszsR(#FEo!&QC(#?V5X`(-;}CpKIlhpJwFZOKn9zH?bZorF{oE2_t8NP$5S(L5 z)kGCievI%q!$?}|-HwKAjltSKHW9G-%S$6v)p`TH!AN_eIA1b8PVNWoDKCWC$}egv z<{8H37wk|=?l;$08{>L&(&?RRGimJ>t6GQ}Of^n_H-GF&17^9>Xm=lPu<2w*h0+Mq zi24UNAYN@5<%8^g&-hu>eqL*}I6T@i#n=W*T$9uUBT$os6T|ko8F)~OxoB5O5jZ3| zm@5sbtREVOnpfmzTeUfsu*yaAlml}JjDDrsW6?OP1aCx8h<XPV0}__2@>=*O%heUF zy{`FrPHq*nQpp0j+#anl@s9q8+-A|sWpr+-{k4I6hv5v(c>vZl45H-Pe`o&yPG0Ie za4eN-HWm|xRZ5~w5jTMK{}*nW*)_~>h?8D4M<4z#E3aGmD|!e^|A7XY!ky$AQS6{I zVQ6h~&8Epsn<n|P@u!{|pSg{nPwAyC3_~wI#rCAdy&P?o?aA0V^0k{#<!bz!Bok!a z#NBsK<gb{x<rd1ri1nUF#HE-i8lIIEh<M4!!u575Kkw2@Qz?YbBewBH_~~h^MVQ4} zjB!UJGO={ZhTx~t4*y_l04^gqtq+aAC>pNxFrWUE48;9G82>Gc|59d4M4}0+RBEk> zV!9<WpUA8<$AX*$ax9YD``(*J793Qr#v=J8k?J&hgG{E^si{}@Q~J9O4t!}bgII}7 zi-1@ek?Hhmtz7g=YkN~H*4$yWcIGN7S~|()){drVtO*%&TH^7R&fR;zcz|V<%D_-C zDWXxAGi)*`l_pcvWpcR6$wHPFiOy!Z%k#?*%PR64^8tx|guOB(Mk#uYhU7tD9Jw>- zf_1?VqTT-VZGA$bA0a$$=FxBK8KS%=;B@LW@+$SIX2Y<Th1b@ung6|0-LJm#Dh}Ft z#BjVJ5`lL-Tr1TA-V9adI211K4NHfz@L^N?2_l`E8^y3QwtJwiMv*B0#T##Yk-y2( znMn23`ixSU!Jp|%COR!5kzA+NS9?6wn6`3J8APSVucyE1<RaD7hf8)$wfLfe=D`IE z0)f%7!CWxrYb7V!TU#2;&QQo{$~HFHy#0M`Cbf?K)<lIjLEQFR+@<_$R9+cyp5Y|G zIY%zFIX$|v<pEyH|E@+8idC8yo?xq@<!$62*sttn<+1Wg;^FKmFR!!NsC?tkUVN;h zR-4jBE2=;f1KR(DwGY{HKo8Y$Sd=>Z#Nzbo%9cSwE~Y8*A>CH$_F=&M^^jM<;a!FU zZF4^s2gs{;_ak)jl$Ypi7Kis>+{_1{iE&wooqLPCN#)9+(V=hY9ANd3Q>%4`Os23y zN6s{d>>8~-Xf_8OTCF`q?H%qVaxbZ%`Z0(ZC->&lFU^O<0?n{vdP(Hk|DDLS_ql!F zeaa6KCI1XK3o8LSQcBIxs$zswsu-KW>``SmA!Txf*<#mP{igCBIeZs3m&Q)*l4oQH zb(U&W8kG>N60BMz5QIeg=5Yt2jlUcFH6^pebbbYk9u!gt9R!+m1JB>RtfOmrZ~eS< z{@?k3t?DCP<R|&Ji8;US_1Cxmo%Hqe<ZmMw3DpzSo~ALU;GH8~w}%?mL&bG_>bJA6 zSx{@f>)Tn`lwS>;m)lWXv(%?1P3_n?v}Vl^5x@Kj)~tv#AS&`%>=B||n(M*b!2yo_ zYEcsxh5f!W*DzhOkW#bG74ac{2>w}-zOuhL(POa;CUWzu^oHtzrqo=UZGKH8SLK#X zC@SH5v8l;(&xq92_Y$<I^3RrAD?Hu`i@e+x^?0#Ed@HeGs--3vsj44eQ&qWQI8zx6 zSJ<lCBidxnn`(A0u%=_wEi>QMouk`Ex3jA$O1F(7=C8Gi)-jz+?QW_W@rY;bZv$1T zr%ffN$b|<uUBBFbf4+k~uRPaZsN(*}VgX9=pa$w|s>ZCViIe<(^*Wf6MANR~#q^+m z=Db_<4u@0!#TWjh@3)j!+=V3U^=IJ=r~_5mNoklG{_ydKvtdSHiL@BUA;8|owj{?Z zNKqW7$Q27k8jIH~7R?vS%Eo2>5TZ9^Dw#cLqGy)Wb5_w3S7~Fdm5!~$@^T3;7owg! zRQ5!`gfp;myH1zv67II#L5N;sYVPcIySqD^jrUpZF7wyVCEfYW+HfqYcXc(vd52i) z!t017c%5r!n6gQxOh97|!w`qXa6Ib7E1mGd3NQ<heJ;w|(qhC9H5a#9?Gc?R8i|^v zDyh|7w(b;}N+EbmCbyswEfm}1EwMyrrAaQ$&f`Uq8c%!H9ErpPXHvODr=`0&5}B;g zYexNDepA$IG<Yj*nrL_08EKgxaW^`LR2EfsZD3_eW6<E(juhU&S<3yu8z<8T*p3q5 zCQZ3mAQc>f;AikG49I5U&3a2l<o%xEK=b1Es63{s!TunuY?9O8HU3~gYZE*CAx*G0 zY>~XK{G5oC`A^06iiUu**2Q0E4^{WCNDry4>Up)R1`<+*TDC-_RF->E?f$uO#h|}E z?Y6st8_o{M1CTqgwi(Z0#=$%WP|ZZ2R7p4b$ph<-7AwVKh2(^lTmI+TYp<QW=9(>V zbQM%q6|Pj|^P7j725z`vplQ4)&-U*_V5?Cd7=3;`JUmPm(Fl>5hbg3b2X^%)(1u0J z7I*)L9W%`akj|boflj6Ee};t|;SdmL7flj+;Nc=<Q!v}^R5=7q$PseDy)!sWgGtSX za6|~z*mQ}wJK`}rO)BxYe0(U>6f@fqj6Gr287oX0pF?jpTC+BHcuz%FW6GkiLdiO# z4K<39W$<ge{q;6ue?_>yI%-mf5lQc>)H-8!&4Lw<M2kP%;k35-%n`NDt5sTE0kbWr zv%~~@24hw5$6^0fx_dzNAzk&KPt`2tk7E`#<XqvS!rS~1=t1pT$hkx9*F$}((vq-) zk&3XB15f6_==@M<-tm2X$M=Uq{q%EQsLS0rR#!LH=yo-Zv(Nc+WN}3B8D(;~@v@dS zZEtOLOGv8?<*E?nyr$*c<9d3IJGZ6f9Qt`qOZw=Ey1I#@)A+2fpE%}JTXn51ma<yY z6^=ebQ)?vGAMnp>i4GNcKuT7T5XRz1>^3-`o`r<y!C^77aDRAMEqnuP95ie@M@UEo zKT2b}xx#M|^@y#4TT5JR*#HeCw8iz<ee#ZA&}h*5$gx68N4u@1U15v51ivNVmdS<6 zN+IUa8#U#cYeLzORxc4tK>IM~AwOdJ1-qOevkLtTk{_*EGkof)9cxz4Km9b%D|>do z`s(i2c3}WC4(e|##tC+0P=~m<VtiBjZzQ?+d5$YPXs+70x!*inqAF1-LXMtcBi4nw z2=*V|9>H{#!?4i!eU@n2zOh$nP{=J7vqa_f)Kq!>-#A_Qf-#YZYt?Q3K$TUVU-xT; zES#uP5x2{{#(?p1{4n-i*HPPu8XZKO|B}awW%h}RJVK%+zWhe6BvC^k<MU?%dK$*< z%LEL)a-B`5v+Cq>03_x7xHU<SEm9T>qCM%S%4Sxp%?Ro%eqzq_kWHKUCD?Bw+8SDt zt{5hh3>3S~o5ruYYJ5|EBWam@;DO1%{xyFm4LO5M+e?;W9DC@U4Ai1Qv|u}W0taUS z)dXshl!(tYRfTPH(zVU%L7Cnh@oR*5z#<|``^?eG+CW`HZBFSmMU4@SIa*cgWBfqK zI2=fOil=7bgSnZyCFunOrfUv#P;!Z2Ta7j7Fw5sEbUKgS4JZ@zHnY(rpQo6Uv{(5I z<msH#QBzCrvDh^Zeb6Lyz#W8xAHi#KmbWByZdlX=cUkAcMyK)vanRD#Cnse``JF!j zYMiw2X5nJ~YLN!t$(Ri(K%&z-K|zt&APq~yVo^28N}<uiSpgY>G;9#UA^?$)<*%Ok z=muWdVQA_39wDtmmC*|!<}x*z7i<+F<?rkJ7B^fonCZv`_$|lneg8QAnK5<K|6QGb zMt9EI@4TYCMDd0q?>PC~U(|(3`8!|c|K%emDDr<*ZDn)uA@0Y}Gg;~%1}hYI<^l{H z`a^D?N%kZJeXu^fuyq_K_n!KJ%D|kuka*@lqQSkliv}6pn@Eh?Lat!r1`ljmL1N4w z;V1+-dJ_gpR)8YFPA`c7Z#4<gnV^Qsi$Pm?k6;a2++MlF>`|NJKGO-Fh^%^rSg%%! z_-<L5$_mp0v~?mL{XWbs{HD-UaDCBOZPR^?x~#_)(%=H)$*x+}T!m5bDT;$PC1f>D z){Aobo7aP&bY~*bj9aPn;L1kYts3B!g2@C&5dAa?z$NIIQy&gD%yBw9>Vlz$cAN_Z ztX6+Sqlx&f7JnFh1|h@Fo0VbkiNZ>Tt_CFMeQ*A%RYQ)`U@{LA?$tfJcfYcG5AZDG z9Jr%#G4K?zs5_?RaRY^}B`I4<2#lB=tk|FB$Hw!66XeZs*XExN<R@lFe?vOWzrMFH z)bY+6J-xjov!596_n~D+VHbZP`f$RAhqFw4_?n~pXpt0QQHWaF*B^f&U4zyxM0KhM z%CQC&T7%S75wP%&j_3O){PlW9d-GgVq!Q<b*;I?%ZHg#NM!nP+smgfxFZX@{nO>S0 z<!5xfg#vK72)LAEylED_vVW{1+JCyVaQDjtzqA%?gYDe@Qw31sqHxPEe=?vQ%g>uw zR1<7Vq|*9cEM2eNt*Q>%U|CB0v3hM)J|hv*=}gDR{|0IJ+knys#l>8mWlP!I11G4( zV{#PNasHux#y_cokKD%W_G-2=OmxpZdrSo%A|{qfD!5?x#ZZ&LiuV_lX)J!LfO{`0 zqfLcF4+Y`J#A>;qpy948Bz8`fmBsXqsGJ!Dy!zvKJWh=^5U=(6LiJ{~RSAM3GQ79W z<7*gz&B5Y2MHgWv6*PW>a#k@mVqbJ8>8(Fyio^~M@#Objdg<Oz50CRatUbu8L)$wZ zvWv(LZclX4WqUt6xVinfNid(diwWGAKk(q-Q*uVpJxIzAZjqn4<kD1f?<WU03i{8s zyAe7*%&e3DvZps3(%B{0;)~@9lf^-|`10Zw->Icr{2w3Ozi6XOJiFr$R0$UB_?4Dm z)!v^TicndJX2m_BhDx;AUE!gWJCW`SuR6FNp6v|}CEfw!JOM5G=;^3fbnwlrVhAr| z{?d&sc$Hv7^X|7*_SqY@PR&a+viCwOf&u6y+ltu`-)-uUY4)zI5LM6Ay!4XDu6DUJ zYNsQwE=B(Gg?Hg&{t!AqL$v_)x0QZyZ!u+J;Zq+Xyj+(5j5zYH{6E(ZJWRHn;Z{w3 zF!d5bP@jGpaWMlR2z>TI7Sr1{yHnjCQeE2du}E#<P&Ghz30P9!80Tw947X~m0m0+h zr!9guJ~O`_alhfN%)xQL)r0k(V%%@$)D0u*jsrD{9XdwNS9DQx1ah0j<+Alf?HH^s z*e|m`Ix>Q#_3r)%-Qud+AEtX)eJp^3>Ysw8^u+%9Y!%H`-`}^Sw6f{yIjH)j#ijGm z{uX9e&1@r-k4j@G@@G+(v)v2q#MvJm`QZ|<=I8+pmDqBBLp<d3hurOq7Ia@oX@Py= z?RBRvZJpjPPcUX0Z?Sz}IXY&P+m4}nr}xPT(6;bTlzSiLBusM`r2{ScesNf~>DkfH zC5LtYG0MMM^1WauFuMz*RbItTZ0q!aYl)r~f_G^=oO$+?J<Q^`VTaO~b#N8kkwH$= z_)BOS7LY08tt_6qPI$7pdAqUF)Yu!<ER(`lfQar5o3B3Fl+e+eW&2{f^S_&y{~a&Y z53M;N=^yTE*2u)~5By6cQ#Z~X1T9$Hu87Ji8sESqRnf)8?5P91k8~8ps9y5hF8B)$ zc0|e%Cakgh46>0@#4p5C8D7Of{gA?}coITI@w7h@n8w8-4w%hFF)o(shi{GsCP!md zN%F`-g6Z7n*Bwz<@ZtDS{c;5OT)(ky6v2B(6rv0s%dbBobg(vN=_7&7onkAT>8K+> z>CTeg;*SigA}{CH9uZ=*cu~H|aPww4=d1nJ@THfo*?(<xH~I5d>ph##D7*N`@c$}( z2!_i`j%YxTLuDme7v+!>7T$h6c?2WaN_FQYM}})r4jds95X6grANLbGVL?&v0=8LF z>Mj+?Ri|uhIO&wejVCppa`K~BUD<c#mHk&-(SOxdRHhmW+xhwY2e6te+3nS$yOrGv z<Y{fTiNWPn*ro6r7F|5%V!&c3OrWIa*ER+F>oOxPafec(7PPIk&B1}X^iWIOuCja9 z<=<5+5XG1cCMWgr?o1$UB?gs(|9#_#Kj3SaH?}Yq%GK9<7d4I1-}@IVjC3ELE6<-6 z?Wszv8qPTKA6CP!ZLyGZLeRfdm%PFAOb#F#hFOV_H?z)lnk@1T8AU)WA%}-nvqhf# zy71~l+b_xduW0`wsDY;rZ=SB%)Yr9sApR1Z{LNaDRAhcd7n_R<^O?hYDXqbpukDEH zN=m09k9rT_(68?5Qp%J|zoH|iJ->cLeCZs4+U<z8f%i5g9CU(k(n)orGy4w^K%PTR z4`yu>dcVTVyaix2dcT4l*wYO(jry3qTL51byI~Q}w)(z5J$;tBraA@>#dKrax#wuZ z3XPzal6BT3PP8o2O*6JD#2Tx~KR?>q^f9hjSUi3#U)XR}@P%)~{*3zYi$}?nulL2r z!YRN!nPwU?iE|wobj2XjeOHdRnFE!A#&7r9g=oF6p)06Z!mGU=XTafe*dtXDyId=% zH5P+f+$(nm6V6~=$oNxlO~k8HxQ)7ay20bEk699Z3!`}jnK9QT{XvJdCYf=$EAfV! zkVWINYK%^gvcg^yG`nhYl)5-iyPo-7;`E+0v*5mUWVah;-i~h<-A#kaXKwtqA>N1M zOIOmj#&-mZ>^I*M-<?01+4^nKJ%GLvu9`&}l&rXKjq>D@kwr(@Y<GQ2tXWLS%njcb z@mV_4GvOW%#~#cwL)6q)oeO_^`Y$hP+tNX@yt|wpBs;ZK+je}*0X`!s6O~EzrE_PC zj-ERQt7huI?TD%V-M<#3(0MHwHTBBkDf;*6i8%GF&={z1y6Z4V1>c-+ITm(OGIQ3q zM|~ge^xaZTr5S?+n)OLiad!l>1aCbYMWwwmlTGv&$jL0p&hD3I-$=FLo5wb1_N7&o z2i)p7>;+ac8^3wH{HD@duJXMH-}s=h!f*2QPD(vDhrW}hbQ_^~dS03=7tdyk1^>}~ z4K+PV*A%efIp`=|S|mV@=dU-!`?ArT)jBUcI<8wFR+)WPyIU*v_H{QK490L>pmxw> z>q*aFVw_Y|g`GC9mOS|sUcV8fm*187og%qG<BE9wmCem>$6`x|YMoBMFgBrbg)QYe zcig5{D2#zXsLIz6vm}Gz#EKzRvccpStQ@r!?>wwg#VRXQ_9y~*1$b_uU(AJScE6<I zP#?iT_e+W{0$iFq;2aSz4*D-wP86<8Ol=F;%?Yuo=tvIQ!i`bu>=l%5_d!=s0wV)C zO|w|9QFY16=xu*bSVly?T11T(<;E7KPdtcSD|rMCV#TkxA!2}0wd)9OiBP4H|M@pu z6*(LSsw4JkVP?pE1rDRo3D+M94m*F6zvdfIIDih4(g|Tn?tdd1kn=Pc@V7^T2@~%5 z&EJ4bQLYu|guY9y<dbD`?Hkb<gx`SVjszJdyz(c112W)ap57VcZrXQNT=J9L1RJ7j zvS=2t8z(&8Q}-eF*1mEjoB1v5bXAi$8=Bc#yqLmlMZABA#stw5j{Sa;kBhX_PZmQf zXKr8>M1@b$?(3y?5Al<{j`3bUSv<3zIje++7IxjWup|AmZ|TAwh`#2C6gM(>VbOtt z_RwQ&a&1dpi!dR$SBE0HDf3a~8ky3jtLuqs^_2sS_5Ia`CFPcw#}l=b%Y>-cQ(-MH ztp3Ajuq}<V`KZ3OC8u?1#gc{v%fs>I!<p>p@=Ao;M1u7lxUJC?4b^v2Teo;Gi0bS5 zlD3B9<}0=J!MBEH@57K|p_31As>r)%qr0G#?T6i1`O0`Ns&~KcCJU7f#k(x@jIVgF zgU<XxqM_t+nmsCDch-#Hi&u}}Rtu92_aDK{mc#L&ob`=(Q2DU+NbrDsc;E=oIDj71 zw~}D8l6f${5tYS7Tkwt}!KNr9{&EBe&C-SP5PRp%f3^9(5y=%_Z{xKd3F2RE*yTr# zU?kL*+s|uKoZaCaANy>%Z^V2)wcXl|1jnMx`}sGcB!Y+f3Y_=T*i0$)qfl%Fob=Oo zff3n?PxBi;Swa51VZ#NB7jNFM0i}Y4C&?fA6mX9+zZ-S)9~iP`-WRbJ7VYz&&<h%V zU)W$Kf7IC`b$(06TiIzh2)LEu2&ICF`sTqZ{f~YjEi1QGcy-REa$BX(C2WzCvg|}n zTUAD9ig*MXqgyi_&!roE+0m6d^B-AiZ0^p6u=dZM&W4bYl;aqbFWvE>YuUp%m-)Jj z``N>9`uL&W?>_vt&#bWj+ABYY^;6OTU)Rqd*63wl(N9rXe0?_u^h5Ra;r^4uhqQ?5 z7MtzLujs9`=lU;KnLxGT9jRixRO$VuOe62}qa5Dl0OiZ@S9Dm~H~g0l`O>{3+8@0l z0y+wZ+&)5d2lI-Mb`bH#LvA2hEGn(7bOUMUPm%}UL6QxWOG<Z;s2-ws247@vi7dqq z9B}`7_E6y<34bkaVAuJo43kUragU?M=m?l(lQJRVc87`=2VEfncLyTN7BmRP*Y}RR zrWZ_FbJLtIw-a};BTaK0j_%et-t7n-bHF&I?5!H59h~^<M%zLSoR<GGTt?i9uNiR} z?u|UoAB)&&`raTjqpi*>;H98Ai1LHPI+!Cg8VVtTxKW46<&VuD^K6IVlCfXiKJMB~ z9=PCg)7S#@<pl2=e|F@zm*wC4>~f;dUr2U8n1B1H`H%8{BuB6N1?k97!v5DIMszdm z7MxKb%3=0xr2F1PN;dzl;=H5!dk3GrD}MgEfq}litUPV$%dadxeeo;*fZZj+d(Z!d zm#4l2`JUPzfA`ga#<NCDnC^C6G{Ry3l+l|>JW)BT{qbtOE*Z2{2TaC5wLO^98!F?$ zYKNj-q7t+kvsNJ%tF%V7PEbjn5UX^?a;2bGD0G5S=P1WJSjTCYQp91Yu!U>PLLzL7 zTirf;G@(=4Of+0dS&kb+_*BaT{B9J=%gsiWS1Xobz3RAX(Bg`s%{TidFBUq5w{HdT z7OwO28@H^w>hhJ_=I8HWu~V~kt}NCmy|IhE0O4u`T7^*W0(^dFWZR0XHZ4ECR7Vcm z?+5Vdg*fcGW+N7hP5|5;o(*82d`+W3iY6DmH;2DvAam4Kxobi;d6z_u`&m|pN;Kz$ zp-Q~{Ivi-iy8s=EZoJ(q2zRzdWmHKWnm}b8dC;|NYL2I-!5T8fLzYZ;r&bj0JGR%+ zlJR@Z{&nBoXb+7IcbgR|jm4#DZuZ7(Dz-QD;@w^@;0fJ=AsIwCx-=O?Cf=1l{)_j? z8F}>^@9kPdE+uD<ugYJLKl3OI2Jdn5@*}8&(@HVkHN@UGG%~Yunyh3O>qM*fZld-& zcsx$d!yfyH-!pLD0z=wg*Avs~D(2SNYH$<C9K@A(Gu|^0@_KOv{#pK=sNiZCTOJOt zTGVXTzecv%=QKv}o&hI)&p<VO&j5X2@ul2O(PfnKc&{k4vDxb-z<=~*#QsDmgAF{K zGVGNTxv~sB|7UktLn$WCYIlZBRGRQ&sg#G?n&A41#q4k(9$HCX0W24baKTTmLs*_@ zk=31OpJN!iWqkgYLA4VHpY-jR<!YZ^2-{<s+Jv^}$2~*8917s(S(!`~1pQ=%Mfgi3 zXVUw7SdU@Et>K*@xWR5>C#bqCC~8QBMY)eR{CoLievgK@?;3me-HBfF|7|#Hhv{At zK90CF`CYG&6}!!O8xbwai^+TW+YsDD@1xyH{(!%7g1I5MFo6>j1NlR0`r`9Uy^o2m zp3#t_7F5P&K49}B<F1DfHw>#fiPFV4dKU>pBfZ$MEp>U6-u2DCIp_;=oi8I8<2rN7 z6>2aC6YxIcf}tx|YcJ*tDQ8!8uo~G$+&c``l3)I?GG>vh5PS3eikL~EG&z5Ic4gdz ztBCdAi-m9x(S)lcWq8ldo4AYrdyIibeNep<#IcdoO%MS@50Iqduux49C8{A|Ls%s6 zYx4Jeuc!Nw${+mj-1Rl<-A&a*wXwFpul}F+W&*j6^@D%sM?3Fr)NVP)LFCT}ZwQyE zci&{WPWx{DlNvI&;wBYoH0OUzFX-T}v>?9n4E_P!laixfM7iM3uYwrJ88_BneRadq z(@s1Q!P@KcSLUxIYx18EIZ>h-ZbH6ZSj%4{!k!rsIaZur72^yA8cWy$R1I!m{#8MT z{53Nl-7>nm7LkPMVf|2FE->1wZ|yye@NI}Wyr{YfF^9F=t#STm$L{^RfxJqi2ycqz zPnD4GzoWcS$G^Kk)%fQt^G~t3L-nPK*A;o^Nk61G0e$>!oohLw?!YEN5xflY+YM^E zIZxq5KtD?dfvX!<#cP0Jc1x@Wf49TU4YRjbkAVJeZj_Z-fW3yB8^g%l+!TY;3@&FS zS0Dn^&8@;4MewFX@ROTc1KH=s8v}iS>sZT=v67F2@7>%Jc*~fZdy?fm1&X=3ZRp>P zzi8qF+|Ke}U>H(d-P{iBbv(G4@xOqc!bU)E;ch@*;YL7z;ZJ~p!fk-T!k+;{g<k=N z3x5EN6n+nwC_D{VQ`icaEZh#5DqIhkE?ftgDf|Mkws0$8mes8*T!C~wE8oC+X=Jd8 z<un(5jc;>>I{;f)JFP6;##(DH{1*8g49;OKcNU&NPFLYc!0y5}z@EaRfW3u30?seo z131KbA7(g@6z)XMXyIPK1q}1C!e5XcXJsY|HzB={r5CYYCRuthgG&mx;M*xyekn^& zv-C3d?Q+)Uiozo(vyy$gis81pupK#T3eN+sW#6tV+>i8)toN-9-puHB3mfBIi~{$t zQQybL_+a5Kl>cktcYqHunm^3u=n<CxC`&)aM)x>_Pp~piG73D!a-L@Nd8TkVTG&>2 z0r2mIrvRU0G=HAW{&rUW1vcX^vbo;DsJD~h^D>)@U2LXyBgYGF*#_t@JO-G6Z_&$j z<80Z>Eda-QxfNIkUhpkl2dm-Z@`7(ET#H`4;9EQ3jjYyI2Dc%a)64xG+(`La0Q3|d z1oVS%eQ3o77%J=r41>dcnB`Xh=d<)M_}qup<N{p4S{OrHKCC7Rrx{$%@>ii>AMgnR zu3>FH#_B%K+Ia%2(ucJ}TYHM(Ku74q+M%_!v-}rWn%-gYVeQy}p9lPmu@>G2#NSrJ z6GUA<uzdiq19bKS+qVEmS@|*G=?893z-b28vTvVfwO(K?(D#V>(LOyXbu;KGT!pkB zz0>y@SphpyGQf4Q^e{`0qO|}d305rHr*N9V<*bFrSeeIJ`bqQ^z!+)!PqP;O4%`A5 zDQ$T>`}PHv^CIhU2kHia356bvC<sg(fOKAhOuhvn*#x9VS^fg#1%ZhhaEifc2A8uk zD_D9J+6ZDUDgoE9^jhE_<Q`*X=!^s*&CGywMuKccf{<nvNK<Tsz?Q=8tR$Tm8lg?G zqVp00p4S3;@jmYmq}d)of8l(<0Qf%yY4#Ri7_%0F1f%&$@N)=~>M_7NmS103hjb1r zG{m(s*baFf0_7puL3v0+*zI<}`Gw7Z!-XpWM+)>WV2v_3#&B4S)feKHKpKP~Jt$U7 zS$dkKm$7e`Lt=y=H)xr)4Ci%)XOX^<;kLDK9?~~64DVr>Jctz<f=u{1;6sIn03U{& z32~1U9tM0At3Jd%#_)N(fWNfGJ;CsK67na+J;idU)DCga6kZ10#zygXaC-<c;Tgc^ zS()vHEl9rri5lWwEbIW>!SZ)9JYOz6j+|ZKhY+_LIaJSB0X--m#*9+U7evcptc8C9 zhA}U=X@tM07RJh@>0t&(S;+<HJq(_qD}0K<X$F^Ly@Vl8X!%vF<ZAd}!r&R&{#w@K z!{C!Jhrgl*_!uksILm(myc7oi(7I27Pr?`}W*z)POFj>734?#=w=aPA!r&j;*AC!J z^({0U#zNnzO?7$%WAOooFgp>H5&$FUB?7H%2F$UXRt9@mnPIda!6_ImNp*b$(kTr% zhL$22BZbopE@Le$2M!U8v=VR?<Y5G>qZV)tBx(dB4FRqLwh``TR{kE=@?)%*#~IE~ zFnpe5IZv^YbiG6{UJKy!Y!utsw=ZCP5sa6PaR>TMV5DaQdf}T(V2m#VCUDOvf#31h z<FGp3227z=0%LFiX3%2->*aO8ENh_w^hqFUfx;$Ms~PPlu!7zKY+-d<S-Oq2&{6mq z@;jlG5=?_9ph5bO?kQXh*o)p0;1k;85U@;udNd|*oTVoqrxM&kmR<yYNN|%Zy%^L> za7#eF1h<sIWh{qUQweSr)>;De90Obn?oEK6?SQ93V<x!&fNvAfN_5m)8N8Wcdke#s z>fi)-56gK7^iOaPgZ>F{9fi+f)HR^tpBTMtfK&_AfRZl)hEcu-y5OIHJy=II7#GbM zW{}Fv8YV4kn6#_`SGbWwajpRmP=6_viZ$S5T5B6-wg$6l0o=}VUI1lkFq<@g2TCS^ z$sYi{z%~gS{tB4Dx=TW`;qMCqlWl;V(4k3KO-}&!K!zk?HN6gaBk)XeTUq)0Fz-q3 zX;$)?!Y<5-2NE)cHXo()gZ5Ks?K!|s@O+B325$zWM2fYR!mN3b9s{;1j7|WYW^e^Y zodTcJoYkz%jjXk;3_b&xhF$tRpr<ef=!0BJLx$f97yu2^km1__Ll{dMl6)6nr0^18 z4WxY<9Q!B06gW8zTXZL2hSjQtorBvNSl4M#<7vQpR;vMHOyi7;!Y0;2Gix&kyDkk| zl(y5#(rv7@c2>88<<DWb4S@n_XaS1z2&8u!T7crS02(LFjj`UxS(ypULK=4Fn}CZL zoMicn3$G$)3G01|^|F+ur&)R#`*t~_%nH{2N|wKhjc7Gwdm3DQC*aL&?6<IQ?_#64 zhhcsn!}G7Kg~u44k29>EU>H8huzd;~n}%L^4DdPD`}2%e+gZsMSeq}hQSV^oce3&? zvle!-oZZNQbSPW~=w#51Z!?(3Re)a1R|d2B1fak0e}Dm4dKt{-4!{uTpTTTC2S{f# z10K5u5OHpRNvz)t=JZv-G;qscPIm!Pt)0P~(z<o5Zhaw!bOSg!gE^(JiM7xS%4Z;v zo&s!P?X<FV8*8ndrRT6Vdoj`sG&{v@7_uURIi<BmLBkB@lwv!^`kKHDX1K+y<PunY z8EAQm|5BEoX6a?@+vTjC6|C+`ma_`_I>XUDLI!(;+W^<HTI&kqNZ-iDzLmk7+1PJk zc;3ZEaSy}iK8EdsSmPPk0~FhbSep-nA2P59X#S%t{TS>0aYp|qz`Ysn$->_OpJF-B zU`1yz<Fx$q;EfEo9XytS_NTbL$YyW{8_Q1YUozaw*!yIl{b`T8fpab9_a49yBuOnK zq7^U$=~0Ur*$qf#PAxZw<#e)~Zpf=z$cl#nS3{1~LNYr6Z)EAMkQlYxeV}bE<j>21 z&wwAY=;eOE1Y~0tE$;!OmT(sK7=_)CDp|-J8z7Y}SteVuXc_xYv`lMlWsusvS+q%8 z*amHtg_gA9%>*9Et~#{u2kb<xI%etBq2(abJ!roU?fU>%pq)BqlhmP?7}9H?iRz%K zY5t9@g{=%e4f$4wzTO6;8o3UA`EW8!`>JQX)U#gdS^M>@{d#8e)U)>M(S8&q*FY21 zGn=O#cDom8+Gag#v!1otfHu#8hmOkJ28?1JU=4I-1G8@%kn2Gjk`*w6u{2=qJPMda z%MJMP<7s5DiPdUGOAS~rPXe~Ex~(kT##(4c?+y5SOtefVzHh)NDD39?0ekQ?K#yY` zLW4&E>AW;RgVXc`?3o5=@EG7C1}9nmVwS%I)NX(Vr*IkcX9ILM#d9_5aSb<s^jh$0 z12j18<wiErtqk6b723ev!Z5sx;dT$h`Dv~d`G05dIgG9m`ehHGr!YvZ7OZ!SywC&~ zfF5jwM0yo4ggtU2WYHUdNpO23<j>oHX-LsVaQHs~Yq5iFg#39Euny9)5jutD=L+`$ zwy^T8EZxRxwX-rEg=u^{2a>Q6+Vdp9F6^%xK|M2IPhlb8Fl%!J>!lGghyMN56%4K_ z+>G>U@J}OKHI1Og4M?8~DmB8Ac?s}lhV3n^$9q`s_p!bnV>ypA44+`FJ;_G*6dU!^ zklu~ptL=c>AgLPRE1)^gGfcL#S}(8`USx0wtGkoceVMhki{<P_P7`SR03cnhO`y!H zfONGsflsV}-B|BU;0pTfDwe+*>!JxG@&eM;+Qe3C6WgUWvDMlHZVw=z?g3$6LJBpb zeVVR={BK740$>+|-Dsg1?OOp?fvU||M;<`BcW6fYwANMzpGNP^XrH#Q4LCHTeG6=Q zy8F(dm!|-OEQiXs9HiOb0XspH9BiJ)0jb|9$84S)tbJN{0r1Sh^05O>F*wcO3aqsp z8*dKy_>o=%Y;%zIZvk!vx3oZeo&o4&kdCnhocU+K064Y<Jh=lf0dG|c8+8l#EsJzJ zT4(`oZvaxet_4{A1F#pf*#ccg>kfmL@CFRbMGJHpg_J%m&}DA|PBA#m;A&vi0$zF# z@J80xRt6u$EVn?{(7F$SA6l^Yq&+^u@*idC$5=0qg9lo$_oOACWF?<sWvD!F0ktV^ z+aQHnz+Dvc?X2z#i~>85)5_@I%IM$9=-<lpODm&)E2Doaqkk)-e=DPZE2Doaqkk*2 zJX;z4TOm<hXp?eUE2DfXqkJo)d@G}T8{?=p@Lv`FCU^)Kwt>640c(Iu8|0@QFb$q* zgIp5;v!GrZ<cbThk-;WbvKixQ!<cCKHddZW%Qj&C7GO7|V;gYZ3D}Ds+8`kVfOIa} zAR%db0$8*`LIwdBF*wQc7qj#dmR`!>|F?DK(Q#g99sas;dN^=691gNAS+;B~PMp}0 z?RZHdJGMrn83Cd4NTY4E%xE-PXj%wsTlPZP+Cmpvc3Pmo4C)lxB1+W~#EF&>BaOC7 zno*-AX_}@5%Fe&y`TZI={6T#DoSQq}cklbY_r3SK-@WhsoN|sl{GL7h9(p}RdWvVm zJ^Wnq=ghn%nXzn}^uBw%xt!%4sE!e=6@9+|L-c}Htok(=<%!=)nWx}7lDE=oUxAy{ z74jS}#F^}6(wgaoDCZYo{qehC1MME-be-}qn$4_Yg&0M@2yakV2*3S7c!v=t#OzuO z^Lz}^e?`p@LRjho>^%M{7(4z6*yVKh@z0X(ab1HhXXyADa)x=64Ke#tI_Y%Ezm6Wi zlbkW<XO7=TdYn~}5c96zhLgwdhEtYbJ|Ds>ByG;WPFv<#OE_<R7mk08Ul$n}LioQl zEifj8m}||$qUBt{dLjJ({jkJSDa2fB2d?vG8p4uag&NI5j5e3xHvSOu>?=fHklo76 znnKLJUWS@|g@S$Nav^44AA*Pe^@uXtu>7;|JgwH|_p&ygO<yH_i}_(2PnlO>hkuRZ zw{5g(E!3FPhK{1<T5U*m05|c9Hl(VeJ!)9{4ZD@Yw6fB5%-h4X@*HfUH-%~CFT#sv zGjH@^`pX%36>kaCYpUU+cu|;MqcU$W7KQ0My7w_wvBLDATKI(7;(Kq?cf$C_%kW8; zaM$U3E(iZ2zs;qE@yIYfBkze&a~PjtbjD}a;C;r}u;=h$JZF`3H?!X`eNDCZ;D=#) zoUZ9Z>o7e|=>eCYaC+F+B+XIUDC`~)#(L5;$Fn%h(^i`1E!&JGpS84emT;c&FwB^# z+83Eihw&NdRiH(}_{;{>{5*`elwgSwK8&A8qfLAxOk1?UU0OVhSIF9W{<hOP%kVTF z+fM5!UB|qroz~fd4M^2a>*&{uW;3nUj*Y6|4Qg-4{-1{}&Y?GxR%^8LhZza>ya=Pr zzuU3r0pwq&hcTzS%x+q<9edWo9@p6GYx=NoJN8tW17^bc!|2{l-xM`!wR_ZRXVg+U zYYB7aJl1Z<ZqLI-Jh>gay#x!caoIUV%b;gXJJ!=RCI71VOglDgft!ry?buN19p~@T zXWOx)WT;r?J@O-1?}Je5U=eKiHK=tkc~w2UN=rrX=d)1jU=jSe25J@^!JliP*1;m! zPSiSBgxLhUQ+V<!)H+y%u}*2NgGKz*j?mJ&S3MwtL}G;5tez7$U<b8Du>1p1&xnZE z!6JBU18J>;MX>OLQ0rikK+lK>>tOm-&xi=KXys(kI^w58gc0w6w4M<Wo)OYft6mX2 zc^zuiD-vkcE5fRmq?IKjwqb;)2D=)brSL|?m=N_`CCZHY1=8BBi1Mbt56|Q6Q7rik zY+!_mGOs>>7igm>^Xix3gIF($f6l>XR{x?{`vknoTnqgfZK8PTFnk;jiDDhG#n;?n zyp3W{u@#?>+LBRQGKwX2{vyKDB+8$g{OzQDqge7ZjJd8ZM%pN2!uwzkJz6Jh^sBr# zYVVC=+gj2I=MP${A$nPqXU&J;h|@`@Q@qbcgHhXL%vWact0+&Im*6DhK$NG<3e;03 zinmMO9D9FJEH8a$t;;;mnkb(C>u`~$a}>|tfdyJH%7~%bi@sMg`6!+*`Af_aqdaAl zqxOn2o~sqM@WCk0mvy+~Uw18S+1FQGm;67<^F{4-;PMZx%Mrb!gEsv*Jcms>Xw4sk zS{v@5jb4B^xT^yX--mb2Fi-6c>@TXvbWmzN>|iACzyr0yJB2+v@I952GpDgn2NqB{ z>v(bpJ+}#Nk?ur>C8#~QPRgo+O=#3fS<DZ(UpX4bI+?@#91LTzPHJy~Q7qg^Nh;?) zGIV;p>ZGk}NcYjFI^EWt9;rHMYvm7`L%x2**QA^?jvYGDq76<_e<xZ<hMc+0_4n!L zRZy!UdIFt<dV{!+%pZrL<F~;uPpJF6_k9&c*{``z8K+>3yYDlPZGb(<d>=_v+OX3} zQ@aNDy-Iwa@l!PxeV29;@3W(!y0nvcpEcnsmv{-*(MMufum)<?BSszCy=!EDHim2~ zP~RzuQAa&wHvnq(8)GF{Ihq5<JO_?>4jf~Isv}1;;TWSy1JrytMn4rbACBRFr{Nv{ zs#$T2Ik>LW+&ISb`y31%zXyh~Mht6w3gT<9)ADGB9OKVL{&pcz4Er?0xPR?&j%Lm= zTJt>Yx8#~R$7oIEYgCMRRE%NCtE5L<e$r`;kTLA3lG9F)`K}CoKZb=LhI&H9Sb;eK zr?69uc9(r}=Cn)G96QFyDSc;M!n`G1Fc-}wvtTZpMeC(Ki5UByqV_6c>|2RiuZXec zFPV4EvRN_r%zbNpU>=&<FYltoORyPfyBHN4U_07%(Jvl^jMh*)wq1By6&yB`rrwyk zct-24apdg60+*onYP+z&DVX)WIdk15Z{kZ`^jY>nY5Q8J8Dlrr(JnZ9$gqh$mu~K< zhUyF5?hD<t`-e$)V&QIdJq5e)jc)!ZVn+Le-AE{Ef3TbOIt}N2{ern@YImkPD45!# z>85w6v=x`LYL?73bH}Canq{+M?!h=$M4?vkwDzZ6jRx8)jxHUriRY#)cmqCwbrsX2 zNC@ro#AzF?aa`kRuKmC7hSyyhE2E@u`rcdgj5xjKP4Ed*V^*AA^Ax<}5}tGkcb&fH za$2!-oDru7wz<r3@WZ6rgCBtryf{wo4?vB?aY~fT_xT&gwvDh0J>pnJdy{c28mFvF zu-E_J=WF|&9&jxQrw1*=5R%4ei-+Ne(@CdO{&mzjX_qwSbcT^Nju&O%gwvBQQ+sgn z;2p%|$MGfNa_CL6-n7ff+rl%}ch)&`Xcni%FTe$C9}gDs<T(3r(yrkAWv7eQam8H4 z_u}*^UB70n*KMT@>%JL`k-ruEDBNZYi__Os=B|G&yR-_kh&W@Z^7q}=2ef27ICMK| zjav~9Rj`g(Vh{DzKt*fx;O(D-&DgdFZ~p-pLCzk$eI0iBnr^&QE%^}aak?K5>cPU* zaFp@9hZa2#Grm{xU_Ds!5jct6dgza}FzZ@!=8DVFK6nqhi;8UNK|7VHz3(2L6ry$y zd(f_$7Sl7U7nwf^o9SP@yhXkQL&p<PF;~4jv%Ul)j1RqN@w>1GEqammButu$Jn5yy z#R*1_UL;icS(lkJwYS*IEaebxI=uz;CRPWv|E_hA(~wvjs9pFz^jFRUl-7rY*P(Xd z`{*erpmyQ=80)UWc9R)8=_oeo!=KJT?JW1v3zU}q`{)JrP<^xyT`s_3yrmCa#8G^v z5BsZx486Gzy>7z^e6kPwUxrgi)Q5JGCueG>zK^GX<e7IZ3s|NPkF9}A)}rA2Wv7dl zXN7j`<0+tPO3qpHuj{T?d$)b~s$|%)O?G`v89VjSj<U}l+V%7I46NgAv7g_np`tRh zqC}J%8rDF?F!W<X_9L;_6)21K)3Vp0EY^?3YN0IFkHwVkLW_PZb{=YM>&IdZu%FSa zAG<X|MK|?hw|bbytNU%Ye%r0zcI(G(DqnW%$8M4#XU@BPjpzN?N|G;G+Jf_!oz{5X z&v-5^6#3APtxm%==d4=`*{a{R>c>{HhT<Rk@p<V|u^kluFu?zxf_3=b0JgdYHCr2? z7bxce?i#>K-vhO`Kfo2|AiL9$eNK3jG6opK8z6fKu*Fy2#!3Uc_v!k3zCJ|E*Z_7` zjS==T2IxUAL*~)26Zr=ic`w2^W6=OTLuq;a08&2$2h4=?2QBRonhr1yiz(-%k#2x- zP4#Bz69ZWOyWj+~p#d!a1e~J&0W2@Qay)AWc<+-&GnRQ9`4eb$7RrkflvM-O6BGP) z4yq^WowFLsixTv~DtOnFM<wi032M4QS{{|KM<vko3~9y5B<xWMdz79rDo0~y!oHNi zmy{kwssz6DFwD5*akNOF(c^H^`HI;}*q0Lar3AfC@~HPEcwU@<@~DJ8D#7zY`SPd) zGXzPpVy^m{5-pp+qm(a?O7K3?0@eExc$6%&>ubukNyRqVL$5(B_8e>?N^=m)JOC9} zHpnPC3Bx=i1{p<Pfm&}E#0NeK^>#mqMi0WQ@5-6$c*r2*q_}Br!69l{gnGZwp4kc5 z#OOUljhA4Ef5&Bry1oGQ#2KQNKY;4LL)29RHEs`i+#d3{J%pXB$kDhxgd~@t#_b{G zQJH$O457P9Q1so9-!+ElO-d_PP%(eRx*^*VtfyTR*<1x1(Th=)6{lgOQH<tQWEjRX zPQk}~%^mDHjQ@zOXf%u#?}TCAF<Ap(H+<NhGfW>*U3!lhMx%>RGnrxZs)jxEkzx9d z(tR$c-{}F@m~eW~9CGc$zJA1ICY?_C*HKz$n0_P)wQ4%d%;Yqjb$Xt*9>%Z4MRUn4 zn9F9-60TUbRkLKSncFUT$2IPnWmEHwVeBdH+cF2{p?L&HuyZ|>59m$iLD-1pN3if` zpd#`#BAkRbeEl6X8o{1F4fS?Bf<1o^DjshHOV+_Iq#D7JjZoe=f+bJGUTiqR*r3u9 zP7j(xE?IA;BaA${Mv+S+SWFU*J3Z_2=gkFEeQ<<6C>G3RQ?s=Z#&fY`D&BO2S(!@P zaV?sajo@`+#oU96nredbx+K<k7|QE3c035>bxC`j-uG%q%j=T%x+J4kEou2%(*BmT zza{N&N&8#U{+6`ACGBrX`<rIX)!Ze2OWNO(_O~Qswcb+XZ%HhsYvgZ9dWq_lza`P& zB$T{Ktfyb)Z%O-G(*BmTrzIJ|&X6xpOWM<tSWjtrT9Oe=)Cxe75lq&QrzNqWC{Igb zL)9x!OVV>id0G-1it@CiJuMl?(~`_=MR^*l9<0%&yuzHKju2@*B~w`V9BkzMBZY;3 z3tnLKPElVgyuwp4g|)B4YrdYyEYjDRwWhGY(l@y(#T>d3KE{}tVl=-2*;j`xF5$Mz zyyJ47bUAmOzULBJY3mfN_A%JzlEaKGDV{r$B*J<^ioK6@sCA<h?brfimb?q!NYPFW zP;WCS+EF>ZzNQcFNYReB;eeTNzTSXRwBr+S*w^a~D226jucS`Vj?yblc_~^`zv|5= zMVqRnCy*k=GpiHo4JgGMkSs85z4F#;#`4cPXU=-fTmA)e(OfbM=CY}X{1iSQjaJQ) zskfdKPci+vVJf~o#j{M@wuE}?N#Pq}*{qm)>q+4oipDrF56vSuia%6A?K^0;*8ug_ zGm1Yv3-yja%JZlehK}C>!|are(z8ASwH`Q%74)m(AxG(1N-HXI)IDny3o2(A4<E&L zqGkf4*zGLL`q!K}Z!VaN=8{=3mrcb|j`}G-ihWdz=8dC%%8$}JRK8}^qgX&xRPZRh z;|y)7xS2Hex(9VSA&s_muo3H}(NvMj`uCXA=sO6n(2i;TUWV7qM|patY0-=DhIte3 zP2>M6=P{S5n4L5wiY+eTHm#p#j8ZvIns?26E={XvX*~ZtRLoKu&)4;u+oiFvr0uj+ z_f2_z8aqoPR$`!51>~uXu-Di0;d^O3UvW+YX2SW*V#pbCTArU~1e3n<{50O7Uq{g| z&7Thbj#-inYZ_@hUvB~vT${%8zY9(=^Gwr%vQ^HUwqAMbHRF3{oik_c=4}ndv!)pX zC86Ty(u{%1Q3P9>F;I3`v5u=|$yU{gmo)xg3pZ%-G;=xGL8ngA`2RJy<12T~vaL}u zwF;ER{}rEoU>>^dj%e{QJbx9|<5y$&{AXb^Z90axKMfT*Hiowsp;n2;uyYmEI@=hw z5YtFC#`tg^>P*BKR#FL*$To(RPQt8na^{ZjQuOZ_UMlLldSiHL6{Xa$w#KTZc@`UH z(6i2^*T6=k%OK~w;063wr^|FrGxGt>s+%AY#PAyOWU#VM@?6JTGI*>?APNsY#wvY= z{?G`CmVzz5_coTu;H$d+NtbZfX+>3J80l0(h+UWr9;<7@XqUlb74;rrPMcw@-h%ge z9%;n<UfAn&A3m1Bhc3YZ?2zH9s%r+F9&&obOgTsMkPNofF5{T<Gk9GF3wOf_{4;}v z!*B|{Gwj940y%TqI_53&j5V6Iv~%XROWQXO%tP}CGUMS{$xP8ai}xzNS?Bl8Gb-xz zk#d@j-wQPd9!GQKD4Kd4IU3+qY8l7=bx_fI<JkW+yuoNWj{WuPW4>N7dwL5J6|<*R z37xspd}bW`s|3xZ#~B4wPOD`I5tA^E{Z(cdpBcwSO)$bb&p7sf5h`YH9Q%I{l*f+K z3d+%YsCu$ARpj0{t)Totr-z)DZ;vxFC|@2v&d8uEwOTt)i?qQp|C-^AaGXC{VV|I{ zjME}SX3!#!K*cAFJ3e8YC!@4hT;DkFr_xa~@bO^IWp2AP^^0*vZ&CeX-2GzQ{bHQ{ zD|rsgL-PnK8tgJuJmm!KQ4Q5boV4WaYyxfTq56n+t@O5e#lNbJCTOFJ@KKjT{4!~^ z(FARzlN+~?O>d`{;1gzx@4b!nCfr67w2?|s8%@wglBd-rgosYj4wLf3j4c!HBeGF9 zY4+Km)(SL}xCZ0AziWL?={{tfppA$sri~tj3Fi+wJ>>L=nR1Sv8xypMB%%Moah?wo z{E@zsNHIZ+Xy-WVoSdl^nV>}^^Ncl8i%ifW;=E;BFty$_;WzFH#%iVY#y!Dkd<t%u zo2H_0Cp;QY&|Z?~z|?p<!Cdqr(rA2R2g20(kV)F^JUoxJCuuw7G#&pU)Cr_XTH*?9 zW|wo4l+My<e49l72FR%bNPIfH;Sz4Tv|ISkB)#kqK2AwmF%er_!fltV2*F8OQ03fn zIjt^1XIo^oGcZhRPSSRgJc36}(!X}#ea5IsTCEfI;v18++Cxw=v6HmgWtedOpwmN6 z>#c5*-lSjEn<nW^5jf`3GW6C-+D<FN6Rep}^5;qZPNC~0y-60xnR!b)V=ZQ_g+{hX zEH6p+UD|<pXdXe$w{+@QtFlwryaCp;jxj|kb+CzXTWfjMkdr;|3S+w>bWgx1%ogW_ zc>2hn?m(T0nZoBDf|{RCVVPPOr!}UqjM9C0%M_MT?E}a;g=LgK==6}&BWB7unv+gp znafa5vng!S0@ahI(C-qIbW`}Va&o3-*HgS<iJDzc;jyA-*Hd_`xJ@nWQg9+Kiv=Eq zS|QA$?^94u&n$c5UxRvjYE4roUG?<LvP=GDsHbPv&rL=9Hj>tJGt0PL4|Q59OPlFl zotDbtS1KXI?l7|QhLvU2Xah!=Q)RK<`=M42vsh1e>A9K3deu<R&8$c4tVirD)_a&7 zJvTM$(s`#LMz$<twU}~_td}KLM73xX$r87)2B)x6mOqLY$uVwciCB=Pd0IBh2v7rO zt>YXq16f9ZlW>84l*OK>px*bh*i+YQS1yY^n<z{6)UMB?u!*Nn&h}JHfPR%FwJv-P z%91%O`4uQj=4?sDXg89UC3Ci9&Nj^1dhE($J=&PHubi!yv-Qw{or@gS)2RSiFK6rJ zuwD&mSubbn<!rs2t*5b1`LbTl*2~#?Ia@DBuRKe>te3O(a<*R1*2|$W(H{I!w2kbR z!*113(PBBr;N@($ob8sg-Ey{D&UVXTw^LjxyD>-MoY%C^c}-)t1=2d_HSPVHY5UJK zx^Ix9(_YhzKdVruy`~w3z6^ERYnm}Zcj>g(v`>3Ydq;+6Eh7~x!koa$6Unmybpk6- zB+nky2`tX75|frEp63wi%ue1Xuy})I&nxc}Sb3ko$`g^OyKW$J-Y2l~$hl5hC$RFI z)_DQy1XkWBu=4y1<0|tG>o$3xz{;bM(mH{aC)#HX>I7Dv_(sX56IgkodL*+>VC9MG zQOR-3sS{XvPWtN_oxsZb1XkWBu=0UUVC6Z*^ChSgSb1W5REthv<%v~OS|_mb#P)m@ z>I7DvXj0|t1XiAC(gM^8tUUcfy5}v)jO(3cRW^@>SD;Q{<%!;roH~J(Cwiw0bpk6- z^iBop1XkWBu<}IgJWpCDu<}H#sYac^$`cW)>vaMvPsEN&&<U(O=W!}{mEy){@X>0h z*!UTG?+K{b_!<1K1}YYGh7qy~DmH!wk39?XXgU+j;2Sf@th6HJXOK$eC_;XQ_okD~ z!1V4vOI>SFJ0`RE!y;6K{48Gg3RHyrEMB(^<#n^nV05K+(Pw#9)j&na&oWmO6?HI+ zRJukH^0P>F0%m=04$e{IvrzG_bDlZRIo@>+O%KUYyz3lw=~u1U&T;RHFlXk`Vh-(I zf^$S1&7s!;RMhJndR5W)bk1mj5$7yyqSq{7$y+dlFD+ob$6*I{Sg;Kj7%OyFzd3-k z3yc!VQ3TNfqeL}S1knPcgmM%?w18f1P*2MRMh2CiV-`B^wwtH+Go+jFgn6#G2}A4= z%wyGU*p7DdNOB7*x@jJH>R_CD=NYL))jsdq=Uw}}YoB-R^R9i~wa-(#%Ga2>NbS$T zbCkx(a&%v$_QzldNfxR7c_<4It%j8rZHGnMVbOM2v>g_a;RL_R4vUsVI~CQWWrsye zvS>*bEy<!KSws@mB|8*shl1@;K#~=5WQT&itAGr;Mp0=6YhAF`1=m$@T?N-wa9su0 zRd8Je*Hy6A1#7)TUGt2y=lH`JdV13mbv+J4_}db7wLrxqE%A&v0kt;1guW+Xzd7KX zgwwM8l4V%33`>?_$ucZih9%3egbb=h&#`68uxuHYk)cG6WFWpCJ1=ATU8va7Wh}o6 zCC@VQR6)fvFC)(h*l%jBei{2KNAfINo@L9kY<ZR~&$8uNwmi$W$ujcX@@n#BsJ%a} zs+@*87gwa;@_hmNdoz@W6q%Ji0w3U)BDp$;e+4~?%)OMOFDL3msY<wxm5R()^y^Ke zD$<Jj?!)8wTM^yF7XNx1|1UB})UTX|fp^iU$TMB#v?5Cp%ls+~(-(@^<kPUjHFjDa z#oQHnw|oe8Axn{wN2jUd{#6kfMJy&=6kkxpZV$i#%b##QJ9y-1Z>`7}bqy+>w#Z0z z5whkDM_qE-=`mlKvE*9GDPr3ysF<-L7FPL+m?~mnQF}=m>BSk}rEyd}UiMrt7tJNJ zU@n{bRz;DOE@`xCmdrI%ySGJFv?TMcSvD)?p1E(W56naJ2r4@2B-D9!#m$_C`jP`* zr(kbIUwWv5A)bJ%%$jtizT~iqZR?;SUskb|sC|u9>{AQ%ouXBwJpoI;OR*@cNT_?Y zleo$|yROl9JXU#UKgHGh8q5lk%))xE)c%n2n`rA5WcUCKGmBX9ct~6=Grbi{rAS6y zFR4~6)rzHBu~aLTYQ<8mAWs$7Xisy+s|PDcqFNLcvw|cixIz&Ed}j!oXg%>XY&5ms zTEZr}Cd9Lk_<j0m2}z!XvQNp9lq^Zfl9Vh-$&!>TNy(Cws7=@F%O@rNs76_-glsiX zU!f`4N+nyVglyGZAuF-I$*e=)n^BIw&BB*C7&kbf!bq})Jg-2>vu1hLEYF(dS+hKA zmS@fKtXZBl<f-C%#SX0@!zrlm!>l2L%GdW{){x;O@9_HW#|9pG6*e<kY~Y2Qdd1H; zPtM<Kkn`N|rmwlhwK}QEDO`HJ$QeO+o2xeH@4D-r@8X0I={CyKISF>bnZpc0MaXY3 zpYDSlyz6Z+5^{=<-hB@CI^9PN8}w_HFkmK}pGKDr<`}h5D{ve1(+hCY`B}@KGnvDZ zKVzxpEW<k1+F-VzyS7O4EfxC3I=Y>O+Ra}_2Bp(jX5F={yOwp=vhG^e83%Mt&fKJy zbxJ$$S%}WX)zMyBq1Kt<^VF`BLiMl_`4tuY0K9<ZB!|us$>y8LcMo3muh)Df-!mZR zI-{&kV5@|izUvla$R^gg3!gAseD7_nw8>w6E#*m<aM$U3E~nL!gv>VX)_D}2QEBIG zbQ9fGew262O<F|X>mj-sD$a3}7E!v-8uhz0#lLLwgi^kCKQ?WvP1|bIw%W9<HnEko zQ;TdeW=eP765x!bowbB>mPcz%n><nV?K8!1Y+_eQvSEEUgJ(!@;YFLgL!E@$<=MoO zRq`R}E$-AeQ|g${Yj3Opo+odMQkq~Bp0-7O`i_iNZnv<!zFl<%k5ybqGklb~bhiFs zc+=P1qKqx%y9PN!3|oBtZSLE`&bsTK?`mbd(n&I%Rc><$I+?VEjTFhGb0J$;xEprx z4BEoNI{O`G6>bX)E8R!UTU@QQB9gYSu+sXPoL1Irp?rSJ7T&Ujx3I9Z&|CNxww3%d zmTk^5th@FNdi@r5>W3<O8!J7hcTwIEw$Y&xMzG8_@|=W<E!n1rD6N>lZN`==sMwNi zYQGE>Te3~<x;JNT;Q6~)ybfv}uKk#LsMtTga>OijmpV?vJCw7F?}{PjY`ctaXP{z2 zc6s7gL&b#bBFRHg`|rDq9jBo7-*<VMpM;9{*yU-iU$y_f%X*rw(YwPgZyqXt(NtWq zW?`acL%WQSs!=<M8uj&+y*1yp<8q|OE<Ps7E53dYy%afg2G()rMSD)?pw`fK(C#x( zd#0QeBu;FHr^yaf+>1^#=q_ougLWsOwA-<EJJxQ;+U;07#dqi$X}4qTcC6iwwcD|F zJJw<cElzWdqMml#Yj)5=Ig)e-*=u3h5-P@NhcW*Q|F1S8mo_RRQ$1`nn~3)=yN$}U z(FxLu$t<H$5$X+sQzpJk8kMb48I5X4OQW(iD&t{Qq}6I=>!k>whe%7Wvh^xkud?+j zTd%V9D${DJQLU!AywYm5vh^*a?^)8T=v78vX|ZNW6bCLpQjS`!>{ctI?>YWz{gd|N z&3X?#m7^#)zKq5AzlXjxP;b6_ZYiC#(0AMvU%F?#_N>>QHQKXAd)8>r8tqx5J!`aQ zjrOe3o;BJ-iz>>|cdquV#U5JJl2)YX9$K7%YPCJurw(ctdk+mHp~km8{+uOsmK<Uq zdEb#oHo!(xUn{Dh#Tlr0+6rxV5^C1X*<9X(D%PuFy(;K+njE!P#d=j3e{`4Lf-AJ$ z38=TfiuJ8n--`9ESl^2EtytfR^{rUniuJ89&g<S;*FNv`qSH&*v%)){e${GN#nz}` zjXKh+mcL{jH8ZMUje5B2oU%2Q#ucn_p4|mKyZH*5$#<|w-(vhZa69URoUVyGUr+M` z#?J<*(+~%YV3(jyLmV)Uoq~#BKVTdaHy9NUh}Qcu>*<Qo+NYLJL(LQRspTs$bo@t9 za|X_7@rJukU1y-`(*9}#R9*Y7Yu|P4yRLoeQaPGG?6Ye364d(4J~b-6MeT>wTYycR z^E#y7b5PnHQtvX9c8Aov3Z>&A^`3&N_t5nox?b&p)RH3|5B;P#^poO{dS50-njYDb zN7S`IS~?zC$0O?6BrP3}s73i{eB;Qq9J!Vw*K*`qj$F%;wL7wQN0k3!@Nca1EW;4z z=Kc+tzaG3jcsnGb#C(UTZ(js_{reNaYy7p=K>wEWtLfM9_1W)yHO)6^k>nfK=wB@V zpZwSVpY$6@*S~trH~v-V*9H8e9F%vFC*wELd<PsK|3><?!5f3`e>MF&`o{m{^KYa7 zZ~6_Sf9%z3^e;^$2CrVfQdd{^mby1Totb(osauzuueGK|Gf#J=-ugqATEGA4u`8FG z>#jC8U%S+N>(UiIHALs+lSnj|{=9|1Zw{Wum{Y-9U(LIP!{~Eu3M(4rm#68fDSrJS z+_e=E6_%h)Ou0Ls2J^N0aM~??ze3sk_gWzcj(?o*O#grX{U@1U44%i&4r$33=v|*@ z?d<P@7lSVaF9%;i!`Jh*-*4h;!*9gu-^`b=za{uq?D=hc%lF%{*>_OxchZAT;OD0p z-)pc%EuOC@igxofE@{4Xfzjnb?EMh4kV}aC2x2O#MsF2-`H9)pE#@}*YE27s)jQ0j z?lO<!D+bJ+!pxa;g0_QQ|L^8q;VEJX-oyx|^L1T}TRQF1%WSEiu_}RC6$LxOn3Uq} z`%ifHo(|p_=*hMiyc9ee{6+9r!DoWMWLETx!KZ>xGk&}$_;T>K!6$>y1%DL$eDJQ| zZ-Ng8uLQpk{A%#-;P>#{j|IQN81r+%2l3Z`58fO6M(|6)bBqZ88vK6nXTg64{}KFG z@Q2K`mKoVUK|`g3_t7v#8mtifJtO%FV_7NC4)_*x*p1-N=_UUXyr1#x3(S=!gMSGA zDfs2!`)K$#;|5RDz#pY?pW(#M57N{>!dajn#n-+Typ2Bc_Ta~ZpA3E?`0L;gf}ak4 zD)^b;XM=wXzRu|S&%v(+9|(Ru_)zeh!EXh>9sEx4yTM0-KMwx%HLndm9(*>~d_!C2 K=^su7!G8k_VPy9J literal 0 HcmV?d00001 diff --git a/vendor/stefangabos/zebra_form/includes/index.html b/vendor/stefangabos/zebra_form/includes/index.html new file mode 100644 index 00000000..5fb34f4a --- /dev/null +++ b/vendor/stefangabos/zebra_form/includes/index.html @@ -0,0 +1,8 @@ +<html> +<head> + <title>403 Forbidden</title> +</head> +<body> + <p>Directory access is forbidden.</p> +</body> +</html> \ No newline at end of file diff --git a/vendor/stefangabos/zebra_form/index.html b/vendor/stefangabos/zebra_form/index.html new file mode 100644 index 00000000..5fb34f4a --- /dev/null +++ b/vendor/stefangabos/zebra_form/index.html @@ -0,0 +1,8 @@ +<html> +<head> + <title>403 Forbidden</title> +</head> +<body> + <p>Directory access is forbidden.</p> +</body> +</html> \ No newline at end of file diff --git a/vendor/stefangabos/zebra_form/languages/afrikaans.php b/vendor/stefangabos/zebra_form/languages/afrikaans.php new file mode 100644 index 00000000..6be35adc --- /dev/null +++ b/vendor/stefangabos/zebra_form/languages/afrikaans.php @@ -0,0 +1,25 @@ +<?php + +/** +* Afrikaans language file +* +* @author Shaun Adlam <ashaun@vodamail.co.za> +*/ + +$this->language = array( + + 'clear_date' => 'Maak datum skoon', + 'csrf_detected' => 'Daar was "n probleem met jou voorlegging ! <br> Moontlike oorsake kan wees dat die voorlegging te lank geneem het , of dit word dubbel versoek. <br> Probeer asseblief weer..', + 'days' => array('Sondag','Maandag','Dinsdag','Woensdag','Donderdag','Vrydag','Saterdag'), + 'days_abbr' => false, // sal die eerste 2 letters te gebruik van die volle naam + 'months' => array('Januarie','Februarie','Maart','April','Mei','Junie','Julie','Augustus','September','Oktober','November','Desember'), + 'months_abbr' => false, // sal gebruik om die eerste 3 letters van die volle naam + 'new_captcha' => 'Kry nuwe kode', + 'other' => 'Ander...', + 'select' => '- Kies Opsie -', + 'spam_detected' => 'Moontlike plapos poging opgemerk . Die geposte vorm data is verwerp.', + 'today' => 'Vandag', + +); + +?> diff --git a/vendor/stefangabos/zebra_form/languages/albanian.php b/vendor/stefangabos/zebra_form/languages/albanian.php new file mode 100644 index 00000000..6c39dd31 --- /dev/null +++ b/vendor/stefangabos/zebra_form/languages/albanian.php @@ -0,0 +1,25 @@ +<?php + +/** +* Albanian language file +* +* @author Faton Sopa <fatonsopa@gmail.com> +*/ + +$this->language = array( + + 'clear_date' => 'Clear', + 'csrf_detected' => 'There was a problem with your submission!<br>Possible causes may be that the submission has taken too long, or it represents a duplicate request.<br>Please try again.', + 'days' => array('Diele','Hene','Marte','Merkure','Enjte','Premte','Shtune'), + 'days_abbr' => false, // will use the first 2 letters from the full name + 'months' => array('Janar','Shkurt','Mars','Prill','Maj','Qershor','Korrik','Gusht','Shtator','Tetor','Nentor','Dhjetor'), + 'months_abbr' => false, // will use the first 3 letters from the full name + 'new_captcha' => 'Get a new code', + 'other' => 'Te tjere...', + 'select' => '- zgjedh opcionin -', + 'spam_detected' => 'Possible spam attempt detected. The posted form data was rejected.', + 'today' => 'Sot', + +); + +?> \ No newline at end of file diff --git a/vendor/stefangabos/zebra_form/languages/catalan.php b/vendor/stefangabos/zebra_form/languages/catalan.php new file mode 100644 index 00000000..7e3fcd43 --- /dev/null +++ b/vendor/stefangabos/zebra_form/languages/catalan.php @@ -0,0 +1,26 @@ +<?php + +/** +* Catalan language file +* +* @version 1.0 +* @author WaKeMaTTa +*/ + +$this->language = array( + + 'clear_date' => 'Netejar', + 'csrf_detected' => 'Hi va haver un problema amb el teu enviament! <br> Probablement l\'enviament és massa gran o és una petició duplicada. <br> Si us plau, torneu a provar.', + 'days' => array('Diumenge','Dilluns','Dimarts','Dimecres','Dijous','Divendres','Dissabte'), + 'days_abbr' => false, // will use the first 2 letters from the full name + 'months' => array('Gener','Febrer','Març','Abril','Maig','Juny','Julio','Agost','Setembre','Octubre','Novembre','Desembre'), + 'months_abbr' => false, // will use the first 3 letters from the full name + 'new_captcha' => 'Obtenir nou codi', + 'other' => 'Altres...', + 'select' => '- Seleccionar -', + 'spam_detected' => 'Possible intent d\'spam detectat. El formulari enviat va ser rebutjat.', + 'today' => 'Avui', + +); + +?> \ No newline at end of file diff --git a/vendor/stefangabos/zebra_form/languages/deutsch.php b/vendor/stefangabos/zebra_form/languages/deutsch.php new file mode 100644 index 00000000..d1009938 --- /dev/null +++ b/vendor/stefangabos/zebra_form/languages/deutsch.php @@ -0,0 +1,24 @@ +<?php + +/** +* Deutsch (German) language file +* +* @author Chris Banford +*/ + +$this->language = array( + + 'clear_date' => 'Löschen', + 'csrf_detected' => 'Beim Absenden des Formulars ist ein Problem aufgetreten.<br>Es kann sein, dass zu viel Zeit vergangen ist, oder dass Ihre Anfrage bereits gesendet wurde.<br>Bitte versuchen Sie es später noch einmal.', + 'days' => array ('Sonntag', 'Montag', 'Dienstag', 'Mittwoch', 'Donnerstag', 'Freitag', 'Samstag'), + 'days_abbr' => false, // will use the first 2 letters from the full name + 'months' => array('Januar','Februar', 'März', 'April', 'Mai', 'Juni', 'Juli', 'August', 'September', 'Oktober', 'November', 'Dezember'), + 'months_abbr' => false, // will use the first 3 letters from the full name + 'new_captcha' => 'Einen neuen Code erhalten', + 'other' => 'Sonstige...', + 'select' => '- wählen -', + 'spam_detected' => 'Es besteht der Verdacht auf einen Spamversuch. Ihre Anfrage wird ignoriert.', + 'today' => 'Heute', +); + +?> \ No newline at end of file diff --git a/vendor/stefangabos/zebra_form/languages/dutch.php b/vendor/stefangabos/zebra_form/languages/dutch.php new file mode 100644 index 00000000..db13f448 --- /dev/null +++ b/vendor/stefangabos/zebra_form/languages/dutch.php @@ -0,0 +1,25 @@ +<?php + +/** +* Dutch language file +* +* @author Alexander Martens <martens@podium.nl> +*/ + +$this->language = array( + + 'clear_date' => 'Wissen', + 'csrf_detected' => 'Er was een probleem met het verzenden van het formulier<br>Of het versturen duurde te lang of uw formulier was inmiddels al verstuurd.<br>Probeer het later nog een keer.', + 'days' => array('Zondag','Maandag','Dinsdag','Woensdag','Donderdag','Vrijdag','Zaterdag'), + 'days_abbr' => true, // will use the first 2 letters from the full name + 'months' => array('Januari','Februari','Maart','April','Mei','Juni','Juli','Augustus','September','Oktober','November','December'), + 'months_abbr' => false, // will use the first 3 letters from the full name + 'new_captcha' => 'Toon een nieuwe code', + 'other' => 'Anders...', + 'select' => '- maak een keuze -', + 'spam_detected' => 'Er is mogelijk spam gedetecteerd, uw ingevoerde gegevens zijn geweigerd', + 'today' => 'Vandaag', + +); + +?> \ No newline at end of file diff --git a/vendor/stefangabos/zebra_form/languages/english.php b/vendor/stefangabos/zebra_form/languages/english.php new file mode 100644 index 00000000..3d5ec199 --- /dev/null +++ b/vendor/stefangabos/zebra_form/languages/english.php @@ -0,0 +1,25 @@ +<?php + +/** +* English language file +* +* @author Stefan Gabos <contact@stefangabos.ro> +*/ + +$this->language = array( + + 'clear_date' => 'Clear date', + 'csrf_detected' => 'There was a problem with your submission!<br>Possible causes may be that the submission has taken too long, or it represents a duplicate request.<br>Please try again.', + 'days' => array('Sunday','Monday','Tuesday','Wednesday','Thursday','Friday','Saturday'), + 'days_abbr' => false, // will use the first 2 letters from the full name + 'months' => array('January','February','March','April','May','June','July','August','September','October','November','December'), + 'months_abbr' => false, // will use the first 3 letters from the full name + 'new_captcha' => 'Get a new code', + 'other' => 'Other...', + 'select' => '- select -', + 'spam_detected' => 'Possible spam attempt detected. The posted form data was rejected.', + 'today' => 'Today', + +); + +?> \ No newline at end of file diff --git a/vendor/stefangabos/zebra_form/languages/espanol.php b/vendor/stefangabos/zebra_form/languages/espanol.php new file mode 100644 index 00000000..d94f6e6c --- /dev/null +++ b/vendor/stefangabos/zebra_form/languages/espanol.php @@ -0,0 +1,26 @@ +<?php + +/** +* Spanish language file +* +* @version 1.1.1 +* @author D3iti, WaKeMaTTa +*/ + +$this->language = array( + + 'clear_date' => 'Limpiar', + 'csrf_detected' => '¡Hubo un problema con tu envio!<br>Probablemente el envio es demasido grande o es una petición duplicada. <br> Por favor, inténtalo de nuevo.', + 'days' => array('Domingo','Lunes','Martes','Miércoles','Jueves','Viernes','Sábado'), + 'days_abbr' => false, // will use the first 2 letters from the full name + 'months' => array('Enero','Febrero','Marzo','Abril','Mayo','Junio','Julio','Agosto','Septiembre','Octubre','Noviembre','Diciembre'), + 'months_abbr' => false, // will use the first 3 letters from the full name + 'new_captcha' => 'Obtener nuevo codigo', + 'other' => 'Otro...', + 'select' => '- Seleccionar -', + 'spam_detected' => 'Posible intento de spam detectado. El formulario enviado fue rechazado.', + 'today' => 'Hoy', + +); + +?> diff --git a/vendor/stefangabos/zebra_form/languages/francais.php b/vendor/stefangabos/zebra_form/languages/francais.php new file mode 100644 index 00000000..7783ae5b --- /dev/null +++ b/vendor/stefangabos/zebra_form/languages/francais.php @@ -0,0 +1,26 @@ +<?php + +/** +* French language file +* +* @version 1.0 +* @author Sébastien GASTARD aka Gafa +*/ + +$this->language = array( + + 'clear_date' => 'Vider', + 'csrf_detected' =>' Il y a eu un problème avec cette requête<br>Cela peut être causé par une inactivité de votre part, ou par un double envoi du formulaire.<br>Merci de réessayer plus tard. ', + 'days' => array('Dimanche','Lundi','Mardi','Mercredi','Jeudi','Vendredi','Samedi'), + 'days_abbr' => false, // will use the first 2 letters from the full name + 'months' => array('Janvier','Février','Mars','Avril','Mai','Juin','Juillet','Août','Septembre','Octobre','Novembre','Décembre'), + 'months_abbr' => false, // will use the first 3 letters from the full name + 'new_captcha' => 'Obtenir un nouveau code', + 'other' => 'Autre...', + 'select' => '- Sélectionner -', + 'spam_detected' => 'Une tentative de SPAM à été détectée. Votre requête est ignorée. ', + 'today' => 'Aujourd\'hui', + +); + +?> \ No newline at end of file diff --git a/vendor/stefangabos/zebra_form/languages/index.html b/vendor/stefangabos/zebra_form/languages/index.html new file mode 100644 index 00000000..5fb34f4a --- /dev/null +++ b/vendor/stefangabos/zebra_form/languages/index.html @@ -0,0 +1,8 @@ +<html> +<head> + <title>403 Forbidden</title> +</head> +<body> + <p>Directory access is forbidden.</p> +</body> +</html> \ No newline at end of file diff --git a/vendor/stefangabos/zebra_form/languages/italiano.php b/vendor/stefangabos/zebra_form/languages/italiano.php new file mode 100644 index 00000000..b99e9802 --- /dev/null +++ b/vendor/stefangabos/zebra_form/languages/italiano.php @@ -0,0 +1,25 @@ +<?php + +/** +* Italian language file +* +* @author Nicola Tuveri <nic.tuv@gmail.com> +*/ + +$this->language = array( + + 'clear_date' => 'Rimuovi', + 'csrf_detected' => 'Si è presentato un problema col vostro invio!<br>Tra le possibili cause l\'invio può aver richiesto troppo tempo, o la richiesta è stata duplicata.<br>Riprovare, per favore.', + 'days' => array('Domenica','Lunedì','Martedì','Mercoledì','Giovedì','Venerdì','Sabato'), + 'days_abbr' => array('D','L','Ma','Me','G','V','S'), + 'months' => array('Gennaio','Febbraio','Marzo','Aprile','Maggio','Giugno','Luglio','Agosto','Settembre','Ottobre','Novembre','Dicembre'), + 'months_abbr' => false, // will use the first 3 letters from the full name + 'new_captcha' => 'Genera un nuovo codice', + 'other' => 'Altro...', + 'select' => '- Selezionare -', + 'spam_detected' => 'Rilevato possibile tentativo di spam. Il modulo inviato è stato rifiutato.', + 'today' => 'Oggi', + +); + +?> \ No newline at end of file diff --git a/vendor/stefangabos/zebra_form/languages/romana.php b/vendor/stefangabos/zebra_form/languages/romana.php new file mode 100644 index 00000000..b8960cbd --- /dev/null +++ b/vendor/stefangabos/zebra_form/languages/romana.php @@ -0,0 +1,26 @@ +<?php + +/** +* Romanian language file +* +* @version 1.1 +* @author Stefan Gabos <contact@stefangabos.ro> +*/ + +$this->language = array( + + 'clear_date' => 'Sterge', + 'csrf_detected' => 'A existat o problema la trimitearea formularului!<br>Posibile cauze pot fi durata prea mare de timp folosita pentru completarea formularului sau incercarea de retrimitere a formularului.<br>Te rugam sa incerci din nou.', + 'days' => array('Duminica','Luni','Marti','Miercuri','Joi','Vineri','Sambata'), + 'days_abbr' => false, // will use the first 2 letters from the full name + 'months' => array('Ianuarie','Februarie','Martie','Aprilie','Mai','Iunie','Iulie','August','Septembrie','Octombrie','Noiembrie','Decembrie'), + 'months_abbr' => false, // will use the first 3 letters from the full name + 'new_captcha' => 'Genereaza un cod nou', + 'other' => 'Alta...', + 'select' => '- alege -', + 'spam_detected' => 'Posibila incercare de spam detectata. Datele trimise in formular au fost respinse.', + 'today' => 'Astazi', + +); + +?> \ No newline at end of file diff --git a/vendor/stefangabos/zebra_form/languages/russian.php b/vendor/stefangabos/zebra_form/languages/russian.php new file mode 100644 index 00000000..e0f37e26 --- /dev/null +++ b/vendor/stefangabos/zebra_form/languages/russian.php @@ -0,0 +1,25 @@ +<?php + +/** +* Russian language file +* +* @author Maxim Hodyrev <maximkou@gmail.com> +*/ + +$this->language = array( + + 'clear_date' => 'Дата очистки', + 'csrf_detected' => 'При выполнении вашего запроса возникла проблема.<br>Возможно, ваш запрос занял слишком много времени или дублируется.<br>Попробуйте еще раз.', + 'days' => array('Воскресенье','Понедельник','Вторник','Среда','Четверг','Пятница','Суббота'), + 'days_abbr' => false, + 'months' => array('Январь','Февраль','Март','Апрель','Май','Июнь','Июль','Август','Сентябрь','Октябрь','Ноябрь','Декабрь'), + 'months_abbr' => false, + 'new_captcha' => 'Обновить капчу', + 'other' => 'Еще...', + 'select' => '- не выбрано -', + 'spam_detected' => 'Выявлена возможная попытка отправить спам-сообщение. Отправленные в форме данные отклонены.', + 'today' => 'Сегодня', + +); + +?> \ No newline at end of file diff --git a/vendor/stefangabos/zebra_form/languages/türk.php b/vendor/stefangabos/zebra_form/languages/türk.php new file mode 100644 index 00000000..bbfba7ac --- /dev/null +++ b/vendor/stefangabos/zebra_form/languages/türk.php @@ -0,0 +1,25 @@ +<?php + +/** +* Turkish language file +* +* @author Bülent Özden +*/ + +$this->language = array( + + 'clear_date' => 'Temizle', + 'csrf_detected' => 'Gönderinizle ilgili bir sorun çıktı!<br>Olası nedenler arasında form gönderiminin çok uzun sürmesi ya da aynı işlemden ikinci kere yapılması olabilir.<br>Lütfen yeniden deneyiniz.', + 'days' => array('Pazar','Pazartesi','Salı','Çarsamba','Perşembe','Cuma','Cumartesi'), + 'days_abbr' => false, // will use the first 2 letters from the full name + 'months' => array('Ocak','Şubat','Mart','Nisan','Mayıs','Haziran','Temmuz','Ağustos','Eylül','Ekim','Kasım','Aralık'), + 'months_abbr' => false, // will use the first 3 letters from the full name + 'new_captcha' => 'Yeni bir kod', + 'other' => 'Diğer...', + 'select' => '- seçiniz -', + 'spam_detected' => 'SPAM denemesi olabilir. Gönderilen form verisi reddedildi.', + 'today' => 'Bugün', + +); + +?> diff --git a/vendor/stefangabos/zebra_form/license.txt b/vendor/stefangabos/zebra_form/license.txt new file mode 100644 index 00000000..65c5ca88 --- /dev/null +++ b/vendor/stefangabos/zebra_form/license.txt @@ -0,0 +1,165 @@ + GNU LESSER GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/> + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + + This version of the GNU Lesser General Public License incorporates +the terms and conditions of version 3 of the GNU General Public +License, supplemented by the additional permissions listed below. + + 0. Additional Definitions. + + As used herein, "this License" refers to version 3 of the GNU Lesser +General Public License, and the "GNU GPL" refers to version 3 of the GNU +General Public License. + + "The Library" refers to a covered work governed by this License, +other than an Application or a Combined Work as defined below. + + An "Application" is any work that makes use of an interface provided +by the Library, but which is not otherwise based on the Library. +Defining a subclass of a class defined by the Library is deemed a mode +of using an interface provided by the Library. + + A "Combined Work" is a work produced by combining or linking an +Application with the Library. The particular version of the Library +with which the Combined Work was made is also called the "Linked +Version". + + The "Minimal Corresponding Source" for a Combined Work means the +Corresponding Source for the Combined Work, excluding any source code +for portions of the Combined Work that, considered in isolation, are +based on the Application, and not on the Linked Version. + + The "Corresponding Application Code" for a Combined Work means the +object code and/or source code for the Application, including any data +and utility programs needed for reproducing the Combined Work from the +Application, but excluding the System Libraries of the Combined Work. + + 1. Exception to Section 3 of the GNU GPL. + + You may convey a covered work under sections 3 and 4 of this License +without being bound by section 3 of the GNU GPL. + + 2. Conveying Modified Versions. + + If you modify a copy of the Library, and, in your modifications, a +facility refers to a function or data to be supplied by an Application +that uses the facility (other than as an argument passed when the +facility is invoked), then you may convey a copy of the modified +version: + + a) under this License, provided that you make a good faith effort to + ensure that, in the event an Application does not supply the + function or data, the facility still operates, and performs + whatever part of its purpose remains meaningful, or + + b) under the GNU GPL, with none of the additional permissions of + this License applicable to that copy. + + 3. Object Code Incorporating Material from Library Header Files. + + The object code form of an Application may incorporate material from +a header file that is part of the Library. You may convey such object +code under terms of your choice, provided that, if the incorporated +material is not limited to numerical parameters, data structure +layouts and accessors, or small macros, inline functions and templates +(ten or fewer lines in length), you do both of the following: + + a) Give prominent notice with each copy of the object code that the + Library is used in it and that the Library and its use are + covered by this License. + + b) Accompany the object code with a copy of the GNU GPL and this license + document. + + 4. Combined Works. + + You may convey a Combined Work under terms of your choice that, +taken together, effectively do not restrict modification of the +portions of the Library contained in the Combined Work and reverse +engineering for debugging such modifications, if you also do each of +the following: + + a) Give prominent notice with each copy of the Combined Work that + the Library is used in it and that the Library and its use are + covered by this License. + + b) Accompany the Combined Work with a copy of the GNU GPL and this license + document. + + c) For a Combined Work that displays copyright notices during + execution, include the copyright notice for the Library among + these notices, as well as a reference directing the user to the + copies of the GNU GPL and this license document. + + d) Do one of the following: + + 0) Convey the Minimal Corresponding Source under the terms of this + License, and the Corresponding Application Code in a form + suitable for, and under terms that permit, the user to + recombine or relink the Application with a modified version of + the Linked Version to produce a modified Combined Work, in the + manner specified by section 6 of the GNU GPL for conveying + Corresponding Source. + + 1) Use a suitable shared library mechanism for linking with the + Library. A suitable mechanism is one that (a) uses at run time + a copy of the Library already present on the user's computer + system, and (b) will operate properly with a modified version + of the Library that is interface-compatible with the Linked + Version. + + e) Provide Installation Information, but only if you would otherwise + be required to provide such information under section 6 of the + GNU GPL, and only to the extent that such information is + necessary to install and execute a modified version of the + Combined Work produced by recombining or relinking the + Application with a modified version of the Linked Version. (If + you use option 4d0, the Installation Information must accompany + the Minimal Corresponding Source and Corresponding Application + Code. If you use option 4d1, you must provide the Installation + Information in the manner specified by section 6 of the GNU GPL + for conveying Corresponding Source.) + + 5. Combined Libraries. + + You may place library facilities that are a work based on the +Library side by side in a single library together with other library +facilities that are not Applications and are not covered by this +License, and convey such a combined library under terms of your +choice, if you do both of the following: + + a) Accompany the combined library with a copy of the same work based + on the Library, uncombined with any other library facilities, + conveyed under the terms of this License. + + b) Give prominent notice with the combined library that part of it + is a work based on the Library, and explaining where to find the + accompanying uncombined form of the same work. + + 6. Revised Versions of the GNU Lesser General Public License. + + The Free Software Foundation may publish revised and/or new versions +of the GNU Lesser General Public License from time to time. Such new +versions will be similar in spirit to the present version, but may +differ in detail to address new problems or concerns. + + Each version is given a distinguishing version number. If the +Library as you received it specifies that a certain numbered version +of the GNU Lesser General Public License "or any later version" +applies to it, you have the option of following the terms and +conditions either of that published version or of any later version +published by the Free Software Foundation. If the Library as you +received it does not specify a version number of the GNU Lesser +General Public License, you may choose any version of the GNU Lesser +General Public License ever published by the Free Software Foundation. + + If the Library as you received it specifies that a proxy can decide +whether future versions of the GNU Lesser General Public License shall +apply, that proxy's public statement of acceptance of any version is +permanent authorization for you to choose that version for the +Library. diff --git a/vendor/stefangabos/zebra_form/mimes.json b/vendor/stefangabos/zebra_form/mimes.json new file mode 100644 index 00000000..23b1b251 --- /dev/null +++ b/vendor/stefangabos/zebra_form/mimes.json @@ -0,0 +1,140 @@ +{ + + "3g2" : "video\/3gpp2", + "3gp" : "video\/3gp", + "7zip" : ["application\/x-compressed", "application\/x-zip-compressed", "application\/zip", "multipart\/x-zip"], + "aac" : "audio\/x-acc", + "ac3" : "audio\/ac3", + "ai" : ["application\/pdf", "application\/postscript"], + "aif" : ["audio\/x-aiff", "audio\/aiff"], + "aifc" : "audio\/x-aiff", + "aiff" : ["audio\/x-aiff", "audio\/aiff"], + "au" : "audio\/x-au", + "avi" : ["video\/x-msvideo", "video\/msvideo", "video\/avi", "application\/x-troff-msvideo"], + "bin" : ["application\/macbinary", "application\/mac-binary", "application\/octet-stream", "application\/x-binary", "application\/x-macbinary"], + "bmp" : ["image\/bmp", "image\/x-windows-bmp"], + "cdr" : ["application\/cdr", "application\/coreldraw", "application\/x-cdr", "application\/x-coreldraw", "image\/cdr", "image\/x-cdr", "zz-application\/zz-winassoc-cdr"], + "cer" : ["application\/pkix-cert", "application\/x-x509-ca-cert"], + "class" : "application\/octet-stream", + "crl" : ["application\/pkix-crl", "application\/pkcs-crl"], + "crt" : ["application\/x-x509-ca-cert", "application\/x-x509-user-cert", "application\/pkix-cert"], + "csr" : "application\/octet-stream", + "css" : ["text\/css", "text\/plain"], + "csv" : ["text\/x-comma-separated-values", "text\/comma-separated-values", "application\/octet-stream", "application\/vnd.ms-excel", "application\/x-csv", "text\/x-csv", "text\/csv", "application\/csv", "application\/excel", "application\/vnd.msexcel", "text\/plain"], + "dcr" : "application\/x-director", + "der" : "application\/x-x509-ca-cert", + "dir" : "application\/x-director", + "dll" : "application\/octet-stream", + "dms" : "application\/octet-stream", + "doc" : ["application\/msword", "application\/vnd.ms-office"], + "docx" : ["application\/vnd.openxmlformats-officedocument.wordprocessingml.document", "application\/zip", "application\/msword", "application\/x-zip"], + "dot" : ["application\/msword", "application\/vnd.ms-office"], + "dotx" : ["application\/vnd.openxmlformats-officedocument.wordprocessingml.document", "application\/zip", "application\/msword"], + "dvi" : "application\/x-dvi", + "dxr" : "application\/x-director", + "eml" : "message\/rfc822", + "eps" : "application\/postscript", + "exe" : ["application\/octet-stream", "application\/x-msdownload"], + "f4v" : "video\/mp4", + "flac" : "audio\/x-flac", + "gif" : "image\/gif", + "gpg" : "application\/gpg-keys", + "gtar" : "application\/x-gtar", + "gz" : "application\/x-gzip", + "gzip" : "application\/x-gzip", + "htm" : ["text\/html", "text\/plain"], + "html" : ["text\/html", "text\/plain"], + "ics" : "text\/calendar", + "jar" : ["application\/java-archive", "application\/x-java-application", "application\/x-jar", "application\/x-compressed"], + "jpe" : ["image\/jpeg", "image\/pjpeg"], + "jpeg" : ["image\/jpeg", "image\/pjpeg"], + "jpg" : ["image\/jpeg", "image\/pjpeg"], + "js" : ["application\/x-javascript", "text\/plain"], + "json" : ["application\/json", "text\/json"], + "kdb" : "application\/octet-stream", + "kml" : ["application\/vnd.google-earth.kml+xml", "application\/xml", "text\/xml"], + "kmz" : ["application\/vnd.google-earth.kmz", "application\/zip", "application\/x-zip"], + "lha" : "application\/octet-stream", + "log" : ["text\/plain", "text\/x-log"], + "lzh" : "application\/octet-stream", + "m3u" : "text\/plain", + "m4a" : "audio\/x-m4a", + "m4u" : "application\/vnd.mpegurl", + "mid" : "audio\/midi", + "midi" : "audio\/midi", + "mif" : "application\/vnd.mif", + "mov" : "video\/quicktime", + "movie" : "video\/x-sgi-movie", + "mp2" : "audio\/mpeg", + "mp3" : ["audio\/mpeg", "audio\/mpg", "audio\/mpeg3", "audio\/mp3"], + "mp4" : "video\/mp4", + "mpe" : "video\/mpeg", + "mpeg" : "video\/mpeg", + "mpg" : "video\/mpeg", + "mpga" : "audio\/mpeg", + "oda" : "application\/oda", + "ogg" : "audio\/ogg", + "p10" : ["application\/x-pkcs10", "application\/pkcs10"], + "p12" : "application\/x-pkcs12", + "p7a" : "application\/x-pkcs7-signature", + "p7c" : ["application\/pkcs7-mime", "application\/x-pkcs7-mime"], + "p7m" : ["application\/pkcs7-mime", "application\/x-pkcs7-mime"], + "p7r" : "application\/x-pkcs7-certreqresp", + "p7s" : "application\/pkcs7-signature", + "pdf" : ["application\/pdf", "application\/force-download", "application\/x-download", "binary\/octet-stream", "application\/x-pdf"], + "pem" : ["application\/x-x509-user-cert", "application\/x-pem-file", "application\/octet-stream"], + "pgp" : "application\/pgp", + "php" : ["application\/x-httpd-php", "application\/php", "application\/x-php", "text\/php", "text\/x-php", "application\/x-httpd-php-source"], + "php3" : "application\/x-httpd-php", + "php4" : "application\/x-httpd-php", + "phps" : "application\/x-httpd-php-source", + "phtml" : "application\/x-httpd-php", + "png" : ["image\/png", "image\/x-png"], + "ppt" : ["application\/powerpoint", "application\/vnd.ms-powerpoint"], + "pptx" : ["application\/vnd.openxmlformats-officedocument.presentationml.presentation", "application\/x-zip", "application\/zip"], + "ps" : "application\/postscript", + "psd" : ["application\/x-photoshop", "image\/vnd.adobe.photoshop"], + "qt" : "video\/quicktime", + "ra" : "audio\/x-realaudio", + "ram" : "audio\/x-pn-realaudio", + "rar" : ["application\/x-rar", "application\/rar", "application\/x-rar-compressed"], + "rm" : "audio\/x-pn-realaudio", + "rpm" : "audio\/x-pn-realaudio-plugin", + "rsa" : "application\/x-pkcs7", + "rtf" : "text\/rtf", + "rtx" : "text\/richtext", + "rv" : "video\/vnd.rn-realvideo", + "sea" : "application\/octet-stream", + "shtml" : ["text\/html", "text\/plain"], + "sit" : "application\/x-stuffit", + "smi" : "application\/smil", + "smil" : "application\/smil", + "so" : "application\/octet-stream", + "sst" : "application\/octet-stream", + "swf" : "application\/x-shockwave-flash", + "tar" : "application\/x-tar", + "text" : "text\/plain", + "tgz" : ["application\/x-tar", "application\/x-gzip-compressed"], + "tif" : "image\/tiff", + "tiff" : "image\/tiff", + "txt" : "text\/plain", + "vlc" : "application\/videolan", + "wav" : ["audio\/x-wav", "audio\/wave", "audio\/wav"], + "wbxml" : "application\/wbxml", + "webm" : "video\/webm", + "wma" : ["audio\/x-ms-wma", "video\/x-ms-asf"], + "wmlc" : "application\/wmlc", + "wmv" : ["video\/x-ms-wmv", "video\/x-ms-asf"], + "word" : ["application\/msword", "application\/octet-stream"], + "xht" : "application\/xhtml+xml", + "xhtml" : "application\/xhtml+xml", + "xl" : "application\/excel", + "xls" : ["application\/vnd.ms-excel", "application\/msexcel", "application\/x-msexcel", "application\/x-ms-excel", "application\/x-excel", "application\/x-dos_ms_excel", "application\/xls", "application\/x-xls", "application\/excel", "application\/download", "application\/vnd.ms-office", "application\/msword"], + "xlsx" : ["application\/vnd.openxmlformats-officedocument.spreadsheetml.sheet", "application\/zip", "application\/vnd.ms-excel", "application\/msword", "application\/x-zip"], + "xml" : ["application\/xml", "text\/xml", "text\/plain"], + "xsl" : ["application\/xml", "text\/xsl", "text\/xml"], + "xspf" : "application\/xspf+xml", + "zip" : ["application\/x-zip", "application\/zip", "application\/x-zip-compressed", "application\/s-compressed", "multipart\/x-zip"], + "zsh" : "text\/x-scriptzsh" + +} \ No newline at end of file diff --git a/vendor/stefangabos/zebra_form/process.php b/vendor/stefangabos/zebra_form/process.php new file mode 100644 index 00000000..016fc069 --- /dev/null +++ b/vendor/stefangabos/zebra_form/process.php @@ -0,0 +1,248 @@ +<?php + +// if we have to generate a CAPTCHA image +if (isset($_GET['captcha']) && ($_GET['captcha'] == 1 || $_GET['captcha'] == 2)) { + + // storage method + $storage = ($_GET['captcha'] == 2 ? 'session' : 'cookie'); + + // if storage method is "session", start a session + if ($storage == 'session') session_start(); + + // as this file actually generates an image we set the headers accordingly + header('Content-type:image/jpeg'); + + $font_path = rtrim(implode(DIRECTORY_SEPARATOR, array_slice(explode(DIRECTORY_SEPARATOR, __FILE__), 0, -2)), DIRECTORY_SEPARATOR) . DIRECTORY_SEPARATOR . basename(dirname(__FILE__)) . DIRECTORY_SEPARATOR . 'includes/'; + + // the number of characters to be used in the generated image + $charactersNumber = 5; + + // spacing between characters (this can also be a negative number) + // you should leave this as it is (unless you want to increase it) + // decreasing this value may result in characters overlapping and being hardly distinguishable + $characterSpacing = -2; + + // each character's size will be randomly selected from this range + $fontSizeVariation = array(20, 40); + + // each character's angle will be randomly selected from this range + // (remember to also change the character spacing if you change these to avoid character overlapping) + $fontAngleVariation = array(-10, 10); + + // if you changed anything above, you should probably change this too si that all the characters fit into the image + // and there's not too much of blank space + $imageWidth = 140; + + // if you changed anything above, you should probably change this too si that all the characters fit into the image + // and there's not too much of blank space + $imageHeight = 50; + + // the quality, in percents, of the generated image + $imageQuality = 70; + + // list of characters from which to choose + // (notice that characters that can be (in some circumstances) confused with others, are missing) + // you should not alter this setting + $charList = 'bcdkmpsx345678'; + + $captcha = array(); + + $resultString = ''; + + $totalWidth = 0; + + // this is the used font + $font = $font_path . 'babelsans-bold.ttf'; + + // first we figure out how much space the character would take + for ($i = 0; $i < $charactersNumber; $i++) { + + // get a random character + $char = $charList[rand(0, strlen($charList) - 1)]; + + $resultString .= $char; + + // get a random size for the character + $charSize = rand($fontSizeVariation[0], $fontSizeVariation[1]); + + // get a random angle for the character + $charAngle = rand($fontAngleVariation[0], $fontAngleVariation[1]); + + // get the bounding box of the character + $bbox = imagettfbbox($charSize, $charAngle, $font, $char); + + // resolve the returned measurements + $bbox['left'] = abs(min($bbox[0], $bbox[2], $bbox[4], $bbox[6])); + + $bbox['top'] = abs(min($bbox[1], $bbox[3], $bbox[5], $bbox[7])); + + $bbox['width'] = max($bbox[0], $bbox[2], $bbox[4], $bbox[6]) - min($bbox[0], $bbox[2], $bbox[4], $bbox[6]); + + $bbox['height'] = max($bbox[1], $bbox[3], $bbox[5], $bbox[7]) - min($bbox[1], $bbox[3], $bbox[5], $bbox[7]); + + // this will be the total width of the random generated word + $totalWidth += $bbox['width'] + $characterSpacing; + + // save info about the current character + $captcha[] = array( + + 'char' => $char, + 'size' => $charSize, + 'angle' => $charAngle, + 'box' => $bbox + + ); + + } + + // encode value + $value = md5(md5(md5($resultString))); + + // if storage is "session", store the value in session + if ($storage == 'session') $_SESSION['captcha'] = $value; + + // otherwise, store the value in a cookie + else setcookie('captcha', $value, time() + 3600, '/'); + + // either ways, the value will later be read by the form generator + // and used to see if the user entered the correct characters + + // create the image + $img = imagecreatetruecolor($imageWidth, $imageHeight); + + // allocate some colors + $white = imagecolorallocate($img, 255, 255, 255); + + $black = imagecolorallocate($img, 0, 0, 0); + + // fill the canvas to white + imagefilledrectangle($img, 0, 0, $imageWidth, $imageHeight, $white); + + // write some random characters in the background + for ($i = 0; $i <10; $i++) { + + // ...having random washed-out colors + $color = imagecolorallocate($img, rand(150, 200), rand(150, 200), rand(150, 200)); + + imagettftext( + $img, + 20, + rand($fontAngleVariation[0], + $fontAngleVariation[1]), + rand(0, $imageWidth), + rand(20, $imageHeight) , + $color, + $font, + chr(rand(65, 90)) + ); + + } + + // draw a bounding rectangle + // imagerectangle($img, 0, 0, $imageWidth - 1, $imageHeight - 1, $black); + + // this is to keep the word centered in the box + $left = (($imageWidth - $totalWidth) / 2); + + // iterate through the chosen characters + foreach ($captcha as $values) { + + // print each character + imagettftext( + $img, + $values['size'], + $values['angle'], + $left , + ($imageHeight + $values['box']['height']) / 2 , + $black, + $font, + $values['char'] + ); + + // compute the position of the next character + $left += $values['box']['width'] + $characterSpacing; + + } + + // and finally output the image at the specified quality + imagejpeg($img, null, $imageQuality); + + // free memory + imagedestroy($img); + +// if we're performing a file upload +} elseif ( + + isset($_FILES) && + is_array($_FILES) && + !empty($_FILES) && + isset($_GET['form']) && + isset($_GET['control']) && + isset($_FILES[$_GET['control']]) + +) { + + function process() { + + // the form that initiated the request + $form = $_GET['form']; + + // the file upload control on the form that initiated the request + $control = $_GET['control']; + + // if file could be uploaded + if (isset($_FILES[$_GET['control']])) { + + // save some information about the uploaded file + $file['name'] = $_FILES[$control]['name']; + $file['type'] = $_FILES[$control]['type']; + $file['error'] = $_FILES[$control]['error']; + $file['size'] = $_FILES[$control]['size']; + + // if there were problems uploading the file + } elseif (empty($_POST) && empty($_FILES) && isset($_SERVER['CONTENT_LENGTH']) && isset($_SERVER['CONTENT_TYPE']) && (strpos($_SERVER['CONTENT_TYPE'], 'multipart/form-data') !== false || strpos($_SERVER['CONTENT_TYPE'], 'application/x-www-form-urlencoded') !== false)) { + + // send these values + $file['name'] = ''; + $file['type'] = 'unknown'; + $file['error'] = 1; + $file['size'] = $_SERVER['CONTENT_LENGTH']; + } + + ob_start(); + + ?> + + <script type="text/javascript"> + var f=parent.window.$('#<?php echo $form?>'); + if(undefined!=f){ + f.data('Zebra_Form').end_file_upload('<?php echo $control . '\'' . (isset($file) ? ',[\'' . addcslashes($file['name'], '\'') . '\',\'' . $file['type'] . '\',\'' . $file['error'] . '\',\'' . $file['size'] . '\']' : '')?>) + } + </script> + + <?php + + $contents = ob_get_contents(); + + ob_end_clean(); + + $patterns = array( + '/^\s*/m', + '/\r/m', + '/\n/m', + '/\r\n/m', + ); + + $replacements = array( + '', + ); + + echo preg_replace($patterns, $replacements, $contents); + + } + + register_shutdown_function('process'); + +} + +?> diff --git a/vendor/stefangabos/zebra_form/public/css/button-background.gif b/vendor/stefangabos/zebra_form/public/css/button-background.gif new file mode 100644 index 0000000000000000000000000000000000000000..7f5b07467c22ac92494a1174f2db0fc9658a9798 GIT binary patch literal 145 zcmZ?wbhEHbWMq(LIKsg2|NsAg|Ni~``}fbEKfizf{`KqE&!0bk{P^+x`}c3(zJ2}r z^~;wppFe;8^y$;bj~_pL`0(z-dmvyS8t8yjg6v{o6;lvkX)@q(Nt8I=sB&tPfzM+L Keim0n25SICem&3t literal 0 HcmV?d00001 diff --git a/vendor/stefangabos/zebra_form/public/css/calendar-disabled.png b/vendor/stefangabos/zebra_form/public/css/calendar-disabled.png new file mode 100644 index 0000000000000000000000000000000000000000..bb670706001da8ce5d9e3578a307e58de41a49db GIT binary patch literal 1041 zcmaJ=O-K|`93K@;{3xL=THtFWkaFi^cXf6LH`(1;bEuJZUC=Pa*_pRGxHE5@dE1Ul zL>LkaK}47G-a&{Cor0ndZyl2kVF=+tycN_Th^RN}YKOLgH}8Yr@Av=x|L^}Q>CsE= zEnO`XMYYQ#QijYO{%CF@|L$+URWfzr)Fd89d0bK*NX2!OgFrUbIhcW}zO?ub4pLMD zFtU?)Qn?~($YfL>!+54m*c3H5<k_mW05QnHIm3$4UtYYXfuYCfiGGDs>?E8wM#>Hx zFOO!m@`4uC>7k2Y&=ZM(39$-1vtYTR7o+!dMY8sfSsLs?@Is8<H#MoGK@vF-^fO#Q z;|4e|z%zU(EC@m$2y#5fazU0426#aX1x1bn2OmwMIeK2qNW%xQ$Sy|DV{D5oTPl^9 zQiws$9Lq<eQC}k%3=l-XU9zz11uVCxsvtpEa||0B$O68innOh#qlwe~6ioY2)^ZQZ zL<+`ws?G8Y=ciN!D$4(%rg?~VaRwgw{im>-U9usYfi5aK8o9W9j~~hwlMYlda<T{& zs#Q$SBaGa6WP{{*KbSBq9hKZYw4#Wz<zm&+pe)5`!e<Oa7bD?eA(0Fv5)mQD^C><q zaH(NQNC{znAQYBTRj!1zq6sZr<?2V=WKFK$2&PRUOVBZ{Lw(pmCfG|@G-`W^*3>)T z>b1SZYjRm)hV`%YuWPOzk>2r_hfPa1hiwln((4Xs>aP!G#>j)XBTMnDx0!pgw)Q?Z zJG*-<ce$xKa{RG+qv^~xxOuj9HDBmjtla+btB<Sf?Br)Url+QUc0M}Mu)Cdpb?#)t z%B{v}YAc`E{!o0ozS3IRIMv;K?^7d?AJ$(hY%bMpoqqn&o94d1e6xI^JhE8VJ8^Y= oL#%v`^tQF!e|BD8jhE}{+bHR-xH-}{R`4IGoEnv$CT5ra0DBcoJOBUy literal 0 HcmV?d00001 diff --git a/vendor/stefangabos/zebra_form/public/css/calendar.png b/vendor/stefangabos/zebra_form/public/css/calendar.png new file mode 100644 index 0000000000000000000000000000000000000000..76c15a45ee68ebb9ac1a41f9b313b2eb410579d8 GIT binary patch literal 218 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`k|nMYCBgY=CFO}lsSJ)O`AMk? zp1FzXsX?iUDV2pMQ*D5XYCK&WLn>}1{fR%Y;OKz^7x<4%;}Iy3@jCp2$Kr_NA1Aj3 zjMf`9)Wl@c8?)d2KhM34The~<heU>0nM2!Ck`@STNa$E_+s9$fDZLpF{pPIenOhOV zFsViJz|m!M#V_n_?C!nJ>U@q{XUC%U2#3NnrdCJApfFWWV-J0Y21W*slZHZ_J#qVi P?qKkA^>bP0l+XkKGW$<K literal 0 HcmV?d00001 diff --git a/vendor/stefangabos/zebra_form/public/css/close.png b/vendor/stefangabos/zebra_form/public/css/close.png new file mode 100644 index 0000000000000000000000000000000000000000..4dec04a262fddb40917574ff138843ef9dec92cb GIT binary patch literal 238 zcmeAS@N?(olHy`uVBq!ia0vp^AT}2V8<6ZZI=>f4NtU=qlmzFem6RtIr7}3C<R_&n zc;+Uirv{}arc@T5Otk?jn&9c;7*cU7>CgZF_RNM2oSm|KM-F+^Fe>!5e0ES{D&!Hc zXMS|oL5JrElfxcnt!W%VhdH)NrCicdxW@8mwZk9rj;{?r^aR+MKWfkD<O!Jk&B>SX z;b8|Iw#n{g$|t7W_xK|pU?_6FL1rJ*$z87<*6@l7yM6PqnN@n?oCo7?=99ghC-R!K j{8~OrcJdZ9FfcRxNtxBKSMOp5&}|H!u6{1-oD!M<pvhHE literal 0 HcmV?d00001 diff --git a/vendor/stefangabos/zebra_form/public/css/ico-close.gif b/vendor/stefangabos/zebra_form/public/css/ico-close.gif new file mode 100644 index 0000000000000000000000000000000000000000..a31ac37328d848bcad7348274b1c1c839562b0c6 GIT binary patch literal 672 zcmZ?wbhEHb6krfwc$Uj>$zShMpy9<}lk<UwXT7yfyDDD}(7zmHblOtnm=^P4b%w*5 z%*Ralk2@<Kx0k&VVshSD;fOlJK{bYbY7BeT81|?!95xd^Y%9HAjbXo$zz$W0Z7K|V z4Ec7eG8`}#IA|{Nbj`dEmridn;9sxIu+@O?&7mFlXLs#VW!PgXe92d5zY+h(tLOgx z`t|1g@pbzAuaEBe`TX(AeOor@^6t}S-($dgIn;E!A^+Qpr~iKc`s(!IS0@hqdj0&x zp&iS#d6y|MY*%I2tIoJxpKpUQ!|U_M|9t-N`~902NB1n$=3S`3uvwR9oq@oMBYPI> z@U2i{*rd&Q)>n6{p}@O~r(c{nuuhL}j~e3!4Yt$HihGO&7HRXnJi6z_zAZb{nYO4g zKUp(xnJ(YULpyHF>RPG9utAM^s{#L3ecp9IU#Kx{RAJnz!mwV2afd$dCJnaDYRv!t z|7RczDE{LxG}JdR)i*F_Kw<x6VSK@y%b)`?6%<zt>`xnVo0=FHnV4Bvo4a$_*f}`4 zxVU+E`Fi*T1cih}L`8&!#KfD~1h^z5rKH!$$V$k`H?a#!C@3l^E32rgsY__&YH|o^ zY3u0f>FFC78p#@)m~skBnVDNyT3OrJ+SxleGI5DWJLx&QxVpJ}C`*fYGINPaD|_j_ z^7iq4FY4znHl<leb+$-ea7)gDprc&PoZ)@E2M?)m^XRIW<UG8ztg(eJHm}0*QpzcD zgG9d$!6yfp+Juv9UI;m<`A8b4v&DXBSja48vc_bN!Q{4!>>|bu6^k~x`uMpuS*-AU Nl)@|R*2utM4FJ14;Yt7i literal 0 HcmV?d00001 diff --git a/vendor/stefangabos/zebra_form/public/css/ico-close.png b/vendor/stefangabos/zebra_form/public/css/ico-close.png new file mode 100644 index 0000000000000000000000000000000000000000..7b263fbdc3eff0fedc4d0e6514ee95ab1bde19c9 GIT binary patch literal 894 zcmV-^1A+XBP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV00004b3#c}2nYxW zd<bNS00009a7bBm000XT000XT0n*)m`~Uy|Aaq4obW?9;ba!ELWdKcKV{&h8Wn^h# zAVz6&Wp{6KYjYq?Si6xbBme*a7IZ~ebVG7wVRUJ4ZXi@?ZDjy4F)uJRFEBUVx{2EW z00PoUL_t(|oMn?sXk29!$A8~<JC8cgq`J!BrsUO_wqR0&xaguPDuhJLqMP8No9x9! z7nTZj(Ul0g^Z{a_izdrTN@+x~XbE<bNz#l$i4(hN<~`Gyd+&FSi%DgI2M!0$<IjQL zIYw3KxBR=~r%g0^73)o@^>QK(@w+AQyARawUYWl4cfP;h^b2gxpIyd!bDbx91hopz zxn99~c!?w?GYDb0GIMWl{)oWd^^f9>-`9#k<!P=}dW=(WfF8OzbPurE6A+7++ArpY z-@0|bV*%>F-nkJ}p5~gR#{>$J%;GC_1$^m6Nu===!s-F8-O9!P`RfLN+5BK?T19@V z71jw9Mn3zR#K<H+FJ2&M)BuR4(!BP?O&X8#6t90w#DL43z^I<H((PR9JlVr3kj#)A zKTCS-3^U){Mw1ydnc>`*w@3|7@WRPcwBsp41>0_-VQ|fCEKHXgh4rCM=<t=^z_)kE zj-29Pa~+%`dvcWW_CxM2Ex@w|10F=J!H=i*t%wde=TJZty7d}six(*G<QW{BWMK3a z%DV-ATv{M#H8^fS6;LG<89FA?L-ib{0vLnohpk|ZA!3iDP;poZ!+osx-#|2-<@|T6 z42+$oytBc<qfG`!CwTL#n?#f8K4F76w{NB0-0~7h3=qv^dE@)LWXI1?-pO<O!}nOd zG)rZ-z`*bXuYdjnkyILMAT)+!;<l`Mk;^7ChzDrBN@M#ED%%fPU3?pD)rqw0{Ic{u z)nb9_pIbERbu7?PgA=)IRF(VZUtSKMwdca>0f9o0$WW`-IBuRV3z1}sW}`vGK+Lm* zqARmSnYRFbZulaxc*&%)L<~e*H8K{W24bccy><^@%(M8SrIN1~|MyHk&AhZ6h|cwn z#0S+wI)=~~I%+T?E3-v8`b_<{_G)G_R6Y$wrvlNOiUa3LM%)8W<&$@IWuw3UU(j81 UEFk${^Z)<=07*qoM6N<$g3QpL<^TWy literal 0 HcmV?d00001 diff --git a/vendor/stefangabos/zebra_form/public/css/ico-refresh.gif b/vendor/stefangabos/zebra_form/public/css/ico-refresh.gif new file mode 100644 index 0000000000000000000000000000000000000000..f94d253c749ebea440c1dae975215393db6758cd GIT binary patch literal 1604 zcmZ?wbhEHb6krfwcoxOLP`>~3=g*%$eR}ie4MX16n!Rcd9z6K<>sR)AotrmrUcGwt z{rmUVo_@^Ps5A3e<JBi07#dDod-kz*ug3G|&tHGNUA0H`>E}BK?k)cG<C({VL)z1? z8caO%_17zhMK@Xwn1B5F_xInQ(@xoc`}Xa`<L-uik0$TC^Xk>B4?q6SJ!{#1Snlq- zeQeFA4n6sP;?cTow^|u;w{Vy4U?|%czQADWN&5vCLf2k@&s)0V`|qc$#XCO#yz=(# zTfgZiyN+o7`TLW-_Ar0m#`_<BF5Eu1W|y<xg4;EFRcrRB-hA<S`}Nm*?^S>O`RCjB z|4*Jg`Th6bg7d+bUmSb?<8Sr`orT-xeEj@BVBJI3f^EWG=awFMbnwpG3C9f|yg%~) z|9=Mh0>%H_5xxNmE{P?HK-$K>q98FjJGDe1DK$Ma&sORE?)^#%nJKnP;ikR@z6H*y z8JQkcMXAA6ej&+K*~ykEO7?aNHWgMCxdpkYC5Z|ZxjA{oRu#5Ni7EL>sa8NXNLXJ< z0j#7X+g8aDB%uJZ(>cE=Rl!uxKsVXI%s|1+P|wiV#N6CmN5ROz&_Lh7NZ-&%*U;R` z*vQJjKmiJrfVLH-q*(>IxIyg#@@$ndN=gc>^!3Zj%k|2Q_413-^$jg8EkR}&8R-I5 z=oVMzl_XZ^<`pZ$OmImpPA<wUD9OyvQvjKmn3P{yVygsnDZ~r81#n~YiuJ(W(M!(H z)vrh_&^OdG0C@?f(AO8g(%f9Q>f(~1RD^r68eAMwS&*t9lv<o$T9lj$RIUuNs=&&* zC^fMpzbGU>KL-|y0U7xv`NbLe1q#l=rV8Pic`5nj#bDLGzE+-j#U+V($*G<$wn{+# zdYPFiRwl+ymTqpwW+ui4Zia@gMi$PF=8l$*&SuVLW~Q!YjxfD0`N^fZsd*(Zy(tL2 z<~a3&5<+eP&}Ns^qRg_?6t|-MTm`U)tuk@D#RR8$P`xR*-C~MUuRhQ*`k-h<ie{J) zFztYt@I(vbz>|Gy9x$yJ0TVUj|9^k~{QmXx$M<hvzkL4m@x%LfZ{NIr_438@XHTCz ze)RCc{d;%s+`e`5#`SAguUx)#@xu9YXV08Ib@IgVV@Ho1K6LQF{(XD*?B2C=$M$Vo zw`|_Dal`s`YuBt^wQ|MsWlNVVUbJw*{CRWd%$_xK#`I}Zr%awSaYBDzZ%=nuXGeQm zYfE!eV?%viZB2DmWkq>eX-RQWVL^UgZccVqW=48iYD#iaVnTdeY)o`iWJGvaXh?8S zV1U1$uaCEvr-!?ntBbRfql3Mjt&O#nrG>c}FqDjd8A?xAM_Wr%LtRZ(MOjHvL0(Q) zMp{ZzLR?H#L|8~rfS-?-hntI&gPo0)g_((wfkE*n3y_Rr&;b=lpwgOwy}co-skx=K zEy`b~y-nRYSiZa2K}tY7RMvE&G{YQ220NARa5EN`5CeS+_ijOZ$sjK`RcoJCnI@hv zOY<gv&sGmD+a_fViS9@nV-w#9O+}GzJyBN|Rv}h7g>G>tjsRW`-HA<Nd`5olOl+K7 fT;7g>!klbOE$ockR?KRQO3d6$G78%@1Q@IVjzC)s literal 0 HcmV?d00001 diff --git a/vendor/stefangabos/zebra_form/public/css/ico-refresh.png b/vendor/stefangabos/zebra_form/public/css/ico-refresh.png new file mode 100644 index 0000000000000000000000000000000000000000..3235f414b2d005d333681a0d69994b22d49bc71c GIT binary patch literal 654 zcmV;90&)F`P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV00004b3#c}2nYxW zd<bNS00009a7bBm000W`000W`0Ya=am;e9(7<5HgbW?9;ba!ELWdK2BZ(?O2Mrm?o zcW-iQb5FA$P5=M`3`s;mR5*>LQA=nOQ4~G*&C5(PF@dIClnRLy3@I&EkXA(8Sgc@m zBPv+Ig<!RAYz0L@x)4Ovg|6JFbs^X)L|pjCDncn(h`106icmkaF~v+WN#<i_=DBF6 zNHMACU0k^LymvU~ToOXye~MKDlB1c1rt34^|3t7k^}TU!UYpX3#)-~UHd>2-mRo4Q z@iFl=SAMRWcAPWj$(-3-V(-;}baifM-JKN)Lc<f&#!n}?v=9Oyf+BN7g7W3;nXXec zEtm!U2$@C+rU94+$TA(W48zVBkpH2bY&iRBS4{-~pbp$`vpg{=5#BhHy?ZcQR|)KU z5OY1RCm2+As&%|Kdttk?s8B!%ft%?B-F~-ewLh~1qph?*)i?gRsbhSmCFbwLhwrwl z{r6OVUQ#gfHc7S{xD{ZHPvVizhuhX(Dg(f^sh0DE;L(sA?>e~t@u!+0UYv+^Gg|e6 zGqpe@We6lyJiXcR%Bmtob0N98r+>qvbj=KgUnZ`&0)q?yXrU1p1UzsGSqcx=pWgD? zs(OWUTR#kyO=U1&R=#Pv0<9=RD{*MLj9keY$Qv2!_xFFif{z`0y0J~0w~u?SI24NT z9V5Hb&#Gp?iNXM)02Bb+UBC;ieQWl@^DsU3WlRDh0Bis`M~LEbf`I>d(Ha3@E?@$1 oB|rt>0&oD>ju4fVEc{jd0>3}<mOtIyf&c&j07*qoM6N<$g1%B0UH||9 literal 0 HcmV?d00001 diff --git a/vendor/stefangabos/zebra_form/public/css/ico-warning.gif b/vendor/stefangabos/zebra_form/public/css/ico-warning.gif new file mode 100644 index 0000000000000000000000000000000000000000..d60b775628b71c833f019aa9325b85a8c100d800 GIT binary patch literal 607 zcmZ?wbhEHb6krfwc;?OU|Ek`<tA>BCn*6z9`1_*P?+eQRuj>E5X7vAp$p5p<|IaY| zKg0a@EdS4QN<YrZ{=a7O|B}M5Gs53a$vD^=7#kb^JSFh;glJl%T3WpG|3^7rj*I-i zqSIR@+uPv(|8Cf?lN?`;^8UMKx~x-d*|hNgw><uxX8drN@9Z+(vpbUiU$=aBkmvJZ z=Fd0t|6h`MyPxa#CEfq$`TjpHe!HLj_j$#qJK1{5WP7U2o*uIJah&<X0p`d6&B!3L zcl%i!?9Bh)kNt9l`Q3iT&69;UFN}V(m+}8q?f(yReqYr6e3b9wVcvHK*xnyt`Tzev z!ypEV|2PZ{^$kq*4a^x(*gshqUod+!=z!b~iYo^8B@Nz9O$>}o%q*<U-QH~M9GqNS z+&sK|J^TWbX3rKBYG#`?NmxWgc($lm6Z;(Tr4o{}rM#s%=Ey9Sm76WEpg3{1(o$uW z*{W(xbGX!(YG}^UVm_t4R7ZD?o<8>}14BcDV@Ae2b4*Ol%;#8Gdh^b)T5A1Zl1&qz z;Or$Lwsw>39hy}_CWtI?=U3cV$CH@ic(`52#Yn{P5VL}^qx*yv1ruF37dtRm0{|38 Bz_I`U literal 0 HcmV?d00001 diff --git a/vendor/stefangabos/zebra_form/public/css/ico-warning.png b/vendor/stefangabos/zebra_form/public/css/ico-warning.png new file mode 100644 index 0000000000000000000000000000000000000000..60300ce7bbd947b3be508c2d4dd1857291b0e77e GIT binary patch literal 713 zcmV;)0yh1LP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV00004b3#c}2nYxW zd<bNS00009a7bBm000XT000XT0n*)m`~Uy|Aaq4obW?9;ba!ELWdKcKV{&h8Wn^h# zAVz6&Wp{6KYjYq?Si6xbBme*a7IZ~ebVG7wVRUJ4ZXi@?ZDjy4F)uJRFEBUVx{2EW z00JFJL_t(|oPCo|Pg7A4#ees{XQ8DPOidGQiGe5v5)B%<aAU-kJ7HsjTjS1+!L1sN zto;J6Wl2AP#t;{1Y@*Q!D$y7yk|@ZZmfF|8JL3Y=_JKO9GxwZ1cV?0?s!Al@51z)v z?kV1g;^kBw>Vgs)6p`Sre`fh@yWB(!=7(o6-Wc^Ia2ufR58)vuNodljHVPeQm&T(8 zrCXhpXBP?Aa@4=_zi5yqlz6Ee=1yeJ&DDGWwx3Mnwj#x&H-{-#JpfV($FqlT064%p zN>46nKTiYWmW6zNx9#Z91G#Do_opFqqnXF-CaOACnM>y_Qk$Z_w6E2Zy}w$xFA0tB z5k6)s7;Q{hweca`#y*21>7a!(o#3`3yl(?SF+)~Wv#o9aql5k=xUC3pj3OdgtA8m5 z80c-=L0=LY%lkAcg0B*;fR}}+Q8Ml*K3ass*LNSP(GgS);8uKGWnN4&Yc<;9xAhp) zPrJc?&cr3l(L~gs9$GvT&YR%%zz7<?ipiIV;Oc`xJ}oD9M>yv3`1Xg$A~(uDA}()Z z!yk*PjY5NT#9(#3qlMQD^jvP{J2ek*h4e)!T7VrnF%e3<RF|HnX!6Q3sV<*Xm(S$2 z<KT5Si)(?DR)6RO>^Y|D%gl_bj>T*R-v*e(5Tr&yA>5p${Br?tg+mu)&oQ+{^+oq7 v5$=oVh!f4J2*!jZgA}cCcMhJHckTM$bRGhPs-aVM00000NkvXXu0mjfy!AAx literal 0 HcmV?d00001 diff --git a/vendor/stefangabos/zebra_form/public/css/index.html b/vendor/stefangabos/zebra_form/public/css/index.html new file mode 100644 index 00000000..5fb34f4a --- /dev/null +++ b/vendor/stefangabos/zebra_form/public/css/index.html @@ -0,0 +1,8 @@ +<html> +<head> + <title>403 Forbidden</title> +</head> +<body> + <p>Directory access is forbidden.</p> +</body> +</html> \ No newline at end of file diff --git a/vendor/stefangabos/zebra_form/public/css/note.gif b/vendor/stefangabos/zebra_form/public/css/note.gif new file mode 100644 index 0000000000000000000000000000000000000000..a6259e7fd69f6c0540021d5dd6da6a2e4a1e1ac9 GIT binary patch literal 114 zcmZ?wbhEHb<YwSzXkcV8Ha7nM|G(mY?wr)b6ouf*;*!){VI2j}yktEF1_mE?yCb4+ z85p?!GbsKO4n<N^3{|7}lZEjGGb4izP&Lp*ZUzP>{+|AooYfa(da}Ht=H9arVXy`O DszxC` literal 0 HcmV?d00001 diff --git a/vendor/stefangabos/zebra_form/public/css/spinner.gif b/vendor/stefangabos/zebra_form/public/css/spinner.gif new file mode 100644 index 0000000000000000000000000000000000000000..1c72ebb554be018511ae972c3f2361dff02dce02 GIT binary patch literal 2545 zcma*pX;2es8VB%~zPr=ibVMCx-JQ^BhLDAsK)^**h(ZDp9YGuzZ%~j!<xu1hb_^th zKn@N$1VO{01`9<%h4l=A4vwQT&bVsTZjFw9P-l<Qoe!f`yKYB!tM&t1HSgzstKVP0 z|L5r^POpntls*s413v-q_U&5$!0p?&-@JMA=+UFor%yk7_RQgMOifL7c6L5^@WADA zx!vwpuU-`w7n{xIv9Yo2>}+w%FI;|aC7){7CdVvG)P{bng1y9Te*f}~*`1kQl$jwb z$tlW~rRS!X?#xfm_&6tTdp_`cjgYwbRFLNdo<jokluYIjz_QHsEcJTHQ)iQD!j=@a z(6q$rjW28VVTg$%mdEiR9l+h)kxeZ7LLaM|)R`u{(l?gI8P$gSzw(<Tzh500Jb!LY z)tcOfHs7@?s*FkqB}o)AGDR3;w$#}im8LfMi#8sk(TqKtIw%ySI|7SZv7^B})CzJI z$48Ci9Z$;Iv_*-~RzRIvGo+^JN@zSzAI;FWZ=P`#3lo<PVYzC*nFyyn1h+~gAY}{s zRIc7aS??2DV&8Ocs>JCN$S-yhg`ZnC-yvedRSmOh%;Y`Gl6bY$Z-}#C=#F4%9!I1b zWQ~f+9P?;vhCxWwlwl=lrWG|7IYo;{jjmzJ5R9?f>n%<BEwzWU%!e6>-d@>kLINUc z4wM5dAO;kq<$}Dk{2-u0$I6@2N}&cUx9nmV1dYc8jfC}%=F9WCg^OQK9C6poh#2!A z3^EU*UFZvS^)?bu3T?J;@Ahb~%I?+@4!l5!*TjC}GIslNan-RCrrd~PdHYnNLJ<pJ zKX>k+m&`$Y+NV(e>CCu%R#_8GqY4cv#j`#uRWdsg9DxWy(?oOvgCU}&@jy%c!H&-Q zqXJxajAtmQRoRa9V-RFXXh-bK*;Fum{BjpkYQGX~i@OZ^<z1=R^!fUZypHVq2|@OU zpzGFe_uqWfc3n9mX264y5h4a#H(LmC^(HB{HQA=Vx!ZGpbpXGBbvO37iL1a0SN%~I zLXG%13m@1sc-Xj%W4L?1DU+oU1=n7NEsBU(uxd?=TjTWsOJ*uzwT8*j*9Br!02Qt0 zyroia&R*ZBIndH(b#_~WkVCekW;uf#wPFLc@agb=5OiXo|Lh=d(H=Ux?<ByY2WvHd z&>Dx0n&H}kvGKqQ?w(6iGXu_g08T|_hp#ZvFzIwKF*a=oMJ~3UGAjZ?g}GOxm44td zXoyYrU*I=y*vHv89hkYH(v5R#wc)BC3dZJKb3K)f>zaM3%JP(mpecViP0eKKYf3zy z->jx_mc?mCtPEvCQ?uppk?eLJt}_IR7giW%Jr)RyI!+E-voIs*lXI*z`GQc_&D#X( z{6G};HPYj6O|$lXxBJeDaweqa{4L=tOZCjTI^&UOxXg})LRG_cr^B9Rqt(i5ORbQX zq`_xCRsH>xEYY%&*Nyi#{S_JZNlTm#K56`RI%7^amom;*h90Si&g1<Q42_J{H5#6^ z1j3mHQ&?%)wrGOHagtzauv)cP8`bUYOtZYCY=wl~>CfaFV3D|a!`3Y-GKKbL*KSbl z>I96`TR@CqPJl(>QqB~RvK~-U)`e`l4LIqj+IU^~yyIe*|BRVB>4Bup%j{tLdKz4j zY^<8P8m~GRGz*yv0&-RJE+-keJ+%m3wNeopzsltWd->eWmBVwUr)p<cFSpSfSI>X` zK~CD<;~Z*Uy3W`3+MrEYxm5qYQ!z%YI;y7DTG`UVH0;@{M{!B&id_}3DBQ?zsotuR zEGLdRx25nLm%-wjlnEi;-aN_1S7???rO~WgA67jjr&(vRa3y$u#kq<Z1%n>JbeKnw z{!T!1li9>M+sJ6AUe+*9d}2uG<Al`U$E1o=q^Ub^f!W{a5bViA_fk7CRIpv+>jhzd z|L1Rtp8uTGYyZoQ*`DS^m2dw-X{a)l+3m?ncvn^+O>)hdd3(hMtlhkRGns{<8c0I! zDDjpmwtj?@!6kA|iu3q+Ai;@JR+<V}md7p@QDWY{loNQf|7XI@v~xv6`7;{c#p%C> zfk+ln&YFC{4bhK6IxVgLs4W%^8Lk`qzWU*L>yq0A3;l}{!wKZ!ue)C)SKI)9dl1hl zhIRLV@8E}rwvE{gX(}$f6x*k)_`*<J8)s4#$the)>Ijt1=EU-Ls6-(phomeQBgtUs z5Xz~Cd*nE)Ac!0i4ep}Z1AugMB(&F?)#CU{Qc{Sp^vKsdL}vRB30H+Bbzrn`M##H3 z{W8dc_mDroEE+p8_}mnJtzZ4!RNe)zhB)Ds;S57nYSJxtek>^~&(7B+N5MPf2+2xx z5Dl&4X|c@f{Kd|z1r+N|$DmsoVp*3yOdxT^J^-VAk)Z@$4^XrPrFP-Co+MXZ+KJ(W z{JNYvraLLWA;&tRhIKOvhW|HC|L-dLvAUF(MG0(Nl?4tB{RzN7I(}Cb%hwN{crFC8 zji#aJElKvDFV+<nM6h%jvlC;)yQnfP+-ENdg>&VI1V?oUMA>*kto0^;3W8FQBSZ|{ z$v~TqE=(8DZa^i$^oht&h};P1N&wMXorKh*Z68gPV&ouy>%f36Oqkwemyeas$Qbz# zV?7Jy%o7KY6^I=P@eCji%W`o5sf(5hySYo9$l4e2`(hIV_?=H-#R6}0$WVA|*(K@3 z<A|axbLZ@~f}p0ti9^k+-n>=5?@RlcLh(meW%A4)hGzcvEpm(_w?>zhL*i&s9$2>r zAtk{8Cia|+Y+V!uX9BtpXoF%lswuRKsM!pSs!?<U-NiryhtbPpT>yhlCy!269K0|b M?FSZn2B>%I-}ej|s{jB1 literal 0 HcmV?d00001 diff --git a/vendor/stefangabos/zebra_form/public/css/textbox-background.gif b/vendor/stefangabos/zebra_form/public/css/textbox-background.gif new file mode 100644 index 0000000000000000000000000000000000000000..62ab29c3cf0d52281df3f82b7b4df9a889d433f2 GIT binary patch literal 85 zcmZ?wbhEHbWMtrD*!-X2$&)9~o;`c<;>D|1uim_Q^X}cd4<9~!{`~pt*RS8dfB*UO l=kMRY|Ni~^|NnmmFwg;!AiWGMTmmeH9)|3yTO+y|tN{o>E)M_z literal 0 HcmV?d00001 diff --git a/vendor/stefangabos/zebra_form/public/css/zebra_form.css b/vendor/stefangabos/zebra_form/public/css/zebra_form.css new file mode 100644 index 00000000..a821e686 --- /dev/null +++ b/vendor/stefangabos/zebra_form/public/css/zebra_form.css @@ -0,0 +1,593 @@ +/******************************* + * STYLES FOR ZEBRA_FORM + *******************************/ + +.Zebra_Form, .Zebra_Form label, .Zebra_Form input, .Zebra_Form select, .Zebra_Form textarea +{ + font-family: inherit; + font-size: inherit; + margin: 0; + padding: 0; + outline: none; + color: #222; +} + +.Zebra_Form { position: relative } + +.Zebra_Form div.hidden .text { + display: none /* hide the honey pot */ +} + +.Zebra_Form label, +.Zebra_Form .button, +.Zebra_Form .reset, +.Zebra_Form input.password, +.Zebra_Form input.text, +.Zebra_Form select, +.Zebra_Form textarea { + display: block +} + +.Zebra_Form .button, +.Zebra_Form .reset, +.Zebra_Form .submit, +.Zebra_Form label { + font-weight: bold +} + +.Zebra_Form label { + color: #222; + cursor: pointer +} + +/* labels for checkboxes and radio buttons are not bold */ +.Zebra_Form label.option { + font-weight: normal +} + +.Zebra_Form .button, +.Zebra_Form .reset, +.Zebra_Form input.password, +.Zebra_Form input.text, +.Zebra_Form select, +.Zebra_Form textarea, +.Zebra_Form label.button { + -moz-border-radius: 4px; + -webkit-border-radius: 4px; + border-radius: 4px; +} + +.Zebra_Form .button, +.Zebra_Form input.password, +.Zebra_Form .reset, +.Zebra_Form input.text, +.Zebra_Form .submit, +.Zebra_Form select, +.Zebra_Form textarea, +.Zebra_Form label.button { + border: 1px solid #999 +} + +.Zebra_Form input.password, +.Zebra_Form input.text, +.Zebra_Form select, +.Zebra_Form textarea { + padding: 6px 5px +} + +.Zebra_Form input.password:focus, +.Zebra_Form input.text:focus, +.Zebra_Form textarea:focus { +} + +.Zebra_Form label { + margin-bottom: 5px +} + +.Zebra_Form .cell label { + margin-bottom: 0 +} + +.Zebra_Form select { + background: #FFF +} + +.Zebra_Form select option { + padding: 0 5px /* same as the select box's horizontal padding or weird behaviour in Firefox */ +} + +.Zebra_Form select option.dummy { + font-size: 0em /* used when creating nested selects */ +} + +.Zebra_Form select.time { + float: left; + margin-right: 5px +} + +.Zebra_Form input.password, +.Zebra_Form input.text, +.Zebra_Form textarea { + background: #FFF url('textbox-background.gif') repeat-x top +} + +.Zebra_Form input.password, +.Zebra_Form input.text { + width: 200px +} + +.Zebra_Form input.date { + width: 105px; + *width: 95px +} + +.Zebra_Form textarea { + width: 400px; + resize: vertical +} + +.Zebra_Form input.radio, +.Zebra_Form input.checkbox { + *position: relative; + *top: -1px +} + +/* only for IE 8 and below */ +.Zebra_Form input.file { + border: 1px solid #999\9; + background: #FFF url('textbox-background.gif') repeat-x top\9; + padding: 4px\9; + width: 293px\9 +} + +.Zebra_Form .button, +.Zebra_Form .reset, +.Zebra_Form .submit, +.Zebra_Form label.button { + padding: 6px 20px; + background: #EFEFEF url('button-background.gif') repeat-x top; + cursor: pointer; + width: 1px; /* thanks to http://jehiah.cz/archive/button-width-in-ie */ + overflow: visible; + width: auto; + -moz-border-radius: 4px; + -webkit-border-radius: 4px; + border-radius: 4px; + -moz-box-shadow: 0 0 2px #AAA; + -webkit-box-shadow: 0 0 2px #AAA; + box-shadow: 0 0 2px #AAA; +} + +.Zebra_Form .button:hover, +.Zebra_Form .reset:hover, +.Zebra_Form .submit:hover, +.Zebra_Form .submit-hover, +.Zebra_Form label.button:hover { + background: #303740 none; + color: #FFF +} + +.Zebra_Form .row { + background: #FFF; + padding: 10px; + margin-bottom: 1px; + border-bottom: 1px solid #DEDEDE; + line-height: 1.4em + /* + line height is there to space things nicely but also to avoid the peek-a-boo bug in IE6 + read more at http://www.dracos.co.uk/code/ie6-css-bug/ + */ +} + +.Zebra_Form .row:before, +.Zebra_Form .row:after { content: "\0020"; display: block; height: 0; visibility: hidden; font-size: 0 } +.Zebra_Form .row:after { clear: both } +.Zebra_Form .row { *zoom: 1 } /* for IE only */ + +.Zebra_Form table { + border-collapse: collapse +} + +.Zebra_Form td { + padding: 10px; + vertical-align: top +} + +.Zebra_Form .cell { + float: left; + margin-right: 5px +} + +.Zebra_Form input.inline, +.Zebra_Form textarea.inline { + display: inline /* for when we show the "required" sign after controls that have the labels as tips */ +} + +.Zebra_Form .even { + background: #F6F6F6 +} + +.Zebra_Form .highlight { + background: #E9F6F9 +} + +.Zebra_Form .last { + border-bottom: none +} + +.Zebra_Form input.other { + margin-top: 5px +} + +.Zebra_Form .cell input.other { + margin: 0 0 0 5px +} + +.Zebra_Form input.other-invisible, +.Zebra_Form input.other-invisible { + display: none +} + +.Zebra_Form .note { + font-size: 80%; + color: #666; + padding-left: 12px; + background: url('note.gif') no-repeat left 1px; + line-height: 1.2em +} + +.Zebra_Form .note { + margin-top: 5px +} + +.Zebra_Form .cell .note { + margin: 4px 0 0 5px +} + +.Zebra_Form span.required { + color: #C40000; + margin-left: 5px; + font-size: 110%; + font-weight: bold +} + +.Zebra_Form_filename { + position: absolute; + font-weight: normal; + color:#888; + overflow: hidden +} + +.Zebra_Form_filename a { + font-weight: bold; + color: #C40000; + text-decoration: none; + margin-left: 5px +} + +.Zebra_Form_error_message { + position: absolute; + z-index: 21; + overflow: hidden; + background: transparent; +} + +.Zebra_Form_error_message .message { + background: #000; + padding: 10px 18px 10px 10px; + color: #FFF; + line-height: inherit; + font-size: inherit; + font-weight: normal; + margin-right: 6px; + position: relative; + -webkit-border-radius: 5px; + -moz-border-radius: 5px; + border-radius: 5px; + -webkit-box-shadow: 2px 2px 6px rgba(0,0,0,0.6); + -moz-box-shadow: 2px 2px 6px rgba(0,0,0,0.6); + box-shadow: 2px 2px 6px rgba(0,0,0,0.6); + *margin-right: 0; + max-width: 250px; + _width:expression(document.body.clientWidth > 250 ? '250px': 'auto'); /* max-width for IE6 */ +} + +.Zebra_Form_error_message .noclose { padding: 10px } + +.Zebra_Form_error_message .close { + position: absolute; + color: #FFF; + right: 5px; + top: 4px; + display: block; + width: 10px; + height: 10px; + background: url('close.png') no-repeat; + text-indent: -9000px; + padding:0; + overflow: hidden; + *right: 3px; + *top: 3px; +} + +.Zebra_Form_error_message .close-ie6 { + position: absolute; + color: #FFF; + right: 4px; + top: 2px; + text-decoration: none; + font-family: arial, sans; + font-weight: bold; + font-size: 11px; +} + +.Zebra_Form_error_message .arrow { + position:relative; + border-color: #000 transparent transparent transparent; + border-style: solid; + border-width: 10px; + height:0; + width:0; + left: 0; + bottom: 0; + z-index: 3; + float: left; + _border-left-color: pink; + _border-bottom-color: pink; + _border-right-color: pink; + _filter: chroma(color=pink); + _margin-bottom: -6px +} + +.Zebra_Form div.error { + background: #444 url('ico-warning.png') no-repeat 8px 15px; + position: relative; + overflow: hidden; + _background-image: url('ico-warning.gif') +} + +.Zebra_Form div.error div.container { + padding: 15px 65px 15px 35px; + border: 2px solid #000; + position: relative; + overflow: hidden +} + +.Zebra_Form div.error div.container span { + color: #FFF; + font-weight: bold; + font-size: 90%; + display: block +} + +.Zebra_Form div.error div.container div.close { + position: absolute; + right: 0; + top: 0; + background: #333; + height: 100%; + width: 50px; + padding: 15px 0; + _top: 2px; + _right: 2px; + _background: #444 +} + +.Zebra_Form div.error div.container div.close a { + display: block; + width: 16px; + height: 16px; + background: url('ico-close.png') no-repeat; + text-indent: -9000px; + margin-left: 17px; + _background-image: url('ico-close.gif') +} + +/* accesskeys */ +.Zebra_Form span.underline { + text-decoration: underline; + color: #666; +} + +.Zebra_Form .fieldset { + background: #666; + color: #FFF; + padding: 4px +} + +.Zebra_Form_spinner { + position: absolute; + width: 24px; + height: 24px; + background: url('spinner.gif'); + margin: 3px 0 0 10px +} + +.Zebra_Form input.disabled, +.Zebra_Form select.disabled { + background: #DEDEDE; + color: #BBB +} + +.Zebra_Form input.disabled:hover { + background: #DEDEDE; + color: #BBB +} + +.Zebra_Form label.disabled { + color: #DEDEDE +} + +.Zebra_Form_Placeholder { + position: absolute; + border: none !important; + background: transparent !important; + resize: none !important; +} + +.Zebra_Form_Placeholder { color:#9C9CA2 !important } +::-webkit-input-placeholder { color:#9C9CA2 !important } +::-moz-placeholder { color:#9C9CA2 !important } +input:-moz-placeholder { color:#9C9CA2 !important } + +.Zebra_Character_Counter { + position: absolute; + background: #FFF; + text-align: right; + border: 1px solid #AAA; + background: #EAEAEA; + color: #222; + font-size: 11px; + font-weight: normal; + padding: 0 2px; + -moz-border-radius: 4px; + -webkit-border-radius: 4px; + border-radius: 4px; + opacity: .8 +} + +.show-character-counter { resize: none } +.Zebra_Character_Counter span { color: #C40000 } + +.Zebra_Form .modifier-uppercase { text-transform: uppercase } +.Zebra_Form .modifier-lowercase { text-transform: lowercase } + +.Zebra_Form div.captcha-container { position: relative } +.Zebra_Form div.captcha-container img { border: 1px solid #CCC } +.Zebra_Form div.captcha-container a { + position: absolute; + text-indent: -9000px; + display: block; + width: 16px; + height: 16px; + left: 131px; + top: 15px; + background: #FFF url('ico-refresh.png') no-repeat center center; + border: 1px solid #CCC; + padding: 2px; + _background-image: url('ico-refresh.gif') +} + +.Zebra_Form .Zebra_Form_Input_Prefix { + color: #888; + padding: 0; + margin-right: 2px; +} + +.Zebra_Form input.error, +.Zebra_Form select.error, +.Zebra_Form textarea.error { + background: #FFEFEF; + border-color: #C40000; +} + +/* don't change this! */ +.Zebra_Form input.password { font-family: 'Verdana', 'Tahoma', 'Arial' } + +/* hide spinners on numeric type fields */ +.Zebra_Form input[type=number]::-webkit-outer-spin-button, +.Zebra_Form input[type=number]::-webkit-inner-spin-button { + -webkit-appearance: none; + margin: 0; +} + +.Zebra_Form input[type=number] { + -moz-appearance:textfield; +} + +/******************************* + * STYLES FOR ZEBRA_DATEPICKER + *******************************/ + +.Zebra_DatePicker *, +.Zebra_DatePicker *:after, +.Zebra_DatePicker *:before { -moz-box-sizing: content-box !important; -webkit-box-sizing: content-box !important; box-sizing: content-box !important } + +.Zebra_DatePicker { position: absolute; background: #666; border: 3px solid #666; z-index: 1200; font-family: Tahoma, Arial, Helvetica, sans-serif; font-size: 13px; top: 0 } + +.Zebra_DatePicker * { margin: 0; padding: 0; color: #000; background: transparent; border: none } + +/* = GLOBALS +----------------------------------------------------------------------------------------------------------------------*/ +.Zebra_DatePicker table { border-collapse: collapse; border-spacing: 0; width: auto; table-layout: auto; } + +.Zebra_DatePicker td, +.Zebra_DatePicker th { text-align: center; padding: 5px 0 } + +.Zebra_DatePicker td { cursor: pointer } + +.Zebra_DatePicker .dp_daypicker, +.Zebra_DatePicker .dp_monthpicker, +.Zebra_DatePicker .dp_yearpicker { margin-top: 3px } + +.Zebra_DatePicker .dp_daypicker td, +.Zebra_DatePicker .dp_daypicker th, +.Zebra_DatePicker .dp_monthpicker td, +.Zebra_DatePicker .dp_yearpicker td { background: #E8E8E8; width: 30px; border: 1px solid #7BACD2 } + +.Zebra_DatePicker, +.Zebra_DatePicker .dp_header .dp_hover, +.Zebra_DatePicker .dp_footer .dp_hover { -webkit-border-radius: 5px; -moz-border-radius: 5px; border-radius: 5px } + +/* = VISIBLE/HIDDEN STATES (USE TRANSITIONS FOR EFFECTS) +----------------------------------------------------------------------------------------------------------------------*/ +.Zebra_DatePicker.dp_visible { visibility: visible; filter: alpha(opacity=100); -khtml-opacity: 1; -moz-opacity: 1; opacity: 1; transition: opacity 0.2s ease-in-out } +.Zebra_DatePicker.dp_hidden { visibility: hidden; filter: alpha(opacity=0); -khtml-opacity: 0; -moz-opacity: 0; opacity: 0 } + +/* = HEADER +----------------------------------------------------------------------------------------------------------------------*/ +.Zebra_DatePicker .dp_header td { color: #FFF } + +.Zebra_DatePicker .dp_header .dp_previous, +.Zebra_DatePicker .dp_header .dp_next { width: 30px } + +.Zebra_DatePicker .dp_header .dp_caption { font-weight: bold } +.Zebra_DatePicker .dp_header .dp_hover { background: #222; color: #FFF } + +/* = DATEPICKER +----------------------------------------------------------------------------------------------------------------------*/ +.Zebra_DatePicker .dp_daypicker th { background: #FFCC33 } +.Zebra_DatePicker td.dp_not_in_month { background: #F3F3F3; color: #CDCDCD; cursor: default } +.Zebra_DatePicker td.dp_not_in_month_selectable { background: #F3F3F3; color: #CDCDCD; cursor: pointer } +.Zebra_DatePicker td.dp_weekend { background: #D8D8D8 } +.Zebra_DatePicker td.dp_weekend_disabled { color: #CCC; cursor: default } +.Zebra_DatePicker td.dp_selected { background: #5A4B4B; color: #FFF !important } +.Zebra_DatePicker td.dp_week_number { background: #FFCC33; color: #555; cursor: text; font-style: italic } + +/* = MONTHPICKER +----------------------------------------------------------------------------------------------------------------------*/ +.Zebra_DatePicker .dp_monthpicker td { width: 33% } + +/* = YEARPICKER +----------------------------------------------------------------------------------------------------------------------*/ +.Zebra_DatePicker .dp_yearpicker td { width: 33% } + +/* = FOOTER +----------------------------------------------------------------------------------------------------------------------*/ +.Zebra_DatePicker .dp_footer { margin-top: 3px } +.Zebra_DatePicker .dp_footer .dp_hover { background: #222; color: #FFF } + +/* = SELECT CURRENT DAY +----------------------------------------------------------------------------------------------------------------------*/ +.Zebra_DatePicker .dp_today { color: #FFF; padding: 3px } + +/* = CLEAR DATE +----------------------------------------------------------------------------------------------------------------------*/ +.Zebra_DatePicker .dp_clear { color: #FFF; padding: 3px } + +/* = SOME MORE GLOBALS (MUST BE LAST IN ORDER TO OVERWRITE PREVIOUS PROPERTIES) +----------------------------------------------------------------------------------------------------------------------*/ +.Zebra_DatePicker td.dp_current { color: #C40000 } +.Zebra_DatePicker td.dp_disabled_current { color: #E38585 } +.Zebra_DatePicker td.dp_disabled { background: #F3F3F3; color: #CDCDCD; cursor: default } +.Zebra_DatePicker td.dp_hover { background: #482424; color: #FFF } + +/* = ICON +----------------------------------------------------------------------------------------------------------------------*/ +button.Zebra_DatePicker_Icon { display: block; position: absolute; width: 16px; height: 16px; background: url('calendar.png') no-repeat left top; text-indent: -9000px; border: none; cursor: pointer; padding: 0; line-height: 0; vertical-align: top } +button.Zebra_DatePicker_Icon_Disabled { background-image: url('calendar-disabled.png') } + +/* don't set vertical margins! */ +button.Zebra_DatePicker_Icon { margin: 0 0 0 3px } +button.Zebra_DatePicker_Icon_Inside_Right { margin: 0 3px 0 0 } +button.Zebra_DatePicker_Icon_Inside_Left { margin: 0 0 0 3px } \ No newline at end of file diff --git a/vendor/stefangabos/zebra_form/public/index.html b/vendor/stefangabos/zebra_form/public/index.html new file mode 100644 index 00000000..5fb34f4a --- /dev/null +++ b/vendor/stefangabos/zebra_form/public/index.html @@ -0,0 +1,8 @@ +<html> +<head> + <title>403 Forbidden</title> +</head> +<body> + <p>Directory access is forbidden.</p> +</body> +</html> \ No newline at end of file diff --git a/vendor/stefangabos/zebra_form/public/javascript/index.html b/vendor/stefangabos/zebra_form/public/javascript/index.html new file mode 100644 index 00000000..5fb34f4a --- /dev/null +++ b/vendor/stefangabos/zebra_form/public/javascript/index.html @@ -0,0 +1,8 @@ +<html> +<head> + <title>403 Forbidden</title> +</head> +<body> + <p>Directory access is forbidden.</p> +</body> +</html> \ No newline at end of file diff --git a/vendor/stefangabos/zebra_form/public/javascript/readme.txt b/vendor/stefangabos/zebra_form/public/javascript/readme.txt new file mode 100644 index 00000000..9043f6ff --- /dev/null +++ b/vendor/stefangabos/zebra_form/public/javascript/readme.txt @@ -0,0 +1,3 @@ +The minimized JavaScript file contains the minimized version of the "zebra_form.src.js" file and the minimized version of the Zebra_DatePicker (http://stefangabos.ro/jquery/zebra-datepicker/) plugin! + +The source file contains *only* the JavaScript source for the Zebra_Form! \ No newline at end of file diff --git a/vendor/stefangabos/zebra_form/public/javascript/zebra_form.js b/vendor/stefangabos/zebra_form/public/javascript/zebra_form.js new file mode 100644 index 00000000..2d688c65 --- /dev/null +++ b/vendor/stefangabos/zebra_form/public/javascript/zebra_form.js @@ -0,0 +1,2 @@ +!function(a){"use strict";"function"==typeof define&&define.amd?define(["jquery"],a):a("object"==typeof exports?require("jquery"):jQuery)}(function(a){"use strict";a.Zebra_DatePicker=function(b,c){var d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q={always_visible:!1,container:a("body"),custom_classes:!1,days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],days_abbr:!1,default_position:"above",direction:0,disabled_dates:!1,enabled_dates:!1,first_day_of_week:1,format:"Y-m-d",header_captions:{days:"F, Y",months:"Y",years:"Y1 - Y2"},header_navigation:["&#171;","&#187;"],icon_position:"right",inside:!0,lang_clear_date:"Clear date",months:["January","February","March","April","May","June","July","August","September","October","November","December"],months_abbr:!1,offset:[5,-5],open_icon_only:!1,pair:!1,readonly_element:!0,select_other_months:!1,show_clear_date:0,show_icon:!0,show_other_months:!0,show_select_today:"Today",show_week_number:!1,start_date:!1,strict:!1,view:"days",weekend_days:[0,6],zero_pad:!1,onChange:null,onClear:null,onOpen:null,onClose:null,onSelect:null},R={},S=this;S.settings={};var T=a(b),U=function(b){if(N=Math.floor(65536*(1+Math.random())).toString(16),!b){S.settings=a.extend({},Q,c),R.readonly=T.attr("readonly"),R.style=T.attr("style");for(var y in T.data())0===y.indexOf("zdp_")&&(y=y.replace(/^zdp\_/,""),void 0!==Q[y]&&(S.settings[y]="pair"==y?a(T.data("zdp_"+y)):T.data("zdp_"+y)))}S.settings.readonly_element&&T.attr("readonly","readonly");var E={days:["d","j","D"],months:["F","m","M","n","t"],years:["o","Y","y"]},F=!1,G=!1,U=!1,X=null;for(X in E)a.each(E[X],function(a,b){S.settings.format.indexOf(b)>-1&&("days"==X?F=!0:"months"==X?G=!0:"years"==X&&(U=!0))});H=F&&G&&U?["years","months","days"]:!F&&G&&U?["years","months"]:F&&G&&!U?["months","days"]:F||G||!U?F||!G||U?["years","months","days"]:["months"]:["years"],-1==a.inArray(S.settings.view,H)&&(S.settings.view=H[H.length-1]),x=[],w=[],O={},P=[];var Y;for(var Z in S.settings.custom_classes)S.settings.custom_classes.hasOwnProperty(Z)&&P.push(Z);for(var $=0;$<2+P.length;$++)Y=0===$?S.settings.disabled_dates:1==$?S.settings.enabled_dates:S.settings.custom_classes[P[$-2]],a.isArray(Y)&&Y.length>0&&a.each(Y,function(){for(var b=this.split(" "),c=0;4>c;c++){b[c]||(b[c]="*"),b[c]=b[c].indexOf(",")>-1?b[c].split(","):new Array(b[c]);for(var d=0;d<b[c].length;d++)if(b[c][d].indexOf("-")>-1){var e=b[c][d].match(/^([0-9]+)\-([0-9]+)/);if(null!==e){for(var f=ja(e[1]);f<=ja(e[2]);f++)-1==a.inArray(f,b[c])&&b[c].push(f+"");b[c].splice(d,1)}}for(d=0;d<b[c].length;d++)b[c][d]=isNaN(ja(b[c][d]))?b[c][d]:ja(b[c][d])}0===$?x.push(b):1==$?w.push(b):(void 0===O[P[$-2]]&&(O[P[$-2]]=[]),O[P[$-2]].push(b))});var _,aa,ba=new Date,ea=S.settings.reference_date?S.settings.reference_date:T.data("zdp_reference_date")&&void 0!==T.data("zdp_reference_date")?T.data("zdp_reference_date"):ba;if(z=void 0,A=void 0,o=ea.getMonth(),l=ba.getMonth(),p=ea.getFullYear(),m=ba.getFullYear(),q=ea.getDate(),n=ba.getDate(),S.settings.direction===!0)z=ea;else if(S.settings.direction===!1)A=ea,D=A.getMonth(),C=A.getFullYear(),B=A.getDate();else if(!a.isArray(S.settings.direction)&&da(S.settings.direction)&&ja(S.settings.direction)>0||a.isArray(S.settings.direction)&&((_=V(S.settings.direction[0]))||S.settings.direction[0]===!0||da(S.settings.direction[0])&&S.settings.direction[0]>0)&&((aa=V(S.settings.direction[1]))||S.settings.direction[1]===!1||da(S.settings.direction[1])&&S.settings.direction[1]>=0))z=_?_:new Date(p,o,q+ja(a.isArray(S.settings.direction)?S.settings.direction[0]===!0?0:S.settings.direction[0]:S.settings.direction)),o=z.getMonth(),p=z.getFullYear(),q=z.getDate(),aa&&+aa>=+z?A=aa:!aa&&S.settings.direction[1]!==!1&&a.isArray(S.settings.direction)&&(A=new Date(p,o,q+ja(S.settings.direction[1]))),A&&(D=A.getMonth(),C=A.getFullYear(),B=A.getDate());else if(!a.isArray(S.settings.direction)&&da(S.settings.direction)&&ja(S.settings.direction)<0||a.isArray(S.settings.direction)&&(S.settings.direction[0]===!1||da(S.settings.direction[0])&&S.settings.direction[0]<0)&&((_=V(S.settings.direction[1]))||da(S.settings.direction[1])&&S.settings.direction[1]>=0))A=new Date(p,o,q+ja(a.isArray(S.settings.direction)?S.settings.direction[0]===!1?0:S.settings.direction[0]:S.settings.direction)),D=A.getMonth(),C=A.getFullYear(),B=A.getDate(),_&&+A>+_?z=_:!_&&a.isArray(S.settings.direction)&&(z=new Date(C,D,B-ja(S.settings.direction[1]))),z&&(o=z.getMonth(),p=z.getFullYear(),q=z.getDate());else if(a.isArray(S.settings.disabled_dates)&&S.settings.disabled_dates.length>0)for(var ha in x)if("*"==x[ha][0]&&"*"==x[ha][1]&&"*"==x[ha][2]&&"*"==x[ha][3]){var la=[];if(a.each(w,function(){var a=this;"*"!=a[2][0]&&la.push(parseInt(a[2][0]+("*"==a[1][0]?"12":ia(a[1][0],2))+("*"==a[0][0]?"*"==a[1][0]?"31":new Date(a[2][0],a[1][0],0).getDate():ia(a[0][0],2)),10))}),la.sort(),la.length>0){var na=(la[0]+"").match(/([0-9]{4})([0-9]{2})([0-9]{2})/);p=parseInt(na[1],10),o=parseInt(na[2],10)-1,q=parseInt(na[3],10)}break}if(ca(p,o,q)){for(;ca(p);)z?(p++,o=0):(p--,o=11);for(;ca(p,o);)z?(o++,q=1):(o--,q=new Date(p,o+1,0).getDate()),o>11?(p++,o=0,q=1):0>o&&(p--,o=11,q=new Date(p,o+1,0).getDate());for(;ca(p,o,q);)z?q++:q--,ba=new Date(p,o,q),p=ba.getFullYear(),o=ba.getMonth(),q=ba.getDate();ba=new Date(p,o,q),p=ba.getFullYear(),o=ba.getMonth(),q=ba.getDate()}var oa=V(T.val()||(S.settings.start_date?S.settings.start_date:""));if(oa&&S.settings.strict&&ca(oa.getFullYear(),oa.getMonth(),oa.getDate())&&T.val(""),b||void 0===z&&void 0===oa||ka(void 0!==oa?oa:z),!S.settings.always_visible){if(!b){if(S.settings.show_icon){"firefox"==ma.name&&T.is('input[type="text"]')&&"inline"==T.css("display")&&T.css("display","inline-block");var pa=a('<span class="Zebra_DatePicker_Icon_Wrapper"></span>').css({display:T.css("display"),position:"static"==T.css("position")?"relative":T.css("position"),"float":T.css("float"),top:T.css("top"),right:T.css("right"),bottom:T.css("bottom"),left:T.css("left")});"block"==T.css("display")&&pa.css("width",T.outerWidth(!0)),T.wrap(pa).css({position:"relative",top:"auto",right:"auto",bottom:"auto",left:"auto"}),f=a('<button type="button" class="Zebra_DatePicker_Icon'+("disabled"==T.attr("disabled")?" Zebra_DatePicker_Icon_Disabled":"")+'">Pick a date</button>'),S.icon=f,I=S.settings.open_icon_only?f:f.add(T)}else I=T;I.bind("click.Zebra_DatePicker_"+N,function(a){a.preventDefault(),T.attr("disabled")||(e.hasClass("dp_visible")?S.hide():S.show())}),!S.settings.readonly_element&&S.settings.pair&&T.bind("blur.Zebra_DatePicker_"+N,function(){var b;(b=V(a(this).val()))&&!ca(b.getFullYear(),b.getMonth(),b.getDate())&&ka(b)}),void 0!==f&&f.insertAfter(T)}if(void 0!==f){f.attr("style",""),S.settings.inside&&f.addClass("Zebra_DatePicker_Icon_Inside_"+("right"==S.settings.icon_position?"Right":"Left"));var qa=T.outerWidth(),ra=T.outerHeight(),sa=parseInt(T.css("marginLeft"),10)||0,ta=parseInt(T.css("marginTop"),10)||0,ua=(f.outerWidth(),f.outerHeight()),va=parseInt(f.css("marginLeft"),10)||0;parseInt(f.css("marginRight"),10)||0;S.settings.inside?(f.css("top",ta+(ra-ua)/2),"right"==S.settings.icon_position?f.css("right",0):f.css("left",0)):f.css({top:ta+(ra-ua)/2,left:sa+qa+va}),f.removeClass(" Zebra_DatePicker_Icon_Disabled"),"disabled"==T.attr("disabled")&&f.addClass("Zebra_DatePicker_Icon_Disabled")}}if(L=S.settings.show_select_today!==!1&&a.inArray("days",H)>-1&&!ca(m,l,n)?S.settings.show_select_today:!1,b)return a(".dp_previous",e).html(S.settings.header_navigation[0]),a(".dp_next",e).html(S.settings.header_navigation[1]),a(".dp_clear",e).html(S.settings.lang_clear_date),void a(".dp_today",e).html(S.settings.show_select_today);a(window).bind("resize.Zebra_DatePicker_"+N+", orientationchange.Zebra_DatePicker_"+N,function(){S.hide(),void 0!==f&&(clearTimeout(M),M=setTimeout(function(){S.update()},100))});var wa='<div class="Zebra_DatePicker"><table class="dp_header"><tr><td class="dp_previous">'+S.settings.header_navigation[0]+'</td><td class="dp_caption">&#032;</td><td class="dp_next">'+S.settings.header_navigation[1]+'</td></tr></table><table class="dp_daypicker"></table><table class="dp_monthpicker"></table><table class="dp_yearpicker"></table><table class="dp_footer"><tr><td class="dp_today"'+(S.settings.show_clear_date!==!1?' style="width:50%"':"")+">"+L+'</td><td class="dp_clear"'+(L!==!1?' style="width:50%"':"")+">"+S.settings.lang_clear_date+"</td></tr></table></div>";e=a(wa),S.datepicker=e,g=a("table.dp_header",e),h=a("table.dp_daypicker",e),i=a("table.dp_monthpicker",e),j=a("table.dp_yearpicker",e),K=a("table.dp_footer",e),J=a("td.dp_today",K),k=a("td.dp_clear",K),S.settings.always_visible?T.attr("disabled")||(S.settings.always_visible.append(e),S.show()):S.settings.container.append(e),e.delegate("td:not(.dp_disabled, .dp_weekend_disabled, .dp_not_in_month, .dp_week_number)","mouseover",function(){a(this).addClass("dp_hover")}).delegate("td:not(.dp_disabled, .dp_weekend_disabled, .dp_not_in_month, .dp_week_number)","mouseout",function(){a(this).removeClass("dp_hover")}),W(a("td",g)),a(".dp_previous",g).bind("click",function(){"months"==d?s--:"years"==d?s-=12:--r<0&&(r=11,s--),fa()}),a(".dp_caption",g).bind("click",function(){d="days"==d?a.inArray("months",H)>-1?"months":a.inArray("years",H)>-1?"years":"days":"months"==d?a.inArray("years",H)>-1?"years":a.inArray("days",H)>-1?"days":"months":a.inArray("days",H)>-1?"days":a.inArray("months",H)>-1?"months":"years",fa()}),a(".dp_next",g).bind("click",function(){"months"==d?s++:"years"==d?s+=12:12==++r&&(r=0,s++),fa()}),h.delegate("td:not(.dp_disabled, .dp_weekend_disabled, .dp_not_in_month, .dp_week_number)","click",function(){S.settings.select_other_months&&a(this).attr("class")&&null!==(na=a(this).attr("class").match(/date\_([0-9]{4})(0[1-9]|1[012])(0[1-9]|[12][0-9]|3[01])/))?ga(na[1],na[2]-1,na[3],"days",a(this)):ga(s,r,ja(a(this).html()),"days",a(this))}),i.delegate("td:not(.dp_disabled)","click",function(){var b=a(this).attr("class").match(/dp\_month\_([0-9]+)/);r=ja(b[1]),-1==a.inArray("days",H)?ga(s,r,1,"months",a(this)):(d="days",S.settings.always_visible&&T.val(""),fa())}),j.delegate("td:not(.dp_disabled)","click",function(){s=ja(a(this).html()),-1==a.inArray("months",H)?ga(s,1,1,"years",a(this)):(d="months",S.settings.always_visible&&T.val(""),fa())}),a(J).bind("click",function(b){b.preventDefault(),ga(m,l,n,"days",a(".dp_current",h)),S.settings.always_visible&&S.show(),S.hide()}),a(k).bind("click",function(b){b.preventDefault(),T.val(""),S.settings.always_visible?(t=null,u=null,v=null,a("td.dp_selected",e).removeClass("dp_selected")):(t=null,u=null,v=null,r=null,s=null),S.hide(),S.settings.onClear&&"function"==typeof S.settings.onClear&&S.settings.onClear.call(T,T)}),S.settings.always_visible||(a(document).bind("mousedown.Zebra_DatePicker_"+N+", touchstart.Zebra_DatePicker_"+N,function(b){if(e.hasClass("dp_visible")){if(S.settings.show_icon&&a(b.target).get(0)===f.get(0))return!0;0===a(b.target).parents().filter(".Zebra_DatePicker").length&&S.hide()}}),a(document).bind("keyup.Zebra_DatePicker_"+N,function(a){e.hasClass("dp_visible")&&27==a.which&&S.hide()})),fa()};S.clear_date=function(){a(k).trigger("click")},S.destroy=function(){void 0!==S.icon&&S.icon.remove(),S.datepicker.remove(),S.settings.show_icon&&!S.settings.always_visible&&T.unwrap(),T.unbind("click.Zebra_DatePicker_"+N),T.unbind("blur.Zebra_DatePicker_"+N),a(document).unbind("keyup.Zebra_DatePicker_"+N),a(document).unbind("mousedown.Zebra_DatePicker_"+N),a(window).unbind("resize.Zebra_DatePicker_"+N),a(window).unbind("orientationchange.Zebra_DatePicker_"+N),T.removeData("Zebra_DatePicker"),T.attr("readonly",R.readonly?!0:!1),T.attr("style",R.style?R.style:"")},S.hide=function(){S.settings.always_visible||(ba("hide"),e.removeClass("dp_visible").addClass("dp_hidden"),S.settings.onClose&&"function"==typeof S.settings.onClose&&S.settings.onClose.call(T,T))},S.set_date=function(a){var b;(b=V(a))&&!ca(b.getFullYear(),b.getMonth(),b.getDate())&&(T.val(a),ka(b))},S.show=function(){d=S.settings.view;var b=V(T.val()||(S.settings.start_date?S.settings.start_date:""));if(b?(u=b.getMonth(),r=b.getMonth(),v=b.getFullYear(),s=b.getFullYear(),t=b.getDate(),ca(v,u,t)&&(S.settings.strict&&T.val(""),r=o,s=p)):(r=o,s=p),fa(),S.settings.always_visible)e.removeClass("dp_hidden").addClass("dp_visible");else{if(S.settings.container.is("body")){var c=e.outerWidth(),g=e.outerHeight(),h=(void 0!==f?f.offset().left+f.outerWidth(!0):T.offset().left+T.outerWidth(!0))+S.settings.offset[0],i=(void 0!==f?f.offset().top:T.offset().top)-g+S.settings.offset[1],j=a(window).width(),k=a(window).height(),l=a(window).scrollTop(),m=a(window).scrollLeft();"below"==S.settings.default_position&&(i=(void 0!==f?f.offset().top:T.offset().top)+S.settings.offset[1]),h+c>m+j&&(h=m+j-c),m>h&&(h=m),i+g>l+k&&(i=l+k-g),l>i&&(i=l),e.css({left:h,top:i})}else e.css({left:0,top:0});e.removeClass("dp_hidden").addClass("dp_visible"),ba()}S.settings.onOpen&&"function"==typeof S.settings.onOpen&&S.settings.onOpen.call(T,T)},S.update=function(b){S.original_direction&&(S.original_direction=S.direction),S.settings=a.extend(S.settings,b),U(!0)};var V=function(b){if(b+="",""!==a.trim(b)){for(var c=X(S.settings.format),d=["d","D","j","l","N","S","w","F","m","M","n","Y","y"],e=[],f=[],g=null,h=null,i=0;i<d.length;i++)(g=c.indexOf(d[i]))>-1&&e.push({character:d[i],position:g});if(e.sort(function(a,b){return a.position-b.position}),a.each(e,function(a,b){switch(b.character){case"d":f.push("0[1-9]|[12][0-9]|3[01]");break;case"D":f.push("[a-z]{3}");break;case"j":f.push("[1-9]|[12][0-9]|3[01]");break;case"l":f.push("[a-z]+");break;case"N":f.push("[1-7]");break;case"S":f.push("st|nd|rd|th");break;case"w":f.push("[0-6]");break;case"F":f.push("[a-z]+");break;case"m":f.push("0[1-9]|1[012]+");break;case"M":f.push("[a-z]{3}");break;case"n":f.push("[1-9]|1[012]");break;case"Y":f.push("[0-9]{4}");break;case"y":f.push("[0-9]{2}")}}),f.length&&(e.reverse(),a.each(e,function(a,b){c=c.replace(b.character,"("+f[f.length-a-1]+")")}),f=new RegExp("^"+c+"$","ig"),h=f.exec(b))){var j,k=new Date,l=1,m=k.getMonth()+1,n=k.getFullYear(),o=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],p=["January","February","March","April","May","June","July","August","September","October","November","December"],q=!0;if(e.reverse(),a.each(e,function(b,c){if(!q)return!0;switch(c.character){case"m":case"n":m=ja(h[b+1]);break;case"d":case"j":l=ja(h[b+1]);break;case"D":case"l":case"F":case"M":j="D"==c.character||"l"==c.character?S.settings.days:S.settings.months,q=!1,a.each(j,function(a,d){if(q)return!0;if(h[b+1].toLowerCase()==d.substring(0,"D"==c.character||"M"==c.character?3:d.length).toLowerCase()){switch(c.character){case"D":h[b+1]=o[a].substring(0,3);break;case"l":h[b+1]=o[a];break;case"F":h[b+1]=p[a],m=a+1;break;case"M":h[b+1]=p[a].substring(0,3),m=a+1}q=!0}});break;case"Y":n=ja(h[b+1]);break;case"y":n="19"+ja(h[b+1])}}),q){var r=new Date(n,(m||1)-1,l||1);if(r.getFullYear()==n&&r.getDate()==(l||1)&&r.getMonth()==(m||1)-1)return r}}return!1}},W=function(a){"firefox"==ma.name?a.css("MozUserSelect","none"):"explorer"==ma.name?a.bind("selectstart",function(){return!1}):a.mousedown(function(){return!1})},X=function(a){return a.replace(/([-.,*+?^${}()|[\]\/\\])/g,"\\$1")},Y=function(b){for(var c="",d=b.getDate(),e=b.getDay(),f=S.settings.days[e],g=b.getMonth()+1,h=S.settings.months[g-1],i=b.getFullYear()+"",j=0;j<S.settings.format.length;j++){var k=S.settings.format.charAt(j);switch(k){case"y":i=i.substr(2);case"Y":c+=i;break;case"m":g=ia(g,2);case"n":c+=g;break;case"M":h=a.isArray(S.settings.months_abbr)&&void 0!==S.settings.months_abbr[g-1]?S.settings.months_abbr[g-1]:S.settings.months[g-1].substr(0,3);case"F":c+=h;break;case"d":d=ia(d,2);case"j":c+=d;break;case"D":f=a.isArray(S.settings.days_abbr)&&void 0!==S.settings.days_abbr[e]?S.settings.days_abbr[e]:S.settings.days[e].substr(0,3);case"l":c+=f;break;case"N":e++;case"w":c+=e;break;case"S":c+=d%10==1&&"11"!=d?"st":d%10==2&&"12"!=d?"nd":d%10==3&&"13"!=d?"rd":"th";break;default:c+=k}}return c},Z=function(){var b=new Date(s,r+1,0).getDate(),c=new Date(s,r,1).getDay(),d=new Date(s,r,0).getDate(),e=c-S.settings.first_day_of_week;e=0>e?7+e:e,ea(S.settings.header_captions.days);var f="<tr>";S.settings.show_week_number&&(f+="<th>"+S.settings.show_week_number+"</th>");for(var g=0;7>g;g++)f+="<th>"+(a.isArray(S.settings.days_abbr)&&void 0!==S.settings.days_abbr[(S.settings.first_day_of_week+g)%7]?S.settings.days_abbr[(S.settings.first_day_of_week+g)%7]:S.settings.days[(S.settings.first_day_of_week+g)%7].substr(0,2))+"</th>";for(f+="</tr><tr>",g=0;42>g;g++){g>0&&g%7===0&&(f+="</tr><tr>"),g%7===0&&S.settings.show_week_number&&(f+='<td class="dp_week_number">'+la(new Date(s,r,g-e+1))+"</td>");var i=g-e+1;if(S.settings.select_other_months&&(e>g||i>b)){var j=new Date(s,r,i),k=j.getFullYear(),o=j.getMonth(),p=j.getDate();j=k+ia(o+1,2)+ia(p,2)}if(e>g)f+='<td class="'+(S.settings.select_other_months&&!ca(k,o,p)?"dp_not_in_month_selectable date_"+j:"dp_not_in_month")+'">'+(S.settings.select_other_months||S.settings.show_other_months?ia(d-e+g+1,S.settings.zero_pad?2:0):"&nbsp;")+"</td>";else if(i>b)f+='<td class="'+(S.settings.select_other_months&&!ca(k,o,p)?"dp_not_in_month_selectable date_"+j:"dp_not_in_month")+'">'+(S.settings.select_other_months||S.settings.show_other_months?ia(i-b,S.settings.zero_pad?2:0):"&nbsp;")+"</td>";else{var q=(S.settings.first_day_of_week+g)%7,w="",x=aa(s,r,i);ca(s,r,i)?(a.inArray(q,S.settings.weekend_days)>-1?w="dp_weekend_disabled":w+=" dp_disabled",r==l&&s==m&&n==i&&(w+=" dp_disabled_current"),""!=x&&(w+=" "+x+"_disabled")):(a.inArray(q,S.settings.weekend_days)>-1&&(w="dp_weekend"),r==u&&s==v&&t==i&&(w+=" dp_selected"),r==l&&s==m&&n==i&&(w+=" dp_current"),""!=x&&(w+=" "+x)),f+="<td"+(""!==w?' class="'+a.trim(w)+'"':"")+">"+((S.settings.zero_pad?ia(i,2):i)||"&nbsp;")+"</td>"}}f+="</tr>",h.html(a(f)),S.settings.always_visible&&(E=a("td:not(.dp_disabled, .dp_weekend_disabled, .dp_not_in_month, .dp_week_number)",h)),h.show()},$=function(){ea(S.settings.header_captions.months);for(var b="<tr>",c=0;12>c;c++){c>0&&c%3===0&&(b+="</tr><tr>");var d="dp_month_"+c;ca(s,c)?d+=" dp_disabled":u!==!1&&u==c&&s==v?d+=" dp_selected":l==c&&m==s&&(d+=" dp_current"),b+='<td class="'+a.trim(d)+'">'+(a.isArray(S.settings.months_abbr)&&void 0!==S.settings.months_abbr[c]?S.settings.months_abbr[c]:S.settings.months[c].substr(0,3))+"</td>"}b+="</tr>",i.html(a(b)),S.settings.always_visible&&(F=a("td:not(.dp_disabled)",i)),i.show()},_=function(){ea(S.settings.header_captions.years);for(var b="<tr>",c=0;12>c;c++){c>0&&c%3===0&&(b+="</tr><tr>");var d="";ca(s-7+c)?d+=" dp_disabled":v&&v==s-7+c?d+=" dp_selected":m==s-7+c&&(d+=" dp_current"),b+="<td"+(""!==a.trim(d)?' class="'+a.trim(d)+'"':"")+">"+(s-7+c)+"</td>"}b+="</tr>",j.html(a(b)),S.settings.always_visible&&(G=a("td:not(.dp_disabled)",j)),j.show()},aa=function(b,c,d){var e,f,g;"undefined"!=typeof c&&(c+=1);for(f in P)if(e=P[f],g=!1,a.isArray(O[e])&&a.each(O[e],function(){if(!g){var f=this;if((a.inArray(b,f[2])>-1||a.inArray("*",f[2])>-1)&&("undefined"!=typeof c&&a.inArray(c,f[1])>-1||a.inArray("*",f[1])>-1)&&("undefined"!=typeof d&&a.inArray(d,f[0])>-1||a.inArray("*",f[0])>-1)){if("*"==f[3])return g=e;var h=new Date(b,c-1,d).getDay();if(a.inArray(h,f[3])>-1)return g=e}}}),g)return g;return g||""},ba=function(b){if("explorer"==ma.name&&6==ma.version){if(!y){var c=ja(e.css("zIndex"))-1;y=a("<iframe>",{src:'javascript:document.write("")',scrolling:"no",frameborder:0,css:{zIndex:c,position:"absolute",top:-1e3,left:-1e3,width:e.outerWidth(),height:e.outerHeight(),filter:"progid:DXImageTransform.Microsoft.Alpha(opacity=0)",display:"none"}}),a("body").append(y)}switch(b){case"hide":y.hide();break;default:var d=e.offset();y.css({top:d.top,left:d.left,display:"block"})}}},ca=function(b,c,d){if(!(void 0!==b&&!isNaN(b)||void 0!==c&&!isNaN(c)||void 0!==d&&!isNaN(d)))return!1;if(1e3>b)return!0;if(a.isArray(S.settings.direction)||0!==ja(S.settings.direction)){var e=ja(ha(b,"undefined"!=typeof c?ia(c,2):"","undefined"!=typeof d?ia(d,2):"")),f=(e+"").length;if(8==f&&("undefined"!=typeof z&&e<ja(ha(p,ia(o,2),ia(q,2)))||"undefined"!=typeof A&&e>ja(ha(C,ia(D,2),ia(B,2)))))return!0;if(6==f&&("undefined"!=typeof z&&e<ja(ha(p,ia(o,2)))||"undefined"!=typeof A&&e>ja(ha(C,ia(D,2)))))return!0;if(4==f&&("undefined"!=typeof z&&p>e||"undefined"!=typeof A&&e>C))return!0}"undefined"!=typeof c&&(c+=1);var g=!1,h=!1;return a.isArray(x)&&x.length&&a.each(x,function(){if(!g){var e=this;if((a.inArray(b,e[2])>-1||a.inArray("*",e[2])>-1)&&("undefined"!=typeof c&&a.inArray(c,e[1])>-1||a.inArray("*",e[1])>-1)&&("undefined"!=typeof d&&a.inArray(d,e[0])>-1||a.inArray("*",e[0])>-1)){if("*"==e[3])return g=!0;var f=new Date(b,c-1,d).getDay();if(a.inArray(f,e[3])>-1)return g=!0}}}),w&&a.each(w,function(){if(!h){var e=this;if((a.inArray(b,e[2])>-1||a.inArray("*",e[2])>-1)&&(h=!0,"undefined"!=typeof c))if(h=!0,a.inArray(c,e[1])>-1||a.inArray("*",e[1])>-1){if("undefined"!=typeof d)if(h=!0,a.inArray(d,e[0])>-1||a.inArray("*",e[0])>-1){if("*"==e[3])return h=!0;var f=new Date(b,c-1,d).getDay();if(a.inArray(f,e[3])>-1)return h=!0;h=!1}else h=!1}else h=!1}}),w&&h?!1:x&&g?!0:!1},da=function(a){return(a+"").match(/^\-?[0-9]+$/)?!0:!1},ea=function(b){!isNaN(parseFloat(r))&&isFinite(r)&&(b=b.replace(/\bm\b|\bn\b|\bF\b|\bM\b/,function(b){switch(b){case"m":return ia(r+1,2);case"n":return r+1;case"F":return S.settings.months[r];case"M":return a.isArray(S.settings.months_abbr)&&void 0!==S.settings.months_abbr[r]?S.settings.months_abbr[r]:S.settings.months[r].substr(0,3);default:return b}})),!isNaN(parseFloat(s))&&isFinite(s)&&(b=b.replace(/\bY\b/,s).replace(/\by\b/,(s+"").substr(2)).replace(/\bY1\b/i,s-7).replace(/\bY2\b/i,s+4)),a(".dp_caption",g).html(b)},fa=function(){if(""===h.text()||"days"==d){if(""===h.text()){S.settings.always_visible||e.css("left",-1e3),e.css("visibility","visible"),Z();var b=h.outerWidth(),c=h.outerHeight();i.css({width:b,height:c}),j.css({width:b,height:c}),g.css("width",b),K.css("width",b),e.css("visibility","").addClass("dp_hidden")}else Z();i.hide(),j.hide()}else"months"==d?($(),h.hide(),j.hide()):"years"==d&&(_(),h.hide(),i.hide());if(S.settings.onChange&&"function"==typeof S.settings.onChange&&void 0!==d){var f="days"==d?h.find("td:not(.dp_disabled, .dp_weekend_disabled, .dp_not_in_month)"):"months"==d?i.find("td:not(.dp_disabled, .dp_weekend_disabled, .dp_not_in_month)"):j.find("td:not(.dp_disabled, .dp_weekend_disabled, .dp_not_in_month)");f.each(function(){var b;"days"==d?a(this).hasClass("dp_not_in_month_selectable")?(b=a(this).attr("class").match(/date\_([0-9]{4})(0[1-9]|1[012])(0[1-9]|[12][0-9]|3[01])/),a(this).data("date",b[1]+"-"+b[2]+"-"+b[3])):a(this).data("date",s+"-"+ia(r+1,2)+"-"+ia(ja(a(this).text()),2)):"months"==d?(b=a(this).attr("class").match(/dp\_month\_([0-9]+)/),a(this).data("date",s+"-"+ia(ja(b[1])+1,2))):a(this).data("date",ja(a(this).text()))}),S.settings.onChange.call(T,d,f,T)}K.show(),S.settings.show_clear_date===!0||0===S.settings.show_clear_date&&""!==T.val()||S.settings.always_visible&&S.settings.show_clear_date!==!1?(k.show(),L?(J.css("width","50%"),k.css("width","50%")):(J.hide(),k.css("width","100%"))):(k.hide(),L?J.show().css("width","100%"):K.hide())},ga=function(a,b,c,d,e){var f=new Date(a,b,c,12,0,0),g="days"==d?E:"months"==d?F:G,h=Y(f);T.val(h),S.settings.always_visible&&(u=f.getMonth(),r=f.getMonth(),v=f.getFullYear(),s=f.getFullYear(),t=f.getDate(),g.removeClass("dp_selected"),e.addClass("dp_selected"),"days"==d&&e.hasClass("dp_not_in_month_selectable")&&S.show()),S.hide(),ka(f),S.settings.onSelect&&"function"==typeof S.settings.onSelect&&S.settings.onSelect.call(T,h,a+"-"+ia(b+1,2)+"-"+ia(c,2),f,T,la(f)),T.focus()},ha=function(){for(var a="",b=0;b<arguments.length;b++)a+=arguments[b]+"";return a},ia=function(a,b){for(a+="";a.length<b;)a="0"+a;return a},ja=function(a){return parseInt(a,10)},ka=function(b){S.settings.pair&&a.each(S.settings.pair,function(){var c=a(this);if(c.data&&c.data("Zebra_DatePicker")){var d=c.data("Zebra_DatePicker");d.update({reference_date:b,direction:0===d.settings.direction?1:d.settings.direction}),d.settings.always_visible&&d.show()}else c.data("zdp_reference_date",b)})},la=function(a){var b,c,d,e,f,g,h,i,j,k=a.getFullYear(),l=a.getMonth()+1,m=a.getDate();return 3>l?(b=k-1,c=(b/4|0)-(b/100|0)+(b/400|0),d=((b-1)/4|0)-((b-1)/100|0)+((b-1)/400|0),e=c-d,f=0,g=m-1+31*(l-1)):(b=k,c=(b/4|0)-(b/100|0)+(b/400|0),d=((b-1)/4|0)-((b-1)/100|0)+((b-1)/400|0),e=c-d,f=e+1,g=m+((153*(l-3)+2)/5|0)+58+e),h=(b+c)%7,m=(g+h-f)%7,i=g+3-m,j=0>i?53-((h-e)/5|0):i>364+e?1:(i/7|0)+1},ma={init:function(){this.name=this.searchString(this.dataBrowser)||"",this.version=this.searchVersion(navigator.userAgent)||this.searchVersion(navigator.appVersion)||""},searchString:function(a){for(var b=0;b<a.length;b++){var c=a[b].string,d=a[b].prop;if(this.versionSearchString=a[b].versionSearch||a[b].identity,c){if(-1!=c.indexOf(a[b].subString))return a[b].identity}else if(d)return a[b].identity}},searchVersion:function(a){var b=a.indexOf(this.versionSearchString);if(-1!=b)return parseFloat(a.substring(b+this.versionSearchString.length+1))},dataBrowser:[{string:navigator.userAgent,subString:"Firefox",identity:"firefox"},{string:navigator.userAgent,subString:"MSIE",identity:"explorer",versionSearch:"MSIE"}]};ma.init(),U()},a.fn.Zebra_DatePicker=function(b){return this.each(function(){void 0!==a(this).data("Zebra_DatePicker")&&a(this).data("Zebra_DatePicker").destroy();var c=new a.Zebra_DatePicker(this,b);a(this).data("Zebra_DatePicker",c)})}}); +(function(d){d.Zebra_Form=function(z,x){var f=this,R={scroll_to_error:!0,tips_position:"left",close_tips:!0,validate_on_the_fly:!1,validate_all:!1,assets_path:null};f.settings={};var r={},M={},B={},D=[],p={},v={},E=!1,F=!1,y,w,n=d(z);f.filter_input=function(a,d,b){var c,g="";if(window.event)c=window.event.keyCode,d=window.event;else if(d)c=d.which;else return!0;switch(a){case "alphabet":g="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";break;case "digits":case "number":case "float":g="0123456789"; break;case "alphanumeric":g="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";break;default:return!0}b&&(g+=b);b=d.srcElement?d.srcElement:d.target||d.currentTarget;if(null==c||0==c||8==c||9==c||13==c||27==c)return!0;c=String.fromCharCode(c);return("v"==c||"a"==c||"c"==c||"x"==c)&&d.ctrlKey||-1<g.indexOf(c)||"number"==a&&"-"==c&&0==N(b)||"float"==a&&("-"==c&&0==N(b)||"."==c&&0!=N(b)&&null==b.value.match(/\./))?!0:!1};f.init=function(){f.settings=d.extend({},R,x);n.find("option.dummy").remove(); d("div.error",n).each(function(){d("div.close a",d(this)).bind("click",function(a){a.preventDefault();d(this).closest("div.error").animate({height:0,opacity:0},250,function(){d(this).remove()})})});w=d(".control",n);w.each(function(){var a=d(this),b={id:a.attr("id"),name:a.attr("name"),type:K(a)},e=a.closest(".row");void 0!=b.name&&(b.name=b.name.replace(/\[\]$/,""));if(a.hasClass("inside")&&("text"==b.type||"password"==b.type||"textarea"==b.type)||a.hasClass("show-character-counter")||("text"==b.type|| "password"==b.type)&&a.data("prefix"))var c=jQuery('<span class="Zebra_Form_Wrapper"></span>').css({display:a.css("display"),position:"static"==a.css("position")?"relative":a.css("position"),"float":a.css("float"),top:a.css("top"),right:a.css("right"),bottom:a.css("bottom"),left:a.css("left")}),a=a.replaceWith(c).css({position:"relative",top:"auto",right:"auto",bottom:"auto",left:"auto"}).appendTo(c);e.length&&a.bind({focus:function(){e.addClass("highlight")},blur:function(){e.removeClass("highlight")}}); if(!a.hasClass("inside")||"text"!=b.type&&"password"!=b.type&&"textarea"!=b.type)a.hasClass("other")&&"select-one"==b.type&&(P(a),a.change(function(){P(a)}));else{var c=a.position(),l="text"==b.type||"password"==b.type?jQuery("<input>").attr({type:"text","class":"Zebra_Form_Placeholder",autocomplete:"off",value:a.attr("title")}):jQuery("<textarea>").attr({"class":"Zebra_Form_Placeholder",autocomplete:"off"}).html(a.attr("title"));"password"==b.type&&a.css("fontFamily","inherit");l.css({fontFamily:a.css("fontFamily"), fontSize:a.css("fontSize"),fontStyle:a.css("fontStyle"),fontWeight:a.css("fontWeight"),left:c.left,top:c.top,width:parseInt(a.css("width"),10)+(parseInt(a.css("borderLeftWidth"),10)||0)+(parseInt(a.css("borderRightWidth"),10)||0),height:parseInt(a.css("height"),10)+(parseInt(a.css("borderTopWidth"),10)||0)+(parseInt(a.css("borderBottomWidth"),10)||0),paddingTop:parseInt(a.css("paddingTop"),10)||0,paddingRight:parseInt(a.css("paddingRight"),10)||0,paddingBottom:parseInt(a.css("paddingBottom"),10)|| 0,paddingLeft:parseInt(a.css("paddingLeft"),10)||0,marginTop:parseInt(a.css("marginTop"),10)||0,marginRight:parseInt(a.css("marginRight"),10)||0,marginBottom:parseInt(a.css("marginBottom"),10)||0,marginLeft:parseInt(a.css("marginLeft"),10)||0}).insertAfter(a).hide();a.removeAttr("title");l.bind("focus",function(){a.focus()});a.bind({focus:function(){l.hide()},blur:function(){""==d(this).val()&&l.show()}});a.data("Zebra_Form_Placeholder",l);D.push(a);"password"==b.type&&a.css({fontFamily:"Verdana, Tahoma, Arial"})}"undefined"== typeof f.settings.validation_rules[b.name]&&"undefined"==typeof f.settings.validation_rules[b.name.replace(/\_(hours|minutes|seconds|ampm)$/,"")]||f.register(a,!1);if(("text"==b.type||"textarea"==b.type||"password"==b.type)&&a.attr("maxlength")&&(a.data("maxlength",a.attr("maxlength")),a.bind("keyup",function(a){a=d(this);var b=a.data("maxlength"),c=O(a);a.attr("maxlength",b-c);a.hasClass("show-character-counter")&&(a=b-c-a.val().length,m.html(0>a?"<span>"+a+"</span>":a))}),a.hasClass("show-character-counter"))){var c= a.position(),m=jQuery("<div>",{"class":"Zebra_Character_Counter",css:{visibility:"hidden"}}).html(a.data("maxlength")).insertAfter(a);width=m.outerWidth();height=m.outerHeight();m.css({top:c.top+a.outerHeight()-height/1.5,left:c.left+a.outerWidth()-width/1.5,width:m.width(),visibility:"visible"});a.trigger("keyup")}"text"!=b.type&&"password"!=b.type||!a.data("prefix")||(b=a.data("prefix"),c=decodeURIComponent(b.replace(/\+/g," ")).match(/^img\:(.*)/i),b=null!=c?jQuery("<img>",{src:c[1]}):jQuery("<div>", {css:{fontFamily:a.css("fontFamily"),fontSize:a.css("fontSize")}}).html(decodeURIComponent(b.replace(/\+/g," "))),b.attr({"class":"Zebra_Form_Input_Prefix"}).css({visibility:"hidden",position:"absolute"}).insertAfter(a),b.css({top:(a.outerHeight()-b.outerHeight())/2,left:parseInt(a.css("paddingLeft"),10),visibility:"visible"}),a.css({paddingLeft:"+="+b.outerWidth(!0)}),"border-box"!=a.css("boxSizing")&&a.css({width:"-="+b.outerWidth(!0)}),void 0!=l&&l.css({left:"+="+b.outerWidth(!0)}))});d("input.submit, input.image, button", n).bind("click",function(){n.data("zf_clicked_button",d(this).attr("id"))});for(var a in f.settings.validation_rules)for(var e in f.settings.validation_rules[a])"dependencies"==e&&function(){var b=f.settings.validation_rules[a][e];"string"==typeof b[1]&&(b=b[0]);for(var c in b){var h=d('input[name="'+c+'"],select[name="'+c+'"],textarea[name="'+c+'"],button[name="'+c+'"]',z);0==h.length&&(h=d('input[name="'+c+'[]"],select[name="'+c+'[]"],textarea[name="'+c+'[]"]',z));if(0<h.length){p[c]||(p[c]={conditions:{}, elements:[],event:!1});-1==d.inArray(a,p[c].elements)&&p[c].elements.push(a);var k=G(b[c]),l=K(d(h[0]));(function(a,c,e){p[c].conditions[k]||(p[c].conditions[k]=function(){var f=b[c],h=[];a.each(function(){switch(e){case "radio":case "checkbox":this.checked&&h.push(d(this).val());break;case "button":case "image":case "submit":n.data("zf_clicked_button")==d(this).attr("id")&&h.push("click");break;default:h.push(d(this).val())}});var k=!1;0<h.length&&(d.isArray(f)?d.each(f,function(a){var b=0;d.each(h, function(c){d.isArray(f[a])||h[c]!=f[a]?d.isArray(f[a])&&-1<d.inArray(h[c],f[a])&&b++:k=!0});k||b!=f[a].length||(k=!0)}):d.each(h,function(a){f==h[a]&&(k=!0)}));return k});0<a.length&&0==p[c].event&&(p[c].event=function(a){d.each(p[c].elements,function(a){var b=f.settings.validation_rules[p[c].elements[a]].dependencies,e=!0;if("string"==typeof b[1])var g=b[1].split(","),g=d.map(g,function(a){return d.trim(a)}),h=g.shift(),arguments=g,b=b[0];for(var k in b)g=G(b[k]),p[k].conditions[g]()||(e=!1);if(void 0!= b[c]&&void 0!=h){b=window;h=h.split(".");k=h.pop();for(g=0;g<h.length;g++)if(void 0!=b[h[g]])b=b[h[g]];else throw Error('"'+h[g]+"\" namespace doesn't exist in the global scope!");try{b[k].apply(void 0,[e].concat(arguments))}catch(l){throw Error('"'+k+'" callback function was not found!');}}})},a.bind("checkbox"==e||"radio"==e||"select-multiple"==e||"submit"==e||"button"==e?"click":"select-one"==e?"change":"blur",p[c].event))})(h,c,l)}}for(c in p)p[c].event()}();var b=d(".captcha-container");if(0< b.length){var c=d("img",b);d("a",b).bind("click",function(a){a.preventDefault();c.attr("src",c.attr("src").replace(/nocache=[0-9]+/,"nocache="+(new Date).getTime()))})}n.bind("submit",function(a){0!=E||void 0==f.settings.validation_rules||F||f.validate()||a.preventDefault();F=!1});0<D.length&&setInterval(S,50);y={init:function(){this.name=this.searchString(this.dataBrowser)||"";this.version=this.searchVersion(navigator.userAgent)||this.searchVersion(navigator.appVersion)||""},searchString:function(a){for(var b= 0;b<a.length;b++){var c=a[b].string,d=a[b].prop;this.versionSearchString=a[b].versionSearch||a[b].identity;if(c){if(-1!=c.indexOf(a[b].subString))return a[b].identity}else if(d)return a[b].identity}},searchVersion:function(a){var b=a.indexOf(this.versionSearchString);if(-1!=b)return parseFloat(a.substring(b+this.versionSearchString.length+1))},dataBrowser:[{string:navigator.userAgent,subString:"Firefox",identity:"firefox"},{string:navigator.userAgent,subString:"MSIE",identity:"explorer",versionSearch:"MSIE"}]}; y.init()};f.attach_tip=function(a,d){var b=a.attr("id");void 0==r[b]&&(r[b]={element:a});r[b].message=d;f.show_errors(a)};f.clear_errors=function(){d(".Zebra_Form_error_iFrameShim").remove();d(".Zebra_Form_error_message").remove();w.removeClass("error");B={}};f.end_file_upload=function(a,e){var b=d("#"+a);if(b.length&&(f.clear_errors(),n.removeAttr("target"),setTimeout(function(){d("#"+a+"_iframe").remove()},1E3),d("#"+a+"_spinner").remove(),void 0!=r[a]))if(void 0!=e&&"object"==typeof e&&void 0!= e[0]&&void 0!=e[1]&&void 0!=e[2]&&void 0!=e[3]&&b.data("file_info",e),!0!==f.validate_control(b))b.val(""),b.css("visibility","visible"),f.show_errors(b),b.data("file_info","");else{var c=b.offset(),g=jQuery("<div>",{"class":"Zebra_Form_filename",css:{left:c.left,top:c.top,width:b.outerWidth(),opacity:0}}).html(e[0]),c=jQuery("<a>",{href:"javascript:void(0)"}).html("x").bind("click",function(a){a.preventDefault();g.remove();b.val("");b.data("file_info")&&b.removeData("file_info");b.css("visibility", "visible")});d("body").append(g.append(c));g.css({top:parseInt(g.css("top"),10)+(b.outerHeight()-g.outerHeight())/2,opacity:1})}};f.hide_error=function(a,e){var b=d("#"+a);if(void 0==e&&f.settings.validate_on_the_fly&&!0!==f.validate_control(b))f.show_errors(b,!1);else{var c=d("#Zebra_Form_error_message_"+a);0<c.length&&(b.removeClass("error"),c.animate({opacity:0},250,function(){var b=c.data("shim");void 0!=b&&b.remove();c.remove();delete B[a]}))}};f.register=function(a,e){var b={id:a.attr("id"), name:a.attr("name"),type:K(a)};if(void 0!=b.name){b.name=b.name.replace(/\[\]$/,"");a.hasClass("time")&&(b.name=b.name.replace(/\_(hours|minutes|seconds|ampm)$/,""));switch(b.type){case "radio":case "checkbox":a.bind({click:function(){f.hide_error(b.name)},blur:function(){f.hide_error(b.name)}});void 0==M[b.id]&&(M[b.id]=n.find("input[name^="+b.name+"]"));break;case "file":var c=a.clone(!0);c.attr("value","");a.replaceWith(c);c.bind({keypress:function(a){c.attr("value","")},change:function(){if(void 0!= r[b.name].rules.upload){f.hide_error(b.name);c.data("file_info")&&c.removeData("file_info");var e=jQuery('<iframe id="'+b.id+'_iframe" name="'+b.id+'_iframe">',{src:"javascript:void(0)",scrolling:"no",marginwidth:0,marginheight:0,width:0,height:0,frameborder:0,allowTransparency:"true"}).css({position:"absolute",top:0,left:-1E3});d("body").append(e);e=n.attr("action");n.attr("action",decodeURIComponent(f.settings.assets_path)+"process.php?form="+n.attr("id")+"&control="+b.id+"&path="+encodeURIComponent(decodeURIComponent(r[b.name].rules.upload[0]))+ "&nocache="+(new Date).getTime());n.attr("target",b.id+"_iframe");a.css("visibility","hidden");var g=a.offset(),g=jQuery("<div>",{id:b.id+"_spinner","class":"Zebra_Form_spinner",css:{left:g.left,top:g.top}});d("body").append(g);E=!0;n.trigger("submit");n.attr("action",e);E=!1}},blur:function(){f.hide_error(b.name)}});a=c;break;case "select-one":case "select-multiple":a.bind({change:function(){f.hide_error(b.name)},blur:function(){f.hide_error(b.name)}});break;default:a.blur(function(){var c=b.name; if("text"==b.type&&a.hasClass("other")){var d=b.id.match(/^(.*)\_other$/);null!=d&&(c=d[1])}f.hide_error(c)})}var g=f.settings.validation_rules[b.name];if(null!=g)if(void 0==e)w=d(".control",n),d.each(w,function(c,e){if(e==a.get(0)){d(e);for(var f=null,m=c-1;null==f&&void 0!=w[m];)f=d(w[m]).attr("id"),m--;if(r[f]){m={};for(c in r)m[c]=r[c],f==c&&(m[b.id]={element:a,rules:g});r=m}else f={},f[b.id]={element:a,rules:g},d.extend(r,f)}});else if(void 0!=e&&d("#"+e).length){d("#"+e).attr("id");var u={}; for(index in r)u[index]=r[index],previous_element_id==index&&(u[b.id]={element:a,rules:g});r=u}else void 0!=e&&!1===e&&(r[b.id]={element:a,rules:g})}};f.show_errors=function(a,e){void 0!=e&&!1===e||f.clear_errors();var b=0;for(index in r){var c=r[index],g=c.element,u={id:g.attr("id"),name:g.attr("name"),type:K(g)},h="radio"==u.type||"checkbox"==u.type?u.name.replace(/\[\]$/,""):u.id;g.hasClass("time")&&(h=u.name.replace(/\_(hours|minutes|seconds|ampm)$/,""));if((void 0==a||a.get(0)==g.get(0))&&void 0!= c.message&&void 0==B[h]){"none"==g.css("display")||void 0!=e&&!1===e||f.settings.validate_all&&0<b||g.focus();var k=d.extend(g.offset()),k=d.extend(k,{right:Math.floor(k.left+g.outerWidth())}),l=jQuery("<div/>",{"class":"Zebra_Form_error_message",id:"Zebra_Form_error_message_"+h,css:{opacity:0}}),c=jQuery("<div/>",{"class":"message"+(f.settings.close_tips?"":" noclose"),css:{_width:"auto"}}).html(c.message).appendTo(l);f.settings.close_tips&&jQuery("<a/>",{href:"javascript:void(0)","class":"close"+ ("explorer"==y.name&&6==y.version?"-ie6":"")}).html("x").appendTo(c).bind({click:function(a){a.preventDefault();f.hide_error(d(this).closest("div.Zebra_Form_error_message").attr("id").replace(/^Zebra\_Form\_error\_message\_/,""),!0)},focus:function(){d(this).blur()}});var m=jQuery("<div/>",{"class":"arrow"}).appendTo(l);d("body").append(l);var n=l.outerWidth(),p=l.outerHeight(),p=m.outerWidth(),c=m.outerHeight();switch(f.settings.tips_position){case "right":left=k.right-n/2;break;case "center":left= k.left-n/2+g.outerWidth()/2;break;default:left=k.left-n/2}m.css("left",n/2-p/2-1);if("radio"==u.type||"checkbox"==u.type)left=k.right-n/2-g.outerWidth()/2;0>left&&(left=2);l.css("left",left);n=l.outerWidth();p=l.outerHeight();k=k.top-p+c/2-1;0>k&&(k=2);l.css({left:left+"px",top:k+"px",height:p-c/2+"px"});B[h]=l;T(l);l.animate({opacity:.9},250);1!=++b||!f.settings.scroll_to_error||void 0!=e&&!1===e||d("html, body").animate({scrollTop:Math.max(parseInt(l.css("top"),10)+parseInt(l.css("height"),10)/ 2-d(window).height()/2,0)},0);"file"!=u.type&&g.addClass("error");if(!f.settings.validate_all)break}}};f.submit=function(){n.trigger("submit")};f.validate_control=function(a){var e={id:a.attr("id"),name:a.attr("name"),type:K(a)},b=!0,c=r[e.id],g="radio"==e.type||"checkbox"==e.type?e.name.replace(/\[\]$/,""):e.id;a.hasClass("time")&&(g=e.name.replace(/\_(hours|minutes|seconds|ampm)$/,""));if(void 0!=c&&("none"!=a.css("display")&&"hidden"!=a.css("visibility")||a.data("file_info"))){var n=null;delete c.message; for(var h in c.rules){if(!b)break;switch(h){case "age":switch(e.type){case "text":if(""!=d.trim(a.val())&&void 0!=a.data("timestamp")){var k=new Date,l=new Date(a.data("timestamp")),m=k.getFullYear()-l.getFullYear(),p=k.getMonth()-l.getMonth(),v=c.rules[h][0][0],w=c.rules[h][0][1];(0>p||0===p&&k.getDate()<l.getDate())&&m--;(0==v||m>=v)&&(0==w||m<=w)||(b=!1)}}break;case "alphabet":switch(e.type){case "password":case "text":case "textarea":k=new RegExp("^[a-z"+J(c.rules[h][0]).replace(/\s/,"\\s")+"]+$", "ig"),""==d.trim(a.val())||k.test(a.val())||(b=!1)}break;case "alphanumeric":switch(e.type){case "password":case "text":case "textarea":k=new RegExp("^[a-z0-9"+J(c.rules[h][0]).replace(/\s/,"\\s")+"]+$","ig"),""==d.trim(a.val())||k.test(a.val())||(b=!1)}break;case "compare":switch(e.type){case "password":case "text":case "textarea":d("#"+c.rules[h][0])&&a.val()==d("#"+c.rules[h][0]).val()||(b=!1)}break;case "dependencies":if(!Q(g))return!0;break;case "custom":var y=!1;d.each(c.rules[h],function(c, e){if(!y){e=d.merge(d.merge([e[0]],[a.val()]),e.slice(1));var f="function"==typeof e[0]?e[0]:"function"==typeof window[e[0]]?window[e[0]]:!1;if(!1!==f)b=f.apply(f,e.slice(1));else throw b=!1,Error('Function "'+e[0]+"\" doesn't exist!");b||(custom_rule_error_message=e[e.length-1],y=!0)}});break;case "date":switch(e.type){case "text":if(""!=d.trim(a.val())){for(var k=!1,H=a.data("Zebra_DatePicker").settings.format,l="dDjlNSwFmMnYyGHghaAisU".split(""),m=[],q=[],H=J(H),p=0;p<l.length;p++)-1<(position= H.indexOf(l[p]))&&m.push({character:l[p],position:position});m.sort(function(a,b){return a.position-b.position});d.each(m,function(a,b){switch(b.character){case "d":q.push("0[1-9]|[12][0-9]|3[01]");break;case "D":q.push("[a-z]{3}");break;case "j":q.push("[1-9]|[12][0-9]|3[01]");break;case "l":q.push("[a-z]+");break;case "N":q.push("[1-7]");break;case "S":q.push("st|nd|rd|th");break;case "w":q.push("[0-6]");break;case "F":q.push("[a-z]+");break;case "m":q.push("0[1-9]|1[012]+");break;case "M":q.push("[a-z]{3}"); break;case "n":q.push("[1-9]|1[012]");break;case "Y":q.push("[0-9]{4}");break;case "y":q.push("[0-9]{2}");break;case "G":q.push("[0-9]|1[0-9]|2[0-3]");break;case "H":q.push("0[0-9]|1[0-9]|2[0-3]");break;case "g":q.push("[0-9]|1[0-2]");break;case "h":q.push("0[0-9]|1[0-2]");break;case "a":case "A":q.push("(am|pm)");break;case "i":q.push("[0-5][0-9]");break;case "s":q.push("[0-5][0-9]")}});if(0<q.length&&(m.reverse(),d.each(m,function(a,b){H=H.replace(b.character,"("+q[q.length-a-1]+")")}),q=new RegExp("^"+ H+"$","ig"),segments=q.exec(a.val()))){var I=null,A=null,C=null,z="Sunday Monday Tuesday Wednesday Thursday Friday Saturday".split(" "),x="January February March April May June July August September October November December".split(" "),B=null,L=!0;m.reverse();d.each(m,function(b,c){if(!L)return!0;switch(c.character){case "m":case "n":A=parseInt(segments[b+1],10);break;case "d":case "j":I=parseInt(segments[b+1],10);break;case "D":case "l":case "F":case "M":B="D"==c.character||"l"==c.character?a.data("Zebra_DatePicker").settings.days: a.data("Zebra_DatePicker").settings.months;L=!1;d.each(B,function(a,d){if(L)return!0;if(segments[b+1].toLowerCase()==d.substring(0,"D"==c.character||"M"==c.character?3:d.length).toLowerCase()){switch(c.character){case "D":segments[b+1]=z[a].substring(0,3);break;case "l":segments[b+1]=z[a];break;case "F":segments[b+1]=x[a];A=a+1;break;case "M":segments[b+1]=x[a].substring(0,3),A=a+1}L=!0}});break;case "Y":C=parseInt(segments[b+1],10);break;case "y":C="19"+parseInt(segments[b+1],10)}});L&&(I||(I=1), A||(A=1),C||(C=(new Date).getFullYear()),l=new Date(C,A-1,I),l.getFullYear()==C&&l.getDate()==I&&l.getMonth()==A-1&&(a.data("timestamp",Date.parse(x[A-1]+" "+I+", "+C)),k=!0))}k||(b=!1)}}break;case "datecompare":switch(e.type){case "password":case "text":case "textarea":if(""!=d.trim(a.val()))if(void 0!=c.rules[h][0]&&void 0!=c.rules[h][1]&&d(c.rules[h][0])&&!0===f.validate_control(d(c.rules[h][0]))&&void 0!=a.data("timestamp"))switch(c.rules[h][1]){case ">":b=a.data("timestamp")>d("#"+c.rules[h][0]).data("timestamp"); break;case ">=":b=a.data("timestamp")>=d("#"+c.rules[h][0]).data("timestamp");break;case "<":b=a.data("timestamp")<d("#"+c.rules[h][0]).data("timestamp");break;case "<=":b=a.data("timestamp")<=d("#"+c.rules[h][0]).data("timestamp")}else b=!1}break;case "digits":switch(e.type){case "password":case "text":case "textarea":k=new RegExp("^[0-9"+J(c.rules[h][0]).replace(/\s/,"\\s")+"]+$","ig"),""==d.trim(a.val())||k.test(a.val())||(b=!1)}break;case "email":switch(e.type){case "password":case "text":case "textarea":""!= d.trim(a.val())&&(null!==a.val().match(/\.{2,}/)||254<a.val().length||null==a.val().match(/^[^\.][a-z0-9_\-\+\~\^\{\}\.]{1,64}@[a-z0-9_\-\+\~\^\{\}\.]{1,255}\.[a-z0-9]{2,}$/i))&&(b=!1)}break;case "emails":switch(e.type){case "password":case "text":case "textarea":k=a.val().split(","),d.each(k,function(a,c){""!=d.trim(c)&&null==d.trim(c).match(/^([a-zA-Z0-9_\-\+\~\^\{\}]+[\.]?)+@{1}([a-zA-Z0-9_\-\+\~\^\{\}]+[\.]?)+\.[A-Za-z0-9]{2,}$/)&&(b=!1)})}break;case "filesize":switch(e.type){case "file":var t= a.data("file_info");t&&(void 0==t[2]||void 0==t[3]||0!=t[2]||parseInt(t[3],10)>parseInt(c.rules[h][0],10))&&(b=!1)}break;case "filetype":switch(e.type){case "file":if(t=a.data("file_info")){void 0==f.mimes&&d.ajax({url:decodeURIComponent(f.settings.assets_path)+"mimes.json",async:!1,success:function(a){f.mimes=a},dataType:"json"});var G=d.map(c.rules[h][0].split(","),function(a){return d.trim(a)}),D=[];d.each(f.mimes,function(a,b){(d.isArray(b)&&-1<d.inArray(t[1],b)||!d.isArray(b)&&b==t[1])&&D.push(a)}); var E=!1;d.each(D,function(a,b){-1<d.inArray(b,G)&&(E=!0)});E||(b=!1)}}break;case "float":switch(e.type){case "password":case "text":case "textarea":k=new RegExp("^[0-9-."+J(c.rules[h][0]).replace(/\s/,"\\s")+"]+$","ig"),""!=d.trim(a.val())&&("-"==d.trim(a.val())||"."==d.trim(a.val())||null!=a.val().match(/\-/g)&&1<a.val().match(/\-/g).length||null!=a.val().match(/\./g)&&1<a.val().match(/\./g).length||0<a.val().indexOf("-")||!k.test(a.val()))&&(b=!1)}break;case "image":switch(e.type){case "file":(t= a.data("file_info"))&&null==t[1].match(/image\/(gif|jpeg|png|pjpeg)/i)&&(b=!1)}break;case "length":switch(e.type){case "password":case "text":case "textarea":if(""!=a.val()&&void 0!=c.rules[h][0]&&a.val().length-O(a)<c.rules[h][0]||void 0!=c.rules[h][1]&&0<c.rules[h][1]&&a.val().length-O(a)>c.rules[h][1])b=!1}break;case "number":switch(e.type){case "password":case "text":case "textarea":k=new RegExp("^[0-9-"+J(c.rules[h][0]).replace(/\s/,"\\s")+"]+$","ig"),""!=d.trim(a.val())&&("-"==d.trim(a.val())|| null!=a.val().match(/\-/g)&&1<a.val().match(/\-/g).length||0<a.val().indexOf("-")||!k.test(a.val()))&&(b=!1)}break;case "range":switch(e.type){case "text":""!=d.trim(a.val())&&(k=c.rules[h][0][0],l=c.rules[h][0][1],m=d.trim(parseFloat(a.val())),!isNaN(m)&&m==d.trim(a.val())&&(0===k||m>=k)&&(0===l||m<=l)||(b=!1))}break;case "regexp":switch(e.type){case "password":case "text":case "textarea":k=new RegExp(c.rules[h][0],"g"),""!=d.trim(a.val())&&null==k.exec(a.val())&&(b=!1)}break;case "required":switch(e.type){case "checkbox":case "radio":var F= !1;M[e.id].each(function(){this.checked&&(F=!0)});F||(b=!1);break;case "file":case "password":case "text":case "textarea":""==d.trim(a.val())&&(b=!1);break;case "select-one":if(a.hasClass("time")&&0==a.get(0).selectedIndex)e.id=e.id.replace(/\_(hours|minutes|seconds|ampm)$/,""),b=!1;else if(a.hasClass("other")&&"other"==a.val()&&(!d("#"+e.id+"_other").length||""==d.trim(d("#"+e.id+"_other").val()))||0==a.get(0).selectedIndex)b=!1;break;case "select-multiple":-1==a.get(0).selectedIndex&&(b=!1)}break; case "upload":switch(e.type){case "file":t=a.data("file_info"),!t||t[2]&&0==t[2]||(b=!1)}break;case "url":switch(e.type){case "password":case "text":case "textarea":k=new RegExp("^(http(s)?://)"+(!0===c.rules[h][0]?"":"?")+"[^\\s\\.]+\\..{2,}","i"),""==d.trim(a.val())||k.test(a.val())||(b=!1)}}b||(n=h,c.message="custom"==h?custom_rule_error_message:f.settings.validation_rules[g][n][f.settings.validation_rules[g][n].length-("length"==n&&4==f.settings.validation_rules[g][n].length?2:1)],c.value=a.val())}}return b? !0:n};f.validate=function(a){var d,b=!0;f.clear_errors();v={};for(index in r){if(!b&&!f.settings.validate_all)break;d=r[index].element;!0!==(rule_not_passed=f.validate_control(d))&&(b=!1)}b||void 0!==a||f.show_errors();F=!0;return b};var S=function(){d.each(D,function(){var a=d(this),e=a.data("Zebra_Form_Placeholder");""!=a.val()||a.is(":focus")?e.hide():e.show()})},J=function(a){return a.replace(/([-.*+?^${}()|[\]\/\\])/g,"\\$1")},N=function(a){if(null!=a.selectionStart)return a.selectionStart;var d= document.selection.createRange(),b=d.duplicate();if("text"==a.type)return 0-b.moveStart("character",-1E5);var c=a.value.length;b.moveToElementText(a);b.setEndPoint("StartToStart",d);return c-b.text.length},O=function(a){a=a.val();var d=a.length;return a.replace(/(\r\n|\r|\n)/g,"\r\n").length-d},T=function(a){if("explorer"==y.name&&6==y.version&&!a.data("shim")){var e=a.offset(),b=parseInt(a.css("zIndex"),10)-1,e=jQuery("<iframe>",{src:'javascript:document.write("")',scrolling:"no",frameborder:0,allowTransparency:"true", "class":"Zebra_Form_error_iFrameShim",css:{zIndex:b,position:"absolute",top:e.top,left:e.left,width:a.outerWidth(),height:a.outerHeight(),filter:"progid:DXImageTransform.Microsoft.Alpha(opacity=0)",display:"block"}});d("body").append(e);a.data("shim",e)}},P=function(a){var e=d("#"+a.attr("id")+"_other");"other"==a.val()?e.css("display","block"):e.css("display","none")},G=function(a){if(!d.isArray(a))return a;var e="";d.each(a,function(b){b=a[b];d.isArray(b)&&(b="|"+G(b)+"|");e+=""+b});return e},K= function(a){var d="button input:checkbox input:file input:image input:password input:radio input:submit input:text select textarea".split(" "),b=["email","number"];for(index in b)if(a.attr("type")&&a.attr("type").toLowerCase()==b[index])return"text";for(index in d)if(a.is(d[index]))return"select"==d[index]?a.attr("multiple")?"select-multiple":"select-one":d[index].replace(/input\:/,"")},Q=function(a,e){void 0==e&&(e=[]);2<e.length&&e.shift();if(-1<d.inArray(a,e))throw Error('Infinite recursion detected. The loop of dependencies is created by the following elements: "'+ e.join('", "')+'"');e.push(a);var b=f.settings.validation_rules[a].dependencies;"string"==typeof b[1]&&(b=b[0]);var c=!0,g;for(g in b){if(void 0!=v[g]&&void 0!=v[g][b[g]])c=v[g][b[g]];else{void 0!=f.settings.validation_rules[g]&&void 0!=f.settings.validation_rules[g].dependencies&&(c=Q(g,e));if(c){var n=G(b[g]);p[g]&&p[g].conditions[n]()||(c=!1)}void 0==v[g]&&(v[g]={});void 0==v[g][b[g]]&&(v[g][b[g]]=c)}if(!c)break}return c};f.init()};d.fn.Zebra_Form=function(z){return this.each(function(){var x= new d.Zebra_Form(this,z);d(this).data("Zebra_Form",x);if("function"==typeof x.settings.on_ready)x.settings.on_ready(d(this).attr("id"))})}})(jQuery); \ No newline at end of file diff --git a/vendor/stefangabos/zebra_form/public/javascript/zebra_form.src.js b/vendor/stefangabos/zebra_form/public/javascript/zebra_form.src.js new file mode 100644 index 00000000..061d742f --- /dev/null +++ b/vendor/stefangabos/zebra_form/public/javascript/zebra_form.src.js @@ -0,0 +1,3302 @@ +/** + * Zebra_Form + * + * Client-side validation for Zebra_Form + * + * Visit {@link http://stefangabos.ro/php-libraries/zebra-form/} for more information. + * + * For more resources visit {@link http://stefangabos.ro/} + * + * @author Stefan Gabos <contact@stefangabos.ro> + * @version 2.9.8 (last revision: May 18, 2016) + * @copyright (c) 2011 - 2016 Stefan Gabos + * @license http://www.gnu.org/licenses/lgpl-3.0.txt GNU LESSER GENERAL PUBLIC LICENSE + * @package Zebra_Form + */ +(function($) { + + $.Zebra_Form = function(element, options) { + + var plugin = this; + + // public properties + var defaults = { + scroll_to_error: true, + tips_position: 'left', + close_tips: true, + validate_on_the_fly: false, + validate_all: false, + assets_path: null + } + + plugin.settings = {} + + // private properties + var validation_rules = new Object, + controls_groups = new Object, + error_blocks = new Object, + placeholders = new Array, + proxies = new Object, + proxies_cache = new Object, + reload = false, validated = false, browser, elements; + + // the jQuery version of the element + // "form" (without the $) will point to the DOM element + var $form = $(element), + form = element; + + // code by Joyce Babu + // found at http://www.weberdev.com/get_example-4437.html + plugin.filter_input = function(filter_type, evt, custom_chars) { + var key_code, key, control, filter = ''; + var alphabet = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'; + var digits = '0123456789'; + if (window.event) { + key_code = window.event.keyCode; + evt = window.event; + } else if (evt) + key_code = evt.which; + else + return true; + switch (filter_type) { + case 'alphabet': + filter = alphabet; + break; + case 'digits': + case 'number': + case 'float': + filter = digits; + break; + case 'alphanumeric': + filter = alphabet + digits; + break; + default: + return true; + } + if (custom_chars) { filter += custom_chars } + control = evt.srcElement ? evt.srcElement : evt.target || evt.currentTarget; + if (key_code==null || key_code==0 || key_code==8 || key_code==9 || key_code==13 || key_code==27) return true; + key = String.fromCharCode(key_code); + if ((key=='v' || key=='a' || key=='c' || key=='x') && evt.ctrlKey) return true; + if (filter.indexOf(key) > -1) return true; + if (filter_type == 'number' && key == '-' && _get_caret_position(control) == 0) return true; + if (filter_type == 'float' && ((key == '-' && _get_caret_position(control) == 0) || (key == '.' && _get_caret_position(control) != 0 && control.value.match(/\./) == null))) return true; + return false; + } + + /** + * Constructor method + * + * @return void + */ + plugin.init = function() { + + plugin.settings = $.extend({}, defaults, options); + + // find all dummy options and remove them from the DOM + // we need them"dummy options" to create valid HTML/XHTML output because empty option groups are not + // allowed; unfortunately, IE does not support neither the "disabled" attribute nor styling these + // empty options so we need to remove them from the DOM + $form.find('option.dummy').remove(); + + // find any error blocks generated by the server-side script and iterate through them + $('div.error', $form).each(function() { + + // attach a function to the error block's "close" button + $('div.close a', $(this)).bind('click', function(e) { + + e.preventDefault(); + + // morph the error block's height and opacity to 0 + $(this).closest('div.error').animate({ + + 'height' : 0, + 'opacity' : 0 + + }, 250, function() { + + // remove from DOM when done + $(this).remove(); + + }); + + }); + + }); + + // get all the form's elements + elements = $('.control', $form); + + // iterate through the form's elements + elements.each(function() { + + var element = $(this), + + // get some attributes of the element + attributes = {'id': element.attr('id'), 'name': element.attr('name'), 'type': _type(element)}, + + // in order to highlight the row that the element is in + // get the parent element having the "row" class set + parent = element.closest('.row'); + + // if element also has the "name" attribute + // (some plugins copy the original element's classes and Zebra_Form will falsely belive they are form elements + // once it gets to them) + if (undefined != attributes['name']) + + // sanitize element's name by removing square brackets (if available) + attributes['name'] = attributes['name'].replace(/\[\]$/, ''); + + if ( + + // if element has the "inside" class set + // meaning that the element's label needs to be shown inside the element, until the element receives focus + (element.hasClass('inside') && ( + + // the class is applied to an allowed element type + attributes['type'] == 'text' || + attributes['type'] == 'password' || + attributes['type'] == 'textarea' + + )) || + + // or element has a character counter attached + element.hasClass('show-character-counter') || + + // element is "text" or "password" and has the "prefix" data attribute set + ((attributes['type'] == 'text' || attributes['type'] == 'password') && element.data('prefix')) + + + ) { + + // we create a wrapper for the parent element so that we can later position the + // placeholder, prefix or characer counter + // also, make sure the wrapper inherits some important css properties of the parent element + var element_wrapper = jQuery('<span class="Zebra_Form_Wrapper"></span>').css({ + 'display': element.css('display'), + 'position': element.css('position') == 'static' ? 'relative' : element.css('position'), + 'float': element.css('float'), + 'top': element.css('top'), + 'right': element.css('right'), + 'bottom': element.css('bottom'), + 'left': element.css('left') + }); + + // replace the parent element with the wrapper and then place it inside the wrapper + // also, make sure we set some important css properties for it + element = element.replaceWith(element_wrapper).css({ + 'position': 'relative', + 'top': 'auto', + 'right': 'auto', + 'bottom': 'auto', + 'left': 'auto' + }).appendTo(element_wrapper); + + } + + // if a parent element having the "row" class exists + if (parent.length) + + // bind these events to the element + element.bind({ + + // when the element receives focus + // add the "highlight" class to the parent element + 'focus': function() { parent.addClass('highlight') }, + + // when the element receives focus + // remove the "highlight" class from the parent element + 'blur': function() { parent.removeClass('highlight') } + + }); + + if ( + + // if element has the "inside" class set + // meaning that the element's label needs to be shown inside the element, until the element receives focus + element.hasClass('inside') && ( + + // the class is applied to an allowed element type + attributes['type'] == 'text' || + attributes['type'] == 'password' || + attributes['type'] == 'textarea' + + ) + + ) { + + // get element's offset relative to the first positioned parent element + var position = element.position(); + + // if element is a text box or a password + if (attributes['type'] == 'text' || attributes['type'] == 'password') + + // create a text element that will float above the element until the the parent element receives the focus + var placeholder = jQuery('<input>').attr({ + 'type': 'text', + 'class': 'Zebra_Form_Placeholder', + 'autocomplete': 'off', + 'value': element.attr('title') + }); + + // if element is a textarea + else + + // create a textarea element that will float above the element until the parent element receives the focus + var placeholder = jQuery('<textarea>').attr({ + 'class': 'Zebra_Form_Placeholder', + 'autocomplete': 'off' + }).html(element.attr('title')); + + // if element is a password field + if (attributes['type'] == 'password') + + // temporarily set the font family to "inherit" so that the placeholder's font will be the + // same everywhere + element.css('fontFamily', 'inherit'); + + // position the placeholder right above the element + // and clone the parent element's styles + placeholder.css({ + 'fontFamily': element.css('fontFamily'), + 'fontSize': element.css('fontSize'), + 'fontStyle': element.css('fontStyle'), + 'fontWeight': element.css('fontWeight'), + 'left': position.left, + 'top': position.top, + 'width': parseInt(element.css('width'), 10) + (parseInt(element.css('borderLeftWidth'), 10) || 0) + (parseInt(element.css('borderRightWidth'), 10) || 0), + 'height': parseInt(element.css('height'), 10) + (parseInt(element.css('borderTopWidth'), 10) || 0) + (parseInt(element.css('borderBottomWidth'), 10) || 0), + 'paddingTop': parseInt(element.css('paddingTop'), 10) || 0, + 'paddingRight': parseInt(element.css('paddingRight'), 10) || 0, + 'paddingBottom': parseInt(element.css('paddingBottom'), 10) || 0, + 'paddingLeft': parseInt(element.css('paddingLeft'), 10) || 0, + 'marginTop': parseInt(element.css('marginTop'), 10) || 0, + 'marginRight': parseInt(element.css('marginRight'), 10) || 0, + 'marginBottom': parseInt(element.css('marginBottom'), 10) || 0, + 'marginLeft': parseInt(element.css('marginLeft'), 10) || 0 + }) + + // inject the placeholder into the DOM + .insertAfter(element).hide(); + + // remove the title attribute on textareas (which was used to store the placeholder's text) + element.removeAttr('title'); + + // when the placeholder receives focus + placeholder.bind('focus', function() { + + // pass focus to the element + element.focus(); + + }); + + element.bind({ + + // hide the placeholder when the element receives focus + 'focus': function() { + placeholder.hide(); + }, + + // if element loses focus but it's empty, show the placeholder + 'blur': function() { if ($(this).val() == '') placeholder.show() } + + }); + + // cache the placeholder element + element.data('Zebra_Form_Placeholder', placeholder); + + // cache the elements having a placeholder + placeholders.push(element); + + // set the password field's font family back to this so that the discs will look the same on all browsers + // WebKit browsers (Chrome & Safari) seem to get it wrong for password fields when using various + // font families, and display really small dots instead of the discs that appear for every other browser + if (attributes['type'] == 'password') + + element.css({ + 'fontFamily': 'Verdana, Tahoma, Arial' + }); + + // if element has the "other" class set and element is a drop-down + } else if (element.hasClass('other') && attributes['type'] == 'select-one') { + + // run this private method that shows/hides the "other" text box depending on the selection + _show_hide_other_option(element); + + // whenever the drop-down's value is changed + element.change(function() { + + // run this private method that shows/hides the "other" text box depending on the selection + _show_hide_other_option(element); + + }); + + } + + // if there are any validation rules set for this element (the extra check is for time controls) + if ('undefined' != typeof plugin.settings.validation_rules[attributes['name']] || 'undefined' != typeof plugin.settings.validation_rules[attributes['name'].replace(/\_(hours|minutes|seconds|ampm)$/, '')]) + + // register the element + plugin.register(element, false); + + // if element is a valid element with the maxlength attribute set + if ((attributes['type'] == 'text' || attributes['type'] == 'textarea' || attributes['type'] == 'password') && element.attr('maxlength')) { + + // because PHP and JavaScript treat new lines differently, we need to do some extra work + // in PHP new line characters count as 2 characters while in JavaScript as 1 + // http://www.sitepoint.com/line-endings-in-javascript/ + // http://drupal.org/node/1267802 + + // first, save the maxlength attribute's original value + // (we will dynamically change its value as we go on) + element.data('maxlength', element.attr('maxlength')); + + // handle the onKeyUp event + element.bind('keyup', function(e) { + + var + + // reference to the textarea element + $el = $(this), + + // the value of the "maxlength" attribute + maxlength = $el.data('maxlength'), + + // the difference between PHP's way of counting and JavaScript's + diff = _maxlength_diff($el); + + // adjust the maxlength attribute to reflect PHP's way of counting, where new lines count as 2 + // characters; therefore, we need to reduce the value of maxlength with 1 for each new line + // character added to compensate + $el.attr('maxlength', maxlength - diff); + + // if the character counter needs to be shown + if ($el.hasClass('show-character-counter')) { + + // get the number of characters left + var available_chars = maxlength - diff - $el.val().length; + + // update the character counter + character_counter.html(available_chars < 0 ? '<span>' + available_chars + '</span>' : available_chars); + + } + + }); + + // if the character counter needs to be shown + if (element.hasClass('show-character-counter')) { + + var + + // get textarea element's position relative to the first positioned element + position = element.position(), + + // create the character counter + character_counter = jQuery('<div>', { + 'class': 'Zebra_Character_Counter', + 'css': { + 'visibility': 'hidden' + } + }) + + // use as initial content the value of maxlength attribute + // to get the element's width + .html(element.data('maxlength')) + + // inject it into the DOM right after the textarea element + // (we need to do this so we can get its width and height) + .insertAfter(element); + + // get the character counter's width and height + width = character_counter.outerWidth(), + height = character_counter.outerHeight(); + + // position the character counter at the bottom-right of the textarea, and make it visible + character_counter.css({ + 'top': position.top + element.outerHeight() - (height / 1.5), + 'left': position.left + element.outerWidth() - (width / 1.5), + 'width': character_counter.width(), + 'visibility': 'visible' + }); + + // trigger the "onKeyUp" event to do the initial computing if there is already content in the textarea + element.trigger('keyup'); + + } + + } + + // if element is "text" or "password" and has the "prefix" data attribute set + if ((attributes['type'] == 'text' || attributes['type'] == 'password') && element.data('prefix')) { + + var + + // get the "prefix" + prefix = element.data('prefix'), + match = decodeURIComponent(prefix.replace(/\+/g, ' ')).match(/^img\:(.*)/i), + + // is the prefix an image? + is_image = null != match, + + $prefix; + + // if prefix is an image + if (is_image) + + // create an <img> tag with the specified "src" + $prefix = jQuery('<img>', { + 'src': match[1] + }); + + // if prefix is not an image + else + + // create a <div> tag and clone the parent element's font styles + $prefix = jQuery('<div>', { + 'css': { + 'fontFamily': element.css('fontFamily'), + 'fontSize': element.css('fontSize') + } + // the content in the prefix + }).html(decodeURIComponent(prefix.replace(/\+/g, ' '))); + + // add some properties and insert the prefix in the DOM right after the element + $prefix.attr({ + 'class': 'Zebra_Form_Input_Prefix' + }).css({ + 'visibility': 'hidden', + 'position': 'absolute' + }).insertAfter(element); + + // correctly position the prefix + $prefix.css({ + 'top': (element.outerHeight() - $prefix.outerHeight()) / 2, + 'left': parseInt(element.css('paddingLeft'), 10), + 'visibility': 'visible' + }); + + // adjust the element's left padding + element.css({ + 'paddingLeft': '+=' + $prefix.outerWidth(true) + }); + + // if box-sizing is not "border-box" + if (element.css('boxSizing') != 'border-box') + + // adjust the element's width + element.css({ + 'width': '-=' + $prefix.outerWidth(true) + }); + + // if element has a placeholder + if (undefined != placeholder) + + // adjust also the placeholder's position + placeholder.css({ + 'left': '+=' + $prefix.outerWidth(true) + }); + + } + + }); + + // bind a function to the "click" event for all submit buttons/images + $('input.submit, input.image, button', $form).bind('click', function() { + + // set the value of a flag (used for dependencies validation) + $form.data('zf_clicked_button', $(this).attr('id')); + + }); + + // iterate through the elements that have validation rules + for (var element in plugin.settings.validation_rules) + + // iterate through the rules of each element + for (var rule_name in plugin.settings.validation_rules[element]) + + // if "dependencies" rule exists + if (rule_name == 'dependencies') { + + (function() { + + // get all the conditions needed to validate the element + var conditions = plugin.settings.validation_rules[element][rule_name]; + + // if the name of a callback function is also given + // the actual conditions are in the first entry of the array + if (typeof conditions[1] == 'string') conditions = conditions[0]; + + // iterate through the elements the validation of the current element depends on (proxies) + for (var proxy in conditions) { + + // find the proxy / proxies (as more radio buttons can share the same name) + var $proxy = $('input[name="' + proxy + '"],select[name="' + proxy + '"],textarea[name="' + proxy + '"],button[name="' + proxy + '"]', form); + + // if no elements were found search again as checkbox groups and multiple selects + // also have [] in their name + if ($proxy.length == 0) $proxy = $('input[name="' + proxy + '[]"],select[name="' + proxy + '[]"],textarea[name="' + proxy + '[]"]', form); + + // if proxy was found + if ($proxy.length > 0) { + + // if haven't yet started storing information about this proxy, start now + if (!proxies[proxy]) proxies[proxy] = { + + // the functions of the proxy + conditions: {}, + + // an array of elements whose validation depends on the proxy + elements: [], + + // the function to be run whenever the proxy's value change + event: false + + }; + + // if the current element is not already in the array of elements whose validation depends on the proxy + // add it now + if ($.inArray(element, proxies[proxy]['elements']) == -1) proxies[proxy]['elements'].push(element); + + var + + // for each proxy/value combination we will store a function + // for the function's name we use a special array-to-string method + function_name = _toString(conditions[proxy]), + + // get the type of the proxy by checking the first item + type = _type($($proxy[0])); + + // in order to scope these values when creating the function after this one, we use + // them as arguments to an anonymous function + (function($proxy, proxy, type) { + + // if for this proxy we haven't yet stored a function that checks for this/these values, create it now + if (!proxies[proxy]['conditions'][function_name]) proxies[proxy]['conditions'][function_name] = function() { + + var + + // the condition/conditions to compare the proxy's current value with + condition = conditions[proxy], + + // the current values/values of the proxy + value = []; + + // let's get the current value/values of the proxy + // iterate through the whole group + $proxy.each(function() { + + // based on the proxy's type + switch (type) { + + // if it's radio buttons or checkboxes we're talking about + case 'radio': + case 'checkbox': + + // and get the value of the checked radio button + if (this.checked) value.push($(this).val()); + + break; + + // if it is a submit button + case 'button': + case 'image': + case 'submit': + + // if the correct button was clicked + if ($form.data('zf_clicked_button') == $(this).attr('id')) value.push('click'); + + break; + + // for the other controls + default: + + // and get the value/values of the element + value.push($(this).val()); + + break; + + } + + }); + + // now let's see if the proxy's value is what is required by the condition/conditions + var found = false; + + // if proxy has any value + if (value.length > 0) + + // if condition is not an array + if (!$.isArray(condition)) { + + // iterate through the proxy's values + // (remember, we store it as an array even if there's a single value) + $.each(value, function(index) { + + // if the value of the condition is amongst the proxy's values + // flag it + if (condition == value[index]) found = true; + + }); + + // if condition is given as an array + } else { + + // iterate through all the conditions + $.each(condition, function(key) { + + var matches = 0; + + // iterate through the values of the proxy element + // (remember, we store it as an array even if there's a single value) + $.each(value, function(index) { + + // if current entry in the conditions list is not an array + // and its value is equal to the current value + if (!$.isArray(condition[key]) && value[index] == condition[key]) found = true; + + // if current entry in the conditions list is an array + // and the current value is part of that array + else if ($.isArray(condition[key]) && $.inArray(value[index], condition[key]) > -1) matches++; + + }); + + // if conditions are met + if (!found && matches == condition[key].length) found = true; + + }); + + } + + // return true or false + return found; + + } + + // if proxy was found and we've not already attached the function to handle the value change + if ($proxy.length > 0 && false == proxies[proxy]['event']) { + + proxies[proxy]['event'] = function(e) { + + // iterate through elements that depend on the current proxy + $.each(proxies[proxy]['elements'], function(index) { + + var + + // the current element + $element = proxies[proxy]['elements'][index], + + // get all the conditions needed to validate the element + conditions = plugin.settings.validation_rules[$element]['dependencies'], + + // by default, we assume that all conditions are met + result = true; + + // if the name of a callback function is also given + if (typeof conditions[1] == 'string') { + + var + + // first, split by comma (,) + segments = conditions[1].split(','), + + // trim any white space (as it may be "mycallback,1" or "mycallback, 1") + segments = $.map(segments, function(n) { return $.trim(n) }), + + // the name of the callback function is the first entry + callback = segments.shift(), + + // the additional arguments come next, if any + arguments = segments, + + // the actual conditions are in the first entry of the array + conditions = conditions[0]; + + } + + // iterate through the elements in the condition + for (var element in conditions) { + + // each condition has a function + var function_name = _toString(conditions[element]); + + // execute the appropriate function and update the result accordingly + if (!proxies[element]['conditions'][function_name]()) result = false; + + } + + // if a callback function exists for the current condition/conditions + if (undefined != conditions[proxy]) { + + // if all conditions are met, there's a callback function to be called + // and the callback function needs to be called + if (undefined != callback) { + + // get ready to call the callback function + var + + // base context is the "window" object + context = window, + + // split by dot (.) in case the callback function is namespaced + namespaces = callback.split('.'), + + // function is the last in list + // also, remove it from the array + fn = namespaces.pop(); + + // iterate through the namespaces (if any) + for (var i = 0; i < namespaces.length; i++) + + // if namespace exists + if (undefined != context[namespaces[i]]) + + // set the context + context = context[namespaces[i]]; + + // throw an error and stop execution if context doesn't exist + else throw new Error('"' + namespaces[i] + '" namespace doesn\'t exist in the global scope!'); + + // finally + try { + + // try to execute the function + context[fn].apply(undefined, [result].concat(arguments)); + + // or + } catch(error) { + + // throw an error otherwise + throw new Error('"' + fn + '" callback function was not found!'); + + } + + } + + } + + }); + + } + + // we need to check all the conditions whenever the proxy changes its value + $proxy.bind( + + // for checkboxes, radio buttons, submits, buttons and multiple selects, we do it on click + type == 'checkbox' || + type == 'radio' || + type == 'select-multiple' || + type == 'submit' || + type == 'button' ? 'click' : ( + + // for selects we do it on change + type == 'select-one' ? 'change' : + + // for the other controls we do it on blur + 'blur' + + ), proxies[proxy]['event']); + + } + + })($proxy, proxy, type); + + } + + } + + // if proxy was found + // execute the function now so it handles default values, if it is the case, for all of the + // elements that depend on it + // (needs to be here so it is executed for each proxy) + for (proxy in proxies) proxies[proxy]['event'](); + + })(); + + } + + // are there any CAPTCHAs on the form? + var $captcha_container = $('.captcha-container'); + + // if there are + if ($captcha_container.length > 0) { + + var $image = $('img', $captcha_container), + $anchor = $('a', $captcha_container); + + // when clicking the "reload" button + $anchor.bind('click', function(e) { + + e.preventDefault(); + + // regenerate the CAPTCHA image + $image.attr('src', $image.attr('src').replace(/nocache=[0-9]+/, 'nocache=' + new Date().getTime())); + + }); + + } + + // handle the form's "submit" event + $form.bind('submit', function(e) { + + // if + if ( + + // form is not to be simply reloaded + reload == false && + + // and there are any controls that need to be validated + undefined != plugin.settings.validation_rules && + + // if the validate() method was not already run + !validated + + // if form doesn't validate, prevent form submission + ) if (!plugin.validate()) e.preventDefault(); + + // consider again that the validate method was not run + validated = false; + + }); + + // if there are any placeholders on the page, + // continuously checks for value updates on fields having placeholders. + // We needs this so that we can hide the placeholders when the fields are updated by the browsers' auto-complete + // feature. + if (placeholders.length > 0) setInterval(_check_values, 50); + + // since with jQuery 1.9.0 the $.browser object was removed, we rely on this piece of code from + // http://www.quirksmode.org/js/detect.html to detect the browser + browser = { + init: function () { + this.name = this.searchString(this.dataBrowser) || ''; + this.version = this.searchVersion(navigator.userAgent) + || this.searchVersion(navigator.appVersion) + || ''; + }, + searchString: function (data) { + for (var i=0;i<data.length;i++) { + var dataString = data[i].string; + var dataProp = data[i].prop; + this.versionSearchString = data[i].versionSearch || data[i].identity; + if (dataString) { + if (dataString.indexOf(data[i].subString) != -1) + return data[i].identity; + } + else if (dataProp) + return data[i].identity; + } + }, + searchVersion: function (dataString) { + var index = dataString.indexOf(this.versionSearchString); + if (index == -1) return; + return parseFloat(dataString.substring(index+this.versionSearchString.length+1)); + }, + dataBrowser: [ + { + string: navigator.userAgent, + subString: 'Firefox', + identity: 'firefox' + }, + { + string: navigator.userAgent, + subString: 'MSIE', + identity: 'explorer', + versionSearch: 'MSIE' + } + ] + } + browser.init(); + + } + + /** + * Shows an error tooltip, with a custom message, for a given element. + * + * @param jQuery element The form's element to attach the tip to. + * + * @param string message The message to be displayed in the tooltip. + * + * @return void + */ + plugin.attach_tip = function(element, message) { + + // get element's ID + var id = element.attr('id'); + + // in case we're attaching the tip to an element outside those that are to be validated by default + if (undefined == validation_rules[id]) + + // we need to set these attributes or the "show_errors" method will crash + validation_rules[id] = {'element': element}; + + // bind the message to the target element + validation_rules[id].message = message; + + // show the error message + plugin.show_errors(element); + + } + + /** + * Hides all error tooltips. + * + * @return void + */ + plugin.clear_errors = function() { + + // remove all iFrameShims (if available) from the DOM + $('.Zebra_Form_error_iFrameShim').remove(); + + // remove all error messages from the DOM + $('.Zebra_Form_error_message').remove(); + + // remove the "error" class used for styling erroneous controls + elements.removeClass('error'); + + // remove all error blocks + error_blocks = {}; + + } + + /** + * After a file upload occurs, the script will automatically run this method that removes the temporarily created + * iFrame element, the spinner and replaces the file upload control with the name of the uploaded file. + * + * @param object element The name (id) of the file upload element + * + * @param array file_info An array of properties of the uploaded file, returned by process.php + * + * @return void + * + * @access private + */ + plugin.end_file_upload = function(element, file_info) { + + var $element = $('#' + element); + + // if element exists + if ($element.length) { + + // hide any errors + plugin.clear_errors(); + + // delete the "target" attribute of the form + $form.removeAttr('target'); + + // get the element's ID + var id = element; + + // remove from the DOM the attached IFrame + // (slight delay so we don't remove the iframe before it is fully loaded) + setTimeout(function() { $('#' + id + '_iframe').remove() }, 1000); + + // remove from the DOM the attached spinner + $('#' + id + '_spinner').remove(); + + // if element has rules attached to it + if (undefined != validation_rules[element]) { + + // if + if ( + + // the method has a second argument + undefined != file_info && + + // the second argument is an object + 'object' == typeof(file_info) && + + // the second argument is properly formatted + undefined != file_info[0] && + undefined != file_info[1] && + undefined != file_info[2] && + undefined != file_info[3] + + ) + + // set the second argument as a property of the element + $element.data('file_info', file_info); + + // if control does not validate + if (true !== plugin.validate_control($element)) { + + // clear the element's value + $element.val(''); + + // make the element visible (was hidden to show the spinner) + $element.css('visibility', 'visible'); + + // show the attached error message + plugin.show_errors($element); + + // clear file info information + $element.data('file_info', ''); + + // if control validates + } else { + + var + + // get the element's coordinates, relative to the document + coordinates = $element.offset(), + + // create an element containing the file's name + // which will replace the container with the file upload control + file_name = jQuery('<div>', { + + 'class': 'Zebra_Form_filename', + 'css': { + 'left': coordinates.left, + 'top': coordinates.top, + 'width': $element.outerWidth(), + 'opacity': 0 + } + + // set the file's name as the content of the newly created element + }).html(file_info[0]), + + // add also an "close" button for canceling the file selection + cancel_button = jQuery('<a>', { + + 'href': 'javascript:void(0)' + + }).html('x').bind('click', function(e) { + + // stop default event + e.preventDefault(); + + // remove the uploaded file's name from the DOM + file_name.remove(); + + // clear the element's value + $element.val(''); + + // if the element has the "file_info" attribute set, remove it + if ($element.data('file_info')) $element.removeData('file_info'); + + // make the element visible + $element.css('visibility', 'visible'); + + }); + + // inject everything into the DOM + $('body').append(file_name.append(cancel_button)); + + // fine tune the element's position and make it visible + file_name.css({ + 'top': parseInt(file_name.css('top'), 10) + (($element.outerHeight() - file_name.outerHeight()) / 2), + 'opacity': 1 + }); + + } + + } + + } + + } + + /** + * Hides the error tooltip for a given element. + * + * @param string element_name The name (id) of a form's element. + * + * @return void + */ + plugin.hide_error = function(element_name) { + + // reference to the jQuery object + var $element = $('#' + element_name); + + // unless there's a specific request to hide the error message attached to a specific element, + // and we need to validate elements on the fly and the current element is not valid + if (undefined == arguments[1] && plugin.settings.validate_on_the_fly && true !== plugin.validate_control($element)) + + // we'll use this opportunity to instead show the error message attached to the current element + // (as this method is called onblur for every element of a form) + // the second argument instructs the script not to hide other error messages + plugin.show_errors($element, false); + + // if we need to hide the error block attached to the current element + else { + + var container = $('#Zebra_Form_error_message_' + element_name); + + // if an error block exists for the element with the given id + if (container.length > 0) { + + // remove the "error" class used for styling erroneous controls + $element.removeClass('error'); + + // fade out the error block + // (which, on complete, destroys the IFrame shim - if it exists - and also the error block itself) + container.animate({ + 'opacity': 0 + }, + 250, + function() { + + // get a reference to the iFrame shim (if any) + var shim = container.data('shim'); + + // if an attached iFrame shim exists, remove it from the DOM + if (undefined != shim) shim.remove(); + + // remove the container from the DOM + container.remove() + + // remove from the error blocks array + delete error_blocks[element_name]; + + }); + + } + + } + + } + + /** + * Registers a form element for validation. + * + * @param object element A jQuery element. + * + * @return void + */ + plugin.register = function(element) { + + // get some attributes of the element + var attributes = {'id': element.attr('id'), 'name': element.attr('name'), 'type': _type(element)}; + + // if element also has the "name" attribute + // (some plugins copy the original element's classes and Zebra_Form will falsely belive they are form elements + // once it gets to them) + if (undefined != attributes['name']) { + + // sanitize element's name by removing square brackets (if available) + attributes['name'] = attributes['name'].replace(/\[\]$/, ''); + + // if element has the "time" class, we assume it is part of a time picker + // as all elements are treated as one single element, we have to remove the prefixes + if (element.hasClass('time')) attributes['name'] = attributes['name'].replace(/\_(hours|minutes|seconds|ampm)$/, ''); + + switch (attributes['type']) { + + case 'radio': + case 'checkbox': + + // attach the function to the onClick and onBlur events + element.bind({ + + 'click': function() { plugin.hide_error(attributes['name']) }, + 'blur': function() { plugin.hide_error(attributes['name']) } + + }); + + // we will also keep track of radio buttons and checkboxes sharing the same name + if (undefined == controls_groups[attributes['id']]) + + // group together radio buttons and checkboxes sharing the same name + controls_groups[attributes['id']] = $form.find('input[name^=' + attributes['name'] + ']'); + + break; + + // if element is file + case 'file': + + // we replace the original control with a clone, as only file controls created dynamically from + // javascript behave as expected + + // create a clone of the element (along with content and ID) + var clone = element.clone(true); + + // unset the element's value + clone.attr('value', ''); + + // replace the original element + element.replaceWith(clone); + + clone.bind({ + + // attach a function to the onKeyPress event + 'keypress': function(e) { + + // stop event + // e.preventDefault(); + + // unset the element's value + clone.attr('value', ''); + + }, + + // attach a function to the onChange event + 'change': function() { + + // if upload rule exists + if (undefined != validation_rules[attributes['name']]['rules']['upload']) { + + // hide any attached error message + plugin.hide_error(attributes['name']); + + // if the "file_info" attribute is already set for the element + if (clone.data('file_info')) + + // remove it + clone.removeData('file_info'); + + // create an IFrame that we will use to submit the form to + // ("name" and "id" attributes must be submitted like that and not like attributes or it won't work in IE7) + var iFrameSubmit = jQuery('<iframe id="' + attributes['id'] + '_iframe' + '" name="' + attributes['id'] + '_iframe' + '">', { + 'src': 'javascript:void(0)', + 'scrolling': 'no', + 'marginwidth': 0, + 'marginheight': 0, + 'width': 0, + 'height': 0, + 'frameborder': 0, + 'allowTransparency': 'true' + }).css({ + 'position': 'absolute', + 'top': 0, + 'left': -1000 + }); + + // inject the newly created IFrame into the DOM + $('body').append(iFrameSubmit); + + // save the form's original action + var original_action = $form.attr('action'); + + // alter the action of the form + $form.attr('action', + decodeURIComponent(plugin.settings.assets_path) + 'process.php' + + '?form=' + $form.attr('id') + + '&control=' + attributes['id'] + + '&path=' + encodeURIComponent(decodeURIComponent(validation_rules[attributes['name']]['rules']['upload'][0])) + + '&nocache=' + new Date().getTime()); + + // the form will submit to the IFrame + $form.attr('target', attributes['id'] + '_iframe'); + + // hide the element + element.css('visibility', 'hidden'); + + var + + // get the element's coordinates + coordinates = element.offset(), + + // crate the spinner element + // and position it in the same position as the element + spinner = jQuery('<div>', { + 'id': attributes['id'] + '_spinner', + 'class': 'Zebra_Form_spinner', + 'css': { + 'left': coordinates.left, + 'top': coordinates.top + } + }); + + // inject the newly create element into the DOM + $('body').append(spinner); + + // make sure we submit the form without validating it - we just need to submit the uploaded file + reload = true; + + // submit the form + $form.trigger('submit'); + + // restore the form's original action + $form.attr('action', original_action); + + // reset the flag + reload = false; + + } + + }, + + // attach a function to the onBlur event + 'blur': function() { plugin.hide_error(attributes['name']) } + + }); + + // element will now reference the clone + element = clone; + + break; + + // if element is a select control (single or multi-values) + case 'select-one': + case 'select-multiple': + + // attach the function to the onChange and onBlur events + element.bind({ + + 'change': function() { plugin.hide_error(attributes['name']) }, + 'blur': function() { plugin.hide_error(attributes['name']) } + + }); + + break; + + // for all other element types (text, textarea, password) + default: + + // attach a function to the onBlur event + element.blur(function() { + + // by default, we need to hide the error message on the element itself + var target = attributes['name']; + + // if element is a text control having the "other" class + // (meaning it is attached to a select control) + if (attributes['type'] == 'text' && element.hasClass('other')) { + + // get the name of the parent element + var parent = attributes['id'].match(/^(.*)\_other$/); + + // the name of the parent element + if (null != parent) target = parent[1]; + + } + + // hide the error messages for the parent element + plugin.hide_error(target); + + }); + + } + + // get validation rules of the element + var rules = plugin.settings.validation_rules[attributes['name']]; + + // if there are any rules + if (null != rules) { + + // if a second argument to the method was not provided + // it means that the script will automatically need to figure out the order in which the element will be + // validated, based on where it is in the DOM + if (undefined == arguments[1]) { + + // get all the form's controls + elements = $('.control', $form); + + // iterate through the form's controls + $.each(elements, function(index, el) { + + // if we've found the element we're registering + if (el == element.get(0)) { + + var + + // the jQuery object + el = $(el), + + // we need to move backwards and find the previous control in the DOM + + // the ID of the previous element + previous_element_id = null, + + // the previous control's position in the validation chain + position = index - 1; + + // while + while ( + + // "previous_element_id" is null + previous_element_id == null && + + // a previous element exists + undefined != elements[position] + + ) { + + // get the ID of the previous element + previous_element_id = $(elements[position]).attr('id'); + + // decrement position + position--; + + } + + // if a previous element doesn't exists + if (!validation_rules[previous_element_id]) { + + // create a temporary object + var tmp = new Object; + + // assign the validation rules + tmp[attributes['id']] = {'element': element, 'rules': rules}; + + $.extend(validation_rules, tmp); + + // if a previous element does exist + } else { + + // create a temporary object which will contain the reordered validation rules + var new_validation_rules = new Object; + + // iterate through the already existing validation rules + for (index in validation_rules) { + + // add each entry to the new array + new_validation_rules[index] = validation_rules[index]; + + // if we found the previous element + if (previous_element_id == index) + + // append the validation rules for the current element + new_validation_rules[attributes['id']] = {'element': element, 'rules': rules}; + + } + + // copy the content of the temporary variable to the validation_rules property + validation_rules = new_validation_rules; + + } + + } + + }); + + // if a second argument to the method was provided and it is an element + // it means that the current control needs to be validated after that particular element + } else if (undefined != arguments[1] && $('#' + arguments[1]).length) { + + var + + // get the ID of the element after which the current element needs to be validated + id = $('#' + arguments[1]).attr('id'), + + // create a temporary object which will contain the reordered validation rules + new_validation_rules = new Object; + + // iterate through the already existing validation rules + for (index in validation_rules) { + + // add each entry to the new array + new_validation_rules[index] = validation_rules[index]; + + // if we found the previous element + if (previous_element_id == index) + + // append the validation rules for the current element + new_validation_rules[attributes['id']] = {'element': element, 'rules': rules}; + + } + + // copy the content of the temporary variable to the validation_rules property + validation_rules = new_validation_rules; + + // if a second argument to the method was provided and it is boolean false + // it means that the element will be validated in the same order as it was registered + } else if (undefined != arguments[1] && arguments[1] === false) + + // add the validation rules for the current element + validation_rules[attributes['id']] = {'element': element, 'rules': rules}; + + } + + } + + } + + /** + * If the "validate_all" property is set to FALSE, it shows the error message tooltip for the first control that + * didn't validate. + * + * If the "validate_all" property is set to TRUE, it will show error message tooltips for all the controls that + * didn't validate. + * + * The "validate" or "validate_control" methods need to be called prior to calling this method or calling + * this method will produce no results! + * + * @return void + */ + plugin.show_errors = function() { + + // unless we're showing the error message for a specific element, as part of the on-the-fly validation + if (!(undefined != arguments[1] && arguments[1] === false)) + + // hide all errors tips + plugin.clear_errors(); + + var counter = 0; + + // iterate through the validation rules + for (index in validation_rules) { + + var + + // current validation rule + validation_rule = validation_rules[index], + + // current element + element = validation_rule['element'], + + // get some attributes of the element + attributes = {'id': element.attr('id'), 'name': element.attr('name'), 'type': _type(element)}, + + // we'll use this later for associating an error block with the element + id = (attributes['type'] == 'radio' || attributes['type'] == 'checkbox' ? attributes['name'].replace(/\[\]$/, '') : attributes['id']); + + // if element has the "time" class, we assume it is part of a time picker + // as all elements are treated as one single element, we have to remove the prefixes + if (element.hasClass('time')) id = attributes['name'].replace(/\_(hours|minutes|seconds|ampm)$/, ''); + + // if the method has an element of the form as argument, and the current element is not that particular + // element, skip the rest + if (undefined != arguments[0] && arguments[0].get(0) != element.get(0)) continue; + + // if element's value did not validate (there's an error message) + // and there isn't already an error block shown for the element + if (undefined != validation_rule.message && undefined == error_blocks[id]) { + + // focus the element + // (IE triggers an error if control has display:none) + // also, don't focus on the invalid element if we're showing the error message as part of the on-the-fly validation + if ( + + element.css('display') != 'none' && !(undefined != arguments[1] && arguments[1] === false) && + + // if we have validate_all set to TRUE than focus to the first invalid control + !(plugin.settings.validate_all && counter > 0) + + ) element.focus(); + + // get element's coordinates + var element_position = $.extend(element.offset()); + + // find element's "right" + element_position = $.extend(element_position, {'right': Math.floor(element_position.left + element.outerWidth())}); + +// // weird behaviour... +// // if an item somewhere far below in a long list of a dropdown is selected, positions get messed up +// // get element's scroll +// var element_scroll = element.getScroll(); +// +// // if element is scrolled vertically +// if (element_scroll.y != 0) { +// +// // adjust it's top position +// element_position.top += element_scroll.y; +// +// } + + var + + // the main container holding the error message + container = jQuery('<div/>', { + 'class': 'Zebra_Form_error_message', + 'id': 'Zebra_Form_error_message_' + id, + 'css': { + 'opacity': 0 + } + }), + + // the container of the actual error message + // width:auto is for IE6 + message = jQuery('<div/>', { + 'class': 'message' + (!plugin.settings.close_tips ? ' noclose' : ''), + 'css': { + '_width': 'auto' + } + }). + + // add the error message + html(validation_rule.message). + + // add the message container to the main container + appendTo(container); + + // if a "close" button is required + if (plugin.settings.close_tips) + + var + + // create the close button + close = jQuery('<a/>', { + 'href': 'javascript:void(0)', + 'class': 'close' + (browser.name == 'explorer' && browser.version == 6 ? '-ie6' : '') + }). + + // all it contains is an "x" + html('x'). + + // add the close button to the error message + appendTo(message). + + // attach the events + bind({ + + 'click': function(e) { e.preventDefault(); plugin.hide_error($(this).closest('div.Zebra_Form_error_message').attr('id').replace(/^Zebra\_Form\_error\_message\_/, ''), true) }, + 'focus': function() { $(this).blur() } + + }); + + var + + // create the error messages's arrow + arrow = jQuery('<div/>', { + + 'class': 'arrow' + + // add it to the error message + }).appendTo(container); + + // inject the error message into the DOM + $('body').append(container); + + var + + // get container's size + container_size = {'x': container.outerWidth(), 'y': container.outerHeight()}, + + // get arrow's size + arrow_size = {'x': arrow.outerWidth(), 'y': arrow.outerHeight()}; + + switch(plugin.settings.tips_position) { + case 'right': + left = element_position.right - (container_size.x / 2); + break; + case 'center': + left = element_position.left - (container_size.x / 2) + (element.outerWidth() / 2); + break; + default: + left = element_position.left - (container_size.x / 2); + } + + // set the arrow centered horizontally + arrow.css('left', (container_size.x / 2) - (arrow_size.x / 2) - 1); + + // if element is a radio button or a checkbox + if (attributes['type'] == 'radio' || attributes['type'] == 'checkbox') + + // set the "left" of the container centered on the radio button/checkbox + left = element_position.right - (container_size.x / 2) - (element.outerWidth() / 2); + + // if "left" is outside the visible part of the page, adjust it + if (left < 0) left = 2; + + // set left now because this might lead to text wrapping + container.css('left', left); + + // now get the size again + container_size = {'x': container.outerWidth(), 'y': container.outerHeight()}; + + // set the container's "top" + var top = (element_position.top - container_size.y + (arrow_size.y / 2) - 1); + + // if "top" is outside the visible part of the page, adjust it + if (top < 0) top = 2; + + // set the final position of the container + container.css({ + 'left': left + 'px', + 'top': top + 'px', + 'height': (container_size.y - (arrow_size.y / 2)) + 'px' + }); + + // add the error to the error blocks array + error_blocks[id] = container; + + // create an IFrame shim for the container (only in IE6) + _shim(container); + + // the error message is slightly transparent + container.animate({ + 'opacity': .9 + }, 250); + + // if this is the first error message, and we have to scroll to it, + // and we're not showing the error as part of the on-the-fly validation process + if (++counter == 1 && plugin.settings.scroll_to_error && !(undefined != arguments[1] && arguments[1] === false)) + + // scroll so that the element is centered in the viewport + $('html, body').animate({'scrollTop': Math.max(parseInt(container.css('top'), 10) + (parseInt(container.css('height'), 10) / 2) - ($(window).height() / 2), 0)}, 0); + + // if control is not a file upload control, + // add a class for customizing the erroneous control's aspect + if (attributes['type'] != 'file') element.addClass('error'); + + // unless we need to validate all elements, don't check any further + if (!plugin.settings.validate_all) break; + + } + + } + + } + + /** + * Submits the form. + * + * @return void + */ + plugin.submit = function() { + + // trigger the form's submit event which will take care of everything + $form.trigger('submit'); + + } + + /** + * Checks if an element is valid or not. + * + * @param object element The jQuery element to check. + * + * @return boolean Returns TRUE if every rule attached to the element was obeyed, FALSE if not. + */ + plugin.validate_control = function(element) { + + var + + // get some attributes of the element + attributes = {'id': element.attr('id'), 'name': element.attr('name'), 'type': _type(element)}, + + // by default, we assume the control validates + control_is_valid = true, + + // get the control's validation rules + control_validation_rules = validation_rules[attributes['id']], + + // we'll use this later for associating an error block with the element + id = (attributes['type'] == 'radio' || attributes['type'] == 'checkbox' ? attributes['name'].replace(/\[\]$/, '') : attributes['id']); + + // if element has the "time" class, we assume it is part of a time picker + // as all elements are treated as one single element, we have to remove the prefixes + if (element.hasClass('time')) id = attributes['name'].replace(/\_(hours|minutes|seconds|ampm)$/, ''); + + // if + if ( + + // control has any validation rules attached + undefined != control_validation_rules && + ( + // is not hidden OR + (element.css('display') != 'none' && element.css('visibility') != 'hidden') || + + // element is a file control and a file was selected (and currently the element is hidden and the + // spinner is shown) + element.data('file_info') + + ) + + ) { + + var + + // if a rule is not passed, this variable hold the name of that rule + rule_not_passed = null, + + // if a rule is not passed, and it is a custom rule, this variable hold the name of that rule + custom_rule_name = null; + + // delete any error messages for the current control + delete control_validation_rules.message; + + // iterate through the validation rules + for (var rule in control_validation_rules['rules']) { + + // if control is not valid, do not look further + if (!control_is_valid) break; + + // check the rule's name + switch (rule) { + + case 'age': + + // if element type is one of the following + switch (attributes['type']) { + + case 'text': + + // value is not an empty string and current element was validated and contains a valid date as the value + if ($.trim(element.val()) != '' && undefined != element.data('timestamp')) { + + // compute age + var today = new Date(), + birthDate = new Date(element.data('timestamp')), + age = today.getFullYear() - birthDate.getFullYear(), + months = today.getMonth() - birthDate.getMonth(), + min_age = control_validation_rules['rules'][rule][0][0], + max_age = control_validation_rules['rules'][rule][0][1]; + + if (months < 0 || (months === 0 && today.getDate() < birthDate.getDate())) age--; + + // if age is invalid + if (!((min_age == 0 || age >= min_age) && (max_age == 0 || age <= max_age))) + + // the rule doesn't validate + control_is_valid = false; + + } + + break; + + } + + break; + + case 'alphabet': + + // if element type is one of the following + switch (attributes['type']) { + + case 'password': + case 'text': + case 'textarea': + + // the regular expression to use: + // a-z plus additional characters (if any), case-insensitive + var exp = new RegExp('^[a-z' + _escape_regexp(control_validation_rules['rules'][rule][0]).replace(/\s/, '\\s') + ']+$', 'ig'); + + // if value is not an empty string and the regular expression is not matched, the rule doesn't validate + if ($.trim(element.val()) != '' && !exp.test(element.val())) control_is_valid = false; + + break; + + } + + break; + + case 'alphanumeric': + + // if element type is one of the following + switch (attributes['type']) { + + case 'password': + case 'text': + case 'textarea': + + // the regular expression to use: + // a-z, 0-9 plus additional characters (if any), case-insensitive + var exp = new RegExp('^[a-z0-9' + _escape_regexp(control_validation_rules['rules'][rule][0]).replace(/\s/, '\\s') + ']+$', 'ig'); + + // if value is not an empty string and the regular expression is not matched, the rule doesn't validate + if ($.trim(element.val()) != '' && !exp.test(element.val())) control_is_valid = false; + + break; + + } + + break; + + case 'compare': + + // if element type is one of the following + switch (attributes['type']) { + + case 'password': + case 'text': + case 'textarea': + + // if + if ( + + // element to compare with doesn't exist OR + !$('#' + control_validation_rules['rules'][rule][0]) || + + // element to compare with exists + // but it doesn't have the same value as the current element's value + element.val() != $('#' + control_validation_rules['rules'][rule][0]).val() + + // the rule doesn't validate + ) control_is_valid = false; + + break; + + } + + break; + + // if 'dependencies' + case 'dependencies': + + // if not all conditions are met, don't validate the control + if (!_validate_dependencies(id)) return true; + + break; + + case 'custom': + + var break_inner_loop = false; + + // iterate through the custom functions + $.each(control_validation_rules['rules'][rule], function(index, args) { + + // exit if we don't need to look any further + if (break_inner_loop) return; + + // the array of arguments will contain, in order, the function's name, + // the element's value and any additional arguments + args = $.merge($.merge([args[0]], [element.val()]), args.slice(1)); + + // see if function is in the global namespace (member of the window object) or in jQuery's namespace + var fn = (typeof args[0] == 'function') ? args[0] : (typeof window[args[0]] == 'function' ? window[args[0]] : false); + + // if custom function exists + // call the custom function + if (fn !== false) control_is_valid = fn.apply(fn, args.slice(1)); + + // if custom function doesn't exist + else { + + // consider that the control does not pass validation + control_is_valid = false; + + // also throw an error + throw new Error('Function "' + args[0] + '" doesn\'t exist!'); + + } + + // if the rule doesn't validate, don't check the other custom functions + if (!control_is_valid) { + + // save the custom function's name + // we'll need it later to retrieve the associated error message + custom_rule_error_message = args[args.length - 1]; + + // don't check any other custom functions + break_inner_loop = true; + + } + + }); + + break; + + case 'date': + + // if element type is one of the following + switch (attributes['type']) { + + case 'text': + + // if element has a value + if ($.trim(element.val()) != '') { + + var + + // by default, we assume the date is invalid + valid_date = false, + + // get the required date format + format = element.data('Zebra_DatePicker').settings.format, + + // allowed characters in date's format + format_chars = ['d','D','j','l','N','S','w','F','m','M','n','Y','y','G','H','g','h','a','A','i','s','U'], + + // this array will contain the characters defining the date's format + matches = new Array, + + // this array will contain the regular expression built for each of the characters + // used in the date's format + regexp = new Array; + + // escape characters that could have special meaning in a regular expression + format = _escape_regexp(format); + + // iterate through the allowed characters in date's format + for (var i = 0; i < format_chars.length; i++) + + // if character is found in the date's format + if ((position = format.indexOf(format_chars[i])) > -1) + + // save it, alongside the character's position + matches.push({'character': format_chars[i], 'position': position}); + + // sort characters defining the date's format based on their position, ascending + matches.sort(function(a, b){ return a.position - b.position }); + + // iterate through the characters defining the date's format + $.each(matches, function(index, match) { + + // add to the array of regular expressions, based on the character + switch (match.character) { + + case 'd': regexp.push('0[1-9]|[12][0-9]|3[01]'); break; + case 'D': regexp.push('[a-z]{3}'); break; + case 'j': regexp.push('[1-9]|[12][0-9]|3[01]'); break; + case 'l': regexp.push('[a-z]+'); break; + case 'N': regexp.push('[1-7]'); break; + case 'S': regexp.push('st|nd|rd|th'); break; + case 'w': regexp.push('[0-6]'); break; + case 'F': regexp.push('[a-z]+'); break; + case 'm': regexp.push('0[1-9]|1[012]+'); break; + case 'M': regexp.push('[a-z]{3}'); break; + case 'n': regexp.push('[1-9]|1[012]'); break; + case 'Y': regexp.push('[0-9]{4}'); break; + case 'y': regexp.push('[0-9]{2}'); break; + case 'G': regexp.push('[0-9]|1[0-9]|2[0-3]'); break; + case 'H': regexp.push('0[0-9]|1[0-9]|2[0-3]'); break; + case 'g': regexp.push('[0-9]|1[0-2]'); break; + case 'h': regexp.push('0[0-9]|1[0-2]'); break; + case 'a': + case 'A': regexp.push('(am|pm)'); break; + case 'i': regexp.push('[0-5][0-9]'); break; + case 's': regexp.push('[0-5][0-9]'); break; + + } + + }); + + // if we have an array of regular expressions + if (regexp.length > 0) { + + // we will replace characters in the date's format in reversed order + matches.reverse(); + + // iterate through the characters in date's format + $.each(matches, function(index, match) { + + // replace each character with the appropriate regular expression + format = format.replace(match.character, '(' + regexp[regexp.length - index - 1] + ')'); + + }); + + // the final regular expression + regexp = new RegExp('^' + format + '$', 'ig'); + + // if regular expression was matched + if ((segments = regexp.exec(element.val()))) { + + // check if date is a valid date (i.e. there's no February 31) + + var original_day = null, + original_month = null, + original_year = null, + english_days = ['Sunday','Monday','Tuesday','Wednesday','Thursday','Friday','Saturday'], + english_months = ['January','February','March','April','May','June','July','August','September','October','November','December'], + iterable = null, + + // by default, we assume the date is valid + valid = true; + + // reverse back the characters in the date's format + matches.reverse(); + + // iterate through the characters in the date's format + $.each(matches, function(index, match) { + + // if the date is not valid, don't look further + if (!valid) return true; + + // based on the character + switch (match.character) { + + case 'm': + case 'n': + + // extract the month from the value entered by the user + original_month = parseInt(segments[index + 1], 10); + + break; + + case 'd': + case 'j': + + // extract the day from the value entered by the user + original_day = parseInt(segments[index + 1], 10); + + break; + + case 'D': + case 'l': + case 'F': + case 'M': + + // if day is given as day name, we'll check against the names in the used language + if (match.character == 'D' || match.character == 'l') iterable = element.data('Zebra_DatePicker').settings.days; + + // if month is given as month name, we'll check against the names in the used language + else iterable = element.data('Zebra_DatePicker').settings.months; + + // by default, we assume the day or month was not entered correctly + valid = false; + + // iterate through the month/days in the used language + $.each(iterable, function(key, value) { + + // if month/day was entered correctly, don't look further + if (valid) return true; + + // if month/day was entered correctly + if (segments[index + 1].toLowerCase() == value.substring(0, (match.character == 'D' || match.character == 'M' ? 3 : value.length)).toLowerCase()) { + + // extract the day/month from the value entered by the user + switch (match.character) { + + case 'D': segments[index + 1] = english_days[key].substring(0, 3); break; + case 'l': segments[index + 1] = english_days[key]; break; + case 'F': segments[index + 1] = english_months[key]; original_month = key + 1; break; + case 'M': segments[index + 1] = english_months[key].substring(0, 3); original_month = key + 1; break; + + } + + // day/month value is valid + valid = true; + + } + + }); + + break; + + case 'Y': + + // extract the year from the value entered by the user + original_year = parseInt(segments[index + 1], 10); + + break; + + case 'y': + + // extract the year from the value entered by the user + original_year = '19' + parseInt(segments[index + 1], 10); + + break; + + } + }); + + // if everything was ok so far + if (valid) { + + // if date format does not include day, make day = 1 + if (!original_day) original_day = 1; + + // if date format does not include month, make month = 1 + if (!original_month) original_month = 1; + + // if date format does not include year, use the current year + if (!original_year) original_year = new Date().getFullYear(); + + // generate a Date object using the values entered by the user + var date = new Date(original_year, original_month - 1, original_day); + + // if, after that, the date is the same as the date entered by the user + if (date.getFullYear() == original_year && date.getDate() == original_day && date.getMonth() == (original_month - 1)) { + + // set the timestamp as a property of the element + element.data('timestamp', Date.parse(english_months[original_month - 1] + ' ' + original_day + ', ' + original_year)); + + // date is valid + valid_date = true; + + } + + } + + } + + } + + // if date is not valid, the rule doesn't validate + if (!valid_date) control_is_valid = false; + + } + + break; + } + + break; + + case 'datecompare': + + // if element type is one of the following + switch (attributes['type']) { + + case 'password': + case 'text': + case 'textarea': + + // if element has a value + if ($.trim(element.val()) != '') { + + // if + if ( + + // rule is setup correctly + undefined != control_validation_rules['rules'][rule][0] && + undefined != control_validation_rules['rules'][rule][1] && + + // element to compare to exists + $(control_validation_rules['rules'][rule][0]) && + + // element to compare to has a valid date as the value + plugin.validate_control($(control_validation_rules['rules'][rule][0])) === true && + + // current element was validated and contains a valid date as the value + undefined != element.data('timestamp') + + ) { + + // compare the two dates according to the comparison operator + switch (control_validation_rules['rules'][rule][1]) { + + case '>': + + control_is_valid = (element.data('timestamp') > $('#' + control_validation_rules['rules'][rule][0]).data('timestamp')); + break; + + case '>=': + + control_is_valid = (element.data('timestamp') >= $('#' + control_validation_rules['rules'][rule][0]).data('timestamp')); + break; + + case '<': + + control_is_valid = (element.data('timestamp') < $('#' + control_validation_rules['rules'][rule][0]).data('timestamp')); + break; + + case '<=': + + control_is_valid = (element.data('timestamp') <= $('#' + control_validation_rules['rules'][rule][0]).data('timestamp')); + break; + + } + + // otherwise, there is a problem and thus, the rule does not validate + } else control_is_valid = false; + + break; + + } + + } + + break; + + case 'digits': + + // if element type is one of the following + switch (attributes['type']) { + + case 'password': + case 'text': + case 'textarea': + + // the regular expression to use: + // 0-9 plus additional characters (if any) + var exp = new RegExp('^[0-9' + _escape_regexp(control_validation_rules['rules'][rule][0]).replace(/\s/, '\\s') + ']+$', 'ig'); + + // if value is not an empty string and the regular expression is not matched, the rule doesn't validate + if ($.trim(element.val()) != '' && !exp.test(element.val())) control_is_valid = false; + + break; + } + + break; + + case 'email': + + // if element type is one of the following + switch (attributes['type']) { + + case 'password': + case 'text': + case 'textarea': + + // if + if ( + + // value is not an empty string + $.trim(element.val()) != '' && + ( + + // email address contains consecutive dots + null !== element.val().match(/\.{2,}/) || + + // email address is longer than the maximum allowed length + element.val().length > 254 || + + // email address has an invalid format + null == element.val().match(/^[^\.][a-z0-9_\-\+\~\^\{\}\.]{1,64}@[a-z0-9_\-\+\~\^\{\}\.]{1,255}\.[a-z0-9]{2,}$/i) + + ) + + ) control_is_valid = false; + + break; + } + + break; + + case 'emails': + + // if element type is one of the following + switch (attributes['type']) { + + case 'password': + case 'text': + case 'textarea': + + // split addresses by commas + var addresses = element.val().split(','); + + // iterate through the email addresses + $.each(addresses, function(index, address) { + + // if value is not an empty string and the regular expression is not matched, the rule doesn't validate + if ($.trim(address) != '' && null == $.trim(address).match(/^([a-zA-Z0-9_\-\+\~\^\{\}]+[\.]?)+@{1}([a-zA-Z0-9_\-\+\~\^\{\}]+[\.]?)+\.[A-Za-z0-9]{2,}$/)) control_is_valid = false; + + }); + + break; + + } + + break; + + case 'filesize': + + // if element type is one of the following + switch (attributes['type']) { + + case 'file': + + // see if a file was uploaded + var file_info = element.data('file_info'); + + // if a file was uploaded + if (file_info) + + // if + if ( + + // there's something wrong with the uploaded file + undefined == file_info[2] || + undefined == file_info[3] || + + // there was a specific error while uploading the file + file_info[2] != 0 || + + // the uploaded file's size is larger than the allowed size + parseInt(file_info[3], 10) > parseInt(control_validation_rules['rules'][rule][0], 10) + + // the rule doesn't validate + ) control_is_valid = false; + + break; + + } + + break; + + case 'filetype': + + // if element type is one of the following + switch (attributes['type']) { + + case 'file': + + // see if a file was uploaded + var file_info = element.data('file_info'); + + // if a file was uploaded + if (file_info) { + + // if file with mime types was not already loaded + if (undefined == plugin.mimes) + + // load file with mime types + $.ajax({ + 'url': decodeURIComponent(plugin.settings.assets_path) + 'mimes.json', + 'async': false, + 'success': function(result) { + plugin.mimes = result; + }, + 'dataType': 'json' + }); + + var + + // get the allowed file types + allowed_file_types = $.map(control_validation_rules['rules'][rule][0].split(','), function(value) { return $.trim(value) }), + + // this will contain an array of file types that match for the currently uploaded file's mime type + matching_file_types = []; + + // iterate through the known mime types + $.each(plugin.mimes, function(extension, type) { + + // if + if ( + + // there are more mime types associated with the file extension and + // the uploaded file's type is among them + $.isArray(type) && $.inArray(file_info[1], type) > -1 || + + // a single mime type is associated with the file extension and + // the uploaded file's type matches the mime type + !$.isArray(type) && type == file_info[1] + + ) + + // add file type to the list of file types that match for the currently uploaded + // file's mime type + matching_file_types.push(extension) + + }); + + + // is the file allowed? + + var found = false; + + // iterate through the mime types associated with the uploaded file + $.each(matching_file_types, function(index, extension) { + + // if uploaded file mime type is allowed, set a flag + if ($.inArray(extension, allowed_file_types) > -1) found = true; + + }); + + // if file is not allowed + // the rule doesn't validate + if (!found) control_is_valid = false; + + } + + break; + + } + + break; + + case 'float': + + // if element type is one of the following + switch (attributes['type']) { + + case 'password': + case 'text': + case 'textarea': + + // the regular expression to use: + // only digits (0 to 9) and/or one dot (but not as the very first character) and/or one minus sign + // (but only if it is the very first character) plus characters given as additional characters (if any). + var exp = new RegExp('^[0-9\-\.' + _escape_regexp(control_validation_rules['rules'][rule][0]).replace(/\s/, '\\s') + ']+$', 'ig'); + + // if + if ( + + // value is not an empty string + $.trim(element.val()) != '' && + + ( + + // value is a minus sign + $.trim(element.val()) == '-' || + + // value is a dot + $.trim(element.val()) == '.' || + + // there are more than one minus signs + (null != element.val().match(/\-/g) && element.val().match(/\-/g).length > 1) || + + // there are more than one dots + (null != element.val().match(/\./g) && element.val().match(/\./g).length > 1) || + + // if the minus sign is not the very first character + element.val().indexOf('-') > 0 || + + // the regular expression is not matched + !exp.test(element.val()) + + ) + + // the rule doesn't validate + ) control_is_valid = false; + + break; + + } + + break; + + case 'image': + + // if element type is one of the following + switch (attributes['type']) { + + case 'file': + + // see if a file was uploaded + var file_info = element.data('file_info'); + + // if + if ( + + // a file was uploaded + file_info && + + // uploaded file is not a valid image type + null == file_info[1].match(/image\/(gif|jpeg|png|pjpeg)/i) + + // the rule doesn't validate + ) control_is_valid = false; + + break; + + } + + break; + + case 'length': + + // if element type is one of the following + switch (attributes['type']) { + + case 'password': + case 'text': + case 'textarea': + + // if + if ( + + // value is not an empty string + element.val() != '' && + + // lower limit is given and the length of entered value is smaller than it + (undefined != control_validation_rules['rules'][rule][0] && (element.val().length - _maxlength_diff(element)) < control_validation_rules['rules'][rule][0]) || + + // upper limit is given and the length of entered value is greater than it + (undefined != control_validation_rules['rules'][rule][1] && control_validation_rules['rules'][rule][1] > 0 && (element.val().length - _maxlength_diff(element)) > control_validation_rules['rules'][rule][1]) + + // the rule doesn't validate + ) control_is_valid = false; + + break; + + } + + break; + + case 'number': + + // if element type is one of the following + switch (attributes['type']) { + + case 'password': + case 'text': + case 'textarea': + + // the regular expression to use: + // digits (0 to 9) and/or one minus sign (but only if it is the very first character) plus + // characters given as additional characters (if any). + var exp = new RegExp('^[0-9\-' + _escape_regexp(control_validation_rules['rules'][rule][0]).replace(/\s/, '\\s') + ']+$', 'ig'); + + // if + if ( + + // value is not an empty string + $.trim(element.val()) != '' && + + ( + + // value is a minus sign + $.trim(element.val()) == '-' || + + // there are more than one minus signs + (null != element.val().match(/\-/g) && element.val().match(/\-/g).length > 1) || + + // the minus sign is not the very first character + element.val().indexOf('-') > 0 || + + // the regular expression is not matched + !exp.test(element.val()) + + ) + + // the rule doesn't validate + ) control_is_valid = false; + + break; + + } + + break; + + case 'range': + + // if element type is one of the following + switch (attributes['type']) { + + case 'text': + + // value is not an empty string + if ($.trim(element.val()) != '') { + + // get the allowed min and max + var min = control_validation_rules['rules'][rule][0][0], + max = control_validation_rules['rules'][rule][0][1], + + // make sure the value is a number + value = $.trim(parseFloat(element.val())); + + // if + if ( + + // element's value is not a number + isNaN(value) || + + // after applying parseFloat, the value is different than what the user entered + value != $.trim(element.val()) || + + // or the value is not within range + (!((min === 0 || value >= min) && (max === 0 || value <= max))) + + // the rule doesn't validate + ) control_is_valid = false; + + } + + break; + + } + + break; + + case 'regexp': + + // if element type is one of the following + switch (attributes['type']) { + + case 'password': + case 'text': + case 'textarea': + + // the regular expression to use + var exp = new RegExp(control_validation_rules['rules'][rule][0], 'g'); + + // if value is not an empty string and the regular expression is not matched, the rule doesn't validate + if ($.trim(element.val()) != '' && null == exp.exec(element.val())) control_is_valid = false; + + break; + + } + + break; + + case 'required': + + // if element type is one of the following + switch (attributes['type']) { + + case 'checkbox': + case 'radio': + + // by default, we assume there's nothing checked + var checked = false; + + // iterate through the controls sharing the same name as the current element + controls_groups[attributes['id']].each(function() { + + // if any of them is checked set a flag + if (this.checked) checked = true; + + }); + + // if nothing is checked, the rule doesn't validate + if (!checked) control_is_valid = false; + + break; + + case 'file': + case 'password': + case 'text': + case 'textarea': + + // if value is am empty string, the rule doesn't validate + if ($.trim(element.val()) == '') control_is_valid = false; + + break; + + case 'select-one': + + // if select control is part of a time-selection element, and no value is selected + if (element.hasClass('time') && element.get(0).selectedIndex == 0) { + + // the error message is set for a nonexisting control with the name set when + // creating the form; the actual controls have a suffix of "hours", "minutes", + // "seconds" and "ampm"; so, in order to show the error message we need to + // remove the suffix + attributes['id'] = attributes['id'].replace(/\_(hours|minutes|seconds|ampm)$/, ''); + + // the rule doesn't validate + control_is_valid = false; + + // for other select boxes + } else if ( + + // if + ( + + // the "other" attribute is set + element.hasClass('other') && + + // the "other" value is set + element.val() == 'other' && + + // nothing is entered in the attached "other" field + (!$('#' + attributes['id'] + '_other').length || $.trim($('#' + attributes['id'] + '_other').val()) == '') + + ) || + + // nothing is selected + element.get(0).selectedIndex == 0 + + // the rule doesn't validate + ) control_is_valid = false; + + break; + + case 'select-multiple': + + // if nothing is selected, the rule doesn't validate + if (element.get(0).selectedIndex == -1) control_is_valid = false; + + break; + + } + + break; + + case 'upload': + + // if element type is one of the following + switch (attributes['type']) { + + case 'file': + + // see if a file was uploaded + var file_info = element.data('file_info'); + + // if + if ( + + // if a file was uploaded + file_info && + + // a file was not successfully uploaded + (!file_info[2] || file_info[2] != 0) + + // the rule doesn't validate + ) control_is_valid = false; + + break; + + } + + break; + + case 'url': + + // if element type is one of the following + switch (attributes['type']) { + + case 'password': + case 'text': + case 'textarea': + + // the regular expression to use: + var exp = new RegExp("^(http(s)?://)" + (control_validation_rules['rules'][rule][0] === true ? '' : '?') + "[^\\s\\.]+\\..{2,}", 'i'); + + // if + if ( + + // value is not an empty string + $.trim(element.val()) != '' && + + // the regular expression is not matched + !exp.test(element.val()) + + // the rule doesn't validate + ) control_is_valid = false; + + break; + + } + + break; + + } + + // if the rule didn't validate + if (!control_is_valid) { + + // the name of the rule that didn't validate + rule_not_passed = rule; + + // for custom rules, we know the error message + if (rule == 'custom') control_validation_rules.message = custom_rule_error_message; + + // for other rules set the error message's text + else control_validation_rules.message = plugin.settings.validation_rules[id][rule_not_passed][plugin.settings.validation_rules[id][rule_not_passed].length - (rule_not_passed == 'length' && plugin.settings.validation_rules[id][rule_not_passed].length == 4 ? 2 : 1)]; + + // save the element's value + control_validation_rules.value = element.val(); + + } + + } + + } + + // return TRUE if the all the rules were obeyed or the name of the rule if a rule didn't validate + return (control_is_valid ? true : rule_not_passed); + + } + + /** + * Checks if form is valid or not + * + * @return boolean Returns TRUE if all the form's controls are valid or FALSE otherwise. + */ + plugin.validate = function() { + + var element, + + // by default, we assume the form validates + form_is_valid = true; + + // clear any error tips that might be visible + plugin.clear_errors(); + + // reset this variable + proxies_cache = new Object; + + // iterate through all the validation rules + for (index in validation_rules) { + + // if form is not valid, and we don't need to check all controls, don't check any further + if (!form_is_valid && !plugin.settings.validate_all) break; + + // get the element that needs to be validated + element = validation_rules[index]['element']; + + // if element does not validate, the form is not valid + if ((rule_not_passed = plugin.validate_control(element)) !== true) form_is_valid = false; + + } + + // if there are any errors, show them + if (!form_is_valid && undefined === arguments[0]) plugin.show_errors(); + + // set this flag to true + // this is used for not running this method twice when using + // if ($form->validate()) $form->submit(); + validated = true; + + // return the result of the validation + return form_is_valid; + + } + + /** + * Continuously checks for value updates on fields having placeholders. + * + * We needs this so that we can hide the placeholders when the fields are updated by the browsers' auto-complete + * feature. + * + * @access private + */ + var _check_values = function() { + + // iterate through the elements that have placeholders + $.each(placeholders, function() { + + var + + // reference to the jQuery version of the element + $element = $(this), + + // reference to the placeholder element + $placeholder = $element.data('Zebra_Form_Placeholder'); + + // if element has no value and it doesn't have the focus, display the placeholder + if ($element.val() == '' && !$element.is(':focus')) $placeholder.show(); + + // otherwise, hide the placeholder + else $placeholder.hide(); + + }); + + } + + /** + * Escapes special characters in a string, preparing it for use in a regular expression. + * + * @param string str The string in which special characters should be escaped. + * + * @return string Returns the string with escaped special characters. + * + * @access private + */ + var _escape_regexp = function(str) { + + return str.replace(/([-.*+?^${}()|[\]\/\\])/g, '\\$1'); + + } + + /** + * Gets the cursor's position in a text element. + * + * Used by the filter_input method. + * + * @param object element A DOM element + * + * @return integer Returns the cursor's position in a text or textarea element. + * + * @access private + */ + var _get_caret_position = function(element) { + + // if selectionStart function exists, return the cursor's position + // (this is available for most browsers except IE < 9) + if (element.selectionStart != null) return element.selectionStart; + + // for IE < 9 + var range = document.selection.createRange(), + duplicate = range.duplicate(); + + // if element is a textbox, return the cursor's position + if (element.type == 'text') return (0 - duplicate.moveStart('character', -100000)); + + // if element is a textarea + else { + + // do some computations... + var value = element.value, + offset = value.length; + + duplicate.moveToElementText(element); + duplicate.setEndPoint('StartToStart', range); + + // return the cursor's position + return offset - duplicate.text.length; + + } + + } + + /** + * Computes the difference between a string's length when computed by PHP and by JavaScript. + * + * In PHP new line characters have 2 bytes! Read more at + * http://www.sitepoint.com/line-endings-in-javascript/ and at + * http://drupal.org/node/1267802 + * + * @return void + * + * @access private + */ + var _maxlength_diff = function(el) { + + var + + // get the value in the textarea, if any + str = el.val(), + + // get the length as computed by JavaScript + len1 = str.length, + + // get the length as computed by PHP + len2 = str.replace(/(\r\n|\r|\n)/g, "\r\n").length; + + // return the difference in length + return len2 - len1; + + } + + /** + * Generates an iFrame shim in Internet Explorer 6 so that the tooltips appear above select boxes. + * + * @return void + * + * @access private + */ + var _shim = function($element) { + + // this is necessary only if browser is Internet Explorer 6 + if (browser.name == 'explorer' && browser.version == 6) { + + // if an iFrame was not yet attached to the element + if (!$element.data('shim')) { + + var + + // get element's top and left position + offset = $element.offset(), + + // the iFrame has to have the element's zIndex minus 1 + zIndex = parseInt($element.css('zIndex'), 10) - 1, + + // create the iFrame + shim = jQuery('<iframe>', { + 'src': 'javascript:document.write("")', + 'scrolling': 'no', + 'frameborder': 0, + 'allowTransparency': 'true', + 'class': 'Zebra_Form_error_iFrameShim', + 'css': { + 'zIndex': zIndex, + 'position': 'absolute', + 'top': offset.top, + 'left': offset.left, + 'width': $element.outerWidth(), + 'height': $element.outerHeight(), + 'filter': 'progid:DXImageTransform.Microsoft.Alpha(opacity=0)', + 'display': 'block' + } + }); + + // inject iFrame into DOM + $('body').append(shim); + + // attach the shim to the element + $element.data('shim', shim); + + } + + } + + } + + /** + * Shows or hides, as necessary, the "other" options for a "select" control, that has an "other" option set. + * + * @param jQuery $element A <select> element having the "other" property set. + * + * @return void + * + * @access private + */ + var _show_hide_other_option = function($element) { + + // reference to the "other option" text box + // it has the ID of the select control, suffixed by "_other" + var $other = $('#' + $element.attr('id') + '_other'); + + // if the select control's value is "other" + // show the "other option" text box + if ($element.val() == 'other') $other.css('display', 'block'); + + // if the select control's value is different than "other" + // hide the "other option" text box + else $other.css('display', 'none'); + + } + + /** + * Returns the string representation of an array; used by the "dependencies" rule. + * + * @param array array The array for which to create the string representation. + * + * @return string Returns the string representation of the array given as argument. + * + * @access private + */ + var _toString = function(array) { + + // if argument is not an array, return the argument + if (!$.isArray(array)) return array; + + var result = ''; + + // iterate through the entries in the array + $.each(array, function(index) { + + var value = array[index]; + + // if entry is also an array, call this method recursively + // and place it inside some special characters + if ($.isArray(value)) value = '|' + _toString(value) + '|'; + + // build the string + result += (result != '' ? '' : '') + value; + + }); + + // return the resulting string + return result; + + } + + /** + * Returns an element's type + * + * @param jQuery $element A jQuery element for which to identify the type. + * + * @return string Returns an element's type. + * + * Possible values are: + * + * button, + * checkbox, + * file, + * password, + * radio, + * submit, + * text, + * select-one, + * select-multiple, + * textarea + * + * @access private + */ + var _type = function($element) { + + // values that may be returned by the is() function + var types = [ + 'button', + 'input:checkbox', + 'input:file', + 'input:image', + 'input:password', + 'input:radio', + 'input:submit', + 'input:text', + 'select', + 'textarea' + ], + html5_types = [ + 'email', + 'number' + ]; + + // because elements of type "email" and "number" were not yet added to jQuery (as of jQuery 1.11.1) + // we'll test for those separately + + // iterate through the possible types + for (index in html5_types) + + // if we found the element's type to be one of those, treate element as input type="text" + if ($element.attr('type') && $element.attr('type').toLowerCase() == html5_types[index]) return 'text'; + + // iterate through the possible types + for (index in types) + + // if we have an element's type + if ($element.is(types[index])) { + + // if type is "select" + if (types[index] == 'select') { + + // if the "multiple" attribute is set + if ($element.attr('multiple')) return 'select-multiple'; + + // if the "multiple" attribute is not set + else return 'select-one'; + + } + + // return the element's type, from which we remove the "input:" string + return types[index].replace(/input\:/, ''); + + } + + } + + /** + * Checks if all the conditions set by the "dependencies" rule are met or not. + * + * @param string element The ID of the element to check. + * + * @param array referer (Private) Used by the library to prevent entering an infinite loop of dependencies. + * + * @return boolean Returns TRUE if all the conditions are met or FALSE otherwise. + * + * @access private + */ + var _validate_dependencies = function(element, referer) { + + // if referer is not available, initialize it now + if (undefined == referer) referer = []; + + // if there are more than 2 entries in the referer array, remove the first one + if (referer.length > 2) referer.shift(); + + // if current element is the referer array + if ($.inArray(element, referer) > -1) + + // we're having a recursion and we're stopping execution + throw new Error('Infinite recursion detected. The loop of dependencies is created by the following elements: "' + referer.join('", "') + '"'); + + // add current element to the stack + referer.push(element); + + // get all the conditions needed to validate the element + var conditions = plugin.settings.validation_rules[element]['dependencies']; + + // if the name of a callback function is also given + // the actual conditions are in the first entry of the array + if (typeof conditions[1] == 'string') conditions = conditions[0]; + + var result = true; + + // iterate through the elements the validation of the current element depends on (proxies) + for (var proxy in conditions) { + + // if we have a cached result of the result + if (undefined != proxies_cache[proxy] && undefined != proxies_cache[proxy][conditions[proxy]]) + + // get the result from cache + result = proxies_cache[proxy][conditions[proxy]]; + + // if we don't have a cached result of the result + else { + + // if proxy also depends on another condition + if (undefined != plugin.settings.validation_rules[proxy] && undefined != plugin.settings.validation_rules[proxy]['dependencies']) + + // check recursively that the conditions of all parents are met + result = _validate_dependencies(proxy, referer); + + // continue if the conditions of all parents (if any) are met + if (result) { + + // for each proxy/value combination there's a stored function + // for the function's name we use a special array-to-string method + var function_name = _toString(conditions[proxy]); + + // if proxy is not an existing element or any of the condition is not met, flag that + if (!proxies[proxy] || !proxies[proxy]['conditions'][function_name]()) result = false; + + } + + // cache the result + if (undefined == proxies_cache[proxy]) proxies_cache[proxy] = {}; + if (undefined == proxies_cache[proxy][conditions[proxy]]) proxies_cache[proxy][conditions[proxy]] = result; + + } + + // if there's a problem, don't check any furhter + if (!result) break; + + } + + // if not all conditions are met, don't validate further + return result; + + } + + // fire up the plugin! + // call the "constructor" method + plugin.init(); + + } + + $.fn.Zebra_Form = function(options) { + + return this.each(function() { + var plugin = new $.Zebra_Form(this, options); + $(this).data('Zebra_Form', plugin); + if (typeof plugin.settings.on_ready == 'function') plugin.settings.on_ready($(this).attr('id')); + }); + + } + +})(jQuery); diff --git a/vendor/stefangabos/zebra_form/readme.txt b/vendor/stefangabos/zebra_form/readme.txt new file mode 100644 index 00000000..fd8aa6fb --- /dev/null +++ b/vendor/stefangabos/zebra_form/readme.txt @@ -0,0 +1 @@ +See http://stefangabos.ro/php-libraries/zebra-form/ \ No newline at end of file